(57)【特許請求の範囲】
【請求項１】
複数の入出力デバイスが接続された入出力スイッチ装置と、前記入出力スイッチ装置に接続され、前記入出力デバイスを利用するサーバ装置と、前記入出力スイッチ装置及び前記サーバ装置に接続される管理計算機とを含む計算機システムにおける電力制御方法であって、
前記管理計算機は、
前記入出力スイッチ装置及び前記サーバ装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記入出力デバイスが接続された前記入出力スイッチ装置のポートと、前記入出力デバイスが接続されたデバイスとの対応、及び前記入出力デバイスの利用率を含む管理情報を管理し、
前記方法は、
前記管理情報に基づいて、前記利用率が所定の第１の閾値よりも小さい入出力デバイスを選択し、
前記選択された入出力デバイスに対する要求を、前記入出力スイッチ装置に接続された他の入出力デバイスが処理することを特徴とする電力制御方法。
【請求項２】
前記計算機システムは、前記入出力デバイスを仮想化することによって、物理的な入出力デバイスが割り当てられた論理入出力デバイスを提供し、
前記方法は、前記選択された入出力デバイスに対応する前記論理入出力デバイスに、異なる物理的な入出力デバイスを割り当てることによって、前記選択された入出力デバイスに対する要求を前記他の入出力デバイスが処理することを特徴とする請求項１に記載の電力制御方法。
【請求項３】
前記入出力デバイスは、消費電力を低減させる省電力モードに切り替え可能であって、
前記方法は、さらに、前記選択された入出力デバイスを前記省電力モードに切り替えることを特徴とする請求項１に記載の電力制御方法。
【請求項４】
前記方法は、さらに、前記選択された入出力デバイスの電源を遮断することを特徴とする請求項１に記載の電力制御方法。
【請求項５】
前記方法は、前記他の入出力デバイスの利用率が所定の第２の閾値よりも大きい場合には、前記選択された入出力デバイスに対する要求を前記選択された入出力デバイスが処理することを特徴とする請求項１に記載の電力制御方法。
【請求項６】
前記管理計算機は、前記サーバ装置に接続される機器の経路情報を管理し、
前記方法は、前記経路情報に基づいて、前記入出力デバイスを選択することを特徴とする請求項１に記載の電力制御方法。
【請求項７】
前記方法は、前記入出力デバイスによって消費される電力量に基づいて、前記入出力デバイスを選択することを特徴とする請求項１に記載の電力制御方法。
【請求項８】
前記利用率は、前記入出力デバイスを介して転送されるデータ量に基づいて決定されることを特徴とする請求項１に記載の電力制御方法。
【請求項９】
前記第１の所定の閾値は、前記入出力デバイスによって消費される電力量及び前記入出力デバイスの接続先の少なくとも一方に基づいて決定されることを特徴とする請求項１に記載の電力制御方法。
【請求項１０】
前記入出力デバイスの利用率及び前記所定の第１の閾値は、前記入出力デバイスの種類に基づいて設定されることを特徴とする請求項１に記載の電力制御方法。
【請求項１１】
複数の入出力デバイスが接続された入出力スイッチ装置と、前記入出力スイッチ装置に接続され、前記入出力デバイスを利用するサーバ装置と、前記入出力スイッチ装置及び前記サーバ装置に接続される管理計算機とを含む計算機システムであって、
前記管理計算機は、
前記入出力スイッチ装置及び前記サーバ装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記入出力デバイスが接続された前記入出力スイッチ装置のポートと、前記入出力デバイスが接続されたデバイスとの対応、及び前記入出力デバイスの利用率を含む管理情報を管理し、
前記管理情報に基づいて、前記利用率が所定の閾値よりも小さい入出力デバイスを選択し、
前記選択された入出力デバイスに対する要求を、前記入出力スイッチ装置に接続された他の入出力デバイスが処理するように設定することを特徴とする計算機システム。
【請求項１２】
複数の入出力デバイスが接続された入出力スイッチ装置、及び前記入出力スイッチ装置に接続され、前記入出力デバイスを利用するサーバ装置に接続される管理計算機であって、
前記入出力スイッチ装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記プロセッサは、
前記入出力デバイスが接続された前記入出力スイッチ装置のポートと、前記入出力デバイスが接続されたデバイスとの対応、及び前記入出力デバイスの利用率を含む管理情報を管理し、
前記管理情報に基づいて、前記利用率が所定の閾値よりも小さい入出力デバイスを選択し、
前記選択された入出力デバイスに対する要求を、前記入出力スイッチ装置に接続された他の入出力デバイスが処理するように設定することを特徴とする管理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムの電力を制御する技術に関し、特に、入出力デバイスの消費電力を低減する方法に関する。
【背景技術】
【０００２】
計算機システムを構成するサーバ、外部ディスク装置、ネットワークスイッチ、及びロードバランサ等の情報処理装置は、その性能の向上によって消費電力が増大している。このため、計算機システムにおいて、情報処理装置の電力供給及び冷却にかかるコストが益々増大している。
【０００３】
計算機システムの入出力（Ｉ／Ｏ）デバイスは、利用できるＩ／Ｏデバイス数が限られており、従来はＩ／Ｏデバイスに対する省電力効果を要求されることは少なかった。近年、Ｉ／Ｏスイッチ装置内蔵のブレードサーバが登場し、多くのＩ／Ｏデバイスを利用可能になった反面、Ｉ／Ｏデバイスにかかる消費電力が増大することになり、Ｉ／Ｏデバイスの省電力化が有効となりうる。
【０００４】
特許文献１には、ネットワークスイッチ装置間をつなぐ複数の回線を束ねてポートを集約し、データが伝送されていないポートの電源を切断することによって省電力化を図る技術が開示されている（特許文献１参照）。
【特許文献１】特開２００７−２４３７９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された技術では、ネットワークスイッチ装置のポートのみを対象にしており、すべてのポートが同じ機能を有することを前提としている。したがって、前述したＩ／Ｏデバイス用のブレードのように、複数の種類のＩ／Ｏデバイスを備える場合には対応することができない。
【０００６】
本発明では、システムに含まれる複数の種類のＩ／Ｏデバイスの省電力化を図ることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の代表的な一形態によれば、複数の入出力デバイスが接続された入出力スイッチ装置と、前記入出力スイッチ装置に接続され、前記入出力デバイスを利用するサーバ装置と、前記入出力スイッチ装置及び前記サーバ装置に接続される管理計算機とを含む計算機システムにおける電力制御方法であって、前記管理計算機は、前記入出力スイッチ装置及び前記サーバ装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、前記入出力デバイスが接続された前記入出力スイッチ装置のポートと、前記入出力デバイスが接続されたデバイスとの対応、及び前記入出力デバイスの利用率を含む管理情報を管理し、前記方法は、前記管理情報に基づいて、前記利用率が所定の第１の閾値よりも小さい入出力デバイスを選択し、前記選択された入出力デバイスに対する要求を、前記入出力スイッチ装置に接続された他の入出力デバイスが処理する。
【発明の効果】
【０００８】
本発明の一形態によれば、負荷の小さい入出力デバイスを他の入出力デバイスと集約（片寄せ）することによって、計算機システムの消費電力を低減することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の計算機システムの構成を示す図である。
【００１１】
本発明の第１の実施の形態の計算機システムは、管理サーバ（管理計算機）１０１、ネットワークスイッチ１１３、サーバ装置１１４、ＳＶＰ（Ｓｅｒｖｉｃｅ  Ｐｒｏｃｅｓｓｏｒ）１２０、Ｉ／Ｏスイッチ装置１１５、ソケット１１６、Ｉ／Ｏデバイス１１７、ファイバチャネルスイッチ１１８及びストレージ装置１１９を含む。
【００１２】
管理サーバ１０１、サーバ装置１１４、ＳＶＰ１２０、及び、Ｉ／Ｏスイッチ装置１１５は、イーサネット（「イーサネット」は登録商標、以下同じ）などのネットワークを介して互いに接続される。
【００１３】
管理サーバ１０１は、計算機システム全体及び各構成を管理する。本発明の第１の実施の形態では、管理サーバ１０１は、主に、サーバ装置１１４、ＳＶＰ１２０及びＩ／Ｏスイッチ装置１１５を管理する。さらに、ストレージ装置１１９を管理してもよいし、ストレージ装置１１９については別の計算機で管理してもよい。
【００１４】
管理サーバ１０１は、Ｉ／Ｏデバイス管理部１０２及び各種管理情報を格納する。Ｉ／Ｏデバイス管理部１０２は、Ｉ／Ｏデバイス電力制御部１０３、Ｉ／Ｏデバイス電力監視部１０４、Ｉ／Ｏデバイス選択部１０５、Ｉ／Ｏデバイス片寄せ部１０６、Ｉ／Ｏデバイス片寄せ解除部１０７、及びＩ／Ｏデバイス省電力化判定部１０８を含む。各種管理情報には、Ｉ／Ｏスイッチ管理テーブル１０９、サーバ管理テーブル１１０、サーバＩ／Ｏ構成情報テーブル１１１、及びデバイスプール管理テーブル１１２を含む。管理サーバ１０１の構成については、図２にて説明する。また、各構成の詳細については、図６以降に説明する。
【００１５】
ネットワークスイッチ１１３は、計算機システムに含まれる機器間を接続するネットワーク上を転送されるパケットの経路を制御する。
【００１６】
ＳＶＰ１２０は、ハイパーバイザと連携し、物理的なサーバ装置１１４に含まれる計算機資源、及びサーバ装置１１４によって利用される計算機資源を論理的に分割することによって、サーバ装置を仮想化し、論理的なサーバ装置を提供する。ＳＶＰ１２０は、物理的なサーバ装置と論理的なサーバ装置とを一元的に運用管理する。
【００１７】
サーバ装置１１４は、利用者からの要求に基づいて各種業務処理を実行する。サーバ装置１１４は、ファイバチャネルなどによるＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介してストレージ装置１１９に接続する。サーバ装置１１４の構成については、図３にて後述する。
【００１８】
Ｉ／Ｏスイッチ装置１１５は、サーバ装置１１４がＩ／Ｏデバイス１１７を介して外部のネットワークなどに接続する場合に、サーバ装置１１４とＩ／Ｏデバイス１１７とを接続する。ソケット１１６は、Ｉ／Ｏデバイス１１７を接続する。
【００１９】
Ｉ／Ｏデバイス１１７は、ネットワークなどに接続するためのインターフェースである。具体的には、イーサネットによるネットワークに接続するネットワークインタフェースカード（ＮＩＣ）、又は、ＳＡＮに接続するホストバスアダプタ（ＨＢＡ）などである。また、特定の機器に接続するためのインターフェースであってもよい。
【００２０】
ファイバチャネルスイッチ１１８は、ＳＡＮを介してデータが送受信される各種装置を相互に接続し、転送されるデータの経路を制御する。具体的には、サーバ装置１１４がＩ／Ｏデバイス１１７であるホストバスアダプタを介して、ストレージ装置１１９とデータを送受信する場合に、サーバ装置１１４とストレージ装置１１９とを中継する。
【００２１】
ストレージ装置１１９は、サーバ装置１１４で業務処理を実行するために必要なデータを格納する。ストレージ装置１１９の構成については、図４にて後述する。
【００２２】
図２は、本発明の第１の実施の形態の管理サーバ１０１の構成を示す図である。
【００２３】
管理サーバ１０１は、メモリ２０１、プロセッサ２０２、入力装置２０５、出力装置２０６、ディスクインタフェース２０３、及びネットワークインタフェース２０４を備える。
【００２４】
メモリ２０１は、ＯＳ及びアプリケーションなどのプログラム及び当該プログラムによって使用されるデータを記憶する。具体的には、Ｉ／Ｏデバイス管理部１０２及び各種管理情報を記憶する。Ｉ／Ｏデバイス管理部１０２には、Ｉ／Ｏデバイス１１７の電源を制御するプログラムが含まれる。
【００２５】
プロセッサ２０２は、メモリ２０１に記憶されたプログラムを実行することによって、計算機システムを制御する。入力装置２０５は、ユーザからの指示などの入力を受け付ける。出力装置２０６は、Ｉ／Ｏデバイス管理部１０２による処理結果などを含む管理情報を出力する。
【００２６】
ディスクインタフェース２０３は、データ又はプログラムを格納するストレージ装置に接続するインターフェースである。例えば、ＳＡＮに接続するＨＢＡであってもよいし、ＮＩＣであってもよい。具体的には、ネットワークスイッチ１１３を介してＩ／Ｏスイッチ装置１１５に接続し、Ｉ／Ｏデバイス１１７からストレージ装置１１９に接続するようにしてもよい。
【００２７】
ネットワークインタフェース２０４は、ネットワークを介して管理対象の装置に接続するインターフェースである。
【００２８】
ここで、メモリ２０１に格納されたＩ／Ｏデバイス管理部１０２及び各種管理情報についてさらに説明する。
【００２９】
Ｉ／Ｏデバイス管理部１０２は、前述のように、Ｉ／Ｏデバイス電力制御部１０３、Ｉ／Ｏデバイス電力監視部１０４、Ｉ／Ｏデバイス選択部１０５、Ｉ／Ｏデバイス片寄せ部１０６、Ｉ／Ｏデバイス片寄せ解除部１０７、及びＩ／Ｏデバイス省電力化判定部１０８を含む。
【００３０】
Ｉ／Ｏデバイス電力制御部１０３は、後述するＩ／Ｏデバイス電力監視部１０４などを実行することによって、Ｉ／Ｏデバイス１１７の電力を制御する。処理の詳細については、図１１にて後述する。
【００３１】
Ｉ／Ｏデバイス電力監視部１０４は、各Ｉ／Ｏデバイス１１７で測定された電力を監視し、Ｉ／Ｏスイッチ管理テーブル１０９に記録する。処理の詳細については、図１２にて後述する。
【００３２】
Ｉ／Ｏデバイス選択部１０５は、片寄せ対象のＩ／Ｏデバイスを選択する。片寄せとは、前述したように、複数のＩ／Ｏデバイスを１つのＩ／Ｏデバイスに集約することである。処理の詳細については、図１４にて後述する。
【００３３】
Ｉ／Ｏデバイス片寄せ部１０６は、Ｉ／Ｏデバイスの片寄せを実行する。処理の詳細については、図１５にて後述する。Ｉ／Ｏデバイス片寄せ解除部１０７は、Ｉ／Ｏデバイスの片寄せを解除する。処理の詳細については、図１６にて後述する。
【００３４】
Ｉ／Ｏデバイス省電力化判定部１０８は、Ｉ／Ｏデバイスに片寄せを実行するか否かを判定する。処理の詳細については、図１３Ａ及び図１３Ｂにて後述する。
【００３５】
また、各種管理情報には、Ｉ／Ｏスイッチ管理テーブル１０９、サーバ管理テーブル１１０、サーバＩ／Ｏ構成情報テーブル１１１、及びデバイスプール管理テーブル１１２を含む。
【００３６】
Ｉ／Ｏスイッチ管理テーブル１０９は、ソケット１１６を介してＩ／Ｏスイッチ装置１１５に接続されているＩ／Ｏデバイス１１７の管理情報が格納される。詳細については、図６にて後述する。
【００３７】
サーバ管理テーブル１１０は、管理対象のサーバ装置１１４の管理情報が格納される。具体的には、当該サーバ装置１１４に備えられるプロセッサの構成及び使用中のＩ／Ｏデバイスなどが格納される。詳細については、図７にて後述する。
【００３８】
サーバＩ／Ｏ構成情報テーブル１１１は、管理対象のサーバ装置１１４とＩ／Ｏデバイスとの対応を記録する。また、各Ｉ／Ｏデバイスの状態及び片寄せによる効果を示す重要度などを含む。詳細については、図８にて後述する。
【００３９】
デバイスプール管理テーブル１１２は、使用されていないＩ／Ｏデバイスを管理するテーブルである。詳細については、図９にて後述する。
【００４０】
図３は、本発明の第１の実施の形態のサーバ装置１１４の構成を示す図である。
【００４１】
サーバ装置１１４は、メモリ３０１、プロセッサ３０６、Ｉ／Ｏスイッチインターフェース３０７及びネットワークインタフェース３０８を備える。
【００４２】
メモリ３０１は、アプリケーション３０２、ＯＳ３０３及びＩ／Ｏハイパーバイザ３０４を含む。アプリケーション３０２は、プロセッサ３０６に実行されることによって、ＯＳ３０３上で、各種業務処理を実行する。
【００４３】
Ｉ／Ｏハイパーバイザ３０４は、サーバ装置１１４によって利用されるＩ／Ｏデバイスを論理的に分割することによって、Ｉ／Ｏデバイスを仮想化する。Ｉ／Ｏハイパーバイザ３０４は、仮想デバイス制御部３０５を含む。仮想デバイス制御部３０５は、仮想デバイスと物理デバイスとの対応付けを変更する。仮想デバイス制御部３０５による処理の詳細は、図１７にて後述する。なお、前述したＳＶＰ１２０がハイパーバイザと連携することによって、Ｉ／Ｏデバイス１１７を仮想化してもよい。
【００４４】
プロセッサ３０６は、メモリ３０１に記憶されたアプリケーション３０２などのプログラムを処理することによって、各種処理を実行する。
【００４５】
Ｉ／Ｏスイッチインターフェース３０７は、Ｉ／Ｏデバイス１１７に接続するためのインターフェースである。サーバ装置１１４は、Ｉ／Ｏスイッチインターフェース３０７を介してストレージ装置１１９に接続し、データを読み書きする。
【００４６】
ネットワークインタフェース３０８は、ネットワークスイッチ１１３に接続する。
【００４７】
図４は、本発明の第１の実施の形態のストレージ装置１１９の構成を示す図である。
【００４８】
ストレージ装置１１９は、サーバ装置１１４によって実行される業務処理で使用されるデータを格納する。ストレージ装置１１９は、ストレージ制御装置４０１、ディスク装置４０２、及びインターフェース４０４を備える。
【００４９】
ストレージ制御装置４０１は、サーバ装置１１４などからのアクセス要求に基づいて、データの読み書きを制御する。ディスク装置４０２は、データが読み書きされるＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）４０３を提供する。インターフェース４０４は、ＳＡＮなどに接続され、サーバ装置１１４などとデータを送受信する。
【００５０】
図５は、本発明の第１の実施の形態のＩ／Ｏデバイスの片寄せの概要を説明する図である。
【００５１】
Ｉ／Ｏハイパーバイザ３０４は、論理的なＩ／Ｏデバイスを提供し、物理的なＩ／Ｏデバイスに対応付ける。また、複数の論理的なＩ／Ｏデバイスを１つの物理的なＩ／Ｏデバイスに対応付けることができる。
【００５２】
図５に示すサーバ装置１１４では、Ｉ／Ｏハイパーバイザ３０４によって、仮想ＨＢＡ５０１Ａ、仮想ＨＢＡ５０１Ｂ、仮想ＮＩＣ５０２Ａ、及び仮想ＮＩＣ５０２Ｂが使用されている。仮想ＨＢＡ５０１Ａは、論理的なＨＢＡであって、Ｉ／Ｏハイパーバイザ３０４によって物理的なＨＢＡ５０３Ａに割り当てられている。また、ＨＢＡ５０３Ａは、Ｉ／Ｏデバイス１１７に対応している。なお、仮想ＨＢＡ５０１Ｂ、仮想ＮＩＣ５０２Ａ、及び仮想ＮＩＣ５０２Ｂについても同様である。
【００５３】
片寄せ前の状態では、仮想ＨＢＡ５０１ＡはＨＢＡ５０３Ａに、仮想ＨＢＡ５０１ＢはＨＢＡ５０３Ｂに、仮想ＮＩＣ５０２ＡはＮＩＣ５０４Ａに、仮想ＮＩＣ５０２ＢはＮＩＣ５０４Ｂに対応している。
【００５４】
ここで、管理サーバ１０１によって、サーバ装置１１４のＩ／Ｏハイパーバイザ３０４にＩ／Ｏデバイスの片寄せが指示されると、仮想ＨＢＡ５０１Ｂに対応付けられた物理的なＩ／ＯデバイスをＨＢＡ５０３ＢからＨＢＡ５０３Ａに変更する。同様に、仮想ＮＩＣ５０２Ｂに対応付けられた物理的なＩ／ＯデバイスをＮＩＣ５０４ＢからＮＩＣ５０４Ａに変更する。
【００５５】
以上のように、Ｉ／Ｏデバイスの片寄せとは、複数の論理的なＩ／Ｏデバイスを１つの物理的なＩ／Ｏデバイスに集約することである。Ｉ／Ｏデバイスの片寄せを実行すると、ＨＢＡ５０３Ｂ及びＮＩＣ５０４Ｂが未使用状態になるため、管理サーバ１０１がＨＢＡ５０３Ｂ及びＮＩＣ５０４Ｂに省電力モードへの移行又は電源の切断を指示し、消費電力を低減させることができる。
【００５６】
図６は、本発明の第１の実施の形態のＩ／Ｏスイッチ管理テーブル１０９を示す図である。
【００５７】
Ｉ／Ｏスイッチ管理テーブル１０９は、Ｉ／Ｏスイッチ装置１１５に接続されたＩ／Ｏデバイス１１７を管理するテーブルである。
【００５８】
Ｉ／Ｏスイッチ管理テーブル１０９は、Ｉ／Ｏスイッチ識別子６０１、ポート番号６０２、接続デバイス６０３、デバイス識別子６０４、状態６０５、及び電力量６０６を含む。
【００５９】
Ｉ／Ｏスイッチ識別子６０１は、Ｉ／Ｏスイッチ装置１１５の識別子である。ポートとは、Ｉ／Ｏデバイスを接続するインターフェースである。ポート番号６０２は、ポートを識別する番号である。
【００６０】
接続デバイス６０３は、ポートに接続されたＩ／Ｏデバイスの種類である。接続デバイス６０３には、例えば、ＮＩＣ、ＨＢＡなどが記録される。また、ＮＩＣ又はＨＢＡを使用するサーバ装置１１４も記録される。
【００６１】
デバイス識別子６０４は、ポートに接続されたＩ／Ｏデバイスの識別子である。例えば、ＮＩＣであればＭＡＣアドレス、ＨＢＡであればＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）が記録される。
【００６２】
状態６０５は、ポートに接続されたデバイスの状態である。状態６０５の値は、「正常」又は「異常」以外にも、例えば、Ｉ／Ｏデバイスが片寄せされたことによって省電力状態になっている場合には、「省電力」と記録される。
【００６３】
電力量６０６は、ポートに接続されたデバイスの消費電力である。電力量６０６は、後述するＩ／Ｏデバイス電力監視部１０４によって随時更新される。
【００６４】
図７は、本発明の第１の実施の形態のサーバ管理テーブル１１０を示す図である。
【００６５】
サーバ管理テーブル１１０は、管理サーバ１０１によって管理されるサーバ装置１１４の情報を格納する。
【００６６】
サーバ管理テーブル１１０は、サーバ装置識別子７０１、プロセッサ構成７０２、メモリ容量７０３、サーバ接続Ｉ／Ｏポート７０４、サーバ割当てＩ／Ｏポート７０５、仮想デバイス７０６、及び割当てディスク７０７を含む。
【００６７】
サーバ装置識別子７０１は、サーバ装置１１４の識別子である。プロセッサ構成７０２は、サーバ装置１１４に備えられるプロセッサの構成情報である。メモリ容量７０３は、サーバ装置１１４に備えられるメモリの容量である。なお、プロセッサ構成７０２及びメモリ容量７０３以外にもサーバ装置１１４の構成情報を追加してもよい。
【００６８】
サーバ接続Ｉ／Ｏポート７０４は、サーバ装置１１４が接続するＩ／Ｏスイッチ装置１１５の識別子及び接続されているポートの識別子が格納される。サーバ割当てＩ／Ｏポート７０５は、サーバ装置１１４で使用されるポートの識別子である。各ポートには、Ｉ／Ｏハイパーバイザ３０４によって提供される仮想デバイスが割り当てられる。
【００６９】
仮想デバイス７０６は、Ｉ／Ｏハイパーバイザ３０４によって提供される仮想デバイスの識別子である。仮想デバイス７０６は、サーバ割当てＩ／Ｏポート７０５に対応付けられる。割当てディスク７０７は、提供されている仮想デバイスがＨＢＡの場合に、接続先のストレージ装置１１９によって提供されるＬＵの識別子が記録される。
【００７０】
図８は、本発明の第１の実施の形態のサーバＩ／Ｏ構成情報テーブル１１１を示す図である。
【００７１】
サーバＩ／Ｏ構成情報テーブル１１１は、管理対象のサーバ装置１１４と、Ｉ／Ｏデバイスとの対応関係を格納する。
【００７２】
サーバＩ／Ｏ構成情報テーブル１１１は、Ｉ／Ｏスイッチ識別子８０１、ポート番号８０２、仮想デバイス８０３、接続先デバイス８０４、物理デバイス８０５、転送データ量８０６、状態８０７、及び重要度８０８を含む。
【００７３】
Ｉ／Ｏスイッチ識別子８０１は、Ｉ／Ｏスイッチ装置１１５の識別子である。ポート番号８０２は、Ｉ／Ｏスイッチ装置１１５のポートを識別する番号である。
【００７４】
仮想デバイス８０３は、サーバ装置１１４で使用される仮想デバイスの識別子である。接続先デバイス８０４は、仮想デバイス８０３から接続されるデバイスである。具体的には、仮想デバイス８０３がＮＩＣの場合にはネットワークの識別子が格納され、ＨＢＡの場合にはＳＡＮの識別子が格納される。物理デバイス８０５は、仮想デバイス８０３に対応付けられる物理的なＩ／Ｏデバイス１１７の識別子である。
【００７５】
転送データ量８０６は、仮想デバイス８０３を介して転送されるデータ量である。転送データ量８０６は、定期的に収集され、記録される。
【００７６】
状態８０７は、仮想デバイス８０３の状態を示している。例えば、仮想デバイス８０３が省電力モードである場合には「省電力」が記録される。
【００７７】
また、Ｉ／ＯデバイスがＳＡＮに接続されている場合に、状態８０７の値が「省電力」となっている場合には、ＳＡＮがリンクダウンしているとファイバチャネルスイッチ１１８が判定する可能性がある。この場合に、ファイバチャネルスイッチ１１８によってポートの再割当てが実行されると、再割当てによる負荷が大きいため、スループットが悪化するおそれがある。そこで、Ｉ／ＯデバイスがＳＡＮに接続され、当該Ｉ／Ｏデバイスが片寄せされた場合には、その旨をファイバチャネルスイッチ１１８に通知することによってポートの再割当てが実行されないように制御する。
【００７８】
重要度８０８は、仮想デバイス８０３の片寄せを実行する条件を判定するための指標である。例えば、重要度８０８には、「レベル３」「レベル２」「レベル１」が格納される。具体的には、補足８０９に示すように、「レベル３」は、片寄せ不可のＩ／Ｏデバイスであることを示す。「レベル３」は、データ転送量又は消費電力などに関わらず片寄せが実行されず、ＨＡ構成（冗長化）の待機用サーバに接続されている場合などに適用される。また、急激にトラフィックが増減するＩ／Ｏデバイスの場合、又は、比較的短い周期でトラフィックが増減するＩ／Ｏデバイスについても「レベル３」に設定することによって、性能を安定させるようにしてもよい。
【００７９】
「レベル２」は、消費電力が大きいＩ／Ｏデバイスであることを示す。したがって、片寄せの実行による省電力効果が大きいため、積極的に片寄せを実行する。消費電力が大きいＩ／Ｏデバイスは、例えば、ＨＢＡである。「レベル１」は、消費電力が小さいＩ／Ｏデバイスであることを示す。したがって、片寄せによる省電力効果が小さいため、データ転送量が極めて小さい場合などに片寄せを実行する。
【００８０】
なお、重要度８０８は、Ｉ／Ｏスイッチ管理テーブル１０９の電力量６０６の値を利用して自動的に設定されてもよいし、管理者によって設定されてもよい。
【００８１】
図９は、本発明の第１の実施の形態のデバイスプール管理テーブル１１２を示す図である。
【００８２】
デバイスプール管理テーブル１１２は、未使用のＩ／Ｏデバイス１１７を管理する。片寄せを解除する場合に、デバイスプール管理テーブル１１２に基づいて、片寄せされたＩ／Ｏデバイスを片寄せ前の状態に戻すことができる。
【００８３】
デバイスプール管理テーブル１１２は、Ｉ／Ｏスイッチ識別子９０１、ポート番号９０２、状態９０３、及びデバイスプール割当て９０４を含む。
【００８４】
Ｉ／Ｏスイッチ識別子９０１は、Ｉ／Ｏスイッチ装置１１５の識別子である。ポート番号９０２は、Ｉ／Ｏスイッチ装置１１５のポートを識別する番号である。
【００８５】
状態９０３は、Ｉ／Ｏスイッチ装置１１５のポートに割り当てられたＩ／Ｏデバイス１１７の状態を示している。具体的には、「割当て済み」「未割当て」の他に片寄せされているために空きデバイスとなっていることを示す「片寄せ」が記録される。デバイスプール割当て９０４は、空きデバイスの集合の識別子である。
【００８６】
図１０は、本発明の第１の実施の形態のＩ／Ｏデバイス１１７の構成を示す図である。
【００８７】
Ｉ／Ｏデバイス１１７は、ソケット１１６を介してＩ／Ｏスイッチ装置１１５に接続される。
【００８８】
Ｉ／Ｏデバイス１１７は、バス制御部１００１、プロトコル制御プロセッサ部１００２、外部Ｉ／Ｆ部１００３、及び電源部１００４を含む。
【００８９】
バス制御部１００１は、Ｉ／Ｏデバイス１１７に含まれる各構成の間のデータの転送を制御する。プロトコル制御プロセッサ部１００２は、管理サーバ１０１などから送信されたコマンドに従って、指示された処理を実行する。外部Ｉ／Ｆ部１００３は、ネットワークなどに接続する。図１０では、ＳＡＮに接続され、ファイバチャネルスイッチ１１８を経由してストレージ装置１１９に接続される。
【００９０】
電源部１００４は、Ｉ／Ｏデバイス１１７の各構成に電力を供給するなどの電力制御を行う。電源部１００４には、電力測定部１００５が含まれ、Ｉ／Ｏデバイス自身で消費電力を測定できる構成となっている。
【００９１】
Ｉ／Ｏデバイス１１７は、管理サーバ１０１又はサーバ装置１１４から送信された電力値取得用のコマンドを受信すると、まず、プロトコル制御プロセッサ部１００２が電源部１００４の電力測定部１００５に指示する。次に、電力測定部１００５が当該Ｉ／Ｏデバイス１１７の消費電力を測定し、プロトコル制御プロセッサ部１００２に通知する。プロトコル制御プロセッサ部１００２は、コマンドの送信元に測定結果を応答する。
【００９２】
図１１は、本発明の第１の実施の形態のＩ／Ｏデバイスの電力制御処理全体の手順を示すフローチャートである。
【００９３】
Ｉ／Ｏデバイスの電力制御処理は、Ｉ／Ｏデバイス電力制御部１０３が管理サーバ１０１のプロセッサ２０２に処理されることによって実行される。本処理では、管理対象のすべてのＩ／Ｏデバイスについて片寄せを実行又は解除するか否かを判定し、判定結果に基づいて片寄せを実行又は解除する。
【００９４】
管理サーバ１０１のプロセッサ２０２は、まず、Ｉ／Ｏデバイス電力監視部１０４を実行する（ステップ１１０１）。Ｉ／Ｏデバイス電力監視部１０４による処理では、片寄せを実行又は解除するか否かを判定するために、Ｉ／Ｏスイッチ装置１１５に接続されたＩ／Ｏデバイス１１７の消費電力を取得する。処理の詳細については、図１２にて後述する。なお、片寄せを実行又は解除するか否かを判定するための情報は、消費電力だけではなく、前述したように、当該Ｉ／Ｏデバイスを介して転送されたデータ量であってもよい。したがって、ステップ１１０１の処理では、消費電力以外のＩ／Ｏデバイス１１７の負荷量を測定及び収集するようにしてもよい。
【００９５】
管理サーバ１０１のプロセッサ２０２は、続いて、Ｉ／Ｏデバイス省電力化判定部１０８を実行する（ステップ１１０２）。Ｉ／Ｏデバイス省電力化判定部１０８では、まず、Ｉ／Ｏデバイスが省電力制御を実行可能な状態であるか否かを判定する。そして、省電力制御が実行可能な状態の場合には、実際に省電力制御を実行するか否かを判定する。処理の詳細については、図１３Ａにて後述する。
【００９６】
管理サーバ１０１のプロセッサ２０２は、Ｉ／Ｏデバイス省電力化判定部１０８の実行結果に基づいて、Ｉ／Ｏデバイスの片寄せを実行するか否かを判定する（ステップ１１０３）。
【００９７】
管理サーバ１０１のプロセッサ２０２は、Ｉ／Ｏデバイスの片寄せを実行する場合には（ステップ１１０３の結果が「Ｙｅｓ」）、片寄せ可能なＩ／Ｏデバイスを選択するＩ／Ｏデバイス選択部１０５を実行する（ステップ１１０４）。Ｉ／Ｏデバイス選択部１０５の処理の詳細については、図１４にて後述する。
【００９８】
管理サーバ１０１のプロセッサ２０２は、さらに、選択された片寄せ可能なＩ／Ｏデバイスに対し、Ｉ／Ｏデバイス片寄せ部１０６を実行する（ステップ１１０５）。Ｉ／Ｏデバイス片寄せ部１０６の処理の詳細については、図１５にて後述する。
【００９９】
管理サーバ１０１のプロセッサ２０２は、Ｉ／Ｏデバイスの片寄せを実行しない場合（ステップ１１０３の結果が「Ｎｏ」）、又はＩ／Ｏデバイスの片寄せの実行が終了した場合には、Ｉ／Ｏデバイス省電力化判定部１０８の実行結果に基づいて、Ｉ／Ｏデバイスの片寄せを解除するか否かを判定する（ステップ１１０６）。
【０１００】
管理サーバ１０１のプロセッサ２０２は、Ｉ／Ｏデバイスの片寄せを解除する場合には（ステップ１１０６の結果が「Ｙｅｓ」）、片寄せが実行されているＩ／Ｏデバイスを解除するＩ／Ｏデバイス片寄せ解除部１０７を実行する（ステップ１１０７）。Ｉ／Ｏデバイス片寄せ解除部１０７の処理の詳細については、図１６にて後述する。
【０１０１】
最後に、管理サーバ１０１のプロセッサ２０２は、Ｉ／Ｏデバイスの電力制御処理を停止する指示を受け付けたか否かを判定する（ステップ１１０８）。停止指示を受け付けた場合には（ステップ１１０８の結果が「Ｙｅｓ」）、本処理を終了する（ステップ１１０９）。停止指示を受け付けていない場合には（ステップ１１０８の結果が「Ｎｏ」）、ステップ１１０１の処理を再度実行し、定常的にＩ／Ｏデバイス１１７の消費電力を監視する。
【０１０２】
図１２は、本発明の第１の実施の形態のＩ／Ｏデバイス電力監視部１０４によるＩ／Ｏデバイスの消費電力を監視する手順を示すフローチャートである。
【０１０３】
管理サーバ１０１のプロセッサ２０２は、サーバ装置１１４を介して、消費電力を取得するためのコマンドを各Ｉ／Ｏデバイス１１７に送信する。コマンドを受信したＩ／Ｏデバイス１１７は、電力測定部１００５によって消費電力を測定し、管理サーバ１０１に送信する（ステップ１３０１）。
【０１０４】
管理サーバ１０１のプロセッサ２０２は、各Ｉ／Ｏデバイス１１７の消費電力を受信すると、Ｉ／Ｏスイッチ管理テーブル１０９の電力量６０６を更新する（ステップ１３０２）。このとき、コマンドを送信してもＩ／Ｏデバイス１１７から応答がなかった場合には状態を「異常」と判定し、状態６０５を更新してもよい。また、状態６０５については別のタイミングで更新してもよい。Ｉ／Ｏスイッチ管理テーブル１０９の電力量６０６を更新すると、本処理は終了する（ステップ１３０３）。
【０１０５】
図１３Ａは、本発明の第１の実施の形態のＩ／Ｏデバイス省電力化判定部１０８によるＩ／Ｏデバイス１１７に省電力制御を実行するか否かを判定する手順を示すフローチャートである。
【０１０６】
本発明の第１の実施の形態では、Ｉ／Ｏデバイスにおいて転送されるデータ量及びＩ／Ｏデバイスの重要度に基づいて、Ｉ／Ｏデバイスに省電力制御（片寄せの実行又は解除）を実行するか否かを判定する。
【０１０７】
管理サーバ１０１のプロセッサ２０２は、省電力制御の対象となるＩ／Ｏデバイスを選択する（ステップ１２０１）。このとき、省電力制御を実行することができないＩ／Ｏデバイスについては、省電力制御の対象から除外する。また、複数の（仮想）Ｉ／Ｏデバイスが一つの物理的なＩ／Ｏデバイスに対応付けられている場合には、すべての仮想デバイスを別の物理的なＩ／Ｏデバイスに割り当て直す必要があるため、省電力制御の対象から除外する。なお、本処理は、省電力制御の対象のＩ／Ｏデバイスすべてに対して実行される。
【０１０８】
管理サーバ１０１のプロセッサ２０２は、ステップ１２０１の処理で選択されたＩ／Ｏデバイスを介して転送されるデータ量を取得し、当該転送データ量が最大スループットの５％以下か否かを判定する（ステップ１２０２）。すなわち、転送データ量が最大スループットの５％以下の状態は、Ｉ／Ｏデバイスの負荷が小さい状態であるため、片寄せが可能であれば、スループットを低下させることなく消費電力を低減することが可能である。本発明の第１の実施の形態では、負荷が小さい状態を示す負荷量を５％としているが、システムに応じた値を適宜設定すればよい。
【０１０９】
管理サーバ１０１のプロセッサ２０２は、転送データ量が最大スループットの５％以下の場合には（ステップ１２０２の結果が「Ｙｅｓ」）、さらに、Ｉ／Ｏデバイスの重要度８０８が「レベル３」であるか否かを判定する（ステップ１２０３）。Ｉ／Ｏデバイスの重要度８０８が「レベル３」の場合には（ステップ１２０３の結果が「Ｙｅｓ」）、前述したようにＩ／Ｏデバイスの片寄せが禁止されているため、本処理を終了する（ステップ１２０５）。
【０１１０】
管理サーバ１０１のプロセッサ２０２は、Ｉ／Ｏデバイスの重要度８０８が「レベル３」でない場合には（ステップ１２０３の結果が「Ｎｏ」）、片寄せによる省電力効果が期待されるため、対象のＩ／Ｏデバイスの片寄せを実行すると判定し、本処理を終了する（ステップ１２０５）。
【０１１１】
一方、管理サーバ１０１のプロセッサ２０２は、転送データ量が最大スループットの５％を超える場合には（ステップ１２０２の結果が「Ｙｅｓ」）、転送データ量が最大スループットの１０％以下であるか否かを判定する（ステップ１２０６）。すなわち、転送データ量が最大スループットの１０％以下の状態は、Ｉ／Ｏデバイスの負荷が比較的小さい状態であるため、消費電力が大きいＩ／Ｏデバイスであれば、片寄せによって省電力効果を期待することができる。
【０１１２】
管理サーバ１０１のプロセッサ２０２は、転送データ量が最大スループットの１０％以下である場合には（ステップ１２０６の結果が「Ｙｅｓ」）、Ｉ／Ｏデバイスの重要度８０８が「レベル２」であるか否かを判定する（ステップ１２０７）。Ｉ／Ｏデバイスの重要度８０８が「レベル２」である場合には（ステップ１２０７の結果が「Ｙｅｓ」）、当該Ｉ／Ｏデバイスの消費電力が大きく、片寄せによる省電力効果が大きいため、対象のＩ／Ｏデバイスの片寄せを実行すると判定し、本処理を終了する（ステップ１２０５）。
【０１１３】
管理サーバ１０１のプロセッサ２０２は、転送データ量が最大スループットの１０％を超える場合には（ステップ１２０６の結果が「Ｙｅｓ」）、転送データ量が最大スループットの３０％以上であるか否かを判定する（ステップ１２０９）。すなわち、Ｉ／Ｏデバイスに一定以上の負荷がかかっているか否かを判定する。転送データ量が最大スループットの３０％未満である場合には（ステップ１２０９の結果が「Ｎｏ」）、本処理を終了する（ステップ１２０５）。
【０１１４】
管理サーバ１０１のプロセッサ２０２は、転送データ量が最大スループットの３０％以上の場合には（ステップ１２０９の結果が「Ｙｅｓ」）、Ｉ／Ｏデバイスの重要度８０８が「レベル３」であるか否かを判定する（ステップ１２１０）。Ｉ／Ｏデバイスの重要度８０８が「レベル３」の場合には（ステップ１２１０の結果が「Ｙｅｓ」）、省電力制御が実行されないため、本処理を終了する（ステップ１２０５）。
【０１１５】
管理サーバ１０１のプロセッサ２０２は、Ｉ／Ｏデバイスの重要度８０８が「レベル３」でない場合には（ステップ１２０３の結果が「Ｎｏ」）、片寄せによるスループットの低下を防ぐため、Ｉ／Ｏデバイスが片寄せされている場合には片寄せを解除すると判定し、処理を終了する（ステップ１２０５）。
【０１１６】
図１３Ｂは、本発明の第１の実施の形態のＩ／Ｏデバイス省電力化判定部１０８によってＩ／Ｏデバイスの省電力制御を行うか否かを示す表である。
【０１１７】
図１３Ｂに示す表は、Ｉ／Ｏデバイス省電力化判定部１０８による処理によって、実行される省電力制御の判定結果をまとめたものである。本発明の第１の実施の形態では、省電力制御を実行するか否かは、Ｉ／Ｏデバイスの転送データ量１８０１及びＩ／Ｏデバイスの重要度１８０２に基づいて決定される。なお、表中の記号は、注釈１８０３に示すように、片寄せを実施する場合には「○」、片寄せを実施しない場合には「×」、片寄せを解除する場合には「◎」が付されている。
【０１１８】
図１３Ｂに示す表を参照すると、重要度１８０２が「レベル１」の消費電力の小さいＩ／Ｏデバイスでは、転送データ量１８０１が５％以下の場合にのみ片寄せが実行される。一方、重要度１８０２が「レベル２」の消費電力の大きいＩ／Ｏデバイスでは、転送データ量１８０１が１０％以下の場合に片寄せが実行される。また、いずれの場合であっても、転送データ量が最大スループットの３０％以上になった場合には、スループットの低下を防ぐために片寄せを解除する。なお、重要度１８０２が「レベル３」の場合には、片寄せの実行も解除もなされない。
【０１１９】
本発明の第１の実施の形態では、片寄せの実行又は解除を制御するためのＩ／Ｏデバイスの利用率（負荷量）を監視する。具体的には、仮想デバイスごとの転送データ量を監視対象としていたが、他の情報を監視対象としてもよい。例えば、物理デバイスごとの転送データ量を監視対象としてもよい。さらに、仮想デバイス又は物理デバイスごとの処理パケット数、又は、Ｉ／Ｏ処理に要した時間であってもよい。また、本発明の第１の実施の形態では、Ｉ／Ｏデバイスの種類に関わらず監視対象を共通としているが、Ｉ／Ｏデバイスの種類ごとに、消費電力の削減効果の大きい監視対象を設定してもよい。
【０１２０】
図１４は、本発明の第１の実施の形態のＩ／Ｏデバイス選択部１０５による片寄せ対象のＩ／Ｏデバイスを選択する手順を示すフローチャートである。
【０１２１】
管理サーバ１０１のプロセッサ２０２は、Ｉ／Ｏデバイス省電力化判定部１０８によって片寄せすると判定されたＩ／Ｏデバイスと接続デバイス６０３が同じＩ／ＯデバイスをＩ／Ｏスイッチ管理テーブル１０９から抽出する（ステップ１４０１）。
【０１２２】
さらに、管理サーバ１０１のプロセッサ２０２は、ステップ１４０１の処理で抽出されたＩ／Ｏデバイスの中から片寄せ対象のＩ／Ｏデバイスと接続先デバイス８０４が同じＩ／Ｏデバイスを抽出する（ステップ１４０２）。具体的には、まず、Ｉ／Ｏスイッチ管理テーブル１０９から抽出されたＩ／ＯデバイスのＩ／Ｏスイッチ識別子６０１及びポート番号６０２に基づいて、サーバＩ／Ｏ構成情報テーブル１１１からＩ／Ｏデバイスを抽出する。さらに、片寄せ対象のＩ／Ｏデバイスと接続先デバイス８０４が同じＩ／Ｏデバイスを抽出する。
【０１２３】
管理サーバ１０１のプロセッサ２０２は、ステップ１４０２の処理で抽出されたＩ／Ｏデバイスを及び当該Ｉ／Ｏデバイスに関する情報を通知する（ステップ１４０３）。
【０１２４】
管理サーバ１０１のプロセッサ２０２は、ステップ１４０２の処理で抽出された片寄せ可能な（片寄せ先）Ｉ／Ｏデバイスを自動で選択するか又は手動で選択するかを判定する（ステップ１４０４）。片寄せ先のＩ／Ｏデバイスを自動で選択するか又は手動で選択するかについては、あらかじめユーザが設定ファイルなどに指定しておいてもよいし、ユーザからの入力を受け付けてもよい。
【０１２５】
管理サーバ１０１のプロセッサ２０２は、片寄せ先のＩ／Ｏデバイスを自動で選択する場合には（ステップ１４０４の結果が「自動」）、抽出された片寄せ可能なＩ／Ｏデバイスから条件に最も合致する片寄せ先のＩ／Ｏデバイスを１つ選択する（ステップ１４０５）。具体的には、片寄せ後にスループットが悪化しないように、片寄せ後の転送データ量が所定の閾値を超えないＩ／Ｏデバイスを選択する。また、片寄せ後の消費電力を予測できる場合には、片寄せ後の消費電力が最も少なくなるＩ／Ｏデバイスを選択してもよい。すなわち、ステップ１４０５の処理における条件は、片寄せ後のスループットの許容範囲及び消費電力の低減効果などに基づいて決定される。
【０１２６】
管理サーバ１０１のプロセッサ２０２は、片寄せ先のＩ／Ｏデバイスを手動で選択する場合には（ステップ１４０４の結果が「手動」）、抽出された片寄せ可能なＩ／Ｏデバイスから片寄せ先のＩ／Ｏデバイスの選択を受け付ける（ステップ１４０６）。すなわち、片寄せ先のＩ／Ｏデバイスを手動で選択する場合には、ユーザが適切なＩ／Ｏデバイスを選択する。
【０１２７】
最後に、管理サーバ１０１のプロセッサ２０２は、選択されたＩ／Ｏデバイスを片寄せ先のＩ／Ｏデバイスとし（ステップ１４０７）、本処理を終了する（ステップ１４０８）。
【０１２８】
図１５は、本発明の第１の実施の形態のＩ／Ｏデバイス片寄せ部１０６によるＩ／Ｏデバイスの片寄せを実行する手順を示すフローチャートである。
【０１２９】
本処理では、片寄せ対象のＩ／Ｏデバイスの切り替え、片寄せされたＩ／Ｏデバイスを省電力モードに移行させる。
【０１３０】
管理サーバ１０１のプロセッサ２０２は、サーバ装置１１４に仮想デバイス制御部３０５の実行を指示し、片寄せ対象のＩ／Ｏデバイスの片寄せを実行する（ステップ１５０１）。
【０１３１】
管理サーバ１０１のプロセッサ２０２は、Ｉ／Ｏデバイスの片寄せが完了した後、片寄せ元の物理Ｉ／Ｏデバイスに対して省電力モードに移行するように指示する（ステップ１５０２）。このとき、省電力モードに移行する代わりに、Ｉ／Ｏデバイスの電源を切断してもよい。
【０１３２】
さらに、管理サーバ１０１のプロセッサ２０２は、片寄せ後の状態を各テーブルに反映させる。
【０１３３】
管理サーバ１０１のプロセッサ２０２は、片寄せ元のＩ／Ｏデバイスが接続されているＩ／Ｏスイッチ装置１１５のポートについて、サーバＩ／Ｏ構成情報テーブル１１１の対応するレコードの状態８０７を“正常”から“省電力”に変更する（ステップ１５０３）。このとき、接続先デバイスに状態の変更を通知する。具体的には、サーバＩ／Ｏ構成情報テーブル１１１の状態８０７を変更した後に接続先デバイスに通知してもよいし、サーバＩ／Ｏ構成情報テーブル１１１の状態８０７の変更に連動して、接続先デバイスに通知するようにしてもよい。
【０１３４】
管理サーバ１０１のプロセッサ２０２は、片寄せ元のＩ／Ｏデバイスが接続されているＩ／Ｏスイッチ装置１１５のポートについて、Ｉ／Ｏスイッチ管理テーブル１０９の対応するレコードの状態６０５を“正常”から“省電力”に変更する（ステップ１５０４）。Ｉ／Ｏスイッチ管理テーブル１０９の状態６０５を変更することによって、Ｉ／Ｏスイッチ装置１１５に状態の変更を通知する。このとき、Ｉ／Ｏスイッチ装置１１５に状態の変更を通知する。具体的には、Ｉ／Ｏスイッチ管理テーブル１０９の状態６０５を変更した後にＩ／Ｏスイッチ装置１１５に通知してもよいし、Ｉ／Ｏスイッチ管理テーブル１０９の状態６０５の変更に連動して、Ｉ／Ｏスイッチ装置１１５に通知するようにしてもよい。
【０１３５】
管理サーバ１０１のプロセッサ２０２は、片寄せ元のＩ／Ｏデバイスが接続されているＩ／Ｏスイッチ装置１１５のポートについて、デバイスプール管理テーブル１１２の対応するレコードの状態９０３を“割当て済み”から“片寄せ”に変更する（ステップ１５０５）。レコードの状態９０３を“片寄せ”とすることによって、片寄せを解除する場合に片寄せ元のＩ／Ｏデバイスに戻すことが可能となる。
【０１３６】
以上のように、片寄せ後の状態を各テーブルに反映させた後、本処理を終了する（ステップ１５０６）。
【０１３７】
図１６は、本発明の第１の実施の形態のＩ／Ｏデバイス片寄せ解除部１０７によるＩ／Ｏデバイスの片寄せを解除する手順を示すフローチャートである。
【０１３８】
管理サーバ１０１のプロセッサ２０２は、サーバ装置１１４に仮想デバイス制御部３０５の実行を指示し、片寄せ対象のＩ／Ｏデバイスの片寄せを解除する（ステップ１６０１）。
【０１３９】
管理サーバ１０１のプロセッサ２０２は、Ｉ／Ｏデバイスの片寄せが完了すると片寄せ元の物理Ｉ／Ｏデバイスに対して省電力モードを解除するように指示する（ステップ１５０２）。なお、Ｉ／Ｏデバイスの電源が切断されていた場合には、電源を再投入する。
【０１４０】
さらに、管理サーバ１０１のプロセッサ２０２は、片寄せ後の状態を各テーブルに反映させる。
【０１４１】
管理サーバ１０１のプロセッサ２０２は、片寄せ元のＩ／Ｏデバイスが接続されているＩ／Ｏスイッチ装置１１５のポートについて、サーバＩ／Ｏ構成情報テーブル１１１の対応するレコードの状態８０７を“省電力”から“正常”に変更する（ステップ１６０３）。前述のように、サーバＩ／Ｏ構成情報テーブル１１１の状態８０７を変更するタイミングで、接続先デバイスに状態の変更を通知する。
【０１４２】
管理サーバ１０１のプロセッサ２０２は、片寄せ元のＩ／Ｏデバイスが接続されているＩ／Ｏスイッチ装置１１５のポートについて、Ｉ／Ｏスイッチ管理テーブル１０９の対応するレコードの状態６０５を“省電力”から“正常”に変更する（ステップ１６０４）。前述のように、Ｉ／Ｏスイッチ管理テーブル１０９の状態６０５を変更するタイミングで、Ｉ／Ｏスイッチ装置１１５に状態の変更を通知する。
【０１４３】
管理サーバ１０１のプロセッサ２０２は、片寄せ元のＩ／Ｏデバイスが接続されているＩ／Ｏスイッチ装置１１５のポートについて、デバイスプール管理テーブル１１２の対応するレコードの状態９０３を“片寄せ”から“割当て済み”に変更する（ステップ１６０５）。
【０１４４】
以上のように、片寄せ解除後の状態を各テーブルに反映させた後、本処理を終了する（ステップ１６０６）。
【０１４５】
図１７は、本発明の第１の実施の形態の仮想デバイス制御部３０５によるＩ／Ｏデバイスの片寄せを実行及び解除する手順を示すフローチャートである。
【０１４６】
仮想デバイス制御部３０５は、前述したＩ／Ｏデバイス片寄せ部１０６及びＩ／Ｏデバイス片寄せ解除部１０７によって実行される。仮想デバイス制御部３０５は、仮想デバイスと物理デバイスとを対応付ける処理を行う。
【０１４７】
サーバ装置１１４のプロセッサ３０６は、まず、Ｉ／Ｏデバイスの片寄せを実行するか否かを判定する（ステップ１７０１）。Ｉ／Ｏデバイスの片寄せを実行する場合には（ステップ１７０１の結果が「Ｙｅｓ」）、ステップ１７０８以降の処理を実行する。また、Ｉ／Ｏデバイスの片寄せを実行しない場合には（ステップ１７０１の結果が「Ｎｏ」）、Ｉ／Ｏデバイスの片寄せを解除するか否かを判定する（ステップ１７０２）。Ｉ／Ｏデバイスの片寄せを解除する場合には（ステップ１７０２の結果が「Ｙｅｓ」）、ステップ１７０３以降の処理を実行する。
【０１４８】
サーバ装置１１４のプロセッサ３０６は、Ｉ／Ｏデバイスの片寄せを実行する場合には、まず、片寄せ対象（片寄せ元）の仮想デバイスに対するリクエスト処理を一時停止させる（ステップ１７０８）。さらに、片寄せ対象の仮想デバイスに対応する物理デバイスの処理中リクエストがすべて完了するまで待機する（ステップ１７０９）。
【０１４９】
サーバ装置１１４のプロセッサ３０６は、片寄せ対象の仮想デバイスと対応する物理デバイスとの対応付けを削除する（ステップ１７１０）。さらに、片寄せ対象の仮想デバイスと片寄せ先の物理デバイスとを対応付ける（ステップ１７１１）。最後に、片寄せ対象の仮想デバイスに対するリクエスト処理の一時停止を解除する（ステップ１７０８）。
【０１５０】
一方、サーバ装置１１４のプロセッサ３０６は、Ｉ／Ｏデバイスの片寄せを解除する場合には、まず、片寄せ解除対象（片寄せ元）の仮想デバイスに対するリクエスト処理を一時停止させる（ステップ１７０３）。さらに、片寄せ解除対象の仮想デバイスが片寄せされていた（片寄せ先）物理デバイスの処理中リクエストがすべて完了するまで待機する（ステップ１７０４）。なお、片寄せ解除対象の仮想デバイスに対するリクエスト処理が完了すれば、以降の処理を実行してもよい。
【０１５１】
サーバ装置１１４のプロセッサ３０６は、片寄せ解除対象の仮想デバイスと片寄せされていた物理デバイスとの対応付けを削除する（ステップ１７０５）。さらに、片寄せ解除対象の仮想デバイスと、片寄せ解除対象の仮想デバイスがもともと割り当てられていた物理デバイスとを対応付ける（ステップ１７０６）。片寄せ解除対象の仮想デバイスがもともと割り当てられていた物理デバイスは、デバイスプール管理テーブル１１２を参照することによって、特定することができる。最後に、片寄せ解除対象となる仮想デバイスに対するリクエスト処理の一時停止を解除する（ステップ１７０７）。
【０１５２】
本発明の第１の実施の形態によれば、負荷の小さいＩ／Ｏデバイスを集約（片寄せ）し、使用されていないＩ／Ｏデバイスを省電力モードに移行させることによって、計算機システムの消費電力を低減させることができる。例えば、時刻によって負荷にばらつきがあるシステムでは、負荷の小さい時間帯ではＩ／Ｏデバイスの片寄せを実行することによって消費電力を低減し、負荷の大きい時間帯ではＩ／Ｏデバイスの片寄せを解除することによって、処理性能を維持することができる。
【０１５３】
（第２の実施の形態）
第２の実施の形態では、仮想デバイスの接続先の経路情報（トポロジ情報）に基づいて片寄せ対象のＩ／Ｏデバイスを選択する手順について説明する。なお、第１の実施の形態と共通する内容については適宜説明を省略する。
【０１５４】
第２の実施の形態の計算機システム及び各装置は、図１から図４及び図１０に示した第１の実施の形態の計算機システム及び各装置と同様である。また、管理サーバ１０１のメモリに記憶されたＩ／Ｏデバイス管理部１０２及び各管理情報についても、サーバ管理テーブル１１０及びＩ／Ｏデバイス選択部１０５以外は第１の実施の形態と同じである。
【０１５５】
図１８は、本発明の第２の実施の形態のサーバ管理テーブル１１０を示す図である。
【０１５６】
第２の実施の形態のサーバ管理テーブル１１０には、第１の実施の形態のサーバ管理テーブル１１０の構成に加え、接続デバイス１９０１が追加される。
【０１５７】
接続デバイス１９０１は、最終的な接続先のデバイスまでに経由するポートなどの情報を含む。例えば、“ＨＯＳＴ１”の“仮想ＮＩＣ１”は、最終的にサーバ装置（＃１）のポート番号＃１のポートに接続される。途中、Ｉ／Ｏスイッチ装置（ＳＷ＃４）のポート番号＃１のポートを経由している。
【０１５８】
図１９は、本発明の第２の実施の形態のＩ／Ｏデバイス選択部１０５による片寄せ対象のＩ／Ｏデバイスを選択する手順を示すフローチャートである。
【０１５９】
第２の実施の形態では、トポロジ情報を利用して自動的にＩ／Ｏデバイスを選択する点で第１の実施の形態と相違する。具体的には、ステップ１４０５の処理の前に、管理サーバ１０１のプロセッサ２０２は、トポロジ情報を利用することによって、片寄せ後の性能及び消費電力の削減効果を予測し、片寄せ先のＩ／Ｏデバイスを絞り込む（ステップ２００１）。
【０１６０】
例えば、転送データ量について、仮想デバイスの片寄せ先の物理デバイスについては最大スループットと比較して十分余裕があっても、接続経路上にボトルネックとなる機器が含まれる場合が考えられ、接続経路全体における性能の変化を予測することができる。
【０１６１】
また、接続経路上で使用されなくなった機器が存在するように片寄せを実行することによって、さらに計算機システム全体の消費電力の低減を図ることも可能となる。
【０１６２】
さらに、トポロジ情報を利用することによって、片寄せ後も同じ接続先に接続されるように、片寄せ先のＩ／Ｏデバイスを自動的に絞り込むことが可能となる。
【０１６３】
本発明の第２の実施の形態によれば、第１の実施の形態の効果に加え、接続経路上のデバイスを考慮することによって、片寄せ後の消費電力の削減効果及び性能の変化を予測することが可能となり、さらに計算機システムの消費電力を低減することができる。
【図面の簡単な説明】
【０１６４】
【図１】本発明の第１の実施の形態の計算機システムの構成を示す図である。
【図２】本発明の第１の実施の形態の管理サーバの構成を示す図である。
【図３】本発明の第１の実施の形態のサーバ装置の構成を示す図である。
【図４】本発明の第１の実施の形態のストレージ装置の構成を示す図である。
【図５】本発明の第１の実施の形態のＩ／Ｏデバイスの片寄せの概要を説明する図である。
【図６】本発明の第１の実施の形態のＩ／Ｏスイッチ管理テーブルを示す図である。
【図７】本発明の第１の実施の形態のサーバ管理テーブルを示す図である。
【図８】本発明の第１の実施の形態のサーバＩ／Ｏ構成情報テーブルを示す図である。
【図９】本発明の第１の実施の形態のデバイスプール管理テーブルを示す図である。
【図１０】本発明の第１の実施の形態のＩ／Ｏデバイスの構成を示す図である。
【図１１】本発明の第１の実施の形態のＩ／Ｏデバイスの電力制御処理全体の手順を示すフローチャートである。
【図１２】本発明の第１の実施の形態のＩ／Ｏデバイス電力監視部によるＩ／Ｏデバイスの消費電力を監視する手順を示すフローチャートである。
【図１３Ａ】本発明の第１の実施の形態のＩ／Ｏデバイス省電力化判定部によるＩ／Ｏデバイスに省電力制御を行うか否かを判定する手順を示すフローチャートである。
【図１３Ｂ】本発明の第１の実施の形態のＩ／Ｏデバイス省電力化判定部によってＩ／Ｏデバイスの電力制御を行うか否かを示す表である。
【図１４】本発明の第１の実施の形態のＩ／Ｏデバイス選択部による片寄せ対象のＩ／Ｏデバイスを選択する手順を示すフローチャートである。
【図１５】本発明の第１の実施の形態のＩ／Ｏデバイス片寄せ部によるＩ／Ｏデバイスの片寄せを実行する手順を示すフローチャートである。
【図１６】本発明の第１の実施の形態のＩ／Ｏデバイス片寄せ解除部によるＩ／Ｏデバイスの片寄せを解除する手順を示すフローチャートである。
【図１７】本発明の第１の実施の形態の仮想デバイス制御部によるＩ／Ｏデバイスの片寄せを実行及び解除する手順を示すフローチャートである。
【図１８】本発明の第２の実施の形態のサーバ管理テーブルを示す図である。
【図１９】本発明の第２の実施の形態のＩ／Ｏデバイス選択部による片寄せ対象のＩ／Ｏデバイスを選択する手順を示すフローチャートである。
【符号の説明】
【０１６５】
１０１    管理サーバ
１０２    Ｉ／Ｏデバイス管理部
１０３    Ｉ／Ｏデバイス電力制御部
１０４    Ｉ／Ｏデバイス電力監視部
１０５    Ｉ／Ｏデバイス選択部
１０６    Ｉ／Ｏデバイス片寄せ部
１０７    Ｉ／Ｏデバイス片寄せ解除部
１０８    Ｉ／Ｏデバイス省電力化判定部
１０９    Ｉ／Ｏスイッチ管理テーブル
１１０    サーバ管理テーブル
１１１    サーバＩ／Ｏ構成情報テーブル
１１２    デバイスプール管理テーブル
１１３    ネットワークスイッチ
１１４    サーバ装置
１１５    Ｉ／Ｏスイッチ装置
１１６    ソケット
１１７    Ｉ／Ｏデバイス
１１８    ファイバチャネルスイッチ
１１９    ストレージ装置
１２０    ＳＶＰ
２０１    メモリ
２０２    プロセッサ
２０３    ディスクインタフェース
２０４    ネットワークインタフェース
２０５    入力装置
２０６    出力装置
３０１    メモリ
３０２    アプリケーション
３０３    ＯＳ
３０４    Ｉ／Ｏハイパーバイザ
３０５    仮想デバイス制御部
３０６    プロセッサ
３０７    Ｉ／Ｏスイッチインターフェース
３０８    ネットワークインタフェース
４０１    ストレージ制御装置
４０２    ディスク装置
４０３    ＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）
【図１】
0004568770.tif 000002
【図２】
0004568770.tif 000003
【図３】
0004568770.tif 000004
【図４】
0004568770.tif 000005
【図５】
0004568770.tif 000006
【図６】
0004568770.tif 000007
【図７】
0004568770.tif 000008
【図８】
0004568770.tif 000009
【図９】
0004568770.tif 000010
【図１０】
0004568770.tif 000011
【図１１】
0004568770.tif 000012
【図１２】
0004568770.tif 000013
【図１３Ａ】
0004568770.tif 000014
【図１３Ｂ】
0004568770.tif 000015
【図１４】
0004568770.tif 000016
【図１５】
0004568770.tif 000017
【図１６】
0004568770.tif 000018
【図１７】
0004568770.tif 000019
【図１８】
0004568770.tif 000020
【図１９】
0004568770.tif 000021