Flexible remote data mirroring

US10003647B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10003647-B2
Application numberUS-201614997329-A
CountryUS
Kind codeB2
Filing dateJan 15, 2016
Priority dateNov 11, 1999
Publication dateJun 19, 2018
Grant dateJun 19, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • G06F3/0626Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10003647B2 cover?
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 …
Who is the assignee on this patent?
Intellectual Ventures Ii Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0626. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 19 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).