# US 12,602,500 B2 · Encapsulating access algorithms for data processing engines

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

- Number: US 12,602,500 B2
- Document ID: US12602500B2
- Status: Granted
- Kind: B2
- Application number: 18/439,073
- Filed: 2024-02-12
- Published: 2025-08-14
- Granted: 2026-04-14
- Earliest claimed: 2024-02-12
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Ronald J. Barber; Richard Sefton Sidle; Viktor Giannakouris Salalidis; Mir Hamid Pirahesh; Berthold Reinwald
- Web page: https://patentgrep.com/patent/US12602500B2

## CPC

- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 16/258: {Data format conversion from or to a database}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A first data processing engine with an unpublished data format may store data on a shared storage system, where the data is in an unpublished data format. The first data processing engine may generate code, executable by a second data processing engine, where the code is configured to allow the second data processing engine to directly access a portion of the data without having access to knowledge of the unpublished data format.

## Claims

### Claim 1

A system comprising:
a memory storing program instructions; and
a processor in communication with the memory, the processor being configured to execute the program instructions to perform processes comprising:
storing, by a first data processing engine with an unpublished data format, data on a shared storage system; and
generating, by the first data processing engine, executable code, wherein the code is configured to allow a second data processing engine to directly access and read a portion of the data without having access to knowledge of the unpublished data format.

### Claim 2 (depends on 1)

The system of claim 1, wherein the memory stores further program instructions, and wherein the processor is configured to execute the further program instructions to perform the processes further comprising:
generating worker node partitions to process portions of the generated code in parallel.

### Claim 3 (depends on 1)

The system of claim 1, wherein the memory stores further program instructions, and wherein the processor is configured to execute the further program instructions to perform the processes further comprising:
receiving a SQL query from a client requesting access to the data.

### Claim 4 (depends on 3)

The system of claim 3, wherein the memory stores additional program instructions, and wherein the processor is configured to execute the additional program instructions to perform the processes further comprising:
generating a subquery from the query prompting the first data processing engine to generate the code.

### Claim 5 (depends on 1)

The system of claim 1, wherein the memory stores further program instructions, and wherein the processor is configured to execute the further program instructions to perform the processes further comprising:
processing the generated code in batches.

### Claim 6 (depends on 1)

The system of claim 1, wherein the memory stores further program instructions, and wherein the processor is configured to execute the further program instructions to perform the processes further comprising:
bridging the generated code to be processed by the second data processing engine.

### Claim 7 (depends on 1)

The system of claim 1, wherein the generated code comprises metadata with data size and data location.

### Claim 8

A method comprising:
storing, by a first data processing engine with an unpublished data format, data on a shared storage system; and
generating, by the first data processing engine, executable code, wherein the code is configured to allow a second data processing engine to directly access and read a portion of the data without having access to knowledge of the unpublished data format.

### Claim 9 (depends on 8)

The method of claim 8, wherein the method further comprises:
generating worker node partitions to process portions of the generated code in parallel.

### Claim 10 (depends on 8)

The method of claim 8, wherein the method further comprises:
receiving a SQL query from a client requesting access to the data.

### Claim 11 (depends on 10)

The method of claim 10, wherein the method further comprises:
generating a subquery from the query prompting the first data processing engine to generate the code.

### Claim 12 (depends on 8)

The method of claim 8, wherein the method further comprises:
processing the generated code in batches.

### Claim 13 (depends on 8)

The method of claim 8, wherein the method further comprises:
bridging the generated code to be processed by the second data processing engine.

### Claim 14 (depends on 8)

The method of claim 8, wherein the generated code contains metadata with data size and data location.

### Claim 15

A computer program product comprising one or more computer readable storage media having program instructions collectively embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform a method, the method comprising:
storing, by a first data processing engine with an unpublished data format, data on a shared storage system; and
generating, by the first data processing engine, executable code, wherein the code is configured to allow a second data processing engine to directly access and read a portion of the data without having access to knowledge of the unpublished data format.

### Claim 16 (depends on 15)

The computer program product of claim 15, further comprising additional program instructions collectively stored on the one or more computer readable storage media and configured to cause the one or more processors to perform the method further comprising:
generating worker node partitions to process portions of the generated code in parallel.

### Claim 17 (depends on 15)

The computer program product of claim 15, further comprising additional program instructions stored on the one or more computer readable storage media and configured to cause the one or more processors to perform the method further comprising:
receiving a SQL query from a client requesting access to the data.

### Claim 18 (depends on 17)

The computer program product of claim 17, further comprising additional program instructions stored on the one or more computer readable storage media and configured to cause the one or more processors to perform the method further comprising:
generating a subquery from the query prompting the first data processing engine to generate the code.

### Claim 19 (depends on 15)

The computer program product of claim 15, further comprising additional program instructions stored on the one or more computer readable storage media and configured to cause the one or more processors to perform the method further comprising:
processing the generated code in batches.

### Claim 20 (depends on 15)

The computer program product of claim 15, further comprising additional program instructions stored on the one or more computer readable storage media and configured to cause the one or more processors to perform the method further comprising:
bridging the generated code to be processed by the second data processing engine.
