×

BULK DATA TRANSFER

  • US 20090006920A1
  • Filed: 06/26/2007
  • Published: 01/01/2009
  • Est. Priority Date: 06/26/2007
  • Status: Active Grant
First Claim
Patent Images

1. A method for reliable data transfer over an unreliable network between a sender and a receiver for which the time overhead for resending lost data remains constant for arbitrarily high delay, loss, or reordering of data in transit, and for arbitrarily high transmission speed, the method comprising:

  • acquiring an injection rate for transmission of data blocks from the sender;

    sending data blocks sequentially from the sender to the receiver at the injection rate;

    receiving one or more data blocks at the receiver, each block of the one or more data blocks including an identification number;

    detecting missing original data blocks based on identification numbers received;

    detecting missing retransmitted data blocks based on the expected time of receipt as a function of the predicted path round-trip time;

    determining a path round trip time through a predictive estimation of time to send a retransmission request from the receiver to the sender, retrieve a corresponding data block from a data source at the sender, and transmit the data block to the receiver;

    storing one or more identification numbers of data blocks lost on the receiver such that a time to add or retrieve a block id from storage does not degrade as a number of lost blocks scales up;

    sending retransmission requests from the receiver to the sender on a timer based on the predicted path round-trip time so that the sender can retransmit lost data as early as possible to maximize the contiguous receipt of data without re-transmitting too-early data blocks that are only delayed in transit and will eventually reach the receiver;

    storing retransmission requests for missed data blocks on the sender such that the time to add or retrieve the block id for a block to retransmit does not degrade as the number of retransmission requests increases;

    sending retransmitted data at the sender at a rate which is commensurate with the injection rate to minimize the storage of retransmission requests at the sender; and

    sending data for all outstanding retransmission requests first before sending data that has not yet been sent to avoid compounding data loss.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×