Atomic Process Status Check for Reliable Message Delivery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, message delivery from a sender process to a receiver process is challenging when the receiver process is not present in main memory, leading to asynchronous issues and incorrect interpretations of state checks, resulting in message loss and processing cycle wastage due to the need for complex message buffers.

Innovation Solution

An atomic check protocol is implemented to determine the status of both the receiver process and its parent, ensuring that their states remain unchanged during the check, allowing for reliable message delivery without the use of message buffers by subscribing to the receiver's lifecycle transitions and using the parent process to notify the sender of the receiver's availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If message buffers are implemented to handle receiver process unavailability, then message delivery reliability is improved, but device complexity increases

Engineering Contradiction:
Improvemessage delivery reliabilityVSAvoidmessage buffer complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the message buffering functionality from the sender process and relocates it to the operating system kernel. The kernel maintains a message queue associated with the receiver process, allowing messages to be stored system-wide rather than requiring each application to implement its own buffering logic. This reduces application complexity while maintaining reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The operating system kernel acts as an intermediary between the sender and receiver processes. When the receiver is unavailable, the kernel intercepts messages and stores them in a protected queue, then delivers them when the receiver becomes available. This intermediary layer ensures reliable delivery without requiring complex buffering logic in the sender process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the sender process waits in a loop for receiver availability, then message delivery accuracy is improved, but loss of time increases due to processing cycle wastage

Engineering Contradiction:
Improvestatus check accuracyVSAvoidprocessing cycle wastage
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The sender process performs a preliminary check of the receiver's availability status before attempting message delivery. The operating system provides the sender with information about the receiver's state (available, sleeping, terminated) in advance, allowing the sender to prepare appropriately without entering a continuous wait loop. This preliminary information reduces unnecessary processing cycles.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The operating system provides feedback to the sender process about the receiver's availability status. Instead of the sender continuously polling, the system notifies the sender when the receiver becomes available or when delivery should be attempted. This feedback mechanism eliminates wasteful continuous checking while maintaining accurate status information.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If continuous status checking is performed without atomic operations, then ease of operation is improved, but reliability deteriorates due to asynchronous issues and incorrect state interpretations

Engineering Contradiction:
Improvestatus checking simplicityVSAvoidstate check accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent merges multiple status checks (receiver availability, parent process status, message queue state) into a single atomic operation performed by the operating system kernel. Instead of the sender process performing separate checks that could return inconsistent results, the kernel atomically evaluates all relevant conditions and returns a consistent state determination. This maintains simplicity for the sender while ensuring reliability through atomic execution.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The operating system kernel serves as an intermediary that performs atomic status checking on behalf of the sender process. The kernel's atomic operations prevent race conditions and ensure that status information is consistent across all checks. This intermediary approach maintains ease of operation for the sender while guaranteeing reliability through the kernel's atomic execution semantics.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7971206B2Protocol for message delivery among independently evolving processes
Publication Date: 2011.06.28 ORACLE AMERICAN INC
  • US7971206B2 patent drawing
  • US7971206B2 patent drawing
  • US7971206B2 patent drawing

AI summary

The present invention relates to a method for message delivery from a sender process to a receiver process within a computer system, comprising performing an atomic check for the receiver process and a parent of the receiver process, returning a first status of the receiver process and a second status of the parent of the receiver process based on the atomic check, and delivering the message according to the first status and the second status, wherein the first status and the second status stay unchanged during the atomic check.