IP Library Granted Patent US 10,447,535
Granted Patent B2
US 10,447,535 · App. 15/422,905 · Granted Oct 15, 2019

Consistent processing of transport node network data in a physical sharding architecture

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,447,535
App. No.
15/422,905
Granted
Oct 15, 2019
Kind
B2
Abstract

Certain embodiments described herein are generally directed to consistent processing of transport node network configuration data in a physical sharding architecture. For example, in some embodiments a first central control plane (CCP) node of a plurality of CCP nodes determines a sharding table, which is shared by the plurality of CCP nodes. In certain embodiments, the first CCP node determines a connection establishment between a first transport node and the first CCP node. In some embodiments, if the first CCP node determines, based on the sharding table, that it is a physical master of the first transport node, the first CCP node receives network configuration data from the first transport node, stores at least a portion of the network configuration data, and transmits a data update comprising at least a portion of the network configuration data to a shared data store accessible by the plurality of CCP nodes.

Claims (81)

1. A method for consistent processing of transport node network configuration data in a physical sharding architecture, comprising:

determining, by a first central control plane (CCP) node of a plurality of CCP nodes, a sharding table, wherein the sharding table is shared by the plurality of CCP nodes;

determining, by the first CCP node, a connection establishment between a first transport node and the first CCP node;

determining, by the first CCP node and based on the sharding table, whether the first CCP node is a physical master of the first transport node;

upon determining, by the first CCP node, that the first CCP node is the physical master of the first transport node:

receiving, at the first CCP node, network configuration data from the first transport node;

storing, by the first CCP node, at least a portion of the network configuration data; and

transmitting, by the first CCP node, a data update comprising at least a portion of the network configuration data to a shared data store, wherein the shared data store is accessible by each of the plurality of CCP nodes; and

upon determining, by the first CCP node, that the first CCP node is not the physical master of the first transport node, and that a second CCP node of the plurality of CCP nodes is the physical master of the first transport node:

transmitting, by the first CPP node, a notification to the first transport node that the second CCP node is the physical master of the first transport node; and

disconnecting, by the first CCP node, from the first transport node, wherein the first transport node connects to the second CCP node.

2. The method of claim 1 , further comprising:

determining, by the first CCP node, an updated sharding table;

determining, by the first CCP node and based on the updated sharding table, whether the first CCP node is still the physical master of the first transport node;

upon determining, by the first CCP node, that the first CCP node is no longer the physical master of the first transport node, and that a second CCP node of the plurality of CCP nodes is now the physical master of the first transport node:

transmitting, by the first CPP node, a notification to the first transport node that the second CCP node is now the physical master of the first transport node; and

disconnecting, by the first CCP node, from the first transport node, wherein the first transport node connects to the second CCP node.

3. The method of claim 2 , further comprising:

receiving, by the second CCP node, network configuration data relating to the first transport node from the shared data store; and

upon determining, by the second CCP node and based on the updated sharding table, that the second CCP node is now the physical master of the first transport node:

activating, by the second CCP node, a timer which indicates an amount of time until the network configuration data relating to the first transport node should be expired.

4. The method of claim 1 , wherein the connection establishment between the first transport node and the first CCP node is the result of a random selection by the first transport node of which CCP node to connect to.

5. The method of claim 1 , further comprising:

determining a disconnection of the connection between the first transport node and the first CCP node;

upon determining, by the first CCP node, that the first transport node has disconnected from the first CCP node:

activating, by the first CCP node, a timer which indicates an amount of time until the network configuration data should be expired.

6. The method of claim 1 , wherein the data update comprises an author field indicating that the data update comes from the first CCP node.

7. A non-transitory computer readable medium comprising instructions to be executed in a computer system, wherein the instructions when executed in the computer system perform a method for consistent processing of transport node network configuration data in a physical sharding architecture, the method comprising:

determining, by a first central control plane (CCP) node of a plurality of CCP nodes, a sharding table, wherein the sharding table is shared by the plurality of CCP nodes;

determining, by the first CCP node, a connection establishment between a first transport node and the first CCP node;

determining, by the first CCP node and based on the sharding table, whether the first CCP node is a physical master of the first transport node;

upon determining, by the first CCP node, that the first CCP node is the physical master of the first transport node:

receiving, at the first CCP node, network configuration data from the first transport node;

storing, by the first CCP node, at least a portion of the network configuration data; and

transmitting, by the first CCP node, a data update comprising at least a portion of the network configuration data to a shared data store, wherein the shared data store is accessible by each of the plurality of CCP nodes, and

upon determining, by the first CCP node, that the first CCP node is not the physical master of the first transport node, and that a second CCP node of the plurality of CCP nodes is the physical master of the first transport node:

