説明

文書ファイルコピー移動監視システム、方法及びプログラム

【課題】 精度よくパーソナルコンピュータ(PC)内のファイルの移動やコピーを監視できるようにする。特に、ワードプロセッサ等の文書を編集するためのアプリケーション1を使って文書を配布した場合に、文書ファイルのコピーや移動を正確に監視できるようにする。
【解決手段】 アプリケーション監視手段2は、アプリケーション1の動作を外部のプログラムから監視する。アプリケーション状態検出手段4は、表示されているウインドウタイトルの文字列等をアプリケーション1の状態として検出する。文書操作推定手段3は、アプリケーション監視手段2の監視結果を、アプリケーション状態検出手段4を利用して解析することによって、そのアプリケーション1で読み込まれた文書ファイルに対するユーザのファイル操作を推定する。また、文書コピー移動ログ記憶手段5は、文書操作推定手段3が推定したファイル操作の推定結果をログとして記憶する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書ファイルコピー移動監視システム、文書ファイルコピー移動監視方法及び文書ファイルコピー移動監視プログラムに関する。特に、ワードプロセッサ等の文書を編集するためのアプリケーションソフトウェアを使って、文書を配布した場合に、文書ファイルのコピーや移動を正確に監視することができる文書ファイルコピー移動監視システム、文書ファイルコピー移動監視方法及び文書ファイルコピー移動監視プログラムに関する。
【背景技術】
【0002】
ファイルの移動やコピーが発生するのは、Windows(登録商標)のエクスプローラを用いる等のように直接ファイル操作をする場合(以下、ファイラ操作という)と、ワードプロセッサで「名前をつけて保存」するように間接的にファイルを移動又はコピーする場合(以下、アプリファイル操作という)とがある。従って、ファイルの移動やコピーを監視するためには、このファイラ操作とアプリファイル操作との両方を監視する必要がある。
【0003】
ファイラ操作の場合、ファイルをコピーするコマンドやファイルを移動するコマンドがコンピュータ内部で発行されるので、これらのコマンドをフックすれば、フックしたコマンドの引数から、どのファイルの内容がどのファイルにコピー又は移動されたかを容易に監視することができる。なお、「フック」とは、あるソフトウェア内で発生しているイベントや、オペレーティングシステム(OS)への呼び出しを、別のプログラムが横取りする仕組みであり、Windows等の代表的なソフトウェアでは標準の機能である。
【0004】
一方、アプリファイル操作の場合、直接コピーコマンドが発行されているわけではないので、ファイルのコピーや移動を監視することは難しい。そこで、例えば、特許文献1には、ファイルの移動やコピーの遷移を監視するのではなく、禁止されている場所にコピーされたことを検出する方式が開示されている。
【0005】
図25は、特許文献1に記載された情報漏洩検出防止装置の構成を示すブロック図である。図25に示すように、特許文献1に記載されたシステムは、ファイルの存在範囲36を指定するファイル属性設定手段31と、ファイルの存在位置を検出するファイル位置検出手段32と、ファイル属性設定手段31にて設定された存在範囲36とファイル位置検出手段32で検出されたファイルの存在位置36とを比較してファイルが存在範囲内にあるか否かを判断するファイル位置比較手段33と、ファイル位置比較手段33の出力に応じてプログラムを実行させるプログラム実行手段34とを備える。
【0006】
上記のような構成を有する従来のシステムは、次のように動作する。(1)ユーザは、予めファイル属性設定手段31を使って、処理対象のファイルを置いておくことが可能な範囲を設定しておく。(2)一方、ファイル位置検出手段32は、ファイルの位置を順次検出する。(3)そして、ファイル位置比較手段33は、ファイル位置検出手段32が検出したファイルの位置が秘密区分に合った正しい位置に置かれている否かをチェックする。以上のように、情報漏洩検出防止装置100が動作することにより、ファイルが不正な場所にコピーされたことを検出することができる。
【0007】
【特許文献1】特開2003−36208号公報(段落0023−0031、図1−2)
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献1に記載された従来のシステムでは、ファイル自体に存在範囲を属性として埋め込むことが前提となる。そして、ファイルの位置と埋め込まれた存在範囲の属性とを比較することで、不正を検出することが可能となる。しかし、一般にパーソナルコンピュータ(PC)等の情報処理端末で用いられるファイルには、、様々なファイル形式のファイルが存在するので、それら全てのファイルに対して存在範囲情報を埋め込むことはできない。従って、市販のワードプロセッサ等、様々なアプリケーションソフトウェアのファイルフォーマットに対応できないという問題がある。
【0009】
上記の問題点を解決するために、以下の2つの方法を用いることが考えられる。(方法1)ファイルとその存在範囲情報とをペアとして、外部のファイルに記憶しておく。この方法は、ファイルに対してIDを割り当て、この割り当てたIDと存在範囲情報とをペアとして、外部ファイルに記憶する方法である。最も単純な方法として、ファイルIDとしてファイル名を用いることが考えられる。
【0010】
しかし、ファイル名を用いると、一般にユーザが簡単にファイル名を変えることができるので、うまく動作しない。そこで、ファイルIDとしてハッシュを利用する方法が考えられる。「ハッシュ」とは、各ファイルの指紋のようなものであり、ファイルのデータをハッシュ関数を用いて計算して求めた値のことである。ハッシュ関数の性質上、同じハッシュ値をもつファイルは同じファイルであると考えることができ、ファイルのIDとして利用することができる。この場合、ハッシュ値と存在範囲情報とをペアとして、外部のファイルに記憶しておくことになる。
【0011】
しかし、ハッシュを用いる方法の場合、ユーザがファイルの中身を編集してしまうとハッシュ値が変わってしまうので、ファイルのコピーや移動をうまく管理できなくなる。すなわち、ハッシュを用いる方法は、編集されることがない完成したファイルに対しては有効な手法であるが、編集される可能性があるドラフト状態のファイルや、配布先で編集される可能性があるファイルに対しては有効な方法ではない。
【0012】
(方法2)ファイルをカプセル化する。この方法は、ファイル全体を、存在範囲情報をヘッダに含んだカプセルで被う方法である。アプリケーションソフトウェアで利用する前にこのカプセルを取り除き(デコードし)、アプリケーションソフトウェアの利用終了の際に再びカプセルで被う(エンコードする)ことで、全てのファイル形式に対応することができる。
【0013】
しかし、このファイルをカプセル化する方法では、ファイルを利用する前後にユーザがカプセルのデコード/エンコード操作をする必要があり、操作が煩雑である。また、カプセルのデコード操作については、デコードしない限りアプリケーションソフトウェアでファイルを利用できないのでユーザの操作忘れが発生する恐れはないが、カプセルのエンコード操作については、ユーザが操作し忘れる可能性が高い。そのため、ユーザがエンコード操作をし忘れた場合には、うまく監視できないことになる。
【0014】
そこで、本発明は、市販のワードプロセッサ等、様々なアプリケーションソフトウェアのファイルフォーマットに対応して、ファイルのコピーや移動を監視できる文書ファイルコピー移動監視システム、文書ファイルコピー移動監視方法及び文書ファイルコピー移動監視プログラムを提供することを目的とする。特に、ユーザによってファイル名を変えられた場合や、アプリケーションソフトウェアでファイルの内容が編集された場合であっても、ファイルの位置の変化を正確に監視できる文書ファイルコピー移動監視システム、文書ファイルコピー移動監視方法及び文書ファイルコピー移動監視プログラムを提供することを目的とする。また、ユーザに対して従来と全く変わらない操作性のままで、ファイルのコピーや移動を監視できる文書ファイルコピー移動監視システム、文書ファイルコピー移動監視方法及び文書ファイルコピー移動監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明による文書ファイルコピー移動監視システムは、文書ファイルのコピー及び移動を監視する文書ファイルコピー移動監視システムであって、文書ファイルを読み込み編集するためのアプリケーションソフトウェア(例えば、ワードプロセッサ)が搭載され、ユーザ操作に伴うアプリケーションソフトウェアの動作を監視するアプリケーション監視手段と、アプリケーションソフトウェアの状態を検出するアプリケーション状態検出手段と、アプリケーション監視手段の監視結果を、アプリケーション状態検出手段の検出機能を利用して解析することによって、アプリケーションソフトウェアで読み込まれた文書ファイルに対して、ファイルのコピー又は移動のための操作であるファイル操作が行われたか否かを推定する文書操作推定手段とを備えたことを特徴とする。
【0016】
上記のような構成によって、ユーザがアプリケーションソフトウェアを通常と変わらない方法で利用し、コンピュータ上に常駐しているアプリケーション監視手段は、アプリケーションソフトウェアへのユーザ操作を監視し、この監視結果を随時文書操作推定手段に通知する。文書操作推定手段は、このアプリケーション監視手段からの通知を受けて、ユーザがどんなファイルを読み込み、それらのファイルをどう切り替え、どのようにファイル操作をしたか(すなわち、読み込まれたファイルがどこからどこにコピー又は移動されたか)を推定する。そして、文書操作推定手段は、この推定結果を文書コピー移動ログ記憶手段に記憶させるように動作する。
【0017】
上記のような構成を採用し動作させることによって、本発明の目的を達成することができる。すなわち、特にワードプロセッサ等の文書を編集するためのアプリケーションソフトウェアを用いて、文書を配布した場合に、文書ファイルのコピーや移動を正確に監視することができる。
【0018】
なお、「アプリケーションソフトウェアの動作を監視する」とは、例えば、「名前をつけて保存」コマンドをユーザ操作に従って実行した場合等、ユーザ操作に伴うコンピュータの動作を監視することをいう。例えば、アプリケーション監視手段は、アプリケーションソフトウェアに通知されるイベントをフックすることによって、アプリケーションソフトウェアの動作を監視することができる。また、「アプリケーションソフトウェアの状態を検出する」とは、例えば、アプリケーションソフトウェアが現在どのような処理を実行している状態であるかを検出することをいう。例えば、アプリケーション状態検出手段は、ウインドウ中に表示されているウインドウタイトルの文字列を検出することによって、アプリケーションソフトウェアの状態を検出する。
【0019】
また、文書ファイルコピー移動監視システムは、文書操作推定手段のファイル操作の推定結果を、ログデータとして記憶する文書コピー移動ログ記憶手段を備えたものであってもよい。
【0020】
また、アプリケーション監視手段は、ユーザの操作(例えば、ユーザのGUI動作)に伴うイベントであるユーザ操作イベントを検出する操作イベント検出手段と、ファイルシステムへのアクセスに伴うイベントであるファイルアクセスイベントを検出するファイルアクセスイベント検出手段(例えば、I/Oイベント検出手段202によって実現される)とを含み、文書操作推定手段は、操作イベント検出手段のイベント検出結果とファイルアクセスイベント検出手段のイベント検出結果とにもとづいて、ユーザの操作とファイルシステムの動作との整合性があるか否かを判断するものであってもよい。そのような構成によれば、ユーザの操作とシステム内部のファイルシステムの動作との整合性をチェックすることによって、より精度の高いファイルのコピーや移動の監視をすることができる。従って、ファイルアクセスのエラー等が発生した場合であっても、ファイルのコピーや移動を正確に監視することができる。
【0021】
また、文書操作推定手段は、アプリケーション監視手段の監視結果の解析処理全体を制御する全体処理制御手段(例えば、イベント処理全体制御手段301によって実現される)と、ファイルアクセスイベント検出手段が検出結果として出力するファイル情報と、操作イベント検出手段が検出結果として出力するファイル情報とを照合する照合手段(例えば、状況解析手段304によって実現される)と、アプリケーションソフトウェアで読み込まれたファイルと、アプリケーションソフトウェアの状態の変化とを対応づけた対応情報を生成する対応情報生成手段(例えば、編集文書管理手段305によって実現される))と、対応情報生成手段が生成した対応情報を記憶する対応情報記憶手段(例えば、編集文書記憶手段306によって実現される)と、アプリケーションソフトウェアで読み込まれた複数ファイルの中から、アクティブ状態となっている文書ファイル(例えば、現在フォーカスがあたっているアクティブドキュメント)を検出するアクティブ文書検出手段(例えば、アクティブ文書判定手段302によって実現される)と、アクティブ文書検出手段の検出結果を記憶するアクティブ文書記憶手段と、ファイルへの書き込みが行われた場合に、アプリケーション監視手段が監視結果として出力したイベントと照合手段の照合結果とにもとづいて、どのファイルの内容がどのファイルに書き込まれたかを推定するファイル書込推定手段(例えば、文書コピー移動ログ生成手段307によって実現される)とを含むものであってもよい。
【0022】
上記ような構成によって、1つのアプリケーションソフトウェアで複数のファイルを読み込み、これら複数ファイルをユーザが自由に切り替え編集作業を行った場合であっても、より精度の高いファイルのコピーや移動の監視をすることができる。従って、アプリケーションソフトウェアで一度に複数のファイルを開いた場合であっても、ファイルのコピーや移動を正確に監視することができる。
【0023】
また、操作イベント検出手段は、アプリケーションソフトウェアの種類に応じて割り与えられる識別子であるウインドウクラスと、ユーザ操作に伴う一連の操作の流れを示す操作シーケンスと、ダイアログボックスを用いたユーザ操作によって入力されたデータを示すファイルダイアログパラメータの情報とを監視するものであってもよい。
【0024】
また、ファイルアクセスイベント検出手段は、ファイルにアクセスしたアプリケーションソフトウェアの実行ファイル名と、ファイルアクセスの目的がデータの読み込みであるかデータの書き出しであるかを示すファイルアクセスモードと、処理対象のファイルのフルパス名とを監視するものであってもよい。
【0025】
また、照合手段は、ウインドウクラスと実行ファイルとを対応づけた対応テーブルを予め有し、対応テーブルにもとづいて、ユーザ操作イベントとファイルアクセスイベントとの整合性があるか否かを判断するものであってもよい。
【0026】
また、照合手段は、ユーザ操作に伴う一連の操作の流れを示す操作シーケンスと、ファイルアクセスの目的がデータの読み込みであるかデータの書き出しであるかを示すファイルアクセスモードとを対応づけた対応テーブルを予め有し、対応テーブルにもとづいて、ファイルアクセスイベント検出手段が検出したファイルアクセスイベントの集合に含まれるイベントを絞り込むものであってもよい。
【0027】
また、アプリケーション状態検出手段は、アプリケーションソフトウェアのウインドウタイトルの値を監視し、対応情報生成手段は、アプリケーション状態検出手段の監視結果にもとづいて、アプリケーションソフトウェアの状態としてウインドウタイトルの値を含む対応情報を生成し、対応情報記憶手段は、対応情報として、ウインドウタイトルの値とファイルのフルパス名とを対応づけて記憶するものであってもよい。
【0028】
また、ファイル書込推定手段は、アプリケーションソフトウェアの種類に応じて割り与えられる識別子であるウインドウクラスと、ユーザ操作に伴うファイル操作前の元ファイルのフルパス名と、ファイル操作後のファイルのフルパス名とを含むログデータを生成するものであってもよい。
【0029】
本発明による文書ファイルコピー移動監視方法は、文書ファイルのコピー及び移動を監視する文書ファイルコピー移動監視方法であって、アプリケーションソフトウェアが、文書ファイルを読み込み編集するアプリケーション利用ステップと、ユーザ操作に伴うアプリケーションソフトウェアの動作を監視するアプリケーション監視ステップと、アプリケーションソフトウェアの状態を検出するアプリケーション状態検出ステップと、アプリケーション監視ステップの監視結果を、アプリケーション状態検出ステップで行う検出処理を利用して解析することによって、アプリケーションソフトウェアで読み込まれた文書ファイルに対して、ファイルのコピー又は移動のための操作であるファイル操作が行われたか否かを推定する文書操作推定ステップと、文書操作推定ステップのファイル操作の推定結果を、ログデータとして記憶する文書コピー移動ログ記憶ステップとを含むことを特徴とする。
【0030】
また、文書ファイルコピー移動監視方法は、アプリケーション監視ステップとして、ユーザの操作に伴うイベントであるユーザ操作イベントを検出する操作イベント検出ステップと、ファイルシステムへのアクセスに伴うイベントであるファイルアクセスイベントを検出するファイルアクセスイベント検出ステップとを含み、文書操作推定ステップで、操作イベント検出ステップのイベント検出結果とファイルアクセスイベント検出ステップのイベント検出結果とにもとづいて、ユーザの操作とファイルシステムの動作との整合性があるか否かを判断するものであってもよい。そのような構成によれば、ユーザの操作とシステム内部のファイルシステムの動作との整合性をチェックすることによって、より精度の高いファイルのコピーや移動の監視をすることができる。従って、ファイルアクセスのエラー等が発生した場合であっても、ファイルのコピーや移動を正確に監視することができる。
【0031】
また、文書ファイルコピー移動監視方法は、文書操作推定ステップとして、アプリケーション監視ステップの監視結果の解析処理全体を制御する全体処理制御ステップと、ファイルアクセスイベント検出ステップで検出結果として出力するファイル情報と、操作イベント検出ステップで検出結果として出力するファイル情報とを照合する照合ステップと、アプリケーションソフトウェアで読み込まれたファイルと、アプリケーションソフトウェアの状態の変化とを対応づけた対応情報を生成する対応情報生成ステップと、対応情報生成ステップで生成した対応情報を記憶する対応情報記憶ステップと、アプリケーションソフトウェアで読み込まれた複数ファイルの中から、アクティブ状態となっている文書ファイルを検出するアクティブ文書検出ステップと、アクティブ文書検出ステップの検出結果を記憶するアクティブ文書記憶ステップと、ファイルへの書き込みが行われた場合に、アプリケーション監視ステップで監視結果として出力したイベントと照合ステップの照合結果とにもとづいて、どのファイルの内容がどのファイルに書き込まれたかを推定するファイル書込推定ステップとを含むものであってもよい。そのような構成によれば、1つのアプリケーションソフトウェアで複数のファイルを読み込み、これら複数ファイルをユーザが自由に切り替え編集作業を行った場合であっても、より精度の高いファイルのコピーや移動の監視をすることができる。従って、アプリケーションソフトウェアで一度に複数のファイルを開いた場合であっても、ファイルのコピーや移動を正確に監視することができる。
【0032】
本発明による文書ファイルコピー移動監視プログラムは、文書ファイルのコピー及び移動を監視するための文書ファイルコピー移動監視プログラムであって、文書ファイルを読み込み編集するためのアプリケーションソフトウェアが搭載されたコンピュータに、ユーザ操作に伴うアプリケーションソフトウェアの動作を監視するアプリケーション監視処理と、アプリケーションソフトウェアの状態を検出するアプリケーション状態検出処理と、アプリケーション監視処理の監視結果を、アプリケーション状態検出処理を利用して解析することによって、アプリケーションソフトウェアで読み込まれた文書ファイルに対して、ファイルのコピー又は移動のための操作であるファイル操作が行われたか否かを推定する文書操作推定処理と、文書操作推定処理のファイル操作の推定結果を、ログデータとして記憶装置に記憶させる文書コピー移動ログ記憶処理とを実行させることを特徴とする。
【0033】
また、文書ファイルコピー移動監視プログラムは、コンピュータに、アプリケーション監視処理として、ユーザの操作に伴うイベントであるユーザ操作イベントを検出する操作イベント検出処理と、ファイルシステムへのアクセスに伴うイベントであるファイルアクセスイベントを検出するファイルアクセスイベント検出処理とを実行させ、文書操作推定処理で、操作イベント検出処理のイベント検出結果とファイルアクセスイベント検出処理のイベント検出結果とにもとづいて、ユーザの操作とファイルシステムの動作との整合性があるか否かを判断する処理を実行させるものであってもよい。そのような構成によれば、ユーザの操作とシステム内部のファイルシステムの動作との整合性をチェックすることによって、より精度の高いファイルのコピーや移動の監視をすることができる。従って、ファイルアクセスのエラー等が発生した場合であっても、ファイルのコピーや移動を正確に監視することができる。
【0034】
また、文書ファイルコピー移動監視プログラムは、コンピュータに、文書操作推定処理として、アプリケーション監視処理の監視結果の解析処理全体を制御する全体処理制御処理と、ファイルアクセスイベント検出処理で検出結果として出力するファイル情報と、操作イベント検出処理で検出結果として出力するファイル情報とを照合する照合処理と、アプリケーションソフトウェアで読み込まれたファイルと、アプリケーションソフトウェアの状態の変化とを対応づけた対応情報を生成する対応情報生成処理と、対応情報生成処理で生成した対応情報を記憶装置に記憶させる対応情報記憶処理と、アプリケーションソフトウェアで読み込まれた複数ファイルの中から、アクティブ状態となっている文書ファイルを検出するアクティブ文書検出処理と、アクティブ文書検出処理の検出結果を記憶装置に記憶させるアクティブ文書記憶処理と、ファイルへの書き込みが行われた場合に、アプリケーション監視処理で監視結果として出力したイベントと照合処理の照合結果とにもとづいて、どのファイルの内容がどのファイルに書き込まれたかを推定するファイル書込推定処理とを実行させるものであってもよい。そのような構成によれば、1つのアプリケーションソフトウェアで複数のファイルを読み込み、これら複数ファイルをユーザが自由に切り替え編集作業を行った場合であっても、より精度の高いファイルのコピーや移動の監視をすることができる。従って、アプリケーションソフトウェアで一度に複数のファイルを開いた場合であっても、ファイルのコピーや移動を正確に監視することができる。
【発明の効果】
【0035】
本発明によれば、アプリケーションソフトウェアの状態を検出し、アプリケーションソフトウェアの動作の監視結果を解析することによって、ファイルのコピーや移動のファイル操作が行われたか否かを推定できる。従って、市販のワードプロセッサ等、様々なアプリケーションソフトウェアのファイルフォーマットに対応して、ファイルのコピーや移動を監視することができる。
【発明を実施するための最良の形態】
【0036】
以下、本発明の実施の形態を図面を参照して説明する。図1は、本発明による文書ファイルコピー移動監視システムの構成の一例を示すブロック図である。図1に示すように、文書ファイルコピー移動監視システムは、アプリケーションソフトウェア1と、アプリケーション監視手段2と、文書操作推定手段3と、アプリケーション状態検出手段4と、文書コピー移動ログ記憶手段5とを含む。
【0037】
アプリケーションソフトウェア(以下、単にアプリケーションともいう)1は、ワードプロセッサ等のファイルを読み込み編集するための一般ソフトウェアである。
【0038】
アプリケーション監視手段2は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理端末のCPUによって実現される。アプリケーション監視手段2は、例えば「名前をつけて保存」コマンドがユーザ操作に従って実行された場合等、ユーザ操作に伴うアプリケーション1の動作を外部のプログラムから監視する機能を備える。アプリケーション状態検出手段4は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理端末のCPUによって実現される。アプリケーション状態検出手段4は、ウインドウに表示されているウインドウタイトルの文字列等にもとづいて、アプリケーション1の状態を検出する機能を備える。
【0039】
文書操作推定手段3は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理端末のCPU及び記憶装置によって実現される。文書操作推定手段3は、アプリケーション監視手段2の監視結果を、アプリケーション状態検出手段4の検出機能を利用して解析することによって、そのアプリケーション1で読み込まれた文書ファイルに対してユーザのファイル操作が行われたか否かを推定する機能を備える。なお、「ファイル操作」とは、ファイルのコピー又は移動のための操作のことである。
【0040】
文書コピー移動ログ記憶手段5は、具体的には、パーソナルコンピュータ等の情報処理端末の記憶装置によって実現される。文書コピー移動ログ記憶手段5は、文書操作推定手段3が推定したファイル操作の推定結果をログとして記憶する。
【0041】
本実施の形態では、アプリケーション1をユーザが通常と変わらない方法で利用する。すると、コンピュータ上に常駐しているアプリケーション監視手段2は、アプリケーション1へのユーザ操作を監視し、この監視結果を随時文書操作推定手段3に通知する。監視結果の通知情報を受けると、文書操作推定手段3は、ユーザがどんなファイルを読み込み、それら読み込んだファイルをどのように切り替え、どうファイル操作をしたかを推定する。すなわち、文書操作推定手段3は、読み込んだファイルがどこからどこへコピー又は移動されたかを推定する。そして、文書操作推定手段3は、この推定結果を文書コピー移動ログ記憶手段5に記憶させるよう動作する。
【0042】
図1に示す文書ファイルコピー移動監視システムの各構成要素の機能を説明する。アプリケーション1は、ユーザが利用する一般ソフトウェアである。アプリケーション1は、ファイルを読み込み編集して保存するという機能を有していれば、他に特殊な機能を有するソフトウェアでなくてもよい。本実施の形態では、アプリケーション1として、マイクロソフト株式会社のWindows用Microsoft Wordを用いる場合を例に説明する。ただし、これは説明のための一例であり、アプリケーション1として他のソフトウェアを用いてもよい。
【0043】
なお、本実施の形態では、「アプリケーション1が保存する」等の表現を用いるが、実際には、情報処理端末のCPUがアプリケーション1に従って処理を実行する。このことは、他のソフトウェアやソフトウェアによって実現される手段についても同様である。
【0044】
アプリケーション監視手段2は、ユーザのGUI操作を監視する操作イベント検出手段201と、ファイルシステムへのアクセスを監視するI/Oイベント検出手段202とを含む。操作イベント検出手段201は、アプリケーション1で発生している操作イベントを横取りする機能を備える。
【0045】
操作イベントの横取りについて説明する。通常ユーザがアプリケーション1上で操作すると、オペレーティングシステム(以下、OSともいう)は、アプリケーション1に操作イベントを通知する。例えば、ユーザによってメニューが選択されると、OSは、メニュー操作イベントをアプリケーション1に通知する。アプリケーション1は、イベントが通知されると、この通知されたイベントを処理するルーチンへジャンプすることで、イベントドリブンプログラムを用いてユーザが選択した機能を起動することができる。
【0046】
本実施の形態では、操作イベント検出手段201は、アプリケーション1で発生しているイベントを横取りする。すなわち、本実施の形態では、OSは、本来アプリケーション1に通知すべきイベントをそのアプリケーション1に通知するのではなく、操作イベント検出手段201に一旦通知する。操作イベント検出手段201は、この通知されたイベントを処理した後、アプリケーション1にイベントを転送することで、アプリケーション1を正常に動作させることができる。
【0047】
なお、本実施の形態において、「イベントを横取りする」とは、イベントを一旦操作イベント検出手段201に転送し、操作イベント検出手段201が処理した後にアプリケーション1に転送することをいう。この方式は、一般的に「メッセージフック」と呼ばれ、Windows等のOSではAPIとして一般に提供されている。
【0048】
なお、全てのAPI呼び出しをフックする必要はない。本実施の形態では、操作イベント検出手段201は、「文書ファイル読み込み」、「文書切り替え」及び「文書ファイル書き込み」に関する操作だけをフックすればよく、これら3つ以外のメッセージを無視する。本実施の形態では、操作イベント検出手段201は、このメッセージフックを利用して実現される。以下、操作イベント検出手段201がメッセージフックするイベントを「ユーザ操作イベント」という。すなわち、本実施の形態では、操作イベント検出手段201は、メッセージフックすることによって、ユーザ操作に伴うイベントであるユーザ操作イベントを検出する。
【0049】
図2は、ユーザ操作イベントの一例を示す説明図である。図2に示すように、ユーザ操作イベントは、ウインドウクラスT020101と、操作シーケンスT020102と、ファイルダイアログパラメータT020103とを含む。
【0050】
ウインドウクラス(T020101)は、アプリケーション1の種類に応じて割り与えられる識別子である。本実施の形態では、ウインドウクラス(T020101)は、ユーザが操作したウインドウのクラス名である。クラス名とは、アプリケーション1がウインドウ生成時につける固有の名前である。従って、ウインドウクラス(T020101)は、アプリケーション1毎に決定される。例えば、Microsoft Wordの場合、ウインドウクラス(T020101)は「OpusApp」となり、Microsoft Excelの場合、ウインドウクラス(T020101)は「XLMAIN」となる。
【0051】
操作シーケンス(T020102)は、ユーザの操作に伴う一連の操作の流れを示す情報である。例えば、ユーザ操作イベントは、操作シーケンス(T020102)として、「メニュー→ファイル→開く」等を含む。ただし、本実施の形態では、分かりやすくするためにメニューのラベル名で表記する場合を説明するが、実際にWindowsを用いる場合には、各メニューに「bods_sdm_Mso96」等のコード名が割り当てられている。この場合、ユーザ操作イベントは、操作シーケンス(T020102)としてコード名を含む。
【0052】
ファイルダイアログパラメータ(T020103)は、ダイアログボックスを用いたユーザ操作によって入力されたデータであり、ダイアログボックス等でユーザが入力又は選択したパラメータである。例えば、ダイアログボックスでファイルを選択した場合には、ファイルダイアログパラメータ(T020103)によってファイル名等の情報が通知される。例えば、ファイルダイアログパラメータ(T020103)によって「(ファイル名=AAA);(文字コード=EUC)」といったパラメータの集合が通知される。なお、本実施の形態では、図2に示すように、各パラメータを「;」で接続して表現し、各パラメータを(「キー」=「値」)の形式で表現している。
【0053】
I/Oイベント検出手段202は、アプリケーション1で発生しているファイルアクセスイベントを横取りする機能を備える。すなわち、I/Oイベント検出手段202は、ファイルシステムへのアクセスに伴うイベントであるファイルアクセスイベントを検出する。I/Oイベント検出手段202は、「APIフック」と呼ばれるWindows等のOSに標準に備わっている機能で実装することができる。「APIフック」とは、前述したメッセージフックと似た機能であり、アプリケーション1がOSのAPIの呼び出し命令を横取りする機能である。
【0054】
I/Oイベント検出手段202は、ファイルオープン/クローズAPI、ファイル読み込み/書き込みAPIをフックすることで、どのアプリケーション1がどのファイルにアクセスしたかの通知を受けることができる。以下、どのアプリケーション1がどのファイルへアクセスしたかの通知情報を「ファイルアクセスイベント集合」という。
【0055】
図3は、ファイルアクセスイベント集合の一例を示す説明図である。図3に示すように、ファイルアクセスイベント集合は、実行ファイル名T020201と、ファイルアクセスモードT020202と、ファイルフルパス名T020203とを含む。
【0056】
実行ファイル名(T020201)は、アプリケーション1の実行ファイル名である。例えば、ファイルアクセスイベント集合は、実行ファイル名T020201として「WORD.EXE」等を含む。
【0057】
ファイルアクセスモード(T020202)は、読み込みモード又は書き込みモードのうちのいずれのアクセスモードであるかを示す情報である。すなわち、ファイルアクセスモード(T020202)は、ファイルアクセスの目的がデータの読み込みであるか、データの書き出しであるかを示す。通常、ファイルシステムにアクセスされる場合、読み込みモードでアクセスする場合と書き込みモードでアクセスする場合とがある。本実施の形態では、ファイルアクセスモード(T020202)によって、どちらのモードでアクセスしているかが通知される。なお、本実施の形態では、図3に示すように、読み込みモードを「READ」と表記し、書き込みモードを「WRITE」と表記する場合の例を示す。
【0058】
ファイルフルパス名(T020203)は、アクセスしている処理対象のファイルのフルパス名である。例えば、ファイルアクセスイベント集合は、ファイルフルパス名(T020203)として「C:¥Doc¥AAA.DOC」等を含む。
【0059】
文書操作推定手段3は、操作イベント検出手段201のイベント検出結果とI/Oイベント検出手段202のイベント検出結果とにもとづいて、ユーザ操作とファイルシステムの動作との整合性があるか否かを判断する。文書操作推定手段3は、イベント処理全体制御手段301と、アクティブ文書判定手段302と、アクティブ文書記憶手段303と、状況解析手段304と、編集文書管理手段305と、編集文書記憶手段306と、文書コピー移動ログ生成手段307とを含む。
【0060】
イベント処理全体制御手段301は、文書操作推定手段3が行うアプリケーション監視手段2の監視結果の解析処理全体を制御する機能を備える。状況解析手段304は、I/Oイベント検出手段202からのファイルパス名と、操作イベント検出手段201からのファイル名との関係をマッチング(照合)する機能を備える。すなわち、状況解析手段304は、I/Oイベント検出手段202が検出結果として出力するファイル情報と、操作イベント検出手段201が検出結果として出力するファイル情報とを照合する。
【0061】
編集文書管理手段305は、アプリケーション1で読み込まれたファイルと、ファイルを読み込んだことによるアプリケーション1の状態の変化(例えば、ウインドウタイトルの文字列の変化)とを対応づける機能を備える。本実施の形態では、編集文書管理手段305は、アプリケーション1で読み込まれたファイルと、アプリケーション1の状態の変化とを対応づけた対応情報を生成する。そして、編集文書管理手段305は、生成した対応情報を編集文書記憶手段306に記憶させる。
【0062】
編集文書記憶手段306は、編集文書管理手段305が生成したファイルとアプリケーション1の状態との対応関係を記憶する。本実施の形態では、編集文書記憶手段306は、編集文書管理手段305が生成した対応情報を記憶する。
【0063】
アクティブ文書判定手段302は、読み込んだ複数ファイルの中から現在フォーカスがあたっている文書(操作対象となっているアクティブドキュメント)を検出する機能を備える。すなわち、アクティブ文書判定手段302は、アプリケーション1で読み込まれた複数ファイルの中から、アクティブ状態となっている文書ファイルを検出する。なお、本実施の形態では、ファイル等が操作対象となっていることをフォーカスがあたっているとも表現する。アクティブ文書記憶手段303は、アクティブ文書判定手段302の検出結果を記憶する。
【0064】
文書コピー移動ログ生成手段307は、ファイルが書き込まれた場合に、アプリケーション監視手段2から通知(出力)されるイベントと状況解析手段304の照合結果とにもとづいて、どのファイルの内容がどのファイルに書き込まれたかを推定する機能を備える。また、文書コピー移動ログ生成手段307は、どのファイルに書き込まれたかの推定結果をログとして生成する機能を備える。
【0065】
イベント処理全体制御手段301は、文書操作推定手段3全体を制御する。イベント処理全体制御手段301の制御対象となる処理は、以下に示す「文書読み込み処理」、「文書切り替え処理」及び「文書書き込み処理」の3種類の処理に大きく分類される。
【0066】
「文書読み込み処理」は、ユーザ操作に従って、アプリケーション1で文書ファイルを読み込む際の処理である。「文書切り替え処理」は、ユーザ操作に従ってアプリケーション1で複数の文書を読み込んでおり、それら複数文書を切り替える際の処理である。「文書書き込み処理」は、ユーザ操作に従って、アプリケーション1で文書ファイルを書き込む際の処理である。
【0067】
また、イベント処理全体制御手段301は、操作イベント検出手段201からのイベントの種類にもとづいて処理をディスパッチする。本実施の形態では、イベント処理全体制御手段301は、例えば、処理をディスパッチするための知識テーブルを予め記憶する。イベント処理全体制御手段301は、イベントの種類が「文書読み込み処理」の場合、知識テーブルにもとづいて、編集文書管理手段305に処理を実行させる。また、イベント処理全体制御手段301は、イベントの種類が「文書切り替え処理」の場合、アクティブ文書判定手段302に処理を実行させる。また、イベント処理全体制御手段301は、イベントの種類が「文書書き込み処理」の場合、文書コピー移動ログ生成手段307に処理を実行させる。
【0068】
図4は、処理をディスパッチするための知識テーブルの一例を示す説明図である。図4に示すように、知識テーブルは、操作シーケンスT030101と操作種類T030102とを含む。操作シーケンス(T030101)は、ユーザ操作イベントの操作シーケンスフィールドの値と同様に、ユーザの操作に伴う一連の操作の流れを示す情報である。操作種類(T030102)は、「文書読み込み処理」、「文書切り替え処理」又は「文書書き込み処理」のいずれかの値を示す情報である。
【0069】
図4に示す例では、例えば、知識テーブルの1行目は、「メニュー→ファイル→開く」という操作シーケンスのイベントが発生すると、イベントの種類が「文書読み込み処理」であることを意味する。この場合、イベント処理全体制御手段301は、編集文書管理手段0305に処理をディスパッチする。なお、処理をディスパッチする動作については、後述する動作の説明においてフローチャートを用いて説明する。
【0070】
編集文書管理手段305は、ユーザ操作に従ってアプリケーション1でファイルが読み込まれた際にイベント処理全体制御手段301から呼び出される。例えば、ユーザがMicrosoft Wordのメニューから「開く」を選択して文書を読み込む操作をした場合に、イベント処理全体制御手段301は、「開く」が選択されたというユーザ操作イベントと、文書読み込みのファイルアクセスイベントとを編集文書管理手段305に通知する。
【0071】
ユーザ操作イベントとファイルアクセスイベントとの通知を受けると、編集文書管理手段305は、以下に示す3つの処理を行う。(1)編集文書管理手段305は、各アプリケーション1毎に開いているファイルの一覧を作成する。(2)また、編集文書管理手段305は、開いているファイルをアクティブにした際のアプリケーション1の状態変化を検出する。なお、編集文書管理手段305は、アプリケーション1の状態変化として、ウインドウタイトル等アクティブな文書を切り替える際に変化があるGUI部品の変化を検出すればよい。本実施の形態では、編集文書管理手段305は、ウインドウタイトルの文字列の変化を検出する場合を説明する。
【0072】
(3)また、編集文書管理手段305は、処理(1)で作成した一覧や処理(2)で検出したアプリケーション1の状態変化等の処理結果を記憶させる。なお、編集文書管理手段305は処理(1)から処理(3)までの機能を実現するための制御部であり、具体的には、処理(1)は、編集文書管理手段305の指示に従って状況解析手段304によって実行される。また、処理(2)は、編集文書管理手段305の指示に従ってアプリケーション状態検出手段4によって実行される。また、処理(3)は、編集文書管理手段305によって、編集文書記憶手段306に処理結果が記憶される。また、編集文書管理手段305が行う詳細な処理の流れについては、後述する動作の説明において説明する。
【0073】
状況解析手段304は、I/Oイベント検出手段202からのファイルパス名と、操作イベント検出手段201からのファイル名とをマッチング(照合)して整合性をとる。
【0074】
通常ユーザがファイル操作を行うと、アプリケーション1は、操作対象ファイル以外の多くのファイルにアクセスする。例えば、図3は、ユーザがアプリケーション1「Micorosoft Word」の「WORD.EXE」で、「AAA.DOC」というファイルを開く操作をした場合を示している。図3に示す例では、一行目は、アプリケーション1が標準のテンプレートファイル「Normal.dot」を読み込んでいることを示している。また、二行目は、別のアプリケーション「Hidemaru.exe」が書き込みをしていることを示している。また、三行目は、ユーザによって指定されたファイルを「WORD.EXE」のメモリに読み込んでいることを示している。また、四行目は、アプリケーション1が、読み込んだファイルのバックアップをテンポラリファイルに書き出していることを示している。また、五行目は、テンポラリファイルを「WORD.EXE」のメモリに読み込んでいることを示している。
【0075】
図3に示すように、状況解析手段304は、一般にI/Oイベント検出手段202から複数の情報を通知される。
【0076】
一方、操作イベント検出手段201からの通知については、ファイルのフルパス名が通知されるとは限らない。例えば、図2に示す例では、ファイル読み込みダイアログを用いてファイルを開いた場合、読み込みファイル名が操作イベント検出手段201から状況解析手段304に通知されるが、そのファイルのパス名は通知されない。図2で示す例のように、操作イベント検出手段201から状況解析手段304に通知される情報は、ファイルに関する情報が不完全である場合がある。
【0077】
以上説明したように、操作イベント検出手段201から通知される情報は不完全である場合があるので、状況解析手段304は、I/Oイベント検出手段202からのファイルパス名と、操作イベント検出手段201からのファイル名との整合性をとる必要がある。この整合性をとる動作は、所定の選択基準に従って、ユーザ操作イベントと最も関連のあるイベントを、ファイルアクセスイベント集合の中から選択することによって実現される。
【0078】
本実施の形態では、状況解析手段304は、整合性をとるための選択基準として、以下に示す3つの基準(基準1〜基準3)を用いる。基準1は、同じアプリケーション1であることという基準である。すなわち、状況解析手段304は、ユーザ操作イベントのウインドウクラスとファイルアクセスイベントの実行ファイル名とをマッチングさせ、アプリケーション1が同じであるか否かを判断する。そして、同じであると判断すると、状況解析手段304は、基準1を満たすと判断する。
【0079】
例えば、状況解析手段304は、ウインドウクラスと実行ファイルとを対応づけた対応テーブル(対応表)を予め記憶し、対応テーブルにもとづいてアプリケーション1が同じであるか否かを判断する。すなわち、状況解析手段304は、対応テーブルにもとづいて、ユーザ操作イベントとファイルアクセスイベントとの整合性があるか否かを判断する。
【0080】
図5は、予め記憶する対応テーブルの一例を示す説明図である。図5に示す例では、ウインドウクラス「OpusApp」のアプリケーションと、実行ファイル「WORD.EXE」のアプリケーションとは、同じアプリケーション1であることを示している。
【0081】
基準2は、ユーザの操作に対応したファイルアクセスのモードであることという基準である。一般に、ユーザ操作の種類毎に、ファイルへのアクセスのモードが決定される。例えば、「読み込み」操作はREADモードであり、「名前をつけて保存」操作はWRITEモードである。
【0082】
例えば、状況解析手段304は、ユーザの操作とファイルアクセスモードとを対応づけた対応テーブル(対応表)を予め記憶している。そして、状況解析手段304は、対応テーブルにもとづいて、ユーザ操作に対応したファイルアクセスのモードであるか否かを判断し、基準2を満たすか否かを判断する。そして、状況解析手段304は、対応テーブルにもとづいて、I/Oイベント検出手段202が検出したファイルアクセスイベント集合に含まれるイベントを絞り込む。状況解析手段304は、例えば、図6に示すように、ユーザ操作の操作シーケンスとファイルアクセスモードとを対応づけた対応テーブルを記憶している。
【0083】
基準3は、ファイル名が似ていることという基準である。状況解析手段304は、ファイルアクセスイベントのファイルフルパス名の中のファイル名の文字列と、ユーザ操作イベントのパラメータのファイル名の値とをマッチングさせて評価し、基準3を満たすか否かを判断する。この場合、状況解析手段304は、以下の3種類の基準(基準3−1〜基準3−3)で判断し、評価結果を求める。
【0084】
基準3−1は、ファイル名及び拡張子が全く同じであるという基準である。状況解析手段304は、基準3−1を満たす場合、最も似ていると判断する。基準3−2は、ファイル名が同じであるが、拡張子がなく拡張子のマッチング不可能であるという基準である。状況解析手段304は、基準3−2を満たす場合、基準3−1の次に似ていると判断する。基準3−3は、ファイル名及び拡張子が異なるという基準である。状況解析手段304は、基準3−3に該当する場合、ファイル名が異なると判断する。なお、状況解析手段304がこれらの基準1〜基準3や基準3−1〜基準3−3を利用して行う処理の流れについては、後述する動作の説明において説明する。
【0085】
編集文書記憶手段306は、編集文書管理手段305の処理結果を記憶する。図7は、編集文書記憶手段306が記憶する情報のフィールドの一例を示す説明図である。図7に示すように、編集文書記憶手段306は、ウインドウクラスT030601と、ファイルフルパス名T030602と、アクティブアプリケーション状態T030603とを対応づけて記憶する。
【0086】
ウインドウクラス(T030601)は、前述したユーザ操作イベントのウインドウクラス(T020101)と同様に、アプリケーション毎に割り振られた名前である。ファイルフルパス名(T030602)は、読み込んだファイルのフルパス名である。本実施の形態では、ファイルフルパス名(T030602)は、文書の状態が現在フォーカスがあたっている「アクティブ文書」であるか、読み込んでいるがフォーカスがあたっていない「バックグランド文書」であるかのいずれかの値である。アクティブアプリケーション状態(T030603)は、この読み込んだ文書がアクティブに切り替わった際のあるGUI部品の値である。例えば、アクティブアプリケーション状態(T030603)は、ウインドウタイトル等である。
【0087】
編集文書管理手段305が編集文書記憶手段306に処理結果を記憶させる手順について説明する。図8は、編集文書管理手段305の処理結果の記憶方法の処理手順の一例を示す流れ図である。編集文書管理手段305は、ファイルとアプリケーション1の状態変化との対応付けの処理を行うと、編集文書記憶手段306にレコードを1つ追加させる(ステップS30601)。編集文書管理手段305は、状況解析手段304の処理結果にもとづいて、ウインドウクラス(T030601)及びファイルフルパス名(T030602)を、ステップS30601で追加したレコードにセット(格納)する(ステップS30602)。
【0088】
編集文書管理手段305は、アプリケーション状態検出手段4に現在のウインドウタイトルを問い合わせる。そして、編集文書管理手段305は、アプリケーション状態検出手段4からのウインドウタイトルの値(文字列)を、追加したレコードのアクティブアプリケーション状態(T030603)にセット(格納)する(ステップS30603)。通常文書を読み込んだ際には読み込んだ文書にフォーカスがあてられるので、編集文書管理手段305は、文書の状態をアクティブ文書記憶手段303にセット(格納)する(ステップS30604)。なお、編集文書管理手段305は、アクティブ文書判定手段302にウインドウハンドル及びファイルフルパス名を通知することで、アクティブ文書判定手段302を介して文書の状態をセットする。この文書状態のセットの処理については後述する。
【0089】
アクティブ文書判定手段302は、ユーザによって文書の切り替え操作が行われる際に、イベント処理全体制御手段301から呼び出される。この呼び出しの際に、イベント処理全体制御手段301は、ユーザ操作によって文書を切り替えられたアプリケーション1のウインドウクラスをアクティブ文書判定手段302に通知する。すると、アクティブ文書判定手段302は、以下に示す3ステップの処理を実行し、アクティブ文書を判定する。
【0090】
図9は、アクティブ文書判定手段302がアクティブ文書を判定する処理手順の一例を示す流れ図である。アクティブ文書判定手段302は、イベント処理全体制御手段301からのウインドウクラスをキーとして、アプリケーション1の状態の変化をアプリケーション状態検出手段4に問い合わせる。そして、イベント処理全体制御手段301は、アプリケーション状態検出手段4からウインドウタイトルを受け取る(ステップS30201)。
【0091】
アクティブ文書判定手段302は、ウインドウタイトルの値をキーとして、編集文書記憶手段306のアクティブアプリケーション状態フィールド(T030603)を検索する(ステップS30202)。なお、ユーザが文書をアクティブに切り替える操作をした場合、その切り替え対象の文書は既にアプリケーション1に読み込まれているはずであり、編集文書記憶手段306に既に登録されているはずである。従って、ステップS30202において、アクティブ文書判定手段302は、編集文書記憶手段306を検索すると、条件に合致するレコードを必ず1つ見つけて抽出する。
【0092】
アクティブ文書判定手段302は、検索の結果抽出したレコードのファイルフルパス名(T030602)を、アクティブ文書としてアクティブ文書記憶手段303に一時記憶させる(ステップS30203)。以下、アクティブ文書判定手段302は、アクティブ文書のアクティブ文書記憶手段303への登録処理を実行する。
【0093】
図10は、アクティブ文書記憶手段303が所定のスキーマに従って記憶する情報の一例を示す説明図である。図10に示すように、アクティブ文書記憶手段303は、ウインドウクラスT030301とファイルフルパス名T030302とを対応づけて記憶する。ウインドウクラス(T030301)は、イベント処理全体制御手段301から通知されたウインドウクラスである。ここでは、ウインドウクラス(T030301)は、文書の切り替えを行ったアプリケーション1の種類を表すことになる。ファイルフルパス名(T030302)は、編集文書記憶手段306の検索の結果抽出したレコードのファイルフルパス名である。
【0094】
アクティブ文書判定手段302は、以下の4ステップの処理を実行し、アクティブ文書をアクティブ文書記憶手段303に記憶させる。図11は、アクティブ文書のアクティブ文書記憶手段303への登録処理の一例を示す流れ図である。
【0095】
アクティブ文書判定手段302は、イベント処理全体制御手段301から通知されたウインドウクラスの値をキーとして、編集文書記憶手段306のウインドウクラスフィールド(T030301)を検索する(ステップS30301)。そして、アクティブ文書判定手段302は、合致するウインドウクラスがあるか否かを判断する(ステップS30302)。合致するウインドウクラスが見つかった場合には、アクティブ文書判定手段302は、ステップS30303に進み処理を実行する。合致するウインドウクラスが見つからなかった場合には、アクティブ文書判定手段302は、ステップS30304に進み処理を実行する。
【0096】
合致するウインドウクラスがあると判断すると、アクティブ文書判定手段302は、このウインドウクラスが合致したレコードのファイルフルパス名の値を更新する(ステップS30303)。合致するウインドウクラスがないと判断すると、アクティブ文書判定手段302は、新たにレコードを追加し、追加したレコードにウインドウクラス及びファイルフルパス名をセット(格納)する(ステップS30304)。
【0097】
文書コピー移動ログ生成手段307は、ユーザが「文書書き込み処理」の操作を行った際に、イベント処理全体制御手段301から呼び出される。この呼び出しの際、イベント処理全体制御手段301は、ユーザ操作イベントとファイルアクセスイベント集合とを、文書コピー移動ログ生成手段307に通知する。このイベント処理全体制御手段301からの通知を受けて、文書コピー移動ログ生成手段307は、文書のコピー移動ログを生成する。この場合、文書コピー移動ログ生成手段307は、ウインドウクラス、コピー元ファイルフルパス名及びコピー先ファイルフルパス名の項目を含むログを生成する。
【0098】
なお、コピー移動ログに含まれるウインドウクラスは、コピーしたアプリケーション1を示すことになる。また、コピー元ファイルフルパス名は、アプリケーション1で読み込んだファイル名を示す。また、コピー先ファイルフルパス名は、文書書き込み操作によるファイル書き込み先のファイル名を示す。
【0099】
文書コピー移動ログ生成手段307は、以下に示す方法で、生成したコピー移動ログの値を文書コピー移動ログ記憶手段5に登録する。まず、文書コピー移動ログ生成手段307は、ウインドウクラスについて、ユーザ操作イベントのウインドウクラスの値をログとして設定する。
【0100】
コピー元ファイルフルパス名は、このユーザ操作を伴ったアプリケーション1のアクティブドキュメントのコピー元ファイルのパス名である。文書コピー移動ログ生成手段307は、ウインドウハンドルをキーとしてアクティブ文書記憶手段303を検索することによって、ファイルフルパス名を得る。そして、文書コピー移動ログ生成手段307は、検索して得たファイルフルパス名をコピー元ファイルパス名として設定する。
【0101】
コピー先ファイルフルパス名は、この操作に伴うイベントで対象となっているファイルのコピー先ファイルのパス名である。文書コピー移動ログ生成手段307は、ユーザ操作イベント及びファイルアクセスイベント集合を状況解析手段306に転送してファイルフルパス名を特定し、この特定した値をコピー先ファイルフルパス名とする。
【0102】
アプリケーション状態検出手段4は、アクティブ文書を切り替えると、その切り替えに応じて変化するGUI部品を検出する。例えば、Windowsに限らず、殆どのウインドウシステムでは、ウインドウで読み込んでいる文書に応じてタイトルバーのテキスト(ウインドウタイトル)が変化する。このウインドウタイトルの値は、OS標準のAPIを用いて取得することができる。この場合、例えば、アプリケーション状態検出手段4は、ウインドウクラスをパラメータとしてウインドウタイトルを取得し、取得したウインドウタイトルをアプリケーション状態として扱えばよい。
【0103】
なお、本実施の形態で示すアプリケーション状態の取得方式は一例であり、例えばウインドウの下のステータスバーの値をアプリケーション状態として用いる等、他の取得方法を用いてもよい。
【0104】
文書コピー移動ログ記憶手段5は、コピー移動ログを記憶するデータベースである。図12は、文書コピー移動ログ記憶手段5が所定のスキーマに従って記憶する情報の一例を示す説明図である。図12に示すように、文書コピー移動ログ記憶手段5は、ウインドウクラスT0501と、コピー元ファイルフルパス名T0502と、コピー先ファイルフルパス名T0503とを対応づけて記憶する。ウインドウクラス(T0501)は、ユーザがコピー操作したアプリケーション1のウインドウクラスである。コピー元ファイルフルパス名(T0502)は、アプリケーション1で読み込んだファイルのファイル名である。コピー先ファイルフルパス名(T0503)は、文書書き込み操作によるファイル書き込み先のファイル名である。
【0105】
なお、本実施の形態において、文書ファイルコピー移動監視システムの記憶装置(図示せず)は、文書ファイルのコピー及び移動を監視する処理を実行させるための各種プログラムを記憶している。例えば、文書ファイルコピー移動監視システムの記憶装置は、コンピュータに、ユーザ操作に伴うアプリケーションソフトウェアの動作を監視するアプリケーション監視処理と、アプリケーションソフトウェアの状態を検出するアプリケーション状態検出処理と、アプリケーション監視処理の監視結果を、アプリケーション状態検出処理を利用して解析することによって、アプリケーションソフトウェアで読み込まれた文書ファイルに対して、ファイルのコピー又は移動のための操作であるファイル操作が行われたか否かを推定する文書操作推定処理と、文書操作推定処理のファイル操作の推定結果を、ログデータとして記憶装置に記憶させる文書コピー移動ログ記憶処理とを実行させるための文書ファイルコピー移動監視プログラムを記憶している。
【0106】
次に、フローチャートを参照して、本実施の形態の全体の動作について説明する。図13は、文書ファイルコピー移動監視システムが行う全体処理の一例を示す流れ図である。ユーザは、情報処理端末を操作して、Microsoft Word等のアプリケーション1を用いて文書の編集等を行う(ステップS1)。
【0107】
ユーザがアプリケーション1を利用している間、アプリケーション監視手段2は、アプリケーション1で発生したイベントをフックする(ステップS2)。この場合、操作イベント検出手段201がユーザのアプリケーション操作のイベントを、I/Oイベント検出手段202がファイルアクセスのイベントを、それぞれフックする。
【0108】
また、文書操作推定手段3は、ステップS2でアプリケーション監視手段2がフックしたイベントを解析する(ステップS3)。この場合、文書操作推定手段3のイベント処理全体制御手段301は、ユーザ操作イベントの操作シーケンス及び図4に示す知識テーブルを用いて、ユーザの操作とファイルシステムの動作との整合性があるかマッチング(照合)し、ユーザの操作種類を特定する。
【0109】
イベント処理全体制御手段301は、ユーザの操作種類を特定できたか否かを判断する(ステップS4)。本実施の形態では、イベント処理全体制御手段301は、対応する操作種類が対応テーブルに存在するか否かを判断する。対応する操作種類が知識テーブルに存在しないと判断すると、文書ファイルコピー移動監視システムは、特にファイルのコピー移動の監視処理を行う必要がないと判断し、ステップS1に戻り以降の処理を繰り返し実行する。知識テーブルに存在すると判断すると、文書ファイルコピー移動監視システムは、ステップ5に進み処理を実行する。
【0110】
文書操作推定手段3は、特定したユーザの操作の種類に応じて処理を実行する(ステップS5)。この場合、文書操作推定手段3は、操作の種類に応じて以下の3種類の処理を行う。特定した操作種類が「文書読み込み操作」である場合、文書操作推定手段3は、イベントを解析することで読み込んだファイルのファイル名を特定し、各アプリケーション1毎に読み込んだファイルリストを作成する。また、文書操作推定手段3は、この処理結果であるファイルリストを編集文書記憶手段306に記憶する。
【0111】
特定した操作種類が「文書切り替え操作」である場合、文書操作推定手段3は、イベントを解析することで各アプリケーション1毎にアクティブ文書を特定する。この特定処理では、アプリケーション状態検出手段4がウインドウタイトル等文書の切り替えに応じて変化するGUIの部品の値を検出し、文書操作推定手段3は、このアプリケーション状態検出手段4が特定した値にもとづいてアクティブな文書を特定する。また、文書操作推定手段3は、この特定結果をアクティブ文書記憶手段303に記憶する。
【0112】
特定した操作種類が「文書書き込み操作」である場合、文書操作推定手段3は、イベントを解析することでユーザが行ったコピー操作をログに残す。この場合、文書操作推定手段3は、コピー元のファイルのフルパス名をアクティ文書記憶手段303から抽出する。また、文書操作推定手段3の状況解析手段304は、コピー先のファイルのフルパス名を、イベントにもとづいて算出する。また、文書操作推定手段3の文書コピー移動ログ生成手段307は、コピー移動ログを作成し、文書コピー移動ログ記憶手段5に蓄積させる。
【0113】
ステップS5で操作種類に応じた処理を終了すると、文書ファイルコピー移動監視システムは、ステップS1に戻り以降の処理を繰り返し実行する。
【0114】
以上のように、文書ファイルコピー移動システムは、一旦起動されるとマシンを終了させるまで常駐し続け、ファイルのコピーや移動の監視を行う。以下、ステップS5における文書読み込み処理、文書切り替え処理及び文書書き込み処理の動作について、3つの場合に分けて説明する。
【0115】
図14は、文書読み込み処理の一例を示す流れ図である。図14に示す文書読み込み処理では、編集文書管理手段305がメイン制御部となり、編集文書管理手段305は、状況解析手段304、アプリケーション状態検出手段4及び編集文書記憶手段306を用いて、以下に示すステップの処理を実行する。
【0116】
イベント処理全体制御手段301は、編集文書管理手段305にユーザ操作イベントとファイルアクセスイベント集合とを渡し(ステップS101)、文書読み込み処理を開始させる。また、編集文書管理手段305は、ステップS1で受け取ったユーザ操作イベントとファイルアクセスイベント集合とを状況解析手段304に渡し(ステップS102)、ユーザ操作イベントと関連のあるイベントをファイルアクセスイベント集合の中から検索する処理を開始させる。
【0117】
まず、状況解析手段304は、基準1に従って、ファイルアクセスイベント集合の中のイベントを絞り込む(ステップS103)。すなわち、状況解析手段304は、ユーザ操作イベントが発生したアプリケーション1に関するイベントのみに、ファイルアクセスイベント集合を絞り込む。
【0118】
状況解析手段304は、絞り込んだ結果、ファイルアクセスイベント集合が空集合になったか否かを判断する(ステップS104)。絞り込んだ結果、ファイルアクセスイベント集合が空集合になった場合、ユーザが操作をしたが途中でキャンセル操作したり、なんらかのエラーで処理が正常に終了しなかった場合であるので、状況解析手段304は、そのまま処理を終了する。ファイルアクセスイベント集合が空集合にならなかった場合、状況解析手段304は、ステップ105へ進み処理を実行する。
【0119】
状況解析手段304は、基準2に従って、ファイルアクセスイベント集合の中のイベントを絞り込む(ステップS105)。文書読み込み処理の場合、ファイルのアクセスモードはREADモードである。そのため、状況解析手段304は、ファイルアクセスイベント集合をREADモードのイベントだけに絞り込む。
【0120】
状況解析手段304は、絞り込んだ結果、ファイルアクセスイベント集合が空集合になったか否かを判断する(ステップS106)。絞り込んだ結果、ファイルアクセスイベント集合が空集合になった場合、ユーザが操作をしたが途中でキャンセル操作したり、なんらかのエラーで処理が正常に終了しなかった場合であるので、状況解析手段304は、そのまま処理を終了する。ファイルアクセスイベント集合が空集合にならなかった場合、状況解析手段304は、ステップS107へ進み処理を実行する。
【0121】
状況解析手段304は、基準3−3に従って、ファイルアクセスイベント集合の中のイベントを絞り込む(ステップS107)。すなわち、状況解析手段304は、ファイル名及び拡張子が全く異なるイベントを、ファイルアクセスイベント集合から削除する。
【0122】
状況解析手段304は、絞り込んだ結果、ファイルアクセスイベント集合が空集合になったか否かを判断する(ステップS108)。絞り込んだ結果、ファイルアクセスイベント集合が空集合になった場合、ユーザが操作をしたが途中でキャンセル操作したり、なんらかのエラーで処理が正常に終了しなかった場合であるので、状況解析手段304は、そのまま処理を終了する。ファイルアクセスイベント集合が空集合にならなかった場合、状況解析手段304は、ステップS109へ進み処理を実行する。
【0123】
状況解析手段304は、基準3−1に従って、ファイルアクセスイベント集合の中のイベントを絞り込む(ステップS109)。すなわち、状況解析手段304は、ファイル名が全く同じイベントだけになるように、ファイルアクセスイベント集合を絞り込む。
【0124】
状況解析手段304は、絞り込んだ結果、ファイルアクセスイベント集合が空集合になったか否かを判断する(ステップS110)。絞り込んだ結果、ファイルアクセスイベント集合が空集合になった場合、状況解析手段304は、ステップS111へ進み処理を実行する。
【0125】
空集合にならなかった場合、そのファイルアクセスイベント集合に含まれるイベントに対応するファイルがユーザの操作対象ファイルのフルパス名である。複数のイベントが存在した場合、それら複数イベントに対応するフルパス名が同じであれば、状況解析手段304は、そのフルパス名のファイルをユーザ操作対象ファイルと判断する。
【0126】
フルパス名が異なるイベントがファイルアクセスイベント集合に複数残る場合、アプリケーション1が対象ファイルを読み込み、読み込んだファイルを用いて、別のディレクトリにテンポラリファイル等を作成した場合である。従って、状況解析手段304は、最初の(時間的に最も古い)イベントのフルパス名で示されるファイルをユーザ対象ファイルと判断する。ただし、この判断方法は、必ずしも正しいとは限らない。例えば、あるアプリケーション1のある機能では、時間的に新しい方のイベントがユーザ対象ファイルのイベントである場合がある。従って、より厳密に判断するために、状況解析手段304は、アプリケーション名やユーザ操作シーケンスに対して、どの順のイベントをユーザ対象ファイルのイベントであると判断するかを示す知識テーブルをもつことが望ましい。この場合、状況解析手段304は、知識テーブルにもとづいて、何番目のイベントがユーザ操作対象ファイルのイベントであるかを判断する。
【0127】
ステップS110でファイルアクセスイベント集合が空集合になったと判断する場合、状況解析手段304は、ステップS111の処理を実行する。具体的には、ステップS111の処理を実行するのは、ユーザ操作イベントで拡張子が通知されなかった場合である。例えば、ユーザがダイアログボックスでファイル名を入力する操作をする際に、ユーザが拡張子を省略する操作をした場合に相当する。この場合、状況解析手段304は、基準3−1を用いた絞り込みを中止し、基準3−2に従ってファイルアクセスイベント集合の中のイベントを絞り込む(ステップS111)。すなわち、状況解析手段304は、拡張子を無視したマッチング(照合)を行う。
【0128】
状況解析手段304は、絞り込んだ結果、ファイルアクセスイベント集合が空集合になったか否かを判断する(ステップS112)。絞り込んだ結果、ファイルアクセスイベント集合が空集合になった場合、ユーザが操作をしたが途中でキャンセル操作したり、なんらかのエラーで処理が正常に終了しなかった場合であるので、状況解析手段304は、そのまま処理を終了する。
【0129】
空集合にならなかった場合、そのファイルアクセスイベント集合に含まれるイベントに対応するファイルのフルパス名が、ユーザの操作対象ファイルのフルパス名である。ファイルアクセスイベント集合に複数のイベントが存在する場合、それら複数イベントに対応するフルパス名が同じであれば、状況解析手段304は、そのフルパス名のファイルをユーザ操作対象ファイルと判断する。
【0130】
フルパス名が異なるイベントがファイルアクセスイベント集合に複数残る場合、アプリケーション1が対象ファイルを読み込み、読み込んだファイルを用いて、別のディレクトリにテンポラリファイル等を作成した場合である。従って、状況解析手段304は、最初の(時間的に最も古い)イベントのフルパス名で示されるファイルをユーザ対象ファイルと判断する。
【0131】
以上のように、ステップS101からステップS112までの処理が実行されることによって、状況解析手段304によるファイルフルパス名の特定処理が終了し、ステップS113の処理に進む。
【0132】
編集文書管理手段305は、ユーザ操作イベントのウインドウクラスの値をパラメータとして、アプリケーション状態検出手段4を呼び出す。アプリケーション状態検出手段4は、編集文書管理手段305から渡されたウインドウクラスに対応したウインドウの状態を検出し、編集文書管理手段305に回答(検出結果を出力)する。本実施の形態では、アプリケーション状態検出手段4は、アプリケーション1の状態として、ウインドウタイトルを編集文書管理手段305に返す。そして、編集文書管理手段305は、アプリケーション状態検出手段4からのウインドウタイトルを受け取る(ステップS113)。
【0133】
編集文書管理手段305は、ステップS101からステップS113までの処理結果を、編集文書記憶手段306に保存させる(ステップS114)。本実施の形態では、編集文書管理手段305は、図7に示すように、特定したファイルフルパス名を編集文書記憶手段306に保存させる。また、編集文書管理手段305は、アクティブアプリケーション状態として、ウインドウタイトルを編集文書記憶手段306に保存させる。
【0134】
図15は、文書切り替え処理の一例を示す流れ図である。図15に示す文書切り替え処理では、アクティブ文書判定手段302がメイン制御部となり、アクティブ文書判定手段302は、アプリケーション状態検出手段4、編集文書記憶手段306及びアクティブ文書記憶手段303を用いて、以下に示すステップの処理を実行する。
【0135】
編集文書管理手段305は、アクティブ文書判定手段302にユーザ操作イベントのウインドウクラスの値を渡し(ステップS201)、アクティブドキュメントの切り替え処理を開始させる。アクティブ文書判定手段302は、アプリケーション状態検出手段4にウインドウクラスを送り、そのウインドウクラスに対応したアプリケーション1のウインドウタイトルの値を、アプリケーション状態検出手段4から受け取って取得する(ステップS202)。
【0136】
アクティブ文書判定手段302は、取得したウインドウタイトルを用いて編集文書記憶手段306を検索する(ステップS203)。この場合、アクティブ文書判定手段302は、ステップS201で受け取ったウインドウクラスの値をキーとして、編集文書記憶手段306のウインドウクラスのフィールドを検索する。また、アクティブ文書判定手段302は、ステップS202で取得したウインドウタイトルの値をキーとして、編集文書記憶手段306のアクティブアプリケーション状態のフィールドを検索する。
【0137】
アクティブ文書判定手段302は、検索の結果、ウインドウクラスやウインドウタイトルが合致するファイルのファイルフルパス名を抽出して取得する(ステップS204)。また、アクティブ文書判定手段302は、検索の結果抽出したファイルフルパス名を、アクティブ文書として一時記憶する。
【0138】
なお、アクティブ文書判定手段302は、検索の結果、必ず1つのファイルフルパス名を抽出する。すなわち、同じ文書を複数回同じアプリケーション1で読み込めないので、編集文書記憶手段306のアクティブアプリケーション状態のフィールドが重複することはなく、検索結果が複数になることはない。さらに、文書がアクティブになるためには、文書がアプリケーション1に事前に読み込まれている必要があるので、検索結果がないということもない。
【0139】
そして、アクティブ文書判定手段302は、ステップS201で得たウインドウクラスとステップS204で得たファイルフルパス名とを、アクティブ文書記憶手段303に登録する(ステップS205)。
【0140】
図16は、文書書き込み処理の一例を示す流れ図である。図16に示す文書書き込み処理では、文書コピー移動ログ生成手段307がメイン制御部となり、文書コピー移動ログ生成手段307は、状況解析手段304、アクティブ文書記憶手段303及び文書コピー移動ログ記憶手段5を用いて、以下に示すステップの処理を実行する。
【0141】
イベント処理全体制御手段301は、文書コピー移動ログ生成手段307にユーザ操作イベントとファイルアクセスイベントとを渡し(ステップS301)、文書書き込み処理を開始させる。文書コピー移動ログ生成手段307は、ステップS301で受け取ったユーザ操作イベントとファイルアクセスイベントとを状況解析手段304に渡し(ステップS302)、ユーザ操作イベントと関連のあるイベントをファイルアクセスイベント集合の中から検索する処理を開始させる。
【0142】
次に、状況解析手段304は、状況解析の処理を実行する(ステップS303)。本実施の形態では、状況解析手段304は、図14で示した文書読み込み処理のステップS103からステップS112までと同様の処理を、状況解析の処理として実行する。状況解析手段304は、状況解析の結果として、ファイルフルパス名を文書コピー移動ログ生成手段307に返す。この状況解析手段304が文書コピー移動ログ生成手段307に返すファイルフルパス名は、ユーザ操作の対象ファイルであり、ログのコピー先ファイルフルパス名に相当する。
【0143】
文書コピー移動ログ生成手段307は、ステップS301で得たウインドウクラスをキーとして、アクティブ文書記憶手段303のウインドウクラスフィールドを検索する(ステップS304)。また、文書コピー移動ログ生成手段307は、検索の結果抽出したファイルフルパス名を、ログのコピー元ファイルフルパス名として一時記憶する(ステップS305)。
【0144】
なお、文書コピー移動ログ生成手段307は、検索の結果必ず1つのフルパス名を抽出する。すなわち、アクティブ文書記憶手段303のウインドウクラスの値には重複がないので、複数レコードが検索されることはない。また、書き込み処理を行っているアプリケーション1は書き込みの前に読み込み処理を行っており、この読み込みの際にアクティブ文書記憶手段303に登録されるので、検索結果がないということもない。
【0145】
文書コピー移動ログ生成手段307は、ウインドウクラスや操作シーケンス、コピー先ファイルフルパス名、コピー元ファイルフルパス名を含むログを生成する(ステップS306)。この場合、文書コピー移動ログ生成手段307は、ステップS301で受け取ったユーザ操作イベントのウインドウクラスや操作シーケンスを含むログを生成する。また、文書コピー移動ログ生成手段307は、ステップS303で受け取ったファイルフルパス名をコピー先ファイルフルパス名として含むログを生成する。更に、文書コピー移動ログ生成手段307は、ステップS305の検索結果のファイルフルパス名をコピー元ファイルフルパス名として含むログを生成する。
【0146】
文書コピー移動ログ生成手段307は、生成したログを文書コピー移動ログ記憶手段5に登録する(ステップS307)。この場合、文書コピー移動ログ生成手段307は、登録方法として、文書コピー移動ログ記憶手段5にレコードを1つ追加し、追加したレコードにステップS306で生成したログを書き込む。
【0147】
以上のように、本実施の形態によれば、アプリケーション監視手段2がアプリケーション1の動作を外部のプログラムから監視し、アプリケーション状態検出手段4が表示されているウインドウタイトルの文字列等をアプリケーション1の状態として検出する。また、文書操作推定手段3は、アプリケーション監視手段2の監視結果を、アプリケーション状態検出手段4の検出機能を利用して解析することによって、そのアプリケーション1で読み込まれた文書ファイルに対して、ユーザのファイル操作が行われたか否かを推定する。そして、文書操作推定手段3は、推定したファイル操作の推定結果を、ログとして文書コピー移動ログ記憶手段5に記憶させる。
【0148】
アプリケーション1の状態を検出し、アプリケーション1の動作の監視結果を解析することによって、ファイルのコピーや移動のファイル操作が行われたか否かを推定できるので、ワードプロセッサで「名前をつけて保存」をした場合のように、間接的にファイルをコピー又は移動するる操作であっても、正確に監視できることにある。従って、市販のワードプロセッサ等、様々なアプリケーションソフトウェアのファイルフォーマットに対応して、ファイルのコピーや移動を監視することができる。また、ユーザによってファイル名を変えられた場合や、アプリケーションソフトウェアでファイルの内容が編集された場合であっても、ファイルの位置の変化を正確に監視することができる。更に、ユーザに対して従来と全く変わらない操作性のままで、ファイルのコピーや移動を監視することができる。
【0149】
また、本実施の形態によれば、アプリケーション監視手段2は、ユーザのGUIの操作を監視する操作イベント検出手段201と、ファイルシステムへのアクセスを監視するI/Oイベント検出手段202とを含む。そのような構成によって、ユーザが行った操作と実際のファイルシステムの動作との両方の整合性を検証でき、ファイルのコピーや移動を精度よく監視することができる。
【0150】
例えば、「名前をつけて保存」をユーザが選択操作したとしても、既に同じ名前のファイルが存在したためにキャンセルされる場合もあれば、磁気ディスク装置の空きスペースがなく書き込みに失敗することもある。このように保存がキャンセルされたり失敗した場合であっても、I/Oイベント検出手段202がファイルアクセスを監視しているので、ファイルのコピーや移動の監視結果を誤ることはない。従って、ファイルアクセスのエラー等が発生した場合であっても、ファイルのコピーや移動を正確に監視することができる。
【0151】
また、本実施の形態によれば、文書操作推定手段3は、イベント処理全体制御手段301と、状況解析手段304と、編集文書管理手段305と、編集文書記憶手段306と、アクティブ文書判定手段302と、アクティブ文書記憶手段303と、文書コピー移動ログ生成手段307とを含む。
【0152】
イベント処理全体制御手段301は、アプリケーション監視手段2の監視結果の解析処理全体を制御する。また、状況解析手段304は、I/Oイベント検出手段202からのファイルフルパス名と、操作イベント検出手段201からのファイル名との関係をマッチングする。編集文書管理手段305は、アプリケーション1で読み込まれたファイルと、アプリケーション1の状態の変化(読み込まれたことによるウインドウタイトルの文字列の変化等)とを対応づける。そして、編集文書記憶手段306は、編集文書管理手段305が生成したファイルとアプリケーション1の状態との関係を記憶する。
【0153】
また、アクティブ文書判定手段302は、複数読み込んだファイルの中から、現在フォーカスがあたっている文書(アクティブドキュメント)を検出をする。また、アクティブ文書記憶手段303は、アクティブ文書判定手段302の検出結果を記憶する。そして、文書コピー移動ログ生成手段307は、ファイルへの書き込みが行われた場合に、アプリケーション監視手段2が監視結果として通知するイベントと、状況解析手段304の照合結果とにもとづいて、どのファイルの内容がどのファイルに書き込まれたかを推定する。
【0154】
そのような構成によって、アプリケーション1内で文書の切り替えを管理でき、アプリケーション1で一度に複数のファイルを開いた場合であっても、ファイルのコピーや移動をより正確に監視することができる。従って、アプリケーション1で一度に複数のファイルを開いた場合であっても、ファイルのコピーや移動を正確に監視することができる。
【実施例】
【0155】
次に、具体的な実施例について説明する。本実施例では、実施の形態で示した文書ファイルコピー移動監視システムの処理内容を具体例を用いて説明する。なお、本実施例では、文書ファイルコピー移動監視システムの動作を、(1)文書読み込み、(2)文書切り替え、及び(3)文書書き込みの場合に分けて説明する。
【0156】
(1)まず、文書読み込みの場合の動作を、図13及び図14を用いて説明する。図13のステップS1では、ユーザは、情報処理端末を操作して、アプリケーション1「Microsoft Word」のメニューから「ファイル→開く」操作を選択し、ファイル「AAA」を開く。ただし、Microsoft Wordの実行ファイルは「WORD.EXE」であり、Microsoft Wordのウインドウクラスは「OpuaApp」であるとする。
【0157】
ステップS2では、操作イベント検出手段201は、ステップS1の操作に対し、図2に示すような操作イベントをフックする。また、I/Oイベント検出手段202は、ファイルアクセスイベント集合として、図3に示すようなレコードセットをフックする。なお、ファイルアクセスイベント集合には、図3に示す第二レコードのように、他のアプリケーションで発生したイベントが含まれることがある。本例では、ステップS1の操作がユーザによってされたタイミングと同時に、アプリケーション「HIDEMARU.EXE」が「BBB.txt」というファイルのWRITEを行っていることを示している。
【0158】
ステップS3では、イベント処理全体制御手段301は、ユーザ操作イベントの操作シーケンスの項目と、図4に示す知識テーブルの操作シーケンスフィールドT030101とをマッチング(照合)する。本例では、操作シーケンスが「メニュー→ファイル→開く」であるので、図4に示す知識テーブルの第一レコードとマッチ(合致)する。従って、イベント処理全体制御手段301は、図4に示す操作種類フィールドT030102の値である「文書読み込み処理」を、このユーザの操作の種類と判断する。
【0159】
ステップS4では、文書操作推定手段3は、ステップ3でユーザの操作の種類が特定できたと判断するので、ステップS5の処理を実行する。ステップS5では、文書操作推定手段3は、図14に示す「文書読み込み処理」を実行する。
【0160】
図14のステップS101では、イベント処理全体制御手段301は、編集文書管理手段305に、図2に示すユーザ操作イベントと図3に示すファイルアクセスイベント集合とを送る。ステップS102では、編集文書管理手段305は、ステップ101で受け取った図2のユーザ操作イベントと図3のファイルアクセスイベント集合とを、状況解析手段304に送る。
【0161】
本例では、ユーザ操作イベントのウインドウクラスは「OpusApp」である。よって、図5から、このウインドウクラス「OpusApp」の実行ファイルが「WORD.EXE」であることがわかる。従って、ステップS103では、状況解析手段304は、図3に示すファイルアクセスイベント集合を、この実行ファイル「WORD.EXE」に関するイベントだけを含むように絞り込む。本例では、状況解析手段304は、図17に示す4レコードにファイルアクセスイベント集合を絞り込む。ステップS104では、状況解析手段304は、ファイルアクセスイベント集合が空集合ではないと判断するので、ステップ105に進む。
【0162】
また、本例では、ユーザ操作イベントの操作シーケンスは「メニュー→ファイル→開く」である。よって、図6より、この操作シーケンスのファイルアクセスモードが「READ」であることがわかる。従って、ステップS105では、状況解析手段304は、図17に示すファイルアクセスイベント集合を、「READ」のイベントだけを含むように絞り込む。本例では、状況解析手段304は、図18に示す3レコードにファイルアクセスイベント集合を絞り込む。ステップS106では、状況解析手段304は、ファイルアクセスイベント集合が空集合ではないと判断するので、ステップ107に進む。
【0163】
また、本例では、ファイルアクセスイベントのファイル名が「AAA」であり、拡張子がない。従って、ステップS107では、状況解析手段304は、図18に示すファイルアクセスイベント集合を、ファイル名が「AAA」であるか拡張子がないファイルに対応するイベントだけを含むように絞り込む。本例では、状況解析手段304は、図19に示す2レコードにファイルアクセスイベント集合を絞り込む。ステップS108では、状況解析手段304は、ファイルアクセスイベント集合が空集合ではないと判断するので、ステップ109に進む。
【0164】
図19に示すように、本例では、絞り込んだファイルアクセスイベント集合は、ユーザ操作イベントのファイル名と拡張子との両方が同じであるイベントのログを含まない。従って、ステップS109で状況解析手段304が更に絞り込みを行うと、ファイルアクセスイベント集合は空集合になる。ステップS110では、状況解析手段304は、ファイルアクセスイベント集合が空集合であると判断するので、ステップS111に進む。
【0165】
ステップS111では、状況解析手段304は、拡張子のマッチングを無視した絞り込みを行う。拡張子のマッチングを無視すると、図19に示すいずれのレコードも基準に合致する。この場合、絞り込み後のファイルアクセスイベント集合は、図19に示す集合と同じになる。
【0166】
図19に示すように、本例では、ファイルアクセスイベント集合に含まれるレコードは複数存在する。従って、ステップS112では、状況解析手段304は、ログが古いほうのイベント(すなわち、図19に示す第一レコードのイベント)を、ユーザ操作イベントに対応するファイルアクセスイベントであると判断する。
【0167】
ステップS113では、編集文書管理手段305は、ユーザ操作イベントのウインドウクラスの値「OpusApp」をパラメータとして、アプリケーション状態検出手段4を呼び出す。アプリケーション状態検出手段4は、渡されたウインドウクラスに対応したウインドウタイトルを検出し、編集文書管理手段305に回答する。例えば、アプリケーション状態検出手段4は、「WORD[AAA.DOC]」等と回答する。
【0168】
ステップS114では、編集文書管理手段305は、以上の処理結果を編集文書記憶手段306に保存させる(例えば、図7に示す第一レコード)。
【0169】
(2)次に、文書切り替えの場合の動作を、図13及び図15を用いて説明する。図13のステップS1では、ユーザは、情報処理端末を操作して、アプリケーション1「Microsoft Word」を用いて、「AAA.DOC」以外の文書の読み込み編集作業を行う。例えば、ユーザは、メニューから「ファイル→ウインドウ→切り替え」操作を選択し、ファイル「AAA」にフォーカスをあてる。
【0170】
ステップS2では、操作イベント検出手段201は、ステップS1の操作に対し、図20に示すような操作イベントをフックする。なお、文書切り替えの場合、ファイルへのアクセスはないので、ファイルアクセスイベント集合には何もイベントが発行されない。
【0171】
ステップS3では、イベント処理全体制御手段301は、ユーザ操作イベントの操作シーケンスの項目と、図4に示す知識テーブルの操作シーケンスフィールドT030101とをマッチングする。本例では、操作シーケンスが「メニュー→ウインドウ→切り替え」であるので、図4に示す知識テーブルの第三レコードとマッチする。従って、イベント処理全体制御手段301は、図4に示す操作種類フィールドT030102の値である「文書切り替え処理」を、このユーザの操作の種類と判断する。
【0172】
ステップS4では、文書操作推定手段3は、ステップS3でユーザの操作の種類が特定できたと判断するので、ステップS5の処理を実行する。ステップS5では、文書操作推定手段3は、図15に示す「文書切り替え処理」を実行する。
【0173】
図15のステップS201では、編集文書管理手段305は、アクティブ文書判定手段302にユーザ操作イベントのウインドウクラスの値「OpusApp」を渡し、アクティブドキュメントの切り替え処理を開始させる。ステップS202では、アクティブ文書判定手段302は、アプリケーション状態検出手段4にウインドウクラス「OpusApp」を送る。そして、アクティブ文書判定手段302は、このウインドウクラス「OpusApp」に対応したアプリケーション1のウインドウタイトルの値「WORD[AAA.DOC]」を、アプリケーション状態検出手段4から受け取って取得する。
【0174】
ステップS203では、アクティブ文書判定手段302は、図7に示す編集文書記憶手段306が記憶する情報のテーブルに対して情報検索を行う。この場合、アクティブ文書判定手段302は、編集文書記憶手段306のウインドウクラスのフィールドが「OpusApp」で、且つ編集文書記憶手段306のアクティブアプリケーション状態のフィールドが「WORD[AAA.DOC]」であるレコードを検索する。本例では、アクティブ文書判定手段302は、図7に示す第一レコードを検索結果として抽出する。
【0175】
ステップS204では、アクティブ文書判定手段302は、検索結果のファイルフルパス名フィールドの値「C:¥Doc¥AAA.DOC」を、アクティブ文書として一時記憶する。ステップS205では、アクティブ文書判定手段302は、ステップS201で得たウインドウクラス「OpusApp」と、ステップS204で得たファイルフルパス名「C:¥Doc¥AAA.DOC」とを、アクティブ文書記憶手段303に登録する(例えば、図10に示す第一レコード)。
【0176】
(3)次に、文書書き込みの場合の動作を、図13及び図16を用いて説明する。図13のステップS1では、ユーザは、情報処理端末を操作して、アプリケーション1「Microsoft Word」を用いて、メニューから「メニュー→ファイル→名前を付けて保存」を選択し、保存先ファイル名「XXX」を入力する。
【0177】
ステップS2では、操作イベント検出手段201は、ステップS1の操作に対し、図21に示すような操作イベントをフックする。また、I/Oイベント検出手段手段202は、ファイルアクセスイベント集合として、図22に示すレコードセットをフックする。
【0178】
ステップS3では、イベント処理全体制御手段301は、ユーザ操作イベントの操作シーケンスの項目と、図4に示す知識テーブルの操作シーケンスフィールドT030101とをマッチングする。本例では、操作シーケンスが「メニュー→ファイル→名前を付けて保存」であるので、図4に示す知識テーブルの第五レコードとマッチする。従って、イベント処理全体制御手段301は、図4に示す操作種類フィールドT030102の値である「文書書き込み処理」を、このユーザの操作の種類と判断する。
【0179】
ステップS4では、文書操作推定手段3は、ステップS3でユーザの操作の種類が特定できたと判断するので、ステップS5の処理を実行する。ステップS5では、文書操作推定手段3は、図16に示す「文書書き込み処理」を実行する。
【0180】
図16のステップS301では、イベント処理全体制御手段301は、文書コピー移動ログ生成手段307にユーザ操作イベントとファイルアクセスイベントとを渡し、文書書き込み処理を開始させる。ステップS302では、文書コピー移動ログ生成手段307は、ステップS301で受け取ったユーザ操作イベントと図22のファイルアクセスイベント集合とを状況解析手段304に渡す。
【0181】
ステップS303では、状況解析手段304は、図14で示した文書読み込み処理のステップS103からステップS112までの処理を実行する。ステップS103からステップS112までの処理が実行された結果、状況解析手段304は、図22に示すファイルアクセス集合の各レコードを、以下のように絞り込む。図23は、ファイルアクセス集合の絞り込み結果を示す説明図である。
【0182】
状況解析手段304は、図22に示すファイルアクセス集合の第一レコードを、基準3−3に従って削除する。また、状況解析手段304は、第二レコードを残し、図23に示すように、ファイルアクセス集合の第一レコードにする。また、状況解析手段304は、第三レコードを、基準3−2に従って削除する。また、状況解析手段304は、第四レコードを、基準2に従って削除する。
【0183】
本例では、状況解析手段304は、「C:¥Doc¥XXX.DOC」を文書コピー移動ログ生成手段307に返す。この状況解析手段304から受け取ったファイルフルパス名は、ユーザ操作の対象ファイルのパス名であり、ログのコピー先ファイルフルパス名に相当する。
【0184】
ステップS304では、文書コピー移動ログ生成手段307は、ステップS301で得たウインドウクラス「OpusApp」をキーとして、図10に示すアクティブ文書記憶手段303のウインドウクラスフィールドを検索する。文書コピー移動ログ生成手段307は、その検索の結果、図10に示す第一レコードを検索結果として抽出する。ステップS305では、文書コピー移動ログ生成手段307は、検索の結果抽出したファイルフルパス名「C:¥Doc¥AAA.DOC」を、ログのコピー元ファイルフルパス名として一時記憶する。
【0185】
ステップS306では、文書コピー移動ログ生成手段307は、ウインドウクラス「OpusApp」、コピー元ファイル「C:¥Doc¥AAA.DOC」、及びコピー先ファイル「C:¥Doc¥XXX.DOC」を含むログを生成する。ステップS307では、文書コピー移動ログ生成手段307は、生成したログを文書コピー移動ログ記憶手段5に登録する。本例では、図24に示すように、文書コピー移動ログ生成手段307は、第四レコードとしてログを文書コピー移動ログ記憶手段5に登録する。
【産業上の利用可能性】
【0186】
本発明は、ネットワークを介して各磁気ディスク装置を共有する環境で電子文書を配布するパーソナルコンピュータの利用形態において、各文書の配布経路を監視するといった用途に適用できる。そのように文書の配布経路を監視することによって、(1)モラルの低い社員による情報漏洩の抑止のために利用することができる。(2)また、万が一情報が漏れてしまった場合に、監視結果のデータを、情報漏洩の経路を絞り込むための基礎データとして利用することができる。
【図面の簡単な説明】
【0187】
【図1】本発明による文書ファイルコピー移動監視システムの構成の一例を示すブロック図である。
【図2】ユーザ操作イベントの一例を示す説明図である。
【図3】ファイルアクセスイベント集合の一例を示す説明図である。
【図4】処理をディスパッチするための知識テーブルの一例を示す説明図である。
【図5】予め記憶する対応テーブルの一例を示す説明図である。
【図6】ユーザ操作の操作シーケンスとファイルアクセスモードとを対応づけた対応テーブルの一例を示す説明図である。
【図7】編集文書記憶手段306が記憶する情報のフィールドの一例を示す説明図である。
【図8】編集文書管理手段305の処理結果の記憶方法の処理手順の一例を示す流れ図である。
【図9】アクティブ文書判定手段302がアクティブ文書を判定する処理手順の一例を示す流れ図である。
【図10】アクティブ文書記憶手段303が所定のスキーマに従って記憶する情報の一例を示す説明図である。
【図11】アクティブ文書のアクティブ文書記憶手段303への登録処理の一例を示す流れ図である。
【図12】文書コピー移動ログ記憶手段5が所定のスキーマに従って記憶する情報の一例を示す説明図である。
【図13】文書ファイルコピー移動監視システムが行う全体処理の一例を示す流れ図である。
【図14】文書読み込み処理の一例を示す流れ図である。
【図15】文書切り替え処理の一例を示す流れ図である。
【図16】文書書き込み処理の一例を示す流れ図である。
【図17】4レコードに絞り込まれたファイルアクセスイベント集合の一例を示す説明図である。
【図18】3レコードに絞り込まれたファイルアクセスイベント集合の一例を示す説明図である。
【図19】2レコードに絞り込まれたファイルアクセスイベント集合の一例を示す説明図である。
【図20】操作イベント検出手段201がフックした操作イベントの一例を示す説明図である。
【図21】操作イベント検出手段201がフックした操作イベントの他の例を示す説明図である。
【図22】I/Oイベント検出手段202がフックしたファイルアクセスイベント集合の一例を示す説明図である。
【図23】ファイルアクセス集合の絞り込み結果を示す説明図である。
【図24】文書コピー移動ログ記憶手段5に登録されたログの一例を示す説明図である。
【図25】従来の情報漏洩検出防止装置の構成を示すブロック図である。
【符号の説明】
【0188】
1 アプリケーションソフトウェア
2 アプリケーション監視手段
3 文書操作推定手段
4 アプリケーション状態検出手段
5 文書コピー移動ログ記憶手段
201 操作イベント検出手段
202 I/Oイベント検出手段
301 イベント処理全体制御手段
302 アクティブ文書判定手段
303 アクティブ文書記憶手段
304 状況解析手段
305 編集文書管理手段
306 編集文書記憶手段
307 文書コピー移動ログ生成手段

