Monitoring Of An Electronic Device With A System Management Controller

DAVIS, EDWARD L. ;   et al.

Patent Application Summary

U.S. patent application number 09/183498 was filed with the patent office on 2001-12-27 for monitoring of an electronic device with a system management controller. Invention is credited to DAVIS, EDWARD L., NEWMAN, RONALD D..

Application Number20010056483 09/183498
Document ID /
Family ID22673054
Filed Date2001-12-27

United States Patent Application 20010056483
Kind Code A1
DAVIS, EDWARD L. ;   et al. December 27, 2001

MONITORING OF AN ELECTRONIC DEVICE WITH A SYSTEM MANAGEMENT CONTROLLER

Abstract

A method and apparatus for monitoring a computer system with a system management controller is described. The system management controller monitors the status of various system components to determine whether the respective system components are operating within respective predetermined operating ranges. The system management controller is capable of taking corrective action. In one embodiment, a system management controller runs a Transmission Control Protocol/Internet Protocol (TCP/IP) stack independent of the system and reports problems to a network server or other remote device. In one embodiment, the system management controller obtains a Media Access Controller (MAC) address and communicates operating faults to the remote device. In an alternative embodiment, the system management controller communicates system component faults to a remote device via a modem or other device. In one embodiment, in addition to detecting system component failures, the system management controller of the present invention detects whether system components have been unexpectedly removed from the electronic device, for example, as the result of a theft or destruction.


Inventors: DAVIS, EDWARD L.; (MILWAUKIE, OR) ; NEWMAN, RONALD D.; (HILLSBORO, OR)
Correspondence Address:
    BLAKELY SOKOLOFF TAYLOR & ZAFMAN
    12400 WILSHIRE BLVD
    7TH FLOOR
    LOS ANGELES
    CA
    90025
Family ID: 22673054
Appl. No.: 09/183498
Filed: October 30, 1998

Current U.S. Class: 709/224 ; 709/244
Current CPC Class: H04L 41/00 20130101; H04L 43/00 20130101; H04L 43/10 20130101
Class at Publication: 709/224 ; 709/244
International Class: G06F 015/173

Claims



What is claimed is:

1. An apparatus for monitoring an electronic system, the apparatus comprising: an interface for communicating with a remote electronic device; multiple system components; and a management circuit coupled to the interface and to the multiple components, wherein the management circuit monitors the multiple system components and automatically sends a message to the remote device in response to one or more of the multiple system components operating outside of a predetermined operating range for the specific component, further wherein the management circuit obtains a network identifier for the electronic system to communicate with remote devices and maintains a Transmission Control Protocol/Internet Protocol (TCP/IP) stack to maintain communications with the remote device.

2. The apparatus of claim 1 wherein the management circuit obtains a Media Access Control (MAC) address to communicate with the remote device independent of the electronic device.

3. The apparatus of claim 1 wherein the message is in response to and indicates that a chassis containing the electronic device has been unexpectedly opened.

4. The apparatus of claim 1 wherein the message is in response to and indicates that an operating temperature of at least one of the multiple system components is outside a predetermined operating range.

5. The apparatus of claim 1 wherein the message is in response to and indicates that an operating voltage of at least one of the multiple system components is outside a predetermined operating range.

6. The apparatus of claim 1 further comprising one or more fans coupled to the control circuit, wherein the management circuit controls operating characteristics of the one or more fans based on an operating temperature of at least one of the multiple system components.

7. The apparatus of claim 1 wherein the management circuit monitors results of a power-on self test (POST) sequence to determine whether the multiple system components are operating with acceptable operating characteristics.

8. A method of monitoring an electronic device, the method comprising: monitoring multiple system components of the electronic device; initiating a network connection with a management circuit in response to the one or more system components not operating within the predetermined operating range; maintaining a Transmission Control Protocol/Internet Protocol (TCP/IP) stack with the management circuit to communicate with the remote device; generating automatically, a message to a remote device in response to one or more of the system components not operating within the predetermined operating ranges; and sending the message.

9. The method of claim 8 wherein the management circuit obtains a Media Access Control (MAC) address to communicate with the remote device.

