Moving data between data stores
First Claim
1. A computer-implemented method, comprising:
- under control of one or more computing systems configured with executable instructions,reading an original data object with a state of “
unlocked”
that is stored in a source data store to obtain substantive data, a version number, and an identifier of the original data object;
storing a duplicate data object of the original data object to a destination data store with a state of “
locked from the source data store”
when no other data object with the identifier preexists on the destination data store, the duplicate data object being provided with an additional version number;
changing the state of the original data object to “
locked to the destination data store”
when the version number of the original data object is unchanged just prior to the changing;
modifying the state of the duplicate data object to “
unlocked”
when the additional version number of the duplicate data object is unchanged just prior to the modifying; and
deleting the original data object from the source data store.
1 Assignment
0 Petitions
Accused Products
Abstract
A data object may be moved from a source data store to a destination data store via replication. The replication is initiated when an original data object in a source data store that is capable of being both read from and being written to is read. Following the read, the original data object is then duplicated to a destination data store. The duplicate data object is provided with a state that indicates the duplicate object is duplicated from the source data store and can be read but cannot accept a data write. Subsequently, the state of the original data object is changed to can be read but cannot be written to using optimistic locking. Further, the state of the duplicate data object is also modified to being capable of both read from and written to with the use of optimistic locking. The replication is completed with the deletion of the original data object from the source data store.
-
Citations
37 Claims
-
1. A computer-implemented method, comprising:
under control of one or more computing systems configured with executable instructions, reading an original data object with a state of “
unlocked”
that is stored in a source data store to obtain substantive data, a version number, and an identifier of the original data object;storing a duplicate data object of the original data object to a destination data store with a state of “
locked from the source data store”
when no other data object with the identifier preexists on the destination data store, the duplicate data object being provided with an additional version number;changing the state of the original data object to “
locked to the destination data store”
when the version number of the original data object is unchanged just prior to the changing;modifying the state of the duplicate data object to “
unlocked”
when the additional version number of the duplicate data object is unchanged just prior to the modifying; anddeleting the original data object from the source data store. - View Dependent Claims (2)
-
3. A computer-implemented method, comprising:
under control of one or more computing systems configured with executable instructions, reading an original data object that is stored in a source data store having a state indicating that the original data object is able to be read from and written to; storing, based at least in part on the reading of the original data object, a duplicate data object of the original data object to a destination data store with a state indicating that the duplicate data object is able to be read from but not written to, the state of the duplicate data object further indicating that the duplicate data object is a duplicate from the source data store; changing, using optimistic locking, the state of the original data object to indicate that the original data object is able to be read from but not written to and to indicate that the original data object is being duplicated to the destination data store; modifying, using optimistic locking, the state of the duplicate data object to indicate that the duplicate data object is able to be read from and written to; and deleting the original data object from the source data store. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
18. One or more non-transitory computer readable media storing computer-executable instructions that, when executed, cause one or more processors to perform acts comprising:
-
determining a state of an original data object that is stored in a source data store at a start of a replication of the original data object to a destination data store; and conducting the replication when (1) the state of the original data object indicates that the original data object is able to be read from and written to, and (2) a duplicate data object of the original data object does not exist on the destination data store at the start, the replication comprising; storing the duplicate data object of the original data object to the destination data store with a state that indicates that the duplicate data object is able to be read from but not written to and that the duplicate data object is being duplicated from the source data store; changing the state of the original data object to indicate that the original data object is being duplicated to the destination data store using optimistic locking; modifying the state of the duplicate data object to indicate that the duplicate data object is able to be read from and written to using optimistic locking; and deleting the original data object from the source data store. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system, comprising:
-
one or more processors; and a first data store that stores an original data object that includes substantive data and a state field having a locking indicator that indicates accessibility status, a data store pointer, and a duplication indicator that indicates a direction of duplication; a second data store; and memory storing components executable by the one or more processors, the components comprising; a data relocation component to initiate a move of the original data object to the second data store by storing a duplicate data object that includes the same substantive data as the original data object on the second data store. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
Specification