# US 12,111,844 B2 · System and method for cloud-based replication of data

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

- Number: US 12,111,844 B2
- Document ID: US12111844B2
- Status: Granted
- Kind: B2
- Application number: 17/882,402
- Filed: 2022-08-05
- Published: 2024-02-08
- Granted: 2024-10-08
- Earliest claimed: 2022-08-05
- Assignees: Open Text SA ULC
- Applicants: Open Text SA ULC
- Inventors: Alexander Lilko; Paul O'Hagan
- Web page: https://patentgrep.com/patent/US12111844B2

## CPC

- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/273: {Asynchronous replication or reconciliation}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments provide systems, methods and computer program products for cloud replication of data. One embodiment includes, accessing a virtual table definition and a data collection definition, the virtual table definition comprising a definition of a set of virtual table fields and a mapping of the set of virtual table fields to a set of target data types; automatically creating a virtual table according to the virtual table definition, the virtual table comprising the set of virtual table fields populated with the data of interest according to the data collection definition; and sending the virtual table and the mapping to a cloud computing environment. One embodiment further includes, in the cloud computing environment, storing the set of virtual table fields as a set of physical table fields in a physical table in a cloud hosted database, the set of physical table fields having the set of target data types.

## Claims

### Claim 1

A method for cloud replication of data, the method comprising:
in a first computing environment:
accessing a virtual table definition and a data collection definition, the virtual table definition comprising a definition of a set of virtual table fields and a mapping of the set of virtual table fields to a set of target data types, and the data collection definition defining data of interest;
automatically creating a virtual table according to the virtual table definition, the virtual table comprising the set of virtual table fields populated with the data of interest according to the data collection definition; and
sending the virtual table and the mapping of the set of virtual table fields to the set of target data types over an internet from the first computing environment to a cloud computing environment, wherein the virtual table is sent to the cloud computing environment using a format that has a first set of valid data types, wherein a cloud hosted database has a second set of valid data types, wherein the virtual table includes a first virtual table field that has a first virtual field data type selected from the first set of valid data types supported by the format but not included in the second set of valid data types, wherein the first virtual table field is from the set of virtual table fields; and
in the cloud computing environment, storing the set of virtual table fields as a set of physical table fields in a physical table in the cloud hosted database of the cloud computing environment, the set of physical table fields having the set of target data types.

### Claim 2 (depends on 1)

The method of claim 1, wherein the data of interest comprises data from a plurality of heterogeneous data sources transformed by a transformation engine.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first virtual table field for holding a character string representing metadata of a respective file and a second virtual table field for holding the respective file as a binary string.

### Claim 4 (depends on 1)

The method of claim 1, wherein sending the virtual table over the internet from the first computing environment to the cloud computing environment comprises sending a text-based representation of the virtual table and the mapping of the set of virtual table fields to the set of target data types.

### Claim 5 (depends on 4)

The method of claim 4, wherein the mapping of the set of virtual table fields to the set of target data types maps the first virtual table field to a first target data type that is in the second set of valid data types but not the first set of valid data types, and wherein the first virtual table field is stored to the physical table, according to the mapping of the set of virtual table fields to the set of target data types, as a first physical table field having the first target data type.

### Claim 6 (depends on 1)

The method of claim 1, further comprising repeating a set of operations to store the virtual table in the cloud hosted database as the physical table, the set of operations comprising:
receiving a portion of the virtual table at the cloud computing environment;
storing the portion of the virtual table in a persistent storage location in the cloud computing environment;
producing a message to a message queue in the cloud computing environment, the message including a reference to the portion of the virtual table stored at the persistent storage location;
consuming the message from the message queue;
based on the message consumed from the message queue, retrieving the portion of the virtual table from the persistent storage location; and
storing the portion of the virtual table as a portion of the physical table.

### Claim 7 (depends on 1)

The method of claim 1, wherein the cloud hosted database is a staging database for a cloud service.

### Claim 8 (depends on 1)

The method of claim 1, further comprising performing bi-directional replication of the data of interest.

### Claim 9

