# US 2020/0401603 A1 · Method to dynamically detect objects out of sync in an active mirroring environment

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

- Number: US 2020/0401603 A1
- Document ID: US20200401603A1
- Status: Published application
- Kind: A1
- Application number: 16/449,244
- Filed: 2019-06-21
- Published: 2020-12-24
- Earliest claimed: 2019-06-21
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Robert D. DRIESCH, JR.; Robert V. DOWNER; Mi HUYNH; John D. DIETEL
- Web page: https://patentgrep.com/patent/US20200401603A1

## CPC

- G06F 16/23: Updating
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for dynamically detecting objects that are out of sync in an active mirrored environment are provided. A request is received at a local node of an active mirroring environment from a system function to perform a change operation on an object. Upon determining that the object is OOS, it is determined whether the local node or a remote node of the active mirroring environment has the most recent changes for the object. In one embodiment, the determination includes analyzing corresponding time stamps of changes listed in a repository of changes for objects in the mirrored environment. Upon determining that a remote node has the most recent changes for the object, a blocking attribute is set and the requested operation on the object blocked. However, upon determining that the local node has the most recent changes for the object, a tracking attribute is set and the requested operation allowed.

## Claims

### Claim 1

A method comprising:
receiving a request at a local node of an active mirroring environment from a system function to perform a change operation on an object;
upon determining that the object is out of sync:
determining whether the local node or a remote node of the active mirroring environment has the most recent changes for the object; and
either:
upon determining that the local node has the most recent changes for the object, setting a tracking attribute and allowing the operation; or
upon determining that the remote node has the most recent changes for the object, setting a blocking attribute and blocking the operation.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, prior to determining if the object is out of sync, determining if the object is a mirrored object by checking a configuration information repository entry for the object.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining that the object is out of sync further comprises determining that one or more entries for the object exist in a repository of changes to mirrored objects for the mirroring environment.

### Claim 4 (depends on 3)

The method of claim 3, wherein determining whether the remote node or the local node has the most recent changes for the object further comprises analyzing corresponding time stamps of changes listed in the repository of changes.

### Claim 5 (depends on 1)

The method of claim 1, wherein setting a blocking attribute further comprises sending an indication of the blocking attribute back to the requesting system function and returning all subsequent requests for change operations back to a requesting system function as un-executable.

### Claim 6 (depends on 5)

The method of claim 5, further comprising upon determining that all pending changes have been resynchronized to the local node, removing the blocking attribute.

### Claim 7 (depends on 1)

The method of claim 1, wherein setting a tracking attribute further comprises sending an indication of the tracking attribute back to the requesting system function and tracking and allowing all subsequent requests for change operations on the local node.

### Claim 8 (depends on 7)

The method of claim 7, further comprising upon determining that all pending changes have been resynchronized to the remote node, removing the tracking attribute.

### Claim 9 (depends on 1)

The method of claim 1, wherein a change operation includes an operation directing at least one of creating, updating, inserting into or deleting the object.

### Claim 10 (depends on 1)

The method of claim 1, further comprising continuing to execute and replicate requests to perform a change operation on an object that is in sync.

### Claim 11

A computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable by one or more computer processors to perform an operation comprising:
receiving a request at a local node of an active mirroring environment from a system function to perform a change operation on an object;
upon determining that the object is out of sync:
determining whether the local node or a remote node of the active mirroring environment has the most recent changes for the object; and
either:
upon determining that the local node has the most recent changes for the object, setting a tracking attribute and allowing the operation; or
upon determining that the remote node has the most recent changes for the object, setting a blocking attribute and blocking the operation.

### Claim 12 (depends on 11)

The computer-readable storage medium of claim 11, the operation further comprising:
prior to determining if the object is out of sync, determining if the object is a mirrored object by checking a configuration information repository entry for the object.

### Claim 13 (depends on 11)

The computer-readable storage medium of claim 11, wherein determining that the object is out of sync further comprises determining that one or more entries for the object exist in a repository of changes to mirrored objects for the mirroring environment.

### Claim 14 (depends on 13)

The computer-readable storage medium of claim 13, wherein determining whether the remote node or the local node has the most recent changes for the object further comprises analyzing corresponding time stamps of changes listed in the repository of changes.

### Claim 15 (depends on 11)

The computer-readable storage medium of claim 11, wherein setting a blocking attribute further comprises sending an indication of the blocking attribute back to the requesting system function and returning all subsequent requests for change operations back to a requesting system function as un-executable.

### Claim 16 (depends on 11)

The computer-readable storage medium of claim 11, wherein setting a tracking attribute further comprises sending an indication of the tracking attribute back to the requesting system function and tracking and allowing all subsequent requests for change operations on the local node.

### Claim 17

A system, comprising:
one or more computer processors; and
a memory containing a program which when executed by the one or more computer processors performs an operation, the operation comprising:
receiving a request at a local node of an active mirroring environment from a system function to perform a change operation on an object;
upon determining that the object is out of sync:
determining whether the local node or a remote node of the active mirroring environment has the most recent changes for the object; and
either:
upon determining that the local node has the most recent changes for the object, setting a tracking attribute and allowing the operation; or
upon determining that the remote node has the most recent changes for the object, setting a blocking attribute and blocking the operation.

### Claim 18 (depends on 17)

The system of claim 17, the operation further comprising:
prior to determining if the object is out of sync, determining if the object is a mirrored object by checking a configuration information repository entry for the object.

### Claim 19 (depends on 17)

The system of claim 17, wherein determining that the object is out of sync further comprises determining that one or more entries for the object exist in a repository of changes to mirrored objects for the mirroring environment, and wherein determining whether the remote node or the local node has the most recent changes for the object further comprises analyzing corresponding time stamps of changes listed in the repository of changes.

### Claim 20 (depends on 17)

The system of claim 17, the operation further comprising;
continuing to execute and replicate requests to perform a change operation on an object that is in sync.
