US20040162893A1 - Computer card for storing bootable images and providing remote management functions - Google Patents

Computer card for storing bootable images and providing remote management functions Download PDF

Info

Publication number
US20040162893A1
US20040162893A1 US10/781,108 US78110804A US2004162893A1 US 20040162893 A1 US20040162893 A1 US 20040162893A1 US 78110804 A US78110804 A US 78110804A US 2004162893 A1 US2004162893 A1 US 2004162893A1
Authority
US
United States
Prior art keywords
memory
processor
computer system
management
managed computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/781,108
Inventor
Andrew Brown
Jeff Pipkins
E. Neufeld
Paul Hoke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/781,108 priority Critical patent/US20040162893A1/en
Publication of US20040162893A1 publication Critical patent/US20040162893A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Definitions

  • the present invention generally relates to a system for remotely managing a computer system or network. More particularly, the present invention relates to a remote management system that includes the capability of transferring a bootable image from a remote computer system to a system management board in a host computer system, and for causing the host computer system to boot the image during its boot cycle.
  • Computer networks such as LANs (local area networks) have become one of the most important devices for storing and sharing data in a business, and thus, computer networks are one of the most critical pieces of equipment in a business office. A failure in the computer network can cause business operations to grind to a halt.
  • Computer networks typically comprise a plurality of personal computers and other data processing devices connected together for information exchange.
  • file servers are responsible for administrating and storing the documents generated by each of the personal computers (PCs) in the system.
  • file servers also preferably include the capability to monitor faults in the computer network. If a fault or security breach is detected, the file server provides a warning of the fault and in certain instances may also provide diagnostic operations and may even implement corrective measures.
  • Files and data are maintained by a host processing system within the server.
  • Servers are designed to provide work stations with fast access to files stored by the server.
  • file servers embody a computer which responds to an operating system program (a popular operating system being, for example, WINDOWS NT®, or NETWARE®) to not only orchestrate the files but also to maintain file security, file backup, or other file management features.
  • an operating system program a popular operating system being, for example, WINDOWS NT®, or NETWARE®
  • One important aspect which flows from maintaining these functions within a server is the capability to manage the server from a remote site, and to even permit management of the server from sites remote from the network. There has been a steady increase in the number of servers that are used in businesses.
  • Operating systems may permit access to the computer or server being managed from a remote site, often call a “remote terminal.”
  • a remote terminal while not physically connected to the computer or server, nonetheless allows remote control of certain operations.
  • Products such as Compaq Server Manager® and Compaq Remote Insight Manager®, obtainable from Compaq Computer Corp., have attempted to address some of the issues involved in managing a network of distributed servers from a single, remote site. These products permit an administrator to be notified of a remote server failure, to reset the server from the remote site, and to access certain information provided on the server.
  • Compaq's Insight Manager® permits remote maintenance of the file server as well as local and remote notification of errors.
  • Insight Manager® permits the file server to be re-booted from a remote location or from any system on the network. Insight Manager® also provides control facilities including diagnostic capabilities to analyze the condition of the server system configuration and to update system firmware. Insight Manager® collects and monitors server data as well as data from each client in the network and allows the network manager to act on the data from a remote location or any work station on the network. In addition, Insight Manager® includes the capability to set user defined thresholds which permit the server to monitor system parameters and to alert the network manager when an error occurs. Notification in the event of an alert or a failure is delivered in many possible ways including on-screen messages, a pager, e-mail, fax and SNMP.
  • a system management module for a host server system includes a system management processor connected to a system management local bus.
  • the system management local bus connects to the system PCI bus through a system management central control unit.
  • the system management module includes a video controller and/or keyboard and mouse controller connected to the system management local bus to support remote consoling of the system management module, even in the event that the system bus fails.
  • the Intel PXE Toolkit enables certain software (including some operating systems) to be installed remotely under certain conditions. For the installation to occur, however, the computer system receiving the installation must be operational because the software to be installed is temporarily stored in the random access memory of that computer. Thus, if the system has crashed, or is otherwise inoperable, this product has limited use. Consequently, if a system has crashed and cannot reboot, it is still necessary to have personnel travel to the computer site to perform repairs on site.
  • One of the exemplary embodiments may be a system comprising a processor, a memory coupled to the processor, and a bridge device coupling a system bus to the processor.
  • the system bus is configured to couple to an expansion bus of a managed computer system.
  • the memory is configured to hold a bootable image for the managed computer system, and wherein the processor is configured to emulate a disk drive device storing the bootable image, and to boot the managed computer system from the bootable image stored in the memory.
  • FIG. 1 depicts a host system with a management card, coupled to a remote management console, in accordance with the preferred embodiment of the present invention
  • FIG. 2 is a block diagram showing the architecture of the host system, management card, and remote management console, in accordance with the preferred embodiment.
  • FIG. 3 is a flow chart depicting the operation of the system, according to an exemplary embodiment.
  • the term “host computer” or “managed computer system” means a computer system that includes a management sub-system, either as a plug-in card or as an integrated component that has been pre-assembled or assembled as part of the computer system.
  • management console means a computer or server that includes a console with input and output capabilities that can be used to manage the host computer.
  • computer is used in this specification broadly and includes a personal computer, workstation, server, or other microprocessor-based device which can be programmed by a user to perform one or more functions and/or operations. To the extent that any term is not specially defined in this specification, the intent is that the term is to be given its plain and ordinary meaning.
  • embodiments of the present invention may have application in a managed computer or server system 100 , a management sub-system 150 connected to the computer system 100 (or managed server) via suitable connectors 152 , and a management console 200 connected to the management sub-system 150 via a communications line 175 .
  • the computer system 100 constructed in accordance with a preferred embodiment of the invention generally comprises a computer chassis 50 , a computer monitor 75 , a keyboard 60 and a mouse 65 .
  • the chassis 50 may house various electrical components that perform the computing functions of the computer. In accordance with normal convention, the chassis 50 houses a CD-ROM drive 40 and a floppy disk drive 45 .
  • drives may also be included in chassis 50 , including for example, DVD-ROM drives, ZIP drives, PCMCIA slots/drives, and the like. These drives permit removable storage media to be inserted in appropriate receptacles, where the data stored on the media may be read by the circuitry in the computer.
  • the input devices which in most instances comprises the keyboard 60 and mouse 65 , connect via cables 61 , 67 , respectively to appropriate ports or connectors on the chassis 50 to permit the user to input instructions to the computer.
  • Other input devices may also be provided in addition to, or in place of, those shown.
  • the input devices may be coupled to the computer using wireless communications, such as infrared transmission.
  • the computer monitor 75 may be separate from the chassis 50 , or may be integral with the chassis, depending upon the desired configuration of the computer system. If separate from the chassis, a suitable cable 77 couples the monitor to the electronics in the chassis.
  • the computer system 100 comprises a server that couples via a suitable network connection to one or more personal computers.
  • the server stores files and data on behalf of the network computers, and facilitates the interconnection and access of information by computers in the network.
  • computer system 100 couples via an Ethernet cable 20 to one or more computers or servers in a local area network (LAN).
  • LAN local area network
  • the management sub-system 150 preferably comprises a computer card that may be physically inserted into the chassis 50 of the computer system 100 , as shown by the arrows in FIG. 1.
  • the management sub-system may comprise a housing that is configured separately from the chassis 50 , and connected by suitable connections to the computer system 100 , as will be explained in more detail below.
  • the management sub-system may be provided on a circuit board or a computer system board pre-assembled within the chassis of the computer system 100 .
  • the management sub-system 150 connects via connectors 152 on the edge of the card to a system bus in the computer system 100 , such as, for example, a PCI (Peripheral Component Interconnect) bus.
  • a PCI Peripheral Component Interconnect
  • the management sub-system may couple to other system busses within the host computer system 100 , instead of the PCI bus.
  • the management sub-system preferably couples to an Ethernet line or to some other suitable network connection via line 160 .
  • line 160 couples the management sub-system 150 to a telephone line or other suitable communication line, such as an ISDN line or DSL line to permit remote communication to the management console 200 , which may be located remote from the local area network.
  • the management sub-system may communicate with a management console 200 , which may be located either on the network or at a location remote from the network.
  • Communication line 175 is intended to represent either of these possibilities.
  • network circuitry and connections in the form of routers, hubs, modems and the like may be used to implement the communication path to the management console 200 . For the sake of simplicity, these additional components have been omitted.
  • the management console 200 couples to the communication line 175 via a suitable link 265 .
  • the communication line 175 may comprise a network line, a telephone line, ISDN, DSL, or other communication link, an Internet connection, or a combination of one or more of these.
  • the management console 200 preferably includes a computer chassis 250 , a computer monitor 275 , a keyboard 260 and a mouse 255 .
  • the chassis 250 may house various electrical components that perform the various computing functions of the console, which preferably comprises a standard personal computer or web computer.
  • the chassis 50 houses a CD-ROM drive 240 and a floppy disk drive 245 .
  • Various other drives may also be included as part of the chassis 250 , including for example, DVD-ROM drives, ZIP drives, and PCMCIA slots/drives. These drives permit removable data storage media to be inserted in appropriate receptacles, where the data stored on the media may be read by the circuitry in the management console. As one skilled in the art will appreciate, other peripheral drives and devices also may be located external to the chassis 250 , that connect to the console through suitable ports or connections.
  • the input devices which typically comprise the keyboard 260 and mouse 255 , connect via cables 263 , 257 , respectively to appropriate ports or connectors on the chassis 250 to permit the user to input instructions to the computer.
  • Other input devices also may be provided in addition to, or in place of, those shown.
  • the input devices may be coupled to the computer using wireless communications, such as infrared transmission.
  • the computer monitor 275 may be located separate from the chassis 250 , or may be formed integrally with the chassis, depending upon the desired configuration of the system. If separate from the chassis, a suitable cable 277 couples the monitor to the electronics in the chassis.
  • FIG. 2 the host system 100 , management sub-system 150 and remote console 200 are shown in more detail in block diagram form.
  • this architecture is intended to be exemplary of a host system that may accept a memory management sub-system, and is not intended to indicate that this architecture is required. Virtually any computer system may be used which is capable of booting and operating a conventional operating system.
  • the architecture of the remote management console also is intended to be exemplary, and the exact architecture employed at the remote management console is not critical.
  • the managed computer 100 preferably comprises a standard computer architecture, including a host processor 25 , system memory 70 , bus bridges 85 , 90 and display 75 .
  • the server processor 25 preferably couples to system memory 70 through a primary bridge device 85 .
  • the processor may comprise any suitable microprocessor such as the Pentium II®, Pentium III®, or Celeron® processor by Intel®, the Athlon® processor by AMD, or other microprocessors from these or other manufacturers that may be used or configured for use in a computer system.
  • the system memory 70 preferably comprises one or more memory devices such as any suitable type of random access memory that connect to the bus bridge via a memory bus 82 .
  • System memory 70 may comprise, for example, synchronous dynamic random access memory (SDRAM), or other memory designs suitable for use in a computer.
  • SDRAM synchronous dynamic random access memory
  • the primary bridge 85 permits the processor 25 and other devices in computer system 100 to read data from or write data to system memory 70 .
  • the primary bridge 85 may include an interface to an advanced graphics port (AGP) to support a graphics accelerator or other graphics devices (including a monitor) or memories that reside on an AGP bus.
  • AGP advanced graphics port
  • the primary bridge 85 also preferably includes an interface to a system or peripheral bus 84 .
  • the system bus 84 comprises a Peripheral Component Interconnect (PCI) bus, to which the primary bridge 85 interfaces.
  • PCI Peripheral Component Interconnect
  • Various system bus compliant devices 95 may connect to the system bus 84 .
  • the processor 25 can communicate with various system devices, including the peripheral devices 95 , host ROM 80 , and other devices connected to the system bus 84 by bridge 90 .
  • various PCI bus masters may read data from and write data to system memory 70 via the primary bridge 85 .
  • the bridge 85 preferably contains a memory controller and arbiter (not specifically shown) to provide controlled and efficient access to system memory 70 by the various devices in computer system 100 such as processor 25 and other system devices.
  • Computer system 100 preferably also includes a secondary bridge device 90 which bridges the system bus 84 to other expansion buses such as an Industry Standard Architecture (ISA) bus, sub-ISA bus, or X bus.
  • ISA Industry Standard Architecture
  • Other devices such as a hard disk drive 35 , CD-ROM drive 40 , and floppy drive 45 , preferably couple to secondary bridge device 90 .
  • Other drives also may be provided as desired.
  • Drives 35 , 40 , and 45 can be accessed by the processor 25 through the primary bridge 85 and secondary bridge 118 .
  • disk drive controllers may also be included to provide effective data transfers to and from these drives.
  • a video buffer 71 couples to the system bus 84 (or to some other bus, such as an AGP bus) to receive video signals to be displayed by a suitable computer monitor or display 75 .
  • One or more suitable bus connectors or slots 99 connect to the system bus 84 to permit other compatible peripheral devices to be added to the system if desired.
  • the host ROM 80 while shown connected to the PCI bus, may be located elsewhere in the host system 100 , if desired.
  • the host ROM 80 preferably comprises read only memory which stores certain software that can not be easily overwritten.
  • the host ROM 80 preferably stores boot code and other basic input/output system (BIOS) code that is used by the processor to boot the computer system, and to initialize the system components.
  • BIOS basic input/output system
  • the management sub-system 150 preferably comprises a management processor 155 , management memory 190 , bridge logic 165 and network interface logic 170 .
  • the management processor 155 preferably provides information to the host system 100 relating to error detection and system administration to reduce the load on the server processor 25 .
  • the management processor 155 preferably functions as a “survival” processor in the event the server processor 25 “hangs” or is rendered inoperable by system error.
  • the management processor 155 thus permits access to the server system 100 for purposes of accessing system components via the system bus 84 to determine the source of any error in the host system 100 .
  • the management processor 155 also preferably detects other system errors and isolates the source of the errors to permit the host system 100 to continue operations.
  • the management memory 190 includes random access memory as the working memory of the management processor 155 , preferably in the form of dynamic random access memory (DRAM). Other types of memory circuits also may be used such as static random access memory (SRAM) circuits, battery-backed RAM and/or non-volatile RAM, if desired.
  • the management memory 190 may also include read-only memory to permanently store code for execution by the management processor.
  • the management memory 190 preferably is used to store data and code for execution by the management processor 155 .
  • the management memory 190 may be used by the management processor 155 to store information relating to the state of the host system, including diagnostic and event log information.
  • the management memory 190 preferably stores abnormal end (ABEND) information, IML (event log information), diagnostic information, and asset management information.
  • the management memory 190 also preferably stores floppy disk images or other bootable images that are received from the remote management console 200 for installing in the host computer system 100 , as will be discussed in more detail below.
  • the bridge logic 165 preferably couples the management processor 155 to management memory 190 .
  • the functions of bridge logic 165 may be integrated into the management processor 155 , or to some other component.
  • the bridge logic 165 preferably includes a memory controller to control and properly format transactions to the memory.
  • the bridge logic also preferably couples the management processor to a management system bus 195 .
  • Arbitration of the management system bus 195 preferably is controlled by arbitration logic in the bridge logic 165 .
  • the management local bus 195 comprises a PCI-style bus that may couple via a suitable bridge (such as bus connector 99 ) to the system bus 84 in the host system 100 .
  • the management local bus 195 may comprise any of a variety of other buses, including for example, an ISA (Industry Standard Architecture) bus.
  • the management processor 155 preferably has the same privileges as the host processor 25 . Thus, the management processor 155 can reboot the system 100 without accessing the host processor 25 . In the event that the management processor 155 is removed from the server system bus 84 , or the bus fails, the management processor 155 can still operate and communicate with the other devices connected to the management system bus 195 .
  • certain firmware is stored in management memory 190 , and used to control the operation of the management processor 155 .
  • One piece of software used by the management processor 155 is FTP (file transfer protocol) or TFTP Server software, which is commercially available.
  • the FTP Server software is used to read image data from corresponding Client software at the remote console 200 .
  • the FTP Server software facilitates transfer of image data from the remote console 200 to the management processor 155 , which then stores the image in management memory 190 .
  • a second piece of firmware stored in management memory 190 is memory mapping software.
  • the memory mapping software is used to translate the address of image data stored in management memory 190 into sector addresses corresponding to the location of the image on a floppy drive.
  • the image is received from remote console 200 , it is stored sequentially in the management memory 190 according to normal convention. If the image reflects data that was obtained form a floppy drive, and if the data is represented as floppy drive data to the host processor 25 , then the host processor will request data based on normal floppy drive formatting conventions. Thus, for example, the host processor will request data according to side, track and sector.
  • the management processor 155 In response to such a request from the host processor 25 , the management processor 155 must be capable of determining which portion of the image stored in the management memory 190 should be made available to the host processor 25 .
  • This translation from the management memory address to a conventional floppy format is performed preferably by the memory mapping firmware.
  • the memory mapping software monitors the starting address in the memory 150 of the image, and from that performs the necessary calculations to translate the side, track, sector formatted request into a specific memory address of the memory 150 . This calculation is based on the conventional formatting of floppy disks, which for example, may contain 2 sides, 80 cylinder tracks on each side, and 32 sectors in each track, with 512 bytes of data in each sector.
  • the memory mapper firmware can be programmed to translate a side, track, sector request from host processor 25 into the specific memory address where the requested data is located.
  • the remote console 200 couples to the management sub-system via communications link 175 .
  • the communications link 175 may comprise an Ethernet connection, a telephone line, a wireless communications link, or any other suitable communications media. It should also be understood that a combination of different types of communication media may be used to implement communications link 175 .
  • the network interface 170 may connect to an Ethernet network, which couples to a modem, which in turn connects to a telephone line.
  • the connection between the management sub-system 150 and management console 200 may be implemented using the Internet, or through a company's intranet.
  • the remote console 200 comprises a conventional personal computer, and thus preferably includes a console processor 225 , system memory 235 , primary bridge 280 and secondary bridge 290 , a monitor 275 , and a network interface 270 .
  • the console processor 225 preferably couples to system memory 235 through a primary bus bridge 280 . It should be understood that other embodiments of the invention may include more than one processor.
  • the processor may comprise any suitable microprocessor such as the Pentium II®, Pentium III®, or Celeron® processor by Intel®, the Athlon® processor by AMD, or other microprocessors from these or other manufacturers that may be used or configured for use in a computer system.
  • the system memory 235 preferably comprises one or more memory devices such as any suitable type of random access memory.
  • System memory may comprise, for example, synchronous dynamic random access memory (SDRAM), or other memory designs suitable for use in a computer.
  • SDRAM synchronous dynamic random access memory
  • the primary bridge 280 permits the console processor 225 and other devices in the management console 200 to read data from or write data to memory 235 .
  • the primary bridge 280 may include an interface to an advanced graphics port (AGP) to support a graphics accelerator or other graphics devices (including a monitor) or memories that reside on an AGP bus.
  • AGP advanced graphics port
  • the primary bridge 280 also preferably includes an interface to a system bus 285 .
  • the system bus 285 comprises a Peripheral Component Interconnect (PCI) bus, to which the primary bridge 280 interfaces.
  • PCI Peripheral Component Interconnect
  • Various system bus compliant devices may connect to the system bus 285 .
  • the processor 225 can communicate with various system devices included in the remote console 200 .
  • various PCI bus masters may read data from and write data to system memory 235 via the primary bridge 280 .
  • the bridge 280 preferably includes a memory controller and arbiter (not specifically shown) to provide controlled and efficient access to system memory 235 by the various devices in the console 200 .
  • the management console 200 preferably also includes a secondary bus bridge 290 which bridges the system bus 285 to other buses such as an Industry Standard Architecture (ISA) bus 124 , sub-ISA bus, or X bus.
  • ISA Industry Standard Architecture
  • Other devices such as a hard disk drive 295 , CD-ROM drive 240 , and floppy drive 245 , couple to secondary bus bridge 290 .
  • Other drives may also be provided as desired.
  • Drives 240 , 245 and 295 can be accessed by the processor 225 through the primary bridge 280 and secondary bridge 290 .
  • disk drive controllers (not shown) may also be included to provide effective data transfers to and from these drives.
  • the keyboard 260 and mouse 255 also preferably couple to the secondary bridge 290 .
  • a video monitor 275 couples to the system bus 280 (or to some other bus, such as an AGP bus) to receive video signals to be displayed.
  • the management console 200 also preferably includes a network interface 270 or modem for coupling the console 200 to the management sub-system 150 .
  • an image is obtained at the remote console 200 for installing at the managed computer system (or host PC) 100 .
  • the image may be obtained in various ways, including downloading from a website or by receiving an image from another source.
  • One typical way in which such an image may be obtained is by loading an image from a storage medium, such as a floppy disk placed in floppy drive 245 or a CD-ROM loaded in a CD-ROM drive 240 .
  • the image may be stored in the hard drive 295 of the management console 200 , where it can be retrieved as required for managing remotely located computers.
  • the image comprises a relatively small data package that can be stored on the memory 190 in the management sub-system 150 .
  • the image comprises less than 1.44 Megabytes of data, and thus can be loaded into the remote console via a floppy disk placed in floppy drive 245 .
  • step 304 the image is transferred to the management sub-system 150 from the management console 200 .
  • conventional FTP (file transfer protocol) software or TFTP software is used to transfer the image from the remote management console 200 to the management sub-system 150 .
  • the management sub-system 150 is loaded with Server FTP software that is executed by management processor 155 , while the management console is loaded with Client FTP software to facilitate the transfer.
  • the transferred image is received at the management sub-system 150 , as indicated in step 306 , and loaded into memory 190 in the management sub-system 150 in step 308 .
  • the management sub-system 150 After the image has been received and stored in memory 190 , the management sub-system 150 preferably transmits a control signal to the host computer system 100 , causing a special flag to be set in a suitable register, indicating that the management sub-system 150 has a bootable image that should be read during the subsequent boot cycle of the host computer system 100 .
  • the host computer system 100 and management sub-system 150 may be programmed so that the host computer system automatically makes an inquiry to the management sub-system 150 during each boot cycle to determine if a bootable image has been stored in memory 190 at the management sub-system 150 .
  • the host computer system 100 is booted in step 312 . This may be in response to a re-boot command from the remote console 200 , or may occur locally at the host computer system. As part of the boot cycle, the host computer system 100 preferably checks the status of the special flag in step 314 . Alternatively, as noted above, the host computer system 190 may be programmed to automatically check for bootable images in the management sub-system 150 . If the flag is not set (step 316 ), the host computer system performs a normal boot routine, and boots from the host ROM 80 , or from boot code provided on the local floppy drive 45 .
  • the host processor 25 checks the memory on the management sub-system 150 to determine if bootable code is present. The host processor 25 then performs a read cycle, requesting the image from the memory 190 on the management card. As noted above, the management processor 155 translates the read request, which may be in a side, track, sector format, into a local memory address to facilitate reading the data from memory 190 . The image data then is returned to the host processor 25 . If the entire image is obtained from memory 190 (step 322 ), then the operation terminates, and the host computer system 100 will execute the loaded image.
  • the management processor 155 performs a read operation in step 324 targeting the management console 200 to obtain the rest of the data requested by the host processor 25 . This continues until all of the requested data has been loaded on the host system 100 .
  • the image stored in the management memory 190 may be pre-installed in the memory by the manufacturer or reseller.
  • the data stored in the management memory 190 may be stored temporarily in RAM, or more permanently in battery-backed RAM, non-volatile RAM, or ROM.
  • data compression techniques may be used when transferring and storing the image at the management sub-system 150 . Compression may be used if bandwidth between the remote console and management sub-system 150 is limited or slow, or if the memory 190 in the management sub-system 150 is too small to store the entire image file.
  • the present invention may be used to provide remote operating system installation support.
  • the idea can be expanded to implementing other support, including ROM software upgrades, performing diagnostic operations, and any other applications that are suitable to a boot environment.

