Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR EVALUATING AN AVAILABLE PATH BITRATE BASED ON A COUPLE OF MARKERS INSERTED IN A SIGNAL SENT OVER SAID PATH
Document Type and Number:
WIPO Patent Application WO/2011/128283
Kind Code:
A1
Abstract:
The invention relates to the field of multi-path communication. More particularly the invention deals with a method for evaluating at a first endpoint (1) an available bitrate (BR) over a path (P1) among one of at least two paths (P1, P2) linking the first endpoint (1) and a second endpoint (2), said path being called an evaluation path, said first endpoint (1) being configured for sending data packets to said second endpoint (2), said second endpoint (2) being configured for sending at each data packet reception an acknowledgment message to said first endpoint (1) through one of the at least two path (P1, P2) selected at each data packet reception. According to the invention, it involves a step of: sending to the second endpoint (2) via the evaluation path (P1) successively a first marker (HB1), at least one data packet and a second marker (HB2); receiving a first acknowledgment (HBAck1) sent by the second endpoint (2) via the evaluation path (P1) when the second endpoint (2) received the first marker (HB1); measuring a first arrival time (t1) of the first acknowledgment (HBAck1 ) at the first endpoint (1); receiving a second acknowledgment (HBAck2) sent by said second endpoint (2) via said evaluation path (P1) when said second endpoint (2) received the second marker (HB2); measuring a second arrival time (t2) of the second acknowledgment (HBAck2) at the first endpoint (1); evaluating the available bitrate (BR) from an interval between the second arrival time (t2) and the first arrival time (t1) and from an aggregated size of the at least one data packet sent by said first endpoint (1) to the second endpoint (2) via the evaluation path (P1) for which an acknowledgement message is received by the first endpoint (1) between said first arrival time (t1) and said second arrival time (t2).

