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 processor and:
- 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 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 allocates computing resources to the application manager, and wherein the application manager is operable manage allocation of the computing resources to the first application, the application manager operable to create and manage deployment of instances of each application component of the first application on the allocated computing resources; and
wherein the service specification defines an acceptable range for the number of instances for at least one of the plurality of application components.
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
39 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 processor and:
-
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 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 allocates computing resources to the application manager, and wherein the application manager is operable manage allocation of the computing resources to the first application, the application manager operable to create and manage deployment of instances of each application component of the first application on the allocated computing resources; and
wherein the service specification defines an acceptable range for the number of instances for at least one of the plurality of application components. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An application manager installed on one or more computing devices, the one or more computing devices comprising a processor, the application manager operable to:
-
manage 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 a plurality of computing resources in the shared computing environment; 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, wherein the service specification defines an acceptable range for the number of instances for at least one of the plurality of application components; request the set of required computing resources from the resource supply manager, wherein the resource supply manager determines the availability of the required computing resources in accordance with resource allocation policies and allocates computing resources to the application manager; manage allocation of the computing resources to the first application; and create and manage deployment of instances of each application component of the first application on the allocated computing resources. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. 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, wherein the service specification defines an acceptable range for the number of instances for at least one of the plurality of application components; b) requesting by the application manager the required computing resources through a resource supply manager, the resource supply manager for managing a plurality of computing resources in the shared computing environment, wherein the availability of the required computing resources within the shared computing environment is determined and allocated by the resource supply manager to the application manager according to resource allocation policies, and each of the application components for the first application are mapped to a corresponding allocated computing resource by the application manager 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 and managing, by the application manager, instances of each application component of the first application on the corresponding allocated computing resource; and e) repeating steps a) to d) for each successive one of the plurality of applications. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. 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, wherein the service specification defines an acceptable range for the number of instances for at least one of the plurality of application components; b) for each respective application component of the first application, i) requesting by the application manager a corresponding required computing resource through a resource supply manager, the resource supply manager for managing a plurality of computing resources in the shared computing environment, wherein the availability of the corresponding required computing resource within the shared computing environment is determined and allocated by the resource supply manager to the application manager according to resource allocation policies; ii) where the corresponding required computing resource is determined to be available, mapping by the application manager 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 and managing by the application manager instances of 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 (30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification