IP Library › Granted Patent US 12,591,489
Granted Patent B2
US 12,591,489 · App. 18/060,184 · Granted Mar 31, 2026

Point-in-time data copy in a distributed system

Inventors: Walter Charles Dietrich, Jr. (Armonk, NY); Michael Patrick Shute (Stratford, CT); Marcelo Fernandes de Oliveira (Sorocaba, BR); Tiago Jose Adami (Centro, BR); Norberto Gasparotto Filho (Agua Verde, BR)
Assignee: International Business Machines Corporation
G06F11/1466G06F11/1469G06F2201/84
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 12,591,489
App. No.
18/060,184
Granted
Mar 31, 2026
Kind
B2
Abstract

Method, computer program product, and computer system are provided. A controller component verifies the state of all file sets. The controller component initiates a sub-controller component, based on successfully verifying the state of the file sets. The sub-controller component suspends write operations to all databases at the primary site computer. Based on the suspending completing without error, the sub-controller executes point-in-time copy processes for each of the databases and for application non-database files at the primary site computer. Applications using the databases and non-database files are not suspended. Based on all of the point-in-time copy processes completing without error, the sub-controller component resumes write operations to all databases at the primary site computer. The point-in-time copies are automatically sent to the secondary site computer so that the applications can operate at the secondary site computer if the primary site computer becomes unavailable.

Claims (62)

1 . A method, comprising:

verifying, by a controller component, a state of all file sets;

based on receiving an indicator of successful verifying to the controller component, the controller component initiating a sub-controller component;

suspending, by the sub-controller component, write operations to all databases at a primary site computer;

based on the suspending completing without error, the sub-controller executing peer snapshot processes for each of the databases and for application non-database files at the primary site computer, and wherein applications using the databases and non-database files are not suspended;

based on all of the peer snapshot processes completing without error, automatically queuing each of the peer snapshots for transmission to a secondary site; and

the sub-controller component resuming write operations to all databases at the primary site computer.

2 . The method of claim 1 , wherein the verifying further comprises:

checking processes on the primary site computer for queued or executing point-in-time copy processes;

checking processes on the primary site computer for queued or executing database backup processes or database restore processes; and

based on no queued or executing processes being found, returning the indicator of successful verifying to the controller component.

3 . The method of claim 1 , wherein the databases comprise a combination of one or more different vendors and one or more different architectures.

4 . The method of claim 1 , wherein the controller component executes all functions, and wherein the sub-controller component is not configured.

5 . The method of claim 1 , wherein based on all of the point-in-time copy processes completing without error, asynchronously making all the snapshots available at a secondary site.

6 . The method of claim 1 , wherein:

based on at least one of the point-in-time copy processes or any of the requests to suspend write operations failing to complete within a configurable time, retrying, by the sub-controller component, the failing operation a configurable amount of times; and

based on the retried operation not succeeding, returning control to the controller component with an error indicating the failed operation.

7 . The method of claim 1 , further comprising:

in response to the controller component receiving from the sub-controller component an error condition indicating write operations to the databases is not resumed, the controller component attempting to resume write operations at the databases; and

deleting the point-in-time copies.

8 . A computer program product, the computer program product comprising a non-transitory tangible storage device having program code embodied therewith, the program code executable by a processor of a computer to perform a method, the method comprising:

verifying, by a controller component, a state of all file sets;

based on receiving an indicator of successful verifying to the controller component, the controller component initiating a sub-controller component;

suspending, by the sub-controller component, write operations to all databases at a primary site computer;

based on the suspending completing without error, the sub-controller executing peer snapshot processes for each of the databases and for application non-database files at the primary site computer, and wherein applications using the databases and non-database files are not suspended;

based on all of the point-in-time copy processes completing without error, automatically queuing each of the peer snapshots for transmission to a secondary site; and

the sub-controller component resuming write operations to all databases at the primary site computer.

9 . The computer program product of claim 8 , wherein the verifying further comprises:

checking processes on the primary site computer for queued or executing point-in-time copy processes;

checking processes on the primary site computer for queued or executing database backup processes or database restore processes; and

based on no queued or executing processes being found, returning the indicator of successful verifying to the controller component.

10 . The computer program product of claim 8 , wherein the databases comprise a combination of one or more different vendors and one or more different architectures.

11 . The computer program product of claim 8 , wherein the controller component executes all functions, and wherein the sub-controller component is not configured.

12 . The computer program product of claim 8 , wherein based on all of the point-in-time copy processes completing without error, asynchronously making all the snapshots available at a secondary site.

13 . The computer program product of claim 8 , wherein:

based on at least one of the point-in-time copy processes or any of the requests to suspend write operations failing to complete within a configurable time, retrying, by the sub-controller component, the failing operation a configurable amount of times; and

based on the retried operation not succeeding, returning control to the controller component with an error indicating the failed operation.

14 . The computer program product of claim 8 , further comprising:

in response to the controller component receiving from the sub-controller component an error condition indicating write operations to the databases is not resumed, the controller component attempting to resume write operations at the databases; and

deleting the point-in-time copies.

15 . A computer system, comprising:

one or more processors;

a memory coupled to at least one of the processors;

a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions of:

verifying, by a controller component, a state of all file sets;

based on receiving an indicator of successful verifying to the controller component, the controller component initiating a sub-controller component;

suspending, by the sub-controller component, write operations to all databases at a primary site computer;

based on the suspending completing without error, the sub-controller executing peer snapshot processes for each of the databases and for application non-database files at the primary site computer, and wherein applications using the databases and non-database files are not suspended;

