Adaptive file delivery system and method
First Claim
1. A computer-implemented method for controlling the transfer of a file from a sending computer system coupled to a network to a receiving computer system coupled to the network, the method comprising:
- one of the sending computer system and the receiving computer system 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;
one of the sending computer system and the receiving computer system 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 the sending computer system;
beginning a session to send between the sending computer system and the receiving computer system a file segment of a portion of a file yet to be received by the receiving computer system;
one of the sending computer system and the receiving computer system during the session, detecting that the session has stalled;
one of the sending computer system and the receiving computer system retaining state of the session at time of session stall; and
the receiving computer system additionally requesting reception by the receiving computer 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.
151 Citations
20 Claims
-
1. A computer-implemented method for controlling the transfer of a file from a sending computer system coupled to a network to a receiving computer system coupled to the network, the method comprising:
-
one of the sending computer system and the receiving computer system 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; one of the sending computer system and the receiving computer system 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 the sending computer system; beginning a session to send between the sending computer system and the receiving computer system a file segment of a portion of a file yet to be received by the receiving computer system; one of the sending computer system and the receiving computer system during the session, detecting that the session has stalled; one of the sending computer system and the receiving computer system retaining state of the session at time of session stall; and the receiving computer system additionally requesting reception by the receiving computer system of an unsent portion of the file segment. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method comprising:
-
a sending computer system coupled to a wide area network beginning to send a portion of a file made up of a plurality of file segments to a receiving computer system coupled to the wide area network by a plurality of transmissions spaced out in time with a wait period occurring after each transmission; following sending of a selected one of the plurality of file segments, the receiving computer system determining an actual transfer rate at which the selected file segment was sent from the sending computer system and received by the receiving computer system; the receiving computer 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, the sending computer system or the receiving computer system 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 wide area 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; and 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; and a communication controller located in the receiving system and configured to determine an actual transfer rate for a selected one of the plurality of file segments following the transmission of the selected file segment 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