Adaptive shared computing infrastructure for application server-based deployments
First Claim
1. A system for provisioning a shared computing infrastructure that supports a plurality of software applications and a plurality of types of software application servers, each type of software applications server creating a run-time environment for executing at least one of the plurality of software applications on a grid of computing resources, the system comprising:
- at least one grid node, each grid node comprising at least one host computer;
a first type of software application server and a second type of software application server, wherein the first and second types of software application servers are software programs and are of different types;
two or more computing engines each assigned to execute an instance of one of the plurality of software applications in a run-time environment created by one of the plurality of types of software application servers on the at least one host computer of the at least one grid node;
two or more clients each accessing one of the two or more computing engines to execute the software application assigned to the one computing engine;
and a broker including;
an optimization module for periodically determining an optimal allocation of the plurality of software applications and software application servers among the two or more computing engines;
and a configuration manager, responsive to the determinations by the optimization module, for instructing one of the two or more computing engines to reconfigure its run-time environment, the configuration manager instructions causing a given computing engine to reconfigure by halting a current instance of a software application of a first type executing in a run-time environment created by the software application server of the first type, and by loading and starting an instance of a software application of a second type within a run-time environment created by the software application server of the second type on said given computing engine,wherein the halting is to reallocate resources based on the optimal allocation among the two or more computing engines.
16 Assignments
0 Petitions
Accused Products
Abstract
An adaptive system for dynamically provisioning a shared computing infrastructure among a plurality of software applications and a plurality of types of software application servers providing run-time environments for the software applications. The system includes computing engines assigned to execute instances of the software applications, clients accessing the computing engines to request and receive services from the software applications, and a broker device that dynamically allocates engines domains for executing the software applications. The broker device includes an optimization module for allocating the computing engines to the domains, and a configuration manager for configuring the engines. The configuration manager reconfigures a computing engine by halting a current instance of a first software application, and by loading and starting an instance of a second software application. The system is capable of reconfiguring software applications running in environments provided by different types of software application servers.
26 Citations
18 Claims
-
1. A system for provisioning a shared computing infrastructure that supports a plurality of software applications and a plurality of types of software application servers, each type of software applications server creating a run-time environment for executing at least one of the plurality of software applications on a grid of computing resources, the system comprising:
-
at least one grid node, each grid node comprising at least one host computer; a first type of software application server and a second type of software application server, wherein the first and second types of software application servers are software programs and are of different types; two or more computing engines each assigned to execute an instance of one of the plurality of software applications in a run-time environment created by one of the plurality of types of software application servers on the at least one host computer of the at least one grid node; two or more clients each accessing one of the two or more computing engines to execute the software application assigned to the one computing engine; and a broker including; an optimization module for periodically determining an optimal allocation of the plurality of software applications and software application servers among the two or more computing engines; and a configuration manager, responsive to the determinations by the optimization module, for instructing one of the two or more computing engines to reconfigure its run-time environment, the configuration manager instructions causing a given computing engine to reconfigure by halting a current instance of a software application of a first type executing in a run-time environment created by the software application server of the first type, and by loading and starting an instance of a software application of a second type within a run-time environment created by the software application server of the second type on said given computing engine, wherein the halting is to reallocate resources based on the optimal allocation among the two or more computing engines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 17)
-
-
9. A method for provisioning a shared computing infrastructure that supports a plurality of software applications and a plurality of types of software application servers among two or more clients, each type of software application server creating a run-time environment for executing at least one of the plurality of software applications on a grid of computing resources, the method comprising the steps of:
-
providing a broker having a CPU and at least one grid node comprising at least one host computer having a CPU and a first type of software application server and a second type of software application server, each of the first and second types of software application servers are software programs and are of different types; using the broker, assigning a each of two or more computing engines to execute an instance of one of the plurality of software applications in a run-time environment created by one of the plurality of types of software application servers on the at least one host computer of the at least one grid node, where the two or more clients each access one of the two or more computing engines to execute the software application assigned to the respective computing engine; and periodically determining an optimal allocation of the plurality of software applications and software application servers among the two or more computing engines using an optimization module included in the broker; using a configuration manager included in the broker, instructing one of the two or more computing engines to reconfigure its run-time environment in response to the determinations by the optimization module, the instructing step causing a given computing engine to reconfigure by halting a current instance of a software application of a first type executing in a run-time environment created by the software application server of the first type, and by loading and starting an instance of a software application of a second type within a run-time environment created by the software application server of the second type on said given computing engine wherein the halting is to reallocate resources based on an optimal allocation among the two or more computing engines. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 18)
-
Specification