The present disclosure relates to power management for thin or “zero” client devices.
In virtualized computing environments, “thin client” devices are used to exploit the processing resources of another device, called a server device. The term “thin client” is used herein to include “zero client” devices (also known as “ultra thin client” devices) which are devices that do not run an operating system but handle display or some other presentation of the server's output.
A thin client device can have minimal processing capabilities and thus be lower cost or have other advantages. One of the challenges for thin client devices which are powered by Power over Ethernet (PoE) technology is to allocate power for the capabilities of the device based on the amount of power available to it. Currently, thin client devices are either completely non-operational when a minimum required amount of power is not available from the power source such as a PoE switch, or a lower power mode must used in order to account for a reduced amount of available power.
Techniques are provided to optimize power allocated to a plurality of external ports on a thin client device that interoperates with a host device. A determination is made as to available power for the thin client device. Operational states of a plurality of external ports of the thin client device are configured based on the available power and operational settings for the thin client device.
Reference is first made to
In one example, the host device 100 is an Internet Protocol (IP) phone, desktop computer, laptop computer, etc., and the thin client device 200 is a device that is attached to a desktop IP Phone device, such as a Cisco 8900 or 9900 Series IP Phone. The IP phone supports PoE while the thin client device supports connectivity with monitors, and Universal Serial Bus (USB) ports for connecting a mouse and a keyboard as appropriate for a virtual desktop environment. Another example of a thin client device is a stand-alone device that provides users with access to a virtual desktop and business applications running in a virtualized desktop environment, powered via PoE or an optional power supply, and equipped with multiple USB ports and one or more video output ports to support the appropriate peripherals for a virtual desktop environment.
The host device 100 comprises a processor 110, a keyboard (keypad) 120 that may be optional on some host devices, a display 130 (also optional on some host devices), a Power over Ethernet (PoE) subsystem 140, at least one communication port 150, a power supply and an Ethernet port 165. For example, the communication port 150 is a serial port, such as a USB port, an Ethernet port or any other serial or parallel communication bus port. In one implementation, the communication port 150 is a port with a 1-wire bus. There is also a power supply 160 in the host device 100 that is configured to supply power to the various components of the host device 100 and also to the thin client device 200. In some implementations where the host and thin client are implemented as separate devices, both the host and the thin client may implement a power supply. In implementations where the host and thin client are part of the same device, the power supply may be common. The power supply 160 may receive power from an external power supply device shown at 170 or from the PoE subsystem 140. The host device 100 may comprise other components depending on a particular product implementation. The PoE subsystem 140 negotiates with an Ethernet switch 20 in a network for PoE power to the system 10.
The thin client device 200 comprises a controller 210, a power supply 220, a power detector 230 if there is an option to directly connect an external power supply, a plurality of external ports 240(1)-240(N), a corresponding plurality of power switches 250(1)-250(N) and a communication port 260. The controller 210 serves as the control point for the power optimization on the thin client device 200. The thin client device 200 may incorporate other components depending upon a product implementation and other features required.
The power supply 220 distributes power at the appropriate levels and voltages to the various components in the thin client device 200. One source of power for the thin client device is the external power supply 170 connected to port 270. Another source of power is power from the power supply 160 of the host device 100, which itself may be derived from the external power supply 170 or from the PoE subsystem 140, and supplied over link 280. The power detector 230 detects when an external power supply, e.g., power supply 170, is connected to the thin client device, and supplies an appropriate signal to the controller 210 by way of the connection between the controller 210 and the power detector 230. Still another variation is for the thin client device 200 to obtain PoE power directly from an Ethernet switch, in which case, the thin client device 200 would have a PoE subsystem component and an Ethernet port similar to that in the host device 100. This is similar to the implementation where the host and the thin client are implemented as part of the same physical device.
While the processor 110 and controller 210 are shown as separate logical entities, it should be understood that the same processor, e.g., processor 110, may be used to run the host device 100 and perform the power optimization operations of the controller 210 described herein.
Some of the plurality of external ports 240(1)-240(N) are ports to various communication busses, such as a USB, Peripheral Communication Interface (PCI), Small Computer Serial Interface (SCSI), etc. In addition, some of the external ports are ports to various external components such as display devices, audio devices, etc., and these ports are generically identified as “Feature X” and “Feature Y” ports in
The power switches 250(1)-250(N) are switches that are configured to supply a suitable power level to an associated port when that port is to be powered on or operated in a low power mode, and to disconnect power from that port when it is to be powered off. Each power switch 250(1)-250(N) is responsive to a control signal from the controller 210 to control the operational state of the associated port, i.e., power on, power off, or one or more low power states/modes.
According to the techniques described herein, the controller 210 automatically configures the external ports 240(1)-240(N) to their maximum possible usability based on available power to the thin client device 200. For example, the controller 210 is configured to select a power profile based on the total power available to the thin client device 200. Different profiles may selectively enable/disable external ports or operate them in a low power mode in order to define separate power envelopes. The controller 210 determines available power and generates control signals that are supplied to the plurality of power switches 250(1)-250(N) to configure operational states of the plurality of external ports 240(1)-240(N) based on the available power and user or administrator operational settings (policies or rules for power allocation priorities for external ports) of the thin client device.
The communication link 275 between the communication ports 150 and 260 serves as an administrator interface through which the host device 100 supplies information, such as the amount of power available to this system, as well as user preference or administrator operational settings for the thin client device 100 depending upon the specific product. For example, a user may use the keyboard 120 to enter the user preference or administrator operational settings and the processor 110 supplies them to the controller 210 in response to request from the controller 210, or after they are entered into the host device 100. In another example, as described hereinafter, the user preference or administrator operational settings are pre-stored in the controller 210 of the thin client device 200.
The controller 210 determines available power to the thin client device 200. When an external power supply is connected to the thin client device, the power detector 220 detects the external power supply and sends a signal to the controller 210 indicating to the controller 210 that power is from the external power supply. The controller 210 is pre-programmed or configured to know the amount of power associated with the external power supply for use when it receives such a signal from the power detector 220, or the amount of power associated with the external power supply could be provided within the administrator or user settings. When power to the thin client device 200 is supplied from the host device 100, then controller 210 communicates, via the communication link 275, with the processor 110 or PoE subsystem 140 of the host device 100 to determine how much power is available to the thin client device 200 from the host device 100. When power for the thin client device 200 is sourced from the host device 100, the power is coupled from the power supply 160 over the link 280 to the power supply 220 in the thin client device. If the thin client device 200 is configured to obtain PoE power directly (not through the host), then the PoE subsystem component in the thin client device 200 would negotiate with an Ethernet switch for power and the PoE subsystem component would supply that information to the controller 210. In still another example, the host device 100 supplies power to the thin client device 200 by way of a USB port, e.g., ports 150 and 260 are USB ports and the power supply 220 supplies power to port 150.
Reference is now made to
The memory 214 may include read only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices. In general, these memory devices comprise one or more computer readable storage media encoded with software comprising computer executable instructions and when the software is executed, the processor that executes that software (e.g., microcontroller/microprocessor 212) is operable to perform the operations described herein for the power optimization process logic 300.
Reference is now made to
Reference is now made to
The operations depicted in
As explained above, the user or administrator settings data is used by the power optimization process to determine whether certain ports or features of the thin client device are to have priority over others in order to allocate power to the higher priority ports or features before allocating power to the lower priority ports or features. Thus, the optimal configuration is based on data representing operational settings that indicate relative priority for operation of one or more of the plurality of external ports. In addition, the user or administrator settings data can indicate whether a low power mode for a particular port is to be permitted. For example, the settings may be made so that a particular port can only be operated in a normal state if sufficient power is available even if that port has a low power state if sufficient power is not available to support the normal state. Conversely, the settings data may be configured such that all lower power states for a port are to be considered when allocating power across the ports. The settings data may be specific to individual ports and/or have a set of policies or rules that are to be applied across all ports.
In allowing a user to input operational settings, the controller 210 may generate a menu for presentation to a user. The menu may present options as to which ports to power and at which power level (normal power or low power) for each port, which ports are to be given priority over other ports. Alternatively, the menu may allow a user to select default or pre-configured power profiles.
Reference is now made to
At 330, an optimal power configuration for the external ports is determined based on the available power, the port power settings data 305 and the user or administrator settings data 310, so as not to exceed the available power. The optimal power configuration may involve shutting down some of the features of the thin client device 200 that may be deemed “core” functions. At certain times, these “core” functions may not be necessary and can be shut down in favor of operation of one or more external ports. The port power settings data 305 is used as a reference as to the power requirements/capabilities of a given port, that is, how much power that port requires in its one or more operational modes.
At 340, control signals for the power switches for the external ports are generated to control power to the external ports based on the optimal configuration determined at 330. At 350, the control signals generated at 340 are supplied to the power switches associated with the respective external ports to set the power switches to the appropriate states, and in so doing, control the operational states of the external ports, e.g., Power On, Power Off, Low Power Mode, Low Power Mode 1, Low Power Mode 2, etc.
At 360, a user indication of state of power configuration is generated. For example, the user indication consists of illumination of a light emitting diode (LED) on the thin client device 200 or display of a message, icon or other visual indication on a display device. The illumination of the LED or other visual display may be made to indicate that a low power mode is being used.
At 370, changes can be made to the user or administrator settings by way of input from the host device or thin client device. If such changes are made, then operations 330-360 are repeated with the updated settings to reconfigure the external ports. Thus, as depicted by the flow chart in
If this system is deriving power from a PoE subsystem of a host device (e.g., an IP phone, that is connected to a PoE switch), the PoE switch may only have 15 W available for the system. The power optimization process logic 300 enables the system to operate in a “less than maximum” mode such that the power consumption can stay within the available power. In this example, the power optimization process logic 300 can choose to enable only one USB port and one external display port to stay within 15 W, or it can configure all 4 USB ports in a low power mode (and disable the external display ports) depending upon user or administrator preferences.
If the techniques described herein were not used for this example scenario, the system would not be able to operate until the full 23 W was available from the PoE switch (or an external power supply). Note that in many cases, a user may not even need all the available power of the system. These techniques optimize the user experience of the system to the maximum possible within the power available by selecting an appropriate power profile for external ports of the system. As a result, the usability of the system is significantly expanded, which is particularly important in a large installation where power availability could be at a premium.
With reference to
At 392, using the power requirements learned for all of the ports (resulting from connection of and communication with external devices connected to the ports) and potential disconnections of external devices from ports, the controller re-runs the power optimization process (as depicted at operations 330-360 in
In sum, the power management system and techniques described herein for a thin client device, e.g., a remote desktop device, control features or ports of the appliance to fit within the available power to maximize user experience within that available power, such as PoE power. These techniques enhance user experience by automatically selecting the best possible profile based on user/administrator preferences and power available. A user does not need to know about the power available to the system; the controller automatically determines available power and configures the system appropriately. The power profile of the system can achieve greater granularity (even adaptively) in controlling the operational states of the external ports to optimize the use of available power.
The above description is intended by way of example only.