Method and apparatus for distributed configuration management
First Claim
1. A non-transitory computer-readable medium containing program instructions executable by a processor to perform a method of replicating data structures, the method comprising:
- on a network of peer nodes, wherein data structures are replicated to all the peer nodes on the network;
designating a single peer node of the peer nodes as an owner node of a data structure;
permitting only the owner node to modify the data structure;
when one peer node of the peer nodes desires to modify the data structure and determines it is not the owner node, the one peer node initiating a present request to modify the data structure, wherein the present request comprises one of the data structures and the present request is owned by the one peer node, andthe one peer node transmitting the present request to all other peer nodes on the network, the owner node upon receiving the present request determines whether the owner node has processed each prior request that was created before the present request;
when the owner node executes each prior request that was created before the present request, creating a record maintained by the owner node with;
a monotonically increasing transaction number that is owned by the owner node,a schema revision modified by changes to the data structure, andthe changes that were made to the data structure; and
the owner node executing the present request to modify the data structure and creating a record of the modification associated with the present request.
1 Assignment
0 Petitions
Accused Products
Abstract
Method and apparatus for replicating data structures over a network in which each data structure is assigned an owner node among a plurality of networked peer nodes. Preferably that owner can be ascertained through information in the data structure. When an update to the data structure is desired by a non-owner, a request to modify the data structure is sent out on the network and when received by the owner, the owner performs the modification. The owner node can then notify the other nodes regarding the update. The method, implemented through a single-writer, multiple-reader paradigm, insures availability, partition tolerance and eventual consistency; it avoids the high overhead costs and single point of failure drawbacks of the prior art centralized management and locking protocols. Administrators can connect to any peer node in the network to manage, monitor and request modifications to a data structure.
23 Citations
23 Claims
-
1. A non-transitory computer-readable medium containing program instructions executable by a processor to perform a method of replicating data structures, the method comprising:
on a network of peer nodes, wherein data structures are replicated to all the peer nodes on the network; designating a single peer node of the peer nodes as an owner node of a data structure; permitting only the owner node to modify the data structure; when one peer node of the peer nodes desires to modify the data structure and determines it is not the owner node, the one peer node initiating a present request to modify the data structure, wherein the present request comprises one of the data structures and the present request is owned by the one peer node, and the one peer node transmitting the present request to all other peer nodes on the network, the owner node upon receiving the present request determines whether the owner node has processed each prior request that was created before the present request; when the owner node executes each prior request that was created before the present request, creating a record maintained by the owner node with; a monotonically increasing transaction number that is owned by the owner node, a schema revision modified by changes to the data structure, and the changes that were made to the data structure; and the owner node executing the present request to modify the data structure and creating a record of the modification associated with the present request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A method implemented by a computer network, the method comprising:
-
obtaining information in a replica of a data structure that is replicated on multiple peer nodes, the information indicating one of the peer nodes as an owner node that has exclusive rights to update the data structure; determining if a peer node is the owner node via the information; if the peer node is not the owner node, performing actions comprising; sending a present request to update the data structure to all directly connected peer nodes to propagate the present request; determining whether the owner node has processed each prior request that was created before the present request; and when the owner node executes each prior request that was created before the present request, creating a record maintained by the owner node with; a monotonically increasing transaction number that is owned by the owner node, a schema revision modified by changes to the data structure, and the changes that were made to the data structure; and the owner node receiving the present request, updating the data structure after receiving the present request; sending an update regarding the updated data structure to all directly connected peer nodes to propagate the update; and creating a new record of the modification associated with the present request. - View Dependent Claims (18)
-
- 19. The method of 17, wherein upon determining that the owner node has not processed each prior request that was created before the present request, send by the owner node to at least one peer node a new request for a modification update to the data structure associated with each prior request.
-
22. A peer node in a distributed computer system including a plurality of peer nodes, the peer node comprising:
-
a processor; and a non-transitory computer readable medium storing computer-readable instructions, wherein the processor is to execute the computer-readable instructions to; participate in replicating a data structure across the plurality of peer nodes; update the replica of the data structure on the peer node; determine whether the peer node is an owner node of the data structure based on information included in the data structure; if the peer node is not the owner node, transmit, by the peer node, a present request to modify the data structure to all other peer nodes in the network; if the peer node is the owner node, determine whether the peer node has processed each prior request that was created before the present request; and when the peer node that is the owner node processes each prior request that was created before the present request, create a record maintained by the owner node with; a monotonically increasing transaction number that is owned by the peer node, a schema revision modified by changes to the data structure, and the changes that were made to the data structure associated with the peer node to log the processing of each prior request, and process a response to the present request to modify the data structure, wherein the owner node has exclusive rights to update the data structure, and the present request and response are also data structures replicated across the peer nodes; and create a new record of the modification associated with the present request. - View Dependent Claims (23)
-
Specification