IP Library Granted Patent US 7,774,467
Granted Patent B1
US 7,774,467 · App. 10/948,587 · Granted Aug 10, 2010

Mechanism for making a computing resource allocation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,774,467
App. No.
10/948,587
Granted
Aug 10, 2010
Kind
B1
Abstract

In accordance with one embodiment of the present invention, there are provided methods and mechanisms for determining an allocation of resources, including hardware resources in a computing environment. With these methods and mechanisms, it is possible for computing resource allocations to satisfy one or more operational considerations, such as for example without limitation: “reduce device heat dissipation”, “avoid single point of failure in switched network” and other allocation needs are contemplated.

Claims (84)

1. A machine implemented method, comprising:

receiving a request for an allocation of a set of hardware resources in a computing system, wherein the computing system is a distributed system comprising a plurality of physically distributed hardware resources;

determining a set of one or more operational considerations to be applied to the allocation; and

automatically determining at least one set of eligible hardware resources that satisfies the request, wherein determining the set of eligible hardware resources takes into account where each of the eligible hardware resources is physically situated relative to other physical resources and how that situation impacts the set of operational considerations, wherein automatically determining the at least one set of eligible hardware resources comprises automatically determining a plurality of sets of eligible hardware resources that satisfy the request, and

selecting the set of eligible hardware resources that provides the best performance according to a set of predetermined guidelines, wherein selecting the set of eligible hardware resources comprises:

determining an objective function relating reducing heat dissipation to a thermal index that changes with a distance between components,

converting the set of one or more operational considerations to be applied to the allocation as a set of one or more constraint expressions, and

applying a linear programming technique to determine an optimal solution of the objective function satisfying the constraint expressions.

2. The machine implemented method of claim 1 , wherein determining the set of eligible hardware resources comprises: accessing a set of topology information which specifies how the hardware resources in the computing system are physically arranged and situated; and using the set of topology information in determining the set of eligible hardware resources.

3. The machine implemented method of claim 1 , wherein relating reducing heat dissipation to the thermal index that changes with the distance between components, further comprises:

determining a thermal index (Ti) according to the relation:

Ti=d +( DL /(position− LB ))+( DR /( RB −position)); wherein

LB=left component, RB=right component, DL=dissipation of the left component, DR=dissipation of the right component, d=dissipation of the new component, and position=position of the new component.

4. The machine implemented method of claim 1 , wherein hardware resources include at least one of: host computers, firewalls, loader balancers, storage devices (local disk/NAS/SAN), processors, storage devices, peripheral devices, devices operable with a computer or processor based devices that enhance the functionality of the computer or processor based device.

5. The machine implemented method of claim 1 , wherein determining a set of one or more operational considerations to be applied to the allocation includes:

determining a set of one or more operational considerations including at least one of:

reducing heat production,

reducing latency;

increasing availability, and

reducing power dissipation.

6. A machine-readable storage medium carrying one or more sequences of instructions for determining an allocation of resources, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:

receiving a request for an allocation of a set of hardware resources in a computing system, wherein the computing system is a distributed system comprising a plurality of physically distributed hardware resources;

determining a set of one or more operational considerations to be applied to the allocation; and

automatically determining at least one set of eligible hardware resources that satisfies the request, wherein determining the set of eligible hardware resources takes into account where each of the eligible hardware resources is physically situated relative to other physical resources and how that situation impacts the set of operational considerations, wherein automatically determining the at least one set of eligible hardware resources comprises automatically determining a plurality of sets of eligible hardware resources that satisfy the request, and

selecting the set of eligible hardware resources that provides the best performance according to a set of predetermined guideline, wherein selecting the set of eligible hardware resources comprises:

determining an objective function relating reducing heat dissipation to a thermal index that changes with a distance between components,

converting the set of one or more operational considerations to be applied to the allocation as a set of one or more constraint expressions, and

applying a linear programming technique to determine an optimal solution of the objective function satisfying the constraint expressions.

7. The machine-readable storage medium of claim 6 , wherein the instructions for determining the set of eligible hardware resources further comprise instructions for carrying out the steps of:

accessing a set of topology information which specifies how the hardware resources in the computing system are physically arranged and situated; and

using the set of topology information in determining the set of eligible hardware resources.

8. The machine-readable storage medium of claim 6 , wherein the instructions for relating reducing heat dissipation to the thermal index that changes with the distance between components further comprise instructions for carrying out the steps of:

determining a thermal index (Ti) according to the relation:

Ti=d+(DL/(position−LB))+(DR/(RB−position)); wherein LB=left component, RB=right component, DL=dissipation of the left component, DR=dissipation of the right component, d=dissipation of the new component, and position=position of the new component.

