Method and system for data transfer in the presence of disconnects
First Claim
1. A method for controlling data transfer operations comprising the steps of:
- (a) initiating a data file transmission from a first communication device to a second communication device over a communication link, said data file comprising a plurality of sequentially numbered data packets, said transmission involving the sequential transmission of said data packets;
(b) storing data packets correctly received at a memory in said second communication device;
(c) maintaining a record in the second communication device memory of the sequence numbers of those data packets stored in the second communication device memory; and
(d) in response to receiving a signal indicative of a disconnect in the communication link, retaining in the second communication device memory those data packets stored in the second device memory before the disconnect occurred, such that the first communication device need transmit to the second communication device, once the communication link is re-established, only those data packets of the data file not previously stored in the second communication device memory.
11 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for controlling data transfer operations during a communication session between a transmitter and at least one receiver provide that data packets which have been stored at the receiver memory before a disconnect occurred remain stored in therein in the presence of the disconnect to avoid the need for retransmitting data packets upon re-establishment of a communication link. Data representative of those data packets already stored at the receiver memory is maintained for purposes of synchronizing data packet transmission from the transmitter for completing data file transfer. Data control instructions for implementing storage of data packets and tracking the progression of data packet transmissions when a disconnect occurs may suitably included in an existing protocol layer of a communication system or as an additional protocol layer added to the operating system of the communication system.
-
Citations
18 Claims
-
1. A method for controlling data transfer operations comprising the steps of:
-
(a) initiating a data file transmission from a first communication device to a second communication device over a communication link, said data file comprising a plurality of sequentially numbered data packets, said transmission involving the sequential transmission of said data packets; (b) storing data packets correctly received at a memory in said second communication device; (c) maintaining a record in the second communication device memory of the sequence numbers of those data packets stored in the second communication device memory; and (d) in response to receiving a signal indicative of a disconnect in the communication link, retaining in the second communication device memory those data packets stored in the second device memory before the disconnect occurred, such that the first communication device need transmit to the second communication device, once the communication link is re-established, only those data packets of the data file not previously stored in the second communication device memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for controlling data transfer operations comprising the steps of:
-
initiating a data file transmission from a first communication device to a second communication device over a communication link, said data file comprising a plurality of sequentially numbered data packets, said transmission involving the sequential transmission of said data packets; maintaining checkpointing window transmission values in a memory of said first communication device for controlling the transmission of said data packets, said window transmission values including a lower and higher bound value and a window size value; transmitting data packets in sequence as windows of information according to the lower and upper bound transmission values and the window size value; monitoring the successive reception of the data packets at the second communication device; storing data packets correctly received at said second communication device in a memory of said second communication device; storing data concerning the successive reception of the data packets received in a counter location in the second communication device memory; transmitting acknowledgement signals periodically from the second communication device to the first communication device for indicating the reception and storage of said data packets, said acknowledgment signals being transmitted when the successive count value is equal to a fraction of the window size value; updating the value of the lower bound value for each acknowledgement signal received at the first communication device; ceasing data packet transmission when a disconnect occurs; receiving at the first communication device an acknowledgement signal from the second device indicating re-establishment of the link; and retransmitting data packets in sequence, after the first communication device received the link re-establishment acknowledgement signal, starting from the data packet having a sequence number one greater than the last data packet stored in the second device memory corresponding to the last data packet transmitted before the disconnection occurred. - View Dependent Claims (8, 9)
-
-
10. A system for controlling data transfer operations comprising:
-
a first communication device comprising at least one processor and a memory; a second communication device comprising at least one processor and a memory, said first communication device being linked to said second device over a communication link when said first communication device performs the operation of initiating a data file transmission to the second communication device, said data file comprising a plurality of sequentially numbered data packets, said transmission involving the sequential transmission of said data packets; receiver for receiving at said second communication device said data packets transmitted from said first communication device; a memory for storing said received data packets in said second communication device memory; said second communication device memory maintaining a record of the sequence numbers of those data packets stored in the second communication device memory, wherein said processor of said second communication device in response to receiving a signal indicative of a disconnect in the communication link, retains in the second communication device memory those data packets stored in the second communication device memory before the disconnect occurred, such that the first communication device need transmit to the second communication device, once the communication link is re-established, only those data packets of the data file not previously stored in the second communication device memory. - View Dependent Claims (11, 12, 13, 14, 15, 17, 18)
-
-
16. A system for controlling data transfer operations, comprising:
-
a first communication device comprising at least one processor and a memory; a second communication device comprising at least one processor and a memory, said first communication device being linked to said second communication device over a communication link when said first communication device performs the operation of initiating a data file transmission to the second communication device, said data file comprising a plurality of sequentially numbered data packets, said transmission involving the sequential transmission of said data packets; said first communication device processor maintaining checkpointing window transmission values in said first communication device memory for controlling the transmission of said data packets, said window transmission values including a lower and higher bound value and a window size value; said first communication device transmitting data packets in sequence according to the lower and upper bound values; said second communication device monitoring the successive reception of data packets; said second communication device processor storing data concerning the successive reception of the data packets in a counter location in the second communication device memory; said second communication device periodically transmitting acknowledgement signals to the first communication device indicating the reception and storage of said data packets, said acknowledgement signals being transmitted when the successive count value is equal to a fraction of the window size value; said first communication device processor updating the value of the lower bound value for each acknowledgement signal received; said first communication device ceasing data packet transmission when a disconnect occurs; said first communication device receiving an acknowledgement signal from the second communication device indicating re-establishment of the link; and said first communication device retransmitting data packets in sequence, after the first communication device received the link re-establishment acknowledgement signal starting from the data packet having a sequence number one greater than the last data packet stored in the second communication device memory corresponding to the last data packet transmitted before the disconnection occurred.
-
Specification