Virtual Processing Agents for Stream Event Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large-scale stream processing systems, direct communication between processing units becomes impractical, and traditional publication-subscription models are inefficient when processing units cannot predict the events they need to subscribe to, leading to unnecessary subscriptions and resource inefficiencies.
Innovation Solution
The implementation of virtual processing agents that can receive and process events without explicit subscription, with a mechanism to identify and deliver events to interested agents, even if they haven't subscribed explicitly, and activate them if necessary, allowing for implicit subscription and past event retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If direct communication techniques are used between processing units, then communication efficiency is improved, but scalability deteriorates when millions of processing units are involved
Solution Approach 1:
The patent introduces a publication-subscription model as an intermediary mechanism between processing units. Instead of direct peer-to-peer communication, processing units publish events to topics and subscribe to topics of interest, with a message broker mediating the communication. This resolves the contradiction by enabling scalable system architecture while maintaining efficient event-driven communication through the broker-mediated subscription mechanism.
Solution Approach 2:
The patent segments the communication system into independent publishing and subscribing components that interact through standardized topics. Processing units are divided into independent publishers and subscribers that communicate asynchronously through the message broker, allowing the system to scale to millions of units without requiring direct connections between each pair, thus resolving the scalability limitation of direct communication.
2Ease of operation
If processing units explicitly submit event subscriptions before receiving events, then subscription management is improved, but adaptability deteriorates when events cannot be predicted in advance
Solution Approach 1:
The patent implements preliminary action by having processing units pre-subscribe to all possible event topics before runtime. This allows the system to maintain simple subscription management while adapting dynamically to unpredictable events, as units are already subscribed to receive any event type that may occur, eliminating the need to predict events in advance.
Solution Approach 2:
The patent applies universality by designing a subscription mechanism where processing units can subscribe to multiple topic types simultaneously. A single subscription system handles diverse event types (game events, map events, player events, etc.), allowing processing units to adapt to unpredictable events through a unified multi-functional subscription interface rather than requiring separate subscription logic for each event type.
3Reliability
If processing units subscribe to all possible events to ensure receiving relevant events, then event reception completeness is improved, but resource utilization deteriorates in large-scale systems
Solution Approach 1:
The patent applies local quality by enabling processing units to subscribe to specific topic types relevant to their function rather than all possible events. For example, map processing units subscribe only to map-related events, game processing units subscribe to game-specific events, and player processing units subscribe to player-related events. This selective subscription approach ensures each unit receives complete relevant events while minimizing resource consumption by filtering out unrelated events at the subscription level.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Technologies are described herein for event delivery and stream processing utilizing virtual processing agents. Upon receiving an event publication in a queue, a runtime system identifies one or more virtual processing agents that might be interested in, but have not explicitly subscribed to, the published event. Event information of the published event is then delivered to the identified virtual processing agents. Prior to the actual delivery, the runtime system further determines if the virtual processing agents have been activated and activates those processing agents that have not been activated. Based on the received event information, some of the virtual processing agents might decide to explicitly submit subscriptions to receive more events from the queue. The explicit subscriptions will trigger the runtime system to deliver the subscribed events to the processing agents, which might include past events that have been published in the queue before the explicit subscription is received.