IP Library › Granted Patent US 10,884,832
Granted Patent B2
US 10,884,832 · App. 16/365,187 · Granted Jan 5, 2021

Aggregation messaging within an integration environment

Inventors: Trevor Clifford Dolby (Winchester, GB); John A. Reeve (Winchester, GB)
Assignee: International Business Machines Corporation
G06F9/546G06F9/5027G06F9/526
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 10,884,832
App. No.
16/365,187
Granted
Jan 5, 2021
Kind
B2
Abstract

Provided is an apparatus, method and computer program product for executing an aggregation method in an integration environment comprising: issuing, in response to receiving an input message from a requesting application, a first control signal, using, in response to receiving the first control signal, a single logical thread to: generate an entry associated with an in-memory data structure, wherein the entry comprises: an aggregation identifier associated with the input message and a response identifier associated with a response message associated with a target application; update, in response to receiving the response message from the target application, the entry with the response message; and add the updated entry to the in-memory data structure.

Claims (42)

1. An apparatus for executing an aggregation method in an integration environment, comprising:

a processor, responsive to receiving an input message from a requesting application, for issuing a first control signal to an aggregator, wherein the aggregator, responsive to receiving the first control signal, is operable to use a first logical thread to:

generate an entry associated with an in-memory data structure, wherein the entry comprises an aggregation identifier associated with the input message and a response identifier associated with a response message associated with a target application, wherein no mutual-exclusion locks are applied by the aggregator;

determine that the response message has been received by comparing the response identifier with a corresponding response identifier received from the target application;

update, in response to receiving the response message from the target application, the entry in a second logical thread with the response message; and

add the updated entry to the in-memory data structure, wherein no mutual-exclusion locks are applied by the aggregator.

2. The apparatus of claim 1 , wherein the entry further comprises a timeout value associated with the aggregation method.

3. The apparatus of claim 2 , wherein the aggregator, responsive to the response message being received prior to the timeout value expiring, is operable to mark the aggregation method associated with the entry as completing successfully.

4. The apparatus of claim 2 , further comprising a timeout handler for, responsive to the response message being received prior to the timeout value expiring, marking the timeout value as expiring.

5. The apparatus of claim 1 , wherein the aggregator is operable to send the entry to the processor.

6. The apparatus of claim 5 , wherein the processor is operable to send the response message to the requesting application.

7. The apparatus of claim 5 , wherein the processor is operable to aggregate a further response message with the response message for sending to the requesting application.

8. The apparatus of claim 1 , wherein the processor is operable to generate the response identifier and send the response identifier to the target application.

9. The apparatus of claim 2 , wherein the aggregator, responsive to the response message not being received prior to the timeout value expiring, is operable to mark the aggregation method associated with the entry as timed out, wherein no mutual-exclusion locks are applied by the aggregator.

10. A computer implemented method for executing an aggregation method in an integration environment, the method comprising:

issuing, in response to receiving an input message from a requesting application, a first control signal, using, in response to receiving the first control signal, a first logical thread to:

generate an entry associated with an in-memory data structure, wherein the entry comprises an aggregation identifier associated with the input message and a response identifier associated with a response message associated with a target application, wherein no mutual-exclusion locks are applied by an aggregator;

determine, by the aggregator, that the response message has been received by comparing the response identifier with a corresponding response identifier received from the target application;

update, in response to receiving the response message from the target application, the entry in a second logical thread with the response message; and

add the updated entry to the in-memory data structure, where no mutual-exclusion locks are applied are applied by the aggregator.

11. The method of claim 10 , wherein the entry further comprises a timeout value associated with the aggregation method.

12. The method of claim 11 , further comprising:

marking, in response to the response message being received prior to the timeout value expiring, the aggregation method associated with the entry as completing successfully.

13. The method of claim 11 , further comprising:

marking, in response to the response message being received prior to the timeout value expiring, the timeout value as expiring.

14. The method of claim 10 , further comprising:

sending the entry to an integration engine.

15. The method of claim 14 , further comprising:

sending, by the integration engine, the response message to the requesting application.

16. The method of claim 14 , further comprising:

aggregating a further response message with the response message for sending to the requesting application.

17. The method of claim 10 , further comprising:

generating the response identifier and sending the response identifier to the target application.

18. The method of claim 11 , further comprising:

marking, in response to the response message not being received prior to the timeout value expiring, the aggregation method associated with the entry as timed out.

19. A computer program product comprising a computer-readable storage medium having program instructions embodied therewith, wherein the computer-readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising:

issuing, in response to receiving an input message from a requesting application, a first control signal, using, in response to receiving the first control signal, a first logical thread to:

generate an entry associated with an in-memory data structure, wherein the entry comprises an aggregation identifier associated with the input message and a response identifier associated with a response message associated with a target application, wherein no mutual-exclusion locks are applied by an aggregator;

update, in response to receiving the response message from the target application, the entry in a second logical thread with the response message;

mark, by the aggregator and responsive to the response message being received prior to a timeout value expiring, an aggregation method associated with the entry as completing successfully; and

add the updated entry to the in-memory data structure, wherein no mutual-exclusion locks are applied by the aggregator.

20. The computer program product of claim 19 , wherein one or more other logical threads are prevented from modifying the in-memory data structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2019
From: DOLBY, TREVOR CLIFFORD; REEVE, JOHN A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048704/0656 →
Continuity (1)
Related Publication 20200310895A1 · Oct 1, 2020
Cited By (1)
US 12,432,168