A data replication system for replicating data to a cloud, the data replication system comprising:
an on-premises computer system connected to an internet, the on-premises computer system comprising:
a first computer processor;
a first non-transitory computer readable storage medium storing a set of on-premises computer instructions executable by the first computer processor and comprising instructions for:
accessing a virtual table definition and a data collection definition, the virtual table definition comprising a definition of a set of virtual table fields and a mapping of the set of virtual table fields to a set of target data types, and the data collection definition defining data of interest;
automatically creating a virtual table according to the virtual table definition, the virtual table comprising the set of virtual table fields populated with the data of interest; and
sending the virtual table and the mapping of the set of virtual table fields to a set of target data types over the internet; and
a cloud hosted database;
a cloud computer system connected to the internet and the cloud hosted database, wherein the virtual table is sent to the cloud computer system using a format that has a first set of valid data types, wherein the cloud hosted database has a second set of valid data types, wherein the virtual table includes a first virtual table field that has a first virtual field data type selected from the first set of valid data types supported by the format but not included in the second set of valid data types, wherein the first virtual table field is from the set of virtual table fields, the cloud computer system comprising:
a second computer processor;
a second non-transitory computer readable storage medium storing a set of cloud computer instructions executable by the second computer processor and comprising instructions for:
receiving the virtual table over the internet; and
storing the set of virtual table fields as a set of physical table fields in a physical table in the cloud hosted database, the set of physical table fields having the set of target data types.

### Claim 10 (depends on 9)

The data replication system of claim 9, wherein the data of interest comprises data from a plurality of heterogeneous data sources transformed by a transformation engine.

### Claim 11 (depends on 9)

The data replication system of claim 9, wherein the first virtual table field for holding a character string representing metadata of a respective file and a second virtual table field for holding the respective file as a binary string.

### Claim 12 (depends on 9)

The data replication system of claim 9, wherein sending the virtual table over the internet comprises sending a text-based representation of the virtual table and the mapping of the set of virtual table fields to the set of target data types to the cloud computer system.

### Claim 13 (depends on 12)

The data replication system of claim 12, wherein the mapping of the set of virtual table fields to the set of target data types maps the first virtual table field to a first target data type that is in the second set of valid data types but not the first set of valid data types, and wherein the first virtual table field is stored to the physical table, according to the mapping of the set of virtual table fields to the set of target data types, as a first physical table field having the first target data type.

### Claim 14 (depends on 9)

The data replication system of claim 9, wherein the set of cloud computer instructions comprise instructions executable to repeat a set of operations to store the virtual table in the cloud hosted database as the physical table, the set of operations comprising:
receiving a portion of the virtual table;
storing the portion of the virtual table in a persistent storage location;
producing a message to a message queue, the message including a reference to the portion of the virtual table stored at the persistent storage location;
consuming the message from the message queue;
based on the message consumed from the message queue, retrieving the portion of the virtual table from the persistent storage location; and
storing the portion of the virtual table as a portion of the physical table.

### Claim 15 (depends on 9)

The data replication system of claim 9, wherein the set of on-premises computer instructions and the set of cloud computer instructions comprise instructions for performing bi-directional replication of data between the on-premises computer system and the cloud computer system.

### Claim 16 (depends on 9)

The data replication system of claim 9, wherein the cloud hosted database is a staging database for a cloud service.

### Claim 17 (depends on 16)

The data replication system of claim 16, wherein the set of on-premises computer instructions comprises instructions for collecting the data of interest from the cloud service to perform circular replication of the data of interest.

### Claim 18

A computer program product comprising a non-transitory, computer-readable medium storing thereon a set of on-premises computer instructions executable by a processor, the set of on-premises computer instructions comprising instructions for:
accessing a virtual table definition and a data collection definition, the virtual table definition comprising a definition of a set of virtual table fields and a mapping of the set of virtual table fields to a set of target data types, and the data collection definition defining data of interest;
automatically creating a virtual table according to the virtual table definition, the virtual table comprising the set of virtual table fields populated with the data of interest according to the data collection definition; and
sending the virtual table and the mapping of the set of virtual table fields to target data types over an internet to a cloud computing environment for storage of the set of virtual table fields in a physical table as a set of physical table fields having the set of target data types in a cloud hosted database, wherein the virtual table is sent to the cloud computing environment using a format that has a first set of valid data types, wherein the cloud hosted database has a second set of valid data types, wherein the virtual table includes a first virtual table field that has a first virtual field data type selected from the first set of valid data types supported by the format but not included in the second set of valid data types, wherein the first virtual table field is from the set of virtual table fields.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein the data of interest comprises data from a plurality of heterogeneous data sources transformed by a transformation engine.

### Claim 20 (depends on 18)

The computer program product of claim 18, wherein the first virtual table field for holding a character string representing metadata of a respective file and a second virtual table field for holding the respective file as a binary string.

### Claim 21 (depends on 18)

The computer program product of claim 18, wherein sending the virtual table over the internet to the cloud computing environment comprises sending a text-based representation of the virtual table and the mapping of the set of virtual table fields to the set of target data types.

### Claim 22 (depends on 21)

The computer program product of claim 21, wherein the mapping of the set of virtual table fields to the set of target data types maps the first virtual table field to a first target data type that is in the second set of valid data types but not the first set of valid data types, and wherein the first virtual table field is stored to the physical table, according to the mapping of the set of virtual table fields to the set of target data types, as a first physical table field having the first target data type.
