US20090083420A1 - Method and Apparatus for Automatically Conducting Hardware Inventories of Computers in a Network - Google Patents

Method and Apparatus for Automatically Conducting Hardware Inventories of Computers in a Network Download PDF

Info

Publication number
US20090083420A1
US20090083420A1 US12/329,986 US32998608A US2009083420A1 US 20090083420 A1 US20090083420 A1 US 20090083420A1 US 32998608 A US32998608 A US 32998608A US 2009083420 A1 US2009083420 A1 US 2009083420A1
Authority
US
United States
Prior art keywords
data processing
processing system
report
inventory
network
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
US12/329,986
Inventor
Craig Henry Becker
Gregory Alan Flurry
Jimmy Ming-Der Hsu
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to US12/329,986 priority Critical patent/US20090083420A1/en
Publication of US20090083420A1 publication Critical patent/US20090083420A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]

Definitions

  • the present invention related generally to an improved data processing system, and in particular relates to a method and apparatus for conducting an inventory of a data processing system. Still more particularly, the present invention provides a method, apparatus, and computer instructions for conducting an inventory of a data processing system and sending the inventory to a remote data processing system.
  • a number of different client data processing systems and host data processing systems may be located on a network data processing system. Management of all the different data processing systems on a network can be time consuming and complex. Upgrades to software and hardware require knowledge of the software and hardware that is located on the different data processing systems in a network. This information may be gathered in different ways. One process is for administrators to physically go to each data processing system and perform an inventory. Another mechanism provides for an inventory to be automatically initiated on each data processing system with those results being returned to one or more collection points. IBM Tivoli Configuration Manager, available from International Business Machines Corporation, is an example of a management tool that allows for deployment of software across a network.
  • This tool and other similar tools include a process that is initiated by the operating system to automatically collect software and hardware information about a data processing system and send that information to one or more collection points, also referred to as listener servers. This information is used in the deployment and management of software on the network.
  • One problem associated with this type of process is that a user may turn off such a feature. Also, in more and more data processing systems, multiple operating systems may be present and run at different times. Unless the inventory process is set up for each operating system, the inventory of the data processing system may not occur as desired in the instance when an operating system is started in which the inventory process is not set up for that operating system. Therefore, it would be advantageous to have an improved operating-system independent method, apparatus, and computer instructions for conducting an inventory on a data processing system.
  • the present invention provides a method, apparatus, and computer instructions for conducting an inventory of a data processing system.
  • a basic input output system (BIOS)
  • the basic input output system creates a hardware report of the data processing system. This report is sent to a remote data processing system on the network.
  • FIG. 1 is a pictorial representation of a network of data processing systems in which the present invention may be implemented
  • FIG. 2 is a block diagram of a data processing system that may be implemented as a server in accordance with a preferred embodiment of the present invention
  • FIG. 3 is a block diagram illustrating a data processing system in which the present invention may be implemented
  • FIG. 4 is a block diagram of components used to automatically obtain and transmit an inventory in accordance with a preferred embodiment of the present invention
  • FIG. 5 is a flowchart of a process for generating a hardware report during booting of a data processing system in accordance with a preferred embodiment of the present invention
  • FIG. 6 is a flowchart of a process for setting configuration options for reporting hardware inventories in accordance with a preferred embodiment of the present invention.
  • FIG. 7 is a flowchart of a process for receiving hardware reports in accordance with a preferred embodiment of the present invention.
  • FIG. 1 depicts a pictorial representation of a network of data processing systems in which the present invention may be implemented.
  • Network data processing system 100 is a network of computers in which the present invention may be implemented.
  • Network data processing system 100 contains a network 102 , which is the medium used to provide communications links between various devices and computers connected together within network data processing system 100 .
  • Network 102 may include connections, such as wire, wireless communication links, or fiber optic cables.
  • server 104 and server 106 are connected to network 102 .
  • clients 108 , 110 , and 112 are connected to network 102 .
  • These clients 108 , 110 , and 112 may be, for example, personal computers or network computers,
  • server 104 and server 106 provide data, such as boot files, operating system images, and applications to clients 108 - 112 .
  • Clients 108 , 110 , and 112 are clients to these servers.
  • clients 108 , 110 , and 112 may be managed by servers 104 and 106 .
  • These servers may serve as collection points for configuration information from clients 108 , 110 , and 112 .
  • These types of servers also are referred to as listener servers.
  • clients 108 , 110 , and 112 generate reports of hardware components and send those report to servers 104 and 106 .
  • Booting of a data processing system causes the data processing system to start executing instructions. Most data processing system include these instruction, also called BIOS's read only memory (ROM) or a flash memory. These instructions automatically execute on startup or “booting” of the data processing system.
  • BIOS's read only memory ROM
  • flash memory a flash memory
  • Network data processing system 100 may include additional servers, clients, and other devices not shown.
  • network data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational and other computer systems that route data and messages.
  • network data processing system 100 also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN).
  • FIG. 1 is intended as an example, and not as an architectural limitation for the present invention.
  • FIG. 2 a block diagram of a data processing system that may be implemented as a server, such as server 104 in FIG. 1 , is depicted in accordance with a preferred embodiment of the present invention.
  • data processing system 200 may be implemented as a listener server to collect and receive inventories from various clients on a network data processing system.
  • Data processing system 200 may be a symmetric multiprocessor (SMP) system including a plurality of processors 202 and 204 connected to system bus 206 . Alternatively, a single processor system may be employed. Also connected to system bus 206 is memory controller/cache 208 , which provides an interface to local memory 209 . I/O bus bridge 210 is connected to system bus 206 and provides an interface to I/O bus 212 . Memory controller/cache 208 and I/O bus bridge 210 may be integrated as depicted.
  • SMP symmetric multiprocessor
  • Peripheral component interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216 .
  • PCI Peripheral component interconnect
  • a number of modems may be connected to PCI local bus 216 .
  • Typical PCI bus implementations will support four PCI expansion slots or add-in connectors.
  • Communications links to clients 108 - 112 in FIG. 1 may be provided through modem 218 and network adapter 220 connected to PCI local bus 216 through add-in boards.
  • Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI local buses 226 and 228 , from which additional modems or network adapters may be supported. In this manner, data processing system 200 allows connections to multiple network computers.
  • a memory-mapped graphics adapter 230 , hard disk 232 , and network adapter 234 may also be connected to I/O bus 212 as depicted, either directly or indirectly.
  • FIG. 2 may vary.
  • other peripheral devices such as optical disk drives and the like, also may be used in addition to or in place of the hardware depicted.
  • the depicted example is not meant to imply architectural limitations with respect to the present invention.
  • Ethernet adapters are integrated into the motherboards.
  • the data processing system depicted in FIG. 2 may be, for example, an IBM eServer pSeries system, a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system or LINUX operating system.
  • FIG. 3 a block diagram illustrating a data processing system is depicted in which the present invention may be implemented.
  • Data processing system 300 is an example of a client computer.
  • Data processing system 300 employs a peripheral component interconnect (PCI) local bus architecture.
  • PCI peripheral component interconnect
  • AGP Accelerated Graphics Port
  • ISA Industry Standard Architecture
  • PCI local bus 306 Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308 .
  • PCI bridge 308 also may include an integrated memory controller and cache memory for processor 302 . Additional connections to PCI local bus 306 may be made through direct component interconnection or through add-in boards.
  • local area network (LAN) adapter 310 SCSI host bus adapter 312 , and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection.
  • LAN local area network
  • BIOS unit 316 also is connected to PCI local bus 306 .
  • BIOS unit 316 is a nonvolatile memory, such as a flash memory in these examples, in which code or instructions for starting data processing system 300 are located.
  • the BIOS for data processing system 300 functions to ensure all the other hardware components, such as chips, hard drives, ports, and processor function together.
  • BIOS software in BIOS unit 316 has a number of different roles, but the most important role of the BIOS is to load the operating system. When data processing system 300 is turned on and processor 302 tries to execute its first instruction, processor 302 has to obtain that instruction from somewhere. Processor 302 is unable to obtain the first instruction from the operating system because the operating system is located on a storage device, such as hard disk 326 , and the BIOS provides processor 302 with instructions to tell where the operating system is located.
  • BIOS also includes other common tasks, such as for example, a power-on self-test (POST) for all of the different hardware components in the system to make sure the components are working properly; activating other BIOS chips on different cards installed in the data processing system, such as those on a SCSI adapter and graphics cards; providing a set of low-level routines that the operating system uses to interface to different hardware devices, such as for example, the keyboard, display, serial ports, and parallel ports; and managing a collection of settings for components, such as hard disks and a system clock.
  • POST power-on self-test
  • BIOS in BIOS unit 316 also includes an inventory process for obtaining a hardware inventory of data processing system 300 during start up and sending the inventory to one or more collection points.
  • Graphics adapter 318 and audio/video adapter 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots.
  • Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320 , modem 322 , and additional memory 324 .
  • Small computer system interface (SCSI) host bus adapter 312 provides a connection for hard disk drive 326 , tape drive 328 , and CD-ROM drive 330 .
  • Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
  • An operating system runs on processor 302 and is used to coordinate and provide control of various components within data processing system 300 in FIG. 3 .
  • the operating system may be a commercially available operating system, such as Windows XP, which is available from Microsoft Corporation. Instructions for the operating system, and applications or programs are located on storage devices, such as hard disk drive 326 , and may be loaded into main memory 304 for execution by processor 302 .
  • FIG. 3 may vary depending on the implementation.
  • Other internal hardware or peripheral devices such as flash read-only memory (ROM), equivalent nonvolatile memory, or optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 3 .
  • the processes of the present invention may be applied to a multiprocessor data processing system.
  • data processing system 300 also may be a notebook computer or hand held computer in addition to taking the form of a PDA.
  • Data processing system 300 also may be a kiosk or a Web appliance.
  • the present invention provides an improved method, apparatus, and computer instructions for conducting an inventory on a data processing system.
  • the mechanism of the present invention allows for an inventory of hardware components on a data processing system to be automatically taken and sent to a collection point each time the data processing system is started or booted.
  • the mechanism of the data processing system is implemented in the software or code that is used to first start a data processing system.
  • that code is the BIOS.
  • the resulting process is an inventory process that is independent of the operating system that is eventually run on the data processing system.
  • a hardware inventory of components in the data processing system is obtained. This inventory is placed into a report and sent to one or more collection points on the network, which are listener servers in these examples. This information is then used in the management of the network.
  • Client 400 includes BIOS 402 , which may be located in a flash memory, such as BIOS unit 316 in FIG. 3 .
  • BIOS 402 executes and obtains an inventory of hardware 404 in client 400 .
  • Options or settings for the type of inventory report, the collection point or points to which the report is sent, whether the report is sent, as well as other options with respect to the inventory of hardware 404 are stored in setting 406 .
  • setting 406 is only accessible with an appropriate password. This feature is included to prevent users from altering configuration settings, such as whether to send a report, in setting 406 .
  • Extensible markup language (XML) hardware report 408 is sent prior to a user being able to change or alter configuration settings in setting 406 . As a result, if the user selects a different collection point or listener server, another report is sent after that setting has been changed to the new collection point.
  • XML Extensible markup language
  • setting 406 may be used to set the report type as extensible mark up language for XML hardware report 408 .
  • Other formats include, for example, hypertext markup language, America Standard Code for Information Interchange (ASCII) text, and simple network management protocol (SNMP).
  • ASCII America Standard Code for Information Interchange
  • SNMP simple network management protocol
  • XML hardware report 408 also includes other information, such identifying information about client 400 .
  • a host name for client 400 an IP address, a media access control (MAC) address, a machine type, and serial number of the machine are examples of some identifying information that may be sent in XML hardware report 408 along with the hardware inventory. Any information useful in managing clients that is accessible to BIOS 402 while booting may be included.
  • MAC media access control
  • XML hardware report 408 is sent to a default listener server, listener server 410 in these examples.
  • Default listener server 410 is designated in setting 406 as the collection point in these examples, as well as other options. Of course, more than one listener server may be designated in setting 406 . Alternatively if security is not of a high concern, the report may be broadcast over the network for any listener server to receive. Such an option also is stored in setting 406 .
  • Other options include, for example, the level of detail in the hardware report and identifying information to be included in the hardware report.
  • XML hardware report 408 is received by asset manager 412 in listener server 410 .
  • Information from XML hardware report 408 may be analyzed and stored in hardware database 414 .
  • Asset manager 412 is a program or suite of programs that are used to manage assets on a network. Asset management of clients may include, for example, maintaining license compliance on upgrading software and installing new software.
  • Asset manager 412 may be implemented using IBM Tivoli Configuration Manager, which is available from International Business Machines Corporation.
  • hardware inventory reports may be generated on a regular basis, such as each time a machine is booted or rebooted.
  • the reporting occurs without user intervention or interference with the password authentication feature for turning reporting on and off in the BIOS settings.
  • this type of reporting is operating system independent. This means it avoids having to setup a reporting program for each operating system that may be placed on and used in a client.
  • FIG. 5 a flowchart of a process for generating a hardware report during booting of a data processing system is depicted in accordance with a preferred embodiment of the present invention.
  • the process illustrated in FIG. 5 may be implemented in a code that is executed when a computer is started or booted, prior to control being passed to an operating system, such as BIOS 402 in FIG. 4 .
  • the process begins by determining whether hardware reporting has been enabled (step 500 ). After the hardware report has been generated, a determination is made as to whether the data processing system has network capacity (step 502 ).
  • a default listener server User input selecting a default listener server is received (step 514 ).
  • the selection of the default listener server is saved (step 516 ) and a report is sent to the default listener server (step 518 ).
  • This hardware report may take various forms depending on the implementation. In these examples, an XML report sent using hypertext transfer protocol (HTTP) is employed.
  • HTTP hypertext transfer protocol
  • Step 520 a determination is made as to whether an acknowledgement has been received from the default listener server (step 520 ). Step 520 is employed to ensure that the report has been received by the intended collection point. If an acknowledgment is received, the process terminates. Otherwise, the process returns to step 506 as described above to select another default listener server. Depending on the implementation, the process may just terminate instead of selecting another default listener server.
  • step 504 if a default listener server has been selected, the process proceeds directly to step 518 to send the report to the default listener server. Turning back to step 502 , if the data processing system does not have a network capacity the process terminates.
  • BIOS such as BIOS 402 in FIG. 4
  • settings such as setting 406 in FIG. 4 .
  • the process begins by receiving a user input to change hardware reporting configuration (step 600 ).
  • This user input is received on a user interface which is presented during booting. Specifically, when a data processing system is booting, the user may enter some preset key or keys to launch the user interface. This user interface allows various changes, such as changing hardware reporting configuration, changing power settings, changing a boot order for storage devices, and setting security features.
  • a prompt for a password is made (step 602 ).
  • a user input is received containing a password (step 604 ).
  • step 612 a determination is made as to whether the reporting feature has been toggled or changed.
  • this option allows the reporting feature to be turned on or off. If this feature has been selected, the reporting feature is switched on or off depending on the prior setting (step 614 ) with the process then returning to step 610 as described above. If the reporting feature was previously turned on, the feature is now turned off and vice versa.
  • step 612 if the selected configuration option is not to toggle the reporting feature, a determination is made as to whether the configuration option selected is to select a report format (step 616 ). If the option is to select the report format, then a process is initiated to receive a user selection of the report format (step 618 ) with the process then returning to step 610 .
  • the report format may be XML, HTML, ASCII text, common interface management (CIM), or SNMP. Additionally, some combination of the different reporting formats may be used to provide multiple formats.
  • step 620 a determination is made as to whether the option selected is for a report mode option (step 620 ). If the report mode option is selected, a process to select a report mode is initiated (step 622 ). In step 622 , the user may select different modes for sending hardware reports. In these examples, a single default listener is selected to receive reports. Through this configuration process a different listener server may be selected. Alternatively, two or more listener servers may be designated as collection points to receive reports. If security is not a high priority, step 622 may be employed to select a broadcast mode in which any listener server may receive the hardware report.
  • the configuration options illustrated in FIG. 6 are presented for purposes of describing an example of how a configuration process may be implemented. The different options are not meant as a number or type of options that may be actually provided. For example, a configuration option to select the amount of detail in a hardware report may be included in addition to or in place of those options illustrated in FIG. 6 .
  • FIG. 7 a flowchart of a process for receiving hardware reports is depicted in accordance with a preferred embodiment of the present invention.
  • the process illustrated in FIG. 7 may be implemented in an asset management program, such as asset manager 412 in FIG. 4 .
  • the process begins by receiving a hardware report from a client (step 700 ).
  • the report is analyzed to identify changes in the hardware configuration of the client (step 702 ). This analysis may be made by comparing the hardware configuration identified in the report with the hardware previously identified and stored in a database, such as hardware database 414 in FIG. 4 .
  • This report and the analysis are then stored (step 704 ). In step 704 , if the report is for a new system that has not been previously processed by the listener, a new record is created for the new system.
  • a notification may be made in many different ways. For example, the notification may be made through an email message, an text message to a mobile unit or a pager.
  • the present invention provides a method, apparatus, and computer instructions for tracking hardware on data processing systems through processes implemented in a BIOS.
  • This mechanism allows for reporting to be set up without regard to the operating system being used.
  • This mechanism allows for regular reporting to occur each time a data processing system is booted.
  • the clients are clients to servers.
  • Clients also may be a client of a management domain, such that a client is any machine that reports its inventory to a server machine or server process.
  • the embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Abstract

A method, apparatus, and computer instructions for conducting an inventory of a data processing system. When a basic input output system (BIOS) is launched during a boot process for the data processing system, the basic input output system creates a hardware report of the data processing system. This report is sent to a remote data processing system on the network.

Description

    BACKGROUND OF THE INVENTION
  • 1. Technical Field
  • The present invention related generally to an improved data processing system, and in particular relates to a method and apparatus for conducting an inventory of a data processing system. Still more particularly, the present invention provides a method, apparatus, and computer instructions for conducting an inventory of a data processing system and sending the inventory to a remote data processing system.
  • 2. Description of Related Art
  • A number of different client data processing systems and host data processing systems may be located on a network data processing system. Management of all the different data processing systems on a network can be time consuming and complex. Upgrades to software and hardware require knowledge of the software and hardware that is located on the different data processing systems in a network. This information may be gathered in different ways. One process is for administrators to physically go to each data processing system and perform an inventory. Another mechanism provides for an inventory to be automatically initiated on each data processing system with those results being returned to one or more collection points. IBM Tivoli Configuration Manager, available from International Business Machines Corporation, is an example of a management tool that allows for deployment of software across a network. This tool and other similar tools include a process that is initiated by the operating system to automatically collect software and hardware information about a data processing system and send that information to one or more collection points, also referred to as listener servers. This information is used in the deployment and management of software on the network.
  • One problem associated with this type of process is that a user may turn off such a feature. Also, in more and more data processing systems, multiple operating systems may be present and run at different times. Unless the inventory process is set up for each operating system, the inventory of the data processing system may not occur as desired in the instance when an operating system is started in which the inventory process is not set up for that operating system. Therefore, it would be advantageous to have an improved operating-system independent method, apparatus, and computer instructions for conducting an inventory on a data processing system.
  • SUMMARY OF THE INVENTION
  • The present invention provides a method, apparatus, and computer instructions for conducting an inventory of a data processing system. When a basic input output system (BIOS) is launched during a boot process for the data processing system, the basic input output system creates a hardware report of the data processing system. This report is sent to a remote data processing system on the network.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
  • FIG. 1 is a pictorial representation of a network of data processing systems in which the present invention may be implemented;
  • FIG. 2 is a block diagram of a data processing system that may be implemented as a server in accordance with a preferred embodiment of the present invention;
  • FIG. 3 is a block diagram illustrating a data processing system in which the present invention may be implemented;
  • FIG. 4 is a block diagram of components used to automatically obtain and transmit an inventory in accordance with a preferred embodiment of the present invention;
  • FIG. 5 is a flowchart of a process for generating a hardware report during booting of a data processing system in accordance with a preferred embodiment of the present invention;
  • FIG. 6 is a flowchart of a process for setting configuration options for reporting hardware inventories in accordance with a preferred embodiment of the present invention; and
  • FIG. 7 is a flowchart of a process for receiving hardware reports in accordance with a preferred embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • With reference now to the figures, FIG. 1 depicts a pictorial representation of a network of data processing systems in which the present invention may be implemented. Network data processing system 100 is a network of computers in which the present invention may be implemented. Network data processing system 100 contains a network 102, which is the medium used to provide communications links between various devices and computers connected together within network data processing system 100. Network 102 may include connections, such as wire, wireless communication links, or fiber optic cables.
  • In the depicted example, server 104 and server 106 are connected to network 102. In addition, clients 108, 110, and 112 are connected to network 102. These clients 108, 110, and 112 may be, for example, personal computers or network computers, In the depicted example, server 104 and server 106 provide data, such as boot files, operating system images, and applications to clients 108-112. Clients 108, 110, and 112 are clients to these servers. Further, clients 108, 110, and 112 may be managed by servers 104 and 106. These servers may serve as collection points for configuration information from clients 108, 110, and 112. These types of servers also are referred to as listener servers. In these examples, during booting, clients 108, 110, and 112 generate reports of hardware components and send those report to servers 104 and 106. Booting of a data processing system causes the data processing system to start executing instructions. Most data processing system include these instruction, also called BIOS's read only memory (ROM) or a flash memory. These instructions automatically execute on startup or “booting” of the data processing system.
  • Network data processing system 100 may include additional servers, clients, and other devices not shown. In the depicted example, network data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational and other computer systems that route data and messages. Of course, network data processing system 100 also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN). FIG. 1 is intended as an example, and not as an architectural limitation for the present invention.
  • Referring to FIG. 2, a block diagram of a data processing system that may be implemented as a server, such as server 104 in FIG. 1, is depicted in accordance with a preferred embodiment of the present invention. In these examples, data processing system 200 may be implemented as a listener server to collect and receive inventories from various clients on a network data processing system.
  • Data processing system 200 may be a symmetric multiprocessor (SMP) system including a plurality of processors 202 and 204 connected to system bus 206. Alternatively, a single processor system may be employed. Also connected to system bus 206 is memory controller/cache 208, which provides an interface to local memory 209. I/O bus bridge 210 is connected to system bus 206 and provides an interface to I/O bus 212. Memory controller/cache 208 and I/O bus bridge 210 may be integrated as depicted.
  • Peripheral component interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216. A number of modems may be connected to PCI local bus 216. Typical PCI bus implementations will support four PCI expansion slots or add-in connectors. Communications links to clients 108-112 in FIG. 1 may be provided through modem 218 and network adapter 220 connected to PCI local bus 216 through add-in boards.
  • Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI local buses 226 and 228, from which additional modems or network adapters may be supported. In this manner, data processing system 200 allows connections to multiple network computers. A memory-mapped graphics adapter 230, hard disk 232, and network adapter 234 may also be connected to I/O bus 212 as depicted, either directly or indirectly.
  • Those of ordinary skill in the art will appreciate that the hardware depicted in FIG. 2 may vary. For example, other peripheral devices, such as optical disk drives and the like, also may be used in addition to or in place of the hardware depicted. The depicted example is not meant to imply architectural limitations with respect to the present invention. For example, in some systems, Ethernet adapters are integrated into the motherboards.
  • The data processing system depicted in FIG. 2 may be, for example, an IBM eServer pSeries system, a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system or LINUX operating system. With reference now to FIG. 3, a block diagram illustrating a data processing system is depicted in which the present invention may be implemented. Data processing system 300 is an example of a client computer. Data processing system 300 employs a peripheral component interconnect (PCI) local bus architecture. Although the depicted example employs a PCI bus, other bus architectures such as Accelerated Graphics Port (AGP) and Industry Standard Architecture (ISA) may be used. Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308. PCI bridge 308 also may include an integrated memory controller and cache memory for processor 302. Additional connections to PCI local bus 306 may be made through direct component interconnection or through add-in boards. In the depicted example, local area network (LAN) adapter 310, SCSI host bus adapter 312, and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection.
  • Basic input/output system (BIOS) unit 316 also is connected to PCI local bus 306. BIOS unit 316 is a nonvolatile memory, such as a flash memory in these examples, in which code or instructions for starting data processing system 300 are located. The BIOS for data processing system 300 functions to ensure all the other hardware components, such as chips, hard drives, ports, and processor function together. BIOS software in BIOS unit 316 has a number of different roles, but the most important role of the BIOS is to load the operating system. When data processing system 300 is turned on and processor 302 tries to execute its first instruction, processor 302 has to obtain that instruction from somewhere. Processor 302 is unable to obtain the first instruction from the operating system because the operating system is located on a storage device, such as hard disk 326, and the BIOS provides processor 302 with instructions to tell where the operating system is located.
  • Further, the BIOS also includes other common tasks, such as for example, a power-on self-test (POST) for all of the different hardware components in the system to make sure the components are working properly; activating other BIOS chips on different cards installed in the data processing system, such as those on a SCSI adapter and graphics cards; providing a set of low-level routines that the operating system uses to interface to different hardware devices, such as for example, the keyboard, display, serial ports, and parallel ports; and managing a collection of settings for components, such as hard disks and a system clock. In these examples, the BIOS in BIOS unit 316 also includes an inventory process for obtaining a hardware inventory of data processing system 300 during start up and sending the inventory to one or more collection points.
  • Graphics adapter 318 and audio/video adapter 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots. Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320, modem 322, and additional memory 324. Small computer system interface (SCSI) host bus adapter 312 provides a connection for hard disk drive 326, tape drive 328, and CD-ROM drive 330. Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
  • An operating system runs on processor 302 and is used to coordinate and provide control of various components within data processing system 300 in FIG. 3. The operating system may be a commercially available operating system, such as Windows XP, which is available from Microsoft Corporation. Instructions for the operating system, and applications or programs are located on storage devices, such as hard disk drive 326, and may be loaded into main memory 304 for execution by processor 302.
  • Those of ordinary skill in the art will appreciate that the hardware in FIG. 3 may vary depending on the implementation. Other internal hardware or peripheral devices, such as flash read-only memory (ROM), equivalent nonvolatile memory, or optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 3. Also, the processes of the present invention may be applied to a multiprocessor data processing system.
  • The depicted example in FIG. 3 and above-described examples are not meant to imply architectural limitations. For example, data processing system 300 also may be a notebook computer or hand held computer in addition to taking the form of a PDA. Data processing system 300 also may be a kiosk or a Web appliance. The present invention provides an improved method, apparatus, and computer instructions for conducting an inventory on a data processing system. The mechanism of the present invention allows for an inventory of hardware components on a data processing system to be automatically taken and sent to a collection point each time the data processing system is started or booted.
  • More specifically, the mechanism of the data processing system is implemented in the software or code that is used to first start a data processing system. In these examples, that code is the BIOS. The resulting process is an inventory process that is independent of the operating system that is eventually run on the data processing system. When the BIOS is launched or executed during the booting of a data processing system, a hardware inventory of components in the data processing system is obtained. This inventory is placed into a report and sent to one or more collection points on the network, which are listener servers in these examples. This information is then used in the management of the network.
  • Turning next to FIG. 4, a block diagram of components used to automatically obtain and transmit an inventory is depicted in accordance with a preferred embodiment of the present invention. Client 400 includes BIOS 402, which may be located in a flash memory, such as BIOS unit 316 in FIG. 3. When client 400 is booted, BIOS 402 executes and obtains an inventory of hardware 404 in client 400. Options or settings for the type of inventory report, the collection point or points to which the report is sent, whether the report is sent, as well as other options with respect to the inventory of hardware 404 are stored in setting 406. In the depicted illustrations, setting 406 is only accessible with an appropriate password. This feature is included to prevent users from altering configuration settings, such as whether to send a report, in setting 406.
  • Extensible markup language (XML) hardware report 408 is sent prior to a user being able to change or alter configuration settings in setting 406. As a result, if the user selects a different collection point or listener server, another report is sent after that setting has been changed to the new collection point.
  • For example, setting 406 may be used to set the report type as extensible mark up language for XML hardware report 408. Other formats include, for example, hypertext markup language, America Standard Code for Information Interchange (ASCII) text, and simple network management protocol (SNMP).
  • In these examples, XML hardware report 408 also includes other information, such identifying information about client 400. A host name for client 400, an IP address, a media access control (MAC) address, a machine type, and serial number of the machine are examples of some identifying information that may be sent in XML hardware report 408 along with the hardware inventory. Any information useful in managing clients that is accessible to BIOS 402 while booting may be included.
  • XML hardware report 408 is sent to a default listener server, listener server 410 in these examples. Default listener server 410 is designated in setting 406 as the collection point in these examples, as well as other options. Of course, more than one listener server may be designated in setting 406. Alternatively if security is not of a high concern, the report may be broadcast over the network for any listener server to receive. Such an option also is stored in setting 406. Other options include, for example, the level of detail in the hardware report and identifying information to be included in the hardware report.
  • As illustrated, XML hardware report 408 is received by asset manager 412 in listener server 410. Information from XML hardware report 408 may be analyzed and stored in hardware database 414. Asset manager 412 is a program or suite of programs that are used to manage assets on a network. Asset management of clients may include, for example, maintaining license compliance on upgrading software and installing new software. Asset manager 412 may be implemented using IBM Tivoli Configuration Manager, which is available from International Business Machines Corporation.
  • In this manner, hardware inventory reports may be generated on a regular basis, such as each time a machine is booted or rebooted. The reporting occurs without user intervention or interference with the password authentication feature for turning reporting on and off in the BIOS settings. Further, this type of reporting is operating system independent. This means it avoids having to setup a reporting program for each operating system that may be placed on and used in a client.
  • Turning next to FIG. 5 a flowchart of a process for generating a hardware report during booting of a data processing system is depicted in accordance with a preferred embodiment of the present invention. The process illustrated in FIG. 5, may be implemented in a code that is executed when a computer is started or booted, prior to control being passed to an operating system, such as BIOS 402 in FIG. 4.
  • The process begins by determining whether hardware reporting has been enabled (step 500). After the hardware report has been generated, a determination is made as to whether the data processing system has network capacity (step 502).
  • If the data processing system is able to communicate over the network, a determination is made as to whether a default listener has been selected (step 504). If a default listener server has not been selected, a network message is broadcast, requesting listener servers to announce themselves (step 506). Responses are received from listener servers on the network (step 508). The responses are compiled into a list (step 510), and the list is presented to the user (step 512). The list is presented through a user interface to allow the user to select a default listener server.
  • User input selecting a default listener server is received (step 514). The selection of the default listener server is saved (step 516) and a report is sent to the default listener server (step 518). This hardware report may take various forms depending on the implementation. In these examples, an XML report sent using hypertext transfer protocol (HTTP) is employed.
  • Thereafter, a determination is made as to whether an acknowledgement has been received from the default listener server (step 520). Step 520 is employed to ensure that the report has been received by the intended collection point. If an acknowledgment is received, the process terminates. Otherwise, the process returns to step 506 as described above to select another default listener server. Depending on the implementation, the process may just terminate instead of selecting another default listener server.
  • With reference again to step 504, if a default listener server has been selected, the process proceeds directly to step 518 to send the report to the default listener server. Turning back to step 502, if the data processing system does not have a network capacity the process terminates.
  • With reference next to FIG. 6, a flowchart of a process for setting configuration options for reporting hardware inventories is depicted in accordance with a preferred embodiment of the present invention. The flowchart illustrated in FIG. 6 may be implemented in BIOS, such as BIOS 402 in FIG. 4 to set settings, such as setting 406 in FIG. 4.
  • The process begins by receiving a user input to change hardware reporting configuration (step 600). This user input is received on a user interface which is presented during booting. Specifically, when a data processing system is booting, the user may enter some preset key or keys to launch the user interface. This user interface allows various changes, such as changing hardware reporting configuration, changing power settings, changing a boot order for storage devices, and setting security features. In response to receiving this user input, a prompt for a password is made (step 602). A user input is received containing a password (step 604).
  • A determination is made as to whether the entered password is correct (step 606). If the password is incorrect, the process terminates. In this instance, the system continues to boot and load the operating system. Otherwise, configuration options are presented on the user interface (step 608). It user input is received selecting a configuration option (step 610).
  • Next, a determination is made as to whether the reporting feature has been toggled or changed (step 612). In this example, this option allows the reporting feature to be turned on or off. If this feature has been selected, the reporting feature is switched on or off depending on the prior setting (step 614) with the process then returning to step 610 as described above. If the reporting feature was previously turned on, the feature is now turned off and vice versa.
  • In step 612, if the selected configuration option is not to toggle the reporting feature, a determination is made as to whether the configuration option selected is to select a report format (step 616). If the option is to select the report format, then a process is initiated to receive a user selection of the report format (step 618) with the process then returning to step 610. Through this process, different report formats may be selected. For example, the report format may be XML, HTML, ASCII text, common interface management (CIM), or SNMP. Additionally, some combination of the different reporting formats may be used to provide multiple formats.
  • With reference again to step 616, if the configuration option selected is not the report format option, a determination is made as to whether the option selected is for a report mode option (step 620). If the report mode option is selected, a process to select a report mode is initiated (step 622). In step 622, the user may select different modes for sending hardware reports. In these examples, a single default listener is selected to receive reports. Through this configuration process a different listener server may be selected. Alternatively, two or more listener servers may be designated as collection points to receive reports. If security is not a high priority, step 622 may be employed to select a broadcast mode in which any listener server may receive the hardware report.
  • With reference again to 620, if the configuration option selected is not the report mode option, a determination is made as to whether the user input is to end configuration changes (step 624). If the user input is not to end configuration changes, the process returns to step 604. Otherwise, a determination is made as to whether the changes should be saved (step 626). If the changes are to be saved, these changes are saved in a non-volatile memory (step 628) with the process terminating thereafter. Otherwise, the process terminates without saving the changes.
  • The configuration options illustrated in FIG. 6 are presented for purposes of describing an example of how a configuration process may be implemented. The different options are not meant as a number or type of options that may be actually provided. For example, a configuration option to select the amount of detail in a hardware report may be included in addition to or in place of those options illustrated in FIG. 6.
  • Turning now to FIG. 7, a flowchart of a process for receiving hardware reports is depicted in accordance with a preferred embodiment of the present invention. The process illustrated in FIG. 7 may be implemented in an asset management program, such as asset manager 412 in FIG. 4.
  • The process begins by receiving a hardware report from a client (step 700). The report is analyzed to identify changes in the hardware configuration of the client (step 702). This analysis may be made by comparing the hardware configuration identified in the report with the hardware previously identified and stored in a database, such as hardware database 414 in FIG. 4. This report and the analysis are then stored (step 704). In step 704, if the report is for a new system that has not been previously processed by the listener, a new record is created for the new system.
  • Next, a determination is made as to whether a change is present in the hardware in the client from which the report is received (step 706). If a change is present, an administrator is notified (step 708) with the process terminating thereafter. Otherwise, the process terminates without notifying the administrator. A notification may be made in many different ways. For example, the notification may be made through an email message, an text message to a mobile unit or a pager.
  • Thus, the present invention provides a method, apparatus, and computer instructions for tracking hardware on data processing systems through processes implemented in a BIOS. This mechanism allows for reporting to be set up without regard to the operating system being used. This mechanism allows for regular reporting to occur each time a data processing system is booted.
  • It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media, such as a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, and transmission-type media, such as digital and analog communications links, wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions. The computer readable media may take the form of coded formats that are decoded for actual use in a particular data processing system.
  • The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. In these examples, the clients are clients to servers. Clients also may be a client of a management domain, such that a client is any machine that reports its inventory to a server machine or server process. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (21)

