WO2010084034A1 - Method for controlling a flow in a packet switching network - Google Patents
Method for controlling a flow in a packet switching network Download PDFInfo
- Publication number
- WO2010084034A1 WO2010084034A1 PCT/EP2010/050081 EP2010050081W WO2010084034A1 WO 2010084034 A1 WO2010084034 A1 WO 2010084034A1 EP 2010050081 W EP2010050081 W EP 2010050081W WO 2010084034 A1 WO2010084034 A1 WO 2010084034A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value
- rate
- buffer
- sending
- dsr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring of the client buffer
Definitions
- the invention is related to the field of flow control between two computing nodes over a packet switching network. Furthermore, the invention also relates to a method of flow control.
- Bandwidth of a public packet switching network is shared by all kinds of applications to achieve statistical multiplexing gain. This share of resource introduces considerable uncertainty in workload and resource requirements. While delivering packets through such a network, the unpredictable delay jitter may introduce underflow or overflow in a limited client buffer even if the network is error- free at a time period.
- multimedia applications require end-to-end quality-of-service (QoS) with jitter-free playback of audio and video.
- QoS quality-of-service
- Flow control is after congestion control, one of the major objectives of connection management in the area of reliable connection oriented data transmission. Congestion control prevents the network in a whole to be flooded. In contrast, the main goal of the flow control is to prevent a slow or even busy reception node from being flooded by a faster data sender. "Rate-based” and “window-based” mechanisms are the two best-known approaches for flow control. General TCP flow control which is described in [Pos81] (Postel, Jon:
- a receiver returns a "window" with every acknowledgment indicating a range of acceptable sequence numbers beyond the last received segment.
- the window indicates an allowed number of bytes the sender may transmit before receiving further permission.
- the disadvantage of this method is a burst way of sending, which even amplifies on high Bandwidth Delay Product links (also called "high BDP links").
- rate-based flow control can provide end-to-end deterministic and statistical performance guarantees over packet switching networks.
- the rate adjustment is performed by the intensive feedback controls from client to achieve guaranteed QoS.
- One rate-based approach is described in [WanO1 ] (Wang, Chia-Hui; Ho, Jan-Ming; Chang, Ray-I und Hsu, Shun-Chin: A Control-Theoretic Mechanism for Rate-based Flow Control of Realtime Multimedia Communication, Techn. Ber., Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan, R. O. C and Institute of Information Science, Academia Sinica, Taipei, Taiwan, R. O. C.
- This method uses a closed loop control mechanism to adapt the sender's data rate.
- the control theoretic "device to control" is the receive-buffer- occupancy (BO). If the BO value exceeds a given threshold, the receiver gives a feedback about its BO to the sender.
- the sender uses a Proportional, Derivative (PD) rate control to calculate a new sending rate from the received BO feedback.
- PD Proportional, Derivative
- One of the goals of the present invention is to propose a rate-based flow control mechanism providing a more effective and reliable data flow control even on erroneous high BDP links than state-of-the art flow Control mechanisms and allowing a more efficient network resources utilization than the known approaches.
- the technical problem the present invention intends to solve is to govern a sending rate of a sender to avoid flooding of a receiver and allowing the data sender to optimally adjust its sending data rate according to the data reception rate at the receiver's application level.
- the present invention concerns, a method for controlling data flow between a sending node SN and a receiving node RN over a packet switching network, data being sent with a current data rate SR onto a protocol-specific buffer
- an application AP reading data stored in the buffer BU at a playback rate SPR it involves the following steps:
- Fig. 1 a data exchanges between a sending node SN and a receiving node RN;
- Fig. 1 b an exemplary flowchart of the method for controlling data flow according to the invention comprising a succession of four main steps
- Fig. 2 an illustration of the difference between a "brut" playback rate and a smoothed playback rate
- Fig. 3a an illustration of a non-empty buffer underrun situation at a given time ti .
- Fig 3b a graph showing temporal evolution of buffer occupancy and of amount of readable data from buffer
- Fig. 4 a detailed flowchart of the step 20 of determination of a desired sending rate DSR of a method according to the invention
- Figure 1 a illustrates data exchanges between a sending node SN and a receiving node RN which comprises a protocol-specific buffer BU.
- the sending node
- SN sends data to the receiving node RN at a current sending rate SR expressed for example in MBit per second.
- SR current sending rate expressed for example in MBit per second.
- data is stored in the buffer BU.
- At least one application AP runs on the receiving node RN and acquires data at a playback rate.
- the application AP is for example a Media player, which receives video data from a sending nodes SN and plays back that data out to a video screen.
- the data sent is media streaming and the application AP can also be applied to file transfer, Database replication and so on.
- the buffer occupancy BO is the size of the buffer space occupied by the data received by the receiving node RN
- the buffer BU has a storage capacity denoted as totalBufferSize.
- An example of flowchart for implementing the method according to the invention is shown on figure 1 b.
- the flow control mechanism implemented by the method according to the invention uses a rate-based approach.
- the sending node SN notifies a receiving node RN about its maximum sending rate SRMax, which is the highest rate the sending node SN is able to send data to the receiving node RN.
- the receiving node RN notifies the sending node SN about a desired sending rate DSR, for instance during a latter step 20.
- a calculation for determining the desired sending rate DSR value is done at the receiving node RN during an intermediary step 10.
- the desired sending rate DSR is calculated from a smooth playback rate SPR which is determined by observation of the playback rate or "brut" playback rate.
- the playback-rate is subject to fluctuations caused by non-constant bit-rate of data retrieval by the application AP.
- the playback-rate is smoothed by applying a temporal moving average, for example the "Exponentially
- EWMA Weighted Moving Average
- EWMA consists in applying weighting factors which decrease exponentially.
- the playback rate SPR value used for conducting test and determination of desired sending rate DSR value is value issued by a moving average method of playback rate such as EWMA method.
- Figure 2 compares temporal evolutions of the values of "brut" playback-rate, i.e. playback rate as measured without any smooth filter, with the values of EWMA smoothed playback-rate SPR over 2500 millisecond.
- X axis denotes time
- Y axis denotes rate value in MBits/s. While the "brut" playback-rate is subject to "high frequency” fluctuations the smoothed playback-rate SPR is almost constant. After 550 ms since the start of the data flow, the smoothed playback rate SPR is constant and doesn't change till bigger fluctuations at the application, after 2300 ms, occur.
- the application AP performs polling on the buffer BU by issuing a receiving call on the protocol engine. This receiving call sends an amount of data, the application AP desires to fetch from the buffer BU. So, the data fetching is fully controlled by the application AP. Ideally, in streaming applications, the data fetching is performed timely equidistantly in constant-sized portions, size of these portions, also called “chunk” is denoted “chunkSize”. However, in real life none (non-realtime) application can reach this equidistant fetching approach (also called "Constant Bit Rate data sink).
- the application AP streams an uncompressed video-feed in 24 frames per second. Within one second, the application AP acquires 24 picture-frames from the buffer BU. If each frame is received individually from the buffer BU, based on the fact that each frame has the same size, the chunk size is the size of one frame.
- playback rate fluctuations with high amplitude for example as shown on figure 2 after 2300 ms, due to application's receiving calls can be controlled by periodic sending rate updates from receiving node RN to sending node SN.
- the rate updates will be sent periodically, whereby the update period is expressed in fractions of the RTT of the connection.
- the minimum period value must be bound to some fixed value.
- the period value can be based for example on empiric investigations. Used fractions of RTT corresponds for example to 1/4 RTT.
- a minimum value of RTT fraction is 10 ms with RTT values greater than 40 ms.
- the period with which the test on the buffer-occupancy is conducted is equal to a fraction of the round trip time RTT.
- the step of determining the desired sending rate DSR value is triggered by a result of a test on the occupancy of the buffer BU, and in that this test is conducted periodically.
- Figure 4 shows an example of implementation for realizing the step 10 of determination of desired sending rate DSR.
- the test on the buffer-occupancy consists in determining if the buffer occupancy is lower than a low threshold LTHR value or greater than a high threshold HTHR value. If the buffer occupancy BO exceeds a high threshold value HTHR, respectively low threshold LTHR value, the desired sending rate DSR value will be reduced below, respectively raised above, the current smooth playback-rate SPR (cf. steps 10.5 and 10.6 shown on figure 4).
- the low threshold LTHR value and the high threshold HTHR value are dynamically assigned.
- High threshold HTHR and low threshold LTHR are dynamically assigned during a step 10.1.
- the dynamic feature of high and/ or low threshold values assignment is one of major differences with state-of-the-art implementations of rate-based Flow Control. This avoids the non-empty buffer underruns as shown on figure 4.
- the low threshold LTHR value is calculated from the size of chunkchunkSize); the current sending rate SR and the round trip time value RTT).
- the high threshold HTHR can be calculated based on the maximum chunk size the application AP receives from the buffer BU (e.g. 2 * chunkSize) and the existing BDP which is here the product of the current sending rate with the RTT.
- BDP is a very important parameter in the area of transport protocols since it represents the amount of data, which can be sent, before a reaction of data sending can be performed (SR * RTT).
- the high threshold HTHR value depends on the size of chunks chunkSize; the current sending rate SR, the buffer storage capacity total BufferSize and the round trip time value RTT.
- a buffer BU underrun is more critical than a buffer BU overflow. So, it's not sufficient to take here into calculations only chunk size at the application AP level and the BDP for assigning a low threshold LTHR value.
- a lost packet causes a gap in the data stream which is stored in the buffer BU, which prevents the application AP from receiving data beyond this gap.
- the buffer BU is represented as a rectangular recipient.
- t 1 one illustrates, coloured in black, parts of the buffer BU filled with received data. Empty parts of the buffer are set in "white” colour. The white part between two black parts corresponds to a missing packet. So there is a difference between the amount of data stored in the buffer (denoted as "BO” on figure 4a) figured by the highest part of the "recipient” and the amount of data BR 1 that is readable from the buffer BU, in one piece.
- the low threshold LTHR value is set to the maximum of chunk size and BDP (e.g. SR * RTT) plus the maximum of the previous introduced stored/readable difference, denoted as "K".
- LTHR max (2 * chunkSize; SR * RTT) + K Since by addition of the K value, the low threshold value LTHR could exceed the high threshold HTHR value, the low threshold value LTHR must be also limited to a value smaller than the high threshold HTHR value (e.g. totalBufferSize - 4 * chunkSize) in this case.
- K is a value determined from a network model.
- the receiving node RN After sending a sending rate adjustment to the sender, the receiving node RN must delay the following BO evaluation, as well as the periodic rate updates. This delay is figured by the box denoted as 10.4. Because a sending rate adjustment realized by the sending node will not have an effect on the receiver's BO before at least one RTT after the adjustment message was sent by the receiver. Therefore the BO evaluation shall be delayed at least one RTT (preferable 2 * RTT).
- the desired sending rate DSR is determined from a number of consecutive BO evaluations having driven to the same conclusion.
- the step of determining the desired sending rate DSR further comprises a step of determining a number i of consecutive buffer occupancy test stating that the playback-rate SPR is lower than the low threshold LTHR value and a step of determining a number j of consecutive buffer occupancy test stating that the playback-rate SPR value is lower than the low threshold LTHR value.
- the desired sending rate DSR shall be calculated as follows:
- the desired sending rate DSR shall be calculated as follows:
- step 1.8 is a threshold value having a constant empiric value.
- the increase percentage value DRI is greater than the decrease percentage value DRR.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP10700009.3A EP2380294B1 (en) | 2009-01-20 | 2010-01-06 | Method for controlling a flow in a packet switching network |
| JP2011545712A JP5512699B2 (en) | 2009-01-20 | 2010-01-06 | Method for controlling flow in a packet switching network |
| BRPI1006837A BRPI1006837A2 (en) | 2009-01-20 | 2010-01-06 | method for controlling a flow in a packet-switched network |
| US13/138,188 US8995268B2 (en) | 2009-01-20 | 2010-01-06 | Method for controlling a flow in a packet switching network |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP09305053.2 | 2009-01-20 | ||
| EP09305053A EP2209240A1 (en) | 2009-01-20 | 2009-01-20 | Method for controlling a flow in a packet switched network |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010084034A1 true WO2010084034A1 (en) | 2010-07-29 |
Family
ID=40673206
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2010/050081 Ceased WO2010084034A1 (en) | 2009-01-20 | 2010-01-06 | Method for controlling a flow in a packet switching network |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8995268B2 (en) |
| EP (2) | EP2209240A1 (en) |
| JP (1) | JP5512699B2 (en) |
| BR (1) | BRPI1006837A2 (en) |
| WO (1) | WO2010084034A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103597847A (en) * | 2011-05-31 | 2014-02-19 | 汤姆逊许可公司 | Method and apparatus for streaming multimedia contents |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2119288B1 (en) * | 2007-02-08 | 2016-09-14 | Telefonaktiebolaget LM Ericsson (publ) | Reducing buffer overflow |
| US9808361B2 (en) | 2009-06-17 | 2017-11-07 | W. L. Gore & Associates, Inc. | Medical device fixation anchor having improved compaction and delivery |
| US8565081B1 (en) | 2011-02-23 | 2013-10-22 | Google Inc. | Rate adaptation in a communication system |
| US8675717B1 (en) | 2012-04-16 | 2014-03-18 | Google Inc. | Rate selection in a communication system |
| US20150124604A1 (en) * | 2013-11-06 | 2015-05-07 | Futurewei Technologies, Inc. | Systems and Methods for Proactive Congestion Detection in Radio Access Networks |
| KR102532645B1 (en) * | 2016-09-20 | 2023-05-15 | 삼성전자 주식회사 | Method and apparatus for providing data to streaming application in adaptive streaming service |
| US10616123B2 (en) * | 2017-07-07 | 2020-04-07 | Qualcomm Incorporated | Apparatus and method for adaptive de-jitter buffer |
| CN109769140A (en) * | 2018-12-20 | 2019-05-17 | 南京杰迈视讯科技有限公司 | A kind of network video smooth playback control method based on streaming media technology |
| US12107767B2 (en) * | 2022-04-07 | 2024-10-01 | Mellanox Technologies Ltd. | System and method for network rate limiting |
| US12058408B2 (en) | 2022-04-25 | 2024-08-06 | Avago Technologies International Sales Pte. Limited | Rebuffering reduction in adaptive bit-rate video streaming |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1996008899A1 (en) * | 1994-09-17 | 1996-03-21 | International Business Machines Corporation | Flow control method and apparatus for cell-based communication networks |
| US6625656B2 (en) * | 1999-05-04 | 2003-09-23 | Enounce, Incorporated | Method and apparatus for continuous playback or distribution of information including audio-visual streamed multimedia |
| JP2001144802A (en) * | 1999-11-11 | 2001-05-25 | Canon Inc | Data communication device and method, communication system and storage medium |
| JP4526883B2 (en) | 2004-06-28 | 2010-08-18 | 株式会社エヌ・ティ・ティ・ドコモ | Transceiver and method using multiple antennas |
-
2009
- 2009-01-20 EP EP09305053A patent/EP2209240A1/en not_active Withdrawn
-
2010
- 2010-01-06 JP JP2011545712A patent/JP5512699B2/en not_active Expired - Fee Related
- 2010-01-06 BR BRPI1006837A patent/BRPI1006837A2/en not_active IP Right Cessation
- 2010-01-06 EP EP10700009.3A patent/EP2380294B1/en not_active Not-in-force
- 2010-01-06 US US13/138,188 patent/US8995268B2/en not_active Expired - Fee Related
- 2010-01-06 WO PCT/EP2010/050081 patent/WO2010084034A1/en not_active Ceased
Non-Patent Citations (2)
| Title |
|---|
| CHIA-HUI WANG, JAN-MING HO, RAY-I CHANG, SHUN-CHIN HSU: "A Control-Theoretic Mechanism for Rate-based Flow Control of Real-time Multimedia Communication", MULTIMEDIA, INTERNET, VIDEO TECHNOLOGIES 2001 (MIV 2001) WSES/IEEE INTERNATIONAL MULTI-CONFERENCE, September 2001 (2001-09-01), XP002530450, Retrieved from the Internet <URL:http://www.iis.sinica.edu.tw/papers/hoho/121-F.pdf> [retrieved on 20090603] * |
| YOUN-SIK HONG ET AL: "A Cost Effective Rate Control for Streaming Video Dedicated to Wireless Handheld Devices", MULTIMEDIA AND UBIQUITOUS ENGINEERING, 2008. MUE 2008. INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 24 April 2008 (2008-04-24), pages 537 - 542, XP031263747, ISBN: 978-0-7695-3134-2 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103597847A (en) * | 2011-05-31 | 2014-02-19 | 汤姆逊许可公司 | Method and apparatus for streaming multimedia contents |
| JP2014522594A (en) * | 2011-05-31 | 2014-09-04 | トムソン ライセンシング | Method and apparatus for streaming multimedia content |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2380294B1 (en) | 2014-05-14 |
| JP2012516067A (en) | 2012-07-12 |
| US8995268B2 (en) | 2015-03-31 |
| EP2209240A1 (en) | 2010-07-21 |
| US20110273985A1 (en) | 2011-11-10 |
| JP5512699B2 (en) | 2014-06-04 |
| BRPI1006837A2 (en) | 2016-04-12 |
| EP2380294A1 (en) | 2011-10-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8995268B2 (en) | Method for controlling a flow in a packet switching network | |
| US8230105B2 (en) | Adaptive bitrate management for streaming media over packet networks | |
| US8254376B2 (en) | Simple adaptive jitter buffering algorithm for network nodes | |
| US6684273B2 (en) | Auto-adaptive jitter buffer method for data stream involves comparing delay of packet with predefined value and using comparison result to set buffer size | |
| US20050213502A1 (en) | Method and system for controlling operation of a network, such as a WLAN, related network and computer program product therefor | |
| US20070115814A1 (en) | Method and apparatus for improved data transmission | |
| US20100098047A1 (en) | Setting a data rate of encoded data of a transmitter | |
| EP2562979B1 (en) | Method of adapting the data rate during transmission of variable bit-rate data streams | |
| KR20040023719A (en) | Method for supporting non-linear, highly scalable increase-decrease congestion control scheme | |
| Su et al. | Smooth control of adaptive media playout for video streaming | |
| Papadimitriou et al. | SSVP: A congestion control scheme for real-time video streaming | |
| US7965639B2 (en) | Dynamic adaptation of MAC-layer retransmission value | |
| JP7485018B2 (en) | Content Delivery System | |
| Li et al. | Joint power/playout control schemes for media streaming over wireless links | |
| Gorius et al. | Dynamic media streaming with predictable reliability and opportunistic TCP-friendliness | |
| De Marco et al. | Run-Time Adjusted Congestion Control for Multimedia: Experimentals Results | |
| Sun et al. | Predictive flow control for TCP-friendly end-to-end real-time video on the Internet | |
| KR100986555B1 (en) | Method and system for determining initial buffering time for progressive multimedia streaming service | |
| RU2389145C2 (en) | Method of controlling transmission of data packets for data with variable bitrate | |
| Razavi et al. | Fuzzy control of adaptive timeout for video streaming over a Bluetooth interconnect | |
| Arif et al. | The relationship of TFRC congestion control to video rate control optimization | |
| KR20030055701A (en) | The traffic characterization scheme for realtime video transmission | |
| Kalshetti et al. | MAC-PHY layer optimization for digital video transmission in wireless network | |
| Iya et al. | Congestion-aware scalable video streaming | |
| Wan et al. | Can we multiplex IPTV and TCP? |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10700009 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2010700009 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2011545712 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 13138188 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: PI1006837 Country of ref document: BR |
|
| ENP | Entry into the national phase |
Ref document number: PI1006837 Country of ref document: BR Kind code of ref document: A2 Effective date: 20110714 |