Distributed data store with a designated master to ensure consistency
First Claim
1. A method implemented across a network that is associated with one or more client machines, wherein the method comprises the steps of:
- providing storage of data at a data store that is distributed between a plurality of computers, wherein at least one portion of the data is duplicated across at least two of the plurality of the computers;
sending a request to implement a transactional operation on the data store, wherein the transactional operation comprises an update of at least a portion of the data in the data store, and wherein the request is sent from a selected client machine to a master machine;
generating a system orderstamp at the master machine in response to the received request, wherein the orderstamp uniquely identifies the requested transactional operation;
sending the system orderstamp from the master machine to the selected client machine;
propagating any of the system orderstamp or updated data from the master machine to each of the plurality of computers at which the data to be updated in response to the requested transactional operation is stored, wherein the updated data reflects results of the requested transactional operation; and
updating the data store in response to the requested transactional operation;
wherein the data remains consistent across the data store.
1 Assignment
0 Petitions
Accused Products
Abstract
One machine, i.e. computer, on a network, such as associated with a distributed database, e.g. a data store or a partition thereof, is designated as a master, which alone can issue system orderstamps for transactional operations, while other machines associated with the data store or partition thereof act as any of clients that submit transactions to the master, or as slaves that adhere to updates from the master. If a transactional operation on the distributed database is attempted on a client machine, and communication cannot be established with the master machine, the transaction fails. The distributed data store having such a master provides a method that decreases transaction time across the distributed database, and maintains consistent data between separate machines.
66 Citations
30 Claims
-
1. A method implemented across a network that is associated with one or more client machines, wherein the method comprises the steps of:
-
providing storage of data at a data store that is distributed between a plurality of computers, wherein at least one portion of the data is duplicated across at least two of the plurality of the computers; sending a request to implement a transactional operation on the data store, wherein the transactional operation comprises an update of at least a portion of the data in the data store, and wherein the request is sent from a selected client machine to a master machine; generating a system orderstamp at the master machine in response to the received request, wherein the orderstamp uniquely identifies the requested transactional operation; sending the system orderstamp from the master machine to the selected client machine; propagating any of the system orderstamp or updated data from the master machine to each of the plurality of computers at which the data to be updated in response to the requested transactional operation is stored, wherein the updated data reflects results of the requested transactional operation; and updating the data store in response to the requested transactional operation; wherein the data remains consistent across the data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system implemented across a network that is associated with one or more client machines, wherein the system comprises:
-
a data store for storing data, wherein the data store is distributed between a plurality of computers, wherein at least one portion of the data is duplicated across at least two of the plurality of the computers; a request to implement a transactional operation on the data store, wherein the transactional operation comprises an update of at least a portion of the data in the data store, and wherein the request is sent from a selected client machine to a master machine; a generation of a system orderstamp at the master machine in response to the received request, wherein the orderstamp uniquely identifies the requested transactional operation; a transmission of the system orderstamp from the master machine to the selected client machine; propagation of any of the system orderstamp or updated data from the master machine to each of the plurality of computers at which the data to be updated in response to the requested transactional operation is stored, wherein the updated data reflects results of the requested transactional operation; a mechanism for updating the data store in response to the requested transactional operation; wherein the data remains consistent across the data store. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A system implemented across a network that is associated with one or more client machines, wherein the system comprises:
-
a plurality of computers, wherein each of the computers comprises a processor associated therewith; a data store for storing data, wherein the data store is distributed between the plurality of computers, wherein at least one portion of the data is duplicated across at least two of the plurality of the computers; wherein a selected client machine is configured to send a request to a master machine to implement a transactional operation on the data store, wherein the transactional operation comprises an update of at least a portion of the data in the data store; wherein a processor associated with the master machine is configured to generate a system orderstamp in response to the received request, wherein the orderstamp uniquely identifies the requested transactional operation, transmit the system orderstamp to the selected client machine, and propagate any of the system orderstamp or updated data to each of the plurality of computers at which the data to be updated in response to the requested transactional operation is stored, wherein the updated data reflects results of the requested transactional operation; wherein the processors associated with each of the plurality of computers at which the data to be updated is stored are configured to update the data store in response to the requested transactional operation; and wherein the data remains consistent across the data store. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification