IP Library Granted Patent US 11,388,249
Granted Patent B2
US 11,388,249 · App. 16/894,623 · Granted Jul 12, 2022

System architecture for enabling efficient inter-application communications

Inventors: Peter Wilczynski (San Francisco, CA); Christopher Hammett (Washington, DC); Lloyd Ho (Palo Alto, CA); Sharon Hao (Redwood City, CA)
Assignee: Palantir Technologies Inc.
H04L67/2804G06F8/51G06F8/76H04L67/02H04L67/2819H04L67/2833
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,388,249
App. No.
16/894,623
Granted
Jul 12, 2022
Kind
B2
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 (30)

1. A computing system including an application environment configured to enable efficient inter-application communications, the computing system comprising:

a computer readable storage medium 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 that is configured to:

execute a first software application that is natively executable by the first application environment, the first software application configured to receive and transmit information in an application-independent language;

execute a second application environment configured to execute a second software application that is not natively executable by the first application environment, the second software application configured to receive and transmit information in the application-independent language; and

execute a computation engine configured to store and execute instructions received from the first software application, the second software application, or both.

2. The system of claim 1 , wherein the first application environment is further configured to:

execute a proxy application configured to enable communication of information between the first software application and the second software application.

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

4. The 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.

5. The 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.

6. The 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.

7. A computer-implemented method comprising:

executing, by a computing system including one or more processors, a first application environment;

within the first application environment, executing a first software application that is natively executable by the first application environment, the first software application configured to receive and transmit information in an application-independent language;

within the first application environment, executing a second application environment configured to execute a second software application that is not natively executable by the first application environment, the second software application configured to receive and transmit information in the application-independent language; and

within the first application environment, executing a computation engine configured to store and execute instructions received from the first software application, the second software application, or both.

8. The method of claim 7 , further comprising executing, within the first application environment, a proxy application configured to enable communication of information between the first software application and the second software application.

9. The method of claim 8 , wherein the first application environment includes one or more data stores.

10. The method of claim 9 , 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.

11. The method of claim 8 , 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.

12. The system of claim 1 , 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.

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

14. The system of claim 1 , wherein the computation engine comprises a script interpreter.

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

16. The 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.

17. The method 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.

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

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

20. The method of claim 7 , wherein the first software application environment comprises a virtual machine environment.

Assignments (2)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2022
From: WILCZYNSKI, PETER; HAMMETT, CHRISTOPHER; HO, LLOYD; HAO, SHARON
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 059516/0667 →
Continuity (3)
Continuation 16519949 · Jul 23, 2019
Provisional Application 62729630 · Sep 11, 2018
Related Publication 20200304585A1 · Sep 24, 2020
Cited By (1)
US 12,192,300