Data replication framework
First Claim
Patent Images
1. A computing system for dynamic membership enabling data replication, the computing system comprising:
- a plurality of hosts, wherein;
individual hosts include a data store and a member store, andthe plurality of hosts replicate data from a data store with at least one additional host of the plurality of hosts utilizing locally stored availability information;
a membership module configured to;
maintain availability information regarding availability of each of the plurality of hosts in a member store,identify an unavailable host among the plurality of hosts,attempt to reconnect with the unavailable host for a threshold period of time, andupdate the availability information to indicate that the unavailable host is permanently unavailable based on unsuccessful subsequent attempts to connect to the unavailable host for the threshold period of time,wherein one or more of the plurality of hosts indicated as available in the updated availability information ignore availability information received from the permanently unavailable host, wherein the availability information received from the permanently unavailable host relates to availability of one or more of the plurality of hosts, andwherein the permanently unavailable host is enabled to receive the updated availability information from the one or more of the plurality of hosts indicated as available in the updated availability information;
a server registry configured to replicate the updated availability information from the membership module to the data store of individual hosts; and
a membership agent in communication with the member store,wherein the server registry notifies the membership agent of host membership state changes, andwherein the membership agent replicates a common version of the updated availability information to the plurality of hosts, and wherein individual ones of the plurality of hosts replicate data with another available host based on the common version of the updated availability information.
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.
69 Citations
18 Claims
-
1. A computing system for dynamic membership enabling data replication, the computing system comprising:
-
a plurality of hosts, wherein; individual hosts include a data store and a member store, and the plurality of hosts replicate data from a data store with at least one additional host of the plurality of hosts utilizing locally stored availability information; a membership module configured to; maintain availability information regarding availability of each of the plurality of hosts in a member store, identify an unavailable host among the plurality of hosts, attempt to reconnect with the unavailable host for a threshold period of time, and update the availability information to indicate that the unavailable host is permanently unavailable based on unsuccessful subsequent attempts to connect to the unavailable host for the threshold period of time, wherein one or more of the plurality of hosts indicated as available in the updated availability information ignore availability information received from the permanently unavailable host, wherein the availability information received from the permanently unavailable host relates to availability of one or more of the plurality of hosts, and wherein the permanently unavailable host is enabled to receive the updated availability information from the one or more of the plurality of hosts indicated as available in the updated availability information; a server registry configured to replicate the updated availability information from the membership module to the data store of individual hosts; and a membership agent in communication with the member store, wherein the server registry notifies the membership agent of host membership state changes, and wherein the membership agent replicates a common version of the updated availability information to the plurality of hosts, and wherein individual ones of the plurality of hosts replicate data with another available host based on the common version of the updated availability information. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for enabling data replication for a plurality of hosts, the method comprising:
-
maintaining, at a member store, availability information related to availability of a plurality of hosts; monitoring availability states of the plurality of hosts; replicating the availability information to a data store associated with individual hosts; identifying an unavailable host among the plurality of hosts; attempting to reconnect with the unavailable host for a threshold period of time; updating the availability information to indicate that the unavailable host is permanently unavailable based on unsuccessful subsequent attempts to connect to the unavailable host for the threshold period of time, wherein one or more of the plurality of hosts indicated as available in the updated availability information ignore availability information received from the permanently unavailable host, wherein the availability information received from the permanently unavailable host relates to availability of one or more of the plurality of hosts, and wherein the permanently unavailable host is enabled to receive the updated availability information from the one or more of the plurality of hosts indicated as available in the updated availability information; receiving an indication of host membership state change; and replicating a common version of the updated availability information across the plurality of hosts, wherein an individual one of the plurality of hosts replicates data with another available host based on the common version of the updated availability information. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium containing computer-executable instructions for enabling data replication among a plurality of hosts, the computer-executable instructions comprising instructions that, when executed by a processor, cause the processor to:
-
maintain, at a member store, availability information related to a plurality of hosts, wherein individual hosts of the plurality of hosts each comprise a data store, wherein the availability information comprises an availability state of individual hosts of the plurality of hosts; monitor availability states of the plurality of hosts; replicate the availability information to the data store of individual hosts; identify an unavailable host among the plurality of hosts; attempt to reconnect with the unavailable host; attempt to reconnect with the unavailable host again with time delays after a first unsuccessful attempt; update the availability information to indicate that the unavailable host is permanently unavailable based on unsuccessful attempts to connect to the unavailable host for a threshold period of time, wherein one or more of the plurality of hosts indicated as available in the updated availability information ignore availability information received from the permanently unavailable host, wherein the availability information received from the permanently unavailable host relates to availability of one or more of the plurality of hosts, and wherein the permanently unavailable host is enabled to receive the updated availability information from the one or more of the plurality of hosts indicated as available in the updated availability information; receive an indication of host membership state change; and replicate a common version of the updated availability information across member stores of the plurality of hosts, wherein an individual one of the plurality of hosts is configured to replicate data with another host based on the common version of the updated availability information. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification