IP Library Granted Patent US 11,080,904
Granted Patent B2
US 11,080,904 · App. 16/373,109 · Granted Aug 3, 2021

Computerized systems and methods for graph data modeling

Inventors: Travis Adam Walker (South Riding, VA); Mohammad Suhale Malang Khader (Ashburn, VA)
Assignee: Verizon Media Inc.
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,080,904
App. No.
16/373,109
Granted
Aug 3, 2021
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 (77)

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

receiving, by a processor of a graph interface, a batch of raw data from a user device, wherein the batch of raw data includes one or more data types, and wherein the one or more data types correspond with at least one of text files, photos, videos, and audio files;

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

based on determining that the batch of raw data includes a repeating pattern of data, splitting the batch of raw data into individualized segments of raw data;

determining a model for the individualized segments of raw data, wherein the model defines a graph structure for the individualized segments of raw data, wherein determining the model includes:

identifying one or more stored models, each of the one or more stored models including at least one of required fields, disallowed fields, and field restrictions; and

determining whether the individualized segments of raw data include one of the required fields, disallowed fields, and field restrictions;

converting the individualized segments of raw data into modeled data to fit the model; and

sending the modeled data to a receiving entity for generating at least a portion of a graph structure based on the 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 potions of the individualized segments of raw data for each part of the graph structure.

4. The method of claim 1 , wherein generating further includes generating, based on the modeled data and at least one of a node, an edge, and a property.

5. The method of claim 1 , wherein the method further includes:

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 , wherein the method further includes:

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 , wherein the method further includes:

receiving a request for modeled data;

identifying the graph entities corresponding to the modeled data; converting the identified graph entities to modeled data; and

transmitting the 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 processor of a graph interface, a batch of raw data from a user device, wherein the batch of raw data includes one or more data types, and wherein the one or more data types correspond with at least one of text files, photos, videos, and audio files;

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

based on determining that the batch of raw data includes a repeating pattern of data, splitting the batch of raw data into individualized segments of raw data;

determining a model for the individualized segments of raw data, wherein the model defines a graph structure for the individualized segments of raw data, wherein determining the model includes:

identifying one or more stored models, each of the one or more stored models including at least one of required fields, disallowed fields, and field restrictions; and

determining whether the individualized segments of raw data include one of the required fields, disallowed fields, and field restrictions;

converting the individualized segments of raw data into modeled data to fit the model; and

sending the modeled data to a receiving entity for generating at least a portion of a graph structure based on the 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 instructions are further configured to generate, based on the 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; and

archive the updated 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;

convert the identified graph entities to modeled data; and

transmit the 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 processor of a graph interface, a batch of raw data from a user device, wherein the batch of raw data includes one or more data types, and wherein the one or more data types correspond with at least one of text files, photos, videos, and audio files;

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

based on determining that the batch of raw data includes a repeating pattern of data, splitting the batch of raw data into individualized segments of raw data;

determining a model for the individualized segments of raw data, wherein the model defines a graph structure for the individualized segments of raw data, wherein determining the model includes:

identifying one or more stored models, each of the one or more stored models including at least one of required fields, disallowed fields, and field restrictions; and

determining whether the individualized segments of raw data include one of the required fields, disallowed fields, and field restrictions;

converting the individualized segments of raw data into modeled data to fit the model; and

sending the modeled data to a receiving entity for generating at least a portion of a graph structure based on the 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 , wherein generating further includes generating, based on the 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; and

archiving the updated 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 Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2019
From: WALKER, TRAVIS ADAM; MALANG KHADER, MOHAMMAD SUHALE
To: AOL INC.
Reel/Frame 048796/0021 →
CHANGE OF NAME Recorded Apr 4, 2019
From: AOL INC.
To: OATH INC.
Reel/Frame 048804/0461 →
Continuity (3)
Continuation 14557410 · Dec 1, 2014
Provisional Application 62019669 · Jul 1, 2014
Related Publication 20190228551A1 · Jul 25, 2019