(57)【要約】【課題】Ｉ／Ｏトラフィックが１つの特定のＩ／Ｏデバイスに集中した場合のＩ／Ｏマイグレーション管理方法及び装置を提供する。【解決手段】Ｉ／Ｏマイグレーションのための情報システムにおいて、マイグレーション管理モジュールは、ＯＳが接続される第１のＩ／Ｏデバイスに関連付けられた第１のＩ／Ｏ機能部を検出し、第１のＩ／Ｏデバイスのタイプと同じタイプの第２のＩ／Ｏデバイスに関連付けられた第２のＩ／Ｏ機能部を選択し、ＯＳに第２のＩ／Ｏ機能部をホットアドするように命令する。ＯＳは、第１のＩ／Ｏ機能部に対応する第１の仮想ＮＩＣの第１の仮想ＭＡＣアドレス及び第２のＩ／Ｏ機能部に対応する第２の仮想ＮＩＣの第２の仮想ＭＡＣアドレスのチーミングを設定し、第１のＩ／Ｏ機能部に対応する第１の仮想ＮＩＣの第１の仮想ＭＡＣアドレスを接続解除する。【選択図】図１
2012243298.tif 000002
【特許請求の範囲】
【請求項１】
Ｉ／Ｏマイグレーションのための情報システムであって、
ＯＳ（オペレーティングシステム）を実行する管理された計算機と、
ネットワークを介して前記管理された計算機と接続される複数のＩ／Ｏデバイスを有するＩ／Ｏスイッチと、
マイグレーション管理モジュールと、
を備え、
前記マイグレーション管理モジュールは、
前記ＯＳが接続されている第１のＩ／Ｏデバイスに関連付けられた第１のＩ／Ｏ機能部を検出し、
前記第１のＩ／Ｏデバイスのタイプと同じタイプの第２のＩ／Ｏデバイスに関連付けられた第２のＩ／Ｏ機能部を選択し、
前記ＯＳに前記第２のＩ／Ｏ機能部をホットアドするように命令し、
前記ＯＳは、
前記第１のＩ／Ｏ機能部に対応する第１の仮想ＮＩＣの第１の仮想ＭＡＣアドレス及び前記第２のＩ／Ｏ機能部に対応する第２の仮想ＮＩＣの第２の仮想ＭＡＣアドレスのチーミングを設定し、
前記第１のＩ／Ｏ機能部に対応する前記第１の仮想ＮＩＣの前記第１の仮想ＭＡＣアドレスを接続解除する、ことを特徴とする情報システム。
【請求項２】
前記マイグレーション管理モジュールからのホットアドする前記命令は、前記第２のＩ／Ｏ機能部の情報を有する、前記ＯＳへの割込みデータを含む、ことを特徴とする請求項１に記載の情報システム。
【請求項３】
前記マイグレーション管理モジュールは、前記ホットアドが完了したか否かの結果を確認するための要求をサーバ管理計算機に送信し、該サーバ管理計算機は、前記管理された計算機の構成を問い合わせ、前記Ｉ／Ｏマイグレーション管理モジュールに前記結果を返す、ことを特徴とする請求項１に記載の情報システム。
【請求項４】
前記マイグレーション管理モジュールは、前記ＯＳにおいて、第３の仮想ＭＡＣアドレスを作成し、該第３の仮想ＭＡＣアドレスと、前記第１のＩ／Ｏ機能部に対応する第１の仮想ＮＩＣの第１の仮想ＭＡＣアドレスと、前記第２のＩ／Ｏ機能部に対応する第２の仮想ＮＩＣの第２の仮想ＭＡＣアドレスと、の間のチーミングを設定する、ことを特徴とする請求項１に記載の情報システム。
【請求項５】
前記マイグレーション管理モジュールは、前記第１のＩ／Ｏ機能部に対応する前記第１の仮想ＮＩＣの前記第１の仮想ＭＡＣアドレスの情報を、前記チーミングの前記設定からホットリムーブする、ことを特徴とする請求項１に記載の情報システム。
【請求項６】
マイグレーション管理モジュールは、前記第１のＩ／Ｏデバイスのドメインと同一のドメインを有する第２のＩ／Ｏデバイスに関連付けられたＩ／Ｏ機能部を前記第２のＩ／Ｏ機能部として選択する、ことを特徴とする請求項１に記載の情報システム。
【請求項７】
前記Ｉ／Ｏ機能部は、前記仮想ＮＩＣ（ネットワークインターフェースカード）又は仮想ＨＢＡ（ホストバスアダプタ）である、ことを特徴とする請求項１に記載の情報システム。
【請求項８】
前記ネットワークはＰＣＩ−ｅネットワークである、ことを特徴とする請求項１に記載の情報システム。
【請求項９】
前記Ｉ／Ｏスイッチは、前記マイグレーション管理モジュールを有する、ことを特徴とする請求項１に記載の情報システム。
【請求項１０】
情報システムのＩ／Ｏマイグレーションのための方法であって、該情報システムは、ＯＳ（オペレーティングシステム）を実行する管理された計算機と、ネットワークを介して前記管理された計算機と接続される複数のＩ／Ｏデバイスを有するＩ／Ｏスイッチと、マイグレーション管理モジュールとを有し、
前記方法は、
前記ＯＳが接続されている第１のＩ／Ｏデバイスに関連付けられた第１のＩ／Ｏ機能部を検出し、
前記第１のＩ／Ｏデバイスのタイプと同一タイプの第２のＩ／Ｏデバイスに関連付けられた第２のＩ／Ｏ機能部を選択し、
前記ＯＳに前記第２のＩ／Ｏ機能部をホットアドするように命令し、
前記第１のＩ／Ｏ機能部に対応する第１の仮想ＮＩＣの第１の仮想ＭＡＣアドレス及び前記第２のＩ／Ｏ機能部に対応する第２の仮想ＮＩＣの第２の仮想ＭＡＣアドレスのチーミングを設定し、
前記第１のＩ／Ｏ機能部に対応する前記第１の仮想ＮＩＣの前記第１の仮想ＭＡＣアドレスを接続解除すること、を含む、方法。
【請求項１１】
前記ホットアドする命令は、前記第２のＩ／Ｏ機能部の情報を有する、前記ＯＳへの割込みデータを含む、ことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記方法は、さらに、
前記ホットアドが完了したか否かの結果を確認するための要求をサーバ管理計算機に送信することを含み、
該サーバ管理計算機は、前記管理された計算機の構成を問い合わせ、前記Ｉ／Ｏマイグレーション管理モジュールに前記結果を返す、ことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記方法は、さらに、
第３の仮想ＭＡＣアドレスを前記ＯＳにおいて作成し、前記第３の仮想ＭＡＣアドレスと、前記第１のＩ／Ｏ機能部に対応する第１の仮想ＮＩＣの第１の仮想ＭＡＣアドレスと、前記第２のＩ／Ｏ機能部に対応する第２の仮想ＮＩＣの第２の仮想ＭＡＣアドレスとの間の前記チーミングを設定すること、を含む、ことを特徴とする請求項１０に記載の方法。
【請求項１４】
前記方法は、さらに、
前記第１のＩ／Ｏ機能部に対応する前記第１の仮想ＮＩＣの前記第１の仮想ＭＡＣアドレスの前記情報を、前記チーミングの前記設定からホットリムーブすること、を含む、ことを特徴とする請求項１０に記載の方法。
【請求項１５】
前記方法は、さらに、
前記第１のＩ／Ｏデバイスのドメインと同一ドメインを有する第２のＩ／Ｏデバイスに関連付けられたＩ／Ｏ機能部を、前記第２のＩ／Ｏ機能部として選択すること、を含む、ことを特徴とする請求項１０に記載の方法。
【請求項１６】
前記Ｉ／Ｏ機能部は、前記仮想ＮＩＣ（ネットワークインターフェースカード）又は仮想ＨＢＡ（ホストバスアダプタ）である、ことを特徴とする請求項１０に記載の方法。
【請求項１７】
前記ネットワークはＰＣＩ−ｅネットワークである、ことを特徴とする請求項１０に記載の方法。
【請求項１８】
前記Ｉ／Ｏスイッチは、前記マイグレーション管理モジュールを有する、ことを特徴とする請求項１０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、ストレージシステムに関し、特に、サーバＩ／Ｏマイグレーション管理方法及び装置に関する。
【背景技術】
【０００２】
近年、情報技術（ＩＴ）プラットフォームは、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）  Ｅｘｐｒｅｓｓ（ＰＣＩ−ｅ）スイッチ等の新たなＩ／Ｏスイッチデバイスが利用されてきている。ＰＣＩ−ｅスイッチは、オンボード又は標準的なＰＣＩのＩ／Ｏデバイスと比較して、サーバシステムに対するＩ／Ｏの柔軟性を増大させる。ＰＣＩ技術を用いることによって、サーバシステムは、他のサーバシステム、ストレージシステム、及びネットワークシステムが正しく構成された後、それらと通信することができる。
【０００３】
特許文献１は、ＰＣＩ−ｅスイッチの内部の実装を開示している。特許文献２は、ＰＣＩ−ｅスイッチ接続を構成する方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００５／０１２５５９０号明細書
【特許文献２】米国特許出願公開第２００５／０２７０９８８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、これらの特許文献及びＰＣＩ技術の標準規格は、ＰＣＩ−ｅスイッチがサーバシステムに対する動的な柔軟性を増大させる可能性を有するにもかかわらず、ＰＣＩ−ｅスイッチのＩ／Ｏ管理方法を明確に記述していない。多くのＩ／Ｏトラフィックが１つの特定のＩ／Ｏデバイスに集中する場合、これらのトラフィックの挙動を制御することは難しい。
【課題を解決するための手段】
【０００６】
本発明の例示の実施の形態は、Ｉ／Ｏマイグレーション管理機能部を備えるＩ／Ｏスイッチのうちの１つと、仮想サーバ管理機能部及びＩ／Ｏチーミング管理機能部を備えるサーバ管理システムとを提供する。Ｉ／Ｏマイグレーション管理機能部は、Ｉ／Ｏデバイス上のＩ／Ｏ機能部を管理し、Ｉ／Ｏ機能部と、管理された計算機システムにおけるオペレーティングシステム（ＯＳ）又は仮想マシンモニタ（ＶＭＭ）等のホストとの間の接続を構成する機能を有する。仮想サーバ管理機能部は、ＶＭＭ及び仮想マシン（ＶＭ）上の仮想Ｉ／Ｏ構成を管理する機能を有する。Ｉ／Ｏチーミング管理機能部は、ＯＳ及びＶＭＭ上でＩ／Ｏチーミング構成を管理する機能を有する。
【０００７】
本発明の一態様によれば、情報システムは、Ｉ／Ｏマイグレーションのための情報システムであって、ＯＳ（オペレーティングシステム）を実行する管理された計算機と、ネットワークを介して前記管理された計算機と接続される複数のＩ／Ｏデバイスを有するＩ／Ｏスイッチと、マイグレーション管理モジュールと、を備え、前記マイグレーション管理モジュールは、前記ＯＳが接続される第１のＩ／Ｏデバイスに関連付けられた第１のＩ／Ｏ機能部を検出し、前記第１のＩ／Ｏデバイスのタイプと同一タイプの第２のＩ／Ｏデバイスに関連付けられた第２のＩ／Ｏ機能部を選択し、前記ＯＳに前記第２のＩ／Ｏ機能部をホットアドするように命令し、前記ＯＳは、前記第１のＩ／Ｏ機能部に対応する第１の仮想ＮＩＣの第１の仮想ＭＡＣアドレス及び前記第２のＩ／Ｏ機能部に対応する第２の仮想ＮＩＣの第２の仮想ＭＡＣアドレスのチーミングを設定し、前記第１のＩ／Ｏ機能部に対応する前記第１の仮想ＮＩＣの前記第１の仮想ＭＡＣアドレスの接続を解除する、情報システム、を含む。
【発明の効果】
【０００８】
本発明は、ＩＴプラットフォームシステムがＩ／Ｏスイッチマイグレーション管理を用いるとき、より効率的なサーバＩ／Ｏ構成を提供するのに用いられる。
【０００９】
本発明のこれらの特徴及び利点、並びに、他の特徴及び利点は、特定の実施形態の以下の詳細な説明を考慮すると、当業者に明らかになる。
【図面の簡単な説明】
【００１０】
【図１】サーバシステムのシステム構成の一例を示す図である。
【図２】Ｉ／Ｏ機能部管理表の一例である。
【図３】Ｉ／Ｏデバイス管理表の一例である。
【図４】ネットワークスイッチ管理表の一例である。
【図５】ホスト管理表の一例である。
【図６】Ｉ／Ｏマイグレーション管理部３５０のＩ／Ｏ選択フローを示すフロー図の一例である。
【図７】Ｉ／Ｏマイグレーション管理部３５０のＩ／Ｏ管理フローを示すフロー図の一例である。
【図８】Ｉ／Ｏマイグレーション管理部３５０のシーケンス図の一例である。
【図９】Ｉ／Ｏマイグレーションのホットアドフローにおけるシステム挙動の一例を示す図である。
【図１０】Ｉ／Ｏマイグレーションのホットリムーブフロー前におけるシステム挙動の一例を示す図である。
【図１１】Ｉ／Ｏマイグレーションのホットリムーブフロー中におけるシステム挙動の一例を示す図である。
【図１２】Ｉ／Ｏマイグレーションのホットリムーブフロー後におけるシステム挙動の一例を示す図である。
【発明を実施するための形態】
【００１１】
本発明の以下の詳細な説明では、開示の一部をなす添付図面が参照される。添付図面には、限定としてではなく例示として、本発明を実施することができる例示の実施形態が示されている。図面において、同じ番号は、いくつかの図を通じて実質的に同様の構成要素を表している。さらに、以下で説明し図面に示すように、詳細な説明はさまざまな例示の実施形態を提供するが、本発明は、本明細書に説明し図示する実施形態に限定されるものではなく、当業者に知られているか又は知られることになる他の実施形態に及ぶことに留意すべきである。
【００１２】
この明細書において「一実施形態」、「この実施形態」、又は「これらの実施形態」というとき、これは、その実施形態に関して説明される特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味し、これらのフレーズがこの明細書のさまざまな箇所に登場しても、必ずしもすべて同じ実施形態が参照されるとは限らない。加えて、以下の詳細な説明では、本発明の十分な理解を提供するために、多数の具体的な詳細が述べられている。しかしながら、これらの具体的な詳細がすべて、本発明を実施するのに必要であるとは限らない場合があることが当業者には明らかである。他の状況では、本発明を不必要に分かりにくくしないように、よく知られた構造、材料、回路、プロセス、及びインターフェースは、詳細に説明されておらず、かつ／又はブロック図の形態で示される場合がある。
【００１３】
さらに、以下の詳細な説明のいくつかの部分は、計算機内の動作のアルゴリズム及びシンボル表現の点から提示される。これらのアルゴリズム的記述及びシンボル表現は、データ処理技術の当業者が自身の革新的なものの本質を他の当業者に最も効果的に伝えるために用いる手段である。アルゴリズムは、所望の最終状態又は結果をもたらす一連の定義されたステップである。本発明では、実行されるこれらのステップは、有形の結果を達成するための有形の量の物理的な操作を必要とする。必ずしもそうではないが、通例、これらの量は、記憶、転送、結合、比較、及びそれ以外の操作を行うことができる電気的又は磁気的な信号又は命令の形をとる。主として一般に用いられるとの理由から、これらの信号を、ビット、値、要素、シンボル、文字、用語、数字、命令等と呼ぶことが時に便利であることが分かっている。しかしながら、これらの用語及び類似の用語のすべては、適切な物理量に関連付けられることになり、これらの物理量に適用される単なる便利なラベルにすぎないことに留意すべきである。
【００１４】
特に別段の指定のない限り、以下の記述から明らかなように、本明細書全体を通じて、「処理」、「計算」、「算出」、「確定（求める）」、「表示」等の用語を利用している記述は、計算機システム、又は該計算機システムのレジスタ及びメモリ内の物理（電子）量として表されたデータを操作して、計算機システムのメモリ若しくはレジスタ若しくは他の情報ストレージデバイス、伝送デバイス、若しくはディスプレイデバイス内の物理量として同様に表される他のデータに変換する他の情報処理デバイスの動作及びプロセスを含むことができることが理解されよう。
【００１５】
本発明は、本明細書の操作を実行する装置にも関する。この装置は、必要な目的で特別に構成することもできるし、１つ以上の計算機プログラムによって選択的に起動又は再構成される１つ以上の汎用計算機を含むこともできる。このような計算機プログラムは、計算機可読ストレージ媒体に記憶することができる。計算機可読ストレージ媒体には、光ディスク、磁気ディスク、読み出し専用メモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びソリッドステートドライブ、又は電子情報を記憶するのに適した他の任意のタイプの媒体等が含まれるが、これらに限定されるものではない。本明細書に提示されるアルゴリズム及び表示は、どの特定の計算機にも他の装置にも本来的に関係付けられない。
【００１６】
本明細書の教示に従ってさまざまな汎用システムをプログラム及びモジュールと共に用いることもできるし、所望の方法ステップを実行するようにより特化された装置を構築することが便利であると分かることもできる。さらに、本発明はどの特定のプログラミング言語に関しても説明されていない。さまざまなプログラミング言語を用いて、本明細書で説明するような本発明の教示を実施することができることが理解されよう。プログラミング言語（複数可）の命令は、１つ又は複数の処理デバイス、例えば中央処理装置（ＣＰＵ）、プロセッサ、又はコントローラによって実行することができる。
【００１７】
本発明の例示の実施形態は、以下でさらに詳細に説明するように、Ｉ／Ｏマイグレーション管理のための装置、方法、及び計算機プログラムを提供する。
【００１８】
システム構成
図１は、サーバシステムのシステム構成の一例を示している。このサーバシステムは、管理された計算機システム２１０、２２０、２３０、Ｉ／Ｏスイッチ３１０、３２０、Ｉ／Ｏデバイス３１１、３１２、３２１、３２２、ネットワークスイッチ４１０、４２０、サーバ管理システム５００、ネットワーク６１０、６２０、６３０を備える。管理された計算機システム２１０は、ホスト計算機としてＯＳ２１１を実行する機能を有し、管理された計算機システム２２０、２３０は、ホスト計算機として、ＶＭＭ（仮想マシンマネージャ）を介してＯＳ２２２、２２３、２３２、２３３を実行する機能を有し、これらの管理された計算機システムはＩ／Ｏスイッチ３１０、３２０に接続される。ＶＭＭ２２１、２３１は、サーバ仮想化プラットフォームであり、ＯＳ２２２、２２３、２３２、２３３を実行する機能を有し、Ｉ／Ｏ機能部から仮想Ｉ／Ｏ機能部を作成し、それらの仮想Ｉ／Ｏ機能部をＯＳに割り当てる。
【００１９】
ＯＳ２１１、２２２、２２３、２３２、２３３は、１つ以上のＩ／Ｏ機能部に接続し、他のＯＳ、並びにストレージシステム及びクライアントシステム等のＩＴシステムとネットワークを介して通信する機能を有する。Ｉ／Ｏスイッチ３１０、３２０は、Ｉ／Ｏデバイス３１１、３１２、３２１、３２２上にＩ／Ｏ機能部を提供する機能を有する。Ｉ／Ｏ機能部は、Ｉ／Ｏスイッチ３１０、３２０に接続される仮想ＮＩＣ（ネットワークインターフェースカード）又は仮想ＨＢＡ（ホストバスアダプタ）であり、Ｉ／Ｏスイッチは、ＰＣＩ−ｅネットワークプロトコル又は他のネットワークプロトコルを介して、Ｉ／Ｏ機能部と、ＯＳ２１１及びＶＭＭ２２１、２３１との間の接続を提供する。各ＯＳ２１１、２２２、２２３、２３２、２３３は、Ｉ／Ｏスイッチ３１０、３２０内で実行されるＩ／Ｏ機能部を介して１つ以上のネットワーク６１０、６２０、６３０に接続することができる。
【００２０】
Ｉ／Ｏスイッチ３２０は、Ｉ／Ｏマイグレーション管理部３５０のモジュールを備える。Ｉ／Ｏマイグレーション管理部３５０は、サーバ管理システム５００の機能部のうちの１つとして実現することができ、マイクロコンピュータ／マイクロ集積チップによって処理されるソフトウェアモジュールによってかつ／又はマイクロ集積回路のようなハードウェアモジュールによって提供することができる。Ｉ／Ｏマイグレーション管理部３５０は、ネットワーク６３０を介してサーバ管理システム５００と協働することによりこのシステムのＩ／Ｏマイグレーションプロセスを管理する機能を有する。Ｉ／Ｏマイグレーション管理部３５０は、Ｉ／Ｏスイッチ３１０、３２０内に実装することができ、サーバ管理システム５００から命令を受けることができる。しかし、Ｉ／Ｏマイグレーション管理部３５０は、Ｉ／Ｏスイッチ３１０、３２０とは別に外部Ｉ／Ｏ計算機内に実装することもできる。
【００２１】
Ｉ／Ｏデバイス３１１、３１２はＩ／Ｏスイッチ３１０と接続され、Ｉ／Ｏデバイス３２１、３２２はＩ／Ｏスイッチ３２０と接続される。各Ｉ／Ｏデバイス３１１、３１２、３２１、３２２は、各Ｉ／Ｏスイッチ３１０、３２０に１つ以上のＩ／Ｏ機能部を提供する機能を有する。そして、Ｉ／Ｏデバイス３１１、３２１はネットワークスイッチ４１０に接続され、同様に、Ｉ／Ｏデバイス３１２、３２２はネットワークスイッチ４２０に接続される。
【００２２】
サーバ管理システム５００は、仮想サーバ管理部５１０のモジュール及びＩ／Ｏチーミング制御部５２０のモジュールを備える。仮想サーバ管理部５１０及びＩ／Ｏチーミング制御部５２０は、ソフトウェアモジュールによってかつ／又はマイクロ集積回路のようなハードウェアモジュールによって提供することができる。サーバ管理システム５００は、ネットワーク６３０に接続され、Ｉ／Ｏスイッチ３１０、３２０及び管理された計算機システム２１０、２２０、２３０の間の接続を有する。仮想サーバ管理部５１０は、ネットワーク６３０を介してＶＭＭ２２１、２３１を管理する機能を有する。Ｉ／Ｏチーミング制御部５２０は、ネットワーク６３０を介して、ＯＳ２１１、２２２、２２３、２３２、２３３及びＶＭＭ２２１、２３１上のネットワークチーミング構成を管理する機能を有する。
【００２３】
ネットワークスイッチ４１０、４２０は、各Ｉ／Ｏデバイス３１１、３１２、３２１、３２２とネットワーク６１０、６２０、６３０との間の接続を提供する。これらの接続により、このシステムの各構成要素は互いに通信することができる。ネットワーク６１０、６２０、６３０は、各ネットワークスイッチ４１０、４２０とサーバ管理システム５００との間の接続を提供する。また、省略されているが、ストレージシステム及びクライアントシステム等の他のＩＴシステムもこれらのネットワークと接続されている。
【００２４】
Ｉ／Ｏマイグレーション管理部の表
図２は、Ｉ／Ｏマイグレーション管理部３５０のＩ／Ｏ機能部管理表の一例を示している。この表は、機能部ＩＤ１２０１、機能部タイプ１２０２、デバイスＩＤ１２０３、接続ホストＩＤ１２０４、接続計算機システムＩＤ１２０５、接続ネットワーク（ＮＷ）ドメインＩＤ１２０６、割当帯域幅１２０７、使用帯域幅１２０８、及び割当デバイスアドレス１２０９を含む。機能部ＩＤ１２０１は、Ｉ／Ｏスイッチ３１０、３２０の各Ｉ／Ｏ機能部の識別子である。機能部タイプ１２０２は、ネットワークインターフェースカード（ＮＩＣ）又はファイバチャネルホストバスアダプタ（ＦＣ−ＨＢＡ）等の各Ｉ／Ｏ機能部のタイプを示す。
【００２５】
デバイスＩＤ１２０３は、各Ｉ／Ｏデバイス３１１、３１２、３２１、３２２の識別子である。接続ホストＩＤ１２０４は、どのホスト（ＯＳ２１１又はＶＭＭ２２１、２３１）が各Ｉ／Ｏ機能部に接続されているのかをホストの識別子によって示す。接続計算機システムＩＤ１２０５は、どの管理された計算機システム２１０、２２０、２３０が各Ｉ／Ｏ機能部に接続されているのかを、管理された計算機システムの識別子によって示す。接続ネットワークドメインＩＤ１２０６は、どのネットワーク６１０、６２０、６３０が各Ｉ／Ｏ機能部に接続されているのかを、ネットワークの識別子によって示す。
【００２６】
割当帯域幅１２０７は、どれだけの帯域幅が各Ｉ／Ｏ機能部に割り当てられているのかを示す。割当帯域幅１２０７におけるＢＥはベストエフォートを表している。使用帯域幅１２０８は、どれだけの帯域幅が各Ｉ／Ｏ機能部によって使用されているのかを示す。これらの値は、リアルタイムで監視することができ、特定のチームの平均値は、Ｉ／Ｏスイッチ３１０、３２０又はＩ／Ｏデバイス３１１、３１２、３２１、３２２によって算出することができる。割当デバイスアドレス１２０９は、Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）アドレス又はワールドワイド名（ＷＷＮ）等の各Ｉ／Ｏ機能部のデバイスアドレスを示す。
【００２７】
図３は、Ｉ／Ｏデバイス管理表の一例を示している。この表は、Ｉ／ＯデバイスＩＤ１３０１、Ｉ／ＯデバイスポートＩＤ１３０２、接続ネットワークスイッチＩＤ１３０３、接続ネットワークポートＩＤ１３０４、挿入先Ｉ／ＯスイッチＩＤ１３０５、接続可能計算機システム１３０６、物理帯域幅１３０７、及び利用可能帯域幅１３０８を含む。Ｉ／ＯデバイスＩＤ１３０１は、各Ｉ／Ｏデバイス３１１、３１２、３２１、３２２の識別子を示す。Ｉ／ＯデバイスポートＩＤ１３０２は、Ｉ／Ｏデバイス３１１、３１２、３２１、３２２の各ポートの識別子を示す。接続ネットワークスイッチＩＤ１３０３は、どのネットワークスイッチ４１０、４２０が各Ｉ／Ｏデバイス３１１、３１２、３２１、３２２に接続されているのかを示す。
【００２８】
接続ネットワークポートＩＤ１３０４は、ネットワークスイッチ４１０、４２０のどのポートが各Ｉ／Ｏデバイス３１１、３１２、３２１、３２２に接続されているのかを示す。挿入先Ｉ／ＯスイッチＩＤ１３０５は、各Ｉ／Ｏデバイス３１１、３１２、３２１、３２２がどのＩ／Ｏスイッチ３１０、３２０に挿入されているのかを示す。接続可能計算機システム１３０６は、どの管理された計算機システム２１０、２２０、２３０がＩ／Ｏスイッチ３１０、３２０を介して各Ｉ／Ｏデバイス３１１、３１２、３２１、３２２と接続できるのかを示す。物理帯域幅１３０７は、各Ｉ／Ｏデバイス３１１、３１２、３２１、３２２が有する総帯域幅を示す。利用可能帯域幅１３０８は、各Ｉ／Ｏデバイス３１１、３１２、３２１、３２２の未使用帯域幅を示す。
【００２９】
図４は、ネットワークスイッチ管理表の一例を示している。ネットワークスイッチ管理表１４００は、ネットワークスイッチＩＤ１４０１、ネットワークスイッチポートＩＤ１４０２、及び接続可能ネットワークドメインＩＤ１４０３を含む。ネットワークスイッチＩＤ１４０１は、各ネットワークスイッチ４１０、４２０の識別子である。ネットワークスイッチポートＩＤ１４０２は、各ネットワークスイッチ４１０、４２０上の各ポートの識別子である。接続可能ネットワークドメインＩＤ１４０３は、各ネットワークスイッチ４１０、４２０をどのネットワークに接続することができるのかを示す。
【００３０】
図５は、ホスト管理表１５００の一例を示している。この表は、ホストＩＤ１５０１、ホストタイプ１５０２、計算機システムＩＤ１５０３、及び接続ネットワークドメインＩＤ１５０４を含む。ホストＩＤ１５０１は、各ホスト（ＯＳ２１１、２２２、２２３、２３２、２３３）の識別子である。ホストタイプ１５０２は、ホストがインストールされている環境のタイプを示す。「Ｂａｒｅ（ベア）」は、ホストが物理的な計算機システム上にインストールされていることを意味し、「ＶＭ」は、ホストが仮想マシン上にインストールされていることを意味する。計算機システムＩＤ１５０３は、ホストがインストールされている管理された計算機システムの識別子を示す。接続されたネットワークドメインＩＤ１５０４は、ホストがＩ／Ｏスイッチ３１０、３２０を介して接続されている１つ以上のネットワーク６１０、６２０、６３０を示す。
【００３１】
Ｉ／Ｏマイグレーション管理部のフローチャート
図６は、Ｉ／Ｏマイグレーション管理部３５０のＩ／Ｏ選択フロー１６００を示すフロー図の一例を示している。図７は、Ｉ／Ｏマイグレーション管理部３５０のＩ／Ｏ管理フロー１７００を示すフロー図の一例を示している。ホストのＩ／Ｏ接続がマイグレーションされるとき、最初に、Ｉ／Ｏ選択フロー１６００が処理され、その後、Ｉ／Ｏマイグレーションフロー１７００が処理される。Ｉ／Ｏ選択フロー１６００は、サーバ管理システム５００、又は統合管理システム等、このシステムの外部システムの指示によって開始される（ステップ１６１０）。
【００３２】
最初に、Ｉ／Ｏマイグレーション管理部３５０は、Ｉ／Ｏデバイス３１１、３１２、３２１、３２２上で、ホストからマイグレーションされる選択されたＩ／Ｏ機能部を検出する（ステップ１６２０）。このＩ／Ｏ機能部は、オペレータ若しくは外部システムによって指定されるか、又は、Ｉ／Ｏマイグレーション管理部３５０自体が利用可能帯域幅１３０８に基づいて検出することができる。マイグレーションされるＩ／Ｏ機能部を検出した後、Ｉ／Ｏマイグレーション管理部３５０は、接続ネットワークドメインＩＤ１２０６に基づいて、検出されたＩ／Ｏ機能部が接続されているネットワークドメインを取得する（ステップ１６３０）。そして、Ｉ／Ｏマイグレーション管理部３５０は、ネットワークスイッチ管理表１４００に基づいて、そのネットワークドメインに接続されているネットワークスイッチのポートを取得する（ステップ１６４０）。
【００３３】
Ｉ／Ｏマイグレーション管理部３５０は、接続ネットワークスイッチＩＤ１３０３、接続ネットワークポートＩＤ１３０４、及び接続ネットワークドメインＩＤ１５４０に基づいて、それらのポートと、Ｉ／Ｏ機能部がマイグレーションされるホストと、に接続されている１つ以上のＩ／Ｏデバイス３１１、３１２、３２１、３２２を選択する（ステップ１６５０）。そして、Ｉ／Ｏマイグレーション管理部３５０は、機能部タイプ１２０２に基づいて、選択されたＩ／Ｏデバイスのタイプが検出されたＩ／Ｏ機能部と同一であるＩ／Ｏ機能部を、選択されたＩ／Ｏデバイスの中から１つ以上取得する（ステップ１６６０）。最後に、Ｉ／Ｏマイグレーション管理部３５０は、それらの取得されたＩ／Ｏ機能部の中から、１つのＩ／Ｏ機能部を選択する（ステップ１６７０）。このＩ／Ｏ機能部は、Ｉ／Ｏマイグレーション管理部３５０によってランダムに選択されるか、又は利用可能帯域幅１３０８に基づいて選択される。Ｉ／Ｏマイグレーション管理部３５０は、Ｉ／Ｏデバイスに関連付けられた１つのＩ／Ｏ機能部を選択するとき、図３及び図４の表からの情報を用いて、既存のＩ／Ｏ機能部と同一のドメインを有するＩ／Ｏ機能部を選択することができる。図３から、Ｉ／Ｏマイグレーション管理部３５０は、Ｉ／Ｏデバイス上のＩ／Ｏ機能部に接続された接続ネットワーク（ＮＷ）スイッチＩＤ１３０３、及びポートＩＤ１３０４を検出する。その後、図４から、Ｉ／Ｏマイグレーション管理部３５０は、その接続ＮＷスイッチＩＤ１３０３及びポートＩＤ１３０４を有する接続可能ＮＷドメインＩＤ１４０３を検出する。既存のＩ／Ｏ機能部のネットワークドメインは、この検出された接続可能ドメインに含まれる場合がある。
【００３４】
Ｉ／Ｏマイグレーションフロー１７００は、Ｉ／Ｏ選択フロー１６００が終了した後、Ｉ／Ｏマイグレーション管理部３５０自身によって開始される。最初に、Ｉ／Ｏマイグレーション管理部３５０は、Ｉ／Ｏ選択フロー１６００において選択されたＩ／Ｏ機能部を、Ｉ／Ｏ接続がマイグレーションされるホスト（ＯＳ２１１、又はＶＭＭ２２１、２３１）にホットアドする（ステップ１７２０）。その後、このフローは、ホストがベアなＯＳ２１１であるか又はＶＭＭ２２１、２３１上のＯＳ２２２、２２３、２３２、２３３であるかに応じて、２つの分岐に分かれる（ステップ１７３０）。これは、ホストタイプ１５０２に基づいて検出される。ホストがベアなＯＳ２１１ではなく、ＯＳ２２２、２２３、２３２、２３３である場合（ステップ１７３０：Ｎｏ）、ＶＭＭは、ホットアドされたＩ／Ｏ機能部から仮想Ｉ／Ｏ機能部を作成し、ホストが用いることができる仮想Ｉ／Ｏ機能部を構成する（ステップ１７４０）。ホットアド機能部によって、計算機のリブート又はシャットダウンを行うことなく、追加の仮想ハードウェアを実行中の仮想マシンに追加することが可能になる。
【００３５】
その後、ベアなＯＳ２１１、又は仮想Ｉ／Ｏ機能部が追加されたＯＳ２２２、２２３、２３２、２３３に対して、ホットアドステップ１７２０〜１７４０により作成された新たな接続と、ホストからマイグレーションされる既存の接続であるＩ／Ｏ接続とについて、チーミングが設定される（ステップ１７５０）。チーミングが設定された後、Ｉ／Ｏマイグレーション管理部３５０は、ステップ１７５０においてチーミング設定された既存の接続のためのＩ／Ｏ機能部を、ホストからホットリムーブする（ステップ１７６０）。最後に、ホットリムーブが完了した後、１７５０において設定されたチーミング設定はホストから除去される（ステップ１７７０）。
【００３６】
Ｉ／Ｏマイグレーション管理部のシーケンス図
図８は、Ｉ／Ｏマイグレーション管理部３５０のシーケンス図の一例を示している。このシーケンスは、Ｉ／Ｏマイグレーションフロー１７００における、Ｉ／Ｏスイッチ３２０、サーバ管理システム５００、及び管理された計算機システム２１０、２２０、２３０の間の制御フローを記載している。ホットアドフローはステップ１７２０に記載されている。Ｉ／Ｏマイグレーション管理部３５０は、選択されたＩ／Ｏ機能部をＯＳにホットアドするために、ネットワークを介して、選択されたＩ／Ｏ機能部の情報を含む割込みデータをホストに送信し、このネットワークはＰＣＩ−ｅネットワークとすることができる。次に、仮想ＮＩＣ及び仮想ＭＡＣアドレスのような仮想Ｉ／Ｏ機能部がＶＭＭ上で生成される（ステップ１７２１）。ホットアド操作ステップ１７２１の後、Ｉ／Ｏスイッチ３２０におけるＩ／Ｏマイグレーション管理部３５０は、ホットアドが正常に完了したか否かの結果を確認するための要求をサーバ管理システム５００に送信する（ステップ１７２３）。
【００３７】
この要求に応答するために、サーバ管理システム５００は、Ｉ／Ｏ機能部がホットアドされたホストからＩ／Ｏ構成を取得する（ステップ１７２２）。ステップ１７４０内のフローでは、Ｉ／Ｏマイグレーション管理部３５０からの要求によって、サーバ管理システム５００は、仮想Ｉ／Ｏ機能部を作成し、管理された計算機システム２３０内のＶＭＭ上のホストに追加する（ステップ１７４１、ステップ１７４２）。より具体的には、サーバ管理システム５００は、管理された計算機システム内のＶＭ及び／又はＶＭＭ上のＯＳに対して、ＶＭ（仮想マシン）及び／又はＶＭＭ上での仮想Ｉ／Ｏ機能部（仮想ＮＩＣ及び環境層ＭＡＣアドレス）の作成を命令し、作成された仮想Ｉ／Ｏ機能部の認識を命令する。ＶＭＭ及び／又はＶＭは、ＶＭ上の仮想ＮＩＣをＶＭＭ上の仮想ＮＩＣに関連付ける。ホストが、ＶＭを有しないベアのＯＳである場合、ステップ１７４０はスキップされる。
【００３８】
ステップ１７５０内のフローにおいて、サーバ管理システム５００は、Ｉ／Ｏマイグレーション管理部３５０からの要求によって、管理された計算機システム２３０内のホストにチーミングを設定する（ステップ１７５１、ステップ１７５２）。チーミングについてより具体的に言えば、ＯＳは、仮想ＭＡＣ（アドレス）を生成し、ＯＳ上のこの仮想ＭＡＣをＶＭ及び／又はＶＭＭ内の古い仮想ＮＩＣの古いＭＡＣアドレスに関連付け、ＯＳ上の該仮想ＭＡＣを、ＶＭ及び／又はＶＭＭ上の新たに作成された仮想ＮＩＣの新たに作成されたＭＡＣアドレスに関連付ける。チーミングプロセスの後、ＯＳは、複数の仮想ＮＩＣを１つのＮＩＣとして扱うことができる。
【００３９】
ホットリムーブフローはステップ１７６０に記載されている。Ｉ／Ｏマイグレーション管理部３５０は、古いＩ／Ｏ機能部のホットリムーブを管理された計算機システム２３０内のホストに命令する。この命令によって、ＶＭＭ及び／又はＶＭは、古い仮想ＮＩＣ及び仮想ＭＡＣを自身から削除する。その結果、ＯＳは、削除された古いＩ／Ｏ機能部（仮想ＮＩＣ及び仮想ＭＡＣ）の代わりに、新しく作成されたＩ／Ｏ機能部（仮想ＮＩＣ及び仮想ＭＡＣ）を介した接続を有する。ホットリムーブステップ１７６１の後、Ｉ／Ｏマイグレーション管理部３５０は、ステップの実行に成功したか否かを確認する（ステップ１７６２、ステップ１７６３）。そして、ステップ１７７０におけるチーミング除去フローは、ステップ１７４０及びステップ１７５０と同一であり、Ｉ／Ｏマイグレーション管理部３５０からの要求によって、サーバ管理システム５００は、管理された計算機システム２３０内のホストからチーミング構成を削除し、ホストは、古いＩ／Ｏ機能部への接続を解除する（ステップ１７７１、ステップ１７７２）。ホットリムーブ機能部によって、計算機のリブート又はシャットダウンを行うことなく、追加の仮想ハードウェアを実行中の仮想マシンから除去することが可能になる。古いＩ／Ｏ機能部及び新しく追加されたＩ／Ｏ機能部のチーミングによって、ＯＳは、古いＩ／Ｏ機能部がホットリムーブされたときでも、ターゲットへの通信を継続することができる。
【００４０】
Ｉ／Ｏマイグレーション時のシステムの挙動
図９〜図１２は、Ｉ／Ｏマイグレーションの際のシステム挙動の例を示している。ここで取り上げられていないＩ／Ｏのいくつかのフローは省略されている。図９は、ステップ１７２０からステップ１７５０までのホットアドフローにおけるシステム挙動の一例を示している。Ｉ／Ｏマイグレーション管理部３５０は、使用されていなかったＩ／Ｏデバイス３２２上にＩ／Ｏ機能部のうちの１つを作り（Ｆｎ２を作成）、Ｉ／Ｏマイグレーション管理部は、ステップ１７２０に示すようにＶＭＭ２３１にホットアドを命令する（Ａ１）。ホットアドステップ１７２３、仮想Ｉ／Ｏ構成ステップ１７４２、及びチーミング設定ステップ１７５２の結果確認が、ステップ１７４０、１７５０に示すように、Ｉ／Ｏマイグレーション管理部３５０からサーバ管理システム５００に要求される（Ａ２）。これらの要求を実行するために、サーバ管理システム５００は、管理された計算機システム上のＯＳ、ＶＭ及び／又はＶＭＭを制御する（Ａ３）。
【００４１】
ＰＣＩ−ｅを含むＰＣＩプロトコルでは、Ｉ／Ｏマイグレーション管理部３５０が割込みデータを、管理された計算機システム内のＯＳに送信した後、割込みデータに対する応答は、ＰＣＩプロトコルによってＩ／Ｏマイグレーション管理部３５０に返されない。したがって、マイグレーション管理部３５０は、割込みデータが正しく処理されたか否かを認識していない場合がある。そして、管理された計算機とＩ／Ｏスイッチとの間で不一致が生じた場合、システムは故障している場合がある。したがって、ホットアドステップ１７２３、仮想Ｉ／Ｏ構成ステップ１７４２、及びチーミング設定ステップ１７５２の結果確認が、Ｉ／Ｏマイグレーション管理部３５０からサーバ管理システム５００を介して要求されるべきである（Ａ２及びＡ３）。
【００４２】
図１０は、ホットリムーブ操作ステップ１７６０の前のシステム状態の一例を示している。この図において、ＯＳ２３２は、古い（既に存在する）Ｉ／Ｏ機能部Ｆｎ１を介してＩ／Ｏデバイス３２１に接続されている。そして、上記で説明した図９のフローによって、Ｉ／Ｏスイッチは、新たなＩ／Ｏ機能部Ｆｎ２をＩ／Ｏデバイス上に作成する。新しく追加されたＩ／Ｏ機能部Ｆｎ２及び古い（既存の）Ｉ／Ｏ機能部Ｆｎ１の両方がＯＳ２３２に接続される。チーミング操作１７５０の後、ＯＳ２３２は、両方のＩ／Ｏ機能部を介して自身のターゲットと通信することができる。
【００４３】
図１１は、ステップ１７６０からステップ１７７０までのホットリムーブフローにおけるシステム挙動の一例を示している。Ｉ／Ｏマイグレーション管理部３５０は、マイグレーションされる接続用のＩ／Ｏ機能部を作成し、Ｉ／Ｏマイグレーション管理部３５０はホットリムーブをＶＭＭ２３１に命令する（Ｂ１）。ホットリムーブステップ１７６３及びチーミングリムーブステップ１７７２の結果確認が、Ｉ／Ｏマイグレーション管理部３５０からサーバ管理システム５００に要求される（Ｂ２）。これらの要求を実行するように、サーバ管理システム５００は、管理された計算機システム上のＯＳ及び／又はＶＭＭに命令する（Ｂ３）。
【００４４】
図１２は、ホットリムーブフローの後のシステム状態の一例を示している。ホストのＩ／Ｏ接続は、古いＩ／Ｏ機能部Ｆｎ１から新しく割り当てられたＩ／Ｏ機能部Ｆｎ２にマイグレーションされてしまっており、ホストは、古いＩ／Ｏデバイス３２１の代わりに新しく割り当てられたＩ／Ｏデバイス３２２を用いることができる。
【００４５】
本発明を実施する計算機及びストレージシステムは、上記で説明した本発明を実施するために用いられるモジュール、プログラム、及びデータ構造体を記憶し読み出すことができる既知のドライブ（例えばＣＤドライブ及びＤＶＤドライブ、フロッピー（登録商標）ディスクドライブ、ハードドライブ等）も有することができる。これらのモジュール、プログラム、及びデータ構造体は、このような計算機可読媒体にコード化することができる。例えば、本発明のデータ構造体は、本発明で用いられるプログラムが存在する１つ以上の計算機可読媒体とは独立して計算機可読媒体に記憶することができる。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信、例えば通信ネットワークによって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク、ワイドエリアネットワーク、例えばインターネット、無線ネットワーク、ストレージエリアネットワーク等が含まれる。
【００４６】
この説明では、多数の詳細が、本発明の十分な理解を提供するために説明の目的で述べられている。しかしながら、これらの具体的な詳細のすべてが、本発明を実施するために必要とされるとは限らないことは当業者には明らかである。本発明をプロセスとして説明することができることにも留意されたい。プロセスは、通例、フローチャート、フロー図、構造図、又はブロック図として示される。フローチャートは、逐次的なプロセスとして動作を記載することができるが、動作の多くは、並列又は同時に実行することができる。さらに、動作の順序は並べ替えることができる。
【００４７】
当該技術分野で知られているように、上記で説明した動作は、ハードウェア、ソフトウェア、又はソフトウェア及びハードウェアのある組み合わせによって実行することができる。本発明の実施形態のさまざまな態様は、回路及び論理デバイス（ハードウェア）を用いて実施することができるが、他の態様としては、プロセッサによって実行された場合に本発明の実施形態を実施する方法を該プロセッサに実行させる、マシン可読媒体に記憶された命令（ソフトウェア）を用いて実施することもできる。
【００４８】
さらに、本発明のいくつかの実施形態では、ハードウェアのみで実行することができるのに対して、他の実施形態は、ソフトウェアのみで実行することができる。さらに、説明したさまざまな機能は、単一のユニットで実行することもできるし、任意の数の方法で複数の構成要素に散在させることもできる。本方法は、ソフトウェアによって実行されるとき、計算機可読媒体に記憶された命令に基づいて、汎用計算機等のプロセッサによって実行することができる。所望である場合、これらの命令は、圧縮フォーマット及び／又は暗号化フォーマットで媒体に記憶することができる。
【００４９】
上記から、本発明は、Ｉ／Ｏマイグレーション管理のための方法、装置、及び計算機可読媒体に記憶されたプログラムを提供することが明らかであろう。さらに、特定の実施形態がこの明細書で図示及び説明されたが、当業者ならば、開示した特定の実施形態に代えて、同じ目的を達成するように適合された任意の構成を用いることができることを理解する。この開示は、本発明のありとあらゆる適応形態又は変形形態を包含するように意図されており、次に述べる特許請求の範囲で用いられる用語は、本明細書に開示された特定の実施形態に本発明を限定するように解釈されるべきでないことが理解されるべきである。それとは逆に、本発明の範囲は、専ら次に述べる特許請求の範囲によって画定されるべきである。特許請求の範囲は、そのような特許請求の範囲が権利を有する均等物の全範囲と共に、請求項の解釈の確立された原則に従って解釈されるべきである。
【図１】
2012243298.tif 000003
【図２】
2012243298.tif 000004
【図３】
2012243298.tif 000005
【図４】
2012243298.tif 000006
【図５】
2012243298.tif 000007
【図６】
2012243298.tif 000008
【図７】
2012243298.tif 000009
【図８】
2012243298.tif 000010
【図９】
2012243298.tif 000011
【図１０】
2012243298.tif 000012
【図１１】
2012243298.tif 000013
【図１２】
2012243298.tif 000014