Shared Transport Mechanism for Virtual Machine Message Processing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If multiple threads are used to process messages from multiple channels simultaneously, then processing efficiency is improved, but memory consumption increases
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.
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.
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
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.
Data Source
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.


