IP Library Granted Patent US 7,729,268
Granted Patent B2
US 7,729,268 · App. 10/797,404 · Granted Jun 1, 2010

Method and apparatus for quality of service determination

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,729,268
App. No.
10/797,404
Granted
Jun 1, 2010
Kind
B2
Abstract

A method of estimating bandwidth capacity, available bandwidth and utilization along a path in an IP network is disclosed. ICMP time-stamp requests are sent from a source host on the edge or inside the network to all routers on the end-to-end path to a desired destination. Differences between time-stamp values are used as indicators of QoS service at each router. The collected measurements are then processed at the sending host to infer QoS parameters in terms of path capacity in bit/sec, available bandwidth in bits/sec, individual link utilization and congestion at each router. These parameters can be combined to infer the QoS service in terms of bandwidth on the end-to-end path.

Claims (59)

1. A method of estimating end-to-end path capacity in a network, comprising:

probing an end-to-end path to identity addresses of all hops on the end-to-end path;

generating and transmitting, by a terminal node on the end-to-end path, a first time-stamp request packet to a first hop and subsequent two time-stamp request packets to a second hop, wherein the first time-stamp request packet and the subsequent two time-stamp request packets are three consecutive request packets, and the first hop and the second hop are two consecutive hops on the end-to-end path; receiving an initial time stamp from the first hop and two subsequent time stamps from the second hop in response to the three consecutive request packets;

generating and transmitting, by the terminal node, a first packet of a pair of consecutive time-stamp request packets to the first hop and a second packet of the pair to the second hop; and

receiving and processing at least one time-stamp generated by the two consecutive hops to produce at least one QoS estimate of a link that couples the two consecutive hops on the end-to-end path.

2. The method of claim 1 , wherein probing on the end-to-end path comprises using a Traceroute application to identify hops on the end-to-end path.

3. The method of claim 1 , wherein probing the end-to-end path occurs from one selected from a group consisting of a source node, a destination node, and both a source node and a destination node.

4. The method of claim 1 , wherein processing the time-stamp is performed at one selected from a group consisting of a source node, a destination node, and both a source and destination node.

5. The method of claim 1 , wherein the time-stamp request packets are ICMP requests.

6. The method of claim 1 , wherein the number of generated and processed time-stamp request packets is at least five.

7. The method of claim 1 , further comprising generating pairs of time-stamp request packets more often to specific hops on the end-to-end path.

8. The method of claim 7 , wherein hops subject to more frequent probing are determined based on at least one of:

a variation pattern of utilization;

a queuing delay, a queue size, a processing delay, an available bandwidth, and a congestion status.

9. The method of claim 1 , further comprising generating time-stamp requests less often to specific hops on the end-to-end path.

10. The method of claim 9 , wherein hops subject to less frequent probing are determined based on at least one of:

a variation pattern of utilization;

a queuing delay, a queue size, a processing delay, an available bandwidth, a congestion status.

11. The method of claim 1 , further comprising introducing certain latency between consecutive time-stamp request packet transmissions.

12. The method of claim 1 , further comprising increasing a time-stamp request packet size by adding dummy data to one or more of the time-stamp request packets to increase sensitivity in the case of a fast link.

13. The method of claim 5 , further comprising increasing a ICMP request size by adding dummy data in an IP payload field of an ICMP request to increase sensitivity in the case of a fast link.

14. The method of claim 1 , wherein the QoS estimate comprises a link and path capacity.

15. The method of claim 1 , wherein the QoS estimate comprises an estimate of queuing delay at one of the two consecutive hops.

16. The method of claim 1 , wherein the QoS estimate comprises an estimate of link and path utilization.

17. The method of claim 1 , wherein the QoS estimate comprises an estimate of link and path available bandwidth.

18. The method of claim 1 , wherein the QoS estimate comprises an estimate of interfering flows at one of the two consecutive hops.

19. The method of claim 1 , further comprising restarting probing of the end-to-end path in the case of a change in routing tables.

20. An article of manufacture having one or more recordable media storing instructions thereon which, when executed by a system, cause the system to estimate end-to-end path capacity in a network by:

probing an end-to-end path to identify addresses of all hops on the end-to-end path;

generating and transmitting a first time-stamp request packet to a first hop and subsequent two time-stamp request packets to a second hop, wherein the first time-stamp request packet and the subsequent two time-stamp request packets are three consecutive request packets, and the first hop and the second hop are two consecutive hops on the end-to-end path;

receiving an initial time stamp from the first hop and two subsequent time stamps from the second hop in response to the three consecutive request packets;

