Shared Message Management Controller for Multi-Thread Concurrency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional message queues face inefficiencies when multiple threads attempt to access and update a control message, leading to threads spinning and wasting resources due to unclear status information, resulting in errors and incomplete datasets.

Innovation Solution

A controller manages shared messages by tracking thread access and scheduling future edits, providing status updates, and scheduling threads for access to the control message, thereby reducing resource waste and ensuring accurate and timely information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple threads attempt to access and update a control message simultaneously in a conventional message queue, then the system allows concurrent access, but threads spin and waste resources due to unclear status information

Engineering Contradiction:
Improveconcurrent access capabilityVSAvoidresource waste from thread spinning
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the controller provides status updates to threads about the control message state. When a thread attempts to access the control message, it receives feedback about whether the message is being edited, has been edited, or is available. This feedback eliminates the need for threads to spin by providing clear status information, thereby reducing resource waste while maintaining concurrent access capability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The controller acts as an intermediary between multiple threads and the control message. It manages thread access requests, tracks editing status, and coordinates updates. This intermediary mechanism allows concurrent access attempts while preventing resource waste by managing thread scheduling and providing status information, resolving the contradiction between allowing concurrency and preventing spinning.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If threads spin waiting for control message availability, then they can eventually access the message, but time is wasted due to unclear status information

Engineering Contradiction:
Improvedata access completionVSAvoidwaiting time from thread spinning
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The controller provides real-time feedback to threads about the control message status, including whether the message is being edited, has been edited, or is available for access. This feedback mechanism allows threads to make informed decisions about whether to wait or proceed with alternative actions, significantly reducing unnecessary waiting time while ensuring reliable data access completion when the message is ready.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The controller performs preliminary actions by tracking and managing thread access requests before threads actually attempt to access the control message. It maintains status information about which threads are waiting, which are currently accessing, and which have completed. This preliminary management reduces time loss by preventing threads from spinning and by preparing the access coordination in advance.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If threads access the control message without status tracking, then access is simple, but errors occur and datasets become incomplete

Engineering Contradiction:
Improvethread access simplicityVSAvoiddata completeness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The controller serves as an intermediary that manages thread access to the control message while maintaining status tracking. It records which threads have accessed the message, which are currently editing, and which have completed. This intermediary mechanism preserves ease of operation by handling the complexity of status tracking centrally, while ensuring data completeness through proper coordination and tracking of all thread activities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where threads receive status information about the control message and other threads' activities. This feedback includes information about whether the message is available, being edited, or has been edited. Such feedback ensures reliable data processing by preventing threads from accessing incomplete or conflicting data, while maintaining operational simplicity through automated status management.

Inventive Principle:
Principle #23Feedback

4Loss of energy

If a controller tracks thread access and provides status updates, then resource consumption is reduced, but device complexity increases

Engineering Contradiction:
Improveresource consumptionVSAvoidcontroller management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The controller is designed as a universal management component that handles multiple functions: tracking thread access, providing status updates, coordinating edits, and managing queue operations. By consolidating these diverse functions into a single multi-functional controller, the system reduces overall resource consumption while managing the complexity centrally, making the added complexity worthwhile through significant resource savings across the entire system.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The controller acts as a central intermediary that manages all thread-control message interactions. It maintains comprehensive status information and coordinates all access requests. This intermediary approach reduces resource consumption by eliminating thread spinning and wasted operations, while concentrating the management complexity in a single component that can efficiently handle multiple threads and messages through standardized procedures.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11663060B2Shared message management
Publication Date: 2023.05.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11663060B2 patent drawing
  • US11663060B2 patent drawing
  • US11663060B2 patent drawing

AI summary

A call for communication is detected between applications, where the call requires input from a plurality of threads of the applications via editing of a single control message in a queue such that the single control message reflects data from each of the applications. An attempt by a first of the plurality of threads to edit the single control message is detected while a second of the plurality of threads is editing the single control message. A message is sent to the first of the plurality of threads that details a status of the single control message in response to detecting the attempt. The call for communication is responded to using the single control message in response to detecting that each of the plurality of threads has edited the single control message.