(57)【特許請求の範囲】
【請求項１】
文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録手段と、
印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集手段と、
前記文書操作ログ記録手段で記録された操作ログと、前記印刷ログ収集手段で収集された印刷ログとを比較するログ比較手段と、
前記ログ比較手段での比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定手段と、
前記文書印刷判定手段の判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新手段と、
を有することを特徴とする文書管理システム。
【請求項２】
前記文書印刷判定手段は、前記文書管理システムで管理されている文書が外部アプリケーションによって印刷されたことを判定することを特徴とする請求項１に記載の文書管理システム。
【請求項３】
前記ログ比較手段は、
前記操作ログに記録された文書名と、前記印刷ログに記録されたジョブ名とを比較する名前比較手段と、
前記操作ログに記録された操作ユーザ名と、前記印刷ログに記録された印刷ユーザ名とを比較するユーザ名比較手段と、
前記操作ログに記録された操作日時と、前記印刷ログに記録された印刷開始日時とを比較する日時比較手段と、
を含むことを特徴とする請求項１または２に記載の文書管理システム。
【請求項４】
前記名前比較手段は、前記印刷ログに記録されたジョブ名に基づいて本来の文書名を推測し、当該推測された文書名と前記操作ログに記録された文書名とを比較することを特徴とする請求項３に記載の文書管理システム。
【請求項５】
前記ログ比較手段は、前記文書操作ログ記録手段で前記操作ログ中に記録された文書のオープンに関するログと、前記印刷ログ収集手段で収集された前記印刷ログとを比較することを特徴とする請求項１に記載の文書管理システム。
【請求項６】
前記ログ比較手段は、前記文書操作ログ記録手段で前記操作ログ中に記録された文書の新規登録に関するログと、前記印刷ログ収集手段で収集された印刷ログとを比較することを特徴とする請求項１に記載の文書管理システム。
【請求項７】
前記日時比較手段は、前記操作ログ中に記録された文書のオープンに関するログと前記印刷ログとを比較する際、前記文書のオープンに関する操作日時が前記印刷ログに記録された印刷開始日時から一定時間前までの間であるか否かを比較基準として用いることを特徴とする請求項３に記載の文書管理システム。
【請求項８】
前記日時比較手段は、前記操作ログ中の文書の新規登録に関するログと前記印刷ログとを比較する際、前記文書の新規登録に関する操作日時が前記印刷ログに記録された印刷開始日時から一定時間前または後であるか否かを比較基準として用いることを特徴とする請求項３に記載の文書管理システム。
【請求項９】
前記文書印刷判定手段で複数の候補文書が前記印刷された文書として判定された場合、前記文書管理システムで管理されている候補文書を読み出して該候補文書のページ数を取得する候補文書ページ数取得手段と、
前記複数の候補文書があると判定された印刷ログから、印刷ページ情報を取得する印刷ページ情報取得手段と、
前記印刷ページ情報取得手段で取得した印刷ページ情報に基づいて印刷対象ページ数を算出する印刷対象ページ数算出手段と、
前記候補文書ページ数取得手段で取得した候補文書ページ数と、前記印刷対象ページ数算出手段で算出した印刷対象ページ数とを比較するページ数比較手段と、
前記ページ数比較手段での比較結果に基づいて、前記複数の候補文書の中から印刷された文書を特定する印刷文書特定手段と、
を有することを特徴とする請求項１記載の文書管理システム。
【請求項１０】
前記候補文書ページ数取得手段で取得した文書のページ数は、前記候補文書のスライド数に基づいて取得することを特徴とする請求項９に記載の文書管理システム。
【請求項１１】
前記印刷ページ情報は、印刷ページ枚数情報、面付け印刷情報、両面印刷情報を含むことを特徴とする請求項９または１０に記載の文書管理システム。
【請求項１２】
前記ページ数比較手段は、前記候補文書ページ数取得手段で取得した候補文書ページ数が、前記印刷対象ページ数算出手段で算出した印刷対象ページ数以上であるか否かを比較基準として用いることを特徴とする請求項９乃至１１のいずれかに記載の文書管理システム。
【請求項１３】
文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録ステップと、
印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集ステップと、
前記文書操作ログ記録ステップで記録された操作ログと、前記印刷ログ収集ステップで収集された印刷ログとを比較するログ比較ステップと、
前記ログ比較ステップでの比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定ステップと、
前記文書印刷判定ステップの判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新ステップと、
を有することを特徴とする文書管理方法。
【請求項１４】
コンピュータを、
文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録手段、
印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集手段、
前記文書操作ログ記録手段で記録された操作ログと、前記印刷ログ収集手段で収集された印刷ログとを比較するログ比較手段、
前記ログ比較手段での比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定手段、
前記文書印刷判定手段の判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新手段、
として機能させるための、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理システムで管理対象にしている文書を、文書管理アプリケーションと異なる他のアプリケーションでオープンされた際に、該文書が印刷されたかどうかを判定する技術、ならびにその判定結果を利用する技術に関する。
【背景技術】
【０００２】
文書管理システムで管理されている各文書の閲覧回数や印刷回数に基づいて、各文書の重要度を判定することが考えられている。
特許文献１では、文書管理サーバの閲覧ログデータベースに記録されている閲覧ログの文書ＩＤを判別して、文書ＩＤ＝ｉの文書についての閲覧回数を求めることによって、閲覧ログに基づく重要度を求める。更に、プリントサーバの印刷ログデータベースに記録されている印刷ログの文書ＩＤを判別して、文書ＩＤ＝ｉの文書についての印刷回数を求めることによって、印刷ログに基づく重要度を求める。そして、閲覧ログに基づく重要度と印刷ログに基づく重要度を統合して、当該文書ＩＤ＝ｉの文書の重要度を決定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１２２６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の手法では、閲覧ログに記録される文書ＩＤと、印刷ログに記録される文書ＩＤとが、共通した文書ＩＤである必要がある。
【０００５】
しかしながら、一般的な文書管理サーバでは、各文書（ファイル）に対して、当該文書管理サーバで管理するための独自の文書ＩＤを付与して管理している。一方、プリントサーバでは、様々なアプリケーションプログラムからの印刷ジョブを受信して印刷処理を行う際に印刷ログＩＤを付与して、各印刷ジョブを印刷ログに記録している。すなわち、一般的に、文書管理サーバの閲覧ログに記録される文書ＩＤと、プリントサーバの印刷ログに記録される印刷ログＩＤは、共通していない場合が多いという問題点がある。
【０００６】
これに対して、プリントサーバの印刷ログを利用するのではなく、文書管理システム上で行われた操作全てを操作ログとして記録することによって、文書管理システムで管理している文書に対して印刷操作が指示されたかどうか判定することが考えられる。具体的には、文書管理サーバと文書管理クライアントで構成される文書管理システムにおいて、文書管理クライアント上で行われた印刷操作を文書管理サーバの操作ログに記録し、その操作ログから文書管理サーバで管理される文書が印刷されたことを判定する。なお、文書管理クライアントでの印刷操作としては、文書管理クライアントアプリケーションにおいて表示した文書一覧の中から所望の文書を選択し、文書管理クライアントアプリケーションの操作メニューから「印刷」を選択する。このように、文書管理クライアントアプリケーションの操作メニューから印刷が選択された場合には、文書管理サーバの操作ログに印刷操作のログが記録されることになる。
【０００７】
しかしながら、一般的な文書管理システムでは、文書管理サーバで管理されている文書を、クライアントＰＣにダウンロードして、文書管理クライアントアプリケーションと異なるアプリケーション（以下では「外部アプリ」と略記する）で当該文書をオープンすることができる。例えば、文書管理サーバからローカルにダウンロードした文書ファイルを、ワープロアプリケーションや表計算アプリケーションなどの外部アプリでオープンすることができる。このような外部アプリを起動して文書をオープンし、当該外部アプリにおいて当該文書の印刷操作が行われた場合、外部アプリにおいて為された操作は文書管理サーバの操作ログに記録されないため、外部アプリでの印刷操作も記録されないことになる。すなわち、外部アプリの操作メニューから印刷が実行された場合は、文書管理システムの管理外で印刷が指示されるため、その操作記録を文書管理システム側で残すことができず、文書管理システム側では該文書が印刷されたかどうかを判別することができない。
【０００８】
このような外部アプリを用いて文書をオープンして印刷した場合の問題は、特許文献１のような環境下においても同様に問題となる。すなわち、文書管理サーバの管理外の外部アプリにおいて印刷操作が行われた場合、プリントサーバで記録される印刷ジョブＩＤは、文書管理サーバで記録される文書ＩＤと共通にすることができない。したがって、文書管理サーバで管理している文書について印刷回数を用いて重要度を算出することは困難となる。
【０００９】
本発明は、上記のような問題を解決するためのものであり、外部アプリでの印刷を判定する文書管理システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の文書管理システムは、文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録手段と、印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集手段と、前記文書操作ログ記録手段で記録された操作ログと、前記印刷ログ収集手段で収集された印刷ログとを比較するログ比較手段と、前記ログ比較手段での比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定手段と、前記文書印刷判定手段の判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、文書管理システムで管理される文書に対する操作の履歴を示す操作ログと、プリンタ等の印刷デバイスで実行された印刷の履歴を示す印刷ログとを比較することによって、文書の印刷判定を行うため、文書管理システムのプログラムと異なる外部アプリケーションで印刷が行われたことを判別することができる。
【図面の簡単な説明】
【００１２】
【図１】システムの概略図
【図２】システムを構成する各ＰＣとＭＦＰデバイスのハードウェア構成図
【図３】文書管理システムのソフトウェアモジュール構成
【図４】（ａ）文書操作ログの例  （ｂ）図８、図９、図１１のフローチャート実施後の文書操作ログの例
【図５】（ａ）印刷ログの例  （ｂ）図８、図９、図１１のフローチャート実施後の印刷ログの例
【図６】外部アプリ印刷ログの例
【図７】外部アプリ固有情報保持部に保持される外部アプリ固有情報のテーブル
【図８】文書管理サーバアプリケーションで管理される文書の印刷判定のフローチャート
【図９】文書管理サーバアプリケーションで管理される前に印刷された文書の印刷判定のフローチャート
【図１０】文書管理クライアントアプリケーション３１１のＵＩ部３１３のレコメンド表示例
【図１１】ページ数の比較によって印刷文書を特定するフローチャート
【図１２】実施例２における比較条件の異なる複数の検索の実施による印刷判定処理のフローチャート
【図１３】実施例２における検索１の処理のフローチャート
【図１４】実施例２における検索２の処理のフローチャート
【図１５】実施例２における検索２における文書情報の比較条件の設定方法処理のフローチャート
【図１６】実施例２における検索３の処理のフローチャート
【図１７】実施例２における検索４の処理のフローチャート
【発明を実施するための形態】
【００１３】
［実施例１］
図１〜図７を用いて、本発明に係る実施例１を説明する。
【００１４】
図１は本実施例におけるシステムの概略図であり、文書管理サーバ１０１、クライアントＰＣ１０２、印刷機能を有するＭＦＰデバイス（複合機）１０３は、インターネットやＬＡＮ等のネットワーク１０４で接続されている。
【００１５】
文書管理サーバＰＣ１０１は、文書管理サーバアプリケーションが動作しているサーバである。クライアントＰＣ１０２は、文書管理サーバ１０１にアクセスし、文書情報を取得するための文書管理クライアントアプリケーションが動作しているＰＣ（パーソナルコンピュータ）である。
【００１６】
図１には図示されていないが、クライアントＰＣ１０２の他にも複数のクライアントＰＣがネットワーク１０４に接続されていても構わない。また、ＭＦＰデバイス１０３の他にも複数のＭＦＰデバイスがネットワーク１０４に接続されていても構わない。
【００１７】
［ハードウェア構成］
図２は、本発明の実施形態に係る本システムを構成する各ＰＣとＭＦＰデバイスのハードウェア構成例を示している。本実施形態の文書管理サーバＰＣおよびクライアントＰＣは、図２（Ａ）に示すような一般的な情報処理装置のハードウェア構成を適用できる。
【００１８】
図２（Ａ）は、情報処理装置（ＰＣ）のハードウェア構成図である。ＣＰＵ２０１は、メモリ（ＲＯＭ２０３やＲＡＭ２０２）にロードされたＯＳやアプリケーション等のプログラムを実行する。ここで、ＯＳとはコンピュータ上で稼働するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをＯＳと呼ぶ。後述する各フローチャートの処理は、このＣＰＵ２０１により実行されるプログラムによって実現される。すなわち、該プログラムは、コンピュータを、後述するフローチャートの各処理を実行する各処理部として機能させる。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリであり、ワークエリア等として機能する。
【００１９】
キーボードコントローラ２０４は、キーボード２０８や図示しないマウスなどのポインティングデバイスからのキー入力を制御する。ディスプレイコントローラ２０５は、表示用デバイスであるディスプレイ２０９の表示を制御する。ディスクコントローラ２０６は、各種データを記憶する外部メモリであるハードディスク（ＨＤ）２１０へのデータアクセスを制御する。ＮＩＣ２０７は、ネットワークインターフェースであり、ネットワーク１０４を介して接続された他の機器との通信制御処理を実行する。ハードディスク（ＨＤ）２１０には、ＯＳやアプリケーション等のプログラムが格納されると共に、ＯＳによりファイルシステムが構築され、ＯＳの管理下で各種ファイルが格納される。２１１は、相互接続バスであり、ＣＰＵ２０１により各ブロック間の通信を仲介する。
【００２０】
図２（Ｂ）は、ＭＦＰデバイス１０３のハードウェア構成例である。図２（Ｂ）において、ＣＰＵ２５１は、内部バス２５８を介して後述する各機能／装置を接続し、ＭＦＰデバイス１０３を制御するものである。表示装置２５２は、操作画面を表示するためのタッチパネル（操作パネル）などの装置である。本実施例では、ユーザが所望の動作を行うための操作等も、表示装置２５２のタッチパネル上に表示される操作画面を介して行う。スキャナ装置２５３は、オートドキュメントフィーダ機能など機能を有する文書を読み込むための装置である。プリンタ装置２５４は、ネットワークインターフェース２５７を介して受け取った印刷ジョブを印刷出力するための装置である。メモリ２５５は、ＣＰＵ２５１の主メモリとして機能し、ＣＰＵ２５１がＭＦＰデバイス１０３を制御するために実行するＯＳやアプリケーション等のプログラムを実行するためのワークエリアとしても機能する。大容量記憶装置２５６は、ＣＰＵ２５１によりメモリ２５５にロードされる各種アプリケーションプログラムを記憶する。また、大容量記憶装置２５６は、スキャナ装置２５４で読み取ったスキャン文書などの保存にも用いられる。ネットワークインターフェース２５７は、ネットワーク１０４を介して接続された他の機器との通信制御処理を実行するものであり、特に、本実施形態においては、文書管理サーバＰＣ１０１との通信を行うために用いる。
【００２１】
［文書管理サーバとＭＦＰデバイスの構成］
図３は、文書管理システムのソフトウェアモジュール構成を示す図である。文書管理サーバアプリケーション３０１は文書管理サーバ１０１上で実行されることによって各処理部３０２〜３０９として機能する。また、文書管理クライアントアプリケーション３１１はクライアントＰＣ１０２上で実行されることによって各処理部３１２〜３１３として機能する。
【００２２】
文書管理メイン制御部３０２は、文書管理クライアントアプリケーション３１１から文書の登録の要求を受けた際、その要求と共に受け取った登録文書のデータを文書データ蓄積・管理部３０３に渡す。
【００２３】
また、文書管理メイン制御部３０２は、文書管理クライアントアプリケーション３１１による文書操作要求に従って文書操作を行った際に、その操作履歴データを生成し、文書操作ログに登録する情報として文書操作ログ蓄積・管理部３０４に渡す。
【００２４】
更に、文書管理メイン制御部３０２は、印刷ログ取得先設定保持部３０９に設定された取得先プリンタ情報を元に、ＭＦＰデバイス１０３などのプリンタ（またはプリントサーバ）から、定期的に印刷ログを取得し、印刷ログ蓄積・管理部３０５に渡す。尚、印刷ログは、ＭＦＰデバイス１０３などのプリンタにおいて、印刷ジョブの印刷処理が為された際に生成されたものである。
【００２５】
また、文書管理メイン制御部３０２は、印刷ログ内のジョブ名と、文書操作ログ内の文書名とを比較して外部アプリで印刷したか否かを判定し、外部アプリ印刷ログを生成する。詳細に関しては後述する。
【００２６】
文書データ蓄積・管理部３０３は、文書管理メイン制御部３０２から渡された文書データを外部メモリ２１０に記憶し、管理する。文書データ蓄積・管理部３０３では、管理対象の文書に対して一意な文書ＩＤを割り当てて管理すると共に、各管理対象の文書の属性を管理する。文書の属性としては、文書ＩＤ以外に、文書の格納位置を示す文書パス、文書名、更新日時、作成日時、サイズ、作成者、印刷回数などを含むものとする。
【００２７】
文書操作ログ蓄積・管理部３０４は、文書管理メイン制御部３０２から渡された文書操作ログを外部メモリ（ハードディスク）２１０に記憶し、管理する。
【００２８】
印刷ログ蓄積・管理部３０５は、文書管理メイン制御部３０２から渡された印刷ログを外部メモリ（ハードディスク）２１０に記憶し、管理する。
【００２９】
外部アプリ印刷ログ蓄積・管理部３０６は、文書管理メイン制御部３０２による外部アプリ印刷判定結果に基づき、文書管理メイン制御部３０２が生成した外部アプリ印刷ログをハードディスク２１０に記憶し、管理する。詳細に関しては、後述する。
【００３０】
外部アプリ固有情報保持部３０７は、文書管理メイン制御部３０２でジョブ名と文書名の比較時に利用する、外部アプリ毎に固有の特徴をハードディスク２１０に記憶し、保持する。詳細に関しては、後述する。
【００３１】
サーバ通信部３０８は、ネットワーク１０４を介して、文書管理クライアントアプリケーション３１１との文書操作に関するデータの送受信や、ＭＦＰデバイス１０３と印刷ログの取得に関するデータの送受信を行う。
【００３２】
印刷ログ取得先設定保持部３０９は、印刷ログの取得先のプリンタの情報を保持しており、取得先プリンタの情報として、プリンタ名やＩＰアドレスなどの情報をハードディスク２１０に記憶している。
【００３３】
文書管理クライアントアプリケーション３１１は、クライアントメイン制御部３１２、ＵＩ部３１３、クライアント通信部３１４として機能する。クライアントメイン制御部３１２は、ＵＩ部３１３を介してユーザから受け取った文書操作要求を判断し、クライアント通信部３１４を介して文書管理サーバアプリケーション３０１に文書操作リクエストを送信する。そして、文書管理サーバアプリケーション３０１から受け取ったレスポンス結果を基に、ＵＩ部３１３の表示を変更する。ＵＩ部３１３は、文書管理のユーザインタフェースであり、文書の新規登録、オープン、移動、コピーなどの各種要求をユーザから受け取ると共に、各種要求に応じて表示を変更する。
【００３４】
尚、文書管理サーバの文書管理メイン制御部３０２がＭＦＰデバイス１０３の印刷ログを取得する方法は、文書管理メイン制御部３０２が、ＭＦＰデバイス１０３から更新された印刷ログを定期的に取得するといった方法をとる。もしくは、文書管理メイン制御部３０２がＭＦＰデバイス１０３に対して、印刷ログを文書管理サーバＰＣ１０１に送信する設定を行い、その設定に応じてＭＦＰデバイス１０３が更新された印刷ログを文書管理サーバＰＣ１０１に送信するといった方法をとってもよい。
【００３５】
［文書操作ログ、印刷ログ、外部アプリ印刷ログの構成］
図４（ａ）は、文書操作ログ蓄積・管理部３０４に記録される文書操作ログ４０１の例であり、以下の属性から構成される。以下では、文書操作ログ４０１に登録される各レコードデータ（４２１〜４３０）を文書操作ログ登録データと呼ぶことにする。
【００３６】
「文書操作ログＩＤ」属性４０２には、文書管理メイン制御部３０２から文書操作ログ登録データが渡される毎に、文書操作ログ蓄積・管理部３０４によって当該文書操作ログ登録データそれぞれに対して一意に設定されるＩＤ（識別子）の値が記録される。
【００３７】
「文書ＩＤ」属性４０３には、操作対象となった文書の文書ＩＤが記録される。この文書ＩＤは、文書を管理するために文書データ蓄積・管理部３０３によって文書毎に設定される一意な値であり、文書管理メイン制御部３０２を介して文書操作ログ蓄積・管理部３０４に渡されて記録される。
【００３８】
「文書パス」属性４０４には、文書を仮想的なフォルダー構成として表示する際の当該操作対象となった文書の位置を表す値が記録される。文書管理メイン制御部３０２が、文書管理クライアントアプリケーション３１１からの文書操作要求の情報と、文書データ蓄積・管理部３０３から必要な情報とを取得し、これらの情報に基づいて決定される値を文書操作ログ蓄積・管理部３０４に渡して記録する。
【００３９】
「文書名」属性４０５には、操作対象となった文書ファイル自体のファイル名を表す値が記録される。文書管理メイン制御部３０２が、文書管理クライアントアプリケーション３１１からの文書操作要求の情報と、文書データ蓄積・管理部３０３から必要な情報とを取得し、これらの情報に基づいて決定されるファイル名の値を文書操作ログ蓄積・管理部３０４に渡して記録する。
【００４０】
「操作ユーザ」属性４０６には、文書管理クライアントアプリケーション３１１を介して、文書に対して操作を行ったユーザのアカウント名を表す値が記録される。本実施形態では、ユーザのアカウント名は、図１に示したシステム内で一意であるとする。文書管理メイン制御部３０２が、文書管理クライアントアプリケーション３１１からの文書操作要求の情報から値を取得し、文書操作ログ蓄積・管理部３０４に渡して記録する。
【００４１】
「操作種別」属性４０７には、文書管理クライアントアプリケーション３１１を介して、文書に対して行った操作の種別が記録される。文書管理メイン制御部３０２が、文書管理クライアントアプリケーション３１１からの文書操作要求の情報に応じて値を取得し、文書操作ログ蓄積・管理部３０４に渡して記録する。操作種別としては、文書のオープン、削除、新規登録などが記録される。
【００４２】
「操作日時」属性４０８には、文書管理クライアントアプリケーション３１１を介して、文書に対してユーザが操作を行った日時を表す値が記録される。文書管理メイン制御部３０２が、文書管理クライアントアプリケーション３１１からの文書操作要求に応じて値を取得し、文書操作ログ蓄積・管理部３０４に渡して記録する。
【００４３】
「印刷判定済」属性４０９には、文書管理メイン制御部３０２によって、その文書操作ログ登録データに対応する印刷ログ登録データの印刷ログＩＤ属性の値が必要に応じて設定される。詳細に関しては後述する。尚、文書操作ログとして、上記以外に記録される属性があってもよい。
【００４４】
図５（ａ）は、印刷ログ蓄積・管理部３０５に記録される印刷ログ５０１の例であり、以下の属性から構成される。以下では、印刷ログ５０１に登録される各レコードデータ（５２１〜５２７）を印刷ログ登録データと呼ぶことにする。
【００４５】
「印刷ログＩＤ」属性５０２には、ＭＦＰデバイス１０３などから取得した印刷ログが文書管理メイン制御部３０２から渡される毎に、印刷ログ蓄積・管理部３０５によって、個々の印刷ログ登録データに対して一意に設定される値が記録される。
【００４６】
「プリンタ名」属性５０３には、文書管理メイン制御部３０２が当該印刷ログを取得した、ＭＦＰデバイス１０３などのプリンタに付与されている一意な識別名が、文書管理メイン制御部３０２により記録される。
【００４７】
「ジョブ名」属性５０４には、ＭＦＰデバイス１０３がネットワークインターフェース２５７を介して受け取った印刷ジョブの中に含まれていた印刷ジョブ名称の値が記録される。印刷ジョブの中に含まれる印刷ジョブ名称の値は、一般的に、ＰＣ上でアプリケーションがプリンタドライバを用いて印刷を行う際に、アプリケーションによってプリンタドライバに渡される値である。印刷ジョブ名称の値は、印刷を行うアプリケーションによって様々であり、形式が統一されていない。多くのアプリケーションでは、文書名や文書名の一部分が印刷ジョブ名称の中に含まれており、本発明では、その文書名の情報を利用する。
【００４８】
「印刷ユーザ」属性５０５には、ＭＦＰデバイス１０３がネットワークインターフェース２５７を介して受け取った印刷ジョブの中に含まれていたユーザ名の値が設定される。印刷ジョブの中に含まれていたユーザ名の値は、プリンタドライバによって、アプリケーションに印刷を指示したユーザのアカウント名が設定された値である。本実施形態では、前述したようにユーザのアカウント名は、図１に示したシステム内で一意であるとする。
【００４９】
「印刷開始日時」属性５０６には、ＭＦＰデバイス１０３のプリンタ装置２５４が印刷ログ項目に該当する印刷ジョブを処理した日時を表す値が記録される。
【００５０】
「印刷枚数」属性５０７には、ＭＦＰデバイス１０３のプリンタ装置２５４が印刷ログ項目に該当する印刷ジョブを正常に処理した際に要した紙の枚数が記録される。
【００５１】
「面付け情報」属性５０８には、ＭＦＰデバイス１０３のプリンタ装置２５４が印刷ログ項目に該当する印刷ジョブを処理した際に、１紙面あたりどれだけのページ数を割り付けたかが記録される。例えば、１紙面あたり２ページの割り付けが行われた場合「２ｉｎ１」が記録され、１紙面あたり４ページの割り付けが行われた場合「４ｉｎ１」が記録される。一般的に、面付け（集約印刷）は、プリンタドライバの設定に従って、印刷ジョブに設定される値に基づいて実行される。
【００５２】
「両面印刷」属性５０９には、ＭＦＰデバイス１０３のプリンタ装置２５４が印刷ログ項目に該当する印刷ジョブを処理した際に、１枚の紙の両面に印刷を行ったかどうかが記録される。一般的に、両面印刷は、プリンタドライバの設定に従って、印刷ジョブに設定される値に基づいて実行される。
【００５３】
「対応判定済」属性５１０には、文書管理メイン制御部３０２によって当該印刷ログ登録データに対応すると判定された文書操作ログ登録データに関する文書操作ログＩＤ属性の値が必要に応じて設定される。詳細に関しては後述する。尚、印刷ログとして、上記以外に記録される属性があってもよい。
【００５４】
図６は、外部アプリ印刷ログ蓄積・管理部３０６に記憶される外部アプリ印刷ログ６０１の例であり、以下の属性から構成される。
【００５５】
「外部アプリ印刷ログＩＤ」属性６０２には、文書管理メイン制御部３０２によって作成された外部アプリ印刷ログ登録データが渡される毎に、外部アプリ印刷ログ蓄積・管理部３０６によって、個々の外部アプリ印刷ログ登録データに対して一意に設定される値が記録される。
【００５６】
「文書ＩＤ」属性６０３、「文書パス」属性６０４、「文書名」属性６０５は、それぞれ文書操作ログの属性４０３、４０４、４０５に相当する属性である。また、「印刷ユーザ」属性６０６、「印刷開始日時」属性６０７は、それぞれ印刷ログ５０１の属性５０５、５０６に相当する属性である。尚、外部アプリ印刷ログとして、上記以外に記録される属性があってもよい。
【００５７】
［文書管理サーバアプリケーションで管理されている文書の印刷判定］
図８は、文書管理サーバアプリケーション３０１で管理される文書の印刷判定のフローチャートである。文書管理サーバアプリケーション３０１内で管理されている文書のうち、外部アプリでの印刷操作により印刷された文書を、文書操作ログ４０１と印刷ログ５０１とを比較することにより判定する処理について説明する。本実施形態において、図８のフローチャートは、文書管理メイン制御部３０２によって、１５分毎に開始されるものとするが、開始タイミングは、これに限定されるものではない。
【００５８】
ステップＳ８０１で、文書管理メイン制御部３０２は、印刷ログ取得先設定保持部３０９が保持する取得先プリンタ情報に基づいて特定されるプリンタ（ＭＦＰデバイス１０３など）から新たな印刷ログを取得し、印刷ログ蓄積・管理部３０５に渡す。
【００５９】
ステップＳ８０２で、文書管理メイン制御部３０２は、印刷ログ蓄積・管理部３０５から、Ｓ８０１で格納した図５（ａ）の印刷ログ５０１の各印刷ログ登録データ５２１〜５２７を登録順に読み取る。そして、各印刷ログ登録データを順に処理対象として、ステップＳ８０３〜Ｓ８１３の処理を行う。
【００６０】
ステップＳ８０３で、文書管理メイン制御部３０２は、現在の処理対象の印刷ログ登録データに対して、以下の３つの条件に合致する文書操作ログ登録データを、文書操作ログ蓄積・管理部３０４の文書操作ログ４０１（図４（ａ））から検索する。そして、当該検索された文書操作ログをＲＡＭ２０２に読み込む。
【００６１】
（１）  「操作種別」属性４０７の値として「オープン」または「新規登録」を持つ。もしくは、オープンや新規登録に相当する操作種別を値として持つ。
（２）  「印刷ユーザ」属性５０５と同一の値を「操作ユーザ」属性４０６の値として持つ。
（３）  「印刷開始日時」属性５０６の値よりも一定時間前までの日時を「操作日時」属性４０８の値として持つ。
【００６２】
なお、上述した条件３における「一定時間前」の具体的な時間幅は、文書がオープンまたは新規登録されてから、印刷に至るまでの時間であることが望ましい。「外部アプリでの文書のオープン→編集→印刷」や、「外部アプリでの文書の新規作成→編集→文書管理システムへの新規登録→編集→印刷→文書管理システム上の登録文書の更新」などのワークフローを加味すると、一般的なオフィスワーカーで１２時間以内と推定される。そのため、本実施例では、印刷開始日時より１２時間前までの操作日時を値として持つものを具体的な条件とする。尚、時間幅は１２時間に限定されるものではなく、各オフィスでのワークフローに合わせて設定するようにすればよい。
【００６３】
ステップＳ８０４で、文書管理メイン制御部３０２は、ステップＳ８０３で検索した結果、上記３つの条件全てに合致する文書操作ログ登録データを一つ以上ＲＡＭ２０２に読み込んだか否かを判定する。読み込んでいれば（すなわち、文書操作ログ４０１に記録されている文書操作ログ登録データのうち、３つの条件に合致する文書操作ログ登録データが検索された場合）、文書管理メイン制御部３０２は、ステップＳ８０５へ進み、読み込んでいなければステップＳ８１３へ進む。
【００６４】
ステップＳ８０５で、ステップＳ８０３での検索条件に合致した文書操作ログ登録データの「文書名」属性４０５の値と、現在の処理対象の印刷ログ登録データの「ジョブ名」属性５０４の値とを、外部アプリ固有情報保持部３０７の外部アプリ固有情報を用いながら、比較する。尚、外部アプリ固有情報保持部３０７の情報を用いた比較の詳細に関しては、後述する。
【００６５】
ステップＳ８０６で、文書管理メイン制御部３０２は、ステップＳ８０５で比較した結果、印刷ログ登録データと値が一致または類似する文書操作ログ登録データが一つ以上あるか否かを判定する。文書操作ログ登録データが一つ以上あれば、文書管理メイン制御部３０２は、ステップＳ８０７へ進み、文書操作ログ登録データが一つ以上なければステップＳ８１３へ進む。尚、値が一致または類似するという判定の詳細に関しては、後述する。
【００６６】
ステップＳ８０７で、文書管理メイン制御部３０２は、印刷ログ登録データと値が一致または類似する各文書操作ログ登録データの「印刷判定済」属性４０９の値に何らかの印刷ログＩＤ属性の値が設定されているかどうかを確認する。「印刷判定済」属性４０９に値が何も設定されていない文書操作ログ登録データがあれば、文書管理メイン制御部３０２は、ステップＳ８０８へ進む。一方、印刷ログ登録データと値が一致または類似する全ての文書操作ログ登録データについて「印刷判定済」属性４０９に何らかの値が設定されていれば、ステップＳ８１３へ進む。
【００６７】
ステップＳ８０８で、文書管理メイン制御部３０２は、「印刷判定済」属性４０９に値が設定されていない文書操作ログ登録データの、「文書ＩＤ」属性４０３の値を持つ文書データ蓄積・管理部３０３内の文書が外部アプリで印刷されたと判断する。
【００６８】
ステップＳ８０９で、文書管理メイン制御部３０２は、現在の処理対象の印刷ログ登録データの「印刷ログＩＤ」属性５０２の値を取得し、該当の文書操作ログ登録データの「印刷判定済」属性４０９の値として設定する。
【００６９】
ステップＳ８１０で、文書管理メイン制御部３０２は、該当の文書操作ログ登録データの「文書操作ログＩＤ」属性４０２の値を取得し、現在の処理対象の印刷ログ登録データの「対応判定済」属性５１０の値として設定する。
【００７０】
ステップＳ８１１で、文書管理メイン制御部３０２は、文書データ蓄積・管理部３０３を用いて、前記Ｓ８０８において外部アプリで印刷されたと判断した「文書ＩＤ」属性４０３の値を持つ文書の「印刷回数」の属性の数値をインクリメントし、１増加させる。尚、「印刷回数」属性の代わりに「印刷人数」の属性を用いてもよく、その場合は、過去に該当の文書を印刷したことがないユーザによる印刷であると判断した場合のみ、該当の属性の数値を１増加させる。
【００７１】
ステップＳ８１２で、文書管理メイン制御部３０２は、該当の文書操作ログ登録データと現在の処理対象の印刷ログ登録データの情報から外部アプリ印刷ログ登録データを作成し、外部アプリ印刷ログ蓄積・管理部３０６に、その登録情報を渡す。この際、文書管理メイン制御部３０２は、作成する外部アプリ印刷ログ登録データの「文書ＩＤ」属性６０３、「文書パス」属性６０４、「文書名」属性６０５の値として、該当の文書操作ログ登録データの「文書ＩＤ」属性４０３、「文書パス」属性４０４、「文書名」属性４０５の値をコピーして設定する。また、「印刷ユーザ」属性６０６、「印刷開始日時」属性６０７の値として、現在の処理対象の印刷ログ登録データの「印刷ユーザ」属性５０５、「印刷開始日時」属性５０６の値をコピーして設定する。
【００７２】
ステップＳ８１３で、文書管理メイン制御部３０２は、ステップＳ８０１で新規に取得した印刷ログから生成された全ての印刷ログ登録データに対して、文書操作ログ４０１との比較処理を行ったかを判定する。比較処理を行っていない印刷ログ登録データが残っていれば、ステップＳ８０２へ進み、次の印刷ログ登録データの処理を行う。新規に取得した印刷ログから生成された全ての印刷ログ登録データに対して比較処理を行っていれば、処理を終了する。
【００７３】
なお、前記ステップＳ８０６で、値が一致する場合とは、例えば、印刷ログ登録５２１の「ジョブ名」属性５０４の値と文書操作ログ登録４２４の「文書名」属性４０５の値のように、同じ文字列値（例えば、資料１．ｐｄｆ）を持つ場合である。
【００７４】
また、文書管理メイン制御部３０２が、前記ステップＳ８０６で、値が類似すると判定するのは、以下の２つのパターンがある。
【００７５】
第一のパターンは、例えば、印刷ログ登録データ５２５の「ジョブ名」属性５０４の値「Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ  −  決裁書Ａ．ｄｏｃｘ」と、文書操作ログ登録データ４２５の「文書名」属性４０５の値「決裁書Ａ．ｄｏｃｘ」のような場合である。すなわち、ジョブ名には、印刷を行ったアプリケーションにより、アプリケーション固有の文字列が元の文書名の前後に付加される場合がある。印刷ログ登録データ５２５の「ジョブ名」属性５０４の例で言えば、「Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ  −  」というアプリケーション名を示す文字列が、印刷を行うのに使用されたと推測されるアプリケーション（この例ではＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標））によって付加されている。また、印刷ログ登録データ５２３の「ジョブ名」属性５０４の値「Ｍｉｃｒｏｓｏｆｔ  ＰｏｗｅｒＰｏｉｎｔ  −  資料３．ｐｐｔ  ［互換モード］」の例で言えば、「Ｍｉｃｒｏｓｏｆｔ  ＰｏｗｅｒＰｏｉｎｔ  −  」というアプリケーション名を示す文字列に加え、「  ［互換モード］」という文書を開いた時の形態を示す文字列が、同じく、印刷を行うのに使用されたと推測されるアプリケーション（Ｍｉｃｒｏｓｏｆｔ  ＰｏｗｅｒＰｏｉｎｔ（登録商標））によって付加されている。そのため、文書管理サーバアプリケーション３０１は、ジョブ名と文書名の比較時に必要なこれらの文書管理システム外の外部アプリ毎に固有の特徴を、外部アプリ固有情報保持部３０７に保持している。文書管理メイン制御部３０２は、ステップＳ８０５で、この外部アプリ固有情報保持部３０７の情報を用いて、現在の処理対象の印刷ログ登録の「ジョブ名」属性５０４の値からアプリケーションが付加したと推測される文字列を削除した後、比較を行う。ステップＳ８０６で、文書操作ログ登録の「文書名」属性４０５の値と一致しているかを判断する。ここで一致と判断されたものは、類似と判断される。
【００７６】
値が類似と判断する第二のパターンとしては、印刷ログ登録データ５２６の「ジョブ名」属性５０４の値「１２３４５６７８９０１２３４５６７８９０１２３４５６７８９０１２」と、文書操作ログ登録データ４２１の「文書名」属性４０５の値「１２３４５６７８９０１２３４５６７８９０１２３４５６７８９０１２３４５．ｔｘｔ」の例である。印刷ジョブを生成するプリンタドライバによっては、アプリケーションから渡される印刷ジョブ名称を、３２バイトに切り詰めてしまうものがある。そのため、印刷ログ登録データの「ジョブ名」属性５０４の値に３２バイトの値が設定されているものに関しては、文書操作ログ登録データの「文書名」属性４０５の値と前方一致で比較を行い、文字列の先頭から３２バイト目までの文字列が同一と判断されたものに関しては、類似と判断する。尚、このような３２バイトの値が設定されているものに関しても前記第一のパターンが適用される。前記第一のパターンと同様、アプリケーションが付加したと推測される文字列を削除した残りのジョブ名の文字列に対して、残りのジョブ名の文字数分の前方一致で文書操作ログ登録データの「文書名」属性４０５の値と比較を行い、同一と判断されたものに関しては、類似と判断する。
【００７７】
図７は、外部アプリ固有情報保持部３０７に保持される外部アプリ固有情報のテーブル７０１である。外部アプリ固有情報のテーブル７０１は、ハードディスク２１０に記憶・管理される。７０２は、外部アプリのファイル拡張子である。７０３は、プレフィックス定義であり、７０２のファイル拡張子を印刷ジョブ名称に付与する外部アプリにより、ファイル名の先頭に該当の文字列が付与された形で印刷ジョブ名称が付けられることを示している。７０４は、サフィックス定義であり、外部アプリにより、印刷ジョブ名称の中で７０２のファイル拡張子を印刷ジョブ名称に付与した後に続けて付与される可能性がある文字列を示している。尚、サフィックス定義の値は、サフィックスの文字列全体を定義として持つ必要はなく、その一部でもよい。例えば、“  ［”のようなスペースとブラケットから構成される２文字が値として定義されていた場合、“  ［”から始まる任意の文字列が、印刷ジョブ名称内でファイル拡張子７０２の文字列の後に付与される可能性があることを示している。
【００７８】
図４（ｂ）は、上記図８のフローチャート、および後述する図９、図１１のフローチャート実施後の文書操作ログの例である。
【００７９】
図５（ｂ）は、上記図８のフローチャート、および後述する図９、図１１のフローチャート実施後の印刷ログの例である。
【００８０】
図８のフローチャートにより、図４（ｂ）における文書操作ログ登録データ４２１、４２３〜４２５の「印刷判定済」属性４０９、図５（ｂ）における印刷ログ登録データ５２１、５２３、５２５〜５２６の「対応判定済」属性５１０に、それぞれ値が設定される。また、図８のフローチャートにより、図６における外部アプリ印刷ログ登録データ６２１〜６２４が生成される。
【００８１】
［文書管理サーバアプリケーションで管理される前に印刷された文書の判定］
図９は、文書管理サーバアプリケーション３０１で管理される前に印刷された文書の印刷判定のフローチャートである。ここでは、文書管理サーバアプリケーション３０１において、文書管理サーバアプリケーション３０１で管理される前に印刷された文書を判定する処理について説明する。
【００８２】
図９のフローチャートは、文書管理メイン制御部３０２によって、図８で示したフローチャートの実行終了後に続けて実施される。尚、開始タイミングは、これに限定されるものではない。
【００８３】
ステップＳ９０１で、文書管理メイン制御部３０２は、以下の３つの条件に合致する文書操作ログ登録データを文書操作ログ蓄積・管理部３０４から検索して、ＲＡＭ２０２に読み込む。
【００８４】
（１）  「操作種別」属性４０７の値として「新規登録」を持つ。もしくは、新規登録に相当する操作種別を値として持つ。
（２）  「印刷判定済」属性４０９に値が設定されていない。
（３）  現在の時刻から前回の図９のフローチャートが実行された開始時間までの間の日時を「操作日時」属性４０８の値として持つ。尚、時間幅はこれに限定されるものではない。
【００８５】
ステップＳ９０２で、文書管理メイン制御部３０２は、ステップＳ９０１で検索した結果、上記３つの条件に合致する文書操作ログ登録データを一つ以上ＲＡＭ２０２に読み込んだか否かを判定する。読み込んでいれば、文書管理メイン制御部３０２は、ステップＳ９０３へ進み、読み込んでいなければ、処理を終了する。
【００８６】
ステップＳ９０３で、文書管理メイン制御部３０２は、ＲＡＭ２０２に読み込んだ、ステップＳ９０１での検索条件に合致する新規登録の文書操作ログ登録データに関して、文書操作ログ蓄積・管理部３０４での登録順に一つずつ、ステップＳ９０４〜Ｓ９１３の処理を行う。
【００８７】
ステップＳ９０４で、文書管理メイン制御部３０２は、以下の３つの条件に合致する印刷ログ登録データを印刷ログ蓄積・管理部３０５から検索して、ＲＡＭ２０２に読み込む。
【００８８】
（１）  現在の処理対象の新規登録の文書操作ログ登録データの「操作ユーザ」属性４０６の値と同一の値を「印刷ユーザ」属性５０５の値として持つ。
（２）  「対応判定済」属性５１０に値が設定されていない。
（３）  現在の処理対象の新規登録の文書操作ログ登録データの「操作日時」属性４０８の値よりも一定時間前の日時を「印刷開始日時」属性５０６の値として持つ。この一定時間前の具体的な時間幅は、文書が印刷されてから、新規登録に至るまでの時間であることが望ましい。外部アプリでの文書の新規作成→編集→印刷→編集→文書管理システムへの新規登録、などのワークフローを考慮すると、一般的なオフィスワーカーで例えば１２時間以内と推定される。そのため、現在時刻より１２時間前の日時を値として持つものを、本実施例では、具体的な条件とする。尚、時間幅はこれに限定されるものではない。
【００８９】
ステップＳ９０５で、文書管理メイン制御部３０２は、ステップＳ９０４で検索した結果、上記３つの条件に合致する印刷ログ登録データを一つ以上ＲＡＭ２０２に読み込んだか否かを判定する。読み込んでいれば、文書管理メイン制御部３０２は、ステップＳ９０６へ進み、読み込んでいなければステップＳ９１３へ進む。
【００９０】
ステップＳ９０６で、文書管理メイン制御部３０２は、現在の処理対象の新規登録の文書操作ログ登録データの「文書名」属性４０５の値と、ステップＳ９０５での検索条件に合致した印刷ログ登録データの「ジョブ名」属性５０４の値とを、外部アプリ固有情報保持部３０７の外部アプリ固有情報７０１を用いながら、比較する。尚、外部アプリ固有情報保持部３０７の情報を用いた比較の詳細に関しては、前述の通りである。
【００９１】
ステップＳ９０７で、文書管理メイン制御部３０２は、ステップＳ９０６で比較した結果、現在の処理対象の新規登録の文書操作ログ登録データと値が一致または類似する印刷ログ登録データが、ステップＳ９０５での検索条件に合致した印刷ログ登録データの中に一つ以上あるか否かを判定する。印刷ログ登録データが一つ以上あれば、文書管理メイン制御部３０２は、ステップＳ９０８へ進み、印刷ログ登録データが一つ以上なければステップＳ９１３へ進む。尚、値が一致または類似するという判定の詳細に関しては、前述の通りである。
【００９２】
ステップＳ９０８で、文書管理メイン制御部３０２は、現在の処理対象の新規登録の文書操作ログ登録データの、「文書ＩＤ」属性４０３の値を持つ文書データ蓄積・管理部３０３内の文書が外部アプリで印刷されたと判断する。
【００９３】
ステップＳ９０９で、文書管理メイン制御部３０２は、現在の処理対象の文書操作ログ登録データの「文書操作ログＩＤ」属性４０２の値を取得し、前記ステップＳ９０６での比較で合致した印刷ログ登録データの「対応判定済」属性５１０の値として設定する。
【００９４】
ステップＳ９１０で、文書管理メイン制御部３０２は、前記ステップＳ９０６での比較で合致した印刷ログ登録データの「印刷ログＩＤ」属性５０２の値を取得し、現在の処理対象の文書操作ログ登録データの「印刷判定済」属性４０９の値として設定する。前記ステップＳ９０６での比較で合致した印刷ログ登録データが複数あれば、文書管理メイン制御部３０２は、その該当する複数の印刷ログ登録データから「印刷判定済」属性４０９の値を取得し、取得した各印刷ログ登録データの「印刷ログＩＤ」属性５０２の値をカンマで区切って、「印刷判定済」属性４０９の値に設定する。尚、前記ステップＳ９０６での比較で合致する印刷ログ登録が複数存在するというのは、同じ文書が複数回印刷されたという状況に相当する。
【００９５】
ステップＳ９１１で、文書管理メイン制御部３０２は、文書データ蓄積・管理部３０３を用いて、前記Ｓ９０８において外部アプリで印刷されたと判断した「文書ＩＤ」属性４０３の値を持つ文書の「印刷回数」の属性の数値をインクリメントし、１増加させる。尚、これは、「印刷人数」の属性でもよく、その場合、過去に該当の文書を印刷したことがないユーザによる印刷であると判断した場合のみ、該当の属性の数値を１増加させる。
【００９６】
ステップＳ９１２で、文書管理メイン制御部３０２は、現在の処理対象の文書操作ログ登録データと前記ステップＳ９０６での比較で合致した印刷ログ登録データの情報から外部アプリ印刷ログ登録データを作成し、外部アプリ印刷ログ蓄積・管理部３０６に、その登録情報を渡す。前記ステップＳ９０６での比較で合致した印刷ログ登録データが複数あれば、文書管理メイン制御部３０２は、それらの合致した印刷ログ登録データそれぞれに対応する外部アプリ印刷ログ登録データを作成する。尚、文書管理メイン制御部３０２が作成する外部アプリ印刷ログ登録データの詳細に関しては、前述の通りである。
【００９７】
ステップＳ９１３で、文書管理メイン制御部３０２は、ステップＳ９０１での検索条件に合致した新規登録の全ての文書操作ログ登録データに関して、ステップＳ９０４〜Ｓ９１２の処理を行ったかを判定する。ステップＳ９０４〜Ｓ９１２の処理を行っていない文書操作ログ登録データが残っていれば、文書管理メイン制御部３０２は、ステップＳ９０３へ進む。文書管理メイン制御部３０２は、ステップＳ９０１での検索条件に合致した新規登録の全ての文書操作ログ登録データに対してステップＳ９０４〜Ｓ９１２の処理を行っていれば、処理を終了する。
【００９８】
上記図９のフローチャートにより、図４（ｂ）における文書操作ログ登録４２６の「印刷判定済」属性４０９、図５（ｂ）における印刷ログ登録５２２の「対応判定済」属性５１０に、それぞれ値が設定される。また、同じく上記図９のフローチャートにより、図６における外部アプリ印刷ログ登録データ６２６が生成される。
【００９９】
［文書の印刷回数または印刷人数の属性の利用］
以下に、前述した文書の「印刷回数」または「印刷人数」の属性の実際の利用方法に関して述べる。後述するように、文書の「印刷回数」または「印刷人数」の属性は文書のレコメンドする際の判断基準に用いる。
【０１００】
図１０は、文書管理クライアントアプリケーション３１１のＵＩ部３１３の表示例を示している。１０００はメインウインドウであり、１００１はナビゲーションペインである。
【０１０１】
ナビゲーションペイン１００１には、アプリケーションで登録したライブラリーとライブラリー下に配置されるフォルダーが表示される。ナビゲーションペインで、ライブラリー、または、ライブラリー下に配置されるフォルダーを選択することで、現在の場所を移動することができる。図１０の例では、ライブラリー１０１１〜１０１３とフォルダー１０１４〜１０１５とが表示されており、ライブラリー１０１１が現在の場所として選択されている。ここで言うライブラリーとは、文書管理を行うための保存単位のことである。文書管理クライアントアプリケーション３１１で利用するライブラリーには、データの保存場所により、２種類の形態が存在する。
【０１０２】
１つ目は、文書管理クライアントアプリケーション３１１が実行されているＰＣのローカルの外部メモリ２１０にデータ保存領域を作成し、文書管理クライアントアプリケーション３１１自体が管理するローカルライブラリーの形態である。この形態では、文書管理サーバアプリケーション３０１を必要とせず、文書管理クライアントアプリケーション３１１のみでシステムを構成することが可能である。図１０の例では、１０１３がローカルライブラリーである。
【０１０３】
２つ目は、文書管理サーバアプリケーション３０１が提供する文書管理サービスに文書管理を委任する共有ライブラリーの形態である。この形態では、クライアントメイン制御部３１２は、ＵＩ部３１３から受け取った文書操作の要求を文書管理サーバアプリケーション３０１に渡し、その結果を文書管理サーバアプリケーション３０１から受け取って、ＵＩ部３１３に渡す。この２つ目の形態では、クライアントメイン制御部３１２が文書管理サーバアプリケーション３０１の文書管理サービスとのデータの仲介を行うだけの簡素な構成で済む。図１０の例では、１０１１〜１０１２が共有ライブラリーである。
【０１０４】
１００２は、ナビゲーションペインで選択中の場所（ライブラリーやフォルダ）に格納されている文書やフォルダーを表示するファイルリストペインである。図１０の例では、現在ナビゲーションペインで選択されている共有ライブラリー１０１１に格納されている２つのフォルダー１０１４〜１０１５が表示されている。
【０１０５】
１０３１は、キーボードコントローラ２０４によって制御されるマウスポインタであり、ユーザの操作指示を受けて、文書管理クライアントアプリケーション３１１のＵＩ部３１３でライブラリー、文書、フォルダーなどを操作する。
【０１０６】
１００７はペインの表示・非表示を切り替えるパネルであり、ナビゲーションペイン１００１の表示・非表示を切り替えるボタン１００８、レコメンドペイン１００３の表示・非表示を切り替えるボタン１００９などを備える。
【０１０７】
レコメンドペイン１００３は、ナビゲーションペイン１００１で共有ライブラリーが選択された際には、そのライブラリー内でユーザやグループが閲覧や印刷を頻繁にしている文書をお薦め文書として表示する。また、ファイルリストペイン１００２で文書が選択された際には、その選択された文書に関連する文書をお薦め文書として表示する。例えば、過去の操作において、選択された文書と同時に利用された文書などが表示される。また、ナビゲーションペイン１００１やファイルリストペイン１００２でフォルダーが選択された際には、その選択されたフォルダー下でユーザやグループが閲覧や印刷を頻繁にしている文書をお薦め文書として表示する。図１０では、ナビゲーションペイン１００１で選択されているライブラリー１０１１に関するお薦め文書１０２１〜１０２２が表示されている。なお、１０２３〜１０２４は、各お薦め文書１０２１〜１０２２それぞれを薦めた理由（お薦め理由）を示す文字列である。
【０１０８】
お薦め文書は、文書管理メイン制御部３０２により、文書管理クライアントアプリケーション３１１による文書操作要求に従う形で選定される。例えば、文書操作要求として「ライブラリー１０１１の一覧表示」が、サーバ通信部３０８を介して送信されて来た際、文書管理メイン制御部３０２は、ライブラリー１０１１の直下に格納されるフォルダーや文書の一覧を文書データ蓄積・管理部３０３から取得して、文書管理クライアントアプリケーション３１１に返す。それに加えて、ライブラリー１０１１に関するお薦め文書を、そのお薦め理由と共に、文書管理クライアントアプリケーション３１１に返す。文書管理メイン制御部３０２は、ライブラリー１０１１に関するお薦め文書として、ライブラリー１０１１に属する文書の中で「印刷回数」または「印刷人数」の属性の値が高いものを文書データ蓄積・管理部３０３から取得し、操作を行ったユーザにアクセス権があるもののみを、値が高いものから順に２つ選択する。
【０１０９】
このような、お薦め文書の文書管理サーバアプリケーション３０１での選定、および文書管理クライアントアプリケーション３１１での表示のことを、文書のレコメンドと呼ぶこととする。
【０１１０】
尚、文書のレコメンドは、文書の「印刷回数」や「印刷人数」の属性の値を使うだけでなく、文書操作ログ蓄積・管理部３０４に蓄積された文書操作ログを解析して、文書の閲覧回数や、文書の同時利用などを元に決定するようにしてもよい。
【０１１１】
［ページ数の比較による印刷文書の特定］
前記図８の文書管理サーバアプリケーション３０１で管理される文書の印刷判定のフローチャートにおいて、ステップＳ８０７で「印刷判定済」属性４０９に値が何も設定されない文書操作ログ登録データが複数あった場合、ステップＳ８０８以降で、それらすべての文書操作ログ登録データが処理の対象となる。
【０１１２】
すなわち、ステップＳ８０９で、それらすべての文書操作ログ登録データの「印刷判定済」属性４０９の値に、現在の処理対象の印刷ログ登録データの「印刷ログＩＤ」属性５０２の値が設定される。
【０１１３】
更に、ステップＳ８１０で、それらすべての文書操作ログ登録データの「文書操作ログＩＤ」属性４０２の値が、現在の処理対象の印刷ログ登録データの「対応判定済」属性５１０の値として設定される。
【０１１４】
本来、現在の処理対象の印刷ログ登録データに対して、一つの文書操作ログ登録データが決定されるのが望ましい。ただし、それぞれの文書操作ログ登録データの「文書ＩＤ」属性４０３の値が同一の値であれば、文書管理サーバアプリケーション３０１で管理される同一の文書が、同一ユーザにより、印刷前に複数回「オープン」された、または、印刷前に「新規登録」かつ一回以上「オープン」されたと判断できる。この場合は、現在の処理対象の印刷ログ登録データに対して、特に一つの文書操作ログ登録データを決定する必要はなく、前記図８のフローチャートの処理で構わない。
【０１１５】
また、ステップＳ８０７の前のステップＳ８０６で、印刷ログ登録データと値が一致すると判断された文書操作ログ登録データが一つ見つかった場合、印刷ログ登録データと値が類似と判断された文書操作ログ登録データが他にあったとしても、その一致と判断された文書操作ログ登録データに対してのみ、ステップＳ８０７以下の処理を行うものとしてよい。
【０１１６】
しかし、それでも、値が類似すると判断された複数の文書操作ログ登録データがステップＳ８０７の処理後に残った場合で、かつ、それらの文書操作ログ登録データの「文書ＩＤ」属性４０３の値が異なる場合、現在の処理対象の印刷ログ登録データに対応する実際に印刷された文書は、それらの中のいずれか一つであるはずである。この場合、それらの異なる「文書ＩＤ」属性４０３の値を持つ文書の中から、実際に印刷された文書を特定するための、別の方法が必要となる。図１１を用いて、この方法を説明する。
【０１１７】
図１１は、ページ数の比較によって印刷文書を特定するフローチャートである。図１１のフローチャートは、前記ステップＳ８０７で、現在の処理対象の印刷ログ登録データに対応する、「印刷判定済」属性４０９に値が何も設定されない文書操作ログ登録データが複数あり、かつ、それらの文書操作ログ登録データの「文書ＩＤ」属性４０３の値が異なる場合に、文書管理メイン制御部３０２によって、開始される。そして、処理の終了後、前記ステップＳ８０８の処理に遷移する。ただし、開始タイミング、終了後の処理に関しては、これらに限定されるものではない。
【０１１８】
ステップＳ１１０１で、文書管理メイン制御部３０２は、各文書操作ログ登録データの「文書ＩＤ」属性４０３の値を持つ文書の総ページ数を文書データ蓄積・管理部３０３から取得する。文書データ蓄積・管理部３０３が実際の文書から総ページ数を取得する具体的な方法に関しては、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ（登録商標）の文書の場合、Ｍｉｃｒｏｓｏｆｔ社が提供するＭｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ  Ｐｒｉｍａｒｙ  Ｉｎｔｅｒｏｐ  Ａｓｓｅｍｂｌｉｅｓ（プライマリ相互運用機能アセンブリ）の技術を用いて、取得することができる。尚、ページ数ではなくページ数相当の情報を取得するということでもよい。例えば、Ｍｉｃｒｏｓｏｆｔ  ＰｏｗｅｒＰｏｉｎｔ（登録商標）などのプレゼンテーション用アプリケーションの文書の場合、スライド数がページ数相当の情報として利用されている。この場合、全スライド数を総ページ数とする。
【０１１９】
ステップＳ１１０２で、文書管理メイン制御部３０２は、現在の処理対象の印刷ログ登録データから、「印刷枚数」属性５０７、「面付け情報」属性５０８、「両面印刷」属性５０９の各値を取得する。
【０１２０】
ステップＳ１１０３で、文書管理メイン制御部３０２は、ステップＳ１１０２で取得した「印刷枚数」属性５０７、「面付け情報」属性５０８、「両面印刷」属性５０９の値から、その印刷ログ登録データの実際の印刷ジョブの元となる印刷文書の印刷対象ページ数を算出する。算出は以下のような単純な掛け算の数式で行う。
【０１２１】
印刷枚数×面付け情報×両面印刷＝印刷対象ページ数
上記数式での印刷枚数の値は、「印刷枚数」属性５０７の値がそのまま代入されるが、面付け情報、両面印刷に関しては以下のような値が入る。
【０１２２】
上記数式での面付け情報の値に関しては、「面付け情報」属性５０８の値が「２ｉｎ１」の場合、２が入り、
印刷枚数×２×両面印刷＝印刷対象ページ数
となる。
【０１２３】
また、同様に「面付け情報」属性５０８の値が「４ｉｎ１」の場合、４が入り、
印刷枚数×４×両面印刷＝印刷対象ページ数
となる。
【０１２４】
また、上記数式での両面印刷の値に関しては、「両面印刷」属性５０９の値が「あり」の場合、２が入り、
印刷枚数×面付け情報×２＝印刷対象ページ数
となる。
【０１２５】
また、同様に「両面印刷」属性５０９の値が、値なしまたは「なし」の場合、１が入り、
印刷枚数×面付け情報×１＝印刷対象ページ数
となる。
【０１２６】
上記の数式で算出される印刷対象ページ数の値は、ＰＣ上でアプリケーションが文書を印刷する際に、文書を印刷する範囲として指定されたページ数を表す。具体的には、文書の全ページ数を表す値、または、文書の一部のページ範囲を表す値のいずれかである。
【０１２７】
尚、上記では、「印刷枚数」属性５０７、「面付け情報」属性５０８、「両面印刷」属性５０９の値を用いたが、他に元となる印刷文書の印刷対象ページ数を算出可能なパラメータがあれば、それを利用するよう上記数式を組み立ててもよい。
【０１２８】
ステップＳ１１０４で、文書管理メイン制御部３０２は、ステップＳ１１０３で算出した印刷対象ページ数と、ステップＳ１１０１で取得した、各文書操作ログ登録データの「文書ＩＤ」属性４０３の値を持つ文書のそれぞれの総ページ数とを比較する。比較は、以下の比較式で行う。
【０１２９】
文書の総ページ数≧印刷対象ページ数
ステップＳ１１０５で、文書管理メイン制御部３０２は、ステップＳ１１０４で比較した結果、文書の総ページ数が印刷対象ページ数以上である文書の文書ＩＤを「文書ＩＤ」属性４０３の値として持つ文書操作ログ登録データを、現在の処理対象の印刷ログ登録データに対応する文書操作ログ登録データとして決定し、処理を終了する。
【０１３０】
上記図１１および前記図８のフローチャートにより、図４（ｂ）における文書操作ログ登録データ４２７の「印刷判定済」属性４０９、図５（ｂ）における印刷ログ登録データ５２７の「対応判定済」属性５１０に、それぞれ値が設定される。また、同じく上記図１１および前記図８のフローチャートにより、図６における外部アプリ印刷ログ登録データ６２５が生成される。
【０１３１】
上記の処理によれば、印刷ログ登録データに対応する文書操作ログ登録データの候補が複数あった場合、それらの文書操作ログに対応する文書から取得した総ページ数と、印刷ログ登録データから算出した印刷対象ページ数を比較することにより、文書操作ログ登録データの候補内での絞り込みを行うことができるという効果がある。
【０１３２】
また、図５（ｂ）において、上記図８、図９、図１１のフローチャートの実施後、印刷ログ登録データ５２４に関して、「対応判定済」属性５１０に値が設定されておらず、また対応する外部アプリ印刷ログ登録データが図６の外部アプリ印刷ログ６０１に生成されていない。これは、この印刷ログ登録データに対応する文書操作ログ登録データが文書操作ログ４０１に存在しなかったためである。
【０１３３】
そのため、この印刷ログ登録データは、文書管理サーバアプリケーション３０１が管理する文書が印刷された際に生成された印刷ログではなく、クライアントＰＣ１０２などのファイルシステム上のファイルが印刷された際に生成された印刷ログであると解釈できる。印刷ログ登録データ５２４の「ジョブ名」属性５０４の値は、印刷ログ登録データ５２１の「ジョブ名」属性５０４の値と同一であり、印刷された文書またはファイルの名前は、「資料１．ｐｄｆ」であると解釈できる。すなわち、図１に示したシステム内で「資料１．ｐｄｆ」という名前の文書またはファイルが、文書管理サーバＰＣ１０１と、クライアントＰＣ１０２上に、少なくとも、それぞれ１つずつ以上存在すると解釈できる。
【０１３４】
すなわち、本発明によれば、文書ＤＢである文書データ蓄積・管理部３０３とローカルのファイルシステムであるクライアントＰＣ１０２のハードディスク２１０に同名の文書が存在する場合であっても、文書ＤＢ内の文書の方が印刷されたということをログから判別することができる。
【０１３５】
また、本発明によれば、文書名と類似のジョブ名を判定するため、印刷ログに記録されたジョブ名と、文書管理システムで管理される文書の文書名が完全一致しない場合であっても、印刷されたことを特定することができる。
【０１３６】
［実施例２］
【０１３７】
本実施例２は、実施例１と同様の課題に対して、比較条件を変えた検索を複数実行することで印刷判定を行い、実施例１と同様の効果を得るものである。尚、システム構成、ハードウェア構成、ソフトウェア構成などは実施例１と同様であるので説明は省略する。
【０１３８】
「条件を変えた検索を複数実行して印刷判定を行う処理」
以下、本実施例２の処理の流れについて説明する。図１２は、印刷ログ４５１と文書操作ログ４０１に対して、比較条件の異なる複数の検索を実行して、印刷判定を行う処理のフローチャートである。ここで、本実施例では、複数の検索として検索１、検索２、検索３、検索４を設定して、以上の複数の検索を実施することで、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせを検索する。なお、それぞれの検索の処理に関しては、後述する。
【０１３９】
ステップＳ１２０１で、文書管理メイン制御部３０２は、ステップＳ８０１と同様に、印刷ログ取得先設定保持部３０９が保持する取得先プリンタ情報を元に、ＭＦＰデバイス１０３などのプリンタから新たな印刷ログを取得し、印刷ログ蓄積・管理部３０５に渡す。
【０１４０】
ステップＳ１２０２で、文書管理メイン制御部３０２は、検索の対象とする印刷ログおよび文書操作ログを決定する。印刷ログは、ステップＳ１２０１で取得したものを対象とする。また、文書操作ログは、前回図１２のフローチャートの処理が行われた後に、文書操作ログ蓄積・管理部３０４に蓄積されたものを対象とする。
【０１４１】
ステップＳ１２０３で、文書管理メイン制御部３０２は、検索１、検索２、検索３および検索４の順にそれぞれステップＳ１２０４〜ステップＳ１２１２の処理を行う。
【０１４２】
ステップＳ１２０４で、文書管理メイン制御部３０２は、文書操作ログ蓄積・管理部３０４に記録されている印刷ログと文書操作ログに対して、現在の処理対象の検索を実施する。
【０１４３】
検索１を実施するのであれば、Ｓ１３０１へ進む。検索２を実施するのであれば、Ｓ１４０１へ進む。検索３を実施するのであれば、Ｓ１６０１へ進む。検索４を実施するのであれば、Ｓ１７０１へ進む。
【０１４４】
ステップＳ１２０５で、文書管理メイン制御部３０２は、ステップＳ１２０４で実施した検索において実行結果が存在するか否かを判定する。存在すれば、ステップＳ１２０６へ進む。存在しなければ、ステップＳ１２１１へ進む。
【０１４５】
ステップＳ１２０６で、文書管理メイン制御部３０２は、ステップＳ１２０４で実施した検索における各検索結果に対して、ステップＳ１２０７〜ステップＳ１２１０の処理を行う。
【０１４６】
ステップＳ１２０７で、文書管理メイン制御部３０２は、ステップＳ１２０６で指定した現在の処理対象の検索結果から文書操作ログ登録データおよび印刷ログ登録データを読み取り、その印刷ログ登録データの「対応判定済」属性５１０の値に何らかの文書操作ログＩＤ属性の値が設定されているかどうかを確認する。
【０１４７】
「対応判定済」属性５１０に値が何も設定されない印刷ログ登録データであれば、印刷登録済でないと判定し、ステップＳ１２０８へ進む。「対応判定済」属性５１０に何らかの値が設定されている印刷ログ登録データであれば、印刷登録済であると判定し、ステップＳ１２１０へ進む。
【０１４８】
ステップＳ１２０８で、文書管理メイン制御部３０２は、ステップＳ８０９と同様にして、ステップＳ１２０７で読み取った印刷ログ登録データの「印刷ログＩＤ」属性５０２の値を取得し、ステップＳ１２０７で読み取った文書操作ログ登録データの「印刷判定済」属性４０９の値として設定する。また、文書管理メイン制御部３０２は、ステップＳ８１０と同様にして、ステップＳ１２０７で読み取った文書操作ログ登録データの「文書操作ログＩＤ」属性４０２の値を取得し、ステップＳ１２０７で読み取った印刷ログ登録データの「対応判定済」属性５１０の値として設定する。
【０１４９】
ステップＳ１２０９で、文書管理メイン制御部３０２は、ステップＳ１２０７で読み取った文書操作ログ登録データおよび印刷ログ登録データの組み合わせが、文書管理サーバに管理されている文書の印刷された際のログであると判断し、ステップＳ８１２と同様に、外部アプリ印刷ログ登録データを作成し、外部アプリ印刷ログ蓄積・管理部３０６に、その登録情報を渡す。
【０１５０】
ステップＳ１２１０で、文書管理メイン制御部３０２は、ステップＳ１２０６で処理対象とした検索結果に関して、処理していないものがあれば、ステップＳ１２０６へ戻り、次の検索結果を処理の対象とする。そうでなければ、ステップ１２１１へ進む。
【０１５１】
ステップＳ１２１１で、文書管理メイン制御部３０２は、ステップＳ１２０１で取得した印刷ログ登録データに関して、印刷判定済でないものがあるか否かを判定する。印刷判定済でないものがあれば、ステップＳ１２１２へ進む。そうでなければ、処理を終了する。
【０１５２】
ステップＳ１２１２で、文書管理メイン制御部３０２は、検索１、検索２、検索３および検索４の全ての検索に対して処理を行ったかを判定する。全ての検索に対して処理を行っていれば、処理を終了する。そうでなければ、ステップＳ１２０３へ戻り、次の検索を行う。
【０１５３】
以下に、検索１、検索２、検索３および検索４の処理の詳細について説明する。いずれの検索においても、ユーザ情報、操作時刻情報、操作内容情報、文書情報のそれぞれに関する４つの比較条件を設定する。また、本実施例ではいずれの検索においても、ユーザ情報、操作時刻情報および操作内容情報に関する３つの比較条件は同一の内容に設定されているものとして説明する。
【０１５４】
［検索１の詳細説明］
検索１では、印刷された結果、印刷ログ登録データの「ジョブ名」属性４５４の値に、「文書名」の情報が記録される文書の判定を行う。検索１の処理方法に関して、図１３を用いて説明する。
【０１５５】
ステップＳ１３０１で、文書管理メイン制御部３０２は、以下の内容を満たすことをユーザ情報の比較条件として設定する。
【０１５６】
・印刷ログ登録データの「印刷ユーザ」属性５０５の値と、文書操作ログ登録データの「操作ユーザ」属性４０６の値が一致すること
ステップＳ１３０２で、文書管理メイン制御部３０２は、以下のＡあるいはＢの内容を満たすことを操作時刻情報の比較条件および操作内容情報の比較条件として設定する。尚、ステップＳ８０３およびステップＳ９０４と同様に、「印刷開始日時」属性５０６の値と「操作時刻」属性４０８の値の時間差を１２時間以内として説明する。
【０１５７】
（Ａ）  印刷ログ登録データの「印刷開始日時」属性５０６の値よりも文書操作ログ登録データの「操作日時」属性４０８の値が１２時間の範囲内で前の時刻であり、かつ、「操作内容」属性４０７の値がオープンであること
（Ｂ）  印刷ログ登録データの「印刷開始日時」属性５０６の値よりも文書操作ログ登録データの「操作日時」属性４０８の値が１２時間の範囲内で後の時刻であり、かつ、「操作内容」属性４０７の値が新規登録であること
ステップＳ１３０３で、文書管理メイン制御部３０２は、以下の内容を満たすことを文書情報の比較条件として設定する。
【０１５８】
・印刷ログ登録データの「ジョブ名」属性４５４の値と文書操作ログ登録データの「文書名」属性４０５の値が完全に一致すること
ステップＳ１３０４で、文書管理メイン制御部３０２は、ステップＳ１３０１〜ステップＳ１３０３でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを、ステップＳ１２０２で決定した文書操作ログおよび印刷ログを対象に検索する。
【０１５９】
例えば、検索１を印刷ログ５０１の印刷ログ登録データ５２１〜５２７および文書操作ログ４０１の文書操作ログ登録データ４２１〜４３０に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ５２１と文書操作ログ登録データ４２４」、「印刷ログ登録データ５２２と文書操作ログ登録データ４２６」が得られる。
【０１６０】
検索１の処理を終了後、Ｓ１２０６へ進む。
【０１６１】
［検索２の詳細説明］
検索２では、印刷された結果、印刷ログ登録データの「ジョブ名」属性４５４の値に、「文書名と外部アプリを表す文字列」の情報が記録される文書の判定を行う。検索２の処理方法に関して、図１４を用いて説明する。
【０１６２】
ステップＳ１４０１で、文書管理メイン制御部３０２は、ステップＳ１３０１と同様の処理を行い、ユーザ情報の比較条件を設定する。
【０１６３】
ステップＳ１４０２で、文書管理メイン制御部３０２は、ステップＳ１３０２と同様の処理を行い、操作時刻情報の比較条件および操作内容情報の比較条件を設定する。
【０１６４】
ステップＳ１４０３で、文書管理メイン制御部３０２は、後述するステップＳ１５０１〜ステップＳ１５０６の処理を実行して、検索２における文書情報の比較条件の設定を行う。
【０１６５】
ステップＳ１４０４で、文書管理メイン制御部３０２は、ステップＳ１４０１〜ステップＳ１４０３でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを検索する。検索の対象は、印刷判定済でない印刷ログ登録と、文書操作ログ登録とする。
【０１６６】
検索２における文書情報の比較条件の設定方法に関して、図１５を用いて説明する。
【０１６７】
ステップＳ１５０１で、文書管理メイン制御部３０２は、外部アプリ固有情報保持部３０７の外部アプリ固有情報７０１に記録されているプレフィックス定義７０３およびサフィックス定義７０４から、外部アプリを示す文字列（以下、「外部アプリ印刷文字列」とする）を取得する。そして、文書管理メイン制御部３０２は、各「外部アプリ印刷文字列」に対して、ステップＳ１５０２〜ステップＳ１５０６の処理を実施する。
【０１６８】
ステップＳ１５０２で、文書管理メイン制御部３０２は、「外部アプリ印刷文字列」がプレフィックス定義７０３として記録されているか、あるいはサフィックス定義７０４として記録されているかを判定する。プレフィックス定義７０３に記録されている場合は、ステップＳ１５０３へ進む。サフィックス定義７０４に記録されている場合は、ステップＳ１５０４へ進む。
【０１６９】
ステップＳ１５０３で、文書管理メイン制御部３０２は、「外部アプリ印刷文字列」を「文書名」属性４０５の値の前に結合して、結合後の文字列を取得する。
【０１７０】
ステップＳ１５０４で、文書管理メイン制御部３０２は、「外部アプリ印刷文字列」を「文書名」属性４０５の値の後に結合して、結合後の文字列を取得する。
【０１７１】
ステップＳ１５０５で、文書管理メイン制御部３０２は、「ステップＳ１５０３あるいはステップＳ１５０４で取得した文字列と「ジョブ名」属性４５４が一致する」という条件を文書情報の比較条件として設定する。ステップＳ１５０５で加えられた文書情報の比較条件がすでに存在する場合は、その条件に対して論理和（ＯＲ）になるように文書情報の比較条件に加える。
【０１７２】
ステップＳ１５０６で、文書管理メイン制御部３０２は、ステップＳ１５０１で、取得した「外部アプリ印刷文字列」の全てに対して、処理を行ったか否かを判定する。全ての「外部アプリ印刷文字列」に対して処理を行っていれば、処理を終了する。そうでなければ、ステップＳ１５０１へ進み、次の「外部アプリ印刷文字列」を対象にして処理を行う。
【０１７３】
例えば、検索２を印刷ログ５０１の印刷ログ登録データ５２１〜５２７および文書操作ログ４０１の文書操作ログ登録データ４２１〜４３０に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ５２５と文書操作ログ登録データ４２５」が得られる。
【０１７４】
検索２の処理を終了後、Ｓ１２０６へ進む。
【０１７５】
［検索３の詳細説明］
検索３では、印刷された結果、印刷ログ登録の「ジョブ名」属性４５４の値に、「文書名と文書の開き方を表す文字列」または「文書名と外部アプリを表す文字列と文書の開き方を表す文字列」のいずれかの情報が記録される文書の判定を行う。検索３の処理方法に関して、図１６を用いて説明する。
【０１７６】
ステップＳ１６０１で、文書管理メイン制御部３０２は、ステップＳ１３０１と同様の処理を行い、ユーザ情報の比較条件を設定する。
【０１７７】
ステップＳ１６０２で、文書管理メイン制御部３０２は、ステップＳ１３０２と同様の処理を行い、操作時刻情報の比較条件および操作内容情報の比較条件を設定する。
【０１７８】
ステップＳ１６０３で、文書管理メイン制御部３０２は、以下のＡあるいはＢの内容を満たすことを文書情報の比較条件として設定する。
【０１７９】
（Ａ）  「文書名」属性４０５の値で前方一致検索を行い、「ジョブ名」属性４５４の値が該当すること
（Ｂ）  ステップＳ１５０３、ステップＳ１５０４で取得した「文書名」属性４０５の値の前あるいは後に「外部アプリ印刷文字列」を結合した文字列で前方一致検索を行い、「ジョブ名」属性４５４の文字列が該当すること
ステップＳ１６０４で、文書管理メイン制御部３０２は、ステップＳ１６０１〜ステップＳ１６０３でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを検索する。検索の対象は、印刷判定済でない印刷ログ登録データと文書操作ログ登録データとする。
【０１８０】
ステップＳ１６０５で、文書管理メイン制御部３０２は、ステップＳ１６０４で検索を実行して得られた各検索結果に対して、ステップＳ１６０６〜ステップＳ１６０９の処理を行う。
【０１８１】
ステップＳ１６０６で、文書管理メイン制御部３０２は、ステップＳ１６０５で処理の対象とした検索結果に含まれる印刷ログ登録データの情報から「ジョブ名」属性４５４の値を取得する。
【０１８２】
ステップＳ１６０７で、文書管理メイン制御部３０２は、ステップＳ１６０６で取得した「ジョブ名」属性４５４の値から文書名や「外部アプリ印刷文字列」を除いた文字列を取得する。文書管理メイン制御部３０２は、その文字列がアプリ文字列の一部や文書を開いた時の形態を示す文字列の全部あるいは一部であるか否かを判定する。
【０１８３】
アプリ文字列の一部や文書を開いた時の形態を示す文字列の全部あるいは一部であると判定されれば、ステップＳ１６０９へ進む。そうでなければ、ステップＳ１６０８へ進む。
【０１８４】
ステップＳ１６０８で、文書管理メイン制御部３０２は、ステップＳ１６０５で処理の対象とした検索結果に含まれる文書操作ログ登録および印刷ログ登録の組み合わせは正しくないものと判定し、検索結果から除外する。
【０１８５】
ステップＳ１６０９で、文書管理メイン制御部３０２は、ステップＳ１６０４で検索を実行して得られた検索結果の全てに対して、処理を行ったかを判定する。全ての検索結果に対して処理を行っていれば、処理を終了する。そうでなければ、ステップＳ１６０５に進み、次の検索結果に対して処理を行う。
【０１８６】
例えば、検索３を印刷ログ５０１の印刷ログ登録データ５２１〜５２７および文書操作ログ４０１の文書操作ログ登録データ４２１〜４３０に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ５２３と文書操作ログ登録データ４２３」が得られる。
【０１８７】
検索３の処理を終了後、Ｓ１２０６へ進む。
【０１８８】
［検索４の詳細説明］
検索４では、印刷された結果、印刷ログ登録データの「ジョブ名」属性４５４の値に、「文書名の一部」、「外部アプリを表す文字列と文書名の一部」、「文書名と外部アプリを表す文字列の一部」のいずれかの情報が記録される文書の判定を行う。検索４の処理方法に関して、図１７を用いて説明する。
【０１８９】
ステップＳ１７０１で、文書管理メイン制御部３０２は、ステップＳ１３０１と同様の処理を行い、ユーザ情報の比較条件を設定する。
【０１９０】
ステップＳ１７０２で、文書管理メイン制御部３０２は、ステップＳ１３０２と同様の処理を行い、操作時刻情報の比較条件および操作内容情報の比較条件を設定する。
【０１９１】
ステップＳ１７０３で、文書管理メイン制御部３０２は、以下の内容を満たすことを文書情報の比較条件として設定する。
【０１９２】
・「ジョブ名」属性４５４の値に対して「文書名」属性４０５の値が部分一致すること
ステップＳ１７０４で、文書管理メイン制御部３０２は、ステップＳ１７０１〜ステップＳ１７０３でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを検索する。検索の対象は、印刷判定済でない印刷ログ登録データと、文書操作ログ登録データとする。
【０１９３】
ステップＳ１７０５で、文書管理メイン制御部３０２は、ステップＳ１７０４で検索を実行して得られた各検索結果に対して、ステップＳ１７０６〜ステップＳ１７１２の処理を行う。
【０１９４】
ステップＳ１７０６で、文書管理メイン制御部３０２は、現在の処理の対象である検索結果に含まれる文書操作ログ登録データの情報から「文書名」属性４０５の値を取得する。
【０１９５】
ステップＳ１７０７で、文書管理メイン制御部３０２は、ステップＳ１７０６で取得した「文書名」属性４０５の値が表している文書が印刷された際に印刷ログ登録データの「ジョブ名」属性４５４に記録されると予測される文字列（以下、「予測完全ジョブ名」とする）を、外部アプリ固有情報７０１を参照して算出する。
【０１９６】
ステップＳ１７０８で、文書管理メイン制御部３０２は、現在の処理の対象である検索結果に含まれる印刷ログ登録データの情報から、「プリンタ名」属性５０３の値を取得する。そして、文書管理メイン制御部３０２は、「プリンタ名」属性５０３の値が示すプリンタで文書を印刷された場合に生成される印刷ログ登録データの「ジョブ名」属性４５４に記録可能な最大バイト数を取得する。
【０１９７】
ステップＳ１７０９で、文書管理メイン制御部３０２は、ステップＳ１７０７で算出した「予測完全ジョブ名」に関して、先頭からステップＳ１７０８で取得した最大バイト数までの文字列（以下、「予測制限ジョブ名」とする）を抽出する。
【０１９８】
ステップＳ１７１０で、文書管理メイン制御部３０２は、現在の処理の対象である検索結果に含まれる印刷ログ登録データの情報に含まれる「ジョブ名」属性４５４の値とステップＳ１７０９で抽出した「予測制限ジョブ名」が完全に一致するか否かを判定する。完全に一致すれば、ステップＳ１７１２へ進む。そうでなければ、ステップＳ１７１１へ進む。
【０１９９】
ステップＳ１７１１で、文書管理メイン制御部３０２は、現在の処理の対象である検索結果に含まれる文書操作ログ登録データと印刷ログ登録データの組み合わせは、正しくないものと判定し、検索結果から除外する。
【０２００】
ステップＳ１７１２で、文書管理メイン制御部３０２は、ステップＳ１７０４で検索した結果の全てに対して処理を行ったか否かを判定する。全ての検索結果に対して、処理を行っていれば処理を終了する。そうでなければ、ステップＳ１７０５に進み、次の検索結果を処理の対象とする。
【０２０１】
例えば、検索４を印刷ログ５０１の印刷ログ登録データ５２１〜５２７および文書操作ログ４０１の文書操作ログ登録データ４２１〜４３０に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ５２６と文書操作ログ登録データ４２１」、「印刷ログ登録データ５２７と文書操作ログ登録データ４２７」、「印刷ログ登録データ５２７と文書操作ログ登録データ４２８」が得られる。
【０２０２】
検索４の処理を終了後、Ｓ１２０６へ進む。
【０２０３】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005812769.tif 000002
【図２】
0005812769.tif 000003
【図３】
0005812769.tif 000004
【図４】
0005812769.tif 000005
【図５】
0005812769.tif 000006
【図６】
0005812769.tif 000007
【図７】
0005812769.tif 000008
【図８】
0005812769.tif 000009
【図９】
0005812769.tif 000010
【図１０】
0005812769.tif 000011
【図１１】
0005812769.tif 000012
【図１２】
0005812769.tif 000013
【図１３】
0005812769.tif 000014
【図１４】
0005812769.tif 000015
【図１５】
0005812769.tif 000016
【図１６】
0005812769.tif 000017
【図１７】
0005812769.tif 000018