Patent Description:
The present disclosure relates to systems and methods for remotely detecting and identifying electrically powered devices, and more particularly to systems and methods for identifying which electrically powered devices are being powered from a particular rack power distribution unit.

In a modern day data center there are frequently dozens, hundreds or even thousands of electrically powered devices being operated at a given time. Such devices may be servers, network switches, routers, and a wide variety of other data center components. Typically two or more such components are coupled to a rack power distribution unit ("rPDU"), which is sometimes also referred to as an "intelligent power strip. " A modern day rPDU is rack mountable in a standard equipment rack and typically includes a plurality of AC power outlets. The rPDU distributes received AC power from an AC supply source in the data center to one or more data center devices which have their AC power cords coupled to the PDU's AC power outlets, and which are also typically mounted in the same equipment rack as the rPDU. The rPDU may include its own electronic controller which can communicate with other upstream devices. The rPDU also may include an independently controllable power switch, controllable by its associated controller, which enables each outlet of the rPDU to be independently turned on and off. This capability enables the rPDU to be commanded by an upstream device or application to selectively turn on and off AC power to an associated AC receptacle of the rPDU, to thus control power being applied to a specific data center device being powered from that specific AC power outlet of the rPDU. This controller commanded controlled On/Off switching capability enables various data center devices being powered from a given rPDU to be power cycled on and off remotely by a data center worker through a suitable control application.

It is important in modern day centers to know exactly which data center devices are coupled to which rPDU. By knowing which devices are being powered from which rPDU, remote control over the On/Off operation of a given data center device can be undertaken with confidence. This is especially important because it is often necessary for data center personnel to be able to remotely power cycle a data center device (e.g., a server) to re-boot it. However, as equipment is frequently moved within a data center, it becomes necessary to periodically determ ine/verify exactly what data center device is coupled to a given rPDU, and more typically what data center device is coupled to a specific AC outlet of a given rPDU. This identification/discovery operation may be performed manually by a data center worker physically inspecting each piece of data center equipment and noting exactly which rPDU, and more typically which rPDU outlet, each data center device is connected to. As will be appreciated, however, this can be an extremely time consuming operation, particularly if the data center has a large plurality (e.g., hundreds or thousands) of devices that have to be periodically checked to ensure that asset tracking records associating them with particular rPDU outlets are valid and up to date.

Still another reason for having an accurate asset tracking record of which data center device is coupled to which power outlet of each rPDU is for when it is necessary to sequentially start up a number of different data center devices, which are all controlled by a common upstream circuit breaker. In this instance it becomes important to avoid creating excessive in-rush currents that would otherwise trip the upstream circuit breaker. Knowing with confidence exactly what data center device is coupled to each outlet of a given rPDU enables the data center worker to sequentially power cycle "On" specific data center devices that are all controlled from a common breaker, and thereby eliminate the chance of inadvertently tripping the circuit breaker when powering up a plurality of data center devices.

Some attempts have been made to automate the above described identification process. These attempts have typically involved sending a command to a target data center device to power cycle the device, and then noting at which rPDU (or rPDU outlet) a current drop occurred when the target device was powered down. Obviously, the disadvantage here is that the target device has to be powered down. If the device is a server supporting one or more applications being used by various users, this can be a significant inconvenience to the users. The need to power cycle other devices, for example network switches, can also be quite disruptive to users who are accessing/using the various data center devices. Also, data center workers are sometimes uncomfortable with remotely powering down specific servers through commands to a specific rPDU outlet, on the off chance that the server they think they are commanding to be power cycled is in fact connected to a different rPDU outlet, which thus will result in inadvertently powering down the wrong server. Still other attempts at identifying remote devices have involved using an application or agent that causes more resources to be used in a deterministic way (e.g., ramping internal fans of remote devices up and down periodically). These attempts have likewise met with limited success.

In view of the foregoing, a system and method for identifying/verifying which data center devices are being powered from a specific rPDU AC power outlet, and doing so in a manner which is not disruptive to the data center devices and does not require powering down the data center devices as part of the testing process, would be very valuable.

<CIT> and <CIT> relate to identify electrically powered devices by a power supply device and to a storage system producing power consumption in this kind of storage systems.

The present invention is defined by the attached independent claims. Other preferred embodiments may be found in the dependent claims. The present application discloses a system (<NUM>) for at least one of identifying or verifying which specific data center device, from a plurality of data center devices, is being powered from an AC outlet (24a-24d) of a power distribution unit (<NUM>), the system (<NUM>) comprising:a message encoding algorithm module;a message decoding algorithm module;an input signal monitoring subsystem (<NUM>) for monitoring an alternating current (AC) power signal being supplied to the data center devices, wherein one of the data center devices includes an AC powered target device (<NUM>);an AC powered target device (<NUM>) including; an AC power inlet for receiving the AC power signal; a processor in communication with the input signal monitoring subsystem (<NUM>);a power distribution unit (PDU) (<NUM>) for supplying the alternating current (AC) power signal to the AC powered target device (<NUM>), the PDU (<NUM>) including a controller (<NUM>), the controller (<NUM>) being in communication with the message encoding algorithm (22b) and configured to use the message encoding algorithm (22b) to create an encoded message in accordance with a predetermined power cycle profile (PCP) event, the PCP event being implemented by the PDU (<NUM>) generating a modulated AC power signal encoded with the PCP event, and wherein the modulated AC power signal is sufficient in magnitude so as not to cause a loss of power or a brownout condition that causes rebooting of an AC powered data center device; and the target device (<NUM>) further configured to analyze the PCP event as the modulated AC power signal is received, and to create a decoded message therefrom, the decoded message being used to indicate whether the AC outlet (24a-24d) of the PDU (<NUM>) is providing power to the target device (<NUM>). Furthermore the present application discloses a method for at least one of identifying or verifying which specific data center device, from a plurality of data center devices, is being powered from a specific AC power outlet (24a-24d) of a power distribution unit (PDU) (<NUM>), the method comprising:using the PDU (<NUM>) to supply an alternating current (AC) power signal to at least one target device (<NUM>) via the specific AC power outlet (24a-24d) of the PDU (<NUM>);using the PDU (<NUM>) and a message encoding algorithm module to modulate the AC power signal in accordance with a predefined power cycle profile (PCP) event repeated a plurality of times in accordance with a predetermined repetition pattern of varying time intervals, and wherein the PCP events represent an encoded message wherein the modulated AC power signal is sufficient in magnitude so as not cause a reduction in AC power sufficient to result in re-booting of the at least one target device (<NUM>) being powered by the AC power signal;using the target device (<NUM>) to receive the encoded message via the AC power signal;causing the target device (<NUM>) to use a message decoding algorithm module to decode the encoded message to produce a decoded message; and using the decoded message to determine if the target device (<NUM>) is receiving the AC power signal from the specific AC power outlet (24a-24d) of the PDU (<NUM>). The AC powered target device may include an AC power inlet for receiving the AC power signal, and a processor in communication with the input signal monitoring subsystem. The system may further include a power distribution unit (PDU) for supplying the alternating current (AC) power signal to the AC powered target device. The PDU may include a controller which is in communication with the message encoding algorithm. The controller may be configured to use the message encoding algorithm to create an encoded message in accordance with a predetermined power cycle profile (PCP) event. The PCP event may be implemented by the PDU generating a modulated AC power signal encoded with the PCP event, and wherein the modulated AC power signal is sufficient in magnitude so as not to cause a loss of power or a brownout condition that causes rebooting of an AC powered data center device. The target device may further be configured to analyze the PCP event as the modulated AC power signal is received and to create a decoded message therefrom. The decoded message is used to indicate whether the AC outlet of the PDU is providing power to the target device.

