IP Library Granted Patent US 8,930,298
Granted Patent B2
US 8,930,298 · App. 13/367,981 · Granted Jan 6, 2015

Rules engine ecosystem developed with an object cache framework

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,930,298
App. No.
13/367,981
Granted
Jan 6, 2015
Kind
B2
Abstract

An object cache framework client selects a rule-set object in an object cache framework. The rule-set object comprises a rule-set (set of business rules). The object cache framework client evaluates criteria of the rule-set against properties of a plurality of rules engines. The object cache framework client determines if the properties of a rules engine, from a plurality of rules engines, satisfy the criteria of the rule-set. The object cache framework client supplies the rule-set object to the rules engine for execution of the rule-set.

Claims (80)

1. A method comprising:

parameterizing, by an object cache framework client, properties of a plurality of rules engines in accordance with a specification of an object cache framework to generate parameterized properties of the plurality of rules engines wherein the properties of the plurality of rules engines were published to the object cache framework client;

parameterizing, by the object cache framework client, a rule-set received by the object cache framework client in accordance with the specification and generating a rule-set object that comprises the parameterized rule-set and the rule-set, wherein the rule-set indicates a set of one or more criteria for matching the rule-set to a rules engine;

evaluating, by the object cache framework client, the set of one or more criteria of the rule-set against the parameterized properties of each of the plurality of rules engines;

determining, by the object cache framework client, that the parameterized properties of a first of the plurality of rules engines satisfy the set of one or more criteria of the rule-set more than others of the plurality of rules engines;

after determining that the parameterized properties of a first of the plurality of rules engines satisfy the set of one or more criteria of the rule-set more than others of the plurality of rules engines, the object cache framework client indicating that the first of the plurality of rules engines is busy;

subscribing, by the first of the plurality of rules engines, to receive a data object for the rule-set from object storage associated with the object cache framework; and

supplying the rule-set object to the first of the plurality of rules engines for execution of the rule-set by the first of the plurality of rules engines with the data object.

2. The method of claim 1 further comprising:

receiving the rule-set submitted for insertion into the object cache framework.

3. The method of claim 1 further comprising one of wrapping the parameterized rule-set with a header and metadata in accordance with the specification and modifying the rule-set to comply with the specification.

4. The method of claim 1 further comprising:

the object cache framework client indicating to the first of the plurality of rules engines how to provide a result of execution of the rule-set; and

the first of the plurality of rules engines generating a data object with the result and providing the data object to, at least one of a location of the object cache framework, a location external to the object cache framework, or another of the plurality of rules engines, wherein the data object complies with the specification of the object cache framework.

5. The method of claim 1 further comprising:

receiving, by the object cache framework client, a result of execution of the rule-set by the first of the plurality of rules engines;

determining that the result comprises a second rule-set;

selecting a second of the plurality of rules engines based, at least in part on the second rule-set and the parameterized properties of the second of the plurality of rules engines; and

supplying the second-rule set to the second of the plurality of rules engines for execution of the second rule-set.

6. The method of claim 5 , wherein the result complies with the specification of the object cache framework.

7. The method of claim 5 further comprising determining that the parameterized properties of the second of the plurality of rules engines also satisfy the set of one or more criteria of the rule-set and a criterion of the second rule-set.

8. The method of claim 5 , wherein determining that the parameterized properties of the second of the plurality of rules engines satisfy the criterion of the second rule-set comprises:

evaluating, by the object cache framework client, the criterion of the second rule-set against the parameterized properties of the second of the plurality of rules engines; and

determining that the parameterized properties of the second of the plurality of rules engines satisfy the criterion of the second rule-set.

9. The method of claim 1 , wherein the rule-set comprises a plurality of business rules expressed as computer program instructions, wherein each of the business rules comprises at least one condition and at least one action corresponding to the at least one condition.

10. The method of claim 1 , wherein the first of the plurality of rules engines comprises one or more computing resources that execute rule-sets.

11. A computer program product for matching a rule-set with a rules engine, the computer program product comprising:

a non-transitory computer readable storage medium having computer usable program code embodied therewith, the computer usable program code comprising a computer usable program code configured to:

parameterize properties of a plurality of rules engines in accordance with a specification of an object cache framework to generate parameterized properties of the plurality of rules engines, wherein the properties of the plurality of rules engines were published to the object cache framework client;

parameterize a rule-set received by the object cache framework client in accordance with the specification and generating a rule-set object that comprises the parameterized rule-set and the rule-set, wherein the rule-set indicates a set of one or more criteria for matching the rule-set to a rules engine;

evaluate the set of one or more criteria of the rule-set against the parameterized properties of each of the plurality of rules engines;

determine that the parameterized properties of a first of the plurality of rules engines satisfy the set of one or more criteria of the rule-set more than others of the plurality of rules engines;

after a determination that the parameterized properties of the first of the plurality of rules engines satisfy the set of one or more criteria of the rule-set more than others of the plurality of rules engines, indicate that the first of the plurality of rules engines is busy;

cause the first of the plurality of rules engines to subscribe to receive a data object for the rule-set from object storage associated with the object cache framework; and

supply the rule-set object to the first of the plurality of rules engines for execution of the rule-set by the first of the plurality of rules engines with the data object.

12. The non-transitory computer readable storage medium of claim 11 , wherein the computer usable program code is further configured to:

receive the rule-set submitted for insertion into the object cache framework.

13. The non-transitory computer readable storage medium of claim 11 , wherein the computer usable program code is further configured to:

