IP Library Granted Patent US 9,634,901
Granted Patent B2
US 9,634,901 · App. 14/608,670 · Granted Apr 25, 2017

Topology discovery in a computing system

Inventors: Douglas A. Palmer (San Diego, CA); Doug B. Meyer (San Diego, CA); Jerome V. Coffin (San Diego, CA)
Assignee: KnuEdge Incorporated
H04L41/12H04L41/22H04L45/02
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 9,634,901
App. No.
14/608,670
Granted
Apr 25, 2017
Kind
B2
Abstract

A computer network may comprise a plurality of computing devices. In one example, a method may be provided for discovering topology of the computer network. The method may comprise sending, by a host computing device of the computing network, a neighbor discovery packet to each network interface of the host that has a connection, receiving a reply packet responding to the neighbor discovery packet, building a neighbor map for all neighbor computing devices to the host, sending a connection discovery packet to each network interface of the host that has a connection, receiving reply packets responding to the connection discovery packet, and building a connection map for connections among computing devices based on the information in the reply packets.

Claims (60)

1. A method for discovering topology of a computer network that has a plurality of computing devices, comprising:

sending, by a host of the computing network, a neighbor discovery packet on each network interface of a plurality of network interfaces, including sending a first neighbor discovery packet on a first network interface;

receiving a first neighbor discovery reply packet responsive to the first neighbor discovery packet;

building a neighbor map for all neighbor computing devices to the host using the first neighbor discovery reply packet;

sending a connection discovery packet on each network interface of the host that has a connection, including sending a first connection discovery packet via the first network interface to a first computing device;

receiving a first connection discovery reply packet responsive to the first connection discovery packet via the first network interface, the first connection discovery reply packet being originated from the first computing device;

receiving a second connection discovery reply packet responsive to the first connection discovery packet via the first network interface, the second connection discovery reply packet being originated from a second computing device different from the first computing device; and

building a connection map for connections among computing devices using the information in the first connection discovery reply packet and the second connection discovery reply packet.

2. The method of claim 1 , wherein the first neighbor discovery reply packet to the first neighbor discovery packet includes an identifier for a neighbor sending the first neighbor discovery reply packet, and the neighbor map includes the identifier for the neighbor sending the first neighbor discovery reply packet and an identifier of a network interface on which the first neighbor discovery reply packet is received.

3. The method of claim 1 , further comprising sending one or more packets to each computing device in the computer network with routing information, wherein the routing information specifies a network interface through which the computing device is configured to transmit a network packet destined for another computing device.

4. The method of claim 1 , wherein the plurality of computing devices are computers that each have multiple network interfaces.

5. The method of claim 1 , wherein the plurality of computing devices are computer processors that each have multiple network ports.

6. A computing device for use as host of a computer network that has a plurality of computing devices, comprising:

a plurality of network interfaces to be coupled to other computing devices in the computer network;

a processor configured to:

send a neighbor discovery packet on each network interface of the plurality of network interfaces, including sending a first neighbor discovery packet on a first network interface;

receive a first neighbor discovery reply packet responsive to the first neighbor discovery packet;

build a neighbor map for all neighbor computing devices to the host;

send a connection discovery packet to each neighbor computing device, including sending a first connection discovery packet via the first network interface to a first computing device;

receive a first connection discovery reply packet responsive to the first connection discovery packet via the first network interface, the first connection discovery reply packet being originated from the first computing device;

receive a second connection discovery reply packet responsive to the first connection discovery packet via the first network interface, the second connection discovery reply packet being originated from a second computing device different from the first computing device; and

build a connection map for connections among computing devices using the information in the first connection discovery reply packet and the second connection discovery reply packet.

7. The computing device of claim 6 , wherein the first neighbor discovery reply packet to the first neighbor discovery packet includes an identifier for a neighbor sending the neighbor discovery reply packet, and the neighbor map includes the identifier for the neighbor sending the first neighbor discovery reply packet and an identifier of a network interface on which the first neighbor discovery reply packet is received.

8. The computing device of claim 6 , further comprising sending one or more packets to each computing device in the computer network with routing information, wherein the routing information specifies a network interface through which the computing device is configured to transmit a network packet destined for another computing device.

