Adaptive file delivery system and method
First Claim
1. A method comprising:
- sending a portion of a file made up of a plurality of file segments from a sending system to a receiving system, the sending the portion of the file including sending the file segments by a plurality of transmissions spaced out in time with a variable wait period occurring after the transmission of each of the plurality of file segments wherein none of the file segments are sent during the waiting period, each of the plurality of file segments being sent as a series of sub-segments using a transport layer communication protocol;
following the transfer of a selected one of the plurality of file segments to the receiving system, the receiving system determining an overall actual transfer rate from the sending system to the receiving system of the selected file segment wherein the transmission of the selected file segment spans a sufficient amount of time to permit the transfer rate to reach a steady-state; and
the receiving system determining the variable wait period based in part on the actual transfer rate determined for the selected 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.
155 Citations
20 Claims
-
1. A method comprising:
-
sending a portion of a file made up of a plurality of file segments from a sending system to a receiving system, the sending the portion of the file including sending the file segments by a plurality of transmissions spaced out in time with a variable wait period occurring after the transmission of each of the plurality of file segments wherein none of the file segments are sent during the waiting period, each of the plurality of file segments being sent as a series of sub-segments using a transport layer communication protocol; following the transfer of a selected one of the plurality of file segments to the receiving system, the receiving system determining an overall actual transfer rate from the sending system to the receiving system of the selected file segment wherein the transmission of the selected file segment spans a sufficient amount of time to permit the transfer rate to reach a steady-state; and the receiving system determining the variable wait period based in part on the actual transfer rate determined for the selected file segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for sending a data file made up of a plurality of file segments from a sending system to a receiving system via a communications network pathway, the method comprising:
-
sending the plurality of file segments from the sending system to the receiving system via the communications network pathway wherein each of the plurality of segments is transmitted as a series of sub-segments with the transmission of each of the plurality of file segments spaced out in time with a wait period occurring after the transmission of each of the plurality of file segments; sensing network congestion of the entire communications network pathway between the sending system and the receiving system; and the receiving system adjusting the wait period based on the sensed network congestion wherein the wait period is increased if the sensed congestion increases. - View Dependent Claims (11, 12, 13, 20)
-
-
14. A method comprising:
-
sending a portion of a file made up of a plurality of file segments from a sending system to a receiving system, the sending the portion of the file including sending the file segments one at a time by a plurality of transmissions wherein each of the plurality of segments comprises a series of sub-segments whose sending is controlled by a transport layer protocol; following the transfer of a selected one of the plurality of file segments to the receiving system, the receiving system determining an actual transfer rate from the sending system to the receiving system for the selected file segment, wherein the transmission of the selected file segment spans a sufficient amount of time to permit the transfer rate to reach a steady-state; and the receiving system determining a size of a file segment to be sent based in part on the actual transfer rate of the selected file segment.
-
-
15. A system to transmit a data file made up of a plurality of file segments from a sending computing system to a receiving computing system, comprising:
-
a data storage element configured to store the data file to be transmitted to the receiving computing system; a network interface coupled to the sending computing system and configured to transmit the plurality of data file segments to the receiving computing system via a communications network, each of the plurality of file segments comprising a series of sub-segments wherein the network interface is configured to send the series of sub-segments using a transport layer communication protocol; a network interface coupled to the receiving computing system and configured to receive the plurality of data file segments transmitted from the receiving computing system via a communications network; a network interface controller couple to the receiving computing system and configured to control transmission of the plurality of file segments to the receiving system via the network interface, following the transfer of a selected one of the plurality of file segments, the network interface controller being configured to determine an actual transfer rate from the sending computing system to the receiving computing system for the selected file segment, wherein the transfer of the selected file segment spans a sufficient amount of time to permit the actual transfer rate to reach a steady-state, and to determine a wait period between transmission of individual ones of the plurality of file segments based in part on the actual transfer rate determined for the selected file segment. - View Dependent Claims (16, 17, 18, 19)
-
Specification