US20030210521A1 - Common boot environment for a modular server system - Google Patents

Common boot environment for a modular server system Download PDF

Info

Publication number
US20030210521A1
US20030210521A1 US10/455,969 US45596903A US2003210521A1 US 20030210521 A1 US20030210521 A1 US 20030210521A1 US 45596903 A US45596903 A US 45596903A US 2003210521 A1 US2003210521 A1 US 2003210521A1
Authority
US
United States
Prior art keywords
blade
server
identifier
storage
software
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/455,969
Inventor
Paul Rietze
Bob Whitcombe
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/455,969 priority Critical patent/US20030210521A1/en
Publication of US20030210521A1 publication Critical patent/US20030210521A1/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/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • 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
    • 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/46Multiprogramming arrangements

Definitions

  • Modular server systems are increasing being deployed in computer data centers. As the demand for Internet services increase so does the need for more hardware and software infrastructure to provide such services. This infrastructure may typically be implemented using servers. Some data centers may have thousands of servers, which may consume a significant amount of physical space. Modular server systems provide a way to reduce space requirements, as well as provide other advantages such as lower maintenance and upgrade costs, improved interoperability between servers and increased reliability. As a result, there may be a substantial need for improvements to modular server systems to decrease space requirements and improve other modular server advantages.
  • FIG. 1 illustrates a modular server system according to an embodiment of the present invention
  • FIG. 2 illustrates a server blade in accordance with an embodiment of the present invention
  • FIG. 3 illustrates a storage blade having a connection with server blades via a midplane in accordance with an embodiment of the present invention
  • FIG. 4 illustrates a first block flow diagram of programming logic that may be implemented by a provisioning module in accordance with one embodiment of the invention.
  • FIG. 5 illustrates a second block flow diagram of programming logic that may be implemented by a provisioning module in accordance with one embodiment of the invention.
  • Embodiments of the invention may comprise a method and apparatus to provide a common boot environment for a modular server system.
  • One embodiment of the invention may include a storage system for a modular server system.
  • the storage system may comprise, for example, a redundant array of independent discs (RAID) system.
  • Operating System (OS) software for a plurality of server blades may be stored by the RAID system.
  • the storage system may be implemented as part of the modular server system chassis, midplane or a dedicated storage blade.
  • the storage system may be implemented external to the modular server system, such as part of a Storage Area Network (SAN) or Network Access Storage (NAS) with a high-speed connection to the modular server system.
  • SAN Storage Area Network
  • NAS Network Access Storage
  • Any server blade needs access to its OS it may receive the OS from the RAID system.
  • a server blade may need access to its OS for any number of reasons, such as during initial startup, or after an upgrade, failure, maintenance, reboot and so forth.
  • One embodiment of the invention may improve OS boot performance by decreasing the number of storage systems or hard disk drives used to provision the server blades.
  • conventional modular server systems typically have a storage system for each server blade.
  • An example of a conventional storage system may include a hard disk drive and hard disk drive controller.
  • the storage system may store an OS for the server blade.
  • each server blade may use the dedicated storage system to load its OS.
  • One embodiment of the invention may reduce the number of storage systems needed to provision the server blades of a modular server system with the appropriate OS. In addition to improved OS boot performance, this may also reduce repair, upgrade and equipment costs for modular server systems.
  • An embodiment of the invention may include functionality that may be implemented as software executed by a processor, hardware circuits or structures, or a combination of both.
  • the processor may be a general-purpose or dedicated processor, such as a processor from the family of processors made by Intel Corporation, Motorola Incorporated, Sun Microsystems Incorporated and others.
  • the software may comprise programming logic, instructions or data to implement certain functionality for an embodiment of the invention.
  • the software may be stored in a medium accessible by a machine or computer-readable medium, such as read-only memory (ROM), random-access memory (RAM), magnetic disk (e.g., floppy disk and hard drive), optical disk (e.g., CD-ROM) or any other data storage medium.
  • the media may store programming instructions in a compressed and/or encrypted format, as well as instructions that may have to be compiled or installed by an installer before being executed by the processor.
  • an embodiment of the invention may be implemented as specific hardware components that contain hard-wired logic for performing the recited functionality, or by any combination of programmed general-purpose computer components and custom hardware components.
  • any reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention.
  • the appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
  • FIG. 1 illustrates a modular server system according to an embodiment of the present invention.
  • FIG. 1 illustrates a modular server system 100 that may comprise server blades 110 , switch blades 120 , power supplies 130 , power inputs 140 , media blades 150 , a fan tray 160 , a midplane 170 and a storage blade 180 .
  • blade may refer to a device implemented as a single board, such as a single board computer (SBC) with a processor or controller, a router, a switch, a storage system, a network appliance, a private branch exchange, an application server, a computer/telephony (CT) appliance, and so forth.
  • SBC single board computer
  • IP computer/telephony
  • Media blades 150 are blades that may accommodate media devices, such as a graphics processing device, an audio processing device, a streaming media processing device, a mass storage system, and so forth.
  • Storage blade 180 may be one example of a media blade 150 .
  • Modular server system 100 may be configured to hold up to sixteen independent server blades 110 , along with up to sixteen media blades 150 or storage blades 180 . Any other number of server blades 110 , media blades 150 or storage blades 180 , however, may also be supported. Each blade may include an interface to connect with midplane 170 , and may communicate with other blades via midplane 170 . It may be appreciated that although server blades 110 and media blades 150 including storage blade 180 are shown in FIG. 1 connected to the midplane 170 at opposite sides, the embodiments of the invention are not limited in this context. For example, storage blade 180 may be positioned on the same side of server blades 110 , if desired.
  • Midplane 170 may be, for example, a communications circuit board having a plurality of blade interfaces. Each blade interface may provide a common interconnect for modules connected thereto. In one embodiment of the invention, the blade interfaces are in electrical communication with each other and with the system management bus of midplane 170 . In one embodiment of the invention, midplane 170 may be based on a form factor as set forth by the Peripheral Component Interconnect (PCI) Industrial Computer Manufacturers Group (PICMG) CompactPCI specification version 2.1 (“CoinpactPCI Specification”), wherein the blade interfaces are CompactPCI slots or connectors.
  • PCI Peripheral Component Interconnect
  • PICMG Industrial Computer Manufacturers Group
  • CompactPCI Specification may include the Eurocard form factor popularized by the “Versa Module Europa” (VME) bus having standard Eurocard dimensions and high-density 2 mm pin-and-socket connectors.
  • All blades connected to midplane 170 may communicate with other blades and system resources via midplane 170 .
  • Each blade is essentially a network node with a network address. Therefore, each blade may create a network connection with another blade or system resource to communicate information.
  • the connection may be an Ethernet connection, such as a Fast Ethernet or Gigabit Ethernet connection.
  • Modular server system 100 may also be configured to support up to four switch blades 120 to perform network switching and provide N+1 redundancy.
  • switch blades 120 may have up to twenty 10/100 Base-T auto-negotiating ports and support 4,096 Media Access Controller (MAC) addresses. Sixteen of the twenty ports may be assigned, for example, to Ethernet channels from midplane 170 , which may in turn be connected to sixteen server blades 110 . The remaining four ports may be accessible, for example, through RJ-45 (Ethernet) connectors on a face plate for switch blade 120 . Other configurations may be implemented, however, depending on the number of server blades 110 supported by modular server system 100 .
  • MAC Media Access Controller
  • Data packets may be buffered in switch blades 120 to reduce Ethernet collisions for a particular channel, and a full managed layer 3 or layer 4 switch may be implemented to provide quality of service (QoS) control.
  • QoS quality of service
  • a non-blocking switch fabric with sufficient bandwidth to reduce packet loss may be desired.
  • up to six load sharing power supplies 130 may be connected to the midplane 170 to provide power to the modules of the server system 100 .
  • These power supplies 130 may provide 150 watts of power each, for example, and may provide for N+1 redundancy as well.
  • Up to two power alternate current (AC)/direct current (DC) inputs 140 may be connected to midplane 170 to provide input power to modular server system 100 .
  • a removable fan tray with cooling fans 160 may be utilized to provide cooling air flow within the modular server system 100 to cool the modules therein. According to an embodiment of the present invention, the removable fan tray 160 may include up to six fans for N+1 redundancy.
  • FIG. 2 illustrates a server blade according to an embodiment of the present invention.
  • FIG. 2 illustrates a server blade 200 designed to work as a modular component of the server system 100 .
  • Server blade 200 may represent, for example, a server blade 110 .
  • server blade 200 may be designed in accordance with the CompactPCI Specification. It may be appreciated, however, that any suitable interface standard may be utilized and still fall within the scope of the invention.
  • Server blade 200 may include a processor 216 , such as a Pentium® III processor module made by Intel Corporation.
  • the Pentium III processor module may contain a power supply for the processor's unique voltage requirements, a temperature sensor, a system memory (L2 cache), and core logic required to bridge the processor to the standard system buses.
  • server blade 200 may incorporate a system management bus.
  • the system management bus may be in communication with, for example, the system management bus of midplane 170 . This may provide access to the OS functions of storage blade 180 .
  • Server blade 200 may also include network interfaces 206 and 207 .
  • the Ethernet interfaces 206 and 207 may utilize, for example, the Ethernet Express Pro 100 compatible, Intel 82559 Fast Ethernet Multifunction PCI Controller, made by Intel Corporation (“82559 Controller”).
  • the 82559 Controller may include both a Media Access Controller (MAC) and a physical layer (PHY) interface combined into a single component solution.
  • the network interfaces 206 and 207 may be, for example, RJ-45 connectors on the faceplate of server blade 200 .
  • the faceplate may also include status light emitting diodes (LED) 204 to indicate the status of each channel.
  • LED status light emitting diodes
  • Server blade 200 may use semiconductor memory 210 for local memory.
  • semiconductor memory 210 may include a synchronous dynamic random access memory (SDRAM) dual-inline memory module (DIMM).
  • SDRAM synchronous dynamic random access memory
  • DIMM dual-inline memory module
  • ECC error correcting coded
  • Server blade 200 may also provide on-board flash memory 212 for storing the system basic input/output system (BIOS), and for use as a solid-state disk.
  • BIOS system basic input/output system
  • SRAM battery-backed static random access memory
  • Server blade 200 may also include interrupt controllers 226 to provide support for level-triggered and edge-triggered inputs, individual input masking, and fixed and rotating priorities.
  • a push-button reset/abort button 203 may also be provided to allow a user to reset server blade 200 .
  • a keyboard/mouse connector 201 may allow a user to connect a keyboard or mouse to the server blade 200 for interaction therewith.
  • a video output plug 205 such as a video graphics array (VGA) connector, may be provided to allow connection to a monitor for video output.
  • a universal serial bus (USB) connector 208 may also be provided to allow server blade 200 to connect to other devices, such as portable optical disc drives, hard disk drives, and so forth.
  • the server blade 200 may also include a serial port 202 , such as a 16C550 PC-compatible serial port, on the front panel.
  • a real-time clock 234 with battery power 232 is preferably provided on the server blade 200 to perform timekeeping functions, such as alarm, maskable periodic interrupt, and calendaring.
  • a watchdog timer 528 may be optionally provided to monitor system operation and to be programmable for a number of timeout periods.
  • a two-stage watchdog timer may be utilized, that is, it may produce a non-maskable interrupt (NMI) before it generates a Reset Request. Therefore, failure to strobe the watchdog timer within the programmed time period may result in an NMI, a Reset Request, or both.
  • NMI non-maskable interrupt
  • a register is set if the watchdog timer caused the reset event. This watchdog timer is cleared only on power-up, enabling system software to take appropriate action on reboot.
  • An input/output expansion connector 214 may be provided in server blade 200 to allow expansion for interfacing with a storage medium, flash memory, etc.
  • FIG. 3 illustrates a storage blade having a connection with a server blade via a midplane according to an embodiment of the present invention.
  • FIG. 3 illustrates a storage blade 300 that may represent, for example, storage blade 180 .
  • storage blade 300 may be a modular component of a modular server system, such as modular server system 100 .
  • Storage blade 300 may be configured to carry a mass storage medium device such as a hard disk drive and/or compact disc read-only memory (CD-ROM).
  • FIG. 3 illustrates two 2.5 inch or 3.5 inch Integrated Drive Electronics (IDE) hard disk drives 310 and 320 . It can be appreciated, however, that storage blade 300 may support any number or type of conventional hard disk drives, including those of different interface types.
  • IDE Integrated Drive Electronics
  • storage blade 300 may contain other processors and devices that provide Redundant Array of Independent Discs (RAID) functionality, and may interconnect with the PCI bus of the corresponding server blades 110 .
  • RAID Redundant Array of Independent Discs
  • the RAID system may comprise a plurality of hard disk drives configured with a controller 330 .
  • Controller 330 may comprise, for example, an integrated RAID controller such as the GSU31 RAID controller made by Intel Corporation.
  • the GSU31 RAID controller is a PCI-based, single-channel Ultra-1160 SCSI RAID controller that utilizes the i960® RS I/O processor made by Intel Corporation.
  • the storage system may be a RAID level five system.
  • level 5 may refer to a RAID system that may provide, for example, data striping at the byte level and also stripe error correction information.
  • data striping may refer to spreading data from a file across multiple hard drives thereby improving file access times.
  • Storage blade 300 may also have a memory 335 .
  • Memory 335 may comprise any machine-readable media, such as ROM, RAM, synchronous RAM-(SRAM), synchronous dynamic RAM (SDRAM), and so forth.
  • Memory 335 may store computer program instructions to be executed by a processor, such as controller 330 .
  • controller 330 may include its own memory and thereby allow for the omission of memory 335 .
  • Another example of a controller 330 may be, for example, a controller using the i310 XScaleTM processor made by Intel Corporation.
  • storage blade 300 may transfer information on the secondary IDE channels of server blades 110 .
  • Hard disk drives 310 and 320 may be configured for Cable Select (CSEL), a feature that allows CSEL configured hard disk drives to automatically assume Master/Slave (Drive 0/Drive 1) identities when cabled to the appropriate headers on the storage blade 180 .
  • CSEL Cable Select
  • the CSEL feature may be built into the printed circuit board (PCB), for example.
  • a midplane input/output (I/O) connector 350 of storage blade 300 may be a CompactPCI form factor interface adapted for connection with a blade interface of midplane 170 .
  • server blades 110 may include midplane connectors 360 , 370 and 380 . These connectors may be CoinpactPCI form factor interfaces adapted for connection with a blade interface of midplane 170 .
  • Midplane I/O connectors 340 and 360 of storage blade 300 and server blade 110 respectively, may include a secondary IDE channel 340 for communication between storage blade 300 and server blades 110 through midplane 170 , or alternatively, may make use of a CompactPCI bus.
  • storage blade 300 may be a modular component of a modular server system, such as a storage blade.
  • a storage system to provision the server blades with the appropriate OS may be implemented in other parts of the modular server system, such as midplane 170 or the modular server system chassis (not shown).
  • the storage system may be external to the modular server system as part of a connected device, such as a SAN or a NAS system. In this case, the external storage system may be accessible by the modular server system via a conventional high-speed connection.
  • FIGS. 4 - 5 may include a particular processing logic, it can be appreciated that the processing logic merely provides an example of how the general functionality described herein can be implemented. Further, each operation within a given processing logic does not necessarily have to be executed in the order presented unless otherwise indicated.
  • FIG. 4 is a first block flow diagram of the programming logic performed by a provisioning module in accordance with one embodiment of the invention.
  • the provisioning module may refer to the software and/or hardware used to implement the functionality for server blade software provisioning as described herein.
  • the provisioning module may be implemented as part of storage blade 180 .
  • FIG. 4 illustrates a processing logic 400 to provision a plurality of servers.
  • a request to load an OS from each of a plurality of server blades may be received at block 402 . In one embodiment of the invention, this may be accomplished by creating a connection between each server blade and a storage system having the OS, and receiving the request over the connection.
  • An identifier may be determined for each of a plurality of server blades at block 404 . In one embodiment of the invention, this determination may be performed by receiving a provisioning request from a server, with the provisioning request including a server blade identifier.
  • a search may be initiated for an OS identifier associated with the server blade identifier at block 406 .
  • OS software may be retrieved from the storage system using the OS identifier at block 408 . Each server blade is then loaded with its retrieved OS at block 410 .
  • a search for an OS identifier may be performed using an OS identifier list.
  • the OS identifier list may be a table having an entry for a server blade identifier for each server blade that is part of a modular server system.
  • Each server blade identifier may be, for example, a dynamic host configuration protocol (DHCP) address, a MAC address, a port number, or some other unique identifier for a server blade.
  • Each server blade identifier may have an associated OS identifier.
  • the OS identifier identifies the OS for each server blade.
  • the OS identifier may be a file name or file address for the particular OS software.
  • the OS identifier list may be searched using the server blade identifier.
  • the server blade identifier may have a pointer or address to the OS identifier.
  • the OS identifier may be retrieved and used to load the OS software to the server blade.
  • FIG. 5 is a second block flow diagram of the programming logic performed by a provisioning module in accordance with one embodiment of the invention.
  • the provisioning module may be implemented as part of server blades 110 .
  • FIG. 5 illustrates a processing logic 500 to provision a plurality of servers.
  • a connection with a storage blade may be created at block 502 .
  • the storage blade may store a plurality of OS software.
  • a request may be sent to provision the server blade with one of the plurality of OS software at block 504 .
  • the OS software may be received in response to the request at block 506 .
  • the request may include a server blade identifier and an OS identifier.
  • the request may be received at the storage blade.
  • An OS for the server blade may be identified using the OS identifier.
  • the OS may be sent to the server blade over the connection.
  • the server blade may store the OS software in memory and execute the OS software.
  • a modular server system such as system 100 is powered up.
  • Each server blade loads and executes instructions from its basic input/output system (BIOS), which is typically stored in firmware such as flash memory 212 .
  • BIOS basic input/output system
  • Part of the BIOS initialization process includes a boot loading protocol, which includes a list of scheduled tasks to boot the server blade.
  • boot as used herein may refer to loading software.
  • the schedule may comprise a sequence, for example, of locations the server blade is to look for its OS software.
  • the sequence may include firmware, dynamic memory such as DRAM 210 , and a network device.
  • the BIOS may be modified using the principles included herein to establish a network connection with a storage system as part of its boot loader protocol.
  • server blade 110 may establish a network connection with storage blade 180 via midplane 170 .
  • the network connection may comprise, for example, an Ethernet connection.
  • Server blade may send a request for its OS software to storage blade 180 .
  • the OS software may be any conventional OS software, such as the OS software made by Microsoft Corporation or Sun Microsystems Incorporated.
  • the request may include a server blade identifier for server blade 110 , such as a DHCP address.
  • storage blade 180 may locate and retrieve the DHCP address from a DHCP server or network OS for modular server system 100 .
  • a provisioning module of storage blade 180 may begin the provisioning process for server blade 110 .
  • the provisioning module may be implemented as software and stored in memory, such as memory 335 .
  • a processor such as controller 335 may receive and execute program instructions from memory 335 , for example.
  • the provisioning module may either retrieve the DHCP address from the request itself, or from an external source such the DHCP server or network OS.
  • the provisioning module may access the OS identifier list and retrieve an OS identifier associated with the server blade identifier.
  • the provisioning module may then use the OS identifier to retrieve the appropriate OS software from the storage system, and send the OS software to the requesting server blade 110 .
  • server blade 110 may store the OS software in its local memory, such as DRAM 210 . The server blade 110 may then execute the OS software and begin execution of the OS.