【特許請求の範囲】
【請求項1】
文書ファイルのコピー及び移動を監視する文書ファイルコピー移動監視システムであって、
文書ファイルを読み込み編集するためのアプリケーションソフトウェアが搭載され、
ユーザ操作に伴う前記アプリケーションソフトウェアの動作を監視するアプリケーション監視手段と、
前記アプリケーションソフトウェアの状態を検出するアプリケーション状態検出手段と、
前記アプリケーション監視手段の監視結果を、前記アプリケーション状態検出手段の検出機能を利用して解析することによって、前記アプリケーションソフトウェアで読み込まれた文書ファイルに対して、ファイルのコピー又は移動のための操作であるファイル操作が行われたか否かを推定する文書操作推定手段とを
備えたことを特徴とする文書ファイルコピー移動監視システム。
【請求項2】
文書操作推定手段のファイル操作の推定結果を、ログデータとして記憶する文書コピー移動ログ記憶手段を備えた請求項1記載の文書ファイルコピー移動監視システム。
【請求項3】
アプリケーション監視手段は、
ユーザの操作に伴うイベントであるユーザ操作イベントを検出する操作イベント検出手段と、
ファイルシステムへのアクセスに伴うイベントであるファイルアクセスイベントを検出するファイルアクセスイベント検出手段とを含み、
文書操作推定手段は、前記操作イベント検出手段のイベント検出結果と前記ファイルアクセスイベント検出手段のイベント検出結果とにもとづいて、ユーザの操作とファイルシステムの動作との整合性があるか否かを判断する
請求項1又は請求項2記載の文書ファイルコピー移動監視システム。
【請求項4】
文書操作推定手段は、
アプリケーション監視手段の監視結果の解析処理全体を制御する全体処理制御手段と、
ファイルアクセスイベント検出手段が検出結果として出力するファイル情報と、操作イベント検出手段が検出結果として出力するファイル情報とを照合する照合手段と、
アプリケーションソフトウェアで読み込まれたファイルと、前記アプリケーションソフトウェアの状態の変化とを対応づけた対応情報を生成する対応情報生成手段と、
前記対応情報生成手段が生成した対応情報を記憶する対応情報記憶手段と、
前記アプリケーションソフトウェアで読み込まれた複数ファイルの中から、アクティブ状態となっている文書ファイルを検出するアクティブ文書検出手段と、
前記アクティブ文書検出手段の検出結果を記憶するアクティブ文書記憶手段と、
ファイルへの書き込みが行われた場合に、アプリケーション監視手段が監視結果として出力したイベントと前記照合手段の照合結果とにもとづいて、どのファイルの内容がどのファイルに書き込まれたかを推定するファイル書込推定手段とを含む
請求項3記載の文書ファイルコピー移動監視システム。
【請求項5】
操作イベント検出手段は、アプリケーションソフトウェアの種類に応じて割り与えられる識別子であるウインドウクラスと、ユーザ操作に伴う一連の操作の流れを示す操作シーケンスと、ダイアログボックスを用いたユーザ操作によって入力されたデータを示すファイルダイアログパラメータの情報とを監視する請求項3記載の文書ファイルコピー移動監視システム。
【請求項6】
ファイルアクセスイベント検出手段は、ファイルにアクセスしたアプリケーションソフトウェアの実行ファイル名と、ファイルアクセスの目的がデータの読み込みであるかデータの書き出しであるかを示すファイルアクセスモードと、処理対象のファイルのフルパス名とを監視する請求項3記載の文書ファイルコピー移動監視システム。
【請求項7】
照合手段は、
ウインドウクラスと実行ファイルとを対応づけた対応テーブルを予め有し、
前記対応テーブルにもとづいて、ユーザ操作イベントとファイルアクセスイベントとの整合性があるか否かを判断する
請求項4記載の文書ファイルコピー移動監視システム。
【請求項8】
照合手段は、
ユーザ操作に伴う一連の操作の流れを示す操作シーケンスと、ファイルアクセスの目的がデータの読み込みであるかデータの書き出しであるかを示すファイルアクセスモードとを対応づけた対応テーブルを予め有し、
前記対応テーブルにもとづいて、ファイルアクセスイベント検出手段が検出したファイルアクセスイベントの集合に含まれるイベントを絞り込む
請求項4に記載の文書ファイルコピー移動監視システム。
【請求項9】
アプリケーション状態検出手段は、アプリケーションソフトウェアのウインドウタイトルの値を監視し、
対応情報生成手段は、前記アプリケーション状態検出手段の監視結果にもとづいて、アプリケーションソフトウェアの状態として前記ウインドウタイトルの値を含む対応情報を生成し、
対応情報記憶手段は、対応情報として、ウインドウタイトルの値とファイルのフルパス名とを対応づけて記憶する
請求項4記載の文書ファイルコピー移動監視システム。
【請求項10】
ファイル書込推定手段は、アプリケーションソフトウェアの種類に応じて割り与えられる識別子であるウインドウクラスと、ユーザ操作に伴うファイル操作前の元ファイルのフルパス名と、ファイル操作後のファイルのフルパス名とを含むログデータを生成する
請求項4記載の文書ファイルコピー移動監視システム。
【請求項11】
文書ファイルのコピー及び移動を監視する文書ファイルコピー移動監視方法であって、
アプリケーションソフトウェアが、文書ファイルを読み込み編集するアプリケーション利用ステップと、
ユーザ操作に伴う前記アプリケーションソフトウェアの動作を監視するアプリケーション監視ステップと、
前記アプリケーションソフトウェアの状態を検出するアプリケーション状態検出ステップと、
前記アプリケーション監視ステップの監視結果を、前記アプリケーション状態検出ステップで行う検出処理を利用して解析することによって、前記アプリケーションソフトウェアで読み込まれた文書ファイルに対して、ファイルのコピー又は移動のための操作であるファイル操作が行われたか否かを推定する文書操作推定ステップと、
文書操作推定ステップのファイル操作の推定結果を、ログデータとして記憶する文書コピー移動ログ記憶ステップとを
含むことを特徴とする文書ファイルコピー移動監視方法。
【請求項12】
アプリケーション監視ステップとして、
ユーザの操作に伴うイベントであるユーザ操作イベントを検出する操作イベント検出ステップと、
ファイルシステムへのアクセスに伴うイベントであるファイルアクセスイベントを検出するファイルアクセスイベント検出ステップとを含み、
文書操作推定ステップで、前記操作イベント検出ステップのイベント検出結果と前記ファイルアクセスイベント検出ステップのイベント検出結果とにもとづいて、ユーザの操作とファイルシステムの動作との整合性があるか否かを判断する
請求項11記載の文書ファイルコピー移動監視方法。
【請求項13】
文書操作推定ステップとして、
アプリケーション監視ステップの監視結果の解析処理全体を制御する全体処理制御ステップと、
ファイルアクセスイベント検出ステップで検出結果として出力するファイル情報と、操作イベント検出ステップで検出結果として出力するファイル情報とを照合する照合ステップと、
アプリケーションソフトウェアで読み込まれたファイルと、前記アプリケーションソフトウェアの状態の変化とを対応づけた対応情報を生成する対応情報生成ステップと、
前記対応情報生成ステップで生成した対応情報を記憶する対応情報記憶ステップと、
前記アプリケーションソフトウェアで読み込まれた複数ファイルの中から、アクティブ状態となっている文書ファイルを検出するアクティブ文書検出ステップと、
前記アクティブ文書検出ステップの検出結果を記憶するアクティブ文書記憶ステップと、
ファイルへの書き込みが行われた場合に、アプリケーション監視ステップで監視結果として出力したイベントと前記照合ステップの照合結果とにもとづいて、どのファイルの内容がどのファイルに書き込まれたかを推定するファイル書込推定ステップとを含む
請求項12記載の文書ファイルコピー移動監視方法。
【請求項14】
文書ファイルのコピー及び移動を監視するための文書ファイルコピー移動監視プログラムであって、
文書ファイルを読み込み編集するためのアプリケーションソフトウェアが搭載されたコンピュータに、
ユーザ操作に伴う前記アプリケーションソフトウェアの動作を監視するアプリケーション監視処理と、
前記アプリケーションソフトウェアの状態を検出するアプリケーション状態検出処理と、
前記アプリケーション監視処理の監視結果を、前記アプリケーション状態検出処理を利用して解析することによって、前記アプリケーションソフトウェアで読み込まれた文書ファイルに対して、ファイルのコピー又は移動のための操作であるファイル操作が行われたか否かを推定する文書操作推定処理と、
文書操作推定処理のファイル操作の推定結果を、ログデータとして記憶装置に記憶させる文書コピー移動ログ記憶処理とを
実行させる文書ファイルコピー移動監視プログラム。
【請求項15】
コンピュータに、
アプリケーション監視処理として、
ユーザの操作に伴うイベントであるユーザ操作イベントを検出する操作イベント検出処理と、
ファイルシステムへのアクセスに伴うイベントであるファイルアクセスイベントを検出するファイルアクセスイベント検出処理とを実行させ、
文書操作推定処理で、前記操作イベント検出処理のイベント検出結果と前記ファイルアクセスイベント検出処理のイベント検出結果とにもとづいて、ユーザの操作とファイルシステムの動作との整合性があるか否かを判断する処理を実行させる
請求項14記載の文書ファイルコピー移動監視プログラム。
【請求項16】
コンピュータに、
文書操作推定処理として、
アプリケーション監視処理の監視結果の解析処理全体を制御する全体処理制御処理と、
ファイルアクセスイベント検出処理で検出結果として出力するファイル情報と、操作イベント検出処理で検出結果として出力するファイル情報とを照合する照合処理と、
アプリケーションソフトウェアで読み込まれたファイルと、前記アプリケーションソフトウェアの状態の変化とを対応づけた対応情報を生成する対応情報生成処理と、
前記対応情報生成処理で生成した対応情報を記憶装置に記憶させる対応情報記憶処理と、
前記アプリケーションソフトウェアで読み込まれた複数ファイルの中から、アクティブ状態となっている文書ファイルを検出するアクティブ文書検出処理と、
前記アクティブ文書検出処理の検出結果を記憶装置に記憶させるアクティブ文書記憶処理と、
ファイルへの書き込みが行われた場合に、アプリケーション監視処理で監視結果として出力したイベントと前記照合処理の照合結果とにもとづいて、どのファイルの内容がどのファイルに書き込まれたかを推定するファイル書込推定処理とを実行させる
請求項15記載の文書ファイルコピー移動監視プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2006−92149(P2006−92149A)
【公開日】平成18年4月6日(2006.4.6)
【国際特許分類】
【出願番号】特願2004−275383(P2004−275383)
【出願日】平成16年9月22日(2004.9.22)
【出願人】(390001395)エヌイーシーシステムテクノロジー株式会社 (438)
【Fターム(参考)】