Abstract

A system comprising a processor, a memory coupled to the processor, and a bridge device coupling a system bus to the processor. The system bus is configured to couple to an expansion bus of a managed computer system. The memory is configured to hold a bootable image for the managed computer system, and wherein the processor is configured to emulate a disk drive device storing the bootable image, and to boot the managed computer system from the bootable image stored in the memory.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of co-pending application Ser. No. 09/675,281 filed Sep. 29, 2000, entitled “Computer Card For Storing Bootable Images And Providing Remote Management Functions,” incorporated by reference herein as if reproduced in full below.[0001]
  • BACKGROUND
  • The present invention generally relates to a system for remotely managing a computer system or network. More particularly, the present invention relates to a remote management system that includes the capability of transferring a bootable image from a remote computer system to a system management board in a host computer system, and for causing the host computer system to boot the image during its boot cycle. [0002]
  • The concept of controlling a computer from a remote terminal is of great interest in many applications, especially in computer networks and in other situations where a user may not be able to physically access the computer. Computer networks such as LANs (local area networks) have become one of the most important devices for storing and sharing data in a business, and thus, computer networks are one of the most critical pieces of equipment in a business office. A failure in the computer network can cause business operations to grind to a halt. Computer networks typically comprise a plurality of personal computers and other data processing devices connected together for information exchange. At the heart of the computer network is one or more file servers. In most computer networks, file servers are responsible for administrating and storing the documents generated by each of the personal computers (PCs) in the system. In addition to managing the network, file servers also preferably include the capability to monitor faults in the computer network. If a fault or security breach is detected, the file server provides a warning of the fault and in certain instances may also provide diagnostic operations and may even implement corrective measures. [0003]
  • Files and data are maintained by a host processing system within the server. Servers are designed to provide work stations with fast access to files stored by the server. Accordingly, file servers embody a computer which responds to an operating system program (a popular operating system being, for example, WINDOWS NT®, or NETWARE®) to not only orchestrate the files but also to maintain file security, file backup, or other file management features. One important aspect which flows from maintaining these functions within a server is the capability to manage the server from a remote site, and to even permit management of the server from sites remote from the network. There has been a steady increase in the number of servers that are used in businesses. The trend is to place one or more servers at each location of a business, rather than using a single main frame computer at a centralized location. Typically, a company has an individual or department responsible for administering all of the file servers. In many instances, the administrator or administration department is headquartered at one site. Thus, each of the servers must either be maintained and administrated remotely or else personnel must be transported to remote offices to permit on-site management. [0004]
  • Numerous monitoring systems are available to automatically alert designated persons when a PC, server or software application has failed. When such a failure occurs, the persons being notified may be in a remote location and not able to directly access the failed PC. In such an instance, the person may have access to a computer that is remotely connected to the failed computer or server, but may be unable to access the failed device. These may arise either because the processor in that device has failed and will no longer respond, the application running on the failed computer does not support remote PC access, or the failed computer does not have the necessary software installed to permit a remote PC to access it. Various systems exist to permit a PC to be remotely or automatically rebooted, which in many cases restores the PC to normal operation. However, network administrators are reluctant to use such systems without first determining what may have caused the failure, so that similar failures can be prevented in the future. [0005]
  • Operating systems may permit access to the computer or server being managed from a remote site, often call a “remote terminal.” A remote terminal, while not physically connected to the computer or server, nonetheless allows remote control of certain operations. Products such as Compaq Server Manager® and Compaq Remote Insight Manager®, obtainable from Compaq Computer Corp., have attempted to address some of the issues involved in managing a network of distributed servers from a single, remote site. These products permit an administrator to be notified of a remote server failure, to reset the server from the remote site, and to access certain information provided on the server. Compaq's Insight Manager® permits remote maintenance of the file server as well as local and remote notification of errors. In addition, Insight Manager® permits the file server to be re-booted from a remote location or from any system on the network. Insight Manager® also provides control facilities including diagnostic capabilities to analyze the condition of the server system configuration and to update system firmware. Insight Manager® collects and monitors server data as well as data from each client in the network and allows the network manager to act on the data from a remote location or any work station on the network. In addition, Insight Manager® includes the capability to set user defined thresholds which permit the server to monitor system parameters and to alert the network manager when an error occurs. Notification in the event of an alert or a failure is delivered in many possible ways including on-screen messages, a pager, e-mail, fax and SNMP. [0006]
  • It is certainly beneficial to allow remote control of certain server functions, especially those needed to reset one or more servers within a network of servers. Downtime caused by server failure may be the most costly expense incurred in running a distributed computer system. The causes of server failure or “crash” are numerous. Any number of malfunctions or design flaws associated with the server hardware, server operating system or application programs running on a server may cause a server to crash. If a server crashes, then file access is often lost and business records are temporarily inaccessible until the cause of failure is fixed. [0007]
  • In certain instances, it may be necessary to install new software or boot code in a remotely-managed computer system. For example, if a system crashes and cannot be re-started, it may be necessary to boot the computer with boot code from a floppy disk. It may also be necessary to re-program the BIOS ROM or the flash ROM of the computer system if the ROM code becomes corrupted, or needs to be modified. It may also be necessary to install a new operating system from time-to-time, as upgrades and modifications are made to the operating system currently in use. These types of changes to the core programs in a computer system typically cannot be handled from a remote location. [0008]
  • Various software systems have been developed that link one PC with other PC's using modems connected over standard telephone lines either via direct connections or through the Internet. These systems permit a host PC to be controlled by a remote PC. Function keys and menus are used in these systems to permit the remote PC to operate the host PC, as if the remote user was physically sifting at the host PC. Some examples of computer packages that function in this manner are Carbon Copy, PC Anywhere, Remotely Possible, Timbuktu, and Citrix MetaFrame. In commonly assigned U.S. application Ser. No. 08/775,819, filed Dec. 31, 1996, now U.S. Pat. No. 6,070,253, entitled, “Diagnostic Board With System Video And Keyboard For Host Server System To Permit Remote Operations In A Terminal Mode,” a system management module for a host server system is disclosed that includes a system management processor connected to a system management local bus. The system management local bus connects to the system PCI bus through a system management central control unit. The system management module includes a video controller and/or keyboard and mouse controller connected to the system management local bus to support remote consoling of the system management module, even in the event that the system bus fails. Also, in commonly assigned U.S. application Ser. No. 09/544,573, filed Apr. 6, 2000, now U.S. Pat. No. 6,363,929, entitled “USB Virtual Devices,” a management sub-system connects to a managed server and emulates a USB device, so that a remote management console can operate as a USB virtual terminal. The teachings of U.S. application Ser. No. 08/775,819 and 09/544,573 are incorporated herein by reference. [0009]
  • While these systems permit the remote user to take control of the host computer, in the sense that the remote computer can transmit certain input signals such as keyboard and mouse commands, most do not permit the remote computer to load basic core software from the peripheral drives of the remote computer to the host computer, or permit the other peripheral devices that might be available on the remote computer to be used in operating the host computer. Thus, if a network administrator has operating system software or boot code to be loaded on the host computer, the administrator typically must gain physical access to the host computer. Because most of the various peripheral devices of the remote computer are essentially unavailable in the remote administration of a host computer, the network administrator must physically visit the host computer to perform many basic maintenance tasks that simply cannot be performed at this time remotely. Thus, for example, if new operating system software must be loaded on a managed server, a network administrator must physically travel to the site of that server. As a result, many companies that have network facilities at different locations must employ separate network administrators at each facility or else pay for transportation between the various facilities, thus greatly increasing the cost of administering the company's network. [0010]
  • One software tool that does exist for permitting software to be installed remotely is the Intel PXE (Preboot Execution Environment) Toolkit. The PXE Toolkit enables certain software (including some operating systems) to be installed remotely under certain conditions. For the installation to occur, however, the computer system receiving the installation must be operational because the software to be installed is temporarily stored in the random access memory of that computer. Thus, if the system has crashed, or is otherwise inoperable, this product has limited use. Consequently, if a system has crashed and cannot reboot, it is still necessary to have personnel travel to the computer site to perform repairs on site. [0011]
  • It would be desirable if a system was available that permitted software to be remotely installed on a computer system, even if that computer system had failed and could not be booted. In particular, it would be advantageous if a system was available that could be used to boot the system remotely using new or modified boot code. It would also be beneficial if the system permitted other software to be installed, or system devices to be re-programmed, all from the remote location. Despite the apparent advantages such a system would offer, to date no such system is available. [0012]
  • SUMMARY
  • The present invention solves the deficiencies of the prior art by including a management sub-system in the host or managed PC. One of the exemplary embodiments may be a system comprising a processor, a memory coupled to the processor, and a bridge device coupling a system bus to the processor. The system bus is configured to couple to an expansion bus of a managed computer system. The memory is configured to hold a bootable image for the managed computer system, and wherein the processor is configured to emulate a disk drive device storing the bootable image, and to boot the managed computer system from the bootable image stored in the memory.[0013]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a detailed description of exemplary embodiments of the invention, reference will now be made to the accompanying drawings in which: [0014]
  • FIG. 1 depicts a host system with a management card, coupled to a remote management console, in accordance with the preferred embodiment of the present invention; [0015]
  • FIG. 2 is a block diagram showing the architecture of the host system, management card, and remote management console, in accordance with the preferred embodiment; and [0016]
  • FIG. 3 is a flow chart depicting the operation of the system, according to an exemplary embodiment.[0017]
  • NOTATION AND NOMENCLATURE
  • Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, computer companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . ” Also, the term “couple” or “couples” is intended to mean either an indirect or direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections. The term “host computer” or “managed computer system” means a computer system that includes a management sub-system, either as a plug-in card or as an integrated component that has been pre-assembled or assembled as part of the computer system. The term “management console” means a computer or server that includes a console with input and output capabilities that can be used to manage the host computer. The term “computer” is used in this specification broadly and includes a personal computer, workstation, server, or other microprocessor-based device which can be programmed by a user to perform one or more functions and/or operations. To the extent that any term is not specially defined in this specification, the intent is that the term is to be given its plain and ordinary meaning. [0018]
  • DETAILED DESCRIPTION
  • Referring initially to FIG. 1, embodiments of the present invention may have application in a managed computer or [0019] server system 100, a management sub-system 150 connected to the computer system 100 (or managed server) via suitable connectors 152, and a management console 200 connected to the management sub-system 150 via a communications line 175. The computer system 100 constructed in accordance with a preferred embodiment of the invention generally comprises a computer chassis 50, a computer monitor 75, a keyboard 60 and a mouse 65. The chassis 50 may house various electrical components that perform the computing functions of the computer. In accordance with normal convention, the chassis 50 houses a CD-ROM drive 40 and a floppy disk drive 45. Various other drives may also be included in chassis 50, including for example, DVD-ROM drives, ZIP drives, PCMCIA slots/drives, and the like. These drives permit removable storage media to be inserted in appropriate receptacles, where the data stored on the media may be read by the circuitry in the computer.
  • The input devices, which in most instances comprises the [0020] keyboard 60 and mouse 65, connect via cables 61, 67, respectively to appropriate ports or connectors on the chassis 50 to permit the user to input instructions to the computer. Other input devices may also be provided in addition to, or in place of, those shown. In addition, the input devices may be coupled to the computer using wireless communications, such as infrared transmission. The computer monitor 75 may be separate from the chassis 50, or may be integral with the chassis, depending upon the desired configuration of the computer system. If separate from the chassis, a suitable cable 77 couples the monitor to the electronics in the chassis.
  • In the preferred embodiment, the [0021] computer system 100 comprises a server that couples via a suitable network connection to one or more personal computers. The server stores files and data on behalf of the network computers, and facilitates the interconnection and access of information by computers in the network. Thus, in accordance with normal convention, computer system 100 couples via an Ethernet cable 20 to one or more computers or servers in a local area network (LAN).
  • Referring still to FIG. 1, the [0022] management sub-system 150 preferably comprises a computer card that may be physically inserted into the chassis 50 of the computer system 100, as shown by the arrows in FIG. 1. Alternatively, the management sub-system may comprise a housing that is configured separately from the chassis 50, and connected by suitable connections to the computer system 100, as will be explained in more detail below. As yet another alternative, the management sub-system may be provided on a circuit board or a computer system board pre-assembled within the chassis of the computer system 100. In the preferred embodiment, the management sub-system 150 connects via connectors 152 on the edge of the card to a system bus in the computer system 100, such as, for example, a PCI (Peripheral Component Interconnect) bus. As one skilled in the art will appreciate, the management sub-system may couple to other system busses within the host computer system 100, instead of the PCI bus.
  • As shown in FIG. 1, the management sub-system preferably couples to an Ethernet line or to some other suitable network connection via [0023] line 160. Preferably, line 160 couples the management sub-system 150 to a telephone line or other suitable communication line, such as an ISDN line or DSL line to permit remote communication to the management console 200, which may be located remote from the local area network. Thus, the management sub-system may communicate with a management console 200, which may be located either on the network or at a location remote from the network. Communication line 175 is intended to represent either of these possibilities. One skilled in the art will appreciate that other network circuitry and connections in the form of routers, hubs, modems and the like may be used to implement the communication path to the management console 200. For the sake of simplicity, these additional components have been omitted.
  • Referring still to FIG. 1, the [0024] management console 200 couples to the communication line 175 via a suitable link 265. As noted above, the communication line 175 may comprise a network line, a telephone line, ISDN, DSL, or other communication link, an Internet connection, or a combination of one or more of these. The management console 200 preferably includes a computer chassis 250, a computer monitor 275, a keyboard 260 and a mouse 255. The chassis 250 may house various electrical components that perform the various computing functions of the console, which preferably comprises a standard personal computer or web computer. In accordance with normal convention, the chassis 50 houses a CD-ROM drive 240 and a floppy disk drive 245. Various other drives may also be included as part of the chassis 250, including for example, DVD-ROM drives, ZIP drives, and PCMCIA slots/drives. These drives permit removable data storage media to be inserted in appropriate receptacles, where the data stored on the media may be read by the circuitry in the management console. As one skilled in the art will appreciate, other peripheral drives and devices also may be located external to the chassis 250, that connect to the console through suitable ports or connections.
  • The input devices, which typically comprise the [0025] keyboard 260 and mouse 255, connect via cables 263, 257, respectively to appropriate ports or connectors on the chassis 250 to permit the user to input instructions to the computer. Other input devices also may be provided in addition to, or in place of, those shown. In addition, the input devices may be coupled to the computer using wireless communications, such as infrared transmission. The computer monitor 275 may be located separate from the chassis 250, or may be formed integrally with the chassis, depending upon the desired configuration of the system. If separate from the chassis, a suitable cable 277 couples the monitor to the electronics in the chassis.
  • Referring now to FIG. 2, the [0026] host system 100, management sub-system 150 and remote console 200 are shown in more detail in block diagram form. Before discussing FIG. 2, it should be understood that this architecture is intended to be exemplary of a host system that may accept a memory management sub-system, and is not intended to indicate that this architecture is required. Virtually any computer system may be used which is capable of booting and operating a conventional operating system. Similarly, it should also be understood that the architecture of the remote management console also is intended to be exemplary, and the exact architecture employed at the remote management console is not critical.
  • As shown in FIG. 2, the managed [0027] computer 100 preferably comprises a standard computer architecture, including a host processor 25, system memory 70, bus bridges 85, 90 and display 75. The server processor 25 preferably couples to system memory 70 through a primary bridge device 85. It should be understood that other embodiments of the invention may include more than one processor or CPU. The processor may comprise any suitable microprocessor such as the Pentium II®, Pentium III®, or Celeron® processor by Intel®, the Athlon® processor by AMD, or other microprocessors from these or other manufacturers that may be used or configured for use in a computer system. The system memory 70 preferably comprises one or more memory devices such as any suitable type of random access memory that connect to the bus bridge via a memory bus 82. System memory 70 may comprise, for example, synchronous dynamic random access memory (SDRAM), or other memory designs suitable for use in a computer. The primary bridge 85 permits the processor 25 and other devices in computer system 100 to read data from or write data to system memory 70. Although not shown in FIG. 2, the primary bridge 85 may include an interface to an advanced graphics port (AGP) to support a graphics accelerator or other graphics devices (including a monitor) or memories that reside on an AGP bus.
  • The [0028] primary bridge 85 also preferably includes an interface to a system or peripheral bus 84. In the preferred embodiment, the system bus 84 comprises a Peripheral Component Interconnect (PCI) bus, to which the primary bridge 85 interfaces. Various system bus compliant devices 95 may connect to the system bus 84. Through primary bridge 85, the processor 25 can communicate with various system devices, including the peripheral devices 95, host ROM 80, and other devices connected to the system bus 84 by bridge 90. In accordance with the protocol of various system buses, such as the PCI bus, various PCI bus masters may read data from and write data to system memory 70 via the primary bridge 85. The bridge 85 preferably contains a memory controller and arbiter (not specifically shown) to provide controlled and efficient access to system memory 70 by the various devices in computer system 100 such as processor 25 and other system devices.
  • [0029] Computer system 100 preferably also includes a secondary bridge device 90 which bridges the system bus 84 to other expansion buses such as an Industry Standard Architecture (ISA) bus, sub-ISA bus, or X bus. Other devices, such as a hard disk drive 35, CD-ROM drive 40, and floppy drive 45, preferably couple to secondary bridge device 90. Other drives also may be provided as desired. Drives 35, 40, and 45 can be accessed by the processor 25 through the primary bridge 85 and secondary bridge 118. One of ordinary skill in the art will recognize that one or more disk drive controllers (not shown) may also be included to provide effective data transfers to and from these drives. Similarly, the keyboard 60 and mouse 65 also preferably connect to the secondary bridge 90, which relays input signals from a local user to the processor 25. Also, as shown in FIG. 2, a video buffer 71 couples to the system bus 84 (or to some other bus, such as an AGP bus) to receive video signals to be displayed by a suitable computer monitor or display 75. One or more suitable bus connectors or slots 99 connect to the system bus 84 to permit other compatible peripheral devices to be added to the system if desired.
  • The [0030] host ROM 80, while shown connected to the PCI bus, may be located elsewhere in the host system 100, if desired. The host ROM 80 preferably comprises read only memory which stores certain software that can not be easily overwritten. Thus, for example, the host ROM 80 preferably stores boot code and other basic input/output system (BIOS) code that is used by the processor to boot the computer system, and to initialize the system components.
  • Referring still to FIG. 2, the [0031] management sub-system 150 preferably comprises a management processor 155, management memory 190, bridge logic 165 and network interface logic 170. The management processor 155 preferably provides information to the host system 100 relating to error detection and system administration to reduce the load on the server processor 25. In addition, the management processor 155 preferably functions as a “survival” processor in the event the server processor 25 “hangs” or is rendered inoperable by system error. The management processor 155 thus permits access to the server system 100 for purposes of accessing system components via the system bus 84 to determine the source of any error in the host system 100. The management processor 155 also preferably detects other system errors and isolates the source of the errors to permit the host system 100 to continue operations.
  • The [0032] management memory 190 includes random access memory as the working memory of the management processor 155, preferably in the form of dynamic random access memory (DRAM). Other types of memory circuits also may be used such as static random access memory (SRAM) circuits, battery-backed RAM and/or non-volatile RAM, if desired. In addition, the management memory 190 may also include read-only memory to permanently store code for execution by the management processor. Thus, the management memory 190 preferably is used to store data and code for execution by the management processor 155. In addition, the management memory 190 may be used by the management processor 155 to store information relating to the state of the host system, including diagnostic and event log information. Thus, for example, the management memory 190 preferably stores abnormal end (ABEND) information, IML (event log information), diagnostic information, and asset management information. According to the principles of the present invention, the management memory 190 also preferably stores floppy disk images or other bootable images that are received from the remote management console 200 for installing in the host computer system 100, as will be discussed in more detail below.
  • The [0033] bridge logic 165 preferably couples the management processor 155 to management memory 190. Alternatively, the functions of bridge logic 165 may be integrated into the management processor 155, or to some other component. The bridge logic 165 preferably includes a memory controller to control and properly format transactions to the memory. In addition, the bridge logic also preferably couples the management processor to a management system bus 195. Arbitration of the management system bus 195 preferably is controlled by arbitration logic in the bridge logic 165. In the preferred embodiment the management local bus 195 comprises a PCI-style bus that may couple via a suitable bridge (such as bus connector 99) to the system bus 84 in the host system 100. Alternatively, the management local bus 195 may comprise any of a variety of other buses, including for example, an ISA (Industry Standard Architecture) bus.
  • The [0034] management processor 155 preferably has the same privileges as the host processor 25. Thus, the management processor 155 can reboot the system 100 without accessing the host processor 25. In the event that the management processor 155 is removed from the server system bus 84, or the bus fails, the management processor 155 can still operate and communicate with the other devices connected to the management system bus 195.
  • According to the preferred embodiment, certain firmware is stored in [0035] management memory 190, and used to control the operation of the management processor 155. One piece of software used by the management processor 155 is FTP (file transfer protocol) or TFTP Server software, which is commercially available. The FTP Server software is used to read image data from corresponding Client software at the remote console 200. Thus, the FTP Server software facilitates transfer of image data from the remote console 200 to the management processor 155, which then stores the image in management memory 190.
  • A second piece of firmware stored in [0036] management memory 190 is memory mapping software. The memory mapping software is used to translate the address of image data stored in management memory 190 into sector addresses corresponding to the location of the image on a floppy drive. When the image is received from remote console 200, it is stored sequentially in the management memory 190 according to normal convention. If the image reflects data that was obtained form a floppy drive, and if the data is represented as floppy drive data to the host processor 25, then the host processor will request data based on normal floppy drive formatting conventions. Thus, for example, the host processor will request data according to side, track and sector. In response to such a request from the host processor 25, the management processor 155 must be capable of determining which portion of the image stored in the management memory 190 should be made available to the host processor 25. This translation from the management memory address to a conventional floppy format is performed preferably by the memory mapping firmware. The memory mapping software monitors the starting address in the memory 150 of the image, and from that performs the necessary calculations to translate the side, track, sector formatted request into a specific memory address of the memory 150. This calculation is based on the conventional formatting of floppy disks, which for example, may contain 2 sides, 80 cylinder tracks on each side, and 32 sectors in each track, with 512 bytes of data in each sector. Based on this and knowing the start address of the image in memory 150, the memory mapper firmware can be programmed to translate a side, track, sector request from host processor 25 into the specific memory address where the requested data is located.
  • Referring still to FIG. 2, the [0037] remote console 200 couples to the management sub-system via communications link 175. The communications link 175 may comprise an Ethernet connection, a telephone line, a wireless communications link, or any other suitable communications media. It should also be understood that a combination of different types of communication media may be used to implement communications link 175. Thus, for example, the network interface 170 may connect to an Ethernet network, which couples to a modem, which in turn connects to a telephone line. It should also be understood that the connection between the management sub-system 150 and management console 200 may be implemented using the Internet, or through a company's intranet.
  • In the preferred embodiment, the [0038] remote console 200 comprises a conventional personal computer, and thus preferably includes a console processor 225, system memory 235, primary bridge 280 and secondary bridge 290, a monitor 275, and a network interface 270. The console processor 225 preferably couples to system memory 235 through a primary bus bridge 280. It should be understood that other embodiments of the invention may include more than one processor. The processor may comprise any suitable microprocessor such as the Pentium II®, Pentium III®, or Celeron® processor by Intel®, the Athlon® processor by AMD, or other microprocessors from these or other manufacturers that may be used or configured for use in a computer system. The system memory 235 preferably comprises one or more memory devices such as any suitable type of random access memory. System memory may comprise, for example, synchronous dynamic random access memory (SDRAM), or other memory designs suitable for use in a computer. The primary bridge 280 permits the console processor 225 and other devices in the management console 200 to read data from or write data to memory 235. Although not shown in FIG. 2, the primary bridge 280 may include an interface to an advanced graphics port (AGP) to support a graphics accelerator or other graphics devices (including a monitor) or memories that reside on an AGP bus.
  • The [0039] primary bridge 280 also preferably includes an interface to a system bus 285. In the preferred embodiment, the system bus 285 comprises a Peripheral Component Interconnect (PCI) bus, to which the primary bridge 280 interfaces. Various system bus compliant devices may connect to the system bus 285. Through primary bridge 280, the processor 225 can communicate with various system devices included in the remote console 200. In accordance with the protocol of various system busses, such as the PCI bus, various PCI bus masters may read data from and write data to system memory 235 via the primary bridge 280. The bridge 280 preferably includes a memory controller and arbiter (not specifically shown) to provide controlled and efficient access to system memory 235 by the various devices in the console 200.
  • The [0040] management console 200 preferably also includes a secondary bus bridge 290 which bridges the system bus 285 to other buses such as an Industry Standard Architecture (ISA) bus 124, sub-ISA bus, or X bus. Other devices, such as a hard disk drive 295, CD-ROM drive 240, and floppy drive 245, couple to secondary bus bridge 290. Other drives may also be provided as desired. Drives 240, 245 and 295 can be accessed by the processor 225 through the primary bridge 280 and secondary bridge 290. One of ordinary skill in the art will recognize that one or more disk drive controllers (not shown) may also be included to provide effective data transfers to and from these drives. Similarly, the keyboard 260 and mouse 255 also preferably couple to the secondary bridge 290. Also, a video monitor 275 couples to the system bus 280 (or to some other bus, such as an AGP bus) to receive video signals to be displayed. Still referring to FIG. 2, the management console 200 also preferably includes a network interface 270 or modem for coupling the console 200 to the management sub-system 150.
  • Referring now to FIGS. 2 and 3, the operation of the present invention will now be described. As indicated in [0041] step 302, an image is obtained at the remote console 200 for installing at the managed computer system (or host PC) 100. The image may be obtained in various ways, including downloading from a website or by receiving an image from another source. One typical way in which such an image may be obtained is by loading an image from a storage medium, such as a floppy disk placed in floppy drive 245 or a CD-ROM loaded in a CD-ROM drive 240. Alternatively, the image may be stored in the hard drive 295 of the management console 200, where it can be retrieved as required for managing remotely located computers. According to the preferred embodiment, the image comprises a relatively small data package that can be stored on the memory 190 in the management sub-system 150. According to the preferred embodiment, the image comprises less than 1.44 Megabytes of data, and thus can be loaded into the remote console via a floppy disk placed in floppy drive 245.
  • In [0042] step 304, the image is transferred to the management sub-system 150 from the management console 200. According to the preferred embodiment, conventional FTP (file transfer protocol) software or TFTP software is used to transfer the image from the remote management console 200 to the management sub-system 150. According to the preferred embodiment, the management sub-system 150 is loaded with Server FTP software that is executed by management processor 155, while the management console is loaded with Client FTP software to facilitate the transfer. The transferred image is received at the management sub-system 150, as indicated in step 306, and loaded into memory 190 in the management sub-system 150 in step 308.
  • After the image has been received and stored in [0043] memory 190, the management sub-system 150 preferably transmits a control signal to the host computer system 100, causing a special flag to be set in a suitable register, indicating that the management sub-system 150 has a bootable image that should be read during the subsequent boot cycle of the host computer system 100. Alternatively, instead of setting the flag, the host computer system 100 and management sub-system 150 may be programmed so that the host computer system automatically makes an inquiry to the management sub-system 150 during each boot cycle to determine if a bootable image has been stored in memory 190 at the management sub-system 150.
  • Subsequently, the [0044] host computer system 100 is booted in step 312. This may be in response to a re-boot command from the remote console 200, or may occur locally at the host computer system. As part of the boot cycle, the host computer system 100 preferably checks the status of the special flag in step 314. Alternatively, as noted above, the host computer system 190 may be programmed to automatically check for bootable images in the management sub-system 150. If the flag is not set (step 316), the host computer system performs a normal boot routine, and boots from the host ROM 80, or from boot code provided on the local floppy drive 45. If conversely, the flag is set (step 316), the host processor 25 checks the memory on the management sub-system 150 to determine if bootable code is present. The host processor 25 then performs a read cycle, requesting the image from the memory 190 on the management card. As noted above, the management processor 155 translates the read request, which may be in a side, track, sector format, into a local memory address to facilitate reading the data from memory 190. The image data then is returned to the host processor 25. If the entire image is obtained from memory 190 (step 322), then the operation terminates, and the host computer system 100 will execute the loaded image. If the entire image is not available from memory 190, the management processor 155 performs a read operation in step 324 targeting the management console 200 to obtain the rest of the data requested by the host processor 25. This continues until all of the requested data has been loaded on the host system 100.
  • It should also be noted that the image stored in the [0045] management memory 190 may be pre-installed in the memory by the manufacturer or reseller. The data stored in the management memory 190 may be stored temporarily in RAM, or more permanently in battery-backed RAM, non-volatile RAM, or ROM. It should also be understood that data compression techniques may be used when transferring and storing the image at the management sub-system 150. Compression may be used if bandwidth between the remote console and management sub-system 150 is limited or slow, or if the memory 190 in the management sub-system 150 is too small to store the entire image file.
  • As one skilled in the art will understand, the present invention may be used to provide remote operating system installation support. The idea can be expanded to implementing other support, including ROM software upgrades, performing diagnostic operations, and any other applications that are suitable to a boot environment. [0046]
  • The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications. [0047]

