Patentable/Patents/US-8521689
US-8521689

Generation of a set of pre-filters from a set of event subscriptions to more efficiently select events of interest

PublishedAugust 27, 2013
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A method, system and computer program product for achieving a balance between pre-filter efficiency and pre-filter throughput. Event subscriptions are obtained for a given event consumer. The event subscriptions define the events to be routed to this event consumer. Pre-filters of varying complexity and filtering power are constructed based on these event subscriptions. A balance between pre-filter efficiency and pre-filter throughput may be achieved by selecting the best pre-filter out of these constructed pre-filters to filter events to its associated event consumer. The best pre-filter is selected by comparing a complexity threshold (e.g., a limit for the number of atomic Boolean expressions in a pre-filter) with the actual complexity (e.g., the actual number of atomic Boolean expressions) for each constructed pre-filter and selecting the most complex pre-filter without exceeding the threshold.

Patent Claims
13 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for achieving a balance between pre-filter efficiency and pre-filter throughput comprising the steps of: obtaining a plurality of event subscriptions which define a plurality of events to be routed to an event consumer; constructing a plurality of pre-filters of varying complexity and filtering power; and selecting, by a processor, one of said plurality of pre-filters to filter events to said event consumer based on comparing a threshold to a complexity measure for each of said plurality of pre-filters; wherein one of said plurality of pre-filters is constructed as being a conjunction of those conditions that all of said plurality of event subscriptions have in common.

2

2. The method as recited in claim 1 , wherein said selected one of said plurality of pre-filters has a largest number of atomic Boolean expressions that does not exceed said threshold.

3

3. The method as recited in claim 1 , wherein one of said plurality of pre-filters is constructed as a logical disjunction of all of said plurality of event subscriptions.

4

4. The method as recited in claim 1 , wherein one of said plurality of pre-filters is constructed as a logical disjunction of all event type checks of said plurality of event subscriptions where each event type check is AND-ed with those atomic Boolean conditions that are common across all subscriptions for events of this type.

5

5. The method as recited in claim 1 , wherein one of said plurality of pre-filters is constructed as a logical disjunction of all event type checks of said plurality of event subscriptions.

6

6. The method as recited in claim 1 , wherein one of said plurality of pre-filters is constructed by: partitioning said plurality of event subscriptions into sets having at least one common condition; performing a conjunction of those common conditions for each of said sets; and performing a logical disjunction of said conjunction of those common conditions for each of said sets.

7

7. The method as recited in claim 1 further comprising the step of: simplifying expressions of said plurality of pre-filters using factorization.

8

8. A system, comprising: a memory unit for storing a computer program for achieving a balance between pre-filter efficiency and pre-filter throughput; a processor coupled to said memory unit, wherein said processor, responsive to said computer program, comprises: circuitry for obtaining a plurality of event subscriptions which define a plurality of events to be routed to an event consumer; circuitry for constructing a plurality of pre-filters of varying complexity and filtering power; and circuitry for selecting one of said plurality of pre-filters to filter events to said event consumer based on comparing a threshold to a complexity measure for each of said plurality of pre-filters; wherein one of said plurality of pre-filters is constructed as being a conjunction of those conditions that all of said plurality of event subscriptions have in common.

9

9. The system as recited in claim 8 , wherein said selected one of said plurality of pre-filters has a largest number of atomic Boolean expressions that does not exceed said threshold.

10

10. The system as recited in claim 8 , wherein one of said plurality of pre-filters is constructed as a logical disjunction of all of said plurality of event subscriptions.

11

11. The system as recited in claim 8 , wherein one of said plurality of pre-filters is constructed as a logical disjunction of all event type checks of said plurality of event subscriptions where each event type check is AND-ed with those atomic Boolean conditions that are common across all subscriptions for events of this type.

12

12. The system as recited in claim 8 , wherein one of said plurality of pre-filters is constructed as a logical disjunction of all event type checks of said plurality of event subscriptions.

13

13. The system as recited in claim 8 , wherein one of said plurality of pre-filters is constructed by: partitioning said plurality of event subscriptions into sets having at least one common condition; performing a conjunction of those common conditions for each of said sets; and performing a logical disjunction of said conjunction of those common conditions for each of said sets.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

April 20, 2007

Publication Date

August 27, 2013

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Generation of a set of pre-filters from a set of event subscriptions to more efficiently select events of interest” (US-8521689). https://patentable.app/patents/US-8521689

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.