EXECUTING DISTRIBUTED GLOBALLY-ORDERED TRANSACTIONAL WORKLOADS IN REPLICATED STATE MACHINES
First Claim
1. A computer readable storage medium embodying instructions executed by a processor to perform a method of transaction replication, comprising:
- transmitting at least one transaction received during an epoch, by a local datastore node, to at least one remote datastore node of a plurality of remote datastore nodes upon an end of the epoch, wherein the epoch corresponds to a predefined time period having a fixed length, and the local datastore node and the plurality of remote datastore nodes are part of a domain of 2N+1 datastore nodes, wherein N is an integer greater than or equal to 1;
logging a receipt of the at least one transaction, by the at least one remote datastore node, upon receiving the at least one transaction at the at least one remote datastore node;
notifying the local datastore node of the receipt of the at least one transaction, by the at least one remote datastore node, upon receiving the at least one transaction at the at least one remote datastore node;
transmitting the at least one transaction to all datastore nodes in the domain other than the local datastore node and the at least one remote datastore node, by the at least one remote datastore node, upon receiving the at least one transaction at the at least one remote datastore node; and
adding the at least one transaction to an execution order, at each of the datastore nodes of the domain, upon receiving at least N+1 copies of the at least one transaction at each of the datastore nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of transaction replication includes transmitting at least one transaction received during an epoch from a local node to remote nodes of a domain of 2N+1 nodes at the end of an epoch (N is an integer greater than or equal to 1). The remote nodes log receipt of the at least one transaction, notify the local node of the receipt of the at least one transaction, transmit the at least one transaction to all of the 2N+1 nodes, and add the at least one transaction to an execution order upon receiving at least N+1 copies of the at least one transaction.
16 Citations
6 Claims
-
1. A computer readable storage medium embodying instructions executed by a processor to perform a method of transaction replication, comprising:
-
transmitting at least one transaction received during an epoch, by a local datastore node, to at least one remote datastore node of a plurality of remote datastore nodes upon an end of the epoch, wherein the epoch corresponds to a predefined time period having a fixed length, and the local datastore node and the plurality of remote datastore nodes are part of a domain of 2N+1 datastore nodes, wherein N is an integer greater than or equal to 1; logging a receipt of the at least one transaction, by the at least one remote datastore node, upon receiving the at least one transaction at the at least one remote datastore node; notifying the local datastore node of the receipt of the at least one transaction, by the at least one remote datastore node, upon receiving the at least one transaction at the at least one remote datastore node; transmitting the at least one transaction to all datastore nodes in the domain other than the local datastore node and the at least one remote datastore node, by the at least one remote datastore node, upon receiving the at least one transaction at the at least one remote datastore node; and adding the at least one transaction to an execution order, at each of the datastore nodes of the domain, upon receiving at least N+1 copies of the at least one transaction at each of the datastore nodes. - View Dependent Claims (2, 3, 4, 5, 6)
-
Specification