Event Processing Order Guarantee via Key-Based Server Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing environments, managing and processing event messages in the order they are generated becomes increasingly difficult due to the complexity of IT networks, leading to potential misordering and incorrect remedial operations when events are processed by multiple servers.
Innovation Solution
An event management system employs a unique message key for each event, using a publication/subscription framework to ensure that like-keyed event messages are processed by a single server, preserving the order of arrival and preventing distribution across parallel processing servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If event messages are distributed across multiple servers for processing, then processing capacity and productivity are improved, but event message ordering and reliability deteriorate
Solution Approach 1:
The system segments event processing by creating dedicated processing queues for each monitored resource, where each queue handles events from a specific resource in chronological order. This segmentation allows multiple servers to process different resource events simultaneously (maintaining productivity) while ensuring each resource's events are processed sequentially in the correct order (maintaining reliability).
Solution Approach 2:
The patent introduces an intermediary component (event processor/queue system) that sits between event sources and processing servers. This intermediary receives events, assigns them to appropriate queues based on resource identity, and manages the distribution to servers while preserving order. The intermediary acts as a mediator that enables parallel processing without compromising event sequence integrity.
2Productivity
If multiple servers process event messages in parallel, then processing speed and productivity are improved, but event message distribution control and manufacturing precision deteriorate
Solution Approach 1:
The system applies local quality by assigning specific processing responsibilities to specific servers based on resource ownership. Each server becomes specialized in processing events for particular resources, ensuring that the correct server handles each event type with appropriate expertise and maintaining precision while enabling parallel processing across different resource domains.
Solution Approach 2:
The system performs preliminary action by pre-assigning events to specific processing queues and servers based on resource identity before actual processing occurs. This preliminary routing decision ensures that events are directed to the appropriate server in advance, maintaining processing accuracy while enabling parallel execution across multiple servers.
3Adaptability or versatility
If event messages are processed by different servers, then system adaptability and versatility are improved, but event correlation and measurement precision deteriorate
Solution Approach 1:
The system implements feedback mechanisms where processed events and their outcomes are tracked and correlated across servers. The event processor maintains awareness of which server processed which events, enabling post-processing correlation and analysis. This feedback loop ensures that even though different servers handle different events, the system can still accurately correlate events and maintain measurement precision through centralized tracking and logging.
Data Source
AI summary
The present approach relates to the use of a unique key for event messages related to the same event and by employing a publication/subscription framework so that like-keyed event messages are only processed by a subscribing server. The message key may be a numeric value (e.g., from 0-99) calculated or generated based on designated event fields so that similar message keys will have the same message key number. The message key may be used to populate an event bucket field and may also be used as the topic of an event message, allowing a subscribing server to subscribe to this message key and receive and process the related event messages in order of arrival. In this manner, there is no distribution of the event messages having the same message key between parallel processing servers.


