# US 12,192,300 B2 · System architecture for enabling efficient inter-application communications

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

- Number: US 12,192,300 B2
- Document ID: US12192300B2
- Status: Granted
- Kind: B2
- Application number: 18/464,670
- Filed: 2023-09-11
- Published: 2023-12-28
- Granted: 2025-01-07
- Earliest claimed: 2018-09-11
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Peter Wilczynski; Christopher Hammett; Lloyd Ho; Sharon Hao
- Web page: https://patentgrep.com/patent/US12192300B2

## CPC

- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- H04L 67/561: Adding application-functional data or data for application control, e.g. adding metadata
- G06F 8/51: Source to source
- G06F 8/76: Adapting program code to run in a different environment; Porting
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/564: Enhancement of application control based on intercepted application data
- H04L 67/566: Grouping or aggregating service requests, e.g. for unified processing
- 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 system architecture can be used to facilitate communication among applications that are native and/or non-native to an application environment. The system architecture can include a first application environment executed on a client-side computing device. The first application environment can execute software applications that are native thereto. The first application environment can further execute software applications that are native thereto, but which software applications themselves comprise second application environments of types different from the first application environment, and which software applications can therefore execute additional software applications that are non-native to the first application environment. The first application environment can further execute a computation engine that is configured to store and execute instructions received from the first software application, the second software application, or both.

## Claims

### Claim 1

A computing system comprising:
one or more computer readable storage mediums having program instructions embodied therewith; and
one or more processors configured to execute the program instructions to cause the computing system to execute a first application environment configured to:
execute a first software application;
execute a second application environment configured to execute a second software application that is not natively executable by the first application environment; and
execute one or more application programming interfaces (“APIs”) configured to enable communication between the first software application and the second software application.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein executing the one or more APIs comprises executing a proxy application configured to enable communication of information between the first software application and the second software application.

### Claim 3 (depends on 2)

The computing system of claim 2, wherein the first application environment includes one or more data stores.

### Claim 4 (depends on 3)

The computing system of claim 3, wherein the proxy application is configured to enable communication of information among the one or more data stores and the first and second software applications.

### Claim 5 (depends on 2)

The computing system of claim 2, wherein each of the first and second applications includes corresponding data interfaces configured to pass the information to a corresponding data interface of the proxy application using an interface definition language.

### Claim 6 (depends on 2)

The computing system of claim 2, wherein the proxy application is configured to enable communication of information among a server-side application remote from the computing system and the first and second software applications.

### Claim 7 (depends on 1)

The computing system of claim 1, executing a computation engine configured to store and execute instructions received from the first software application, the second software application, or both.

### Claim 8 (depends on 7)

The computing system of claim 7, wherein the computation engine is configured to communicate directly with a server-side application remote from the computing system and the first and second software applications.

### Claim 9 (depends on 7)

The computing system of claim 7, wherein the computation engine is configured to receive and store data entered by a user into a client device.

### Claim 10 (depends on 7)

The computing system of claim 7, wherein the computation engine comprises a script interpreter.

### Claim 11 (depends on 1)

The computing system of claim 1, wherein the first software application is natively executable by the first application environment.

### Claim 12 (depends on 1)

The computing system of claim 1, wherein the first software application environment comprises a virtual machine environment.

### Claim 13 (depends on 1)

The computing system of claim 1, wherein the second software application environment is configured to execute software applications natively executable in at least one of a plurality of native software languages.

### Claim 14

A computer-implemented method comprising:
within a first application environment:
executing a first software application;
executing a second application environment configured to execute a second software application that is not natively executable by the first application environment; and
executing one or more application programming interfaces (“APIs”) configured to enable communication between the first software application and the second software application.

### Claim 15 (depends on 14)

The method of claim 14, further comprising executing, within the first application environment, a computation engine configured to store and execute instructions received from the first software application, the second software application, or both.

### Claim 16 (depends on 15)

The method of claim 15, wherein the computation engine is configured to communicate directly with a server-side application remote from the computing system and the first and second software applications.

### Claim 17 (depends on 15)

The method of claim 15, wherein the computation engine comprises a script interpreter.

### Claim 18 (depends on 14)

The method of claim 14, wherein the first software application is natively executable by the first application environment.

### Claim 19 (depends on 14)

The method of claim 14, wherein executing the one or more APIs comprises executing a proxy application configured to enable communication of information between the first software application and the second software application.

### Claim 20

A non-transitory computer-readable medium storing a set of instructions that are executable by one or more electronic devices, each having one or more processors, to cause the one or more electronic devices to perform a method, the method comprising:
within a first application environment:
executing a first software application;
executing a second application environment configured to execute a second software application that is not natively executable by the first application environment; and
executing one or more application programming interfaces (“APIs”) configured to enable communication between the first software application and the second software application.