based on all of the peer snapshot processes completing without error, automatically queuing each of the peer snapshots for transmission to a secondary site; and

based on all of the point-in-time copy processes completing without error, the sub-controller component resuming write operations to all databases at the primary site computer.

16 . The computer system of claim 15 , wherein the verifying further comprises:

checking processes on the primary site computer for queued or executing point-in-time copy processes;

checking processes on the primary site computer for queued or executing database backup processes or database restore processes; and

based on no queued or executing processes being found, returning the indicator of successful verifying to the controller component.

17 . The computer system of claim 15 , wherein the databases comprise a combination of one or more different vendors and one or more different architectures.

18 . The computer system of claim 15 , wherein the controller component executes all functions, and wherein the sub-controller component is not configured.

19 . The computer system of claim 15 , wherein:

based on at least one of the point-in-time copy processes or any of the requests to suspend write operations failing to complete within a configurable time, retrying, by the sub-controller component, the failing operation a configurable amount of times; and

based on the retried operation not succeeding, returning control to the controller component with an error indicating the failed operation.

20 . The computer system of claim 15 , further comprising:

in response to the controller component receiving from the sub-controller component an error condition indicating write operations to the databases is not resumed, the controller component attempting to resume write operations at the databases; and

deleting the point-in-time copies.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2022
From: DIETRICH, WALTER CHARLES, JR.; SHUTE, MICHAEL PATRICK; FERNANDES DE OLIVEIRA, MARCELO; ADAMI, TIAGO JOSE; FILHO, NORBERTO GASPAROTTO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 061922/0958 →
Continuity (1)
Related Publication 20240176708A1 · May 30, 2024
References Cited (28)
US 6618794B1 · Sicola · 2003 [cited by examiner]
US 6877016B1 · Hart · 2005 [cited by applicant]
US 7031986B2 · Ito · 2006 [cited by applicant]
US 8620973B1 · Veeraswamy · 2013 [cited by examiner]
US 9619331B2 · Blea · 2017 [cited by examiner]
US 10289690B1 · Bono · 2019 [cited by applicant]
US 10860427B1 · Chakraborty · 2020 [cited by applicant]
US 11080148B2 · Natanzon · 2021 [cited by applicant]
US 20030033494A1 · Fujibayashi · 2003 [cited by examiner]
US 20030208511A1 · Earl · 2003 [cited by applicant]
US 20060143412A1 · Armangau · 2006 [cited by examiner]
US 20080046400A1 · Shi · 2008 [cited by applicant]
US 20120331264A1 · Farrell · 2012 [cited by examiner]
US 20170031769A1 · Zheng · 2017 [cited by examiner]
US 20210096776A1 · Kim · 2021 [cited by applicant]
US 20210157685A1 · Li · 2021 [cited by applicant]
US 20220121533A1 · Kumar · 2022 [cited by examiner]
US 20230205757A1 · Gupta · 2023 [cited by examiner]
EP 3822762A1 · 2021 [cited by applicant]
IBM, “Active File Management,” IBM.com [online], Dec. 23, 2021 [accessed on Jul. 29, 2022], 1 page, Retrieved from the Internet: <URL: https://www.ibm.com/docs/en/spectrum-scale/5.1.0?topic=overview-active-file-manageme… [cited by applicant]
IBM, “AFM-based Asynchronous Disaster Recovery (AFM DR),” IBM.com [online], Dec. 23, 2021 [accessed on Jul. 29, 2022], 2 pages, Retrieved from the Internet: <URL: https://www.ibm.com/docs/en/spectrum-scale/5.1.0?topic=o… [cited by applicant]
IBM, “Using a split mirror as a backup image, in IBM DB2 Version 10.5 Knowledge Center,” IBM.com [online], Mar. 1, 2021 [accessed on Jul. 29, 2022], 3 pages, Retrieved from the Internet: <URL: https://www.ibm.com/docs/e… [cited by applicant]
No Authors, “Method of the Database Backups by Using Split-Mirror Copies of Logical Volumes,” IP.com, May 4, 2001, 4 pages, IP.com No. IPCOM000014607D, Retrieved from the Internet: <URL: https://priorart.ip.com/IPCOM/00… [cited by applicant]
Oracle, “Making Split Mirror Backups with RMAN,” Oracle® Database Backup and Recovery Advanced User's Guide [online], [accessed on Jul. 29, 2022], 2 pages, Stanford.edu, Retrieved from the Internet: <URL: https://web.st… [cited by applicant]
Oracle, “Split Mirror Backup, from documentation related to SAP,” SAP Database Guide [online], [accessed on Aug. 3, 2022], 4 pages, Wayback Machine, Retrieved from the Internet: <URL: https://web.archive.org/web/2021073… [cited by applicant]
SAP, “Split Mirror Online Backup,” SAP Help Portal [online], [accessed on Jul. 29, 2022], 4 pages, Retrieved from the Internet: <URL: https://help.sap.com/viewer/3ef1b95cacbf4f77a066797285371bb9/118/en-US/46ad6b94c5b462… [cited by applicant]
Wikipedia, “FlashCopy”, Wikipedia, the free encyclopedia, [accessed on Jul. 29, 2022], 2 Pages, Retrieved from the Internet: <URL: FlashCopy>. [cited by applicant]
Wikipedia, “Snapshot (computer storage)”, Wikipedia, the free encyclopedia, [accessed on Jul. 29, 2022], 3 Pages, Retrieved from the Internet: <URL: https://en.wikipedia.org/wiki/Snapshot_(computer_storage)>. [cited by applicant]