Claims (22)

What is claimed is:
1. A system comprising:
a processor;
a memory coupled to the processor; and
a bridge device coupling a system bus to the processor, the system bus configured to couple to an expansion bus of a managed computer system;
wherein the memory is configured to hold a bootable image for the managed computer system, and wherein the processor is configured to emulate a disk drive device storing the bootable image, and to boot the managed computer system from the bootable image stored in the memory.
2. The system as defined in claim 1 wherein the processor is configured to determine a source of an error in the managed computer system by accessing components of the managed computer system over the system bus.
3. The system as defined in claim 1 wherein the processor is configured to store information related to a state of the managed computer system in the memory.
4. The system as defined in claim 3 wherein the processor is configured to store diagnostic information about the managed computer system in the memory.
5. The system as defined in claim 3 wherein the processor is configured to store event log information about the managed computer system in the memory.
6. The system as defined in claim 1 wherein the processor is configured to reboot the managed computer system without accessing a host processor of the managed computer system.
7. The system as defined in claim 1 further comprising:
a network interface coupled to the memory by the system bus;
wherein the bootable image is transferable to the memory through the network interface.
8. The system as defined in claim 7 wherein the bootable image is transferable to the memory through the network interface from a remote management console.
9. The system as defined in claim 7 wherein the bootable image is transferable to the memory through the network interface using file transfer protocol (FTP) software.
10. The system as defined in claim 7 wherein the bootable image is transferable to the memory through the network interface using TFTP software.
11. A method comprising:
transferring a bootable image for a managed computer system to a memory within a management sub-system coupled to the managed computer system; and
emulating a floppy drive by the management sub-system to boot the managed computer system from the bootable image in the memory of the management sub-system.
12. The method as defined in claim 11 further comprising transferring the bootable image to the memory at the behest of a remote management console.
13. The method as defined in claim 12 further comprising transferring the bootable image to the memory from the remote management console.
14. The method as defined in claim 12 further comprising transferring the bootable image through a network interface coupled to the management sub-system using a File Transfer Protocol (FTP) software.
15. The method as defined in claim 12 further comprising transferring the bootable image through a network interface coupled to the management sub-system using TFTP software.
16. The method as defined in claim 11 further comprising rebooting the managed computer system, by a processor of the management sub-system, prior to emulating.
17. A management sub-system comprising:
a processor;
a memory coupled to the processor, the memory storing a bootable image for a managed computer system; and
a bridge device coupling a system bus to the processor, and wherein the system bus is configured to couple to an expansion bus of the managed computer system;
wherein the processor is configured to emulate a disk drive device storing the bootable image, and the processor is further configured to boot the managed computer system from the bootable image stored in the memory.
18. The management sub-system as defined in claim 17 further comprising:
a network interface coupled to the memory by the system bus;
wherein the bootable image is transferable to the memory through the network interface.
19. The management sub-system as defined in claim 18 wherein the bootable image is transferable to the memory through the network interface from a remote management console.
20. The management sub-system as defined in claim 18 wherein the bootable image is transferred to the memory through the network interface using TFTP software.
21. The management sub-system as defined in claim 17 wherein the processor, memory and network interface are mounted on an add-in card configured to be substantially within the chassis of the managed computer system.
22. The management sub-system as defined in claim 17 wherein the system bus is a Peripheral Components Interconnect (PCI) bus.
US10/781,108 2000-09-29 2004-02-18 Computer card for storing bootable images and providing remote management functions Abandoned US20040162893A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/781,108 US20040162893A1 (en) 2000-09-29 2004-02-18 Computer card for storing bootable images and providing remote management functions

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/675,281 US6976058B1 (en) 2000-09-29 2000-09-29 Computer card for storing bootable images and providing remote management functions
US10/781,108 US20040162893A1 (en) 2000-09-29 2004-02-18 Computer card for storing bootable images and providing remote management functions

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/675,281 Continuation US6976058B1 (en) 2000-09-29 2000-09-29 Computer card for storing bootable images and providing remote management functions

