(57)【要約】【課題】ゲストＯＳが配置される最適なホストコンピュータを決定すること。【解決手段】決定部３０ａは、ネットワークを介して複数のホストコンピュータ（ホスト群）と接続されるユーザ端末の位置情報に基づいて、ユーザ端末との距離が最短となるホストコンピュータをホスト群から選択し、当該選択したホストコンピュータを、ユーザ端末が使用するゲストＯＳを配置するホストコンピュータとして決定する。制御部３０ｂは、決定部３０ａが決定したホストコンピュータをアクセス先とするようにユーザ端末を制御する。【選択図】図２
2012247865.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して複数のホストコンピュータと接続されるユーザ端末の位置情報に基づいて、当該ユーザ端末との距離が最短となるホストコンピュータを前記複数のホストコンピュータから選択し、当該選択したホストコンピュータを、前記ユーザ端末が使用するゲストＯＳを配置するホストコンピュータとして決定する決定部と、
前記決定部が決定したホストコンピュータをアクセス先とするように前記ユーザ端末を制御する制御部と、
を備えたことを特徴とするゲストＯＳ配置システム。
【請求項２】
前記制御部は、前記決定部が決定したホストコンピュータに前記ユーザ端末が使用するゲストＯＳが動作可能な状態で保管されていない場合、該ゲストＯＳを該ホストに移動させる旨の指示を保管元の装置に送出することを特徴とする請求項１に記載のゲストＯＳ配置システム。
【請求項３】
前記ネットワークに配置される中継装置と当該中継装置と最短距離に位置するホストコンピュータとを対応付けた対応情報を記憶する記憶部、
を更に備え、
前記決定部は、前記位置情報として前記ユーザ端末がアクセスした中継装置を特定する情報を取得し、当該情報により特定される中継装置に対応付けられているホストコンピュータを前記対応情報から取得することで、前記ユーザ端末との距離が最短となるホストコンピュータを選択することを特徴とする請求項１又は２に記載のゲストＯＳ配置システム。
【請求項４】
前記決定部は、前記位置情報として前記ユーザ端末が位置する緯度及び経度を取得し、当該取得した緯度及び経度と、前記複数のホストそれぞれが位置する緯度及び経度とから装置間の距離を算出することで、前記ユーザ端末との距離が最短となるホストコンピュータを選択することを特徴とする請求項１又は２に記載のゲストＯＳ配置システム。
【請求項５】
ネットワークを介して複数のホストコンピュータと接続されるユーザ端末の位置情報に基づいて、当該ユーザ端末との距離が最短となるホストコンピュータを前記複数のホストコンピュータから選択し、当該選択したホストコンピュータを、前記ユーザ端末が使用するゲストＯＳを配置するホストコンピュータとして決定する決定ステップと、
前記決定部が決定したホストコンピュータを前記ユーザ端末のアクセス先とするように前記ユーザ端末を制御する制御ステップと、
を含んだことを特徴とするゲストＯＳ配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、ゲストＯＳ配置システム及びゲストＯＳ配置方法に関する。
【背景技術】
【０００２】
従来、物理マシン（Physical  Machine）上に仮想マシン（Virtual  Machine）を動作させる仮想化技術が知られている。このような仮想化技術が利用されるコンピュータシステムでは、ハイパーバイザによって、物理マシン上に１以上の仮想マシンが生成及び制御される。そして、ハイパーバイザによる制御により、仮想マシン上にゲストＯＳ（Operating  System）と呼ばれるＯＳが動作される。
【０００３】
また、近年、ゲストＯＳを実行するホストコンピュータ（以下、ホストと記載する）において、当該ホストが実行中のゲストＯＳを、近距離の別のホスト（例えば、同一データセンタ内の別のホスト）に移動するホットマイグレーション（所謂、ｖＭｏｔｉｏｎ（登録商標））が注目を集めている。ホットマイグレーションを実現することで、ホストへの負荷の最適化や、メンテナンスのための退避を、ゲストＯＳを実行しながら実施可能することができる。
【０００４】
また、仮想化機能を実現するソフト(レイヤー)を実装することで、ユーザが利用する携帯電話等のユーザ端末において仮想化を実現する技術も注目されている。これにより、ユーザは、例えば、アプリケーションとデータとをハードウェアから分離し、プライベート用と仕事用といったように、１台の携帯電話で複数のプロフィールを使い分けることができる。また、ユーザは、例えば、電子メールや音楽、動画、銀行情報等の様々なデータが保管されている携帯電話にある全てのアプリケーションとデータとを１つのファイルコレクションとして管理することによって、個人情報を保護したり、簡単に別の携帯に移動したりすることができる。
【０００５】
更に、携帯電話等のユーザ端末のゲストＯＳ（アプリケーション）を、データセンタ等の別のホストに移動して保管すること技術も注目されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】伊藤  光恭他、“Virtual  Smartphone  over  IP技術”、ＮＴＴ技術ジャーナル、２０１０．３、Page.４５−４８
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上記した従来の技術は、ユーザ端末とホストとの距離を考慮することなく、ゲストＯＳが配置されるホストを決定するものであった。このため、ユーザ端末が遠距離に移動した場合、ユーザ端末とゲストＯＳが配置されるホストと間の通信距離が長くなり、ネットワーク遅延によりユーザの端末利用環境が悪化したり、ユーザのネットワーク利用料が増加したりする場合があった。
【０００８】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ゲストＯＳが配置される最適なホストコンピュータを決定することができるゲストＯＳ配置システム及びゲストＯＳ配置方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の実施の形態に係るゲストＯＳ配置システムは、ネットワークを介して複数のホストコンピュータと接続されるユーザ端末の位置情報に基づいて、当該ユーザ端末との距離が最短となるホストを前記複数のホストコンピュータから選択し、当該選択したホストコンピュータを、前記ユーザ端末が使用するゲストＯＳを配置するホストコンピュータとして決定する決定部と、前記決定部が決定したホストコンピュータをアクセス先とするように前記ユーザ端末を制御する制御部とを備える。
【発明の効果】
【００１０】
本発明に係るゲストＯＳ配置システム及びゲストＯＳ配置方法は、ゲストＯＳが配置される最適なホストコンピュータを決定することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るゲストＯＳ配置システムの構成例を示す図である。
【図２】図２は、実施例１に係るゲストＯＳ配置装置の構成例を示す図である。
【図３】図３は、対応情報記憶部が記憶する対応情報の一例を示す図である。
【図４】図４は、実施例１に係る決定部の処理の一例を示す図である。
【図５】図５は、実施例１に係る制御部のユーザ端末に対する制御処理の一例を示す図である。
【図６】図６は、実施例１に係る制御部のゲストＯＳ移動処理の一例を示す図である。
【図７】図７は、実施例１に係るゲストＯＳ配置装置の処理の一例を示すフローチャートである。
【図８】図８は、実施例２に係るユーザ端末が有するゲストＯＳ配置モジュールの構成例を示す図である。
【図９】図９は、実施例２に係るゲストＯＳ配置装置の構成例を示す図である。
【図１０】図１０は、距離算出用データ記憶部が記憶するヒュベニの距離計算式の定数を示す図である。
【図１１】図１１は、距離算出用データ記憶部が記憶する各ホストの緯度及び経度の一例を示す図である。
【図１２】図１２は、実施例２に係る決定部の処理の一例を示す図である。
【図１３】図１３は、実施例２に係るゲストＯＳ配置装置の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明に係るゲストＯＳ配置システム及びゲストＯＳ配置方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【実施例１】
【００１３】
まず、図１を用いて、実施例１に係るゲストＯＳ配置システムについて説明する。図１は、実施例１に係るゲストＯＳ配置システムの構成例を示す図である。図１に例示するように、実施例１に係るゲストＯＳ配置システムは、ユーザ端末１０と、ホスト群２０と、ゲストＯＳ配置装置３０とを含む。
【００１４】
ユーザ端末１０は、例えば、ノート型のＰＣ（Personal  Computer）や携帯電話や、ＰＤＡ（Personal  Digital  Assistant）等、ユーザが携帯可能な移動端末である。また、図１に示すユーザ端末１０は、仮想化機能を実現するソフト(レイヤー)が実装された移動端末であり、仮想マシン（Virtual  Machine）を動作させて、ゲストＯＳ（Operating  System）を実行させる。また、ユーザ端末１０は、ゲストＯＳを別の装置に移動（マイグレーション）させる機能を有する。また、後述するゲストＯＳ配置装置３０が有する制御部３０ｂも、同様に、ゲストＯＳを別の装置に移動（マイグレーション）させる機能を有する。なお、図１では、ユーザ端末１０を１台のみ示しているが、実施例１に係るゲストＯＳ配置システムは、実際には、複数のユーザ端末１０を含む。
【００１５】
ホスト群２０は、ゲストＯＳの移動先として用いられるホストコンピュータ群である。例えば、ホスト群２０は、国内各地に設置されたデータセンタ群であり、自装置に移動されたゲストＯＳを動作可能な状態で保管する。図１に示す一例では、ホスト群２０は、博多、広島、大阪、名古屋、東京、仙台、札幌にそれぞれ設置された７つのホストコンピュータ（以下、ホストと記載する）により構成される。図１では、例えば、博多に設置されたホストを「ホスト博多」、東京に設置されたホストを「ホスト東京」といったように省略して示している。
【００１６】
図１に示す一例では、ホスト博多は、ゲストＯＳ（１）及びゲストＯＳ（２）を保管している。また、図１に示す一例では、ホスト広島は、ゲストＯＳを保管しておらず、ホスト大阪は、ゲストＯＳ（３）を保管している。また、図１に示す一例では、ホスト名古屋は、ゲストＯＳ（４）を保管し、ホスト東京は、ゲストＯＳ（３）及びゲストＯＳ（６）を保管している。また、図１に示す一例では、ホスト仙台は、ゲストＯＳ（７）を保管し、ホスト札幌は、ゲストＯＳ（８）を保管している。なお、図１に例示した各ホストが保管するゲストＯＳは、例えば、実施例１に係るゲストＯＳ配置システムを構成する各ユーザ端末１０から移動されたゲストＯＳである。
【００１７】
ここで、ユーザ端末１０は、ホスト群２０とネットワークを介して接続される。図１に例示するネットワークは、中継装置として９つのルータ「ルータ（１）〜ルータ（９）」が配置されたゲストＯＳ配置管理網１００と、中継装置として８つのルータ「ルータ（１０）〜ルータ（１７）」が配置されたユーザアクセス網１０１とを含む。すなわち、ユーザ端末１０とホスト群２０とは、ゲストＯＳ配置管理網１００、又は、ユーザアクセス網１０１を介して接続される。
【００１８】
ゲストＯＳ配置管理網１００は、後述するゲストＯＳ配置装置３０がゲストＯＳを最適な位置に移動（マイグレーション）して配置するために用いられるネットワークであり、所謂、管理機能を有する「Ｍ  Ｐｌａｎｅ（Management  Plane）」である。また、ユーザアクセス網１０１は、ユーザ端末１０がデータの送受信を行なうためのネットワークであり、所謂、ユーザデータの転送を制御する「Ｕ  Ｐｌａｎｅ（User  Plane）」である。
【００１９】
ここで、ユーザ端末１０は、自装置のユーザが要望するゲストＯＳにアクセスしたい場合、従来では、例えば、ホスト札幌のように、特定のホストにアクセスしていた。しかし、ユーザ端末１０は、上述したように、移動端末であり、例えば、自装置が東京に位置している場合、ホスト札幌にアクセスすると、ユーザ端末とゲストＯＳが配置されるホストと間の通信距離が長くなり、ネットワーク遅延によりユーザの端末利用環境が悪化したり、ユーザのネットワーク利用料が増加したりする場合があった。
【００２０】
そこで、実施例１に係るゲストＯＳ配置システムには、ゲストＯＳが配置される最適なホストを決定するために、図１に示すゲストＯＳ配置装置３０が設置される。図１に例示するゲストＯＳ配置装置３０は、ゲストＯＳ配置管理網１００を介して、ホスト群２０やユーザ端末１０と接続されるように設置される。図１に例示するゲストＯＳ配置装置３０は、自装置と最短距離に位置するルータであり、ゲストＯＳ配置装置３０に設置されたルータ（１）を介して、ホスト群２０やユーザ端末１０と接続される。そして、実施例１に係るゲストＯＳ配置装置３０は、図２に例示する構成を有する。図２は、実施例１に係るゲストＯＳ配置装置の構成例を示す図である。
【００２１】
図２に示すように、実施例１に係るゲストＯＳ配置装置３０は、決定部３０ａと、制御部３０ｂと、対応情報記憶部３０ｃとを有する。
【００２２】
決定部３０ａは、ネットワークを介してホスト群２０と接続されるユーザ端末１０の位置情報に基づいて、ユーザ端末１０との距離が最短となるホストをホスト群２０から選択し、当該選択したホストを、ユーザ端末１０が使用するゲストＯＳを配置するホストとして決定する。
【００２３】
具体的には、実施例１に係る決定部３０ａは、対応情報記憶部３０ｃが記憶する対応情報に基づいて、ユーザ端末１０とのネットワーク距離が最短となるホストをホスト群２０から選択する。
【００２４】
かかる処理を実行するための情報として、対応情報記憶部３０ｃは、ネットワークに配置されるルータと当該ルータと最短距離に位置するホストとを対応付けた対応情報を記憶する。ここで、実施例１では、対応情報記憶部３０ｃは、ゲストＯＳ配置管理網１００に配置されるルータ及びユーザアクセス網１０１に配置されるルータそれぞれと最短距離に位置するホストとを対応付けた対応情報を記憶する。図３は、対応情報記憶部が記憶する対応情報の一例を示す図である。
【００２５】
ここで、図１では、各ルータから伸びる実線の接続先のホストが、当該ルータと最短距離でネットワーク接続されるホストであることを示している。図１に示す実線を参照すると、ゲストＯＳ配置管理網１００のルータ（２）とユーザアクセス網１０１のルータ（１１）とがホスト博多と最短のネットワーク距離となる。そこで、対応情報記憶部３０ｃは、図３に示すように、「ゲストＯＳ配置管理網：ルータ（２）」と「ユーザアクセス網：ルータ（１１）」と「ホスト：博多」とを対応付けた対応情報を記憶する。
【００２６】
また、図１に示す実線を参照すると、ゲストＯＳ配置管理網１００のルータ（３）とユーザアクセス網１０１のルータ（１２）とがホスト広島と最短のネットワーク距離となる。そこで、対応情報記憶部３０ｃは、図３に示すように、「ゲストＯＳ配置管理網：ルータ（３）」と「ユーザアクセス網：ルータ（１２）」と「ホスト：広島」とを対応付けた対応情報を記憶する。
【００２７】
また、図１に示す実線を参照すると、ゲストＯＳ配置管理網１００のルータ（４）とユーザアクセス網１０１のルータ（１３）とがホスト大阪と最短のネットワーク距離となる。そこで、対応情報記憶部３０ｃは、図３に示すように、「ゲストＯＳ配置管理網：ルータ（４）」と「ユーザアクセス網：ルータ（１３）」と「ホスト：大阪」とを対応付けた対応情報を記憶する。
【００２８】
また、図１に示す実線を参照すると、ゲストＯＳ配置管理網１００のルータ（５）とユーザアクセス網１０１のルータ（１４）とがホスト名古屋と最短のネットワーク距離となる。そこで、対応情報記憶部３０ｃは、図３に示すように、「ゲストＯＳ配置管理網：ルータ（５）」と「ユーザアクセス網：ルータ（１４）」と「ホスト：名古屋」とを対応付けた対応情報を記憶する。
【００２９】
また、図１に示す実線を参照すると、ゲストＯＳ配置管理網１００のルータ（６）とユーザアクセス網１０１のルータ（１５）とがホスト東京と最短のネットワーク距離となる。そこで、対応情報記憶部３０ｃは、図３に示すように、「ゲストＯＳ配置管理網：ルータ（６）」と「ユーザアクセス網：ルータ（１５）」と「ホスト：東京」とを対応付けた対応情報を記憶する。
【００３０】
また、図１に示す実線を参照すると、ゲストＯＳ配置管理網１００のルータ（７）とユーザアクセス網１０１のルータ（１６）とがホスト仙台と最短のネットワーク距離となる。そこで、対応情報記憶部３０ｃは、図３に示すように、「ゲストＯＳ配置管理網：ルータ（７）」と「ユーザアクセス網：ルータ（１６）」と「ホスト：仙台」とを対応付けた対応情報を記憶する。
【００３１】
また、図１に示す実線を参照すると、ゲストＯＳ配置管理網１００のルータ（８）とユーザアクセス網１０１のルータ（１７）とがホスト札幌と最短のネットワーク距離となる。そこで、対応情報記憶部３０ｃは、図３に示すように、「ゲストＯＳ配置管理網：ルータ（８）」と「ユーザアクセス網：ルータ（１７）」と「ホスト：札幌」とを対応付けた対応情報を記憶する。
【００３２】
ここで、図１では、ゲストＯＳ配置管理網１００のルータ（９）とユーザアクセス網１０１のルータ（１０）とからはホストに向かう実線が示されていないが、対応情報記憶部３０ｃは、図３に示すように、「ゲストＯＳ配置管理網：ルータ（９）」と「ユーザアクセス網：ルータ（１０）」と「ホスト：東京」とを対応付けた対応情報を記憶している。これは、ルータ（９）とネットワーク距離が最短となるホストがホスト東京であるが、「ルータ（６）とホスト東京とのネットワーク距離」の方が「ルータ（９）とホスト東京とのネットワーク距離」より短いためである。同様に、ルータ（１０）とネットワーク距離が最短となるホストがホスト東京であるが、「ルータ（１５）とホスト東京とのネットワーク距離」の方が「ルータ（１０）とホスト東京とのネットワーク距離」より短いためである。
【００３３】
図３に例示した対応情報は、例えば、ゲストＯＳ配置システムの管理者により対応情報記憶部３０ｃに格納される。
【００３４】
実施例１に係る決定部３０ａは、位置情報としてユーザ端末１０がアクセスしたルータを特定する情報を取得する。そして、実施例１に係る決定部３０ａは、取得した情報により特定されるルータに対応付けられているホストを対応情報から取得することで、ユーザ端末１０との距離が最短となるホストを選択する。
【００３５】
一例を挙げると、ユーザが自身が使用したいゲストＯＳへのアクセス要求を行なうと、ユーザ端末１０は、自装置から最短距離に位置するゲストＯＳ配置管理網１００のルータにアクセスする。ゲストＯＳ配置管理網１００に投入されたアクセス情報は、ルータ（１）を介して決定部３０ａに送信される。アクセス情報には、ユーザが使用したいゲストＯＳの情報とともに、ユーザ端末１０がアクセスしたルータを特定するための情報（例えば、ＩＰアドレス等）が含まれる。
【００３６】
決定部３０ａは、ルータの特定情報の一例であるＩＰアドレスからユーザ端末１０がアクセスしたルータを特定し、特定したルータに対応付けられているホストを対応情報記憶部３０ｃが記憶する対応情報から取得する。例えば、決定部３０ａは、ユーザ端末１０がアクセスしたルータがルータ（９）であることを特定し、ルータ（９）に対応付けられているホストを対応情報から取得する。図４は、実施例１に係る決定部の処理の一例を示す図である。
【００３７】
すなわち、決定部３０ａは、図３に例示した対応情報を参照して、図４に示すように、ルータ（９）に対応付けられたホストが「ホスト東京」であることを取得する。これにより、決定部３０ａは、現時点でのユーザ端末１０とのネットワーク距離が最短となるホストが「ホスト東京」であると選択する。そして、決定部３０ａは、ホスト東京をユーザ端末１０が使用するゲストＯＳを配置するホストとして決定する。
【００３８】
図２に戻って、制御部３０ｂは、上述したように、ゲストＯＳを移動させる機能を有し、更に、決定部３０ａが決定したホストをアクセス先とするようにユーザ端末１０を制御する。具体的には、制御部３０ｂは、「決定部３０ａが取得したユーザ端末１０がアクセスしたゲストＯＳ配置管理網１００のルータ」及び「決定部３０ａが決定したホスト」に対応付けられた「ユーザアクセス網１０１のルータ」を、対応情報から取得する。そして、制御部３０ｂは、取得したユーザアクセス網１０１のルータを介して、決定部３０ａが決定したホストにアクセスするように、ユーザ端末１０に指示を送信する。
【００３９】
例えば、図３に例示した対応情報を参照して、制御部３０ｂは、ルータ（９）及びホスト東京に対応付けられたルータ（１０）を取得する。そして、制御部３０ｂは、ルータ（１０）経由でホスト東京にアクセスする旨の指示を、ユーザ端末１０に送信する。図１を参照すると、制御部３０ｂは、ルータ（１）、ルータ（８）、ルータ（７）、ルータ（９）を介して、上記の指示「アクセス先ホスト：ホスト東京、アクセス先ルータ：ルータ（１０）」をユーザ端末１０に送信する。図５は、実施例１に係る制御部のユーザ端末に対する制御処理の一例を示す図である。
【００４０】
かかる指示を受信したユーザ端末１０は、図５に示すように、ルータ（１０）、ルータ（１５）を介して、ホスト東京にアクセスする。
【００４１】
ここで、ユーザ端末１０と最短距離に位置するホストは、ユーザが使用したいゲストＯＳが保管されていない場合がある。制御部３０ｂは、ホスト群２０を構成する各ホストが保管するゲストＯＳの情報を、ネットワーク（ゲストＯＳ配置管理網１００）を介して、順次取得している。そこで、制御部３０ｂは、決定部３０ａが決定したホストにユーザ端末１０が使用するゲストＯＳが動作可能な状態で保管されていない場合、該ゲストＯＳを該ホストに移動するように制御する。具体的には、制御部３０ｂは、該ゲストＯＳを該ホストに移動させる旨の指示を保管元の装置に送出する。図６は、実施例１に係る制御部のゲストＯＳ移動処理の一例を示す図である。
【００４２】
例えば、ユーザが使用したいゲストＯＳがゲストＯＳ（１）である場合、制御部３０ｂは、決定部３０ａが決定したホスト東京にはゲストＯＳ（１）が保管されていないと判定する（図６の左図を参照）。そして、制御部３０ｂは、ゲストＯＳ（１）が保管されているホストがホスト博多であることを取得する（図１を参照）。そして、制御部３０ｂは、ゲストＯＳ（１）をホスト東京に移動させる旨の指示をホスト博多に送出する。これにより、ゲストＯＳ（１）がホスト東京にコールドマイグレーションされる（図６の右図を参照）。
【００４３】
続いて、図７を用いて、実施例１に係るゲストＯＳ配置システムの処理の手順を説明する。図７は、実施例１に係るゲストＯＳ配置装置の処理の一例を示すフローチャートである。
【００４４】
図７に示すように、実施例１に係るゲストＯＳ配置装置３０は、ゲストＯＳへのアクセス要求を行なったユーザ端末１０がアクセスしたルータの特定情報を受信したか否かを判定する（ステップＳ１０１）。ここで、受信しない場合（ステップＳ１０１否定）、実施例１に係るゲストＯＳ配置装置３０は、受信するまで待機する。
【００４５】
一方、受信した場合（ステップＳ１０１肯定）、決定部３０ａは、特定情報から特定したルータに対応付けられたホストを、ユーザ端末１０との距離が最短となるホストとして選択する（ステップＳ１０２）。そして、決定部３０ａは、選択したホストをユーザ端末１０のアクセス先として決定する（ステップＳ１０３）。
【００４６】
そして、制御部３０ｂは、決定されたホストに、ユーザ端末１０から要求されたゲストＯＳが保管されているか否かを判定する（ステップＳ１０４）。ここで、保管されている場合（ステップＳ１０４肯定）、制御部３０ｂは、決定されたホストをユーザ端末１０に通知し（ステップＳ１０６）、処理を終了する。
【００４７】
一方、保管されていない場合（ステップＳ１０４否定）、制御部３０ｂは、要求されたゲストＯＳを決定されたホストに移動する（ステップＳ１０５）。そして、制御部３０ｂは、決定されたホストをユーザ端末１０に通知し（ステップＳ１０６）、処理を終了する。
【００４８】
上述したように、実施例１に係るゲストＯＳ配置システムを構成するゲストＯＳ配置装置３０の決定部３０ａは、ネットワークを介して複数のホスト（ホスト群２０）と接続されるユーザ端末１０の位置情報に基づいて、ユーザ端末１０との距離が最短となるホストをホスト群２０から選択し、当該選択したホストを、ユーザ端末１０が使用するゲストＯＳを配置するホストとして決定する。
【００４９】
具体的には、実施例１では、ゲストＯＳ配置装置３０は、対応情報記憶部３０ｃにおいて、ネットワークに配置されるルータと当該ルータと最短距離に位置するホストとを対応付けた対応情報を記憶する。決定部３０ａは、位置情報としてユーザ端末１０がアクセスしたルータを特定する情報を取得し、当該情報により特定されるルータに対応付けられているホストを対応情報から取得することで、ユーザ端末１０との距離が最短となるホストを選択する。
【００５０】
そして、制御部３０ｂは、決定部３０ａが決定したホストをアクセス先とするようにユーザ端末１０を制御する。なお、制御部３０ｂは、決定部３０ａが決定したホストにユーザ端末１０が使用するゲストＯＳが動作可能な状態で保管されていない場合、該ゲストＯＳを該ホストに移動させる旨の指示を保管元の装置に送出する。
【００５１】
すなわち、実施例１では、ネットワーク距離の観点から、ゲストＯＳを最も近いホスト上に移動しユーザ端末１０と接続させる。これにより、実施例１では、ユーザ端末１０とゲストＯＳが配置されるホストと間の通信距離が長くなり、ネットワーク遅延によりユーザの端末利用環境が悪化したり、ユーザのネットワーク利用料が増加したりするといったことを回避することができる。従って、実施例１では、ゲストＯＳが配置される最適なホストコンピュータを決定することができる。
【実施例２】
【００５２】
実施例２では、実施例１とは異なる位置情報を用いる場合について説明する。具体的には、実施例２では、ネットワーク距離を取得できる位置情報の代わりに地理的距離を取得できる位置情報を用いる。
【００５３】
まず、実施例２に係るユーザ端末１０について、図８を用いて説明する。図８は、実施例２に係るユーザ端末が有するゲストＯＳ配置モジュールの構成例を示す図である。
【００５４】
実施例２に係るユーザ端末１０は、実施例２に係るゲストＯＳ配置装置３０がゲストＯＳ配置方法を実行するために用いるゲストＯＳ配置モジュールとして、ＧＰＳ（Global  Positioning  System）１０ａ及び位置情報送信部１０ｂを有する。ＧＰＳ１０ａは、ユーザ端末１０が現時点で位置する緯度及び経度を取得する装置である。位置情報送信部１０ｂは、ＧＰＳ１０ａが取得した緯度及び経度を位置情報として、実施例２に係るゲストＯＳ配置装置３０に送信する通信部である。
【００５５】
そして、実施例２に係るゲストＯＳ配置装置３０は、例えば、図９に示すように構成される。図９は、実施例２に係るゲストＯＳ配置装置の構成例を示す図である。
【００５６】
図９に示すように、実施例２に係るゲストＯＳ配置装置３０は、決定部３０ａと、制御部３０ｂと、距離算出用データ記憶部３０ｄとを有する。
【００５７】
実施例２に係る決定部３０ａは、実施例２に係る決定部３０ａとは異なり、以下の処理を行なう。すなわち、実施例２に係る決定部３０ａは、位置情報としてユーザ端末１０が位置する緯度及び経度を取得する。本実施例では、決定部３０ａは、ＧＰＳ１０ａが取得したユーザ端末１０が位置する緯度及び経度を、位置情報送信部１０ｂから取得する。例えば、位置情報送信部１０ｂは、ユーザ端末１０が位置する緯度及び経度をルータ（９）、ルータ（７）、ルータ（８）、ルータ（１）を経由して取得する（図１を参照）。
【００５８】
そして、実施例２に係る決定部３０ａは、取得した緯度及び経度と、ホスト群２０を構成する複数のホストそれぞれが位置する緯度及び経度とから装置間の距離を算出することで、ユーザ端末１０との距離が最短となるホストを選択する。
【００５９】
一例を挙げると、決定部３０ａは、ヒュベニの距離計算式を用いて、装置間の距離を算出する。以下、ヒュベニの距離計算式について数式を用いて説明する。
【００６０】
例えば地点１の経度（単位：ラジアン）を「ｘ１」とし、地点１の緯度（単位：ラジアン）を「ｙ１」とする。また、地点２の経度（単位：ラジアン）を「ｘ２」とし、地点１の緯度（単位：ラジアン）を「ｙ２」とする。また、地点１と地点２との緯度の差（ｙ１−ｙ２）を「ｄｙ」とし、地点１と地点２との経度の差（ｘ１−ｘ２）を「ｄｘ」とし、緯度の平均値（（ｙ１＋ｙ２）／２）を「μｙ」とする。かかる場合、地点１と地点２との距離は、以下の式（１）により算出される。
【００６１】
【数１】
2012247865.tif 000003
【００６２】
ここで、式（１）に示す「Ｍ」は、子午線曲率半径であり、以下の式（２）により算出される定数である。
【００６３】
【数２】
2012247865.tif 000004
【００６４】
また、式（１）に示す「Ｎ」は、卯酉線曲率半径であり、以下の式（３）により算出される定数である。
【００６５】
【数３】
2012247865.tif 000005
【００６６】
ここで、式（２）及び式（３）の「ａ」は、長半径（赤道半径）である。また、式（２）及び式（３）の「Ｗ」は、以下の式（４）により算出される。
【００６７】
【数４】
2012247865.tif 000006
【００６８】
また、式（２）及び式（４）の「ｅ」は、第一離心率であり、第一離心率は、短半径（極半径）を「ｂ」とすると、「ａ」及び「ｂ」を用いた以下の式（５）により算出される定数である。
【００６９】
【数５】
2012247865.tif 000007
【００７０】
実施例２に係る決定部３０ａは、式（１）により距離算出を行なうための定数を、距離算出用データ記憶部３０ｄから取得する。図１０は、距離算出用データ記憶部が記憶するヒュベニの距離計算式の定数を示す図である。
【００７１】
例えば、距離算出用データ記憶部３０ｄは、図１０に示すように、長半径「ａ（ｍ）」、短半径「ｂ（ｍ）」、扁平率（１−（ｂ／ａ））の逆数、第一離心率の二乗、「ａ（１−ｅ２）」といった定数を記憶する。図１０に示す一例では、距離算出用データ記憶部３０ｄは、ベッセル楕円体（旧日本測地系）、ＧＲＳ８０（世界測地系）、ＷＧＳ８４（ＧＰＳ）といった、様々な測地基準系ごとに設定された定数を記憶している。
【００７２】
例えば、距離算出用データ記憶部３０ｄは、図１０に示すように、ベッセル楕円体（旧日本測地系）では、「長半径：6,377,397.157」、「短半径：6,356,079.000000」、「扁平率の逆数：299.152813000」、「第一離心率の二乗：0.00667436061028297」、「ａ（１−ｅ２）：6,334,832.10663254」となることを記憶する。同様に、図１０に示す距離算出用データ記憶部３０ｄは、ＧＲＳ８０（世界測地系）及びＷＧＳ８４（ＧＰＳ）それぞれの各種定数を記憶する。
【００７３】
そして、実施例２に係る決定部３０ａは、式（１）により距離算出を行なうためのホストの緯度及び経度を、距離算出用データ記憶部３０ｄから取得する。図１１は、距離算出用データ記憶部が記憶する各ホストの緯度及び経度の一例を示す図である。
【００７４】
図１１に例示するように、距離算出用データ記憶部３０ｄは、各ホストが位置する緯度及び経度を記憶する。例えば、距離算出用データ記憶部３０ｄは、図１１に示すように、ホスト博多の緯度が「33.586739」であり、経度が「130.42295」であると記憶する。同様に、距離算出用データ記憶部３０ｄは、図１１に示すように、ホスト広島の緯度及び経度、ホスト大阪の緯度及び経度、ホスト名古屋の緯度及び経度、ホスト東京の緯度及び経度、ホスト仙台の緯度及び経度、ホスト札幌の緯度及び経度を記憶する。
【００７５】
そして、実施例２に係る決定部３０ａは、ユーザ端末１０と、ホスト博多、ホスト広島、ホスト大阪、ホスト名古屋、ホスト東京、ホスト仙台及びホスト札幌それぞれとの距離を算出する。図１２は、実施例２に係る決定部の処理の一例を示す図である。
【００７６】
例えば、位置情報として「緯度、経度（35.716922,  139.565339）」を取得した場合、決定部３０ａは、ベッセル楕円体（旧日本測地系）の定数を用いて、図１２の（Ａ）に示すように、装置間の距離（単位：ｍ）を算出する。図１２の（Ａ）に示す一例では、決定部３０ａは、ホスト博多との距離が「870789ｍ」であり、ホスト広島との距離が「662941ｍ」であり、ホスト大阪との距離が「387223ｍ」であり、ホスト名古屋との距離が「250914ｍ」であり、ホスト東京との距離が「18954ｍ」であり、ホスト仙台との距離が「305302ｍ」であり、ホスト札幌との距離が「830369ｍ」であると算出する。
【００７７】
かかる場合、決定部３０ａは、ユーザ端末１０との地理的距離が最短となるホストとして、ホスト東京を選択する。そして、決定部３０ａは、ホスト東京をユーザ端末１０が使用するゲストＯＳを配置するホストとして決定する。
【００７８】
或いは、例えば、位置情報として「緯度、経度（34.664595,  135.441399）」を取得した場合、決定部３０ａは、ベッセル楕円体（旧日本測地系）の定数を用いて、図１２の（Ｂ）に示すように、装置間の距離（単位：ｍ）を算出する。図１２の（Ｂ）に示す一例では、決定部３０ａは、ホスト博多との距離が「478134ｍ」であり、ホスト広島との距離が「273667ｍ」であり、ホスト大阪との距離が「6402ｍ」であり、ホスト名古屋との距離が「143195ｍ」であり、ホスト東京との距離が「409983ｍ」であり、ホスト仙台との距離が「629943ｍ」であり、ホスト札幌との距離が「1064557ｍ」であると算出する。
【００７９】
かかる場合、決定部３０ａは、ユーザ端末１０との地理的距離が最短となるホストとして、ホスト大阪を選択する。そして、決定部３０ａは、ホスト大阪をユーザ端末１０が使用するゲストＯＳを配置するホストとして決定する。
【００８０】
なお、決定部３０ａが用いる定数は、例えば、ゲストＯＳ配置システムの管理者により、ベッセル楕円体（旧日本測地系）、ＧＲＳ８０（世界測地系）及びＷＧＳ８４（ＧＰＳ）の中から選択設定される。
【００８１】
図９に示す制御部３０ｂは、実施例１にて説明した制御部３０ｂと同様の処理を行なう。例えば、図１２の（Ａ）で説明した処理により、決定部３０ａがホスト東京をゲストＯＳ配置用のホストとして決定した場合、制御部３０ｂは、ホスト東京にアクセスする旨の指示を、ゲストＯＳ配置管理網１００を介して、ユーザ端末１０に送信する。かかる指示を受信したユーザ端末１０は、ユーザアクセス網１０１を介して、ホスト東京にアクセスする。
【００８２】
或いは、図１２の（Ｂ）で説明した処理により、決定部３０ａがホスト大阪をゲストＯＳ配置用のホストとして決定した場合、制御部３０ｂは、ホスト大阪にアクセスする旨の指示を、ゲストＯＳ配置管理網１００を介して、ユーザ端末１０に送信する。かかる指示を受信したユーザ端末１０は、ユーザアクセス網１０１を介して、ホスト大阪にアクセスする。
【００８３】
また、制御部３０ｂは、実施例１と同様に、決定部３０ａが決定したホストにユーザ端末１０が使用するゲストＯＳが保管されていない場合、該ゲストＯＳを該ホストに移動するように制御する。
【００８４】
続いて、図１３を用いて、実施例２に係るゲストＯＳ配置システムの処理の手順を説明する。図１３は、実施例２に係るゲストＯＳ配置装置の処理の一例を示すフローチャートである。
【００８５】
図１３に示すように、実施例２に係るゲストＯＳ配置装置３０は、ゲストＯＳへのアクセス要求を行なったユーザ端末１０の緯度及び経度を受信したか否かを判定する（ステップＳ２０１）。ここで、受信しない場合（ステップＳ２０１否定）、実施例２に係るゲストＯＳ配置装置３０は、受信するまで待機する。
【００８６】
一方、受信した場合（ステップＳ２０１肯定）、決定部３０ａは、距離計算を行なって、最短距離のホストを選択する（ステップＳ２０２）。そして、決定部３０ａは、選択したホストをユーザ端末１０のアクセス先として決定する（ステップＳ２０３）。
【００８７】
そして、制御部３０ｂは、決定されたホストに、ユーザ端末１０から要求されたゲストＯＳが保管されているか否かを判定する（ステップＳ２０４）。ここで、保管されている場合（ステップＳ２０４肯定）、制御部３０ｂは、決定されたホストをユーザ端末１０に通知し（ステップＳ２０６）、処理を終了する。
【００８８】
一方、保管されていない場合（ステップＳ２０４否定）、制御部３０ｂは、要求されたゲストＯＳを決定されたホストに移動する（ステップＳ２０５）。そして、制御部３０ｂは、決定されたホストをユーザ端末１０に通知し（ステップＳ２０６）、処理を終了する。
【００８９】
上述したように、実施例２に係るゲストＯＳ配置システムを構成するゲストＯＳ配置装置３０の決定部３０ａは、位置情報としてユーザ端末１０が位置する緯度及び経度を取得し、当該取得した緯度及び経度と、ホスト群２０を構成する複数のホストそれぞれが位置する緯度及び経度とから装置間の距離を算出することで、ユーザ端末１０との距離が最短となるホストを選択する。そして、決定部３０ａは、選択したホストをユーザ端末１０のアクセス先として決定する。
【００９０】
すなわち、実施例２では、地理的距離の観点から、ゲストＯＳを最も近いホスト上に移動しユーザ端末１０と接続させる。これにより、実施例２では、実施例１と同様に、ユーザ端末１０とゲストＯＳが配置されるホストと間の通信距離が長くなり、ネットワーク遅延によりユーザの端末利用環境が悪化したり、ユーザのネットワーク利用料が増加したりするといったことを回避することができる。従って、実施例２では、実施例１と同様に、ゲストＯＳが配置される最適なホストコンピュータを決定することができる。
【００９１】
ここで、実施例１で説明した対応情報を用いる場合、ルータと直近ホストとの関係を逐次更新してネットワーク距離を把握する必要がある。しかし、実施例２では、ネットワーク距離を把握する手間を省き、各ホストの緯度及び経度とユーザ端末１０の緯度及び経度とから、地理的に直近のホストを特定し、ゲストＯＳを最も近いホスト上に移動しユーザ端末と接続することができる。
【００９２】
すなわち、実施例２では、各ホストの緯度及び経度を保持するだけで、直近のホストを選定することができる。スケールが小さい場合は、地理的距離は必ずしもネットワーク距離と一致しないが、本実施例で示したようなスケールでは、略ネットワーク距離と一致することが期待でき、事実上ネットワーク的にも最も近いホストにゲストＯＳをマイグレーションすることができる。
【００９３】
なお、上記の実施例１及び２では、ゲストＯＳ配置管理網１００及びユーザアクセス網１０１により、ゲストＯＳ配置管理用のネットワークとユーザ端末１０がデータ利用するためのネットワークとを区別して用いる場合について説明した。しかし、実施例１及び２は、上記の２つのネットワークを１つのネットワークに集約して用いる場合であっても適用可能である。かかる場合、実施例１で説明した対応情報は、ネットワーク上に配置されるルータと、当該ルータに直近のホストとを１対１で対応付けた情報となる。
【００９４】
また、上記の実施例１及び２で説明したゲストＯＳ配置装置３０による最適ホストの決定処理は、ユーザ端末１０が自装置の仮想マシン上で実行しているゲストＯＳをマイグレーションさせるホストを決定する際に実行される場合であっても良い。
【００９５】
また、上記の実施例１及び２では、決定されたホストにユーザ端末１０から要求されたゲストＯＳが保管されていない場合、制御部３０ｂが該ゲストＯＳを移動させる場合について説明した。しかし、上記の実施例１及び２は、決定されたホストにユーザ端末１０から要求されたゲストＯＳが保管されていない場合、制御部３０ｂの代わりに、ユーザ端末１０が該ゲストＯＳを移動させる場合であっても良い。
【００９６】
また、上記の実施例１及び２において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９８】
なお、上記の実施例１及び２で説明したゲストＯＳ配置方法は、あらかじめ用意されたゲストＯＳ配置プログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このゲストＯＳ配置プログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００９９】
１０  ユーザ端末
２０  ホスト群
３０  ゲストＯＳ配置装置
３０ａ  決定部
３０ｂ  制御部
３０ｃ  対応情報記憶部
１００  ゲストＯＳ配置管理網
１０１  ユーザアクセス網
【図１】
2012247865.tif 000008
【図２】
2012247865.tif 000009
【図３】
2012247865.tif 000010
【図４】
2012247865.tif 000011
【図５】
2012247865.tif 000012
【図６】
2012247865.tif 000013
【図７】
2012247865.tif 000014
【図８】
2012247865.tif 000015
【図９】
2012247865.tif 000016
【図１０】
2012247865.tif 000017
【図１１】
2012247865.tif 000018
【図１２】
2012247865.tif 000019
【図１３】
2012247865.tif 000020