indicate to the first of the plurality of rules engines generate a data object with a result of execution of the rule-set and to provide the data object to, at least one of, a location of the object cache framework, a location external to the object cache framework, or another of the plurality of rules engine, wherein the data object complies with a specification of the object cache framework.

14. The non-transitory computer readable storage medium of claim 11 , wherein the computer usable program code is further configured to:

receive a result of execution of the rule-set by the first of the plurality of rules engines;

determine that the result comprises a second rule-set;

select a second of the plurality of rules engines based, at least in part, on the second rule-set and the parameterized properties of the second of the plurality of rules engines; and

supply the second rule-set to the second of the plurality of rules engines for execution of the second rule-set.

15. The non-transitory computer readable storage medium of claim 14 , wherein the computer usable program code configured to determine that the parameterized properties of the second of the plurality of rules engines satisfy the criterion of the second rule-set comprises computer usable program code configured to:

evaluate the criterion of the second rule-set against the parameterized properties of the second of the plurality of rules engines; and

determine that the parameterized properties of the second of the plurality of rules engines satisfy the criterion of the second rule-set.

16. A computer program product for matching a rule-set with a rules engine, the computer program product comprising:

a non-transitory computer readable storage medium having computer usable program code embodied therewith, the computer usable program code comprising a computer usable program code configured to:

parameterize properties of a plurality of rules engines in accordance with a specification of an object cache framework to generate parameterized properties of the plurality of rules engines, wherein the properties of the plurality of rules engines were published to the object cache framework client;

parameterize a rule-set received by the object cache framework client in accordance with the specification and generating a rule-set object that comprises the parameterized rule-set and the rule-set, wherein the rule-set indicates a set of one or more criteria for matching the rule-set to a rules engine;

evaluate the set of one or more criteria of the rule-set against the parameterized properties of each of the plurality of rules engines;

determine that the parameterized properties of a first rules engine of the plurality of rules engines satisfy the set of one or more criteria of the rule-set more than others of the plurality of rules engines;

after a determination that the parameterized properties of the first rules engine satisfy the set of one or more criteria of the rule-set more than others of the plurality of rules engines, indicate that the first rules engine is busy;

cause the first rules engine to subscribe to receive a data object for the rule-set from object storage associated with the object cache framework;

supply the rule-set object to the first rules engines for execution of the rule-set by the first rules engines with the data object;

receive a result of execution of the rule-set by the first rules engine;

determine that the result comprises a second rule-set; and

supply the second rule-set to a second rules engine of the plurality of rules engines for execution of the second rule-set.

17. The computer program product of claim 16 , wherein the computer usable program code is further configured to allocate the first rules engine and the second rules engine for execution of the rule set and the second rule set.

18. An apparatus comprising:

a processor;

a network interface coupled with the processor; and

a non-transitory computer readable storage medium having computer usable program code embodied therewith, the computer usable program code comprising a computer usable program code configured to:

parameterize properties of a plurality of rules engines in accordance with a specification of an object cache framework to generate parameterized properties of the plurality of rules engines, wherein the properties of the plurality of rules engines were published to the object cache framework client;

parameterize a rule-set received by the object cache framework client in accordance with the specification and generating a rule-set object that comprises the parameterized rule-set and the rule-set, wherein the rule-set indicates a set of one or more criteria for matching the rule-set to a rules engine;

evaluate the set of one or more criteria of the rule-set against the parameterized properties of each of the plurality of rules engines;

determine that the parameterized properties of a first of the plurality of rules engines satisfy the set of one or more criteria of the rule-set more than others of the plurality of rules engines;

after a determination that the parameterized properties of the first of the plurality of rules engines satisfy the set of one or more criteria of the rule-set more than others of the plurality of rules engines, indicate that the first of the plurality of rules engines is busy;

cause the first of the plurality of rules engines to subscribe to receive a data object for the rule-set from object storage associated with the object cache framework; and

supply the rule-set object to the first of the plurality of rules engines for execution of the rule-set by the first of the plurality of rules engines with the data object.

19. The apparatus of claim 18 , wherein the computer usable program code is further configured to:

receive the rule-set submitted for insertion into the object cache framework.

20. The apparatus of claim 18 , wherein the computer usable program code is further configured to:

indicate to the first of the plurality of rules engines generate a data object with a result of execution of the rule-set and to provide the data object to, at least one, of a location of the object cache framework, a location external to the object cache framework, or another of the plurality of rules engines, wherein the data object complies with a specification of the object cache framework.

21. The apparatus of claim 18 , wherein the computer usable program code is further configured to:

receive a result of execution of the rule-set by the first of the plurality of rules engines;

determine that the result comprises a second rule-set; and

select a second of the plurality of rules engines based, at least in part, on the second rule-set and the parameterized properties of the second of the plurality of rules engines; and

supply the second-rule set to the second of the plurality of rules engines for execution of the second rule-set.

Assignments (7)
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052888 FRAME 0177 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0712 →
SECURITY INTEREST Recorded Jun 9, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052888/0177 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2020
From: HGST NETHERLANDS B.V
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 052783/0631 →
CONFIRMATORY ASSIGNMENT Recorded Jan 21, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: HGST NETHERLANDS B.V.
Reel/Frame 037569/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2012
From: DEMUTH, STEVEN J.; LYNCH, EDWARD M.; MERY, STEPHANE; MOORE, VICTOR S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027839/0988 →