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

Abstract:

A programmable logic circuit assigns a value to an outlet of a power
distribution unit (PDU) that comprises a power source at an input of the
PDU and at least one light-emitting diode (LED) associated with the
outlet. The programmable logic circuit sends the value to a program on a
hardware device that comprises one or more power supplies. The
programmable logic circuit receives information from the program.
Subsequently, an illumination state of the LED is modified based on the
information.

Claims:

1. A method for determining a power cable is suitable for disconnection
from an outlet of a power distribution unit, the method comprising:
assigning, with a programmable logic circuit, a value to an outlet of a
power distribution unit (PDU) that comprises a power source at an input
of the PDU and at least one light-emitting diode (LED) associated with
the outlet; sending, with the programmable logic circuit, the value to a
program on a hardware device that comprises one or more power supplies;
receiving, with the programmable logic circuit, information from the
program; and modifying an illumination state of the at least one LED
based on the information.

2. The method of claim 1, wherein assigning the value comprises utilizing
a switch to select the value, and the value represents the power source
at the input of the PDU.

3. The method of claim 2, wherein the switch is a dual-in-line package
(DIP) switch having selectors that toggle to select the value.

4. The method of claim 1, wherein the hardware device is deployed to
accomplish a specific task within an infrastructure in which essential
resources such as processing power, storage, and network bandwidth can be
allocated as needed.

5. The method of claim 1, wherein the information includes the following:
outlets connected to the hardware device via the one or more power
supplies, whether the hardware device is powered on, whether the hardware
device is powered off, whether the hardware device is receiving
electrical power via the one or more power supplies from at least two
different power sources, outlets that are connected to the one or more
power supplies that are non-functional, and outlets that are connected to
the one or more power supplies that are functional.

6. The method of claim 1, wherein modifying the illumination state of the
LED based on the information comprises determining the hardware device is
powered on and is receiving electrical power, via the one or more power
supplies, from at least two different power sources, and activating the
LED.

7. The method of claim 1, wherein modifying the illumination state of the
LED based on the information comprises determining the hardware device is
powered off, and deactivating the LED.

8. The method of claim 1, wherein modifying the illumination state of the
LED based on the information comprises determining the hardware device is
powered on and the outlet is connected to one of the one or more power
supplies that are non-functional, and deactivating the LED.

9. The method of claim 1, wherein modifying the illumination state of the
LED based on the information comprises determining the hardware device is
powered on and is not receiving electrical power, via the one or more
power supplies, from at least two different power sources, and blinking
the LED.

10. The method of claim 1, wherein sending, with the programmable logic
circuit, the value to the program on the hardware device comprises
sending a unique ID associated with the outlet in which the unique ID
allows the outlet to be individually identified by the program on the
hardware device.

11. A computer program product for determining a power cable is suitable
for disconnection from an outlet of a power distribution unit comprising:
a computer readable storage medium and program instructions stored on the
computer readable storage medium, the program instructions comprising:
program instructions to assign, with a programmable logic circuit, a
value to an outlet of a power distribution unit (PDU) that comprises a
power source at an input of the PDU and at least one light-emitting diode
(LED) associated with the outlet; program instructions to send, with the
programmable logic circuit, the value to a program on a hardware device
that comprises one or more power supplies; program instructions to
receive, with the programmable logic circuit, information from the
program; and program instructions to modify an illumination state of the
at least one LED based on the information.

12. The computer program product of claim 11, wherein the program
instructions to assign the value comprise utilizing a switch to select
the value, and the value represents the power source at the input of the
PDU.

13. The computer program product of claim 12, wherein the switch is a
dual-in-line package (DIP) switch having selectors that toggle to select
the value.

14. The computer program product of claim 11, wherein the hardware device
is deployed to accomplish a specific task within an infrastructure in
which essential resources such as processing power, storage, and network
bandwidth can be allocated as needed.

