Systems and methods of asynchronous data replication
First Claim
1. A method of asynchronous data replication over a network, wherein one or more applications send write commands to a primary host, comprising:
- at the primary host;
acknowledging each write command before transmitting the write command to a secondary host;
assigning a data set ID to each write command;
transmitting each write command before the application has sent all of the write commands of the data set to the primary host;
assigning the data set ID to a sync command;
transmitting the sync command, wherein the write commands and the sync command define a data set;
at the secondary host;
receiving the write commands and sync command out of order; and
writing the data set to a storage coupled to the secondary host.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to systems and methods of asynchronous data replication. In an embodiment, the system includes a primary host that asynchronously transmits write and sync commands where each write and sync command includes a data set ID and a sequence number. A secondary host coupled to the primary host receives the write and sync commands out of order, tracks receipt of write and sync commands, and after receipt of the write and sync commands of the data set writes blocks associated with the write commands to data storage coupled to the secondary host.
62 Citations
27 Claims
-
1. A method of asynchronous data replication over a network, wherein one or more applications send write commands to a primary host, comprising:
-
at the primary host;
acknowledging each write command before transmitting the write command to a secondary host;
assigning a data set ID to each write command;
transmitting each write command before the application has sent all of the write commands of the data set to the primary host;
assigning the data set ID to a sync command;
transmitting the sync command, wherein the write commands and the sync command define a data set;
at the secondary host;
receiving the write commands and sync command out of order; and
writing the data set to a storage coupled to the secondary host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system of asynchronous data replication, comprising:
-
a primary host asynchronously transmitting write commands and sync commands, wherein each write command has a data set ID and each sync command has a data set ID; and
a secondary host, coupled to the primary host, tracking receipt of the write and sync commands and after receipt of the write and sync commands, writing the write commands to a storage coupled to the secondary host. - View Dependent Claims (19, 20, 21)
-
-
22. A system of asynchronous data replication, comprising:
-
a primary host asynchronously transmitting write and sync commands for a first data set and a second data set; and
a secondary host, coupled to the primary host, receiving and writing the write and sync commands to a storage, wherein the primary host transmits write and sync commands for the second data set before the secondary host acknowledges the first data set was written to the storage.
-
-
23. A system of asynchronous data replication, comprising:
-
a primary host asynchronously transmitting write commands and blocks over a network without waiting to complete a data set with a sync command; and
a secondary host coupled to the network receiving the write commands, the blocks, and the sync command in any order, wherein the secondary host writes the data set to storage coupled to the secondary host.
-
-
24. A system of asynchronous data replication, comprising:
-
a primary host receiving write commands from an application, generating sync commands, and transmitting the write and sync commands over a network asynchronously and independently from one or more data sets; and
a secondary host, coupled to the network, receiving the write and sync commands out of order and writing the data sets in order to storage coupled to the secondary host.
-
-
25. A method of data replication, comprising the steps of:
-
transmitting a data set from a primary host to a secondary host wherein the secondary host includes a data structure with a complete flag;
writing the data set to a target VLUN at the secondary host;
setting the complete flag=yes once the data set is written to the target VLUN at the secondary host; and
writing the data set to a source VLUN at the secondary host.
-
-
26. A method of data replication comprising the steps of:
-
transmitting a data set from a primary host to a secondary host wherein the secondary host includes a data structure with a complete flag;
writing the data set to a target VLUN at the secondary host;
setting the complete flag=yes once the data set is written to the target VLUN at the secondary host;
resuming operation of the secondary host after a failure; and
writing the data set to a source VLUN at the secondary host.
-
-
27. A method of data replication comprising the steps of:
-
transmitting a data set from a primary host to a secondary host wherein the secondary host includes a data structure with a complete flag;
writing part of the data set to a target VLUN at the secondary host;
resuming operation of the secondary host after a failure;
erasing the part of data set written to the target VLUN at the secondary host;
retransmitting the data set from the primary host to the secondary host;
writing the data set to the target VLUN at the secondary host;
setting the complete flag=yes once the data set is written to the target VLUN at the secondary host; and
writing the data set to a source VLUN at the secondary host.
-
Specification