Data replication framework
First Claim
Patent Images
1. A computing system for providing updated membership information, the system comprising:
- a plurality of hosts, wherein individual hosts comprise a data store and have a membership state;
a membership module comprising a member store and a processor operative to execute instructions stored in memory to;
exchange data with a core replication interface;
determine that a host of a replication group has been unavailable to exchange data with one or more other hosts of the replication group for a threshold period of time, wherein the host determined to be unavailable for the threshold period of time is designated as permanently unavailable;
determine that the host designated as permanently unavailable is attempting to rejoin the replication group; and
specify a non-symmetrical communication of a membership state to the host designated as permanently unavailable from a different host of the replication group, wherein the non-symmetrical communication of the membership state corresponds to the host designated as permanently unavailable receiving membership state information from the other host of the replication group and accepting membership state information from the different host, and the different host of the replication group discarding membership state information received from the host designated as permanently unavailable; and
a server registry, comprising;
a member store interface including a processor and operative to execute instructions stored in memory to exchange membership states of the plurality of hosts with the member store;
a replicated data store interface including a processor and operative to execute instructions stored in memory to remotely persist changes in membership state on the core replication interface; and
a direct replication interface including a processor and operative to execute instructions stored in memory to remotely persist changes in membership state of the plurality of hosts to individual hosts'"'"' respective data store.
1 Assignment
0 Petitions
Accused Products
Abstract
Generally described, the present disclosure is directed to an eventually consistent replicated data store that uses, for its underlying storage, a computer software library that provides a high-performance embedded database for data. The replicated data store employs a plurality of hosts interconnected to one another, allowing for writes to any host and full awareness of membership across all hosts. With the data replication framework disclosed herein, various modes are allowed to be built up on top of the core system.
-
Citations
15 Claims
-
1. A computing system for providing updated membership information, the system comprising:
-
a plurality of hosts, wherein individual hosts comprise a data store and have a membership state; a membership module comprising a member store and a processor operative to execute instructions stored in memory to; exchange data with a core replication interface; determine that a host of a replication group has been unavailable to exchange data with one or more other hosts of the replication group for a threshold period of time, wherein the host determined to be unavailable for the threshold period of time is designated as permanently unavailable; determine that the host designated as permanently unavailable is attempting to rejoin the replication group; and specify a non-symmetrical communication of a membership state to the host designated as permanently unavailable from a different host of the replication group, wherein the non-symmetrical communication of the membership state corresponds to the host designated as permanently unavailable receiving membership state information from the other host of the replication group and accepting membership state information from the different host, and the different host of the replication group discarding membership state information received from the host designated as permanently unavailable; and a server registry, comprising; a member store interface including a processor and operative to execute instructions stored in memory to exchange membership states of the plurality of hosts with the member store; a replicated data store interface including a processor and operative to execute instructions stored in memory to remotely persist changes in membership state on the core replication interface; and a direct replication interface including a processor and operative to execute instructions stored in memory to remotely persist changes in membership state of the plurality of hosts to individual hosts'"'"' respective data store. - View Dependent Claims (2, 3)
-
-
4. A computing system for providing a plurality of interconnected hosts, the system comprising:
-
a plurality of hosts, wherein individual hosts comprise a data store, support at least one service, and are associated with a membership state; a server registry including a processor and operative to execute instructions stored in memory to monitor connections and disconnections of the plurality of hosts; and a membership module including a processor and operative to execute instructions stored in memory to; determine that a first host of a replication group has been unavailable to exchange data with one or more other hosts of the replication group for a threshold period of time, wherein the host determined to be unavailable for the threshold period of time is designated as permanently unavailable; determine that the host designated as permanently unavailable is attempting to rejoin the replication group; and cause implementation of a non-symmetrical transfer of a membership state to the host designated as permanently unavailable from a second host of the replication group, wherein the non-symmetrical communication of the membership state corresponds to; the host designated as permanently unavailable receiving the membership state from the second host of the replication group and accepting membership state information from the second host, and the second host of the replication group discarding a membership state received from the host designated as permanently unavailable; wherein individual ones of the plurality of hosts send a list of supported services to the server registry; and wherein the server registry creates a hash table of the supported services, updates the hash table according to new host connections and existing host disconnections, and exports the hash table to individual hosts. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for providing a plurality of interconnected hosts, the method comprising:
-
receiving a list of supported services from individual hosts of a plurality of hosts; monitoring availability of individual hosts of the plurality of hosts; creating a hash table of the supported services; updating the hash table according to the host availabilities; exporting the hash table to individual hosts; determining that a host of a replication group has been unavailable to exchange data with one or more other hosts of the replication group for a threshold period of time, wherein the host determined to be unavailable for the threshold period of time is designated as permanently unavailable; determining that the host designated as permanently unavailable is attempting to rejoin the replication group; and causing implementation of a non-symmetrical communication of a membership state to the host designated as permanently unavailable from a second host of the replication group, wherein the non-symmetrical communication of the membership state corresponds to; the host designated as permanently unavailable receiving the membership state from the second host of the replication group and accepting membership state information from the second host, and the second host of the replication group discarding a membership state received from the host designated as permanently unavailable, wherein the method is performed on a computing device comprising a processor and memory.
-
-
13. A non-transitory computer-readable storage medium for providing updated membership information, the non-transitory computer-readable storage medium comprising:
-
a core replication interface; a membership module comprising a member store and a membership agent configured to; exchange data with the core replication interface; determine that a host of a replication group has been unavailable to exchange data with one or more other hosts of the replication group for a threshold period of time, wherein the host determined to be unavailable for the threshold period of time is designated as permanently unavailable; determine that the host designated as permanently unavailable is attempting to rejoin the replication group; and cause implementation of a non-symmetrical transfer of a membership state to the host designated as permanently unavailable from a second host of the replication group, wherein the non-symmetrical transfer of the membership state corresponds to; the host designated as permanently unavailable receiving the membership state from the second host of the replication group and accepting membership state information from the second host, and the second host of the replication group discarding a membership state received from the host designated as permanently unavailable; and a server registry, comprising; a member store interface configured to exchange membership state with the member store; a replicated data store interface configured to remotely persist changes in membership state on the core replication interface; and a direct replication interface configured to remotely persist changes in membership state to individual hosts'"'"' respective data store. - View Dependent Claims (14, 15)
-
Specification