15. The computer program product of claim 11, wherein the information
includes the following: outlets connected to the hardware device via the
one or more power supplies, whether the hardware device is powered on,
whether the hardware device is powered off, whether the hardware device
is receiving electrical power via the one or more power supplies from at
least two different power sources, outlets that are connected to the one
or more power supplies that are non-functional, and outlets that are
connected to the one or more power supplies that are functional.

16. The computer program product of claim 11, wherein the program
instructions to modify the illumination state of the LED based on the
information comprises determining the hardware device is powered on and
is receiving electrical power, via the one or more power supplies, from
at least two different power sources, and activating the LED.

17. The computer program product of claim 11, wherein the program
instructions to modify the illumination state of the LED based on the
information comprises determining the hardware device is powered off, and
deactivating the LED.

18. The computer program product of claim 11, wherein the program
instructions to modify the illumination state of the LED based on the
information comprises determining the hardware device is powered on and
the outlet is connected to one of the one or more power supplies that are
non-functional, and deactivating the LED.

19. The computer program product of claim 11, wherein the program
instructions to modify the illumination state of the LED based on the
information comprises determining the hardware device is powered on and
is not receiving electrical power, via the one or more power supplies,
from at least two different power sources, and blinking the LED.

20. The computer program product of claim 11, wherein program
instructions to send, with the programmable logic circuit, the value to
the program on the hardware device comprises sending a unique ID
associated with the outlet in which the unique ID allows the outlet to be
individually identified by the program on the hardware device.

Description:

BACKGROUND

[0001] 1. Field of the Invention

[0002] This disclosure relates generally to power distribution units, and
more specifically to monitoring power source redundancy via a power
distribution unit.

[0003] 2. Description of the Related Art

[0004] Complex computer environments such as data centers contain multiple
hardware devices, for example server computers, computer storage devices,
and computer network equipment. The hardware devices have a variety of
power needs and can be housed within a computer rack. To support the
power needs of the hardware devices, power distribution units (PDUs) are
utilized. The PDUs have multiple outlets (i.e., receptacles) that receive
electrical power from a power source, and the outlets distribute the
electrical power to the hardware devices via power cables that connect
the outlets to power supplies of the hardware devices.

[0005] A service maintenance technician may experience difficulty in
determining the location of a specific power cable that connects a power
supply of a hardware device to an outlet of a PDU, because the power
cable can be bundled together and covered by other power cables. For
instance, often times within the complex computer environments,
maintenance needs to be performed by a service maintenance technician on
the hardware devices. To perform the maintenance, it may be necessary to
disconnect one or more power cables of hardware devices, from outlets of
PDUs in order to remove electrical power that is being supplied to the
hardware devices. If the hardware devices are housed within a computer
rack, for example a forty-two unit computer rack in which each unit has
two power supplies, then there can be as many as eighty-four power cables
running to multiple PDUs. Thus, if certain hardware devices have more
than one power supply, then multiple power cables may have to be
disconnected from the PDUs in order to ensure removal of electrical power
to those hardware devices. Often the wrong power cables can be
disconnected from the PDUs when trying to remove the electrical power to
a hardware device, which can result in an unintentional shutdown of
another hardware device that is operational and needs to remain on.

[0006] It is known for a person to physically trace the power cables that
need to be disconnected, in order to locate the correct power cables and
remove electrical power supplied to a specific hardware device. However,
the power cables may be bundled together. As a result, a person may have
to unbundle many power cables in order to physically trace certain power
cables and remove the electrical power, which can be inefficient and
increase the time to perform and complete maintenance tasks. Furthermore,
it is also known to physically label each end of the power cables with
handwritten or typewritten tags, which can assist with locating the
correct power cables to disconnect from a PDU. However, trying to
physically trace power cables and read tags on the power cables can be
difficult because the power cables are often bundled together and housed
within a tightly enclosed area that is not easily accessible to a person,
such as a service maintenance technician.

SUMMARY

[0007] Aspects of an embodiment of the present invention disclose a method
and program product for determining a power cable is suitable for
disconnection from an outlet of a power distribution unit. A programmable
logic circuit assigns a value to an outlet of a power distribution unit
(PDU) that comprises a power source at an input of the PDU and at least
one light-emitting diode (LED) associated with the outlet. The
programmable logic circuit sends the value to a program on a hardware
device that comprises one or more power supplies. The programmable logic
circuit receives information from the program. Subsequently, an
illumination state of the LED is modified based on the information.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

[0008] The subject matter which is regarded as an embodiment of the
present invention is particularly pointed out and distinctly claimed in
the claims at the conclusion of the specification. One manner in which
recited features of an embodiment of the present invention can be
understood is by reference to the following detailed description of
embodiments, taken in conjunction with the accompanying drawings in
which:

[0009]FIG. 1A is a block diagram of a system having programmable logic
circuit that modifies an illumination state of light-emitting diodes
(LEDs) that are dedicated to specific outlets of a power distribution
unit (PDU) in which each PDU has a single power source according to an
embodiment of the present invention.

[0010]FIG. 1B is a block diagram of an alternative embodiment of the
system, shown in FIG. 1A, having programmable logic circuit that modifies
an illumination state of LEDs that are dedicated to specific outlets of a
PDU in which each PDU has more than one power source according to an
embodiment of the present invention.

[0011]FIG. 2A is an illustration of a PDU, shown in FIG. 1A, that
receives electrical power from a single power source, and receives
information on power supplies and power source conditions via a data
communication port according to an embodiment of the present invention.

[0012]FIG. 2B is an illustration of a PDU, shown in FIG. 1B, that
receives electrical power from more than one power source, and receives
information on power supplies and power source conditions via a data
communication port according to an embodiment of the present invention.

[0013]FIG. 3 is a flowchart illustrating operations of the programmable
logic circuit within the PDU according to an embodiment of the present
invention.

DETAILED DESCRIPTION

[0014] As will be appreciated by one skilled in the art, aspects of the
present invention may be embodied as a system, method or computer program
product. Accordingly, aspects of the present invention may take the form
of an entirely hardware embodiment, an entirely software embodiment
(including firmware, resident software, micro-code, etc.) or an
embodiment combining software and hardware aspects that may all generally
be referred to herein as a "circuit," "module" or "system." Furthermore,
aspects of the present invention may take the form of a computer program
product embodied in one or more computer readable medium(s) having
computer readable program code embodied thereon.

[0015] Any combination of one or more computer readable medium(s) may be
utilized. The computer readable medium may be a computer readable signal
medium or a computer readable storage medium. A computer readable storage
medium may be, for example, but not limited to, an electronic, magnetic,
optical, electromagnetic, infrared, or semiconductor system, apparatus,
or device, or any suitable combination of the foregoing. More specific
examples (a non-exhaustive list) of the computer readable storage medium
would include the following: an electrical connection having one or more
wires, a portable computer diskette, a hard disk, a random access memory
(RAM), a read-only memory (ROM), an erasable programmable read-only
memory (EPROM or Flash memory), an optical fiber, a portable compact disc
read-only memory (CD-ROM), an optical storage device, a magnetic storage
device, or any suitable combination of the foregoing. In the context of
this document, a computer readable storage medium may be any tangible
medium that can contain, or store a program for use by or in connection
with an instruction execution system, apparatus, or device.

[0016] A computer readable signal medium may include a propagated data
signal with computer readable program code embodied therein, for example,
in baseband or as part of a carrier wave. Such a propagated signal may
take any of a variety of forms, including, but not limited to,
electro-magnetic, optical, or any suitable combination thereof. A
computer readable signal medium may be any computer readable medium that
is not a computer readable storage medium and that can communicate,
propagate, or transport a program for use by or in connection with an
instruction execution system, apparatus, or device.

[0017] Program code embodied on a computer readable medium may be
transmitted using any appropriate medium, including but not limited to
wireless, wireline, optical fiber cable, RF, etc., or any suitable
combination of the foregoing.