Inventors:
GOUACHE STEPHANE (FR)
BSILA AMINE (FR)
BICHOT GUILLAUME (FR)
Application Number:
PCT/EP2011/055592
Publication Date:
October 20, 2011
Filing Date:
April 11, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THOMSON LICENSING (FR)
GOUACHE STEPHANE (FR)
BSILA AMINE (FR)
BICHOT GUILLAUME (FR)
International Classes:
H04L12/26; H04L12/56
Foreign References:
US20050232227A12005-10-20
US7583677B12009-09-01
Other References:
HO, YU-KUN; CHENG, QIAO-HUNG: "An Adaptive SCTP Congestion Control Scheme Based on Receiver Available Bandwidth Estimation", 7 August 2008 (2008-08-07), pages 1 - 12, XP002588379, Retrieved from the Internet [retrieved on 20100623]
Attorney, Agent or Firm:
RUELLAN-LEMONNIER, Brigitte (1-5 rue Jeanne d'Arc, Issy Les Moulineaux Cedex, FR)
Download PDF:
Claims:
Claims

1 . Method for evaluating at a first endpoint (1 ) an available bitrate (BR) over a path (P1 ) among one of at least two paths (P1 , P2) linking the first endpoint (1 ) and a second endpoint (2), said path being called an evaluation path, said first endpoint (1 ) being configured for sending data packets to said second endpoint (2), said second endpoint (2) being configured for sending at each data packet reception an acknowledgment message to said first endpoint (1 ) through one of the at least two path (P1 , P2) selected at each data packet reception, characterized in that it involves, at said first endpoint (1 ), steps of:

- sending to said second endpoint (2) via said evaluation path (P1 ) successively a first marker (HB1 ), at least one data packet and a second marker (HB2);

- receiving a first acknowledgment (HBAckl ) sent by said second endpoint (2) via said evaluation path (P1 ) when said second endpoint (2) received the first marker (HB1 );

- measuring a first arrival time (t1 ) of the first acknowledgment (HBAckl ) at the first endpoint (1 );

- receiving a second acknowledgment (HBAck2) sent by said second endpoint (2) via said evaluation path (P1 ) when said second endpoint (2) received the second marker (HB2);

- measuring a second arrival time (t2) of the second acknowledgment (HBAck2) at the first endpoint (1 );

- evaluating the available bitrate (BR) from an interval between the second arrival time (t2) and the first arrival time (t1 ) and from an aggregated size of the at least one data packet sent by said first endpoint (1 ) to said second endpoint (2) via said evaluation path (P1 ) for which an acknowledgement message is received by said first endpoint (1 ) between said first arrival time (t1 ) and said second arrival time (t2).

2. Method according to claim 1 , wherein when said first endpoint (1 ) sent a data packet to the second endpoint (2) through the evaluation path (P1 ), said first endpoint (1 ) receives from said second endpoint (2) an acknowledgement message sent by said second endpoint (2) through said evaluation path (P1 ).

3. Method according to one of the claims 1 to 2, wherein a transport protocol is used for transporting data from the first endpoint (1 ) to the second endpoint (2) over said first and second path (P1 , P2).

4. Method according to claim 3, wherein the transport protocol is SCTP. 5. Method according to claim 4, wherein said first and second marker

(HB1 , HB2) is a Heartbeat request and first and second acknowledgment (HBAckl , HBAck2) is a Heartbeat acknowledgment.

6. Method for evaluating at a first endpoint (1 ) an available bitrate (BR) over a path (P1 ) among one of at least two paths (P1 , P2) linking the first endpoint (1 ) and a second endpoint (2), said path being called an evaluation path, said first endpoint (1 ) being configured for sending data packets to said second endpoint (2), said second endpoint (2) being configured for sending at each data packet reception an acknowledgment message to said first endpoint (1 ) through one of the at least two path (P1 , P2) selected at each data packet reception, characterized in that it involves, at said second endpoint (2), steps of:

- detecting a reception by said second endpoint (2) of a marker (HB1 , HB2) among received data packets;

- analysing via which path (P1 , P2) said detected marker (HB1 , HB2) is received by said second endpoint (2);

- sending an acknowledgment message (HBAckl ) via said analysed path (P1 , P2) to said first endpoint (1 );

- sending an acknowledgment message to said first endpoint (1 ) via one of said at least two paths (P1 , P2) when said second endpoint (2) receives a data packet sent by said first endpoint (1 ).

7. Device for evaluating an available bitrate (BR) over a path (P1 ) among one of at least two paths (P1 , P2) linking a first endpoint (1 ) and a second endpoint (2), said path being called an evaluation path, said first endpoint (1 ) being configured for sending data packets to said second endpoint (2), said second endpoint (2) being configured for sending at each data packet reception an acknowledgment message to said first endpoint (1 ) through one of the at least two path (P1 , P2) selected at each data packet reception,

characterized in that it comprises: - Means for activating successively a sending of a first marker (HB1 ), a sending of at least one data packet and a sending of a second marker (HB2) from said first endpoint (1 ) to said second endpoint (2) via said evaluation path (P1 );

- Means for determining a first arrival time (t1 ) at the first endpoint (1 ) of a first acknowledgment message (HBAckl ) sent by the second endpoint (2) when it received said first marker (HB1 );

- Means for determining a second arrival time (t2) at the first endpoint (1 ) of a second acknowledgment message (HBAck2) sent by the second endpoint (2) when it received said second marker (HB2);

- Means for evaluating the available bitrate (BR) from an interval between the second arrival time (t2) and the first arrival time (t1 ) and from an aggregated size of the at least one data packet sent by said first endpoint (1 ) to said second endpoint (2) via said first path (P1 ) for which an acknowledgement message is received by said first endpoint (1 ) between said first arrival time (t1 ) and said second arrival time (t2).

8. Device according to the claim 6, wherein said first endpoint (1 ) uses SCTP for sending said at least one data packet and said first and second marker (HB1 , HB2) to said second endpoint (2).

9. Device according to the claims 6 or 7, wherein said first and said second marker (HB1 , HB2) is a Heartbeat request and the first and second acknowledgment (HBAckl , HBAck2) is a Heartbeat acknowledgment.

10. Device according to the claims 6 or 7, wherein it is located in said first endpoint (1 ).

1 1 . Device for evaluating an available bitrate (BR) over a path (P1 ) among one of at least two paths (P1 , P2) linking a first endpoint (1 ) and a second endpoint (2), said path being called an evaluation path, said first endpoint (1 ) being configured for sending data packets to said second endpoint (2), said second endpoint (2) being configured for sending at each data packet reception an acknowledgment message to said first endpoint (1 ) through one of the at least two path (P1 , P2) selected at each data packet reception,

characterized in that it comprises:

- Means for detecting a reception by said second endpoint (2) of a marker (HB1 , HB2) among received data packets; - Means for analysing via which path (P1 , P2) said detected marker (HB1 , HB2) is received by said second endpoint (2);

- Means for sending an acknowledgment message (HBAckl ) via said analysed path (P1 , P2) to said first endpoint (1 );

- Means for sending an acknowledgment message to said first endpoint (1 ) via one of said at least two paths (P1 , P2) when said second endpoint (2) receives a data packet sent by said first endpoint (1 ).

12. Device according to the claim 1 1 , wherein it is located in said second endpoint (2).

Description:
METHOD FOR EVALUATING AN AVAILABLE PATH BITRATE BASED ON A

COUPLE OF MARKERS INSERTED IN A SIGNAL SENT OVER SAID PATH

Field Of The Invention

The invention relates to the field of multi-path communication. More particularly the invention deals with a method for evaluating an available path bitrate based on a couple of markers inserted in a signal sent over said path.

Background Of The Invention

Multi-path communication inherits from the multi-homing capability that is about supporting several IP addresses (IP is an acronym for "Internet Protocol") to reach a given network endpoint. Problems and issues to address in multi-path technology are well known. For example, when using multiple paths to transmit information packets from a first endpoint to a second endpoint, the first endpoint must use a packet distribution strategy for balancing the data packets among the available paths linking the first and second paths. The aim of such a strategy is to select paths depending on the application (type of data) running in such endpoints and on the paths characteristic/status. The latter must be consistent with the real network state and is therefore maintained up to date through continuous measurements

Depending on the application and at least for video delivery, the following parameters are commonly used to characterize a path: bandwidth, jitter, delay. These parameters can be measured through an end-to-end measurement method, this may not be trivial as the measurement process must not perturbate the data transfer. Hereinafter, the bandwidth which is a parameter describing the ability of a path to deliver an amount of data during a time duration is the main interest and later the expression "bitrate" will be preferably used rather than the expression "bandwidth" which are considered as equivalent.

For measuring such parameters an end-to-end transport protocol like for example Stream Control Transmission Protocol (SCTP) or TCP may measure the available bitrate from a Round-trip-time (RTT) measurement, which is considered as being equal to a difference between the time of sending of a data packet by the first endpoint to the second endpoint and the arrival time of an acknowledgment packet sent by the second endpoint to the first endpoint, said acknowledgment being sent by the second endpoint immediately after it receives said data packet.

However one showed that the strategies for sending acknowledgment of data packets can affect the overall transmission as, for example in SCTP, where sending the acknowledgement of data packet through the fastest available path speeds up the overall transmission. If such a strategy is used, one cannot guaranty the acknowledgment comes back through the same path than the data itself. Then, using the acknowledgment of data for evaluating the Round-trip-time wouldn't be pertinent.

The problem is then how to measure the available bitrate on a path without generating a high overload and independently of the acknowledgment of data used for managing the data delivery.

One of the goals of the present invention is to solve that problem.

Summary Of The Invention The technical problem that present invention intends to solve is to measure an available bitrate over a path by measuring a time duration between arrival times at the first endpoint of a first and a second acknowledgement sent by the second endpoint. The first and second acknowledgments are sent by the second endpoint, in response respectively to the reception by said second endpoint of a first and second marker inserted in transmitted data. The first marker and the second marker are separated by a known amount of data and are sent by the first endpoint.

Thus, the present invention concerns, according to a first aspect, a method for evaluating at a first endpoint 1 an available bitrate BR over a path P1 among one of at least two paths P1 , P2 linking the first endpoint 1 and a second endpoint 2, said path being called an evaluation path, said first endpoint 1 being configured for sending data packets to said second endpoint 2, said second endpoint 2 being configured for sending at each data packet reception an acknowledgment message to said first endpoint 1 through one of the at least two path P1 , P2 selected at each data packet reception.

According to said invention, it involves, at said first endpoint 1 , steps of:

- sending to said second endpoint 2 via said evaluation path P1 successively a first marker HB1 , at least one data packet and a second marker HB2;

- receiving a first acknowledgment HBAckl sent by said second endpoint 2 via said evaluation path P1 when said second endpoint 2 received the first marker HB1 ; - measuring a first arrival time t1 of the first acknowledgment HBAckl at the first endpoint 1 ;

- receiving a second acknowledgment HBAck2 sent by said second endpoint 2 via said evaluation path P1 when said second endpoint 2 received the second marker HB2;

- measuring a second arrival time t2 of the second acknowledgment HBAck2 at the first endpoint 1 ;

- evaluating the available bitrate BR from an interval between the second arrival time t2 and the first arrival time t1 and from an aggregated size of the at least one data packet sent by said first endpoint 1 to said second endpoint 2 via said evaluation path P1 for which an acknowledgement message is received by said first endpoint 1 between said first arrival time t1 and said second arrival time t2.

According to a second aspect, an embodiment of the invention concerns a method for evaluating an available bitrate BR over a path P1 among one of at least two paths P1 , P2 linking a first endpoint 1 and a second endpoint 2, said path being called an evaluation path, said first endpoint 1 being configured for sending data packets to said second endpoint 2, said second endpoint 2 being configured for sending at each data packet reception an acknowledgment message to said first endpoint 1 through one of the at least two path P1 , P2 selected at each data packet reception.

According to said embodiment, it involves, at said second endpoint 2, steps of:

- detecting a reception by said second endpoint 2 of a marker HB1 , HB2 among received data packets;

- analysing via which path P1 , P2 said detected marker HB1 , HB2 is received by said second endpoint 2;

- sending an acknowledgment message HBAckl via said analysed path P1 , P2 to said first endpoint 1 ;

- sending an acknowledgment message to said first endpoint 1 via one of said at least two paths P1 , P2 when said second endpoint 2 receives a data packet sent by said first endpoint 1 .

According to a third aspect, the invention concerns a device for evaluating an available bitrate BR over a path P1 among one of at least two paths P1 , P2 linking a first endpoint 1 and a second endpoint 2, said path being called an evaluation path, said first endpoint 1 being configured for sending data packets to said second endpoint 2, said second endpoint 2 being configured for sending at each data packet reception an acknowledgment message to said first endpoint 1 through one of the at least two path P1 , P2 selected at each data packet reception. According to said embodiment, it comprises:

- Means for activating successively a sending of a first marker HB1 , a sending of at least one data packet and a sending of a second marker HB2 from said first endpoint 1 to said second endpoint 2 via said evaluation path P1 ;

- Means for determining a first arrival time t1 at the first endpoint 1 of a first acknowledgment message HBAckl sent by the second endpoint 2 when it received said first marker HB1 ;

- Means for determining a second arrival time t2 at the first endpoint 1 of a second acknowledgment message HBAck2 sent by the second endpoint 2 when it received said second marker HB2;

- Means for evaluating the available bitrate BR from an interval between the second arrival time t2 and the first arrival time t1 and from an aggregated size of the at least one data packet sent by said first endpoint 1 to said second endpoint 2 via said first path P1 for which an acknowledgement message is received by said first endpoint 1 between said first arrival time t1 and said second arrival time t2. According to a fourth aspect, an embodiment of the invention a device for evaluating an available bitrate BR over a path P1 among one of at least two paths P1 , P2 linking a first endpoint 1 and a second endpoint 2, said path being called an evaluation path, said first endpoint 1 being configured for sending data packets to said second endpoint 2, said second endpoint 2 being configured for sending at each data packet reception an acknowledgment message to said first endpoint 1 through one of the at least two path P1 , P2 selected at each data packet reception.

According to said embodiment, it comprises:

- Means for detecting a reception by said second endpoint 2 of a marker HB1 , HB2 among received data packets;

- Means for analysing via which path P1 , P2 said detected marker HB1 , HB2 is received by said second endpoint 2;

- Means for sending an acknowledgment message HBAckl via said analysed path P1 , P2 to said first endpoint 1 ; - Means for sending an acknowledgment message to said first endpoint 1 via one of said at least two paths P1 , P2 when second endpoint 2 receives a data packet sent by said first endpoint 1. According to an embodiment, when said first endpoint 1 sent a data packet to the second endpoint 2 through the evaluation path P1 , said first endpoint 1 receives from said second endpoint 2 an acknowledgement message sent by said second endpoint 2 through said evaluation path P1 .

According to an embodiment, a transport protocol is used for transporting data from the first endpoint 1 to the second endpoint 2 over said first and second path P1 , P2.

According to an embodiment, the multi-path protocol is SCTP.

According to an embodiment, said first and second marker HB1 , HB2 is a Heartbeat request and first and second acknowledgment HBAckl , HBAck2 is a Heartbeat acknowledgment.

According to an embodiment, said first endpoint 1 uses SCTP for sending data to said second endpoint 2.

A first advantage of the embodiment is that it allows making available at sending side a measure of the available path bitrate from dedicated markers inserted in data to transmit. These marker insertions generate a very low extra load. This is particularly advantageous when the evaluations available bitrate are realized at high frequency.

A second advantage of the embodiment resides in its easy implementation when the transmission protocol used for delivering data on said path comprises acknowledgment mechanisms. The embodiment consists in using existing mechanism for a not foreseen usage.

A third advantage of the embodiment is that it relies on a simple mechanism of acknowledgment which is decoupled from the acknowledgment mechanisms carried out for data transfer. This latter then can be used independently for improving the overall transmission.

Brief Description Of The Drawings The invention will be better understood and illustrated by means of the following embodiments and execution examples, in no way limitative, with reference to the appended figures on which:

Figure 1 , represents a first and a second endpoint linked by paths P1 , P2, P3; Figure 2a, represents on a time graph the instants of sending of first and second markers by a first endpoint;

Figure 2b, represents on a time graph the instants of reception of first and second markers by the second endpoint;

Figure 2c, represents on a time graph the instants of sending of first and second acknowledgments by a first endpoint;

Figure 2d, represents on a time graph the instants of reception of first and second acknowledgments by the first endpoint.

Detailed Description Of Preferred Embodiments

It is to be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for purposes of clarity, many other elements found in typical digital multimedia content delivery methods and systems. However, because such elements are well known in the art, a detailed discussion of such elements is not provided herein. The disclosure herein is directed to all such variations and modifications known to those skilled in the art.

Figure 1 shows a first endpoint 1 and a second endpoint 2 linked by three paths P1 , P2, P3. Advantageously, a multi-path protocol is used for connecting the first endpoint 1 to the second endpoint 2 over the path P1 , P2, P3.

One wishes to measure the current bitrate on a specific path P1 , also called evaluation path, in a situation where said evaluation path P1 is currently used for sending data from first endpoint 1 to second endpoint 2.

Let's consider an amount of data D to be sent over the path P1 for example under the form of packets. The first endpoint 1 sends a first marker HB1 , immediately followed by data packets (also named "chunks") carrying the data D. The last data D packet is immediately followed by a second marker noted HB2. The first and second marker and data D are sent over the single path P1 . In other words, the data D packets are surrounded by the first marker HB1 and the second marker HB2. Advantageously, the first and second markers HB1 , HB2 are inserted respectively at the beginning ant at the end of the data D to be sent. This insertion is carried out chronologically before the data emission time.

A representation of information successively sent over the path P1 is shown on the top of figure 1 where dark boxes show respectively first and second marker HB1 , HB2 as particular chunks separated by a known number N of data bytes being split into data chunks (shown as white boxes").

The first endpoint 1 computes the number N of bytes of data sent in between the first marker HB1 and second marker HB2 by analyzing the whole data D transferred from the first endpoint 1 to the second endpoint 2. The number N of bytes of data is a sum of a number of bytes NB of data to be transmit and of a number of bytes NO of overhead. NB is a number of bytes of data D located in the data chunks. NO is a number NO of bytes of overhead. N = NB+NO The figure 2a shows in a temporal graph the instant of sending of the first and second marker HB1 , HB2 from the first endpoint 1 with up-arrows.

The first and second marker HB1 , HB2 reaches successively the second endpoint 2 as represented in figure 2b with down-arrows

Upon reception of the first marker HB1 , the endpoint 2 sends in response to the first marker reception a first acknowledgement HBAckl , through the path P1 , independently from the acknowledgements for the data.

Advantageously, the second endpoint 2 sends the acknowledgment via the path P1 via which it receives the marker due to a specific requirement comprised in a transport protocol used for transmitting data from the first endpoint 1 to the second endpoint 2.

Similarly, when the second endpoint 2 gets the second marker HB2, it sends immediately, in return, a second acknowledgement HBAck2 though the same path P1 as well.

Advantageously, the second endpoint 2 sends an acknowledgment when it receives a marker; the second endpoint 2 determines the path by which it sends said acknowledgment by analyzing information comprised in the marker.

The figure 2c shows in a temporal graph the instant of sending of the first and second acknowledgement HBAckl , HBAck2 from the second endpoint 2, with up- arrows. Ideally, the acknowledgments are sent by the second endpoint 2 immediately after the reception of the marker. Herein, "immediately" means that any possibly occurring delay is, in essence, depending on software-related and/or hardware-related processing.

The first and second acknowledgement HBAckl , HBAck2 reaches successively the first endpoint 1 as represented in figure 2d with down-arrows.

The first endpoint 1 receiving the first acknowledgment HBAckl determines its arrival time t1. The first endpoint 1 receiving second acknowledgment HBAck2 determines its arrival time t2. The first endpoint 1 evaluates the available bitrate BR from an interval between the second arrival time t2 and the first arrival time t1 and from the amount of data N.

For example, the first endpoint 1 can then compute the current available bitrate BR on path P1 expressed in number of bit per second, when t1 and t2 are expressed in second, using the following formula:

BR = 8NB/(t2-t1 )

The measurement can be performed for example once every 2 seconds to avoid overloading the network with measurement messages. The data D is acknowledged independently (e.g. using delayed acknowledgments) from the markers/acknowledgments.

In case the used multi-path protocol is SCTP, one knows from the paragraphs 3.3.5 and 3.3.6 of the technical document "RFC 4960 - Stream Control Transmission Protocol" which can be found on the internet at the following address "http://tools.ietf.org/html/rfc4960" and from the paragraph 5.3 of the technical document "RFC 5061 - SCTP Dynamic Address reconfiguration" which can be found also on the internet at the following address "http://toolsjetf.org/search/rfc5061 " that a mechanism of acknowledgment is comprised in SCTP for reachability checking and for path verification purposes.

According to this mechanism a marker called "Heartbeat chunk" or "Heartbeat request" is inserted in data and sent by a first endpoint 1 to the second endpoint 2 for probing the reachability of a particular destination transport. The second endpoint sends in response a Heartbeat acknowledgment.

In case SCTP is used as multi-path protocol, the first endpoint 1 overrides the normal Heartbeat chunk sending behavior that would normally prevent sending Heartbeat control chunks as the path is already known to be usable. In other words, this means that the SCTP protocol stack is modified on the sender side in a way that a Heartbeat request is used as a marker and a Heartbeat acknowledgment is used as an acknowledgment.

When the Heartbeat Acknowledgement used as an acknowledgment HBAckl , HBAck2 is received by the first endpoint 1 , it determines its precise arrival time t1 , t2 which is a standard SCTP behavior.

This bitrate measurement can be used as an input for any scheduling algorithm such as, for example, Westwood-SCTP.

Then the invention can be implemented with any multi-path protocol in eventually adapting the sending behavior of any control message for allowing a bitrate measuring on a given path.

Reference herein to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one implementation of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments.