# US 12,007,951 B2 · Devices, system and method for synchronizing changes, deletions or additions to fields at databases

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

- Number: US 12,007,951 B2
- Document ID: US12007951B2
- Status: Granted
- Kind: B2
- Application number: 17/558,315
- Filed: 2021-12-21
- Published: 2023-06-22
- Granted: 2024-06-11
- Earliest claimed: 2021-12-21
- Assignees: Amadeus S.A.S., Sophia Antipolis
- Applicants: Amadeus S.A.S.
- Inventors: Philippe Gentric
- Web page: https://patentgrep.com/patent/US12007951B2

## CPC

- G06F 16/178: Techniques for file synchronisation in file systems
- G06F 16/2358: {Change logging, detection, and notification (replication G06F16/27)}
- G06F 16/164: {File meta data generation}
- G06F 16/1734: {Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs}
- G06F 16/184: {implemented as replicated file system}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A device, system and method for synchronizing databases changes is provided. A change-indication bit-vector indicates a position of a change to a stored data-set and/or a respective key position defined by a data-set representation (DSR) that defines a data-set structure. When the change comprises a data-field deletion, an indication of the change-indication bit-vector is provided to a replication node managing a replica database storing a replica data-set; the replication node updates the replica and a respective DSR to show the deletion at the indicated position. When the change comprises a data-field addition, the indication of the change-indication bit-vector and a record of a key value of a new data field and a data value of the new data field, is provided to the replication database; the replication node updates the replica and the respective DSR to show the addition at the indicated position.

## Claims

### Claim 1

A method for synchronization of data across databases to save network bandwidth, the method comprising:
determining, at a computing node, that a stored data-set at a primary database has changed, the stored data-set comprising a plurality of data fields arranged in a predetermined layout defined according to a data-set representation (DSR) structure that defines for a given data-set, a structure of data fields which are associated with respective keys of the DSR structure, a change to the stored data-set comprising a deletion of an existing data field or an addition of a new data field;
determining, at the computing node, a change indication bit-vector indicating one or more of a position of the change at the stored data-set and a respective key position defined by the DSR structure, wherein the change indication bit-vector comprises a plurality of bits arranged serially, each of the plurality of bits corresponding to a respective key position of the DSR structure;
when the change comprises the deletion of the existing data field, providing, to a replication node managing a replica database storing a replica of the stored data-set, an indication of the change indication bit-vector, such that the replication node updates the replica and a respective DSR structure to show deletion of the existing data field at the position indicated by the change indication bit-vector; and
when the change comprises the addition of the new data field, providing, to the replication node the indication of the change indication bit-vector and a record of a key value of the new data field and a data value of the new data field, such that the replication node updates the replica and the respective DSR structure to show the addition of the new data field at the position indicated by the change indication bit-vector.

### Claim 2 (depends on 1)

The method of claim 1,
wherein a bit of the plurality of bits that indicates the position of the change has a first binary value, and other bits of the plurality of bits have a second binary value.

### Claim 3 (depends on 1)

The method of claim 1, wherein the record further comprises one or more of a length of the key value, a length of the data value of the new data field, a respective length of the new data field, and a data type of the new data field.

### Claim 4 (depends on 1)

The method of claim 1, further comprising compressing the indication of the change indication bit-vector prior to providing the change indication bit-vector to the replication node using one or more of a compression algorithm, run length encoding and variable length encoding.

### Claim 5 (depends on 1)

The method of claim 1, wherein, when the addition of the new data field is indicated at an end of the DSR structure, the indication of the change indication bit-vector comprises the record.

### Claim 6 (depends on 1)

The method of claim 1, wherein, when the addition of the new data field is indicated other than at an end of the DSR structure, the indication of the change indication bit-vector comprises the record and the change indication bit-vector in a compressed, or uncompressed format.

### Claim 7 (depends on 1)

The method of claim 1, wherein, when the addition of the new data field is indicated other than at an end of the DSR structure, the addition of the new data field occurs at a respective position of the stored data-set that corresponds to a previously deleted data field or a previously unused data field.

### Claim 8 (depends on 1)

The method of claim 1, wherein, when the change comprises both the deletion of the existing data field and the addition of the new data field, the change indication bit-vector indicates respective positions of both the deletion and the addition.

