Replication protocol with consensus for a decentralized control plane in a computer system
First Claim
1. A method of replicating service state among a plurality of nodes in a computer system, comprising:
- sending a request for a service to an owner node of the plurality of nodes, the owner node being selected based on the service targeted by the request;
receiving a completion of the request after execution of a handler of a service instance on the owner node, where the service instance is an instance of the service and the completion indicates that the handler successfully updated a state of the service on the owner node;
replicating the updated state of the service as a proposed state among a plurality of peer nodes of the plurality of nodes and receiving replies from the plurality of peer nodes about verification of the proposed state at each of the peer nodes;
determining whether success replies in the replies have been received from a quorum of the plurality of peer nodes, sending requests to commit the proposed state at each of the peer nodes in response to achieving the quorum, and initiating synchronization of state among the plurality of peer nodes in response to not achieving the quorum; and
providing a response to the request for the service, from the owner node, for transmission to a client that originated the request.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of replicating service state among a plurality of nodes in a computer system includes sending a request for a service to an owner node, the owner node being selected based on the service targeted by the request; receiving a completion of the request after execution of a handler of a service instance on the owner node, where the service instance is an instance of the service and the completion indicates that the handler successfully updated a state of the service on the owner node; replicating the updated state of the service as a proposed state among a plurality of peer nodes and receiving replies from the plurality of peer nodes about verification of the proposed state; and providing a response to the request, from the owner node, for transmission to a client that originated the request, the response being generated based on the replies.
52 Citations
20 Claims
-
1. A method of replicating service state among a plurality of nodes in a computer system, comprising:
-
sending a request for a service to an owner node of the plurality of nodes, the owner node being selected based on the service targeted by the request; receiving a completion of the request after execution of a handler of a service instance on the owner node, where the service instance is an instance of the service and the completion indicates that the handler successfully updated a state of the service on the owner node; replicating the updated state of the service as a proposed state among a plurality of peer nodes of the plurality of nodes and receiving replies from the plurality of peer nodes about verification of the proposed state at each of the peer nodes; determining whether success replies in the replies have been received from a quorum of the plurality of peer nodes, sending requests to commit the proposed state at each of the peer nodes in response to achieving the quorum, and initiating synchronization of state among the plurality of peer nodes in response to not achieving the quorum; and providing a response to the request for the service, from the owner node, for transmission to a client that originated the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system, comprising:
a plurality of host computers supporting execution of a plurality of nodes, the plurality of nodes supporting execution of a plurality of services and a framework, the framework executable by the plurality of host computers to; send a request for a service of the plurality of services, to an owner node of the plurality of nodes, the owner node being selected based on the service targeted by the request; receive a completion of the request after execution of a handler of a service instance on the owner node, where the service instance is an instance of the service and the completion indicates that the handler successfully updated a state of the service on the owner node; replicate the updated state of the service as a proposed state among a plurality of peer nodes of the plurality of nodes and receiving replies from the plurality of peer nodes about verification of the proposed state at each of the peer nodes; determine whether success replies in the replies have been received from a quorum of the plurality of peer nodes, sending requests to commit the proposed state at each of the peer nodes in response to achieving the quorum, and initiating synchronization of state among the plurality of peer nodes in response to not achieving the quorum; and provide a response to the request for the service, from the owner node, for transmission to a client that originated the request. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
19. A non-transitory computer readable medium comprising instructions, which when executed in a computer system, causes the computer system to carry out a method of replicating service state among a plurality of nodes in a computer system, comprising:
-
sending a request for a service to an owner node of the plurality of nodes, the owner node being selected based on the service targeted by the request; receiving a completion of the request after execution of a handler of a service instance on the owner node, where the service instance is an instance of the service and the completion indicates that the handler successfully updated a state of the service on the owner node; replicating the updated state of the service as a proposed state among a plurality of peer nodes of the plurality of nodes and receiving replies from the plurality of peer nodes about verification of the proposed state at each of the peer nodes; determining whether success replies in the replies have been received from a quorum of the plurality of peer nodes, sending requests to commit the proposed state at each of the peer nodes in response to achieving the quorum, and initiating synchronization of state among the plurality of peer nodes in response to not achieving the quorum; and providing a response to the request for the service, from the owner node, for transmission to a client that originated the request. - View Dependent Claims (20)
-
Specification