Read-only operations processing in a paxos replication system
First Claim
1. A computing system comprising at least one quorum leader for managing replication and storage of data by processing read-only operations, without storing the operations persistently, in a distributed computer system, the distributed computer system being operated under a Paxos-type protocol and including the quorum leader and one or more quorum members, the system comprising:
- one or more processors;
one or more computer-readable storage media coupled to the one or more processors, and having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform the following;
the quorum leader receiving a read-only request;
the quorum leader determining an appropriate order defined by a determined execution slot for processing the read-only request;
the quorum leader adding a no-earlier-than indication to the operation for the read-only request indicating that the operation is to be executed no earlier than the determined execution slot number;
the quorum leader selecting one of the quorum members to serve as an appropriate replica which is determined to process the received read-only request; and
the quorum leader sending the read-only request and the determined execution slot number and no-earlier-than indication to the determined appropriate replica causing the determined appropriate replica to execute the read-only request by processing a read-only operation of the request, based on the determined execution slot number and the no-earlier-than indication, at an execution slot that is later than the determined execution slot number, and without storing the operation persistently.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments are directed to processing read-only operations without storing the operations persistently, determining a processing order for read-only requests, and to directing read-only requests to nodes best able to handle the requests. In an embodiment, a quorum leader receives various read-only requests. The quorum leader controls process ordering for replicas in the leader'"'"'s quorum. The quorum leader determines an appropriate order for processing the read-only operations, without clock-based synchronization. The quorum leader sends the read-only request to an appropriate replica in the quorum and executes the read-only request at the appropriate replica without storing the operation persistently.
48 Citations
18 Claims
-
1. A computing system comprising at least one quorum leader for managing replication and storage of data by processing read-only operations, without storing the operations persistently, in a distributed computer system, the distributed computer system being operated under a Paxos-type protocol and including the quorum leader and one or more quorum members, the system comprising:
-
one or more processors; one or more computer-readable storage media coupled to the one or more processors, and having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform the following; the quorum leader receiving a read-only request; the quorum leader determining an appropriate order defined by a determined execution slot for processing the read-only request; the quorum leader adding a no-earlier-than indication to the operation for the read-only request indicating that the operation is to be executed no earlier than the determined execution slot number; the quorum leader selecting one of the quorum members to serve as an appropriate replica which is determined to process the received read-only request; and the quorum leader sending the read-only request and the determined execution slot number and no-earlier-than indication to the determined appropriate replica causing the determined appropriate replica to execute the read-only request by processing a read-only operation of the request, based on the determined execution slot number and the no-earlier-than indication, at an execution slot that is later than the determined execution slot number, and without storing the operation persistently. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, implemented at a computer system that includes one or more processors, for managing replication and storage of data by processing read-only operations, without storing the operations persistently, the method comprising:
-
receiving a read-only request; determining an appropriate order defined by a determined execution slot for processing an operation for the read-only request; adding a no-earlier-than indication to the operation for the read-only request indicating that the operation is to be executed no earlier than the determined execution slot; determining one of the plurality of quorum members to serve as an appropriate replica which is determined to be best able to process the received read-only request; sending the read-only request and the determined execution slot and no-earlier-than indication to the appropriate replica, causing the read-only request to be executed at the determined appropriate replica by processing the operation for the read-only request, based on the slot and the no-earlier-than indication, at an execution slot that is later than the determined execution slot number, and without storing the operation persistently. - View Dependent Claims (11, 12, 13, 18)
-
-
14. A computing system comprising at least one quorum leader for managing replication and storage of data by processing read-only operations, without storing the operations persistently, in a distributed computer system, the distributed computer system being operated under a Paxos-type protocol and including the quorum leader and one or more quorum members, the system comprising:
-
one or more processors; and one or more computer-readable storage media coupled to the one or more processors, and having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform the following; the quorum leader receiving a read-only request; the quorum leader determining an appropriate order defined by a determined execution slot for processing an operation for the read-only request; the quorum leader adding a no-earlier-than indication to the operation for the read-only request indicating that the operation is to be executed no earlier than the determined execution slot, wherein the operation is executed after the operation is committed, and wherein the operation is committed when at least half of the quorum members have both logged the operation and agreed to put the read-only request in the execution slot; the quorum leader determining one of the quorum members to serve as an appropriate replica which is determined to be best able to process the received read-only request; the quorum leader then sending messages to the quorum members to determine whether the quorum members have recognized a new quorum leader, and if not, sending the read-only request and the determined execution slot and no-earlier-than indication to the appropriate replica, and then executing the read-only request at the determined appropriate replica by processing the read-only operation of the request, based on the slot and the no-earlier-than indication, at an execution slot that is later than the determined execution slot number, and without storing the operation persistently; and if so, discarding any pending read-only request and the quorum leader then acting as a regular quorum member. - View Dependent Claims (15, 16, 17)
-
Specification