IP Library Granted Patent US 9,258,263
Granted Patent B2
US 9,258,263 · App. 13/688,378 · Granted Feb 9, 2016

Dynamic granular messaging persistence

Inventors: David Granshaw (Eastleigh, GB); Sam T. Massey (Southampton, GB); Daniel McGinnes (Southampton, GB); Martin Ross (Winchester, GB); Richard Schofield (Eastleigh, GB); Craig Stirling (Southampton, GB)
Assignee: International Business Machines Corporation
H04L51/26H04L12/58H04L12/5885
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,258,263
App. No.
13/688,378
Granted
Feb 9, 2016
Kind
B2
Abstract

Embodiments of the present invention provide a method, system and computer program product for dynamic, granular messaging persistence in a messaging system. In an embodiment of the invention, a method for dynamic, granular messaging persistence in a messaging system is provided. The method includes monitoring operational performance of a message broker and receiving a message for queuing in a message queue of the message broker. The method also includes parsing the message to extract different fields and corresponding priorities and selectively storing in fixed storage, data for corresponding ones of the different fields based upon consideration of corresponding ones of the priorities and the monitored operational performance. Finally, the method includes queuing the message in the message queue.

Claims (35)

1. A method for dynamic, granular messaging persistence in a messaging system, the method comprising:

monitoring operational performance of a message broker;

receiving a message for queuing in a message queue of the message broker;

parsing the message to extract different fields and corresponding priorities, each of the priorities indicating a condition in which data in one of the different fields is to be persisted to fixed storage;

selectively storing in the fixed storage, data for corresponding ones of the different fields based upon consideration of corresponding ones of the priorities extracted during parsing of the message and the monitored operational performance; and,

queuing the message in the message queue.

2. The method of claim 1 , wherein the operational performance indicates a degree of resource utilization in a host server hosting the message broker.

3. The method of claim 2 , wherein at least one of the priorities indicates that data in a corresponding one of the fields is to be persisted in the fixed storage in response to detecting a low degree of resource utilization, but that the data in the corresponding one of the fields is not to be persisted in the fixed storage in response to detecting a high degree of resource utilization.

4. The method of claim 2 , wherein at least one of the priorities indicates that data in a corresponding one of the fields is to be persisted irrespective of a degree of utilization detected for the host server.

5. The method of claim 2 , wherein at least one of the priorities indicates that data in a corresponding one of the fields is never to be persisted irrespective of a degree of utilization detected for the host server.

6. The method of claim 2 , wherein the resource utilization is processor utilization.

7. The method of claim 2 , wherein the resource utilization is message throughput in the message broker.

8. A message data processing system configured for dynamic, granular messaging persistence, the system comprising:

a host server communicatively linked to client servers over a computer communications network and also fixed storage;

a message broker executing in memory of the host server and brokering messages in a message queue for the client servers; and,

a granular message persistence module coupled to the host server and comprising program code enabled to monitor operational performance of the message broker, parse a message received for queuing by the message broker in the message queue to extract different fields and corresponding priorities, each of the priorities indicating a condition in which data in one of the different fields is to be persisted to fixed storage, and selectively store in the fixed storage data for corresponding ones of the different fields based upon consideration of corresponding ones of the priorities extracted during parsing of the message and the monitored operational performance.

9. The system of claim 8 , wherein the operational performance indicates a degree of resource utilization in the host server hosting the message broker.

10. The system of claim 9 , wherein at least one of the priorities indicates that data in a corresponding one of the fields is to be persisted in the fixed storage in response to detecting a low degree of resource utilization, but that the data in the corresponding one of the fields is not to be persisted in the fixed storage in response to detecting a high degree of resource utilization.

11. The system of claim 9 , wherein at least one of the priorities indicates that data in a corresponding one of the fields is to be persisted irrespective of a degree of utilization detected for the host server.

12. The system of claim 9 , wherein at least one of the priorities indicates that data in a corresponding one of the fields is never to be persisted irrespective of a degree of utilization detected for the host server.

13. The system of claim 9 , wherein the resource utilization is processor utilization.

14. The system of claim 9 , wherein the resource utilization is message throughput in the message broker.

15. A computer program product for dynamic, granular messaging persistence, the computer program product comprising:

a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:

computer readable program code for monitoring operational performance of a message broker;

computer readable program code for receiving a message for queuing in a message queue of the message broker;

computer readable program code for parsing the message to extract different fields and corresponding priorities, each of the priorities indicating a condition in which data in one of the different fields is to be persisted to fixed storage;

computer readable program code for selectively storing in the fixed storage, data for corresponding ones of the different fields based upon consideration of corresponding ones of the priorities extracted during parsing of the message and the monitored operational performance; and,

computer readable program code for queuing the message in the message queue.

16. The computer program product of claim 15 , wherein the operational performance indicates a degree of resource utilization in a host server hosting the message broker.

17. The computer program product of claim 16 , wherein at least one of the priorities indicates that data in a corresponding one of the fields is to be persisted in the fixed storage in response to detecting a low degree of resource utilization, but that the data in the corresponding one of the fields is not to be persisted in the fixed storage in response to detecting a high degree of resource utilization.

18. The computer program product of claim 16 , wherein at least one of the priorities indicates that data in a corresponding one of the fields is to be persisted irrespective of a degree of utilization detected for the host server.

19. The computer program product of claim 16 , wherein at least one of the priorities indicates that data in a corresponding one of the fields is never to be persisted irrespective of a degree of utilization detected for the host server.

20. The computer program product of claim 16 , wherein the resource utilization is processor utilization.

21. The computer program product of claim 16 , wherein the resource utilization is message throughput in the message broker.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2012
From: GRANSHAW, DAVID; MASSEY, SAM T.; MCGINNES, DANIEL; ROSS, MARTIN; SCHOFIELD, RICHARD; STIRLING, CRAIG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029371/0894 →
Continuity (1)
Related Publication 20140149520A1 · May 29, 2014