10. A machine-readable medium having stored thereon sequences of instructions, which when executed by a system management circuit cause the system management circuit to: monitor multiple system components of the electronic device; initiate a network connection with a management circuit in response to the one or more system components not operating within the predetermined operating range; maintain a Transmission Control Protocol/Internet Protocol (TCP/IP) stack with the management circuit to communicate with the remote device; generate, automatically, a message to a remote device in response to one or more of the system components not operating within the predetermined operating ranges; and send the message.

11. The machine-readable medium of claim 10 further comprising sequences of instructions that cause the system management circuit to obtain a Media Access Control (MAC) address to communicate with the remote device.

12. An apparatus for monitoring an electronic device, the apparatus comprising: means for monitoring multiple system components of the electronic device; means for initiating a network connection with the management circuit in response to the one or more system components not operating within the predetermined operating range; means for maintaining a Transmission Control Protocol/Internet Protocol (TCP/IP) stack with a system management device; and means for generating, automatically, a message to a remote device in response to one or more of the system components not operating within a predetermined operating ranges.

13. The apparatus of claim 12 further comprising means for independently obtaining a Media Access Control (MAC) address with the control circuit to communicate with the remote device.
Description



FIELD OF THE INVENTION

[0001] The present invention relates to electronic devices, such as computer systems. More particularly, the present invention relates to monitoring of an electronic device with a system management controller.

BACKGROUND

[0002] Typical prior art electronic devices such as computer systems have multiple system components that are designed to operate within predetermined operating parameters. Some system components are self-monitoring. When a system component operates outside of predetermined operating parameters, corrective action is taken by the component. For example, when a processor exceeds a predetermined operating temperature thermal reduction steps are taken, such as a reduction in the operating frequency of the processor until the temperature is within an acceptable range. However, these monitoring schemes do not provide a system-wide solution to system monitoring.

[0003] Often in a large network of computer systems, specific people are designated to resolve problems that arise with respect to computer systems on the network. In general, the user of a specific computer system is not the person designated and/or equipped to solve problems related to his/her computer system. In such a situation the person(s) designated to resolve problems of computer systems must be informed of the problem before the problem can be resolved. The user of the computer system must then wait for the problem to be resolved.

[0004] Such prior art network system management schemes therefore require a user of a particular computer system to determine that a problem exists with respect to the computer system, notify an individual or group designated to resolve the particular problems, and then wait for the problem to be resolved. This reduces a computer user's productivity because the person must discover the problem and then request and wait for assistance. This is particularly inefficient when the problem could have been resolved without the person being without the services of the computer system, for example, when a component fails during non-working hours. Further, the prior art computer system management schemes described provide no protection against theft or notification of missing components.

[0005] What is needed is an improved system management scheme that monitors multiple system components and automatically generates messages indicating problems associated with the computer system.

SUMMARY OF THE INVENTION

[0006] A method and apparatus for monitoring an electronic system with a system management controller is described. A management circuit coupled to an interface and to multiple system components. The management circuit monitors the multiple system components and automatically sends a message to a remote device in response to one or more of the multiple system components operating outside of a predetermined operating range for the specific component. The management circuit obtains a network identifier for the electronic system to communicate with remote devices. The management circuit further maintains a Transmission Control Protocol/Internet Protocol (TCP/IP) stack to maintain communications with the remote device.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The present invention will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the invention, which, however, should not be taken to limit the invention to the specific embodiments, but are for explanation and understanding only.

[0008] FIG. 1 is a computer system having a system management controller according to one embodiment of the present invention.

[0009] FIG. 2 is a system management controller according to one embodiment of the present invention.

[0010] FIG. 3 is a fan control circuit suitable for use with the present invention.

[0011] FIG. 4 is an interface for use with a system management controller according to one embodiment of the present invention.

[0012] FIG. 5 is a network of electronic devices that automatically send messages in response to predetermined conditions according to one embodiment of the present invention.

[0013] FIG. 6 is a state diagram of a system management controller according to one embodiment of the present invention.

[0014] FIG. 7 is a flow diagram of system management controller operation according to one embodiment of the present invention.

DETAILED DESCRIPTION

[0015] A method and apparatus for monitoring an electronic device with a system management controller is described. In the following description, numerous details are set forth, such as particular bus protocols, functional units, interfaces, etc. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without these specific details. In other instances, structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.

[0016] Reference in the specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.