Abstract

A method and apparatus to provision a plurality of server blades from a modular server system with operating system software is described.

Description

    BACKGROUND
  • Modular server systems are increasing being deployed in computer data centers. As the demand for Internet services increase so does the need for more hardware and software infrastructure to provide such services. This infrastructure may typically be implemented using servers. Some data centers may have thousands of servers, which may consume a significant amount of physical space. Modular server systems provide a way to reduce space requirements, as well as provide other advantages such as lower maintenance and upgrade costs, improved interoperability between servers and increased reliability. As a result, there may be a substantial need for improvements to modular server systems to decrease space requirements and improve other modular server advantages.[0001]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The subject matter regarded as embodiments of the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. Embodiments of the invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which: [0002]
  • FIG. 1 illustrates a modular server system according to an embodiment of the present invention; [0003]
  • FIG. 2 illustrates a server blade in accordance with an embodiment of the present invention; [0004]
  • FIG. 3 illustrates a storage blade having a connection with server blades via a midplane in accordance with an embodiment of the present invention; [0005]
  • FIG. 4 illustrates a first block flow diagram of programming logic that may be implemented by a provisioning module in accordance with one embodiment of the invention; and [0006]
  • FIG. 5 illustrates a second block flow diagram of programming logic that may be implemented by a provisioning module in accordance with one embodiment of the invention.[0007]
  • DETAILED DESCRIPTION
  • Embodiments of the invention may comprise a method and apparatus to provide a common boot environment for a modular server system. One embodiment of the invention may include a storage system for a modular server system. The storage system may comprise, for example, a redundant array of independent discs (RAID) system. Operating System (OS) software for a plurality of server blades may be stored by the RAID system. The storage system may be implemented as part of the modular server system chassis, midplane or a dedicated storage blade. In one embodiment of the invention, the storage system may be implemented external to the modular server system, such as part of a Storage Area Network (SAN) or Network Access Storage (NAS) with a high-speed connection to the modular server system. Whenever any server blade needs access to its OS, it may receive the OS from the RAID system. A server blade may need access to its OS for any number of reasons, such as during initial startup, or after an upgrade, failure, maintenance, reboot and so forth. [0008]
  • One embodiment of the invention may improve OS boot performance by decreasing the number of storage systems or hard disk drives used to provision the server blades. By way of contrast, conventional modular server systems typically have a storage system for each server blade. An example of a conventional storage system may include a hard disk drive and hard disk drive controller. The storage system may store an OS for the server blade. Upon receiving a boot or reboot command, each server blade may use the dedicated storage system to load its OS. One embodiment of the invention may reduce the number of storage systems needed to provision the server blades of a modular server system with the appropriate OS. In addition to improved OS boot performance, this may also reduce repair, upgrade and equipment costs for modular server systems. [0009]
  • In this detailed description, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It will be understood by those skilled in the art, however, that the embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the embodiments of the invention. It can be appreciated that the specific structural and functional details disclosed herein may be representative and do not necessarily limit the scope of the invention. [0010]
  • An embodiment of the invention may include functionality that may be implemented as software executed by a processor, hardware circuits or structures, or a combination of both. The processor may be a general-purpose or dedicated processor, such as a processor from the family of processors made by Intel Corporation, Motorola Incorporated, Sun Microsystems Incorporated and others. The software may comprise programming logic, instructions or data to implement certain functionality for an embodiment of the invention. The software may be stored in a medium accessible by a machine or computer-readable medium, such as read-only memory (ROM), random-access memory (RAM), magnetic disk (e.g., floppy disk and hard drive), optical disk (e.g., CD-ROM) or any other data storage medium. In one embodiment of the invention, the media may store programming instructions in a compressed and/or encrypted format, as well as instructions that may have to be compiled or installed by an installer before being executed by the processor. Alternatively, an embodiment of the invention may be implemented as specific hardware components that contain hard-wired logic for performing the recited functionality, or by any combination of programmed general-purpose computer components and custom hardware components. [0011]
  • It is worthy to note that any reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment. [0012]
  • Referring now in detail to the drawings wherein like parts are designated by like reference numerals throughout, there is illustrated in FIG. 1 a system suitable for practicing one embodiment of the invention. FIG. 1 illustrates a modular server system according to an embodiment of the present invention. FIG. 1 illustrates a [0013] modular server system 100 that may comprise server blades 110, switch blades 120, power supplies 130, power inputs 140, media blades 150, a fan tray 160, a midplane 170 and a storage blade 180. The term “blade” as used herein may refer to a device implemented as a single board, such as a single board computer (SBC) with a processor or controller, a router, a switch, a storage system, a network appliance, a private branch exchange, an application server, a computer/telephony (CT) appliance, and so forth. Media blades 150 are blades that may accommodate media devices, such as a graphics processing device, an audio processing device, a streaming media processing device, a mass storage system, and so forth. Storage blade 180 may be one example of a media blade 150.
  • [0014] Modular server system 100 may be configured to hold up to sixteen independent server blades 110, along with up to sixteen media blades 150 or storage blades 180. Any other number of server blades 110, media blades 150 or storage blades 180, however, may also be supported. Each blade may include an interface to connect with midplane 170, and may communicate with other blades via midplane 170. It may be appreciated that although server blades 110 and media blades 150 including storage blade 180 are shown in FIG. 1 connected to the midplane 170 at opposite sides, the embodiments of the invention are not limited in this context. For example, storage blade 180 may be positioned on the same side of server blades 110, if desired.
  • [0015] Midplane 170 may be, for example, a communications circuit board having a plurality of blade interfaces. Each blade interface may provide a common interconnect for modules connected thereto. In one embodiment of the invention, the blade interfaces are in electrical communication with each other and with the system management bus of midplane 170. In one embodiment of the invention, midplane 170 may be based on a form factor as set forth by the Peripheral Component Interconnect (PCI) Industrial Computer Manufacturers Group (PICMG) CompactPCI specification version 2.1 (“CoinpactPCI Specification”), wherein the blade interfaces are CompactPCI slots or connectors. The CompactPCI Specification may include the Eurocard form factor popularized by the “Versa Module Europa” (VME) bus having standard Eurocard dimensions and high-density 2 mm pin-and-socket connectors.
  • All blades connected to [0016] midplane 170 may communicate with other blades and system resources via midplane 170. Each blade is essentially a network node with a network address. Therefore, each blade may create a network connection with another blade or system resource to communicate information. For example, in one embodiment of the invention the connection may be an Ethernet connection, such as a Fast Ethernet or Gigabit Ethernet connection.
  • [0017] Modular server system 100 may also be configured to support up to four switch blades 120 to perform network switching and provide N+1 redundancy. In one embodiment of the invention, switch blades 120 may have up to twenty 10/100 Base-T auto-negotiating ports and support 4,096 Media Access Controller (MAC) addresses. Sixteen of the twenty ports may be assigned, for example, to Ethernet channels from midplane 170, which may in turn be connected to sixteen server blades 110. The remaining four ports may be accessible, for example, through RJ-45 (Ethernet) connectors on a face plate for switch blade 120. Other configurations may be implemented, however, depending on the number of server blades 110 supported by modular server system 100. Data packets may be buffered in switch blades 120 to reduce Ethernet collisions for a particular channel, and a full managed layer 3 or layer 4 switch may be implemented to provide quality of service (QoS) control. In one embodiment of the invention, a non-blocking switch fabric with sufficient bandwidth to reduce packet loss may be desired.
  • In the [0018] modular server system 100 illustrated in FIG. 1, up to six load sharing power supplies 130 may be connected to the midplane 170 to provide power to the modules of the server system 100. These power supplies 130 may provide 150 watts of power each, for example, and may provide for N+1 redundancy as well. Up to two power alternate current (AC)/direct current (DC) inputs 140 may be connected to midplane 170 to provide input power to modular server system 100. A removable fan tray with cooling fans 160 may be utilized to provide cooling air flow within the modular server system 100 to cool the modules therein. According to an embodiment of the present invention, the removable fan tray 160 may include up to six fans for N+1 redundancy.
  • FIG. 2 illustrates a server blade according to an embodiment of the present invention. FIG. 2 illustrates a [0019] server blade 200 designed to work as a modular component of the server system 100. Server blade 200 may represent, for example, a server blade 110. In one embodiment of the invention, server blade 200 may be designed in accordance with the CompactPCI Specification. It may be appreciated, however, that any suitable interface standard may be utilized and still fall within the scope of the invention.
  • [0020] Server blade 200 may include a processor 216, such as a Pentium® III processor module made by Intel Corporation. The Pentium III processor module may contain a power supply for the processor's unique voltage requirements, a temperature sensor, a system memory (L2 cache), and core logic required to bridge the processor to the standard system buses. In one embodiment of the present invention, server blade 200 may incorporate a system management bus. The system management bus may be in communication with, for example, the system management bus of midplane 170. This may provide access to the OS functions of storage blade 180.
  • [0021] Server blade 200 may also include network interfaces 206 and 207. According to the embodiment shown in FIG. 2, dual Ethernet ports 206 and 207 are provided. The Ethernet interfaces 206 and 207 may utilize, for example, the Ethernet Express Pro 100 compatible, Intel 82559 Fast Ethernet Multifunction PCI Controller, made by Intel Corporation (“82559 Controller”). The 82559 Controller may include both a Media Access Controller (MAC) and a physical layer (PHY) interface combined into a single component solution. The network interfaces 206 and 207 may be, for example, RJ-45 connectors on the faceplate of server blade 200. The faceplate may also include status light emitting diodes (LED) 204 to indicate the status of each channel.
  • [0022] Server blade 200 may use semiconductor memory 210 for local memory. An example of semiconductor memory 210 may include a synchronous dynamic random access memory (SDRAM) dual-inline memory module (DIMM). In one embodiment of the invention, the SDRAM may be error correcting coded (ECC). ECC memory may correct single bit errors and report multiple bit errors to the OS. Server blade 200 may also provide on-board flash memory 212 for storing the system basic input/output system (BIOS), and for use as a solid-state disk. A battery-backed static random access memory (SRAM) may also be provided for this use as well.
  • [0023] Server blade 200 may also include interrupt controllers 226 to provide support for level-triggered and edge-triggered inputs, individual input masking, and fixed and rotating priorities. A push-button reset/abort button 203 may also be provided to allow a user to reset server blade 200. A keyboard/mouse connector 201 may allow a user to connect a keyboard or mouse to the server blade 200 for interaction therewith. Optionally, a video output plug 205, such as a video graphics array (VGA) connector, may be provided to allow connection to a monitor for video output. A universal serial bus (USB) connector 208 may also be provided to allow server blade 200 to connect to other devices, such as portable optical disc drives, hard disk drives, and so forth.
  • The [0024] server blade 200 may also include a serial port 202, such as a 16C550 PC-compatible serial port, on the front panel. A real-time clock 234 with battery power 232 is preferably provided on the server blade 200 to perform timekeeping functions, such as alarm, maskable periodic interrupt, and calendaring. A watchdog timer 528 may be optionally provided to monitor system operation and to be programmable for a number of timeout periods. A two-stage watchdog timer may be utilized, that is, it may produce a non-maskable interrupt (NMI) before it generates a Reset Request. Therefore, failure to strobe the watchdog timer within the programmed time period may result in an NMI, a Reset Request, or both. A register is set if the watchdog timer caused the reset event. This watchdog timer is cleared only on power-up, enabling system software to take appropriate action on reboot. An input/output expansion connector 214 may be provided in server blade 200 to allow expansion for interfacing with a storage medium, flash memory, etc.
  • FIG. 3 illustrates a storage blade having a connection with a server blade via a midplane according to an embodiment of the present invention. FIG. 3 illustrates a [0025] storage blade 300 that may represent, for example, storage blade 180. In one embodiment of the invention, storage blade 300 may be a modular component of a modular server system, such as modular server system 100. Storage blade 300 may be configured to carry a mass storage medium device such as a hard disk drive and/or compact disc read-only memory (CD-ROM). FIG. 3 illustrates two 2.5 inch or 3.5 inch Integrated Drive Electronics (IDE) hard disk drives 310 and 320. It can be appreciated, however, that storage blade 300 may support any number or type of conventional hard disk drives, including those of different interface types.
  • In one embodiment of the invention, [0026] storage blade 300 may contain other processors and devices that provide Redundant Array of Independent Discs (RAID) functionality, and may interconnect with the PCI bus of the corresponding server blades 110. In one embodiment of the invention, for example, the RAID system may comprise a plurality of hard disk drives configured with a controller 330. Controller 330 may comprise, for example, an integrated RAID controller such as the GSU31 RAID controller made by Intel Corporation. The GSU31 RAID controller is a PCI-based, single-channel Ultra-1160 SCSI RAID controller that utilizes the i960® RS I/O processor made by Intel Corporation. Further, the storage system may be a RAID level five system. The term “level 5” may refer to a RAID system that may provide, for example, data striping at the byte level and also stripe error correction information. The term “data striping” may refer to spreading data from a file across multiple hard drives thereby improving file access times.
  • [0027] Storage blade 300 may also have a memory 335. Memory 335 may comprise any machine-readable media, such as ROM, RAM, synchronous RAM-(SRAM), synchronous dynamic RAM (SDRAM), and so forth. Memory 335 may store computer program instructions to be executed by a processor, such as controller 330. In one embodiment of the invention, controller 330 may include its own memory and thereby allow for the omission of memory 335. Another example of a controller 330 may be, for example, a controller using the i310 XScale™ processor made by Intel Corporation.
  • Logically, [0028] storage blade 300 may transfer information on the secondary IDE channels of server blades 110. Hard disk drives 310 and 320 may be configured for Cable Select (CSEL), a feature that allows CSEL configured hard disk drives to automatically assume Master/Slave (Drive 0/Drive 1) identities when cabled to the appropriate headers on the storage blade 180. The CSEL feature may be built into the printed circuit board (PCB), for example.
  • According to one embodiment of the invention, a midplane input/output (I/O) [0029] connector 350 of storage blade 300 may be a CompactPCI form factor interface adapted for connection with a blade interface of midplane 170. Similarly, server blades 110 may include midplane connectors 360, 370 and 380. These connectors may be CoinpactPCI form factor interfaces adapted for connection with a blade interface of midplane 170. Midplane I/ O connectors 340 and 360 of storage blade 300 and server blade 110, respectively, may include a secondary IDE channel 340 for communication between storage blade 300 and server blades 110 through midplane 170, or alternatively, may make use of a CompactPCI bus.
  • In one embodiment of the invention, [0030] storage blade 300 may be a modular component of a modular server system, such as a storage blade. The embodiments of the invention, however, are not limited in this context. For example, in another embodiment of the invention, a storage system to provision the server blades with the appropriate OS may be implemented in other parts of the modular server system, such as midplane 170 or the modular server system chassis (not shown). In another embodiment of the invention, the storage system may be external to the modular server system as part of a connected device, such as a SAN or a NAS system. In this case, the external storage system may be accessible by the modular server system via a conventional high-speed connection.
  • The operations of [0031] systems 100, 200 and 300 may be further described with reference to FIGS. 4-5 and accompanying examples. Although FIGS. 4-5 presented herein may include a particular processing logic, it can be appreciated that the processing logic merely provides an example of how the general functionality described herein can be implemented. Further, each operation within a given processing logic does not necessarily have to be executed in the order presented unless otherwise indicated.
  • FIG. 4 is a first block flow diagram of the programming logic performed by a provisioning module in accordance with one embodiment of the invention. In one embodiment of the invention, the provisioning module may refer to the software and/or hardware used to implement the functionality for server blade software provisioning as described herein. In one embodiment of the invention, the provisioning module may be implemented as part of [0032] storage blade 180.
  • FIG. 4 illustrates a [0033] processing logic 400 to provision a plurality of servers. A request to load an OS from each of a plurality of server blades may be received at block 402. In one embodiment of the invention, this may be accomplished by creating a connection between each server blade and a storage system having the OS, and receiving the request over the connection. An identifier may be determined for each of a plurality of server blades at block 404. In one embodiment of the invention, this determination may be performed by receiving a provisioning request from a server, with the provisioning request including a server blade identifier. A search may be initiated for an OS identifier associated with the server blade identifier at block 406. OS software may be retrieved from the storage system using the OS identifier at block 408. Each server blade is then loaded with its retrieved OS at block 410.
  • A search for an OS identifier may be performed using an OS identifier list. The OS identifier list may be a table having an entry for a server blade identifier for each server blade that is part of a modular server system. Each server blade identifier may be, for example, a dynamic host configuration protocol (DHCP) address, a MAC address, a port number, or some other unique identifier for a server blade. Each server blade identifier may have an associated OS identifier. The OS identifier identifies the OS for each server blade. For example, the OS identifier may be a file name or file address for the particular OS software. Whenever a server blade identifier is received, the OS identifier list may be searched using the server blade identifier. The server blade identifier may have a pointer or address to the OS identifier. The OS identifier may be retrieved and used to load the OS software to the server blade. [0034]
  • FIG. 5 is a second block flow diagram of the programming logic performed by a provisioning module in accordance with one embodiment of the invention. In one embodiment of the invention, the provisioning module may be implemented as part of [0035] server blades 110.
  • FIG. 5 illustrates a [0036] processing logic 500 to provision a plurality of servers. A connection with a storage blade may be created at block 502. The storage blade may store a plurality of OS software. A request may be sent to provision the server blade with one of the plurality of OS software at block 504. The OS software may be received in response to the request at block 506.
  • In one embodiment of the invention the request may include a server blade identifier and an OS identifier. The request may be received at the storage blade. An OS for the server blade may be identified using the OS identifier. The OS may be sent to the server blade over the connection. Once received by the server blade, the server blade may store the OS software in memory and execute the OS software. [0037]
  • The operation of [0038] systems 100, 200 and 300, and the processing logic shown in FIGS. 4 and 5, may be better understood by way of example. A modular server system such as system 100 is powered up. Each server blade loads and executes instructions from its basic input/output system (BIOS), which is typically stored in firmware such as flash memory 212. Part of the BIOS initialization process includes a boot loading protocol, which includes a list of scheduled tasks to boot the server blade. The term “boot” as used herein may refer to loading software. The schedule may comprise a sequence, for example, of locations the server blade is to look for its OS software. The sequence may include firmware, dynamic memory such as DRAM 210, and a network device.
  • The BIOS may be modified using the principles included herein to establish a network connection with a storage system as part of its boot loader protocol. For example, [0039] server blade 110 may establish a network connection with storage blade 180 via midplane 170. The network connection may comprise, for example, an Ethernet connection. Server blade may send a request for its OS software to storage blade 180. The OS software may be any conventional OS software, such as the OS software made by Microsoft Corporation or Sun Microsystems Incorporated. In one embodiment of the invention, the request may include a server blade identifier for server blade 110, such as a DHCP address. In another embodiment of the invention, storage blade 180 may locate and retrieve the DHCP address from a DHCP server or network OS for modular server system 100.
  • Once [0040] storage blade 180 receives the request, a provisioning module of storage blade 180 may begin the provisioning process for server blade 110. The provisioning module may be implemented as software and stored in memory, such as memory 335. A processor such as controller 335 may receive and execute program instructions from memory 335, for example. The provisioning module may either retrieve the DHCP address from the request itself, or from an external source such the DHCP server or network OS. The provisioning module may access the OS identifier list and retrieve an OS identifier associated with the server blade identifier. The provisioning module may then use the OS identifier to retrieve the appropriate OS software from the storage system, and send the OS software to the requesting server blade 110.
  • Once [0041] server blade 110 receives the OS software, it may store the OS software in its local memory, such as DRAM 210. The server blade 110 may then execute the OS software and begin execution of the OS.
  • While certain features of the embodiments of the invention have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the embodiments of the invention. [0042]

