IP Library Granted Patent US 9,767,172
Granted Patent B2
US 9,767,172 · App. 14/874,303 · Granted Sep 19, 2017

Data aggregation and analysis system

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 9,767,172
App. No.
14/874,303
Granted
Sep 19, 2017
Kind
B2
Abstract

An interactive user interface for displaying projects comprising a collection of links specifying data to be displayed from a plurality of different applications and/or data sources. When loading a project for display, links are automatically parsed to identify the application and/or data source they are associated with. Retrieved data associated with the links is displayed in a format based upon that of their native application. The data may be displayed in an interactive format, allowing the user to change or manipulate the data in a manner that would be possible in the data's native application. A project may be expressed as a “project link,” comprising a text string, wherein the links of the assets associated with the project are included or embedded within the text string, and which may be shared between different users, and may function as a snapshot of the project.

Claims (68)

1. A computing-implemented method of accessing and displaying data from a plurality of different applications or data sources, the method comprising:

by one or more processors executing program instructions:

communicating with a database storing one or more projects and one or more plug-ins each corresponding to a respective external application or external data source of a plurality of external applications or external data sources, wherein each of the one or more projects includes a respective one or more links, wherein at least some of the links encode data indicative of at least:

a corresponding external application or external data source,

data of the corresponding external application or external data source to be accessed, and

a format in which the data to be accessed from the corresponding external application or external data source is to be displayed; and

accessing, from the database, a first project of the one or more projects;

identifying a first link included in the first project;

analyzing the first link to determine whether the first link is associated with a first external application or external data source corresponding to a plug-in of the one or more plug-ins by:

providing at least a portion of the first link to at least one of the one or more plug-ins, wherein the one or more plug-ins parse the received portion of the first link at least in part for information encoded into the received portion of the first link, the information including one or more display parameters; and

receiving, from at least one of the one or more plug-ins, an indication of whether the plug-in is associated with the first external application or external data source associated with the first link; and

in response to determining that the first external application or external data source is associated with a first plug-in of the one or more plug-ins:

accessing the first external application or external data source through the first plug-in;

using the first plug-in, retrieving data from the first external application or external data source as indicated by the first link; and

displaying the retrieved data in a format indicated by the first link, wherein the displayed data is interactively accessible to a user as if the displayed data were displayed natively by the first external application or external data source.

2. The computing-implemented method of claim 1 , wherein accessing the first external application or external data source comprises submitting an authentication token to the first external application or external data source, and wherein the first plug-in is configured to retrieve a first portion of the data but not a second portion of the data from the first external application or external data source based on authentication of the authentication token.

3. The computing-implemented method of claim 1 further comprising:

by the one or more processors executing program instructions:

determining whether or not the first external application or external data source is associated with a plug-in of the one or more plug-ins; and

in response to determining that the first external application or external data source is not associated with a plug-in of the one or more plug-ins, displaying the link as text.

4. The computing-implemented method of claim 1 further comprising:

by the one or more processors executing program instructions:

receiving a first indication from the user of a modification to be made to at least a portion of the displayed data associated with the first link;

performing the modification on the displayed data in response to the received indication; and

generating a first updated link based at least in part upon the modification to the displayed data.

5. The computing-implemented method of claim 4 further comprising:

by the one or more processors executing program instructions:

receiving a second indication from a second user of a second modification to be made to at least a portion of the displayed data associated with the first link;

generating a second updated link based at least in part upon the second indication, in response to a determination that the second indication was not received between the receipt of the first indication and the generation of the first updated link; and

preventing the generation of the second updated link in response to a determination that the second indication was received between the receipt of the first indication and the generation of the first updated link.

6. A computing system configured to access and display data from a plurality of different applications or data sources, the computing system comprising:

a computer processor;

a database storing one or more projects and one or more plug-ins each corresponding to a respective external application or external data source of a plurality of external applications or external data sources, wherein each of the one or more projects includes a respective one or more links, wherein at least some of the links encode data indicative of at least:

a corresponding external application or external data source,

data of the corresponding external application or external data source to be accessed, and

a format in which the data to be accessed from the corresponding external application or external data source is to be displayed; and

a computer readable storage medium storing program instructions configured for execution by the computer processor to cause the computing system to:

access, from the database, a first project of the one or more projects;

identify a first link included in the first project;

analyze the first link to determine whether the first link is associated with a first external application or external data source corresponding to a plug-in of the one or more plug-ins by:

providing at least a portion of the first link to at least one of the one or more plug-ins, wherein the one or more plug-ins parse the received portion of the first link at least in part for information encoded into the received portion of the first link, the information including one or more display parameters; and

receiving, from at least one of the one or more plug-ins, an indication of whether the plug-in is associated with the first external application or external data source associated with the first link; and

in response to determining that the first external application or external data source is associated with a first plug-in of the one or more plug-ins:

access the first external application or external data source through the first plug-in;

using the first plug-in, retrieve data from the first external application or external data source as indicated by the first link; and

display the retrieved data in a format indicated by the first link, wherein the displayed data is interactively accessible to a user as if the displayed data were displayed natively by the first external application or external data source.

7. The computing system of claim 6 , wherein the first external application or external data source corresponds to an application for creating one or more graphs from a plurality of stored data points.

8. The computing system of claim 7 , wherein the first link specifies one or more graphs created using stored data points.

9. The computing system of claim 6 , wherein accessing the first external application or external data source comprises submitting an authentication token to the first external application or external data source, and wherein the first plug-in is configured to retrieve a first portion of the data but not a second portion of the data from the first external application or external data source based on authentication of the authentication token.

10. The computing system of claim 6 , wherein the first external application or external data source corresponding to the first plug-in is an application for providing a hierarchy of objects associated with one or more data entities.

11. The computing system of claim 10 , wherein the first link corresponds to a particular object associated with a data entity of the one or more data entities, and wherein the retrieved data is displayed as a representation of the object and a breadcrumb trail indicating a position of the object within the hierarchy.

12. The computing system of claim 6 , wherein the program instructions are further configured to cause the computing system to:

determine whether or not the first external application or external data source is associated with a plug-in of the one or more plug-ins; and

in response to determining that the first external application or external data source is not associated with a plug-in of the one or more plug-ins, display the link as text.

13. The computing system of claim 6 , wherein the first link comprises a URL.

14. The computing system of claim 13 , wherein the URL corresponds to an image, and wherein the program instructions cause the computing system to display the image specified by the URL.

15. The computing system of claim 6 , wherein a project of the one or more projects may be further associated with one or more pieces of text entered by a user or one or more uploaded files.

16. The computing system of claim 6 , wherein the program instructions are further configured to cause the computing system to:

receive a first indication from the user of a modification to be made to at least a portion of the displayed data associated with the first link;

perform the modification on the displayed data in response to the received indication; and

generate a first updated link based at least in part upon the modification to the displayed data.

17. The computing system of claim 16 , wherein the program instructions are further configured to cause the computing system to:

receive a second indication from a second user of a second modification to be made to at least a portion of the displayed data associated with the first link;

generate a second updated link based at least in part upon the second indication, in response to a determination that the second indication was not received between the receipt of the first indication and the generation of the first updated link; and

prevent the generation of the second updated link in response to a determination that the second indication was received between the receipt of the first indication and the generation of the first updated link.

18. The computing system of claim 6 , wherein a project of the one or more projects is associated with a project link, wherein the one or more links included in the project are encoded within the text of the project link.

19. The computing system of claim 16 , wherein the modification comprises changing a field of view of the displayed data associated with the first link.

20. The computing system of claim 6 , wherein the first plug-in retrieves data from the first external application or external data source using an API of the first external application or external data source.

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 Nov 25, 2015
From: FACKLER, STEVEN; SKIFF, DAVID
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 037144/0143 →