[0017] The present invention provides a system management controller that monitors the status of various system components to determine whether the respective system components are operating within respective predetermined operating ranges. The system management controller is capable of taking corrective action. In one embodiment, a system management controller runs a Transmission Control Protocol/Internet Protocol (TCP/IP) stack independent of the system and reports problems to a network server or other remote device. In one embodiment, the system management controller obtains a Media Access Controller (MAC) address and communicates operating faults to the remote device. In an alternative embodiment, the system management controller communicates system component faults to a remote device via a modem or other device.

[0018] In one embodiment, in addition to detecting system component failures, the system management controller of the present invention detects whether system components have been unexpectedly removed from the electronic device, for example, as the result of a theft or destruction. The missing system components can thereby be replaced more quickly than if the computer system user were required to determine the absence of a particular system component, or if the computer system user removed the missing component.

[0019] FIG. 1 is a computer system having a system management controller according to one embodiment of the present invention. Computer system 100 of FIG. 1 is one embodiment of a personal computer system or other computer system. However, the invention is not limited to use with a personal computer system or similar computer system. For example, the invention can be used with a mainframe computer system, a server, a network computing device, a hand-held computer system, network components such as routers and hubs, etc.

[0020] System bus 110 is a device that interconnects multiple system components. In one embodiment system bus 110 is a Peripheral Component Interconnect (PCI) bus as set forth in PCI Local Bus Specification 2.0, published Apr. 30, 1993 by the PCI Special Interest Group of Hillsboro, Oreg. Alternatively, other types of busses can be used, for example, an Industry Standard Architecture (ISA) or Extended Industry Standard Architecture (EISA) bus can be used. Multiple busses can also be used to implement computer system 100.

[0021] Processor 102 is coupled to system bus 110 via chip set 104. In one embodiment, processor 102 is from the Pentium.RTM. family of processors available from Intel Corporation of Santa Clara, Calif., for example, a Pentium.RTM. II processor. Chip set 104 is a group of one or more integrated circuit (IC) chips that provide support circuitry and functionality for processor 102 and to provide desired functionality in computer system 100. In one embodiment, chip set 104 is the 440BX chip set available from Intel Corporation. Of course, other chip sets can also be used.

[0022] Memory 106 is coupled to chip set 104. In one embodiment, memory 106 is one or more dual in-line memory modules (DIMMs) and one or more read-only memory (ROM) devices. However, memory 106 can also be some other type of memory device, for example, single in-line memory modules (SIMMs) with ROMs, etc. In one embodiment, system management controller 150 can determine the size an configuration of memory 106 by executing memory evaluation code sequences.

[0023] Video device 108 is coupled to chip set 104. In one embodiment, video device 108 is an output device such as a cathode ray tube (CRT) or liquid crystal display (LCD) and supporting circuitry. In one embodiment, system management controller 150 can determine the type of video hardware available.

[0024] Basic Input/Output System (BIOS) 160 is also coupled to chip set 104. BIOS 160 provides low level control of computer system 100. For example, BIOS 160 can be used to boot computer system 100 to an operating system that can in turn be used to control computer system 100.

[0025] Clock circuit 125 is coupled to processor 102 to provide driving clock signal. Clock circuit 125 can be coupled to other components of computer system 100 (connections not shown in FIG. 1) to provide driving clock signals to other components. Computer system 100 can also include multiple clock circuits (not shown in FIG. 1). The multiple clock signals can be used to drive various system components.

[0026] Fan(s) 130 represent one or more fans in computer system 100 to dissipate heat from system components causing excessive heat. In one embodiment, a fan is placed to cause air flow across processor 102, which may have a heat sink thermally coupled thereto. Additional fans can be used to dissipate heat from other components such as power supply 120. Fan control 132 is couples to the one or more fans 130 to control the operation of the fan(s).

[0027] Power supply 120 provides power to processor 102. Power supply 120 also provides power to other components of computer system 100; however, connections between power supply 120 and the other components are not shown for reasons of simplicity.

[0028] Network interface 140 provides computer system 100 with network access. In one embodiment, network interface 140 includes a Media Access Control (MAC) circuit coupled to an RJ45 adapter to provide Ethernet.RTM. access for computer system 100. Alternative network interfaces protocols can also be used. Ethernet.RTM. is a registered trademark of Xerox Corporation of Rochester, N.Y.