1.-14. (canceled)
15. A data processing system for conducting an inventory of the data processing system, the data processing system comprising:
launching means for launching a basic input output system comprising an inventory process during a boot process for the data processing system, wherein the basic input output system initiates the inventory process wherein the inventory process collects a hardware inventory of components in the data processing system, wherein the data recessing system is one in a plurality of data processing systems in a network;
identifying means for identifying hardware components in the data processing system to form an inventory prior to the launching of an operating system, responsive to launching the basic input output system during the boot process of the data processing system;
sending means for sending a report comprising the inventory to a listener server on the network using a communications interface, prior to launching the operating system, wherein a format type of the report is type in a group consisting of extensible mark up language, hypertext markup language, text in a flat file, and simple network management protocol, and wherein the listener server collects and receives the report from each data processing system on the network, and wherein the listener server is a default listener server.
16.-18. (canceled)
19. The data processing system of claim 15 further comprising:
broadcasting means for broadcasting a network message to a plurality of listener servers;
requesting means for requesting each listener server on the network to announce themselves;
compiling means for compiling responses from the each listener server to form a list;
presenting means for presenting the list of the each listener servers, wherein user input is received containing a selection of a select a listener server from the plurality of listener servers, for reporting hardware changes in the data processing system; and
saving means for saving the selection as a default listener server.
20. (canceled)
21. The data processing system of claim 19, wherein the broadcasting means, compiling means, presenting means, and saving means are initiated in response to an absence of a default listener server being present on the network.
22. The data processing system of claim 15, wherein the report is used to identify changes to the data processing system.
23. The data processing system of claim 15, wherein the listener server runs asset management software.
24. The data processing system of claim 15, wherein the sending means is a first sending means, and further comprising:
waiting means for waiting for an acknowledgement of the report from the default listener server;
selecting means, responsive to an absence of the acknowledgment of the report, by the default server, for selecting a second remote data processing system; and
second sending means for sending the report to the second default listener server.
25. A data processing system in a data processing system for identifying hardware in the data processing system, the data processing system comprising:
identifying means responsive to booting of the computer, for identifying the hardware in the data processing system to form an inventory prior to passing control to an operating system;
creating means for creating report containing the inventory of the hardware prior to passing control to the operating system; and
sending means for sending the report to a default listener server on the network using a communications interface prior to passing control to the operating system.
26.-28. (canceled)
29. A computer program product in a computer readable medium for conducting an inventory of the computer program product comprising:
instructions for launching a basic input output system comprising an inventory process during a boot process for the data processing system, wherein the basic input output system initiates the inventory process, wherein the inventory process collects a hardware inventory of components in the data processing system, wherein the data processing system is one in a plurality of data processing systems in a network;
instructions for identifying hardware components in the data processing system to form an inventory prior to the launching of an operating system responsive to launching the basic input output system during the boot process of the data processing system; and
instructions for sending a report comprising the inventory to a listener server on the network using a communications interface, prior to launching the operating system, wherein a format type of the report is type in a group consisting of extensible mark up language, hypertext markup language, text in a flat file, and simple network management protocol, and wherein the listener server collects and receives the report from each data processing system on the network, and wherein the listener server is a default listener server.
30.-32. (canceled)
33. The computer program product of claim 29 further comprising:
instructions for broadcasting a network message to a plurality of listener servers;
instructions for requesting each listener server on the network to announce themselves;
instructions for compiling responses from the each listener server to form a list;
instructions for presenting the list of the each listener servers, wherein user input is received containing a selection of a select listener server from the plurality of listener servers, for reporting hardware changes in the data processing system; and
instructions for saving the selection as a default listener server.
34. (canceled)
35. The computer program product of claim 33, wherein the instructions for broadcasting instructions, compiling instructions, presenting instructions, and saving are initiated in response to an absence of a default listener server being present on the network.
36. The computer program product of claim 29, wherein the report is used to identify changes to the data processing system.
37. The computer program product of claim 29, wherein the listener server runs asset management software.
38. The computer program product of claim 29 further comprising:
instructions for waiting for an acknowledgement of the report from the default listener server;
instructions, responsive an absence of the acknowledgment of the report, by the default server, for selecting a second default listener server; and
instructions for sending the report to the second default listener server.
39.-42. (canceled)
43. A data processing system comprising:
a bus system;
a memory connected to the bus system, wherein the memory includes a set of instructions; and
a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to launch a basic input output system comprising an inventory process during a boot process for the data processing system, wherein the basic input output system initiates the inventory process, wherein the inventory process collects a hardware inventory of components in the data processing system, wherein the data processing system is one in a plurality of data processing systems in a network identifies hardware components in the data processing system to form an inventory prior to the launching of an operating system responsive to launching the basic input output system during the boot process of the data processing system; and sends a report comprising the inventory to a listener server on the network using a communications interface, prior to launching the operating system, wherein a format type of the report is type in a group consisting of extensible mark up language, hypertext markup language, text in a flat file, and simple network management protocol, and wherein the listener server collects and receives the report from each data processing system on the network, and wherein the listener server is a default listener server.
US12/329,986 2003-09-30 2008-12-08 Method and Apparatus for Automatically Conducting Hardware Inventories of Computers in a Network Abandoned US20090083420A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/329,986 US20090083420A1 (en) 2003-09-30 2008-12-08 Method and Apparatus for Automatically Conducting Hardware Inventories of Computers in a Network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/674,979 US7506051B2 (en) 2003-09-30 2003-09-30 Method and apparatus for automatically conducting hardware inventories of computers in a network
US12/329,986 US20090083420A1 (en) 2003-09-30 2008-12-08 Method and Apparatus for Automatically Conducting Hardware Inventories of Computers in a Network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/674,979 Continuation US7506051B2 (en) 2003-09-30 2003-09-30 Method and apparatus for automatically conducting hardware inventories of computers in a network

