WO2014076842A1 - 情報処理装置、プログラムおよびログ出力方法 - Google Patents

情報処理装置、プログラムおよびログ出力方法 Download PDF

Info

Publication number
WO2014076842A1
WO2014076842A1 PCT/JP2012/079953 JP2012079953W WO2014076842A1 WO 2014076842 A1 WO2014076842 A1 WO 2014076842A1 JP 2012079953 W JP2012079953 W JP 2012079953W WO 2014076842 A1 WO2014076842 A1 WO 2014076842A1
Authority
WO
WIPO (PCT)
Prior art keywords
pci
information
devices
peripheral
peripheral device
Prior art date
Application number
PCT/JP2012/079953
Other languages
English (en)
French (fr)
Inventor
竹内 保
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2012/079953 priority Critical patent/WO2014076842A1/ja
Priority to JP2014546829A priority patent/JP6070718B2/ja
Publication of WO2014076842A1 publication Critical patent/WO2014076842A1/ja
Priority to US14/714,384 priority patent/US9785599B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • G06F1/181Enclosures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/4411Configuring for operating with peripheral devices; Loading of device drivers

Definitions

  • the present invention relates to an information processing apparatus, a program, and a log output method.
  • peripheral devices such as computers are used.
  • Some information processing devices can be expanded in function by adding peripheral devices.
  • the operation of the peripheral device is controlled by an arithmetic device that performs arithmetic processing.
  • the peripheral device can be added inside or outside the information processing apparatus.
  • a peripheral device can be attached to or detached from a predetermined interface (sometimes referred to as an expansion slot) provided in the information processing apparatus. Examples of the interface include PCI (Peripheral Component Interconnect), PCI-X, and PCIe (PCI Express, registered trademark).
  • PCI Peripheral Component Interconnect
  • PCI-X PCI-X
  • PCIe PCI Express
  • a method for supporting the maintenance of peripheral devices is considered. For example, when an I / O card expansion device capable of mounting a plurality of I / O (Input / Output) cards is connected to a computer and used, the slot position of the failed I / O card in the I / O card expansion device There is a proposal to notify the maintenance staff of the slot position by causing the light source to emit light.
  • I / O card expansion device capable of mounting a plurality of I / O (Input / Output) cards
  • each printed wiring board sequentially transmits information on the mounting position to the printed wiring board at the upper connection position, and the printed wiring board at the highest connection position.
  • a plurality of devices for example, arithmetic devices
  • peripheral devices may be provided in one information processing device.
  • a plurality of groups of arithmetic devices and peripheral devices used by the arithmetic devices can be realized in one information processing device.
  • the combination of the arithmetic device and the peripheral device can be changed as appropriate.
  • a failure occurs in the peripheral device, there is a problem that it is not easy to grasp the mounting position of the peripheral device in the information processing apparatus.
  • the position information of the peripheral device in the log output by the device using the peripheral device.
  • the correspondence between the identification information of the peripheral device and the mounting position may be registered in the information processing device by hard coding and used for providing the location.
  • the identification information given to the peripheral device can change depending on the combination of the peripheral device and the device using the peripheral device. For example, in PCI, if a device connected to a higher level changes even in the same peripheral device, the identification information can be changed by an operating system or the like that operates on the higher level device. For this reason, the identification information originally assigned to the peripheral device may be different at different times. That is, even if the correspondence between the identification information of the peripheral device and the position information is registered in advance, the correspondence is not always established from beginning to end.
  • an object of the present invention is to provide an information processing apparatus, a program, and a log output method that can appropriately provide the position of a peripheral device.
  • an information processing apparatus that includes a plurality of devices and a plurality of peripheral devices that can be used by the plurality of devices, and that can change the peripheral devices used by each of the plurality of devices.
  • This information processing apparatus includes a storage unit and a calculation unit.
  • the storage unit includes information indicating a correspondence relationship between the plurality of devices and the plurality of peripheral devices, identification information given by the device to the peripheral device used by any device, and information indicating the position of the peripheral device. Management information including information indicating the corresponding relationship is stored.
  • the arithmetic unit When the arithmetic unit receives a notification that the identification information of the peripheral device has been changed from a device using the peripheral device, the arithmetic unit updates the management information according to the content of the change, and any device outputs a log related to the peripheral device When the peripheral device identification information is acquired from the device, the information indicating the position of the peripheral device is provided to the device with reference to the management information.
  • a program that is executed by a computer that includes a plurality of devices and a plurality of peripheral devices that can be used by the plurality of devices, and that can change the peripheral devices used by each of the plurality of devices.
  • the program includes a plurality of devices and a plurality of peripheral devices.
  • Management information including information indicating the correspondence between the identification information and information indicating the correspondence between the identification information and the information indicating the position of the peripheral device is updated according to the content of the change, and any device logs a log relating to the peripheral device.
  • the peripheral device identification information is acquired from the device at the time of output, the management information is referred to and information indicating the location of the peripheral device is provided to the device, and processing is executed.
  • log output executed by an information processing apparatus that includes a plurality of devices and a plurality of peripheral devices that can be used by the plurality of devices, and that can change the peripheral devices used by each of the plurality of devices.
  • the information processing apparatus when the information processing apparatus receives a notification from the apparatus that the identification information given by the apparatus has been changed to the peripheral apparatus used by any apparatus, the information processing apparatus Management information including information indicating the correspondence relationship with the peripheral device and information indicating the correspondence relationship between the identification information and the position information of the peripheral device is updated according to the content of the change, and any device is
  • the peripheral device identification information is acquired from the device when outputting the log regarding the device, information indicating the position of the peripheral device is provided to the device with reference to the management information.
  • the position of the peripheral device can be appropriately provided.
  • FIG. 1 is a diagram illustrating the information processing apparatus according to the first embodiment.
  • the information processing device 1 includes a management device 2, devices 3 and 4, and peripheral devices 5, 6, 7, and 8.
  • the management device 2 manages the operations of the devices 3 and 4 and the peripheral devices 5, 6, 7 and 8.
  • the devices 3 and 4 can use the peripheral devices 5, 6, 7 and 8.
  • the devices 3 and 4 can appropriately change which peripheral device is used. It may be changed while the devices 3 and 4 are stopped, or may be changed while the devices 3 and 4 are operating.
  • Peripheral devices 5, 6, 7, and 8 are devices for function expansion with respect to information processing device 1.
  • the peripheral device 5 is provided at the position A.
  • the peripheral device 6 is provided at the position B.
  • the peripheral device 7 is provided at the position C.
  • the peripheral device 8 is provided at the position D.
  • the positions A, B, C, and D may be positions inside the information processing apparatus 1 or may be positions outside.
  • the internal position is, for example, the position of an expansion slot built in the information processing apparatus 1.
  • the external position is, for example, the position of the expansion slot in the external device connected externally to the information processing device 1.
  • Management device 2 devices 3, 4 and peripheral devices 5, 6, 7, 8 are connected via a bus in information processing device 1.
  • the information processing device 1 changes the logical connection relationship between the devices 3 and 4 and the peripheral devices 5, 6, 7, and 8 via the bus, so that the peripheral device 5 used by the devices 3 and 4. , 6, 7 and 8 may be changed.
  • the management device 2 may control switching of the logical connection relationship.
  • the management device 2 includes a storage unit 2a and a calculation unit 2b.
  • the storage unit 2a may be a memory such as a RAM (Random Access Memory).
  • the computing unit 2b may be a processor such as a CPU (Central Processing Unit).
  • the information processing of the first embodiment may be realized by the calculation unit 2b executing the program stored in the storage unit 2a.
  • the storage unit 2a stores management information.
  • the management information includes information indicating the correspondence between the devices 3 and 4 and the peripheral devices 5, 6, 7, and 8.
  • peripheral devices 5 and 6 are associated with the device 3.
  • Peripheral devices 7 and 8 are associated with the device 4. That is, the device 3 uses the peripheral devices 5 and 6.
  • the device 4 uses peripheral devices 7 and 8.
  • the management information includes information indicating the correspondence between the identification information given to the peripheral devices 5 and 6 used by the device 3 by the device 3 and the information indicating the positions of the peripheral devices 5 and 6.
  • the management information includes information indicating the correspondence between the identification information given by the device 4 to the peripheral devices 7 and 8 used by the device 4 and the information indicating the positions of the peripheral devices 7 and 8.
  • the identification information may be provided by a BIOS (Basic Input / Output System) or an OS (Operating System) operating on the devices 3 and 4.
  • BIOS Basic Input / Output System
  • OS Operating System
  • the BIOS and OS can give identification information that combines a bus number, a device number, and the like to each peripheral device.
  • the correspondence includes the following correspondences (1) to (4).
  • the calculation unit 2b When the calculation unit 2b receives a notification that the identification information of the peripheral device has been changed from the device using the peripheral device, the calculation unit 2b updates the management information stored in the storage unit 2a according to the content of the change. For example, it is assumed that the peripheral device 6 used by the device 3 is released from the logical connection with the device 3. That is, it is assumed that the peripheral device 6 cannot be used from the device 3. Then, for example, the device 3 notifies the management device 2 of deletion of the identification information for the peripheral device 6. In response to the notification, the calculation unit 2b deletes the correspondence relationship between the device 3 and the peripheral device 6 from the management information. Further, the information indicating the association (2) is deleted from the management information.
  • the device 4 notifies the management device 2 of addition of identification information for the peripheral device 6.
  • the notification includes identification information given to the peripheral device 6 by the device 4.
  • the device 4 reassigns the identification information of the peripheral devices 6, 7, and 8, the identification information given to the peripheral devices 6, 7, and 8 is included.
  • the identification information of the peripheral device 6 is # 1.
  • the identification information of the peripheral device 7 is # 2.
  • the identification information of the peripheral device 8 is # 3.
  • the computing unit 2b adds the correspondence between the device 4 and the peripheral device 6 to the management information in response to the notification.
  • the computing unit 2b adds (5) the association between the identification information # 1 of the peripheral device 6 given by the device 4 and the information indicating the position B to the management information.
  • the calculation unit 2b rewrites the associations (3) and (4) in the management information as shown in the following (6) and (7), respectively.
  • (6) The association between the identification information # 2 of the peripheral device 7 given by the device 4 and the information indicating the position C.
  • the calculation unit 2b refers to management information and provides information indicating the position of the peripheral device to the device To do. For example, when the calculation unit 2b obtains the identification information # 1 from the device 4 when the device 4 outputs a log related to the peripheral device 6, the calculation unit 2b displays information indicating the position B based on the association (5) of the management information. Provided to apparatus 4.
  • the device 4 can output a log related to the peripheral device 6 including information indicating the position B.
  • the log may be, for example, a message registered in a predetermined log file output by the device 4 or a message displayed on a display device (not shown in FIG. 1) connected to the information processing device 1. .
  • it may be a terminal device used by an administrator or maintenance personnel, a message transmitted to an administrator or maintenance personnel e-mail address, or the like.
  • the management information is updated according to the content of the change.
  • any device outputs a log related to a peripheral device by the computing unit 2b
  • the peripheral device identification information is acquired from the device
  • information indicating the position of the peripheral device is obtained by referring to the management information.
  • the logical connection relationship between the devices 3 and 4 and the peripheral devices 5, 6, 7, and 8 can be changed.
  • the identification information of the peripheral devices 5, 6, 7, and 8 can be changed by the devices 3 and 4. That is, the identification information given by the devices 3 and 4 to the peripheral devices 5, 6, 7, and 8 is not absolute.
  • the peripheral devices 5, 6, 7, and 8 are devices such as PCIe, the BIOS or OS that operates on the devices 3 and 4 reassigns the bus numbers to the peripheral devices 5, 6, 7, and 8, The identification information may be changed.
  • the management device 2 obtains the identification information # 1 assigned to the peripheral device 6 by the device 4. , Information indicating the position C is returned. This is information indicating the position of the peripheral device 7, and is not an appropriate position (correctly, the position B).
  • the information processing apparatus 1 updates the management information following the change in the correspondence between the apparatuses 3 and 4 and the peripheral apparatuses 5, 6, 7, and 8.
  • appropriate positions of the peripheral devices 5, 6, 7, and 8 can be provided to the devices 3 and 4.
  • the devices 3 and 4 can output information indicating the position in a log.
  • the maintenance staff can easily grasp the position of the peripheral device in which the failure has occurred in the information processing device 1 by referring to the logs output by the devices 3 and 4. For this reason, the maintenance staff can quickly start the maintenance work of the peripheral device.
  • FIG. 2 illustrates an information processing system according to the second embodiment.
  • the information processing system according to the second embodiment includes a server 100 and PCI boxes 200 and 200a.
  • the server 100 is connected to the network 10.
  • the network 10 may be a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like.
  • the server 100 is a server computer that executes predetermined business processing.
  • the server 100 includes a front panel 101, system boards (SB: System Board) 110, 110a, a disk drive 120, and HDD (Hard Disk Drive) units 130, 130a.
  • the front panel 101 is a cover that covers the front surface of the server 100.
  • the front panel 101 can be opened and closed. SBs 110 and 110a are housed on the back side of the front panel 101.
  • the SB110 and 110a are arithmetic devices equipped with a CPU and RAM.
  • the disk drive 120 is a drive device that reads a program and data recorded on a portable recording medium.
  • the HDD units 130 and 130a are HDD mounting units.
  • the HDD units 130 and 130a can store a plurality of magnetic disks, SSD (Solid State Drive), and the like.
  • the PCI boxes 200 and 200a are external devices including a plurality of PCIe expansion slots (sometimes referred to as PCI slots).
  • the PCI boxes 200 and 200a are connected to the server 100 via a predetermined interface.
  • FIG. 3 is a diagram illustrating the back of the server according to the second embodiment.
  • the server 100 includes IO (Input / Output) units 140 and 140a, IF (InterFace) boards 150 and 150a, a management board (MMB: ManageMent Board) 160, and a PSU (Power Supply Unit).
  • IO Input / Output
  • IF InterFace
  • MMB ManageMent Board
  • PSU Power Supply Unit
  • the IO units 140 and 140a are units that control input / output of the server 100.
  • the IO units 140 and 140a control data input / output with respect to the HDD units 130 and 130a.
  • the IO units 140 and 140a control data input / output with respect to the IF boards 150 and 150a.
  • the IO units 140 and 140a control data input / output with respect to the PCI boxes 200 and 200a.
  • the IO units 140 and 140a have a plurality of PCI slots (for example, 8 slots).
  • One PCI card can be mounted in one PCI slot.
  • the PCI card 300 can be mounted in one PCI slot of the IO unit 140.
  • a PCI card 300a can be mounted in one PCI slot of the IO unit 140a.
  • the PCI cards 300 and 300a are peripheral devices for the SBs 110 and 110a.
  • the IO units 140 and 140a control data input / output with respect to the PCI cards 300 and 300a.
  • the IO units 140 and 140a can also be called peripheral devices for the SBs 110 and 110a.
  • the IO units 140 and 140a may include an external connection interface (for example, a USB (Universal Serial Bus) port or a VGA (Video Graphics Array) port) for a keyboard, a display, and a mouse (KVM: Keyboard, Video, and Mouse). Good. These interfaces may be provided by the PCI cards 300 and 300a.
  • an external connection interface for example, a USB (Universal Serial Bus) port or a VGA (Video Graphics Array) port
  • VGA Video Graphics Array
  • KVM Keyboard, Video, and Mouse
  • the IF boards 150 and 150a have an interface (for example, PCIe) for accessing the network. Further, the IF boards 150 and 150a have interfaces for accessing the PCI boxes 200 and 200a.
  • the IF board 150 is connected to the PCI box 200 via the cable 11.
  • the IF board 150 is connected to the PCI box 200a via the cable 12.
  • the IF board 150a is connected to the PCI box 200a via the cable 13.
  • the IF board 150 a is connected to the PCI box 200 via the cable 14.
  • the cables 11, 12, 13, and 14 are PCIe external cables, for example.
  • the MMB 160 is a control unit for monitoring the server 100 and managing the connection relationship between the SBs 110 and 110a and peripheral devices.
  • the PSUs 170 and 170a are power supply devices connected to a commercial power supply.
  • the PSUs 170 and 170 a are power supply devices that supply power for driving the server 100 to the entire server 100.
  • the fans 180, 180 a, 180 b, 180 c, 180 d, 180 e, 180 f, and 180 g are cooling devices for cooling the server 100.
  • the PCI boxes 200 and 200a have a plurality of PCI slots (for example, 12 slots).
  • One PCI card can be mounted in one PCI slot.
  • the PCI card 300b can be mounted in one PCI slot of the PCI box 200.
  • the PCI card 300c can be mounted in one PCI slot of the PCI box 200a.
  • the PCI cards 300b and 300c are peripheral devices for the SBs 110 and 110a.
  • the PCI boxes 200 and 200a control data input / output with respect to the PCI cards 300b and 300c.
  • the PCI boxes 200 and 200a can also be called peripheral devices for the SBs 110 and 110a.
  • PCI cards 300, 300a, 300b, and 300c are peripheral devices compatible with PCIe.
  • the PCI cards 300, 300a, 300b, and 300c may be, for example, for expanding ports such as Fiber Channel, LAN, CNA (Converged Network Adapter), SAS (Serial Attached Network Small Computer System Interface).
  • the PCI cards 300, 300a, 300b, and 300c may be provided with an image processing function, an audio processing function, and the like.
  • the PCI cards 300, 300a, 300b, and 300c may extend other functions.
  • the PCI cards 300, 300a, 300b, and 300c may be called PCI cassettes or PCI card cassettes.
  • 300 cards (301, 302,...) are used to indicate PCI cards mounted on the IO unit 140.
  • a PCI card mounted on the IO unit 140a is indicated by using 300a codes (301a, 302a,).
  • a PCI card mounted on the PCI box 200 is indicated by using 300b codes (301b, 302b,).
  • a PCI card mounted on the PCI box 200a is indicated by using 300c codes (301c, 302c,).
  • FIG. 4 is a diagram illustrating an example of hardware according to the second embodiment.
  • the server 100 includes SBs 110 and 110a, a disk drive 120, HDD units 130 and 130a, IO units 140 and 140a, IF boards 150 and 150a, an MMB 160, and an MP (Middle-Plane) 190.
  • the other units shown in FIGS. 2 and 3 are not shown.
  • the SBs 110 and 110a, the disk drive 120, the HDD units 130 and 130a, the IO units 140 and 140a, the IF boards 150 and 150a, and the MMB 160 are the same as the units described in FIGS.
  • the disk drive 120 can read a program or data recorded on the optical disk 15 by using a laser beam or the like.
  • the optical disc 15 for example, a DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), or the like can be used.
  • the disk drive 120 stores programs and data read from the optical disk 15 in the HDDs of the HDD units 130 and 130a and a predetermined memory in accordance with, for example, instructions from the SBs 110 and 110a.
  • the HDD units 130 and 130a store OS and application programs to be executed by the SBs 110 and 110a and various data used for the processing of the SBs 110 and 110a.
  • the IF boards 150 and 150a are connected to the network 10 via a predetermined cable. In FIG. 4, illustration of a part of the connection between the IF boards 150 and 150a and the PCI boxes 200 and 200a is omitted.
  • the MP 190 is a connector unit that connects and connects the SBs 110 and 110a, the disk drive 120, the HDD units 130 and 130a, the IO units 140 and 140a, the IF boards 150 and 150a, and the MMB 160.
  • the SBs 110 and 110a, the disk drive 120, and the HDD units 130 and 130a can be coupled from the front of the server 100.
  • the IO units 140 and 140a, the IF boards 150 and 150a, and the MMB 160 can be coupled from the back of the server 100.
  • FIG. 5 is a diagram illustrating a hardware example of the server according to the second embodiment.
  • the SB 110 includes a processor 111, a RAM 112, and PCI switches 113 and 114.
  • the SB 110a has the same device as the SB 110.
  • the processor 111 controls information processing of the SB 110.
  • the processor 111 may be a multiprocessor.
  • the processor 111 is, for example, a CPU, an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a PLD (Programmable Logic Device).
  • the processor 111 may be a combination of two or more elements of CPU, MPU, DSP, ASIC, FPGA, PLD, and the like.
  • the RAM 112 temporarily stores at least a part of BIOS, OS, and application programs to be executed by the processor 111.
  • the RAM 112 stores various data used for processing by the processor 111.
  • PCI switches 113 and 114 are switch devices that provide a PCIe interface for internal bus connection.
  • the PCI switches 113 and 114 are connected to the MP 190.
  • the PCI switches 113 and 114 relay communication between the processor 111 and the IO units 140 and 140a, the IF boards 150 and 150a, the MMB 160, and the PCI boxes 200 and 200a.
  • the IO unit 140 includes an IO controller 141, a ROM (Read Only Memory) 142, an SVP (SerVice Processor) 143, a memory 144, PCI slots 145, 145a,..., A video controller 146, and an HDD controller 147.
  • the IO unit 140a also has the same device as the IO unit 140.
  • the IO controller 141 is a switch device that aggregates PCIe interfaces and legacy interfaces (for example, an interface for connecting to the ROM 142 and an interface for connecting to the SVP 143).
  • the IO controller 141 also has a PCI switch function.
  • the IO controller 141 may be provided with a VGA port or a USB port and bear the input / output function of the KVM.
  • the IO controller 141 is connected to the MP 190.
  • the IO controller 141 relays communication between the SBs 110 and 110a, the PCI slots 145 and 145a, the video controller 146, and the HDD controller 147.
  • the ROM 142 is a memory for storing a BIOS program and a firmware program.
  • the SBs 110 and 110a can read and execute a program stored in the ROM 142.
  • the SVP 143 is a management processor that collects information about each device of the IO unit 140 and provides it to the MMB 160.
  • a dedicated interface for direct communication between the SVP 143 and the MMB 160 may be provided.
  • the memory 144 is a memory that stores a firmware program to be executed by the SVP 143.
  • PCI slots 145, 145a,... Are slots in which PCI cards can be inserted.
  • the PCI card 301 is inserted in the PCI slot 145.
  • a PCI card 302 is inserted in the PCI slot 145a.
  • PCI cards 301a, 302a,... Are inserted in the PCI slots of the IO unit 140a.
  • the video controller 146 outputs an image to a display (not shown) connected to the server 100 in accordance with instructions from the SBs 110 and 110a.
  • the video controller 146 may be realized by a device that supports PCIe.
  • the HDD controller 147 writes and reads data to and from the HDDs and SSDs installed in the HDD units 130 and 130a in accordance with instructions from the SBs 110 and 110a.
  • the HDD controller 147 may be realized by a device compatible with PCIe.
  • the IF board 150 includes a PCI switch 151, a communication IF 152, and PCI box IFs 153 and 154.
  • the IF board 150a has the same device as the IF board 150.
  • the PCI switch 151 is a switch device that provides a PCIe interface for connecting an internal bus.
  • the PCI switch 151 is connected to the MP 190.
  • the PCI switch 151 relays communication between the SBs 110 and 110a, the communication IF 152, and the PCI box IFs 153 and 154.
  • the communication IF 152 is an interface for connecting to the network 10.
  • the communication IF 152 may be a wired interface or a wireless interface.
  • the PCI box IFs 153 and 154 are interfaces for connecting to the PCI boxes 200 and 200a.
  • the PCI box IFs 153 and 154 may be interfaces corresponding to PCIe.
  • the MMB 160 includes a processor 161, a ROM 162, a RAM 163, and a communication unit 164.
  • the processor 161 controls information processing of the MMB 160.
  • the processor 161 may be a multiprocessor.
  • the processor 161 is, for example, a CPU, MPU, DSP, ASIC, FPGA, or PLD.
  • the processor 161 may be a combination of two or more elements among CPU, MPU, DSP, ASIC, FPGA, PLD, and the like.
  • the ROM 162 is a memory that stores a firmware program to be executed by the processor 161.
  • the ROM 162 stores various data used for processing by the processor 161.
  • the RAM 163 temporarily stores at least a part of a firmware program to be executed by the processor 161.
  • the RAM 163 stores various data used for processing by the processor 161.
  • the communication unit 164 is a device that provides an interface for internal bus connection.
  • the communication unit 164 is connected to the MP 190.
  • the communication unit 164 relays communication between the processor 161 and the SBs 110 and 110a, the IO units 140 and 140a, and the IF boards 150 and 150a.
  • PCI units the SBs 110 and 110a, the IO units 140 and 140a, the IF boards 150 and 150a, and the PCI boxes 200 and 200a may be collectively referred to as “PCI units”.
  • devices such as the PCI switch 113 and the PCI card 301 mounted on each PCI unit may be collectively referred to as “PCI devices”.
  • the PCI unit and the PCI device are both examples of peripheral devices.
  • FIG. 6 is a diagram illustrating a hardware example of the PCI box according to the second embodiment.
  • the PCI box 200 includes a PCI switch 201 and PCI slots 202, 202a,.
  • the PCI box 200 a also has the same PCI device as the PCI box 200.
  • the PCI switch 201 is a PCI device that provides a PCI interface for connecting to the server 100.
  • the PCI switch 201 relays communication between the server 100 and the PCI slots 202, 202a,.
  • PCI slots 202, 202a,... are expansion slots into which PCI cards can be inserted.
  • a PCI card 301b is inserted in the PCI slot 202.
  • a PCI card 302b is inserted in the PCI slot 202a.
  • PCI cards 301c, 302c,... are inserted in the PCI slots of the PCI box 200a.
  • FIG. 7 is a diagram illustrating a connection example of the PCI device according to the second embodiment.
  • FIG. 7 illustrates a logical connection (PCI device tree) of PCI devices with the SB 110 as the highest level.
  • the root complex is incorporated in the processor 111.
  • the IO unit 140 is connected under the SB 110.
  • the IF board 150 is connected under the SB 110.
  • the PCI box 200 is connected under the IF board 150. That is, one group including the SB 110, the IO unit 140, the IF board 150, and the PCI box 200 as elements is realized.
  • each PCI device can be identified using a bus number and a device number.
  • the device number is unique with respect to the bus number. That is, a combination of a bus number and a device number (for example, expressed as “bus number: device number”) is identification information of each PCI device.
  • bus number: device number a combination of a bus number and a device number (for example, expressed as “bus number: device number”) is identification information of each PCI device.
  • bus number: device number for example, expressed as “bus number: device number”
  • the identification information of each PCI device is as follows.
  • the bus directly under the processor 111 in the SB 110 is the bus number “0” (indicated as BUS # 0 in FIG. 7, and so on).
  • the PCI switch 113 has a device number “0” (denoted as dev # 0 in FIG. 7, and so on).
  • the PCI switch 114 has a device number “1”. Therefore, the identification information of the PCI switch 113 is “0: 0”.
  • the identification information of the PCI switch 114 is “0: 1”.
  • the bus directly under the PCI switch 113 is bus number “1”.
  • An IO controller 141 of the IO unit 140 is connected under the PCI switch 113.
  • the IO controller 141 has a device number “0”. Therefore, the identification information of the IO controller 141 is “1: 0”.
  • the bus in the IO controller 141 is bus number “2”.
  • the PCI slots 145, 145a,..., The video controller 146, and the HDD controller 147 are connected to the IO controller 141.
  • the PCI card 301 inserted in the PCI slot 145 has a device number “1”.
  • the PCI card 302 inserted in the PCI slot 145a has a device number “2”. Therefore, the identification information of the PCI card 301 is “2: 1”.
  • the identification information of the PCI card 302 is “2: 2”. Similarly, identification information of other PCI cards is also given.
  • the video controller 146 has a device number “9”. Therefore, the identification information of the video controller 146 is “2: 9”.
  • the HDD controller has a device number “10”. Therefore, the identification information of the HDD controller is “2:10”.
  • the PCI slots 145, 145a,..., The video controller 146 and the HDD controller 147 are mounted at predetermined positions of the IO unit 140. Information indicating this position is called a slot number. If the slot number of the IO unit 140 is known, the PCI device mounted at that position (for example, the PCI card 301 in the case of the PCI slot 145) can be specified.
  • the slot number of the PCI slot 145 is “0” (indicated as slot # 0 in FIG. 7, and so on).
  • the slot number of the PCI slot 145a is “1”.
  • the slot numbers of other PCI slots are assigned in the same manner.
  • the slot number of the video controller 146 is “8”.
  • the slot number of the HDD controller 147 is “9”.
  • the bus directly under the PCI switch 114 is bus number “3”.
  • the PCI switch 151 of the IF board 150 is connected under the PCI switch 114.
  • the PCI switch 151 has a device number “0”. Therefore, the identification information of the PCI switch 151 is “3: 0”.
  • the bus in the PCI switch 151 is bus number “4”.
  • a communication IF 152 and PCI box IFs 153 and 154 are connected to the PCI switch 151.
  • the communication IF 152 has a device number “1”.
  • the PCI box IF 153 has a device number “2”.
  • the PCI box IF 154 has a device number “3”. Therefore, the identification information of the communication IF 152 is “4: 1”.
  • the identification information of the PCI box IF 153 is “4: 2”.
  • the identification information of the PCI box IF 154 is “4: 3”.
  • the bus directly under the PCI box IF153 is bus number “5”.
  • the PCI switch 201 of the PCI box 200 is connected under the PCI box IF 153.
  • the PCI switch 201 has a device number “0”. Therefore, the identification information of the PCI switch 201 is “5: 0”.
  • slot numbers are also assigned to the mounting positions of the communication IF 152 and the PCI box IFs 153 and 154.
  • the slot number of the communication IF 152 is “0”.
  • the slot number of the PCI box IF 153 is “1”.
  • the slot number of the PCI box IF 154 is “2”.
  • the bus in the PCI switch 201 is bus number “6”.
  • PCI slots 202, 202a,... are connected to the PCI switch 201.
  • the PCI slot 202 (or the PCI card 301b inserted in the PCI slot 202) has a device number “1”.
  • the PCI slot 202a (or the PCI card 302b inserted in the PCI slot 202a) has a device number “2”. Therefore, the identification information of the PCI card 301b is “6: 1”.
  • the identification information of the PCI card 302b is “6: 2”. Similarly, identification information of other PCI cards is also given.
  • slot numbers are also assigned to the mounting positions of the PCI slots 202, 202a,.
  • the slot number of the PCI slot 202 is “0”.
  • the slot number of the PCI slot 202a is “1”.
  • the slot numbers of other PCI slots are assigned in the same manner.
  • the device identification information is a combination of a bus number and a device number. However, if a plurality of functions can be used in one device, the device may be managed in function units using identification information further combining function numbers indicating the plurality of functions. In this case, the device is virtually treated as a plurality of devices (however, the corresponding slot number is one). For example, if the video controller 146 has a moving image processing function and an audio processing function, different identification information for each of the image processing function and the audio processing function (identification information having the same bus number and device number but different function numbers). May be managed.
  • FIG. 8 is a diagram illustrating an example of software according to the second embodiment.
  • the functions of the SB 110 illustrated in FIG. 8 may be realized by the processor 111 executing a program stored in the RAM 112.
  • the functions of the MMB 160 illustrated in FIG. 8 may be realized by the processor 161 executing a program stored in the RAM 163.
  • the SB 110a has the same function as the SB 110.
  • the SB 110 includes a BIOS 115, an OS 116, and a notification unit 117.
  • the BIOS 115 controls peripheral devices used by the SB 110.
  • the BIOS 115 performs a predetermined preparation process for using the peripheral device.
  • the BIOS 115 searches for a PCI bus that can be used by the SB 110.
  • the BIOS 115 generates information indicating the PCI device tree shown in FIG. 7 (hereinafter simply referred to as PCI device tree information) based on the search result.
  • the PCI device tree information is, for example, a linked list obtained by combining upper nodes and lower nodes with pointers.
  • the BIOS 115 can communicate with the MMB 160.
  • the BIOS 115 outputs a log related to the peripheral device.
  • the OS 116 is basic software that provides an interface with various hardware for other software such as business applications.
  • the OS 116 initializes the PCI device at the time of startup or when the PCI device is attached or detached. At that time, the OS 116 may change the PCI device tree information generated by the BIOS so as to optimize its own processing. This is because the information generated by the BIOS 115 is not necessarily generated conveniently for the processing of the OS 116.
  • the OS 116 outputs a log related to the peripheral device.
  • the notification unit 117 mediates communication between the OS 116 and the MMB 160.
  • the notification unit 117 provides information acquired by the OS 116 to the MMB 160. Further, the notification unit 117 provides information acquired from the MMB 160 to the OS 116.
  • the MMB 160 has a storage unit 165 and a management unit 166.
  • the storage unit 165 stores information used for the processing of the management unit 166.
  • the information includes information indicating a logical connection setting between PCI units, information for managing a physical position of a slot included in each PCI unit, and the like.
  • the management unit 166 acquires the setting contents of the peripheral device by the BIOS 115 and the OS 116 and stores them in the storage unit 165.
  • the management unit 166 manages the position where each PCI device is mounted based on the information stored in the storage unit 165.
  • the management unit 166 receives an inquiry about the position of any PCI device from the BIOS 115 or the OS 116, the management unit 166 refers to the information stored in the storage unit 165 and provides information indicating the position of the PCI device.
  • FIG. 9 is a diagram illustrating an example of a connection setting table according to the second embodiment.
  • the connection setting table 165a is information defining logical connection settings of the SBs 110 and 110a, the IO units 140 and 140a, the IF boards 150 and 150a, and the PCI boxes 200 and 200a. It can also be referred to as information defining the connection relationship of PCI units.
  • the connection setting table 165a is stored in the storage unit 165.
  • the connection setting table 165a includes items of SB and connection unit.
  • SB identification information is registered in the SB item.
  • Information indicating the IO unit, IF board, and PCI box used by the SB is registered in the connection unit item.
  • the identification information of each PCI unit is, for example, as follows.
  • SB110 is “SB # 0”.
  • the SB 110a is “SB # 1”.
  • the IO unit 140 is “IOU # 0”.
  • the IO unit 140a is “IOU # 1”.
  • the IF board 150 is “IFB # 0”.
  • the IF board 150a is “IFB # 1”.
  • the PCI box 200 is “PCIB # 0”.
  • the PCI box 200a is “PCIB # 1”.
  • connection setting table 165a information that SB is “SB # 0”, the connection unit is “IOU # 0”, “IFB # 0”, and “PCIB # 0” is registered. This indicates that the SB 110, the IO unit 140, the IF board 150, and the PCI box 200 are logically connected to form one group (sometimes referred to as a partition).
  • connection setting table 165a information that the SB is “SB # 1”, the connection unit is “IOU # 1”, and “IFB # 1” is registered in the connection setting table 165a. This indicates that the SB 110a, the IO unit 140a, and the IF board 150a are logically connected to form one group.
  • the identification information of the PCI box 200a is not registered in the connection setting table 165a. This means that the PCI box 200a does not belong to any group and is in a free state.
  • FIG. 10 is a diagram illustrating an example of an apparatus configuration table according to the second embodiment.
  • the device configuration table 165b is information in which the slot position of each PCI unit in the server 100 is associated with a device number.
  • the device configuration table 165b is stored in the storage unit 165.
  • the device configuration table 165b includes items of units, physical positions, and device numbers.
  • the unit item identification information of each PCI unit is registered.
  • the item of physical position information indicating the position of the slot included in the PCI unit and the position of the PCI device is registered.
  • the device number item a device number corresponding to the physical position is registered.
  • information that the unit is “SB # 0”, the physical position is “SB # 0-PCISW # 0”, and the device number is “0” is registered in the device configuration table 165b.
  • the device configuration table 165b information indicating the position of each PCI unit, the slot of the PCI unit, the position of the PCI device, and the device number are associated in advance.
  • FIG. 11 is a diagram illustrating an example of a physical location management table according to the second embodiment.
  • the physical location management table 165 c is generated by the management unit 166 and stored in the storage unit 165.
  • the physical location management table 165c includes items of SB, bus number, device number, upper bus number, and physical location.
  • SB identification information is registered in the SB item.
  • the bus number is registered in the bus number item.
  • a device number is registered in the device number item.
  • the bus number of the upper bus is registered.
  • Information indicating the position of the slot and the position of the PCI device is registered in the item of physical position.
  • the physical location management table 165c includes information that the bus number is “0”, the device number is “0”, the upper bus number is “ ⁇ ” (no setting), and the physical location is “SB # 0-PCISW # 0”. Is registered. This indicates that information indicating the physical position of the PCI switch 113 having identification information (bus number: device number) “0: 0” used by the SB 110 is “SB # 0-PCISW # 0”. ing.
  • the bus number is “2”, the device number is “1”, the upper bus number is “1”, and the physical location is “IOU # 0-slot # 0” is registered. Has been. This indicates that information indicating the physical position of the PCI card 301 having identification information “2: 1” used by the SB 110 is “IOU # 0-slot # 0”.
  • FIG. 12 is a diagram illustrating an example of a connection setting GUI according to the second embodiment.
  • FIG. 12A illustrates a group selection window 500.
  • FIG. 12B illustrates a unit selection window 510.
  • the management unit 166 can generate information on the group selection window 500 and the unit selection window 510 and display the information on a display connected to the server 100. Alternatively, the management unit 166 may display the group selection window 500 and the unit selection window 510 in a browser on a computer that communicates with the server 100 via the network 10 (or another network directly connected to the MMB 160). Good.
  • the management unit 166 updates the connection setting table 165a stored in the storage unit 165 based on information input to the group selection window 500 and the unit selection window 510. For example, the system administrator can input information into the group selection window 500 and the unit selection window 510 using an input device such as a mouse or a keyboard connected to the server 100.
  • the group selection window 500 is a GUI for selecting a group to which a PCI unit is to be added from among a plurality of groups.
  • the group selection window 500 is provided with a group list display area 501 and a determination button 502.
  • the group list display area 501 is an area for displaying a list of groups. One row corresponds to one group.
  • the group list display area 501 includes items of selection, item number, group name, power supply state, SB, IOU, and PCIB.
  • a form for example, a radio button for selecting a row is displayed.
  • the item number item a line number is displayed.
  • the group name item a name for identifying the group (in the example of the group list display area 501, business name “business X”, “business Y”, etc.) is displayed.
  • the power status item the power status (“ON” or “OFF”) of each group is displayed.
  • the SB item information indicating SBs belonging to the group is displayed. Specifically, “1” is registered for the identification information of the SB belonging to the group. On the other hand, “0” is registered for the identification information of the SB not belonging to the group.
  • the IOU item information indicating the IO units belonging to the group is displayed. Information indicating PCI boxes belonging to the group is registered in the PCIB item.
  • the item number is “0”
  • the group name is “service X”
  • the power status is “ON”
  • SB # 0 is “1”
  • SB # 1 is “0”
  • IOU # Information that 0 is “1”
  • IOU # 1 is “0”
  • PCIB # 0 is “1”
  • PCIB # 1 is “0” is displayed.
  • the group corresponding to the item number “0” includes the SB 110, the IO unit 140, and the PCI box 200, the group name is “service X”, and the power state is “ON”.
  • the IF board 150 belongs to the same group as the SB 110.
  • a determination button 502 is a button for determining the selection. For example, when the determination button 502 is pressed with the pointer P1, the selection is determined. Then, the management unit 166 generates information on the unit selection window 510.
  • the unit selection window 510 is a GUI for accepting selection of a PCI unit to be added to the group.
  • the unit selection window 510 is provided with a unit list display area 511 and an enter button 512.
  • the unit list display area 511 is an area for displaying a list of PCI units that can be added.
  • the unit list display area 511 includes items for selection, addable unit, status, and description.
  • a form for example, a radio button for selecting a row is displayed.
  • identification information of a free PCI unit is displayed.
  • status item the status of the PCI unit is displayed.
  • description item a description such as the specification of the PCI unit is displayed.
  • the unit list display area 511 information that the addable unit is “PCIB # 1”, the status is “OK”, and the description is “12 PCI slots” is displayed. This indicates that the PCI box 200a is currently free, the state of the PCI unit is normal (“OK”), and the PCI box 200a has 12 PCI slots.
  • the PCI box 200a is selected in the unit list display area 511.
  • the determination button 512 is a button for determining the selection. For example, when the determination button 512 is pressed by the pointer P1, the selection is determined. Then, the management unit 166 adds the PCI box 200a to the group with the item number “0”. As a result, the connection setting table 165a is also updated. In the connection setting table 165a, other information (for example, a group name) to be displayed in the group list display area 501 may be registered.
  • the operation for adding a PCI unit to a group is illustrated, but the PCI unit can be deleted from a group.
  • the group selection window 500 is provided with a button for displaying a deletion GUI.
  • a form for selecting a PCI unit to be deleted from a list of PCI units included in the group selected in the group selection window 500 and a button for confirming the selection are displayed. If it does so, the PCI unit selected by the GUI for the said deletion can be deleted from the selected group, and it can be set as a free state. PCI units that are in a free state can be added back to the same group or another group.
  • the logical connection relationship with the SB can be appropriately changed for each PCI unit.
  • the PCI device for the SB is changed.
  • the OS operating in the SB reassigns the bus number to the PCI device.
  • the server 100 also performs PCI device unit replacement.
  • FIG. 13 is a diagram illustrating an example of PCI card replacement work according to the second embodiment.
  • FIG. 13 illustrates a state where the PCI card 307 is removed from the PCI slot (slot number “6”) of the IO unit 140 and replaced.
  • the PCI card is removed from the IO units 140 and 140a and the PCI boxes 200 and 200a or newly inserted by maintenance work or the like.
  • the PCI device is changed for the SB.
  • such replacement of the PCI card can be performed while the server 100 is operating (active maintenance), or can be performed while the server 100 is stopped. If it is performed while the server 100 is in operation, the OS operating in the SB reassigns the bus number to the PCI device.
  • FIG. 14 is a flowchart illustrating a process according to the second embodiment. In the following, the process illustrated in FIG. 14 will be described in order of step number.
  • the management unit 166 refers to the connection setting table 165a stored in the storage unit 165 and performs logical connection setting between PCI units.
  • Step S12 The management unit 166 turns on the power of each PCI unit.
  • Step S13 The processor 111 loads the program of the BIOS 115 stored in the ROM 142 into the RAM 112, and exhibits the function of the BIOS 115 (BIOS 115 activation process).
  • Step S14 The BIOS 115 initializes the PCI device. Specifically, the BIOS 115 assigns a bus number to each PCI device and generates PCI device tree information. The BIOS 115 notifies the management unit 166 that the initialization of the PCI device is completed. The management unit 166 receives the notification.
  • the management unit 166 collects PCI device information from the BIOS 115.
  • the information collected from the BIOS 115 includes PCI device tree information.
  • the management unit 166 generates the physical location management table 165c based on the information collected from the BIOS 115 and the connection setting table 165a and the device configuration table 165b stored in the storage unit 165.
  • the management unit 166 can grasp the tree structure of the PCI unit from the connection setting table 165a.
  • the IO unit 140 (IOU # 0) and the IF board 150 (IF # 0) are PCI units that can be built in the server 100, and are connected immediately below the SB110 (SB # 0).
  • the PCI box 200 (PCIB # 0) is a PCI unit externally attached to the server 100, and is connected to the IF board 150.
  • the device number of each PCI device is registered in the device configuration table 165b. Since the tree structure and device number of the PCI unit can be grasped from the connection setting table 165a and the device configuration table 165b, the bus number of each PCI device can be grasped based on this and PCI device tree information acquired from the BIOS 115.
  • the management unit 166 registers the bus number of each PCI device ascertained in this way in the physical location management table 165c.
  • Step S17 The processor 111 loads the program of the OS 116 stored in the HDD unit 130 into the RAM 112, and exhibits the function of the OS 116 (OS 116 startup process).
  • Step S18 The OS 116 initializes the PCI device and the device driver.
  • the specific processing content is the same as in step S14.
  • the OS 116 may change the bus number of each PCI device assigned by the BIOS 115.
  • the notification unit 117 notifies the management unit 166 to that effect.
  • the management unit 166 receives the notification.
  • Step S19 The management unit 166 collects PCI device information from the OS 116 via the notification unit 117.
  • the information collected from the OS 116 includes PCI device tree information.
  • the management unit 166 determines whether or not there is a change in the bus number setting of each PCI device by the process of step S18. If there is a change, the process proceeds to step S20. If there is no change, the process ends.
  • Step S20 The management unit 166 updates the physical location management table 165c according to the change of the bus number by the OS 116. In this way, the management unit 166 manages the correspondence between the identification information given to each PCI device by the BIOS 115 and the OS 116 at the time of startup and information indicating the physical position. In particular, since the identification information given by the BIOS 115 (first software) may be changed by the OS 116 (second software), the information indicating the corresponding relationship is also updated according to the change. Next, the processes in steps S16 and S20 will be specifically described.
  • FIG. 15 is a diagram illustrating an example of setting a bus number according to the second embodiment.
  • FIG. 15 illustrates information indicating the tree structure of the PCI unit corresponding to the connection example of FIG. However, the bus number is not set. For this reason, the bus number at each node is expressed as “-” (hyphen).
  • the management unit 166 can grasp the tree structure based on the connection setting table 165a and the device configuration table 165b stored in the storage unit 165.
  • the node 600 is a root complex.
  • the node 700 is information corresponding to the PCI switch 113.
  • the node 701 is information corresponding to the IO controller 141.
  • the node 710 is information corresponding to the PCI card 301.
  • the node 720 is information corresponding to the PCI card 302.
  • the node 800 is information corresponding to the PCI switch 114.
  • the node 801 is information corresponding to the PCI switch 151.
  • the node 810 is information corresponding to the PCI box IF 153.
  • the node 811 is information corresponding to the PCI switch 201.
  • the node 811a is information corresponding to the PCI card 301b. Note that illustration of nodes corresponding to other PCI devices including the communication IF 152 and the PCI box IF 154 is omitted (the same applies hereinafter).
  • the management unit 166 can set the bus number of each node by applying the PCI device tree information acquired from the BIOS 115 or the OS 116 to the tree structure of the PCI unit shown in FIG.
  • FIG. 16 is a diagram (continued) illustrating an example of setting the bus number according to the second embodiment.
  • FIG. 16 shows a state in which a bus number is set in each node.
  • the management unit 166 acquires PCI device tree information corresponding to the connection example of FIG. 7 from the BIOS 115 or the OS 116.
  • the bus number of each node is set as follows.
  • the bus number of the node 700 is “0”.
  • the bus number of the node 701 is “1”.
  • the bus number of the node 710 is “2”.
  • the bus number of the node 720 is “2”.
  • the bus number of the node 800 is “0”.
  • the bus number of the node 801 is “3”.
  • the bus number of the node 810 is “4”.
  • the bus number of the node 811 is “5”.
  • the bus number of the node 811a is “6”.
  • the management unit 166 manages the PCI device tree including the correspondence relationship with the physical position shown in FIG. 16 using the physical position management table 165c. If the PCI device tree information shown in FIG. 16 is to be updated, the management unit 166 may overwrite the old bus number with the new bus number.
  • the identification information given to each PCI device can be changed even when the PCI device is added / deleted. Further, the identification information can be changed at the timing when the PCI unit is added / deleted. This is because the PCI unit mounts a PCI device, and the addition / deletion of the PCI unit involves the addition / deletion of the PCI device. Next, a processing procedure when a PCI device (or PCI unit) is added / deleted will be described.
  • FIG. 17 is a flowchart illustrating an example of adding a PCI device according to the second embodiment.
  • the OS 116 detects an additional PCI device.
  • “Add” is, for example, establishment of a logical connection with the SB.
  • the PCI device can be used from the SB.
  • the case where a PCI device is added to the SB 110 is considered as follows. (1) A case where a new PCI unit (for example, PCI box 200a) is added to the SB 110 using the group selection window 500 and the unit selection window 510. (2) When a PCI card is newly inserted into an empty PCI slot of either the IO unit 140 or the PCI box 200.
  • Step S22 The OS 116 initializes the PCI device and the device driver.
  • the specific processing content is the same as step S14 in FIG.
  • the OS 116 changes the bus number of each PCI device in the PCI device tree information.
  • the notification unit 117 notifies the management unit 166 to that effect.
  • the management unit 166 receives the notification. This notification can be said to notify the change of the PCI device tree.
  • Step S23 The management unit 166 collects peripheral device information from the OS 116 via the notification unit 117.
  • the information collected from the OS 116 includes updated PCI device tree information.
  • Step S24 The management unit 166 updates the physical location management table 165c according to the change of the bus number by the OS 116. In this way, when the PCI device (or PCI unit) is added, the management unit 166 acquires the updated PCI device information from the OS 116, and the identification information and the physical position assigned to the PCI device. The correspondence with the information indicating is updated. Also, the identification information given to each PCI device can be changed at the timing when the PCI device (or PCI unit) is deleted (logical connection is released). Next, a processing procedure when a PCI device (or PCI unit) is deleted will be described.
  • FIG. 18 is a flowchart illustrating an example of PCI device deletion according to the second embodiment.
  • the process illustrated in FIG. 18 will be described in order of step number.
  • the OS 116 receives an instruction to delete the PCI device.
  • the instruction may be input to the OS 116 by an administrator using an input device, or the management unit 166 may input the instruction to the OS 116.
  • the OS 116 executes the PCI device deletion process and the device driver deletion process.
  • the OS 116 updates the PCI device tree information in the deletion process.
  • Step S32 The OS 116 turns off the power of the PCI device.
  • Step S33 Upon confirming that the PCI device deletion processing by the OS 116 has been completed, the notification unit 117 notifies the management unit 166 of that fact. The management unit 166 receives the notification. This notification can be said to notify the change of the PCI device tree.
  • Step S34 The management unit 166 collects PCI device information from the OS 116 via the notification unit 117.
  • the information collected from the OS 116 includes updated PCI device tree information.
  • Step S ⁇ b> 35 The management unit 166 updates the physical location management table 165 c according to the change of the bus number by the OS 116. In this way, the management unit 166 acquires the updated PCI device information from the OS 116 when the PCI device (or PCI unit) is deleted, and the identification information and the physical location given to the PCI device. The correspondence with the information indicating is updated.
  • the management unit 166 acquires the information from the BIOS 115 and the OS 116 at each timing when the PCI device tree information can be updated by the BIOS 115 and the OS 116, and updates the physical location management table 165c. Therefore, the management unit 166 can appropriately respond to an inquiry about the mounting position of the PCI device from each SB by referring to the physical position management table 165c. Next, the procedure will be described. In the following, a case where the OS 116 inquires about the mounting position of the PCI device is exemplified, but the same procedure is performed when the BIOS 115 inquires about the mounting position of the PCI device.
  • FIG. 19 is a flowchart illustrating an example of position response processing according to the second embodiment. In the following, the process illustrated in FIG. 19 will be described in order of step number.
  • the OS 116 detects that an error has occurred in any PCI device.
  • the OS 116 specifies the bus number and device number of the PCI device in which an error has occurred, and outputs the specified PCI device to the notification unit 117.
  • the bus number: device number is “2: 1”.
  • the bus number: device number is “5: 0”.
  • Step S42 The notification unit 117 inquires of the management unit 166 about the physical location of the PCI device in which the error has occurred. This inquiry includes the bus number and device number acquired from the OS 116. The management unit 166 receives the inquiry.
  • the management unit 166 searches the physical position management table 165c stored in the storage unit 165 for the set (identification information) of the bus number and device number acquired from the notification unit 117.
  • the management unit 166 extracts physical position information included in the searched record. For example, if the bus number: device number is “2: 1”, the physical location “IOU # 0-slot # 0” is extracted. Alternatively, if the bus number: device number is “5: 0”, the physical location is “PCIB # 0-PCISW # 0”.
  • Step S44 The management unit 166 responds to the notification unit 117 with the information on the physical position extracted in step S43.
  • the notification unit 117 receives physical position information.
  • the notification unit 117 outputs the physical position information to the OS 116.
  • Step S45 The OS 116 generates a log relating to the PCI device in which an error has occurred.
  • the log includes information indicating the physical position of the PCI device acquired via the notification unit 117.
  • Step S46 The OS 116 outputs the generated log.
  • the OS 116 may output the log to a predetermined log file.
  • the OS 116 may display the contents of the log on a display connected to the server 100.
  • the management unit 166 responds to the inquiry from the BIOS 115 and the OS 116 with the position of the PCI device.
  • the management unit 166 appropriately updates the physical location management table 165c managed by the management unit 166 itself at each timing when the BIOS 115 and the OS 116 change the setting of the PCI device tree. For this reason, it is possible to appropriately respond to inquiries from the BIOS 115 and the OS 116.
  • the function number may be included in the identification information of the PCI device.
  • the management unit 166 can collect PCI device tree information including identification information including a function number from the BIOS 115 and the OS 116. Therefore, the management unit 166 can manage the correspondence between the identification information and the mounting position.
  • the notification unit 117 may inquire the location to the management unit 166 using the identification information including the function number. If it does so, the management part 166 can respond the mounting position corresponding to the said identification information.
  • FIG. 20 is a diagram illustrating an example of log output according to the second embodiment. It is conceivable that the OS 116 outputs an error log to the log window 900. In that case, for example, in addition to the content of the error, the position information 901 can also be included in the log. For example, the position information 901 is a character string “IOU # 0-slot # 0”.
  • the maintenance staff of the server 100 can grasp the position on the server 100 on which the PCI device in which the error has occurred is mounted by referring to the position information 901. For example, the character string output as the position information is written in a position that can be seen from the outside such as the PCI slots 145, 145a,... And the PCI slots 202, 202a,.
  • the character string “slot # 0” is written at a position that is visible from the outside of the slot 145.
  • the maintenance staff who refers to the character string of the position information 901 can specify the IO unit 140 by the “IOU # 0” portion of the character string.
  • the IO unit 140 is mounted on the upper side of the IO unit 140a.
  • the maintenance staff can identify the PCI card 301 by collating the “slot # 0” portion of the character string of the position information 901 with the character string “slot # 0” written outside the slot 145.
  • the position on the server 100 indicated by the character string of the position information may be described in the manual of the server 100 or the like.
  • the maintenance staff can identify the PCI device on which the maintenance work should be performed with reference to the contents of the output log and the manual.
  • FIG. 21 is a diagram illustrating an example of changing the bus number according to the second embodiment.
  • FIG. 21 only some PCI devices in each PCI unit are illustrated, and illustration of other PCI devices is omitted. A device number is written instead of the name of each PCI device.
  • PCI device tree information regarding the SB 110 is generated by setting a bus number for each PCI device by the BIOS 115. However, as described above, the PCI device tree information can be changed thereafter. For example, it is a timing when the OS 116 initializes the peripheral device. In addition, for example, it is a timing at which a PCI device (or PCI unit) is added / deleted to / from the SB 110. For this reason, the original PCI device tree information is not always maintained throughout.
  • the bus number can be updated by adding a PCI box 200a to the PCI device tree shown in FIG. In that case, the bus number is newly reassigned, and the bus numbers “7” and “8” can be added.
  • the PCI box 200 is deleted after the PCI box 200a is added.
  • the bus number is newly reassigned.
  • a bus number different from the above may be given to the IF board 150 or the PCI box 200a.
  • the bus under the PCI box IF 154 may be changed from the bus number “7” to the bus number “5”, and the PCI switch bus in the PCI box 200a may be changed from the bus number “8” to the bus number “6”. It is done. Then, the identification information of each PCI device in the PCI box 200a also changes.
  • the management unit 166 updates the physical location management table 165c following such a PCI device tree update. Therefore, when an inquiry about the mounting position of the PCI device is received from the BIOS 115 or the OS 116, it is possible to respond with appropriate information indicating the mounting position of the PCI device. For this reason, the BIOS 115 and the OS 116 can output appropriate information indicating the mounting position of the PCI device in the log.
  • the information processing of the second embodiment is realized by the management unit 166 included in the MMB 160, but other hardware may have the function of the management unit 166.
  • the SVP 143 has a function corresponding to the management unit 166.
  • FIG. 22 is a diagram illustrating another software example (part 1) of the second embodiment.
  • the SVP 143 has a management unit 143a.
  • the function of the management unit 143a may be realized by the SVP 143 executing a program stored in the memory 144.
  • the management unit 143 a performs the same processing as the management unit 166 instead of the management unit 166.
  • the management unit 143a may store information corresponding to the connection setting table 165a, the device configuration table 165b, and the physical location management table 165c stored in the storage unit 165 in the memory 144. Alternatively, the management unit 143a may acquire the connection setting table 165a and the device configuration table 165b from the MMB 160, and store and manage only the information corresponding to the physical location management table 165c in the memory 144.
  • the management unit 143a may be provided in the SVP 143 to provide information indicating the PCI device mounting position with respect to the BIOS 115 or the OS 116. In this way, since the SVP is mounted for each IO unit, the processing of the second embodiment can be distributed and executed by a plurality of SVPs. For example, when the SB 110 and the IO unit 140 are logically connected, the management unit 143a manages the correspondence between the PCI device tree set by the BIOS 115 and the OS 116 and the device position.
  • the management unit operating in the SVP of the IO unit 140a has a PCI device tree and a device location set by the BIOS or OS operating in the SB 110a. To manage the correspondence. If processing is distributed in this way, the load on the MMB 160 is reduced.
  • the management unit may not be provided in the MMB 160.
  • the information processing according to the second embodiment can be realized without providing the server 100 with the MMB 160.
  • the notification unit 117 mediates communication between the OS 116 and the management unit 166.
  • an ACPI (Advanced Configuration and Power Interface) driver is used between the OS 116 and the management unit 166. You may mediate communication.
  • the ACPI driver is power management software.
  • FIG. 23 is a diagram illustrating another software example (part 2) of the second embodiment.
  • the SB 110 may realize the function of the notification unit 117 by the ACPI driver 118.
  • the program of the ACPI driver 118 may be stored in advance in the ROM 142 or the like.
  • the processor 111 may exhibit the function of the ACPI driver 118 by loading the program stored in the ROM 142 into the RAM 112 and executing the program.
  • the ACPI driver 118 notifies the management unit 166 of the completion of initialization of the PCI device by the OS 116 and the inquiry of the mounting position of the PCI device. Specifically, the processing of the notification unit 117 in FIGS. 14, 17, 18, and 19 may be read as the processing of the ACPI driver 118.
  • the management unit 166 communicates with the OS 116 via the ACPI driver 118 instead of the notification unit 117. In this case, the notification unit 117 may not be provided in the SB 110.
  • PCIe has been described as an example of an interface for function expansion.
  • the information processing of the second embodiment can be applied even when other types of interfaces are used.
  • the information processing according to the first embodiment can be realized by causing the computing unit 2b to execute a program.
  • the information processing according to the second embodiment can be realized by causing the processors 111 and 161 and the SVP 143 to execute programs.
  • the program can be recorded on a computer-readable recording medium (for example, the optical disc 15).
  • a portable recording medium on which the program is recorded is provided. It is also possible to store the program in a storage device of another computer and distribute the program via a network.
  • the computer stores, for example, a program recorded on a portable recording medium or a program received from another computer in a storage device, and reads and executes the program from the storage device.
  • a program read from a portable recording medium may be directly executed, or a program received from another computer via a network may be directly executed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 周辺装置の位置を適切に提供すること。 記憶部(2a)は、装置(3,4)と周辺装置(5,6,7,8)との対応関係を示す情報および周辺装置(5,6,7,8)に対して装置(3,4)により付与された識別情報と周辺装置(5,6,7,8)の位置(A,B,C,D)との対応関係を示す情報を含む管理情報を記憶する。演算部(2b)は、何れかの周辺装置の識別情報が変更された旨の通知を当該装置(3,4)から受け付けると、変更の内容に応じて管理情報を更新する。演算部(2b)は、装置(3,4)の何れかが、周辺装置に関するログを出力する際に当該装置から、対象の周辺装置の識別情報を取得すると、管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する。

Description

情報処理装置、プログラムおよびログ出力方法
 本発明は情報処理装置、プログラムおよびログ出力方法に関する。
 現在、コンピュータなどの情報処理装置が利用されている。情報処理装置には、周辺装置を追加することで機能の拡張を図れるものがある。例えば、周辺装置は演算処理を行う演算装置によって動作が制御される。周辺装置は、情報処理装置の内部や外部に追加され得る。例えば、情報処理装置に設けられた所定のインタフェース(拡張スロットと呼ぶことがある)に周辺装置を取り付けたり、取り外したりできる。当該インタフェースとして、例えばPCI(Peripheral Component Interconnect)、PCI-XおよびPCIe(PCI Express、登録商標)などがある。
 情報処理装置では、周辺装置の保守を支援する方法が考えられている。例えば、複数のI/O(Input / Output)カードを搭載可能なI/Oカード拡張装置を計算機に接続して用いる場合に、I/Oカード拡張装置内の故障したI/Oカードのスロット位置の光源を発光させることで、当該スロット位置を保守員に通知する提案がある。
 なお、コンピュータ内の複数のプリント配線板の接続を管理するために、各プリント配線板が上位の接続位置のプリント配線板へ実装位置の情報を順次送信し、最上位の接続位置のプリント配線板から複数のプリント配線板の実装位置の情報を取得する提案もある。
特開2011-253332号公報 特開2009-110461号公報
 1つの情報処理装置に周辺装置を利用する複数の装置(例えば、演算装置)を設けることがある。この場合、1つの情報処理装置内に演算装置と当該演算装置が利用する周辺装置とのグループを複数実現できる。また、演算装置と周辺装置との組み合わせを適宜変更することもできる。このような情報処理装置では、周辺装置で障害が発生した場合に、情報処理装置内における当該周辺装置の搭載位置の把握が容易でないという問題がある。
 例えば、障害の発生した周辺装置の位置を、保守員が容易に把握できるのが好ましい。そこで、周辺装置を利用する装置により出力されるログに、周辺装置の位置情報を含めたいことがある。そのために、例えば周辺装置の識別情報と搭載位置との対応関係をハードコーディングにより情報処理装置に登録しておき、位置提供に用いることが考えられる。
 ところが、周辺装置に付与される識別情報は、周辺装置とそれを用いる装置との組み合わせに応じて変わり得る。例えば、PCIでは、同じ周辺装置でも上位に接続する装置が変われば、上位の装置で動作するオペレーティングシステムなどにより当該識別情報が変更され得る。このため、周辺装置に当初付与されていた識別情報が別の時点では異なっていることもある。すなわち、周辺装置の識別情報と位置情報との対応関係を予め登録しておいたとしても、当該対応関係が終始成立しているとは限らない。
 一側面によれば、本発明は、周辺装置の位置を適切に提供できる情報処理装置、プログラムおよびログ出力方法を提供することを目的とする。
 一実施態様によれば、複数の装置と複数の装置により利用可能な複数の周辺装置とを備え、複数の装置それぞれにより用いられる周辺装置を変更可能な情報処理装置が提供される。この情報処理装置は記憶部と演算部とを有する。記憶部は、複数の装置と複数の周辺装置との対応関係を示す情報および何れかの装置により用いられる周辺装置に対して当該装置により付与された識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を記憶する。演算部は、周辺装置の識別情報が変更された旨の通知を当該周辺装置を用いる装置から受け付けると、変更の内容に応じて管理情報を更新し、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する。
 また、一実施態様によれば、複数の装置と複数の装置により利用可能な複数の周辺装置とを備え、複数の装置それぞれにより用いられる周辺装置を変更可能なコンピュータによって実行されるプログラムが提供される。このプログラムは、コンピュータに、何れかの装置により用いられる周辺装置に対して当該装置により付与される識別情報が変更された旨の通知を当該装置から受け付けると、複数の装置と複数の周辺装置との対応関係を示す情報および当該識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を変更の内容に応じて更新し、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する、処理を実行させる。
 また、一実施態様によれば、複数の装置と複数の装置により利用可能な複数の周辺装置とを備え、複数の装置それぞれにより用いられる周辺装置を変更可能な情報処理装置によって実行されるログ出力方法が提供される。このログ出力方法では、情報処理装置が、何れかの装置により用いられる周辺装置に対して当該装置により付与される識別情報が変更された旨の通知を当該装置から受け付けると、複数の装置と複数の周辺装置との対応関係を示す情報および当該識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を変更の内容に応じて更新し、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する。
 一実施態様によれば、周辺装置の位置を適切に提供できる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態の情報処理装置を示す図である。 第2の実施の形態の情報処理システムを示す図である。 第2の実施の形態のサーバの背面を示す図である。 第2の実施の形態のハードウェア例を示す図である。 第2の実施の形態のサーバのハードウェア例を示す図である。 第2の実施の形態のPCIボックスのハードウェア例を示す図である。 第2の実施の形態のPCIデバイスの接続例を示す図である。 第2の実施の形態のソフトウェア例を示す図である。 第2の実施の形態の接続設定テーブルの例を示す図である。 第2の実施の形態の装置構成テーブルの例を示す図である。 第2の実施の形態の物理位置管理テーブルの例を示す図である。 第2の実施の形態の接続設定用のGUIの例を示す図である。 第2の実施の形態のPCIカードの交換作業の例を示す図である。 第2の実施の形態の処理を示すフローチャートである。 第2の実施の形態のバス番号の設定例を示す図である。 第2の実施の形態のバス番号の設定例を示す図(続き)である。 第2の実施の形態のPCIデバイス追加例を示すフローチャートである。 第2の実施の形態のPCIデバイス削除例を示すフローチャートである。 第2の実施の形態の位置応答の処理例を示すフローチャートである。 第2の実施の形態のログ出力例を示す図である。 第2の実施の形態のバス番号の変更例を示す図である。 第2の実施の形態の他のソフトウェア例(その1)を示す図である。 第2の実施の形態の他のソフトウェア例(その2)を示す図である。
 以下、本実施の形態を図面を参照して説明する。
 [第1の実施の形態]
 図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、管理装置2、装置3,4および周辺装置5,6,7,8を有する。管理装置2は、装置3,4および周辺装置5,6,7,8の動作を管理する。装置3,4は、周辺装置5,6,7,8を利用可能である。装置3,4は、何れの周辺装置を利用するかを適宜変更できる。装置3,4の停止中に変更できてもよいし、装置3,4の稼働中に変更できてもよい。
 周辺装置5,6,7,8は、情報処理装置1に対する機能拡張用の装置である。周辺装置5は位置Aに設けられている。周辺装置6は位置Bに設けられている。周辺装置7は位置Cに設けられている。周辺装置8は位置Dに設けられている。位置A,B,C,Dは、情報処理装置1の内部の位置でもよいし、外部の位置でもよい。内部の位置とは、例えば、情報処理装置1に内蔵された拡張スロットの位置である。外部の位置とは、例えば、情報処理装置1に外付けで接続された外付け装置における拡張スロットの位置である。
 管理装置2、装置3,4および周辺装置5,6,7,8は情報処理装置1内のバスを介して接続されている。例えば、情報処理装置1は装置3,4と周辺装置5,6,7,8との間のバスを介した論理的な接続関係を変更することで、装置3,4により用いられる周辺装置5,6,7,8を変更してもよい。管理装置2が当該論理的な接続関係の切り替えを制御してもよい。
 管理装置2は、記憶部2aおよび演算部2bを有する。記憶部2aはRAM(Random Access Memory)などのメモリでもよい。演算部2bはCPU(Central Processing Unit)などのプロセッサでもよい。第1の実施の形態の情報処理は、記憶部2aに記憶されたプログラムを演算部2bが実行することで実現されてもよい。
 記憶部2aは、管理情報を記憶する。管理情報は、装置3,4と周辺装置5,6,7,8との対応関係を示す情報を含む。例えば、装置3に対して周辺装置5,6が対応付けられている。装置4に対して周辺装置7,8が対応付けられている。すなわち、装置3は周辺装置5,6を利用する。装置4は周辺装置7,8を利用する。
 管理情報は、装置3により用いられる周辺装置5,6に対して当該装置3により付与された識別情報と周辺装置5,6の位置を示す情報との対応関係を示す情報を含む。また、管理情報は、装置4により用いられる周辺装置7,8に対して当該装置4により付与された識別情報と周辺装置7,8の位置を示す情報との対応関係を示す情報を含む。当該識別情報は、装置3,4で動作するBIOS(Basic Input / Output System)やOS(Operating System)によって付与されるものでもよい。例えば、周辺装置5,6,7,8がPCIのデバイスであれば、BIOSやOSは各周辺装置に対してバス番号やデバイス番号などを組み合わせた識別情報を付与し得る。当該対応関係は、本例でいえば次の(1)~(4)の対応付けを含む。
 (1)装置3により付与された周辺装置5の識別情報#1と位置Aを示す情報との対応付け。(2)装置3により付与された周辺装置6の識別情報#2と位置Bを示す情報との対応付け。(3)装置4により付与された周辺装置7の識別情報#1と位置Cを示す情報との対応付け。(4)装置4により付与された周辺装置8の識別情報#2と位置Dを示す情報との対応付け。
 演算部2bは、周辺装置の識別情報が変更された旨の通知を、当該周辺装置を用いる装置から受け付けると、変更の内容に応じて記憶部2aに記憶された管理情報を更新する。例えば、装置3により用いられる周辺装置6が、装置3との論理的な接続を解除されたとする。すなわち、装置3から周辺装置6を利用できなくなったとする。すると、例えば装置3は周辺装置6に対する識別情報の削除を管理装置2に通知する。演算部2bは、当該通知に応じて、装置3と周辺装置6との対応関係を管理情報から削除する。また、上記(2)の対応付けを示す情報を管理情報から削除する。
 また、例えば、装置4と周辺装置6との論理的な接続が追加されたとする。すなわち、装置4により周辺装置6が利用できるようになったとする。すると、例えば装置4は周辺装置6に対する識別情報の追加を管理装置2に通知する。当該通知には、装置4が周辺装置6に付与した識別情報が含まれる。装置4が周辺装置6,7,8の識別情報を振り直した場合は、周辺装置6,7,8に付与した識別情報が含まれる。例えば、振り直しの結果、周辺装置6の識別情報は#1となる。周辺装置7の識別情報は#2となる。周辺装置8の識別情報は#3となる。
 演算部2bは、当該通知に応じて装置4と周辺装置6との対応関係を管理情報に追加する。また、演算部2bは、(5)装置4により付与された周辺装置6の識別情報#1と位置Bを示す情報との対応付け、を管理情報に追加する。
 更に、演算部2bは管理情報における上記(3)、(4)の対応付けを、それぞれ次の(6)、(7)のように書き換える。(6)装置4により付与された周辺装置7の識別情報#2と位置Cを示す情報との対応付け。(7)装置4により付与された周辺装置8の識別情報#3と位置Dを示す情報との対応付け。
 演算部2bは、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する。例えば、演算部2bは、装置4が周辺装置6に関するログを出力する際に装置4から識別情報#1を取得すると、管理情報の上記(5)の対応付けに基づいて位置Bを示す情報を装置4に提供する。
 装置4は、位置Bを示す情報を含む、周辺装置6に関するログを出力し得る。当該ログは、例えば、装置4により出力される所定のログファイルに登録されるメッセージでもよいし、情報処理装置1に接続された表示装置(図1では図示を省略)に表示されるメッセージでもよい。または、管理者や保守員が利用する端末装置や管理者や保守員のメールアドレスなどに対して送信されるメッセージなどでもよい。
 情報処理装置1によれば、演算部2bにより、周辺装置の識別情報が変更された旨の通知が当該周辺装置を用いる装置から受け付けられると、変更の内容に応じて管理情報が更新される。演算部2bにより、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報が取得されると、管理情報が参照されて当該周辺装置の位置を示す情報が当該装置に提供される。
 これにより、周辺装置の位置を適切に提供できる。具体的には次の通りである。装置3,4と周辺装置5,6,7,8との論理的な接続関係は変更され得る。接続関係の変更に際して、周辺装置5,6,7,8の識別情報は装置3,4により変更され得る。すなわち、周辺装置5,6,7,8に対して装置3,4が付与する識別情報は絶対的なものではない。例えば、周辺装置5,6,7,8がPCIeなどのデバイスであれば、装置3,4で動作するBIOSやOSが、周辺装置5,6,7,8に対するバス番号を振り直すことで、識別情報が変更されることがある。
 ここで、例えば、論理的な接続関係が上述のように装置4が周辺装置6,7,8を利用可能な関係に変更されたとする。その場合に、管理情報において上記(1)~(4)の対応付けが仮に維持されると、管理装置2は装置4により周辺装置6に対して付与された識別情報#1を取得した際に、位置Cを示す情報を応答することになる。これは、周辺装置7の位置を示す情報であり、適切な位置ではない(正しくは、位置Bである)。
 一方、情報処理装置1は、装置3,4と周辺装置5,6,7,8との間の対応関係の変更に追随して、管理情報を更新する。これにより、周辺装置5,6,7,8の適切な位置を装置3,4に提供することができる。装置3,4は、当該位置を示す情報をログに含めて出力し得る。保守員は、装置3,4が出力するログを参照することで、障害などの発生した周辺装置の情報処理装置1における位置を容易に把握できる。このため、保守員は、当該周辺装置の保守作業を迅速に開始できる。
 [第2の実施の形態]
 図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、サーバ100およびPCIボックス200,200aを含む。サーバ100は、ネットワーク10に接続されている。ネットワーク10はLAN(Local Area Network)、WAN(Wide Area Network)およびインターネットなどでもよい。
 サーバ100は、所定の業務処理を実行するサーバコンピュータである。サーバ100は、前面パネル101、システムボード(SB:System Board)110,110a、ディスクドライブ120およびHDD(Hard Disk Drive)ユニット130,130aを有する。前面パネル101は、サーバ100の前面を覆うカバーである。前面パネル101は開閉可能である。前面パネル101の裏側にSB110,110aが収納されている。
 SB110,110aは、CPUやRAMを搭載した演算装置である。ディスクドライブ120は、可搬型の記録媒体に記録されたプログラムやデータを読み取る駆動装置である。HDDユニット130,130aは、HDD搭載用のユニットである。HDDユニット130,130aは、複数の磁気ディスクやSSD(Solid State Drive)などを収納できる。PCIボックス200,200aは、PCIeの拡張スロット(PCIスロットということがある)を複数備える外付け装置である。PCIボックス200,200aは、所定のインタフェースを介してサーバ100と接続されている。
 図3は、第2の実施の形態のサーバの背面を示す図である。サーバ100は、図2で説明した各ユニットに加えて、IO(Input Output)ユニット140,140a、IF(InterFace)ボード150,150a、マネジメントボード(MMB:ManageMent Board)160、PSU(Power Supply Unit)170,170aおよびファン180,180a,180b,180c,180d,180e,180f,180gを有する。
 IOユニット140,140aは、サーバ100の入出力を制御するユニットである。IOユニット140,140aは、HDDユニット130,130aに対するデータの入出力を制御する。IOユニット140,140aは、IFボード150,150aに対するデータの入出力を制御する。また、IOユニット140,140aは、PCIボックス200,200aに対するデータの入出力を制御する。
 IOユニット140,140aは、複数のPCIスロット(例えば、8スロット)を備えている。1つのPCIスロットには、1つのPCIカードを搭載できる。例えば、IOユニット140の1つのPCIスロットにはPCIカード300を搭載できる。IOユニット140aの1つのPCIスロットにはPCIカード300aを搭載できる。PCIカード300,300aはSB110,110aに対する周辺装置である。IOユニット140,140aは、PCIカード300,300aに対するデータの入出力を制御する。IOユニット140,140aをSB110,110aに対する周辺装置と呼ぶこともできる。
 IOユニット140,140aは、キーボード、ディスプレイおよびマウス(KVM:Keyboard, Video and Mouse)用の外部接続インタフェース(例えば、USB(Universal Serial Bus)ポートやVGA(Video Graphics Array)ポートなど)を備えてもよい。これらのインタフェースは、PCIカード300,300aによって提供されてもよい。
 IFボード150,150aは、ネットワークへアクセスするためのインタフェース(例えば、PCIe)を有する。また、IFボード150,150aは、PCIボックス200,200aへアクセスするためのインタフェースを有する。IFボード150は、ケーブル11を介してPCIボックス200と接続されている。IFボード150は、ケーブル12を介してPCIボックス200aと接続されている。IFボード150aは、ケーブル13を介してPCIボックス200aと接続されている。IFボード150aは、ケーブル14を介してPCIボックス200と接続されている。ケーブル11,12,13,14は、例えばPCIeの外部ケーブルである。
 MMB160は、サーバ100の監視やSB110,110aと周辺装置との接続関係を管理するための制御ユニットである。
 PSU170,170aは、商用電源と接続される電源装置である。PSU170,170aは、サーバ100を駆動させるための電力をサーバ100全体へ供給する電源装置である。
 ファン180,180a,180b,180c,180d,180e,180f,180gは、サーバ100を冷却するための冷却装置である。
 PCIボックス200,200aは、複数のPCIスロットを備えている(例えば、12スロット)。1つのPCIスロットには、1つのPCIカードを搭載できる。例えば、PCIボックス200の1つのPCIスロットにはPCIカード300bを搭載できる。PCIボックス200aの1つのPCIスロットにはPCIカード300cを搭載できる。PCIカード300b,300cはSB110,110aに対する周辺装置である。PCIボックス200,200aは、PCIカード300b,300cに対するデータの入出力を制御する。PCIボックス200,200aをSB110,110aに対する周辺装置と呼ぶこともできる。
 PCIカード300,300a,300b,300cは、PCIeに対応した周辺装置である。PCIカード300,300a,300b,300cは、例えば、ファイバチャネル、LAN、CNA(Converged Network Adapter)、SAS(Serial Attached Small Computer System Interface)などのポートを拡張するためのものでもよい。PCIカード300,300a,300b,300cは、画像処理機能や音声処理機能などを備えたものでもよい。PCIカード300,300a,300b,300cは、それ以外の機能を拡張するものでもよい。PCIカード300,300a,300b,300cは、PCIカセットやPCIカードカセットなどと呼ばれるものでもよい。
 なお、以降の説明において、300台の符号(301,302,・・・)を用いて、IOユニット140に搭載されるPCIカードを示す。300a台の符号(301a,302a,・・・)を用いて、IOユニット140aに搭載されるPCIカードを示す。300b台の符号(301b,302b,・・・)を用いて、PCIボックス200に搭載されるPCIカードを示す。300c台の符号(301c,302c,・・・)を用いて、PCIボックス200aに搭載されるPCIカードを示す。
 図4は、第2の実施の形態のハードウェア例を示す図である。サーバ100は、SB110,110a、ディスクドライブ120、HDDユニット130,130a、IOユニット140,140a、IFボード150,150a、MMB160およびMP(Middle Plane)190を有する。図2,3で示したその他のユニットは図示を省略している。SB110,110a、ディスクドライブ120、HDDユニット130,130a、IOユニット140,140a、IFボード150,150aおよびMMB160は、図2,3で説明した各ユニットと同一である。
 例えば、ディスクドライブ120はレーザ光などを利用して、光ディスク15に記録されたプログラムやデータを読み取れる。光ディスク15として、例えば、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などを使用できる。ディスクドライブ120は、例えば、SB110,110aからの命令に従って、光ディスク15から読み取ったプログラムやデータをHDDユニット130,130aのHDDや所定のメモリに格納する。
 また、HDDユニット130,130aには、SB110,110aに実行させるOSやアプリケーションのプログラムや、SB110,110aの処理に用いられる各種のデータが格納される。IFボード150,150aは所定のケーブルを介してネットワーク10に接続されている。なお、図4では、IFボード150,150aとPCIボックス200,200aとの間の一部の接続について図示を省略している。
 MP190は、SB110,110a、ディスクドライブ120、HDDユニット130,130a、IOユニット140,140a、IFボード150,150aおよびMMB160を接続し、結線するコネクタユニットである。例えば、サーバ100の前面からSB110,110a、ディスクドライブ120およびHDDユニット130,130aが結合可能である。また、サーバ100の背面からIOユニット140,140a、IFボード150,150aおよびMMB160が結合可能である。
 図5は、第2の実施の形態のサーバのハードウェア例を示す図である。SB110は、プロセッサ111、RAM112およびPCIスイッチ113,114を有する。SB110aもSB110と同様のデバイスを有する。
 プロセッサ111は、SB110の情報処理を制御する。プロセッサ111は、マルチプロセッサであってもよい。プロセッサ111は、例えばCPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)またはPLD(Programmable Logic Device)などである。プロセッサ111は、CPU、MPU、DSP、ASIC、FPGA、PLDなどのうちの2以上の要素の組み合わせであってもよい。
 RAM112は、プロセッサ111に実行させるBIOS、OSおよびアプリケーションのプログラムの少なくとも一部を一時的に記憶する。また、RAM112はプロセッサ111による処理に用いる各種データを記憶する。
 PCIスイッチ113,114は、内部バス接続用のPCIeインタフェースを提供するスイッチデバイスである。PCIスイッチ113,114はMP190と接続されている。PCIスイッチ113,114は、プロセッサ111とIOユニット140,140a、IFボード150,150a、MMB160およびPCIボックス200,200aとの間の通信を中継する。
 IOユニット140は、IOコントローラ141、ROM(Read Only Memory)142、SVP(SerVice Processor)143、メモリ144、PCIスロット145,145a,・・・、ビデオコントローラ146およびHDDコントローラ147を有する。IOユニット140aもIOユニット140と同様のデバイスを有する。
 IOコントローラ141は、PCIeのインタフェースやレガシーインタフェース(例えば、ROM142と接続するためのインタフェースやSVP143と接続するためのインタフェース)などを集約したスイッチデバイスである。IOコントローラ141はPCIスイッチの機能も有する。IOコントローラ141は、VGAポートやUSBポートを備えて、KVMの入出力機能を担ってもよい。IOコントローラ141は、MP190と接続されている。IOコントローラ141は、SB110,110aと、PCIスロット145,145a、ビデオコントローラ146およびHDDコントローラ147との間の通信を中継する。
 ROM142は、BIOSのプログラムやファームウェアのプログラムを記憶するメモリである。SB110,110aは、ROM142に記憶されたプログラムを読み出して実行することができる。
 SVP143は、IOユニット140の各デバイスの情報を収集して、MMB160に提供する管理用のプロセッサである。SVP143とMMB160との間で直接通信するための専用のインタフェースを設けてもよい。
 メモリ144は、SVP143に実行させるファームウェアのプログラムを記憶するメモリである。
 PCIスロット145,145a,・・・は、PCIカードを挿設可能なスロットである。例えば、PCIスロット145にはPCIカード301が挿設されている。PCIスロット145aにはPCIカード302が挿設されている。なお、IOユニット140aの各PCIスロットには、PCIカード301a,302a,・・・が挿設されている。
 ビデオコントローラ146は、SB110,110aからの命令に従って、サーバ100に接続されたディスプレイ(図示を省略)に画像を出力する。ビデオコントローラ146は、PCIeに対応したデバイスで実現されてもよい。
 HDDコントローラ147は、SB110,110aからの命令に従って、HDDユニット130,130aに搭載されたHDDやSSDに対するデータの書き込みや読み出しを行う。HDDコントローラ147は、PCIeに対応したデバイスで実現されてもよい。
 IFボード150は、PCIスイッチ151、通信IF152およびPCIボックスIF153,154を有する。IFボード150aもIFボード150と同様のデバイスを有する。
 PCIスイッチ151は、内部バス接続用のPCIeインタフェースを提供するスイッチデバイスである。PCIスイッチ151はMP190と接続されている。PCIスイッチ151は、SB110,110aと通信IF152、PCIボックスIF153,154との間の通信を中継する。
 通信IF152は、ネットワーク10と接続するためのインタフェースである。通信IF152は、有線インタフェースでもよいし、無線インタフェースでもよい。
 PCIボックスIF153,154は、PCIボックス200,200aと接続するためのインタフェースである。PCIボックスIF153,154は、PCIeに対応したインタフェースでもよい。
 MMB160は、プロセッサ161、ROM162、RAM163および通信部164を有する。
 プロセッサ161は、MMB160の情報処理を制御する。プロセッサ161は、マルチプロセッサであってもよい。プロセッサ161は、例えばCPU、MPU、DSP、ASIC、FPGAまたはPLDなどである。プロセッサ161はCPU、MPU、DSP、ASIC、FPGA、PLDなどのうちの2以上の要素の組み合わせであってもよい。
 ROM162は、プロセッサ161に実行させるファームウェアのプログラムを記憶するメモリである。また、ROM162は、プロセッサ161による処理に用いる各種データを記憶する。
 RAM163は、プロセッサ161に実行させるファームウェアのプログラムの少なくとも一部を一時的に記憶する。また、RAM163は、プロセッサ161による処理に用いる各種データを記憶する。
 通信部164は、内部バス接続用のインタフェースを提供するデバイスである。通信部164は、MP190に接続されている。通信部164は、プロセッサ161とSB110,110a、IOユニット140,140aおよびIFボード150,150aとの通信を中継する。
 ここで、以下の説明では、SB110,110a、IOユニット140,140a、IFボード150,150aおよびPCIボックス200,200aを総称して“PCIユニット”と呼ぶことがある。また、各PCIユニットに搭載されるPCIスイッチ113やPCIカード301などのデバイスを総称して“PCIデバイス”と呼ぶことがある。PCIユニットおよびPCIデバイスは、何れも周辺装置の一例である。
 図6は、第2の実施の形態のPCIボックスのハードウェア例を示す図である。PCIボックス200は、PCIスイッチ201およびPCIスロット202,202a,・・・を有する。PCIボックス200aもPCIボックス200と同様のPCIデバイスを有する。
 PCIスイッチ201は、サーバ100と接続するためのPCIインタフェースを提供するPCIデバイスである。PCIスイッチ201は、サーバ100とPCIスロット202,202a,・・・との間の通信を中継する。
 PCIスロット202,202a,・・・は、PCIカードを挿設可能な拡張スロットである。例えば、PCIスロット202にはPCIカード301bが挿設されている。PCIスロット202aにはPCIカード302bが挿設されている。なお、PCIボックス200aの各PCIスロットには、PCIカード301c,302c,・・・が挿設されている。
 図7は、第2の実施の形態のPCIデバイスの接続例を示す図である。図7ではSB110を最上位としたPCIデバイスの論理的な接続(PCIデバイスツリー)を例示している。ルートコンプレックスはプロセッサ111に組み込まれている。例えば、SB110の配下にIOユニット140が接続される。また、SB110の配下にIFボード150が接続される。更に、IFボード150の配下にPCIボックス200が接続される。すなわち、SB110、IOユニット140、IFボード150およびPCIボックス200を要素に含む1つのグループが実現されている。
 ここで、PCIeでは、バス番号およびデバイス番号を用いて、各PCIデバイスを識別し得る。デバイス番号は、バス番号に対して一意である。すなわち、バス番号およびデバイス番号の組み合わせ(例えば、“バス番号:デバイス番号”のように表記する)が各PCIデバイスの識別情報となる。図7では、例えば各PCIデバイスの識別情報は次のようになる。
 SB110内のプロセッサ111直下のバスはバス番号“0”(図7ではBUS#0と表記。以下、同様)である。PCIスイッチ113はデバイス番号“0”(図7ではdev#0と表記。以下、同様)である。PCIスイッチ114はデバイス番号“1”である。よって、PCIスイッチ113の識別情報は“0:0”である。PCIスイッチ114の識別情報は“0:1”である。
 PCIスイッチ113直下のバスはバス番号“1”である。PCIスイッチ113の配下にはIOユニット140のIOコントローラ141が接続されている。IOコントローラ141はデバイス番号“0”である。よって、IOコントローラ141の識別情報は“1:0”である。
 IOコントローラ141内のバスはバス番号“2”である。IOコントローラ141には、PCIスロット145,145a,・・・、ビデオコントローラ146およびHDDコントローラ147が接続されている。PCIスロット145に挿設されたPCIカード301はデバイス番号“1”である。PCIスロット145aに挿設されたPCIカード302はデバイス番号“2”である。よって、PCIカード301の識別情報は“2:1”である。PCIカード302の識別情報は“2:2”である。同様にして、他のPCIカードの識別情報も付与される。
 また、ビデオコントローラ146はデバイス番号“9”である。よって、ビデオコントローラ146の識別情報は“2:9”である。HDDコントローラはデバイス番号“10”である。よって、HDDコントローラの識別情報は“2:10”である。
 ここで、PCIスロット145,145a,・・・、ビデオコントローラ146およびHDDコントローラ147は、IOユニット140の所定の位置に搭載されている。この位置を示す情報をスロット番号と呼ぶ。IOユニット140のスロット番号が分かれば、その位置に搭載されたPCIデバイス(例えば、PCIスロット145であればPCIカード301)を特定できることになる。PCIスロット145のスロット番号は“0”(図7ではslot#0と表記。以下、同様)である。PCIスロット145aのスロット番号は“1”である。他のPCIスロットのスロット番号も同様に振られる。ビデオコントローラ146のスロット番号は“8”である。HDDコントローラ147のスロット番号は“9”である。
 PCIスイッチ114直下のバスはバス番号“3”である。PCIスイッチ114の配下にはIFボード150のPCIスイッチ151が接続されている。PCIスイッチ151はデバイス番号“0”である。よって、PCIスイッチ151の識別情報は“3:0”である。
 PCIスイッチ151内のバスはバス番号“4”である。PCIスイッチ151には、通信IF152およびPCIボックスIF153,154が接続されている。通信IF152はデバイス番号“1”である。PCIボックスIF153はデバイス番号“2”である。PCIボックスIF154はデバイス番号“3”である。よって、通信IF152の識別情報は“4:1”である。PCIボックスIF153の識別情報は“4:2”である。PCIボックスIF154の識別情報は“4:3”である。
 PCIボックスIF153直下のバスはバス番号“5”である。PCIボックスIF153の配下にはPCIボックス200のPCIスイッチ201が接続されている。PCIスイッチ201はデバイス番号“0”である。よって、PCIスイッチ201の識別情報は“5:0”である。
 ここで、通信IF152およびPCIボックスIF153,154の搭載位置にもスロット番号が振られている。通信IF152のスロット番号は“0”である。PCIボックスIF153のスロット番号は“1”である。PCIボックスIF154のスロット番号は“2”である。
 PCIスイッチ201内のバスはバス番号“6”である。PCIスイッチ201には、PCIスロット202,202a,・・・が接続されている。PCIスロット202(あるいは、PCIスロット202に挿設されたPCIカード301b)はデバイス番号“1”である。PCIスロット202a(あるいは、PCIスロット202aに挿設されたPCIカード302b)はデバイス番号“2”である。よって、PCIカード301bの識別情報は“6:1”である。PCIカード302bの識別情報は“6:2”である。同様にして、他のPCIカードの識別情報も付与される。
 ここで、PCIスロット202,202a,・・・の搭載位置にもスロット番号が振られている。PCIスロット202のスロット番号は“0”である。PCIスロット202aのスロット番号は“1”である。他のPCIスロットのスロット番号も同様に振られる。
 なお、デバイスの識別情報をバス番号とデバイス番号との組み合わせとした。ただし、1つのデバイスにおいて複数のファンクションを利用可能であれば、複数のファンクションそれぞれを示すファンクション番号を更に組み合わせた識別情報を用いて、当該デバイスをファンクション単位で管理してもよい。その場合、当該デバイスは、仮想的に複数のデバイスとして扱われることになる(ただし、対応するスロット番号は1つ)。例えば、ビデオコントローラ146が動画処理機能および音声処理機能を有していれば、画像処理機能および音声処理機能それぞれに異なる識別情報(バス番号、デバイス番号までは同じだが、ファンクション番号が異なる識別情報)を付与して管理してもよい。
 図8は、第2の実施の形態のソフトウェア例を示す図である。図8に示すSB110の機能は、RAM112に記憶されたプログラムをプロセッサ111が実行することで実現されてもよい。図8に示すMMB160の機能は、RAM163に記憶されたプログラムをプロセッサ161が実行することで実現されてもよい。なお、SB110aもSB110と同様の機能を有する。SB110は、BIOS115、OS116および通知部117を有する。
 BIOS115は、SB110が用いる周辺装置を制御する。BIOS115は、周辺装置を利用するための所定の準備処理を行う。BIOS115は、SB110により利用できるPCIバスを探索する。BIOS115は、探索結果に基づいて図7で示したPCIデバイスツリーを示す情報(以下、単にPCIデバイスツリー情報という)を生成する。PCIデバイスツリー情報は、例えば上位ノードと下位ノードとをポインタで結合した連結リストである。BIOS115はMMB160と通信可能である。また、BIOS115は周辺装置に関するログを出力する。
 OS116は、業務アプリケーションなどの他のソフトウェアに対して、各種ハードウェアとのインタフェースを提供する基本ソフトウェアである。OS116は、起動時やPCIデバイスの取り付け、取り外しなどが行われた場合に、PCIデバイスの初期化を行う。その際に、OS116は、自身の処理を最適に行えるようにBIOSが生成したPCIデバイスツリー情報を変更することがある。BIOS115により生成された情報は、OS116の処理にとって必ずしも都合よく生成されているとは限らないからである。また、OS116は周辺装置に関するログを出力する。
 通知部117は、OS116とMMB160との間の通信を仲介する。通知部117は、OS116により取得された情報をMMB160に提供する。また、通知部117は、MMB160から取得した情報をOS116に提供する。
 MMB160は、記憶部165および管理部166を有する。記憶部165は、管理部166の処理に用いられる情報を記憶する。当該情報は、PCIユニット間の論理的な接続設定を示す情報や、各PCIユニットが備えるスロットの物理的な位置を管理するための情報などを含む。
 管理部166は、BIOS115やOS116による周辺装置の設定内容を取得して記憶部165に格納する。管理部166は、記憶部165に記憶された情報に基づいて、各PCIデバイスが搭載された位置を管理する。管理部166は、BIOS115やOS116から、何れかのPCIデバイスの位置の問い合わせを受け付けると、記憶部165に記憶された情報を参照して、当該PCIデバイスの位置を示す情報を提供する。
 図9は、第2の実施の形態の接続設定テーブルの例を示す図である。接続設定テーブル165aは、SB110,110a、IOユニット140,140a、IFボード150,150aおよびPCIボックス200,200aの論理的な接続設定を定義した情報である。PCIユニットの接続関係を定義した情報ということもできる。接続設定テーブル165aは記憶部165に格納される。接続設定テーブル165aは、SBおよび接続ユニットの項目を含む。
 SBの項目には、SBの識別情報が登録される。接続ユニットの項目には、当該SBにより用いられるIOユニット、IFボードおよびPCIボックスを示す情報が登録される。ここで、これらの各PCIユニットの識別情報は例えば次の通りである。
 SB110は“SB#0”である。SB110aは“SB#1”である。IOユニット140は“IOU#0”である。IOユニット140aは“IOU#1”である。IFボード150は“IFB#0”である。IFボード150aは“IFB#1”である。PCIボックス200は“PCIB#0”である。PCIボックス200aは“PCIB#1”である。
 例えば、接続設定テーブル165aには、SBが“SB#0”、接続ユニットが“IOU#0”、“IFB#0”、“PCIB#0”という情報が登録されている。これは、SB110とIOユニット140、IFボード150およびPCIボックス200とを論理的に接続して、1つのグループ(パーティションということもある)とすることを示している。
 また、例えば、接続設定テーブル165aには、SBが“SB#1”、接続ユニットが“IOU#1”、“IFB#1”という情報が登録されている。これは、SB110aとIOユニット140aおよびIFボード150aとを論理的に接続して1つのグループとすることを示している。
 なお、接続設定テーブル165aには、PCIボックス200aの識別情報は登録されていない。これは、PCIボックス200aが、何れのグループにも属さず、フリーの状態であることを意味する。
 図10は、第2の実施の形態の装置構成テーブルの例を示す図である。装置構成テーブル165bは、サーバ100における各PCIユニットのスロット位置とデバイス番号とを対応付けた情報である。装置構成テーブル165bは記憶部165に格納される。装置構成テーブル165bは、ユニット、物理位置およびデバイス番号の項目を含む。
 ユニットの項目は、各PCIユニットの識別情報が登録される。物理位置の項目には、当該PCIユニットが備えるスロットの位置やPCIデバイスの位置を示す情報が登録される。デバイス番号の項目には、当該物理位置に対応するデバイス番号が登録される。
 例えば、装置構成テーブル165bには、ユニットが“SB#0”、物理位置が“SB#0-PCISW#0”、デバイス番号が“0”という情報が登録される。これは、SB110aのPCIスイッチ113の物理位置を示す情報として“SB#0-PCISW#0”が付与されており、当該PCスイッチ113にデバイス番号“0”が付与されていることを示す。
 このように、装置構成テーブル165bにおいて、各PCIユニットと当該PCIユニットが備えるスロットの位置やPCIデバイスの位置を示す情報とデバイス番号とが予め対応付けられる。
 図11は、第2の実施の形態の物理位置管理テーブルの例を示す図である。物理位置管理テーブル165cは、管理部166により生成され記憶部165に格納される。物理位置管理テーブル165cは、SB、バス番号、デバイス番号、上位バス番号および物理位置の項目を含む。
 SBの項目には、SBの識別情報が登録される。バス番号の項目には、バス番号が登録される。デバイス番号の項目には、デバイス番号が登録される。上位バス番号の項目には、上位のバスのバス番号が登録される。物理位置の項目には、スロットの位置やPCIデバイスの位置を示す情報が登録される。
 例えば、物理位置管理テーブル165cには、バス番号が“0”、デバイス番号が“0”、上位バス番号が“-”(設定なし)、物理位置が“SB#0-PCISW#0”という情報が登録されている。これは、SB110によって用いられる、識別情報(バス番号:デバイス番号)“0:0”であるPCIスイッチ113の物理的な位置を示す情報が“SB#0-PCISW#0”であることを示している。
 また、例えば、物理位置管理テーブル165cには、バス番号が“2”、デバイス番号が“1”、上位バス番号が“1”、物理位置が“IOU#0-slot#0”という情報が登録されている。これは、SB110によって用いられる、識別情報“2:1”であるPCIカード301の物理的な位置を示す情報が“IOU#0-slot#0”であることを示している。
 次に、管理部166が提供するGUI(Graphical User Interface)の例を説明する。
 図12は、第2の実施の形態の接続設定用のGUIの例を示す図である。図12(A)はグループ選択ウィンドウ500を例示している。図12(B)はユニット選択ウィンドウ510を例示している。
 管理部166は、グループ選択ウィンドウ500およびユニット選択ウィンドウ510の情報を生成して、サーバ100に接続されたディスプレイに表示させることができる。あるいは、管理部166は、ネットワーク10(または、MMB160と直接接続された他のネットワーク)を介してサーバ100と通信するコンピュータ上のブラウザに、グループ選択ウィンドウ500およびユニット選択ウィンドウ510を表示させてもよい。
 管理部166は、グループ選択ウィンドウ500およびユニット選択ウィンドウ510に入力された情報に基づいて、記憶部165に記憶された接続設定テーブル165aを更新する。例えば、システム管理者はサーバ100に接続されたマウスやキーボードなどの入力デバイスを用いて、グループ選択ウィンドウ500およびユニット選択ウィンドウ510に情報を入力できる。
 グループ選択ウィンドウ500は、複数のグループのうちから、PCIユニットを追加したいグループを選択するためのGUIである。例えば、グループ選択ウィンドウ500にはグループ一覧表示領域501および決定ボタン502が設けられている。
 グループ一覧表示領域501は、グループの一覧を表示するための領域である。1つの行が1つのグループに相当する。グループ一覧表示領域501は、選択、項番、グループ名、電源状態、SB、IOUおよびPCIBの項目を含む。
 選択の項目には、行を選択するためのフォーム(例えば、ラジオボタン)が表示される。項番の項目には、行番号が表示される。グループ名の項目には、グループを識別するための名称(グループ一覧表示領域501の例では、業務名“業務X”“業務Y”など)が表示される。電源状態の項目には、各グループの電源状態(“ON”または“OFF”)が表示される。SBの項目には、グループに属するSBを示す情報が表示される。具体的には、当該グループに属するSBの識別情報に対して“1”が登録される。他方、当該グループに属さないSBの識別情報に対して“0”が登録される。IOUの項目には、グループに属するIOユニットを示す情報が表示される。PCIBの項目には、グループに属するPCIボックスを示す情報が登録される。
 例えば、グループ一覧表示領域501には、項番が“0”、グループ名が“業務X”、電源状態が“ON”、SB#0が“1”、SB#1が“0”、IOU#0が“1”、IOU#1が“0”、PCIB#0が“1”、PCIB#1が“0”という情報が表示されている。
 これは、項番“0”に対応するグループが、SB110、IOユニット140およびPCIボックス200を含むものであり、そのグループ名が“業務X”、電源状態が“ON”であることを示す。なお、IFボード150はSB110と同一のグループに属するものとする。
 例えば、グループ一覧表示領域501では選択の項目において項番“0”の行が選択されている。決定ボタン502は当該選択を決定するためのボタンである。例えば、ポインタP1により決定ボタン502が押下操作されると、当該選択が決定される。すると、管理部166は、ユニット選択ウィンドウ510の情報を生成する。
 ユニット選択ウィンドウ510は、グループに対して追加したいPCIユニットの選択を受け付けるためのGUIである。例えば、ユニット選択ウィンドウ510には、ユニット一覧表示領域511および決定ボタン512が設けられている。
 ユニット一覧表示領域511は、追加可能なPCIユニットの一覧を表示するための領域である。ユニット一覧表示領域511は、選択、追加可能ユニット、状態および説明の項目を含む。
 選択の項目には、行を選択するためのフォーム(例えば、ラジオボタン)が表示される。追加可能ユニットの項目には、フリーであるPCIユニット(追加可能なPCIユニット)の識別情報が表示される。状態の項目には、当該PCIユニットの状態が表示される。説明の項目には、当該PCIユニットのスペックなどの説明が表示される。
 例えば、ユニット一覧表示領域511には、追加可能ユニットが“PCIB#1”、状態が“OK”、説明が“PCIスロット12個”という情報が表示されている。これは、PCIボックス200aが現在フリーであり、当該PCIユニットの状態が正常(“OK”)であること、また、PCIボックス200aがPCIスロットを12個もつものであることを示している。
 例えば、ユニット一覧表示領域511ではPCIボックス200aが選択されている。決定ボタン512は当該選択を決定するためのボタンである。例えば、ポインタP1により決定ボタン512が押下操作されると、当該選択が決定される。すると、管理部166は、上記項番“0”のグループに対して、PCIボックス200aを追加する。これにより、接続設定テーブル165aも更新されることになる。接続設定テーブル165aには、グループ一覧表示領域501に表示するための他の情報(例えば、グループ名など)が登録されてもよい。
 なお、図12の例では、グループに対するPCIユニットの追加を行う場合の操作を例示したが、グループに対するPCIユニットの削除を行うこともできる。例えば、グループ選択ウィンドウ500において、削除用のGUIを表示させるためのボタンを設ける。例えば、削除用のGUIでは、グループ選択ウィンドウ500で選択されたグループに含まれるPCIユニットの一覧から、削除したいPCIユニットを選択するためのフォームと、当該選択を確定するためのボタンを表示させる。そうすれば、当該削除用のGUIで選択されたPCIユニットを、選択されたグループから削除して、フリーの状態とすることができる。フリーの状態となったPCIユニットは、同じグループまたは別のグループに対して追加し直すことができる。
 このように、サーバ100では、PCIユニット単位にSBとの論理的な接続関係を適宜変更することができる。このような変更が行われると、例えば、SBに対するPCIデバイスが変更される。このため、SBで動作するOSはPCIデバイスに対するバス番号を振り直すことになる。また、サーバ100ではPCIデバイス単位の交換も行われる。
 図13は、第2の実施の形態のPCIカードの交換作業の例を示す図である。図13では、PCIカード307をIOユニット140のPCIスロット(スロット番号“6”)から抜き取って、交換する様子を例示している。例えば、保守作業などによって、PCIカードがIOユニット140,140aおよびPCIボックス200,200aから抜き取られたり、新たに挿設されたりする。このように、PCIカード単位での交換などが発生した場合にも、SBに対するPCIデバイスの変更が生ずる。特に、このようなPCIカードの交換は、サーバ100の稼働中に行うこともできるし(活性保守)、サーバ100の停止中に行うこともできる。サーバ100の稼働中に行われれば、SBで動作するOSはPCIデバイスに対するバス番号を振り直すことになる。
 管理部166は、PCIデバイスに対するバス番号が振り直されたとしても、各PCIデバイスの更新後の識別情報と物理位置を示す情報との対応関係を作り直す。次に、第2の実施の形態の処理手順を説明する。以下の説明では、SB110に関連する処理について説明するが、SB110aに関連する処理についても同様の手順である。
 図14は、第2の実施の形態の処理を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
 (ステップS11)管理部166は、記憶部165に記憶された接続設定テーブル165aを参照して、PCIユニット間の論理的な接続設定を行う。
 (ステップS12)管理部166は、各PCIユニットの電源をオンにする。
 (ステップS13)プロセッサ111は、ROM142に格納されたBIOS115のプログラムをRAM112にロードし、BIOS115の機能を発揮する(BIOS115の起動処理)。
 (ステップS14)BIOS115は、PCIデバイスの初期化を行う。具体的には、BIOS115は各PCIデバイスにバス番号を付与し、PCIデバイスツリー情報を生成する。BIOS115は、PCIデバイスの初期化が完了した旨を管理部166に通知する。管理部166は、当該通知を受け付ける。
 (ステップS15)管理部166は、PCIデバイスの情報をBIOS115から収集する。BIOS115から収集される情報には、PCIデバイスツリー情報が含まれる。
 (ステップS16)管理部166は、BIOS115から収集された情報、記憶部165に記憶された接続設定テーブル165aおよび装置構成テーブル165bに基づいて、物理位置管理テーブル165cを生成する。例えば、管理部166は、接続設定テーブル165aによりPCIユニットのツリー構造を把握できる。接続設定テーブル165aの例でいえば、IOユニット140(IOU#0)およびIFボード150(IF#0)はサーバ100に内蔵できるPCIユニットであり、SB110(SB#0)の直下に接続されることになる。また、PCIボックス200(PCIB#0)はサーバ100に外付けするPCIユニットであり、IFボード150の配下に接続されることになる。また、装置構成テーブル165bには、各PCIデバイスのデバイス番号が登録されている。接続設定テーブル165aおよび装置構成テーブル165bから、PCIユニットのツリー構造とデバイス番号とを把握できるので、これとBIOS115から取得されたPCIデバイスツリー情報に基づいて、各PCIデバイスのバス番号を把握できる。管理部166は、このようにして把握された各PCIデバイスのバス番号を物理位置管理テーブル165cに登録する。
 (ステップS17)プロセッサ111は、HDDユニット130に格納されたOS116のプログラムをRAM112にロードし、OS116の機能を発揮する(OS116の起動処理)。
 (ステップS18)OS116は、PCIデバイスやデバイスドライバの初期化を行う。具体的な処理内容は、ステップS14と同様である。当該初期化において、OS116はBIOS115により付与された各PCIデバイスのバス番号を変更することもある。OS116によるPCIデバイスの初期化が完了すると、通知部117は、その旨を管理部166に通知する。管理部166は、当該通知を受け付ける。
 (ステップS19)管理部166は、通知部117を介してPCIデバイスの情報をOS116から収集する。OS116から収集される情報には、PCIデバイスツリー情報が含まれる。管理部166は、ステップS18の処理により、各PCIデバイスのバス番号の設定に変更があるか否かを判定する。変更がある場合、処理をステップS20に進める。変更がない場合、処理を終了する。
 (ステップS20)管理部166は、OS116によるバス番号の変更に応じて、物理位置管理テーブル165cを更新する。
 このようにして、管理部166は、起動時にBIOS115およびOS116によって各PCIデバイスに付与された識別情報と物理位置を示す情報との対応関係を管理する。特に、BIOS115(第1のソフトウェア)によって付与された識別情報がOS116(第2のソフトウェア)によって変更されることもあるので、当該変更に応じて、当該対応関係を示す情報も更新する。次に、上記ステップS16,S20における処理を具体的に説明する。
 図15は、第2の実施の形態のバス番号の設定例を示す図である。図15では、図7の接続例に対応するPCIユニットのツリー構造を示す情報を例示している。ただし、バス番号は未設定の状態である。このため、各ノードにおけるバス番号を“-”(ハイフン)と表記している。前述のように、管理部166は記憶部165に記憶された接続設定テーブル165aおよび装置構成テーブル165bに基づいて当該ツリー構造を把握できる。
 ここで、ノード600はルートコンプレックスである。ノード700はPCIスイッチ113に相当する情報である。ノード701はIOコントローラ141に相当する情報である。ノード710はPCIカード301に相当する情報である。ノード720はPCIカード302に相当する情報である。ノード800はPCIスイッチ114に相当する情報である。ノード801はPCIスイッチ151に相当する情報である。ノード810はPCIボックスIF153に相当する情報である。ノード811はPCIスイッチ201に相当する情報である。ノード811aはPCIカード301bに相当する情報である。なお、通信IF152およびPCIボックスIF154を含む他のPCIデバイスに対応するノードの図示を省略している(以下、同様)。
 管理部166は、BIOS115またはOS116から取得するPCIデバイスツリー情報を、図15に示すPCIユニットのツリー構造に当てはめることで、各ノードのバス番号を設定し得る。
 図16は、第2の実施の形態のバス番号の設定例を示す図(続き)である。図16では、各ノードにおいてバス番号が設定された状態を示している。管理部166は、BIOS115またはOS116からは、図7の接続例に対応するPCIデバイスツリー情報を取得している。この場合、各ノードのバス番号が次のように設定されることになる。
 ノード700のバス番号は“0”である。ノード701のバス番号は“1”である。ノード710のバス番号は“2”である。ノード720のバス番号は“2”である。ノード800のバス番号は“0”である。ノード801のバス番号は“3”である。ノード810のバス番号は“4”である。ノード811のバス番号は“5”である。ノード811aのバス番号は“6”である。
 このようにして、物理位置との対応関係も含めたPCIデバイスツリー情報が完成する。管理部166は、図16に示す物理位置との対応関係も含めたPCIデバイスツリーを、物理位置管理テーブル165cを用いて管理する。図16に示すPCIデバイスツリー情報を更新したい場合、管理部166は、古いバス番号を新しいバス番号で上書きすればよい。
 ところで、各PCIデバイスに付与された識別情報は、PCIデバイスが追加/削除されたタイミングでも変更され得る。また、当該識別情報は、PCIユニットが追加/削除されたタイミングでも変更され得る。PCIユニットは、PCIデバイスを搭載するものであり、当該PCIユニットの追加/削除はPCIデバイスの追加/削除を伴うからである。次に、PCIデバイス(または、PCIユニット)が追加/削除された際の処理手順を説明する。
 図17は、第2の実施の形態のPCIデバイス追加例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
 (ステップS21)OS116は、追加のPCIデバイスを検出する。“追加する”とは、例えば、SBとの論理的な接続の確立である。PCIデバイスを追加することで、当該SBから当該PCIデバイスを利用可能になる。SB110に対してPCIデバイスが追加される場合とは、次のような場合が考えられる。(1)SB110に対して、グループ選択ウィンドウ500およびユニット選択ウィンドウ510を用いて新たなPCIユニット(例えば、PCIボックス200a)が追加される場合。(2)IOユニット140やPCIボックス200の何れかの空きPCIスロットに対して、PCIカードが新たに挿設される場合。
 (ステップS22)OS116は、PCIデバイスやデバイスドライバの初期化を行う。具体的な処理内容は、図14のステップS14と同様である。当該初期化において、OS116は、PCIデバイスツリー情報における各PCIデバイスのバス番号を変更する。OS116によるPCIデバイスの初期化が完了すると、通知部117は、その旨を管理部166に通知する。管理部166は、当該通知を受け付ける。当該通知は、PCIデバイスツリーの変更を通知するものといえる。
 (ステップS23)管理部166は、通知部117を介して周辺装置の情報をOS116から収集する。OS116から収集される情報には、更新後のPCIデバイスツリー情報が含まれる。
 (ステップS24)管理部166は、OS116によるバス番号の変更に応じて、物理位置管理テーブル165cを更新する。
 このようにして、管理部166は、PCIデバイス(または、PCIユニット)が追加された際に、OS116から更新後のPCIデバイスの情報を取得して、PCIデバイスに付与された識別情報と物理位置を示す情報との対応関係を更新する。また、各PCIデバイスに付与された識別情報は、PCIデバイス(または、PCIユニット)が削除(論理的な接続が解除)されたタイミングでも変更され得る。次に、PCIデバイス(または、PCIユニット)が削除された際の処理手順を説明する。
 図18は、第2の実施の形態のPCIデバイス削除例を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
 (ステップS31)OS116は、PCIデバイスを削除する旨の指示を受け付ける。例えば、当該指示はOS116に対して管理者が入力デバイスを用いて入力してもよいし、管理部166がOS116に入力してもよい。すると、OS116は、当該PCIデバイスの削除処理およびデバイスドライバの削除処理を実行する。OS116は、当該削除処理において、PCIデバイスツリー情報を更新する。
 (ステップS32)OS116は、当該PCIデバイスの電源をオフにする。
 (ステップS33)通知部117は、OS116によるPCIデバイスの削除処理が完了したことを確認すると、その旨を管理部166に通知する。管理部166は、当該通知を受け付ける。当該通知は、PCIデバイスツリーの変更を通知するものといえる。
 (ステップS34)管理部166は、通知部117を介してPCIデバイスの情報をOS116から収集する。OS116から収集される情報には、更新後のPCIデバイスツリー情報が含まれる。
 (ステップS35)管理部166は、OS116によるバス番号の変更に応じて、物理位置管理テーブル165cを更新する。
 このようにして、管理部166は、PCIデバイス(または、PCIユニット)が削除された際に、OS116から更新後のPCIデバイスの情報を取得して、PCIデバイスに付与された識別情報と物理位置を示す情報との対応関係を更新する。
 以上のようにして、管理部166は、BIOS115やOS116によりPCIデバイスツリー情報が更新され得る各タイミングで、BIOS115およびOS116から当該情報を取得し、物理位置管理テーブル165cを更新する。このため、管理部166は、物理位置管理テーブル165cを参照することで、各SBからのPCIデバイスの搭載位置の問い合わせに適切に応答することができる。次に、その手順を説明する。なお、以下では、OS116がPCIデバイスの搭載位置を問い合わせる場合を例示するが、BIOS115がPCIデバイスの搭載位置を問い合わせる場合も同様の手順となる。
 図19は、第2の実施の形態の位置応答の処理例を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
 (ステップS41)OS116は、何れかのPCIデバイスでエラーが発生したことを検出する。OS116は、エラーが発生したPCIデバイスのバス番号とデバイス番号とを特定し、通知部117に出力する。例えば、PCIカード301のエラーであれば、バス番号:デバイス番号は“2:1”である。あるいは、PCIスイッチ201のエラーであれば、バス番号:デバイス番号は“5:0”である。
 (ステップS42)通知部117は、エラーが発生したPCIデバイスの物理位置を管理部166に問い合わせる。この問い合わせには、OS116から取得されたバス番号とデバイス番号とが含まれる。管理部166は、当該問い合わせを受け付ける。
 (ステップS43)管理部166は、通知部117から取得されたバス番号およびデバイス番号の組(識別情報)を、記憶部165に記憶された物理位置管理テーブル165cから検索する。管理部166は、検索されたレコードに含まれる物理位置の情報を抽出する。例えば、バス番号:デバイス番号が“2:1”であれば、物理位置“IOU#0-slot#0”を抽出する。あるいは、バス番号:デバイス番号が“5:0”であれば、物理位置“PCIB#0-PCISW#0”である。
 (ステップS44)管理部166は、ステップS43で抽出した物理位置の情報を通知部117に応答する。通知部117は、物理位置の情報を受け付ける。通知部117は、当該物理位置の情報をOS116に出力する。
 (ステップS45)OS116は、エラーが発生したPCIデバイスに関するログを生成する。当該ログには、通知部117を介して取得された当該PCIデバイスの物理位置を示す情報が含まれる。
 (ステップS46)OS116は、生成されたログを出力する。OS116は、当該ログを所定のログファイルに出力してもよい。OS116は、サーバ100に接続されたディスプレイに当該ログの内容を表示させてもよい。
 このようにして、管理部166は、BIOS115やOS116からの問い合わせに対して、PCIデバイスの位置を応答する。管理部166は、BIOS115やOS116がPCIデバイスツリーの設定を変更する各タイミングにおいて、管理部166自身が管理する物理位置管理テーブル165cを適宜更新する。このため、BIOS115やOS116からの問い合わせに対して、適切に応答できる。
 なお、図7の説明において、PCIデバイスの識別情報にファンクション番号を含めてもよいものとした。その場合、管理部166は、BIOS115やOS116からファンクション番号を含む識別情報を含んだPCIデバイスツリー情報を収集できる。よって、管理部166は、当該識別情報と搭載位置との対応関係を管理し得る。通知部117は、ファンクション番号を含む識別情報を用いて、管理部166に位置の問い合わせを行えばよい。そうすれば、管理部166は、当該識別情報に対応する搭載位置を応答できる。
 図20は、第2の実施の形態のログ出力例を示す図である。OS116は、ログウィンドウ900にエラーのログを出力することが考えられる。その場合、例えば、エラーの内容に加えて、位置情報901も当該ログに含めることができる。例えば、位置情報901は、“IOU#0-slot#0”という文字列である。
 サーバ100の保守員は、位置情報901を参照して、エラーが発生したPCIデバイスが搭載されたサーバ100上の位置を把握できる。例えば、当該位置情報として出力される文字列を、PCIスロット145,145a,・・・やPCIスロット202,202a,・・・などの外側から視認可能な位置に表記しておく。
 より具体的には、“slot#0”という文字列をスロット145の外側から視認可能な位置に表記しておく。すると、位置情報901の文字列を参照した保守員は、当該文字列のうち“IOU#0”の部分により、IOユニット140を特定できる。IOユニット140は、図3で示したようにIOユニット140aよりも上側に搭載されている。更に、保守員は、位置情報901の文字列の“slot#0”の部分と、スロット145の外側に表記された“slot#0”の文字列を照合することでPCIカード301を特定できる。
 あるいは、サーバ100のマニュアルなどに、位置情報の文字列が示す、サーバ100上の位置を記載しておいてもよい。そうすれば、保守員は、出力されたログの内容とマニュアルとを参照して、保守作業を行うべきPCIデバイスを特定できる。
 図21は、第2の実施の形態のバス番号の変更例を示す図である。図21では、各PCIユニットにおける一部のPCIデバイスのみを図示し、他のPCIデバイスの図示を省略している。また、各PCIデバイスの名称に代えて、デバイス番号を表記している。
 SB110に関するPCIデバイスツリー情報は、BIOS115により各PCIデバイスに対するバス番号が設定されることで生成される。しかし、上述したように、PCIデバイスツリー情報は、その後も変更され得る。例えば、OS116が周辺装置の初期化を行うタイミングである。また、例えば、SB110に対してPCIデバイス(または、PCIユニット)が追加/削除されたタイミングである。このため、当初のPCIデバイスツリー情報が、終始維持されるとは限らない。
 例えば、図7で示したPCIデバイスツリーに対して、PCIボックス200aが追加されることで、バス番号が更新され得る。その場合、新たにバス番号が振り直され、バス番号“7”、“8”が追加され得る。
 また、PCIボックス200aが追加された状態から、PCIボックス200が削除されることも考えられる。その場合も新たにバス番号が振り直される。その場合、例えば、IFボード150やPCIボックス200aに上記とは異なるバス番号が付与される可能性もある。例えば、PCIボックス200との接続が解除されるとすると、バス番号“5”、“6”が空きとなる。したがって、PCIボックスIF154配下のバスがバス番号“7”からバス番号“5”に、PCIボックス200a内のPCIスイッチのバスがバス番号“8”からバス番号“6”に変更されることが考えられる。すると、PCIボックス200aの各PCIデバイスの識別情報も変わることになる。
 管理部166は、このようなPCIデバイスツリーの更新に追随して、物理位置管理テーブル165cを更新する。このため、BIOS115やOS116からPCIデバイスの搭載位置の問い合わせを受けた場合に、当該PCIデバイスの搭載位置を示す適切な情報を応答できる。このため、BIOS115やOS116は、PCIデバイスの搭載位置を示す適切な情報をログに含めて出力できる。
 なお、第2の実施の形態の情報処理は、MMB160が備える管理部166により実現されるものとしたが、他のハードウェアが管理部166の機能を有してもよい。例えば、SVP143が管理部166に相当する機能を担うことも考えられる。
 図22は、第2の実施の形態の他のソフトウェア例(その1)を示す図である。SVP143は、管理部143aを有する。管理部143aの機能は、SVP143がメモリ144に格納されたプログラムを実行することで実現されてもよい。管理部143aは、管理部166の代わりに、管理部166と同じ処理を行う。
 管理部143aは、記憶部165に格納される接続設定テーブル165a、装置構成テーブル165bおよび物理位置管理テーブル165cに相当する情報をメモリ144に格納してもよい。あるいは、管理部143aは、接続設定テーブル165aおよび装置構成テーブル165bをMMB160から取得し、物理位置管理テーブル165cに相当する情報のみをメモリ144に格納して管理してもよい。
 このように、SVP143に管理部143aを設けて、BIOS115やOS116に対するPCIデバイスの搭載位置を示す情報の提供を行うようにしてもよい。このようにすると、SVPはIOユニットごとに搭載されるため、複数のSVPにより第2の実施の形態の処理を分散して実行できる。例えば、SB110とIOユニット140とが論理的に接続される場合には、管理部143aがBIOS115やOS116によって設定されたPCIデバイスツリーとデバイス位置との対応関係を管理する。また、例えば、SB110aとIOユニット140aとが論理的に接続される場合には、IOユニット140aのSVPで動作する管理部が、SB110aで動作するBIOSやOSによって設定されたPCIデバイスツリーとデバイス位置との対応関係を管理する。このように処理を分散すれば、MMB160の負荷が軽減される。
 また、SVPに管理部を設ければ、MMB160に管理部166を設けなくてもよい。あるいは、サーバ100にMMB160を設けなくても、第2の実施の形態の情報処理を実現できる。
 なお、第2の実施の形態では、通知部117がOS116と管理部166との間の通信を仲介するものとしたが、ACPI(Advanced Configuration and Power Interface)ドライバがOS116と管理部166との間の通信を仲介してもよい。ここで、ACPIドライバは電源管理用のソフトウェアである。
 図23は、第2の実施の形態の他のソフトウェア例(その2)を示す図である。SB110は、通知部117の機能をACPIドライバ118により実現してもよい。例えば、ACPIドライバ118のプログラムは、ROM142などに予め格納されてもよい。プロセッサ111は、ROM142に格納された当該プログラムをRAM112にロードして実行することで、ACPIドライバ118の機能を発揮してもよい。
 ACPIドライバ118は、OS116によるPCIデバイスの初期化完了の通知や、PCIデバイスの搭載位置の問い合わせなどを、管理部166に対して行う。具体的には、図14,17,18,19における通知部117の処理を、ACPIドライバ118の処理として読み替えればよい。管理部166は、通知部117の代わりにACPIドライバ118を介して、OS116と通信する。この場合、通知部117をSB110に設けなくてもよい。
 なお、第2の実施の形態では機能拡張用のインタフェースとしてPCIeを例示して説明したが、他の種類のインタフェースを用いる場合にも第2の実施の形態の情報処理を適用し得る。
 また、前述のように、第1の実施の形態の情報処理は、演算部2bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ111,161およびSVP143にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体(例えば、光ディスク15など)に記録できる。
 プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
 また、上記の情報処理の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
 上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 1 情報処理装置
 2 管理装置
 3,4 装置
 5,6,7,8 周辺装置
 A,B,C,D 位置

Claims (8)

  1.  複数の装置と前記複数の装置により利用可能な複数の周辺装置とを備え、前記複数の装置それぞれにより用いられる周辺装置を変更可能な情報処理装置であって、
     前記複数の装置と前記複数の周辺装置との対応関係を示す情報および何れかの装置により用いられる周辺装置に対して当該装置により付与された識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を記憶する記憶部と、
     周辺装置の識別情報が変更された旨の通知を当該周辺装置を用いる装置から受け付けると、変更の内容に応じて前記管理情報を更新し、何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、前記管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する演算部と、
     を有する情報処理装置。
  2.  前記管理情報は、何れかの装置で動作する第1のソフトウェアにより周辺装置に付与された識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含み、
     前記演算部は、当該装置で動作する第2のソフトウェアにより当該周辺装置の識別情報が変更された旨の通知を当該装置から受け付けると、変更後の識別情報と当該周辺装置の位置を示す情報とを対応付けることで前記管理情報を更新する、
     請求の範囲第1項記載の情報処理装置。
  3.  前記演算部は、何れかの装置に対して周辺装置が追加された際に周辺装置の識別情報が変更された旨の通知を受け付け、当該装置と当該周辺装置との対応関係を示す情報および当該装置により付与された当該周辺装置の識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を前記管理情報に追加する、請求の範囲第1項または第2項記載の情報処理装置。
  4.  前記演算部は、何れかの装置と周辺装置との接続が解除された際に周辺装置の識別情報が変更された旨の通知を受け付け、当該装置と当該周辺装置との対応関係を示す情報および当該装置により付与された当該周辺装置の識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を前記管理情報から削除する、請求の範囲第1項乃至第3項の何れか1項に記載の情報処理装置。
  5.  前記演算部は、何れかの装置に対して第1の周辺装置が追加された際に、または、当該装置と第1の周辺装置との接続が解除された際に、周辺装置の識別情報が変更された旨の通知を受け付け、当該装置により用いられる第2の周辺装置の識別情報が変更されたことを検出すると、前記第2の周辺装置の変更後の識別情報と前記第2の周辺装置の位置を示す情報とを対応付けることで前記管理情報を更新する、請求の範囲第1項乃至第4項の何れか1項に記載の情報処理装置。
  6.  前記複数の装置と前記複数の周辺装置との対応関係は、前記複数の装置および前記複数の周辺装置の稼働中に変更可能である、請求の範囲第1項乃至第5項の何れか1項に記載の情報処理装置。
  7.  複数の装置と前記複数の装置により利用可能な複数の周辺装置とを備え、前記複数の装置それぞれにより用いられる周辺装置を変更可能なコンピュータに、
     何れかの装置により用いられる周辺装置に対して当該装置により付与される識別情報が変更された旨の通知を当該装置から受け付けると、前記複数の装置と前記複数の周辺装置との対応関係を示す情報および当該識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を変更の内容に応じて更新し、
     何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、前記管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する、
     処理を実行させるプログラム。
  8.  複数の装置と前記複数の装置により利用可能な複数の周辺装置とを備え、前記複数の装置それぞれにより用いられる周辺装置を変更可能な情報処理装置によって実行されるログ出力方法であって、
     何れかの装置により用いられる周辺装置に対して当該装置により付与される識別情報が変更された旨の通知を当該装置から受け付けると、前記複数の装置と前記複数の周辺装置との対応関係を示す情報および当該識別情報と当該周辺装置の位置を示す情報との対応関係を示す情報を含む管理情報を変更の内容に応じて更新し、
     何れかの装置が周辺装置に関するログを出力する際に当該装置から周辺装置の識別情報を取得すると、前記管理情報を参照して当該周辺装置の位置を示す情報を当該装置に提供する、
     ログ出力方法。
PCT/JP2012/079953 2012-11-19 2012-11-19 情報処理装置、プログラムおよびログ出力方法 WO2014076842A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2012/079953 WO2014076842A1 (ja) 2012-11-19 2012-11-19 情報処理装置、プログラムおよびログ出力方法
JP2014546829A JP6070718B2 (ja) 2012-11-19 2012-11-19 情報処理装置、プログラムおよびログ出力方法
US14/714,384 US9785599B2 (en) 2012-11-19 2015-05-18 Information processing apparatus and log output method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/079953 WO2014076842A1 (ja) 2012-11-19 2012-11-19 情報処理装置、プログラムおよびログ出力方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/714,384 Continuation US9785599B2 (en) 2012-11-19 2015-05-18 Information processing apparatus and log output method

Publications (1)

Publication Number Publication Date
WO2014076842A1 true WO2014076842A1 (ja) 2014-05-22

Family

ID=50730782

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/079953 WO2014076842A1 (ja) 2012-11-19 2012-11-19 情報処理装置、プログラムおよびログ出力方法

Country Status (3)

Country Link
US (1) US9785599B2 (ja)
JP (1) JP6070718B2 (ja)
WO (1) WO2014076842A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018216068A1 (ja) * 2017-05-22 2018-11-29 株式会社日立製作所 ストレージシステム及びマッピング方法
JP2020030706A (ja) * 2018-08-24 2020-02-27 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム
WO2022250706A1 (en) * 2021-05-28 2022-12-01 Hewlett-Packard Development Company, L.P. Port notifications

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106774706A (zh) * 2016-12-07 2017-05-31 郑州云海信息技术有限公司 一种服务器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009040920A1 (ja) * 2007-09-27 2009-04-02 Fujitsu Limited 入出力装置、情報処理システム、制御方法および制御プログラム
JP2011197845A (ja) * 2010-03-18 2011-10-06 Hitachi Ltd 計算機システム及び障害特定方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4890916B2 (ja) * 2006-04-06 2012-03-07 ルネサスエレクトロニクス株式会社 ネットワークに接続された通信装置の管理方法、機器認識装置及びコンピュータプログラム
JP2009110461A (ja) 2007-11-01 2009-05-21 Nec Fielding Ltd プリント配線板の情報採取方法、プリント配線板の構成管理方法、構成管理システム並びにそれに用いる電子機器及びプリント配線板
JP5266590B2 (ja) * 2009-09-18 2013-08-21 株式会社日立製作所 計算機システムの管理方法、計算機システム及びプログラム
JP5422490B2 (ja) 2010-06-02 2014-02-19 株式会社日立製作所 計算機システム及びi/o故障カード特定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009040920A1 (ja) * 2007-09-27 2009-04-02 Fujitsu Limited 入出力装置、情報処理システム、制御方法および制御プログラム
JP2011197845A (ja) * 2010-03-18 2011-10-06 Hitachi Ltd 計算機システム及び障害特定方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018216068A1 (ja) * 2017-05-22 2018-11-29 株式会社日立製作所 ストレージシステム及びマッピング方法
JPWO2018216068A1 (ja) * 2017-05-22 2019-07-04 株式会社日立製作所 ストレージシステム及びマッピング方法
JP2020030706A (ja) * 2018-08-24 2020-02-27 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP7205110B2 (ja) 2018-08-24 2023-01-17 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム
WO2022250706A1 (en) * 2021-05-28 2022-12-01 Hewlett-Packard Development Company, L.P. Port notifications

Also Published As

Publication number Publication date
JP6070718B2 (ja) 2017-02-01
US9785599B2 (en) 2017-10-10
JPWO2014076842A1 (ja) 2017-01-05
US20150248369A1 (en) 2015-09-03

Similar Documents

Publication Publication Date Title
US7698545B1 (en) Computer configuration chronology generator
US9043777B2 (en) Transferring files to a baseboard management controller (‘bmc’) in a computing system
US20110061049A1 (en) Storage system, and remote copy control method therefor
TW201232414A (en) Management of a data network of a computing environment
JPWO2009034760A1 (ja) 情報処理装置
CN105052111A (zh) 跨群集边界的服务迁移
US10126969B1 (en) Mechanism for non-disruptive virtual tape libraries removal and reconfiguration
JP6070718B2 (ja) 情報処理装置、プログラムおよびログ出力方法
JP2007128293A (ja) 計算機システム及び管理計算機
US10922300B2 (en) Updating schema of a database
US20140244822A1 (en) Management apparatus and method of managing server node
CN106325563B (zh) 用于标识电子设备的数据存储设备及相应的方法
US20200125260A1 (en) Artificial intelligence and machine learning systems and methods for a storage system
US9760513B2 (en) Low latency efficient sharing of resources in multi-server ecosystems
JP2008009861A (ja) システム構成管理方式
US10025521B2 (en) Obtaining additional data storage from another data storage system
US20170185444A1 (en) System for batch processing of workflows for virtualized infrastructure
US10795687B2 (en) Information processing system for setting hardware, method for setting hardware and non-transitory computer-readable storage medium recording program for setting hardware
US11086874B2 (en) Management of a virtual infrastructure via an object query language
JP2015153266A (ja) ファームウェア管理システム、方法、及び、プログラム
US10209923B2 (en) Coalescing configuration engine, coalescing configuration tool and file system for storage system
US9916148B2 (en) System for managing software package configuration
US11126964B2 (en) Method and system for dynamic auto-generation of up-to-date deployment and operations guidance for solutions
US10318155B1 (en) Mechanism for non-disruptive virtual tape drives removal and reconfiguration
JP2011171951A (ja) 情報処理システムおよび計算機への物理位置情報割り当て方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12888327

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014546829

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12888327

Country of ref document: EP

Kind code of ref document: A1