[0029] Serial interface 145 provides computer system 100 with access to serial devices such as a keyboard, a mouse, a modem, or other I/O device. Computer system 100 can also include a parallel interface (not shown in FIG. 1) to provide access to parallel devices, such as storage devices. Other peripheral interfaces can also be coupled to system bus 110.

[0030] System management controller 150 is coupled to multiple system components. In one embodiment, system management controller 150 is coupled to fan controller 132, processor 102, clock circuit 125, memory 106, network interface 140, serial interface 145, and power supply 120. System management controller 150 can be coupled to different or additional system components. In one embodiment, system management controller 150 is an embedded microcontroller described in greater detail below. Alternatively, system management controller 150 is an application-specific integrated circuit (ASIC).

[0031] In one embodiment, system management controller 150 is coupled to multiple components of computer system 100 via one or more busses, such as the SMBus.RTM. available from Intel Corporation. Alternatively, the I.sup.2C.RTM. bus available from Philips Semiconductors of Sunnyvale, Calif. can also be used. System management controller 150 can also be coupled to each system component of interest individually.

[0032] In one embodiment, a single monitoring circuit (not shown in FIG. 1) monitors fan(s) 130 and one or more voltages generated by power supply 120 and the integrity of computer system 100 case (not shown in FIG. 1). In such an embodiment, the monitoring circuit is coupled to system management controller 150. The monitoring circuit can be, for example, the Heceta or Heceta II components available from Intel Corporation.

[0033] Electrically Erasable Programmable Read Only Memory (EEPROM, E.sup.2PROM) 170 is coupled to system management controller 150. In one embodiment, EEPROM 170 provides instructions and data to system management controller 150 and to network interface 140 as described in greater detail below.

[0034] In general, system management controller 150 monitors the operation of multiple system components. If one of the monitored components operates outside of a predetermined operating range, stops functioning or is removed from computer system 100, system management controller 150 detects this condition. In response, system management controller 150 takes corrective action (e.g., increasing fan speed, decreasing operating frequency), if possible. If the corrective action is not successful, system management controller 150 communicates the unexpected condition to a remote device via a network or other condition.

[0035] As described in greater detail below, system management controller 150 is capable of maintaining a TCP/IP stack in order to complete network communications independently of the functioning of computer system 100. In one embodiment, system management controller 150 is coupled to or includes an audio component (not shown in FIG. 1). The audio component can be used as an alarm if, for example, a system component is removed or destroyed.

[0036] In one embodiment, system management controller 150 responds to polling requests from external devices (e.g., a presence ping from a network device). System management controller 150 responds to the request as appropriate, for example, by describing a system configuration, capability and/or functional status. In one embodiment, system management controller 150 can perform bus transactions via system bus 110 to check memory 106 (e.g., CMOS configuration), peripherals, PCI devices, ISA devices, and other devices that can be included in computer system 100.

[0037] FIG. 2 is a system management controller according to one embodiment of the present invention. In one embodiment, system management controller 200 is based on the 80386 processor core available from Intel Corporation. Alternatively, system management controller can be based on a different architecture, such as a reduced instruction set computing (RISC) architecture or a 68030 processor core available from Motorola, Inc. of Schaumburg, Ill.

[0038] In one embodiment, modem interface 210 provides an interface to communicate with a modem (not shown in FIG. 2). In alternative embodiments, modem interface is replaced by, or provided in addition to, a serial communications interface such as RS232. Modem interface 210 allows system management controller 200 to communicate with remote devices via a modem or serial communications device(s).

[0039] Network interface 220 provides an interface to network components. In one embodiment, system management controller 200 maintains a TCP/IP stack in order to provide network communications when a system in which system management controller 200 is included is malfunctioning, components are unexpectedly removed, etc.

[0040] By maintaining a TCP/IP stack independent of the system in which system management controller 200 is included, system management controller 200 can communicate with remote devices via a network communication when the system otherwise could not communicate via a network connection. This allows system management controller 200 to communicate malfunctions, failures, etc. via a network connection.

[0041] ROM interface 230 provides an interface to access a ROM device. In one embodiment, an EEPROM (not shown in FIG. 2) is accessed by processor core 205 via ROM interface 230. In one embodiment, both network interface 220 and ROM interface 230 include MICROWIRE.TM. interfaces available from National Semiconductor of Santa Clara, Calif. and are described in greater detail below.

