SCALABLE TRANSPORT WITH CLIENT-CONSENSUS RENDEZVOUS
First Claim
1. A method of distributing a chunk within a cluster of storage servers using a client-consensus rendezvous, the method comprising:
- multicasting a transaction proposal from an initiating client to storage servers in a negotiating group; and
unicasting proposal responses from the storage servers in the negotiating group to the initiating client; and
evaluating the proposal responses by the initiating client.
4 Assignments
0 Petitions
Accused Products
Abstract
Embodiments disclosed herein provide advantageous methods and systems that use multicast communications via unreliable datagrams sent on a protected traffic class. These methods and systems provide effectively reliable multicast delivery while avoiding the overhead associated with point-to-point protocols. Rather than an exponential scaling of point-to-point connections (with expensive setup and teardown of the connections), the traffic from one server is bounded by linear scaling of multicast groups. In addition, the multicast rendezvous disclosed herein creates an edge-managed flow control that accounts for the dynamic state of the storage servers in the cluster, without needing centralized control, management or maintenance of state. This traffic shaping avoids the loss of data due to congestion during sustained oversubscription. Other embodiments, aspects and features are also disclosed.
10 Citations
20 Claims
-
1. A method of distributing a chunk within a cluster of storage servers using a client-consensus rendezvous, the method comprising:
-
multicasting a transaction proposal from an initiating client to storage servers in a negotiating group; and unicasting proposal responses from the storage servers in the negotiating group to the initiating client; and evaluating the proposal responses by the initiating client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for distributing a chunk within a cluster of storage servers using a client-consensus rendezvous, the system comprising:
-
a network of non-blocking switches communicatively interconnecting the storage servers of the cluster; an initiating client comprising a client system that communicatively interconnects to the network; and a transport protocol implemented by the storage servers of the cluster and the initiating client, wherein the transaction protocol comprises multicasting a transaction proposal from the initiating client to storage servers in a negotiating group, unicasting proposal responses from the storage servers in the negotiating group to the initiating client, and evaluating the proposal responses by the initiating client. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of distributing a chunk within a cluster of storage servers using a client-consensus rendezvous, the method comprising:
-
multicasting a put proposal by an initiating client to storage servers of a negotiating group; receiving unicast proposal responses from the storage servers in the negotiating group by the initiating client; determining a rendezvous group of storage servers by the initiating client using the unicast proposal responses; and multicasting a payload of the chunk by the initiating client to the rendezvous group.
-
-
20. A method of distributing a chunk within a cluster of storage servers using a client-consensus rendezvous, the method comprising:
-
receiving a multicast put proposal from an initiating client by a storage server of a negotiating group; unicasting a proposal response from the storage servers in the negotiating group to the initiating client in response to the multicast put proposal; and receiving a multicast payload of the chunk that is multicast from the initiating client to a rendezvous group that includes the storage server, wherein the rendezvous group is determine by the initiating client.
-
Specification