(57)【特許請求の範囲】
【請求項１】
ＶＭ（仮想マシン）を動作させるハイパーバイザと、
ＡＰＰ（アプリケーションソフトウェア）の起動要求を入力する入力部と、
前記入力部が前記起動要求を入力すると、前記ＡＰＰと、前記ＡＰＰを動作させるＶＭであるＡＰＰ用ＶＭであって、前記ハイパーバイザで動作するＡＰＰ用ＶＭとを通信サーバからネットワークを介して取得する通信部と、
前記通信部が取得した前記ＡＰＰ用ＶＭを前記ハイパーバイザで動作させるとともに、前記ＡＰＰを前記ＡＰＰ用ＶＭで動作させる制御部と
を備えることを特徴とする通信端末。
【請求項２】
前記入力部は、前記ＡＰＰの終了要求を入力し、
前記制御部は、前記入力部が前記終了要求を入力すると、前記ＡＰＰと前記ＡＰＰ用ＶＭとを削除する
ことを特徴とする請求項１に記載の通信端末。
【請求項３】
前記通信部は、前記入力部が前記終了要求を入力すると、前記ＡＰＰで入力されたデータを前記通信サーバへ送信し、
前記制御部は、前記通信部が前記データを前記通信サーバへ送信し終えると、通信端末内に記憶された前記データを削除するとともに、前記ＡＰＰと前記ＡＰＰ用ＶＭとを削除する
ことを特徴とする請求項２に記載の通信端末。
【請求項４】
前記通信端末は、無線通信により基地局を経由して通信し、
前記通信部は、接続される基地局に応じた通信サーバから前記ＡＰＰと前記ＡＰＰ用ＶＭとを取得する
ことを特徴とする請求項１から３までのいずれかに記載の通信端末。
【請求項５】
前記ＡＰＰは、前記通信サーバと協調して動作し、接続される基地局が変わった場合には、新たに接続される基地局に応じた通信サーバと協調して動作する
ことを特徴とする請求項４に記載の通信端末。
【請求項６】
前記ＡＰＰは、前記通信サーバと協調して動作し、
前記入力部は、前記ＡＰＰを前記通信サーバから独立して使用する独立使用要求を入力し、
前記通信部は、前記入力部が前記独立使用要求を入力すると、独立して使用するために必要なデータを前記通信サーバから取得する
ことを特徴とする請求項１から５までのいずれかに記載の通信端末。
【請求項７】
前記制御部は、所定の状態になると、前記ＡＰＰの動作状態を維持したまま、前記ＡＰＰと前記ＶＭとを前記通信サーバへ移動させ、前記所定の状態でなくなると、前記ＡＰＰの動作状態を維持したまま、前記ＡＰＰと前記ＶＭとを前記通信サーバから再び通信端末へ移動させる
ことを特徴とする請求項１から６までのいずれかに記載の通信端末。
【請求項８】
前記通信端末は、さらに、
管理端末から指示を受けて、前記ＡＰＰと前記ＡＰＰ用ＶＭとを削除する遠隔管理部
を備えることを特徴とする請求項１から７までのいずれかに記載の通信端末。
【請求項９】
複数の通信サーバを備える通信システムであり、
前記通信サーバは、
ＶＭ（仮想マシン）を動作させるハイパーバイザを有する通信端末から、ＡＰＰ（アプリケーションソフトウェア）の取得要求を受信する受信部と、
前記受信部が前記取得要求を受信すると、前記ＡＰＰと、前記ＡＰＰを動作させるＶＭであるＡＰＰ用ＶＭであって、前記ハイパーバイザで動作するＡＰＰ用ＶＭとを前記通信端末へ送信して、前記ＡＰＰ用ＶＭを前記ハイパーバイザで動作させるとともに、前記ＡＰＰを前記ＡＰＰ用ＶＭで動作させる送信部と
を備え、
前記通信端末は、無線通信により基地局を経由して通信し、
前記複数の通信サーバのうち、前記通信端末が接続される基地局に応じた通信サーバの送信部が前記ＡＰＰと前記ＡＰＰ用ＶＭとを前記通信端末へ送信し、
前記ＡＰＰは、前記通信端末が接続される基地局に応じた通信サーバと協調して動作し、
各通信サーバは、さらに、
前記通信端末が接続される基地局が変わった場合には、前記ＡＰＰとの処理に関する情報を新たに接続される基地局に応じた新たな通信サーバへ送信し、前記新たな通信サーバに前記ＡＰＰと協調して動作させる処理転送部
を備えることを特徴とする通信システム。
【請求項１０】
前記ＡＰＰは、前記通信端末が接続される基地局に応じた通信サーバと協調して動作し、
前記受信部は、前記ＡＰＰを前記通信サーバから独立して使用する独立使用要求を受信し、
前記送信部は、前記受信部が前記独立使用要求を受信すると、独立して使用するために必要なデータを前記通信端末へ送信する
ことを特徴とする請求項９に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アプリケーションソフトウェア（以下、ＡＰＰ）を実行する通信端末と、通信端末へＡＰＰを提供する通信サーバとに関する。
【背景技術】
【０００２】
通信端末側で行う多くの処理を通信サーバ側で実行させるシンクライアントと呼ばれる通信システムがある。シンクライアントでは、通信サーバ側にデータを保持するため、セキュリティが高い。また、シンクライアントでは、ＡＰＰを通信サーバ側で保持しているため、ＡＰＰのバージョンアップ等の保守が容易である。
しかし、シンクライアントでは、通信端末と通信サーバとの間の通信量が多く、インターネット環境やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）環境で使用することは難しい。
【０００３】
特許文献１には、通信端末の利用環境に応じて、シンクライアントの方式をネットワークブート方式や画面転送方式に切り替えることについての記載がある。これにより、利用環境に応じて、通信端末と通信サーバとの間の通信量を抑えている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】再表２００９−１２２５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されたように、利用環境に応じてシンクライアントの方式を切り替えたとしても、依然として通信端末と通信サーバとの間の通信量が多く、インターネット環境やＷＡＮ環境で使用することは難しい。
この発明は、安全性を維持しつつ、通信端末と通信サーバとの間の通信量を減らすことを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る通信端末は、
ＶＭ（仮想マシン）を動作させるハイパーバイザと、
ＡＰＰ（アプリケーションソフトウェア）の起動要求を入力する入力部と、
前記入力部が前記起動要求を入力すると、前記ＡＰＰと、前記ＡＰＰを動作させるＶＭであるＡＰＰ用ＶＭであって、前記ハイパーバイザで動作するＡＰＰ用ＶＭとを通信サーバからネットワークを介して取得する通信部と、
前記通信部が取得した前記ＡＰＰ用ＶＭを前記ハイパーバイザで動作させるとともに、前記ＡＰＰを前記ＡＰＰ用ＶＭで動作させる制御部と
を備えることを特徴とする。
【０００７】
前記入力部は、前記ＡＰＰの終了要求を入力し、
前記制御部は、前記入力部が前記終了要求を入力すると、前記ＡＰＰと前記ＡＰＰ用ＶＭとを削除する
ことを特徴とする。
【０００８】
前記通信部は、前記入力部が前記終了要求を入力すると、前記ＡＰＰで入力されたデータを前記通信サーバへ送信し、
前記制御部は、前記通信部が前記データを前記通信サーバへ送信し終えると、通信端末内に記憶された前記データを削除するとともに、前記ＡＰＰと前記ＡＰＰ用ＶＭとを削除する
ことを特徴とする。
【０００９】
前記通信端末は、無線通信により基地局を経由して通信し、
前記通信部は、接続される基地局に応じた通信サーバから前記ＡＰＰと前記ＡＰＰ用ＶＭとを取得する
ことを特徴とする。
【００１０】
前記ＡＰＰは、前記通信サーバと協調して動作し、接続される基地局が変わった場合には、新たに接続される基地局に応じた通信サーバと協調して動作する
ことを特徴とする。
【００１１】
前記ＡＰＰは、前記通信サーバと協調して動作し、
前記入力部は、前記ＡＰＰを前記通信サーバから独立して使用する独立使用要求を入力し、
前記通信部は、前記入力部が前記独立使用要求を入力すると、独立して使用するために必要なデータを前記通信サーバから取得する
ことを特徴とする。
【００１２】
前記制御部は、所定の状態なると、前記ＡＰＰの動作状態を維持したまま、前記ＡＰＰと前記ＶＭとを前記通信サーバへ移動させ、前記所定の状態でなくなると、前記ＡＰＰの動作状態を維持したまま、前記ＡＰＰと前記ＶＭとを前記通信サーバから再び通信端末へ移動させる
ことを特徴とする。
【００１３】
前記通信端末は、さらに、
管理端末から指示を受けて、前記ＡＰＰと前記ＡＰＰ用ＶＭとを削除する遠隔管理部
を備えることを特徴とする。
【００１４】
この発明に係る通信サーバは、
ＶＭ（仮想マシン）を動作させるハイパーバイザを有する通信端末から、ＡＰＰ（アプリケーションソフトウェア）の取得要求を受信する受信部と、
前記受信部が前記取得要求を受信すると、前記ＡＰＰと、前記ＡＰＰを動作させるＶＭであるＡＰＰ用ＶＭであって、前記ハイパーバイザで動作するＡＰＰ用ＶＭとを前記通信端末へ送信して、前記ＡＰＰ用ＶＭを前記ハイパーバイザで動作させるとともに、前記ＡＰＰを前記ＡＰＰ用ＶＭで動作させる送信部と
を備えることを特徴とする。
【００１５】
この発明に係る通信システムは、
上記通信サーバを複数備える通信システムであり、
前記通信端末は、無線通信により基地局を経由して通信し、
複数の通信サーバのうち、前記通信端末が接続される基地局に応じた通信サーバの送信部が前記ＡＰＰと前記ＡＰＰ用ＶＭとを前記通信端末へ送信する
ことを特徴とする。
【００１６】
前記ＡＰＰは、前記通信端末が接続される基地局に応じた通信サーバと協調して動作し、
各通信サーバは、さらに、
前記通信端末が接続される基地局が変わった場合には、前記ＡＰＰとの処理に関する情報を新たに接続される基地局に応じた新たな通信サーバへ送信し、前記新たな通信サーバに前記ＡＰＰと協調して動作させる処理転送部
を備えることを特徴とする。
【００１７】
前記ＡＰＰは、前記通信端末が接続される基地局に応じた通信サーバと協調して動作し、
前記受信部は、前記ＡＰＰを前記通信サーバから独立して使用する独立使用要求を受信し、
前記送信部は、前記受信部が前記独立使用要求を受信すると、独立して使用するために必要なデータを前記通信端末へ送信する
ことを特徴とする。
【００１８】
この発明に係る通信システムは、
通信端末と通信サーバとを備える通信システムであり、
前記通信端末は、
ＶＭ（仮想マシン）を動作させるハイパーバイザと、
ＡＰＰ（アプリケーションソフトウェア）の起動要求を入力する入力部と
を備え、
前記通信サーバは、
前記入力部が入力した前記取得要求を受信する受信部と、
前記受信部が前記取得要求を受信すると、前記ＡＰＰと、前記ＡＰＰを動作させるＶＭであるＡＰＰ用ＶＭであって、前記ハイパーバイザで動作するＡＰＰ用ＶＭとを前記通信端末へ送信する送信部と
を備え、
前記通信端末は、さらに、
前記送信部が送信した前記ＡＰＰと前記ＡＰＰ用ＶＭとを取得する通信部と、
前記通信部が取得した前記ＡＰＰ用ＶＭを前記ハイパーバイザで動作させるとともに、前記ＡＰＰを前記ＡＰＰ用ＶＭで動作させる制御部と
を備えることを特徴とする。
【発明の効果】
【００１９】
この発明に係る通信端末では、ＡＰＰを使用する場合、ＡＰＰ用ＶＭ及びＡＰＰを通信サーバから取得する。そのため、通信端末側で多くの処理を行うことができ、シンクライアントに比べ、通信端末と通信サーバとの間の通信量を減らすことができる。また、ＡＰＰをＶＭ上で動作させるため、ＡＰＰをＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）へインストールする方式に比べ安全性が高い。
【図面の簡単な説明】
【００２０】
【図１】実施の形態１に係る通信システム１００の構成図。
【図２】実施の形態１に係る通信システム１００の動作を示すフローチャート。
【図３】実施の形態２に係る通信システム１００の構成図。
【図４】実施の形態３に係る通信システム１００の動作を示すフローチャート。
【図５】実施の形態４に係る通信システム１００の動作を示すフローチャート。
【図６】実施の形態５に係る通信システム１００の構成図。
【図７】実施の形態５に係る通信システム１００の動作を示すフローチャート。
【図８】通信端末１０、通信サーバ２０のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００２１】
実施の形態１．
図１は、実施の形態１に係る通信システム１００の構成図である。
実施の形態１に係る通信システム１００は、通信端末１０と通信サーバ２０とを備える。
【００２２】
通信端末１０は、例えば、スマートフォン、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等である。但し、通信端末１０は、一般的なＯＳがインストールされ、ＯＳにＡＰＰがインストールされる端末ではなく、ハイパーバイザ１１が導入された端末である。通信端末１０は、ハイパーバイザ１１で動作する複数のＶＭ１２が導入され、各ＶＭ１２上でＡＰＰ等のソフトウェア１３が動作する。
通信端末１０は、ＶＭ１２及びソフトウェア１３として、制御用ＶＭ及び制御ＰＧ（以下、制御部）と、通信用ＶＭ及び通信ＰＧ（以下、通信部）と、ＡＰＩ用ＶＭ及びＡＰＩＰＧ（以下、入力部）と、複数のＡＰＰ用ＶＭ及びＡＰＰとが導入されている。なお、各ＡＰＰ用ＶＭ及びＡＰＰ以外は、予め通信端末１０に導入されたものであり、各ＡＰＰ用ＶＭ及びＡＰＰは、後述するように通信サーバ２０からダウンロードされたものである。
【００２３】
通信サーバ２０は、通信端末１０とネットワークを介して接続され、通信端末１０へＡＰＰを提供する。特に、通信サーバ２０は、ＡＰＰを提供する場合、ＡＰＰ用ＶＭと、ＡＰＰ用ＶＭ上で動作するＡＰＰとを通信端末１０へ提供する。
通信サーバ２０は、通信端末１０からデータを受信する受信部２１、記憶部２４からＡＰＰを検索する処理等を行う処理部２２、通信端末１０へデータを送信する送信部２３、ＡＰＰ用ＶＭやＡＰＰ等を記憶した記憶部２４を備える。
【００２４】
図２は、実施の形態１に係る通信システム１００の動作を示すフローチャートである。
（Ｓ１１：起動要求入力処理）
通信端末１０の入力部は、入力装置により、所定のＡＰＰの起動要求を入力する。
例えば、通信端末１０がスマートフォンであれば、入力部は、利用者がタッチパネルを操作したことに応じて、起動要求を入力する。また、通信端末１０がモバイルＰＣであれば、入力部は、利用者がキーボード等を操作したことに応じて、起動要求を入力する。
【００２５】
（Ｓ１２：取得処理）
通信端末１０の通信部は、Ｓ１１で入力された起動要求で指定されたＡＰＰの取得要求を、ネットワークを介して通信サーバ２０へ送信する。
すると、通信サーバ２０の受信部２１が取得要求を受信し、処理部２２がＡＰＰ用ＶＭ及びＡＰＰを記憶部２４から読み出し、送信部２３がＡＰＰ用ＶＭ及びＡＰＰを通信端末１０へ送信する。
そして、通信端末１０の通信部は、送信されたＡＰＰ用ＶＭ及びＡＰＰを取得する。
【００２６】
（Ｓ１３：起動処理）
通信端末１０の制御部は、Ｓ１２で取得したＡＰＰ用ＶＭをハイパーバイザ１１上で動作させ、さらにＡＰＰをＡＰＰ用ＶＭ上で動作させる。
【００２７】
（Ｓ１４：実行処理）
Ｓ１３で起動されたＡＰＰ用ＶＭ及びＡＰＰは、処理を実行する。ここでは、ＡＰＰは、通信サーバ２０側のソフトウェアと協調動作する。つまり、利用者からの入力に基づき、一部の処理を通信端末１０側で行い、残りの処理を通信サーバ２０側で行う。
ＡＰＰは、利用者から入力される入力データに従い、処理を行い出力データを出力する。出力データは、すぐに通信サーバ２０へ送信される、あるいは、一時的に通信端末１０内の記憶装置に記憶され、その後通信サーバ２０へ送信され、送信された後削除される。
すると、通信サーバ２０へ送信された出力データは、記憶部２４に記憶される。この際、出力データは、利用者の識別情報やＡＰＰの識別情報とともに記憶され、後にその利用者やそのＡＰＰで利用できるようにされる。
【００２８】
（Ｓ１５：終了要求入力処理）
通信端末１０の入力部は、入力装置により、Ｓ１３で起動したＡＰＰの終了要求を入力する。入力の方法は、Ｓ１１における起動要求の場合と同じである。
【００２９】
（Ｓ１６：データ送信処理）
通信端末１０の通信部は、Ｓ１４でＡＰＰから出力された出力データのうち、通信端末１０内の記憶装置に記憶されている出力データを通信サーバ２０へ送信する。
【００３０】
（Ｓ１７：終了処理）
通信端末１０の制御部は、Ｓ１３で起動されたＡＰＰ用ＶＭ及びＡＰＰを削除する。また、制御部は、Ｓ１４で利用者から入力された入力データやＡＰＰから出力された出力データ等、ＡＰＰの処理実行時に発生したデータを削除する。
【００３１】
以上のように、実施の形態１に係る通信システム１００では、通信端末１０がハイパーバイザ１１を備えており、通信端末１０がＡＰＰを実行する場合、ハイパーバイザ１１で動作するＡＰＰ用ＶＭと、そのＡＰＰ用ＶＭで動作するＡＰＰとをダウンロードする。そして、通信端末１０側でＡＰＰが起動され、処理が実行される。
そのため、シンクライアントのように、ＡＰＰによる処理を実行する際、常時大量の通信を行うことなく、ＡＰＰによる処理を実行できる。
【００３２】
また、ＡＰＰでの処理の終了時には、出力データを通信サーバ２０へアップロードした上で、通信端末１０からＡＰＰの処理実行時に発生したデータを削除する。
そのため、通信端末１０には、ＡＰＰの処理実行時に発生したデータが残らず、通信端末１０からデータが漏洩することがない。特に、ＡＰＰはＡＰＰ用ＶＭ上で動作しているため、ＡＰＰにより発生したデータを容易に特定することが可能であり、ＡＰＰの処理実行時に発生したデータ確実に削除できる。
【００３３】
また、ＡＰＰは、ＡＰＰ用ＶＭ上で動作しており、ＡＰＰ及びＡＰＰ用ＶＭを削除することにより、通信端末１０からＡＰＰは完全に削除される。つまり、ＯＳへＡＰＰをインストールする場合には、ＡＰＰをインストールすることにより、ＯＳへ情報の書込みが行われてしまう。しかし、ＡＰＰ用ＶＭ上でＡＰＰを動作させるため、ＡＰＰにより通信端末１０内へ情報が書き込まれることもない。したがって、ＡＰＰ及びＡＰＰ用ＶＭを削除することにより、通信端末１０からＡＰＰを完全に削除できる。
例えば、ＡＰＰがウイルスに感染した場合であっても、単純にＡＰＰ及びＡＰＰ用ＶＭを削除することにより、通信端末１０からウイルスを除去することができる。
【００３４】
また、シンクライアントの場合と同様に、ＡＰＰは通信サーバ２０側で管理されているため、ＡＰＰのバージョンアップ等の保守作業を容易に行うことができる。
【００３５】
また、ＡＰＰは、通信サーバ２０側のソフトウェアと協調動作する。そのため、全ての機能をＡＰＰとしてダウンロードする必要がないので、ＡＰＰのサイズが小さくなり、ＡＰＰ起動時にかかる時間（ＡＰＰの起動要求を入力してからＡＰＰが起動するまでの時間）を短縮できる。また、一部の処理を通信サーバ２０側で実行するため、よりセキュリティを高くすることができる。
【００３６】
なお、通信端末１０がスマートフォンであれば、ＡＰＰ用ＶＭやＡＰＰのサイズは高々数Ｍｂｙｔｅ程度である。したがって、ＡＰＰ起動時にかかる時間も十分使用に耐えうる時間とすることができる。
【００３７】
また、通信システム１００は、図１に示す実施の形態１に係る通信システム１００の構成に加え、遠隔端末４０を備え、通信端末１０は、管理用ＶＭ及び管理ＰＧ（以下、管理部）が導入されているとしてもよい。この場合、遠隔端末４０は、システムの管理者等が使用する端末であり、通信端末１０に導入された管理部へ指示を出す。通信端末１０の管理部は、遠隔端末４０からの指示に従い、処理を実行する。
例えば、例えば、ＡＰＰ用ＶＭやＡＰＰにバグがある場合や、ＡＰＰに問題（ウイルス感染等）がある場合、遠隔端末４０は、通信端末１０へ指示を出し、通信端末１０の管理部は、指示を受けるとＡＰＰ用ＶＭ及びＡＰＰを削除する。そして、通信端末１０の通信部が、バグや問題のないＡＰＰ用ＶＭ及びＡＰＰを再びダウンロードする。
【００３８】
また、制御部や管理部を、業務用と個人用とで別に導入するようにしてもよい。そして、業務用と個人用とで制御できるＡＰＰ用ＶＭ及びＡＰＰを分けておいてもよい。これにより、業務用のＡＰＰと、個人用のＡＰＰとを分けて管理可能となる。
【００３９】
実施の形態２．
実施の形態１では、通信端末１０が移動することを考慮していなかった。実施の形態２では、通信端末１０が移動する場合について説明する。
【００４０】
図３は、実施の形態２に係る通信システム１００の構成図である。
実施の形態２に係る通信システム１００は、通信端末１０と、複数の通信サーバ２０とを備える。なお、ここでは、通信システム１００は、通信端末１０が通信を行う場合に接続される各基地局に通信サーバ２０を備えているとする。
【００４１】
図２におけるＳ１２の処理について説明する。
通信端末１０の通信部は、Ｓ１１で入力された起動要求で指定されたＡＰＰの取得要求を、ネットワークを介して通信サーバ２０へ送信する。この際、複数の通信サーバ２０のうち、通信端末１０が接続された基地局に設けられた通信サーバ２０を、ＡＰＰ等をダウンロードする対向サーバとし、取得要求は、その通信サーバ２０へ送信される。
すると、基地局に設けられた通信サーバ２０の受信部２１が取得要求を受信し、処理部２２がＡＰＰ用ＶＭ及びＡＰＰを記憶部２４から読み出し、送信部２３がＡＰＰ用ＶＭ及びＡＰＰを通信端末１０へ送信する。
そして、通信端末１０の通信部は、送信されたＡＰＰ用ＶＭ及びＡＰＰを取得する。
【００４２】
以上のように、実施の形態２に係る通信システム１００では、通信端末１０が接続された基地局に設けられた通信サーバ２０から、ＡＰＰ用ＶＭ及びＡＰＰをダウンロードする。最低限のサーバのみを経由してＡＰＰ用ＶＭ及びＡＰＰをダウンロードするため、ネットワークへの負荷を最小限に抑えることができる。
【００４３】
なお、上記説明では、基地局に通信サーバ２０が備えられているとした。しかし、通信サーバ２０は、基地局とは異なる位置に設置されていてもよい。また、基地局と通信サーバ２０とは１対１に設けられていなくてもよく、複数の基地局に対して１つの通信サーバ２０が設けられていてもよい。これらの場合であっても、通信端末１０は、接続された基地局に対応する通信サーバ２０を対向サーバとすればよい。
【００４４】
実施の形態３．
実施の形態２では、通信端末１０が移動する場合に、接続先の基地局に応じた通信端末１０からＡＰＰ等をダウンロードすることについて説明した。実施の形態３では、通信端末１０が処理を実行している最中に通信端末１０が移動して、接続される基地局が変更された場合について説明する。
なお、ここでは、ＡＰＰは、通信サーバ２０側のソフトウェアと協調動作するものとする。特に、ここでは、通信サーバ２０側も、ハイパーバイザを備えており、ハイパーバイザ上でＡＰＰ用ＶＭ（以下、ＡＰＰ用ＶＭ＿Ｓ）が動作し、そのＡＰＰ用ＶＭ＿Ｓ上でＡＰＰ（以下、ＡＰＰ＿Ｓ）が動作しているものとする。そして、通信端末１０側のＡＰＰ用ＶＭ（以下、ＡＰＰ用ＶＭ＿Ｔ）で動作するＡＰＰ（以下、ＡＰＰ＿Ｔ）と、通信サーバ２０側のＡＰＰとが協調して動作する。
【００４５】
実施の形態３に係る通信システム１００の構成は、図３に示す実施の形態２に係る通信システム１００の構成と同じである。
【００４６】
図４は、実施の形態３に係る通信システム１００の動作を示すフローチャートであり、図２におけるＳ１４で処理を実行している最中に通信端末１０が移動して、接続される基地局が変更された場合の動作を示すフローチャートである。
（Ｓ２１：基地局特定処理）
通信端末１０の通信部は、接続先の基地局を特定する。
なお、接続先の基地局を特定する方法は、従来用いられているどの方法であっても構わない。
【００４７】
（Ｓ２２：変更判定処理）
通信端末１０の制御部は、接続先の基地局が変更になったか否かを判定する。
変更になっていない場合（Ｓ２２でＮＯ）、処理をＳ２３へ進める。一方、変更になった場合（Ｓ２２でＹＥＳ）、処理をＳ２４へ進める。
【００４８】
（Ｓ２３：継続処理）
ＡＰＰ＿Ｔは、これまでの対向サーバである通信サーバ２０で動作するＡＰＰ＿Ｓと、継続して処理を実行する。
そして、通信端末１０は、処理をＳ２１へ戻し、所定の時間経過後、再び接続先の基地局の特定を行う。
【００４９】
（Ｓ２４：移行処理）
通信端末１０の通信部は、新しい基地局に対応する通信サーバ２０を新しい対向サーバ（以下、新対向サーバ）として接続する。
並行して、これまでの対向サーバである通信サーバ２０（以下、旧対向サーバ）の送信部２３（処理転送部）は、新対向サーバへ、ＡＰＰ用ＶＭ＿Ｓ及びＡＰＰ＿Ｓを現在の状態を維持したまま移動（ライブマイグレーション）させる。その結果、新対向サーバでは、ＡＰＰ用ＶＭ＿Ｓ及びＡＰＰ＿Ｓが、旧対向サーバで動作していた状態を維持したまま動作する。
【００５０】
（Ｓ２５：再開処理）
ＡＰＰ＿Ｔは、新対向サーバで動作するＡＰＰ＿Ｓと協調した動作を再開する。
そして、通信端末１０は、処理をＳ２１へ戻し、所定の時間経過後、再び接続先の基地局の特定を行う。
【００５１】
以上のように、実施の形態３に係る通信システム１００では、処理を実行している最中に通信端末１０が移動して、接続される基地局が変更された場合、新しい基地局に対応する通信サーバ２０と協調して処理を行う。これにより、最低限のサーバのみを経由して処理を行うため、データ伝送における遅延を最小限に抑えることができる。
【００５２】
特に、通信サーバ２０側でもＶＭ上でＡＰＰを動作させているため、状態を維持したまま他の通信サーバ２０へＡＰＰを移動させることを容易に行うことができる。
【００５３】
なお、対向サーバが新しい通信サーバ２０へ移動する場合、ＡＰＰ＿Ｓの移動が終わるまで、ＡＰＰ＿Ｔの操作をできない状態としておいてもよい。そして、新しい通信サーバ２０から移動が完了した旨の通知を通信端末１０へ送り、通信端末１０が通知を受け取ってから、ＡＰＰ＿Ｔの操作をできる状態としてもよい。
【００５４】
実施の形態４．
実施の形態３では、ＡＰＰ＿ＴがＡＰＰ＿Ｓと協調して動作する場合に、通信端末１０が移動するのに合わせて対向サーバを移動させることを説明した。実施の形態４では、一時的にＡＰＰ＿ＴをＡＰＰ＿Ｓから独立して動作させる方法について説明する。
【００５５】
例えば、社内等でＡＰＰ＿Ｔを用いて業務を行っている場合に、自宅でＡＰＰ＿Ｔを用いて業務を継続して行いたい場合がある。この場合、自宅が通信エリア外の場合や、自宅では十分な通信速度を得られない場合がある。このような場合には、ＡＰＰ＿ＴとＡＰＰ＿Ｓとを協調して動作させると、ＡＰＰ＿Ｔを用いた業務の継続が難しくなってしまう。
そこで、この場合に、一時的にＡＰＰ＿ＴをＡＰＰ＿Ｓから独立して動作させる。
【００５６】
実施の形態４に係る通信システム１００の構成は、図１に示す実施の形態１に係る通信システム１００の構成、又は、図３に示す実施の形態２に係る通信システム１００の構成と同じである。
【００５７】
図５は、実施の形態４に係る通信システム１００の動作を示すフローチャートであり、一時的にＡＰＰ＿ＴをＡＰＰ＿Ｓから独立して動作させる場合の動作を示すフローチャートである。
（Ｓ３１：独立使用要求入力処理）
通信端末１０の入力部は、入力装置により、ＡＰＰ＿Ｔの独立使用要求を入力する。入力の方法は、図２に示すＳ１１における起動要求の場合と同じである。
【００５８】
（Ｓ３２：取得処理）
通信端末１０の通信部は、Ｓ３１で入力された独立使用要求で指定されたＡＰＰ＿Ｔを、独立して使用するために必要なデータや追加機能の取得要求を、ネットワークを介して通信サーバ２０へ送信する。
すると、通信サーバ２０の受信部２１が取得要求を受信し、処理部２２が必要なデータと、ＡＰＰ＿Ｔの必要な追加機能とを記憶部２４から読み出し、送信部２３がデータとＳＰＰ＿Ｔの追加機能とを通信端末１０へ送信する。
そして、通信端末１０の通信部は、送信されたデータとＡＰＰ＿Ｔの追加機能とを取得する。
【００５９】
（Ｓ３３：起動要求入力処理）
通信端末１０の入力部は、入力装置により、ＡＰＰ＿Ｔの起動要求を入力する。入力の方法は、図２に示すＳ１１における起動要求の場合と同じである。
【００６０】
（Ｓ３４：要件判定処理）
通信端末１０の制御部は、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等を用いて、通信端末１０の位置を示す位置情報を取得する。
そして、制御部は、位置情報が示す位置が、予め定められた許可エリア内であるか否かを判定する。許可エリア内である場合（Ｓ３４でＹＥＳ）、処理をＳ３５へ進める。一方、許可エリア外である場合（Ｓ３４でＮＯ）、処理を終了する。
【００６１】
（Ｓ３５：起動処理）
通信端末１０の制御部は、ＡＰＰ＿Ｔ用ＶＭをハイパーバイザ１１上で動作させ、さらにＳ３２で取得した追加機能が追加されたＡＰＰ＿ＴをＡＰＰ＿Ｔ用ＶＭ上で動作させる。
【００６２】
（Ｓ３６：実行処理）
Ｓ３５で起動されたＡＰＰ＿Ｔ用ＶＭ及びＡＰＰ＿Ｔは、処理を実行する。ここでは、ＡＰＰ＿Ｔは、ＡＰＰ＿Ｓと協調して動作せず、独立して動作する。また、ＡＰＰから出力された出力データは、通信端末１０内の記憶装置に記憶される。
【００６３】
（Ｓ３７：終了要求入力処理）
通信端末１０の入力部は、入力装置により、Ｓ３５で起動したＡＰＰ＿Ｔの終了要求を入力する。入力の方法は、図１に示すＳ１１における起動要求の場合と同じである。
【００６４】
（Ｓ３８：終了処理）
通信端末１０の制御部は、Ｓ３５で起動されたＡＰＰ＿Ｔ用ＶＭ及び追加機能を含むＡＰＰ＿Ｔを削除する。なお、ここでは、出力データは削除されない。
【００６５】
（Ｓ３９：接続判定処理）
通信端末１０の制御部は、基地局に接続されたか否かを判定する。基地局に接続された場合（Ｓ３９でＹＥＳ）、処理をＳ４０へ進める。一方、基地局に接続されていない場合（Ｓ３９でＮＯ）、所定の時間経過後、再びＳ３９を実行する。
【００６６】
（Ｓ４０：データ送信処理）
通信端末１０の通信部は、接続された基地局に応じた通信サーバ２０へ、通信端末１０内の記憶装置に記憶されている出力データを、ネットワークを介して送信する。
すると、通信サーバ２０へ送信された出力データは、記憶部２４に記憶される。この際、出力データは、利用者の識別情報やＡＰＰの識別情報とともに記憶され、後にその利用者やそのＡＰＰで利用できるようにされる。
そして、通信端末１０の制御部は、通信端末１０内の記憶装置に記憶されている出力データを削除する。
【００６７】
以上のように、実施の形態４に係る通信システム１００では、一時的にＡＰＰ＿ＴをＡＰＰ＿Ｓから独立して動作させる場合、必要なデータと追加機能とをダウンロードする。そして、許可範囲に通信端末１０がある場合にのみ、独立動作を認める。
そのため、通信エリア外等であっても、安全な環境であると確認がとれた場合には、ＡＰＰ＿Ｔを用いた業務を行うことができる。
【００６８】
また、独立動作が終わると、追加機能とともにＡＰＰ＿Ｔを削除する。そのため、追加機能が通信端末１０内に残ることがなく、安全性が高い。
【００６９】
なお、上記説明では、Ｓ３４における要件判定は、通信端末１０の位置に基づき行った。しかし、位置だけでなく、例えば利用者の認証（パスワード認証、生体認証等）も行ってもよい。また、予め使用可能な許可期間を定めておき、許可期間内であるかも行ってもよい。
【００７０】
実施の形態５．
実施の形態１では、ＡＰＰ用ＶＭ及びＡＰＰを通信端末１０にダウンロードして実行することについて説明した。実施の形態５では、ＡＰＰ用ＶＭ及びＡＰＰを実行中に、利用者が通信端末１０から離れた場合について説明する。
【００７１】
図６は、実施の形態５に係る通信システム１００の構成図である。
実施の形態５に係る通信システム１００は、図１に示す実施の形態１に係る通信システム１００の構成に加え、ＩＣカード３０を備える。ＩＣカード３０は、例えば利用者が携帯している社員証であり、利用者のＩＤ（ＩＤｅｎｔｉｆｉｅｒ）を記憶している。
なお、図３に示すように、複数の通信サーバ２０を備えてもよい。
【００７２】
図７は、実施の形態５に係る通信システム１００の動作を示すフローチャートであり、図２におけるＳ１４で処理を実行している最中に利用者が通信端末１０から離れた場合の動作を示すフローチャートである。
（Ｓ４１：ＩＤ読出処理）
通信端末１０の通信部は、ＩＣカード３０に記憶されたＩＤを近距離通信により読み出せるか否かを判定する。
読み出せた場合（Ｓ４１でＹＥＳ）、所定の時間が経過した後、再びＳ４１を実行する。一方、読み出せない場合（Ｓ４１でＮＯ）、利用者が通信端末１０から離れたと判断し、処理をＳ４２へ進める。
【００７３】
（Ｓ４２：ＡＰＰ退避処理）
実行中のＡＰＰ用ＶＭ及びＡＰＰを現在の状態を維持したまま、通信サーバ２０へ移動（ライブマイグレーション）させる。その結果、通信端末１０からＡＰＰ用ＶＭ及びＡＰＰが削除される。この際、通信端末１０内の記憶装置に記憶された出力データも、通信サーバ２０へアップロードされ、通信端末１０内の記憶装置から削除される。
【００７４】
（Ｓ４３：ＩＤ読出処理）
通信端末１０の通信部は、ＩＣカード３０に記憶されたＩＤを近距離通信により読み出せるか否かを判定する。
読み出せた場合（Ｓ４３でＹＥＳ）、利用者が通信端末１０の付近へ戻ったと判断し、処理をＳ４４へ進める。一方、読み出せない場合（Ｓ４３でＮＯ）、所定の時間が経過した後、再びＳ４３を実行する。
【００７５】
（Ｓ４４：ＡＰＰ返戻処理）
通信サーバ２０の送信部２３は、Ｓ４２で移動されたＡＰＰ用ＶＭ及びＡＰＰを現在の状態を維持したまま、通信端末１０へ移動（ライブマイグレーション）させる。この際、必要であれば、通信サーバ２０へアップロードされた出力データも、通信端末１０へ送信する。
【００７６】
以上のように、実施の形態５に係る通信システム１００では、ＡＰＰ用ＶＭ及びＡＰＰを実行中に、利用者が通信端末１０から離れた場合、ＡＰＰ用ＶＭ及びＡＰＰを現在の状態を維持したまま、通信サーバ２０へ移動させる。
そのため、他者が通信端末１０を操作してＡＰＰ用ＶＭ及びＡＰＰを使用することを防止できる。
【００７７】
なお、上記説明では、利用者が通信端末１０の付近へ戻った場合に、Ｓ４４でＡＰＰ用ＶＭ及びＡＰＰを通信端末１０へ戻した。しかし、利用者が通信端末１０の付近へ戻り、利用者から予め定められたパスワードの入力等がされた場合に、Ｓ４４でＡＰＰ用ＶＭ及びＡＰＰを通信端末１０へ戻すとしてもよい。
【００７８】
また、上記説明では、利用者が通信端末１０から離れた場合に、Ｓ４２でＡＰＰ用ＶＭ及びＡＰＰを通信サーバ２０へ移動させた。しかし、利用者が通信端末１０から離れた場合以外にも、所定の時間ＡＰＰの操作がされない場合等に、Ｓ４２でＡＰＰ用ＶＭ及びＡＰＰを通信サーバ２０へ移動させてもよい。
【００７９】
次に、実施の形態における通信端末１０、通信サーバ２０のハードウェア構成について説明する。
図８は、通信端末１０、通信サーバ２０のハードウェア構成の一例を示す図である。
図８に示すように、通信端末１０、通信サーバ２０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、ＮＡＮＤ型フラッシュメモリ９２０と接続され、これらのハードウェアデバイスを制御する。
【００８０】
ＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００８１】
プログラム群９２３には、上記の説明において「ハイパーバイザ１１」、「ＶＭ１２（制御用ＶＭ、通信用ＶＭ、ＡＰＩ用ＶＭ、ＡＰＰ用ＶＭ）」、「ソフトウェア１３（制御ＰＧ、通信ＰＧ、ＡＰＩＰＧ、ＡＰＰ）」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「出力データ」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００８２】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【符号の説明】
【００８３】
１０  通信端末、１１  ハイパーバイザ、１２  ＶＭ、１３  ソフトウェア、２０  通信サーバ、２１  受信部、２２  処理部、２３  送信部、２４  記憶部、３０  ＩＣカード、１００  通信システム。
【図１】
0005524260.tif 000002
【図２】
0005524260.tif 000003
【図３】
0005524260.tif 000004
【図４】
0005524260.tif 000005
【図５】
0005524260.tif 000006
【図６】
0005524260.tif 000007
【図７】
0005524260.tif 000008
【図８】
0005524260.tif 000009