(57)【特許請求の範囲】
【請求項１】
電子ファイルに基づいて生成された印刷データを印刷するとともに、該印刷データに関する管理情報を生成する印刷装置であって、
電子ファイルに基づいて生成された印刷データ、該印刷データの印刷に関するログを示す追跡用情報、及び前記電子ファイルに対応して一意に付与され、該電子ファイルが移動または変更された場合にも不変である識別情報を受信する受信手段と、
前記識別情報が管理装置に登録されているか否かを判断する判断手段と、
前記判断手段による判断の結果、前記識別情報が前記管理装置に登録されていると判断された場合には、前記受信手段で受信した印刷データである受信印刷データの全体に対してデータの同一性を判断するための演算関数を用いることにより得られた前記受信印刷データのデータ検証値と、前記識別情報に対応し、前記管理装置に登録されている印刷データである登録済印刷データの全体に対して前記演算関数を用いることにより得られた前記登録済印刷データのデータ検証値とを比較する第１比較手段と、
前記第１比較手段による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が異なる場合に、前記受信印刷データの各ページに対して前記演算関数を用いることにより得られた前記受信印刷データのページ毎のデータ検証値群と前記登録済印刷データの各ページに対して前記演算関数を用いることにより得られた前記登録済印刷データのページ毎のデータ検証値群とを比較する第２比較手段と、
前記判断手段による判断の結果、前記第１比較手段による比較の結果、及び前記第２比較手段による比較の結果に対応して、前記受信印刷データに関する管理情報を生成し前記管理装置に登録する登録手段とを備え、
前記登録手段は、
前記判断手段による判断の結果、前記識別情報が前記管理装置に登録されていないと判断された場合には、前記受信印刷データ、前記受信印刷データに対応する識別情報、前記受信印刷データの全体のデータ検証値、前記受信印刷データのページ毎のデータ検証値、前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記管理装置に新規登録し、
前記第１比較手段による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が同一である場合、及び前記第２比較手段による比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に完全に包含される場合には、前記受信印刷データを含まず、少なくとも前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記識別情報に関連付けて前記管理装置に登録する
ことを特徴とする印刷装置。
【請求項２】
前記第２比較手段の比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に完全に包含される場合には、前記登録手段は、前記受信印刷データの追跡用情報に加えて、前記受信印刷データが前記登録済印刷データの部分印刷であることを示すページ番号と該ページに対して前記演算関数を用いることにより得られた該ページのデータ検証値からなるページ包含情報をさらに含む管理情報を生成する
ことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記第２比較手段の比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に包含されない場合には、前記登録手段は、前記受信印刷データと前記登録済印刷データの差分を前記識別情報と関連付けて登録する
ことを特徴とする請求項１に記載の印刷装置。
【請求項４】
印刷データを生成する情報処理装置と、該印刷データを受信する印刷装置とがネットワークを介して接続されて構成される印刷管理システムであって、
前記情報処理装置は、
指定された電子ファイルに基づいて印刷データを生成する生成手段と、
前記生成手段で生成した印刷データ、該印刷データの印刷に関するログを示す追跡用情報、及び前記電子ファイルに対応して一意に付与され、該電子ファイルが移動または変更された場合にも不変である識別情報を前記印刷装置に送信する送信手段とを備え、
前記印刷装置は、
前記情報処理装置から、前記印刷データ、前記追跡用情報及び前記識別情報を受信する受信手段と、
前記識別情報が管理装置に登録されているか否かを判断する判断手段と、
前記判断手段による判断の結果、前記識別情報が前記管理装置に登録されていると判断された場合には、前記受信手段で受信した印刷データである受信印刷データの全体に対してデータの同一性を判断するための演算関数を用いることにより得られた前記受信印刷データのデータ検証値と、前記識別情報に対応し、前記管理装置に登録されている印刷データである登録済印刷データの全体に対して前記演算関数を用いることにより得られた前記登録済印刷データのデータ検証値とを比較する第１比較手段と、
前記第１比較手段による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が異なる場合に、前記受信印刷データの各ページに対して前記演算関数を用いることにより得られた前記受信印刷データのページ毎のデータ検証値群と前記登録済印刷データの各ページに対して前記演算関数を用いることにより得られた前記登録済印刷データのページ毎のデータ検証値群とを比較する第２比較手段と、
前記判断手段による判断の結果、前記第１比較手段による比較の結果、及び前記第２比較手段による比較の結果に対応して、前記受信印刷データに関する管理情報を生成し前記管理装置に登録する登録手段とを備え、
前記登録手段は、
前記判断手段による判断の結果、前記識別情報が前記管理装置に登録されていないと判断された場合には、前記受信印刷データ、前記受信印刷データに対応する識別情報、前記受信印刷データの全体のデータ検証値、前記受信印刷データのページ毎のデータ検証値、前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記管理装置に新規登録し、
前記第１比較手段による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が同一である場合、及び前記第２比較手段による比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に完全に包含される場合には、前記受信印刷データを含まず、少なくとも前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記識別情報に関連付けて前記管理装置に登録する
ことを特徴とする印刷管理システム。
【請求項５】
電子ファイルに基づいて生成された印刷データを印刷するとともに、該印刷データに関する管理情報を生成する印刷装置の制御方法であって、
電子ファイルに基づいて生成された印刷データ、該印刷データの印刷に関するログを示す追跡用情報、及び前記電子ファイルに対応して一意に付与され、該電子ファイルが移動または変更された場合にも不変である識別情報を受信する受信工程と、
前記識別情報が管理装置に登録されているか否かを判断する判断工程と、
前記判断工程による判断の結果、前記識別情報が前記管理装置に登録されていると判断された場合には、前記受信工程で受信した印刷データである受信印刷データの全体に対してデータの同一性を判断するための演算関数を用いることにより得られた前記受信印刷データのデータ検証値と、前記識別情報に対応し、前記管理装置に登録されている印刷データである登録済印刷データの全体に対して前記演算関数を用いることにより得られた前記登録済印刷データのデータ検証値とを比較する第１比較工程と、
前記第１比較工程による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が異なる場合に、前記受信印刷データの各ページに対して前記演算関数を用いることにより得られた前記受信印刷データのページ毎のデータ検証値群と前記登録済印刷データの各ページに対して前記演算関数を用いることにより得られた前記登録済印刷データのページ毎のデータ検証値群とを比較する第２比較工程と、
前記判断工程による判断の結果、前記第１比較工程による比較の結果、及び前記第２比較工程による比較の結果に対応して、前記受信印刷データに関する管理情報を生成し前記管理装置に登録する登録工程とを備え、
前記登録工程は、
前記判断工程による判断の結果、前記識別情報が前記管理装置に登録されていないと判断された場合には、前記受信印刷データ、前記受信印刷データに対応する識別情報、前記受信印刷データの全体のデータ検証値、前記受信印刷データのページ毎のデータ検証値、前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記管理装置に新規登録し、
前記第１比較工程による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が同一である場合、及び前記第２比較工程による比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に完全に包含される場合には、前記受信印刷データを含まず、少なくとも前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記識別情報に関連付けて前記管理装置に登録する
ことを特徴とする印刷装置の制御方法。
【請求項６】
前記第２比較工程の比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に完全に包含される場合には、前記登録工程は、前記受信印刷データの追跡用情報に加えて、前記受信印刷データが前記登録済印刷データの部分印刷であることを示すページ番号と該ページに対して前記演算関数を用いることにより得られた該ページのデータ検証値からなるページ包含情報をさらに含む管理情報を生成する
ことを特徴とする請求項５に記載の印刷装置の制御方法。
【請求項７】
前記第２比較工程の比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に包含されない場合には、前記登録工程は、前記受信印刷データと前記登録済印刷データの差分を前記識別情報と関連付けて登録する
ことを特徴とする請求項５に記載の印刷装置の制御方法。
【請求項８】
電子ファイルに基づいて生成された印刷データを印刷するとともに、該印刷データに関する管理情報を生成する印刷装置の制御をコンピュータに実行させるためのプログラムであって、
前記コンピュータに、
電子ファイルに基づいて生成された印刷データ、該印刷データの印刷に関するログを示す追跡用情報、及び前記電子ファイルに対応して一意に付与され、該電子ファイルが移動または変更された場合にも不変である識別情報を受信する受信工程と、
前記識別情報が管理装置に登録されているか否かを判断する判断工程と、
前記判断工程による判断の結果、前記識別情報が前記管理装置に登録されていると判断された場合には、前記受信工程で受信した印刷データである受信印刷データの全体に対してデータの同一性を判断するための演算関数を用いることにより得られた前記受信印刷データのデータ検証値と、前記識別情報に対応し、前記管理装置に登録されている印刷データである登録済印刷データの全体に対して前記演算関数を用いることにより得られた前記登録済印刷データのデータ検証値とを比較する第１比較工程と、
前記第１比較工程による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が異なる場合に、前記受信印刷データの各ページに対して前記演算関数を用いることにより得られた前記受信印刷データのページ毎のデータ検証値群と前記登録済印刷データの各ページに対して前記演算関数を用いることにより得られた前記登録済印刷データのページ毎のデータ検証値群とを比較する第２比較工程と、
前記判断工程による判断の結果、前記第１比較工程による比較の結果、及び前記第２比較工程による比較の結果に対応して、前記受信印刷データに関する管理情報を生成し前記管理装置に登録する登録工程とを実行させ、
前記登録工程は、
前記判断工程による判断の結果、前記識別情報が前記管理装置に登録されていないと判断された場合には、前記受信印刷データ、前記受信印刷データに対応する識別情報、前記受信印刷データの全体のデータ検証値、前記受信印刷データのページ毎のデータ検証値、前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記管理装置に新規登録し、
前記第１比較工程による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が同一である場合、及び前記第２比較工程による比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に完全に包含される場合には、前記受信印刷データを含まず、少なくとも前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記識別情報に関連付けて前記管理装置に登録する
ことを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムを記憶したコンピュータで読み出し可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを生成する情報処理装置と、該印刷データを受信する印刷装置とがネットワークを介して接続されて構成される印刷管理システム、印刷装置及びそれらの制御方法、プログラムに関するものである。
【背景技術】
【０００２】
機密情報が印刷されて漏洩した場合に、漏洩経路を追跡するために、印刷データと印刷ログ情報（例：ユーザ名）を関連付けて格納して管理するシステムが存在する（特許文献１）。このシステムでは、後に、情報漏洩が発覚した場合に、漏洩した文言や画像と類似する印刷データを格納庫から検索して、類似性の高い印刷データに関連する印刷ログ情報を閲覧する。ここで、このシステムは、Ｊｏｂ  Ａｒｃｈｉｖｅ  Ｓｙｓｔｅｍと呼ばれ、以下、ＪＡと略称する。
【０００３】
このシステムは、プリンタ上で動作するＪＡクライアント部（ＪＡ  Ａｇｅｎｔ）と、一般的なＰＣやサーバ専用計算機で動作するＪＡサーバ部とから構成され、それぞれがネットワークを介して接続されている。
【０００４】
ＪＡクライアント部は、クライアントＰＣからプリンタに要求された印刷データが実際に紙に印刷される前に横取りして、印刷ログ情報とともにＪＡサーバ部に送信する。ＪＡサーバ部では、印刷データをページ単位に分割した後、各ページをテキスト領域と画像領域に分割して、それぞれの検索用データを生成する。その後、１ページ分の印刷データと、テキスト領域情報と、画像領域情報と、テキスト領域検索用データと、画像領域検索データとを関連付けて集積し、ページ単位の格納データを生成する。さらに、元の印刷データと、各ページのページ単位格納データとを関連付けて集積し、印刷データ単位の格納データを生成し、記憶装置に保存する。
【特許文献１】特開平０８−１４７４４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
日本全国規模や全世界規模の企業においては、支店や営業所等の数十〜数千の多数の拠点があり、そこで働く従業員のために、１人１台のＰＣと、数人〜数十人に一台のプリンタが設置されている。そのような企業において、上記のＪＡを導入して、個人のＰＣから拠点のプリンタに対する印刷データを本部や本店等に配置した１セットのＪＡサーバに格納して、情報漏洩を抑止したいという市場ニーズが存在する。ＪＡサーバで格納すべき印刷データは、数百ギガバイト／日（＝数千人×数十ページ／日／人×数百キロバイト／ページ）と見積もられている。
【０００６】
そして、これほど巨大なデータを定常的に格納するには、通常の記憶装置では無理で、ネットワーク機能を用いて記憶モジュールを分散できる記憶装置を購入する必要がある。しかし、このような装置は非常に高価なため、記憶容量を節約する環境が求められていた。
【０００７】
また、Ｍｉｃｒｏｓｏｆｔ社のＥＸＣＥＬのように、複数部数を印刷すると全く同じ印刷データを指定部数分送信して、ＪＡサーバに同じデータを何度も無駄に記憶させるようなアプリケーションが存在する。
【０００８】
このような問題を解決するにあたり、各拠点における初期コストと運用コストを下げるため、拠点毎に拠点サーバを置くことは許されていない（部門サーバレス）。また、ＪＡサーバ部は、データ受信と格納に係る負荷が非常に高いため、極力新たな処理を増やさないようにしたいという要望がある。
【０００９】
本発明は上記の課題を解決するためになされたものであり、追跡用に管理する印刷データについての管理コストを低減することができる印刷装置及びそれらの制御方法、印刷管理システム、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するための本発明による印刷装置は以下の構成を備える。即ち、
電子ファイルに基づいて生成された印刷データを印刷するとともに、該印刷データに関する管理情報を生成する印刷装置であって、
電子ファイルに基づいて生成された印刷データ、該印刷データの印刷に関するログを示す追跡用情報、及び前記電子ファイルに対応して一意に付与され、該電子ファイルが移動または変更された場合にも不変である識別情報を受信する受信手段と、
前記識別情報が管理装置に登録されているか否かを判断する判断手段と、
前記判断手段による判断の結果、前記識別情報が前記管理装置に登録されていると判断された場合には、前記受信手段で受信した印刷データである受信印刷データの全体に対してデータの同一性を判断するための演算関数を用いることにより得られた前記受信印刷データのデータ検証値と、前記識別情報に対応し、前記管理装置に登録されている印刷データである登録済印刷データの全体に対して前記演算関数を用いることにより得られた前記登録済印刷データのデータ検証値とを比較する第１比較手段と、
前記第１比較手段による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が異なる場合に、前記受信印刷データの各ページに対して前記演算関数を用いることにより得られた前記受信印刷データのページ毎のデータ検証値群と前記登録済印刷データの各ページに対して前記演算関数を用いることにより得られた前記登録済印刷データのページ毎のデータ検証値群とを比較する第２比較手段と、
前記判断手段による判断の結果、前記第１比較手段による比較の結果、及び前記第２比較手段による比較の結果に対応して、前記受信印刷データに関する管理情報を生成し前記管理装置に登録する登録手段とを備え、
前記登録手段は、
前記判断手段による判断の結果、前記識別情報が前記管理装置に登録されていないと判断された場合には、前記受信印刷データ、前記受信印刷データに対応する識別情報、前記受信印刷データの全体のデータ検証値、前記受信印刷データのページ毎のデータ検証値、前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記管理装置に新規登録し、
前記第１比較手段による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が同一である場合、及び前記第２比較手段による比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に完全に包含される場合には、前記受信印刷データを含まず、少なくとも前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記識別情報に関連付けて前記管理装置に登録する。
【００１２】
また、好ましくは、  前記第２比較手段の比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に完全に包含される場合には、前記登録手段は、前記受信印刷データの追跡用情報に加えて、前記受信印刷データが前記登録済印刷データの部分印刷であることを示すページ番号と該ページに対して前記演算関数を用いることにより得られた該ページのデータ検証値からなるページ包含情報をさらに含む管理情報を生成する。
【００１４】
また、好ましくは、前記第２比較手段の比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に包含されない場合には、前記登録手段は、前記受信印刷データと前記登録済印刷データの差分を前記識別情報と関連付けて登録する。
【００１５】
また、好ましくは、前記受信手段が、更に、前記印刷データに付随する印刷データ変換指令を受信した場合、該印刷変換指令に基づいて印刷データを変換する変換手段を更に備える。
【００１６】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
印刷装置に出力する印刷データを生成する情報処理装置であって、
指定された電子ファイルに基づいて印刷データを生成する生成手段と、
印刷データ変換指令に基づいて、印刷データを変換する変換手段と、
前記電子ファイルの属性情報に基づいて、前記生成手段で生成した印刷データに対する前記印刷データ変換指令に基づく前記変換手段の実行を禁止する禁止手段と、
前記禁止手段による禁止を実行した場合、前記印刷データ、及びそれに付随する前記印刷データ変換指令を前記印刷装置に送信する送信手段と
を備える。
【００１７】
上記の目的を達成するための本発明による印刷管理システムは以下の構成を備える。即ち、
印刷データを生成する情報処理装置と、該印刷データを受信する印刷装置とがネットワークを介して接続されて構成される印刷管理システムであって、
前記情報処理装置は、
指定された電子ファイルに基づいて印刷データを生成する生成手段と、
前記生成手段で生成した印刷データ、該印刷データの印刷に関するログを示す追跡用情報、及び前記電子ファイルに対応して一意に付与され、該電子ファイルが移動または変更された場合にも不変である識別情報を前記印刷装置に送信する送信手段とを備え、
前記印刷装置は、
前記情報処理装置から、前記印刷データ、前記追跡用情報及び前記識別情報を受信する受信手段と、
前記識別情報が管理装置に登録されているか否かを判断する判断手段と、
前記判断手段による判断の結果、前記識別情報が前記管理装置に登録されていると判断された場合には、前記受信手段で受信した印刷データである受信印刷データの全体に対してデータの同一性を判断するための演算関数を用いることにより得られた前記受信印刷データのデータ検証値と、前記識別情報に対応し、前記管理装置に登録されている印刷データである登録済印刷データの全体に対して前記演算関数を用いることにより得られた前記登録済印刷データのデータ検証値とを比較する第１比較手段と、
前記第１比較手段による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が異なる場合に、前記受信印刷データの各ページに対して前記演算関数を用いることにより得られた前記受信印刷データのページ毎のデータ検証値群と前記登録済印刷データの各ページに対して前記演算関数を用いることにより得られた前記登録済印刷データのページ毎のデータ検証値群とを比較する第２比較手段と、
前記判断手段による判断の結果、前記第１比較手段による比較の結果、及び前記第２比較手段による比較の結果に対応して、前記受信印刷データに関する管理情報を生成し前記管理装置に登録する登録手段とを備え、
前記登録手段は、
前記判断手段による判断の結果、前記識別情報が前記管理装置に登録されていないと判断された場合には、前記受信印刷データ、前記受信印刷データに対応する識別情報、前記受信印刷データの全体のデータ検証値、前記受信印刷データのページ毎のデータ検証値、前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記管理装置に新規登録し、
前記第１比較手段による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が同一である場合、及び前記第２比較手段による比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に完全に包含される場合には、前記受信印刷データを含まず、少なくとも前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記識別情報に関連付けて前記管理装置に登録する。
【００１８】
上記の目的を達成するための本発明による印刷管理システムは以下の構成を備える。即ち、
印刷データを生成する情報処理装置と、該印刷データを受信する印刷装置とがネットワークを介して接続されて構成される印刷管理システムであって、
前記情報処理装置は、
指定された電子ファイルに基づいて印刷データを生成する第１生成手段と、
印刷データ変換指令に基づいて、印刷データを変換する変換手段と、
前記電子ファイルの属性情報に基づいて、前記生成手段で生成した印刷データに対する前記印刷データ変換指令に基づく前記変換手段の実行を禁止する禁止手段と、
前記禁止手段による禁止を実行した場合、前記印刷データと、それに付随する前記電子ファイルの識別情報及び前記印刷データ変換指令を前記印刷装置に送信する送信手段とを備え、
前記印刷装置は、
前記情報処理装置は、前記印刷データと、それに付随する前記電子ファイルの識別情報及び前記印刷データ変換指令を前記情報処理装置から受信する受信手段と、
前記受信手段で受信した識別情報に基づいて、前記受信手段で受信した受信印刷データと、管理装置に登録されている登録済印刷データとを比較する比較手段と、
前記比較手段の比較結果に基づいて、前記受信印刷データに関する管理情報を生成する第２生成手段と、
前記第２生成手段で生成した管理情報を前記管理装置に登録する登録手段と、
前記印刷変換指令に基づいて印刷データを変換する変換手段と
を備える。
【００１９】
上記の目的を達成するための本発明による印刷装置の制御方法は以下の構成を備える。即ち、
電子ファイルに基づいて生成された印刷データを印刷するとともに、該印刷データに関する管理情報を生成する印刷装置の制御方法であって、
電子ファイルに基づいて生成された印刷データ、該印刷データの印刷に関するログを示す追跡用情報、及び前記電子ファイルに対応して一意に付与され、該電子ファイルが移動または変更された場合にも不変である識別情報を受信する受信工程と、
前記識別情報が管理装置に登録されているか否かを判断する判断工程と、
前記判断工程による判断の結果、前記識別情報が前記管理装置に登録されていると判断された場合には、前記受信工程で受信した印刷データである受信印刷データの全体に対してデータの同一性を判断するための演算関数を用いることにより得られた前記受信印刷データのデータ検証値と、前記識別情報に対応し、前記管理装置に登録されている印刷データである登録済印刷データの全体に対して前記演算関数を用いることにより得られた前記登録済印刷データのデータ検証値とを比較する第１比較工程と、
前記第１比較工程による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が異なる場合に、前記受信印刷データの各ページに対して前記演算関数を用いることにより得られた前記受信印刷データのページ毎のデータ検証値群と前記登録済印刷データの各ページに対して前記演算関数を用いることにより得られた前記登録済印刷データのページ毎のデータ検証値群とを比較する第２比較工程と、
前記判断工程による判断の結果、前記第１比較工程による比較の結果、及び前記第２比較工程による比較の結果に対応して、前記受信印刷データに関する管理情報を生成し前記管理装置に登録する登録工程とを備え、
前記登録工程は、
前記判断工程による判断の結果、前記識別情報が前記管理装置に登録されていないと判断された場合には、前記受信印刷データ、前記受信印刷データに対応する識別情報、前記受信印刷データの全体のデータ検証値、前記受信印刷データのページ毎のデータ検証値、前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記管理装置に新規登録し、
前記第１比較工程による比較の結果、前記受信印刷データの全体のデータ検証値と前記登録済印刷データの全体のデータ検証値が同一である場合、及び前記第２比較工程による比較の結果、前記受信印刷データのページ毎のデータ検証値群が前記登録済印刷データのページ毎のデータ検証値群に完全に包含される場合には、前記受信印刷データを含まず、少なくとも前記受信印刷データの追跡用情報を含む管理情報を生成し、生成された管理情報を前記識別情報に関連付けて前記管理装置に登録する。
【００２０】
上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
印刷装置に出力する印刷データを生成する情報処理装置の制御方法であって、
指定された電子ファイルに基づいて印刷データを生成する生成工程と、
印刷データ変換指令に基づいて、印刷データを変換する変換工程と、
前記電子ファイルの属性情報に基づいて、前記生成工程で生成した印刷データに対する前記印刷データ変換指令に基づく前記変換工程の実行を禁止する禁止工程と、
前記禁止工程による禁止を実行した場合、前記印刷データ、及びそれに付随する前記印刷データ変換指令を前記印刷装置に送信する送信工程と
を備える。
【００２２】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
印刷装置に出力する印刷データを生成する情報処理装置の制御をコンピュータに実行させるためのプログラムであって、
指定された電子ファイルに基づいて印刷データを生成する生成工程と、
印刷データ変換指令に基づいて、印刷データを変換する変換工程と、
前記電子ファイルの属性情報に基づいて、前記生成工程で生成した印刷データに対する前記印刷データ変換指令に基づく前記変換工程の実行を禁止する禁止工程と、
前記禁止工程による禁止を実行した場合、前記印刷データ、及びそれに付随する前記印刷データ変換指令を前記印刷装置に送信する送信工程と
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、追跡用に管理する印刷データについての管理コストを低減することができる印刷装置及びそれらの制御方法、印刷管理システム、プログラムを提供できる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２５】
＜実施形態１＞
上述のように、市場の運用コストを下げたいという要望のもと、記憶容量低減の問題を解決しようとすると、プリンタ上に新たな処理、しかもプリンタに搭載された組み込みＪａｖａ（登録商標）用プラットフォームで実現できる小さな処理を追加するのが適している。
【００２６】
そこで、実施形態１では、プリンタ上で印刷要求を受け付ける「ＪＡ  Ａｇｅｎｔ」で、印刷データ格納の必要性を判定し、印刷データの検索に本当に必要なデータだけに絞り込んで格納する。これにより、１印刷ジョブあたりの格納データサイズを小さくすることが可能となる。
【００２７】
特に、実施形態１では、基本的に同じファイルを複数回印刷した場合は、２度目以降の印刷時に同じ印刷データを格納する必要がないことに着目している。
【００２８】
ここで、印刷対象のファイルが２度目であるか否かを判定するために、Ｗｉｎｄｏｗｓ（登録商標）２０００以降のＮＴＦＳファイルシステムで各ファイルに対して付加されるようになった、一意なオブジェクト識別番号を使用する。このオブジェクト識別番号は、Ｏｂｊｅｃｔ  Ｉｄｅｎｔｉｆｉｅｒと呼ばれるものであり、以下、ＯＩＤと略称する。
【００２９】
このファイル識別情報として機能するＯＩＤは、ファイル名を変更したり、ローカルＨＤＤの中でファイルの場所を移動したり、同じドメインに属するＰＣやサーバ間でファイルを移動したりしても、不変であるという特徴を有している。また、ファイルの内容を変更しても、ＯＩＤは不変である。そのため、あるＯＩＤを持つ１つのファイルを異なる時点で印刷したときに生成される二つの印刷データは、同一である可能性が高く、また変更されていたとしても二つの差異は小さいと考えられる。
【００３０】
そこで、ＯＩＤによりファイルの同一性を判定して、ファイル管理に必要とする記憶容量を節約する構成について説明する。
【００３１】
図１Ａは本発明の実施形態１の印刷管理システムの構成を示す図である。
【００３２】
図１Ａでは、印刷管理システムは、複数のファイルサーバ、複数のクライアントＰＣ、複数のプリンタ、複数のプリンタ、及びデータベース（ＤＢ）サーバがネットワークを介して相互に接続されて構成されている例を示している。但し、構成は、これに限定されるものではなく、それぞれの機器が任意台数で構成されている場合もある。
【００３３】
１００は、各ファイルにＯＩＤを関連付ける機能を有するファイルサーバである。例えば、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）２０００のファイルシステムであるＮＴＦＳ  ｖ５でフォーマットされたＨＤＤを共有フォルダとして開放している場合を想定している。１０１はファイルサーバ１００上に保存された電子文書ファイルであり、ファイルサーバ１００が提供するＯＩＤと関連付けられている。
【００３４】
１０２はクライアントＰＣである。このクライアントＰＣ１０２とファイルサーバ１００は同じドメインに属している。同じドメインに属しているコンピュータ間のファイルの移動では、ＯＩＤが維持されるため、特に、複数人でファイルサーバの領域を共有し、１つのファイルを使って共同作業をしている場合でもオリジナル・ファイルの識別が容易である。
【００３５】
１０３はクライアントＰＣ１０２上で動作するアプリケーションであり、電子文書ファイル１０１を開き、編集したり、表示したり、印刷することができる。１０４はプリンタドライバである。プリンタドライバ１０４は、アプリケーション１０３の印刷要求に基づき、汎用的な描画命令をプリンタ独自の描画命令に翻訳して印刷データ１０５を生成する。この印刷データ１０５は、例えば、複数ページのデータを含んでいて、Ａ４サイズの印刷で通常数百キロバイトから数メガバイトになる。
【００３６】
１０６はプリンタあるいは複合機である。このプリンタ１０６は、内部に組込用Ｊａｖａ（登録商標）仮想マシン（Ｊａｖａ（登録商標）２  Ｍｉｃｒｏ  Ｅｄｉｔｉｏｎ、以下、Ｊ２ＭＥ）を搭載していて、Ｊａｖａ（登録商標）で作成した小規模なアプリケーションを実行できるようになっている。１０７はＪ２ＭＥによって作成されたＪａｖａ（登録商標）アプリケーション（ＪＡクライアント）であり、ここでは、ＪＡ  Ａｇｅｎｔと呼んでいる。ＪＡ  Ａｇｅｎｔ１０７は、印刷データとその追跡用情報を、ＪＡサーバとして機能するＤＢサーバ１０８に送信する。
【００３７】
１０８はデータベース（ＤＢ）サーバであり、ここでは、データベースサーバとその格納領域をまとめて表している。ＤＢサーバ１０８は、ＪＡ  Ａｇｅｎｔ１０７から受信した印刷データを検索しやすいように加工する。そして、印刷データと検索用データと印刷ログ情報（追跡用情報）をまとめて管理情報（基本データ）１０９として、データベース（ＤＢ）に格納する。１１０はプリンタ１０６で印刷された実際の印刷物である。
【００３８】
上述のように、図１Ａに示す印刷管理システムでは、プリンタ１０６とクライアントＰＣ１０２とが通信可能な所定のネットワーク（ＬＡＮ等）を介して接続されて構成されている。実施形態１では、クライアントＰＣ１０６で生成された印刷データ（例えば、ＰＤＦ／ＰＳ等の各種ＰＤＬ（ページ記述言語）データ）を、ネットワークを介してプリンタ１０６へ出力して、印刷することが可能である。
【００３９】
尚、プリンタ１０６とクライアントＰＣ１０２は、ネットワークを介して接続されている必要はなく、プリンタ１０６とクライアントＰＣ１０２が所定インタフェース（例えば、ＵＳＢインタフェース）を介して直接接続されていても良い。
【００４０】
次に、実施形態１に適用するに好適なプリンタ１０６として、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：マルチファンクション周辺機器）の構成について、図１Ｂを用いて説明する。
【００４１】
尚、実施形態１に適用するプリンタ１０６は、ＭＦＰに限定されるものではなく、レーザビームプリンタ及びインクジェットプリンタ等の他のプリント方式の印刷装置でも良いことは言うまでもない。
【００４２】
ここで、ＭＦＰは、自装置内部に複数のジョブを記憶可能なハードディスク等の記憶装置を具備している。また、例えば、スキャナ部から出力されたジョブに対し、その記憶装置を介してプリンタ部でプリント可能にするコピー機能を具備している。また、ＰＣ（パーソナルコンピュータ）等の外部装置から出力されたジョブに対し記憶装置を介してプリンタ部でプリント可能にするプリント機能を具備している。このように、ＭＦＰは、これらの機能を含む複数の機能を具備している。
【００４３】
ＭＦＰには、フルカラー機器とモノクロ機器があり、色処理機能や内部データ等を除いて、基本的な部分においては、フルカラー機器がモノクロ機器の構成を包含することが多い。そのため、ここでは、フルカラー機器に絞って説明し、必要に応じて随時モノクロ機器の説明を加えることとする。
【００４４】
また、実施形態１で説明するシステムは、複数の機能を具備した複合機能型の画像形成装置（印刷装置）と、プリント機能のみを具備した単一機能型の画像形成装置（印刷装置）であるＳＦＰを具備する構成でも良い。あるいは、いずれか一方の型の画像形成装置のみを具備する構成でも良い。また、何れのタイプの画像形成装置であっても、複数台具備する構成でも良い。いずれにしても、実施形態１の制御が実現可能な構成であればよい。
【００４５】
尚、ＳＦＰとは、Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：単一機能周辺機器の略称である。
【００４６】
次に、プリンタ１０６の主要な内部構成について、図１Ｂを用いて説明する。
【００４７】
図１Ｂは本発明の実施形態１のプリンタの主要な内部構成を示すブロック図である。
【００４８】
図１Ｂにおいて、プリンタ１０６は、大きく分けてフォーマッタ制御部１１００、パネル入出力制御部１０２０、データ記憶部１０３０、プリンタインタフェース（Ｉ／Ｆ）１２００、出力制御部１３００、プリンタエンジン部１４００より構成されている。
【００４９】
プリンタＩ／Ｆ１２００は、外部装置との入出力を制御する。フォーマッタ制御部１１００は、プロトコル制御部１１０１、受信データ解析部１１０２、ＪＯＢ（ジョブ）生成部１１０３、ＰＤＬ解析部１１０４、データ描画部１１０５及びページメモリ１１０６より構成されている。
【００５０】
尚、一般的には、フォーマッタ制御部１１００は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有するコンピュータシステムによって構成されている。また、図１ＡのＪＡ  Ａｇｅｎｔ１０７を含む各種アプリケーションを実現するためのプログラムは、フォーマッタ制御部１１００内のＲＯＭに記憶され、ＣＰＵによって読出されることでその機能が実現される。
【００５１】
フォーマッタ制御部１１００において、プロトコル制御部１１０１は、ネットワークプロトコルを解析・送信することによって外部との通信を行なう。受信データ解析部１１０２は、クライアントＰＣ１０２からの受信データを解析して、設定されている印刷設定情報と、それに対応する処理内容を認識する。
【００５２】
また、受信データ解析部１１０２では、受信データに対して、後述する処理（図２Ａ及び図２Ｂ）を実行して、必要なデータを、適宜、ＤＢサーバ１０８へ送信する。
【００５３】
尚、クライアントＰＣ１０２からの受信データは、追跡用情報が付加された印刷データから構成されている。ここで、追跡用情報は、例えば、クライアントＰＣ１０２上のプリンタドライバ１０４によって生成され、印刷データに付加される。
【００５４】
ＪＯＢ生成部１１０３は、処理対象の受信データに対応するＪＯＢ（印刷ジョブ）を生成する。そして、この生成したＪＯＢは、データ記憶部１０３０に一旦記憶する。パネル入出力制御部１０２０は、ジョブ状況等の操作画面をプリンタ１０６の操作部１５００に出力することができる。
【００５５】
ＰＤＬ解析部１１０４は、データ記憶部１０３０に記憶されているＪＯＢによりＰＤＬデータを解析し、より処理しやすい形式の中間データに変換する。ＰＤＬ解析部１１０４において生成された中間データは、データ描画部１１０５に渡されて処理される。データ描画部１１０５は、中間データをビットマップデータに展開し、展開されたビットマップデータはページメモリ１１０６に逐次描画されて行く。
【００５６】
パネル入出力制御部１０２０は、プリンタ１０６の操作部１５００からの入出力を制御する。データ記憶部１０３０は、受信データやＰＤＬ印刷のための中間データを蓄えるものであり、例えば、ハードディスク等の二次記憶装置によって実現される。また、データ記憶部１０３０は、各種データ、印刷対象のジョブや印刷済のジョブを記憶する。
【００５７】
出力制御部１３００は、ページメモリ１１０６の内容を画像信号に変換処理し、プリンタエンジン部１４００へ画像転送を行なう。プリンタエンジン部１４００は、受信した画像信号を記録紙に永久可視画像形成するための印刷機構部である。
【００５８】
次に、コンピュータ等の情報処理装置によって実現される、ファイルサーバ１０１、クライアントＰＣ１０２、データベースサーバ１０８の構成について、図１Ｃを用いて説明する。
【００５９】
図１Ｃは本発明の実施形態１の情報処理装置の構成を示すブロック図である。
【００６０】
図１Ｃにおいて、１はＣＰＵ、即ち、中央処理装置であり、情報処理装置全体の制御及び演算処理を行う。２はＲＡＭ、即ち、ランダムアクセスメモリであり、処理毎にそれぞれのプログラム及びデータがロードされ、実行される領域である。３はＲＯＭ、即ち、読出専用メモリであり、システム制御プログラムや、フォントデータ等の記憶領域である。
【００６１】
４はキーボード制御部（キーボードコントローラ：ＫＢＣ）であり、ＫＢ（キーボード）５からのキー入力によりデータを受け取りＣＰＵ１へ伝達する。６はプリンタ制御部（プリンタコントローラ：ＰＲＴＣ）であり、ＰＲＴ（プリンタ）７を制御するためのものである。ＰＲＴ７は、ＭＦＰ、レーザビームプリンタ、インクジェットプリンタ等である。
【００６２】
８はディスプレイ制御部（ディスプレイコントローラ：ＤＣ）であり、ディスプレイ装置（ＣＲＴ）９への表示制御を行う。１０はディスク制御部（ディスクコントローラ：ＤＫＣ）であり、データ伝送等の制御を行うものである。
【００６３】
１１はＦＤ（フロッピー（登録商標）ディスク装置）、ＨＤ（ハードディスク装置）、ＣＤ（ＣＤＲＯＭ）あるいはＤＶＤ（ＤＶＤＲＯＭ）等の外部記憶装置である。この外部記憶装置１１には、アプリケーション、プリンタドライバ等の各種プログラム及びデータを記憶させておき、実行時必要に応じて参照またはＲＡＭ２へロードする。１２はシステムバスであり、上述の構成要素間におけるデータ転送の通路となるべきものである。
【００６４】
尚、外部記憶装置１１には、プリンタ１０６への印刷に関する制御を実行し、かつプリンタ１０６に出力する印刷データに対する各種印刷設定を行うための印刷設定画面を表示するプリンタドライバを記憶している。
【００６５】
情報処理装置は、基本Ｉ／Ｏ（入出力）プログラム、ＯＳ（オペレーティングシステム）をＣＰＵ１が実行することにより動作する。
【００６６】
基本Ｉ／ＯプログラムはＲＯＭ３に記憶されており、ＯＳは外部記憶装置１１に書き込まれている。そして、クライアントＰＣ１０２の電源がＯＮにされたとき、基本Ｉ／Ｏプログラム中のＩＰＬ（イニシャルプログラムローディング）機能により外部記憶装置１１からＯＳがＲＡＭ２に読み込まれ、ＯＳの動作が開始される。また、ユーザは、印刷を実行する際には、プリンタドライバによって表示される印刷設定画面を介して、プリンタに関する各種設定を行うことができる。
【００６７】
次に、実施形態１の処理手順の内、主な部分であるＪＡ  Ａｇｅｎｔ１０７が実行する処理について、図２Ａ及び図２Ｂを用いて説明する。
【００６８】
図２Ａ及び図２Ｂは本発明の実施形態１のＪＡ  Ａｇｅｎｔが実行する処理を示すフローチャートである。
【００６９】
ステップＳ２００で、クライアントＰＣ１０２のプリンタドライバ１０４から、文書ファイルのＯＩＤを含む印刷データ及び、その印刷データの追跡用情報を受信する。
【００７０】
ステップＳ２０１で、受信データに関して、前処理を実行する。
【００７１】
この前処理の詳細について、図２Ｂを用いて説明する。
【００７２】
ステップＳ２０１ａで、印刷データ全体のハッシュ値を計算する。
【００７３】
ステップＳ２０１ｂで、印刷データのページ毎のハッシュ値を計算する。
【００７４】
ステップＳ２０１ｃで、追跡用情報にデバイス固有の情報を追加する。
【００７５】
尚、追跡用情報は、例えば、その印刷データに関する印刷ログ情報（ユーザ名、アプリケーション名、日付、デバイス名等）が含まれていても良い。また、実施形態１では、ハッシュ関数を用いてハッシュ値（データ検証値）を計算しているが、これに限定されず、ハッシュ関数に代表される、データの同一性を判断することができる演算関数（データ検証用関数）であればどのようなものでも良い。
【００７６】
図２Ａの説明に戻る。
【００７７】
ステップ２０２で、受信したＯＩＤが登録済であるか否かを判定する。具体的には、ＤＢサーバ１０８に、受信したＯＩＤがＤＢ上に登録済みであるか否かを問い合わせる。
【００７８】
ステップＳ２０３で、ＯＩＤが未登録である場合、受信した印刷データ全体のハッシュ値と、ページ毎のハッシュ値を計算し、ＯＩＤと、印刷データと、ハッシュ値（全体）と、ハッシュ値（各ページ）と、追跡用情報を生成する。そして、これらを相互に関連付けた情報を基本データとして、ＤＢサーバ１０８のＤＢに登録し、処理を終了する（ケースＩ：初登録の場合）。
【００７９】
ステップＳ２０４で、受信したＯＩＤが登録済である場合、受信した印刷データの全体ハッシュ値と、登録済の印刷データの全体ハッシュ値とを比較する。
【００８０】
ステップＳ２０５で、両者の全体ハッシュ値が同一である場合、追跡用情報のみを既ＯＩＤに関連付けて、ＤＢサーバ１０８のＤＢに追加登録し、処理を終了する（ケースＩＩ：完全一致）。
【００８１】
ステップＳ２０６で、全体ハッシュ値が異なる場合、受信した印刷データのページ毎のハッシュ値と、登録済の印刷データのページ毎のハッシュ値とを比較する。この比較では、登録済の印刷データのページ毎のハッシュ値集合に、受信した印刷データのページ毎のハッシュ値群が完全に含まれるか否かを調べる。ここで、登録済の印刷データのページ毎のハッシュ値集合に、受信した印刷データのページ毎のハッシュ値群が完全に含まれる場合は、受信した印刷データが登録済の印刷データの部分印刷であることがわかる。
【００８２】
ステップＳ２０７で、登録済の印刷データのページ毎のハッシュ値集合に、受信した印刷データのページ毎のハッシュ値群が完全に含まれる場合、既登録ＯＩＤに関連付けて、ページ包含情報と、追跡用情報とをＤＢサーバ１０８のＤＢに追加登録する。そして、処理を終了する（ケースＩＩＩ：部分印刷）。
【００８３】
ステップＳ２０８で、登録済の印刷データのページ毎のハッシュ値集合に、受信した印刷データのページ毎のハッシュ値群が完全に含まれない場合、受信した印刷データ（新印刷データ）と登録済の印刷データ（旧印刷データ）の差分を計算する。
【００８４】
ステップＳ２０９で、既登録ＯＩＤに関連付けて、新印刷データと、そのハッシュ値（全体）及びハッシュ値（ページ毎）と、追跡用情報と、新印刷データから旧印刷データを復元するための差分印刷データと、ＤＢサーバ１０８のＤＢに登録する。
【００８５】
ステップＳ２１０で、旧印刷データを削除する。ここでの削除は、ＪＡ  Ａｇｅｎｔ１０７からＤＢサーバ１０８から該当する旧印刷データを削除する。あるいは、その削除依頼をＤＢサーバ１０８へ依頼して、ＤＢサーバ１０８によって削除してもらうことを意味する。そして、削除が完了すると、処理を終了する（ケースＩＶ：更新文書の印刷）。
【００８６】
尚、図２Ａの処理において、ＤＢサーバ１０８のＤＢへの登録とは、ＪＡ  Ａｇｅｎｔ１０７がＤＢサーバ１０８のＤＢに対象とするデータを登録することを意味する。あるいは、その登録依頼をＤＢサーバ１０８へ依頼して、ＤＢサーバ１０８によって登録してもらうことを意味する。
【００８７】
次に、従来のデータ保存形式について、図３を用いて説明する。
【００８８】
図３は従来のデータ保存形式を示す図である。
【００８９】
３００はクライアントＰＣ１０２より送信された印刷データ１つ分である。３０１は印刷データ３００とともに送信された追跡用情報であり、追跡用情報は印刷データ３００と関連付けて保存される。３０２は印刷データ３００の直後に格納された別の印刷データである。このように、従来の方法では、印刷データと追跡用情報を関連付けて保存するが、印刷データ間の関係については、受信順に保存していく以外の関連性を考慮した保存は実行していない。そのために、すべての印刷データのサイズ分だけ、記憶容量が必要になる。
【００９０】
次に、実施形態１の構成における、ＤＢサーバ１０８上でのデータ保存形式について説明する。
【００９１】
ケースＩ：初登録の場合のデータ保存形式を図４に示す。
【００９２】
４００はクライアントＰＣ１０２より送信された印刷データに対応する電子文書ファイルのＯＩＤである。４０１は印刷データ全体の全体ハッシュ値であり、ＯＩＤ４００に関連付けて格納する。４０２はクライアントＰＣ１０２より送信された印刷データ１つ分であり、全体ハッシュ値４０１に関連付けて格納する。４０３は印刷データ４０２の各ページのハッシュ値群であり、全体ハッシュ値４０１に関連付けて格納する。
【００９３】
４０４は印刷データ４０２とともにプリンタ１０６から送信された追跡用情報であり、全体ハッシュ値４０１に関連付けて保存する。４０５はＯＩＤ４００（ＯＩＤ＃１）とは別のＯＩＤであり、ＯＩＤ４００（ＯＩＤ＃１）の後にＤＢサーバ１０８が受信したものである。尚、図では省いているが、ＯＩＤ４０５についても、４０１〜４０４と同等の構造を持っている。
【００９４】
ケースＩＩ：完全一致の場合のデータ保存形式を図５に示す。
【００９５】
この場合は、ファイルサーバ１０１上あるいはクライアントＰＣ１０２のローカルＨＤＤ上にあって過去に印刷されたことがあり、なおかつその印刷以降変更されていない電子文書ファイルを再度印刷した場合に相当する。ここで、図４と同じ構成については、説明を省略する。
【００９６】
図４の構成と異なる点は、図５に示すように、全体ハッシュ値４０１に対して新たに追跡用情報５００が追加された点である。この場合では、既登録のＯＩＤを持ち、印刷データの全体ハッシュ値が同一であるため、全体ハッシュ値に関連付けて追跡用情報が追加されるだけで、他に増加するデータはない。
【００９７】
また、このケースＩＩでは、再印刷の場合だけでなく、複数部数の印刷の場合に印刷データを指定部数分だけ送信する印刷ロジックを持つアプリケーションの印刷に対しても当てはまり、その場合でも、有効に記憶容量を節約することができる。
【００９８】
ケースＩＩＩ：部分印刷の場合のデータ保存形式を図６に示す。
【００９９】
この場合は、ファイルサーバ１０１上あるいはクライアントＰＣ１０２のローカルＨＤＤ上にあって過去に印刷されたことがあり、なおかつその印刷以降変更されていない電子文書ファイルを部分的に再印刷した場合に相当する。あるいは、変更されたけれども変更されていない箇所だけを再印刷した場合に相当する。ここで、図５と同じ構成については、説明を省略する。
【０１００】
図５の構成と異なる点は、図６に示すように、全体ハッシュ値４０１に対して新たに追加された追跡用情報５００に関連付けて、部分情報（ページ包含情報）６００が追加された点である。この場合では、既登録のＯＩＤを持つが、印刷データの全体ハッシュ値は異なるため、ページ毎のハッシュ値をすべて比較する。その結果、今回のページ毎のハッシュ値が、既登録のページ毎のハッシュ値に完全に包含されるのであれば、印刷データもページ単位では寸分たがうことなく完全に包含されている。そのため、追加で印刷データを格納する必要はない。必要な追加情報は、今回は何ページ目が印刷されたのか、という情報のみである。これを部分情報と呼び、今回の追跡用情報と関連付けて格納する。
【０１０１】
ここで、図７に、「ページ毎のハッシュ値が完全に包含される」場合のページ番号とハッシュ値との関係（部分情報）の一例を示す。この図７の上の例は、ケースＩＩＩ：部分印刷にあたる。下の例は、完全には包含していないので、次に説明するケースＩＶ：更新文書の印刷にあたる。
【０１０２】
ケースＩＶ：更新文書の印刷のデータ保存形式を図８に示す。
【０１０３】
この場合は、ファイルサーバ１０１上あるいはクライアントＰＣ１０２のローカルＨＤＤ上にあって過去に印刷されたことがあり、その印刷後に変更された電子文書ファイルを印刷した場合に相当する。あるいは、変更の有無に関わらず前回印刷とは異なる部分を印刷した場合に相当する。この場合、ＯＩＤは一致するものの、全体ハッシュ値が異なり、ページ毎ハッシュ値も包含関係にないことから、このケースであると判定できる。
【０１０４】
この場合、新規登録の場合と同じ、４０１〜４０４に相当する、全体ハッシュ値、印刷データ、ページ毎ハッシュ値群、追跡用情報の４個を８０１〜８０４のようにＯＩＤ４００に関連付けて登録する。今後は、新しい印刷データ８０２のほうが多く印刷されてくると考えられるので、印刷データ８００をそのままの形式で保持しておくのは記憶領域の無駄と考えられる。そこで、印刷データ８０２と８００の差分をとって、印刷データ８０２から８００を復元するために必要な差分情報だけを、差分印刷データ８０５として保存し、印刷データ８００は最終的に削除する。もし、印刷データ８００が必要となる場合は、印刷データ８０２と差分印刷データ８０５より復元して使用する。
【０１０５】
以上説明したように、実施形態１によれば、印刷データに付与されている識別情報に基づいて、印刷データの同一性及び類似性を判定し、その判定結果に基づいて、印刷データのサーバへの格納の必要性、及び格納データサイズを縮小する。
【０１０６】
これにより、サーバで管理する記憶資源を有効活用することができるとともに、より有意な情報のみを効率的に管理することが可能となる。
【０１０７】
＜実施形態２＞
実施形態１の構成を実現する場合は、同じ電子文書ファイルからの印刷が同じ印刷データを生成することが望ましい。しかしながら、プリンタドライバとともに動作する「ページ・エディタ」は、ＰＣ上で論理ページを物理ページに対して面付けする機能を持ち、１つの文書ファイルに対して異なる印刷データを生成することが可能である。
【０１０８】
具体的な例を図９を用いて説明する。
【０１０９】
９００はファイルサーバであり、ＮＴＦＳ  ５のようなファイル毎にＯＩＤを関連付けて記憶するファイルシステムを採用している。９０１は電子文書ファイルであり、機密文書で印刷時にその履歴をとることが、配置されているフォルダのフォルダ名やアクセス権限で明示されているものとする。
【０１１０】
９０２は電子文書ファイル９０１のＯＩＤである。９０３はクライアントＰＣであり、ファイルサーバ９００にネットワークを介して接続されており、ユーザのアクセス権限が十分であれば、ファイルサーバ９００上のファイルを自由に閲覧、印刷できる。
【０１１１】
９０４は電子文書ファイル９０１を解釈し、表示、編集、印刷できるアプリケーションと印刷時にその内容をプリンタが解釈できる言語（ＰＤＬ）に変換するプリンタドライバである。９０５はページ・エディタ（Ｐａｇｅ  Ｅｄｉｔｏｒ、以下、Ｐ−Ｅｄｉｔ）と呼ばれるものであり、印刷時のユーザ指示に基づき、プリンタドライバが出力したＰＤＬを変換する機能を有する。
【０１１２】
９０６はユーザがＰ−Ｅｄｉｔ９０５に指示した印刷データ変換指令である。ここでは、２ｉｎ１といって、２ページ分の内容をそれぞれ面積比で５０％に縮小して１ページの紙面にまとめる指示を表している。９０８はその指示９０６の結果、１物理ページにまとめられた２論理ページから構成される印刷データを表している。一方、９０７は比較のために、指示９０６がない場合に２物理ページで構成された印刷データを表している。
【０１１３】
９０９はプリンタであり、このプリンタは、Ｊ２ＭＥを解析・実行する機能（ＪＡＶＡ（登録商標）プラットホーム）を有し、様々な機能を容易に機能拡張できるようになっている。
【０１１４】
９１０はＪＡＶＡ（登録商標）プラットホーム上で動作するアプリケーション（ＪＡ  Ａｇｅｎｔ）であり、受信した印刷データに対して実施形態１で説明した処理を実現する。
【０１１５】
ここで、クライアントＰＣから印刷データ９０７及び９０８を受信した場合に、両者が同じＯＩＤを持ち、かつその内容が変更されていないにも関わらず、印刷設定により、異なる印刷データが生成されることになる。その結果、ＯＩＤが同じであっても、両者の全体ハッシュ値は異なり、ページ毎のハッシュ値群が包含関係にないことから、このような状況の場合は、実施形態１のケースＩＶと判定される。そのため、このような状況の場合は、同一の内容であるにも関わらず、両者の印刷データを管理するための記憶容量の大幅な削減を達成しにくい。
【０１１６】
そこで、実施形態２では、Ｐ−Ｅｄｉｔ９０５の動作タイミングを変更することで、格納対象の印刷データの類似性を高めて、記憶容量が効率よく節約される構成を実現する。以下、図９の構成に対して新たに機能が追加された実施形態２の構成について、図１０を用いて説明する。
【０１１７】
図１０は本発明の実施形態２の印刷管理システムの構成を示す図である。
【０１１８】
１０００は電子文書ファイルである。この組織においては、印刷履歴を格納すべき電子文書ファイルは、例えば、すべて「機密」という文字を含むフォルダに配置することになっている。そして、この電子文書ファイル１０００も、そのフォルダに配置されているファイルであるとする。
【０１１９】
１００１は電子文書ファイルを印刷するためのアプリケーションとプリンタドライバである。ここでは、実施形態２に基づく機能追加がなされている。それは、印刷対象ファイルの属性等の条件により、その印刷対象ファイルが印刷履歴格納対象ファイルであるか否かを判定する。そして、判定の結果、印刷履歴格納対象ファイルである場合、クライアントＰＣ上のＰ−Ｅｄｉｔ１００２を無効化して、印刷データと印刷データ変換指令を直接、ＪＡ  Ａｇｅｎｔ１００５に送信する。この場合、印刷履歴格納の条件として、配置されているフォルダが「機密」という文字列を含むことがプリンタドライバに設定されている。
【０１２０】
Ｐ−Ｅｄｉｔ１００２は、印刷履歴格納対象ファイルを受け取ったプリンタドライバからの指示により無効化される（処理の実行を禁止する）。そのため、通常であれば、プリンタドライバが印刷スプーラに出力した印刷データを自動的に取得して印刷データ変換処理を実施するのであるが、この場合は実施しない。そのため、この場合には、印刷データ変換処理が実行されない状態の印刷データ１００３がプリンタに送信されることになる。つまり、印刷履歴格納対象ファイルであれば、Ｐ−Ｅｄｉｔ１００２に、予め２ｉｎ１等の印刷データ変換指令が設定されているか否かに関係なく、常に印刷変換データ処理は禁止される。
【０１２１】
その代り、プリンタドライバは、印刷データ１００３とともに、対応する印刷データ変換指令１００４をプリンタに送信する。図９に示すような、従来の構成では、ユーザが特別に指示しない限りは、クライアントＰＣ上のＰ−Ｅｄｉｔ１００６で印刷データ変換処理が実施されていたので、印刷データ変換指令がプリンタに送信されることは稀である。これに対して、実施形態２の構成では、印刷対象ファイルが印刷履歴格納対象ファイルであれば、その印刷データ変換指令が自動的にプリンタに送信されることになる。そのため、実施形態２では、この印刷データ変換指令を解釈して、印刷データ変換処理を実現するために、クライアントＰＣと同等のＰ−Ｅｄｉｔ１００６が搭載されることになる。
【０１２２】
印刷データ１００３及び印刷データ変換指令１００４を受信したプリンタは、ＪＡ  Ａｇｅｎｔ１００５によって、実施形態１で説明した処理を実行する。但し、印刷データに付随して印刷データ変換指令が送信されてきた場合には、実施形態１で説明した処理を実行した後に、Ｐ−Ｅｄｉｔ１００６を有効化する。そして、印刷データに対して印刷データ変換処理を実行した上で、その印刷データを実際に印刷する。これにより、ユーザから見た出力印刷物は変化せず、意図する出力結果を得ることができる。
【０１２３】
以上説明したように、実施形態２によれば、実施形態１で説明した効果に加えて、ユーザが意図する印刷出力を満足しながら、印刷履歴格納対象ファイルの記憶容量を節約することができる。
【０１２４】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２５】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１２６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１２７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１２８】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１２９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１３０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１３１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１３２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１３３】
【図１Ａ】本発明の実施形態１の印刷管理システムの構成を示す図である。
【図１Ｂ】本発明の実施形態１のプリンタの主要な内部構成を示すブロック図である。
【図１Ｃ】本発明の実施形態１の情報処理装置の構成を示すブロック図である。
【図２Ａ】本発明の実施形態１のＪＡ  Ａｇｅｎｔが実行する処理を示すフローチャートである。
【図２Ｂ】本発明の実施形態１のＪＡ  Ａｇｅｎｔが実行する処理を示すフローチャートである。
【図３】従来のデータ保存形式を示す図である。
【図４】本発明の実施形態１のデータ保存形式を示す図である。
【図５】本発明の実施形態１のデータ保存形式を示す図である。
【図６】本発明の実施形態１のデータ保存形式を示す図である。
【図７】本発明の実施形態１のページ番号とハッシュ値との関係（部分情報）の一例を示す図である。
【図８】本発明の実施形態１のデータ保存形式を示す図である。
【図９】本発明の実施形態２を説明するための図である。
【図１０】本発明の実施形態２の印刷管理システムの構成を示す図である。
【符号の説明】
【０１３４】
１００  ファイルサーバ
１０１  電子文書ファイル
１０２  クライアントＰＣ
１０３  アプリケーション
１０４  プリンタドライバ
１０５  印刷データ
１０６  プリンタ
１０７  ＪＡ  Ａｇｅｎｔ
１０８  ＤＢサーバ
１０９  基本データ
１１０  印刷物
【図１Ａ】
0004646832.tif 000002
【図１Ｂ】
0004646832.tif 000003
【図１Ｃ】
0004646832.tif 000004
【図２Ａ】
0004646832.tif 000005
【図２Ｂ】
0004646832.tif 000006
【図３】
0004646832.tif 000007
【図４】
0004646832.tif 000008
【図５】
0004646832.tif 000009
【図６】
0004646832.tif 000010
【図７】
0004646832.tif 000011
【図８】
0004646832.tif 000012
【図９】
0004646832.tif 000013
【図１０】
0004646832.tif 000014