(57)【特許請求の範囲】
【請求項１】
サーバ仮想化環境でアプリケーションソフトウェアを実行するサーバに、無線通信回線を介してアクセスする無線端末であって、
前記無線通信回線の通信品質を推定する品質推定部と、
前記サーバが前記サーバ仮想化環境でアプリケーションソフトウェアを実行中に、前記サーバ仮想化環境の状態を示す状態情報を、前記無線通信回線を介して受信する受信部と、
前記品質推定部が推定した前記通信品質に対応する時間間隔で、前記受信部に前記状態情報を受信させる実行制御部と、
を有する無線端末。
【請求項２】
前記実行制御部は、前記サーバが前記サーバ仮想化環境で前記アプリケーションソフトウェアを実行中に、前記通信品質が高品質レベルである場合に、前記無線端末がアプリケーションソフトウェアを実行する端末仮想化環境と前記サーバ仮想化環境との差分を示す第１差分情報を第１の時間間隔で前記受信部に受信させ、前記通信品質が前記高品質レベルよりも低い中品質レベルである場合に、前記第１差分情報を前記第１の時間間隔よりも長い第２の時間間隔で前記受信部に受信させる、
請求項１に記載の無線端末。
【請求項３】
前記実行制御部は、前記サーバが前記サーバ仮想化環境で前記アプリケーションソフトウェアを実行中に、前記通信品質が高品質レベルである場合に、前記サーバ仮想化環境において発生した変化の内容を示す差分データを前記第１の時間間隔で前記受信部に受信させ、前記通信品質が前記高品質レベルよりも低い中品質レベルである場合に、前記サーバ仮想化環境のスナップショットが変化した内容を示すスナップショット情報を前記第２の時間間隔で前記受信部に受信させる、
請求項２に記載の無線端末。
【請求項４】
前記実行制御部は、前記サーバが前記サーバ仮想化環境でアプリケーションソフトウェアを実行中に、前記通信品質が前記中品質レベルよりも低い低品質レベルになったことを契機として、前記端末仮想化環境において、前記サーバ仮想化環境で実行されていたアプリケーションソフトウェアの実行を開始する、
請求項２又は３に記載の無線端末。
【請求項５】
前記実行制御部は、前記端末仮想化環境でアプリケーションソフトウェアを実行中に、前記通信品質が前記中品質レベル未満である場合に、前記端末仮想化環境で前記アプリケーションソフトウェアの実行を開始した時点の前記端末仮想化環境と、最新の前記端末仮想化環境との差分を示す第２差分情報を、前記無線端末の記憶媒体に記憶させる、
請求項４に記載の無線端末。
【請求項６】
前記実行制御部は、前記端末仮想化環境でアプリケーションソフトウェアを実行中に、前記通信品質が中品質レベル以上になったことを契機として、前記第２差分情報を前記サーバに送信する、
請求項５に記載の無線端末。
【請求項７】
前記実行制御部は、前記通信品質が前記高品質レベル以上になったことを契機として、前記第２差分情報を前記サーバに送信する頻度を高くする、
請求項６に記載の無線端末。
【請求項８】
サーバ仮想化環境でアプリケーションソフトウェアを実行し、無線通信回線を介して無線端末と通信するサーバであって、
前記無線通信回線の通信品質を示す情報を受信する品質情報受信部と、
前記サーバが前記サーバ仮想化環境でアプリケーションソフトウェアを実行中に、前記サーバ仮想化環境の状態を示す状態情報を、前記無線通信回線を介して前記無線端末に送信する送信部と、
前記品質情報受信部が受信した前記通信品質を示す情報に基づいて決定した時間間隔で、前記送信部に前記状態情報を送信させる送信制御部と、
を有するサーバ。
【請求項９】
コンピュータが実行する、
サーバ仮想化環境でアプリケーションソフトウェアを実行するサーバに、端末仮想化環境でアプリケーションソフトウェアを実行する無線端末がアクセスするために用いられる無線通信回線の通信品質を推定するステップと、
前記サーバが前記サーバ仮想化環境でアプリケーションソフトウェアを実行中に、推定した前記通信品質に対応する時間間隔で、前記サーバ仮想化環境の状態を示す状態情報を、前記無線通信回線を介して前記無線端末に移動させるステップと、
を有する制御方法。
【請求項１０】
サーバ仮想化環境でアプリケーションソフトウェアを実行するサーバと、前記サーバに無線通信回線を介してアクセスし、端末仮想化環境でアプリケーションソフトウェアを実行する無線端末と、を備える通信システムであって、
前記サーバ又は前記無線端末が、
前記無線通信回線の通信品質を推定する品質推定部と、
前記サーバが前記サーバ仮想化環境でアプリケーションソフトウェアを実行中に、推定した前記通信品質に対応する時間間隔で、前記サーバ仮想化環境の状態を示す状態情報を、前記無線通信回線を介して前記無線端末に移動させる実行制御部と、
を有する通信システム。
【請求項１１】
前記実行制御部は、前記サーバが前記サーバ仮想化環境で前記アプリケーションソフトウェアを実行中に、前記無線端末がアプリケーションソフトウェアを実行する端末仮想化環境と前記サーバ仮想化環境との差分を示す第１差分情報を、前記無線端末に移動させる、
請求項１０に記載の通信システム。
【請求項１２】
前記サーバは、前記サーバ仮想化環境における前記第１差分情報に対応する領域の利用頻度に基づいて、前記第１差分情報を前記無線端末に送信するかどうかを決定する、
請求項１１に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線端末、サーバ、制御方法及び通信システムに関する。
【背景技術】
【０００２】
仮想化環境で動作中のサーバの負荷状況や障害発生に応じて、複数のサーバ間で仮想化環境を移動させるマイグレーション技術が知られている。特許文献１には、仮想化環境で動作中のサーバの障害が発生する予兆を検出した場合に、仮想化環境を他の装置に移動させて、サーバで実行していた処理を他の装置で継続する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−９３８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
仮想化環境を実行するサーバが、通信品質が安定した有線通信回線で他の装置と接続されている場合、サーバの障害が発生する予兆を検出した時点で仮想化環境の移動を開始することにより、仮想化環境の移動を実現できる。しかしながら、サーバと他の装置とが、通信品質が変動しやすい無線通信回線を介して接続されている場合、仮想化環境の移動を開始した時点で通信品質が悪化すると、仮想化環境を移動させることができなくなってしまう。その結果、サーバで実行していた動作を他の装置で継続して実行させることができないという問題があった。
【０００５】
そこで、本発明はこれらの点に鑑みてなされたものであり、サーバで処理を実行中に、処理を継続する装置との間の無線通信回線の状態が悪化しても、他の装置で処理を継続できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様の無線端末は、サーバ仮想化環境でアプリケーションソフトウェアを実行するサーバに、無線通信回線を介してアクセスする無線端末であって、前記無線通信回線の通信品質を推定する品質推定部と、前記サーバが前記サーバ仮想化環境でアプリケーションソフトウェアを実行中に、前記サーバ仮想化環境の状態を示す状態情報を、前記無線通信回線を介して受信する受信部と、前記品質推定部が推定した前記通信品質に対応する時間間隔で、前記受信部に前記状態情報を受信させる実行制御部と、を有する。
【０００７】
前記実行制御部は、例えば、前記サーバが前記サーバ仮想化環境で前記アプリケーションソフトウェアを実行中に、前記通信品質が高品質レベルである場合に、前記無線端末がアプリケーションソフトウェアを実行する端末仮想化環境と前記サーバ仮想化環境との差分を示す第１差分情報を第１の時間間隔で前記受信部に受信させ、前記通信品質が前記高品質レベルよりも低い中品質レベルである場合に、前記第１差分情報を前記第１の時間間隔よりも長い第２の時間間隔で前記受信部に受信させる。
【０００８】
前記実行制御部は、前記サーバが前記サーバ仮想化環境で前記アプリケーションソフトウェアを実行中に、前記通信品質が高品質レベルである場合に、前記サーバ仮想化環境において発生した変化の内容を示す差分データを前記第１の時間間隔で前記受信部に受信させ、前記通信品質が前記高品質レベルよりも低い中品質レベルである場合に、前記サーバ仮想化環境のスナップショットが変化した内容を示すスナップショット情報を前記第２の時間間隔で前記受信部に受信させてもよい。
【０００９】
前記実行制御部は、前記サーバが前記サーバ仮想化環境でアプリケーションソフトウェアを実行中に、前記通信品質が前記中品質レベルよりも低い低品質レベルになったことを契機として、前記端末仮想化環境において、前記サーバ仮想化環境で実行されていたアプリケーションソフトウェアの実行を開始してもよい。
【００１０】
前記実行制御部は、前記端末仮想化環境でアプリケーションソフトウェアを実行中に、前記通信品質が前記中品質レベル未満である場合に、前記端末仮想化環境で前記アプリケーションソフトウェアの実行を開始した時点の前記端末仮想化環境と、最新の前記端末仮想化環境との差分を示す第２差分情報を、前記無線端末の記憶媒体に記憶させてもよい。
【００１１】
この場合、前記実行制御部は、前記端末仮想化環境でアプリケーションソフトウェアを実行中に、前記通信品質が中品質レベル以上になったことを契機として、前記第２差分情報を前記サーバに送信してもよい。
【００１２】
また、前記実行制御部は、前記通信品質が前記高品質レベル以上になったことを契機として、前記第２差分情報を前記サーバに送信する頻度を高くしてもよい。
【００１３】
本発明の第２の態様のサーバは、サーバ仮想化環境でアプリケーションソフトウェアを実行し、無線通信回線を介して無線端末と通信するサーバであって、前記無線通信回線の通信品質を示す情報を受信する品質情報受信部と、前記サーバが前記サーバ仮想化環境でアプリケーションソフトウェアを実行中に、前記サーバ仮想化環境の状態を示す状態情報を、前記無線通信回線を介して前記無線端末に送信する送信部と、前記品質情報受信部が受信した前記通信品質を示す情報に基づいて決定した時間間隔で、前記送信部に前記状態情報を送信させる送信制御部と、を有する。
【００１４】
本発明の第３の態様の制御方法は、コンピュータが実行する、サーバ仮想化環境でアプリケーションソフトウェアを実行するサーバに、端末仮想化環境でアプリケーションソフトウェアを実行する無線端末がアクセスするために用いられる無線通信回線の通信品質を推定するステップと、前記サーバが前記サーバ仮想化環境でアプリケーションソフトウェアを実行中に、推定した前記通信品質に対応する時間間隔で、前記サーバ仮想化環境の状態を示す状態情報を、前記無線通信回線を介して前記無線端末に移動させるステップと、を有する。
【００１５】
本発明の第４の態様の通信システムは、サーバ仮想化環境でアプリケーションソフトウェアを実行するサーバと、前記サーバに無線通信回線を介してアクセスし、端末仮想化環境でアプリケーションソフトウェアを実行する無線端末と、を備える通信システムであって、前記サーバ又は前記無線端末が、前記無線通信回線の通信品質を推定する品質推定部と、前記サーバが前記サーバ仮想化環境でアプリケーションソフトウェアを実行中に、推定した前記通信品質に対応する時間間隔で、前記サーバ仮想化環境の状態を示す状態情報を、前記無線通信回線を介して前記無線端末に移動させる実行制御部と、を有する。
【００１６】
前記実行制御部は、前記サーバが前記サーバ仮想化環境で前記アプリケーションソフトウェアを実行中に、前記無線端末がアプリケーションソフトウェアを実行する端末仮想化環境と前記サーバ仮想化環境との差分を示す第１差分情報を、前記無線端末に移動させてもよい。
【００１７】
前記サーバは、前記サーバ仮想化環境における前記第１差分情報に対応する領域の利用頻度に基づいて、前記第１差分情報を前記無線端末に送信するかどうかを決定してもよい。
【発明の効果】
【００１８】
本発明によれば、サーバで処理を実行中に、処理を継続する装置との間の無線通信回線の状態が悪化しても、他の装置で処理を継続できるようにすることができるという効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】本実施形態の通信システムＳの構成を示す図である。
【図２】無線端末の構成を示す図である。
【図３】通信品質レベルについて説明するための図である。
【図４】サーバの構成を示す図である。
【図５】ＲＳＳＩとアプリケーションソフトウェアの実行状態との関係について説明するための図である。
【図６】無線端末とサーバとの間の通信シーケンスを示す図である。
【図７】無線端末とサーバとの間の通信シーケンスを示す図である。
【図８】変形例における通信品質の閾値と動作内容との関係を示す図である。
【発明を実施するための形態】
【００２０】
［通信システムＳの概要］
図１は、本実施形態の通信システムＳの構成を示す図である。通信システムＳは、無線端末１と、サーバ２とを有する。無線端末１とサーバ２とは、無線通信回線Ｗ及びネットワークＮを介してデータを送受信することができる。
【００２１】
無線端末１は、スマートフォン又はタブレット等のように、情報を表示する画面を有する端末である。無線端末１は、ＬＴＥ（Long Term Evolution）又はＷｉ−Ｆｉ（登録商標）等の無線通信回線Ｗを介してサーバ２にアクセスし、サーバ２との間でデータを送受信する。無線端末１は、ユーザの操作に応じて、サーバ２が有する仮想化環境を用いてアプリケーションソフトウェアを実行させ、サーバ２がアプリケーションソフトウェアを実行した結果を示す画面を表示する。すなわち、無線端末１及びサーバ２は、ＶＤＩ（Virtual Desktop Infrastructure）により、無線端末１がサーバ２でアプリケーションソフトウェアを実行した結果を表示することができる。
【００２２】
サーバ２は、仮想化環境を有しており、仮想化環境でアプリケーションソフトウェアを実行する。仮想化環境は、コンピュータ上に構築された仮想マシンであり、サーバ２が有する仮想化環境は、無線端末１のＯＳ（例えばAndroid）や無線端末１で動作可能なアプリケーションソフトウェアを動作させるための資源を有している。サーバ２は、仮想化環境によりアプリケーションソフトウェアを実行し、実行した結果を無線端末１に表示させるための画面データを生成する。サーバ２は、生成した画面データを、ネットワークＮ及び無線通信回線Ｗを介して無線端末１に提供する。
【００２３】
このように、無線端末１は、サーバ２の仮想化環境でアプリケーションソフトウェアを実行させることにより、無線端末１の消費電力を抑えつつ、高い処理能力が必要なアプリケーションソフトウェアを実行することにより得られる結果を示す画面データを表示することができる。
【００２４】
しかしながら、無線通信回線Ｗの状態が悪くなった場合や、アプリケーションソフトウェアが無線端末１のリソースを使用する頻度が高くなった場合には、無線端末１においてアプリケーションソフトウェアを実行する方が好ましいと考えられる。そこで、無線端末１は、サーバ２が実行中の処理を引き継いで実行することができるように、サーバ２でアプリケーションソフトウェアが実行されている間に、サーバ２の仮想化環境の状態を示す状態情報を受信する。そして、無線端末１は、受信した状態情報に基づいて、無線端末１の仮想化環境を更新することにより、サーバ２の仮想化環境と無線端末１の仮想化環境とを同期させる。このようにすることで、無線端末１は、無線端末１の仮想化環境でアプリケーションソフトウェアを実行する際に、それまでサーバ２の仮想化環境で実行していた処理を、遅滞なく継続することができる。
【００２５】
本実施形態における仮想化環境は、ストレージ領域及びメモリ領域を含んでいる。本実施形態に係る無線端末１又はサーバ２が仮想化環境の状態情報を転送する際には、ストレージ領域のデータ及びメモリ領域のデータの両方を転送することが想定されるが、これに限らず、ストレージ領域のデータ及びメモリ領域のデータのいずれか一方の状態情報だけを転送してもよい。
【００２６】
また、サーバ２から無線端末１に転送される状態情報には、さまざまな態様が想定される。サーバ２は、仮想化環境に関わる全てのデータを状態情報として無線端末１に送信してもよく、直近に無線端末１に送信した時点の仮想化環境とサーバ２の最新の仮想化環境との差分の内容を状態情報として無線端末１に送信してもよい。無線端末１は、サーバ２から受信した状態情報に基づいて、無線端末１の仮想化環境を更新するので、前回無線端末１に送信した時点の仮想化環境とサーバ２の最新の仮想化環境との差分を示す情報は、無線端末１の仮想化環境とサーバ２の仮想化環境との差分を示す第１差分情報に相当する。
【００２７】
サーバ２は、仮想化環境において変化が発生する度に、発生した差分の内容を示す差分データを第１差分情報として送信してもよく、スナップショットにおいて変化が発生したデータのアドレス（番地）と変化後のデータとを含むスナップショット情報を第１差分情報として送信してもよい。
【００２８】
サーバ２から無線端末１に、どのような状態情報を送信するかは任意であるが、本実施形態においては、図１（ａ）に示すように無線通信回線Ｗの状態が良好な場合は、第１の時間間隔で、差分データが発生した時点で差分データを逐次転送する。図１（ｂ）に示すように、無線通信回線Ｗの状態が悪化した場合は、スナップショット情報を第１の時間間隔よりも長い第２の時間間隔で転送する。
【００２９】
このようにすることで、無線通信回線Ｗの状態が良好な場合は、サーバ２から無線端末１に対してほぼリアルタイムで最新のデータを送信できるので、無線通信回線Ｗの通信品質が悪化して無線端末１でアプリケーションソフトウェアを実行し始めた時点で、図１（ｃ）に示すように、サーバ２の最新状態をそのまま引き継いで、無線端末１の仮想化環境でアプリケーションソフトウェアを実行することができる。また、サーバ２は、無線通信回線Ｗの状態が悪化し始めており、通信回線の伝送速度が十分に大きくない場合には、少ない頻度でスナップショット情報を送信することで、仮想化環境に関するできるだけ新しい状態を無線端末１に伝えることができる。
【００３０】
［無線端末１の構成］
図２は、無線端末１の構成を示す図である。無線端末１は、通信部１１と、操作部１２と、表示部１３と、記憶部１４と、制御部１５とを有する。制御部１５は、品質推定部１５１と、送信部１５２と、受信部１５３と、操作受付部１５４と、表示制御部１５５と、実行部１５６と、実行制御部１５７とを有する。
【００３１】
通信部１１は、無線通信ユニットであり、携帯電話網の基地局から無線チャネルの割り当てを受けて、無線通信回線Ｗ及びネットワークＮを介して、サーバ２との間でデータを送受信する。通信部１１は、受信した電波に重畳されたデータを抽出し、抽出したデータを品質推定部１５１に入力する。また、通信部１１は、受信した電波の強度を示す受信信号強度情報（ＲＳＳＩ：Received Signal Strength Indicator）を生成して、ＲＳＳＩを送信部１５２に入力する。さらに、通信部１１は、受信部１５３から受信した送信用のデータを電波に乗せて送信する。
【００３２】
操作部１２は、ユーザからの操作を受け付ける。操作部１２は、例えば表示部１３に重ねて設けられたタッチパネルである。
表示部１３は、情報を表示するディスプレイである。操作部１２及び表示部１３は、一体となったタッチスクリーンであってもよい。
【００３３】
記憶部１４は、ＲＯＭ（Read Only Memory）又はＲＡＭ（Random Access Memory）等の記憶媒体である。記憶部１４は、制御部１５が実行するプログラムをＲＯＭに記憶している。また、記憶部１４は、サーバ２から取得した仮想化環境をＲＡＭに記憶する。記憶部１４は、例えば、実行制御部１５７が、サーバ２から仮想化環境の転送を受けるための制御用プログラムを記憶している。
【００３４】
制御部１５は、例えばＣＰＵ（Central Processing Unit）である。制御部１５は、記憶部１４に記憶されたプログラムを実行することにより、品質推定部１５１、送信部１５２、受信部１５３、操作受付部１５４、表示制御部１５５、実行部１５６及び実行制御部１５７として機能する。
【００３５】
品質推定部１５１は、通信部１１から入力されたＲＳＳＩ又は通信時のフレームエラー率等に基づいて、無線通信回線Ｗの通信品質を推定する。品質推定部１５１は、例えば、ＲＳＳＩを所定の閾値と比較して、ＲＳＳＩが、複数の通信品質レベルのうちどの通信品質レベルに該当するかを特定する。
【００３６】
図３は、通信品質レベルについて説明するための図である。図３に示すように、本実施形態において、品質推定部１５１は、ＲＳＳＩの値を第１閾値及び第２閾値と比較して、低品質レベル、中品質レベル、高品質レベルのうちのどの通信品質レベルであるかを推定する。品質推定部１５１は、推定した通信品質レベルを示す情報を実行制御部１５７に通知する。
【００３７】
低品質レベルは、無線端末１とサーバ２との間で安定してデータの送受信をできない状態に相当するレベルである。中品質レベルは、短時間のうちに低品質レベル又は高品質レベルに遷移する可能性があるというレベルである。高品質レベルは、良好にデータの送受信が可能であり、短時間のうちに低品質レベルに遷移する可能性が低いというレベルである。
【００３８】
図２に戻って、送信部１５２は、実行制御部１５７の指示に基づいて、サーバ２に対してメッセージを送信する。送信部１５２は、例えば、通信品質レベルが悪化した場合に、サーバ２に対して、通信品質が悪化したことを通知するメッセージを送信する。送信部１５２は、サーバ２から取得する状態情報の態様を指定するメッセージや、サーバ２から状態情報を取得する時間間隔を指定するメッセージを送信してもよい。
【００３９】
受信部１５３は、通信部１１から入力されたデータから、ペイロード部分を取り出して、取り出したペイロードを記憶部１４に格納する。受信部１５３は、例えば、サーバ２がサーバ２の仮想化環境でアプリケーションソフトウェアを実行中に、サーバ２の仮想化環境の状態を示す状態情報を、無線通信回線Ｗを介して受信する。受信部１５３は、状態情報を受信したことを実行制御部１５７に通知するとともに、受信した状態情報を記憶部１４に格納する。なお、受信部１５３は、サーバ２がサーバ２の仮想化環境でアプリケーションソフトウェアを実行中に、通信品質が低品質レベルになっている間、状態情報を受信しない。
【００４０】
操作受付部１５４は、ユーザが操作部１２において入力した操作内容を特定し、特定した操作内容を実行制御部１５７に通知する。操作受付部１５４は、例えば、サーバ２から状態情報を受信する時間間隔を設定する操作を受け付けて、実行制御部１５７に通知する。
【００４１】
表示制御部１５５は、実行部１５６の制御に基づいて、ユーザに提示する情報を表示部１３に入力する。表示制御部１５５は、例えば、実行部１５６が仮想化環境でアプリケーションソフトウェアを実行した場合、アプリケーションソフトウェアを実行したことによって得られる結果を実行部１５６から取得して、取得した結果を表示部１３に表示させる。
【００４２】
実行部１５６は、サーバ２が仮想化環境でアプリケーションソフトウェアを実行中には、サーバ２から受信する画面データを、表示制御部１５５を介して表示部１３に表示させる。また、実行部１５６は、通信品質が悪化した場合には、実行制御部１５７の制御に基づいて、記憶部１４に記憶された仮想化環境でアプリケーションソフトウェアを実行し、実行した結果を含む画面データを生成して表示部１３に表示させる。
【００４３】
実行制御部１５７は、品質推定部１５１が推定した通信品質レベルに基づいて決定した時間間隔で、受信部１５３に状態情報を受信させる。例えば、実行制御部１５７は、品質推定部１５１が推定した通信品質レベルを、送信部１５２を介してサーバ２に送信することにより、通信品質レベルに対応して予め決定された時間間隔で状態情報を受信部１５３に受信させることができる。実行制御部１５７は、状態情報を受信すると、受信した状態情報に基づいて、記憶部１４に記憶された仮想化環境を更新する。
【００４４】
実行制御部１５７は、例えば、サーバ２がサーバ２の仮想化環境でアプリケーションソフトウェアを実行中に、通信品質が高品質レベルである場合に、無線端末１がアプリケーションソフトウェアを実行する無線端末１の仮想化環境とサーバ２の仮想化環境との差分を示す第１差分情報（例えば差分データ）を第１の時間間隔で受信部１５３に受信させる。また、実行制御部１５７は、通信品質が中品質レベルである場合に、第１の時間間隔よりも長い第２の時間間隔で、受信部１５３に第１差分情報（例えばスナップショット情報）を受信させる。
【００４５】
ここで、実行制御部１５７は、操作受付部１５４を介してユーザから取得した操作内容に応じて、どのような態様の状態情報をどのような時間間隔で受信するかを決定することができる。実行制御部１５７は、決定した内容を示すメッセージを、送信部１５２を介してサーバ２に送信することにより、受信する状態情報の種類や受信する時間間隔を制御してもよい。
【００４６】
実行制御部１５７は、サーバ２がサーバ２の仮想化環境でアプリケーションソフトウェアを実行中に、通信品質が低品質レベルになったことを契機として、無線端末１の仮想化環境において、サーバ２の仮想化環境で実行されていたアプリケーションソフトウェアの実行を開始するように実行部１５６を制御する。実行制御部１５７は、状態情報を受信した時点で、記憶部１４に記憶された仮想化環境を更新しているので、通信品質が低品質レベルになった時点で、無線端末１の仮想化環境でアプリケーションソフトウェアの実行を速やかに開始することができる。
【００４７】
また、実行制御部１５７は、無線端末１の仮想化環境でアプリケーションソフトウェアを実行中に、通信品質が中品質レベル未満の品質である場合に、無線端末１の仮想化環境でアプリケーションソフトウェアの実行を開始した時点の仮想化環境と最新の仮想化環境との差分を示す第２差分情報を、記憶部１４に記憶させる。そして、実行制御部１５７は、無線端末１の仮想化環境でアプリケーションソフトウェアを実行中に、通信品質が中品質レベル以上になったことを契機として、記憶部１４に記憶させた第２差分情報として、スナップショット情報をサーバ２に送信する。
【００４８】
さらに、実行制御部１５７は、通信品質が高品質レベル以上になったことを契機として、サーバ２に対して第２差分情報を送信する頻度を高くする。この際、実行制御部１５７は、最新のスナップショット情報をサーバ２に送信後に生じたデータの変化内容を示す差分データを、データの変化が発生するたびに逐次送信してもよい。そして、実行制御部１５７は、サーバ２に対して、アプリケーションソフトウェアの実行を再開することを指示する。このようにすることで、実行制御部１５７は、無線通信回線Ｗの状態が良くなった時点で、アプリケーションソフトウェアを実行する主体をサーバ２に速やかに切り替えることができる。
【００４９】
［サーバ２の構成］                                                
図４は、サーバ２の構成を示す図である。サーバ２は、通信部２１と、記憶部２２と、制御部２３とを有する。通信部２１は、ネットワークＮを介して無線端末１との間でデータを送受信するための通信ユニットであり、例えばＬＡＮコントローラを有する。
【００５０】
記憶部２２は、ＲＯＭ、ＲＡＭ及びハードディスク等の記憶媒体である。記憶部２２は、制御部２３が実行するプログラムをＲＯＭに記憶している。また、記憶部２２は、無線端末１で実行可能なアプリケーションソフトウェア、及び当該アプリケーションソフトウェアを実行するための仮想化環境をＲＡＭに記憶する。
【００５１】
制御部２３は、例えばＣＰＵである。制御部２３は、記憶部２２に記憶されたプログラムを実行することにより、受信部２３１、送信部２３２、実行部２３３及び実行制御部２３４として機能する。
【００５２】
受信部２３１は、ネットワークＮを介して、無線端末１が送信したデータを受信する。受信部２３１は、例えば、無線通信回線Ｗの通信品質を示す情報を受信する。また、受信部２３１は、無線端末１に送信する状態情報の種類や状態情報を送信する時間間隔に関する情報を受信する。
【００５３】
送信部２３２は、ネットワークＮを介して、無線端末１にデータを送信する。送信部２３２は、例えば、実行制御部２３４の制御に基づいて、状態情報を無線端末１に送信する。
実行部２３３は、実行制御部２３４の制御に基づいて、記憶部２２に記憶された仮想化環境下でアプリケーションソフトウェアを実行する。実行部２３３は、送信部２３２を介して、アプリケーションソフトウェアの実行結果を含む画面データを無線端末１に送信する。
【００５４】
実行制御部２３４は、実行部２３３がサーバ２の仮想化環境でアプリケーションソフトウェアを実行中に、無線通信回線Ｗの通信品質に基づいて決定した時間間隔で、送信部２３２を介して、状態情報を無線端末１に送信する。具体的には、実行制御部２３４は、通信品質が高品質レベルである場合に、第１の時間間隔で差分データをリアルタイムで送信させる。なお、実行制御部２３４は、差分データが発生していない場合、第１の時間間隔に相当するタイミングが発生しても、差分データを送信しないようにしてもよい。実行制御部２３４は、通信品質が中品質レベルである場合に、第１の時間間隔よりも長い第２の時間間隔でスナップショット情報を送信させる。
【００５５】
［通信品質とアプリケーションソフトウェアの実行状態との関係］
図５は、ＲＳＳＩとアプリケーションソフトウェアの実行状態との関係について説明するための図である。図５（ａ）は、通信品質とアプリケーションソフトウェアの実行主体との関係を示している。ＲＳＳＩが第１閾値以上においては、サーバ２の仮想化環境でアプリケーションソフトウェアが実行されている。その後、通信品質が悪化してＲＳＳＩが第１閾値未満になると、無線端末１の仮想化環境においてアプリケーションソフトウェアが実行される。
【００５６】
図５（ｂ）は、通信品質とサーバ２から無線端末１に転送される状態情報の種類及び時間間隔との関係を示している。ＲＳＳＩが第１閾値以上においては、サーバ２の差分データが第１の時間間隔で転送されている。その後、通信品質が悪化してＲＳＳＩが第２閾値未満になると、スナップショット情報が第２の時間間隔で転送されている。
【００５７】
以上のようにして、通信システムＳにおいては、通信品質が良好な間は、サーバ２の仮想化環境が変化した内容を示す差分データを高い頻度で無線端末１に転送し、通信品質が良好でない間は、スナップショットの差分内容を示すスナップショット情報を低い頻度で無線端末１に転送する。このようにすることで、通信品質が良好な間は、サーバ２の仮想化環境と無線端末１の仮想化環境とを、ほぼリアルタイムに同期化できる。また、通信品質が良好でない間は、無線通信回線Ｗへの負荷を増やし過ぎない範囲で、サーバ２の仮想化環境と無線端末１の仮想化環境とを同期化できる。したがって、サーバ２と無線端末１との間でデータの送受信ができないほどに無線通信回線Ｗの通信品質が悪化した場合であっても、無線端末１の仮想化環境で、サーバ２で実行していた処理を継続して実行することが可能になる。
【００５８】
［通信シーケンス］
図６及び図７は、無線端末１とサーバ２との間の通信シーケンスを示す図である。図６は、サーバ２が仮想化環境でアプリケーションソフトウェアを実行している定常状態から開始している（Ｓ２１）。この間、サーバ２から無線端末１に画面データが転送され、無線端末１は、サーバ２から受信した画面データを表示部１３に表示する（Ｓ１１）。この間、サーバ２は、第１の時間間隔で、状態情報としての第１差分情報を無線端末１に転送し、無線端末１は、受信した第１差分情報に基づいて、記憶部１４に記憶している仮想化環境を更新する。
【００５９】
無線端末１は、サーバ２から受信した画面データを表示部１３が表示している期間中の通信品質を監視し（Ｓ１２）、ＲＳＳＩが第２閾値未満になった時点で（Ｓ１２においてＹＥＳ）、サーバ２に対して通信品質を通知する。サーバ２は、無線端末１から通信品質の通知を受けたことに応じて、状態情報の転送間隔と転送する状態情報の種類を変更する（Ｓ２２）。具体的には、サーバ２は、状態情報としてのスナップショット情報を、第２の時間間隔で無線端末１に転送するように変更する。
【００６０】
続いて、無線端末１は、ＲＳＳＩが第１閾値未満になった時点で（Ｓ１３においてＹＥＳ）、実行部１５６がアプリケーションソフトウェアの実行を開始する（Ｓ１４）。無線端末１は、無線端末１の仮想化環境において実行部１５６がアプリケーションソフトウェアを実行している間、仮想化環境に発生した変化内容を記憶部１４に記憶させる（Ｓ１５）。
【００６１】
続いて、図７に移って、無線端末１は、ＲＳＳＩが第１閾値以上になると（Ｓ１６においてＹＥＳ）、記憶部１４に記憶させていたスナップショット情報をサーバ２に転送し、その後、第２の時間間隔でスナップショット情報をサーバ２に転送する。サーバ２は、転送されたスナップショット情報に基づいて、仮想化環境を更新する（Ｓ２３）。そして、無線端末１は、ＲＳＳＩが第２閾値以上になると（Ｓ１７においてＹＥＳ）、サーバ２に通信品質を通知するとともに、直前にスナップショット情報を転送した時点から変化したデータを示す差分データを、第１の時間間隔でサーバ２に転送する。
【００６２】
サーバ２は、無線端末１から通信品質の通知を受けたことに応じて、差分データに基づいて仮想化環境を更新し、更新した仮想化環境においてアプリケーションソフトウェアを実行する（Ｓ２４）。サーバ２は、アプリケーションソフトウェアを実行中の画面データを無線端末１に転送し、無線端末１は、受信した画面データを表示部１３に表示する（Ｓ１８）。
【００６３】
［変形例１］
上記の説明においては、無線通信回線Ｗの通信品質が悪化する場合に状態情報の転送間隔を変更する閾値と、無線通信回線Ｗの通信品質が回復する場合に状態情報の転送間隔を変更する閾値とが同一であったが、状態情報の転送間隔を変更する閾値は、通信品質が悪化する場合と通信品質が回復する場合とで、異なる値にしてもよい。
【００６４】
図８は、本変形例における通信品質の閾値と動作内容との関係を示す図である。図８（ａ）は、通信品質が悪化する場合の閾値と動作内容との関係を示している。図８（ａ）においては、第２閾値以上の間は、第１の時間間隔でサーバ２から無線端末１に差分データが転送され、第２閾値未満になった時点で第２の時間間隔でスナップショット情報が転送されている。
【００６５】
図８（ｂ）においては、第２閾値未満の間は状態情報の転送が行われず、第２閾値以上になった時点で、第２の時間間隔で無線端末１からサーバ２にスナップショット情報が転送されている。そして、第３閾値以上になった時点で、第１の時間間隔で差分データが転送され、第４閾値以上になった時点で、サーバ２でアプリケーションソフトウェアの実行を開始している。
このようにすることで、無線通信回線Ｗの通信品質が一時的に回復したような場合に、状態情報の転送間隔が頻繁に変更されたり、アプリケーションソフトウェアを実行する主体が頻繁に変更されたりすることを防止できる。
【００６６】
［変形例２］
上記の説明においては、仮想化環境のデータに変化があった場合、サーバ２が、全ての第１差分情報を無線端末１に転送するものとしたが、サーバ２は、サーバ２の仮想化環境における差分データ第１差分情報に対応する領域の利用頻度に基づいて、第１差分情報を無線端末１に送信するかどうかを決定してもよい。サーバ２は、例えば、無線通信回線Ｗの通信品質が所定の閾値以上である場合に、全ての第１差分情報を無線端末１に転送し、通信品質が所定の閾値未満である場合に、利用頻度が高い領域の第１差分情報に限定して無線端末１に転送するようにしてもよい。このようにすることで、無線通信回線Ｗの通信品質が悪い場合に、重要度が高い第１差分情報を無線端末１に正常に転送できる確率を高めることができる。
【００６７】
［本実施形態における効果］
以上説明したように、本実施形態の無線端末１は、品質推定部１５１が推定した通信品質に対応する時間間隔で、サーバ２の仮想化環境の状態を示す状態情報を受信する。例えば、無線端末１は、通信品質が高品質レベルの間は、第１の時間間隔で差分データをサーバ２から受信し、通信品質が中品質レベルの間は、第１の時間間隔よりも長い第２の時間間隔でスナップショット情報をサーバ２から受信する。このようにすることで、通信システムＳにおいては、通信品質が良好な間は、サーバ２の仮想化環境と無線端末１の仮想化環境とを、ほぼリアルタイムに同期化できる。また、通信品質が良好でない間は、無線通信回線Ｗへの負荷を増やし過ぎない範囲で、サーバ２の仮想化環境と無線端末１の仮想化環境とを同期化できる。
【００６８】
また、無線端末１は、通信品質が悪い場合に、無線端末１の仮想化環境でアプリケーションソフトウェアを実行し、仮想化環境のデータが変化した場合に、第２差分情報を記憶部１４に記憶させる。そして、通信品質が回復した時点で、第２差分情報をサーバ２に送信する。このようにすることで、通信品質が回復した時点で、アプリケーションソフトウェアの実行主体を速やかにサーバ２に切り替えることができる。
【００６９】
以上、本発明をいくつかの実施の形態をもとに説明した。これらの任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【００７０】
また、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。特に、装置の分散・統合の具体的な実施形態は以上に図示するものに限られず、その全部又は一部について、種々の付加等に応じて、又は、機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【符号の説明】
【００７１】
１  無線端末
２  サーバ
１１  通信部
１２  操作部
１３  表示部
１４  記憶部
１５  制御部
２１  通信部
２２  記憶部
２３  制御部
１５１  品質推定部
１５２  送信部
１５３  受信部
１５４  操作受付部
１５５  表示制御部
１５６  実行部
１５７  実行制御部
２３１  受信部
２３２  送信部
２３３  実行部
２３４  実行制御部
Ｎ  ネットワーク
Ｓ  通信システム
Ｗ  無線通信回線
【図１】
0006494549.tif 000002
【図２】
0006494549.tif 000003
【図３】
0006494549.tif 000004
【図４】
0006494549.tif 000005
【図５】
0006494549.tif 000006
【図６】
0006494549.tif 000007
【図７】
0006494549.tif 000008
【図８】
0006494549.tif 000009