Selective Persistence Management for Messaging Network Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemessage delivery reliabilityVSAvoidmessage throughput
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #3Local quality

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

Inventive Principle:
Principle #15Dynamics

2Reliability

If persistent messaging is used to ensure message delivery, then recoverability is improved, but application response times increase

Engineering Contradiction:
ImproverecoverabilityVSAvoidapplication response times
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #3Local quality

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

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If uniform persistence policy is applied to all clients, then message delivery is assured for all, but performance is degraded for reliable clients

Engineering Contradiction:
Improvemessage delivery assuranceVSAvoidpersistence policy flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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

Inventive Principle:
Principle #3Local quality

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

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

Data Source

PatentUS8146095B2Method, apparatus and computer program product for managing persistence in a messaging network
Publication Date: 2012.03.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8146095B2 patent drawing
  • US8146095B2 patent drawing
  • US8146095B2 patent drawing

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.