IP Library Granted Patent US 10,437,612
Granted Patent B1
US 10,437,612 · App. 15/423,380 · Granted Oct 8, 2019

Composite graphical interface with shareable data-objects

Inventors: Mark Elliot (New York City, NY); Brian Schimpf (Vienna, VA); Timothy Slatcher (London, GB); Ashwin Ramaswamy (New York City, NY)
Assignee: Palantir Technologies Inc.
G06F9/451G06F3/0482G06F3/04817
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 10,437,612
App. No.
15/423,380
Granted
Oct 8, 2019
Kind
B1
Abstract

Aspects of the present disclosure involve receiving references to application data of applications hosted by the servers. The application data includes information defining an interface of the application (e.g., a set of interface elements), and data types associated with the application. As a part of the process for generating a composite graphical user interface (GUI), the composite interface system receives references to application data of one or more applications at various memory locations (e.g., at both local and third-party servers). In this way, the composite interface system accesses the application data of any referenced application in order to retrieve application data to configure a composite GUI which includes interface elements of each of the referenced application.

Claims (75)

1. A system comprising:

one or more processors of a machine; and

a memory storing instructions that, when executed by at least one processor among the processors, causes the system to perform operations comprising:

receiving, at a server system, a reference to application data of an application, wherein the application data includes interface elements of the application and a set of instructions to execute a function of the application;

causing display of a composite graphical user interface (GUI) at a display of a client device, the composite GUI including a sidebar element displayed at a portion of the display of the client device, the sidebar element including a presentation of a graphical icon representative of the application;

receiving, at the server system, a selection of the graphical element from the client device;

updating the display of the composite GUI at the client device to include the interface elements of the application, in response to the receiving the selection;

accessing a data repository associated with the application, the data repository including a data object that comprises data attributes;

generating an artifact based on the data object at the client device, the artifact comprising a reference to a location of the data object within the data repository; and

causing display of the artifact with the composite GUI based on at least the data attributes of the data object.

2. The system of claim 1 , wherein the instructions cause the system to perform operations further comprising:

causing the client device to perform the function of the application based on the set of instructions.

3. The system of claim 1 , wherein the application data indicates a compatible data type, and the instructions cause the system to perform operations further comprising:

receiving, at the server system, a data object of the compatible data type indicated by the application data;

determining the data object is of the compatible data type; and

presenting the data object within the composite GUI based on the set of instructions of the application data.

4. The system of claim 1 , wherein the reference is a first reference, the application is a first application, the application data is a first application data, the interface elements are a first set of interface elements, the graphical icon is a first graphical icon, and the set of instructions is a first set of instructions to execute the first application, and the instructions cause the system to perform operations further comprising:

receiving a second reference to a second application data of a second application, the second application data including a second set of interface elements of the second application and a second set of instructions to execute a second function of the second application;

updating the sidebar element to include a second graphical icon and the first graphical icon, wherein the second graphical icon represents the second application;

receiving a selection of the second graphical element from the client device; and

updating the composite GUI to include the second set of interface elements of the second application.

5. The system of claim 4 , wherein the data attributes include a data type identifier of the data object, and the instructions cause the system to perform operation further comprising:

receiving a selection of the artifact from the client device;

retrieving the data attributes of the artifact from the data repository, in response to the receiving the selection of the artifact;

determining a data type of the data object referenced by the artifact based on the data type identifier of the data attributes of the data object; and

presenting the data object within the composite GUI based on the data type.

6. The system of claim 1 , wherein the data attributes include a data type identifier of the data object, an identifier of the data object, and a user permission of the data object.

7. The system of claim 1 , wherein the data attributes include a data type identifier of the data object, and the instructions cause the system to perform operation further comprising:

receiving a request to assign the artifact to a project from the client device;

receiving a distribution list that includes a set of network addresses of a set of client devices; and

distributing the project to the set of client devices.

8. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

receiving, at a server system, a reference to application data of an application, wherein the application data includes interface elements of the application and a set of instructions to execute a function of the application;

causing display of a composite graphical user interface (GUI) at a display of a client device, the composite GUI including a sidebar element displayed at a portion of the display of the client device, the sidebar element including a presentation of a graphical icon representative of the application;

