IP Library Granted Patent US 10,185,497
Granted Patent B2
US 10,185,497 · App. 15/627,101 · Granted Jan 22, 2019

Cluster federation and trust in a cloud environment

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,185,497
App. No.
15/627,101
Granted
Jan 22, 2019
Kind
B2
Abstract

An improved scalable object storage system allows multiple clusters to work together. In one embodiment, a trust and federation relationship is established between a first cluster and a second cluster. This is done by designating a first cluster as a trust root. The trust root receives contact from another cluster, and the two clusters exchange cryptographic credentials. The two clusters mutually authenticate each other based upon the credentials, and optionally relative to a third information service, and establish a service connection. Services from the remote cluster are registered as being available to the cluster designated as the trust root. Multi-cluster gateways can also be designated as the trust root, and joined clusters can be mutually untrusting. Two one-way trust and federation relationships can be set up to form a trusted bidirectional channel.

Claims (52)

1. A method for synchronizing containers in different clusters, the method comprising:

setting a first synchronization attribute of a first container in a first cluster to a uniform resource locator of a second container in a second cluster and a second synchronization attribute of the first container in the first cluster to a first key value;

setting a first synchronization attribute of the second container in the second cluster to a uniform resource locator of the first container in the first cluster and a second synchronization attribute of the second container to a second key value;

synchronizing at least one object in the first container with at least one object in the second container; and

verifying that the at least one object in the first container and the at least one object in the second container are synchronized.

2. The method of claim 1 , wherein the first key value authenticates the first container to the second container and the second key value authenticates the second container to the first container.

3. The method of claim 1 , wherein the first key value has the same value as the second key value.

4. The method of claim 1 , further comprising:

determining an occurrence of an event; and

wherein the synchronizing occurs after the occurrence of the event is determined.

5. The method of claim 4 , wherein the event is an addition of a new object to the first container in the first cluster.

6. The method of claim 4 , wherein the first container of the first cluster specifies the event.

7. The method of claim 1 , wherein the synchronizing further comprises:

scanning, using a daemon, a container database in the first cluster;

determining, using the container database, that the at least one object in the first container includes a new object; and

synchronizing the at least one object in the first container with the at least one object in the second container.

8. The method of claim 7 , wherein the synchronizing occurs for a predetermined amount of time.

9. A system, comprising:

a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of replicating containers; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:

set a first synchronization attribute of a first container in a first cluster to a uniform resource locator of a second container in a second cluster and a second synchronization attribute of the first container in the first cluster to a first key value;

set a first synchronization attribute of the second container in the second cluster to a uniform resource locator of the first container in the first cluster and a second synchronization attribute of the second container to a second key value;

synchronize at least one object in the first container with at least one object in the second container; and

verify that the at least one object in the first container and the at least one object in the second container are synchronized.

10. The system of claim 9 , wherein the processor is further configured to execute the machine executable code to cause the processor to:

authenticate the first container to the second container using the first key value; and

authenticate the second container to the first container using the second key value.

11. The system of claim 9 , wherein the first key value is the same as the second key value.

12. The system of claim 9 , wherein the processor is configured to execute the machine executable code to cause the processor to:

determine an occurrence of an event; and

wherein the synchronizing occurs after the occurrence of the event is determined.

13. The system of claim 12 , wherein the event is an addition of a new object to the first container in the first cluster.

14. The system of claim 12 , wherein the first container of the first cluster specifies the event.

15. The system of claim 9 , wherein the processor is further configured to execute the machine executable code to cause the processor to:

scan, using a daemon, a container database in the first cluster;

determine, using the container database, that the at least one object in the first container includes a new object; and

synchronize the at least one object in the first container with the at least one object in the second container of the second cluster.

16. The system of claim 15 , wherein the synchronizing occurs for a predetermined amount of time.

17. The system of claim 9 , wherein the processor is further configured to execute the machine executable code to cause the processor to:

determine that file names and file sizes in the at least one object of the first container match file names and file sizes of the at least one object in the second container after the synchronization.

18. A method for synchronizing containers in different clusters, the method comprising:

setting a first synchronization attribute of a first container in a first cluster to a uniform resource locator of a second container in a second cluster and a second synchronization attribute of the first container in the first cluster to a first key value;

setting a first synchronization attribute of the second container in the second cluster to a uniform resource locator of the first container in the first cluster and a second synchronization attribute of the second container to a second key value; and

synchronizing at least one object in the first container with at least one object in the second container.

19. The method of claim 18 , further comprising:

setting a third synchronization attribute of the second container in the second cluster to a uniform resource locator of a third container in a third cluster and a fourth synchronization attribute of the second container in the second cluster to a third key value;

setting a first synchronization attribute of the third container in the third cluster to the uniform resource locator of the second container in the second cluster and a second synchronization attribute of the third container in the third cluster to a fourth key value; and

synchronizing the at least one object in the second container with at least one object in the third container.

20. The method of claim 19 , further comprising:

setting a third synchronization attribute of the third container in the third cluster to the uniform resource locator of the first container in the first cluster and a fourth synchronization attribute of the third container in the third cluster to a fifth key value;

setting a third synchronization attribute of the first container in the first cluster to the uniform resource locator of the third container in the third cluster and a fourth synchronization attribute of the first container in the first cluster to a sixth key value; and

synchronizing the at least one object in the third container with the at least one object in the first container.

Assignments (2)
SECURITY INTEREST Recorded Apr 17, 2018
From: RACKSPACE US, INC.
To: CITIBANK, N.A.
Reel/Frame 045562/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: HOLT, GREGORY LEE; GERRARD, CLAY; GOETZ, DAVID PATRICK; BARTON, MICHAEL
To: RACKSPACE US, INC.
Reel/Frame 043901/0573 →