Selective Persistence Management for Messaging Network Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing messaging systems face a tradeoff between assured message delivery and performance, with persistent messaging offering high recoverability but at the cost of reduced throughput and increased response times, due to the need for frequent disk writes, and lack of flexibility in persistence policies.
Innovation Solution
A method for managing persistence in messaging networks by identifying client characteristics, such as connectivity history, to determine whether data requires saving to persistent storage, allowing for selective and granular persistence management, reducing unnecessary disk writes and enabling omission of save operations for reliable connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If persistent messaging is used to ensure message delivery reliability, then message recoverability is improved, but message throughput decreases and response times increase
Solution Approach 1:
The patent applies local quality by making persistence behavior client-specific rather than uniform across all clients. The message server identifies characteristics of individual messaging clients and applies different persistence strategies to different clients based on their connection reliability, allowing reliable clients to benefit from non-persistent performance while unreliable clients receive persistent delivery guarantees
Solution Approach 2:
The patent implements dynamics by making the persistence policy dynamic and adaptive rather than static. The system continuously monitors client connection characteristics and adjusts persistence behavior in real-time, transitioning between persistent and non-persistent modes based on current connection quality, thereby optimizing both reliability and performance under varying conditions
2Reliability
If persistent messaging is used to ensure message delivery, then recoverability is improved, but application response times increase
Solution Approach 1:
The patent reduces time loss by applying persistence selectively to individual clients based on their connection characteristics. Clients with stable connections experience no persistence overhead and thus maintain fast response times, while only clients with unreliable connections incur the time cost of persistent operations, localizing the time penalty to where it is actually necessary
Solution Approach 2:
The patent applies partial action by performing persistence operations only partially - specifically, only for those clients who need it based on their connection reliability. Rather than applying persistence universally to all messages, the system applies it only to the subset of messages sent to unreliable clients, reducing overall time loss while maintaining sufficient recoverability
3Reliability
If uniform persistence policy is applied to all clients, then message delivery is assured for all, but performance is degraded for reliable clients
Solution Approach 1:
The patent resolves this contradiction by making persistence behavior client-specific rather than uniform. The message server identifies characteristics of individual messaging clients and applies different persistence strategies to different clients based on their connection reliability, allowing reliable clients to benefit from non-persistent performance while unreliable clients receive persistent delivery guarantees
Solution Approach 2:
The patent achieves versatility by making the persistence system multi-functional - it can operate in both persistent and non-persistent modes depending on client needs. The message server universally supports both persistence approaches and dynamically selects the appropriate mode for each client, thereby adapting to different client characteristics and optimizing overall system performance
Data Source
AI summary
Provided are method, apparatus and computer program product for managing persistence in a messaging network. A determination of whether to save data relating to a message-based communication to persistent storage at a message server is made with reference to characteristics of at least one messaging client involved in the message-based communication. The characteristics may include, for example, connection reliability information for the client's previous connections to the message server, such as numbers of disconnections within a defined period or average connection duration, for a messaging client to which at least one message is to be transmitted by the message server. The characteristics may represent a number of matching subscribers per publication. These and/or other example characteristics may be captured in a database at the message server and may be evaluated (for example by SQL queries applied to the database) to determine whether a persistent save operation is required or can be omitted.


