Sign up to receive free email alerts when patent applications with chosen keywords are publishedSIGN UP

Abstract:

A server chassis includes an uninterruptible power supply, and a server
including a controller. The uninterruptible power supply is configured to
provide a reserve power when a primary power is lost, and to send a power
loss signal when the primary power is lost. The controller is configured
to receive a desired server uptime, to receive an indication that a power
limit for the server is fixed or decreasing over the desired server, to
receive the power loss signal from the uninterruptible power supply, to
send a power capacity query to the uninterruptible power supply, to
receive a reserve power capacity of the uninterruptible power supply in
response to the power capacity query, to calculate the power limit for
the server based on the reserve power capacity of the uninterruptible
power supply and on the desired server uptime, and to enforce the power
limit on the server.

Claims:

1. A server chassis comprising: an uninterruptible power supply
configured to provide a reserve power when a primary power is lost, and
to send a power loss signal when the primary power is lost; and a server
including a controller in communication with the uninterruptible power
supply, the controller configured to receive a desired server uptime, to
receive an indication that a power limit for the server decreases over
the desired server uptime prior to when the primary power is lost, to
receive a reserve power capacity of the uninterruptible power supply in
response to a power capacity query sent in response the power loss
signal, to calculate the power limit for the server based on the reserve
power capacity of the uninterruptible power supply and on the desired
server uptime, and to enforce the power limit on the server.

2. The server chassis of claim 1 further comprising: a chassis management
controller in communication with the uninterruptible power supply and the
controller of the server, the chassis management controller configured to
calculate the power limit of the server, and to send to power limit to
the controller of the server.

3. The server chassis of claim 1 wherein the controller is further
configured to determining when the primary power has not been restored,
to send the power capacity query from the controller to the
uninterruptible power supply, to receive a current reserve power capacity
of the uninterruptible power supply at the controller, to calculate a new
power limit for the server based on the current reserve power capacity of
the uninterruptible power supply, on a percentage of the current reserve
power capacity allocated to the server, and on the desired server uptime,
and to enforce the new power limit on the server.

4. The server chassis of claim 3 wherein the new power limit is enforced
by the controller reducing the power consumption of the host processor,
memory, and other components, or even shutting down unused components
like redundant network adapters.

5. The server chassis of claim 1 wherein the controller is further
configured to determining when the primary power has been restored, and
to clear the power limit for the server in the controller when the
primary power has been restored.

6. The server chassis of claim 1 wherein the desired server uptime is
received from a user via a graphical user interface or Command Line
Interface (CLI).

7. The server chassis of claim 1 wherein the power limit is enforced by
the controller cutting back a host processor of the server, and the host
processor shutting down difference components of the server.

8. A method comprising: receiving a desired server uptime at a controller
of a server; receiving, at the controller, an indication that a power
limit for the server is fixed or decreasing over the desired server
uptime; receiving a reserve power capacity of an uninterruptible power
supply at the controller; calculating the power limit for the server
based on the reserve power capacity of the uninterruptible power supply,
on a percentage of the reserve power capacity allocated to the server,
and on the desired server uptime; and enforcing the power limit on the
server.

9. The method of claim 8 further comprising: determining whether the
primary power has been restored; if the primary power has not been
restored: receiving a current reserve power capacity of the
uninterruptible power supply at the controller; calculating a new power
limit for the server based on the current reserve power capacity of the
uninterruptible power supply, on a percentage of the current reserve
power capacity allocated to the server, and on the desired server uptime;
and enforcing the new power limit on the server.

10. The method of claim 9 further comprising: clearing the power limit
for the server in the controller when the primary power has been
restored.

11. The method of claim 9 wherein the new power limit is enforced by the
controller cutting back a host processor of the server, and the host
processor shutting down difference components of the server.

12. The method of claim 8 wherein the desired server uptime is received
from a user via a graphical user interface.

13. The method of claim 8 wherein the power limit is enforced by the
controller cutting back a host processor of the server, and the host
processor shutting down difference components of the server.

