This invention relates generally to the maintenance of processor based systems accessible over a network.
Processor based systems such as personal computers, cellular telephones, entertainment systems, and the like may be coupled for communications over networks. These networks may include the Internet as one example as well as local area networks and other networks.
In one example, corporate information technology departments may manage a large number of computers. To this end, those departments must service a large number of individual computers, dispersed over a large area.
Conventionally manufacturers of the personal computers provide some type of warranty or service. The service may require a technician to travel to the site of the processor based system or conversely for the owner or user of the processor based system to bring it to a service location. The downside of these approaches includes considerable down time in obtaining service.
Thus there is a need for better ways to maintain, service or update processor based systems.
Referring to
The systems 10 may be any processor-based system. They may be part of a wired or a wireless network. The systems 10 may be, for example, desktop or laptop computers, servers, personal digital assistants, cellular telephones, or entertainment systems, to mention a few examples.
Referring to
The bus 20 may also couple to a local area network (LAN) controller 28 which allows connections to the network 12. The controller 28 may enable wired or wireless connections. Also coupled to the bus 20 may be a non-volatile storage 30. The non-volatile storage 30 may be any non-volatile memory, such as a flash memory, a hard drive, or an optical disk drive, to mention a few examples.
In one embodiment of the present invention, the controller 28 may include an embedded controller 32. The embedded controller 32 may be a microcontroller storage having an operating system independent agent 34 that operates with the system BIOS 24 to collect information about a particular processor based system 10. The controller 32 may be associated with a storage 38.
To enable the embedded controller 32 to operate when the processor based system 10 is in a power saving mode or power off mode, an auxiliary power source 36 may be provided for the embedded controller 32. The auxiliary power source 36 may be operational at all times and may be recharged, in one embodiment, when the processor based system 10 is in a power on state.
The controller 28 may couple to the network 12. The controller 28 may also be coupled to a system management bus (SMBus) 60. The bus 60 may be coupled to the processor 18.
While one architecture for the processor based system 10 is illustrated in
Referring to
The agent 34 may also collect configuration information about the system 10 and its environment before the operating system boots. This information may then be used to diagnose initialization errors also reported over the network 12 to the management framework 14.
The agent 34 stores the collected information in the non-volatile storage 38 as indicated in blocks 44 and 46. After detecting system boot (block 42), when the agent 34 receives a request for information, as determined in diamond 48, from the management framework 14, the agent 34 provides the information as indicated in block 49. Since the agent 34 may operate using the auxiliary power source 36, the agent 34 is able to respond regardless of whether the operating system is installed, regardless of the power state, and regardless of the operational state of the installed operating system.
Referring to
Referring to
The BIOS 24 and, particularly, the processor 18 may be coupled to the controller 34 by the system management bus 60. Also executing from the processor 18 are two structures. The structure 66 is for the ACPI configuration information and the other structure 68 is for the system management BIOS. Those structures may be stored in an option read only memory (ROM) 70 on the processor 18 during execution.
The controller 34 may have a SMBus interface software 76 and processor interface software 78. The controller 34 may be coupled to the storage 38 which may store the asset information 84.
The ACPI structure 66 and the SMBIOS structure 68 are the primary sources of processor system information. They are data structures stored within and built by the BIOS 24. They receive information about the configuration of the system and about any errors and, particularly, errors during the booting process.
Referring to
Thus, a check at diamond 96 determines whether the check sum has changed. If so, the changed information is reported to the operating system independent agent 34. Otherwise, the flow continues to determine whether the current check sum is equal to the previous check sum as determined in diamond 98. If not, again, the information is reported. If it is, a check determines whether all the tables have been completed in diamond 100. If not, the flow iterates to the next table. If all of the tables have been examined, a report is sent to the operating system independent agent 34 as indicated in block 102. Thereafter, the system boot can be implemented as indicated in block 104.
The information collected may enable diagnosis of problems on particular systems 10, repairs of problems on systems 10, or detection of deployment usages. This information may add value by allowing significant savings in repair and deployment costs. In addition, the management network 14 can determine the make and model of a non-booting system 10 over the network 12. The management framework 14 may push a make or model specific diagnostic to the non-booting system 10 over the network 12 as indicated in block 56. This allows the management framework 14 to remotely diagnose a problem, saving the time and costs of a desk side visit for purposes of system diagnosis.
For example, a boot failure of the system 10 can be diagnosed remotely. The controller 32 receives initialization error indications associated with a memory failure on the SMBus 60. If the BIOS fails to initialize memory, a failure indication is sent over the network 12. The asset information may be used to then determine what memory module failed. Then the technician may determine what part is needed.
A hardware failure may also be remotely diagnosed. For example, knowing the make and model of the hard disk drive and knowing that the hard disk drive has failed at initialization, the appropriate replacement part may be provided. When the operating system fails to boot, the BIOS reports the failure over the SMBus 60. The controller 32 receives error indications over the SMBus 60, in one embodiment.
In addition, automation tools may be used to identify the make and model of systems 10 coupled through a network 12 prior to installation of an operating system. Prior to operating system installation, deployment tools may be able to couple to the system 10 to download the make and model and integrated device list. With this information, the management framework 14 may build an approved operating system image for the new system 10 and push the image to the new system over the network 12 as also indicated in block 56.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.