Transactional Replicator
First Claim
1. A system, comprising:
- a plurality of nodes each hosting one or more state providers, the state providers configured to provide transactional semantics for interactions with users; and
a transactional replicator configured to replicate states from a primary state-provider replica to at least one secondary state-provider replica, the transactional replicator further configured to;
identify when a first transaction has been committed;
initiate a first group commit by applying a first group of transaction events to the primary state-provider replicas, wherein the first group of transaction events comprise all transaction events received during a first period; and
replicate the first group of transaction events to the secondary state-provider replicas.
1 Assignment
0 Petitions
Accused Products
Abstract
A transactional replicator applying group commit and barrier concepts is disclosed. Group commit means that the transactional replicator commits multiple transactions in a group and is not restricted to committing single transactions one-at-a-time and is not limited to operating on a single state provider. Barrier means that the transactional replicator does not move forward to commit additional transactions until the previous group of transactions are completed. All state providers must apply their transactions and update state before additional transactions will be committed. A quorum acknowledgement “unlocks” any locks that were acquired to update the state within a state provider. However, as long as there are no lock conflicts, additional transactions can continue to create new group commits as necessary.
-
Citations
18 Claims
-
1. A system, comprising:
-
a plurality of nodes each hosting one or more state providers, the state providers configured to provide transactional semantics for interactions with users; and a transactional replicator configured to replicate states from a primary state-provider replica to at least one secondary state-provider replica, the transactional replicator further configured to; identify when a first transaction has been committed; initiate a first group commit by applying a first group of transaction events to the primary state-provider replicas, wherein the first group of transaction events comprise all transaction events received during a first period; and replicate the first group of transaction events to the secondary state-provider replicas. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method, comprising:
-
receiving, at a state provider running on a node of a distributed computing system, a prepare-checkpoint instruction from a transactional replicator; identifying all current state changes being applied by the state provider; receiving, at the state provider, a perform-checkpoint instruction from the transactional replicator; storing the current state changes to a temporary checkpoint file; receiving, at the state provider, a complete-checkpoint instruction from the transactional replicator; and designating the temporary checkpoint file as a completed checkpoint file. - View Dependent Claims (15)
-
-
16. A computing node in a distributed computing system, comprising:
-
one or more state providers, the state providers configured to provide transactional semantics for interactions with users; and a transactional replicator configured to replicate states from a primary state-provider replica to at least one secondary state-provider replica, the transactional replicator further configured to; create a complete backup file documenting all state in a current primary state-provider replica; create a series of incremental backup files documenting state changes on the current primary state-provider replica since a prior full or incremental backup, the incremental backup files including checkpoint logs for the primary state-provider replica; and provide the complete and incremental backup files to a user for storage outside the system. - View Dependent Claims (17, 18)
-
Specification