(57)【要約】【課題】  既に自動化された操作の操作ログをクラウドシステムに送信しないことで、操作ログ送信時のネットワーク負荷を軽減することを目的とする。【解決手段】  特定の機能を情報処理装置の画面を介して提供する一つ、または複数のＧＵＩアプリケーションを有し、前記ＧＵＩアプリケーションを実行した際の操作記録である操作ログをサーバーに送信する前記情報処理装置であって、前記ＧＵＩアプリケーションに対するユーザー操作に対応する操作を自動的に実行するアプリケーションである自動操作アプリケーションと、前記ＧＵＩアプリケーションが前記自動操作アプリケーションによって起動したかを判定する判定手段と、を有し、前記判定手段によって前記ＧＵＩアプリケーションが、前記自動操作アプリケーションによって起動したと判定された場合は、前記ＧＵＩアプリケーションを実行した際の前記操作ログを送信しないことを特徴とする。【選択図】  図７
2020021245.tif 000002
【特許請求の範囲】
【請求項１】
特定の機能を情報処理装置の画面を介して提供する一つ、または複数のＧＵＩアプリケーションを有し、
前記ＧＵＩアプリケーションを実行した際の操作記録である操作ログをサーバーに送信する前記情報処理装置であって、
前記ＧＵＩアプリケーションに対するユーザー操作に対応する操作を自動的に実行するアプリケーションである自動操作アプリケーションと、
前記ＧＵＩアプリケーションが前記自動操作アプリケーションによって起動したかを判定する判定手段と、を有し、
前記判定手段によって前記ＧＵＩアプリケーションが、前記自動操作アプリケーションによって起動したと判定された場合は、前記ＧＵＩアプリケーションを実行した際の前記操作ログを送信しないことを特徴とする情報処理装置。
【請求項２】
前記ＧＵＩアプリケーションが、前記ユーザー操作によって起動したと判定された場合は、
前記ＧＵＩアプリケーションを実行した際の前記操作ログを出力し、前記サーバーに送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、
前記操作ログの詳細度を設定する設定手段を更に有し、
前記設定手段によって設定された前記詳細度に基づいて、前記操作ログを出力するかどうかを決定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記設定手段は、
前記自動操作アプリケーションによって起動したＧＵＩアプリケーションの操作ログ、及び前記ユーザー操作によって起動したＧＵＩアプリケーションの操作ログのうち少なくとも一つを出力しない、または簡易的な操作ログを出力する、または詳細な操作ログを出力することをユーザーに選択させることによって前記詳細度を設定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ＧＵＩアプリケーションは、第一のＧＵＩアプリケーション及び前記第一のＧＵＩアプリケーションの親プロセスである第二のＧＵＩアプリケーションを含み、
前記第一のＧＵＩアプリケーションが前記自動操作アプリケーションであるかを判断する判断手段を有し、
前記判断手段によって前記第一のＧＵＩアプリケーションが前記自動操作アプリケーションでないと判断された場合、
前記判断手段は、
前記第二のＧＵＩアプリケーションが前記自動操作アプリケーションであるかどうかを判断することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記判断手段によって、前記第二のＧＵＩアプリケーションが前記自動操作アプリケーションでないと判断された場合、
前記第二のＧＵＩアプリケーションが、前記自動操作アプリケーションには含まれないプロセスである除外プロセスリスト、または前記自動操作アプリケーションに含まれるプロセスの候補である候補プロセスリストに含まれているかを判定し、
前記判断手段によって、前記第二のＧＵＩアプリケーションが前記自動操作アプリケーションであると判断された場合、
前記第二のＧＵＩアプリケーションが前記除外プロセスリスト、または候補プロセスリストに含まれるかを判定しないことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記判定手段は、
前記ＧＵＩアプリケーションの前記自動操作アプリケーションを特定するためのリストに基づいて、前記ＧＵＩアプリケーションが前記自動操作アプリケーションによって起動したかを判定し、
前記リストは、
ユーザー操作によって特定のアプリケーションを前記自動操作アプリケーションとして追加、または前記リストから削除を可能とすることを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記サーバーは学習装置であって、
前記情報処理装置から取得した操作ログに基づいて、自動操作アプリケーションに含まれるプロセスを作成することを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
特定の機能を情報処理装置の画面を介して提供する一つ、または複数のＧＵＩアプリケーションを有し、
前記ＧＵＩアプリケーションを実行した際の操作記録である操作ログをサーバーに送信する前記情報処理装置として機能させるプログラムであって、
前記ＧＵＩアプリケーションに対するユーザー操作に対応する操作を自動的に実行するアプリケーションである自動操作アプリケーションを有する前記情報処理装置は、
前記ＧＵＩアプリケーションが前記自動操作アプリケーションによって起動したかを判定する判定手段を有し、
前記判定手段によって前記ＧＵＩアプリケーションが、前記自動操作アプリケーションによって起動したと判定された場合は、前記ＧＵＩアプリケーションを実行した際の前記操作ログを送信しないことを特徴とする情報処理装置として機能させるためのプログラム。
【請求項１０】
特定の機能を情報処理装置の画面を介して提供する一つ、または複数のＧＵＩアプリケーションを有し、
前記ＧＵＩアプリケーションを実行した際の操作記録である操作ログをサーバーに送信する前記情報処理装置の制御方法であって、
前記ＧＵＩアプリケーションに対するユーザー操作に対応する操作を自動的に実行するアプリケーションである自動操作アプリケーションと、
前記ＧＵＩアプリケーションが前記自動操作アプリケーションによって起動したかを判定する判定ステップと、を有し、
前記判定ステップによって前記ＧＵＩアプリケーションが、前記自動操作アプリケーションによって起動したと判定された場合は、前記ＧＵＩアプリケーションを実行した際の前記操作ログを前記サーバーに送信しないことを特徴とする情報処理装置の制御方法。
【請求項１１】
特定の機能を情報処理装置の画面を介して提供する一つ、または複数のＧＵＩアプリケーションを有し、前記ＧＵＩアプリケーションを実行した際の操作記録である操作ログをサーバーに送信する前記情報処理装置、および前記サーバーを含む情報処理システムであって、
前記情報処理装置は、
前記ＧＵＩアプリケーションに対するユーザー操作に対応する操作を自動的に実行するアプリケーションである自動操作アプリケーションと、
前記ＧＵＩアプリケーションが前記自動操作アプリケーションによって起動したかを判定する判定手段と、を有し、
前記判定手段によって前記ＧＵＩアプリケーションが、前記自動操作アプリケーションによって起動したと判定された場合は、前記ＧＵＩアプリケーションを実行した際の前記操作ログを送信しないことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作ログを出力する情報処理装置及びその制御方法と、並びにプログラム、情報処理システムに関する。
【背景技術】
【０００２】
現在、作業内容に対応する処理を実行するアクティビティを組み合わせることにより、操作の自動化が行われている。例えば、スキャンデータを解析して分類し、その分類に応じて必要な情報をスキャンデータから抽出するといったことが行われている。
【０００３】
一方、ＧＵＩアプリケーションのＵＩを自動で操作するようなアプリケーション（以下、ＵＩ自動操作アプリケーション）により、ＵＩに対してユーザーが行う操作を自動的に実行させる技術がある。そのような技術は一般的にＲＰＡ（Ｒｏｂｏｔｉｃ  Ｐｒｏｃｅｓｓ  Ａｕｔｏｍａｔｉｏｎ）と称される。ＲＰＡに対してさらにＡＩや機械学習などとの組み合わせによって認識精度が向上することで、ＵＩ自動操作アプリケーションの適用範囲を増やす形態も出てきている。
【０００４】
ＵＩに対するユーザー操作をＲＰＡによって自動化していく上で、自動化の対象となる操作を把握する必要がある。把握するための方法としては、作業者からの聞き取りだけではなく、ＧＵＩアプリケーションがユーザーによって操作された際の操作ログを収集し、操作ログを解析することによって把握する方法がある。近年では、各クライアント端末で操作されたＧＵＩアプリケーションにより出力された操作ログを、インターネットを介してクラウドシステム上のサーバーに送信し、クラウドシステムが操作ログを解析するといったことも行われている。
【０００５】
その操作ログの出力方法として特許文献１は、監視装置が安定して稼働している定常状態である場合には、操作ログの詳細度を「粗」にし、定常状態ではない場合には、操作ログの詳細度を「密」にするサーバー装置について開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２３６２３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
クライアント端末によって出力される操作ログは、詳細であればあるほど、クラウドシステムの解析の精度も上がる。しかし、ＵＩ自動操作アプリケーションによって既に自動化された操作の操作ログをクラウドシステムは解析する必要がない。自動化された操作の操作ログまでも詳細な出力を行うと、操作ログの出力量が膨大となり、操作ログを送信する際のネットワーク負荷になる。
【０００８】
上記の課題を鑑みて本願発明は、既に自動化された操作の操作ログをクラウドシステムに送信しないことで、操作ログ送信時のネットワーク負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００９】
特定の機能を情報処理装置の画面を介して提供する一つ、または複数のＧＵＩアプリケーションを有し、前記ＧＵＩアプリケーションを実行した際の操作記録である操作ログをサーバーに送信する前記情報処理装置であって、前記ＧＵＩアプリケーションに対するユーザー操作に対応する操作を自動的に実行するアプリケーションである自動操作アプリケーションと、前記ＧＵＩアプリケーションが前記自動操作アプリケーションによって起動したかを判定する判定手段と、を有し、前記判定手段によって前記ＧＵＩアプリケーションが、前記自動操作アプリケーションによって起動したと判定された場合は、前記ＧＵＩアプリケーションを実行した際の前記操作ログを送信しないことを特徴とする。
【発明の効果】
【００１０】
本発明によって、既に自動化された操作の操作ログをクラウドシステムに送信しないことで、操作ログ送信時のネットワーク負荷を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例１に係る情報処理クラウドシステムの構成例を示す図
【図２】本発明の実施例１に係るクライアント端末、クラウドサーバーのハードウェア構成例を示す図
【図３】本発明の実施例１に係るクライアント端末のソフトウェア構成例を示す図
【図４】本発明の実施例１に係る操作ログの出力例を示す図
【図５】本発明の実施例１に係るＵＩ自動操作プロセスリストのデータ構造を示す図
【図６】本発明の実施例１に係るログ設定のデータ構造を示す図
【図７】本発明の実施例１に係るＧＵＩアプリケーション３００における、ログ出力詳細度設定処理のフローチャート
【図８】本発明の実施例１に係るＧＵＩアプリケーション３００における、ログ出力処理のフローチャート
【図９】本発明の実施例１に係るログ送信アプリケーション３１０における、ログ送信処理のフローチャート
【図１０】ＧＵＩアプリケーション３００における、メインウィンドウ１００１の一例を示す図
【図１１】ＵＩ自動操作アプリケーション３２０における、メインウィンドウ１１０１の一例を示す図
【図１２】本発明の実施例２に係るクライアント端末のソフトウェア構成例を示す図
【図１３】本発明の実施例２に係る除外プロセスリスト、および候補プロセスリストのデータ構造を示す図
【図１４】本発明の実施例２に係るＧＵＩアプリケーション３００における、ログ出力詳細度設定処理のフローチャート
【図１５】本発明の実施例２に係るＧＵＩアプリケーション３３０における、メインウィンドウ１５０１の図例
【図１６】本発明の実施例２に係るＧＵＩアプリケーション３００における、ＵＩ自動操作プロセスの管理ダイアログ１６００の図例
【図１７】本発明の実施例２に係るＧＵＩアプリケーション３００における、ログ詳細設定ダイアログ１７００の図例
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
［実施例１］
［システム構成］
本実施例では、クライアント端末に配置されたＧＵＩアプリケーションが操作ログを出力し、出力された操作ログをクラウドサーバーに送信することを前提として説明を行うものとする。ここで操作ログとは、ＧＵＩアプリケーションを実行した際の操作記録である。図１は、クライアント端末１０３の操作ログをクラウドサーバー１０２に蓄積する情報処理システムの構成図である。情報処理システム１００は、操作ログを蓄積、解析するクラウドサーバー１０２と、複数のクライアント端末１０３とで構成され、これらがＬＡＮ１０４とインターネット１０１を介して相互に接続されている。
【００１４】
インターネット１０１は、ファイアウォールを越えてクラウドサーバー１０２とクライアント端末１０３との間で、操作ログやユーザー指示をやり取りするための通信回線である。クライアント端末１０３は、各ユーザーに割り当てられたパーソナルコンピュータやタブレット、スマートフォンなどの端末を指す。また、ＬＡＮ１０４、インターネット１０１は、例えば、ＴＣＰ／ＩＰプロトコルなどをサポートする通信回線網であり有線・無線は問わない。
【００１５】
クラウドサーバー１０２は、クライアント端末１０３のＧＵＩアプリケーションに対するユーザー操作を将来的に自動化するにあたって、クライアント端末１０３から取得した操作ログを解析する機能を有する。その解析方法としては例えば、クラウドサーバー１０２、またはクラウドサーバー１０２と同じシステムの学習装置に対して大量の操作ログを学習させ、ユーザー操作の傾向を統計的に解析させる。その解析結果に基づいてＧＵＩアプリケーションの自動化が行われる。従って、ユーザー操作の傾向をクラウドサーバー１０２に解析させることを目的とするため、クラウドサーバー１０２に対しては、ユーザー操作の操作ログのみが送信されるものとする。
【００１６】
なお、クラウドサーバー１０２は１台のコンピュータでもよいし、機能・役割に応じた複数のコンピュータで構成してもよい。また、複数のコンピュータでクラウドサーバー１０２を実現する場合は、その一部が仮想ＰＣとして構成されていても構わない。
【００１７】
図１では、クライアント端末は複数存在するものとして記載しているが、台数については特に問わないため、以降の実施例では、台数に限定することなく「クライアント端末１０３」と称する。
【００１８】
［ハードウェア構成］
図２に、本発明の実施例に関わる各種装置のハードウェア構成図を示す。本願はクライアント端末１０３を例に説明し、クラウドサーバー１０２も同様のハードウェア構成を有するものとする。図１に示されるハードウェア構成は一般的な情報処理装置のハードウェア構成図に相当し、本実施例のクライアント端末１０３には一般的な情報処理装置のハードウェア構成を適用できる。
【００１９】
図２において、ＣＰＵ２００は、ＲＯＭ２０２のプログラム用ＲＯＭに記憶された、或いはハードディスク２０９からＲＡＭ２０１にロードされたオペレーティングシステム（ＯＳ）やアプリケーション等のプログラムを実行する。後述する各フローチャートの処理はＣＰＵ２００がプログラムを実行することにより実現する。ＲＡＭ２０１は、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。キーボードコントローラ２０３は、キーボード２０８やマウスなど、図示しないポインティングデバイスからの入力を制御する。ディスプレイコントローラ２０４は、各種ディスプレイ２０７の表示を制御する。ディスクコントローラ２０５は、各種データを記憶するハードディスク（ＨＤ）２０９やフロッピー（登録商標）ディスク（ＦＤ）等におけるデータアクセスを制御する。ＮＣ２０６はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【００２０】
［ソフトウェア構成］
図３に、本発明に係るクライアント端末１０３のソフトウェア構成図を示す。ＧＵＩアプリケーション３００は、クライアント端末１０３上で実行されるプログラムによって、ＧＵＩアプリケーション３００の機能を実現する。尚、図２のハードウェア構成で説明済みの部分については同じ符番を振り、説明を省略する。
【００２１】
ＧＵＩアプリケーション３００は、クライアント端末１０３のディスプレイ２０７上に表示され、キーボード／マウスなどの入力デバイスからの入力を受け付けるグラフィックユーザーインターフェース（ＧＵＩ）部３０１、ユーザーのキーボード２０８の操作を、ＧＵＩ部３０１を通して検知し、操作に応じた処理を指示する入力制御部３０２、入力制御部３０２の指示に従って操作ログの出力有無や内容を制御するログ制御部３０３、ログ制御部３０３の出力指示に従って操作ログの出力を行うログ出力部３０４、入力制御部３０２の指示に従いユーザーに提供する機能を実行する処理実行部３０５を有する。
【００２２】
さらにクライアント端末１０３のハードディスク２０９は、ＵＩ自動操作プロセスリスト３０６とログ設定３０７とを有する。ＵＩ自動操作プロセスリスト３０６は、ＵＩを自動で操作するアプリケーションのプロセス名のリストであり、ログ設定３０７は操作ログの出力に関する設定である。クライアント端末１０３はそれらのデータを読み込み、操作ログの出力に関する処理を行う。
【００２３】
ハードディスク２０９はさらに、ＧＵＩアプリケーション３００が操作された内容に応じて出力される操作ログ３０８を有する。
【００２４】
クライアント端末１０３はログ送信アプリケーション３１０を有する。ログ送信アプリケーション３１０は、ＧＵＩアプリケーション３００が出力した操作ログ３０８を取得するログ取得部３１１、クラウドサーバー１０２へ操作ログ３０８を送信する機能であるログ送信部３１２を有する。
【００２５】
クライアント端末１０３はＵＩ自動操作アプリケーション３２０を有する。ＵＩ自動操作アプリケーション３２０は、クライアント端末１０３のディスプレイ２０７上に表示され、キーボード／マウスなどの入力デバイスからの入力を受け付けるグラフィックユーザーインターフェース（ＧＵＩ）部３２１、ユーザーのキーボード２０８の操作を、ＧＵＩ部３２１を通して検知して、操作に応じた処理を指示する入力制御部３２２、ＵＩアプリケーションを操作する操作部３２３を有する。
【００２６】
≪ＧＵＩアプリケーション３００の表示画面≫
図１０は、ＧＵＩアプリケーション３００のＧＵＩ部３０１によって表示されるメインウィンドウ１００１の一例である。ＧＵＩアプリケーション３００は文書データを表示、編集する機能を有しているとする。メインウィンドウ１００１は、メニュー／ツールバー１００２、ページプレビュー１００３を有する。
【００２７】
メニュー／ツールバー１００２には、ＧＵＩアプリケーション３００が有する各種機能が配置されている表示領域である。例えば、編集した文書データを保存するためのコントロール１００４や、文書データに注釈を付与するためのコントロール１００５、ＧＵＩアプリケーション３００の各種設定を行うためのコントロール１００６などがある。ページプレビュー１００３には、文書データの各ページの描画内容が表示されている。もちろん、ＧＵＩアプリケーション３００が保持する機能により、メインウィンドウ１００１の表示内容は変わり、本発明の適用対象の機能は文書データの編集には限らない。
【００２８】
以上がＧＵＩアプリケーション３００によって表示されるメインウィンドウ１００１の一例である。
【００２９】
≪ＵＩ自動操作アプリケーション３２０の表示画面≫
図１１は、ＵＩ自動操作アプリケーション３２０のＧＵＩ部３２１によって表示されるメインウィンドウ１１０１の一例である。図３に図示した通り、メインウィンドウ１００１を表示するＧＵＩ部３０１と、メインウィンドウ１１０１を表示するＧＵＩ部３２１は、独立した構成である。メインウィンドウ１１０１は、メニュー／ツールバー１１０２、アクティビテイリスト１１０３、ＵＩ操作フロー１１０４を有する。メニュー／ツールバー１１０２には、ＵＩ自動操作アプリケーション３２０が有する各種機能が配置される。例えば、ＧＵＩアプリケーション３００を操作するＵＩ操作フローを新規に作成するコントロール「新規作成」や保存するコントロール「保存」などが存在する。
【００３０】
アクティビテイリスト１１０３には、ＧＵＩアプリケーション３００を操作する各種アクティビティが表示されている。ここでいうアクティビティとは、ユーザー操作またはユーザーが認識する内容を切り出し、ＵＩ自動操作アプリケーション３２０が実行できる単位にしたものである。例えば、ＧＵＩアプリケーション３００を起動するアクティビティやマウスをクリックするアクティビティ、表示内容を認識するアクティビティなどが存在する。ＵＩ操作フロー１１０４には、アクティビテイリスト１１０３の各種アクティビティを連結し、フローにしたものである。アクティビティとアクティビティを連結するだけではなく、特定の条件により実行するアクティビティを分けることも可能である。
【００３１】
本実施例では、自動化する操作を指定する方法として、ＵＩ操作フロー１１０４といったフローをユーザーに作成させる形態を示したがその形態に限定されない。メインウィンドウ上でユーザーが実際に操作を実行させることによって、ユーザーが行った一連の操作を記憶し、自動化の対象とする形態であってもよい。
【００３２】
以上が、ＵＩ自動操作アプリケーション３２０によって表示されるメインウィンドウ１１０１に一例である。
【００３３】
［データ構造］
図４（ａ）（ｂ）はＧＵＩアプリケーション３００が出力する操作ログの一例である。
【００３４】
図４（ａ）の操作ログ４０１は簡易的な操作ログを示しており、実行された操作内容を簡易的に出力した状態となっている。今回の場合、「ＡｄｄＡｎｎｏｔａｔｉｏｎ（アノテーションの追加）」、「ＭｏｖｅＡｎｎｏｔａｔｉｏｎ（アノテーションの移動）」、「ＳａｖｅＦｉｌｅ（ファイルの保存）」、「ＷｉｎｄｏｗＣｌｏｓｅ（ウィンドウが閉じる）」といった操作内容が記載されている。
【００３５】
図４（ｂ）の操作ログ４０２は詳細な操作ログを示しており、実行された操作内容を操作時の設定や操作した動作とともに詳細に出力した状態となっている。例えば、操作ログ４０１に記載された操作内容に加えて、「ＭｏｕｓｅＭｏｖｅ」（マウスの移動）等といった各実行処理の間に行われた操作について記載されており、さらに各実行処理についてもより詳細に記載されている。操作ログの詳細度に応じて出力する内容はＧＵＩアプリケーション３００の保持する機能によっても変化させても構わない。
【００３６】
また、ここで示した操作ログ４０１、４０２は一例であって、操作ログ４０１、４０２に対してより詳細な形態であってもよく、より簡易的な形態であってもよい。
【００３７】
≪ＵＩ自動操作プロセスリスト≫
図５は、ＵＩ自動操作アプリケーション３２０としてＧＵＩアプリケーション３００が認識するプロセス名を管理しているＵＩ自動操作プロセスリストの例を示す。プロセスとは、各種アプリケーションが起動したことによって実行されるプログラムの実行単位である。つまり、一つのアプリケーションが起動すると、一つまたは複数のプロセスが起動することになる。
【００３８】
ＧＵＩアプリケーション３００は、ＵＩ自動操作アプリケーション３２０によって実行されたプロセスであるかどうかを、ＵＩ自動操作プロセスリスト５００を参照することによって判断する。ＵＩ自動操作プロセスリスト５００は１つ以上のＵＩ自動操作プロセス５０１により構成されている。今回は、プログラムファイルのファイル形式「．ｅｘｅ」で各ＵＩ自動操作プロセス５０１が管理されているものとするが、ファイル形式等については特に問わない。
【００３９】
ＵＩ自動操作プロセスリスト５００に含まれる各ＵＩ自動操作プロセスは、ユーザーによる後述の選択操作によって選択された任意のプロセスであってもよく、クラウドサーバー１０２がユーザー操作の操作ログを解析し作成したプロセスであってもよい。本実施例では、クラウドサーバー１０２が操作ログを用いてＵＩ自動操作プロセスを作成する具体的な方法については割愛する。
【００４０】
≪ログ設定≫
図６は、ＧＵＩアプリケーション３００が保持するログ設定６００のデータ構造概念図である。ログ設定６００には、出力詳細度６０１、手動操作時詳細度６０２、自動操作時詳細度６０３、ログ出力パス６０４が含まれる。これらのパラメータを予め設定する事によって、ＧＵＩアプリケーション３００が出力する操作ログに記載される内容の詳細度が決定される。操作ログに記載される内容の詳細度については、図４で説明した通りである。図４に示された操作ログ４０１、４０２は、予め設定されたログ設定６００に基づき、記載される。
【００４１】
出力詳細度６０１は、現在実行中のＧＵＩアプリケーション３００の操作ログ出力の詳細度を示す。詳細度には「なし」、「簡易」、「詳細」といった段階が存在する。詳細度「なし」が設定されると操作ログは出力されない。詳細度「簡易」が設定されると、図４（ａ）で例示したような簡易的な操作ログが出力される。詳細度「詳細」が設定されると、図４（ｂ）で例示したような詳細な操作ログが出力される。
【００４２】
手動操作時詳細度６０２は、ＧＵＩアプリケーション３００がＵＩ自動操作アプリケーション３２０により実行されていない、つまり、ＧＵＩアプリケーション３００がユーザーによる手動操作によって実行されたと判断されたときの操作ログの出力の詳細度である。詳細度には出力詳細度６０１と同様に、「なし」、「簡易」、「詳細」といった段階が存在する。しかし本実施例では、ユーザー操作による処理内容を解析する事を前提としているため、詳細度「詳細」が設定されているものとして説明する。
【００４３】
自動操作時詳細度６０３は、ＧＵＩアプリケーション３００がＵＩ自動操作アプリケーション３２０により実行されていると判断されたときの操作ログの出力の詳細度である。詳細度には出力詳細度６０１と同様に、「なし」、「簡易」、「詳細」といった段階が存在する。しかし本実施例では、既に自動化された処理はユーザー操作による処理よりかは重要度が下がることを前提としているため、詳細度「なし」、「簡易」が設定されるものとして説明する。
【００４４】
ログ出力パス６０４は、操作ログ３０８の出力されるファイルパスが格納されている。
【００４５】
［ログ出力詳細度設定フロー］
図７を用いて、ログ設定の出力詳細度６０１を設定する処理について説明する。本フローは、ユーザーにより、ＧＵＩアプリケーション３００のアプリケーションアイコンがクリックされたことでＧＵＩアプリケーション３００のプロセスの起動が指示された場合、またはＵＩ自動操作アプリケーション３２０によりＧＵＩアプリケーション３００のプロセスの起動が指示された場合をきっかけに開始されるものとする。尚、特に明記しない場合、各ステップの処理はログ制御部３０３が主体となって実行される。
【００４６】
ＧＵＩアプリケーション３００のログ制御部３０３はログ設定６００を取得する（Ｓ７０１）。ログ設定６００の一例は図６に示した通りである。
【００４７】
ログ制御部３０３は、ログ設定６００に含まれる手動操作時詳細度６０２、自動操作時詳細度６０３、ログ出力パス６０４を読み込む（Ｓ７０２）。ログ制御部３０３は、ＵＩ自動操作プロセスリスト５００を取得する（Ｓ７０３）。
【００４８】
ＧＵＩアプリケーション３００の親プロセスを取得する（Ｓ７０４）。親プロセスを取得する方法としては具体的に、ＧＵＩアプリケーション３００のプロセスに存在する属性情報から取得する。ここでの親プロセスとは、アプリケーション３００の起動操作を行ったプロセスであり、ＧＵＩアプリケーション３００のプロセスが起動した時に、ＧＵＩアプリケーション３００のプロセスを起動した親プロセスに関する情報が、属性情報としてメモリに格納される。ＧＵＩアプリケーション３００がＵＩ自動操作アプリケーション３２０により起動した場合は、親プロセスがＵＩ自動操作アプリケーション３２０となる。そして、ＵＩ自動操作アプリケーション３２０の親プロセスは、起動の仕方にもよるが、ＯＳであることも有れば、別のアプリケーションである場合もある。
【００４９】
一方、アプリケーションアイコンをユーザーがクリックしたことによってＧＵＩアプリケーション３００が起動した場合には、ＯＳにより提供されているプロセスが親プロセスとなる。たとえば、米国Ｍｉｃｒｏｓｏｆｔ（登録商標）社のオペレーティングシステム（ＯＳ）であるＷｉｎｄｏｗｓの場合、ＥｘｐｌｏｒｅｒがＧＵＩアプリケーション３００にとっての親プロセスとなる。さらに、ＥｘｐｌｏｒｅｒのようなＯＳ自体がプロセスを起動するような場合には、親プロセスが存在しない状態となる。つまり、ユーザー操作による通常の起動操作（アイコンのダブルクリック）で起動したＧＵＩアプリケーションには、親プロセスが存在することになる。
【００５０】
ログ制御部３０３は、ＧＵＩアプリケーション３００の親プロセスが取得できたか否かを判定する（Ｓ７０５）。取得できたと判定された場合にはＳ７０６に進み、取得できなかったと判定された場合にはＳ７０９に進む。
【００５１】
ログ制御部３０３は、Ｓ７０３で取得したＵＩ自動操作プロセスリスト５００を参照し、ＵＩ自動操作プロセスリスト５００からＳ７０７の比較処理が完了していないＵＩ自動操作プロセス５０１を１つ取得する（Ｓ７０６）。Ｓ７０４で取得した親プロセスとＳ７０６で取得したＵＩ自動操作プロセス５０１とが同一であるか否かを判定し（Ｓ７０７）、同一であると判定された場合にはＳ７１１に進み、同一ではないと判定された場合にはＳ７０８に進む。
【００５２】
ＵＩ自動操作プロセスリスト５００に含まれるすべてのＵＩ自動操作プロセス５０１と、Ｓ７０４で取得した親プロセスとの比較処理が完了したかを判定し（Ｓ７０８）、完了したと判定された場合にはＳ７０９に進み、完了していないと判定された場合にはＳ７０６に戻る。
【００５３】
Ｓ７０７の比較処理が完了した後、ログ設定６００の手動操作時詳細度６０２を取得する（Ｓ７０９）。Ｓ７０９で取得した手動操作時詳細度６０２を出力詳細度６０１に設定し（Ｓ７１０）、処理を終了する。
【００５４】
Ｓ７０７で親プロセスがＵＩ自動操作プロセスであると判定された後、ログ設定６００の自動操作時詳細度６０３を取得し（Ｓ７１１）、Ｓ７１１で取得した自動操作時詳細度６０３を出力詳細度６０１に設定し（Ｓ７１２）、本フローを終了する。
【００５５】
以上の処理によって、ＧＵＩアプリケーション３００がＵＩ自動操作プロセスリスト５００に含まれるＵＩ自動操作プロセス５０１により起動された場合には、ログの出力詳細度６０１を自動操作時詳細度６０３とすることが可能となる。さらに、予め自動操作時詳細度６０３を詳細度「なし」または詳細度「簡易」にしておくことで、操作ログの出力量を削減することが可能となる。
【００５６】
［ログ出力フロー］
図８を用いて、実施例に係るＧＵＩアプリケーション３００に対して操作が実行された際の操作ログの出力フローについて説明する。本フローは、ＧＵＩアプリケーション３００のメインウィンドウ１００１が操作された（たとえば、コントロール１００５が押下されたとき）ことをきっかけに開始される。メインウィンドウ１００１が操作される形態は、ユーザ操作、またはＵＩ自動操作アプリケーション３２０によって操作されるものとする。本フローでは特に明記しない場合、処理の主体はログ制御部３０３である。
【００５７】
ログ制御部３０３はログ設定６００を取得する（Ｓ８０１）。ログ設定６００を参照し、出力詳細度６０１を取得する（Ｓ８０２）。取得した出力詳細度６０１を参照し、設定されている詳細度を判定する（Ｓ８０３）。詳細度が「詳細」であると判定された場合にはＳ８０４に進み、詳細度が「簡易」であると判定された場合にはＳ８０６に進み、詳細度が「なし」であると判定された場合には操作ログの出力を行わずに処理を終了する。
【００５８】
詳細度が「詳細」である場合、操作ログとして出力する詳細ログの出力文字列を生成する（Ｓ８０４）。詳細度が「簡易」である場合は、操作ログとして出力する簡易ログの出力文字列を生成する（Ｓ８０６）。
【００５９】
ログ制御部３０３は、ログ制御部３０３により出力の指示を受けたログ出力部３０４はＳ８０４またはＳ８０６により生成されたログ出力文字列をログ設定６００のログ出力パス６０４を参照し、操作ログ３０８に対する出力を繰り返す（Ｓ８０５）。これにより、ＧＵＩアプリケーション３００が操作される毎に、操作ログ３０８に対して操作内容に応じた操作ログ文字列が追加されていく。
【００６０】
ログ出力フロー（図８）により、ログ出力詳細度設定フロー（図７）において設定された操作ログの詳細度に基づいて、操作ログが出力される。
【００６１】
［ログ送信フロー］
図９を用いて、ログ送信アプリケーション３１０が操作ログ３０８をクラウドサーバー１０２へ送信するフローについて説明する。本処理フローは、ログ送信アプリケーション３１０において予めスケジューリングされた日時時刻などに、操作ログがクラウドサーバー１０２に送信されるものとする。ただし、ログ送信アプリケーション３１０がＧＵＩをもち、ユーザーにより任意のタイミングで操作ログを送信させてもよく、操作ログがクライアント端末１０３に一定量出力された際に送信させても良い。
【００６２】
ログ取得部３１１はログ設定６００を取得し（Ｓ９０１）、取得したログ設定６００を参照することによってログ出力パス６０４を取得する（Ｓ９０２）。ログ取得部３１１はログ出力パス６０４を参照し、操作ログ３０８を取得する（Ｓ９０３）。ログ取得部３１１は、Ｓ９０３で取得した操作ログ３０８をログ送信部３１２に渡し、ログ送信部３１２はインターネット１０１を介してクラウドサーバー１０２に操作ログ３０８を送信する（Ｓ９０４）。操作ログ３０８の送信後、ログ取得部３１１は操作ログ３０８を削除し、処理を終了する（Ｓ９０５）。
【００６３】
本実施例により、自動処理で取得された操作ログを送信しない、または送信する操作ログを簡易的にすることによって、既に自動化された操作ログを送信しないことで、操作ログ送信時のネットワーク負荷を軽減させることができる。
【００６４】
尚、操作ログの送信をＧＵＩアプリケーション３００とは別のログ送信アプリケーション３１０が行う構成としたが、ＧＵＩアプリケーション３００がログ取得部およびログ送信部を持ち、ＧＵＩアプリケーション３００が操作ログを送信する構成をとっても良い。
【００６５】
［実施例２］
実施例１では操作ログを出力するＧＵＩアプリケーション３００が１つだった（図３）場合に親プロセスを判定したのに対し、本実施例では複数のＧＵＩアプリケーションＡとＢとが連携する場合の親プロセスの判定方法について説明する。
【００６６】
具体的には図１２で示すような、ＧＵＩアプリケーション３００とＧＵＩアプリケーション３３０が連携しており、ＧＵＩアプリケーション３３０のメインウィンドウに、ＧＵＩアプリケーション３００を起動するためのコントロールが存在している場合、ＧＵＩアプリケーション３００の親プロセスはＧＵＩアプリケーション３３０である。
【００６７】
一方、ＵＩ自動操作アプリケーション３２０は、ＧＵＩアプリケーション３００とＧＵＩアプリケーション３３０の両方を操作する事が考えられる。具体的には、ＵＩ自動操作アプリケーション３２０がＧＵＩアプリケーション３３０を起動した後に、ＧＵＩアプリケーション３００を起動するためのＧＵＩアプリケーション３３０のコントロールを操作することで、ＧＵＩアプリケーション３００を起動することが考えられる。
【００６８】
このような場合、実施例１のＳ７０７で示した処理でＧＵＩアプリケーション３００の親プロセスを判定してしまうと、ＧＵＩアプリケーション３００の親プロセスはＵＩ自動操作アプリケーション３２０ではなく、ＧＵＩアプリケーション３３０となってしまう。
【００６９】
また、実施例１では予め定められたＵＩ自動操作プロセスリスト５００により、親プロセスがＵＩ自動操作アプリケーション３２０であるかを判定した。しかしながら、ＵＩ自動操作プロセスリスト５００の作成に際し、ＵＩ自動操作プロセスを事前に全て把握しなければならない。その結果、ＵＩ自動操作プロセスリスト５００から漏れたＵＩ自動操作アプリケーション３２０によってＧＵＩアプリケーション３００が操作される場合に、該当のＵＩ自動操作アプリケーション３２０を自動操作であるとは判定できなくなってしまう。
【００７０】
本実施例では、上記課題を解消するための最良の形態について図１２〜１６を用いて説明する。また、実施例１で説明済みの部分については同じ符番を振り、詳細な説明は割愛する。尚、本実施例では一例として、ＧＵＩアプリケーション（３００、３３０）が２つ存在することを前提に説明するが、ＧＵＩアプリケーションの数はこれに限定されず、複数であれば何でも良い。
【００７１】
［ソフトウェア構成］
図１２に、本実施例に係るＧＵＩアプリケーション３００（３３０）、クライアント端末１０３のソフトウェア構成図を示す。本実施例に係るＧＵＩアプリケーション３００および３３０は、ハードウェア構成で説明したように、全ての機能をクライアント端末１０３で実行されるプログラムによって実現される。
【００７２】
ＧＵＩアプリケーション３３０は、クライアント端末１０３のディスプレイ２０７上に表示され、キーボード／マウスなどの入力デバイスからの入力を受け付けるＧＵＩ部３０１、ＧＵＩ部３３１を通してユーザーのキーボード２０８の操作を検知し、操作に応じた処理を指示する入力制御部３３２、入力制御部３３２の指示に従い実行する処理の内容に応じて、操作ログの出力有無や内容を制御するログ制御部３０３、ログ制御部３０３の出力指示に従い、操作ログの出力を行うログ出力部３０４、入力制御部３３２の指示に従いユーザーに提供する機能を実行する処理実行部３３５から構成される。
【００７３】
ＧＵＩアプリケーション３３０のログ制御部３０３、ログ出力部３０４、ＵＩ自動操作プロセスリスト３０６、ログ設定３０７、操作ログ３０８はＧＵＩアプリケーション３００と共有されているものとする。しかし、この形態に限定されず、ＧＵＩアプリケーション３００及び３３０がそれぞれ別の構成を有してもよい。
【００７４】
≪メインウィンドウ１５０１の一例≫
図１５は、ＧＵＩアプリケーション３３０のメインウィンドウ１５０１を示している。ＧＵＩアプリケーション３３０は文書の追加削除、文書に対する編集処理を開始するような文書管理機能を有しているものとする。
【００７５】
メインウィンドウ１５０１は、メニュー／ツールバー１５０２、フォルダー表示ペイン１５０３、文書表示ペイン１５０４を有する。メニュー／ツールバー１５０２には、文書管理システム２１０が有する、各種機能が配置されている。フォルダー表示ペイン１５０３はＧＵＩアプリケーション３３０が管理しているフォルダー１５０６を表示している。文書表示領域１５０４には、フォルダー表示ペイン１５０３で選択されているフォルダーに存在する文書データ１５０７の一覧が表示されている。
【００７６】
コントロール１５０５は、文書表示領域１５０４で選択した文書データ１５０７に対して文書編集機能を有するＧＵＩアプリケーション３００での編集を開始する編集ボタンである。コントロール１５０５が押下されることで、ＧＵＩアプリケーション３００のメインウィンドウ１００１（図１０）が表示される。つまり、アプリケーション３３０を介して、アプリケーション３００を起動させることができる。
【００７７】
［データ構造］
本実施例に関連する各種設定データについて説明する。
【００７８】
図１３（ａ）は、ＵＩ自動操作アプリケーション３２０のプロセスとしてＧＵＩアプリケーション３００、３３０が認識しないプロセスをリストとして管理したものである。以下、除外プロセスリスト１３００と称する。
【００７９】
除外プロセスリスト１３００は１つ以上の除外プロセス１３０１により構成されている。除外プロセス１３０１の例としては、ＧＵＩアプリケーション３００やＧＵＩアプリケーション３３０自身のプロセスやＯＳのプロセスなどが含まれる。
【００８０】
図１３（ｂ）は、ＵＩ自動操作アプリケーション３２０のプロセスの候補を、リストとして管理したものである。以下、候補プロセスリスト１３１０と称する。候補プロセスリスト１３１０は１つ以上の候補プロセス１３１１により構成され、ＵＩ自動操作プロセスリスト５００および除外プロセスリスト１３００のいずれにも存在しないものが格納される。
【００８１】
［ログ出力詳細度設定フロー］
図１４を用いて、実施例に係るＧＵＩアプリケーション３００のプロセス起動時においてのログの出力詳細度の設定フローについて説明する。本処理フローは、図７の処理フローの開始方法に加えて、ＵＩ自動操作アプリケーション３２０がＧＵＩアプリケーション３３０のＧＵＩに存在する、ＧＵＩアプリケーション３００を起動するためのコントロール１５０５が操作されることで開始される。本処理フローでは特に明記しない場合、処理の主体はログ制御部３０３である。また、上記で説明済みの部分については同じ符番を振り、説明を省略する。
【００８２】
ログ制御部３０３はＵＩ自動操作プロセスリストを取得した後、除外プロセスリスト１３００（Ｓ１４０１）と、候補プロセスリスト１３１０（Ｓ１４０２）を取得する。取得した各プロセスリストを参照し親プロセスが存在すると判定した後（Ｓ７０５）、ログ制御部３０３は、Ｓ７０４で取得した親プロセスまたは、Ｓ１４１０で取得したプロセスをカレントプロセスとして設定する（Ｓ１４０３）。カレントプロセスとは、親プロセスを判定する際の判定対象となるカレントのことである。
【００８３】
Ｓ１４０３で設定したカレントプロセスとＳ７０６で取得したＵＩ自動操作プロセスとが同一か否かを判定し（Ｓ１４０４）、同一であると判定された場合はＳ７１１に進んで自動操作時詳細度を取得し、同一ではないと判定された場合はＳ１４０５に進む。
【００８４】
ＵＩ自動操作プロセスがカレントプロセスと同一ではないと判定された後、カレントプロセスが除外プロセスリスト１３００に含まれているか否かを判定し（Ｓ１４０５）、含まれていると判定された場合はＳ７０８に進み、含まれていないと判定された場合にはＳ１４０６に進む。
【００８５】
カレントプロセスが除外プロセスリスト１３００に含まれていないと判定された後、カレントプロセスが候補プロセスリスト１３１０に含まれているか否かを判定し（Ｓ１４０６）、含まれていると判定された場合にはＳ７０８に進み、含まれていないと判定された場合にはＳ１４０７に進む。Ｓ１４０５〜１４０７の処理によって、カレントプロセスがいずれかのプロセスリスト（５００、１３００、１３１０）に追加されることになる。
【００８６】
カレントプロセスが候補プロセスに含まれていないと判定された後、カレントプロセスを候補プロセスリスト１３１０に追加する（Ｓ１４０７）。ここで作成、または更新されていく候補プロセスリスト１３１０は、ユーザーがＵＩ自動操作プロセスリストに該当のプロセスを追加する際に参照される。
【００８７】
Ｓ７０８において、全てのＵＩ自動プロセスとカレントプロセスとの照合が完了したと判定された場合、カレントプロセスの親プロセスを取得する（Ｓ１４０８）。Ｓ１４０８で取得した親プロセスを取得できたか否かを判定し（Ｓ１４０９）、取得できたと判定された場合にはＳ１４０３に戻り、新たに取得された親プロセスをカレントプロセスとしてＳ１４０４〜１４０８のステップを繰り返す。Ｓ１４０９で親プロセスが取得できなかったと判定された場合には、カレントプロセス自身が親プロセスであると判断され、Ｓ７０９に進む。
【００８８】
［ＵＩ自動操作プロセスリスト、ログ設定の更新］
図１６は、ＵＩ自動操作プロセスリスト５００に対してプロセスの追加や削除を行うためのユーザーインターフェースの一例である。ＵＩ自動操作プロセスの管理ダイアログ１６００は、ＧＵＩアプリケーション３００の設定を行うためのダイアログであり、コントロール１００６を押下することによって表示されるものとする。候補プロセスリスト１３１０、ＵＩ自動操作プロセスリスト５００に基づいて、図１６のダイアログが作成される。
【００８９】
実行中／候補プロセスリストビュー１６０１には、現在、ＯＳ上で動作しているプロセス及び候補プロセスリスト１３１１に存在するプロセスが表示される領域である。候補プロセスアイテム１６０２は、候補プロセスリスト１３１１に含まれる候補プロセス１３１１であり、本ダイアログが表示された時点で動作中のプロセスである実行中プロセスアイテム１６０３とは区別して表示される。その区別の仕方としては例えば、色分けによる区別や、文字の太さによる区別等である。本実施例では後者の形態を採用し、候補プロセスは太い文字で表示されるものとする。
【００９０】
ＵＩ自動操作プロセスリストビュー１６０４は、ＵＩ自動操作プロセスリスト５００に存在するＵＩ自動操作プロセス５０１がＵＩ自動操作プロセスアイテム１６０５として表示されている。
【００９１】
追加ボタン１６０６は、プロセスリストビュー１６０１で選択されている候補プロセスアイテム１６０２または実行中プロセスアイテム１６０３をＵＩ自動操作プロセスリストビュー１６０４に追加する。削除ボタン１６０７はＵＩ自動操作プロセスリストビュー１６０４で選択されている、ＵＩ自動操作プロセスアイテム１６０５をＵＩ自動操作プロセスリストビュー１６０４から削除する。
【００９２】
ログ設定１６０８は、操作ログに関する詳細な設定をするためのダイアログを表示するためのコントロールである。ログ設定１６０８を押下することによって表示されるログ設定ダイアログ１７０１の一例を図１７に示す。
【００９３】
尚、操作ログの詳細度を設定する操作部としてログ設定１６０８を、管理ダイアログ１６００に設けたが、詳細度を設定させるための操作方法についてはこれに限らず、メインウィンドウ１１０１のツールバー等を介して設定させる方法であってもよい。
【００９４】
このように、図１４のＳ１４０４で参照されるＵＩ自動操作プロセスは、図１６の管理ダイアログ１６００によって作成される。
【００９５】
≪ログ設定ダイアログ≫
図１７を用いて、ログ設定ダイアログ１７００について説明する。ログ設定ダイアログ１７０１では、ログ設定６００の手動操作時詳細度６０２および自動操作時詳細度６０３の変更を可能とする。
【００９６】
手動操作時のログ設定ダイアログ１７０１は、手動操作時詳細度６０２を設定するためのコントロールであり、詳細度「なし」、「簡易」、「詳細」のいずれかを選ぶような形式で表示される。自動操作時のログ設定ダイアログ１７０２は、自動操作時詳細度６０３を設定するためのコントロールであり、手動操作時のログ設定ダイアログ１７０１と同様の形式を採用する。今回は、手動操作時のログ設定の詳細度を「詳細」とし、自動操作時のログ設定の詳細度を「なし」として設定されている。以上がログ設定ダイアログ１７００である。
【００９７】
なお、図１７では、各操作ログの詳細度を「なし」、「簡易」、「詳細」の三段階で設定できるようにしているが、手動操作時のログ設定ダイアログ１７０１では詳細度「なし」を選択できないようにし、自動操作時のログ設定ダイアログ１７０２では詳細度「詳細」を選択できないように、設定項目を制限してもよい。
【００９８】
上記で説明した通り、クラウドサーバー１０２に対してユーザー操作の操作ログを解析させることが目的であるため、ログ設定ダイアログ１７０２には「簡易」「詳細」を設ける必要はない。しかし、クラウドサーバー１０２に操作ログを解析させるにあたって、自動操作時の操作ログが必要となる場合を想定して、ログ設定ダイアログ１７０２のような形態を図１７で例示した。
【００９９】
図１６の説明に戻る。ＯＫボタン１６０９は押下することで、ＵＩ自動操作プロセスの管理ダイアログ１６００で変更された内容がＵＩ自動操作プロセスリスト５００、候補プロセスリスト１３１０に反映され、ログ設定ダイアログ１７００が閉じる。
【０１００】
例えば、候補プロセスアイテム１６０２がＵＩ自動操作プロセスリストビュー１６０４に追加された場合、候補プロセスアイテム１６０２を候補プロセスリスト１３１０から削除する。また、ＵＩ自動操作プロセスリストビュー１６０４からＵＩ自動操作プロセスアイテム１６０５が削除された場合、ＵＩ自動操作プロセスアイテム１６０５をＵＩ自動操作プロセスリスト５００から削除する。
【０１０１】
キャンセルボタン１６１０は押下することで、ＵＩ自動操作プロセスの管理ダイアログ１６００で変更された内容をＵＩ自動操作プロセスリスト５００、候補プロセスリスト１３１０への反映をせずに管理ダイアログ１６００を閉じる。
【０１０２】
ＯＫボタン１７０３は押下することで、ログ設定ダイアログ１７００で変更された内容をログ設定６００への反映を行ってダイアログを閉じる。キャンセルボタン１６１０は押下することで、ログ設定ダイアログ１７００で変更された内容をログ設定６００への反映を行わずにログ設定ダイアログ１７００を閉じる。以上により、ユーザーは所望のプロセスをＵＩ自動操作リストに追加したり、削除したりすることが可能となる。
【０１０３】
本実施例により、複数のアプリケーションが存在し、あるアプリケーションが一方のアプリケーションを起動させた場合であっても、親プロセスを特定することができる。
【０１０４】
［その他の実施例］
実施例１では、ＵＩ自動プロセスの操作ログは、図７のＳ７１２における出力詳細度の設定によって出力されないようにした。その形態以外にも、ＵＩ自動プロセスの操作ログは出力されるものの、クラウドサーバー１０２に操作ログを送信する段階（図９）で、ＵＩ自動プロセスの操作ログであるかどうかを判別し、送信の有無を決定する形態であってもよい。
【０１０５】
本発明の目的は以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１０６】
１０２  クラウドサーバー
１０３  クライアント端末
３００  ＧＵＩアプリケーション
３０１  ＧＵＩ部
３２０  ＵＩ自動操作アプリケーション
３２１  ＧＵＩ部
【図１】
2020021245.tif 000003
【図２】
2020021245.tif 000004
【図３】
2020021245.tif 000005
【図４】
2020021245.tif 000006
【図５】
2020021245.tif 000007
【図６】
2020021245.tif 000008
【図７】
2020021245.tif 000009
【図８】
2020021245.tif 000010
【図９】
2020021245.tif 000011
【図１０】
2020021245.tif 000012
【図１１】
2020021245.tif 000013
【図１２】
2020021245.tif 000014
【図１３】
2020021245.tif 000015
【図１４】
2020021245.tif 000016
【図１５】
2020021245.tif 000017
【図１６】
2020021245.tif 000018
【図１７】
2020021245.tif 000019