In another aspect the present disclosure relates to a system for at least one of identifying or verifying which specific data center device, from a plurality of data center devices, is being powered from an AC outlet of a power distribution unit having a plurality of AC outlets. The system may comprise a message encoding algorithm configured to encode an AC power signal with a power cycle profile (PCP) event repeated at varying time intervals, which represents an encoded message carried by the AC power signal. The system may also include a message decoding algorithm for decoding the encoded message in the encoded AC power signal, as well as an AC power monitoring subsystem for monitoring the AC power signal. The system may further include a power distribution unit (PDU) for supplying the AC power signal to the plurality of data center devices. The PDU may include a controller which is configured to access and use the message encoding algorithm to generate the encoded message in the AC power signal. The system may further include the use of an AC powered target device, which itself includes an AC power inlet for receiving the AC power signal from the PDU, a main processor, a service processor and a communications port in communication with the service processor. The service processor is configured to access and use the AC power monitoring subsystem and the message decoding algorithm to decode the encoded message in the AC power signal, and to create a decoded message therefrom which is indicative of which PDU outlet is providing power to the AC powered target device. The service processor is further configured to transmit the decoded message to a remote system using the communications port.

In still another aspect the present disclosure relates to a method for at least one of identifying or verifying which specific data center device, from a plurality of data center devices, is being powered from a specific AC power outlet of a power distribution unit (PDU). The method may comprise using the PDU to supply an alternating current (AC) power signal to at least one target device via the specific AC power outlet of the PDU. The method may further include using the PDU to modulate the AC power signal in accordance with a predefined power cycle profile (PCP) event repeated a plurality of times in accordance with a predetermined repetition pattern of varying time intervals. The PCP events may represent an encoded message which does not cause a reduction in AC power sufficient to result in re-booting of the at least one target device being powered by the AC power signal. The method may further include using the target device to receive the encoded message via the AC power signal and to decode the encoded message to produce a decoded message. The method may further include using the decoded message to determine if the target device is receiving the AC power signal from the specific AC power outlet of the PDU.

In the drawings:.

Referring to <FIG>, a system <NUM> in accordance with one embodiment of the present disclosure is illustrated. The system <NUM> may include a main management system <NUM> having an electronic controller <NUM> and a data center equipment mapping application <NUM> (hereinafter simply "mapping application" <NUM>). The mapping application <NUM> may be stored in a non-volatile memory <NUM> (e.g., RAM, ROM, etc.) which is in communication with the electronic controller <NUM>. A rack power distribution unit ("rPDU") <NUM> is in communication with the main management system <NUM> and also with a source of AC power. The rPDU <NUM> includes a rPDU controller <NUM> and one or more AC power outlets 24a-24d. In this example the rPDU <NUM> is shown having four AC power outlets 24a-24d, although it will be appreciated that the rPDU may have less than or more than four AC power outlets. Each AC power outlet 24a-24d may be turned on and off independently by the rPDU controller <NUM>, and each receives AC input power from an external AC input supply power source. In this example, the rPDU <NUM> also includes a non-volatile memory 22a (e.g., RAM, ROM, etc.) which stores a message encoding algorithm 22b that is used to generate the encoded message. It should be appreciated that the encoding algorithm 22b does not need to reside within the rPDU <NUM>, but may be stored in memory elsewhere (e.g., in memory <NUM> of the main management system <NUM>) and accessed by the rPDU controller <NUM> when required.

<FIG> also shows a device under test <NUM>, which will be referred to as the "target device" <NUM> in the following discussion. The target device <NUM> may be any data center component, for example a server, a router, a network switch, etc., that incorporates a service processor. The target device <NUM> in this example has a main processor <NUM>, a service processor <NUM>, an AC input receptacle <NUM>, and a power supply <NUM>.

Those skilled in the art will understand that the service processor <NUM> (also known as a Baseboard Management Controller) is a specialized microcontroller that is often included in a wide range of data center devices such as servers, CRAC units, PDUs, etc. The service processor <NUM> is often embedded in the motherboard of the device (e.g., a server), or in a PCI card, or on a server chassis. It is independent of the main CPU and operating system (OS) of the device, and is accessed via an Ethernet interface, either dedicated (out-of-band) or shared with the data Ethernet (sideband). Service processor <NUM> functions may include, without limitation, one or more of remote power cycling, remote console access via KVM, monitoring of on-board instrumentation (e.g., temperature, CPU status and utilization, fan speed, input voltage monitoring), setting event traps, and OS-level shutdown.

In one embodiment the power supply <NUM> incorporates an input voltage monitoring subsystem <NUM> which is able to monitor the input supply voltage received at the AC input receptacle <NUM> and report same to the main processor <NUM> as well as to the service processor <NUM>. In one embodiment the target device <NUM> may also include an interface subsystem <NUM> having at least one port 39a (e.g., USB, RJ45, etc.) commonly used to communicate with external subsystems and computers.

It will be appreciated that the input voltage monitoring performed by the input voltage monitoring subsystem <NUM> could alternatively be performed by a separate voltage monitoring module coupled to the AC input receptacle <NUM>, which directly receives the input AC power signal, and is able to communicate voltage measurement information to the target device <NUM> when requested by the main processor <NUM>, or to the service processor <NUM>. Still further, the service processor <NUM> may include input power monitoring circuitry. For the purpose of the following discussion it will be assumed that the AC input receptacle <NUM> is coupled to AC power outlet 24a and that the target device <NUM> includes the input voltage monitoring subsystem.

In one embodiment the service processor <NUM> is programmed with a decoding algorithm <NUM>, which in one example enables the service processor to decode a coded, modulated input voltage it receives on its AC input receptacle <NUM> from the outlet 24a of the rPDU <NUM>. It should be appreciated that the decoding algorithm <NUM> does not need to reside within the service processor <NUM>, and in another embodiment the decoding algorithm <NUM> is stored in a memory device external to the service processor (e.g., in the memory <NUM> of the main management system <NUM>, or optionally in the memory <NUM> of target device <NUM>, or in some other component in communication with the target device), but in any instance it will be accessible to the service processor <NUM> during testing. The service processor <NUM> also has a bi-directional communications port <NUM> (typically an Ethernet port) in communication with the main management system <NUM>, typically via a network (e.g., management network) at the data center where the target device <NUM> is being used.

The system <NUM> uses the mapping application <NUM> running on the main management system <NUM> to send a command to the rPDU controller <NUM> to begin carrying out a discovery process by modulating the output voltage on the outlet 24a in accordance with a stored test message sequence. The test message causes a controlled series of short duration (typically only one line cycle, e.g., at <NUM>) interruptions to be applied to the outlet port 24a of the rPDU <NUM>. The short duration input voltage interruptions are applied in accordance with predetermined pulse distance encoding intervals, to be discussed in the following paragraphs. Each of the input voltage interruptions are of sufficiently short duration that they do not cause loss of power or brownout condition that may result in re-booting of the target device <NUM>, but are still detectable by the service processor <NUM> using the input voltage monitoring subsystem <NUM>.

The short duration input voltage interruptions are defined by one or more different "power cycle profile" ("PCP") events which controllably disable and re-enable AC power from the rPDU <NUM> to the AC input receptacle <NUM> in accordance with slightly differing predetermined On/Off sequences. The PCP can be programmatically configured in accordance to desired timing parameters. As one example, the power "off" duration may be fixed to a single full-line cycle, although fractional line cycle power switching is possible. It is not recommended to switch power off for longer than a single line cycle. A more sophisticated PCP may be designed with a programmable "burst interval," as well, which may be set short or long (2x short). The burst interval is known by the service processor <NUM> via the decoding algorithm <NUM>, and as such it is able to decode the binary code. In view of the foregoing, one example of the PCP event may be defined by three variables as follows:.

Cycle = number of consecutive repetitions of PCP. If cycle=<NUM>, then only a single off power cycle occurs regardless of duty value.

Duty = number of consecutive ON cycles following single OFF cycle to complete the PCP.

Burst = number of times PCP cycle is repeated over N seconds.

A precisely controlled PCP, which is repeated over a given period of time, induces a measurable and consistent voltage change on the AC voltage being input to the target device's AC input receptacle <NUM>. This voltage change is reliably detected by the service processor <NUM>. However, it will be appreciated that the system <NUM> is not limited to use with any particular PCP profile or pattern; the important feature of the PCP is that it can produce a controlled series of short term power disruptions that can be detected by the service processor <NUM>, but without causing power loss or brownout condition that may result in re-booting of the target device <NUM>. The message decoding algorithm <NUM> may recognize if this pattern is repeated every few seconds, for example every three seconds or every two seconds.

It will also be appreciated that any persistent power supply disruption to the target device <NUM> may be more likely to cause a re-boot of the device if the target device is operating at a lower voltage range (e.g., 120VAC vs. 240VAC). Accordingly, an "optimal" PCP may exist that is compatible with minimum operating AC voltage and maximum current draw of a specific target device (e.g., a typical server). In practice, the optimal PCP could be experimentally determined or learned at run time by starting with a minimally invasive PCP, i.e., mostly powered on, consisting of cycle=<NUM>, duty=<NUM>, and burst=<NUM>, for example, and gradually decrementing cycle and/or duty, but not to program a combination of parameters known to precipitate full power loss, which would thus cause a re-boot of the device. This iterative process would converge to an optimal PCP that results in no more than a <NUM>% measurable RMS voltage drop from minimum rated value.

An encoding algorithm may be utilized to achieve the desired bit encoding through a pulse distance bit encoding technique that differentiates between a zero bit and a one bit to issue the PCP event at variable time intervals. One example of how a suitable encoding algorithm may be used to construct a message is shown in <FIG>. The encoding algorithm shown in <FIG> in one example makes use of pulse distance bit encoding and constant overhead byte stuffing ("COBS") to create an encoded message that includes the product serial number ("PSN") of the target device <NUM>, a hardware ID (i.e., branch /receptacle index number, designated by "HID"), a cyclic redundancy check ("CRC") value, and a "Frame Rate" value ("FR"). An overhead ("OH") byte acts as a pointer to a first occurrence of data matching the designated Frame Rate (FR) value. The resulting encoded message is also shown in <FIG>. Again, this is but one example of how an encoded message may be constructed, and the present system <NUM> is not limited to use with any one specific type/format of encoded message.

To decode the encoded message completely, the decoded bits may be packed into N-octets (<NUM>-bit packets) and the computed CRC of the octets is compared against the received CRC in the message. A match means the message is valid. If the CRC is invalid, then the PCP process may continue indefinitely, i.e., the rPDU <NUM> repeats the same message, until a valid CRC is computed or if a process timeout occurs.

As a high level summary, the operations performed by the service processor <NUM> in decoding the N-octet message may be summarized as follows:.

Detailed specific operations in decoding the received message may involve the following operations:.

It will be appreciated that with regard to operation <NUM>) above, that a one-bit represents a <NUM> second duration and a zero-bit represents a <NUM> second duration for the pulse distance encoding method. These time intervals may be varied, and the present system and method is not tied to use with any specific time intervals. However, the time intervals should be spaced sufficiently far apart so that the algorithm can easily detect a timing difference, especially when the service processor <NUM> polling interval is "slow", e.g., a voltage sample once every <NUM>.

Also, it will be appreciated that the techniques of interpolation and "preimage" may be used with the present system and method. When using interpolation, if a bit was missed in operation <NUM>) above, the missed bit could be guessed depending upon the delta timestamp. For example, if Δtc[n] was <NUM> seconds, which is too large for a single bit interval, because <NUM> is a multiple of a zero-bit interval of <NUM> seconds, there must have been a missed zero bit at the <NUM> second mark. It could not have been a one-bit because the Δtc[n] would need to equal <NUM> seconds. The preimage technique involves guessing missing bits so that a calculated CRC matches the received CRC. Regardless if these techniques are used to speed up the decoding process, the message is repeated until the service processor <NUM> detects all the missing bits and validates the CRC or a process timeout occurs.

