Methods for resource consolidation in a computing environment
First Claim
1. A computer-implemented resource consolidation method comprising:
- representing resources hierarchically in graphs, each graph having a topology for indicating dependencies and compatibilities between individual resources;
receiving a request to consolidate resources from a first and second set of resources, the sets being represented as primary and secondary graphs, respectively; and
determining a consolidated resource set by iteratively extending the first set in a minimal fashion, by performing substeps of;
(i) sharing nodes of the secondary graph with that of the primary graph wherever the graphs are compatible, and (ii) otherwise, adding contents of the secondary graph to the primary graph, said substeps being performed such that topology of the secondary graph is retained.
1 Assignment
0 Petitions
Accused Products
Abstract
A resource methodology is described which provides a framework for defining specific resource classes support for resource methods, and provides support for resource-independent commands, including those used in resource consolidation. A Resource Consolidation methodology of the present invention works by starting with an empty resource set, then iteratively extends the set in a minimal fashion. At the end of the iteration, the initial resource set comprises sufficient resources. An important component to this approach is a Minimal Extension method. This method provides a directed, acyclic graph methodology that takes two graphs as input and extends one (the “primary”) so as to include the other one (the “secondary”). For efficiency, resources in the secondary graph are shared with those in the primary graph wherever possible.
118 Citations
29 Claims
-
1. A computer-implemented resource consolidation method comprising:
-
representing resources hierarchically in graphs, each graph having a topology for indicating dependencies and compatibilities between individual resources;
receiving a request to consolidate resources from a first and second set of resources, the sets being represented as primary and secondary graphs, respectively; and
determining a consolidated resource set by iteratively extending the first set in a minimal fashion, by performing substeps of;
(i) sharing nodes of the secondary graph with that of the primary graph wherever the graphs are compatible, and (ii) otherwise, adding contents of the secondary graph to the primary graph, said substeps being performed such that topology of the secondary graph is retained. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
iterating through each node in the secondary graph; and
determining whether to extend the primary graph to contain said each node.
-
-
5. The method of claim 1, wherein said determining step includes:
checking whether a given node of the secondary graph is compatible with a corresponding node in the primary graph.
-
6. The method of claim 5, wherein said checking step further includes:
checking whether descendants of said given node of the secondary graph are compatible with descendants of said corresponding node in the primary graph.
-
7. The method of claim 6, wherein said step of checking descendants is performed in a recursive manner.
-
8. The method of claim 1, wherein a node of the secondary graph that is found to be not compatible with a node of the primary graph is added to the primary graph from the secondary graph by:
-
copying the node from the secondary graph to the primary graph; and
minimally extending the primary graph to include descendants of the node.
-
-
9. The method of claim 8, wherein said step of minimally extending the primary graph to include descendants of the node from the secondary graph is performed in a recursive manner.
-
10. The method of claim 1, wherein each node is associated with a class.
-
11. The method of claim 10, wherein nodes of the same class are compatible.
-
12. The method of claim 1, wherein the method tracks which primary nodes have already been mapped, so as to avoid mapping multiple nodes in the secondary graph onto the same node in the primary graph.
-
13. The method of claim 1, further comprising:
recording all descendant mappings once a node has been mapped from the secondary graph to the primary graph, so as to preserve topology of the secondary graph.
-
14. The method of claim 1, wherein when two nodes are found to be compatible, the two nodes are bound together.
-
15. The method of claim 1, wherein the order in which nodes are compared is selected to avoid re-comparing nodes.
-
16. The method of claim 1, wherein a predefined order is employee for comparing classes of nodes, so as to improve the likelihood that classes with more descendants get mapped first.
-
17. The method of claim 1, wherein a set of virtual bindings is employed which stores potential mappings while nodes are being compared, such that if a comparison is successful the virtual bindings are converted into real bindings.
-
18. A computer-implemented method for consolidation of resource sets, the method comprising:
-
representing sets of resources hierarchically in graphs, said graphs having a topology for indicating attributes of resources;
receiving a request to consolidate resources from a first set of resources being represented as a primary graph, and a second set of resources being represented as a secondary graph;
evaluating segments of the secondary graph to determine if said segments of the secondary graph are compatible with segments of the primary graph;
if a given segment of the secondary graph is determined to be compatible with a particular segment of the primary graph, binding said given segment of the secondary graph to said particular segment to share resources; and
otherwise, extending said primary graph by said given segment of said secondary graph. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
iterating through each segment of the secondary graph; and
determining whether said segment is compatible with any segment of the primary graph.
-
-
22. The method of claim 18, wherein said step of evaluating segments comprises comparing the attributes of resources.
-
23. The method of claim 18, wherein said step of evaluating segments includes evaluating segments in a predefined order.
-
24. The method of claim 21, wherein said predefined order is based upon number of members of a segment.
-
25. The method of claim 18, wherein said step of evaluating segments includes employing virtual bindings for storing potential bindings while segments are being compared, such that if a comparison is successful the virtual bindings are converted into real bindings.
-
26. The method of claim 18, wherein said step of binding said given segment of the secondary graph to said particular segment comprises updating a resource in the said first set of resources to incorporate information from a resource in said second set of resources.
-
27. The method of claim 18, wherein segments of the primary graph that have been bound to segments of the secondary graph are marked, so as to avoid mapping multiple segments of the secondary graph onto the same segment of the primary graph.
-
28. The method of claim 18, further comprising:
recording all descendant mappings after a given segment has been added from the secondary graph to the primary graph, so as to preserve topology of the secondary graph.
-
29. The method of claim 18, further comprising:
retaining results of segment comparisons, to prevent repeated comparisons of the same segments.
Specification