(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6169990
(24)【登録日】2017年7月7日
(45)【発行日】2017年7月26日
(54)【発明の名称】遠隔自動操作システムにおけるコントローラ代理プログラム及び方法
(51)【国際特許分類】
G06F 13/00 20060101AFI20170713BHJP
G06F 15/00 20060101ALI20170713BHJP
【FI】
G06F13/00 550A
G06F15/00 410B
【請求項の数】4
【全頁数】10
(21)【出願番号】特願2014-34167(P2014-34167)
(22)【出願日】2014年2月25日
(65)【公開番号】特開2015-158857(P2015-158857A)
(43)【公開日】2015年9月3日
【審査請求日】2016年7月21日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】長谷川 輝之
(72)【発明者】
【氏名】吉田 芳明
(72)【発明者】
【氏名】立花 篤男
【審査官】
北川 純次
(56)【参考文献】
【文献】
国際公開第2013/036951(WO,A1)
【文献】
特表2013−539122(JP,A)
【文献】
特表2005−501355(JP,A)
【文献】
特開2008−217272(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
G06F 15/00
(57)【特許請求の範囲】
【請求項1】
ターゲット装置におけるターゲットプログラムと、コントローラ装置におけるコントローラプログラムとの間でリモートデスクトップ技術によりネットワーク経由で遠隔自動操作する遠隔自動操作システムにおいて、前記ターゲットプログラムから前記コントローラプログラムに送信された表示データと、該表示データを受信した前記コントローラプログラムが前記ターゲットプログラムに送信した操作データとを予め記録した遠隔操作記録データを記憶させた記憶部を備える前記ターゲット装置において作動するコントローラ代理プログラムであって、
前記ターゲット装置のコンピュータに、
前記ターゲットプログラムから前記コントローラプログラムに送信される前記表示データを、前記ターゲットプログラムから受信する表示受信ステップと、
前記表示受信ステップによって受信された前記表示データを、前記コントローラプログラムに送信しないように遮断する遮断ステップと、
前記表示受信ステップによって受信された前記表示データに対して、前記遠隔操作記録データに基づいて、前記操作データを前記ターゲットプログラムに送信する代理操作送信ステップと、
を実行させるためのコントローラ代理プログラム。
【請求項2】
前記代理操作送信ステップは、
前記表示受信ステップによって受信された前記表示データが、前記遠隔操作記録データに記録されているか否かを判断する判断ステップと、
前記判断ステップによって記録されていないと判断された場合に、記録されていない前記表示データを前記コントローラプログラムに送信する表示送信ステップと、
前記表示送信ステップによって送信された前記表示データに対する操作データを前記コントローラプログラムから受信する操作受信ステップと、
前記操作受信ステップによって受信された、前記表示データに対する操作データを、前記ターゲットプログラムに送信する操作送信ステップと、
をさらに備える請求項1に記載のコントローラ代理プログラム。
【請求項3】
前記表示送信ステップによって送信された前記表示データと、前記操作受信ステップによって受信された、前記表示データに対する操作データとを前記遠隔操作記録データとして、前記ターゲット装置の前記記憶部に記憶させる遠隔操作記録作成ステップ、
をさらに備える請求項2に記載のコントローラ代理プログラム。
【請求項4】
請求項1に記載のコントローラ代理プログラムによって前記ターゲット装置のコンピュータが実行する方法であって、
前記ターゲットプログラムから前記コントローラプログラムに送信される前記表示データを、前記ターゲットプログラムから受信する表示受信ステップと、
前記表示受信ステップによって受信された前記表示データを、前記コントローラプログラムに送信しないように遮断する遮断ステップと、
前記表示受信ステップによって受信された前記表示データに対して、前記遠隔操作記録データに基づいて、前記操作データを前記ターゲットプログラムに送信する代理操作送信ステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遠隔自動操作システムにおけるコントローラ代理プログラム及び方法に関する。
【背景技術】
【0002】
従来より、ネットワークを経由して、ある端末(以降、ターゲットと呼ぶ。)を別の端末(以降、コントローラと呼ぶ。)から遠隔操作するシステムとして、リモートデスクトップ技術(RDTP)が存在する(非特許文献1及び2を参照)。ここでは、(1)コントローラはターゲットから送られた画面イメージ(デスクトップ)に対して操作を行い、(2)ターゲットはコントローラから送られた操作を実行し、その結果画面が更新されればコントローラに画面イメージを通知する、という一連の処理が繰り返される。
【0003】
RDTPはGUI操作を遠隔から行うことが可能であり、PCだけでなくスマートフォンやタブレットの遠隔操作にも適している。RDTPを利用してスマートフォンの自動遠隔操作を行い、任意のスマートフォン・アプリケーションを用いた大規模試験を効率良く行うソリューション(非特許文献3参照)も提案されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】T.Richardson,J.Levine,“The Remote Framebuffer Protocol”,RFC6143,ISSN 2070−1721,March 2011 http://tools.ietf.org/html/rfc6143
【非特許文献2】[MS−RDPBCGR]:Remote Desktop Protocol: Basic Connectivity and Graphics Remoting http://download.microsoft.com/download/9/5/E/95EF66AF−9026−4BB0−A41D−A4F81802D92C/%5BMS−RDPBCGR%5D.pdf
【非特許文献3】TestPlant Ltd., eggPlant for mobile, http://www.testplant.com/eggplant/testing−tools/eggplant−mobile−eggon/
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献3のように、RDTPをそのまま用いる遠隔自動操作手法では、ターゲットからコントローラへの画面イメージ転送を伴うため、移動網経由で遠隔自動操作を行う際に、帯域不足による応答速度の低下や、回線切断による自動操作の中断が発生するといった欠点があった。
一方で、自動操作内容は、ターゲットの端末種別(例えば液晶ディスプレイサイズの違い)や画面設定(例えばアイコン配置の違い)等でターゲット毎に転送する画面イメージが異なる可能性はあるものの、操作自体(アイコン押下位置・タイミングや入力文字の内容等)は定型的な処理の繰り返しとなることが想定される。
【0006】
そこで、自動操作内容に関わる特性を活用してターゲットとコントローラとの間の通信量を削減し自動操作の応答速度を向上させる方法が要望されている。
【0007】
本発明は、遠隔自動操作におけるターゲットとコントローラとの間の通信量を削減し、自動操作の応答速度を向上させるコントローラ代理プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
具体的な手順は以下の通りである。
(a)コントローラからターゲットに対して一連の自動操作を実行する。この際、コントローラとターゲットとの間の経路上(コントローラやターゲット自身も含む)で、両者間の通信を全て記録する。
(b)ターゲット上で代理コントローラソフトを動作させる。
(c)代理コントローラは元のコントローラに代わってターゲットと通信を行い、(a)で記録したコントローラの送信内容を(ターゲットからの応答を予想しつつ)再現する。
(d)代理コントローラはターゲットからの応答データ(画面イメージ)を受信するが、これを代理コントローラで破棄し、ターゲットと元のコントローラとの間の通信量を削減する。
さらに、次の手順を備えていてもよい。
(e)(d)に関して、代理コントローラは、元のコントローラで条件分岐の判断等を行うために必要な応答データ(画面イメージ)を中継転送することも可とする。また、同様に、コントローラからの操作をターゲットに対して中継転送することも可とする。
(f)コントローラは一連の自動操作手順から(b)〜(d)で代行される手順を除いた手順を実行する。
具体的には、以下のような解決手段を提供する。
【0009】
(1) ターゲット装置におけるターゲットプログラムと、コントローラ装置におけるコントローラプログラムとの間でリモートデスクトップ技術によりネットワーク経由で遠隔自動操作する遠隔自動操作システムにおいて、前記ターゲットプログラムから前記コントローラプログラムに送信された表示データと、該表示データを受信した前記コントローラプログラムが前記ターゲットプログラムに送信した操作データとを予め記録した遠隔操作記録データを記憶させた記憶部を備える前記ターゲット装置において作動するコントローラ代理プログラムであって、前記ターゲット装置のコンピュータに、前記ターゲットプログラムから前記コントローラプログラムに送信される前記表示データを、前記ターゲットプログラムから受信する表示受信ステップと、前記表示受信ステップによって受信された前記表示データを、前記コントローラプログラムに送信しないように遮断する遮断ステップと、前記表示受信ステップによって受信された前記表示データに対して、前記遠隔操作記録データに基づいて、前記操作データを前記ターゲットプログラムに送信する代理操作送信ステップと、を実行させるためのコントローラ代理プログラム。
【0010】
(1)の構成によれば、本発明に係るコントローラ代理プログラムは、リモートデスクトップ技術によりネットワーク経由で遠隔自動操作する遠隔自動操作システムにおいて、遠隔操作記録データを記憶させた記憶部を備えるターゲット装置のコンピュータに、ターゲットプログラムからコントローラプログラムに送信される表示データを、ターゲットプログラムから受信させ、受信させた表示データを、コントローラプログラムへ送信しないように遮断させ、受信させた表示データに対して、遠隔操作記録データに基づいて、操作データをターゲットプログラムへ送信させる。
【0011】
すなわち、本発明に係るコントローラ代理プログラムは、ターゲットプログラムからコントローラプログラムに送信される表示データをコントローラプログラムに送信しないように遮断し、遠隔操作記録データに基づいて、表示データに対する操作データをターゲットプログラムに送信するように、ターゲット装置を機能させる。
したがって、本発明に係るコントローラ代理プログラムは、遠隔自動操作におけるターゲットとコントローラとの間の通信量を削減し、自動操作の応答速度を向上させることができる。
【0012】
(2) 前記代理操作送信ステップは、前記表示受信ステップによって受信された前記表示データが、前記遠隔操作記録データに記録されているか否かを判断する判断ステップと、前記判断ステップによって記録されていないと判断された場合に、記録されていない前記表示データを前記コントローラプログラムに送信する表示送信ステップと、前記表示送信ステップによって送信された前記表示データに対する操作データを前記コントローラプログラムから受信する操作受信ステップと、前記操作受信ステップによって受信された、前記表示データに対する操作データを、前記ターゲットプログラムに送信するステップと、をさらに備える(1)に記載のコントローラ代理プログラム。
【0013】
すなわち、(2)に係るコントローラ代理プログラムは、遠隔操作記録データに存在しない自動操作について、表示データをコントローラ装置のコントローラプログラムに送信し、受信した操作データをターゲットプログラムに送信するように、ターゲット装置を機能させる。
したがって、本発明に係るコントローラ代理プログラムは、遠隔自動操作におけるターゲットとコントローラとの間の通信量を、必要なデータについてのみ通信させるように削減し、自動操作の応答速度を向上させることができる。
【0014】
(3) 前記表示送信ステップによって送信された前記表示データと、前記操作受信ステップによって受信された、前記表示データに対する操作データとを前記遠隔操作記録データとして、前記ターゲット装置の前記記憶部に記憶させる遠隔操作記録作成ステップ、をさらに備える(2)に記載のコントローラ代理プログラム。
【0015】
したがって、本発明に係るコントローラ代理プログラムは、遠隔自動操作におけるターゲットとコントローラとの間の通信量を、必要なデータについてのみ通信させるようにさらに削減し、自動操作の応答速度を向上させることができる。
【0016】
(4) (1)に記載のコントローラ代理プログラムによって前記ターゲット装置のコンピュータが実行する方法であって、前記ターゲットプログラムから前記コントローラプログラムに送信される前記表示データを、前記ターゲットプログラムから受信する表示受信ステップと、前記表示受信ステップによって受信された前記表示データを、前記コントローラプログラムに送信しないように遮断する遮断ステップと、前記表示受信ステップによって受信された前記表示データに対して、前記遠隔操作記録データに基づいて、前記操作データを前記ターゲットプログラムに送信する代理操作送信ステップと、を含む方法。
【0017】
したがって、(4)に係る方法は、遠隔自動操作におけるターゲットとコントローラとの間の通信量を削減し、自動操作の応答速度を向上させることができる。
【発明の効果】
【0018】
本発明によれば、RDTPによりターゲットをコントローラからネットワーク経由で遠隔自動操作するシステムにおいて、コントローラとターゲットとの間のトラヒックを削減し、自動操作の応答性を向上させることが可能となる。
【図面の簡単な説明】
【0019】
【
図1】本発明の一実施形態に係るコントローラ代理プログラムの動作を説明するための図である。
【
図2】本発明の一実施形態に係るコントローラ代理プログラムによって参照される遠隔操作記録データの例を示す図である。
【
図3】本発明の実施形態1に係るコントローラ代理プログラムがターゲット装置のコンピュータに実行させる処理を示すフローチャートである。
【
図4】本発明の実施形態2に係るコントローラ代理プログラムがターゲット装置のコンピュータに実行させる処理を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について、図を参照しながら説明する。
図1は、本発明の一実施形態に係るコントローラ代理プログラム21の動作を説明するための図である。
【0021】
遠隔自動操作システム1は、ターゲット装置10におけるターゲットプログラム11と、コントローラ装置30におけるコントローラプログラム31との間でリモートデスクトップ技術によりネットワーク70経由で遠隔自動操作する。例えば、遠隔自動操作システム1は、中央サーバとスマートフォン端末との間で遠隔自動操作し、スマートフォン端末において定型的に実行される処理(例えば、ネットワークの処理速度等の定期的な測定等)を遠隔操作する。
【0022】
コントローラ代理プログラム21は、ターゲット装置10において作動する。コントローラ代理プログラム21は、コントローラ装置30からターゲット装置10に送信されてターゲット装置10にインストールされて作動するとしてもよい。また、コントローラ代理プログラム21は、USBメモリ等のリムーバブルメディアに記憶された状態で、ターゲット装置10に提供され、ターゲット装置10にインストールされて作動するとしてもよい。
【0023】
遠隔操作記録データ22は、ターゲットプログラム11からコントローラプログラム31に送信された表示データと、該表示データを受信したコントローラプログラム31がターゲットプログラム11に送信した操作データとを予め記録したデータである。遠隔操作記録データ22は、例えば、コントローラ装置30によって作成されてもよいし、ターゲット装置10とコントローラ装置30との間に設置された記録装置によって作成されてもよい。
ターゲット装置10に対応した遠隔操作記録データ22は、コントローラ装置30からターゲット装置10に送信され、コントローラ代理プログラム21によって、ターゲット装置10の記憶部20に記憶されるとしてもよい。また、遠隔操作記録データ22は、USBメモリ等のリムーバブルメディアによって記憶された状態で提供され、ターゲット装置10の記憶部20として組み込まれるとしてもよい。
【0024】
図2は、本発明の一実施形態に係るコントローラ代理プログラム21によって参照される遠隔操作記録データ22の例を示す図である。
図2が示すように、遠隔操作記録データ22は、表示データと操作データとを対応付けているデータであって、ターゲット装置10の記憶部20に記憶される。表示データ及び操作データは、リモートデスクトップ技術(RDTP)におけるプロトコルに従って送受信されるデータであり、表示データは、ターゲット装置10において表示される画面データを構成するデータであり、操作データは、表示されている画面におけるマウスやキーボード等による操作を示すデータである。
【0025】
[実施形態1]
実施形態1では、コントローラ代理プログラム21は、ターゲットプログラム11から送信された表示データに対し、遠隔操作記録データ22に基づいて、表示データに対応付けられた操作データをターゲットプログラム11へ送信するように、ターゲット装置10を機能させる。
【0026】
図3は、本発明の実施形態1に係るコントローラ代理プログラム21がターゲット装置10のコンピュータに実行させる処理を示すフローチャートである。ターゲット装置10は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するターゲットプログラム11によって構成され、以下の処理は、制御部(例えば、ターゲット装置10のCPU)がコントローラ代理プログラム21に従い実行する処理である。
【0027】
ステップS101(表示受信ステップ)において、CPUは、ターゲットプログラム11から表示データを受信したか否かを判断する。この判断がYESの場合、CPUは、処理をステップS102に移し、この判断がNOの場合、CPUは、処理を終了する。
【0028】
ステップS102(判断ステップ)において、CPUは、受信した表示データが遠隔操作記録データ22に記録されているか否かを判断する。この判断がYESの場合、CPUは、処理をステップS103に移し、この判断がNOの場合、CPUは、処理を終了する。
【0029】
ステップS103(遮断ステップ、代理操作送信ステップ)において、CPUは、遠隔操作記録データ22において表示データに対応付けて記録された操作データを取得し、取得した操作データをターゲットプログラム11に送信し、かつコントローラプログラムに対する表示データの送信を遮断する。
【0030】
[実施形態2]
実施形態2では、コントローラ代理プログラム21は、ターゲットプログラム11から送信された表示データのうち、遠隔操作記録データ22に記録されていない表示データに対応する操作について、コントローラ装置30のコントローラプログラム31との通信を行い処理する。遠隔自動操作システム1の構成は実施形態1と同様である。
【0031】
図4は、本発明の実施形態2に係るコントローラ代理プログラム21がターゲット装置10のコンピュータに実行させる処理を示すフローチャートである。以下の処理は、制御部(例えば、ターゲット装置10のCPU)がコントローラ代理プログラム21に従い実行する処理である。
【0032】
ステップS201(表示受信ステップ)において、CPUは、ターゲットプログラム11から表示データを受信したか否かを判断する。この判断がYESの場合、CPUは、処理をステップS202に移し、この判断がNOの場合、CPUは、処理をステップS206に移す。
【0033】
ステップS202(判断ステップ)において、CPUは、受信した表示データが遠隔操作記録データ22に記録されているか否かを判断する。この判断がYESの場合、CPUは、処理をステップS203に移し、この判断がNOの場合、CPUは、処理をステップS204に移す。
【0034】
ステップS203(遮断ステップ、代理操作送信ステップ)において、CPUは、遠隔操作記録データ22において表示データに対応付けて記録された操作データを取得し、取得した操作データをターゲットプログラム11に送信し、かつコントローラプログラムに対する表示データの送信を遮断する。その後、CPUは、処理を終了する。
【0035】
ステップS204(表示送信ステップ)において、CPUは、ターゲットプログラム11から受信した表示データを、コントローラ装置30のコントローラプログラム31に送信する。
【0036】
ステップS205(遠隔操作記録作成ステップ)において、CPUは、コントローラプログラム31に送信した表示データを遠隔操作記録データ22に追加して記録し、記憶部20に記憶させる。その後、CPUは、処理を終了する。
【0037】
ステップS206(操作受信ステップ)において、CPUは、コントローラプログラム31から操作データを受信したか否かを判断する。この判断がYESの場合、CPUは、処理をステップS207に移し、この判断がNOの場合、CPUは、処理を終了する。
【0038】
ステップS207(操作送信ステップ)において、CPUは、ターゲットプログラム11に、コントローラプログラム31から受信した操作データを送信する。
【0039】
ステップS208(遠隔操作記録作成ステップ)において、CPUは、ターゲットプログラム11に送信した操作データを、ステップS205において記憶させた表示データに対応付けて遠隔操作記録データ22に記録し、記憶部20に記憶させる。さらに具体的には、CPUは、同じ表示データ及び操作データが所定の回数だけ繰り返された場合に、ターゲットプログラム11に送信した操作データを、その操作データに対応する表示データに対応付けて遠隔操作記録データ22に記録し、記憶部20に記憶させる。その後、CPUは、処理を終了する。
【0040】
本実施形態1によれば、コントローラ代理プログラム21は、リモートデスクトップ技術によりネットワーク70経由で遠隔自動操作する遠隔自動操作システム1において、遠隔操作記録データ22を記憶させた記憶部20を備えるターゲット装置10のコンピュータに、ターゲットプログラム11からコントローラプログラム31に送信される表示データを、ターゲットプログラム11から受信させ、受信させた表示データを、コントローラプログラム31へ送信しないように遮断させ、受信させた表示データに対して、遠隔操作記録データ22に基づいて、操作データをターゲットプログラム11へ送信させる。したがって、コントローラ代理プログラム21は、遠隔自動操作におけるターゲットとコントローラとの間の通信量を削減し、自動操作の応答速度を向上させることができる。
【0041】
本実施形態2によれば、コントローラ代理プログラム21は、ターゲット装置10のコンピュータに、遠隔操作記録データ22に存在しない自動操作について、表示データをコントローラ装置30のコントローラプログラム31へ送信させ、コントローラプログラム31から受信させた操作データをターゲットプログラム11へ送信させる。さらに、ターゲットプログラム11から受信した表示データに対してコントローラプログラム31から操作データを受信した場合に、表示データと操作データとを対応付けて遠隔操作記録データ22として、ターゲット装置10の記憶部20に記憶させる。したがって、コントローラ代理プログラム21は、遠隔自動操作におけるターゲットとコントローラとの間の通信量を、必要なデータについてのみ通信させるようにさらに削減し、自動操作の応答速度を向上させることができる。
【0042】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【0043】
1 遠隔自動操作システム
10 ターゲット装置
11 ターゲットプログラム
21 コントローラ代理プログラム
20 記憶部
22 遠隔操作記録データ
30 コントローラ装置
31 コントローラプログラム
70 ネットワーク