IP Library Granted Patent US 11,366,959
Granted Patent B2
US 11,366,959 · App. 16/541,524 · Granted Jun 21, 2022

Collaborative spreadsheet data validation and integration

Inventors: Timothy Yousaf (New York City, NY); Yichen Xing (Potomac, MD); Rhys Brett-Bowen (London, GB)
Assignee: Palantir Technologies Inc.
G06F40/18G06F3/14G06F16/273G06F40/174G06F40/226H04L67/1095G06F3/0481G06F40/197
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,366,959
App. No.
16/541,524
Granted
Jun 21, 2022
Kind
B2
Abstract

A system comprising a computer-readable storage medium storing at least one program and a method for integrating collaborative spreadsheet data into one or more network applications is presented. Spreadsheet data and an application data schema are accessed. The spreadsheet data corresponds to a spreadsheet having one or more validation rules. The application data schema comprises a set of constraints on application data consumed by an application hosted by an application server. A notification is displayed in response to determining that the one or more validation rules exclude at least one constraint from the set of constraints. The notification includes an indication that the application data is unable to be synchronized with the spreadsheet data and specifies one or more additional validation rules to associate with the spreadsheet to trigger synchronization of the application data with the spreadsheet data.

Claims (88)

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 one or more processors, causes the machine to perform operations comprising:

accessing spreadsheet data of a spreadsheet having one or more data validation rules;

accessing an application data schema comprising a set of constraints on application data consumed by an application from among a plurality of applications hosted by one or more application servers;

determining the one or more data validation rules exclude at least one constraint from the set of constraints; and

in response to determining the one or more data validation rules exclude at least one constraint from the set of constraints,

preventing synchronization of the application data with the spreadsheet data; and

causing display-of a notification that includes an indication that the application data is unable to be synchronized with the spreadsheet data, the notification specifying the one or more additional validation rules to associate with the spreadsheet to trigger synchronization of the application data with the spreadsheet data, the one or more additional validation rules specified in the notification corresponding to the at least one constraint that has been determined to be excluded from the one or more data validation rules.

2. The system of claim 1 , wherein the operations further comprise:

based on determining that the one or more additional validation rules have been associated with the spreadsheet, synchronizing the application data consumed by the application with the spreadsheet data corresponding to the spreadsheet.

3. The system of claim 2 , wherein the operations further comprise:

causing display of a window that includes a user selectable list of predefined validation rules for association with one or more cells in the spreadsheet;

receiving a user selection, from the user selectable list, of one or more predefined validation rules for association with the one or more cells in the spreadsheet, the one or more predefined validation rules corresponding to the one or more additional validation rules.

4. The system of claim 2 , wherein:

the client device is a first client device from among a plurality of client devices accessing the spreadsheet;

the operations further comprise:

receiving, from a second client device accessing the spreadsheet, a modification to at least one entry in the spreadsheet;

validating the at least one entry according to the one or more data validation rules and the one or more additional validation rules; and

synchronizing the application data consumed by the application with the spreadsheet data such that the application data includes the modification to the at least one entry in the spreadsheet.

5. The system of claim 2 , wherein the operations further comprise:

receiving, from a client device, user specified logic, the logic comprising a name, a validator, and a value type; and

receiving, from the client device, one or more user specified configuration parameters;

wherein the user specified logic and the user specified configuration parameters correspond to at least one of the one or more additional validation rules.

6. The system of claim 1 , wherein the operations further comprise:

causing display of a synchronization interface to present a status of synchronization of the spreadsheet data with each of the plurality of applications, the status of synchronization of the spreadsheet data with a second application indicating the spreadsheet data is synchronized with the second application.

7. The system of claim 6 , wherein

the application data schema is a first application data schema;

the set of constraints is a first set of constraints; and

the operations further comprise:

accessing a further application data schema comprising a second set of constraints on application data consumed by the second application;

determining the one or more data validation rules include the second set of constraints; and

in response to determining the one or more data validation rules include the second set of constraints, synchronizing the application data consumed by the second application with the spreadsheet data.

8. The system of claim 6 , wherein the operations further comprise:

receiving, from a client device accessing the spreadsheet, a modification to at least one entry in the spreadsheet;

validating the at least one entry according to the one or more data validation rules; and

synchronizing the application data consumed by the second application with the spreadsheet data such that the application data includes the modification to the at least one entry in the spreadsheet.

9. The system of claim 1 , wherein the operations further comprise:

validating the spreadsheet according to the one or more data validation rules;

determining at least one cell in the spreadsheet includes an invalid entry; and

in response to determining the at least one cell in the spreadsheet includes the invalid entry, causing the at least one cell to be visually distinguished from remaining cells during display of the spreadsheet.

10. A method comprising:

accessing spreadsheet data of a spreadsheet having one or more data validation rules;

