Automatically configuring a distributed computing system according to a hierarchical model
First Claim
1. A method comprising:
- receiving input that defines a model for a hierarchical organization of a distributed computing system having a plurality of computing nodes, wherein the model specifies a fabric having one or more domains, wherein each domain has at least one tier that includes at least one node slot, wherein each of the domains corresponds to one of an enterprise application or an enterprise service, wherein, for each domain, the model defines a different computing function for each of the tiers of the domain, and wherein each computing node comprises one or more processors for executing software instructions;
storing the model defined by the received input within a database; and
automatically configuring the computing nodes of the distributed computing system in accordance with the hierarchical organization defined by the model within the database, wherein automatically configuring the distributed computing system comprises executing software on one or more control nodes for automatically;
mapping software images associated with the computing functions to the node slots in accordance with the model stored within the database;
receiving input that defines specific node requirements of each of the tiers of the fabric;
assigning the computing nodes to the node slots of the tiers in accordance with the node requirements; and
deploying the software images on the assigned computing nodes, wherein assigning the computing nodes to the node slots of the tiers comprises;
selecting one of the tiers;
identifying the node requirements of the selected tier;
retrieving from a database computing node attributes associated with an unallocated set of the computing nodes;
comparing the node attributes of the unallocated set of computing nodes to the node requirements of the selected tier;
calculating a processing energy for each of the unallocated computing nodes based on differences between the node attributes of the unallocated computing nodes and the node requirements of the selected tier;
recording the processing energy of the unallocated computing nodes;
selecting the unallocated computing node having a lowest positive processing energy; and
assigning the selected unallocated computing node to a node slot of the selected tier.
3 Assignments
0 Petitions
Accused Products
Abstract
A distributed computing system conforms to a multi-level, hierarchical organizational model. One or more control nodes provide for the efficient and automated allocation and management of computing functions and resources within the distributed computing system in accordance with the organization model. The model includes four distinct levels: fabric, domains, tiers and nodes that provide for the logical abstraction and containment of the physical components as well as system and service application software of the enterprise. A user, such as a system administrator, interacts with the control nodes to logically define the hierarchical organization of distributed computing system. The control nodes are responsible for all levels of management in accordance with the model, including fabric management, domain creation, tier creation and node allocation and deployment.
-
Citations
37 Claims
-
1. A method comprising:
-
receiving input that defines a model for a hierarchical organization of a distributed computing system having a plurality of computing nodes, wherein the model specifies a fabric having one or more domains, wherein each domain has at least one tier that includes at least one node slot, wherein each of the domains corresponds to one of an enterprise application or an enterprise service, wherein, for each domain, the model defines a different computing function for each of the tiers of the domain, and wherein each computing node comprises one or more processors for executing software instructions; storing the model defined by the received input within a database; and automatically configuring the computing nodes of the distributed computing system in accordance with the hierarchical organization defined by the model within the database, wherein automatically configuring the distributed computing system comprises executing software on one or more control nodes for automatically; mapping software images associated with the computing functions to the node slots in accordance with the model stored within the database; receiving input that defines specific node requirements of each of the tiers of the fabric; assigning the computing nodes to the node slots of the tiers in accordance with the node requirements; and deploying the software images on the assigned computing nodes, wherein assigning the computing nodes to the node slots of the tiers comprises; selecting one of the tiers; identifying the node requirements of the selected tier; retrieving from a database computing node attributes associated with an unallocated set of the computing nodes; comparing the node attributes of the unallocated set of computing nodes to the node requirements of the selected tier; calculating a processing energy for each of the unallocated computing nodes based on differences between the node attributes of the unallocated computing nodes and the node requirements of the selected tier; recording the processing energy of the unallocated computing nodes; selecting the unallocated computing node having a lowest positive processing energy; and assigning the selected unallocated computing node to a node slot of the selected tier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
receiving input that defines a model for a hierarchical organization of a distributed computing system having a plurality of computing nodes, wherein the model specifies a fabric having one or more domains, wherein each domain has at least one tier that includes at least one node slot, wherein each of the domains corresponds to one of an enterprise application or an enterprise service, wherein, for each domain, the model defines a different computing function for each of the tiers of the domain, wherein the tiers are assigned priority values and wherein each computing node comprises one or more processors for executing software instructions; storing the model defined by the received input within a database; and automatically configuring the computing nodes of the distributed computing system in accordance with the hierarchical organization defined by the model within the database, wherein automatically configuring the distributed computing system comprises executing software on one or more control nodes for automatically; mapping software images associated with the computing functions to the node slots in accordance with the model stored within the database; assigning the computing nodes to the node slots of the tiers; and deploying the software images on the assigned computing nodes, wherein the method further comprises; receiving input that defines a re-provisioning policy for one or more of the tiers of the fabric; identifying a need for additional processing capacity on one of the tiers; and transferring a node from one of the other tiers to the tier in need of additional processing capacity according to the re-provisioning policy, wherein transferring the node comprises; identifying tiers with a priority lower than the tier in need of additional processing capacity; determining which of the computing nodes associated with the lower priority tiers satisfy node requirements of the tier in need of processing capacity; calculating a processing energy of each of the nodes of the lower priority tiers that satisfy the node requirements based on differences between the nodes that satisfy the node requirements of the tier in need of processing capacity and the node requirements of the tier in need of processing capacity; and assigning the computing node with a lowest processing energy to the tier in need of additional processing capacity. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A distributed computing system comprising:
-
a plurality of application nodes interconnected via a communications network, wherein each application node comprises one or more programmable processors for executing software instructions; a control node that receives input that defines a model for a hierarchical organization of a distributed computing system having a plurality of computing nodes; and a memory comprising a database that stores the model defined by the received input, wherein the model specifies a fabric having one or more domains, wherein each domain has at least one tier that includes at least one node slot, wherein each of the domains corresponds to one of an enterprise application or an enterprise service, wherein, for each domain, the model defines a different computing function for each of the tiers of the domain, wherein the control node automatically configures the computing nodes of the distributed computing system in accordance with the hierarchical organization defined by the model within the database, wherein the control node automatically maps software images associated with the computing functions to the node slots in accordance with the model stored within the database, receives input that defines specific node requirements of each of the tiers of the fabric, assigns the computing nodes to the node slots of the tiers in accordance with the node requirements, and deploys the software images on the assigned computing nodes, and wherein the control node selects one of the tiers, identifies the node requirements of the selected tier, retrieves from a database computing node attributes associated with an unallocated set of the computing nodes, compares the node attributes of the unallocated set of computing nodes to the node requirements of the selected tier, calculates a processing energy for each of the unallocated computing nodes based on differences between the node attributes of the unallocated computing nodes and the node requirements of the selected tier, records the processing energy of the unallocated computing nodes, selects the unallocated computing node having a lowest positive processing energy, and assigns the selected unallocated computing node to a node slot of the selected tier. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
-
28. A distributed computing system comprising:
-
a plurality of application nodes interconnected via a communications network, wherein each application node comprises one or more programmable processors for executing software instructions; a control node that receives input that defines a model for a hierarchical organization of a distributed computing system having a plurality of computing nodes; and a memory comprising a database that stores the model defined by the received input, wherein the model specifies a fabric having one or more domains, wherein each domain has at least one tier that includes at least one node slot, wherein each of the domains corresponds to one of an enterprise application or an enterprise service, wherein, for each domain, the model defines a different computing function for each of the tiers of the domain, wherein the tiers are assigned priority values, wherein the control node automatically configures the computing nodes of the distributed computing system in accordance with the hierarchical organization defined by the model within the database, wherein the control node automatically maps software images associated with the computing functions to the node slots in accordance with the model stored within the database, assigns the computing nodes to the node slots of the tiers, and deploys the software images on the assigned computing nodes, wherein the control node receives input that defines a re-provisioning policy for one or more of the tiers of the fabric, identifies a need for additional processing capacity on one of the tiers, and transfers a node from one of the other tiers to the tier in need of additional processing capacity according to the re-provisioning policy, and wherein the control node identifies tiers with a priority lower than the tier in need of additional processing capacity, determines which of the computing nodes associated with the lower priority tiers satisfy node requirements of the tier in need of processing capacity, calculates a processing energy of each of the nodes of the lower priority tiers that satisfy the node requirements based on differences between the nodes that satisfy the node requirements of the tier in need of processing capacity and the node requirements of the tier in need of processing capacity, and assigns the computing node with a lowest processing energy to the tier in need of additional processing capacity. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35)
-
-
36. A computer readable medium storing instructions that cause a processor to:
-
receive input that defines a model for a hierarchical organization of a distributed computing system having a plurality of computing nodes, wherein the model specifies a fabric having one or more domains, wherein each domain has at least one tier that includes at least one node slot, wherein each of the domains corresponds to one of an enterprise application or an enterprise service, wherein, for each domain, the model defines a different computing function for each of the tiers of the domain, and wherein each computing node comprises one or more processors for executing software instructions; store the model defined by the received input within a database; and automatically configure the computing nodes of the distributed computing system in accordance with the hierarchical organization defined by the model within the database, wherein the instructions that cause the processor to automatically configure the distributed computing system comprise instructions that automatically; map software images associated with the computing functions to the node slots in accordance with the model stored within the database; receive input that defines specific node requirements of each of the tiers of the fabric; and assign the computing nodes to the node slots of the tiers in accordance with the node requirements; and deploy the software images on the assigned computing nodes, wherein the instructions that cause the processor to assign the computing nodes to the node slots of the tiers comprise instructions that cause the processor to; select one of the tiers; identify the node requirements of the selected tier; retrieve from a database computing node attributes associated with an unallocated set of the computing nodes; compare the node attributes of the unallocated set of computing nodes to the node requirements of the selected tier; calculate a processing energy for each of the unallocated computing nodes based on differences between the node attributes of the unallocated computing nodes and the node requirements of the selected tier; record the processing energy of the unallocated computing nodes; select the unallocated computing node having a lowest positive processing energy; and assign the selected unallocated computing node to a node slot of the selected tier.
-
-
37. A computer readable medium storing instructions that cause a processor to:
-
receive input that defines a model for a hierarchical organization of a distributed computing system having a plurality of computing nodes, wherein the model specifies a fabric having one or more domains, wherein each domain has at least one tier that includes at least one node slot, wherein each of the domains corresponds to one of an enterprise application or an enterprise service, wherein, for each domain, the model defines a different computing function for each of the tiers of the domain, wherein the tiers are assigned priority values and wherein each computing node comprises one or more processors for executing software instructions; store the model defined by the received input within a database; and automatically configure the computing nodes of the distributed computing system in accordance with the hierarchical organization defined by the model within the database, wherein the instructions that cause the processor to automatically configure the distributed computing system comprise instructions that automatically; map software images associated with the computing functions to the node slots in accordance with the model stored within the database; assign the computing nodes to the node slots of the tiers; and deploy the software images on the assigned computing nodes, wherein the computer readable medium stores instructions that cause the processor to; receive input that defines a re-provisioning policy for one or more of the tiers of the fabric; identify a need for additional processing capacity on one of the tiers; and transfer a node from one of the other tiers to the tier in need of additional processing capacity according to the re-provisioning policy, wherein the instructions that cause the processor to transfer the node comprise instructions that cause the processor to; identify tiers with a priority lower than the tier in need of additional processing capacity; determine which of the computing nodes associated with the lower priority tiers satisfy node requirements of the tier in need of processing capacity; calculate a processing energy of each of the nodes of the lower priority tiers that satisfy the node requirements based on differences between the nodes that satisfy the node requirements of the tier in need of processing capacity and the node requirements of the tier in need of processing capacity; and assign the computing node with a lowest processing energy to the tier in need of additional processing capacity.
-
Specification