(57)【要約】【課題】  複数のプリンタと複数のホストがネットワークで接続されたシステムにおけるカラーデータに変換する中継プリンタを用いて処理を高速化する印刷システムを提供する。【解決手段】  ネットワークで接続されたクライアントＰＣ１、クライアントＰＣ２、カラーのプリンタＡ、カラー印刷データの描画データ変換機能を持つモノクロのプリンタＢにおいて、クライアントＰＣ１から送信されたカラー印刷データを印刷処理中のプリンタＡに対して、クライアントＰＣ２からカラー印刷データを印刷するときに、クライアントＰＣ２からプリンタＢにカラー印刷データを送信し、プリンタＢで描画データ変換をしたものをプリンタＢからプリンタＡに送信して印刷する。クライアントＰＣ２の待ち時間を減らす。【選択図】  図２
2005250706.tif 000002
【特許請求の範囲】
【請求項１】
複数のホストとプリンタと中継デバイスで構成されるプリンタネットワークシステムにおいて、
前記ホストが印刷情報を出力するプリンタが他のホストからの印刷処理のための処理を受け付けられない場合、印刷情報の送信先を前記中継デバイスに変更する送信先変更手段を持つ前記ホストと、
前記ホストから出力される前記印刷情報を前記送信先変更手段の送信先に基づいて前記中継デバイスに送信する印刷情報送信手段と、
少なくとも前記ホストが出力する前記印刷情報の受信及び印刷画像データの送信を行う送受信手段と受信した前記印刷情報を基に印刷すべき印刷画像データを生成する処理手段とを含み、受信した前記印刷情報を基に印刷すべき印刷画像データを生成し、一時格納する中継デバイスとからなり、
前記中継デバイスは、前記ホストが印刷情報を出力するプリンタの印刷処理受付可能状態を認識すると、前記生成した印刷画像データを前記ホストが印刷情報を出力するプリンタへ送出することを特徴とするプリンタネットワークシステム。
【請求項２】
前記印刷画像データは、中間データを含むものである請求項１のプリンタネットワークシステム。
【請求項３】
前記印刷画像データは、圧縮されて転送されることを特徴とする請求項１又は２のプリンタネットワークシステム。
【請求項４】
前記中継デバイスは、前記印刷情報を記憶する印刷情報記憶手段と、印刷画像データを記憶する印刷画像データ記憶手段と、前記印刷画像データ記憶手段に記憶した頁の次頁から印刷情報を読み出す印刷情報読出手段を備え、
前記ホストが印刷情報を出力するプリンタの印刷処理受付可能状態を認識すると、生成した前記印刷画像データ及び前記次頁からの印刷情報を前記ホストが印刷情報を出力するプリンタへ送出することを特徴とする請求項１、２又は３のプリンタネットワークシステム。
【請求項５】
前記中継デバイスは、印刷画像データ生成を頁単位で中断し、他のホストからの印刷情報の通常印刷に優先して切り替えるものである請求項１、２、３又は４のプリンタネットワークシステム。
【請求項６】
複数の前記中継デバイスに対して１つのジョブを分割して送信するホストと、それぞれのジョブの印刷画像データ生成を行う複数の前記中継デバイスと、複数の前記中継デバイスからの印刷画像データを頁順に揃える手段を持つプリンタを備えた請求項１、２、３、４又は５のプリンタネットワークシステム。
【請求項７】
前記中継デバイスは、プリンタであることを特徴とする請求項１、２、３又は４のプリンタネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク内のプリンタのデータ処理、データの送受信に関するものである。
【背景技術】
【０００２】
プリントサーバを用いて、ネットワークプリンタとパソコンが接続しているシステムでは、一台のパソコンが印刷するデータが大きい場合に、プリンタサーバやネットワークプリンタでのデータ処理に時間がかかる。よって、他のパソコンの印刷処理は、待ち時間が大きくなる。
【０００３】
そこで、以下のように他のネットワークプリンタに転送する処理が行われる。すなわち、プリンタサーバは、定期的、または印字要求がある度に、各ネットワークプリンタに現在の状態を問い合わせ、その都度最も効率的に印字が行えるプリンタを選択して、データを送出してそのプリンタにて印刷する。このとき、どのプリンタに出力したかを印刷要求元のパソコンに返答する。
【０００４】
図２３に、従来技術のプリント時の接続機能図を示す。１台のカラー処理及び印刷機能を持つプリンタＡにクライアントＰＣ１が印刷データを送信し、プリンタＡで印刷処理中である。そこにクライアントＰＣ２から印刷データを送信すると、クライアントＰＣ１の印刷データの印刷処理待ちとなる。ここで、クライアントＰＣ１の印刷データが大きい場合、クライアントＰＣ２の待ち時間は長くなる。
【０００５】
特許文献１では、ネットワークプリンタの障害等によって印刷が完了しなかった場合、又は印刷不能となった場合において所定時間経過後、印刷データをマルチキャストで再送し、補完印刷を行う装置が開示されている。
【特許文献１】特開２００１−２８２４９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したように、印刷するデータが大きい場合、プリンタサーバやネットワークプリンタでのデータ処理に時間がかかることにより、他のパソコンの待ち時間が長くなることに変わりはない。
【０００７】
また、プリンタサーバがデータの転送処理を行う場合、印刷のジョブを受け付ける毎、又は定期的に各プリンタの状態取得を行う。よって、印字データの送信以外に各ネットワークプリンタと通信を行う必要が多くなる。プリンタの台数の増加に伴って、状態確認のトラッフィックも無視できない。
【０００８】
そこで、本発明は複数のプリンタと複数のホスト機器がネットワークで接続されたシステムにおいて、カラーデータに変換する中継プリンタを用いて処理を高速化する印刷システムを提供する。
【課題を解決するための手段】
【０００９】
複数のホストとプリンタとデバイスで構成されるプリンタネットワークシステムにおいて、前記ホストが印刷情報を出力するプリンタが他のホストからの印刷処理のための処理を受け付けられない場合、印刷情報の送信先を前記中継デバイスに変更する送信先変更手段を持つ前記ホストと、前記ホストから出力される印刷情報を前記送信先変更手段の送信先に基づいて前記中継デバイスに送信する印刷情報送信手段と、少なくとも前記ホストが出力する前記印刷情報の受信及び印刷画像データの送信を行う送受信手段と受信した前記印刷情報を基に印刷すべき印刷画像データを生成する処理手段とを含み、受信した前記印刷情報を基に印刷すべき印刷画像データを生成し、一時格納する中継デバイスとからなり、前記中継デバイスは、前記ホストが印刷情報を出力するプリンタが印刷処理受付可能状態になったことを認識すると、前記生成した印刷画像データを前記ホストが印刷情報を出力するプリンタへ送出することを特徴とするプリンタネットワークシステムを提供する。
【００１０】
印刷画像データは、中間データを含むものであってもよい。
また、印刷画像データは、圧縮されて転送されるものでもよい。
上述の中継デバイスは、印刷情報を記憶する印刷情報記憶手段と、印刷画像データを記憶する印刷画像データ記憶手段と、印刷画像データ記憶手段に記憶した頁の次頁から印刷情報を読み出す印刷情報読出手段を備え、出力するプリンタの印刷処理受付可能状態を認識すると、生成した印刷画像データ及び次頁からの印刷情報を送出する。
【００１１】
また、中継デバイスは、印刷画像データ生成を頁単位で中断し、他のホストからの印刷情報の通常印刷に優先して切り替えるものであってもよい。
さらに、複数の中継デバイスに対して１つのジョブを分割して送信するホストと、それぞれのジョブの印刷画像データ生成を行う複数の中継デバイスと、複数の中継デバイスからの印刷画像データを頁順に揃える手段を持つプリンタを備えたプリンタネットワークシステムによっても提供される。
【００１２】
また、中継デバイスは、中継機能のみを有するだけではなく印刷機能を有するプリンタ自体が中継機能を備えた中継プリンタであっても良い。
【発明の効果】
【００１３】
本発明により、カラー描画処理の機能を持つプリンタにデータを送信し、そのプリンタが描画処理を行ってから、処理中であるカラープリンタに送信することにより、データ送信するパソコンの送信開放が早くなる。
【００１４】
また、カラー描画処理の機能を持つプリンタが描画処理中で残頁がある場合で、転送先プリンタが送信可能状態になった場合は、頁単位で描画処理を中断し、残り頁の印刷データをそのまま送る。転送先プリンタの方が画像処理が高速なので、残りの頁の描画処理をそのまま行うより、転送したことにより全体としての処理が早くなる。
【００１５】
また、複数のプリンタで描画処理を分散して行うので処理効率が上がる。
【発明を実施するための最良の形態】
【００１６】
（実施形態１）
図１に、本発明のネットワーク接続図を示す。ネットワークにクライアントＰＣ１、クライアントＰＣ２、クライアントＰＣ３、プリンタＡ、プリンタＢ、プリンタＣ、中継デバイス１１、中継デバイス１２が接続されている。プリンタＡはカラープリンタである。プリンタＢとプリンタＣはモノクロプリンタであり、カラー描画機能を有する。クライアントＰＣ１、クライアントＰＣ２は、ホスト機器つまり、ホスト・デバイスである。これらにより、プリンタネットワークシステムを構成する。
【００１７】
なお、後述する中継プリンタ、本実施形態のプリンタＢは、転送先プリンタと同一描画機能を持っている中継デバイスであれば、プリンタに限らずパソコン、サーバ、スキャナ、ＦＡＸなどデバイスを限定しない。
【００１８】
また、ＬＡＮスイッチ等の印刷情報送信手段をネットワークに備えてもよい。
図２に、実施形態１の機能を示す中継プリンタ接続機能図を示す。ＬＰＲプロトコルを使用し、データ送受信を行う。
【００１９】
クライアントＰＣ１からカラーの印刷情報である印刷データをプリンタＡに送信する。プリンタＡは、印刷データを描画データつまり印刷画像データに変換し、印刷処理を行う。このとき、プリンタＡがデータ及び印刷処理中なので、クライアントＰＣ２は、カラー印刷のデータをプリンタＢに送信する。プリンタＢは、カラー描画機能を有するので、クライアントＰＣ２の印刷データを描画データに変換する。プリンタＢは、この描画データをプリンタＡに送信する。つまり、プリンタＢは、中継デバイスとしての中継プリンタである。プリンタＡは、クライアントＰＣ１からの描画データを印刷を終了すると、プリンタＢから送信された描画データを印刷する。
【００２０】
このようにして、クライアントＰＣ２は、プリントＢに送信することにより、プリンタＡの送信待ちをする必要がない。プリンタＢは、プリンタＡに送信待ちしてから送信するより、プリンタＢに送信することにより、早く印刷することができる。つまり、プリンタＡが、クライアントＰＣ１からの描画データ変換処理、印刷処理をしている間に、プリンタＢでクライアントＰＣ２からの描画データ変換処理を行えるからである。また、クライアントＰＣ２は、プリンタＢに印刷データを送信することにより、早く送信処理を終えることができる。尚、描画データは、ＣＭＹＫデータである。ＣＹＭＫは、シアン、イエロー、マゼンダ、ブラックである。
【００２１】
また、プリンタＢからプリンタＡに送信するデータの中には中間データを含んでいてもよい。中間データとは、ビットマップイメージデータまで展開されていない一部ＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａ  Ｆｉｌｅ）形式などのデータを含むことを意味する。
【００２２】
以下に、上述の内容の構成と動作を詳細に説明する。
図３に、プリンタＢのＩ／Ｆ（インタフェース）ソフトウェア構成図を示す。プリンタＢは、上述したように描画データ変換と中継処理を行う。
【００２３】
まず、受信部タスク１０１、実行部タスク１０２、エンジン制御部タスク１０３がタスクとしてあり、これらはマルチタスク構成で制御を行う。また、ハードウェアとして、ホストＩ／Ｆ（インタフェース）１０Ａ、受信バッファ１０Ｂ、画像メモリ１０Ｃ、エンジン１０Ｄ、ＬＰＲヘッダ記憶エリア１０Ｅ、送信バッファ１０Ｆ、印刷方法記憶エリア１０Ｇがある。
【００２４】
受信部タスク１０１は、ホストＩ／Ｆ（インタフェース）１０Ａを制御し、ホストＩ／Ｆ（インタフェース）１０Ａが接続するネットワークからデータの送受信を行う。また、受信部タスク１０１は、ＬＰＲヘッダ記憶エリア１０Ｅに後述するＬＰＲヘッダ情報を記憶する。受信部タスク１０１は、このＬＰＲ情報を使用して、例えば、送出先をプリンタＡに変更するために後述するＬＰＲヘッダの変換を行う。受信部タスク１０１は、受信バッファ１０Ｂを介して印刷データを実行部タスク１０２に送信する。そして、受信部タスク１０１は、送信バッファ１０Ｆを介して実行部タスク１０２から処理後の描画データを受け取る。
【００２５】
実行部タスク１０２は、受信バッファ１０Ｂを介して受信部タスク１０１から印刷データを受け取る。実行部タスク１０２は、印刷データ内のコマンドを解析する。実行部タスク１０２は、印刷方法記憶エリア１０Ｇに印刷方法を記憶し、印刷データを基に画像メモリ１０Ｃに描画を行う。実行部タスク１０２は、印刷方法記憶エリア１０Ｇの情報から、画像メモリ１０Ｃの内容、つまり描画データをエンジン１０Ｄあるいは送信バッファ１０Ｆに送信する。
【００２６】
エンジン制御部タスク１０３は、エンジン１０Ｄの状態監視と制御を行う。エンジン制御部タスク１０３は、実行部タスク１０２より、画像メモリ１０Ｃの描画データの転送要求つまり印刷要求があればエンジン１０Ｄに印刷制御を行う。
【００２７】
図４に、プリンタＢの送受信のデータ構造を示す。左側にクライアントＰＣ２より受信するデータとして、ＬＰＲヘッダ４０１と受信データ４０２を示す。ＬＰＲヘッダ４０１は、ヘッダ内に転送先であるプリンタＡのＩＰアドレスを有している。これにより、プリンタＢからプリンタＡに転送される。
【００２８】
受信データ４０２は、中継印刷コマンド、印刷情報データ、通常印刷コマンドを含む。通常印刷コマンドは、エンジン１０Ｄに対して描画データを転送する。モノクロ印刷を行う場合は、このコマンドで印刷を行う。
【００２９】
印刷情報は、用紙サイズや解像度などの印刷の情報である。印刷データは、頁ごとにあり、文字データ、グラッフィックデータ、画像データなどからなる。印刷データは、中継印刷コマンド等により、描画データ変換が行われ、描画データつまり、ＣＭＹＫデータとなる。
【００３０】
プリンタＡに送信するデータは、ＬＰＲヘッダ４０３と送信データ４０４からなる。ＬＰＲヘッダ４０３は、ＬＰＲヘッダ４０１からプリンタＢからプリンタＡに送信するための情報の変換を受信部１０１タスクで行い生成される。具体的には、ＬＰＲヘッダ４０１の転送先情報、送信先情報をそれぞれ、ＬＰＲヘッダ４０３の送信先情報、送信元情報に変換する。後述する図５に変換を具体的に示す。
【００３１】
印刷情報データは、受信データ４０２に印刷情報データがそのままで構成される。送信データ４０４内の描画データは、受信データ４０２の印刷データをページごとに描画処理を行い、描画データつまり、ＣＭＹＫデータとなったものを備える。
【００３２】
図５に、ＬＰＲヘッダの変換図を示す。プリンタＢで受信したＬＰＲヘッダ４０１は、プリンタＡへの送信のＬＰＲヘッダ４０３へと変換される。具体的には、ＬＰＲヘッダ４０１の転送先４０１３：プリンタＡをＬＰＲヘッダ４０３の送信先に、送信先４０１１：プリンタＢをＬＰＲヘッダ４０３送信元にそれぞれ、コピーして変換し、ＬＰＲヘッダ４０３の送信先４０３１：プリンタＡ、送信元４０３２：プリンタＢとする。ＬＰＲヘッダ４０１の送信元情報：パソコンＡは、ＬＰＲヘッダ４０３では使用されない。ＬＰＲヘッダ４０１内のその他のデータ４０１４は、そのまま使用され、ＬＰＲヘッダ４０３内のその他のデータ４０３３として使われる。こうして、ＬＰＲヘッダ４０３は、作成され、プリンタＡへの送信のＬＰＲヘッダとなる。
【００３３】
図６に、受信部タスク１０１によるＬＰＲヘッダ作成のフローチャートを示す。これは、図５に示したＬＰＲヘッダの変換を受信部タスク１０１の制御から見たものである。ここでは、プリンタＢで行われる例である。
【００３４】
先ず、処理を開始すると、ＬＰＲヘッダ４０１をＬＰＲ記憶エリア１０Ｅに記憶する（Ｓ６０１）。次に、ＬＰＲ記憶エリア１０Ｅに記憶したＬＰＲヘッダ４０１の情報中に転送先が含まれているか確認する（Ｓ６０２）。そして、転送先が含まれていない場合、処理を終了する（Ｓ６０２がＮＯ）。一方、転送先が含まれている場合、ＬＰＲ記憶エリアの送信先のデータを送信元のデータに書き換えてから、転送先のデータを送信先のデータに書き換える（Ｓ６０２がＮＯ、Ｓ６０３）。これにより、ＬＰＲヘッダ４０３が作成される。
【００３５】
次に、図７に実行部タスク１０２の描画処理を示す。受信バッファ１０Ｂから印刷情報データと印刷データを読み出す。実行部タスク１０２は、印刷データに１ページ分から、画像Ｃフレーム７０３１、画像Ｍフレーム７０３２、画像Ｙフレーム７０３３、画像Ｋフレーム７０３４それぞれの１ページ分を画像メモリ１０Ｃに描画する。
【００３６】
次に、印刷情報データから縦、横のピクセル数等のフレームの情報を各色毎の情報コマンドつまり、Ｃフレームの情報コマンド７０４１、Ｍフレームの情報コマンド７０４３、Ｙフレームの情報コマンド７０４５、Ｋフレームの情報コマンド７０４７をそれぞれ作成する。そして、実行部タスク１０２は、順番にＣフレームの情報コマンド７０４１、画像Ｃフレーム７０４２、Ｍフレームの情報コマンド７０４３、画像Ｍフレーム７０４４、Ｙフレームの情報コマンド７０４５、画像Ｙフレーム７０４６、Ｋフレームの情報コマンド７０４７、画像Ｋフレーム７０４８の順で送信バッファ１０Ｆに書き込む。画像Ｃフレーム７０３１、画像Ｍフレーム７０３２、画像Ｙフレーム７０３３、画像Ｋフレーム７０３４は、画像メモリ１０Ｃから読み出されて書き込まれる。
【００３７】
図８に、実行部タスク１０２の描画データ１頁分の作成のフローチャートを示す。先ず、処理を開始すると、実行部タスク１０２は、印刷方法記憶エリア１０Ｇに記憶されている印刷方法が、中継印刷かどうかを判断する（Ｓ８０１）。
【００３８】
ここで、中継印刷のとき（Ｓ８０１がＹＥＳ）、画像ＣＭＹＫフレームをそれぞれ１頁分を画像メモリ１０Ｃに描画する（Ｓ８０４）。次に、印刷情報データから各色のフレーム情報コマンドを作成する（Ｓ８０５）。次に、各色毎にフレームの情報コマンドを送信バッファに書き込み、その後に画像メモリ１０Ｃからその色のフレームデータを読み出し、送信バッファ１０Ｆに書き込み、ＣＭＹＫの各色で実行する（Ｓ８０６）。
【００３９】
一方、印刷方法記憶エリア１０Ｇに記憶されている印刷方法が中継印刷ではないとき（Ｓ８０１がＮＯ）、Ｋフレームを１頁分画像メモリ１０Ｃに描画を行う。つまり、モノクロの画像の描画を行う（Ｓ８０２）。次に、描画データを画像メモリ１０Ｃからエンジン１０Ｄに対して転送する（Ｓ８０３）。尚、上記Ｓ８０４、Ｓ８０５、Ｓ８０６の処理は、図７に示した実行部タスク１０２の描画処理である。
【００４０】
以上の処理を行い、プリンタＢからプリンタＡに描画処理後のデータが送信される。
尚、上記実施形態１の変形例として、以下の構成が考えられる。
中継プリンタは、転送先プリンタがカラー、モノクロどちらのプリンタでもよい。印刷データは、実施形態１では、カラーデータにしたがモノクロデータでもよい。ネットワークのプロトコルをＬＰＲで記述したが、他のフォーマットでもよい。
【００４１】
中継プリンタで描画した描画データをそのまま転送先プリンタに送ったが、転送先プリンタが使用する圧縮フォーマットと同じ形態で圧縮し、転送先プリンタに対して送信してもよい。転送先プリンタでは、エンジンに送るときに圧縮データをハードウェアが伸張する。
【００４２】
実行部タスクが画像メモリから送信バッファにデータを書くように記述したが、受信部タスクに対して画像メモリのアドレスを渡し、ＤＭＡを使用して画像メモリからホストＩ／Ｆに送ってもよい。
【００４３】
（実施形態２）
以下に実施形態２を示す。
本例の前提条件としてカラープリンタとモノクロプリンタでは、カラープリンタの方が高速に画像処理が可能であるとする。また、実施形態１では、プリンタＢで描画処理途中にプリンタＡが印刷処理を終了し送信可能になった場合でも、プリンタＢでそのまま描画処理を継続する。このために処理が遅くなる。これを改善する方法を示す。
【００４４】
図９に、本例におけるプリンタＢの送受信の状態を示す。尚、上記実施形態１と同じ構成箇所については説明を省略する。同図において、左側にクライアントＰＣ２より受信するデータとして、ＬＰＲヘッダ１００１と受信データ１００２を示す。プリンタＡに送信するデータは、ＬＰＲヘッダ１００３と送信データ１００４からなる。
【００４５】
受信データ１００２は、印刷データの先頭に頁数を示すコマンドを持ち、図９に示すように頁を示す。この情報により、頁ごとに区切って印刷データの処理を行う。図９は、２頁の描画中にプリンタＡへの送信が可能になった場合、３頁の描画処理は行わずに３頁の印刷データをプリンタＡに送信する。プリンタＡで描画処理を行う。１、２頁は、実施形態１と同様にプリンタＢで描画処理を行い、プリントＡに送信する。プリンタＡで描画処理された１、２、３頁が揃い、印刷処理する。
【００４６】
図１０に、実施形態２のプリンタＢのＩ／Ｆ（インタフェース）ソフトウェア構成図を示す。前述の実施形態１で説明した図３のプリンタＢのＩ／Ｆソフトウェア構成図に、ＨＤＤ（ハードディスクドライブ）１０Ｈ、実行部頁記憶エリア１０Ｊ、受信部頁記憶エリア１０Ｋを追加する。ＨＤＤ１０Ｈは、受信部タスク１０１が、受信データと送信データを記憶する。受信部頁記憶エリア１０Ｋは、受信部タスク１０１が、処理している頁を記憶する。実行部頁記憶エリア１０Ｊは、実行部タスク１０２が、処理している頁を記憶する。
【００４７】
図１１に、受信部タスク１０１の受信データの処理のフローを示す。先ず、受信部タスク１０１は、受信データを受信バッファ１０ＢとＨＤＤ１０Ｈの両方に書き込む（Ｓ１１０１）。次に、受信バッファ１０Ｂにデータが全て書き込まれたか判断し、未だデータが書き込める場合処理（Ｓ１１０１）に戻る（Ｓ１１０２）。一方、受信バッファ１０Ｂが満杯になると、受信データをＨＤＤ１０Ｈのみに書き込む（Ｓ１１０３）。そして、受信バッファ１０Ｂに空きがあるか判断し、空き領域がなければ処理（Ｓ１１０３）に戻る（Ｓ１１０４）。一方、受信バッファ１０Ｂに空きがあれば、受信部タスク１０１はＨＤＤ１０Ｈから受信データを読み出し受信バッファ１０Ｂに書き込む（Ｓ１１０５）。
【００４８】
図１２に、実施形態２の実行部タスク１０２の１頁分の描画データ作成のフローチャートを示す。先ず、処理を開始すると、印刷方法記憶エリア１０Ｇに記憶されている印刷方法が、中継印刷かどうかを判断する（Ｓ８０１）。ここで、中継印刷のときは、実行部頁記憶エリア１０Ｊに頁数を書き込む（Ｓ８０４）。そして、画像ＣＭＹＫフレームをそれぞれ１頁分を画像メモリ１０Ｃに描画する（Ｓ８０５）。次に、印刷情報データから各色のフレーム情報コマンドを作成し（Ｓ８０６）、実行部頁記憶エリア１０Ｊから頁数を読み出し、頁数を示す頁コマンドを追加し、送信バッファ１０Ｆに書き込む（Ｓ８０７）。
【００４９】
さらに、各色毎に、フレームの情報コマンドを送信バッファ１０Ｆに書き込み、その後に画像メモリ１０Ｃからその色のフレームデータを読み出し、送信バッファ１０Ｆに書き込み、ＣＭＹＫの各色で実行する（Ｓ８０８）。
【００５０】
一方、印刷方法記憶エリア１０Ｇに記憶されている印刷方法が、中継印刷ではないとき、Ｋフレームを１頁分画像メモリ１０Ｃに描画を行う（Ｓ８０２）。そして、描画データを画像メモリ１０Ｃからエンジン１０Ｄに対して転送する（Ｓ８０３）。
【００５１】
次に、図１３に示すフローチャートを用いて受信部タスク１０１の描画データ送信時の処理の説明する。先ず、処理を開始し、転送先からの信号等により、転送先送信可能かどうかを判断する（Ｓ１３０１）。ここで、転送不可能な場合、送信バッファ１０Ｆに描画データがあるかどうか判断し（Ｓ１３０２がＮＯ）、描画データがない場合処理（Ｓ１３０１）に戻る（Ｓ１３０３）。一方、描画データがある場合、描画データをＨＤＤ１０Ｈにデータを書き込む（Ｓ１３０４）。
【００５２】
また、上記処理（Ｓ１３０１）において転送先に送信可能と判断された場合、ＨＤＤ１０Ｈに描画データが有るかどうか判段する（Ｓ１３０５）。そして、ＨＤＤ１０Ｈに描画データが有る場合、ＨＤＤ１０Ｈから描画データを読み出し転送先に送信し、頁数を受信部頁記憶エリア１０Ｋに記憶する（Ｓ１３０６）。一方、ＨＤＤ１０Ｈに描画データが無い場合、送信バッファ１０Ｆに描画データがあるか判断する（Ｓ１３０７）。そして、送信バッファ１０Ｆに描画データがある場合、処理（Ｓ１３０８）に進み、送信バッファ１０Ｆに描画データがない場合、処理（Ｓ１３１０）に進む。
【００５３】
処理（Ｓ１３０８）では、送信バッファ１０Ｆから頁コマンドを読み出し、頁数を受信部頁記憶エリア１０Ｋに記憶する。そして、送信バッファから描画データを読み出し転送先に送信する（Ｓ１３０９）。その後、処理（Ｓ１３０９）では、受信部頁記憶エリア１０Ｋに記憶した頁数の次の頁をＨＤＤ１０Ｈ内にある印刷デ−タを検索し、その印刷データを読み出し印刷データのまま送信する。
【００５４】
以上でプリンタＢで描画処理の頁を残していてもプリンタＡに描画データと残りの印刷データを送信できる。
尚、記憶メモリとして、ＨＤＤを例に上げたが、主記憶に記憶してもよい。
（実施形態３）
図１４に、実施形態３の中継プリンタ接続機能図を示す。
【００５５】
本例は、３つのクライアントＰＣからの印刷処理が競合する場合であり、実施形態１の図２の中継プリンタ接続機能図に、さらにクライアントＰＣ３からのモノクロの印刷データをプリンタＢに送信しプリンタＢで印刷することを示した図である。図２との違いは、クライアントＰＣ３とそこからのモノクロの印刷データが新たに加わっている。
【００５６】
実施形態１、実施形態２の手法では、クライアントＰＣ３からの印刷データは、プリンタＢで描画処理が先に行われている場合、プリンタＢが描画終了まで待たされる。そこで、クライアントＰＣ３の待ち状態を解消し、クライアントＰＣ３のデータを先に印刷する手法を示す。
【００５７】
図１５に、実施形態３の受信部タスク１０１の印刷データ受信時の処理のフローを示す。プリンタＢでの処理である。印刷データをＨＤＤ１０Ｈに記憶し、受信バッファ１０Ｂに書き込む。受信バッファ１０Ｂが一杯になったらＨＤＤ１０Ｈに書き込む（Ｓ１５０１）。他のホストつまり他のクライアントＰＣから、受信したＬＰＲのヘッダ内に転送先がないかを判断する。転送先が無い場合は、処理（Ｓ１５０５）に進み、転送先がある場合は、処理（Ｓ１５０３）に進む。
【００５８】
処理（Ｓ１５０３）では、転送先があるＬＰＲのヘッダに示されている送信先から印刷データを受け、ＨＤＤ１０Ｈに書き込む。この例では、クライアントＰＣ２からプリンタＡに転送する印刷データを受け取る。その後、所定時間待った後、処理（Ｓ１５０１）に戻る（Ｓ１５０４）。
【００５９】
一方、処理（Ｓ１５０５）では、ＨＤＤ１０Ｈからデータを読み出し、頁コマンドがあるまで受信バッファ１０Ｂに書き込む。受信バッファ１０Ｂに通常印刷コマンドを書き込む。つまり、これにより、実行部タスク１０２が通常印刷を実行する状況となる。この例では、クライアントＰＣ３からのモノクロのデータが通常印刷の状況となる（Ｓ１５０６）。
【００６０】
（第４実施形態）
第１実施形態で中継プリンタは１台で１ジョブの印刷を処理した。本例では、１ジョブを３台の中継プリンタに分散させて中継する方法を示す。つまり、１つの文書を複数のデバイスここではプリンタにて分散処理する。
【００６１】
図１６に、実施形態４である分散プリンタ接続機能図を示す。プリンタＡ、プリンタＤは、カラー／モノクロの描画、印刷機能を持つ。プリンタＢ、プリンタＣは、カラー描画機能、モノクロ描画、印刷機能を持つ。
【００６２】
現在、クライアントＰＣ１からカラーの印刷データがプリンタＡに送信されている。クライアントＰＣ２からカラー６０頁の印刷データを印刷する。このとき、クライアントＰＣ２から２０頁ずつ３台の中継プリンタＢ、Ｃ、Ｄに分けて送信し、プリンタＡで集約して印刷を行う。
【００６３】
クライアントＰＣ２から、カラーの印刷データの１〜１９頁をプリンタＢに送信し、カラーの印刷データの２０〜３９頁をプリンタＣに送信し、カラーの印刷データの４０〜５９頁をプリンタＤに送信する。プリンタＢ、プリンタＣ、プリンタＤでそれぞれ描画処理を行い、それぞれ、描画データをプリンタＡに送信する。
【００６４】
図１７に、プリンタＡのＬＰＲプロトコルのＬＰＲのポートの状態を示す図を示す。図１７の左側にＬＰＲヘッダを受けた状態を示す。ＬＰＲヘッダの受け取り順つまり、データ受け取り順の順番の待ち順番となっている。これを、プリンタＡは、ＬＰＲヘッダの後述するジョブＩＤ及びジョブ分割番号により、待ち順番を印刷物の順番どおりに最適化する。
【００６５】
まず、図１８にＬＰＲヘッダのヘッダ構造を示す。ヘッダの内容は、送信先、送信元、ＪＯＢＩＤ、ＪＯＢ分割番号で構成される。送信先は、“プリントＡ”で、送信元は“プリンタＢ”であり、この例のヘッダはプリンタＢからプリンタＡへ送られるものである。ＪＯＢＩＤは、印刷ジョブのＩＤであり、ここでは、“ＤＡＴ００１”である。ＪＯＢ分割番号は、印刷ジョブを分割した場合にその何番目にあたるかを示したもので、ここでは３番目である。その他のデータは、他のデータが入る。
【００６６】
図１９にプリンタＡにて、ＬＰＲヘッダの受信順を最適化するフローチャートを示す。
先ず、ＬＰＲヘッダを受信する（Ｓ１９０１）。コマンドＪＯＢ分割番号があるか判断する。コマンドＪＯＢ分割番号がある場合は、処理（Ｓ１９０３）に進む。コマンドＪＯＢ分割番号がない場合は処理（Ｓ１９０５）に進む。処理（Ｓ１９０３）では、ＪＯＢＩＤが同一で、ＪＯＢ分割番号が大きいものがあるか判断する。
【００６７】
ここで、大きい分割番号がある場合、処理（Ｓ１９０５）に進み、ＪＯＢ分割番号が大きいＪＯＢヘッダ全てを、小さいもの順に待ち順を変更する（Ｓ１９０４）。この結果、待ち状態は最適化され、例えば図１７の右側に示す場合、送信元プリンタＢのデータが２番になり、印刷データの２０〜３９頁の送信元プリンタＣのデータが３番になり、印刷データの４０〜５９頁を送信元プリンタＤのデータが４番になる。これにより、印刷文書の頁順にプリントＡで印刷が行われる。
【００６８】
（実施形態５）
図２０に、実施形態５のネットワーク接続及び動作を表す図を示す。
本実施形態では、プリンタサーバは使用しない。クライアントＰＣ１５、クライアントＰＣ１６と、ネットワークプリンタ１７、ネットワークプリンタ２７、ネットワークプリンタ３７、ネットワークプリンタ４７が、ネットワーク２０に接続されている。
【００６９】
また、図２１に、データを送信する印字パケットの構成を示す。ジョブ毎に一意に決まるＪＯＢ番号のデータを持ち、どのジョブのパケットであるかをＪＯＢ番号で判別可能な構成である。印字データは、印字のためのデータであり、ＩＰヘッダ／ＴＣＰヘッダ、ＣＲＣ等は、既存のものである。印字パケットは、本実施形態では、マルチキャストで送信される。
【００７０】
以下に動作を示す。図２０の「１」は、クライアントＰＣ１５が印字要求をマルチキャストでネットワーク２０上の各ネットワークプリンタ１７、２７、３７、４７に出したことを示す。つまり、クライアントＰＣ１５は、印字データをマルチキャストにてネットワーク２０に送出する。マルチキャストパケットとは、ストリーミング等でよく使われるパケットで、宛先アドレスが特殊なマルチキャスト専用であるパケットである。
【００７１】
マルチキャストパケットは、送出元から、ネットワークのノード全てに送信される。そして、「設定されたマルチキャストアドレスのパケットを受け取る」と設定したノードのみがそのパケットを受け取る。本実施形態の場合、各ネットワークプリンタ１７、２７、３７、４７に「マルチキャストパケットを受け取る」と設定し、クライアントＰＣ１５からの印字データを同時に受け取れるようにする。
【００７２】
図示しない「２」では、印字要求、印字データを受け取った各ネットワークプリンタ１７、２７、３７、４７は、各々独自に画像の作成を開始する。
次に、「３」では、各ネットワークプリンタ１７、２７、３７、４７の中で、画像の作成を終了し、印字の準備ができたプリンタは、自分が印字を開始することをマルチキャストで他のネットワークプリンタに通知する。ここでは、ネットワークプリンタ１７が印字の準備ができ、印字を開始するものとする。よって、ネットワークプリンタ１７が、印字開始することをマルチキャストで送信し、ネットワークプリンタ２７、３７、４７が受信する。
【００７３】
それと同時に「４」で示すように、印字の準備ができたプリンタ、ここでは、ネットワークプリンタ１は、印字要求を出してきたクライアントＰＣ１５に対しても自らが印字を開始することをユニキャストにて通知する。この場合は、１対１の通信となるのでユニキャストパケットで通知される。これにより、クライアントＰＣ１５は、どのネットワークプリンタから出力されるかを知ることができる。
【００７４】
次に、ネットワークプリンタ１７から印字開始のマルチキャストパケットを受け取った他のネットワークプリンタ２７、３７、４７は、直ちに画像の作成を中止する。ネットワークプリンタ２７、３７、４７は、作成途中の画像データと受信した印字データを破棄して、次の印字データに備える。
【００７５】
印字データの内容によっては、クライアントＰＣ１５はその後も印字を開始したネットワークプリンタ１７に対してマルチキャストで継続のする印字データを送信する。ネットワークプリンタ１７は、マルチキャストパケット内のＪＯＢ番号により、継続するＪＯＢであることを確認して印字する。他のネットワークプリンタ２７、３７、４７は、マルチキャストパケット内のＪＯＢ番号等を判別して印字するか破棄するかを決定する。例えば、他のネットワークプリンタ２７、３７、４７は、破棄したパケットのＪＯＢ番号を記録しておき、次にそのＪＯＢ番号のパケットが送信されたら破棄する。
【００７６】
また、ネットワークプリンタ１７の印字中に別のクライアントＰＣ１６からマルチキャストで印字要求があった場合、ネットワークプリンタ２７、３７、４７は、マルチキャストパケットを受信し、新しいＪＯＢのＪＯＢ番号であるので、各々独自に画像の作成を開始し、先に画像を作成し終わったネットワークプリンタが印字を行う。
【００７７】
印字を開始するネットワークプリンタは、上述の「３」のマルチキャストで印字を開始することの他のネットワークプリンタへの通知の動作を行う。また、上述の「４」の印字要求元のクライアントＰＣ１６に対して、印字を開始するネットワークプリンタは、自らである印字するネットワークプリンタを通知する。以下は、上述の内容と同様である。
【００７８】
このようにして、マルチキャストを利用して同時に複数のネットワークプリンタに画像を作らせ、実際に一番早く準備が整ったネットワークプリンタから自動的に印字が行われるシステムを構成する。プリントサーバが不要になるため、安価で簡素なシステム構成となる。
【００７９】
（実施形態６）
実施形態６は、実施形態５と同等な環境で方法が違うものである。
図２２に、実施形態６のネットワーク接続及び動作を表す図を示す。実施形態６の接続は、実施形態５と同等である。よって、説明を省く。
【００８０】
以下に動作を示す。
図２２の「１」は、クライアントＰＣ１５が印字要求をマルチキャストでネットワーク２００上の各ネットワークプリンタ１７、２７、３７、４７に出力したことを示す。本実施形態も、実施形態５と同じく各ネットワークプリンタ１７、２７、３７、４７に「マルチキャストパケットを受け取る」と設定し、クライアントＰＣ１５からの印字データを同時に受け取れるようにする。
【００８１】
図示しない「２」では、印字要求、印字データを受け取った各ネットワークプリンタ１７、２７、３７、４７は各々独自に画像の作成を開始する。
次に、各ネットワークプリンタ１７、２７、３７、４７の中で、画像の作成を終了し、印字の準備ができたプリンタは、自分が準備完了であることをユニキャストでクライアントＰＣ１５に通知する。ここでは、ネットワークプリンタ１７が印字の準備ができ、クライアントＰＣ１５にユニキャストで通知するものとする。これが「３」である。
【００８２】
次に、「４」でネットワークプリンタ１７から準備完了通知のユニキャストパケットを受け取ったクライアントＰＣ１５は、ネットワークプリンタ１７に印字許可を出すことをマルチキャストで通知する。
【００８３】
次に、ネットワークプリンタ１７の印字許可の通知のマルチキャストパケットを受け取ったネットワークプリンタ１７は、印字を実行する。ネットワークプリンタ１７の印字許可の通知のマルチキャストパケットを受け取った他のネットワークプリンタ２７、３７、４７は、自らに印字許可が出なかったことを判別し、即座に画像作成を中止及び破棄する。そして、別のＪＯＢの受信に備える。
【００８４】
また、ネットワークプリンタ１７の印字中に別のクライアントＰＣ１６からマルチキャストで印字要求があった場合には、ネットワークプリンタ２７、３７、４７は、マルチキャストパケットを受信し、新しいＪＯＢのＪＯＢ番号であるので各々独自に画像の作成を開始する。先に画像を作成し終わったネットワークプリンタが印字要求を行ったクライアントＰＣ１６に対して印刷準備が整ったことをユニキャストで通知する。そして、印字許可のパケットを待つ。
【００８５】
クライアントＰＣ１６は、「４」と同様に印字許可のネットワークプリンタを指定した印字許可をマルチキャストで送信する。以下は上述の内容と同様である。
このようにして、マルチキャストを利用して同時に複数のプリンタに画像を作らせ、準備が整ったプリンタがクライアントＰＣにユニキャストで通知をし、クライアントＰＣから印字許可を受けたプリンタが印字を行うシステムを構成する。実際に最も早く印字を行えるプリンタで印字を行えるとともに、複数のプリンタが同時に準備完了になったとしても、クライアントＰＣにより、一つのプリンタが選択され、複数のプリンタが印字することを防ぐ、より現実的なシステムを構成する。
【図面の簡単な説明】
【００８６】
【図１】本発明のネットワーク接続図を示す。
【図２】本発明の中継プリンタ接続機能図を示す。
【図３】本発明のプリンタのＩ／Ｆ（インタフェース）ソフトウェア構成図を示す。
【図４】本発明のプリンタの送受信データ構造を示す。
【図５】本発明のＬＰＲヘッダの変換図を示す。
【図６】本発明の受信部タスクによるＬＰＲヘッダ作成のフローチャートを示す。
【図７】本発明の実行部タスクの描画処理を示す。
【図８】本発明の実行部タスクの描画データ１頁分の作成のフローチャートを示す。
【図９】本発明の実施形態２のプリンタの送受信の状態を示す。
【図１０】本発明の実施形態２のプリンタＢのＩ／Ｆ（インタフェース）ソフトウェア構成図を示す。
【図１１】本発明の実施形態２の受信部タスクの受信データの処理のフローを示す。
【図１２】本発明の実施形態２の実行部タスクの１頁分の描画データ作成のフローチャートを示す。
【図１３】本発明の実施形態２の受信部タスクの描画データ送信時の処理のフローチャートを示す。
【図１４】本発明の実施形態３の中継プリンタ接続機能図を示す。
【図１５】本発明の実施形態３の受信部タスクの印刷データ受信時の処理のフローチャートを示す。
【図１６】本発明の実施形態４である分散プリンタ接続機能図を示す。
【図１７】本発明の実施形態４のプリンタＡのＬＰＲのポートの状態を示す図を示す。
【図１８】本発明の実施形態４のＬＰＲヘッダのヘッダ構造を示す。
【図１９】本発明の実施形態４のＬＰＲヘッダの受信順を最適化するフローチャートを示す。
【図２０】本発明の実施形態５のネットワーク接続及び動作を表す図を示す。
【図２１】本発明の実施形態５の印字パケットの構成を示す。
【図２２】本発明の実施形態６のネットワーク接続及び動作を表す図を示す。
【図２３】従来技術の接続機能図を示す。
【符号の説明】
【００８７】
１、２、３、１５、１６・・・クライアントＰＣ
１１、１２・・・中継デバイス
Ａ、Ｂ、Ｃ、Ｄ・・・プリンタ
１７、２７、３７、４７・・・ネットワークプリンタ
１０Ａ・・・ホストＩ／Ｆ（インタフェース）
１０Ｂ・・・受信バッファ
１０Ｃ・・・画像メモリ
１０Ｄ・・・エンジン、
１０Ｅ・・・ＬＰＲヘッダ記憶エリア
１０Ｆ・・・送信バッファ
１０Ｇ・・・印刷方法記憶エリア
１０Ｈ・・・ＨＤＤ
１０Ｊ・・・実行部頁記憶エリア
１０Ｋ・・・受信部頁記憶エリア
１０１・・・受信部タスク
１０２・・・実行部タスク
１０３・・・エンジン制御部タスク
４０１、４０３、１００１、１００３・・・ＬＰＲヘッダ
４０１１・・・送信先
４０１２・・・送信元
４０１３・・・転送先
４０１４、４０３３・・・その他のデータ、
４０３１・・・送信先
４０３２・・・送信元
４０２、１００２・・・受信データ
４０４、１００４・・・送信データ
７０１・・・印刷情報データ
７０２・・・印刷データ
７０３１、７０４２・・・画像Ｃフレーム
７０３２、７０４４・・・画像Ｍフレーム
７０３３、７０４６・・・画像Ｙフレーム
７０３４、７０４８・・・画像Ｋフレーム
７０４１・・・Ｃフレームの情報コマンド
７０４３・・・Ｍフレームの情報コマンド
７０４５・・・Ｙフレームの情報コマンド
７０４７・・・Ｋフレームの情報コマンンド                                                                                
【図１】
2005250706.tif 000003
【図２】
2005250706.tif 000004
【図３】
2005250706.tif 000005
【図４】
2005250706.tif 000006
【図５】
2005250706.tif 000007
【図６】
2005250706.tif 000008
【図７】
2005250706.tif 000009
【図８】
2005250706.tif 000010
【図９】
2005250706.tif 000011
【図１０】
2005250706.tif 000012
【図１１】
2005250706.tif 000013
【図１２】
2005250706.tif 000014
【図１３】
2005250706.tif 000015
【図１４】
2005250706.tif 000016
【図１５】
2005250706.tif 000017
【図１６】
2005250706.tif 000018
【図１７】
2005250706.tif 000019
【図１８】
2005250706.tif 000020
【図１９】
2005250706.tif 000021
【図２０】
2005250706.tif 000022
【図２１】
2005250706.tif 000023
【図２２】
2005250706.tif 000024
【図２３】
2005250706.tif 000025