IP Library Granted Patent US 10,509,844
Granted Patent B1
US 10,509,844 · App. 15/642,820 · Granted Dec 17, 2019

Network graph parser

Inventors: Thomas Mcintyre (London, GB); Carl Rosen (London, GB); Eliot Ball (London, GB); John Chakerian (Los Altos Hills, CA); Joseph Carter (Arlington, VA); Kevin Today (Houston, TX); Marvel Church (New York, NY); Michal Stojek (London, GB); Ranec Highet (Broxbourne, GB); Ronald Highet (London, GB); Maciej Laska (London, GB)
Assignee: Palantir Technologies Inc.
G06F16/9577G06F17/272G06F3/04842G06T11/206
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,509,844
App. No.
15/642,820
Granted
Dec 17, 2019
Kind
B1
Abstract

An approach for processing node data from code repository websites to generate patterns is disclosed. Node data can be parsed from a projects webpage or received from a code repository server hosting the repository website. Visualizations can be generated in a browser from the node data. The visualizations can be displayed within the browser and further be used to receive filter instructions. Refined node data can then be exported for further analysis.

Claims (61)

1. A method comprising:

storing, via a browser using a processor, node connection data of an initial user object associated with a website, the node connection data being included in a page of the website;

identifying additional user objects included in the node connection data of the initial user object;

storing, in the browser, additional node connection data of the additional user objects;

displaying, within the browser, a visual representation depicting connections of the initial user object and the additional user objects, the visual representation generated using the node connection data and the additional node connection data;

receiving a selection instruction specifying a portion of the additional user objects to select in the visual representation based on a connection parameter, the connection parameter specifying an attribute of the initial user object and the additional user objects;

receiving an inversion instruction to remove non-selected portions that are not in the specified portion of the selected additional user objects;

displaying, within the browser, a reduced visual representation that depicts connections between the initial user object and the portion of the additional user objects; and

exporting, from the browser, a reduced node dataset that includes the node connection data of the initial user object and the additional node connection data of the portion of the additional user objects.

2. The method of claim 1 , wherein the attribute is a quantity of connections to other user objects, and the connection parameter specifies that for inclusion in the portion each object has more than a specified quantity of connections to other user objects.

3. The method of claim 1 , wherein the attribute is participation in an object group on the website, and the connection parameter specifies that for inclusion in the portion each object is a participant in a selected group on the website.

4. The method of claim 1 , wherein the visual representation and the reduced visual representation are network graphs having nodes connected by edges, the nodes corresponding to the initial user object and the additional user objects, the edges corresponding to connections among the initial user object and the additional user objects.

5. The method of claim 1 , further comprising:

receiving one or more search terms to search in the additional user objects;

identifying one or more additional user objects that match the one or more search terms; and

storing the one or more additional user objects as the portion specified by the selection instruction.

6. The method of claim 1 , wherein the browser is an Internet browser application, and wherein the reduced node dataset is stored in plugin memory of the browser.

7. The method of claim 6 , further comprising:

transmitting, over a network, the reduced node dataset to a server.

8. The method of claim 1 , wherein the additional node connection data is extracted in a process comprising:

identifying a current webpage that is currently displayed on the browser as an object page from which to extract data, the object page being provided by the website in a first code format configured for display of objects in browsers;

extracting the additional node connection data from the first code format of the object page; and

transforming the additional node connection data into a second code format different from the first code format.

9. The method of claim 8 , wherein the first code format is a markup language and the second code format is an attribute-value language, and wherein the visual representation is generated from using the additional node connection data in the second code format.

10. The method of claim 1 , wherein the node connection data is user data and the initial user object is a user of the website, and wherein the additional node connection data is additional user data and the additional user objects are other users that are connected to the user on the website.

11. The method of claim 1 , wherein each of the node connection data and the additional node connection data comprise at least one of the following:

a portion of executable software code, a username of a given user on the website, a uniform resource locator (URL) of a profile page of the given user on the website, images uploaded by the given user to the website, text uploaded by the given user to the website.

12. A system comprising:

