Dynamically monitoring application behavior
First Claim
1. A computer-implemented method for monitoring behavior of an application executed in a shared hosting environment, the method comprising:
- receiving application behavior criteria that specifies behavior of an application of interest to an application host, wherein the shared hosting environment executes other applications at the same time as the application and wherein the application behavior criteria identifies application behavior that interferes with executing another application;
instrumenting an application execution environment to detect application behavior that meets the application behavior criteria, wherein instrumenting provides hooks that provide notifications about the application'"'"'s actions as the application executes;
executing an application in the shared hosting environment;
determining that the application has performed an action that satisfies the application behavior criteria; and
providing a notification that the application behavior has occurred, wherein the notification identifies the application, the application behavior criteria, and information regarding the action that satisfies the application behavior criteria.
2 Assignments
0 Petitions
Accused Products
Abstract
A dynamic verification system is described that enables application developers to safely include significant custom business logic in their applications. The dynamic verification system receives application behavior criteria that specify behavior of an application of interest to an application host. The system executes an application and instruments an application execution environment to detect application behavior that meets the application behavior criteria. The system determines when the application has performed an action that satisfies the application behavior criteria and provides a notification about the application behavior that occurred that a system administrator can use to take action against the application.
-
Citations
19 Claims
-
1. A computer-implemented method for monitoring behavior of an application executed in a shared hosting environment, the method comprising:
-
receiving application behavior criteria that specifies behavior of an application of interest to an application host, wherein the shared hosting environment executes other applications at the same time as the application and wherein the application behavior criteria identifies application behavior that interferes with executing another application; instrumenting an application execution environment to detect application behavior that meets the application behavior criteria, wherein instrumenting provides hooks that provide notifications about the application'"'"'s actions as the application executes; executing an application in the shared hosting environment; determining that the application has performed an action that satisfies the application behavior criteria; and providing a notification that the application behavior has occurred, wherein the notification identifies the application, the application behavior criteria, and information regarding the action that satisfies the application behavior criteria. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer system for dynamically verifying safety of an application for execution by a multi-tenant hosting provider, the system comprising:
-
a business logic store configured to store one or more applications for execution by the multi-tenant hosting provider; an execution engine configured to execute applications based on a domain-specific application model; and a dynamic checking component configured to perform dynamic verification checks of the application'"'"'s behavior while the application is executing, wherein the dynamic checking component instruments the application and wherein instrumenting provides hooks that provide notifications about the application'"'"'s actions as the application executes, wherein the execution engine executes other applications at the same time as the application and wherein the dynamic verification checks identify application behavior that interferes with executing another application. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A computer-readable storage device encoded with instructions for controlling a computer system to verify behavior of an application, by a method comprising:
-
receiving an application from an application developer for execution in a shared hosting environment; performing one or more static checks of the received application to determine whether the application includes negative behavior; storing the application in a data store for later execution; executing the application in the shared hosting environment; while the application is executing, performing one or more dynamic checks of the application to determine whether the application includes negative behavior at run-time, wherein the dynamic checks provide hooks that provide notifications about the application'"'"'s actions as the application executes, wherein the shared hosting environment executes other applications at the same time as the application and wherein the static and dynamic checks identify application behavior that interferes with executing another application. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification