Patent Abstract:
Disclosed herewith is a composite type computer system that can assure that a PCI tree to be allocated to a computer is configured completely before the computer is powered. The composite type computer system includes a PCI switch that connects plural computers through PCI interfaces; plural PCI devices connected to the PCI switch; a system controller that controls the computers; and a PCI manager that controls allocation of the PCI devices to the computers. The system controller carries out processings in the steps of (a) powering an object computer to start up its OS; (b) acquiring the identifier of a PCI tree allocated by the system controller to the computer and PCI tree management information denoting the status of the PCI tree; (c) retrying the powering or canceling the powering of the computer if the acquired PCI tree management information denotes the status “not initialized”; and (d) carrying out the powering for the computer if the acquired PCI management information denotes the status “initialized”.

Full Description:
CLAIM OF PRIORITY 
       [0001]    The present application claims priority from Japanese patent application JP 2008-009485 filed on Jan. 18, 2008, the content of which is hereby incorporated by reference into  506  this application. 
       FIELD 
       [0002]    The present invention relates to a management technique of a computer system having plural computers and plural PCI devices that are connected to each another through a PCI switch, particularly to a technique that initializes each computer when a PCI device is allocated to the computer, controls the power to the computer, and controls changes of setting of each PCI device allocated to the computer. 
       BACKGROUND 
       [0003]    IT systems typically represented by those of the Internet sites are configured by various servers such as WEB servers that display information to users, AP (application) servers that unite and process information, DB (data base) servers that stores information, etc. Those servers use computers, each being configured by a CPU, a memory, I/O devices, etc. Because such an IT system is configured by many servers as described above, there has appeared a blade server recently so as to make it easier to manage those servers. One blade server includes many computers (e.g., as disclosed in the JP-A No. 2002-32153). Furthermore, because there has been realized a CPU that can include plural processor cores (multicore CPU), thereby the CPU processing performance has been improved and accordingly the CPU has come to be used more efficiently, virtual server techniques have also appeared to operate plural virtual servers in one computer. 
         [0004]    Computers use I/O devices such as the NIC (Network Interface Card), the FC-HBA (Fiber Channel-Host Bus Adapter), etc. to connect networks and storages for communications. And as described above, if one computer operates plural servers, the number of I/O devices per computer comes often to be short comparatively. In order to solve such a problem, there are some well-known techniques. The multi-route PCI switching technique and the multi-route I/O virtualization technique (IOV IO Virtualization) are typical ones. The multi-route PCI switching technique enables the connection between plural computers and plural PC devices that are I/O devices and the multi-route I/O virtualization technique enables one PCI device to be shared by plural computers. The former multi-route PCI switching technique can change the number of PCI devices connectable to one computer scalably (e.g., U.S. Pat. No. 7,058,738: “Advanced Switching Technology Tech Brief”, issued in 2005, written by ASI-SIG, pages 1 to 2; etc.) The latter multi-route I/O virtualization technique can increase the number of I/O devices virtually by enabling one PC device to be shared among computers. Using those techniques, therefore, can solve the problem of the shortage of I/O devices that might otherwise occur when virtual servers are used. 
       SUMMARY 
       [0005]    In case of the conventional computers as described above, computers and PCI (or PCI Express) devices are connected to each other at one-to-one correspondence fixedly. In the composite type computer system that uses a multi-route PCI switch that enables the connection between plural computers and plural PCI devices, however, the number of computers and the number of PCI devices to be connected to each other are variable. A PCI manager that is a management software program installed in a computer manages the allocation of those PCI devices to those computers. 
         [0006]    In spite of this, in case of the conventional controlling method for the allocation of those PCI devices to those computers, the present inventor has found the following problems that might occur when in the following operations in a composite type computer system that uses such a multi-route PCI switch. The problems occur, for example, when in initializing a computer to which a PCI device is to be allocated, controlling the power supply of the computer, and changing the allocation status of the PCI device allocated to the computer. 
         [0007]    In a composite type computer system, the PCI manager allocates each PCI device to each computer as follows. 
         [0008]    In the initial state of the composite type computer system including computers and a multi-route PCI switch just after it is powered, the PCI devices connected to the multi-route PCI switch are not allocated to any computers yet. 
         [0009]    In the first step, the PCI manager searches the topology denoting a connection relationship between the multi-route PCI switch and each PCI device to be allocated. When finding the relationship, the PCI manager goes to the second step to set allocation of each PCI device to the object computer. 
         [0010]    The topology differs among computers. Allocation of a PCI device to a computer is made by registering the topology, that is, registering the PCI tree identifier in the multi-route PCI switch or in the register of the multi-route PCI switch. The multi-route PCI switch means a PCI device sharable by plural computers corresponding to the IOV. 
         [0011]    On the other hand, a management server or a system controller such as a management module of the composite type computer system controls the power supply of each computer. Thus the PCI tree allocated to a computer is required to be set completely before the computer is powered. Otherwise, the computer cannot be started up in the correct I/O configuration. 
         [0012]    When deleting a PCI device allocated to a computer, that is, when resetting the allocation, the PCI manager deletes the identifier of the PCI tree allocated to the computer from the multi-route PCI switch or from the register of the multi-route PCI switch. 
         [0013]    On the other hand, because the computer&#39;s operating system (OS) and/or the device driver uses PCI devices, if the PCI manager deletes a PCI device while the OS is active, an OS error might occur due to the I/O shut-down. This has been a problem. 
         [0014]    Particularly, servers, which often carry out important jobs, are not allowed to invite such errors. This has been an important issue that has had to be avoided. 
         [0015]    Under such circumstances, it is an object of the present invention to assure completion of configuring a PCI tree to be allocated to a computer before powering the computer and furthermore to secure both easiness and reliability in operation even for a composite type computer system capable of varying the allocation of PCI devices to computers just like in any conventional computer systems in which PCI devices have been allocated fixedly to computers. 
         [0016]    In order to achieve the above object, the present invention provides a composite type computer system and a management method employed for the computer system. The computer system includes plural computers, each having a CPU, a memory, and a PCI interface; one or more PCI switches used to connect the computers through the PCI interfaces; plural PCI devices connected to the PCI switch; system controllers that control the computers; and PCI manager that controls the allocation of the PCI devices to the computers. In such a configuration of system devices and units, the computer system comes to be capable of managing the allocation of those computers and the PCI manager. And according to the management method employed for the composite type computer system, the system controller carries out processings in the following steps; (a) powering one of the computers to start up its operation system; (b) acquiring the identifier of a PCI tree and the management information of the PCI tree, denoting the status of the PCI tree, which denotes the topology of the PCI device allocated to the computer from the PCI manager; (c) retrying the powering of the computer or canceling the powering if the acquired PCI tree management information denotes “being initialized” or “not initialized yet”; and (d) powering the computer if the PCI management information denotes “initialized” with respect to the PCI tree. 
         [0017]    Consequently, the present invention can assure that a PCI tree to be allocated to a computer is configured completely before powering the computer, so the computer is started up in the correct PCI device configuration in a composite type computer system configured by plural computers, plural PCI devices, and one or more PCI switches used to connect those computers to those PCI devices. 
         [0018]    And accordingly, the present invention comes to be capable of assuring the matching between an actual PCI tree recognized by the operating system, a virtual machine monitor, or the like running in the computer, that is, recognized by the so-called system software and a user set PCI tree. 
         [0019]    Furthermore, the present invention can assure that each PCI tree allocated to each computer can be modified whether the system software is active or not. 
         [0020]    Furthermore, the user or system manager can enjoy both easiness and reliability in operation just like in conventional computer systems in which PCI devices are allocated to computers fixedly even in a composite type computer system in which PCI devices are allocated to computers variably. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]      FIG. 1  is a block diagram of a composite type computer system in a first embodiment of the present invention; 
           [0022]      FIG. 2  is an example of the table of the physical host management information of the composite type computer system in the first embodiment of the present invention; 
           [0023]      FIG. 3  is a block diagram of a PCI tree of a physical host  1  of the composite type computer system in the first embodiment of the present invention; 
           [0024]      FIG. 4  is an example of the table of the PCI tree status information of the physical host  1  in the first embodiment of the present invention; 
           [0025]      FIG. 5  is a block diagram of a PCI tree of a physical host  2  in the first embodiment of the present invention; 
           [0026]      FIG. 6  is an example of the table of the PCI tree status information of the physical host  2  in the first embodiment of the present invention; 
           [0027]      FIG. 7  is an example of the table of the PCI status information of a virtual server VM 1  of the physical host  2  in the first embodiment of the present invention; 
           [0028]      FIG. 8  is a block diagram of a PCI tree managed by a PCI manager in the first embodiment of the present invention; 
           [0029]      FIG. 9  is an example of the table of the PCI tree management information in the first embodiment of the present invention; 
           [0030]      FIG. 10  is an example of the table of the PCI tree configuration information of the physical host  1  in the first embodiment of the present invention; 
           [0031]      FIG. 11  is a flowchart of the processings for powering the physical host  1  (in the non-virtual server environment) in the first embodiment of the present invention; 
           [0032]      FIG. 12  is a block diagram for describing the procedures of a physical host PCI tree status information acquirer to acquire the PCI tree status information in the first embodiment of the present invention; 
           [0033]      FIG. 13  is a flowchart of the processings for comparing the PCI tree status information  136  with the PCI tree configuration information  140  in the first embodiment of the present invention; 
           [0034]      FIG. 14  is a block diagram of a PCI tree recognized by a system software program in the first embodiment of the present invention; 
           [0035]      FIG. 15  is a block diagram of a PCI tree recognized by another system software program in the first embodiment of the present invention; 
           [0036]      FIG. 16  is a flowchart of the processings to be carried out after powering the physical host  2  (in the vertical server environment) in the first embodiment of the present invention; 
           [0037]      FIG. 17  is a flowchart of the processings for changing the configuration of a PCI tree allocated to the physical host  1  (in the non-virtual server environment) in the first embodiment of the present invention; 
           [0038]      FIG. 18  is a flowchart of the processings for changing the configuration of a PCI tree allocated to the physical host  2  (in the virtual server environment) in the first embodiment of the present invention; 
           [0039]      FIG. 19  is a block diagram of a PCI tree managed by a PCI manager of a composite type computer system in a second embodiment of the present invention; 
           [0040]      FIG. 20  is a block diagram for the processings carried by the physical host PCI tree status acquirer  133  of the composite type computer system to acquire the PCI tree status information  136  in a third embodiment of the present invention; 
           [0041]      FIG. 21  is an example of the circuit diagram of the PCI tree configuration information acquirer  130  of the composite type computer system in the third embodiment of the present invention; 
           [0042]      FIG. 22  is a flowchart of the processings for deciding powering to a physical host of a composite type computer system in a fourth embodiment of the present invention; 
           [0043]      FIG. 23  is a flowchart of the processings for deciding the possibility of changing the configuration of a PCI tree allocated to a physical host  1  (in the non-virtual server environment) of a composite type computer system in a fifth embodiment of the present invention; 
           [0044]      FIG. 24  is a flowchart of the processings for deciding the possibility of changing the configuration of a PCI tree allocated to the physical host  2  (in the virtual server environment) of the composite type computer system in the fifth embodiment of the present invention; 
           [0045]      FIG. 25  is a block diagram of a composite type computer system in a sixth embodiment of the present invention; 
           [0046]      FIG. 26  is a block diagram of a composite type computer system in a seventh embodiment of the present invention; 
           [0047]      FIG. 27  is a block diagram of a composite type computer system in an eighth embodiment of the present invention; and 
           [0048]      FIG. 28  is a block diagram of a graphical interface of a management terminal in a ninth embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0049]    Hereunder, there will be described the preferred embodiments of the present invention in detail with reference to the accompanying drawings. In all those drawings, same reference numerals will be used for same devices and units, avoiding redundant description. 
       First Embodiment 
       [0050]    At first, there will be described a configuration of a composite type computer system in a first embodiment of the present invention.  FIG. 1  is a block diagram of the composite type computer system in the first embodiment of the present invention. As shown in  FIG. 1 , the composite type computer system includes one or more physical hosts  1001  and  1002  that are computers; one or more multi-route PCI switches  1011  and  1012  capable of changing the status of the connection between each I/O device and each physical host  100 ; one or more PCI devices  102 ; a system controller (system control computer)  103  that controls the power supply of the composite type computer system and manages the status thereof; a PCI manager (PCI management computer)  104  that manages allocation of each PCI device  102  to each physical host  100 ; and a management terminal  105  that enables the user/system manager to control the composite type computer system. In  FIG. 1 , the configuration includes two physical hosts  1001  and  1002  and two PCI switches  1011  and  1012  and the two physical hosts  1001  and  1002  are identified as physical hosts  1  and  2  and the two PCI switches  1011  and  1012  are identified as PCI switches  1  and  2  respectively. In  FIG. 1 , only one system controller  103  and only one PCI manager  104  are shown, but they can be two or more so  15  as to improve the system reliability. 
         [0051]    Each of the physical hosts  1001  and  1002  consists of a hardware component  106  that includes one or more CPU (processor)  108 ; one or more memories  109 ; one or more chip sets  107 ; and a management controller BMC (Baseboard Management Controller)  1203 . In each physical host  1001 / 1002  runs an operating system OS  110  that is a software component. If the virtual server technique is employed for the composite type computer system, plural virtual servers  112  come to be included in a virtual machine monitor (hereunder, to be described as the VMM)  111  and a guest OS  113  runs in each virtual server  112 . 
         [0052]    A PCI Express  114 , which is a variation of the PCI, is used for the connection between each physical host  1001 / 1002  and each multi-route PCI switch  1011 / 1012  and between each multi-route PCI switch  1011 / 1012  and each PCI device  102 . 
         [0053]    A control interface  117 / 118 / 116  is used for the connection between each physical host  1001 / 1002  and the system controller  103 , between each multi-route PCI switch  1011 / 1012  and the PCI manager, and between the system controller and the PCI manager. The control interface can be any of a LAN (Local Area Network) and an I 2 C (Inter-Integrated Circuit). The BMC  1203  collects the configuration and power supply of each physical host and notifies the information to the system controller  103 . 
         [0054]    The multi-route PCI switch  1011 / 1012  includes a port  1151  to which the physical hosts  1001  and  1002  are connected and another port  1152  to which PC devices  102  are connected. Each multi-route PCI switch  1011 / 1012  includes a register (not shown) used to set the connection status of each port  1151 / 1152 . 
         [0055]    The management interface  120 / 119  is used for the connection between the system controller  103  and the management terminal  105  and between the PCI manager  104  and the management terminal  105 . The management interface can be any of a LAN and an RS-232C. 
         [0056]    In this embodiment, the following components are employed to prevent inconsistency between procedures of PCI tree initialization and physical host powering and inconsistency between PCI tree configuration changes and physical host power statuses. 
         [0057]    The system controller  103  holds the power statuses of the physical hosts  1001  and  1002  and those of the virtual servers  112 ; the physical host management information  135  used to manage the identifiers of the PCI trees allocated to the physical hosts  1001  and  1002  or to virtual servers  112 ; and the PCI tree status information holding the each PCI tree status recognized by the OS  110  and the VMM  111 . 
         [0058]    The PCI manager  104  holds the PCI tree management information  139  denoting the statuses of PCI trees allocated to the physical hosts  1001  and  1002 , as well as the PCI tree configuration information  140  denoting the correspondence between the topologies of the PCI-to-PCI bridges and the PCI devices  102  in the multi-route PCI switches  1011  and  1012  managed by the PCI manager and the PCI trees allocated to the physical hosts  1001  and  1002 . 
         [0059]    The system controller  103  includes at least a PCI tree identifier acquirer  131 , a physical host start-up decider  132 , a physical host PCI tree status acquirer  133 , and a physical host PCI tree checker  134 . The PCI tree identifier acquirer  131  acquires the identifier and initialization status of each PCI tree allocated to each of the physical hosts  1001  and  1002  from the PCI manager. 
         [0060]    The physical host start-up decider  132  monitors each PCI tree allocated to each of the physical hosts  1001  and  1002  and decides upon completion of the initialization of every PCI tree that the physical hosts  1001 / 1002  can be powered. In other cases, the physical host start-up decider  132  decides the status as powering disabled. 
         [0061]    The physical host PCI tree status acquirer  133  acquires the information of each PCI tree recognized by the OS  110  or VMM  111  in the physical hosts, that is, acquires the PCI tree status information  136 . 
         [0062]    The physical host PCI tree checker  134  acquires PCI tree configuration information from the PCI manager  104 . 
         [0063]    The PCI manager  104  includes at least a PCI tree initialization completion checker  137  and a PCI tree configuration change decider  138 . 
         [0064]    The PCI tree initialization completion checker  137  monitors the multi-route PCI switches  1011  and  1012  to check whether or not the connection status between the ports  1151  and  1152  is updated. If it is updated, the checker  137  decides the status as “initialized” and updates the PCI tree management information  139  in accordance with the status. Concretely, the checker  137  monitors the multi-route PCI switches  1011  and  1012  by polling the status of the register in each multi-route PCI switch  1011 / 1012  to acquire the status information. If the value in the register is updated, the checker  137  updates the PCI tree management information  139  in accordance with the updated result. 
         [0065]    The PCI tree configuration change decider  138  acquires the power supply status of each physical host  1001 / 1002  to which PCI trees are allocated, as well as the system software type and the PCI tree status information  136  from the system controller  103 . 
         [0066]    Next, there will be described in detail the information held in the composite type computer system with reference to  FIGS. 2 through 10 . 
         [0067]      FIG. 2  shows an example of the table of the physical host management information  135  held by the composite type computer system in this first embodiment.  FIG. 3  shows a block diagram of a PCI tree of the physical host  1  of the physical hosts of the composite type computer system in this first embodiment.  FIG. 4  is an example of the table of the PCI tree status information  136  of the physical host  1  of the composite type computer system in this first embodiment.  FIG. 5  is a block diagram of a PCI tree of the physical host  2  of the composite type computer system in this first embodiment.  FIG. 6  is an example of the table of the PCI tree status information  136  of the physical host  2  of the composite type computer system in this first embodiment.  FIG. 7  is an example of the table of the PCI tree status information  136  of a virtual server  1  of the physical host  2  of the composite type computer system in this first embodiment.  FIG. 8  is an example of the PCI tree managed by the PCI manager  104  of the composite type computer system in this first embodiment.  FIG. 9  is an example of the table of the PCI tree management information  139  of the composite type computer system in this first embodiment.  FIG. 10  is an example of the table of the PCI tree configuration information  140  of the physical host  1  of the composite type computer system in this first embodiment. 
         [0068]    The physical host management information  135  held by the system controller  103  can be tabulated as shown with FT 2  in  FIG. 2 . The table includes at least columns of physical host identifier K 201  that identifies the physical host  1  or  2  as a representative of the physical hosts  1001  and  1002  in the composite type computer system; virtual server identifier K 202  that identifies a virtual server  112  in a physical host; PCI tree identifier K 203  that denotes a PCI tree allocated to a physical host; power status K 204  that denotes the power status of a physical host or virtual server; OS/VMM type K 205  that denotes the type of the OS  110  or VMM  111  running in an object physical host or the type of an OS running in a virtual server  112 ; and PCI tree status information K 206  that denotes “enable” or “disable” for the PCI tree status information  136  as the status of a PCI tree recognized by the OS  110  or VMM  111 . 
         [0069]    In K 204 , for example, is set any of “Initializing” denoting that the initialization is being carried out, “Standby” denoting that the power can be supplied any time, and “Active” denoting that the power is already supplied. In the example shown in  FIG. 2 , the physical host identifier K 201  is “1” in the row G 201 , so the VMM is not running in the physical host  1 . Thus “Not Available (NA)” is set in the virtual server identifier K 202 , “PT1” is set in the identifier K 203  of the PCI tree allocated to the physical host  1 , “Standby” set in the power supply status K 204 , “OSx” set in the OS/VMM type K 205 , and “Enable” is set in the PCI tree status information K 206  respectively. As for the physical host  2  having the identifier “2” set in the physical host identifier K 201  in the rows G 202  to G 205 , the VMM  111  is running in the physical host  2 , which has active three virtual servers VM 1 , VM 2 , and VM 3  as shown in the column of the virtual server identifier K 202 . 
         [0070]    For the physical host  2  ( 1002 ), PCI trees PT 2  and PT 3  are set in the PCI tree identifier column K 203  and allocated to the physical host  2  as shown in the row G 202 . And because the virtual servers  111  (VM 1  to VM 3 ) use the PCI trees PT 2  and PT 3  allocated to the physical host  2 , “NA” is set in other rows G 203  to G 205  for the virtual servers VM 1  to VM 3 . This means that the PCI trees are allocated to the virtual servers VM 1  to VM 3  by the VMM  111 , thereby “Not Available” is set in the PCI tree identifier column K 203  in the table of the physical host management information  135 . 
         [0071]    For the physical host  2  ( 1002 ), the power supply status K 204  is “Active”, the OS/VMM type K 205  is “VMMy”, and the PCI tree status information K 206  is “Enable”. For the virtual server  1  of the physical host  2  in the row G 203 , the power status K 204  is “Active”, the OS/VMM type K 205  is “OSy”, and the PCI tree status information K 206  is “Enable”. 
         [0072]    Next, there will be described the PCI tree status information  136  of the physical host  2  and that of the virtual server  1  (VM 1 ) of the physical host  2 . 
         [0073]    As shown in  FIG. 3 , the OS  110  of the physical host  1  recognizes the PCI tree PT 1  ( 3061 ) allocated from the physical host  1  ( 1001 ) and the multi-route PCI switch  1011 / 1012 . 
         [0074]    The physical host  1  includes a host bus  301  that includes a CPU and a memory; a PCI-to-PCI bridge  3021 , an NIC  3031 , and a PCI bus BUS 0  ( 3050 ). The PCI tree PT 1  ( 3061 ) includes a multi-route PCI switch ( 1011 ), PCI-to-PCI bridges  8011 ,  8013 , and  8015 , an NIC  8041 , HBAs  8051  and  8052 , a PCI buses BUS 2  ( 3052 ), BUS 3  ( 3052 ), and BUS 4  ( 3054 ). The physical host  1  and the PCI tree PT 1  ( 3061 ) are connected to each other through the PCI bus BUS 1  ( 3051 ). 
         [0075]    Consequently, the PCI tree status information  136  of the physical host  1  is tabulated as shown with FT 4  in  FIG. 4 . The table includes at least columns of Bus Number (Bus#) K 401  that identifies a place of a PCI device  102  in a PCI tree; Device Number (Dev#) K 402 , Function Number (Func#) K 403 , and Device Type K 404  that denotes a PCI device type; and PCI Tree Identifier K 405  that denotes a PCI tree to which the subject device belongs. 
         [0076]    For example, as for the (Bus#, Dev#, Func#)=(0, 1, 0), the device type K 404  is a PCI bridge  3021  and it does not belong to the PCI tree PT 1  as shown in  FIG. 3 . Thus the PCI tree identifier K 405  is “NA”. Similarly, as for (Bus#, Dev#, Func#)=(0, 2, 0), the device type K 404  is a network controller  3031  and it does not belong to the PCI tree PT 1  as shown in  FIG. 3 . Thus the PCI tree identifier K 405  is “NA”. 
         [0077]    And as shown in  FIG. 5 , the VMM  111  of the physical host  2  recognizes the PCI tree PT 2  ( 5056 ) allocated from the physical host  2  and the multi-route PCI switch  1  ( 1011 ) and the PCI tree PT 3  ( 5063 ) allocated from the multi-route PCI switch  2  ( 1012 ) respectively. 
         [0078]    The physical host  2  ( 1002 ) includes a host bus  301  that includes a CPU and a memory; PCI-to-PCI bridges  5011  and  5012 ; an NIC  5021 , and a PCI bus BUS 0  ( 5050 ). The PCI tree PT 2  ( 5062 ) includes a multi-route PCI switch  1  ( 1011 ), PCI-to-PCI bridges  8012 ,  8014 , and  8015 , an NIC  8042 , HBAs  8053  and  8054 , PCI buses BUS 2  ( 5052 ), BUS 3  ( 3053 ), and BUS 4  ( 5054 ). 
         [0079]    The PCI tree PT 3  ( 5063 ) includes a multi-route PCI switch  2  ( 1012 ), PCI-to-PCI bridges  8016 ,  8018 , and  8091 , NICs  8043  and  8044 , an HBA  8055 , PCI buses BUS 6  ( 5056 ), BUS 7  ( 5057 ), and BUS 8  ( 5058 ). 
         [0080]    The physical host  2  ( 1002 ) and the PCI tree PT 2  ( 3062 ) are connected to each other through the PCI bus BUS 1  ( 5051 ) and the physical host  2  ( 1002 ) and the PCI tree PY 3  ( 5063 ) are connected to each other through the PCI bus BUS 5  ( 5055 ). 
         [0081]    If plural virtual servers  112  are included in the VMM  111  just like in the physical host  2  ( 1002 ), the PCI tree status information  136  can be tabulated as shown with FT 6  in  FIG. 6 . The table includes at least the columns shown with the FT 6  of  FIG. 6 , as well as a column of VM allocation K 606  that denotes allocation of a PCI device to a virtual server. For example, as for (Bus#, Dev#, and Func#)=(0, 1, 0) shown in  FIG. 6 , the device type K 404  is “PCI-to-PCI bridge  5011 , and it does not belong to any of the PCI trees PT 2  and PT 3  as shown in  FIG. 5 , the PCI tree identifier K 405  is thus “NA (Not Available)”. In this example, the PCI-to-PCI bridge is not allocated to any specific virtual servers, so the VM allocation K 606  is “NA”. 
         [0082]    As for the row of (Bus#, Dev#, and Func#)=(3, 1, 0), the device type K 404  is a network controller  8042  and as shown in  FIG. 5 , the PCI tree identifier K 405  is PT 2  and the VM allocation K 606  is VM 1 . As shown in the example of  FIG. 5 , plural PCI trees can be allocated to one physical host. 
         [0083]    The PCI tree status information  136  of the virtual server VM 1  of the physical host  2  is as shown with FT 7  of  FIG. 7  just like in the physical host  1  shown in  FIG. 6 . 
         [0084]    Next, there will be described the PCI tree management information  139 . The PCI trees of the multi-route PCI switch  1011  and  1012  recognized by the PCI manager  104  are configured, for example, as shown in  FIG. 8  respectively. In the example shown in  FIG. 8 , a physical host  3  ( 1003 ) is added to the configuration shown in  FIG. 1  and the PCI manager  104  includes a host bus  806  that includes a CPU and a BUS 0  ( 8070 ). Each of the multi-route PCI switches  1011  and  1012  is connected to the BUS 0  ( 8070 ) of the PCI manager  104  through the management port  1153 . The PCI manager  104  holds the PCI trees of the PCI buses BUS 0  to BUS 7  ( 8070  to  8077 ). 
         [0085]    The physical host  1  ( 1001 ) is connected to the port  1  of the multi-route PCI switch  1  ( 1011 ), the physical host  2  is connected to the port  2  of the multi-route PCI switch  1  ( 1011 ), and the physical host  3  is connected to the port  2  of the multi-route PCI switch  2  ( 1012 ) respectively. 
         [0086]    The multi-route PCI switch  1  ( 1011 ) includes PCI-to-PCI bridges  8011 ,  8012 ,  8013 ,  8014 ,  8015 , and  8021 . And NICs  8041  and  8042 , as well as HBAs  8051 ,  8052 ,  8053 , and  8054  are connected to the port  1152 . The multi-route PCI switch  2  ( 1012 ) includes PCI-to-PCI bridges  8016  to  80110  and  8022 . The NICs  8043  and  8044 , as well as the HBA  8055  are connected to the port  1152 . 
         [0087]    In case of the configuration shown in  FIG. 8 , the PCI tree management information  139  is tabulated as shown with FT 9  in  FIG. 9  and the table includes at least columns of switch number K 901  that identifies the multi-route PCI switch  1011  or  1012 ; port number K 902  of a multi-route PCI switch connected to the physical hosts  1001  and  1002 ; PCI tree identifier K 903  that identifies the top PCI tree having the port number K 902  in the tree structure; and PCI tree initialization status K 904  that denotes the status of the allocation of a PCI tree to a physical host. 
         [0088]    In case of the PCI tree initialization status K 904 , there are statuses “Not Initialized” denoting that the PCI tree setting is not completed, “Initializing” denoting that the setting is being made, and “Initialized” denoting that the setting is already completed. 
         [0089]    Next, there will be described the PCI tree configuration information  140 . The PCI tree configuration information  140  is assumed as master information denoting a relationship of allocation between physical host  1001 / 1002  and each PCI device  102 . This configuration information is often set by the user and system manager through the management terminal  105 . 
         [0090]    In case of the configuration shown in  FIG. 8 , the PCI tree configuration information  140  is tabulated as shown with FT 10  in  FIG. 10 . The table includes at least columns of Bus# K 1001  that stores bus numbers for identifying places of PCI devices  102  in each PCI tree; Dev# K 1002  that stores device identifiers; Func# K 1003  that stores identifiers denoting device functions; device type K 1004  denoting PCI device types; Identifier K 1005  of PCI trees to which PCI devices belong; switch number K 1006  that stores identifiers of multi-route PCI switches  1011  and  1012  to which PCI devices belong; and port number K 1007  denoting the port numbers of switches related to the bridges if the subject PCI device is a PCI-to-PCI bridge in the multi-route PCI switch. 
         [0091]    Next, there will be described how to control the composite type computer system in the first embodiment of the present invention. At first, there will be described how to control the powering to the physical host  1011  or  1012  of the composite type computer system. 
         [0092]      FIG. 11  is a flowchart of how to control the powering to the physical host  1  (in the non-virtual server environment) of the composite type computer system in the first embodiment of the present invention. The physical host  1001 / 1002  is powered at a timing of, for example, a request issued by the user or system manager to the system controller  103  so as to power the physical host  1  ( 1001 ) through the management terminal  105  (step S 1101 ). The system controller  103  acquires the identifier of the PCI tree allocated to the physical host  1  ( 1001 ) from the PCI manager  104  and the initialization status of the PCI tree through the PCI tree identifier acquirer  131  (step S 1102 ). 
         [0093]    Here, the system controller  103  issues an acquirement request to the PCI manager  104  using the switch number and the port number of the multi-route PCI switch  1011 / 1012  to which the physical host  1  ( 1001 ) is connected. Thus the PCI manager  104  can select the PCI tree identifier K 903  according to the PCI tree management information  139  shown in  FIG. 9 . The PCI manager  104  can also acquire the PCI tree initialization status, for example, by polling a register (not shown) of the multi-route PCI switch  1011 / 1012  through the PCI tree initialization completion checker  137 . If the status is updated, the PCI manager  104  updates the PCI tree management information  139  according to the updated result. 
         [0094]    After this, if all the PCI trees allocated to the physical host  1  ( 1001 ) from the physical host start-up decider  132  are already initialized, the system controller  103  decides that the physical host  1  can be powered. In other cases, the physical host  1  decides that the physical host  1  cannot be powered (step S 1103 ). 
         [0095]    In the example shown in  FIG. 9 , because the initialization status of the PCI tree PT 1  allocated to the physical host  1  is “Initialized”, the system controller  103  decides that the physical host  1  can be powered. If decided that the physical host  1  cannot be powered in this step S 1103 , the system controller  103  carries out an exceptional processing, for example, retries the powering from the beginning. Otherwise, the system controller  103  notifies the fact to the management terminal  105  as an error and, for example, cancels the powering (step S 1105 ). 
         [0096]    On the other hand, if the system controller  103  decides that the physical host  1  cannot be powered, the system controller  103  powers the physical host  1  ( 1001 ) through the control interface  117  (step S 1104 ). And when the physical host  1  ( 1001 ) is powered, the system controller  103  enables the OS  110  of the physical host  1  to use each PCI device  102  belonging to the PCI tree. Then, the OS  110  starts up. 
         [0097]    The system controller  103  then detects that the OS  110  has started up in the physical host  100  through the control interface  117  (step S 1106 ). 
         [0098]    After this, the system controller  103  acquires the information of the PCI tree recognized by the OS  110 , that is, the PCI tree status information  136  from the physical host  1  ( 1001 ) through the physical host PCI tree status acquirer  133  (step S 1107 ). Then, in step S 1008 , the processings in steps S 1101  to  1107  are carried out as shown in  FIG. 12 . 
         [0099]      FIG. 12  is a block diagram showing procedures for how the physical host PCI tree status acquirer  133  of the system controller acquires the PCI tree status information  136  in the first embodiment. In this embodiment, as shown in  FIG. 12 , the OS  110  holds the PCI tree status information  1202  that is the information of the PCI tree recognized by the OS  110  itself so as to use the PCI devices  102 . 
         [0100]    The OS  110 , for example, upon receiving a PCI tree status acquirement request from the system controller  103 , notifies the PCI tree status information to the system controller  103  through the BMC  1203  that is the management controller of the physical host  1  ( 1101 ) (routes  1204  and  1205 ). 
         [0101]    After this, the physical host PCI tree status acquirer  133  stores the PCI tree status information  136  (route  1207 ) and sets “Enable” for the status information  136  in the column of the PCI tree status information K 206  in the table of the physical host management information  135  shown in  FIG. 2  (route  1206 ). In the physical host  2 , the OS  110  is replaced with the OS  113  that runs in the virtual server  112  configured in the VMM  111 . It is also possible here to use such a system firmware program as the BIOS (Basic Input/Output System), EFI (Extensible Firmware Interface), or the like to carry out the above processings instead of the OS  110 . 
         [0102]    Then, the system controller  103  acquires the PCI tree configuration information  140  from the PCI manager  104  through the physical host PCI tree checker  134  (step S 1108 ) and makes a comparison between the PCI tree status information  136  and the PCI tree configuration information  140  to check the matching between both information items (step S 1109 ). Consequently, the system controller  103  can check the matching between the allocation of the PCI device to the physical host  1001 / 1002  set by the user or system manager and the actual allocation of the PCI device  102  recognized by the system software programs such as the OS  110 , etc. In other words, the system controller can check whether or not the configuration information is updated with those user/system manager&#39;s settings correctly. In this step S 1109 , if the configuration information matches with the actual status, the physical host  1  ( 1001 ) gets ready to carry out usual processings (step S 1110 ). If not match, the system controller carries out an exceptional processing, for example, restarts the physical host  1  ( 1001 ) or notifies the error to the management terminal  105 , then shuts down the physical host  1  (step S 1111 ). 
         [0103]    Next, there will be described in detail the processings of comparison between the PCI tree status information  136  and the PCI tree configuration information  140  in step S 1109  in this embodiment with reference to  FIGS. 13 through 15 .  FIG. 13  is a flowchart for describing such a comparison between the PCI tree status information  136  and the PCI tree configuration information  140  in the composite type computer system in this first embodiment.  FIG. 14  is a block diagram of an example of the PCI tree recognized by the system software (OS  110  or VMM  111 ) of the composite type computer system in this first embodiment.  FIG. 15  is a block diagram of an example of the PCI tree recognized by the system software of the composite type computer system in this first embodiment. 
         [0104]    As shown in  FIG. 13 , the physical host PCI tree checker  114  of the system controller  103  acquires the identifier PT 1  of the PCI tree allocated to the physical host  1001 / 1002  from the physical host management information  135  (step S 1301 ). Then, the physical host PCI tree checker  114  acquires the “OSx” from the table of the physical host management information  135  (step S 1302 ). The OSx” set in the OS/VMM type k 205  shown in  FIG. 2  denotes the type of the system software that runs in the physical host  1001 / 1002 . The PCI tree “Bus Number” is specified with a specific method when the system software is started up. Thus the PCI tree topology might differ among system software types. 
         [0105]    For example, if the system software (OS  110 ) recognizes the PCI tree PT 1  allocated to the physical host  1  ( 1001 ), the topology will become the same as that of the PCI buses BUS 2  ( 1412 ), BUS 3  ( 14013 ), and BUS 4  ( 14014 ) as shown in  FIG. 14 . If another system software recognizes the PCI tree PT 1 , the topology will become the same as that of the PCI buses BUS 2  ( 1412 ), BUS 3  ( 14013 ), and BUS 4  ( 14014 ) as shown in  FIG. 15 . 
         [0106]    In other words, in the examples shown in  FIGS. 14 and 15 , the topologies of the BUS 3  and BUS 4  are exchanged. So, it would be waist of time to make a comparison simply between the PCI tree status information  136  and the PCI tree configuration information  140  to obtain a correct result from the comparison between those topologies. In this embodiment, therefore, the physical host PCI tree checker  114  calculates a PCI tree to be recognized from the OSx in accordance with the PCI tree configuration information  140  and the PCI tree generation algorithm of the OSx, which denotes a system software type (step S 1303 ). 
         [0107]    The physical host PCI tree checker  114  of the system controller then makes a comparison between the PCI tree calculated as described above and recognized by the OSx and the PCI tree status information  136  to check the result (step S 1304 ) to decide matching (step S 1305 ) or not matching (step S 1306 ). While the physical host PCI tree checker  114  of the system controller  103  calculates a PCI tree to be recognized by the system software in the above case, the PCI manager  104  can also calculates the PCI tree and notifies only the result to the system controller  103  instead of the checker  114 . 
         [0108]    In the processings shown in the flowchart of  FIG. 11 , the operation of a non-virtual server is described. Next, there will be described how to power the physical host  1002  that includes a virtual server  112 . 
         [0109]      FIG. 16  is a flowchart of an example of how to power the physical host  2  (in the virtual server environment) of the composite type computer system in the first embodiment of the present invention. 
         [0110]    As shown in  FIG. 2 , the physical host  2  ( 1002 ) includes three virtual servers VM 1 , VM 2 , and VM 3 . The procedures shown in  FIG. 16  are the same as those of the steps S 1101  to S 1105 , S 1107  to S 1109 , and S 111  shown in  FIG. 11  for powering the physical host  1  of the composite type computer system in the first embodiment of the present invention. So, only the difference from  FIG. 11  will be described below, avoiding redundant description. 
         [0111]    When the virtual server  112  powers the physical host  2  (step S 1104 ), the VMM  111  starts up, so the system controller  103  confirms through the control interface  117  that the VMM  111  has started up (step S 1601 ). If the system controller  103  confirms that the PCI tree status information  136  matches with the PCI tree configuration information  140  as a result of the comparison (step S 1109 ), the system controller  103  starts up the OS  113  of the VM  2  through the control interface  117  (step S 1602 ) and confirms through the control interface  117  that the OS  110  has started up (step S 1603 ). Then, the system controller enables the physical host  2  ( 1002 ) to carry out usual processings (step S 1604 ). The composite type computer system in this embodiment can thus control so as to assure the completion of configuring the PCI tree to be allocated to the object computer upon powering the computer. As a result, the computer comes to start up in the correct PCI device configuration. Furthermore, it is also possible at this time to assure the matching between the actual PCI tree recognized by the OS  110  or VMM  111  that is a so-called system software program and the PCI tree set by the user/system manager. 
         [0112]    Next, there will be described how to change the configuration of a PCI tree allocated to a physical host of the composite type computer system.  FIG. 17  is a flowchart of an example of how to change the configuration of a PCI tree allocated to the physical host  1  (in the virtual server environment) of the composite type computer system in the first embodiment of the present invention. The user or system manager can change the configuration of such a PCI tree by issuing a configuration change request to the PCI manager  104  with respect to the PCI tree PT 1  of the physical host  1  ( 1001 ) through the management terminal  105  (step S 1701 ). Upon receiving the request, the PCI manager  104  acquires the power status of the physical host  1  ( 1001 ) to which the PCI tree PT 1  is allocated from the system controller  103 , as well as the system software type and the PCI tree status information from the system controller  103  through the PCI tree change decider  138  (steps S 1702  to S 1704 ). 
         [0113]    Then, the PCI manager  104  checks the information related to the physical host  1  ( 1001 ) to decide the possibility of the configuration change of the PCI tree PT 1 . Concretely, this check is made, for example, as follows. When the power supply status of the physical host  1  ( 1001 ) is “Active”, the configuration change is disabled. When the system software type does not correspond to the hot plug of the object PCI device, the configuration change is disabled. And when the PCI tree status information denotes that the object PCI device type does not correspond to the hot plug, the configuration change is disabled. As a result of this check, if the configuration change is enabled, the PCI manager  104  changes the configuration of the PCI tree PT 1  (step S 1706 ). If disabled, the PCI manager  104  carries out an exceptional processing, for example, notifies the error (disabled) to the management terminal  105  and exits the configuration change processing (step S 1707 ). 
         [0114]    In case of the processings shown in  FIG. 17 , the description was made for a case of a non-virtual server. Next, there will be described how to control the configuration change of a PCI tree of the physical host  2  ( 1002 ) that includes a virtual server  112 . 
         [0115]      FIG. 18  is a flowchart of an example of how to change the configuration of a PCI tree allocated to the physical host  2  (in the virtual server environment) of the composite type computer system in the first embodiment of the present invention. As shown in  FIG. 2 , the physical host  2  ( 1002 ) includes three virtual servers VM 1 , VM 2 , and VM 3 . The procedures shown in  FIG. 18  are the same as those of the steps S 1701  to S 1704  shown in  FIG. 17 , as well as those of the steps S 1801  to S 1804  for changing the configuration of the PCI tree allocated to the physical host  1  of the composite type computer system in the first embodiment of the present invention. So, only the processings in and after step S 1805  that differ from those in  FIG. 17  will be described below, avoiding redundant description. 
         [0116]    In the example shown in  FIG. 18 , how to control the configuration change of the PCI tree PT 2  was described. In case of a virtual server, however, the PCI manager  104  acquires the physical host management information  135  of the physical host  2  to which the PCI tree PT 2  is allocated, as well as the PCI tree status information (steps S 1802  to S 1804 ), then the power statuses of the virtual servers VM 1 , VM 2 , and VM 3  included in the physical host  2 , the system software type, and the PCI tree status information through the PCI tree configuration change decider  138  respectively (steps S 1805  to S 1807 ). Then, the PCI manager  104  checks the information related to the physical host  2  ( 1002 ) and the virtual servers VM 1 , VM 2 , and VM 3  to decide the possibility of the configuration change of the PCI tree PT 2  (step S 1808 ). Concretely, this check is made, for example, as follows. When the power status of the physical host  2  ( 1002 ) is “Active”, the configuration change is disabled. When the power statuses of the virtual servers to which the PT 2  is allocated, that is, the power statuses of the VM 1  and VM 2  are “Active” respectively as shown in  FIG. 2 , the configuration change is disabled. When the system software OSy in the VM 1  does not correspond to the hot plug of the object PCI device, the configuration change is disabled. And when the system software VMMy does not correspond to the hot plug of the object PCI device, the configuration change is disabled. 
         [0117]    And when the configuration change is enabled just like in the controlling shown in  FIG. 17  as a result of this check, the PCI manager  104  changes the configuration of the PCI tree PT 2  (step S 1809 ). If disabled, the PCI manager  104  carries out an exceptional processing (step S 1810 ). 
         [0118]    The composite type computer system in this embodiment can thus control to assure that the subject system software can change the configuration of each PCI tree allocated to each computer regardless of whether the system software is active or not. 
       Second Embodiment 
       [0119]    Next, there will be described a configuration of a composite type computer system in a second embodiment of the present invention. The composite type computer system in this second embodiment has only a difference from that in the first embodiment; the connection between the PCI manager  104  and each of the multi-route PCI switches  1011  and  1012  is changed. Other configuration items are the same as those in the first embodiment. So, only the difference will be described here, avoiding redundant description. 
         [0120]      FIG. 19  is a block diagram of an example of a PCI tree managed by a PCI manager  104  of a composite type computer system in a second embodiment. In this second embodiment, each of the multi-route PCI switches  1011  and  1012  includes BMCs  1901  and the PCI manager  104  is connected to each BMC  1901  through the control interface  1902 . In this case, the PCI manager  104  can know the topology of each PCI device ( 8041  to  8055 ) included in each multi-route PCI switch  1011 / 1012  through a BMC  1901 . 
       Third Embodiment 
       [0121]    Next, there will be described a configuration of a composite type computer system in a third embodiment of the present invention. The composite type computer system in this third embodiment has only a difference from that in the first embodiment; the method of the physical host PCI tree status acquirer  133  for acquiring PCI tree status information differs from that in the first embodiment. Other configuration items are the same as those in the first embodiment. So, only the difference will be described here, avoiding redundant description. 
         [0122]      FIG. 20  is a block diagram of an example of how the physical host PCI tree status acquirer  133  acquires the PCI tree status information  136  in the composite type computer system in this third embodiment. In  FIG. 20 , only the physical host  1001 , PCI switch  1011 , PCI manager  104 , and system controller are shown in order to simplify the description; others are omitted. In this embodiment, the system controller  103  includes a PCI tree configuration information acquirer  130  that can access the configuration register of each PCI device  102  through the multi-route PCI switch  1011  to acquire the configuration information. The physical host PCI tree status acquirer  133  of the system controller  103  acquires the PCI tree status information from the PCI tree configuration information acquirer  130  through the PCI manager  104  (route  2001 ). Then, the physical host PCI tree status acquirer  133  stores the PCI tree status information  136  (route  2003 ) and sets “Enable” in the PCI tree status information k 206  in the table of the physical host management information  135  shown in  FIG. 2 , denoting that the PCI tree status information  136  is valid (route  2002 ). 
         [0123]    Next, there will be described concretely the circuit of the PCI tree configuration information acquirer  130 .  FIG. 21  is an example of the circuit diagram of a PCI tree configuration information acquirer  130  of the composite type computer system in this third embodiment. 
         [0124]    In this embodiment, the PCI tree configuration information acquirer  130  includes a BMC  1901  that controls the acquirement of the PCI tree status information and a PCI sender/receiver  2102  that sends/receives PCI configuration requests. 
         [0125]    Furthermore, the PCI sender/receiver  2102  includes an outbound controller  2104  that processes PCI transactions addressed to an upstream  2111  disposed closer to a host bus and addressed to a downstream  2138  disposed farther from the host bus; an inbound controller  2103  that processes PCI transactions addressed to the downstream  2138  and addressed to the upstream  2111 ; a current configuration buffer  2129  that holds the current configuration access; and a current scanning configuration buffer  2130  that holds a scanning configuration access so as to acquire the PCI tree status information  136 . The reference number  2137  denotes an AND logic circuit. 
         [0126]    If the PCI tree configuration information acquirer  130  is enabled, the BMC  1901  enables the configuration request checker  2113  and the configuration completion checker  2120  through the control interface  2114 / 2121 . The configuration request checker  2113  identifies an object outbound PCI transaction as a configuration request and the configuration completion checker  2120  identifies an inbound PCI transaction as configuration completion. Consequently, each PCI transaction is processed as follows. 
         [0127]    A non-configuration PCI transaction received from the upstream  2111  is transferred to the downstream  2138  through the routes  2112 ,  2116 , and  2118 . 
         [0128]    Each configuration PCI transaction received from the upstream  2111  is transferred to the downstream  2138  through the routes  2112 ,  2117 , and  2118 , and held in the current configuration buffer  2129 . 
         [0129]    Each non-configuration PCI transaction received from the downstream  2139  is transferred to the upstream  2111  through the routes  2119 ,  2123 , and  2125 . 
         [0130]    Each configuration completion PCI transaction received from the downstream  2138  is transferred to the scanning configuration completion checker  2133  and checked if the completion is for the configuration information received from the upstream or for the configuration information received from the PCI tree configuration information acquirer  130 . 
         [0131]    If a PCI transaction is a completion one for the configuration information received from the former upstream, the transaction is transferred to the upstream  2111  through the routes  2119 ,  2122 ,  2124 , and  2125 . If a PCI transaction is a completion one for the configuration information received from the PCI tree configuration information acquirer  130 , the transaction is handled as follows. Hereunder, there will be described how to acquire such PCI configuration information. 
         [0132]    Concretely, the PCI tree configuration information acquirer  130  acquires such configuration information of a PCI device  102  as follows. At first, the BMC  1901  sets the object PCI device of which information is to be acquired for the configuration read generator for scanning  2126  through the control interface  2127 , that is, sets scanning. The configuration read generator  2126  then refers to the active configuration buffer  2129  to confirm that there is no configuration transaction received from the active upstream. In this case, the configuration read generator  2126  generates configuration read for scanning with respect to the object PCI device  102  and transfers it to the downstream  2138  through the routes  2128  and  2118 . At the same time, this configuration read is held in the scanning configuration buffer  2130 . 
         [0133]    After this, the downstream  2138  returns the completion for the scanning configuration read to the inbound controller  2103  from the downstream  2138  through the routes  2119  and  2122 . The scanning configuration completion checker  2133  then refers to the current configuration buffer  2129  and the scanning configuration buffer  2130  to identify that the configuration completion is for scanning. 
         [0134]    The scanning configuration completion checker  2133  then deletes the entry corresponding to the configuration information held in the current configuration buffer  2129  or scanning configuration buffer  2130  to update the configuration information. 
         [0135]    The completion of the scanning configuration completion is transferred from the scanning data buffer  2153  through the routes  2134  and  2136  to the BMC  1901 . Consequently, the BMC  1901  comes to be enabled to acquire the configuration information of the object PCI device  102 . 
       Fourth Embodiment 
       [0136]    Next, there will be described how to control a composite type computer system in a fourth embodiment of the present invention. The method that controls the composite type computer system in this fourth embodiment has only a difference from that of the first embodiment; a step of checking the policy set by the user or system manager to decide the possibility of powering the physical host  1001 / 1002  is just added to the method that controls the composite type computer system in the first embodiment shown in  FIGS. 11 and 16 . Others in this fourth embodiment are the same as those in the first embodiment. In this fourth embodiment, therefore, only the difference will be described, avoiding redundant description. 
         [0137]      FIG. 22  is a flowchart of an example of the processing to determine whether to power an object physical host of the composite type computer system in this fourth embodiment of the present invention. In step S 1103  shown in  FIGS. 11 and 16  in the first embodiment, the system controller  103  begins to decide whether to power the physical host  1  ( 1001 ) (step S 2201 ). Concretely, the system controller  103  checks the setting of the policy for powering the physical host  1  ( 1001 ) for validity (step S 2202 ). If the policy setting is valid, the system controller  103  decides that the powering is enabled (step S 2204 ). If not valid, the system controller  103  decides whether or not the initialization is completed for every PCI tree allocated to the physical host  1  ( 1001 ) (step S 2203 ). If the condition is satisfied, the system controller  103  decides that the powering is enabled (step S 2204 ). If not, the system controller decides that the powering is disabled (step S 2205 ). 
         [0138]    This fourth embodiment is common to both the non-virtual server environment and the virtual server environment. This fourth embodiment enables the user or system manager to decide whether to power the object physical host according to his/her set policy. 
       Fifth Embodiment 
       [0139]    Next, there will be described how to control a composite type computer system in a fifth embodiment of the present invention. The method that controls the composite type computer system in this fifth embodiment also has only one difference from that of the first embodiment; concretely, a processing to decide the possibility of the configuration change of an object PCI tree according to the user or system manager set policy is just added to the method in the first embodiment shown in  FIGS. 17 and 18 . Other items are the same as those in the first embodiment. In this fifth embodiment, therefore, only the difference will be described, avoiding redundant description. 
         [0140]      FIG. 23  is a flowchart of an example of the processing to determine the possibility of the configuration change of a PCI tree allocated to the physical host  1  (in the non-server environment) of the composite type computer system in this fifth embodiment of the present invention.  FIG. 24  is a flowchart of an example of the processing to determine the possibility of the configuration change of a PCI tree allocated to the physical host  2  (in the server environment) of the composite type computer system in this fifth embodiment of the present invention. 
         [0141]    As shown in  FIG. 23 , if the physical host  1001  is found to be in the non-server environment, the system controller  103  begins to decide whether to change the configuration of the PCI tree PT 1  of the physical host  1  ( 1001 ) in step S 1705  shown in  FIG. 17  (step S 2301 ). Then, the PCI manager  104  checks the policy setting to determine whether or not the policy enables the configuration change of the PCI tree even when physical host  1  is active (step S 2302 ). If enable, the PCI manager  104  then checks the type of the OS  110  that runs in the physical host  1  ( 1001 ) to which the PCI tree PT 1  is allocated to decide the possibility of the configuration change of the PCI tree (step S 2303 ). If the check result is “Active” and the configuration change of the PCI tree is enabled, the PCI manager  104  decides the setting as “enable” (step S 2305 ). If not enable or the check result in step S 2303  is “Active” and the configuration change of the PCI tree is disabled, the PCI manager  104  checks whether or not “Active” is set for the power supply status of the physical host  1  ( 1001 ) to which the PCI tree PT 1  is allocated. If the check result is “Active”, the PCI manager decides that configuration change is disabled (step S 2306 ). On the other hand, if the power status of the physical host  1  ( 1001 ) is not “Active”, the PCI manager decides the setting as “Enable” (step S 2305 ). 
         [0142]    And as shown in  FIG. 24 , if the object physical host is found to be in the virtual server environment, the system controller  103  begins to decide whether to change the configuration of the PCI tree of the physical host  2  ( 1002 ) in step S 1804  shown in  FIG. 18  (step S 2301 ). 
         [0143]    The PCI manager  104  then decides whether or not the policy enables the configuration change of the PCI tree even when the physical host is active (step S 2302 ). If enable, the PCI manager  104  then checks the type of the VMM  111  that runs in the physical host  2  ( 1002 ) to which the PCI tree PT 1  is allocated to decide the possibility of the configuration change of the PCI tree in the active status (step S 2401 ). 
         [0144]    If the check result is “Disable” in step S 2302 , or if the configuration change of the PCI tree is disabled even in the active status, the PCI manager  104  checks whether or not “Active” is set for the power status of the physical host  2  ( 1002 ) to which the PCI tree PT 2  is allocated (step S 2304 ). If the check result is “Active”, the PCI manager decides the setting as “Disable” (step S 2406 ). 
         [0145]    If the check result is “Disable” in step S 2401  even when the VMM  111  is active or if the VMM  111  is not active in step S 2304 , the PCI manager checks the policy setting whether or not “Enable” is set for PCI configuration change even when the virtual server  112  included in the physical host  2  ( 1002 ) is active (step S 2402 ). If the check result is “Enable”, the PCI manager  104  then checks the type of the OS  113  that runs in the virtual server  112  to which the PCI tree PT 2  is allocated to decide the possibility of the PCI tree configuration change in the active status (step S 2403 ). 
         [0146]    If the status is active and the check result is “Enable”, the PCI manager decides that the configuration change is possible (step S 2405 ). If the check result is “Disable” in step S 2402  or if it is decided in step S 2403  that the status is active and the check result is “Disable”, the PCI manager  104  checks the power status of the virtual server  112  to which the PCI tree PT 2  is allocated to decide whether or not it is active. If one or more virtual servers  112  are active, the PCI manager  104  decides the setting as “Disable” (step S 2406 ). 
         [0147]    On the other hand, if all the virtual servers  112  are not active, the PCI manager decides the setting as “Enable” (step S 2405 ). This embodiment can thus enable the user or system manager to decide the possibility of the PCI tree configuration change in accordance with his/her set policy. 
       Sixth Embodiment 
       [0148]    Next, there will be described a configuration of a composite type computer system in a sixth embodiment of the present invention. In this sixth embodiment, there are only two differences from the configuration of the composite type computer system in the first embodiment; the PCI manager  104  and the system controller  103  are disposed in difference places from those in the composite type computer system in the first embodiment shown in  FIG. 1 . Other components are the same as those in the first embodiment. In this sixth embodiment, therefore, only the two differences will be described, avoiding redundant description. 
         [0149]      FIG. 25  is a block diagram of the composite type computer system in this sixth embodiment. As shown in  FIG. 25 , the PCI manager  104  is disposed in the multi-route PCI switch  1011  and the system controller  103  is disposed in the management server  2501  that manages the physical hosts  1001 ,  1002 , and  1003 , which are computers. The management server  2501 , physical hosts  1001 ,  1002 , and  1003 , the management server  2501 , the multi-route PCI switch  1011 , the management server  2501 , and the management terminal  105  are connected to each another through the management LAN  2502 . The present invention in this embodiment can also apply to a system that includes a rack type server or pedestal type server and a multi-route PCI switch. 
       Seventh Embodiment 
       [0150]    Next, there will be described a configuration of a composite type computer system in a seventh embodiment of the present invention. In this seventh embodiment, there are only two differences from the configuration of the composite type computer system in the first embodiment shown in  FIG. 1 ; the PCI manager  104  and the system controller  103  are disposed in difference places from those in the composite type computer system in the first embodiment. Other components are the same as those in the first embodiment. In this seventh embodiment, therefore, only the two differences will be described, avoiding redundant description. 
         [0151]      FIG. 26  is a block diagram showing a configuration of the composite type computer system in this seventh embodiment. As shown in  FIG. 26 , in this embodiment, the blade server  2601  consists of plural physical hosts  1001 ,  1002 , and  1003 ; a multi-route PCI switch  1011 ; a PCI device  102 ; and a management module  2602  that manages the physical hosts  1001 ,  1002 , and  1003 , the multi-route PCI switch  1011 , the PCI device, etc. The multi-route PCI switch  1012  in the first embodiment is omitted from this  FIG. 26 . 
         [0152]    The PCI manager  104  is disposed in the multi-route PCI switch  1011  and the system controller  103  is disposed in the management module  2602 . The management module  2602  and the physical hosts  1101  to  1103  are connected to each another through the management LAN  2605 . The management module  2602  and the multi-route PCI switch  1011  are connected to each other through an I 2 C  2604  and the management module  2602  and the management terminal  105  are connected to each other through the management LAN  2603 . 
         [0153]    Therefore, the present invention in this embodiment can also apply to a blade type server system that includes multi-route PCI switches  1011  and  1012 . 
       Eighth Embodiment 
       [0154]    Next, there will be described a configuration of a composite type computer system in an eighth embodiment of the present invention. In this eighth embodiment, there are only two differences from the configuration of the composite type computer system in the first embodiment shown in  FIG. 1 ; the PCI manager  104  and the system controller  103  are disposed in difference places from those in the composite type computer system in the first embodiment. Other components are the same as those in the first embodiment. In this eighth embodiment, therefore, only the differences will be described, avoiding redundant description. 
         [0155]      FIG. 27  is a block diagram showing a configuration of the composite type computer system in this eighth embodiment. As shown in  FIG. 27 , in this embodiment, the composite type computer system consists of plural blade servers  2601 ; plural IO chasses  2701 ; and a management terminal  105 . Each blade server  2601  consists of plural physical hosts  1001 ,  1002 , and  1003 ; a multi-route PCI switch  1011 ; and a management module  2602 . The multi-route PCI switch  1012  in the first embodiment is omitted from this  FIG. 27 . 
         [0156]    Each IO chassis  2701  consists of a multi-route PCI switch  1011  and plural PCI devices  102 . A PCI Express (e.g., a cable or the like) is used for the connection between the multi-route PCI switches  1011 . The management module  2602  and each multi-route PCI switch  1011  is connected to each other through the management LAN  2701  and the plural management modules and the management terminal  105  are connected to each another through the management LAN  2603 . 
         [0157]    Therefore, the present invention in this embodiment can also apply to a system composed of a blade server that includes the multi-route PCI switches  1011  and  1012 , as well as an IO chassis. 
       Ninth Embodiment 
       [0158]    Next, there will be described a configuration of a composite type computer system in a ninth embodiment of the present invention. In this eighth embodiment, there is only one difference from the configuration of the composite type computer system in the first embodiment shown in  FIG. 1 ; the configuration of the graphical interface of the management terminal  105  is modified from that in the first embodiment. Other components are the same as those in the first embodiment. In this eighth embodiment, therefore, only the difference will be described, avoiding redundant description. 
         [0159]      FIG. 28  is an example of the configuration of the graphical interface of the composite type computer system in this ninth embodiment. As shown in  FIG. 28 , the graphical interface  2801  of the management terminal  105  includes a PCI manager setting device  2802  used to set the PCI manager. The graphical interface  2801  of the management terminal  105  includes at least a PCI tree initialization check on/off input device  2803  used to set whether to check the initialization status of the object PCI tree upon powering the physical host  1001 / 1002 ; a physical host PCI tree configuration change check on/off input device  2804  used to set whether to check the status of the physical host  1001 / 1002  upon changing the configuration of a PCI tree allocated to the physical host  1001 / 1002 ; a virtual server PCI tree configuration change check on/off input device  2805  used to set whether to check the status of the physical host  1001 / 1002  upon changing the configuration of a PCI tree allocated to the virtual server  112 ; and a setting decision input device  2806 . 
         [0160]    The input devices  2803  to  2806  of the PCI manager  2802  may be only one for the composite type computer system or they may be provided for each of the physical hosts  1001  and  1002  in the system. 
         [0161]    While the preferred forms of the present invention have been described, it is to be understood that modifications will be apparent to those skilled in the art without departing from the spirit of the invention. 
         [0162]    The present invention can apply to a composite type computer system capable of varying allocation of PCI devices to computers, that is, to a computer system that uses a multi-route PCI switch.

Technology Classification (CPC): 6