Shared Transport Mechanism for Virtual Machine Message Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In group communication protocols, the sequential processing of messages in a First In First Out (FIFO) order can lead to bottlenecks, as each message must wait for its turn to be processed, which can be inefficient, especially when dealing with multiple channels and threads.

Innovation Solution

Implementing a shared transport mechanism within a virtual machine, where messages from multiple channels are processed using a shared transport protocol, allowing messages to be multiplexed and demultiplexed based on identifiers, thereby reducing the need for multiple threads and channels, and optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If messages are processed sequentially in FIFO order using a single queue and thread, then message processing simplicity is maintained, but processing efficiency deteriorates due to bottlenecks

Engineering Contradiction:
Improvemessage processing efficiencyVSAvoidprocessing mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the message processing task by introducing multiple message queues (first queue, second queue, third queue) that are processed by different threads simultaneously. This segmentation allows parallel processing of messages from different channels, resolving the bottleneck of sequential processing while maintaining manageable complexity through structured queue management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic thread management where threads are created and assigned to process different queues based on message arrival patterns. The system dynamically adjusts which thread processes which queue, allowing flexible adaptation to varying message loads and optimizing processing efficiency without fixed rigid structures.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple threads are used to process messages from multiple channels simultaneously, then processing efficiency is improved, but memory consumption increases

Engineering Contradiction:
Improvemessage processing throughputVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges multiple message queues into a shared memory space, allowing multiple threads to access and process messages from different queues simultaneously without requiring separate dedicated memory for each thread. This combining approach reduces overall memory consumption while maintaining parallel processing capability through shared memory access.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements a universal message processing mechanism where a single thread can process messages from multiple channels by iterating through different queues. This multi-functional approach allows one thread to perform the work of multiple dedicated threads, reducing the total number of threads needed and consequently reducing memory consumption.

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

3Device complexity

If a multiplexer is used to run multiple building blocks over the same channel, then the number of channels and threads is reduced, but different semantics for each channel are required

Engineering Contradiction:
Improvenumber of channels and threadsVSAvoidchannel semantics flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by allowing each queue to have its own specific processing characteristics and semantics while being managed within the same overall thread structure. Each queue can handle messages with different semantics (e.g., different channel types or message formats) independently, maintaining flexibility and adaptability without requiring a completely different approach for each channel.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8799397B2Shared transport
Publication Date: 2014.08.05 RED HAT INC
  • US8799397B2 patent drawing
  • US8799397B2 patent drawing
  • US8799397B2 patent drawing

AI summary

A method and apparatus for processing message is described. In one embodiment, messages are received over a plurality of channels from a plurality of applications in a virtual machine. An identifier is coupled to each message. The identifier refers to the application originating the corresponding message. A shared transport is formed and associated with the channels. The messages are processed with the shared transport with the identifier.