IP Library Granted Patent US 9,185,181
Granted Patent B2
US 9,185,181 · App. 13/072,271 · Granted Nov 10, 2015

Shared cache for potentially repetitive message data in a publish-subscription environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,185,181
App. No.
13/072,271
Granted
Nov 10, 2015
Kind
B2
Abstract

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.

Claims (69)

1. A method for caching potentially repetitive message data in a publish-subscription (pub/sub) messaging environment, comprising:

receiving a first message on a broker system from a publisher system;

identifying, on the broker system, a set of data in a first message, the set of data including informational content of the first message that has a potential to appear in at least one future message;

associating the set of data with a unique identifier;

caching the set of data associated with the unique identifier in a shared cache on a client;

replacing the informational content in the set of data in the first message with the unique identifier to yield an abbreviated message;

sending the abbreviated message to a subscriber system;

retrieving, on the subscriber system, the set of data from the shared cache;

replacing the unique identifier in the abbreviated message with the set of data to yield a complete message;

receiving a second message on the broker system from the publisher system, the second message having the unique identifier in place of the set of data

forwarding the second message from the broker system to the subscriber system;

locating, by the subscriber system, the unique identifier in the second message;

retrieving, by the subscriber system, the set of data from the cache; and

replacing, by the subscriber system, the unique identifier in the second message with the set of data.

2. The method of claim 1 , the potential being identified based on an appearance of the set of data in at least one message received prior to the first message.

3. The method of claim 1 , the broker system, the publisher system, and the subscriber system each being computerized systems in the pub/sub messaging environment.

4. The method of claim 1 , the broker system, the publisher system, and the subscriber system communicating over at least one type of computer network.

5. At least one system for caching potentially repetitive message data in a publish-subscription (pub/sub) messaging environment, comprising:

at least one bus;

at least one processor coupled to the at least one bus; and

at least one memory medium coupled to the at least one bus, the at least one memory medium comprising instructions to:

receive a first message on a broker system from a publisher system;

identify, on the broker system, a set of data in a first message, the set of data including informational content of the first message that has a potential to appear in at least one future message;

associate the set of data with a unique identifier;

cache the set of data associated with the unique identifier in a shared cache on a client;

replace the informational content in the set of data in the first message with the unique identifier to yield an abbreviated message;

send the abbreviated message to a subscriber system;

retrieve, on the subscriber system, the set of data from the shared cache;

replace the unique identifier in the abbreviated message with the set of data to yield a complete message;

receive a second message on the broker system from the publisher system, the second message having the unique identifier in place of the set of data; and

forward the second message from the broker system to the subscriber system;

locate, by the subscriber system, the unique identifier in the second message;

retrieve, by the subscriber system, the set of data from the cache; and

replace, by the subscriber system, the unique identifier in the second message with the set of data.

6. The at least one system of claim 5 , the potential being identified based on an appearance of the set of data in at least one message received prior to the first message.

7. The at least one system of claim 5 , the broker system, the publisher system, and the subscriber system each being computerized systems in the pub/sub messaging environment.

8. The at least one system of claim 5 , the broker system, the publisher system, and the subscriber system communicating over at least one type of computer network.

9. At least one computer program product for caching potentially repetitive message data in a publish-subscription (pub/sub) messaging environment, the at least one computer program product comprising at least one computer readable storage media, and program instructions stored on the at least one computer readable storage media, to:

receive a first message on a broker system from a publisher system;

identify, on the broker system, a set of data in a first message, the set of data including informational content of the first message that has a potential to appear in at least one future message;

associate the set of data with a unique identifier;

cache the set of data associated with the unique identifier in a shared cache on a client;

replace the informational content in the set of data in the first message with the unique identifier to yield an abbreviated message;

send the abbreviated message to a subscriber system;

retrieve, on the subscriber system, the set of data from the shared cache;

replace the unique identifier in the abbreviated message with the set of data to yield a complete message;

receive a second message on the broker system from the publisher system, the second message having the unique identifier in place of the set of data and

forward the second message from the broker system to the subscriber system,

locate, by the subscriber system, the unique identifier in the second message;

retrieve, by the subscriber system, the set of data from the cache; and

replace, by the subscriber system, the unique identifier in the second message with the set of data.

10. The at least one computer program product of claim 9 , the potential being identified based on an appearance of the set of data in at least one message received prior to the first message.

11. The at least one computer program product of claim 9 , the broker system, the publisher system, and the subscriber system each being computerized systems in the pub/sub messaging environment.

12. The at least one computer program product of claim 9 , the broker system, the publisher system, and the subscriber system communicating over at least one type of computer network.

13. A method for deploying a system for caching potentially repetitive message data in a publish-subscription (pub/sub) messaging environment, comprising:

providing at least one computer infrastructure being operable to:

receive a first message on a broker system from a publisher system;

identify, on the broker system, a set of data in a first message, the set of data including informational content of the first message that has a potential to appear in at least one future message;

associate the set of data with a unique identifier;

cache the set of data associated with the unique identifier in a shared cache on a client;

replace the informational content in the set of data in the first message with the unique identifier to yield an abbreviated message;

send the abbreviated message to a subscriber system;

retrieve, on the subscriber system, the set of data from the shared cache;

replace the unique identifier in the abbreviated message with the set of data to yield a complete message;

receive a second message on the broker system from the publisher system, the second message having the unique identifier in place of the set of data; and

forward the second message from the broker system to the subscriber system;

locate, by the subscriber system, the unique identifier in the second message;

retrieve, by the subscriber system, the set of data from the cache; and

replace, by the subscriber system, the unique identifier in the second message with the set of data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2011
From: BHOGAL, KULVIR S.; GALE, MARTIN J.; HAMILTON, RICK A., II; JONES, ANDREW R.; O'CONNELL, BRIAN M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026046/0695 →