(57)【特許請求の範囲】
【請求項１】
ファイルを記憶する記憶手段と、
外部機器とネットワークを介してデータの送受信を行う通信手段と、
前記記憶手段に記憶されているファイルに対する前記外部機器からの複数の操作要求に対応する複数の履歴を保持する履歴保持手段と、を備え、
前記履歴保持手段は、前記操作要求の種別及びアクセス日時を履歴として蓄積し、前記複数の操作要求に対応する複数の履歴のうち、次の操作要求までの時間間隔が予め定められた時間間隔の範囲内にあり、前記操作要求の対象となっているファイルのファイルパス、及び、前記ファイルをオープンする毎に割り当てられるファイルＩＤが一致する複数の履歴を、前記蓄積した履歴から抽出して纏めることを特徴とする画像形成装置。
【請求項２】
前記操作要求の種別は、ファイルの読み出し、書き込み、コピー、移動、削除及び名前変更のいずれかであることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記履歴保持手段は、前記履歴における前記操作要求の種別が読み出し又は書き込みである場合、前記蓄積した履歴を抽出して纏めるために、前記操作要求の対象となっているファイルのオフセット値と、前記オフセット値から取得するデータサイズと、前記要求の対象となっているファイルのデータサイズとを使用することを有する請求項２記載の画像形成装置。
【請求項４】
前記履歴保持手段は、前記履歴における前記操作要求の種別がコピー、移動又は名前変更の場合、前記操作要求の対象となっているファイルのファイルパスと前記要求の処理先のファイルパスとを使用して、前記蓄積した履歴を纏めることを特徴とする請求項２記載の画像形成装置。
【請求項５】
前記纏めた履歴をログとしてユーザインタフェースに表示する表示手段を更に有し、
前記履歴保持手段は、前記ログをデータとして前記記憶手段に格納することを特徴とする請求項１記載の画像形成装置。
【請求項６】
ファイルを記憶する記憶手段と、外部機器とネットワークを介してデータの送受信を行う通信手段と、前記記憶手段に記憶されているファイルに対する前記外部機器からの複数の操作要求に対する複数の履歴を保持する履歴保持手段と、を備える画像形成装置で実行される履歴管理方法であって、
前記履歴保持手段が、前記操作要求の種別及びアクセス日時を履歴として蓄積し、前記複数の操作要求に対応する複数の履歴のうち、次の操作要求までの時間間隔が予め定められた時間間隔の範囲内にあり、前記操作要求の対象となっているファイルのファイルパス、及び、前記ファイルをオープンする毎に割り当てられるファイルＩＤが一致する履歴を、前記蓄積した履歴から抽出して纏めるステップと、を有することを特徴とする履歴管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続され、ネットワーク上の装置との間で画像データ等のファイルアクセスを管理する画像形成装置及び履歴管理方法に関する。
【背景技術】
【０００２】
画像形成装置が接続されたネットワークシステムであって、ネットワーク上の装置（画像形成装置を含む）、画像データや文書データ等のファイルをこの画像形成装置の格納領域に格納、読み出し、コピー（複写）、削除等の処理を行うものが知られている。このようなネットワークシステムにおける画像形成装置は、一般的にファイルサーバと言われる装置と比較すると、ファイル管理サーバにもなり得、且つ、ファイル操作クライアントにもなり得るという違いがある。
【０００３】
また、一般的に画像形成装置がユーザインタフェース画面を有していることを利用して、スキャン処理を行い、スキャン画像データをネットワーク上の他の装置の格納領域に転送したり、画像形成装置自身の格納領域に保存したりすることが可能となる。さらに、画像形成装置がネットワーク上の他の装置の格納領域又は画像形成装置自身の格納領域から画像データを読み出して、印刷することが可能となる。すなわち、画像形成装置は、一般的なファイルサーバやファイル操作クライアントとしての機能だけでなく、画像形成処理を利用した独自の機能を有している。
【０００４】
更に、ネットワークに接続された画像形成装置では、セキュリティを確保するための一機能として、ユーザの操作履歴やネットワーク上の他の装置からのアクセス履歴の管理が行われている。画像形成装置自身を含むネットワーク上の装置間でのファイル操作に関する操作履歴やアクセス履歴の管理は重要であるが、ネットワーク上での操作履歴やアクセス履歴は、以前から一般的なファイルアクセス装置でも管理されている。
【０００５】
ネットワーク上の装置間で扱われるファイルに関するアクセス履歴及び操作履歴の一般的な出力方法や管理方法として、ネットワーク上のリモート装置からのファイル操作要求に対して該当するネットワークパケットをそのまま保存する方法が知られている。また、ネットワークパケット内に含まれるファイル操作コマンドや操作ユーザ情報、操作日時等を保存、管理する方法もある。
【０００６】
しかしながら、一般に画像形成装置はファイルサーバやＰＣとは異なり、ファイルの格納領域と併せて操作履歴やアクセス履歴の格納領域が十分用意されていないことが多い。そのため、従来の管理方法をネットワーク上の画像形成装置に適用した場合、管理する履歴量が限られてしまう。
【０００７】
このような問題に対処するため、操作履歴やアクセス履歴のログサイズが膨大になる場合、同類の連続した要求（コマンド）については、これらを１つの履歴にまとめたり一部を間引いたりして、操作履歴やアクセス履歴を格納し、管理する工夫がなされている。また別の工夫として、ユーザが管理する履歴の種類を指定するようにし、画像形成装置は指定された種類の履歴のみを管理する方法が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平０６−１８７２１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術では、セキュリティ確保の観点から重要である履歴であっても、ユーザが指定していない場合及びユーザが指定操作を間違えた場合には、それを保存、管理することができないという問題がある。
【００１０】
また、ネットワーク上で多く使用されているファイル操作プロトコルとして、ＣＩＦＳ（Common Internet ファイルシステム）があるが、このようなプロトコルを用いる場合に、以下のような問題が生じる。すなわち、ＣＩＦＳでは、詳細なファイル操作を行うため、より低レベルのファイルＩ／Ｏ（ファイルのオープン、クローズの命令やＴｒｕｎｃａｔｅ要求等）命令を行う。こうして低レベルファイルＩ／Ｏを使用してファイルアクセスを行うと、１つのファイル操作のために複数種のコマンドを使用し、複雑なシーケンスで処理することになるため、全てのコマンドに対する履歴を限られた履歴保存領域で管理するのは困難である。また、同類のコマンドの間引き処理を行ったとしても、複数種のコマンドを複雑なシーケンスで扱うＣＩＦＳの場合、間引き処理の効果は薄くなる。
【００１１】
仮に複数種のコマンドに関する履歴の全てを保存、管理した場合、管理者等のユーザが画像形成装置の履歴を後日確認することを想定すると、低レベルのファイルＩ／Ｏでの複雑な履歴を検査することになる。この履歴は、ＣＩＦＳプロトコルに詳しいユーザでもその解析に多大な時間を要する、複雑なものである。したがって、セキュリティの面で問題が発生したときの検証のために履歴を管理するという元来の目的を達成することが困難である。
【００１２】
本発明は、限られた履歴保存領域を有効活用し、履歴の解析を容易に行うことができる画像形成装置及び履歴管理方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る画像形成装置は、ファイルを記憶する記憶手段と、外部機器とネットワークを介してデータの送受信を行う通信手段と、前記記憶手段に記憶されているファイルに対する前記外部機器からの複数の操作要求に対応する複数の履歴を保持する履歴保持手段と、を備え、前記履歴保持手段は、前記操作要求の種別及びアクセス日時を履歴として蓄積し、前記複数の操作要求に対応する複数の履歴のうち、次の操作要求までの時間間隔が予め定められた時間間隔の範囲内にあり、前記操作要求の対象となっているファイルのファイルパス、及び、前記ファイルをオープンする毎に割り当てられるファイルＩＤが一致する複数の履歴を、前記蓄積した履歴から抽出して纏めることを特徴とする。
【発明の効果】
【００１４】
本発明に係る画像形成装置によれば、限られた履歴保存領域を有効活用することができ、また、ユーザがアクセスしたファイルに対する操作履歴を分かりやすくユーザに表示させることが可能となり、更に、履歴の解析を容易に行うことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る画像形成装置が接続されたネットワークシステムの概略構成を示す図である。
【図２】本発明の実施形態に係る画像形成装置の概ねのハードウェア構成を示すブロック図である。
【図３】本発明の実施形態に係る画像形成装置の概ねのソフトウェア構成を示すブロック図である。
【図４】ＣＩＦＳプロトコルを使用してファイルを開く場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図５】ＣＩＦＳプロトコルを使用してファイルの読み出しを行う場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図６】ＣＩＦＳプロトコルを使用して編集中のファイルの保存を行う場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図７】ＣＩＦＳプロトコルを使用してクライアントからサーバ内のファイルを同じサーバ内の別のパスへコピーする場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図８】本発明の実施形態に係る画像形成装置で実行される履歴管理方法のフローチャートである。
【図９】本発明の実施形態に係る画像形成装置のネットワークファイルサーバが管理する履歴テーブルの構成例を示す図である。
【図１０】本発明の実施形態に係る画像形成装置のネットワークファイルサーバが管理する履歴テーブルの別の構成例を示す図である。
【図１１】本発明の実施形態に係る画像形成装置のネットワークファイルサーバが管理する履歴テーブルの更に別の構成例を示す図である。
【図１２】図８に示すフローチャートにおけるステップＳ８１５の処理の詳細を示すフローチャートである。
【図１３】図１２のフローチャートの続きのフローチャートである。
【図１４】本発明の実施形態に係る画像形成装置がファイルの操作ログ一覧を画像形成装置自身のユーザインタフェース上に表示した形態（表示画面）の一例である。
【図１５】図１４中の「検索／フィルタ」ボタンが押下された場合の表示画面の一例である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、添付図面を参照しながら詳細に説明する。
【００１７】
＜ネットワークシステムの概略構成＞
図１は、本発明の実施形態に係る画像形成装置が接続されたネットワークシステムの概略構成を示す図である。このネットワークシステムは、画像形成装置１０１とコンピュータ（ＰＣ）１０２，１０３とがネットワーク１０４を介して接続され、相互にデータの送受信（通信）が可能な構成を有している。
【００１８】
＜画像形成装置１０１のハードウェア構成＞
図２は、画像形成装置１０１の概ねのハードウェア構成を示すブロック図である。画像形成装置１０１は、ＣＰＵ２０１、ＲＡＭ２０２、印刷制御部２０３、読取制御部２０４、ＨＤＤ２０５、ＮＩＣ２０６、ＵＳＢ２０７、ＲＯＭ２０８を備える。画像形成装置１０１では、主に、ＣＰＵ２０１が印刷制御部２０３や読取制御部２０４を制御することによって、所謂、コピーや印刷等の機能が実現される。これらの機能を実現し、制御するためのプログラムは、ＲＯＭ２０８やＨＤＤ２０５に格納されており、画像形成装置１０１が起動時にＲＡＭ２０２に読み込まれ、ＣＰＵ２０１により実行される。
【００１９】
ＮＩＣ２０６は、ネットワーク１０４を介してネットワークパケットの送受信を行う。ＵＳＢ２０７は、画像形成装置１０１の外部に存在する不揮発メモリカードやＨＤＤ等のＵＳＢインタフェースを持つ外部記憶装置（外部データ格納領域）と接続される。ＨＤＤ２０５は、画像データや文書データ等のファイルを格納するパーティションと、履歴保存領域としてファイル操作に関する履歴を保持するためのパーティションとを有している。画像形成装置１０１においてスキャン処理等の画像データ作成処理によって作成され、又は、ネットワーク１０４を介して受信した画像データや文書ファイルは、ＨＤＤ２０５やＵＳＢ２０７に接続された外部データ格納領域にファイルとして格納される。
【００２０】
＜画像形成装置１０１のソフトウェア構成＞
図３は、画像形成装置１０１の概ねのソフトウェア構成を示すブロック図である。各ブロックの機能は全て、ＣＰＵ２０１が所定のプログラムを実行することにより実現される。ＯＳ３０１は、画像形成装置１０１の各種プロセス、タスクを管理し、各タスクに対して実行と制御を行うと共に、ＴＣＰ／ＩＰプロトコルスタック３０２（以下「ＴＣＰ／ＩＰ３０２」と記す）を保持する。
【００２１】
ＴＣＰ／ＩＰ３０２は、画像形成装置１０１のネットワーク通信制御、具体的には、画像形成装置１０１がネットワーク１０４を介して相手先（例えばＰＣ１０２）へ要求パケットを送信し、相手からパケットを受信するネットワークパケットの管理、制御を行う。
【００２２】
ネットワークファイルサーバ３０３は、ネットワーク１０４を介して相手先からファイルを操作するための要求（以下「ファイル操作要求」と記す）を受信した場合にネットワークプロトコルに関連した処理を行う。また、ネットワークファイルサーバ３０３は、画像形成装置１０１自身からのネットワークループバック通信を使用した要求に対しても、同様の処理を行う。なお、ネットワークプロトコルとして一般に多く利用されているものとしては、ＣＩＦＳが挙げられる。また、相手先からのファイル操作要求の内容としては、主に、ファイルの書き込み、読み出し、コピー、移動、名前変更、削除、属性取得等が挙げられる。ネットワークファイルサーバ３０３は、ファイル操作に関する履歴を保持するための履歴保持手段としての機能を有する。ハードウェアの観点からは、ファイル操作に関する履歴は、ＨＤＤ２０５に設けられた履歴保存領域としてのパーティションに保持される。
【００２３】
ファイル制御３０４は、ネットワークファイルサーバ３０３においてプロトコル処理が行われた後、個々のファイル操作要求に対してファイルシステム３０５へファイルＩ／Ｏを要求する。つまり、ファイル制御３０４は、ネットワーク処理を行っているネットワークファイルサーバ３０３とファイルシステム３０５の間に介在して、ファイル制御を行う。また、ファイル制御３０４は、ＵＳＢ２０７に対して外部から接続されているＨＤＤや不揮発メモリカード等のデバイスに対しても、個別にファイル制御を行う。ファイルシステム３０５は、画像形成装置１０１内のＨＤＤ２０５に対して、ファイルＩ／Ｏ、セクタ、ブロック制御等、ファイルとその格納領域の管理と制御を行っている。
【００２４】
アプリケーション３０６は、ファイルやディレクトリの各種情報を表示するユーザインタフェースの制御や画像形成装置１０１がＳＣＡＮした画像データの処理、制御等を担う。ネットワークファイルクライアント３０７は、アプリケーション３０６で処理されたデータの制御や命令をファイル制御プロトコルとしてネットワーク１０４を介して相手先に要求するために、ネットワークパケットを生成し、送信する。
【００２５】
画像形成装置１０１では、ネットワークファイルサーバ３０３が、相手先からネットワーク１０４を介して送信されたファイル操作要求をＴＣＰ／ＩＰ３０２を通じて受信し、解析する。そして、ネットワークファイルサーバ３０３は、ファイル制御３０４を介して、解析したファイル操作要求をファイルシステム３０５に命令する。ファイルシステム３０５による処理結果は、ネットワークファイルサーバ３０３からＴＣＰ／ＩＰ３０２を通じて相手先へ送信される。
【００２６】
画像形成装置１０１では、スキャン等のイメージング処理により生成した画像データをＨＤＤ２０５又は外部データ格納領域に格納する命令が、アプリケーション３０６からファイル制御３０４を介してファイルシステム３０５に出される。
【００２７】
アプリケーション３０６のユーザインタフェースからのファイル操作要求先がＨＤＤ２０５に格納されているファイルの場合、アプリケーション３０６は、ファイル制御３０４を介してファイルシステム３０５へ要求されたファイル操作を命令する。
【００２８】
アプリケーション３０６のユーザインタフェースからのファイル操作要求先がネットワーク１０４を介した相手先に格納されているファイルの場合、ネットワークファイルクライアント３０７からＴＣＰ／ＩＰ３０２を通じて相手先へファイル操作要求がなされる。
【００２９】
＜クライアントとサーバの間で行われる従来のシーケンス＞
図１のネットワークシステムにおいて行われるファイル操作等に関する処理フローについて説明する前に、クライアントとサーバとが接続されたネットワークシステムにおける一般的なファイル操作等に関する処理フローについて、例を挙げて説明する。
【００３０】
［クライアントとサーバの間で行われるシーケンスの第１の例］
図４は、ネットワークを介したファイルアクセスで一般に使用されるＣＩＦＳプロトコルを使用してファイルを開く（ファイルオープン）場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。
【００３１】
最初にステップＳ４０１では、クライアント−サーバ間では、ＣＩＦＳプロトコルを使用して通信を行う場合のネゴシエート（Negotiate）が行われる。また、通信セッションの確立（Session Setup）、ツリー接続（Tree Connect）等も行われる。ＣＩＦＳのネゴシエート処理では、通信コマンドのバージョンの情報等をクライアント−サーバ間で予め確認しておき、それ以降その情報に基づいて通信を行う。セッションの確立やツリー接続では、クライアント−サーバ間のドメイン及びホスト情報の交換、クライアント側のユーザを特定するためのユーザＩＤ（ＵＩＤ；User ID）とパスワード情報及びアクセス先共有ディレクトリのパスをやり取りが行われる。
【００３２】
クライアントは、ユーザＩＤをサーバへ送信し、必要に応じて暗号化されたパスワード情報をサーバへ送信する。サーバは、受信したユーザＩＤとパスワードを検査して、ＣＩＦＳセッションを確立できるか否かを判断する。ＣＩＦＳセッションが確立可能である場合、サーバは、クライアントに対してユーザＩＤを割り当てると共に、クライアントから要求されているアクセス先共有ディレクトリのパスに対してツリーＩＤ（ＴＩＤ；Tree ID）を割り当てる。サーバが、ユーザＩＤやツリーＩＤ等の情報をクライアントに送信することによって、ＣＩＦＳセッション確立やツリー接続が完了する。その後、クライアントがアクセス先共有ディレクトリの属性情報やディレクトリ内のファイル／ディレクトリのリスト情報、それらの個々の属性情報をサーバに取得するよう要求し、サーバがこれらの情報を応答として送信する。
【００３３】
次に、ステップＳ４０２において、クライアントはサーバ間でやり取りした情報を使用して、サーバ側のアクセス先ファイルのオープン要求を行う。そして、ステップＳ４０３において、サーバはクライアントからのオープン要求を解析し、可能であればアクセス先ファイルを開く。オープン結果が正常の場合、サーバは開いたファイルのポインタにファイルＩＤ（ＦＩＤ；File ID）を割り当て、オープン処理の結果と共にファイルＩＤをクライアントへ送信する。その後、サーバはファイルＩＤを管理する。これ以降、クライアントからそのファイルＩＤに対するファイル操作要求があると、サーバはファイルＩＤに該当するファイルポインタを使用して、実際のファイルに対する処理を行う。
【００３４】
ステップＳ４０１で行うネゴシエートやセッション確立、ツリー接続、属性／リスト取得は、クライアントがサーバにＣＩＦＳ通信を行うために又は開くファイルへのパス情報を取得するために必要である。しかし、ステップＳ４０１の処理は、アクセス先ファイルのオープン要求ではない。したがって、図４のシーケンスの全履歴を取得し、管理した場合においてサーバに多数のファイルやディレクトリが存在する場合、クライアントとサーバ間のシーケンスが膨大になり、同時に保存する履歴も膨大となる。よって、画像形成装置１０１の組み込みシステムのような限られた履歴格納領域しか確保できないネットワークシステムには、図４のコマンドシーケンスをそのまま適用することは適切ではない。
【００３５】
［クライアントとサーバの間で行われるシーケンスの第２の例］
図５は、ネットワークを介したファイルアクセスで一般に使用されるＣＩＦＳプロトコルを使用してファイルの読み出し（Ｒｅａｄ）を行う場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。
【００３６】
ステップＳ５０１において、クライアントサーバに対して操作対象のファイルを開くオープン要求を行う。サーバはこの要求を受信して解析し、実際のファイルを開く。サーバは、ファイルを正常に開くことができた場合、そのファイルのファイルポインタにファイルＩＤを割り当て、クライアントへオープン結果とファイルＩＤを送信する。
【００３７】
続くステップＳ５０２において、クライアントは該当するファイルのファイル属性の取得要求をサーバに対して行う。ここで、ファイル属性とは、ファイルの作成日時や更新日時、最終アクセス日時等の日時情報、圧縮データ、隠し属性、読み取り専用設定、一時ファイル等の各種情報を指す。このようにサーバは、受信した要求を解析し、該当するファイルに対して個々のファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【００３８】
次に、ステップＳ５０３において、クライアントは、受信したファイルＩＤを用いてサーバに対してファイルの読み出し要求を行う。その際、クライアントは、ファイルＩＤに該当するファイルにおける先頭データからのオフセット値とそのオフセット値から取得するデータサイズを指定する。サーバはクライアントからの要求を受信、解析して、ファイルＩＤに該当するファイルにおける、クライアントから指定されたオフセット値から指定されたサイズ分のデータを読み出し、クライアントへ送信する。クライアントとサーバは、ステップＳ５０３の処理をオフセット値とサイズを変更しながら複数回繰り返す。これにより最終的に、ファイルＩＤに該当するファイルの全データがクライアントに読み出される。
【００３９】
ステップＳ５０４において、クライアントは、ファイルＩＤを用いてサーバに対してファイルを閉じるためのファイルクローズ要求を行う。サーバはクライアントからの要求を受信、解析して、ファイルＩＤに該当するファイルをクローズし、その結果をクライアントへ送信する。
【００４０】
図５のコマンドシーケンスでは、ファイルＩＤに該当するファイルのトータルデータサイズが大きい程、クライアント−サーバ間のコマンドシーケンスが増加する。よって、このコマンドシーケンスの全てを履歴として取得、管理した場合、同時に保存する履歴も膨大となる。よって、画像形成装置１０１の組み込みシステムのような限られた履歴格納領域しか確保できないネットワークシステムには、図５のコマンドシーケンスをそのまま適用することは適切ではない。
【００４１】
また、図５のコマンドシーケンスでは、ファイルの読み出しや書き込み等の履歴をユーザインタフェース等に出力する際、ステップＳ５０１〜Ｓ５０４の間にクライアントによる複数の読み出し要求を１つの読み出し処理として出力する手法が一般的に用いられる。しかしながら、ＰＣ等からＣＩＦＳプロトコルを使用してファイルを操作する場合、クライアントのユーザによる読み出し要求以外の目的（例えば、ファイルの閲覧、取得等）のために、クライアントのアプリケーションが読み出し要求を行うことがある。具体的には、ファイル内の特定のオフセットに存在するデータ部分の読み出し、ファイルの存在確認等が挙げられる。よって、前述の出力手法では、読み出し処理に対してユーザがファイル操作を行っていないにもかかわらず、読み出し履歴が出力されてしまうことになる。
【００４２】
［クライアントとサーバの間で行われるシーケンスの第３の例］
図６は、ネットワークを介したファイルアクセスで一般に使用されるＣＩＦＳプロトコルを使用して編集中のファイルを保存する場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。この例では、ユーザがファイル（/share/Folder/12345.doc）を編集し、保存するとする。この場合、ユーザからはファイルに対して編集を行っているように見えるが、実際に編集しているファイルは一時ファイルである。
【００４３】
最初に、ステップＳ６０１において、クライアントはサーバに対して一時書き込みファイル（/share/Folder/D0F80A02.tmp）を開くオープン要求を行う。サーバはこの要求を受信、解析し、実際のファイルを開く。サーバは、ファイルを正常に開くことができた場合、開いたファイルのファイルポインタにファイルＩＤを割り当て、クライアントへオープン結果とファイルＩＤを送信する。
【００４４】
続くステップＳ６０２において、クライアントはファイルＩＤを使用して、サーバに対してファイル書き込み（Ｗｒｉｔｅ）要求を行う。その際、クライアントは、ファイルＩＤに該当するファイルにおける先頭データからのオフセットとそのオフセットから書込むデータサイズを指定する。サーバはクライアントからの要求を受信、解析して、ファイルＩＤに該当するファイルに対してクライアントから指定されたオフセットから指定されたサイズ分のデータを書き込み、クライアントへ送信する。クライアントとサーバは、ステップＳ６０２をオフセットとサイズを変更しながら複数回繰り返し、最終的にファイルＩＤに該当するファイルの全データが書き込まれる。
【００４５】
次に、ステップＳ６０３において、クライアントは、ファイルＩＤを用いてサーバに対してファイルを閉じるクローズ要求を行う。サーバはクライアントからの要求を受信、解析して、指定されたファイルＩＤに該当するファイルをクローズし、その結果をクライアントへ送信する。続くステップＳ６０４では、クライアントはステップＳ６０１で開いたファイルとは異なる一時ファイル（バックアップファイル：/share/Folder/6AC74E1B.tmp）のファイル属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【００４６】
更にステップＳ６０５において、クライアントはサーバに対して編集中のファイル（/share/Folder/12345.doc）のファイル属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【００４７】
その後、ステップＳ６０６において、クライアントは編集中のファイル（/share/Folder/12345.doc）について、ファイル名をステップＳ６０４でファイル属性の取得要求を行ったファイル名への変更要求を行う。サーバは、クライアントからの要求を受信、解析して、編集中のファイル名を変更し、その結果をクライアントへ送信する。そして、ステップＳ６０７において、クライアントは一時書き込みファイル（/share/Folder/D0F80A02.tmp）のファイル名を編集中のファイル名（/share/Folder/12345.doc）へ変更する要求を行う。サーバは、ファイル名の変更結果をクライアントに返す。
【００４８】
図６のコマンドシーケンスでは、サーバは、クライアントからの要求を受信、解析して一時書き込みファイル（/share/Folder/D0F80A02.tmp）の名前を変更し、その結果をクライアントへ送信する。一方、クライアントは、２つの一時ファイルを使用することによって、サーバに対して編集前のファイルをバックアップすると共に、編集後のファイルを保存することを可能にしている。一般に、一時ファイルへの書き込み処理は、ユーザ側からは認識できず、ユーザが使用しているドキュメントアプリケーション側で行っている。
【００４９】
そのため、画像形成装置１０１が上述の処理を全て履歴として取得、管理するとした場合、一時ファイルの総データサイズが大きくなるにしたがって、クライアントとサーバ間のシーケンスが増加する。これによって、図４のコマンドシーケンスと同様に、保存する履歴も膨大となる。これは、画像形成装置１０１の組み込みシステムのような限られた履歴格納領域しか確保できないネットワークシステムにとっては、大きな問題となる。
【００５０】
また、ファイルの書き込みに関する履歴をユーザインタフェース等に出力する場合、ステップＳ６０１〜Ｓ６０３の間にクライアントが要求する複数の書き込み要求を１つの書き込み処理として出力する手法が一般に行われる。しかし、ＰＣ等からＣＩＦＳプロトコルを使用してファイルを操作する場合、一般に、クライアントのユーザによる書き込み要求以外の目的（例えば、ファイル編集、保存）のために、クライアントのアプリケーションが書き込み要求を行うことがある。具体的には、ファイル内の特定のオフセットに存在するデータ対する部分書き込み等が挙げられる。
【００５１】
更に、ステップＳ６０２における書き込みは、ユーザが編集しようとしているファイル（/share/Folder/12345.doc）へは書き込み処理を行わず、実際は一時ファイル（/share/Folder/D0F80A02.tmp）へ書込んでいる。よって、画像形成装置１０１がこの履歴をユーザインタフェースに出力してもユーザはこの履歴について認識することができず、ユーザが行ったファイル操作履歴を認識するという本来の履歴管理の目的が失われてしまう。このような事情から、図６のコマンドシーケンスをそのまま図１のネットワークシステムに適用することは適切ではない。
【００５２】
［クライアントとサーバの間で行われるシーケンスの第４の例］
図７は、ネットワークを介したファイルアクセスで一般に使用されるＣＩＦＳプロトコルを使用してクライアントからサーバ内のファイルを同じサーバ内の別のパスへコピーする場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。
【００５３】
ステップＳ７０１において、クライアントは、サーバに対してコピー元となるファイルを開くオープン要求を行う。サーバはこの要求を受信、解析し、実際のファイルを開く。サーバは、ファイルを正常に開くことができた場合、開いたファイルのファイルポインタにファイルＩＤを割り当て、クライアントへオープン結果とファイルＩＤを送信する。続くステップＳ７０２において、クライアントはサーバに対して、コピー元のファイルの属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【００５４】
次いで、ステップＳ７０３にて、クライアントは、サーバへコピー先となるファイルパスを開くためのオープン要求を行う。サーバはこの要求を受信、解析し、実際のファイルを開く。サーバは、開くファイルが存在しない場合は、ファイルの新規作成を行い、作成したファイルを開く。サーバは、新規作成したファイルを開いた場合又は正常にファイルを開くことができた場合、開いたファイルのファイルポインタにファイルＩＤを割り当て、クライアントへオープン結果とファイルＩＤを送信する。
【００５５】
続いて、ステップＳ７０４において、クライアントはサーバに対してコピー先のファイルの属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。その後、ステップＳ７０５において、クライアントはサーバに対してステップＳ７０１で取得したファイルＩＤを用いてファイルデータの読み出し（Ｒｅａｄ）要求を行う。その際、クライアントは、ファイルＩＤに該当するファイルにおける先頭データからのオフセットとそのオフセットから取得するデータサイズを指定する。サーバは、クライアントからの要求を受信、解析して、ファイルＩＤに該当するファイルから指定されたオフセットから指定されたサイズ分のデータを読み出し，クライアントへ送信する。クライアントとサーバはステップＳ７０５の処理をオフセットとサイズとを変更しながら複数回繰り返し、最終的にファイルＩＤに該当するコピー元のファイルの全データが読み出される。
【００５６】
次に、ステップＳ７０６にて、クライアントはサーバに対して、ステップＳ７０３で取得したファイルＩＤを使用してファイル書き込み（Ｗｒｉｔｅ）要求を行う。その際、クライアントは、ファイルＩＤに該当するファイルにおける先頭データからのオフセットとそのオフセットから書き込むデータサイズを指定する。サーバはクライアントからの要求を受信、解析して、ファイルＩＤに該当するファイルに対してクライアントから指定されたオフセットから指定されたサイズ分のデータを書き込み、クライアントへ送信する。クライアントとサーバはステップＳ７０６をオフセットとサイズを変更しながら複数回繰り返し、最終的にファイルＩＤに該当するコピー先ファイルの全データが書き込まれる。
【００５７】
ステップＳ７０７にて、クライアントはステップＳ７０３で取得したファイルＩＤを用いてサーバへファイルを閉じるクローズ要求を行う。サーバはクライアントからの要求を受信、解析して、ファイルＩＤに該当するファイルを閉じて、その結果をクライアントへ送信する。
【００５８】
図７のコマンドシーケンスでは、クライアントは、サーバ上に存在するファイルを同じサーバ上の別のパスにコピーするため、コピー元のファイルデータを一旦読み出し、読み出したデータをサーバ上のコピー先のパスに対して書き込む処理を行っている。ＣＩＦＳプロトコルの仕様にはＣＯＰＹ要求も存在しているが、ＣＯＰＹ要求を使用せずに、図７のコマンドシーケンスを用いてファイルコピーを実現することが可能である。
【００５９】
しかしながら、画像形成装置１０１で図７のコマンドシーケンスによる上述の処理の全履歴の取得、管理を行うとした場合、以下のような問題が生じる。すなわち、クライアントは、コピー元ファイルをクライアント自身へ一旦読み出した後、そのデータをサーバのコピー先に書き込む処理を行っているため、履歴上はコピーではなく、読み出しと書き込み（Ｒｅａｄ＆Ｗｒｉｔｅ）となってしまう。一般的にＰＣを使用するユーザにとって、自身の行ったファイル操作としてファイルコピーを行ったにもかかわらず、履歴が読み出しと書き込みという形で出力されてしまうことは、履歴を管理する上で混乱を生じさせることとなる。
【００６０】
また、図７のコマンドシーケンスによる方法で履歴を管理した場合、後日、セキュリティ上の何らかの問題が発生した場合に、履歴からファイル操作ログを調査することが困難になってしまう。このような事情から、図７のコマンドシーケンスをそのまま図１のネットワークシステムに適用することは適切ではない。
【００６１】
＜履歴管理方法＞
次に、図４〜７のＣＩＦＳプロトコルを用いた例について上記の通りに指摘した問題を解決した履歴管理方法を、図１に示したネットワークシステムに適用して説明する。図８は、本実施形態に係る履歴管理方法のフローチャートである。ここでは、画像形成装置１０１とＰＣ１０２（又はＰＣ１０３）がそれぞれ、図４〜７で説明したサーバとクライアントに対応する。
【００６２】
画像形成装置１０１のネットワークファイルサーバ３０３は、クライアントであるＰＣ１０２からＴＣＰ／ＩＰ３０２を経由して、ファイルアクセス要求を受信する（ステップＳ８０１）。ネットワークファイルサーバ３０３は、操作要求の対象となっているアクセス先を受信データから解析し、ファイル制御３０４を経由してファイルシステム３０５に対して該当するアクセス先が存在するパスか否かを判定する（ステップＳ８０２）。
【００６３】
アクセス先が存在しない場合（Ｓ８０２で“ＮＯ”）、ネットワークファイルサーバ３０３は、ファイル操作履歴を取得せず、処理を終了させる。なお、この場合には不図示であるが、ネットワークファイルサーバ３０３は同時にＰＣ１０２からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、ＰＣ１０２へ送信する。アクセス先が存在する場合（Ｓ８０２で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、アクセス先のパスがファイルか否かを判定する（ステップＳ８０３）。
【００６４】
アクセス先がファイル以外（例えば、ディレクトリ等）の場合（Ｓ８０３で“ＮＯ”）、ネットワークファイルサーバ３０３は、ファイル操作履歴を取得せず、処理を終了させる。なお、この場合には不図示であるが、ネットワークファイルサーバ３０３は同時にＰＣ１０２からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、ＰＣ１０２へ送信する。
【００６５】
アクセス先がファイルの場合（Ｓ８０３で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、処理をステップＳ８０４へ進める。ステップＳ８０４では、ネットワークファイルサーバ３０３は、自身の中で管理している履歴テーブルから送信元アドレス（つまり、ＰＣ１０２のアドレス）、ユーザＩＤ、プロセスＩＤ（ＰＩＤ；Process ID）が同一の履歴が存在するか否かを判定する。なお、履歴テーブルは、ハードウェアの観点からは、ＨＤＤ２０５に設けられた履歴保存領域としてのパーティションに保持されている。プロセスＩＤは、操作要求に係るファイル操作（読み出し、書き込み等）毎に割り当てられている。
【００６６】
同一の履歴が存在しない場合（Ｓ８０４で“ＮＯ”）、ネットワークファイルサーバ３０３は、ＰＣ１０２からの操作要求の種別（以下「要求コマンド種別」という）を判定する（ステップＳ８０６）。要求コマンド種別がファイル操作関連要求である場合（Ｓ８０６で“ＹＥＳ”）、処理はステップＳ８０８へ進められる。但し、ステップＳ８０６におけるファイル操作関連要求とは、読み出し（Ｒｅａｄ）、書き込み（Ｗｒｉｔｅ）、削除（Ｄｅｌｅｔｅ）、名前変更（Ｒｅｎａｍｅ）、移動（Ｍｏｖｅ）、コピー（複写；Ｃｏｐｙ）である。
【００６７】
なお、ＣＩＦＳプロトコルの仕様として、ＰＣ１０２がファイルオープン要求時にファイル削除フラグを立てることで、ネットワークファイルサーバ３０３は、ＰＣ１０２からファイルクローズ要求を受信すると、対象ファイルを削除する。このファイル操作はファイル操作関連要求の削除要求に含まれる。したがって、ネットワークファイルサーバ３０３は、ファイルオープン要求受信時にファイル削除フラグを検査し、削除要求か否かを判定する。
【００６８】
ファイル操作関連要求でない場合（Ｓ８０６で“ＮＯ”）、ネットワークファイルサーバ３０３は、ファイル操作履歴を取得せず、処理を終了させる。この場合には不図示であるが、ネットワークファイルサーバ３０３は、ＰＣ１０２からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、ＰＣ１０２へ送信する。
【００６９】
ステップＳ８０４において同一の履歴が存在する場合（Ｓ８０４で“ＹＥＳ”）、ネットワークファイルサーバ３０３は以前にＰＣ１０２からファイル操作関連要求を受信していることになり、また、後述する履歴取得タイマが動作中である。したがって、ネットワークファイルサーバ３０３は、履歴テーブル上の該当する履歴に関連付けられた履歴取得タイマを停止させて初期化し（ステップＳ８０５）、その後、処理をステップＳ８０７に進める。ステップＳ８０７では、ネットワークファイルサーバ３０３は、ステップＳ８０６の処理と同様に、ＰＣ１０２からの要求コマンド種別を検査する。要求コマンド種別が読み出し、書き込み、削除、名前変更、移動、コピーのいずれかである場合（Ｓ８０７で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、処理をステップＳ８０８に進める。
【００７０】
ステップＳ８０８では、ネットワークファイルサーバ３０３は、送信元アドレス、ユーザＩＤ、プロセスＩＤ毎の履歴テーブルにアクセスパス、ツリーＩＤ、要求コマンド種別、アクセス日時をＰＣ１０２からの要求順、つまり時系列で登録し、蓄積する。その後、ネットワークファイルサーバ３０３は、要求コマンド種別が読み出し又は書き込みであるか否かを判定する（ステップＳ８１０）。
【００７１】
要求コマンド種別が読み出し又は書き込みである場合（Ｓ８１０で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、ＰＣ１０２からの受信データからデータサイズとオフセット値を取得し、履歴テーブルに登録する（ステップＳ８１２）。その後、ネットワークファイルサーバ３０３は、処理をステップＳ８１４へ進める。要求コマンド種別が読み出しでも書き込みでもない場合（Ｓ８１０で“ＮＯ”）、ネットワークファイルサーバ３０３は、要求コマンド種別が名前変更、移動、コピーのいずれかであるか否かを判定する（ステップＳ８１１）。
【００７２】
要求コマンド種別が名前変更、移動、コピーのいずれかである場合（Ｓ８１１で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、処理をステップＳ８１３に進める。ステップＳ８１３では、ネットワークファイルサーバ３０３は、履歴テーブルに該当する要求コマンド種別先のパス（名前変更先パス又は移動先パス又はコピー先パス）を登録し、その後、処理をステップＳ８１４に進める。要求コマンド種別が名前変更でも移動でもコピーでもない場合（Ｓ８１１で“ＮＯ”）、ネットワークファイルサーバ３０３は、処理をステップＳ８１４に進める。
【００７３】
ステップＳ８１４では、ネットワークファイルサーバ３０３は、送信元アドレス、ユーザＩＤ、プロセスＩＤが同一である履歴に対して履歴取得タイマを関連付け、履歴取得タイマを起動する。これによって、ネットワークファイルサーバ３０３は、履歴取得タイマに設定された一定時間が経過するまで、ＰＣ１０２から次の履歴保存対象となるファイル操作関連要求を待つ。ネットワークファイルサーバ３０３は、ＰＣ１０２から次の要求を受信する前に履歴取得タイマがタイムアウトした場合、本処理を終了させる。本処理の終了は、ネットワークファイルサーバ３０３が、ＰＣ１０２からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、ＰＣ１０２へ送信することにより行われる。
【００７４】
ステップＳ８０７において、要求コマンド種別が読み出し、書き込み、削除、名前変更、移動、コピーのいずれでもない場合（Ｓ８０７で“ＮＯ”）ネットワークファイルサーバ３０３は、処理をステップＳ８０９へ進める。ステップＳ８０９では、ネットワークファイルサーバ３０３は、要求コマンド種別がログオフ（Ｌｏｇｏｆｆ）、ツリー（Ｔｒｅｅ）切断、セッション切断のいずれかであるか否かを判定する。すなわち、要求コマンド種別が、ファイル操作を終了させるためのコマンドであるか判定する。
【００７５】
要求コマンド種別がログオフ、ツリー切断、セッション切断のいずれでもない場合（Ｓ８０９で“ＮＯ”）、ネットワークファイルサーバ３０３は、本処理を終了させる。このとき、ネットワークファイルサーバ３０３は、ＰＣ１０２からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、ＰＣ１０２へ送信する。要求コマンド種別がログオフ、ツリー切断、セッション切断のいずれかである場合（Ｓ８０９で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、一連のファイル操作が終了したと判断し、保存履歴の解析のために処理をステップＳ８１５へ進める。
【００７６】
さて、ステップＳ８１４にて起動した履歴取得タイマがタイムアウトするということは、ネットワークファイルサーバ３０３が一定時間の間にＰＣ１０２から次のファイル操作関連要求を受信しなかったことを意味する。そこで、この場合には、ネットワークファイルサーバ３０３は、上述の通りに本処理を終了させると共に、一連のファイル操作が終了したとみなして、保存履歴の解析処理を開始する。
【００７７】
履歴取得タイマは、画像形成装置１０１内の設定項目として変更することができる。ステップＳ８１５では、ネットワークファイルサーバ３０３は、該当する履歴テーブル内の履歴パターンを解析する。その解析結果に基づいて、ネットワークファイルサーバ３０３は、ＰＣ１０２のユーザが行ったファイル操作を推測し、得られたファイル操作ログを自身が管理しているログ出力テーブルに登録する。このステップＳ８１５の内容については、後に詳細に説明する。
【００７８】
続いて、ネットワークファイルサーバ３０３は、ログ出力テーブル内のファイル操作ログをローカルやリモート経由でユーザインタフェース上に表示し、ログファイルとして出力し、またはログ管理サーバ（図１には不図示）に送信する（ステップＳ８１６）。その後、ネットワークファイルサーバ３０３は処理を終了させる。
【００７９】
＜履歴テーブルの第１の例＞
図９は、画像形成装置１０１のネットワークファイルサーバ３０３が管理する履歴テーブルの構成例を示す図である。履歴テーブル９０１は、クライアントであるＰＣ１０２（又はＰＣ１０３）が、ファイルの読み出し要求を行った場合に、図８のフローにおいてネットワークファイルサーバ３０３が登録し、生成した履歴テーブルの例である。
【００８０】
同一のファイルに対する読み出し要求を履歴テーブル９０１から特定する場合、ネットワークファイルサーバ３０３は、ＰＣ１０２（又はＰＣ１０３）が行った読み出し要求であり、ファイルパスが同一の履歴を解析する。この履歴解析には、３つの着目点が存在する。
【００８１】
１番目は、履歴テーブル内に読み出し要求の履歴が少なくとも１つ以上存在することである。２番目は、ＰＣ１０２（又はＰＣ１０３）が行った読み出し要求の対象ファイルに対して、全データを読み出していることであり、ファイル内の一部オフセットのみの読み出しは、ユーザによるファイルの読み出しとして扱わないことである。３番目は、ＰＣ１０２（又はＰＣ１０３）が行った個々の読み出し要求から次の読み出し要求までの時間間隔が短いことであり、これによって同一のファイルに対するユーザからの複数回の読み出し要求を区別可能なことである。なお、３番目の着目点における時間間隔は、画像形成装置１０１上で設定することができ、画像形成装置１０１を使用するネットワーク環境を考えた場合、０．２秒より短いことが好ましい。
【００８２】
これらの３つの着目点に関する条件は、送信元ＩＰアドレスが同じであり、且つ、ユーザＩＤとプロセスＩＤが同じという条件下で、ネットワークファイルサーバ３０３が検査する。これら３つの着目点を全て満たす履歴が存在する場合、ネットワークファイルサーバ３０３は、その履歴をＰＣ１０２（又はＰＣ１０３）からのファイルの読み出し要求として纏める。なお、履歴テーブル９０１では、ＰＣ１０２（又はＰＣ１０３）からの読み出し要求について説明したが、上述の３つの着眼点は、ＰＣ１０２（又はＰＣ１０３）からの書き込み要求についても、同様の内容で適用することができる。
【００８３】
＜履歴テーブルの第２の例＞
図１０は、画像形成装置１０１のネットワークファイルサーバ３０３が管理する履歴テーブルの別の構成例を示す図である。履歴テーブル１００１は、履歴テーブル９０１とは異なる履歴一覧を示している。履歴テーブル１００１は、画像形成装置１０１内の異なるパスへのファイルコピーについて、図８のフローにおいてネットワークファイルサーバ３０３が登録、生成した履歴テーブルの例である。
【００８４】
この場合、ネットワークファイルサーバ３０３は、クライアントであるＰＣ１０２（又はＰＣ１０３）が行った読み出し要求であり、ツリーＩＤ、ファイルＩＤ及びファイルパスが同一の履歴を解析する。また、ネットワークファイルサーバ３０３は、ＰＣ１０２（又はＰＣ１０３）が行った書き込み要求であり、ツリーＩＤ、ファイルＩＤ及びファイルパスが同一の履歴を解析する。この履歴解析には、６つの着目点が存在する。
【００８５】
１番目は、履歴テーブル１００１内に読み出し要求と書き込み要求の履歴が少なくとも１つ以上存在することである。２番目は、ＰＣ１０２（又はＰＣ１０３）が行った読み出し要求の対象ファイルに対して、全データを読み出していることであり、ファイル内の一部オフセットのみの読み出しは、ユーザによるファイルの読み出しとして扱わないことである。３番目は、ＰＣ１０２（又はＰＣ１０３）が行った個々の書き込み要求のサイズとオフセット値から、書込まれたファイルのサイズが、読み出したファイルのサイズと一致していることである。
【００８６】
４番目は、ＰＣ１０２（又はＰＣ１０３）が行った個々の読み出し要求から次の読み出し要求までの時間間隔が短いことである。これにより、ネットワークファイルサーバ３０３は、ユーザからの画像形成装置１０１内の異なるパスに対するファイルコピーとユーザからの通常のファイル読み出し要求とを区別することができる。５番目は、ＰＣ１０２（又はＰＣ１０３）が行った個々の書き込み要求から次の書き込み要求までの時間間隔が短いことである。これにより、ネットワークファイルサーバ３０３は、ユーザからの画像形成装置１０１内の異なるパスに対するファイルコピーとユーザからの通常のファイル書き込み要求とを区別することができる。６番目は、ＰＣ１０２（又はＰＣ１０３）が行った個々の読み出し要求から次の書き込み要求までの時間間隔が短いことである。
【００８７】
これら４番目、５番目及び６番目の着目点における時間間隔は、画像形成装置１０１上で設定することができ、画像形成装置１０１を使用するネットワーク環境を考えた場合、０．２秒より短いことが好ましい。なお、これら６つの着目点に関する条件は、送信元のＩＰアドレスが同じであり、且つ、ユーザＩＤとプロセスＩＤが同じという条件下において、ネットワークファイルサーバ３０３が検査する。また、これら６つの着目点を全て満たす履歴が存在する場合、ネットワークファイルサーバ３０３は、それらの履歴をネットワークファイルサーバ３０３内における異なるパスへのファイルコピーとして纏める。
【００８８】
＜履歴テーブルの第３の例＞
図１１は、画像形成装置１０１のネットワークファイルサーバ３０３が管理する履歴テーブルの更に別の構成例を示す図である。履歴テーブル１１０１は、図９の履歴テーブル９０１及び図１０の履歴テーブル１００１と異なる履歴一覧を示している。履歴テーブル１１０１は、クライアントであるＰＣ１０２（又はＰＣ１０３）が編集ファイルの保存時にバックアップを目的として画像形成装置１０１内に作成した一時ファイルに対する操作について、ネットワークファイルサーバ３０３が生成した一例である。
【００８９】
履歴テーブル１１０１には、ＰＣ１０２（又はＰＣ１０３）のユーザがファイル（/user/2741/abcde.doc）を編集し、保存した場合の履歴が示されている。この場合、ユーザからはファイル（abcde.doc）に対して編集を行っているように見える。しかし、実際に編集しているファイルは、一時ファイル（/user/2741/~$bcde.tmp）である。
【００９０】
編集ファイルの保存時における一時ファイルへの操作を履歴テーブル１１０１から特定する場合、ネットワークファイルサーバ３０３は、ＰＣ１０２（又はＰＣ１０３）が行った書き込み要求であり、ファイルパスが同一の履歴を解析する。また、ネットワークファイルサーバ３０３は、ＰＣ１０２（又はＰＣ１０３）が名前変更又は移動又はコピーの要求を行ったファイルパスを解析する。この履歴解析には、９つの着目点が存在する。
【００９１】
１番目は、履歴テーブル１１０１内に書き込み要求の履歴が少なくとも１つ以上存在することである。２番目は、ＰＣ１０２（又はＰＣ１０３）が行った書き込み要求の対象ファイルに対して、全データを書き込んでいることである。全データを書き込んだか否かは、ＰＣ１０２（又はＰＣ１０３）がネットワークファイルサーバ３０３に対して書き込み要求前に行うファイルサイズ通知（ＥＯＦ設定通知）によって確認することができる。３番目は、履歴テーブル１１０１内に名前変更又は移動又はコピーの要求の履歴が少なくとも２つ以上存在することである。
【００９２】
４番目は、ＰＣ１０２（又はＰＣ１０３）が行った書き込み要求、名前変更もしくは移動もしくはコピーの要求が全て同じツリーＩＤであることである。５番目は、ＰＣ１０２（又はＰＣ１０３）が行った書き込み要求のファイルパスと、ＰＣ１０２（又はＰＣ１０３）が行った名前変更又は移動又はコピーの要求の要求元ファイルパスが同じであることである。６番目は、ＰＣ１０２（又はＰＣ１０３）が行った名前変更又は移動又はコピーの要求の要求元パスと、その履歴より後にＰＣ１０２（又はＰＣ１０３）が行った別の名前変更又は移動又はコピーの要求の要求先パスが同じであることである。
【００９３】
７番目は、ＰＣ１０２（又はＰＣ１０３）が行った個々の書き込み要求から次の書き込み要求までの時間間隔が短いことであり、これによって同一ファイルに対するユーザからの複数回の書き込み要求を区別することができる。８番目は、ＰＣ１０２（又はＰＣ１０３）が行った最後の書き込み要求から次の名前変更又は移動又はコピーの要求までの時間間隔が短いことである。９番目は、上述の３番目の内容について、ＰＣ１０２（又はＰＣ１０３）が行った複数の名前変更又は移動又はコピーの要求間の時間間隔が短いことである。これら８番目と９番目の特徴によって、ＰＣ１０２（又はＰＣ１０３）からの編集ファイル保存時における一時ファイルへの操作と、ユーザからのファイル名変更やファイル移動、ファイルコピー要求とを区別することができる。これら７番目、８番目及び９番目の時間間隔は、画像形成装置１０１上で設定することができ、画像形成装置１０１を使用するネットワーク環境を考えると、０．２秒より短いことが好ましい。
【００９４】
なお、これら９つの着目点に関する条件は、送信元のＩＰアドレスが同じであり、且つ、ユーザＩＤとプロセスＩＤが同じという条件下において、ネットワークファイルサーバ３０３が検査する。これら９つの着目点を全て満たす履歴が存在する場合、ネットワークファイルサーバ３０３は、履歴テーブルからそれらの履歴を編集ファイルの保存時における一時ファイルに対する操作として纏める。その際にネットワークファイルサーバ３０３は、上述の６番目の着目点の内容で一致したファイルパスに対して、ユーザからのファイル保存として履歴を纏める。
【００９５】
＜ステップＳ８１５の処理の詳細＞
図１２及び図１３は、図８に示すフローチャートにおけるステップＳ８１５の処理の詳細を示すフローチャートであり、上記の通りに説明した図９、図１０、図１１の内容を踏まえた処理内容を示している。
【００９６】
先ず、ネットワークファイルサーバ３０３は、履歴テーブル上に解析を完了していない履歴が残されているか否かを判定する（ステップＳ１２０１）。解析が未完了の履歴がない場合（Ｓ１２０１で“ＮＯ”）、解析処理を終了する。解析の必要がある履歴が残っている場合（Ｓ１２０１で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、その履歴が読み出し要求に係るものか否かを判定する（ステップＳ１２０２）。
【００９７】
読み出し要求ではない場合（Ｓ１２０２で“ＮＯ”）、ネットワークファイルサーバ３０３は、後述するステップＳ１２１６に処理を進める。読み出し要求である場合（Ｓ１２０２で“ＹＥＳ”）、解析が完了していない他の履歴であって書き込み要求の履歴が存在するか否かを判定する（ステップＳ１２０３）。
【００９８】
書き込み要求の履歴が存在しない場合（Ｓ１２０３で“ＮＯ”）、ネットワークファイルサーバ３０３は、後述するステップＳ１２１２に処理を進める。書き込み要求の履歴が存在する場合（Ｓ１２０３で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、履歴テーブル内の全ての読み出し要求履歴から、ツリーＩＤ、ファイルパス及びファイルＩＤが一致するものを抽出する（ステップＳ１２０４）。ステップＳ１２０４ではまた、ネットワークファイルサーバ３０３は、抽出した読み出し要求履歴について、履歴毎のアクセス日時から読み出し要求履歴と次の読み出し要求履歴との時間間隔を検査する。そして、時間間隔が予め定められた設定値の範囲内である読み出し要求履歴のみを、抽出した読み出し要求履歴から抽出して、テーブル（以下「テーブルＡ」という）に格納する。テーブルＡは、ＨＤＤ２０５に設けられた履歴保存領域としてのパーティションに保持され、後述するテーブルＢ〜Ｇについても同様である。
【００９９】
続いて、ネットワークファイルサーバ３０３は、テーブルＡ内の全ての読み出し要求履歴のオフセットとサイズに基づいて、クライアントであるＰＣ１０２が対象ファイルの全データを読み出したか否かを検査する（ステップＳ１２０５）。対象ファイルの全データが読み出されていない場合（Ｓ１２０５で“ＮＯ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２１２へ進める。
【０１００】
対象ファイルの全データが読み出されている場合（Ｓ１２０５で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、履歴テーブル内の全ての書き込み履歴から、ツリーＩＤ、ファイルパス及びファイルＩＤが一致するものを抽出する（ステップＳ１２０６）。ステップＳ１２０６ではまた、ネットワークファイルサーバ３０３は、抽出した書き込み要求履歴に対して、履歴毎のアクセス日時から書き込み要求履歴と次の書き込み要求履歴との時間間隔を検査する。その検査結果に基づいて、ネットワークファイルサーバ３０３は、時間間隔が設定値の範囲内である書き込み要求履歴のみを、抽出した書き込み要求履歴から抽出して、テーブル（以下「テーブルＢ」という）に格納する。
【０１０１】
次に、ネットワークファイルサーバ３０３は、テーブルＢの中に書き込み履歴が存在するか否かを検査する（ステップＳ１２０７）。書き込み履歴が存在しない場合（Ｓ１２０７で“ＮＯ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２１２へ進める。書き込み履歴が存在する場合（Ｓ１２０７で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、テーブルＡとテーブルＢとを合わせた履歴を時系列順に並べ、履歴毎のアクセス日時から個々の履歴と履歴との時間間隔を検査する（ステップＳ１２０８）。また、ステップＳ１２０８では、ネットワークファイルサーバ３０３は、時間間隔が設定値の範囲内である全ての履歴を抽出して、テーブル（以下「テーブルＣ」という）に格納する。
【０１０２】
その後、ネットワークファイルサーバ３０３は、テーブルＣの読み出し要求におけるデータサイズとオフセット値から、ＰＣ１０２が読み出し要求に係る対象ファイルの全データを読み出したか否かを検査する（ステップＳ１２０９）。対象ファイルの全データが読み出されていない場合（Ｓ１２０９で“ＮＯ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２１２へ進める。対象ファイルの全データが読み出されている場合（Ｓ１２０９で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、ステップＳ１２１０へ処理を進める。ステップＳ１２１０では、ネットワークファイルサーバ３０３は、テーブルＣの読み取りサイズとオフセット及び書き込みサイズとオフセットから、ＰＣ１０２が読み出したファイルサイズと書き込んだファイルサイズとが一致しているか否かを検査する。
【０１０３】
ファイルサイズが一致していない場合（Ｓ１２１０で“ＮＯ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２１２へ進める。ファイルサイズが一致している場合（Ｓ１２１０で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、テーブルＣの履歴と同じ履歴テーブル上の履歴に対して、コピー履歴としてまとめ、ログ出力対象とする（ステップＳ１２１１）。ステップＳ１２１１の後、ネットワークファイルサーバ３０３は、処理をステップＳ１２０１へ戻す。なお、ステップＳ１２１１においてログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【０１０４】
ステップＳ１２１２では、ネットワークファイルサーバ３０３は、履歴テーブル内の全ての読み出し要求履歴から、ファイルパスが一致するものを抽出する。また、ネットワークファイルサーバ３０３は、抽出した読み出し要求履歴に対して、履歴毎のアクセス日時から読み出し要求履歴と次の読み出し要求履歴との時間間隔を検査する。更に、ネットワークファイルサーバ３０３は、時間間隔が設定値の範囲内である読み出し要求履歴のみを、抽出した読み出し要求履歴から抽出して、テーブル（以下「テーブルＤ」という）に格納する。
【０１０５】
その後、ネットワークファイルサーバ３０３は、テーブルＤの読み出し要求におけるデータサイズとオフセット値とから、ＰＣ１０２が読み出し要求の対象ファイルの全データを読み出したか否かを検査する（ステップＳ１２１３）。対象ファイルの全データが読み出されていない場合（Ｓ１２１３で“ＮＯ”）、ネットワークファイルサーバ３０３は、後述するステップＳ１２１５へ処理を進める。対象ファイルの全データが読み出されている場合（Ｓ１２１３で“ＮＯ”）、ネットワークファイルサーバ３０３は、テーブルＤと同じ履歴テーブルの履歴を読み取り履歴としてまとめ、ログ出力対象とする（ステップＳ１２１４）。その後、ネットワークファイルサーバ３０３は、処理をステップＳ１２０１へ戻す。なお、ステップＳ１２１４でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【０１０６】
ステップＳ１２１５では、ネットワークファイルサーバ３０３は、履歴テーブル上の履歴であってテーブルＤの履歴と同じ履歴をログ出力対象外とし、処理をステップＳ１２０１へ戻す。なお、ステップＳ１２１５でログ出力対象外となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【０１０７】
さて、ステップＳ１２０２において解析対象の履歴が読み出し要求ではない場合（Ｓ１２０２で“ＮＯ”）、ネットワークファイルサーバ３０３は、解析対象の履歴が書き込み要求か否かを検査する（ステップＳ１２１６）。解析対象の履歴が書き込み要求ではない場合（Ｓ１２１６で“ＮＯ”）、ネットワークファイルサーバ３０３は、解析対象の履歴をログ出力対象とする（ステップＳ１２１７）。その後、ネットワークファイルサーバ３０３は、処理をステップＳ１２０１へ戻す。なお、ステップＳ１２１７でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【０１０８】
解析対象の履歴が書き込み要求の場合（Ｓ１２１６で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２１９へ進める。ステップＳ１２１９では、ネットワークファイルサーバ３０３は、履歴テーブル内の全ての書き込み要求履歴からファイルパスが一致するものを抽出する。また、ネットワークファイルサーバ３０３は、抽出した書き込み要求履歴に対して、履歴毎のアクセス日時から書き込み要求履歴と次の書き込み要求履歴との時間間隔を検査する。更に、ネットワークファイルサーバ３０３は、時間間隔が設定値の範囲内である書き込み要求履歴のみを、抽出した書き込み要求履歴から抽出して、テーブル（以下「テーブルＥ」という）に格納する。
【０１０９】
ステップＳ１２１９の後、ネットワークファイルサーバ３０３は、テーブルＥ内の全ての書き込み要求履歴のオフセットとサイズとに基づいて、ＰＣ１０２が対象ファイルの全データを書き込んだか否かを検査する（ステップＳ１２２０）。全データが書き込まれた否かは、ＰＣ１０２がネットワークファイルサーバ３０３に対して書き込み要求前に行うファイルサイズ通知（ＥＯＦ設定通知）によって確認することができる。
【０１１０】
対象ファイルの全データが書き込まれていない場合（Ｓ１２２０で“ＮＯ”）、ネットワークファイルサーバ３０３は、先に説明したステップＳ１２１５へ処理を進める。この場合、ステップＳ１２１５にて、ネットワークファイルサーバ３０３は、履歴テーブル上の履歴であってテーブルＥの履歴と同じ履歴をログ出力対象外とし、その後、処理をステップＳ１２０１へ戻す。なお、ステップＳ１２２０からステップＳ１２１５へ進んだ場合も、ステップＳ１２１５でログ出力対象外となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【０１１１】
対象ファイルの全データが書き込まれている場合（Ｓ１２２０で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２２１へ進める。ステップＳ１２２１では、ネットワークファイルサーバ３０３は、書き込み要求と同一のツリーＩＤを使用している名前変更、移動、コピーのいずれかの要求履歴が履歴テーブル内に複数存在するか否かを検査する。ここで、複数存在することを確認するのは、編集ファイルの保存時における一時ファイルへの操作を行うためには、一般に、コピー、移動、名前変更のいずれかを複数回行う必要があるためである。
【０１１２】
名前変更、移動、コピーのいずれかの要求履歴が複数存在しない場合（Ｓ１２２１で“ＮＯ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２１８へ進める。ステップＳ１２１８では、ネットワークファイルサーバ３０３は、履歴テーブル上の履歴であってテーブルＥの履歴と同じ履歴を書き込み要求履歴として纏め、ログ出力対象とし、その後、処理をステップＳ１２０１へ戻す。なお、ステップＳ１２１８でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【０１１３】
ステップＳ１２２１において、名前変更、移動、コピーのいずれかの要求履歴が複数存在する場合（Ｓ１２２１で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２２２に進める。
【０１１４】
ステップＳ１２２２では、ネットワークファイルサーバ３０３は、先ず、書き込み要求と同一のツリーＩＤを使用している名前変更、移動、コピー、削除の要求履歴の全てを抽出する。ネットワークファイルサーバ３０３はまた、抽出した全ての履歴に対して履歴毎のアクセス日時から履歴と次の履歴との時間間隔を検査する。ネットワークファイルサーバ３０３は更に、抽出した履歴から時間間隔が設定値の範囲内である履歴のみを抽出して、テーブル（以下「テーブルＦ」という）に格納する。
【０１１５】
その後、ネットワークファイルサーバ３０３は、テーブルＦに名前変更、移動、コピーのいずれかの要求履歴が複数存在するか否かを検査する（ステップＳ１２２３）。複数存在することを確認するのは、編集ファイルの保存時における一時ファイルへの操作を行うためには、一般に、コピー、移動、名前変更のいずれかを複数回行う必要があるためである。名前変更、移動、コピーのいずれかの要求履歴が複数存在しない場合（Ｓ１２２３で“ＮＯ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２１８へ進める。名前変更、移動、コピーのいずれかの要求履歴が複数存在する場合（Ｓ１２２３で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２２４へ進める。
【０１１６】
ステップＳ１２２４では、ネットワークファイルサーバ３０３は、テーブルＥとテーブルＦとを合わせた履歴を時系列順に並べ、履歴毎のアクセス日時から個々の履歴と履歴との時間間隔を検査する。そして、ネットワークファイルサーバ３０３は、時間間隔が設定値の範囲内である履歴の全てを抽出して、テーブル（以下「テーブルＧ」という）に格納する。
【０１１７】
ステップＳ１２２４の後、ネットワークファイルサーバ３０３は、テーブルＧ内に、書き込み要求履歴のファイルパスと同じパスが名前変更、移動、コピーのいずれかの要求履歴の処理元ファイルパスに存在するか否かをチェックする（ステップＳ１２２５）。ファイルパスが存在しない場合（Ｓ１２２５で“ＮＯ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２１８へ進める。ファイルパスが存在する場合（Ｓ１２２５で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２２６へ進める。
【０１１８】
ステップＳ１２２６では、ネットワークファイルサーバ３０３は、テーブルＧに名前変更、移動、コピーの履歴の処理元パスと同じパスが別の名前変更、移動、コピーの履歴の処理先パスに存在するか否かを検査する（ステップＳ１２２６）。パスが存在しない場合（Ｓ１２２６で“ＮＯ”）、ネットワークファイルサーバ３０３は、処理をステップＳ１２１８に進める。パスが存在する場合（Ｓ１２２６で“ＹＥＳ”）、ネットワークファイルサーバ３０３は、履歴テーブル上の履歴であってテーブルＧの履歴と同じ履歴を一時ファイル操作履歴としてまとめ、ログ出力対象とする（ステップＳ１２２７）。ステップＳ１２２７の後、ネットワークファイルサーバ３０３は、処理をステップＳ１２０１に戻す。なお、ステップＳ１２２７でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理とならない。以上のことから、ファイル操作に関する履歴を効率よく纏めることによって画像形成装置１０１内で管理できる限られた履歴保存領域を有効に活用することができる。
【０１１９】
＜履歴のユーザインタフェースへの表示＞
画像形成装置１０１において処理した履歴をユーザインタフェースに表示する形態について以下に説明する。図１４は、画像形成装置１０１がファイルの操作ログ一覧を画像形成装置１０１自身のユーザインタフェース上に表示した形態の一例である。すなわち、ファイル操作ログ画面１３０１には、画像形成装置１０１が図８と図１２，１３を参照して説明したフローチャートに従ってネットワークファイルサーバ３０３が処理し、纏めたログ出力対象となった履歴が表示されている。なお、画像形成装置１０１のアプリケーション３０６がファイル操作ログ画面１３０１の表示処理を担う。
【０１２０】
ファイル操作ログ画面１３０１における表示項目は、ここでは、操作日時と操作を行った要求元の情報、操作ユーザ名、操作対象となったファイルのパス、ユーザが行った操作種別及びファイル操作先情報となっている。操作日時について、画像形成装置１０１は、ユーザがファイル操作を行った日時を表示するが、図８及び図１２，１３のフローによって履歴が纏められた場合には、このフローによって処理した最後の履歴における日時を表示する。要求元について、画像形成装置１０１は、主に画像形成装置１０１への要求を行った機器（例えば、ＰＣ１０２）のＩＰアドレスや画像形成装置１０１自身を表示する。
【０１２１】
ユーザ名について、画像形成装置１０１は、画像形成装置１０１内の設定が認証を要求する設定になっている場合に、ログインしたユーザ名を表示する。認証設定になっている場合は、ゲスト（Ｇｕｅｓｔ）、コモン（Ｃｏｍｍｏｎ）等の共通ユーザ名を表示する。操作対象について、画像形成装置１０１は、主に文書ファイルや画像ファイル、テキストファイル等を表示するが、一般的なファイルサーバと同じく、どのようなファイルでも形式を問わず、表示する。なお、画像形成装置１０１では、画像形成装置１０１内の設定によって、印刷可能ファイル、文書ファイル等、扱えるファイルの種別を変更することもできる。
【０１２２】
操作種別について、画像形成装置１０１は、ユーザが操作対象のファイルに対して行った操作の種別を表示する。画像形成装置１０１は、読み出し、書き込み、移動（名前変更）、コピー、削除のいずれかを表示する。操作先について、画像形成装置１０１は、操作種別が移動（名前変更）とコピーの場合に、移動（名前変更）先、コピー先を表示する。移動（名前変更）及びコピーとは、ここでは、画像形成装置１０１内での移動（名前変更）、コピーを意味する。ユーザがファイルを画像形成装置１０１外へ移動（名前変更）させ、又はコピーした場合、操作種別は読み出しとして扱われる。また、画像形成装置１０１のＵＳＢ２０７に接続されたデバイス（メモリやＨＤＤ等）へファイルをコピーする場合、画像形成装置１０１は、操作先をＵＳＢと表示する。
【０１２３】
ファイル操作ログ画面１３０１は、ユーザによる各種の項目選択を可能にするために、所謂、タッチパネル機能を備えているか、または、画像形成装置１０１が有する不図示の操作ボタンにより項目選択が可能となっている。
【０１２４】
ファイル操作ログ画面１３０１は選択欄を備えており、ログを閲覧しているユーザが個々の履歴に対して選択欄をチェックし、「ファイル出力」ボタンを押下すると、選択した個々のログを画像形成装置内のＨＤＤ２０５に格納することができるようになっている。これにより、ネットワーク上の機器を操作するユーザが、ログファイルを取得したり、画像形成装置１０１がリモートの履歴管理サーバに通知したりすることが可能になる。
【０１２５】
また、ファイル操作ログ画面１３０１は、ログを閲覧しているユーザが個々の履歴に対して選択欄をチェックして「削除」ボタンを押下すると、選択した個々のログを削除することができるようになっている。これにより、ユーザは、例えば、セキュリティに直接に影響が出ないログを個別に削除することができるため、画像形成装置１０１内の履歴保存領域を有効に活用することができる。更に、ファイル操作ログ画面１３０１は、ユーザが「全てのログ選択」ボタンを押下すると選択欄を一括選択することができ、複数のログを一括してファイル出力したり、削除したりすることができるようになっている。
【０１２６】
ファイル操作ログ画面１３０１は、ログが多く、一画面内では表示できない場合にユーザが「前ページ」ボタンと「次ページ」ボタンを押下することによって、所望するログを表示させることができるようになっている。また、ファイル操作ログ画面１３０１は、ユーザが選択欄、操作日時、要求元、ユーザ名、操作対象、操作種別、操作先の中から所望の項目を押下することによって、ログデータを昇順又は降順にソート表示させることができるようになっている。ファイル操作ログ画面１３０１は、ユーザが「検索／フィルタ」ボタンを押下すると全てのログデータの中から特定の条件に合致するログのみを表示することができるようになっている。
【０１２７】
このように、ファイル操作ログ画面１３０１は、ユーザがアクセスしたファイルに関する操作履歴を分かりやすくユーザに表示させることができるように構成されている。また、ファイル操作ログ画面１３０１は、ユーザが履歴（ログ）の解析をファイル操作ログ画面１３０１の操作によって簡単に行うことができるように構成されている。
【０１２８】
なお、画像形成装置１０１内の履歴保存領域が豊富な場合には、図１２，１３のフローでネットワークファイルサーバ３０３が纏めた履歴を削除することなく、保存し、管理することができる。この場合、例えば、ユーザがファイル操作ログ画面１３０１の個々のログを選択して「詳細」を押下すると、図１２，１３のフローでネットワークファイルサーバ３０３が選択されたログについて纏めた履歴を時系列に表示する構成とする。
【０１２９】
図１５は、図１４中の「検索／フィルタ」ボタンが押下された場合の表示画面の一例であり、この検索／フィルタ画面１４０１は、ファイル操作ログ画面１３０１上にポップアップ表示される。画像形成装置１０１は、ユーザが検索／フィルタ画面１４０１で検索／フィルタ条件を設定し、実行することによって、ファイル操作ログから特定の条件に合致するログのみをフィルタして、ファイル操作ログ画面１３０１に表示させるように構成されている。こうして新たなファイル操作ログ画面１３０１が表示されるときには、検索／フィルタ画面１４０１は、画面から消える。
【０１３０】
検索／フィルタ画面１４０１では、検索／フィルタ条件として、操作日時、要求元、ユーザ名、操作対象、操作種別、操作先の各条件を設定することができる。操作日時の条件を設定して検索／フィルタを実行する場合、ユーザは、ログ検索開始日時からログ検索終了日時を設定し、開始ボタンを押下すればよい。これにより、画像形成装置１０１は、指定された日時の範囲内の保存ログの全てをファイル操作ログ画面１３０１に表示する。
【０１３１】
要求元の条件を設定して検索／フィルタを実行する場合、ユーザは、ファイル操作を行ったホスト名やＩＰアドレス等、機器の情報を入力し、開始ボタンを押下すればよい。これにより、画像形成装置１０１は要求元に合致する保存ログの全てをファイル操作ログ画面１３０１に表示する。ここで、ユーザは要求元の情報の一部を入力することもできる。この場合、画像形成装置１０１は、入力された一部が合致する要求元に関する保存ログの全てをファイル操作ログ画面１３０１に表示する。また、ユーザが要求元の入力で「ＮＯＴ」を選択した場合、画像形成装置１０１は、入力された要求元以外に関する保存ログの全てをファイル操作ログ画面１３０１に表示する。
【０１３２】
ユーザ名の条件を設定して検索／フィルタを実行する場合、ユーザは、画像形成装置１０１に対して認証を行い、ファイル操作を行ったユーザ名を入力し、開始ボタンを押下すればよい。これにより、画像形成装置１０１は、入力されたユーザ名に合致する保存ログの全てをファイル操作ログ画面１３０１に表示する。ここで、ユーザはユーザ名の一部を入力することもできる。この場合、画像形成装置１０１は、入力されたユーザ名の一部が合致するユーザ名に関する保存ログの全てをファイル操作ログ画面１３０１に表示する。なお、認証していないユーザとして、前述したゲストやコモン等の共通ユーザでも検索可能となっている。
【０１３３】
操作対象の条件を設定して検索／フィルタを実行する場合、ユーザは、操作されたファイルのパスを入力し、開始ボタンを押下すればよい。これにより、画像形成装置１０１は、ファイルのパスに合致する保存ログの全てをファイル操作ログ画面１３０１に表示する。ここで、ファイルのパスの一部を入力することも可能である。この場合、画像形成装置１０１は、入力されたファイルのパスの一部が合致するパスに関する保存ログの全てをファイル操作ログ画面１３０１に表示する。
【０１３４】
操作種別の条件を設定して検索／フィルタを実行する場合、ユーザは、操作対象ファイルに対して行われた操作種別を選択入力し、開始ボタンを押下すればよい。これにより、画像形成装置１０１は、操作種別に合致する保存ログの全てをファイル操作ログ画面１３０１に表示する。操作種別には、読み出し、書き込み、コピー、移動、名前変更、削除のみの選択だけでなく、読み出し／書き込み、コピー／移動／名前変更等のように、複数の操作種別を選択することができるようになっている。ユーザが、複数の操作種別を選択した場合、画像形成装置１０１は、複数の操作種別のいずれかに合致する保存ログの全てをファイル操作ログ画面１３０１に表示する。
【０１３５】
操作先の条件を設定して検索／フィルタを実行する場合、ユーザはコピーや移動、名前変更等の操作先ファイルパスを入力し、開始ボタンを押下すればよい。これにより、画像形成装置１０１は、入力された操作先のパスに合致する保存ログの全てをファイル操作ログ画面１３０１に表示する。ここで、操作先のファイルパスの一部を入力することも可能である。この場合、画像形成装置１０１は、入力されたファイルパスの一部が合致するパスに関する保存ログの全てをファイル操作ログ画面１３０１に表示する。
【０１３６】
上述した検索／フィルタ条件は複合設定が可能である。したがって、ユーザが複数のフィルタ条件を検索対象として選択した場合、画像形成装置１０１は複数の検索／フィルタ条件に対してＡＮＤ条件検索を行い、条件に合致する保存ログの全てをファイル操作ログ画面１３０１に表示する。これにより、ユーザは、例えば、要求元にローカルを入力してＮＯＴ選択を行い、且つ、操作種別を読み出し／書き込みに指定した後、要求元と操作種別の複数フィルタ条件で検索を行うことができる。その結果、画像形成装置１０１は、画像形成装置１０１自身に保存されたファイルと画像形成装置１０１自身から外部に出たファイルをログとして一覧表示することができる。このようなログを管理し、表示することができる構成は、セキュリティ向上の面からも有用である。
【０１３７】
また、検索／フィルタ条件の複合設定により、画像形成装置１０１内から画像形成装置１０１外へのコピーと、画像形成装置１０１内のみでのコピーの履歴とを分けて管理することもできる。これによって、ユーザが画像形成装置１０１外へ持ち出したファイル操作の履歴を効率よく解析することができるようになる。
【０１３８】
＜その他の実施形態＞
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【０１３９】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１４０】
１０１    画像形成装置
１０２，１０３    ＰＣ
２０５    ＨＤＤ
２０６    ＮＩＣ
３０３    ネットワークファイルサーバ
９０１，１００１    履歴テーブル
１３０１    ファイル操作ログ画面
１４０１    検索／フィルタ画面
【図１】
0005713629.tif 000002
【図２】
0005713629.tif 000003
【図３】
0005713629.tif 000004
【図４】
0005713629.tif 000005
【図５】
0005713629.tif 000006
【図６】
0005713629.tif 000007
【図７】
0005713629.tif 000008
【図８】
0005713629.tif 000009
【図９】
0005713629.tif 000010
【図１０】
0005713629.tif 000011
【図１１】
0005713629.tif 000012
【図１２】
0005713629.tif 000013
【図１３】
0005713629.tif 000014
【図１４】
0005713629.tif 000015
【図１５】
0005713629.tif 000016