IP Library Granted Patent US 11,528,222
Granted Patent B2
US 11,528,222 · App. 17/155,658 · Granted Dec 13, 2022

Decentralized control plane

Inventors: Maheedhar Nallapareddy (Palo Alto, CA); Akshay Katrekar (Mountain View, CA); Aarti Lolage (Palo Alto, CA); Nikhil Rajguru (Palo Alto, CA); Shyam Ramachandran (Palo Alto, CA); Tanmay Kumar (Palo Alto, CA)
Assignee: VMWARE, INC.
H04L45/44H04L49/70
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,528,222
App. No.
17/155,658
Granted
Dec 13, 2022
Kind
B2
Abstract

The disclosure provides an approach for decentralizing control plane operations in a network environment that includes transport nodes configured to implement a logical overlay network. A method includes transmitting a global list of transport nodes to each of the plurality of transport nodes from a management plane, the global list including an ordered list of the plurality of transport nodes. The method also includes transmitting a neighbor index value to each of the plurality of transport nodes, where the transport nodes each compute a corresponding list of neighbor transport nodes based on the neighbor index value and the global list of transport nodes. The method also includes, based on determining an update to a state of the logical overlay network has occurred by a first transport node, transmitting an update message from the first transport node to each transport node in the first transport node's list of neighbor transport nodes.

Claims (53)

1. A method for decentralizing control plane operations in a network environment comprising a plurality of transport nodes configured to implement a logical overlay network, comprising:

receiving, by a first transport node, a global list of transport nodes from a management plane, the global list of transport nodes comprising a public key of a second transport node;

receiving, by the first transport node, a message from the second transport node, the message comprising:

state update information used to configure the logical overlay network;

an identifier of the second transport node; and

a signature;

validating, by the first transport node, the signature based on the identifier of the second transport node and the public key of the second transport node; and

configuring, based on the validating, one or more entities related to the logical overlay network at the first transport node based on the state update information.

2. The method of claim 1 , wherein validating, by the first transport node, the signature based on the identifier of the second transport node and the public key of the second transport node comprises determining that the public key of the second transport node is associated with the identifier of the second transport node in the global list of transport nodes.

3. The method of claim 1 , wherein the global list of transport nodes comprises public keys of a plurality of transport nodes.

4. The method of claim 1 , further comprising:

determining, by the first transport node, one or more neighbor transport nodes of the first transport node based on the global list of transport nodes; and

sending, by the first transport node, the state update information to the one or more neighbor transport nodes of the first transport node.

5. The method of claim 4 , wherein the one or more neighbor transport nodes of the first transport node are further determined based on one or more neighbor index values.

6. The method of claim 1 , further comprising comparing, by the first transport node, a timestamp corresponding to the state update information with a plurality of timestamps corresponding to previously received messages stored at the first transport node, wherein configuring the one or more entities related to the logical overlay network at the first transport node based on the state update information is further based on determining that the timestamp is later than the plurality of timestamps.

7. The method of claim 1 , further comprising:

updating the global list of transport nodes when a given transport node joins or leaves the logical overlay network; and

updating a respective list of neighbor transport nodes on each respective transport node when the given transport node joins or leaves the logical overlay network.

8. A system for decentralizing control plane operations in a network environment comprising a plurality of transport nodes configured to implement a logical overlay network, the system comprising:

at least one memory; and

at least one processor coupled to the at least one memory, the at least one processor and the at least one memory configured to:

receive, by a first transport node, a global list of transport nodes from a management plane, the global list of transport nodes comprising a public key of a second transport node;

receive, by the first transport node, a message from the second transport node, the message comprising:

state update information used to configure the logical overlay network;

an identifier of the second transport node; and

a signature;

validate, by the first transport node, the signature based on the identifier of the second transport node and the public key of the second transport node; and

configure, based on the validating, one or more entities related to the logical overlay network at the first transport node based on the state update information.

9. The system of claim 8 , wherein validating, by the first transport node, the signature based on the identifier of the second transport node and the public key of the second transport node comprises determining that the public key of the second transport node is associated with the identifier of the second transport node in the global list of transport nodes.

10. The system of claim 8 , wherein the global list of transport nodes comprises public keys of a plurality of transport nodes.

11. The system of claim 8 , wherein the at least one processor and the at least one memory are further configured to:

determine, by the first transport node, one or more neighbor transport nodes of the first transport node based on the global list of transport nodes; and

send, by the first transport node, the state update information to the one or more neighbor transport nodes of the first transport node.

12. The system of claim 11 , wherein the one or more neighbor transport nodes of the first transport node are further determined based on one or more neighbor index values.

13. The system of claim 8 , wherein the at least one processor and the at least one memory are further configured to compare, by the first transport node, a timestamp corresponding to the state update information with a plurality of timestamps corresponding to previously received messages stored at the first transport node, wherein configuring the one or more entities related to the logical overlay network at the first transport node based on the state update information is further based on determining that the timestamp is later than the plurality of timestamps.

14. The system of claim 8 , wherein the at least one processor and the at least one memory are further configured to:

update the global list of transport nodes when a given transport node joins or leaves the logical overlay network; and

update a respective list of neighbor transport nodes on each respective transport node when the given transport node joins or leaves the logical overlay network.

15. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

receive, by a first transport node, a global list of transport nodes from a management plane, the global list of transport nodes comprising a public key of a second transport node;

receive, by the first transport node, a message from the second transport node, the message comprising:

state update information used to configure a logical overlay network;

an identifier of the second transport node; and

a signature;

validate, by the first transport node, the signature based on the identifier of the second transport node and the public key of the second transport node; and

configure, based on the validating, one or more entities related to the logical overlay network at the first transport node based on the state update information.

16. The non-transitory computer-readable medium of claim 15 , wherein validating, by the first transport node, the signature based on the identifier of the second transport node and the public key of the second transport node comprises determining that the public key of the second transport node is associated with the identifier of the second transport node in the global list of transport nodes.

17. The non-transitory computer-readable medium of claim 15 , wherein the global list of transport nodes comprises public keys of a plurality of transport nodes.

18. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

determine, by the first transport node, one or more neighbor transport nodes of the first transport node based on the global list of transport nodes; and

send, by the first transport node, the state update information to the one or more neighbor transport nodes of the first transport node.

19. The non-transitory computer-readable medium of claim 18 , wherein the one or more neighbor transport nodes of the first transport node are further determined based on one or more neighbor index values.

20. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to compare, by the first transport node, a timestamp corresponding to the state update information with a plurality of timestamps corresponding to previously received messages stored at the first transport node, wherein configuring the one or more entities related to the logical overlay network at the first transport node based on the state update information is further based on determining that the timestamp is later than the plurality of timestamps.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Continuity (2)
Continuation 16253935 · Jan 22, 2019
Related Publication 20210152467A1 · May 20, 2021