IP Library Granted Patent US 10,326,673
Granted Patent B2
US 10,326,673 · App. 15/984,826 · Granted Jun 18, 2019

Techniques for determining network topologies

Inventors: Ashutosh Kulshreshtha (Cupertino, CA); Hai Trong Vu (San Jose, CA); Michael Standish Watts (Mill Valley, CA); Jackson Ngoc Ki Pang (Sunnyvale, CA); Navindra Yadav (Cupertino, CA); Khawar Deen (Sunnyvale, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L43/045G06F3/0482G06F3/04842G06F3/04847G06F9/45558G06F16/122G06F16/137G06F16/162G06F16/17G06F16/173G06F16/248G06F16/24578G06F16/285G06F16/288G06F16/29G06F16/9535G06F21/53G06F21/552G06F21/566G06N20/00G06N99/00G06T11/206H04J3/0661H04J3/14H04L1/242H04L9/0866H04L9/3239H04L9/3242H04L41/046H04L41/0668H04L41/0803H04L41/0806H04L41/0816H04L41/0893H04L41/12H04L41/16H04L41/22H04L43/02H04L43/04H04L43/062H04L43/08H04L43/0805H04L43/0811H04L43/0829H04L43/0841H04L43/0858H04L43/0864H04L43/0876H04L43/0882H04L43/0888H04L43/10H04L43/106H04L43/12H04L43/16H04L45/306H04L45/38H04L45/46H04L45/507H04L45/66H04L45/74H04L47/11H04L47/20H04L47/2441H04L47/2483H04L47/28H04L47/31H04L47/32H04L61/2007H04L63/0227H04L63/0263H04L63/06H04L63/0876H04L63/145H04L63/1408H04L63/1416H04L63/1425H04L63/1433H04L63/1441H04L63/1458H04L63/1466H04L63/16H04L63/20H04L67/10H04L67/1002H04L67/12H04L67/16H04L67/36H04L67/42H04L69/16H04L69/22H04W72/08H04W84/18G06F2009/4557G06F2009/45587G06F2009/45591G06F2009/45595G06F2221/033G06F2221/2101G06F2221/2105G06F2221/2111G06F2221/2115G06F2221/2145H04L67/22
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 10,326,673
App. No.
15/984,826
Granted
Jun 18, 2019
Kind
B2
Abstract

In one embodiment, a monitoring device (or module) monitors messages exchanged between nodes in a communication network. The monitoring device further determines, based on time stamp data associated with each message, one or more latency distributions of paired response times between the nodes, and determines a node topology consistent with each of the one or more latency distributions of paired response times between the nodes. In some embodiments, the monitoring device also generates a graph of the node topology showing one or more communication links between the nodes, and annotates each communication link of the one or more communication links with at least one of a mean response time or a median response time based on at least one of the latency distributions.

Claims (50)

1. A method, comprising:

first determining a first latency distribution corresponding to response times for messages exchanged between a first node and a second node;

second determining a second latency distribution corresponding to response times for messages exchanged between the first node and a third node;

third determining a third latency distribution corresponding to response times for messages exchanged between the second node and the third node;

fourth determining a node topology consistent with the first latency distribution, the second latency distribution, and the third latency distribution; and

generating a graph of the node topology showing at least communication links between the first node, the second node, and the third node.

2. The method of claim 1 , wherein the fourth determining the node topology further comprises comparing an aggregated latency distribution of the first latency distribution and the second latency distribution to the third latency distribution to determine a position in the node topology for each of the first node, the second node, and the third node.

3. The method of claim 2 , further comprising fifth determining the second node is disposed between the first node and the third node in the node topology in response to an aggregated latency distribution substantially matching the third latency distribution.

4. The method of claim 1 , further comprising monitoring, by a monitoring device, messages exchanged between the first node, the second node, and the third node, wherein the monitoring device includes a plurality of distributed monitoring modules operable by one or more of the first node, the second node, and the third node.

5. The method of claim 1 , wherein the first latency distribution represents a first paired response time distribution for messages exchanged between the first node and the second node, the second latency distribution represents a second paired response time distribution for messages exchanged between the first node and the third node, and the third latency distribution represents a third paired response time distribution for messages exchanged between the second node and the third node.

6. The method of claim 3 , further comprising:

sixth determining an average response time and/or a median response time for each latency distribution, including the first latency distribution, the second latency distribution, and the third latency distribution, and

wherein, the fourth determining the node topology further comprises determining the node topology consistent with the average response time and/or the median response time for each latency distribution.

7. The method of claim 1 , wherein the fourth determining the node topology further comprises:

identifying one or more outlier response times in each latency distribution, including the first latency distribution, the second latency distribution, and the third latency distribution;

removing the one or more outlier response times from each latency distribution; and

generating a median response time and/or a mean response time for each latency distribution after removing the one or more outlier response times.

8. A monitoring device, comprising:

one or more network interfaces to communicate within a communication network;

a processor coupled to the network interfaces; and

a memory configured to store instructions executable by the processor, the instructions when executed being operable to perform operations comprising:

first determining a first latency distribution corresponding to response times for messages exchanged between a first node and a second node;

second determining a second latency distribution corresponding to response times for messages exchanged between the first node and a third node;

third determining a third latency distribution corresponding to response times for messages exchanged between the second node and the third node;

fourth determining a node topology consistent with the first latency distribution, the second latency distribution, and the third latency distribution; and

generating a graph of the node topology showing at least communication links between the first node, the second node, and the third node.

9. The monitoring device of claim 8 , wherein the fourth determining the node topology further comprises comparing an aggregated latency distribution of the first latency distribution and the second latency distribution to the third latency distribution to determine a position in the node topology for each of the first node, the second node, and the third node.

10. The monitoring device of claim 9 , the operations further comprising fifth determining the second node is disposed between the first node and the third node in the node topology in response to an aggregated latency distribution substantially matching the third latency distribution.

11. The monitoring device of claim 8 , further comprising a plurality of distributed monitoring modules operable by one or more of the first node, the second node, and the third node.

12. The monitoring device of claim 8 , wherein the first latency distribution represents a first paired response time distribution for messages exchanged between the first node and the second node, the second latency distribution represents a second paired response time distribution for messages exchanged between the first node and the third node, and the third latency distribution represents a third paired response time distribution for messages exchanged between the second node and the third node.

13. The monitoring device of claim 10 , the operations further comprising:

sixth determining an average response time and/or a median response time for each latency distribution, including the first latency distribution, the second latency distribution, and the third latency distribution, and

wherein, the fourth determining the node topology further comprises determining the node topology consistent with the average response time and/or the median response time for each latency distribution.

14. The monitoring device of claim 8 , wherein the fourth determining the node topology further comprises:

identifying one or more outlier response times in each latency distribution, including the first latency distribution, the second latency distribution, and the third latency distribution;

removing the one or more outlier response times from each latency distribution; and

generating a median response time and/or a mean response time for each latency distribution after removing the one or more outlier response times.

15. A tangible, non-transitory, computer-readable media having software encoded thereon, the software, when executed by a processor, operable to perform operations comprising:

first determining a first latency distribution corresponding to response times for messages exchanged between a first node and a second node;

second determining a second latency distribution corresponding to response times for messages exchanged between the first node and a third node;

third determining a third latency distribution corresponding to response times for messages exchanged between the second node and the third node;

fourth determining a node topology consistent with the first latency distribution, the second latency distribution, and the third latency distribution; and

generating a graph of the node topology showing at least communication links between the first node, the second node, and the third node.

16. The media of claim 15 , wherein the fourth determining the node topology further comprises comparing an aggregated latency distribution of the first latency distribution and the second latency distribution to the third latency distribution to determine a position in the node topology for each of the first node, the second node, and the third node.

17. The media of claim 15 , further comprising fifth determining the second node is disposed between the first node and the third node in the node topology in response to an aggregated latency distribution substantially matches the third latency distribution.

18. The media of claim 15 , further comprising monitoring, by a monitoring device, messages exchanged between the first node, the second node, and the third node, wherein the monitoring device includes a plurality of distributed monitoring modules operable by one or more of the first node, the second node, and the third node.

19. The media of claim 15 , wherein the first latency distribution represents a first paired response time distribution for messages exchanged between the first node and the second node, the second latency distribution represents a second paired response time distribution for messages exchanged between the first node and the third node, and the third latency distribution represents a third paired response time distribution for messages exchanged between the second node and the third node.

20. The media of claim 15 , further comprising:

sixth determining an average response time and/or a median response time for each latency distribution, including the first latency distribution, the second latency distribution, and the third latency distribution, and

wherein, the fourth determining the node topology further comprises determining the node topology consistent with the average response time and/or the median response time for each latency distribution.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2018
From: KULSHRESHTHA, ASHUTOSH; YADAV, NAVINDRA; VU, HAI TRONG; WATTS, MICHAEL STANDISH; PANG, JACKSON NGOC KI; DEEN, KHAWAR
To: CISCO TECHNOLOGY, INC.
Reel/Frame 045860/0746 →
Continuity (3)
Continuation 15135331 · Apr 21, 2016
Provisional Application 62171899 · Jun 5, 2015
Related Publication 20180270129A1 · Sep 20, 2018
Cited By (6)
US 12,401,580 US 12,634,202 US 12,647,324 US 12,663,974 US 12,681,775 US 12,710,987