Event Notification Engine Query Transformation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional publish-subscribe systems face challenges in efficiently identifying and delivering information to interested users, especially in environments with a high volume of changing subscriptions and multiple publishers, leading to excessive computational requirements.
Innovation Solution
An event notification system that processes messages by transforming them into searchable queries to match subscriptions stored in a database, reducing computational load by searching for matching subscriptions rather than using a brute force approach, and supporting multiple publishers and subscribers with efficient geospatial and temporal predicate transformations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a brute force approach is used to pass events through all known subscriptions, then all subscriptions can be checked for matches, but computational resources are excessively consumed
Solution Approach 1:
Instead of passing each event through all subscriptions (event-driven approach), the patent inverts the approach by transforming event data into searchable predicates and querying the subscription database directly. This allows the system to find matching subscriptions through efficient database search rather than exhaustive iteration, dramatically reducing computational resources while maintaining complete matching coverage.
Solution Approach 2:
The patent replaces the mechanical brute-force iteration process with a database query system that uses indexed predicates for efficient searching. By transforming event data into structured predicates and utilizing database search mechanisms, the system substitutes an inefficient computational process with an optimized information retrieval approach.
2Adaptability or versatility
If traditional publish-subscribe systems are used to handle large numbers of changing subscriptions, then all subscriber interests can be covered, but the systems cannot keep pace and require undesirable computing resources
Solution Approach 1:
The patent performs preliminary actions by transforming subscription criteria into searchable predicates and storing them in an indexed database before events arrive. When events are received, the system can quickly query against pre-processed predicates rather than evaluating raw subscription rules, enabling the system to keep pace with rapidly changing subscriptions while maintaining comprehensive coverage.
Solution Approach 2:
The patent changes the parameter representation from raw subscription rules to structured, indexed predicates with specific attributes (event type, source, target, etc.). This parameter transformation enables efficient database querying and indexing, allowing the system to handle large numbers of changing subscriptions at high speed.
3Productivity
If event data is transformed into searchable predicates and stored in a database, then efficient query-based matching can be performed, but additional data processing steps are required
Solution Approach 1:
The patent introduces an intermediary layer that transforms event data into standardized predicates before database storage and querying. This intermediary transformation process, while adding steps, creates a uniform data structure that enables highly efficient database operations. The predicate format serves as an intermediary representation that bridges raw event data and database storage, optimizing the overall processing pipeline.
Data Source
AI summary
A method is provided for efficient event notification in a computer system. The method includes processing messages as events at an event notification engine of a computer system maintaining a database of subscriptions of a plurality of subscribers, the subscriptions including first predicates stored in the database as first datums that are searchable. This includes receiving a message as an event including a second datum. The event is transformed into a query in a query language used to search the database, the second datum being transformed into a second predicate that is included in the query. The query is executed in the database to search the first datums for a first datum that matches the second predicate, and from the first datum, identifying a subscription that matches the event, the subscription being for a subscriber to which the event is routed.