[0018] Computer program code for carrying out operations for aspects of
the present invention may be written in any combination of one or more
programming languages, including an object oriented programming language
such as Java, Smalltalk, C++ or the like, conventional procedural
programming languages such as the "C" programming language, a hardware
description language such as Verilog, or similar programming languages.
The program code may execute entirely on the user's computer, partly on
the user's computer, as a stand-alone software package, partly on the
user's computer and partly on a remote computer or entirely on the remote
computer or server. In the latter scenario, the remote computer may be
connected to the user's computer through any type of network, including a
local area network (LAN) or a wide area network (WAN), or the connection
may be made to an external computer (for example, through the Internet
using an Internet Service Provider).

[0019] Aspects of the present invention are described below with reference
to flowchart illustrations and/or block diagrams of methods, apparatus
(systems) and computer program products according to embodiments of the
invention. It will be understood that each block of the flowchart
illustrations and/or block diagrams, and combinations of blocks in the
flowchart illustrations and/or block diagrams, can be implemented by
computer program instructions. These computer program instructions may be
provided to a processor of a general purpose computer, special purpose
computer, or other programmable data processing apparatus to produce a
machine, such that the instructions, which execute via the processor of
the computer or other programmable data processing apparatus, create
means for implementing the functions/acts specified in the flowchart
and/or block diagram block or blocks.

[0020] These computer program instructions may also be stored in a
computer readable medium that can direct a computer, other programmable
data processing apparatus, or other devices to function in a particular
manner, such that the instructions stored in the computer readable medium
produce an article of manufacture including instructions which implement
the function/act specified in the flowchart and/or block diagram block or
blocks.

[0021] The computer program instructions may also be loaded onto a
computer, other programmable data processing apparatus, or other devices
to cause a series of operational steps to be performed on the computer,
other programmable apparatus or other devices to produce a computer
implemented process such that the instructions which execute on the
computer or other programmable apparatus provide processes for
implementing the functions/acts specified in the flowchart and/or block
diagram block or blocks.

[0022] Exemplary embodiments now will be described more fully herein with
reference to the accompanying drawings. This disclosure may, however, be
embodied in many different forms and should not be construed as limited
to the exemplary embodiments set forth herein. Rather, these exemplary
embodiments are provided so that this disclosure will be thorough and
complete, and will fully convey the scope of this disclosure to those
skilled in the art. In the description, details of well-known features
and techniques may be omitted to avoid unnecessarily obscuring the
presented embodiments.

[0023] Embodiments of the present invention provide a technique for
determining a power cable is suitable for disconnection from an outlet of
a power distribution unit (PDU). The PDU includes a programmable logic
circuit that modifies an illumination state of a light-emitting diode
(LED) that is dedicated to a specific outlet of the PDU, based on
information about power supplies and power source conditions.
Particularly, the programmable logic circuit modifies the illumination
state of the LED by activating, deactivating, or blinking the LED. The
PDU having the programmable logic circuit and outlets with LEDs, can help
a person determine power cables, of hardware devices, that are suitable
for disconnection from outlets of the PDU.

[0024] If a hardware device is powered on, then the hardware device has
one or more hardware power supplies that are functional. Power cables
connected to the power supplies that are functional are not suitable for
disconnection from an outlet of the PDU if the hardware device is powered
on, because disconnecting the power cables may cause the hardware device
to shutdown or lose power source redundancy. A hardware device has power
source redundancy if the hardware device connects to at least two
separate outlets that each distribute electrical power from a different
power source.

