IP Library Granted Patent US 7,668,175
Granted Patent B2
US 7,668,175 · App. 11/286,085 · Granted Feb 23, 2010

Dynamic power management for I/O resource pools

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,668,175
App. No.
11/286,085
Granted
Feb 23, 2010
Kind
B2
Abstract

Methods and apparatus for managing a pool of I/O interfaces associated with one or more I/O devices are disclosed. The I/O bandwidth utilization of the I/O devices is ascertained and compared with an upper threshold and a lower threshold. When the I/O bandwidth utilization is greater than the upper threshold, the resources provided by the pool of I/O interfaces are increased. When the I/O bandwidth utilization is less than the lower threshold, the resources provided by the pool of I/O interfaces are decreased.

Claims (57)

1. A computer readable storage medium comprising instructions executable by a processor to perform a method of managing a pool of resources comprising a plurality of interfaces of an I/O device, the method comprising:

ascertaining a demand on the I/O device;

determining a level of resources provided by the pool of resources using a state and a power level for each of the plurality of interfaces of the I/O device;

when the demand on the I/O device is greater than the level of resources provided by the pool of resources, increasing the level of resources provided by the pool of resources; and

when the demand on the I/O device is less than the level of resources provided by the pool of resources, decreasing the level of resources provided by the pool of resources.

2. The computer readable storage medium as recited in claim 1 ,

wherein increasing the level of resources provided by the pool of resources comprises adding an interface to the pool of resources, and

wherein decreasing the level of resources provided by the pool of resources comprises removing an interface from the pool of resources.

3. The computer readable storage medium as recited in claim 1 ,

wherein increasing the level of resources provided by the pool of resources comprises turning on one interface of the plurality of interfaces and

wherein decreasing the level of resources provided by the pool of resources comprises turning off one interface of the plurality of interfaces.

4. The computer readable storage medium as recited in claim 1 ,

wherein increasing the level of resources provided by the pool of resources comprises increasing a power level of one interface of the plurality of interfaces, and

wherein decreasing the level of resources provided by the pool of resources comprises decreasing a power level of one interface of the plurality of interfaces.

5. The computer readable storage medium as recited in claim 1 , the method further comprising:

obtaining a profile associated with each of the plurality of interfaces.

6. The computer readable storage medium as recited in claim 5 , wherein each profile indicates resources provided by the corresponding one of the plurality of interfaces.

7. The computer readable storage medium as recited in claim 6 , wherein each profile indicates at least one selected from a group consisting of a latency associated powering up the corresponding interface and a set of power states supported by the corresponding interface.

8. A computer readable storage medium comprising instructions executable by a processor to perform a method of managing a pool of I/O interfaces associated with an I/O device, the method comprising:

ascertaining network bandwidth utilization of the I/O device;

comparing the network bandwidth utilization with an upper threshold and a lower threshold, wherein the upper threshold is determined using a state and a power level for each of the I/O interfaces;

when the network bandwidth utilization is greater than the upper threshold, increasing resources provided by the pool of I/O interfaces; and

when the network bandwidth utilization is less than the lower threshold, decreasing the resources provided by the pool of I/O interfaces.

9. The computer readable storage medium as recited in claim 8 , wherein ascertaining network bandwidth utilization comprises:

multiplying an average data transmission size by a number of data transmissions per second that are transmitted by the I/O device and received by the I/O device.

10. The computer readable storage medium as recited in claim 8 , wherein increasing resources provided by the pool of I/O interfaces comprises:

turning on one of the I/O interfaces in the pool of I/O interfaces.

11. The computer readable storage medium as recited in claim 8 , wherein decreasing resources provided by the pool of I/O interfaces comprises:

turning off one of the I/O interfaces in the pool of I/O interfaces.

12. The computer readable storage medium as recited in claim 8 , wherein increasing resources provided by the pool of I/O interfaces comprises:

adding an I/O interface to the pool of I/O interfaces.

13. The computer readable storage medium as recited in claim 8 , wherein decreasing resources provided by the pool of I/O interfaces comprises:

removing an I/O interface from the pool of I/O interfaces.

14. The computer readable storage medium as recited in claim 8 , wherein increasing resources provided by the pool of I/O interfaces comprises:

increasing a power level of one of the I/O interfaces in the pool of I/O interfaces.

15. The computer readable storage medium as recited in claim 8 , wherein decreasing resources provided by the pool of I/O interfaces comprises:

decreasing a power level of one of the I/O interfaces in the pool of I/O interfaces.

16. The computer readable storage medium as recited in claim 8 , the method further comprising:

obtaining a profile associated with one of the I/O interfaces.

17. The computer readable storage medium as recited in claim 16 , wherein each profile indicates resources provided by the corresponding one of the I/O interfaces.

18. The computer readable storage medium as recited in claim 17 , wherein each profile indicates at least one selected from a group consisting of a latency associated powering up the corresponding I/O interface and a set of power states supported by the corresponding I/O interface.

19. The computer readable storage medium as recited in claim 18 , wherein the upper threshold and lower threshold are associated with one or more of the power states.

20. A computer readable storage medium comprising instructions executable by a processor to perform a method of dynamic power management for a plurality of communication paths between at least one initiator and at least one target, each of the plurality of communication paths being associated with an interface of one of the initiators, the method comprising:

ascertaining a load associated with the plurality of communication paths;

comparing the load with an upper threshold and a lower threshold, wherein the upper threshold is determined using a state and a power level for each of the interfaces;

when the load is greater than the upper threshold, increasing power provided to the interface associated with at least one of the plurality of communication paths; and

when the load is less than the lower threshold, decreasing power provided to the interface associated with at least one of the plurality of communication paths.

21. The computer readable storage medium as recited in claim 20 ,

wherein increasing power provided to the interface associated with at least one of the plurality of communication paths comprises providing power to the interface associated with at least one of the plurality of communication paths and

wherein decreasing power provided to the interface associated with at least one of the plurality of communication paths comprises removing power from the interface associated with at least one of the plurality of communication paths.

22. An apparatus comprising:

a processor; and

a memory, comprising instructions executable by a processor to perform a method, the method comprising:

ascertaining a demand on the I/O device;

determining a level of resources provided by a pool of resources using a state and a power level for each of a plurality of interfaces of the I/O device;

when the demand on the I/O device is greater than the level of resources provided by the pool of resources, increasing the level or resources provided by the pool of resources; and

when the demand on the network device is less than the level of resources provided by the pool of resources, decreasing the level of resources provided by the pool of resources.

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 037305/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2005
From: JOHNSON, DARRIN P.; TRIPATHI, SUNAY; FISHEL, RANDALL S.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017265/0249 →