9. The computing device of claim 6 , wherein the plurality of computing devices are computers that each have multiple network interfaces.

10. The computing device of claim 6 , wherein the plurality of computing devices are computer processors that each have multiple network ports.

11. A method for operating a computing device in a computer network that has a plurality of computing devices, comprising:

receiving a first neighbor discovery packet sent by a neighbor on a first network interface;

sending a first neighbor discovery reply packet on the first network interface;

sending a second neighbor discovery packet on a second network interface of the computing device, the second network interface being different from the first network interface;

receiving a second neighbor discovery reply packet responsive to the second neighbor discovery packet;

building a neighbor map for a plurality of neighbor computing devices using the second neighbor discovery reply packet;

receiving a first connection discovery packet on the first network interface;

storing an identifier of the first network interface;

sending a first connection discovery reply packet on the first network interface;

forwarding the first connection discovery packet on the second network interface;

receiving a second connection discovery packet responsive to the first connection discovery packet via the second network interface; and

forwarding the second connection discovery packet on the first network interface.

12. The method of claim 11 , wherein the second neighbor discovery reply packet includes an identifier for a neighbor sending the second neighbor discovery reply packet, and the neighbor map includes the identifier for the neighbor sending the second neighbor discovery reply packet and an identifier of the second network interface.

13. The method of claim 11 , further comprising receiving one or more packets with routing information, wherein the routing information specifies a network interface through which the computing device is configured to transmit a network packet destined for another computing device.

14. The method of claim 11 , wherein the computing device is a computer that has multiple network interfaces.

15. The method of claim 11 , wherein the computing device is a computer processor that has multiple network ports.

16. A computing device, comprising:

a plurality of network interfaces to be coupled to other computing devices in a computer network;

a processor configured to:

receive a first neighbor discovery packet sent by a neighbor on a first network interface;

send a first neighbor discovery reply packet on the first network interface;

send a second neighbor discovery packet on a second network interface of the computing device, the second network interface being different from the first network interface;

receive a second neighbor discovery reply packet responsive to the second neighbor discovery packet;

build a neighbor map including a plurality of neighbor computing devices using the second neighbor discovery reply packet;

receive a first connection discovery packet on the first network interface;

store an identifier of the first network interface;

send a first connection discovery reply packet on the first network interface;

forward the first connection discovery packet on the second network interface;

receive a second connection discovery packet responsive to the first connection discovery packet via the second network interface; and

forward the second connection discovery packet on the first network interface.

17. The computing device of claim 16 , wherein the second neighbor discovery reply packet includes an identifier for a neighbor sending the second neighbor discovery reply packet, and the neighbor map includes the identifier for the neighbor sending the second neighbor discovery reply packet and an identifier of the second network interface.

18. The computing device of claim 16 , further comprising receiving one or more packets with routing information, wherein the routing information specifies a network interface through which the computing device is configured to transmit a network packet destined for another computing device.

19. The computing device of claim 16 , wherein the plurality of computing devices are computers that each have multiple network interfaces.

20. The computing device of claim 16 , wherein the plurality of computing devices are computer processors that each have multiple network ports.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2026
From: PATTI, ROBERT S
To: TEATRO, INC.
Reel/Frame 074966/0181 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2018
From: KNUEDGE, INC.
To: FRIDAY HARBOR LLC
Reel/Frame 047156/0582 →
SECURITY INTEREST Recorded Oct 27, 2017
From: KNUEDGE INCORPORATED
To: XL INNOVATE FUND, LP
Reel/Frame 044637/0011 →
SECURITY INTEREST Recorded Nov 11, 2016
From: KNUEDGE INCORPORATED
To: XL INNOVATE FUND, L.P.
Reel/Frame 040601/0917 →
CHANGE OF NAME Recorded Jun 9, 2016
From: THE INTELLISIS CORPORATION
To: KNUEDGE INCORPORATED
Reel/Frame 038926/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: MEYER, DOUG B.; COFFIN, JEROME V.; PALMER, DOUGLAS A.
To: THE INTELLISIS CORPORATION
Reel/Frame 034916/0961 →
Continuity (1)
Related Publication 20160226712A1 · Aug 4, 2016