IP Library Granted Patent US 10,635,564
Granted Patent B1
US 10,635,564 · App. 15/859,643 · Granted Apr 28, 2020

System and method for evaluating application performance

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,635,564
App. No.
15/859,643
Granted
Apr 28, 2020
Kind
B1
Abstract

A computer readable medium storing a computer program for providing a method for evaluating the performance of a software application, the computer program executable by at least one or the one or more processors. The computer program comprising a set of instructions for receiving an indication of the initiation of a workflow transaction in an Application, determining whether the workflow transaction is to be marked as a traceable transaction based on a Measurement Marker Algorithm, tracking the performance of operations executed for the workflow transaction, and storing raw Call Metrics based on the tracked performance in an Intermediate memory.

Claims (42)

1. A method providing a technical solution to the technical problem of evaluating the performance of a software application without affecting overall system performance, the method comprising:

(a) continuously receiving, at a call selector software component, software calls within a computer system each representing an indication of the initiation of a software workflow transaction having a unique transaction ID, and, for each respective received software call, utilizing a measurement marker algorithm comprising

(i) comparing, for the respective software call, a first byte of its unique transaction ID to a threshold value calculated based on a predefined selection criteria percentage,

(ii) determining, for the respective software call, whether the respective software call is to be marked as a traceable transaction based on the result of the comparison, and

(A) if it is determined that the respective software call is to be marked as a traceable transaction, marking the respective software call as traceable, or if it is determined that the respective software call is not to be marked as a traceable transaction, not marking the respective software call as traceable, and

(iii) forwarding the respective software call to a call processing software component,

(iv) wherein

(A) a first set of the received software calls are marked as traceable,

(B) a second set of the received software calls are not marked as traceable, and

(C) a ratio of a number of software calls in the first set to a number of software calls in the first and second sets corresponds to the predefined selection criteria percentage; and

(b) receiving, at the call processing software component, the forwarded software calls, including the first set of received software calls and the second set of received software calls, and, for each respective forwarded software call,

(i) determining, for the respective software call, whether the respective software call is marked as traceable, and

(ii) effecting execution of one or more respective operations to execute the respective software call, and

(A) if it was determined that the respective software call is marked as traceable, tracking the performance of the one or more respective operations executed for the respective forwarded software call representing an indication of the initiation of a software workflow transaction and storing call metrics based on the tracked performance of the one or more respective operations in an intermediate memory, or if it was not determined that the respective software call is marked as traceable, not tracking the performance of the one or more respective operations.

2. The method of claim 1 , wherein the method further comprises periodically truncating the call metrics stored in the intermediate memory.

3. The method of claim 2 , wherein the method further comprises aggregating the truncated call metrics for predefined intervals.

4. The method of claim 3 , wherein the method further comprises storing the aggregated call metrics in a permanent memory.

5. The method of claim 3 , wherein aggregating the call metrics is executed on a predefined schedule.

6. The method of claim 5 , wherein the predefined schedule comprises pre-defined intervals defined in minutes.

7. The method of claim 5 , wherein the predefined schedule comprises pre-defined intervals defined in hours.

8. The method of claim 5 , wherein the predefined schedule comprises pre-defined intervals defined in days.

9. A method providing a technical solution to the technical problem of evaluating the performance of a software application without affecting overall system performance, the method comprising:

(a) continuously receiving, at a call selector software component, software calls within a computer system each representing an indication of the initiation of a software workflow transaction having a unique transaction ID, and, for each respective received software call, utilizing a measurement marker algorithm comprising

(i) calculating a respective modulo value for the respective software call by performing a modulo operation dividing the unique transaction ID by a value determined based on a predefined selection criteria percentage, and

(ii) determining, for the respective software call based on the respective modulo value, whether the respective software call is to be marked as a traceable transaction, and

(A) if it is determined that the respective software call is to be marked as a traceable transaction, marking the respective software call as traceable, or if it is determined that the respective software call is not to be marked as a traceable transaction, not marking the respective software call as traceable, and

(iii) forwarding the respective software call to a call processing software component,

(iv) wherein

(A) a first set of the received software calls are marked as traceable,

(B) a second set of the received software calls are not marked as traceable, and

(C) a ratio of a number of software calls in the first set to a number of software calls in the first and second sets corresponds to the predefined selection criteria percentage; and

(b) receiving, at the call processing software component, the forwarded software calls, including the first set of received software calls and the second set of received software calls, and, for each respective forwarded software call,

(i) determining, for the respective software call, whether the respective software call is marked as traceable, and

(ii) effecting execution of one or more respective operations to execute the respective software call, and

(A) if it was determined that the respective software call is marked as traceable, tracking the performance of the one or more respective operations executed for the respective forwarded software call representing an indication of the initiation of a software workflow transaction and storing call metrics based on the tracked performance of the one or more respective operations in an intermediate memory, or if it was not determined that the respective software call is marked as traceable, not tracking the performance of the one or more respective operations.

10. The method of claim 9 , wherein the method further comprises periodically truncating the call metrics stored in the intermediate memory.

11. The method of claim 10 , wherein the method further comprises aggregating the truncated call metrics for predefined intervals.

12. The method of claim 11 , wherein the method further comprises storing the aggregated call metrics in a permanent memory.

13. The method of claim 11 , wherein aggregating the call metrics is executed on a predefined schedule.

14. The method of claim 13 , wherein the predefined schedule comprises pre-defined intervals defined in minutes.

15. The method of claim 13 , wherein the predefined schedule comprises pre-defined intervals defined in hours.

16. The method of claim 13 , wherein the predefined schedule comprises pre-defined intervals defined in days.

Assignments (5)
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded May 16, 2022
From: ALLSCRIPTS SOFTWARE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 060073/0613 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2019
From: MAKARSKYY, STANISLAV
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 049509/0053 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2019
From: PLUNKETT, MARK GREGORY
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 049509/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2019
From: CHMIL, IGOR
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 049509/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2019
From: SMITH, STEPHEN E.
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 049509/0065 →