one or more processors of a machine; and

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

storing, via a browser using a processor, node connection data of an initial user object associated with a website, the node connection data being included in a page of the website;

identifying additional user objects included in the node connection data of the initial user object;

storing, in the browser, additional node connection data of the additional user objects;

displaying, within the browser, a visual representation depicting connections of the initial user object and the additional user objects, the visual representation generated using the node connection data and the additional node connection data;

receiving a selection instruction specifying a portion of the additional user objects to select in the visual representation based on a connection parameter, the connection parameter specifying an attribute of the initial user object and the additional user objects;

receiving an inversion instruction to remove non-selected portions that are not in the specified portion of the selected additional user objects;

displaying, within the browser, a reduced visual representation that depicts connections between the initial user object and the portion of the additional user objects; and

exporting, from the browser, a reduced node dataset that includes the node connection data of the initial user object and the additional node connection data of the portion of the additional user objects.

13. The system of claim 12 , wherein the attribute is a quantity of connections to other user objects, and the connection parameter specifies that for inclusion in the portion each object has more than a specified quantity of connections to other user objects.

14. The system of claim 12 , the operations further comprising:

transmitting, over a network, the reduced node dataset to a server.

15. The system of claim 12 , wherein the additional node connection data is extracted in a process comprising:

identifying a current webpage that is currently displayed on the browser as an object page from which to extract data, the object page being provided by the website in a first code format configured for display of objects in browsers;

extracting the additional node connection data from the first code format of the object page; and

transforming the additional node connection data into a second code format different from the first code format.

16. The system of claim 12 , wherein the node connection data is user data and the initial user object is a user of the website, and wherein the additional node connection data is additional user data and the additional user objects are other users that are connected to the user on the website.

17. A computer readable storage medium comprising instructions that, when executed by one or more processors of a device, cause the device to perform operations comprising:

storing, via a browser using a processor, node connection data of an initial user object associated with a website, the node connection data being included in a page of the website;

identifying additional user objects included in the node connection data of the initial user object;

storing, in the browser, additional node connection data of the additional user objects;

displaying, within the browser, a visual representation depicting connections of the initial user object and the additional user objects, the visual representation generated using the node connection data and the additional node connection data;

receiving a selection instruction specifying a portion of the additional user objects to select in the visual representation based on a connection parameter, the connection parameter specifying an attribute of the initial user object and the additional user objects;

receiving an inversion instruction to remove non-selected portions that are not in the specified portion of the selected additional user objects;

displaying, within the browser, a reduced visual representation that depicts connections between the initial user object and the portion of the additional user objects; and

exporting, from the browser, a reduced node dataset that includes the node connection data of the initial user object and the additional node connection data of the portion of the additional user objects.

18. The computer readable storage medium of claim 17 , wherein the attribute is a quantity of connections to other user objects, and the connection parameter specifies that for inclusion in the portion each object has more than a specified quantity of connections to other user objects.

19. The computer readable storage medium of claim 17 , wherein the additional node connection data is extracted in a process comprising:

identifying a current webpage that is currently displayed on the browser as an object page from which to extract data, the object page being provided by the website in a first code format configured for display of objects in browsers;

extracting the additional node connection data from the first code format of the object page; and

transforming the additional node connection data into a second code format different from the first code format.

20. The computer readable storage medium of claim 17 , wherein the node connection data is user data and the initial user object is a user of the website, and wherein the additional node connection data is additional user data and the additional user objects are other users that are connected to the user on the website.

Assignments (3)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2018
From: MCINTYRE, THOMAS; ROSEN, CARL; BALL, ELIOT; FOSTER, JASON; CHAKERIAN, JOHN; CARTER, JOSEPH; TODAY, KEVIN; CHURCH, MARVEL; STOJEK, MICHAL; HIGHET, RANEC; HIGHET, RONALD; LASKA, MACIEJ
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 046636/0584 →
Continuity (1)
Provisional Application 62448081 · Jan 19, 2017
Cited By (3)
US 12,299,036 US 12,339,904 US 12,379,902