Publications (1)

Publication Number Publication Date
US20090083420A1 true US20090083420A1 (en) 2009-03-26

Family

ID=34377005

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/674,979 Expired - Fee Related US7506051B2 (en) 2003-09-30 2003-09-30 Method and apparatus for automatically conducting hardware inventories of computers in a network
US12/329,986 Abandoned US20090083420A1 (en) 2003-09-30 2008-12-08 Method and Apparatus for Automatically Conducting Hardware Inventories of Computers in a Network

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/674,979 Expired - Fee Related US7506051B2 (en) 2003-09-30 2003-09-30 Method and apparatus for automatically conducting hardware inventories of computers in a network

Country Status (1)

Country Link
US (2) US7506051B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077663A1 (en) * 2006-07-21 2008-03-27 Lehman Brothers Inc. Method and System For Identifying And Conducting Inventory Of Computer Assets On A Network
US20100061388A1 (en) * 2008-05-09 2010-03-11 Roundbox, Inc. Datacasting system with intermittent listener capability

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842769B1 (en) 2000-05-05 2005-01-11 Interland, Inc. Automatically configured network server
US7930378B2 (en) * 2003-12-24 2011-04-19 Intel Corporation Method to support XML-based consoles in pre-boot and post operating system execution environments
US20060085542A1 (en) * 2004-10-19 2006-04-20 Fu Jennifer J System monitoring in multi-tier application environments
US7734574B2 (en) * 2005-02-17 2010-06-08 International Business Machines Corporation Intelligent system health indicator
US20070234337A1 (en) * 2006-03-31 2007-10-04 Prowess Consulting, Llc System and method for sanitizing a computer program
US9547485B2 (en) * 2006-03-31 2017-01-17 Prowess Consulting, Llc System and method for deploying a virtual machine
US8671166B2 (en) * 2007-08-09 2014-03-11 Prowess Consulting, Llc Methods and systems for deploying hardware files to a computer
US8051111B2 (en) 2008-01-31 2011-11-01 Prowess Consulting, Llc Method and system for modularizing windows imaging format
US20100312805A1 (en) * 2009-05-08 2010-12-09 Noonan Iii Donal Charles System and method for capturing, managing, and distributing computer files
US8271704B2 (en) 2009-06-16 2012-09-18 International Business Machines Corporation Status information saving among multiple computers
US9494954B2 (en) * 2012-07-26 2016-11-15 Dell Products Lp Thermal control systems and methods for information handling systems
GB2514451B (en) * 2013-03-13 2016-03-16 Lockheed Corp Determining the topology of a network
US9832079B2 (en) 2013-03-13 2017-11-28 Lockheed Martin Corporation Determining the topology of a network
US9405301B2 (en) 2014-01-14 2016-08-02 Dell Products Lp Systems and methods for user modification of cooling device response in information handling systems
US10409582B1 (en) * 2017-07-21 2019-09-10 Jpmorgan Chase Bank, N.A. Method and system for implementing a retail event management tool
US10572366B1 (en) * 2017-09-07 2020-02-25 American Megatrends International, Llc Hardware inventory system
US11599642B2 (en) * 2020-12-30 2023-03-07 Dell Products, L.P. Secure booting of information handling systems based on validated hardware
US11687431B2 (en) * 2021-01-18 2023-06-27 Dell Products L.P. Determining changes to components of a computing device prior to booting to a primary environment of the computing device
CN113867810B (en) * 2021-08-30 2023-07-14 苏州浪潮智能科技有限公司 Method, device, terminal and storage medium for checking server hard disk topology

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161102A (en) * 1988-09-09 1992-11-03 Compaq Computer Corporation Computer interface for the configuration of computer system and circuit boards
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
US6209089B1 (en) * 1998-08-12 2001-03-27 Microsoft Corporation Correcting for changed client machine hardware using a server-based operating system
US6275933B1 (en) * 1999-04-30 2001-08-14 3Com Corporation Security system for a computerized apparatus
US20020078188A1 (en) * 2000-12-18 2002-06-20 Ibm Corporation Method, apparatus, and program for server based network computer load balancing across multiple boot servers
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US6574729B1 (en) * 1999-08-26 2003-06-03 Lucent Technologies Inc. System for remotely identifying and providing information of unknown software on remote network node by comparing the unknown software with software audit file maintained on server
US6711676B1 (en) * 2002-10-15 2004-03-23 Zomaya Group, Inc. System and method for providing computer upgrade information
US20040109017A1 (en) * 2002-12-09 2004-06-10 Rothman Michael A. Decoupled hardware configuration manager
US7124412B2 (en) * 2000-12-13 2006-10-17 Intel Corporation Extensible BIOS error log

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161102A (en) * 1988-09-09 1992-11-03 Compaq Computer Corporation Computer interface for the configuration of computer system and circuit boards
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
US6209089B1 (en) * 1998-08-12 2001-03-27 Microsoft Corporation Correcting for changed client machine hardware using a server-based operating system
US6275933B1 (en) * 1999-04-30 2001-08-14 3Com Corporation Security system for a computerized apparatus
US6574729B1 (en) * 1999-08-26 2003-06-03 Lucent Technologies Inc. System for remotely identifying and providing information of unknown software on remote network node by comparing the unknown software with software audit file maintained on server
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US7124412B2 (en) * 2000-12-13 2006-10-17 Intel Corporation Extensible BIOS error log
US20020078188A1 (en) * 2000-12-18 2002-06-20 Ibm Corporation Method, apparatus, and program for server based network computer load balancing across multiple boot servers
US6711676B1 (en) * 2002-10-15 2004-03-23 Zomaya Group, Inc. System and method for providing computer upgrade information
US20040109017A1 (en) * 2002-12-09 2004-06-10 Rothman Michael A. Decoupled hardware configuration manager

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077663A1 (en) * 2006-07-21 2008-03-27 Lehman Brothers Inc. Method and System For Identifying And Conducting Inventory Of Computer Assets On A Network
US20100061388A1 (en) * 2008-05-09 2010-03-11 Roundbox, Inc. Datacasting system with intermittent listener capability
US8311048B2 (en) * 2008-05-09 2012-11-13 Roundbox, Inc. Datacasting system with intermittent listener capability
US8953627B2 (en) 2008-05-09 2015-02-10 Roundbox, Inc. Datacasting system with intermittent listener capability
US9992284B2 (en) 2008-05-09 2018-06-05 At&T Intellectual Property I, L.P. Datacasting system with intermittent listener capability

