Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
First Claim
1. A system for managing a plurality of applications in a shared computing environment, each application comprising a plurality of application components, the system comprising:
- a) an application manager operable to receive or define a service specification for a first application that defines a set of required computing resources that are necessary to run each application component of the first application; and
b) a resource supply manager in communication with the application manager and operable to manage the supply of a plurality of computing resources in the shared computing environment;
wherein the application manager is operable to request the set of required computing resources from the computing resource supply manager, and wherein the resource supply manager determines the availability of the required computing resources within the shared computing environment according to resource allocation policies and provides allocated computing resources to the application manager, thereby allowing each application component of the first application to be run on the allocated computing resources.
6 Assignments
0 Petitions
Accused Products
Abstract
An application manager for enabling multiple applications to share resources in a shared and distributed computing environment. The disclosed system provides for the specification, representation and automatic analysis of resource requirements of applications in a shared and distributed computing environment. The application manager is provided with service specifications for each application, which defines the resource requirements necessary or preferred to run said application (or more precisely, its constituent application components). In addition, the resources may be required to have certain characteristics and constraints may be placed on the required resources. The application manager works in conjunction with a resource supply manager and requests the required resources be supplied for the application. If there are appropriate and sufficient available resources to meet the particular resource requirements, then the resources are allocated, and the application components mapped thereon. The disclosed system can enable the sharing of resources among multiple heterogeneous applications. The systems can allow resource sharing without application source code access or any knowledge of the internal design of the application. Integration of an application can be re-used for other similar applications. Furthermore, the disclosed system enables the dynamic and efficient management of shared resources, providing an agile resource infrastructure adaptive to dynamic changes and failures.
-
Citations
43 Claims
-
1. A system for managing a plurality of applications in a shared computing environment, each application comprising a plurality of application components, the system comprising:
-
a) an application manager operable to receive or define a service specification for a first application that defines a set of required computing resources that are necessary to run each application component of the first application; and b) a resource supply manager in communication with the application manager and operable to manage the supply of a plurality of computing resources in the shared computing environment; wherein the application manager is operable to request the set of required computing resources from the computing resource supply manager, and wherein the resource supply manager determines the availability of the required computing resources within the shared computing environment according to resource allocation policies and provides allocated computing resources to the application manager, thereby allowing each application component of the first application to be run on the allocated computing resources. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
- 11. An application manager for managing a plurality of applications in a shared computing environment, each application comprising a plurality of application components, the shared computing environment having a resource supply manager for managing the supply of computing resources in the shared computing environment, wherein the application manager is operable to receive or define a service specification for a first application that defines a set of required computing resources that are necessary to run each application component of the first application and wherein the application manager requests the set of required computing resources from the resource supply manager, and wherein the resource supply manager determines the availability of the required computing resources in accordance with resource allocation policies and provides allocated computing resources to the application manager, thereby allowing each application component of the first application to be run on the allocated computing resources.
-
20. A method for managing a plurality of applications in a shared computing environment having a share pool of computing resources, each application comprising a plurality of application components, the method comprising the steps of:
-
a) receiving at an application manager a service specification for a first application wherein the service specification defines a set of required computing resources that are necessary to run the first application; b) requesting the required computing resources through a resource supply manager, wherein the availability of the required computing resources within the shared computing environment is determined and allocated according to resource allocation policies, and each of the application components for the first application are mapped to a corresponding allocated computing resource where the required computing resources are determined to be available; c) preparing each corresponding allocated computing resource for running the respective application components of the first application; d) running the first application on the allocated computing resources by deploying each application component of the first application on the corresponding allocated computing resource; e) repeating steps a) to d) for each successive one of the plurality of applications. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method for managing a plurality of applications in a shared computing environment having a share pool of computing resources, each application comprising a plurality of application components, the method comprising the steps of:
-
a) receiving at an application manager a service specification for a first application wherein the service specification defines a set of required computing resources that are necessary to run the application components of the first application; b) for each respective application component of the first application, i) requesting a corresponding required computing resource through a resource supply manager, wherein the availability of the corresponding required computing resource within the shared computing environment is determined and allocated according to resource allocation policies; ii) where the corresponding required computing resource is determined to be available, mapping the application component of the first application to a corresponding allocated computing resource; iii) preparing the corresponding allocated computing resource for running the respective application component of the first application; and iv) deploying the respective application component of the first application on the corresponding allocated computing resource; and c) repeating steps a) to b) for each successive one of the plurality of applications. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
Specification