Optionally, the service processor <NUM> could have a less sophisticated construction and just have the capability to serve the decoded bits back to the mapping application <NUM>, and then the mapping application would use the decoded bits to decode the message. Both implementations are contemplated by the present disclosure.

It will also be appreciated that while the encoding/decoding algorithm needs to be known in advance by the rPDU <NUM> and the service processor <NUM>, and possibly also by the mapping application <NUM>, the encoding/decoding algorithm can be changed as needed. While the pulse distance bit encoding and COBS protocols work well together, other protocols may potentially be used, and the present system <NUM> and method are not limited to any specific message protocol/construction.

It will also be appreciated that the message size (i.e., "N" octets) may have an arbitrary length, as long as the rPDU <NUM> and the service processor <NUM> are encoding/decoding with the same algorithm. The fewer the octets, the faster the message is transmitted, but the message needs to be at least large enough to convey rPDU identity and the index of the outlet being used on the rPDU <NUM> for the test.

Referring to <FIG>, a flowchart <NUM> is shown which sets forth operations involving the use of the N-octet message to enable the system <NUM> to implement identification/verification of the target device <NUM>. At operation <NUM> the N-octet message decoding algorithm is provided to the service processor <NUM> of the target device <NUM>. This may occur when the target device <NUM> is initially installed in the data center or at some time thereafter. At operation <NUM> the mapping application <NUM> transmits a command to the rPDU <NUM> to begin the verification/discovery operation of a specific target device <NUM> coupled to AC outlet 24a.

At operation <NUM>, the rPDU controller <NUM> begins applying the sequence of PCP events (i.e., commands) to the selected AC outlet 24a on the rPDU <NUM>. This causes a series of short duration AC power interruptions at the target device's AC input receptacle <NUM>, which may be repeated in one, two or more different repetition patterns. Again, these AC power supply interruptions are of sufficiently short duration that they do not cause loss of power or brownout condition that may result in rebooting of the target device <NUM>, but they are still detectable by the input voltage monitoring subsystem <NUM> of the target device <NUM>.

At operation <NUM> the service processor <NUM> uses the input voltage monitoring subsystem <NUM> to monitor the AC input supply voltage at the target device's AC input receptacle <NUM>. At operation <NUM> the service processor <NUM> calculates the <NUM>st order difference between the magnitudes of the present and previous voltage measurements, and then compares this calculated <NUM>st order difference to a predetermined voltage window threshold. At operation <NUM>, if the threshold is breached, then the service processor <NUM> registers the PCP event as either a "<NUM>" bit or a "<NUM>" bit, depending upon the timestamp relative to the last registered PCP event, in accordance with the pulse distance bit encoding intervals known from its decoding algorithm <NUM>.

At operation <NUM> the service processor <NUM> checks if all bits of the encoded N-octet message have been decoded. If they have not, then operations <NUM> and <NUM> are repeated. Once all bytes have been decoded, the service processor <NUM> may store its test results, as indicated at operation <NUM>, until the mapping application <NUM> polls the service processor <NUM>, as indicated at operation <NUM>, with a request for the results. Once the mapping application <NUM> has obtained the decoded message from the service processor <NUM> it may then determine if the bits reported by the service processor <NUM> correspond to the encoded message.

The operations described above in connection with <FIG> may be repeated for each AC power outlet 24a-24d of the rPDU <NUM>, and for every rPDU in a data center. The identification/verification described in connection with <FIG> may be performed on a periodic basis (e.g., monthly) or right after a new target device has being installed in the data center, or possibly in response to some triggering event (e.g., reconfiguration of a given rack with new/different equipment) to ensure that records detailing exactly what rPDU outlets are coupled to what data center devices are accurate and up to date.

