Method and framework for generating an optimized deployment of software applications in a distributed computing environment using layered model descriptions of services and servers
First Claim
1. A computer-implemented method for identifying optimal allocations of computing resources in a data processing arrangement having a plurality of computing machines that host a plurality of application processes, comprising:
- establishing a plurality of server models, each server model including one or more server nodes, wherein each server node represents a set of hardware and has an associated set of hardware capacity attributes;
designating a layered relationship between the server models, wherein for a first server-model layer immediately above a second server-model layer, the second server-model layer includes respective models that represent the nodes in the first server-model layer;
establishing a plurality of service models, each service model including one or more service nodes, wherein each service node represents one or more software components and has an associated set of demand attributes and an associated set of capacity attributes;
designating a layered relationship between the service models, wherein for a first service-model layer immediately above a second service-model layer, the second service-model layer includes respective models that represent the nodes in the first server-model layer;
generating an optimized mapping of service nodes in a first user-selected service model in a first layer to service nodes in a second user-selected service model in a second layer as a function of the demand attributes of service nodes of the first service model and capacity attributes of service nodes the second service model, wherein the demand attribute of a service node in the first layer includes processing demand requirements of a number of tasks per unit time and the capacity attribute of a service node in the second layer includes processing capacity of a number of tasks per unit time of a process represented by the service node in the second layer; and
generating an optimized mapping of service nodes in a user-selected service model to server nodes in a user-selected server model as a function of the demand and capacity attributes.
3 Assignments
0 Petitions
Accused Products
Abstract
Method and framework for identifying optimal allocations of computing resources in a complex, distributed data processing environment. A plurality of server models are established, with each server model including one or more server nodes and each server node having an associated set of capacity attributes. Similarly, a plurality of service models are established, each service model including one or more service nodes and each service node having an associated set of demand attributes. The server models are defined with a layered relationship as are the service models. A node that is part of a model in one layer corresponds to a model in the next-lower layer. The invention generates optimized mappings of service nodes that are described in user-selected service models to server nodes that are described in user-selected server models, as a function of the associated sets of demand and capacity attributes.
-
Citations
13 Claims
-
1. A computer-implemented method for identifying optimal allocations of computing resources in a data processing arrangement having a plurality of computing machines that host a plurality of application processes, comprising:
-
establishing a plurality of server models, each server model including one or more server nodes, wherein each server node represents a set of hardware and has an associated set of hardware capacity attributes; designating a layered relationship between the server models, wherein for a first server-model layer immediately above a second server-model layer, the second server-model layer includes respective models that represent the nodes in the first server-model layer; establishing a plurality of service models, each service model including one or more service nodes, wherein each service node represents one or more software components and has an associated set of demand attributes and an associated set of capacity attributes; designating a layered relationship between the service models, wherein for a first service-model layer immediately above a second service-model layer, the second service-model layer includes respective models that represent the nodes in the first server-model layer; generating an optimized mapping of service nodes in a first user-selected service model in a first layer to service nodes in a second user-selected service model in a second layer as a function of the demand attributes of service nodes of the first service model and capacity attributes of service nodes the second service model, wherein the demand attribute of a service node in the first layer includes processing demand requirements of a number of tasks per unit time and the capacity attribute of a service node in the second layer includes processing capacity of a number of tasks per unit time of a process represented by the service node in the second layer; and generating an optimized mapping of service nodes in a user-selected service model to server nodes in a user-selected server model as a function of the demand and capacity attributes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for identifying optimal allocations of computing resources in a data processing arrangement having a plurality of computing machines that host a plurality of application processes, comprising:
-
a model repository including a plurality of server models and a plurality of service models, each server model including one or more server nodes and each server node representing a set of hardware and having an associated set of hardware capacity attributes, each service model including one or more service nodes and each service node representing one or more software components and having an associated set of demand attributes and an associated set of capacity attributes, wherein the server models are defined in a layered relationship and for a first server-model layer immediately above a second server-model layer, the second server-model layer includes respective models that represent the nodes in the first server-model layer, and the service models are defined in a layered relationship and for a first service-model layer immediately above a second service-model layer, the second service-model layer includes respective models that represent the nodes in the first service-model layer; and an optimization engine coupled to the model repository, the optimization engine configured to generate an optimized mapping of service nodes in a first user-selected service model in a first layer to service nodes in a second user-selected service model in a second layer as a function of the demand attributes of service nodes of the first service model and capacity attributes of service nodes the second service model, wherein the demand attribute of a service node in the first layer includes processing demand requirements of a number of tasks per unit time and the capacity attribute of a service node in the second layer includes processing capacity of a number of tasks per unit time of a process represented by the service node in the second layer, the optimization engine further configured to generate an optimized mapping of service nodes in a user-selected service model to server nodes in a user-selected server model as a function of the associated demand and capacity attributes. - View Dependent Claims (10, 11, 12)
-
-
13. An apparatus for identifying optimal allocations of computing resources in a data processing arrangement having a plurality of computing machines that host a plurality of application processes, comprising:
-
means for establishing a plurality of server models, each server model including one or more server nodes, wherein each server node represents a set of hardware and has an associated set of hardware capacity attribute; means for designating a layered relationship between the server models, wherein for a first server-model layer immediately above a second server-model layer, the second server-model layer includes respective models that represent the nodes in the first server-model layer; means for establishing a plurality of service models, each service model including one or more service nodes, wherein each service node represents one or more software components and has an associated demand attribute and an associated set of capacity attributes; means for designating a layered relationship between the service models, wherein for a first service-model layer immediately above a second service-model layer, the second service-model layer includes respective models that represent the nodes in the first server-model layer; means for generating an optimized mapping of service nodes in a first user-selected service model in a first layer to service nodes in a second user-selected service model in a second layer as a function of the demand attributes of service nodes of the first service model and capacity attributes of service nodes the second service model, wherein the demand attribute of a service node in the first layer includes processing demand requirements of a number of tasks per unit time and the capacity attribute of a service node in the second layer includes processing capacity of a number of tasks per unit time of a process represented by the service node in the second layer; and means for generating an optimized mapping of service nodes in a user-selected service model to server nodes in a user-selected server model as a function of the demand and capacity attributes.
-
Specification