14. A method comprising: receiving, at a chassis management controller of
a blade server chassis, a desired system uptime; receiving, at the
chassis management controller, an indication that a power limit for a
server is fixed or decreasing over the desired server uptime; receiving,
at the chassis management controller, a reserve power capacity of an
uninterruptible power supply; calculating, in the chassis management
controller, the power limit for the server based on the reserve power
capacity of the uninterruptible power supply, on a percentage of the
reserve power capacity allocated to the server, and the desired system
uptime; sending the power limit for the server to a controller of the
server; and enforcing, at the controller, the power limit on the server.

15. The method of claim 14 further comprising: determining whether the
primary power has been restored; if the primary power has not been
restored: receiving, in the chassis management controller, a current
reserve power capacity of the uninterruptible power supply at the
controller; calculating, in the chassis management controller, a new
power limit for the server based on the current reserve power capacity of
the uninterruptible power supply, on a percentage of the current reserve
power capacity allocated to the server, and on the desired server uptime;
sending the new power limit for the server from the chassis management
controller to the controller of the server; and enforcing, in the
controller, the new power limit for the server.

16. The method of claim 15 further comprising: clearing, in the chassis
management controller, the power limit for the server in the controller
when the primary power has been restored.

17. The method of claim 15 wherein the new power limit is enforced by the
controller cutting back a host processor of the server, and the host
processor shutting down difference components of the server.

18. The method of claim 14 wherein the desired server uptime is received
from a user via a graphical user interface.

19. The method of claim 14 wherein the desired server uptime is received
from a user via a command line interface.

20. The method of claim 14 wherein the power limit is enforced by the
controller cutting back a host processor of the server, and the host
processor shutting down difference components of the server.

Description:

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation of U.S. patent application Ser.
No. 13/013,436, entitled "System and Method for Extending System Uptime
while Running on Backup Power," filed on Jan. 25, 2011, the disclosure of
which is hereby expressly incorporated by reference in its entirety.

FIELD OF THE DISCLOSURE

[0002] This disclosure generally relates to information handling systems,
and more particularly relates to a system and method extending system
uptime while running on backup power.

BACKGROUND

[0003] As the value and use of information continues to increase,
individuals and businesses seek additional ways to process and store
information. One option is an information handling system. An information
handling system generally processes, compiles, stores, and/or
communicates information or data for business, personal, or other
purposes. Because technology and information handling needs and
requirements can vary between different applications, information
handling systems can also vary regarding what information is handled, how
the information is handled, how much information is processed, stored, or
communicated, and how quickly and efficiently the information can be
processed, stored, or communicated. The variations in information
handling systems allow for information handling systems to be general or
configured for a specific user or specific use such as financial
transaction processing, airline reservations, enterprise data storage, or
global communications. In addition, information handling systems can
include a variety of hardware and software components that can be
configured to process, store, and communicate information and can include
one or more computer systems, data storage systems, and networking
systems.

[0004] An information handling system, such as a server, can include an
uninterruptible power supply (UPS) to store backup power for the server
if the server loses alternating current (AC) power or Direct Current (DC)
power. The length of time that the server can operate on the backup power
from the UPS depends on a power storage capacity of the UPS.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005] It will be appreciated that for simplicity and clarity of
illustration, elements illustrated in the Figures have not necessarily
been drawn to scale. For example, the dimensions of some of the elements
are exaggerated relative to other elements. Embodiments incorporating
teachings of the present disclosure are shown and described with respect
to the drawings presented herein, in which:

[0006] FIG. 1 is a block diagram of a server rack chassis;

[0007] FIG. 2 is a block diagram of a blade server chassis;

[0008] FIG. 3 is a waveform of power provided to a server;

[0009]FIG. 4 is an alternate waveform of power provided to the server;

[0010] FIG. 5 is a flow diagram of a method for extending an uptime of the
server running on backup power;

[0011] FIG. 6 is a flow diagram of an alternative method for extending the
uptime of the server running on the backup power; and

[0012]FIG. 7 is a block diagram of a general information handling system.

[0013] The use of the same reference symbols in different drawings
indicates similar or identical items.

DETAILED DESCRIPTION OF DRAWINGS

[0014] The following description in combination with the Figures is
provided to assist in understanding the teachings disclosed herein. The
following discussion will focus on specific implementations and
embodiments of the teachings. This focus is provided to assist in
describing the teachings and should not be interpreted as a limitation on
the scope or applicability of the teachings. However, other teachings can
certainly be utilized in this application.

[0015] FIG. 1 shows a server rack chassis 100 of information handling
system. For purposes of this disclosure, the information handling system
may include any instrumentality or aggregate of instrumentalities
operable to compute, classify, process, transmit, receive, retrieve,
originate, switch, store, display, manifest, detect, record, reproduce,
handle, or utilize any form of information, intelligence, or data for
business, scientific, control, entertainment, or other purposes. For
example, an information handling system may be a personal computer, a
PDA, a consumer electronic device, a network server or storage device, a
switch router or other network communication device, or any other
suitable device and may vary in size, shape, performance, functionality,
and price. The information handling system may include memory, one or
more processing resources such as a central processing unit (CPU) or
hardware or software control logic. Additional components of the
information handling system may include one or more storage devices, one
or more communications ports for communicating with external devices as
well as various input and output (I/O) devices, such as a keyboard, a
mouse, and a video display. The information handling system may also
include one or more buses operable to transmit communications between the
various hardware components.

[0016] The server rack chassis 100 includes servers 102, 104, and 106, and
uninterruptible power supplies (UPSs) 108. Each of the servers 102, 104,
and 106 can include a controller 110, which each are in communication
with the UPSs 108. In an embodiment, both of the UPSs 108 can combine to
provide backup power to the servers 102, 104, and 106. In another
embodiment, one of the UPSs 108 can provide primary backup power to the
servers 102, 104, and 106, and the other UPS can be a reserve UPS to
provide power to the servers only if the primary UPS fails. Each of the
controllers 110 can be any type of controller, such as an integrated Dell
Remote Access Controller (iDRAC), which is an interface card that can
provide out-of-band management between the server 102, 104, or 106 and a
remote user. The controllers 110 can each have a processor, a memory, a
battery, a network connection, and access to a server chassis bus. The
controller 110 can provide different functions for the server 102, 104,
or 106, such as power management, virtual media access, and remote
console capabilities. The power management, the virtual media access, and
the remote console capabilities can all be available to the remote user
through a graphical user interface (GUI) on a web browser. Thus, the
remote user can configure the servers 102, 104, and 106 of the server
rack chassis 100, as if the remote user was at the local console.

[0017] A user, either remote or local to the server rack chassis 100, can
access the controller 110 of each of the servers 102, 104, and 106 via
the GUI to configure power settings for the servers in situations when AC
power or DC power is lost to the server rack chassis 100. For example,
the user can set a desired uptime for each individual server, a
percentage of power available from the UPS allocated to each server,
whether a power limit or cap for the servers is fixed over the desired
uptime as shown by waveform 302 of FIG. 3, whether the power limit for
the servers decreases over the desired uptime as shown by waveform 402 of
FIG. 4, or the like.

[0018] When the AC power is lost, the UPS 108 can send a power loss
notification signal to each of the controllers 110 of the servers 102,
104, and 106. The power loss notification signal can be any type of
communication signal, such as a simple network management protocol (SNMP)
signal or trap, or the like. When the controller 110 receives the power
loss notification signal, the controller can send a reserve power query
to the UPS 108 to request a reserve power capacity of the UPS. After
receiving the reserve power capacity of the UPS 108, the controller 110
can compute the power limit for the server 102 based on the reserve power
capacity, on whether the power limit is fixed or decreasing, on the
percentage of the reserve power capacity allocated to the server, and on
desired uptime for the server. The power limit can be a maximum amount of
power that the server 102 is allowed to use during given time period.

[0019] After setting the power limit, the controller 110 can communicate
with a host processor of the server 102, and cut back the host processor
to enforce the power limit in the server. The host processor can then
disable particular components in the server 102 so that the server can
operate at the power limit determined by the controller 110. The
controller 110 can dynamically adjust the power limit for the server at
fixed intervals over the desired uptime for the server 102. For example,
the controller 110 can poll the UPS 108 at the fixed intervals to receive
a current reserve power capacity of the UPS. When the controller 110 has
received the current reserve power capacity, the controller can calculate
and set a new power limit for the server 102. If the current reserve
power capacity of the UPS 108 is higher than expected because the servers
102, 104, and 106 did not use all of the allocated power for a given time
period, the new power limit for the server 102 can higher than the
original power limit. The controller 110 can continue to re-poll the UPS
108 at the fixed intervals to receive the current reserve power capacity
of the UPS, and can re-calculate and set the new power limit for the
server based on the current reserve power capacity until the AC power is
restored to the server rack chassis 100.

[0020] In another embodiment, the controllers 110 can communicate with
each other to further adjust the power limits for the servers 102, 104,
and 106. For example, the controller 110 of server 102 can communicate
with the controller of server 104, and determine that server 104 is
operating below an expected capacity and that server 102 is operating
above an expected capacity. In this situation, the controller 110 of
server 102 can decrease the percentage of the current reserve power
capacity of the UPS 108 allocated to server 102, and the controller of
server 104 can increase the percentage of the current reserve power
capacity allocated to server 104. Thus, the new power limit for the
server 102 can decrease, and the new power limit for the server 104 can
increase.

[0021] FIG. 2 shows a blade server chassis 200 including servers 202, 204,
and 206, an UPS 208, and a chassis management controller (CMC) 212. Each
of the servers 202, 204, and 206 can include a controller 210, which each
are in communication with the UPS 208 and with the CMC 212. The UPS 208
is in communication with the CMC 212.

[0022] The user can access the CMC 212 via a GUI to configure power
settings for the servers 202, 204, and 206 when the AC power is lost to
the blade server chassis 200. For example, the user can set in the CMC
212 a desired uptime for each of the servers 202, 204, and 206, a
percentage of power available from the UPS allocated to each server,
whether a power limit for the servers is fixed over the desired uptime,
whether the power limit for the servers decreases over the desired
uptime, or the like.

[0023] When the AC power is lost, the UPS 208 can send the power loss
notification signal to the CMC 212, which in response can send the
reserve power query to the UPS 208 to request the reserve power capacity
of the UPS. After receiving the reserve power capacity of the UPS 208,
the CMC 212 can compute the power limit for each of the servers 202, 204,
and 206 based on the reserve power capacity, on whether the power limit
is fixed or decreasing, on the percentage of the reserve power capacity
allocated to each server, and on desired uptime for the servers.

[0024] The CMC 212 can also determine to shut down one of the servers 202,
204, and 206, to prevent any server that is not currently powered on from
powering on, or the like based on the reserve power capacity of the UPS
208. If the CMC 212 determines that server 202 needs to be powered down,
the CMC can send a power down signal to the controller 210 of the server
202. Similarly, if the CMC 212 determines that server 204 should not be
powered on, the CMC can send a do not power on signal to or reject a
power on request from the controller 210 of the server 204. The CMC 212
can send the power limit for each of the servers 202, 204, and 206 to the
controller 210 of the respective server.

[0025] When the controller 210 of each of the servers 202, 204, and 206
has received the power limit for the server, the controller can enforce
the power limit via the host processor of the server. For example, the
controller 210 can communicate with the host processor of the server 202,
and cut back the host processor to enforce the power limit in the server.
The host processor can then disable particular components in the server
so that the server can operate at the power limit determined by the CMC
212.

[0026] The CMC 212 can also dynamically adjust the power limit for each of
the server 202, 204, and 206 over the desired uptime for the blade server
chassis 200. For example, the CMC 212 can poll the UPS 208 at fixed
intervals to receive the current reserve power capacity of the UPS. When
the CMC 212 has received the current reserve power capacity, the
controller can calculate and set the new power limit for each of the
servers 202, 204, and 206. If the current reserve power capacity of the
UPS 208 is higher than expected because the servers 202, 204, and 206 did
not use all of the allocated power for a given time period, the new power
limit for each of the servers can be higher than the original power
limit. The CMC 212 can continue to re-poll the UPS 208 at the fixed
intervals to receive the current reserve power capacity of the UPS, and
can re-calculate and set the new power limit for each of the servers 202,
204, and 206 based on the current reserve power capacity until the AC
power is restored to the blade server chassis 200.

