Scalable object storage using multicast transport
First Claim
1. A computer-implemented method of distributing chunks in a cluster of storage servers, the method comprising:
- assigning, by the storage servers in the cluster, responsibility for providing storage services for a chunk to a first subset of storage servers in the cluster using a shared and distributed hash allocation table; and
dynamically determining, by at least one of the storage servers in the cluster, a second subset of storage servers in the cluster to store the chunk using a multicast transport service.
4 Assignments
0 Petitions
Accused Products
Abstract
Embodiments disclosed herein provide a scalable multicast transport. The multicast transport protocol provides effectively reliable multicast delivery while avoiding the overhead associated with point-to-point protocols. Additional embodiments disclosed herein relate to a scalable object storage system that uses a multicast transport. The object storage system assigns responsibility for providing storage services for a chunk to a negotiating group of storage servers in the cluster using a shared and distributed hash allocation table. The object storage system dynamically determines a rendezvous group of storage servers in the cluster to store the chunk using the multicast transport. Other embodiments, aspects and features are also disclosed.
44 Citations
14 Claims
-
1. A computer-implemented method of distributing chunks in a cluster of storage servers, the method comprising:
-
assigning, by the storage servers in the cluster, responsibility for providing storage services for a chunk to a first subset of storage servers in the cluster using a shared and distributed hash allocation table; and dynamically determining, by at least one of the storage servers in the cluster, a second subset of storage servers in the cluster to store the chunk using a multicast transport service. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A cluster of storage servers comprising:
-
a plurality of storage servers of the cluster; a network of non-blocking switches communicatively interconnecting the plurality of storage servers of the cluster; and an initiating client comprising a client system that communicatively interconnects to the network, wherein the plurality of storage servers of the cluster assign responsibility for providing storage services for a chunk to a first subset of storage servers in the cluster using a shared and distributed hash allocation table, and wherein at least one of the plurality of storage servers in the cluster dynamically determines a second subset of storage servers in the cluster to store the chunk using a multicast transport service. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification