(57)【要約】【課題】キャッシュ検索によるレンダリング処理の開始の遅れを抑制し、レンダリング処理を高速化したバリアブル印刷を行うことのできる情報処理システムを提供する。【解決手段】本発明の情報処理システムは、バリアブルデータを作成するデータ生成装置と、バリアブルデータのレンダリングを行うレンダリング装置とを備える。データ生成装置の第１のデータ保持部は、作成したバリアブルデータと、該バリアブルデータを識別するための識別情報とを紐付けて第１の対応関係として保持し、第１のデータ管理部は、所定の管理方式に基づき第１の対応関係を管理する。キャッシュ検索部は、第１の対応関係の中から所定のバリアブルデータを検索し、キャッシュヒット判定部は、第１の対応関係の中に所定のバリアブルデータが存在していた場合に、該バリアブルデータに対してレンダリングを行ったレンダリングデータがキャッシュされていると判断する。【選択図】図２
2016110495.tif 000002
【特許請求の範囲】
【請求項１】
バリアブルデータを作成する作成手段と、前記バリアブルデータのレンダリングを行うレンダリング手段と、を備える情報処理システムであって、
前記作成手段は、
作成した前記バリアブルデータと、該バリアブルデータを識別するための識別情報とを紐付けて第１の管理情報として格納し、管理する第１の管理手段と、
前記作成したバリアブルデータが前記第１の管理情報に含まれているか否かを検索し、前記作成したバリアブルデータが前記第１の管理情報に含まれていた場合に、該バリアブルデータに対してレンダリングを行ったレンダリングデータがキャッシュされていると判断する判断手段と、を備えることを特徴とする情報処理システム。
【請求項２】
前記判断手段は、前記作成したバリアブルデータが前記第１の管理情報に含まれていた場合に、該バリアブルデータに対してレンダリングを行った前記レンダリングデータがキャッシュされていると判断し、該第１の管理情報において該バリアブルデータと紐付く前記識別情報を前記レンダリング手段に送信する、ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記判断手段は、前記作成したバリアブルデータが前記第１の管理情報に含まれていなかった場合に、該バリアブルデータに対してレンダリングを行った前記レンダリングデータがキャッシュされていないと判断し、該バリアブルデータを前記レンダリング手段に送信する、ことを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記レンダリング手段は、
前記判断手段から前記バリアブルデータを受信した場合に、該バリアブルデータに対してレンダリングを行った前記レンダリングデータのアドレス情報と、前記第１の管理情報において該バリアブルデータと紐付く前記識別情報とを紐付けて第２の管理情報として格納し、管理する第２の管理情報と、
前記判断手段から前記識別情報を受信した場合に、前記第２の管理情報において該識別情報と紐付く前記アドレス情報を用いて前記キャッシュされているレンダリングデータを取得する取得手段と、を備えることを特徴とする請求項１ないし３のいずれか１項に記載の情報処理システム。
【請求項５】
前記第１の管理情報及び第２の管理情報で使用する識別情報は、予め決められた所定の個数の番号であり、
前記第１の管理手段及び第２の管理手段は、
前記識別情報に対して所定の順序で情報を紐づけ、
前記識別情報が不足した場合には、前記所定の順序に従って既に紐づけられたバリアブルデータから新たに作成したバリアブルデータを紐付け、前記第１の管理情報及び第２の管理情報を更新する、ことを特徴とする請求項１ないし４のいずれか１項に記載の情報処理システム。
【請求項６】
前記第１の管理情報は、片方向循環リスト、配列、またはハッシュテーブルのうちいずれか１つを用いて前記管理手段により管理される、ことを特徴とする請求項１ないし５のいずれか１項に記載の情報処理システム。
【請求項７】
前記第２の管理情報は、片方向循環リスト、配列、またはハッシュテーブルのうちいずれか１つを用いて前記管理手段により管理される、ことを特徴とする請求項４ないし６のいずれか１項に記載の情報処理システム。
【請求項８】
前記第１の管理手段及び第２の管理手段は、前記第１の管理情報及び第２の管理情報を更新する場合に、先に格納した前記情報を先に破棄する、ことを特徴とする請求項５ないし７のいずれか１項に記載の情報処理システム。
【請求項９】
前記第１の管理手段及び第２の管理手段は、前記判断手段により検索された回数をさらに格納し、前記第１の管理情報及び第２の管理情報を更新する場合に、前記回数が少ない情報を先に破棄する、ことを特徴とする請求項５ないし７のいずれか１項に記載の情報処理システム。
【請求項１０】
前記第１の管理手段及び第２の管理手段は、前記第１の管理情報及び第２の管理情報が格納された際のジョブ情報をさらに格納し、前記第１の管理情報及び第２の管理情報を更新する場合に、前記ジョブ情報に基づいて前記第１の管理情報及び第２の管理情報に格納されてから最も時間が経過した前記情報を先に破棄する、ことを特徴とする請求項５ないし７のいずれか１項に記載の情報処理システム。
【請求項１１】
請求項１ないし１０のいずれか１項に記載の情報処理システムの作成手段として機能する情報処理装置。
【請求項１２】
請求項１ないし１０のいずれか１項に記載の情報処理システムのレンダリング手段として機能する情報処理装置。
【請求項１３】
バリアブルデータを作成する作成工程と、前記バリアブルデータのレンダリングを行うレンダリング工程と、を備える情報処理システムの制御方法であって、
前記作成工程は、
作成した前記バリアブルデータと、該バリアブルデータを識別するための識別情報とを紐付けて第１の管理情報として格納し、管理する第１の管理工程と、
前記作成したバリアブルデータが前記第１の管理情報に含まれているか否かを検索し、前記作成したバリアブルデータが前記第１の管理情報に含まれていた場合に、該バリアブルデータに対してレンダリングを行ったレンダリングデータがキャッシュされているか否かを判断する判断工程と、を有することを特徴とする制御方法。
【請求項１４】
請求項１乃至１０のいずれか１項に記載の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理システムの制御方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、商業印刷業界では、データベースのデータのような個別に内容が変わるデータ（バリアブルデータ）を用いて、印刷するページごとに文字や図のレイアウトは同じであるが、内容は差し替えて印刷するバリアブル印刷が知られている。
バリアブル印刷では個人情報を扱うことが多いため、高い機密性を確保することが求められる。サーバのメモリ上に印刷するデータを展開しておくとサーバに侵入されたときにメモリの内容からデータを盗み出される可能性が高い。つまり、扱う情報の特性によっては、サーバのメモリ上に長期間データを保持しておくことが好ましくない場合が存在する。
【０００３】
他方、バリアブル印刷では、データベースのデータに応じて印刷内容を変えられることから、例えば、医療分野において、各患者に応じた医薬品の用量や用法を医薬品ラベルに印刷するといった使われ方がある。このとき、医薬品の製造ラインの一部としてバリアブル印刷システムが医薬品工場内に配置され、製造ラインの製造速度に合わせて印刷が行われる。このような場合には、バリアブル印刷システムにおける印刷は、高速な印刷が要求される。
【０００４】
機密性が要求されるバリアブル印刷は、印刷物に印刷された各印刷物を識別する印刷対象識別情報をバーコードリーダやＩＣリーダなどの印刷対象識別情報読み取り装置で読み取ってから印刷するまでの時間が非常に短い。
【０００５】
特許文献１は、ネットワークシステムを構成する各ノードにおいて、被管理ノードからのレコードの取得に先立って、管理ノードが被管理ノードからすべてのキーデータを取得することを開示している。また、特許文献１では、管理ノードで目的のキーデータを選択してこれを被管理ノードに転送し、このキーデータに応じたデータを取得するようにすることを開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０８−０２２４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１では、被管理ノードが管理するキーデータのリストにデータの追加や削除などの変更が発生した場合には、その変更を管理ノードに通知する必要がある。特許文献１では、すべてのキーデータを受け渡すため、キーデータのリストに変更が発生する度にすべてのキーデータの受け渡しが発生する。このため、キーデータのリストに頻繁な変更が発生した場合に、ＣＰＵリソースが多く消費されることになる。つまり、検索やキーデータの整合にＣＰＵリソースが消費されるため、バリアブル印刷においてレンダリング処理以外にＣＰＵリソースを消費しなければならない。
また、バリアブル印刷において、バリアブルデータを作成する装置とレンダリング処理を行う処理を行う装置とを備え、レンダリング処理を行ったデータをキャッシュしておく構成が考えられる。しかしながら、レンダリング処理を行う装置においてキャッシュ検索を行う構成をとると、検索にＣＰＵリソースが消費されるため、レンダリング処理以外にＣＰＵリソースを消費しなければならない。
【０００８】
本発明は、キャッシュ検索によるレンダリング処理の開始の遅れを抑制し、レンダリング処理を高速化したバリアブル印刷を行うことのできる情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態の情報処理システムは、バリアブルデータを作成する作成手段と、バリアブルデータのレンダリングを行うレンダリング手段と、を備える情報処理システムであって、作成手段は、作成したバリアブルデータと、該バリアブルデータを識別するための識別情報とを紐付けて第１の管理情報として格納し、管理する第１の管理手段と、作成したバリアブルデータが第１の管理情報に含まれているか否かを検索し、作成したバリアブルデータが第１の管理情報に含まれていた場合に、該バリアブルデータに対してレンダリングを行ったレンダリングデータがキャッシュされていると判断する判断手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明の情報処理システムによれば、キャッシュ検索によるレンダリング処理の開始の遅れを抑制し、レンダリング処理を高速化したバリアブル印刷を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る印刷システムの全体構成例を示す図である。
【図２】一実施形態に係る印刷システムの論理構成を示す図である。
【図３】データ生成装置及びレンダリング装置のハードウェア構成を示す図である。
【図４】一実施形態に係る印刷システムの処理の流れを示す図である。
【図５】一実施形態に係る印刷システムの処理の流れを示す図である。
【図６】一実施形態における印刷物の一例を示す図である。
【図７】一実施形態において保持するデータの構造を示す図である。
【図８】一実施形態において保持するデータ及び関連データの遷移を示す図である。
【図９】一実施形態において保持するデータ及び関連データの遷移を示す図である。
【図１０】一実施形態に係る印刷システムの論理構成を示す図である。
【図１１】一実施形態において保持するデータの構造を示す図である。
【図１２】一実施形態において保持するデータ及び関連データの遷移を示す図である。
【図１３】一実施形態において保持するデータ及び関連データの遷移を示す図である。
【図１４】一実施形態に係る印刷システムの論理構成を示す図である。
【図１５】一実施形態において保持するデータ及び関連データの遷移を示す図である。
【図１６】一実施形態において保持するデータ及び関連データの遷移を示す図である。
【図１７】従来の印刷システムの全体構成を示す図である。
【図１８】従来の印刷システムにおける印刷処理の流れを説明するための図である。
【図１９】印刷処理システムの処理の流れの一例を示す図である。
【発明を実施するための形態】
【００１２】
まず、本発明を実施するための形態についての説明に先立ち、時間制約のあるバリアブル印刷における課題について図１及び図１７〜図１９を用いて説明する。
図１７は、情報処理システムの一例である印刷システムの従来の全体構成例を示す図である。
搬送装置１０００は、印刷物を搬送する。ここではベルトコンベアを仮定する。印刷物１００１は、搬送装置１０００上に置かれ、移動する印刷対象の印刷物である。この印刷物には、各印刷物を識別するためのバーコード（印刷対象識別情報）が印刷されているものとする。印刷対象識別情報取得装置１００２は、印刷対象に付随した印刷対象識別情報を取得する。ここでは、印刷対象識別情報取得装置の例として、印刷物に印刷されたバーコードを読み取るバーコードリーダとする。
【００１３】
レンダリング装置１００３は、印刷対象識別情報取得装置１００２から取得した印刷対象識別情報と、後述するＤＢ（データベース）１００４に格納された印刷対象識別情報に対応するバリアブルデータとテンプレートデータとを使って印刷データを生成する。テンプレートデータとは、バリアブルデータを埋め込む雛型のデータのことである。ＤＢ（データベース）１００４は、印刷対象識別情報に対応するバリアブルデータやテンプレートデータなどのバリアブル印刷に必要なデータを格納する。ネットワーク（ＮＷ）１００５は、レンダリング装置１００３やＤＢ１００４が接続され、データをやり取りするためのネットワークである。印刷装置１００６は、レンダリング装置１００３で生成したレンダリング後印刷データ（レンダリングデータ）を印刷する。印刷物１００７は、印刷装置１００６で印刷された印刷物である。
【００１４】
図１８は、図１７に示した印刷システムにおける印刷処理の流れを説明するための図である。
印刷対象識別情報取得部２００１は、図１７における印刷対象識別情報取得装置１００２に相当し、印刷物に付随する印刷対象識別情報を取得する。レンダリング部２００２は、図１７におけるレンダリング装置１００３に相当し、印刷対象識別情報とテンプレートデータとを用いて印刷データを生成する。印刷部２００３は、図１７における印刷装置１００６に相当し、レンダリング部２００２で生成した印刷データを印刷する。
【００１５】
ステップＳ１０００において、印刷対象識別情報取得部２００１は、搬送装置上を流れてくる印刷物（図１８における印刷対象識別情報付印刷物２００４）に印刷されたバーコードを読み取り、印刷対象識別情報２００５を出力する。
ステップＳ１００１において、不図示のサーバ上の処理部は、ＤＢ１００４に格納されているテンプレートデータ２００６を読み込み、テンプレートデータ２００６に含まれるプレースホルダ（バリアブルデータを適用するための枠。以下、ＰＨと記述する）の個数、各ＰＨに設定された位置やサイズなどのＰＨのレイアウト情報、及びレンダリングインテント（色再現方法）などのＰＨ設定情報２００７を出力する。
ステップＳ１００２において、不図示のサーバ上の処理部は、ＤＢ１００４に格納されているテンプレートデータ２００６を読み込み、テンプレートデータ２００６を印刷データに変換し、レンダリング後テンプレートデータ２００８を生成する。
【００１６】
ステップＳ１００３において、レンダリング部２００２は、参照データ２００９から印刷対象識別情報２００５に対応するバリアブル元データを取得し、ＰＨ設定情報２００７に記述された設定に従ってバリアブルデータ２０１０を生成する。ここで、参照データ２００９は、印刷対象識別情報とそれに紐付く情報の対応表を指し、例えば、医薬品ラベル印刷であれば、患者ごとの識別番号に紐付く患者名、性別、年齢、及び薬品名などの患者の属性値を指す。尚、ここでは、これらの属性値をバリアブル元データと呼ぶ。また、バリアブルデータ２０１０とは、バリアブル元データに加工を施し、レンダリング直前のデータに変換されたデータを指す。例えば、バリアブル元データが文字データであれば、それにフォント、サイズ、色、及び装飾などの設定を適用したデータである。また、バリアブル元データが画像データであれば、それに拡縮、変形、及びエフェクトなどの画像処理を施したデータである。
【００１７】
ステップＳ１００４において、レンダリング部２００２は、バリアブルデータ２０１０を印刷装置が印刷可能なデータに変換し、レンダリング後バリアブルデータ２０１１を生成する。
ステップＳ１００５において、レンダリング部２００２は、レンダリング後テンプレートデータ２００８のＰＨにレンダリング後バリアブルデータ２０１１を適用し、合成後印刷データ２０１２を生成する。
ステップＳ１００６において、印刷部２００３は、合成後印刷データ２０１２を印刷し、印刷物２０１３を作成する。
【００１８】
以上の流れにより、印刷物に印刷されたバーコードに対応した情報（バリアブルデータ）が印刷された印刷物が印刷される。ここで、Ｓ１００４におけるレンダリング処理は、一般的に処理負荷が高く、処理に時間がかかる。図１７に示した構成では、１枚印刷するごとにＰＨに適用するバリアブルデータを毎回レンダリングしなければならないため、レンダリング処理以上に搬送装置１０００の搬送速度を速めることができず、生産量を上げる上でボトルネックとなっていた。
【００１９】
そこで、いかにレンダリング処理を高速化できるか、またはレンダリング処理を行わずに済ませるかが印刷システム構築において重要である。レンダリング処理の高速化については、レンダリング処理の並列化やハードウェア化などによるアプローチがなされている。一方、レンダリング処理を行わずに済ませる方法については、一度レンダリングしたデータを保持しておき再度そのバリアブルデータが出現したときに保持しておいたデータを使うというキャッシュによるアプローチが考えられる。
【００２０】
バリアブル印刷で使用されるバリアブルデータの利用頻度には大きく２つの傾向がある。１つ目は、例えば、前述の医薬品ラベル印刷であれば、個人名や個人の電話番号のように１度印刷すると再度出現することがほとんどないようなデータである。また、２つ目は、薬品名や用量、用法のように予め用意された候補の中から選択的に繰り返し出現するようなデータである。前者のデータは、再出現することがほとんどないためキャッシュしておいたとしても再利用されることがほとんど期待できない。他方、後者のデータは、繰り返し出現するためキャッシュしておき再利用することで、レンダリング処理の回数を削減することができる。このため、キャッシュを取り入れた印刷システムを考えることが有効である。本実施形態では、キャッシュを取り入れた印刷システムを考える。
【００２１】
図１は、本実施形態に係る情報処理システムの一例である印刷システムの全体構成例を示す図である。なお、図１７と同じ構成については、同一の符号を付し、説明を省略する。
データ生成装置１００８は、印刷対象識別情報に基づきバリアブルデータを生成する。レンダリング装置１００９は、データ生成装置１００８で生成したバリアブルデータをキャッシュし、必要に応じてレンダリング処理を行い、レンダリング後印刷データを生成する。図１に示す印刷システムでは、キャッシュを利用し、さらにデータ生成処理とレンダリング処理を異なるハードウェアで実行することで、レンダリング処理の高速化を図っている。
【００２２】
図１９は、図１に示す印刷システムにおける処理の流れの一例を示す図である。なお、図１８と同じ処理については、同一の符号を付し、説明を省略する。
データ生成部３０００は、参照データ２００９から印刷対象識別情報２００５に対応するバリアブル元データを取得し、ＰＨ設定情報２００７を適用し、バリアブルデータ２０１０を生成する。レンダリング部３００１は、バリアブルデータ２０１０とレンダリング後テンプレートデータ２００８とを取得し、キャッシュを利用して合成後印刷データ２０１２を生成する。キャッシュ３００２には、バリアブルデータ２０１０とそのレンダリング後バリアブルデータ２０１１とが対応付けて保持されており、所望のバリアブルデータ２０１０を入力することで、対応するレンダリング後バリアブルデータを取得することができる。
【００２３】
ステップＳ３０００において、レンダリング部３００１は、バリアブルデータ２０１０に対応するレンダリング後バリアブルデータ２０１１がキャッシュ３００２に保持されているか否かを検索する。
ステップＳ３００１において、レンダリング部３００１は、キャッシュ検索の結果、バリアブルデータ２０１０に対応する所望のレンダリング後バリアブルデータ２０１１が見つかった場合には、ステップＳ３００２に進む。他方、見つからなかった場合には、ステップＳ１００４に進む。
ステップＳ３００２において、レンダリング部３００１は、キャッシュ３００２からバリアブルデータ２０１０に対応するレンダリング後バリアブルデータ２０１１を取得する。
ステップＳ３００３において、レンダリング部３００１は、所定のキャッシュアルゴリズムに基づきキャッシュ３００２の内容を更新する。
【００２４】
このようにレンダリング後バリアブルデータをキャッシュすることによって、データを再利用することができ、レンダリング処理の回数を削減し、レンダリング装置の処理負荷を軽減することができる。
しかしながら、上記の印刷システムでは、キャッシュを検索し、所望のデータが見つからなかった場合には、その時点からバリアブルデータのレンダリング処理（ステップＳ１００４）を開始することになる。このため、所望のデータが見つからなかった場合には、キャッシュ検索の時間分だけレンダリング処理の開始が遅くなってしまう。そこで、本実施形態では、キャッシュ検索によるレンダリング処理の開始の遅れを発生させることなくレンダリング処理を行える印刷システムを提供する。
【００２５】
以下、本発明を実施するための形態について図面などを参照して説明する。
（第１実施形態）
本実施形態における印刷システムの全体構成は、図１と同一であるため、説明を省略する。
＜印刷システムの論理構成＞
図２は、本実施形態に係る印刷システムの論理構成を説明する図である。  印刷システム４０００は、印刷対象識別情報取得部１０１、解析部１０２、参照データ保持部１０３、データ生成部５０００、レンダリング部６０００、テンプレートデータレンダリング部１０５、及び印刷部２００３を備える。
印刷対象識別情報取得部１０１は、印刷対象に付随する印刷対象識別情報を取得する。解析部１０２は、テンプレートデータを解析しテンプレートデータに含まれるＰＨに関する設定情報を取得する。参照データ保持部１０３は、印刷対象識別情報とそれに紐付くバリアブル元データを保持する。データ生成部５０００は、印刷対象識別情報に基づきデータ特定情報（データ特定情報については後述する）を生成する。レンダリング部６０００は、データ特定情報に基づきテンプレートデータとバリアブルデータが合成された印刷データを生成する。テンプレートデータレンダリング部１０５は、テンプレートデータをレンダリングする。印刷部２００３は、合成された印刷データを印刷する。
【００２６】
データ生成部５０００は、１０４１〜１０４８の各モジュールを備える。バリアブルデータ生成部１０４１は、参照データから印刷対象識別情報に対応するバリアブル元データを取得し、バリアブル元データにＰＨ設定情報を適用しバリアブルデータを生成する。第１のデータ保持部１０４２は、バリアブルデータとそれに対応するレンダリング後バリアブルデータを識別する識別情報とを対応付けた第１の対応関係（第１の管理情報）を保持する第１のデータ保持部である。キャッシュ検索部１０４３は、第１の対応関係の中から所定のバリアブルデータを検索するキャッシュ検索部である。キャッシュヒット判定部１０４４は、第１の対応関係の中に所定のバリアブルデータが存在するか否かに応じて処理を振り分ける。識別情報取得部１０４５は、第１の対応関係が保持する所定のバリアブルデータに紐付く識別情報を取得する。データ特定情報生成部１０４６は、ＰＨにデータ特定情報（以下、識別情報とバリアブルデータとを包含してデータ特定情報と呼ぶ）を設定する。第１のデータ管理部１０４７は、所定の管理方式に基づき第１の対応関係を管理する。出力部１０４８は、データ特定情報を出力する。
【００２７】
レンダリング部６０００は、１０６１〜１０６７の各モジュールを備える。データ特定情報取得部１０６１は、データ特定情報を取得する。判定部１０６２は、データ特定情報を参照し、識別情報であるかバリアブルデータであるかを判定する。第２のデータ保持部１０６３は、識別情報とレンダリング後バリアブルデータの保存先を示すアドレス情報とを対応付けた第２の対応関係（第２の管理情報）を保持する。データ取得部１０６４は、第２の対応関係から所定の識別情報に対応するレンダリング後バリアブルデータを取得する。印刷データ生成部１０６５は、バリアブルデータを印刷データに変換しレンダリング後バリアブルデータを生成する。第２のデータ管理部１０６６は、所定の管理方式に基づき第２の対応関係を管理する。合成部１０６７は、レンダリング後バリアブルデータとレンダリング後テンプレートデータを合成する。
【００２８】
＜データ生成装置及びレンダリング装置のハードウェア構成＞
図３は、データ生成装置及びレンダリング装置のハードウェア構成を示す図である。
ＣＰＵ２０１は、後述する記憶装置２０６上に格納された計算機プログラムを読み込み、解釈し、実行する。さらに、後述のバス２０９を介してバスに接続されたＲＡＭ２０３やディスプレイ２０４などを制御する中央演算処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。ＲＯＭ２０２は、バスに接続されたハードウェアとの低レベルでの入出力制御を行う読み出し専用メモリ（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。ＲＡＭ２０３は、ＣＰＵ２０１が演算する際の情報を一時的に記憶するランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。ディスプレイ２０４は、ＣＰＵによる計算結果を表示する。キーボード２０５は、ユーザからの入力を受け付ける。但し、端末がスマートデバイスの場合は、タッチパネルを備えているため、キーボード２０５は付随していなくても構わない。記憶装置２０６は、計算に利用するプログラムやデータを格納する。ネットワークＩ／Ｆ２０７は、ローカルネットワークやイントラネット、インターネットなどのネットワークに接続するためのネットワークＩ／Ｆ（Ｉ／Ｆ：インターフェイス）である。ポインティングデバイス２０８は、ユーザが画面上で指定した座標を受け付けるマウスやトラックボールなどを指す。バス２０９は、上記ＣＰＵ２０１〜ポインティングデバイス２０８が接続された信号線である。
【００２９】
＜印刷処理の流れ＞
図４〜図５は、本実施形態に係る印刷システムの処理の流れを示す図である。図１８及び図１９と同じ処理については、同一の符号を付し、説明を省略する。
ステップＳ４０００において、キャッシュ検索部１０４３は、第１のキャッシュ５００１（第１の対応関係）の中から所定のバリアブルデータ２０１０を検索する。
ステップＳ４００１において、キャッシュヒット判定部１０４４は、第１の対応関係の中に所定のバリアブルデータ２０１０が存在するか否かを判定する。判定の結果、所定のバリアブルデータ２０１０が存在する場合には、ステップＳ４００２に進み、存在しない場合には、ステップＳ４００３に進む。
ステップＳ４００２において、識別情報取得部１０４５は、第１の対応関係の中から所定のバリアブルデータ２０１０に対応する識別情報５００２を取得する。
ステップＳ４００３において、データ特定情報生成部１０４６は、第１の対応関係の中に所定のバリアブルデータ２０１０が存在する場合には識別情報５００２を、存在しない場合にはバリアブルデータ２０１０を、データ特定情報５００３として生成する。
【００３０】
ステップＳ４００４において、第１のデータ管理部１０４７は、所定のキャッシュアルゴリズムに従い第１の対応関係を更新する。本実施形態では、キャッシュアルゴリズムとして、最初にキャッシュされたデータを最初に破棄するという規則で第１の対応関係を更新するものとする。更新方法の詳細については後述する。
ステップＳ４００５において、出力部１０４８は、ステップＳ４００３で生成したデータ特定情報５００３を出力し、レンダリング部６０００に送信する。
ステップＳ５０００において、レンダリング部６０００のデータ特定情報取得部１０６１は、ステップＳ４００５でデータ生成部５０００から出力されたデータ特定情報５００３を取得（受信）する。
ステップＳ５００１において、判定部１０６２は、取得したデータ特定情報５００３に格納されているデータが識別情報５００２かバリアブルデータ２０１０かを判定する。判定の結果、識別情報５００２であった場合にはステップＳ５００２に進み、バリアブルデータ２０１０であった場合にはステップＳ１００４に進む。
ステップＳ５００２において、データ取得部１０６４は、第２のキャッシュ６００１（第２の対応関係）の中から識別情報５００２に対応するレンダリング後バリアブルデータのアドレス情報を用いてレンダリング後バリアブルデータ２０１１を取得する。
ステップＳ５００３において、第２のデータ管理部１０６６は、所定のキャッシュアルゴリズムに従い第２の対応関係を更新する。
【００３１】
図６は、本実施形態における印刷物の一例を示す図である。
図６において、医薬品ラベル７０００は、医薬品を入れる容器に貼り付けられる。医薬品ラベル７０００は、各患者を識別するためのバーコード７００１、病院名７００２、患者名７００３、薬品名７００４、医薬品の用量７００５、病院の院章７００６を含む。バーコード７００１は、予め別の印刷装置によって印刷されているものとする。また、７００２から７００６は、ＰＨとして登録されていてそれぞれのＰＨに適したバリアブルデータが適用される。７００２〜７００５は文字データであり、７００６は画像データである。
【００３２】
図７は、本実施形態における第１のデータ保持部１０４２と第２のデータ保持部１０６３で保持するデータの構造を示す図である。
図７（Ａ）及び図７（Ｂ）は、それぞれ第１のデータ保持部１０４２及び第２のデータ保持部１０６３で保持するデータの構造を示している。
ノード８０００は、バリアブルデータとそれに対応する識別情報の組を保持し、ノード名、バリアブルデータの値（ここではファイル名）及び識別情報を格納する。ノード８００１〜８００３は、それぞれノードＡ、Ｂ、及びＣであり、ノードＡがＢを、ノードＢがＣを、ノードＣがＡを循環的に指し示す。検索開始ノードポインタ８００４は、ノードＡ、Ｂ、及びＣのうちどのノードからキャッシュ検索を行うかを示すポインタである。配列８００５は、識別情報とそれに対応するレンダリング後バリアブルデータとを対応付けて保持する。レンダリング後バリアブルデータ８００６〜８００８は、それぞれ配列８００５に保持されている識別情報に対応するアドレスが示すレンダリング後バリアブルデータである。配列削除番号８００９は、第２の対応関係を更新する際に、次に削除すべき配列の番号を保持する。
【００３３】
図８〜図９は、印刷システム４０００がバリアブルデータを順次取得したときの第１のデータ保持部１０４２及び第２のデータ保持部１０６３が保持するデータと関連データの遷移を示す図である。
図８（Ａ）の各表は、左から順に印刷システム４０００に入力されたバリアブルデータ、検索開始ノードポインタ、各ノード８００１〜８００３の情報、データ特定情報、配列削除番号、配列、識別情報に対応するレンダリング後バリアブルデータを表す。図８（Ｂ）〜図９（Ｃ）の各表も同様の意味である。
図８〜図９では、バリアブルデータ２０１０として画像Ａ．ｊｐｇ、Ｂ．ｊｐｇ、Ｃ．ｊｐｇ、Ａ．ｊｐｇ、Ｄ．ｊｐｇが順に要求された場合の遷移を示す。ここで、ノードＡ８００１が保持するバリアブルデータに対応するレンダリング後バリアブルデータは、配列８００５の要素１に格納するものとする。同様に、ノードＢ及びＣが保持するバリアブルデータに対応するレンダリング後バリアブルデータは、それぞれ配列８００５の要素２及び３に格納するものとする。
【００３４】
図８（Ａ）は、データが何も入ってない初期状態を示しているす。なお、初期状態では検索開始ノードポインタはノードＡとし、配列削除番号は１とする。
図８（Ｂ）は、バリアブルデータとしてＡ．ｊｐｇが要求された場合を示している。このとき、検索開始ノードポインタは、ノードＡのため、ノードＡを参照し、データの有無を判定する。判定の結果、データが格納されていないため、ノードＡにバリアブルデータのファイル名である文字列Ａ．ｊｐｇを格納する。データ生成部５０００は、文字列Ａ．ｊｐｇをデータ特定情報として出力する。レンダリング部６０００ではデータ特定情報を取得し、その内容が識別情報ではなくＡ．ｊｐｇのため、第２のデータ保持部１０６３にＡ．ｊｐｇに対応するレンダリング後バリアブルデータが存在しないと判断（Ｓ５００１）する。そして、画像Ａ．ｊｐｇをレンダリングし、レンダリング後バリアブルデータのアドレスを配列の１番目に格納する。
【００３５】
図８（Ｃ）、図９（Ａ）は、次にバリアブルデータとしてＢ．ｊｐｇ、Ｃ．ｊｐｇの順に要求された場合を示している。ノードＢ、ノードＣの順に、図８（Ｂ）と同様に文字列Ｂ．ｊｐｇ、Ｃ．ｊｐｇをそれぞれ格納し、配列の２番目、３番目の順にレンダリング後バリアブルデータのアドレス（ポインタ）２００、３００を格納する。
図９（Ｂ）は、次にバリアブルデータとしてＡ．ｊｐｇが再び要求された場合を示している。検索開始ノードポインタがノードＡを指し示しているので、ノードＡから検索し、ノードＡにＡ．ｊｐｇが格納されているため、ノードＡが持つ識別情報１をデータ特定情報に格納する。レンダリング部６０００は、データ特定情報を取得すると、データ特定情報に１が格納されているため、配列の要素１に格納されているアドレス１００を辿り、レンダリング後バリアブルデータＲＡ．ｄａｔを取得する（Ｓ５００２）。
【００３６】
図９（Ｃ）は、次にバリアブルデータとしてＤ．ｊｐｇが要求された場合を示している。検索開始ノードポインタがノードＡを指し示しているため、ノードＡから検索する。全ノードを検索してもＤ．ｊｐｇは見つからないため、検索開始ノードポインタが指し示すノードＡに文字列Ｄ．ｊｐｇを格納し、検索開始ノードポインタを１ノード進め、ノードＢとする。そして、文字列Ｄ．ｊｐｇをデータ特定情報に格納し、データ特定情報を出力する。レンダリング部６０００は、データ特定情報を取得し、文字列が入っていることから配列中に対応するレンダリング後バリアブルデータがないと判定し、図８（Ｂ）〜図９（Ａ）の場合と同様に、画像Ｄ．ｊｐｇをレンダリングする。そして、レンダリング後バリアブルデータのアドレスを配列に格納する。ただし、図９（Ｃ）に示すように、配列の全要素に値が入っている場合には配列削除番号に対応する要素の内容を新たなアドレスに書き換え（格納し）、配列削除番号を１進める。ここでは、配列削除番号が１のため、配列の要素１の内容をＤ．ｊｐｇのレンダリング後バリアブルデータであるＲＤ．ｄａｔのアドレスに書き換え、配列削除番号を２に更新する。
【００３７】
以上のように、本実施形態によれば、キャッシュしたレンダリング後印刷データを利用して印刷データを生成しかつレンダリング処理を行う処理部において、キャッシュの検索を行うことなくキャッシュしたレンダリング後印刷データを利用することができる。このことにより、キャッシュ検索によるレンダリング処理の開始の遅れを抑制し、レンダリング処理を高速化したバリアブル印刷を行うことができる。
なお、本実施形態では、第１の対応関係及び第２の対応関係のデータ構造としてそれぞれ配列とハッシュテーブルを用いたが、これに限られるものではない。例えば、第１の対応関係及び第２の対応関係において、それぞれ片方向循環リスト、配列、またはハッシュテーブルのうちいずれかを用いてもよい。つまり、第１の対応関係と第２の対応関係の整合が取れるように、取決めに応じた管理を容易に行えるものであればよい。本実施形態における取決めは、第１の対応関係と第２の対応関係において使用する識別番号が、予め決められた所定の個数の番号であり、識別番号に対して所定の順序でデータが紐づけられればよい。また、データに紐づける識別番号が不足した場合には、所定の順序に従って既に紐づけられたデータを新たに作成したデータで上書きすることで第１の対応関係及び第２の対応関係を更新できればよい。
【００３８】
（第２実施形態）
次に、本発明の第２実施形態に係る印刷システムについて説明する。第１実施形態では、第１の対応関係及び第２の対応関係のデータ構造として、それぞれ片方向循環リストと配列を用いた。また、各対応関係のデータの管理方式として、最初にキャッシュされたデータを最初に破棄するという規則を用いた。この方法は、用いる表が少ないため、実装が比較的容易であるという特徴がある。これに対して、本実施形態では、バリアブルデータの出現傾向に局所性がある場合に、参照頻度が高いバリアブルデータをよりキャッシュヒットさせる場合について説明する。また、各対応関係のデータ構造のその他の例として、それぞれ、配列とハッシュテーブルを用いる場合について説明する。
なお、本実施形態に係る印刷システムの全体構成及びハードウェア構成は、第１実施形態と同一のため説明を省略する。また、その他論理構成、及び処理においても同一のものには同一の符号を付し、説明を省略する。
【００３９】
図１０は、本実施形態に係る印刷システムの論理構成を示す図である。
印刷システム７０００は、バリアブルデータを生成するデータ生成部７００１及びレンダリング後の印刷データを生成するレンダリング部７００２を備える。データ生成部７００１は、第１のデータ保持部７０４２及び第１のデータ管理部７０４７を備える。第１のデータ保持部７０４２は、バリアブルデータと識別情報とを対応付けた対応関係を保持する。また、第１のデータ管理部７０４７は、所定の管理方式に基づき第１の対応関係を管理する。
レンダリング部７００２は、第２のデータ保持部７０６３及び第２のデータ管理部７０６６を備える。第２のデータ保持部７０６３は、識別情報とレンダリング後バリアブルデータとを対応付けた第２の対応関係を保持する。また、第２のデータ管理部７０６６は、所定の管理方式に基づき第２の対応関係を管理する。なお、印刷の流れは、第１実施形態において図４〜図５を用いて説明した処理の流れと同様であるため、本実施形態ではその説明を省略する。
【００４０】
図１１は、本実施形態における第１のデータ保持部７０４２と第２のデータ保持部７０６３で保持するデータの構造を示す図である。
図１１（Ａ）及び図１１図１２（Ｂ）は、それぞれ第１のデータ保持部７０４２と第２のデータ保持部７０６３で保持するデータの構造を示している。
配列８１００は、要素ごとにバリアブルデータとそれに対応する識別情報とその要素の参照回数との組を保持する。ここでは、バリアブルデータとしてファイル名を用いる。ハッシュテーブル８１０１は、識別情報とレンダリング後バリアブルデータのアドレスとその要素の参照回数とを対応付けて保持する。ハッシュテーブルを用いることにより、識別情報をキーとして、それに対応するアドレスおよびその要素の参照回数を高速に取得することができる。レンダリング後バリアブルデータ８１０２〜８１０４は、それぞれハッシュテーブルに保持されている識別情報に対応するレンダリング後バリアブルデータである。
【００４１】
図１２〜図１３は、印刷システム７０００がバリアブルデータを順次取得したときの第１のデータ保持部７０４２及び第２のデータ保持部７０６３が保持するデータ及び関連データの遷移を示す図である。
図１２（Ａ）の各表は、左から順に印刷システム７０００に入力されたバリアブルデータ２０１０、配列８１００、データ特定情報５００３、ハッシュテーブル８１０１、識別情報５００２に対応するレンダリング後バリアブルデータ２０１１を表す。図１２（Ｂ）〜図１３（Ｃ）の各表も同様の意味である。
【００４２】
図１２〜図１３では、バリアブルデータ２０１０として画像Ａ．ｊｐｇ、Ｂ．ｊｐｇ、Ｃ．ｊｐｇ、Ａ．ｊｐｇ、Ｄ．ｊｐｇが順に要求された場合の遷移を示す。ここで、配列８１００の要素１が保持するバリアブルデータに対応するレンダリング後バリアブルデータは、ハッシュテーブル８１０１の要素１に格納するものとする。同様に、配列８１００の要素２及び３が保持するバリアブルデータに対応するレンダリング後バリアブルデータは、それぞれハッシュテーブル８１０１の要素２及び３に格納するものとする。また、配列８１００へのデータの追加は、参照回数が少ない要素から更新（上書き、削除）していくものとする。ハッシュテーブル８１０１の要素の更新についても同様である。配列８１００及びハッシュテーブル８１０１において、それぞれその要素が参照されたときには参照回数を１増やし、要素が更新された場合には参照回数を１に戻す。ハッシュテーブルについても同様の方法で参照回数を更新するものとする。
【００４３】
図１２（Ａ）は、データが何も入ってない初期状態を示している。図１２（Ｂ）は、バリアブルデータとしてＡ．ｊｐｇが要求された場合を示している。このとき、配列の全ての要素は空なので、要素１にバリアブルデータのファイル名である文字列Ａ．ｊｐｇを格納し、参照回数を１に設定する。データ生成部７００１は、文字列Ａ．ｊｐｇをデータ特定情報として出力する。レンダリング部７００２ではデータ特定情報を取得し、その内容が識別情報ではなくＡ．ｊｐｇのため、第２のデータ保持部７０６３にＡ．ｊｐｇに対応するレンダリング後バリアブルデータが存在しないと判断（Ｓ５００１）する。そして、画像Ａ．ｊｐｇをレンダリングし、レンダリング後バリアブルデータのアドレスをハッシュテーブルの要素１に格納し、参照回数を１に設定する。
図１２（Ｃ）、図１３（Ａ）は、次にバリアブルデータとしてＢ．ｊｐｇ、Ｃ．ｊｐｇの順に要求された場合を示している。配列の要素２、要素３の順に、図１２（Ｂ）と同様に文字列Ｂ．ｊｐｇ、Ｃ．ｊｐｇをそれぞれ格納し、ハッシュテーブルにレンダリング後バリアブルデータのアドレス（ポインタ）２００、３００を格納し、参照回数を１に設定する。
【００４４】
図１３（Ｂ）は、次にバリアブルデータとしてＡ．ｊｐｇが再び要求された場合を示している。配列を検索し、要素１にＡ．ｊｐｇが格納されているため、要素１が持つ識別情報１をデータ特定情報に格納する。レンダリング部７００２は、データ特定情報を取得し、データ特定情報に１が格納されているため、ハッシュテーブルのキーが１（図１３（Ｂ）におけるハッシュテーブルの識別情報が１）の要素に格納されているアドレス１００を辿る。そして、レンダリング部７００２は、レンダリング後バリアブルデータＲＡ．ｄａｔを取得する（Ｓ５００２）。さらに、ハッシュテーブルのキーが１の要素に対応する参照回数を１に設定する。
図１３（Ｃ）は、次に、バリアブルデータとしてＤ．ｊｐｇが要求された場合を示している。配列の全要素を検索してもＤ．ｊｐｇは見つからないため、参照回数が少ない要素２に文字列Ｄ．ｊｐｇを格納し、参照回数を１に設定する。そして、文字列Ｄ．ｊｐｇをデータ特定情報に格納し、データ特定情報を出力する。レンダリング部７００２は、データ特定情報を取得し、文字列が入っていることから、ハッシュテーブル中に対応するレンダリング後バリアブルデータがないと判定し、画像Ｄ．ｊｐｇをレンダリングする。そして、レンダリング後バリアブルデータのアドレスを参照回数の少ないキーが２の要素に格納し、キーが２の要素の参照回数を１に設定する。
【００４５】
以上のように、本実施形態によれば、第１実施形態と同様の効果を奏する。さらに、本実施形態によれば、バリアブルデータの参照回数を保持することにより、参照回数の多いバリアブルデータをキャッシュに残しておけるため、バリアブルデータの出現頻度に局所性がある場合においてレンダリング回数をさらに抑制することができる。
【００４６】
（第３実施形態）
次に、本発明の第３実施形態に係る印刷システムについて説明する。第１及び第２実施形態例では、第１のデータ保持部及び第２のデータ保持部で保持するデータの保持期間については特に言及しなかった。これに対して、本実施形態では、例えば、時間制約のあるバリアブル印刷において、高い機密性が要求され、同一のバリアブルデータを長期間サーバのメモリ上に保持しておくことが望まれない場合を考える。本実施形態では、第１のデータ保持部及び第２のデータ保持部で保持するデータに対して、参照されているか否かを示す被参照情報を持たせ、参照されなくなったときにそのデータを削除することで、機密性の向上を図る。具体的には、第１のデータ保持部及び第２のデータ保持部で保持するデータがどのジョブ（一連の印刷処理単位）から参照されているかを表すＪｏｂＩＤ（ジョブ情報）を各データで保持する。そして、所定のジョブ数（本実施形態では３ジョブ）が経過した時点で参照されなければ、そのデータを削除する。これにより、参照されないデータが長期間メモリ上に保持されることを抑制することができる。
なお、本実施形態に係る印刷システムの全体構成及びハードウェア構成は、第１実施形態と同一のため説明を省略する。また、その他論理構成、及び処理においても同一のものには同一の符号を付し、説明を省略する。
【００４７】
図１４は、本実施形態に係る印刷システムの論理構成を示す図である。
印刷システム９０００は、バリアブルデータを生成するデータ生成部９００１及びレンダリング後の印刷データを生成するレンダリング部９００２を備える。データ生成部９００１は、第１のデータ保持部９０４２、第１のデータ管理部９０４７、第１の被参照情報管理部９０４９を備える。第１のデータ保持部９０４２は、バリアブルデータと識別情報とを対応付けた対応関係を保持する。第１のデータ管理部９０４７は、所定の管理方式に基づき第１の対応関係を管理する。第１の被参照情報管理部９０４９は、第１の対応関係における被参照情報を管理する。
レンダリング部９００２は、第２のデータ保持部９０６３、第２のデータ管理部９０６６及び第２の被参照情報管理部９０６８を備える。第２のデータ保持部９０６３は、識別情報とレンダリング後バリアブルデータとを対応付けた第２の対応関係を保持する。第２のデータ管理部９０６６は、所定の管理方式に基づき第２の対応関係を管理する。第２の被参照情報管理部９０６８は、第２の対応関係における被参照情報を管理する。
印刷の流れは、第１実施形態において図４〜図５を用いて説明した処理の流れと同様であるため、本実施形態ではその説明を省略する。また、本実施形態で用いるデータの構造は第１実施形態と同様であるが、ノードと配列にそれぞれＪｏｂＩＤを格納する要素を追加する。
【００４８】
図１５は、印刷システム９０００がバリアブルデータを順次取得したときの第１のデータ保持部９０４２及び第２のデータ保持部９０６３が保持するデータ及び関連データの遷移を示す図である。
図１５（Ａ）の各表は、左から順に印刷システム９０００に入力されたバリアブルデータ２０１０、検索開始ノードポインタ、ノード、データ特定情報、配列削除番号、配列、識別情報に対応するレンダリング後バリアブルデータを表す。図１５（Ｂ）〜図１６（Ｃ）の各表も同様の意味である。
図１５〜図１６では、バリアブルデータ２０１０として画像Ａ．ｊｐｇ、Ｂ．ｊｐｇ、Ｃ．ｊｐｇ、Ａ．ｊｐｇ、Ｄ．ｊｐｇ、Ａ．ｊｐｇが順に要求された場合の遷移を示す。尚、第１及び第２実施形態では特に設定していないが、本実施形態では、印刷システムに投入されるジョブは、順次投入されるものとする。
図１５（Ａ）〜図１６（Ａ）の遷移は、図８（Ａ）〜図９（Ｂ）で示した遷移と同様である。ただし、ノード及び配列の各ＪｏｂＩＤには、ジョブのＩＤを格納する。また、本実施形態では、第１のデータ管理部９０４７は、第１の対応関係の更新ごとにＪｏｂＩＤを参照し、３ジョブ以上に渡ってノードに格納されているデータが存在するか否かの判定を行う。
【００４９】
図１６（Ｂ）は、次にバリアブルデータとしてＤ．ｊｐｇが要求された場合を示している。検索開始ノードポインタは、最も古いデータを格納するノードを指し示すように更新され、ここではノードＢを指し示しているので、ノードＢから検索する。全ノードを検索してもＤ．ｊｐｇは見つからないため、検索開始ノードポインタが指し示すノードＢに文字列Ｄ．ｊｐｇを格納し、検索開始ノードポインタを１ノード進め、ノードＣとする。そして、文字列Ｄ．ｊｐｇをデータ特定情報に格納し、データ特定情報を出力する。レンダリング部９００２は、データ特定情報を取得し、文字列が入っていることから配列中に対応するレンダリング後バリアブルデータがないと判定し、画像Ｄ．ｊｐｇをレンダリングする。そして、レンダリング後バリアブルデータのアドレスを配列に格納する。ただし、図１６（Ｂ）に示すように、配列の全要素に値が入っている場合には配列削除番号に対応する要素の内容を新たなアドレスに書き換え、配列削除番号を１進める。ここでは、配列削除番号が２のため、配列要素２の内容をＤ．ｊｐｇのレンダリング後バリアブルデータであるＲＤ．ｄａｔのアドレスに書き換え、配列削除番号を３に更新する。
【００５０】
図１６（Ｃ）は、次にバリアブルデータとしてＡ．ｊｐｇが要求された場合を示している。検索開始ノードポインタがノードＣを指し示しているので、ノードＣから検索する。ノードＡにＡ．ｊｐｇが格納されているため、ＪｏｂＩＤをＪ６に書き換え、データ特定情報に識別情報１を格納する。さらに、ノードのＪｏｂＩＤを参照し、３ジョブ前のデータが入っているか否かを判定する。３ジョブ前のデータが入っていた場合には、そのノードのデータを削除する。また、ノードのデータの削除に伴い、ＪｏｂＩＤを参照し、検索開始ノードポインタが最も古いデータを格納するノードを指し示すように更新する。そして、レンダリング部９００２は、データ特定情報を取得し、データ識別情報に格納された識別情報（この場合は１）と対応するレンダリング後バリアブルデータを取得する。また、レンダリング部９００２でもデータ生成部と同様に、ＪｏｂＩＤを参照し、３ジョブ前のデータが入っているか否かを判定し、該当する要素のデータを削除する。これに合わせて、ＪｏｂＩＤを参照し、配列削除番号が最も古いデータを指し示すように更新する。
【００５１】
以上のように、本実施形態によれば、第１実施形態と同様の効果を奏する。さらに、本実施形態によれば、所定のジョブ数が経過した時点で参照されないデータを削除することにより、所定のジョブ数の間参照されないデータがメモリ上に保持されることがなくなる。これにより、機密性の高いデータが外部に流出することを抑止することができる。
【００５２】
なお、各実施形態において、作業者端末はスマートデバイスであるとしたが、これに限定するものではなく、デスクトップＰＣやノートＰＣなどの計算機でも良く、作業に関わる情報の入出力ができればどのような計算機であっても良い。
また、印刷対象識別情報は、バーコードであるとしたが、これに限定するものではなく、二次元コードやホログラムであっても良く、各印刷物を識別することができる情報であればどのような識別情報であっても良い。また、その形成方法も印刷に限らず、ＩＣチップやＲＦＩＤを貼り付けたり埋め込んだりしても良く、さらには、所定の形状で切り取られていたり、繰り抜かれていたりしても良い。
また、印刷対象識別情報取得装置は、バーコードリーダであるとしたが、印刷対象識別情報が二次元コードであれば画像取得装置が適切である。また、ホログラム、ＩＣチップ、ＲＦＩＤであれば、それぞれホログラム読み取り装置、ＩＣチップリーダ、ＲＦＩＤリーダが適切である。さらに、印刷対象識別情報取得装置は、印刷対象に付随した印刷対象識別情報を取得できればどのような装置であっても構わない。
また、データ生成部とレンダリング部とは異なるハードウェア上で動作するとしたが、異なる仮想サーバ上で動作するとしても良い。さらに言えば、一方の処理負荷が増大したとしても、他方の処理に利用できるＣＰＵリソースに影響を与えないような、ＣＰＵリソースがそれぞれ独立した構成であればどのような構成であっても構わない。
また、本発明に係る情報処理システムは、複数の機器（例えばホストコンピュータ、インターフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用しても良い。
【００５３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づきコンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、次の場合も含まれる。記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づきその機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される。
【００５４】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００５５】
１００８    データ生成装置
１０４２    第１のデータ保持部
１０４３    キャッシュ検索部
１０４４    キャッシュヒット判定部
１０４７    第１のデータ管理部
【図１】
2016110495.tif 000003
【図２】
2016110495.tif 000004
【図３】
2016110495.tif 000005
【図４】
2016110495.tif 000006
【図５】
2016110495.tif 000007
【図６】
2016110495.tif 000008
【図７】
2016110495.tif 000009
【図８】
2016110495.tif 000010
【図９】
2016110495.tif 000011
【図１０】
2016110495.tif 000012
【図１１】
2016110495.tif 000013
【図１２】
2016110495.tif 000014
【図１３】
2016110495.tif 000015
【図１４】
2016110495.tif 000016
【図１５】
2016110495.tif 000017
【図１６】
2016110495.tif 000018
【図１７】
2016110495.tif 000019
【図１８】
2016110495.tif 000020
【図１９】
2016110495.tif 000021