[0042] Fan/voltage control interface 240 allows processor core to monitor and control one or more fans (not shown in FIG. 2) and power supply voltage levels. In one embodiment, fan/voltage control interface 240 provides access to a Heceta or Heceta II device. Alternative fan and/or voltage monitor/control device(s) can also be used instead of the Heceta devices. Fan and/or voltage monitoring/control are described in greater detail below.

[0043] In one embodiment, system management controller 200 monitors the temperature of one or more system components (e.g., a processor package) to determine whether the components are operating within a predetermined temperature range via the Heceta device. For example, if a temperature is too high, the speed of an associated fan is increased. Similarly, of a temperature is within a predetermined low range the speed of the associated fan could be reduced to reduce system noise and/or power consumption.

[0044] FIG. 3 is a fan control circuit suitable for use with the present invention. In one embodiment, fans are operated in a pulse width modulated (PWM) manner. System management controller 200 is coupled to fan control circuit 360 to communicate information related to fan control. In one embodiment, system management controller 200 includes two 8-bit programmable pulse width modulators that output a fixed frequency, variable duty cycle (0% to 100%) waveform to control two fans. An 8-bit embodiment provides 0.39% duty cycle granularity. In this manner, software executed by system management controller 200 can set fan speed(s). In one embodiment, fan speed parameters are user-configurable.

[0045] In one embodiment, fan control circuit 360 is part of a Heceta IC and digital signals output by fan control circuit 360 are converted to analog signals to control a fan by a circuit such as the circuit of FIG. 3. Fan control circuit 360 outputs a PWM signal to the positive input terminal of operational amplifier 310 through resistor 300.

[0046] The output of operational amplifier 310 is coupled to the base of transistor 320. Fan 350 and resistor 330 are coupled to the emitter of transistor 320. The collector of transistor 320 is coupled to a supply voltage. The negative input to operational amplifier 310 is coupled to the opposite terminal of resistor 330 as the output of operational amplifier 310. Resistor 340 is coupled between the negative terminal of operational amplifier 310 and ground. Other circuits (e.g., digital to analog converters) can be used to provide a control signal to fan 350.

[0047] In one embodiment additional circuitry (not shown in FIG. 3) monitors voltage levels in the system in which system controller 200 is used. Voltage monitoring circuits are known in the art, and any voltage monitoring circuit can be used. If one or more voltages in the system are not within predetermined acceptable operating range(s), system management controller 200 sends a message to a remote device indicating that one or more voltages are out of range. As discussed above, messages can be communicated either via a modem, other serial communication, or network communication.

[0048] Returning to FIG. 2, in one embodiment, memory interface 250 provides access to flash memory 252 and RAM 254. Memory interface 250 includes address, data and control interfaces that allow processor core 205 to access data and instructions stored in flash memory 252 or RAM 254. In one embodiment, flash memory 252 is a 128 k.times.8 device and RAM 254 provides 32 kbytes of memory. Of course, other memory sizes and types can be used.

[0049] In one embodiment, flash memory 252 includes a BIOS that is sufficient to boot the system from a network device or other external device if the system ROM is removed. By booting the system from memory other than the system ROM, the system management controller can use external resources to, for example, run diagnostic procedures to determine why the system is malfunctioning.

[0050] Additional component interface(s) 260 provide access to additional system components and/or devices not described with respect to FIG. 2. In one embodiment, additional component interface(s) are in the form of I.sup.2C.RTM. bus interfaces; however, any other coupling can be used to provide access to additional components.

[0051] In one embodiment, system management controller 200 monitors a wired-OR of all interrupt lines in the system. If an interrupt persists for more than a predetermined period of time, system management controller 200 assumes that the interrupt has caused the system to crash and system management controller 200 sends a message to a remote device.

[0052] In one embodiment, system management controller 200 monitors power-on self test (POST) codes in the system. If a POST failure occurs, system management controller 200 sends a message to a remote device indicating a POST failure.

[0053] In one embodiment, system management controller 200 polls the monitored components of an associated system to determine whether the components are present. Lack of a response to the polling action indicates a non-functioning, a malfunctioning, or a missing component. Each of these conditions cause a message to be sent to a remote device.

