System and method for processing event predicates
First Claim
1. A method, comprising:
- initializing a first set of bits corresponding to a first plurality of predicate indices to a first value;
initializing a second set of bits corresponding to a second plurality of predicate indices to a second value;
processing a subscription, the subscription including a plurality of subscription predicates, each of the subscription predicates associated with corresponding predicate indices in one of the first and second pluralities;
processing an event, the event including an event predicate;
when the event predicate matches a first predicate index in the first plurality, toggling a first bit associated with the first predicate index to the second value;
when the event predicate matches a second predicate index in the second plurality, toggling a second bit associated with the second predicate index to the first value;
when each bit associated with the corresponding predicate indices is the second value, outputting the event to a source of the subscription;
comparing each of the subscription predicates to the first and second pluralities;
when any of the subscription predicates is absent from the first and second pluralities, generating, for the absent subscription predicate, a corresponding predicate index; and
inserting the corresponding predicate index into one of the first and second pluralities.
5 Assignments
0 Petitions
Accused Products
Abstract
Described is a method comprising initializing a first set of bits corresponding to a first plurality of predicate indices to a first value, and initializing a second set of bits corresponding to a second plurality of predicate indices to a second value. A subscription is processed. The subscription includes a plurality of subscription predicates, each of the subscription predicates associated with corresponding predicate indices in one of the first and second pluralities. An event is processed. The event includes an event predicate. When the event predicate matches a first predicate index in the first plurality, a first bit associated with the first predicate index is toggled to the second value. When the event predicate matches a second predicate index in the second plurality, a second bit associated with the second predicate index is toggled to the first value. When each bit associated with the corresponding predicate indices is the second value, the event is outputted to a source of the subscription.
-
Citations
17 Claims
-
1. A method, comprising:
-
initializing a first set of bits corresponding to a first plurality of predicate indices to a first value; initializing a second set of bits corresponding to a second plurality of predicate indices to a second value; processing a subscription, the subscription including a plurality of subscription predicates, each of the subscription predicates associated with corresponding predicate indices in one of the first and second pluralities; processing an event, the event including an event predicate; when the event predicate matches a first predicate index in the first plurality, toggling a first bit associated with the first predicate index to the second value; when the event predicate matches a second predicate index in the second plurality, toggling a second bit associated with the second predicate index to the first value; when each bit associated with the corresponding predicate indices is the second value, outputting the event to a source of the subscription; comparing each of the subscription predicates to the first and second pluralities; when any of the subscription predicates is absent from the first and second pluralities, generating, for the absent subscription predicate, a corresponding predicate index; and inserting the corresponding predicate index into one of the first and second pluralities. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A device, comprising:
-
a processor initializing a first set of bits corresponding to a first plurality of predicate indices to a first value and initializing a second set of bits corresponding to a second plurality of predicate indices to a second value; and a communications arrangement receiving an event and a subscription, the event including an event predicate, the subscription including a plurality of subscription predicates, each of the subscription predicates associated with corresponding predicate indices in one of the first and second pluralities, wherein, when the event predicate matches a first predicate index in the first plurality, the processor toggles a first bit associated with the first predicate index to the second value, wherein, when the event predicate matches a second predicate index in the second plurality, the processor toggles a second bit associated with the second predicate index to the first value, wherein, when each bit associated with the corresponding predicate indices is the second value, the processor outputs the event to a source of the subscription, and wherein the processor compares each of the subscription predicates to the first and and second pluralities, and, when any of the subscription predicates is absent from the first and second pluralities, the processor generates, for the absent subscription predicate, a corresponding predicate index, the processor inserting the corresponding predicate index into one of the first and second pluralities. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-readable storage medium storing a set of instructions, the set of instructions capable of being executed by a processor, the set of instructions performing the steps of:
-
initializing a first set of bits corresponding to a first plurality of predicate indices to a first value; initializing a second set of bits corresponding to a second plurality of predicate indices to a second value; processing a subscription, the subscription including a plurality of subscription predicates, each of the subscription predicates associated with corresponding predicate indices in one of the first and second pluralities; processing an event, the event including an event predicate; when the event predicate matches a first predicate index in the first plurality, toggling a first bit associated with the first predicate index to the second value; when the event predicate matches a second predicate index in the second plurality, toggling a second bit associated with the second predicate index to the first value; when each bit associated with the corresponding predicate indices is the second value, outputting the event to a source of the subscription; comparing each of the subscription predicates to the first and second pluralities; when any of the subscription predicates is absent from the first and second pluralities, generating, for the absent subscription predicate, a corresponding predicate index; and inserting the corresponding predicate index into one of the first and second pluralities.
-
Specification