(57)【要約】【課題】一側面によれば、実際に使用されている環境で観測される応答時間に基づき、他の環境におけるネット品質情報を使用した場合の応答時間を推測する。【解決手段】第１の地点におけるクライアント機器とサーバ機器とで送受信されるパケットを取得し、取得した前記パケットを解析してパケットのロス数を算出し、算出した前記パケットのロス数と、第２の地点におけるクライアント機器が前記サーバ機器とデータ通信を行うときのネット品質情報と、に基づきパケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを算出し、算出した前記遅延時間の最大値、最小値及び平均値の少なくともいずれかに基づき、前記第２の地点におけるクライアント機器が行う操作に対する前記サーバ機器の応答時間を推測する、処理をコンピュータに実行させる品質推測プログラムが提供される。【選択図】図１５
2016082497.tif 000002
【特許請求の範囲】
【請求項１】
第１の地点におけるクライアント機器とサーバ機器とで送受信されるパケットを取得し、
取得した前記パケットを解析してパケットのロス数を算出し、
算出した前記パケットのロス数と、第２の地点におけるクライアント機器が前記サーバ機器とデータ通信を行うときのネット品質情報と、に基づきパケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを算出し、
算出した前記遅延時間の最大値、最小値及び平均値の少なくともいずれかに基づき、前記第２の地点におけるクライアント機器が行う操作に対する前記サーバ機器の応答時間を推測する、
処理をコンピュータに実行させる品質推測プログラム。
【請求項２】
前記算出する処理は、
前記第１の地点におけるクライアント機器が送信する操作コマンドのパケットロスによる遅延時間と、前記操作コマンドに対して前記サーバ機器が送信する描画処理データを含む描画コマンドのパケットロスによる遅延時間と、前記サーバ機器が送信する最終描画コマンドのパケットロスによる遅延時間と、を算出し、前記算出した結果から前記パケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する、
請求項１に記載の品質推測プログラム。
【請求項３】
前記算出する処理は、
パケットのロス数が２以上の場合、操作コマンド及び最終描画コマンドのパケットロスによる遅延時間を算出し、前記算出した結果から前記パケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する、
請求項２に記載の品質推測プログラム。
【請求項４】
第１の地点におけるクライアント機器とサーバ機器とで送受信されるパケットを取得し、
取得した前記パケットを解析してパケットのロス数を算出し、
算出した前記パケットのロス数と、第２の地点におけるクライアント機器が前記サーバ機器とデータ通信を行うときのネット品質情報と、に基づきパケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを算出し、
算出した前記遅延時間の最大値、最小値及び平均値の少なくともいずれかに基づき、前記第２の地点におけるクライアント機器が行う操作に対する前記サーバ機器の応答時間を推測する、
処理をコンピュータが実行する品質推測方法。
【請求項５】
第１の地点におけるクライアント機器とサーバ機器とで送受信されるパケットを取得する取得部と、
取得した前記パケットを解析してパケットのロス数を算出し、算出した前記パケットのロス数と、第２の地点におけるクライアント機器が前記サーバ機器とデータ通信を行うときのネット品質情報と、に基づきパケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する算出部と、
算出した前記遅延時間の最大値、最小値及び平均値の少なくともいずれかに基づき、前記第２の地点におけるクライアント機器が行う操作に対する前記サーバ機器の応答時間を推測する推測部と、
を有する品質推測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、品質推測プログラム、品質推測方法及び品質推測装置に関する。
【背景技術】
【０００２】
リモートデスクトップ環境において、クライアント機器及びサーバ機器間で送受信されるパケットを時系列に沿って取得し、ネットワークの状態を分析する技術が知られている（例えば、特許文献１参照）。
【０００３】
また、ネットワークの品質情報としてＲＴＴ（Round-Trip Time）が知られている。ＲＴＴは、ネットワーク遅延を示す一つのファクターである。ＲＴＴは、クライアント機器が、例えば操作コマンドを構成するパケットの一つを送信してからサーバ機器が操作コマンドの該パケットを受信するまでの時間と、サーバ機器が、例えば操作コマンドの応答としての描画コマンドを構成するパケットの一つを送信してからクライアント機器が描画コマンドの該パケットを受信するまでの時間との総和である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１３９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ユーザは、実際にユーザがマウスの移動等の操作を行ってからサーバ機器から受信した描画処理後の画像データをディスプレイに表示するまでの時間によって品質を体感する。このため、ネットワークの品質の評価にＲＴＴを用いただけでは、ネットワークの品質の評価とユーザが実際に感じる体感品質とが異なる場合が生じる。
【０００６】
データセンタが提供しているリモートデスクトップ環境を利用する場合、例えばデータセンタに近い第１の地点におけるユーザと、海外等のデータセンタから遠い第２の地点におけるユーザとでは、リクエストに対する体感品質に違いが生じる場合がある。その原因としては、データセンタから第１の地点または第２の地点までの距離やネットワーク帯域などさまざまな要因が想定される。よって、新たな観測地点でリモートデスクトップ環境を利用しようとした場合には、実際にその観測地点においてユーザがリモートデスクトップ環境を利用してみないと体感品質がわからないという課題がある。
【０００７】
その結果、ユーザは、第１の地点でのリモートデスクトップ環境では不満がない場合であっても、新たな観測地点でのリモートデスクトップ環境では応答時間が遅く、利用し難い等の不満が発生する場合がある。
【０００８】
そこで、一側面では、本発明は、実際に使用されている環境で観測される応答時間に基づき、他の環境におけるネット品質情報を使用した場合の応答時間を推測することを目的とする。
【課題を解決するための手段】
【０００９】
一つの案では、第１の地点におけるクライアント機器とサーバ機器とで送受信されるパケットを取得し、取得した前記パケットを解析してパケットのロス数を算出し、算出した前記パケットのロス数と、第２の地点におけるクライアント機器が前記サーバ機器とデータ通信を行うときのネット品質情報と、に基づきパケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを算出し、算出した前記遅延時間の最大値、最小値及び平均値の少なくともいずれかに基づき、前記第２の地点におけるクライアント機器が行う操作に対する前記サーバ機器の応答時間を推測する、処理をコンピュータに実行させる品質推測プログラムが提供される。
【発明の効果】
【００１０】
一側面によれば、実際に使用されている環境で観測される応答時間に基づき、他の環境におけるネット品質情報を使用した場合の応答時間を推測することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係るリモートデスクトップシステムの構成例を示す図。
【図２】一実施形態に係るリモートデスクトップシステムの動作例を示す図。
【図３】一実施形態に係るキャプチャサーバの機能構成例を示す図。
【図４】一実施形態に係る操作ログテーブル例を示す図。
【図５】一実施形態に係る応答時間テーブル例を示す図。
【図６】一実施形態に係るネット品質情報テーブル例を示す図。
【図７】一実施形態に係る推測応答時間テーブル例を示す図。
【図８】一実施形態に係るパケットロスが体感品質に及ぼす影響を説明するための図。
【図９】一実施形態に係るＲＴＯによる遅延及びＦＲによる遅延を説明するための図。
【図１０】一実施形態に係る通信における各部でのパケットロスによる遅延時間を示す図。
【図１１】一実施形態に係る操作コマンドのパケットロスによる遅延時間を説明するための図。
【図１２】一実施形態に係るＦＬＵＳＨコマンドのパケットロスによる遅延時間を説明するための図。
【図１３】一実施形態に係るパケットロス率に応じた遅延時間を説明するための図。
【図１４】一実施形態に係るパケットロス率に応じた遅延時間のパターンを示す図。
【図１５】一実施形態に係るパケットロス率に応じた遅延時間の算出による品質推測処理例を示すフローチャート。
【図１６】一実施形態に係るパケットロス率に応じた遅延時間の算出に用いる各テーブルの情報を示す図。
【図１７】一実施形態に係る推測応答時間の出力例を示す図。
【図１８】一実施形態にかかるサービスサーバのハードウェア構成例を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１３】
[リモートデスクトップシステム] 
まず、本発明の一実施形態にかかるリモートデスクトップシステムについて、図１及び図２を参照しながら簡単に説明する。図１は、一実施形態に係るリモートデスクトップシステムの構成例を示す。図２は、一実施形態に係るリモートデスクトップシステムの動作例を示す。
【００１４】
本実施形態のリモートデスクトップシステム１０は、クライアント機器１、サービスサーバ２、スイッチ３及びキャプチャサーバ４を有する。クライアント機器１とサービスサーバ２とは、ネットワークＮ１を介して相互に接続されている。キャプチャサーバ４は、スイッチ３を介してクライアント機器１とサービスサーバ２とで送受信されるデータを取得可能な装置である。
【００１５】
例えば、リモートデスクトップシステム１０には、サービスサーバ２がデスクトップ画面の生成を実行し、クライアント機器１に提供するシンクライアントシステムと呼ばれるシステムが含まれる。
【００１６】
なお、本実施形態のリモートデスクトップシステムでは、サービスサーバ２及びキャプチャサーバ４が単数であるが、複数でもよい。サービスサーバ２及びキャプチャサーバ４が複数の場合、それぞれ分散処理をすることも可能である。
【００１７】
データセンタが提供しているリモートデスクトップ環境を利用する場合、データセンタに近い第１の地点におけるクライアント機器１と、データセンタから遠い第２の地点におけるクライアント機器５とでは、リクエストに対する応答時間やユーザが感じる体感品質に違いが生じる。その原因としては、データセンタから各観測地点までの距離やネットワーク帯域などさまざまな要因が想定される。よって、第２の地点でリモートデスクトップ環境を利用しようとした場合には、実際に第２の地点においてユーザがリモートデスクトップ環境を利用してみないと体感品質がわからないのが現状である。そこで、本実施形態では、実際に使用されている第１の地点で観測される応答時間に基づき、第２の地点におけるネット品質情報を使用した場合の応答時間を推測する方法（品質推測方法）を提案する。
【００１８】
本実施形態にかかるキャプチャサーバ４は、品質推測方法を実行する品質推測装置の一例である。品質推測方法を実行する品質推測装置は、キャプチャサーバ４からデータを得ることのできる他のサーバであってもよい。また、本実施形態にかかる品質推測方法は、所定の記憶領域に記憶された品質推測プログラムを品質推測装置が実行することにより実現されてもよい。
【００１９】
クライアント機器１及びサービスサーバ２は、図２に示したように次のような一連の処理を繰り返す。まず、クライアント機器１は、ユーザによるマウス等の入力装置の操作（以下、「ユーザ操作」ともいう。）に対する操作コマンドをサービスサーバ２に送信する（ステップＳ１）。例えば、「ユーザ操作」には、マウスボタンの押下げ、マウスボタンの移動、キー入力などがある。
【００２０】
サービスサーバ２は、受信した操作コマンドに対する描画処理を行う。サービスサーバ２は、描画コマンドをクライアント機器１に返信する（ステップＳ２）。描画コマンドには、サービスサーバ２による描画処理により生成された画像データが含まれる。なお、サービスサーバ２による描画処理の一例としては、例えばキー入力に応じた文字の表示、マウス移動操作に伴うポインタの移動、画面のスクロール等、コンピュータが入力操作に応じて実行する種々の描画処理が挙げられる。
【００２１】
クライアント機器１は、サービスサーバ２から受信した描画コマンドに基づいてディスプレイの画面を更新する。これにより、ユーザは、ユーザ操作の結果を画面上の表示から視覚的に認識することができる。
【００２２】
リモートデスクトップ環境では、クライアント機器１から「操作コマンド」が送信されてからクライアント機器１が「描画コマンド」を受信するまでの時間が短いほどユーザが感じる体感品質が良い。本システム１０には、クライアント機器１及びサービスサーバ２間で送受信される操作コマンド及び描画コマンドを時系列に沿って取得するためにスイッチ３及びキャプチャサーバ４が備えられている。
【００２３】
スイッチ３は、通常のスイッチング機能を備えると共に、ポートミラーリング機能を備える。スイッチ３は、クライアント機器１からサービスサーバ２に送信される操作コマンド及びサービスサーバ２からクライアント機器１に返信される描画コマンドを、キャプチャサーバ４に対しポートミラーリングする。
【００２４】
キャプチャサーバ４は、スイッチ３によってポートミラーリングされる操作コマンド及び描画コマンドをキャプチャすることによって取得する。そして、キャプチャサーバ４は、取得した操作コマンド及び描画コマンドを用いて、クライアント機器１における入力操作が送信されてから、その入力操作に応じて生成された描画コマンドがクライアント機器１に返信されるまでの応答時間を算出する。算出された応答時間は、第１の地点において、クライアント機器１を利用するユーザが感じる体感品質に対応する。つまり、リモートデスクトップ環境ではクライアント機器１から「操作コマンド」が送信されてから「描画コマンド（画像データ）」が受信されるまでの時間が短いほどユーザが感じる体感品質が良いということになる。
【００２５】
ここで、国内データセンタにおいて提供しているリモートデスクトップ環境のサービスを国内の第１の地点においてユーザが利用する場合は十分に良質な回線を使うことができ、ユーザの体感品質は良好であると考えられる。しかし、同サービスを国外の第２の地点のユーザにも提供する場合、ネット回線の品質（以下、「ネット品質」ともいう。）が第１の地点でサービスを受ける国内ユーザと比較して悪くなることが考えられる。よって、国内データセンタの近くにある第１の地点と異なる新たな第２の地点でリモートデスクトップ環境を利用しようとした場合には、実際に第２の地点においてユーザがリモートデスクトップ環境を利用してみないと体感品質がわからないという課題がある。
【００２６】
そこで、キャプチャサーバ４は、ある観測地点におけるユーザ操作から描画までの応答時間が既に使用されている環境とは異なるネット品質を持つ環境において応答時間がどのように変化するかを実際に稼働させるのではなくシミュレーションを用いて推測する。キャプチャサーバ４は、推測する際、ネット品質のうち、特にパケットロスによる影響に着目し、リモートデスクトップ環境の通信パターン毎にパケットロスによる遅延時間を算出する。キャプチャサーバ４は、この算出結果に基づき第２の地点におけるリモートデスクトップ環境での応答時間の変化から第２の地点におけるユーザの体感品質を推測する。
【００２７】
具体的には、品質推測には、図１の第１の地点のクライアント機器１が、ネットワークＮ１を介してサービスサーバ２と送受信するパケットのロス数と遅延時間の情報と、第２の地点におけるネット品質情報に基づき、第２の地点における応答時間が推測される。以下に説明する本実施形態に係る品質推測方法は、キャプチャサーバ４により実行される。以下、キャプチャサーバ４の機能構成及びキャプチャサーバ４による品質推測方法の一例について順に説明する。
【００２８】
[キャプチャサーバの機能構成]
本実施形態に係るキャプチャサーバ４の機能構成の一例について、図５を参照しながら説明するキャプチャサーバ４は、取得部１１、Ｌ７解析部１２、算出部１３、推測部１４及び記憶部２０を有する。記憶部２０には、操作ログテーブル２１、応答時間テーブル２２、ネット品質情報テーブル２３及び推測応答時間テーブル２４を記憶する。
【００２９】
取得部１１は、第１の地点におけるクライアント機器１がサービスサーバ２のリモートデスクトップ環境を利用するときの送受信パケットを取得する。具体的には、取得部１１は、スイッチ３によってポートミラーリングされた、クライアント機器１から送信された操作コマンド及びサービスサーバ２から送信された描画コマンドを取得する。描画コマンドには、サービスサーバ２により描画処理された画像データが含まれる。
【００３０】
Ｌ７解析部１２は、取得部１１によって取得された操作コマンド及び描画コマンドを解析し、操作コマンド及び描画コマンドの内容を示す操作ログを生成し、操作ログテーブル２１に書き込む。
【００３１】
算出部１３は、取得部１１が取得した送受信パケットを解析してパケットロス数を算出する。算出部１３は、算出したパケットロス数と所定の地点におけるネット品質情報（図５のネット品質情報テーブル２３に保存）に基づきパケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する。本実施形態では、所定の地点におけるネット品質情報は、所定の地点においてクライアント機器５がサービスサーバ２のリモートデスクトップ環境を利用するときのパケットロス率、ＲＴＴ、帯域情報をいう。
【００３２】
推測部１４は、算出した前記遅延時間の最大値、最小値及び平均値の少なくともいずれかと、に基づき、第２の地点におけるクライアント機器が行うサービスサーバ２に対する操作の応答時間を推測する。以下、推測部１４が推測した応答時間を「推測応答時間」ともいう。
【００３３】
次に、キャプチャサーバ４の記憶部２０が記憶する各種データのデータ構造について説明する。
【００３４】
（操作ログテーブル）
操作ログテーブル２１は、クライアント機器１及びサービスサーバ２間で送受信されるパケットのデータの操作ログ情報が記録されるテーブルである。
【００３５】
操作ログテーブル２１に記憶される操作ログ情報の一例を図４に示す。操作ログテーブル２１は、時刻情報２１１、クライアント情報２１２、サーバ情報２１３、種別情報２１４、コマンド名２１５、コマンドパラメータ２１６、パケット数２１７及びＲＴＴ２１８の各項目を含む。時刻情報２１１は、操作コマンド又は描画コマンドの送信（又は受信）時刻を示す。
【００３６】
クライアント情報２１２は、クライアント機器１のＩＰアドレスを示す。クライアント情報２１２は、クライアント機器１のポート番号を含んでもよい。サーバ情報２１３は、サービスサーバ２のＩＰアドレスを示す。サーバ情報２１３は、サービスサーバ２のポート番号を含んでもよい。種別情報２１４は、送信されたパケットが操作コマンド（Ｒｅｑｕｅｓｔ）か描画コマンド（Ｒｅｓｐｏｎｓｅ）かを示す。コマンド名２１５は、操作コマンド又は描画コマンドの指示内容を示す。コマンドパラメータ２１６は、コマンド名２１５のパラメータ（引数）を示す。マウスによるウィンドウの移動では、「マウスボタンの押下げ」→「マウスカーソル移動（複数）」→「マウスボタンの押上げ」という順にユーザが操作し、これに応じた操作コマンドが発生する。また、各操作コマンドに応じてサービスサーバ２の描画処理が行われ、描画コマンド（描画データを含む）が発生する。
【００３７】
一例としては、「MOUSE_MOVE  X座標,Y座標」のような識別子でリクエストが行われる場合、操作コマンドは、１つのコマンド（MOUSE_MOVE）とそのコマンドに対する付随データ（Ｘ座標，Ｙ座標）で構成されてもよい。サービスサーバ２ではリクエストに対する描画コマンドとして「SEND_DESK_PICTURE (Ｘ座標，Ｙ座標，画像データ)」のような構成のレスポンスを返却してもよい。ただし、操作コマンド及び描画コマンドの構成はこれに限られない。
【００３８】
パケット数２１７は、操作コマンドに含まれるパケット数又は描画コマンドに含まれるパケット数を示す。ＲＴＴ（Round-Trip Time）２１８は、クライアント機器１が操作コマンドを送信してからサービスサーバ２が受信するまでの時間と、サービスサーバ２が操作コマンドの応答として描画コマンドを送信してからクライアント機器１が受信するまでの時間とを加算した時間である（図８のＲＴＴを参照）。ＲＴＴ２１８は、ネットワーク遅延を示す一つのファクターである。
【００３９】
（応答時間テーブル）
応答時間テーブル２２に記憶される情報の一例を図５に示す。応答時間テーブル２２は、クライアント情報２２１、サーバ情報２２２、操作時刻情報２２３、描画先頭データ時刻情報２２４、描画最終データ時刻情報２２５、応答時間情報２２６、ＲＴＴ２２７、処理時間情報２２８、再送時間情報２２９及び転送時間情報２３０の各項目を含む。
【００４０】
クライアント情報２２１、サーバ情報２２２、操作時刻情報２２３、ＲＴＴ２２７には、操作ログテーブル２１の該当操作コマンドに関するクライアント情報２１２、サーバ情報２１３、時刻情報２１１、ＲＴＴ２１８がそれぞれ転記される。例えば、図５の（３）の行のクライアント情報２２１、サーバ情報２２２、操作時刻情報２２３、ＲＴＴ２２７には、図４の（１）の行の操作コマンドに関する対応項目の値が転記されている。
【００４１】
描画先頭データ時刻情報２２４は、図４の（１）の操作コマンドに対する、（２−１）に示す先頭の描画コマンドの送信（又は受信）時刻が記憶される。描画最終データ時刻情報２２５は、図４の（１）の操作コマンドに対する、（２−４）に示す先頭の描画コマンドの送信（又は受信）時刻が記憶される。
【００４２】
応答時間情報２２６は、クライアント機器１の操作時刻情報２２３と描画最終データ時刻情報２２５とから算出される。応答時間情報２２６は、クライアント機器１の操作コマンドの送信（又は受信）時刻と該操作に対応する描画最終データ（ＦＬＵＳＨコマンド）の送信（又は受信）時刻との差分の時間を記憶する。
【００４３】
処理時間情報２２８は、サービスサーバ２において操作コマンドに対する描画処理が行われた時間を記憶する。転送時間情報２３０は、応答時間情報２２６が示す時間から処理時間情報２２８が示す時間を引いた残時間を示す。再送時間情報２２９は、パケットロスが発生したときのロスしたパケットの再送時間を示す。この時点では、再送は発生していないので再送時間情報２２９にはデフォルトの０が設定されている。
【００４４】
（ネット品質情報テーブル）
ネット品質情報テーブル２３には、第１の地点や第２の地点等の各観測地点において各クライアント機器がサービスサーバ２のリモートデスクトップ環境を利用するときのネット品質情報が記憶される。ネット品質情報テーブル２３に記憶される情報の一例を図６に示す。ネット品質情報には、例えば、帯域、ＲＴＴ、パケットロス率が記憶される。図６では、帯域が「１０Ｍｂｐｓ」、ＲＴＴが「１０ミリ秒」、パケットロス率が「３％」に設定されている。
【００４５】
（推測応答時間テーブル）
推測応答時間テーブル２４に記憶される情報の一例を図７に示す。推測応答時間テーブル２４は、クライアント情報２４１、サーバ情報２４２、操作時刻情報２４３、描画先頭データ時刻情報２４４、描画最終データ時刻情報２４５、応答時間情報２４６、ＲＴＴ２４７、処理時間情報２４８、再送時間情報２４９及び転送時間情報２５０の各項目を含む。
【００４６】
クライアント情報２４１、サーバ情報２４２、操作時刻情報２４３、描画先頭データ時刻情報２４４、描画最終データ時刻情報２４５、ＲＴＴ２４７、処理時間情報２４８及び転送時間情報２５０には、図５の応答時間テーブル２２の対応項目がそれぞれ転記される。
【００４７】
応答時間情報２４６は、第２の地点におけるクライアント機器５がサービスサーバ２を利用するときの、クライアント機器５が行う遠隔操作に対して推測される応答時間を示す。応答時間情報２４６は、算出した遅延時間の最大値、最小値及び平均値の少なくともいずれかに基づき算出される。図７の例では、応答時間情報２４６には、後述される品質推測方法によって算出された遅延時間の最大値が記憶される。応答時間情報２４６には、算出された遅延時間の最大値だけでなく、遅延時間の最小値や平均値が記憶されてもよい。再送時間情報２４９は、パケットロスが発生したときのパケットの再送時間を示す。
【００４８】
[ＲＴＴとパケットロス] 
ネットワーク遅延を示すファクターには、上記に示したＲＴＴの他にパケットロス率がある。図８において、パケットロス数は、クライアント機器１が送信した操作コマンドのパケット及びサービスサーバ２が送信した描画コマンド１〜３のパケットのロス数を示す。パケットロス率は、クライアント機器１が送信した操作コマンドのパケット及びサービスサーバ２が送信した描画コマンド１〜３のパケットの全パケット数に対するロスしたパケット数の割合を示す。図８では、サービスサーバ２は、所定の描画処理を行って生成された画像データを複数のパケットに分割して描画コマンド１〜３に含めて送信する。
【００４９】
ネットワーク品質情報では、ＲＴＴを用いることでインタラクティブな操作に対する最小の応答時間を算出できる。例えば図８に示すように、クライアント機器１が、操作コマンドを送信してから最初の描画コマンド１をサービスサーバ２から受信するまでの時間からサービスサーバ２の処理時間を引いた楕円により示す遅延時間は、ＲＴＴにより算出できる。
【００５０】
ネットワークの品質の評価にＲＴＴを用いただけでは、ネットワークの品質の評価とユーザが実際に感じる体感品質とが異なる場合が生じる。その理由の一つとして、パケットロスが発生した場合に再送する方法が二つあり、再送方法が異なると再送時間に長短が生じることが挙げられる。
【００５１】
[パケットロスが発生した場合に再送する方法] 
パケットロスが発生した場合に再送する二つの方法について、図９の（ａ）及び図９の（ｂ）を参照しながら説明する。図９の（ａ）に示す一つ目の再送方法では、クライアント機器１は、サービスサーバ２にパケット１を送信し、パケット１の受信を示すＡＣＫが到着することを待ち、所定時間経過してもＡＣＫが届かなかった場合にパケット１を再送する。この場合、再送のタイミングは、１秒，２秒，４秒・・・、又は３秒，６秒・・・となる。この再送方法では、ＲＴＴのパケットロスの遅延は少なくとも数秒になる。この再送方法によるパケットロスの遅延を、ＲＴＯ（Retransmit Time Out）という。ＲＴＯによる遅延時間の最短時間は、パケット１を送信してから１秒後に再送する場合の「１秒」である。
【００５２】
図９の（ｂ）に示す二つ目の再送方法は、クライアント機器１は、サービスサーバ２から複数のパケットを受信する。クライアント機器１は、サービスサーバ２がパケットを送信した順にパケットを受信するとは限らないことを考慮して、パケットが到着すべきタイミングから２パケット分待つ。ここでは、クライアント機器１は、到着すべきパケット３を受信しなかったのでパケット４、５の２パケットの到着を待つ。
【００５３】
その結果、２パケット分のパケットの到着を待ってもパケット３が届かなかった場合、クライアント機器１はロスしたパケット３の再送要求を送信する。再送要求を受けたサービスサーバ２は、すぐにロスしたパケット３を再送する。この再送方法では、再送のタイミングは、到着すべきパケットが到着せずに２パケット分待ってもロスしたパケットが到着しなかったときである。この再送方法によるパケットロスの遅延を、ＦＲ（Fast Retransmit）という。ＦＲによる遅延時間は、数ミリ秒〜数百ミリ秒になる。
【００５４】
[ＲＴＴとパケットロス] 
リモートデスクトップ環境では、図１０のような通信パターンが非同期に繰り返されると捉えることができる。図１０の（Ａ）では、小サイズのユーザ操作に対する操作コマンドの送受信が行われる。この場合、概ね単一パケットが散発的に送信される。
図１０の（Ｂ）では、サーバでの描画処理が実行される。図１０の（Ｃ）では、相対的に大サイズの描画データが送受信される。この場合、複数パケットが連続して送信される。図１０の（Ｄ）では、相対的に小サイズの描画データと描画指示のコマンドが送受信される。この場合、単一パケットが送信される。
【００５５】
このような通信パターンでは、（Ａ）〜（Ｄ）の各部で発生するパケットロスによる遅延時間は下記で定義され得る。
（Ａ）ＲＴＯ（Retransmit Time Out）
（Ｂ）（パケットロスは発生しない）
（Ｃ）Fast Retransmit
（Ｄ）ＲＴＯ
この結果、（Ａ）、（Ｃ）、（Ｄ）にて発生するパケットロスの遅延が、ＲＴＯ又はＦＲによるパケットロスの遅延のいずれであるかがわかる。（Ｂ）ではパケットロスは発生しないため、遅延時間は生じない。
【００５６】
[（Ａ）〜（Ｄ）にて発生するパケットロスの遅延] 
次に、（Ａ）〜（Ｄ）の各部で発生するパケットロスによる遅延時間の詳細について説明する。実際のシーケンスにおいては、（Ａ）〜（Ｄ）の各部でのロスによる遅延時間は下記のようになる。
【００５７】
図１０の（Ａ）では、操作コマンドの発生間隔がＲＴＯ値未満の場合はそれに従う。図１０の（Ａ）にて発生するパケットロスの遅延については、図１１を参照しながら後述される。
【００５８】
図１０の（Ｂ）ではパケットロスは発生しない。
【００５９】
図１０の（Ｃ）では、Fast Retransmitの遅延が生じる。
【００６０】
図１０の（Ｄ）では、直前のＦＬＵＳＨコマンドとその直後のフレームの画像データを含む描画コマンドまでの時間と、ＲＴＯの時間の短いほうに従う。図１０の（Ｄ）にて発生するパケットロスの遅延については、図１２を参照しながら後述される。
【００６１】
（Ａ）操作コマンドのパケットロスによる遅延
図１０の（Ａ）で発生する遅延は、操作コマンドのパケットロスによる遅延である。この場合、下記の（Ａ−１）の時間又は（Ａ−２）の時間のうちの短い方の時間に従い再送が発生する。つまり、（Ａ−１）の時間又は（Ａ−２）の時間のうちの短い方の時間が、図１０の（Ａ）で発生するパケットロスによる遅延時間となる。
（Ａ−１）ＲＴＯの時間
操作間隔がまばらな環境では、なかなか次のパケットが送信されないためＲＴＯによる再送が発生する。つまり、遅延時間はＲＴＯ値を使用できる。ＲＴＯ値が「１秒」の場合、図１１に示す時間Ｔ１（パケット１をロスしてからパケット1の再送要求を受信するまでの時間）が１秒より長いと、図１１に示したＦＲによるパケット１の再送要求の前にＲＴＯによりＡＣＫを受信していない場合のパケットの再送が行われる。この場合、ロスした遅延時間はＲＴＯ値（例えば「１秒」）を使用できる。
（Ａ−２）２回分の操作コマンドがサーバに送られるまでの時間
マウス移動などでは操作コマンドの送信間隔が短くなる。例えば送信間隔が１０ミリ秒程度になる場合、図１１に示す時間Ｔ１は数１０ミリ秒程度になるため、ＲＴＯ値より短い時間となる。この場合、Fast Retransmitに従ってパケットの再送が発生する。つまり、パケットロスの遅延時間はパケット１の操作コマンドが送信されてから２回あとの操作コマンドが送信されるまでの時間となる。
【００６２】
このようにして、図１０の（Ａ）での操作コマンドのパケットロスによる遅延時間は、操作コマンドを送信してから再送するタイミングがＲＴＯ値の「１秒」未満の場合、ＦＲのパケットロスに従った遅延時間を適用する。一方、操作コマンドを送信してから再送するタイミングがＲＴＯ値の「１秒」以上の場合にはＲＴＯのパケットロスとしてＲＴＯ値の「１秒」の遅延時間を適用する。ただし、本実施形態では、ＲＴＯ値を「１秒」に設定して説明を続けるが、ＲＴＯの時間は、２秒以上であってもよい。
【００６３】
（Ｃ）描画コマンド（画像データ）のパケットロスによる遅延
図１０の（Ｃ）で発生する遅延は、描画コマンド（画像データ）のパケットロスによる遅延である。図１０の（Ｃ）では、Fast Retransmitの遅延が生じる。つまり、クライアント機器１はパケットをロスした後、２パケット分待ってからサービスサーバ２にパケットロスの通知と再送要求をする。再送要求をうけたサービスサーバ２はすぐにロスしたパケットを再送する。つまり、Fast Retransmitによる遅延時間はＲＴＴ（＋α）を利用できる。
【００６４】
（Ｄ）ＦＬＵＳＨコマンド（最終描画コマンド）のパケットロスによる遅延
図１０の（Ｄ）で発生する遅延は、最終描画コマンド（画像データ）のパケットロスによる遅延である。この場合、下記の（Ｄ−１）の時間又は（Ｄ−２）の時間のうちの短い方の時間に従い再送が発生する。つまり、（Ｄ−１）の時間又は（Ｄ−２）の時間のうちの短い方の時間が、図１０の（Ｄ）で発生するパケットロスによる遅延時間となる。
（Ｄ−１）ＲＴＯの時間
描画間隔がまばらな環境では、次のフレームがなかなか送信されないためＲＴＯによる再送が発生する。つまり、この場合の遅延時間はＲＴＯ値の「１秒」を使用できる。
（Ｄ−２）直後のフレームの画像データまでの時間
パケットをロスした際に、次フレームの２番目の描画コマンドが到着した時点でロスに気付く。つまり、図１２に示すように、クライアント機器１は、最終描画コマンド（ＦＬＵＳＨコマンド）のパケットをロスしてから、次フレームの２パケット分待ってからロスしたパケットの再送要求を送信する。再送要求を受信したサービスサーバ２はすぐにロスしたパケットを再送する。つまり、この場合の遅延時間は、直前のＦＬＵＳＨコマンドが送信されてから２パケット分の描画コマンドが送信されるまでの時間と、ＲＴＴ（＋α）の時間とを合計した時間を使用できる。
【００６５】
マウスボタンの押下げによるスクロール描画のような場合には、ユーザである人間がキーボードを操作できる速度がコンピュータの処理能力に比べて十分に遅い。一方、マウス操作によるカーソルの位置情報は、入力操作がきめ細かく通知されることが多い。このような操作間隔を考慮して、（Ａ）におけるパケットロスによる遅延時間は、操作コマンドの送信間隔の長短により、ＲＴＯの時間と、ＦＲに従い２回分の操作コマンドがサービスサーバ２に送られるまでの時間との短い方の時間となる。同様に、（Ｄ）におけるパケットロスによる遅延時間は、ＦＲに従いＦＬＵＳＨコマンドの次のフレームの２パケット分の描画コマンドがサービスサーバ２に送られるまでの時間と、ＲＴＯの時間との短い方の時間となる。
【００６６】
[パケットロス率に応じた遅延時間の算出] 
次に、（Ａ）、（Ｃ）、（Ｄ）の各部で発生するパケットロスによる遅延時間の算出について説明する。本実施形態にかかる品質推測方法では、以下（１）〜（３）のステップによりパケットロスによる遅延時間を算出する。
（１）パケットロス率に応じて、ロスしたパケット数を算出する。
（２）ロスしたパケット数を操作コマンド、画像データ、ＦＬＵＳＨコマンドの３か所に割り当て、それぞれに対する遅延時間を算出する。
（３）（２）で算出された遅延時間のうち最大及び最小を求め、そのシーケンスでロスが発生した際の影響の最小値と最大値とする。本実施形態では、遅延時間の最小と最大の範囲をユーザに提示することで、そのパケットロスでどの程度操作に影響するかをユーザに通知することができる。また、算出した遅延時間の最小値、最大値、平均値に基づき、ネット品質を推測できる。
【００６７】
たとえば、図１３に示すように、クライアント機器１が操作コマンドを送信し、これを受けたサービスサーバ２が描画処理を行い、描画コマンド１〜３を送信したときに送受信されたパケット数は全部で６パケットとなる。記憶部２０は、パケット数を記憶しておく。
【００６８】
次に、算出部１３は、ネット品質情報テーブル２３に記憶されたパケットロス率に応じて、ロスしたパケット数を算出する。ここで、パケットロス率を例えば３％としたとき、ロスしたパケット数は、６［個］×０．０３＝０．１８となる。この場合、本実施形態では、「パケットロスの影響」を推測したいため、ロスしたパケット数は、繰り上げて１個とする。
【００６９】
パケットロス率を決定するために用いられる一方法としては、図１の第２の地点などの観測地点のクライアント機器からサーバにｐｉｎｇコマンドを実行してもらい、最後に統計値として出力されるロス率を使用する方法がある。パケットロス率を決定するために用いられる他の方法としては、ネットワーク測定のシステムを使用する方法、概算値として適当な値を利用する方法などがある。
【００７０】
ロスしたパケット数を操作コマンド（図１０の（Ａ）参照）、画像データ（図１０の（Ｃ）参照）、ＦＬＵＳＨコマンド（図１０の（Ｄ）参照）の３か所に割り当てた時に、それぞれに対する遅延時間を算出する。ここで最終的に算出したいのは、ユーザがパケットロスでどの程度操作に影響するかを知るための、遅延時間の最小と最大の範囲である。
【００７１】
遅延時間の最大の候補としては、以下の「a」及び「ｂ」の場合が挙げられる。
ａ．操作コマンドでパケットロスが発生する場合であって、Fast Retransmitがロスの遅延時間に適用されない場合
ｂ．ＦＬＵＳＨコマンドでパケットロスが発生する場合であって、Fast Retransmitがロスの遅延時間に適用されない場合
遅延時間の最小の候補としては、以下の「ｃ」の場合が挙げられる。
ｃ．画像データでパケットロスが発生する場合（つまり、Fast Retransmitがロスの遅延時間に適用される場合）
算出部１３は、上記「ａ」、「ｂ」、「ｃ」について想定される遅延時間を算出する。ロスしたパケットが複数の場合には、算出部１３は、図１４に示す「ａ」、「ａ＋ｂ」、「ｂ」、「ｃ」の４通りの遅延時間を計算する。「ａ＋ｂ」は、操作コマンドとＦＬＵＳＨコマンドとでパケットロスが発生する場合である。
【００７２】
[パケットロス率に応じた遅延時間の算出に基づく品質推測方法] 
次に、本実施形態にかかる品質推測方法について、図１５を参照しながら説明する。図１５は、本実施形態にかかるパケットロス率に応じた遅延時間の算出による品質推測処理例を示すフローチャートである。
【００７３】
図１５の遅延時間の算出による品質推測処理が開始されると、第２の地点等の観測地点におけるネット品質情報が入力される。算出部１３は、ネット品質情報テーブル２３から観測地点のパケットロス率を取得する（ステップＳ１０）。
【００７４】
算出部１３は、パケットロス率に応じて「ロスしたパケット数」を算出する（ステップＳ１２）。次に、算出部１３は、操作ログテーブル２１のＲＴＴ２１８の項目から対象となるシーケンスが実行されている個所のＲＴＴの値を抽出する（ステップＳ１４）。
【００７５】
次に、算出部１３は、対象の操作コマンドから２つ後の操作コマンドまでの時刻の差分である時差Ｄ１を算出する（ステップＳ１６）。次に、算出部１３は、時差Ｄ１が１秒よりも小さいかを判定する（ステップＳ１８）。算出部１３は、時差Ｄ１が１秒よりも小さいと判定した場合、操作コマンドのパケットロスによる遅延時間は時差Ｄ１であると算出する（ステップＳ２０）。一方、算出部１３は、時差Ｄ１が１秒以上であると判定した場合、操作コマンドのパケットロスによる遅延時間はＲＴＯの時間の１秒であると算出する（ステップＳ２２）。
【００７６】
次に、算出部１３は、対象のＦＬＵＳＨコマンドから、直後のフレームの２パケット後の描画コマンドまでの時刻の差分である時差Ｄ２を算出する（ステップＳ２４）。次に、算出部１３は、時差Ｄ２が１秒よりも小さいかを判定する（ステップＳ２６）。算出部１３は、時差Ｄ２が１秒よりも小さいと判定した場合、ＦＬＵＳＨコマンドのパケットロスによる遅延時間は時差Ｄ２であると算出する（ステップＳ２８）。一方、算出部１３は、時差Ｄ２が１秒以上であると判定した場合、ＦＬＵＳＨコマンドのパケットロスによる遅延時間はＲＴＯの時間の１秒であると算出する（ステップＳ３０）。
【００７７】
次に、算出部１３は、操作コマンドでパケットロスが発生する場合の遅延時間ａに、算出された操作コマンドのパケットロスによる遅延時間を代入する（ステップＳ３２）。次に、算出部１３は、パケットロスした数が２以上かを判定する（ステップＳ３４）。パケットロスした数が２以上の場合、図１４に示すように、遅延時間ａの２つ目以上のパケットロスは画像データの送信時に発生している。よって、算出部１３は、パケットロスした数が２以上と判定した場合、遅延時間ａに、「（パケットロスした数−１）×ＲＴＴ」の値を加算する（ステップＳ３６）。算出部１３は、パケットロスした数が２未満と判定した場合、ステップＳ３８に進む。
【００７８】
次に、算出部１３は、ＦＬＵＳＨコマンドでパケットロスが発生する場合の遅延時間ｂに、算出されたＦＬＵＳＨコマンドのパケットロスによる遅延時間を代入する（ステップＳ３８）。次に、算出部１３は、パケットロスした数が２以上かを判定する（ステップＳ４０）。パケットロスした数が２以上の場合、図１４に示すように、遅延時間ｂの２つ目以上のパケットロスは画像データの送信時に発生している。よって、算出部１３は、パケットロスした数が２以上と判定した場合、遅延時間ｂに、「（パケットロスした数−１）×ＲＴＴ」の値を加算する（ステップＳ４２）。算出部１３は、パケットロスした数が２未満と判定した場合、ステップＳ４４に進む。
【００７９】
次に、算出部１３は、画像データのみでパケットロスが発生する場合の遅延時間ｃに、（パケットロスした数×ＲＴＴ）で算出された時間を代入する（ステップＳ４４）。次に、算出部１３は、パケットロスした数が２以上かを判定する（ステップＳ４６）。算出部１３は、パケットロスした数が２以上でないと判定した場合、ステップＳ５４に進む。一方、算出部１３は、パケットロスした数が２以上であると判定した場合、操作コマンドのパケットロスによる遅延時間とＦＬＵＳＨコマンドのパケットロスによる遅延時間とを加算する。そして、算出部１３は、操作コマンド及びＦＬＵＳＨコマンドでパケットロスが発生する場合の遅延時間ａ＋ｂに、前記加算した時間を代入する（ステップＳ４８）。
【００８０】
次に、算出部１３は、パケットロスした数が３以上かを判定する（ステップＳ５０）。パケットロスした数が３以上の場合、図１４に示すように、遅延時間「ａ＋ｂ」の３つ目以上のパケットロスは画像データの送信時に発生している。よって、算出部１３は、パケットロスした数が３以上と判定した場合、遅延時間ａ＋ｂに、「（パケットロスした数−２）×ＲＴＴ」の値を加算する（ステップＳ５２）。算出部１３は、パケットロスした数が３未満と判定した場合、ステップＳ５４に進む。
【００８１】
次に、推定部１４は、推測応答時間として、算出した遅延時間ａ、ａ＋ｂ、ｂ、ｃの最大、最小、平均値を出力し（ステップＳ５４）、本処理を終了する。なお、遅延時間ａ＋ｂは、パケットロスが２個以上の場合のみ計算対象となる。推定部１４は、推測応答時間として、算出した遅延時間ａ、ａ＋ｂ、ｂ、ｃの最大、最小、平均値の少なくともいずれかを出力してもよい。
【００８２】
[品質推測の具体例]
図１６の（ａ）に示す操作ログテーブル２１の情報に基づき、リモートデスクトップ環境においてパケットロスによる影響を推測した推測応答時間を算出する具体例を以降に記載する。
【００８３】
算出部１３は、パケットロス率に応じて、ロスしたパケット数を算出する。その際、算出部１３は、図５の応答時間テーブル２２に記載された操作時刻情報２２３、描画先頭データ時刻情報２２４、描画最終データ時刻情報２２５に基づいて、図４の操作ログテーブル２１からユーザ操作（操作コマンド）と描画データ群（描画コマンド）を抽出する。本実施形態で示した図４の例では操作ログテーブル２１の（１）と（２−１）〜（２−４）で塗りつぶされた行がそれぞれユーザ操作と描画データ群となる。
【００８４】
算出部１３は、抽出されたユーザ操作と描画データ群を構成するパケット数を算出する。各行の末尾に記載されたパケット数２１７の「ｐａｃｋｅｔＮｕｍ＝」に続く数字が、各行のデータを構成するパケット数を表している。図４の例では全部で４４（＝１＋１＋３９＋２＋１）個のパケットにより構成されている。
【００８５】
次に、図６に示すネット品質情報テーブル２３を参照すると、パケットロス率は３％であることが指定されている。よって、算出部１３は、ロスしたパケット数を以下の計算により２個と算出する。
４４×０．０３＝１．３２→小数点以下を切り上げてロスしたパケット数は「２個」
算出部１３は、ロスしたパケット数を操作コマンド、画像データ、ＦＬＵＳＨコマンドの３か所に割り当て、それぞれに対する遅延時間を算出する。
【００８６】
操作ログテーブル２１の（１）で示す操作コマンドの操作時刻と２つ後の操作コマンドの操作時刻の時差は１秒より小さい。よって、算出部１３は、（１）で示す操作コマンドと２つ後の操作コマンドとの操作時刻の時差Ｄ１を操作コマンドがロスすることによる遅延時間ａに代入する。具体的には、操作コマンドがパケットロスすることによる遅延時間ａは以下のように算出される。
【００８７】
遅延時間ａ＝０．１６５２６７秒（＝１０：５８：３５．６８３４０１−１０：５８：３５．５１８１３４）
ロスしたパケット数は２なのでＲＴＴを１つ分加算して、
遅延時間ａ＝０．１６５３３２秒（＝０．１６５２６７＋０．００００６５）
画像データがパケットロスすることによる遅延時間ｃは以下のように算出される。
遅延時間ｃ＝０．０００１３０秒（＝２×０．００００６５）
ＦＬＵＳＨコマンドがパケットロスすることによる遅延時間ｂは以下のように算出される。図４のＦＬＵＳＨコマンドの直後のフレームの２パケット後の描画コマンド（２−５）とＦＬＵＳＨコマンドとの時差は１秒より小さいので遅延時間には時差が用いられる。
遅延時間ｂ＝０．０００００１秒（＝１０：５８：３５．６９３２３４−１０：５８：３５．６９３２３３）
ロスしたパケット数は２なのでＲＴＴを１つ分加算して、
遅延時間ｂ＝０．００００６６秒（＝０．０００００１＋０．００００６５）
図１６には、上記例によりパケットロス率に応じた遅延時間の算出に用いる各テーブルに記憶される情報を示す。図１６の（ａ）は、応答時間テーブル２２の一例を示す。算出部１３が、図１６の（ａ）に示す各データを用いて各遅延時間ａ、ａ＋ｂ、ｂ、ｃを計算した。その結果、図１６の（ａ）の操作ログの情報に対して、算出部１３が算出した遅延時間ａ、ｂ、ｃを図１６の（ｄ）に示す。この例では、操作コマンドでパケットロスが発生することによる遅延時間ａは、「０．１６５３３２秒」となり、パケットロスの遅延時間の最大値となった。また、ＦＬＵＳＨコマンド（最終描画コマンド）でパケットロスが発生することによる遅延時間ｂは、「０．００００６６秒」となり、パケットロスの遅延時間の最小値となった。画像データ（最終ではない描画コマンド）でパケットロスが発生することによる遅延時間ｃは、「０．０００１３０秒」となった。
【００８８】
図１６の（ｂ）には遅延時間が最大の場合（ここでは、操作コマンドのパケットロス）の推測応答時間「０．３４０４３１秒」が応答時間２４６に記憶される。遅延時間の最大値「０．３４０４３１秒」は、遅延時間ａ「０．１６５３３２秒」を応答時間テーブル２２に記憶された応答時間情報２２６の応答時間「０．１７５０９９秒」に加算して得られる。
【００８９】
また、図１６の（ｃ）には遅延時間が最小の場合（ここでは、ＦＬＵＳＨコマンドのパケットロス）の推測応答時間「０．１７５１６５秒」が応答時間２４６に記憶される。遅延時間の最小値「０．１７５１６５秒」は、遅延時間ｂ「０．００００６６秒」を応答時間テーブル２２に記憶された応答時間情報２２６の応答時間「０．１７５０９９秒」に加算して得られる。
【００９０】
以上のように、本実施形態にかかるリモートデスクトップシステム１０は、観測地点におけるネット品質情報に基づき、観測地点においてクライアント機器１がサービスサーバ２からのサービスを受ける際の最大及び最小での応答時間を算出する。
【００９１】
上記算出された遅延時間のうちの最大及び最小から、そのシーケンスでパケットロスが発生した際の影響の最大値と最小値とがわかる。この最小と最大の範囲をユーザに提示することで、実測せずに、パケットロスが発生したときにどの程度操作に影響するかをユーザに知らせることができる。これにより、ユーザは、実際に観測地点においてリモートデスクトップ環境を利用することなく、観測地点において利用し難いか又は利用し易いかについての体感品質に関する情報を得ることができる。
【００９２】
図１７は、本実施形態に係るパケットロス率に応じた遅延時間ａ，ｂ，ｃ，ａ＋ｂの算出による推測応答時間の出力例を示す。サービスサーバ２は、上記で算出された遅延時間ａ，ｂ，ｃ，ａ＋ｂのうち最大及び最小を求め、そのシーケンスでパケットロスが発生した際の影響の最小値と最大値としてユーザに提示してもよい。
【００９３】
また、サービスサーバ２は、算出された最小値と最大値の範囲と、前記４通りで算出した遅延時間ａ，ｂ，ｃ，ａ＋ｂの平均値とをユーザに提示してもよい。このようにしてサービスサーバ２は、指定されたパケットロス率における遅延時間の最小から最大までを考慮した応答時間をユーザに提示する。これにより、ユーザは、観測地点においてクライアント機器がサービスサーバ２とデータ通信する際の最良の体感品質と最悪の体感品質と平均の体感品質の指標を得ることができる。これにより、ユーザは、対象とするシステムが必要な条件にしたがって仕様に適しているかを、実測することなく図１７の推測応答時間を示すグラフから判断することができる。
【００９４】
なお、図１７では推測結果として推測応答時間の最小値、平均値、最大値の３本のグラフを表示したが、ユーザによっては例えば最悪値のみを見る等の使い方もできる。つまり、推測結果としてユーザに提示する推測応答時間は、推測応答時間の最小値、平均値、最大値の少なくともいずれかであればよい。
【００９５】
以上に説明したように、一実施形態に係るリモートデスクトップシステム１０によれば、実際に使用されている環境で観測される応答時間に基づき、他の環境（所定の地点）におけるネット品質情報を使用した場合の応答時間を推測し、ユーザに表示することができる。これにより、ユーザは、他の環境におけるネット品質情報を使用した場合の応答時間を実測することなく推測し、これに応じて事前に実用的に使用できるか否かを判断することができる。
【００９６】
（ハードウェア構成例）
最後に、本実施形態に係るサービスサーバ２のハードウェア構成例について、図１８を参照して説明する。図１８は、本実施形態にかかるサービスサーバ２のハードウェア構成例を示す。
【００９７】
サービスサーバ２は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ(Random Access Memory)１０４、ＲＯＭ(Read Only Memory)１０５、ＣＰＵ(Central Processing Unit)１０６、通信Ｉ／Ｆ１０７、及びＨＤＤ(Hard Disk Drive)１０８を備える。各部はバスＢで相互に接続されている。
【００９８】
入力装置１０１は、キーボードやマウスなどを含み、サービスサーバ２にデータを入力するのに用いられる。表示装置１０２は、ディスプレイを含み、各種の処理結果を表示する。
【００９９】
通信Ｉ／Ｆ１０７は、サービスサーバ２をネットワークに接続するインタフェースである。これにより、サービスサーバ２は、通信Ｉ／Ｆ１０７を介してクライアント機器１とデータ通信を行うことができる。
【０１００】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する基本ソフトウェア及びアプリケーションソフトウェアがある。例えば、ＨＤＤ１０８には、各種のデータやプログラム等が格納されている。
【０１０１】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａなどがある。これにより、サービスサーバ２は、外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａには、ＣＤ(Compact Disk)、及びＤＶＤ(Digital Versatile Disk)、ならびに、ＳＤメモリカード(SD Memory card)やＵＳＢメモリ(Universal Serial Bus memory)などがある。
【０１０２】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、ネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記記憶装置（例えば「ＨＤＤ１０８」や「ＲＯＭ１０５」など）から、プログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【０１０３】
上記ハードウェア構成により、本実施形態に係るサービスサーバ２は、リモートデスクトップ環境での描画処理及び品質推測処理を行うことができる。例えば、ＣＰＵ１０６が、ＲＯＭ１０５やＨＤＤ１０８内に格納されたデータ及びプログラムを用いて描画処理及び品質推測処理を実行する。この結果、本実施形態では、実際に使用されている環境で観測される応答時間を基にして、他の環境におけるネット品質情報を使用した場合の応答時間を推測をユーザに提供することができる。これにより、ユーザは、他の環境（例えば、図１の第２の地点のクライアント機器５）でのリモートデスクトップ環境が実用的に使用できるか否かを、実測することなく事前に判断することができる。
【０１０４】
なお、操作ログテーブル２１、応答時間テーブル２２、ネット品質情報テーブル２３及び推測応答時間テーブル２４に関するデータは、ＲＡＭ１０４、ＨＤＤ１０８、又はネットワークを介してサービスサーバ２に接続されるクラウド上のサーバ等に格納され得る。
【０１０５】
以上、品質推測プログラム、品質推測方法及び品質推測装置を上記実施形態により説明した。しかしながら、本発明にかかる品質推測プログラム、品質推測方法及び品質推測装置は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記複数の実施形態に記載された事項は、矛盾しない範囲で組み合わせることができる。また、上記品質推測装置の各機能は、ハードウェアにより構成されてもよく、ソフトウェアにより構成されてもよく、ハードウェアとソフトウェアとを組み合わせて構成されてもよい。
【０１０６】
例えば、上記実施形態に係るリモートデスクトップシステム１０の構成は一例であり、本発明の範囲を限定するものではなく、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【０１０７】
例えば、クライアント機器１及びサービスサーバ２がネットワークＮ１を介して互いに接続されているシステム形態は、本実施形態に係るリモートデスクトップシステム１０の一態様であり、これに限定されない。例えば、本実施形態に係るリモートデスクトップシステム１０に含まれるクライアント機器１及びサービスサーバ２の台数は、１台又は２台以上であり得る。複数台のサービスサーバ２が設置される場合、描画処理及び品質推測処理は、複数台のサービスサーバ２で分散処理され得る。なお、用途や目的に応じて、複数台のうち１台のサーバに選択的にそれら処理機能を集約させてもよい。
【０１０８】
また、クライアント機器１は、通信機能を有する電子機器であれば、その個数や機種は問わない。クライアント機器１の一例としては、パーソナルコンピュータＰＣ、スマートフォン、携帯電話、携帯型情報端末（ＰＤＡ）、タブレット型機器、メガネ型や時計型のウェアラブルデバイス、携帯型音楽機器、ゲーム機器、プロジェクター、事務機器、家電品等であってもよい。
【０１０９】
以上の説明に関し、更に以下の項を開示する。
（付記１）
第１の地点におけるクライアント機器とサーバ機器とで送受信されるパケットを取得し、
取得した前記パケットを解析してパケットのロス数を算出し、
算出した前記パケットのロス数と、第２の地点におけるクライアント機器が前記サーバ機器とデータ通信を行うときのネット品質情報と、に基づきパケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを算出し、
算出した前記遅延時間の最大値、最小値及び平均値の少なくともいずれかに基づき、前記第２の地点におけるクライアント機器が行う操作に対する前記サーバ機器の応答時間を推測する、
処理をコンピュータに実行させる品質推測プログラム。
（付記２）
前記算出する処理は、
前記第１の地点におけるクライアント機器が送信する操作コマンドのパケットロスによる遅延時間と、前記操作コマンドに対して前記サーバ機器が送信する描画処理データを含む描画コマンドのパケットロスによる遅延時間と、前記サーバ機器が送信する最終描画コマンドのパケットロスによる遅延時間と、を算出し、前記算出した結果から前記パケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する、
付記１に記載の品質推測プログラム。
（付記３）
前記算出する処理は、
パケットのロス数が２以上の場合、操作コマンド及び最終描画コマンドのパケットロスによる遅延時間を算出し、前記算出した結果から前記パケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する、
付記２に記載の品質推測プログラム。
（付記４）
第１の地点におけるクライアント機器とサーバ機器とで送受信されるパケットを取得し、
取得した前記パケットを解析してパケットのロス数を算出し、
算出した前記パケットのロス数と、第２の地点におけるクライアント機器が前記サーバ機器とデータ通信を行うときのネット品質情報と、に基づきパケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを算出し、
算出した前記遅延時間の最大値、最小値及び平均値の少なくともいずれかに基づき、前記第２の地点におけるクライアント機器が行う操作に対する前記サーバ機器の応答時間を推測する、
処理をコンピュータが実行する品質推測方法。
（付記５）
前記算出する処理は、
前記第１の地点におけるクライアント機器が送信する操作コマンドのパケットロスによる遅延時間と、前記操作コマンドに対して前記サーバ機器が送信する描画処理データを含む描画コマンドのパケットロスによる遅延時間と、前記サーバ機器が送信する最終描画コマンドのパケットロスによる遅延時間と、を算出し、前記算出した結果から前記パケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する、
付記４に記載の品質推測方法。
（付記６）
前記算出する処理は、
パケットのロス数が２以上の場合、操作コマンド及び最終描画コマンドのパケットロスによる遅延時間を算出し、前記算出した結果から前記パケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する、
付記５に記載の品質推測方法。
（付記７）
第１の地点におけるクライアント機器とサーバ機器とで送受信されるパケットを取得する取得部と、
取得した前記パケットを解析してパケットのロス数を算出し、算出した前記パケットのロス数と、第２の地点におけるクライアント機器が前記サーバ機器とデータ通信を行うときのネット品質情報と、に基づきパケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する算出部と、
算出した前記遅延時間の最大値、最小値及び平均値の少なくともいずれかに基づき、前記第２の地点におけるクライアント機器が行う操作に対する前記サーバ機器の応答時間を推測する推測部と、
を有する品質推測装置。
（付記８）
前記算出部は、
前記第１の地点におけるクライアント機器が送信する操作コマンドのパケットロスによる遅延時間と、前記操作コマンドに対して前記サーバ機器が送信する描画処理データを含む描画コマンドのパケットロスによる遅延時間と、前記サーバ機器が送信する最終描画コマンドのパケットロスによる遅延時間と、を算出し、前記算出した結果から前記パケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する、
付記７に記載の品質推測装置。
（付記９）
前記算出する処理は、
パケットのロス数が２以上の場合、操作コマンド及び最終描画コマンドのパケットロスによる遅延時間を算出し、前記算出した結果から前記パケットロスに対する遅延時間の最大値、最小値及び平均値の少なくともいずれかを出力する、
付記８に記載の品質推測装置。
【符号の説明】
【０１１０】
１：クライアント機器
２：サービスサーバ
３：スイッチ
４：キャプチャサーバ４
５：クライアント機器５
１０：リモートデスクトップシステム
１１：取得部
１２：Ｌ７解析部
１３：算出部
１４：推測部
２０：記憶部
２１：操作ログテーブル
２２：応答時間テーブル
２３：ネット品質情報テーブル
２４：推測応答時間テーブル
【図１】
2016082497.tif 000003
【図２】
2016082497.tif 000004
【図３】
2016082497.tif 000005
【図４】
2016082497.tif 000006
【図５】
2016082497.tif 000007
【図６】
2016082497.tif 000008
【図７】
2016082497.tif 000009
【図８】
2016082497.tif 000010
【図９】
2016082497.tif 000011
【図１０】
2016082497.tif 000012
【図１１】
2016082497.tif 000013
【図１２】
2016082497.tif 000014
【図１３】
2016082497.tif 000015
【図１４】
2016082497.tif 000016
【図１５】
2016082497.tif 000017
【図１６】
2016082497.tif 000018
【図１７】
2016082497.tif 000019
【図１８】
2016082497.tif 000020