[0054] FIG. 4 is an interface for use with a system management controller according to one embodiment of the present invention. In one embodiment, a MICROWIRE.TM. interface is used to interconnect an Ethernet.RTM. MAC device, a system management controller, and a ROM device (e.g., EEPROM). The MICROWIRE.TM. interface is a serial interface that allows MAC 400 and EEPROM 450 to intercommunicate during normal operation and the system management controller to communicate with MAC 400 as if the system management controller were EEPROM 450 under certain conditions. The MICROWIRE.TM. interface can be replaced with a Serial Peripheral Interface.TM. (SPI.TM.) available from Motorola, Inc. or another interface.

[0055] MAC 400 provides access to a network (not shown in FIG. 4) in any manner known in the art. In one embodiment system management controller 420 is coupled to MAC 400 via a 4-line MICROWIRE.TM. interface. Similarly, EEPROM 450 is coupled to system management controller 420 via a 4-line MICROWIRE.TM. interface. The CS# signal is a low-asserted chip select signal, the SK signal is a clock signal, the DI signal is a data input signal, and the DO signal is a data output signal.

[0056] In one embodiment, the lines coupling MAC 400 and EEPROM 450 are coupled to multiplexors (e.g., 430, 432, 434 and 436) of system management controller 420. The multiplexors also receive input signals from ROM 425 of system management controller 420 and are controlled by select circuit 440. In normal operation select circuit 440 causes the multiplexors to pass signals between MAC 400 and EEPROM 450.

[0057] Under certain conditions select circuit 440 causes MAC 400 to receive data from ROM 425. The configuration of FIG. 4 allows system management controller 420 to "snoop" transactions with MAC 400, which allows system management controller 420 to obtain the network address of the system in which system management controller 420 operates. In one embodiment, the system is powered up and MAC 400 is reset to obtain the MAC address of the system.

[0058] In this manner, system management controller 420 can maintain a network connection independent of the computer system in which system management controller 420 operates. Maintenance of a network connection in combination with an independent TCP/IP stack maintained by system management controller 420 allows system management controller to communicate via a network independent of the system in which system management controller 420 operates.

[0059] In one embodiment system management controller 420 retrieves non-volatile system management data from EEPROM 450. For example, system management data can include: the system serial number, the pager number of a person responsible to repair the system, voltage trip point(s), temperature trip point(s), fan trip point(s), etc.

[0060] FIG. 5 is a network of electronic devices that automatically send messages in response to predetermined conditions according to one embodiment of the present invention. In one embodiment, the electronic devices of FIG. 5 (e.g., 510, 512, 514), are computer systems, such as computer system 100 of FIG. 1.

[0061] Electronic devices 510, 512 and 514 are coupled to network 500. In one embodiment, network 500 is a local area network (LAN); however, network 500 can be any type of network, such as the Internet. Network 500 can also be a wireless network, or a telephone network.

[0062] Network management device(s) 520 represent one or more devices that can be used to manage network 500 and devices coupled thereto. For example, computer system(s) running network software tools that allow network administrators monitor network traffic, configurations, etc.

[0063] In one embodiment one or more of network management device(s) 520 is coupled to antenna 525. The coupling can be either direct or indirect, for example, via a telephone network. Antenna 525 sends a message to pager 540 that is carried by a network administrator or repair personnel. For example, if a specific computer system is overheating the following message can be sent to pager 540: "00A012345678, System temperature of 89F is over limit of 70F."

[0064] Thus, an electronic device sends a message via network 500 to network management device(s) 520 indicating an unexpected event. If the condition causing the event can be resolved by network management device(s) 520 (e.g., providing boot code), network management device(s) 520 automatically resolve the condition. Otherwise, a message is communicated to pager 540.

[0065] Devices other than, or in addition to, pager 540 can be used inform a network administrator or repair personnel of an unexpected event. For example, an electronic mail message could be sent, a telephone call could be placed, a flashing light could be lit, etc.

[0066] FIG. 6 is a state diagram of a system management controller according to one embodiment of the present invention. The system management controller starts in state 600 (NO_POWER), when the electronic device monitored is without power. When the electronic device is provided with power, the system management controller moves to state 605 (STANDBY). The transition is labeled PLUGED_IN; however, physically plugging in the electronic device is not required.

