(57)【要約】【課題】ネットワークトラフィックの増大や印刷ジョブの管理処理の複雑化を生じさせることなく、印刷ジョブ送信側でのタイムアウトエラーの発生を防止しつつ印刷ジョブを滞りなく受信できるように制御可能な技術を提供する。【解決手段】印刷ジョブ受信装置としてのプリンタコントローラは、タイムアウト値についての情報を印刷指示装置としてのＰＣから取得して（Ｓ３０１、Ｓ３０２）、印刷ジョブの受信速度をタイムアウト値に応じて調整する（Ｓ３０３〜Ｓ３０５）。【選択図】図７
2009126014.tif 000002
【特許請求の範囲】
【請求項１】
印刷指示装置から印刷ジョブを受信するための受信手段と、
前記印刷指示装置が処理停止となることなく前記印刷ジョブに関する応答を待つことが可能な時間として設定されたタイムアウト値についての情報を前記印刷指示装置から取得する取得手段と、
前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて調整する制御を行う制御手段と、を有することを特徴とする印刷ジョブ受信装置。
【請求項２】
さらに、前記受信手段によって受信された印刷ジョブが実行されるまでの間、当該印刷ジョブを一時的に格納しておく記憶手段と、
前記記憶手段に印刷ジョブとして一時格納中のデータ量の飽和につながる所定の条件を満たすか否かを判断する判断手段と、を有し、
前記制御手段は、前記判断手段によって前記所定の条件を満たすと判断される場合に、前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行うことを特徴とする請求項１に記載の印刷ジョブ受信装置。
【請求項３】
前記判断手段は、前記記憶手段の使用可能容量が所定の基準値以下であるか否かを判断し、
前記制御手段は、前記記憶手段の使用可能容量が所定の基準値以下であると判断される場合に、前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行う、ことを特徴とする請求項２に記載の印刷ジョブ受信装置。
【請求項４】
前記判断手段は、実行待ちの状態となっている印刷ジョブの数が所定の基準数以上であるか否かを判断し、
前記制御手段は、実行待ちの状態となっている印刷ジョブの数が所定の基準数以上であると判断される場合に、前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行う、ことを特徴とする請求項２に記載の印刷ジョブ受信装置。
【請求項５】
前記受信手段は、前記印刷ジョブを複数のパケットに分割して受信し、
前記制御手段は、前記受信手段が一つのパケットを受信するごとに、前記タイムアウト値に応じて前記タイムアウト値よりも短い値に調整された待ち時間を設けることによって前記受信速度を遅くする、ことを特徴とする請求項２に記載の印刷ジョブ受信装置。
【請求項６】
前記受信手段は、前記タイムアウト値についての情報を含む印刷ジョブを受信し、
前記取得手段は、前記印刷ジョブの中に含まれる前記タイムアウト値についての情報を取得する、ことを特徴とする請求項１〜５のいずれか１項に記載の印刷ジョブ受信装置。
【請求項７】
前記タイムアウト値は、前記印刷指示装置における前記印刷ジョブを送信する出力ポートに設定されたものであることを特徴とする請求項１〜６のいずれか１項に記載の印刷ジョブ受信装置。
【請求項８】
印刷ジョブを受信する印刷ジョブ受信装置の制御プログラムであって、
印刷指示装置から印刷ジョブを受信する手順（ａ）と、
前記印刷指示装置が処理停止となることなく前記印刷ジョブに関する応答を待つことが可能な時間として設定されたタイムアウト値についての情報を前記印刷指示装置から取得する手順（ｂ）と、
前記手順（ａ）における印刷ジョブの受信速度を前記タイムアウト値に応じて調整する制御を行う手順（ｃ）と、をコンピュータに実行させる、ことを特徴とする印刷ジョブ受信装置の制御プログラム。
【請求項９】
前記手順（ａ）において受信された印刷ジョブが実行されるまでの間、当該印刷ジョブを記憶手段に一時的に格納しておく手順（ｄ）と、
前記記憶手段に印刷ジョブとして一時格納中のデータ量の飽和につながる所定の条件を満たすか否かを判断する手順（ｅ）と、をさらにコンピュータに実行させるものであり、
前記手順（ｃ）は、前記手順（ｅ）において前記所定の条件を満たすと判断される場合に、前記手順（ａ）における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行うものであることを特徴とする請求項８に記載の印刷ジョブ受信装置の制御プログラム。
【請求項１０】
請求項８または９に記載の印刷ジョブ受信装置の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
印刷指示装置と、当該印刷指示装置から印刷ジョブを受信する印刷ジョブ受信装置とを含む印刷システムであって、
前記印刷指示装置は、
前記印刷ジョブ受信装置に対して印刷ジョブを送信する印刷ジョブ送信手段と、
処理停止となることなく前記印刷ジョブに関する応答を待つことが可能な時間であるタイムアウト値を設定するタイムアウト値設定手段と、を有し、
前記印刷ジョブ受信装置は、
前記印刷指示装置から印刷ジョブを受信するための受信手段と、
前記印刷指示装置から前記タイムアウト値についての情報を取得する取得手段と、
前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて調整する制御を行う制御手段と、を有することを特徴とする印刷システム。
【請求項１２】
前記印刷ジョブ受信装置は、さらに、
前記受信手段によって受信された印刷ジョブが実行されるまでの間、当該印刷ジョブを一時的に格納しておく記憶手段と、
前記記憶手段に印刷ジョブとして一時格納中のデータ量の飽和につながる所定の条件を満たすか否かを判断する判断手段と、を有し、
前記制御手段は、前記判断手段によって前記所定の条件を満たすと判断される場合に、前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行うことを特徴とする請求項１１に記載の印刷システム。
【請求項１３】
印刷指示装置によって送信された印刷ジョブを、印刷ジョブ受信装置が受信する段階（ａ）と、
処理停止となることなく前記印刷ジョブに関する応答を前記印刷指示装置が待つことが可能な時間として前記印刷指示装置において設定されたタイムアウト値についての情報を、前記印刷ジョブ受信装置が取得する段階（ｂ）と、
前記印刷ジョブ受信装置が、前記段階（ａ）における印刷ジョブの受信速度を前記タイムアウト値に応じて調整する制御を行う段階（ｃ）と、を有することを特徴とする印刷ジョブの送受信制御方法。
【請求項１４】
前記段階（ａ）において受信された印刷ジョブが実行されるまでの間、当該印刷ジョブを前記印刷ジョブ受信装置が記憶手段に一時的に格納しておく段階（ｄ）と、
前記記憶手段に印刷ジョブとして一時格納中のデータ量の飽和につながる所定の条件を満たすか否かを判断する段階（ｅ）と、をさらに有し、
前記段階（ｃ）は、前記段階（ｅ）において前記所定の条件を満たすと判断される場合に、前記段階（ａ）における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行うものであることを特徴とする請求項１３に記載の印刷ジョブの送受信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブ受信装置およびその制御プログラム、ならびに印刷システム、および印刷ジョブの送受信制御方法に関する。
【背景技術】
【０００２】
クライアントコンピュータ（以下、「ＰＣ」と称する）と、多機能周辺機器（ＭＦＰ：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などの画像形成装置とがネットワークで接続された印刷システムが知られている。
【０００３】
このような印刷システムにおいて、ＰＣは、画像形成装置に対して印刷ジョブを送信する印刷指示装置として用いられる。一方、画像形成装置は、印刷ジョブを受信してラスタデータに変換する印刷ジョブ受信装置としてのプリンタコントローラと、ラスタデータに基いて印刷を行う印刷装置としてのプリンタとを備える。
【０００４】
プリンタコントローラが、ＰＣから印刷ジョブを受信すると、受信された印刷ジョブは、実行されるまでの間、受信バッファと呼ばれる記憶手段に一時的に格納される。このような受信バッファは、複数の印刷ジョブを格納しておくことができる。一般的には、一番初めに受信した印刷ジョブから実行されて印刷が開始され、実行待ちの印刷ジョブは、画像形成装置の予約リストにおいて予約されて管理される。
【０００５】
しかしながら、予約リストにおいて予約可能な印刷ジョブの数にも限界がある。したがって、例えば画像形成装置における用紙切れまたは用紙詰まり（ジャム）の発生、印刷ジョブの過剰投入など、何らかの理由により画像形成装置において印刷ジョブの実行処理が遅れた場合には、多数の実行待ちの印刷ジョブが生じて受信バッファの記憶容量が一杯、すなわち、バッファフルとなったり、実行待ちの印刷ジョブの数が最大予約ジョブ数に達したりする。この結果、プリンタコントローラによって印刷ジョブが受信され得ない状態が発生する。
【０００６】
このように、プリンタコントローラが印刷ジョブを受信できない状態においては、プリンタコントローラから受信応答がなされない。そして一定期間を経過しても、受信応答がなされない場合、印刷ジョブを送信したＰＣ側において、タイムアウトエラーが発生し、印刷処理が中断されてしまう。具体的には、ＰＣ側において、印刷ジョブを送信するための出力ポート毎にタイムアウト値が設定されている。ここで、タイムアウト値とは、ＰＣが処理停止となることなく印刷ジョブに関する応答を待つことが可能な時間を意味する。したがって、ＰＣが、このタイムアウト値を超えて応答を受信しない場合、ＰＣが印刷処理を停止してしまうことになる。
【０００７】
特に、ＰＯＤ（Ｐｒｉｎｔ  Ｏｎ  Ｄｅｍａｎｄ：プリント・オン・デマンド）と呼ばれる印刷サービスにおいては、多数の印刷ジョブをまとめて送信しておき、印刷が完了するまで待つ場合がある。この場合、上記のようなタイムアウト値による印刷ジョブの停止によって印刷ジョブがキャンセルされることが特に問題となる。
【０００８】
上記の問題を解決するために、種々の方法が提案されている。例えば、画像形成装置が印刷ジョブを受信中に受信バッファの空き容量（使用可能容量）が少なくなった場合に、印刷ジョブの受信速度を遅くすることによって、バッファフルになる事態を先延ばしにする方法が存在する。つまり、印刷ジョブの受信速度を遅くしている間に予約されている印刷ジョブを実行して受信バッファの空き容量をかせぐ方法である。しかしながら、この方法では、バッファフルを確実に回避するためには印刷ジョブの受信速度をできるだけ遅くすることが好ましいものの、印刷ジョブの受信速度を遅くしすぎると、画像形成装置からＰＣへの受信応答も遅くなってしまい、結果的にＰＣ側でタイムアウトエラーが発生する虞があるという問題がある。
【０００９】
また、下記特許文献１には、予めファイルサーバをネットワーク上に用意しておき、複数の印刷ジョブを受信する際に、印刷中以外の印刷ジョブである予約印刷ジョブをファイルサーバに一時記憶することで、複数の印刷ジョブを同時に受信して効率のよい印刷処理を可能とした技術が提案されている。しかしながら、この特許文献１に記載のシステムにおいては、実行を遅延させる必要のある印刷ジョブをファイルサーバに転送するが、このような転送に起因して、ファイルサーバと画像形成装置との間で頻繁に通信が行われることになる。この結果、ネットワークのトラフィックが多くなり、ネットワーク上の他の機器への影響が大きくなる。また、印刷ジョブの管理処理が複雑化してしまう虞もある。
【特許文献１】特開平５−１５０９１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、上述した問題を解決するためになされたものであり、ネットワークトラフィックの増大や印刷ジョブの管理処理の複雑化を生じさせることなく、印刷ジョブ送信側でのタイムアウトエラーの発生を防止しつつ印刷ジョブを滞りなく受信できるように制御可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の上記目的は、下記の手段によって達成される。
【００１２】
（１）印刷指示装置から印刷ジョブを受信するための受信手段と、前記印刷指示装置が処理停止となることなく前記印刷ジョブに関する応答を待つことが可能な時間として設定されたタイムアウト値についての情報を前記印刷指示装置から取得する取得手段と、前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて調整する制御を行う制御手段と、を有することを特徴とする印刷ジョブ受信装置。
【００１３】
（２）さらに、前記受信手段によって受信された印刷ジョブが実行されるまでの間、当該印刷ジョブを一時的に格納しておく記憶手段と、前記記憶手段に印刷ジョブとして一時格納中のデータ量の飽和につながる所定の条件を満たすか否かを判断する判断手段と、を有し、前記制御手段は、前記判断手段によって前記所定の条件を満たすと判断される場合に、前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行うことを特徴とする上記（１）に記載の印刷ジョブ受信装置。
【００１４】
（３）前記判断手段は、前記記憶手段の使用可能容量が所定の基準値以下であるか否かを判断し、前記制御手段は、前記記憶手段の使用可能容量が所定の基準値以下であると判断される場合に、前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行う、ことを特徴とする上記（２）に記載の印刷ジョブ受信装置。
【００１５】
（４）前記判断手段は、実行待ちの状態となっている印刷ジョブの数が所定の基準数以上であるか否かを判断し、前記制御手段は、実行待ちの状態となっている印刷ジョブの数が所定の基準数以上であると判断される場合に、前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行う、ことを特徴とする上記（２）に記載の印刷ジョブ受信装置。
【００１６】
（５）前記受信手段は、前記印刷ジョブを複数のパケットに分割して受信し、前記制御手段は、前記受信手段が一つのパケットを受信するごとに待ち時間を設けることによって前記受信速度を遅くする、ことを特徴とする上記（２）に記載の印刷ジョブ受信装置。
【００１７】
（６）前記受信手段は、前記タイムアウト値についての情報を含む印刷ジョブを受信し、前記取得手段は、前記印刷ジョブの中に含まれる前記タイムアウト値についての情報を取得する、ことを特徴とする上記（１）に記載の印刷ジョブ受信装置。
【００１８】
（７）前記タイムアウト値は、前記印刷ジョブが送信される印刷指示装置における出力ポート毎に予め設定されたものであることを特徴とする上記（１）に記載の印刷ジョブ受信装置。
【００１９】
（８）印刷ジョブを受信する印刷ジョブ受信装置の制御プログラムであって、印刷指示装置から印刷ジョブを受信する手順（ａ）と、前記印刷指示装置が処理停止となることなく前記印刷ジョブに関する応答を待つことが可能な時間として設定されたタイムアウト値についての情報を前記印刷指示装置から取得する手順（ｂ）と、前記手順（ａ）における印刷ジョブの受信速度を前記タイムアウト値に応じて調整する制御を行う手順（ｃ）と、をコンピュータに実行させる、ことを特徴とする印刷ジョブ受信装置の制御プログラム。
【００２０】
（９）前記手順（ａ）において受信された印刷ジョブが実行されるまでの間、当該印刷ジョブを記憶手段に一時的に格納しておく手順（ｄ）と、前記記憶手段に印刷ジョブとして一時格納中のデータ量の飽和につながる所定の条件を満たすか否かを判断する手順（ｅ）と、をさらにコンピュータに実行させるものであり、前記手順（ｃ）は、前記手順（ｅ）において前記所定の条件を満たすと判断される場合に、前記手順（ａ）における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行うものであることを特徴とする上記（８）に記載の印刷ジョブ受信装置の制御プログラム。
【００２１】
（１０）上記（９）に記載の印刷ジョブ受信装置の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【００２２】
（１１）印刷指示装置と、当該印刷指示装置から印刷ジョブを受信する印刷ジョブ受信装置とを含む印刷システムであって、前記印刷指示装置は、前記印刷ジョブ受信装置に対して印刷ジョブを送信する印刷ジョブ送信手段と、処理停止となることなく前記印刷ジョブに関する応答を待つことが可能な時間であるタイムアウト値を設定するタイムアウト値設定手段とを有し、前記印刷ジョブ受信装置は、前記印刷指示装置から印刷ジョブを受信するための受信手段と、前記印刷指示装置から前記タイムアウト値についての情報を取得する取得手段と、前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて調整する制御を行う制御手段と、を有すること、を特徴とする印刷システム。
【００２３】
（１２）前記印刷ジョブ受信装置は、さらに、前記受信手段によって受信された印刷ジョブが実行されるまでの間、当該印刷ジョブを一時的に格納しておく記憶手段と、前記記憶手段に印刷ジョブとして一時格納中のデータ量の飽和につながる所定の条件を満たすか否かを判断する判断手段と、を有し、前記制御手段は、前記判断手段によって前記所定の条件を満たすと判断される場合に、前記受信手段における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行うことを特徴とする上記（１１）に記載の印刷システム。
【００２４】
（１３）印刷指示装置によって送信された印刷ジョブを、印刷ジョブ受信装置が受信する段階（ａ）と、処理停止となることなく前記印刷ジョブに関する応答を前記印刷指示装置が待つことが可能な時間として前記印刷指示装置において設定されたタイムアウト値についての情報を、前記印刷ジョブ受信装置が取得する段階（ｂ）と、前記印刷ジョブ受信装置が、前記段階（ａ）における印刷ジョブの受信速度を前記タイムアウト値に応じて調整する制御を行う段階（ｃ）と、を有することを特徴とする印刷ジョブの送受信制御方法。
【００２５】
（１４）前記段階（ａ）において受信された印刷ジョブが実行されるまでの間、当該印刷ジョブを前記印刷ジョブ受信装置が記憶手段に一時的に格納しておく段階（ｄ）と、前記記憶手段に印刷ジョブとして一時格納中のデータ量の飽和につながる所定の条件を満たすか否かを判断する段階（ｅ）と、をさらに有し、前記段階（ｃ）は、前記段階（ｅ）において前記所定の条件を満たすと判断される場合に、前記段階（ａ）における印刷ジョブの受信速度を前記タイムアウト値に応じて遅くする制御を行うものであることを特徴とする上記（１３）に記載の印刷ジョブの送受信制御方法。
【発明の効果】
【００２６】
本発明によれば、印刷ジョブ受信装置は、タイムアウト値についての情報を印刷指示装置から取得して、印刷ジョブの受信速度を前記タイムアウト値に応じて調整する。したがって、ネットワークトラフィックの増大や印刷ジョブの管理処理の複雑化を生じさせることなく、印刷ジョブ送信側でのタイムアウトエラーの発生を防止しつつ印刷ジョブを滞りなく受信できるように制御することができる。これにより、印刷処理性能の向上が図られる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００２８】
図１は、本発明の第１の実施形態にかかる印刷システムの全体構成を示すブロック図である。
【００２９】
本実施形態にかかる印刷システムは、印刷ジョブを送信する印刷指示装置としてのＰＣ１と、印刷ジョブを受信して実行する画像形成装置４とを備え、これらはネットワーク５により相互に通信可能に接続されている。なお、ＰＣ１と画像形成装置４とは、ネットワーク５を介することなく直接機器間で接続（ローカル接続）されていてもよい。
【００３０】
画像形成装置４は、互いにローカル接続された、印刷ジョブを受信してビットマップ形式の画像データ（ラスタデータ）に変換する印刷ジョブ受信装置としてのプリンタコントローラ２と、画像データに基いて印刷を行う印刷装置としてのプリンタ３とから成る。このローカル接続には、ＵＳＢ、ＩＥＥＥ１３９４等のシリアルインタフェース、ＳＣＳＩ、ＩＥＥＥ１２８４等のパラレルインタフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２.１１、ＨｏｍｅＲＦ、ＩｒＤＡ等の無線通信インタフェース等の各種ローカル接続インタフェースが用いられる。ただし、プリンタコントローラ２とプリンタ３とは、ネットワーク５により接続されてもよい。
【００３１】
図２は、図１に示されるＰＣ１の構成を示すブロック図である。
【００３２】
ＰＣ１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスク１４、ディスプレイ１５、入力装置１６およびネットワークインタフェース１７を備えており、これらは信号をやり取りするためのバス１８を介して相互に接続されている。
【００３３】
ＣＰＵ１１は、プログラムにしたがって、上記各部の制御や各種の演算処理を行う。ＲＯＭ１２は、各種プログラムや各種データを格納する。ＲＡＭ１３は、作業領域として一時的にプログラムやデータを記憶する。ハードディスク１４は、オペレーティングシステムを含む各種プログラムや各種データを格納する。
【００３４】
ハードディスク１４には、文書ファイルを作成するための文書作成アプリケーションと、作成された文書ファイルについての印刷指示・印刷方法の指定を行うためのプリンタドライバとがインストールされている。プリンタドライバは、文書ファイルをプリンタコントローラ２が解釈可能なページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述された印刷データ（ＰＤＬデータ）に変換する。
【００３５】
ディスプレイ１５は、ＬＣＤ、ＣＲＴディスプレイ等であり、各種の情報の表示に使用される。入力装置１６は、マウス等のポインティングデバイスやキーボードを含み、各種情報の入力に使用される。
【００３６】
ネットワークインタフェース１７は、ネットワーク５を介して他の機器と通信するためのインタフェースであり、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格が用いられる。
【００３７】
図３は、図１に示される画像形成装置４のプリンタコントローラ２の構成を示すブロック図である。
【００３８】
プリンタコントローラ２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ハードディスク２４、プリンタインタフェース２５、およびネットワークインタフェース２６を備えており、これらは信号をやり取りするためのバス２７を介して相互に接続されている。なお、プリンタコントローラ２の上記各部のうち、ＰＣ１の上記各部と同様の機能を有する部分については、説明の重複を避けるためその説明を省略する。
【００３９】
ＲＯＭ２２には、ＰＣ１から受信した印刷データを翻訳してビットマップ形式の画像データを生成するためのプログラムが格納されている。
【００４０】
プリンタインタフェース２５は、ローカル接続されたプリンタ３と通信するためのインタフェースである。
【００４１】
図４は、図１に示される画像形成装置４のプリンタ３の構成を示すブロック図である。プリンタ３は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、操作パネル部３４、印刷部３５、およびコントローラインターフェース３６を備えており、これらは信号をやり取りするためのバス３７を介して相互に接続されている。なお、プリンタ３の上記各部のうち、ＰＣ１の上記各部と同様の機能を有する部分については、説明の重複を避けるためその説明を省略する。
【００４２】
ＲＯＭ３２には、プリンタコントローラ２から受信した画像データに基づいて行われる印刷処理のプログラムが格納されている。
【００４３】
操作パネル部３４は、タッチパネル、テンキー、スタートボタン、ストップボタン等を備えており、各種情報の表示および各種指示の入力に使用される。
【００４４】
印刷部３５は、電子写真式プロセス等の周知の作像プロセスを用いて、プリンタコントローラ２から受信した画像データに基づく画像を用紙等の記録媒体に印刷する。
【００４５】
コントローラインターフェース３６は、ローカル接続されたプリンタコントローラ２と通信するためのインタフェースである。
【００４６】
なお、ＰＣ１、プリンタコントローラ２、およびプリンタ３は、それぞれ上述した構成要素以外の構成要素を含んでいてもよく、あるいは、上述した構成要素のうちの一部が含まれていなくてもよい。
【００４７】
次に、ＰＣ１から印刷データを送信する時のＰＣ１の動作について説明する。
【００４８】
文書を作成する文書作成アプリケーションには大きく２つのタイプが存在する。
【００４９】
１つは、作成した文書を予めインストールしておいたプリンタドライバ経由で印刷するタイプである。このタイプの場合、アプリケーションで作成された文書はプリンタドライバにて印刷データ（ＰＤＬデータ）に変換され、その印刷データはオペレーションシステムのプリントキューを使ってプリンタコントローラへ送信される。このタイプの文書作成アプリケーションを使用して同時に印刷する場合は、全てプリントキューによって管理され１つずつ順番にプリンタコントローラで印刷データ送信される。送信するときのタイムアウト値はプリントキューに割り当てられた出力ポートに設定されており、ユーザによって変更可能、あるいは固定となっている。
【００５０】
もう１つは、作成した文書をアプリケーションにて印刷データ（ＰＤＬデータ）に変換し、変換した印刷データを、プリントキューを使用せずに直接プリンタコントローラへ送信するタイプである。このタイプの送信タイムアウト値はアプリケーションにて設定されており、ユーザによって変更可能、あるいは固定となっている。
【００５１】
次に、本実施形態の印刷システムの動作について説明する。本実施形態の印刷システムにおける印刷手順の概略は以下の通りである。
【００５２】
まず、ＰＣ１において所定の文書ファイルに基く印刷を実行するために、プリンタドライバが起動させられると、ＰＣ１は、印刷に関する設定を行うための図示しない印刷設定画面をディスプレイ１５に表示してユーザに提供する。続いて、ＰＣ１は、ユーザの操作に基いて、印刷設定画面上で印刷方法の指定を受け付けた後、ユーザによる印刷指示を受け付ける。ＰＣ１は、印刷指示を受け付けると、文書ファイルを印刷データに変換し、印刷ジョブとして画像形成装置４に送信する。続いて、画像形成装置４のプリンタコントローラ２は、ＰＣ１から受信した印刷データを翻訳してビットマップ形式の画像データを生成し、当該画像データを画像形成装置４のプリンタ３に転送する。そして、プリンタ３は、受信した画像データに基づく画像を、指定された用紙に印刷する。
【００５３】
図５は、ＰＣ１における印刷ジョブの送信処理の手順を示すフローチャートである。なお、図５のフローチャートにより示されるアルゴリズムは、ＰＣ１のハードディスク１４等の記憶部にプログラムとして記憶されており、ＣＰＵ１１によってＲＡＭ１３上で実行される。
【００５４】
まず、ＰＣ１においてユーザの操作に基いてプリンタドライバが起動させられ、プリンタドライバは印刷指示があったか否かを判断し（Ｓ１０１）、印刷指示があるまで待機する（Ｓ１０１：ＮＯ）。
【００５５】
印刷指示があったと判断された場合（Ｓ１０１：ＹＥＳ）、プリンタドライバは、当該プリンタドライバにおいて設定された出力ポートを調べ、その出力ポートに対してタイムアウト値を変更して設定する機能があるか否かを判断する（Ｓ１０２）。またここで、印刷対象の文書ファイルが変換されて印刷データが作成される。タイムアウト値とは、前述したように、ＰＣ１が処理停止となることなく印刷ジョブに関する応答を待つことが可能な時間をいう。
【００５６】
そして、出力ポートに対してタイムアウト値を変更して設定する機能があると判断された場合（Ｓ１０２：ＹＥＳ）、当該出力ポートに設定されているタイムアウト値が取得される（Ｓ１０３）。
【００５７】
一方、出力ポートに対してタイムアウト値を変更して設定する機能がないと判断された場合（Ｓ１０２：ＮＯ）、当該出力ポートに固定的に設定されたタイムアウト値が取得される（Ｓ１０４）。例えば、Ｗｉｎｄｏｗｓ（登録商標）のＲａｗＰｏｒｔ（Ｐｏｒｔ９１００）は、タイムアウト値を変更して設定する機能がなく、固定のタイムアウト値が９０秒に設定されている。
【００５８】
ステップＳ１０５では、取得されたタイムアウト値の情報が、ＰＪＬ（ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅ）等のプリンタ記述言語を用いて、印刷データに付加される。
【００５９】
続いて、タイムアウト値の情報が付加された印刷データが、印刷ジョブとして画像形成装置４に送信される（Ｓ１０５）。
【００６０】
図６は、プリンタコントローラ２における印刷ジョブの受信処理の仕組みを示すフローチャートである。なお、図６のフローチャートにより示されるアルゴリズムは、プリンタコントローラ２のハードディスク２４等の記憶部にプログラムとして記憶されており、ＣＰＵ２１によってＲＡＭ２３上で実行される。
【００６１】
まず、ＰＣ１から送信された印刷ジョブを、プリンタコントローラにて受信すると、プリンタコントローラでは受信データが印刷データかどうか判別処理を行う（Ｓ２０１）。印刷データであった場合は印刷データ受信タスクを作成し、その印刷データの処理をタスクにて行う（Ｓ２０２）。複数のＰＣから印刷ジョブが送られてきた場合などは、その印刷ジョブごとに印刷データ受信タスクを作成し、それぞれ受信処理を行う。
【００６２】
図７は、図６で示した印刷データ受信タスクの受信処理手順を示すフローチャートである。なお、図７のフローチャートにより示されるアルゴリズムは、プリンタコントローラ２のハードディスク２４等の記憶部にプログラムとして記憶されており、ＣＰＵ２１によってＲＡＭ２３上で実行される。
【００６３】
まず、ＰＣ１から、印刷データが１パケット分、受信される（Ｓ３０１）。このように、ネットワーク５上では、印刷データは一塊で送信されるわけではなく、パケット（ｐａｃｋｅｔ）という単位に分割されて送信される。したがって、印刷データは、一般に、１パケットごとに受信されて処理される。受信された印刷データは、例えばＲＡＭ２３内に領域が割り当てられた受信バッファに、印刷ジョブとして一時的に格納される。このような受信バッファは、複数の印刷ジョブを格納しておくことができる。一般的には、一番初めに受信した印刷ジョブから実行されて印刷が開始され、実行待ちの印刷ジョブは、ＲＡＭ２３等の記憶部に記憶される予約リストにおいて予約されて管理される。
【００６４】
続いて、受信した印刷データが解析されて、当該印刷データにタイムアウト値の情報が付加されているか否かが判断される（Ｓ３０２）。印刷データにタイムアウト値の情報が付加されていない場合（Ｓ３０２：ＮＯ）、ステップＳ３０４に進む。
【００６５】
印刷データにタイムアウト値の情報が付加されている場合（Ｓ３０２：ＹＥＳ）、タイムアウト値に応じてディレイ値が調整される（Ｓ３０３）。ここでは、ディレイ値は、一つのパケットを受信するごとに挿入される待ち時間（休止時間）である。具体的には、ディレイ値は、タイムアウト値に応じて当該タイムアウト値よりも所定時間だけ短い値に調整される。ここで、所定時間とは例えば１秒等の僅かな時間である。
【００６６】
例えばＰＣ１の出力ポートのタイムアウト値が９０秒である場合、ディレイ値は９０秒未満にセットされる必要があるため、ディレイ値は例えば８９秒等のタイムアウト値よりも若干短い値に調整される。
【００６７】
続いて、受信バッファの使用可能容量が基準値以下となったか否かが判断される（Ｓ３０４）。基準値としては、所定のバイト数であってもよく、あるいは受信バッファに割り当てられた容量全体に対する所定の割合（例えば２０％）であってもよい。受信バッファの使用可能容量が基準値よりも多い場合には（Ｓ３０４：ＮＯ）、ステップＳ３０６に進む。
【００６８】
受信バッファの使用可能容量が基準値以下となった場合（Ｓ３０４：ＹＥＳ）、印刷データ受信速度遅延処理が行われる（Ｓ３０５）。ここでは、１パケットを受信するごとに、ディレイ値で示される時間が、待ち時間（休止時間）として挿入される。これにより、簡単な処理で印刷データの受信速度を遅延させることが可能である。この印刷データ受信速度遅延処理の実行により、受信バッファの記憶容量が一杯、すなわち、バッファフルになる事態を先延ばしにすることができる。したがって、印刷ジョブの受信速度を遅くしている間に予約されている印刷ジョブを実行して、受信バッファの空き容量を確保することが可能となり、印刷ジョブを滞りなく受信することができる。
【００６９】
ステップＳ３０５の印刷データ受信速度遅延処理では、ステップＳ３０３でディレイ値が調整された場合には調整後のディレイ値が用いられる。すなわち、ディレイ値はタイムアウト値よりも所定時間だけ短い値に調整されているため、１パケットの受信確認後に出される受信応答は、タイムアウト値よりも短い間隔で画像形成装置４からＰＣ１に送信される。これにより、ＰＣ側でのタイムアウトエラーの発生を防止することができる。
【００７０】
但し、ステップＳ３０２で印刷データにタイムアウト値の情報が付加されていないと判断された場合には、ステップＳ３０５の印刷データ受信速度遅延処理において、予め画像形成装置４において設定されたディレイ値が用いられる。
【００７１】
ステップＳ３０６では、印刷データ全体の受信が完了したか否かが判断される。すなわち、印刷ジョブ全体が受信されたか否かが判断される。未だ受信していない印刷データが残っている場合には（Ｓ３０６：ＮＯ）、ステップＳ３０１に戻る。
【００７２】
印刷データ全体の受信が完了したと判断された場合（Ｓ３０６：ＹＥＳ）、図７に示す印刷ジョブの受信処理が終了する。
【００７３】
上述のように本実施形態では、印刷ジョブ受信装置としてのプリンタコントローラ２は、タイムアウト値についての情報を印刷指示装置としてのＰＣ１から取得して、印刷ジョブの受信速度を前記タイムアウト値に応じて調整する。
【００７４】
したがって、ネットワークトラフィックの増大や印刷ジョブの管理処理の複雑化を生じさせることなく、印刷ジョブ送信側でのタイムアウトエラーの発生を防止しつつ印刷ジョブを滞りなく受信できるように制御することができる。これにより、印刷処理性能の向上が図られる。
【００７５】
次に、本発明の第２の実施形態について、第１の実施形態と異なる点を中心に説明する。受信バッファに印刷ジョブとして一時格納中のデータ量の飽和につながる所定の条件を満たすか否かは、第１の実施形態では受信バッファの使用可能容量が所定の基準値以下であるか否かによって判断されるが、第２の実施形態では実行待ちの状態となっている印刷ジョブの数が所定の基準数以上であるか否かによって判断される。
【００７６】
図８は、本発明の第２の実施形態にかかる印刷データ受信タスクの受信処理の手順を示すフローチャートである。
【００７７】
ステップＳ４０１〜Ｓ４０３、Ｓ４０５、Ｓ４０６は、図７のステップＳ３０１〜Ｓ３０３、Ｓ３０５、Ｓ３０６とそれぞれ同様であるため説明を省略する。
【００７８】
ステップＳ４０４では、実行待ちの印刷ジョブの数が基準数以上となったか否かが判断される。本実施形態は、最大予約ジョブ数が決められている場合に適用されることが好ましい。この場合、最大予約ジョブ数に対して或る割合の数が、閾値として用いられる。例えば最大予約ジョブ数が２００個の場合、閾値（基準数）は例えば１５０個とされる。実行待ちの印刷ジョブの数が基準数よりも少ない場合には（Ｓ４０４：ＮＯ）、ステップＳ４０６に進む。
【００７９】
実行待ちの印刷ジョブの数が基準数以上となった場合（Ｓ４０４：ＹＥＳ）、印刷データ受信速度遅延処理が行われる（Ｓ４０５）。すなわち、１パケットを受信するごとに、ディレイ値で示される時間が、待ち時間（休止時間）として挿入される。
【００８０】
したがって、第２の実施形態によっても、第１の実施形態と同様の効果を得ることができる。
【００８１】
本発明は、上記した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【００８２】
例えば、上記実施形態では、画像形成装置４のプリンタコントローラ２が、タイムアウト値についての情報を含む印刷ジョブをＰＣ１から受信し、当該印刷ジョブの中に含まれるタイムアウト値についての情報を取得する場合について説明した。このような構成によれば、受信した印刷ジョブの送信元ごとに最適なディレイ値に調整することが可能となる。但し、本発明は上記の場合に限定されるものではない。本発明では、例えば、ＰＣ１のプリンタドライバにおいて設定された出力ポートのタイムアウト値が変更された場合、そのタイムアウト値の情報を該当する画像形成装置のプリンタコントローラに通知し、通知を受けたプリンタコントローラが印刷ジョブの受信速度を前記タイムアウト値に応じて調整するように構成されることもできる。
【００８３】
また、上記実施形態では、画像形成装置４がプリンタコントローラ２とプリンタ３に分けられ、互いにローカル接続された構成の場合について述べたが、本発明はこれに限定されるものではない。本発明では、プリンタコントローラ２がプリンタ３の中に内包されていてもよく、例えば画像形成装置４が１台のＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）として構成されていてもよい。
【００８４】
本実施形態の印刷システムにおける各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、例えばフレキシブルディスクやＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施形態にかかる印刷システムの全体構成を示すブロック図である。
【図２】図１に示されるＰＣの構成を示すブロック図である。
【図３】図１に示される画像形成装置のプリンタコントローラの構成を示すブロック図である。
【図４】図１に示される画像形成装置のプリンタの構成を示すブロック図である。
【図５】ＰＣにおける印刷ジョブの送信処理の手順を示すフローチャートである。
【図６】プリンタコントローラにおける印刷ジョブの受信処理の仕組みを示すフローチャートである。
【図７】図６に示される印刷データ受信タスクの受信処理の手順を示すフローチャートである。
【図８】本発明の第２の実施形態にかかる印刷データ受信タスクの受信処理の手順を示すフローチャートである。
【符号の説明】
【００８６】
１  ＰＣ、
２  プリンタコントローラ、
３  プリンタ、
４  画像形成装置、
５  ネットワーク、
１１、２１、３１  ＣＰＵ、
１２、２２、３２  ＲＯＭ、
１３、２３、３３  ＲＡＭ、
１４、２４  ハードディスク、
１５  ディスプレイ、
１６  入力装置、
１７、２６  ネットワークインタフェース、
１８、２７、３７  バス、
２５  プリンタインタフェース、
３４  操作パネル部、
３５  印刷部、
３６  コントローラインターフェース。
【図１】
2009126014.tif 000003
【図２】
2009126014.tif 000004
【図３】
2009126014.tif 000005
【図４】
2009126014.tif 000006
【図５】
2009126014.tif 000007
【図６】
2009126014.tif 000008
【図７】
2009126014.tif 000009
【図８】
2009126014.tif 000010