IP Library Granted Patent US 7,386,613
Granted Patent B2
US 7,386,613 · App. 10/750,009 · Granted Jun 10, 2008

System and method for measuring middleware response time

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 7,386,613
App. No.
10/750,009
Granted
Jun 10, 2008
Kind
B2
Abstract

System and method for monitoring middleware performance is described herein. A route time for a sample message transmitted along a predetermined network route is determined and at least one queue residency time is determined. The at least one queue residency time reflects an amount of time an actual application message is stored in at least one respective local production queue located along the network route. Middleware response time is calculated according to the route time and the at least one queue residency time.

Claims (75)

1. A method for monitoring middleware performance, the method comprising:

using one or more remote queue definitions to create a predetermined network route;

determining a route time for a message transmitted along the predetermined network route;

determining at least one queue residency time, the at least one queue residency time reflecting an amount of time at least one other message is stored in at least one respective queue located along the predetermined network route; and

calculating a middleware response time according to the route time and the at least one queue residency time.

2. The method as set forth in claim 1 , wherein

determining the route time includes determining an amount of time for the message to travel from a source node along the predetermined network route to a destination node and then back to the source node.

3. The method as set forth in claim 2 , wherein

determining the route time includes

determining an origination timestamp indicating when the message was sent from the source node,

storing the origination timestamp in a field of the message,

determining an end timestamp indicating when the source node receives the message from the destination node, storing the end timestamp in another field of the message, and

calculating the route time by determining the difference between the origination timestamp and the end timestamp.

4. A method for monitoring middleware performance, the method comprising:

determining a route time for a message transmitted along a predetermined network route;

determining at least one queue residency time, the at least one queue residency time reflecting an amount of time at least one other message is stored in at least one respective queue located along the predetermined network route; and

calculating a middleware response time according to the route time and the at least one queue residency time wherein determining the at least one queue residency time includes;

sampling a plurality of application messages,

determining an identification for the sampled message, the identification being stored in a field of the sampled message,

storing the identification of the sampled message,

determining a put timestamp for the sampled message, the put timestamp indicating when the sampled message was placed on a local production queue,

comparing identifications associated with messages retrieved from the local production queue with the identification of the sampled message,

determining a get timestamp for the sampled message, if a match is determined, the get timestamp indicating when the sampled message was retrieved from the local production queue, and

calculating a queue residency time by determining the difference between the put timestamp and the get timestamp.

5. The method as set forth in claim 1 , wherein calculating the middleware response time includes

adding the route time and the at least one queue residency time.

6. The method as set forth in claim 1 , wherein the message is a user-defined sample message replicating an actual application message.

7. The method as set forth in claim 6 , wherein the user-defined sample message is a plurality of messages batched together, the plurality of messages having the same or varying sizes.

8. A method for monitoring middleware performance, the method comprising:

using one or more remote queue definitions to create a predetermined network route;

determining a route time for a message transmitted along the predetermined network route, the route time reflecting an amount of time for the sample message to travel from an origination queue manager to a destination queue manager and then back along the same route to the origination queue manager;

determining at least one queue residency time for at least one local production queue, the at least one local production queue being associated with the origination queue manager and/or the destination queue manager and the at least one queue residency time reflecting the amount of time an actual application message is stored in the at least one local production queue; and

calculating a middleware response time by adding the route time to the at least one queue residency time.

9. A system for monitoring middleware performance, the system comprising:

a computer system adapted to generate a sample message and an application message; and

a computer memory electrically connected to the computer system encoded with instructions for performing the following:

using one or more remote queue definitions to create a predetermined network route:

determining a route time for a message transmitted along a the predetermined network route;

determining at least one queue residency time, the at least one queue residency time reflecting an amount of time the application message is stored in at least one respective queue located along the predetermined network route; and

calculating a middleware response time according to the route time and the at least one queue residency time.

10. The method of claim 1 , wherein using one or more remote queue definitions to create a predetermined network route comprises using the one or more remote queue definitions to identify one or more nodes along the predetermined network route.

11. The method of claim 10 , wherein:

each node along the predetermined network route is associated with at least one of the one or more remote queue definitions; and

each of the one or more remote queue definitions identifies a next node along the predetermined network route.

