IP Library Granted Patent US 10,095,763
Granted Patent B1
US 10,095,763 · App. 15/705,906 · Granted Oct 9, 2018

Systems and methods for data analysis and visualization and managing data conflicts

Inventors: Caitlin Colgrove (Palo Alto, CA); Andrew Moreland (San Francisco, CA); Alexander Taheri (Madison, CT); Benjamin Hamme (San Francisco, CA); Bianca Rahill-Marier (New York, NY); John Carrino (Redwood City, CA); Dzmitry Dulko (San Jose, CA); Gabrielle Javitt (New York, NY); Helen Kaltegaertner (New York, NY); Joshua Chomicki (San Jose, CA); Josh Munsch (San Francisco, CA); Jacob Sanches (Oakland, CA); Mark Schafer (New York, NY); Walker Burgin (Seattle, WA); Xiaohan Zhang (Sunnyvale, CA)
Assignee: Palantir Technologies Inc.
G06F17/30572G06F17/30371G06F17/30377
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,095,763
App. No.
15/705,906
Granted
Oct 9, 2018
Kind
B1
Abstract

Systems and methods are provided for generating reports reflecting a visualization of, e.g., a dataset on which data analysis has been performed. The data analysis performed on the dataset may be an aggregation of data analysis functionality provided by applications or tools. Dataset visualization is realized in a workspace implemented by a separate application or tool. Potential conflicts regarding updating one or more elements of the dataset are reconciled by implementing a dual operational transform system and method. A global state of the dataset may be determined by a first operational transform system and method, while a local state of the dataset may be determined by a second operational transform system and method. The local state of the dataset may be updated through operational transforms exchanged between the first and second operational transform systems that align the local state of the dataset with the global state of the dataset.

Claims (33)

1. A method being implemented by a computing system including one or more physical processors and storage media storing machine-readable instructions, the method comprising:

identifying a visualization script associated with a first application present in a workspace implemented by a second application;

correlating a dataset with the visualization script, wherein the dataset is stored in conjunction with the workspace; and

allocating a portion of the workspace for rendering a visualization of the dataset based upon data analysis functionality of and applied by the first application.

2. The method of claim 1 , wherein the visualization script comprises a plugin adapted to invoke a widget associated with the first application.

3. The method of claim 2 , wherein one or more parameters are passed between the plugin and the widget, wherein the plugin and the widget operatively interact to perform the rendering the visualization of the dataset.

4. The method of claim 3 , further comprising executing the widget to access a running instance of the first application performing data analysis on the dataset resulting in the visualization.

5. The method of claim 4 , wherein the plugin sets forth one or more parameters according to which the rendering of the visualization is performed.

6. The method of claim 2 , wherein the widget is representative of a report to be generated in the workspace.

7. The method of claim 2 , further comprising storing the widget in centralized server accessible by the workspace.

8. The method of claim 1 , wherein the portion of the workspace for rendering the visualization comprises an embedded web browser window in which the rendered visualization of the dataset is presented.

9. The method of claim 8 , wherein the rendered visualization of the dataset is retrieved based on a uniform resource locator.

10. A method being implemented by a computing system including one or more physical processors and storage media storing machine-readable instructions, the method comprising:

receiving information regarding operations performed on a dataset at a plurality of workspaces, the operations being associated with respective states of the dataset;

applying operational transformers to each of the operations to obtain transformed operations;

applying a reduction function to each of the respective states of the dataset with which the transformed operations are associated to arrive at a current state of the dataset; and

in response to an operation received from a first workspace of the plurality of workspaces subsequent to a local updating of the first workspace, transmitting the transformed operations to the first workspace for use in a global updating of the first workspace based on the operations performed on the dataset at the other workspaces.

11. The method of claim 10 , wherein the operation received from the first workspace conflicts with one or more of the operations performed on the dataset at the other workspaces.

12. The method of claim 11 , wherein the transformed operations transmitted to the first workspace comprises transformations of all the operations performed on the dataset at the other workspaces subsequent to a state reflecting a last global update to the dataset and prior to a state reflecting a current state of the dataset at the first workspace.

13. A server, comprising:

a back-end transform engine configured to:

receive information regarding operations performed on a dataset at a plurality of workspaces, the operations being associated with respective states of the dataset;

apply operational transformers to each of the operations to obtain transformed operations;

apply a reduction function to each of the respective states of the dataset with which the transformed operations are associated to arrive at a current global state of the dataset; and

in response to an operation received from a first workspace of the plurality of workspaces subsequent to a local updating of the first workspace, transmit the transformed operations to the first workspace for use in a global updating of the first workspace based on the operations performed on the dataset at the other workspaces; and

a global state database configured to store the current global state of the dataset.

14. The server of claim 13 , wherein a front-end transform engine of the first workspace is configured to periodically poll the back-end transform engine to obtain a latest set of operations performed on the dataset.

15. The server of claim 13 , wherein the information regarding the operations performed on the dataset at the plurality of workspaces comprises a client identifier identifying a respective client from which one or more of the operations are received.

16. The server of claim 13 , wherein the information regarding the operations performed on the dataset at the plurality of workspaces comprises a revision identifier reflecting a current state of a respective client from which one or more of the operations are received.

17. The server of claim 13 , further comprising one or more application programming interfaces adapted to generate a widget associated with a first data analysis application analyzing the dataset, the widget being invocable via a plugin referenced by the first workspace, the plugin comprising one or more parameters specifying a manner in which the dataset is rendered at the first workspace in accordance with a reconciled state of the dataset accounting for the current global state of the dataset and a current state of the dataset at the first workspace.

18. The server of claim 17 , wherein the transmission of the transformed operations to the first workspace comprises transmitting the transformed operations from the back-end transform engine to a front-end transform engine of a client computing system adapted to render the first workspace.

19. The server of claim 18 , wherein the back-end transform engine receives the operation from the first workspace via the front-end transform engine of the client computing system.

20. The server of claim 13 , wherein the operation received from the first workspace creates a time-based conflict with one of more of the operations performed on the dataset at others of the plurality of workspaces based upon the back-end workspace receiving the information from the others of the plurality of workspaces prior to receiving the operation from the first workspace.

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, 2018
From: BURGIN, WALKER; CARRINO, JOHN; CHOMICKI, JOSHUA; COLGROVE, CAITLIN; DULKO, DZMITRY; HAMME, BENJAMIN; JAVITT, GABRIELLE; KALTEGAERTNER, HELEN; MORELAND, ANDREW; MUNSCH, JOSH; RAHILL-MARIER, BIANCA; SANCHES, JACOB; SCHAFER, MARK; TAHERI, ALEXANDER; ZHANG, XIAOHAN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 045232/0001 →
Continuity (1)
Provisional Application 62530698 · Jul 10, 2017
Cited By (2)
US 12,602,263 US 12,650,972