IP Library Granted Patent US 9,743,367
Granted Patent B2
US 9,743,367 · App. 14/490,609 · Granted Aug 22, 2017

Link layer discovery protocol (LLDP) on multiple nodes of a distributed fabric

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,743,367
App. No.
14/490,609
Granted
Aug 22, 2017
Kind
B2
Abstract

In one embodiment, a method for providing link layer discovery protocol (LLDP) to a distributed fabric includes sending a neighbor synchronization request message from a master node to one or more member nodes connected to the master node, the neighbor synchronization request message including a request for a recipient member node to send its LLDP neighbor information to the master node, receiving a neighbor synchronization update message at the master node from at least one of the one or more member nodes, the neighbor synchronization update message including information about local LLDP neighbors of the one or more member nodes, and storing the information about the local LLDP neighbors from the at least one of the one or more member nodes in a LLDP neighbors database of the master node.

Claims (62)

1. A distributed fabric, comprising:

a master node connected to one or more member nodes, each node comprising:

a local processor configured to manage a link layer discovery protocol (LLDP) neighbors database, the LLDP neighbors database being configured to store information regarding networking devices in the distributed fabric; and

a switching processor configured to receive and send packets,

wherein each of the one or more member nodes is configured to:

receive a neighbor synchronization request message from the master node;

send a neighbor synchronization update message to the master node, the neighbor synchronization update message comprising information about local LLDP neighbors of the member node; and

send a LLDP statistics update message to the master node, the LLDP statistics update message comprising statistics about LLDP neighbors of the one or more member nodes, wherein the statistics include a number of neighbors added for the one or more member nodes since initiation of LLDP in the distributed fabric, and

wherein the master node is configured to:

receive the neighbor synchronization update messages from each of the one or more member nodes; and

send the neighbor synchronization request message to each of the one or more member nodes, the neighbor synchronization request message comprising a request for a recipient member node to send its LLDP neighbor information to the master node.

2. The distributed fabric as recited in claim 1 , wherein the neighbor synchronization update message is sent by each of the one or more member nodes periodically, and during or after a change in a local LLDP neighbors database of the member node.

3. The distributed fabric as recited in claim 2 , wherein the neighbor synchronization update message is sent by each of the one or more member nodes to update a time-to-live (TTL) value of an associated entry in the LLDP neighbors database of the master node, and wherein the neighbor synchronization update message comprises a collection of <T,R> records, where T indicates a type of update, and R indicates a corresponding record to update in the LLDP neighbors database of the master node.

4. The distributed fabric as recited in claim 1 , wherein the master node is further configured to update its local LLDP neighbors database with the LLDP neighbor information included in each neighbor synchronization update message received from one of the one or more member nodes.

5. The distributed fabric as recited in claim 1 , wherein the neighbor synchronization request message is sent by the master node periodically and in response to determination of one or more inconsistencies between incoming updates and the LLDP neighbors database of the master node.

6. The distributed fabric as recited in claim 5 , wherein the neighbor synchronization request message comprises a collection of <I, H> records, where I is an identifier of a neighbor to one of the member nodes, and H indicates a hash generated for that corresponding neighbor, and wherein each of the one or more member nodes are further configured to:

regenerate a hash for the corresponding neighbor; and

determine whether to send an update to the master node based on a comparison between the hash and the regenerated hash.

7. The distributed fabric as recited in claim 1 , wherein the nodes are further configured to receive LLDP query messages originated from one or more northbound applications in order to gather information about LLDP neighbors from the nodes.

8. The distributed fabric as recited in claim 1 , wherein the nodes are further configured to:

receive protocol data units (PDUs) using the switching processor; and

redirect the PDUs to the local processor for handling by the local processor.

9. The distributed fabric as recited in claim 1 , further comprising a backup node configured to perform functions equivalent to the master node when the master node is unavailable, wherein each of the one or more member nodes is further configured to send neighbor synchronization update messages to the backup node.

10. A method for providing link layer discovery protocol (LLDP) to a distributed fabric, the method comprising:

sending a neighbor synchronization request message from a master node to one or more member nodes connected to the master node, the neighbor synchronization request message comprising a request for a recipient member node to send its LLDP neighbor information to the master node;

receiving a neighbor synchronization update message at the master node from at least one of the one or more member nodes, the neighbor synchronization update message comprising information about local LLDP neighbors of the one or more member nodes;

storing the information about the local LLDP neighbors from the at least one of the one or more member nodes in a LLDP neighbors database of the master node; and

