IP Library Granted Patent US 7,443,801
Granted Patent B2
US 7,443,801 · App. 10/975,641 · Granted Oct 28, 2008

Remote estimation of round-trip delays in a data network

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,443,801
App. No.
10/975,641
Granted
Oct 28, 2008
Kind
B2
Abstract

Disclosed is a technique for data network congestion diagnosis using remote estimation of round-trip delays. A monitoring node transmits test messages between network nodes and measures the transit times between when the test messages are transmitted from, and when they return to, the monitoring node. A path delay between network nodes is determined based on the measured time delays. The techniques for determining network path delay are also utilized in conjunction with a three phase test procedure for diagnosing network congestion problems. Due to various network topologies and routing tables, certain confirmatory checks may be required to determine whether the procedures of the first or second phase test procedures are appropriate for particular path segments. Further, queuing delays may be determined by subtracting traffic independent delays from the measured transit times of the test messages, and such queuing delays may be used to determine the path delays. Such traffic independent delays may be determined during periods of low network traffic.

Claims (28)

1. A method for diagnosing network congestion between a source node and a destination node comprising the steps of:

identifying a first set of nodes between the source and destination nodes that are shared by both a forward path from the source node to the destination node and a reverse path from the destination node to the source node;

calculating path delays between nodes in said first set of nodes to identify a reduced set of possible suspect path segments;

identifying a second set of nodes within said reduced set of possible suspect path segments that are not shared by both the forward path from the source node to the destination node and the reverse path from the destination node to the source node;

calculating path delays between nodes in said second set of nodes to identify a further reduced set of possible suspect path segments; and

calculating link delays of links remaining in said further reduced set of possible suspect path segments.

2. The method of claim 1 wherein said step of calculating path delays between nodes in said first set of nodes to identify a reduced set of possible suspect path segments further comprises the step of excluding a particular path segment from said possible suspect path segments if a calculated path delay associated with said particular path segment is relatively small.

3. The method of claim 1 wherein said step of calculating path delays between nodes in said first set of nodes to identify a reduced set of possible suspect path segments further comprises the step of excluding a path segment from said possible suspect path segments if a calculated path delay associated with a complement path segment is sufficiently large.

4. The method of claim 1 wherein said step of calculating path delays between nodes in said second set of nodes to identify a further reduced set of possible suspect path segments further comprises the step of excluding a particular path segment from said further reduced set of possible suspect path segments if a calculated path delay associated with said particular path segment is relatively small.

5. The method of claim 1 wherein said step of calculating path delays between nodes in said first set of nodes to identify a reduced set of possible suspect path segments is performed repeatedly, with each iteration reducing the set of possible suspect path segments by approximately one-half.

6. The method of claim 1 wherein said step of calculating path delays between nodes in said second set of nodes to identify a further reduced set of possible suspect path segments is performed repeatedly, with each iteration reducing the set of possible suspect path segments by approximately one-half.

7. The method of claim 1 further comprising the step of:

performing a confirmation check to determine whether a path delay calculated on a particular path segment between nodes in said first set of nodes is a path delay of a relevant path segment between said source node and destination node and if not, then excluding said particular path segment from said possible suspect path segments if said path delay is relatively small but not excluding a complementary path segment from said possible suspect path segments if said path delay is relatively large.

8. The method of claim 1 further comprising the step of:

performing a confirmation check to determine whether a path delay calculated on a particular path between nodes in said second set of nodes is a path delay of a relevant path segment between said source node and destination node and if not, then excluding from said possible suspect path segments only those portions of the particular path that are also portions of the relevant path segment between said source node and destination node.

9. The method of claim 1 wherein said steps of calculating path and link delays further comprise the steps of:

transmitting a first message from a monitoring node, said first message traversing a path to a first node, to a second node, back to said first node, and returning to said monitoring node;

measuring a first transit time from when the first message is transmitted from said monitoring node to when said first message returns to said monitoring node;

transmitting a second message from said monitoring node, said second message traversing a path to said first network node and returning to said monitoring node;

measuring a second transit time from when the second message is transmitted from said monitoring node to when said second message returns to said monitoring node; and

determining said path delay based on said first transit time and said second transit time.

10. The method of claim 9 further comprising the steps of:

determining a first queuing delay by subtracting a traffic independent delay portion of said measured first transit time from said measured first transit time;

determining a second queuing delay by subtracting a traffic independent delay portion of said measured second transit time from said measured second transit time; and

wherein said path delay is determined using said first and second queuing delays.

11. The method of claim 10 wherein said traffic independent delays include propagation delays.

12. The method of claim 10 further comprising the step of determining said traffic independent delays during periods of low network traffic.

13. The method of claim 9 wherein said first and second messages specify at least part of a network path utilizing loose source routing.

Assignments (11)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2019
From: INTELLECTUAL VENTURES ASSETS 126 LLC
To: CITRIX SYSTEMS, INC.
Reel/Frame 049242/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2019
From: NYTELL SOFTWARE LLC
To: INTELLECTUAL VENTURES ASSETS 126 LLC
Reel/Frame 049215/0454 →
MERGER Recorded Dec 31, 2015
From: TTI INVENTIONS A LLC
To: NYTELL SOFTWARE LLC
Reel/Frame 037407/0912 →