IP Library Granted Patent US 10,552,531
Granted Patent B2
US 10,552,531 · App. 15/258,918 · Granted Feb 4, 2020

Collaborative spreadsheet data validation and integration

Inventors: Timothy Yousaf (New York, NY); Yichen Xing (Potomac, MD); Rhys Brett-Bowen (London, GB)
Assignee: Palantir Technologies Inc.
G06F17/246G06F3/14G06F17/243G06F17/2725H04L67/1095G06F3/0481G06F17/2288
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,552,531
App. No.
15/258,918
Granted
Feb 4, 2020
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. The method may include accessing an application data schema comprising a set of constraints on application data consumed by an application hosted by an application server. The method may further include accessing a spreadsheet having one or more data validation rules. The method may further include determining whether the one or more data validation rules include the set of constraints. In response to determining the one or more data validation rules include the set of constraints, application data consumed by the application is synchronized with spreadsheet data corresponding to the spreadsheet.

Claims (86)

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;

causing display of a synchronization interface to present a status of synchronization of the spreadsheet data with each of a plurality of applications hosted by one or more application servers, the status of synchronization of the spreadsheet data with a first application indicating the spreadsheet data is synchronized with the first application;

accessing an application data schema comprising a set of constraints on application data consumed by a second application from among the plurality of applications;

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

in response to determining the one or more data validation rules exclude at least one constraint from the set of constraints, causing display within the synchronization interface, 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;

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; and

in response to determining the one or more predefined data validation rules selected from the user selectable list include the at least one constraint from the set of constraints, synchronizing the application data consumed by the second application with the spreadsheet data corresponding to the spreadsheet.

2. The system of claim 1 , 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 a third 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 third application with the spreadsheet data.

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

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

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

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.

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

6. The system of claim 5 , 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, an additional modification to at least one additional entry in the spreadsheet;

validating the at least one additional 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 additional modification to the at least one additional entry in the spreadsheet.

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

validating data included in the one or more cells according to the additional data validation rule.

8. The system of claim 1 , wherein the receiving of the additional data validation rule comprises:

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.

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

providing, for display on a second client device accessing the spreadsheet, a help widget associated with the validator, the help widget comprising one or more input elements operable to enter data into the one or more cells.

10. The system of claim 9 , wherein the help widget is selected from the group consisting of a date picker, an autocomplete dropdown, a geo-coordinate input widget, and a search widget.

11. A method comprising:

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

causing display of a synchronization interface to present a status of synchronization of the spreadsheet data with respect to a plurality of applications hosted by one or more application servers;

accessing an application data schema comprising a set of constraints on application data consumed by an application from among the plurality of applications;

determining, by one or more processors, whether the one or more data validation rules include the set of constraints;

in response to determining the one or more data validation rules exclude at least one constraint from the set of constraints, causing display, within the synchronization interface, 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 corresponding to the at least one constraint that has been determined to be excluded from the one or more data validation rules;

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 the one or more additional data validation rules for association with the one or more cells in the spreadsheet; and

in response to determining the one or more predefined data validation rules selected from the user selectable list include the at least one constraint from the set of constraints, synchronizing application data consumed by the application with the spreadsheet data corresponding to the spreadsheet.

12. The method of claim 11 , wherein

the application data schema is a first application data schema;

the application is a first application;

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

the operations further comprise:

accessing a second application data schema comprising a second set of constraints on application data consumed by a 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.

13. The method of claim 11 , further comprising validating the spreadsheet according to the one or more data validation rules.

14. The method of claim 11 , further comprising:

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.

15. The method of claim 11 , 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 application with the spreadsheet data such that the application data includes the modification to the at least one entry in the spreadsheet.

16. The method of claim 15 , 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, an additional modification to at least one additional entry in the spreadsheet;

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

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

17. The method of claim 11 , wherein the operations further comprise:

validating data included in the one or more cells according to the one or more predefined data validation rules.

18. The method of claim 11 , wherein the synchronizing of the application data with the spreadsheet data occurs without manual user intervention.

19. The method of claim 11 , further comprising:

providing, for display on a client device accessing the spreadsheet, an associated help widget, the help widget comprising one or more input elements operable to enter data into the one or more cells.

20. 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;

causing display of a synchronization interface to present a status of synchronization of the spreadsheet data with respect to a plurality of applications hosted by one or more application servers;

accessing an application data schema comprising a set of constraints on application data consumed by an application from among the plurality of applications;

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

in response to determining the one or more data validation rules exclude at least one constraint from the set of constraints, causing display, within the synchronization interface, 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 is excluded from the one or more data validation rules;

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 the one or more additional data validation rules for association with the one or more cells in the spreadsheet; and

in response to determining the one or more predefined data validation rules selected from the user selectable list include the at least one constraint from the set of constraints, synchronizing application data consumed by the application with 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 29, 2017
From: YOUSAF, TIMOTHY; XING, YICHEN; BRETT-BOWEN, RHYS
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 043434/0383 →
Continuity (2)
Provisional Application 62373615 · Aug 11, 2016
Related Publication 20180046608A1 · Feb 15, 2018
Cited By (1)
US 12,271,686