Method and system for managing rules and events in a multi-user intelligent agent environment
First Claim
1. A method of operating a rule-based intelligent agent that processes events occurring in a computer system on behalf of a plurality of users simultaneously, the method comprising the steps of:
- receiving at least one event set and rule set for each of the plurality of users;
associating, with each event set and each rule set, a unique respective selection key which identifies the rule set and the event set with the respective user;
monitoring the computer system to detect occurrences of event conditions, wherein each detected event condition corresponds to an event specified in at least one of the received event sets;
assigning at least one selection key to each detected event condition, each assigned selection key corresponding to the at least one specified event of the received event sets; and
processing each of the detected event conditions simultaneously using at least one rule set having a respective selection key which matches the selection key assigned to the event condition.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for constructing rule-based intelligent agents that process events on behalf of one or more users. The intelligent agents have event-generating modules that supply events to be processed, and event-processing modules that process the events by evaluating rules. Each event-processing module of the agent includes multiple sets of rules, one or more such sets for each user of the agent. A selection key related to the user is associated with a rule set, and for event-generating modules a selection key indicates the user on whose behalf the event was generated. When the event-processing module receives an event with a selection key, the module locates and evaluates the rule set(s) which have a matching key to launch the corresponding actions. Addition, replacement or removal of rule sets for a user is made by temporarily suspending the initiation of new events for the user designated by the rule set'"'"'s selection key; completing all in-progress events for that user; effecting the modification to the rule set within the event-processing modules; and the resuming the initiation and processing of events for the user. While the rule sets are being modified for a particular user, event generating and processing continues unimpeded for the other users of the agent.
110 Citations
26 Claims
-
1. A method of operating a rule-based intelligent agent that processes events occurring in a computer system on behalf of a plurality of users simultaneously, the method comprising the steps of:
-
receiving at least one event set and rule set for each of the plurality of users;
associating, with each event set and each rule set, a unique respective selection key which identifies the rule set and the event set with the respective user;
monitoring the computer system to detect occurrences of event conditions, wherein each detected event condition corresponds to an event specified in at least one of the received event sets;
assigning at least one selection key to each detected event condition, each assigned selection key corresponding to the at least one specified event of the received event sets; and
processing each of the detected event conditions simultaneously using at least one rule set having a respective selection key which matches the selection key assigned to the event condition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
receiving, from at least one user, a request, wherein each request includes at least one of an associated specified selection key, an event set label and a rule set label;
modifying the operation of the monitoring step to suspend detection of the occurrence of any event condition which corresponds to the specified selection key of the request if present while continuing to detect the occurrences of event conditions that do not correspond to the specified selection key of the request;
altering operation of the rule-based intelligent agent according to the request based on at least one of the selection key, event set label and rule set label of which match the specified selection key, event set label and rule set label of the request; and
resuming the operation of the monitoring step to detect occurrences of the event conditions having the specified selection key.
-
-
3. The method of operating the rule-based intelligent agent as recited in claim 2, wherein the request is an add request and the add request further includes at least one new event set and new rule set, the method further comprising the steps of:
-
associating, with each new event set and each new rule set, a respective selection key which identifies the rule set and the event set with the respective user, and wherein the monitoring step monitors the computer system to detect an occurrence of an event condition corresponding to an event specified in at least one new event set;
the assigning step assigns the respective selection key to the detected event condition; and
the processing step processes the detected event condition using the at least one new rule set having the respective selection key which matches the selection key assigned to the event condition.
-
-
4. The method of operating the rule-based intelligent agent as recited in claim 2, wherein the request is a modify request having the specified selection key, and the modify request further includes at least one of an event set instruction and rule set instruction, the method further comprising the steps of:
-
modifying, according to the event set instruction and the rule set instruction of the modify request, each event set and each rule having the selection key, event set label and rule set label of which match the specified selection key, event set label and rule set label of the modify request, and wherein the resuming step resumes detection of occurrences of the event conditions having the specified selection key, the monitoring step detects an occurrence of an event condition corresponding to an event of the modified event set, and the processing step processes the detected event condition using the modified rule set.
-
-
5. The method of operating the rule-based intelligent agent as recited in claim 4, wherein the event set instruction includes a replacement event set and the rule set instruction includes a replacement rule set, the resuming step resumes detection of occurrences of the event conditions having the specified selection key, the monitoring step detects an occurrence of an event condition corresponding to an event of the replacement event set, and the processing step processes the detected event condition using the replacement rule set.
-
6. The method of operating the rule-based intelligent agent as recited in claim 2, wherein the request is a delete request having the specified selection key, the method further comprising the steps of:
-
deleting each event set and each rule set having the selection key, event set label and rule set label of which match the specified selection key, event set label and rule set label of the delete request, and wherein the resuming step resumes detection of occurrences of the event conditions having the specified selection key, but the monitoring step no longer detects an occurrence of an event condition corresponding to an event of each deleted event set, and the processing step no longer processes the detected event condition using each deleted rule set.
-
-
7. The method of operating the rule-based intelligent agent as recited in claim 2, wherein the suspending step further comprises the steps of:
-
determining whether at least one event condition has previously been detected but for which the processing has not yet been completed, the selection key of which matches the specified selection key of the modification request; and
completing the processing of each currently processed event condition while disabling the processing of any new event condition matching the specified selection key.
-
-
8. The method of operating the rule-based intelligent agent as recited in claim 7, wherein:
-
the processing step provides at least one other event condition based on the detected event condition, and the suspending step further comprises the steps of;
determining, for each processed, event condition having a selection key matching the selection key of the request, whether the one other event condition is to be generated by the processing step which processes the detected event condition according to the corresponding rule set having the respective selection key; and
disabling the operation of the monitoring step so as to not detect the occurrence of an event having the respective selection key of the request which matches the selection key of the one other event condition.
-
-
9. The method of operating the rule-based intelligent agent as recited in claim 8, wherein the disabling step includes the steps of (1) determining whether at least one event condition is currently being processed corresponding to the other event condition and having the respective selection key matching the selection key of the request, and (2) if so, completing the processing of the currently processed event condition while disabling the processing of each new event condition matching the other event condition.
-
10. The method of operating the rule-based intelligent agent as recited in claim 1;
- further comprising the steps of storing each received event set with the corresponding selection key and storing each received rule set with its corresponding selection key.
-
11. The method of operating the rule-based intelligent agent as recited in claim 1, wherein the monitoring step provides an event record which includes event condition data, an event identifier (ID) defining the at least one event of the received event sets which matches the event condition and the corresponding selection key, and the processing step includes the steps of receiving the event record;
- applying an algorithm to the event condition data as specified by the rule set corresponding to the event ID, the selection key of which rule set matches the selection key of the event record; and
providing an action corresponding to the identified event ID for the user associated with the corresponding selection key.
- applying an algorithm to the event condition data as specified by the rule set corresponding to the event ID, the selection key of which rule set matches the selection key of the event record; and
-
12. A method of operating a rule-based intelligent agent that processes events occurring in a computer system on behalf of a plurality of users simultaneously, the method comprising the steps of:
-
receiving at least one rule set for each of the plurality of users, each rule set including a configuration instruction associating selected ones of the rule set with at least one corresponding event of an event set;
associating, with each rule set, a unique respective selection key which identifies the rule set and each corresponding event with the respective user;
monitoring the computer system to detect occurrences of event conditions, wherein each detected event condition corresponds to at least one event of the received rule sets;
assigning at least one selection key to each detected event condition, each assigned selection key corresponding to the respective selection key of the at least one event of the received rule sets; and
processing each of the detected event conditions simultaneously using the selected ones of the rule set associated with the event of each rule set having a selection key which matches the selection key assigned to the event condition. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
receiving, from at least one user, a modification request associated with a specified selection key, the modification request including at least one modified rule set having a corresponding modified configuration instruction and a respective label and each associated with the specified selection key;
modifying the operation of the monitoring step to suspend detection of the occurrence of any event condition having a respective selection key which matches the specified selection key;
substituting the modified rule set and corresponding modified configuration instruction for each rule set and configuration instruction, the selection key and respective label of which match the specified selection key and respective label of the modified rule set of the modification request; and
resuming the operation of the monitoring step to detect occurrences of the event conditions having the specified selection key.
-
-
14. The method of operating the rule-based intelligent agent as recited in claim 13, wherein the modifying step further comprises the steps of:
-
determining whether at least one event condition has previously been detected but for which the processing has not yet been completed, the selection key of which matches the specified selection key of the modification request; and
completing the processing of each currently processed event condition while disabling the processing of any new event condition matching the specified selection key.
-
-
15. The method of operating the rule-based intelligent agent as recited in claim 14, wherein:
-
the processing step provides at least one other event condition based on the detected event condition, and the suspending step further comprises the steps of;
determining, for each processed and detected event condition having a selection key matching the selection key of the modification request, whether the at least one other event condition is to be generated by the processing step which processes the detected event condition according to the corresponding rule set having the respective selection key; and
disabling the operation of the monitoring step so as to not detect the occurrence of an event which corresponds to the at least one other event condition having the respective selection key which matches the selection key of the modification request.
-
-
16. The method of operating the rule-based intelligent agent as recited in claim 15, wherein the disabling step includes the steps of (1) determining whether an event condition is currently being processed corresponding to the other event condition and having the respective selection key matching the selection key of the modification request, and (2) if so, completing the processing of the currently processed event condition while disabling the processing of a new event condition matching the other event condition.
-
17. The method of operating the rule-based intelligent agent as recited in claim 15, wherein:
the disabling step includes the steps of determining whether a plurality of other detected event conditions, each having a respective selection key matching the selection key of the modification request, are currently being processed, and if so, completes processing of the plurality of currently processed event conditions while disabling the processing of a new event condition matching the other event condition.
-
18. The method of operating the rule-based intelligent agent as recited in claim 12, wherein each rule set includes a respective rule set label, the method further comprising the steps of:
-
receiving, from at least one user, a delete request associated with a specified selection key, the delete request including at least one of a deleted rule set label and a deleted configuration instruction;
modifying the operation of the monitoring step to suspend detection of the occurrence of any event condition having a respective selection key which matches the specified selection key; and
deleting
1) each rule set having the specified selection key and rule set label corresponding to the deleted rule set label of the delete request and
2) each configuration instruction having the specified selection key and rule set label corresponding to the deleted configuration instruction of the delete request.
-
-
19. The method of operating the rule-based intelligent agent as recited in claim 18, wherein:
-
the processing step provides at least one other event condition based on the detected event condition, and the suspending step further comprises the steps of;
determining, for each processed and detected event condition having a selection key matching the selection key of the delete request, whether the one other event condition is to be generated by the processing step which processes the detected event condition according to the corresponding rule set having the respective selection key; and
disabling the operation of the monitoring step so as to not detect the occurrence of an event which corresponds to the at least one other event condition having the respective selection key which matches the selection key of the delete request.
-
-
20. The method of operating the rule-based intelligent agent as recited in claim 19, wherein the disabling step includes the steps of (1) determining whether an event condition is currently being processed corresponding to the other event condition and having the respective selection key matching the selection key of the delete request, and (2) if so, completing the processing of the currently processed event condition while disabling the processing of a new event condition matching the other event condition.
-
21. The method of operating the rule-based intelligent agent as recited in claim 19, wherein the disabling step includes the steps of determining whether a plurality of other detected event conditions, each having a respective selection key matching the selection key of the delete request, are currently being processed, and if so, completes processing of the plurality of currently processed event conditions while disabling the processing of a new event condition matching the other event condition.
-
22. The method of operating the rule-based intelligent agent as recited in claim 18;
- wherein the modifying step further comprises the steps of;
determining whether at least one event condition is currently being processed, the selection key of which matches the specified selection key of the modification request; and
completing the processing of each currently processed event condition while disabling the processing of any new event condition matching the specified selection key.
- wherein the modifying step further comprises the steps of;
-
23. The method of operating the rule-based intelligent agent as recited in claim 12;
- further including the steps of;
receiving an add request from one user, the add request including at least one new rule set having a corresponding new configuration instruction; and
associating with the at least one new rule set and corresponding new configuration instruction the respective selection key identifying the one user;
wherein the received new rule set and corresponding new configuration instruction with the corresponding selection key are available to the monitoring and processing steps respectively.
- further including the steps of;
-
24. A processor for operating a rule-based intelligent agent that processes events occurring in a computer network on behalf of a plurality of users simultaneously, the processor comprising:
-
receiving means for receiving at least one event set and rule set for each of the plurality of users;
associating means for associating, with each event set and each rule set, a unique respective selection key which identifies the rule set and the event set with the respective user;
monitoring means for monitoring the computer system to detect occurrences of event conditions, wherein each detected event condition corresponds to an event specified in at least one of the received event sets;
assigning means for assigning at least one selection key to the event condition, the assigned selection key corresponding to the specified event of the received event sets; and
processing means for processing each of the detected event conditions simultaneously using at least one rule set associated with the selection key which matches the selection key assigned to the detected event condition. - View Dependent Claims (25, 26)
means for receiving, from at least one user, a request, each request including at least one of an associated specified selection key, an event set label and a rule set label;
means for suspending detection by the monitoring means of the occurrence of any event condition which corresponds to the specified selection key of the request if present, while continuing to detect the occurrences of event conditions that do not correspond to the specified selection key of the request;
altering means for altering operation of the rule-based intelligent agent according to the request based on at least one of the selection key, event set label and rule set label of which match the specified selection key, event set label and rule set label of the request; and
means for resuming the operation of the monitoring means to detect occurrences of the event conditions having the specified selection key.
-
-
26. The processor for operating the rule-based intelligent agent as recited in claim 25, wherein the request is selected from the group consisting of an add request corresponding to an addition of at least one of an event set and rule set having a respective selection key, a delete request corresponding to a deletion of at least one of an event set and rule set of which the respective selection key match the specified selection key, and a modify request corresponding to a modification of at least one of an event set and rule set of which the respective selection key match the specified selection key.
Specification