IP Library Granted Patent US 12669961
Granted Patent B2
US 12669961 · App. 18/059,191 · Granted Jun 30, 2026

Coordinating establishment of source and target copy relationships on primary and secondary servers

Inventors: Nedlaya Yazzie Francisco (Tucson, AZ); Theresa Mary Brown (Tucson, AZ); Gregory Edward McBride (Vail, AZ)
Assignee: International Business Machines Corporation
G06F3/0659G06F3/065G06F3/0604G06F3/067
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12669961
App. No.
18/059,191
Granted
Jun 30, 2026
Kind
B2
Abstract

Provided are a computer program product, system, and method for coordinating establishment of source and target copy relationships on primary and secondary servers. A command is received to establish a primary copy relationship of primary source data in the primary storage to copy to primary target data in the primary storage and a secondary copy relationship of secondary source data in the secondary storage to copy to secondary target data in the secondary storage. A determination is made as to whether a part of the secondary target data in a secondary pre-existing copy relationship at the secondary storage can be withdrawn from the secondary pre-existing copy relationship. In response to determining that the part of the secondary target data in the secondary pre-existing copy relationship can be withdrawn, establishing the primary copy relationship for the primary storage and establishing the secondary copy relationship for the secondary storage.

Claims (61)

1 . A computer program product for establishing copy relationships for primary storage and secondary storage, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause operations, the operations comprising:

receiving a command to establish a primary copy relationship of primary source data in the primary storage to copy to primary target data in the primary storage and a secondary copy relationship of secondary source data in the secondary storage to copy to secondary target data in the secondary storage;

establishing the primary copy relationship for the primary storage in response to receiving the command;

in response to receiving the command, determining whether a part of the secondary target data in a pre-existing copy relationship at the secondary storage can be withdrawn from the pre-existing copy relationship; and

in response to determining that the part of the secondary target data in the pre-existing copy relationship can be withdrawn, establishing the secondary copy relationship for the secondary storage.

2 . The computer program product of claim 1 , wherein the establishing the secondary copy relationship for the secondary storage is performed in response to receiving a message that the primary copy relationship was established for the primary storage.

3 . The computer program product of claim 1 , wherein the operations further comprise:

determining that there is no pre-existing copy relationship including a part of the secondary target data; and

in response to determining there is no pre-existing copy relationship, performing:

establishing the primary copy relationship for the primary storage; and

establishing the secondary copy relationship for the secondary storage.

4 . The computer program product of claim 1 , wherein the determining that the part of the secondary target data can be withdrawn from the pre-existing copy relationship comprises determining one of that the part of the secondary target data does not comprise both source and target data in a cascaded copy relationship and that the pre-existing copy relationship is not for an incremental copy.

5 . The computer program product of claim 1 , wherein the pre-existing copy relationship comprises a pre-existing copy relationship, and wherein the operations further comprise:

determining whether at least one of the primary source data and the primary target data are capable of being withdrawn from at least one primary pre-existing copy relationship in response to determining that the primary source data and the primary target data need to be withdrawn from the at least one primary pre-existing copy relationship to establish the primary copy relationship, wherein the determining whether the part of the secondary target data can be withdrawn from the pre-existing copy relationship is performed after determining that the at least one of the primary source data and the primary target data are capable of being withdrawn.

6 . The computer program product of claim 1 , wherein the operations further comprise:

sending a command to establish the secondary copy relationship in response to successfully completing establishing the primary copy relationship; and

withdrawing the part of the secondary target data from the pre-existing copy relationship in response to receiving the command to establish the secondary copy relationship, wherein the establishing the secondary copy relationship is performed after successfully withdrawing the part of the secondary target data from the pre-existing copy relationship.

7 . The computer program product of claim 1 , wherein the operations further comprise:

withdrawing at least one of the secondary target data in the secondary copy relationship from the pre-existing copy relationship by performing:

removing the part of the secondary target data from the pre-existing copy relationship in response to the part of the secondary target data being at a beginning or an end of a range of target data in the pre-existing copy relationship; and

in response to the part of the secondary target data being within the range of target data in the pre-existing copy relationship and not at the beginning or the end of the range of the target data, splitting the pre-existing copy relationship into a first pre-existing relationship including data from a beginning of the range of the target data to data prior to a beginning of the part of the secondary target data in the range of the target data and into a second pre-existing relationship including data in the range of the target data following the part of the secondary target data in the range of the target data to an end of the range of the target data.

8 . The computer program product of claim 1 , wherein the primary copy relationship and the secondary copy relationship comprise point-in-time copy relationships, wherein the operations further comprise:

maintaining a first mirror copy relationship to mirror the primary source data in the primary storage to the secondary source data in the secondary storage; and

maintaining a second mirror copy relationship to mirror the primary target data in the primary storage to the secondary target data in the secondary storage.

9 . A system for establishing copy relationships for primary storage and secondary storage, comprising:

a primary server coupled to the primary storage;