Claims (30)

1. A modular server system, comprising:
a midplane having a system management bus and a plurality of blade interfaces;
a plurality of server blades connected to said blade interfaces, with each server blade having a server blade system management bus connected to said system management bus; and
a storage blade connected to one of said blade interfaces, said storage blade having a storage blade system management bus connected to said system management bus, said storage blade to store operating system (OS) software for said plurality of server blades.
2. The modular server system of claim 1, wherein each server blade comprises a provisioning module to provision each server blade with said OS software.
3. The modular server system of claim 1, wherein said storage blade comprises:
a hard disk drive;
a hard disk drive controller; and
a provisioning module to provision each server blade with said OS software.
4. The modular server system of claim 3, wherein said hard disk drive is one of a plurality of hard disk drives configured as a redundant array of independent discs (RAID) system.
5. The modular server system of claim 4, wherein said RAID system is a level five RAID system.
6. The modular server system of claim 4, wherein said RAID system includes a compact disc read only memory (CD-ROM).
7. The modular server system of claim 4, wherein said provisioning module comprises:
a connection module to create a connection with a server blade;
an identification module to determine an identifier for said server blade;
a search module to retrieve an OS identifier associated with said server blade identifier; and
a loading module to retrieve an OS associated with said OS identifier from said RAID system and load said identified server blade with said OS.
8. The modular server system of claim 7, wherein a plurality of server blades use a same OS.
9. The modular server system of claim 7, wherein a plurality of server blades use a different OS.
10. A storage blade, comprising:
a hard disk drive;
a hard disk drive controller; and
a provisioning module to provision a plurality of server blades with OS software stored on said hard disk drive.
11. The storage blade of claim 10, wherein said hard disk drive is one of a plurality of hard disk drives configured as a redundant array of independent discs (RAID) system.
12. The storage blade of claim 11, wherein said hard disk drive controller is a RAID controller.
13. The storage blade of claim 12, wherein said RAID system is a level five RAID system.
14. The storage blade of claim 13, wherein said RAID system includes a compact disc read only memory (CD-ROM).
15. The storage blade of claim 13, wherein said provisioning module comprises:
a connection module to create a connection with a server blade;
an identification module to determine an identifier for said server blade;
a search module to retrieve an OS identifier associated with said server blade identifier; and
a loading module to retrieve an OS associated with said OS identifier from said RAID system and load said identified server blade with said OS.
16. A method to provision a plurality of servers, comprising:
receiving a request to load an operating system (OS) from each of a plurality of server blades;
determining an identifier for each of said plurality of server blades;
searching for an OS identifier associated with said server blade identifier;
retrieving an OS from a storage system using said OS identifier; and
loading each server blade with its retrieved OS.
17. The method of claim 16, wherein said receiving comprises:
creating a connection between each of said server blades and said storage system; and
receiving said request over said connection.
18. The method of claim 16, wherein said determining comprises receiving said server blade identifier with said request from each server blade.
19. The method of claim 16, wherein said server blade identifier is a dynamic host configuration protocol (DHCP) address.
20. The method of claim 16, wherein said searching comprises searching for said OS identifier in an OS identifier list.
21. A method to provision a plurality of servers, comprising:
creating a connection with a storage blade, said storage blade having a plurality of operating system (OS) software;
sending a request to provision said server blade with one of said OS software; and
receiving OS software in response to said request.
22. The method of claim 21, wherein said request includes a server blade identifier and an OS identifier.
23. The method of claim 21, wherein said server blade identifier is a dynamic host configuration protocol (DHCP) address.
24. The method of claim 21, further comprising:
receiving said request at said storage blade;
identifying an OS for said server blade using said OS identifier; and
sending said OS to said server blade over said connection.
25. The method of claim 21, further comprising:
storing said OS software in memory; and
executing said OS software.
26. An article comprising:
a storage medium;
said storage medium including stored instructions that, when executed by a processor, result in provisioning a plurality of servers by receiving a request to load an operating system (OS) from each of a plurality of server blades, determining an identifier for each of said plurality of server blades, searching for an OS identifier associated with said server blade identifier, retrieving an OS from a storage system using said OS identifier, and loading each server blade with its retrieved OS.
27. The article of claim 26, wherein the stored instructions, when executed by a processor, further result in said receiving by creating a connection between each of said server blades and said storage system, and receiving said request over said connection.
28. The article of claim 26, wherein the stored instructions, when executed by a processor, further result in said determining by receiving said server blade identifier with said request from each server blade.
29. An article comprising:
a storage medium;
said storage medium including stored instructions that, when executed by a processor, result in provisioning a plurality of servers by creating a connection with a storage blade, said storage blade having a plurality of operating system (OS) software, sending a request to provision said server blade with one of said OS software, and receiving OS software in response to said request.
30. The article of claim 29, wherein the stored instructions, when executed by a processor, further result in receiving said request at said storage blade, identifying an OS for said server blade using said OS identifier, and sending said OS to said server blade over said connection.
US10/455,969 2001-11-20 2003-06-05 Common boot environment for a modular server system Abandoned US20030210521A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/455,969 US20030210521A1 (en) 2001-11-20 2003-06-05 Common boot environment for a modular server system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/086,410 US6904482B2 (en) 2001-11-20 2001-11-20 Common boot environment for a modular server system
US10/455,969 US20030210521A1 (en) 2001-11-20 2003-06-05 Common boot environment for a modular server system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/086,410 Division US6904482B2 (en) 2001-11-20 2001-11-20 Common boot environment for a modular server system

Publications (1)

Publication Number Publication Date
US20030210521A1 true US20030210521A1 (en) 2003-11-13

Family

ID=22198387

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/086,410 Expired - Lifetime US6904482B2 (en) 2001-11-20 2001-11-20 Common boot environment for a modular server system
US10/455,969 Abandoned US20030210521A1 (en) 2001-11-20 2003-06-05 Common boot environment for a modular server system
US10/456,459 Expired - Fee Related US7457127B2 (en) 2001-11-20 2003-06-05 Common boot environment for a modular server system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/086,410 Expired - Lifetime US6904482B2 (en) 2001-11-20 2001-11-20 Common boot environment for a modular server system

Family Applications After (1)

Application Number Title Priority Date Filing Date
US10/456,459 Expired - Fee Related US7457127B2 (en) 2001-11-20 2003-06-05 Common boot environment for a modular server system

Country Status (8)

Country Link
US (3) US6904482B2 (en)
CN (1) CN1300685C (en)
AU (1) AU2002362006A1 (en)
DE (1) DE10297465T5 (en)
GB (1) GB2397924B (en)
HK (1) HK1063363A1 (en)
TW (1) TW591413B (en)
WO (1) WO2003044666A2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064534A1 (en) * 2004-09-23 2006-03-23 Lanus Mark S Computing blade having a USB interface module
US20080165490A1 (en) * 2007-01-09 2008-07-10 Buckland Patrick A Technique to support multiple forms of sas dasd
US20090199018A1 (en) * 2008-01-31 2009-08-06 Microsoft Corporation One time settable tamper resistant software repository
CN101625642B (en) * 2008-07-07 2012-06-06 李锦峰 Disk management system and method
US20130170129A1 (en) * 2011-11-10 2013-07-04 Jason A. Sullivan Systems and methods for providing a dynamic electronic storage unit
US8976513B2 (en) 2002-10-22 2015-03-10 Jason A. Sullivan Systems and methods for providing a robust computer processing unit
US9606577B2 (en) 2002-10-22 2017-03-28 Atd Ventures Llc Systems and methods for providing a dynamically modular processing unit
US9961788B2 (en) 2002-10-22 2018-05-01 Atd Ventures, Llc Non-peripherals processing control module having improved heat dissipating properties

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127798B1 (en) 2003-04-04 2006-10-31 Network Appliance Inc. Method for converting disk drive storage enclosure into a standalone network storage system
US7506127B2 (en) * 2001-12-21 2009-03-17 Network Appliance, Inc. Reconfiguration of storage system including multiple mass storage devices
KR100431349B1 (en) * 2002-03-27 2004-05-12 삼성전자주식회사 networking computer and power controlling method for IDE disk therefor
US6848034B2 (en) * 2002-04-04 2005-01-25 International Business Machines Corporation Dense server environment that shares an IDE drive
US7398293B2 (en) * 2002-04-17 2008-07-08 Dell Products L.P. System and method for using a shared bus for video communications
US7216258B2 (en) * 2002-05-17 2007-05-08 Xiotech Corporation Method and apparatus for recovering from a non-fatal fault during background operations
US7124163B2 (en) * 2002-05-24 2006-10-17 Convedia Corporation Data server
US7013385B2 (en) * 2002-06-04 2006-03-14 International Business Machines Corporation Remotely controlled boot settings in a server blade environment
US7539183B2 (en) * 2002-06-24 2009-05-26 Emerson Network Power - Embedded Computing, Inc. Multi-service platform system and method
US6914784B1 (en) * 2002-06-26 2005-07-05 Emc Corporation Data storage system cabinet
US6944702B1 (en) 2002-06-26 2005-09-13 Emc Corporation Data storage system
US6934158B1 (en) 2002-06-26 2005-08-23 Emc Corp Disk drive system for a data storage system
US7415519B2 (en) * 2002-06-28 2008-08-19 Lenovo (Singapore) Pte. Ltd. System and method for prevention of boot storms in a computer network
US20040100908A1 (en) * 2002-11-27 2004-05-27 Khosravi Hormuzd M. Method and apparatus to provide IP QoS in a router having a non-monolithic design
US7583591B2 (en) * 2002-12-08 2009-09-01 Intel Corporation Facilitating communications with clustered servers
US7181604B2 (en) * 2003-02-13 2007-02-20 Sun Microsystems, Inc. Method and apparatus for configuring the boot options of a multi-domain system
US7966422B2 (en) * 2003-02-18 2011-06-21 Broadcom Corporation System and method for communicating between servers using a multi-server platform
US20040199719A1 (en) * 2003-04-04 2004-10-07 Network Appliance, Inc. Standalone newtork storage system enclosure including head and multiple disk drives connected to a passive backplane
US7334064B2 (en) 2003-04-23 2008-02-19 Dot Hill Systems Corporation Application server blade for embedded storage appliance
US7401254B2 (en) * 2003-04-23 2008-07-15 Dot Hill Systems Corporation Apparatus and method for a server deterministically killing a redundant server integrated within the same network storage appliance chassis
US7565566B2 (en) * 2003-04-23 2009-07-21 Dot Hill Systems Corporation Network storage appliance with an integrated switch
US7627780B2 (en) * 2003-04-23 2009-12-01 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in a network storage appliance
WO2004098715A2 (en) * 2003-05-02 2004-11-18 Op-D-Op, Inc. Lightweight ventilated face shield frame
JP4060235B2 (en) 2003-05-22 2008-03-12 株式会社日立製作所 Disk array device and disk array device control method
JP2004348464A (en) * 2003-05-22 2004-12-09 Hitachi Ltd Storage device and communication signal shaping circuit
US7143279B2 (en) * 2003-05-29 2006-11-28 Intel Corporation Dynamic BIOS execution and concurrent update for a blade server
US7082527B2 (en) * 2003-06-11 2006-07-25 Intel Corporation Method and system for rapid repurposing of machines in a clustered, scale-out environment
US7440998B2 (en) * 2003-06-18 2008-10-21 Intel Corporation Provisioning for a modular server
US8843604B2 (en) * 2003-06-19 2014-09-23 International Business Machines Corporation Method for interlocking a server to a server system and a computer system utilizing the same
US7499988B2 (en) * 2003-10-16 2009-03-03 International Business Machines Corporation Method for SAN-based BOS install volume group
JP4156499B2 (en) * 2003-11-28 2008-09-24 株式会社日立製作所 Disk array device
JP4497918B2 (en) * 2003-12-25 2010-07-07 株式会社日立製作所 Storage system
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US7280371B2 (en) * 2004-01-16 2007-10-09 Hewlett-Packard Development Company, L.P. Multistage mounting printed circuit board system and method
JP4634049B2 (en) 2004-02-04 2011-02-16 株式会社日立製作所 Error notification control in disk array system
US7451302B2 (en) * 2004-03-10 2008-11-11 Hewlett-Packard Development Company, L.P. System and method for managing configuration data for a multi-cell computer system
US20050235055A1 (en) * 2004-04-15 2005-10-20 Raytheon Company Graphical user interface for managing HPC clusters
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US7711977B2 (en) * 2004-04-15 2010-05-04 Raytheon Company System and method for detecting and managing HPC node failure
US8190714B2 (en) * 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US7475274B2 (en) * 2004-11-17 2009-01-06 Raytheon Company Fault tolerance and recovery in a high-performance computing (HPC) system
US20060136704A1 (en) * 2004-12-17 2006-06-22 International Business Machines Corporation System and method for selectively installing an operating system to be remotely booted within a storage area network
US7269723B2 (en) * 2005-01-19 2007-09-11 International Business Machines Corporation Reducing the boot time of a client device in a client device/data center environment
US20060161972A1 (en) * 2005-01-19 2006-07-20 Cromer Daryl C System and method for license management in blade server system
US7386745B2 (en) * 2005-01-19 2008-06-10 International Business Machines Corporation Enabling a client device in a client device/data center environment to resume from a sleep state more quickly
US7363514B1 (en) 2005-02-01 2008-04-22 Sun Microsystems, Inc. Storage area network(SAN) booting method
US7330965B2 (en) 2005-02-09 2008-02-12 International Business Machines Corporation Multi-tiered boot list
US7350068B2 (en) * 2005-04-22 2008-03-25 International Business Machines Corporation Server blade network boot method that minimizes required network bandwidth
US20070016636A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. Methods and systems for data transfer and notification mechanisms
US20070038703A1 (en) * 2005-07-14 2007-02-15 Yahoo! Inc. Content router gateway
US7623515B2 (en) * 2005-07-14 2009-11-24 Yahoo! Inc. Content router notification
US20070014307A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. Content router forwarding
US20070014277A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. Content router repository
US7631045B2 (en) * 2005-07-14 2009-12-08 Yahoo! Inc. Content router asynchronous exchange
US7849199B2 (en) * 2005-07-14 2010-12-07 Yahoo ! Inc. Content router
US7873696B2 (en) * 2005-10-28 2011-01-18 Yahoo! Inc. Scalable software blade architecture
US7870288B2 (en) * 2005-10-28 2011-01-11 Yahoo! Inc. Sharing data in scalable software blade architecture
US7779157B2 (en) * 2005-10-28 2010-08-17 Yahoo! Inc. Recovering a blade in scalable software blade architecture
US8024290B2 (en) 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
US8065680B2 (en) * 2005-11-15 2011-11-22 Yahoo! Inc. Data gateway for jobs management based on a persistent job table and a server table
US9367832B2 (en) * 2006-01-04 2016-06-14 Yahoo! Inc. Synchronizing image data among applications and devices
US7584325B2 (en) * 2006-07-26 2009-09-01 International Business Machines Corporation Apparatus, system, and method for providing a RAID storage system in a processor blade enclosure
US20080034008A1 (en) * 2006-08-03 2008-02-07 Yahoo! Inc. User side database
US20080123278A1 (en) * 2006-11-03 2008-05-29 International Business Machines Corporation Slot availability indication system and method for indicating slot availability
US20080140930A1 (en) * 2006-12-08 2008-06-12 Emulex Design & Manufacturing Corporation Virtual drive mapping
US20080270629A1 (en) * 2007-04-27 2008-10-30 Yahoo! Inc. Data snychronization and device handling using sequence numbers
JP2008305073A (en) * 2007-06-06 2008-12-18 Hitachi Ltd File sharing system and method of starting file sharing device
US8670241B2 (en) * 2007-06-13 2014-03-11 Hewlett-Packard Development Company, L.P. Blade device enclosure
US20090055639A1 (en) * 2007-08-20 2009-02-26 Kimmo Kuusilinna Methods and system for modular device booting
US7677900B2 (en) * 2007-09-17 2010-03-16 Fci Americas Technology, Inc. Back-to-back mounted electrical connectors
US8078865B2 (en) * 2007-11-20 2011-12-13 Dell Products L.P. Systems and methods for configuring out-of-band bios settings
US8152452B2 (en) * 2007-11-21 2012-04-10 Liebert Corporation Computer room environmental conditioning unit with translatable blowers
US7987353B2 (en) * 2008-01-09 2011-07-26 International Business Machines Corporation Remote BIOS for servers and blades
US7686619B2 (en) * 2008-01-17 2010-03-30 International Business Machines Corporation Apparatus, system, and method for a configurable blade card
WO2009096944A1 (en) * 2008-01-28 2009-08-06 Hewlett-Packard Development Company, L.P. Deployment of boot images in diskless servers
US8161315B2 (en) * 2008-04-30 2012-04-17 International Business Machines Corporation Implementation of sparing policies for servers
US7743124B2 (en) * 2008-04-30 2010-06-22 International Business Machines Corporation System using vital product data and map for selecting a BIOS and an OS for a server prior to an application of power
US7840656B2 (en) * 2008-04-30 2010-11-23 International Business Machines Corporation Policy control architecture for blade servers upon inserting into server chassis
CN103257949B (en) * 2008-06-19 2016-08-31 惠普开发有限公司 Multi-blade interconnector
CN102067101B (en) * 2008-06-20 2013-07-24 惠普开发有限公司 Low level initializer
US7715182B2 (en) * 2008-07-03 2010-05-11 Lsi Corporation Drive box
US8091224B2 (en) * 2008-10-06 2012-01-10 GE Intelligent Platforms Embedded Systems, Inc. Method for coupling a battery within an embedded system
TWI417738B (en) * 2010-08-06 2013-12-01 Inventec Corp A server system
US8438324B2 (en) * 2011-02-01 2013-05-07 Taejin Info Tech Co., Ltd. RAID-based storage control board having fibre channel interface controller
US8484400B2 (en) * 2011-02-01 2013-07-09 Taejin Info Tech Co., Ltd. Raid-based storage control board
KR101956574B1 (en) * 2012-02-24 2019-03-11 삼성전자주식회사 Apparatus and method for identifying operating system of host device in portable terminal
CN110198340B (en) * 2019-04-18 2021-04-06 视联动力信息技术股份有限公司 Management system, method and device of mobile terminal and storage medium
CN114730281A (en) * 2019-11-26 2022-07-08 微芯片技术股份有限公司 Timer circuits with pin autonomous floating and related systems, methods, and apparatus

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291479A (en) * 1991-07-16 1994-03-01 Digital Technics, Inc. Modular user programmable telecommunications system with distributed processing
US5835735A (en) * 1995-03-03 1998-11-10 Eastman Kodak Company Method for negotiating software compatibility
US5971804A (en) * 1997-06-30 1999-10-26 Emc Corporation Backplane having strip transmission line ethernet bus
US6016252A (en) * 1997-06-30 2000-01-18 Emc Corporation Cable management system
US6178503B1 (en) * 1998-09-11 2001-01-23 Powerquest Corporation Managing multiple operating systems on a single computer
US20010011314A1 (en) * 1997-06-30 2001-08-02 Brian Gallagher Data server with hot replaceable processing unit modules
US6389499B1 (en) * 1999-06-09 2002-05-14 Western Digital Ventures, Inc. Integrated computer module
US6392884B1 (en) * 2000-08-01 2002-05-21 Shin Jiuh Corp. Housing assembly for extractable redundant array of independent disks
US6411506B1 (en) * 2000-07-20 2002-06-25 Rlx Technologies, Inc. High density web server chassis system and method
US6483107B1 (en) * 1999-05-11 2002-11-19 Josef Rabinovitz Canister having a combined guide rail and light pipe system for use in a computer peripheral enclosure
US20030031189A1 (en) * 2001-08-07 2003-02-13 Larson Thane M. Server system with segregated management LAN and payload LAN
US6532538B1 (en) * 2000-02-17 2003-03-11 International Business Machines Corporation Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US6536669B2 (en) * 2000-12-19 2003-03-25 Intel Corporation Method of componentizing an inventory scanner and providing a plug-in architecture
US20030090878A1 (en) * 2001-11-09 2003-05-15 Dell Products L.P. System and method for utilizing system configurations in a modular computer system
US6747878B1 (en) * 2000-07-20 2004-06-08 Rlx Technologies, Inc. Data I/O management system and method
US6778386B2 (en) * 2001-08-10 2004-08-17 Sun Microsystems, Inc. Cooling computer systems
US6810398B2 (en) * 2000-11-06 2004-10-26 Avamar Technologies, Inc. System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3165801A (en) 1999-12-31 2001-07-16 Realscale Technologies Inc. A server module and a distributed server-based internet access scheme and methodof operating the same
US6325636B1 (en) * 2000-07-20 2001-12-04 Rlx Technologies, Inc. Passive midplane for coupling web server processing cards with a network interface(s)
US20020094706A1 (en) * 2001-01-17 2002-07-18 James Britton Apparatus for interconnecting components in a thin profile computer system
US6934904B2 (en) * 2001-04-30 2005-08-23 Sun Microsystems, Inc. Data integrity error handling in a redundant storage array
US6928578B2 (en) * 2001-05-10 2005-08-09 International Business Machines Corporation System, method, and computer program for selectable or programmable data consistency checking methodology
US6993677B1 (en) * 2001-06-14 2006-01-31 Lsi Logic Corporation System and method for data verification in a RAID system

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291479A (en) * 1991-07-16 1994-03-01 Digital Technics, Inc. Modular user programmable telecommunications system with distributed processing
US5835735A (en) * 1995-03-03 1998-11-10 Eastman Kodak Company Method for negotiating software compatibility
US5971804A (en) * 1997-06-30 1999-10-26 Emc Corporation Backplane having strip transmission line ethernet bus
US6016252A (en) * 1997-06-30 2000-01-18 Emc Corporation Cable management system
US6157534A (en) * 1997-06-30 2000-12-05 Emc Corporation Backplane having strip transmission line ethernet bus
US20010011314A1 (en) * 1997-06-30 2001-08-02 Brian Gallagher Data server with hot replaceable processing unit modules
US6178503B1 (en) * 1998-09-11 2001-01-23 Powerquest Corporation Managing multiple operating systems on a single computer
US6483107B1 (en) * 1999-05-11 2002-11-19 Josef Rabinovitz Canister having a combined guide rail and light pipe system for use in a computer peripheral enclosure
US6906918B2 (en) * 1999-05-11 2005-06-14 Josef Rabinovitz Enclosure for computer peripheral devices
US6389499B1 (en) * 1999-06-09 2002-05-14 Western Digital Ventures, Inc. Integrated computer module
US6532538B1 (en) * 2000-02-17 2003-03-11 International Business Machines Corporation Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US6411506B1 (en) * 2000-07-20 2002-06-25 Rlx Technologies, Inc. High density web server chassis system and method
US6747878B1 (en) * 2000-07-20 2004-06-08 Rlx Technologies, Inc. Data I/O management system and method
US6392884B1 (en) * 2000-08-01 2002-05-21 Shin Jiuh Corp. Housing assembly for extractable redundant array of independent disks
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US6810398B2 (en) * 2000-11-06 2004-10-26 Avamar Technologies, Inc. System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences
US6536669B2 (en) * 2000-12-19 2003-03-25 Intel Corporation Method of componentizing an inventory scanner and providing a plug-in architecture
US20030031189A1 (en) * 2001-08-07 2003-02-13 Larson Thane M. Server system with segregated management LAN and payload LAN
US6778386B2 (en) * 2001-08-10 2004-08-17 Sun Microsystems, Inc. Cooling computer systems
US20030090878A1 (en) * 2001-11-09 2003-05-15 Dell Products L.P. System and method for utilizing system configurations in a modular computer system

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8976513B2 (en) 2002-10-22 2015-03-10 Jason A. Sullivan Systems and methods for providing a robust computer processing unit
US9606577B2 (en) 2002-10-22 2017-03-28 Atd Ventures Llc Systems and methods for providing a dynamically modular processing unit
US9961788B2 (en) 2002-10-22 2018-05-01 Atd Ventures, Llc Non-peripherals processing control module having improved heat dissipating properties
US10285293B2 (en) 2002-10-22 2019-05-07 Atd Ventures, Llc Systems and methods for providing a robust computer processing unit
US10849245B2 (en) 2002-10-22 2020-11-24 Atd Ventures, Llc Systems and methods for providing a robust computer processing unit
US11751350B2 (en) 2002-10-22 2023-09-05 Atd Ventures, Llc Systems and methods for providing a robust computer processing unit
US20060064534A1 (en) * 2004-09-23 2006-03-23 Lanus Mark S Computing blade having a USB interface module
US20080165490A1 (en) * 2007-01-09 2008-07-10 Buckland Patrick A Technique to support multiple forms of sas dasd
US20090199018A1 (en) * 2008-01-31 2009-08-06 Microsoft Corporation One time settable tamper resistant software repository
US8661234B2 (en) * 2008-01-31 2014-02-25 Microsoft Corporation Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities
CN101625642B (en) * 2008-07-07 2012-06-06 李锦峰 Disk management system and method
US20130170129A1 (en) * 2011-11-10 2013-07-04 Jason A. Sullivan Systems and methods for providing a dynamic electronic storage unit

Also Published As

Publication number Publication date
HK1063363A1 (en) 2004-12-24
GB2397924B (en) 2006-05-31
GB0412062D0 (en) 2004-06-30
AU2002362006A1 (en) 2003-06-10
US20030097487A1 (en) 2003-05-22
TW200301428A (en) 2003-07-01
CN1592889A (en) 2005-03-09
TW591413B (en) 2004-06-11
DE10297465T5 (en) 2004-11-04
US6904482B2 (en) 2005-06-07
US7457127B2 (en) 2008-11-25
WO2003044666A3 (en) 2004-06-17
CN1300685C (en) 2007-02-14
GB2397924A (en) 2004-08-04
WO2003044666A2 (en) 2003-05-30
US20030210522A1 (en) 2003-11-13
AU2002362006A8 (en) 2003-06-10

Similar Documents

Publication Publication Date Title
US6904482B2 (en) Common boot environment for a modular server system
US7222339B2 (en) Method for distributed update of firmware across a clustered platform infrastructure
US7755881B2 (en) Modular server architecture with Ethernet routed across a backplane utilizing an integrated Ethernet switch module
EP1636696B1 (en) Os agnostic resource sharing across multiple computing platforms
US8140871B2 (en) Wake on Lan for blade server
US6950895B2 (en) Modular server architecture
US7676618B2 (en) Controlling resource transfers in a logically partitioned computer system
WO2007096350A1 (en) Dynamic resource allocation for disparate application performance requirements
US7480720B2 (en) Method and system for load balancing switch modules in a server system and a computer system utilizing the same
US7783807B2 (en) Controlling resource transfers in a logically partitioned computer system
EP1414217B1 (en) System and method for DHCP client-ID generation

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

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