generating and transmitting a first packet of a pair of time-stamp request packets to the first hop and a second packet of the pair to the second hop; and

receiving and processing at least one time-stamp generated by the two consecutive hops to produce at least one QoS estimate of a link that couples the two consecutive hops on the end-to-end path.

21. A router comprising:

a queue to store outgoing packets;

IP processing coupled to the queue to probe an end-to-end path in a network to identify addresses of all hops on the end-to-end path, generate and transmit a first time-stamp request packet to a first hop and subsequent two time-stamp request packets to a second hop, wherein the first time-stamp request packet and the subsequent two time-stamp request packets are three consecutive request packets, and the first hop and the second hop are two consecutive hops on the end-to-end path, receive an initial time stamp from the first hop and two subsequent time stamps from the second hop in response to the three consecutive request packets, generate and transmit a first packet of a pair of time-stamp request packets to the first hop and a second packet of the pair to a second hop, and receive and process at least one time-stamp generated by the two consecutive hops to produce at least one QoS estimate of a link that couples the two consecutive hops on the end-to-end path.

22. A method of estimating end-to-end path capacity in a network, comprising the steps of:

probing an end-to-end path to identify addresses of a plurality of hops on the end-to-end path;

generating and transmitting, by an origination node on the end-to-end path, a first time-stamp request packet to a first hop and subsequent two time-stamp request packets to a second hop, wherein the first time-stamp request packet and the subsequent two time-stamp request packets are three consecutive request packets, and the first hop and the second hop are two consecutive hops on the end-to-end path; receiving an initial time stamp from the first hop and two subsequent time stamps from the second hop in response to the three consecutive request packets;

generating and transmitting, by the origination node, a first packet of a pair of time-stamp request packets to the first hop and a second packet of the pair to the second hop, the pair of time-stamp request packets having an origination address of the origination node spoofed to that of another hop on the network; and

receiving and processing in at least one hop on the network at least one time-stamp to produce a QoS estimate.

23. The method of claim 22 , wherein probing the end-to-end path comprises using a Traceroute application to identify addresses of the plurality of hops.

24. The method of claim 22 , wherein the origination address is that of a source node on the end-to-end path.

25. The method of claim 22 , wherein the origination address is that of a destination node on the end-to-end path.

26. The method of claim 22 , wherein probing the end-to-end path is generated from a source node.

27. The method of claim 22 , wherein probing the end-to-end path is generated from a destination node.

28. The method of claim 22 , wherein probing the end-to-end path is generated from a source node and a destination node.

29. The method of claim 22 , wherein the QoS estimate comprises an estimate of link and path capacity.

30. The method of claim 22 , wherein the QoS estimate comprises an estimate of queuing delay at one of the two consecutive hops.

31. The method of claim 22 , wherein the QoS estimate comprises an estimate of link and path utilization.

32. The method of claim 22 , wherein the QoS estimate comprises an estimate of link and path available bandwidth.

33. The method of claim 22 , wherein the QoS estimate comprises an estimate of interfering flows at one of the two consecutive hops.

34. The method of claim 22 , further comprising refining the QoS estimate by taking into consideration a propagation delay.

35. An article of manufacture having one or more recordable media storing instructions thereon which, when executed by a system, cause the system to estimate end-to-end path capacity in a network by:

probing an end-to-end path to identify addresses of a plurality of hops on the end-to-end path;

generating and transmitting, by an origination node, a first time-stamp request packet to a first hop and subsequent two time-stamp request packets to a second hop, wherein the first time-stamp request packet and the subsequent two time-stamp request packets are three consecutive request packets, and the first hop and the second hop are two consecutive hops on the end-to-end path;

receiving an initial time stamp from the first hop and two subsequent time stamps from the second hop in response to the three consecutive request packets;

generating and transmitting, by an origination node, a first packet of a pair of time-stamp request packets to the first hop and a second packet of the pair to the second hop, the pair of time-stamp request packets having an origination address of said origination node spoofed to that of another hop on said network; and

receiving and processing in at least one hop on said network at least one time-stamp generated by the two consecutive hops to produce a QoS estimate.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2005
From: DOCOMO COMMUNICATIONS LABORATORIES USA, INC.
To: NTT DOCOMO, INC.
Reel/Frame 017236/0739 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2004
From: MATTA, JOHNNY MIKHAEL; JAIN, RAVI KUMAR
To: DOCOMO COMMUNICATIONS LABORATORIES USA, INC.
Reel/Frame 015476/0776 →