Actor System Deadlock Prevention via Read Message Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In actor systems, synchronous messaging can lead to deadlocks when actors wait indefinitely for responses to each other's messages, causing system failures due to the inability to process other messages.

Innovation Solution

Implement a method where actors can process and transmit read messages from a message queue without setting a response standby state, allowing them to continue processing data even while waiting for responses, and enable direct-state acquisition when actors are in the same memory space for increased performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous messaging is used in actor systems, then data processing can be performed with proper coordination, but deadlock occurs when actors wait indefinitely for responses

Engineering Contradiction:
Improvedata processing coordinationVSAvoidresponse waiting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically changes the operational state of actors based on message queue conditions. When the message queue is not empty, actors process messages without entering response standby state, allowing flexible adaptation between synchronous and asynchronous processing modes to prevent deadlock while maintaining coordination reliability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The response standby state parameter is conditionally applied - it is disabled when the message queue contains messages, allowing actors to continue processing. This parameter change resolves the contradiction by making the system responsive to queue conditions rather than rigidly enforcing synchronous waiting

Inventive Principle:
Principle #35Parameter changes

2Reliability

If actors set response standby state when transmitting synchronous messages, then proper response handling is ensured, but the actor cannot process other messages and system productivity decreases

Engineering Contradiction:
Improveresponse handlingVSAvoidmessage processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Actors maintain continuous message processing capability by not entering response standby state when the message queue is not empty. This allows the useful action of message processing to continue uninterrupted, improving productivity while still ensuring proper response handling through the message queue mechanism

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The message queue acts as an intermediary that decouples the response handling mechanism from the message processing flow. Actors can process messages from the queue while responses are handled asynchronously, maintaining reliability without blocking productivity

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If actors wait for responses to synchronous messages, then data consistency is maintained, but deadlock occurs when multiple actors wait for each other's responses

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem response time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system dynamically adjusts waiting behavior based on message queue state. When messages are available in the queue, actors process them without waiting for responses, breaking potential deadlock cycles while maintaining data consistency through the structured message queue mechanism

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The message queue serves as a preliminary action buffer that allows actors to prepare and process messages before responses are received. This preliminary processing maintains data consistency while preventing deadlock by avoiding indefinite waiting

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8826301B2Method and system for processing data for preventing deadlock
Publication Date: 2014.09.02 GINNO GAMES
  • US8826301B2 patent drawing
  • US8826301B2 patent drawing
  • US8826301B2 patent drawing

AI summary

Provided are a method and system for processing data for preventing deadlock, and more particularly, provided are a method and system which process messages received at a message response standby state in an actor system so as to prevent deadlock. The data-processing method for preventing deadlock includes the following steps: (a) transmitting a read message for requesting information on the status of a target actor required for processing data; (b) receiving only read messages for reading information on the status of an actor until a response to the read message is received; and (c) when the response to the read message is received, processing relevant data using the status information.