LEADERLESS CONSISTENCY PROTOCOL
First Claim
Patent Images
1. A method for performing a write operation by a first node in a leaderless cluster of nodes, the method comprising:
- receiving a write operation request, including data to be stored, from a client device;
assigning a first sequence number to the received write operation request;
transmitting a write command, including the data and the first sequence number, to a plurality of peer nodes in the cluster;
receiving at least one sequence number validation message from at least one peer node in response to the write command, the sequence number validation message indicating one of a confirmation of the first sequence number or a proposal for a second sequence number; and
responsive to determining that a threshold number of confirmations of the first sequence number or proposals for the second sequence number have been received from peer nodes, transmitting an acknowledgement of the write operation to the client device.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for processing requests, received from clients and peer nodes, in a leaderless cluster of nodes. A node can initiate a read or a write operation in the cluster. The node can solicit votes from its peer nodes in order to confirm that the requested operation should be performed. A threshold number of positive responses, such as a supermajority of the nodes in the cluster, can be required in order to confirm the requested operation.
20 Citations
19 Claims
-
1. A method for performing a write operation by a first node in a leaderless cluster of nodes, the method comprising:
-
receiving a write operation request, including data to be stored, from a client device; assigning a first sequence number to the received write operation request; transmitting a write command, including the data and the first sequence number, to a plurality of peer nodes in the cluster; receiving at least one sequence number validation message from at least one peer node in response to the write command, the sequence number validation message indicating one of a confirmation of the first sequence number or a proposal for a second sequence number; and responsive to determining that a threshold number of confirmations of the first sequence number or proposals for the second sequence number have been received from peer nodes, transmitting an acknowledgement of the write operation to the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A first network node, in a leaderless cluster of nodes, comprising circuitry including a processor and a memory, the memory containing instructions executable by the processor whereby the first network node is operative to:
-
receive a write operation request, including data to be stored, from a client device; assign a first sequence number to the received write operation request; transmit a write command, including the data and the first sequence number, to a plurality of peer nodes in the cluster; receive at least one sequence number validation message from at least one peer node in response to the write command, the sequence number validation message indicating one of a confirmation of the first sequence number or a proposal for a second sequence number; and responsive to determining that a threshold number of confirmations of the first sequence number or proposals for the second sequence number have been received from peer nodes, transmit a confirmation of successful write operation to the client device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A first cluster node in a leaderless cluster of nodes, the first cluster node comprising:
-
a client interface module for receiving a write operation request, including data to be stored, from a client device, and for assigning a first sequence number to the received write operation request; a cluster interface module for transmitting a write command, including the data and the first sequence number, to a plurality of peer nodes in the cluster, and for receiving at least one sequence number validation message from at least one peer node in response to the write command, the sequence number validation message indicating one of a confirmation of the first sequence number or a proposal for a second sequence number; and a vote handling module for, responsive to determining that a threshold number of confirmations of the first sequence number or proposals for the second sequence number have been received from peer nodes, initiating transmission of an acknowledgement of the write operation to the client device.
-
Specification