(57)【要約】【課題】コンピュータの自動操作中であることを意識することなくユーザがコンピュータを操作することができ、且つ自動化ソフトの複雑化を回避できるコンピュータの自動操作装置、自動操作方法、及び自動操作プログラムを提供することを目的とする。【解決手段】本発明に係る自動操作装置は、自動化手順に基づく自動操作情報と実際のコンピュータ操作を記録した操作発生情報とを比較し、操作発生情報に存在する不一致部分を外乱と判断し、外乱発生を検出することとした。本発明は外乱発生を検知できるため、自動操作の一時停止等を行うことで、操作自動化とユーザ操作の共存を実現できる。【選択図】図１
2015007825.tif 000002
【特許請求の範囲】
【請求項１】
所定の自動化手順に従い自動化対象の操作を再現するとともに、前記自動化手順で前記自動化対象を操作したことについての自動操作情報を生成する自動操作部と、
前記自動化対象が操作されたことを検出して操作発生情報を生成する操作検出部と、
前記自動操作部からの前記自動操作情報と前記操作検出部からの前記操作発生情報とを比較し、前記操作発生情報のうち前記自動操作情報と不一致である操作を外乱として検出し、前記外乱を検出したときに前記自動操作部に外乱発生の制御情報を通知する外乱検出部と、
を備えるコンピュータの自動操作装置。
【請求項２】
前記自動操作部は、前記外乱検出部から前記制御情報を通知されたときに、前記自動化対象の操作を所定時間停止し、前記所定時間に再度前記制御情報が未通知であれば前記自動化対象の操作を再開することを特徴とする請求項１に記載のコンピュータ自動操作装置。
【請求項３】
前記自動操作部は、前記外乱検出部から前記制御情報を通知されたときに、前記自動化対象の操作を停止し、ユーザからの指示を待って前記自動化対象の操作を再開することを特徴とする請求項１に記載のコンピュータ自動操作装置。
【請求項４】
コンピュータで、
所定の自動化手順に従い自動化対象の操作を再現するとともに、前記自動化手順で前記自動化対象を操作したことについての自動操作情報を生成する自動操作手順と、
前記自動化対象が操作されたことを検出して操作発生情報を生成する操作検出手順と、
前記自動操作手順で生成した前記自動操作情報と前記操作検出手順で生成した前記操作発生情報とを比較し、前記操作発生情報のうち前記自動操作情報と不一致である操作を外乱として検出し、前記外乱を検出したときに外乱発生の制御情報を発生する外乱検出手順と、
を行う自動操作方法。
【請求項５】
前記外乱検出手順で発生した前記制御情報を受け、前記自動化対象の操作を所定時間停止し、前記所定時間に前記外乱検出手順で再度前記制御情報が未発生であれば前記自動化対象の操作を再開する自動操作再開手順を行うことを特徴とする請求項４に記載の自動操作方法。
【請求項６】
前記外乱検出手順で発生した前記制御情報を受け、前記自動化対象の操作を停止し、ユーザからの指示を待って前記自動化対象の操作を再開する自動操作再開手順を行うことを特徴とする請求項４に記載の自動操作方法。
【請求項７】
請求項４から６のいずれかに記載の自動操作方法をコンピュータに実現させる自動操作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを自動で操作する自動操作装置、自動操作方法、及び自動操作プログラムに関する。
【背景技術】
【０００２】
自動化したい操作手順（自動化手順）に従って、マウス・キーボード操作を再現したり、ＧＵＩ部品（テキストボックス、ボタン）に働きかけたりすることにより、コンピュータ上の作業を自動化する自動化ソフトが知られている（例えば、非特許文献１を参照。）。このような自動化ソフトは、自動操作中にユーザ操作等の外乱が無いことを前提としており、自動操作中に外乱が起こると誤操作が発生する可能性があった。
【０００３】
このため、外乱に対する対処としては、自動操作中に操作をしないようにユーザに意識させるなどの運用対処が行われていた。または、自動化ソフトにユーザの操作を無効化する機能を設けて外乱が発生しないようにしていた。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＲｏｃｋｅｔＭｏｕｓｅ  Ｐｒｏ製品ホームページ（ｈｔｔｐ：／／ｍｏｊｏｓｏｆｔ．ｂｉｚ／ｐｒｏｄｕｃｔｓ／ｒｏｃｋｅｔｍｏｕｓｅｐｒｏ／）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
自動化ソフトによる操作の自動化中にユーザ操作あるいは他の要因の操作が入ると、当該操作が外乱となり、自動操作が失敗する可能性がある。例えば、ＧＵＩ画面に対して自動化ソフトが指定された手順（自動化手順）通りにボタンをクリックしている最中に、ユーザがマウスを動かしてしまうと、予期しない操作が引き起こされ、正しく作業を完了できない可能性がある。自動化手順を外乱の影響まで考慮して作成すれば、対応することも可能であるが、自動化手順が非常に複雑になるため、外乱の影響まで考慮して自動化手順を作成することは通常行われない。
【０００６】
従来、自動操作の失敗という問題に対して、ユーザに予期しない操作が発生しないように意識させる運用対処が行われていたが、下記の課題があった。
（ａ）運用が徹底されていないユーザが間違ってマウスやキーボードを触ってしまった場合などは誤操作を防止できない。
（ｂ）自動化を開始するにはまず自動化ソフト自体を操作する必要があるが、自動化開始後にマウスやキーボードから手を放す際に誤って操作をしてしまうことがある。
【０００７】
上記の対策として、ソフトウェア的にユーザ操作を禁止する方法もあったが、下記の課題があった。
（Ａ）操作が全て無効化されるため、ユーザが操作を行っても安全な状況（待ち状態の時など）においても操作ができなくなる。
（Ｂ）自動化を中断したい場合などには、自動化中に自動化ソフトを操作する必要があるが、停止を指示する操作も行えない。ほとんどの自動化ソフトでは、停止用のショートカットキーが用意されているが（ショートカットキーの操作は特別に無効化しない）、このショートカットキーを忘れてしまった場合は停止できなくなる。
【０００８】
そこで、本発明は、上記課題を解決するために、コンピュータの自動操作中であることを意識することなくユーザがコンピュータを操作することができ、且つ自動化手順の複雑化を回避できるコンピュータの自動操作装置、自動操作方法、及び自動操作プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明に係るコンピュータの自動操作装置、自動操作方法、及び自動操作プログラムは、端末内で行われる各種操作を検出し、自動化手順と比較を行って外乱を検出し対処することで、操作自動化とユーザ操作の共存を実現する。
【００１０】
具体的には、本発明に係るコンピュータの自動操作装置は、
所定の自動化手順に従い自動化対象の操作を再現するとともに、前記自動化手順で前記自動化対象を操作したことについての自動操作情報を生成する自動操作部と、
前記自動化対象が操作されたことを検出して操作発生情報を生成する操作検出部と、
前記自動操作部からの前記自動操作情報と前記操作検出部からの前記操作発生情報とを比較し、前記操作発生情報のうち前記自動操作情報と不一致である操作を外乱として検出し、前記外乱を検出したときに前記自動操作部に外乱発生の制御情報を通知する外乱検出部と、
を備える。
【００１１】
また、本発明に係る自動操作方法は、コンピュータで、
所定の自動化手順に従い自動化対象の操作を再現するとともに、前記自動化手順で前記自動化対象を操作したことについての自動操作情報を生成する自動操作手順と、
前記自動化対象が操作されたことを検出して操作発生情報を生成する操作検出手順と、
前記自動操作手順で生成した前記自動操作情報と前記操作検出手順で生成した前記操作発生情報とを比較し、前記操作発生情報のうち前記自動操作情報と不一致である操作を外乱として検出し、前記外乱を検出したときに外乱発生の制御情報を発生する外乱検出手順と、
を行う。
【００１２】
自動化手順に基づく自動操作情報と実際のコンピュータ操作を記録した操作発生情報とを比較し、操作発生情報に存在する不一致部分を外乱と判断し、外乱発生を検出することとした。本発明は外乱発生を検知できるため、自動操作の一時停止等を行うことで、操作自動化とユーザ操作の共存を実現できる。
【００１３】
従って、本発明は、コンピュータの自動操作中であることを意識することなくユーザがコンピュータを操作することができ、且つ自動化手順の複雑化を回避できるコンピュータの自動操作装置及び自動操作方法を提供することができる。
【００１４】
本発明に係るコンピュータの自動操作装置の前記自動操作部は、前記外乱検出部から前記制御情報を通知されたときに、前記自動化対象の操作を所定時間停止し、前記所定時間に再度前記制御情報が未通知であれば前記自動化対象の操作を再開することを特徴とする。
【００１５】
また、本発明に係る自動操作方法は、前記外乱検出手順で発生した前記制御情報を受け、前記自動化対象の操作を所定時間停止し、前記所定時間に前記外乱検出手順で再度前記制御情報が未発生であれば前記自動化対象の操作を再開する自動操作再開手順を行うことを特徴とする。
【００１６】
所定時間後に自動操作の停止を解除し、再開することができる。
【００１７】
本発明に係るコンピュータの自動操作装置の前記自動操作部は、前記外乱検出部から前記制御情報を通知されたときに、前記自動化対象の操作を停止し、ユーザからの指示を待って前記自動化対象の操作を再開することを特徴とする。
【００１８】
また、本発明に係る自動操作方法は、前記外乱検出手順で発生した前記制御情報を受け、前記自動化対象の操作を停止し、ユーザからの指示を待って前記自動化対象の操作を再開する自動操作再開手順を行うことを特徴とする。
【００１９】
ユーザが判断して自動操作の停止を解除し、再開することができる。
【００２０】
本発明に係る自動操作方法を実現するためにコンピュータに自動操作プログラムを実行させ、ＣＰＵやメモリを自動操作部、操作検出部、及び外乱検出部として動作させることができる。
【発明の効果】
【００２１】
本発明は、コンピュータの自動操作中であることを意識することなくユーザがコンピュータを操作することができ、且つ自動化手順の複雑化を回避できるコンピュータの自動操作装置、自動操作方法、及び自動操作プログラムを提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明に係るコンピュータの自動操作装置を説明する図である。
【図２】本発明に係るコンピュータの自動操作装置が備える外乱検出部を説明する図である。
【図３】本発明に係る自動操作方法の外乱検出手順を説明する図である。
【発明を実施するための形態】
【００２３】
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【００２４】
（実施形態１）
本実施形態の自動操作装置は、図１のように自動操作部、操作検出部、及び外乱検出部からなる。自動操作装置は、自動化ソフト（自動化プログラム）をコンピュータで実行することで、コンピュータのＣＰＵやメモリ等のリソースを利用して実現できる。自動操作装置は、自動化手順の記録・編集・実行等を実現するため、実際には他にも様々な機能から構成されるが、図１には本発明に関係する３機能のみ図示した。
【００２５】
本実施形態の自動操作装置は、
所定の自動化手順に従い自動化対象５０の操作を再現するとともに、前記自動化手順で自動化対象５０を操作したことについての自動操作情報Ｌ１を生成する自動操作部１０と、
自動化対象５０が操作されたことを検出して操作発生情報Ｌ２を生成する操作検出部２０と、
自動操作部１０からの自動操作情報Ｌ１と操作検出部２０からの操作発生情報Ｌ２とを比較し、操作発生情報Ｌ２のうち自動操作情報Ｌ１と不一致である操作を外乱として検出し、前記外乱を検出したときに自動操作部１０に外乱発生の制御情報Ｌ３を通知する外乱検出部３０と、
を備える。
【００２６】
「自動操作部１０」は、自動化手順に従って操作を再現する機能である。自動化手順にしたがって自動化対象５０であるオペレーティングシステム（ＯＳ）や操作対象アプリケーションに働きかけを行い、必要な操作を再現する機能である。具体的には、カーソール位置の変更やマウスクリックを発生させるＯＳ機能を呼び出したり、対象アプリケーションへメッセージを送信したりする。
【００２７】
「操作検出部２０」は、コンピュータ端末上で発生する各種操作を検出する機能である。操作検出部２０は、自動化対象５０からの操作情報Ｌ０を検出する。操作検出部２０で検出する操作は、ユーザによるものか自動化ソフト自身が発生させた操作かは問わない。操作検出部２０は、コンピュータ端末のＯＳ、ＧＵＩライブラリ、ＧＵＩミドルウェア等に働きかけて（例えば、フック機能を利用して）操作情報Ｌ０を収集する。
【００２８】
「外乱検出部３０」は、自動操作部１０から受け取った自動操作情報Ｌ１と、操作検出部２０から受け取った操作発生情報Ｌ２を基に、外乱（自動化ソフト以外による操作）の発生を検出する。外乱が検出された場合は、その情報を制御情報Ｌ３として自動操作部１０に通知する。
【００２９】
外乱検出部３０の内部構成を図２に示す。自動操作部１０から通知された自動操作情報Ｌ１は自動操作情報キュー３１に蓄積される。外乱検出部３０は図３の判定ロジック３２に従って外乱の検出を行い、自動操作部１０に外乱の情報（制御情報Ｌ３）を通知する。
判定ロジック３２は、まず、操作発生情報Ｌ２が入力されるまで待機している（ステップＳ０１）。判定ロジック３２は、操作発生情報Ｌ２が入力された時点で自動操作情報キュー３１の先頭の自動操作情報Ｌ１を取得する（ステップＳ０２）。そして、判定ロジック３２は、操作発生情報Ｌ２と自動操作情報キューの先頭の自動操作情報Ｌ１とを比較する（ステップＳ０３）。ここで、自動操作情報Ｌ１と操作発生情報Ｌ２とが一致すれば、判定ロジック３２は「外乱無し」と判断し、自動操作情報キュー３１の先頭の自動操作情報Ｌ１を削除する（ステップＳ０４）。一方、自動操作情報Ｌ１と操作発生情報Ｌ２とが不一致であれば、判定ロジック３２は「外乱発生」と判断し、外乱が検出されたことを自動操作部１０に通知する（ステップＳ０５）。具体的には、判定ロジック３２は自動操作部１０に一定時間待機するように制御情報Ｌ３を出力する（ステップＳ０６）。判定ロジック３２は制御情報Ｌ３を出力した後、自動操作情報キュー３１のすべての自動操作情報Ｌ１を削除し（ステップＳ０７）、ステップＳ０１に戻る。
【００３０】
自動操作ソフトがこのようなロジックを採用することで、
所定の自動化手順に従い自動化対象５０の操作を再現するとともに、前記自動化手順で自動化対象５０を操作したことについての自動操作情報Ｌ１を生成する自動操作手順と、
自動化対象５０が操作されたことを検出して操作発生情報Ｌ２を生成する操作検出手順と、
前記自動操作手順で生成した自動操作情報Ｌ１と前記操作検出手順で生成した操作発生情報Ｌ２とを比較し、操作発生情報Ｌ２のうち自動操作情報Ｌ１と不一致である操作を外乱として検出し、外乱を検出したときに外乱発生の制御情報Ｌ３を発生する外乱検出手順と、
を行う自動操作方法を実行できる。
【００３１】
なお、図３は自動操作部１０が行った自動操作情報Ｌ１が、操作検出部２０により１対１かつ同順で検出される最も単純な場合の例である。コンピュータ端末の環境（ＯＳ、ＧＵＩライブラリ、ＧＵＩミドルウェア等の構成）によっては、自動操作部１０が行った自動操作が１対１で検出されなかったり、順不同で検出されたりすることがある。そのような場合は、各環境に合わせて手順をカスタマイズする必要がある。
【００３２】
自動操作部１０は、外乱検出部３０から外乱の制御情報Ｌ３を通知された場合は、例えば次のような対処動作を行う。
【００３３】
自動操作部１０は、外乱検出部３０から制御情報Ｌ３を通知されたときに、自動化対象５０の操作を所定時間停止し、所定時間に再度制御情報Ｌ３が未通知であれば自動化対象５０の操作を再開する。すなわち、外乱が発生すると、自動操作を一旦停止し、一定時間の間に外乱が検出されなければ自動操作を再開する。
【００３４】
自動操作部１０は、外乱検出部３０から制御情報Ｌ３を通知されたときに、自動化対象５０の操作を停止し、ユーザからの指示を待って自動化対象５０の操作を再開する。すなわち、外乱が発生すると、操作を停止し、ポップアップダイアログ等でユーザに異常がないか確認を促す。ユーザから再開の指示があると、自動操作を再開する。また、自動操作の開始や再開直後にはユーザによる意図しない操作が生じやすい（マウスから手を放す時など）ため、開始／再開後に一定時間の外乱検出猶予時間を設けたり、開始／再開の指示があってから実際に開始／再開するまで一定時間待機してもよい。
【００３５】
上記の動作を行うことで、ユーザの操作中には自動化ソフトは自動操作を一時的に停止するため、ユーザは安全に操作を行うことができる。ユーザが操作を終えると、一定時間後又はユーザ指示により自動操作が再開される。
【００３６】
前述の動作により、ユーザは自動操作と競合せずに安全に操作を行うことができる。なお、ユーザが操作を開始した瞬間については、非常に小さな確率であるが、操作の停止が間に合わず競合が発生する可能性がある。この場合でも、前述の対処動作を行えば、自動操作が再開するまでに十分な余裕を設けられるため、誤操作が生じていないことを確認してから自動操作を再開させることができる。
【００３７】
さらに、外乱検出部３０では、より高度な対応を行うことも可能である。自動操作情報Ｌ１と操作発生情報Ｌ２から、外乱だけでなく、自動操作が正しく行われたかどうかも判定可能である。外乱検出部３０は、外乱の情報だけでなく、外乱によって自動操作が成功したか失敗したかも判定して自動操作部１０に通知することで、自動操作が失敗した場合はその趣旨をユーザに通知することが可能となり、より安全に操作を再開させることができる。
【００３８】
［付記］
以下は、本発明の自動操作装置及び自動操作方法を説明したものである。
本発明は、コンピュータ端末上での操作自動化時に、ユーザの操作が介入することで誤った操作が発生してしまうことを防止する機能を持つ。当該機能は、自動化ソフトが、端末上で発生する操作を監視し、自身が発生させた操作との比較することで、外乱（自身が発生させた操作以外の操作）を検出する。そして、外乱発生時は自動操作を一時的に停止するなどの対処動作により、外乱による自動操作の失敗を防止する。
【００３９】
（発明によって生じる効果）
本発明により、自動化ソフトの自動操作中に、（意図の有る無しに関わらず）何らかの操作が行われた場合、その操作（外乱）を検出することができる。外乱を検出することにより、操作を一時的に止めるなどの対処が可能となり、操作の競合による誤操作の発生を防止することができる。この効果により、例えばマウスから手を放す際などに意図せず誤ってマウスを動かしてしまっても誤操作が発生しない。さらに、自動操作中に、ユーザが自動化対象に介入したり、自動化ソフトに自動操作の終了・一時停止を指示したり、あるいは自動操作とは無関係にメールをチェックしたりするなどのことも、自動操作を止めずに安全に行えるようになる。
【符号の説明】
【００４０】
１０：自動操作部
２０：操作検出部
３０：外乱検出部
３１：自動操作情報キュー
３２：判定ロジック
４０：自動化ソフト
５０：自動化対象
【図１】
2015007825.tif 000003
【図２】
2015007825.tif 000004
【図３】
2015007825.tif 000005
【手続補正書】
【提出日】平成26年5月21日(2014.5.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
所定の自動化手順に従い自動化対象の操作を再現するとともに、前記自動化手順で前記自動化対象を操作したことについての自動操作情報を生成する自動操作部と、
前記自動化手順による前記自動化対象の操作を含むコンピュータ端末上で発生する操作を検出して操作発生情報を生成する操作検出部と、
前記自動操作部からの前記自動操作情報と前記操作検出部からの前記操作発生情報とを比較し、前記操作発生情報のうち前記自動操作情報と不一致である操作を外乱として検出し、前記外乱を検出したときに前記自動操作部に外乱発生の制御情報を通知する外乱検出部と、
を備えるコンピュータの自動操作装置。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
コンピュータで、
所定の自動化手順に従い自動化対象の操作を再現するとともに、前記自動化手順で前記自動化対象を操作したことについての自動操作情報を生成する自動操作手順と、
前記自動化手順による前記自動化対象の操作を含む前記コンピュータで発生する操作を検出して操作発生情報を生成する操作検出手順と、
前記自動操作手順で生成した前記自動操作情報と前記操作検出手順で生成した前記操作発生情報とを比較し、前記操作発生情報のうち前記自動操作情報と不一致である操作を外乱として検出し、前記外乱を検出したときに外乱発生の制御情報を発生する外乱検出手順と、
を行う自動操作方法。