a secondary server coupled to the secondary storage and in communication with the primary server;

wherein the primary server performs operations, the operations comprising:

receiving a command to establish a primary copy relationship of primary source data in the primary storage to copy to primary target data in the primary storage and a secondary copy relationship of secondary source data in the secondary storage to copy to secondary target data in the secondary storage;

establishing the primary copy relationship for the primary storage in response to receiving the command;

in response to receiving the command, determining whether a part of the secondary target data in a pre-existing copy relationship at the secondary storage can be withdrawn from the pre-existing copy relationship; and

in response to determining that the part of the secondary target data in the pre-existing copy relationship can be withdrawn, establishing, by the secondary server, the secondary copy relationship for the secondary storage.

10 . The system of claim 9 , wherein the establishing the secondary copy relationship for the secondary storage is performed by the secondary server in response to receiving a message that the primary copy relationship was established for the primary storage.

11 . The system of claim 9 , wherein the operations further comprise:

determining, by the primary server, that there is no pre-existing copy relationship including a part of the secondary target data; and

in response to determining there is no pre-existing copy relationship, performing:

establishing, by the primary server, the primary copy relationship for the primary storage; and

establishing, by the secondary server, the secondary copy relationship for the secondary storage.

12 . The system of claim 9 , wherein the determining that the part of the secondary target data can be withdrawn from the pre-existing copy relationship comprises the secondary server determining one of that the part of the secondary target data does not comprise both source and target data in a cascaded copy relationship and that the pre-existing copy relationship is not for an incremental copy.

13 . The system of claim 9 , wherein the pre-existing copy relationship comprises a pre-existing copy relationship, and wherein the operations further comprise:

determining, by the primary server, whether at least one of the primary source data and the primary target data are capable of being withdrawn from at least one primary pre-existing copy relationship in response to determining that the primary source data and the primary target data need to be withdrawn from the at least one primary pre-existing copy relationship to establish the primary copy relationship, wherein the determining whether the part of the secondary target data can be withdrawn from the pre-existing copy relationship is performed, by the secondary server, after determining that the at least one of the primary source data and the primary target data are capable of being withdrawn.

14 . The system of claim 9 , wherein the operations further comprise:

sending, by the primary server, a command to the secondary server to establish the secondary copy relationship in response to successfully completing establishing the primary copy relationship; and

withdrawing, by the secondary server, the part of the secondary target data from the pre-existing copy relationship in response to receiving the command to establish the secondary copy relationship, wherein the establishing the secondary copy relationship is performed after successfully withdrawing the part of the secondary target data from the pre-existing copy relationship.

15 . A method for establishing copy relationships for primary storage and secondary storage, comprising:

receiving a command to establish a primary copy relationship of primary source data in the primary storage to copy to primary target data in the primary storage and a secondary copy relationship of secondary source data in the secondary storage to copy to secondary target data in the secondary storage;

establishing the primary copy relationship for the primary storage in response to receiving the command;

in response to receiving the command, determining whether a part of the secondary target data in a pre-existing copy relationship at the secondary storage can be withdrawn from the pre-existing copy relationship; and

in response to determining that the part of the secondary target data in the pre-existing copy relationship can be withdrawn, performing: establishing the primary copy relationship for the primary storage; and establishing the secondary copy relationship for the secondary storage.

16 . The method of claim 15 , wherein the establishing the secondary copy relationship for the secondary storage is performed in response to receiving a message that the primary copy relationship was established for the primary storage.

17 . The method of claim 15 , further comprising:

determining that there is no pre-existing copy relationship including a part of the secondary target data; and

in response to determining there is no pre-existing copy relationship, performing:

establishing the primary copy relationship for the primary storage; and

establishing the secondary copy relationship for the secondary storage.

18 . The method of claim 15 , wherein the determining that the part of the secondary target data can be withdrawn from the pre-existing copy relationship comprises determining one of that the part of the secondary target data does not comprise both source and target data in a cascaded copy relationship and that the pre-existing copy relationship is not for an incremental copy.

19 . The method of claim 15 , wherein the pre-existing copy relationship comprises a pre-existing copy relationship, further comprising:

determining whether at least one of the primary source data and the primary target data are capable of being withdrawn from at least one primary pre-existing copy relationship in response to determining that the primary source data and the primary target data need to be withdrawn from the at least one primary pre-existing copy relationship to establish the primary copy relationship, wherein the determining whether the part of the secondary target data can be withdrawn from the pre-existing copy relationship is performed after determining that the at least one of the primary source data and the primary target data are capable of being withdrawn if necessary.

20 . The method of claim 15 , further comprising:

sending a command to establish the secondary copy relationship in response to successfully completing establishing the primary copy relationship; and

withdrawing the part of the secondary target data from the pre-existing copy relationship in response to receiving the command to establish the secondary copy relationship, wherein the establishing the secondary copy relationship is performed after successfully withdrawing the part of the secondary target data from the pre-existing copy relationship.