Abstract:
An apparatus and method is provided for determining the orientation of a blade server with respect to a blade chassis, whenever the blade is inserted into a chassis with either vertical or horizontal slots. In an embodiment, wherein the blade server has opposing first and second edges, first and second connectors are located in pre-specified corresponding relationship with the first and second blade server edges. A first device in the blade chassis generates an information signal, wherein the information signal has an element that indicates the spatial location of a reference feature of the chassis. The embodiment includes a path for sending the information signal to either the first connector or the second connector, according to the orientation of the blade inserted into the chassis. A second device identifies the connector that receives the information signals, and uses the connector identity and the signal element together to determine the orientation of the inserted blade with respect to the chassis.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The invention disclosed and claimed herein generally pertains to an apparatus and method for determining the orientation of a blade server, or other member used to support electronic components, when the blade server or other member is inserted into a blade chassis or enclosure. More particularly, the invention pertains to apparatus of the above type wherein the blade server or other member is adapted for insertion into either vertical or horizontal slots formed in the chassis, and blade orientation must be determined in order to properly orient an information display on the front panel of the blade server. Even more particularly, the invention pertains to apparatus of the above type which is comparatively simple and avoids the need for an orientation sensor or the like, while maintaining the front panel display in an upright position, for any blade orientation. 
         [0003]    2. Description of the Related Art 
         [0004]    As is known by those of skill in the art, blade servers, also referred to herein as blades for convenience, are self-contained computer servers designed for high density. Multiple blades can be readily inserted into an enclosure such as a chassis or the like, by means of slots formed therein, in order to provide various useful products. For example, a product of IBM known as the 8677 IBM BladeCenter® chassis has slots to receive up to 14 blade servers, and can be used in connection with small computer system interface (SCSI) storage expansion units or the like. Moreover, some blade servers provide a display on the front panel or face thereof, that is, on the blade edge that remains viewable when the blade has been inserted into a blade chassis. This display can provide a user with important information regarding operation of the blade server, and may comprise an array of light-emitting diodes (LED&#39;s), or may comprise various other graphic elements. 
         [0005]    At present, blade server chassis typically provide slots that are oriented either vertically or horizontally, that is, oriented along either vertical or horizontal axes. In view of this, certain manufacturers have sought to provide blade servers that can be interchangeably used in chassis that have either vertical or horizontal slots. This, of course, is intended to enhance versatility in the use of blade servers. Moreover, when a blade server is inserted into a chassis, a set of connectors on the blade engage and mate with complementary connecting structure in the blade chassis, in order to exchange network and other signals, and also to supply power to the blade. Efforts have been made to configure blade servers so that they can be inserted into slots in either of two orientation modes, where the blade server is rotated by 180° between the two modes. To support this effort, the blade server is provided with two sets of connectors, where the two sets are mirrored to one another. That is, for each orientation mode of the blade when inserted into a slot, at least one of the blade connector sets will mate with the blade chassis connectors. 
         [0006]    It will be seen that the above enhancements to blade servers, taken together, require a blade to be usable in any of four orientations, that is, two vertical and two horizontal orientations. Notwithstanding the benefit of these enhancements, it will be recognized that the display on the front panel of the blade server must be somehow adjusted, as the blade is used in different orientation modes. Otherwise, a user could be required to view information provided by the display panel in an upside down position, or at 90° to a vertical position. This could be very inconvenient, and could result in information being overlooked or misread. Moreover, as blade server front panel displays become further developed, using graphic technologies such as liquid crystal devices (LCD&#39;s) and organic LED&#39;s (OLED&#39;s), it will become increasingly important for information provided by the displays to appear upright, regardless of blade orientation, so that such information can always be easily and accurately read and comprehended. 
         [0007]    Currently, techniques are available for constructing a front panel blade server display that can be adjustably rotated or reoriented, so that features of the display, such as alphanumeric characters or colored icons, will always appear in an upright position. However, in order to make adjustments using these techniques, it is still necessary to determine the particular orientation of the blade server, after the blade has been inserted into a chassis. In one approach for determining the orientation of an object, an electronic tilt sensor makes use of a ball bearing and several electronic contacts. This approach, however, as well as other solutions that use a sensor device of some type, tend to require space that is not practically available in the environment in which blade servers are used. Also, such solutions can entail excessive cost. Accordingly, it would be very desirable to provide a comparatively simple and inexpensive means for detecting the orientation of a blade server, upon inserting the blade into a blade chassis, that does not need a sensor mechanism nor any other significant parts or components. 
       BRIEF SUMMARY OF THE INVENTION 
       [0008]    Embodiments of the invention provide an apparatus and method for determining the angular orientation of a blade server, with respect to a zero degree or other reference position, whenever the blade is inserted into either a vertical or horizontal slot of a blade chassis. This result is achieved without any need for a sensor orientation device or the like. Moreover, embodiments of the invention could be used with other types of components besides blade servers, wherein a support member is used to carry electronic components, and is insertable into a blade chassis at varying orientations therewith. One embodiment comprises apparatus for determining the orientation of a support member of the above type, wherein the support member has opposing first and second edges, and is inserted into a given chassis selected from blade chassis of different types. The apparatus comprises first and second connectors located in pre-specified corresponding relationship with the first and second edges of the support member, respectively, and further comprises a first device in the given chassis for generating an information signal, wherein the information signal has an element that indicates the spatial location of a reference feature of the chassis. The apparatus includes a path, for sending the information signal to either the first connector or the second connector, according to the orientation of the inserted support member with respect to the given chassis. A second device identifies the connector that receives the information signal, and uses the connector identity and the signal element together, in order to determine the orientation of the inserted support member with respect to the given blade chassis. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0009]    The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: 
           [0010]      FIG. 1  is a perspective view showing blade servers inserted into a blade chassis or enclosure, wherein blade servers and the chassis are configured in accordance with an embodiment of the invention; 
           [0011]      FIG. 2  is a perspective view taken along lines  2 - 2  of  FIG. 1 , wherein a portion is broken away, and one of the blade servers is shown partially extended out from the blade chassis; 
           [0012]      FIG. 3  is a perspective view showing a simplified blade chassis with horizontal slots for receiving blade servers; 
           [0013]      FIG. 4  is a schematic view depicting a simplified example of a display on the front panel of a blade server, to illustrate an embodiment of the invention. 
           [0014]      FIG. 5  is a block diagram showing a computer or data processing system that can be adapted for use as a management or control computer in both a blade server and blade chassis, in accordance with an embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0015]    Referring to  FIG. 1 , there is shown a blade chassis  102  of a type which may be used with embodiments of the invention. Blade chassis  102  has vertical slots for receiving up to fourteen server blades by way of example, and supports a wide selection of processor technologies and operating systems, in order to allow clients to run diverse workloads inside a single architecture.  FIG. 1  shows all fourteen slots of blade chassis  102  containing server blades, such as blade servers  104 - 108 , wherein each blade server is a contained computer server designed for high density. Respective blades inserted into the chassis may selectively be different from one another, or may be similar or identical. Blade server  104 , for example, may comprise an SCSI storage expansion unit. Also, server blades are designed so that they can easily be inserted into and removed from the slots of the blade chassis, as desired. 
         [0016]    When a blade server is inserted into blade chassis  102 , the chassis typically supplies power, network connections, and other interconnects to the blade, and can also provide management services. In order to perform such function, as well as to manage other tasks required in chassis operation,  FIG. 1  shows blade chassis  102  furnished with a computer management module (MM)  110 , comprising a small computer or data processing system. In order to connect a blade server to management module  110 , a set of chassis connectors, such as connectors  112  shown in association with blade server  104 , is placed at the back of each blade slot. Then, when a blade is inserted into the slot, the complementary connector or set of connectors, such as connectors  114  shown in association with blade server  104 , is brought into mating engagement with connector  112 . The blade server  104  is thus linked to management module  110  through connectors  112  and  114 , and through a transmission path  116  extending between the connectors and module  110 . 
         [0017]    It will be appreciated that in some embodiments connectors  112  and  114  in fact comprise sets of complementary connector elements, such as corresponding pins and receptacles, and transmission path  116  comprises multiple signal carrying paths. Thus, multiple data and control signals can be exchanged between module  110  and blade  104 , through connectors  112  and  114 . These signals include an information signal I s  that is sent to blade  104 , in accordance with an embodiment of the invention as described hereinafter. Power and network signals can also be sent to blade server  104  from respective sources (not shown) through connectors  112  and  114 . 
         [0018]    Referring further to  FIG. 1 , there is shown blade server  104  provided with an additional connector  120 , which is selectively spaced apart from connector  114 . Connector  120  is substantially identical to connector  114 , and is required for an embodiment of the invention, as likewise described hereinafter.  FIG. 1  also shows blade server  104  having edges  118  and  122  that are in opposing relationship with one other. When blade server  104  is in the position shown in  FIG. 1  with respect to blade chassis  102 , edge  118  is in adjacent relationship with the topside  124  of chassis  102 , and edge  122  of blade server  104  is substantially spaced apart from topside  124 . 
         [0019]    Some of the blade servers, such as blade  104 , have control panels  126  on their front faces or front panels, wherein the control panels are equipped with buttons  128  for use in controlling blade server operation. Some blades also have displays  130  on their front panels, to make information  132  pertaining to blade operation available to users. 
         [0020]    In some embodiments, each hard button will be adjacent to a display showing the function of the hard button, wherein both the button function and the corresponding display can be changed. In yet other embodiments, the buttons will be soft or virtual, that is, they will appear on a display. The functions of these soft buttons and their function labels can likewise be changed, or remapped. 
         [0021]    Referring to  FIG. 2 , there is shown blade server  104  partially extending out from its slot  202  formed in blade chassis  102 . In addition, blade server  104  is shown rotated by 180° with respect to slot  202  and blade chassis  102 , from the position of blade server  104  shown in  FIG. 1 . Thus, blade edge  122  is shown adjacent to topside  124  of chassis  102 , and edge  118  is spaced apart therefrom.  FIG. 2  also shows edge  118  adjacent to the lower side  204  of chassis  102 . Moreover, connector  120  is positioned so that when blade server  104  is inserted completely into slot  202 , in the orientation shown in  FIG. 2 , connector  120  rather than connector  114  will be brought into engagement with connector  112  of the blade chassis. Accordingly, power will be supplied to blade server  104  through the connective interface formed by connectors  112  and  120 , and signals will be exchanged therethrough between blade server  104  and the blade chassis  102 . 
         [0022]    Referring further to  FIG. 2 , there is shown a baseboard management controller (BMC)  206  located in blade server  104 , wherein BMC  206  comprises a small computer or data processing system for controlling and managing respective operations of the blade server. BMC  206  is connected to connectors  114  and  120  by transmission links  208  and  210 , respectively, in order to receive information signal I s  from connector  112 , and also to exchange signals with blade chassis  102 . 
         [0023]      FIG. 2  further shows that transmission links  208  and  210  include components  212  and  214 , respectively. Each of these components is adapted to perform the task of selectively processing signal I s , whenever information signal I s  is transmitted through its corresponding link, so that the signal I s  will uniquely identify the link through which it has been transmitted. For example, the component  212  or  214  could insert a code into the information signal I s . By providing such identifying information, BMC  206  will be able to determine whether the information signal I s  was received through link  208  or  210 , and will thereby know which of the connectors  114  or  120  is then connected to chassis connector  112 . In an alternative embodiment, BMC  206  would simply recognize that whichever link  208  or  210  carried the signal I s  was the link connected to the top chassis connector  112 . 
         [0024]    Information signal I s  is generated by management module  110  of blade chassis  102 , or signal generating capable device, and generally furnishes information indicating the spatial location of a reference feature or characteristic of the blade chassis. For example, the information signal, which is received by BMC  206  through a link  208  or  210 , could include the code “VT”. The BMC  206  would understand from the “V” that its blade server was inserted into a vertical blade chassis slot, rather than a horizontal slot. Thus, the blade server would also have a vertical orientation. The “T” would indicate that the chassis connector  112  was being referenced to, and was thus oriented toward, the topside  124  of the blade chassis, rather than to the lower side  204  thereof. From this information, together with the identity of the connector  114  or  120  that provided the information signal, the BMC  206  will be able to readily determine which blade edge  120  or  118  is oriented upwardly, toward the blade chassis topside  124 . Usefully, in this arrangement blade server  104  would have either a 0° or a 180° orientation, when connector  118  or  120 , respectively, was mated to the chassis connector  112 . 
         [0025]    In some embodiments of the invention, information signal I s  would be sent to the blade server from the blade chassis  102  in response to an interrogation sent from BMC  206  to the module  110 . Alternatively, after the module  110  has determined that a newly inserted blade server can be used with a blade chassis, the module  110  sends a variety of environment data to the blade, including the information signal I s . In yet another embodiment, the blade chassis generates a special signal through connector  112  to a blade, upon blade insertion. The BMC  206  then determines which of its connectors received the special signal. 
         [0026]    Referring to  FIG. 3 , there is shown blade server  104  inserted for use into a blade chassis  302 , wherein the blade chassis has horizontal slots rather than vertical slots. Blade chassis  302  is provided with a management module similar to module  110  (not shown) and a connector similar to connector  112  (not shown) as described above. However, the connector in chassis  302  is positioned close to the right hand side  304  of chassis  302 , rather than to the topside thereof. In a useful embodiment, an information signal generated by blade chassis  302 , and coupled to either connector  114  or  120  of blade server  104 , would contain the code “HR”. BMC  206  of blade  104  would interpret this code to mean that the blade was inserted into a horizontal slot, and that the edge of the blade corresponding to the connector which received the information signal was oriented to the right. Blade server  104  would thus have a 90° or 270° orientation, depending on whether the connector  118  or  120 , respectively, received the information signal provided by blade chassis  302 . 
         [0027]    After determining the orientation of blade server  104 , BMC  206  can rotate or reorient the information  132  appearing on display  130 , as required. For example, if a liquid crystal display (LCD) or an organic LED (OLED) is used to display information, the display control can rotate the information to any angular position, with respect to a zero reference position. Thus, when orientation of the blade server has been determined as described above, information appearing on the display  130  can be rotated by BMC  206  to appear upright to a user, for any orientation. 
         [0028]    Referring to  FIG. 4 , there is shown a display  130  for a further example of an embodiment of the invention. Display  130  includes a simplified linear array of LEDs  402  and  404 , and further includes a second linear array of LEDs  406  and  408 , where the second array is positioned in orthogonal relationship with the first array. When blade server  104  is inserted into a vertical slot in a 0° orientation, LED  402  is activated to indicate that power to the blade is on, and LED  404  is activated to show that initialization of the blade by the blade chassis has been completed. However, when it has been determined that blade server  104  is at a 180° orientation, BMC  206  operates LED  404  as a power on indicator, and operates LED  402  to show that initialization is completed. Similarly, after a 90° orientation of the blade has been detected, LEDs  406  and  408  are used to show that power is on and initialization is complete. Such arrangement is reversed for a blade orientation of 270°. Thus, the information and display  130  is always presented to a user in an upright mode, for each orientation of blade server  104 . 
         [0029]    Referring to  FIG. 5 , there is shown a block diagram of a generalized data processing system  500  which may be used in implementing embodiments of the present invention. More particularly, system  500  may be adapted for use for both management module  110  and BMC  206 . Data processing system  500  exemplifies a computer, in which code or instructions for implementing the processes of the present invention may be located. Data processing system  500  usefully employs a peripheral component interconnect (PCI) local bus architecture, although other bus architectures such as Accelerated Graphics Port (AGP) and Industry Standard Architecture (ISA) may alternatively be used.  FIG. 5  shows a processor  502  and main memory  504  connected to a PCI local bus  506  through a Host/PCI bridge  508 . PCI bridge  508  also may include an integrated memory controller and cache memory for processor  502 . 
         [0030]    Referring further to  FIG. 5 , there is shown a local area network (LAN) adapter  512 , a small computer system interface (SCSI) host bus adapter  510 , and an expansion bus interface  514  respectively connected to PCI local bus  506  by direct component connection. Audio adapter  516 , a graphics adapter  518 , and audio/video adapter  522  are connected to PCI local bus  506  by means of add-in boards inserted into expansion slots. SCSI host bus adapter  510  provides a connection for hard disk drive  520 , and also for CD-ROM drive  524 . 
         [0031]    An operating system runs on processor  502  and is used to coordinate and provide control of various components within data processing system  500  shown in  FIG. 5 . The operating system may be a commercially available operating system such as Windows XP, which is available from Microsoft Corporation. Instructions for the operating system and for applications or programs are located on storage devices, such as hard disk drive  520 , and may be loaded into main memory  504  for execution by processor  502 . 
         [0032]    The invention can take the form of an entirely hardware embodiment, or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented using software, which includes but is not limited to firmware, resident software, microcode, etc. 
         [0033]    A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. 
         [0034]    Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. 
         [0035]    Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters. 
         [0036]    The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.