Back to results
US 8,949,180 B1Granted
Replicating key-value pairs in a continuous data protection system
AssigneeEMC International Company
InventorsAssaf Natanzon, Saar Cohen, Alex Solan, Jehuda Shemer
Life of this patent
Estimating the term…
Abstract
In one aspect, a method to replicate a key-value pair includes intercepting a command to update a key-value pair in a key-value pair database, the key-value database comprising metadata of a virtual volume, sending an updated key-value pair to a data protection appliance, receiving an acknowledgement that the data protection appliance received the updated key-value pair and updating the key-value pair in the key-value database after the acknowledgement is received.
Claims10
A method to replicate a key-value pair, comprising:
- intercepting a command to update a key-value pair in a key-value pair database, the key-value database comprising metadata of a virtual volume;
- sending an updated key-value pair to a data protection appliance;
- receiving an acknowledgement that the data protection appliance received the updated key-value pair;
- updating the key-value pair in the key-value database after the acknowledgement is received;
- receiving key-value pairs and inputs/outputs (I/Os) arriving to the virtual volume;
- sending the I/Os and the key-value pairs to a target side for replication;
- storing the I/Os and the key-value pairs at a journal on the target side;
- reading data from the journal;
- and
- determining if the data read is write data,
- if the data read is not write data:
- determining if the data read is a value-key pair;
- reading a current value of the key-value pair if the data read is a key-value pair;
- writing the current value of the key-value pair to the journal;
- sending a command to a virtual volume Application Program Interface (API) provider to update key-value pair;
- and
- writing a null value if the current value of the key-value cannot be read.
14 more elements
An article comprising:
- a non-transitory machine-readable medium that stores executable instructions, the instructions causing a machine to:
- intercept a command to update a key-value pair in a key-value pair database, the key-value database comprising metadata of a virtual volume;
- send an updated key-value pair to a data protection appliance;
- receive an acknowledgement that the data protection appliance received the updated key-value pair;
- update the key-value pair in the key-value database after the acknowledgement is received;
- receive key-value pairs and inputs/outputs (I/Os) arriving to the virtual volume;
- send the I/Os and the key-value pairs to a target side for replication;
- store the I/Os and the key-value pairs at a journal on the target side;
- read data from the journal;
- and
- determine if the data read is write data. if the data read is not write data:
- determine if the data read is a value-key pair;
- read a current value of the key-value pair if the data read is a key-value pair;
- write the current value of the key-value pair to the journal;
- send a command to a virtual volume Application Program Interface (API) provider to update key-value pair;
- and
- write a null value if the current value of the key-value cannot be read.
14 more elements
An apparatus, comprising:
- circuitry configured to:
- intercept a command to update a key-value pair in a key-value pair database, the key-value database comprising metadata of a virtual volume;
- send an updated key-value pair to a data protection appliance;
- receive an acknowledgement that the data protection appliance received the updated key-value pair;
- and
- update the key-value pair in the key-value database after the acknowledgement is received;
- receive key-value pairs and I/Os arriving to the virtual volume;
- send the I/Os and the key-value pairs to a target side for replication;
- store the I/Os and the key-value pairs at a journal on the target side;
- read data from the journal;
- and
- determine if the data read is write data:
- if the data read is not write data:
- determine if the data read is a value-key pair;
- read a current value of the key-value pair if the data read is a key-value write the current value of the key-value pair to the journal;
- send a command to a virtual volume API provider to update key-value pair;
- and
- write a null value if the current value of the key-value cannot be read.
15 more elements
Dependencies are inferred from the claim text.