Publications (1)

Publication Number Publication Date
US20040162893A1 true US20040162893A1 (en) 2004-08-19

Family

ID=32851280

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/675,281 Expired - Lifetime US6976058B1 (en) 2000-09-29 2000-09-29 Computer card for storing bootable images and providing remote management functions
US10/781,108 Abandoned US20040162893A1 (en) 2000-09-29 2004-02-18 Computer card for storing bootable images and providing remote management functions

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/675,281 Expired - Lifetime US6976058B1 (en) 2000-09-29 2000-09-29 Computer card for storing bootable images and providing remote management functions

Country Status (1)

Country Link
US (2) US6976058B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046529A1 (en) * 2001-08-06 2003-03-06 Francois Loison Boot process for a computer, a boot ROM and a computer having a boot ROM
US20040010325A1 (en) * 2002-07-12 2004-01-15 Canon Kabushiki Kaisha Information processing apparatus, information processing method, program, and recording medium
US20050276092A1 (en) * 2004-06-14 2005-12-15 Hansen Peter A Virtual mass storage device for server management information
US20070169077A1 (en) * 2005-10-28 2007-07-19 Cepulis Darren J Replacing a ROM image in a computer's ROM
US20070180223A1 (en) * 2006-01-31 2007-08-02 Kabushiki Kaisha Toshiba Computer system and method of booting the system
US7817157B2 (en) 2004-08-23 2010-10-19 Hewlett-Packard Company, L.P. Method and apparatus for capturing slices of video data
US8554748B1 (en) * 2005-11-30 2013-10-08 Netapp, Inc. Method and apparatus for differential file based update for embedded systems
US8868701B1 (en) * 2011-08-16 2014-10-21 Edgecast Networks, Inc. Configuration management repository for a federation of distributed platforms
US20160112448A1 (en) * 2007-08-30 2016-04-21 Ashbourne Technologies, Llc System for tracking media content transactions
US9813485B2 (en) 2013-06-14 2017-11-07 1E Limited Communication of virtual machine data
US11379024B2 (en) * 2019-09-26 2022-07-05 Micron Technology, Inc. Systems and methods capable of bypassing non-volatile memory when storing firmware in execution memory

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120786B2 (en) * 2002-06-17 2006-10-10 Microsoft Corporation Booting from a compressed image
US20050114504A1 (en) * 2003-07-09 2005-05-26 Sunil Marolia Carrier network capable of conducting remote diagnostics in a mobile handset
US8924522B2 (en) 2003-12-23 2014-12-30 Intel Corporation Method and apparatus for remote modification of system configuration setting
US7373498B2 (en) * 2003-12-23 2008-05-13 Intel Corporation Method and apparatus for updating a system configuration through an active or passive update
US8990366B2 (en) 2003-12-23 2015-03-24 Intel Corporation Method and apparatus for remote modification of system configuration
US8677117B2 (en) * 2003-12-31 2014-03-18 International Business Machines Corporation Remote management of boot application
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7401212B2 (en) * 2004-11-01 2008-07-15 Microsoft Corporation Self-contained computer servicing device
US7398382B2 (en) * 2004-12-29 2008-07-08 Intel Corporation Method and apparatus to enhance platform boot efficiency
US7805629B2 (en) * 2005-03-04 2010-09-28 Netapp, Inc. Protecting data transactions on an integrated circuit bus
US7899680B2 (en) * 2005-03-04 2011-03-01 Netapp, Inc. Storage of administrative data on a remote management device
US8291063B2 (en) * 2005-03-04 2012-10-16 Netapp, Inc. Method and apparatus for communicating between an agent and a remote management module in a processing system
US7487343B1 (en) * 2005-03-04 2009-02-03 Netapp, Inc. Method and apparatus for boot image selection and recovery via a remote management module
US8090810B1 (en) 2005-03-04 2012-01-03 Netapp, Inc. Configuring a remote management module in a processing system
US7634760B1 (en) 2005-05-23 2009-12-15 Netapp, Inc. System and method for remote execution of a debugging utility using a remote management module
US8832229B2 (en) * 2006-05-04 2014-09-09 Dell Products L.P. System and method for using a network file system mount from a remote management card
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co User experience and dependency management in a mobile device
US7984166B2 (en) * 2009-09-02 2011-07-19 Honeywell International Inc. Trivial file transfer protocol (TFTP) file segment and file address options
US9143553B2 (en) 2013-02-26 2015-09-22 Honeywell International Inc. Trivial file transfer protocol (TFTP) accelerated file retry option
US9582513B2 (en) 2013-12-08 2017-02-28 Microsoft Technology Licensing, Llc Accessing data in a compressed container through dynamic redirection
US20160229257A1 (en) * 2015-02-10 2016-08-11 Ford Global Technologies, Llc Vehicle and vehicle cabin air extraction system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452454A (en) * 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
US5790850A (en) * 1996-09-30 1998-08-04 Intel Corporation Fault resilient booting for multiprocessor computer systems
US5887164A (en) * 1997-06-06 1999-03-23 National Instruments Corporation System and method for enabling a target computer to use storage resources of a host computer
US5974547A (en) * 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US6021331A (en) * 1996-02-22 2000-02-01 Alcatel Usa Sourcing, L.P. Control system for a telecommunications system
US6202091B1 (en) * 1997-12-08 2001-03-13 Nortel Networks Limited Process and apparatus for initializing a computer from power up
US6205547B1 (en) * 1998-11-20 2001-03-20 Intel Corporation Computer system management apparatus and method
US6223284B1 (en) * 1998-04-30 2001-04-24 Compaq Computer Corporation Method and apparatus for remote ROM flashing and security management for a computer system
US6240166B1 (en) * 1998-12-08 2001-05-29 Conexant Systems, Inc. LAN connection using analog modems via telephone wiring
US6334149B1 (en) * 1998-12-22 2001-12-25 International Business Machines Corporation Generic operating system usage in a remote initial program load environment
US6658563B1 (en) * 2000-05-18 2003-12-02 International Business Machines Corporation Virtual floppy diskette image within a primary partition in a hard disk drive and method for booting system with virtual diskette

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146568A (en) * 1988-09-06 1992-09-08 Digital Equipment Corporation Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs
US6560706B1 (en) * 1998-01-26 2003-05-06 Intel Corporation Interface for ensuring system boot image integrity and authenticity
US6556208B1 (en) * 1999-03-23 2003-04-29 Intel Corporation Network management card for use in a system for screen image capturing

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452454A (en) * 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
US6021331A (en) * 1996-02-22 2000-02-01 Alcatel Usa Sourcing, L.P. Control system for a telecommunications system
US5790850A (en) * 1996-09-30 1998-08-04 Intel Corporation Fault resilient booting for multiprocessor computer systems
US5887164A (en) * 1997-06-06 1999-03-23 National Instruments Corporation System and method for enabling a target computer to use storage resources of a host computer
US6202091B1 (en) * 1997-12-08 2001-03-13 Nortel Networks Limited Process and apparatus for initializing a computer from power up
US5974547A (en) * 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US6223284B1 (en) * 1998-04-30 2001-04-24 Compaq Computer Corporation Method and apparatus for remote ROM flashing and security management for a computer system
US6205547B1 (en) * 1998-11-20 2001-03-20 Intel Corporation Computer system management apparatus and method
US6240166B1 (en) * 1998-12-08 2001-05-29 Conexant Systems, Inc. LAN connection using analog modems via telephone wiring
US6334149B1 (en) * 1998-12-22 2001-12-25 International Business Machines Corporation Generic operating system usage in a remote initial program load environment
US6658563B1 (en) * 2000-05-18 2003-12-02 International Business Machines Corporation Virtual floppy diskette image within a primary partition in a hard disk drive and method for booting system with virtual diskette

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046529A1 (en) * 2001-08-06 2003-03-06 Francois Loison Boot process for a computer, a boot ROM and a computer having a boot ROM
US7251725B2 (en) * 2001-08-06 2007-07-31 Hewlett-Packard Development Company, L.P. Boot process for a computer, a boot ROM and a computer having a boot ROM
US20040010325A1 (en) * 2002-07-12 2004-01-15 Canon Kabushiki Kaisha Information processing apparatus, information processing method, program, and recording medium
US7627660B2 (en) * 2002-07-12 2009-12-01 Canon Kabushiki Kaisha Information processing apparatus, information processing method, program, and recording medium
US7590522B2 (en) * 2004-06-14 2009-09-15 Hewlett-Packard Development Company, L.P. Virtual mass storage device for server management information
US20050276092A1 (en) * 2004-06-14 2005-12-15 Hansen Peter A Virtual mass storage device for server management information
US7817157B2 (en) 2004-08-23 2010-10-19 Hewlett-Packard Company, L.P. Method and apparatus for capturing slices of video data
US8933941B2 (en) 2004-08-23 2015-01-13 Hewlett-Packard Development Company, L.P. Method and apparatus for redirection of video data
US20070169077A1 (en) * 2005-10-28 2007-07-19 Cepulis Darren J Replacing a ROM image in a computer's ROM
US8392901B2 (en) 2005-10-28 2013-03-05 Hewlett-Packard Development Company, L.P. Replacing a ROM image in a computer's ROM
US8554748B1 (en) * 2005-11-30 2013-10-08 Netapp, Inc. Method and apparatus for differential file based update for embedded systems
US20070180223A1 (en) * 2006-01-31 2007-08-02 Kabushiki Kaisha Toshiba Computer system and method of booting the system
US20160112448A1 (en) * 2007-08-30 2016-04-21 Ashbourne Technologies, Llc System for tracking media content transactions
US8868701B1 (en) * 2011-08-16 2014-10-21 Edgecast Networks, Inc. Configuration management repository for a federation of distributed platforms
US9813485B2 (en) 2013-06-14 2017-11-07 1E Limited Communication of virtual machine data
US11379024B2 (en) * 2019-09-26 2022-07-05 Micron Technology, Inc. Systems and methods capable of bypassing non-volatile memory when storing firmware in execution memory
US11775038B2 (en) 2019-09-26 2023-10-03 Micron Technology, Inc. Systems and methods capable of bypassing non-volatile memory when storing firmware in execution memory

