FIELD OF THE INVENTIONThe present invention relates to computer management and diagnostics, and more particularly to a system and method for retrieving, displaying and controlling information of a computer by a handheld or portable device or the like via a communication interface.[0001]
DESCRIPTION OF THE RELATED ARTIt is often desired or even necessary to monitor certain parameters of a computer system to determine its status or to identify certain error conditions. This is particularly true for a server on a network. System administrators of a network, for example, must typically monitor the operation of one or more computers operating as servers of the network to determine and identify critical errors and operating parameters. One or more server systems are typically coupled to a local area network (LAN) or wide area network (WAN) or the like to serve a corresponding plurality of client computer systems. In more sophisticated configurations, the servers are equipped with management capabilities or software to enable a system administrator to control operations of the network, track and monitor network status, to maximize network efficiency, and to locate and correct network problems or failures. Many network management systems software is based on the simple network management protocol (SNMP) which is a well known management standard. Some particular network management software includes Compaq's companion insight manager (CIM) or Novel's netware.[0002]
Other information is also useful for performing management functions, such as the usage of resources and the status of various hardware devices installed. For example, it may be desired to determine the amount of available memory, parameters associated with the CPU(s), the version and date of ROM firmware, etc. A system monitoring software application may be used to monitor and identify such information for display on a monitor. For larger networks with several servers, it is not always convenient or cost effective to have a monitor for each system, or even to supply a single common monitor. For example, for network configurations including one or more servers mounted on a rack, there may be insufficient room for a monitor and other peripheral devices such as a mouse and keyboard.[0003]
In the simplest form, server diagnostics may consist of a system light emitting diode (LED) display indicating normal operation, activity, or some sort of system warning or failure. The LED design provides limited Input/Output (I/O) capability, is awkward to use, and provides limited capability, as only a particular subset of management information is available due in part to limited display capability. More advanced diagnostic features are available using Liquid Crystal Displays (LCDs) in order to provide additional and more complete information. The LCD usage model is usually one of alert or exception reporting. During normal operation, the LCD display is under-utilized. It displays nametag information, or other static information. The LCD is most beneficial during fault conditions or for asset management. The display has the ability to notify the user of a fault condition, and to provide additional easily accessible detail regarding the condition, possible precursor events, and appropriate resolution measures. It should be noted that there are other display technologies that provide similar functionality such as vacuum fluorescent technology.[0004]
One particular LCD device is an Integrated Management Display (IMD), which provides a more complete set of management information to the administrator. An existing IMD is relatively expensive and consumes a large amount of real estate on the front bezel. The case of the IMD is excessively large for the new dense server designs, and cannot be included on some designs. For example, cooling requirements may often preclude the use of a large diagnostic display that consumes a substantial amount of front bezel space. It is possible to reduce the size and capabilities of the IMD, but reducing functional capabilities is not always desired or practicable.[0005]
There is a concern regarding the implementation of many LCD displays in a server. As the density of the servers and other products continually increases, there will be more and more LCD displays in rack configurations. A configuration with a substantial number of displays are often utilized only in the exception case, such as when indicating the need for attention during fault conditions, and thus are often under-utilized during normal operations.[0006]
Even with the cost of LCD designs being reduced to address cost concerns, LCD devices are likely to be sold as options for certain configurations. It is expected that as the option cost decreases, attach rate will increase. It is desired to reduce the cost to provide management capabilities on a greater number of devices.[0007]
SUMMARY OF THE INVENTIONA communication interface system according to embodiments of the present invention may have many forms depending upon the desired functionality, such as status information retrieval, computer diagnostics, computer interface, etc. In some embodiments, a communication interface system enables retrieval of status or health information of a computer by a handheld device. In more sophisticated embodiments, the handheld device may be utilized to interact and control the computer system at various levels of operation, including power up, normal operation and powered down states.[0008]
A computer status information retrieval system, according to an embodiment of the present invention, includes a computer and a handheld device each with a communication port. The computer executes a health program that provides status information associated with operation of the computer. The handheld device interfaces with the computer communication port to retrieve and display the status information. The computer status information retrieval system is particularly advantageous when the computer is in a headless configuration, where the computer does not otherwise have input/output (I/O) devices such as a keyboard, mouse, or monitor. In the headless configuration, the computer communication port is conveniently located on the front bezel of the computer, where the handheld device replaces the LCD hardware the retrieve the status information. The handheld device may be any type of portable device including a corresponding serial or infrared communication port, such as a palm PC (PPC) a personal digital assistant (PDA), a notebook computer, etc.[0009]
It is appreciated that a single communication port is relatively small compared to IMD or LCD hardware so that valuable real estate on the front bezel of the computer is saved. This is particularly advantageous for a server system in a stacked configuration, where each server has only a single communication port for communication with an external device, such as a handheld PDA. An administrator can communicate with any of the server systems in the stack configuration via the communication port via the handheld device, which conveniently replaces IMD or LCD functions.[0010]
In one embodiment, the communication between the computer and handheld device is through serial ports. In serial port embodiments, a serial cable is coupled between the serial ports of the handheld device and the computer. In one embodiment, a docking cradle with a serial connector is provided where the handheld device is placed into the docking cradle to enable serial communications with the computer.[0011]
It is noted that the status information may include any information that is collected, stored or otherwise provided by a health program executing on the computer system. Such is health information may at least include any combination of naming information, system hardware information or event information. The handheld device may be utilized to simply retrieve the health information from the computer. In another embodiment, the health program is capable of controlling operational parameters of the computer, where the handheld device assumes operational control of the computer via the health program. In a further embodiment, the computer is a server coupled to a network and executes network management software that monitors management information in that controlled parameters associated with a network. In this manner, the handheld device may retrieve status information of the network and may further have control of management functions via the network management software. In any of the embodiments, the handheld device may include a browser application to conveniently browse any of the status of health information of the computer. The handheld device typically has a display, where the browser displays the information on the handheld device for use by an administrator.[0012]
And yet further embodiments, the communication ports of the handheld device and the computer are implemented with infrared transceivers. In this manner, the handheld device communicates with the computer via an infrared protocol such as the IrDA protocol. In one embodiment for example, the computer includes a peripheral bus, such as a peripheral component interconnect (PCI) bus, and further includes a management function system coupled to the peripheral bus. The management system is coupled to an I/O bus, which is further coupled to a microcontroller. The microcontroller is coupled to an infrared transceiver, which may conveniently be located on the front bezel of the computer. In this manner, the microcontroller may implement an IrDA stack for enabling communications with the handheld device via the infrared transceiver. The I/O bus may be implemented in any suitable format, such as the I[0013]2C bus by Philips Electronics.
In yet further embodiments, a memory, such as implemented using non-volatile (NV) memory devices or the like, may be coupled to the microcontroller for storing the status information of the computer. The microcontroller may then store status information from the computer into its NV memory, or may further store information from the handheld device sent via the infrared transceiver. In yet another embodiment, the computer infrared transceiver, the microcontroller and the NV memory receive auxiliary power so that these devices are operational when the computer is powered down. In this manner, the microcontroller sends information from the NV memory to the handheld device even when the computer is powered down.[0014]
A computer diagnostic system according to an embodiment of the present invention includes a computer with a communication port, an I/O system and a handheld device. The computer and communication port are implemented in a similar manner as previously described. The I/O system enables communication via the computer communication port during power up self test (POST) of the computer system. The handheld device communicates with the computer during POST. In one embodiment, the I/O system includes a System ROM that further includes I/O code to enable communications with the handheld device when executed. The main processor or CPU of the computer executes the I/O code during POST upon power up of the computer. For example, the basic input/output system (BIOS) stored in the System ROM of the computer is typically transferred to main memory and executed by the main processor. The processor executes the I/O code to enable is the handheld device during POST so that the handheld device replaces some of the standard I/O devices during power up.[0015]
For example, the I/O code may enable the handheld device to emulate at least one I/O device, such as any one or more of a keyboard, a mouse, a disk drive, a monitor etc. In this manner, any information that might otherwise be displayed on a monitor coupled to the computer is forwarded to the handheld device for display. Furthermore, an administrator may interface the computer via the handheld device to perform set up or configuration or any other diagnostics for the computer during power up and before the operating system is installed and executed.[0016]
The computer diagnostic system is implemented in a similar manner as previously described, such as through serial or infrared communications. For the infrared communication embodiments, the computer includes an infrared transceiver, an I/O bus, a microcontroller and memory. This enables infrared communications with the handheld device, which also includes an infrared transceiver and infrared communication capabilities.[0017]
Further, the infrared system may receive auxiliary power to enable communications with the handheld device even while the computer is powered down.[0018]
A computer interface system for a computer according to an embodiment of the present invention includes a CPU, a peripheral bus, a management processor coupled to the peripheral bus and an infrared transceiver coupled to the management processor. In this embodiment, the management processor enables an external device to emulate any one or more of a keyboard, a mouse, a disk drive, a floppy disk drive, a CD-ROM drive, and a monitor via the infrared transceiver of the computer. The management processor may operate in a similar manner as the microcontroller previously described. For example, the management processor may implement an IrDA stack and conduct the infrared communications via the infrared transceiver. Alternatively, a microcontroller and memory may be coupled to the management processor via an I/O bus, such as the I[0019]2C bus. The microcontroller may then be utilized to implement the IrDA stack to enable communications with the external device via the infrared transceiver.
The management processor may perform additional functionality as compared to a microcontroller only embodiment. For example, the management processor may decode video cycles on the peripheral bus, convert the video cycles to a video stream, and send the video stream via the infrared transceiver for display by the external device. The management processor may further include a memory, such as implemented using RAM and ROM devices, where the management processor stores status information of the computer into its memory. The management processor and its memory may also be powered through auxiliary power so that it is functional when the power of the computer is shut down. In this manner, the external device may communicate with the management processor and retrieve status information of the computer even while powered down. The management processor may be implemented to monitor the system health during normal operation and further may track events that lead to a shutdown of the computer system. Since the management processor operates through the shut down process and continues to operate after shut down, an administrator may retrieve vital shut down or other event information from the management processor memory at any time. The administrator will be able to use functionality of the management processor in order to power on the computer system.[0020]
It is appreciated that a communication interface system according to embodiments of the present invention completely replaces prior IMD or LCD configurations. The computer need only include an external communications port, such as a serial or infrared transceiver port, to enable communications with and external, handheld device. The handheld device replaces an IMD or LCD for any number of computers, such as server computers in a stacked configuration. A communication interface system may provide additional control, configuration, or setup functionality depending upon the particular embodiment.[0021]
BRIEF DESCRIPTION OF THE DRAWINGSA better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which:[0022]
FIG. 1 is a simplified block diagram of an exemplary network system that is used to illustrate a communication interface system according to an embodiment of the present invention.[0023]
FIG. 2 is an exemplary system block diagram of any of the server computers of FIG. 1.[0024]
FIG. 3A is a simplified block diagram of the exemplary server computer illustrating an exemplary interface between the software and hardware components of a communication interface system according to a serial port embodiment.[0025]
FIG. 3B is a simplified block diagram of the exemplary server computer illustrating an exemplary interface between the software and hardware components of a communication interface system according to an infrared transceiver embodiment.[0026]
FIG. 4 is an exemplary screen shot of an LCD emulation embodiment.[0027]
FIG. 5 is an exemplary screen shot of a web page embodiment for purposes of displaying management information.[0028]
FIG. 6 is an exemplary screen shot of a web page embodiment for purposes of displaying diagnostic information.[0029]
FIG. 7 is a simplified block diagram of the server computer of FIG. 2 illustrating another exemplary communication interface system implemented according to an infrared transceiver embodiment configured through the system ROM.[0030]
FIG. 8 is a simplified block diagram of the server computer of FIG. 2 illustrating yet another exemplary communication interface system implemented according to another infrared transceiver embodiment including a separate management processor.[0031]
DETAILED DESCRIPTION OF EMBODIMENT(S) OF THE INVENTIONFIG. 1 is a simplified block diagram of an[0032]exemplary network system100 that is used to illustrate a communication interface system according to an embodiment of the present invention. Although the communication interface system is useful and illustrated in a network configuration, it is understood that the present invention is not limited to network configurations and may be utilized in any type of computer system, including a standalone computer system. One ormore server computers101,103,105,107,109, etc. are coupled to anetwork113, such as a local area network (LAN) or the like, for servicing one or more computer systems (PCs)117. In the embodiment shown, thenetwork113 is implemented with aHUB115, such as a repeater or switch device or the like, that is coupled to each server computer101-109 and to each of thePCs117 in a star configuration. Each of the server computers101-109 and thePCs117 include an appropriate network card or NIC or the like (not shown) for enabling network communications. Thenetwork113 may be implemented according to any desired architecture, such as Ethernet or the like, and may use any desired network protocol. The server computers101-109 are implemented for a rack configuration and are shown mounted in arack111.
A user or[0033]administrator126 desires to determine the status of thenetwork113 or any device on thenetwork113, including theHUB115, any of thePCs117 or any of the server computers101-109. Any one or more of the server computers101-109 may include management software or the like that stores network management information. Theadministrator126 may further desire to determine the health status of each of the server computers101-109. Each of the server computers101-109 includes health software that stores and reports health information of the respective computer. Computer monitoring software or the like executed on the respective server computer101-109 continuously monitors parameters and information measured by hardware detection devices (not shown) indicative of the status or “health” of the computer. Such parameters may include temperature level(s), vital voltage and current levels, etc., and the other important information may include data related to status of cooling fan(s), status of batteries, non-maskable interrupts (NMIs), PCI bus parity errors, etc. Other information and data is also monitored, such as, for example, parameters associated with one or more processor(s) or CPUs, amount of total memory, ROM date, phone numbers of support personnel, etc. This information along with other information is collectively referred to as the management and status information as further described below.
IMD devices were previously used to operate in conjunction with the computer monitoring software to access the system status information. Each IMD device operated according to a menu system with a menu map that was navigated by the[0034]administrator126 via an onboard keypad or the like to access and display the desired system status information on an LCD screen or the like. These IMD devices are required for each computer system within this person's usage model.
As shown, the[0035]administrator126 instead carries a portable orhandheld device123 or the like for accessing management and/or health information. Thehandheld device123 may comprise any type of portable device, palm device (e.g., the Palm PC or PPC), handheld device, notebook computer, or any type of personal digital assistant (PDA) device or the like, such as the Palm Pilot by 3COM, etc. Thehandheld device123 includes any associated operating system, such as Windows CE or the like. In one embodiment, thehandheld device123 includes anappropriate LCD display124 and communicator and browser software for accessing and displaying the desired management and status information. Each of the server computers101-109 includes an I/O port that interfaces with thehandheld device123 to enable communication with each of the server computers101-109. In some embodiments, theserver computers107 and109 includeserial ports121 that couple via appropriate connectors to aserial cable127 or the like. Theserial ports121 may be located anywhere on the server computers, such as the front bezel for convenient access by theadministrator126. In one embodiment, theserial cable127 couples to adocking cradle131 for receiving and docking thehandheld device123. Thedocking cradle131 includes anappropriate connector133 that interfaces a correspondingserial connector127 of thehandheld device123 to enable communications when docked. In another embodiment, theserial cable127 includes anappropriate connector129 that is connected directly to theconnector125 of thehandheld device123 to enable communications.
The serial cable embodiments, with or without the[0036]docking cradle131, enable relatively convenient access and control of the coupledserver computer107,109. Theserial ports121 may be conveniently located and are relatively small and thus do not consume appreciable real estate on the front bezel of theserver computers107,109. Theserial cable127 must be available and connected to the respective server computer, however, before communications are initiated.
In another alternative embodiment, the server computers[0037]101-105 each include an infrared (IR)transceiver119 located at any convenient location, such as the front bezel in a similar manner as the serial port. Theinfrared transceivers119 enable communication via aninfrared transceiver135 provided on thePDA device123. In the infrared transceiver embodiment, theadministrator126 need only point thehandheld device123 in the general direction of one of theinfrared transceivers119 to establish, initiate and maintain communication, or otherwise conduct a communication session, with any of the server computers101-109. Like theserial ports121, eachinfrared transceiver119 is conveniently located and is relatively small so that it does not consume appreciable real estate, such as on the front bezel of the server computers101-105. Any of the server computers101-109 may be equipped with either or both of theserial ports121 orinfrared transceivers121, although only one type of I/O port would typically be selected for a particular configuration.
In one embodiment, the[0038]handheld device123 replaces an IMD or LCD display or the like for determining the health of one or more of the server computers101-109 or the status and/or configuration of thenetwork113. Such functions may be performed by communicating with one of the server computers101-109 while powered on with its is operating system (OS) in full operation. In an alternative embodiment, the server computer includes an auxiliary power source that provides power to a memory and the communication devices to enable limited access of information while the system is powered down. In this manner, any information stored in the memory, such as the most recent status information of the server, is accessible at any time. It is further noted that any other smart or intelligent devices that are coupled to auxiliary power may provide further information during the power down state. For example, a thermistor or thermometer or the like may be queried after system shut down to provide temperature information that may lead to discovery of the cause of the shut down.
In a more sophisticated embodiment, a processor or the like is coupled to auxiliary power to provide certain information when powered down, such as system name or identification, status and configuration. The processor may further be used to alter or change system configuration information that is utilized at next boot up of the computer.[0039]
In yet another embodiment, the[0040]handheld device123 may be used as the primary I/O interface during system power up before the OS is installed and executed. For example, the system ROM includes a Basic Input Output System (BIOS) routine that further performs Power On Self Test (POST) for the computer system. The POST routine is a series of diagnostic tests to ensure that the basic hardware is operating properly. The BIOS also initializes basic hardware and I/O operations, such as communication with disk drives, a keyboard, basic video functions, etc. In a first embodiment, the BIOS routine includes code to enable communications with thehandheld device123 during power up, so that thehandheld device123 can perform or otherwise replace certain I/O functions. For example, thehandheld device123 is enabled to perform any one or more I/O functions, including mouse, keyboard, video, disk operations, etc. In this manner, theadministrator126 monitors and controls the computer system during power up. Anything that would normally be displayed on a monitor is instead displayed on thedisplay124 of thehandheld device123. In this manner, theadministrator126 is able to monitor system status during power up and receive any reports or error messages that may be displayed. Furthermore, theadministrator126 is able to use thehandheld device123 to run configuration for the computer, or to run any diagnostic software or routines to determine system status and identify any problems, etc.
Referring now to FIG. 2, an exemplary system block diagram is shown of a[0041]server computer200, which represents an embodiment of any of the server computers101-109. Theserver computer200 is an industry standard compatible, high-end personal computer (PC) system or the like typically used for workstations or server systems, although any type of desktop, portable or laptop computer is also contemplated. Although the present invention is illustrated using an industry standard compatible computer system, it is understood that the present invention is applicable to other types of computer systems as known to those skilled in the art. Theserver computer200 includes a host bus208, which is coupled to one or more central processing units (CPUs)202. Only oneCPU202 is shown, though it is understood that a multiprocessor computer system is also contemplated. TheCPU202 may include an appropriate processor and supporting circuitry, such as the 80486, Pentium™, or Pentium II™, Pentium III™,etc. microprocessors from Intel Corp., although other types of processors are contemplated, such as the K6 line of microprocessors by Advanced Micro Devices, Inc. (AMD). The external circuitry preferably includes an external or level two (L2) cache or the like (not shown). Amemory controller204 is coupled to the host bus208 for interfacingsystem memory206. Thesystem memory206 is preferably implemented with one or more memory boards plugged into compatible memory slots on the motherboard of theserver computer200.
The[0042]server computer200 may include one or more peripheral, expansion, input/output (I/O) buses, etc. as desired. For example, the exemplary configuration includes a PCI bus212 coupled to the host bus208 via a Host-PCI bridge210. The PCI bus212 is typically implemented with one ormore PCI slots214 individually labeled S1, S2, S3, and so on. Each of thePCI slots214 are configured to receive compatible PCI adapter cards incorporating one or more PCI devices as known to those skilled in the art. Typical PCI devices include network interface cards (NICs), disk controllers such as a SCSI (small computer systems interface) disk controller, video or graphics controllers, etc. In the exemplary configuration shown, for example, anarray controller216 is plugged into the slot S1 for coupling adisk array218 of hard disk drives. AnotherSCSI controller220 is shown plugged into the slot S3 for coupling acache disk drive222. One or more integrated PCI devices may also be included, which are typically integrated onto the motherboard itself and coupled directly to the primary PCI bus212. In the exemplary configuration shown, for example, anintegrated video controller224 may be coupled to the PCI bus212 for coupling to adisplay device226, such as a monitor or any other type of output visual device for computer systems.
The[0043]server computer200 includes a south bridge I/O system228 coupled to the PCI bus212. The south bridge I/O system228 incorporates many of the traditional I/O controllers and devices, such as serial and parallel communication ports, a system read only memory (ROM)229 comprising one or more ROM modules, one or more disk controllers (such as a floppy disk controller and/or a hard disk controller for coupling corresponding floppy or hard disk drives, a keyboard controller for coupling a keyboard, a real time clock (RTC) and timers, a mouse controller for coupling a mouse, as well as other peripherals, such as a direct memory access (DMA) system, diagnostics ports, command/status registers, battery-backed CMOS memory, etc. Theserial port121, for example, is provided on or otherwise through the south bridge I/O system228. Thesystem ROM229 typically includes aBIOS routine231 that further performs POST for theserver computer200.
The[0044]server computer200 further includes a management functionssystem230 coupled to the PCI bus212. The management functionssystem230 may include several system level devices or components (not shown), such as one or more APICs (advanced programmable interrupt controllers) or non-volatile static random access memory (NVSRAM) or the like. The management functionssystem230 couples to a secondary I/O bus232, which is further coupled to amicrocontroller234. In one embodiment, the secondary I/O bus232 is implemented as an I2C bus by Philips Electronics. Themicrocontroller234 is any suitable microprocessor or controller, such as the Scenix 48/52 Microcontroller by Scenix Semiconductor, Inc. Themicrocontroller234 is further coupled to a non-volatile (NV)memory device236 and to an infrared (IR)transceiver238. In one embodiment, themicrocontroller234,NV memory device236 and theIR transceiver238 are powered only while themain server computer200 is powered up. Alternatively, an auxiliary power source (not shown) of theserver computer200 provides an auxiliary power signal (VAUX) to themicrocontroller234, theNV memory device236 and theIR transceiver238, so that these devices are powered and available for communication while theserver computer101 is powered down.
FIG. 3A is a simplified block diagram of a[0045]server computer200 illustrating an exemplary communication interface between the software and hardware components of a communication interface system according to an serial port embodiment of the invention. Again, theserver computer200 is an exemplary embodiment of any of the server computers101-109. Software programs orapplications301 are loaded into thesystem memory206 for execution by the CPU(s)202. Thesoftware applications301 includesmanagement software303,health software305, aninformation access application307 and one or more drivers, such asserial port driver309 for enabling communication with theserial port121.
In one embodiment, the[0046]health software305 runs in conjunction with operating system and hardware devices to continuously monitor the health and status of the of theserver computer200. For example, thehealth software305 continuously monitors the status and “health” of theserver computer200 by monitoring parameters such as temperature level(s), vital voltage and current levels, etc. and further monitors other important status and error information, such as information related to status of cooling fan(s), status of batteries, non-maskable interrupts (NMIs), PCI bus parity errors, etc. Other system information is also accessible for display, such as, for example, numbers associated with the CPU, amount of total and available memory, ROM date, phone numbers of support personnel, etc. In a similar manner, themanagement software303, if installed, runs in conjunction with operating system and thenetwork113 to continuously monitor the health and status of the of thenetwork113. This error, management and status information along is with other information available for display is collectively referred to as management and status information associated with the server computers101-109, or thePCs117 or thenetwork113 or any combination thereof.
The[0047]management software303 and thehealth software305 may further be used to control characteristics, attributes, parameters, operating values, etc. associated with theserver200 or thenetwork113, including the other server computers101-109, theHUB115, thePCs117, etc. For example, in the event that thehealth software305 reports an excessive heat condition within theserver computer200, may increase the speed of one or more fans to control the heat. Thehealth software305 may further report an operating problem or error of a device or component, such as the CPU(s)202, in which case theadministrator126 may desire to shut theserver computer200 down to replace the malfunctioning device(s). Of course, thehealth software305 may perform some of these functions automatically. Themanagement software303 may be used in a similar manner, such as, for example, to control the operating status of one or more ports of theHUB115.
The[0048]information access application307 interfaces with themanagement software303 and thehealth software305 to enable communications with an external device via theserial port121, such as with thehandheld device123. In this manner, theadministrator126 has access to any of the management and status information provided by themanagement software303 and thehealth software305 via thehandheld device123 coupled through theserial port121.
FIG. 3B is a simplified block diagram of the[0049]server computer200 illustrating an exemplary interface between the software and hardware components of a communication interface system according to an infrared transceiver embodiment of the invention. Again, theserver computer200 is an exemplary embodiment of any of the server computers101-109. As before, thesoftware applications301 includes themanagement software303, thehealth software305, and one or more drivers. In this case, the drivers include as an I/O bus driver311 for enabling communication with the I/O bus232. For an I2C bus, thebus driver307 is correspondingly implemented as an I2C bus driver. The I/O bus232 is shown coupled to themicrocontroller234, which is further coupled to theNV memory236 and theIR transceiver238. Other support circuitry is not shown but is provided as necessary, such as discrete components and clock circuitry with appropriate oscillator or the like.
The Infrared Data Association (IrDA) is the governing body that promotes the IrDA protocol and its interfaces. This group is primarily concerned with ensuring compliance to the IrDA standard, to ensure compatibility between devices, and promoting the use of infrared as a communications standard. The IrDA protocol is widely used; laptops, handheld devices, palm devices, Palm Pilots, notebooks, digital cameras, and other devices may be implemented to use IrDA as a wireless communications mechanism. Additionally, other infrared technologies exist for the consumer market addressing different needs, such as stereo and TV remote controls. Infrared technology is a safe and well-proven communications strategy for near distance line-of-sight communications. The IrDA standard serial type emulation with the IrCOMM protocol, and more advanced application protocols that allow socket level access to the data stream. With IrCOMM protocols, PPP (Point-to-Point Protocol) and TCP/IP (Transmission Control Protocol/Internet Protocol) support can be easily implemented.[0050]
Infrared devices capable of communicating with standard devices may be implemented according to the IrDA protocol. The IrDA protocol consists of both a physical layer specification and logical layer specification. The physical layer is addressed with an infrared transceiver. The[0051]infrared transceiver238, for example, comprises a transmitter/receiver pair, which provides access to the physical medium using infrared light at approximately the 980 nano-meter (nm) wavelength. An encoder/decoder (ENDEC) component is typically used to convert the pulses on the physical medium to pulses compatible with UART (Universal Asynchronous Receiver Transmitter) or other signal mechanisms. The remaining portion of the IrDA protocol that manages the access protocol, collisions, data integrity, and higher level communication interfaces is implemented in software.
IrDA stack implementations are available that require processing power sufficient to operate UART style communications, and that provide a suitable operating environment for the IrDA stack. Appropriate systems might be the host operating system, or embedded processors. Both of these solutions may be utilized but have various disadvantages. For example, in some embodiments it is desired to operate whether or not the host operating system is present and/or functioning correctly. In the server computers[0052]101-109, for example, it is desired to enable embodiments in which infrared communications occur while the respective server computer is powered down. Minimizing the interaction between a host operating system and diagnostic capabilities is desired to eliminate possible disruptions. The use of embedded processors is contemplated. Embedded processor solutions, however, may be relatively expensive to implement solely for the purpose of IrDA communications. The requirements for physical, power, board space, and software implementation may be costly.
An embodiment utilizing the[0053]microcontroller234 enables the functionality of the IrDA stack without significant cost. Themicrocontroller234 is implemented to drive anIR transceiver238 to communicate with the IR medium. Additionally, themicrocontroller234 includes the processing capabilities to perform the ENDEC function without an external ASIC (Application Specific Integrated Circuit).
The I/[0054]O bus232 and I/O bus driver307 enable communication between themicrocontroller234 and any software applications on theserver computer200, such as themanagement software303 and thehealth software305. Themicrocontroller234 enables infrared communications with external devices, such as thePDA123, via theIR transceiver238. An optional LCD display could be provided along with LEDs and buttons or the like, where theNV memory236 is used as LCD storage for menus and alerts. Themicrocontroller234 handles buttons, LEDS, LCD updates, and timers to minimize host requirements. In one alternative embodiment, theIR transceiver238 is the sole I/O device, and themicrocontroller234 repeatedly broadcasts existing LCD information from theNV memory236. Any appropriate listening device, such as thehandheld device123, can receive and display the broadcasted information. In another alternative embodiment, theIR transceiver238 is again the sole I/O device, but theNV memory236 is populated with data from the host system through the I2C bus. In this embodiment, themicrocontroller234 manages theIR transceiver238, ENDEC logic, and the IrDA protocol to receive requests is Response data is obtained from theNV memory236, and the response is sent back by themicrocontroller234 out theIR transceiver238. In these embodiments utilizing the I2C bus, themicrocontroller234 operates as an I2C bus slave.
The management status information is accessed by the[0055]microcontroller234 and transmitted via theIR transceiver238 to an external device, such as thehandheld device123. Alternatively or in addition, the management status information is written to theNV memory236 by themicrocontroller234. When queried by thehandheld device123, themicrocontroller234 transmits the information stored in theNV memory236 via theIR transceiver238 to thehandheld device123, which displays the information on itsdisplay124. The auxiliary power providing power via the VAUX signal enables thehandheld device123 to retrieve information from theNV memory236 even when the main power of theserver computer200 is shut down. Themicrocontroller234 receives queries from thehandheld device123 and forwards requested information from theNV memory236 at any time. Theadministrator126 may further submit commands to themanagement software303 and/or thehealth software305 via thehandheld device123, which commands are received by theIR transceiver238 and forwarded by themicrocontroller234 to theappropriate software application301.
In one embodiment, the[0056]microcontroller234 is implemented with the appropriate code to transmit information, files or data in a form that can be browsed and displayed by thehandheld device123. In one embodiment, the capabilities of thehandheld device123, such as a 3COM Palm Pilot or a Windows CE device, are used in order to represent the data of an LCD device. Theadministrator126 obtains the LCD information using thehandheld device123. The software available on thehandheld device123 improves the usability of the information presented. In particular, font size and font color can be controlled, LED icons may be customized to suit user preferences, the data can be easily stored, and moved to locations where support services are more readily available. This embodiment fosters additional capabilities in asset management and inventory control. For the infrared embodiments, the information presented by theserver computer200 becomes a unique invisible IR barcode.
A more advanced solution takes full advantage of the display technologies used in mobile devices. Graphical, sound, and color capabilities that are not feasibly implemented by the server computers[0057]101-109 are implemented efficiently by leveraging the functionality of thehandheld device123, where the information is communicating via infrared technology.
Various web pages and information pertaining to the state of the[0058]server computer200 or thenetwork113 may be provided on theserver computer200. For example, theNV memory236 may be populated with such web pages and information. Diagrams indicating replacement components, FRU codes, color, sounds, and the many features available from the web browser experience are transmitted to thehandheld device123. Agents that leverage HTML (HyperText Markup Language) documents and web browser technologies also provide this information. A subset of the full CIM/XE information may be desired in order to provide the best web content that is viewable by a mobile device, such as thehandheld device123. As functionality and capabilities increase, the content is also increased to provide better diagnostic data.
A more advanced solution leverages HTML technology in order to present more helpful information using a wider range of graphical capabilities; color, sound, images, etc. For infrared embodiments, the[0059]microcontroller234 manages theNV memory236 in addition to the IR medium. TheNV memory236 is sized appropriately to hold all necessary information for comprehensive web page content. For example, memory sizes of 64K, 128K, or larger are feasible.Software applications301 on the operating system of theserver computer200 or, in the alternative, an embedded management processor, populates theNV memory236 with the desired information. The bandwidth for populating theNV memory236 is minimal.
In one embodiment, the[0060]microcontroller234 is passive until interrogated by thehandheld device123. Thehandheld device123 uses either a custom application to allow for easy roaming capabilities, or leverages already present TCP over PPP capabilities. TCP over PPP reduces the software work required. TCP over PPP may be implemented to provide the easy roam-in, roam-out usability as desired. In the first case, a custom application transfer HTML files from the server;computer200 to thehandheld device123, which includes appropriate web browser software that is used to browse the files. In the latter case, the PPP connection is used to directly browse the files on theserver computer200.
It is noted that capabilities currently exist to allow keyboard, mouse, and video information to be presented over the infrared medium or the serial port to suitable portable devices. As understood by those of ordinary skill in the art, this currently requires a host operating system and special software such as Windows 2000 or PC Anywhere. The bandwidth requirements may exceed current infrared limits. The bandwidth may be is increased with compression or management techniques. For full rack configuration with headless operation, infrared technology is used to completely eliminate the cabling problems that exist with the use of a keyboard, mouse, and monitor.[0061]
It is appreciated that many operational modes are possible and contemplated for various usage model embodiments. For example, in an asset management configuration, the[0062]administrator126 walks up to therack111 of the enabled server computers101-109 and points the handheld device123 (for infrared embodiments) or couples the handheld device123 (for serial port embodiments). Communication is automatically commenced according to embodiments described, and theadministrator126 is provided with an indication that information has been gathered within thehandheld device123. For example, thehandheld device123 may assert a beep sound or the like. Thehandheld device123 may further be configured to display the name of the server computer or device about which the information pertains. Theadministrator126 can then later review all information at their convenience on thehandheld device123 or upload to a workstation for viewing the information, such as statistics or the like.
FIG. 4 is an exemplary screen shot[0063]400 of an LCD emulation embodiment, where the screen shot400 is displayed on thedisplay124 of thehandheld device123. Awindow401 or the like is shown and includes avirtual LCD display403, one or morevirtual buttons405, one or morevirtual LEDs407, etc. Thewindow401 is in any desired format, such as a Windows CE version. Theadministrator126 interfaces with thewindow401 in standard fashion, such as with a pen stylus and/or cursor or the like, to interface thevirtual buttons405. Thevirtual LCD display403 andvirtual LEDs407 display requested information in a similar manner as a physical LCD or IMD. However, the physical LCD or IMD is not necessary and is replaced by thehandheld device123. In an exemplary embodiment, theadministrator126 points thehandheld device123 to therack111 of enabled server computers101-109, or serially couples thehandheld device123 to a selected server. Avirtual alert LED407 is used to indicate important information. A list of the servers is presented on thevirtual LCD display403 shown on thedisplay124, such as Windows MFC control. Theadministrator126 selects a desired server, and thewindow401 is displayed on thehandheld device123 and updated continuously just like a physical LCD.
FIG. 5 is an exemplary screen shot[0064]500 of a web page embodiment for purposes of displaying management information, where the screen shot500 is displayed on thedisplay124 of thehandheld device123. In this case, thehandheld device123 includes a browser or the like that displays anexemplary window501 according to CIM/XE style pages. Thewindow501 includes standard window graphics and icons or the like, such as menus, slide bars, interface icons, etc., and includes aninformation area503. Again, theadministrator126 points (or serially couples) thehandheld device123 to therack111 of enabled server computers101-109. A list of the servers (not shown) is presented ininformation area503 of thewindow501. Theadministrator126 selects a desired server or device, and thewindow501 displays status information of the selected device. As shown, status information of a server named “COOLHOST” is displayed.
FIG. 6 is an exemplary screen shot[0065]600 of a web page embodiment for purposes of displaying diagnostics information, where the screen shot600 is displayed on thedisplay124 of thehandheld device123. In this case, thehandheld device123 includes a browser or the like that displays anexemplary window601 according to Xerox style information images or pages. Thewindow601 includes window graphics and icons or the like, such as menus, slide bars, interface icons, etc., and includes aninformation area603. Again, theadministrator126 points (or serially couples) thehandheld device123 to therack111 of enabled server computers101-109. A list of the servers in a failed or degraded state (not shown) are presented in theinformation area603 of thewindow601. An application operating on thehandheld device123 determines the source of the problem or error, such as failure of a fan or the like. As shown, Xerox style help information is displayed in theinformation area603 of thewindow601 providing a list of menu items for service and repair instructions.
FIG. 7 is a simplified block diagram of the[0066]server computer200 illustrating an exemplarycommunication interface system700 implemented according to an infrared transceiver embodiment configured through thesystem ROM229. In this embodiment, theBIOS231 is loaded into thesystem memory206 and executed by theCPU202 during power up of theserver computer200. TheBIOS231 includes I/O code701 that interfaces with themicrocontroller234 to enable I/O functions via thehandheld device123. In particular, the I/O code701 includes code to enable thehandheld device123 to perform any one or more of keyboard functions, mouse functions, video functions, disk drive functions, etc. For video functions, for example, whatever information that would normally be displayed by a monitor coupled to theserver computer200 is instead displayed on thedisplay124. Theadministrator126 is further able to run a SETUP routine to retrieve and modify setup, status and/or configuration information via thehandheld device123. The ishandheld device123 may further be utilized to execute any diagnostic routines stored on thehandheld device123 or otherwise stored on any storage device of theserver computer200. For example, thehandheld device123, through operation of the I/O code701, is configured to emulate a floppy disk drive for theserver computer200, such as drive A:, which further stores a diagnostic routine that is loaded into thesystem memory206 and executed by theserver computer200.
In this manner, it is appreciated that the[0067]handheld device123 emulates or otherwise replaces any one or more of the standard I/O functions of theserver computer200. This is particularly advantageous in a headless configuration in which theserver computer200 does not otherwise include a keyboard, a mouse, a monitor, a floppy drive, etc. Theadministrator126 is thus able to control theserver computer200 at power up including functions such as setup, configuration, diagnostics, etc. It is further noted that auxiliary power through the VAUX power signal may optionally be provided to theNV memory236, themicrocontroller234 and theinfrared transceiver119 in a similar manner as described previously. Thehandheld device123 may include an updated ROM pack to update thesystem ROM229 of theserver computer200. For example, theadministrator126, via thehandheld device123, runs the SETUP or configuration while booting theserver computer200, and then instructs theserver computer200 to replace the ROM code with that supplied by thehandheld device123.
FIG. 8 is a simplified block diagram of the[0068]server computer200 illustrating anothercommunication interface system800 implemented according to another infrared transceiver embodiment including a separate management processor. In this embodiment, themanagement functions system230 includes, or is otherwise replaced by, amanagement processor801 coupled to the PCI bus212. Thus, themanagement processor801 is able to communicate with the host operating system and/or the system ROM. Themicrocontroller234 is coupled to themanagement processor801 via the I/O bus232. Themanagement processor801 may further include itsown memory system803, which further includes any desired combination of RAM and ROM devices. Themanagement processor801 may further include separate communications to other bus systems (not shown) and may further incorporate or otherwise interface other I/O functions, such as one or more USBs (Universal Serial Buses), serial ports, a keyboard controller, a mouse interface, Ethernet, messaging interfaces abstracted on top of the PCI bus212, etc. Themanagement processor801 may further be used to update thesystem ROM229 of theserver computer200 by enabling theadministrator126 to execute the SETUP or configuration routine in a similar manner as described above.
The VAUX auxiliary power signal may optionally be provided to the[0069]management processor801, thememory system803, theNV memory236, themicrocontroller234 and theinfrared transceiver119 in a similar manner as described previously. Themicrocontroller234 implements the IrDA protocol and enables the functionality of the IrDA stack. Alternatively, the IrDA protocol and stack are implemented by themanagement processor801, in which case themicrocontroller234 andNV memory236 are not necessary, so that theinfrared transceiver119 is coupled directly to themanagement processor801 as indicated by dashedline807.
The[0070]communication interface system800 operates in a similar manner as theinterface system700. Thesystem ROM229 need not include the I/O code701 as thehandheld device123 is enabled via themanagement processor801. In particular, themanagement processor801 enables thehandheld device123 to perform any one or more of keyboard functions, mouse functions, video functions, disk drive functions, etc. In one embodiment, themanagement processor801 decodes video cycles on the PCI bus212 and converts to a video stream for display by thehandheld device123. In this manner, whatever information that would normally be displayed by a monitor coupled to theserver computer200 is instead displayed on thedisplay124. Theadministrator126 is further able to run the SETUP routine to retrieve and modify setup, status and/or configuration information via thehandheld device123. Thehandheld device123 may further be utilized to execute any diagnostic routines stored on thehandheld device123 or otherwise stored on any storage device of theserver computer200. For example, thehandheld device123, through operation of themanagement processor801, is configured to emulate a floppy disk drive for theserver computer200, such as drive A:, which further stores a diagnostic routine that is loaded into thesystem memory206 and executed by theserver computer200.
The[0071]management processor801 provides additional functionality that may not be provided by theinterface system700. Themanagement processor801 may be separately booted from itsown memory system803 and effectively operate independently of thehost server computer200. If auxiliary power is provided, then themanagement processor801 may be operational during boot up ofhost server computer200, when thehost server computer200 shuts down, and while theserver computer200 remains powered down. In this manner, the management processor.801 may be used to track the health of theserver computer200 during normal operation, and may further store any status or statistical information that may have lead up to a premature shutdown. Themanagement processor801 may further track and store any additional status or statistical information after theserver computer200 is shut down. It is noted that some of this information stored in thememory system803 may be associated with the operating system of theserver computer200, and that other information independent of the operation system may further be tracked and stored in thememory system803. Theadministrator126 may then use thehandheld device123 to access and retrieve all of the information stored in thememory system803.
Although a system and method according to the present invention has been described in connection with the preferred embodiment, it is not intended to be limited to the specific form set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents, as can be reasonably included within the spirit and scope of the invention as defined by the appended claims.[0072]