IP Library Granted Patent US 11,798,208
Granted Patent B2
US 11,798,208 · App. 17/363,252 · Granted Oct 24, 2023

Computerized systems and methods for graph data modeling

Inventors: Travis Adam Walker (South Riding, VA); Mohammad Suhale Malang Khader (Ashburn, VA)
Assignee: Yahoo Assets LLC
G06T11/206G06F16/258
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,798,208
App. No.
17/363,252
Granted
Oct 24, 2023
Kind
B2
Abstract

Systems, methods, and computer-readable media are provided for graph data modeling. In accordance with one implementation, a method is provided that includes operations performed by at least one processor. The operations of the method include receiving raw data and determining a model for the raw data, wherein the model defines the graph structure for the raw data. The method also includes converting the raw data to fit the model, and generating at least a portion of a graph based on the raw data and the model, wherein the graph produces modeled data. The method also includes archiving the graph.

Claims (82)

1. A computer-implemented method for converting raw data into graph structures, the method including:

receiving, by a server processor, a batch of raw data from a user device, wherein the batch of raw data corresponds with at least one or more data types comprising text files, image files, and audio files;

based on the data type, determining at least one of required data, optional data, or disallowed data;

determining whether the required data and optional data of the batch of raw data includes a repeating pattern of data;

splitting the required data and optional data of the batch of raw data into individualized segments of raw data based on the repeating pattern of raw data;

determining a model for the individualized segments of raw data;

and

sending the required and optional modeled data to a receiving entity for generating at least a portion of a graph structure based on the required and optional modeled data.

2. The method of claim 1 , wherein determining the model comprises:

identifying a plurality of stored models including required fields and field restrictions;

determining the required fields of each of the plurality of stored models; and

determining whether the individualized segments of raw data includes the required fields and satisfies the field restrictions.

3. The method of claim 1 , wherein converting further comprises identifying portions of the individualized segments of raw data for each part of the graph structure.

4. The method of claim 1 , further including:

generating, based on the required and optional modeled data and at least one of a node, an edge, and a property.

5. The method of claim 1 , further including:

receiving additional raw data;

determining, based on the additional raw data, an update to the graph structure;

performing, based on the update, at least one action on the graph structure to create an updated graph structure, wherein the at least one action is at least one of:

editing a property of a node of the graph structure, deleting a property, an edge, or a node of a graph structure, or adding a new node, edge or property to the graph structure; and

archiving the updated graph structure.

6. The method of claim 1 , further including:

verifying the individualized segments of raw data by determining the required fields for the individualized segments of raw data;

identifying the input model; and

determining the storage format.

7. The method of claim 1 , further including:

receiving a request for modeled data;

identifying the graph entities corresponding to the modeled data; and

converting the identified graph entities to modeled data.

8. A system for converting raw data into a graph structure, comprising:

a storage device that stores instructions; and

at least one processor that executes instructions for:

receiving, by a server processor, a batch of raw data from a user device, wherein the batch of raw data corresponds with at least one or more data types comprising text files, image files, and audio files;

based on the data type, determining at least one of required data, optional data, or disallowed data;

determining whether the required data and optional data of the batch of raw data includes a repeating pattern of data;

splitting the required data and optional data of the batch of raw data into individualized segments of raw data based on the repeating pattern of raw data;

determining a model for the individualized segments of raw data;

and

sending the required and optional modeled data to a receiving entity for at least a portion of a graph structure based on the required and optional modeled data.

9. The system of claim 8 , wherein the at least one processor is further configured to:

identify a plurality of stored models including required fields and field restrictions;

determine the required fields of each of the plurality of stored models; and

determine whether the individualized segments of raw data includes the required fields and satisfies the field restrictions.

10. The system of claim 8 , wherein to convert the individualized segments of raw data, the instructions are further configured to:

identify potions of the individualized segments of raw data for each part of the graph structure.

11. The system of claim 8 , wherein the at least one processor is further configured to:

generate, based on the required and optional modeled data and at least one of a node, an edge, and a property.

12. The system of claim 8 , wherein the at least one processor is further configured to:

receive additional raw data;

determine, based on the additional raw data, an update to the graph structure;

perform, based on the update, at least one action on the graph structure to create an updated graph structure, wherein the at least one action is at least one of:

editing a property of a node of the graph structure, deleting a property, an edge, or a node of a graph structure, or adding a new node, edge or property to the graph structure.

13. The system of claim 8 , wherein the at least one processor is further configured to:

verify the individualized segments of raw data by determining the required fields for the individualized segments of raw data, identifying the input model, and determining the storage format.

14. The system of claim 8 , wherein the at least one processor is further configured to:

receive a request for modeled data;

identify the graph entities corresponding to the modeled data; and

convert the identified graph entities to modeled data.

15. A non-transitory computer-readable medium storing instructions, the instructions configured to cause at least one processor to perform operations comprising:

receiving, by a server processor, a batch of raw data from a user device, wherein the batch of raw data corresponds with at least one or more data types comprising text files, image files, and audio files;

based on the data type, determining at least one of required data, optional data, or disallowed data;

determining whether the required data and optional data of the batch of raw data includes a repeating pattern of data;

splitting the required data and optional data of the batch of raw data into individualized segments of raw data based on the repeating pattern of raw data;

determining a model for the individualized segments of raw data;

and

sending the required and optional modeled data to a receiving entity for at least a portion of a graph structure based on the required and optional modeled data.

16. The non-transitory computer-readable medium of claim 15 , wherein determining the model further comprises:

identifying a plurality of stored models including required fields and field restrictions;

determining the required fields of each of the plurality of stored models; and

determining whether the individualized segments of raw data includes the required fields and satisfies the field restrictions.

17. The non-transitory computer-readable medium of claim 15 , wherein converting further comprises identifying potions of the individualized segments of raw data for each part of the graph structure.

18. The non-transitory computer-readable medium of claim 15 , further including:

generating, based on the required and optional modeled data and at least one of a node, an edge, and a property.

19. The non-transitory computer-readable medium of claim 15 , wherein the at least one processor is further configured for:

receiving additional raw data;

determining, based on the additional raw data, an update to the graph structure;

performing, based on the update, at least one action on the graph structure to create an updated graph structure, wherein the at least one action is at least one of:

editing a property of a node of the graph structure, deleting a property, an edge, or a node of a graph structure, or adding a new node, edge or property to the graph structure.

20. The non-transitory computer-readable medium of claim 15 , wherein the at least one processor is further configured for:

verifying the individualized segments of raw data by determining the required fields for the individualized segments of raw data;

identifying the input model; and

determining the storage format.

Assignments (5)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2021
From: WALKER, TRAVIS ADAM; KHADER, MOHAMMAD SUHALE MALANG
To: AOL INC.
Reel/Frame 056803/0329 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2021
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 056812/0200 →
CHANGE OF NAME Recorded Jul 9, 2021
From: AOL INC.
To: OATH INC.
Reel/Frame 056819/0464 →
Continuity (4)
Continuation 16373109 · Apr 2, 2019
Continuation 14557410 · Dec 1, 2014
Provisional Application 62019669 · Jul 1, 2014
Related Publication 20210327110A1 · Oct 21, 2021