(57)【要約】【課題】１ないし複数のコンピュータのＣＰＵノードとＩＯノードとをＯＳ等の介在なしに別々に仮想化することが可能な仮想サーバシステムを提供する。【解決手段】ＡＣ電源で動作し、サーバのマネージメントを行う組み込み型のマネージメントコントローラ（ＭＣ）３の制御により、ＣＰＵノード１のノーススイッチ４、ＩＯノード２のサウススイッチ５およびＭＣ３のＭＣスイッチ６の接続・切断状態とマネージメントＬＡＮ１０に接続する他のサーバとを指定して、不揮発性メモリＮＶ３３に登録し、ＣＰＵノード１、ＩＯノード２を、別々に、マネージメントＬＡＮ１０経由で選択した任意の他のコンピュータと接続・切断する制御を行う。また、ＭＣ３は、ＣＰＵノード１、ＩＯノード２のＤＣ電源投入の検知時、ＮＶ３３に登録された接続先の他のコンピュータへマネージメントＬＡＮ１０経由でＤＣ電源の投入指示を送信し、他のコンピュータのＤＣ電源を投入させる。【選択図】図２
2008204315.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵノードとＩＯノードとを少なくとも含んで構成されるコンピュータを１ないし複数有し、任意のコンピュータのＣＰＵノードおよび／またはＩＯノードを仮想化して他のコンピュータと一体化構成とされる仮想サーバシステムにおいて、各コンピュータに、ＡＣ電源で動作し、当該コンピュータのマネージメントを行う組み込み型のマネージメントコントローラを備え、かつ、当該コンピュータの前記ＣＰＵノード、ＩＯノードおよびマネージメントコントローラに、前記ＣＰＵノードおよび／または前記ＩＯノードおよび／または前記マネージメントコントローラの間を接続し切断する機能を有するスイッチを備え、前記マネージメントコントローラが、前記スイッチの接続・切断を制御するスイッチ制御手段と、他のコンピュータとの間をマネージメントネットワークを介して接続するネットワーク接続手段と、前記スイッチ制御手段により設定する前記ＣＰＵノード、ＩＯノードおよびマネージメントコントローラ間の接続・切断状態を指定し、かつ、前記ネットワーク接続手段により接続先として接続する任意の他のコンピュータを選択するための設定手段とを少なくとも備え、前記ＣＰＵノード、ＩＯノードを、前記マネージメントネットワークを介して、選択した任意の他のコンピュータと接続する制御を行うことを特徴とする仮想サーバシステム。
【請求項２】
前記マネージメントコントローラは、不揮発性メモリを備え、前記設定手段により指定された前記スイッチの接続・切断状態、接続する他のコンピュータを示す接続先を、前記不揮発性メモリに設定情報として登録して、ＡＣ電源のＯＮ・ＯＦＦの如何に関係なく保持し、前記スイッチ制御手段、前記ネットワーク接続手段により、前記設定手段が設定した前記設定情報に従った接続状態を維持することを特徴とする請求項１に記載の仮想サーバシステム。
【請求項３】
前記マネージメントコントローラは、前記ＣＰＵノード、ＩＯノードのＤＣ電源の投入を検知するとともに、投入する手段を備え、ユーザによりＤＣ電源が投入されたことを検知した際に、前記不揮発性メモリに登録されている前記設定情報の接続先を参照して、接続している他のコンピュータへＤＣ電源の投入指示を、前記マネージメントネットワークを介して送信し、他のコンピュータの当該コンピュータと接続状態にある前記ＣＰＵノード、ＩＯノードのＤＣ電源を投入させることを特徴とする請求項２に記載の仮想サーバシステム。
【請求項４】
前記マネージメントコントローラによりまたはユーザによりＤＣ電源が投入された場合、前記ＣＰＵノードにより、初期化動作を行うＢＩＯＳ（Ｂａｓｉｃ  ＩＯ  Ｓｙｓｔｅｍ）が起動されて、当該ＣＰＵノード、ＩＯノードに対する初期化指示が出力されたことを、前記マネージメントコントローラが検知した際に、前記マネージメントコントローラは、前記不揮発性メモリに登録されている前記設定情報の接続先を参照して、接続している他のコンピュータへ初期化指示を、前記マネージメントネットワークを介して送信し、他のコンピュータの当該コンピュータと接続状態にある前記ＣＰＵノード、ＩＯノードの初期化を行わせることを特徴とする請求項３に記載の仮想サーバシステム。
【請求項５】
前記ＩＯノード内に備えられた１ないし複数のデバイスごとに、前記デバイスの動作を制御するＩＯコントローラおよび／または前記マネージメントコントローラとの間を接続し切断する機能を有するデバイススイッチを備え、前記マネージメントコントローラは、前記スイッチ制御手段が、前記デバイスごとに備えられた前記デバイススイッチの接続・切断を制御する手段をさらに備え、かつ、前記設定手段が、前記スイッチ制御手段により設定する前記デバイスの接続・切断状態をデバイスごとに指定する手段を備え、前記デバイススイッチの接続・切断状態を前記不揮発性メモリに登録するとともに、選択した任意の前記デバイスを、前記マネージメントネットワークを介して、選択した任意の他のコンピュータと接続する制御を行うことを特徴とする請求項２ないし４のいずれかに記載の仮想サーバシステム。
【請求項６】
前記ＩＯノード内に、前記ＩＯコントローラと前記マネージメントコントローラとの間を接続し切断するスイッチを、ホットプラグ機能を有するホットプラグデバイススイッチとしてさらに備え、前記ＩＯノードのＤＣ電源が投入された際に、前記ホットプラグデバイススイッチにより前記ＩＯコントローラと前記マネージメントコントローラとの間が接続され、前記マネージメントコントローラは、前記不揮発性メモリに登録されている前記設定情報の接続先を参照して、接続している他のコンピュータへ、前記ＩＯコントローラからのデバイス初期化指示を、前記マネージメントネットワークを介して送信し、他のコンピュータの当該コンピュータと接続状態にある前記デバイスの初期化を行わせることを特徴とする請求項５に記載の仮想サーバシステム。
【請求項７】
前記マネージメントコントローラは、前記マネージメントネットワークを介したネットワークパケットの送受信を行うためのＴＣＰオフロードエンジンを備えていることを特徴とする請求項１ないし６のいずれかに記載の仮想サーバシステム。
【請求項８】
前記マネージメントコントローラの前記設定手段は、前記ＣＰＵノードで動作する専用のアプリケーションソフトウェア、リモートからのＷｅｂコンソール、あるいは、前記マネージメントネットワークを介した他の前記マネージメントコントローラ、のいずれかからのコマンドにより起動され、設定動作を実行することを特徴とする請求項１ないし７のいずれかに記載の仮想サーバシステム。
【請求項９】
前記マネージメントネットワークが、イーサネット（登録商標）からなっていることを特徴とする請求項１ないし８のいずれかに記載の仮想サーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想サーバシステムに関する。
【背景技術】
【０００２】
従来より、コンピュータ資源を有効に利用するために種々の試みがなされている。例えば、特許文献１の特開２００３−６７３５２号公報「パーティション構成変更方式、パーティション構成変更方法およびパーティション構成変更用プログラム」においては、コンピュータシステムを論理的に複数に分割したパーティションの構成を自動的に変更して、コンピュータ資源の効率的な利用を図るという仮想化技術を提案している。
【特許文献１】特開２００３−６７３５２号公報（第５−６頁）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、前記特許文献１の仮想化技術も含め、従来のコンピュータ本体の仮想化技術には、以下に示すような問題点があった。
【０００４】
コンピュータ本体の仮想化を行う方式として、前記特許文献１のように、大規模なサーバ用のコンピュータを仮想的に複数に分割して、複数の小規模のコンピュータを構成するという方式がある。この方式の場合には、コンピュータそのものが高価であり、また、サーバ用のコンピュータというあらかじめ決まっている資源を分割するために、柔軟性に欠けるという課題があった。
【０００５】
前述の課題を解決するものとして、複数のコンピュータ間をＯＳ上で動作するミドルウェアを介して仮想的に一つのコンピュータに見立てるグリッドシステムが提案された。グリッドシステムは、ミドルウェアによるソフトウェア制御であるため、後から装置を随時に追加することができる等、非常に柔軟性が高いというメリットがあるものの、高度なソフトウェア処理を行わなければないために管理ソフトウェアが高価になったり、設定が面倒であったり、あるいは、セキュリティ面で不安があったりするという課題があった。また、グリッドシステム全体を制御するための装置も必要となる場合もあり、ＩＯ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）という入出力処理部のみの仮想化を行うことができないこともあり、小規模なシステムでは採用しにくいという課題があった。
【０００６】
一方、コンピュータ内の仮想化に注目すると、デバイスの仮想化技術として、マネージメントコントローラ（ＭＣ：Ｍａｎａｇｅｍｅｎｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）によりクライアントのデバイスを仮想化して、サーバから使用可能にするというリモートメディア技術があるが、マネージメントコントローラ（ＭＣ）によってデバイスの仮想化を行うために、デバイスのデータ転送速度が、低速なマネージメントコントローラの性能に抑えられてしまい、十分な満足の行く性能を発揮することができないという問題があった。
【０００７】
本発明は、かかる問題に鑑みてなされたものであり、本発明の目的とするところは、コンピュータを構成するＣＰＵノードとＩＯノードとマネージメントコントローラ（ＭＣ）とのそれぞれの接続・切断を行うスイッチを備えるとともに、マネージメントコントローラ（ＭＣ）の機能を活用して前記スイッチの接続・切断を制御することにより、１ないし複数のコンピュータのＣＰＵノードとＩＯノードとを別々に仮想化することを可能とし、小規模のコンピュータを随時組み合わせて大規模のサーバ装置を仮想的に構成することが可能な、柔軟性に富む仮想サーバシステムを提供することにある。
【課題を解決するための手段】
【０００８】
前述の課題を解決するため、本発明による仮想サーバシステムは、次のような特徴的な構成を採用している。
【０００９】
（１）ＣＰＵノードとＩＯノードとを少なくとも含んで構成されるコンピュータを１ないし複数有し、任意のコンピュータのＣＰＵノードおよび／またはＩＯノードを仮想化して他のコンピュータと一体化構成とされる仮想サーバシステムにおいて、各コンピュータに、ＡＣ電源で動作し、当該コンピュータのマネージメントを行う組み込み型のマネージメントコントローラを備え、かつ、当該コンピュータの前記ＣＰＵノード、ＩＯノードおよびマネージメントコントローラに、前記ＣＰＵノードおよび／または前記ＩＯノードおよび／または前記マネージメントコントローラの間を接続し切断する機能を有するスイッチを備え、前記マネージメントコントローラが、前記スイッチの接続・切断を制御するスイッチ制御手段と、他のコンピュータとの間をマネージメントネットワークを介して接続するネットワーク接続手段と、前記スイッチ制御手段により設定する前記ＣＰＵノード、ＩＯノードおよびマネージメントコントローラ間の接続・切断状態を指定し、かつ、前記ネットワーク接続手段により接続先として接続する任意の他のコンピュータを選択するための設定手段とを少なくとも備え、前記ＣＰＵノード、ＩＯノードを、前記マネージメントネットワークを介して、選択した任意の他のコンピュータと接続する制御を行う仮想サーバシステム。
（２）前記マネージメントコントローラは、不揮発性メモリを備え、前記設定手段により指定された前記スイッチの接続・切断状態、接続する他のコンピュータを示す接続先を、前記不揮発性メモリに設定情報として登録して、ＡＣ電源のＯＮ・ＯＦＦの如何に関係なく保持し、前記スイッチ制御手段、前記ネットワーク接続手段により、前記設定手段が設定した前記設定情報に従った接続状態を維持する上記（１）の仮想サーバシステム。
（３）前記マネージメントコントローラは、前記ＣＰＵノード、ＩＯノードのＤＣ電源の投入を検知するとともに、投入する手段を備え、ユーザによりＤＣ電源が投入されたことを検知した際に、前記不揮発性メモリに登録されている前記設定情報の接続先を参照して、接続している他のコンピュータへＤＣ電源の投入指示を、前記マネージメントネットワークを介して送信し、他のコンピュータの当該コンピュータと接続状態にある前記ＣＰＵノード、ＩＯノードのＤＣ電源を投入させる上記（２）の仮想サーバシステム。
（４）前記マネージメントコントローラによりまたはユーザによりＤＣ電源が投入された場合、前記ＣＰＵノードにより、初期化動作を行うＢＩＯＳ（Ｂａｓｉｃ  ＩＯ  Ｓｙｓｔｅｍ）が起動されて、当該ＣＰＵノード、ＩＯノードに対する初期化指示が出力されたことを、前記マネージメントコントローラが検知した際に、前記マネージメントコントローラは、前記不揮発性メモリに登録されている前記設定情報の接続先を参照して、接続している他のコンピュータへ初期化指示を、前記マネージメントネットワークを介して送信し、他のコンピュータの当該コンピュータと接続状態にある前記ＣＰＵノード、ＩＯノードの初期化を行わせる上記（３）の仮想サーバシステム。
（５）前記ＩＯノード内に備えられた１ないし複数のデバイスごとに、前記デバイスの動作を制御するＩＯコントローラおよび／または前記マネージメントコントローラとの間を接続し切断する機能を有するデバイススイッチを備え、前記マネージメントコントローラは、前記スイッチ制御手段が、前記デバイスごとに備えられた前記デバイススイッチの接続・切断を制御する手段をさらに備え、かつ、前記設定手段が、前記スイッチ制御手段により設定する前記デバイスの接続・切断状態をデバイスごとに指定する手段を備え、前記デバイススイッチの接続・切断状態を前記不揮発性メモリに登録するとともに、選択した任意の前記デバイスを、前記マネージメントネットワークを介して、選択した任意の他のコンピュータと接続する制御を行う上記（２）ないし（４）のいずれかの仮想サーバシステム。
（６）前記ＩＯノード内に、前記ＩＯコントローラと前記マネージメントコントローラとの間を接続し切断するスイッチを、ホットプラグ機能を有するホットプラグデバイススイッチとしてさらに備え、前記ＩＯノードのＤＣ電源が投入された際に、前記ホットプラグデバイススイッチにより前記ＩＯコントローラと前記マネージメントコントローラとの間が接続され、前記マネージメントコントローラは、前記不揮発性メモリに登録されている前記設定情報の接続先を参照して、接続している他のコンピュータへ、前記ＩＯコントローラからのデバイス初期化指示を、前記マネージメントネットワークを介して送信し、他のコンピュータの当該コンピュータと接続状態にある前記デバイスの初期化を行わせる上記（５）の仮想サーバシステム。
（７）前記マネージメントコントローラは、前記マネージメントネットワークを介したネットワークパケットの送受信を行うためのＴＣＰオフロードエンジンを備えている上記（１）ないし（６）のいずれかの仮想サーバシステム。
（８）前記マネージメントコントローラの前記設定手段は、前記ＣＰＵノードで動作する専用のアプリケーションソフトウェア、リモートからのＷｅｂコンソール、あるいは、前記マネージメントネットワークを介した他の前記マネージメントコントローラ、のいずれかからのコマンドにより起動され、設定動作を実行する上記（１）ないし（７）のいずれかの仮想サーバシステム。
（９）前記マネージメントネットワークが、イーサネット（登録商標）からなっている上記（１）ないし（８）のいずれかの仮想サーバシステム。
【発明の効果】
【００１０】
本発明の仮想サーバシステムによれば、以下のような効果を得ることができる。 
【００１１】
第一に、マネージメントコントローラ（ＭＣ）を介してスイッチを制御することにより、ＣＰＵノードとＩＯノードとを別々に仮想化することができるので、コンピュータシステムの装置全体を仮想化する方式に比べて、柔軟性が高いという効果が得られる。
【００１２】
第二に、マネージメントコントローラ（ＭＣ）の機能を活用して仮想化を実現しており、仮想化を行う際に、特殊なＯＳやミドルウェアを必要としないので、単体で動作する場合と仮想化構成で動作する場合とで、ＯＳやソフトウェアの再インストールの必要がなく、それまでスタンドアロンで動作させていた装置を、簡単に、仮想化構成に追加したり、仮想化構成から削除したりすることができ、非常に柔軟性に富むシステムとすることができる。また、高価な専用ソフトウェアの必要もなく、比較的安価なネットワーク構成で、複数のコンピュータを跨ぐ仮想化環境を実現することが可能である。
【００１３】
第三に、マネージメントコントローラ（ＭＣ）を介して、ＯＳ等の介在しない状態での仮想化を実現しているので、各装置間のデータ転送はＯＳからは見えないマネージメントネットワーク（マネージメントＬＡＮ）を介して行われ、セキュアなデータ送信が可能である。
【００１４】
第四に、デバイスの仮想化を行う場合、マネージメントコントローラ（ＭＣ）自体がＩＯの仮想化を行わないので、マネージメントコントローラ（ＭＣ）の性能により仮想化したデバイスのデータ転送性能が低下するという問題が発生しないことである。
【発明を実施するための最良の形態】
【００１５】
以下、本発明による仮想サーバシステムの好適な実施例について、添付図を参照して説明する。
【００１６】
（本発明の特徴）
本発明の実施例に説明に先立って、まず、本発明の特徴についてその概要を説明する。本発明の特徴は、ＣＰＵノード、ＩＯノード、マネージメントコントローラ（ＭＣ）を有する１ないし複数のコンピュータ（サーバ装置）からなるサーバシステムにおいて、ＣＰＵノード、ＩＯノード、ＭＣ間をＭＣにより制御されるスイッチで接続することにより、１ないし複数のコンピュータ（サーバ装置）のＣＰＵノードとＩＯノードとを組み合わせた仮想サーバシステムを、システムソフトウェアの変更無しで構築可能としている点にある。かかる特徴により、ＣＰＵノード、ＩＯノードを別々に仮想化することができ、柔軟性に富むサーバシステムを構築することができるとともに、小規模のコンピュータを、ネットワークを介して、相互に接続することによって、仮想的な大規模コンピュータシステムを構築することも可能である。
【００１７】
（実施例の構成）
本発明の仮想サーバシステムの構成例について、図１、図２を用いて説明する。図１は、本発明の仮想サーバシステムを構成する１ないし複数のサーバ装置を相互に接続する接続構成の一例を示すシステム構成図であり、図２は、図１の仮想サーバシステムを構成するサーバ装置の内部構成の一例を示すブロック構成図である。
【００１８】
図１のシステム構成図に示すように、本実施例における仮想サーバシステムは、１ないし複数台のサーバ装置（コンピュータ）をサーバＡ，Ｂ，Ｃとして、例えば、イーサネット（Ｅｔｈｅｎｅｔ、登録商標）などからなるマネージメントＬＡＮに接続して構成される。各サーバＡ，Ｂ，Ｃは、いずれも、同様の構成からなっており、ＣＰＵノード１、ＩＯノード２、ＭＣ（マネージメントコントローラ）３を含んで構成されている。図１における複数台のサーバＡ，Ｂ，Ｃは、各サーバのＭＣ（マネージメントコントローラ）３間が、マネージメント専用のネットワークすなわちマネージメントＬＡＮ１０によって接続されている。
【００１９】
また、図２のサーバ装置のブロック構成図に示すように、各サーバＡ，Ｂ，Ｃ内のＣＰＵノード１は、演算装置であるＣＰＵ１１、各種情報を格納するメモリ１２、ＢＩＯＳ（Ｂａｓｉｃ  ＩＯ  Ｓｙｓｔｅｍ）を格納するＢＩＯＳＲＯＭ１３を少なくとも含んで構成されている。ＩＯノード２は、ＩＯの動作を制御するＩＯコントローラ２１、ストレージ、システムＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ）等の複数のデバイス２２，２２（デバイスａ，ｂ）を少なくとも含んで構成されている。ＭＣ（マネージメントコントローラ）３は、専用のコントローラ３１、マネージメントＬＡＮ１０に接続するためのＭＣＮＩＣ３２、各種の設定情報を保存する不揮発性メモリＮＶ３３を少なくとも含んで構成されている。
【００２０】
また、ＣＰＵノード１は、ノーススイッチ４を備えており、ＭＣ３を介した設定により、当該ノーススイッチ４を、サウススイッチ５に接続するか、ＭＣスイッチ６に接続するか、サウススイッチ５およびＭＣスイッチ６の両方に接続するか、あるいは、いずれにも接続しないか、のいずれかを選択することができ、ＣＰＵノード１を、ノーススイッチ４を経由して、ＩＯノード２やＭＣ３と接続することができる。
【００２１】
ＩＯノード２は、サウススイッチ５を備えており、ＭＣ３を介した設定により、当該サウススイッチ５を、ノーススイッチ４に接続するか、ＭＣスイッチ６に接続するか、ノーススイッチ４およびＭＣスイッチ６の両方に接続するか、あるいは、いずれにも接続しないか、のいずれかを選択することができ、ＩＯノード２を、サウススイッチ５を経由して、ＣＰＵノード１やＭＣ３と接続することができる。
【００２２】
ＭＣ３は、ＭＣスイッチ６を備えており、当該ＭＣ３を介した設定により、当該ＭＣスイッチ６を、ノーススイッチ４に接続するか、サウススイッチ５に接続するか、ノーススイッチ４およびサウススイッチ５の両方に接続するか、あるいは、いずれにも接続しないか、のいずれかを選択することができ、ＭＣ３を、ＭＣスイッチ６を経由して、ＣＰＵノード１やＩＯノード２と接続することができる。
【００２３】
ここで、ＭＣ３は、それぞれのサーバ装置（コンピュータ）のマネージメントを行うための組込み型デバイスであり、ＣＰＵノード１のＣＰＵ１１上で動作するＯＳ等からは認識されずに、独自にマネージメント動作を行う機能を有する。また、ＡＣ電源で動作する機能を有し、当該サーバ装置（コンピュータ）のＤＣ電源の投入を検知し、かつ、投入する機能を有する。さらに、初期設定が完了すると、マネージメントＬＡＮ１０に接続されている他のサーバ装置のＭＣ３が存在していると、互いのＭＣ３を一意に識別して、ＭＣＮＩＣ３２を介してデータの送受信を行う機能を有する。
【００２４】
さらに、ＭＣ３は、ＣＰＵノード１のＣＰＵ１１のＯＳ上で動作する専用アプリケーションやリモートからのＷｅｂコンソール、あるいは、ＭＣＮＩＣ３２を経由して他のＭＣ３から送られてくるコマンドにより、コントローラ３１を制御するためのインターフェースを有し、各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）の設定内容を、ＮＶ３３に登録し、各スイッチの設定を制御することができる機能を有している。
【００２５】
ＭＣ３のコントローラ３１は、ＡＣ電源の投入によって、ＭＣ３の初期化を開始する機能を有する。また、前述のように、ＮＶ３３の設定を行う機能とＮＶ３３の設定値をノーススイッチ４、サウススイッチ５およびＭＣスイッチ６に反映させる機能を有する。さらに、ＭＣスイッチ６の設定と同時に、ＮＶ３３の設定値を更新する機能を有する。
【００２６】
さらに、コントローラ３１は、ＣＰＵノード１とＩＯノード２との双方の電源を個別に制御する機能を有する。また、他のサーバ装置のＭＣ３に対してＭＣＮＩＣ３２を経由して指示を与える機能を有している。
【００２７】
ＭＣ３のＭＣＮＩＣ３２は、マネージメントＬＡＮ１０を介したネットワークパケットの送受信を行うためのＴＣＰオフロードエンジンを有しており、コントローラ３１と他のサーバ装置のＭＣ３との間でマネージメントＬＡＮ１０を経由したデータ送受信を行う機能を有する。また、コントローラ３１を経由しないで、ＣＰＵノード１またはＩＯノード２からのデータをネットワークパケットにカプセル化し、他のサーバ装置のＭＣ３へマネージメントＬＡＮ１０を経由して送信し、また、他のサーバ装置のＭＣ３からマネージメントＬＡＮ１０を経由して送信されてきたネットワークパケットに含まれるデータを取り出し、ＣＰＵノード１またはＩＯノード２へと送信する機能を有する。
【００２８】
ＭＣ３の不揮発性メモリＮＶ３３は、ノーススイッチ４、サウススイッチ５およびＭＣスイッチ６の設定を、ＡＣサイクルを通して、保持する機能を有している。
【００２９】
（実施例の動作の説明）
（動作例１）
次に、図１、図２に示す仮想サーバシステムの動作について、その一例を説明する。まず、動作例１として、図１の仮想サーバシステムのシステム構成において、サーバＡのＣＰＵノード１とサーバＢのＩＯノード２とから構成される仮想マシンを構成する場合の動作について説明する。ユーザが、サーバＡおよびサーバＢのＡＣ電源をＯＮにすると、最初に、サーバＡおよびサーバＢそれぞれのＭＣ３の初期化が行われ、ＭＣ３は動作可能な状態になる。
【００３０】
次に、初期化されたＭＣ３をＷｅｂコンソール等により操作して、ユーザは、サーバＡでは、ノーススイッチ４を、ＭＣスイッチ６と接続し、サウススイッチ５とは接続しないように設定し、ＣＰＵノード１とＭＣ３との間が接続状態、ＣＰＵノード１とＩＯノード２との間が切断状態になるように設定する。ＭＣスイッチ６も同様に、ノーススイッチ４と接続し、サウススイッチ５とは接続しないように設定するとともに、マネージメントＬＡＮ１０を介してサーバ装置Ｂと接続するように設定する。サウススイッチ５は、未接続になるように設定する。各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）の設定内容は、ＭＣ３の不揮発性メモリＮＶ３３に登録され、各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）は、不揮発性メモリＮＶ３３に登録された設定情報に従って接続状態が制御される。
【００３１】
同様に、サーバＢでは、サウススイッチ５を、ＭＣスイッチ６と接続し、ノーススイッチ４とは接続しないように設定し、ＩＯノード２とＭＣ３との間が接続状態、ＩＯノード２とＣＰＵノード１との間が切断状態になるように設定する。ＭＣスイッチ６も、同様に、サウススイッチ５と接続し、ノーススイッチ４とは接続しないように設定するとともに、マネージメントＬＡＮ１０を介してサーバ装置Ａと接続するように設定する。ノーススイッチ４は、未接続になるように設定する。各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）の設定内容は、ＭＣ３の不揮発性メモリＮＶ３３に登録され、各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）は、不揮発性メモリＮＶ３３に登録された設定情報に従って接続状態が制御される。
【００３２】
サーバＡのＭＣ３、サーバＢのＭＣ３を、前述のように設定することにより、後述する動作手順を経て、サーバＡのＣＰＵノード１とサーバＢのＩＯノード２とが仮想的に接続される構成とすることができる。なお、以上のような各スイッチの設定を行った後のサーバＡのＭＣ３におけるＮＶ３３の設定情報を、一例として、図３に示す。図３は、図２のサーバ装置内のＮＶ３３に設定されている各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）の設定情報の一例を示すテーブルであり、サーバＡのＣＰＵノード１とサーバＢのＩＯノード２とから構成される仮想マシンを構成した場合のサーバ装置Ａ内のＮＶ３３の設定情報を示している。
【００３３】
図３に示すように、サーバＡにおいては、ノーススイッチ４はＣＰＵノード１とＭＣ３とを接続した状態に設定され、サウススイッチ５は未接続のままであり、ＭＣスイッチ６は、ＣＰＵノード１をサーバＢとマネージメントＬＡＮ１０を経由して接続した状態に設定され、ＩＯノード２とは未接続のままとなっていることが、不揮発性メモリＮＶ３３に記憶され、不揮発性メモリＮＶ３３の設定情報に応じて、ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６の接続がなされる。
【００３４】
各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）のＮＶ３３への設定が完了すると、ユーザは、サーバＡのＤＣ電源をＯＮにする。ＤＣ電源が投入されると、サーバＡのＭＣ３によってＤＣ電源のＯＮが検知され、ＭＣスイッチ６の設定により、コントローラ３１は、マネージメントＬＡＮ１０を経由して、サーバＢのＭＣ３に対して、接続相手となるノードの電源投入を指示する。
【００３５】
サーバＢのＭＣ３は、サーバ装置ＡのＭＣ３からの電源投入の指示を受け取ると、コントローラ３１が、サウススイッチ５、ＭＣスイッチ６の設定情報をＮＶ３３から読み出して、先にユーザによってサーバＡ（のＣＰＵノード１）と接続状態に設定されていたＩＯノード２の電源を投入する。
【００３６】
一方、サーバＡでは、ＢＩＯＳＲＯＭ１３上のＢＩＯＳが、ＣＰＵ１１により読み出されて、ＢＩＯＳによる初期化が開始される。ＢＩＯＳがＣＰＵノード１の初期化を完了すると、次に、ＩＯの初期化指示を行うが、本実施例においては、ノーススイッチ４の設定により、この初期化指示は、ＩＯノード２側には送信されずに、ＭＣ３にのみ送信される。ＭＣ３は、ＭＣスイッチ６の設定により、ＣＰＵノード１がサーバＢと接続されていることを認識しているため、ＣＰＵノード１からのＩＯ初期化指示を、ＭＣＮＩＣ３２経由してマネージメントＬＡＮ１０上をトンネリング伝送して、サーバＢのＭＣ３に対して送信する。
【００３７】
ＩＯの初期化指示を受け取ったサーバＢのＭＣ３は、サーバＡと接続状態になっているＩＯノード２に対して、初期化指示をトンネリング伝送する。その結果、サーバＡ上で動作しているＢＩＯＳは、特に、マネージメントＬＡＮ１０を介してネットワーク接続されている他のサーバ装置か否かを意識することなく、サーバＢのＩＯノード２の初期化を行うことが可能であり、ローカル接続のＩＯノード２と同様に扱うことが可能である。
【００３８】
しかる後において、サーバＡのＣＰＵノード１上のＯＳが起動した後も、サーバＡのＣＰＵノード１で動作するＯＳは、サーバＢのＩＯノード２を、ＭＣ３の制御により、他のサーバ装置のＩＯノード２か否かを意識することなく、サーバＡのローカルなＩＯデバイスと同様に扱うことが可能となる。
【００３９】
（動作例２）
次に、動作例２として、図１の仮想サーバシステムのシステム構成において、複数のコンピュータをまとめて、仮想的に一つのサーバ装置として動作可能な仮想マシンを構成するグリッド形式の構成例について説明する。ここで、図１の仮想サーバシステムは、３台のサーバＡ，Ｂ，Ｃから構成されているが、この３台のサーバサーバＡ，Ｂ，Ｃのうち、１台をマスターサーバ、他をスレーブサーバとする。ここでは、サーバＢをマスターサーバとし、サーバＡ，Ｃをスレーブサーバとする例を説明する。
【００４０】
なお、サーバＢのマスターサーバには、ＯＳの代わりに、複数のサーバＡ，Ｂ，Ｃを仮想化して、グリッド形式で扱う仮想化ソフトウェアがインストールされているものとする。マスターサーバは、ＭＣ３をＷｅｂコンソール等により操作することによって、ノーススイッチ４は、ＣＰＵノード１は、ＩＯノード２およびＭＣ３の両方に接続された状態に設定され、サウススイッチ５は、ＣＰＵノード１と接続された状態に設定されている。各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）の設定内容は、ＭＣ３の不揮発性メモリＮＶ３３に登録され、各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）は、不揮発性メモリＮＶ３３に登録された設定情報に従って接続状態が制御される。
【００４１】
一方、サーバＡ，Ｃのスレーブサーバについては、ＭＣ３をＷｅｂコンソール等により操作することによって、ノーススイッチ４およびサウススイッチ５は、ＣＰＵノード１およびＩＯノードがＭＣ３と接続された状態に設定されている。ＭＣスイッチ６は、ＣＰＵノード１およびＩＯノード２が接続されるように設定され、さらに、サーバＢのマスターサーバ（のＣＰＵノード１およびＩＯノード２）に接続されるように設定される。各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）の設定内容は、ＭＣ３の不揮発性メモリＮＶ３３に登録され、各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）は、不揮発性メモリＮＶ３３に登録された設定情報に従って接続状態が制御される。
【００４２】
以上のような各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）の設定が完了した後、ユーザは、サーバＢのマスターサーバのＤＣ電源をＯＮにすると、動作例１と同様の手順で、サーバＡおよびサーバＣのスレーブサーバのＣＰＵノード１およびＩＯノード２の電源が投入される。次に、サーバＢのマスターサーバでは、ＢＩＯＳＲＯＭ１３に格納されているＢＩＯＳがＣＰＵ１１に読み出されて、初期化の動作が実行されるが、このとき、マスターサーバ上で動作するＢＩＯＳによって初期化されるのは、スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）の設定により、マスターサーバ、スレーブサーバの各サーバＡ，Ｂ，ＣすべてのＣＰＵノード１とＩＯノード２となる。
【００４３】
サーバＢのマスターサーバのＣＰＵ１１上で動作するＢＩＯＳが、ＣＰＵノード１およびＩＯノード２を初期化するために、ＣＰＵノード１およびＩＯノード２の初期化指示を出すと、各サーバＡ，Ｂ，Ｃすべての初期化をするために、当該サーバＢのローカルＣＰＵノード１、ローカルＩＯノード２に対して送られるだけでなく、この初期化指示の一部は、ＭＣ３により、スレーブサーバとなる他のサーバＡ，ＣのＭＣ３を経由して、他のサーバＡ，ＣのＣＰＵノード１、ＩＯノード２にも送られ、それぞれでも初期化が行われる。ＢＩＯＳによる初期化が完了すると、サーバＢのマスターサーバでは、仮想化ソフトウェアが起動されるため、以降は、サーバＡ，Ｂ，Ｃから構成される一つの仮想サーバを、仮想化ソフトウェアにより、適当に仮想化することにより、グリッドシステムと同様の動作を実現することができる。
【００４４】
（他の実施例）
次に、前述の実施例の仮想サーバシステムの拡張形態として、デバイスごとの仮想化を実現する方式について説明する。デバイスの仮想化を行う場合のサーバ内部の構成は、例えば図４のような構成になる。図４は、図１の仮想サーバシステムを構成するサーバ装置の内部構成の異なる例を示すブロック構成図であり、デバイスの仮想化を実現する場合の一構成例を示すものである。図２のサーバ装置の内部構成との違いは、図４のサーバ装置においては、ＩＯコントローラ２１とデバイス２３，２４（すなわちデバイスｃ，ｄ）との間には、それぞれ、デバイススイッチ６１，６２（すなわちデバイススイッチα，β）が、デバイスごとに挿入されている点にある。
【００４５】
デバイススイッチ６１，６２は、他のスイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６）と同様に、ＭＣ３のＮＶ３３に格納された設定情報により、デバイススイッチ６１，６２それぞれに接続されているデバイス２３，２４を、ＩＯコントローラ２１と接続するか、ＭＣ３と接続するか、あるいは、未接続とするか、の３状態のいずれかを実現する機能を有している。ただし、デバイススイッチγのみは、特殊なスイッチであり、デバイスを接続する機能ではなく、ＩＯコントローラ２１とＭＣ３との間の接続・切断状態を制御することによって、動的にデバイスの追加・削除をＯＳに通知するホットプラグスイッチ機能を有するホットプラグデバイススイッチ６３である。
【００４６】
また、ＭＣスイッチ６Ａは、図２のＭＣスイッチ６の機能が拡張され、ＣＰＵノード１およびＩＯノード２に加え、デバイススイッチ６１，６２との接続、非接続を設定する機能を有しており、デバイススイッチ６１，６２を経由して、各デバイスを、デバイスごとに、マネージメントＬＡＮ１０を経由して、接続先として設定された他のサーバ装置へ接続・切断する機能を有している。
【００４７】
ここで、図４のデバイス２３を有するサーバ装置がスレーブサーバのサーバＡであり、図示していないマスターサーバのサーバＢが、図４のＭＣ３のＭＣＮＩＣ３２を介して接続されていて、サーバＢが、例えば、（ＣＰＵノード１＋ＩＯノード２）の構成で動作中であった場合に、スレーブサーバ側のサーバＡのデバイス２３を接続する場合の動作について図４を参照しながら説明する。この場合、まず、ユーザが、マスターサーバのサーバＢのＡＣ電源をＯＮにし、Ｗｅｂコンソール等によりサーバＢのＭＣ３を操作して、ＭＣ３に指示し、各スイッチ（ノーススイッチ４、サウススイッチ５、ＭＣスイッチ６Ａ、デバイススイッチ６１，６２）の設定を行う。設定した設定情報は、サーバＢ内のＭＣ３のＮＶ３３に登録されて、各スイッチの接続状態が制御される。
【００４８】
サーバＢに設定した構成は、前述のように、（ＣＰＵノード１＋ＩＯノード２）の構成であるので、ノーススイッチ４およびサウススイッチ５の設定は、互いのスイッチ間が接続状態であり、ＭＣスイッチ６Ａとの間が切断状態に設定されている。また、デバイススイッチ６１，６２は、ＩＯコントローラ２１と接続状態であり、ＭＣスイッチ６Ａとの間は切断状態に設定されている。
【００４９】
各スイッチの設定が完了すると、ユーザは、サーバＢのＤＣ電源を投入する。サーバＢでは、ＢＩＯＳによる初期化動作が行われ、サーバＢは、ローカルのＣＰＵノード１とＩＯノード２のみからなるスタンドアロンと同じ状態で初期化され、その後、ＯＳが起動される。
【００５０】
このような状態で、サーバＢの運転中に、ユーザがサーバＡのデバイス２３をサーバＢに接続しようとする場合は、ユーザは、サーバＡのＡＣ電源をＯＮにした後、サーバＡのＭＣ３を操作して、まず、サウススイッチ５を、ノーススイッチ４およびＭＣスイッチ６Ａとの間を切断状態に設定して、ＩＯノード２をＣＰＵノード１およびＭＣ３の両方に対して切断状態に設定する。
【００５１】
次に、デバイス２３が接続されているデバイススイッチ６１をＭＣスイッチ６Ａと接続状態に設定し、デバイススイッチ６１とＩＯコントローラ２１との間を切断状態に設定して、デバイス２３を、ＭＣ３との間を接続状態、ＩＯコントローラ２１との間を切断状態とする。
【００５２】
また、サーバＡのＭＣスイッチ６Ａは、デバイススイッチ６１と接続状態に設定し、デバイス２３とＭＣ３とを接続状態に設定するとともに、サーバＢと接続状態になるように設定する。なお、サーバＡでは、デバイス２４が接続されているデバイススイッチ６２は、ＭＣスイッチ６Ａとの間を切断状態に設定し、デバイス２４とＭＣ３との間は非接続になるように設定する。また、デバイススイッチγすなわちホットプラグデバイススイッチ６３も、切断状態に設定する。各スイッチの設定が完了したら、サーバＡのＭＣ３を操作し、サーバＡのＩＯノード２のＤＣ電源を投入する。
【００５３】
次に、サーバＢのデバイススイッチγすなわちホットプラグデバイススイッチ６３の設定を変更し、ＭＣスイッチ６Ａとの間を切断状態から接続状態に設定して、ＩＯコントローラ２１とＭＣ３とを接続状態とし、かつ、サーバＡに接続されるようにＭＣスイッチ６Ａを設定する。ホットプラグデバイススイッチ６３により、ＩＯコントローラ２１とＭＣ３との間を接続状態とすることは、ローカルのホットプラグスイッチをＯＮにすることと等価であり、その後は、通常のローカルデバイスのホットプラグ動作と同様に、ＩＯコントローラ２１からホットプラグデバイススイッチ６３を経由して、ＭＣ３に対して、デバイス初期化指示が出力される。
【００５４】
ホットプラグデバイススイッチ６３からのデバイス初期化指示を受け取ったサーバＢのＭＣ３は、接続先のサーバＡのＭＣ３にデバイス初期化指示をトンネリング伝送する。この結果、サーバＡのデバイススイッチ６１を経由してデバイス２３にデバイス初期化指示が送られ、デバイス２３の初期化が行われる。デバイス２３の初期化が完了すると、サーバＢで稼働中のＯＳに、サーバＡのデバイス２３のホットプラグが通知される。ただし、ＯＳからは、デバイス２３のホットプラグは、ローカルデバイスのホットプラグとして認識されるため、以降は、サーバＢのＯＳからは、サーバＡのデバイス２３もローカルデバイスと同様に扱うことが可能となる。
【００５５】
（実施例の効果の説明）
以上に詳細に説明したように、本発明の実施例のように構成することにより、高価な専用ソフトウェアが必要ではなく、比較的安価な構成で、複数のコンピュータを跨ぐ仮想化環境を実現することが可能となる。この結果、複数の小規模のコンピュータをネットワークで相互に接続して、仮想的な大規模コンピュータを構築することが可能である。また、従来の仮想サーバシステムのように、高価な大型の分散型コンピュータを分割して、仮想的に小規模なコンピュータを複数構築するという技術に比し、経済性に富み、かつ、柔軟性に富む仮想サーバシステムを構築することができる。また、複数のコンピュータを分散型サーバシステムとして接続する場合にも、従来のような高価な専用のインターコネクト設備を用いる必要はなく、例えばイーサネット（登録商標）のような安価なネットワークを用いて接続することができる。
【００５６】
以下に、本発明の実施例による効果をさらに詳細に説明する。第一の効果は、ＣＰＵノード１とＩＯノード２とを別々に仮想化することが可能である点である。このため、コンピュータ（サーバ装置）全体を仮想化する方式に比べ、柔軟性を向上させることができる。
【００５７】
第二の効果は、仮想化を行う際に、特殊なＯＳやミドルウェアを必要としない点である。従って、単体で動作する場合と仮想化構成で動作する場合とで、ＯＳやソフトウェアの再インストールが必要とならないため、それまでスタンドアロンで動作させていた装置を簡単に仮想化構成に追加したり、逆に、削除したりすることができ、非常に柔軟性が高い。さらには、ＯＳなどのシステムソフトウェアを変更することなく、容易に、仮想サーバシステムを構築することができる。
【００５８】
第三の効果は、ＭＣ（マネージメントコントローラ）３を介して、ＯＳ等の介在しない場所での仮想化を実現している点である。このため、各装置間のデータ転送は、ＯＳからは見えないマネージメントＬＡＮ１０を介して行われるため、セキュアなデータ送信が可能である。
【００５９】
第四の効果は、デバイスの仮想化を行う場合、ＭＣ３自体は、ＩＯの仮想化を行わないため、従来のリモートメディア機能の問題点である、ＭＣ３の性能によりＩＯ性能が低下するという問題が発生しないという点である。
【００６０】
以上、本発明の好適実施例の構成を説明した。しかし、斯かる実施例は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
【図面の簡単な説明】
【００６１】
【図１】本発明の仮想サーバシステムを構成する１ないし複数のサーバ装置を相互に接続する接続構成の一例を示すシステム構成図である。
【図２】図１の仮想サーバシステムを構成するサーバ装置の内部構成の一例を示すブロック構成図である。
【図３】図２のサーバ装置内のＮＶに設定されている各スイッチの設定情報の一例を示すテーブルである。
【図４】図１の仮想サーバシステムを構成するサーバ装置の内部構成の異なる例を示すブロック構成図である。
【符号の説明】
【００６２】
１              ＣＰＵノード
２              ＩＯノード
３              ＭＣ（マネージメントコントローラ）
４              ノーススイッチ
５              サウススイッチ
６，６Ａ        ＭＣスイッチ
１０            マネージメントＬＡＮ
１１            ＣＰＵ
１２            メモリ
１３            ＢＩＯＳＲＯＭ
２１            ＩＯコントローラ
２２            デバイス
２３，２４      デバイス
３１            コントローラ
３２            ＭＣＮＩＣ
３３            ＮＶ（不揮発性メモリ）
６１，６２      デバイススイッチ
６３            ホットプラグデバイススイッチ
【図１】
2008204315.tif 000003
【図２】
2008204315.tif 000004
【図３】
2008204315.tif 000005
【図４】
2008204315.tif 000006