IP Library Granted Patent US 9,195,707
Granted Patent B2
US 9,195,707 · App. 13/045,963 · Granted Nov 24, 2015

Distributed event system for relational models

Inventors: Leslie Muller (Isle of Dogs, GB); Michael Morris Wasser (Seattle, WA); Alberto Arias Maestro (Renton, WA)
Assignee: VMware, Inc.
G06F17/30424G06F17/3051G06F17/30545G06F21/6227
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 9,195,707
App. No.
13/045,963
Granted
Nov 24, 2015
Kind
B2
Abstract

A distributed event system for a relational database is disclosed. An event data model operatively describes a target database. For a subject entity in the target database, the event data model declares and defines triggering events and respective corresponding operations. An event engine monitors database queries and events involving the subject entity and determines from the event data model corresponding operations. Execution of the determined corresponding operations is distributed to network-based agents. Agents may be filtered based on skills and/or credentials injected at runtime. Code binaries of the operations are downloaded to the agents for execution.

Claims (48)

1. A database method comprising:

providing an event data model of a target database, the target database being one of a plurality of databases;

per a subject entity in the target database, using the event data model to declare and define triggering events modifying the target database and respective corresponding operations for each triggering event modifying the target database, wherein the operations are executed on an integrated external system in response to a triggering event modifying the target database and are for execution by at least one agent according to respective skill and credential of the at least one agent;

detecting occurrence of an event modifying the target database involving the subject entity in the target database;

based on the detected event modifying the target database, determining from the event data model corresponding operations for execution on the integrated external system in addition to modifying the target database and determining one or more agents to perform the corresponding operations;

distributing execution of the determined corresponding operations on the integrated external system to the one or more agents configured to execute a workflow associated with the corresponding operations according to the respective skill and credential of the at least one agent, wherein the workflow comprises an integration with the integrated external system;

initiating communication with the event data model by the at least one agent to determine whether the operations are for execution by the at least one agent; and

the at least one agent downloading code binaries for the corresponding operations according the respective skill and credential of the at least one agent.

2. A method as claimed in claim 1 wherein each agent has a common set of skills; and

the method further comprises annotating the event data model with skills in a manner enabling respective filtering of agents for executing different operations.

3. A method as claimed in claim 1 wherein different agents have respective different credentials; and

the step of distributing execution further comprises injecting credentials per operation.

4. A method as claimed in claim 1 wherein said distributing operations to agents is on a first come first served basis.

5. A method as claimed in claim 1 wherein the target database is a relational database.

6. A method as claimed in claim 1 wherein the step of detecting comprises:

intercepting a query of the target database;

identifying the subject entity as part of the query; and

cross referencing event and corresponding operations in the event data model for the subject entity as identified in the query.

7. A method as claimed in claim 1 wherein the target database is one or more databases.

8. A method as claimed in claim 1 wherein the event modifying the target database is selected from a list consisting of:

creation of the subject entity in the target database;

modification of the subject entity of the target database; and

deletion of the subject entity of the target database.

9. A computer database system comprising:

an event data model of a target database, for a subject entity in the target database, the event data model declaring and defining triggering events modifying the target database and corresponding operations for each triggering event modifying the target database, wherein the target database is one of a plurality of databases, wherein the operations are executed on an integrated external system in response to a triggering event modifying the target database and are for execution by at least one agent according to respective skill and credential of the at least one agent;

an event engine executed by a processor, the event engine (i) detecting occurrence of an event modifying the target database involving the subject entity in the target database, (ii) based on the detected event modifying the target database, determining from the event data model corresponding operations for execution on an integrated external system in addition to modifying the target database and determining one or more agents to perform the corresponding operations, and (iii) distributing execution of the determined corresponding operations on the integrated external system to the one or more agents according to the respective skill and credential of the at least one agent; and

the one or more agents initiating communication with the event data model via the event engine to determine whether the operations are for execution by the one or more agents, the one or more agents downloading code binaries for the determined corresponding operations according the respective skill and credential of the one or more agents responsive to the event engine and executing a workflow associated with the determined corresponding operations, wherein the workflow comprises an integration with the integrated external system.

10. A computer database system as claimed in claim 9 wherein each agent has a common set of skills; and

the event data model is annotated with skills in a manner enabling respective filtering of agents for executing different operations.

11. A computer database system as claimed in claim 9 wherein different agents have different credentials; and

the event engine enables credentials to be injected per determined corresponding operation at runtime.

12. A computer database system as claimed in claim 9 wherein each agent obtains determined corresponding operations to execute on a first come, first served basis.

13. A computer database system as claimed in claim 9 wherein the target database is one or more relational databases.

14. A computer database system as claimed in claim 9 wherein the event engine detecting occurrence of an event involving the subject entity includes a security runtime subsystem, the security runtime subsystem:

intercepting a query of the target database;

identifying the subject entity as part of the query; and

cross referencing event and corresponding operations in the event data model for the subject entity as identified in the query.

15. A computer program product comprising:

a non-transitory computer readable storage medium having computer program code embodied therewith; and

the computer program code including code configured to:

provide an event data model of a target database in a plurality of databases, per a subject entity in the target database, the event data model declares and defines triggering events modifying the target database and corresponding operations for each triggering event modifying the target database, wherein the operations are executed on an integrated external system in response to a triggering event modifying the target database and are for execution by at least one agent according to respective skill and credential of the at least one agent;

detect occurrence of an event modifying the target database involving the subject entity in the target database by monitoring queries of the target database;

based on the detected event modifying the target database, determine from the event data model corresponding operations for execution on the integrated external system in addition to modifying the target database and determining one or more agents to perform the corresponding operations;

distribute execution of the determined corresponding operations on the integrated external system to the one or more agents configured to execute a workflow associated with the corresponding operations according to the respective skill and credential of the at least one agent, wherein the workflow comprises an integration with the integrated external system external system;

initiate communication with the event data model by the at least one agent to determine whether the operations are for execution by the at least one agent; and

download code binaries by the at least one agent for the corresponding operations according the respective skill and credential of the at least one agent.

16. A computer program product as claimed in claim 15 wherein the target database is one or more relational databases.

17. A computer program product as claimed in claim 15 wherein the databases in the plurality are unrelated to each other and are non-centrally managed.

Assignments (3)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
MERGER Recorded May 7, 2015
From: DYNAMICOPS, INC.
To: VMWARE, INC.
Reel/Frame 035591/0182 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2011
From: MULLER, LESLIE; WASSER, MICHAEL MORRIS; MAESTRO, ALBERTO ARIAS
To: DYNAMICOPS, INC.
Reel/Frame 026824/0106 →
Continuity (2)
Provisional Application 61313951 · Mar 15, 2010
Related Publication 20110302200A1 · Dec 8, 2011