IP Library Granted Patent US 11,088,918
Granted Patent B2
US 11,088,918 · App. 16/425,541 · Granted Aug 10, 2021

Systems and methods for determining a topology of a network comprising a plurality of intermediary devices and paths

Inventor: John David Barnes (Chantilly, VA)
Assignee: Verizon Media Inc.
H04L41/12H04L43/10H04L47/286H04L45/20
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 11,088,918
App. No.
16/425,541
Granted
Aug 10, 2021
Kind
B2
Abstract

Systems and methods are disclosed for determining a topology of a network comprising a plurality of intermediary devices and intermediary paths. One method includes transmitting probes having a TTL value with a destination set to a destination device; receiving, for each probe transmitted, a response including an IP address of a responding device; determining whether more than one responding device has responded to the probes; determining whether more than one responding device has been found for two previous transmissions of probes when more than one responding device has responded to the probes; and transmitting, for each more than one responding device, probes having a decreased TTL value with a destination set to one of the IP addresses of the more than one responding devices, when more than one responding device has been found for two previous transmissions.

Claims (63)

1. A computer-implemented method for determining a topology of a network, the method comprising:

transmitting, from a source device, a first probe and a second probe to a destination device;

in response to each of the transmitted first probe and second probe, receiving, at the source device, at least a first response from at least a first intermediary device;

determining, by the source device, whether a second response has been received from a second intermediary device in response to either of the transmitted first probe or second probe;

in response to determining that a second intermediary device has responded to either of the first probe or second probe, determining, by the source device, whether either of the first intermediary device or the second intermediary device have responded to two previous transmissions of probes; and

in response to determining that either of the first intermediary device or the second intermediary device has responded to two previous transmissions of probes, storing, by the source device, a response received from each of the first intermediary device or the second intermediary device in response to either of the transmitted first probe or second probe, wherein the source device is configured to determine a network topology based on the stored responses received from the first intermediary device or the second intermediary device.

2. The method of claim 1 , wherein determining whether a second intermediary device has responded to either of the first probe or second probe includes:

comparing, by the source device, an IP address of the first intermediary device or the second intermediary device for each response received to verify that they are each not the same IP address.

3. The method of claim 1 , wherein determining whether each of the first intermediary device or the second intermediary device has responded to two previous transmissions of probes includes:

incrementing, by the source device, a multiple path flag; and

determining, by the source device, whether the multiple path flag is greater than one.

4. The method of claim 1 , further comprising:

storing, by the source device for each probe transmitted, the response received and a time-to-live (“TTL”) value of the transmitted probe.

5. The method of claim 1 , further comprising:

determining, by the source device, whether an IP address of a response is an IP address of the destination device.

6. The method of claim 1 , further comprising:

increasing, by the source device, a time-to-live (“TTL”) value of each of the first probe and the second probe when more than one responding device has not responded to each of the first probe and the second probe; and

transmitting, from the source device, at least two probes having the increased TTL value with a destination set to a destination device.

7. The method of claim 1 , further comprising:

increasing, by the source device, a time-to-live (“TTL”) value each of the first probe and the second probe in response to determining that more than one of either the first intermediary device or the second intermediary device has not responded to the two previous transmissions of probes; and

transmitting, from the source device, at least two probes having the increased TTL value with a destination set to a destination device.

8. A system determining a topology of a network comprising a plurality of intermediary devices and intermediary paths, the system including:

a data storage device that stores instructions determining a topology of a network comprising a plurality of intermediary device and intermediary paths; and

a processor configured to execute the instructions to perform a method including:

transmitting, from a source device, a first probe and a second probe to a destination device;

receiving, for each probe transmitted, at least a first response from at least a first intermediary device;

determining whether a second response has been received from a second intermediary device in response to either of the transmitted first probe or second probe;

determining that either of the first intermediary device or the second intermediary device has responded to two previous transmissions of probes; and

storing, by the source device, a response received from each of the first intermediary device or the second intermediary device in response to either of the transmitted first probe or second probe, wherein the source device is configured to determine a network topology based on the stored responses received from the first intermediary device or the second intermediary device.

