Satisfying application dependencies
First Claim
Patent Images
1. A computer-implemented method, comprising:
- receiving a request to deploy or execute an application at a client device;
determining whether each of one or more dependencies requisite for deploying or executing the application is present at the client device;
upon determining that each of the one or more dependencies requisite for deploying or executing the application is not present, configuring the client device such that the dependencies are present and deploying or executing the application at the client device;
based on deploying or executing the application at the client device, intercepting an application programming interface (API) call from the application, the API call requesting access to a resource;
selecting a copy of the resource associated with the API call;
protecting a new location with an access control list (ACL) associated with the resource; and
redirecting the API call to the resource stored at the new location.
2 Assignments
0 Petitions
Accused Products
Abstract
The dependencies of an application are identified by intercepting application programming interface calls made by an application. A determination is then made at the runtime of the application as to whether the dependencies of the application are present. If the dependencies are not present, a client device upon which the application is executing is configured such that the dependencies are present and are made available only to the authorized application. If the dependencies are present and the application is authorized to interact with the dependencies, the application is permitted to execute.
63 Citations
21 Claims
-
1. A computer-implemented method, comprising:
-
receiving a request to deploy or execute an application at a client device; determining whether each of one or more dependencies requisite for deploying or executing the application is present at the client device; upon determining that each of the one or more dependencies requisite for deploying or executing the application is not present, configuring the client device such that the dependencies are present and deploying or executing the application at the client device; based on deploying or executing the application at the client device, intercepting an application programming interface (API) call from the application, the API call requesting access to a resource; selecting a copy of the resource associated with the API call; protecting a new location with an access control list (ACL) associated with the resource; and redirecting the API call to the resource stored at the new location. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable hardware storage device having computer executable instructions stored thereupon which, when executed by a computer, cause the computer to:
-
receive a request to deploy or execute a virtualized application at a client device; based on a determination that each of one or more dependencies required to deploy or execute the virtualized application is not present, configure the client device such that the dependencies are present and, in response to configuring the client device, deploy or execute the virtualized application at the client device; upon deploying or executing the virtualized application at the client device, protecting a new location with an access control list (ACL) associated with a resource intercept intercepted from an application programming interface (API) call from the virtualized application. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
a processor; and a computer-readable hardware storage medium in communication with the processor, the computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the processor, cause the processor to; install and execute a virtualized application on a monitoring station; monitor changes made to the monitoring station during the installation and execution of the virtualized application, including intercepting application programming interface (API) calls, to identify from the intercepted API calls one or more dependencies of the virtualized application that are requisite for deploying or executing the virtualized application; store data identifying the dependencies in a dependency analysis database; receive a request to deploy or execute a virtualized application at a client device; in response to the request, determine whether each of the one or more dependencies is present at the client device including querying the data within the dependency analysis database to determine the one or more dependencies that need to be present at a runtime of the application; upon determining that each of the one or more dependencies are not present at the client device, configure the client device such that each of the one or more dependencies is present; and upon determining that each of the one or more dependencies requisite for deploying or executing the virtualized application is present, deploy or execute the virtualized application at the client device. - View Dependent Claims (17)
-
-
18. A computer-readable hardware storage device having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:
-
install and execute a virtualized application on a monitoring station at a client device; monitor changes made to the monitoring station during the installation and execution of the virtualized application to identify one or more dependencies of the virtualized application that are requisite for deploying or executing the virtualized application, wherein monitoring of the changes includes intercepting and inspected application programming interface (API) calls made by the application during execution; store data identifying the dependencies in a dependency analysis database; determine whether each of the one or more dependencies is added or configured during the installation and execution of the application including performing either or both of (i) querying a registry provided by an operating system or (ii) querying an internal mapping table that matches API calls to dependencies; receive a request to deploy or execute a virtualized application at the client device; in response to the request, determine whether each of the one or more dependencies is present at the client device using the data; upon determining that each of the one or more dependencies are not present at the client device, configure the client device such that each of the one or more dependencies is present. - View Dependent Claims (19, 20, 21)
-
Specification