System and method for allocating server resources
First Claim
Patent Images
1. A web server system, comprising:
- a server computer having installed thereon a web server and a plurality of applications that interoperate with the web server to service requests from web browsers;
a plurality of templates, each template being associated with one or more of the applications, and specifying resource usage restrictions for the execution of such applications, such that different resource usage restrictions are placed on different applications;
an application framework that runs on the server computer in association with the web server and enforces the resource usage restrictions specified by the templates; and
an application management interface that provides functionality for an administrator to edit the plurality of templates, and to create new templates, to control execution of the plurality of applications on the server computer.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for allowing web-based applications to run in a controlled environment. In particular, a method allocates server resources among applications running in a sandbox environment on a web server. Applications which attempt to exceed limits specified in templates associated with the application may be denied access to a resource.
414 Citations
47 Claims
-
1. A web server system, comprising:
-
a server computer having installed thereon a web server and a plurality of applications that interoperate with the web server to service requests from web browsers;
a plurality of templates, each template being associated with one or more of the applications, and specifying resource usage restrictions for the execution of such applications, such that different resource usage restrictions are placed on different applications;
an application framework that runs on the server computer in association with the web server and enforces the resource usage restrictions specified by the templates; and
an application management interface that provides functionality for an administrator to edit the plurality of templates, and to create new templates, to control execution of the plurality of applications on the server computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14)
-
-
11. A method for allocating resources in a server computer comprising:
-
receiving a web server request from a client for dynamic content, wherein the web server request comprises a URL;
identifying an application for generating the dynamic content, wherein the application is identified based, at least in part, on the URL;
identifying a template for the application, wherein the template associates at least one resource with a limit; and
executing the application in a virtual machine configured to allow resource accessing function calls to be intercepted;
intercepting resource accessing function calls;
granting access to the resource if the limit is not exceeded; and
tracking resource usage.
-
-
15. A method for allocating resources in a server computer comprising:
-
receiving a request from a client;
identifying an application based, at least in part, on the request;
identifying at least one association of a resource with a limit specific to the application; and
executing the application in a virtual machine configured to limit access to the resource as specified by the limit. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A method for selecting a substitute resource template for an application, comprising:
-
identifying a template defining a limit on at least one resource in a first server associated with an application;
comparing the associated template to a set of available templates provided for a second server; and
selecting the available template that is a closest match to the associated template. - View Dependent Claims (42, 43)
-
-
44. A system for allocating resources in a server computer comprising:
-
a virtual machine module configured to execute a computer application associated with a server request;
an application definitions module configured to identify a mapping of at least one resource template with the application;
a parameter template module configured to identify a template associated with the application, wherein the template associates at least one resource with a limit;
a framework module configured to intercept function calls of the application that are associated with the resource and to limit access to the resource as specified by the limit of the template. - View Dependent Claims (45)
-
-
46. A system for allocating resources for processing of a client request to a server computer, comprising:
-
means for identifying an application based, at least in part, on the request;
means for identifying at least one association of a resource with a limit for the application;
means for executing the application; and
means for limiting access to the resource as specified by the limit.
-
-
47. A method for allocating resources in a server computer comprising:
-
receiving a signal to activate an application;
identifying an application based, at least in part, on the signal;
identifying at least one association of a resource with a limit specific to the application; and
executing the application in a virtual machine configured to limit access to the resource as specified by the limit.
-
Specification