文書管理システム、文書管理方法、プログラム
【課題】 文書管理システムで管理される文書が、外部のアプリケーションで印刷された場合、どの文書が印刷されたかを文書管理システム側で判別することができなかった。
【解決手段】 本発明によれば、文書管理システムで管理される文書に対する操作の履歴を示す操作ログと、プリンタ等の印刷デバイスで実行された印刷の履歴を示す印刷ログとを比較することによって、文書が印刷されたかどうかの判定を行う。
【解決手段】 本発明によれば、文書管理システムで管理される文書に対する操作の履歴を示す操作ログと、プリンタ等の印刷デバイスで実行された印刷の履歴を示す印刷ログとを比較することによって、文書が印刷されたかどうかの判定を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書管理システムで管理対象にしている文書を、文書管理アプリケーションと異なる他のアプリケーションでオープンされた際に、該文書が印刷されたかどうかを判定する技術、ならびにその判定結果を利用する技術に関する。
【背景技術】
【0002】
文書管理システムで管理されている各文書の閲覧回数や印刷回数に基づいて、各文書の重要度を判定することが考えられている。
特許文献1では、文書管理サーバの閲覧ログデータベースに記録されている閲覧ログの文書IDを判別して、文書ID=iの文書についての閲覧回数を求めることによって、閲覧ログに基づく重要度を求める。更に、プリントサーバの印刷ログデータベースに記録されている印刷ログの文書IDを判別して、文書ID=iの文書についての印刷回数を求めることによって、印刷ログに基づく重要度を求める。そして、閲覧ログに基づく重要度と印刷ログに基づく重要度を統合して、当該文書ID=iの文書の重要度を決定している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−122685号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の手法では、閲覧ログに記録される文書IDと、印刷ログに記録される文書IDとが、共通した文書IDである必要がある。
【0005】
しかしながら、一般的な文書管理サーバでは、各文書(ファイル)に対して、当該文書管理サーバで管理するための独自の文書IDを付与して管理している。一方、プリントサーバでは、様々なアプリケーションプログラムからの印刷ジョブを受信して印刷処理を行う際に印刷ログIDを付与して、各印刷ジョブを印刷ログに記録している。すなわち、一般的に、文書管理サーバの閲覧ログに記録される文書IDと、プリントサーバの印刷ログに記録される印刷ログIDは、共通していない場合が多いという問題点がある。
【0006】
これに対して、プリントサーバの印刷ログを利用するのではなく、文書管理システム上で行われた操作全てを操作ログとして記録することによって、文書管理システムで管理している文書に対して印刷操作が指示されたかどうか判定することが考えられる。具体的には、文書管理サーバと文書管理クライアントで構成される文書管理システムにおいて、文書管理クライアント上で行われた印刷操作を文書管理サーバの操作ログに記録し、その操作ログから文書管理サーバで管理される文書が印刷されたことを判定する。なお、文書管理クライアントでの印刷操作としては、文書管理クライアントアプリケーションにおいて表示した文書一覧の中から所望の文書を選択し、文書管理クライアントアプリケーションの操作メニューから「印刷」を選択する。このように、文書管理クライアントアプリケーションの操作メニューから印刷が選択された場合には、文書管理サーバの操作ログに印刷操作のログが記録されることになる。
【0007】
しかしながら、一般的な文書管理システムでは、文書管理サーバで管理されている文書を、クライアントPCにダウンロードして、文書管理クライアントアプリケーションと異なるアプリケーション(以下では「外部アプリ」と略記する)で当該文書をオープンすることができる。例えば、文書管理サーバからローカルにダウンロードした文書ファイルを、ワープロアプリケーションや表計算アプリケーションなどの外部アプリでオープンすることができる。このような外部アプリを起動して文書をオープンし、当該外部アプリにおいて当該文書の印刷操作が行われた場合、外部アプリにおいて為された操作は文書管理サーバの操作ログに記録されないため、外部アプリでの印刷操作も記録されないことになる。すなわち、外部アプリの操作メニューから印刷が実行された場合は、文書管理システムの管理外で印刷が指示されるため、その操作記録を文書管理システム側で残すことができず、文書管理システム側では該文書が印刷されたかどうかを判別することができない。
【0008】
このような外部アプリを用いて文書をオープンして印刷した場合の問題は、特許文献1のような環境下においても同様に問題となる。すなわち、文書管理サーバの管理外の外部アプリにおいて印刷操作が行われた場合、プリントサーバで記録される印刷ジョブIDは、文書管理サーバで記録される文書IDと共通にすることができない。したがって、文書管理サーバで管理している文書について印刷回数を用いて重要度を算出することは困難となる。
【0009】
本発明は、上記のような問題を解決するためのものであり、外部アプリでの印刷を判定する文書管理システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明の文書管理システムは、文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録手段と、印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集手段と、前記文書操作ログ記録手段で記録された操作ログと、前記印刷ログ収集手段で収集された印刷ログとを比較するログ比較手段と、前記ログ比較手段での比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定手段と、前記文書印刷判定手段の判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新手段と、を有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、文書管理システムで管理される文書に対する操作の履歴を示す操作ログと、プリンタ等の印刷デバイスで実行された印刷の履歴を示す印刷ログとを比較することによって、文書の印刷判定を行うため、文書管理システムのプログラムと異なる外部アプリケーションで印刷が行われたことを判別することができる。
【図面の簡単な説明】
【0012】
【図1】システムの概略図
【図2】システムを構成する各PCとMFPデバイスのハードウェア構成図
【図3】文書管理システムのソフトウェアモジュール構成
【図4】(a)文書操作ログの例 (b)図8、図9、図11のフローチャート実施後の文書操作ログの例
【図5】(a)印刷ログの例 (b)図8、図9、図11のフローチャート実施後の印刷ログの例
【図6】外部アプリ印刷ログの例
【図7】外部アプリ固有情報保持部に保持される外部アプリ固有情報のテーブル
【図8】文書管理サーバアプリケーションで管理される文書の印刷判定のフローチャート
【図9】文書管理サーバアプリケーションで管理される前に印刷された文書の印刷判定のフローチャート
【図10】文書管理クライアントアプリケーション311のUI部313のレコメンド表示例
【図11】ページ数の比較によって印刷文書を特定するフローチャート
【図12】実施例2における比較条件の異なる複数の検索の実施による印刷判定処理のフローチャート
【図13】実施例2における検索1の処理のフローチャート
【図14】実施例2における検索2の処理のフローチャート
【図15】実施例2における検索2における文書情報の比較条件の設定方法処理のフローチャート
【図16】実施例2における検索3の処理のフローチャート
【図17】実施例2における検索4の処理のフローチャート
【発明を実施するための形態】
【0013】
[実施例1]
図1〜図7を用いて、本発明に係る実施例1を説明する。
【0014】
図1は本実施例におけるシステムの概略図であり、文書管理サーバ101、クライアントPC102、印刷機能を有するMFPデバイス(複合機)103は、インターネットやLAN等のネットワーク104で接続されている。
【0015】
文書管理サーバPC101は、文書管理サーバアプリケーションが動作しているサーバである。クライアントPC102は、文書管理サーバ101にアクセスし、文書情報を取得するための文書管理クライアントアプリケーションが動作しているPC(パーソナルコンピュータ)である。
【0016】
図1には図示されていないが、クライアントPC102の他にも複数のクライアントPCがネットワーク104に接続されていても構わない。また、MFPデバイス103の他にも複数のMFPデバイスがネットワーク104に接続されていても構わない。
【0017】
[ハードウェア構成]
図2は、本発明の実施形態に係る本システムを構成する各PCとMFPデバイスのハードウェア構成例を示している。本実施形態の文書管理サーバPCおよびクライアントPCは、図2(A)に示すような一般的な情報処理装置のハードウェア構成を適用できる。
【0018】
図2(A)は、情報処理装置(PC)のハードウェア構成図である。CPU201は、メモリ(ROM203やRAM202)にロードされたOSやアプリケーション等のプログラムを実行する。ここで、OSとはコンピュータ上で稼働するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理は、このCPU201により実行されるプログラムによって実現される。すなわち、該プログラムは、コンピュータを、後述するフローチャートの各処理を実行する各処理部として機能させる。RAM202は、CPU201の主メモリであり、ワークエリア等として機能する。
【0019】
キーボードコントローラ204は、キーボード208や図示しないマウスなどのポインティングデバイスからのキー入力を制御する。ディスプレイコントローラ205は、表示用デバイスであるディスプレイ209の表示を制御する。ディスクコントローラ206は、各種データを記憶する外部メモリであるハードディスク(HD)210へのデータアクセスを制御する。NIC207は、ネットワークインターフェースであり、ネットワーク104を介して接続された他の機器との通信制御処理を実行する。ハードディスク(HD)210には、OSやアプリケーション等のプログラムが格納されると共に、OSによりファイルシステムが構築され、OSの管理下で各種ファイルが格納される。211は、相互接続バスであり、CPU201により各ブロック間の通信を仲介する。
【0020】
図2(B)は、MFPデバイス103のハードウェア構成例である。図2(B)において、CPU251は、内部バス258を介して後述する各機能/装置を接続し、MFPデバイス103を制御するものである。表示装置252は、操作画面を表示するためのタッチパネル(操作パネル)などの装置である。本実施例では、ユーザが所望の動作を行うための操作等も、表示装置252のタッチパネル上に表示される操作画面を介して行う。スキャナ装置253は、オートドキュメントフィーダ機能など機能を有する文書を読み込むための装置である。プリンタ装置254は、ネットワークインターフェース257を介して受け取った印刷ジョブを印刷出力するための装置である。メモリ255は、CPU251の主メモリとして機能し、CPU251がMFPデバイス103を制御するために実行するOSやアプリケーション等のプログラムを実行するためのワークエリアとしても機能する。大容量記憶装置256は、CPU251によりメモリ255にロードされる各種アプリケーションプログラムを記憶する。また、大容量記憶装置256は、スキャナ装置254で読み取ったスキャン文書などの保存にも用いられる。ネットワークインターフェース257は、ネットワーク104を介して接続された他の機器との通信制御処理を実行するものであり、特に、本実施形態においては、文書管理サーバPC101との通信を行うために用いる。
【0021】
[文書管理サーバとMFPデバイスの構成]
図3は、文書管理システムのソフトウェアモジュール構成を示す図である。文書管理サーバアプリケーション301は文書管理サーバ101上で実行されることによって各処理部302〜309として機能する。また、文書管理クライアントアプリケーション311はクライアントPC102上で実行されることによって各処理部312〜313として機能する。
【0022】
文書管理メイン制御部302は、文書管理クライアントアプリケーション311から文書の登録の要求を受けた際、その要求と共に受け取った登録文書のデータを文書データ蓄積・管理部303に渡す。
【0023】
また、文書管理メイン制御部302は、文書管理クライアントアプリケーション311による文書操作要求に従って文書操作を行った際に、その操作履歴データを生成し、文書操作ログに登録する情報として文書操作ログ蓄積・管理部304に渡す。
【0024】
更に、文書管理メイン制御部302は、印刷ログ取得先設定保持部309に設定された取得先プリンタ情報を元に、MFPデバイス103などのプリンタ(またはプリントサーバ)から、定期的に印刷ログを取得し、印刷ログ蓄積・管理部305に渡す。尚、印刷ログは、MFPデバイス103などのプリンタにおいて、印刷ジョブの印刷処理が為された際に生成されたものである。
【0025】
また、文書管理メイン制御部302は、印刷ログ内のジョブ名と、文書操作ログ内の文書名とを比較して外部アプリで印刷したか否かを判定し、外部アプリ印刷ログを生成する。詳細に関しては後述する。
【0026】
文書データ蓄積・管理部303は、文書管理メイン制御部302から渡された文書データを外部メモリ210に記憶し、管理する。文書データ蓄積・管理部303では、管理対象の文書に対して一意な文書IDを割り当てて管理すると共に、各管理対象の文書の属性を管理する。文書の属性としては、文書ID以外に、文書の格納位置を示す文書パス、文書名、更新日時、作成日時、サイズ、作成者、印刷回数などを含むものとする。
【0027】
文書操作ログ蓄積・管理部304は、文書管理メイン制御部302から渡された文書操作ログを外部メモリ(ハードディスク)210に記憶し、管理する。
【0028】
印刷ログ蓄積・管理部305は、文書管理メイン制御部302から渡された印刷ログを外部メモリ(ハードディスク)210に記憶し、管理する。
【0029】
外部アプリ印刷ログ蓄積・管理部306は、文書管理メイン制御部302による外部アプリ印刷判定結果に基づき、文書管理メイン制御部302が生成した外部アプリ印刷ログをハードディスク210に記憶し、管理する。詳細に関しては、後述する。
【0030】
外部アプリ固有情報保持部307は、文書管理メイン制御部302でジョブ名と文書名の比較時に利用する、外部アプリ毎に固有の特徴をハードディスク210に記憶し、保持する。詳細に関しては、後述する。
【0031】
サーバ通信部308は、ネットワーク104を介して、文書管理クライアントアプリケーション311との文書操作に関するデータの送受信や、MFPデバイス103と印刷ログの取得に関するデータの送受信を行う。
【0032】
印刷ログ取得先設定保持部309は、印刷ログの取得先のプリンタの情報を保持しており、取得先プリンタの情報として、プリンタ名やIPアドレスなどの情報をハードディスク210に記憶している。
【0033】
文書管理クライアントアプリケーション311は、クライアントメイン制御部312、UI部313、クライアント通信部314として機能する。クライアントメイン制御部312は、UI部313を介してユーザから受け取った文書操作要求を判断し、クライアント通信部314を介して文書管理サーバアプリケーション301に文書操作リクエストを送信する。そして、文書管理サーバアプリケーション301から受け取ったレスポンス結果を基に、UI部313の表示を変更する。UI部313は、文書管理のユーザインタフェースであり、文書の新規登録、オープン、移動、コピーなどの各種要求をユーザから受け取ると共に、各種要求に応じて表示を変更する。
【0034】
尚、文書管理サーバの文書管理メイン制御部302がMFPデバイス103の印刷ログを取得する方法は、文書管理メイン制御部302が、MFPデバイス103から更新された印刷ログを定期的に取得するといった方法をとる。もしくは、文書管理メイン制御部302がMFPデバイス103に対して、印刷ログを文書管理サーバPC101に送信する設定を行い、その設定に応じてMFPデバイス103が更新された印刷ログを文書管理サーバPC101に送信するといった方法をとってもよい。
【0035】
[文書操作ログ、印刷ログ、外部アプリ印刷ログの構成]
図4(a)は、文書操作ログ蓄積・管理部304に記録される文書操作ログ401の例であり、以下の属性から構成される。以下では、文書操作ログ401に登録される各レコードデータ(421〜430)を文書操作ログ登録データと呼ぶことにする。
【0036】
「文書操作ログID」属性402には、文書管理メイン制御部302から文書操作ログ登録データが渡される毎に、文書操作ログ蓄積・管理部304によって当該文書操作ログ登録データそれぞれに対して一意に設定されるID(識別子)の値が記録される。
【0037】
「文書ID」属性403には、操作対象となった文書の文書IDが記録される。この文書IDは、文書を管理するために文書データ蓄積・管理部303によって文書毎に設定される一意な値であり、文書管理メイン制御部302を介して文書操作ログ蓄積・管理部304に渡されて記録される。
【0038】
「文書パス」属性404には、文書を仮想的なフォルダー構成として表示する際の当該操作対象となった文書の位置を表す値が記録される。文書管理メイン制御部302が、文書管理クライアントアプリケーション311からの文書操作要求の情報と、文書データ蓄積・管理部303から必要な情報とを取得し、これらの情報に基づいて決定される値を文書操作ログ蓄積・管理部304に渡して記録する。
【0039】
「文書名」属性405には、操作対象となった文書ファイル自体のファイル名を表す値が記録される。文書管理メイン制御部302が、文書管理クライアントアプリケーション311からの文書操作要求の情報と、文書データ蓄積・管理部303から必要な情報とを取得し、これらの情報に基づいて決定されるファイル名の値を文書操作ログ蓄積・管理部304に渡して記録する。
【0040】
「操作ユーザ」属性406には、文書管理クライアントアプリケーション311を介して、文書に対して操作を行ったユーザのアカウント名を表す値が記録される。本実施形態では、ユーザのアカウント名は、図1に示したシステム内で一意であるとする。文書管理メイン制御部302が、文書管理クライアントアプリケーション311からの文書操作要求の情報から値を取得し、文書操作ログ蓄積・管理部304に渡して記録する。
【0041】
「操作種別」属性407には、文書管理クライアントアプリケーション311を介して、文書に対して行った操作の種別が記録される。文書管理メイン制御部302が、文書管理クライアントアプリケーション311からの文書操作要求の情報に応じて値を取得し、文書操作ログ蓄積・管理部304に渡して記録する。操作種別としては、文書のオープン、削除、新規登録などが記録される。
【0042】
「操作日時」属性408には、文書管理クライアントアプリケーション311を介して、文書に対してユーザが操作を行った日時を表す値が記録される。文書管理メイン制御部302が、文書管理クライアントアプリケーション311からの文書操作要求に応じて値を取得し、文書操作ログ蓄積・管理部304に渡して記録する。
【0043】
「印刷判定済」属性409には、文書管理メイン制御部302によって、その文書操作ログ登録データに対応する印刷ログ登録データの印刷ログID属性の値が必要に応じて設定される。詳細に関しては後述する。尚、文書操作ログとして、上記以外に記録される属性があってもよい。
【0044】
図5(a)は、印刷ログ蓄積・管理部305に記録される印刷ログ501の例であり、以下の属性から構成される。以下では、印刷ログ501に登録される各レコードデータ(521〜527)を印刷ログ登録データと呼ぶことにする。
【0045】
「印刷ログID」属性502には、MFPデバイス103などから取得した印刷ログが文書管理メイン制御部302から渡される毎に、印刷ログ蓄積・管理部305によって、個々の印刷ログ登録データに対して一意に設定される値が記録される。
【0046】
「プリンタ名」属性503には、文書管理メイン制御部302が当該印刷ログを取得した、MFPデバイス103などのプリンタに付与されている一意な識別名が、文書管理メイン制御部302により記録される。
【0047】
「ジョブ名」属性504には、MFPデバイス103がネットワークインターフェース257を介して受け取った印刷ジョブの中に含まれていた印刷ジョブ名称の値が記録される。印刷ジョブの中に含まれる印刷ジョブ名称の値は、一般的に、PC上でアプリケーションがプリンタドライバを用いて印刷を行う際に、アプリケーションによってプリンタドライバに渡される値である。印刷ジョブ名称の値は、印刷を行うアプリケーションによって様々であり、形式が統一されていない。多くのアプリケーションでは、文書名や文書名の一部分が印刷ジョブ名称の中に含まれており、本発明では、その文書名の情報を利用する。
【0048】
「印刷ユーザ」属性505には、MFPデバイス103がネットワークインターフェース257を介して受け取った印刷ジョブの中に含まれていたユーザ名の値が設定される。印刷ジョブの中に含まれていたユーザ名の値は、プリンタドライバによって、アプリケーションに印刷を指示したユーザのアカウント名が設定された値である。本実施形態では、前述したようにユーザのアカウント名は、図1に示したシステム内で一意であるとする。
【0049】
「印刷開始日時」属性506には、MFPデバイス103のプリンタ装置254が印刷ログ項目に該当する印刷ジョブを処理した日時を表す値が記録される。
【0050】
「印刷枚数」属性507には、MFPデバイス103のプリンタ装置254が印刷ログ項目に該当する印刷ジョブを正常に処理した際に要した紙の枚数が記録される。
【0051】
「面付け情報」属性508には、MFPデバイス103のプリンタ装置254が印刷ログ項目に該当する印刷ジョブを処理した際に、1紙面あたりどれだけのページ数を割り付けたかが記録される。例えば、1紙面あたり2ページの割り付けが行われた場合「2in1」が記録され、1紙面あたり4ページの割り付けが行われた場合「4in1」が記録される。一般的に、面付け(集約印刷)は、プリンタドライバの設定に従って、印刷ジョブに設定される値に基づいて実行される。
【0052】
「両面印刷」属性509には、MFPデバイス103のプリンタ装置254が印刷ログ項目に該当する印刷ジョブを処理した際に、1枚の紙の両面に印刷を行ったかどうかが記録される。一般的に、両面印刷は、プリンタドライバの設定に従って、印刷ジョブに設定される値に基づいて実行される。
【0053】
「対応判定済」属性510には、文書管理メイン制御部302によって当該印刷ログ登録データに対応すると判定された文書操作ログ登録データに関する文書操作ログID属性の値が必要に応じて設定される。詳細に関しては後述する。尚、印刷ログとして、上記以外に記録される属性があってもよい。
【0054】
図6は、外部アプリ印刷ログ蓄積・管理部306に記憶される外部アプリ印刷ログ601の例であり、以下の属性から構成される。
【0055】
「外部アプリ印刷ログID」属性602には、文書管理メイン制御部302によって作成された外部アプリ印刷ログ登録データが渡される毎に、外部アプリ印刷ログ蓄積・管理部306によって、個々の外部アプリ印刷ログ登録データに対して一意に設定される値が記録される。
【0056】
「文書ID」属性603、「文書パス」属性604、「文書名」属性605は、それぞれ文書操作ログの属性403、404、405に相当する属性である。また、「印刷ユーザ」属性606、「印刷開始日時」属性607は、それぞれ印刷ログ501の属性505、506に相当する属性である。尚、外部アプリ印刷ログとして、上記以外に記録される属性があってもよい。
【0057】
[文書管理サーバアプリケーションで管理されている文書の印刷判定]
図8は、文書管理サーバアプリケーション301で管理される文書の印刷判定のフローチャートである。文書管理サーバアプリケーション301内で管理されている文書のうち、外部アプリでの印刷操作により印刷された文書を、文書操作ログ401と印刷ログ501とを比較することにより判定する処理について説明する。本実施形態において、図8のフローチャートは、文書管理メイン制御部302によって、15分毎に開始されるものとするが、開始タイミングは、これに限定されるものではない。
【0058】
ステップS801で、文書管理メイン制御部302は、印刷ログ取得先設定保持部309が保持する取得先プリンタ情報に基づいて特定されるプリンタ(MFPデバイス103など)から新たな印刷ログを取得し、印刷ログ蓄積・管理部305に渡す。
【0059】
ステップS802で、文書管理メイン制御部302は、印刷ログ蓄積・管理部305から、S801で格納した図5(a)の印刷ログ501の各印刷ログ登録データ521〜527を登録順に読み取る。そして、各印刷ログ登録データを順に処理対象として、ステップS803〜S813の処理を行う。
【0060】
ステップS803で、文書管理メイン制御部302は、現在の処理対象の印刷ログ登録データに対して、以下の3つの条件に合致する文書操作ログ登録データを、文書操作ログ蓄積・管理部304の文書操作ログ401(図4(a))から検索する。そして、当該検索された文書操作ログをRAM202に読み込む。
【0061】
(1) 「操作種別」属性407の値として「オープン」または「新規登録」を持つ。もしくは、オープンや新規登録に相当する操作種別を値として持つ。
(2) 「印刷ユーザ」属性505と同一の値を「操作ユーザ」属性406の値として持つ。
(3) 「印刷開始日時」属性506の値よりも一定時間前までの日時を「操作日時」属性408の値として持つ。
【0062】
なお、上述した条件3における「一定時間前」の具体的な時間幅は、文書がオープンまたは新規登録されてから、印刷に至るまでの時間であることが望ましい。「外部アプリでの文書のオープン→編集→印刷」や、「外部アプリでの文書の新規作成→編集→文書管理システムへの新規登録→編集→印刷→文書管理システム上の登録文書の更新」などのワークフローを加味すると、一般的なオフィスワーカーで12時間以内と推定される。そのため、本実施例では、印刷開始日時より12時間前までの操作日時を値として持つものを具体的な条件とする。尚、時間幅は12時間に限定されるものではなく、各オフィスでのワークフローに合わせて設定するようにすればよい。
【0063】
ステップS804で、文書管理メイン制御部302は、ステップS803で検索した結果、上記3つの条件全てに合致する文書操作ログ登録データを一つ以上RAM202に読み込んだか否かを判定する。読み込んでいれば(すなわち、文書操作ログ401に記録されている文書操作ログ登録データのうち、3つの条件に合致する文書操作ログ登録データが検索された場合)、文書管理メイン制御部302は、ステップS805へ進み、読み込んでいなければステップS813へ進む。
【0064】
ステップS805で、ステップS803での検索条件に合致した文書操作ログ登録データの「文書名」属性405の値と、現在の処理対象の印刷ログ登録データの「ジョブ名」属性504の値とを、外部アプリ固有情報保持部307の外部アプリ固有情報を用いながら、比較する。尚、外部アプリ固有情報保持部307の情報を用いた比較の詳細に関しては、後述する。
【0065】
ステップS806で、文書管理メイン制御部302は、ステップS805で比較した結果、印刷ログ登録データと値が一致または類似する文書操作ログ登録データが一つ以上あるか否かを判定する。文書操作ログ登録データが一つ以上あれば、文書管理メイン制御部302は、ステップS807へ進み、文書操作ログ登録データが一つ以上なければステップS813へ進む。尚、値が一致または類似するという判定の詳細に関しては、後述する。
【0066】
ステップS807で、文書管理メイン制御部302は、印刷ログ登録データと値が一致または類似する各文書操作ログ登録データの「印刷判定済」属性409の値に何らかの印刷ログID属性の値が設定されているかどうかを確認する。「印刷判定済」属性409に値が何も設定されていない文書操作ログ登録データがあれば、文書管理メイン制御部302は、ステップS808へ進む。一方、印刷ログ登録データと値が一致または類似する全ての文書操作ログ登録データについて「印刷判定済」属性409に何らかの値が設定されていれば、ステップS813へ進む。
【0067】
ステップS808で、文書管理メイン制御部302は、「印刷判定済」属性409に値が設定されていない文書操作ログ登録データの、「文書ID」属性403の値を持つ文書データ蓄積・管理部303内の文書が外部アプリで印刷されたと判断する。
【0068】
ステップS809で、文書管理メイン制御部302は、現在の処理対象の印刷ログ登録データの「印刷ログID」属性502の値を取得し、該当の文書操作ログ登録データの「印刷判定済」属性409の値として設定する。
【0069】
ステップS810で、文書管理メイン制御部302は、該当の文書操作ログ登録データの「文書操作ログID」属性402の値を取得し、現在の処理対象の印刷ログ登録データの「対応判定済」属性510の値として設定する。
【0070】
ステップS811で、文書管理メイン制御部302は、文書データ蓄積・管理部303を用いて、前記S808において外部アプリで印刷されたと判断した「文書ID」属性403の値を持つ文書の「印刷回数」の属性の数値をインクリメントし、1増加させる。尚、「印刷回数」属性の代わりに「印刷人数」の属性を用いてもよく、その場合は、過去に該当の文書を印刷したことがないユーザによる印刷であると判断した場合のみ、該当の属性の数値を1増加させる。
【0071】
ステップS812で、文書管理メイン制御部302は、該当の文書操作ログ登録データと現在の処理対象の印刷ログ登録データの情報から外部アプリ印刷ログ登録データを作成し、外部アプリ印刷ログ蓄積・管理部306に、その登録情報を渡す。この際、文書管理メイン制御部302は、作成する外部アプリ印刷ログ登録データの「文書ID」属性603、「文書パス」属性604、「文書名」属性605の値として、該当の文書操作ログ登録データの「文書ID」属性403、「文書パス」属性404、「文書名」属性405の値をコピーして設定する。また、「印刷ユーザ」属性606、「印刷開始日時」属性607の値として、現在の処理対象の印刷ログ登録データの「印刷ユーザ」属性505、「印刷開始日時」属性506の値をコピーして設定する。
【0072】
ステップS813で、文書管理メイン制御部302は、ステップS801で新規に取得した印刷ログから生成された全ての印刷ログ登録データに対して、文書操作ログ401との比較処理を行ったかを判定する。比較処理を行っていない印刷ログ登録データが残っていれば、ステップS802へ進み、次の印刷ログ登録データの処理を行う。新規に取得した印刷ログから生成された全ての印刷ログ登録データに対して比較処理を行っていれば、処理を終了する。
【0073】
なお、前記ステップS806で、値が一致する場合とは、例えば、印刷ログ登録521の「ジョブ名」属性504の値と文書操作ログ登録424の「文書名」属性405の値のように、同じ文字列値(例えば、資料1.pdf)を持つ場合である。
【0074】
また、文書管理メイン制御部302が、前記ステップS806で、値が類似すると判定するのは、以下の2つのパターンがある。
【0075】
第一のパターンは、例えば、印刷ログ登録データ525の「ジョブ名」属性504の値「Microsoft Word − 決裁書A.docx」と、文書操作ログ登録データ425の「文書名」属性405の値「決裁書A.docx」のような場合である。すなわち、ジョブ名には、印刷を行ったアプリケーションにより、アプリケーション固有の文字列が元の文書名の前後に付加される場合がある。印刷ログ登録データ525の「ジョブ名」属性504の例で言えば、「Microsoft Word − 」というアプリケーション名を示す文字列が、印刷を行うのに使用されたと推測されるアプリケーション(この例ではMicrosoft Word(登録商標))によって付加されている。また、印刷ログ登録データ523の「ジョブ名」属性504の値「Microsoft PowerPoint − 資料3.ppt [互換モード]」の例で言えば、「Microsoft PowerPoint − 」というアプリケーション名を示す文字列に加え、「 [互換モード]」という文書を開いた時の形態を示す文字列が、同じく、印刷を行うのに使用されたと推測されるアプリケーション(Microsoft PowerPoint(登録商標))によって付加されている。そのため、文書管理サーバアプリケーション301は、ジョブ名と文書名の比較時に必要なこれらの文書管理システム外の外部アプリ毎に固有の特徴を、外部アプリ固有情報保持部307に保持している。文書管理メイン制御部302は、ステップS805で、この外部アプリ固有情報保持部307の情報を用いて、現在の処理対象の印刷ログ登録の「ジョブ名」属性504の値からアプリケーションが付加したと推測される文字列を削除した後、比較を行う。ステップS806で、文書操作ログ登録の「文書名」属性405の値と一致しているかを判断する。ここで一致と判断されたものは、類似と判断される。
【0076】
値が類似と判断する第二のパターンとしては、印刷ログ登録データ526の「ジョブ名」属性504の値「12345678901234567890123456789012」と、文書操作ログ登録データ421の「文書名」属性405の値「12345678901234567890123456789012345.txt」の例である。印刷ジョブを生成するプリンタドライバによっては、アプリケーションから渡される印刷ジョブ名称を、32バイトに切り詰めてしまうものがある。そのため、印刷ログ登録データの「ジョブ名」属性504の値に32バイトの値が設定されているものに関しては、文書操作ログ登録データの「文書名」属性405の値と前方一致で比較を行い、文字列の先頭から32バイト目までの文字列が同一と判断されたものに関しては、類似と判断する。尚、このような32バイトの値が設定されているものに関しても前記第一のパターンが適用される。前記第一のパターンと同様、アプリケーションが付加したと推測される文字列を削除した残りのジョブ名の文字列に対して、残りのジョブ名の文字数分の前方一致で文書操作ログ登録データの「文書名」属性405の値と比較を行い、同一と判断されたものに関しては、類似と判断する。
【0077】
図7は、外部アプリ固有情報保持部307に保持される外部アプリ固有情報のテーブル701である。外部アプリ固有情報のテーブル701は、ハードディスク210に記憶・管理される。702は、外部アプリのファイル拡張子である。703は、プレフィックス定義であり、702のファイル拡張子を印刷ジョブ名称に付与する外部アプリにより、ファイル名の先頭に該当の文字列が付与された形で印刷ジョブ名称が付けられることを示している。704は、サフィックス定義であり、外部アプリにより、印刷ジョブ名称の中で702のファイル拡張子を印刷ジョブ名称に付与した後に続けて付与される可能性がある文字列を示している。尚、サフィックス定義の値は、サフィックスの文字列全体を定義として持つ必要はなく、その一部でもよい。例えば、“ [”のようなスペースとブラケットから構成される2文字が値として定義されていた場合、“ [”から始まる任意の文字列が、印刷ジョブ名称内でファイル拡張子702の文字列の後に付与される可能性があることを示している。
【0078】
図4(b)は、上記図8のフローチャート、および後述する図9、図11のフローチャート実施後の文書操作ログの例である。
【0079】
図5(b)は、上記図8のフローチャート、および後述する図9、図11のフローチャート実施後の印刷ログの例である。
【0080】
図8のフローチャートにより、図4(b)における文書操作ログ登録データ421、423〜425の「印刷判定済」属性409、図5(b)における印刷ログ登録データ521、523、525〜526の「対応判定済」属性510に、それぞれ値が設定される。また、図8のフローチャートにより、図6における外部アプリ印刷ログ登録データ621〜624が生成される。
【0081】
[文書管理サーバアプリケーションで管理される前に印刷された文書の判定]
図9は、文書管理サーバアプリケーション301で管理される前に印刷された文書の印刷判定のフローチャートである。ここでは、文書管理サーバアプリケーション301において、文書管理サーバアプリケーション301で管理される前に印刷された文書を判定する処理について説明する。
【0082】
図9のフローチャートは、文書管理メイン制御部302によって、図8で示したフローチャートの実行終了後に続けて実施される。尚、開始タイミングは、これに限定されるものではない。
【0083】
ステップS901で、文書管理メイン制御部302は、以下の3つの条件に合致する文書操作ログ登録データを文書操作ログ蓄積・管理部304から検索して、RAM202に読み込む。
【0084】
(1) 「操作種別」属性407の値として「新規登録」を持つ。もしくは、新規登録に相当する操作種別を値として持つ。
(2) 「印刷判定済」属性409に値が設定されていない。
(3) 現在の時刻から前回の図9のフローチャートが実行された開始時間までの間の日時を「操作日時」属性408の値として持つ。尚、時間幅はこれに限定されるものではない。
【0085】
ステップS902で、文書管理メイン制御部302は、ステップS901で検索した結果、上記3つの条件に合致する文書操作ログ登録データを一つ以上RAM202に読み込んだか否かを判定する。読み込んでいれば、文書管理メイン制御部302は、ステップS903へ進み、読み込んでいなければ、処理を終了する。
【0086】
ステップS903で、文書管理メイン制御部302は、RAM202に読み込んだ、ステップS901での検索条件に合致する新規登録の文書操作ログ登録データに関して、文書操作ログ蓄積・管理部304での登録順に一つずつ、ステップS904〜S913の処理を行う。
【0087】
ステップS904で、文書管理メイン制御部302は、以下の3つの条件に合致する印刷ログ登録データを印刷ログ蓄積・管理部305から検索して、RAM202に読み込む。
【0088】
(1) 現在の処理対象の新規登録の文書操作ログ登録データの「操作ユーザ」属性406の値と同一の値を「印刷ユーザ」属性505の値として持つ。
(2) 「対応判定済」属性510に値が設定されていない。
(3) 現在の処理対象の新規登録の文書操作ログ登録データの「操作日時」属性408の値よりも一定時間前の日時を「印刷開始日時」属性506の値として持つ。この一定時間前の具体的な時間幅は、文書が印刷されてから、新規登録に至るまでの時間であることが望ましい。外部アプリでの文書の新規作成→編集→印刷→編集→文書管理システムへの新規登録、などのワークフローを考慮すると、一般的なオフィスワーカーで例えば12時間以内と推定される。そのため、現在時刻より12時間前の日時を値として持つものを、本実施例では、具体的な条件とする。尚、時間幅はこれに限定されるものではない。
【0089】
ステップS905で、文書管理メイン制御部302は、ステップS904で検索した結果、上記3つの条件に合致する印刷ログ登録データを一つ以上RAM202に読み込んだか否かを判定する。読み込んでいれば、文書管理メイン制御部302は、ステップS906へ進み、読み込んでいなければステップS913へ進む。
【0090】
ステップS906で、文書管理メイン制御部302は、現在の処理対象の新規登録の文書操作ログ登録データの「文書名」属性405の値と、ステップS905での検索条件に合致した印刷ログ登録データの「ジョブ名」属性504の値とを、外部アプリ固有情報保持部307の外部アプリ固有情報701を用いながら、比較する。尚、外部アプリ固有情報保持部307の情報を用いた比較の詳細に関しては、前述の通りである。
【0091】
ステップS907で、文書管理メイン制御部302は、ステップS906で比較した結果、現在の処理対象の新規登録の文書操作ログ登録データと値が一致または類似する印刷ログ登録データが、ステップS905での検索条件に合致した印刷ログ登録データの中に一つ以上あるか否かを判定する。印刷ログ登録データが一つ以上あれば、文書管理メイン制御部302は、ステップS908へ進み、印刷ログ登録データが一つ以上なければステップS913へ進む。尚、値が一致または類似するという判定の詳細に関しては、前述の通りである。
【0092】
ステップS908で、文書管理メイン制御部302は、現在の処理対象の新規登録の文書操作ログ登録データの、「文書ID」属性403の値を持つ文書データ蓄積・管理部303内の文書が外部アプリで印刷されたと判断する。
【0093】
ステップS909で、文書管理メイン制御部302は、現在の処理対象の文書操作ログ登録データの「文書操作ログID」属性402の値を取得し、前記ステップS906での比較で合致した印刷ログ登録データの「対応判定済」属性510の値として設定する。
【0094】
ステップS910で、文書管理メイン制御部302は、前記ステップS906での比較で合致した印刷ログ登録データの「印刷ログID」属性502の値を取得し、現在の処理対象の文書操作ログ登録データの「印刷判定済」属性409の値として設定する。前記ステップS906での比較で合致した印刷ログ登録データが複数あれば、文書管理メイン制御部302は、その該当する複数の印刷ログ登録データから「印刷判定済」属性409の値を取得し、取得した各印刷ログ登録データの「印刷ログID」属性502の値をカンマで区切って、「印刷判定済」属性409の値に設定する。尚、前記ステップS906での比較で合致する印刷ログ登録が複数存在するというのは、同じ文書が複数回印刷されたという状況に相当する。
【0095】
ステップS911で、文書管理メイン制御部302は、文書データ蓄積・管理部303を用いて、前記S908において外部アプリで印刷されたと判断した「文書ID」属性403の値を持つ文書の「印刷回数」の属性の数値をインクリメントし、1増加させる。尚、これは、「印刷人数」の属性でもよく、その場合、過去に該当の文書を印刷したことがないユーザによる印刷であると判断した場合のみ、該当の属性の数値を1増加させる。
【0096】
ステップS912で、文書管理メイン制御部302は、現在の処理対象の文書操作ログ登録データと前記ステップS906での比較で合致した印刷ログ登録データの情報から外部アプリ印刷ログ登録データを作成し、外部アプリ印刷ログ蓄積・管理部306に、その登録情報を渡す。前記ステップS906での比較で合致した印刷ログ登録データが複数あれば、文書管理メイン制御部302は、それらの合致した印刷ログ登録データそれぞれに対応する外部アプリ印刷ログ登録データを作成する。尚、文書管理メイン制御部302が作成する外部アプリ印刷ログ登録データの詳細に関しては、前述の通りである。
【0097】
ステップS913で、文書管理メイン制御部302は、ステップS901での検索条件に合致した新規登録の全ての文書操作ログ登録データに関して、ステップS904〜S912の処理を行ったかを判定する。ステップS904〜S912の処理を行っていない文書操作ログ登録データが残っていれば、文書管理メイン制御部302は、ステップS903へ進む。文書管理メイン制御部302は、ステップS901での検索条件に合致した新規登録の全ての文書操作ログ登録データに対してステップS904〜S912の処理を行っていれば、処理を終了する。
【0098】
上記図9のフローチャートにより、図4(b)における文書操作ログ登録426の「印刷判定済」属性409、図5(b)における印刷ログ登録522の「対応判定済」属性510に、それぞれ値が設定される。また、同じく上記図9のフローチャートにより、図6における外部アプリ印刷ログ登録データ626が生成される。
【0099】
[文書の印刷回数または印刷人数の属性の利用]
以下に、前述した文書の「印刷回数」または「印刷人数」の属性の実際の利用方法に関して述べる。後述するように、文書の「印刷回数」または「印刷人数」の属性は文書のレコメンドする際の判断基準に用いる。
【0100】
図10は、文書管理クライアントアプリケーション311のUI部313の表示例を示している。1000はメインウインドウであり、1001はナビゲーションペインである。
【0101】
ナビゲーションペイン1001には、アプリケーションで登録したライブラリーとライブラリー下に配置されるフォルダーが表示される。ナビゲーションペインで、ライブラリー、または、ライブラリー下に配置されるフォルダーを選択することで、現在の場所を移動することができる。図10の例では、ライブラリー1011〜1013とフォルダー1014〜1015とが表示されており、ライブラリー1011が現在の場所として選択されている。ここで言うライブラリーとは、文書管理を行うための保存単位のことである。文書管理クライアントアプリケーション311で利用するライブラリーには、データの保存場所により、2種類の形態が存在する。
【0102】
1つ目は、文書管理クライアントアプリケーション311が実行されているPCのローカルの外部メモリ210にデータ保存領域を作成し、文書管理クライアントアプリケーション311自体が管理するローカルライブラリーの形態である。この形態では、文書管理サーバアプリケーション301を必要とせず、文書管理クライアントアプリケーション311のみでシステムを構成することが可能である。図10の例では、1013がローカルライブラリーである。
【0103】
2つ目は、文書管理サーバアプリケーション301が提供する文書管理サービスに文書管理を委任する共有ライブラリーの形態である。この形態では、クライアントメイン制御部312は、UI部313から受け取った文書操作の要求を文書管理サーバアプリケーション301に渡し、その結果を文書管理サーバアプリケーション301から受け取って、UI部313に渡す。この2つ目の形態では、クライアントメイン制御部312が文書管理サーバアプリケーション301の文書管理サービスとのデータの仲介を行うだけの簡素な構成で済む。図10の例では、1011〜1012が共有ライブラリーである。
【0104】
1002は、ナビゲーションペインで選択中の場所(ライブラリーやフォルダ)に格納されている文書やフォルダーを表示するファイルリストペインである。図10の例では、現在ナビゲーションペインで選択されている共有ライブラリー1011に格納されている2つのフォルダー1014〜1015が表示されている。
【0105】
1031は、キーボードコントローラ204によって制御されるマウスポインタであり、ユーザの操作指示を受けて、文書管理クライアントアプリケーション311のUI部313でライブラリー、文書、フォルダーなどを操作する。
【0106】
1007はペインの表示・非表示を切り替えるパネルであり、ナビゲーションペイン1001の表示・非表示を切り替えるボタン1008、レコメンドペイン1003の表示・非表示を切り替えるボタン1009などを備える。
【0107】
レコメンドペイン1003は、ナビゲーションペイン1001で共有ライブラリーが選択された際には、そのライブラリー内でユーザやグループが閲覧や印刷を頻繁にしている文書をお薦め文書として表示する。また、ファイルリストペイン1002で文書が選択された際には、その選択された文書に関連する文書をお薦め文書として表示する。例えば、過去の操作において、選択された文書と同時に利用された文書などが表示される。また、ナビゲーションペイン1001やファイルリストペイン1002でフォルダーが選択された際には、その選択されたフォルダー下でユーザやグループが閲覧や印刷を頻繁にしている文書をお薦め文書として表示する。図10では、ナビゲーションペイン1001で選択されているライブラリー1011に関するお薦め文書1021〜1022が表示されている。なお、1023〜1024は、各お薦め文書1021〜1022それぞれを薦めた理由(お薦め理由)を示す文字列である。
【0108】
お薦め文書は、文書管理メイン制御部302により、文書管理クライアントアプリケーション311による文書操作要求に従う形で選定される。例えば、文書操作要求として「ライブラリー1011の一覧表示」が、サーバ通信部308を介して送信されて来た際、文書管理メイン制御部302は、ライブラリー1011の直下に格納されるフォルダーや文書の一覧を文書データ蓄積・管理部303から取得して、文書管理クライアントアプリケーション311に返す。それに加えて、ライブラリー1011に関するお薦め文書を、そのお薦め理由と共に、文書管理クライアントアプリケーション311に返す。文書管理メイン制御部302は、ライブラリー1011に関するお薦め文書として、ライブラリー1011に属する文書の中で「印刷回数」または「印刷人数」の属性の値が高いものを文書データ蓄積・管理部303から取得し、操作を行ったユーザにアクセス権があるもののみを、値が高いものから順に2つ選択する。
【0109】
このような、お薦め文書の文書管理サーバアプリケーション301での選定、および文書管理クライアントアプリケーション311での表示のことを、文書のレコメンドと呼ぶこととする。
【0110】
尚、文書のレコメンドは、文書の「印刷回数」や「印刷人数」の属性の値を使うだけでなく、文書操作ログ蓄積・管理部304に蓄積された文書操作ログを解析して、文書の閲覧回数や、文書の同時利用などを元に決定するようにしてもよい。
【0111】
[ページ数の比較による印刷文書の特定]
前記図8の文書管理サーバアプリケーション301で管理される文書の印刷判定のフローチャートにおいて、ステップS807で「印刷判定済」属性409に値が何も設定されない文書操作ログ登録データが複数あった場合、ステップS808以降で、それらすべての文書操作ログ登録データが処理の対象となる。
【0112】
すなわち、ステップS809で、それらすべての文書操作ログ登録データの「印刷判定済」属性409の値に、現在の処理対象の印刷ログ登録データの「印刷ログID」属性502の値が設定される。
【0113】
更に、ステップS810で、それらすべての文書操作ログ登録データの「文書操作ログID」属性402の値が、現在の処理対象の印刷ログ登録データの「対応判定済」属性510の値として設定される。
【0114】
本来、現在の処理対象の印刷ログ登録データに対して、一つの文書操作ログ登録データが決定されるのが望ましい。ただし、それぞれの文書操作ログ登録データの「文書ID」属性403の値が同一の値であれば、文書管理サーバアプリケーション301で管理される同一の文書が、同一ユーザにより、印刷前に複数回「オープン」された、または、印刷前に「新規登録」かつ一回以上「オープン」されたと判断できる。この場合は、現在の処理対象の印刷ログ登録データに対して、特に一つの文書操作ログ登録データを決定する必要はなく、前記図8のフローチャートの処理で構わない。
【0115】
また、ステップS807の前のステップS806で、印刷ログ登録データと値が一致すると判断された文書操作ログ登録データが一つ見つかった場合、印刷ログ登録データと値が類似と判断された文書操作ログ登録データが他にあったとしても、その一致と判断された文書操作ログ登録データに対してのみ、ステップS807以下の処理を行うものとしてよい。
【0116】
しかし、それでも、値が類似すると判断された複数の文書操作ログ登録データがステップS807の処理後に残った場合で、かつ、それらの文書操作ログ登録データの「文書ID」属性403の値が異なる場合、現在の処理対象の印刷ログ登録データに対応する実際に印刷された文書は、それらの中のいずれか一つであるはずである。この場合、それらの異なる「文書ID」属性403の値を持つ文書の中から、実際に印刷された文書を特定するための、別の方法が必要となる。図11を用いて、この方法を説明する。
【0117】
図11は、ページ数の比較によって印刷文書を特定するフローチャートである。図11のフローチャートは、前記ステップS807で、現在の処理対象の印刷ログ登録データに対応する、「印刷判定済」属性409に値が何も設定されない文書操作ログ登録データが複数あり、かつ、それらの文書操作ログ登録データの「文書ID」属性403の値が異なる場合に、文書管理メイン制御部302によって、開始される。そして、処理の終了後、前記ステップS808の処理に遷移する。ただし、開始タイミング、終了後の処理に関しては、これらに限定されるものではない。
【0118】
ステップS1101で、文書管理メイン制御部302は、各文書操作ログ登録データの「文書ID」属性403の値を持つ文書の総ページ数を文書データ蓄積・管理部303から取得する。文書データ蓄積・管理部303が実際の文書から総ページ数を取得する具体的な方法に関しては、例えば、Microsoft Office(登録商標)の文書の場合、Microsoft社が提供するMicrosoft Office Primary Interop Assemblies(プライマリ相互運用機能アセンブリ)の技術を用いて、取得することができる。尚、ページ数ではなくページ数相当の情報を取得するということでもよい。例えば、Microsoft PowerPoint(登録商標)などのプレゼンテーション用アプリケーションの文書の場合、スライド数がページ数相当の情報として利用されている。この場合、全スライド数を総ページ数とする。
【0119】
ステップS1102で、文書管理メイン制御部302は、現在の処理対象の印刷ログ登録データから、「印刷枚数」属性507、「面付け情報」属性508、「両面印刷」属性509の各値を取得する。
【0120】
ステップS1103で、文書管理メイン制御部302は、ステップS1102で取得した「印刷枚数」属性507、「面付け情報」属性508、「両面印刷」属性509の値から、その印刷ログ登録データの実際の印刷ジョブの元となる印刷文書の印刷対象ページ数を算出する。算出は以下のような単純な掛け算の数式で行う。
【0121】
印刷枚数×面付け情報×両面印刷=印刷対象ページ数
上記数式での印刷枚数の値は、「印刷枚数」属性507の値がそのまま代入されるが、面付け情報、両面印刷に関しては以下のような値が入る。
【0122】
上記数式での面付け情報の値に関しては、「面付け情報」属性508の値が「2in1」の場合、2が入り、
印刷枚数×2×両面印刷=印刷対象ページ数
となる。
【0123】
また、同様に「面付け情報」属性508の値が「4in1」の場合、4が入り、
印刷枚数×4×両面印刷=印刷対象ページ数
となる。
【0124】
また、上記数式での両面印刷の値に関しては、「両面印刷」属性509の値が「あり」の場合、2が入り、
印刷枚数×面付け情報×2=印刷対象ページ数
となる。
【0125】
また、同様に「両面印刷」属性509の値が、値なしまたは「なし」の場合、1が入り、
印刷枚数×面付け情報×1=印刷対象ページ数
となる。
【0126】
上記の数式で算出される印刷対象ページ数の値は、PC上でアプリケーションが文書を印刷する際に、文書を印刷する範囲として指定されたページ数を表す。具体的には、文書の全ページ数を表す値、または、文書の一部のページ範囲を表す値のいずれかである。
【0127】
尚、上記では、「印刷枚数」属性507、「面付け情報」属性508、「両面印刷」属性509の値を用いたが、他に元となる印刷文書の印刷対象ページ数を算出可能なパラメータがあれば、それを利用するよう上記数式を組み立ててもよい。
【0128】
ステップS1104で、文書管理メイン制御部302は、ステップS1103で算出した印刷対象ページ数と、ステップS1101で取得した、各文書操作ログ登録データの「文書ID」属性403の値を持つ文書のそれぞれの総ページ数とを比較する。比較は、以下の比較式で行う。
【0129】
文書の総ページ数≧印刷対象ページ数
ステップS1105で、文書管理メイン制御部302は、ステップS1104で比較した結果、文書の総ページ数が印刷対象ページ数以上である文書の文書IDを「文書ID」属性403の値として持つ文書操作ログ登録データを、現在の処理対象の印刷ログ登録データに対応する文書操作ログ登録データとして決定し、処理を終了する。
【0130】
上記図11および前記図8のフローチャートにより、図4(b)における文書操作ログ登録データ427の「印刷判定済」属性409、図5(b)における印刷ログ登録データ527の「対応判定済」属性510に、それぞれ値が設定される。また、同じく上記図11および前記図8のフローチャートにより、図6における外部アプリ印刷ログ登録データ625が生成される。
【0131】
上記の処理によれば、印刷ログ登録データに対応する文書操作ログ登録データの候補が複数あった場合、それらの文書操作ログに対応する文書から取得した総ページ数と、印刷ログ登録データから算出した印刷対象ページ数を比較することにより、文書操作ログ登録データの候補内での絞り込みを行うことができるという効果がある。
【0132】
また、図5(b)において、上記図8、図9、図11のフローチャートの実施後、印刷ログ登録データ524に関して、「対応判定済」属性510に値が設定されておらず、また対応する外部アプリ印刷ログ登録データが図6の外部アプリ印刷ログ601に生成されていない。これは、この印刷ログ登録データに対応する文書操作ログ登録データが文書操作ログ401に存在しなかったためである。
【0133】
そのため、この印刷ログ登録データは、文書管理サーバアプリケーション301が管理する文書が印刷された際に生成された印刷ログではなく、クライアントPC102などのファイルシステム上のファイルが印刷された際に生成された印刷ログであると解釈できる。印刷ログ登録データ524の「ジョブ名」属性504の値は、印刷ログ登録データ521の「ジョブ名」属性504の値と同一であり、印刷された文書またはファイルの名前は、「資料1.pdf」であると解釈できる。すなわち、図1に示したシステム内で「資料1.pdf」という名前の文書またはファイルが、文書管理サーバPC101と、クライアントPC102上に、少なくとも、それぞれ1つずつ以上存在すると解釈できる。
【0134】
すなわち、本発明によれば、文書DBである文書データ蓄積・管理部303とローカルのファイルシステムであるクライアントPC102のハードディスク210に同名の文書が存在する場合であっても、文書DB内の文書の方が印刷されたということをログから判別することができる。
【0135】
また、本発明によれば、文書名と類似のジョブ名を判定するため、印刷ログに記録されたジョブ名と、文書管理システムで管理される文書の文書名が完全一致しない場合であっても、印刷されたことを特定することができる。
【0136】
[実施例2]
【0137】
本実施例2は、実施例1と同様の課題に対して、比較条件を変えた検索を複数実行することで印刷判定を行い、実施例1と同様の効果を得るものである。尚、システム構成、ハードウェア構成、ソフトウェア構成などは実施例1と同様であるので説明は省略する。
【0138】
「条件を変えた検索を複数実行して印刷判定を行う処理」
以下、本実施例2の処理の流れについて説明する。図12は、印刷ログ451と文書操作ログ401に対して、比較条件の異なる複数の検索を実行して、印刷判定を行う処理のフローチャートである。ここで、本実施例では、複数の検索として検索1、検索2、検索3、検索4を設定して、以上の複数の検索を実施することで、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせを検索する。なお、それぞれの検索の処理に関しては、後述する。
【0139】
ステップS1201で、文書管理メイン制御部302は、ステップS801と同様に、印刷ログ取得先設定保持部309が保持する取得先プリンタ情報を元に、MFPデバイス103などのプリンタから新たな印刷ログを取得し、印刷ログ蓄積・管理部305に渡す。
【0140】
ステップS1202で、文書管理メイン制御部302は、検索の対象とする印刷ログおよび文書操作ログを決定する。印刷ログは、ステップS1201で取得したものを対象とする。また、文書操作ログは、前回図12のフローチャートの処理が行われた後に、文書操作ログ蓄積・管理部304に蓄積されたものを対象とする。
【0141】
ステップS1203で、文書管理メイン制御部302は、検索1、検索2、検索3および検索4の順にそれぞれステップS1204〜ステップS1212の処理を行う。
【0142】
ステップS1204で、文書管理メイン制御部302は、文書操作ログ蓄積・管理部304に記録されている印刷ログと文書操作ログに対して、現在の処理対象の検索を実施する。
【0143】
検索1を実施するのであれば、S1301へ進む。検索2を実施するのであれば、S1401へ進む。検索3を実施するのであれば、S1601へ進む。検索4を実施するのであれば、S1701へ進む。
【0144】
ステップS1205で、文書管理メイン制御部302は、ステップS1204で実施した検索において実行結果が存在するか否かを判定する。存在すれば、ステップS1206へ進む。存在しなければ、ステップS1211へ進む。
【0145】
ステップS1206で、文書管理メイン制御部302は、ステップS1204で実施した検索における各検索結果に対して、ステップS1207〜ステップS1210の処理を行う。
【0146】
ステップS1207で、文書管理メイン制御部302は、ステップS1206で指定した現在の処理対象の検索結果から文書操作ログ登録データおよび印刷ログ登録データを読み取り、その印刷ログ登録データの「対応判定済」属性510の値に何らかの文書操作ログID属性の値が設定されているかどうかを確認する。
【0147】
「対応判定済」属性510に値が何も設定されない印刷ログ登録データであれば、印刷登録済でないと判定し、ステップS1208へ進む。「対応判定済」属性510に何らかの値が設定されている印刷ログ登録データであれば、印刷登録済であると判定し、ステップS1210へ進む。
【0148】
ステップS1208で、文書管理メイン制御部302は、ステップS809と同様にして、ステップS1207で読み取った印刷ログ登録データの「印刷ログID」属性502の値を取得し、ステップS1207で読み取った文書操作ログ登録データの「印刷判定済」属性409の値として設定する。また、文書管理メイン制御部302は、ステップS810と同様にして、ステップS1207で読み取った文書操作ログ登録データの「文書操作ログID」属性402の値を取得し、ステップS1207で読み取った印刷ログ登録データの「対応判定済」属性510の値として設定する。
【0149】
ステップS1209で、文書管理メイン制御部302は、ステップS1207で読み取った文書操作ログ登録データおよび印刷ログ登録データの組み合わせが、文書管理サーバに管理されている文書の印刷された際のログであると判断し、ステップS812と同様に、外部アプリ印刷ログ登録データを作成し、外部アプリ印刷ログ蓄積・管理部306に、その登録情報を渡す。
【0150】
ステップS1210で、文書管理メイン制御部302は、ステップS1206で処理対象とした検索結果に関して、処理していないものがあれば、ステップS1206へ戻り、次の検索結果を処理の対象とする。そうでなければ、ステップ1211へ進む。
【0151】
ステップS1211で、文書管理メイン制御部302は、ステップS1201で取得した印刷ログ登録データに関して、印刷判定済でないものがあるか否かを判定する。印刷判定済でないものがあれば、ステップS1212へ進む。そうでなければ、処理を終了する。
【0152】
ステップS1212で、文書管理メイン制御部302は、検索1、検索2、検索3および検索4の全ての検索に対して処理を行ったかを判定する。全ての検索に対して処理を行っていれば、処理を終了する。そうでなければ、ステップS1203へ戻り、次の検索を行う。
【0153】
以下に、検索1、検索2、検索3および検索4の処理の詳細について説明する。いずれの検索においても、ユーザ情報、操作時刻情報、操作内容情報、文書情報のそれぞれに関する4つの比較条件を設定する。また、本実施例ではいずれの検索においても、ユーザ情報、操作時刻情報および操作内容情報に関する3つの比較条件は同一の内容に設定されているものとして説明する。
【0154】
[検索1の詳細説明]
検索1では、印刷された結果、印刷ログ登録データの「ジョブ名」属性454の値に、「文書名」の情報が記録される文書の判定を行う。検索1の処理方法に関して、図13を用いて説明する。
【0155】
ステップS1301で、文書管理メイン制御部302は、以下の内容を満たすことをユーザ情報の比較条件として設定する。
【0156】
・印刷ログ登録データの「印刷ユーザ」属性505の値と、文書操作ログ登録データの「操作ユーザ」属性406の値が一致すること
ステップS1302で、文書管理メイン制御部302は、以下のAあるいはBの内容を満たすことを操作時刻情報の比較条件および操作内容情報の比較条件として設定する。尚、ステップS803およびステップS904と同様に、「印刷開始日時」属性506の値と「操作時刻」属性408の値の時間差を12時間以内として説明する。
【0157】
(A) 印刷ログ登録データの「印刷開始日時」属性506の値よりも文書操作ログ登録データの「操作日時」属性408の値が12時間の範囲内で前の時刻であり、かつ、「操作内容」属性407の値がオープンであること
(B) 印刷ログ登録データの「印刷開始日時」属性506の値よりも文書操作ログ登録データの「操作日時」属性408の値が12時間の範囲内で後の時刻であり、かつ、「操作内容」属性407の値が新規登録であること
ステップS1303で、文書管理メイン制御部302は、以下の内容を満たすことを文書情報の比較条件として設定する。
【0158】
・印刷ログ登録データの「ジョブ名」属性454の値と文書操作ログ登録データの「文書名」属性405の値が完全に一致すること
ステップS1304で、文書管理メイン制御部302は、ステップS1301〜ステップS1303でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを、ステップS1202で決定した文書操作ログおよび印刷ログを対象に検索する。
【0159】
例えば、検索1を印刷ログ501の印刷ログ登録データ521〜527および文書操作ログ401の文書操作ログ登録データ421〜430に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ521と文書操作ログ登録データ424」、「印刷ログ登録データ522と文書操作ログ登録データ426」が得られる。
【0160】
検索1の処理を終了後、S1206へ進む。
【0161】
[検索2の詳細説明]
検索2では、印刷された結果、印刷ログ登録データの「ジョブ名」属性454の値に、「文書名と外部アプリを表す文字列」の情報が記録される文書の判定を行う。検索2の処理方法に関して、図14を用いて説明する。
【0162】
ステップS1401で、文書管理メイン制御部302は、ステップS1301と同様の処理を行い、ユーザ情報の比較条件を設定する。
【0163】
ステップS1402で、文書管理メイン制御部302は、ステップS1302と同様の処理を行い、操作時刻情報の比較条件および操作内容情報の比較条件を設定する。
【0164】
ステップS1403で、文書管理メイン制御部302は、後述するステップS1501〜ステップS1506の処理を実行して、検索2における文書情報の比較条件の設定を行う。
【0165】
ステップS1404で、文書管理メイン制御部302は、ステップS1401〜ステップS1403でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを検索する。検索の対象は、印刷判定済でない印刷ログ登録と、文書操作ログ登録とする。
【0166】
検索2における文書情報の比較条件の設定方法に関して、図15を用いて説明する。
【0167】
ステップS1501で、文書管理メイン制御部302は、外部アプリ固有情報保持部307の外部アプリ固有情報701に記録されているプレフィックス定義703およびサフィックス定義704から、外部アプリを示す文字列(以下、「外部アプリ印刷文字列」とする)を取得する。そして、文書管理メイン制御部302は、各「外部アプリ印刷文字列」に対して、ステップS1502〜ステップS1506の処理を実施する。
【0168】
ステップS1502で、文書管理メイン制御部302は、「外部アプリ印刷文字列」がプレフィックス定義703として記録されているか、あるいはサフィックス定義704として記録されているかを判定する。プレフィックス定義703に記録されている場合は、ステップS1503へ進む。サフィックス定義704に記録されている場合は、ステップS1504へ進む。
【0169】
ステップS1503で、文書管理メイン制御部302は、「外部アプリ印刷文字列」を「文書名」属性405の値の前に結合して、結合後の文字列を取得する。
【0170】
ステップS1504で、文書管理メイン制御部302は、「外部アプリ印刷文字列」を「文書名」属性405の値の後に結合して、結合後の文字列を取得する。
【0171】
ステップS1505で、文書管理メイン制御部302は、「ステップS1503あるいはステップS1504で取得した文字列と「ジョブ名」属性454が一致する」という条件を文書情報の比較条件として設定する。ステップS1505で加えられた文書情報の比較条件がすでに存在する場合は、その条件に対して論理和(OR)になるように文書情報の比較条件に加える。
【0172】
ステップS1506で、文書管理メイン制御部302は、ステップS1501で、取得した「外部アプリ印刷文字列」の全てに対して、処理を行ったか否かを判定する。全ての「外部アプリ印刷文字列」に対して処理を行っていれば、処理を終了する。そうでなければ、ステップS1501へ進み、次の「外部アプリ印刷文字列」を対象にして処理を行う。
【0173】
例えば、検索2を印刷ログ501の印刷ログ登録データ521〜527および文書操作ログ401の文書操作ログ登録データ421〜430に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ525と文書操作ログ登録データ425」が得られる。
【0174】
検索2の処理を終了後、S1206へ進む。
【0175】
[検索3の詳細説明]
検索3では、印刷された結果、印刷ログ登録の「ジョブ名」属性454の値に、「文書名と文書の開き方を表す文字列」または「文書名と外部アプリを表す文字列と文書の開き方を表す文字列」のいずれかの情報が記録される文書の判定を行う。検索3の処理方法に関して、図16を用いて説明する。
【0176】
ステップS1601で、文書管理メイン制御部302は、ステップS1301と同様の処理を行い、ユーザ情報の比較条件を設定する。
【0177】
ステップS1602で、文書管理メイン制御部302は、ステップS1302と同様の処理を行い、操作時刻情報の比較条件および操作内容情報の比較条件を設定する。
【0178】
ステップS1603で、文書管理メイン制御部302は、以下のAあるいはBの内容を満たすことを文書情報の比較条件として設定する。
【0179】
(A) 「文書名」属性405の値で前方一致検索を行い、「ジョブ名」属性454の値が該当すること
(B) ステップS1503、ステップS1504で取得した「文書名」属性405の値の前あるいは後に「外部アプリ印刷文字列」を結合した文字列で前方一致検索を行い、「ジョブ名」属性454の文字列が該当すること
ステップS1604で、文書管理メイン制御部302は、ステップS1601〜ステップS1603でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを検索する。検索の対象は、印刷判定済でない印刷ログ登録データと文書操作ログ登録データとする。
【0180】
ステップS1605で、文書管理メイン制御部302は、ステップS1604で検索を実行して得られた各検索結果に対して、ステップS1606〜ステップS1609の処理を行う。
【0181】
ステップS1606で、文書管理メイン制御部302は、ステップS1605で処理の対象とした検索結果に含まれる印刷ログ登録データの情報から「ジョブ名」属性454の値を取得する。
【0182】
ステップS1607で、文書管理メイン制御部302は、ステップS1606で取得した「ジョブ名」属性454の値から文書名や「外部アプリ印刷文字列」を除いた文字列を取得する。文書管理メイン制御部302は、その文字列がアプリ文字列の一部や文書を開いた時の形態を示す文字列の全部あるいは一部であるか否かを判定する。
【0183】
アプリ文字列の一部や文書を開いた時の形態を示す文字列の全部あるいは一部であると判定されれば、ステップS1609へ進む。そうでなければ、ステップS1608へ進む。
【0184】
ステップS1608で、文書管理メイン制御部302は、ステップS1605で処理の対象とした検索結果に含まれる文書操作ログ登録および印刷ログ登録の組み合わせは正しくないものと判定し、検索結果から除外する。
【0185】
ステップS1609で、文書管理メイン制御部302は、ステップS1604で検索を実行して得られた検索結果の全てに対して、処理を行ったかを判定する。全ての検索結果に対して処理を行っていれば、処理を終了する。そうでなければ、ステップS1605に進み、次の検索結果に対して処理を行う。
【0186】
例えば、検索3を印刷ログ501の印刷ログ登録データ521〜527および文書操作ログ401の文書操作ログ登録データ421〜430に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ523と文書操作ログ登録データ423」が得られる。
【0187】
検索3の処理を終了後、S1206へ進む。
【0188】
[検索4の詳細説明]
検索4では、印刷された結果、印刷ログ登録データの「ジョブ名」属性454の値に、「文書名の一部」、「外部アプリを表す文字列と文書名の一部」、「文書名と外部アプリを表す文字列の一部」のいずれかの情報が記録される文書の判定を行う。検索4の処理方法に関して、図17を用いて説明する。
【0189】
ステップS1701で、文書管理メイン制御部302は、ステップS1301と同様の処理を行い、ユーザ情報の比較条件を設定する。
【0190】
ステップS1702で、文書管理メイン制御部302は、ステップS1302と同様の処理を行い、操作時刻情報の比較条件および操作内容情報の比較条件を設定する。
【0191】
ステップS1703で、文書管理メイン制御部302は、以下の内容を満たすことを文書情報の比較条件として設定する。
【0192】
・「ジョブ名」属性454の値に対して「文書名」属性405の値が部分一致すること
ステップS1704で、文書管理メイン制御部302は、ステップS1701〜ステップS1703でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを検索する。検索の対象は、印刷判定済でない印刷ログ登録データと、文書操作ログ登録データとする。
【0193】
ステップS1705で、文書管理メイン制御部302は、ステップS1704で検索を実行して得られた各検索結果に対して、ステップS1706〜ステップS1712の処理を行う。
【0194】
ステップS1706で、文書管理メイン制御部302は、現在の処理の対象である検索結果に含まれる文書操作ログ登録データの情報から「文書名」属性405の値を取得する。
【0195】
ステップS1707で、文書管理メイン制御部302は、ステップS1706で取得した「文書名」属性405の値が表している文書が印刷された際に印刷ログ登録データの「ジョブ名」属性454に記録されると予測される文字列(以下、「予測完全ジョブ名」とする)を、外部アプリ固有情報701を参照して算出する。
【0196】
ステップS1708で、文書管理メイン制御部302は、現在の処理の対象である検索結果に含まれる印刷ログ登録データの情報から、「プリンタ名」属性503の値を取得する。そして、文書管理メイン制御部302は、「プリンタ名」属性503の値が示すプリンタで文書を印刷された場合に生成される印刷ログ登録データの「ジョブ名」属性454に記録可能な最大バイト数を取得する。
【0197】
ステップS1709で、文書管理メイン制御部302は、ステップS1707で算出した「予測完全ジョブ名」に関して、先頭からステップS1708で取得した最大バイト数までの文字列(以下、「予測制限ジョブ名」とする)を抽出する。
【0198】
ステップS1710で、文書管理メイン制御部302は、現在の処理の対象である検索結果に含まれる印刷ログ登録データの情報に含まれる「ジョブ名」属性454の値とステップS1709で抽出した「予測制限ジョブ名」が完全に一致するか否かを判定する。完全に一致すれば、ステップS1712へ進む。そうでなければ、ステップS1711へ進む。
【0199】
ステップS1711で、文書管理メイン制御部302は、現在の処理の対象である検索結果に含まれる文書操作ログ登録データと印刷ログ登録データの組み合わせは、正しくないものと判定し、検索結果から除外する。
【0200】
ステップS1712で、文書管理メイン制御部302は、ステップS1704で検索した結果の全てに対して処理を行ったか否かを判定する。全ての検索結果に対して、処理を行っていれば処理を終了する。そうでなければ、ステップS1705に進み、次の検索結果を処理の対象とする。
【0201】
例えば、検索4を印刷ログ501の印刷ログ登録データ521〜527および文書操作ログ401の文書操作ログ登録データ421〜430に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ526と文書操作ログ登録データ421」、「印刷ログ登録データ527と文書操作ログ登録データ427」、「印刷ログ登録データ527と文書操作ログ登録データ428」が得られる。
【0202】
検索4の処理を終了後、S1206へ進む。
【0203】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、文書管理システムで管理対象にしている文書を、文書管理アプリケーションと異なる他のアプリケーションでオープンされた際に、該文書が印刷されたかどうかを判定する技術、ならびにその判定結果を利用する技術に関する。
【背景技術】
【0002】
文書管理システムで管理されている各文書の閲覧回数や印刷回数に基づいて、各文書の重要度を判定することが考えられている。
特許文献1では、文書管理サーバの閲覧ログデータベースに記録されている閲覧ログの文書IDを判別して、文書ID=iの文書についての閲覧回数を求めることによって、閲覧ログに基づく重要度を求める。更に、プリントサーバの印刷ログデータベースに記録されている印刷ログの文書IDを判別して、文書ID=iの文書についての印刷回数を求めることによって、印刷ログに基づく重要度を求める。そして、閲覧ログに基づく重要度と印刷ログに基づく重要度を統合して、当該文書ID=iの文書の重要度を決定している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−122685号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の手法では、閲覧ログに記録される文書IDと、印刷ログに記録される文書IDとが、共通した文書IDである必要がある。
【0005】
しかしながら、一般的な文書管理サーバでは、各文書(ファイル)に対して、当該文書管理サーバで管理するための独自の文書IDを付与して管理している。一方、プリントサーバでは、様々なアプリケーションプログラムからの印刷ジョブを受信して印刷処理を行う際に印刷ログIDを付与して、各印刷ジョブを印刷ログに記録している。すなわち、一般的に、文書管理サーバの閲覧ログに記録される文書IDと、プリントサーバの印刷ログに記録される印刷ログIDは、共通していない場合が多いという問題点がある。
【0006】
これに対して、プリントサーバの印刷ログを利用するのではなく、文書管理システム上で行われた操作全てを操作ログとして記録することによって、文書管理システムで管理している文書に対して印刷操作が指示されたかどうか判定することが考えられる。具体的には、文書管理サーバと文書管理クライアントで構成される文書管理システムにおいて、文書管理クライアント上で行われた印刷操作を文書管理サーバの操作ログに記録し、その操作ログから文書管理サーバで管理される文書が印刷されたことを判定する。なお、文書管理クライアントでの印刷操作としては、文書管理クライアントアプリケーションにおいて表示した文書一覧の中から所望の文書を選択し、文書管理クライアントアプリケーションの操作メニューから「印刷」を選択する。このように、文書管理クライアントアプリケーションの操作メニューから印刷が選択された場合には、文書管理サーバの操作ログに印刷操作のログが記録されることになる。
【0007】
しかしながら、一般的な文書管理システムでは、文書管理サーバで管理されている文書を、クライアントPCにダウンロードして、文書管理クライアントアプリケーションと異なるアプリケーション(以下では「外部アプリ」と略記する)で当該文書をオープンすることができる。例えば、文書管理サーバからローカルにダウンロードした文書ファイルを、ワープロアプリケーションや表計算アプリケーションなどの外部アプリでオープンすることができる。このような外部アプリを起動して文書をオープンし、当該外部アプリにおいて当該文書の印刷操作が行われた場合、外部アプリにおいて為された操作は文書管理サーバの操作ログに記録されないため、外部アプリでの印刷操作も記録されないことになる。すなわち、外部アプリの操作メニューから印刷が実行された場合は、文書管理システムの管理外で印刷が指示されるため、その操作記録を文書管理システム側で残すことができず、文書管理システム側では該文書が印刷されたかどうかを判別することができない。
【0008】
このような外部アプリを用いて文書をオープンして印刷した場合の問題は、特許文献1のような環境下においても同様に問題となる。すなわち、文書管理サーバの管理外の外部アプリにおいて印刷操作が行われた場合、プリントサーバで記録される印刷ジョブIDは、文書管理サーバで記録される文書IDと共通にすることができない。したがって、文書管理サーバで管理している文書について印刷回数を用いて重要度を算出することは困難となる。
【0009】
本発明は、上記のような問題を解決するためのものであり、外部アプリでの印刷を判定する文書管理システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明の文書管理システムは、文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録手段と、印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集手段と、前記文書操作ログ記録手段で記録された操作ログと、前記印刷ログ収集手段で収集された印刷ログとを比較するログ比較手段と、前記ログ比較手段での比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定手段と、前記文書印刷判定手段の判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新手段と、を有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、文書管理システムで管理される文書に対する操作の履歴を示す操作ログと、プリンタ等の印刷デバイスで実行された印刷の履歴を示す印刷ログとを比較することによって、文書の印刷判定を行うため、文書管理システムのプログラムと異なる外部アプリケーションで印刷が行われたことを判別することができる。
【図面の簡単な説明】
【0012】
【図1】システムの概略図
【図2】システムを構成する各PCとMFPデバイスのハードウェア構成図
【図3】文書管理システムのソフトウェアモジュール構成
【図4】(a)文書操作ログの例 (b)図8、図9、図11のフローチャート実施後の文書操作ログの例
【図5】(a)印刷ログの例 (b)図8、図9、図11のフローチャート実施後の印刷ログの例
【図6】外部アプリ印刷ログの例
【図7】外部アプリ固有情報保持部に保持される外部アプリ固有情報のテーブル
【図8】文書管理サーバアプリケーションで管理される文書の印刷判定のフローチャート
【図9】文書管理サーバアプリケーションで管理される前に印刷された文書の印刷判定のフローチャート
【図10】文書管理クライアントアプリケーション311のUI部313のレコメンド表示例
【図11】ページ数の比較によって印刷文書を特定するフローチャート
【図12】実施例2における比較条件の異なる複数の検索の実施による印刷判定処理のフローチャート
【図13】実施例2における検索1の処理のフローチャート
【図14】実施例2における検索2の処理のフローチャート
【図15】実施例2における検索2における文書情報の比較条件の設定方法処理のフローチャート
【図16】実施例2における検索3の処理のフローチャート
【図17】実施例2における検索4の処理のフローチャート
【発明を実施するための形態】
【0013】
[実施例1]
図1〜図7を用いて、本発明に係る実施例1を説明する。
【0014】
図1は本実施例におけるシステムの概略図であり、文書管理サーバ101、クライアントPC102、印刷機能を有するMFPデバイス(複合機)103は、インターネットやLAN等のネットワーク104で接続されている。
【0015】
文書管理サーバPC101は、文書管理サーバアプリケーションが動作しているサーバである。クライアントPC102は、文書管理サーバ101にアクセスし、文書情報を取得するための文書管理クライアントアプリケーションが動作しているPC(パーソナルコンピュータ)である。
【0016】
図1には図示されていないが、クライアントPC102の他にも複数のクライアントPCがネットワーク104に接続されていても構わない。また、MFPデバイス103の他にも複数のMFPデバイスがネットワーク104に接続されていても構わない。
【0017】
[ハードウェア構成]
図2は、本発明の実施形態に係る本システムを構成する各PCとMFPデバイスのハードウェア構成例を示している。本実施形態の文書管理サーバPCおよびクライアントPCは、図2(A)に示すような一般的な情報処理装置のハードウェア構成を適用できる。
【0018】
図2(A)は、情報処理装置(PC)のハードウェア構成図である。CPU201は、メモリ(ROM203やRAM202)にロードされたOSやアプリケーション等のプログラムを実行する。ここで、OSとはコンピュータ上で稼働するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理は、このCPU201により実行されるプログラムによって実現される。すなわち、該プログラムは、コンピュータを、後述するフローチャートの各処理を実行する各処理部として機能させる。RAM202は、CPU201の主メモリであり、ワークエリア等として機能する。
【0019】
キーボードコントローラ204は、キーボード208や図示しないマウスなどのポインティングデバイスからのキー入力を制御する。ディスプレイコントローラ205は、表示用デバイスであるディスプレイ209の表示を制御する。ディスクコントローラ206は、各種データを記憶する外部メモリであるハードディスク(HD)210へのデータアクセスを制御する。NIC207は、ネットワークインターフェースであり、ネットワーク104を介して接続された他の機器との通信制御処理を実行する。ハードディスク(HD)210には、OSやアプリケーション等のプログラムが格納されると共に、OSによりファイルシステムが構築され、OSの管理下で各種ファイルが格納される。211は、相互接続バスであり、CPU201により各ブロック間の通信を仲介する。
【0020】
図2(B)は、MFPデバイス103のハードウェア構成例である。図2(B)において、CPU251は、内部バス258を介して後述する各機能/装置を接続し、MFPデバイス103を制御するものである。表示装置252は、操作画面を表示するためのタッチパネル(操作パネル)などの装置である。本実施例では、ユーザが所望の動作を行うための操作等も、表示装置252のタッチパネル上に表示される操作画面を介して行う。スキャナ装置253は、オートドキュメントフィーダ機能など機能を有する文書を読み込むための装置である。プリンタ装置254は、ネットワークインターフェース257を介して受け取った印刷ジョブを印刷出力するための装置である。メモリ255は、CPU251の主メモリとして機能し、CPU251がMFPデバイス103を制御するために実行するOSやアプリケーション等のプログラムを実行するためのワークエリアとしても機能する。大容量記憶装置256は、CPU251によりメモリ255にロードされる各種アプリケーションプログラムを記憶する。また、大容量記憶装置256は、スキャナ装置254で読み取ったスキャン文書などの保存にも用いられる。ネットワークインターフェース257は、ネットワーク104を介して接続された他の機器との通信制御処理を実行するものであり、特に、本実施形態においては、文書管理サーバPC101との通信を行うために用いる。
【0021】
[文書管理サーバとMFPデバイスの構成]
図3は、文書管理システムのソフトウェアモジュール構成を示す図である。文書管理サーバアプリケーション301は文書管理サーバ101上で実行されることによって各処理部302〜309として機能する。また、文書管理クライアントアプリケーション311はクライアントPC102上で実行されることによって各処理部312〜313として機能する。
【0022】
文書管理メイン制御部302は、文書管理クライアントアプリケーション311から文書の登録の要求を受けた際、その要求と共に受け取った登録文書のデータを文書データ蓄積・管理部303に渡す。
【0023】
また、文書管理メイン制御部302は、文書管理クライアントアプリケーション311による文書操作要求に従って文書操作を行った際に、その操作履歴データを生成し、文書操作ログに登録する情報として文書操作ログ蓄積・管理部304に渡す。
【0024】
更に、文書管理メイン制御部302は、印刷ログ取得先設定保持部309に設定された取得先プリンタ情報を元に、MFPデバイス103などのプリンタ(またはプリントサーバ)から、定期的に印刷ログを取得し、印刷ログ蓄積・管理部305に渡す。尚、印刷ログは、MFPデバイス103などのプリンタにおいて、印刷ジョブの印刷処理が為された際に生成されたものである。
【0025】
また、文書管理メイン制御部302は、印刷ログ内のジョブ名と、文書操作ログ内の文書名とを比較して外部アプリで印刷したか否かを判定し、外部アプリ印刷ログを生成する。詳細に関しては後述する。
【0026】
文書データ蓄積・管理部303は、文書管理メイン制御部302から渡された文書データを外部メモリ210に記憶し、管理する。文書データ蓄積・管理部303では、管理対象の文書に対して一意な文書IDを割り当てて管理すると共に、各管理対象の文書の属性を管理する。文書の属性としては、文書ID以外に、文書の格納位置を示す文書パス、文書名、更新日時、作成日時、サイズ、作成者、印刷回数などを含むものとする。
【0027】
文書操作ログ蓄積・管理部304は、文書管理メイン制御部302から渡された文書操作ログを外部メモリ(ハードディスク)210に記憶し、管理する。
【0028】
印刷ログ蓄積・管理部305は、文書管理メイン制御部302から渡された印刷ログを外部メモリ(ハードディスク)210に記憶し、管理する。
【0029】
外部アプリ印刷ログ蓄積・管理部306は、文書管理メイン制御部302による外部アプリ印刷判定結果に基づき、文書管理メイン制御部302が生成した外部アプリ印刷ログをハードディスク210に記憶し、管理する。詳細に関しては、後述する。
【0030】
外部アプリ固有情報保持部307は、文書管理メイン制御部302でジョブ名と文書名の比較時に利用する、外部アプリ毎に固有の特徴をハードディスク210に記憶し、保持する。詳細に関しては、後述する。
【0031】
サーバ通信部308は、ネットワーク104を介して、文書管理クライアントアプリケーション311との文書操作に関するデータの送受信や、MFPデバイス103と印刷ログの取得に関するデータの送受信を行う。
【0032】
印刷ログ取得先設定保持部309は、印刷ログの取得先のプリンタの情報を保持しており、取得先プリンタの情報として、プリンタ名やIPアドレスなどの情報をハードディスク210に記憶している。
【0033】
文書管理クライアントアプリケーション311は、クライアントメイン制御部312、UI部313、クライアント通信部314として機能する。クライアントメイン制御部312は、UI部313を介してユーザから受け取った文書操作要求を判断し、クライアント通信部314を介して文書管理サーバアプリケーション301に文書操作リクエストを送信する。そして、文書管理サーバアプリケーション301から受け取ったレスポンス結果を基に、UI部313の表示を変更する。UI部313は、文書管理のユーザインタフェースであり、文書の新規登録、オープン、移動、コピーなどの各種要求をユーザから受け取ると共に、各種要求に応じて表示を変更する。
【0034】
尚、文書管理サーバの文書管理メイン制御部302がMFPデバイス103の印刷ログを取得する方法は、文書管理メイン制御部302が、MFPデバイス103から更新された印刷ログを定期的に取得するといった方法をとる。もしくは、文書管理メイン制御部302がMFPデバイス103に対して、印刷ログを文書管理サーバPC101に送信する設定を行い、その設定に応じてMFPデバイス103が更新された印刷ログを文書管理サーバPC101に送信するといった方法をとってもよい。
【0035】
[文書操作ログ、印刷ログ、外部アプリ印刷ログの構成]
図4(a)は、文書操作ログ蓄積・管理部304に記録される文書操作ログ401の例であり、以下の属性から構成される。以下では、文書操作ログ401に登録される各レコードデータ(421〜430)を文書操作ログ登録データと呼ぶことにする。
【0036】
「文書操作ログID」属性402には、文書管理メイン制御部302から文書操作ログ登録データが渡される毎に、文書操作ログ蓄積・管理部304によって当該文書操作ログ登録データそれぞれに対して一意に設定されるID(識別子)の値が記録される。
【0037】
「文書ID」属性403には、操作対象となった文書の文書IDが記録される。この文書IDは、文書を管理するために文書データ蓄積・管理部303によって文書毎に設定される一意な値であり、文書管理メイン制御部302を介して文書操作ログ蓄積・管理部304に渡されて記録される。
【0038】
「文書パス」属性404には、文書を仮想的なフォルダー構成として表示する際の当該操作対象となった文書の位置を表す値が記録される。文書管理メイン制御部302が、文書管理クライアントアプリケーション311からの文書操作要求の情報と、文書データ蓄積・管理部303から必要な情報とを取得し、これらの情報に基づいて決定される値を文書操作ログ蓄積・管理部304に渡して記録する。
【0039】
「文書名」属性405には、操作対象となった文書ファイル自体のファイル名を表す値が記録される。文書管理メイン制御部302が、文書管理クライアントアプリケーション311からの文書操作要求の情報と、文書データ蓄積・管理部303から必要な情報とを取得し、これらの情報に基づいて決定されるファイル名の値を文書操作ログ蓄積・管理部304に渡して記録する。
【0040】
「操作ユーザ」属性406には、文書管理クライアントアプリケーション311を介して、文書に対して操作を行ったユーザのアカウント名を表す値が記録される。本実施形態では、ユーザのアカウント名は、図1に示したシステム内で一意であるとする。文書管理メイン制御部302が、文書管理クライアントアプリケーション311からの文書操作要求の情報から値を取得し、文書操作ログ蓄積・管理部304に渡して記録する。
【0041】
「操作種別」属性407には、文書管理クライアントアプリケーション311を介して、文書に対して行った操作の種別が記録される。文書管理メイン制御部302が、文書管理クライアントアプリケーション311からの文書操作要求の情報に応じて値を取得し、文書操作ログ蓄積・管理部304に渡して記録する。操作種別としては、文書のオープン、削除、新規登録などが記録される。
【0042】
「操作日時」属性408には、文書管理クライアントアプリケーション311を介して、文書に対してユーザが操作を行った日時を表す値が記録される。文書管理メイン制御部302が、文書管理クライアントアプリケーション311からの文書操作要求に応じて値を取得し、文書操作ログ蓄積・管理部304に渡して記録する。
【0043】
「印刷判定済」属性409には、文書管理メイン制御部302によって、その文書操作ログ登録データに対応する印刷ログ登録データの印刷ログID属性の値が必要に応じて設定される。詳細に関しては後述する。尚、文書操作ログとして、上記以外に記録される属性があってもよい。
【0044】
図5(a)は、印刷ログ蓄積・管理部305に記録される印刷ログ501の例であり、以下の属性から構成される。以下では、印刷ログ501に登録される各レコードデータ(521〜527)を印刷ログ登録データと呼ぶことにする。
【0045】
「印刷ログID」属性502には、MFPデバイス103などから取得した印刷ログが文書管理メイン制御部302から渡される毎に、印刷ログ蓄積・管理部305によって、個々の印刷ログ登録データに対して一意に設定される値が記録される。
【0046】
「プリンタ名」属性503には、文書管理メイン制御部302が当該印刷ログを取得した、MFPデバイス103などのプリンタに付与されている一意な識別名が、文書管理メイン制御部302により記録される。
【0047】
「ジョブ名」属性504には、MFPデバイス103がネットワークインターフェース257を介して受け取った印刷ジョブの中に含まれていた印刷ジョブ名称の値が記録される。印刷ジョブの中に含まれる印刷ジョブ名称の値は、一般的に、PC上でアプリケーションがプリンタドライバを用いて印刷を行う際に、アプリケーションによってプリンタドライバに渡される値である。印刷ジョブ名称の値は、印刷を行うアプリケーションによって様々であり、形式が統一されていない。多くのアプリケーションでは、文書名や文書名の一部分が印刷ジョブ名称の中に含まれており、本発明では、その文書名の情報を利用する。
【0048】
「印刷ユーザ」属性505には、MFPデバイス103がネットワークインターフェース257を介して受け取った印刷ジョブの中に含まれていたユーザ名の値が設定される。印刷ジョブの中に含まれていたユーザ名の値は、プリンタドライバによって、アプリケーションに印刷を指示したユーザのアカウント名が設定された値である。本実施形態では、前述したようにユーザのアカウント名は、図1に示したシステム内で一意であるとする。
【0049】
「印刷開始日時」属性506には、MFPデバイス103のプリンタ装置254が印刷ログ項目に該当する印刷ジョブを処理した日時を表す値が記録される。
【0050】
「印刷枚数」属性507には、MFPデバイス103のプリンタ装置254が印刷ログ項目に該当する印刷ジョブを正常に処理した際に要した紙の枚数が記録される。
【0051】
「面付け情報」属性508には、MFPデバイス103のプリンタ装置254が印刷ログ項目に該当する印刷ジョブを処理した際に、1紙面あたりどれだけのページ数を割り付けたかが記録される。例えば、1紙面あたり2ページの割り付けが行われた場合「2in1」が記録され、1紙面あたり4ページの割り付けが行われた場合「4in1」が記録される。一般的に、面付け(集約印刷)は、プリンタドライバの設定に従って、印刷ジョブに設定される値に基づいて実行される。
【0052】
「両面印刷」属性509には、MFPデバイス103のプリンタ装置254が印刷ログ項目に該当する印刷ジョブを処理した際に、1枚の紙の両面に印刷を行ったかどうかが記録される。一般的に、両面印刷は、プリンタドライバの設定に従って、印刷ジョブに設定される値に基づいて実行される。
【0053】
「対応判定済」属性510には、文書管理メイン制御部302によって当該印刷ログ登録データに対応すると判定された文書操作ログ登録データに関する文書操作ログID属性の値が必要に応じて設定される。詳細に関しては後述する。尚、印刷ログとして、上記以外に記録される属性があってもよい。
【0054】
図6は、外部アプリ印刷ログ蓄積・管理部306に記憶される外部アプリ印刷ログ601の例であり、以下の属性から構成される。
【0055】
「外部アプリ印刷ログID」属性602には、文書管理メイン制御部302によって作成された外部アプリ印刷ログ登録データが渡される毎に、外部アプリ印刷ログ蓄積・管理部306によって、個々の外部アプリ印刷ログ登録データに対して一意に設定される値が記録される。
【0056】
「文書ID」属性603、「文書パス」属性604、「文書名」属性605は、それぞれ文書操作ログの属性403、404、405に相当する属性である。また、「印刷ユーザ」属性606、「印刷開始日時」属性607は、それぞれ印刷ログ501の属性505、506に相当する属性である。尚、外部アプリ印刷ログとして、上記以外に記録される属性があってもよい。
【0057】
[文書管理サーバアプリケーションで管理されている文書の印刷判定]
図8は、文書管理サーバアプリケーション301で管理される文書の印刷判定のフローチャートである。文書管理サーバアプリケーション301内で管理されている文書のうち、外部アプリでの印刷操作により印刷された文書を、文書操作ログ401と印刷ログ501とを比較することにより判定する処理について説明する。本実施形態において、図8のフローチャートは、文書管理メイン制御部302によって、15分毎に開始されるものとするが、開始タイミングは、これに限定されるものではない。
【0058】
ステップS801で、文書管理メイン制御部302は、印刷ログ取得先設定保持部309が保持する取得先プリンタ情報に基づいて特定されるプリンタ(MFPデバイス103など)から新たな印刷ログを取得し、印刷ログ蓄積・管理部305に渡す。
【0059】
ステップS802で、文書管理メイン制御部302は、印刷ログ蓄積・管理部305から、S801で格納した図5(a)の印刷ログ501の各印刷ログ登録データ521〜527を登録順に読み取る。そして、各印刷ログ登録データを順に処理対象として、ステップS803〜S813の処理を行う。
【0060】
ステップS803で、文書管理メイン制御部302は、現在の処理対象の印刷ログ登録データに対して、以下の3つの条件に合致する文書操作ログ登録データを、文書操作ログ蓄積・管理部304の文書操作ログ401(図4(a))から検索する。そして、当該検索された文書操作ログをRAM202に読み込む。
【0061】
(1) 「操作種別」属性407の値として「オープン」または「新規登録」を持つ。もしくは、オープンや新規登録に相当する操作種別を値として持つ。
(2) 「印刷ユーザ」属性505と同一の値を「操作ユーザ」属性406の値として持つ。
(3) 「印刷開始日時」属性506の値よりも一定時間前までの日時を「操作日時」属性408の値として持つ。
【0062】
なお、上述した条件3における「一定時間前」の具体的な時間幅は、文書がオープンまたは新規登録されてから、印刷に至るまでの時間であることが望ましい。「外部アプリでの文書のオープン→編集→印刷」や、「外部アプリでの文書の新規作成→編集→文書管理システムへの新規登録→編集→印刷→文書管理システム上の登録文書の更新」などのワークフローを加味すると、一般的なオフィスワーカーで12時間以内と推定される。そのため、本実施例では、印刷開始日時より12時間前までの操作日時を値として持つものを具体的な条件とする。尚、時間幅は12時間に限定されるものではなく、各オフィスでのワークフローに合わせて設定するようにすればよい。
【0063】
ステップS804で、文書管理メイン制御部302は、ステップS803で検索した結果、上記3つの条件全てに合致する文書操作ログ登録データを一つ以上RAM202に読み込んだか否かを判定する。読み込んでいれば(すなわち、文書操作ログ401に記録されている文書操作ログ登録データのうち、3つの条件に合致する文書操作ログ登録データが検索された場合)、文書管理メイン制御部302は、ステップS805へ進み、読み込んでいなければステップS813へ進む。
【0064】
ステップS805で、ステップS803での検索条件に合致した文書操作ログ登録データの「文書名」属性405の値と、現在の処理対象の印刷ログ登録データの「ジョブ名」属性504の値とを、外部アプリ固有情報保持部307の外部アプリ固有情報を用いながら、比較する。尚、外部アプリ固有情報保持部307の情報を用いた比較の詳細に関しては、後述する。
【0065】
ステップS806で、文書管理メイン制御部302は、ステップS805で比較した結果、印刷ログ登録データと値が一致または類似する文書操作ログ登録データが一つ以上あるか否かを判定する。文書操作ログ登録データが一つ以上あれば、文書管理メイン制御部302は、ステップS807へ進み、文書操作ログ登録データが一つ以上なければステップS813へ進む。尚、値が一致または類似するという判定の詳細に関しては、後述する。
【0066】
ステップS807で、文書管理メイン制御部302は、印刷ログ登録データと値が一致または類似する各文書操作ログ登録データの「印刷判定済」属性409の値に何らかの印刷ログID属性の値が設定されているかどうかを確認する。「印刷判定済」属性409に値が何も設定されていない文書操作ログ登録データがあれば、文書管理メイン制御部302は、ステップS808へ進む。一方、印刷ログ登録データと値が一致または類似する全ての文書操作ログ登録データについて「印刷判定済」属性409に何らかの値が設定されていれば、ステップS813へ進む。
【0067】
ステップS808で、文書管理メイン制御部302は、「印刷判定済」属性409に値が設定されていない文書操作ログ登録データの、「文書ID」属性403の値を持つ文書データ蓄積・管理部303内の文書が外部アプリで印刷されたと判断する。
【0068】
ステップS809で、文書管理メイン制御部302は、現在の処理対象の印刷ログ登録データの「印刷ログID」属性502の値を取得し、該当の文書操作ログ登録データの「印刷判定済」属性409の値として設定する。
【0069】
ステップS810で、文書管理メイン制御部302は、該当の文書操作ログ登録データの「文書操作ログID」属性402の値を取得し、現在の処理対象の印刷ログ登録データの「対応判定済」属性510の値として設定する。
【0070】
ステップS811で、文書管理メイン制御部302は、文書データ蓄積・管理部303を用いて、前記S808において外部アプリで印刷されたと判断した「文書ID」属性403の値を持つ文書の「印刷回数」の属性の数値をインクリメントし、1増加させる。尚、「印刷回数」属性の代わりに「印刷人数」の属性を用いてもよく、その場合は、過去に該当の文書を印刷したことがないユーザによる印刷であると判断した場合のみ、該当の属性の数値を1増加させる。
【0071】
ステップS812で、文書管理メイン制御部302は、該当の文書操作ログ登録データと現在の処理対象の印刷ログ登録データの情報から外部アプリ印刷ログ登録データを作成し、外部アプリ印刷ログ蓄積・管理部306に、その登録情報を渡す。この際、文書管理メイン制御部302は、作成する外部アプリ印刷ログ登録データの「文書ID」属性603、「文書パス」属性604、「文書名」属性605の値として、該当の文書操作ログ登録データの「文書ID」属性403、「文書パス」属性404、「文書名」属性405の値をコピーして設定する。また、「印刷ユーザ」属性606、「印刷開始日時」属性607の値として、現在の処理対象の印刷ログ登録データの「印刷ユーザ」属性505、「印刷開始日時」属性506の値をコピーして設定する。
【0072】
ステップS813で、文書管理メイン制御部302は、ステップS801で新規に取得した印刷ログから生成された全ての印刷ログ登録データに対して、文書操作ログ401との比較処理を行ったかを判定する。比較処理を行っていない印刷ログ登録データが残っていれば、ステップS802へ進み、次の印刷ログ登録データの処理を行う。新規に取得した印刷ログから生成された全ての印刷ログ登録データに対して比較処理を行っていれば、処理を終了する。
【0073】
なお、前記ステップS806で、値が一致する場合とは、例えば、印刷ログ登録521の「ジョブ名」属性504の値と文書操作ログ登録424の「文書名」属性405の値のように、同じ文字列値(例えば、資料1.pdf)を持つ場合である。
【0074】
また、文書管理メイン制御部302が、前記ステップS806で、値が類似すると判定するのは、以下の2つのパターンがある。
【0075】
第一のパターンは、例えば、印刷ログ登録データ525の「ジョブ名」属性504の値「Microsoft Word − 決裁書A.docx」と、文書操作ログ登録データ425の「文書名」属性405の値「決裁書A.docx」のような場合である。すなわち、ジョブ名には、印刷を行ったアプリケーションにより、アプリケーション固有の文字列が元の文書名の前後に付加される場合がある。印刷ログ登録データ525の「ジョブ名」属性504の例で言えば、「Microsoft Word − 」というアプリケーション名を示す文字列が、印刷を行うのに使用されたと推測されるアプリケーション(この例ではMicrosoft Word(登録商標))によって付加されている。また、印刷ログ登録データ523の「ジョブ名」属性504の値「Microsoft PowerPoint − 資料3.ppt [互換モード]」の例で言えば、「Microsoft PowerPoint − 」というアプリケーション名を示す文字列に加え、「 [互換モード]」という文書を開いた時の形態を示す文字列が、同じく、印刷を行うのに使用されたと推測されるアプリケーション(Microsoft PowerPoint(登録商標))によって付加されている。そのため、文書管理サーバアプリケーション301は、ジョブ名と文書名の比較時に必要なこれらの文書管理システム外の外部アプリ毎に固有の特徴を、外部アプリ固有情報保持部307に保持している。文書管理メイン制御部302は、ステップS805で、この外部アプリ固有情報保持部307の情報を用いて、現在の処理対象の印刷ログ登録の「ジョブ名」属性504の値からアプリケーションが付加したと推測される文字列を削除した後、比較を行う。ステップS806で、文書操作ログ登録の「文書名」属性405の値と一致しているかを判断する。ここで一致と判断されたものは、類似と判断される。
【0076】
値が類似と判断する第二のパターンとしては、印刷ログ登録データ526の「ジョブ名」属性504の値「12345678901234567890123456789012」と、文書操作ログ登録データ421の「文書名」属性405の値「12345678901234567890123456789012345.txt」の例である。印刷ジョブを生成するプリンタドライバによっては、アプリケーションから渡される印刷ジョブ名称を、32バイトに切り詰めてしまうものがある。そのため、印刷ログ登録データの「ジョブ名」属性504の値に32バイトの値が設定されているものに関しては、文書操作ログ登録データの「文書名」属性405の値と前方一致で比較を行い、文字列の先頭から32バイト目までの文字列が同一と判断されたものに関しては、類似と判断する。尚、このような32バイトの値が設定されているものに関しても前記第一のパターンが適用される。前記第一のパターンと同様、アプリケーションが付加したと推測される文字列を削除した残りのジョブ名の文字列に対して、残りのジョブ名の文字数分の前方一致で文書操作ログ登録データの「文書名」属性405の値と比較を行い、同一と判断されたものに関しては、類似と判断する。
【0077】
図7は、外部アプリ固有情報保持部307に保持される外部アプリ固有情報のテーブル701である。外部アプリ固有情報のテーブル701は、ハードディスク210に記憶・管理される。702は、外部アプリのファイル拡張子である。703は、プレフィックス定義であり、702のファイル拡張子を印刷ジョブ名称に付与する外部アプリにより、ファイル名の先頭に該当の文字列が付与された形で印刷ジョブ名称が付けられることを示している。704は、サフィックス定義であり、外部アプリにより、印刷ジョブ名称の中で702のファイル拡張子を印刷ジョブ名称に付与した後に続けて付与される可能性がある文字列を示している。尚、サフィックス定義の値は、サフィックスの文字列全体を定義として持つ必要はなく、その一部でもよい。例えば、“ [”のようなスペースとブラケットから構成される2文字が値として定義されていた場合、“ [”から始まる任意の文字列が、印刷ジョブ名称内でファイル拡張子702の文字列の後に付与される可能性があることを示している。
【0078】
図4(b)は、上記図8のフローチャート、および後述する図9、図11のフローチャート実施後の文書操作ログの例である。
【0079】
図5(b)は、上記図8のフローチャート、および後述する図9、図11のフローチャート実施後の印刷ログの例である。
【0080】
図8のフローチャートにより、図4(b)における文書操作ログ登録データ421、423〜425の「印刷判定済」属性409、図5(b)における印刷ログ登録データ521、523、525〜526の「対応判定済」属性510に、それぞれ値が設定される。また、図8のフローチャートにより、図6における外部アプリ印刷ログ登録データ621〜624が生成される。
【0081】
[文書管理サーバアプリケーションで管理される前に印刷された文書の判定]
図9は、文書管理サーバアプリケーション301で管理される前に印刷された文書の印刷判定のフローチャートである。ここでは、文書管理サーバアプリケーション301において、文書管理サーバアプリケーション301で管理される前に印刷された文書を判定する処理について説明する。
【0082】
図9のフローチャートは、文書管理メイン制御部302によって、図8で示したフローチャートの実行終了後に続けて実施される。尚、開始タイミングは、これに限定されるものではない。
【0083】
ステップS901で、文書管理メイン制御部302は、以下の3つの条件に合致する文書操作ログ登録データを文書操作ログ蓄積・管理部304から検索して、RAM202に読み込む。
【0084】
(1) 「操作種別」属性407の値として「新規登録」を持つ。もしくは、新規登録に相当する操作種別を値として持つ。
(2) 「印刷判定済」属性409に値が設定されていない。
(3) 現在の時刻から前回の図9のフローチャートが実行された開始時間までの間の日時を「操作日時」属性408の値として持つ。尚、時間幅はこれに限定されるものではない。
【0085】
ステップS902で、文書管理メイン制御部302は、ステップS901で検索した結果、上記3つの条件に合致する文書操作ログ登録データを一つ以上RAM202に読み込んだか否かを判定する。読み込んでいれば、文書管理メイン制御部302は、ステップS903へ進み、読み込んでいなければ、処理を終了する。
【0086】
ステップS903で、文書管理メイン制御部302は、RAM202に読み込んだ、ステップS901での検索条件に合致する新規登録の文書操作ログ登録データに関して、文書操作ログ蓄積・管理部304での登録順に一つずつ、ステップS904〜S913の処理を行う。
【0087】
ステップS904で、文書管理メイン制御部302は、以下の3つの条件に合致する印刷ログ登録データを印刷ログ蓄積・管理部305から検索して、RAM202に読み込む。
【0088】
(1) 現在の処理対象の新規登録の文書操作ログ登録データの「操作ユーザ」属性406の値と同一の値を「印刷ユーザ」属性505の値として持つ。
(2) 「対応判定済」属性510に値が設定されていない。
(3) 現在の処理対象の新規登録の文書操作ログ登録データの「操作日時」属性408の値よりも一定時間前の日時を「印刷開始日時」属性506の値として持つ。この一定時間前の具体的な時間幅は、文書が印刷されてから、新規登録に至るまでの時間であることが望ましい。外部アプリでの文書の新規作成→編集→印刷→編集→文書管理システムへの新規登録、などのワークフローを考慮すると、一般的なオフィスワーカーで例えば12時間以内と推定される。そのため、現在時刻より12時間前の日時を値として持つものを、本実施例では、具体的な条件とする。尚、時間幅はこれに限定されるものではない。
【0089】
ステップS905で、文書管理メイン制御部302は、ステップS904で検索した結果、上記3つの条件に合致する印刷ログ登録データを一つ以上RAM202に読み込んだか否かを判定する。読み込んでいれば、文書管理メイン制御部302は、ステップS906へ進み、読み込んでいなければステップS913へ進む。
【0090】
ステップS906で、文書管理メイン制御部302は、現在の処理対象の新規登録の文書操作ログ登録データの「文書名」属性405の値と、ステップS905での検索条件に合致した印刷ログ登録データの「ジョブ名」属性504の値とを、外部アプリ固有情報保持部307の外部アプリ固有情報701を用いながら、比較する。尚、外部アプリ固有情報保持部307の情報を用いた比較の詳細に関しては、前述の通りである。
【0091】
ステップS907で、文書管理メイン制御部302は、ステップS906で比較した結果、現在の処理対象の新規登録の文書操作ログ登録データと値が一致または類似する印刷ログ登録データが、ステップS905での検索条件に合致した印刷ログ登録データの中に一つ以上あるか否かを判定する。印刷ログ登録データが一つ以上あれば、文書管理メイン制御部302は、ステップS908へ進み、印刷ログ登録データが一つ以上なければステップS913へ進む。尚、値が一致または類似するという判定の詳細に関しては、前述の通りである。
【0092】
ステップS908で、文書管理メイン制御部302は、現在の処理対象の新規登録の文書操作ログ登録データの、「文書ID」属性403の値を持つ文書データ蓄積・管理部303内の文書が外部アプリで印刷されたと判断する。
【0093】
ステップS909で、文書管理メイン制御部302は、現在の処理対象の文書操作ログ登録データの「文書操作ログID」属性402の値を取得し、前記ステップS906での比較で合致した印刷ログ登録データの「対応判定済」属性510の値として設定する。
【0094】
ステップS910で、文書管理メイン制御部302は、前記ステップS906での比較で合致した印刷ログ登録データの「印刷ログID」属性502の値を取得し、現在の処理対象の文書操作ログ登録データの「印刷判定済」属性409の値として設定する。前記ステップS906での比較で合致した印刷ログ登録データが複数あれば、文書管理メイン制御部302は、その該当する複数の印刷ログ登録データから「印刷判定済」属性409の値を取得し、取得した各印刷ログ登録データの「印刷ログID」属性502の値をカンマで区切って、「印刷判定済」属性409の値に設定する。尚、前記ステップS906での比較で合致する印刷ログ登録が複数存在するというのは、同じ文書が複数回印刷されたという状況に相当する。
【0095】
ステップS911で、文書管理メイン制御部302は、文書データ蓄積・管理部303を用いて、前記S908において外部アプリで印刷されたと判断した「文書ID」属性403の値を持つ文書の「印刷回数」の属性の数値をインクリメントし、1増加させる。尚、これは、「印刷人数」の属性でもよく、その場合、過去に該当の文書を印刷したことがないユーザによる印刷であると判断した場合のみ、該当の属性の数値を1増加させる。
【0096】
ステップS912で、文書管理メイン制御部302は、現在の処理対象の文書操作ログ登録データと前記ステップS906での比較で合致した印刷ログ登録データの情報から外部アプリ印刷ログ登録データを作成し、外部アプリ印刷ログ蓄積・管理部306に、その登録情報を渡す。前記ステップS906での比較で合致した印刷ログ登録データが複数あれば、文書管理メイン制御部302は、それらの合致した印刷ログ登録データそれぞれに対応する外部アプリ印刷ログ登録データを作成する。尚、文書管理メイン制御部302が作成する外部アプリ印刷ログ登録データの詳細に関しては、前述の通りである。
【0097】
ステップS913で、文書管理メイン制御部302は、ステップS901での検索条件に合致した新規登録の全ての文書操作ログ登録データに関して、ステップS904〜S912の処理を行ったかを判定する。ステップS904〜S912の処理を行っていない文書操作ログ登録データが残っていれば、文書管理メイン制御部302は、ステップS903へ進む。文書管理メイン制御部302は、ステップS901での検索条件に合致した新規登録の全ての文書操作ログ登録データに対してステップS904〜S912の処理を行っていれば、処理を終了する。
【0098】
上記図9のフローチャートにより、図4(b)における文書操作ログ登録426の「印刷判定済」属性409、図5(b)における印刷ログ登録522の「対応判定済」属性510に、それぞれ値が設定される。また、同じく上記図9のフローチャートにより、図6における外部アプリ印刷ログ登録データ626が生成される。
【0099】
[文書の印刷回数または印刷人数の属性の利用]
以下に、前述した文書の「印刷回数」または「印刷人数」の属性の実際の利用方法に関して述べる。後述するように、文書の「印刷回数」または「印刷人数」の属性は文書のレコメンドする際の判断基準に用いる。
【0100】
図10は、文書管理クライアントアプリケーション311のUI部313の表示例を示している。1000はメインウインドウであり、1001はナビゲーションペインである。
【0101】
ナビゲーションペイン1001には、アプリケーションで登録したライブラリーとライブラリー下に配置されるフォルダーが表示される。ナビゲーションペインで、ライブラリー、または、ライブラリー下に配置されるフォルダーを選択することで、現在の場所を移動することができる。図10の例では、ライブラリー1011〜1013とフォルダー1014〜1015とが表示されており、ライブラリー1011が現在の場所として選択されている。ここで言うライブラリーとは、文書管理を行うための保存単位のことである。文書管理クライアントアプリケーション311で利用するライブラリーには、データの保存場所により、2種類の形態が存在する。
【0102】
1つ目は、文書管理クライアントアプリケーション311が実行されているPCのローカルの外部メモリ210にデータ保存領域を作成し、文書管理クライアントアプリケーション311自体が管理するローカルライブラリーの形態である。この形態では、文書管理サーバアプリケーション301を必要とせず、文書管理クライアントアプリケーション311のみでシステムを構成することが可能である。図10の例では、1013がローカルライブラリーである。
【0103】
2つ目は、文書管理サーバアプリケーション301が提供する文書管理サービスに文書管理を委任する共有ライブラリーの形態である。この形態では、クライアントメイン制御部312は、UI部313から受け取った文書操作の要求を文書管理サーバアプリケーション301に渡し、その結果を文書管理サーバアプリケーション301から受け取って、UI部313に渡す。この2つ目の形態では、クライアントメイン制御部312が文書管理サーバアプリケーション301の文書管理サービスとのデータの仲介を行うだけの簡素な構成で済む。図10の例では、1011〜1012が共有ライブラリーである。
【0104】
1002は、ナビゲーションペインで選択中の場所(ライブラリーやフォルダ)に格納されている文書やフォルダーを表示するファイルリストペインである。図10の例では、現在ナビゲーションペインで選択されている共有ライブラリー1011に格納されている2つのフォルダー1014〜1015が表示されている。
【0105】
1031は、キーボードコントローラ204によって制御されるマウスポインタであり、ユーザの操作指示を受けて、文書管理クライアントアプリケーション311のUI部313でライブラリー、文書、フォルダーなどを操作する。
【0106】
1007はペインの表示・非表示を切り替えるパネルであり、ナビゲーションペイン1001の表示・非表示を切り替えるボタン1008、レコメンドペイン1003の表示・非表示を切り替えるボタン1009などを備える。
【0107】
レコメンドペイン1003は、ナビゲーションペイン1001で共有ライブラリーが選択された際には、そのライブラリー内でユーザやグループが閲覧や印刷を頻繁にしている文書をお薦め文書として表示する。また、ファイルリストペイン1002で文書が選択された際には、その選択された文書に関連する文書をお薦め文書として表示する。例えば、過去の操作において、選択された文書と同時に利用された文書などが表示される。また、ナビゲーションペイン1001やファイルリストペイン1002でフォルダーが選択された際には、その選択されたフォルダー下でユーザやグループが閲覧や印刷を頻繁にしている文書をお薦め文書として表示する。図10では、ナビゲーションペイン1001で選択されているライブラリー1011に関するお薦め文書1021〜1022が表示されている。なお、1023〜1024は、各お薦め文書1021〜1022それぞれを薦めた理由(お薦め理由)を示す文字列である。
【0108】
お薦め文書は、文書管理メイン制御部302により、文書管理クライアントアプリケーション311による文書操作要求に従う形で選定される。例えば、文書操作要求として「ライブラリー1011の一覧表示」が、サーバ通信部308を介して送信されて来た際、文書管理メイン制御部302は、ライブラリー1011の直下に格納されるフォルダーや文書の一覧を文書データ蓄積・管理部303から取得して、文書管理クライアントアプリケーション311に返す。それに加えて、ライブラリー1011に関するお薦め文書を、そのお薦め理由と共に、文書管理クライアントアプリケーション311に返す。文書管理メイン制御部302は、ライブラリー1011に関するお薦め文書として、ライブラリー1011に属する文書の中で「印刷回数」または「印刷人数」の属性の値が高いものを文書データ蓄積・管理部303から取得し、操作を行ったユーザにアクセス権があるもののみを、値が高いものから順に2つ選択する。
【0109】
このような、お薦め文書の文書管理サーバアプリケーション301での選定、および文書管理クライアントアプリケーション311での表示のことを、文書のレコメンドと呼ぶこととする。
【0110】
尚、文書のレコメンドは、文書の「印刷回数」や「印刷人数」の属性の値を使うだけでなく、文書操作ログ蓄積・管理部304に蓄積された文書操作ログを解析して、文書の閲覧回数や、文書の同時利用などを元に決定するようにしてもよい。
【0111】
[ページ数の比較による印刷文書の特定]
前記図8の文書管理サーバアプリケーション301で管理される文書の印刷判定のフローチャートにおいて、ステップS807で「印刷判定済」属性409に値が何も設定されない文書操作ログ登録データが複数あった場合、ステップS808以降で、それらすべての文書操作ログ登録データが処理の対象となる。
【0112】
すなわち、ステップS809で、それらすべての文書操作ログ登録データの「印刷判定済」属性409の値に、現在の処理対象の印刷ログ登録データの「印刷ログID」属性502の値が設定される。
【0113】
更に、ステップS810で、それらすべての文書操作ログ登録データの「文書操作ログID」属性402の値が、現在の処理対象の印刷ログ登録データの「対応判定済」属性510の値として設定される。
【0114】
本来、現在の処理対象の印刷ログ登録データに対して、一つの文書操作ログ登録データが決定されるのが望ましい。ただし、それぞれの文書操作ログ登録データの「文書ID」属性403の値が同一の値であれば、文書管理サーバアプリケーション301で管理される同一の文書が、同一ユーザにより、印刷前に複数回「オープン」された、または、印刷前に「新規登録」かつ一回以上「オープン」されたと判断できる。この場合は、現在の処理対象の印刷ログ登録データに対して、特に一つの文書操作ログ登録データを決定する必要はなく、前記図8のフローチャートの処理で構わない。
【0115】
また、ステップS807の前のステップS806で、印刷ログ登録データと値が一致すると判断された文書操作ログ登録データが一つ見つかった場合、印刷ログ登録データと値が類似と判断された文書操作ログ登録データが他にあったとしても、その一致と判断された文書操作ログ登録データに対してのみ、ステップS807以下の処理を行うものとしてよい。
【0116】
しかし、それでも、値が類似すると判断された複数の文書操作ログ登録データがステップS807の処理後に残った場合で、かつ、それらの文書操作ログ登録データの「文書ID」属性403の値が異なる場合、現在の処理対象の印刷ログ登録データに対応する実際に印刷された文書は、それらの中のいずれか一つであるはずである。この場合、それらの異なる「文書ID」属性403の値を持つ文書の中から、実際に印刷された文書を特定するための、別の方法が必要となる。図11を用いて、この方法を説明する。
【0117】
図11は、ページ数の比較によって印刷文書を特定するフローチャートである。図11のフローチャートは、前記ステップS807で、現在の処理対象の印刷ログ登録データに対応する、「印刷判定済」属性409に値が何も設定されない文書操作ログ登録データが複数あり、かつ、それらの文書操作ログ登録データの「文書ID」属性403の値が異なる場合に、文書管理メイン制御部302によって、開始される。そして、処理の終了後、前記ステップS808の処理に遷移する。ただし、開始タイミング、終了後の処理に関しては、これらに限定されるものではない。
【0118】
ステップS1101で、文書管理メイン制御部302は、各文書操作ログ登録データの「文書ID」属性403の値を持つ文書の総ページ数を文書データ蓄積・管理部303から取得する。文書データ蓄積・管理部303が実際の文書から総ページ数を取得する具体的な方法に関しては、例えば、Microsoft Office(登録商標)の文書の場合、Microsoft社が提供するMicrosoft Office Primary Interop Assemblies(プライマリ相互運用機能アセンブリ)の技術を用いて、取得することができる。尚、ページ数ではなくページ数相当の情報を取得するということでもよい。例えば、Microsoft PowerPoint(登録商標)などのプレゼンテーション用アプリケーションの文書の場合、スライド数がページ数相当の情報として利用されている。この場合、全スライド数を総ページ数とする。
【0119】
ステップS1102で、文書管理メイン制御部302は、現在の処理対象の印刷ログ登録データから、「印刷枚数」属性507、「面付け情報」属性508、「両面印刷」属性509の各値を取得する。
【0120】
ステップS1103で、文書管理メイン制御部302は、ステップS1102で取得した「印刷枚数」属性507、「面付け情報」属性508、「両面印刷」属性509の値から、その印刷ログ登録データの実際の印刷ジョブの元となる印刷文書の印刷対象ページ数を算出する。算出は以下のような単純な掛け算の数式で行う。
【0121】
印刷枚数×面付け情報×両面印刷=印刷対象ページ数
上記数式での印刷枚数の値は、「印刷枚数」属性507の値がそのまま代入されるが、面付け情報、両面印刷に関しては以下のような値が入る。
【0122】
上記数式での面付け情報の値に関しては、「面付け情報」属性508の値が「2in1」の場合、2が入り、
印刷枚数×2×両面印刷=印刷対象ページ数
となる。
【0123】
また、同様に「面付け情報」属性508の値が「4in1」の場合、4が入り、
印刷枚数×4×両面印刷=印刷対象ページ数
となる。
【0124】
また、上記数式での両面印刷の値に関しては、「両面印刷」属性509の値が「あり」の場合、2が入り、
印刷枚数×面付け情報×2=印刷対象ページ数
となる。
【0125】
また、同様に「両面印刷」属性509の値が、値なしまたは「なし」の場合、1が入り、
印刷枚数×面付け情報×1=印刷対象ページ数
となる。
【0126】
上記の数式で算出される印刷対象ページ数の値は、PC上でアプリケーションが文書を印刷する際に、文書を印刷する範囲として指定されたページ数を表す。具体的には、文書の全ページ数を表す値、または、文書の一部のページ範囲を表す値のいずれかである。
【0127】
尚、上記では、「印刷枚数」属性507、「面付け情報」属性508、「両面印刷」属性509の値を用いたが、他に元となる印刷文書の印刷対象ページ数を算出可能なパラメータがあれば、それを利用するよう上記数式を組み立ててもよい。
【0128】
ステップS1104で、文書管理メイン制御部302は、ステップS1103で算出した印刷対象ページ数と、ステップS1101で取得した、各文書操作ログ登録データの「文書ID」属性403の値を持つ文書のそれぞれの総ページ数とを比較する。比較は、以下の比較式で行う。
【0129】
文書の総ページ数≧印刷対象ページ数
ステップS1105で、文書管理メイン制御部302は、ステップS1104で比較した結果、文書の総ページ数が印刷対象ページ数以上である文書の文書IDを「文書ID」属性403の値として持つ文書操作ログ登録データを、現在の処理対象の印刷ログ登録データに対応する文書操作ログ登録データとして決定し、処理を終了する。
【0130】
上記図11および前記図8のフローチャートにより、図4(b)における文書操作ログ登録データ427の「印刷判定済」属性409、図5(b)における印刷ログ登録データ527の「対応判定済」属性510に、それぞれ値が設定される。また、同じく上記図11および前記図8のフローチャートにより、図6における外部アプリ印刷ログ登録データ625が生成される。
【0131】
上記の処理によれば、印刷ログ登録データに対応する文書操作ログ登録データの候補が複数あった場合、それらの文書操作ログに対応する文書から取得した総ページ数と、印刷ログ登録データから算出した印刷対象ページ数を比較することにより、文書操作ログ登録データの候補内での絞り込みを行うことができるという効果がある。
【0132】
また、図5(b)において、上記図8、図9、図11のフローチャートの実施後、印刷ログ登録データ524に関して、「対応判定済」属性510に値が設定されておらず、また対応する外部アプリ印刷ログ登録データが図6の外部アプリ印刷ログ601に生成されていない。これは、この印刷ログ登録データに対応する文書操作ログ登録データが文書操作ログ401に存在しなかったためである。
【0133】
そのため、この印刷ログ登録データは、文書管理サーバアプリケーション301が管理する文書が印刷された際に生成された印刷ログではなく、クライアントPC102などのファイルシステム上のファイルが印刷された際に生成された印刷ログであると解釈できる。印刷ログ登録データ524の「ジョブ名」属性504の値は、印刷ログ登録データ521の「ジョブ名」属性504の値と同一であり、印刷された文書またはファイルの名前は、「資料1.pdf」であると解釈できる。すなわち、図1に示したシステム内で「資料1.pdf」という名前の文書またはファイルが、文書管理サーバPC101と、クライアントPC102上に、少なくとも、それぞれ1つずつ以上存在すると解釈できる。
【0134】
すなわち、本発明によれば、文書DBである文書データ蓄積・管理部303とローカルのファイルシステムであるクライアントPC102のハードディスク210に同名の文書が存在する場合であっても、文書DB内の文書の方が印刷されたということをログから判別することができる。
【0135】
また、本発明によれば、文書名と類似のジョブ名を判定するため、印刷ログに記録されたジョブ名と、文書管理システムで管理される文書の文書名が完全一致しない場合であっても、印刷されたことを特定することができる。
【0136】
[実施例2]
【0137】
本実施例2は、実施例1と同様の課題に対して、比較条件を変えた検索を複数実行することで印刷判定を行い、実施例1と同様の効果を得るものである。尚、システム構成、ハードウェア構成、ソフトウェア構成などは実施例1と同様であるので説明は省略する。
【0138】
「条件を変えた検索を複数実行して印刷判定を行う処理」
以下、本実施例2の処理の流れについて説明する。図12は、印刷ログ451と文書操作ログ401に対して、比較条件の異なる複数の検索を実行して、印刷判定を行う処理のフローチャートである。ここで、本実施例では、複数の検索として検索1、検索2、検索3、検索4を設定して、以上の複数の検索を実施することで、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせを検索する。なお、それぞれの検索の処理に関しては、後述する。
【0139】
ステップS1201で、文書管理メイン制御部302は、ステップS801と同様に、印刷ログ取得先設定保持部309が保持する取得先プリンタ情報を元に、MFPデバイス103などのプリンタから新たな印刷ログを取得し、印刷ログ蓄積・管理部305に渡す。
【0140】
ステップS1202で、文書管理メイン制御部302は、検索の対象とする印刷ログおよび文書操作ログを決定する。印刷ログは、ステップS1201で取得したものを対象とする。また、文書操作ログは、前回図12のフローチャートの処理が行われた後に、文書操作ログ蓄積・管理部304に蓄積されたものを対象とする。
【0141】
ステップS1203で、文書管理メイン制御部302は、検索1、検索2、検索3および検索4の順にそれぞれステップS1204〜ステップS1212の処理を行う。
【0142】
ステップS1204で、文書管理メイン制御部302は、文書操作ログ蓄積・管理部304に記録されている印刷ログと文書操作ログに対して、現在の処理対象の検索を実施する。
【0143】
検索1を実施するのであれば、S1301へ進む。検索2を実施するのであれば、S1401へ進む。検索3を実施するのであれば、S1601へ進む。検索4を実施するのであれば、S1701へ進む。
【0144】
ステップS1205で、文書管理メイン制御部302は、ステップS1204で実施した検索において実行結果が存在するか否かを判定する。存在すれば、ステップS1206へ進む。存在しなければ、ステップS1211へ進む。
【0145】
ステップS1206で、文書管理メイン制御部302は、ステップS1204で実施した検索における各検索結果に対して、ステップS1207〜ステップS1210の処理を行う。
【0146】
ステップS1207で、文書管理メイン制御部302は、ステップS1206で指定した現在の処理対象の検索結果から文書操作ログ登録データおよび印刷ログ登録データを読み取り、その印刷ログ登録データの「対応判定済」属性510の値に何らかの文書操作ログID属性の値が設定されているかどうかを確認する。
【0147】
「対応判定済」属性510に値が何も設定されない印刷ログ登録データであれば、印刷登録済でないと判定し、ステップS1208へ進む。「対応判定済」属性510に何らかの値が設定されている印刷ログ登録データであれば、印刷登録済であると判定し、ステップS1210へ進む。
【0148】
ステップS1208で、文書管理メイン制御部302は、ステップS809と同様にして、ステップS1207で読み取った印刷ログ登録データの「印刷ログID」属性502の値を取得し、ステップS1207で読み取った文書操作ログ登録データの「印刷判定済」属性409の値として設定する。また、文書管理メイン制御部302は、ステップS810と同様にして、ステップS1207で読み取った文書操作ログ登録データの「文書操作ログID」属性402の値を取得し、ステップS1207で読み取った印刷ログ登録データの「対応判定済」属性510の値として設定する。
【0149】
ステップS1209で、文書管理メイン制御部302は、ステップS1207で読み取った文書操作ログ登録データおよび印刷ログ登録データの組み合わせが、文書管理サーバに管理されている文書の印刷された際のログであると判断し、ステップS812と同様に、外部アプリ印刷ログ登録データを作成し、外部アプリ印刷ログ蓄積・管理部306に、その登録情報を渡す。
【0150】
ステップS1210で、文書管理メイン制御部302は、ステップS1206で処理対象とした検索結果に関して、処理していないものがあれば、ステップS1206へ戻り、次の検索結果を処理の対象とする。そうでなければ、ステップ1211へ進む。
【0151】
ステップS1211で、文書管理メイン制御部302は、ステップS1201で取得した印刷ログ登録データに関して、印刷判定済でないものがあるか否かを判定する。印刷判定済でないものがあれば、ステップS1212へ進む。そうでなければ、処理を終了する。
【0152】
ステップS1212で、文書管理メイン制御部302は、検索1、検索2、検索3および検索4の全ての検索に対して処理を行ったかを判定する。全ての検索に対して処理を行っていれば、処理を終了する。そうでなければ、ステップS1203へ戻り、次の検索を行う。
【0153】
以下に、検索1、検索2、検索3および検索4の処理の詳細について説明する。いずれの検索においても、ユーザ情報、操作時刻情報、操作内容情報、文書情報のそれぞれに関する4つの比較条件を設定する。また、本実施例ではいずれの検索においても、ユーザ情報、操作時刻情報および操作内容情報に関する3つの比較条件は同一の内容に設定されているものとして説明する。
【0154】
[検索1の詳細説明]
検索1では、印刷された結果、印刷ログ登録データの「ジョブ名」属性454の値に、「文書名」の情報が記録される文書の判定を行う。検索1の処理方法に関して、図13を用いて説明する。
【0155】
ステップS1301で、文書管理メイン制御部302は、以下の内容を満たすことをユーザ情報の比較条件として設定する。
【0156】
・印刷ログ登録データの「印刷ユーザ」属性505の値と、文書操作ログ登録データの「操作ユーザ」属性406の値が一致すること
ステップS1302で、文書管理メイン制御部302は、以下のAあるいはBの内容を満たすことを操作時刻情報の比較条件および操作内容情報の比較条件として設定する。尚、ステップS803およびステップS904と同様に、「印刷開始日時」属性506の値と「操作時刻」属性408の値の時間差を12時間以内として説明する。
【0157】
(A) 印刷ログ登録データの「印刷開始日時」属性506の値よりも文書操作ログ登録データの「操作日時」属性408の値が12時間の範囲内で前の時刻であり、かつ、「操作内容」属性407の値がオープンであること
(B) 印刷ログ登録データの「印刷開始日時」属性506の値よりも文書操作ログ登録データの「操作日時」属性408の値が12時間の範囲内で後の時刻であり、かつ、「操作内容」属性407の値が新規登録であること
ステップS1303で、文書管理メイン制御部302は、以下の内容を満たすことを文書情報の比較条件として設定する。
【0158】
・印刷ログ登録データの「ジョブ名」属性454の値と文書操作ログ登録データの「文書名」属性405の値が完全に一致すること
ステップS1304で、文書管理メイン制御部302は、ステップS1301〜ステップS1303でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを、ステップS1202で決定した文書操作ログおよび印刷ログを対象に検索する。
【0159】
例えば、検索1を印刷ログ501の印刷ログ登録データ521〜527および文書操作ログ401の文書操作ログ登録データ421〜430に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ521と文書操作ログ登録データ424」、「印刷ログ登録データ522と文書操作ログ登録データ426」が得られる。
【0160】
検索1の処理を終了後、S1206へ進む。
【0161】
[検索2の詳細説明]
検索2では、印刷された結果、印刷ログ登録データの「ジョブ名」属性454の値に、「文書名と外部アプリを表す文字列」の情報が記録される文書の判定を行う。検索2の処理方法に関して、図14を用いて説明する。
【0162】
ステップS1401で、文書管理メイン制御部302は、ステップS1301と同様の処理を行い、ユーザ情報の比較条件を設定する。
【0163】
ステップS1402で、文書管理メイン制御部302は、ステップS1302と同様の処理を行い、操作時刻情報の比較条件および操作内容情報の比較条件を設定する。
【0164】
ステップS1403で、文書管理メイン制御部302は、後述するステップS1501〜ステップS1506の処理を実行して、検索2における文書情報の比較条件の設定を行う。
【0165】
ステップS1404で、文書管理メイン制御部302は、ステップS1401〜ステップS1403でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを検索する。検索の対象は、印刷判定済でない印刷ログ登録と、文書操作ログ登録とする。
【0166】
検索2における文書情報の比較条件の設定方法に関して、図15を用いて説明する。
【0167】
ステップS1501で、文書管理メイン制御部302は、外部アプリ固有情報保持部307の外部アプリ固有情報701に記録されているプレフィックス定義703およびサフィックス定義704から、外部アプリを示す文字列(以下、「外部アプリ印刷文字列」とする)を取得する。そして、文書管理メイン制御部302は、各「外部アプリ印刷文字列」に対して、ステップS1502〜ステップS1506の処理を実施する。
【0168】
ステップS1502で、文書管理メイン制御部302は、「外部アプリ印刷文字列」がプレフィックス定義703として記録されているか、あるいはサフィックス定義704として記録されているかを判定する。プレフィックス定義703に記録されている場合は、ステップS1503へ進む。サフィックス定義704に記録されている場合は、ステップS1504へ進む。
【0169】
ステップS1503で、文書管理メイン制御部302は、「外部アプリ印刷文字列」を「文書名」属性405の値の前に結合して、結合後の文字列を取得する。
【0170】
ステップS1504で、文書管理メイン制御部302は、「外部アプリ印刷文字列」を「文書名」属性405の値の後に結合して、結合後の文字列を取得する。
【0171】
ステップS1505で、文書管理メイン制御部302は、「ステップS1503あるいはステップS1504で取得した文字列と「ジョブ名」属性454が一致する」という条件を文書情報の比較条件として設定する。ステップS1505で加えられた文書情報の比較条件がすでに存在する場合は、その条件に対して論理和(OR)になるように文書情報の比較条件に加える。
【0172】
ステップS1506で、文書管理メイン制御部302は、ステップS1501で、取得した「外部アプリ印刷文字列」の全てに対して、処理を行ったか否かを判定する。全ての「外部アプリ印刷文字列」に対して処理を行っていれば、処理を終了する。そうでなければ、ステップS1501へ進み、次の「外部アプリ印刷文字列」を対象にして処理を行う。
【0173】
例えば、検索2を印刷ログ501の印刷ログ登録データ521〜527および文書操作ログ401の文書操作ログ登録データ421〜430に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ525と文書操作ログ登録データ425」が得られる。
【0174】
検索2の処理を終了後、S1206へ進む。
【0175】
[検索3の詳細説明]
検索3では、印刷された結果、印刷ログ登録の「ジョブ名」属性454の値に、「文書名と文書の開き方を表す文字列」または「文書名と外部アプリを表す文字列と文書の開き方を表す文字列」のいずれかの情報が記録される文書の判定を行う。検索3の処理方法に関して、図16を用いて説明する。
【0176】
ステップS1601で、文書管理メイン制御部302は、ステップS1301と同様の処理を行い、ユーザ情報の比較条件を設定する。
【0177】
ステップS1602で、文書管理メイン制御部302は、ステップS1302と同様の処理を行い、操作時刻情報の比較条件および操作内容情報の比較条件を設定する。
【0178】
ステップS1603で、文書管理メイン制御部302は、以下のAあるいはBの内容を満たすことを文書情報の比較条件として設定する。
【0179】
(A) 「文書名」属性405の値で前方一致検索を行い、「ジョブ名」属性454の値が該当すること
(B) ステップS1503、ステップS1504で取得した「文書名」属性405の値の前あるいは後に「外部アプリ印刷文字列」を結合した文字列で前方一致検索を行い、「ジョブ名」属性454の文字列が該当すること
ステップS1604で、文書管理メイン制御部302は、ステップS1601〜ステップS1603でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを検索する。検索の対象は、印刷判定済でない印刷ログ登録データと文書操作ログ登録データとする。
【0180】
ステップS1605で、文書管理メイン制御部302は、ステップS1604で検索を実行して得られた各検索結果に対して、ステップS1606〜ステップS1609の処理を行う。
【0181】
ステップS1606で、文書管理メイン制御部302は、ステップS1605で処理の対象とした検索結果に含まれる印刷ログ登録データの情報から「ジョブ名」属性454の値を取得する。
【0182】
ステップS1607で、文書管理メイン制御部302は、ステップS1606で取得した「ジョブ名」属性454の値から文書名や「外部アプリ印刷文字列」を除いた文字列を取得する。文書管理メイン制御部302は、その文字列がアプリ文字列の一部や文書を開いた時の形態を示す文字列の全部あるいは一部であるか否かを判定する。
【0183】
アプリ文字列の一部や文書を開いた時の形態を示す文字列の全部あるいは一部であると判定されれば、ステップS1609へ進む。そうでなければ、ステップS1608へ進む。
【0184】
ステップS1608で、文書管理メイン制御部302は、ステップS1605で処理の対象とした検索結果に含まれる文書操作ログ登録および印刷ログ登録の組み合わせは正しくないものと判定し、検索結果から除外する。
【0185】
ステップS1609で、文書管理メイン制御部302は、ステップS1604で検索を実行して得られた検索結果の全てに対して、処理を行ったかを判定する。全ての検索結果に対して処理を行っていれば、処理を終了する。そうでなければ、ステップS1605に進み、次の検索結果に対して処理を行う。
【0186】
例えば、検索3を印刷ログ501の印刷ログ登録データ521〜527および文書操作ログ401の文書操作ログ登録データ421〜430に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ523と文書操作ログ登録データ423」が得られる。
【0187】
検索3の処理を終了後、S1206へ進む。
【0188】
[検索4の詳細説明]
検索4では、印刷された結果、印刷ログ登録データの「ジョブ名」属性454の値に、「文書名の一部」、「外部アプリを表す文字列と文書名の一部」、「文書名と外部アプリを表す文字列の一部」のいずれかの情報が記録される文書の判定を行う。検索4の処理方法に関して、図17を用いて説明する。
【0189】
ステップS1701で、文書管理メイン制御部302は、ステップS1301と同様の処理を行い、ユーザ情報の比較条件を設定する。
【0190】
ステップS1702で、文書管理メイン制御部302は、ステップS1302と同様の処理を行い、操作時刻情報の比較条件および操作内容情報の比較条件を設定する。
【0191】
ステップS1703で、文書管理メイン制御部302は、以下の内容を満たすことを文書情報の比較条件として設定する。
【0192】
・「ジョブ名」属性454の値に対して「文書名」属性405の値が部分一致すること
ステップS1704で、文書管理メイン制御部302は、ステップS1701〜ステップS1703でそれぞれ設定した検索条件の全てを満たす文書操作ログ登録データおよび印刷ログ登録データの組み合わせを検索する。検索の対象は、印刷判定済でない印刷ログ登録データと、文書操作ログ登録データとする。
【0193】
ステップS1705で、文書管理メイン制御部302は、ステップS1704で検索を実行して得られた各検索結果に対して、ステップS1706〜ステップS1712の処理を行う。
【0194】
ステップS1706で、文書管理メイン制御部302は、現在の処理の対象である検索結果に含まれる文書操作ログ登録データの情報から「文書名」属性405の値を取得する。
【0195】
ステップS1707で、文書管理メイン制御部302は、ステップS1706で取得した「文書名」属性405の値が表している文書が印刷された際に印刷ログ登録データの「ジョブ名」属性454に記録されると予測される文字列(以下、「予測完全ジョブ名」とする)を、外部アプリ固有情報701を参照して算出する。
【0196】
ステップS1708で、文書管理メイン制御部302は、現在の処理の対象である検索結果に含まれる印刷ログ登録データの情報から、「プリンタ名」属性503の値を取得する。そして、文書管理メイン制御部302は、「プリンタ名」属性503の値が示すプリンタで文書を印刷された場合に生成される印刷ログ登録データの「ジョブ名」属性454に記録可能な最大バイト数を取得する。
【0197】
ステップS1709で、文書管理メイン制御部302は、ステップS1707で算出した「予測完全ジョブ名」に関して、先頭からステップS1708で取得した最大バイト数までの文字列(以下、「予測制限ジョブ名」とする)を抽出する。
【0198】
ステップS1710で、文書管理メイン制御部302は、現在の処理の対象である検索結果に含まれる印刷ログ登録データの情報に含まれる「ジョブ名」属性454の値とステップS1709で抽出した「予測制限ジョブ名」が完全に一致するか否かを判定する。完全に一致すれば、ステップS1712へ進む。そうでなければ、ステップS1711へ進む。
【0199】
ステップS1711で、文書管理メイン制御部302は、現在の処理の対象である検索結果に含まれる文書操作ログ登録データと印刷ログ登録データの組み合わせは、正しくないものと判定し、検索結果から除外する。
【0200】
ステップS1712で、文書管理メイン制御部302は、ステップS1704で検索した結果の全てに対して処理を行ったか否かを判定する。全ての検索結果に対して、処理を行っていれば処理を終了する。そうでなければ、ステップS1705に進み、次の検索結果を処理の対象とする。
【0201】
例えば、検索4を印刷ログ501の印刷ログ登録データ521〜527および文書操作ログ401の文書操作ログ登録データ421〜430に対して実施した結果、文書管理サーバで管理する印刷された文書に関する印刷操作ログ登録データと文書操作ログ登録データの組み合わせとして、「印刷ログ登録データ526と文書操作ログ登録データ421」、「印刷ログ登録データ527と文書操作ログ登録データ427」、「印刷ログ登録データ527と文書操作ログ登録データ428」が得られる。
【0202】
検索4の処理を終了後、S1206へ進む。
【0203】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録手段と、
印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集手段と、
前記文書操作ログ記録手段で記録された操作ログと、前記印刷ログ収集手段で収集された印刷ログとを比較するログ比較手段と、
前記ログ比較手段での比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定手段と、
前記文書印刷判定手段の判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新手段と、
を有することを特徴とする文書管理システム。
【請求項2】
前記文書印刷判定手段は、前記文書管理システムで管理されている文書が外部アプリケーションによって印刷されたことを判定することを特徴とする請求項1に記載の文書管理システム。
【請求項3】
前記ログ比較手段は、
前記操作ログに記録された文書名と、前記印刷ログに記録されたジョブ名とを比較する名前比較手段と、
前記操作ログに記録された操作ユーザ名と、前記印刷ログに記録された印刷ユーザ名とを比較するユーザ名比較手段と、
前記操作ログに記録された操作日時と、前記印刷ログに記録された印刷開始日時とを比較する日時比較手段と、
を含むことを特徴とする請求項1または2に記載の文書管理システム。
【請求項4】
前記名前比較手段は、前記印刷ログに記録されたジョブ名に基づいて本来の文書名を推測し、当該推測された文書名と前記操作ログに記録された文書名とを比較することを特徴とする請求項3に記載の文書管理システム。
【請求項5】
前記ログ比較手段は、前記文書操作ログ記録手段で前記操作ログ中に記録された文書のオープンに関するログと、前記印刷ログ収集手段で収集された前記印刷ログとを比較することを特徴とする請求項1に記載の文書管理システム。
【請求項6】
前記ログ比較手段は、前記文書操作ログ記録手段で前記操作ログ中に記録された文書の新規登録に関するログと、前記印刷ログ収集手段で収集された印刷ログとを比較することを特徴とする請求項1に記載の文書管理システム。
【請求項7】
前記日時比較手段は、前記操作ログ中に記録された文書のオープンに関するログと前記印刷ログとを比較する際、前記文書のオープンに関する操作日時が前記印刷ログに記録された印刷開始日時から一定時間前までの間であるか否かを比較基準として用いることを特徴とする請求項3に記載の文書管理システム。
【請求項8】
前記日時比較手段は、前記操作ログ中の文書の新規登録に関するログと前記印刷ログとを比較する際、前記文書の新規登録に関する操作日時が前記印刷ログに記録された印刷開始日時から一定時間前または後であるか否かを比較基準として用いることを特徴とする請求項3に記載の文書管理システム。
【請求項9】
前記文書印刷判定手段で複数の候補文書が前記印刷された文書として判定された場合、前記文書管理システムで管理されている候補文書を読み出して該候補文書のページ数を取得する候補文書ページ数取得手段と、
前記複数の候補文書があると判定された印刷ログから、印刷ページ情報を取得する印刷ページ情報取得手段と、
前記印刷ページ情報取得手段で取得した印刷ページ情報に基づいて印刷対象ページ数を算出する印刷対象ページ数算出手段と、
前記候補文書ページ数取得手段で取得した候補文書ページ数と、前記印刷対象ページ数算出手段で算出した印刷対象ページ数とを比較するページ数比較手段と、
前記ページ数比較手段での比較結果に基づいて、前記複数の候補文書の中から印刷された文書を特定する印刷文書特定手段と、
を有することを特徴とする請求項1記載の文書管理システム。
【請求項10】
前記候補文書ページ数取得手段で取得した文書のページ数は、前記候補文書のスライド数に基づいて取得することを特徴とする請求項9に記載の文書管理システム。
【請求項11】
前記印刷ページ情報は、印刷ページ枚数情報、面付け印刷情報、両面印刷情報を含むことを特徴とする請求項9または10に記載の文書管理システム。
【請求項12】
前記ページ数比較手段は、前記候補文書ページ数取得手段で取得した候補文書ページ数が、前記印刷対象ページ数算出手段で算出した印刷対象ページ数以上であるか否かを比較基準として用いることを特徴とする請求項9乃至11のいずれかに記載の文書管理システム。
【請求項13】
文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録ステップと、
印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集ステップと、
前記文書操作ログ記録ステップで記録された操作ログと、前記印刷ログ収集ステップで収集された印刷ログとを比較するログ比較ステップと、
前記ログ比較ステップでの比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定ステップと、
前記文書印刷判定ステップの判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新ステップと、
を有することを特徴とする文書管理方法。
【請求項14】
コンピュータを、
文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録手段、
印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集手段、
前記文書操作ログ記録手段で記録された操作ログと、前記印刷ログ収集手段で収集された印刷ログとを比較するログ比較手段、
前記ログ比較手段での比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定手段、
前記文書印刷判定手段の判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新手段、
として機能させるための、コンピュータプログラム。
【請求項1】
文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録手段と、
印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集手段と、
前記文書操作ログ記録手段で記録された操作ログと、前記印刷ログ収集手段で収集された印刷ログとを比較するログ比較手段と、
前記ログ比較手段での比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定手段と、
前記文書印刷判定手段の判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新手段と、
を有することを特徴とする文書管理システム。
【請求項2】
前記文書印刷判定手段は、前記文書管理システムで管理されている文書が外部アプリケーションによって印刷されたことを判定することを特徴とする請求項1に記載の文書管理システム。
【請求項3】
前記ログ比較手段は、
前記操作ログに記録された文書名と、前記印刷ログに記録されたジョブ名とを比較する名前比較手段と、
前記操作ログに記録された操作ユーザ名と、前記印刷ログに記録された印刷ユーザ名とを比較するユーザ名比較手段と、
前記操作ログに記録された操作日時と、前記印刷ログに記録された印刷開始日時とを比較する日時比較手段と、
を含むことを特徴とする請求項1または2に記載の文書管理システム。
【請求項4】
前記名前比較手段は、前記印刷ログに記録されたジョブ名に基づいて本来の文書名を推測し、当該推測された文書名と前記操作ログに記録された文書名とを比較することを特徴とする請求項3に記載の文書管理システム。
【請求項5】
前記ログ比較手段は、前記文書操作ログ記録手段で前記操作ログ中に記録された文書のオープンに関するログと、前記印刷ログ収集手段で収集された前記印刷ログとを比較することを特徴とする請求項1に記載の文書管理システム。
【請求項6】
前記ログ比較手段は、前記文書操作ログ記録手段で前記操作ログ中に記録された文書の新規登録に関するログと、前記印刷ログ収集手段で収集された印刷ログとを比較することを特徴とする請求項1に記載の文書管理システム。
【請求項7】
前記日時比較手段は、前記操作ログ中に記録された文書のオープンに関するログと前記印刷ログとを比較する際、前記文書のオープンに関する操作日時が前記印刷ログに記録された印刷開始日時から一定時間前までの間であるか否かを比較基準として用いることを特徴とする請求項3に記載の文書管理システム。
【請求項8】
前記日時比較手段は、前記操作ログ中の文書の新規登録に関するログと前記印刷ログとを比較する際、前記文書の新規登録に関する操作日時が前記印刷ログに記録された印刷開始日時から一定時間前または後であるか否かを比較基準として用いることを特徴とする請求項3に記載の文書管理システム。
【請求項9】
前記文書印刷判定手段で複数の候補文書が前記印刷された文書として判定された場合、前記文書管理システムで管理されている候補文書を読み出して該候補文書のページ数を取得する候補文書ページ数取得手段と、
前記複数の候補文書があると判定された印刷ログから、印刷ページ情報を取得する印刷ページ情報取得手段と、
前記印刷ページ情報取得手段で取得した印刷ページ情報に基づいて印刷対象ページ数を算出する印刷対象ページ数算出手段と、
前記候補文書ページ数取得手段で取得した候補文書ページ数と、前記印刷対象ページ数算出手段で算出した印刷対象ページ数とを比較するページ数比較手段と、
前記ページ数比較手段での比較結果に基づいて、前記複数の候補文書の中から印刷された文書を特定する印刷文書特定手段と、
を有することを特徴とする請求項1記載の文書管理システム。
【請求項10】
前記候補文書ページ数取得手段で取得した文書のページ数は、前記候補文書のスライド数に基づいて取得することを特徴とする請求項9に記載の文書管理システム。
【請求項11】
前記印刷ページ情報は、印刷ページ枚数情報、面付け印刷情報、両面印刷情報を含むことを特徴とする請求項9または10に記載の文書管理システム。
【請求項12】
前記ページ数比較手段は、前記候補文書ページ数取得手段で取得した候補文書ページ数が、前記印刷対象ページ数算出手段で算出した印刷対象ページ数以上であるか否かを比較基準として用いることを特徴とする請求項9乃至11のいずれかに記載の文書管理システム。
【請求項13】
文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録ステップと、
印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集ステップと、
前記文書操作ログ記録ステップで記録された操作ログと、前記印刷ログ収集ステップで収集された印刷ログとを比較するログ比較ステップと、
前記ログ比較ステップでの比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定ステップと、
前記文書印刷判定ステップの判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新ステップと、
を有することを特徴とする文書管理方法。
【請求項14】
コンピュータを、
文書管理システムで管理される文書に対する操作の履歴を、操作ログとして記録する文書操作ログ記録手段、
印刷デバイスで実行された印刷の履歴を示す印刷ログを収集する印刷ログ収集手段、
前記文書操作ログ記録手段で記録された操作ログと、前記印刷ログ収集手段で収集された印刷ログとを比較するログ比較手段、
前記ログ比較手段での比較結果に基づいて、前記文書管理システムで管理される文書が印刷されたことを判定する文書印刷判定手段、
前記文書印刷判定手段の判定結果に基づき、前記文書管理システムで管理される文書の印刷情報を更新する文書印刷情報更新手段、
として機能させるための、コンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2013−50878(P2013−50878A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2011−189025(P2011−189025)
【出願日】平成23年8月31日(2011.8.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願日】平成23年8月31日(2011.8.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]