receiving, at the master node, one or more LLDP statistics update messages from the one or more member nodes, the one or more LLDP statistics update messages comprising statistics about LLDP neighbors of the one or more member nodes,

wherein the statistics include a number of neighbors added for the one or more member nodes since initiation of LLDP in the distributed fabric.

11. The method as recited in claim 10 , wherein the neighbor synchronization update message is received by the master node periodically, and during or after a change in a local LLDP neighbors database of the at least one of the one or more member nodes.

12. The method as recited in claim 11 , wherein the neighbor synchronization update message comprises a collection of <T,R> records, where T indicates a type of update, and R indicates a corresponding record to update in the LLDP neighbors database of the master node.

13. The method as recited in claim 10 , wherein the neighbor synchronization request message is sent by the master node periodically and in response to determination of one or more inconsistencies between incoming updates and the LLDP neighbors database of the master node.

14. The method as recited in claim 13 , wherein the neighbor synchronization request message comprises a collection of <I, H> records, where I is an identifier of a neighbor to one of the member nodes, and H indicates a hash generated for that corresponding neighbor, and wherein each of the one or more member nodes determines whether to send an update to the master node based on a comparison between the hash and a regenerated hash.

15. The method as recited in claim 10 , further comprising receiving LLDP query messages originated from one or more northbound applications in order to gather information about LLDP neighbors from the LLDP neighbors database of the master node.

16. The method as recited in claim 10 , further comprising:

distributing protocol data units (PDUs) to a switching processor of only one of the master node and the one or more member nodes; and

redirecting the PDUs to a local processor for handling instead of sending all PDUs to the master node.

17. A master node, comprising:

a local processor configured to:

manage a link layer discovery protocol (LLDP) neighbors database, the LLDP neighbors database being configured to store information regarding networking devices in a distributed fabric;

receive neighbor synchronization update messages from one or more member nodes in the distributed fabric, each neighbor synchronization update message comprising information about local LLDP neighbors of the one or more member nodes;

send a neighbor synchronization request message to the one or more member nodes, the neighbor synchronization request message comprising a request for a recipient member node to send its LLDP neighbor information to the master node;

update the LLDP neighbors database with the LLDP neighbor information included in each neighbor synchronization update message received from one of the one or more member nodes; and

receive one or more LLDP statistics update messages from the one or more member nodes, the one or more LLDP statistics update messages comprising statistics about LLDP neighbors of the one or more member nodes, wherein the statistics include a number of neighbors added for the one or more member nodes since initiation of LLDP in the distributed fabric; and

a switching processor configured to:

receive and send packets;

receive protocol data units (PDUs); and

redirect the PDUs to the local processor for handling,

wherein the neighbor synchronization request message is sent by the master node periodically and in response to determination of one or more inconsistencies between incoming updates and the LLDP neighbors database of the master node.

18. The master node as recited in claim 17 , wherein the local processor is further configured to update a time-to-live (TTL) value of an associated entry in the LLDP neighbors database of the master node using each of the neighbor synchronization update messages, and wherein the neighbor synchronization update message each comprise a collection of <T,R> records, where T indicates a type of update, and R indicates a corresponding record to update in the LLDP neighbors database of the master node.

19. A member node, comprising:

a local processor configured to:

manage a link layer discovery protocol (LLDP) neighbors database, the LLDP neighbors database being configured to store information regarding LLDP neighbor devices directly connected to a switching processor of a member node in a distributed fabric;

send neighbor synchronization update messages to a master node in the distributed fabric, the neighbor synchronization update message comprising information about local LLDP neighbors of the member node; and

receive a neighbor synchronization request message from the master node, the neighbor synchronization request message comprising a request for the member node to send its LLDP neighbor information to the master node; and

send one or more LLDP statistics update messages to the master node, the one or more LLDP statistics update messages comprising statistics about LLDP neighbors of the member node, wherein the statistics include a number of neighbors added for the member node since initiation of LLDP in the distributed fabric; and

a switching processor configured to:

receive and send packets;

receive protocol data units (PDUs); and

redirect the PDUs to the local processor for handling instead of sending the PDUs to the master node,

wherein the neighbor synchronization update messages are sent by the member node periodically, and during or after a change in the LLDP neighbors database of the member node.

20. The member node as recited in claim 19 , wherein the neighbor synchronization update message each comprise a collection of <T,R> records, where T indicates a type of update, and R indicates a corresponding record to update in a LLDP neighbors database of the master node.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 050304/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034795/0990 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2014
From: DAS, NIRMALENDU; LLACUNA, MARK Q.; RYALI, RAVICHANDRA B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033772/0684 →