Also Published As

Publication number Publication date
US20050071442A1 (en) 2005-03-31
US7506051B2 (en) 2009-03-17

Similar Documents

Publication Publication Date Title
US20090083420A1 (en) Method and Apparatus for Automatically Conducting Hardware Inventories of Computers in a Network
KR100763316B1 (en) Method and apparatus for obtaining status information in a grid
US8234639B2 (en) Autonomic auto-configuration using prior installation configuration relationships
US7594219B2 (en) Method and apparatus for monitoring compatibility of software combinations
US7774588B2 (en) Host build and rebuild system and method
US6988193B2 (en) System and method for creating a definition for a target device based on an architecture configuration of the target device at a boot server
US8407693B2 (en) Managing package dependencies
US8402123B2 (en) Systems and methods for inventorying un-provisioned systems in a software provisioning environment
US20150358392A1 (en) Method and system of virtual desktop infrastructure deployment studio
US20090064086A1 (en) Systems and methods for packaging an application
US20020107945A1 (en) Mechanism to dynamically update a windows system with user specific application enablement support from a heterogeneous server environment
US20070033445A1 (en) Method, apparatus, and program product for autonomic patch risk assessment
US20040254978A1 (en) System and method of remotely accessing a computer system to initiate remote mainteneance and management accesses on network computer systems
CA2349083A1 (en) Server configuration tool
US6898701B2 (en) Method and system for organized booting of a target device in a network environment by a reservation server based on available boot resources
JP6518297B2 (en) System and method for performing an antivirus scan of a web page
US7330966B2 (en) Providing security based on a device identifier prior to booting an operating system
US20060293877A1 (en) Method and apparatus for uni-lingual workflow usage in multi-lingual data center environments
US20040068667A1 (en) Method and apparatus for securing and managing cluster computing in a network data processing system
US20080271011A1 (en) Method and Apparatus for a Client Call Service
US8190715B1 (en) System and methods for remote agent installation
CN114860325A (en) Network card adapting method, device, equipment and storage medium
CN109684134A (en) For the method and server that rapid deployment firmware is set between multiple equipment
Both et al. Be a Lazy SysAdmin
Cain Simple and expensive CD-ROM networking: a step-by-step approach

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

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