12. The method of claim 1 , further comprising:

subtracting from the route time, one or more intra-queue manager times associated with the at least one respective queue located along the predetermined network route.

13. The method of claim 1 , wherein the predetermined network route comprises one or more user-defined nodes.

14. The method of claim 1 , wherein the predetermined network route comprises a predetermined network route between a first node and a second node.

15. The method of claim 3 , wherein:

the message comprises a sample message;

the source node comprises a first transmission queue;

the destination node comprises a second transmission queue;

determining at least one queue residency time comprises:

sampling a first plurality of application messages stored on a first local production queue;

sampling a second plurality of application messages stored on a second local production queue; and wherein:

the first transmission queue and the second transmission queue are respectively associated with the first local production queue and the second local production queue.

16. The method of claim 1 , further comprising:

creating an alert respectively associated with the at least one respective queue, the alert defined by one or more queue statistics of the at least one respective queue; and

triggering the alert if the one or more queue statistics violate a user-defined condition.

17. The system of claim 9 , wherein using one or more remote queue definitions to create a predetermined network route comprises using the one or more remote queue definitions to identify one or more nodes along the predetermined network route.

18. The system of claim 17 , wherein:

each node along the predetermined network route is associated with at least one of the one or more remote queue definitions; and

each of the one or more remote queue definitions identifies a next node along the predetermined network route.

19. The system of claim 9 , wherein determining the route time includes determining an amount of time for the message to travel from a source node along the predetermined network route to a destination node and then back to the source node.

20. The system of claim 9 , wherein the predetermined network route comprises one or more user-defined nodes.

21. The system of claim 9 , wherein the predetermined network route comprises a predetermined network route between a first node and a second node; and further comprising a user interface operable to develop the predetermined network route.

22. The system of claim 9 , wherein calculating the middleware response time includes adding the route time and the at least one queue residency time.

23. The system of claim 9 , wherein determining the at least one queue residency time includes:

sampling a plurality of application messages,

determining an identification for the sampled message, the identification being stored in a field of the sampled message,

storing the identification of the sampled message,

determining a put timestamp for the sampled message, the put timestamp indicating when the sampled message was placed on a local production queue,

comparing identifications associated with messages retrieved from the local production queue with the identification of the sampled message,

determining a get timestamp for the sampled message, if a match is determined, the get timestamp indicating when the sampled message was retrieved from the local production queue, and

calculating a queue residency time by determining the difference between the put timestamp and the get timestamp.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NO. 16/990,698 PREVIOUSLY RECORDED ON REEL 058294 FRAME 0010. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 21, 2022
From: TRU OPTIK DATA CORP.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR DATA SERVICES, INC.; TRUSTID, INC.; NEUSTAR, INC.; NEUSTAR IP INTELLIGENCE, INC.; MARKETSHARE PARTNERS, LLC; SONTIQ, INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH
Reel/Frame 059846/0157 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Dec 1, 2021
From: TRU OPTIK DATA CORP.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR DATA SERVICES, INC.; TRUSTID, INC.; NEUSTAR, INC.; NEUSTAR IP INTELLIGENCE, INC.; MARKETSHARE PARTNERS, LLC; SONTIQ, INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH
Reel/Frame 058294/0010 →
GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Dec 1, 2021
From: EBUREAU, LLC; IOVATION, INC.; SIGNAL DIGITAL, INC.; TRANS UNION LLC; TRANSUNION HEALTHCARE, INC.; TRANSUNION INTERACTIVE, INC.; TRANSUNION RENTAL SCREENING SOLUTIONS, INC.; TRANSUNION TELEDATA LLC; AGGREGATE KNOWLEDGE, LLC; TRU OPTIK DATA CORP.; NEUSTAR INFORMATION SERVICES, INC.; TRUSTID, INC.; NEUSTAR, INC.; NEUSTAR IP INTELLIGENCE, INC.; MARKETSHARE PARTNERS, LLC; SONTIQ, INC.
To: JPMORGAN CHASE BANK, N.A
Reel/Frame 058294/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2004
From: PICCIRILLI, ANTHONY; LOESCH, KEVIN; RYAN, THOMAS
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 015097/0183 →