IP Library Granted Patent US 9,171,252
Granted Patent B2
US 9,171,252 · App. 13/649,916 · Granted Oct 27, 2015

Synchronization for context-aware complex event processing

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,171,252
App. No.
13/649,916
Granted
Oct 27, 2015
Kind
B2
Abstract

A complex event processing system comprises one or more rule engines configured to receive information from a source system via a message broker. Multiple rule engines may be used in parallel, with the same/different rules deployed. According to an embodiment, a rule engine may include a manager component, a proxy component, a reasoner component, and a working memory. The manager and proxy serve as interfaces with the message broker to allow asynchronous communication with a provider storing state information. The reasoner is configured to execute rules based upon occurrence of events in the source system. Embodiments may be particularly suited to implementing a gamification platform including a business entity provider, with an existing business source system (e.g. CRM, ERP).

Claims (73)

1. A computer-implemented method comprising:

providing a first rule engine implemented in a computer system, the first rule engine including,

a manager component,

a working memory component,

a reasoner component, and

a proxy component;

the manager component inserting a first event into the working memory component, the first event dispatched from a first source system via a message broker;

the manager component sending a request to the reasoner component to trigger a first rule appropriate to the first event;

the reasoner component issuing a first call to the proxy component to implement a first interface with a first provider;

the proxy component issuing an update operation to the first provider storing first context information relevant to the first event; and

updating the working memory component with the first context information.

2. A computer-implemented method as in claim 1 further comprising:

the manager component inserting a second event into the working memory component, the second event dispatched from a second source system via the message broker;

the manager component sending a request to the reasoner component to trigger a second rule appropriate to the second event;

the reasoner component issuing a second call to the proxy component to implement a second interface with the second provider; and

the proxy component issuing a second update operation to a second provider storing second context information relevant to the second event.

3. A method as in claim 1 wherein the first source system comprises a business system, and the provider comprises a business entity provider.

4. A method as in claim 1 wherein the first provider and rule engine together comprise a context-aware platform.

5. A method as in claim 4 wherein the context-aware platform comprises a gamification platform.

6. A method as in claim 1 wherein during initialization, the method further comprises:

the manager component sending a request event to the first provider via the message broker;

the manager component receiving data sent by the first provider in response to the request event; and

the manager component storing the data in the working memory component.

7. A method as in claim 1 further comprising the proxy component resolving a conflict arising between the first event and a changed content of the first provider.

8. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:

providing a first rule engine including,

a manager component,

a working memory component,

a reasoner component, and

a proxy component;

the manager component inserting a first event into the working memory component, the first event dispatched from a first source system via a message broker;

the manager component sending a request to the reasoner component to trigger a first rule appropriate to the first event;

the reasoner component issuing a first call to the proxy component to implement a first interface with a first provider;

the proxy component issuing an update operation to the first provider storing first context information relevant to the first event; and

updating the working memory component with the first context information.

9. A non-transitory computer readable storage medium as in claim 8 wherein the method further comprises:

the manager component inserting a second event into the working memory component, the second event dispatched from a second source system via the message broker;

the manager component sending a request to the reasoner component to trigger a second rule appropriate to the second event;

the reasoner component issuing a second call to the proxy component to implement a second interface with the second provider; and

the proxy component issuing a second update operation to a second provider storing second context information relevant to the second event.

10. A non-transitory computer readable storage medium as in claim 8 wherein the first source system comprises a business system, and the provider comprises a business entity provider.

11. A non-transitory computer readable storage medium as in claim 8 wherein the first provider and rule engine together comprise a context-aware platform.

12. A non-transitory computer readable storage medium as in claim 11 wherein the context-aware platform comprises a gamification platform.

13. A non-transitory computer readable storage medium as in claim 8 wherein during initialization, the method further comprises:

the manager component sending a request event to the first provider via the message broker;

the manager component receiving data sent by the first provider in response to the request event; and

the manager storing the data in the working memory component.

14. A non-transitory computer readable storage medium as in claim 8 wherein the method further comprises the proxy component resolving a conflict arising between the first event and a changed content of the first provider.

15. A computer system comprising:

one or more processors;

a first rule engine including,

a manager component,

a working memory component,

a reasoner component, and

a proxy component;

a software program, executable on said computer system such that:

the manager component inserts a first event into the working memory component;

the manager component sends a request to the reasoner component to trigger a first rule appropriate to the first event;

the reasoner component issues a first call to the proxy component to implement a first interface with a first provider;

the proxy component issues an update operation to the first provider storing first context information relevant to the first event; and

the working memory component is updated with the first context information.

16. A computer system as in claim 15 wherein the software program is further configured to operate such that:

the manager component inserts a second event into the working memory component, the second event dispatched from a second source system via the message broker;

the manager component sends a request to the reasoner component to trigger a second rule appropriate to the second event;

the reasoner issues a second call to the proxy component to implement a second interface with the second provider; and

the proxy component issues a second update operation to a second provider storing second context information relevant to the second event.

17. A computer system as in claim 15 wherein the first source system comprises a business system, and the provider comprises a business entity provider.

18. A computer system as in claim 15 wherein the first provider and rule engine together comprise a context-aware platform.

19. A computer system as in claim 18 wherein the context-aware platform comprises a gamification platform.

20. A computer system as in claim 15 wherein during initialization, the software program is further configured to operate such that:

the manager component sends a request event to the first provider via the message broker;

the manager component receives data sent by the first provider in response to the request event; and

the manager stores the data in the working memory component.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2012
From: HERZIG, PHILIPP; AMELING, MICHAEL
To: SAP AG
Reel/Frame 029115/0276 →