Shared Cache for Pub/Sub Message Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Publish-subscription (pub/sub) environments face inefficiencies due to repetitive data being sent across the network, leading to high network traffic and bandwidth consumption, as all content is sent to all users, with the same data often being resent multiple times to the same subscribers.
Innovation Solution
Implementing a caching mechanism in the pub/sub system where repetitive data is identified, cached, and replaced with a unique identifier in messages, allowing only abbreviated messages to be sent, which are then expanded by subscribers from the shared cache, reducing network bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all message content is sent to all subscribers in a pub/sub system, then message delivery reliability is ensured, but network bandwidth consumption increases significantly
Solution Approach 1:
The patent segments the message content into two parts: a compact unique identifier (UID) and the full content stored in a shared cache. Only the UID is transmitted in messages, while subscribers retrieve full content from the cache on demand. This segmentation dramatically reduces the amount of data transmitted over the network while maintaining reliable message delivery.
Solution Approach 2:
The shared cache acts as an intermediary between the publisher and subscribers. Instead of publishers sending content directly to all subscribers, the cache mediates by storing content once and allowing multiple subscribers to access it. This intermediary approach eliminates redundant transmissions while ensuring each subscriber receives the complete message.
2Loss of information
If repetitive data is sent multiple times to subscribers, then complete information is provided, but network traffic volume increases
Solution Approach 1:
The system performs preliminary action by pre-storing message content in a shared cache before it needs to be transmitted. When a message is published, the content is first cached, then a unique identifier is assigned and transmitted. Subscribers subsequently retrieve the content from the cache using the identifier, eliminating the need to resend repetitive data while maintaining information completeness.
Solution Approach 2:
The patent uses copying by creating a reference copy (unique identifier) of the original content in the shared cache. Instead of transmitting the actual content repeatedly, the system transmits copies of the content through these identifiers, which point to the original content stored in the cache. This copying approach reduces network traffic volume while preserving information completeness.
3Loss of energy
If a caching mechanism is implemented to reduce repetitive data transmission, then network bandwidth is conserved, but system complexity increases
Solution Approach 1:
The shared cache serves multiple functions simultaneously: it stores message content, provides content retrieval for subscribers, manages unique identifiers, and handles cache invalidation. By making the cache multi-functional, the system reduces the need for separate components, thereby limiting the increase in system complexity while achieving bandwidth conservation.
Data Source
AI summary
In general, embodiments of the present invention provide an approach for caching potentially repetitive data in a publication-subscription (pub/sub) environment. Specifically, in a typical embodiment, when a message is received on a broker system from a publisher system, the broker system analyzes the message for potentially repetitive data. Once such a set of data has been identified, the set of data will be cached, and a unique identifier/tag corresponding thereto will be sent to the publisher system and to applicable subscribers. Thereafter, any subsequent message including the same data will contain the unique identifier in place of the cached data (i.e., an abbreviated message). The abbreviated message can be sent from the publisher system to the broker system, and then onto the subscriber system, which will retrieve the data from the shared cache and replace the unique identifier with the cached data to yield a complete message.


