# US 11,442,954 B2 · Techniques for accessing on-premise data sources from public cloud for designing data processing pipelines

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

- Number: US 11,442,954 B2
- Document ID: US11442954B2
- Status: Granted
- Kind: B2
- Application number: 16/863,833
- Filed: 2020-04-30
- Published: 2021-11-04
- Granted: 2022-09-13
- Earliest claimed: 2020-04-30
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Debajyoti Roy
- Web page: https://patentgrep.com/patent/US11442954B2

## CPC

- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 7/582: {Pseudo-random number generators}
- G06F 9/3867: {using instruction pipelines}
- G06F 16/211: {Schema design and management}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for simulating a dataset based on sample statistics, and generating pipeline instructions for a database using the simulated dataset, is disclosed. The system may be a cloud-based platform. The system can provide improved performance and security while designing and deploying Extract-Transform-Load (ETL) database pipelines to manage on-premises data. The system receives, from a remote client, sample statistics characterizing a distribution of data corresponding to a column of a database table. The system can generate, based on the received sample statistics, a simulated dataset representing the column of the database table. The simulated dataset may be generated using pseudo-random data values from a distribution with statistics matching the sample statistics. The system can build a simulated database relation based at least in part on the simulated dataset. The system can generate and deploy pipeline instructions using the simulated database relation.

## Claims

### Claim 1

A method, comprising:
receiving, by a server and from a remote client, sample statistics describing data, the data corresponding to an attribute of a database relation;
generating, on the server and based at least in part on the received sample statistics, a simulated dataset corresponding to the attribute of the database relation;
building a simulated database relation based at least in part on the simulated dataset;
generating, based at least in part on the simulated dataset, pipeline instructions associated with a database pipeline; and
deploying the generated pipeline instructions to the remote client.

### Claim 2 (depends on 1)

The method of claim 1, wherein the sample statistics characterize a distribution of the data corresponding to the attribute.

### Claim 3 (depends on 1)

The method of claim 1, wherein the remote client is configured to:
receive the pipeline instructions; and
execute the pipeline instructions using the data corresponding to the attribute of the database relation.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating the simulated dataset further comprises generating pseudo-random data values according to a distribution, the distribution having population statistics matching the received sample statistics.

### Claim 5 (depends on 4)

The method of claim 4, further comprising obtaining a seed value, and wherein generating the pseudo-random data values further comprises seeding a pseudo-random generator with at least the obtained seed value.

### Claim 6 (depends on 1)

The method of claim 1, wherein the remote client is configured to determine the sample statistics describing the data.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving, by the server and from the remote client, updated sample statistics describing updated data, the updated data corresponding to the attribute of the database relation; and
updating, on the server and based at least in part on the updated sample statistics, the simulated dataset.

### Claim 8 (depends on 1)

The method of claim 1, wherein the attribute comprises a column of an on-premises database table, and wherein the data corresponding to the attribute is stored within the column.

### Claim 9 (depends on 1)

The method of claim 1, wherein the received sample statistics describing the data comprise information other than the data, and wherein a size of the received sample statistics does not depend on a size of the data.

### Claim 10

A system, comprising:
one or more processors; and
a memory configured to store computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to:
receive, from a remote client, sample statistics describing data, the data corresponding to an attribute of a database relation;
generate, based at least in part on the received sample statistics, a simulated dataset corresponding to the attribute of the database relation;
build a simulated database relation based at least in part on the simulated dataset;
generate, based at least in part on the simulated dataset, pipeline instructions associated with a database pipeline; and
deploy the generated pipeline instructions to the remote client.

### Claim 11 (depends on 10)

The system of claim 10, wherein the sample statistics characterize a distribution of the data corresponding to the attribute.

### Claim 12 (depends on 10)

The system of claim 10, wherein generating the simulated dataset further comprises generating pseudo-random data values according to a distribution, the distribution having population statistics matching the received sample statistics, and wherein the processors are further caused to obtain a seed value, and wherein generating the pseudo-random data values further comprises seeding a pseudo-random generator with at least the obtained seed value.

### Claim 13

A non-transitory computer-readable medium
storing computer-executable instructions that, when executed by a processor, cause the processor to perform operations comprising:
receiving, from a remote client, sample statistics describing data, the data corresponding to an attribute of a database relation;
generating, based at least in part on the received sample statistics, a simulated dataset corresponding to the attribute of the database relation;
building a simulated database relation based at least in part on the simulated dataset;
generating, based at least in part on the simulated dataset, pipeline instructions associated with a database pipeline: and
deploying the generated pipeline instructions to the remote client.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the operations further comprise:
receiving, from the remote client, updated sample statistics describing updated data, the updated data corresponding to the attribute of the database relation; and
updating, based at least in part on the updated sample statistics, the simulated dataset.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the attribute comprises a column of an on-premises database table, and wherein the data corresponding to the attribute is stored within the column.

### Claim 16 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the received sample statistics describing the data comprise information other than the data, and wherein a size of the received sample statistics does not depend on a size of the data.