[0027] FIG. 5 shows a method 500 for extending an uptime of the server
running on backup power. At block 502, a desired server uptime is
received at a controller of a server. The desired server uptime can be
received from a user via a GUI. An indication of whether a power limit
for the server is to be fixed or decreasing over the desired server
uptime is received at the controller at block 504. At block 506, a power
loss signal is received from a UPS indicating that a primary power has
been lost. The primary power can be AC power or DC power. A power
capacity query is sent from the controller to the UPS at block 508.

[0028] At block 510, a reserve power capacity of the UPS is received at
the controller. The power limit for the server is calculated based on the
reserve power capacity of the UPS and on the desired server uptime at
block 512. At block 514, the power limit of the server is enforced by the
controller. The power limit can be enforced by the controller reducing
the power consumption of the host processor, memory, and other
components, or even shutting down unused components like redundant
network adapters. At block 516, a determination is made whether the
primary power has been restored. If the primary power has not been
restored, the flow repeats as stated above at block 508. If the primary
power has been restored, the power limit for the server is cleared at
block 518.

[0029] FIG. 6 shows an alternative method 600 for extending an uptime of
the server running on backup power. At block 602, a desired system uptime
is received at a CMC of a blade server chassis. The desired system uptime
can be received from a user via a GUI. An indication of whether a power
limit for a server is to be fixed or decreasing over the desired system
uptime is received at the CMC at block 604. At block 606, a power loss
signal is received at the CMC from a UPS indicating that primary power
has been lost. The primary power can be AC power or DC power. A power
capacity query is sent from the CMC to the UPS at block 608.

[0030] At block 610, a reserve power capacity of the UPS is received at
the CMC. The power limit for the server is calculated based on the
reserve power capacity of the UPS and on the desired system uptime at
block 612. At block 614, the power limit for the server is sent to a
controller of the server. At block 616, the power limit on the server is
enforced by the controller. The power limit can be enforced by the
controller by reducing the power consumption of the host processor,
memory, and other components, or even shutting down unused components
like redundant network adapters. At block 618, a determination is made
whether the primary power has been restored. If the primary power has not
been restored, the flow repeats as stated above at block 608. If the
primary power has been restored, the power limit for the server is
cleared at block 620.

[0031]FIG. 7 illustrates a block diagram of a general information
handling system, generally designated at 700. In one form, the
information handling system 700 can be a computer system such as a
server. As shown in FIG. 7, the information handling system 700 can
include a first physical processor 702 coupled to a first host bus 704
and can further include additional processors generally designated as
nth physical processor 706 coupled to a second host bus 708. The
first physical processor 702 can be coupled to a chipset 710 via the
first host bus 704. Further, the nth physical processor 706 can be
coupled to the chipset 710 via the second host bus 708. The chipset 710
can support multiple processors and can allow for simultaneous processing
of multiple processors and support the exchange of information within
information handling system 700 during multiple processing operations.

[0032] According to one aspect, the chipset 710 can be referred to as a
memory hub or a memory controller. For example, the chipset 710 can
include an Accelerated Hub Architecture (AHA) that uses a dedicated bus
to transfer data between first physical processor 702 and the nth
physical processor 706. For example, the chipset 710, including an AHA
enabled-chipset, can include a memory controller hub and an input/output
(I/O) controller hub. As a memory controller hub, the chipset 710 can
function to provide access to first physical processor 702 using first
bus 704 and nth physical processor 706 using the second host bus
708. The chipset 710 can also provide a memory interface for accessing
memory 712 using a memory bus 714. In a particular embodiment, the buses
704, 708, and 714 can be individual buses or part of the same bus. The
chipset 710 can also provide bus control and can handle transfers between
the buses 704, 708, and 714.

