(57)【特許請求の範囲】
【請求項１】
各ホストコンピュータ内でユニークに識別される第１の識別情報を有するプリントジョブデータを受信するために、ホストコンピュータとの間で通信を行う第１の通信手段と、
前記第１の通信手段によって受信されるプリントジョブデータに基づいて所定の印刷処理を行い、前記所定の印刷処理に基づく所定のジョブ情報を出力する印刷処理手段と、
前記印刷処理手段によって出力されるジョブ情報を、前記プリントジョブデータごとに前記第１の識別情報と対応付けて記憶するジョブ情報記憶手段と、
前記ホストコンピュータとの間で前記ジョブ情報に関する通信を行う第２の通信手段と、
前記第２の通信手段によって受信される所定の取得要求に基づいて、前記ジョブ情報記憶手段から所定のジョブ情報を読み出して、前記第２の通信手段に出力する印刷管理手段とを備えたことを特徴とするプリンタ。
【請求項２】
前記印刷処理手段は、
前記第１の通信手段からプリントジョブデータを受け取った場合に、前記プリントジョブデータにプリンタ自身が前記プリントジョブデータをユニークに識別するための第２の識別情報を割り当て、
前記ジョブ情報記憶手段は、
前記第２の識別情報に対応する所定の領域に前記プリントジョブデータのジョブ情報を記憶することを特徴とする請求項１記載のプリンタ。
【請求項３】
前記印刷管理手段は、
前記所定の取得要求が前記第２の識別情報の取得要求である場合に、前記第１の識別情報と前記第２の識別情報とを関連付けて、前記第２の通信手段に出力することを特徴とする請求項２記載のプリンタ。
【請求項４】
前記印刷管理手段は、
前記第２の識別情報に従って前記ジョブ情報記憶手段から前記ジョブ情報を読み出すことを特徴とする請求項３記載のプリンタ。
【請求項５】
前記印刷処理手段は、
前記プリントジョブデータに対する印刷処理の進捗の度合いを示す情報をジョブ情報として出力することを特徴とする請求項１乃至４記載のプリンタ。
【請求項６】
前記印刷処理手段は、
前記プリントジョブデータに対する印刷処理に要する消費に関する情報をジョブ情報として出力することを特徴とする請求項１乃至５記載のプリンタ。
【請求項７】
アプリケーションプログラムから送られるアプリケーションデータに基づいてプリントジョブデータを生成する生成手段と、
前記生成手段によって生成されるプリントジョブデータに対して各ホストコンピュータ内でユニークに識別される第１の識別情報を割り当てる割当手段と、
前記生成手段によって生成されたプリントジョブデータを、前記割当手段によって割り当てられた第１の識別情報とともにプリンタに送る送信手段と、
前記割当手段により割り当てられた第１の識別情報に基づいて、前記プリンタから前記プリントジョブデータのジョブ情報を取得する取得手段と、前記取得手段により取得されたジョブ情報をユーザに提示するユーザインターフェース手段と、を備えたことを特徴とするホストコンピュータ。
【請求項８】
ホストコンピュータに所定の機能を実現する制御プログラムを記録した記録媒体であって、前記制御プログラムは、
アプリケーションプログラムから送られるアプリケーションデータに基づいてプリントジョブデータを生成する生成手段と、
前記生成手段によって生成されるプリントジョブデータに対して各ホストコンピュータ内でユニークに識別されるジョブ識別情報を割り当て、前記プリントジョブデータとともにジョブ識別情報をプリンタに対して出力する割当手段と、
前記割当手段により割り当てられたジョブ識別情報に基づいて、前記プリンタから前記プリントジョブデータのジョブ情報を取得する取得手段と、を備えたことを特徴とする制御プログラムを記録した記録媒体。
【請求項９】
ホストコンピュータとプリンタとを備えたプリントシステムであって、
前記ホストコンピュータは、
アプリケーションプログラムから送られるアプリケーションデータに基づいてプリントジョブデータを生成する生成手段と、
前記生成手段によって生成されるプリントジョブデータに対して各ホストコンピュータ内でユニークに識別される第１の識別情報を割り当てる割当手段と、
前記生成手段によって生成されたプリントジョブデータを、前記割当手段によって割り当てられた第１の識別情報とともに前記プリンタに送る送信手段と、
前記割当手段により割り当てられた第１の識別情報に基づいて、前記プリンタから前記プリントジョブデータのジョブ情報を取得する取得手段と、
前記取得手段により取得されたジョブ情報をユーザに提示するユーザインターフェース手段と、を備え、
前記プリンタは、
前記ホストコンピュータから送られるプリントジョブデータに基づいて所定の印刷処理を行い、前記所定の印刷処理に基づく所定のジョブ情報を出力する印刷処理手段と、
前記印刷処理手段によって出力されるジョブ情報を、前記プリントジョブデータごとに前記第１の識別情報と対応付けて記憶するジョブ情報記憶手段と、
前記ホストコンピュータから送られる所定の取得要求に基づいて、前記ジョブ情報記憶手段から所定のジョブ情報を読み出して、前記ホストコンピュータに対して出力する印刷管理手段と、
を備えたことを特徴とするプリントシステム。
【請求項１０】
ホストコンピュータから第１の通信プロトコルに従って各ホストコンピュータ内でユニークに識別される第１の識別情報を有するプリントジョブデータを受け取り、
前記受信したプリントジョブデータに基づいて所定の印刷処理を行うとともに、前記所定の印刷処理に基づく所定のジョブ情報を出力し、
前記出力したジョブ情報を、前記プリントジョブデータごとに前記第１の識別情報と対応付けて記憶しておき、
前記ホストコンピュータから第２の通信プロトコルに従って所定の取得要求を受け取り、
前記所定の取得要求に基づいて前記ジョブ情報記憶手段から所定のジョブ情報を読み出し、
前記読み出した所定のジョブ情報を前記ホストコンピュータに送ることを特徴とするプリンタの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタの技術に関し、特に、プリンタに投入されたプリントジョブデータの印刷処理状況をユーザに提示するための技術に関する。
【従来技術】
近年、ネットワーク技術の発達に伴い、プリンタは、ＬＡＮなどのネットワークに接続され、複数のホストコンピュータによって共用されるようになった。
【０００２】
このようなネットワーク対応型のプリンタは、ホストコンピュータとの間で所定の通信プロトコルに従った通信を行うことで、プリントジョブデータを受信し、これを内部のバッファ装置（プリントスプーラ）に記憶する。プリンタは、このバッファ装置に記憶したプリントジョブデータを読み出し、解釈してイメージデータを生成し、これをイメージメモリに展開する。そして、プリンタは、イメージメモリ上に展開されたイメージデータを印刷実行部分である印刷エンジンに供給する。これにより、プリンタは、印刷記録媒体（用紙）に対する印刷を実現する。
【発明が解決しようとする課題】
ネットワーク対応型のプリンタは、複数のホストコンピュータからプリントジョブデータをそれぞれ受信した場合には、それらをバッファ装置に順に記憶した後、印刷処理を行っている。
【０００３】
この場合、ユーザは、現在プリントアウトされている印刷記録媒体がどのホストコンピュータからのプリントジョブデータであるかを、ホストコンピュータ上で確認することはできなかった。また、ユーザは、印刷に際して自身が投入したプリントジョブデータが、現在、どの段階の印刷処理を経ているのかを確認することができなかった。
【０００４】
そこで、本発明は、ホストコンピュータから送信されるプリントジョブデータに対する印刷処理の状況を管理するプリンタを提供することを目的とする。
【０００５】
また、本発明は、このようなプリントジョブデータに対する印刷処理の状況を管理するプリンタにおいて、ホストコンピュータから送信される、特定のプリントジョブデータに対する印刷処理の状況に関する問い合わせに対して応答し、ユーザにその印刷処理の状況を提示することのできるプリンタを提供することを目的とする。
【課題を解決するための手段】
上記課題を解決するために、本発明は以下のように特定される。
【０００６】
すなわち、本発明は、ホストコンピュータから送られる、所定の識別情報を有するプリントジョブデータに対して所定の印刷処理を行うプリンタであって、前記ホストコンピュータから送られるジョブ情報の取得要求を受け取った場合に、前記取得要求によって指定される所定の識別情報に対応するプリントジョブデータのジョブ情報を、前記ホストコンピュータに返答することを特徴とするプリンタである。
【０００７】
より具体的には、本発明は、第１の識別情報を有するプリントジョブデータを受信するために、ホストコンピュータとの間で通信を行う第１の通信手段と、前記第１の通信手段によって受信されるプリントジョブデータに基づいて所定の印刷処理を行い、前記所定の印刷処理に基づく所定のジョブ情報を出力する印刷処理手段と、前記印刷処理手段によって出力されるジョブ情報を、前記プリントジョブデータごとに記憶するジョブ情報記憶手段と、前記ホストコンピュータとの間で前記ジョブ情報に関する通信を行う第２の通信手段と、前記第２の通信手段によって受信される所定の取得要求に基づいて、前記ジョブ情報記憶手段から所定のジョブ情報を読み出して、前記第２の通信手段に出力する印刷管理手段とを備えたことを特徴とするプリンタである。
【０００８】
ここで、前記印刷処理手段は、前記第１の通信手段からプリントジョブデータを受け取った場合に、前記プリントジョブデータに第２の識別情報を割り当て、前記ジョブ情報記憶手段は、前記第２の識別情報に対応する所定の領域に前記プリントジョブデータのジョブ情報を記憶する。これにより、プリンタは、第２の識別情報に従ってプリントジョブデータを管理することができる。
【０００９】
また、前記印刷管理手段は、前記所定の取得要求が前記第２の識別情報の取得要求である場合に、前記第１の識別情報と前記第２の識別情報とを関連付けて、前記第２の通信手段に出力することが好ましい。これにより、ホストコンピュータは、自身内の第１の識別情報に対応するプリンタ内の第２の識別情報を取得することができる。
【００１０】
さらに、前記印刷管理手段は、前記第２の識別情報に従って前記ジョブ情報記憶手段から前記ジョブ情報を読み出すことが好ましい。
【００１１】
また、前記印刷処理手段は、前記プリントジョブデータに対する印刷処理の進捗の度合いを示す情報をジョブ情報として出力することが好ましい。さらにまた、前記印刷処理手段は、前記プリントジョブデータに対する印刷処理に要する消費に関する情報をジョブ情報として出力することが好ましい。なお、印刷処理に要する消費に関する情報は、例えば、トナーの消費量、用紙の消費量などが上げられる。
【００１２】
また、本発明は、アプリケーションプログラムから送られるアプリケーションデータに基づいてプリントジョブデータを生成する生成手段と、前記生成手段によって生成されるプリントジョブデータに対して第１の識別情報を割り当てる割当手段と、前記生成手段によって生成されたプリントジョブデータを、前記割当手段によって割り当てられた第１の識別情報とともにプリンタに送る送信手段と、前記割当手段により割り当てられた第１の識別情報に基づいて、前記プリンタから前記プリントジョブデータのジョブ情報を取得する取得手段と、前記取得手段により取得されたジョブ情報をユーザに提示するユーザインターフェース手段と、を備えたことを特徴とするホストコンピュータである。
【００１３】
さらに、本発明は、ホストコンピュータに所定の機能を実現させるプログラムとしても成立する。具体的には、本発明は、ホストコンピュータに所定の機能を実現する制御プログラムを記録した記録媒体であって、前記制御プログラムは、アプリケーションプログラムから送られるアプリケーションデータに基づいてプリントジョブデータを生成する生成手段と、前記生成手段によって生成されるプリントジョブデータに対してジョブ識別情報を割り当て、前記プリントジョブデータとともにジョブ識別情報をプリンタに対して出力する割当手段と、前記割当手段により割り当てられたジョブ識別情報に基づいて、前記プリンタから前記プリントジョブデータのジョブ情報を取得する取得手段と、を備えたことを特徴とする制御プログラムを記録した記録媒体であってもよい。これらの手段は、１つのプリンタドライバとして構成され、または、複数のモジュールとして構成される。
【００１４】
また、本発明は、ホストコンピュータとプリンタとを備えたプリントシステムであって、前記ホストコンピュータは、アプリケーションプログラムから送られるアプリケーションデータに基づいてプリントジョブデータを生成する生成手段と、前記生成手段によって生成されるプリントジョブデータに対して第１の識別情報を割り当てる割当手段と、前記生成手段によって生成されたプリントジョブデータを、前記割当手段によって割り当てられた第１の識別情報とともに前記プリンタに送る送信手段と、前記割当手段により割り当てられた第１の識別情報に基づいて、前記プリンタから前記プリントジョブデータのジョブ情報を取得する取得手段と、前記取得手段により取得されたジョブ情報をユーザに提示するユーザインターフェース手段と、を備え、前記プリンタは、前記ホストコンピュータから送られるプリントジョブデータに基づいて所定の印刷処理を行い、前記所定の印刷処理に基づく所定のジョブ情報を出力する印刷処理手段と、前記印刷処理手段によって出力されるジョブ情報を、前記プリントジョブデータごとに記憶するジョブ情報記憶手段と、前記ホストコンピュータから送られる所定の取得要求に基づいて、前記ジョブ情報記憶手段から所定のジョブ情報を読み出して、前記ホストコンピュータに対して出力する印刷管理手段とを備えたことを特徴とするプリントシステム。
【００１５】
また、本発明は方法の発明としても成立する。具体的には、本発明は、ホストコンピュータから第１の通信プロトコルに従って第１の識別情報を有するプリントジョブデータを受け取り、前記受信したプリントジョブデータに基づいて所定の印刷処理を行うとともに、前記所定の印刷処理に基づく所定のジョブ情報を出力し、前記出力したジョブ情報を、前記プリントジョブデータごとに記憶しておき、前記ホストコンピュータから第２の通信プロトコルに従って所定の取得要求を受け取り、前記所定の取得要求に基づいて前記ジョブ情報記憶手段から所定のジョブ情報を読み出し、前記読み出した所定のジョブ情報を前記ホストコンピュータに送ることを特徴とするプリンタの制御方法である。
【００１６】
なお、前記記録媒体とは、例えば、ハードディスク（ＨＤ）、ＤＶＤ−ＲＡＭ、フレキシブルディスク（ＦＤ）やＣＤ−ＲＯＭ等のほかに、ＲＡＭやＲＯＭ等のメモリを含む。また、前記ホストコンピュータとは、例えば、ＣＰＵやＭＰＵといったいわゆる中央処理装置がプログラムを解釈することで所定の処理を行う、いわゆるマイクロコンピュータや制御装置等をも含む。
【発明の実施の形態】
次に、本発明の実施の形態について、図面を参照しつつ説明する。
【００１７】
図１は、本実施形態に係るプリントシステムの全体構成を示すブロックダイアグラムである。同図に示すように、本実施形態に係るプリントシステムは、ネットワークＮを介して相互に接続されたホストコンピュータ１とプリンタ２とによって構成される。なお、同図では、それぞれ代表する１台のみを示している。
【００１８】
ホストコンピュータ１は、アプリケーションプログラムの実行体（以下「アプリケーション」という。）１１と、アプリケーション１１との間でユーザが対話的に操作を行うためのユーザインターフェース部（以下「ユーザＩ／Ｆ部」という。）１２と、アプリケーション１１が扱うデータをプリントジョブデータに変換するプリンタドライバの実行体（以下「プリンタドライバ」という。）１３と、ネットワーク通信を行うための通信インターフェース部（以下「通信Ｉ／Ｆ部」という。）１４ａ、プリンタ２に投入したプリントジョブデータの印刷状況をプリンタ２から取得する監視プログラム１５とを備える。
【００１９】
一方、プリンタ２は、ネットワーク通信を行うための通信Ｉ／Ｆ部１４ｂと、ネットワークＮを介してホストコンピュータ１から送られるプリントジョブデータに従って印刷処理を行う印刷処理部１６と、印刷処理部１６から出力される印刷処理の状況を記憶し、ホストコンピュータ１の監視プログラム１５からの印刷処理の状況に関する問い合わせに応答して、その状況をホストコンピュータ１に返答するための印刷管理部１７とを備える。
【００２０】
アプリケーション１１は、典型的には、テキストデータやイメージデータを作成・編集することのできるワードプロセッサなどであり、図示しないＣＰＵが、オペレーティングシステムの制御の下、アプリケーションプログラムを実行することにより、他のハードウェアと共働してその機能を実現する。ユーザＩ／Ｆ部１２は、典型的には、ディスプレイ、キーボード、マウスなどのハードウェア並びにこれらのハードウェアを制御する制御プログラム（デバイスドライバと呼ばれることもある。）およびオペレーティングシステムなどから構成され、ユーザとの間の対話的な操作を実現する。プリンタドライバ１３は、アプリケーション１１上のデータを、特定のプリンタ１が解釈するためのプリントジョブデータに変換する。監視プログラム１５は、プリンタ２に投入したプリントジョブデータに対する印刷処理の状況を監視（モニタリング）するための機能を有し、典型的にはいわゆるデーモンプログラムとして動作する。通信Ｉ／Ｆ部１４は、ＬＡＮドライバおよび各種ハードウェアによって実現され、所定の通信プロトコルに従って、ネットワーク通信を行う。本実施形態における通信Ｉ／Ｆ部１４は、ホストコンピュータ１がプリントジョブデータをプリンタ２に送り込む（投入する）ための第１の通信プロトコルと、ホストコンピュータ１がプリンタ２内のプリントジョブデータに対する印刷処理の状況を監視するための第２の通信プロトコルとを備えることが好ましい。より具体的には、通信Ｉ／Ｆ部１４は、例えば、ＴＣＰ／ＩＰベース上では、プリントジョブデータの送信（投入）にｌｐｒを用い、プリントジョブデータの監視のための通信にＳＮＭＰ（Simple Network Management Protocol）を用いることができる。なお、ＳＮＭＰは、ＲＦＣ（Request For Comments）１１５７に記述されている。
【００２１】
印刷処理部１６は、ホストコンピュータ１から送られるプリントジョブデータを解釈してイメージデータを生成し、これをプリントエンジンに供給することにより、印刷を実現する。印刷管理部１７は、印刷処理部１６の実行により得られる印刷処理の状況に関する情報（以下「ジョブ情報」という。）を管理するとともに、ホストコンピュータ１からの問い合わせに応答して、このジョブ情報をホストコンピュータ１に返答する。この印刷管理部１７の詳細については、後述する。
【００２２】
図２は、本実施形態に係るホストコンピュータ１の構成を示すブロックダイアグラムである。同図は、図１に示したプリンタドライバ１３、通信Ｉ／Ｆ部１４ａおよび監視プログラム１５をより詳細に示したものである。同図において、ジョブ生成部１３１は、印刷しようとするデータをアプリケーション１１から受け取ると、プリンタ２が解釈可能なプリントジョブデータを生成する。ジョブ生成部１３２は、生成したプリントジョブデータをジョブＩＤ生成部１３２に送る。ジョブＩＤ割当部１３２は、送られてきたプリントジョブデータに対するジョブＩＤを発行し、割り当てる。ジョブＩＤは、各ホストコンピュータ１内でユニークに識別される情報であり、例えば、英数字の組み合わせで表現される。ジョブＩＤ割当部１３２は、ジョブＩＤを割り当てたプリントジョブデータを通信Ｉ／Ｆ部１４のジョブ投入Ｉ／Ｆ部１４１ａに送るとともに、割り当てたジョブＩＤをジョブ監視マネージャ１５１に通知する。ジョブ監視マネージャ１５１は、通知されたジョブＩＤをジョブＤＢ１５２に格納する。また、ジョブ監視マネージャ１５１は、ジョブＤＢ１５２に格納されているジョブＩＤに対応するプリントジョブデータのジョブ情報をプリンタ２から取得して、これをユーザＩ／Ｆ部１２に送る。ジョブＤＢ１５２は、図３に示すように、ジョブＩＤとインデックス番号とを対応付けて記憶する。ここで、インデックス番号は、プリンタ２自身がプリントジョブデータをユニークに識別するための情報である。つまり、ジョブＩＤは各ホストコンピュータ内ではユニークであっても、プリンタ２には任意のホストコンピュータからプリントジョブデータが到着するため、プリンタ２内ではユニークでない場合も想定される。従って、プリンタ２は、ホストコンピュータ１から受け取ったプリントジョブデータに対して自身の中でユニークな識別情報として、インデックス番号を割り当てている。このインデックス番号は、後述するように、ジョブ監視マネージャ１５１によってプリンタ２から取得される。通信Ｉ／Ｆ部１４は、プリントジョブデータをプリンタ２に送り込むための通信を行うジョブ投入Ｉ／Ｆ部１４１ａおよびジョブ情報に関する通信を行うジョブ情報Ｉ／Ｆ部１４２ａを備える。ジョブ投入Ｉ／Ｆ部１４１ａは、ジョブＩＤが割り当てられたプリントジョブデータをプリンタ２に送り込むために、例えばｌｐｒなどによってプリンタ２のジョブ投入Ｉ／Ｆ部１４１ｂとの間で通信を行うものである。一方、ジョブ監視Ｉ／Ｆ部１４２ａは、プリンタ２から特定のプリントジョブデータに関するジョブ情報を取得するために、好ましくは、ＳＮＭＰによってプリンタ２のジョブ監視Ｉ／Ｆ部１４２ｂとの間で通信を行うものである。
【００２３】
図４は、本実施形態に係るプリンタ２の構成を示すブロックダイアグラムである。同図において、ジョブ投入Ｉ／Ｆ部１４１ｂおよびジョブ監視Ｉ／Ｆ部１４２ｂは、図２に示したホストコンピュータ１のジョブ投入Ｉ／Ｆ部１４１ａおよびジョブ監視Ｉ／Ｆ部１４２ａに対応し、これらとの間で、ネットワーク通信を行う。
【００２４】
印刷処理部１６は、典型的には、ジョブバッファ部１６１と、イメージ生成部１６２と、エンジン制御部１６３と、プリントエンジン１６４とを備える。ジョブバッファ部１６１は、ジョブ投入Ｉ／Ｆ部１４１ａ，１４１ｂを介してホストコンピュータ１からプリントジョブデータを受け取ると、プリントジョブデータごとに記憶する。ジョブバッファ部１６１は、プリントジョブデータを記憶すると、このプリントジョブデータに対するジョブ情報をジョブ情報記憶部１６２の所定の領域に出力する。具体的には、ジョブバッファ部１６１は、まず、プリンタ内で固有のインデックス番号を発行する。インデックス番号は、例えば、０〜２３２−１までの整数値であり、１つずつカウントアップされる。このインデックス番号は、プリンタ２の電源がＯＦＦになっても現在値がリセットされないように、不揮発性ＲＡＭに保持される。次に、ジョブバッファ部１６１は、このインデックス番号で管理されるジョブ情報記憶部１６２の所定の領域に、そのプリントジョブデータに割り当てられているジョブＩＤおよびそのプリントジョブデータに対する印刷処理のステータス情報（以下「ジョブの状態」という。）をジョブ情報として出力する。この場合、ジョブの状態は、プリントジョブデータが印刷待機中であることを示す値（例えば、“１”）が出力される。イメージ生成部１６２は、ジョブバッファ部１６１に記憶されたプリントジョブデータを順次読み出してこれを解釈し、ラスタ形式のイメージデータに変換し、図示しないイメージメモリに展開する。プリンタ２がカラー対応である場合には、イメージ生成部１６２は、ＣＭＹＫ各色のイメージデータを生成することになる。イメージ生成部１６２は、イメージデータの生成処理を開始した場合には、ジョブ情報記憶部１６２に記憶されたそのプリントジョブデータのジョブの状態を、印刷中であることを示す値（例えば、“２”）に変更する。エンジン制御部１６３は、イメージメモリに展開されたイメージデータを読み出して、プリントエンジン１６４に送出する。プリントエンジン１６４は、印刷記録媒体に印刷を行うものである。プリントエンジン１６４は、例えばレーザプリンタであれば、レーザ照射機構や感光体ドラム、熱定着機構、用紙送り機構等により構成される。エンジン制御部１６３は、プリントエンジン１６４に送出する際に得られるジョブ情報をジョブ情報記憶部１６２に出力する。エンジン制御部１６３が出力するジョブ情報は、トナー（インク）の消費量や用紙サイズ、用紙の消費枚数などである。また、カラー印刷の場合には、トナーの消費量は、ＹＭＣＫ各色ごとにジョブ情報記憶部１６２に出力される。エンジン制御部１６３は、また、プリントエンジン１５３による印刷が正常に終了した場合には、ジョブの状態として正常印刷終了であることを示す値（例えば、“３”）を出力する。
【００２５】
ジョブ監視エージェント１７１は、ジョブ情報Ｉ／Ｆ部１４２ｂから送られるジョブ情報取得要求に対して、ジョブ情報記憶部１７２の所定の記憶領域からジョブ情報を抽出し、これをジョブ情報Ｉ／Ｆ部１４２ｂに返答する。ジョブ情報記憶部１７２は、印刷処理部１６の各部から送られるジョブ情報をプリントジョブデータごとに記憶する。
【００２６】
図５は、ジョブ情報記憶部１７２に記憶されるジョブ情報の一例を示している。ジョブ情報は、「インデックス番号」、「ジョブＩＤ」、「ジョブの状態」、「印刷面数」、ＹＭＣＫごとの「トナー消費量」および「用紙サイズ／消費枚数」の要素から構成されるが、これに限る趣旨ではない。「インデックス番号」は、上述したように、プリンタ自身の中でプリントジョブデータを識別するためのものである。「ジョブＩＤ」は、ホストコンピュータ１によって割り当てられたホストコンピュータ１自身の中でプリントジョブデータを識別するためのものである。つまり、ホストコンピュータ１ごとに固有のジョブＩＤが割り当てられた場合であっても、複数のホストコンピュータ１に共用されるプリンタ２ではジョブＩＤの衝突が生じる可能性があるため、プリンタ２は、インデックス番号によってプリントジョブデータを識別する。「ジョブの状態」は、投入されたプリントジョブデータに対する印刷処理の進捗の状況を示すものである。進捗の状況は、例えば、印刷待機中、印刷中、印刷終了または中断終了などがあり、それぞれ数値で示されるものとする。「印刷面数」は、エラーなく正常に印刷した面数（ページ数）である。「トナー消費量」は、イメージデータに基づいて算出され、またはプリントエンジン機構に設けられたトナー残量センサによって示されるトナーの消費量である。「用紙サイズ／消費枚数」は、用紙サイズごとの消費枚数、つまり、排出される紙の枚数である。ジョブ情報記憶部１７２は、プリントジョブデータごとに記憶領域を確保し、そこにジョブ情報を記憶する。なお、本実施形態においては、ジョブ情報記憶部１７２は、１６個の記憶領域を有し、直近に投入された１６個分のプリントジョブデータのジョブ情報を記憶するものとする。
【００２７】
図６は、印刷処理部１６の各部がジョブ情報記憶部１７２にジョブ情報をセットする様子を示している。すなわち、ジョブバッファ部１６１は、プリントジョブデータを記憶した場合、「インデックス番号」、「ジョブＩＤ」、「ジョブの状態」および「印刷面数」をそれぞれセットする（同図（ａ））。次に、イメージ生成部１５１がイメージデータを生成し始めた時点で、イメージ生成部１５１は「ジョブの状態」を“２”にセットする（同図（ｂ））。そして、エンジン制御部１６３は、プリントジョブデータに基づく印刷中の間、ジョブ情報記憶部１７２の内容を適宜更新する（同図（ｃ））。
【００２８】
本実施形態に係るプリントシステムは、ホストコンピュータ１がプリンタ２のジョブ情報を監視できるようにするために、ＳＮＭＰを用いるものとする。つまり、ホストコンピュータ１上に構成されるＳＮＭＰマネージャは、ジョブ監視マネージャ１５１、ジョブＤＢ１５２およびジョブ監視Ｉ／Ｆ部１４２ａによって実現される。一方、プリンタ２上に構成されるＳＮＭＰエージェントは、ジョブ監視エージェント１７１、ジョブ情報記憶部１７２およびジョブ監視Ｉ／Ｆ部１４２ｂによって実現される。ＳＮＭＰでは、管理情報が記述されるデータベースの構造は、ＭＩＢ（Management Information Base）によって規定される。つまり、本実施形態におけるジョブ情報の各要素は、ＭＩＢにおける各オブジェクトに対応する。図７は、本実施形態において定義されたＭＩＢ構造の一部を示している。なお、同図において、ＭＩＢ構造の上位空間は、省略されているものとする。図６に示したジョブ情報の各要素は、オブジェクトＩＤによって特定される。ＳＮＭＰマネージャは、取得しようとするジョブ情報のオブジェクトＩＤを指定し、ＳＮＭＰエージェントに所定の取得要求を送ることによって、ＳＮＭＰエージェントから所望のジョブ情報を取得することができる。
【００２９】
例えば、ＳＮＭＰマネージャがＳＮＭＰエージェントから所定のジョブＩＤ“ｄｆＡ２０４”に対するインデックス番号を取得する場合には、SetRequestコマンドにより、オブジェクトＩＤ“１．３．６．１．０”に“ｄｆＡ２０４”をセットする。次に、ＳＮＭＰマネージャは、GetRequestコマンドにより、オブジェクトＩＤ“１．３．６．２．０”を送ると、ＳＮＭＰエージェントからGetResponceコマンドにより、“ｄｆＡ２０４＝５”が返答される。これにより、ＳＮＭＰマネージャはインデックス番号を取得することができる。なお、ＳＮＭＰマネージャは、自身が送ったジョブＩＤとＳＮＭＰエージェントから取得したジョブＩＤとを比較して、これらが一致していないと判断する場合には、一致するまで上記処理を繰り返す。
【００３０】
ＳＮＭＰマネージャは、インデックス番号を取得した場合には、このインデックス番号を用いてオブジェクトＩＤを指定し、GetRequestコマンドにより、ジョブ情報を収集する。例えば、ＳＮＭＰマネージャは、GetRequestコマンドにより、オブジェクトＩＤ“１．３．６．４．５”を送ると、ＳＮＭＰエージェントからGetResponceコマンドにより、ジョブの状態として“２”を取得する。また、ＳＮＭＰマネージャは、GetRequestコマンドにより、オブジェクトＩＤ“１．３．６．３．５”を送ると、ＳＮＭＰエージェントからGetResponceコマンドにより、正常に印刷された面数として“８”を取得する。以後、ＳＮＭＰマネージャは、必要なだけ上記処理を繰り返し、ジョブ情報を収集する。
【００３１】
図８は、ホストコンピュータ１によるプリントジョブデータの投入処理を説明するためのフローチャートである。まず、ジョブ生成部１３１は、アプリケーション１１からデータが引き渡されると、これをプリントジョブデータに変換する（ＳＴＥＰ８０１）。次に、ジョブＩＤ割当部１３２は、ジョブＩＤを発行し、これをプリントジョブデータとともに通信Ｉ／Ｆ部１４に送り（ＳＴＥＰ８０２）、また、ジョブ監視エージェント１３３に通知する。そして、ジョブ監視エージェント１３３は、ジョブＩＤをジョブＤＢ１５２に登録する（ＳＴＥＰ８０３）。
【００３２】
図９は、ホストコンピュータ１によるジョブ情報の取得処理を説明するためのフローチャートである。ジョブ監視マネージャ１５１は、所定のジョブＩＤによって指定されるジョブ情報の取得指示をユーザＩ／Ｆ部１２から受け取ると、まず、ジョブＤＢ１５２を参照し（ＳＴＥＰ９０１）、そのジョブＩＤに対応するインデックス番号がすでにプリンタ２から取得されているか否かをチェックする（ＳＴＥＰ９０２）。ジョブ監視マネージャ１５１は、インデックス番号をまだ取得していないと判断する場合には、プリンタ２に対してジョブＩＤのセットを行い（ＳＴＥＰ９０３）、プリンタ２から“ジョブＩＤ＝インデックス番号”の形式で返答を受け取る（ＳＴＥＰ９０４）。ジョブ監視マネージャ１５１は、プリンタ２に対してセットしたジョブＩＤとプリンタ２から取得したジョブＩＤとを比較し（ＳＴＥＰ９０５）、これらが一致していないと判断する場合には、ＳＴＥＰ９０３に移行する。ジョブ監視マネージャ１５１は、２つのジョブＩＤが一致していると判断する場合には、取得したインデックス番号をジョブＩＤ１３４に登録する（ＳＴＥＰ９０６）。ジョブ監視マネージャ１５１は、インデックス番号を取得した後は、このインデックス番号を用いて、プリンタ２に対してジョブ情報の収集を行う（ＳＴＥＰ９０７）。ジョブ情報の収集は、ジョブ情報の要素すべてであってよいし、ユーザに指定された要素のみでもよい。ただし、印刷処理の進捗の状況によってはすべて取得できない場合もある。ジョブ監視マネージャ１５１は、プリンタ２からジョブ情報を取得すると、これをユーザＩ／Ｆ部１２に送る（ＳＴＥＰ９０８）。これにより、ジョブ情報は、ユーザＩ／Ｆ部１２によってユーザに提示され、ユーザは、指定したプリントジョブデータの現在のジョブ情報を把握することができるようになる。
【００３３】
図１０は、ホストコンピュータ１から送られるジョブ情報の取得要求に対するプリンタ２による応答処理を説明するためのフローチャートである。同図に示すように、ジョブ監視エージェント１７１は、ジョブ情報Ｉ／Ｆ部１４２ｂからジョブ情報に関する所定の要求を受け取った場合には、これがジョブＩＤのセット要求であるか否かを判断する（ＳＴＥＰ１００１）。ジョブ監視エージェント１７１は、ジョブＩＤのセット要求であると判断する場合には、このジョブＩＤをジョブ情報記憶部１７２の所定の記憶領域に書き込む（ＳＴＥＰ１００２）。ジョブ監視エージェント１７１は、ＳＴＥＰ１００１でＮｏと判断する場合、次に、この要求がインデックス番号の取得要求であるか否かを判断する（ＳＴＥＰ１００３）。ジョブ監視エージェント１７１は、インデックス番号の取得要求であると判断する場合には、ジョブＩＤに対するインデックス番号を検索し、“ジョブＩＤ＝インデックス番号”の形式で返答する（ＳＴＥＰ１００４）。ジョブ監視エージェント１７１は、ＳＴＥＰ１００３でＮｏと判断する場合には、次に、この要求がジョブ情報の取得要求であるか否かを判断する（ＳＴＥＰ１００５）。ジョブ監視エージェント１７１は、ジョブ情報の取得要求であると判断する場合には、ジョブ情報記憶部１７２からインデックス番号に対応するプリントジョブデータのジョブ情報を検索し、これを返答する（ＳＴＥＰ１００６）。ジョブ監視エージェント１７１は、終了指示があるまで上記処理を繰り返す。
【００３４】
以上のように、本実施形態によれば、プリンタ２は、ホストコンピュータ１から投入されたプリントジョブデータのジョブ情報をジョブ情報記憶部１７２に出力する。この場合に、プリンタ２は、プリントジョブデータごとにインデックス番号を割り当てるので、プリントジョブデータごとにジョブ情報を管理することができるようになる。
【００３５】
また、本実施形態によれば、ホストコンピュータ１は、このようなジョブ情報を管理するプリンタ２に対して、所定の通信プロトコルに従って、ジョブ情報の取得要求を行い、プリンタ２は、この取得要求に応答して所定のジョブ情報をホストコンピュータ１に返答する。これにより、ホストコンピュータ１は、特定のプリントジョブデータに対するジョブ情報をプリンタ２から取得することができることになる。
【００３６】
特に、本実施形態では、ＳＮＭＰを用いてジョブ情報に関する通信を行うので、ホストコンピュータ１は、複雑な機構を必要とすることなく、きわめて簡単に、プリンタ２からジョブ情報を取得することができる。
【００３７】
上記実施形態は、本発明を説明するための例示であり、本発明を上記実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。例えば、上記機能実現手段の動作をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、動作に矛盾が生じない限り、処理の順序を入れ替えまたは並行動作するように構成しても良い。
【００３８】
また、上記実施形態は、プリンタドライバ１３と監視プログラム１５とをそれぞれ独立の実行体として説明したがこれにこだわるものではない。例えば、プリンタドライバ１３は、アプリケーション１１上のデータを、特定のプリンタ１が解釈するためのプリントジョブデータに変換するとともに、プリンタ２における印刷処理の状況を監視するように構成しても良い。
【発明の効果】
本発明によれば、ホストコンピュータは、プリンタに送ったプリントジョブデータに対する印刷処理の状況を取得することができる。これにより、ユーザは、プリンタに送った自身のプリントジョブデータに対する印刷処理の状況を把握することができるようになる。
【図面の簡単な説明】
【図１】プリントシステムの全体構成を示すブロックダイアグラム
【図２】ホストコンピュータ１の構成を示すブロックダイアグラム
【図３】ジョブＤＢ１５４の内容を示す図
【図４】プリンタ２の構成を示すブロックダイアグラム
【図５】ジョブ情報の一例を示す図
【図６】印刷処理部１６がジョブ情報記憶部１７２にジョブ情報をセットする様子を示す図
【図７】ＭＩＢ構造の一部を示す図
【図８】ホストコンピュータ１によるプリントジョブデータの投入処理を説明するためのフローチャート
【図９】ホストコンピュータ１によるジョブ情報の取得処理を説明するためのフローチャート
【図１０】ジョブ情報取得要求に対するプリンタ２による応答処理を説明するためのフローチャート
【符号の説明】
１…ホストコンピュータ
２…プリンタ
１１…アプリケーションプログラム
１２…ユーザインターフェース部
１３…プリンタドライバ
１４…通信インターフェース部
１５…監視プログラム
１６…印刷処理部
１７…印刷管理部
【図１】
0003775555.tif 000002
【図２】
0003775555.tif 000003
【図３】
0003775555.tif 000004
【図４】
0003775555.tif 000005
【図５】
0003775555.tif 000006
【図６】
0003775555.tif 000007
【図７】
0003775555.tif 000008
【図８】
0003775555.tif 000009
【図９】
0003775555.tif 000010
【図１０】
0003775555.tif 000011