(57)【特許請求の範囲】
【請求項１】
ネットワークに接続され、
利用者の使用に供するために予め作成された１または複数の仮想端末を実行する複数の仮想端末サーバと、
前記仮想端末サーバの構成情報を管理する構成管理部と、
前記利用者が前記ネットワークを介して前記仮想端末を操作する入出力装置を備える端末と、
前記利用者の時間情報と場所情報とを含むスケジュール情報を保持するスケジュール管理部と、
前記スケジュール情報および前記構成情報に基づき前記仮想端末を配置すべき前記仮想端末サーバを特定する配置パターンを生成し、前記配置パターンにしたがって前記仮想端末を前記仮想端末サーバに配置する配置制御部と、
を備え、
前記構成管理部は、各仮想端末サーバの実行可能な仮想端末の数を更に管理し、
前記配置制御部は、各仮想端末サーバの実行可能な仮想端末の数に収まるように、前記端末と前記仮想端末との間の距離の分散および距離の平均が小さくなるように各仮想端末の配置パターンを生成する、
配置システム。
【請求項２】
前記場所情報から地理座標を特定する地図検索部をさらに有し、
前記配置制御部は、前記構成情報および前記地図検索部により特定された地理座標から前記仮想端末を配置すべき仮想端末サーバとして該地理座標との距離の近い仮想端末サーバを選択することで前記配置パターンを生成する、
請求項１記載の配置システム。
【請求項３】
前記端末は、前記端末と前記仮想端末サーバとの間のネットワーク応答遅延を計測する測定部を備え、
前記配置制御部は、前記計測部の測定結果の履歴からスケジュール情報を生成する
請求項１記載の配置システム。
【請求項４】
前記端末は、前記端末の地理座標を取得する地理座標取得装置を備え、
前記配置制御部は、前記地理座標取得装置が取得した地理座標の履歴からスケジュール情報を生成する
請求項１記載の配置システム。
【請求項５】
前記配置制御部は、前記利用者のスケジュール情報に基づいて使用されない仮想端末をシャットダウンする
請求項１ないし４のいずれか１項に記載の配置システム。
【請求項６】
利用者の使用に供するために予め作成された１または複数の仮想端末を実行する複数の仮想端末サーバと利用者端末がネットワークを介して接続されるシステムにおいて、
スケジュール管理部が、前記利用者の時間情報と場所情報とを含むスケジュール情報を保持し、
配置制御部が、前記スケジュール情報に基づき前記仮想端末を配置すべき前記仮想端末サーバを特定する配置パターンを生成し、前記配置パターンにしたがって前記仮想端末を前記仮想端末サーバに配置し、
構成管理部が、各仮想端末サーバの実行可能な仮想端末の数を管理し、
前記配置制御部は、各仮想端末サーバの実行可能な仮想端末の数に収まるように、前記端末前記仮想端末との間の距離の分散および距離の平均が小さくなるように各仮想端末の配置パターンを生成する、
配置方法。
【請求項７】
コンピューターに、
利用者の使用に供するために予め作成された１または複数の仮想端末を実行させ、
時間情報と場所情報を含むスケジュール情報を保持させ、
前記スケジュール情報に基づき前記仮想端末を配置すべき仮想端末サーバを特定する配置パターンを生成させ、
前記配置パターンにしたがって前記仮想端末を前記仮想端末サーバに配置させ、
各仮想端末サーバの実行可能な仮想端末の数を管理させ、
各仮想端末サーバの実行可能な仮想端末の数に収まるように、前記端末と前記仮想端末との間の距離の分散および距離の平均が小さくなるように各仮想端末の配置パターンを生成させる、
配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シンクライアントの画面転送遅延を極小化するためのシステム、方法、およびプログラムに関する。
【背景技術】
【０００２】
シンクライアントシステムとは、処理機能を有するサーバと、画面表示や入力操作などの限定的な機能を有するクライアント端末（端末とも呼ぶ）を組み合わせて実現するシステムである。一般的に、端末にはデータを保存せず、サーバ側にデータを保存するので、セキュリティ向上、総保有コスト削減、モビリティの実現などの諸課題の解決のため近年盛んに利用されている。
【０００３】
シンクライアントシステムには様々な実現形態が提案されている。仮想ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）型は、従来のＰＣ環境を、仮想端末である仮想ＰＣとして仮想化し、それを仮想端末サーバである仮想ＰＣサーバに格納する。端末は仮想ＰＣと通信して画面情報を受信して表示し、また端末に備わるマウスやキーボードへの入力を仮想ＰＣに送信し、利用者は端末を通して仮想ＰＣを利用する。サーバベース型では１台のサーバに複数の利用者がログインし、端末はサーバから送られる画面イメージを表示して業務を行う。ネットブート型はブートイメージがまず端末にダウンロードされ、それを用いて端末がＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を起動し、業務ができる。本願発明は、仮想ＰＣ型のシンクライアントシステムを前提としている。
【０００４】
仮想ＰＣサーバはそれぞれ後述の仮想ＰＣを実行するためのハイパーバイザーと呼ばれるソフトウェアを有し、これにより仮想ＰＣを実行することができる特徴を有するサーバである。ハイパーバイザーの代表例は、ＶＭｗａｒｅ（登録商標）ＥＳＸサーバ、ＸｅｎＳｅｒｖｅｒ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｈｙｐｅｒ−Ｖ等である。
【０００５】
仮想ＰＣとは、仮想ＰＣ用サーバにインストールされたハイパーバイザーにより実行される仮想マシンである。仮想ＰＣの仮想ディスクには、ＯＳやアプリケーションをインストールすることが可能である。それらを用いて利用者は業務を行うことができる。
【０００６】
仮想ＰＣは、独立したＩＰアドレスを有し、仮想ＰＣサーバのネットワークインタフェースを介して、端末からアクセスされることができる。仮想ＰＣは、イメージファイルとして、仮想ＰＣサーバのディスク、あるいは複数の仮想ＰＣサーバからマウントされている共通のストレージにファイルとして保存され、そのファイルをコピーされ、異なる仮想ＰＣサーバで実行されることができるという、通常の物理的なサーバには無い特徴を有する。本願発明では仮想ＰＣの移動とも呼ぶこととする。
【０００７】
端末は、ネットワークに接続され、仮想ＰＣに接続し、その画面を通じて仮想ＰＣの画面を利用者に提供し、利用者にマウスやキーボード等の入力をさせるための、限定的な機能を有する。本実施形態においては、利用者の行動スケジュール、行動パターンに従い、端末も移動する。端末は利用者が持ち運んで移動可能であり、移動先で提供されているネットワークを介して仮想ＰＣに接続することができるという特徴を有する。この特徴については、端末は仮想ＰＣへ接続する際に、例えばＶＰＮなどの技術を用いると解してもよいし、あるいは移動先においても同一のネットワークに接続すると解してもよい。
【０００８】
利用者はクライアント端末（以後、単に端末と呼ぶ）を利用して仮想ＰＣにアクセスする。利用者毎に、仮想ＰＣが１または複数割り当てられている。利用者は、端末を仮想ＰＣに接続させ、仮想ＰＣの画面を端末に表示させ、業務を遂行する。利用者それぞれの所有するファイルや、仮想ＰＣの設定情報（いわゆるユーザプロファイル）は、当該利用者の使用する仮想ＰＣの仮想ディスクに個別に保存され、あるいはディレクトリサービス等に集中的に保存されている。利用者は、移動する際に端末を持ち歩き、あるいは移動先に配置された端末を用いて、仮想ＰＣにアクセスすることができる。
【０００９】
【特許文献１】特開２０１０−１０９９５５  特許文献１には、端末が仮想ＰＣにネットワークを介して接続して画面を表示する技術として、ＩＣＡ（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｕｔｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ）や、ＲＤＰ（Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ）等が提供されている。
【００１０】
これら従来技術では画面転送データを圧縮して送信することで、その通信に必要な使用帯域の削減、画面の転送は画面の操作で変更のあった箇所のみの更新、画面転送プロトコルの性能向上、画面転送元のアプリケーションの改善等によって画面更新の遅延の低減を図っている。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
利用者が遠隔地に移動すると、仮想ＰＣを実行する仮想ＰＣサーバと端末との間のネットワーク経路が長くなりネットワークの遅延が生じる。その結果端末の画面の更新にも遅延が生じる。しかし従来技術を適用しても画面更新の遅延の改善の範囲はあくまで限定的である。特に、仮想ＰＣを利用したシンクライアントシステムのような、利用者が移動して異なる場所からアクセスすることができる環境では、移動先で接続するネットワークと仮想ＰＣとの間の、エンドツーエンドのネットワークで十分なスループットが得られない問題や応答遅延が長くなる問題は避けられず、利用者の利便性は著しく低下する。
【００１２】
一方で、災害対策やクラウドサービス化により、仮想ＰＣサーバを異なる地方に分散させて管理することが一般的になりつつあり、仮想ＰＣサーバが地域を跨り複数存在していることは今日では珍しくはない。従って仮想ＰＣ画面の遅延の問題を解決するため、これら仮想ＰＣサーバを有効に活用することができると考える。
【００１３】
本発明の目的は、利用者が仮想ＰＣを離れたネットワーク環境からのリモート接続をして利用するときに生じる仮想ＰＣ画面転送遅延の解消を図るシステムを提供することにある。
【課題を解決するための手段】
【００１４】
前述した問題を解決するために、配置システムは、ネットワークに接続され、利用者の使用に供するために予め作成された１または複数の仮想端末を実行する複数の仮想端末サーバと、前記仮想端末サーバの構成情報を管理する構成管理部と、前記利用者が前記ネットワークを介して前記仮想端末を操作する入出力装置を備える端末と、前記利用者の時間情報と場所情報とを含むスケジュール情報を保持するスケジュール管理部と、前記スケジュール情報および前記構成情報に基づき前記仮想端末を配置すべき前記仮想端末サーバを特定する配置パターンを生成し、前記配置パターンにしたがって前記仮想端末を前記仮想端末サーバに配置する配置制御部と、を備える。
【発明の効果】
【００１５】
利用者が仮想ＰＣを離れたネットワーク環境からのリモート接続をして利用するときにネットワーク遅延により生じる仮想ＰＣ画面転送遅延が解消される。
【発明を実施するための形態】
【００１６】
（第１の実施形態）
本発明の第１の実施形態の構成を、図１を用いて説明する。
【００１７】
本実施形態における配置システムは、仮想ＰＣを実行する仮想ＰＣサーバ５０１および５１１と、仮想ＰＣサーバ上で実行される仮想ＰＣ２０１と、配置装置６００と、端末１１１を有する。なお、本実施形態は５０１および５１１の２台の仮想ＰＣサーバからなるが、本願発明では２以上の仮想ＰＣサーバが存在すれば足りる。図示しない利用者１０１は仮想ＰＣ２０１を利用する者である。
【００１８】
配置装置６００について説明する。配置装置６００は、配置制御部６０１と、構成管理部６０２と、スケジュール管理部６０３とを有する。
【００１９】
配置制御部６０１は、スケジュール管理部６０３が管理するスケジュール情報を取得し、これに基づき仮想ＰＣ配置パターンとして導出する。仮想ＰＣ配置パターンとは、仮想ＰＣそれぞれを配置すべき仮想ＰＣサーバを特定する情報である。さらに配置制御部６０１は前述の仮想ＰＣ配置パターンに従い、実際に仮想ＰＣサーバに指示を行い、仮想ＰＣの移動を行う。
【００２０】
構成管理部６０２は、仮想ＰＣサーバの構成情報を管理する。構成情報とは、仮想ＰＣサーバの地理的位置や属するデータセンター、および仮想ＰＣサーバが実行している仮想ＰＣの数、実行可能な仮想ＰＣの数の上限、仮想ＰＣサーバの計算リソースの上限および使用割合等を指すものである。構成管理部６０２は、仮想ＰＣサーバに関するこれらの情報を収集し、管理し、提供する。本実施形態では、場所情報に記載するエリアの名称からそのエリアに属する仮想ＰＣサーバがどれであるかを特定するに足りる情報を少なくとも保有する。
【００２１】
スケジュール管理部６０３は、利用者が登録したスケジュール情報を管理し、提供することができる。例えばＭｉｃｒｏｓｏｆｔ（登録商標）ＥｘｃｈａｎｇｅＳｅｒｖｅｒ、ＮＥＣ（登録商標）のＳｔａｒＯｆｆｉｃｅ（登録商標）およびサイボウズ（登録商標）Ｏｆｆｉｃｅ等のグループウェアに含まれるスケジュール機能である。これらはＡＰＩを利用して個人の予定表を取り出すことが可能である。利用者は、図３に示す通りスケジュール情報７００のような時間情報と場所情報をスケジュール管理部６０３予め登録しておくものとする。時間情報は年月日、時分等が登録可能であり、さらに同一時間が毎週、毎月等の規則で繰り返す等の特別な属性が登録可能であってもよい。場所情報は、本実施形態においては、ホスト名等の指定した仮想ＰＣサーバにアクセスするための情報、または仮想ＰＣサーバを一意に特定することのできる情報とする。
【００２２】
なおエリアとは、そのエリアに属している仮想ＰＣサーバに比較的高速にアクセスすることができる領域である。エリア３０１においては、端末は、仮想ＰＣサーバ５０１の方が、仮想ＰＣ５１１よりも高速に、すなわち少ない遅延でアクセス可能である。
【００２３】
配置装置６００の動作について、図２のフローチャートＳ１００を用いて説明する。
【００２４】
配置装置６００は、あらかじめ決められた時刻に起動するものとする。
【００２５】
配置制御部６０１は、スケジュール管理部６０３に保存された利用者のスケジュール情報を取り込む（Ｓ１０１）。２０１２年１月１８日に仮想ＰＣサーバ５０２を利用するとされている。
【００２６】
配置制御部６０１は、スケジュール情報で場所として指定されたエリア３０２には仮想ＰＣサーバ５１１が属していることを構成管理部６０２の情報を利用して特定し、その利用者１０１の仮想ＰＣ２０１を仮想ＰＣサーバ５１１配置するよう、仮想ＰＣ配置パターンを生成する（Ｓ１０２）。仮想ＰＣ２０１は仮想ＰＣサーバ５１１に移動するようパターンが生成される。
【００２７】
配置制御部６０１は仮想ＰＣ配置パターンに基づき、仮想ＰＣを、指定された仮想ＰＣサーバに移動させ、配置する。元々の仮想ＰＣサーバの保存先から、新たな仮想ＰＣサーバの仮想ＰＣイメージの保存先に、仮想ＰＣイメージファイルの移動が行われる。ファイルが移動した後、仮想ＰＣの立ち上げを仮想ＰＣサーバに指示する。以上により端末は移動先の仮想ＰＣサーバで実行される仮想ＰＣにアクセスすることができるようになる。
【００２８】
（第１の実施形態による効果）
利用者の登録したスケジュールに従って、仮想ＰＣが移動し、端末が仮想ＰＣにアクセスする際に生じるネットワーク遅延を小さくすることができる。
【００２９】
（第２の実施形態）
本発明の第２の実施形態の構成を、図４を用いて説明する。
【００３０】
データセンター４０１ないし４０３はそれぞれ１以上の仮想ＰＣサーバを管理する。ここでいうデータセンターはサーバのホスティングを提供する形態であっても、ＩａａＳのような形態であっても、あるいはクラウドコンピューティングを提供する基盤のような形態であっても構わない。なお本願発明では２以上のデータセンターが存在すれば足りる。データセンターは必ずいずれかのエリアに属する。
【００３１】
配置装置６００は、第１の実施形態の構成に加え、構成管理部６０２と、地図検索部６０４と、を有する。
【００３２】
構成管理部６０２は、本実施形態では、地理的位置の情報から、その位置に近い仮想ＰＣサーバがどれであるかを特定するに足りる情報を少なくとも保有する。地理的位置は例えば（緯度，経度）の形式など、複数地点間の距離を測定するに足りる情報であればよい。
【００３３】
スケジュール管理部６０３は、利用者が登録したスケジュール情報を管理し、提供することができる点で、前述の第１の実施形態と同様である。しかし、場所の記述は利用者によって異なっていてもよい。即ちビルの名前、エリアの名前等の、一意に仮想ＰＣサーバを特定できる情報ではない情報を入力してもよい。
【００３４】
地図検索部６０４は、前述のスケジュール管理部６０３に登録されたスケジュールの場所情報から、実際の地理的位置を特定する。例えば地図検索部６０４とはＧｏｏｇｌｅ（登録商標）マップを挙げることができる。そのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を利用することで任意の手段は地理的位置を特定できる。
【００３５】
配置制御部６０１は、スケジュール管理部６０３が管理するスケジュール情報から場所情報を取り出し、それを地図検索部６０４に与え地理的位置を特定させる。さらに特定した地理的情報に基づいてスケジュール情報にある場所情報から特定される地理的位置と距離の近い仮想ＰＣサーバを特定する。さらにこれに基づいて仮想ＰＣ配置パターンを生成し、生成した仮想ＰＣ配置パターンの通りに仮想ＰＣを配置する。
【００３６】
配置装置６００の動作を図６のフローチャートＳ２００を用いて説明する。
【００３７】
図４によれば、第２の実施形態は初期状態において、仮想ＰＣ２０１が仮想ＰＣサーバ５０１に配置されている。図５のスケジュール情報７０１によれば、利用者１０１は、２０１２年１月１８日に、東京から名古屋へ移動するスケジュール情報をスケジュール管理部６０３に登録する。それぞれ場所としてのビル名を登録している。指定された時刻に配置装置６００が起動するものとするのは、第１の実施形態と共通である。
【００３８】
本実施形態では、あらかじめ決められた時刻に配置制御部６０１はスケジュール情報を取り込む（Ｓ２０１）。
【００３９】
次に配置制御部６０１は、スケジュール情報から場所情報を抽出する。地図検索部６０４は、場所情報として登録されているビル名「ＸＸ本社ビル」および「ＸＸ中部センター」の地理的位置の特定し、結果を配置制御部６０１に返却する（Ｓ２０２）。例えば「ＸＸ本社ビル」に対して（３５．６４９３６９８０３６５４９９、１３９．７４８１１９０５４９００８）といった情報を返却する。
【００４０】
次に配置制御部６０１は、地理的位置に基づいて端末と距離の近い仮想ＰＣサーバを特定する。その結果仮想ＰＣサーバ５１１が利用者１０１の移動先の場所である「ＸＸ中部センター」に近いことを特定する。この結果に基づき利用者１０１の仮想ＰＣ２０１をデータセンター４０２の仮想ＰＣサーバ５１１に移動させるのが適当と判断し、その旨仮想ＰＣ配置パターンを生成する（Ｓ２０３）。
【００４１】
最後に配置制御部６０１は仮想ＰＣのイメージファイルを実際に移動させ、仮想ＰＣ２０１をデータセンター４０２の仮想ＰＣサーバ５１１で実行させる（Ｓ２０４）。
【００４２】
（第２の実施形態による効果）
端末が仮想ＰＣにアクセスする際のネットワーク遅延の低減効果が得られるのはもちろんの事、スケジュール情報に登録する場所情報はビル名等で登録できるので利用者にデータセンターの位置を意識させることが無く、利用者の負担軽減が図れるという効果が得られる。
【００４３】
（第３の実施形態）
本発明の第３の実施形態の構成を、図７を用いて説明する。
【００４４】
基本的な構成は第１の実施形態の構成に加えて、配置装置６００はアクセスログ管理部６０５を有する。配置装置６００はスケジュール管理部６０３を有しない。
【００４５】
端末１１１が有する測定部１２１は、ｐｉｎｇコマンドに代表されるＩＣＭＰ送受信機能を有し、仮想ＰＣサーバのネットワーク応答遅延の測定をする。ネットワークの遅延の測定は、具体的には、自端末から仮想ＰＣサーバに対してｐｉｎｇを実行し、ＩＣＭＰ  ＥＣＨＯパケットの送信から、応答として返却されるＲＥＰＬＹパケットの受信までに要する時間を測定することでネットワークの遅延を計る。
【００４６】
アクセスログ管理部６０５は、ネットワーク応答遅延の測定結果を管理する。
【００４７】
配置制御部６０１は、アクセスログ管理部６０５の管理する情報に基づいて、少ないネットワーク応答遅延である仮想ＰＣサーバを自動的に特定する。特定した仮想ＰＣサーバの周期性から、曜日毎に近傍である可能性の高い仮想ＰＣサーバを割り出す。図１０のアクセスログ処理結果７０３に結果を例示する。これに基づいてスケジュール情報を生成することで仮想ＰＣ配置パターンを生成する。
【００４８】
配置装置６００の動作を図８のフローチャートＳ３００を用いて説明する。
【００４９】
測定部１２１は、一定時間間隔で、利用可能である仮想ＰＣサーバ５０１ないし５１１のネットワーク応答遅延を測定する。端末は得られた測定結果としての時間情報を配置制御部６０１に送信する。配置制御部６０１はアクセスログ管理部６０５に前述の測定結果を記録する（Ｓ３０１）。なおＩＣＭＰパケットが経路上でフィルタされ、あるいはデバイスがＥＣＨＯに応答しないものである場合には、本実施形態に記載の方法を用いることができないので、その場合は後に示す第４の実施形態を用いてもよい。記録した結果が図９に示すアクセスログ７０２である。測定した日時、仮想ＰＣサーバの遅延［ミリ秒］、測定した日時の曜日のフラグを保存するものである。アクセスログ７０２においては２０１２年１月の測定結果が保存されている。
【００５０】
次に、配置制御部６０１は、アクセスログ７０２を読み出し、曜日毎の測定回数を集計する。アクセスログ処理結果７０３の総測定回数（回）に記載した通りである（Ｓ２０２）。
【００５１】
次に、配置制御部６０１は、仮想ＰＣサーバ毎に、ネットワーク応答遅延が相対的に良好であると判定された回数を集計する。一般的には数値の小さい方が良好である。本実施形態においても数値が小さい方を良好と判断する。アクセスログ処理結果７０３の良好判定（回）に集計結果を表示している（Ｓ２０３）。
【００５２】
次に、配置制御部６０１は、仮想ＰＣサーバ毎に、総測定回数（回）に対する、良好判定（回）の割合を計算する。アクセスログ処理結果７０３の良好比率（％）に記載した通りである。
【００５３】
配置制御部６０１は、良好比率（％）が最も高い仮想ＰＣサーバが端末との距離が近いデータセンターであるとみなして、スケジュール情報を生成することで予め曜日ごとの仮想ＰＣ配置パターンを生成し、曜日毎に仮想ＰＣを配置することができる。
【００５４】
（第３の実施形態による効果）
端末が仮想ＰＣにアクセスする際のネットワーク遅延の低減効果が得られるのはもちろんの事、本実施形態では、端末が自ら仮想ＰＣサーバの応答遅延を計測するので、仮想ＰＣ配置パターンの生成にはスケジュール登録を要さず、利用者の負担軽減を図ることができる。
【００５５】
（第４の実施形態）
本発明の第４の実施形態の構成を、図１１を用いて説明する。
【００５６】
基本的な構成は第１の実施形態の構成に加えてさらに、端末１１１が地理的位置特定部１３１を有し、配置装置６００はさらに位置ログ管理部６０６を有する。
【００５７】
地理的位置特定部１３１は、端末１１１の所在する地理的位置を測定する。地理的位置特定部１３１は、具体的にはＧＰＳ受信機などが利用可能であるが、その装置、方法については本願の権利として主張するところではない。測定した地理的位置は端末１１１に通知する。
【００５８】
位置ログ管理部６０６は、地理的位置の測定結果を管理する。
【００５９】
配置制御部６０１は、アクセスログ管理部６０５の管理する情報に基づいて、端末との距離が近い仮想ＰＣサーバを自動的に特定する。特定した仮想ＰＣサーバの周期性から、曜日毎に近傍である可能性の高い仮想ＰＣサーバを割り出す。本実施形態では図１０のアクセスログ処理結果７０３をそのまま流用し、結果を例示する。これに基づいてスケジュール情報を生成することで仮想ＰＣ配置パターンを生成する。
【００６０】
構成管理部６０２は、本実施形態では、地理的位置の情報から、その位置に近い仮想ＰＣサーバがどれであるかを特定するに足りる情報を少なくとも保有する。
【００６１】
配置装置６００の動作を図８のフローチャートＳ３００を用いて説明する。
【００６２】
端末１１１は、一定時間間隔で、地理的位置特定部１３１から地理的位置を取得する。端末は得られた測定結果としての時間情報を配置制御部６０１に送信する。配置制御部６０１は位置ログ管理部６０６に前述の測定結果を記録する（Ｓ３０１）。記録した結果が図１５に示す移動ログ７０４である。測定した日時、仮想ＰＣサーバとの距離[ｋｍ]、測定した日時の曜日のフラグを保存するものである。移動ログ７０４においては２０１２年１月の測定結果が保存されている。
【００６３】
次に、配置制御部６０１は、移動ログ７０４を読み出し、曜日毎の測定回数を集計する。アクセスログ処理結果７０３の総測定回数（回）に記載した通りである（Ｓ２０２）。
【００６４】
次に、配置制御部６０１は、仮想ＰＣサーバ毎に、測定された地理的位置に近いと判定された回数を集計する。一般的には数値の小さい方が良好である。本実施形態においても数値が小さい方を良好と判断する。アクセスログ処理結果７０３の良好判定（回）に集計結果を表示している（Ｓ２０３）。
【００６５】
次に、配置制御部６０１は、仮想ＰＣサーバ毎に、総測定回数（回）に対する、良好判定（回）の割合を計算する。アクセスログ処理結果７０３の良好比率（％）に記載した通りである。
【００６６】
配置制御部６０１は、良好比率（％）が最も高い仮想ＰＣサーバが端末との距離が近いデータセンターであるとみなして、スケジュール情報を生成することで予め曜日ごとの仮想ＰＣ配置パターンを生成し、曜日毎に仮想ＰＣを配置することができる。
【００６７】
（第４の実施形態による効果）
第３の実施形態で得られる効果はもちろんのこと、サーバやネットワークがＩＣＭＰパケットをフィルタしているような環境においても利用できるメリットがある。
【００６８】
（第５の実施形態）
本発明の第５の実施形態の構成を、図１４を用いて説明する。
【００６９】
本実施形態における配置システムは、端末１１１ないし１１３と、仮想ＰＣ２０１ないし２１１を実行する仮想ＰＣサーバ５０１ないし５２２と、データセンター４０１ないし４０３と、配置装置６００と、を有する。
【００７０】
仮想ＰＣサーバ５０１ないし５２２はそれぞれ仮想ＰＣを図示する通り実行している。
【００７１】
データセンター４０１ないし４０３は仮想ＰＣサーバを図示する通り有している。
【００７２】
データセンター４０１ないし４０３はそれぞれ異なるエリア３０１ないし３０３に属する。
【００７３】
図示しない利用者１０１ないし１０３はそれぞれ、端末１１１ないし１１３を利用する。
【００７４】
図示しない利用者１０１ないし１０３およびＡないしＨはそれぞれ、仮想ＰＣ２０１ないし２１１を利用する。
【００７５】
配置装置６００は配置制御部６０１、構成管理部６０２、スケジュール管理部６０３、地図検索部６０４を有する。
【００７６】
構成管理部６０２は、本実施形態では、地理的位置の情報から、その位置に近い仮想ＰＣサーバがどれであるかを特定するに足りる情報を少なくとも保有する。
【００７７】
ところで一般的に仮想ＰＣサーバが実行できる仮想ＰＣの数は有限である。またシンクライアントシステムにおいては仮想ＰＣが使用するＣＰＵ、メモリ、ディスク、ネットワーク帯域はおおむね均一である。従って本実施形態では、仮想ＰＣサーバが同一の能力を有するハードウェアからなるとして、同数の仮想ＰＣを実行できるものとする。本実施形態においては、仮想ＰＣサーバ５０１ないし５２２はそれぞれ仮想ＰＣを２台までホストすることができる能力を有しているものとする。もちろん仮想ＰＣサーバ毎に実行できる仮想ＰＣの数が同数でなくても本願発明の本質には何ら影響がない。
【００７８】
ここで、図１５に示す実行中仮想ＰＣ情報７０８Ａは構成管理部６０２が保有する情報の一部であるが、データセンターそれぞれの仮想ＰＣを実行できる能力である仮想ＰＣキャパシティでは、利用者１０１ないし１０３が利用する合計３個の仮想ＰＣをさらに実行することはできない。なぜならばデータセンター４０２の仮想ＰＣサーバ５１１ないし５１２の空きスペース２９９は、後に記載する通り利用者Ｄの仮想ＰＣをシャットダウンした後であっても、合計で２個しかないからである。従って後述の統計処理による配置調整がなされる。
【００７９】
配置装置６００の動作を図１６のフローチャートＳ５００を用いて説明する。
【００８０】
予め指定された時刻に配置装置６００は実行を開始するものとする点は、第１の実施形態と共通である。指定された時刻とは、例えば午前３時など、多くの利用者の業務が一旦中断していると考えられる時刻であることが望ましい。ここで、利用者１０１ないし１０３およびＡないしＨの業務は午前３時にスケジュールされていないときは、配置制御部６０１はそれぞれの仮想ＰＣについて移動が可能であると判断する。また業務が中断していない利用者の仮想ＰＣは原則として移動をしない。本実施形態の例示では現在時刻は２０１２年１月１８日の午前３時であるとする。
【００８１】
配置制御部６０１は、スケジュール管理部６０３から利用者１０１ないし１０３およびＡないしＨのスケジュール情報である、時間情報と場所情報を取得する（Ｓ５０１）。スケジュール情報は図１７に図示したスケジュール情報７０５に例示する。さらに、翌朝のスケジュール情報のみを抽出し、図１８の記載のスケジュール情報処理結果７０６に例示する通り、スケジュール情報７０５は、利用者毎の場所、利用開始時刻および利用時間の情報に集約される。
【００８２】
配置制御部６０１は、地図検索部６０４に、場所情報から地理的位置を特定させる（Ｓ５０２）。東京はエリア３０１、名古屋はエリア３０２に属するものとする。さらに東京よりは名古屋に近傍である静岡はエリア３０３に属するものとする。ＸＸ本社ビルはエリア３０１に、ＸＸ中部センターはエリア３０２に、静岡ＸＸビルはエリア３０３に属している。即ち利用者１０１ないし１０３及びそれらの端末１１１ないし１０３はデータセンター４０２の仮想ＰＣサーバが近傍であるので、ここへ各々の仮想ＰＣが移動されることができればネットワーク遅延を小さくすることができる。
【００８３】
配置制御部６０１は、翌朝にスケジュール情報が設定されていない利用者の仮想ＰＣをシャットダウンする（Ｓ５０３）。利用者Ｄは２０１２年１月１８日にスケジュールが設定されていない。本実施形態ではスケジュールが無いことはすなわちシンクライアントを使用しないことと同じであるとして、仮想ＰＣは利用されずシャットダウンしても構わないものとしている。仮想ＰＣサーバのキャパシティを空けるためである。利用者Ｄの仮想ＰＣはシャットダウンされ、その結果仮想ＰＣサーバ５１２は空きスペース２９９が追加で１個生じる。仮想ＰＣサーバの、実行中の仮想ＰＣの数は、図１９に示す実行中仮想ＰＣ情報７０８Ｂに例示する通りである。
【００８４】
配置制御部６０１は、端末ごとに移動距離をリストアップする（Ｓ５０４）。本実施形態の例示では、利用者１０１ないし１０３の移動距離が３９５．９ｋｍであり、その他はゼロである。これら利用者のみが移動するスケジュールを持ち、上記距離は移動前後の場所の距離であるからである。
【００８５】
配置制御部６０１は、端末ごとの移動距離を統計処理により適した配置を探索する（Ｓ５０５）。その具体的方法については、後述する。これにより、すべての利用者の仮想ＰＣはより適した配置になるように調整される。
【００８６】
配置制御部６０１は、統計処理により探索された配置に基づき、仮想ＰＣ配置パターンを生成する。さらに生成した仮想ＰＣ配置パターンに従って仮想ＰＣを移動させる。
【００８７】
以上により配置制御部６０１は、仮想ＰＣを移動させることができ、フロー５００は終了する
次に、前述のＳ５０５における統計処理について、図２０に示すフローチャートＳ６００を用いて説明する。
【００８８】
第１に、配置制御部６０１は、利用者１０１ないし１０３の優先度を早い時刻から利用する順に高く評価し、次いで利用する時刻が同じ者同士では長時間利用する順に高く評価する（Ｓ６０１）。図２１の仮想ＰＣ配置情報７０７の優先度に、その実例を示している。その結果利用者１０１が最も優先度が高く（優先度１）、次いで利用者１０２の優先度が高い（優先度２）。利用者１０３および利用者ＡないしＣ、ＦないしＨは次いで優先度が高い（優先度３）。利用者Ｅはもっとも優先度が低い（優先度４）。利用者Ｄには優先度はない。図２１の仮想ＰＣ配置情報７０７においては、順位が１から４まで、利用者それぞれに応じて付与されている。
【００８９】
第２に、配置制御部６０１は、利用者１０１ないし１０３およびＡないしＨのそれぞれの移動距離の、分散×平均がなるべく小さくなるような配置を探索する（Ｓ６０２）。ここで、利用者それぞれの移動距離は、利用者１０１ないし１０３が３９５．９キロメートルであり、その他はゼロである。仮に利用者１０１ないし１０２だけを仮想ＰＣサーバ５１２に移動させたとしても、利用者１０３と仮想ＰＣとの距離は３９５．９キロメートルとなり、利用者１０３だけ不公平に遠い距離の仮想ＰＣを使用せざるを得ない。この点、利用者の移動距離の分散をなるべく小さくするように仮想ＰＣ配置パターンの生成に当たり考慮し、利用者１０３の不公平の解消を図る。分散がゼロに近づけば近づくほど、すべての利用者の仮想ＰＣ距離は同一に近づくので、その結果不公平が小さくなるからである。しかし、たとえ分散が小さくなり利用者間の不公平が小さくなったとしても、その結果すべての利用者の仮想ＰＣが同等に遠隔地に配置されることになっては本願発明の課題解決にならない。従って以下の評価式（１）をなるべく小さくする仮想ＰＣ配置パターンを探索することで、問題の解決を図る。
【００９０】
ｖａｒ（Ｄ）×ａｖｇ（Ｄ）            ・・・（１）
なお式（１）において、ｖａｒ（）は分散を表し、ａｖｇ（）は平均を表し、Ｄは端末と仮想ＰＣの間の距離のリストを表す。
【００９１】
分散と平均の定義は一般的な統計の定義によるものである。これを満たし、かつ順位の高い利用者の仮想ＰＣを優先的に端末に近いデータセンターに配置することとする。評価式を満たす仮想ＰＣ配置パターンの探索は、本願発明においては、仮想ＰＣの配置の場所、個数に制約がある。このような制約を満たしつつ分散を小さくする組み合わせを探索するアルゴリズムは本願発明とは異なる分野において従来から研究されている。小規模なものについては現実的な時間内に十分確度が高い結果が得られるアルゴリズムが提供されているが、超大規模なものについては、必ずしも常に正しい結果が得られるとは限らない。本願発明のシステムの運用形態に即して、ヒューリスティックな手法による有限時間内に妥協解を導出するアルゴリズムを採用してもよい。
【００９２】
結果、利用者１０１および１０２は仮想ＰＣサーバ５１２に配置され、利用者Ｅと１０３の両者の仮想ＰＣを、それぞれ実行する仮想ＰＣサーバを入れ替わり、その他の仮想ＰＣは配置を替えず維持とすることで、分散がより小さくなる。１０３により生成された仮想ＰＣ配置パターンの例を示す。
【００９３】
図２２に、Ｓ５０５により導出された配置について例示する。利用者１０１および１０２の仮想ＰＣ２０１および２０２は、データセンター４０２の仮想ＰＣサーバ５１２に移動する。利用者Ｄの仮想ＰＣ２０７はいずれの仮想ＰＣサーバでも実行されていない。利用者１０３の仮想ＰＣ２０３はデータセンター４０１の仮想ＰＣサーバ５０２で実行されたままであり移動しない。
【００９４】
なお配置においては複数の方法を取りうる。基本的には、仮想ＰＣサーバが管理する仮想ＰＣのイメージファイルをコピーする。しかしディスク、ネットワークへの負荷が大きいことから仮想ＰＣのディスクイメージをエリア毎に配置したマスター仮想ＰＣと利用者数分の差分ディスクとに分けて管理し、差分ディスクのみをコピーすることも可能である。この差分の管理の技術は既存の複製技術（ＶＭｗａｒｅ社リンクド・クローン等）を取ることで対応可能なので説明を省く。
【００９５】
すべての仮想ＰＣを常に最近傍の仮想ＰＣサーバが実行できるとは限らないため、このように利用者間の利用時間等を考慮し、それぞれ遅延がなるべく少なくなるようにしている。
【００９６】
（第５の実施形態による効果）
本実施形態により利用者が移動して異なる離れた場所からアクセスする場合において、利用者間の優先度を考慮し、状況に応じて適したネットワーク環境を得られる配置を行い、全体としてネットワーク遅延を極小化する結果となる。
【図面の簡単な説明】
【００９７】
【図１】第１の実施形態における構成の概略図である。
【図２】第１の実施形態における配置制御部の動作を説明するフローチャートである。
【図３】第１の実施形態における利用者のスケジュール情報である。
【図４】第２の実施形態における構成の概略図である。
【図５】第２の実施形態における利用者のスケジュール情報である。
【図６】第２の実施形態における配置制御部の動作を説明するフローチャートである。
【図７】第３の実施形態における構成の概略図である。
【図８】第３の実施形態における配置制御部の動作を説明するフローチャートである。
【図９】第３の実施形態におけるアクセスログ情報の例である。
【図１０】第３の実施形態におけるアクセスログ情報を処理した結果である。
【図１１】第４の実施形態における構成の概略図である。
【図１２】第４の実施形態における配置制御部の動作を説明するフローチャートである。
【図１３】第４の実施形態における移動ログ情報の例である。
【図１４】第５の実施形態における構成の概略図である。
【図１５】第５の実施形態における実行中仮想ＰＣ情報である。
【図１６】第５の実施形態における配置制御部の動作を説明するフローチャートである。
【図１７】第５の実施形態における利用者のスケジュール情報である。
【図１８】第５の実施形態における利用者のスケジュール情報の処理結果である。
【図１９】第５の実施形態における実行中仮想ＰＣ情報である。
【図２０】第５の実施形態における統計処理の動作を説明するフローチャートである。
【図２１】第５の実施形態における仮想ＰＣ配置情報である。
【図２２】第５の実施形態における動作後の構成の概略図である
【符号の説明】
【００９８】
１０１  利用者
１０２  利用者
１０３  利用者
１１１  端末
１１２  端末
１１３  端末
１２１  測定部
１３１  地理的位置特定部
２０１  利用者１０１用仮想ＰＣ
２０２  利用者１０２用仮想ＰＣ
２０３  利用者１０３用仮想ＰＣ
２０４  利用者Ａ用仮想ＰＣ
２０５  利用者Ｂ用仮想ＰＣ
２０６  利用者Ｃ用仮想ＰＣ
２０７  利用者Ｄ用仮想ＰＣ
２０８  利用者Ｅ用仮想ＰＣ
２０９  利用者Ｆ用仮想ＰＣ
２１０  利用者Ｇ用仮想ＰＣ
２１１  利用者Ｈ用仮想ＰＣ
３０１  エリア
３０２  エリア
３０３  エリア
４０１  データセンター
４０２  データセンター
４０３  データセンター
５０１  仮想ＰＣサーバ
５０２  仮想ＰＣサーバ
５１１  仮想ＰＣサーバ
５１２  仮想ＰＣサーバ
５２１  仮想ＰＣサーバ
５２２  仮想ＰＣサーバ
６００  配置装置
６０１  配置制御部
６０２  構成管理部
６０３  スケジュール部
６０４  地図検索部
６０５  アクセスログ管理部
６０６  位置ログ管理部
【図１】
0005924076.tif 000002
【図２】
0005924076.tif 000003
【図３】
0005924076.tif 000004
【図４】
0005924076.tif 000005
【図５】
0005924076.tif 000006
【図６】
0005924076.tif 000007
【図７】
0005924076.tif 000008
【図８】
0005924076.tif 000009
【図９】
0005924076.tif 000010
【図１０】
0005924076.tif 000011
【図１１】
0005924076.tif 000012
【図１２】
0005924076.tif 000013
【図１３】
0005924076.tif 000014
【図１４】
0005924076.tif 000015
【図１５】
0005924076.tif 000016
【図１６】
0005924076.tif 000017
【図１７】
0005924076.tif 000018
【図１８】
0005924076.tif 000019
【図１９】
0005924076.tif 000020
【図２０】
0005924076.tif 000021
【図２１】
0005924076.tif 000022
【図２２】
0005924076.tif 000023