(57)【特許請求の範囲】
【請求項１】
ネットワークプリンタと印刷制御装置とがネットワークに接続された印刷システムであって、
前記印刷制御装置は、
ネットワークに接続されたネットワークプリンタの中から、該ネットワークプリンタに問合せることによって、所望の印刷データとして印刷可能な印刷能力を有するネットワークプリンタを検索する検索手段と、
前記検索手段により検索された前記印刷能力を有するネットワークプリンタを所定のマルチキャストアドレスに参加させる参加手段と、
前記印刷データをパケットに分割して、該送信するパケットの特定情報を対応付けて、当該マルチキャストアドレスに対して順次送信する送信手段と、を備え、
前記ネットワークプリンタは、
前記印刷制御装置により送信されるパケットであって、印刷対象となるパケットの特定情報を管理する管理手段、を備え、
前記ネットワークプリンタは、前記印刷制御装置から受信したパケットに対応する特定情報が、前記管理手段により管理する特定情報と一致する場合その受信したパケットの印刷処理を実行し、前記管理手段により管理する特定情報より後に受信すべきパケットに対応する特定情報の場合その受信したパケットに分割した印刷データに関するパケットについての印刷処理を実行しないことを特徴とする印刷システム。
【請求項２】
前記印刷制御装置は、上記印刷能力に応じて前記送信手段により送信する上記マルチキャストアドレスに対するパケットの送信条件を設定する設定手段を更に備えることを特徴とする請求項１記載の印刷システム。
【請求項３】
前記印刷制御装置は、上記検索手段により得られたネットワークプリンタを印刷能力とともに表示する表示手段を更に備え、
前記設定手段は、前記表示手段に表示されたネットワークプリンタの中から実際に印刷に使用するネットワークプリンタを使用者に選択させることでパケットの送信をするか否かを設定することを特徴とする請求項２記載の印刷システム。
【請求項４】
前記設定手段は、前記パケットの送信条件として当該ネットワークプリンタの印刷速度により印刷する部数を設定することを特徴とする請求項２又は３記載の印刷システム。
【請求項５】
前記印刷制御装置は、上記マルチキャストアドレスに参加しているネットワークプリンタの全てから、上記送信手段により送信されたパケットを受信した旨の応答を所定時間内に受信しなかった場合に、同パケットを上記マルチキャストアドレスにマルチキャストにより再送する再送手段を備え、
前記ネットワークプリンタは、前記印刷制御装置から受信したパケットに対応する特定情報が、前記管理手段により管理する特定情報より前に受信すべきパケットに対応する特定情報の場合には、その受信したパケットの印刷処理を実行せず、次のパケットの受信待ち状態となることを特徴とする請求項１ないし４のいずれか１に記載の印刷システム。
【請求項６】
ネットワークに接続されたネットワークプリンタの中から、該ネットワークプリンタに問合せることによって、所望の印刷データとして印刷可能な印刷能力を有するネットワークプリンタを検索する検索手段と、前記検索手段により検索された前記印刷能力を有するネットワークプリンタを所定のマルチキャストアドレスに参加させる参加手段と、当該マルチキャストアドレスに対して前記印刷データをパケットに分割して、該送信するパケットの特定情報を対応付けてマルチキャストにより送信する送信手段と、を備える印刷制御装置を含んだ印刷システムに含まれるネットワークプリンタであって、
前記印刷制御装置により送信されるパケットであって、印刷対象となるパケットの特定情報を管理する管理手段と、
前記印刷制御装置から受信したパケットに対応する特定情報が、前記管理手段により管理する特定情報と一致する場合その受信したパケットの印刷処理を実行し、前記管理手段により管理する特定情報より後に受信すべきパケットに対応する特定情報の場合その受信したパケットに係る印刷データに関するパケットの印刷処理を実行しない印刷実行手段と、を備えることを特徴とするネットワークプリンタ。
【請求項７】
前記印刷制御装置から受信したパケットに対応する特定情報が、前記管理手段により管理する特定情報より前に受信すべきパケットに対応する特定情報の場合には、その受信したパケットの印刷処理を実行せず、次のパケットの受信待ち状態となることを特徴とする請求項６記載のネットワークプリンタ。
【請求項８】
印刷制御装置からの参加要求に対して、既に他のマルチキャストアドレスに参加している場合に当該印刷制御装置からの参加要求を拒絶する拒絶手段を備えたことを特徴とする請求項６又は７記載のネットワークプリンタ。
【請求項９】
印刷制御装置により送信された印刷データのパケットを受信した旨の肯定応答、パケットを受信できない旨の否定応答、パケットの再送を促す旨の再送応答のいずれかを当該印刷制御装置に通知する通知手段を備えたことを特徴とする請求項６ないし８のいずれか１に記載のネットワークプリンタ。
【請求項１０】
印刷制御装置の指示により、特定のマルチキャストアドレスから離脱する機能を備えたことを特徴とする請求項６ないし９のいずれか１に記載のネットワークプリンタ。
【請求項１１】
ネットワークに接続されたネットワークプリンタの中から、該ネットワークプリンタに問合せることによって、所望の印刷データとして印刷可能な印刷能力を有するネットワークプリンタを検索する印刷制御装置における検索工程と、
前記検索工程により検索された前記印刷能力を有するネットワークプリンタを所定のマルチキャストアドレスに参加させる参加工程と、
当該マルチキャストアドレスに対して前記印刷データをパケットに分割して、該送信するパケットの特定情報を対応付けてマルチキャストにより順次送信する印刷制御装置における送信工程と、
前記印刷制御装置により送信されるパケットであって、印刷対象となるパケットの特定情報を管理するネットワークプリンタにおける管理工程と、
前記印刷制御装置から受信したパケットに対応する特定情報が、前記管理工程により管理する特定情報と一致する場合その受信したパケットの印刷処理を実行し、前記管理工程により管理する特定情報より後に受信すべきパケットに対応する特定情報の場合その受信したパケットに分割した印刷データに関するパケットについての印刷処理を実行しないネットワークプリンタにおける印刷実行工程と、
を備えた特徴とする印刷制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク環境で同報送信受信ができる印刷システム、印刷制御方法及びネットワークプリンタに関する。
【０００２】
【従来の技術】
従来、ネットワーク環境において単一のホストコンピュータから複数の部数の印刷を行う場合には、以下のような方法が採用されている。
【０００３】
まず、第１の方法としては、ホストコンピュータから１台のネットワークプリンタに印刷部数を指定して印刷データを送信し、印刷する方法が挙げられる。
【０００４】
次に、第２の方法としては、ホストコンピュータから複数のネットワークプリンタのそれぞれに対して順次印刷データを送信し、複数のネットワークプリンタのそれぞれにおいて印刷する方法が挙げられる。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記第１の方法では、ネットワークプリンタの印刷速度が十分なものでないと、複数部数を印刷が完了するまでに時間がかかってしまうという問題があった。
【０００６】
また、上記第２の方法では、ホストコンピュータが印刷を担当するネットワークプリンタのそれぞれに対して印刷データを順次送る必要があり、やはりなお、印刷完了までの時間が長くなるという問題があった。さらに、この方法では重複した複数の印刷データがネットワーク経路に流れるので、ネットワーク経路のトラフィック量が増大し、同ネットワーク環境下の他の処理に支障が出るおそれもあった。
【０００７】
本発明は、上記事情に鑑みてなされたもので、ネットワーク環境に接続された複数台のネットワークプリンタにより同時並行的に印刷処理を行うことができ、印刷時間の短縮と、ネットワーク経路のトラフィック量の増大の抑制とを図ることができる技術を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明の請求項１記載の印刷システムは、ネットワークプリンタと印刷制御装置とがネットワークに接続されており、印刷制御装置は、ネットワークに接続されたネットワークプリンタの中から、該ネットワークプリンタに問合せることによって、所望の印刷データとして印刷可能な印刷能力を有するネットワークプリンタを検索する検索手段と、前記検索手段により検索された前記印刷能力を有するネットワークプリンタを所定のマルチキャストアドレスに参加させる参加手段と、前記印刷データをパケットに分割して、該送信するパケットの特定情報を対応付けて、当該マルチキャストアドレスに対して順次送信する送信手段と、を備え、ネットワークプリンタは、前記印刷制御装置により送信されるパケットであって、印刷対象となるパケットの特定情報を管理する管理手段、を備え、ネットワークプリンタは、印刷制御装置から受信したパケットに対応する特定情報が、管理手段により管理する特定情報と一致する場合その受信したパケットの印刷処理を実行し、管理手段により管理する特定情報より後に受信すべきパケットに対応する特定情報の場合その受信したパケットに分割した印刷データに関するパケットについての印刷処理を実行しないことを特徴とする。
【０００９】
これにより、印刷制御装置は、印刷データを確実に印刷することのできる能力があるネットワークプリンタを検索することができ、マルチキャストアドレスに参加しているネットワークプリンタに対してマルチキャストによるデータ送信を行えばよい。たとえば、ネットワークプリンタのうち少なくとも１台においてすぐに回復できない障害が発生した場合であっても、次のパケットを送信し他のネットワークプリンタにおける印刷処理が滞ることがないようにできる。印刷時間の短縮及びトラフィック量の増大抑制を図ることができ、確実なデータの送信を行うことができる。
【００１０】
本発明は、請求項２記載の印刷制御装置は、上記印刷能力に応じて前記送信手段により送信する上記マルチキャストアドレスに対するパケットの送信条件を設定する設定手段を備えた。
【００１１】
これにより、印刷制御装置は、印刷能力に応じてパケットの送信条件を設定することができ、この後の印刷データの印刷等を確実に処理することができる。
【００１２】
本発明の請求項３記載の印刷制御装置は、上記検索手段により得られたネットワークプリンタを印刷能力とともに表示する表示手段を更に備え、前記設定手段は、前記表示手段に表示されたネットワークプリンタの中から実際に印刷に使用するネットワークプリンタを使用者に選択させることでパケットの送信をするか否かを設定することとした。
【００１３】
これにより、上記検索手段により検出されたネットワークプリンタが印刷能力とともに表示され、その中から使用するネットワークプリンタを選択できる。この選択をユーザによりできるようにしたものではネットワークプリンタのロケーション等を考慮して適切なネットワークプリンタにより印刷をさせることができる。
【００１４】
本発明の請求項４記載の設定手段は、前記パケットの送信条件として当該ネットワークプリンタの印刷速度により印刷する部数を設定することとした。
【００１５】
これにより、選択されたネットワークプリンタの印刷速度に応じて印刷部数を適切に割り振ることができ、印刷速度を最適化することができる。
【００１６】
【００１７】
【００１８】
本発明の請求項５記載の印刷制御装置は、上記マルチキャストアドレスに参加しているネットワークプリンタの全てから、上記送信手段により送信されたパケットを受信した旨の応答を所定時間内に受信しなかった場合に、同パケットを上記マルチキャストアドレスにマルチキャストにより再送する再送手段を備えた。ネットワークプリンタは、印刷制御装置から受信したパケットに対応する特定情報が、管理手段により管理する特定情報より前に受信すべきパケットに対応する特定情報の場合には、その受信したパケットの印刷処理を実行せず、次のパケットの受信待ち状態となることとした。
【００１９】
これにより、ネットワークプリンタのうち少なくとも１台において障害が発生してパケットを受信した旨の応答をできない状態に陥った場合には、パケットを再送して、印刷処理を確実なものとすることができる。
【００２０】
【００２１】
【００２２】
【００２３】
【００２４】
本発明の請求項６記載のネットワークプリンタは、ネットワークに接続されたネットワークプリンタの中から、該ネットワークプリンタに問合せることによって、所望の印刷データとして印刷可能な印刷能力を有するネットワークプリンタを検索する検索手段と、検索手段により検索された印刷能力を有するネットワークプリンタを所定のマルチキャストアドレスに参加させる参加手段と、当該マルチキャストアドレスに対して印刷データをパケットに分割して、該送信するパケットの特定情報を対応付けてマルチキャストにより送信する送信手段と、を備える印刷制御装置を含んだ印刷システムに含まれるネットワークプリンタであって、印刷制御装置により送信されるパケットであって、印刷対象となるパケットの特定情報を管理する管理手段と、印刷制御装置から受信したパケットに対応する特定情報が、管理手段により管理する特定情報と一致する場合その受信したパケットの印刷処理を実行し、管理手段により管理する特定情報より後に受信すべきパケットに対応する特定情報の場合その受信したパケットに係る印刷データに関するパケットの印刷処理を実行しない印刷実行手段と、を備えることを特徴とする。
【００２５】
これにより、印刷データを確実に印刷することのできる能力があるネットワークプリンタは検索されることができ、マルチキャストアドレスに参加しているネットワークプリンタはマルチキャストによるデータ受信を行えばよく、印刷時間の短縮及びトラフィック量の増大抑制を図ることができ、確実なデータの送信を行うことができる。
【００２６】
本発明の請求項７記載のネットワークプリンタは、印刷制御装置から受信したパケットに対応する特定情報が、管理手段により管理する特定情報より前に受信すべきパケットに対応する特定情報の場合には、その受信したパケットの印刷処理を実行せず、次のパケットの受信待ち状態となる。
本発明の請求項８記載のネットワークプリンタは、印刷制御装置からの参加要求に対して、既に他のマルチキャストアドレスに参加している場合に当該印刷制御装置からの参加要求を拒絶する拒絶手段を備えた。
【００２７】
これにより、ネットワークプリンタが所定のマルチキャストアドレスを使用している場合に参加を拒絶して重複した状態となることを防止することができる。
【００２８】
本発明の請求項９記載のネットワークプリンタは、印刷制御装置により送信された印刷データのパケットを受信した旨の肯定応答、パケットを受信できない旨の否定応答、パケットの再送を促す旨の再送応答のいずれかを当該印刷制御装置に通知する通知手段を備えた。
【００２９】
これにより、パケットを受信したネットワークプリンタは、否定応答、肯定応答、再送応答のいずれかの応答をすることにより印刷制御装置に対して状況を告知することができ、印刷制御装置によるその後の処理を的確に行うことができる。
【００３０】
本発明の請求項１０記載のネットワークプリンタは、印刷制御装置の指示により、特定のマルチキャストアドレスから離脱する機能を備えた。
【００３１】
これにより、所定のマルチキャストアドレスに参加しているネットワークプリンタが障害時、印刷処理終了等の場合にマルチキャストアドレスから離脱することができる。
【００３２】
本発明の請求項１１記載の印刷制御方法は、ネットワークに接続されたネットワークプリンタの中から、該ネットワークプリンタに問合せることによって、所望の印刷データとして印刷可能な印刷能力を有するネットワークプリンタを検索する印刷制御装置における検索工程と、前記検索工程により検索された前記印刷能力を有するネットワークプリンタを所定のマルチキャストアドレスに参加させる参加工程と、当該マルチキャストアドレスに対して前記印刷データをパケットに分割して、該送信するパケットの特定情報を対応付けてマルチキャストにより順次送信する印刷制御装置における送信工程と、印刷制御装置により送信されるパケットであって、印刷対象となるパケットの特定情報を管理するネットワークプリンタにおける管理工程と、印刷制御装置から受信したパケットに対応する特定情報が、管理工程により管理する特定情報と一致する場合その受信したパケットの印刷処理を実行し、管理工程により管理する特定情報より後に受信すべきパケットに対応する特定情報の場合その受信したパケットに分割した印刷データに関するパケットについての印刷処理を実行しないネットワークプリンタにおける印刷実行工程と、を備えた。
【００３３】
これにより、印刷データを確実に印刷することのできる能力があるネットワークプリンタを検索することができ、マルチキャストアドレスに参加しているネットワークプリンタ
に対してマルチキャストによるデータの送信を行えばよく、印刷時間の短縮及びトラフィック量の増大抑制を図ることができ、確実なデータの送信を行うことができる。
【００３４】
【発明の実施の形態】
以下に、図面を参照して、本発明の実施の形態について説明する。
【００３５】
本実施の形態の印刷システムは、図１に示すように、印刷制御装置としてのホストコンピュータ１と、ネットワークプリンタとしてのプリンタＡ〜Ｈとが、ネットワーク上で接続されている。
【００３６】
本実施の形態においては、通信プロトコルにＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ  ／  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いる。但し、他のマルチキャストが可能なプロトコルを用いてもよい。
【００３７】
ＴＣＰ／ＩＰ実装においてはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）によるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）マルチキャストを使用する。補足的にはユニキャストやブロードキャストを使用する。
【００３８】
ホストコンピュータ１には、印刷データを、マルチキャストによりネットワークプリンタに送信し、各プリンタにおいて印刷させるためアプリケーションプログラムが実行可能にインストールされており、このアプリケーションプログラムが起動されることにより、ホストコンピュータ１は、以下に説明する各手段として機能する。
【００３９】
まず、ホストコンピュータ１は、ホストコンピュータ１が生成し、あるいはホストコンピュータ１が他の装置から取得した印刷データを、ブロードキャストアドレス、あるいは特定のマルチキャストアドレスを送信先アドレスとしてネットワーク（ＬＡＮ）へ送信する送信手段として機能する。
【００４０】
次に、ホストコンピュータ１は、印刷しようとしている印刷データを問題なく印刷できる能力を持つネットワークプリンタをネットワーク上から検索する検索手段として機能する。
【００４１】
本実施形態のシステムでは、複数のネットワークプリンタに同時に同じ印刷データを送信するので、その印刷データを確実に印刷できる能力がある複数のネットワークプリンタを探し出す必要がある。例えば、ポストスクリプトしか持たないネットワークプリンタとＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）しか持たないネットワークプリンタに対して、同じ印刷データを送信することはできないからである。また、すべての能力を持っているネットワークプリンタであっても、オフライン状態などですぐに使用できない状態もあり得るので、ネットワークプリンタの状態を調べる必要もある。
【００４２】
この検索手段における検索条件項目としては、以下のようなものがある。（ａ）本実施の形態の印刷システムの印刷機能をサポートしているか否か（ｂ）用紙の対応サイズ（例えばＬＥＴＴＥＲ）（ｃ）印刷ページ数（例えば５０枚）（ｄ）オリエンテーションポートレート（いわゆる縦横方向）（ｅ）解像度（例えば６００ｄｐｉ）（ｆ）ＰＤＬ（Ｐａｇｅ
Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）の有無やバージョン（例えばＰＣＬ５）（ｇ）カラ／モノクロ対応（例えばカラー印刷）（ｈ）プリンタのステータス状態（例えばすぐに利用できるか否か）
【００４３】
これらの検索条件の取り合わせはＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）、あるいは独自の実装プロトコルのブロードキャストにより、直接ネットワーク上のネットワークプリンタに問い合わせることが考えられる。また、ネットワークプリンタが自発的に、あるいは管理者が情報入力して構成されるＸ．５００（国際勧告）やＳＬＰ（ＳｅｒｖｉｃｅＬｏｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）やＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）などのディレクトリーサービスにネットワークプリンタの能力を登録しておき、ホストコンピュータ１はこのディレクトリサービスを使用して条件を満たすネットワークプリンタを検索するという方法も考えられる。ホストコンピュータ１は検索の結果として、ネットワークプリンタのＩＰアドレス、ネットワークプリンタ名、ネットワークプリンタの設置場所情報などを得るようにする。
【００４４】
また、ホストコンピュータ１は、上記検索手段により捜し出されたネットワークプリンタの中から、実際に印刷に使用するネットワークプリンタを選択するプリンタ選択手段として機能する。
【００４５】
本実施形態においては、所望の印刷データを印刷する能力を持つすべてのネットワーク上のネットワークプリンタに印刷データを送るのではなく、印刷部数をいくつにするか、物理的にユーザのいる場所に近いところのネットワークプリンタを選ぶか、印刷速度が高速のネットワークプリンタのみを選択するか否かについて、使用者としてのユーザが選択することができる。ホストコンピュータ１は、上記検索手段により探し出されたネットワークプリンタについてのネットワークプリンタ名やＩＰアドレスや設置場所等を一覧にした表示リストを表示させ、この表示リストの中から実際に印刷に使用するネットワークプリンタをユーザに選択させることができる。
【００４６】
また、ホストコンピュータ１は、上記プリンタ選択手段で選択した各々のネットワークプリンタについてそれぞれ独立した印刷部数を設定する印刷部数設定手段として機能する。
【００４７】
上記プリンタ選択手段で選択したネットワークプリンタの印刷速度が、例えば１０ｐｐｍのものと２０ｐｐｍとのものがあったとする。２０ｐｐｍのネットワークプリンタは１０ｐｐｍのネットワークプリンタに比べて倍の印刷スピードで印刷することができる。もし、各々のネットワークプリンタが一律に一部ずつ印刷すると２０ｐｐｍのネットワークプリンタは１０ｐｐｍの印刷処理の進行に合わせて待ち時間が発生することになる。そこで、この２０ｐｐｍのネットワークプリンタに関しては１０ｐｐｍのネットワークプリンタの倍の部数印刷するように設定しておけば時間的に効率よく印刷することができる。あるいは上記検索手段でネットワークプリンタの能力を調べるときに印刷速度も調べておいて、システムが自動的に最適化した印刷部数を設定するようなこともできる。例えば全部で５部印刷したい時には、上記プリンタ選択手段でユーザが１０ｐｐｍのネットワークプリンタ３台と２０ｐｐｍのネットワークプリンタとを選んだとすると、その時システムが自動的に２０ｐｐｍのネットワークプリンタにおける印刷部数を２部、１０ｐｐｍのネットワークプリンタのそれぞれの印刷部数を１部と設定してくれるようにすることもできる。それぞれのネットワークプリンタへの印刷部数の設定は、印刷データのマルチキャスト送信に先立ち、それぞれのネットワークプリンタに対してユニキャストにより命令しておく。
【００４８】
また、ホストコンピュータ１は、印刷時にネットワークプリンタにおいて障害が発生し、印刷データを受信できなくなったときのホストコンピュータの振る舞いを選択する振る舞い選択手段として機能する。
【００４９】
本実施の形態の印刷システムでは、特定のマルチキャストアドレスグループのネットワークプリンタに同時に同じ印刷データを送信する。印刷のデータはパケットという単位に分割され各ネットワークプリンタに送信される。各ネットワークプリンタはパケットのひとつひとつに対して正常に受信したことをホストコンピュータ１に伝える。例えばＡ，Ｂ，Ｃという３つのネットワークプリンタに対して同時に印刷を行い、印刷データは全部で２０個のパケットに分割されるものとする。１０番目のパケットを受信したところで、ネットワークプリンタＢに用紙切れなどの障害が発生し、それ以上データを受信できなくなってしまったとする。ネットワークプリンタＡとネットワークプリンタＣとは１０番目のパケットを正常に受信したことを示す肯定応答をホストコンピュータ１に返すが、ネットワークプリンタＢは明示的に、１０番目のパケットを受信出来なかった否定応答を返すか、障害が回復するまで肯定応答を返さないのかのいずれかである。その場合ホストコンピュータ１は次のパケットのデータを送信するわけにはいかず、ネットワークプリンタＡとネットワークプリンタＣはネットワークプリンタＢの障害が回復されるまで足止めを食うことになる。そのような状態が発生した場合にホストコンピュータ１がどのような振る舞えば良いかユーザに選択の余地を与えることができる。例えば以下のよう２つのモードが考えられる。
【００５０】
（ａ）すべてのネットワークプリンタが受信可能になるまで永久に待機する。どうしても１度の印刷指令ですべての部数を印刷したい場合、このモードを選択する。ユーザはネットワークプリンタに障害が発生した場合には速やかに対処する必要がある。但し、直ちに回復できない致命的な障害がネットワークプリンタＢに発生することもあるので、このモードを選択した場合にも、途中でネットワークプリンタＢによる印刷を諦め他のネットワークプリンタＡ及びＣの印刷を続行するように切り替えるようにすることができるようにしておくことが好ましい。
【００５１】
（ｂ）全てのネットワークプリンタが回復するまで設定された一定時間だけ待機する。障害のあるネットワークプリンタは切り捨てて、とにかく正常動作を続けるネットワークプリンタだけで印刷を続行させたいときには、このモードを選択する。このモードは、あるネットワークプリンタに障害が発生してパケットの肯定応答が返ってこない場合、ユーザが設定若しくはシステムで予めデフォルトとして設定されている時間（Ｔ１）だけ待機し、その待機時間（Ｔ１）が経過しても肯定応答が返ってこない場合にはそのネットワークプリンタでの印刷は諦めて次のパケットを送信するモードである。肯定応答を返していないのに次のパケットを受信したネットワークプリンタは、自分がホストコンピュータによって切り捨てられたと判断し、それ以降のパケットは廃棄し印刷は行わない。この場合には、ホストコンピュータ１は、待機時間（Ｔ１）ごとに印刷データを再送する再送手段として機能する。
【００５２】
次に、ホストコンピュータ１は、ホストコンピュータ１からの指示で上記プリンタ選択手段により選択された全てのネットワークプリンタを特定のマルチキャストアドレスに参加させる参加手段として機能する。
【００５３】
ネットワークプリンタは必要なときのみ、マルチキャストデータを受信できるようになっていることが望ましい。例えば、本実施の形態の印刷システムにおけるネットワークプリンタがもし予め印刷用のマルチキャストデータを受信するようになっていて、印刷データの中のコマンドにより、そのネットワークプリンタが印刷すべきものか、破棄するべきものか判断するように構成されていると仮定する。
【００５４】
その場合にネットワークプリンタがホストコンピュータ１からの印刷データを印刷しないときに、不要な印刷データを受信しそれを不要と判断し、かつ、破棄する処理がオーバーヘッドになり、他のホストコンピュータからその印刷装置への正規の印刷を実行することの妨げになる可能性が出てくる。
【００５５】
そこで、上記プリンタ選択手段によってユーザに選択されたネットワークプリンタを全てマルチキャストによる受信が可能な状態にするために、ホストコンピュータ１から各々のネットワークプリンタに対して印刷に使用するマルチキャストアドレスのグループに参加せよという命令をユニキャストにより送信する。
【００５６】
更に、ホストコンピュータ１は、ネットワークプリンタから肯定応答を所定の待機時間（Ｔ２）を経過しても受信しなかった場合にホストコンピュータ１が印刷データを自動的に再送する再送手段として機能する。
【００５７】
ホストコンピュータは印刷データをパケット単位に分割してマルチキャストアドレスを宛先アドレスとして送信する。送信されたパケットは上記参加手段でマルチキャストのグループに参加したネットワーク上のネットワークプリンタの全てに受信される。
【００５８】
パケットにはそれぞれシーケンス番号が付与されており、基本的に、あるシーケンス番号のパケットを送信した場合、そのシーケンス番号に対する肯定応答を全ての印刷装置から受け取らない限り次のシーケンス番号をもつパケットを送信することはできないようになっている。
【００５９】
ネットワークの通信に何らかの障害が発生してパケットが消失する可能性がある。この場合にはホストコンピュータ１から送信された印刷データが全てあるいは一部のネットワークプリンタに正常に受信されないケースと、ネットワークプリンタから送信された肯定応答の全てあるいは一部が正常にホストコンピュータ１に受信されないケースの２通りが考えられる。
【００６０】
その場合、ホストコンピュータ１が同じシーケンス番号の印刷データを再送することにより、２つのケースをリカバリすることができる。何回再送処理するか、あるいは、どれだけの待機時間（Ｔ２）が経過したときに再送を行うかはシステムの規定値であっても、ユーザにより設定手段を用いて設定するものでもよい。
【００６１】
しかし、上記振る舞い選択手段で設定されたモードに従い一定の待機時間（Ｔ１）経過したにもかかわらず、肯定応答を返さなかったネットワークプリンタにおける印刷を諦め、次のパケットの送信に進場合もある。
【００６２】
次に、本実施形態の印刷システムにおけるネットワークプリンタＡ〜Ｅには、ホストコンピュータ１からの送信要求に応答可能な制御プログラムが実行可能にインストールされており、この制御プログラムが起動されることにより、ネットワークプリンタＡ〜Ｅは、以下のような手段として機能する。
【００６３】
まず、ネットワークプリンタＡ〜Ｅは、上記ブロードキャストアドレス上、あるいは特定のマルチキャストアドレス宛に送信された印刷データを受信する受信手段として機能する。
【００６４】
また、上記ネットワークプリンタＡ〜Ｅは、ネットワークプリンタが既に特定のマルチキャストアドレスに参加中の場合、新たなホストコンピュータ１から特定のマルチキャストアドレスへの参加要求を拒絶する拒絶手段として機能する。
【００６５】
上記参加手段による命令を受け取った各ネットワークプリンタＡ〜Ｅのうち、応答が可能なプリンタは、要求されたマルチキャストアドレスのデータを受け取る準備をし、受信可能な状態になったことをホストコンピュータ１に向けて知らせる応答をする。しかし、ホストコンピュータ１から要求されたマルチキャストアドレスを既に使用している場合には当該参加要求は拒絶する旨の応答をホストコンピュータ１に送る。
【００６６】
また、各ネットワークプリンタＡ〜Ｅは、印刷データのパケットを正常に受信したことをホストコンピュータ１に知らせる通知手段、あるいは、これ以上受信ができないことをホストコンピュータに知らせる通知手段、あるいは、データの再送をホストコンピュータに要求する再送応答を知らせる通知手段として機能する。
【００６７】
各々のネットワークプリンタＡ〜Ｅは、シーケンス番号の印刷データを正常に受信したときに肯定応答を返す。しかし、受信用のバッファがフル充満状態や用紙切れの状態で印刷データをこれ以上受け入れることができない状態である場合には肯定応答は返さない。このような状態の場合には、明示的に受信できない旨の否定応答を返すこともできる。この際、否定応答を返すに際して否定応答をする理由を付加することもできる。この理由によりホストコンピュータは操作しているユーザに対して印刷が中断される理由を告知することができる。ネットワークプリンタＡ，Ｄ，Ｅが何らかの理由で不良なパケットを受信したことを認識できたとする。この場合にはホストコンピュータ１に対して再送要求を当該ネットワークプリンタＡ〜Ｅから能動的に行うことで、上述した待機時間（Ｔ２）を待つことなく速やかにパケットの再送処理を行うことができる。
【００６８】
また、ネットワークプリンタＡ〜Ｅは、上記参加手段としてのホストコンピュータ１からの指示により設定された、特定のマルチキャストアドレスの参加を解除する手段として機能する。
【００６９】
ホストコンピュータ１は、ネットワークプリンタが参加しているマルチキャストグループから解除する要求をユニキャストで個別にネットワークプリンタに対して行う。この要求を受けたネットワークプリンタはマルチキャストグループから離脱する。
【００７０】
次に、以上のような各手段として機能するホストコンピュータ１とネットワークプリンタとにより、どのようなプロセスで本実施形態の印刷データ処理が行われるかについて以下に具体的に説明する。
【００７１】
まず、ホストコンピュータ１は、印刷しようとしている印刷データを問題なく印刷できる能力を持つネットワークプリンタをネットワーク上から検索する。
【００７２】
すなわち、ホストコンピュータ１は、（ａ）本実施の形態の印刷システムの印刷機能をサポートしているもの、（ｂ）用紙の対応サイズにＬＥＴＴＥＲサイズがあるもの、（ｃ）印刷ページ数５０枚印刷できるもの、（ｄ）オリエンテーションポートレートがポートレートであるもの、（ｅ）解像度が６００ｄｐｉをサポートしているもの、（ｆ）ＰＤＬがＰＣＬ５であるもの、（ｇ）カラー印刷対応しているもの、（ｈ）プリンタのステータス状態がレディーであるもの、すべてを満たすネットワークプリンタはホストコンピュータに対し応答を返すように要求するために、検索条件のパケットをネットワーク上にブロードキャストする（図８：ステップＳ１）。そして、返信を待つ（図８：ステップＳ２）。
【００７３】
一方、受信待ち状態にあるプリンタは（図１１：ステップＳ３０）、当該検索条件のブロードキャストによる要求を受けると（図１１：ステップＳ３１；ＹＥＳ）、検索条件に適合した場合には、自己のＩＰアドレスやプリンタ名やロケーション情報印刷速度等の自己の印刷能力に関する情報をホストコンピュータに向かって送信する（図１１：ステップＳ３２）。図２の例では、プリンタＡ、プリンタＢ、プリンタＣ、プリンタＤ、及びプリンタＥの５台が応答した例を示している。
【００７４】
次に、ホストコンピュータ１は、プリンタからの返信があり、返信されたパケットが有効である場合には（図８：ステップＳ３；ＹＥＳ）、当該プリンタから送信された情報を情報リストとして記憶し、ホストコンピュータ１の表示手段としてのディスプレイ上に一覧表示する（図８：ステップＳ５）。但し、有効なパケットがない場合には（図８：ステップＳ３；ＮＯ）、所定のエラー処理を行う（ステップＳ４）。
【００７５】
図３（ａ）の例では、プリンタＡ、プリンタＢ、プリンタＣ、プリンタＤ、プリンタＥから送信された情報を情報リスト１０として表示した例を示す。
【００７６】
次に、ホストコンピュータ１は、ユーザによる印刷部数についての入力待ち状態となる（図８：ステップＳ６）。この印刷部数の設定は次のような手順で行われる。
【００７７】
まず、ユーザは上記情報リスト１０の一覧表示を見て、ロケーション情報や印刷速度等を確認し、検索されたプリンタＡ、プリンタＢ、プリンタＣ、プリンタＤ、プリンタＥの中から、実際の印刷に使用するプリンタを選択する。図３（ｂ）の場合には、プリンタＡ、プリンタＤ、プリンタＥを選択した例を示している。選択されたプリンタは図３（ｂ）に示すように非選択のプリンタと区別して表示される。図３（ｂ）では斜線表示されたプリンタが選択されたプリンタを示している。
【００７８】
ユーザは次に選択されたプリンタにおける印刷部数を設定入力する。ここでは、プリンタＥの印刷速度が他のプリンタＡ、プリンタＤの倍であるので印刷部数を他のプリンタの２倍の２部に設定入力した（図３（ｂ）参照）。そして設定が完了したら図３（ｂ）に示す情報リスト１０の［ＯＫ］ボタン１１をクリックするかキーボードのＥＮＴＥＲキーを押下する。
【００７９】
次に、ホストコンピュータ１は以上のような［ＯＫ］ボタンのクリック等の入力を検知すると（図８：ステップＳ７；ＹＥＳ）、印刷障害時の処理の選択画面を表示させ（図８：ステップＳ８）、ユーザによる処理の選択の入力待ちとなる（図９：ステップＳ９）。図４にこの選択画面２０の表示例を示す。
【００８０】
ユーザは、この選択画面２０において、印刷を実施しているプリンタに障害が発生し、送信した印刷データが受信できなくなった場合に、ホストコンピュータ１がどのような振る舞いで処理を行うかを設定入力する。ユーザは「障害の回復を待つ。」を選択するためのボタン２１、あるいは「設定時間の超過時は障害の回復を待たずに印刷を続行する。」を選択するためのボタンのいずれかにチェックを入れる。後者をチェックを入れた場合には待機する時間を下に表示されたテキストボックス２３に入力する。図４の例では１０秒と入力している。
【００８１】
ホストコンピュータ１は、以上のような入力があったことを検知すると（図９：ステップＳ１０；ＹＥＳ）、ユーザが選択したプリンタに特定のマルチキャストアドレスに参加するように参加要求（ｊｏｉｎＧｒｏｕｐ）をユニキャストにより送信し（図９：ステップＳ１１）、所定時間（例えば２秒）の間、プリンタからの返信を待つ（図９：ステップＳ１２）。
【００８２】
図５に示す例では、プリンタＡ、プリンタＤ、プリンタＥに対し、（２３９．２４５．２２．２２）のマルチキャストアドレスに参加するように参加要求（ｊｏｉｎＧｒｏｕｐ）をユニキャストにより送信している。
【００８３】
一方、上記要求を受信したプリンタは（図１１：ステップＳ３５；ＹＥＳ）、既に指定されたマルチキャストアドレスに参加済みか否かを判断し（図１１：ステップＳ３６）、指定されたマルチキャストアドレスに参加していない場合には（図１１：ステップＳ３６；ＮＯ）、上記マルチキャストアドレスに参加し（図１１：ステップＳ３７）、参加が完了した旨のＯＫ信号をホストコンピュータ１に返信する（図１１：ステップＳ３９）。また、プリンタが管理している、シーケンス番号レジスタｓｅｑＰにシーケンス番号１を入れる（図１１：ステップＳ４０）。
【００８４】
図５に示す例では、プリンタＡ、プリンタＤ、プリンタＥがＯＫ信号をホストコンピュータ１に返信しており、プリンタＡ、プリンタＤ、プリンタＥは上記マルチキャストアドレスに対して送信されたパケットを受信できるようになる。
【００８５】
しかし、既に指定されたマルチキャストアドレスに参加中であるならば（図１１：ステップＳ３６；ＹＥＳ）、プリンタはここで参加を拒絶する旨のＮＧ信号をホストコンピュータ１に送信する（図１１：ステップＳ３８）。
【００８６】
ホストコンピュータ１は、プリンタからの返信を受け取ると、ＯＫパケットを受信したか否かを判断し（図９：ステップＳ１３）、一部のプリンタからＮＧのパケットを受信した場合には（図９：ステップＳ１３；ＮＯ）、ユーザに対してその旨を示すダイヤログを表示し（図９：ステップＳ１４）、ユーザによるＯＫボタンのクリックまたは押下を待つ（図９：ステップＳ１５）。
【００８７】
しかし、全てのプリンタからＯＫのパケットを受信した場合には（図９：ステップＳ１３；ＹＥＳ）、各プリンタにユニキャストでプリント部数を指定するコマンドを送信する（図９：ステップＳ１６）。
【００８８】
これに対し、各プリンタは、コピー部数設定コマンドの受信を確認すると（図１１：ステップＳ３３；ＹＥＳ）、当該コマンドに従ってコピー部数の設定を行う（図１１：ステップＳ３４）。
【００８９】
次に、ホストコンピュータ１は、印刷データをパケットに分割し、ホストコンピュータが管理している、パケットのシーケンス番号レジスタｓｅｑｈにシーケンス番号０を入れる（図１０：ステップＳ１７）。そして、全ての印刷データのパケットの送出が終了かどうか判断し（図１０：ステップＳ１８）、全てのパケッの送出を終了していない場合には（図１０：ステップＳ１８；ＮＯ）、シーケンス番号レジスタｓｅｑｈの値をインクリメントし（図１０：ステップＳ２０）、シーケンス番号１が付された印刷データのパケットをマルチキャストにより送信する（図１０：ステップＳ２１）。また、ホストコンピュータ１は、この送信と同時に、待機時間Ｔ１及びＴ２のカウントを開始する。そして、プリンタからの返信パケットを受信する（図１０：ステップＳ２２）。
【００９０】
図６（ａ）は、シーケンス番号レジスタｓｅｑｈの値、即ちシーケンス番号を１の印刷データのパケットを上記マルチキャストアドレス（２３９．２４５．２２．２２）に対してマルチキャストにより送信した例を示している。
【００９１】
一方、プリンタにおいては、マルチキャストの印刷パケットの受信を確認すると（図１２：ステップＳ４１；ＹＥＳ）、受信パケットが正常かどうかを判断し（図１２：ステップＳ４２）、正常である場合には（図１２：ステップＳ４２；ＹＥＳ）、パケットのシーケンス番号がレジスタｓｅｑｐの値よりも小さいかを判断する（図１２：ステップＳ４４）。小さい場合は（図１２：ステップＳ４４；ＹＥＳ）、現在処理すべきパケットではないので、その受信パケットについては無視する。しかし、パケットのシーケンス番号がレジスタｓｅｑｐの値よりも大きい場合には（図１２：ステップＳ４４；ＮＯ）、パケットのシーケンス番号はレジスタｓｅｑｐの値より大きいかを判断する（図１２：ステップＳ４５）。大きくない場合には（図１２：ステップＳ４５；ＮＯ）、受信したパケットの処理を行う（図１２：ステップＳ４７）。具体的には、プリンタに備えられたメモリに印刷データを蓄積・展開し、展開したデータに基づいて印刷処理を実行する。そして、パケットの処理の処理が終了したら、肯定応答（ＡＣＫ）をホストコンピュータ１に返すと共に、レジスタｓｅｑｐの値をインクリメントする（図１２：ステップＳ４８）。
【００９２】
図６（ａ）はこのようにして、プリンタＡ、プリンタＤ、及びプリンタＥのそれぞれが、肯定応答（ＡＣＫ）をホストコンピュータ１に返した例を示している。図６（ａ）の場合には、全てのプリンタはＡＣＫを５秒以内に返信している。
【００９３】
次に、上記プリンタからの返信を受け取ったホストコンピュータ１は、その返信が再送要求か否かを確認し（図１０：ステップＳ２３）、再送要求ではない場合には（図１０：ステップＳ２３；ＮＯ）、全てのプリンタから肯定応答があったか否かを確認した上で（図１０：ステップＳ２４；ＹＥＳ）、送信処理を続行する。
【００９４】
つまり、未だ全パケットの送信が終了していないことを確認し（図１０：ステップＳ１８；ＮＯ）、レジスタｓｅｑｈの値をインクリメントして（図１０：ステップＳ２０）、次のシーケンス番号のパケットを送信する（図１０：ステップＳ２１）。
【００９５】
図６（ｂ）は、ホストコンピュータ１からシーケンス番号が２のパケットをマルチキャストアドレスに送信し、これに対してプリンタＡとプリンタＤが速やかにＡＣＫを返信する例を示している。但し、プリンタＥについては、当該パケットを受信したが（図１２：ステップＳ４１；ＹＥＳ）、何らの要因で受信したパケットが不良であることを検出したので（図１２：ステップＳ４２；ＮＯ）、ホストコンピュータに対して当該パケットの再送要求（ＲＥＳＥＮＤ）を返信する（図１２：ステップＳ４３）。
【００９６】
これに対し、上記再送要求（ＲＥＳＥＮＤ）を受信したホストコンピュータ１は（図１０：ステップＳ２３；ＹＥＳ）、再び現在のシーケンス番号のパケットを送信して（図１０：ステップＳ２１）プリンタからの返信パケットの受信を行う（図１０：ステップＳ２２）。
【００９７】
そして、上記再送されたパケットを受信したプリンタは、当該パケットが正常であるか否か判断し（図１２：ステップＳ４２）、正常であれば（図１２：ステップＳ４２；ＹＥＳ）、上述した手順に従ってパケットの処理を行う（図１２：ステップＳ４４〜Ｓ４８）。
【００９８】
図６（ｃ）に示す例では、ホストコンピュータ１からシーケンス番号が２のパケットがマルチキャストに再送され、これを受信したプリンタＥからＡＣＫが返信された例を示している。なお、この場合には、既にＡＣＫを返信しているプリンタＡ及びプリンタＤにおいては、シーケンスレジスタｓｅｑｐの値が３になっているので、図１２のステップＳ４４に示すように、再送されたパケットのシーケンス番号がシーケンスレジスタｓｅｑｐの値よりも小さいと判断して（図１２：ステップＳ４４；ＹＥＳ）、再送されたパケットを無視する。
【００９９】
このように、本実施形態においては、プリンタにおいて受信したパケットが不良である場合には、ホストコンピュータに対して再送要求を返信するように構成されているので、ホストコンピュータとプリンタとの間で正しいデータによる通信を確実に行うことができる。
【０１００】
また、プリンタにおいては、受信したパケットが正常であっても、バッファが空いていない、あるいは紙詰まりが生じている等の事情によりパケットの処理に時間がかかる場合がある。この場合には、次のパケットの送信を待って欲しい旨の待ち要求（ＷＡＩＴ）を出すこともできる。
【０１０１】
更に、ネットワークの通信に何らかの障害が発生した場合には、パケットが消失する可能性が考えられる。その結果、ホストコンピュータ１から送信された印刷データが、全ての、あるいは一部のプリンタに正常に受信されないケースと、プリンタから送信された肯定応答の全て、あるいは一部が正常にホストコンピュータ１に受信されないケースの２通りの現象が生じ得る。そこで、本実施形態においては、上述のように再送要求（ＲＥＳＥＮＤ）があった場合のみならず、一定時間（Ｔ１）経過しても全てのプリンタから肯定応答が返信されない場合には、所定回数の再送処理を行うように構成した。
【０１０２】
具体的には、ホストコンピュータ１から所定のシーケンス番号のパケットをマルチキャストアドレスに送信し（図１０：ステップＳ２１）、その後一つでも肯定応答を返信しないプリンタがある場合には（図１０：ステップＳ２２〜ステップＳ２３；ＮＯ〜ステップＳ２４；ＮＯ）、一定時間（Ｔ１）が経過するまでは（図１０：ステップＳ２５；ＮＯ〜ステップＳ２６；ＮＯ）、肯定応答が返信されるのを待つ（図１０：ステップＳ２２〜ステップＳ２３；ＮＯ〜ステップＳ２４；ＮＯ〜ステップＳ２５；ＮＯ〜ステップＳ２６；ＮＯ）。しかし、一定時間（Ｔ１）が経過した場合には（図１０：ステップＳ２６；ＹＥＳ）、上記所定のシーケンス番号のパケットをマルチキャストアドレスに再送する（図１０：ステップＳ２１）。
【０１０３】
図６（ｄ）に示す例では、ホストコンピュータ１からシーケンス番号が３のパケットをマルチキャストアドレスに送信した結果、プリンタＤ及びプリンタＥからはＡＣＫが返信されたが、プリンタＡからは何の返信も行われていない。
【０１０４】
そこで、ホストコンピュータ１は、一定時間（Ｔ１）として５秒間はプリンタＡからの返信を待つ。そして、図６（ｅ）に示すように、５秒間経過後、シーケンス番号が３のパケットをマルチキャストアドレスに再送する。従って、上記５秒間の間にネットワークの通信における障害が解消された場合には、プリンタＡからのＡＣＫが得られる。なお、既にＡＣＫを返信しているプリンタＤ及びプリンタＥにおいては、シーケンスレジスタｓｅｑｐの値が４になっているので、図１２のステップＳ４４に示すように、再送されたパケットのシーケンス番号がシーケンスレジスタｓｅｑｐの値よりも小さいと判断して（図１２：ステップＳ４４；ＹＥＳ）、再送されたシーケンス番号３のパケットを無視する。
【０１０５】
以上のような一定時間（Ｔ１）ごとの再送処理を行った場合でも、上記ネットワークの通信における障害が解消しない場合の振る舞いは、上述したように、振る舞いを選択する選択画面２０によって選択する。
【０１０６】
障害の回復を待つモードを選択した場合には、全てのプリンタからＡＣＫが返信されるまで、上記一定時間（Ｔ１）ごとの再送処理を繰り返す。
【０１０７】
しかし、本実施形態においては、設定した時間（Ｔ２）を超えても全てのプリンタからＡＣＫが返信されない場合には、印刷を続行するモードが選択されているものとする。このモードが選択された場合には、パケットの送信と同時に、上記一定時間（Ｔ１）を計数するタイマーと、上記設定した時間（Ｔ２）を計数するタイマーをスタートさせる。そして、上記一定時間（Ｔ１）ごとの再送処理を繰り返しつつ（図１０：ステップＳ２１〜ステップＳ２２〜ステップＳ２３；ＮＯ〜ステップＳ２４；ＮＯ〜ステップＳ２５；ＮＯ〜ステップＳ２６；ＮＯ／ＹＥＳ）、全てのプリンタからＡＣＫが返信されない状態で上記設定した時間（Ｔ２）が経過した場合には（図１０：ステップＳ２５；ＹＥＳ）、次のシーケンス番号のパケットを送信する（図１０：ステップＳ２０〜ステップＳ２１）。
【０１０８】
図７（ａ）、（ｂ）、（ｃ）に示す例では、まず、ホストコンピュータ１からシーケンス番号４のパケットをマルチキャストアドレスに送信する。これに対し、プリンタＤ及びプリンタＥからはＡＣＫが返信されるが、プリンタＡからはＡＣＫが返信されない。
【０１０９】
そこで、ホストコンピュータ１は、上記一定時間（Ｔ１＝５秒間）の間、返信を待ち、上記一定時間（Ｔ１＝５秒間）後にシーケンス番号４のパケットをマルチキャストアドレスに再送する。しかし、この場合にもプリンタＡからはＡＣＫが返信されないので、再び上記一定時間（Ｔ１＝５秒間）の返信を待ち状態となる。しかしながら、次の上記一定時間（Ｔ１＝５秒間）の経過後は、上記設定時間（Ｔ２＝１０秒間）の経過後でもあるため、ホストコンピュータ１はプリンタＡからの返信待ちを中止し、次のシーケンス番号５のパケットの送信を行う。その結果、以下はプリンタＤ及びプリンタＥからのＡＣＫが返信されることにより、全てのプリンタからＡＣＫが返信されたと判断されることになり、上述したパケット送信処理が続行されることになる。
【０１１０】
なお、これ以降のタイミングにおいて上記障害が回復し、プリンタＡが上記マルチキャストアドレスに送信されるパケットを受信したとしても、プリンタＡは当該パケットのシーケンス番号が上記障害発生時のシーケンス番号よりも大きくなっていることを判断することができるので（図１２：ステップＳ４５；ＹＥＳ）、印刷を中断し、マルチキャストグループの参加を中断する（図１２：ステップＳ４６）。
【０１１１】
そして、以上のようなパケット送信処理を行って、全ての印刷パケットの送信が終了した場合には（図１０：ステップＳ１８；ＹＥＳ）、ホストコンピュータ１は、マルチキャストの参加を解除するパケットをマルチキャストアドレスに送信する（図１０：ステップＳ１９）。
【０１１２】
一方、上記マルチキャストの参加を解除するパケットを受信したプリンタは（図１２：ステップＳ４１；ＮＯ〜ステップＳ４９；ＹＥＳ）、マルチキャストグループへの参加を中断して、ホストコンピュータ１に対して確かに参加解除のパケットを受信したことを示すＯＫを返信する（図１２：ステップＳ５０）。
【０１１３】
これに対し、ホストコンピュータ１は、上記マルチキャストの参加を解除するパケットの送信後に、全てのプリンタからＯＫが返信された否かを判断し（図１０：ステップＳ２７）、全てのプリンタからＯＫが返信された場合には（図１０：ステップＳ２７；ＹＥＳ）、印刷データの同報通信処理を終了する（図１０：ステップＳ２８）。しかし、全てのプリンタからＯＫが返信されない場合には（図１０：ステップＳ２７；ＮＯ）、上記マルチキャストの参加を解除するパケットを再送する（図１０：ステップＳ１９）。この再送についても、上述の再送処理のように、時間による制限、あるいは回数による制限を設けるようにしても良い。また、所定の制限を超えてもＯＫが返信されない場合には、一旦処理を中止し、所定の長時間経過後に再送処理を再開するようにしても良い。
【０１１４】
図７（ｄ）に示す例では、ホストコンピュータ１は、上記マルチキャストアドレスへの参加要求（ｊｏｉｎＧｒｏｕｐ）を送信したプリンタに対して、参加解除をするように解除要求（ＬｅａｖｅＧｒｏｕｐ）をユニキャストにより送信する。この解除要求を受信したプリンタは解除処理を行う。これにより参加が継続されることによるネットワークの機能障害の発生を防止するとともに、この後にホストコンピュータからの参加要求に機動的に対応させることができる。
【０１１５】
以上のように、本実施形態によれば、マルチキャストにより印刷データの同報通信を行うので、ネットワークに接続された他のプリンタに負荷をかけることなく、迅速に複数部数の印刷を行うことができる。
【０１１６】
【発明の効果】
以上説明したように、本発明の技術では、印刷時間の短縮及びトラフィック量の増大抑制を図ることができ、確実なデータの送信を行うことができ、印刷データの印刷等を確実に処理することができる。
【０１１７】
【０１１８】
【０１１９】
【０１２０】
【０１２１】
【０１２２】
【０１２３】
【０１２４】
【０１２５】
【０１２６】
【０１２７】
【０１２８】
【図面の簡単な説明】
【図１】  本発明の実施形態の印刷システムが適用されるネットワーク構成図である。
【図２】  本発明の実施形態の印刷システムの処理を示す図である。
【図３】  本発明の実施形態の印刷システムの処理におけるＣＲＴ表示を示す図である。
【図４】  本発明の実施形態の印刷システムの処理をおけるＣＲＴ表示を示す図である。
【図５】  本発明の実施形態の印刷システムの処理を示す図である。
【図６】  本発明の実施形態の印刷システムの処理を示す図である。
【図７】  本発明の実施形態の印刷システムの処理を示す図である。
【図８】  本発明の実施形態の印刷システムの処理を示すフローチャートである。
【図９】  本発明の実施形態の印刷システムの処理を示すフローチャートである。
【図１０】  本発明の実施形態の印刷システムの処理を示すフローチャートである。
【図１１】  本発明の実施形態の印刷システムの処理を示すフローチャートである。
【図１２】  本発明の実施形態の印刷システムの処理を示すフローチャートである。
【符号の説明】
１  ホストコンピュータ
１０  情報リスト
２０  選択画面
Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈ  ネットワークプリンタ
Ｔ１  待機時間（再送タイムアウト時間）
Ｔ２  待機時間（印刷障害発生のタイムアウト時間）
Ｓｅｑｈ  ホストコンピュータが管理しているシーケンス番号用レジスタ
ｓｅｑｐ  プリンタが管理しているパケットのシーケンス番号用レジスタ
【図１】
0004335405.tif 000002
【図２】
0004335405.tif 000003
【図３】
0004335405.tif 000004
【図４】
0004335405.tif 000005
【図５】
0004335405.tif 000006
【図６】
0004335405.tif 000007
【図７】
0004335405.tif 000008
【図８】
0004335405.tif 000009
【図９】
0004335405.tif 000010
【図１０】
0004335405.tif 000011
【図１１】
0004335405.tif 000012
【図１２】
0004335405.tif 000013