# US 11,443,026 B2 · Synchronizing data across multiple instances of an application in a cloud

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

- Number: US 11,443,026 B2
- Document ID: US11443026B2
- Status: Granted
- Kind: B2
- Application number: 15/299,185
- Filed: 2016-10-20
- Published: 2018-04-26
- Granted: 2022-09-13
- Earliest claimed: 2016-10-20
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Josephine E. Justin; Srinivasan Nanduri
- Web page: https://patentgrep.com/patent/US11443026B2

## CPC

- G06F 21/44: Program or device authentication
- G06F 16/23: Updating
- G06F 16/273: {Asynchronous replication or reconciliation}
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- 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 method and system are provided for data synchronization. The method includes registering, in a database accessible by nodes in a cloud cluster system, node information for each node during an initialization of an application context for an application having at least one instance running on each node. The method further includes storing an update for data in (i) a local storage of a given one of the nodes and (ii) the database, responsive to a request to update the data received by the given one of the nodes. The method also includes generating a modified request that includes details for the updated data. The method additionally includes calling an application programming interface to update a state of respective local storages for the other nodes with the update responsive to the modified request, such that the update is synchronized across the at least one instance running on each node.

## Claims

### Claim 1

A method for data synchronization, comprising:
registering, in a database accessible by a plurality of nodes included in a cloud cluster system, node information for each of the plurality of nodes during an initialization of an application context for an application having at least one instance of multiple instances running on each of the plurality of nodes;
storing an update for data in (i) a local storage of a given one of the plurality of nodes and (ii) the database, responsive to a request to update the data received by the given one of the plurality of nodes;
generating a modified version of the request that includes details for the updated data; and
calling an application programming interface (API) to update a state of respective local storages for other ones of the plurality of nodes with the update responsive to the modified version of the request, such that the update is synchronized across the at least one instance of the multiple instances running on each of the plurality of nodes.

### Claim 2 (depends on 1)

The method of claim 1, wherein the local storage is implemented using a hash map.

### Claim 3 (depends on 1)

The method of claim 1, wherein the updated information comprises credential information.

### Claim 4 (depends on 1)

The method of claim 1, further comprising applying a locking mechanism to the local storage of the other ones of the plurality of nodes responsive to the request to update the data.

### Claim 5 (depends on 4)

The method of claim 4, wherein the locking mechanism applies to a cached object level in the local storage of the other ones of the plurality of nodes.

### Claim 6 (depends on 1)

The method of claim 1, further comprising registering node information for a new node, in addition to the plurality of nodes, and instantiating a new instance of the application to run on the new node.

### Claim 7 (depends on 1)

The method of claim 1, further comprising unregistering node information for a particular one of the plurality of nodes, responsive to the particular one of the plurality of nodes being removed from the cloud cluster system.

### Claim 8 (depends on 1)

The method of claim 1, wherein said calling step uses a Representational State Transfer (REST) API call that is unexposed to any external clients of the plurality of nodes.

### Claim 9 (depends on 1)

The method of claim 1, wherein said calling step uses a Representational State Transfer (REST) API call that is secured using an authentication standard.

### Claim 10 (depends on 9)

The method of claim 9, wherein the authentication standard is token based and configured to keep the token unexposed to any external clients of the plurality of nodes.

### Claim 11 (depends on 1)

The method of claim 1, wherein the modified version of the request that includes the details for the updated data enables the other ones of the plurality of nodes to receive the update without accessing the database by bypassing the database and retrieving the update from the local storage of the given one of the plurality of nodes, responsive to an operational request for the update sent to the given one of the plurality of nodes.

### Claim 12 (depends on 1)

The method of claim 1, wherein the modified version of the request including an indication that the modified version of the request is originating from one of the plurality of nodes as opposed to an external client of any of the plurality of nodes.

### Claim 13 (depends on 1)

The method of claim 1, further comprising bypassing the database and retrieving the update from the local storage of the given one of the plurality of nodes, responsive to an operational request for the update sent to the given one of the plurality of nodes.

### Claim 14

A computer program product for data synchronization, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method comprising:
registering, in a database accessible by a plurality of nodes included in a cloud cluster system, node information for each of the plurality of nodes during an initialization of an application context for an application having at least one instance of multiple instances running on each of the plurality of nodes;
storing an update for data in (i) a local storage of a given one of the plurality of nodes and (ii) the database, responsive to a request to update the data received by the given one of the plurality of nodes;
generating a modified version of the request that includes details for the updated data; and
calling an application programming interface (API) to update a state of respective local storages for other ones of the plurality of nodes with the update responsive to the modified version of the request, such that the update is synchronized across the at least one instance of the multiple instances running on each of the plurality of nodes.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein said calling step uses a Representational State Transfer (REST) API call that is secured using an authentication standard.

### Claim 16 (depends on 14)

The computer program product of claim 14, wherein the authentication standard is token based and configured to keep the token unexposed to any external clients of the plurality of nodes.

### Claim 17 (depends on 14)

The computer program product of claim 14, wherein the modified version of the request that includes the details for the updated data enables the other ones of the plurality of nodes to receive the update without accessing the database by bypassing the database and retrieving the update from the local storage of the given one of the plurality of nodes, responsive to an operational request for the update sent to the given one of the plurality of nodes.

### Claim 18 (depends on 14)

The computer program product of claim 14, wherein the modified version of the request including an indication that the modified version of the request is originating from one of the plurality of nodes as opposed to an external client of any of the plurality of nodes.

### Claim 19 (depends on 14)

The computer program product of claim 14, wherein the method further comprises bypassing the database and retrieving the update from the local storage of the given one of the plurality of nodes, responsive to an operational request for the update sent to the given one of the plurality of nodes.

### Claim 20

A cloud cluster system, comprising:
a plurality of nodes; and
a database accessible by the plurality of nodes,
wherein each of the plurality of nodes has a local storage and is configured to register its node information in the database during an initialization of an application context for an application having at least one instance of multiple instances running on each of the plurality of nodes,
wherein the plurality of nodes are further configured such that responsive to a request to update data received by any given one of the plurality of nodes, the given one of the plurality of nodes:
(a) stores an update for the data in (i) the local storage of the given one of the plurality of nodes and (ii) the database,
(b) generates a modified version of the request that includes details for the updated data, and
(c) calls an application programming interface (API) to update a state of respective local storages for other ones of the plurality of nodes with the update responsive to the modified version of the request, such that the update is synchronized across the at least one instance of the multiple instances running on each of the plurality of nodes.