[0025] Moreover, if the hardware device is powered on and has one or more
non-functional power supplies, then power cables connected to the
non-functional power supplies are suitable for disconnection from outlets
of the PDU. Power cables are also suitable for disconnection from outlets
of the PDU if the power cables are connected to power supplies of a
hardware device that is powered off. Thus, power cables are suitable for
disconnection if the hardware device is not utilizing the power cables as
a transmission medium for receiving electrical power. Accordingly, if a
hardware device is powered off, or the hardware device is powered on and
has one or more power supplies that are non-functional, then LEDs
corresponding to certain outlets connected to the hardware device will
deactivate (i.e., certain LEDs will turn off). Particularly an LED
corresponding to an outlet will deactivate if the outlet is connected,
via a power cable, to a hardware device that is powered off. In addition,
an LED corresponding to an outlet will deactivate if the outlet is
connected via a power cable to a power supply, of a hardware device, that
is non-functional. An LED that is deactivated indicates that it is safe
to disconnect a power cable from an outlet corresponding to the LED.

[0026] Furthermore, certain power cables of hardware devices are not
suitable for disconnection if the hardware devices are powered on, even
if the hardware devices have power source redundancy. As described above,
a hardware device has power source redundancy if the hardware device
connects to at least two separate outlets that each distribute electrical
power from a different power source. If the hardware device is powered on
and has power source redundancy, then LEDs corresponding to outlets
connected to functional power supplies of the hardware device will
activate (i.e., LEDs will turn on). An LED that is activated indicates
that it is unsafe to disconnect a power cable from an outlet
corresponding to the LED, because disconnecting the power cable may lead
to loss of power source redundancy for a hardware device.

[0027] In addition, if a hardware device is powered on and does not have
power source redundancy, then LEDs corresponding to the outlets connected
to functional power supplies of the hardware device will blink. A LED
that blinks indicates that it is unsafe to disconnect a power cable from
an outlet corresponding to the LED, because a hardware device connected
to the outlet does not have power source redundancy and disconnecting the
power cable may lead to total loss of electrical power to the hardware
device.

[0028]FIG. 1A is a block diagram illustrating system 100 that includes
PDU 105a and 105b having input 101a and 101b, power source 102a and 102b,
network interface card 110a and 110b, power cables 115a-118a and
115b-118b, programmable logic circuit 120a and 120b, a group of outlets
125a-128a and 125b-128b, a group of LEDs 135a-138a and 135b-138b, and
switch 140a and 140b, respectively. System 100 also includes one or more
hardware devices 150 each having system management software 155 and one
or more power supplies 160, wherein hardware devices 150 are connected to
PDU 105a and 105b via network 108. Specifically, PDU 105a and 105b,
utilizing network interface cards 110a and 110b, can be configured to
communicate with system management software 155 via network 108. Network
interface cards 110a and 110b include application firmware and hardware
components that enable PDU 105a and PDU 105b respectively, to
electronically communicate with hardware devices 150 (i.e., send and
receive information). PDU 105a and 105b can be floor-mounted or housed
within a computer rack. Moreover, outlets 125a-128a of PDU 105a are
connected to LEDs 135a-138a respectively, and outlets 125b-128b of PDU
105b are connected to LEDs 135b-138b respectively. Power cables 115a-118a
distribute electrical power from PDU 105a to hardware devices 150, and
power cables 115b-118b distribute electrical power from PDU 105b to
hardware devices 150. Particularly, power cables 115a-118a and 115b-118
can connect outlets 125a-128a and 125b-128b to as many as eight separate
power supplies 160.

[0029] In the disclosed embodiment, PDU 105a and 105b both distribute
electrical power to hardware devices 150, but are connected to different
power sources. PDU 105a is connected to power source 102a at input 101a,
whereas PDU 105b is connected to power source 102b at input 101b. Thus,
in the disclosed embodiment, each of hardware devices 150 can have power
source redundancy if at least one of its power supplies 160 that is
functional is connected to PDU 105a, and if another one of its power
supplies 160 that is functional is connected to PDU 105b. Hardware
devices 150 may be a computer with a workload (i.e., an application
program executing in the computer and generally a number of end-users
interacting with the computer's applications) deployed to accomplish a
specific task within a virtualized infrastructure in which essential
resources such as processing power, storage, and network bandwidth can be
dynamically allocated as needed.

[0030] Furthermore, in regard to PDU 105a, switch 140a can communicate
with programmable logic circuit 120a to indicate which of outlets
125a-128a are connected to power source 102a, by selecting a value that
can be assigned by programmable logic circuit 120a for each of outlets
125a-128a. Specifically, switch 140a can be a dual-in-line package (DIP)
switch having selectors that can be toggled to select a first value that
can be assigned to each of outlets 125a-128a, wherein the first value
represents power source 102a. In the disclosed embodiment, power source
102a distributes electrical power through input 101a to all outlets
125a-128a. Thus, by utilizing switch 140a and programmable logic circuit
120a, each of outlets 125a-128a has the first value assigned to indicate
that outlets 125a-128a are connected to power source 102a. As described
above, PDU 105a is connected, via network 108, to hardware devices 150.
Programmable logic circuit 120a utilizes network 108 to transmit, for
each of outlets 125a-128a, the first value and a PDU outlet identifier
(PDU outlet ID) to system management software 155. Each of outlets
125a-128a has a unique PDU outlet ID, which allows each outlet 125a-128a
to be individually identified. System management software 155 can utilize
the first value received for each of outlets 125a-128a as part of
determining whether hardware devices 150 have power source redundancy
(i.e., whether hardware devices 150 are redundantly cabled to power
sources 102a and 102b). For example, if power supplies 160 are functional
and are all connected to a combination of outlets 125a-128a having the
first value (i.e., having the same power source), then system management
software 155 determines that the hardware devices 150 corresponding to
the power supplies 160 do not have power source redundancy because the
hardware devices 150 are connected to a combination of outlets 125a-128a
that have the same power source.

[0031] Likewise, in regard to PDU 105b, switch 140b can communicate with
programmable logic circuit 120b to indicate which of outlets 125b-128b
are connected to power source 102b, by selecting a value that can be
assigned by programmable logic circuit 120b for each of outlets
125b-128b. In particular, switch 140b can be a DIP switch having
selectors that can be toggled to select a second value that can be
assigned to each of outlets 125b-128b, wherein the second value
represents power source 102b. In the disclosed embodiment, power source
102b distributes electrical power through input 101b to all outlets
125b-128b. Thus, by utilizing switch 140b and programmable logic circuit
120b, each of outlets 125b-128b has the second value assigned to indicate
that outlets 125b-128b are connected to power source 102b. For each of
outlets 125b-128b, programmable logic circuit 120b transmits the second
value and a PDU outlet ID, via network 108, to system management software
155. Each of outlets 125b-128b has a unique PDU outlet ID, which allows
each outlet 125b-128b to be individually identified.

[0032] Subsequently, system management software 155 can process the first
values, the second values, and PDU outlet IDs received and determine
whether hardware devices 150 have power source redundancy. For example,
if system management software 155 of a hardware device 150 receives a
first value and a second value, then this indicates that the hardware
device 150 is connected to a combination of outlets 125a-128a and
125b-128b having different power sources. Thus, if the hardware device
150 has power supplies 160 that are functional and connected to the
combination of outlets 125a-128a and 125b-128b having different power
sources, then system management software 155 processes the first value
and second value and determines that the hardware device 150 has power
source redundancy. However, if the system management software 155 of a
hardware device 150 receives only one or more first values or only one or
more second values, then this indicates that the hardware device 150 is
connected to a combination of outlets 125a-128a or 125b-128b not having
different power sources. Consequently, system management software 155
processes the one or more first values or second values and determines
that the hardware device 150 does not have power source redundancy.

[0033] After making a determination on power source redundancy, of
hardware devices 150, system management software 155 can send information
about power supplies 160 and power source conditions to programmable
logic circuit 120a and 120b. Specifically, the information that system
management software 155 can send to programmable logic circuit 120a and
120b includes the following: outlets 125a-128a and 125b-128b that are
connected to hardware devices 150 via power supplies 160, whether
hardware devices 150 are powered on, whether hardware devices 150 are
powered off, whether hardware devices 150 are receiving electrical power
via power supplies 160 from at least two different power sources, outlets
125a-128a and 125b-128b that are connected to power supplies 160 that are
non-functional, and outlets 125a-128a and 125b-128b that are connected to
power supplies 160 that are functional.

[0034] As mentioned above, programmable logic circuit 120a and 120b
receive the information from system management software 155. Programmable
logic circuit 120a and 120b can utilize the information to activate,
deactivate, or blink one or more LEDs 135a-138a and 135b-138b,
respectively. Programmable logic circuit 120a and 120b may be implemented
utilizing a microprocessor or an integrated circuit such as a
field-programmable gate array (FPGA), which can be programmed by an
end-user. In addition, in the disclosed embodiment, PDU 105a and 105b
each have four outlets 125a-128a and 125b-128b, respectively. In other
embodiments (not shown) PDU 105a and 105b may each have only one outlet
or as many as forty outlets, wherein each outlet can have its own
corresponding LED.

[0035]FIG. 1B is a block diagram illustrating an alternative embodiment
of system 100 that includes PDU 105a and 105b having power source 102a
and 102b at each input 101a and 101b. In the alternative embodiment, each
of hardware devices 150 can have power source redundancy by utilizing
either PDU 105a alone or PDU 105b alone, because input 101a and 101b are
each connected to power source 102a and 102b such that PDU 105a and 105b
can each distribute electrical power from power source 102a and 102b.
Thus, in the alternative embodiment, PDU 105a can provide power source
redundancy for hardware devices 150 by utilizing switch 140a to select
the first value that can be assigned to a portion of outlets 125a-128a
connected to power source 102a, and select the second value that can be
assigned to a portion of outlets 125a-128a connected to power source
102b. Similarly, PDU 105b can provide power source redundancy by
utilizing switch 140b to select the first value that can be assigned to a
portion of outlets 125b-128b connected to power source 102a, and select
the second value that can be assigned to a portion of outlets 125b-128b
connected to power source 102b. As described above the first value
represents power source 102a, and the second value represents power
source 102b. Moreover, in the alternative embodiment, PDU 105a and 105b
each have four outlets 125a-128a and 125b-128b, respectively. In other
embodiments (not shown) PDU 105a and 105b may each have only two outlets
or as many as forty outlets, wherein each outlet can have its own
corresponding LED.

[0036]FIG. 2A illustrates PDU 105a, shown in FIG. 1A, having outlets
125a-128a, LEDs 135a-138a, switch 140a, data communication port 142, and
power cord 144 with plug 145. PDU 105a can receive electrical power from
a single power source (e.g., power source 102a) via power cord 144 and
can distribute the electrical power through outlets 125a-128a to hardware
devices 150. In addition, PDU 105a can receive information about power
supplies 160 and power source conditions through data communication port
142, wherein programmable logic circuit 120a can process the information
and activate, deactivate, or blink one or more LEDs 135a-138a based on
the information.

[0037]FIG. 2B illustrates PDU 105a, shown in FIG. 1B, having outlets
125a-128a, LEDs 135a-138a, switch 140a, data communication port 142,
power cord 144 with plug 145, and power cord 146 with plug 147. PDU 105a
can receive electrical power from two power sources (e.g., power source
102a and 102b) via power cord 144 and 146 and can distribute the
electrical power through outlets 125a-128a to hardware devices 150. In
addition, PDU 105a can receive information about power supplies 160 and
power source conditions through data communication port 142, wherein
programmable logic circuit 120a can process the information and activate,
deactivate, or blink one or more LEDs 135a-138a based on the information.

[0038]FIG. 3 is a flowchart 300 illustrating operations of programmable
logic circuit 120a and 120b within PDU 105a and 105b, respectively.
However, for simplicity the flowchart is explained in terms of
programmable logic circuit 120a. To begin the operations, values are
selected for outlets 125a-128a by utilizing switch 140a, wherein the
values represent power sources at input 101a of PDU 105a. Programmable
logic circuit 120a assigns a value to each outlet 125a-128a of PDU 105a
(block 300). Next, programmable logic circuit 120a sends the value and a
PDU outlet ID to system management software 155 on hardware devices 150,
for each outlet 125a-128a having an LED (block 305). System management
software 155 processes the value to determine whether the hardware device
150 has power source redundancy. Specifically, system management software
155 on a hardware device 150 can determine that hardware device 150 has
power source redundancy if system management software receives at least
two different values (i.e., a first value and a second value) that each
have different PDU outlet IDs. Next system management software 155 sends
information to programmable logic circuit 120a. The information includes
the following: outlets 125a-128a and 125b-128b that are connected to
hardware devices 150 via power supplies 160, whether hardware devices 150
are powered on, whether hardware devices 150 are powered off, whether
hardware devices 150 are receiving electrical power via power supplies
160 from at least two different power sources, outlets 125a-128a and
125b-128b that are connected to power supplies 160 that are
non-functional, and outlets 125a-128a and 125b-128b that are connected to
power supplies 160 that are functional.

[0040] If programmable logic circuit 120a determines that the information
indicates hardware device 150 does not have non-functional power supplies
160 ("NO" branch of decision block 325), then programmable logic circuit
120a determines if the information further indicates hardware device 150
has power source redundancy. If programmable logic circuit 120a
determines that the information further indicates hardware device 150 has
power source redundancy ("YES" branch of decision block 335), then
programmable logic circuit 120a activates the LED (e.g., LED 135a-138a)
of each outlet 125a-128a connected, via a power cable, to functional
power supplies 160 of hardware device 150 (block 340). Subsequently,
further processing by programmable logic circuit 120a ends.

[0041] However, if programmable logic circuit 120a determines that the
information indicates hardware device 150 has non-functional power
supplies 160 ("YES" branch of decision block 325), then programmable
logic circuit 120a deactivates the LED (e.g., LED 135a-138a) of each
outlet 125a-128a connected, via a power cable, to non-functional power
supplies 160 of hardware device 150 (block 330). Subsequently, if
programmable logic circuit 120a determines that the information indicates
hardware device 150 has power source redundancy ("YES" branch of decision
block 335), then programmable logic circuit 120a activates the LED (e.g.,
LED 135a-138a) of each outlet 125a-128a connected, via a power cable, to
functional power supplies 160 of hardware device 150 (block 340).
However, if programmable logic circuit 120a determines that the
information indicates hardware device 150 does not have power source
redundancy ("NO" branch of decision block 335), then programmable logic
circuit 120a blinks the LED (e.g., LED 135a-138a) of each outlet
connected via a power cable to functional power supplies 160 of hardware
device 150 (block 345). Next, further processing by programmable logic
circuit 120a ends.

[0042] Flowchart 300 depicted in FIG. 3 illustrates the functionality and
operation of possible implementations of a programmable logic circuit
within a PDU having outlets in which each outlet has an LED, according to
various embodiments of the present invention. In this regard, each block
in the flowchart or block diagrams may represent a module, segment, or
portion of code, which comprises one or more executable instructions for
implementing logical function(s). It should also be noted that, in some
alternative implementations, the functions noted in the block may occur
out of the order noted in the figures. For example, two blocks shown in
succession may, in fact, be executed substantially concurrently, or the
blocks may sometimes be executed in the reverse order, depending upon the
functionality involved. It will also be noted that each block of the
block diagrams and/or flowchart illustration, and combinations of blocks
in the block diagrams and/or flowchart illustration, can be implemented
by special purpose hardware-based systems that perform the specified
functions or acts, or combinations of special purpose hardware and
computer instructions.

[0043] Lastly, the foregoing description of various aspects of the
invention has been presented for purposes of illustration and
description. It is not intended to be exhaustive or to limit the
invention to the precise form disclosed and, obviously, many
modifications and variations are possible. Such modifications and
variations that may be apparent to a person skilled in the art are
intended to be included within the scope of the invention as defined by
the accompanying claims.