Virtual Multi-Cluster Clouds
First Claim
1. A system for coordinating a plurality of clusters, the system comprising:
- a multi-cluster gateway, the multi-cluster gateway communicatively coupled to a first cluster and a second cluster, wherein the first cluster includes a first plurality of information processing devices and the second cluster includes a second plurality of information processing devices; and
wherein the multi-cluster gateway includes a ring, the ring operable to perform a first-level hashing function responsive to a request to interact with the system, and wherein the output of the first hashing function is a partition corresponding to computing resources available at one of the first cluster and the second cluster;
wherein the ring is further operable to perform a second-level hashing function, and wherein the output of the second hashing function identifies a responsive cluster from one of the first cluster and the second cluster; and
wherein the multi-cluster gateway sends a message to the responsive cluster.
4 Assignments
0 Petitions
Accused Products
Abstract
An improved scalable object storage system allows multiple clusters to work together. Users working with a first cluster, or with a multi-cluster gateway, can ask for services and have the request or data transparently proxied to a second cluster. This gives transparent cross-cluster replication, as well as multi-cluster compute or storage farms based upon spot availability or various provisioning policies. Vendors providing a cloud storage “frontend” can provide multiple backends simultaneously. In one embodiment, a multi-cluster gateway can have a two, three, or higher-level ring that transparently matches an incoming request with the correct cluster. In the ring, a request is first mapped to an abstract “partition” based on a consistent hash function, and then one or more constrained mappings map the partition number to an actual resource. In another embodiment, the multi-cluster gateway is a dumb gateway, and the rings are located only at the cluster level.
-
Citations
20 Claims
-
1. A system for coordinating a plurality of clusters, the system comprising:
-
a multi-cluster gateway, the multi-cluster gateway communicatively coupled to a first cluster and a second cluster, wherein the first cluster includes a first plurality of information processing devices and the second cluster includes a second plurality of information processing devices; and wherein the multi-cluster gateway includes a ring, the ring operable to perform a first-level hashing function responsive to a request to interact with the system, and wherein the output of the first hashing function is a partition corresponding to computing resources available at one of the first cluster and the second cluster; wherein the ring is further operable to perform a second-level hashing function, and wherein the output of the second hashing function identifies a responsive cluster from one of the first cluster and the second cluster; and wherein the multi-cluster gateway sends a message to the responsive cluster. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9, 10, 15, 16, 19)
-
-
5. The system of claim 5, wherein the message to the responsive cluster is addressed to the specific resource within the responsive cluster.
-
11. A system for coordinating a plurality of clusters, the system comprising:
-
a multi-cluster gateway, the multi-cluster gateway communicatively coupled to a first cluster and a second cluster, wherein the first cluster includes a first plurality of information processing devices and the second cluster includes a second plurality of information processing devices; wherein the multi-cluster gateway is operable to send a message to one of the first cluster, second cluster, or both clusters responsive to a request to interact with the system; wherein one of the first cluster and the second cluster includes a ring, the ring operable to perform a first-level hashing function responsive to a message, wherein the output of the first hashing function is a partition corresponding to computing resources available at one of the first cluster and the second cluster; wherein the ring is further operable to perform a second-level hashing function, and wherein the output of the second hashing function identifies a specific responsive resource associated with the partition. - View Dependent Claims (12, 13, 14, 17, 18, 20)
-
Specification