IP Library Granted Patent US 11,809,407
Granted Patent B2
US 11,809,407 · App. 17/747,920 · Granted Nov 7, 2023

Systems and methods for establishing and enforcing relationships between items

Inventors: Jack Fischer (Briarcliff Manor, NY); Advaith Anand (Austin, TX); Andrew Jiang (San Jose, CA); Christopher Dugan (Bronx, NY)
Assignee: Palantir Technologies Inc.
G06F16/2365G06F3/0482G06F3/0484
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,809,407
App. No.
17/747,920
Granted
Nov 7, 2023
Kind
B2
Abstract

Systems and methods are provided for tracking and enforcing relationships between items. A relationship interface may be provided that conveys the relationship (or link) between items, and through which a user may define the link between two or more items. Identifying a link between two items may establish a set of one or more rules to be enforced with respect to the use of one or both of the items (e.g., when the items are stored, when the items are used to create other items, when other items are associated with the items). In various embodiments, violations of one or more rules may be identified and provided via the user interface. In some embodiments, new items that conflict with one or more rules may be prevented from being committed.

Claims (80)

1. A system for tracking and enforcing relationships between items, the system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

obtaining a plurality of data items each comprising metadata information;

displaying an interface comprising a plurality of nodes representing the plurality of data items;

receiving a user selection of a first node representing a first data item and a second node representing a second data item;

displaying a set of predefined link candidates defining a set of user-selectable relationships between the first data item and the second data item;

receiving user input comprising a selection from the set of predefined link candidates, the selection representing a user-selected relationship between the first data item and the second data item;

updating, based on the user-selected relationship, the metadata information of the first data item and the second data item, wherein the updated metadata information of the first data item and the second data item comprises one or more rules to be enforced with respect to usage of the first data item and the second data item;

crawling the metadata information of the plurality of data items to determine one or more violations of the one or more rules; and

causing a visualization of the one or more violations to be provided via the interface.

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

determining that the first data item comprises a raw upload and the second data item comprises an analyzed dataset generated based on the raw upload;

automatically determining a system-identified parent-child relationship between the first data item and the second data item; and

updating the metadata information of the first data item and the second data item to include the system-identified parent-child relationship in additional to the user-selected relationship.

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

determining, based on the metadata information of the second data item, that the second data item comprises information that is derived from a source that is different from the first data item; and

generating a visualization of a violation of the parent-child relationship between the first data item and the second data item.

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

identifying the first data item comprises references that are linked to data stored in the second data item in the plurality of data items;

automatically determining a system-identified parent-child relationship between the first data item and the second data item; and

updating the metadata information of the first data item and the second data item to include the system-identified parent-child relationship in additional to the user-selected relationship.

5. The system of claim 4 , the operations further comprising:

detecting a modification of the references in the first data item without modifying the linked data in the second data item; and

generating a visualization of a violation of the parent-child relationship between the first data item and the second data item.

6. The system of claim 1 , wherein the obtaining the plurality of data items comprises:

receiving a user access request comprising an identification of a user; and

identifying, based on the identification of the user, one or more data items that the user has access to.

7. The system of claim 1 , wherein the visualization of the one or more violations comprises:

displaying a selectable link between the first node representing the first data item and the second node representing the second data item, wherein the selectable link represents at least the user-selected relationship between the first data item and the second data item; and

in response to the selectable link being selected, displaying the one or more violations of the user-selected relationship.

8. The system of claim 7 , wherein the visualization of the one or more violations comprises one or more selectable violations, and the operations further comprise:

in response to one of the one or more violations being selected, displaying a description of the selected violation, and one or more items from the first item and the second item that are causing the selected violation.

9. The system of claim 1 , wherein the set of predefined link candidates comprises:

a link defining a one-to-one relationship between the first data item and the second data item;

a link defining a subset relationship between the first data item and the second data item; and

a link defining an access control between the first data item and the second data item.

10. The system of claim 1 , wherein the first data item and the second data item each comprise at least one of a data object, a dataset, an application, a folder, a report, or a resource.

11. The system of claim 1 , wherein the first data item comprises an object representing a set of users and the second data item comprises a project, wherein the user-selected relationship between the first data item and the second data item indicates that the set of users is restricted from accessing items associated with the project, wherein the one or more rules restrict access to the project by the set of users, and wherein the crawling the metadata information of the plurality of data items to determine the one or more violations of the one or more rules comprises:

determining that a first user of the set of users is requesting access to at least one item associated with the project; and

identifying a violation of the one or more rules based on the determination that the first user is requesting access to the at least one item associated with the project.

12. The system of claim 1 , wherein the user-selected relationship between the first data item and the second data item indicates that the first data item is a subset of the second data item, and wherein the one or more rules require the second data item to include the entirety of the first data item, wherein the crawling the metadata information of the plurality of data items to determine the one or more violations of the one or more rules comprises:

identifying at least a portion of the first data item that is not included within the second data item; and

determining that at least the first data item or the second data item violates the one or more rules based on the identification of at least the portion of the first data item that is not included within the second data item, wherein the visualization of the one or more violations includes an indication of the identified portion of the first data item that is not included within the second data item.

13. A method being implemented by a computing system having one or more processors and storage media storing machine-readable instructions that, when executed by the one or more processors, cause the computer system to perform the method, the method comprising:

obtaining a plurality of data items each comprising metadata information;

displaying an interface comprising a plurality of nodes representing the plurality of data items;

receiving a user selection of a first node representing a first data item and a second node representing a second data item;

displaying a set of predefined link candidates defining a set of user-selectable relationships between the first data item and the second data item;

receiving user input comprising a selection from the set of predefined link candidates, the selection representing a user-selected relationship between the first data item and the second data item;

updating, based on the user-selected relationship, the metadata information of the first data item and the second data item, wherein the updated metadata information of the first data item and the second data item comprises one or more rules to be enforced with respect to usage of the first data item and the second data item;

crawling the metadata information of the plurality of data items to determine one or more violations of the one or more rules; and

causing a visualization of the one or more violations to be provided via the interface.

14. The method of claim 13 , further comprising:

determining that the first data item comprises a raw upload and the second data item comprises an analyzed dataset generated based on the raw upload;

automatically determining a system-identified parent-child relationship between the first data item and the second data item; and

updating the metadata information of the first data item and the second data item to include the system-identified parent-child relationship in additional to the user-selected relationship.

15. The method of claim 13 , further comprising:

identifying the first data item comprises references that are linked to data stored in the second data item in the plurality of data items;

automatically determining a system-identified parent-child relationship between the first data item and the second data item; and

updating the metadata information of the first data item and the second data item to include the system-identified parent-child relationship in additional to the user-selected relationship.

16. The method of claim 13 , wherein the visualization of the one or more violations comprises:

displaying a selectable link between the first node representing the first data item and the second node representing the second data item, wherein the selectable link represents at least the user-selected relationship between the first data item and the second data item; and

in response to the selectable link being selected, displaying the one or more violations of the user-selected relationship.

17. The method of claim 16 , the visualization of the one or more violations comprises one or more selectable violations, and the operations further comprise:

in response to one of the one or more violations being selected, displaying a description of the selected violation, and one or more items from the first item and the second item that are causing the selected violation.

18. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:

obtaining a plurality of data items each comprising metadata information;

displaying an interface comprising a plurality of nodes representing the plurality of data items;

receiving a user selection of a first node representing a first data item and a second node representing a second data item;

displaying a set of predefined link candidates defining a set of user-selectable relationships between the first data item and the second data item;

receiving user input comprising a selection from the set of predefined link candidates, the selection representing a user-selected relationship between the first data item and the second data item;

updating, based on the user-selected relationship, the metadata information of the first data item and the second data item, wherein the updated metadata information of the first data item and the second data item comprises one or more rules to be enforced with respect to usage of the first data item and the second data item;

crawling the metadata information of the plurality of data items to determine one or more violations of the one or more rules; and

causing a visualization of the one or more violations to be provided via the interface.

19. The non-transitory computer readable medium of claim 18 , wherein the visualization of the one or more violations comprises:

displaying a selectable link between the first node representing the first data item and the second node representing the second data item, wherein the selectable link represents at least the user-selected relationship between the first data item and the second data item; and

in response to the selectable link being selected, displaying the one or more violations of the user-selected relationship.

20. The non-transitory computer readable medium of claim 19 , the visualization of the one or more violations comprises one or more selectable violations, and the operations further comprise:

in response to one of the one or more violations being selected, displaying a description of the selected violation, and one or more items from the first item and the second item that are causing the selected violation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2022
From: FISCHER, JACK; ANAND, ADVAITH; JIANG, ANDREW; DUGAN, CHRISTOPHER
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 062129/0324 →
Continuity (3)
Continuation 16250810 · Jan 17, 2019
Provisional Application 62772005 · Nov 27, 2018
Related Publication 20220276995A1 · Sep 1, 2022