System and method for dynamic configuration of replicated database servers
First Claim
1. A replicated database system, comprising:
- a plurality of server nodes each comprising a replica of a database, wherein the replicas of the database on the server nodes are concurrently accessible to service requests to the database; and
one or more pool nodes, wherein each of the one or more pool nodes is capable of becoming a server node in the replicated database system;
wherein the plurality of server nodes is configured to;
determine whether a new server node is needed in the plurality of server nodes; and
recruit one of the pool nodes as the new server node in the plurality of server nodes, wherein, to recruit one of the pool nodes as the new server node, at least one of the plurality of server nodes is configured to broadcast a message to the pool nodes requesting the pool nodes to volunteer to become the new server node.
2 Assignments
0 Petitions
Accused Products
Abstract
System and method for the dynamic configuration of replicated database servers. Embodiments may provide a mechanism to dynamically and automatically replace lost server nodes with a pool node to maintain a necessary or desired level of replication. Some embodiments may provide a mechanism or mechanisms to dynamically and automatically increase the number of server nodes to meet an increase in demand, and to dynamically and automatically decrease the number of server nodes during periods of decreased demand. To maintain consistency among the database replicas, some embodiments may provide a mechanism or mechanisms for synchronizing the database replicas on the server nodes. In one embodiment, the nodes may be peer nodes in a peer-to-peer network, and the pool nodes may be a peer group.
-
Citations
49 Claims
-
1. A replicated database system, comprising:
-
a plurality of server nodes each comprising a replica of a database, wherein the replicas of the database on the server nodes are concurrently accessible to service requests to the database; and one or more pool nodes, wherein each of the one or more pool nodes is capable of becoming a server node in the replicated database system; wherein the plurality of server nodes is configured to; determine whether a new server node is needed in the plurality of server nodes; and recruit one of the pool nodes as the new server node in the plurality of server nodes, wherein, to recruit one of the pool nodes as the new server node, at least one of the plurality of server nodes is configured to broadcast a message to the pool nodes requesting the pool nodes to volunteer to become the new server node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A server node, comprising:
-
a processor; and a memory comprising program instructions and a replica of a database, wherein the program instructions are executable by the processor to implement a replicated database server process configured to communicate with one or more other server nodes to; determine whether a new server node is needed, wherein, to determine that a new server node is needed, the replicated database server process is further configured to communicate with the one or more other server nodes to determine that demand on the replicated database has increased above a demand threshold; and recruit a pool node from one or more pool nodes each capable of becoming a server node as the new server node; wherein each server node comprises a replica of the database, and wherein the replicas of the database on the server nodes are concurrently accessible to service requests to the database. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system, comprising:
-
means for replicating a database on a plurality of server nodes, wherein the replicas of the database on the server nodes are concurrently accessible to service requests to the database; means for the server nodes determining whether a new server node is needed in the plurality of server nodes; means for the server nodes recruiting a pool node from one or more pool nodes as the new server node, wherein each of the one or more pool nodes is capable of becoming a server node in the replicated database system; means for the server nodes determining that one of the server nodes is no longer needed; and means for the one of the server nodes to be released, wherein the released server node becomes a pool node. - View Dependent Claims (25)
-
-
26. A method for dynamic configuration of a replicated database system, comprising:
-
a plurality of server nodes determining that a new server node is needed in the plurality of server nodes, wherein each of the plurality of server nodes comprises a replica of a database, and wherein the replicas of the database on the server nodes are concurrently accessible to service requests to the database, wherein said determining that a new server node is needed further comprises determining that demand on the replicated database system has increased above a demand threshold; the plurality of server nodes recruiting a pool node from one or more pool nodes to become the new server node in the plurality of server nodes, wherein each of the one or more pool nodes is capable of becoming a server node in the replicated database system; and configuring the recruited pool node to operate as the new server node in the plurality of server nodes. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A computer-accessible storage medium, comprising program instructions, wherein the program instructions are computer-executable to implement:
-
a plurality of server nodes determining that a new server node is needed in the plurality of server nodes, wherein each of the plurality of server nodes comprises a replica of a database, and wherein the replicas of the database on the server nodes are concurrently accessible to service requests to the database, wherein, in said determining that a new server node is needed, the program instructions are further computer-executable to implement determining that demand on the replicated database has increased above a demand threshold; the plurality of server nodes recruiting a pool node from one or more pool nodes to become the new server node in the plurality of server nodes, wherein each of the one or more pool nodes is capable of becoming a server node in the replicated database system; and configuring the recruited pool node to operate as the new server node in the plurality of server nodes. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
Specification