Flexible remote data mirroring
US-9270752-B2 · Feb 23, 2016 · US
US10003647B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10003647-B2 |
| Application number | US-201614997329-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 15, 2016 |
| Priority date | Nov 11, 1999 |
| Publication date | Jun 19, 2018 |
| Grant date | Jun 19, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods, systems, and configured storage media are provided for flexible data mirroring. In particular, the invention provides many-to-one data mirroring, including mirroring from local servers running the same or different operating systems and/or file systems at two or more geographically dispersed locations. The invention also provides one-to-many data mirroring, mirroring with or without a dedicated private telecommunications link, and mirroring with or without a dedicated server or another server at the destination(s) to assist the remote mirroring unit(s). In addition, the invention provides flexibility by permitting the use of various combinations of one or more external storage units and/or RAID units to hold mirrored data. Spoofing, SCSI and other bus emulations, and further tools and techniques are used in various embodiments of the invention.
Opening claim text (preview).
What is claimed and desired to be secured by patent is: 1. A method for storing data from a host computing system, the method comprising: receiving, at a storage system operationally independent from the host computing system, a plurality of blocks of the data, the received plurality of blocks of the data representing a change in the contents of a file from a first state of a storage volume to a second state of the storage volume, wherein the file comprises one or more blocks in each of the storage volume's first and second states, the received blocks not containing all of the information in any of the one or more blocks comprising the file in the second state of the storage volume, wherein each of the received plurality of blocks of the data is associated with a value indicating an order, and wherein each value associated with a selected data block corresponds to a position in a sequence in which the host computing system stores contents corresponding to the selected data block; storing each of the received plurality of blocks of the data to a persistent data storage device; receiving an indication of a particular location in the sequence; and in response to receiving the indication of the particular location in the sequence: retrieving, from the persistent data storage device, based on the associated values that correspond to the sequence, one or more distinguished blocks of the data of the stored plurality of blocks of the data, the one or more distinguished blocks of the data comprising less than all of the stored plurality of blocks of the data and selected based on the particular location in the sequence; and providing the retrieved one or more distinguished blocks of the data. 2. The method of claim 1 wherein the associated values indicating an order are stored in a plurality of meta-data blocks, each meta-data block associated with one of the plurality of blocks of the data. 3. The method of claim 1 further comprising receiving and storing a snapshot of the storage volume in the first state of the storage volume. 4. The method of claim 3 , wherein the persistent data storage device is a first-in first-out queue; wherein storing at least one of the plurality of blocks of the data to the first-in first-out queue comprises: selecting a block of the plurality of blocks of the data that has already been stored to the first-in first-out queue, wherein the selected block is selected based on the selected block being associated with a value that corresponds to an oldest position in the sequence, of the values that correspond to the plurality of blocks of the data that have already been stored to the first-in first-out queue; updating the stored snapshot with the selected block; removing the selected block from the first-in first-out queue; and storing the at least one of the plurality of blocks of the data to the first-in first-out queue. 5. The method of claim 1 further comprising: receiving and storing a snapshot of the storage volume in the first state of the storage volume; and using the provided one or more distinguished blocks of the data to create a structure representing a state of the storage volume corresponding to the particular location in the sequence by applying the provided one or more distinguished blocks of the data to the snapshot of the storage volume. 6. The method of claim 1 further comprising: sending one or more acknowledgement messages, wherein each acknowledgement message indicates that one or more of the plurality of blocks of the data has been stored to the persistent data storage device. 7. The method of claim 6 wherein each acknowledgement message includes a signature corresponding to the block of the data that has been acknowledged as stored to the persistent data storage device. 8. The method of claim 1 wherein the value indicating an order is a timestamp. 9. The method of claim 1 , wherein the persistent data storage device implements a first-in first-out queue; wherein storing each of the plurality of blocks of the data to the persistent data storage device comprises storing each of the plurality of blocks of the data to the first-in first-out queue; and wherein the method further comprises moving at least some of the of the plurality of blocks of the data to another portion of the persistent data storage device from the first-in first-out queue in the same order the plurality of blocks of the data were stored to the first-in first-out queue. 10. The method of claim 1 , wherein retrieving one or more distinguished blocks of data comprises using binary search according to the associated values for each data block, wherein each value indicates an order, and wherein each value associated with the selected data block corresponds to a position in a sequence in which the host computing system stores contents corresponding to the selected data block. 11. A computer-readable storage medium that is not a transitory signal, storing instructions that, when executed by a computing system, cause the computing system to perform operations for storing data from a host computing system, the operations comprising: receiving, at a storage system operationally independent from the host computing system, a plurality of blocks of the data, the received plurality of blocks of the data representing a change in the contents of a file from a first state of a storage volume to a second state of the storage volume, wherein the file comprises one or more blocks in each of the storage volume's first and second states, the received blocks not containing all of the information in any of the one or more blocks comprising the file in the second state of the storage volume, wherein each of the received plurality of blocks of the data is associated with a value indicating an order, and wherein each value associated with a selected data block corresponds to a position in a sequence in which the host computing system stores contents corresponding to the selected data block; storing each of the received plurality of blocks of the data to a persistent data storage device; receiving an indication of a particular location in the sequence; and in response to receiving the indication of the particular location in the sequence: retrieving, from the persistent data storage device, based on the associated values that correspond to the sequence, one or more distinguished blocks of the data of the stored plurality of blocks of the data, the one or more distinguished blocks of the data comprising less than all of the stored plurality of blocks of the data and selected based on the particular location in the sequence; and providing the retrieved one or more distinguished blocks of the data. 12. The computer-readable storage medium of claim 11 wherein the associated values indicating an order are stored in a plurality of meta-data blocks, each meta-data block associated with one of the plurality of blocks of the data. 13. The computer-readable storage medium of claim 11 wherein the operations further comprise receiving and storing a snapshot of the storage volume in the first state of the storage volume. 14. The computer-readable storage medium of claim 13 , wherein the persistent data storage device implements a first-in first-out queue; wherein storing each of the plurality of blocks of the data to the persistent data storage device comprises storing each of the plurality of blocks of the data to the first-in first-out queue; wherein storing at least one of the plurality of blocks of the data to the first-in first-out queue comprises: selecting a block of the plurality of blocks of the data that has already been
Reducing size or complexity of storage systems · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
by selection of backup contents · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.