IP Library Granted Patent US 9,189,303
Granted Patent B2
US 9,189,303 · App. 11/463,785 · Granted Nov 17, 2015

Shadow queues for recovery of messages

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,189,303
App. No.
11/463,785
Granted
Nov 17, 2015
Kind
B2
Abstract

A method, system and computer program product for handling an electronic message in a data processing system are disclosed. The method comprises receiving an electronic message and storing the electronic message in a message store. An address of the electronic message is stored in a primary queue and the address of the electronic message is stored in one or more configured shadow queues. Responsive to successful completion of one or more tasks related to the electronic message, the address of the electronic message is deleted from the associated queue, and responsive to completion of all tasks related to the electronic message, the electronic message is deleted from the message store.

Claims (61)

1. A method of handling an electronic message in a data processing system, said method comprising:

in response to receiving an electronic message, the data processing system:

storing said electronic message in a message store in a location associated with an address;

storing the address of said electronic message in a primary queue and in a shadow queue separate from said primary queue, such that the address is held contemporaneously in the primary queue and the shadow queue, wherein the primary queue is maintained within data storage allocated to a first operating system instance;

the data processing system executing first and second applications, wherein the second application associates a longer transaction lifetime with the electronic message than does the first application;

creating said shadow queue in data storage allocated to a different second operating system instance by one a set including the first and second applications;

responsive to a completion of the transaction lifetime associated with the electronic message by the first application, the data processing system deleting said address of said electronic message from said primary queue; and

thereafter, retaining the address of the electronic message in the shadow queue and, responsive to completion of the transaction lifetime associated with the electronic message by the second application, deleting said address of said electronic message from said shadow queue.

2. The method of claim 1 , further comprising:

responsive to deleting said address of said electronic message from said primary queue and deleting said address of said electronic message from said shadow queue, deleting said electronic message from said message store.

3. The method of claim 1 , wherein said step of storing said address of said electronic message in a shadow queue further comprises storing said address of said electronic message in multiple redundant shadow queues.

4. The method of claim 1 , wherein:

the data processing system is a host data processing system; and

the method further comprises the host data processing system receiving a request message including the electronic message from a remote client data processing system.

5. The method of claim 1 , and further comprising:

the first application processing the electronic message during the transaction lifetime of the first application; and

the second application processing the electronic message during the transaction lifetime of the second application.

6. The method of claim 1 , wherein executing the first application includes executing a message driven bean.

7. The method of claim 1 , wherein storing the electronic message in a message store comprises storing the electronic message in a database.

8. A data processing system that handles an electronic message for first and second applications, wherein the second application associates a longer transaction lifetime with the electronic message than does the first application, said data processing system comprising:

a processor that executes the first and second applications; and

data storage coupled to the processor;

program code within the data storage that, when executed by the processor, causes the data processing system to perform:

responsive to receiving an electronic message:

storing said electronic message in a message store in a location associated with an address;

storing an address of said electronic message in a primary queue and in a shadow queue separate from said primary queue, such that the address is held contemporaneously in the primary queue and the shadow queue, wherein the primary queue is maintained within data storage allocated to a first operating system instance;

creating said shadow queue in data storage allocated to a different second operating system instance by one a set including the first and second applications;

responsive to completion of the transaction lifetime associated with the electronic message by the for first application, deleting said address of said electronic message from said primary queue; and

thereafter retaining the address of the electronic message in the shadow queue and, responsive to completion the transaction lifetime associated with the electronic message by the second application, deleting said address of said electronic message from said shadow queue.

9. The data processing system of claim 8 , wherein the program code further causes the data processing system to perform:

responsive to deleting said address of said electronic message from said primary queue and deleting said address of said electronic message from said shadow queue, deleting said electronic message from said message store.

10. The data processing system of claim 8 , wherein storing said address of said electronic message in a shadow queue further comprises storing said address of said electronic message in multiple redundant shadow queues.

11. The data processing system of claim 8 , wherein:

the data processing system is a host data processing system; and

the program code further causes the host data processing system to perform receiving a request message including the electronic message from a remote client data processing system.

12. The data processing system of claim 8 , wherein the program code further causes the data processing system to perform:

the first application processing the electronic message during the transaction lifetime of the first application; and

the second application processing the electronic message during the transaction lifetime of the second application.

13. The data processing system of claim 8 , wherein the first application includes a message driven bean.

14. The data processing system of claim 8 , wherein the message store comprises a database.

15. A computer program product for handling an electronic message in a data processing system, said computer program product comprising:

a computer-readable storage medium; and

program code stored within the computer-readable storage medium for causing a data processing system to perform:

in response to receiving an electronic message, the data processing system:

storing said electronic message in a message store in a location associated with an address;

storing the address of said electronic message in a primary queue and in a shadow queue separate from said primary queue, such that the address is held contemporaneously in the primary queue and the shadow queue, wherein the primary queue is maintained within data storage allocated to a first operating system instance;

creating said shadow queue in data storage allocated to a different second operating system instance by one a set including the first and second applications;

the data processing system executing first and second applications, wherein the second application associates a longer transaction lifetime with the electronic message than does the first application;

responsive to completion of the transaction lifetime associated with the electronic message by the second application, deleting said address of said electronic message from said primary queue; and

thereafter, retaining the address of the electronic message in the shadow queue and, responsive to completion of the transaction lifetime associated with the electronic message by the second application, deleting said address of said electronic message from said shadow queue.

16. The computer program product of claim 15 , wherein the program code further causes the data processing system to perform:

responsive to deleting said address of said electronic message from said primary queue and deleting said address of said electronic message from said shadow queue, deleting said electronic message from said message store.

17. The computer program product of claim 15 , wherein said storing said address of said electronic message in a shadow queue further comprises storing said address of said electronic message in multiple redundant shadow queues.

18. The computer program product of claim 15 , wherein:

the data processing system is a host data processing system; and

the program code further causes the host data processing system to perform receiving a request message including the electronic message from a remote client data processing system.

19. The computer program product of claim 15 , wherein the program code further causes the data processing system to perform:

the first application processing the electronic message during the transaction lifetime of the first application; and

the second application processing the electronic message during the transaction lifetime of the second application.

20. The computer program product of claim 15 , wherein the first application includes a message driven bean.

21. The computer program product of claim 15 , wherein the message store comprises a database.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2024
From: DAEDALUS BLUE LLC
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LIMITED
Reel/Frame 066749/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: DAEDALUS GROUP, LLC
To: DAEDALUS BLUE LLC
Reel/Frame 051737/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP, LLC
Reel/Frame 051710/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP LLC
Reel/Frame 051032/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2006
From: ACHANTA, PHANI GOPAL V.; ARORA, RAJIV
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 018347/0232 →