ADAPTIVE FILE DELIVERY SYSTEM AND METHOD
First Claim
1. A method comprising:
- determining a minimum transfer rate for transferring a file segment of a remaining portion of a file based in part on a determined size for the remaining portion of the file and an amount of time available to transfer the remaining portion of the file;
determining a maximum transfer rate for transferring the file segment of the remaining portion of the file based in part on the minimum transfer rate and a maximum transfer capacity of a sending system;
beginning a session to send between the sending system and a receiving system a file segment of a portion of a file yet to be received by the receiving system;
during the session, detecting that the session has stalled;
retaining state of the session at time of session stall; and
additionally requesting reception by the receiving system of an unsent portion of the file segment.
4 Assignments
0 Petitions
Accused Products
Abstract
An adaptive file delivery system and method transmits a data file, such as an audio-video file, over a network or collection of networks in segments, each segment transmitted during a different time period. Each time period has a transmission portion to transmit its associated file segment and a wait portion in which no further interaction with the network occurs regarding the transmitted segment. In some implementations, the duration of the transmission portion of each time period is sufficient to reach a steady-state throughput condition, which allows the traffic load status of the network or networks to be determined from rate measurements of file segment transmissions. The duration of the wait portion of each time period is at least long enough to limit the average rate of file segment transmission to adapt to network traffic load variations while causing the entire file to be delivered in a predetermined delivery deadline.
-
Citations
20 Claims
-
1. A method comprising:
-
determining a minimum transfer rate for transferring a file segment of a remaining portion of a file based in part on a determined size for the remaining portion of the file and an amount of time available to transfer the remaining portion of the file; determining a maximum transfer rate for transferring the file segment of the remaining portion of the file based in part on the minimum transfer rate and a maximum transfer capacity of a sending system; beginning a session to send between the sending system and a receiving system a file segment of a portion of a file yet to be received by the receiving system; during the session, detecting that the session has stalled; retaining state of the session at time of session stall; and additionally requesting reception by the receiving system of an unsent portion of the file segment. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
beginning to send a portion of a file made up of a plurality of file segments from a sending system to a receiving system by a plurality of transmissions spaced out in time with a wait period occurring after each transmission; determining an actual transfer rate at which at least one of the plurality of file segments was sent from the sending system to the receiving system; determining the wait period based in part on the actual transfer rate determined for at least one file segment transmission. during one of the file segment transmissions being performed, detecting that the file segment transmission has stalled; retaining state of the file segment transmission at time of stall; and additionally requesting continuation of the stalled file segment transmission. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for the transfer of a data file to a receiving system coupled to a communication network, comprising:
a sending computer system configured to send a portion of the data file made up of a plurality of file segments to the receiving system via the communication network, the sending computer system comprising; a file storage area configured to store at least one of the plurality of file segments for transmission to the receiving system via the communication network; a network interface controller configured to communicate with the communication network and to control the transmission of the plurality of file segments via the communication network; a communication controller configured to determine an actual transfer rate for at least one of the plurality of file segments sent by the network interface controller of the sending system to the receiving system via the communication network and to determine a wait period for transmission of a subsequent file segment based at least in part of the determined actual transfer rate, the communication controller further configured to detect a transmission stall during the transmission of one of the plurality of file segments and to retain a state of the data file transmission at the time of the transmission of the stalled file segment. - View Dependent Claims (16, 17, 18, 19, 20)
Specification