Also Published As

Publication number Publication date
US6976058B1 (en) 2005-12-13

Similar Documents

Publication Publication Date Title
US6976058B1 (en) Computer card for storing bootable images and providing remote management functions
US6636929B1 (en) USB virtual devices
US8200955B2 (en) Apparatus and method for booting a system
US7882206B2 (en) Storage device system and storage device system activating method
US7581062B2 (en) Disk array system
US7487343B1 (en) Method and apparatus for boot image selection and recovery via a remote management module
US6212585B1 (en) Method of automatically configuring a server after hot add of a device
US6263387B1 (en) System for automatically configuring a server after hot add of a device
US7484084B1 (en) Use of a baseboard management controller to facilitate installation of firmware in a processing system
US7143275B2 (en) System firmware back-up using a BIOS-accessible pre-boot partition
US7313685B2 (en) Unattended BIOS recovery
US6889341B2 (en) Method and apparatus for maintaining data integrity using a system management processor
US20070174033A1 (en) Remote control device and method for accessing peripheral device remotely
US7000231B1 (en) Method of manufacturing operating system master template, method of manufacturing a computer entity and product resulting therefrom, and method of producing a production version of an operating system
US7401332B2 (en) System and apparatus for eliminating user interaction during hardware configuration at system boot
JPH10143388A (en) System and method for providing technical support for electronic system via web-basic input/output system
US6249812B1 (en) Interactive system support using a system management asic
US5864659A (en) Computer server with improved reliability, availability and serviceability
US20120060048A1 (en) Recovering a system that has experienced a fault
US20060206286A1 (en) Method to reduce IPMB traffic and improve performance for accessing sensor data
US20030061312A1 (en) Reduction of configuration time upon deployment of a configurable device in a shared resource environment
US20050097572A1 (en) Device driver auto-load
CN1834912B (en) ISCSI bootstrap driving system and method for expandable internet engine
US20040083357A1 (en) Method, system, and program for executing a boot routine on a computer system
WO2024022212A1 (en) Configuration information management method and apparatus, and server

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION