Storage management system for preserving consistency of remote copy data

US9239766B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9239766-B2
Application numberUS-37757707-A
CountryUS
Kind codeB2
Filing dateAug 2, 2007
Priority dateAug 16, 2006
Publication dateJan 19, 2016
Grant dateJan 19, 2016

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.

A storage control system adapted to operate as a remote copy pair by communicating between a primary and a secondary of the remote copy pair comprises a selector for selecting writes to be placed in a batch based on one or more criteria, a sequence number requester for requesting a sequence number for the batch, and a sequence number granter for granting a sequence number for the batch. The storage control system also comprises a batch transmitter for transmitting the batch to the secondary, a permission receiver for receiving a permission to write the batch from the secondary, and a write component responsive to the permission receiver to write the batch to completion, wherein the secondary is responsive to the completion to grant a further permission to write for a further batch.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer readable storage device comprising hardware, wherein computer program code stored in the computer readable storage device when loaded causes operations to be performed in a primary device comprising a primary client and a primary server, and a secondary device comprising a secondary client, a secondary server, and an input/output (I/O) handler, wherein the primary device is in communication with the secondary device, the operations comprising: selecting writes to be placed in a batch based on one or more criteria; requesting, by the primary client, a sequence number for the batch; granting, by the primary server, a sequence number for the batch, wherein the selected writes that are placed in the batch are independent of one another and are granted a same sequence number, and wherein a plurality of requests from a plurality of primary clients are granted the same sequence number by the primary server; transmitting the batch to the secondary device; receiving a permission to write the batch from the secondary device, wherein the permission to write the batch is provided by the secondary device in response to there being no outstanding writes for a previous sequence number; writing the batch to completion, in response to receiving the permission; and receiving a further permission granted by the secondary device to write for a further batch, in response to the completion, wherein the operations including the selecting of the writes, the requesting of the sequence number, the granting of the sequence number, the transmitting of the batch, the receiving of the permission, and the writing of the batch to completion further comprise: receiving, by the primary client, a request from one or more input/output (I/O) processors, for the sequence number; issuing, by the primary client, the request for the sequence number to the primary server; issuing by the primary server, a new batch request to the secondary server, wherein the primary server batches up a plurality of requests that have been received from one or more primary clients; sending, by the secondary server a message authorizing writes for the sequence number to a secondary client, in response to determining that there are no outstanding writes for a previous sequence number; granting, by the primary server the request for the sequence number to the primary client; sending, by the primary client, an indication that the request is granted to the one or more I/O processors, wherein the one or more I/O processors issue writes for the sequence number to the primary client; issuing, by the primary client, a write request for the sequence number to the secondary client, wherein the write request is issued to an I/O handler which performs a write I/O, wherein the I/O handler returns a message confirming that the write I/O is completed to the secondary client, and the secondary client passes the message confirming that the write I/O is completed to the secondary server; passing, by the secondary client, the message confirming that the write I/O is completed to the primary client; and passing, by the primary client the message confirming that the write I/O is completed to the one or more I/O processors. 2. The computer readable storage device of claim 1 , wherein the writing comprises concurrently executing a plurality of writes. 3. The computer readable storage device of claim 2 , wherein the one or more criteria comprises mutual independence of the writes. 4. A primary device comprising a hardware device in communication with a secondary device, the primary device comprising: an I/O processor; a primary client coupled to the I/O processor; a primary server; a selector for selecting writes to be placed in a batch based on one or more criteria; a sequence number requester for requesting, by the primary client, a sequence number for the batch; a sequence number granter for granting, by the primary server, a sequence number for the batch, wherein the selected writes that are placed in the batch are independent of one another and are granted a same sequence number, and wherein a plurality of requests from a plurality of primary clients are granted the same sequence number by the primary server; a batch transmitter for transmitting the batch to the secondary device; a permission receiver for receiving a permission to write the batch from the secondary device, wherein the permission to write the batch is provided by the secondary device in response to there being no outstanding writes for a previous sequence number; and a write component responsive to the permission receiver to write the batch to completion, wherein the secondary device is responsive to the completion to grant a further permission to write for a further batch, and wherein the secondary device comprises a secondary client, a secondary server, and an input/output (I/O) handler, wherein the selecting of the writes, the requesting of the sequence number, the granting of the sequence number, the transmitting of the batch, the receiving of the permission, and the writing of the batch to completion further comprises: receiving, by the primary client, a request from one or more input/output (I/O) processors, for the sequence number; issuing, by the primary client, the request for the sequence number to the primary server; issuing by the primary server, a new batch request to the secondary server, wherein the primary server batches up a plurality of requests that have been received from one or more primary clients; sending, by the secondary server a message authorizing writes for the sequence number to a secondary client, in response to determining that there are no outstanding writes for a previous sequence number; granting, by the primary server the request for the sequence number to the primary client; sending, by the primary client, an indication that the request is granted to the one or more I/O processors, wherein the one or more I/O processors issue writes for the sequence number to the primary client; issuing, by the primary client, a write request for the sequence number to the secondary client, wherein the write request is issued to an I/O handler which performs a write I/O, wherein the I/O handler returns a message confirming that the write I/O is completed to the secondary client, and the secondary client passes the message confirming that the write I/O is completed to the secondary server; passing, by the secondary client, the message confirming that the write I/O is completed to the primary client; and passing, by the primary client the message confirming that the write I/O is completed to the one or more I/O processors. 5. The primary device of claim 4 , wherein the write component comprises a concurrent write component for concurrently executing a plurality of writes. 6. The primary device of claim 5 , wherein the one or more criteria comprises mutual independence of the writes. 7. The computer readable storage device of claim 1 , wherein all writes that have been issued by a host without receiving completions are independent. 8. The computer readable storage device of claim 7 , wherein all the writes that have been issued by the host without receiving completions are given the same sequence number. 9. The computer readable storage device of claim 8 , wherein all writes that are outstanding on a node of a plurality of nodes are placed in a same batch. 10. The primary device of claim 4 , wherein all writes that have been issued by a host without receiving completions are independent. 11. The primary device of claim 10 , wherein all the writes that have been issued by the host without receiving completions are given

Assignees

Inventors

Classifications

  • using a plurality of controllers · CPC title

  • Asynchronous replication or reconciliation · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Solving problems relating to consistency · CPC title

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · 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 US9239766B2 cover?
A storage control system adapted to operate as a remote copy pair by communicating between a primary and a secondary of the remote copy pair comprises a selector for selecting writes to be placed in a batch based on one or more criteria, a sequence number requester for requesting a sequence number for the batch, and a sequence number granter for granting a sequence number for the batch. The sto…
Who is the assignee on this patent?
Burr Dale, Butterworth Henry Esmond, IBM
What technology area does this patent fall under?
Primary CPC classification H04L67/1095. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 19 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).