# US 2022/0035940 A1 · Data generation system and method

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

- Number: US 2022/0035940 A1
- Document ID: US20220035940A1
- Status: Published application
- Kind: A1
- Application number: 17/492,891
- Filed: 2021-10-04
- Published: 2022-02-03
- Earliest claimed: 2019-04-29
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Nitish Kulkarni; Jakob Frick; Louis Franc; Thomas Poinsot; Hugo Dobbelaere
- Web page: https://patentgrep.com/patent/US20220035940A1

## CPC

- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06F 11/3684: {for test design, e.g. generating new test cases}
- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 11/3696: {Methods or tools to render software testable}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/14: using a plurality of keys or algorithms
- 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 data synthesis system comprising a high side computing environment and a low side computing environment. Access to the high side computing environment may be restricted to a first one or more users. The high side computing environment may comprise a first one or more datasets and one or more specification computer programs. The one or more specification computer programs may be configured to generate a data synthesis specification based on the structure of the first one or more datasets. The low side computing environment may be accessible by a second a one or more users. The low side computing environment may comprise one or more data synthesizer computer programs. The one or more data synthesizer computer programs may be configured to synthesize a second one or more datasets based on the data synthesis specification.

## Claims

### Claim 1

A data synthesis system comprising:
a high side computing environment, wherein access to the high side computing environment is restricted to a first one or more users, the high side computing environment comprising:
a first one or more datasets stored on one or more data storage devices; and
one or more specification generator computer programs configured to generate a data synthesis specification based on a structure of the first one or more datasets; and
a low side computing environment, wherein the low side computing environment is accessible by a second one or more users, the low side computing environment comprising:
one or more data synthesizer computer programs configured to synthesize a second one or more datasets based on the data synthesis specification.

### Claim 2 (depends on 1)

The data synthesis system of claim 1, wherein the data synthesis specification comprises code in a domain specific language.

### Claim 3 (depends on 2)

The data synthesis system of claim 2, wherein the code is editable by at least one of the second one or more users.

### Claim 4 (depends on 1)

The data synthesis system of claim 1, wherein the one or more datasets stored on the one or more data storage devices of the high side computing environment cannot be accessed by the second one or more users.

### Claim 5 (depends on 1)

The data synthesis system of claim 1, wherein there is an air gap between the high side computing environment and low side computing environment.

### Claim 6

A method comprising:
generating, by one or more processors of a high side computing environment, a data synthesis specification based on a structure of a first one or more datasets stored on one or more data storage devices of the high side computing environment; and
synthesizing, by one or more processors of a low side computing environment, a second one or more datasets based on the data synthesis specification.

### Claim 7 (depends on 6)

The method of claim 6, wherein the data synthesis specification comprises code in a domain specific language.

### Claim 8 (depends on 6)

The method of claim 6, wherein the one or more datasets stored on the one or more data storage devices of the high side computing environment cannot be accessed by the second one or more users.

### Claim 9 (depends on 6)

The method of claim 6, further comprising:
storing, by one or more processors of the high side computing environment, the data synthesis specification to one or more removable storage devices; and
reading, by one or more processors of the low side computing environment, the data synthesis specification from the one or more removable storage devices.

### Claim 10 (depends on 6)

The method of claim 6, wherein the low side computing environment comprises a plurality of connected computing devices, and wherein synthesizing the second one or more datasets comprises:
concurrently performing one or more data synthesis operations on each of the plurality of connected computing devices.

### Claim 11

A method, performed by one or more processors, comprising:
receiving a universality indicator;
in response to the universality indicator indicating a universal uniqueness requirement, selecting a universally unique key generator, wherein the universally unique key generator is configured to generate a plurality of universally unique keys;
in response to the universality indicator not indicating a universal uniqueness requirement, selecting a locally unique key generator, wherein the locally unique key generator is configured to generate a plurality of locally unique keys; and
generating, using the selected key generator, a key for each of a plurality of data items of one or more datasets, wherein the dataset is synthesized based on a data synthesis specification.

### Claim 12 (depends on 11)

The method of claim 11, wherein each of the plurality of universally unique keys is a universally unique identifier.

### Claim 13 (depends on 11)

The method of claim 11, wherein the probability of a collision in a set of a billion universally unique keys, each of universally unique keys in the set being generated by a respective universally unique key generator, is less than a half.

### Claim 14 (depends on 11)

The method of claim 11, wherein the locally unique key generator is configured to receive a seed value and deterministically generate the plurality of locally unique keys based on the seed value.

### Claim 15 (depends on 11)

The method of claim 11, wherein the data synthesis specification comprises code in a domain specific language.