9. The system of claim 8 , wherein determining whether a second intermediary device has responded to either of the first probe or second probe includes:

comparing, by the source device, an IP address of the first intermediary device and the second intermediary device for each response received to verify that they are each not the same IP address.

10. The system of claim 8 , wherein determining whether each of the first intermediary device or the second intermediary device has responded to two previous transmissions of probes includes:

incrementing, by the source device, a multiple path flag; and

determining, by the source device, whether the multiple path flag is greater than one.

11. The system of claim 8 , wherein the processor is further configured to execute the instructions to perform the method including:

storing, by the source device for each probe transmitted, the response received and a time-to-live (“TTL”) value of the transmitted probe.

12. The system of claim 8 , wherein the processor is further configured to execute the instructions to perform the method including:

determining, by the source device, whether an IP address of a response is an IP address of the destination device.

13. The system of claim 8 , wherein the processor is further configured to execute the instructions to perform the method including:

increasing, by the source device, a time-to-live (“TTL”) value of each of the first probe and the second probe when more than one responding device has not responded to each of the first probe and the second probe;

transmitting, from the source device, at least two probes having the increased TTL value with a destination set to a destination device; and

transmitting, from the source device, at least two probes having the increased TTL value with a destination set to a destination device.

14. The system of claim 8 , wherein the processor is further configured to execute the instructions to perform the method including:

increasing, by the source device, a time-to-live (“TTL”) value of each of the first probe and the second probe in response to determining that more than one of either the first intermediary device or the second intermediary device has not responded to the two previous transmissions of probes; and

transmitting, from the source device, at least two probes having the increased TTL value with a destination set to a destination device.

15. A non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform a method for determining a topology of a network comprising a plurality of intermediary devices and intermediary paths, the method including:

transmitting, from a source device, a first probe and a second probe to a destination device;

in response to each of the transmitted first probe and second probe, receiving, at the source device, at least a first response from at least a first intermediary device;

determining, by the source device, whether a second response has been received from a second intermediary device in response to either of the transmitted first probe or second probe;

in response to determining that a second intermediary device has responded to either of the first probe or second probe, determining, by the source device, whether either of the first intermediary device or the second intermediary device have responded to two previous transmissions of probes; and

in response to determining that either of the first intermediary device or the second intermediary device has responded to two previous transmissions of probes, storing, by the source device, a response received from each of the first intermediary device or the second intermediary device in response to either of the transmitted first probe or second probe, wherein the source device is configured to determine a network topology based on the stored responses received from the first intermediary device or the second intermediary device.

16. The computer-readable medium of claim 15 , wherein determining whether a second intermediary device has responded to either of the first probe or second probe includes:

comparing, by the source device, an IP address of the first intermediary device and the second intermediary device for each response received to verify that they are each not the same IP address.

17. The computer-readable medium of claim 15 , wherein determining whether each of the first intermediary device or the second intermediary device has responded to two previous transmissions of probes includes:

incrementing, by the source device, a multiple path flag; and

determining, by the source device, whether the multiple path flag is greater than one.

18. The computer-readable medium of claim 15 , further comprising:

storing, by the source device for each probe transmitted, the response received and a time-to-live (“TTL”) value of the transmitted probe.

19. The computer-readable medium of claim 15 , further comprising:

determining, by the source device, whether an IP address of a response is an IP address of the destination device.

20. The computer-readable medium of claim 15 , further comprising:

increasing, by the source device, a time-to-live (“TTL”) value of each of the first probe and the second probe when more than one responding device has not responded to each of the first probe and the second probe; and

transmitting, from the source device, at least two probes having the increased TTL value with a destination set to a destination device.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2019
From: BARNES, JOHN DAVID
To: AOL INC.
Reel/Frame 049347/0416 →
CHANGE OF NAME Recorded Jun 3, 2019
From: AOL INC.
To: OATH INC.
Reel/Frame 049350/0321 →
Continuity (2)
Continuation 14642280 · Mar 9, 2015
Related Publication 20190280941A1 · Sep 12, 2019