← Back to Patent Explorer
US6792460B2 Expired / Lapsed US ⏱️ 0.0 years remaining

System and methods for monitoring application server performance

Assignee: Micro Focus LLC
•
Filing: 2003-01-20
•
Granted: 2004-09-14
•
Expires: 2023-01-20
📄 Original PDF 🌐 Google Patents

Abstract

Abstract A monitoring system monitors the amount of time spent by specific application components, such as Java components, during execution of specific web site transactions. A probe that runs on an application server initially instruments these components (preferably at component load time) to add code for tracking execution start and stop times. When a monitored transaction is executed by the application server, the probe measures the execution times of the invoked components-preferably at the component method level. The resulting measurement data is reported to a reports server, and is used to provide transaction-specific breakdowns of the amount of time spent by each instrumented component, and optionally each instrumented method within such components. In one embodiment, the probe only monitors transactions initiated by agent-generated transaction request messages that are marked or "colored" for monitoring, and thus ignores transactions initiated by actual users.

Inventors

  • 👤 Yossi Oulu
  • 👤 Pinhas Mogilevsky
  • 👤 Ido Sarig

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 11:29
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466; G06F11/3495; H; H04; H04L; H04L67/00; H04L67/34; H04L67/50; H04L67/535; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329; G06F2201/00; G06F2201/865

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 108 words
A method of monitoring execution of a transaction that invokes a plurality of application components of an application that runs on an application server, the method comprising: instrumenting code of each of the plurality of application components to permit execution of each application component to be monitored on the application server; in response to execution of the instrumented code within a thread, determining whether the thread is part of the transaction; and when the thread is part of the transaction, tracing execution of the thread through each of the plurality of application components to measure an amount of time spent by each such application component on the transaction.
Claim 2
Independent Claim 108 words
A method of monitoring execution of a transaction that invokes a plurality of application components of an application that runs on an application server, the method comprising: instrumenting code of each of the plurality of application components to permit execution of each application component to be monitored on the application server; in response to execution of the instrumented code within a thread, determining whether the thread is part of the transaction; and when the thread is part of the transaction, tracing execution of the thread through each of the plurality of application components to measure an amount of time spent by each such application component on the transaction.
Claim 3
Dependent Claim 34 words
The method of claim 1 , wherein tracing execution of the thread through each of the plurality of application components comprises recording execution start and stop times of specific methods of the application components.
Claim 4
Dependent Claim 26 words
The method of claim 1 , wherein determining whether the thread is part of the transaction comprises determining whether an associated transaction request message is colored.
Claim 5
Dependent Claim 14 words
The method of claim 1 , wherein the transaction is an actual user transaction.
Claim 6
Dependent Claim 51 words
The method of claim 1 , further comprising monitoring execution of the transaction from a location external to the application server to measure an end-user response time, whereby the method generates data sufficient to assess an impact each of the application components has on transaction performance as seen by end users.
Claim 7
Dependent Claim 13 words
The method of claim 1 , wherein the application components are J2EE components.
Claim 8
Dependent Claim 33 words
The method of claim 1 , wherein instrumenting the code of the plurality of application components comprises instrumenting each component as it is loaded into a memory of the application server for execution.
Claim 9
Dependent Claim 38 words
The method of claim 7 , wherein instrumenting the code of the plurality of application components further comprises using a patched version of a Java Virtual Machine class loader to access said code when application components are loaded.
Claim 10
Dependent Claim 12 words
A probe software component that embodies the method of claim 1 .
Claim 11
Dependent Claim 32 words
The method of claim 1 , further comprising, when the thread is not part of the transaction, refraining from tracing execution of the thread through each of the plurality of application components.
Claim 12
Dependent Claim 42 words
The method of claim 1 , wherein the plurality of components is a subset of a complete set of application components invoked by the transaction, said subset being dependent upon configuration data that specifies which components are to be instrumented for monitoring.
Claim 13
Independent Claim 101 words
A system for selectively monitoring application components on an application server, the system comprising: an instrumentation component that instruments code of application components to permit execution thereof by the application server to be monitored; a virtual machine that executes the application components on the application server; wherein the virtual machine is configured to pass the application components to the instrumentation component for instrumentation prior to execution thereof by the virtual machine, and wherein the instrumentation component selectively instruments the application components received from the virtual machine based on configuration data that specifies which application components are to be instrumented for monitoring.
Claim 14
Independent Claim 101 words
A system for selectively monitoring application components on an application server, the system comprising: an instrumentation component that instruments code of application components to permit execution thereof by the application server to be monitored; a virtual machine that executes the application components on the application server; wherein the virtual machine is configured to pass the application components to the instrumentation component for instrumentation prior to execution thereof by the virtual machine, and wherein the instrumentation component selectively instruments the application components received from the virtual machine based on configuration data that specifies which application components are to be instrumented for monitoring.
Claim 15
Dependent Claim 23 words
The system of claim 12 , wherein the configuration data comprises heuristics for determining which application components are to be instrumented for monitoring.
Claim 16
Dependent Claim 27 words
The system of claim 12 , further comprising a monitoring component that records execution start and stop times of instrumented application components executed by the virtual machine.
Claim 17
Dependent Claim 34 words
The system of claim 14 , wherein the monitoring component records said start and stop times in association with specific user transactions to which they correspond, to thereby collect transaction-specific application server performance data.
Claim 18
Dependent Claim 36 words
The system of claim 12 , wherein the virtual machine comprises a patched class loader class that is configured to pass code of an application component to the instrumentation component when said application component is loaded.
Claim 19
Dependent Claim 21 words
The method of claim 12 , wherein the configuration data indirectly specifies which application components are to be instrumented for monitoring.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-09-14 2008-03-15 2008-09-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-09-14 2012-03-15 2012-09-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-09-14 2016-03-15 2016-09-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag