(57)【要約】【課題】複数部の文書を印刷する場合に、他の機能や互換性に影響を与えずに、かつ、複数部の印刷物の間に他のクライアントからの印刷物が紛れ込むことなく、部単位に両面印刷やステープル処理などの印刷後処理を行う。【解決手段】印刷システムは、Ｎ部（Ｎは２以上の整数）の文書を印刷するときに、少なくとも１個分の印刷ジョブを蓄積し、部数情報または後続の印刷ジョブの有無情報を付加したＮ個の印刷ジョブを生成して送信する蓄積制御部７と、印刷ジョブの送信元の識別情報を記憶する記憶部１２と、識別情報に基づいて、Ｎ個の印刷ジョブを印刷するまで他の送信元から受信する印刷ジョブを保留または禁止する受信制御部１１と、部数情報または後続の印刷指示の有無情報に基づき、Ｎ個の印刷指示を連続して印刷する印刷部１５と、を備えている。【選択図】図１
2011022782.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ部（Ｎは２以上の整数）の文書を印刷するときに、少なくとも１個分の印刷指示を蓄積し、部数情報または後続の印刷指示の有無情報を付加したＮ個の印刷指示を生成して送信する蓄積制御手段と、
前記印刷指示の送信元の識別情報を記憶する記憶手段と、
前記識別情報に基づいて、前記Ｎ個の印刷指示を印刷するまで他の送信元から受信する印刷指示を保留または禁止する受信制御手段と、
前記部数情報または後続の印刷指示の有無情報に基づき、前記Ｎ個の印刷指示を連続して印刷する印刷手段と、を備えることを特徴とする印刷システム。
【請求項２】
前記記憶手段は、保留する印刷指示を記憶することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記記憶手段は、保留する印刷指示の送信元の識別情報を記憶することを特徴とする請求項１に記載の印刷システム。
【請求項４】
前記受信制御手段が所定の時間以内にＮ個の印刷指示を受信できないとき、前記印刷手段は、保留した印刷指示の印刷を開始することを特徴とする請求項１に記載の印刷システム。
【請求項５】
前記部数情報は、少なくとも最初に送信する印刷指示に付加されていることを特徴とする請求項１に記載の印刷システム。
【請求項６】
前記部数情報は、既存のページ記述言語または既存のジョブ制御言語で付加されていることを特徴とする請求項１に記載の印刷システム。
【請求項７】
前記部数情報は、残りの印刷部数として付加されていることを特徴とする請求項１に記載の印刷システム。
【請求項８】
Ｎ部（Ｎは２以上の整数）の文書を印刷するときに、少なくとも１個分の印刷指示を蓄積し、部数情報または後続の印刷指示の有無情報を付加したＮ個の印刷指示を生成して送信する蓄積制御手順と、
前記印刷指示の送信元の識別情報を記憶する記憶手順と、
前記識別情報に基づいて、前記Ｎ個の印刷指示を印刷するまで他の送信元から受信する印刷指示を保留または禁止する受信制御手順と、
前記部数情報または後続の印刷指示の有無情報に基づき、前記Ｎ個の印刷指示を連続して印刷する印刷手順と、をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システムおよびプログラムに関する。
【背景技術】
【０００２】
低コストの印刷装置で複数部の文書の丁合印刷を実施する場合、情報処理装置が１つの印刷ジョブの中で、出力すべき部数分、印刷データを繰り返し印刷装置に送信する方法がある。この方法により両面印刷を行う場合、印刷する文書のページ数が奇数であると、１部目の最終ページの裏面に次の部の先頭ページが印刷され、出力物を部単位に分けることができない。また、ステープルを打つ場合には、全ての部数を１つに綴じ込んでしまうなど、他の印刷後処理（ステープル・Folder・パンチ・Nin1印刷など）が適切に処理されない。
【０００３】
この解決手段として、Ｎ部の文書を印刷する際に、１部の印刷を行う印刷ジョブをＮ個生成して印刷装置に送信する方法がある。ところが、この方法では、印刷装置がネットワーク上で共有されていたり、複数のインターフェースを介して複数のクライアントと接続されていたりした場合、各印刷ジョブの間に他のクライアントから送信されてきた印刷ジョブが挿入されてしまうことがある。そのため、複数部の出力物の中から、他のクライアントの出力物が有るか否かを調べなければならない。
【０００４】
この解決手段として、特許文献１および２が開示されている。特許文献１に記載の発明では、両面印刷を行う場合、単一ジョブとして複数部数印刷を行い、各部の最終ページが印刷媒体の表面にあたる場合には、その裏面に空白ページを挿入している。
【０００５】
特許文献２に記載の発明では、各種の印刷後処理を行う場合、単一ジョブとして複数部数印刷を行い、各種の区切りデータを印刷データに挿入して、そのデータにしたがって印刷後処理を行っている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−７０７１７号公報
【特許文献２】特開２００１−３５３９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このような背景を鑑み、本発明は、複数部の文書を印刷する場合に、他の機能や互換性に影響を与えずに、かつ、複数部の印刷物の間に他のクライアントからの印刷物が紛れ込むことなく、部単位に両面印刷やステープル処理などの印刷後処理を行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に記載の発明は、Ｎ部（Ｎは２以上の整数）の文書を印刷するときに、少なくとも１個分の印刷指示を蓄積し、部数情報または後続の印刷指示の有無情報を付加したＮ個の印刷指示を生成して送信する蓄積制御手段と、前記印刷指示の送信元の識別情報を記憶する記憶手段と、前記識別情報に基づいて、前記Ｎ個の印刷指示を印刷するまで他の送信元から受信する印刷指示を保留または禁止する受信制御手段と、前記部数情報または後続の印刷指示の有無情報に基づき、前記Ｎ個の印刷指示を連続して印刷する印刷手段と、を備えることを特徴とする印刷システムである。
【０００９】
請求項２に記載の発明は、請求項１に記載の発明において、前記記憶手段は、保留する印刷指示を記憶することを特徴とする。
【００１０】
請求項３に記載の発明は、請求項１に記載の発明において、保留する印刷指示の送信元の識別情報を記憶することを特徴とする。
【００１１】
請求項４に記載の発明は、請求項１に記載の発明において、前記受信制御手段が所定の時間以内にＮ個の印刷指示を受信できないとき、前記印刷手段は、保留した印刷指示の印刷を開始することを特徴とする。
【００１２】
請求項５に記載の発明は、請求項１に記載の発明において、前記部数情報は、少なくとも最初に送信する印刷指示に付加されていることを特徴とする。
【００１３】
請求項６に記載の発明は、請求項１に記載の発明において、前記部数情報は、既存のページ記述言語または既存のジョブ制御言語で付加されていることを特徴とする。
【００１４】
請求項７に記載の発明は、請求項１に記載の発明において、前記部数情報は、残りの印刷部数として付加されていることを特徴とする。
【００１５】
請求項８に記載の発明は、Ｎ部（Ｎは２以上の整数）の文書を印刷するときに、少なくとも１個分の印刷指示を蓄積し、部数情報または後続の印刷指示の有無情報を付加したＮ個の印刷指示を生成して送信する蓄積制御手順と、前記印刷指示の送信元の識別情報を記憶する記憶手順と、前記識別情報に基づいて、前記Ｎ個の印刷指示を印刷するまで他の送信元から受信する印刷指示を保留または禁止する受信制御手順と、前記部数情報または後続の印刷指示の有無情報に基づき、前記Ｎ個の印刷指示を連続して印刷する印刷手順と、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１６】
請求項１に記載の発明によれば、複数部の文書を印刷する場合に、他の機能や互換性に影響を与えずに、かつ、複数部の印刷物の間に他のクライアントからの印刷物が紛れ込むことなく、部単位に両面印刷やステープル処理などの印刷後処理を行うことができる。
【００１７】
請求項２に記載の発明によれば、Ｎ個の印刷指示の印刷が終了した後に、保留した印刷指示の印刷をすぐに開始することができるので、複数のクライアントからの印刷指示の処理性能が向上する。
【００１８】
請求項３に記載の発明によれば、保留する印刷指示が、複数部の文書を印刷するＮ個の印刷指示で構成されている場合であっても、Ｎ個の印刷指示を印刷するまでに他のクライアントからの印刷指示をさらに保留または禁止できるため、複数部の印刷物の間に他のクライアントからの印刷物が紛れ込むことがない。
【００１９】
請求項４に記載の発明によれば、Ｎ個の印刷指示の送信元による障害で通信が途絶えても印刷を継続することができる。
【００２０】
請求項５に記載の発明によれば、部数情報を付加する処理を最小限に抑えることができる。
【００２１】
請求項６に記載の発明によれば、部数情報は、既存のページ記述言語または既存のジョブ制御言語の一般的な情報であるため、印刷指示の互換性を維持することができる。
【００２２】
請求項７に記載の発明によれば、Ｎ個の印刷指示のうち受信した印刷指示の数をカウントする必要がない。
【００２３】
請求項８に記載の発明によれば、複数部の文書を印刷する場合に、他の機能や互換性に影響を与えずに、かつ、複数部の印刷物の間に他のクライアントからの印刷物が紛れ込むことなく、部単位に両面印刷やステープル処理などの印刷後処理を行うことができる。
【図面の簡単な説明】
【００２４】
【図１】印刷システムの構成を示すブロック図である。
【図２】情報処理装置の動作を示すフローチャートである。
【図３】印刷装置の動作を示すフローチャートである。
【図４】情報処理装置の動作を示すフローチャートである。
【発明を実施するための最良の形態】
【００２５】
以下、印刷システムおよびプログラムの一例について、図面を参照して説明する。
【００２６】
１．第１の実施形態
（印刷システムの構成）
以下、印刷システムの構成について説明する。図１は、印刷システムの構成を示すブロック図である。印刷システムは、情報処理装置１、印刷装置２を備えている。情報処理装置１と印刷装置２は、ＬＡＮ（Local Area Network）３に有線または無線で接続されている。また、ＬＡＮ３には、情報処理装置１と同じ構成の情報処理装置が複数台接続されている。
【００２７】
情報処理装置１は、例えば、パーソナルコンピュータや携帯型情報端末であり、図示しないが、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）、および各種入出力制御部（Ｉ／Ｏ）からなるハードウェアと、これらの制御を司る基本ソフトウェア（ＯＳ：Operating System）を備えている。
【００２８】
また、図１に示すように、情報処理装置１は、アプリケーション４、ＧＤＩ（Graphic Device Interface）５、プリンタドライバー６、蓄積制御部７、蓄積部８、およびポート９を備えている。アプリケーション４は、ＯＳ上で動作する応用ソフトウェアであり、ＧＤＩ（Graphic Device Interface）５、プリンタドライバー６、および蓄積制御部７は、ＯＳ上で動作する機能モジュールである。蓄積部８およびポート９は、これらに関連するハードウェアである。
【００２９】
アプリケーション４は、電子文書を作成する手段の一例であり、ＧＤＩ５は、電子文書の描画命令である。プリンタドライバー６は、電子文書の印刷ジョブ（印刷指示）を生成する手段の一例である。プリンタドライバー６は、ＧＤＩ５の描画命令を印刷装置２が処理可能な印刷データに変換して、印刷ジョブを生成する。印刷データの生成には、例えば、ＰＣＬ（Printer Control Language）やPostScript（登録商標）等のページ記述言語（ＰＤＬ：Page Description Language）を用いる。
【００３０】
蓄積部８は、プリンタドライバー６が生成した印刷ジョブを一時的に蓄積する手段であり、例えばＨＤＤである。蓄積制御部７は、プリンタドライバー６が生成した印刷ジョブを蓄積部８に一時的に蓄えて送信制御を行う手段であり、例えばプリントスプーラである。ポート９は、蓄積制御部７で送信される印刷ジョブを印刷装置２へ送信する手段の一例であり、例えばEthernet（登録商標）ポートである。
【００３１】
アプリケーション４でＮ部（Ｎは２以上の整数）の文書の印刷が開始された場合、プリンタドライバー６は、１部の文書の印刷を行う印刷ジョブを１つ生成する。プリンタドライバー６が生成した印刷ジョブは、蓄積制御部７によって蓄積部８に一時的に蓄えられる。蓄積制御部７は、蓄積部８から印刷ジョブを読み出し、Ｎ個の印刷ジョブを印刷装置２に順次送信する。蓄積制御部７は、印刷ジョブを蓄積部８に蓄えるとき、または、蓄積部８から読み出すときに、印刷ジョブに後続の印刷ジョブの有無情報を付加する。
【００３２】
後続の印刷ジョブの有無情報は、Ｎ個の印刷ジョブの全てに付加されており、１〜Ｎ−１部目の印刷ジョブに後続の印刷ジョブが有るという情報が付加され、Ｎ部目の印刷ジョブに後続の印刷ジョブが無いという情報が付加される。なお、プリンタドライバー６が１部の文書の印刷を行う印刷ジョブをＮ個生成してもよいし、アプリケーション４がプリンタドライバー６を介さずに直接印刷ジョブを生成してもよい。
【００３３】
印刷装置２は、例えば、プリンター、または複写機能やファクシミリ機能などを有する画像形成装置であり、送受信部１０、受信制御部１１、記憶部１２、解析部１３、描画部１４、および印刷部１５を備えている。送受信部１０は、複数台の情報処理装置から印刷ジョブを受信する手段であり、例えばEthernet（登録商標）ポートである。
【００３４】
受信制御部１１は、送受信部１０で受信した印刷ジョブの受信制御を行う手段であり、例えばプリントサーバである。記憶部１２は、受信制御部１１で受信した印刷ジョブや、印刷ジョブの送信元の識別情報を記憶する手段であり、例えば、ＲＡＭである。送信元の識別情報としては、例えば、ＩＰ（Internet Protocol）アドレス、ＭＡＣ（Media Access Control）アドレス、ユーザー名、コンピュータ名、およびこれらの組み合わせを用いる。
【００３５】
解析部１３は、印刷ジョブに含まれる印刷データを解析する手段である。例えば、解析部１３は、後続の印刷ジョブの有無情報が印刷ジョブに付加されているか、印刷データがどのページ記述言語で記述されているか、などを解析する。描画部１４は、解析部１３で解析したページ記述言語に従って、印刷データをビットマップに描画する手段であり、印刷部１５は、描画されたビットマップを記録媒体に印刷する手段である。
【００３６】
受信制御部１１が送受信部１０を介して印刷ジョブを受信すると、受信制御部１１は、印刷ジョブの送信元の識別情報を、使用Host（印刷装置２を使用中の情報処理装置）の識別情報として記憶部１２に記憶する。受信制御部１１は、使用Hostの識別情報が記憶部１２に有る場合には、Ｎ個の印刷ジョブを印刷するまで他の送信元から受信する印刷ジョブを保留または禁止する。
【００３７】
印刷ジョブを保留する場合には、受信制御部１１は、保留する印刷ジョブの送信元の識別情報を、保留Host（保留中の情報処理装置）の識別情報として記憶部１２に記憶しておく。この際、保留する印刷ジョブを可能な限り記憶部１２に記憶する。一方、印刷ジョブを禁止する場合には、送信元の識別情報も印刷ジョブも記憶しない。
【００３８】
なお、受信制御部１１が所定の時間以内にＮ個の印刷ジョブを受信できないとき、タイムアウト処理を行ってもよい。なお、タイムアウト時間は、印刷部数に応じて変更可能とする。タイムアウト処理を行った場合、受信制御部１１は、保留Hostの識別情報が記憶部１２に有るか否かに基づいて、保留した印刷ジョブが有るか否かを判断する。保留した印刷ジョブが有る場合には、保留Hostの識別情報を使用Hostの識別情報として記憶し、保留した印刷ジョブの印刷を開始する。
【００３９】
受信制御部１１が受信した印刷ジョブは、解析部１３で解析されて、描画部１４でビットマップに描画され、印刷部１５で印刷される。このとき、後続の印刷ジョブが有るという情報が印刷ジョブに付加されていると解析されたときには、受信制御部１１は、記憶部１２に記憶した使用Hostの識別情報をそのままにして、次の印刷ジョブを使用Hostから受信する。一方、後続の印刷ジョブが無いという情報が印刷ジョブに付加されている、または、後続の印刷ジョブの有無情報が付加されていないと解析されたときには、Ｎ個の印刷ジョブの印刷が終了する。
【００４０】
Ｎ個の印刷ジョブの印刷が終了したとき、受信制御部１１は、保留Hostの識別情報が記憶部１２に有るか否かに基づいて、保留した印刷ジョブが有るか否かを判断する。保留した印刷ジョブが有る場合には、保留Hostの識別情報を使用Hostの識別情報として記憶し、保留した印刷ジョブの印刷を開始する。
【００４１】
保留した印刷ジョブは、解析部１３で解析されて、描画部１４でビットマップに描画され、印刷部１５で印刷される。このとき、後続の印刷ジョブが有るという情報が付加されていると解析されたときには、受信制御部１１は、記憶部１２に記憶した使用Hostの識別情報をそのままにして、次の印刷ジョブを使用Hostから受信する。一方、後続の印刷ジョブが無いという情報が付加されている、または、後続の印刷ジョブの有無情報が付加されていないと解析されたときには、保留した印刷ジョブの印刷が終了する。
【００４２】
保留した印刷ジョブの印刷が終了したとき、受信制御部１１は、保留Hostの識別情報が記憶部１２に有るか否かに基づいて、さらに保留した印刷ジョブが有るか否かを判断する。保留した印刷ジョブが無い場合には、使用Hostの識別情報を削除して終了する。以後、上記の動作が繰り返される。
【００４３】
（印刷システムの動作）
以下、印刷システムの動作について説明する。印刷システムは、情報処理装置ＡおよびＢ、印刷装置Ｃで構成されており、情報処理装置Ａが３部の文書の印刷を開始し、情報処理装置Ｂが２部の文書の印刷を開始するものとする。
【００４４】
まず、情報処理装置ＡおよびＢの動作について図２を参照して説明する。図２は、情報処理装置の動作を示すフローチャートである。このフローチャートを実行するプログラムは、ＣＤＲＯＭ等の記憶媒体に格納して提供することが可能である。また、このフローチャートは、プリンタドライバー６が生成した印刷ジョブに、蓄積制御部７が後続の印刷ジョブの有無情報を付加して送信する例を示している。
【００４５】
情報処理装置Ａで印刷が開始されると（ステップＳ１０）、最終（３部目）の印刷ジョブであるかを判断し（ステップＳ１１）、１，２部目の印刷ジョブには（ステップＳ１１のＮｏ）、後続の印刷ジョブが有るという情報（継続情報）を付加する（ステップＳ１２）。１，２部目の印刷ジョブはスプールされ（ステップＳ１３）、印刷装置Ｃに送信される。
【００４６】
部数分（３個）の印刷ジョブを生成していないので（ステップＳ１４のＮｏ）、ステップＳ１１に戻る。最終（３部目）の印刷ジョブであるかを判断し（ステップＳ１１）、３部目の印刷ジョブには（ステップＳ１１のＹｅｓ）、後続の印刷ジョブが無いという情報（終了情報）を付加する（ステップＳ１５）。３部目の印刷ジョブはスプールされ（ステップＳ１３）、印刷装置Ｃに送信される。部数分（３個）の印刷ジョブを生成した場合には（ステップＳ１４のＹｅｓ）、情報処理装置Ａでの印刷を終了する（ステップＳ１６）。
【００４７】
情報処理装置Ｂで印刷が開始されると（ステップＳ１０）、上記と同様に、１部目の印刷ジョブには（ステップＳ１１のＮｏ）、後続の印刷ジョブが有るという情報（継続情報）を付加して（ステップＳ１２）、印刷装置Ｃに送信し、２部目の印刷ジョブには（ステップＳ１１のＹｅｓ）、後続の印刷ジョブが無いという情報（終了情報）を付加して（ステップＳ１５）、印刷装置Ｃに送信する。
【００４８】
次に、印刷装置Ｃの動作について図３を参照して説明する。図３は、印刷装置の動作を示すフローチャートである。このフローチャートを実行するプログラムは、ＣＤＲＯＭ等の記憶媒体に格納して提供することが可能である。このフローチャートは、１個の印刷ジョブを処理する流れ図である。
【００４９】
印刷装置Ｃが、情報処理装置Ａ（自Host）から１部目の印刷ジョブを受信すると、情報処理装置Ｂ（他Host）が印刷装置Ｃを使用中か否かを判断する（ステップＳ２０）。なお、ステップＳ２０では、使用Hostの識別情報が記憶されているか否かに基づいて判断される。
【００５０】
他Hostが印刷装置Ｃを使用中でない場合には（ステップＳ２０のＮｏ）、印刷装置Ｃを使用中に変更し（ステップＳ２３）、情報処理装置Ａ（使用Host）の識別情報を記憶する（ステップＳ２４）。情報処理装置Ａの１部目の印刷ジョブを印刷すると（ステップＳ２５）、部数印刷が終了したか否かを判断する（ステップＳ２６）。情報処理装置Ａの１部目の印刷ジョブには、後続の印刷ジョブが有るという情報が付加されているので、ステップＳ２６のＮｏに進み、使用Hostの識別情報をそのままにして終了する。
【００５１】
次に、印刷装置Ｃが、情報処理装置Ａ（自Host）から２部目の印刷ジョブを受信すると、情報処理装置Ｂ（他Host）が印刷装置Ｃを使用中か否かを判断する（ステップＳ２０）。
【００５２】
他Hostは印刷装置Ｃを使用中でないため（ステップＳ２０のＮｏ）、印刷装置Ｃを使用中に変更し（ステップＳ２３）、情報処理装置Ａ（使用Host）の識別情報を記憶する（ステップＳ２４）。情報処理装置Ａの２部目の印刷ジョブを印刷すると（ステップＳ２５）、部数印刷が終了したか否かを判断する（ステップＳ２６）。情報処理装置Ａの２部目の印刷ジョブには、後続の印刷ジョブが有るという情報が付加されているので、ステップＳ２６のＮｏに進み、使用Hostの識別情報をそのままにして終了する。
【００５３】
次に、印刷装置Ｃが、情報処理装置Ｂ（自Host）から１部目の印刷ジョブを受信すると、情報処理装置Ａ（他Host）が印刷装置Ｃを使用中であるため（ステップＳ２０のＹｅｓ）、情報処理装置Ｂの１部目の印刷ジョブを保留する（ステップＳ２１）。そして、情報処理装置Ｂ（保留Host）の識別情報を記憶して（ステップＳ２２）、終了する。
【００５４】
次に、印刷装置Ｃが、情報処理装置Ａ（自Host）から３部目の印刷ジョブを受信すると、情報処理装置Ｂ（他Host）が印刷装置Ｃを使用中か否かを判断する（ステップＳ２０）。
【００５５】
他Hostは印刷装置Ｃを使用中でないため（ステップＳ２０のＮｏ）、印刷装置Ｃを使用中に変更し（ステップＳ２３）、情報処理装置Ａ（使用Host）の識別情報を記憶する（ステップＳ２４）。３部目の印刷ジョブを印刷すると（ステップＳ２５）、部数印刷が終了したか否かを判断する（ステップＳ２６）。情報処理装置Ａの３部目の印刷ジョブには、後続の印刷ジョブが無いという情報が付加されているので、ステップＳ２６のＹｅｓに進み、３部の印刷を終了する。
【００５６】
次に、保留した印刷ジョブが有るか否かを判断する（ステップＳ２７）。なお、ステップＳ２７では、保留Hostの識別情報が記憶されているか否かに基づいて判断する。保留した印刷ジョブが有るため（ステップＳ２７のＹｅｓ）、保留した印刷ジョブの印刷を開始する（ステップＳ２９）。保留Host（情報処理装置Ｂ）の識別情報を使用Hostの識別情報として記憶し（ステップＳ２４）、情報処理装置Ｂの１部目の印刷ジョブを印刷する（ステップＳ２５）。情報処理装置Ｂの１部目の印刷ジョブには、後続の印刷ジョブが有るという情報が付加されているので、ステップＳ２６のＮｏに進み、使用Hostの識別情報をそのままにして終了する。
【００５７】
次に、印刷装置Ｃが、情報処理装置Ｂ（自Host）から２部目の印刷ジョブを受信すると、情報処理装置Ａ（他Host）が印刷装置Ｃを使用中か否かを判断する（ステップＳ２０）。
【００５８】
他Hostは印刷装置Ｃを使用中でないため（ステップＳ２０のＮｏ）、印刷装置Ｃを使用中に変更し（ステップＳ２３）、情報処理装置Ｂ（使用Host）の識別情報を記憶する（ステップＳ２４）。情報処理装置Ｂの２部目の印刷ジョブを印刷すると（ステップＳ２５）、部数印刷が終了したか否かを判断する（ステップＳ２６）。２部目の印刷ジョブには、後続の印刷ジョブが無いという情報が付加されているので、ステップＳ２６のＹｅｓに進み、２部の印刷を終了する。
【００５９】
次に、保留した印刷ジョブが有るか否かを判断する（ステップＳ２７）。保留した印刷ジョブはないので、印刷装置Ｃを未使用に変更し（ステップＳ２８）、終了する。なお、ステップＳ２８では、使用Hostの識別情報を削除する。
【００６０】
（第１の実施形態の優位性）
第１の実施形態によれば、複数部の文書を印刷する場合に、Ｎ個の印刷ジョブを生成するので、部単位に両面印刷やステープル処理などの印刷後処理を行うことができる。これにより、奇数ページで終わる文書の最終ページに空白ページを挿入しないため、メモリを効率的に使用することができる。また、ページ数で課金する機能がある印刷装置であっても、空白ページに課金の有無を付ける必要がなく、用紙節約のために白紙を印刷しない機能がある印刷装置であっても、正常に動作させることができる。また、単一印刷ジョブとして扱わないため、他Hostから印刷ジョブを受信することができる。
【００６１】
また、蓄積制御部７が後続の印刷ジョブの有無情報を印刷ジョブに付加するので、ページ記述言語を独自拡張した区切りデータを挿入するプリンタドライバー６を開発する必要がない。また、ページ記述言語で独自の区切りデータを挿入しないため、印刷データの互換性を維持することができる。さらに、アプリケーション４がプリンタドライバー６を介さずに直接印刷ジョブを生成する場合であっても、正常に動作させることができる。
【００６２】
さらに、使用Hostの識別情報に基づき、Ｎ個の印刷ジョブの印刷が終了するまで他Hostの印刷ジョブが保留または禁止されるので、Ｎ個の印刷ジョブの間に他Hostの印刷ジョブが紛れ込むことがない。
【００６３】
また、他Hostの印刷ジョブを保留する場合には、保留する印刷ジョブを可能な限り記憶しておくので、Ｎ個の印刷ジョブの印刷が終了した後に、保留した印刷ジョブの印刷をすぐに開始することができる。このため、複数Hostからの印刷ジョブの処理性能が向上する。
【００６４】
また、保留Hostの識別情報を記憶しておくので、保留する印刷ジョブが複数部の文書を印刷するＮ個の印刷ジョブで構成されている場合であっても、Ｎ個の印刷ジョブを印刷するまでに他Hostからの印刷ジョブをさらに保留または禁止できるため、複数部の印刷物の間に他Hostからの印刷物が紛れ込むことがない。
【００６５】
また、所定の時間以内にＮ個の印刷ジョブを受信できないとき、保留した印刷ジョブの印刷を開始するため、使用Hostによる障害で通信が途絶えても印刷を継続することができる。
【００６６】
２．第２の実施形態
以下、第１の実施形態の変形例について説明する。第２の実施形態では、後続の印刷ジョブの有無情報に替わり、部数情報を印刷ジョブに付加する。なお、第１の実施形態と同様の構成については、説明を省略する。
【００６７】
（印刷システムの構成）
以下、印刷システムの構成について図１を参照して説明する。アプリケーション４でＮ部の文書の印刷が開始された場合、プリンタドライバー６は、１部の文書の印刷を行う印刷ジョブを１つ生成し、部数情報を付加する。部数情報は、既存のページ記述言語（ＰＤＬ）または既存のジョブ制御言語（ＰＪＬ）で、Ｎ部という情報で付加される。プリンタドライバー６が生成した印刷ジョブは、蓄積制御部７によって蓄積部８に一時的に蓄積される。蓄積制御部７は、蓄積部８から印刷ジョブを読み出し、部数情報を付加したＮ個の印刷ジョブに分けて、印刷装置２に順次送信する。
【００６８】
なお、部数情報は、少なくとも最初に送信する印刷ジョブに付加されていればよい。また、１部目の印刷ジョブにＮ−１部、２部目の印刷ジョブにＮ−２部、……、Ｎ部目の印刷ジョブに０部というように、部数情報を残りの印刷部数として付加してもよい。また、プリンタドライバー６がＮ個の印刷ジョブを生成してもよいし、蓄積制御部７が部数情報を印刷ジョブに付加して送信してもよい。
【００６９】
受信制御部１１が送受信部１０を介して印刷ジョブを受信すると、受信制御部１１は、印刷ジョブの送信元の識別情報を、使用Host（印刷装置２を使用中の情報処理装置）の識別情報として記憶部１２に記憶する。受信制御部１１は、使用Hostの識別情報が記憶部１２に有る場合には、Ｎ個の印刷ジョブを印刷するまで他の送信元から受信する印刷ジョブを保留または禁止する。
【００７０】
印刷ジョブを保留する場合には、受信制御部１１は、保留する印刷ジョブの送信元の識別情報を、保留Host（保留中の情報処理装置）の識別情報として記憶部１２に記憶しておく。この際、保留する印刷ジョブを可能な限り記憶部１２に記憶する。一方、印刷ジョブを禁止する場合には、送信元の識別情報も印刷ジョブも記憶しない。なお、第１の実施形態と同様に、タイムアウト処理を行ってもよい。
【００７１】
受信制御部１１が受信した印刷ジョブは、解析部１３で解析されて、描画部１４でビットマップに描画され、印刷部１５で印刷される。このとき、部数情報が２部以上であると解析されたときには、受信制御部１１は、記憶部１２に記憶した使用Hostの識別情報をそのままにして、次の印刷ジョブを使用Hostから受信する。一方、部数情報が１部である、または、部数情報が付加されてないと解析されたときには、Ｎ個の印刷ジョブの印刷が終了する。
【００７２】
Ｎ個の印刷ジョブの印刷が終了したとき、受信制御部１１は、保留Hostの識別情報が記憶部１２に有るか否かに基づいて、保留した印刷ジョブが有るか否かを判断する。保留した印刷ジョブが有る場合には、保留Hostの識別情報を使用Hostの識別情報として記憶し、保留した印刷ジョブの印刷を開始する。
【００７３】
保留した印刷ジョブは、解析部１３で解析されて、描画部１４でビットマップに描画され、印刷部１５で印刷される。このとき、部数情報が２部以上であると解析されたときには、受信制御部１１は、記憶部１２に記憶した使用Hostの識別情報をそのままにして、次の印刷ジョブを使用Hostから受信する。一方、部数情報が１部である、または、部数情報が付加されてないと解析されたときには、保留した印刷ジョブの印刷が終了する。
【００７４】
保留した印刷ジョブの印刷が終了したとき、受信制御部１１は、保留Hostの識別情報が記憶部１２に有るか否かに基づいて、さらに保留した印刷ジョブが有るか否かを判断する。保留した印刷ジョブが無い場合には、終了する。以後、上記の動作が繰り返される。
【００７５】
（印刷システムの動作）
以下、印刷システムの動作について説明する。印刷システムは、情報処理装置ＡおよびＢ、印刷装置Ｃで構成されており、情報処理装置Ａが３部の文書の印刷を開始し、情報処理装置Ｂが２部の文書の印刷を開始するものとする。
【００７６】
まず、情報処理装置ＡおよびＢの動作について図４を参照して説明する。図４は、情報処理装置の動作を示すフローチャートである。このフローチャートを実行するプログラムは、ＣＤＲＯＭ等の記憶媒体に格納して提供することが可能である。また、このフローチャートは、プリンタドライバー６が部数情報を付加した印刷ジョブを、蓄積制御部７がＮ個送信する例を示している。
【００７７】
情報処理装置Ａで印刷が開始されると（ステップＳ３０）、１部の文書の印刷を行う印刷ジョブを１つ生成する（ステップＳ３１）。このとき、３部という部数情報が印刷ジョブに付加される（ステップＳ３２）。部数情報が付加された印刷ジョブはスプールされ（ステップＳ３３）、印刷装置Ｃに送信される（ステップＳ３４）。
【００７８】
部数分（３個）の印刷ジョブが送信されていない場合には（ステップＳ３５のＮｏ）、蓄積部８から印刷ジョブを読み出して印刷装置Ｃに送信する（ステップＳ３４）。部数分（３個）の印刷ジョブが送信された場合には（ステップＳ３５のＹｅｓ）、情報処理装置Ａでの印刷を終了する（ステップＳ３６）。
【００７９】
情報処理装置Ｂで印刷が開始されると（ステップＳ３０）、１部の文書の印刷を行う印刷ジョブを１つ生成する（ステップＳ３１）。このとき、２部という部数情報が印刷ジョブに付加される（ステップＳ３２）。部数情報が付加された印刷ジョブはスプールされ（ステップＳ３３）、印刷装置Ｃに送信される（ステップＳ３４）。
【００８０】
部数分（２個）の印刷ジョブが送信されていない場合には（ステップＳ３５のＮｏ）、蓄積部８から印刷ジョブを読み出して印刷装置Ｃに送信する（ステップＳ３４）。部数分（２個）の印刷ジョブが送信された場合には（ステップＳ３５のＹｅｓ）、情報処理装置Ｂでの印刷を終了する（ステップＳ３６）。
【００８１】
次に、印刷装置Ｃの動作について図３を参照して説明する。印刷装置Ｃが、情報処理装置Ａ（自Host）から１部目の印刷ジョブを受信すると、情報処理装置Ｂ（他Host）が印刷装置Ｃを使用中か否かを判断する（ステップＳ２０）。なお、ステップＳ２０では、使用Hostの識別情報が記憶されているか否かに基づいて判断される。
【００８２】
他Hostが印刷装置Ｃを使用中でない場合には（ステップＳ２０のＮｏ）、印刷装置Ｃを使用中に変更し（ステップＳ２３）、情報処理装置Ａ（使用Host）の識別情報を記憶する（ステップＳ２４）。情報処理装置Ａの１部目の印刷ジョブを印刷すると（ステップＳ２５）、部数印刷が終了したか否かを判断する（ステップＳ２６）。情報処理装置Ａの１部目の印刷ジョブには、３部という部数情報が付加されているので、１部目とカウントする。３部目になっていないのでステップＳ２６のＮｏに進み、使用Hostの識別情報をそのままにして終了する。
【００８３】
次に、印刷装置Ｃが、情報処理装置Ａ（自Host）から２部目の印刷ジョブを受信すると、情報処理装置Ｂ（他Host）が印刷装置Ｃを使用中か否かを判断する（ステップＳ２０）。
【００８４】
他Hostは印刷装置Ｃを使用中でないため（ステップＳ２０のＮｏ）、印刷装置Ｃを使用中に変更し（ステップＳ２３）、情報処理装置Ａ（使用Host）の識別情報を記憶する（ステップＳ２４）。情報処理装置Ａの２部目の印刷ジョブを印刷すると（ステップＳ２５）、部数印刷が終了したか否かを判断する（ステップＳ２６）。情報処理装置Ａの２部目の印刷ジョブには、３部という部数情報が付加されているので、２部目とカウントする。３部目になっていないのでステップＳ２６のＮｏに進み、使用Hostの識別情報をそのままにして終了する。
【００８５】
次に、印刷装置Ｃが、情報処理装置Ｂ（自Host）から１部目の印刷ジョブを受信すると、情報処理装置Ａ（他Host）が印刷装置Ｃを使用中であるため（ステップＳ２０のＹｅｓ）、情報処理装置Ｂの１部目の印刷ジョブを保留する（ステップＳ２１）。そして、情報処理装置Ｂ（保留Host）の識別情報を記憶して（ステップＳ２２）、終了する。
【００８６】
次に、印刷装置Ｃが、情報処理装置Ａ（自Host）から３部目の印刷ジョブを受信すると、情報処理装置Ｂ（他Host）が印刷装置Ｃを使用中か否かを判断する（ステップＳ２０）。
【００８７】
他Hostは印刷装置Ｃを使用中でないため（ステップＳ２０のＮｏ）、印刷装置Ｃを使用中に変更し（ステップＳ２３）、情報処理装置Ａ（使用Host）の識別情報を記憶する（ステップＳ２４）。３部目の印刷ジョブを印刷すると（ステップＳ２５）、部数印刷が終了したか否かを判断する（ステップＳ２６）。情報処理装置Ａの３部目の印刷ジョブには、３部という部数情報が付加されているので、３部目とカウントする。３部目になったのでステップＳ２６のＹｅｓに進み、３部の印刷を終了する。
【００８８】
次に、保留した印刷ジョブがあるか否かを判断する（ステップＳ２７）。なお、ステップＳ２７では、保留Hostの識別情報が記憶されているか否かに基づいて判断する。保留した印刷ジョブがあるため（ステップＳ２７のＹｅｓ）、保留した印刷ジョブの印刷を開始する（ステップＳ２９）。保留Host（情報処理装置Ｂ）の識別情報を使用Hostの識別情報として記憶し（ステップＳ２４）、情報処理装置Ｂの１部目の印刷ジョブを印刷する（ステップＳ２５）。情報処理装置Ｂの１部目の印刷ジョブには、２部という部数情報が付加されているので、１部目とカウントする。２部目になっていないのでステップＳ２６のＮｏに進み、使用Hostの識別情報を削除せずに終了する。
【００８９】
次に、印刷装置Ｃが、情報処理装置Ｂ（自Host）から２部目の印刷ジョブを受信すると、情報処理装置Ａ（他Host）が印刷装置Ｃを使用中か否かを判断する（ステップＳ２０）。
【００９０】
他Hostは印刷装置Ｃを使用中でないため（ステップＳ２０のＮｏ）、印刷装置Ｃを使用中に変更し（ステップＳ２３）、情報処理装置Ｂ（使用Host）の識別情報を記憶する（ステップＳ２４）。情報処理装置Ｂの２部目の印刷ジョブを印刷すると（ステップＳ２５）、部数印刷が終了したか否かを判断する（ステップＳ２６）。２部目の印刷ジョブには、２部という部数情報が付加されているので、２部目とカウントする。２部目になったのでステップＳ２６のＹｅｓに進み、２部の印刷を終了する。
【００９１】
次に、保留した印刷ジョブがあるか否かを判断する（ステップＳ２７）。保留した印刷ジョブはないので、印刷装置Ｃを未使用に変更し（ステップＳ２８）、終了する。なお、ステップＳ２８では、使用Hostの識別情報を削除する。
【００９２】
（第２の実施形態の優位性）
第２の実施形態によれば、部数情報は、既存のページ記述言語または既存のジョブ制御言語で付加されている。部数情報は、既存のページ記述言語または既存のジョブ制御言語の一般的な情報であるため、印刷データの互換性を維持することができる。
【００９３】
また、部数情報を少なくとも最初に送信する印刷ジョブに付加することで、部数情報を付加する処理を最小限に抑えることができる。一方、部数情報を残りの印刷部数として付加することで、Ｎ個の印刷ジョブのうち受信した印刷ジョブの数をカウントする必要がない。
【産業上の利用可能性】
【００９４】
本発明は、情報処理装置および印刷装置で構成される印刷システムに利用することができる。
【符号の説明】
【００９５】
１…情報処理装置、２…印刷装置、３…ＬＡＮ、４…アプリケーション、５…ＧＤＩ、６…プリンタドライバー、７…蓄積制御部、８…蓄積部、９…ポート、１０…送受信部、１１…受信制御部、１２…記憶部、１３…解析部、１４…描画部、１５…印刷部。
【図１】
2011022782.tif 000003
【図２】
2011022782.tif 000004
【図３】
2011022782.tif 000005
【図４】
2011022782.tif 000006