# US 11,445,017 B2 · Maintaining user data and metadata consistency in an asynchronous replication environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,445,017 B2
- Document ID: US11445017B2
- Status: Granted
- Kind: B2
- Application number: 16/282,026
- Filed: 2019-02-21
- Published: 2020-08-27
- Granted: 2022-09-13
- Earliest claimed: 2019-02-21
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Jeffrey R. Suarez; Nadim P. Shehab
- Web page: https://patentgrep.com/patent/US11445017B2

## CPC

- G06F 9/52: Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- G06F 3/0617: {in relation to availability}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/065: {Replication mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 16/119: {Details of migration of file systems (migration mechanisms in storage systems G06F3/0647)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computer-implemented method includes determining that an update to data on a local computer has been initiated by an application and sending a notification to a remote computer that the update has been initiated. The method includes sending, to the remote computer, an indication of the data on the local computer being updated. The method includes, in response to determining that updates to the data on the local computer and meta data corresponding to the data have been completed, sending a second notification to the remote computer that the update has been completed.

## Claims

### Claim 1

A computer-implemented method, comprising:
determining that an update to data on a local computer has been initiated by an application;
sending a first notification to a remote computer that the update has been initiated;
sending, to the remote computer, an indication of the data on the local computer being updated, wherein the indication is sent to the remote computer while the data on the local computer is being updated, wherein the indication is a separate item from the first notification to the remote computer, wherein the indication of the data on the local computer being updated is sent to the remote computer before the update of the data on the local computer is completed, wherein the indication of the data on the local computer being updated identifies which data set is being updated without including the exact updates where the update is not completed;
in response to determining that updates to the data on the local computer and meta data corresponding to the data have been completed, sending a second notification to the remote computer that the update has been completed, wherein the second notification identifies the data on the local computer which was updated; and
determining that a complete version of the updates to the data on the local computer and meta data corresponding to the data have been received at the remote computer, wherein the determination includes comparing information derived from the indication and the second notification, wherein the comparison enables detection of a mid-process version of the updates made on the local computer.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the data on the local computer is asynchronously replicated on the remote computer.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the determination that a complete version of the updates to the data on the local computer and the meta data corresponding to the data have been received at the remote computer comprises evaluating consistency points using at least the first notification and the second notification.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the indication of the data on the local computer being updated is sent to the remote computer before the data on the local computer is updated, wherein the indication of the data on the local computer being updated identifies which data set is being updated before any updates are made to the local computer.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the indication of the data on the local computer being updated is sent to the remote computer while the data on the local computer is being updated, wherein the indication of the data on the local computer being updated identifies which data set is being updated as the updates are made to the local computer.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the first notification to the remote computer that the update to the data on the local computer has been initiated and the indication of the data on the local computer being updated are sent at substantially the same time.

### Claim 7

A computer-implemented method, comprising:
receiving a first notification at a first computer that an update to data on a second computer has been initiated;
receiving, at the first computer, an indication of the data on the second computer being updated, wherein the indication is received at the first computer while the data on the second computer is being updated, wherein the indication is a separate item from the first notification, wherein the indication of the data on the second computer being updated is received by the first computer before the update of the data on the second computer is completed, wherein the indication of the data on the second computer being updated identifies which data set is being updated without including the exact updates where the update is not completed;
receiving a second notification at the first computer that updates to the data on the second computer and meta data corresponding to the data have been completed, wherein the second notification identifies the data on the second computer which was updated; and
determining that a complete version of the updates to the data on the second computer and meta data corresponding to the data have been received at the first computer, wherein the determination includes comparing information derived from the indication and the second notification, wherein the comparison enables detection of a mid-process version of the updates made on the second computer.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein the data on the second computer is asynchronously replicated on the first computer.

### Claim 9 (depends on 7)

The computer-implemented method of claim 7, wherein the determination that a complete version of the updates to the data on the second computer and the meta data corresponding to the data have been received at the first computer comprises evaluating consistency points using at least the first notification and the second notification.

### Claim 10 (depends on 7)

The computer-implemented method of claim 7, wherein the indication of the data on the second computer being updated is received by the first computer before the data on the second computer is updated, wherein the indication of the data on the second computer being updated identifies which data set is being updated before any updates are made to the second computer.

### Claim 11 (depends on 7)

The computer-implemented method of claim 7, wherein the indication of the data on the second computer being updated identifies which data set is being updated as the updates are made to the second computer.

### Claim 12 (depends on 7)

The computer-implemented method of claim 7, wherein the first notification to the first computer that the update to the data on the second computer has been initiated and the indication of the data on the second computer being updated are received at substantially the same time.

### Claim 13

A computer program product for providing communication between local and remote computers, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:
determine, by the computer, that an update to data on a local computer has been initiated by an application;
send, by the computer while the data on the local computer is being updated, a first notification to a remote computer that the update has been initiated;
send, by the computer, to the remote computer, an indication of the data on the local computer being updated, wherein the indication of the data is a separate item from the first notification to the remote computer that the update has been initiated, wherein the indication of the data on the local computer being updated is sent to the remote computer before the update of the data on the local computer is completed, wherein the indication of the data on the local computer being updated identifies which data set is being updated without including the exact updates where the update is not completed;
in response to determining that updates to the data on the local computer and meta data corresponding to the data have been completed, send, by the computer, a second notification to the remote computer that the update has been completed, wherein the second notification identifies the data on the local computer which was updated; and
determine, by the computer, that a complete version of the updates to the data on the local computer and meta data corresponding to the data have been received at the remote computer, wherein the determination includes comparing information derived from the indication and the second notification, wherein the comparison enables detection of a mid-process version of the updates made on the local computer.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the data on the local computer is asynchronously replicated on the remote computer.

### Claim 15 (depends on 13)

The computer program product of claim 13, wherein the determination that a complete version of the updates to the data on the local computer and the meta data corresponding to the data have been received at the remote computer comprises evaluating consistency points using at least the first notification and the second notification.

### Claim 16 (depends on 13)

The computer program product of claim 13, wherein the indication of the data on the local computer being updated is sent to the remote computer before the data on the local computer is updated, wherein the indication of the data on the local computer being updated identifies which data set is being updated before any updates are made to the local computer.

### Claim 17 (depends on 1)

The computer-implemented method of claim 1, wherein the indication of the data on the local computer being updated identifies each data set being updated before the updates are made to the data set on the local computer.