transmitting, by the first CPP node, a notification to the first transport node that the second CCP node is the physical master of the first transport node; and

disconnecting, by the first CCP node, from the first transport node, wherein the first transport node connects to the second CCP node.

8. The computer readable medium of claim 7 , wherein the method further comprises:

determining, by the first CCP node, an updated sharding table;

determining, by the first CCP node and based on the updated sharding table, whether the first CCP node is still the physical master of the first transport node;

upon determining, by the first CCP node, that the first CCP node is no longer the physical master of the first transport node, and that a second CCP node of the plurality of CCP nodes is now the physical master of the first transport node:

transmitting, by the first CPP node, a notification to the first transport node that the second CCP node is now the physical master of the first transport node; and

disconnecting, by the first CCP node, from the first transport node, wherein the first transport node connects to the second CCP node.

9. The computer readable medium of claim 8 , wherein the method further comprises:

receiving, by the second CCP node, network configuration data relating to the first transport node from the shared data store; and

upon determining, by the second CCP node and based on the updated sharding table, that the second CCP node is now the physical master of the first transport node:

activating, by the second CCP node, a timer which indicates an amount of time until the network configuration data relating to the first transport node should be expired.

10. The computer readable medium of claim 7 , wherein the connection establishment between the first transport node and the first CCP node is the result of a random selection by the first transport node of which CCP node to connect to.

11. The computer readable medium of claim 7 , wherein the method further comprises:

determining a disconnection of the connection between the first transport node and the first CCP node;

upon determining, by the first CCP node, that the first transport node has disconnected from the first CCP node:

activating, by the first CCP node, a timer which indicates an amount of time until the network configuration data should be expired.

12. The computer readable medium of claim 7 , wherein the data update comprises an author field indicating that the data update comes from the first CCP node.

13. A computer system comprising one or more processors configured to execute a method for consistent processing of transport node network configuration data in a physical sharding architecture, the method comprising:

calculating, by a first central control plane (CCP) node of a plurality of CCP nodes, a sharding table, wherein the sharding table is shared by the plurality of CCP nodes;

determining, by the first CCP node, a connection establishment between a first transport node and the first CCP node;

determining, by the first CCP node and based on the sharding table, whether the first CCP node is a physical master of the first transport node;

upon determining, by the first CCP node, that the first CCP node is the physical master of the first transport node:

receiving, at the first CCP node, network configuration data from the first transport node;

storing, by the first CCP node, at least a portion of the network configuration data; and

transmitting, by the first CCP node, a data update comprising at least a portion of the network configuration data to a shared data store, wherein the shared data store is accessible by each of the plurality of CCP nodes; and

upon determining, by the first CCP node, that the first CCP node is not the physical master of the first transport node, and that a second CCP node of the plurality of CCP nodes is the physical master of the first transport node:

transmitting, by the first CPP node, a notification to the first transport node that the second CCP node is the physical master of the first transport node; and

disconnecting, by the first CCP node, from the first transport node, wherein the first transport node connects to the second CCP node.

14. The computer system of claim 13 , wherein the method further comprises:

determining, by the first CCP node, an updated sharding table;

determining, by the first CCP node and based on the updated sharding table, whether the first CCP node is still the physical master of the first transport node;

upon determining, by the first CCP node, that the first CCP node is no longer the physical master of the first transport node, and that a second CCP node of the plurality of CCP nodes is now the physical master of the first transport node:

transmitting, by the first CPP node, a notification to the first transport node that the second CCP node is now the physical master of the first transport node; and

disconnecting, by the first CCP node, from the first transport node, wherein the first transport node connects to the second CCP node.

15. The computer system of claim 14 , wherein the method further comprises:

receiving, by the second CCP node, network configuration data relating to the first transport node from the shared data store; and

upon determining, by the second CCP node and based on the updated sharding table, that the second CCP node is now the physical master of the first transport node:

activating, by the second CCP node, a timer which indicates an amount of time until the network configuration data relating to the first transport node should be expired.

16. The computer system of claim 13 , wherein the connection establishment between the first transport node and the first CCP node is the result of a random selection by the first transport node of which CCP node to connect to.

17. The computer system of claim 13 , wherein the method further comprises:

determining a disconnection of the connection between the first transport node and the first CCP node;

upon determining, by the first CCP node, that the first transport node has disconnected from the first CCP node:

activating, by the first CCP node, a timer which indicates an amount of time until the network configuration data should be expired.

18. The computer system of claim 13 , wherein the data update comprises an author field indicating that the data update comes from the first CCP node.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2017
From: WANG, ZIYOU; SHEN, JIANJUN; THAKKAR, PANKAJ; WANG, HUA; HAN, DONGHAI
To: NICIRA, INC.
Reel/Frame 041478/0457 →