画像形成装置及び履歴管理方法
【課題】限られた履歴保存領域を有効活用し、履歴の解析を容易に行うことができる画像形成装置を提供する。
【解決手段】ネットワークに接続された画像形成装置で実行される履歴管理方法であって、操作要求を行った機器のアドレス、操作要求を行ったユーザのUID、操作要求に対して割り当てられるプロセスID毎に、少なくともアクセスパス、ツリーID、操作要求の種別及びアクセス日時を要求順に、一定時間、履歴として蓄積し(S808)、操作要求の種別に応じて、アクセス日時が予め定められた設定値の範囲内にあり、ツリーID、要求の対象となっているファイルのファイルパス、及び、ファイルをオープンする毎に割り当てられるファイルIDが一致する履歴を、S808で蓄積した履歴から抽出して纏める。
【解決手段】ネットワークに接続された画像形成装置で実行される履歴管理方法であって、操作要求を行った機器のアドレス、操作要求を行ったユーザのUID、操作要求に対して割り当てられるプロセスID毎に、少なくともアクセスパス、ツリーID、操作要求の種別及びアクセス日時を要求順に、一定時間、履歴として蓄積し(S808)、操作要求の種別に応じて、アクセス日時が予め定められた設定値の範囲内にあり、ツリーID、要求の対象となっているファイルのファイルパス、及び、ファイルをオープンする毎に割り当てられるファイルIDが一致する履歴を、S808で蓄積した履歴から抽出して纏める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに接続され、ネットワーク上の装置との間で画像データ等のファイルアクセスを管理する画像形成装置及び履歴管理方法に関する。
【背景技術】
【0002】
画像形成装置が接続されたネットワークシステムであって、ネットワーク上の装置(画像形成装置を含む)、画像データや文書データ等のファイルをこの画像形成装置の格納領域に格納、読み出し、コピー(複写)、削除等の処理を行うものが知られている。このようなネットワークシステムにおける画像形成装置は、一般的にファイルサーバと言われる装置と比較すると、ファイル管理サーバにもなり得、且つ、ファイル操作クライアントにもなり得るという違いがある。
【0003】
また、一般的に画像形成装置がユーザインタフェース画面を有していることを利用して、スキャン処理を行い、スキャン画像データをネットワーク上の他の装置の格納領域に転送したり、画像形成装置自身の格納領域に保存したりすることが可能となる。さらに、画像形成装置がネットワーク上の他の装置の格納領域又は画像形成装置自身の格納領域から画像データを読み出して、印刷することが可能となる。すなわち、画像形成装置は、一般的なファイルサーバやファイル操作クライアントとしての機能だけでなく、画像形成処理を利用した独自の機能を有している。
【0004】
更に、ネットワークに接続された画像形成装置では、セキュリティを確保するための一機能として、ユーザの操作履歴やネットワーク上の他の装置からのアクセス履歴の管理が行われている。画像形成装置自身を含むネットワーク上の装置間でのファイル操作に関する操作履歴やアクセス履歴の管理は重要であるが、ネットワーク上での操作履歴やアクセス履歴は、以前から一般的なファイルアクセス装置でも管理されている。
【0005】
ネットワーク上の装置間で扱われるファイルに関するアクセス履歴及び操作履歴の一般的な出力方法や管理方法として、ネットワーク上のリモート装置からのファイル操作要求に対して該当するネットワークパケットをそのまま保存する方法が知られている。また、ネットワークパケット内に含まれるファイル操作コマンドや操作ユーザ情報、操作日時等を保存、管理する方法もある。
【0006】
しかしながら、一般に画像形成装置はファイルサーバやPCとは異なり、ファイルの格納領域と併せて操作履歴やアクセス履歴の格納領域が十分用意されていないことが多い。そのため、従来の管理方法をネットワーク上の画像形成装置に適用した場合、管理する履歴量が限られてしまう。
【0007】
このような問題に対処するため、操作履歴やアクセス履歴のログサイズが膨大になる場合、同類の連続した要求(コマンド)については、これらを1つの履歴にまとめたり一部を間引いたりして、操作履歴やアクセス履歴を格納し、管理する工夫がなされている。また別の工夫として、ユーザが管理する履歴の種類を指定するようにし、画像形成装置は指定された種類の履歴のみを管理する方法が提案されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平06−187213号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した従来技術では、セキュリティ確保の観点から重要である履歴であっても、ユーザが指定していない場合及びユーザが指定操作を間違えた場合には、それを保存、管理することができないという問題がある。
【0010】
また、ネットワーク上で多く使用されているファイル操作プロトコルとして、CIFS(Common Internet ファイルシステム)があるが、このようなプロトコルを用いる場合に、以下のような問題が生じる。すなわち、CIFSでは、詳細なファイル操作を行うため、より低レベルのファイルI/O(ファイルのオープン、クローズの命令やTruncate要求等)命令を行う。こうして低レベルファイルI/Oを使用してファイルアクセスを行うと、1つのファイル操作のために複数種のコマンドを使用し、複雑なシーケンスで処理することになるため、全てのコマンドに対する履歴を限られた履歴保存領域で管理するのは困難である。また、同類のコマンドの間引き処理を行ったとしても、複数種のコマンドを複雑なシーケンスで扱うCIFSの場合、間引き処理の効果は薄くなる。
【0011】
仮に複数種のコマンドに関する履歴の全てを保存、管理した場合、管理者等のユーザが画像形成装置の履歴を後日確認することを想定すると、低レベルのファイルI/Oでの複雑な履歴を検査することになる。この履歴は、CIFSプロトコルに詳しいユーザでもその解析に多大な時間を要する、複雑なものである。したがって、セキュリティの面で問題が発生したときの検証のために履歴を管理するという元来の目的を達成することが困難である。
【0012】
本発明は、限られた履歴保存領域を有効活用し、履歴の解析を容易に行うことができる画像形成装置及び履歴管理方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明に係る画像形成装置は、ネットワークに接続されており、ファイルを記憶する記憶手段と、前記ネットワークに接続された機器との間でデータの送受信を行う通信手段と、前記記憶手段に記憶されているファイルに対する前記機器からの操作要求の履歴を保持する履歴保持手段と、を備える画像形成装置であって、前記履歴保持手段は、前記操作要求を行った前記機器のアドレス、前記操作要求を行ったユーザのユーザID、前記操作要求に対して割り当てられるプロセスID毎に、少なくともアクセスパス、ツリーID、前記操作要求の種別及びアクセス日時を要求順に、一定時間、履歴として蓄積し、前記一定時間が経過したとき又は前記要求を行った前記機器から前記要求を終了させるコマンドを受信したときに、前記蓄積した履歴を解析することを特徴とする。
【発明の効果】
【0014】
本発明に係る画像形成装置によれば、限られた履歴保存領域を有効活用することができ、また、ユーザがアクセスしたファイルに対する操作履歴を分かりやすくユーザに表示させることが可能となり、更に、履歴の解析を容易に行うことができる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施形態に係る画像形成装置が接続されたネットワークシステムの概略構成を示す図である。
【図2】本発明の実施形態に係る画像形成装置の概ねのハードウェア構成を示すブロック図である。
【図3】本発明の実施形態に係る画像形成装置の概ねのソフトウェア構成を示すブロック図である。
【図4】CIFSプロトコルを使用してファイルを開く場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図5】CIFSプロトコルを使用してファイルの読み出しを行う場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図6】CIFSプロトコルを使用して編集中のファイルの保存を行う場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図7】CIFSプロトコルを使用してクライアントからサーバ内のファイルを同じサーバ内の別のパスへコピーする場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図8】本発明の実施形態に係る画像形成装置で実行される履歴管理方法のフローチャートである。
【図9】本発明の実施形態に係る画像形成装置のネットワークファイルサーバが管理する履歴テーブルの構成例を示す図である。
【図10】本発明の実施形態に係る画像形成装置のネットワークファイルサーバが管理する履歴テーブルの別の構成例を示す図である。
【図11】本発明の実施形態に係る画像形成装置のネットワークファイルサーバが管理する履歴テーブルの更に別の構成例を示す図である。
【図12】図8に示すフローチャートにおけるステップS815の処理の詳細を示すフローチャートである。
【図13】図12のフローチャートの続きのフローチャートである。
【図14】本発明の実施形態に係る画像形成装置がファイルの操作ログ一覧を画像形成装置自身のユーザインタフェース上に表示した形態(表示画面)の一例である。
【図15】図14中の「検索/フィルタ」ボタンが押下された場合の表示画面の一例である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について、添付図面を参照しながら詳細に説明する。
【0017】
<ネットワークシステムの概略構成>
図1は、本発明の実施形態に係る画像形成装置が接続されたネットワークシステムの概略構成を示す図である。このネットワークシステムは、画像形成装置101とコンピュータ(PC)102,103とがネットワーク104を介して接続され、相互にデータの送受信(通信)が可能な構成を有している。
【0018】
<画像形成装置101のハードウェア構成>
図2は、画像形成装置101の概ねのハードウェア構成を示すブロック図である。画像形成装置101は、CPU201、RAM202、印刷制御部203、読取制御部204、HDD205、NIC206、USB207、ROM208を備える。画像形成装置101では、主に、CPU201が印刷制御部203や読取制御部204を制御することによって、所謂、コピーや印刷等の機能が実現される。これらの機能を実現し、制御するためのプログラムは、ROM208やHDD205に格納されており、画像形成装置101が起動時にRAM202に読み込まれ、CPU201により実行される。
【0019】
NIC206は、ネットワーク104を介してネットワークパケットの送受信を行う。USB207は、画像形成装置101の外部に存在する不揮発メモリカードやHDD等のUSBインタフェースを持つ外部記憶装置(外部データ格納領域)と接続される。HDD205は、画像データや文書データ等のファイルを格納するパーティションと、履歴保存領域としてファイル操作に関する履歴を保持するためのパーティションとを有している。画像形成装置101においてスキャン処理等の画像データ作成処理によって作成され、又は、ネットワーク104を介して受信した画像データや文書ファイルは、HDD205やUSB207に接続された外部データ格納領域にファイルとして格納される。
【0020】
<画像形成装置101のソフトウェア構成>
図3は、画像形成装置101の概ねのソフトウェア構成を示すブロック図である。各ブロックの機能は全て、CPU201が所定のプログラムを実行することにより実現される。OS301は、画像形成装置101の各種プロセス、タスクを管理し、各タスクに対して実行と制御を行うと共に、TCP/IPプロトコルスタック302(以下「TCP/IP302」と記す)を保持する。
【0021】
TCP/IP302は、画像形成装置101のネットワーク通信制御、具体的には、画像形成装置101がネットワーク104を介して相手先(例えばPC102)へ要求パケットを送信し、相手からパケットを受信するネットワークパケットの管理、制御を行う。
【0022】
ネットワークファイルサーバ303は、ネットワーク104を介して相手先からファイルを操作するための要求(以下「ファイル操作要求」と記す)を受信した場合にネットワークプロトコルに関連した処理を行う。また、ネットワークファイルサーバ303は、画像形成装置101自身からのネットワークループバック通信を使用した要求に対しても、同様の処理を行う。なお、ネットワークプロトコルとして一般に多く利用されているものとしては、CIFSが挙げられる。また、相手先からのファイル操作要求の内容としては、主に、ファイルの書き込み、読み出し、コピー、移動、名前変更、削除、属性取得等が挙げられる。ネットワークファイルサーバ303は、ファイル操作に関する履歴を保持するための履歴保持手段としての機能を有する。ハードウェアの観点からは、ファイル操作に関する履歴は、HDD205に設けられた履歴保存領域としてのパーティションに保持される。
【0023】
ファイル制御304は、ネットワークファイルサーバ303においてプロトコル処理が行われた後、個々のファイル操作要求に対してファイルシステム305へファイルI/Oを要求する。つまり、ファイル制御304は、ネットワーク処理を行っているネットワークファイルサーバ303とファイルシステム305の間に介在して、ファイル制御を行う。また、ファイル制御304は、USB207に対して外部から接続されているHDDや不揮発メモリカード等のデバイスに対しても、個別にファイル制御を行う。ファイルシステム305は、画像形成装置101内のHDD205に対して、ファイルI/O、セクタ、ブロック制御等、ファイルとその格納領域の管理と制御を行っている。
【0024】
アプリケーション306は、ファイルやディレクトリの各種情報を表示するユーザインタフェースの制御や画像形成装置101がSCANした画像データの処理、制御等を担う。ネットワークファイルクライアント307は、アプリケーション306で処理されたデータの制御や命令をファイル制御プロトコルとしてネットワーク104を介して相手先に要求するために、ネットワークパケットを生成し、送信する。
【0025】
画像形成装置101では、ネットワークファイルサーバ303が、相手先からネットワーク104を介して送信されたファイル操作要求をTCP/IP302を通じて受信し、解析する。そして、ネットワークファイルサーバ303は、ファイル制御304を介して、解析したファイル操作要求をファイルシステム305に命令する。ファイルシステム305による処理結果は、ネットワークファイルサーバ303からTCP/IP302を通じて相手先へ送信される。
【0026】
画像形成装置101では、スキャン等のイメージング処理により生成した画像データをHDD205又は外部データ格納領域に格納する命令が、アプリケーション306からファイル制御304を介してファイルシステム305に出される。
【0027】
アプリケーション306のユーザインタフェースからのファイル操作要求先がHDD205に格納されているファイルの場合、アプリケーション306は、ファイル制御304を介してファイルシステム305へ要求されたファイル操作を命令する。
【0028】
アプリケーション306のユーザインタフェースからのファイル操作要求先がネットワーク104を介した相手先に格納されているファイルの場合、ネットワークファイルクライアント307からTCP/IP302を通じて相手先へファイル操作要求がなされる。
【0029】
<クライアントとサーバの間で行われる従来のシーケンス>
図1のネットワークシステムにおいて行われるファイル操作等に関する処理フローについて説明する前に、クライアントとサーバとが接続されたネットワークシステムにおける一般的なファイル操作等に関する処理フローについて、例を挙げて説明する。
【0030】
[クライアントとサーバの間で行われるシーケンスの第1の例]
図4は、ネットワークを介したファイルアクセスで一般に使用されるCIFSプロトコルを使用してファイルを開く(ファイルオープン)場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。
【0031】
最初にステップS401では、クライアント−サーバ間では、CIFSプロトコルを使用して通信を行う場合のネゴシエート(Negotiate)が行われる。また、通信セッションの確立(Session Setup)、ツリー接続(Tree Connect)等も行われる。CIFSのネゴシエート処理では、通信コマンドのバージョンの情報等をクライアント−サーバ間で予め確認しておき、それ以降その情報に基づいて通信を行う。セッションの確立やツリー接続では、クライアント−サーバ間のドメイン及びホスト情報の交換、クライアント側のユーザを特定するためのユーザID(UID;User ID)とパスワード情報及びアクセス先共有ディレクトリのパスをやり取りが行われる。
【0032】
クライアントは、ユーザIDをサーバへ送信し、必要に応じて暗号化されたパスワード情報をサーバへ送信する。サーバは、受信したユーザIDとパスワードを検査して、CIFSセッションを確立できるか否かを判断する。CIFSセッションが確立可能である場合、サーバは、クライアントに対してユーザIDを割り当てると共に、クライアントから要求されているアクセス先共有ディレクトリのパスに対してツリーID(TID;Tree ID)を割り当てる。サーバが、ユーザIDやツリーID等の情報をクライアントに送信することによって、CIFSセッション確立やツリー接続が完了する。その後、クライアントがアクセス先共有ディレクトリの属性情報やディレクトリ内のファイル/ディレクトリのリスト情報、それらの個々の属性情報をサーバに取得するよう要求し、サーバがこれらの情報を応答として送信する。
【0033】
次に、ステップS402において、クライアントはサーバ間でやり取りした情報を使用して、サーバ側のアクセス先ファイルのオープン要求を行う。そして、ステップS403において、サーバはクライアントからのオープン要求を解析し、可能であればアクセス先ファイルを開く。オープン結果が正常の場合、サーバは開いたファイルのポインタにファイルID(FID;File ID)を割り当て、オープン処理の結果と共にファイルIDをクライアントへ送信する。その後、サーバはファイルIDを管理する。これ以降、クライアントからそのファイルIDに対するファイル操作要求があると、サーバはファイルIDに該当するファイルポインタを使用して、実際のファイルに対する処理を行う。
【0034】
ステップS401で行うネゴシエートやセッション確立、ツリー接続、属性/リスト取得は、クライアントがサーバにCIFS通信を行うために又は開くファイルへのパス情報を取得するために必要である。しかし、ステップS401の処理は、アクセス先ファイルのオープン要求ではない。したがって、図4のシーケンスの全履歴を取得し、管理した場合においてサーバに多数のファイルやディレクトリが存在する場合、クライアントとサーバ間のシーケンスが膨大になり、同時に保存する履歴も膨大となる。よって、画像形成装置101の組み込みシステムのような限られた履歴格納領域しか確保できないネットワークシステムには、図4のコマンドシーケンスをそのまま適用することは適切ではない。
【0035】
[クライアントとサーバの間で行われるシーケンスの第2の例]
図5は、ネットワークを介したファイルアクセスで一般に使用されるCIFSプロトコルを使用してファイルの読み出し(Read)を行う場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。
【0036】
ステップS501において、クライアントサーバに対して操作対象のファイルを開くオープン要求を行う。サーバはこの要求を受信して解析し、実際のファイルを開く。サーバは、ファイルを正常に開くことができた場合、そのファイルのファイルポインタにファイルIDを割り当て、クライアントへオープン結果とファイルIDを送信する。
【0037】
続くステップS502において、クライアントは該当するファイルのファイル属性の取得要求をサーバに対して行う。ここで、ファイル属性とは、ファイルの作成日時や更新日時、最終アクセス日時等の日時情報、圧縮データ、隠し属性、読み取り専用設定、一時ファイル等の各種情報を指す。このようにサーバは、受信した要求を解析し、該当するファイルに対して個々のファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【0038】
次に、ステップS503において、クライアントは、受信したファイルIDを用いてサーバに対してファイルの読み出し要求を行う。その際、クライアントは、ファイルIDに該当するファイルにおける先頭データからのオフセット値とそのオフセット値から取得するデータサイズを指定する。サーバはクライアントからの要求を受信、解析して、ファイルIDに該当するファイルにおける、クライアントから指定されたオフセット値から指定されたサイズ分のデータを読み出し、クライアントへ送信する。クライアントとサーバは、ステップS503の処理をオフセット値とサイズを変更しながら複数回繰り返す。これにより最終的に、ファイルIDに該当するファイルの全データがクライアントに読み出される。
【0039】
ステップS504において、クライアントは、ファイルIDを用いてサーバに対してファイルを閉じるためのファイルクローズ要求を行う。サーバはクライアントからの要求を受信、解析して、ファイルIDに該当するファイルをクローズし、その結果をクライアントへ送信する。
【0040】
図5のコマンドシーケンスでは、ファイルIDに該当するファイルのトータルデータサイズが大きい程、クライアント−サーバ間のコマンドシーケンスが増加する。よって、このコマンドシーケンスの全てを履歴として取得、管理した場合、同時に保存する履歴も膨大となる。よって、画像形成装置101の組み込みシステムのような限られた履歴格納領域しか確保できないネットワークシステムには、図5のコマンドシーケンスをそのまま適用することは適切ではない。
【0041】
また、図5のコマンドシーケンスでは、ファイルの読み出しや書き込み等の履歴をユーザインタフェース等に出力する際、ステップS501〜S504の間にクライアントによる複数の読み出し要求を1つの読み出し処理として出力する手法が一般的に用いられる。しかしながら、PC等からCIFSプロトコルを使用してファイルを操作する場合、クライアントのユーザによる読み出し要求以外の目的(例えば、ファイルの閲覧、取得等)のために、クライアントのアプリケーションが読み出し要求を行うことがある。具体的には、ファイル内の特定のオフセットに存在するデータ部分の読み出し、ファイルの存在確認等が挙げられる。よって、前述の出力手法では、読み出し処理に対してユーザがファイル操作を行っていないにもかかわらず、読み出し履歴が出力されてしまうことになる。
【0042】
[クライアントとサーバの間で行われるシーケンスの第3の例]
図6は、ネットワークを介したファイルアクセスで一般に使用されるCIFSプロトコルを使用して編集中のファイルを保存する場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。この例では、ユーザがファイル(/share/Folder/12345.doc)を編集し、保存するとする。この場合、ユーザからはファイルに対して編集を行っているように見えるが、実際に編集しているファイルは一時ファイルである。
【0043】
最初に、ステップS601において、クライアントはサーバに対して一時書き込みファイル(/share/Folder/D0F80A02.tmp)を開くオープン要求を行う。サーバはこの要求を受信、解析し、実際のファイルを開く。サーバは、ファイルを正常に開くことができた場合、開いたファイルのファイルポインタにファイルIDを割り当て、クライアントへオープン結果とファイルIDを送信する。
【0044】
続くステップS602において、クライアントはファイルIDを使用して、サーバに対してファイル書き込み(Write)要求を行う。その際、クライアントは、ファイルIDに該当するファイルにおける先頭データからのオフセットとそのオフセットから書込むデータサイズを指定する。サーバはクライアントからの要求を受信、解析して、ファイルIDに該当するファイルに対してクライアントから指定されたオフセットから指定されたサイズ分のデータを書き込み、クライアントへ送信する。クライアントとサーバは、ステップS602をオフセットとサイズを変更しながら複数回繰り返し、最終的にファイルIDに該当するファイルの全データが書き込まれる。
【0045】
次に、ステップS603において、クライアントは、ファイルIDを用いてサーバに対してファイルを閉じるクローズ要求を行う。サーバはクライアントからの要求を受信、解析して、指定されたファイルIDに該当するファイルをクローズし、その結果をクライアントへ送信する。続くステップS604では、クライアントはステップS601で開いたファイルとは異なる一時ファイル(バックアップファイル:/share/Folder/6AC74E1B.tmp)のファイル属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【0046】
更にステップS605において、クライアントはサーバに対して編集中のファイル(/share/Folder/12345.doc)のファイル属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【0047】
その後、ステップS606において、クライアントは編集中のファイル(/share/Folder/12345.doc)について、ファイル名をステップS604でファイル属性の取得要求を行ったファイル名への変更要求を行う。サーバは、クライアントからの要求を受信、解析して、編集中のファイル名を変更し、その結果をクライアントへ送信する。そして、ステップS607において、クライアントは一時書き込みファイル(/share/Folder/D0F80A02.tmp)のファイル名を編集中のファイル名(/share/Folder/12345.doc)へ変更する要求を行う。サーバは、ファイル名の変更結果をクライアントに返す。
【0048】
図6のコマンドシーケンスでは、サーバは、クライアントからの要求を受信、解析して一時書き込みファイル(/share/Folder/D0F80A02.tmp)の名前を変更し、その結果をクライアントへ送信する。一方、クライアントは、2つの一時ファイルを使用することによって、サーバに対して編集前のファイルをバックアップすると共に、編集後のファイルを保存することを可能にしている。一般に、一時ファイルへの書き込み処理は、ユーザ側からは認識できず、ユーザが使用しているドキュメントアプリケーション側で行っている。
【0049】
そのため、画像形成装置101が上述の処理を全て履歴として取得、管理するとした場合、一時ファイルの総データサイズが大きくなるにしたがって、クライアントとサーバ間のシーケンスが増加する。これによって、図4のコマンドシーケンスと同様に、保存する履歴も膨大となる。これは、画像形成装置101の組み込みシステムのような限られた履歴格納領域しか確保できないネットワークシステムにとっては、大きな問題となる。
【0050】
また、ファイルの書き込みに関する履歴をユーザインタフェース等に出力する場合、ステップS601〜S603の間にクライアントが要求する複数の書き込み要求を1つの書き込み処理として出力する手法が一般に行われる。しかし、PC等からCIFSプロトコルを使用してファイルを操作する場合、一般に、クライアントのユーザによる書き込み要求以外の目的(例えば、ファイル編集、保存)のために、クライアントのアプリケーションが書き込み要求を行うことがある。具体的には、ファイル内の特定のオフセットに存在するデータ対する部分書き込み等が挙げられる。
【0051】
更に、ステップS602における書き込みは、ユーザが編集しようとしているファイル(/share/Folder/12345.doc)へは書き込み処理を行わず、実際は一時ファイル(/share/Folder/D0F80A02.tmp)へ書込んでいる。よって、画像形成装置101がこの履歴をユーザインタフェースに出力してもユーザはこの履歴について認識することができず、ユーザが行ったファイル操作履歴を認識するという本来の履歴管理の目的が失われてしまう。このような事情から、図6のコマンドシーケンスをそのまま図1のネットワークシステムに適用することは適切ではない。
【0052】
[クライアントとサーバの間で行われるシーケンスの第4の例]
図7は、ネットワークを介したファイルアクセスで一般に使用されるCIFSプロトコルを使用してクライアントからサーバ内のファイルを同じサーバ内の別のパスへコピーする場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。
【0053】
ステップS701において、クライアントは、サーバに対してコピー元となるファイルを開くオープン要求を行う。サーバはこの要求を受信、解析し、実際のファイルを開く。サーバは、ファイルを正常に開くことができた場合、開いたファイルのファイルポインタにファイルIDを割り当て、クライアントへオープン結果とファイルIDを送信する。続くステップS702において、クライアントはサーバに対して、コピー元のファイルの属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【0054】
次いで、ステップS703にて、クライアントは、サーバへコピー先となるファイルパスを開くためのオープン要求を行う。サーバはこの要求を受信、解析し、実際のファイルを開く。サーバは、開くファイルが存在しない場合は、ファイルの新規作成を行い、作成したファイルを開く。サーバは、新規作成したファイルを開いた場合又は正常にファイルを開くことができた場合、開いたファイルのファイルポインタにファイルIDを割り当て、クライアントへオープン結果とファイルIDを送信する。
【0055】
続いて、ステップS704において、クライアントはサーバに対してコピー先のファイルの属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。その後、ステップS705において、クライアントはサーバに対してステップS701で取得したファイルIDを用いてファイルデータの読み出し(Read)要求を行う。その際、クライアントは、ファイルIDに該当するファイルにおける先頭データからのオフセットとそのオフセットから取得するデータサイズを指定する。サーバは、クライアントからの要求を受信、解析して、ファイルIDに該当するファイルから指定されたオフセットから指定されたサイズ分のデータを読み出し,クライアントへ送信する。クライアントとサーバはステップS705の処理をオフセットとサイズとを変更しながら複数回繰り返し、最終的にファイルIDに該当するコピー元のファイルの全データが読み出される。
【0056】
次に、ステップS706にて、クライアントはサーバに対して、ステップS703で取得したファイルIDを使用してファイル書き込み(Write)要求を行う。その際、クライアントは、ファイルIDに該当するファイルにおける先頭データからのオフセットとそのオフセットから書き込むデータサイズを指定する。サーバはクライアントからの要求を受信、解析して、ファイルIDに該当するファイルに対してクライアントから指定されたオフセットから指定されたサイズ分のデータを書き込み、クライアントへ送信する。クライアントとサーバはステップS706をオフセットとサイズを変更しながら複数回繰り返し、最終的にファイルIDに該当するコピー先ファイルの全データが書き込まれる。
【0057】
ステップS707にて、クライアントはステップS703で取得したファイルIDを用いてサーバへファイルを閉じるクローズ要求を行う。サーバはクライアントからの要求を受信、解析して、ファイルIDに該当するファイルを閉じて、その結果をクライアントへ送信する。
【0058】
図7のコマンドシーケンスでは、クライアントは、サーバ上に存在するファイルを同じサーバ上の別のパスにコピーするため、コピー元のファイルデータを一旦読み出し、読み出したデータをサーバ上のコピー先のパスに対して書き込む処理を行っている。CIFSプロトコルの仕様にはCOPY要求も存在しているが、COPY要求を使用せずに、図7のコマンドシーケンスを用いてファイルコピーを実現することが可能である。
【0059】
しかしながら、画像形成装置101で図7のコマンドシーケンスによる上述の処理の全履歴の取得、管理を行うとした場合、以下のような問題が生じる。すなわち、クライアントは、コピー元ファイルをクライアント自身へ一旦読み出した後、そのデータをサーバのコピー先に書き込む処理を行っているため、履歴上はコピーではなく、読み出しと書き込み(Read&Write)となってしまう。一般的にPCを使用するユーザにとって、自身の行ったファイル操作としてファイルコピーを行ったにもかかわらず、履歴が読み出しと書き込みという形で出力されてしまうことは、履歴を管理する上で混乱を生じさせることとなる。
【0060】
また、図7のコマンドシーケンスによる方法で履歴を管理した場合、後日、セキュリティ上の何らかの問題が発生した場合に、履歴からファイル操作ログを調査することが困難になってしまう。このような事情から、図7のコマンドシーケンスをそのまま図1のネットワークシステムに適用することは適切ではない。
【0061】
<履歴管理方法>
次に、図4〜7のCIFSプロトコルを用いた例について上記の通りに指摘した問題を解決した履歴管理方法を、図1に示したネットワークシステムに適用して説明する。図8は、本実施形態に係る履歴管理方法のフローチャートである。ここでは、画像形成装置101とPC102(又はPC103)がそれぞれ、図4〜7で説明したサーバとクライアントに対応する。
【0062】
画像形成装置101のネットワークファイルサーバ303は、クライアントであるPC102からTCP/IP302を経由して、ファイルアクセス要求を受信する(ステップS801)。ネットワークファイルサーバ303は、操作要求の対象となっているアクセス先を受信データから解析し、ファイル制御304を経由してファイルシステム305に対して該当するアクセス先が存在するパスか否かを判定する(ステップS802)。
【0063】
アクセス先が存在しない場合(S802で“NO”)、ネットワークファイルサーバ303は、ファイル操作履歴を取得せず、処理を終了させる。なお、この場合には不図示であるが、ネットワークファイルサーバ303は同時にPC102からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、PC102へ送信する。アクセス先が存在する場合(S802で“YES”)、ネットワークファイルサーバ303は、アクセス先のパスがファイルか否かを判定する(ステップS803)。
【0064】
アクセス先がファイル以外(例えば、ディレクトリ等)の場合(S803で“NO”)、ネットワークファイルサーバ303は、ファイル操作履歴を取得せず、処理を終了させる。なお、この場合には不図示であるが、ネットワークファイルサーバ303は同時にPC102からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、PC102へ送信する。
【0065】
アクセス先がファイルの場合(S803で“YES”)、ネットワークファイルサーバ303は、処理をステップS804へ進める。ステップS804では、ネットワークファイルサーバ303は、自身の中で管理している履歴テーブルから送信元アドレス(つまり、PC102のアドレス)、ユーザID、プロセスID(PID;Process ID)が同一の履歴が存在するか否かを判定する。なお、履歴テーブルは、ハードウェアの観点からは、HDD205に設けられた履歴保存領域としてのパーティションに保持されている。プロセスIDは、操作要求に係るファイル操作(読み出し、書き込み等)毎に割り当てられている。
【0066】
同一の履歴が存在しない場合(S804で“NO”)、ネットワークファイルサーバ303は、PC102からの操作要求の種別(以下「要求コマンド種別」という)を判定する(ステップS806)。要求コマンド種別がファイル操作関連要求である場合(S806で“YES”)、処理はステップS808へ進められる。但し、ステップS806におけるファイル操作関連要求とは、読み出し(Read)、書き込み(Write)、削除(Delete)、名前変更(Rename)、移動(Move)、コピー(複写;Copy)である。
【0067】
なお、CIFSプロトコルの仕様として、PC102がファイルオープン要求時にファイル削除フラグを立てることで、ネットワークファイルサーバ303は、PC102からファイルクローズ要求を受信すると、対象ファイルを削除する。このファイル操作はファイル操作関連要求の削除要求に含まれる。したがって、ネットワークファイルサーバ303は、ファイルオープン要求受信時にファイル削除フラグを検査し、削除要求か否かを判定する。
【0068】
ファイル操作関連要求でない場合(S806で“NO”)、ネットワークファイルサーバ303は、ファイル操作履歴を取得せず、処理を終了させる。この場合には不図示であるが、ネットワークファイルサーバ303は、PC102からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、PC102へ送信する。
【0069】
ステップS804において同一の履歴が存在する場合(S804で“YES”)、ネットワークファイルサーバ303は以前にPC102からファイル操作関連要求を受信していることになり、また、後述する履歴取得タイマが動作中である。したがって、ネットワークファイルサーバ303は、履歴テーブル上の該当する履歴に関連付けられた履歴取得タイマを停止させて初期化し(ステップS805)、その後、処理をステップS807に進める。ステップS807では、ネットワークファイルサーバ303は、ステップS806の処理と同様に、PC102からの要求コマンド種別を検査する。要求コマンド種別が読み出し、書き込み、削除、名前変更、移動、コピーのいずれかである場合(S807で“YES”)、ネットワークファイルサーバ303は、処理をステップS808に進める。
【0070】
ステップS808では、ネットワークファイルサーバ303は、送信元アドレス、ユーザID、プロセスID毎の履歴テーブルにアクセスパス、ツリーID、要求コマンド種別、アクセス日時をPC102からの要求順、つまり時系列で登録し、蓄積する。その後、ネットワークファイルサーバ303は、要求コマンド種別が読み出し又は書き込みであるか否かを判定する(ステップS810)。
【0071】
要求コマンド種別が読み出し又は書き込みである場合(S810で“YES”)、ネットワークファイルサーバ303は、PC102からの受信データからデータサイズとオフセット値を取得し、履歴テーブルに登録する(ステップS812)。その後、ネットワークファイルサーバ303は、処理をステップS814へ進める。要求コマンド種別が読み出しでも書き込みでもない場合(S810で“NO”)、ネットワークファイルサーバ303は、要求コマンド種別が名前変更、移動、コピーのいずれかであるか否かを判定する(ステップS811)。
【0072】
要求コマンド種別が名前変更、移動、コピーのいずれかである場合(S811で“YES”)、ネットワークファイルサーバ303は、処理をステップS813に進める。ステップS813では、ネットワークファイルサーバ303は、履歴テーブルに該当する要求コマンド種別先のパス(名前変更先パス又は移動先パス又はコピー先パス)を登録し、その後、処理をステップS814に進める。要求コマンド種別が名前変更でも移動でもコピーでもない場合(S811で“NO”)、ネットワークファイルサーバ303は、処理をステップS814に進める。
【0073】
ステップS814では、ネットワークファイルサーバ303は、送信元アドレス、ユーザID、プロセスIDが同一である履歴に対して履歴取得タイマを関連付け、履歴取得タイマを起動する。これによって、ネットワークファイルサーバ303は、履歴取得タイマに設定された一定時間が経過するまで、PC102から次の履歴保存対象となるファイル操作関連要求を待つ。ネットワークファイルサーバ303は、PC102から次の要求を受信する前に履歴取得タイマがタイムアウトした場合、本処理を終了させる。本処理の終了は、ネットワークファイルサーバ303が、PC102からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、PC102へ送信することにより行われる。
【0074】
ステップS807において、要求コマンド種別が読み出し、書き込み、削除、名前変更、移動、コピーのいずれでもない場合(S807で“NO”)ネットワークファイルサーバ303は、処理をステップS809へ進める。ステップS809では、ネットワークファイルサーバ303は、要求コマンド種別がログオフ(Logoff)、ツリー(Tree)切断、セッション切断のいずれかであるか否かを判定する。すなわち、要求コマンド種別が、ファイル操作を終了させるためのコマンドであるか判定する。
【0075】
要求コマンド種別がログオフ、ツリー切断、セッション切断のいずれでもない場合(S809で“NO”)、ネットワークファイルサーバ303は、本処理を終了させる。このとき、ネットワークファイルサーバ303は、PC102からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、PC102へ送信する。要求コマンド種別がログオフ、ツリー切断、セッション切断のいずれかである場合(S809で“YES”)、ネットワークファイルサーバ303は、一連のファイル操作が終了したと判断し、保存履歴の解析のために処理をステップS815へ進める。
【0076】
さて、ステップS814にて起動した履歴取得タイマがタイムアウトするということは、ネットワークファイルサーバ303が一定時間の間にPC102から次のファイル操作関連要求を受信しなかったことを意味する。そこで、この場合には、ネットワークファイルサーバ303は、上述の通りに本処理を終了させると共に、一連のファイル操作が終了したとみなして、保存履歴の解析処理を開始する。
【0077】
履歴取得タイマは、画像形成装置101内の設定項目として変更することができる。ステップS815では、ネットワークファイルサーバ303は、該当する履歴テーブル内の履歴パターンを解析する。その解析結果に基づいて、ネットワークファイルサーバ303は、PC102のユーザが行ったファイル操作を推測し、得られたファイル操作ログを自身が管理しているログ出力テーブルに登録する。このステップS815の内容については、後に詳細に説明する。
【0078】
続いて、ネットワークファイルサーバ303は、ログ出力テーブル内のファイル操作ログをローカルやリモート経由でユーザインタフェース上に表示し、ログファイルとして出力し、またはログ管理サーバ(図1には不図示)に送信する(ステップS816)。その後、ネットワークファイルサーバ303は処理を終了させる。
【0079】
<履歴テーブルの第1の例>
図9は、画像形成装置101のネットワークファイルサーバ303が管理する履歴テーブルの構成例を示す図である。履歴テーブル901は、クライアントであるPC102(又はPC103)が、ファイルの読み出し要求を行った場合に、図8のフローにおいてネットワークファイルサーバ303が登録し、生成した履歴テーブルの例である。
【0080】
同一のファイルに対する読み出し要求を履歴テーブル901から特定する場合、ネットワークファイルサーバ303は、PC102(又はPC103)が行った読み出し要求であり、ファイルパスが同一の履歴を解析する。この履歴解析には、3つの着目点が存在する。
【0081】
1番目は、履歴テーブル内に読み出し要求の履歴が少なくとも1つ以上存在することである。2番目は、PC102(又はPC103)が行った読み出し要求の対象ファイルに対して、全データを読み出していることであり、ファイル内の一部オフセットのみの読み出しは、ユーザによるファイルの読み出しとして扱わないことである。3番目は、PC102(又はPC103)が行った個々の読み出し要求から次の読み出し要求までの時間間隔が短いことであり、これによって同一のファイルに対するユーザからの複数回の読み出し要求を区別可能なことである。なお、3番目の着目点における時間間隔は、画像形成装置101上で設定することができ、画像形成装置101を使用するネットワーク環境を考えた場合、0.2秒より短いことが好ましい。
【0082】
これらの3つの着目点に関する条件は、送信元IPアドレスが同じであり、且つ、ユーザIDとプロセスIDが同じという条件下で、ネットワークファイルサーバ303が検査する。これら3つの着目点を全て満たす履歴が存在する場合、ネットワークファイルサーバ303は、その履歴をPC102(又はPC103)からのファイルの読み出し要求として纏める。なお、履歴テーブル901では、PC102(又はPC103)からの読み出し要求について説明したが、上述の3つの着眼点は、PC102(又はPC103)からの書き込み要求についても、同様の内容で適用することができる。
【0083】
<履歴テーブルの第2の例>
図10は、画像形成装置101のネットワークファイルサーバ303が管理する履歴テーブルの別の構成例を示す図である。履歴テーブル1001は、履歴テーブル901とは異なる履歴一覧を示している。履歴テーブル1001は、画像形成装置101内の異なるパスへのファイルコピーについて、図8のフローにおいてネットワークファイルサーバ303が登録、生成した履歴テーブルの例である。
【0084】
この場合、ネットワークファイルサーバ303は、クライアントであるPC102(又はPC103)が行った読み出し要求であり、ツリーID、ファイルID及びファイルパスが同一の履歴を解析する。また、ネットワークファイルサーバ303は、PC102(又はPC103)が行った書き込み要求であり、ツリーID、ファイルID及びファイルパスが同一の履歴を解析する。この履歴解析には、6つの着目点が存在する。
【0085】
1番目は、履歴テーブル1001内に読み出し要求と書き込み要求の履歴が少なくとも1つ以上存在することである。2番目は、PC102(又はPC103)が行った読み出し要求の対象ファイルに対して、全データを読み出していることであり、ファイル内の一部オフセットのみの読み出しは、ユーザによるファイルの読み出しとして扱わないことである。3番目は、PC102(又はPC103)が行った個々の書き込み要求のサイズとオフセット値から、書込まれたファイルのサイズが、読み出したファイルのサイズと一致していることである。
【0086】
4番目は、PC102(又はPC103)が行った個々の読み出し要求から次の読み出し要求までの時間間隔が短いことである。これにより、ネットワークファイルサーバ303は、ユーザからの画像形成装置101内の異なるパスに対するファイルコピーとユーザからの通常のファイル読み出し要求とを区別することができる。5番目は、PC102(又はPC103)が行った個々の書き込み要求から次の書き込み要求までの時間間隔が短いことである。これにより、ネットワークファイルサーバ303は、ユーザからの画像形成装置101内の異なるパスに対するファイルコピーとユーザからの通常のファイル書き込み要求とを区別することができる。6番目は、PC102(又はPC103)が行った個々の読み出し要求から次の書き込み要求までの時間間隔が短いことである。
【0087】
これら4番目、5番目及び6番目の着目点における時間間隔は、画像形成装置101上で設定することができ、画像形成装置101を使用するネットワーク環境を考えた場合、0.2秒より短いことが好ましい。なお、これら6つの着目点に関する条件は、送信元のIPアドレスが同じであり、且つ、ユーザIDとプロセスIDが同じという条件下において、ネットワークファイルサーバ303が検査する。また、これら6つの着目点を全て満たす履歴が存在する場合、ネットワークファイルサーバ303は、それらの履歴をネットワークファイルサーバ303内における異なるパスへのファイルコピーとして纏める。
【0088】
<履歴テーブルの第3の例>
図11は、画像形成装置101のネットワークファイルサーバ303が管理する履歴テーブルの更に別の構成例を示す図である。履歴テーブル1101は、図9の履歴テーブル901及び図10の履歴テーブル1001と異なる履歴一覧を示している。履歴テーブル1101は、クライアントであるPC102(又はPC103)が編集ファイルの保存時にバックアップを目的として画像形成装置101内に作成した一時ファイルに対する操作について、ネットワークファイルサーバ303が生成した一例である。
【0089】
履歴テーブル1101には、PC102(又はPC103)のユーザがファイル(/user/2741/abcde.doc)を編集し、保存した場合の履歴が示されている。この場合、ユーザからはファイル(abcde.doc)に対して編集を行っているように見える。しかし、実際に編集しているファイルは、一時ファイル(/user/2741/~$bcde.tmp)である。
【0090】
編集ファイルの保存時における一時ファイルへの操作を履歴テーブル1101から特定する場合、ネットワークファイルサーバ303は、PC102(又はPC103)が行った書き込み要求であり、ファイルパスが同一の履歴を解析する。また、ネットワークファイルサーバ303は、PC102(又はPC103)が名前変更又は移動又はコピーの要求を行ったファイルパスを解析する。この履歴解析には、9つの着目点が存在する。
【0091】
1番目は、履歴テーブル1101内に書き込み要求の履歴が少なくとも1つ以上存在することである。2番目は、PC102(又はPC103)が行った書き込み要求の対象ファイルに対して、全データを書き込んでいることである。全データを書き込んだか否かは、PC102(又はPC103)がネットワークファイルサーバ303に対して書き込み要求前に行うファイルサイズ通知(EOF設定通知)によって確認することができる。3番目は、履歴テーブル1101内に名前変更又は移動又はコピーの要求の履歴が少なくとも2つ以上存在することである。
【0092】
4番目は、PC102(又はPC103)が行った書き込み要求、名前変更もしくは移動もしくはコピーの要求が全て同じツリーIDであることである。5番目は、PC102(又はPC103)が行った書き込み要求のファイルパスと、PC102(又はPC103)が行った名前変更又は移動又はコピーの要求の要求元ファイルパスが同じであることである。6番目は、PC102(又はPC103)が行った名前変更又は移動又はコピーの要求の要求元パスと、その履歴より後にPC102(又はPC103)が行った別の名前変更又は移動又はコピーの要求の要求先パスが同じであることである。
【0093】
7番目は、PC102(又はPC103)が行った個々の書き込み要求から次の書き込み要求までの時間間隔が短いことであり、これによって同一ファイルに対するユーザからの複数回の書き込み要求を区別することができる。8番目は、PC102(又はPC103)が行った最後の書き込み要求から次の名前変更又は移動又はコピーの要求までの時間間隔が短いことである。9番目は、上述の3番目の内容について、PC102(又はPC103)が行った複数の名前変更又は移動又はコピーの要求間の時間間隔が短いことである。これら8番目と9番目の特徴によって、PC102(又はPC103)からの編集ファイル保存時における一時ファイルへの操作と、ユーザからのファイル名変更やファイル移動、ファイルコピー要求とを区別することができる。これら7番目、8番目及び9番目の時間間隔は、画像形成装置101上で設定することができ、画像形成装置101を使用するネットワーク環境を考えると、0.2秒より短いことが好ましい。
【0094】
なお、これら9つの着目点に関する条件は、送信元のIPアドレスが同じであり、且つ、ユーザIDとプロセスIDが同じという条件下において、ネットワークファイルサーバ303が検査する。これら9つの着目点を全て満たす履歴が存在する場合、ネットワークファイルサーバ303は、履歴テーブルからそれらの履歴を編集ファイルの保存時における一時ファイルに対する操作として纏める。その際にネットワークファイルサーバ303は、上述の6番目の着目点の内容で一致したファイルパスに対して、ユーザからのファイル保存として履歴を纏める。
【0095】
<ステップS815の処理の詳細>
図12及び図13は、図8に示すフローチャートにおけるステップS815の処理の詳細を示すフローチャートであり、上記の通りに説明した図9、図10、図11の内容を踏まえた処理内容を示している。
【0096】
先ず、ネットワークファイルサーバ303は、履歴テーブル上に解析を完了していない履歴が残されているか否かを判定する(ステップS1201)。解析が未完了の履歴がない場合(S1201で“NO”)、解析処理を終了する。解析の必要がある履歴が残っている場合(S1201で“YES”)、ネットワークファイルサーバ303は、その履歴が読み出し要求に係るものか否かを判定する(ステップS1202)。
【0097】
読み出し要求ではない場合(S1202で“NO”)、ネットワークファイルサーバ303は、後述するステップS1216に処理を進める。読み出し要求である場合(S1202で“YES”)、解析が完了していない他の履歴であって書き込み要求の履歴が存在するか否かを判定する(ステップS1203)。
【0098】
書き込み要求の履歴が存在しない場合(S1203で“NO”)、ネットワークファイルサーバ303は、後述するステップS1212に処理を進める。書き込み要求の履歴が存在する場合(S1203で“YES”)、ネットワークファイルサーバ303は、履歴テーブル内の全ての読み出し要求履歴から、ツリーID、ファイルパス及びファイルIDが一致するものを抽出する(ステップS1204)。ステップS1204ではまた、ネットワークファイルサーバ303は、抽出した読み出し要求履歴について、履歴毎のアクセス日時から読み出し要求履歴と次の読み出し要求履歴との時間間隔を検査する。そして、時間間隔が予め定められた設定値の範囲内である読み出し要求履歴のみを、抽出した読み出し要求履歴から抽出して、テーブル(以下「テーブルA」という)に格納する。テーブルAは、HDD205に設けられた履歴保存領域としてのパーティションに保持され、後述するテーブルB〜Gについても同様である。
【0099】
続いて、ネットワークファイルサーバ303は、テーブルA内の全ての読み出し要求履歴のオフセットとサイズに基づいて、クライアントであるPC102が対象ファイルの全データを読み出したか否かを検査する(ステップS1205)。対象ファイルの全データが読み出されていない場合(S1205で“NO”)、ネットワークファイルサーバ303は、処理をステップS1212へ進める。
【0100】
対象ファイルの全データが読み出されている場合(S1205で“YES”)、ネットワークファイルサーバ303は、履歴テーブル内の全ての書き込み履歴から、ツリーID、ファイルパス及びファイルIDが一致するものを抽出する(ステップS1206)。ステップS1206ではまた、ネットワークファイルサーバ303は、抽出した書き込み要求履歴に対して、履歴毎のアクセス日時から書き込み要求履歴と次の書き込み要求履歴との時間間隔を検査する。その検査結果に基づいて、ネットワークファイルサーバ303は、時間間隔が設定値の範囲内である書き込み要求履歴のみを、抽出した書き込み要求履歴から抽出して、テーブル(以下「テーブルB」という)に格納する。
【0101】
次に、ネットワークファイルサーバ303は、テーブルBの中に書き込み履歴が存在するか否かを検査する(ステップS1207)。書き込み履歴が存在しない場合(S1207で“NO”)、ネットワークファイルサーバ303は、処理をステップS1212へ進める。書き込み履歴が存在する場合(S1207で“YES”)、ネットワークファイルサーバ303は、テーブルAとテーブルBとを合わせた履歴を時系列順に並べ、履歴毎のアクセス日時から個々の履歴と履歴との時間間隔を検査する(ステップS1208)。また、ステップS1208では、ネットワークファイルサーバ303は、時間間隔が設定値の範囲内である全ての履歴を抽出して、テーブル(以下「テーブルC」という)に格納する。
【0102】
その後、ネットワークファイルサーバ303は、テーブルCの読み出し要求におけるデータサイズとオフセット値から、PC102が読み出し要求に係る対象ファイルの全データを読み出したか否かを検査する(ステップS1209)。対象ファイルの全データが読み出されていない場合(S1209で“NO”)、ネットワークファイルサーバ303は、処理をステップS1212へ進める。対象ファイルの全データが読み出されている場合(S1209で“YES”)、ネットワークファイルサーバ303は、ステップS1210へ処理を進める。ステップS1210では、ネットワークファイルサーバ303は、テーブルCの読み取りサイズとオフセット及び書き込みサイズとオフセットから、PC102が読み出したファイルサイズと書き込んだファイルサイズとが一致しているか否かを検査する。
【0103】
ファイルサイズが一致していない場合(S1210で“NO”)、ネットワークファイルサーバ303は、処理をステップS1212へ進める。ファイルサイズが一致している場合(S1210で“YES”)、ネットワークファイルサーバ303は、テーブルCの履歴と同じ履歴テーブル上の履歴に対して、コピー履歴としてまとめ、ログ出力対象とする(ステップS1211)。ステップS1211の後、ネットワークファイルサーバ303は、処理をステップS1201へ戻す。なお、ステップS1211においてログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0104】
ステップS1212では、ネットワークファイルサーバ303は、履歴テーブル内の全ての読み出し要求履歴から、ファイルパスが一致するものを抽出する。また、ネットワークファイルサーバ303は、抽出した読み出し要求履歴に対して、履歴毎のアクセス日時から読み出し要求履歴と次の読み出し要求履歴との時間間隔を検査する。更に、ネットワークファイルサーバ303は、時間間隔が設定値の範囲内である読み出し要求履歴のみを、抽出した読み出し要求履歴から抽出して、テーブル(以下「テーブルD」という)に格納する。
【0105】
その後、ネットワークファイルサーバ303は、テーブルDの読み出し要求におけるデータサイズとオフセット値とから、PC102が読み出し要求の対象ファイルの全データを読み出したか否かを検査する(ステップS1213)。対象ファイルの全データが読み出されていない場合(S1213で“NO”)、ネットワークファイルサーバ303は、後述するステップS1215へ処理を進める。対象ファイルの全データが読み出されている場合(S1213で“NO”)、ネットワークファイルサーバ303は、テーブルDと同じ履歴テーブルの履歴を読み取り履歴としてまとめ、ログ出力対象とする(ステップS1214)。その後、ネットワークファイルサーバ303は、処理をステップS1201へ戻す。なお、ステップS1214でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0106】
ステップS1215では、ネットワークファイルサーバ303は、履歴テーブル上の履歴であってテーブルDの履歴と同じ履歴をログ出力対象外とし、処理をステップS1201へ戻す。なお、ステップS1215でログ出力対象外となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0107】
さて、ステップS1202において解析対象の履歴が読み出し要求ではない場合(S1202で“NO”)、ネットワークファイルサーバ303は、解析対象の履歴が書き込み要求か否かを検査する(ステップS1216)。解析対象の履歴が書き込み要求ではない場合(S1216で“NO”)、ネットワークファイルサーバ303は、解析対象の履歴をログ出力対象とする(ステップS1217)。その後、ネットワークファイルサーバ303は、処理をステップS1201へ戻す。なお、ステップS1217でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0108】
解析対象の履歴が書き込み要求の場合(S1216で“YES”)、ネットワークファイルサーバ303は、処理をステップS1219へ進める。ステップS1219では、ネットワークファイルサーバ303は、履歴テーブル内の全ての書き込み要求履歴からファイルパスが一致するものを抽出する。また、ネットワークファイルサーバ303は、抽出した書き込み要求履歴に対して、履歴毎のアクセス日時から書き込み要求履歴と次の書き込み要求履歴との時間間隔を検査する。更に、ネットワークファイルサーバ303は、時間間隔が設定値の範囲内である書き込み要求履歴のみを、抽出した書き込み要求履歴から抽出して、テーブル(以下「テーブルE」という)に格納する。
【0109】
ステップS1219の後、ネットワークファイルサーバ303は、テーブルE内の全ての書き込み要求履歴のオフセットとサイズとに基づいて、PC102が対象ファイルの全データを書き込んだか否かを検査する(ステップS1220)。全データが書き込まれた否かは、PC102がネットワークファイルサーバ303に対して書き込み要求前に行うファイルサイズ通知(EOF設定通知)によって確認することができる。
【0110】
対象ファイルの全データが書き込まれていない場合(S1220で“NO”)、ネットワークファイルサーバ303は、先に説明したステップS1215へ処理を進める。この場合、ステップS1215にて、ネットワークファイルサーバ303は、履歴テーブル上の履歴であってテーブルEの履歴と同じ履歴をログ出力対象外とし、その後、処理をステップS1201へ戻す。なお、ステップS1220からステップS1215へ進んだ場合も、ステップS1215でログ出力対象外となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0111】
対象ファイルの全データが書き込まれている場合(S1220で“YES”)、ネットワークファイルサーバ303は、処理をステップS1221へ進める。ステップS1221では、ネットワークファイルサーバ303は、書き込み要求と同一のツリーIDを使用している名前変更、移動、コピーのいずれかの要求履歴が履歴テーブル内に複数存在するか否かを検査する。ここで、複数存在することを確認するのは、編集ファイルの保存時における一時ファイルへの操作を行うためには、一般に、コピー、移動、名前変更のいずれかを複数回行う必要があるためである。
【0112】
名前変更、移動、コピーのいずれかの要求履歴が複数存在しない場合(S1221で“NO”)、ネットワークファイルサーバ303は、処理をステップS1218へ進める。ステップS1218では、ネットワークファイルサーバ303は、履歴テーブル上の履歴であってテーブルEの履歴と同じ履歴を書き込み要求履歴として纏め、ログ出力対象とし、その後、処理をステップS1201へ戻す。なお、ステップS1218でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0113】
ステップS1221において、名前変更、移動、コピーのいずれかの要求履歴が複数存在する場合(S1221で“YES”)、ネットワークファイルサーバ303は、処理をステップS1222に進める。
【0114】
ステップS1222では、ネットワークファイルサーバ303は、先ず、書き込み要求と同一のツリーIDを使用している名前変更、移動、コピー、削除の要求履歴の全てを抽出する。ネットワークファイルサーバ303はまた、抽出した全ての履歴に対して履歴毎のアクセス日時から履歴と次の履歴との時間間隔を検査する。ネットワークファイルサーバ303は更に、抽出した履歴から時間間隔が設定値の範囲内である履歴のみを抽出して、テーブル(以下「テーブルF」という)に格納する。
【0115】
その後、ネットワークファイルサーバ303は、テーブルFに名前変更、移動、コピーのいずれかの要求履歴が複数存在するか否かを検査する(ステップS1223)。複数存在することを確認するのは、編集ファイルの保存時における一時ファイルへの操作を行うためには、一般に、コピー、移動、名前変更のいずれかを複数回行う必要があるためである。名前変更、移動、コピーのいずれかの要求履歴が複数存在しない場合(S1223で“NO”)、ネットワークファイルサーバ303は、処理をステップS1218へ進める。名前変更、移動、コピーのいずれかの要求履歴が複数存在する場合(S1223で“YES”)、ネットワークファイルサーバ303は、処理をステップS1224へ進める。
【0116】
ステップS1224では、ネットワークファイルサーバ303は、テーブルEとテーブルFとを合わせた履歴を時系列順に並べ、履歴毎のアクセス日時から個々の履歴と履歴との時間間隔を検査する。そして、ネットワークファイルサーバ303は、時間間隔が設定値の範囲内である履歴の全てを抽出して、テーブル(以下「テーブルG」という)に格納する。
【0117】
ステップS1224の後、ネットワークファイルサーバ303は、テーブルG内に、書き込み要求履歴のファイルパスと同じパスが名前変更、移動、コピーのいずれかの要求履歴の処理元ファイルパスに存在するか否かをチェックする(ステップS1225)。ファイルパスが存在しない場合(S1225で“NO”)、ネットワークファイルサーバ303は、処理をステップS1218へ進める。ファイルパスが存在する場合(S1225で“YES”)、ネットワークファイルサーバ303は、処理をステップS1226へ進める。
【0118】
ステップS1226では、ネットワークファイルサーバ303は、テーブルGに名前変更、移動、コピーの履歴の処理元パスと同じパスが別の名前変更、移動、コピーの履歴の処理先パスに存在するか否かを検査する(ステップS1226)。パスが存在しない場合(S1226で“NO”)、ネットワークファイルサーバ303は、処理をステップS1218に進める。パスが存在する場合(S1226で“YES”)、ネットワークファイルサーバ303は、履歴テーブル上の履歴であってテーブルGの履歴と同じ履歴を一時ファイル操作履歴としてまとめ、ログ出力対象とする(ステップS1227)。ステップS1227の後、ネットワークファイルサーバ303は、処理をステップS1201に戻す。なお、ステップS1227でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理とならない。以上のことから、ファイル操作に関する履歴を効率よく纏めることによって画像形成装置101内で管理できる限られた履歴保存領域を有効に活用することができる。
【0119】
<履歴のユーザインタフェースへの表示>
画像形成装置101において処理した履歴をユーザインタフェースに表示する形態について以下に説明する。図14は、画像形成装置101がファイルの操作ログ一覧を画像形成装置101自身のユーザインタフェース上に表示した形態の一例である。すなわち、ファイル操作ログ画面1301には、画像形成装置101が図8と図12,13を参照して説明したフローチャートに従ってネットワークファイルサーバ303が処理し、纏めたログ出力対象となった履歴が表示されている。なお、画像形成装置101のアプリケーション306がファイル操作ログ画面1301の表示処理を担う。
【0120】
ファイル操作ログ画面1301における表示項目は、ここでは、操作日時と操作を行った要求元の情報、操作ユーザ名、操作対象となったファイルのパス、ユーザが行った操作種別及びファイル操作先情報となっている。操作日時について、画像形成装置101は、ユーザがファイル操作を行った日時を表示するが、図8及び図12,13のフローによって履歴が纏められた場合には、このフローによって処理した最後の履歴における日時を表示する。要求元について、画像形成装置101は、主に画像形成装置101への要求を行った機器(例えば、PC102)のIPアドレスや画像形成装置101自身を表示する。
【0121】
ユーザ名について、画像形成装置101は、画像形成装置101内の設定が認証を要求する設定になっている場合に、ログインしたユーザ名を表示する。認証設定になっている場合は、ゲスト(Guest)、コモン(Common)等の共通ユーザ名を表示する。操作対象について、画像形成装置101は、主に文書ファイルや画像ファイル、テキストファイル等を表示するが、一般的なファイルサーバと同じく、どのようなファイルでも形式を問わず、表示する。なお、画像形成装置101では、画像形成装置101内の設定によって、印刷可能ファイル、文書ファイル等、扱えるファイルの種別を変更することもできる。
【0122】
操作種別について、画像形成装置101は、ユーザが操作対象のファイルに対して行った操作の種別を表示する。画像形成装置101は、読み出し、書き込み、移動(名前変更)、コピー、削除のいずれかを表示する。操作先について、画像形成装置101は、操作種別が移動(名前変更)とコピーの場合に、移動(名前変更)先、コピー先を表示する。移動(名前変更)及びコピーとは、ここでは、画像形成装置101内での移動(名前変更)、コピーを意味する。ユーザがファイルを画像形成装置101外へ移動(名前変更)させ、又はコピーした場合、操作種別は読み出しとして扱われる。また、画像形成装置101のUSB207に接続されたデバイス(メモリやHDD等)へファイルをコピーする場合、画像形成装置101は、操作先をUSBと表示する。
【0123】
ファイル操作ログ画面1301は、ユーザによる各種の項目選択を可能にするために、所謂、タッチパネル機能を備えているか、または、画像形成装置101が有する不図示の操作ボタンにより項目選択が可能となっている。
【0124】
ファイル操作ログ画面1301は選択欄を備えており、ログを閲覧しているユーザが個々の履歴に対して選択欄をチェックし、「ファイル出力」ボタンを押下すると、選択した個々のログを画像形成装置内のHDD205に格納することができるようになっている。これにより、ネットワーク上の機器を操作するユーザが、ログファイルを取得したり、画像形成装置101がリモートの履歴管理サーバに通知したりすることが可能になる。
【0125】
また、ファイル操作ログ画面1301は、ログを閲覧しているユーザが個々の履歴に対して選択欄をチェックして「削除」ボタンを押下すると、選択した個々のログを削除することができるようになっている。これにより、ユーザは、例えば、セキュリティに直接に影響が出ないログを個別に削除することができるため、画像形成装置101内の履歴保存領域を有効に活用することができる。更に、ファイル操作ログ画面1301は、ユーザが「全てのログ選択」ボタンを押下すると選択欄を一括選択することができ、複数のログを一括してファイル出力したり、削除したりすることができるようになっている。
【0126】
ファイル操作ログ画面1301は、ログが多く、一画面内では表示できない場合にユーザが「前ページ」ボタンと「次ページ」ボタンを押下することによって、所望するログを表示させることができるようになっている。また、ファイル操作ログ画面1301は、ユーザが選択欄、操作日時、要求元、ユーザ名、操作対象、操作種別、操作先の中から所望の項目を押下することによって、ログデータを昇順又は降順にソート表示させることができるようになっている。ファイル操作ログ画面1301は、ユーザが「検索/フィルタ」ボタンを押下すると全てのログデータの中から特定の条件に合致するログのみを表示することができるようになっている。
【0127】
このように、ファイル操作ログ画面1301は、ユーザがアクセスしたファイルに関する操作履歴を分かりやすくユーザに表示させることができるように構成されている。また、ファイル操作ログ画面1301は、ユーザが履歴(ログ)の解析をファイル操作ログ画面1301の操作によって簡単に行うことができるように構成されている。
【0128】
なお、画像形成装置101内の履歴保存領域が豊富な場合には、図12,13のフローでネットワークファイルサーバ303が纏めた履歴を削除することなく、保存し、管理することができる。この場合、例えば、ユーザがファイル操作ログ画面1301の個々のログを選択して「詳細」を押下すると、図12,13のフローでネットワークファイルサーバ303が選択されたログについて纏めた履歴を時系列に表示する構成とする。
【0129】
図15は、図14中の「検索/フィルタ」ボタンが押下された場合の表示画面の一例であり、この検索/フィルタ画面1401は、ファイル操作ログ画面1301上にポップアップ表示される。画像形成装置101は、ユーザが検索/フィルタ画面1401で検索/フィルタ条件を設定し、実行することによって、ファイル操作ログから特定の条件に合致するログのみをフィルタして、ファイル操作ログ画面1301に表示させるように構成されている。こうして新たなファイル操作ログ画面1301が表示されるときには、検索/フィルタ画面1401は、画面から消える。
【0130】
検索/フィルタ画面1401では、検索/フィルタ条件として、操作日時、要求元、ユーザ名、操作対象、操作種別、操作先の各条件を設定することができる。操作日時の条件を設定して検索/フィルタを実行する場合、ユーザは、ログ検索開始日時からログ検索終了日時を設定し、開始ボタンを押下すればよい。これにより、画像形成装置101は、指定された日時の範囲内の保存ログの全てをファイル操作ログ画面1301に表示する。
【0131】
要求元の条件を設定して検索/フィルタを実行する場合、ユーザは、ファイル操作を行ったホスト名やIPアドレス等、機器の情報を入力し、開始ボタンを押下すればよい。これにより、画像形成装置101は要求元に合致する保存ログの全てをファイル操作ログ画面1301に表示する。ここで、ユーザは要求元の情報の一部を入力することもできる。この場合、画像形成装置101は、入力された一部が合致する要求元に関する保存ログの全てをファイル操作ログ画面1301に表示する。また、ユーザが要求元の入力で「NOT」を選択した場合、画像形成装置101は、入力された要求元以外に関する保存ログの全てをファイル操作ログ画面1301に表示する。
【0132】
ユーザ名の条件を設定して検索/フィルタを実行する場合、ユーザは、画像形成装置101に対して認証を行い、ファイル操作を行ったユーザ名を入力し、開始ボタンを押下すればよい。これにより、画像形成装置101は、入力されたユーザ名に合致する保存ログの全てをファイル操作ログ画面1301に表示する。ここで、ユーザはユーザ名の一部を入力することもできる。この場合、画像形成装置101は、入力されたユーザ名の一部が合致するユーザ名に関する保存ログの全てをファイル操作ログ画面1301に表示する。なお、認証していないユーザとして、前述したゲストやコモン等の共通ユーザでも検索可能となっている。
【0133】
操作対象の条件を設定して検索/フィルタを実行する場合、ユーザは、操作されたファイルのパスを入力し、開始ボタンを押下すればよい。これにより、画像形成装置101は、ファイルのパスに合致する保存ログの全てをファイル操作ログ画面1301に表示する。ここで、ファイルのパスの一部を入力することも可能である。この場合、画像形成装置101は、入力されたファイルのパスの一部が合致するパスに関する保存ログの全てをファイル操作ログ画面1301に表示する。
【0134】
操作種別の条件を設定して検索/フィルタを実行する場合、ユーザは、操作対象ファイルに対して行われた操作種別を選択入力し、開始ボタンを押下すればよい。これにより、画像形成装置101は、操作種別に合致する保存ログの全てをファイル操作ログ画面1301に表示する。操作種別には、読み出し、書き込み、コピー、移動、名前変更、削除のみの選択だけでなく、読み出し/書き込み、コピー/移動/名前変更等のように、複数の操作種別を選択することができるようになっている。ユーザが、複数の操作種別を選択した場合、画像形成装置101は、複数の操作種別のいずれかに合致する保存ログの全てをファイル操作ログ画面1301に表示する。
【0135】
操作先の条件を設定して検索/フィルタを実行する場合、ユーザはコピーや移動、名前変更等の操作先ファイルパスを入力し、開始ボタンを押下すればよい。これにより、画像形成装置101は、入力された操作先のパスに合致する保存ログの全てをファイル操作ログ画面1301に表示する。ここで、操作先のファイルパスの一部を入力することも可能である。この場合、画像形成装置101は、入力されたファイルパスの一部が合致するパスに関する保存ログの全てをファイル操作ログ画面1301に表示する。
【0136】
上述した検索/フィルタ条件は複合設定が可能である。したがって、ユーザが複数のフィルタ条件を検索対象として選択した場合、画像形成装置101は複数の検索/フィルタ条件に対してAND条件検索を行い、条件に合致する保存ログの全てをファイル操作ログ画面1301に表示する。これにより、ユーザは、例えば、要求元にローカルを入力してNOT選択を行い、且つ、操作種別を読み出し/書き込みに指定した後、要求元と操作種別の複数フィルタ条件で検索を行うことができる。その結果、画像形成装置101は、画像形成装置101自身に保存されたファイルと画像形成装置101自身から外部に出たファイルをログとして一覧表示することができる。このようなログを管理し、表示することができる構成は、セキュリティ向上の面からも有用である。
【0137】
また、検索/フィルタ条件の複合設定により、画像形成装置101内から画像形成装置101外へのコピーと、画像形成装置101内のみでのコピーの履歴とを分けて管理することもできる。これによって、ユーザが画像形成装置101外へ持ち出したファイル操作の履歴を効率よく解析することができるようになる。
【0138】
<その他の実施形態>
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【0139】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0140】
101 画像形成装置
102,103 PC
205 HDD
206 NIC
303 ネットワークファイルサーバ
901,1001 履歴テーブル
1301 ファイル操作ログ画面
1401 検索/フィルタ画面
【技術分野】
【0001】
本発明は、ネットワークに接続され、ネットワーク上の装置との間で画像データ等のファイルアクセスを管理する画像形成装置及び履歴管理方法に関する。
【背景技術】
【0002】
画像形成装置が接続されたネットワークシステムであって、ネットワーク上の装置(画像形成装置を含む)、画像データや文書データ等のファイルをこの画像形成装置の格納領域に格納、読み出し、コピー(複写)、削除等の処理を行うものが知られている。このようなネットワークシステムにおける画像形成装置は、一般的にファイルサーバと言われる装置と比較すると、ファイル管理サーバにもなり得、且つ、ファイル操作クライアントにもなり得るという違いがある。
【0003】
また、一般的に画像形成装置がユーザインタフェース画面を有していることを利用して、スキャン処理を行い、スキャン画像データをネットワーク上の他の装置の格納領域に転送したり、画像形成装置自身の格納領域に保存したりすることが可能となる。さらに、画像形成装置がネットワーク上の他の装置の格納領域又は画像形成装置自身の格納領域から画像データを読み出して、印刷することが可能となる。すなわち、画像形成装置は、一般的なファイルサーバやファイル操作クライアントとしての機能だけでなく、画像形成処理を利用した独自の機能を有している。
【0004】
更に、ネットワークに接続された画像形成装置では、セキュリティを確保するための一機能として、ユーザの操作履歴やネットワーク上の他の装置からのアクセス履歴の管理が行われている。画像形成装置自身を含むネットワーク上の装置間でのファイル操作に関する操作履歴やアクセス履歴の管理は重要であるが、ネットワーク上での操作履歴やアクセス履歴は、以前から一般的なファイルアクセス装置でも管理されている。
【0005】
ネットワーク上の装置間で扱われるファイルに関するアクセス履歴及び操作履歴の一般的な出力方法や管理方法として、ネットワーク上のリモート装置からのファイル操作要求に対して該当するネットワークパケットをそのまま保存する方法が知られている。また、ネットワークパケット内に含まれるファイル操作コマンドや操作ユーザ情報、操作日時等を保存、管理する方法もある。
【0006】
しかしながら、一般に画像形成装置はファイルサーバやPCとは異なり、ファイルの格納領域と併せて操作履歴やアクセス履歴の格納領域が十分用意されていないことが多い。そのため、従来の管理方法をネットワーク上の画像形成装置に適用した場合、管理する履歴量が限られてしまう。
【0007】
このような問題に対処するため、操作履歴やアクセス履歴のログサイズが膨大になる場合、同類の連続した要求(コマンド)については、これらを1つの履歴にまとめたり一部を間引いたりして、操作履歴やアクセス履歴を格納し、管理する工夫がなされている。また別の工夫として、ユーザが管理する履歴の種類を指定するようにし、画像形成装置は指定された種類の履歴のみを管理する方法が提案されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平06−187213号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した従来技術では、セキュリティ確保の観点から重要である履歴であっても、ユーザが指定していない場合及びユーザが指定操作を間違えた場合には、それを保存、管理することができないという問題がある。
【0010】
また、ネットワーク上で多く使用されているファイル操作プロトコルとして、CIFS(Common Internet ファイルシステム)があるが、このようなプロトコルを用いる場合に、以下のような問題が生じる。すなわち、CIFSでは、詳細なファイル操作を行うため、より低レベルのファイルI/O(ファイルのオープン、クローズの命令やTruncate要求等)命令を行う。こうして低レベルファイルI/Oを使用してファイルアクセスを行うと、1つのファイル操作のために複数種のコマンドを使用し、複雑なシーケンスで処理することになるため、全てのコマンドに対する履歴を限られた履歴保存領域で管理するのは困難である。また、同類のコマンドの間引き処理を行ったとしても、複数種のコマンドを複雑なシーケンスで扱うCIFSの場合、間引き処理の効果は薄くなる。
【0011】
仮に複数種のコマンドに関する履歴の全てを保存、管理した場合、管理者等のユーザが画像形成装置の履歴を後日確認することを想定すると、低レベルのファイルI/Oでの複雑な履歴を検査することになる。この履歴は、CIFSプロトコルに詳しいユーザでもその解析に多大な時間を要する、複雑なものである。したがって、セキュリティの面で問題が発生したときの検証のために履歴を管理するという元来の目的を達成することが困難である。
【0012】
本発明は、限られた履歴保存領域を有効活用し、履歴の解析を容易に行うことができる画像形成装置及び履歴管理方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明に係る画像形成装置は、ネットワークに接続されており、ファイルを記憶する記憶手段と、前記ネットワークに接続された機器との間でデータの送受信を行う通信手段と、前記記憶手段に記憶されているファイルに対する前記機器からの操作要求の履歴を保持する履歴保持手段と、を備える画像形成装置であって、前記履歴保持手段は、前記操作要求を行った前記機器のアドレス、前記操作要求を行ったユーザのユーザID、前記操作要求に対して割り当てられるプロセスID毎に、少なくともアクセスパス、ツリーID、前記操作要求の種別及びアクセス日時を要求順に、一定時間、履歴として蓄積し、前記一定時間が経過したとき又は前記要求を行った前記機器から前記要求を終了させるコマンドを受信したときに、前記蓄積した履歴を解析することを特徴とする。
【発明の効果】
【0014】
本発明に係る画像形成装置によれば、限られた履歴保存領域を有効活用することができ、また、ユーザがアクセスしたファイルに対する操作履歴を分かりやすくユーザに表示させることが可能となり、更に、履歴の解析を容易に行うことができる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施形態に係る画像形成装置が接続されたネットワークシステムの概略構成を示す図である。
【図2】本発明の実施形態に係る画像形成装置の概ねのハードウェア構成を示すブロック図である。
【図3】本発明の実施形態に係る画像形成装置の概ねのソフトウェア構成を示すブロック図である。
【図4】CIFSプロトコルを使用してファイルを開く場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図5】CIFSプロトコルを使用してファイルの読み出しを行う場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図6】CIFSプロトコルを使用して編集中のファイルの保存を行う場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図7】CIFSプロトコルを使用してクライアントからサーバ内のファイルを同じサーバ内の別のパスへコピーする場合にクライアントとサーバ間で行われるシーケンスの一例を示す図である。
【図8】本発明の実施形態に係る画像形成装置で実行される履歴管理方法のフローチャートである。
【図9】本発明の実施形態に係る画像形成装置のネットワークファイルサーバが管理する履歴テーブルの構成例を示す図である。
【図10】本発明の実施形態に係る画像形成装置のネットワークファイルサーバが管理する履歴テーブルの別の構成例を示す図である。
【図11】本発明の実施形態に係る画像形成装置のネットワークファイルサーバが管理する履歴テーブルの更に別の構成例を示す図である。
【図12】図8に示すフローチャートにおけるステップS815の処理の詳細を示すフローチャートである。
【図13】図12のフローチャートの続きのフローチャートである。
【図14】本発明の実施形態に係る画像形成装置がファイルの操作ログ一覧を画像形成装置自身のユーザインタフェース上に表示した形態(表示画面)の一例である。
【図15】図14中の「検索/フィルタ」ボタンが押下された場合の表示画面の一例である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について、添付図面を参照しながら詳細に説明する。
【0017】
<ネットワークシステムの概略構成>
図1は、本発明の実施形態に係る画像形成装置が接続されたネットワークシステムの概略構成を示す図である。このネットワークシステムは、画像形成装置101とコンピュータ(PC)102,103とがネットワーク104を介して接続され、相互にデータの送受信(通信)が可能な構成を有している。
【0018】
<画像形成装置101のハードウェア構成>
図2は、画像形成装置101の概ねのハードウェア構成を示すブロック図である。画像形成装置101は、CPU201、RAM202、印刷制御部203、読取制御部204、HDD205、NIC206、USB207、ROM208を備える。画像形成装置101では、主に、CPU201が印刷制御部203や読取制御部204を制御することによって、所謂、コピーや印刷等の機能が実現される。これらの機能を実現し、制御するためのプログラムは、ROM208やHDD205に格納されており、画像形成装置101が起動時にRAM202に読み込まれ、CPU201により実行される。
【0019】
NIC206は、ネットワーク104を介してネットワークパケットの送受信を行う。USB207は、画像形成装置101の外部に存在する不揮発メモリカードやHDD等のUSBインタフェースを持つ外部記憶装置(外部データ格納領域)と接続される。HDD205は、画像データや文書データ等のファイルを格納するパーティションと、履歴保存領域としてファイル操作に関する履歴を保持するためのパーティションとを有している。画像形成装置101においてスキャン処理等の画像データ作成処理によって作成され、又は、ネットワーク104を介して受信した画像データや文書ファイルは、HDD205やUSB207に接続された外部データ格納領域にファイルとして格納される。
【0020】
<画像形成装置101のソフトウェア構成>
図3は、画像形成装置101の概ねのソフトウェア構成を示すブロック図である。各ブロックの機能は全て、CPU201が所定のプログラムを実行することにより実現される。OS301は、画像形成装置101の各種プロセス、タスクを管理し、各タスクに対して実行と制御を行うと共に、TCP/IPプロトコルスタック302(以下「TCP/IP302」と記す)を保持する。
【0021】
TCP/IP302は、画像形成装置101のネットワーク通信制御、具体的には、画像形成装置101がネットワーク104を介して相手先(例えばPC102)へ要求パケットを送信し、相手からパケットを受信するネットワークパケットの管理、制御を行う。
【0022】
ネットワークファイルサーバ303は、ネットワーク104を介して相手先からファイルを操作するための要求(以下「ファイル操作要求」と記す)を受信した場合にネットワークプロトコルに関連した処理を行う。また、ネットワークファイルサーバ303は、画像形成装置101自身からのネットワークループバック通信を使用した要求に対しても、同様の処理を行う。なお、ネットワークプロトコルとして一般に多く利用されているものとしては、CIFSが挙げられる。また、相手先からのファイル操作要求の内容としては、主に、ファイルの書き込み、読み出し、コピー、移動、名前変更、削除、属性取得等が挙げられる。ネットワークファイルサーバ303は、ファイル操作に関する履歴を保持するための履歴保持手段としての機能を有する。ハードウェアの観点からは、ファイル操作に関する履歴は、HDD205に設けられた履歴保存領域としてのパーティションに保持される。
【0023】
ファイル制御304は、ネットワークファイルサーバ303においてプロトコル処理が行われた後、個々のファイル操作要求に対してファイルシステム305へファイルI/Oを要求する。つまり、ファイル制御304は、ネットワーク処理を行っているネットワークファイルサーバ303とファイルシステム305の間に介在して、ファイル制御を行う。また、ファイル制御304は、USB207に対して外部から接続されているHDDや不揮発メモリカード等のデバイスに対しても、個別にファイル制御を行う。ファイルシステム305は、画像形成装置101内のHDD205に対して、ファイルI/O、セクタ、ブロック制御等、ファイルとその格納領域の管理と制御を行っている。
【0024】
アプリケーション306は、ファイルやディレクトリの各種情報を表示するユーザインタフェースの制御や画像形成装置101がSCANした画像データの処理、制御等を担う。ネットワークファイルクライアント307は、アプリケーション306で処理されたデータの制御や命令をファイル制御プロトコルとしてネットワーク104を介して相手先に要求するために、ネットワークパケットを生成し、送信する。
【0025】
画像形成装置101では、ネットワークファイルサーバ303が、相手先からネットワーク104を介して送信されたファイル操作要求をTCP/IP302を通じて受信し、解析する。そして、ネットワークファイルサーバ303は、ファイル制御304を介して、解析したファイル操作要求をファイルシステム305に命令する。ファイルシステム305による処理結果は、ネットワークファイルサーバ303からTCP/IP302を通じて相手先へ送信される。
【0026】
画像形成装置101では、スキャン等のイメージング処理により生成した画像データをHDD205又は外部データ格納領域に格納する命令が、アプリケーション306からファイル制御304を介してファイルシステム305に出される。
【0027】
アプリケーション306のユーザインタフェースからのファイル操作要求先がHDD205に格納されているファイルの場合、アプリケーション306は、ファイル制御304を介してファイルシステム305へ要求されたファイル操作を命令する。
【0028】
アプリケーション306のユーザインタフェースからのファイル操作要求先がネットワーク104を介した相手先に格納されているファイルの場合、ネットワークファイルクライアント307からTCP/IP302を通じて相手先へファイル操作要求がなされる。
【0029】
<クライアントとサーバの間で行われる従来のシーケンス>
図1のネットワークシステムにおいて行われるファイル操作等に関する処理フローについて説明する前に、クライアントとサーバとが接続されたネットワークシステムにおける一般的なファイル操作等に関する処理フローについて、例を挙げて説明する。
【0030】
[クライアントとサーバの間で行われるシーケンスの第1の例]
図4は、ネットワークを介したファイルアクセスで一般に使用されるCIFSプロトコルを使用してファイルを開く(ファイルオープン)場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。
【0031】
最初にステップS401では、クライアント−サーバ間では、CIFSプロトコルを使用して通信を行う場合のネゴシエート(Negotiate)が行われる。また、通信セッションの確立(Session Setup)、ツリー接続(Tree Connect)等も行われる。CIFSのネゴシエート処理では、通信コマンドのバージョンの情報等をクライアント−サーバ間で予め確認しておき、それ以降その情報に基づいて通信を行う。セッションの確立やツリー接続では、クライアント−サーバ間のドメイン及びホスト情報の交換、クライアント側のユーザを特定するためのユーザID(UID;User ID)とパスワード情報及びアクセス先共有ディレクトリのパスをやり取りが行われる。
【0032】
クライアントは、ユーザIDをサーバへ送信し、必要に応じて暗号化されたパスワード情報をサーバへ送信する。サーバは、受信したユーザIDとパスワードを検査して、CIFSセッションを確立できるか否かを判断する。CIFSセッションが確立可能である場合、サーバは、クライアントに対してユーザIDを割り当てると共に、クライアントから要求されているアクセス先共有ディレクトリのパスに対してツリーID(TID;Tree ID)を割り当てる。サーバが、ユーザIDやツリーID等の情報をクライアントに送信することによって、CIFSセッション確立やツリー接続が完了する。その後、クライアントがアクセス先共有ディレクトリの属性情報やディレクトリ内のファイル/ディレクトリのリスト情報、それらの個々の属性情報をサーバに取得するよう要求し、サーバがこれらの情報を応答として送信する。
【0033】
次に、ステップS402において、クライアントはサーバ間でやり取りした情報を使用して、サーバ側のアクセス先ファイルのオープン要求を行う。そして、ステップS403において、サーバはクライアントからのオープン要求を解析し、可能であればアクセス先ファイルを開く。オープン結果が正常の場合、サーバは開いたファイルのポインタにファイルID(FID;File ID)を割り当て、オープン処理の結果と共にファイルIDをクライアントへ送信する。その後、サーバはファイルIDを管理する。これ以降、クライアントからそのファイルIDに対するファイル操作要求があると、サーバはファイルIDに該当するファイルポインタを使用して、実際のファイルに対する処理を行う。
【0034】
ステップS401で行うネゴシエートやセッション確立、ツリー接続、属性/リスト取得は、クライアントがサーバにCIFS通信を行うために又は開くファイルへのパス情報を取得するために必要である。しかし、ステップS401の処理は、アクセス先ファイルのオープン要求ではない。したがって、図4のシーケンスの全履歴を取得し、管理した場合においてサーバに多数のファイルやディレクトリが存在する場合、クライアントとサーバ間のシーケンスが膨大になり、同時に保存する履歴も膨大となる。よって、画像形成装置101の組み込みシステムのような限られた履歴格納領域しか確保できないネットワークシステムには、図4のコマンドシーケンスをそのまま適用することは適切ではない。
【0035】
[クライアントとサーバの間で行われるシーケンスの第2の例]
図5は、ネットワークを介したファイルアクセスで一般に使用されるCIFSプロトコルを使用してファイルの読み出し(Read)を行う場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。
【0036】
ステップS501において、クライアントサーバに対して操作対象のファイルを開くオープン要求を行う。サーバはこの要求を受信して解析し、実際のファイルを開く。サーバは、ファイルを正常に開くことができた場合、そのファイルのファイルポインタにファイルIDを割り当て、クライアントへオープン結果とファイルIDを送信する。
【0037】
続くステップS502において、クライアントは該当するファイルのファイル属性の取得要求をサーバに対して行う。ここで、ファイル属性とは、ファイルの作成日時や更新日時、最終アクセス日時等の日時情報、圧縮データ、隠し属性、読み取り専用設定、一時ファイル等の各種情報を指す。このようにサーバは、受信した要求を解析し、該当するファイルに対して個々のファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【0038】
次に、ステップS503において、クライアントは、受信したファイルIDを用いてサーバに対してファイルの読み出し要求を行う。その際、クライアントは、ファイルIDに該当するファイルにおける先頭データからのオフセット値とそのオフセット値から取得するデータサイズを指定する。サーバはクライアントからの要求を受信、解析して、ファイルIDに該当するファイルにおける、クライアントから指定されたオフセット値から指定されたサイズ分のデータを読み出し、クライアントへ送信する。クライアントとサーバは、ステップS503の処理をオフセット値とサイズを変更しながら複数回繰り返す。これにより最終的に、ファイルIDに該当するファイルの全データがクライアントに読み出される。
【0039】
ステップS504において、クライアントは、ファイルIDを用いてサーバに対してファイルを閉じるためのファイルクローズ要求を行う。サーバはクライアントからの要求を受信、解析して、ファイルIDに該当するファイルをクローズし、その結果をクライアントへ送信する。
【0040】
図5のコマンドシーケンスでは、ファイルIDに該当するファイルのトータルデータサイズが大きい程、クライアント−サーバ間のコマンドシーケンスが増加する。よって、このコマンドシーケンスの全てを履歴として取得、管理した場合、同時に保存する履歴も膨大となる。よって、画像形成装置101の組み込みシステムのような限られた履歴格納領域しか確保できないネットワークシステムには、図5のコマンドシーケンスをそのまま適用することは適切ではない。
【0041】
また、図5のコマンドシーケンスでは、ファイルの読み出しや書き込み等の履歴をユーザインタフェース等に出力する際、ステップS501〜S504の間にクライアントによる複数の読み出し要求を1つの読み出し処理として出力する手法が一般的に用いられる。しかしながら、PC等からCIFSプロトコルを使用してファイルを操作する場合、クライアントのユーザによる読み出し要求以外の目的(例えば、ファイルの閲覧、取得等)のために、クライアントのアプリケーションが読み出し要求を行うことがある。具体的には、ファイル内の特定のオフセットに存在するデータ部分の読み出し、ファイルの存在確認等が挙げられる。よって、前述の出力手法では、読み出し処理に対してユーザがファイル操作を行っていないにもかかわらず、読み出し履歴が出力されてしまうことになる。
【0042】
[クライアントとサーバの間で行われるシーケンスの第3の例]
図6は、ネットワークを介したファイルアクセスで一般に使用されるCIFSプロトコルを使用して編集中のファイルを保存する場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。この例では、ユーザがファイル(/share/Folder/12345.doc)を編集し、保存するとする。この場合、ユーザからはファイルに対して編集を行っているように見えるが、実際に編集しているファイルは一時ファイルである。
【0043】
最初に、ステップS601において、クライアントはサーバに対して一時書き込みファイル(/share/Folder/D0F80A02.tmp)を開くオープン要求を行う。サーバはこの要求を受信、解析し、実際のファイルを開く。サーバは、ファイルを正常に開くことができた場合、開いたファイルのファイルポインタにファイルIDを割り当て、クライアントへオープン結果とファイルIDを送信する。
【0044】
続くステップS602において、クライアントはファイルIDを使用して、サーバに対してファイル書き込み(Write)要求を行う。その際、クライアントは、ファイルIDに該当するファイルにおける先頭データからのオフセットとそのオフセットから書込むデータサイズを指定する。サーバはクライアントからの要求を受信、解析して、ファイルIDに該当するファイルに対してクライアントから指定されたオフセットから指定されたサイズ分のデータを書き込み、クライアントへ送信する。クライアントとサーバは、ステップS602をオフセットとサイズを変更しながら複数回繰り返し、最終的にファイルIDに該当するファイルの全データが書き込まれる。
【0045】
次に、ステップS603において、クライアントは、ファイルIDを用いてサーバに対してファイルを閉じるクローズ要求を行う。サーバはクライアントからの要求を受信、解析して、指定されたファイルIDに該当するファイルをクローズし、その結果をクライアントへ送信する。続くステップS604では、クライアントはステップS601で開いたファイルとは異なる一時ファイル(バックアップファイル:/share/Folder/6AC74E1B.tmp)のファイル属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【0046】
更にステップS605において、クライアントはサーバに対して編集中のファイル(/share/Folder/12345.doc)のファイル属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【0047】
その後、ステップS606において、クライアントは編集中のファイル(/share/Folder/12345.doc)について、ファイル名をステップS604でファイル属性の取得要求を行ったファイル名への変更要求を行う。サーバは、クライアントからの要求を受信、解析して、編集中のファイル名を変更し、その結果をクライアントへ送信する。そして、ステップS607において、クライアントは一時書き込みファイル(/share/Folder/D0F80A02.tmp)のファイル名を編集中のファイル名(/share/Folder/12345.doc)へ変更する要求を行う。サーバは、ファイル名の変更結果をクライアントに返す。
【0048】
図6のコマンドシーケンスでは、サーバは、クライアントからの要求を受信、解析して一時書き込みファイル(/share/Folder/D0F80A02.tmp)の名前を変更し、その結果をクライアントへ送信する。一方、クライアントは、2つの一時ファイルを使用することによって、サーバに対して編集前のファイルをバックアップすると共に、編集後のファイルを保存することを可能にしている。一般に、一時ファイルへの書き込み処理は、ユーザ側からは認識できず、ユーザが使用しているドキュメントアプリケーション側で行っている。
【0049】
そのため、画像形成装置101が上述の処理を全て履歴として取得、管理するとした場合、一時ファイルの総データサイズが大きくなるにしたがって、クライアントとサーバ間のシーケンスが増加する。これによって、図4のコマンドシーケンスと同様に、保存する履歴も膨大となる。これは、画像形成装置101の組み込みシステムのような限られた履歴格納領域しか確保できないネットワークシステムにとっては、大きな問題となる。
【0050】
また、ファイルの書き込みに関する履歴をユーザインタフェース等に出力する場合、ステップS601〜S603の間にクライアントが要求する複数の書き込み要求を1つの書き込み処理として出力する手法が一般に行われる。しかし、PC等からCIFSプロトコルを使用してファイルを操作する場合、一般に、クライアントのユーザによる書き込み要求以外の目的(例えば、ファイル編集、保存)のために、クライアントのアプリケーションが書き込み要求を行うことがある。具体的には、ファイル内の特定のオフセットに存在するデータ対する部分書き込み等が挙げられる。
【0051】
更に、ステップS602における書き込みは、ユーザが編集しようとしているファイル(/share/Folder/12345.doc)へは書き込み処理を行わず、実際は一時ファイル(/share/Folder/D0F80A02.tmp)へ書込んでいる。よって、画像形成装置101がこの履歴をユーザインタフェースに出力してもユーザはこの履歴について認識することができず、ユーザが行ったファイル操作履歴を認識するという本来の履歴管理の目的が失われてしまう。このような事情から、図6のコマンドシーケンスをそのまま図1のネットワークシステムに適用することは適切ではない。
【0052】
[クライアントとサーバの間で行われるシーケンスの第4の例]
図7は、ネットワークを介したファイルアクセスで一般に使用されるCIFSプロトコルを使用してクライアントからサーバ内のファイルを同じサーバ内の別のパスへコピーする場合に、クライアントとサーバの間で行われるシーケンスの一例を示す図である。
【0053】
ステップS701において、クライアントは、サーバに対してコピー元となるファイルを開くオープン要求を行う。サーバはこの要求を受信、解析し、実際のファイルを開く。サーバは、ファイルを正常に開くことができた場合、開いたファイルのファイルポインタにファイルIDを割り当て、クライアントへオープン結果とファイルIDを送信する。続くステップS702において、クライアントはサーバに対して、コピー元のファイルの属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。
【0054】
次いで、ステップS703にて、クライアントは、サーバへコピー先となるファイルパスを開くためのオープン要求を行う。サーバはこの要求を受信、解析し、実際のファイルを開く。サーバは、開くファイルが存在しない場合は、ファイルの新規作成を行い、作成したファイルを開く。サーバは、新規作成したファイルを開いた場合又は正常にファイルを開くことができた場合、開いたファイルのファイルポインタにファイルIDを割り当て、クライアントへオープン結果とファイルIDを送信する。
【0055】
続いて、ステップS704において、クライアントはサーバに対してコピー先のファイルの属性を取得する要求を行う。サーバは受信した要求を解析し、該当するファイルについてファイル毎に管理されている属性情報を取得し、クライアントへ送信する。その後、ステップS705において、クライアントはサーバに対してステップS701で取得したファイルIDを用いてファイルデータの読み出し(Read)要求を行う。その際、クライアントは、ファイルIDに該当するファイルにおける先頭データからのオフセットとそのオフセットから取得するデータサイズを指定する。サーバは、クライアントからの要求を受信、解析して、ファイルIDに該当するファイルから指定されたオフセットから指定されたサイズ分のデータを読み出し,クライアントへ送信する。クライアントとサーバはステップS705の処理をオフセットとサイズとを変更しながら複数回繰り返し、最終的にファイルIDに該当するコピー元のファイルの全データが読み出される。
【0056】
次に、ステップS706にて、クライアントはサーバに対して、ステップS703で取得したファイルIDを使用してファイル書き込み(Write)要求を行う。その際、クライアントは、ファイルIDに該当するファイルにおける先頭データからのオフセットとそのオフセットから書き込むデータサイズを指定する。サーバはクライアントからの要求を受信、解析して、ファイルIDに該当するファイルに対してクライアントから指定されたオフセットから指定されたサイズ分のデータを書き込み、クライアントへ送信する。クライアントとサーバはステップS706をオフセットとサイズを変更しながら複数回繰り返し、最終的にファイルIDに該当するコピー先ファイルの全データが書き込まれる。
【0057】
ステップS707にて、クライアントはステップS703で取得したファイルIDを用いてサーバへファイルを閉じるクローズ要求を行う。サーバはクライアントからの要求を受信、解析して、ファイルIDに該当するファイルを閉じて、その結果をクライアントへ送信する。
【0058】
図7のコマンドシーケンスでは、クライアントは、サーバ上に存在するファイルを同じサーバ上の別のパスにコピーするため、コピー元のファイルデータを一旦読み出し、読み出したデータをサーバ上のコピー先のパスに対して書き込む処理を行っている。CIFSプロトコルの仕様にはCOPY要求も存在しているが、COPY要求を使用せずに、図7のコマンドシーケンスを用いてファイルコピーを実現することが可能である。
【0059】
しかしながら、画像形成装置101で図7のコマンドシーケンスによる上述の処理の全履歴の取得、管理を行うとした場合、以下のような問題が生じる。すなわち、クライアントは、コピー元ファイルをクライアント自身へ一旦読み出した後、そのデータをサーバのコピー先に書き込む処理を行っているため、履歴上はコピーではなく、読み出しと書き込み(Read&Write)となってしまう。一般的にPCを使用するユーザにとって、自身の行ったファイル操作としてファイルコピーを行ったにもかかわらず、履歴が読み出しと書き込みという形で出力されてしまうことは、履歴を管理する上で混乱を生じさせることとなる。
【0060】
また、図7のコマンドシーケンスによる方法で履歴を管理した場合、後日、セキュリティ上の何らかの問題が発生した場合に、履歴からファイル操作ログを調査することが困難になってしまう。このような事情から、図7のコマンドシーケンスをそのまま図1のネットワークシステムに適用することは適切ではない。
【0061】
<履歴管理方法>
次に、図4〜7のCIFSプロトコルを用いた例について上記の通りに指摘した問題を解決した履歴管理方法を、図1に示したネットワークシステムに適用して説明する。図8は、本実施形態に係る履歴管理方法のフローチャートである。ここでは、画像形成装置101とPC102(又はPC103)がそれぞれ、図4〜7で説明したサーバとクライアントに対応する。
【0062】
画像形成装置101のネットワークファイルサーバ303は、クライアントであるPC102からTCP/IP302を経由して、ファイルアクセス要求を受信する(ステップS801)。ネットワークファイルサーバ303は、操作要求の対象となっているアクセス先を受信データから解析し、ファイル制御304を経由してファイルシステム305に対して該当するアクセス先が存在するパスか否かを判定する(ステップS802)。
【0063】
アクセス先が存在しない場合(S802で“NO”)、ネットワークファイルサーバ303は、ファイル操作履歴を取得せず、処理を終了させる。なお、この場合には不図示であるが、ネットワークファイルサーバ303は同時にPC102からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、PC102へ送信する。アクセス先が存在する場合(S802で“YES”)、ネットワークファイルサーバ303は、アクセス先のパスがファイルか否かを判定する(ステップS803)。
【0064】
アクセス先がファイル以外(例えば、ディレクトリ等)の場合(S803で“NO”)、ネットワークファイルサーバ303は、ファイル操作履歴を取得せず、処理を終了させる。なお、この場合には不図示であるが、ネットワークファイルサーバ303は同時にPC102からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、PC102へ送信する。
【0065】
アクセス先がファイルの場合(S803で“YES”)、ネットワークファイルサーバ303は、処理をステップS804へ進める。ステップS804では、ネットワークファイルサーバ303は、自身の中で管理している履歴テーブルから送信元アドレス(つまり、PC102のアドレス)、ユーザID、プロセスID(PID;Process ID)が同一の履歴が存在するか否かを判定する。なお、履歴テーブルは、ハードウェアの観点からは、HDD205に設けられた履歴保存領域としてのパーティションに保持されている。プロセスIDは、操作要求に係るファイル操作(読み出し、書き込み等)毎に割り当てられている。
【0066】
同一の履歴が存在しない場合(S804で“NO”)、ネットワークファイルサーバ303は、PC102からの操作要求の種別(以下「要求コマンド種別」という)を判定する(ステップS806)。要求コマンド種別がファイル操作関連要求である場合(S806で“YES”)、処理はステップS808へ進められる。但し、ステップS806におけるファイル操作関連要求とは、読み出し(Read)、書き込み(Write)、削除(Delete)、名前変更(Rename)、移動(Move)、コピー(複写;Copy)である。
【0067】
なお、CIFSプロトコルの仕様として、PC102がファイルオープン要求時にファイル削除フラグを立てることで、ネットワークファイルサーバ303は、PC102からファイルクローズ要求を受信すると、対象ファイルを削除する。このファイル操作はファイル操作関連要求の削除要求に含まれる。したがって、ネットワークファイルサーバ303は、ファイルオープン要求受信時にファイル削除フラグを検査し、削除要求か否かを判定する。
【0068】
ファイル操作関連要求でない場合(S806で“NO”)、ネットワークファイルサーバ303は、ファイル操作履歴を取得せず、処理を終了させる。この場合には不図示であるが、ネットワークファイルサーバ303は、PC102からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、PC102へ送信する。
【0069】
ステップS804において同一の履歴が存在する場合(S804で“YES”)、ネットワークファイルサーバ303は以前にPC102からファイル操作関連要求を受信していることになり、また、後述する履歴取得タイマが動作中である。したがって、ネットワークファイルサーバ303は、履歴テーブル上の該当する履歴に関連付けられた履歴取得タイマを停止させて初期化し(ステップS805)、その後、処理をステップS807に進める。ステップS807では、ネットワークファイルサーバ303は、ステップS806の処理と同様に、PC102からの要求コマンド種別を検査する。要求コマンド種別が読み出し、書き込み、削除、名前変更、移動、コピーのいずれかである場合(S807で“YES”)、ネットワークファイルサーバ303は、処理をステップS808に進める。
【0070】
ステップS808では、ネットワークファイルサーバ303は、送信元アドレス、ユーザID、プロセスID毎の履歴テーブルにアクセスパス、ツリーID、要求コマンド種別、アクセス日時をPC102からの要求順、つまり時系列で登録し、蓄積する。その後、ネットワークファイルサーバ303は、要求コマンド種別が読み出し又は書き込みであるか否かを判定する(ステップS810)。
【0071】
要求コマンド種別が読み出し又は書き込みである場合(S810で“YES”)、ネットワークファイルサーバ303は、PC102からの受信データからデータサイズとオフセット値を取得し、履歴テーブルに登録する(ステップS812)。その後、ネットワークファイルサーバ303は、処理をステップS814へ進める。要求コマンド種別が読み出しでも書き込みでもない場合(S810で“NO”)、ネットワークファイルサーバ303は、要求コマンド種別が名前変更、移動、コピーのいずれかであるか否かを判定する(ステップS811)。
【0072】
要求コマンド種別が名前変更、移動、コピーのいずれかである場合(S811で“YES”)、ネットワークファイルサーバ303は、処理をステップS813に進める。ステップS813では、ネットワークファイルサーバ303は、履歴テーブルに該当する要求コマンド種別先のパス(名前変更先パス又は移動先パス又はコピー先パス)を登録し、その後、処理をステップS814に進める。要求コマンド種別が名前変更でも移動でもコピーでもない場合(S811で“NO”)、ネットワークファイルサーバ303は、処理をステップS814に進める。
【0073】
ステップS814では、ネットワークファイルサーバ303は、送信元アドレス、ユーザID、プロセスIDが同一である履歴に対して履歴取得タイマを関連付け、履歴取得タイマを起動する。これによって、ネットワークファイルサーバ303は、履歴取得タイマに設定された一定時間が経過するまで、PC102から次の履歴保存対象となるファイル操作関連要求を待つ。ネットワークファイルサーバ303は、PC102から次の要求を受信する前に履歴取得タイマがタイムアウトした場合、本処理を終了させる。本処理の終了は、ネットワークファイルサーバ303が、PC102からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、PC102へ送信することにより行われる。
【0074】
ステップS807において、要求コマンド種別が読み出し、書き込み、削除、名前変更、移動、コピーのいずれでもない場合(S807で“NO”)ネットワークファイルサーバ303は、処理をステップS809へ進める。ステップS809では、ネットワークファイルサーバ303は、要求コマンド種別がログオフ(Logoff)、ツリー(Tree)切断、セッション切断のいずれかであるか否かを判定する。すなわち、要求コマンド種別が、ファイル操作を終了させるためのコマンドであるか判定する。
【0075】
要求コマンド種別がログオフ、ツリー切断、セッション切断のいずれでもない場合(S809で“NO”)、ネットワークファイルサーバ303は、本処理を終了させる。このとき、ネットワークファイルサーバ303は、PC102からの要求に対する所望の処理を行い、処理結果に対する応答データを生成し、PC102へ送信する。要求コマンド種別がログオフ、ツリー切断、セッション切断のいずれかである場合(S809で“YES”)、ネットワークファイルサーバ303は、一連のファイル操作が終了したと判断し、保存履歴の解析のために処理をステップS815へ進める。
【0076】
さて、ステップS814にて起動した履歴取得タイマがタイムアウトするということは、ネットワークファイルサーバ303が一定時間の間にPC102から次のファイル操作関連要求を受信しなかったことを意味する。そこで、この場合には、ネットワークファイルサーバ303は、上述の通りに本処理を終了させると共に、一連のファイル操作が終了したとみなして、保存履歴の解析処理を開始する。
【0077】
履歴取得タイマは、画像形成装置101内の設定項目として変更することができる。ステップS815では、ネットワークファイルサーバ303は、該当する履歴テーブル内の履歴パターンを解析する。その解析結果に基づいて、ネットワークファイルサーバ303は、PC102のユーザが行ったファイル操作を推測し、得られたファイル操作ログを自身が管理しているログ出力テーブルに登録する。このステップS815の内容については、後に詳細に説明する。
【0078】
続いて、ネットワークファイルサーバ303は、ログ出力テーブル内のファイル操作ログをローカルやリモート経由でユーザインタフェース上に表示し、ログファイルとして出力し、またはログ管理サーバ(図1には不図示)に送信する(ステップS816)。その後、ネットワークファイルサーバ303は処理を終了させる。
【0079】
<履歴テーブルの第1の例>
図9は、画像形成装置101のネットワークファイルサーバ303が管理する履歴テーブルの構成例を示す図である。履歴テーブル901は、クライアントであるPC102(又はPC103)が、ファイルの読み出し要求を行った場合に、図8のフローにおいてネットワークファイルサーバ303が登録し、生成した履歴テーブルの例である。
【0080】
同一のファイルに対する読み出し要求を履歴テーブル901から特定する場合、ネットワークファイルサーバ303は、PC102(又はPC103)が行った読み出し要求であり、ファイルパスが同一の履歴を解析する。この履歴解析には、3つの着目点が存在する。
【0081】
1番目は、履歴テーブル内に読み出し要求の履歴が少なくとも1つ以上存在することである。2番目は、PC102(又はPC103)が行った読み出し要求の対象ファイルに対して、全データを読み出していることであり、ファイル内の一部オフセットのみの読み出しは、ユーザによるファイルの読み出しとして扱わないことである。3番目は、PC102(又はPC103)が行った個々の読み出し要求から次の読み出し要求までの時間間隔が短いことであり、これによって同一のファイルに対するユーザからの複数回の読み出し要求を区別可能なことである。なお、3番目の着目点における時間間隔は、画像形成装置101上で設定することができ、画像形成装置101を使用するネットワーク環境を考えた場合、0.2秒より短いことが好ましい。
【0082】
これらの3つの着目点に関する条件は、送信元IPアドレスが同じであり、且つ、ユーザIDとプロセスIDが同じという条件下で、ネットワークファイルサーバ303が検査する。これら3つの着目点を全て満たす履歴が存在する場合、ネットワークファイルサーバ303は、その履歴をPC102(又はPC103)からのファイルの読み出し要求として纏める。なお、履歴テーブル901では、PC102(又はPC103)からの読み出し要求について説明したが、上述の3つの着眼点は、PC102(又はPC103)からの書き込み要求についても、同様の内容で適用することができる。
【0083】
<履歴テーブルの第2の例>
図10は、画像形成装置101のネットワークファイルサーバ303が管理する履歴テーブルの別の構成例を示す図である。履歴テーブル1001は、履歴テーブル901とは異なる履歴一覧を示している。履歴テーブル1001は、画像形成装置101内の異なるパスへのファイルコピーについて、図8のフローにおいてネットワークファイルサーバ303が登録、生成した履歴テーブルの例である。
【0084】
この場合、ネットワークファイルサーバ303は、クライアントであるPC102(又はPC103)が行った読み出し要求であり、ツリーID、ファイルID及びファイルパスが同一の履歴を解析する。また、ネットワークファイルサーバ303は、PC102(又はPC103)が行った書き込み要求であり、ツリーID、ファイルID及びファイルパスが同一の履歴を解析する。この履歴解析には、6つの着目点が存在する。
【0085】
1番目は、履歴テーブル1001内に読み出し要求と書き込み要求の履歴が少なくとも1つ以上存在することである。2番目は、PC102(又はPC103)が行った読み出し要求の対象ファイルに対して、全データを読み出していることであり、ファイル内の一部オフセットのみの読み出しは、ユーザによるファイルの読み出しとして扱わないことである。3番目は、PC102(又はPC103)が行った個々の書き込み要求のサイズとオフセット値から、書込まれたファイルのサイズが、読み出したファイルのサイズと一致していることである。
【0086】
4番目は、PC102(又はPC103)が行った個々の読み出し要求から次の読み出し要求までの時間間隔が短いことである。これにより、ネットワークファイルサーバ303は、ユーザからの画像形成装置101内の異なるパスに対するファイルコピーとユーザからの通常のファイル読み出し要求とを区別することができる。5番目は、PC102(又はPC103)が行った個々の書き込み要求から次の書き込み要求までの時間間隔が短いことである。これにより、ネットワークファイルサーバ303は、ユーザからの画像形成装置101内の異なるパスに対するファイルコピーとユーザからの通常のファイル書き込み要求とを区別することができる。6番目は、PC102(又はPC103)が行った個々の読み出し要求から次の書き込み要求までの時間間隔が短いことである。
【0087】
これら4番目、5番目及び6番目の着目点における時間間隔は、画像形成装置101上で設定することができ、画像形成装置101を使用するネットワーク環境を考えた場合、0.2秒より短いことが好ましい。なお、これら6つの着目点に関する条件は、送信元のIPアドレスが同じであり、且つ、ユーザIDとプロセスIDが同じという条件下において、ネットワークファイルサーバ303が検査する。また、これら6つの着目点を全て満たす履歴が存在する場合、ネットワークファイルサーバ303は、それらの履歴をネットワークファイルサーバ303内における異なるパスへのファイルコピーとして纏める。
【0088】
<履歴テーブルの第3の例>
図11は、画像形成装置101のネットワークファイルサーバ303が管理する履歴テーブルの更に別の構成例を示す図である。履歴テーブル1101は、図9の履歴テーブル901及び図10の履歴テーブル1001と異なる履歴一覧を示している。履歴テーブル1101は、クライアントであるPC102(又はPC103)が編集ファイルの保存時にバックアップを目的として画像形成装置101内に作成した一時ファイルに対する操作について、ネットワークファイルサーバ303が生成した一例である。
【0089】
履歴テーブル1101には、PC102(又はPC103)のユーザがファイル(/user/2741/abcde.doc)を編集し、保存した場合の履歴が示されている。この場合、ユーザからはファイル(abcde.doc)に対して編集を行っているように見える。しかし、実際に編集しているファイルは、一時ファイル(/user/2741/~$bcde.tmp)である。
【0090】
編集ファイルの保存時における一時ファイルへの操作を履歴テーブル1101から特定する場合、ネットワークファイルサーバ303は、PC102(又はPC103)が行った書き込み要求であり、ファイルパスが同一の履歴を解析する。また、ネットワークファイルサーバ303は、PC102(又はPC103)が名前変更又は移動又はコピーの要求を行ったファイルパスを解析する。この履歴解析には、9つの着目点が存在する。
【0091】
1番目は、履歴テーブル1101内に書き込み要求の履歴が少なくとも1つ以上存在することである。2番目は、PC102(又はPC103)が行った書き込み要求の対象ファイルに対して、全データを書き込んでいることである。全データを書き込んだか否かは、PC102(又はPC103)がネットワークファイルサーバ303に対して書き込み要求前に行うファイルサイズ通知(EOF設定通知)によって確認することができる。3番目は、履歴テーブル1101内に名前変更又は移動又はコピーの要求の履歴が少なくとも2つ以上存在することである。
【0092】
4番目は、PC102(又はPC103)が行った書き込み要求、名前変更もしくは移動もしくはコピーの要求が全て同じツリーIDであることである。5番目は、PC102(又はPC103)が行った書き込み要求のファイルパスと、PC102(又はPC103)が行った名前変更又は移動又はコピーの要求の要求元ファイルパスが同じであることである。6番目は、PC102(又はPC103)が行った名前変更又は移動又はコピーの要求の要求元パスと、その履歴より後にPC102(又はPC103)が行った別の名前変更又は移動又はコピーの要求の要求先パスが同じであることである。
【0093】
7番目は、PC102(又はPC103)が行った個々の書き込み要求から次の書き込み要求までの時間間隔が短いことであり、これによって同一ファイルに対するユーザからの複数回の書き込み要求を区別することができる。8番目は、PC102(又はPC103)が行った最後の書き込み要求から次の名前変更又は移動又はコピーの要求までの時間間隔が短いことである。9番目は、上述の3番目の内容について、PC102(又はPC103)が行った複数の名前変更又は移動又はコピーの要求間の時間間隔が短いことである。これら8番目と9番目の特徴によって、PC102(又はPC103)からの編集ファイル保存時における一時ファイルへの操作と、ユーザからのファイル名変更やファイル移動、ファイルコピー要求とを区別することができる。これら7番目、8番目及び9番目の時間間隔は、画像形成装置101上で設定することができ、画像形成装置101を使用するネットワーク環境を考えると、0.2秒より短いことが好ましい。
【0094】
なお、これら9つの着目点に関する条件は、送信元のIPアドレスが同じであり、且つ、ユーザIDとプロセスIDが同じという条件下において、ネットワークファイルサーバ303が検査する。これら9つの着目点を全て満たす履歴が存在する場合、ネットワークファイルサーバ303は、履歴テーブルからそれらの履歴を編集ファイルの保存時における一時ファイルに対する操作として纏める。その際にネットワークファイルサーバ303は、上述の6番目の着目点の内容で一致したファイルパスに対して、ユーザからのファイル保存として履歴を纏める。
【0095】
<ステップS815の処理の詳細>
図12及び図13は、図8に示すフローチャートにおけるステップS815の処理の詳細を示すフローチャートであり、上記の通りに説明した図9、図10、図11の内容を踏まえた処理内容を示している。
【0096】
先ず、ネットワークファイルサーバ303は、履歴テーブル上に解析を完了していない履歴が残されているか否かを判定する(ステップS1201)。解析が未完了の履歴がない場合(S1201で“NO”)、解析処理を終了する。解析の必要がある履歴が残っている場合(S1201で“YES”)、ネットワークファイルサーバ303は、その履歴が読み出し要求に係るものか否かを判定する(ステップS1202)。
【0097】
読み出し要求ではない場合(S1202で“NO”)、ネットワークファイルサーバ303は、後述するステップS1216に処理を進める。読み出し要求である場合(S1202で“YES”)、解析が完了していない他の履歴であって書き込み要求の履歴が存在するか否かを判定する(ステップS1203)。
【0098】
書き込み要求の履歴が存在しない場合(S1203で“NO”)、ネットワークファイルサーバ303は、後述するステップS1212に処理を進める。書き込み要求の履歴が存在する場合(S1203で“YES”)、ネットワークファイルサーバ303は、履歴テーブル内の全ての読み出し要求履歴から、ツリーID、ファイルパス及びファイルIDが一致するものを抽出する(ステップS1204)。ステップS1204ではまた、ネットワークファイルサーバ303は、抽出した読み出し要求履歴について、履歴毎のアクセス日時から読み出し要求履歴と次の読み出し要求履歴との時間間隔を検査する。そして、時間間隔が予め定められた設定値の範囲内である読み出し要求履歴のみを、抽出した読み出し要求履歴から抽出して、テーブル(以下「テーブルA」という)に格納する。テーブルAは、HDD205に設けられた履歴保存領域としてのパーティションに保持され、後述するテーブルB〜Gについても同様である。
【0099】
続いて、ネットワークファイルサーバ303は、テーブルA内の全ての読み出し要求履歴のオフセットとサイズに基づいて、クライアントであるPC102が対象ファイルの全データを読み出したか否かを検査する(ステップS1205)。対象ファイルの全データが読み出されていない場合(S1205で“NO”)、ネットワークファイルサーバ303は、処理をステップS1212へ進める。
【0100】
対象ファイルの全データが読み出されている場合(S1205で“YES”)、ネットワークファイルサーバ303は、履歴テーブル内の全ての書き込み履歴から、ツリーID、ファイルパス及びファイルIDが一致するものを抽出する(ステップS1206)。ステップS1206ではまた、ネットワークファイルサーバ303は、抽出した書き込み要求履歴に対して、履歴毎のアクセス日時から書き込み要求履歴と次の書き込み要求履歴との時間間隔を検査する。その検査結果に基づいて、ネットワークファイルサーバ303は、時間間隔が設定値の範囲内である書き込み要求履歴のみを、抽出した書き込み要求履歴から抽出して、テーブル(以下「テーブルB」という)に格納する。
【0101】
次に、ネットワークファイルサーバ303は、テーブルBの中に書き込み履歴が存在するか否かを検査する(ステップS1207)。書き込み履歴が存在しない場合(S1207で“NO”)、ネットワークファイルサーバ303は、処理をステップS1212へ進める。書き込み履歴が存在する場合(S1207で“YES”)、ネットワークファイルサーバ303は、テーブルAとテーブルBとを合わせた履歴を時系列順に並べ、履歴毎のアクセス日時から個々の履歴と履歴との時間間隔を検査する(ステップS1208)。また、ステップS1208では、ネットワークファイルサーバ303は、時間間隔が設定値の範囲内である全ての履歴を抽出して、テーブル(以下「テーブルC」という)に格納する。
【0102】
その後、ネットワークファイルサーバ303は、テーブルCの読み出し要求におけるデータサイズとオフセット値から、PC102が読み出し要求に係る対象ファイルの全データを読み出したか否かを検査する(ステップS1209)。対象ファイルの全データが読み出されていない場合(S1209で“NO”)、ネットワークファイルサーバ303は、処理をステップS1212へ進める。対象ファイルの全データが読み出されている場合(S1209で“YES”)、ネットワークファイルサーバ303は、ステップS1210へ処理を進める。ステップS1210では、ネットワークファイルサーバ303は、テーブルCの読み取りサイズとオフセット及び書き込みサイズとオフセットから、PC102が読み出したファイルサイズと書き込んだファイルサイズとが一致しているか否かを検査する。
【0103】
ファイルサイズが一致していない場合(S1210で“NO”)、ネットワークファイルサーバ303は、処理をステップS1212へ進める。ファイルサイズが一致している場合(S1210で“YES”)、ネットワークファイルサーバ303は、テーブルCの履歴と同じ履歴テーブル上の履歴に対して、コピー履歴としてまとめ、ログ出力対象とする(ステップS1211)。ステップS1211の後、ネットワークファイルサーバ303は、処理をステップS1201へ戻す。なお、ステップS1211においてログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0104】
ステップS1212では、ネットワークファイルサーバ303は、履歴テーブル内の全ての読み出し要求履歴から、ファイルパスが一致するものを抽出する。また、ネットワークファイルサーバ303は、抽出した読み出し要求履歴に対して、履歴毎のアクセス日時から読み出し要求履歴と次の読み出し要求履歴との時間間隔を検査する。更に、ネットワークファイルサーバ303は、時間間隔が設定値の範囲内である読み出し要求履歴のみを、抽出した読み出し要求履歴から抽出して、テーブル(以下「テーブルD」という)に格納する。
【0105】
その後、ネットワークファイルサーバ303は、テーブルDの読み出し要求におけるデータサイズとオフセット値とから、PC102が読み出し要求の対象ファイルの全データを読み出したか否かを検査する(ステップS1213)。対象ファイルの全データが読み出されていない場合(S1213で“NO”)、ネットワークファイルサーバ303は、後述するステップS1215へ処理を進める。対象ファイルの全データが読み出されている場合(S1213で“NO”)、ネットワークファイルサーバ303は、テーブルDと同じ履歴テーブルの履歴を読み取り履歴としてまとめ、ログ出力対象とする(ステップS1214)。その後、ネットワークファイルサーバ303は、処理をステップS1201へ戻す。なお、ステップS1214でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0106】
ステップS1215では、ネットワークファイルサーバ303は、履歴テーブル上の履歴であってテーブルDの履歴と同じ履歴をログ出力対象外とし、処理をステップS1201へ戻す。なお、ステップS1215でログ出力対象外となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0107】
さて、ステップS1202において解析対象の履歴が読み出し要求ではない場合(S1202で“NO”)、ネットワークファイルサーバ303は、解析対象の履歴が書き込み要求か否かを検査する(ステップS1216)。解析対象の履歴が書き込み要求ではない場合(S1216で“NO”)、ネットワークファイルサーバ303は、解析対象の履歴をログ出力対象とする(ステップS1217)。その後、ネットワークファイルサーバ303は、処理をステップS1201へ戻す。なお、ステップS1217でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0108】
解析対象の履歴が書き込み要求の場合(S1216で“YES”)、ネットワークファイルサーバ303は、処理をステップS1219へ進める。ステップS1219では、ネットワークファイルサーバ303は、履歴テーブル内の全ての書き込み要求履歴からファイルパスが一致するものを抽出する。また、ネットワークファイルサーバ303は、抽出した書き込み要求履歴に対して、履歴毎のアクセス日時から書き込み要求履歴と次の書き込み要求履歴との時間間隔を検査する。更に、ネットワークファイルサーバ303は、時間間隔が設定値の範囲内である書き込み要求履歴のみを、抽出した書き込み要求履歴から抽出して、テーブル(以下「テーブルE」という)に格納する。
【0109】
ステップS1219の後、ネットワークファイルサーバ303は、テーブルE内の全ての書き込み要求履歴のオフセットとサイズとに基づいて、PC102が対象ファイルの全データを書き込んだか否かを検査する(ステップS1220)。全データが書き込まれた否かは、PC102がネットワークファイルサーバ303に対して書き込み要求前に行うファイルサイズ通知(EOF設定通知)によって確認することができる。
【0110】
対象ファイルの全データが書き込まれていない場合(S1220で“NO”)、ネットワークファイルサーバ303は、先に説明したステップS1215へ処理を進める。この場合、ステップS1215にて、ネットワークファイルサーバ303は、履歴テーブル上の履歴であってテーブルEの履歴と同じ履歴をログ出力対象外とし、その後、処理をステップS1201へ戻す。なお、ステップS1220からステップS1215へ進んだ場合も、ステップS1215でログ出力対象外となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0111】
対象ファイルの全データが書き込まれている場合(S1220で“YES”)、ネットワークファイルサーバ303は、処理をステップS1221へ進める。ステップS1221では、ネットワークファイルサーバ303は、書き込み要求と同一のツリーIDを使用している名前変更、移動、コピーのいずれかの要求履歴が履歴テーブル内に複数存在するか否かを検査する。ここで、複数存在することを確認するのは、編集ファイルの保存時における一時ファイルへの操作を行うためには、一般に、コピー、移動、名前変更のいずれかを複数回行う必要があるためである。
【0112】
名前変更、移動、コピーのいずれかの要求履歴が複数存在しない場合(S1221で“NO”)、ネットワークファイルサーバ303は、処理をステップS1218へ進める。ステップS1218では、ネットワークファイルサーバ303は、履歴テーブル上の履歴であってテーブルEの履歴と同じ履歴を書き込み要求履歴として纏め、ログ出力対象とし、その後、処理をステップS1201へ戻す。なお、ステップS1218でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理の対象とならない。
【0113】
ステップS1221において、名前変更、移動、コピーのいずれかの要求履歴が複数存在する場合(S1221で“YES”)、ネットワークファイルサーバ303は、処理をステップS1222に進める。
【0114】
ステップS1222では、ネットワークファイルサーバ303は、先ず、書き込み要求と同一のツリーIDを使用している名前変更、移動、コピー、削除の要求履歴の全てを抽出する。ネットワークファイルサーバ303はまた、抽出した全ての履歴に対して履歴毎のアクセス日時から履歴と次の履歴との時間間隔を検査する。ネットワークファイルサーバ303は更に、抽出した履歴から時間間隔が設定値の範囲内である履歴のみを抽出して、テーブル(以下「テーブルF」という)に格納する。
【0115】
その後、ネットワークファイルサーバ303は、テーブルFに名前変更、移動、コピーのいずれかの要求履歴が複数存在するか否かを検査する(ステップS1223)。複数存在することを確認するのは、編集ファイルの保存時における一時ファイルへの操作を行うためには、一般に、コピー、移動、名前変更のいずれかを複数回行う必要があるためである。名前変更、移動、コピーのいずれかの要求履歴が複数存在しない場合(S1223で“NO”)、ネットワークファイルサーバ303は、処理をステップS1218へ進める。名前変更、移動、コピーのいずれかの要求履歴が複数存在する場合(S1223で“YES”)、ネットワークファイルサーバ303は、処理をステップS1224へ進める。
【0116】
ステップS1224では、ネットワークファイルサーバ303は、テーブルEとテーブルFとを合わせた履歴を時系列順に並べ、履歴毎のアクセス日時から個々の履歴と履歴との時間間隔を検査する。そして、ネットワークファイルサーバ303は、時間間隔が設定値の範囲内である履歴の全てを抽出して、テーブル(以下「テーブルG」という)に格納する。
【0117】
ステップS1224の後、ネットワークファイルサーバ303は、テーブルG内に、書き込み要求履歴のファイルパスと同じパスが名前変更、移動、コピーのいずれかの要求履歴の処理元ファイルパスに存在するか否かをチェックする(ステップS1225)。ファイルパスが存在しない場合(S1225で“NO”)、ネットワークファイルサーバ303は、処理をステップS1218へ進める。ファイルパスが存在する場合(S1225で“YES”)、ネットワークファイルサーバ303は、処理をステップS1226へ進める。
【0118】
ステップS1226では、ネットワークファイルサーバ303は、テーブルGに名前変更、移動、コピーの履歴の処理元パスと同じパスが別の名前変更、移動、コピーの履歴の処理先パスに存在するか否かを検査する(ステップS1226)。パスが存在しない場合(S1226で“NO”)、ネットワークファイルサーバ303は、処理をステップS1218に進める。パスが存在する場合(S1226で“YES”)、ネットワークファイルサーバ303は、履歴テーブル上の履歴であってテーブルGの履歴と同じ履歴を一時ファイル操作履歴としてまとめ、ログ出力対象とする(ステップS1227)。ステップS1227の後、ネットワークファイルサーバ303は、処理をステップS1201に戻す。なお、ステップS1227でログ出力対象となった履歴は、解析完了履歴として扱われ、以降の履歴解析処理とならない。以上のことから、ファイル操作に関する履歴を効率よく纏めることによって画像形成装置101内で管理できる限られた履歴保存領域を有効に活用することができる。
【0119】
<履歴のユーザインタフェースへの表示>
画像形成装置101において処理した履歴をユーザインタフェースに表示する形態について以下に説明する。図14は、画像形成装置101がファイルの操作ログ一覧を画像形成装置101自身のユーザインタフェース上に表示した形態の一例である。すなわち、ファイル操作ログ画面1301には、画像形成装置101が図8と図12,13を参照して説明したフローチャートに従ってネットワークファイルサーバ303が処理し、纏めたログ出力対象となった履歴が表示されている。なお、画像形成装置101のアプリケーション306がファイル操作ログ画面1301の表示処理を担う。
【0120】
ファイル操作ログ画面1301における表示項目は、ここでは、操作日時と操作を行った要求元の情報、操作ユーザ名、操作対象となったファイルのパス、ユーザが行った操作種別及びファイル操作先情報となっている。操作日時について、画像形成装置101は、ユーザがファイル操作を行った日時を表示するが、図8及び図12,13のフローによって履歴が纏められた場合には、このフローによって処理した最後の履歴における日時を表示する。要求元について、画像形成装置101は、主に画像形成装置101への要求を行った機器(例えば、PC102)のIPアドレスや画像形成装置101自身を表示する。
【0121】
ユーザ名について、画像形成装置101は、画像形成装置101内の設定が認証を要求する設定になっている場合に、ログインしたユーザ名を表示する。認証設定になっている場合は、ゲスト(Guest)、コモン(Common)等の共通ユーザ名を表示する。操作対象について、画像形成装置101は、主に文書ファイルや画像ファイル、テキストファイル等を表示するが、一般的なファイルサーバと同じく、どのようなファイルでも形式を問わず、表示する。なお、画像形成装置101では、画像形成装置101内の設定によって、印刷可能ファイル、文書ファイル等、扱えるファイルの種別を変更することもできる。
【0122】
操作種別について、画像形成装置101は、ユーザが操作対象のファイルに対して行った操作の種別を表示する。画像形成装置101は、読み出し、書き込み、移動(名前変更)、コピー、削除のいずれかを表示する。操作先について、画像形成装置101は、操作種別が移動(名前変更)とコピーの場合に、移動(名前変更)先、コピー先を表示する。移動(名前変更)及びコピーとは、ここでは、画像形成装置101内での移動(名前変更)、コピーを意味する。ユーザがファイルを画像形成装置101外へ移動(名前変更)させ、又はコピーした場合、操作種別は読み出しとして扱われる。また、画像形成装置101のUSB207に接続されたデバイス(メモリやHDD等)へファイルをコピーする場合、画像形成装置101は、操作先をUSBと表示する。
【0123】
ファイル操作ログ画面1301は、ユーザによる各種の項目選択を可能にするために、所謂、タッチパネル機能を備えているか、または、画像形成装置101が有する不図示の操作ボタンにより項目選択が可能となっている。
【0124】
ファイル操作ログ画面1301は選択欄を備えており、ログを閲覧しているユーザが個々の履歴に対して選択欄をチェックし、「ファイル出力」ボタンを押下すると、選択した個々のログを画像形成装置内のHDD205に格納することができるようになっている。これにより、ネットワーク上の機器を操作するユーザが、ログファイルを取得したり、画像形成装置101がリモートの履歴管理サーバに通知したりすることが可能になる。
【0125】
また、ファイル操作ログ画面1301は、ログを閲覧しているユーザが個々の履歴に対して選択欄をチェックして「削除」ボタンを押下すると、選択した個々のログを削除することができるようになっている。これにより、ユーザは、例えば、セキュリティに直接に影響が出ないログを個別に削除することができるため、画像形成装置101内の履歴保存領域を有効に活用することができる。更に、ファイル操作ログ画面1301は、ユーザが「全てのログ選択」ボタンを押下すると選択欄を一括選択することができ、複数のログを一括してファイル出力したり、削除したりすることができるようになっている。
【0126】
ファイル操作ログ画面1301は、ログが多く、一画面内では表示できない場合にユーザが「前ページ」ボタンと「次ページ」ボタンを押下することによって、所望するログを表示させることができるようになっている。また、ファイル操作ログ画面1301は、ユーザが選択欄、操作日時、要求元、ユーザ名、操作対象、操作種別、操作先の中から所望の項目を押下することによって、ログデータを昇順又は降順にソート表示させることができるようになっている。ファイル操作ログ画面1301は、ユーザが「検索/フィルタ」ボタンを押下すると全てのログデータの中から特定の条件に合致するログのみを表示することができるようになっている。
【0127】
このように、ファイル操作ログ画面1301は、ユーザがアクセスしたファイルに関する操作履歴を分かりやすくユーザに表示させることができるように構成されている。また、ファイル操作ログ画面1301は、ユーザが履歴(ログ)の解析をファイル操作ログ画面1301の操作によって簡単に行うことができるように構成されている。
【0128】
なお、画像形成装置101内の履歴保存領域が豊富な場合には、図12,13のフローでネットワークファイルサーバ303が纏めた履歴を削除することなく、保存し、管理することができる。この場合、例えば、ユーザがファイル操作ログ画面1301の個々のログを選択して「詳細」を押下すると、図12,13のフローでネットワークファイルサーバ303が選択されたログについて纏めた履歴を時系列に表示する構成とする。
【0129】
図15は、図14中の「検索/フィルタ」ボタンが押下された場合の表示画面の一例であり、この検索/フィルタ画面1401は、ファイル操作ログ画面1301上にポップアップ表示される。画像形成装置101は、ユーザが検索/フィルタ画面1401で検索/フィルタ条件を設定し、実行することによって、ファイル操作ログから特定の条件に合致するログのみをフィルタして、ファイル操作ログ画面1301に表示させるように構成されている。こうして新たなファイル操作ログ画面1301が表示されるときには、検索/フィルタ画面1401は、画面から消える。
【0130】
検索/フィルタ画面1401では、検索/フィルタ条件として、操作日時、要求元、ユーザ名、操作対象、操作種別、操作先の各条件を設定することができる。操作日時の条件を設定して検索/フィルタを実行する場合、ユーザは、ログ検索開始日時からログ検索終了日時を設定し、開始ボタンを押下すればよい。これにより、画像形成装置101は、指定された日時の範囲内の保存ログの全てをファイル操作ログ画面1301に表示する。
【0131】
要求元の条件を設定して検索/フィルタを実行する場合、ユーザは、ファイル操作を行ったホスト名やIPアドレス等、機器の情報を入力し、開始ボタンを押下すればよい。これにより、画像形成装置101は要求元に合致する保存ログの全てをファイル操作ログ画面1301に表示する。ここで、ユーザは要求元の情報の一部を入力することもできる。この場合、画像形成装置101は、入力された一部が合致する要求元に関する保存ログの全てをファイル操作ログ画面1301に表示する。また、ユーザが要求元の入力で「NOT」を選択した場合、画像形成装置101は、入力された要求元以外に関する保存ログの全てをファイル操作ログ画面1301に表示する。
【0132】
ユーザ名の条件を設定して検索/フィルタを実行する場合、ユーザは、画像形成装置101に対して認証を行い、ファイル操作を行ったユーザ名を入力し、開始ボタンを押下すればよい。これにより、画像形成装置101は、入力されたユーザ名に合致する保存ログの全てをファイル操作ログ画面1301に表示する。ここで、ユーザはユーザ名の一部を入力することもできる。この場合、画像形成装置101は、入力されたユーザ名の一部が合致するユーザ名に関する保存ログの全てをファイル操作ログ画面1301に表示する。なお、認証していないユーザとして、前述したゲストやコモン等の共通ユーザでも検索可能となっている。
【0133】
操作対象の条件を設定して検索/フィルタを実行する場合、ユーザは、操作されたファイルのパスを入力し、開始ボタンを押下すればよい。これにより、画像形成装置101は、ファイルのパスに合致する保存ログの全てをファイル操作ログ画面1301に表示する。ここで、ファイルのパスの一部を入力することも可能である。この場合、画像形成装置101は、入力されたファイルのパスの一部が合致するパスに関する保存ログの全てをファイル操作ログ画面1301に表示する。
【0134】
操作種別の条件を設定して検索/フィルタを実行する場合、ユーザは、操作対象ファイルに対して行われた操作種別を選択入力し、開始ボタンを押下すればよい。これにより、画像形成装置101は、操作種別に合致する保存ログの全てをファイル操作ログ画面1301に表示する。操作種別には、読み出し、書き込み、コピー、移動、名前変更、削除のみの選択だけでなく、読み出し/書き込み、コピー/移動/名前変更等のように、複数の操作種別を選択することができるようになっている。ユーザが、複数の操作種別を選択した場合、画像形成装置101は、複数の操作種別のいずれかに合致する保存ログの全てをファイル操作ログ画面1301に表示する。
【0135】
操作先の条件を設定して検索/フィルタを実行する場合、ユーザはコピーや移動、名前変更等の操作先ファイルパスを入力し、開始ボタンを押下すればよい。これにより、画像形成装置101は、入力された操作先のパスに合致する保存ログの全てをファイル操作ログ画面1301に表示する。ここで、操作先のファイルパスの一部を入力することも可能である。この場合、画像形成装置101は、入力されたファイルパスの一部が合致するパスに関する保存ログの全てをファイル操作ログ画面1301に表示する。
【0136】
上述した検索/フィルタ条件は複合設定が可能である。したがって、ユーザが複数のフィルタ条件を検索対象として選択した場合、画像形成装置101は複数の検索/フィルタ条件に対してAND条件検索を行い、条件に合致する保存ログの全てをファイル操作ログ画面1301に表示する。これにより、ユーザは、例えば、要求元にローカルを入力してNOT選択を行い、且つ、操作種別を読み出し/書き込みに指定した後、要求元と操作種別の複数フィルタ条件で検索を行うことができる。その結果、画像形成装置101は、画像形成装置101自身に保存されたファイルと画像形成装置101自身から外部に出たファイルをログとして一覧表示することができる。このようなログを管理し、表示することができる構成は、セキュリティ向上の面からも有用である。
【0137】
また、検索/フィルタ条件の複合設定により、画像形成装置101内から画像形成装置101外へのコピーと、画像形成装置101内のみでのコピーの履歴とを分けて管理することもできる。これによって、ユーザが画像形成装置101外へ持ち出したファイル操作の履歴を効率よく解析することができるようになる。
【0138】
<その他の実施形態>
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【0139】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0140】
101 画像形成装置
102,103 PC
205 HDD
206 NIC
303 ネットワークファイルサーバ
901,1001 履歴テーブル
1301 ファイル操作ログ画面
1401 検索/フィルタ画面
【特許請求の範囲】
【請求項1】
ネットワークに接続されており、ファイルを記憶する記憶手段と、前記ネットワークに接続された機器との間でデータの送受信を行う通信手段と、前記記憶手段に記憶されているファイルに対する前記機器からの操作要求の履歴を保持する履歴保持手段と、を備える画像形成装置であって、
前記履歴保持手段は、前記操作要求を行った前記機器のアドレス、前記操作要求を行ったユーザのユーザID、前記操作要求に対して割り当てられるプロセスID毎に、少なくともアクセスパス、ツリーID、前記操作要求の種別及びアクセス日時を要求順に、一定時間、履歴として蓄積し、前記一定時間が経過したとき又は前記要求を行った前記機器から前記要求を終了させるコマンドを受信したときに、前記蓄積した履歴を解析することを特徴とする画像形成装置。
【請求項2】
前記操作要求の種別は、ファイルの読み出し、書き込み、コピー、移動、削除及び名前変更であることを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記履歴保持手段は、前記要求を行った前記機器から前記操作要求の種別に含まれる次の要求を受信したときに、前記一定時間を初期化することを特徴とする請求項2記載の画像形成装置。
【請求項4】
前記履歴保持手段は、前記アクセス日時が予め定められた設定値の範囲内にあり、前記ツリーID、前記要求の対象となっているファイルのファイルパス、及び、前記ファイルをオープンする毎に割り当てられるファイルIDが一致する履歴を、前記蓄積した履歴から抽出して纏めることで、前記蓄積した履歴を解析することを特徴とする請求項1記載の画像形成装置。
【請求項5】
前記履歴保持手段は、前記履歴における前記操作要求の種別が読み出し又は書き込みである場合、前記蓄積した履歴の解析に、前記操作要求の対象となっているファイルのオフセット値と、前記オフセット値から取得するデータサイズと、前記要求の対象となっているファイルのデータサイズとを使用して、纏めることを有する請求項2記載の画像形成装置。
【請求項6】
前記履歴保持手段は、前記履歴における前記操作要求の種別がコピー、移動又は名前変更の場合、前記操作要求の対象となっているファイルのファイルパスと前記要求の処理先のファイルパスとを使用して、前記蓄積した履歴を纏めることを特徴とする請求項2記載の画像形成装置。
【請求項7】
前記解析した履歴をログとしてユーザインタフェースに表示する表示手段を更に有し、
前記履歴保持手段は、前記ログをデータとして前記記憶手段に格納することを特徴とする請求項1記載の画像形成装置。
【請求項8】
ネットワークに接続されており、ファイルを記憶する記憶手段と、前記ネットワークに接続された機器との間でデータの送受信を行う通信手段と、前記記憶手段に記憶されているファイルに対する前記機器からの操作要求の履歴を保持する履歴保持手段と、を備える画像形成装置で実行される履歴管理方法であって、
前記履歴保持手段が、前記操作要求を行った前記機器のアドレス、前記操作要求を行ったユーザのUID、前記操作要求に対して割り当てられるプロセスID毎に、少なくともアクセスパス、ツリーID、前記操作要求の種別及びアクセス日時を要求順に、一定時間、履歴として蓄積するステップと、
前記履歴保持手段が、前記操作要求の種別に応じて、前記アクセス日時が予め定められた設定値の範囲内にあり、前記ツリーID、前記要求の対象となっているファイルのファイルパス、及び、前記ファイルをオープンする毎に割り当てられるファイルIDが一致する履歴を、前記蓄積した履歴から抽出して纏めることで、前記蓄積した履歴を解析するステップと、を有することを特徴とする履歴管理方法。
【請求項1】
ネットワークに接続されており、ファイルを記憶する記憶手段と、前記ネットワークに接続された機器との間でデータの送受信を行う通信手段と、前記記憶手段に記憶されているファイルに対する前記機器からの操作要求の履歴を保持する履歴保持手段と、を備える画像形成装置であって、
前記履歴保持手段は、前記操作要求を行った前記機器のアドレス、前記操作要求を行ったユーザのユーザID、前記操作要求に対して割り当てられるプロセスID毎に、少なくともアクセスパス、ツリーID、前記操作要求の種別及びアクセス日時を要求順に、一定時間、履歴として蓄積し、前記一定時間が経過したとき又は前記要求を行った前記機器から前記要求を終了させるコマンドを受信したときに、前記蓄積した履歴を解析することを特徴とする画像形成装置。
【請求項2】
前記操作要求の種別は、ファイルの読み出し、書き込み、コピー、移動、削除及び名前変更であることを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記履歴保持手段は、前記要求を行った前記機器から前記操作要求の種別に含まれる次の要求を受信したときに、前記一定時間を初期化することを特徴とする請求項2記載の画像形成装置。
【請求項4】
前記履歴保持手段は、前記アクセス日時が予め定められた設定値の範囲内にあり、前記ツリーID、前記要求の対象となっているファイルのファイルパス、及び、前記ファイルをオープンする毎に割り当てられるファイルIDが一致する履歴を、前記蓄積した履歴から抽出して纏めることで、前記蓄積した履歴を解析することを特徴とする請求項1記載の画像形成装置。
【請求項5】
前記履歴保持手段は、前記履歴における前記操作要求の種別が読み出し又は書き込みである場合、前記蓄積した履歴の解析に、前記操作要求の対象となっているファイルのオフセット値と、前記オフセット値から取得するデータサイズと、前記要求の対象となっているファイルのデータサイズとを使用して、纏めることを有する請求項2記載の画像形成装置。
【請求項6】
前記履歴保持手段は、前記履歴における前記操作要求の種別がコピー、移動又は名前変更の場合、前記操作要求の対象となっているファイルのファイルパスと前記要求の処理先のファイルパスとを使用して、前記蓄積した履歴を纏めることを特徴とする請求項2記載の画像形成装置。
【請求項7】
前記解析した履歴をログとしてユーザインタフェースに表示する表示手段を更に有し、
前記履歴保持手段は、前記ログをデータとして前記記憶手段に格納することを特徴とする請求項1記載の画像形成装置。
【請求項8】
ネットワークに接続されており、ファイルを記憶する記憶手段と、前記ネットワークに接続された機器との間でデータの送受信を行う通信手段と、前記記憶手段に記憶されているファイルに対する前記機器からの操作要求の履歴を保持する履歴保持手段と、を備える画像形成装置で実行される履歴管理方法であって、
前記履歴保持手段が、前記操作要求を行った前記機器のアドレス、前記操作要求を行ったユーザのUID、前記操作要求に対して割り当てられるプロセスID毎に、少なくともアクセスパス、ツリーID、前記操作要求の種別及びアクセス日時を要求順に、一定時間、履歴として蓄積するステップと、
前記履歴保持手段が、前記操作要求の種別に応じて、前記アクセス日時が予め定められた設定値の範囲内にあり、前記ツリーID、前記要求の対象となっているファイルのファイルパス、及び、前記ファイルをオープンする毎に割り当てられるファイルIDが一致する履歴を、前記蓄積した履歴から抽出して纏めることで、前記蓄積した履歴を解析するステップと、を有することを特徴とする履歴管理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−100217(P2012−100217A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−248640(P2010−248640)
【出願日】平成22年11月5日(2010.11.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願日】平成22年11月5日(2010.11.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]