State Machine Controller for Shared Object Lock Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-threaded software systems face challenges in coordinating access to shared resources, particularly due to coherency and latency issues when serializing access to objects, and lack an independent control mechanism for managing shared locks.

Innovation Solution

Implementing a state machine that manages shared objects accessible by multiple threads, allowing threads to request and control the locking and unlocking of objects independently, using a state machine controller to transition between defined states such as locked and unlocked states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If threads serialize access to shared objects through locking mechanisms, then coherency is improved, but latency increases

Engineering Contradiction:
ImprovecoherencyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

A state machine controller is introduced as an intermediary between threads and shared objects. The controller manages lock state transitions (locked/unlocked) and coordinates access requests from multiple threads, thereby maintaining coherency while reducing latency by automating the locking/unlocking coordination process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If threads directly control locking and unlocking of shared objects, then ease of operation is improved, but device complexity increases due to lack of independent control mechanism

Engineering Contradiction:
Improvethread controlVSAvoidcontrol mechanism
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The state machine controller serves as an intermediary that simplifies thread operation while managing complexity internally. Threads interact with the controller through standardized state transition requests, making operation easier, while the controller handles the complex coordination logic for multiple threads and lock state management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The state machine controller automatically manages lock state transitions based on thread requests, eliminating the need for threads to directly coordinate with each other. The controller self-manages the complexity of tracking locked/unlocked states and coordinating multiple thread access requests.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8918798B2Shared object lock under state machine control
Publication Date: 2014.12.23 RED HAT INC
  • US8918798B2 patent drawing
  • US8918798B2 patent drawing
  • US8918798B2 patent drawing

AI summary

Embodiments relate to systems and methods for a shared object lock under state machine control. An operating system or virtual machine environment can host a set of multiple executing threads, and provide those threads with mutual access to one or more objects such as storage objects, memory objects, or others. The threads can independently request that the object be locked or unlocked, and the locked or unlocked state can be shared between the threads. Rather than communicate with the object(s) directly, in embodiments the threads communicate with a state machine that in turn controls the state of the object(s). When a request to change the state of the object(s) is received, the state machine can permit the object(s) to change between locked, unlocked, or other states based on the current state of the machine and the received message. Contention between threads can be reduced or eliminated.