Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DYNAMIC POLICY DRIVEN APPLICATION PERFORMANCE MONITORING
Document Type and Number:
WIPO Patent Application WO/2017/194991
Kind Code:
A1
Abstract:
In this invention we do application performance monitoring without affecting the performance of the application itself. We take a dynamic policy driven approach here which in turn supports two kinds of models, Request-Response based Model and Task based Model. Instead of traditional application performance monitoring techniques where we enable the instrumentation or performance monitoring for the entire application code, here we do it for parts of application code(either in form of task or request-response cycle) dynamically, thereby reducing overhead and not affecting the application performance.

Inventors:
SHARMA PRATIK (IN)
Application Number:
PCT/IB2016/052650
Publication Date:
November 16, 2017
Filing Date:
May 10, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SHARMA PRATIK (IN)
International Classes:
G06F11/34; G06F9/44; G06F11/36; G06F17/30
Domestic Patent References:
WO2014204996A12014-12-24
Download PDF:
Claims:
CLAIM

1. In this invention we apply novel dynamic technique to do application performance monitoring without affecting the performance of the application itself. We take a dynamic policy driven approach here which in turn supports two kinds of models, Request- Response based Model and Task based Model. Instead of traditional application performance monitoring techniques where we enable the instrumentation or performance monitoring for the entire application code, here we do it for parts of application code(either in form of task or request-response cycle) dynamically with the help of flag variables/configuration parameters for the respective tasks or request-response cycles, thereby reducing overhead and not affecting the application performance. The above technique is unique and solves the industry's problem of not affecting the application performance itself when measuring its performance.

AMENDED CLAI MS

received by the International Bureau on 21 September 2016 (21.09.16)

1. In this invention we provide a novel technique to do application performance monitoring without affecting the performance of the application itself. We take a dynamic policy driven approach here which in turn supports two kinds of models. One of the models or the novel features of this invention is Request-Response based model. In this model we dynamically enable the instrumentation in part of the application code generating a request and waiting for a response or generating a response on a request depending on the policy configured for performance

monitoring for that part of the application code. Application code in this case will be instrumented for the request-response cycle consisting of different kinds of program instructions. Also in cases where an outer request-response cycle leads to another inner request-response cycle or a single request and response activity then here we have the ability to cascade the output of performance monitoring of the inner request- response cycle or request and response activity to the output of performance monitoring of the outer request-response cycle. But here parts of application code for each request-response cycle is enabled separately and dynamically for performance monitoring.

2. As mentioned above that we take a dynamic policy driven approach here which in turn supports two kinds of models with one of the models(Request-Response based model) explained above, the other model or novel feature in this invention is Task based model. In this model we dynamically enable the instrumentation for that part of the application code which consists of a specific task for which the dynamic policy is configured for performance monitoring. Tasks here can be any set of instructions carried out by the application.Also here we think of an application as entity which performs a set of tasks and we fine tune the application performance monitoring dynamically to task level rather than enabling it for the entire application. Application code for specific tasks consisting of different kinds of program instructions in this case will be instrumented for which the dynamic policy is configured or enabled for application performance monitoring. Again here we have the ability to cascade the output of performance monitoring of inner request- response cycle/activity or inner task to the output of the performance monitoring of the outer request-response cycle or outer task. Also parts of application code for each request-response cycle and task is enabled separately and dynamically for performance monitoring.

3. In both the cases( equest- esponse based Model and Task based Model) flag variables can be used to determine whether the policy is set for a specific task and also for the case to determine if the policy is set for a specific request-response cycle part of application code is one of the novel features of this invention. Corresponding to these flag variables will be configuration parameters for dynamic policies for different kinds of request-response cycles and tasks for an application whose performance for different parts of code is getting monitored.

4. Other novel feature of this invention is that instrumentation of code can be done for different program instructions with ability to log or report different timestamp based events like loading of a class, loading of a library, loading of client binary for storage access, memory allocation/deallocation, etc.

5. Also setting or resetting of different policies for specific tasks or specific request- response cycles for different parts of the application code as part of application performance monitoring configuration is dynamic in nature and not static is one of the novel features of this invention.

6. Other novel feature of this invention is that in the scenario where there is an error condition or when the application is under extreme load or a virus causing a security issue on the system where the application is running, this fine grained application performance monitoring technique using dynamic policy driven approach supporting Request-Response based Model and Task based Model can be used to immediately detect anomalies in the behaviour of the application. Since performance monitoring is fine grained to specific request-response cycles or specific tasks in application code, application performance is not affected and it becomes easier to narrow down on the bottlenecks causing degradation in application performance.

Description:
DYNAMIC POLICY DRIVEN APPLICATION PERFORMANCE MONITORING

DESCRIPTION

In this invention we provide a novel technique to do application performance monitoring without affecting the performance of the application itself. We take a dynamic policy driven approach here which in turn supports two kinds of models :-

1. Request-Response based Model: - Here we dynamically enable the instrumentation in part of the application code generating a request and waiting for a response or generating a response on a request depending on the policy configured for performance monitoring for that part of the application code. Application code in this case will be instrumented for the request-response cycle consisting of different kinds of program instructions.

Also in cases where an outer request-response cycle leads to another inner request-response cycle or a single request and response activity then here we have the ability to cascade the output of performance monitoring of the inner request-response cycle or request and response activity to the output of performance monitoring of the outer request-response cycle. But here parts of application code for each request-response cycle is enabled separately and dynamically for performance monitoring.

2. Task based Model: - Here we dynamically enable the instrumentation for that part of the application code which consists of a specific task for which the dynamic policy is configured for performance monitoring. Tasks here can be any set of instructions carried out by the application. Also here we think of an application as entity which performs a set of tasks and we fine tune the application performance monitoring dynamically to task level rather than enabling it for the entire application. Application code for specific tasks consisting of different kinds of program instructions in this case will be instrumented for which the dynamic policy is configured or enabled for application performance monitoring.

Again here we have the ability to cascade the output of performance monitoring of inner request- response cycle/activity or inner task to the output of the performance monitoring of the outer request-response cycle or outer task. Also parts of application code for each request-response cycle and task is enabled separately and dynamically for performance monitoring.

In both the cases(Request— Response based Model and Task based Model) flag variables can be used to determine whether the policy is set for a specific task and also for the case to determine if the policy is set for a specific request-response cycle part of application code. Corresponding to these flag variables will be configuration parameters for dynamic policies for different kinds of request-response cycles and tasks for an application whose performance for different parts of code is getting monitored.

Instrumentation of code can be done for different program instructions with ability to log or report different timestamp based events like loading of a class, loading of a library, loading of client binary for storage access, memory allocation/deallocation, etc.

Major advantages of this invention are in the scenarios where there is an error condition or when the application is under extreme load or a virus causing a security issue on the system where the application is running, this fine grained application performance monitoring technique can be used to immediately detect anomalies in the behaviour of the application. Since performance monitoring is fine grained to specific request-response cycles or specific tasks in application code, application performance is not affected and it becomes easier to narrow down on the bottlenecks causing degradation in application performance.

Also setting or resetting of different policies for specific tasks or specific request-response cycles for different parts of the application code as part of application performance monitoring configuration is dynamic in nature and not static.