JP4121006B2 - Printing system - Google Patents
Printing system Download PDFInfo
- Publication number
- JP4121006B2 JP4121006B2 JP2000353484A JP2000353484A JP4121006B2 JP 4121006 B2 JP4121006 B2 JP 4121006B2 JP 2000353484 A JP2000353484 A JP 2000353484A JP 2000353484 A JP2000353484 A JP 2000353484A JP 4121006 B2 JP4121006 B2 JP 4121006B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- information
- history information
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、クライアントから送信された印刷データが、ネットワークを経由して、印刷サーバあるいは印刷装置に受信、処理され、印刷される印刷システムに関し、特に、各モジュールの印刷ジョブの履歴を取得、管理する印刷システムに関する。
【0002】
【従来の技術】
ネットワークを経由して複数のクライアント装置からデータを送信し、ネットワークに接続される印刷装置あるいは印刷サーバにより送信されたデータを受信して処理し、印刷を行う印刷システムが実用化されている。
【0003】
上記印刷システムにおいて、「印刷ジョブの履歴」を取得する方法として、例えばクライアント上の印刷ドライバが生成するジョブの情報を印刷ドライバ自体がデータとして保管する技術、印刷サーバがサービスする印刷ジョブの情報を印刷サーバ自体が保管する技術、および印刷装置が印刷するジョブの情報を印刷装置自体が保管するという技術が知られている。
【0004】
このような従来技術として、特開平10−283131号公報には、印刷履歴情報をプリンタ内の記憶媒体に蓄積し、蓄積された印刷履歴情報を印刷したり、ホストコンピュータに送信したりすることによってユーザに表示する技術が提案されている。
【0005】
【発明が解決しようとする課題】
本来、印刷ジョブは、ジョブの生成箇所「クライアント」から始まり、印刷サーバ等を経由し、最終的に印刷装置に到達して印刷データが印刷され、処理が終了するという、一連のパスを通る。
【0006】
しかしながら、上記従来技術において、各印刷ドライバ、印刷サーバおよび印刷装置は、通過するパスの中のただ1点において、その点(場所)で採取し得る印刷ジョブ情報を保管するのみに限られていた。
【0007】
例えば印刷ドライバは、ジョブの開始点であるクライアント上に存在するため、ジョブを要求したユーザ名や印刷を行ったアプリケーション名など、「ジョブの開始点」に関する情報は詳細に採取できる。しかしながら、最終的に何枚出力されたかなどの「ジョブの終了点」に関する情報や、印刷サーバが行う予定の印刷付加価値ジョブスケジューリングに関する情報を保管することができない。
【0008】
また印刷サーバは、印刷サーバ上のジョブスケジュールリング、分散印刷、正常に動作しない印刷装置回避による別の印刷装置への出力等、印刷サーバがサービスする情報に関しては詳細に採取可能である。しかしながら、印刷サーバは、ジョブ開始点や終了点に関する情報を保管できない。
【0009】
さらに印刷装置は、実際に出力された枚数など、ジョブの終了点に関する情報は詳細に採取できるが、要求者などの開始点の情報や、サーバによる印刷付加価値情報などは保管できない。
【0010】
印刷ジョブは開始点からサービス点を通過して、終了点に到達するが、その間の各点で取得し得る印刷ジョブ情報は異なっており、従来技術によって生成されるジョブ履歴情報は、このパス上のいずれか一点のジョブ情報に偏っているという問題点があった。
【0011】
また、ジョブ履歴は、課金、負荷分析など様々な用途で用いられる。必要なジョブ情報は用途によって異なっており、場合によってジョブのパス上での全情報が必要になる場合もある。上記されたような問題点があると、ジョブ情報を使用する上で不便な場合があった。
【0012】
本発明は、上記問題点に鑑みてなされたものであり、印刷ジョブに関する一連の情報を統合化し、統合化されたジョブの全体像をユーザに提供する印刷システムを提供することを目的とする。
【0013】
さらに、1つの印刷ジョブの生成から消滅までに与えられる識別情報を印刷システム上の各々のサブシステムが取得するものを提供することも目的とする。また、ジョブ情報断片が増えなくなり、情報をクローズするタイミングを認識するものを提供することを目的とする。
【0014】
【課題を解決するための手段】
かかる目的を達成するため、請求項1に記載の発明は、ネットワーク上のクライアントの有する印刷データ生成部が印刷データを前記ネットワークを通じて送信して印刷する印刷システムであって、印刷装置駆動部は、ドライバ履歴情報を記憶する第1の記憶手段を有し、印刷装置は、前記印刷装置が行った印刷装置履歴情報を記憶する第2の記憶手段を有し、印刷管理装置は、前記第1の記憶手段が記憶するドライバ履歴情報と、前記第2の記憶手段が記憶する印刷装置履歴情報とを読み出す手段と、前記読み出し手段によって読み出された前記ドライバ履歴情報および前記印刷装置履歴情報を記憶する第3の記憶手段と、前記読み出された前記ドライバ履歴情報および前記印刷装置履歴情報のいずれかに含まれるデータに示される処理を選択し、基準の処理を決定する基準ジョブ決定手段と、前記基準ジョブ決定手段によって決定された基準の処理とは別のデータで示される処理が、同一の印刷ジョブで行われているか否かを判断する判断手段と、前記基準の処理を示すデータとは別の処理を示すデータを基準の処理を示すデータに追加し、また、前記基準の処理とは別のデータで示される処理が前記判断手段によって前記印刷ジョブで行われていると判断された場合に追加されるデータ追加手段と、前記データ追記手段により追加され、1つの印刷ジョブのジョブ情報として統合された統合履歴情報を前記クライアントに転送する転送手段と、を有することを特徴とする。
【0015】
請求項2に記載の発明は、請求項1に記載の発明において、前記追加手段によって追加された別の処理を示すデータを、前記追加手段によって追加される前に格納されていた前記ドライバ履歴情報および前記印刷装置履歴情報のいずれか1つを削除する第1の削除手段を有することを特徴とする。
【0016】
請求項3に記載の発明は、請求項1または2に記載の発明において、前記印刷データ生成部は、前記ネットワーク上および該ネットワークに接続される端末内で共通で、各々の前記印刷ジョブによって区別される識別情報を前記印刷データに組み込む識別情報組み込み手段を有し、前記判断手段による判断の基準は、前記識別情報組み込み手段によって組み込まれた識別情報に基づくことを特徴とする。
【0017】
請求項4に記載の発明は、請求項1から3のいずれか1項に記載の発明において、前記印刷管理装置は、前記ドライバ履歴情報および前記印刷装置履歴情報のいずれか1つに含まれる1つの情報を構成する1つの要素である情報項目を削除する第2の削除手段を有し、前記判断手段によって判断される際に、前記ドライバ履歴情報の情報項目と前記印刷装置履歴情報の情報項目とが一致する場合、前記ドライバ履歴情報の情報項目および前記印刷装置履歴情報の情報項目のいずれか一方を前記第2の削除手段によって削除することを特徴とする。
【0018】
請求項5に記載の発明は、請求項1記載の発明において、前記ネットワークにはさらにサーバが接続され、前記サーバは前記印刷ジョブにおいて前記サーバがどのような処理を行ったかというサーバ履歴情報を記憶し、保存する第4の記憶手段を有し、前記読み出し手段は、前記第4の記憶手段が記憶するサーバ履歴情報をさらに読み出すことを特徴とする。
【0019】
請求項6に記載の発明は、請求項1に記載の発明において、ネットワークにはさらにサーバが接続され、第3の記憶手段はサーバ履歴情報をさらに記憶することを特徴とする。
【0020】
請求項7に記載の発明は、請求項1または3に記載の発明において、ネットワークにはさらにサーバが接続され、基準ジョブ決定手段の選択の対象はサーバ履歴情報に含まれる任意の1つのデータに示される処理も含まれることを特徴とする。
【0021】
請求項8に記載の発明は、請求項2に記載の発明において、ネットワークにはさらにサーバが接続され、第1の削除手段の削除の対象はサーバ履歴情報も含まれることを特徴とする。
【0022】
請求項9に記載の発明は、請求項4に記載の発明において、ネットワークにはさらにサーバが接続され、第2の削除手段による削除の対象はサーバ履歴情報に含まれる1つのデータを構成する1つの要素である情報項目も含まれることを特徴とする。
【0023】
請求項10に記載の発明は、複数のサブシステムを有する印刷システムであって、印刷システムは、印刷システムで行われる各々の印刷ジョブを識別するジョブ識別子と、印刷システムの所定の範囲内でジョブ識別子を検索するために用いられるキーとを対応づけて保存するジョブID一覧保持部をさらに有し、複数のサブシステムは、キーによって識別子を検索し、識別子によって、印刷ジョブにおいて複数のサブシステム各々で行われるジョブである断片ジョブをまとめることを特徴とする。
【0024】
請求項11に記載の発明は、請求項10の印刷システムにおいて、ジョブID一覧保持部は、ジョブ識別子を破棄する識別子破棄手段と、破棄する時期を決める破棄時期決定手段と、をさらに有し、破棄する時期は複数のサブシステムの通知によって決定されることを特徴とする。
【0025】
請求項12記載の印刷システムの発明は、請求項10または11の印刷システムにおいて、複数のサブシステムは、サブシステムにおける断片ジョブの開始と終了とをジョブID一覧保持部に通知するジョブ開始終了通知手段をさらに有し、サブシステムは、ジョブ開始終了通知手段が断片ジョブの終了を通知してから、断片ジョブをまとめることを特徴とする。
【0028】
【発明の実施の形態】
以下に添付図面を参照した本発明に係る印刷システムの実施形態を詳細に説明する。図1から図10に、本発明に係る印刷システムの一実施例が示す。
【0029】
[第1の実施例]
図1に、本発明に係る印刷システムの第1の実施例を示す。図1に示すように、本実施例は、クライアント10、サーバPC20、印刷装置30およびジョブ情報履歴装置40がネットワークを介して接続されて構成されている。
【0030】
以下に、一般的な印刷ジョブの流れを示す。まずアプリケーション11で印刷データの生成が指示されて、ドライバ12で印刷データが生成する。生成した印刷データは、サーバ通信13によってサーバPC20の付加サービス21に送信される。付加サービス21によって分散印刷、異常プリンタ回避などの付加サービスが提供され、印刷装置30において印刷データが印刷される。
【0031】
上記された印刷ジョブにおいて、ドライバ12、サーバ通信13、付加サービス21および印刷装置30のそれぞれにおいて、行ったジョブの履歴が蓄積される。しかしながら、上記された各モジュール(ドライバ12、サーバ通信13等)に保存される履歴情報だけでは、一連の印刷ジョブの全体的な流れで各モジュールが行った動作を把握できるように、以下のように行う。ここで本実施例では、図1に示されるように、各々のモジュールが保存する履歴情報を統合し、管理するジョブ情報履歴装置40がネットワークに接続されている。
【0032】
以下では図4に基づいて、ジョブ情報履歴装置40が各モジュールの履歴情報を収集し、一連の印刷ジョブの流れを示す情報が作成される。
【0033】
ジョブ情報履歴装置40は、図2に示されるような各モジュールが生成したジョブ履歴情報を収集する(ステップS1)。収集された複数のジョブ履歴情報の内、一つの履歴情報を選択して、選択された履歴情報を基準履歴情報とする(ステップS2)。基準履歴情報に含まれるジョブ情報を全部走査する(ステップS3)。走査されたジョブの内の任意の1つを基準ジョブとし(ステップS4)、以下このジョブが行われた印刷ジョブの他のモジュールに格納される履歴が収集される。
【0034】
マージの対象となる任意の履歴情報を1つ取り出す(ステップS 5)。基準ジョブと同一の印刷データを印刷する際に行われたと判断されるジョブを残りの各履歴情報の中から抽出し(ステップS6)、基準ジョブのジョブ情報に追加する(ステップS7)。本実施例では判断の基準は印刷が行われた日時と印刷データのサイズに基づいている。
【0035】
抽出されたジョブ情報を履歴情報から削除する(ステップS8)、追加したジョブ情報でその印刷ジョブの全情報がマージされていなければ(ステップS9/No)、別の履歴情報を取り出す(ステップS5)。すべての履歴情報がマージされていれば(ステップS9/Yes)、取得したすべてのジョブ情報を1つの印刷ジョブのジョブ情報として統合化して、先に統合化されている統合化履歴情報に追加する(ステップS10)。
【0036】
基準履歴情報中のすべてのジョブが基準ジョブになっていなければ(ステップS11/No)、別の任意のジョブを基準ジョブにする(ステップS4)。基準履歴情報中のすべてのジョブが基準ジョブになっており(ステップS11/Yes)、かつ、収集した履歴情報が基準履歴情報になっていれば(ステップS12/Yes)、処理は終了する。収集した履歴情報がすべて基準履歴情報になっていなければ(ステップS12/No)、別の履歴情報が基準履歴情報になる(ステップS2)。
【0037】
上記されたように1回の印刷ジョブについて、各モジュールに保存されるジョブ情報が統合化することによって、例えば、その結果を印刷するなどしてユーザが入手すれば、ユーザは従来に比べてそれぞれの印刷ジョブについて全体的な情報を入手することが容易になる。
【0038】
本実施例では、ジョブ情報履歴装置40は各モジュールの生成した履歴情報を統合化する時に、ある基準履歴情報中の基準ジョブと同一の印刷ジョブの際に行われたと判断されるジョブ情報を、残りの各履歴情報中から取得する際に判断基準が使用される。この判断基準は、その印刷ジョブが行われた日時とサイズの一致に基づいて行われる。
【0039】
[第2の実施例]
以下に、第2の実施例を示す。本実施例では、上記第1の実施例において、上記された判断基準に基づいて判断された場合、同一の日時に同一のサイズの印刷ジョブが行われた時、別の印刷処理のジョブであったとしても、同一の印刷ジョブと判断してしまう可能性がある場合の回避例を示す。これ以下、第2の実施例としてPJL等の印刷制御情報中に「JOBID=識別情報」を埋め込む方法について説明する。図5に、各モジュールが保存する履歴情報の内容を示す全体の構成図が示されている。
【0040】
本実施例では、ドライバ12等の印刷ジョブの開始点となるモジュールが、印刷データ中にジョブの識別情報を埋め込む。この識別情報は、システムやネットワーク全体の中で、その印刷ジョブであると特定できるものであるとする。識別情報を埋め込む方法としては、上記されたようにPJL等の印刷制御情報中に「JOBID=識別情報」を付加する方法が選択される。
【0041】
以下、図7(a)に示されるフローチャートに基づいて、本実施例におけるドライバ12等のジョブの開始点において、識別情報をジョブデータに埋め込む処理を説明する。アプリケーションやシステムから、印刷要求の開始と印刷データの生成が依頼される(ステップS11)。
【0042】
印刷データとジョブの識別情報とを生成し(ステップS12)、生成した印刷データとジョブの識別情報とをセットにして履歴情報に保管し(ステップS13)、ジョブの識別情報をジョブデータに埋め込み、その後、印刷工程(付加サービス等)に送る(ステップS14)。
【0043】
以下、図7(b)に示すフローチャートに基づいて、本実施例におけるジョブの開始点以外の点における処理を説明する。
モジュールの前の工程から送信されたジョブデータを受け取り(ステップS21)、ジョブデータに従って各モジュールの一般の処理(付加サービス21ならサーバサービスで、印刷装置30なら紙出力)を行う(ステップS22)。
【0044】
ジョブデータ中のジョブ識別情報を抽出し、ジョブ識別情報とその他の情報(処理結果の情報やジョブ情報など)とをセットにして履歴情報に保管する(ステップS23)。上記各モジュールが保存したジョブ履歴情報を、図6に示す。
【0045】
各モジュールが保存したジョブ履歴情報群を統合するときは、基本的な統合化処理の流れは前記第1の実施例の場合と同様である。第1の実施例では、基準ジョブと同じ印刷ジョブで行われたジョブを他の履歴情報中から検索する場合は、日時とサイズの一致を判断基準としていた。本実施例では各ジョブの識別情報の一致により検索を実行する。
【0046】
システム全体で印刷ジョブを特定できるジョブ識別情報の生成に関しては、クライアント10のネットワークアドレスを使用する方法などが考えられる。ネットワークアドレスを用いることによりシステム上のネットワークノードが特定されるのため、識別情報の前半にクライアントのネットワークアドレスあるいはそれに基づいた値を用いる。
【0047】
識別情報の後半には、そのネットワークノード(具体的にはクライアント10)内で特有の値を付加する。例えば、特有の値としては、ミリ秒やマイクロ秒レベルの時間情報、あるいは、インクリメント・カウンタなどが考えられる。さらに分散コンピューティング技術におけるいくつかの「ユニーク値生成方式」(UUIDなど)を用いてもよい。
【0048】
また、ドライバ12等の印刷データを生成するモジュールが、ジョブ識別情報を埋め込めないシステム構成の場合は、その後の工程モジュールが、前工程モジュールから送られた印刷データに対し、後から識別情報を付加する方法が採用される。
【0049】
また印刷データの形式によっては識別情報を埋め込むことができない場合もあるが、その場合は前工程から後工程に印刷データを渡す通信手段の中で、識別情報を送信してもよい。つまり印刷データ内に識別情報を埋め込むのではなく、パケットのヘッダやコマンドの引数など、データ受け渡し手段の方を経由してジョブ識別情報を送信してもよい。
【0050】
また通信手段によっては、ジョブを送信するのではなく、受信側が識別情報を付加する場合には、前工程(ジョブを送信する側)が後工程(ジョブを受け取る側)からその識別情報を受け取って、履歴情報に追加してもよい。
【0051】
上記した本実施例に示すように、印刷ジョブに識別情報を新たに埋め込むことによって、印刷ジョブ情報を統合化する際に、違う印刷ジョブで行われたジョブであっても同じ印刷ジョブで行われたジョブと判断される可能性がなくなる。これにより、ユーザはより正確なジョブ情報を把握することができるようになる。
【0052】
[第3の実施例]
以下、第1の実施例において、文書名(ジョブ名)、要求者情報や課金情報など、ジョブが開始されてから完了するまで変化しないと予想される情報が同一印刷ジョブの複数の履歴情報中で重複して現れる場合の、重複する情報を1つにマージして情報を統合化する方法について、第3の実施例として説明する。図8に、第3の実施例における全体の構成図を示す。図8において、各モジュールが保存する履歴情報の内容も示す。
【0053】
以下に、図10に示すフローチャートに基づいて、本実施例における動作を示す。以下の動作は図4に示すフローチャートのS6とS7との間で行われる。まず基準ジョブの中から情報項目の項目識別子をすべて取得する(ステップS31)。ステップS6において抽出された統合化対象のジョブ中で、S31で取得した項目識別子と重なるものを削除する(ステップS32)。
【0054】
この第3の実施例では、例としてジョブ情報は、ジョブ識別情報、日付、ユーザ名およびバイト数の4つから構成されるものとする。これら4つの情報は、ジョブ情報を表現する個々の構成要素であると考えられ、これらの構成要素は、以下に示すように、「タイプと値」の組から構成される。
【0055】
例えば、ジョブ情報が上記4つの上記4つの要素から構成される場合は、1つのジョブ情報は「”jobid =1234”」「”date=06/01”」「”user=浅谷”」「”size=180”」という4つの「タイプ+値」組から成る。
【0056】
各履歴情報は各モジュールにおけるジョブの履歴を並べたものでり、その個々のジョブ情報に、その値だけでなく、項目識別情報も含まれる。項目識別情報は情報要素のタイプを意味し、具体的には日時を表す情報の場合には日時情報を、バイト数を表す情報の場合にはバイト数情報のタイプである。
【0057】
履歴情報がCSV(comma separated value )形式のデータである場合、
jobid, date, user
1234,06/01,浅谷
1235,06/01,井上
の様になり、一行目にどの様なタイプのデータがどの順で並んでいるかを表す行を設けて識別するという方法がある。
【0058】
あるいは履歴情報をXML(extensible markup language)などのタグ付け形式にして、各情報要素が異なるタグ名で記載される方法もある。また履歴情報がバイナリデータの場合、各情報要素はその値だけではなく「タイプ、値」の列で格納される方法もある。
【0059】
履歴情報を生成する各モジュールは、同じ意味の情報要素については同じ情報識別子で識別するようにする。例えば「ジョブ識別情報」という情報要素は、同じ印刷ジョブで行われている以上、ジョブのパスの開始から終了のいかなる点で採取しても同じ意味を持つ。
【0060】
システムによっては、ジョブ名やジョブの要求者名も、ジョブの開始から終了まで同じ意味を持つ場合がある。上記されたような情報要素については、すべてのログ情報保存モジュールが、jobid 、jobname あるいはuserなどの同一の情報要素識別子を用いるようにする。
【0061】
上記されたように型が付けられた履歴情報において、これらを統合化する場合には、同じ情報要素であれば一つにまとめることが可能になる。その処理の流れを図10に示す。以下、まとめる処理について、図10に基づいて説明する。
【0062】
第1の実施例において、基準ジョブに別の履歴情報中の同一の印刷ジョブで行われたと判断されるジョブの情報を追加する時に、単に追加するのではなく、基準ジョブ情報内に既に存在する情報要素を1つ列挙する。そして各々の既存情報要素に対して、情報要素識別子をもつ情報要素を探し、一致する情報要素があれば、それを削除する。こうして残された情報要素だけが基準ジョブ情報に追加される。
【0063】
本実施例では、2つのジョブ情報の中に重複する情報要素があった時に、基準ジョブ情報の値を優先する方法であった。しかしながら、基準ジョブ情報の値を統合化対象のジョブ情報の値で上書きしてもよい。また、双方の値を比較して、一致しない場合には、ユーザに一方の値を選択させたり、一致しなかった場合には、あらかじめユーザがどちらの値を選ぶかを指定できるようにするという方法を採用する。
【0064】
上記されたように、複数の履歴情報に存在する同一印刷ジョブで行われたジョブの情報が統合化される際に、重複する情報要素を検知しマージすることで、統合化されたジョブ履歴情報は、情報を失わずに簡素化され、ユーザがデータを閲覧する際にも見易くなる。
【0065】
[第4の実施例]
ジョブ識別情報に関する上記の説明では、印刷ジョブの情報断片に識別情報を必ず埋め込むむものとして説明したが、ジョブのデータ形式によっては、埋め込むことができない場合がある。また、ジョブ情報断片を供給するサブシステムの中には、ジョブデータの中身を見ることができない場合がある。
【0066】
また、サブシステム間のジョブ搬送手段は、ジョブデータを埋め込まない場合もあり、さらには、ジョブ情報断片を供給するサブシステムの中にジョブの搬送に関与しないものもある。
【0067】
以下、図11の本発明の一実施形態として適用される印刷システムの構成図に基づいて、キーによって識別子を得る処理について説明する。ジョブの識別子を採番したサブシステムは、その識別子と、そのジョブを検索し得るキーのペアを、ジョブID一覧保持部に登録する。一方、ジョブ情報断片を供給するサブシステムは、そのジョブを検索し得るキーをジョブID一覧保持部に渡して、対応する識別子を受け取る。
【0068】
以下、「ジョブを検索し得るキー」と「ジョブを識別する識別子」との違いについて説明する。
まず、「ジョブを識別する識別子」とは、ジョブの生成から消滅までの時間、システム全体でジョブを一意に識別するようなものである。
【0069】
一般に印刷を行うシステムでは、ジョブは例えばClient PC上で生成され、PC上の様々なモジュールを通り、やがて、そのジョブはPCの外を出て、印刷サーバに渡され、サーバPC内の様々なモジュールを通り、さらに、サーバPCを出て印刷装置に渡される。
【0070】
他方、キーとは範囲の限定されたコンテキスト内で、ジョブを識別可能な値である。例えば、Client PC上でOSが番号をふる、すなわち採番するジョブIDは、そのPC内に限定すれば、ジョブを識別できる。しかし、この値は、ジョブが印刷サーバや印刷装置など、Client PC外ではジョブの識別に用いることができない。また、OSによっては、再起動するだけでジョブ識別ができなくなるものもある。この場合、Client PC上でOSが番号をふるIDは上記キーである。
【0071】
ジョブID一覧保持部がこのClient PC上で稼働する場合、ジョブID一覧保持部は、OSが番号を振ったIDであるキーとジョブ識別子とのペアを保持する。Client PC上でジョブ情報を供給する様々なモジュール(例えば、印刷アプリケーションや、プリンタドライバ、ポートドライバ、印刷プロセッサなど)は、OSのジョブIDから、システム全体に渡って有効なジョブ識別子を入手することができる。
【0072】
以下、サブシステム間でジョブを搬送する例について説明する。例えば、ネットワーク印刷プロトコルの中には、ジョブ受信側(印刷サーバなど)が、ジョブを受け取るときにふったIDをジョブ送出側(印刷クライアントなど)に渡すものがある。
【0073】
この場合、IDとしてどのような値を用いるかの決定権は、ジョブ受信側にある。本来、ジョブの生成時に識別子を生成し、ジョブの生成と同じ時点からのそのジョブの識別を可能にしなければ、ジョブの生成初期の時点で関与するサブシステムはジョブ情報を生成できない(生成できても、識別子は埋め込めない)。
【0074】
また、ジョブ受信側の中には、このジョブ受信側のみでジョブを識別可能な値、すなわち、他のサブシステムでは識別不能な値を返すものもある。また、印刷プロトコルによっては、ジョブ受信側が返すジョブIDのデータ形式が決められている場合がある。この場合、システム全体でジョブを識別するための共通の情報を埋め込むことができない。
【0075】
従って、システム全般でジョブを識別可能な識別子は、別途に採番される。例えば、ジョブの生成時点で番号をふられるようにしてもよい。そして、この例では、キーは印刷サーバなどが生成するIDとなる。
【0076】
この場合、「ClientなどのサブシステムAと、サーバなどのサブシステムBの間のジョブ搬送」という限定されたコンテキストで、搬送プロトコル上のIDは有用なものである。従って、この間の授受に対してジョブID一覧保持部を起き、ジョブ送出側と受信側の二者間で有効なIDをキーとして、ジョブフローの上流から引き継がれてきたジョブ識別子を検索可能にする。
【0077】
このように既存の技術で導入されているジョブID値とは、Client PC内のOS範囲内や、二者間のジョブ搬送通信など、限定されたコンテキストで有用な値である。既存技術ではこのようなIDは多いので、それをそのコンテキスト内における「キー」とし、そのキーからシステム全体でジョブを識別できる識別子を検索する。
【0078】
なお、本例では、「ジョブID一覧保持部をCleint PC内に置き、Cleint PC内の各モジュールでのジョブ識別子検索を可能にする」「ジョブ送信側と受信側の二者間にジョブID一覧保持部を置き、この二者間でのジョブ識別子検索を可能にする」という方法を例示した。この例は、ジョブID一覧保持部を、各々のコンテキスト内に置くモデルである。
【0079】
しかし、別の方法として、ジョブID一覧保持部を各々のコンテキストの外に置き、システム全体で活用できる位置付けとすることもできる。そのためには、例えば、[key-識別子]というペアの配列でなくて、[context‐Aのkey,context - Bのkey ,context - Cのkey - 識別子]というように、一つのジョブ識別子に対して、各コンテキスト毎のkey を結び付けられるようにすればよい。
【0080】
以下、図12(a)および(b)に基づいてジョブ生成側サブシステムおよびジョブ受信/監視側サブシステムが行う処理について説明する。まず、ジョブ生成側サブシステムがジョブID一覧保管部にキーと識別子のペアを保管する処理について説明する。
【0081】
ジョブ識別子を生成する(ステップS41)と、そのジョブを限定されたコンテキスト内であれば別の方法で特定できるようなキーを決定する(ステップS42)。ジョブ識別子とキーとを、ジョブID一覧保持部に通知する(ステップS43)。ジョブID一覧保持部は、キーと識別子とのペアを保管して(ステップS44)、処理が終了する。
【0082】
次に、ジョブ受信/監視側サブシステムがキーと一致する識別子を返す処理について説明する。ジョブ情報を取得すると(ステップS51)、そのジョブを限定されたコンテキスト内であれば別の方法で特定できるようなキーを決定する(ステップS52)。
【0083】
キーをジョブID一覧保持部に送り、対応する識別子を要求する(ステップS53)。ジョブID一覧保持部はID一覧を検索し、キーと一致する識別子を返す(ステップS54)。
以下、消去する時期を認識する処理について説明する。
【0084】
ジョブ識別子一覧は各サブシステムが保持する。各サブシステムは、自分がジョブを処理する過程で、必要なジョブ識別子のみ記憶し、ジョブ情報を送出し終えた場合に不要となった識別子が発生する。この識別子は、サブシステム自身の適切なタイミングで破棄すればよい。
【0085】
ID通知部が[key ]−[識別子] の情報を各サブシステムに通知する手段としては、予めそのような情報を必要とするサブシステムが自身を通知先として登録する方法もあるし、あるいは、ネットワーク上のbroadcast/multicast のようにあらかじめ、決められた手段で情報を不特定多数に流し、各サブシステムが必要な分だけ拾うという方法もある。
【0086】
以下、図15の(a)および(b)に基づいて、識別子の番号をふる処理(採番処理)について説明する。まず、(a)に基づいてこの処理を説明する。
【0087】
アプリケーションやドライバなどジョブ識別子の番号をふるモジュールは、識別子とキーとをID通知部に渡す(ステップS61)。ID通知部はこのキーと識別子とを各サブシステムに通知する(ステップS62)。キーと識別子とを受信した各サブシステムは、それを自身で保持して(ステップS63)、処理は終了する。
【0088】
次に、(b)に基づいてサブシステムによるジョブ情報生成時の処理について説明する。対象とするジョブのキーをもとにして、自身が持つテーブルから対応する識別子を取り出す(ステップS71)。そのジョブの情報を送出し、自身のテーブルからそのジョブの[キー]−[識別子]を削除する(ステップS72)。
【0089】
以下、ジョブ履歴保持部が、任意のジョブ情報において、情報断片の受信待機時間の判断方法について説明する。ここで、ジョブが通るパス上のサブシステムは様々なタイミングでジョブ情報断片をジョブ履歴保持部に供給するものとする。
【0090】
図16に、本発明の一実施形態として適用される印刷システムの構成図が示す。各サブシステムは、自身のもとにジョブが搬送された時に、開始を表す通知をジョブ履歴保持部αに送る。この時、この通知だけでなく、開始に関するジョブ情報断片を一緒に送ってもよい。
【0091】
サブシステムはジョブ処理を行った後、次工程のサブシステムにジョブを搬送する。
サブシステムはジョブ処理を開始したら、Start の通知をジョブ履歴情報保持部に送る。前工程のサブシステムは、ジョブの転送が完了した後、ジョブ情報断片を送らないことを表す通知を送る。なお、前記同様に、自身のジョブ処理の終了に関するジョブ情報断片を一緒に送るようにしてもよい。
【0092】
次工程のサブシステムも同様に、ジョブ処理を行った後に次工程に送り、End の通知(必要ならばジョブ情報断片も)ジョブ履歴保持部に送る。サブシステムの中には、ジョブのフローに介在せず、ジョブパスの外から監視を行うものもある。本例では、印刷装置を監視するサブシステムがあるとする。
【0093】
このサブシステムは、自身が監視するポイントでジョブが発生(あるいは受信)したことを発見した場合、前記同様にStart の通知や補足のジョブ情報断片をジョブ履歴保持部に送る。また、そのポイントにおいてジョブが消滅したら、End の通知や補足のジョブ情報断片をジョブ履歴保持部に送る。
【0094】
一方、ジョブ履歴保持部は、Start - End やそれに付随するジョブ情報断片を蓄積する。任意のジョブに対し、一のサブシステムからEnd の通知が来ても、他のサブシステムからはStart の通知しかきていない場合、このジョブは、システム上で生存し、今後も情報断片が寄せられる可能性がある。その場合は、そのジョブに関しては、まだオープン状態とする。
【0095】
Start を送ったすべてのサブシステムから、そのジョブに対するEnd の通知が来たら、システム上でそのジョブに対する情報断片はそれ以上寄せられないと判断し、そのジョブの情報をクローズし、情報断片のマージを行う。以上のようにすれば、システム上の様々なサブシステムが、様々なタイミングでジョブ情報断片を供給する場合でも、情報断片をまとめあげる正確なタイミングを得ることができる。
【0096】
図17に、上記の処理についての処理の流れを示す。まず、Subsystem Aにジョブが搬送されると、開始を示す通知がジョブ履歴保持部に送られ、ジョブ処理が開始される。そのジョブ処理が終了したら次工程のサブシステムであるSubsystem Bにそのジョブは搬送される。
【0097】
その搬送が終了すると、終了を示す通知をジョブ履歴保持部に送る。一方、ジョブが搬送されたSubsystem Bは開始を示す通知をジョブ履歴保持部に送り、搬送されたジョブの処理を開始する。
【0098】
同様に、処理が終了したら次工程のサブシステムである印刷装置にジョブを搬送する。搬送が終了したら終了を示す通知をジョブ履歴保持部に送る。一方、ジョブが搬送された印刷装置では搬送が終了したら、印刷処理を行って処理を終了する。
【0099】
また、ジョブのフローに参加しないSubsystem Xでは、Subsystem Bから印刷装置へのジョブの搬送が開始したら、ジョブ履歴保持部へその開始を示す通知を行い、上記システムにおけるすべての処理が終了したら、その終了を示す通知をジョブ履歴保持部へ行う。
【0100】
【発明の効果】
以上の説明から明らかなように、本発明によれば、1回1回の印刷ジョブについて、各モジュールに保存されるジョブ情報が統合化されるので、その結果を印刷するなどしてユーザが入手しやすくすれば、ユーザは従来に比べてそれぞれの印刷ジョブについての全体的な情報を入手することが容易になる。
【0101】
さらに印刷ジョブに識別情報を新たに埋め込むことによって、印刷ジョブ情報を統合化する際に、違う印刷ジョブで行われたジョブであっても同じ印刷ジョブで行われたジョブと判断される可能性がなくなるので、ユーザはより正確なジョブ情報を把握することができるようになる。
【0102】
さらに、複数の履歴情報に存在する同一印刷ジョブで行われたジョブの情報が統合化される際に、重複する情報要素を検知しマージすることで、統合化されたジョブ履歴情報は、情報を失わずに簡素化され、ユーザがデータを閲覧する際にも見易くなる。
【0103】
また、ジョブ識別子を直接読み出すことができなくても、検索して読み出すことができるので、確実に識別子を読み出すことができ、より正確に印刷ジョブをまとめることが可能になる。
【0104】
また、ジョブ履歴保持部において必要がなくなった識別子を破棄することができるようになったので、より効率よくジョブ履歴保持部を識別子の記憶領域を使用することが可能になった。
【0105】
また、ジョブをまとめるタイミングをサブシステムが把握することが可能になったので、各サブシステムはジョブをまとめる適切なタイミングのもとにジョブをまとめることが可能になった。
【図面の簡単な説明】
【図1】本発明の印刷システムに係る第1の実施例の全体構成図である。
【図2】ドライバ12に保存される履歴情報12a、付加サービス21に保存される履歴情報21aおよび印刷装置30に保存される30a各々の履歴情報の内容の一例である。
【図3】第1の実施例における処理動作を実行するプログラムの内容が示されている。
【図4】第1の実施例における動作が示されるフローチャートである。
【図5】本発明の印刷システムに係る第2の実施例の全体構成図である。
【図6】第2の実施例において各モジュールが保存する履歴情報の一例が示されている。
【図7】第2の実施例において各モジュールの動作が示されるフローチャートである。
【図8】本発明の印刷システムに係る第3の実施例における全体構成図である。
【図9】第3の実施例における処理動作を実行するプログラムが示されている。
【図10】第3の実施例における動作が示されるフローチャートである。
【図11】本発明の一実施形態として適用される印刷システムの構成図である。
【図12】ジョブ生成側のサブシステムがキーと識別子を保管する処理およびジョブ受信/監視側のサブシステムがキーから識別子を検索する処理が示されたフローチャートである。
【図13】印刷ジョブの基本モデル、ジョブデータへの埋め込みおよびジョブ搬送手段でのID通知について示される図である。
【図14】本発明の一実施形態として適用される印刷システムの構成図である。
【図15】識別子の番号をふる処理とサブシステムによってジョブ情報の生成時に行われる処理とが示されたフローチャートである。
【図16】本発明の一実施形態として適用される印刷システムの構成図である。
【図17】ジョブ履歴保持部に各サブシステムがジョブの開始と終了とを示すフローチャートである。
【符号の説明】
10 クライアント
11 アプリケーション
12 ドライバ
12a ドライバに保存される履歴情報
12b ドライバに保存される履歴情報
12c ドライバに保存される履歴情報
13 サーバ通信
13a サーバ通信に保存される履歴情報
13b サーバ通信に保存される履歴情報
13c サーバ通信に保存される履歴情報
20 サーバPC
21 付加サービス
21a 付加サービスに保存される履歴情報
21b 付加サービスに保存される履歴情報
21c 付加サービスに保存される履歴情報
30 印刷装置
30a 印刷装置に保存される履歴情報
30b 印刷装置に保存される履歴情報
30c 印刷装置に保存される履歴情報
40 ジョブ情報履歴装置
40a ジョブ情報履歴装置に保存される履歴情報
40b ジョブ情報履歴装置に保存される履歴情報
40c ジョブ情報履歴装置に保存される履歴情報
A サブシステム
B サブシステム
C サブシステム
X サブシステム[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a printing system in which print data transmitted from a client is received, processed, and printed via a network by a print server or a printing apparatus, and in particular, acquires and manages a print job history of each module. The present invention relates to a printing system.
[0002]
[Prior art]
A printing system that transmits data from a plurality of client apparatuses via a network, receives and processes data transmitted from a printing apparatus or a print server connected to the network, and performs printing has been put into practical use.
[0003]
In the printing system described above, as a method for acquiring the “print job history”, for example, a technique in which the print driver itself stores data of a job generated by the print driver on the client as data, and information on a print job serviced by the print server A technique for storing the print server itself and a technique for storing information on a job to be printed by the printing apparatus are known.
[0004]
As such prior art, Japanese Patent Laid-Open No. 10-283131 discloses that print history information is stored in a storage medium in a printer, and the stored print history information is printed or transmitted to a host computer. Techniques for displaying to the user have been proposed.
[0005]
[Problems to be solved by the invention]
Originally, a print job starts from a job generation location “client”, passes through a print server or the like, finally reaches a printing apparatus, print data is printed, and the process ends.
[0006]
However, in the above-described prior art, each print driver, print server, and printing apparatus is limited to storing print job information that can be collected at a single point (location) in a passing path. .
[0007]
For example, since the print driver exists on the client that is the job start point, information related to the “job start point” such as the name of the user who requested the job and the name of the application that performed the printing can be collected in detail. However, information regarding the “job end point” such as how many sheets have been finally output and information regarding print value-added job scheduling scheduled to be performed by the print server cannot be stored.
[0008]
In addition, the print server can collect in detail information serviced by the print server, such as job scheduling on the print server, distributed printing, and output to another printing apparatus by avoiding a malfunctioning printing apparatus. However, the print server cannot store information regarding the job start point and end point.
[0009]
Furthermore, the printing apparatus can collect in detail information regarding the end point of the job, such as the number of sheets actually output, but cannot store information on the starting point of the requester, print added value information by the server, and the like.
[0010]
The print job passes through the service point from the start point and reaches the end point, but the print job information that can be acquired at each point in the meantime is different, and the job history information generated by the conventional technology is on this path. There was a problem that it was biased to any one of the job information.
[0011]
The job history is used for various purposes such as billing and load analysis. The necessary job information varies depending on the application, and in some cases, all information on the job path may be required. If there are problems as described above, there are cases where it is inconvenient to use job information.
[0012]
The present invention has been made in view of the above problems, and an object of the present invention is to provide a printing system that integrates a series of information related to a print job and provides a user with an overall image of the integrated job.
[0013]
It is another object of the present invention to provide a system in which each subsystem on the printing system acquires identification information given from generation to deletion of one print job. It is another object of the present invention to provide a job information fragment that does not increase and recognizes the timing for closing information.
[0014]
[Means for Solving the Problems]
In order to achieve this object, the invention according to
[0015]
The invention according to
[0016]
The invention according to
[0017]
The invention according to claim 4The invention according to any one of
[0018]
The invention described in claim 54. The fourth storage means according to
[0019]
The invention described in claim 6The invention according to
[0020]
The invention described in claim 7The invention according to
[0021]
The invention according to
[0022]
The invention according to
[0023]
The invention according to
[0024]
The invention according to claim 1111. The printing system according to
[0025]
The invention of the printing system according to claim 1212. The printing system according to
[0028]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of a printing system according to the present invention will be described in detail below with reference to the accompanying drawings. 1 to 10 show an embodiment of a printing system according to the present invention.
[0029]
[First embodiment]
FIG. 1 shows a first embodiment of a printing system according to the present invention. As shown in FIG. 1, the present embodiment is configured by connecting a
[0030]
A general print job flow is shown below. First, the generation of print data is instructed by the
[0031]
In the above-described print job, the history of jobs performed in the
[0032]
In the following, based on FIG. 4, the job
[0033]
The job
[0034]
One arbitrary history information to be merged is extracted (step S5). A job judged to have been performed when printing the same print data as the reference job is extracted from the remaining pieces of history information (step S6) and added to the job information of the reference job (step S7). In this embodiment, the determination criterion is based on the date and time when printing was performed and the size of the print data.
[0035]
The extracted job information is deleted from the history information (step S8). If all information of the print job is not merged with the added job information (step S9 / No), another history information is extracted (step S5). . If all the history information has been merged (step S9 / Yes), all the acquired job information is integrated as job information of one print job and added to the integrated history information that has been integrated previously. (Step S10).
[0036]
If all the jobs in the reference history information are not reference jobs (step S11 / No), another arbitrary job is set as a reference job (step S4). If all jobs in the reference history information are reference jobs (step S11 / Yes) and the collected history information is reference history information (step S12 / Yes), the process ends. If all the collected history information is not the reference history information (step S12 / No), another history information becomes the reference history information (step S2).
[0037]
As described above, by integrating the job information stored in each module for a single print job, if the user obtains it by printing the result, for example, the user can compare with the conventional one. It is easy to obtain overall information about the print job.
[0038]
In the present embodiment, when the job
[0039]
[Second Embodiment]
The second embodiment is shown below. In this embodiment, when a determination is made based on the above-described determination criteria in the first embodiment, when a print job of the same size is performed at the same date and time, it is a job for another print processing. Even if this is the case, an example of avoiding the case where there is a possibility of determining that the print jobs are the same will be described. Hereinafter, a method of embedding “JOBID = identification information” in print control information such as PJL will be described as a second embodiment. FIG. 5 is an overall configuration diagram showing the contents of history information stored in each module.
[0040]
In this embodiment, a module serving as a start point of a print job such as the
[0041]
A process for embedding identification information in job data at the start point of a job such as the
[0042]
Print data and job identification information are generated (step S12), the generated print data and job identification information are set and stored in history information (step S13), and the job identification information is embedded in the job data. Then, it is sent to a printing process (additional service etc.) (step S14).
[0043]
Hereinafter, based on the flowchart shown in FIG. 7B, processing at points other than the job start point in the present embodiment will be described.
The job data transmitted from the previous process of the module is received (step S21), and general processing of each module (server service for the
[0044]
The job identification information is extracted from the job data, and the job identification information and other information (processing result information, job information, etc.) are set and stored in the history information (step S23). FIG. 6 shows job history information stored by each module.
[0045]
When integrating the job history information groups stored by the modules, the basic integration processing flow is the same as in the case of the first embodiment. In the first embodiment, when searching for a job performed in the same print job as the reference job from other history information, the coincidence of date and size is used as a determination criterion. In this embodiment, the search is executed based on the match of the identification information of each job.
[0046]
Regarding generation of job identification information that can specify a print job in the entire system, a method of using the network address of the
[0047]
In the latter half of the identification information, a value specific to the network node (specifically, the client 10) is added. For example, the unique value may be millisecond or microsecond level time information, an increment counter, or the like. Further, some “unique value generation methods” (such as UUID) in the distributed computing technology may be used.
[0048]
If the module that generates print data such as the
[0049]
In some cases, the identification information cannot be embedded depending on the format of the print data. In this case, the identification information may be transmitted in a communication unit that passes the print data from the previous process to the subsequent process. That is, instead of embedding the identification information in the print data, the job identification information may be transmitted via the data delivery means such as a packet header or a command argument.
[0050]
Also, depending on the communication means, when the receiving side adds identification information instead of transmitting a job, the preceding process (the side that transmits the job) receives the identification information from the subsequent process (the side that receives the job). , May be added to the history information.
[0051]
As shown in the above-described embodiment, when the print job information is integrated by newly embedding the identification information in the print job, even if the job is performed in a different print job, it is performed in the same print job. The possibility of being judged as a job is lost. As a result, the user can grasp more accurate job information.
[0052]
[Third embodiment]
Hereinafter, in the first embodiment, information that does not change from the start of the job to the completion, such as the document name (job name), requester information, and billing information, is included in the plurality of history information of the same print job. In the third embodiment, a method of merging overlapping information into one and integrating the information in the case of overlapping appearing in FIG. FIG. 8 shows an overall configuration diagram of the third embodiment. In FIG. 8, the contents of the history information stored by each module are also shown.
[0053]
The operation in this embodiment will be described below based on the flowchart shown in FIG. The following operations are performed between S6 and S7 in the flowchart shown in FIG. First, all item identifiers of information items are acquired from the reference job (step S31). Of the jobs to be integrated extracted in step S6, those that overlap with the item identifier acquired in S31 are deleted (step S32).
[0054]
In the third embodiment, as an example, job information is assumed to be composed of job identification information, date, user name, and number of bytes. These four pieces of information are considered to be individual components representing job information, and these components are composed of a pair of “type and value” as shown below.
[0055]
For example, when the job information is composed of the above four elements, one job information is ““ jobid = 1234 ””, ““ date = 06/01 ””, ““ user = Aya ””, “” size = “180” ”and consists of four“ type + value ”pairs.
[0056]
Each history information is a list of job histories in each module, and the individual job information includes not only the value but also item identification information. Item identification information means the type of information element. Specifically, it is date information in the case of information representing the date and time, and is a type of byte number information in the case of information representing the number of bytes.
[0057]
If the history information is CSV (comma separated value) format data,
jobid, date, user
1234, 06/01, Asaya
1235, 06/01, Inoue
There is a method of identifying by providing a line indicating what type of data is arranged in which order on the first line.
[0058]
Alternatively, there is a method in which history information is set in a tagging format such as XML (extensible markup language) and each information element is described with a different tag name. Further, when the history information is binary data, there is a method in which each information element is stored not only in its value but in a column of “type, value”.
[0059]
Each module that generates history information identifies information elements having the same meaning with the same information identifier. For example, the information element “job identification information” has the same meaning even if it is collected at any point from the start to the end of the job path as long as it is performed in the same print job.
[0060]
Depending on the system, the job name and the job requester name may have the same meaning from the start to the end of the job. For the information elements as described above, all log information storage modules use the same information element identifier such as jobid, jobname, or user.
[0061]
In the history information typed as described above, when these are integrated, the same information elements can be combined into one. The processing flow is shown in FIG. Hereinafter, the processing to be summarized will be described with reference to FIG.
[0062]
In the first embodiment, when adding information on a job determined to have been performed by the same print job in different history information to the reference job, it is not simply added, but already exists in the reference job information. List one information element. Then, an information element having an information element identifier is searched for each existing information element, and if there is a matching information element, it is deleted. Only the remaining information elements are added to the reference job information.
[0063]
In this embodiment, when there are overlapping information elements in two job information, the value of the reference job information is prioritized. However, the value of the reference job information may be overwritten with the value of the job information to be integrated. Also, when both values are compared, if they do not match, the user can select one value, or if they do not match, the user can specify which value to select in advance. Adopt the method.
[0064]
As described above, integrated job history information by detecting and merging duplicate information elements when information of jobs performed in the same print job existing in multiple history information is integrated Is simplified without losing information, and is easy to see when the user browses the data.
[0065]
[Fourth embodiment]
In the above description regarding the job identification information, it has been described that the identification information is necessarily embedded in the information fragment of the print job. However, depending on the data format of the job, it may not be embedded. Also, some subsystems that supply job information fragments may not be able to see the contents of job data.
[0066]
Further, the job transfer means between subsystems may not embed job data, and some subsystems that supply job information fragments may not be involved in job transfer.
[0067]
Hereinafter, processing for obtaining an identifier using a key will be described based on the configuration diagram of the printing system applied as an embodiment of the present invention in FIG. 11. The subsystem that has assigned the job identifier registers the identifier and a key pair that can search for the job in the job ID list holding unit. On the other hand, the subsystem that supplies the job information fragment passes a key for searching for the job to the job ID list holding unit and receives the corresponding identifier.
[0068]
Hereinafter, the difference between the “key for searching for a job” and the “identifier for identifying a job” will be described.
First, the “identifier for identifying a job” is such that a job is uniquely identified in the entire system during the time from generation to disappearance of the job.
[0069]
In general, in a printing system, a job is generated on, for example, a client PC, passes through various modules on the PC, and eventually, the job leaves the PC and is passed to the print server. It passes through the module, and further leaves the server PC and is delivered to the printing apparatus.
[0070]
On the other hand, a key is a value that can identify a job within a limited range of context. For example, if the OS assigns a number on the client PC, that is, the job ID to be assigned is limited to that PC, the job can be identified. However, this value cannot be used for job identification outside the client PC such as a print server or a printing apparatus. Depending on the OS, there is a case where the job cannot be identified only by restarting. In this case, the ID given by the OS on the Client PC is the key.
[0071]
When the job ID list holding unit operates on the client PC, the job ID list holding unit holds a pair of a key and a job identifier that is an ID numbered by the OS. Various modules that supply job information on the Client PC (for example, print applications, printer drivers, port drivers, print processors, etc.) obtain job identifiers that are valid throughout the entire system from the OS job ID. Can do.
[0072]
Hereinafter, an example of conveying a job between subsystems will be described. For example, in some network printing protocols, a job receiving side (such as a print server) passes an ID given when receiving a job to a job sending side (such as a print client).
[0073]
In this case, the job receiving side has the right to determine what value to use as the ID. Essentially, if an identifier is generated when a job is generated and the job cannot be identified from the same time as the generation of the job, subsystems involved in the initial generation of the job cannot generate job information. Cannot be embedded).
[0074]
Some job receivers return a value that allows only the job receiver to identify the job, that is, a value that cannot be identified by other subsystems. Depending on the print protocol, the data format of the job ID returned by the job receiving side may be determined. In this case, common information for identifying a job cannot be embedded in the entire system.
[0075]
Therefore, an identifier that can identify the job in the entire system is assigned separately. For example, a number may be assigned at the time of job generation. In this example, the key is an ID generated by a print server or the like.
[0076]
In this case, the ID on the transport protocol is useful in a limited context of “job transport between the subsystem A such as the client and the subsystem B such as the server”. Therefore, a job ID list holding unit is generated for the exchange between these times, and the job identifier taken over from the upstream of the job flow can be searched by using a valid ID between the job sending side and the receiving side as a key. .
[0077]
As described above, the job ID value introduced in the existing technology is a value useful in a limited context such as within the OS range in the client PC or between two parties. Since there are many such IDs in the existing technology, the ID is used as a “key” in the context, and an identifier that can identify the job in the entire system is searched from the key.
[0078]
In this example, “the job ID list holding unit is placed in the Cleint PC, and the job identifier can be searched in each module in the Cleint PC.” “The job ID list between the job sending side and the receiving side. A method of placing a holding unit and enabling a job identifier search between the two parties is exemplified. In this example, a job ID list holding unit is placed in each context.
[0079]
However, as another method, the job ID list holding unit can be placed outside each context so that it can be used in the entire system. For this purpose, for example, instead of an array of [key-identifier] pairs, [context-A key, context-B key, context-C key-identifier] Thus, it is only necessary to be able to bind the key for each context.
[0080]
Hereinafter, processing performed by the job generation subsystem and the job reception / monitoring subsystem will be described with reference to FIGS. 12 (a) and 12 (b). First, a process in which the job generation side subsystem stores a key / identifier pair in the job ID list storage unit will be described.
[0081]
When a job identifier is generated (step S41), a key that can identify the job by another method is determined within a limited context (step S42). The job identifier and key are notified to the job ID list holding unit (step S43). The job ID list holding unit stores the key / identifier pair (step S44), and the process ends.
[0082]
Next, processing in which the job receiving / monitoring subsystem returns an identifier that matches the key will be described. When the job information is acquired (step S51), a key that can be specified by another method if the job is within a limited context is determined (step S52).
[0083]
The key is sent to the job ID list holding unit, and a corresponding identifier is requested (step S53). The job ID list holding unit searches the ID list and returns an identifier that matches the key (step S54).
Hereinafter, processing for recognizing the time to erase will be described.
[0084]
Each subsystem holds a job identifier list. Each subsystem stores only necessary job identifiers in the course of processing a job, and an unnecessary identifier is generated when job information has been sent. This identifier may be discarded at an appropriate timing of the subsystem itself.
[0085]
As a means for the ID notification unit to notify each subsystem of information of [key]-[identifier], there is a method in which a subsystem that requires such information in advance registers itself as a notification destination, or There is also a method in which information is flowed to an unspecified number by predetermined means, such as broadcast / multicast on a network, and each subsystem picks up as much as necessary.
[0086]
Hereinafter, a process for assigning an identifier number (numbering process) will be described with reference to FIGS. First, this process will be described based on (a).
[0087]
A module that assigns a job identifier number, such as an application or a driver, passes the identifier and key to the ID notification unit (step S61). The ID notification unit notifies each subsystem of this key and identifier (step S62). Each subsystem that has received the key and identifier holds it by itself (step S63), and the process ends.
[0088]
Next, processing at the time of job information generation by the subsystem will be described based on (b). Based on the key of the target job, the corresponding identifier is extracted from the table held by itself (step S71). The job information is sent out, and the [key]-[identifier] of the job is deleted from its own table (step S72).
[0089]
Hereinafter, a method for the job history holding unit to determine the reception waiting time of the information fragment in arbitrary job information will be described. Here, it is assumed that the subsystem on the path through which the job passes supplies the job information fragment to the job history holding unit at various timings.
[0090]
FIG. 16 is a configuration diagram of a printing system applied as an embodiment of the present invention. Each subsystem sends a notification indicating the start to the job history holding unit α when the job is conveyed to itself. At this time, not only this notification but also a job information fragment regarding the start may be sent together.
[0091]
After performing job processing, the subsystem conveys the job to the subsystem in the next process.
When the subsystem starts job processing, it sends a Start notification to the job history information holding unit. The subsystem in the previous process sends a notification indicating that the job information fragment is not sent after the job transfer is completed. In the same manner as described above, a job information fragment regarding the end of its own job processing may be sent together.
[0092]
Similarly, the subsystem of the next process sends the job process to the next process after the job processing, and sends the End notification (and the job information fragment if necessary) to the job history holding unit. Some subsystems monitor from outside the job path without intervening in the job flow. In this example, it is assumed that there is a subsystem that monitors the printing apparatus.
[0093]
When this subsystem finds that a job has been generated (or received) at a point monitored by itself, it sends a Start notification and a supplemental job information fragment to the job history holding unit as described above. When the job disappears at that point, an end notification or supplemental job information fragment is sent to the job history holding unit.
[0094]
On the other hand, the job history holding unit accumulates Start-End and job information fragments associated therewith. If an end notification is received from one subsystem for an arbitrary job, but only a start notification is received from another subsystem, this job will survive on the system, and information fragments will be gathered in the future. There is a possibility that. In that case, the job is still open.
[0095]
When all subsystems that sent Start receive an End notification for the job, it is determined that no more information fragments for the job can be received on the system, the job information is closed, and the information fragments are merged. I do. In this way, even when various subsystems on the system supply job information fragments at various timings, it is possible to obtain accurate timing for collecting information fragments.
[0096]
FIG. 17 shows a flow of processing for the above processing. First, when a job is conveyed to Subsystem A, a notification indicating the start is sent to the job history holding unit, and job processing is started. When the job processing is completed, the job is transferred to Subsystem B, which is a subsystem in the next process.
[0097]
When the conveyance is completed, a notification indicating the completion is sent to the job history holding unit. On the other hand, Subsystem B to which the job has been conveyed sends a notification indicating the start to the job history holding unit, and starts processing the conveyed job.
[0098]
Similarly, when the processing is completed, the job is conveyed to a printing apparatus which is a subsystem of the next process. When the conveyance is completed, a notification indicating the completion is sent to the job history holding unit. On the other hand, in the printing apparatus to which the job is conveyed, when the conveyance is completed, the printing process is performed and the process is terminated.
[0099]
Also, in Subsystem X that does not participate in the job flow, when the conveyance of the job from Subsystem B to the printing device starts, the job history holding unit is notified of the start, and when all the processes in the system are completed, A notification indicating completion is sent to the job history holding unit.
[0100]
【The invention's effect】
As is clear from the above description, according to the present invention, job information stored in each module is integrated for a single print job, so that the user can obtain it by printing the result. This makes it easier for the user to obtain overall information about each print job than in the past.
[0101]
Further, by embedding the identification information in the print job, when integrating the print job information, there is a possibility that even if the job is performed in a different print job, it is determined that the job is performed in the same print job. As a result, the user can grasp more accurate job information.
[0102]
Further, when job information performed in the same print job existing in a plurality of history information is integrated, by detecting and merging overlapping information elements, the integrated job history information It is simplified without being lost, and it is easy to see when the user browses the data.
[0103]
Also,Even if the job identifier cannot be directly read out, it can be retrieved and read out, so that the identifier can be surely read out and the print jobs can be collected more accurately.
[0104]
Also,Since identifiers that are no longer necessary in the job history holding unit can be discarded, the job history holding unit can use the identifier storage area more efficiently.
[0105]
Also,Since the subsystem can grasp the timing of grouping the jobs, each subsystem can group the jobs at an appropriate timing for grouping the jobs.
[Brief description of the drawings]
FIG. 1 is an overall configuration diagram of a first embodiment according to a printing system of the present invention.
FIG. 2 is an example of
FIG. 3 shows the contents of a program that executes a processing operation in the first embodiment.
FIG. 4 is a flowchart showing an operation in the first embodiment.
FIG. 5 is an overall configuration diagram of a second embodiment according to the printing system of the present invention.
FIG. 6 shows an example of history information stored in each module in the second embodiment.
FIG. 7 is a flowchart showing the operation of each module in the second embodiment.
FIG. 8 is an overall configuration diagram of a third embodiment according to the printing system of the present invention.
FIG. 9 shows a program for executing processing operations in the third embodiment.
FIG. 10 is a flowchart showing the operation in the third embodiment.
FIG. 11 is a configuration diagram of a printing system applied as an embodiment of the present invention.
FIG. 12 is a flowchart showing processing in which a job generation subsystem stores a key and an identifier, and job reception / monitoring subsystem retrieves an identifier from a key.
FIG. 13 is a diagram illustrating a basic model of a print job, embedding in job data, and ID notification in a job transport unit.
FIG. 14 is a configuration diagram of a printing system applied as an embodiment of the present invention.
FIG. 15 is a flowchart showing processing for assigning identifier numbers and processing performed when job information is generated by a subsystem.
FIG. 16 is a configuration diagram of a printing system applied as an embodiment of the present invention.
FIG. 17 is a flowchart illustrating the start and end of a job by each subsystem in a job history holding unit.
[Explanation of symbols]
10 clients
11 Application
12 Driver
12a History information stored in the driver
12b History information stored in the driver
12c History information stored in the driver
13 Server communication
13a History information stored in server communication
13b History information stored in server communication
13c History information stored in server communication
20 server PC
21 Additional services
21a History information stored in additional services
21b History information stored in additional services
21c History information stored in additional services
30 Printing device
30a History information stored in the printing device
30b History information stored in the printing device
30c History information stored in the printing device
40 Job information history device
40a History information stored in the job information history device
40b History information stored in the job information history device
40c History information stored in the job information history device
A subsystem
B subsystem
C subsystem
X subsystem
Claims (12)
印刷装置駆動部は、ドライバ履歴情報を記憶する第1の記憶手段を有し、
印刷装置は、前記印刷装置が行った印刷装置履歴情報を記憶する第2の記憶手段を有し、
印刷管理装置は、
前記第1の記憶手段が記憶するドライバ履歴情報と、前記第2の記憶手段が記憶する印刷装置履歴情報とを読み出す手段と、
前記読み出し手段によって読み出された前記ドライバ履歴情報および前記印刷装置履歴情報を記憶する第3の記憶手段と、
前記読み出された前記ドライバ履歴情報および前記印刷装置履歴情報のいずれかに含まれるデータに示される処理を選択し、基準の処理を決定する基準ジョブ決定手段と、
前記基準ジョブ決定手段によって決定された基準の処理とは別のデータで示される処理が、同一の印刷ジョブで行われているか否かを判断する判断手段と、
前記基準の処理を示すデータとは別の処理を示すデータを基準の処理を示すデータに追加し、また、前記基準の処理とは別のデータで示される処理が前記判断手段によって前記印刷ジョブで行われていると判断された場合に追加されるデータ追加手段と、
前記データ追記手段により追加され、1つの印刷ジョブのジョブ情報として統合された統合履歴情報を前記クライアントに転送する転送手段と、を有することを特徴とする印刷システム。A print system in which a print data generation unit of a client on a network transmits print data through the network and prints,
The printing apparatus driving unit has first storage means for storing driver history information,
The printing apparatus includes a second storage unit that stores printing apparatus history information performed by the printing apparatus,
The print management device
Means for reading out driver history information stored in the first storage means and printing apparatus history information stored in the second storage means ;
Third storage means for storing the driver history information and the printing apparatus history information read by the reading means;
A reference job determination unit that selects a process indicated by data included in any of the read driver history information and the printing apparatus history information, and determines a reference process;
Determining means for determining whether or not processing indicated by data different from the reference processing determined by the reference job determining means is performed in the same print job;
Data indicating a process different from the data indicating the reference process is added to the data indicating the reference process, and a process indicated by data different from the reference process is added to the print job by the determination unit. A data adding means to be added when it is determined that it is being performed;
And a transfer unit configured to transfer integration history information added by the data appending unit and integrated as job information of one print job to the client .
前記判断手段による判断の基準は、前記識別情報組み込み手段によって組み込まれた識別情報に基づくことを特徴とする請求項1又は2に記載の印刷システム。 The printing system according to claim 1, wherein a criterion for determination by the determination unit is based on identification information incorporated by the identification information incorporation unit.
前記判断手段によって判断される際に、前記ドライバ履歴情報の情報項目と前記印刷装置履歴情報の情報項目とが一致する場合、前記ドライバ履歴情報の情報項目および前記印刷装置履歴情報の情報項目のいずれか一方を前記第2の削除手段によって削除することを特徴とする請求項1から3のいずれか1項に記載の印刷システム。 If the information item of the driver history information and the information item of the printing device history information match when determined by the determining means, any of the information item of the driver history information and the information item of the printing device history information 4. The printing system according to claim 1, wherein one of the two is deleted by the second deleting unit.
前記読み出し手段は、前記第4の記憶手段が記憶するサーバ履歴情報をさらに読み出すことを特徴とする請求項1に記載の印刷システム。 The printing system according to claim 1, wherein the reading unit further reads server history information stored in the fourth storage unit.
該印刷システムは、各印刷ジョブを識別するジョブ識別子と、前記印刷システムの所定の範囲内で前記ジョブ識別子を検索するために用いられるキーとを対応づけて保存するジョブID一覧保持部を有し、 The printing system includes a job ID list holding unit that stores a job identifier for identifying each print job and a key used for searching for the job identifier within a predetermined range of the printing system in association with each other. ,
前記複数のサブシステムは、前記キーによって前記識別子を検索し、該識別子によって、前記印刷ジョブにおいて前記複数のサブシステム各々で行われるジョブである断片ジョブをまとめることを特徴とする印刷システム。 The printing system, wherein the plurality of subsystems retrieves the identifier by the key, and collects fragment jobs that are jobs performed in each of the plurality of subsystems in the print job by the identifier.
前記破棄する時期は前記複数のサブシステムの通知によって決定されることを特徴とする請求項10記載の印刷システム。 The printing system according to claim 10, wherein the discarding time is determined by a notification from the plurality of subsystems.
前記サブシステムは、前記ジョブ開始終了通知手段が前記断片ジョブの終了を通知してから、前記断片ジョブをまとめることを特徴とする請求項10又は11記載の印刷システム。 12. The printing system according to claim 10, wherein the sub-system collects the fragment jobs after the job start / end notification unit notifies the end of the fragment jobs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000353484A JP4121006B2 (en) | 2000-04-24 | 2000-11-20 | Printing system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-123237 | 2000-04-24 | ||
JP2000123237 | 2000-04-24 | ||
JP2000353484A JP4121006B2 (en) | 2000-04-24 | 2000-11-20 | Printing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002014791A JP2002014791A (en) | 2002-01-18 |
JP4121006B2 true JP4121006B2 (en) | 2008-07-16 |
Family
ID=26590686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000353484A Expired - Fee Related JP4121006B2 (en) | 2000-04-24 | 2000-11-20 | Printing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4121006B2 (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005545A (en) | 2002-04-12 | 2004-01-08 | Canon Inc | Job management apparatus, job management method, control program, and job management system |
JP4497808B2 (en) | 2002-11-27 | 2010-07-07 | キヤノン株式会社 | Information processing method, information processing server, and program |
US7691556B2 (en) | 2004-09-15 | 2010-04-06 | Az Electronic Materials Usa Corp. | Antireflective compositions for photoresists |
JP4591888B2 (en) * | 2004-12-28 | 2010-12-01 | キヤノンマーケティングジャパン株式会社 | Print log collection device, print log management system, print log collection device processing method, print log management system processing method and program |
JP4786907B2 (en) * | 2005-01-25 | 2011-10-05 | キヤノン株式会社 | Information processing apparatus, information processing method, system, and system control method |
US7553905B2 (en) | 2005-10-31 | 2009-06-30 | Az Electronic Materials Usa Corp. | Anti-reflective coatings |
JP4869104B2 (en) * | 2007-02-22 | 2012-02-08 | キヤノン株式会社 | Printing system, information processing apparatus, and information processing method |
JP5171296B2 (en) * | 2008-02-07 | 2013-03-27 | キヤノン株式会社 | Image storage system, image processing apparatus, image storage method, and program |
US8493608B2 (en) | 2010-03-25 | 2013-07-23 | Kyocera Document Solutions Inc. | Image forming apparatus capable of managing job history, computer-readable recording medium storing job history management program code, and job history management method in the image forming apparatus |
JP5155353B2 (en) * | 2010-03-25 | 2013-03-06 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus and job history management method in image forming apparatus |
JP5155354B2 (en) * | 2010-03-25 | 2013-03-06 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus and job history management method in image forming apparatus |
JP6148042B2 (en) * | 2013-03-14 | 2017-06-14 | キヤノン電子株式会社 | Information processing apparatus and information processing method |
JP7031384B2 (en) * | 2018-03-09 | 2022-03-08 | 富士フイルムビジネスイノベーション株式会社 | Information processing equipment, image readers and programs |
-
2000
- 2000-11-20 JP JP2000353484A patent/JP4121006B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002014791A (en) | 2002-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4121006B2 (en) | Printing system | |
US20060170962A1 (en) | Image processing apparatus, log management method, and log management system | |
US8141161B2 (en) | System and method for managing trace of certifications | |
CN103581287A (en) | Push notification system and method | |
US20060017963A1 (en) | Media conversion apparatus, network type direct output system, and method for output process instruction transfer | |
US20120075665A1 (en) | Printing system, printing control apparatus and printing apparatus | |
CN1838713B (en) | Printing system, printing method and printing apparatus | |
JP4958643B2 (en) | Information processing apparatus and method, program, and printing system | |
CN101211361B (en) | Information processing apparatus, information processing system and information processing method | |
US7239410B2 (en) | Printing system, data processing system and method for confirming job process result | |
US20080065733A1 (en) | Log transfer device and recording medium | |
US7256907B2 (en) | Server apparatus, job managing method, computer-readable memory medium, and program | |
US20040190050A1 (en) | Method of reporting status of execution of print job | |
JP4075531B2 (en) | Printing history management method and printing status identification method | |
JP2007058408A (en) | Serial number output system | |
US20080106756A1 (en) | Document managing system and computer readable medium | |
JPH11134134A (en) | Print system | |
JP2003308191A (en) | Print system, information processor, information processing method, and control program | |
CN101576814B (en) | Information processing apparatus and information processing method | |
JPH09212315A (en) | Network printer | |
JP4137143B2 (en) | Trail management system and method | |
JP4137141B2 (en) | Trail management device | |
JP4137142B2 (en) | Printing device | |
JP7414617B2 (en) | Systems, server devices, and methods | |
JP3970503B2 (en) | Terminal device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050121 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080212 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080318 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080415 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080423 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110509 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120509 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120509 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130509 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140509 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |