IP Library Granted Patent US 8,819,078
Granted Patent B2
US 8,819,078 · App. 13/549,112 · Granted Aug 26, 2014

Event processing for graph-structured data

Inventors: Indrajit Roy (Mountain View, CA); Alvin AuYoung (San Jose, CA); Vanish Talwar (Campbell, CA); Michael Mihn-Jong Lee (La Jolla, CA)
Assignee: Hewlett-Packard Development Company, L. P.
G06F17/30286G06F17/30073
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 8,819,078
App. No.
13/549,112
Granted
Aug 26, 2014
Kind
B2
Abstract

Examples of the present disclosure may include methods, systems, and computer readable media with executable instructions. An example method for event processing for graph-structured data can include storing graph structured data. The graph structured data includes a plurality of vertex, edge, and/or property graph elements. The example method further includes defining a first graph view of a characteristic of vertex, edge, and/or property graph elements. A subgraph is determined as a subset of the plurality of vertex, edge, and/or property graph elements that have the characteristic of vertex, edge, and/or property graph elements defined by the first graph view. The vertex, edge, and/or property graph elements of the subgraph are processed responsive to a predefined event that occurs on at least one of the vertex, edge, and/or property graph elements of the subgraph.

Claims (42)

1. A method of event processing for graph structured data, comprising:

storing graph-structured data in a store, the graph-structured data including a plurality of vertex, edge, and/or property graph elements;

defining a first graph view of a characteristic of vertex, edge, and/or property graph elements;

determining a subgraph as a subset of the plurality of vertex, edge, and/or property graph elements that have the characteristic of vertex, edge, and/or property graph elements defined by the first graph view; and

processing the vertex, edge, and/or property graph elements of the subgraph responsive to a predefined event that occurs on at least one of the vertex, edge, and/or property graph elements of the subgraph.

2. The method of claim 1 , wherein processing the vertex, edge, and/or property graph elements of the subgraph does not include processing those vertex, edge, and/or property graph elements not included in the subgraph responsive to the predefined event.

3. The method of claim 1 , wherein defining the first graph view includes one of defining the first graph view as a result of a graph query of the graph-structured data or defining the first graph view as specified by a user.

4. The method of claim 1 , wherein processing the vertex, edge, and/or property graph elements of the subgraph includes determining whether a particular one of the plurality of vertex, edge, and/or property graph elements is included in the first graph view using a central registry of views.

5. The method of claim 1 , further comprising:

defining a second graph view, the second graph view having a different characteristic of vertex, edge, and/or property graph elements than the first graph view;

determining a second subgraph as a subset of the plurality of graph elements that have the characteristic of vertex, edge, and/or property graph elements defined by the second graph view;

combining the subgraph and the second subgraph into a composite subgraph; and

removing the redundant vertex, edge, and/or property graph elements from the composite subgraph that are common to each of the subgraph and the second subgraph.

6. The method of claim 5 , further comprising:

predefining an event associated with the at least one vertex, edge, and/or property graph element of the subgraph;

registering a function on a property list corresponding to the predefined event; and

invoking the registered function corresponding to the predefined event responsive to occurrence of the predefined event;

wherein execution of the registered function is limited to the subgraph.

7. The method of claim 1 , further comprising:

defining a second graph view, the second graph view having a different characteristic of vertex, edge, and/or property graph elements than the first graph view;

determining a second subgraph as a subset of the plurality of graph elements that have the characteristic of vertex, edge, and/or property graph elements defined by the second graph view;

combining the subgraph and the second subgraph into a composite subgraph, the subgraph including vertex, edge, and/or property graph elements common to each of the subgraph and the second subgraph; and

removing the vertex, edge, and/or property graph elements from the composite subgraph that are not common to each of the subgraph and the second subgraph.

8. The method of claim 1 , wherein storing graph-structured data includes storing each vertex, edge, and/or property graph element as an object on a respective one of the plurality of computing devices as a vertex, edge, and/or property record, wherein the vertex record refers to an edge record, a property record, and a view record corresponding to the first graph view.

9. The method of claim 1 , wherein determining the subgraph includes determining the subgraph by an application, the method further comprising registering, by the application, to be notified when the predefined event occurs on at least one vertex, edge, and/or property graph element of the subgraph.

10. The method of claim 9 , wherein processing the vertex, edge, and/or property graph elements of the subgraph responsive to the predefined event includes executing analytics code on the vertex, edge, and/or property graph elements of the subgraph and not executing analytics code on the vertex, edge, and/or property graph elements not included in the subgraph.

11. The method of claim 1 , wherein defining the first graph view includes storing the graph view as an object with pointers to all vertex, edge, and/or property graph elements of the subset of the plurality of graph elements that have the characteristic of vertex, edge, and/or property graph elements defined by the first graph view.

12. The method of claim 1 , wherein defining the first graph view includes storing as a property list a function to be invoked when the predefined event occurs on the vertex, edge, and/or property graph events of at least one vertex, edge, and/or property graph element of the subgraph.

13. The method of claim 1 , wherein storing graph-structured data includes storing the graph-structured data in a distributed store across a plurality of computing devices, and

the method further comprising migrating at least some of the subset of the plurality of vertex, edge, and/or property graph elements that have the characteristic of vertex, edge, and/or property graph elements defined by the first graph view across machines of the distributed store in response to events to spread load or change graph partitioning for performance optimization.

14. A non-transitory computer-readable medium storing a set of instructions executable by a processor to cause a plurality of computing devices to:

store graph-structured data in a distributed store across the plurality of computing devices, the graph-structured data including a plurality of vertex graph elements;

define a graph view based on a query of the store of graph-structured data;

determine a subgraph as a subset of the plurality of vertex graph elements corresponding to the graph view; and

trigger a function that involves the graph elements of the subgraph responsive to occurrence of a predefined event that involves a graph element of the subgraph.

15. An event processing system, comprising:

a plurality of computing devices arranged in a cluster, each of the plurality of computing devices having a processing resource in communication with a non-transitory computer readable medium, wherein the non-transitory computer readable medium includes a set of instructions and wherein the processing resource executes the set of instructions to:

store graph-structured data in a distributed store across the plurality of computing devices, the graph-structured data including a plurality of vertex, edge, and/or property graph elements;

define a graph view having specified vertex, edge, and/or property graph element characteristics;

determine a subgraph as a subset of the plurality of vertex, edge, and/or property graph elements of the graph view; and

invoke a function involving the vertex, edge, and/or property graph elements of the subgraph responsive to a predefined event,

wherein the processing resource executes the set of instructions to process only the vertex, edge, and/or property graph elements of the subgraph responsive to the predefined event where the predefined event occurs on at least one of the vertex, edge, and/or property graph element of the subgraph.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: SNOWFLAKE INC.
Reel/Frame 054969/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2012
From: ROY, INDRAJIT; AUYOUNG, ALVIN; TALWAR, VANISH; LEE, MICHAEL MIHN-JONG
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 028559/0837 →
Continuity (1)
Related Publication 20140019490A1 · Jan 16, 2014