### Claim 9

A computing node for synchronization of data across databases to save network bandwidth, the computing node comprising:
a processor configured to:
determine that a stored data-set at a primary database has changed, the stored data-set comprising a plurality of data fields arranged in a predetermined layout defined according to a data-set representation (DSR) structure that defines for a given data-set, a structure of data fields which are associated with respective keys of the DSR structure, a change to the stored data-set comprising a deletion of an existing data field or an addition of a new data field;
determine a change indication bit-vector indicating one or more of a position of the change at the stored data-set and a respective key position defined by the DSR structure, wherein the change indication bit-vector comprises a plurality of bits arranged serially, each of the plurality of bits corresponding to a respective key position of the DSR structure;
when the change comprises the deletion of the existing data field, provide, to a replication node managing a replica database storing a replica of the stored data-set, an indication of the change indication bit-vector, such that the replication node updates the replica and a respective DSR structure to show deletion of the existing data field at the position indicated by the change indication bit-vector; and
when the change comprises the addition of the new data field, provide, to the replication node, the indication of the change indication bit-vector and a record of a key value of the new data field and a data value of the new data field, such that the replication node updates the replica and the respective DSR structure to show the addition of the new data field at the position indicated by the change indication bit-vector.

### Claim 10 (depends on 9)

The computing node of claim 9, wherein a bit of the plurality of bits that indicates the position of the change has a first binary value, and other bits of the plurality of bits have a second binary value.

### Claim 11 (depends on 9)

The computing node of claim 9, wherein the record further comprises one or more of a length of the key value, a length of the data value of the new data field, a respective length of the new data field, and a data type of the new data field.

### Claim 12 (depends on 9)

The computing node of claim 9 wherein the processor is further configured to compress the indication of the change indication bit-vector prior to providing the change indication bit-vector to the replication node using one or more of a compression algorithm, run length encoding and variable length encoding.

### Claim 13 (depends on 9)

The computing node of claim 9, wherein, when the addition of the new data field is indicated at an end of the DSR structure, the indication of the change indication bit-vector comprises the record.

### Claim 14 (depends on 9)

The computing node of claim 9, wherein, when the addition of the new data field is indicated other than at an end of the DSR structure, the indication of the change indication bit-vector comprises the record and the change indication bit-vector in a compressed, or uncompressed format.

### Claim 15 (depends on 9)

The computing node of claim 9, wherein, when the addition of the new data field is indicated other than at an end of the DSR structure, the addition of the new data field occurs at a respective position of the stored data-set that corresponds to a previously deleted data field or a previously unused data field.

### Claim 16 (depends on 9)

The computing node of claim 9, wherein, when the change comprises both the deletion of the existing data field and the addition of the new data field, the change indication bit-vector indicates respective positions of both the deletion and the addition.

### Claim 17

A non-transitory computer program product comprising computer-readable program code which, when executed by a computer, causes the computer to perform a method for synchronization of data across databases to save network bandwidth, the method comprising:
determining, at a computing node, that a stored data-set at a primary database has changed, the stored data-set comprising a plurality of data fields arranged in a predetermined layout defined according to a data-set representation (DSR) structure that defines for a given data-set, a structure of data fields which are associated with respective keys of the DSR structure, a change to the stored data-set comprising a deletion of an existing data field or an addition of a new data field;
determining, at the computing node, a change indication bit-vector indicating one or more of a position of the change at the stored data-set and a respective key position defined by the DSR structure, wherein the change indication bit-vector comprises a plurality of bits arranged serially, each of the plurality of bits corresponding to a respective key position of the DSR structure;
when the change comprises the deletion of the existing data field, providing, to a replication node managing a replica database storing a replica of the stored data-set, an indication of the change indication bit-vector, such that the replication node updates the replica and a respective DSR structure to show deletion of the existing data field at the position indicated by the change indication bit-vector; and
when the change comprises the addition of the new data field, providing, to the replication node the indication of the change indication bit-vector and a record of a key value of the new data field and a data value of the new data field, such that the replication node updates the replica and the respective DSR structure to show the addition of the new data field at the position indicated by the change indication bit-vector.
