Application-Specific Error Queues for Message Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing message queuing systems face challenges in efficiently recovering failed messages due to shared error queues, which can lead to data exposure and performance issues, as multiple applications share the same error queue, making it difficult to isolate and manage failed messages effectively.
Innovation Solution
Implementing application-specific error queues, where a queue manager receives messages and error information, and moves undelivered messages to a dedicated error queue specific to the sending application, allowing for isolated handling and processing of failed messages without exposing sensitive data to other applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single shared error queue is used for multiple applications, then queue manager resource utilization is improved, but data security and application isolation deteriorate
Solution Approach 1:
The patent divides the single shared error queue into multiple application-specific error queues, with each queue dedicated to storing error messages from a specific application. This segmentation isolates data between applications while still allowing the queue manager to efficiently manage multiple queues using a unified infrastructure, thus resolving the contradiction between resource utilization and data security.
2Device complexity
If a single shared error queue is used for multiple applications, then system complexity is reduced, but error message retrieval efficiency deteriorates
Solution Approach 1:
By creating separate error queues for each application, the system enables direct access to application-specific error messages without requiring searches through other applications' messages. The queue manager maintains efficient tracking mechanisms for each segmented queue, allowing fast retrieval while keeping the overall system structure manageable through standardized queue management protocols.
Solution Approach 2:
The queue manager acts as an intermediary that maintains metadata and indexing information for each application-specific error queue. This intermediary layer enables efficient retrieval by application names or identifiers without requiring applications to directly manage the queue structures, thus reducing retrieval time while keeping system complexity manageable.
3Reliability
If application-specific error queues are implemented, then data security and error isolation are improved, but queue management complexity increases
Solution Approach 1:
The queue manager is designed with universal functionality to handle multiple application-specific error queues using a single unified management interface. It implements standardized operations for creating, accessing, and monitoring queues for different applications, thereby providing strong error isolation without proportionally increasing management complexity. The same queue manager infrastructure serves all applications through consistent protocols.
4Device complexity
If applications search a shared error queue for their messages, then queue structure simplicity is maintained, but performance and cooperation requirements worsen
Solution Approach 1:
The patent implements segmented error queues where each application has its own dedicated error queue. This eliminates the need for applications to search through shared queues or cooperate with other applications to access error messages. Each application can directly access its own queue, dramatically improving access efficiency while the queue manager maintains a simple unified structure for managing all segments.
Data Source
AI summary
The present invention extends to methods, systems, and computer program products for failed message error recovery using application specific error queues. An application message, a reference to a receive queue that corresponds to a receiving application, and a reference to an application specific error queue specific to a sending application are received from the sending application. The application message is enqueued in a transmission queue. Transfer of the application message to the receive queue is attempted. It is detected that the application message was not delivered to the receiving application due to an error. The application message is moved from the transmission queue to the application specific error queue. The application message and appropriate error information is returned from the application specific error queue to the sending application.


