(57)【要約】      （修正有）【課題】遠隔自動操作におけるターゲットとコントローラとの間の通信量を削減し、自動操作の応答速度を向上させるコントローラ代理プログラム及び方法を提供すること。【解決手段】コントローラ代理プログラム２１は、リモートデスクトップ技術によりネットワーク７０経由で遠隔自動操作する遠隔自動操作システム１において、遠隔操作記録データ２２を記憶させた記憶部２０を備えるターゲット装置１０のコンピュータに、ターゲットプログラム１１からコントローラプログラム３１に送信される表示データを、ターゲットプログラム１１から受信させ、受信させた表示データを、コントローラプログラム３１へ送信しないように遮断させ、受信させた表示データに対して、遠隔操作記録データ２２に基づいて、操作データをターゲットプログラム１１へ送信させる。【選択図】図１
2015158857.tif 000002
【特許請求の範囲】
【請求項１】
ターゲット装置におけるターゲットプログラムと、コントローラ装置におけるコントローラプログラムとの間でリモートデスクトップ技術によりネットワーク経由で遠隔自動操作する遠隔自動操作システムにおいて、前記ターゲットプログラムから前記コントローラプログラムに送信された表示データと、該表示データを受信した前記コントローラプログラムが前記ターゲットプログラムに送信した操作データとを予め記録した遠隔操作記録データを記憶させた記憶部を備える前記ターゲット装置において作動するコントローラ代理プログラムであって、
前記ターゲット装置のコンピュータに、
前記ターゲットプログラムから前記コントローラプログラムに送信される前記表示データを、前記ターゲットプログラムから受信する表示受信ステップと、
前記表示受信ステップによって受信された前記表示データを、前記コントローラプログラムに送信しないように遮断する遮断ステップと、
前記表示受信ステップによって受信された前記表示データに対して、前記遠隔操作記録データに基づいて、前記操作データを前記ターゲットプログラムに送信する代理操作送信ステップと、
を実行させるためのコントローラ代理プログラム。
【請求項２】
前記代理操作送信ステップは、
前記表示受信ステップによって受信された前記表示データが、前記遠隔操作記録データに記録されているか否かを判断する判断ステップと、
前記判断ステップによって記録されていないと判断された場合に、記録されていない前記表示データを前記コントローラプログラムに送信する表示送信ステップと、
前記表示送信ステップによって送信された前記表示データに対する操作データを前記コントローラプログラムから受信する操作受信ステップと、
前記操作受信ステップによって受信された、前記表示データに対する操作データを、前記ターゲットプログラムに送信する操作送信ステップと、
をさらに備える請求項１に記載のコントローラ代理プログラム。
【請求項３】
前記表示送信ステップによって送信された前記表示データと、前記操作受信ステップによって受信された、前記表示データに対する操作データとを前記遠隔操作記録データとして、前記ターゲット装置の前記記憶部に記憶させる遠隔操作記録作成ステップ、
をさらに備える請求項２に記載のコントローラ代理プログラム。
【請求項４】
請求項１に記載のコントローラ代理プログラムによって前記ターゲット装置のコンピュータが実行する方法であって、
前記ターゲットプログラムから前記コントローラプログラムに送信される前記表示データを、前記ターゲットプログラムから受信する表示受信ステップと、
前記表示受信ステップによって受信された前記表示データを、前記コントローラプログラムに送信しないように遮断する遮断ステップと、
前記表示受信ステップによって受信された前記表示データに対して、前記遠隔操作記録データに基づいて、前記操作データを前記ターゲットプログラムに送信する代理操作送信ステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遠隔自動操作システムにおけるコントローラ代理プログラム及び方法に関する。
【背景技術】
【０００２】
従来より、ネットワークを経由して、ある端末（以降、ターゲットと呼ぶ。）を別の端末（以降、コントローラと呼ぶ。）から遠隔操作するシステムとして、リモートデスクトップ技術（ＲＤＴＰ）が存在する（非特許文献１及び２を参照）。ここでは、（１）コントローラはターゲットから送られた画面イメージ（デスクトップ）に対して操作を行い、（２）ターゲットはコントローラから送られた操作を実行し、その結果画面が更新されればコントローラに画面イメージを通知する、という一連の処理が繰り返される。
【０００３】
ＲＤＴＰはＧＵＩ操作を遠隔から行うことが可能であり、ＰＣだけでなくスマートフォンやタブレットの遠隔操作にも適している。ＲＤＴＰを利用してスマートフォンの自動遠隔操作を行い、任意のスマートフォン・アプリケーションを用いた大規模試験を効率良く行うソリューション（非特許文献３参照）も提案されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｔ．Ｒｉｃｈａｒｄｓｏｎ，Ｊ．Ｌｅｖｉｎｅ，“Ｔｈｅ  Ｒｅｍｏｔｅ  Ｆｒａｍｅｂｕｆｆｅｒ  Ｐｒｏｔｏｃｏｌ”，ＲＦＣ６１４３，ＩＳＳＮ  ２０７０−１７２１，Ｍａｒｃｈ  ２０１１    ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｒｆｃ６１４３
【非特許文献２】［ＭＳ−ＲＤＰＢＣＧＲ］：Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ：  Ｂａｓｉｃ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  ａｎｄ  Ｇｒａｐｈｉｃｓ  Ｒｅｍｏｔｉｎｇ    ｈｔｔｐ：／／ｄｏｗｎｌｏａｄ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｄｏｗｎｌｏａｄ／９／５／Ｅ／９５ＥＦ６６ＡＦ−９０２６−４ＢＢ０−Ａ４１Ｄ−Ａ４Ｆ８１８０２Ｄ９２Ｃ／％５ＢＭＳ−ＲＤＰＢＣＧＲ％５Ｄ．ｐｄｆ
【非特許文献３】ＴｅｓｔＰｌａｎｔ  Ｌｔｄ．，  ｅｇｇＰｌａｎｔ  ｆｏｒ  ｍｏｂｉｌｅ，    ｈｔｔｐ：／／ｗｗｗ．ｔｅｓｔｐｌａｎｔ．ｃｏｍ／ｅｇｇｐｌａｎｔ／ｔｅｓｔｉｎｇ−ｔｏｏｌｓ／ｅｇｇｐｌａｎｔ−ｍｏｂｉｌｅ−ｅｇｇｏｎ／
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献３のように、ＲＤＴＰをそのまま用いる遠隔自動操作手法では、ターゲットからコントローラへの画面イメージ転送を伴うため、移動網経由で遠隔自動操作を行う際に、帯域不足による応答速度の低下や、回線切断による自動操作の中断が発生するといった欠点があった。
一方で、自動操作内容は、ターゲットの端末種別（例えば液晶ディスプレイサイズの違い）や画面設定（例えばアイコン配置の違い）等でターゲット毎に転送する画面イメージが異なる可能性はあるものの、操作自体（アイコン押下位置・タイミングや入力文字の内容等）は定型的な処理の繰り返しとなることが想定される。
【０００６】
そこで、自動操作内容に関わる特性を活用してターゲットとコントローラとの間の通信量を削減し自動操作の応答速度を向上させる方法が要望されている。
【０００７】
本発明は、遠隔自動操作におけるターゲットとコントローラとの間の通信量を削減し、自動操作の応答速度を向上させるコントローラ代理プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
具体的な手順は以下の通りである。
（ａ）コントローラからターゲットに対して一連の自動操作を実行する。この際、コントローラとターゲットとの間の経路上（コントローラやターゲット自身も含む）で、両者間の通信を全て記録する。
（ｂ）ターゲット上で代理コントローラソフトを動作させる。
（ｃ）代理コントローラは元のコントローラに代わってターゲットと通信を行い、（ａ）で記録したコントローラの送信内容を（ターゲットからの応答を予想しつつ）再現する。
（ｄ）代理コントローラはターゲットからの応答データ（画面イメージ）を受信するが、これを代理コントローラで破棄し、ターゲットと元のコントローラとの間の通信量を削減する。
さらに、次の手順を備えていてもよい。
（ｅ）（ｄ）に関して、代理コントローラは、元のコントローラで条件分岐の判断等を行うために必要な応答データ（画面イメージ）を中継転送することも可とする。また、同様に、コントローラからの操作をターゲットに対して中継転送することも可とする。
（ｆ）コントローラは一連の自動操作手順から（ｂ）〜（ｄ）で代行される手順を除いた手順を実行する。
具体的には、以下のような解決手段を提供する。
【０００９】
（１）  ターゲット装置におけるターゲットプログラムと、コントローラ装置におけるコントローラプログラムとの間でリモートデスクトップ技術によりネットワーク経由で遠隔自動操作する遠隔自動操作システムにおいて、前記ターゲットプログラムから前記コントローラプログラムに送信された表示データと、該表示データを受信した前記コントローラプログラムが前記ターゲットプログラムに送信した操作データとを予め記録した遠隔操作記録データを記憶させた記憶部を備える前記ターゲット装置において作動するコントローラ代理プログラムであって、前記ターゲット装置のコンピュータに、前記ターゲットプログラムから前記コントローラプログラムに送信される前記表示データを、前記ターゲットプログラムから受信する表示受信ステップと、前記表示受信ステップによって受信された前記表示データを、前記コントローラプログラムに送信しないように遮断する遮断ステップと、前記表示受信ステップによって受信された前記表示データに対して、前記遠隔操作記録データに基づいて、前記操作データを前記ターゲットプログラムに送信する代理操作送信ステップと、を実行させるためのコントローラ代理プログラム。
【００１０】
（１）の構成によれば、本発明に係るコントローラ代理プログラムは、リモートデスクトップ技術によりネットワーク経由で遠隔自動操作する遠隔自動操作システムにおいて、遠隔操作記録データを記憶させた記憶部を備えるターゲット装置のコンピュータに、ターゲットプログラムからコントローラプログラムに送信される表示データを、ターゲットプログラムから受信させ、受信させた表示データを、コントローラプログラムへ送信しないように遮断させ、受信させた表示データに対して、遠隔操作記録データに基づいて、操作データをターゲットプログラムへ送信させる。
【００１１】
すなわち、本発明に係るコントローラ代理プログラムは、ターゲットプログラムからコントローラプログラムに送信される表示データをコントローラプログラムに送信しないように遮断し、遠隔操作記録データに基づいて、表示データに対する操作データをターゲットプログラムに送信するように、ターゲット装置を機能させる。
したがって、本発明に係るコントローラ代理プログラムは、遠隔自動操作におけるターゲットとコントローラとの間の通信量を削減し、自動操作の応答速度を向上させることができる。
【００１２】
（２）  前記代理操作送信ステップは、前記表示受信ステップによって受信された前記表示データが、前記遠隔操作記録データに記録されているか否かを判断する判断ステップと、前記判断ステップによって記録されていないと判断された場合に、記録されていない前記表示データを前記コントローラプログラムに送信する表示送信ステップと、前記表示送信ステップによって送信された前記表示データに対する操作データを前記コントローラプログラムから受信する操作受信ステップと、前記操作受信ステップによって受信された、前記表示データに対する操作データを、前記ターゲットプログラムに送信するステップと、をさらに備える（１）に記載のコントローラ代理プログラム。
【００１３】
すなわち、（２）に係るコントローラ代理プログラムは、遠隔操作記録データに存在しない自動操作について、表示データをコントローラ装置のコントローラプログラムに送信し、受信した操作データをターゲットプログラムに送信するように、ターゲット装置を機能させる。
したがって、本発明に係るコントローラ代理プログラムは、遠隔自動操作におけるターゲットとコントローラとの間の通信量を、必要なデータについてのみ通信させるように削減し、自動操作の応答速度を向上させることができる。
【００１４】
（３）  前記表示送信ステップによって送信された前記表示データと、前記操作受信ステップによって受信された、前記表示データに対する操作データとを前記遠隔操作記録データとして、前記ターゲット装置の前記記憶部に記憶させる遠隔操作記録作成ステップ、をさらに備える（２）に記載のコントローラ代理プログラム。
【００１５】
したがって、本発明に係るコントローラ代理プログラムは、遠隔自動操作におけるターゲットとコントローラとの間の通信量を、必要なデータについてのみ通信させるようにさらに削減し、自動操作の応答速度を向上させることができる。
【００１６】
（４）  （１）に記載のコントローラ代理プログラムによって前記ターゲット装置のコンピュータが実行する方法であって、前記ターゲットプログラムから前記コントローラプログラムに送信される前記表示データを、前記ターゲットプログラムから受信する表示受信ステップと、前記表示受信ステップによって受信された前記表示データを、前記コントローラプログラムに送信しないように遮断する遮断ステップと、前記表示受信ステップによって受信された前記表示データに対して、前記遠隔操作記録データに基づいて、前記操作データを前記ターゲットプログラムに送信する代理操作送信ステップと、を含む方法。
【００１７】
したがって、（４）に係る方法は、遠隔自動操作におけるターゲットとコントローラとの間の通信量を削減し、自動操作の応答速度を向上させることができる。
【発明の効果】
【００１８】
本発明によれば、ＲＤＴＰによりターゲットをコントローラからネットワーク経由で遠隔自動操作するシステムにおいて、コントローラとターゲットとの間のトラヒックを削減し、自動操作の応答性を向上させることが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係るコントローラ代理プログラムの動作を説明するための図である。
【図２】本発明の一実施形態に係るコントローラ代理プログラムによって参照される遠隔操作記録データの例を示す図である。
【図３】本発明の実施形態１に係るコントローラ代理プログラムがターゲット装置のコンピュータに実行させる処理を示すフローチャートである。
【図４】本発明の実施形態２に係るコントローラ代理プログラムがターゲット装置のコンピュータに実行させる処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について、図を参照しながら説明する。
図１は、本発明の一実施形態に係るコントローラ代理プログラム２１の動作を説明するための図である。
【００２１】
遠隔自動操作システム１は、ターゲット装置１０におけるターゲットプログラム１１と、コントローラ装置３０におけるコントローラプログラム３１との間でリモートデスクトップ技術によりネットワーク７０経由で遠隔自動操作する。例えば、遠隔自動操作システム１は、中央サーバとスマートフォン端末との間で遠隔自動操作し、スマートフォン端末において定型的に実行される処理（例えば、ネットワークの処理速度等の定期的な測定等）を遠隔操作する。
【００２２】
コントローラ代理プログラム２１は、ターゲット装置１０において作動する。コントローラ代理プログラム２１は、コントローラ装置３０からターゲット装置１０に送信されてターゲット装置１０にインストールされて作動するとしてもよい。また、コントローラ代理プログラム２１は、ＵＳＢメモリ等のリムーバブルメディアに記憶された状態で、ターゲット装置１０に提供され、ターゲット装置１０にインストールされて作動するとしてもよい。
【００２３】
遠隔操作記録データ２２は、ターゲットプログラム１１からコントローラプログラム３１に送信された表示データと、該表示データを受信したコントローラプログラム３１がターゲットプログラム１１に送信した操作データとを予め記録したデータである。遠隔操作記録データ２２は、例えば、コントローラ装置３０によって作成されてもよいし、ターゲット装置１０とコントローラ装置３０との間に設置された記録装置によって作成されてもよい。
ターゲット装置１０に対応した遠隔操作記録データ２２は、コントローラ装置３０からターゲット装置１０に送信され、コントローラ代理プログラム２１によって、ターゲット装置１０の記憶部２０に記憶されるとしてもよい。また、遠隔操作記録データ２２は、ＵＳＢメモリ等のリムーバブルメディアによって記憶された状態で提供され、ターゲット装置１０の記憶部２０として組み込まれるとしてもよい。
【００２４】
図２は、本発明の一実施形態に係るコントローラ代理プログラム２１によって参照される遠隔操作記録データ２２の例を示す図である。図２が示すように、遠隔操作記録データ２２は、表示データと操作データとを対応付けているデータであって、ターゲット装置１０の記憶部２０に記憶される。表示データ及び操作データは、リモートデスクトップ技術（ＲＤＴＰ）におけるプロトコルに従って送受信されるデータであり、表示データは、ターゲット装置１０において表示される画面データを構成するデータであり、操作データは、表示されている画面におけるマウスやキーボード等による操作を示すデータである。
【００２５】
［実施形態１］
実施形態１では、コントローラ代理プログラム２１は、ターゲットプログラム１１から送信された表示データに対し、遠隔操作記録データ２２に基づいて、表示データに対応付けられた操作データをターゲットプログラム１１へ送信するように、ターゲット装置１０を機能させる。
【００２６】
図３は、本発明の実施形態１に係るコントローラ代理プログラム２１がターゲット装置１０のコンピュータに実行させる処理を示すフローチャートである。ターゲット装置１０は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するターゲットプログラム１１によって構成され、以下の処理は、制御部（例えば、ターゲット装置１０のＣＰＵ）がコントローラ代理プログラム２１に従い実行する処理である。
【００２７】
ステップＳ１０１（表示受信ステップ）において、ＣＰＵは、ターゲットプログラム１１から表示データを受信したか否かを判断する。この判断がＹＥＳの場合、ＣＰＵは、処理をステップＳ１０２に移し、この判断がＮＯの場合、ＣＰＵは、処理を終了する。
【００２８】
ステップＳ１０２（判断ステップ）において、ＣＰＵは、受信した表示データが遠隔操作記録データ２２に記録されているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵは、処理をステップＳ１０３に移し、この判断がＮＯの場合、ＣＰＵは、処理を終了する。
【００２９】
ステップＳ１０３（遮断ステップ、代理操作送信ステップ）において、ＣＰＵは、遠隔操作記録データ２２において表示データに対応付けて記録された操作データを取得し、取得した操作データをターゲットプログラム１１に送信し、かつコントローラプログラムに対する表示データの送信を遮断する。
【００３０】
［実施形態２］
実施形態２では、コントローラ代理プログラム２１は、ターゲットプログラム１１から送信された表示データのうち、遠隔操作記録データ２２に記録されていない表示データに対応する操作について、コントローラ装置３０のコントローラプログラム３１との通信を行い処理する。遠隔自動操作システム１の構成は実施形態１と同様である。
【００３１】
図４は、本発明の実施形態２に係るコントローラ代理プログラム２１がターゲット装置１０のコンピュータに実行させる処理を示すフローチャートである。以下の処理は、制御部（例えば、ターゲット装置１０のＣＰＵ）がコントローラ代理プログラム２１に従い実行する処理である。
【００３２】
ステップＳ２０１（表示受信ステップ）において、ＣＰＵは、ターゲットプログラム１１から表示データを受信したか否かを判断する。この判断がＹＥＳの場合、ＣＰＵは、処理をステップＳ２０２に移し、この判断がＮＯの場合、ＣＰＵは、処理をステップＳ２０６に移す。
【００３３】
ステップＳ２０２（判断ステップ）において、ＣＰＵは、受信した表示データが遠隔操作記録データ２２に記録されているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵは、処理をステップＳ２０３に移し、この判断がＮＯの場合、ＣＰＵは、処理をステップＳ２０４に移す。
【００３４】
ステップＳ２０３（遮断ステップ、代理操作送信ステップ）において、ＣＰＵは、遠隔操作記録データ２２において表示データに対応付けて記録された操作データを取得し、取得した操作データをターゲットプログラム１１に送信し、かつコントローラプログラムに対する表示データの送信を遮断する。その後、ＣＰＵは、処理を終了する。
【００３５】
ステップＳ２０４（表示送信ステップ）において、ＣＰＵは、ターゲットプログラム１１から受信した表示データを、コントローラ装置３０のコントローラプログラム３１に送信する。
【００３６】
ステップＳ２０５（遠隔操作記録作成ステップ）において、ＣＰＵは、コントローラプログラム３１に送信した表示データを遠隔操作記録データ２２に追加して記録し、記憶部２０に記憶させる。その後、ＣＰＵは、処理を終了する。
【００３７】
ステップＳ２０６（操作受信ステップ）において、ＣＰＵは、コントローラプログラム３１から操作データを受信したか否かを判断する。この判断がＹＥＳの場合、ＣＰＵは、処理をステップＳ２０７に移し、この判断がＮＯの場合、ＣＰＵは、処理を終了する。
【００３８】
ステップＳ２０７（操作送信ステップ）において、ＣＰＵは、ターゲットプログラム１１に、コントローラプログラム３１から受信した操作データを送信する。
【００３９】
ステップＳ２０８（遠隔操作記録作成ステップ）において、ＣＰＵは、ターゲットプログラム１１に送信した操作データを、ステップＳ２０５において記憶させた表示データに対応付けて遠隔操作記録データ２２に記録し、記憶部２０に記憶させる。さらに具体的には、ＣＰＵは、同じ表示データ及び操作データが所定の回数だけ繰り返された場合に、ターゲットプログラム１１に送信した操作データを、その操作データに対応する表示データに対応付けて遠隔操作記録データ２２に記録し、記憶部２０に記憶させる。その後、ＣＰＵは、処理を終了する。
【００４０】
本実施形態１によれば、コントローラ代理プログラム２１は、リモートデスクトップ技術によりネットワーク７０経由で遠隔自動操作する遠隔自動操作システム１において、遠隔操作記録データ２２を記憶させた記憶部２０を備えるターゲット装置１０のコンピュータに、ターゲットプログラム１１からコントローラプログラム３１に送信される表示データを、ターゲットプログラム１１から受信させ、受信させた表示データを、コントローラプログラム３１へ送信しないように遮断させ、受信させた表示データに対して、遠隔操作記録データ２２に基づいて、操作データをターゲットプログラム１１へ送信させる。したがって、コントローラ代理プログラム２１は、遠隔自動操作におけるターゲットとコントローラとの間の通信量を削減し、自動操作の応答速度を向上させることができる。
【００４１】
本実施形態２によれば、コントローラ代理プログラム２１は、ターゲット装置１０のコンピュータに、遠隔操作記録データ２２に存在しない自動操作について、表示データをコントローラ装置３０のコントローラプログラム３１へ送信させ、コントローラプログラム３１から受信させた操作データをターゲットプログラム１１へ送信させる。さらに、ターゲットプログラム１１から受信した表示データに対してコントローラプログラム３１から操作データを受信した場合に、表示データと操作データとを対応付けて遠隔操作記録データ２２として、ターゲット装置１０の記憶部２０に記憶させる。したがって、コントローラ代理プログラム２１は、遠隔自動操作におけるターゲットとコントローラとの間の通信量を、必要なデータについてのみ通信させるようにさらに削減し、自動操作の応答速度を向上させることができる。
【００４２】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００４３】
１      遠隔自動操作システム
１０    ターゲット装置
１１    ターゲットプログラム
２１    コントローラ代理プログラム
２０    記憶部
２２    遠隔操作記録データ
３０    コントローラ装置
３１    コントローラプログラム
７０    ネットワーク
【図１】
2015158857.tif 000003
【図２】
2015158857.tif 000004
【図３】
2015158857.tif 000005
【図４】
2015158857.tif 000006