To power cycle the AC power outlets 24a-24d, the use of low cost, electromechanical, bistable relays may be preferred. These may be integrated into the manufacture of the rPDU <NUM> if the rPDU does not already include suitable switching components for carrying out the needed short duration power switching. The periodic and repetitive power switching is at a duty cycle greater than required for typical switching applications with rPDUs. To achieve the needed precision, coordination and reliability of the power cycle controls required, particular design considerations should preferably be met. These include, but are not limited to, protecting the contacts from destruction due to inrush current, protecting the contacts from arcing under heavy and/or low power factor loading conditions, and establishing initial power state after power cycle for proper device startup and commissioning. These factors may or may not require modification to some models of rPDUs currently being used in modern day data centers.

Optionally, a hybrid power control method may be used that comprises a parallel electrical connection between an electromechanical relay and solid-state switches, for example, triacs or anti-parallel SCRs. This more expensive solution would allow precise phase controlled switching to also modulate the voltage output. For example, the relay contacts would first be opened so that the solid-state switches could be triggered on at various conduction angles and naturally commutated off to precisely control the voltage output without turning off completely for a full line cycle. This method would mitigate the risk of inadvertent re-booting the target device caused by a power loss or brownout condition. After the message is received, then the relay's contacts would engage to shunt the solid-state devices and reduce power dissipation. A solid-state only power control means is possible as well, but the continuous power dissipation may be an additional challenge to address.

While the foregoing description has focused around a PDU having a plurality of AC outlets that can be switched independently, it will be appreciated that the invention is not so limited. The various embodiments disclosed herein may be used with a PDU having only a single AC outlet, or a plurality of unswitched AC outlets. In either case, the system <NUM> and method may be used to identify/verify that a specific PDU is providing power to one or more specific data center devices. As one example, the input or branch circuits of the rack PDU <NUM> may utilize relay and/or solid-state switching to "broadcast" the encoded message simultaneously to numerous target devices. While the outlet identity cannot be resolved for unswitched AC outlet model PDUs, the PSN and a portion of the HID information can be transmitted and the power supplying relationship established.

Still further, while the foregoing discussion has explained the service processor <NUM> being used to perform the message decoding, this functionality could instead be performed by the main processor <NUM> of the target device <NUM>, assuming the main processor <NUM> is able to access and use both the message decoding algorithm <NUM> and the input voltage monitoring subsystem <NUM>. In that event, the target device <NUM> may communicate via a separate communications line 39b, as shown in <FIG>, to communicate the decoded message to the main management system <NUM>. Thus, the system <NUM> is not limited to use with only target devices that incorporate a service processor, although the presence of a service processor in the target device makes for an especially easy and elegant implementation.

Claim 1:
A system (<NUM>) for at least one of identifying or verifying which specific data center device, from a plurality of data center devices, is being powered from an AC outlet (24a-24d) of a power distribution unit (<NUM>), the system (<NUM>) comprising:
a message encoding algorithm module;
a message decoding algorithm module;
an input signal monitoring subsystem (<NUM>) for monitoring an alternating current (AC) power signal being supplied to the data center devices, wherein one of the data center devices includes an AC powered target device (<NUM>);
an AC powered target device (<NUM>) including;
an AC power inlet for receiving the AC power signal;
a processor in communication with the input signal monitoring subsystem (<NUM>);
a power distribution unit (PDU) (<NUM>) for supplying the alternating current (AC) power signal to the AC powered target device (<NUM>), the PDU (<NUM>) including a controller (<NUM>), the controller (<NUM>) being in communication with the message encoding algorithm (22b) and configured to use the message encoding algorithm (22b) to create an encoded message in accordance with a predetermined power cycle profile (PCP) event, the PCP event being implemented by the PDU (<NUM>) generating a modulated AC power signal encoded with the PCP event, and wherein the modulated AC power signal is sufficient in magnitude so as not to cause a loss of power or a brownout condition that causes rebooting of an AC powered data center device; and
the target device (<NUM>) further configured to analyze the PCP event as the modulated AC power signal is received, and to create a decoded message therefrom, the decoded message being used to indicate whether the AC outlet (24a-24d) of the PDU (<NUM>) is providing power to the target device (<NUM>).