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;
determining an actual transfer rate that a selected one of the plurality of file segments was sent from the sending system to the receiving system; and
determining the variable wait period based in part on the actual transfer rate determined for the selected file segment transmission.
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
19 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; determining an actual transfer rate that a selected one of the plurality of file segments was sent from the sending system to the receiving system; and determining the variable wait period based in part on the actual transfer rate determined for the selected file segment transmission. - 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, the method comprising:
-
sending the plurality of file segments from the sending system to the receiving system via the communications network 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 on the communications network; and 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)
-
-
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 with a different one of a plurality of wait periods occurring after each transmission; for each file segment transmission, determining an actual transfer rate that the file segment was sent from the sending system to the receiving system; and for each file segment transmission having a previous file segment transmission, determining size of the file segment to be sent in the file segment transmission based in part by the actual transfer rate of the previous file segment transmission.
-
-
15. A system to transmit a data file made up of a plurality of file segments 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 a sending computing system and configured to transmit the plurality of data file segments to the receiving system via a communications network; a network interface controller configured to control transmission of the plurality of file segments to the receiving system via the network interface, the network interface controller receiving an indication of an actual transfer rate of ones of the plurality of file segments and determining a wait period between transmission of individual ones of the plurality of file segments based in part on the actual transfer rate. - View Dependent Claims (16, 17, 18, 19)
-
Specification