accessing an application data schema comprising a set of constraints on application data consumed by an application from among a plurality of applications hosted by one or more application servers;

determining the one or more data validation rules exclude at least one constraint from the set of constraints; and

in response to determining the one or more data validation rules exclude at least one constraint from the set of constraints,

preventing synchronization of the application data with the spreadsheet data; and

causing display of a notification that includes an indication that the application data is unable to be synchronized with the spreadsheet data, the notification specifying one or more additional validation rules to associate with the spreadsheet to trigger synchronization of the application data with the spreadsheet data, the one or more additional validation rules specified in the notification corresponding to the at least one constraint that has been determined to be excluded from the one or more data validation rules.

11. The method of claim 10 , further comprising:

based on determining that the one or more additional validation rules have been associated with the spreadsheet, synchronizing the application data consumed by the application with the spreadsheet data corresponding to the spreadsheet.

12. The method of claim 11 , further comprising:

causing display of a window that includes a user selectable list of predefined validation rules for association with one or more cells in the spreadsheet;

receiving a user selection, from the user selectable list, of one or more predefined validation rules for association with the one or more cells in the spreadsheet, the one or more predefined validation rules corresponding to the one or more additional validation rules.

13. The method of claim 11 , wherein:

the client device is a first client device from among a plurality of client devices accessing the spreadsheet;

the operations further comprise:

receiving, from a second client device accessing the spreadsheet, a modification to at least one entry in the spreadsheet;

validating the at least one entry according to the one or more data validation rules and the one or more additional validation rules; and

synchronizing the application data consumed by the application with the spreadsheet data such that the application data includes the modification to the at least one entry in the spreadsheet.

14. The method of claim 10 , further comprising:

receiving, from a client device, user specified logic, the logic comprising a name, a validator, and a value type; and

receiving, from the client device, one or more user specified configuration parameters;

wherein the user specified logic and the user specified configuration parameters correspond to at least one of the one or more additional validation rules.

15. The method of claim 10 , further comprising: causing display of a synchronization interface to present a status of synchronization of the spreadsheet data with each of the plurality of applications, the status of synchronization of the spreadsheet data with a second application indicating the spreadsheet data is synchronized with the second application.

16. The method of claim 15 , wherein:

the application data schema is a first application data schema;

the set of constraints is a first set of constraints; and

the operations further comprise:

accessing a further application data schema comprising a second set of constraints on application data consumed by the second application;

determining the one or more data validation rules include the second set of constraints; and

in response to determining the one or more data validation rules include the second set of constraints, synchronizing the application data consumed by the second application with the spreadsheet data.

17. The method of claim 15 , further comprising:

receiving, from a client device accessing the spreadsheet, a modification to at least one entry in the spreadsheet;

validating the at least one entry according to the one or more data validation rules; and

synchronizing the application data consumed by the second application with the spreadsheet data such that the application data includes the modification to the at least one entry in the spreadsheet.

18. The method of claim 10 , further comprising:

validating the spreadsheet according to the one or more data validation rules;

determining at least one cell in the spreadsheet includes an invalid entry; and

in response to determining the at least one cell in the spreadsheet includes the invalid entry, causing the at least one cell to be visually distinguished from remaining cells during display of the spreadsheet.

19. A non-transitory machine-readable storage medium embodying instructions that, when executed by at least one processor of a machine, cause the machine to perform operations comprising:

accessing spreadsheet data of a spreadsheet having one or more data validation rules;

accessing an application data schema comprising a set of constraints on application data consumed by an application from among a plurality of applications hosted by one or more application servers;

determining the one or more data validation rules exclude at least one constraint from the set of constraints; and

in response to determining the one or more data validation rules exclude at least one constraint from the set of constraints,

preventing synchronization of the application data with the spreadsheet data; and

causing display-of a notification that includes an indication that the application data is unable to be synchronized with the spreadsheet data, the notification specifying one or more additional validation rules to associate with the spreadsheet to trigger synchronization of the application data with the spreadsheet data, the one or more additional validation rules specified in the notification corresponding to the at least one constraint that has been determined to be excluded from the one or more data validation rules.

20. The non-transitory machine-readable storage medium of claim 19 , wherein the operations further comprise:

based on determining that the one or more additional validation rules have been associated with the spreadsheet, synchronizing the application data consumed by the application with the spreadsheet data corresponding to the spreadsheet.

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 Aug 15, 2019
From: YOUSAF, TIMOTHY; XING, YICHEN; BRETT-BOWEN, RHYS
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 050063/0148 →
Continuity (3)
Continuation 15258918 · Sep 7, 2016
Provisional Application 62373615 · Aug 11, 2016
Related Publication 20200034417A1 · Jan 30, 2020
Cited By (1)
US 12,271,686