[0033] According to another aspect, the chipset 710 can be generally
considered an application specific chipset that provides connectivity to
various buses, and integrates other system functions. For example, the
chipset 710 can be provided using an Intel® Hub Architecture (IHA)
chipset that can also include two parts, a Graphics and AGP Memory
Controller Hub (GMCH) and an I/O Controller Hub (ICH). For example, an
Intel 820E, an 815E chipset, or any combination thereof, available from
the Intel Corporation of Santa Clara, Calif., can provide at least a
portion of the chipset 710. The chipset 710 can also be packaged as an
application specific integrated circuit (ASIC).

[0034] The information handling system 700 can also include a video
graphics interface 722 that can be coupled to the chipset 710 using a
third host bus 724. In one form, the video graphics interface 722 can be
an Accelerated Graphics Port (AGP) interface to display content within a
video display unit 726. Other graphics interfaces may also be used. The
video graphics interface 722 can provide a video display output 728 to
the video display unit 726. The video display unit 726 can include one or
more types of video displays such as a flat panel display (FPD) or other
type of display device.

[0035] The information handling system 700 can also include an I/O
interface 730 that can be connected via an I/O bus 720 to the chipset
710. The I/O interface 730 and I/O bus 720 can include industry standard
buses or proprietary buses and respective interfaces or controllers. For
example, the I/O bus 720 can also include a Peripheral Component
Interconnect (PCI) bus or a high speed PCI-Express bus. In one
embodiment, a PCI bus can be operated at approximately 76 MHz and a
PCI-Express bus can be operated at approximately 728 MHz. PCI buses and
PCI-Express buses can be provided to comply with industry standards for
connecting and communicating between various PCI-enabled hardware
devices. Other buses can also be provided in association with, or
independent of, the I/O bus 720 including, but not limited to, industry
standard buses or proprietary buses, such as Industry Standard
Architecture (ISA), Small Computer Serial Interface (SCSI),
Inter-Integrated Circuit (I2C), System Packet Interface (SPI), or
Universal Serial buses (USBs).

[0036] In an alternate embodiment, the chipset 710 can be a chipset
employing a Northbridge/Southbridge chipset configuration (not
illustrated). For example, a Northbridge portion of the chipset 710 can
communicate with the first physical processor 702 and can control
interaction with the memory 712, the I/O bus 720 that can be operable as
a PCI bus, and activities for the video graphics interface 722. The
Northbridge portion can also communicate with the first physical
processor 702 using first bus 704 and the second bus 708 coupled to the
nth physical processor 706. The chipset 710 can also include a
Southbridge portion (not illustrated) of the chipset 710 and can handle
I/O functions of the chipset 710. The Southbridge portion can manage the
basic forms of I/O such as Universal Serial Bus (USB), serial I/O, audio
outputs, Integrated Drive Electronics (IDE), and ISA I/O for the
information handling system 700.

[0037] The information handling system 700 can further include a disk
controller 732 coupled to the I/O bus 720, and connecting one or more
internal disk drives such as a hard disk drive (HDD) 734 and an optical
disk drive (ODD) 736 such as a Read/Write Compact Disk (R/W CD), a
Read/Write Digital Video Disk (R/W DVD), a Read/Write mini-Digital Video
Disk (R/W mini-DVD), or other type of optical disk drive.

[0038] Although only a few exemplary embodiments have been described in
detail above, those skilled in the art will readily appreciate that many
modifications are possible in the exemplary embodiments without
materially departing from the novel teachings and advantages of the
embodiments of the present disclosure. Accordingly, all such
modifications are intended to be included within the scope of the
embodiments of the present disclosure as defined in the following claims.
In the claims, means-plus-function clauses are intended to cover the
structures described herein as performing the recited function and not
only structural equivalents, but also equivalent structures.

Patent applications by Elie A. Jreij, Pflugerville, TX US

Patent applications by Wayne R. Weilnau, Jr., Austin, TX US

Patent applications by DELL PRODUCTS L.P.

Patent applications in class By shutdown of only part of system

Patent applications in all subclasses By shutdown of only part of system