System and method for congestion detection in an adaptive file delivery system
First Claim
1. A method for transferring a file from a sending system to a receiving system, comprising:
- sending a portion of a file made up of a plurality of file segments from the sending system along a file transmission path extending from the sending system to the receiving system, the sending the portion of the file including sending the file segments by a plurality of transmissions spaced out in time by a variable wait period;
determining a congestion level along the file transmission path;
the receiving system determining the variable wait period based in part on the determined congestion level;
the receiving system calculating a file segment size of the next file segment to be transferred based in part of the determined congestion level; and
upon expiration of the determined wait period, the receiving system sending a request message to the sending system to request the transfer of the next file segment, the request further including information related to the file segment size of the next file segment to be transferred.
1 Assignment
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 and avoid network congestion. Various techniques for measuring congestion are described.
172 Citations
16 Claims
-
1. A method for transferring a file from a sending system to a receiving system, comprising:
-
sending a portion of a file made up of a plurality of file segments from the sending system along a file transmission path extending from the sending system to the receiving system, the sending the portion of the file including sending the file segments by a plurality of transmissions spaced out in time by a variable wait period; determining a congestion level along the file transmission path; the receiving system determining the variable wait period based in part on the determined congestion level; the receiving system calculating a file segment size of the next file segment to be transferred based in part of the determined congestion level; and upon expiration of the determined wait period, the receiving system sending a request message to the sending system to request the transfer of the next file segment, the request further including information related to the file segment size of the next file segment to be transferred. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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 pathway extending from the sending computing system to the receiving computing system; a network interface coupled to the receiving computer system and configured to receive the plurality of data file segments from the sending computer system via the communications pathway; and a network interface controller coupled to the receiving computing system and configured to control transmission of the plurality of file segments to the receiving system, the network interface controller being configured to determine a variable wait period between transmission of individual ones of the plurality of file segments based in part on a level of network congestion on the communications pathway and to determine a file segment size of a next file segment to be transferred from the sending computer system to the receiving computer system, the receiving computer system measuring the wait period and, upon expiration of the wait period, the network interface controller sending a request message to the sending computing system to request the next file segment having the file segment size determined by the network interface controller. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification