IP Library Granted Patent US 10,341,437
Granted Patent B2
US 10,341,437 · App. 15/427,738 · Granted Jul 2, 2019

Adding logical sharding to a distributed system with only physical sharding

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,341,437
App. No.
15/427,738
Granted
Jul 2, 2019
Kind
B2
Abstract

Certain embodiments described herein are generally directed to processing domain objects in a distributed system using logical sharding. In some embodiments, a central control plane (CCP) node receives a domain object. In some embodiments, if the CCP node determines that the domain object is not already present in a shared data store and that the CCP node is the logical master of the domain object, the CCP node generates a status based on the domain object, and stores the status and domain object in the shared data store. In some embodiments, the shared data store notifies the plurality of CCP nodes of the stored status and domain object.

Claims (63)

1. A method for processing domain objects in a distributed system using logical sharding, the method comprising:

receiving, by a central control plane (CCP) node of a plurality of CCP nodes, a domain object;

determining, by the CCP node, whether the domain object is present in a shared data store by comparing an object identifier of the domain object to object identifiers in the shared data store;

upon determining the domain object is present in the shared data store, determining whether a correlation identifier of the domain object matches a respective correlation identifier corresponding to the domain object in the shared data store;

upon determining the domain object is not present in the shared data store or upon determining the correlation identifier does not match the respective correlation identifier:

determining, by the CCP node, whether the CCP node is a logical master of the domain object;

upon determining the CCP node is the logical master of the domain object:

generating, by the CCP node, a status for the domain object based on the domain object; and

storing the status and the domain object in the shared data store, wherein the shared data store is configured to notify the plurality of CCP nodes of the stored status and domain object.

2. The method of claim 1 , further comprising:

receiving, by the CCP node, a second domain object;

upon determining the second domain object is present in the shared data store:

determining, by the CCP node, and based on the second domain object, whether a host is related to the second domain object; and

upon determining the host is related to the second domain object, transmitting, by the CCP node, the second domain object to the host.

3. The method of claim 2 , wherein the CCP node is a physical master of the host.

4. The method of claim 1 , wherein the domain object comprises a key policy.

5. The method of claim 1 , wherein the status comprises one of:

an encryption key; and

a ticket relating to an encryption key.

6. The method of claim 1 , wherein the correlation identifier of the domain object uniquely identifies a version of the domain object.

7. The method of claim 1 , wherein the shared data store notifies the plurality of CCP nodes of the stored status and domain object via a callback loop.

8. 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 processing domain objects in a distributed system using logical sharding, the method comprising:

receiving, by a central control plane (CCP) node of a plurality of CCP nodes, a domain object;

determining, by the CCP node, whether the domain object is present in a shared data store by comparing an object identifier of the domain object to object identifiers in the shared data store;

upon determining the domain object is present in the shared data store, determining whether a correlation identifier of the domain object matches a respective correlation identifier corresponding to the domain object in the shared data store;

upon determining the domain object is not present in the shared data store or upon determining the correlation identifier does not match the respective correlation identifier:

determining, by the CCP node, whether the CCP node is a logical master of the domain object;

upon determining the CCP node is the logical master of the domain object:

generating, by the CCP node, a status for the domain object based on the domain object; and

storing the status and the domain object in the shared data store, wherein the shared data store is configured to notify the plurality of CCP nodes of the stored status and domain object.

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

receiving, by the CCP node, a second domain object;

upon determining the second domain object is present in the shared data store:

determining, by the CCP node, and based on the second domain object, whether a host is related to the second domain object; and

upon determining the host is related to the second domain object, transmitting, by the CCP node, the second domain object to the host.

10. The non-transitory computer readable medium of claim 9 , wherein the CCP node is a physical master of the host.

11. The non-transitory computer readable medium of claim 8 , wherein the domain object comprises a key policy.

12. The non-transitory computer readable medium of claim 8 , wherein the status comprises one of:

an encryption key; and

a ticket relating to an encryption key.

13. The non-transitory computer readable medium of claim 8 , wherein the correlation identifier of the domain object uniquely identifies a version of the domain object.

14. The non-transitory computer readable medium of claim 8 , wherein the shared data store notifies the plurality of CCP nodes of the stored status and domain object via a callback loop.

15. A computer system comprising a processor and a non-transitory computer-readable medium storing instructions that, when executed, cause the processor to perform a method for processing domain objects in a distributed system using logical sharding, the method comprising:

receiving, by a central control plane (CCP) node of a plurality of CCP nodes, a domain object;

determining, by the CCP node, whether the domain object is present in a shared data store by comparing an object identifier of the domain object to object identifiers in the shared data store;

upon determining the domain object is present in the shared data store, determining whether a correlation identifier of the domain object matches a respective correlation identifier corresponding to the domain object in the shared data store;

upon determining the domain object is not present in the shared data store or upon determining the correlation identifier does not match the respective correlation identifier:

determining, by the CCP node, whether the CCP node is a logical master of the domain object;

upon determining the CCP node is the logical master of the domain object:

generating, by the CCP node, a status for the domain object based on the domain object; and

storing the status and the domain object in the shared data store, wherein the shared data store is configured to notify the plurality of CCP nodes of the stored status and domain object.

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

receiving, by the CCP node, a second domain object;

upon determining the second domain object is present in the shared data store:

determining, by the CCP node, and based on the second domain object, whether a host is related to the second domain object; and

upon determining the host is related to the second domain object, transmitting, by the CCP node, the second domain object to the host.

17. The computer system of claim 16 , wherein the CCP node is a physical master of the host.

18. The computer system of claim 15 , wherein the domain object comprises a key policy.

19. The computer system of claim 15 , wherein the status comprises one of:

an encryption key; and

a ticket relating to an encryption key.

20. The computer system of claim 15 , wherein the correlation identifier of the domain object uniquely identifies a version of the domain object.

21. The computer system of claim 15 , wherein the shared data store notifies the plurality of CCP nodes of the stored status and domain object via a callback loop.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2017
From: XU, GANG; GANICHEV, IGOR; CHANDRASHEKHAR, GANESAN
To: NICIRA, INC.
Reel/Frame 041206/0877 →