(57)【要約】【課題】  搭載するスイッチモジュールにおける消費電力の増大を防ぐことができるサーバ装置等を提供する。【解決手段】  サーバ装置は、それぞれＣＰＵを搭載した１または複数のＣＰＵブレードと、自機を外部機器に接続する１または複数のスイッチモジュールと、前記ＣＰＵブレードと前記スイッチモジュールとを相互接続するミッドプレーンとを備え、前記ミッドプレーンは、予め設定された前記スイッチモジュールの冗長構成に応じて、前記ＣＰＵブレードと前記スイッチモジュールとの接続を制御する制御回路を有し、前記ＣＰＵブレードは、前記制御回路により通信可能に接続された前記スイッチモジュールを組み込んだ仮想マシンを生成する仮想マシン生成手段を有する。【選択図】      図１
2017102659.tif 000002
【特許請求の範囲】
【請求項１】
それぞれＣＰＵを搭載した１または複数のＣＰＵブレードと、自機を外部機器に接続する１または複数のスイッチモジュールと、前記ＣＰＵブレードと前記スイッチモジュールとを相互接続するミッドプレーンとを備え、
前記ミッドプレーンは、
予め設定された前記スイッチモジュールの冗長構成に応じて、前記ＣＰＵブレードと前記スイッチモジュールとの接続を制御する制御回路を有し、
前記ＣＰＵブレードは、
前記制御回路により通信可能に接続された前記スイッチモジュールを組み込んだ仮想マシンを生成する仮想マシン生成手段を有する
サーバ装置。
【請求項２】
前記ＣＰＵブレードの前記仮想マシン生成手段は、前記制御回路により通信可能に接続された前記スイッチモジュールに搭載されたスイッチチップを検出すると共に、該検出したスイッチチップを、パススルーデバイスとして組み込んだ前記仮想マシンを生成する
請求項１記載のサーバ装置。
【請求項３】
前記ＣＰＵブレードの前記仮想マシン生成手段は、前記制御回路により通信可能に接続された前記スイッチモジュールの数分の前記仮想マシンを生成する
請求項１または請求項２記載のサーバ装置。
【請求項４】
前記ミッドプレーンの前記制御回路は、
アクティブ系として動作する前記ＣＰＵブレードに対して、少なくとも１の前記スイッチモジュールが通信可能となるように接続する
請求項１乃至請求項３のいずれか１項記載のサーバ装置。
【請求項５】
前記ミッドプレーンの前記制御回路は、
アクティブ系として動作する前記ＣＰＵブレードに対して、前記通信可能に接続したスイッチモジュールのプレゼンスを通知し、
前記ＣＰＵブレードは、
前記通知に応じて、ホットスワップ機能により前記通信可能に接続されたスイッチモジュールに搭載されたスイッチチップを使用可能に設定する
請求項１乃至請求項４のいずれか１項記載のサーバ装置。
【請求項６】
前記ミッドプレーンの前記制御回路は、
アクティブ系として動作する前記ＣＰＵブレードのエラーに応じて、スタンバイ系として待機している前記ＣＰＵブレードに、前記アクティブ系として動作する前記ＣＰＵブレードに通信可能に接続したスイッチモジュールのプレゼンスを通知し、
前記スタンバイ系として待機している前記ＣＰＵブレードと、前記プレゼンスを通知したスイッチモジュールとを通信可能に接続する
請求項１乃至請求項５のいずれか１項記載のサーバ装置。
【請求項７】
それぞれＣＰＵを搭載した１または複数のＣＰＵブレードと、自機を外部機器に接続する１または複数のスイッチモジュールと、前記ＣＰＵブレードと前記スイッチモジュールとを相互接続するミッドプレーンとを備えたサーバ装置において、
前記ミッドプレーンは、
予め設定された前記スイッチモジュールの冗長構成に応じて、前記ＣＰＵブレードと前記スイッチモジュールとの間の接続を制御し、
前記ＣＰＵブレードは、
前記ミッドプレーンにより通信可能に接続された前記スイッチモジュールを組み込んだ仮想マシンを生成する
スイッチモジュール制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置におけるスイッチモジュールの制御技術に関する。
【背景技術】
【０００２】
近年のＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）システムの高度化・複雑化に伴い、物理統合により省スペース化を維持しつつＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）の拡張性を備え、さらにシステムリソースレベルを有効活用することでシステム統合を実現する製品として、ブレードサーバが高く注目されている。
【０００３】
ブレードサーバは、一般に、複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）ブレードと、ブレードサーバを外部機器と接続するための複数のスイッチモジュールとを備える。ブレードサーバにおける通信高速化のために、近年では、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）インタフェースを有するスイッチチップを備えたスイッチモジュールを搭載したブレードサーバが開発されている。
【０００４】
図８は、ブレードサーバ１０の構成の一例を示す図である。図８に示すブレードサーバ１０は、複数のＣＰＵブレード（図８では、ＣＰＵブレード２０、２５）と、外部機器と接続するための複数のスイッチモジュール（図８では、スイッチモジュール４０、４５、４６）を備える。ブレードサーバ１０は、さらに、ミッドプレーン３０を備える。ミッドプレーン３０は、ＣＰＵブレード２０、２５、スイッチモジュール４０、４５、４６および図示しない各種モジュールを装着することにより、それらから入出力されるデータを通信可能に接続する。
【０００５】
ＣＰＵブレード２０およびＣＰＵブレード２５は、互いに同一の構成を有するため、以降の説明ではＣＰＵブレード２０の構成について説明する。同様に、スイッチモジュール４０、スイッチモジュール４５およびスイッチモジュール４６は、互いに同一の構成を有するため、以降の説明ではスイッチモジュール４０の構成について説明する。
【０００６】
ＣＰＵブレード２０は、ＣＰＵ２１、ＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）コントローラ２２およびＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）コントローラ２３を備える。ＣＰＵ２１は、ＣＰＵブレード２０の全体的な動作を司る。ＦＣコントローラ２２は、高速データ伝送方式によるデータ伝送を制御する。ＬＡＮコントローラ２３は、イーサネット（登録商標）規格に基づくデータ伝送を制御する。ＦＣコントローラ２２、ＬＡＮコントローラ２３およびスイッチチップ４１は、それぞれミッドプレーン３０と高速インタフェース（Ｈｉｇｈ  Ｓｐｅｅｄ  Ｉｎｔｅｒｆａｃｅ）を持つ。
【０００７】
スイッチモジュール４０は、搭載可能な最大ＣＰＵブレード数分の高速インタフェースを有すると共に、ＰＣＩｅインタフェースを有するスイッチチップ４１を搭載する。スイッチチップ４１は、ＰＣＩｅインタフェースを介してＣＰＵ４２と接続されると共に、ＣＰＵ４２が実行するＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）等より制御される。
【０００８】
スイッチチップ４１は、ルーティング処理向けに設計されたＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、ＬＡＮの最大速度でデータが送り込まれたとしても理論上パケットロスしないほどに高いパケット中継能力を有する。ＣＰＵ４２は、スイッチチップ４１が中継処理時に参照する経路情報を計算したり、スイッチチップ４１が処理できないプロトコルの中継処理を行ったりすることにより、スイッチチップ４１の中継処理を制御する。
【０００９】
ここで、関連する技術として、例えば特許文献１に、仮想マシンのＩ／Ｏ性能を向上させ、実マシンと同じデバイス構成で仮想マシンとして動作させることが可能な情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００９−２５９１０８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述のように、スイッチチップを搭載したスイッチモジュールによりパケット中継処理を行う場合、パケット中継性能は向上する一方で、スイッチチップを制御するＣＰＵの消費電力や発熱量も増大するという課題がある。特に、例えば、Ｌ３（Ｌａｙｅｒ３）機能をサポートするスイッチモジュールが備えるＣＰＵは、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）と同様の電力を必要とするので、その消費電力も甚大である。
【００１２】
上述した特許文献１には、仮想マシンのＩ／Ｏ性能を向上させることは開示されるものの、スイッチモジュールが備えるＣＰＵの消費電力が増大する問題を解決する技術は開示されていない。
【００１３】
本願発明は、上記課題を鑑みてなされたものであり、搭載するスイッチモジュールにおける消費電力の増大を防ぐことができるサーバ装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１４】
本発明の第１のサーバ装置は、それぞれＣＰＵを搭載した１または複数のＣＰＵブレードと、自機を外部機器に接続する１または複数のスイッチモジュールと、前記ＣＰＵブレードと前記スイッチモジュールとを相互接続するミッドプレーンとを備え、前記ミッドプレーンは、予め設定された前記スイッチモジュールの冗長構成に応じて、前記ＣＰＵブレードと前記スイッチモジュールとの接続を制御する制御回路を有し、前記ＣＰＵブレードは、前記制御回路により通信可能に接続された前記スイッチモジュールを組み込んだ仮想マシンを生成する仮想マシン生成手段を有する。
【００１５】
本発明の第１のスイッチモジュール制御方法は、それぞれＣＰＵを搭載した１または複数のＣＰＵブレードと、自機を外部機器に接続する１または複数のスイッチモジュールと、前記ＣＰＵブレードと前記スイッチモジュールとを相互接続するミッドプレーンとを備えたサーバ装置において、前記ミッドプレーンは、予め設定された前記スイッチモジュールの冗長構成に応じて、前記ＣＰＵブレードと前記スイッチモジュールとの間の接続を制御し、前記ＣＰＵブレードは、前記ミッドプレーンにより通信可能に接続された前記スイッチモジュールを組み込んだ仮想マシンを生成する。
【発明の効果】
【００１６】
本願発明によれば、搭載するスイッチモジュールにおける消費電力の増大を防ぐことができるサーバ装置等を提供することができるという効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施の形態に係るブレードサーバの構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るブレードサーバの処理の一例を示す図である。
【図３】本発明の第１の実施形態に係るブレードサーバの処理の他の例を示す。
【図４】本発明の第２の実施の形態に係るブレードサーバの構成を示すブロック図である。
【図５】本発明の第２の実施形態に係るブレードサーバの処理の一例を示す図である。
【図６】本発明の第３の実施の形態に係るブレードサーバの構成を示すブロック図である。
【図７】各実施の形態に係るブレードサーバが備えるＣＰＵブレードのハードウエア構成の一例を示すブロック図である。
【図８】関連するブレードサーバの構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照して詳細に説明する。なお、図面における矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００１９】
第１の実施形態
図１は、本発明の第１の実施の形態に係るブレードサーバ１００の構成を示すブロック図である。図１に示すように、ブレードサーバ１００は、１または複数のＣＰＵブレード（ここでは複数のＣＰＵブレード１１０，１２０）、ミッドプレーン１３０、および１または複数のスイッチモジュール（ここでは複数のスイッチモジュール１４０，１５０）を備える。
【００２０】
ミッドプレーン１３０は、回路基板（プリント基板）の一種であり、その両面に複数のコネクタを有する。ミッドプレーン１３０は、このコネクタ同士を基板上で相互に接続することにより、バスを形成している。ＣＰＵブレード１１０，１２０は、ミッドプレーン１３０の一方の面に接続され、スイッチモジュール１４０，１５０は、ミッドプレーン１３０の他方の面に接続されているとする。
【００２１】
ミッドプレーン１３０が備えるイーサネット規格に準拠した配線には、例えばブレードサーバ１００を制御・監視するサーバ１６０やコンソール１７０が接続されていてもよい。
【００２２】
図１に示すように、本実施形態に係るブレードサーバ１００は、スイッチモジュール１４０，１５０が備えるスイッチチップ１４１，１５１の制御を、ＣＰＵブレード１１０，１２０により行うことにより、スイッチモジュール１４０，１５０がＣＰＵを備えない構成を有している。
【００２３】
そして、スイッチチップ１４１，１５１の制御をＣＰＵブレード１１０，１２０により行うために、ミッドプレーン１３０は、ＣＰＵブレード１１０，１２０とスイッチモジュール１４０，１５０との接続を制御する機能を備えている。また、本実施形態では、スイッチモジュール１４０，１５０を制御するために、ＣＰＵブレード１１０は、仮想マシンモニタ（ハイパバイザ）１１３上で動作する仮想マシン１１１，１１２を構築する。同様に、ＣＰＵブレード１２０は、仮想マシンモニタ１２３上で動作する仮想マシン１２１，１２２を構築する。
【００２４】
以下に、本実施形態に係るブレードサーバ１００の構成の詳細について説明する。
【００２５】
まず、ブレードサーバ１００の各構成要素について説明する。ここで、ＣＰＵブレード１１０およびＣＰＵブレード１２０は、互いに同様の構成を有するので、以下ではＣＰＵブレード１１０の構成について主に説明する。同様に、スイッチモジュール１４０およびスイッチモジュール１５０は、互いに同様の構成を有するので、以下ではスイッチモジュール１４０の構成について主に説明する。
【００２６】
図１に示すように、ＣＰＵブレード１１０は、例えば自身に搭載または接続される図示しない記憶媒体（記憶装置）に格納されたコンピュータ・プログラムを、ＣＰＵ（不図示）によってメモリ（不図示）に読み出すと共に実行することにより、仮想マシンを構築する機能を有する。具体的には、ＣＰＵブレード１１０は、仮想マシンモニタ１１３上で動作する仮想マシン１１１，１１２を構築する機能を有する。
【００２７】
ＣＰＵブレード１１０は、さらに、ＰＣＩｅルートポート１１５、ＬＡＮコントローラ１１６、マネジメントＬＡＮ１１７およびＩ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）マスタ１１８を備える。ＣＰＵブレード１１０は、ＰＣＩｅルートポート１１５を介してミッドプレーン１３０とＰＣＩｅ規格に基づくデータ伝送を行う。
【００２８】
ＬＡＮコントローラ１１６は、ポート（Ｐｏｒｔ）１Ａ、１Ｂを有し、それらを介してスイッチチップ１４１、１５１と接続されてイーサネット規格に準拠したデータ伝送を行う。具体的には、ＬＡＮコントローラ１１６のポート１Ａはスイッチチップ１４１のポート１Ａと、ＬＡＮコントローラ１１６のポート１Ｂはスイッチチップ１５１のポート１Ｂと接続される。同様に、ＬＡＮコントローラ１２６は、ポート２Ａ、２Ｂを有し、ポート２Ａはスイッチチップ１４１のポート２Ａと、ポート２Ｂはスイッチチップ１５１のポート２Ｂと接続される。このように、ＣＰＵブレード１１０とスイッチモジュール１４０，１５０は、ＬＡＮ経路の冗長構成を有している。
【００２９】
マネジメントＬＡＮ１１７は、サーバ１６０やコンソール１７０などの外部装置との接続を可能とするミッドプレーン１３０上の配線に接続され、ＣＰＵブレード１１０のデータの外部装置への送出や、外部装置からのデータの取得を行う。
【００３０】
Ｉ２Ｃマスタ１１８は、ミッドプレーン１３０とＩ２Ｃ通信を行う。本実施形態では、ＣＰＵブレード１１０，１２０は、それぞれＩ２Ｃマスタ１１８、１２８を介してミッドプレーン１３０の死活監視回路１３５と接続され、互いに死活監視を行っている。
【００３１】
次に、ミッドプレーン１３０の構成について説明する。
【００３２】
ミッドプレーン１３０は、ＰＣＩｅリピータ１３１，１３２、ＰＣＩｅスイッチ１３３およびスイッチモジュールコントローラ（以降、「ＳＷＭコントローラ」とも称する）１３４を備える。
【００３３】
ミッドプレーン１３０は、ＣＰＵブレード１１０，１２０から出力されたデータを、それぞれＰＣＩｅリピータ１３１，１３２で受け取り、さらにＰＣＩｅスイッチ１３３を介して、スイッチモジュール１４０，１５０に伝送する。
【００３４】
ＰＣＩｅリピータ１３１，１３２およびＰＣＩｅスイッチ１３３は、ＳＷＭコントローラ１３４により制御される。ＳＷＭコントローラ１３４は、死活監視回路１３５、ＣＰＵブレード設定回路１３６、ＰＣＩｅ設定回路１３７およびステータス検出回路１３８を備える。
【００３５】
ＰＣＩｅリピータ１３１，１３２は、Ｅｎａｂｌｅ制御機能を有し、ＳＷＭコントローラ１３４のＰＣＩｅ設定回路１３７からのＥｎａｂｌｅ信号またはＤｉｓａｂｌｅ信号に応じて、動作（Ａｃｔｉｖｅ）したり待機（Ｓｔａｎｂｙ）したりする。また、ＰＣＩｅスイッチ１３３は、ＳＷＭコントローラ１３４のＰＣＩｅ設定回路１３７からのＣＯＮＦＩＧ信号に応じて、ＰＣＩｅリピータ１３１，１３２とスイッチモジュール１４０，１５０との間の通信可能な経路の切り替えを行う。
【００３６】
死活監視回路１３５は、上述のようにＣＰＵブレード１１０，１２０の相互の死活監視を行う。ＣＰＵブレード設定回路１３６は、搭載されるＣＰＵブレードの冗長構成に合わせてＣＰＵブレードの各種設定を行う。ＰＣＩｅ設定回路１３７は、予め設定されたスイッチモジュールの冗長構成とＣＰＵブレードのステータスに応じて、上述のように、ＰＣＩｅリピータ１３１，１３２に対してＥｎａｂｌｅ信号、Ｄｉｓａｂｌｅ信号を送出したり、ＰＣＩｅスイッチ１３３に対してＣＯＮＦＩＧ信号を送出したりする。ステータス検出回路１３８は、ミッドプレーン１３０へのＣＰＵブレードやスイッチモジュールの装着有無等を検出する。
【００３７】
スイッチモジュール１４０，１５０は、それぞれＰＣＩｅインタフェースを備えたスイッチチップ１４１，１５１を備え、ミッドプレーン１３０から送られたデータを、ＰＣＩｅインタフェースを介してスイッチチップ１４１，１５１において受け取ると共に、宛先に伝送する。
【００３８】
次に、図２を参照して、ブレードサーバ１００の具体的な動作について説明する。
【００３９】
まず、ＣＰＵブレード１１０、１２０のうちの一方をアクティブ系、他方をスタンバイ系として機能させるブレードサーバ１００の動作について説明する。
【００４０】
例えば、ブレードサーバ１００に搭載された図示しない電源モジュールから、ブレードサーバ１００に電源が投入されたとする。このとき、ＣＰＵブレード１１０,１２０では、ＰＣＩｅルートポート１１５，１２５、ＬＡＮコントローラ１１６，１２６、マネジメントＬＡＮ１１７，１２７およびＩ２Ｃマスタ１１８，１２８が起動する。また、図示しないＣＰＵ、メモリ、制御回路等が起動すると共に、仮想マシンモニタ１１３，１２３が起動する。
【００４１】
またこのとき、スイッチモジュール１４０，１５０のスイッチチップ１４１，１５１が起動する。さらに、ミッドプレーン１３０のＰＣＩｅリピータ１３１，１３２、ＰＣＩｅスイッチ１３３およびＳＷＭコントローラ１３４が起動する（Ｓ１０１）。
【００４２】
続いて、ＳＷＭコントローラ１３４のステータス検出回路１３８は、ミッドプレーン１３０のコネクタへの装着状態を検出する（Ｓ１０２）。ここでは、ステータス検出回路１３８は、ＣＰＵブレード１１０，１２０が装着されていること、およびスイッチモジュール１４０，１５０が装着されていることを検出する。
【００４３】
ＣＰＵブレード１１０，１２０が接続されていることを検出したステータス検出回路１３８は、その旨をＣＰＵブレード設定回路１３６に通知する。ＣＰＵブレード設定回路１３６は、予め設定されたスイッチモジュールの冗長構成とＣＰＵブレードのステータスに基づいて、ＣＰＵブレード１１０，１２０のアクティブ系またはスタンバイ系の設定を行う（Ｓ１０３）。ここでは、例えばＣＰＵブレード１１０をアクティブ系、ＣＰＵブレード１２０をスタンバイ系に設定する。
【００４４】
続いて、アクティブ系であるＣＰＵブレード１１０のＰＣＩｅルートポート１１５と、スイッチモジュール１４０，１５０とを通信可能に接続するため、それらの通信を中継するＰＣＩｅリピータ１３１に、ＰＣＩｅ設定回路１３７からＥｎａｂｌｅ信号を送出する（Ｓ１０４）。このとき、ＰＣＩｅ設定回路１３７はまた、ＰＣＩｅリピータ１３２に対して、Ｄｉｓａｂｌｅ信号を送出する。これにより、ＰＣＩｅリピータ１３１は、アクティブ（動作）状態、ＰＣＩｅリピータ１３２はスタンバイ（待機）状態となる。
【００４５】
ＰＣＩｅ設定回路１３７はまた、ＰＣＩｅスイッチ１３３に対して、ＣＯＮＦＩＧ信号を送出する（Ｓ１０５）。すなわち、ＰＣＩｅ設定回路１３７は、ＰＣＩｅリピータ１３１とスイッチモジュール１４０，１５０とを通信可能に接続するように、ＣＯＮＦＩＧ信号をＰＣＩｅスイッチ１３３に送出する。図１では、ＰＣＩｅリピータ１３１とスイッチモジュール１４０，１５０とが、通信可能に接続されていることを、模式的に実線で示している。
【００４６】
続いて、ＣＰＵブレード設定回路１３６は、ステータス検出回路１３８において上述のように装着されていることを検出したスイッチモジュール１４０，１５０のプレゼンスを、アクティブ系であるＣＰＵブレード１１０のＰＣＩｅルートポート１１５に対して通知する（Ｓ１０６）。
【００４７】
ＣＰＵブレード１１０は、ＰＣＩｅルートポート１１５において上記通知を受けると（Ｓ１０７）、物理デバイスであるスイッチモジュール１４０，１５０のスイッチチップ１４１，１５１を、ＰＣＩｅＨｏｔＳｗａｐ処理（ホットスワップ機能）により、仮想マシンに組み込む。
【００４８】
具体的には、以下の処理を行う。ＣＰＵブレード１１０では、スイッチモジュール１４０，１５０のプレゼンスを受け取ると、ＰＣＩｅＨｏｔＳｗａｐが起動する（Ｓ１０８）。ＰＣＩｅＨｏｔＳｗａｐは、ＣＰＵブレード１１０の図示しない記憶領域に格納されたプログラムであって、ＣＰＵブレード１１０のＣＰＵによりメモリに読み出すことにより実行される。
【００４９】
ＰＣＩｅＨｏｔＳｗａｐは、ＰＣＩｅルートポート１１５の配下にＰＣＩｅデバイスの接続有無を調べる（Ｓ１０９）。その結果、この場合、ＰＣＩｅＨｏｔＳｗａｐは、ＰＣＩｅルートポート１１５の配下にスイッチチップ１４１，１５１が接続されていることを検出する。
【００５０】
そして、ＰＣＩｅＨｏｔＳｗａｐは、接続が検出されたスイッチチップ１４１，１５１に対して、ＣＰＵブレード１１０により使用可能となるようにアドレスと割り込み信号の割り振りを行う（Ｓ１１０）。以上のＰＣＩｅＨｏｔＳｗａｐ処理により、ＣＰＵブレード１１０は、スイッチチップ１４１，１５１とデータ転送が可能になる。
【００５１】
上記ＰＣＩｅＨｏｔＳｗａｐによるスイッチチップ１４１，１５１の接続（組み込み）操作が終了すると、ＣＰＵブレード１１０の仮想マシンモニタ１１３にその旨が通知される。仮想マシンモニタ１１３は、上記通知を受けると、仮想マシン１１１，１１２を構築する。すなわち、仮想マシンモニタ１１３は、配下に接続されるスイッチモジュールの数だけ、仮想マシンを構築する。本実施形態では、配下に接続されるスイッチモジュール数は２であるため、仮想マシンモニタ１１３は、２つの仮想マシン１１１，１１２を構築する。このとき、仮想マシン１１１，１１２は、物理デバイスであるスイッチチップ１４１，１５１を、それぞれパススルーデバイスとして組み込む（Ｓ１１１）。仮想マシンの構築手法およびスイッチチップ１４１，１５１をパススルーデバイスとして組み込む手法には、通常の技術を用いればよい。その後、仮想マシン１１１，１１２は、それぞれゲストＯＳを起動する。
【００５２】
Ｉｎｔｅｌ（登録商標）バーチャライゼーションテクノロジー−ｄ（ＶＴ−ｄ）機能などにより、ゲストＯＳが物理デバイスを直接アクセス可能とする技術であるＰＣＩｅパススルーにより、仮想マシン１１１，１１２は、それぞれスイッチチップ１４１，１５１を組み込む。この技術により、ゲストＯＳ起動後は、仮想マシン１１１，１１２は、物理マシンと同等の機能を実現可能である。また、仮想マシン１１１，１１２によるスイッチチップ１４１、１５１の制御性能は、物理マシンと同等の性能が実現可能である。
【００５３】
このように、スイッチモジュール１４０，１５０がＣＰＵを有しなくても、上記構成により、ＣＰＵブレード１１０の仮想マシン１１１，１１２が、スイッチチップ１４１，１５１の中継処理等を制御することができる。
【００５４】
次に、図３を参照して、アクティブ系であるＣＰＵブレード１１０にエラーが検出された場合のブレードサーバ１００の動作について説明する。
【００５５】
ＣＰＵブレード１１０とＣＰＵブレード１２０は、ミッドプレーン１３０のＳＷＭコントローラ１３４が備える死活監視回路１３５において、ハードビートにより相互に死活監視を行っている。
【００５６】
ここで、ＣＰＵブレード１２０は、アクティブ系であるＣＰＵブレード１１０のエラーを検出したとする。このとき、スタンバイ系であるＣＰＵブレード１２０は、Ｉ２Ｃマスタ１２８を介してアクティブ切替要求を、ＳＷＭコントローラ１３４に送出する。
【００５７】
ＳＷＭコントローラ１３４は、死活監視回路１３５においてアクティブ切替要求を受けとる（Ｓ２０１）。続いて、ＰＣＩｅ設定回路１３７は、ＰＣＩｅリピータ１３１，１３２へのＥｎａｂｌｅ信号およびＤｉｓａｂｌｅ信号を切り替える（Ｓ２０２）。すなわち、ＰＣＩｅ設定回路１３７は、ＰＣＩｅリピータ１３１にＤｉｓａｂｌｅ信号を、ＰＣＩｅリピータ１３２にＥｎａｂｌｅ信号を送出する。これにより、ＰＣＩｅリピータ１３１がスタンバイ状態になり、ＰＣＩｅリピータ１３２がアクティブ状態になる。
【００５８】
また、ＰＣＩｅ設定回路１３７は、ＰＣＩｅスイッチ１３３にＰＣＩｅスイッチＣＯＮＦＩＧ信号を送出することにより、ＰＣＩｅリピータ１３１，１３２とスイッチモジュール１４０，１５０との接続を切り替える（Ｓ２０３）。すなわち、ＰＣＩｅ設定回路１３７は、図１のＰＣＩｅスイッチ１３３において点線で示す接続、すなわち、ＰＣＩｅリピータ１３２とスイッチモジュール１４０，１５０とを通信可能に接続するように切り替える。
【００５９】
続いて、ＣＰＵブレード設定回路１３６は、ＣＰＵブレード１２０に対して、スイッチモジュール１４０，１５０のプレゼンスを通知する（Ｓ２０４）。
【００６０】
以降、ＣＰＵブレード１２０は、図２を参照して説明した処理Ｓ１０７乃至処理Ｓ１１１を実行することにより、ＣＰＵブレード（仮想マシン）の切り替えが実行されると共に、スイッチモジュール１４０，１５０が復旧する。
【００６１】
以上のように、本実施形態によれば、ミッドプレーン１３０は、アクティブ系のＣＰＵブレード１１０とスイッチモジュール１４０，１５０との間を通信可能に接続するように、ＳＷＭコントローラ１３４によりＰＣＩｅリピータ１３１，１３２、ＰＣＩｅスイッチ１３３を制御する。アクティブ系のＣＰＵブレード１１０は、スイッチチップ１４１，１５１を組み込んだ仮想マシン１１１，１１２を構築する。この構成を採用することにより、本第１の実施形態によれば、仮想マシン１１１，１１２がスイッチチップ１４１，１５１をそれぞれパススルーデバイスとして組み込むことができるので、スイッチモジュール１４０，１５０は、スイッチチップ１４１，１５１の中継処理を制御するＣＰＵを備えなくてもよい。つまり、本第１の実施形態によれば、ブレードサーバ１００が搭載するスイッチモジュールにおけるＣＰＵが削除可能となるので、省電力化と発熱防止を実現できるという効果が得られる。
【００６２】
第２の実施形態
図４は、本発明の第２の実施の形態に係るブレードサーバ２００の構成を示すブロック図である。図４に示すように、ブレードサーバ２００は、上記第１の実施形態で説明したブレードサーバ１００と比較して、ＣＰＵブレード１１０，１２０がそれぞれ１つの仮想マシン１１１，１２１を構築する構成、およびＰＣＩｅスイッチ１３３の接続構成が異なる。
【００６３】
本実施形態では、ＣＰＵブレード１１０およびＣＰＵブレード１２０が冗長構成をなすブレードサーバ２００について説明する。すなわち、第２の実施形態に係るブレードサーバ２００は、ＣＰＵブレード１１０およびＣＰＵブレード１２０を、ともにアクティブ系とすることで、アクティブなスイッチモジュールを２系統構築する。
【００６４】
図５を参照して、第２の実施の形態に係るブレードサーバ２００の動作について説明する。図５において、図２に示した符号と同一の符号で示す処理は第１の実施形態において説明した処理と同様の処理であるため、その詳細な説明は省略する。
【００６５】
ステータス検出回路１３８がミッドプレーン１３０のコネクタへの装着状態、ここでは、ＣＰＵブレード１１０とＣＰＵブレード１２０の装着を検出すると、ブレードサーバ２００のＣＰＵブレード設定回路１３６は、ＣＰＵブレード１１０とＣＰＵブレード１２０をともにアクティブ系に設定する（Ｓ３０１）。そして、ＰＣＩｅ設定回路１３７は、ＣＰＵブレード１１０のＰＣＩｅルートポート１１５に接続されているＰＣＩｅリピータ１３１と、ＣＰＵブレード１２０のＰＣＩｅルートポート１２５に接続されているＰＣＩｅリピータ１３２ともに、Ｅｎａｂｌｅ信号を送出する（Ｓ３０２）。
【００６６】
続いて、ＰＣＩｅ設定回路１３７は、ＰＣＩｅスイッチ１３３に対して、ＰＣＩｅリピータ１３１とスイッチチップ１４１とを接続すると共に、ＰＣＩｅリピータ１３２とスイッチチップ１５１とを接続すること示すＣＯＮＦＩＧ信号を送出する（Ｓ３０３）。
【００６７】
続いて、ＣＰＵブレード設定回路１３６は、スイッチモジュール１４０，１５０のプレゼンスを、ＣＰＵブレード１１０，１２０ともに通知する（Ｓ３０４）。
【００６８】
上記通知に応じて、ＣＰＵブレード１１０，１２０は、図２のＳ１０７乃至Ｓ１１１を参照して第１の実施形態において説明したように、それぞれ仮想マシン１１１，１２１を構築する。すなわち、ＣＰＵブレード１１０，１２０は、ともにアクティブ系であり、配下に接続されるスイッチモジュールがそれぞれ１つであるため、それぞれ１つずつ仮想マシン１１１，１２１を構築する。このとき、ＣＰＵブレード１１０において仮想マシン１１１はスイッチチップ１４１をパススルーデバイスとして組み込み、ＣＰＵブレード１２０において仮想マシン１２１はスイッチチップ１５１をパススルーデバイスとして組み込む。
【００６９】
上記動作によりスイッチモジュール１４０，１５０は、ともに、ハードウエアレベルでアクティブとなる。
【００７０】
また、ＣＰＵブレード１１０およびＣＰＵブレード１２０が上述のように冗長構成をなすには、仮想マシン１１１，１２１とスイッチモジュール１４０，１５０間におけるＬＡＮ経路の冗長構成が必要である。
【００７１】
ここで、ＬＡＮコントローラ１１６は、ドライバにより複数ポートを制御する機能を有し、例えばボンディング（チーミング）による冗長制御の機能を有する。ＬＡＮコントローラ１１６は、例えばポートＡの接続（ポート１Ａを介してなるスイッチモジュール１４０側の経路）の切断が検出された場合、ポートＢ（ポート１Ｂを介してなるスイッチモジュール１５０側の経路）に接続を切り替える。
【００７２】
具体的には、ＬＡＮコントローラ１１６は、ポート１Ａとスイッチチップ１４１のポート１Ａとが接続された経路が切断された場合、ポート１Ｂとスイッチチップ１５１のポート１Ｂとの接続に切り替える。ＬＡＮコントローラ１２６も同様に、ポート２Ａとスイッチチップ１４１のポート２Ａとが接続された経路が切断された場合、ポート２Ｂとスイッチチップ１５１のポート２Ｂとの接続に切り替える。このように、ブレードサーバ２００は、仮想マシン１１１，１２１とスイッチモジュール１４０，１５０間におけるＬＡＮ経路の冗長構成を有している。
【００７３】
以上のように、本第２の実施形態によれば、ブレードサーバ２００において、ＣＰＵブレード１１０，１２０をともにアクティブ系とし、それぞれが構築する仮想マシン１１１，１２１とスイッチチップ１４１，１５１とのＬＡＮ経路も２系統備えた冗長構成を構築する。この構成を採用することにより、本第２の実施形態によれば、例えば動作中のＣＰＵブレード１１０にエラーが生じてＣＰＵブレード１２０に動作を切り替える場合、ＣＰＵブレード１２０における仮想マシン１２１もアクティブ状態であるため、切り替えが即時にできるという効果が得られる。
【００７４】
第３の実施形態
図６は、第３の実施形態に係るサーバ装置３００の構成を示すブロック図である。サーバ装置３００は、それぞれＣＰＵを搭載した１または複数のＣＰＵブレード３１０と、自機を外部機器に接続する１または複数のスイッチモジュール３３０と、ＣＰＵブレード３１０とスイッチモジュール３３０とを相互接続するミッドプレーン３２０を備える。
【００７５】
ミッドプレーン３２０は、予め設定されたスイッチモジュール３３０の冗長構成に応じて、ＣＰＵブレード３１０とスイッチモジュール３３０との接続を制御する制御回路３２１を有する。
【００７６】
ＣＰＵブレード３１０は、制御回路３２１により通信可能に接続されたスイッチモジュール３３０を組み込んだ仮想マシンを生成する仮想マシン生成部３１１を有する。
【００７７】
制御回路３２１は、上記第１の実施形態におけるＳＷＭコントローラ１３４を含み、仮想マシン生成部３１１は、同じく仮想マシンモニタ１１３を含む。
【００７８】
上記構成を採用することにより、本第３の実施形態によれば、スイッチモジュール３３０の制御をＣＰＵブレード３１０が行うことができるので、スイッチモジュール３３０がＣＰＵを搭載する必要はない。そのため、スイッチモジュール３３０における消費電力の増大を防ぐことができるという効果が得られる。
【００７９】
なお、上述した各実施形態において図１等に示したＣＰＵブレードにおける各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、少なくとも仮想マシン、仮想マシンモニタは、ソフトウェアプログラムの機能単位（ソフトウェアモジュール）と捉えることができる。ただし、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図７を参照して説明する。
【００８０】
図７は、本発明の模範的な実施形態に係るブレードサーバに含まれるＣＰＵブレード９００の構成を例示的に説明する図である。すなわち、図７は、図１等に示したＣＰＵブレードを実現可能なコンピュータの構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００８１】
図７に示したＣＰＵブレード９００は、例えば構成要素として下記を備えている。
・ＣＰＵ９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク９０４（記憶装置）、
・外部装置または内部装置との通信インタフェース９０５（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記憶媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
ＣＰＵブレード９００は、これらの構成がバス９０６（通信線）を介して接続された一般的なコンピュータである。
【００８２】
そして、上述した実施形態を例に説明した本発明の一部は、図７に示したＣＰＵブレード９００に対して、仮想マシン、仮想マシンモニタの機能を実現可能なコンピュータプログラムを供給する。
【００８３】
本発明の一部は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ９０３）またはハードディスク９０４等の不揮発性の記憶デバイスに格納すればよい。
【００８４】
また、上記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記憶媒体９０７を介して当該装置内にインストールする方法等がある。そして、このような場合において、本発明の一部は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体９０７によって構成されると捉えることができる。
【００８５】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００８６】
１００，２００  ブレードサーバ
１１０，１２０  ＣＰＵブレード
１１３，１２３  仮想マシンモニタ
１１１，１１２，１２１，１２２  仮想マシン
１１５，１２５  ＰＣＩｅルートポート
１１６，１２６  ＬＡＮコントローラ
１１７，１２７  マネジメントＬＡＮ
１１８，１２８  Ｉ２Ｃマスタ
１３０  ミッドプレーン
１３１，１３２  ＰＣＩｅリピータ
１３３  ＰＣＩｅスイッチ
１３４  ＳＷＭコントローラ
１３５  死活監視回路
１３６  ＣＰＵブレード設定回路
１３７  ＰＣＩｅ設定回路
１３８  ステータス検出回路
１４０，１５０  スイッチモジュール
１４１，１５１  スイッチチップ
【図１】
2017102659.tif 000003
【図２】
2017102659.tif 000004
【図３】
2017102659.tif 000005
【図４】
2017102659.tif 000006
【図５】
2017102659.tif 000007
【図６】
2017102659.tif 000008
【図７】
2017102659.tif 000009
【図８】
2017102659.tif 000010