[미국특허]
System and method for congestion detection in an adaptive file delivery system
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/16
G06F-015/173
출원번호
US-0831488
(2010-07-07)
등록번호
US-8583820
(2013-11-12)
발명자
/ 주소
Harrang, Jeffrey Paul
Gibbons, David B.
Burnette, John Michael
출원인 / 주소
Opanga Networks, Inc.
대리인 / 주소
Donohue, Michael J.
인용정보
피인용 횟수 :
4인용 특허 :
62
초록▼
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 wai
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.
대표청구항▼
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 o
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; andupon 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. 2. The method of claim 1 wherein determining the congestion level along the file transmission path comprises the sending system sending a time stamp in at least one of plurality of transmissions to indicate a time at which the sending system sent the transmission, the receiving system using the time stamp, upon receipt of the transmission, to determine an elapsed transmission time for the transmission, the elapsed time being indicative of the congestion level. 3. The method of claim 1 wherein determining the congestion level along the file transmission path comprises the receiving system sending the request message to the sending system to request one of the plurality of file segments and the sending system sending the one of the plurality of file segments in response to the request message, the receiving system storing time data indicative of a time at which the request message was sent from the receiving system to the sending system, the elapsed time between sending the request message and receiving the one of the plurality of file segments in response to the request message being indicative of the congestion level. 4. The method of claim 1 wherein determining the congestion level along the file transmission path comprises the receiving system sending the request message to the sending system to request one of the plurality of file segments and the sending system sending the one of the plurality of file segments in response to the request message, the request message including a time stamp indicative of a time at which the request message was sent from the receiving system to the sending system, the elapsed time between sending the request message and receiving the one of the plurality of file segments in response to the request message being indicative of the congestion level. 5. The method of claim 1 wherein determining the congestion level along the file transmission path comprises the sending a ping message from the sending system to the receiving system and receiving the ping message back from the receiving system, the sending system measuring the elapsed time from the time of transmission of the ping message from the sending system to the receiving system to the time of receipt of the ping message from the receiving system to the sending system, the elapsed time being indicative of the congestion level. 6. The method of claim 1 wherein determining the congestion level along the file transmission path comprises the sending a ping message from the receiving system to the sending system and receiving the ping message back from the sending system, the receiving system measuring the elapsed time from the time of transmission of the ping message from the receiving system to the sending system to the time of receipt of the ping message from the sending system to the receiving system, the elapsed time being indicative of the congestion level. 7. The method of claim 1 wherein the transmission path includes a plurality of network nodes, and determining the congestion level in the file transmission path comprises receiving an explicit congestion notification from one of the plurality of network nodes in the file transmission path, the explicit congestion notification indicative of the congestion level. 8. The method of claim 1 wherein the variable wait period is determined for each of the plurality of file segments following the sending of a first of the plurality of file segments from the sending system to the receiving system. 9. The method of claim 1 wherein the variable wait period for a particular one of the plurality of file segments is determined based in part on the actual transfer rate determined for the file segment transmission of a preceding one of the plurality of file segments. 10. The method of claim 1 wherein determining the congestion level is based at least in part on a transfer rate of a selected one of the plurality of file segments, the selected file segment having a sufficiently large number of sub-segments to permit the transfer rate to reach a steady-state. 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; anda 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. 12. The system of claim 11 wherein the network interface coupled to the sending computing system is configured to include a time stamp in at least one of plurality of transmissions to indicate a time at which the network interface coupled to the sending computing system sent the transmission, the network interface controller being further configured to determine an elapsed time indicating the elapsed time between sending and receipt of the transmission having the time stamp, the elapsed time being indicative of the congestion level. 13. The system of claim 11 wherein the network interface controller is configured to send a ping message from the sending system to the receiving system and to receive the ping message back from the receiving system, the network interface controller being further configured to measure the elapsed time from the time of transmission of the ping message from the sending system to the receiving system to the time of receipt of the ping message from the receiving system to the sending system, the elapsed time being indicative of the congestion level. 14. The system of claim 11 wherein the network interface controller is configured to receive a ping message from the receiving system and to transmit the ping message back from the receiving system, the elapsed time from the time of transmission of the ping message from the receiving system to the sending system to the time of receipt of the ping message from the receiving system to the sending system, the elapsed time being indicative of the congestion level. 15. The system of claim 11 wherein the communications network comprises a plurality of network nodes, and an explicit congestion notification from one of the plurality of network nodes in the file transmission path is indicative of the congestion level. 16. The system of claim 11 wherein the level of network congestion is based at least in part on a transfer rate of a selected one of the plurality of file segments, the selected file segment having a sufficiently large number of sub-segments to permit the transfer rate to reach a steady-state.
Blumenau, Trevor I., Content distribution system for distributing content over a network, with particular applicability to distributing high-bandwidth content.
Ghanwani, Anoop; Aydemir, Metin; Jeffries, Clark Debs; Marin, Gerald Arnold; Strole, Norman Clark; Vu, Ken Van, Enhanced flow control in ATM edge switches.
Dinesh Kashinath Anvekar IN; Manpreet Singh Dang IN; Amol Prakash IN; Rajeev Shorey IN, Maintaining data communication through neighboring mobile units during handoff.
Ito Yoshihiro,JPX ; Yokota Hidetoshi,JPX ; Ishikura Masami,JPX ; Asami Tooru,JPX, Method and apparatus for dynamic data rate control over a packet-switched network.
Agrawal, Sanjay K., Method and apparatus for estimating periodic worst-case delay under actual and hypothetical conditions using a measurement based traffic profile.
Drosset, Joseph St-John; Kim, Michael; Bottorf, Christopher J.; McMillan, Juan C., Method and system for subscriber-based audio service over a communication network.
Choi, Jintae; Lee, Jaemoon; Kim, Namgyu; Kim, Beyongsu; Jeon, Sangchoon, Method and telecommunication system for appointing frequency assignment mode and/or broadcast/multicast service assignment ration for providing broadcast/multicast service.
Bhagwat, Pravin; Bisdikian, Chatschik; Korpeoglu, Ibrahim; Naghshineh, Mahmoud, Method for seamless networking support for mobile devices using serial communications.
Dennisson, Joseph Patrick; Hope, Timothy; Perrella, Ron; Schaub, Ryan Lee; Slemmer, John Blake, Methods, systems, and computer program products for transmitting streaming media to a mobile terminal using the bandwidth associated with a wireless network.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.