(57)【要約】【課題】仮想サーバ間のデータ転送を適切に指示する。【解決手段】  仮想サーバ３がマイグレーションを検知すると、管理サーバ１への新たな経路情報を、管理サーバ１に送信するステップと、管理サーバ１が、新たな経路情報と、経路情報対応データ１１ａに記録された経路情報が一致しない場合、管理サーバ１が、経路情報対応データ１１ａから、新たな経路情報と一致する経路情報に対応づけられた他の仮想サーバの識別子を取得するステップと、管理サーバ１が、ラック対応データ１２ａから、他の仮想サーバの識別子に対応づけられたラック識別子を取得するステップと、仮想サーバ３の識別子に、取得したラック識別子を対応づけてラック対応データ１２ａを更新するステップと、仮想サーバ３の識別子に、新たな経路情報を対応づけて経路情報対応データ１１ａを更新するステップと、を備える。【選択図】      図１
2012203421.tif 000002
【特許請求の範囲】
【請求項１】
仮想サーバをエミュレートする複数の処理サーバと、仮想サーバ間のデータ転送を指示する管理サーバと、を備える情報処理システムに用いられる情報処理方法であって、
仮想サーバが、当該仮想サーバのマイグレーションを検知すると、管理サーバへ経路の問い合わせを送信するステップと、
前記管理サーバが、前記問い合わせに応答するステップと、
前記仮想サーバが、前記管理サーバからの応答に基づいて前記管理サーバへの新たな経路情報を取得するとともに、前記管理サーバに新たな経路情報を送信するステップと、
前記管理サーバが、仮想サーバの識別子と当該仮想サーバの経路情報とを対応づけた経路情報対応データを読み出し、前記新たな経路情報と、当該経路情報対応データに記録された経路情報が、一致するか否かを判定するステップと、
一致しない場合、前記管理サーバが、経路情報対応データから、前記新たな経路情報と一致する経路情報に対応づけられた他の仮想サーバの識別子を取得するステップと、
前記管理サーバが、仮想サーバの識別子と当該仮想サーバのラック識別子を対応づけたラック対応データを読み出し、前記他の仮想サーバの識別子に対応づけられたラック識別子を取得するステップと、
前記仮想サーバの識別子に、取得したラック識別子を対応づけて前記ラック対応データを更新するステップと、
前記仮想サーバの識別子に、新たな経路情報を対応づけて前記経路情報対応データを更新するステップと、
を備えることを特徴とする情報処理方法。
【請求項２】
仮想サーバをエミュレートする複数の処理サーバと、仮想サーバ間のデータ転送を指示する管理サーバと、を備える情報処理システムに用いられる管理サーバであって、
仮想サーバの識別子と当該仮想サーバの経路情報とを対応づけた経路情報対応データが記憶された経路情報対応データ記憶部と、
仮想サーバの識別子と当該仮想サーバのラック識別子を対応づけたラック対応データが記憶されたラック対応データ記憶部と、
マイグレーションを検知した仮想サーバから、新たな経路情報を受信する経路情報受信手段と、
前記経路情報対応データを読み出し、前記新たな経路情報と、当該経路情報対応データに記録された経路情報が、一致するか否かを判定する経路情報比較手段と、
前記経路情報比較手段において一致しない場合、前記経路情報対応データから、前記新たな経路情報と一致する経路情報に対応づけられた他の仮想サーバの識別子を取得するとともに、前記ラック対応データを読み出し、前記他の仮想サーバの識別子に対応づけられたラック識別子を取得するラック特定手段と、
前記仮想サーバの識別子に、取得したラック識別子を対応づけて前記ラック対応データを更新するとともに、前記仮想サーバの識別子に、新たな経路情報を対応づけて前記経路情報対応データを更新する更新手段と、
を備えることを特徴とする管理サーバ。
【請求項３】
前記ラック対応データを読み出し、同じラック識別子に対応づけられた仮想サーバ間でのデータ転送を優先してデータ転送を指示するデータ処理手段
をさらに備えることを特徴とする請求項２に記載の管理サーバ。
【請求項４】
仮想サーバをエミュレートする複数の処理サーバと、仮想サーバ間のデータ転送を指示する管理サーバと、を備える情報処理システムの管理サーバに用いられる管理プログラムであって、
コンピュータを、
マイグレーションを検知した仮想サーバから、新たな経路情報を受信する経路情報受信手段と、
仮想サーバの識別子と当該仮想サーバの経路情報とを対応づけた経路情報対応データを読み出し、前記新たな経路情報と、当該経路情報対応データに記録された経路情報が、一致するか否かを判定する経路情報比較手段と、
前記経路情報比較手段において一致しない場合、前記経路情報対応データから、前記新たな経路情報と一致する経路情報に対応づけられた他の仮想サーバの識別子を取得するとともに、
仮想サーバの識別子と当該仮想サーバのラック識別子を対応づけたラック対応データを読み出し、前記他の仮想サーバの識別子に対応づけられたラック識別子を取得するラック特定手段と、
前記仮想サーバの識別子に、取得したラック識別子を対応づけて前記ラック対応データを更新するとともに、前記仮想サーバの識別子に、新たな経路情報を対応づけて前記経路情報対応データを更新する更新手段
として機能させるための管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想サーバをエミュレートする複数の処理サーバと、仮想サーバ間のデータ転送を指示する管理サーバと、を備える情報処理システムに用いられる情報処理方法、管理サーバおよび管理プログラムに関する。
【背景技術】
【０００２】
昨今の情報処理機器および通信ネットワーク等の発達に伴い、並列分散処理が普及している。この並列分散処理では、一つのデータセンタに設置された複数のサーバがデータを処理する場合もあるし、複数のデータセンタに設置された複数のサーバがデータを処理する場合もある。またこのような並列分散処理は、システムの仮想化技術を導入することにより、リソースの増減や、物理サーバの交換などに容易に対応することができる。
【０００３】
このような並列分散環境として、Ｈａｄｏｏｐが知られる。Ｈａｄｏｏｐなどの並列分散環境においては、ネットワーク帯域への負荷を抑制するため、クラスタが複数のラックにまたがる場合、異なるラック間の転送処理より、同一ラック内の転送を優先する場合がある。これは、ラック認識とも呼ばれる。
【０００４】
管理サーバは、処理サーバのＩＰアドレスまたはホスト名と、この処理サーバのラックの識別子が対応づけられたラック対応リストを予め保持している。管理サーバは、処理サーバ間でデータを転送する際、このラック対応リストを参照して、ネットワークの負荷を低減するように、ラック内のデータ転送を優先する。
【０００５】
ここで、Ｈａｄｏｏｐにおいて管理サーバは、ＮａｍｅＮｏｄｅまたはＪｏｂＴｒａｃｋｅｒと呼ばれ、処理サーバは、ＤａｔａＮｏｄｅまたはＴａｓｋＴｒａｃｋｅｒと呼ばれる。
【０００６】
このような並列分散処理をより大規模なシステムで実現する場合、システムの仮想化技術は有効である。しかし、従来の並列分散処理の手法においては、仮想マシン間における通信について考慮されておらず、性能が向上しづらい問題がある。
【０００７】
そのため、予め複数の仮想マシンに分散配置する各種の配置パターンを検出し、配置パターンごとのコストを算出して、コストが最小となる配置パターンで仮想マシンに配置する方法がある（特許文献１参照。）。
【０００８】
また一般的に、ネットワークに関する構成情報を予め割り出し、その構成情報から通信機器間の接続関連情報を決定し、この管理情報から実障害箇所を特定する方法がある（特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−２１８３０７号公報
【特許文献２】特開２００１−８６１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記特許文献１に記載の方法では、仮想マシンのマイグレーションについては、何ら規定されていない。従って、マイグレーションが発生すると、管理サーバは、対象の仮想サーバがマイグレーション前のラックにあると考え、マイグレーション前のラックへデータ転送を指示する場合がある。このため、ネットワーク負荷が増加してしまう問題がある。
【００１１】
従って本発明の目的は、仮想サーバ間のデータ転送を適切に指示することのできる情報処理方法、管理サーバおよび管理プログラムを提供することである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の第１の特徴は、仮想サーバをエミュレートする複数の処理サーバと、仮想サーバ間のデータ転送を指示する管理サーバと、を備える情報処理システムに用いられる情報処理方法に関する。第１の特徴に係る情報処理方法は、仮想サーバが、当該仮想サーバのマイグレーションを検知すると、管理サーバへ経路の問い合わせを送信するステップと、管理サーバが、問い合わせに応答するステップと、仮想サーバが、管理サーバからの応答に基づいて管理サーバへの新たな経路情報を取得するとともに、管理サーバに新たな経路情報を送信するステップと、管理サーバが、仮想サーバの識別子と当該仮想サーバの経路情報とを対応づけた経路情報対応データを読み出し、新たな経路情報と、当該経路情報対応データに記録された経路情報が、一致するか否かを判定するステップと、一致しない場合、管理サーバが、経路情報対応データから、新たな経路情報と一致する経路情報に対応づけられた他の仮想サーバの識別子を取得するステップと、管理サーバが、仮想サーバの識別子と当該仮想サーバのラック識別子を対応づけたラック対応データを読み出し、他の仮想サーバの識別子に対応づけられたラック識別子を取得するステップと、仮想サーバの識別子に、取得したラック識別子を対応づけてラック対応データを更新するステップと、仮想サーバの識別子に、新たな経路情報を対応づけて経路情報対応データを更新するステップと、を備える。
【００１３】
本発明の第２の特徴は、仮想サーバをエミュレートする複数の処理サーバと、仮想サーバ間のデータ転送を指示する管理サーバと、を備える情報処理システムに用いられる管理サーバに関する。本発明の第２の特徴に係る管理サーバは、仮想サーバの識別子と当該仮想サーバの経路情報とを対応づけた経路情報対応データが記憶された経路情報対応データ記憶部と、仮想サーバの識別子と当該仮想サーバのラック識別子を対応づけたラック対応データが記憶されたラック対応データ記憶部と、マイグレーションを検知した仮想サーバから、新たな経路情報を受信する経路情報受信手段と、経路情報対応データを読み出し、新たな経路情報と、当該経路情報対応データに記録された経路情報が、一致するか否かを判定する経路情報比較手段と、経路情報比較手段において一致しない場合、経路情報対応データから、新たな経路情報と一致する経路情報に対応づけられた他の仮想サーバの識別子を取得するとともに、ラック対応データを読み出し、他の仮想サーバの識別子に対応づけられたラック識別子を取得するラック特定手段と、仮想サーバの識別子に、取得したラック識別子を対応づけてラック対応データを更新するとともに、仮想サーバの識別子に、新たな経路情報を対応づけて経路情報対応データを更新する更新手段と、を備える。
【００１４】
また、ラック対応データを読み出し、同じラック識別子に対応づけられた仮想サーバ間でのデータ転送を優先してデータ転送を指示するデータ処理手段をさらに備えても良い。
【００１５】
本発明の第３の特徴は、仮想サーバをエミュレートする複数の処理サーバと、仮想サーバ間のデータ転送を指示する管理サーバと、を備える情報処理システムの管理サーバに用いられる管理プログラムに関する。本発明の第３の特徴に係る管理プログラムは、コンピュータを、マイグレーションを検知した仮想サーバから、新たな経路情報を受信する経路情報受信手段と、仮想サーバの識別子と当該仮想サーバの経路情報とを対応づけた経路情報対応データを読み出し、新たな経路情報と、当該経路情報対応データに記録された経路情報が、一致するか否かを判定する経路情報比較手段と、経路情報比較手段において一致しない場合、経路情報対応データから、新たな経路情報と一致する経路情報に対応づけられた他の仮想サーバの識別子を取得するとともに、仮想サーバの識別子と当該仮想サーバのラック識別子を対応づけたラック対応データを読み出し、他の仮想サーバの識別子に対応づけられたラック識別子を取得するラック特定手段と、仮想サーバの識別子に、取得したラック識別子を対応づけてラック対応データを更新するとともに、仮想サーバの識別子に、新たな経路情報を対応づけて経路情報対応データを更新する更新手段として機能させる。
【発明の効果】
【００１６】
本発明によれば、仮想サーバ間のデータ転送を適切に指示することのできる情報処理方法、管理サーバおよび管理プログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の実施の形態に係る情報処理システムのシステム構成図である。
【図２】図２は、本発明の実施の形態に係る情報処理方法を説明するシーケンス図である。
【図３】図３は、本発明の実施の形態に係る管理サーバおよび仮想サーバの機能ブロック図である。
【図４】図４は、本発明の実施の形態に係る管理サーバの経路情報対応データのデータ構造とデータの一例を説明する図である。
【図５】図５は、本発明の実施の形態に係る管理サーバのラック対応データのデータ構造とデータの一例を説明する図である。
【図６】図６は、本発明の実施の形態に係る管理サーバの経路情報比較手段の処理を説明する図である。
【図７】図７は、本発明の実施の形態に係る管理サーバの経路情報比較手段の処理を説明するフローチャートである。
【図８】図８は、本発明の実施の形態に係る管理サーバのラック特定手段の処理を説明する図である。
【図９】図９は、本発明の実施の形態に係る管理サーバのラック特定手段の処理を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００１９】
（情報処理システム）
図１を参照して、本発明の実施の形態に係る情報処理システム７を説明する。情報処理システム７は、並列分散処理可能なシステムであって、複数のデータセンタを備える。図１に示す情報処理システム７は、第１のデータセンタ６ａ、第２のデータセンタ６ｂおよび第３のデータセンタ６ｃを備える。第１のデータセンタ６ａは、第１のラック５ａおよび第２のラック５ｂと複数のラックを備える。第１のラック５ａは、管理サーバ１、第１の処理サーバ２ａおよび第２の処理サーバ２ｂを備える。第２のラック５ｂは、第３の処理サーバ２ｃ、第４の処理サーバ２ｄ、第５の処理サーバ２ｅを備える。
【００２０】
第２のデータセンタ６ｂおよび第３のデータセンタ６ｃにも、第１のデータセンタ６ａと同様に、任意の数のラックと、任意の数の処理サーバが設けられている。
【００２１】
各データセンタおよび各ラックの機器は、ルータによって相互に通信可能に接続される。第１のラック５ａの管理サーバ１、第１の処理サーバ２ａおよび第２の処理サーバ２ｂは、第１のルータ４ａを介して、第３のルータ４ｃに接続され、第２のラック５ｂ、第２のデータセンタ６ｂおよび第３のデータセンタ６ｃの各機器と相互に通信可能に接続される。同様に、第２のラック５ｂの第３の処理サーバ２ｃ、第４の処理サーバ２ｄ、第５の処理サーバ２ｅは、第２のルータ４ｂを介して第３のルータ４ｃに接続され、第１のラック５ａ、第２のデータセンタ６ｂおよび第３のデータセンタ６ｃの各機器と相互に通信可能に接続される。
【００２２】
本実施形態において、第１のデータセンタ６ａ、第２のデータセンタ６ｂおよび第３のデータセンタ６ｃを特に区別する必要のない場合、単にデータセンタ６と記載する場合がある。同様に、第１のラック５ａおよび第２のラック５ｂを特に区別する必要のない場合、単にラック５と記載する場合がある。第１のルータ４ａないし第３のルータ４ｃを特に区別する必要のない場合、単にルータ４と記載する場合がある。第１の処理サーバ２ａないし第５の処理サーバ２ｅを特に区別する必要のない場合、単に処理サーバ２と記載する場合がある。
【００２３】
処理サーバ２は、分担して、例えば、クライアント端末８から入力された処理を実行する物理コンピュータである。処理サーバ２には、任意の数の仮想サーバ３が、ソフトウェア的に仮想的にエミュレートされている。図１に示す例において第１の処理サーバ２ａには、第１の仮想サーバ３ａがエミュレートされ、第２の処理サーバ２ｂには、第２の仮想サーバ３ｂおよび第３の仮想サーバ３ｃがエミュレートされている。本実施形態において、第１の仮想サーバ３ａ、第２の仮想サーバ３ｂ、第３の仮想サーバ３ｃ…を特に区別する必要のない場合、単に仮想サーバ３と記載する場合がある。
【００２４】
管理サーバ１は、ＮａｍｅＮｏｄｅまたはＪｏｂＴｒａｃｋｅｒである。処理サーバ２は、ＤａｔａＮｏｄｅまたはＴａｓｋＴｒａｃｋｅｒである。
【００２５】
管理サーバ１は、仮想サーバ３間のデータ転送を指示する。このとき管理サーバ１は、クラスタが複数のラックにまたがる場合、ラック認識に基づいて、ラック間のデータ転送よりラック内のデータ転送を優先する。これにより、ネットワーク帯域の負荷を抑制する。管理サーバ１の処理は後に詳述する。
【００２６】
仮想サーバ３は、マイグレーションにより、エミュレートする処理サーバ２が適宜変更される場合がある。例えば、仮想サーバ３の処理内容、処理サーバ２の稼働状況、リソースなどの状況に応じて、仮想サーバ３は、適切な処理サーバ２でエミュレートされる。従って、仮想サーバ３は、適切な処理サーバ２にマイグレーションし、マイグレーション先の処理サーバ２で仮想サーバはエミュレートされる。
【００２７】
このマイグレーションは、ラック間の場合もあれば、データセンタを越える場合もある。例えば、第１の仮想サーバ３ａは、第１の処理サーバ２ａでエミュレートされているが、第１のデータセンタ６ａの第２のラック５ｂの第３の処理サーバ２ｃにマイグレーションする場合もあれば、第２のデータセンタ６ｂまたは第３のデータセンタ６ｃの所定のラックの処理サーバにマイグレーションする場合もある。
【００２８】
図２を参照して、本発明の実施の形態に係る情報処理方法を説明する。
【００２９】
まず、ステップＳ１において仮想サーバ１が、自身のマイグレーションの検知をトリガーに処理を開始する。ここで仮想サーバ１は、例えば、管理サーバ１からのマイグレーションの通知などにより、自身のマイグレーションを検知する。仮想サーバ３は、自身のマイグレーションを検知すると、ステップＳ２において管理サーバ１に、経路の問い合わせを送信する。この問い合わせは例えば、管理サーバ１へのｔｒａｃｅｒｏｕｔｅコマンドである。
【００３０】
ステップＳ３において、仮想サーバ３は、管理サーバ１からステップＳ２に対応する応答を受信し、ステップＳ４において、仮想サーバ３から管理サーバ１までの経路情報を取得する。この経路情報は、仮想サーバ３から管理サーバ１までの物理筐体の位置に依存した情報である。経路情報は例えば、仮想サーバ３から管理サーバ１までの通信経路上に位置するルータなどの中継装置の識別子のリストである。ステップＳ５において仮想サーバ３は、ステップＳ４で取得した経路情報を、管理サーバ１に送信する。
【００３１】
管理サーバ１は、仮想サーバ３から経路情報を取得すると、予め取得していた仮想サーバ３の経路情報と、ステップＳ５で新たに取得した経路情報とが一致するか否かを判定する。一致する場合、そのまま処理を終了する。
【００３２】
一致しない場合、ステップＳ７において、仮想サーバ３のマイグレーション先のラックを特定する。さらにステップＳ８において管理サーバ１は、ステップＳ５で取得した経路情報と、ステップＳ７で特定したラックの情報とを、この仮想サーバ３の識別子と対応づけて更新する。
【００３３】
これにより、管理サーバ１は、仮想サーバ３の最新のラック情報を保持することができる。従って、仮想サーバ３がマイグレーションによりラックが変更になっても、最新の情報に基づいて、ラック認識により同一ラック間のデータ転送を優先的に指示することができる。
【００３４】
（仮想サーバ）
図３を参照して、本発明の実施の形態に係る仮想サーバ３を説明する。仮想サーバ３は、一般的なコンピュータである処理サーバ２に、所定の処理を実行するサーバをソフトウェア的にエミュレートすることにより、実装される。実施の形態に係る仮想サーバ３は、経路問い合わせ手段３０１および経路情報送信手段３０２を備える。
【００３５】
経路問い合わせ手段３０１は、自身のマイグレーションを検知すると、管理サーバ１に、経路の問い合わせを送信する手段である。例えば経路問い合わせ手段３０１は、ｔｒａｃｅｒｏｕｔｅコマンドを管理サーバ１に送信する。さらに経路問い合わせ手段３０１は、その応答として、仮想サーバ３から管理サーバ１までの経路情報を取得する。
【００３６】
経路情報送信手段３０２は、経路問い合わせ手段３０１において取得した経路情報を、管理サーバ１に送信する。
【００３７】
仮想サーバ３は、自身のマイグレーションを検知するたびに、経路の問い合わせを送信して経路情報を取得し、取得した経路情報を管理サーバ１に送信する。
【００３８】
（管理サーバ）
図３を参照して、本発明の実施の形態に係る管理サーバ１を説明する。本発明の実施の形態に係る管理サーバ１は、記憶装置１０、中央処理制御装置２０および通信制御装置３０を備える一般的なコンピュータである。管理サーバ１は、所定の処理を実行する管理プログラムが中央処理制御装置２０に読み込まれることにより、一般的なコンピュータに実装される。
【００３９】
記憶装置１０は、経路情報対応データ記憶部１１およびラック対応データ記憶部１２を備える。記憶装置１０にはさらに、管理プログラムが記憶される。
【００４０】
経路情報対応データ記憶部１１は、記憶装置１１のうち、経路情報対応データ１１ａが記憶された記憶領域である。経路情報対応データ１１ａは、仮想サーバ３の識別子と当該仮想サーバ３の経路情報とを対応づけたデータである。経路情報対応データ１１ａには、図１に示す情報処理システム７におけるすべての仮想サーバ３の経路情報が格納されている。
【００４１】
経路情報対応データ１１ａは、例えば図４に示すデータ構造とデータ例を備える。図４に示す経路情報対応データ１１ａにおいて、仮想サーバ３の識別子はホスト名であるが、他に、ＩＰアドレスであっても良い。経路情報は、この仮想サーバ３から管理サーバ１までのルータのＩＰアドレスのリストである。図４に示す例において、”ｎｏｄｅ１．ＸＸＸ．ｃｏ．ｊｐ”のホスト名の仮想サーバ３の経路情報は、”１９２．１６８．０．２５４”、”１０．０．３．２”、”１７１．４２．３．３２”・・・・・である。従って、”ｎｏｄｅ１．ＸＸＸ．ｃｏ．ｊｐ”のホスト名の仮想サーバ３は、”１９２．１６８．０．２５４”、”１０．０．３．２”、”１７１．４２．３．３２”・・・・・の各ルータを介して管理サーバ１に接続できる。
【００４２】
ラック対応データ記憶部１２は、記憶装置１０のうち、ラック対応データ１２ａが記憶された記憶領域である。ラック対応データ１２ａは、仮想サーバ３の識別子と当該仮想サーバ３のラック識別子を対応づけたデータである。ラック対応データ１２ａには、図１に示す情報処理システム７におけるすべての仮想サーバ３のラックの情報が格納されている。
【００４３】
ラック対応データ１２ａは、例えば図５に示すデータ構造とデータ例を備える。図５に示すラック対応データ１２ａにおいて、仮想サーバ３の識別子”ｎｏｄｅ１．ＸＸＸ．ｃｏ．ｊｐ”に、ラック識別子”／ｄｃ１／ｒａｃｋ１３”が対応づけられている。このラック識別子”／ｄｃ１／ｒａｃｋ１”は、第１のデータセンタ６ａの第１のラック５ａであることを示す。例えば、第３のデータセンタ６ｃの第５のラック（図示せず）は、”／ｄｃ３／ｒａｃｋ５”と表記される。図５においてラック識別子は、階層構造で表記されているが、この形に限らない。
【００４４】
中央処理制御装置２０は、管理プログラムがインストールされ実行されることにより、応答手段２１、経路情報受信手段２２、経路情報比較手段２３、ラック特定手段２４、更新手段２５およびデータ処理手段２６を備える。
【００４５】
応答手段２１は、仮想サーバ３から経路問い合わせを受信すると、それに対する応答を作成して仮想サーバ３に送信する手段である。仮想サーバ３がｔｒａｃｅｒｏｕｔｅコマンドを送信すると、応答手段２１は、それに対する応答を仮想サーバ３に送信する。
【００４６】
経路情報受信手段２２は、マイグレーションを検知した仮想サーバ３から、新たな経路情報を受信する。経路情報受信手段２２は、仮想サーバ３のマイグレーションに伴って、仮想サーバ３が取得した新たな経路情報を、仮想サーバ３の識別子とともに受信する。経路情報受信手段２２は、仮想サーバ３の識別子と新たな経路情報を受信すると、その情報を経路情報比較手段２３に入力する。
【００４７】
経路情報比較手段２３は、経路情報対応データ１１ａを読み出し、経路情報受信手段２２から入力された新たな経路情報と、経路情報対応データ１１ａに記録された経路情報が、一致するか否かを判定する。経路情報比較手段２３は、マイグレーションした仮想サーバ３の識別子を取得すると、経路情報対応データ１１ａから、その仮想サーバ３の識別子に対応づけられた経路情報を取得する。さらに経路情報比較手段２３は、経路情報対応データ１１ａから取得した経路情報と、経路情報受信手段２２から入力された新たな経路情報と、を比較して、一致するか否かを判定する。
【００４８】
ここで、経路情報は、図４を参照して説明した通り、仮想サーバ３から管理サーバ１までの中継装置のリストである。従って経路情報比較手段２３は、経路情報対応データ１１ａから取得した経路情報に含まれる中継装置の識別子および順番と、経路情報受信手段２２から入力された新たな経路情報の中継装置の識別子および順番と、が一致するか否かを判定する。
【００４９】
一致する場合、この仮想サーバ３のマイグレーションは同一ラック内のマイグレーションであるので、そのまま処理を終了する。一方一致しない場合、この仮想サーバ３のマイグレーションはラックを超えたマイグレーションであるので、ラック特定手段２４に、仮想サーバ３の識別子と新たな経路情報を入力する。
【００５０】
図６を参照して、経路情報比較手段２３の処理を説明する。
【００５１】
まずステップＳ１０１において経路情報比較手段２３は、経路情報対応データ１１ａに、新たな経路情報を通知した仮想サーバ３の識別子をキーに、当該仮想サーバ３の経路情報の参照を要求する。ステップＳ１０２において経路情報比較手段２３は、ステップＳ１０１の応答として、当該仮想サーバ３の経路情報を取得する。ここで取得する経路情報は、仮想サーバ３のマイグレーション前の経路情報である。
【００５２】
ステップＳ１０３において、仮想サーバ３から通知され、経路情報受信手段２２から入力された新たな経路情報と、ステップＳ１０２において経路情報対応データから取得した経路情報と、を比較する。差分がない場合、処理を終了する。一方、差分がある場合、ラック特定手段２４が続いて処理する。
【００５３】
図７を参照して、経路情報比較手段２３の処理を詳述する。
【００５４】
まずステップＳ１５１において経路情報比較手段２３は、経路情報受信手段２２から、仮想サーバ３の新たな経路情報が入力されると、ステップＳ１５２に進む。ステップＳ１５２において経路情報比較手段２３は、当該仮想サーバ３について、経路情報対応データ１１ａにおいて現在保持している経路情報を参照する。ステップＳ１５３において経路情報を正常に参照できなかった場合、そのまま処理を終了する。
【００５５】
一方ステップＳ１５３において経路情報を正常に参照できた場合、ステップＳ１５４に進む。ステップＳ１５４において経路情報比較手段２３は、経路情報対応データ１１ａにおいて現在保持している経路情報と、経路情報受信手段２２から入力された新たな経路情報と、を比較する。ステップＳ１５５において、これらの経路情報に差分がない場合、同一ラック内でのマイグレーションと考えられるので、そのまま処理を終了する。
【００５６】
一方、経路情報に差分がある場合、ステップＳ１５６において経路情報比較手段２３は、経路情報受信手段２２から入力されたサーバ３の識別子と新たな経路情報を、ラック特定手段２４に引き渡す。
【００５７】
ラック特定手段２４は、経路情報比較手段２３において一致しない場合、経路情報対応データ１１ａから、新たな経路情報と一致する経路情報に対応づけられた他の仮想サーバの識別子を取得する。さらにラック特定手段２４は、ラック対応データ１２ａを読み出し、他の仮想サーバの識別子に対応づけられたラック識別子を取得する。経路情報対応データ１１ａにおいて、新たな経路情報と一致する経路情報を持つ複数の仮想サーバが検索される場合も考えられるが、ラック特定手段２４が取得する他の仮想サーバの識別子は少なくとも１つあれば良い。
【００５８】
ラック特定手段２４は、経路情報が一致しない場合、当該仮想サーバ３は、ラックが異なる処理サーバにマイグレーションしているので、そのマイグレーション先の情報を特定する。マイグレーション先のラック識別子を取得する際、ラック特定手段２４は、マイグレーションを検知した仮想サーバ３の新たな経路情報を用いる。同じラックにある仮想サーバは経路情報が共通するので、ラック特定手段２４は、経路情報対応データ１１ａを参照して、経路情報受信手段２２が受信した新たな経路情報と同じ経路情報を持つ他の仮想サーバを検索する。さらにラック特定手段２４は、ラック対応データ１２を参照して、その他の仮想サーバのラック識別子を取得する、ラック特定手段２３は、取得したラック識別子を、仮想サーバ３のマイグレーション先のラック識別子であると特定することができる。
【００５９】
図８を参照して、ラック特定手段２４の処理を説明する。
【００６０】
まずステップＳ２０１においてラック特定手段２４は、経路情報対応データ１１ａに、仮想サーバ３から通知された新たな経路情報をキーに、当該経路情報と同一の経路情報を持つ他の仮想サーバの識別子の参照を要求する。ステップＳ２０２においてラック特定手段２４は、ステップＳ２０１の応答として、他の仮想サーバの識別子を取得する。ステップＳ２０２で取得した他の仮想サーバの経路情報は、経路情報受信手段２２が受信した仮想サーバ３の新たな経路情報と一致する。
【００６１】
ステップＳ２０３においてラック特定手段２４は、ラック対応データ１２ａに、ステップＳ２０２で取得した他の仮想サーバの識別子をキーに、この他の仮想サーバのラック識別子の参照を要求する。ステップＳ２０４においてラック特定手段２４は、ステップＳ２０３の応答として、他の仮想サーバのラック識別子を取得する。ステップＳ２０２で取得した他の仮想サーバの経路情報は、経路情報受信手段２２が受信した仮想サーバ３の新たな経路情報と一致するので、ステップＳ２０４で取得した他の仮想サーバのラック識別子は、仮想サーバ３のマイグレーション後のラック識別子でもある。
【００６２】
図９を参照して、ラック特定手段２４の処理を詳述する。
【００６３】
まずステップＳ２５１においてラック特定手段２４は、経路情報比較手段２３から、仮想サーバ３の新たな経路情報が入力されると、ステップＳ２５２に進む。ステップＳ２５２においてラック特定手段２４は、経路情報対応データ１１ａにおいて新たな経路情報を保持している他の仮想サーバの識別子を参照する。ステップＳ２５３において経路情報を正常に参照できなかった場合、そのまま処理を終了する。例えば、何ら仮想サーバをエミュレートしていない新たな処理サーバに仮想サーバ３がマイグレーションした場合などは、ステップＳ２５３において、他の仮想サーバの識別子を参照できない。
【００６４】
一方ステップＳ２５３において他の仮想サーバの識別子を正常に参照できた場合、ステップＳ２５４に進む。ステップＳ２５４においてラック特定手段２４は、ラック対応データ１２ａを参照して、他の仮想サーバの識別子に対応づけられたラック識別子を参照する。ステップＳ２５５において他の仮想サーバのラック識別子を正常に参照できなかった場合、そのまま処理を終了する。
【００６５】
一方ステップＳ２５５において他のサーバのラック識別子を参照できた場合、ステップＳ２５６に進む、ステップＳ２５６においてラック特定手段２４は、マイグレーションの通知元の仮想サーバ３の識別子、仮想サーバ３から通知された新たな経路情報およびステップＳ２５５で参照された他の仮想サーバのラック識別子を、更新手段２５に引き渡す。
【００６６】
更新手段２５は、ラック特定手段２４から入力された情報に基づいて、仮想サーバ３の識別子に、ラック特定手段２４において取得したラック識別子を対応づけてラック対応データ１２ａを更新する。更新手段２５はさらに、仮想サーバ３の識別子に、新たな経路情報を対応づけて経路情報対応データ１１ａを更新する。管理サーバ１の更新手段２５により、経路情報対応データ１１ａおよびラック対応データ１２ａには、最新の状態が反映される。
【００６７】
データ処理手段２６は、仮想サーバ間でのデータ転送を指示する。データ処理手段２６は、ラック対応データ１２ａを読み出し、同じラック識別子に対応づけられた仮想サーバ間でのデータ転送を、異なるラック識別子に対応づけられた仮想サーバ間でのデータ転送より優先してデータ転送を指示する。このラック対応データ１２ａは、更新手段２５により、仮想サーバ３のマイグレーションも反映されているので、マイグレーション後の構成を考慮して、データ転送を指示することができる。
【００６８】
このように本発明の最良の実施の形態によれば、仮想サーバのマイグレーションが発生しても、その発生後の構成に基づいてラック対応データ１２ａを更新することができる。従って、マイグレーションが発生した後でも、同一のラック内の仮想サーバに、優先的にデータを転送することができる。
【００６９】
ここで、ラック対応データ１２ａにマイグレーションの情報が反映されていない場合を想定する。例えば、Ａラックの処理サーバでエミュレートされる仮想サーバａが、Ｂラックの処理サーバにマイグレーションした場合を想定する。ラック対応データ１２ａにおいてこのマイグレーションの情報が反映されていない場合、管理サーバ１は、仮想サーバａと、仮想サーバａと同じＡラックの処理サーバでエミュレートされる仮想サーバｂとの間でデータ転送を指示する場合がある。しかし仮想サーバａは実際にはＢラックの処理サーバにマイグレーションしているので、管理サーバ１による指示は、実際には、Ｂラックの処理サーバでエミュレートされる仮想サーバａと、仮想サーバａと異なるＡラックの処理サーバでエミュレートされる仮想サーバｂとの間でのデータ転送の指示となる。従って、同一ラックの仮想サーバ間でのデータ転送を指示したつもりが、他のラックの仮想サーバにデータを転送してしまい、ネットワーク帯域の負荷が増加する可能性がある。
【００７０】
一方、本発明の実施の形態に係る管理サーバ１によれば、仮想サーバ３のマイグレーションに伴って新たな経路情報を取得し、新たな経路情報から、仮想サーバ３のマイグレーション先の処理サーバのラックを特定することができる。さらに管理サーバ１は、新たに特定されたラックの情報をラック対応データ１２ａに反映することにより、仮想サーバ３のマイグレーションが発生しても、最新のラック対応データ１２ａに基づいて、仮想サーバ３間のデータ転送を指示することができる。
【００７１】
（その他の実施の形態）
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【００７２】
例えば、本発明の実施の形態に記載した管理サーバ１は、図３に示すように一つのハードウェア上に構成されても良いし、その機能や処理数に応じて複数のハードウェア上に構成されても良い。
【００７３】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【００７４】
１  管理サーバ
２  処理サーバ
３  仮想サーバ
４  ルータ
５  ラック
６  データセンタ
７  情報処理システム
８  クライアント端末
１０  記憶装置
１１  経路情報対応データ記憶部
１２  ラック対応データ記憶部
２１  応答手段
２２  経路情報受信手段
２３  経路情報比較手段
２４  ラック特定手段
２５  更新手段
２６  データ処理手段
３０  通信制御装置
３０１  経路問い合わせ手段
３０２  経路情報送信手段
【図１】
2012203421.tif 000003
【図２】
2012203421.tif 000004
【図３】
2012203421.tif 000005
【図４】
2012203421.tif 000006
【図５】
2012203421.tif 000007
【図６】
2012203421.tif 000008
【図７】
2012203421.tif 000009
【図８】
2012203421.tif 000010
【図９】
2012203421.tif 000011