Virtualized Queue Manager Supplemental Commands
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing queue managers are inflexible as their commands are hard-coded, making it difficult to update or add new functionality without substantial modification, and internal transactions can lead to race conditions when accessing messages.
Innovation Solution
A virtualized instance of a queue manager is instantiated to provide supplemental commands, allowing for message access operations without modifying the existing queue manager, and internal transactions are replaced with external transactions to prevent access by other users during message processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If commands are hard-coded into the queue manager application, then the queue manager maintains stable and reliable operation, but updating or adding new commands requires substantial modification to the application
Solution Approach 1:
The system segments the queue manager functionality by separating the core queue manager from the command interpretation layer. A virtualized instance is created that sits on top of the existing queue manager, allowing new commands to be added to the virtualized instance without modifying the original queue manager application. This segmentation enables independent updates and additions to command sets while preserving the stability of the core system.
Solution Approach 2:
The virtualized queue manager instance acts as an intermediary between external applications and the native queue manager. It translates supplemental commands into native queue manager commands, allowing new functionality to be introduced without direct modification to the core queue manager. This intermediary layer enables adaptability while maintaining the integrity and stability of the underlying system.
2Reliability
If internal transactions are used for message access operations, then the queue manager maintains transactional integrity, but race conditions can occur when multiple users access messages simultaneously
Solution Approach 1:
The system performs preliminary locking of messages before they are accessed. When a message is retrieved from the queue, it is locked at the queue level to prevent other users from accessing or modifying it during the current transaction. This preliminary action ensures that even if multiple transactions are initiated simultaneously, each message access is protected from race conditions through pre-established locks.
Solution Approach 2:
The system implements protective measures beforehand by establishing message locks and transaction boundaries prior to message access operations. The virtualized queue manager sets up the transactional environment and locking mechanisms in advance, cushioning against potential race conditions before they can occur during concurrent message access operations.
3Adaptability or versatility
If the queue manager processes messages with existing commands only, then the system maintains simplicity and stability, but new message access operations cannot be implemented
Solution Approach 1:
The system adds functionality in another dimension by introducing a virtualized queue manager instance that operates alongside the native queue manager. This virtualized layer provides supplemental commands and message access operations without altering the core queue manager structure. New operations are implemented in this additional dimensional layer, preserving the simplicity and stability of the original system while enabling extended functionality.
Data Source
AI summary
In one embodiment, a computer system instantiates a queue manager configured to process a plurality of existing queue manager commands on messages in a message queue. The computer system instantiates a virtualized instance of a queue manager in a virtual layer associated with the queue manager in the computing system. The a virtualized queue manager instance provides supplemental queue manager commands usable in addition to existing queue manager commands, such that the queue manager can be used to implement the supplemental commands without substantial modification. The computer system receives an indication that a message in a message queue is to be accessed according to a specified command provided by the instantiated virtualized queue manager instance that is not natively supported by the queue manager and the virtualized queue manager performs the specified supplemental command as indicated by the received indication by performing one or more existing queue manager commands.