9. The machine-readable storage medium of claim 6 , wherein the instructions for accessing a set of topology information which specifies how the hardware resources in the computing system are physically arranged and situated further comprise instructions for carrying out the steps of:

accessing a set of topology information which includes at least one of:

a distance, including a distance representing a spatial separation of components,

a configuration, including an index representing whether two processors exist in a same housing,

a system state, including a Boolean expression indicating whether a resource is unavailable; and

a policy, including a Boolean expression indicating whether a particular operating system is permitted.

10. The machine-readable storage medium of claim 6 , wherein hardware resources include at least one of: host computers, firewalls, loader balancers, storage devices (local disk/NAS/SAN), processors, storage devices, peripheral devices, devices operable with a computer or processor based devices that enhance the functionality of the computer or processor based device.

11. The machine-readable storage medium of claim 6 , wherein the instructions for determining a set of one or more operational considerations to be applied to the allocation further comprise instructions for carrying out the steps of:

determining a set of one or more operational considerations including at least one of:

reducing heat production,

reducing latency,

increasing availability, and

reducing power dissipation.

12. An apparatus comprising:

a processor;

a memory, connected to the processor by a bus; and

one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

receiving a request for an allocation of a set of hardware resources in a computing system, wherein the computing system is a distributed system comprising a plurality of physically distributed hardware resources;

determining a set of one or more operational considerations to be applied to the allocation; and

automatically determining at least one set of eligible hardware resources that satisfies the request, wherein determining the set of eligible hardware resources takes into account where each of the eligible hardware resources is physically situated relative to other physical resources and how that situation impacts the set of operational considerations, wherein automatically determining the at least one set of eligible hardware resources comprises automatically determining a plurality of sets of eligible hardware resources that satisfy the request, and

selecting the set of eligible hardware resources that provides the best performance according to a set of predetermined guideline, wherein selecting the set of eligible hardware resources comprises:

determining an objective function relating reducing heat dissipation to a thermal index that changes with a distance between components,

converting the set of one or more operational considerations to be applied to the allocation as a set of one or more constraint expressions, and

applying a linear programming technique to determine an optimal solution of the objective function satisfying the constraint expressions.

13. The apparatus of claim 12 , wherein the instructions for determining the set of eligible hardware resources further comprise instructions for carrying out the steps of:

accessing a set of topology information which specifies how the hardware resources in the computing system are physically arranged and situated; and

using the set of topology information in determining the set of eligible hardware resources.

14. The apparatus of claim 12 , wherein the instructions for

accessing a set of topology information which specifies how the hardware resources in the computing system are physically arranged and situated further comprise instructions for carrying out the steps of:

accessing a set of topology information which includes at least one of:

a distance, including a distance representing a spatial separation of components,

a configuration, including an index representing whether two processors exist in a same housing,

a system state, including a Boolean expression indicating whether a resource is unavailable; and

a policy, including a Boolean expression indicating whether a particular operating system is permitted.

15. The apparatus of claim 12 , wherein hardware resources include at least one of: host computers, firewalls, loader balancers, storage devices (local disk/NAS/SAN), processors, storage devices, peripheral devices, devices operable with a computer or processor based devices that enhance the functionality of the computer or processor based device.

16. The apparatus of claim 12 , wherein determining a set of one or more operational considerations to be applied to the allocation further comprise instructions for carrying out the steps of:

determining a set of one or more operational considerations including at least one of:

reducing heat production,

reducing latency,

increasing availability, and

reducing power dissipation.

17. An apparatus comprising:

means for receiving a request for an allocation of a set of hardware resources in a computing system, wherein the computing system is a distributed system comprising a plurality of physically distributed hardware resources;

means for determining a set of one or more operational considerations to applied to the allocation; and

means for automatically determining at least one set of eligible hardware resources that satisfies the request, wherein determining the set of eligible hardware resources takes into account where each of the eligible hardware resources is physically situated relative to other physical resources and how that situation impacts the set of operational considerations,

wherein means for automatically determining the at least one set of eligible hardware resources comprises means for automatically determining a plurality of sets of eligible hardware resources that satisfy the request, and

means for selecting the set of eligible hardware resources that provides the best performance according to a set of predetermined guideline, wherein means for selecting the set of eligible hardware resources comprises:

means for determining an objective function relating reducing heat dissipation to a thermal index that changes with a distance between components,

means for converting the set of one or more operational considerations to be applied to the allocation as a set of one or more constraint expressions, and

means for applying a linear programming technique to determine an optimal solution of the objective function satisfying the constraint expressions.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037306/0514 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2004
From: MARTIN, JEAN-CHRISTOPHE; SAIYED, JUNAID; XU, YULIN
To: SUN MICROSYSTEMS, INC.
Reel/Frame 015830/0674 →