Process Activity Ordering Across Concurrent Message Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing operating systems face challenges in efficiently tracking process activity across kernel and user spaces due to limited functionality and security constraints in kernel environments like eBPF, leading to performance issues and message queue overflow, as well as the need for maintaining logical ordering of process messages.
Innovation Solution
Implementing multiple message queues with producer and consumer counters, and using sequence numbers to assign processes to queues based on their parent's message queue state, ensuring consistent message ordering and coherent process tracking across kernel and user spaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple message queues are used to distribute processes, then productivity and performance are improved, but device complexity increases
Solution Approach 1:
The system divides the single message queue into multiple message queues (first message queue, second message queue, etc.), each handling specific process groups. This segmentation distributes the tracking load across multiple queues, improving productivity while the patent manages the resulting complexity through systematic assignment rules based on parent process queue associations.
2Productivity
If processes are distributed across multiple queues, then productivity improves, but reliability of message ordering may worsen
Solution Approach 1:
The system performs preliminary assignment of processes to message queues based on their parent process's queue association before messages are generated. By pre-determining which queue will handle a process's messages based on existing queue assignments, the system ensures logical ordering is maintained from the outset, allowing concurrent processing while preserving message sequence integrity.
3Measurement precision
If sequence numbers and counters are implemented, then measurement precision of message ordering is improved, but device complexity increases
Solution Approach 1:
Each message queue maintains its own counter that automatically increments with each message, and sequence numbers are self-generated based on these counters. The system uses the counter values directly for ordering decisions without requiring external coordination or complex management logic, allowing precise sequence tracking while minimizing overhead through autonomous queue behavior.
Data Source
AI summary
Trackable activity performed by a process executing in an operating system of a computing device is detected, the process associated with an initial sequence number and an initial message queue of a plurality of message queues, and each of the plurality of message queues comprising a first counter. Based on a comparison of the first counter to the initial sequence number, an assigned message queue of the process is set to the initial message queue or a second message queue of the plurality of message queues. A message is transmitted on the assigned message queue, the message comprising a process identifier of the process.