[0067] If power is lost while in state 605, the system management controller moves back to state 600. The transition is labeled PULLED_CORD; however, physically pulling the power cord is not necessary. State 605 indicates that power is available to the electronic device and not that the electronic device has been powered up or turned on.

[0068] If the electronic device is powered up in state 605, the system management controller moves that state 610 (FULL_POWER). The transition is labeled POWER_BUTTON, suggesting that a power button on the electronic device is pressed to turn the device on. If the power button is pressed in state 610, the device is turned off and the system management controller moves back to state 605. The transition from state 610 to state 605 is also labeled POWER_BUTTON. In one embodiment, the power levels related to states 600, 605 and 610 are monitored by a Heceta IC.

[0069] If the case or chassis of the electronic device is opened during state 605, the system management controller moves to state 615 (CASE_OPEN). The transition is labeled CHASSIS_INT. In one embodiment, the Heceta device is used to determine whether the case has been opened. From state 615, the system management controller moves to state 620 (HELP). In state 620, the system management controller sends one or more messages indicating the nature of the event that caused the system management controller to be in state 620.

[0070] From state 605, the system management controller can move to state 625 (X911) as the result of a "crash," which as used with respect to FIG. 6 refers to an OR output of all interrupt lines staying high for more than one second. Other definitions of a system crash can also be used. The transition from state 605 to state 625 is labeled CRASH. From state 625, the system management controller moves to state 620 to send a message indicating a crash has occurred.

[0071] From state 605, the system management controller can move to state 630 (OOPS) as the result of one or more system components operating outside of the respective predetermined operating ranges. The transition from state 605 to state 630 is labeled OUT_OF_SPEC. Determining whether a system component is operating outside of a predetermined range is described in greater detail above. From state 630, the system management controller moves to state 620 to send a message indicating that a system component is operating outside of the predetermined operating range.

[0072] From state 610, the system management controller can move to state 615, 625 or 630 for the same reasons as described above with respect to state 605. The transitions are labeled CHASSIS_INT, CRASH and, OUT_OF_SPEC, respectively in FIG. 6. The system management controller can also move to state 600 as a result of loss of power. The transition between states 610 and 600 is labeled PULLED_CORD in FIG. 6.

[0073] The system management controller moves from state 610 to state 640 (POST_CODE_FAIL) in response to a POST code failure, as discussed above. The transition is labeled POST_CODE_TIMEOUT in FIG. 6. From state 640, the system management controller moves to state 620 to send a message indicating a POST code failure.

[0074] The system management controller can move from state 610 to state 635 (LOW_POWER). This transition is the result of system inactivity for a predetermined period of time. The transition is labeled TIMEOUT in FIG. 6. The system management controller returns to state 610 from state 635 as a result of system activity. The transition is labeled KEY_PRESSED in FIG. 6; however, activity other than pressing a key can cause the system management controller to move from state 635 to state 610. From state 635, the system management controller can also move to states 615 and 630 as the result of an unexpected case opening (CHASSIS_INT) or a component operating outside of a predetermined operating range (OUT_OF_SPEC), respectively.

[0075] State 650 (PING) is an independent state that can be entered from any of the states discussed above. State 650 is caused as the result of a message received form an external device testing for the presence of the system or requesting information from the system. System management controller responds to the message appropriately and returns to the state when the message was received. Conceptually, the ping message is similar to an interrupt within a computer system. Normal operation is interrupted while the interrupt/ping is processed, after which normal operation resumes.

[0076] FIG. 7 is a flow diagram of system management controller operation according to one embodiment of the present invention. The system management controller waits until power is supplied, 700.

[0077] If power is supplied at 700, the system management controller monitors the power up cycle, 710. Monitoring the power up cycle is described in greater detail above. If the power up cycle is not successful at 720 a message indicating that the power up cycle was not completed is sent to a remote device, 770.

[0078] If the power up cycle is completed successfully at 720, the system management controller monitors POST code results, which is described in greater detail above. If the POST codes indicate that completion was not successful at 740, a message is sent to a remote device indicating the result, 770.

[0079] If the POST codes indicate a successful result at 740, the system management controller monitors system operation, 750. If system operation is not successful at 760 (e.g., operating temperature too high, operating voltage too low), a message is sent to a remote device, 770. System operation is monitored until operation is complete.

[0080] In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed