(57)【要約】【課題】通信回線の効率的な利用を図ることができるとともに、印刷データの転送時間の短縮化を図ることができる印刷システムを提供する。【解決手段】ネットワークプリントシステムは、ＰＣ１００とネットワークプリンタ２００とがＬＡＮ３００を介して接続されている。ＰＣ１００のインターフェースモニタ１５０は、ネットワークプリンタ２００へ送信すべき所定の印刷データのデータ量と、ＬＡＮ３００上のトラフィック量とに基づいて、当該所定の印刷データに関するパケットのパケットサイズを決定する。この決定されたパケットサイズに基づく、印刷データを含むパケットは、ＰＣ１００からネットワークプリンタ２００に向けて送信される。【選択図】        図２
2008046828.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを送信する送信元装置と該送信元装置から送信された印刷データに基づき印刷処理を実行する印刷装置とが通信回線を介して接続され、これらの装置間で所定の通信プロトコルに従ってデータの送受信を行う印刷システムであって、
前記送信元装置は、
前記印刷装置へ送信すべき所定の印刷データのデータ量と、前記通信回線上のトラフィック量および前記印刷装置の負荷状態の少なくとも何れか一方の情報とに基づいて、当該所定の印刷データに関するパケットのパケットサイズを決定するパケットサイズ決定手段、
を有し、
前記パケットサイズ決定手段によって決定されたパケットサイズに基づくパケットを前記印刷装置へ送信する、
ことを特徴とする印刷システム。
【請求項２】
前記パケットサイズ決定手段は、
印刷データを含まない所定のパケットを前記印刷装置へ送信した時点から、当該所定のパケットを受信した前記印刷装置から送信される当該所定のパケットの受信時刻を示す旨を受信した場合の当該受信時刻までの通信時間と、前記所定の印刷データのデータ量とを基に、当該所定の印刷データに関するパケットのパケットサイズを決定する、
ことを特徴とする請求項１記載の印刷システム。
【請求項３】
実施形態１
前記パケットサイズ決定手段は、
印刷データを含まない所定のパケットを前記印刷装置へ送信した時点から、当該所定のパケットを受信した前記印刷装置から送信される肯定応答を示す旨を受信する時点までの通信時間と、前記所定の印刷データのデータ量とを基に、当該所定の印刷データに関するパケットのパケットサイズを決定する、
ことを特徴とする請求項１記載の印刷システム。
【請求項４】
前記送信元装置は、
それぞれ異なる複数の通信時間情報とそれぞれ異なる複数のデータ量情報と複数のパケットサイズ情報とが関連付けされた情報を記憶する記憶手段、を更に備え、
前記パケットサイズ決定手段は、
前記所定のパケットを送信したことにより得られた前記通信時間と前記所定の印刷データのデータ量と前記記憶手段の記憶内容とに基づいて、前記所定の印刷データに関するパケットのパケットサイズを決定する、
ことを特徴とする請求項２または３記載の印刷システム。
【請求項５】
前記パケットサイズ決定手段は、
前記印刷装置に対し負荷状態を問い合せるとともに、この問い合せに対する結果として前記印刷装置から返信される負荷状態を示す情報を取得し、この取得した負荷状態を示す情報と前記所定の印刷データのデータ量とに基づいて、当該所定の印刷データに関するパケットのパケットサイズを決定する、
ことを特徴とする請求項１〜４の何れか一項に記載の印刷システム。
【請求項６】
前記印刷装置は、
前記送信元装置から送信された前記所定のパケットを受信した場合に、当該所定のパケットを受信した受信時刻を示す旨を、前記パケットサイズ決定手段に向けて送信する受信時刻通知手段、
を有することを特徴とする請求項１〜５の何れか一項に記載の印刷システム。
【請求項７】
前記印刷装置は、
前記送信元装置からの負荷状態に関する問い合わせを受信した場合に、当該印刷装置の印刷処理状況を示す情報を当該問い合わせに対する結果として前記送信元装置へ返信する負荷状態通知手段、
を有することを特徴とする請求項１〜６の何れか一項に記載の印刷システム。
【請求項８】
前記負荷状態通知手段は、
既に受信されている前記送信元装置からのパケットに含まれる印刷データに対する印刷処理が実行されている最中に、前記負荷状態に関する問い合わせがあった場合は、受信可能なデータのデータサイズを示す情報を当該問い合わせに対する結果として前記送信元装置へ返信する、
ことを特徴とする請求項７記載の印刷システム。
【請求項９】
前記パケットサイズ決定手段は、
既に決定したパケットサイズに基づく、印刷データを含むパケットを送信した時点から、当該パケットを受信した前記印刷装置から送信される肯定応答を示す旨を受信する時点までの応答時間と、送信すべき印刷データのデータ量とに基づき、当該既に決定したパケットサイズを補正する、
ことを特徴とする請求項１〜８の何れか一項に記載の印刷システム。
【請求項１０】
前記送信元装置と前記印刷データとの間のデータ通信にあってはフロー制御は実施されない、
ことを特徴とする請求項１〜９の何れか一項に記載の印刷システム。
【請求項１１】
印刷データを送信する送信元装置と通信回線を介して接続され、該送信元装置との間でフロー制御機能を有しない所定の通信プロトコルに従ってデータ通信する印刷装置であって、
前記送信元装置からの負荷状態に関する問い合わせを受信した場合に、当該印刷装置の印刷処理状況を示す情報を当該問い合わせに対する結果として前記送信元装置へ返信する負荷状態通知手段、
を有することを特徴とする印刷装置。
【請求項１２】
前記負荷状態通知手段は、
既に受信されている前記送信元装置からの所定の印刷データに関するパケットに含まれる印刷データに対する印刷処理が実行されている最中に、前記負荷状態に関する問い合わせがあった場合は、受信可能なデータのデータサイズを示す情報を当該問い合わせに対する結果として前記送信元装置へ返信する、
ことを特徴とする請求項１１記載の印刷装置。
【請求項１３】
前記送信元装置から送信され印刷データを含まない所定のパケットを受信した場合に、当該所定のパケットを受信した受信時刻を示す旨を、前記送信元装置へ送信する受信時刻通知手段、を更に備えた、
ことを特徴とする請求項１１または１２記載の印刷装置。
【請求項１４】
送信元装置が所定の印刷データに関するパケットを通信回線を通じて印刷装置へ送信する印刷システムのデータ通信方法であって、
前記送信元装置と前記印刷装置との間のデータ通信に関わるフロー制御を実施せずに、
前記送信元装置が、印刷データを含むパケットを送信する前に、前記印刷装置から取得した当該印刷装置の負荷状態および前記通信回線上のトラフィック量の少なくとも何れか一方の情報と前記所定の印刷データのデータ量とに基づいてパケットサイズを決定し、この決定したパケットサイズに基づく、印刷データを含むパケットを前記印刷装置へ送信する、
ことを特徴とする印刷システムのデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを送信する送信元装置と該送信元装置から送信された印刷データに基づき印刷処理を実行する印刷装置とが通信回線を介して接続される印刷システム、印刷装置、印刷システムのデータ通信方法に関する。
【背景技術】
【０００２】
複数のコンピュータとネットワークプリンタとがネットワーク回線に接続されたネットワークプリントシステムにおけるデータ送信においては、コンピュータがネットワークプリンタへ送信可能なデータの最大のデータサイズすなわちパケットサイズは、前記ネットワーク回線での例えば最大転送単位（ＭＴＵ）により一意である。
【０００３】
上述したようなネットワークプリントシステムには、コンピュータとネットワークプリンタとのデータ通信の際に、フロー制御を実施しないようにシステム構築したものもある（例えば、特許文献１参照。）。
【０００４】
この特許文献１では、パーソナルコンピュータが、送信すべきデータの通信データ量に応じて通信バッファサイズをデフォルト値よりも小さい値に設定し、この設定した通信バッファサイズに基づくデータを、ネットワークプリンタへ送信するようにしている。
【特許文献１】特開２０００−１８１６４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に開示された技術では、ネットワーク回線上のトラフィックが多い（混雑している）場合は、送信されたパケットのパケットサイズによってはデータロスト（パケットの消失）が発生することがあり、データロストしたパケットと同一のパケットを再送する必要がある。そのため、効率的なデータ送信を行うことができないという問題がある。
【０００６】
また、ネットワーク回線上のトラフィックが多い場合は、そのトラフィック量に応じて、パーソナルコンピュータからネットワークプリンタへ送信するパケットそのものが遅延する確率が上がることとなり、そのため効率的なデータ送信を行うことができないという問題が内在している。
【０００７】
上述したようなことから、パーソナルコンピュータからネットワークプリンタへのデータの送信に必要以上の時間を要することとなり、結果的に印刷処理時間が長くなってしまうという問題がある。
【０００８】
そこで、本発明は、通信回線の効率的な利用を図ることができるとともに、印刷データの転送時間の短縮化を図ることのできる印刷システム、印刷装置、印刷システムのデータ通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１に記載の本発明の印刷システムは、印刷データを送信する送信元装置と該送信元装置から送信された印刷データに基づき印刷処理を実行する印刷装置とが通信回線を介して接続され、これらの装置間で所定の通信プロトコルに従ってデータの送受信を行う印刷システムであって、前記送信元装置は、前記印刷装置へ送信すべき所定の印刷データのデータ量と、前記通信回線上のトラフィック量および前記印刷装置の負荷状態の少なくとも何れか一方の情報とに基づいて、当該所定の印刷データに関するパケットのパケットサイズを決定するパケットサイズ決定手段、を有し、前記パケットサイズ決定手段によって決定されたパケットサイズに基づくパケットを前記印刷装置へ送信する、ことを特徴とする。
【００１０】
請求項２に記載の発明は、上記請求項１に記載の発明において、前記パケットサイズ決定手段は、印刷データを含まない所定のパケットを前記印刷装置へ送信した時点から、当該所定のパケットを受信した前記印刷装置から送信される当該所定のパケットの受信時刻を示す旨を受信した場合の当該受信時刻までの通信時間と、前記所定の印刷データのデータ量とを基に、当該所定の印刷データに関するパケットのパケットサイズを決定する、ことを特徴とする。
【００１１】
請求項３に記載の発明は、上記請求項１に記載の発明において、前記パケットサイズ決定手段は、印刷データを含まない所定のパケットを前記印刷装置へ送信した時点から、当該所定のパケットを受信した前記印刷装置から送信される肯定応答を示す旨を受信する時点までの通信時間と、前記所定の印刷データのデータ量とを基に、当該所定の印刷データに関するパケットのパケットサイズを決定する、ことを特徴とする。
【００１２】
請求項４に記載の発明は、上記請求項２または３に記載の発明において、前記送信元装置は、それぞれ異なる複数の通信時間情報とそれぞれ異なる複数のデータ量情報と複数のパケットサイズ情報とが関連付けされた情報を記憶する記憶手段、を更に備え、前記パケットサイズ決定手段は、前記所定のパケットを送信したことにより得られた前記通信時間と前記所定の印刷データのデータ量と前記記憶手段の記憶内容とに基づいて、前記所定の印刷データに関するパケットのパケットサイズを決定する、ことを特徴とする。
【００１３】
請求項５に記載の発明は、上記請求項１〜４の何れか一項に記載の発明において、前記パケットサイズ決定手段は、前記印刷装置に対し負荷状態を問い合せるとともに、この問い合せに対する結果として前記印刷装置から返信される負荷状態を示す情報を取得し、この取得した負荷状態を示す情報と前記所定の印刷データのデータ量とに基づいて、当該所定の印刷データに関するパケットのパケットサイズを決定する、ことを特徴とする。
【００１４】
請求項６に記載の発明は、上記請求項１〜５の何れか一項に記載の発明において、前記印刷装置は、前記送信元装置から送信された前記所定のパケットを受信した場合に、当該所定のパケットを受信した受信時刻を示す旨を、前記パケットサイズ決定手段に向けて送信する受信時刻通知手段、を有することを特徴とする。
【００１５】
請求項７に記載の発明は、上記請求項１〜６の何れか一項に記載の発明において、前記印刷装置は、前記送信元装置からの負荷状態に関する問い合わせを受信した場合に、当該印刷装置の印刷処理状況を示す情報を当該問い合わせに対する結果として前記送信元装置へ返信する負荷状態通知手段、を有することを特徴とする。
【００１６】
請求項８に記載の発明は、上記請求項７に記載の発明において、前記負荷状態通知手段は、既に受信されている前記送信元装置からのパケットに含まれる印刷データに対する印刷処理が実行されている最中に、前記負荷状態に関する問い合わせがあった場合は、受信可能なデータのデータサイズを示す情報を当該問い合わせに対する結果として前記送信元装置へ返信する、ことを特徴とする。
【００１７】
請求項９に記載の発明は、上記請求項１〜８の何れか一項に記載の発明において、前記パケットサイズ決定手段は、既に決定したパケットサイズに基づく、印刷データを含むパケットを送信した時点から、当該パケットを受信した前記印刷装置から送信される肯定応答を示す旨を受信する時点までの応答時間と、送信すべき印刷データのデータ量とに基づき、当該既に決定したパケットサイズを補正する、ことを特徴とする。
【００１８】
請求項１０に記載の発明は、上記請求項１〜９の何れか一項に記載の発明において、前記送信元装置と前記印刷データとの間のデータ通信にあってはフロー制御は実施されない、ことを特徴とする。
【００１９】
また、上記課題を解決するため、請求項１１に記載の本発明の印刷装置は、印刷データを送信する送信元装置と通信回線を介して接続され、該送信元装置との間でフロー制御機能を有しない所定の通信プロトコルに従ってデータ通信する印刷装置であって、前記送信元装置からの負荷状態に関する問い合わせを受信した場合に、当該印刷装置の印刷処理状況を示す情報を当該問い合わせに対する結果として前記送信元装置へ返信する負荷状態通知手段、を有することを特徴とする。
【００２０】
請求項１２に記載の発明は、上記請求項１１に記載の発明において、前記負荷状態通知手段は、既に受信されている前記送信元装置からの所定の印刷データに関するパケットに含まれる印刷データに対する印刷処理が実行されている最中に、前記負荷状態に関する問い合わせがあった場合は、受信可能なデータのデータサイズを示す情報を当該問い合わせに対する結果として前記送信元装置へ返信する、ことを特徴とする。
【００２１】
請求項１３に記載の発明は、上記請求項１１または１２に記載の発明において、前記送信元装置から送信され印刷データを含まない所定のパケットを受信した場合に、当該所定のパケットを受信した受信時刻を示す旨を、前記送信元装置へ送信する受信時刻通知手段、を更に備えた、ことを特徴とする。
【００２２】
さらに、上記課題を解決するため、請求項１４に記載の本発明の印刷システムのデータ通信方法は、送信元装置が所定の印刷データに関するパケットを通信回線を通じて印刷装置へ送信する印刷システムのデータ通信方法であって、前記送信元装置と前記印刷装置との間のデータ通信に関わるフロー制御を実施せずに、前記送信元装置が、印刷データを含むパケットを送信する前に、前記印刷装置から取得した当該印刷装置の負荷状態および前記通信回線上のトラフィック量の少なくとも何れか一方の情報と前記所定の印刷データのデータ量とに基づいてパケットサイズを決定し、この決定したパケットサイズに基づく、印刷データを含むパケットを前記印刷装置へ送信する、ことを特徴とする。
【発明の効果】
【００２３】
本発明によれば、通信回線の効率的な利用を図ることができるとともに、印刷データの転送時間の短縮化を図ることができ、これにより印刷装置での印刷処理時間を短縮させることができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための図面において、同一の構成要素には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２５】
本実施の形態では、本発明の印刷システムを適用したネットワークプリントシステムについて説明する。送信元装置はホストコンピュータとし、印刷装置はプリンタつまり共有されるネットワークプリンタとし、通信回線はネットワーク例えばローカルエリアネットワーク（以下「ＬＡＮ」という。）とする。
【００２６】
また、本実施の形態では、送信元装置と印刷装置とは、所定の通信プロトコル、例えばＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）に従ってデータ通信するようになっている。また、そのデータ通信においてはフロー制御は実施されないようになっている。
【００２７】
（実施の形態１）
【００２８】
図１は、本発明の実施の形態１に係るネットワークプリントシステムの全体構成を示している。
【００２９】
図１に示すように、ネットワークプリントシステム１は、単数または複数のホストコンピュータ（以下「ＰＣという」。）１００とネットワークプリンタ２００とが共有ネットワークである伝送媒体としのＬＡＮ３００に接続されている。
【００３０】
このようなネットワークプリントシステム１では、ＬＡＮ（通信回線）３００に接続されている全てのＰＣ（送信元装置）１００からの印刷データをネットワークプリンタ（印刷装置）２００が印刷可能である。
【００３１】
ＰＣ１００は、所定の表示情報を表示する表示部１０１、印刷データに対する印刷指示など入力情報を入力する入力部１０２、所定の情報を記憶する記憶部１０３、通信のためのインターフェースを司る通信インターフェース（以下「通信Ｉ／Ｆ」という。）１０４、これらの構成要素に対する制御を行う制御部１０５を備えている。
【００３２】
記憶部１０３は、図示しない第１の記憶領域、第２の記憶領域および第３の記憶領域を有している。
【００３３】
第１の記憶領域は、所定のアプリケーション、所定のオペレーティングシステム、所定の通信プロトコルに対応するプログラム、所定のデバイスドライバ、後述する処理手順（図３、図５〜図９参照）に対応するプログラムなど、所定のプログラム、後述するパケットサイズ決定テーブル（図４参照）を記憶する領域であり、例えばハードディスクやＲＯＭ（読み出し専用メモリ）などで構成される。
【００３４】
第２の記憶領域は、印刷データを格納する領域であり、例えばハードディスク、ＲＡＭ（随時書き込み読み出しメモリ）などで構成される。
【００３５】
第３の記憶領域は、上記第１の記憶領域から読み出されたプログラム、上記第２の記憶領域から読み出された印刷データ、データ通信のときに授受されるデータを記憶する領域（ワークエリア）であり、例えばＲＡＭなどで構成される。また、この第３の記憶領域は、後述するパケットサイズを求めるなど所定の演算処理のときに使用するワークエリアを有している。
【００３６】
制御部１０５は、上記第１の記憶領域から上記第３の記憶領域へ所定のプログラムを読み込んで実行することにより、例えばネットワークプリンタ２００との印刷処理に関するデータ通信を行う。また、制御部１０５は、ＰＣ１００全体の制御を行うものであり、例えばＣＰＵ（中央演算処理装置）で構成される。
【００３７】
ネットワークプリンタ２００は、所定の情報を記憶する記憶部２０１、画像形成処理（印刷処理）を実行する印刷部２０２、通信のためのインターフェースを司る通信インターフェース（以下「通信Ｉ／Ｆ」という。）２０３、これらの構成要素を含むネットワークプリンタ２００全体の制御を行う制御部２０４を備えている。
【００３８】
通信Ｉ／Ｆ２０３は、例えばＮＩＣ（Network Interface Card：ネットワークインターフェースカード）であり、所定の情報を記憶する記憶部（図示せず）、および通信相手装置とのデータ通信を行う制御部（図示せず）を備えている。
【００３９】
通信Ｉ／Ｆ２０３において、記憶部（図示せず）は、所定の通信プロトコルに対応するプログラムを記憶する例えばＲＯＭなど第１の記憶領域（図示せず）と、ＰＣ１００とのデータ通信のときに授受されるデータを記憶する例えばＲＡＭなど第２の記憶領域（図示せず）とを有している。制御部は、第１の記憶領域に記憶されているプログラムを実行することによりＰＣ１００とのデータ通信を行う。
【００４０】
記憶部２０１は、所定のファームウェアを記憶する例えばＲＯＭなど第１の記憶領域（図示せず）と、この第１の記録領域から読み込まれたファームウェアや、通信Ｉ／Ｆ２０３を介して受信された印刷データを記憶する例えばＲＡＭなど第２の記憶領域（図示せず）とを有している。
【００４１】
印刷部２０２は、制御部２０４の制御の下、記録用紙に印刷データに対応する画像を印刷する。
【００４２】
制御部２０４は、記憶部２０１の第１の記憶領域から第２の記憶領域へ所定のファームウェアを読み込んで実行することにより、例えば受信された印刷データに基づき印刷画像を生成し、これの印刷処理を印刷部２０２に依頼する。
【００４３】
図２は、本実施の形態１に係るネットワークプリントシステムのプロトコルスタックの構成を示している。
【００４４】
ＰＣ１００は、アプリケーション１１０、オペレーティングシステム（以下「ＯＳ」という。）１２０、プリンタドライバ１３０、プリントスプーラ１４０、インターフェースモニタ１５０、ＴＣＰ／ＩＰ・ソケットインターフェース（以下「ソケットインターフェース」という。）１６０の各機能を有している。
【００４５】
アプリケーション１１０は、印刷データの生成、印刷ジョブの指示などを行う。
【００４６】
プリンタドライバ１３０は、ネットワークプリンタ２００に対応したプリンタ用のデバイスドライバである。
【００４７】
プリントスプーラ１４０は、複数のＰＣ１００が接続されたネットワークプリントシステムである場合に、共有されるネットワークプリンタ２００が使用されるときは、そのネットワークプリンタ２００に送信される印刷ジョブを調整する役割を果たす。
【００４８】
すなわち、各々のＰＣ１００から送信される印刷ジョブは、ネットワークプリンタ２００が他のＰＣからの印刷要求に対する印刷処理を実行していないときに、プリントスプーラ１４０から送信されるように調整される。
【００４９】
また、プリントスプーラ１４０は、インターフェースモニタ１５０に対する印刷キューを作成して１印刷ジョブずつ処理を実行する。
【００５０】
インターフェースモニタ１５０は、ネットワークを監視する機能（通信監視機能）と、パケットサイズ決定手段の機能とを有している。このパケットサイズ決定手段は、次の（１）〜（４）の各機能を含んでいる。
【００５１】
（１）ネットワークプリンタ２００へ送信すべき所定の印刷データのデータ量と、ＬＡＮ３００上のトラフィック量とに基づいて、当該所定の印刷データに関するパケットのパケットサイズを決定する。
【００５２】
（２）ネットワークプリンタ２００へ印刷データを含まない所定のパケットを送信した時点から、当該所定のパケットを受信したネットワークプリンタ２００から送信される当該所定のパケットの受信時刻を示す旨を受信した場合の当該受信時刻までの通信時間（到達時間）と、送信すべき所定の印刷データのデータ量とに基づいて、送信すべきパケットのパケットサイズを決定する。
【００５３】
（３）ネットワークプリンタ２００へパケットを送信した時点から、当該パケットを受信したネットワークプリンタ２００から送信される肯定確認応答（ＡＣＫ信号）を受信する時点までの通信時間（応答時間）と、送信すべき所定の印刷データのデータ量とに基づいて、送信すべきパケットのパケットサイズを決定する。
【００５４】
（４）既に決定したパケットサイズに基づくパケット（印刷データを含むパケット）を送信した時点から、当該パケットを受信したネットワークプリンタ２００から送信される肯定確認応答（ＡＣＫ信号）を受信する時点までの応答時間と、送信すべき所定の印刷データのデータ量とに基づいて、当該既に決定したパケットサイズを補正する。
【００５５】
ソケットインターフェース１６０は、ＬＡＮ３００とのインターフェースを司る機能を有している。
【００５６】
ここで、アプリケーション１１０、ＯＳ１２０、プリンタドライバ１３０、プリントスプーラ１４０、インターフェースモニタ１５０、ソケットインターフェース１６０は、図１に示したＰＣ１００の記憶部１０３の第１の記憶領域（ハードディスク、ＲＯＭなど）に記憶されている。
【００５７】
そして、制御部１０５が、記憶部１０３の第１の記憶領域に記憶されている前記各プログラムを読み込んで実行することにより、上述した各構成要素１１０〜１６０のそれぞれの機能を実現する。これによりＰＣ１００とネットワークプリンタ２００とのデータ通信が可能となる。この場合、ＯＳ１２０の制御の下、アプリケーション１１０、プリンタドライバ１３０、プリントスプーラ１４０、インターフェースモニタ１５０、ソケットインターフェース１６０が動作するようになっている。
【００５８】
このようなＰＣ１００は、ＯＳ１２０のルールに従ってネットワークプリンタ２００とのデータ通信を行うものである。このとき、ＰＣ１００は、インターフェースモニタ１５０を介してネットワークプリンタ２００とデータ通信し、印刷を行うように構成されている。
【００５９】
すなわち、ＰＣ１００では、印刷ジョブを指示するためのアプリケーション１１０からの印刷データは、ＯＳ１２０を介して、プリンタドライバ１３０、プリントスプーラ１４０、インターフェースモニタ１５０、ソケットインターフェース１６０の順に流れてゆく。
【００６０】
ネットワークプリンタ２００は、印刷部２０２を制御するファームウェア（以下「プリンタＦＷ」という。）２１０と、ＮＩＣ（ネットワークインターフェースカード）２２０とを有している。
【００６１】
プリンタＦＷ２１０は、印刷データをスプールする機能（スプール機能）を有しておらず、逐次印刷要求された印刷ジョブの順番に従ってその印刷ジョブを印刷する。また、プリンタＦＷ２１０は、前の印刷ジョブの印刷が完了するまでは次の印刷ジョブは受け付けない。すなわち、前の印刷ジョブの印刷が完了するまでは、次の印刷ジョブは印刷されない。さらに、プリンタＦＷ２１０は、受信された印刷データに基づき印刷画像を生成し、印刷処理を印刷部２０２に依頼する。
【００６２】
ここで、プリンタＦＷ２１０は、図１に示したネットワークプリンタ２００の記憶部２０１の第１の記憶領域（ＲＯＭなど）に記憶されている。制御部２０４が記憶部２０１からプリンタＦＷ２１０を読み込んで実行することにより、当該プリンタＦＷ２１０の機能を実現する。
【００６３】
ＮＩＣ２２０は、プリンタＦＷ２１０とＮＩＣ２２０とのインターフェースであるＮＩＣ・Ｉ／Ｆ２３０と、インターフェースモニタ（プリントデーモン）２４０と、ＬＡＮ３００とのインターフェースを司る機能を有するＴＣＰ／ＩＰ・ソケットインターフェース（以下「ソケットインターフェース」という）２５０とを有している。
【００６４】
インターフェースモニタ２４０は、ネットワークを監視する機能（通信監視機能）と、所定のパケットを受信した場合の当該所定のパケットの受信時刻を示す旨をＰＣ１００のインターフェースモニタ１５０へ通知する受信時刻通知手段の機能とを有している。
【００６５】
なお、ＮＩＣ２２０はハードウェアとしては通信Ｉ／Ｆ２０３に対応するものであるので、図１に示した通信Ｉ／Ｆ２０３はＮＩＣ２２０に置き換えることができる。
【００６６】
ここで、ＮＩＣ・Ｉ／Ｆ２３０、インターフェースモニタ２４０、ソケットインターフェース２５０は、図１に示したネットワークプリンタ２００の通信Ｉ／Ｆ２０３（ＮＩＣ２２０）内の記憶部（図示せず）の第１の記憶領域（ＲＯＭなど）に記憶されている。そして、通信Ｉ／Ｆ２０３（ＮＩＣ２２０）の制御部（図示せず）がその記憶部（図示せず）から上述した各構成要素２４０〜２６０を読み込んで実行することにより、これらの構成要素の機能を実現する。
【００６７】
このようなネットワークプリンタ２００では、ＮＩＣ２２０がＰＣ１００からの印刷データをＬＡＮ３００を介して受け取ると、その印刷データは、ソケットインターフェース２５０、インターフェースモニタ２４０、ＮＩＣ・Ｉ／Ｆ２３０、プリンタＦＷ２１０の順に流れる。
【００６８】
なお、この一連の印刷動作において、ＮＩＣ２２０は、同時に６４接続すなわち６４台分のＰＣ１００からの接続要求に応答することが可能であるが、プリンタＦＷ２１０は１つの印刷ジョブしか処理することができないので、前の印刷ジョブの印刷が完了するまでは次の印刷ジョブをプリンタＦＷ２１０へ送信しない。
【００６９】
そのため、他のＰＣ１００からの印刷要求は、各々のＰＣ１００内にあるプリントスプーラ１４０によって、プリンタＦＷ２１０の印刷処理が終了するのを待たされることとなる。各々の印刷ジョブは、プリンタＦＷ２１０が空き状態となった時に順番に印刷されることになる。
【００７０】
本実施の形態１では、ＰＣ１００のインターフェースモニタ１５０、およびネットワークプリンタ２００のインターフェースモニタ２４０には、それぞれフロー制御の機能はない。すなわち、ＰＣ１００とネットワークプリンタ２００とのデータ通信においては、フロー制御は実施されない。
【００７１】
また、ＴＣＰ／ＩＰの標準規約（ＲＦＣ７９２／ＲＦＣ１８１２）で取り決められているＩＣＭＰ（Internet Control Message Protocol）を使用して、ＰＣ１００とネットワークプリンタ２００とが通信（疎通）を確認し合うようになっている。
【００７２】
このＩＣＭＰとは、ＩＰ（Internet Protocol）のエラーメッセージや制御メッセージを転送するプロトコルのことであり、ＴＣＰ／ＩＰで接続されたＰＣやネットワークプリンタ等のネットワーク機器間で、互いの状態を確認するために用いられるプロトコルのことである。
【００７３】
ＩＣＭＰパケットのフォーマットは、送信先ＩＰアドレス、送信元ＩＰアドレスを含むＩＰヘッダと、データ部分（ＩＣＭＰメッセージ）とから構成される。
【００７４】
このＩＣＭＰメッセージは、１バイトの「タイプ（Type）」、１バイトの「コード（Code）」、２バイトの「チェックサム」の各フィールドから構成される。必要に応じて所定のバイトの追加データフィールドが続く。
【００７５】
ＩＣＭＰの種類は、タイプ（Type）フィールドの性質によって、調査のために使用されるメッセージ（「Queryメッセージ」）と、エラーを通知するためのメッセージ（「Errorメッセージ」）とに大きく分けられる。また「Queryメッセージ」は、pingなどの調査コマンドに対して返答（レスポンス）させるメッセージ、換言すれば正常応答でもある。
【００７６】
ＩＣＭＰメッセージとしては、エコー応答（タイプ０）、エコー要求（タイプ８）、タイムスタンプ要求（タイプ１３）、タイムスタンプ応答（タイプ１４）などがある。
【００７７】
次に、ネットワークプリントシステム１のＰＣ１００のインターフェースモニタ１５０による印刷ジョブ開始処理について、図３を参照して説明する。
【００７８】
図３は、インターフェースモニタ１５０による印刷ジョブ開始処理の処理手順を示すフォローチャートである。
【００７９】
ＰＣ１００のアプリケーション１１０が印刷ジョブを実行すると、印刷データが、ＯＳ１２０、プリンタドライバ１３０、プリントスプーラ１４０を経由して、インターフェースモニタ１５０に流れてくる。
【００８０】
インターフェースモニタ１５０がプリンタドライバ１３０から呼ばれて動作を開始すると、図３に示すように、インターフェースモニタ１５０は、ソケットインターフェース１６０を初期化し（ステップＳ１０１）、ＬＡＮ３００を介してネットワークプリンタ２００との接続を行うとともに（ステップＳ１０２）、その接続が成功したか否かを判断する（ステップＳ１０３）。
【００８１】
ここで、上記接続とは、ＰＣ１００とネットワークプリンタ２００とが相互にデータ通信することができる状態のことを意味する。
【００８２】
次に、インターフェースモニタ１５０は、ステップＳ１０３において接続が成功しないと判断した場合は、上記ステップＳ１０２に戻る。そして、一定時間、データの授受が行われず、接続に失敗したと判断したインターフェースモニタ１５０は、この接続状態を解除する。
【００８３】
ステップＳ１０３において接続が成功したと判断したインターフェースモニタ１５０が、ソケットインターフェース１６０に対しＩＣＭＰパケットを含むＩＰパケットの送信を指示すると、ソケットインターフェース１６０は、インターフェースモニタ１５０の指示に従ってＩＣＭＰパケット（これを送信ＩＣＭＰパケットとする）を含むＩＰパケット（これを送信ＩＰパケットとする）をＬＡＮ３００を介してネットワークプリンタ２００へ送出する（ステップＳ１０４）。
【００８４】
インターフェースモニタ１５０は、上記ステップＳ１０４で、送信ＩＰパケットがソケットインターフェース１６０を通じてネットワークプリンタ２００へ送信された場合、ソケットインターフェース１６０を通じてネットワークプリンタ２００からの上記送信ＩＣＭＰパケットに対する応答を待つことになる。
【００８５】
これは、送信ＩＰパケットを送信した時点から、ネットワークプリンタからの送信ＩＰパケットに含まれる送信ＩＣＭＰパケットに対する応答のパケットを受信する時点までの応答時間を基に、インターフェースモニタ１５０が、ＬＡＮ３００のトラフィックを判断する（ＬＡＮ３００の混み具合を判断する）ためである。
【００８６】
従って、インターフェースモニタ１５０は、送信ＩＰパケットが送信された送信時刻、およびネットワークプリンタ２００からの応答のパケットが受信された受信時刻を認識できるようになっている。
【００８７】
ところで、上述したようにして送信ＩＰパケットがネットワークプリンタ２００へ送出されると、インターフェースモニタ１５０は、ネットワークプリンタ２００からの当該送信ＩＰパケットに含まれる送信ＩＣＭＰパケットに対する応答が有るか否か、すなわちソケットインターフェース１６０を通じて、応答のためのＩＣＭＰパケット（これを応答ＩＣＭＰパケットとする）を含むＩＰパケット（これを応答ＩＰパケットとする）を受信したか否かを判断する（ステップＳ１０５）。
【００８８】
次に、インターフェースモニタ１５０は、ステップＳ１０５において、ネットワークプリンタ２００からの応答が有ると判断した場合、つまり応答ＩＰパケットを受信したと判断した場合は、送信ＩＰパケットをネットワークプリンタ２００へ送信した時点（送信時刻）から、このネットワークプリンタ２００からの応答ＩＰパケットを受信した時点（受信時刻）までの応答時間を計測（算出）し（ステップＳ１０６）、さらに、今回の応答は予め設定された所定の回数Ｎ、すなわち応答パケットの受信回数は所定の回数Ｎ、例えば５回目であるか否かを判断する（ステップＳ１０７）。
【００８９】
ステップＳ１０５においてネットワークプリンタ２００からの応答が無い場合、ステップＳ１０７において応答が所定の回数Ｎに達していない場合は、上記ステップＳ１０４に戻る。
【００９０】
ステップＳ１０７においてネットワークプリンタ２００からの応答が所定の回数Ｎに達したと判断したインターフェースモニタ１５０は、ステップＳ１０６で計測（算出）した回数Ｎ当たりの応答時間の平均値を算出するとともに（ステップＳ１０８）、この応答時間の平均値（平均応答時間）と送信すべき印刷データのデータ量と図４に示す予め設定されるパケットサイズ決定テーブル４００とに基づき、当該印刷データに関するパケットのパケットサイズ（データサイズ）を求める（ステップＳ１０９）。
【００９１】
そして、インターフェースモニタ１５０は、上記ステップＳ１０９で求めたパケットサイズを基に、ソケットインターフェース１６０に対してデータ送信のためのパケットサイズを設定する（ステップＳ１１０）。
【００９２】
これにより、ＰＣ１２０からネットワークプリンタ２００への、設定されたパケットサイズに基づくパケットの通信が開始される。
【００９３】
ところで、上述した応答時間（平均応答時間）はＬＡＮ３００のトラフィックの状況（トラフィック量）に比例するものである。すなわち、応答時間（平均応答時間）が短いほどトラフィックが少ない（換言すれば通信速度が速い）ということを意味し、一方、応答時間（平均応答時間）が長いほどトラフィックが多い（換言すれば通信速度が遅い）ということを意味する。
【００９４】
図４に示すパケットサイズ決定テーブル４００は、応答時間（トラフィック量に対応）と送信すべき印刷データなど所定のデータのデータ量とを基に、パケットサイズを決定するときに参照されるテーブルである。
【００９５】
すなわち、パケットサイズ決定テーブル４００は、それぞれ異なる複数の応答時間情報とそれぞれ異なるデータ量情報とパケットサイズ情報とが関連付けされた情報である。
【００９６】
このようなパケットサイズ決定テーブル４００は、ＰＣ１００の記憶部１０３内の第１の記憶領域（例えばＲＯＭなど）に記憶されている。
【００９７】
図４において、「応答時間の項目」の中のＴ１〜Ｔ６はそれぞれ応答時間情報を示し、これらの応答時間情報は「Ｔ１＜Ｔ２＜Ｔ３＜Ｔ４＜Ｔ５＜Ｔ６」の関係が成立している。なお、これらの応答時間情報は、特定の応答時間を示しているのでは無く、第１の応答時間から第２の応答時間までの所定の範囲の応答時間情報である。
【００９８】
また、「データ量の項目」のＤ１〜Ｄ６はそれぞれデータ量情報を示し、これらのデータ量情報は「Ｄ１＞Ｄ２＞Ｄ３＞Ｄ４＞Ｄ５＞Ｄ６」の関係が成立している。なお、これらのデータ量情報は、特定のデータ量を示しているのでは無く、第１のデータ量から第２のデータ量までの所定の範囲のデータ量情報である。
【００９９】
さらに、α１１〜α１６、β２２〜β２６、γ３３〜γ３６、およびξ６６はそれぞれパケットサイズ情報を示している。これらのパケットサイズ情報は、最大のパケットサイズを示している。同一のデータ量に注目した場合、パケットサイズは、応答時間情報が「Ｔ６」から「Ｔ１」の方に向かうに従って、大きくなっている。例えば、データ量がＤ１の場合では、パケットサイズは「α１１＞α１２＞α１３＞α１４＞α１５＞α１６」の関係が成立している。
【０１００】
ここで、このようなパケットサイズ決定テーブル４００を利用したパケットサイズの決定について説明する。
【０１０１】
送信すべき印刷データのデータ量がパケットサイズ決定テーブル４００のデータ量Ｄ１に対応し、上記ステップＳ１０８で求められた平均応答時間がパケットサイズ決定テーブル４００の応答時間Ｔ１に対応する場合、求めるべきパケットサイズは、データ量Ｄ１と応答時間Ｔ２とが交差するセル（要素）つまりα１１となる。
【０１０２】
これは、送信すべき印刷データのデータ量に応じて、応答時間が速い場合、すなわちＬＡＮ３００上のトラフィックが少なく通信速度がある程度速い場合は、パケットサイズを大きくして効率的なデータ送信を図ることを意味する。
【０１０３】
また、送信すべき印刷データのデータ量がパケットサイズ決定テーブル４００のデータ量Ｄ１に対応し、上記ステップＳ１０８で求められた平均応答時間がパケットサイズ決定テーブル４００の応答時間Ｔ６に対応する場合、求めるべきパケットサイズは、データ量Ｄ１と応答時間Ｔ６とが交差するセル（要素）つまりα１６となる。
【０１０４】
これは、送信すべき印刷データのデータ量に応じて、応答時間が遅い場合、すなわちＬＡＮ３００上のトラフィックが多く通信速度が遅い場合は、パケットサイズを小さくして効率的なデータ送信を図ることを意味する。
【０１０５】
さらに、送信すべき印刷データのデータ量がパケットサイズ決定テーブル４００のデータ量Ｄ３に対応し、上記ステップＳ１０８で求められた平均応答時間がパケットサイズ決定テーブル４００の応答時間Ｔ２に対応する場合、求めるべきパケットサイズは、データ量Ｄ３と応答時間Ｔ２とが交差するセルが存在しないので、データ量Ｄ３において最大のパケットサイズであるγ３３となる。
【０１０６】
なお、上述したようなことから、パケットサイズ決定テーブル４００は、ＬＡＮ３００上の回線の混み具合（トラフィック）を予め定義したテーブルであると言える。
【０１０７】
以上説明したように、ＬＡＮ３００のトラフィック量に対応する応答時間（平均応答時間）とネットワークプリンタ２００へ送信すべき印刷データのデータ量とに基づきパケットサイズを決定することができ、このパケットサイズに基づくパケットによる最適なデータ通信を実施することができる。
【０１０８】
また、効率的なデータ通信を実現することができるので、ネットワークプリンタ２００が印刷ジョブを処理する時間のうちデータ転送に係る時間を短縮させることができ、これによりネットワークプリンタ２００での印刷処理時間を短縮させることができる。
【０１０９】
次に、ネットワークプリントシステム１の応答時間（平均応答時間）算出処理理について、図５を参照して説明する。
【０１１０】
図５は、ネットワークプリントシステム１のＩＣＭＰに従った応答時間（平均応答時間）算出処理の処理手順を示すシーケンスである。
【０１１１】
ここで、これ以降の説明においては、ＰＣ１００から送信される、ＩＣＭＰパケットを「送信ＩＣＭＰパケット」とし、この送信ＩＣＭＰパケットを含むＩＰパケットを「送信ＩＰパケット」とする。また、ネットワークプリンタ２００から送信される、送信ＩＣＭＰパケットに対する応答のためのＩＣＭＰパケットを「応答ＩＣＭＰパケット」とし、この応答ＩＣＭＰパケットを含むＩＰパケットを「応答ＩＰパケット」とする。
【０１１２】
インターフェースモニタ１５０は、ネットワーク機器同士（ＰＣ１００とネットワークプリンタ２００間）の通信が確立するか否かを確認するためのメッセージ、例えばエコー要求（「Echo Request」）をＩＣＭＰパケットにセットする。
【０１１３】
すなわち、上述したＩＣＭＰパケットのフォーマットにおけるＩＣＭＰメッセージの「タイプ」フィールドに「８」をセットする。この「タイプ＝８」は、エコー要求であることを示し、かつ調査のためのメッセージ（「Queryメッセージ」）であることを示している。
【０１１４】
さて、インターフェースモニタ１５０は、このような送信ＩＣＭＰパケットを含む送信ＩＰパケットを、ネットワークプリンタ２００（調査対象装置）に実装されているＮＩＣ２２０に向けて送信する（Ｓ２０１）。
【０１１５】
エコー要求（「Echo Request」）がセットされた送信ＩＣＭＰパケットを含む送信ＩＰパケットをネットワークプリンタ２００が受信すると、ＮＩＣ２２０のインターフェースモニタ２４０は、その送信ＩＰパケット内の送信ＩＣＭＰパケット（エコー要求（「Echo Request」）がセット）を参照し、このエコー要求に応答すべく、自己のプリンタが正常に稼働しているときには正常に稼働していることを示すメッセージ、例えばエコー応答（Echo Reply）をＩＣＭＰパケットにセットする。
【０１１６】
すなわち、ＩＣＭＰメッセージの「タイプ」フィールドに「０」をセットする。この「タイプ＝０」は、エコー応答（Echo Reply）であることを示し、かつ正常応答のためのメッセージ（「Queryメッセージ」）であることを示している。
【０１１７】
そして、インターフェースモニタ２４０は、このような値をセットした応答ＩＣＭＰパケットを含む応答ＩＰパケット、ＰＣ１００のインターフェースモニタ１５０に向けて返信する（Ｓ２０２）。
【０１１８】
次に、ＰＣ１００のインターフェースモニタ１５０は、レスポンスタイムを計測するために、ネットワークプリンタ２００に対して到達時刻を返答させるためのタイムスタンプ要求（「Timestamp Request」）をＩＣＭＰパケットにセットする。
【０１１９】
すなわち、上述したＩＣＭＰパケットのフォーマットにおけるＩＣＭＰメッセージの「タイプ」フィールドに「１３」をセットする。この場合、ＩＣＭＰパケットの所定のフィールド（「Originate Timestamp」のフィールド）に、送信元ホストつまりＰＣ１００がパケットを送信した時間が記述される。
【０１２０】
なお「タイプ＝１３」は、タイムスタンプ要求であることを示し、かつ調査のためのメッセージ（「Queryメッセージ」）であることを示している。
【０１２１】
そして、インターフェースモニタ１５０は、このような値がセットされた送信ＩＣＭＰパケットを含む送信ＩＰパケットを、ネットワークプリンタ２００に実装されているＮＩＣ２２０に向けて送信する（Ｓ２０３）。
【０１２２】
タイムスタンプ要求（「Timestamp Request」）がセットされた送信ＩＣＭＰパケットを含む送信ＩＰパケットをネットワークプリンタ２００が受信すると、ＮＩＣ２２０のインターフェースモニタ２４０は、その送信ＩＰパケット内の送信ＩＣＭＰパケット（タイムスタンプ要求（「Timestamp Request」）がセット）を参照し、このタイムスタンプ要求に応答すべく、送信元ホストつまりＰＣ１００がレスポンスタイムを計測するために、到達時刻を返答するタイムスタンプ応答（「Timestamp Reply」）をＩＣＭＰパケットにセットする。
【０１２３】
すなわち、ＩＣＭＰメッセージの「タイプ」フィールドに「１４」をセットする。この「タイプ＝１４」は、タイムスタンプ応答であることを示し、かつ正常応答のためのメッセージ（「Queryメッセージ」）であることを示している。なお、この場合、ＩＣＭＰパケットの所定のフィールド（「Receive Timestamp」フィールド）に、宛先ホストつまりネットワークプリンタ２００がパケットを受信した時間（到達時刻）が記述される。
【０１２４】
そして、インターフェースモニタ２４０は、このような値をセットした応答ＩＣＭＰパケットを含む応答ＩＰパケットを、ＰＣ１００のインターフェースモニタ１５０に向けて返信することになる（Ｓ２０４）。
【０１２５】
すると、タイムスタンプ応答（「Timestamp Reply」）がセットされた応答ＩＣＭＰパケットを含む応答ＩＰパケットを受信したＰＣ１００のインターフェースモニタ１５０では、応答ＩＰパケットをネットワークプリンタ２００へ送信した時点から、このネットワークプリンタ２００からの応答ＩＰパケットを受信した時点までの応答時間（通信時間）を計測（算出）する（Ｓ２０５）。
【０１２６】
そして、上記Ｓ２０３〜Ｓ２０５の処理と同様の処理が所定の回数Ｎ分繰り返されることになる。ここで、所定の回数Ｎ目の処理が実行されると（Ｓ２０６〜Ｓ２０８）、ＰＣ１００のインターフェースモニタ１５０は、既に求めた複数（Ｎ）の応答時間の平均値（平均応答時間）を算出する（Ｓ２０９）。
【０１２７】
次に、インターフェースモニタ１５０は、この算出した平均応答時間と送信すべき印刷データのデータ量とパケットサイズ決定テーブル４００（図４参照）とに基づき、当該印刷データに関するパケットのパケットサイズを求めるとともに、この求めたパケットサイズを基に、ソケットインターフェース１６０に対してデータ送信のためのパケットサイズを設定する（Ｓ２１０）。
【０１２８】
これにより、ＰＣ１００からネットワークプリンタ２００への、設定されたパケットサイズに基づくパケットの通信が開始される（Ｓ２１１）。
【０１２９】
次に、ネットワークプリントシステム１のパケットサイズ補正処理について、図６を参照して説明する。
【０１３０】
図６は、そのパケットサイズ補正処理の処理手順を示すシーケンスである。なお、図６では、ＩＰパケット、ＩＣＭＰパケットの表示は省略している。
【０１３１】
最初に、上記図５に示した処理手順のＳ２０１〜Ｓ２０９と同様の処理が実行される（Ｓ３０１〜３０６）。この例では、タイムスタンプ要求を１回送信するようにしているが、図５に示した例の場合と同様に複数回送信するようにしてもよい。
【０１３２】
ここで、送信すべき印刷データのデータ量がパケットサイズ決定テーブル４００のデータ量Ｄ１に対応し、上記ステップＳ３０５で求められた平均応答時間がパケットサイズ決定テーブル４００の応答時間Ｔ１に対応するものとする。この場合、Ｓ３０６で求められるパケットサイズはα１１となる。
【０１３３】
そして、パケットサイズα１１に基づく、印刷データを含む送信ＩＰパケットが、ＰＣ１００からネットワークプリンタ２００に向けて送信される（Ｓ３０７）。このとき、インターフェースモニタ１５０は、この印刷データを含む送信ＩＰパケットが送信された時点（送信時刻）を認識しておく。
【０１３４】
ネットワークプリンタ２００では、インターフェースモニタ２４０は、ＰＣ１００からの送信ＩＰパケットを正常に受信した場合は、その送信ＩＰパケットに対する肯定確認応答（ＡＣＫ）を含む応答ＩＰパケットをＰＣ１００へ送信する（Ｓ３０８）。
【０１３５】
ＰＣ１００では、インターフェースモニタ１５０は、ＡＣＫを含む応答ＩＰパケットが受信された時点（受信時刻）と上記送信時刻とに基づき、印刷データの送信時刻から当該印刷データに対する肯定確認応答（ＡＣＫ）の受信時刻までの時間（応答時間）を算出（計測）する（Ｓ３０９）。
【０１３６】
同様にして、パケットサイズα１１に基づく、印刷データを含む送信ＩＰパケットが、ＰＣ１００からネットワークプリンタ２００に向けて送信されるとともに（Ｓ３１０）、この送信パケットに対する肯定確認応答（ＡＣＫ）を含む応答ＩＰパケットが、ネットワークプリンタ２００からＰＣ１００に向けて送信される（Ｓ３１１）。
【０１３７】
ＰＣ１００では、インターフェースモニタ１５０は、上記Ｓ３０９の処理と同様に、印刷データ（つまり送信ＩＰパケット）の送信時刻から当該印刷データ（送信ＩＰパケット）に対するＡＣＫ（つまり応答ＩＰパケット）の受信時刻までの時間（応答時間）を算出（計測）する（Ｓ３１２）。
【０１３８】
そして、インターフェースモニタ１５０は、上述したようにして求めた複数の応答時間の平均値（平均応答時間）を算出するとともに（Ｓ３１３）、この算出した平均応答時間を基に、上記Ｓ３０６で決定したパケットサイズを補正し、この補正後のパケットサイズを基に、ソケットインターフェース１６０に対してデータ送信のためのパケットサイズを設定する（Ｓ３１４）
【０１３９】
このステップＳ３１４の処理において、求められた平均応答時間はパケットサイズ決定テーブル４００の応答時間Ｔ３に対応するものとする。また、送信すべき印刷データのデータ量は上述したようにパケットサイズ決定テーブル４００のデータ量Ｄ１に対応している。そのため、応答時間Ｔ３とデータ量Ｄ１とに基づきパケットサイズα１３が求められる。
【０１４０】
インターフェースモニタ１５０は、この求めたパケットサイズα１３を基に、ソケットインターフェース１６０に対してデータ送信のためのパケットサイズを設定する。すなわち、パケットサイズはα１１からα１３に補正されたことになる。
【０１４１】
そして、上述したようにして補正された補正後のパケットサイズα１３がソケットインターフェース１６０に対して設定されると、パケットサイズα１３に基づく、印刷データを含む送信ＩＰパケットが、ＰＣ１００からネットワークプリンタ２００に向けて送信される（Ｓ３１５）。
【０１４２】
ネットワークプリンタ２００のソケットインターフェース１６０は、ＰＣ１００からの送信ＩＰパケットを正常に受信した場合、肯定確認応答（ＡＣＫ）を含む応答ＩＰパケットをＰＣ１００へ送信する（Ｓ３１６）。
【０１４３】
なお、本実施の形態１では、図６に示した補正処理手順に示す如く、複数のＩＰパケット（印刷データ）分の平均応答時間を算出し、この平均応答時間と送信すべき印刷データのデータ量とに基づきパケットサイズを補正するようにしているが、本発明はこれに限定されることなく、ＩＰパケット（印刷データ）毎に求められる応答時間と送信すべき印刷データのデータ量とに基づき、パケットサイズを補正するようにしてもよい。
【０１４４】
また、本実施の形態１では、パケットサイズを求めるに際し、送信すべき印刷データのデータ量は同一であるものとしたが、本発明はこれに限定されることなく、次のようにしてもよい。
【０１４５】
すなわち、上記図６に示した処理手順のステップＳ３１４の処理において、求められた平均応答時間はパケットサイズ決定テーブル４００の応答時間Ｔ３に対応するものとする。また、送信すべき印刷データは未送信の印刷データであるので、その未送信の印刷データのデータ量はパケットサイズ決定テーブル４００のデータ量Ｄ２に対応するものとする。そして、応答時間Ｔ３とデータ量Ｄ２とに基づきパケットサイズβ２３を求めるようにする。
【０１４６】
また、本実施の形態１では、図５および図６の処理手順に示す如く、タイムスタンプ要求に対応する送信ＩＰパケットの送信時刻から、当該送信ＩＰパケットに対するタイムスタンプ応答に対応する応答ＩＰパケットの受信時刻までの応答時間（通信時間）を求めるようにしているが、本発明はこれに限定されことなく、次のようにしてもよい。
【０１４７】
すなわち、インターフェースモニタ１５０は、タイムスタンプ要求に対応する送信ＩＰパケットの送信時刻から、当該送信ＩＰパケットつまりタイムスタンプ要求に対するタイムスタンプ応答に対応する応答ＩＰパケット内の応答ＩＣＭＰに含まれる受信時刻までの通信時間（到達時間）を算出する。なお、その受信時刻（到達時刻）は、当該ＩＣＭＰの「Receive Timestamp」フィールドに記述されている受信時刻（到達時刻）を参照することで知ることができる。そして、この到達時間と送信すべき印刷データのデータとパケットサイズ決定テーブルとに基づいて、パケットサイズを決定するようにする。
【０１４８】
以上説明したように、ＬＡＮ３００のトラフィック量に対応する応答時間（平均応答時間）とネットワークプリンタ２００へ送信すべき印刷データのデータ量とに基づきパケットサイズを決定することができる。また、ネットワークプリンタ２００による印刷ジョブの実行中に取得したＬＡＮ３００のトラフィック量に対応する応答時間とネットワークプリンタ２００へ送信すべき印刷データのデータ量とに基づき既に決定されたパケットサイズを補正することができる。
【０１４９】
すなわち、ＬＡＮ３００の動的に変化するトラフィック量に対応する応答時間に応じて決定されたパケットサイズを、印刷データを含むパケットの通信処理において定期的に取得したＬＡＮ３００の動的に変化するトラフィック量に対応する応答時間、および送信すべき印刷データのデータ量に基づき補正することができるので、最適なデータ通信を実施することができる。
【０１５０】
また、ネットワークプリンタ２００による印刷ジョブの処理の最中に、ＬＡＮ３００のトラフィック量が動的に変化した場合であっても、効率的なデータ通信を実現することができるので、ネットワークプリンタ２００が印刷ジョブを処理する時間のうちデータ転送に係る時間を大幅に短縮させることができ、これによりネットワークプリンタ２００での印刷処理時間を短縮させることができる。
【０１５１】
（実施の形態２）
【０１５２】
次に、本実施の形態２に係るネットワークプリントシステムについて説明する。
【０１５３】
本実施の形態２に係るネットワークプリントシステムは、図１に示した実施の形態１のネットワークプリントシステムの全体構成と同様の構成になっている。また、ネットワークプリントシステムのプロトコルスタックは、図２に示した実施の形態１のプロトコルスタックと同様の構成になっている。
【０１５４】
このネットワークプリントシステムでは、送信すべき印刷データのデータ量とネットワークプリンタの負荷状況とに基づいて当該印刷データに関するパケットのパケットサイズを決定するようにしている。
【０１５５】
なお、本実施の形態２のネットワークプリントシステムは、実施の形態１とは、基本的には上述した如く構成および機能は同一であるものの、一部相違する点もある。次に、その相違する点について説明する。
【０１５６】
ＰＣ１００では、データサイズ決定手段の機能を有するインターフェースモニタ１５０は、実施の形態１の場合の（１）〜（４）の各機能に加えて、次の（５）〜（７）の各機能も有している。
【０１５７】
（５）ネットワークプリンタ２００に対し負荷状態を問い合せるとともに、この問い合せに対する結果としてネットワークプリンタ２００から返信される負荷状態を示す情報を取得し、この取得した負荷状態を示す情報と送信すべき所定の印刷データのデータ量とに基づいて、当該所定の印刷データに関するパケットのパケットサイズを決定する。
【０１５８】
（６）ネットワークプリンタ２００による当該ＰＣ１００からの印刷データに対する印刷処理の実行中に、ネットワークプリンタ２００に対し負荷状態を問い合せるとともに、この問い合せに対する結果としてネットワークプリンタ２００から返信される負荷状態を示す情報を取得し、この取得した負荷状態を示す情報と送信すべき所定の印刷データのデータ量とに基づいて、既に決定したパケットサイズを補正する。
【０１５９】
（７）送信すべき所定の印刷データのデータ量と、ＬＡＮ３００上のトラフィック量と、ネットワークプリンタ２００の負荷状態とに基づいて、当該所定の印刷データに関するパケットのパケットサイズを決定または補正する。
【０１６０】
また、ネットワークプリンタ２００においては、プリンタＦＷ２１０は、ＰＣ１００からの負荷状態に関する問い合わせを受信した場合に、当該ネットワークプリンタの印刷処理状況を示す情報を当該問い合わせに対する結果としてＰＣ１００へ返信する負荷状態通知手段の機能を有している。
【０１６１】
また、負荷状態通知手段の機能を有するプリンタＦＷ２１０は、既に受信されているＰＣ１００からのパケットに含まれる印刷データに対する印刷処理が実行されている最中に、負荷状態に関する問い合わせがあった場合は、受信可能なデータのデータサイズを示す情報を当該問い合わせに対する結果としてＰＣ１００へ返信する機能を有している。
【０１６２】
次に、ネットワークプリントシステムのＰＣ１００のインターフェースモニタ１５０による印刷ジョブ開始処理について、図７を参照して説明する。
【０１６３】
最初に、インターフェースモニタ１５０は、図３に示した処理手順のステップＳ１０１からＳ１０３と同様の処理を実行する（ステップＳ４０１〜Ｓ４０３）。
【０１６４】
次に、ステップＳ３０３において接続が成功したと判断したインターフェースモニタ１５０が、ソケットインターフェース１６０に対し、負荷状態に関する問い合わせを意味するダミーパケットの送信を指示すると、ソケットインターフェース１６０は、インターフェースモニタ１５０の指示に従って例えば６４バイトのダミーパケット（負荷状態に関する問い合わせ）をＬＡＮ３００を介してネットワークプリンタ２００へ送出する（ステップＳ４０４）。
【０１６５】
インターフェースモニタ１５０は、上記ステップＳ４０４で、ダミーパケットがソケットインターフェース１６０を通じてネットワークプリンタ２００へ送信された場合、ソケットインターフェース１６０を通じてネットワークプリンタ２００からの応答を待つことになる。
【０１６６】
なお、このとき、ネットワークプリンタ２００のプリンタＦＷ２１０は、接続要求を出したＰＣ１００以外のホストコンピュータ（ＰＣ）からの印刷ジョブを処理している場合には、ウィンドウサイズ（データウィンドウサイズ）の値が「０」にセットされた応答パケットを接続要求を出したＰＣ１００へ返信することになる。この場合、ネットワークプリンタ２００は、ビジー状態であるため、ＰＣ１００を含む他のＰＣからの印刷ジョブを受け付けることができない。
【０１６７】
一方、接続要求を出したＰＣ１００の印刷ジョブを処理可能である場合は、応答パケットのウィンドウサイズが、受信可能なバッファサイズとなっている。
【０１６８】
このウィンドウサイズすなわち受信可能なバッファサイズは、負荷状態に関する問い合わせに対する結果としての印刷処理状況を示す情報であり、また受信可能なデータのデータサイズを示す情報でもある。
【０１６９】
ＰＣ１００（のインターフェースモニタ１５０）は、負荷状態に関する問い合わせを、ネットワークプリンタ２００（の印刷部２０２）による印刷処理の途中においても繰り返すことにより、ネットワークプリンタ２００の印刷処理における負荷の係わり具合を認識することができる。
【０１７０】
ところで、上述したようにしてダミーパケットがネットワークプリンタ２００に向けて送出されると、インターフェースモニタ１５０は、ネットワークプリンタ２００（のプリンタＦＷ２１０）からの応答パケットの返信（応答）が有るか否かを判断する（ステップＳ４０５）。
【０１７１】
次に、インターフェースモニタ１５０は、ステップＳ４０５において、ネットワークプリンタ２００（のプリンタＦＷ２１０）からの応答パケットの返信があると判断した場合、つまり応答パケットを受信した場合は、当該応答パケットのウィンドウサイズの値を、例えば記憶部１０３の第３の記憶領域（ワークエリア）に一時保存するとともに（ステップＳ４０６）、今回の応答は予め設定された所定の回数、すなわち応答パケットの受信回数は所定の回数Ｎ、例えば５回目であるか否かを判断する（ステップＳ４０７）。
【０１７２】
ステップＳ４０５においてネットワークプリンタ２００からの応答が無い場合、ステップＳ４０７において応答が所定の回数Ｎに達していない場合は、上記ステップＳ４０４に戻る。
【０１７３】
ステップＳ４０７においてネットワークプリンタ２００からの応答（応答パケット）が所定の回数Ｎに達したと判断したインターフェースモニタ１５０は、ステップＳ４０６で一時保存した複数の応答パケットに関するウィンドウサイズの値の平均値（平均ウィンドウサイズ）を算出するとともに（ステップＳ４０８）、この平均ウィンドウサイズと送信すべき印刷データのデータ量とに基づき、当該印刷データに関するパケットのパケットサイズ（データサイズ）を求める（ステップＳ４０９）。
【０１７４】
この場合、パケットサイズは、平均ウィンドウサイズを採用することで最大のパケットサイズとすることが可能であるが、送信すべき印刷データのデータ量に応じて、適宜、平均ウィンドウサイズを複数に分割したサイズとすることが好ましい。
【０１７５】
そして、インターフェースモニタ１５０は、上記ステップＳ４０９で求めたパケットサイズを基に、ソケットインターフェース１６０に対してデータ送信のためのパケットサイズを設定する（ステップＳ４１０）。
【０１７６】
以上説明したように、ネットワークプリンタ２００の受信可能なバッファサイズとネットワークプリンタ２００へ送信すべき印刷データのデータ量とに基づきパケットサイズを決定することができ、このパケットサイズに基づくパケットによる最適なデータ通信を実施することができる。
【０１７７】
また、効率的なデータ通信を実現することができるので、ネットワークプリンタ２００が印刷ジョブを処理する時間のうちデータ転送に係る時間を短縮させることができ、これによりネットワークプリンタ２００での印刷処理時間を短縮させることができる。
【０１７８】
次に、ネットワークプリントシステム１のパケットサイズ補正処理について、図８を参照して説明する。
【０１７９】
図８は、そのパケットサイズ補正処理の処理手順を示すシーケンスである。
【０１８０】
最初に、上述したように、ＰＣ１００のソケットインターフェース１６０が、インターフェースモニタ１５０の指示に従って例えば６４バイトのダミーパケット（負荷状態に関する問い合わせ）をＬＡＮ３００を介してネットワークプリンタ２００へ送出すると（Ｓ５０１）、ネットワークプリンタ２００のプリンタＦＷ２１０は、そのダミーパケット（ＩＰパケット）を正常に受信した場合は、所定の値がセットされたウィンドウサイズを含む応答パケット（ＩＰパケット）をＰＣ１００に向けて送信する（Ｓ５０２）。
【０１８１】
このとき、ＰＣ１００のインターフェースモニタ１５０は、受信した応答パケット内のタウィンドウサイズの値を記憶部１０３に一時保存する。
【０１８２】
同様にして、送信されたダミーパケットが予め設定された所定値に達するまで、上記Ｓ５０１、Ｓ５０２の処理が繰り返される（Ｓ５０３、Ｓ５０４）。
【０１８３】
そして、インターフェースモニタ１５０は、ソケットインターフェース１６０から送信されたダミーパケットが予め設定された所定値に達した場合は、一時保存されている所定値（複数）分のウィンドウサイズの値の平均値（平均ウィンドウサイズ）を求め（Ｓ５０５）、この平均ウィンドウサイズと送信すべき印刷データのデータ量とに基づき、当該印刷データに関するパケットのパケットサイズを求める。
【０１８４】
次に、インターフェースモニタ１５０は、この求めたパケットサイズを基に、ソケットインターフェース１６０に対してデータ送信のためのパケットサイズを設定する（ステップＳ５０６）。
【０１８５】
ここで、求められた平均ウィンドウサイズは値「ＷＳ１」であるとし、この平均ウィンドウサイズＷＳ１を、パケットサイズＰＳ１と定義する。このパケットサイズＰＳ１に基づく、印刷データを含むパケット（ＩＰパケット）が、ＰＣ１００からネットワークプリンタ２００に向けて送信される（Ｓ５０７）。
【０１８６】
ネットワークプリンタ２００は、そのパケットを正常に受信した場合は、肯定確認応答（ＡＣＫ）を含むパケット（ＩＰパケット）をＰＣ１００へ送信する（Ｓ５０８）。
【０１８７】
同様の処理が複数のパケット分について実施される。すなわち、ＰＣ１００による印刷データを含むパケット（パケットサイズＰＳ１）の送信処理が実施され（Ｓ５０９）、またネットワークプリンタ２００による受信したパケットに対する肯定確認応答（ＡＣＫ）を含むパケットの送信処理が実施される（Ｓ５１０）。
【０１８８】
このようにして印刷データを含む複数のパケットを送信した時点では、ＰＣ１００には、未送信の印刷データが存在するもとする。
【０１８９】
Ｓ５１０が終了した後、ＰＣ１００では、インターフェースモニタ１５０は、次の印刷データを含むパケットを送信せずに、ネットワークプリンタ２００の負荷状態を知るために、ダミーパケットをネットワークプリンタ２００に向けて送信する（Ｓ５１１）。このダミーパケットを受信したネットワークプリンタ２００のプリンタＦＷ２１０は、所定の値がセットされたウィンドウサイズを含む応答パケットを、ＰＣ１００に向けて送信する（Ｓ５１２）。
【０１９０】
なお、ここでは、ダミーパケットは１回のみ送信するようにしているが、複数回送信するようにしてもよい。
【０１９１】
そして、ＰＣ１００では、インターフェースモニタ１５０は、一時保存されている１つのウィンドウサイズの値を取得するか、あるいは一時保存されている複数のウィンドウサイズの値の平均値（平均ウィンドウサイズ）を求める（Ｓ５１３）。
【０１９２】
次に、インターフェースモニタ１５０は、取得したウィンドウサイズ（または求めた平均ウィンドウサイズ）と、送信すべき印刷データのデータ量とに基づき、既に決定されているパケットサイズを補正し、この補正後のパケットサイズを基に、ソケットインターフェース１６０に対してデータ送信のためのパケットサイズを設定する（Ｓ５１４）。
【０１９３】
このステップＳ５１４の処理において、取得したウィンドウサイズは値「ＷＳ３」であるとし、このウィンドウサイズＷＳ３を、パケットサイズＰＳ３と定義する。ここで、ウィンドウサイズは「ＷＳ３＜ＷＳ１」の関係が成立するものとする。そのため、パケットサイズも「ＰＳ３＜ＰＳ１」の関係が成立することになる。
【０１９４】
そして、補正前のパケットサイズＰＳ１よりも小さいパケットサイズＰＳ３に基づく、印刷データを含むパケット（ＩＰパケット）が、ＰＣ１００からネットワークプリンタ２００に向けて送信される（Ｓ５１５）。この場合、パケットサイズはＰＳ１からＰＳ３に補正されている。
【０１９５】
以上説明したように、ネットワークプリンタ２００の受信可能なバッファサイズと送信すべき印刷データのデータ量とに基づきパケットサイズを決定することができる。また、ネットワークプリンタ２００による印刷ジョブの実行中に取得したネットワークプリンタ２００の受信可能なバッファサイズと送信すべき印刷データのデータ量とに基づき既に決定されたパケットサイズを補正することができる。
【０１９６】
すなわち、ネットワークプリンタ２００の動的に変化する印刷処理状況（受信可能なバッファサイズ）に応じて決定されたパケットサイズを、印刷データを含むパケットの送信処理において定期的に取得したネットワークプリンタ２００の動的に変化する印刷処理状況（受信可能なバッファサイズ）、および送信すべき印刷データのデータ量に基づき補正することができるので、最適なデータ通信を実施することができる。
【０１９７】
また、ネットワークプリンタ２００による印刷ジョブの処理の最中に、ネットワークプリンタ２００の動的に変化する受信可能なバッファサイズに応じたパケットを送信することにより効率的なデータ通信を実現することができるので、ネットワークプリンタ２００が印刷ジョブを処理する時間のうちデータ転送に係る時間を大幅に短縮させることができ、これによりネットワークプリンタ２００での印刷処理時間を短縮させることができる。
【０１９８】
次に、ネットワークプリントシステム１の他のパケットサイズ補正処理について、図９を参照して説明する。
【０１９９】
図９は、他のパケットサイズ補正処理の処理手順を示すシーケンスである。
【０２００】
最初に、図８に示した処理手順のＳ５０１〜Ｓ５０６と同様の処理が実施される（Ｓ６０１〜Ｓ６０６）。この場合も、Ｓ６０６で、求められた平均ウィンドウサイズＷＳ１を、パケットサイズＰＳ１と定義する。
【０２０１】
そして、パケットサイズＰＳ１に基づく、印刷データを含むパケット（ＩＰパケット）が、ＰＣ１００からネットワークプリンタ２００に向けて送信される（Ｓ６０７）。このとき、インターフェースモニタ１５０は、この印刷データを含むパケットが送信された時点（送信時刻）を認識しておく。
【０２０２】
ネットワークプリンタ２００は、その印刷データを含むパケットを正常に受信した場合、肯定確認応答（ＡＣＫ）を含むパケット（ＩＰパケット）をＰＣ１００へ送信する（Ｓ６０８）。
【０２０３】
ＰＣ１００では、インターフェースモニタ１５０は、肯定確認応答（ＡＣＫ）を含むパケットが受信された時点（受信時刻）と上記送信時刻とに基づき、印刷データの送信時刻から当該印刷データに関する肯定確認応答（ＡＣＫ）の受信時刻までの応答時間を算出（計測）する（Ｓ６０９）。
【０２０４】
同様にして、パケットサイズＰＳ１に基づく、印刷データを含むパケット（ＩＰパケット）が、ＰＣ１００からネットワークプリンタ２００に向けて送信されるとともに（Ｓ６１０）、このパケットに対する肯定確認応答（ＡＣＫ）を含むパケット（ＩＰパケット）が、ネットワークプリンタ２００からＰＣ１００に向けて送信される（Ｓ６１１）。
【０２０５】
ＰＣ１００では、インターフェースモニタ１５０は、上記Ｓ６０９の処理と同様に、印刷データの送信時刻から当該印刷データに関するＡＣＫの受信時刻までの時間（応答時間）を算出（計測）するとともに（Ｓ６１２）、上述したようにして求めた複数の応答時間の平均値（平均応答時間）を算出する（Ｓ６１３）。
【０２０６】
次に、インターフェースモニタ１５０は、この算出した平均応答時間を基に上記Ｓ６０６で決定したパケットサイズを補正するとともに、この補正後のパケットサイズを基に、ソケットインターフェース１６０に対してデータ送信のためのパケットサイズを設定する（Ｓ６１４）。
【０２０７】
このステップＳ６１４の処理において、求められた平均応答時間は、図４に示したパケットサイズ決定テーブル４００の応答時間Ｔ３に対応するものとする。また、送信すべき印刷データ信（未送信の印刷データ）のデータ量は、パケットサイズ決定テーブル４００のデータ量Ｄ２に対応するものとする。そのため、応答時間Ｔ３とデータ量Ｄ２とに基づきパケットサイズβ２３が求められる。なお、ここでは、パケットサイズは、β２３＝ＰＳ３＜ＰＳ１とする。
【０２０８】
インターフェースモニタ１５０は、この求めたパケットサイズＰＳ３（β２３）を基に、ソケットインターフェース１６０に対してデータ送信のためのパケットサイズを設定する。すなわち、パケットサイズはＰＳ１からＰＳ３に補正されたことになる。
【０２０９】
そして、上述したようにして補正された補正後のパケットサイズＰＳ３がソケットインターフェース１６０に対して設定されると、パケットサイズＰＳ３に基づく、印刷データを含むパケット（ＩＰパケット）が、ＰＣ１００からネットワークプリンタ２００に向けて送信される（Ｓ６１５）。
【０２１０】
以上説明したように、ネットワークプリンタ２００の受信可能なバッファサイズと送信すべき印刷データのデータ量とに基づきパケットサイズを決定することができる。また、ネットワークプリンタ２００による印刷ジョブの実行中に取得したＬＡＮ３００のトラフィック量に対応する応答時間と送信すべき印刷データのデータ量とに基づき既に決定されたパケットサイズを補正することができる。
【０２１１】
すなわち、ネットワークプリンタ２００の動的に変化する印刷処理状況（受信可能なバッファサイズ）に応じて決定されたパケットサイズを、印刷データを含むパケットの送信処理において定期的に取得したＬＡＮ３００の動的に変化するトラフィック量に対応する応答時間、送信すべき印刷データのデータ量、およびパケットサイズ決定テーブル４００に基づき補正することができるので、最適なデータ通信を実施することができる。
【０２１２】
また、ネットワークプリンタ２００による印刷ジョブの処理の最中に、ＬＡＮ３００のトラフィックが動的に変化した場合であっても、効率的なデータ通信を実現することができるので、ネットワークプリンタ２００が印刷ジョブを処理する時間のうちデータ転送に係る時間を大幅に短縮させることができ、これによりネットワークプリンタ２００での印刷処理時間を短縮させることができる。
【産業上の利用可能性】
【０２１３】
本発明は、複写機能およびプリント機能を有する画像形成装置（いわゆる複合機としての画像形成装置）とホストコンピュータなど送信元装置とが通信回線を介して接続される印刷システムに適用することができる。
【図面の簡単な説明】
【０２１４】
【図１】実施の形態１に係るネットワークプリントシステムの全体構成を示す構成図である。
【図２】実施の形態１に係るネットワークプリントシステムのプロトコルスタックの構成を示す構成図である。
【図３】実施の形態１に係るホストコンピュータのインターフェースモニタによる印刷ジョブ開始処理の処理手順を示すフローチャートである。
【図４】実施の形態１に係るパケットサイズ決定テーブルの一例を示す図である。
【図５】実施の形態１に係るネットワークプリントシステムの応答時間算出処理の処理手順を示すシーケンスである。
【図６】実施の形態１に係るネットワークプリントシステムのパケットサイズ補正処理の処理手順を示すシーケンスである。
【図７】実施の形態２に係るホストコンピュータのインターフェースモニタによる印刷ジョブ開始処理の処理手順を示すフローチャートである。
【図８】実施の形態２に係るネットワークプリントシステムのパケットサイズ補正処理の処理手順を示すシーケンスである。
【図９】実施の形態２に係るネットワークプリントシステムの他のパケットサイズ補正処理の処理手順を示すシーケンスである。
【符号の説明】
【０２１５】
１  ネットワークプリントシステム
１００  ホストコンピュータ（送信元装置）
１０１  表示部
１０２  入力部
１０３  記憶部（記憶手段）
１０４  通信インターフェース
１０５  制御部（パケットサイズ決定手段）
１１０  アプリケーション
１２０  オペレーティングシステム
１３０  プリンタドライバ
１４０  プリントスプーラ
１５０  インターフェースモニタ（パケットサイズ決定手段）
１６０  ソケットインターフェース
２００  ネットワークプリンタ（印刷装置）
２０１  記憶部
２０２  印刷部
２０３  通信インターフェース
２０４  制御部（負荷状態通知手段）
２１０  プリンタファームウェア（負荷状態通知手段）
２２０  ＮＩＣ（ネットワークインターフェースカード）
２３０  ＮＩＣインターフェース
２４０  インターフェースモニタ（受信時刻通知手段）
２５０  ソケットインターフェース
３００  ＬＡＮ（通信回線）
４００  パケットサイズ決定テーブル（記憶手段）
【図１】
2008046828.tif 000003
【図２】
2008046828.tif 000004
【図３】
2008046828.tif 000005
【図４】
2008046828.tif 000006
【図５】
2008046828.tif 000007
【図６】
2008046828.tif 000008
【図７】
2008046828.tif 000009
【図８】
2008046828.tif 000010
【図９】
2008046828.tif 000011