receiving, at the server system, a selection of the graphical element from the client device;

updating the display of the composite GUI at the client device to include the interface elements of the application, in response to the receiving the selection;

accessing a data repository associated with the application, the data repository including a data object that comprises data attributes;

generating an artifact based on the data object at the client device, the artifact comprising a reference to a location of the data object within the data repository; and

causing display of the artifact with the composite GUI based on at least the data attributes of the data object.

9. The non-transitory machine-readable storage medium of claim 8 , wherein the instructions further comprise:

causing the client device to perform the function of the application based on the set of instructions.

10. The non-transitory machine-readable storage medium of claim 8 , wherein the application data indicates a compatible data type, and the instructions further comprise:

receiving, at the server system, a data object of the compatible data type indicated by the application data;

determining the data object is of the compatible data type; and

presenting the data object within the composite GUI based on the set of instructions of the application data.

11. The non-transitory machine-readable storage medium of claim 8 , wherein the reference is a first reference, the application is a first application, the application data is a first application data, the interface elements are a first set of interface elements, the graphical icon is a first graphical icon, and the set of instructions is a first set of instructions to execute the first application, and the instructions further comprise:

receiving a second reference to a second application data of a second application, the second application data including a second set of interface elements of the second application and a second set of instructions to execute a second function of the second application;

updating the sidebar element to include a second graphical icon and the first graphical icon, wherein the second graphical icon represents the second application;

receiving a selection of the second graphical element from the client device; and

updating the composite GUI to include the second set of interface elements of the second application.

12. The non-transitory machine-readable storage medium of claim 8 , wherein the data attributes include a data type identifier of the data object, an identifier of the data object, and a user permission of the data object.

13. The non-transitory machine-readable storage medium of claim 8 , wherein the data attributes include a data type identifier of the data object, and the instructions further comprise:

receiving a selection of the artifact from the client device;

retrieving the data attributes of the artifact from the data repository, in response to the receiving the selection of the artifact;

determining a data type of the data object referenced by the artifact based on the data type identifier of the data attributes of the data object; and

presenting the data object within the composite GUI based on the data type.

14. A method comprising:

receiving, at a server system, a reference to application data of an application, wherein the application data includes interface elements of the application and a set of instructions to execute a function of the application;

causing display of a composite graphical user interface (GUI) at a display of a client device, the composite GUI including a sidebar element displayed at a portion of the display of the client device, the sidebar element including a presentation of a graphical icon representative of the application;

receiving, at the server system, a selection of the graphical element from the client device;

updating the display of the composite GUI at the client device to include the interface elements of the application, in response to the receiving the selection;

accessing a data repository associated with the application, the data repository including a data object that comprises data attributes;

generating an artifact based on the data object at the client device, the artifact comprising a reference to a location of the data object within the data repository; and

causing display of the artifact with the composite GUI based on at least the data attributes of the data object.

15. The method of claim 14 , wherein the method further comprises:

causing the client device to perform the function of the application based on the set of instructions.

16. The method of claim 14 , wherein the application data indicates a compatible data type, and the method further comprises:

receiving, at the server system, a data object of the compatible data type indicated by the application data;

determining the data object is of the compatible data type; and

presenting the data object within the composite GUI based on the set of instructions of the application data.

17. The method of claim 14 , wherein the reference is a first reference, the application is a first application, the application data is a first application data, the interface elements are a first set of interface elements, the graphical icon is a first graphical icon, and the set of instructions is a first set of instructions to execute the first application, and the method further comprises:

receiving a second reference to a second application data of a second application, the second application data including a second set of interface elements of the second application and a second set of instructions to execute a second function of the second application;

updating the sidebar element to include a second graphical icon and the first graphical icon, wherein the second graphical icon represents the second application;

receiving a selection of the second graphical element from the client device; and

updating the composite GUI to include the second set of interface elements of the second application.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2017
From: ELLIOT, MARK; SCHIMPF, BRIAN; SLATCHER, TIMOTHY; RAMASWAMY, ASHWIN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 041162/0509 →
Continuity (2)
Continuation 15139793 · Apr 27, 2016
Provisional Application 62273320 · Dec 30, 2015