Process Activity Ordering Across Concurrent Message Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If multiple message queues are used to distribute processes, then productivity and performance are improved, but device complexity increases

Engineering Contradiction:
Improveprocess tracking efficiencyVSAvoidmessage queue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

2Productivity

If processes are distributed across multiple queues, then productivity improves, but reliability of message ordering may worsen

Engineering Contradiction:
Improveconcurrent operation supportVSAvoidmessage logical ordering
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If sequence numbers and counters are implemented, then measurement precision of message ordering is improved, but device complexity increases

Engineering Contradiction:
Improvemessage sequence trackingVSAvoidcounter management overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12547448B2Techniques for ordering process activity in a concurrent environment
Publication Date: 2026.02.10 CROWDSTRIKE
  • US12547448B2 patent drawing
  • US12547448B2 patent drawing
  • US12547448B2 patent drawing

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.