(57)【特許請求の範囲】
【請求項１】
国際基準ISO/IEC10175-1に則って、ステータス情報に基づいて印刷ジョブの状態を管理するジョブ管理装置であって、
Held状態にある印刷ジョブに対する印刷指示を入力する指示入力部と、
前記印刷指示に応じて、前記印刷ジョブを親ジョブとする少なくとも一つの子ジョブを生成するジョブ生成手段と、
前記親ジョブまたは子ジョブの少なくとも一つをHeld状態としつつ、その他の印刷ジョブの少なくとも一つを実行させる印刷実行手段とを備えるジョブ管理装置。
【請求項２】
請求項１記載のジョブ管理装置であって、
前記印刷実行手段は、前記親ジョブをHeld状態としたまま、前記子ジョブの少なくとも一つの印刷を実行させるジョブ管理装置。
【請求項３】
請求項１記載のジョブ管理装置であって、
前記印刷実行手段は、前記子ジョブの少なくとも一つをHeld状態としたまま、前記親ジョブの印刷を実行させるジョブ管理装置。
【請求項４】
国際基準ISO/IEC10175-1に則って、ステータス情報に基づいて印刷ジョブの状態を管理するジョブ管理装置であって、
Held状態にある印刷ジョブに対する印刷指示を入力する指示入力部と、
該印刷指示に応じて前記印刷ジョブを実行させる印刷実行手段と、
該印刷ジョブの完了時に、該印刷ジョブを親ジョブとする少なくとも一つの子ジョブを生成し、該子ジョブをHeld状態とするジョブ生成手段とを備えるジョブ管理装置。
【請求項５】
印刷装置で実行すべき印刷ジョブの状態をステータス情報に基づいて管理するジョブ管理装置であって、
入力された印刷ジョブのうち、印刷実行の待ち行列から外されて保留状態にある印刷ジョブに対する印刷指示を入力する指示入力部と、
前記印刷指示に応じて、前記印刷ジョブを親ジョブとする少なくとも一つの子ジョブを生成するジョブ生成手段と、
前記親ジョブおよび子ジョブの少なくとも一つを除く印刷ジョブを前記待ち行列に加える印刷実行手段とを備えるジョブ管理装置。
【請求項６】
印刷装置で実行すべき印刷ジョブの状態をステータス情報に基づいて管理するジョブ管理装置であって、
入力された印刷ジョブのうち、印刷実行の待ち行列から外されて保留状態にある印刷ジョブに対する印刷指示を入力する指示入力部と、
該印刷指示に応じて前記印刷ジョブを実行させる印刷実行手段と、
該印刷ジョブの完了時に、該印刷ジョブを親ジョブとする少なくとも一つの子ジョブを生成し、該子ジョブを保留状態とするジョブ生成手段とを備えるジョブ管理装置。
【請求項７】
印刷装置で実行すべき印刷ジョブの状態をステータス情報に基づいて管理するジョブ管理方法であって、
（ａ）  処理実行の待ち行列から外されて保留されている印刷ジョブに対する印刷指示を入力する工程と、
（ｂ）  該指示に応じて、前記印刷ジョブを親ジョブとする少なくとも一つの子ジョブを生成する工程と、
（ｃ）  前記親ジョブおよび子ジョブの少なくとも一つを除く印刷ジョブを前記待ち行列に加える工程とを備えるジョブ管理方法。
【請求項８】
印刷装置で実行すべき印刷ジョブの状態をステータス情報に基づいて管理するジョブ管理方法であって、
（ａ）  処理実行の待ち行列から外されて保留されている印刷ジョブに対する印刷指示を入力する工程と、
（ｂ）  該指示に応じて、前記印刷ジョブを実行する工程と、
（ｃ）  該印刷ジョブの完了時に、該印刷ジョブを親ジョブとする少なくとも一つの子ジョブを生成し、該子ジョブを保留状態とする工程とを備えるジョブ管理方法。
【請求項９】
印刷装置で実行すべき印刷ジョブの状態をステータス情報に基づいて管理するためのプログラムをコンピュータ読みとり可能に記録した記録媒体であって、
処理実行の待ち行列から外されて保留されている印刷ジョブに対する印刷指示に応じて、前記印刷ジョブを親ジョブとする少なくとも一つの子ジョブを生成する機能と、
前記親ジョブおよび子ジョブの少なくとも一つを除く印刷ジョブを前記待ち行列に加える機能とを実現するプログラムを記録した記録媒体。
【請求項１０】
印刷装置で実行すべき印刷ジョブの状態をステータス情報に基づいて管理するためのプログラムをコンピュータ読みとり可能に記録した記録媒体であって、
処理実行の待ち行列から外されて保留されている印刷ジョブに対する印刷指示に応じて、前記印刷ジョブを実行する機能と、
該印刷ジョブの完了時に、該印刷ジョブを親ジョブとする少なくとも一つの子ジョブを生成し、該子ジョブを保留状態とする機能とを実現するプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ等から複数の印刷ジョブを受け取り、これらを管理してプリンタに適宜印刷させる印刷ジョブ管理システムに関する。
【０００２】
【従来の技術】
近年、ＬＡＮ（ローカル・エリア・ネットワーク）などの普及により、プリンタをネットワークに接続し、同じくネットワークに接続された複数のコンピュータ（以下、「クライアント」と呼ぶ）で共有する態様が広まりつつある。プリンタには、クライアントから、複数の印刷ジョブが送信される。これらの印刷ジョブを処理可能にするために、各プリンタは、内蔵または外部に印刷ジョブを蓄積するスプール用のバッファを備えている。印刷ジョブは、スプール用のバッファに一旦記憶され、逐次プリンタに転送されて、印刷が行われる。
【０００３】
印刷ジョブは、種々のステータスを経て印刷に至る。スプール用のバッファでは、これらのステータスに基づいて印刷ジョブが管理される。ステータスは、国際基準ＩＳＯ／ＩＥＣ１０１７５−１によって定義されている。図１は国際基準ＩＳＯ／ＩＥＣ１０１７５−１で定義されたステータスの概要を示す説明図である。ここでは、主なステータスのみを例示した。
【０００４】
「ジョブ受信中（ｒｅｃｅｉｖｉｎｇ）」とは、クライアントから転送された印刷ジョブをバッファが受信中であることを示す。受信が完了した印刷ジョブのステータスは、「ペンディング（ｐｅｎｄｉｎｇ）」に移行する（矢印ｔｒ１参照）。「ペンディング（ｐｅｎｄｉｎｇ）」とは、印刷ジョブが印刷を実行するための待ち行列に加えられた状態を意味する。待ち行列に加えられた印刷ジョブは、所定の優先度に従って、逐次処理される。
【０００５】
処理順序が来た印刷ジョブのステータスは、「ペンディング（ｐｅｎｄｉｎｇ）」から「言語解釈中（ｉｎｔｅｒＰｒｅｔｉｎｇ）」に移行する（矢印ｔｒ２参照）。印刷ジョブは、ＬＰＲ、ＰｏｓｔＳｃｒｉｐｔなど種々のプロトコルおよび言語によって記述されるから、これらのデータ内容を解釈し、印刷を行うプリンタ固有のデータに変換する必要がある。「言語解釈中（ｉｎｔｅｒＰｒｅｔｉｎｇ）」とは、かかるデータ変換が行われている状態を意味する。
【０００６】
言語解釈が終了すると、印刷ジョブのステータスは、「印刷待機（ｐｒｉｎｔＷａｉｔｉｎｇ）」に移行する（矢印ｔｒ３参照）。「印刷待機（ｐｒｉｎｔＷａｉｔｉｎｇ）」は、プリンタが印刷実行可能な状態になるのを待っている状態を意味する。
【０００７】
プリンタが印刷実行可能になると、印刷ジョブは、プリンタに転送され、印刷される。これにより、印刷ジョブのステータスは、「印刷中（ｐｒｉｎｔｉｎｇ）」に移行する（矢印ｔｒ４参照）。印刷が終了すると、ステータスは、「印刷終了（ｃｏｍｐｌｅｔｅｄ）」に移行する（矢印ｔｒ５参照）。通常は、この状態になった時点で、印刷ジョブが消去され、ジョブ管理が完了する。
【０００８】
印刷ジョブによっては、印刷終了後に一定期間保持する旨の指示が添付される場合がある。かかる場合には、印刷ジョブは、「印刷終了（ｃｏｍｐｌｅｔｅｄ）」の後、「保持（ｒｅｔａｉｎｅｄ）」に移行する（矢印ｔｒ７参照）。「保持（ｒｅｔａｉｎｅｄ）」では、ユーザによる再印刷指示の入力、または所定期間の経過のいずれかの条件が満たされるまで、印刷ジョブを消去せずに保持しておく。クライアント、プリンタ等のインタフェースを通じてユーザから再印刷指示がなされた場合は、「保持（ｒｅｔａｉｎｅｄ）」の印刷ジョブは、再び「ペンディング（ｐｅｎｄｉｎｇ）」に移行される（矢印ｔｒ９）。この際、ジョブ管理上は、「保持（ｒｅｔａｉｎｅｄ）」されていた印刷ジョブと同一内容の印刷ジョブが新たに生成されて「ペンディング（ｐｅｎｄｉｎｇ）」に移行される。つまり、「保持（ｒｅｔａｉｎｅｄ）」されていた印刷ジョブと、「ペンディング（ｐｅｎｄｉｎｇ）」に移行された印刷ジョブは、異なる識別情報、例えばジョブ番号等のインデックスによってジョブ管理される。
【０００９】
上述した一連の流れの他、印刷ジョブの実行を保留する機能が設けられていることが多い。この状態が、「保留（ｈｅｌｄ）」である。「保留（ｈｅｌｄ）」への移行は、クライアントまたはプリンタ等のインタフェースを利用してユーザからの指示に応じて行われる。「ペンディング（ｐｅｎｄｉｎｇ）」、「印刷待機（ｐｒｉｎｔＷａｉｔｉｎｇ）」「言語解釈中（ｉｎｔｅｒＰｒｅｔｉｎｇ）」、「印刷中（ｐｒｉｎｔｉｎｇ）」、「印刷終了（ｃｏｍｐｌｅｔｅｄ）」等のステータスから移行可能である（矢印ｔｒ６参照）。印刷ジョブに「保留（ｈｅｌｄ）」への移行を指示するデータを添付しておくことで、移行させることも可能である。「保留（ｈｅｌｄ）」状態の印刷ジョブは、ユーザからの指示があるまでその状態に保持される。ユーザから解除指示に応じて、印刷ジョブは、再び「ペンディング（ｐｅｎｄｉｎｇ）」に移行される（矢印ｔｒ８参照）。指示によって、保留状態の印刷ジョブを廃棄することも可能である。
【００１０】
「保留（ｈｅｌｄ）」と「保持（ｒｅｔａｉｎｅｄ）」はジョブを保存するという点で類似のステータスである。但し、次の相違点がある。「保持（ｒｅｔａｉｎｅｄ）」への移行は印刷ジョブの実行後に限られているのに対し、「保留（ｈｅｌｄ）」への移行はかかる制限がない。「保持（ｒｅｔａｉｎｅｄ）」からの印刷は新たな印刷ジョブの生成を伴うが、「保留（ｈｅｌｄ）」からの印刷では新たな印刷ジョブの生成を伴わず、保留されていた印刷ジョブ自体が実行される。「保持（ｒｅｔａｉｎｅｄ）」は原則として一定期間経過時に印刷ジョブが消去されるが、「保留（ｈｅｌｄ）」は原則として無期限に印刷ジョブが保持される。
【００１１】
上述の各印刷ジョブについて上述のステータスを管理し、それぞれの印刷ジョブの実行を制御するのがジョブ管理装置の機能である。従来、ジョブ管理装置は、スプーラと呼ばれるソフトウェアによって、プリンタ内部またはプリンタとは別体のプリントサーバ内に構築されていた。
【００１２】
【発明が解決しようとする課題】
しかし、上記国際基準に定義された範囲で行われるジョブ管理では、実用的な印刷を行う上で利便性に欠ける場合があった。例えば、頻繁に印刷される文書であっても、その都度、新しい印刷ジョブをクライアントから送出する必要があった。このため、再印刷時には、クライアントを起動する必要があるなど、実用上の利便性に欠けていた。
【００１３】
【課題を解決するための手段およびその作用・効果】
上記課題の少なくとも一部を、国際基準ＩＳＯ／ＩＥＣ１０１７５−１に則って、印刷ジョブの状態を管理するジョブ管理装置において解決するため、本発明では、頻繁に印刷される印刷ジョブを予めジョブ管理装置内に保留しておき、印刷ジョブの保留状態が維持される条件下で利用するようにした。
【００１４】
かかる利用を実現する第１の構成として、本発明は、Ｈｅｌｄ状態にある印刷ジョブに対する印刷指示に応じて、その印刷ジョブを親ジョブとする少なくとも一つの子ジョブを生成するものとした。その上で、親ジョブまたは子ジョブの少なくとも一つをＨｅｌｄ状態に維持しつつ、その他の印刷ジョブの少なくとも一つを実行させるものとした。
【００１５】
親ジョブをＨｅｌｄ状態に維持したまま、子ジョブの少なくとも一つの印刷を実行させてもよいし、子ジョブの少なくとも一つをＨｅｌｄ状態に維持したまま、親ジョブの印刷を実行させてもよい。
【００１６】
頻繁に利用する文書を予めＨｅｌｄ状態に維持しておくことにより、新たな印刷ジョブの送出を伴わずに、これらの文書を印刷することが可能となる。Ｒｅｔａｉｎｅｄではなく、Ｈｅｌｄを利用するため、印刷の実行を伴わずに文書の保留が可能であり、印刷ジョブの蓄積に際し、無駄な印刷を避けることができる。保持期限に制限を設けず、容易に長期間、印刷ジョブを蓄えておくことが可能である。
【００１７】
また、印刷の実行時に印刷ジョブの生成を伴うことにより、次の利点もある。通常、Ｈｅｌｄ状態にあった印刷ジョブは、Ｈｅｌｄ状態の解除指示に応じて印刷が実行され、消去されるから、頻繁に利用する文書を単純にＨｅｌｄ状態に保持しておくだけでは、繰り返し利用することができない。繰り返し利用するために、印刷実行の指示、印刷終了後に「Ｈｅｌｄ状態」に戻す指示を併せて行うものとすれば、煩雑さによって印刷時の利便性を損ねる。また、指示の誤りによって、印刷ジョブが消去される可能性が非常に高く、Ｈｅｌｄ状態の文書の再印刷を安定的に実行することができない。本発明では、Ｈｅｌｄ状態の印刷ジョブの実行時には自動的に新たなジョブが生成されるため、これらの弊害なく、確実に印刷ジョブをＨｅｌｄ状態に残したまま、印刷を実行させることができる。
【００１８】
印刷ジョブの生成は、Ｈｅｌｄ状態にある印刷ジョブ全てについて行う必要はない。印刷ジョブの種類または印刷実行指示の入力によって、印刷ジョブの生成を伴わずにＨｅｌｄ状態から解除することを可能としてもよい。
【００１９】
本発明の第２の構成では、Ｈｅｌｄ状態にある印刷ジョブに対する印刷指示に応じて印刷ジョブを実行する。その後、印刷ジョブの完了時に、印刷ジョブを親ジョブとする少なくとも一つの子ジョブを生成し、子ジョブをＨｅｌｄ状態に移行させるものとした。第１の構成が、印刷の実行に先立って子ジョブを生成する態様であるのに対し、第２の構成は、印刷の実行後に子ジョブを生成する態様である。第２の構成によっても、第１の構成と同様の利点がある。
【００２０】
上述の第１および第２の構成は、国際基準ＩＳＯ／ＩＥＣ１０１７５−１に則って、印刷ジョブの状態を管理するジョブ管理装置を対象とするが、本発明の対象はこれらに限定されるものではない。装置固有のジョブ管理を実行するジョブ管理装置にも適用可能である。
【００２１】
かかる場合には、ジョブ管理装置に、入力された印刷ジョブを印刷実行の待ち行列から外して保留状態とする機能を設け、保留状態にある印刷ジョブに印刷指示に応じて、子ジョブを生成して、親ジョブおよび子ジョブの少なくとも一つを除く印刷ジョブを前記待ち行列に加えるものとすればよい。こうすれば、本発明の第１の構成と同等の構成を実現できる。また、保留状態にある印刷ジョブの実行完了時に、子ジョブを生成し、その子ジョブを保留状態に移行するものとしてもよい。こうすれば、第２の構成と同等の構成を実現できる。
【００２２】
本発明は、上述したジョブ管理装置として構成する他、印刷ジョブの管理方法、印刷ジョブを管理するためのプログラムを記録した記録媒体、該プログラム自体など種々の態様で構成することができる。ここで、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
Ａ．システムの構成：
Ｂ．「ｈｅｌｄ」状態からの印刷処理：
Ｃ．第２実施例：
【００２４】
Ａ．システムの構成：
図２は本実施例のジョブ管理装置を適用した印刷システムの構成を示す説明図である。ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して、クライアントコンピュータＰＣ１〜ＰＣ３およびプリンタＰＲＴが接続されている。クライアントコンピュータおよびプリンタの台数は、これに限定されるものではない。
【００２５】
クライアントコンピュータＰＣ１〜ＰＣ３は、それぞれ汎用のコンピュータであり、種々のアプリケーションで文書、画像を作成することができる。印刷時には、クライアントコンピュータＰＣ１〜ＰＣ３から、これらの文書、画像のデータを含む印刷ジョブをプリンタＰＲＴに送出する。印刷ジョブは、所定の通信プロトコルに従って、パケット化され、ＬＡＮを介してプリンタに送信される。プリンタＰＲＴには、スプール用のバッファが内蔵されており、受信した印刷ジョブは、このバッファ内に一旦格納される。プリンタＰＲＴは、クライアントコンピュータＰＣ１〜ＰＣ３から受信した複数の印刷ジョブのステータスを管理するとともに、逐次、印刷を実行する。
【００２６】
本実施例では、印刷ジョブのステータスを管理するジョブ管理装置がプリンタＰＲＴに内蔵されている。プリンタＰＲＴには、印刷を制御するための制御ユニットとして、ＣＰＵ，ＲＯＭ，ＲＡＭを備えるマイクロコンピュータが設けられている。ジョブ管理装置は、この制御ユニットを用いてソフトウェア的に構成されている。図中にジョブ管理装置を構成する機能ブロックを示した。本実施例のジョブ管理装置は、国際基準ＩＳＯ／ＩＥＣ１０１７５−１（以下、単に「国際基準」と略称する）に則って、印刷ジョブのステータスを管理する。
【００２７】
印刷ジョブのステータスは、ステータス管理テーブル３によって管理される。ジョブ管理装置の各機能ブロックは、ステータス管理テーブル３にアクセスしつつ、各機能を実行し、このテーブルを介して相互に連携する。
【００２８】
図３はステータス管理テーブル３の概要を例示する説明図である。印刷ジョブは、それぞれジョブ管理装置によって識別用のインデックスＩＤを付されて管理される。インデックスＩＤは、スプール用のバッファにおける印刷ジョブの記憶位置（ポインタ）とも関連付けられている。
【００２９】
ステータス管理テーブル３では、インデックスＩＤに対応して各印刷ジョブのステータス、指示、属性情報が記憶されている。ステータスとは、先に図１で例示した国際基準の各ステータスを意味する。指示には、クライアントコンピュータＰＣ１〜ＰＣ３からＬＡＮを介して入力された指示、またはプリンタＰＲＴのインタフェースを介して入力された各印刷ジョブに対する処理の指示が記憶される。属性情報とは、印刷部数、用紙設定などの印刷の設定が含まれる。
【００３０】
図２に戻り、ジョブ管理装置の機能ブロックについて説明する。入力部１は、ネットワークを介してクライアントコンピュータＰＣ１〜ＰＣ３からの指示等を入力する機能を奏する。インタフェース制御部７は、プリンタＰＲＴの本体に設けられたインタフェースからの入力を制御する機能を奏する。これらの入力結果は、それぞれステータス管理テーブル３の「指示」欄に反映される。図３では、ジョブ２に対し「ｒｅｌｅａｓｅ」、ジョブ６に対し「ｃｒｅａｔｅ」、ジョブ７に対し「ｈｏｌｄ」の指示が入力された場合を例示した。各指示の意味は、他の機能ブロックの説明と併せて後述する。
【００３１】
ｈｅｌｄ制御部４は、国際基準に規定された「ｈｅｌｄ」状態にある印刷ジョブの処理を行う。ｈｅｌｄ制御部４は、まず、ステータス管理テーブル３に記憶されたステータス情報に基づき「ｈｅｌｄ」状態にある印刷ジョブを検出する。こうして検出された各印刷ジョブについて、国際基準に準じた範囲で指示情報に応じた処理を施す。ｈｅｌｄ制御部４が実行する主な処理としては、「ｒｅｌｅａｓｅ」がある。「ｒｅｌｅａｓｅ」とは、国際基準に基づく印刷ジョブの移行指示であり、「ｈｅｌｄ」状態の印刷ジョブを単純に「ｐｅｎｄｉｎｇ」状態に移行させることを意味する。
【００３２】
ｃｒｅａｔｅ制御部６も、「ｈｅｌｄ」状態にある印刷ジョブの処理を行う。ｈｅｌｄ制御部４が国際基準に準じた範囲で処理するのに対し、ｃｒｅａｔｅ制御部６は、本実施例のジョブ管理装置に固有の処理を実行する。本実施例では、かかる処理として「ｃｒｅａｔｅ」が定義されている。「ｃｒｅａｔｅ」とは、「ｈｅｌｄ」状態にある印刷ジョブを親ジョブとして、子ジョブを生成し、子ジョブを「ｈｅｌｄ」状態としたまま、親ジョブの印刷を実行する処理である。
【００３３】
図３の例に基づき、ｈｅｌｄ制御部４、ｃｒｅａｔｅ制御部６の各機能について説明する。この例では、ジョブ２、ジョブ６が「ｈｅｌｄ」状態にある。ジョブ２については、「ｒｅｌｅａｓｅ」が指示されており、ジョブ６については、「ｃｒｅａｔｅ」が指示されている。
【００３４】
ｈｅｌｄ制御部４は、ジョブ２について、「ｒｅｌｅａｓｅ」の処理を行う。この処理は、ジョブ２のステータス情報を、「ｐｅｎｄｉｎｇ」に更新することで実現される。ｃｒｅａｔｅ制御部６は、ジョブ６について、「ｃｒｅａｔｅ」の処理を行う。まず、ｃｒｅａｔｅ制御部６は、ジョブ６をコピーして新たな子ジョブを生成する。この生成に伴い、ｃｒｅａｔｅ制御部６は、ステータス管理テーブル３に、ジョブ６と異なる新たなインデックスＩＤで子ジョブに関する情報を追加する。この際、子ジョブのステータスは「ｈｅｌｄ」とされる。その後、ｃｒｅａｔｅ制御部６は、親ジョブ、即ちジョブ６を「ｐｅｎｄｉｎｇ」に移行する。この移行は、ジョブ６のステータスの更新によって実行される。
【００３５】
次に印刷実行部５について説明する。印刷実行部５は、ステータス管理テーブル３のステータス情報に基づき、国際基準における「ｐｅｎｄｉｎｇ」、「ｉｎｔｅｒＰｒｅｔｉｎｇ」、「ｐｒｉｎｔＷａｉｔｉｎｇ」、「ｐｒｉｎｔｉｎｇ」、「ｃｏｍｌｅｔｅｄ」の各ステータスにある印刷ジョブの処理を行う。
【００３６】
「ｐｅｎｄｉｎｇ」状態にある印刷ジョブについては、待ち行列に基づいて印刷順序となったか否かを判定し、印刷順序となった時点でステータスを「ｉｎｔｅｒＰｒｅｔｉｎｇ」に更新する。「ｉｎｔｅｒＰｒｅｔｉｎｇ」状態にある印刷ジョブについては、先に説明した言語解釈を実行し、それが完了した時点でステータスを「ｐｒｉｎｔＷａｉｔｉｎｇ」に更新する。「ｐｒｉｎｔＷａｉｔｉｎｇ」にある印刷ジョブについては、印刷が可能となった時点でステータスを「ｐｒｉｎｔｉｎｇ」に更新する。「ｐｒｉｎｔｉｎｇ」状態にある印刷ジョブについては、印刷が完了した時点で、ステータスを「ｃｏｍｌｅｔｅｄ」に更新する。「ｃｏｍｌｅｔｅｄ」状態にある印刷ジョブについては、印刷ジョブに付された属性情報に基づき、ジョブの消去または「ｒｅｔａｉｎｅｄ」への移行を行う。
【００３７】
また、「ｐｅｎｄｉｎｇ」、「ｐｒｉｎｔＷａｉｔｉｎｇ」、「ｉｎｔｅｒＰｒｅｔｉｎｇ」、「ｐｒｉｎｔｉｎｇ」、「ｃｏｍｌｅｔｅｄ」状態の印刷ジョブに対し、「ｈｅｌｄ」状態への移行指示、即ち「ｈｏｌｄ」が出された場合には、それぞれステータス情報をｈｅｌｄに更新する。
【００３８】
本実施例では、印刷実行部５が各ステータスに応じた処理を統合的に行うものとしたが、各ステータスごとに機能ブロックを用意するものとしても構わない。
【００３９】
ｒｅｔａｉｎｅｄ制御部２は、ステータス管理テーブル３のステータス情報に基づき、国際基準における「ｒｅｔａｉｎｅｄ」状態の印刷ジョブの処理を行う。「ｒｅｔａｉｎｅｄ」状態にある印刷ジョブについて、「ｒｅｔａｉｎｅｄ」状態とされて以降の経過時間を監視し、経過時間が所定時間を超えた場合には、そのジョブを消去する。所定時間は、ユーザ設定による。消去される前に、再印刷の指示、即ち「ｒｅｐｒｉｎｔ」が出された場合には、「ｒｅｔａｉｎｅｄ」状態にある印刷ジョブから新たな印刷ジョブを生成し、そのステータスを「ｐｅｎｄｉｎｇ」とする。
【００４０】
Ｂ．  「ｈｅｌｄ」状態からの印刷処理：
図４は「ｈｅｌｄ」状態からの印刷処理のフローチャートである。図２に示した各機能ブロックが連携して行う処理を、特定のジョブに着目して示した。
【００４１】
処理は、「ｈｅｌｄ」状態の印刷ジョブに対する指示入力によって開始される（ステップＳ１０）。この指示は、プリンタＰＲＴに設けられたインタフェースまたはクライアントコンピュータＰＣ１〜ＰＣ３から入力される。前者の場合には、インタフェース制御部７を介して指示が入力され、後者の場合には、入力部１を介して指示が入力される。指示には、図２で説明した「ｒｅｌｅａｓｅ」、「ｃｒｅａｔｅ」が含まれる。入力された指示は、ステータス管理テーブル３の指示情報に格納される。
【００４２】
図４には、ステータス管理テーブル３の内容を併せて示した。この例では、インデックスＮまでのジョブに関する情報がテーブルに記憶されており、インデックスＪの印刷ジョブが「ｈｅｌｄ」状態となっている。このジョブに対する指示が入力されると、図示する通り、指示情報にその内容が記憶される。
【００４３】
次に、この指示内容が「ｒｅｌｅａｓｅ」であるか否かが判断される（ステップＳ１１）。この判断は、ｈｅｌｄ制御部４によってそれぞれ実行される。指示内容が「ｒｅｌｅａｓｅ」  である場合、ｈｅｌｄ制御部４は、自身の処理対象となる印刷ジョブであると判断し、「ｒｅｌｅａｓｅ」処理を行う。即ち、該当する印刷ジョブを「ｐｅｎｄｉｎｇ」状態へ移行する（ステップＳ１４）。この処理は、図中に示す通り、ステータス管理テーブル３において、インデックスＪのステータスを「ｐｅｎｄｉｎｇ」に更新することによって実現される。
【００４４】
印刷ジョブに対する指示内容が「ｒｅｌｅａｓｅ」  でない場合、次に指示内容が「ｃｒｅａｔｅ」であるか否かが判断される（ステップＳ１２）。この判断は、ｃｒｅａｔｅ制御部６によって行われる。指示内容が「ｃｒｅａｔｅ」でない場合は、「ｈｅｌｄ」状態のジョブに対する印刷指示がなされていないことを意味するから、処理を終了する。
【００４５】
「ｃｒｅａｔｅ」が指示されている場合、ｃｒｅａｔｅ制御部６は、「ｃｒｅａｔｅ」処理を実行する。まず、ｃｒｅａｔｅ制御部６は、新たなジョブを生成して「ｈｅｌｄ」状態とする（ステップＳ１３）。図中には、インデックスＪの印刷ジョブを親ジョブとして、新たにインデックスＪ１の子ジョブが生成された場合を例示した。子ジョブのステータスは「ｈｅｌｄ」とされる。次に、ｃｒｅａｔｅ制御部６は、指定された印刷ジョブ、即ちインデックスＪの親ジョブを「ｐｅｎｄｉｎｇ」状態へ移行する（ステップＳ１４）。
【００４６】
ｈｅｌｄ制御部４またはｃｒｅａｔｅ制御部６によって、インデックスＪの印刷ジョブのステータスが「ｐｅｎｄｉｎｇ」に移行されると、この印刷ジョブは、印刷実行部５によって、印刷が行われる（ステップＳ１５）。
【００４７】
以上で説明した本実施例のジョブ管理装置によれば、「ｃｒｅａｔｅ」処理を有効活用することにより、プリンタＰＲＴの利便性を向上することができる。例えば、頻繁に使用する文書を「ｈｅｌｄ」状態としてスプール用のバッファに保存し、必要に応じて繰り返し印刷させることができる。プリンタＰＲＴのインタフェースを利用して印刷指示を入力することが可能であるため、クライアントコンピュータＰＣ１〜ＰＣ３が起動していない状態でも、再印刷が可能となる。「ｈｅｌｄ」状態から「ｃｒｅａｔｅ」処理によって再印刷された場合には、新たに生成された子ジョブがスプール用のバッファ内に「ｈｅｌｄ」状態で保存される。従って、再三再四の繰り返し印刷を容易かつ確実に実現することができる。
【００４８】
文書を「ｈｅｌｄ」状態で保存することによる次の利点もある。図１に示した通り、「ｈｅｌｄ」状態へは、印刷終了前に移行することが可能である。従って、頻繁に使用する文書をスプール用のバッファに保存する際、無駄な印刷を回避することができる。また、「ｈｅｌｄ」状態にある印刷ジョブは、時間の経過によって自動的に消去される対象とはなっていないため、印刷ジョブを確実に保存できる利点もある。換言すれば、バッファから印刷ジョブが誤って消去され、再印刷に支障を生じることを回避しやすい。
【００４９】
Ｃ．変形例：
実施例では、「ｃｒｅａｔｅ」処理によって印刷ジョブを生成し、子ジョブを「ｈｅｌｄ」状態、親ジョブを「ｐｅｎｄｉｎｇ」状態とする場合を例示した。これとは逆に、子ジョブを「ｐｅｎｄｉｎｇ」状態、親ジョブを「ｈｅｌｄ」状態に移行するものとしてもよい。かかる場合の処理を変形例として示す。
【００５０】
変形例のジョブ管理装置の機能ブロック構成は、実施例と同様である（図２参照）。変形例では、ｃｒｅａｔｅ制御部６の機能が実施例と相違する。また「ｈｅｌｄ」状態からの処理フローが実施例と相違する。
【００５１】
図５は変形例における印刷処理のフローチャートである。処理は、「ｈｅｌｄ」状態にある印刷ジョブに対する指示入力によって開始され（ステップＳ２０）、その指示が「ｒｅｌｅａｓｅ」である場合には（ステップＳ２１）、ｈｅｌｄ制御部４によって、実施例と同様の処理が行われる。つまり、指定された印刷ジョブのステータスがｐｅｎｄｉｎｇに移行される（ステップＳ２２）。
【００５２】
指示が「ｒｅｌｅａｓｅ」でない場合には、「ｃｒｅａｔｅ」であるか否かが判断される（ステップＳ２３）。指示が「ｃｒｅａｔｅ」でもない場合には、印刷指示がされていないことになるから処理は終了する。
【００５３】
「ｃｒｅａｔｅ」が指示されている場合には、ｃｒｅａｔｅ制御部６によって変形例としての「ｃｒｅａｔｅ」処理が実行される。つまり、「ｈｅｌｄ」状態にある印刷ジョブから新たな子ジョブが生成され、「ｐｅｎｄｉｎｇ」状態とされる（ステップＳ２４）。図中に示す通り、ステータス管理テーブル３には、インデックスＪの印刷ジョブを親ジョブとして、インデックスＪ１の子ジョブが生成される。そのステータスは「ｐｅｎｄｉｎｇ」である。一方、インデックスＪの親ジョブのステータスは、「ｈｅｌｄ」のままである。
【００５４】
ｈｅｌｄ制御部４またはｃｒｅａｔｅ制御部６によって、いずれかの印刷ジョブのステータスがｐｅｎｄｉｎｇに更新されると、印刷実行部５によって、そのジョブの印刷が実行される（ステップＳ２５）。「ｒｅｌｅａｓｅ」が指示された場合には、インデックスＪの印刷ジョブが印刷され、「ｃｒｅａｔｅ」が指示された場合には、子ジョブ、即ちインデックスＪ１の印刷ジョブが印刷される。
【００５５】
変形例のジョブ管理装置によっても、実施例と同様の利点を得ることができる。
【００５６】
Ｄ．第２実施例：
第１実施例では、「ｃｒｅａｔｅ」が指示された時に、印刷の実行に先立って子ジョブを生成する場合を例示した。子ジョブの生成を、印刷の完了時に行う場合を第２実施例で例示する。
【００５７】
第２実施例のジョブ管理装置の機能ブロックは、第１実施例（図２）と同じである。第２実施例では、ｃｒｅａｔｅ制御部６の機能が第１実施例と相違する。また、「ｈｅｌｄ」状態からの印刷処理フローが第１実施例と相違する。
【００５８】
図６は第２実施例における印刷処理のフローチャートである。処理は、「ｈｅｌｄ」状態にある印刷ジョブに対する指示入力によって開始される（ステップＳ３０）。この指示が「ｒｅｌｅａｓｅ」および「ｃｒｅａｔｅ」のいずれでもないと判断される場合には（ステップＳ３１）、印刷指示が出されていないことになるから、処理を終了する。
【００５９】
指示が「ｒｅｌｅａｓｅ」または「ｃｒｅａｔｅ」である場合には、指定された印刷ジョブを「ｐｅｎｄｉｎｇ」状態に移行する（ステップＳ３２）。「ｒｅｌｅａｓｅ」指示の場合には、ｈｅｌｄ制御部４によって移行され、「ｃｒｅａｔｅ」指示の場合には、ｃｒｅａｔｅ制御部６によって移行される。「ｐｅｎｄｉｎｇ」状態に移行された印刷ジョブは、印刷実行部５によって印刷が行われる（ステップＳ３３）。
【００６０】
印刷完了後の処理は、その印刷ジョブに対してなされていた指示が「ｃｒｅａｔｅ」であったか否かによって異なる（ステップＳ３４）。「ｃｒｅａｔｅ」でなく「ｒｅｌｅａｓｅ」であった場合には、処理は終了する。「ｃｒｅａｔｅ」であった場合には、印刷が終了した印刷ジョブを親ジョブとして新たな子ジョブが生成される（ステップＳ３５）。この子ジョブは、「ｈｅｌｄ」状態で保存される。図中に示す通り、インデックスＪの印刷ジョブの印刷終了に伴い、インデックスＪ１の印刷ジョブが新たに生成され、ステータス管理テーブル３に記憶される。インデックスＪ１の印刷ジョブのステータスは、「ｈｅｌｄ」である。インデックスＪの印刷ジョブについては、印刷終了によって消去されるか、「ｒｅｔａｉｎｅｄ」に移行される。
【００６１】
ステップＳ３４，Ｓ３５の処理を容易にするため、「ｃｒｅａｔｅ」指示がなされた場合には、その指示内容を維持したまま、印刷ジョブのステータスを「ｐｅｎｄｉｎｇ」に移行することが好ましい。この場合、ｃｒｅａｔｅ制御部６が、ステータス管理テーブル３の指示情報が「ｃｒｅａｔｅ」となっている印刷ジョブを検索し、そのステータスが「ｈｅｌｄ」である場合には「ｐｅｎｄｉｎｇ」への移行、「ｃｏｍｐｌｅｔｅｄ」である場合には子ジョブの生成を行うことによって、上述の処理を比較的容易に実現することができる。
【００６２】
第２実施例のジョブ管理装置によっても第１実施例と同様の利点を得ることができる。
【００６３】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。
【００６４】
第１および第２実施例では、プリンタＰＲＴの内部にジョブ管理装置を構築する場合を例示した。ジョブ管理装置は、ＬＡＮに接続された専用のプリントサーバ、またはクライアントコンピュータ内に構築することも可能である。複数のサーバの分散処理によって実現しても構わない。
【００６５】
第１および第２実施例では、国際基準に準拠したジョブ管理装置を例示した。本発明は、国際基準に依存しないジョブ管理装置であっても、実施例に例示した「ｈｅｌｄ」状態に相当するステータスが用意されたジョブ管理装置であれば、適用可能である。
【００６６】
以上で例示した種々の制御処理はソフトウェアで実現する他、ハードウェア的に実現するものとしてもよい。
【図面の簡単な説明】
【図１】国際基準ＩＳＯ／ＩＥＣ１０１７５−１で定義されたステータスの概要を示す説明図である。
【図２】本実施例のジョブ管理装置を適用した印刷システムの構成を示す説明図である。
【図３】ステータス管理テーブル３の概要を例示する説明図である。
【図４】「ｈｅｌｄ」状態からの印刷処理のフローチャートである。
【図５】変形例における印刷処理のフローチャートである。
【図６】第２実施例における印刷処理のフローチャートである。
【符号の説明】
１…入力部
２…ｒｅｔａｉｎｅｄ制御部
３…ステータス管理テーブル
４…ｈｅｌｄ制御部
５…印刷実行部
６…ｃｒｅａｔｅ制御部
７…インタフェース制御部
【図１】
0003622670.tif 000002
【図２】
0003622670.tif 000003
【図３】
0003622670.tif 000004
【図４】
0003622670.tif 000005
【図５】
0003622670.tif 000006
【図６】
0003622670.tif 000007