MESSAGE BUFFERING COMMUNICATION SYSTEM
First Claim
1. A data communication system comprising in combination a. a plurality of terminals each producing a stream of digital data representing digital messages, said digital data streams having different lengths;
- b. a peripheral computer;
c. a plurality of low speed communication channels between respective ones of said terminals and said peripheral computer for concurrently transmitting said intermittent data streams to said peripheral computer;
d. means within said peripheral computer for assembling all of said data streams having different lengths into a continuous data string while preserving the identity of each said data stream therein;
e. a central computer; and
f. means, including a high speed communication circuit between said computers, for transmitting said data string to said central computer.
0 Assignments
0 Petitions
Accused Products
Abstract
Apparatus and method for transmitting data on a time-shared basis between a plurality of low-speed sources and a high-speed source over a communication circuit. Byte-serial data is initially transmitted at a relatively low rate from a plurality of remote sources (terminals) to a nearby peripheral computer which temporarily stores the incoming data in a memory unit and arranges it into strings of data blocks. The stored data is later transmitted as messages of one or more data blocks at a much faster rate over a communication circuit to a central computer. These data blocks may be either text blocks containing the temporarily stored data or control blocks containing information regarding the status of remote terminals. In addition, each message contains an acknowledge block whose purpose is to facilitate the detection and correction of data transmission errors. The central computer checks all incoming blocks for errors and acknowledges only those that have been correctly received. Blocks received in error by the central computer are not acknowledged, and are retransmitted by the peripheral computer until they are correctly received. Conversely, messages consisting of acknowledge, text, and control blocks are transmitted from the central computer to the peripheral computer over the communication circuit at high speed, the data is temporarily stored in the peripheral computer'"'"''"'"'s memory and is later transmitted to the correct remote destination (terminal) at low speed. Error detection and correction performed on these messages is similar to those performed on messages traveling in the opposite direction.
80 Citations
8 Claims
-
1. A data communication system comprising in combination a. a plurality of terminals each producing a stream of digital data representing digital messages, said digital data streams having different lengths;
- b. a peripheral computer;
c. a plurality of low speed communication channels between respective ones of said terminals and said peripheral computer for concurrently transmitting said intermittent data streams to said peripheral computer;
d. means within said peripheral computer for assembling all of said data streams having different lengths into a continuous data string while preserving the identity of each said data stream therein;
e. a central computer; and
f. means, including a high speed communication circuit between said computers, for transmitting said data string to said central computer.
- b. a peripheral computer;
-
2. A data communication system as defined in claim 1 and further characterized by the provision of an error correcting transmission system between said computers comprising in combination a. means in said peripheral computer for transmitting said data string to said central computer in successive data blocks, each having a unique block number;
- b. means in said central computer for acknowledging to said peripheral computer by specific block number each data block said central computer has received correctly;
c. means in said peripheral computer for retransmitting each data block in said data string until an acknowledgment is received at said peripheral computer that the data block has been correctly received; and
d. means responsive to said unique block number in said central computer for rejecting any data block whose block number is the same as that of a data block whose correct receipt said central computer has previously acknowledged.
- b. means in said central computer for acknowledging to said peripheral computer by specific block number each data block said central computer has received correctly;
-
3. An error correcting system for transmitting data blocks from a transmitting computer to a receiving computer comprising in combination a. a memory in said transmitting computer;
- b. means for accumulating a series of data blocks in said memory;
c. means for periodically transmitting said series of data blocks to said receiving computer until they have been purged from said memory and for providing each data block so transmitted with a successively higher block number;
d. means in said receiving computer for receiving and storing only those data blocks transmitted from said transmitting computer whose block numbers are higher than those of previously correctly received data blocks, and for confirming that such received and stored data blocks have been correctly received;
e. means in said receiving computer for purging from its said receiving and storing means any data block which is found to have been incorrectly received;
f. means in said receiving computer for periodically transmitting to said transmitting computer an acknowledgment number corresponding to the block number of the last data block which it has confirmed to have received correctly;
g. means in said transmitting computer for storing the last acknowledgment numbEr that it has received from said receiving computer; and
h. means in said transmitting computer for intermittently purging from said memory all data blocks up to and including the data block whose acknowledgment number is in said acknowledgment number storing means, whereby data blocks continue to be transmitted to said receiving computer until their positive acknowledgment is correctly received at said transmitting computer.
- b. means for accumulating a series of data blocks in said memory;
-
4. An error correcting system for bi-directional transmission of data blocks between a pair of digital computers comprising in combination a. a memory in each computer;
- b. means in each computer for accumulating a series of data blocks in its memory;
c. means in each computer for periodically transmitting its series of accumulated data blocks to the other computer until they have been purged from its memory and for transmitting with each data block a successively higher block number;
d. means in each computer for receiving and storing in its memory only those data blocks transmitted from the other computer whose block numbers are higher than those of previously correctly received data blocks and for confirming that such received and stored data blocks have been correctly received;
e. means in each computer for periodically transmitting to the other computer an acknowledgment number corresponding to the block number of the last data block which it has confirmed to have received correctly from the other computer;
f. means in each computer for storing the last acknowledgment number that it has received from the other computer; and
g. means in each computer for intermittently purging from its memory all data blocks up to and including the data block whose acknowledgment number is in its acknowledgment number storing means, whereby each computer continues to transmit each data block to the other computer until it receives from the other computer a positive acknowledgment of its correct receipt.
- b. means in each computer for accumulating a series of data blocks in its memory;
-
5. An error correcting system for transmitting data blocks from a transmitting computer to a receiving computer comprising in combination a. a memory in said transmitting computer;
- b. means for accumulating a series of data blocks in said memory;
c. means for periodically transmitting said series of data blocks to said receiving computer until they have been purged from said memory and for providing each data block so transmitted with a successively higher block number;
d. means in said receiving computer for receiving and storing only those data blocks transmitted from said transmitting computer whose block numbers are higher than those of previously correctly received data blocks;
e. means in said receiving computer for periodically transmitting to said transmitting computer an acknowledgment number corresponding to the block number of the last data block which it has confirmed to have received correctly; and
f. means in said transmitting computer for intermittently purging from said memory all data blocks up to and including the data block whose acknowledgment number was transmitted to said transmitting computer from said receiving computer, so that data blocks continue to be transmitted to said receiving computer until their positive acknowledgment is correctly received at said transmitting computer.
- b. means for accumulating a series of data blocks in said memory;
-
6. An error correcting system for transmitting data blocks from a transmitting computer to a receiving computer comprising in combination a. memory means in said transmitting computer for accumulating a series of data blocks;
- b. means in said transmitting computer for periodically transmitting a series of data blocks to said receiving computer until they have been purged from said memory and for providing each data block so transmitted with a unique block number;
c. means in said receiving computer responsive to the block number of the received data block for storing said data block only if its block number bears a predetermined relationship to the immediaTely preceding correctly received data block;
d. means in said receiving computer for periodically transmitting to said transmitting computer an acknowledgment number corresponding to the block number of the last data block stored in said receiving computer; and
e. means in said transmitting computer for intermittently purging from said memory means all data blocks up to and including the data block whose acknowledgment number was transmitted to said transmitting computer from said receiving computer, so that data blocks continue to be transmitted to said receiving computer until their positive acknowledgment is correctly received at said transmitting computer.
- b. means in said transmitting computer for periodically transmitting a series of data blocks to said receiving computer until they have been purged from said memory and for providing each data block so transmitted with a unique block number;
-
7. A method of transmitting a series of data blocks from a transmitting computer to a receiving computer comprising the steps of a. assembling a string of data blocks in the memory of the transmitting computer;
- b. successively transmitting data blocks from said string to the receiving computer, transmitting as part of each data block a block number which is higher than that of the last transmitted data block, and periodically re-transmitting each data block present in said memory and its block number until said data block is purged from said memory;
c. checking each of said transmitted data blocks at the receiving computer and rejecting any whose block number is not higher than that of all previously correctly received data blocks;
d. storing at said receiving computer each data block which is received and not rejected and performing a longitudinal sum check to confirm that each stored data block has been correctly received;
e. periodically transmitting an acknowledgment number from the receiving computer to the transmitting computer corresponding to the block number of each data block which has been received, stored, and found to be correct by said receiving computer;
f. keeping count at the transmitting computer of the last acknowledgment number received from the receiving computer; and
g. intermittently purging from the string of data blocks in the memory of said transmitting computer all data blocks up to and including the one corresponding to the last acknowledgment number received from the receiving computer, so that each data block is transmitted by the transmitting computer until it receives positive acknowledgment that the data block has been correctly received by said receiving computer.
- b. successively transmitting data blocks from said string to the receiving computer, transmitting as part of each data block a block number which is higher than that of the last transmitted data block, and periodically re-transmitting each data block present in said memory and its block number until said data block is purged from said memory;
-
8. A method of transmitting a series of data blocks from a transmitting computer to a receiving computer comprising the steps of a. assembling a string of data blocks in the memory of the transmitting computer;
- b. successively transmitting data blocks from said string to the receiving computer, transmitting as part of each data block a block number which bears a predetermined relationship to the block number of the last transmitted data block, and periodically retransmitting each data block present in said memory and its block number until said data block is purged from said memory;
c. checking each of said transmitted data blocks at the receiving computer and rejecting any whose block number does not bear said predetermined relationship to the block number of the last correctly received data block;
d. storing at said receiving computer each data block which is received and not rejected and performing a check to confirm that each stored data block has been correctly received;
e. periodically transmitting an acknowledgment number from the receiving computer to the transmitting computer corresponding to the block number of the last data block which has been received, stored, and found to be correct by said receiving computer;
f. keeping count at the transmitting computer of the last acknowledgment number received from the receiving computer; and
g. intermittently purging from the string of data blocks in the memory of said transmitting computer all data blocks up to and including the one corresponding to the last acknowledgment numBer received from the receiving computer, so that each data block is transmitted by the transmitting computer until it receives positive acknowledgment that the data block has been correctly received by the receiving computer.
- b. successively transmitting data blocks from said string to the receiving computer, transmitting as part of each data block a block number which bears a predetermined relationship to the block number of the last transmitted data block, and periodically retransmitting each data block present in said memory and its block number until said data block is purged from said memory;
Specification