(57)【要約】【課題】  クライアントコンピュータからプリンタ側への印刷ジョブ（印刷データ）の出力に際しての処理負荷を軽減しつつ、且つ、印刷順番を従来に比べより確実に保証する仕組みを目的とする。【解決手段】  プリンタ７がクライアントコンピュータからの占有要求（Ｓ４０４でＹＥＳ）を受け、占有の許可を判定する（Ｓ４１６乃至４１８）。判定結果に基づき占有の可否を示す応答を行い（Ｓ４２２）、許可しないと判定した場合に、要求元を識別するための識別子を接続拒否情報リスト２０２に登録する（Ｓ４２４）。その後に占有が解放されると、登録した識別子を伴う占有要求であれば占有を許可し（Ｓ４１８でＹＥＳ）、そうでなければ占有を許可しない（Ｓ４１８でＮＯ）。【選択図】  図４
2006309717.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と通信可能な印刷制御装置であって、
前記情報処理装置から要求される印刷制御装置の占有要求を受け、占有の可否を判定する判定手段と、
前記判定手段による判定に基づき、前記占有の可否を示す応答を行う第１応答手段と、前記判定手段により占有を許可しないと判定した場合に、占有要求元を識別するための識別子を登録する登録手段と、
前記判定手段は、占有を許可しないと判定した場合に、前記識別子を伴う占有要求があれば占有を可と判定し、前記識別子を伴わない占有要求に対しては占有を否と判定することを特徴とする印刷制御装置。
【請求項２】
接続要求を受けたことに応じて接続可否を示す応答を行う第２応答手段を有し、前記情報処理装置は前記第２応答手段による応答に基づいて占有要求を発行することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記第２応答手段による応答はトランスポート層以下の通信階層であり、前記第１応答手段による応答はトランスポート層よりも上の通信階層で行われることを特徴とする請求項２に記載の印刷制御装置。
【請求項４】
前記第１応答手段による応答はトランスポート層以下の通信階層におけるコマンドであることを特徴とする請求項１又は２に記載の印刷制御装置。
【請求項５】
前記情報処理装置は、前記第１応答手段による応答に応じて、印刷ジョブの送信が終了しなくとも接続を切断し、再び再接続を行うことを特徴とする請求項１乃至４の何れかに記載の印刷制御装置。
【請求項６】
前記登録手段により登録を行った識別子に対応して占有要求が所定条件において無い場合に、対応する識別子を削除する削除手段を有することを特徴とする請求項１乃至５の何れかに記載の印刷制御装置。
【請求項７】
前記占有が解放され且つ登録手段により識別子が登録されている場合に占有要求があると、前記判定手段は、該占有要求に対応する識別子の優先度と前記登録されている識別子の優先度とを比較し、該比較に基づく判定を行うことを特徴とする請求項１乃至６の何れかに記載の印刷制御装置。
【請求項８】
前記識別子に対応する優先度は前記情報処理装置からの設定指示に基づき設定されることを特徴とする請求項１乃至７の何れかに記載の印刷制御装置。
【請求項９】
前記情報処理装置では、前記第１応答手段による応答に応じたメッセージ表示が行われることを特徴とする請求項１乃至８の何れかに記載の印刷制御装置。
【請求項１０】
プリンタの占有順の制御方法であって、
情報処理装置から要求される印刷制御装置の占有要求を受け、占有の可否を判定する第１判定工程と、
前記第１判定工程における判定に基づき、前記占有の可否を示す応答を行う第１応答工程と、
前記第１判定工程により占有を許可しないと判定した場合に、占有要求元を識別するための識別子を登録する登録手工程と、
占有を許可しないと判定した場合に、前記識別子を伴う占有要求があれば占有を可と判定し、前記識別子を伴わない占有要求に対しては占有を否と判定する第２判定工程とを有することを特徴とする制御方法。
【請求項１１】
接続要求を受けたことに応じて接続可否を示す応答を行う第２応答工程を有し、前記情報処理装置は前記第２応答工程による応答に基づいて占有要求を発行することを特徴とする請求項１０に記載の制御方法。
【請求項１２】
前記第２応答工程における応答はトランスポート層以下の階層であり、前記第１応答工程における応答はトランスポート層よりも上の階層であることを特徴とする請求項１１に記載の制御方法。
【請求項１３】
前記第１応答工程における応答はトランスポート層以下の通信階層におけるコマンドであることを特徴とする請求項１０乃至１２の何れかに記載の制御方法。
【請求項１４】
前記情報処理装置は、前記第１応答工程における応答に応じて、印刷ジョブの送信が終了しなくとも接続を切断し、再び再接続を行うことを特徴とする請求項１０乃至１３の何れかに記載の制御方法。
【請求項１５】
前記登録工程により登録を行った識別子に対応して占有要求が所定条件において無い場合に、対応する識別子を削除する削除工程を有することを特徴とする請求項１０乃至１４の何れかに記載の制御方法。
【請求項１６】
前記占有が解放され且つ登録工程により識別子が登録されている場合に占有要求があると、前記第１判定工程は、該占有要求に対応する識別子の優先度と前記登録されている識別子の優先度とを比較し、該比較に基づく判定を行うことを特徴とする請求項１０乃至１５の何れかに記載の制御方法。
【請求項１７】
前記識別子に対応する優先度は前記情報処理装置からの設定指示に基づき設定されることを特徴とする請求項１０乃至１６の何れかに記載の制御方法。
【請求項１８】
前記情報処理装置では、前記第１応答工程による応答に応じたメッセージ表示が行われることを特徴とする請求項１０乃至１７の何れかに記載の制御方法。
【請求項１９】
請求項１０乃至１８の何れかに記載の制御方法をコンピュータに実行させるためのプログラムをコンピュータ可読の形態で記憶した記憶媒体。
【請求項２０】
請求項１０乃至１８の何れかに記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷順番を保証する仕組みに関する。
【背景技術】
【０００２】
オフィス環境などにおいて、一台のプリンタが複数のクライアントコンピュータによって共有される形態が普及している。
【０００３】
このような共有プリンタの形態をとる場合に、印刷ジョブをクライアントコンピュータからプリンタに送信するためのコネクション数に制限がある為、他のクライアントコンピュータがプリンタを占有しているとコネクションを張ることが出来ないことがある。
【０００４】
その結果、最初にプリンタの占有を試みたクライアントコンピュータが占有を拒否され、次に別のクライアントコンピュータがプリンタの占有を試みた場合に、偶然プリンタの占有が解除されていると、プリンタを占有してしまう。このように、印刷要求順と、印刷データ転送順と、が一致しないという問題があった。
【０００５】
このような問題を鑑みた技術が特許文献１に開示されている。具体的には、まず、共有プリンタが、印刷要求元のクライアントコンピュータに対し、印刷予約コードを含むパケットを応答する。そして、プリンタ側で印刷処理が完了する毎に、次順に予約されているクライアントコンピュータに印刷予約コードを含む印刷データ転送要求を行う。
【０００６】
さらに、上記問題を鑑みた技術が特許文献２も開示されている。具体的には、まず、クライアントコンピュータからの印刷要求に応じて、印刷要求元のクライアントコンピュータＩＰアドレス及びジョブのジョブＩＤを組にジョブ予約として登録する。そして、予約がきたクライアントコンピュータ（ＩＰアドレス）に同ジョブ予約に含まれるジョブＩＤのジョブ転送を要求する。
【特許文献１】特開平０２−１４６６１８号公報
【特許文献２】特開２００１−０１４１１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１では、クライアントコンピュータからプリンタ側への印刷ジョブ（印刷データ）の出力に際して、プリンタ側が主体となるため処理が複雑化するという問題があるこの問題については、特許文献２についても同様のことがいえる。
【課題を解決するための手段】
【０００８】
本願発明は上記問題点に鑑みてなされたものであり、クライアントコンピュータからプリンタ側への印刷ジョブ（印刷データ）の出力に際しての処理負荷を軽減しつつ、且つ、印刷順番を従来に比べより確実に保証する仕組みを目的とする。
【０００９】
そして、情報処理装置と通信可能な装置において、前記情報処理装置から要求される印刷制御装置の占有要求を受け、占有の可否を判定する判定手段と、前記判定手段による判定に基づき、前記占有の可否を示す応答を行う第１応答手段と、前記判定手段により占有を許可しないと判定した場合に、占有要求元を識別するための識別子を登録する登録手段と、前記判定手段は、占有を許可しないと判定した場合に、前記識別子を伴う占有要求があれば占有を可と判定し、前記識別子を伴わない占有要求に対しては占有を否と判定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、従来に比べてクライアントコンピュータからプリンタ側への印刷ジョブ（印刷データ）の出力に際しての処理負荷を軽減し、且つ、印刷順番をより確実に保証することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の発明を実施するための最良の形態について図面を用いて説明する。
【００１２】
［第１実施形態］
図１は本実施形態におけるシステムの概略を示すブロック図である。図中、ＰＣ１およびＰＣ１１はコンピュータで、ＣＰＵ、メモリ、ハードディスク、フロッピー（登録商標）ディスクドライブ、キーボード、マウス、モニタ、ネットワークインタフェース等の一般的な情報処理装置におけるハードウェア（不図示）を備える。このコンピュータのことを本実施形態では、以下、クライアントと呼ぶことする。
【００１３】
２および１２はオペレーティングシステムである。クライアント１または１１が備えるハードウェア、およびアプリケーション３または１３、プリンタドライバ４または１４、ランゲージモニタ５または１５、ネットワークポートドライバ６または１６などのソフトウェアを管理する。代表的なオペレーティングシステムとしては、例えばマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）などが挙げられる。
【００１４】
アプリケーション３または１３は、例えばワードプロセッサのような文書や図形の作成・編集、写真画像を編集する機能を備える。また、作成・編集したアプリケーションデータに基づく印刷指示を行うこともできる。
【００１５】
４および１４はプリンタドライバである。アプリケーション３または１３が発行した印刷指令を読み込み（又はオペレーティングシステム２または１２を経て受け取り）、該印刷指令をランゲージモニタ５又は１５又はプリンタ７が解釈可能なプリンタコマンドに変換する。
【００１６】
５および１５はランゲージモニタであり、プリンタドライバ４または１４が出力したプリンタコマンドを受け取り、ネットワークポートドライバ６または１６を経由してプリンタ７に送信する。クライアントコンピュータベースの印刷システムではこの送信はプリンタの詳細な状態を受信しながらプリンタの印刷状況に合わせて行う必要があり、その処理はランゲージモニタで行われる。ＰＤＬタイプの印刷システムにおいては、その処理が多少軽減されているものと考えられる。
【００１７】
６およびはネットワークポートドライバである。ランゲージモニタ５または１５が出力したプリンタコマンドをネットワークインタフェースを経てプリンタ７に送信するとともに、プリンタ７からステータスを受信した場合にはランゲージモニタ５または１５に出力する。７はプリンタであり、ネットワークポートドライバ６または１６から受信したプリンタコマンドに従って印刷に関連する各種処理を行う。
【００１８】
図２の（ａ）は図１のプリンタ７の構成を更に詳細に示したブロック図である。図中、２１はネットワークインタフェースであり、クライアント１または１１からプリンタコマンドなどの各種コマンドを受信する。２６は所謂プリンタコントローラと呼ばれる部分であり各種機能を備える。
【００１９】
２２はＦＩＦＯ（ファーストインファーストアウト）メモリであり、ネットワークインタフェース２１から受信した画像データを格納する。復号回路２３はＦＩＦＯメモリ２２に記憶された画像データを復号し、プリンタエンジン２４に出力する。プリンタエンジン２４は、レーザビームプリンタエンジンであり、制御回路２５の指示により、復号回路２３が出力した画像データに従って印刷を行う。２５は制御回路であり、例えば１チップＣＰＵで構成され、ネットワークインタフェース２１との内部的な通信、ＦＩＦＯメモリ２２、復号回路２３およびプリンタエンジン２４の制御を行う。
【００２０】
図２の（ｂ）は図２のネットワークインタフェース２１又はプリンタコントローラ７に保持される情報を示す。
【００２１】
２０１は優先度リストの一例である。後述の図９を通してクライアントコンピュータより設定することができる。たとえば、“１９２．１６８．０．１０：５“は、ＩＰアドレスが１９２．１６８．０．１０で、優先度が５であることを示す。本実施形態の場合には、数字が小さいほど優先度が高いことを示している。
【００２２】
２０２は接続拒否情報リストの一例である。リスト中の各々は、接続を拒否されたクライアントを識別する識別子（接続拒否情報と呼ぶこともある）を示す。この接続拒否情報リスト２０２は後述の図４のＳ４２４で作成される情報である。また、リスト上部に示される識別子が時系列的に先に登録されたことを示している。また図中の２０３はタイマー値を示しており、所定条件が満たされると（例えばタイムアウト発生）該当する識別子が接続拒否情報リストから削除される。詳しい処理は後述の図４で説明する。
【００２３】
なお、２０２中では、識別子としてＩＰアドレスが示されているが、これには限定されない。たとえば、クライアントコンピュータ名、ユーザ名、ＭＡＣアドレス、グループ識別子、その他の識別子などを適用することもできる。
【００２４】
図３は、図２のネットワークインタフェース２１における、ネットワークプロトコルの構成を表す図である。
【００２５】
下方のイーサネット（登録商標）ネットワークから各プロトコルによってネットワークインタフェース内へそしてインタフェース内からネットワークへデータが入出力される。上方はプリンタであり、プロトコルにより、プリンタへ到達するものもあれば、ネットワークインタフェース内だけで処理がされるプロトコルも存在する。（Ａ）は印刷用のプロトコルであり、ＴＣＰのプロトコルでネットワークインタフェースに到達し、ネットワークインタフェースはその中身をプリンタインタフェースを通して、プリンタへ送信する。プリンタからの応答についてもＴＣＰプロトコルでクライアントコンピュータへ返送する。（Ｂ）はリソース制御用のプロトコルであり、これは各種のプリンタに関するログ情報である。この情報は、ネットワークインタフェースとプリンタがプリンタの印刷処理に合わせて通信を非同期に行い、ネットワークインタフェース内にそのリソース情報を持っているものである。よって、ネットワークからのリソース制御用プロトコルに対してはネットワークインタフェースが処理を行い、返信する。（Ｃ）のＳＮＭＰプロトコルに対しては、プリンタまで処理を行わせる部分とネットワークインタフェースが処理を行う部分もあるということを示している。他の（Ｄ）（Ｅ）（Ｆ）についても同様の動作を表している。
【００２６】
以下、図１乃至図３で説明した印刷システムにおける印刷動作の一例について説明する。
【００２７】
まず、操作者がクライアントコンピュータ１側でアプリケーション３を操作して印刷を指示すると、アプリケーション３からオペレーティングシステム２を経由してプリンタドライバ４に印刷指令が渡される。プリンタドライバ４はアプリケーション３から発行された印刷指令に基づき、画像データに変換して圧縮し、圧縮した画像データを出力する。また、この画像データを、用紙サイズ、ビットマップデータのラインの長さとライン数などを指定するページ開始コマンド、画像データの終了を示す画像データ終了コマンドとともに出力する。
【００２８】
プリンタコマンドが出力されると、オペレーティングシステム２はランゲージモニタ５にジョブ開始を通知した後に、出力されたプリンタコマンドを順次ランゲージモニタに引き渡す。ランゲージモニタ５はジョブが開始されると、ネットワークポートドライバ６を介して占有要求コマンドをプリンタ７に送信する。
【００２９】
ランゲージモニタ５はプリンタの占有に成功すると、受け取ったプリンタコマンドを順次プリンタ７に送信する。なおランゲージモニタ５は画像データコマンドをプリンタ７に送信する前に、ステータス要求コマンドを送信し、プリンタ７のステータスを取得して、画像データコマンドが送信可能であることを確認する。ランゲージモニタ５は、１ページのプリンタコマンドを送信し終えると、印刷要求コマンドを送信する。制御回路２５は、印刷要求コマンドを受信すると、プリンタエンジン２４に対して印刷開始を指示する。また、ランゲージモニタ５は、取得したプリンタステータスがページの印刷が正常終了したことを示した場合には、該当するページメモリを解放する。一方、ランゲージモニタ５は、取得したプリンタステータスがエラーを示した場合には、印刷が正常終了していないページから再送信を試みる。
【００３０】
そしてジョブの全ページのプリンタコマンドを転送し終えると、ランゲージモニタ５は排紙完了を待たずに占有解除コマンドを送信する。また、ランゲージモニタ５は、占有解除コマンドを送信した後もプリンタ７のステータス取得を続ける。そして、取得したプリンタステータスがページの印刷が正常終了したことを示した場合には、該当するページメモリを解放するとともに、エラーを検出した場合には、再度占有要求コマンドを送信し、エラーページの回復を試みる。
【００３１】
尚、上述の印刷動作の一例の説明ではプリンタドライバが印刷データとしてビットマップ画像データを生成する例について説明したが、本実施形態はこれに限定されない。例えば、キヤノン株式会社のＬＩＰＳ、ＡｄｏｂｅＳｙｓｔｅｍｓ社のＰｏｓｔＳｃｒｉｐｔ３などの、所謂ページ記述言語にも適用可能であり、プリンタが解釈し最終的に記録媒体への記録を行う為の様々な形式のデータに適用できる。また、尚、適用可能なプリンタとしてはレーザビームプリンタに限らず、インクジェットプリンタやその他のプリント方式のプリンタのものを挙げることが出来る。
【００３２】
次に図４を用いて、図２のネットワークインタフェース２１（プリンタ）の処理を詳細に説明する。以下ではまず図４の（ａ）のＳ４０１乃至４０４について説明し、次に（１）Ｓ４０４でＹＥＳと判定した場合の処理、次に（２）Ｓ４０４でＮＯと判定した場合の処理、最後に図４の（ｂ）について順次説明を行う。
【００３３】
まずＳ４０１でセッション処理を行う。より具体的にはＴＣＰプロトコルにおけるＳＹＮに対する処理を行う。ＴＣＰプロトコルがトランスポート層であることは図３で説明した通りである。そしてＳ４０２で接続拒否情報リストに登録される識別子が最大値を超えているか否かを判定する。
【００３４】
Ｓ４０２でＹＥＳ、つまり接続拒否情報リスト２０２へのクライアントコンピュータ識別子の登録数がＭＡＸ（最大値）であれば、クライアントコンピュータに対してＲＥＳＥＴ応答を行う（Ｓ４２８）。このＭＡＸ値については０以上の値を想定することができる。クライアントコンピュータ識別子の登録数に制限を施すことによりメモリを節約することが出来る。
【００３５】
尚、Ｓ４０２の判定処理で、プリンタ制御やステータス応答など別の通信ポートを介して接続要求があった場合には、クライアントコンピュータ識別子の登録数に係らず、ＮＯと判定する。
【００３６】
一方、Ｓ４０２でＮＯと判定されれば、このネットワークインタフェース２１は外部から受信した各種コマンドに応じた処理を行う。以下、その説明を詳細に行う。まずＳ４０３で、クライアント１やクライアント１１などの外部装置から送信されてくるコマンドの受信を行う。Ｓ４０３でＹＥＳと判定された場合には、Ｓ４０４以降でコマンドの種類を判定する。一方、Ｓ４０３でＮｏと判定されると処理をＳ４０１に戻しコマンド受信を待機する。
【００３７】
Ｓ４０４では、占有要求コマンドを受信したか否かを判定する。具体的にはコマンド番号を識別し占有要求コマンドを識別する。ここで、占有要求コマンドとは印刷データの通信のための通信ポートの確保と解釈することもできる。結果として印刷データ（印刷ジョブ）のためのポートを確保することにより、印刷出力にかかわるプリンタの機能を占有することができる。この占有した状態を以下占有状態と呼ぶ。尚、プリンタがステータス要求を受け応答するための通信ポートが、印刷データ（印刷ジョブ）を受信する通信ポートとは別の場合には、このステータス応答における占有状態と上記占有状態とは区別することとする。例えば、図５のＳ５０１のＰＣ１からの占有要求や、図６のＳ６０２のＰＣ２からの占有要求などが、Ｓ４０４でＹＥＳと判定されるクライアントコンピュータからの要求に対応する。
【００３８】
以下、クライアントコンピュータから要求されるプリンタの占有要求を受け、その占有の可否がＳ４０４でＹＥＳと判定され、Ｓ４２２に至るまでの処理について説明をする。
【００３９】
（１）〔Ｓ４０４でＹＥＳと判定された場合〕
Ｓ４０４でＹＥＳと判定されると、Ｓ４１５では、ネットワークインタフェース２１（或いはプリンタ７としても良い）が既に占有状態であるかを判定する。例えば図６のＳ６０１で示されるように、ＰＣ１からの印刷データ（ジョブ）の送信中の場合に、Ｓ４１５でＹＥＳと判定される。
【００４０】
Ｓ４１５でＮＯと判定されれば処理をＳ４１６へ、ＹＥＳと判定されれば処理をＳ４２３へ移行する。まずＳ４１６へ移行した場合について説明する。
【００４１】
Ｓ４１６では、ネットワークインタフェース２１に接続拒否情報リスト２０２中に占有要求を行おうとしたクライアントの識別子が登録されているか否かを判定する。
【００４２】
Ｓ４１６でＮＯと判定すれば、Ｓ４１９に処理を移行する。一方、ＹＥＳと判定すればＳ４１７に移行して、接続拒否情報リスト２０２中に登録されている単数または複数のクライアント識別子と、占有要求元のクライアント識別子との優先度を比較する。優先度については図２で説明した通りである。
【００４３】
Ｓ４１７での比較結果占有要求元のクライアント識別子が接続拒否情報リスト２０２中のクライアント識別子の優先度よりも高ければ、要求もとのクライアントコンピュータによるプリンタの占有を行わせるべくＳ４０３に移行する。
【００４４】
一方、Ｓ４１７での比較結果占有要求元のクライアント識別子が接続拒否情報リスト２０２中のクライアント識別子以下であると判定すると処理をＳ４１８に移行する。そして、接続拒否情報リスト２０２中で最も接続優先されるべき（時系列的に一番早く登録されたものに相当）クライアント識別子と占有要求元のクライアント識別子とが一致するか否かを判定する。
【００４５】
Ｓ４１８の判定結果、ＹＥＳと判定されれば、プリンタの占有を行わせるべく処理をＳ４１９に移行し、ＮＯと判定されれば、処理をＳ４２３に処理を移行させる。例えば図７におけるＳ７０１の占有要求に対応する判定（Ｓ７０２）がＳ４１８でＮＯと判定される場合に対応する。また、例えば図８におけるＳ８０２がこのＳ４１８でＹＥＳと判定される場合に対応する。
【００４６】
Ｓ４１９では、印刷データ用（或は印刷ジョブ用）の通信ポートの確保を行う（図中では、ＮＩＣの占有処理と記載）。そしてＳ４２０で、プリンタコントローラ２６に占有要求を通知し、Ｓ４２１では、Ｓ４２０の通知に対するプリンタコントローラ２６からの応答を得て、それに応じたクライアントコンピュータに返送すべき値（たとえば後述する図１３ではＯＫ）を設定する。
【００４７】
Ｓ４２２では、この場合Ｓ４２１で設定された値に基づく応答を占有要求元のクライアントコンピュータに対して行う。このとき、Ｓ４０４の占有要求（接続要求）を受けたことに応じて、現在占有中の接続（通信）と平行して接続（通信）を行い、一時的に２本のセッションを張ることになる。Ｓ４２２の処理の後に、処理をＳ４０１に戻すように示されているが、一旦接続を張った状態において再度Ｓ４０１のセッション処理や、Ｓ４０２の処理を行う必要はない。そして、Ｓ４０９経由でＳ４０１に処理を戻した場合には、Ｓ４０１、Ｓ４０２の処理は省略され、Ｓ４０３の処理へ移行するものとする。
【００４８】
一方、Ｓ４１５でＹＥＳと判定すると、接続予約を行わせるべく、処理をＳ４２３へ移行する。Ｓ４２３では接続拒否情報リスト２０２中に、占有要求を行ってきたクライアントコンピュータの識別子が既に登録されているか否かを、リストを解析することにより判定する。
【００４９】
Ｓ４２３でＹＥＳと判定されると、該当する識別子に対するタイマー値をリセットし、Ｓ４２７へ処理を移行する。Ｓ４２３でＮＯと判定されると処理をＳ４２４へ移行する。
【００５０】
Ｓ４２４では、接続拒否情報リスト２０２中に新たに占有要求元のクライアントコンピュータ識別子を登録する。このＳ４２４での、占有要求元を識別するための識別子を登録することにより、以後印刷制御装置の占有の解放に応じて、登録された識別子を伴う占有要求があれば占有を可と判定する。他方識別子を伴わない占有要求に対しては占有を否と判定でき、印刷順番の正当性をより確実に保証することが可能となる。
【００５１】
また、このときクライアント情報を参照し、優先度を対にしてクライアント識別子を登録する。例えば図６のＳ６０４に示される接続拒否情報リストへの識別子の追加、図７の７０３に示される接続拒否情報リストへの識別子の追加などが、このＳ４２４の処理に該当する。
【００５２】
また、占有要求元のクライアント識別子に対する優先度は後述図の図９のＧＵＩを介しての設定に基づく。そして、優先度リストに登録されていないクライアント（例えばＩＰアドレスをパラメータに特定）については、優先度を最下位（本実形態におていは優先度１０）にして登録する。
【００５３】
Ｓ４２５では、新たに登録した識別子に対するタイムアウト判別用のカウンタ開始を行う。このカウンタの監視処理については後述の図４の（ｂ）で詳しく説明する。
【００５４】
Ｓ４２７では、プリンタの占有要求元のクライアントコンピュータに対して現在占有中の接続と平行して接続を行う。そして、プリンタの占有を許可することはできないが、占有する予約を行ったことを示すコマンド（Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄコマンド）を、返送用のコマンドとして設定する。このａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅの応答を行う場合にも、セッション状況を一時的な２本の同時セッションに抑えることができ、ネットワークインタフェース２１（プリンタ側）のリソースを軽減することが出来る。
【００５５】
Ｓ４２２では、Ｓ４２７で設定されたコマンドをプリンタから占有要求元のクライアントコンピュータに返送する。この時、Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄコマンドの返送はトランスポート層よりも上の通信階層で行う。Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄコマンドの返送を受けたクライアントコンピュータでは、ＴＣＰプロトコル接続の切断が行われ、現在占有中の接続（通信）と平行して接続（通信）を一時的に行えばよく、負荷を軽くすることが出来る。このことは後述の図１３で詳しく説明する。
【００５６】
次に、Ｓ４０４でＮＯと判定され、Ｓ４０５乃至４１４、４２１及び４２２の処理について説明をする。
【００５７】
（２）〔Ｓ４０４でＮＯと判定された場合〕
Ｓ４０４でＮＯと判定されると、Ｓ４０５において、受信したコマンドがデータクリア要求コマンドか否かを判定する。ここで、ＹＥＳと判定されると、Ｓ４０８、４０９を経由し、ネットワークインタフェース２１内のデータバッファクリア処理を行い、且つ、プリンタにコマンドを転送しプリンタ側のデータバッファクリアも行わせる。Ｓ４２１で、プリンタ側のデータバッファクリア処理結果が応答されると、該応答に基づくクライアントコンピュータへの返送をＳ４２２で実行する。なお、Ｓ４２２の処理の後に、処理をＳ４０１に戻すように示されているが、一旦接続を張った状態において再度Ｓ４０１のセッション処理や、Ｓ４０２の処理を行う必要はない。Ｓ４２１経由でＳ４０１に処理を戻した場合には、Ｓ４０１、Ｓ４０２の処理は省略され、Ｓ４０３の処理へ移行するものとする。
【００５８】
一方、Ｓ４０５でＮＯと判定されると、Ｓ４０６でプリンタ制御のコマンドを受信したか否かを判定する。
【００５９】
Ｓ４０６では、プリンタ制御コマンドを受信したか否かの判定を行う。ＹＥＳと判定した場合には、受信したプリンタ制御コマンドをネットワークインタフェース２１からプリンタに通知し、プリンタにプリンタ制御コマンドに従う処理を行わせる。Ｓ４０６でＮＯと判定されれば処理をＳ４０７へ移行させる。
【００６０】
Ｓ４０７では、ステータス要求コマンドを受信したか否かの判定を行う。ＹＥＳと判定した場合には、要求されるステータスをプリンタから取得すべくＳ４０９でコマンドをプリンタ側に転送し、応答としええられるステータスを応答用のステータスとして設定する（Ｓ４２１）。Ｓ４２２ではＳ４２１で設定されたステータスをクライアントコンピュータへ返送する。Ｓ４０７でＮＯと判定されると処理をＳ４１０で移行させる。
【００６１】
Ｓ４１０では、印刷データを受信したか否かを判定する。そして、ＹＥＳと判定されれば、Ｓ４１２で受信した印刷データに基づくプリントエンジンの記録を行わせるべく、プリンタ側に印刷データのコマンド（ページ記述言語でもビットマップ画像データなどを適用できる）を転送する。一方、Ｓ４１０でＮＯと判定されると、処理をＳ４１１へ移行させる。
【００６２】
Ｓ４１１では、ＮＩＣ自身の設定等、ＮＩＣ自身で閉じたＮＩＣに対する処理要求コマンドを受信したか否か判定する。Ｓ４１１でＹＥＳと判定されれば、処理をＮＩＣ内の処理を行った後、その処理結果を応答用のデータとして設定し（Ｓ４２１）、Ｓ４２１で設定されたデータをＳ４２２でクライアントコンピュータに応答する。
【００６３】
次に図４の（ｂ）の説明を行う。図４の（ｂ）は接続拒否情報リスト２０２に登録を行った識別子に対応して占有要求が所定時間無い場合に、対応する識別子を削除する処理を示すものである。これにより、接続拒否情報リスト２０２に要するメモリ容量を抑えることができる。
【００６４】
Ｓ４４１では、接続拒否情報リスト２０２中にクライアント識別子（接続拒否情報）があるか否かを判定する。
【００６５】
Ｓ４４１でＹＥＳと判定すればＳ４２２で最初のクライアント識別子をピックアップし、タイムアウトになったか否かを、Ｓ４４３で判定する。尚、図４の（ｂ）のフローチャートにおいてはタイムアウトになったか否かを判定するようにしているが、これに限定されない。例えば、クロックカウントでも良いし、他のクライアントコンピュータからの占有要求が所定数確認されたなどの所定の条件を採用することが想定される。
【００６６】
Ｓ４４３でＹＥＳと判定すればピックアップしているクライアント識別子を接続拒否情報リストから削除する。
【００６７】
続いてＳ４３５では次のクライアント識別子（接続拒否情報）があるか否かを判定し、あれば同様にタイムアウトしたか否かを判定し、Ｓ４４４以降の処理を繰り返す。
【００６８】
この図４の（ｂ）のフローチャートにより接続拒否情報が削除された場合には、上に説明したＳ４１６で接続拒否情報がないと判定されることになる。
【００６９】
図４のフローチャートによれば以下の効果を得ることが出来る。
【００７０】
本印刷システムによれば、従来に比べてクライアントコンピュータからプリンタ側への印刷ジョブ（印刷データ）の出力に際してのプリンタ側及びクライアント側処理負荷を軽減できる。また従来に比べて簡易な仕組により印刷順番の正当性をより確実に保証することができる。
【００７１】
また、例えばＬＰＲ（Ｌｉｎｅ  Ｐｒｉｎｔｅｒ  ｄａｅｍｏｎ  ｐｒｏｔｏｃｏｌ）のように、複数のセッションを保持し、セッションを保持した順番でプリンタ占有要求を各クライアントコンピュータに行わせる形態も想定される。しかし、この形態では、少なくとも、セッションを維持する情報処理装置に対応するＩＰアドレス、ポート番号、Ｍａｃ  Ａｄｄｒｅｓｓ、シーケンス番号、タイマー情報、ウィンドウサイズ、送信バイト数などのプロトコルソケットの管理が必要になる。つまりプロトコルソケットの管理および制御用の情報を各セッション毎に確保する必要があり、このためのメモリリソースが多く必要となってしまう。結果としてプリンタ側に管理用のメモリ領域を多く必要とし、引いてはプリンタコストを悪戯に上昇させることになる。
【００７２】
これに対して本印刷システムでは、２本のセッション管理で、複数の情報処理装置に対して、占有順序を保証することができ、プリンタ側のリソースを少なくし、且つ、メモリ使用を抑制し、引いては機能を落とすことなくプリンタコストを削減することができる。
【００７３】
更に、本印刷システムでは、時系列的にみて、２セッションを一時的に管理するというものであり、常時２本のセッションを張りつづける形態よりも、さらにリソース、メモリ、コストの節約を促進することができる。
【００７４】
次に、図４のフローチャートの各ステップを、図５乃至８のブロック図に対応させて説明する。
【００７５】
図５は、プリンタ側（ネットワークインタフェース２１）に接続拒否情報リスト２０２が登録されていない場合を示す。この場合に、プリンタ７の占有要求が行われると、図４の４０４でＹＥＳ、Ｓ４１５でＮＯ、Ｓ４１６でＮＯと判定される。そして、ＰＣ１（クライアントコンピュータ）、ＰＣ１１（クライアントコンピュータ）の何れからでもプリンタを占有しプリンタに印刷出力を行わせることができる。
【００７６】
図６は、ＰＣ１によりプリンタ７が占有され印刷データ（印刷ジョブ）用の通信ポートを介してデータ送信を行っている（Ｓ６０１）状態で、ＰＣ２からプリンタの占有要求が行われた場合を示す（Ｓ６０２）。
【００７７】
Ｓ６０３では、Ｓ６０２の要求に対して接続拒否が行われＡｌｒｅａｄｙＲｅｓｅｒｖｅｄコマンドがプリンタ７からＰＣ２に返送されている様子を示す。
【００７８】
図７は、図６のＰＣ１からの印刷データ（印刷ジョブ）送信及びそれに基づく印刷出力が行われ占有解放が行われた後に、ＰＣ１から占有要求が再度行われた（Ｓ７０１）様子を示している。
【００７９】
しかしながら図７においては既に優先度３のＰＣ２を識別可能な印刷予約が接続拒否情報リスト２０２に登録されているため、プリンタ７からＰＣ１に対して接続を拒否するＡｌｒｅａｄｙＲｅｓｅｒｖｅｄコマンドが返答されている（Ｓ７０２）。さらに、Ｓ７０３ではＳ７０１の占有要求に対応するＰＣ１の識別子を優先度情報（図中では優先度５）と共に接続拒否情報リストに登録する。
【００８０】
そして、Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄコマンドを受信したＰＣ１では、印刷ジョブの送信がまだ終了していないが接続を一旦切断し、再び再接続を行い、Ｓ７０１と同様の占有処理を行なう。
【００８１】
図８は、図７において接続拒否情報リスト２０２に登録されたＰＣ２の識別子に基づきＰＣ２の占有要求が優先的に行われている様子を示す。
【００８２】
Ｓ８０１でＰＣ２からの占有要求が行われ、図７の接続拒否情報リスト２０２に登録された識別子に基づき、ＰＣ２のプリンタの占有が確保された応答がプリンタ７からＰＣ２に応答される。
【００８３】
Ｓ８０３では、接続拒否情報リストからＰＣ２の識別子が削除される。尚、ＰＣ２の接続拒否情報リストの削除はＰＣ２からプリンタ７に対して出力される印刷データ（印刷ジョブ）に基づくプリンタ７の印刷出力（最終ページの排紙）が終了した後に行うようにしても良い。
【００８４】
図９は、本発明のネットワークインタフェースにおける、各クライアントの優先度を設定するためのＧＵＩを示したものである。図９に示されるＧＵＩに対応するアプリケーションはクライアントコンピュータに事前に登録されたユーティリティーによるものであっても良いし、プリンタのＷｅｂサーバから取得したＨＴＭＬ情報に基づきＷｅｂブラウザにより表示させたものであっても良い。
【００８５】
９０１は印刷順占有印刷を行うか否かの設定を行うためのものである。ここで９０１の項目をオンにすることは、先に説明した図４のフローチャートを実行することに対応する。逆にオフすることは図４のフローチャートを実行させず、図１２におけるプリンタ占有処理をプリンタに行わせることとなる。
【００８６】
９０２は優先クライアントを考慮するか否かの設定を行う為の項目であり、この項目をオンにすることにより、図４のフローチャートにおけるＳ４１７のステップの判定処理を行わせるか否かを設定できる。９０２の項目をオフに設定した場合には、図４のＳ４１７の判定結果は常に「以下」と判定されることとなる。またＳ４２４において、クライアント識別子に優先度を対応付けしないで登録処理を行うこととなる。
【００８７】
９０３は設定されたクライアント識別子を示し、９０４は登録された識別子に対する優先度を示す。尚、上にも述べたように優先度は数字が低いほど高くなっている。無論数字を大きくして優先度を高くするようにしても良い。
【００８８】
９０５は新たに優先度リストにクライアント識別子を登録する際の入力欄であり、９０６はそれに対応する優先度を設定する入力欄に対応する。
【００８９】
この図９のＧＵＩを介して入力された設定はクライアントコンピュータからプリンタ側に通知され保存される。保存場所としてはネットワークインタフェース２１の所定の記憶部に保存するようにしても良いし、プリンタ側に記憶させるようにしても良い。
【００９０】
この図９のＧＵＩを創出することにより、ユーザのプリンタ使用環境に合わせた柔軟な印刷システムを構築することが可能となる。
【００９１】
次に、図１０乃至１３を用いて、本実施形態における、クライアントコンピュータ、ネットワークインタフェース２１、プリンタとの間の情報のやり取りについて更に詳しく説明する。
【００９２】
図１０は、本印刷システムにおけるクライアントコンピュータから印刷要求が発行された場合の各種情報の流れを示す。
【００９３】
図中のＮｅｔｗｏｒｋＣｌｉｅｎｔ−１は図１のクライアントコンピュータに対応する。ＬａｎｇｕａｇｅＭｏｎｉｔｏｒは図１のランゲージモニタに対応する。ＮｅｔｗｏｒｋＰｏｒｔＤｒｉｖｅｒは図１におけるネットワークドライバ１６に対応する。ＮｅｔｗｏｒｋＩｎｔｅｒｆａｃｅＣａｒｄは図２のネットワークインタフェース２１に、Ｐｒｉｎｔｅｒは図２のプリンタ７（ネットワークインタフェース２１を除く）に夫々対応する。
【００９４】
Ｌａｎｇｕａｇｅ  Ｍｏｎｉｔｏｒ（以降ＬＭ）が印刷データを送信しようとする場合にはまずＯｐｅｎＣｏｎ（）関数でポートのオープンを行う。これをネットワークのポートモニター（ネットワークポートドライバ）が受け取るとＴＣＰプロトコルでＳｙｎをネットワークインタフェースへ送信する。そして該送信対してＡｃｋをネットワークインタフェースが返信した場合にはネットワークインタフェースと通信が可能となる（図４の（ａ）のＳ４０４に対応）。ＡｃｋではなくＲｅｓｅｔが返された場合には（図４の（ａ）のＳ４２８に対応）、エラーであり、ＬＭは後にリトライを行なうこととなる。ＯｐｅｎＣｏｎ（）関数はＳｙｎ送信によるコネクションの確立であり、確立がなされればＯＫのＲｅｐｌｙがＬＭに返される。
【００９５】
Ａｃｋの場合はさらに続いて、プリンタの占有を行うためにＷｒｉｔｅＰｏｒｔ（Ｒｅｓｅｒｖｅ）関数で「Ｒｅｓｅｒｖｅコマンド」を送信する。ＷｒｉｔｅＰｏｒｔ（）は、その関数に渡されるデータの中にコマンドが格納されるのでＷｒｉｔｅＰｏｒｔ（Ｒｅｓｅｒｖｅ）と記述している。このコマンドはプリンタ制御コマンドであり、プロトコルのレベルとしてはアプリケーション層（図３を参照）の上位で構成されるものである。このＲｅｓｅｒｖｅコマンドに対しては、プリンタの占有に合わせてネットワークインタフェース自身の占有処理も並行して行う必要がある。プリンタからのＲｅｓｅｒｖｅコマンドの応答を待ってネットワークインタフェース内の占有処理も行い、その結果をクライアントコンピュータ側へ返信する。もしプリンタがネットワーククライアントからではなく、ＵＳＢのようなクライアントから印刷中の場合には、プリンタからの応答がＡｌｒｅａｄｙＲｅｓｅｒｖｅｄが返信される。これにより、ネットワークインタフェースは占有を行わずにそのエラーコードをクライアントコンピュータ側へ返信する。
【００９６】
占有が成功すると、クライアントコンピュータはＷｒｉｔｅＰｏｒｔ（ＧｅｔＳｔａｔｕｓ）でプリンタステータスの取得を行う。プリンタのステータスはネットワークインタフェース自身がキャッシュしているものについてはネットワークインタフェースのみの処理で返信する。続いてクライアントコンピュータはステータスの状態を判断し、印刷開始できる場合にはＧｏＯｎｌｉｎｅコマンドを送信、オンラインに移行させる。その後、ステータスをチェックしながら印刷データの送信が行われる。そして最後には終了処理となる。
【００９７】
図１１は、本印刷システムにおけるネットワークインタフェースがクライアントコンピュータからプリンタのカウンタ情報の取得やプリンタのステータス情報の取得要求を受ける場合の各種情報の流れを示す。
【００９８】
図１０の印刷時とは異なり、ＴＣＰコネクションは必要ではなく、プリンタドライバはネットワークのポートに対してＷｒｉｔｅＰｏｒｔ（ＧｅｔＣｏｕｎｔｅｒ）関数でＧｅｔＣｏｕｎｔｅｒコマンドを要求する。ネットワークポートモニタはＵＤＰでＧｅｔＣｏｕｎｔｅｒコマンドをネットワークインタフェースに送信する。カウンタ情報はプリンタに問い合わせることが必要なコマンドであり、それはプリンタに転送され、その返信を受けて、さらにＵＤＰでクライアントコンピュータ側へ返信される。プリンタドライバはＲｅａｄＰｏｒｔ（）関数で返信された値を読み取り、ＧｅｔＣｏｕｎｔｅｒコマンドの結果を受け取る。
【００９９】
ＧｅｔＳｔａｔｕｓコマンドが送信された場合でも同様の方法にてクライアントコンピュータはステータス情報を受信する。ただし、ステータス情報はネットワークインタフェースのキャッシュ情報が返される。ネットワークインタフェースは非同期にプリンタのステータスを取得するので、このような処理を行う。この非同期とは、ネットワークインタフェース２１からのポーリングであったり、プリンタからのステータス更新情報が知らされた場合などに相当する。
【０１００】
このようにして行われる情報の取得によって、クライアントコンピュータは印刷装置のステータス等の情報を獲得し、表示を行う。
【０１０１】
図１２は、本印刷システムにおける、複数のネットワーククライアントからの占有要求を受けた時の流れを図示したものである。上に説明した図９の９０１を介して「印刷順の占有優先印刷を行う」の項目をオフに設定し、該設定をプリンタ側に反映した場合の、各種情報の流れを示す。特に特徴的な部分を抽出し説明を以下行う。
【０１０２】
Ｓ１２０１では、Ｎｅｔｗｏｒｋ  Ｃｌｉｅｎｔ−１の印刷中にＮｅｔｗｏｒｋ  Ｃｌｉｅｎｔ−２が印刷を行った場合（ＯｐｅｎＣｏｎ（）関数）、Ｃｌｉｅｎｔ−２のＴＣＰ上のコネクション要求にてネットワークインタフェースはＲｅｓｅｔを返送する。この返送は図４の（ａ）のＳ４２８に対応する。
【０１０３】
Ｓ１２０３では、Ｃｌｉｅｎｔ−２のＬａｎｇｕａｇｅ  Ｍｏｎｉｔｏｒはコネクションが成立しなかったこと（エラー通知）を受けて（Ｓ１２０２）、一旦接続を切断し、再び数秒後に再びＯｐｅｎＣｏｎ（）関数を送信し再接続を試みる。このように一旦接続を解除するので、プリンタ側の接続処理負荷（同時セッション確立負荷）を軽減することができる。
【０１０４】
この動作として、このリトライの間に他のクライアントでコネクションが成立して印刷が開始してしまうとＣｌｉｅｎｔ−２は結果として再度のコネクション要求でもエラー通知を受け、三度リトライすることとなる。
【０１０５】
場合によってはリトライが繰り返され、印刷する順番が著しく遅れる場合も出ることとなる。
【０１０６】
図１３は、本印刷システムにおける、複数のネットワーククライアントからの占有要求を受けた時の流れを図示したものである。上に説明した図９の９０１を介して「印刷順の占有優先印刷を行う」の項目をオンに設定し、該設定をプリンタ側に反映した場合の、各種情報の流れを示す。特に特徴的な部分を抽出し以下説明を行う。
【０１０７】
Ｓ１３０１では、Ｃｌｉｅｎｔ−１の印刷中にＣｌｉｅｎｔ−２が印刷を行った場合（ＯｐｅｎＣｏｎ（）関数）には、Ｃｌｉｅｎｔ−２のＴＣＰ上のコネクション要求にてネットワークインタフェースはＡｃｋを返信する。クライアントコンピュータはＡｃｋを受けることにより、プリンタ７にＳ４２３などの判定を行わせるための占有要求を発行することができる。この図１２とは異なる。
【０１０８】
その後Ｓ１３０４で、Ｃｌｉｅｎｔ−２はＴＣＰコネクションが成立したのでＲｅｓｅｒｖｅコマンドを送信する（図４の（ａ）のＳ４０３でプリンタが受信するコマンドに対応）。しかし、この場合にはＳ１３０５でネットワークインタフェースはこのコマンドに対してＡｌｒｅａｄｙＲｅｓｅｒｖｅｄで返信する（図４の（ａ）のＳ４２７、Ｓ４２２に対応）。そして、ネットワークインタフェースはこの占有要求を行ったクライアント情報（クライアントコンピュータの識別子）をリストに保持する（図４の（ａ）のＳ４２４に相当）。
【０１０９】
クライアントコンピュータ側はＲｅｓｅｒｖｅコマンドに対してエラーが返されると、Ｓ１３０７でＣｌｏｓｅＣｏｎ（）関数を実行し、まだ印刷データ（印刷ジョブ）の送信が終了していないが、Ｓ１３０８で成立したＴＣＰコネクションを閉じる。その後でリトライをかけることとなる。このように一旦接続を解除するので、結果として、プリンタ側の接続処理負荷（同時セッション確立負荷）を軽減することができる。
【０１１０】
Ｓ１３０９では、リトライを行う。Ｒｅｓｅｒｖｅコマンドに対して、ネットワークインタフェースは、ネットワークインタフェース内に保持されたクライアント情報と今回のクライアント情報との比較を行う（図４の（ａ）のＳ４１７、Ｓ４１８に対応）。
【０１１１】
同じクライアント情報からの占有要求であるなら（Ｓ４１８でＹＥＳと判定される場合に対応）、Ｓ１３１０で占有を許可する（図４の（ａ）の４１９、Ｓ４２０、Ｓ４２１に対応）。そして、ネットワークインタフェース内に保持したクライアント情報を削除する（図５のＳ８０３に対応）。もし異なるのであれば、ＡｌｒｅａｄｙＲｅｓｅｒｖｅｄを返信する。そうすることによって、一度占有を拒否したクライアントに優先して占有させることが可能となり、印刷ジョブ送信に伴うプリンタ占有をジョブの発行順にすることが可能となる。
【０１１２】
保持するクライアント情報は待ち行列とすることによって、この待ち行列の数だけ印刷順序を補正することが可能となる。但し、リトライが必ずなされることを前提とすると、もしあるクライアントがジョブの再送を行わなくなった場合には、他のクライアントからの処理が続行できなくなる。これに対して、この待ち行列に入った時間を管理し、あるリトライ間隔までに再送がない場合には、待ち行列から削除することを行う（図４の（ｂ）のＳ４４４に対応）。
【０１１３】
本実施形態では、印刷時のコネクションの発行や解除は全てクライアントコンピュータクライアントのプリンタモジュールが主導で行っている。一方、印刷終了をネットワークインタフェースが認識し、それによってネットワークインタフェースからネットワークポートモニタに対してＴＣＰコネクションの発行を要求し、それを受けてクライアントコンピュータが印刷を開始する方法が想定できる。しかし、この方法ではネットワークポートモニタがあるＴＣＰのポートに対して、ポーリングを行い、コネクション要求を監視する必要が生じることになる。本印刷システムではその監視の必要がない。
【０１１４】
以上のように上記実施形態によれいば、クライアントコンピュータからプリンタ側への印刷ジョブ（印刷データ）の出力に際しての処理負荷を軽減し、且つ、印刷順番をより確実に保証することができる。
【０１１５】
［第２実施形態］
上記第１実施形態では、プリンタ側がトランスポート層以下の通信階層（例えばＴＣＰ層）でクライアントコンピュータから接続要求を受けたことに応じて、その可否（可の場合はＡｃｋ）を示す応答を行う。そして、接続が行われた場合に、クライアントコンピュータから占有要求を発行が発行され、プリンタ側ではその占有要求の可否を判定し、占有の可否を示す応答をトランスポート層よりも上の通信階層で行う形態について説明をしてきた。しかしながら、この形態に限定はされない。
【０１１６】
Ｓ４０４でトランスポート層よりも上の層で占有要求のコマンドを受信したか否かを判定する必要はなく、トランスポート層以下のアクセスで占有要求があったと判定し、Ｓ４１５以降の処理を行わせても良い。特に通信の上での同時接続が１しか許容されていないシステムにおいては、占有の可否を示す応答を行うＳＹＮに対するＡＣＫ又はＲＥＳＥＴで行うようにしても良い。こうすることにより印刷システムを簡略化できるという効果を得ることが出来る。
【０１１７】
より具体的には、図４のＳ４０１乃至４０４をひとまとめにし、クライアントコンピュータ側からのＳＹＮが検出されれば、それを占有要求とみなし（Ｓ４０４でＹＥＳ）、Ｓ４１５以降の処理を行うようにすればよい。
【０１１８】
但し、この場合には、Ｓ４１９乃至Ｓ４２２の処理でプリンタ側からクライアントコンピュータ側に返送されるデータはＡＣＫとなり、Ｓ４２７乃至Ｓ４２２で返送されるデータはＲＥＳＥＴとなる。また、接続が行われた後に、Ｓ４０５以下の処理を行うようにすれば良い。
【０１１９】
このように、トランスポート層以下の通信のやり取りでも第１実施例と同様の効果を得ることが出来る。
【０１２０】
［第３実施形態］
次に、上記各実施形態では、プリンタ側主体の印刷順番の正当性を保証する仕組みをについて説明してきた。第３実施形態ではその変形例を説明する。尚、本実施形態でも、印刷装置の占有要求を受信し、占有の可否について許可しないと判定した場合に、優先して接続すべき占有要求元を識別するための識別子を印刷制御装置側で保持する点は上記各実施形態と相違ない。
【０１２１】
本実施形態における印刷システムの概略を図１４に示す。図２と同じ番号については上述の実施形態と同様の機能を有するものとし詳しい説明は省略する。
【０１２２】
整理券発行部２７は、印刷ジョブの実行中又は整理券管理モードがイネーブルの時に、占有要求をプリンタを受けると、ジョブ整理券を発行する機能を備える。
【０１２３】
整理券発行部２７に含まれる整理券番号カウンタは、占有要求があると整理番号カウンタのカウント値を１つカウントアップし、そのカウント値からジョブ整理券を発行し占有要求元のクライアントコンピュータに対して応答を行う。この整理番号カウンタは、プリンタが受信した印刷ジョブの処理中である場合、又は、整理券管理モード時にイネーブルとなり、整理券無しの占有要求を受ける毎に１つカウントアップを行う。
【０１２４】
カレントジョブ管理カウンタ２８は、初期値を整理番号カウンタの値と同じにし、プリンタが整理券管理モード時にイネーブルとなりジョブの終了毎に１つカウントアップする。また、整理番号カウンタとカレントジョブ管理カウンタの値が一致した時に整理券管理モードはディセーブルとなる。
【０１２５】
プリンタから整理券を受け取ったクライアントコンピュータはポーリングにて整理券と共に占有要求をプリンタへ送る。
【０１２６】
プリンタ７は整理券付きの占有要求を受け取った時に、前のジョブが終了しており、且つ、カレントジョブ管理カウンタの値と占有要求中に付随する整理券番号が一致した場合に、プリンタの占有を受け付ける。そして、占有要求もとのクライアントコンピュータに印刷データ（印刷ジョブ）のデータ送信を行わせる。
【０１２７】
ここでジョブ整理券には、例えば、整理番号カウンタのカウント値とプリンタ固有のユニークな名前（ＩＰ  Ａｄｄｒｅｓｓや、ＵＳＢ  ＩＤや、ＭＡＣ  Ａｄｄｒｅｓｓなど）が含まれる。
【０１２８】
次に、図１５のフローチャートを用いてプリンタ７の処理を説明する。尚、図１４では整理間発行部２７、カレントジョブ管理カウンタ２８がプリンタコントローラ２６の機能の一部として説明を行うが、無論ネットワークインタフェース２１側に設けるようにしても良いし、また任意に配置するようにしても良い。
【０１２９】
まず、Ｓ１５０１で、ＰＣ１、１１、１２、１３の何れかのクライアントコンピュータから占有要求を受信する。この占有要求の受信については、図４のＳ４０１乃至４０４と同様の処理が行われる。但し、図１５のフローチャートにおいては、Ｓ１５０２で占有要求にジョブ整理券が付随されているか否かが判定され、この点が異なる。Ｓ１５０２でＹＥＳと判定すると処理をＳ１５０３へ、ＮＯと判定すると処理をＳ１５１０へ進める。
【０１３０】
まずＳ１５０２でＹＥＳ、つまり整理券がない占有要求を受信した場合について説明する。
【０１３１】
Ｓ１５０３ではプリンタが印刷ジョブの処理中か否かを判定する。
【０１３２】
Ｓ１５０３でＮＯと判定すれば、Ｓ１５０９で整理券管理モードか否かを判定し、Ｙｅｓと判定すれば、処理をＳ１５０６へ移行させる。
【０１３３】
一方、Ｓ１５０３でＹＥＳと判定されると処理をＳ１５０４へ移行させ、Ｓ１５０４Ｓではモードチェンジを行う。より具体的にはフラグを立てて整理券発行モード移行する。
【０１３４】
Ｓ１５０５では整理番号カウンタのＦＵＬＬフラグがアクティブ（図４のＳ４０２で接続拒否情報がＭＡＸ値に達している場合に対応）となっているか否かを判定する。アクティブと判定すればＳ１５２１に処理を移行させ、アクティブでないと判定すれば処理をＳ１５０６へ移行させる。
【０１３５】
Ｓ１５０６では、整理番号カウンタを１つカウントアップし、Ｓ１５０７では、Ｓ１５０６でカウントアップしたカウンタの値とプリンタ固有の値（ＵＳＢ  ＩＤ  ｏｒ  ＭＡＣ  Ａｄｄｒｅｓｓ）からジョブ整理券を生成する。Ｓ１５０８ではＳ１５０７で生成したジョブ整理券をクライアントコンピュータへ返信する。
【０１３６】
次にＳ１５０２でＮｏと判定された場合、つまり整理券有りの占有要求を受信した場合について説明する。
【０１３７】
Ｓ１５１０ではプリンタがスタンバイ状態か否かを判定する。スタンバイ状態と判定すれば処理をＳ１５１１へ移行させ、スタンバイ状態ではない、つまり何れかのクライアントコンピュータによりプリンタが占有され印刷ジョブの実行中の場合にはＳ１５２１へ処理を移行させる。
【０１３８】
Ｓ１５１１では、ジョブ整理券の整理番号カウンタ値とカレントジョブカウンタ値を比較し、Ｓ１５１２でＳ１５１１の比較結果を分析する。
【０１３９】
ジョブ整理券の整理番号カウンタ値＝カレントジョブカウンタ値の場合はＳ１５１３へ、それ以外はＳ１５２１へ、夫々処理を移行させる。
【０１４０】
Ｓ１５１３では、整理券付きの占有要求を送信したクライアントコンピュータに対してプリンタの占有を許可する。これにより、占有の準備が出来たことを、クライアントコンピュータに占有完了通知として通知する（Ｓ１３１０のＤａｔａ  Ｓｅｎｄ  Ｒｅｓｅｒｖｅ（ＯＫ）に相当）。
【０１４１】
Ｓ１５１５では、占有元のクライアントコンピュータから送信されてくるジョブデータ（印刷データ）を受信する。Ｓ１５１６では受信したジョブデータに基づく印刷出力を行う。Ｓ１５１７で印刷処理が終了したと判定すると、Ｓ１５１８でカレントジョブ管理カウンタを１カウントアップし、Ｓ１５１９で整理番号管理モード終了か否かを判定する。より具体的には、整理番号カウンタ値＝カレントジョブ管理カウンタ値で整理番号管理モードがディセーブルの場合は終了、それ以外の場合はＳ１５２２へ移行する。
【０１４２】
Ｓ１５２２では、クラインコンピュータからの占有要求を受けるまで待機し、Ｓ１５２３でカレントジョブ管理カウンタの更新直後からのタイマーカウント値が予め設定されたタイムアウト値以上になった否かを判定する。Ｓ１５２３でＹＥＳと判定すると処理をＳ１５１８に移行させ、Ｎｏと判定すると、処理をＳ１５０１に戻す。
【０１４３】
整理券管理モード時に、カレントジョブ管理カウンタがカウントアップして次のジョブの受付可能になってからある一定期間以上該当する整理券付きの占有要求の受信が無い場合はタイムアウトとする。そして、カレントジョブ管理カウンタをカウントアップして次の整理番号のジョブを受け付けるようにする。これによりホスト側のトラブルによるジョブ処理の滞りを回避できる。
【０１４４】
Ｓ１５２１では、クラインコンピュータへ占有要求の拒否を示す通知を行う。この拒否を示す通知は、例えば第１実施形態で説明した、Ｓ４２７及びＳ４２２、Ｓ１３０５のＡｌｒｅａｄｙＲｅｓｅｖｅｄに相当できる。この接続拒否の通知を受けたクライアントコンピュータは、一旦ＴＣＰプロトコルの接続を切断し、再度プリンタを占有すべくＳ１５０１の占有要求のリトライ送信を行う。
【０１４５】
次に図１６のフローチャートを用いて図１５のフローチャートに対応するクライアントコンピュータ側の動作について説明を行う。まず、Ｓ１６０１では、印刷開始命令を発行する。印刷開始命令はプリンタドライバのユーザインタフェース等を介したユーザの印刷指示に応じて発行される。
【０１４６】
Ｓ１６０２では、印刷対象となるデータに基づく印刷データ生成処理を実行する。Ｓ１６０２ではビットマップ画像データ生成処理（以下ＲＩＰ）を実行する。尚ビットマップ画像データに限定されないことは上述の実施例で述べた通りである。
【０１４７】
Ｓ１６０３では、ＲＩＰした画像データを含む印刷ジョブを生成し、クライアントコンピュータの印刷データ送信モジュールに引き渡す。
【０１４８】
Ｓ１６０４では、印刷ジョブのプリンタへの送信に先立って占有要求をプリンタに送信する。占有要求処理については図４のＳ４０１乃至４０３で述べた通りである。
【０１４９】
Ｓ１６０５では、プリンタから占有を許可する通知、すなわち占有完了通知をプリンタ側から受けたか否かを判定する。受けていないと判定すれば処理をＳ１６０６へ、受けた場合は処理をＳ１６１１へ処理を移行する。Ｓ１６１１では生成した印刷ジョブをネットワークインタフェース２１へ送信する。この送信を受けたプリンタ側では図４のＳ４１２で説明した同様の処理が行われる。
【０１５０】
Ｓ１６０６では、引き続きプリンタよりジョブ整理券を取得する。このジョブ整理券については上述で説明した通りである。
【０１５１】
Ｓ１６０７では、Ｓ１６０６でプリンタ側より取得したジョブ整理券を含む占有要求をプリンタに対して行う。
【０１５２】
引き続きＳ１６０８では、カレントジョブ管理カウンタ２８よりカレントジョブ管理カウンタの値を取得する。
【０１５３】
Ｓ１６０９では、カレントジョブ管理カウンタの値がプリンタの保有する整理番号の値より大きいか否かを判定する。大きいと判定された場合はＳ１６１２へ、そうでなければＳ１６１０へ処理を移行させる。
【０１５４】
Ｓ１６１０では、占有が確保されたか否かを判定し、占有が確保できればＳ１６１１へ、占有要求の却下通知を受ければＳ１６１４へ処理を移行させる。
【０１５５】
Ｓ１６１４では、Ｓ１６０８で取得したカレントジョブ管理カウンタの値とプリンタが保有するジョブ整理券の番号との差を算出し、差が大きい場合は待機時間を増やし、以降差が減る毎に待機時間を減らす。これにより、さらに無駄なトラフィックの発生を更に減少させることができる。本実施形態では占有要求元を識別するための識別子をジョブ整理券を介してプリンタ側で間接的に管理する為、クライアントコンピュータ側で待機時間の調整という処理を実現できる。
【０１５６】
ここで、差分と待機時間の増減の対応はユーザの指示によってプリンタ本体の操作パネル又はクライアントコンピュータの遠隔から設定することができる。
【０１５７】
そして、Ｓ１６１３では、Ｓ１６１４で設定された待機時間に基づく待機処理を行い。待機処理が終わればＳ１６０７以降の処理を繰り返す。
【０１５８】
一方Ｓ１６０９でＮＯと判定された場合にはＳ１６１２では、ジョブ整理券の廃棄を行う。これは、例えば図１５のＳ１５２３のタイムアウト判定処理により、自クライアントコンピュータの占有要求に対して発行されたジョブ整理券の番号が、無視され、次のジョブのジョブ整理券の番号をプリンタ側で待機するようになった場合に起こり得る。Ｓ１６１２でジョブ整理券の破棄が行われるとクライアントコンピュータは再度Ｓ１０４で占有要求を行うこととなる。
【０１５９】
［第４実施形態］
上記各実施形態においては、ＰＣ１、１１とプリンタ７とが通信可能に接続された印刷システムについて説明を行ってきた。しかし、本発明はこれに限定されない。更なる応用例を想定することができる。
【０１６０】
例えば、上記プリンタを複数のプリンタと通信可能なプリントサーバに見立て、上記各シーケンス、及び、フローチャートを適用させることもできる。こすることにより、プリンタサーバの負荷を第１実施形態同様軽くすることができ、結果として、例えば安価なプリントサーバを実現したり、負荷が軽くなった分、他の処理をプリントサーバに行わせることができるなどの効果を得ることが出来る。
【０１６１】
更なる応用例とて、クライアントコンピュータとプリントサーバとが接続される印刷システム以外にも、第１実施形態におけるクライアントコンピュータを、複数のクライアントコンピュータ及び複数のプリンタを仲介するプリントサーバに見立てる形態もある。
【０１６２】
これにより、上述の各実施形態におけるクライアントコンピュータの処理負荷を軽減し、ソフトウェア構成を簡易化できたように、プリントサーバの処理負荷を軽減すると共に、プリントサーバにおけるソフトウェア構成を簡易化できる。
【０１６３】
［第５実施形態］
上述の各実施形態では、「Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄ」の情報は、プリンタが他のクライアントに占有されている、又は、占有予約が既に登録されているということを示していた。具体的には、クライアントコンピュータの占有要求に対して占有できない場合の返答として「Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄコマンド」をプリンタ本体から応答するよう説明してきた（図４参照）。
【０１６４】
本実施形態では、更なる応用例として、他のクライアントコンピュータの識別子を含む接続拒否情報の登録の有無によりプリンタ本体から異なる応答を行う場合について説明する。以下では、「Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄ情報」に加えて、「Ｎｅｗ  Ｒｅｇｉｓｔｅｒｄ情報」、「Ａｌｒｅａｄｙ  Ｒｅｓｉｓｔｅｒｄ」等を返す具体例を説明する。また、本実施形態では、プリンタ側からの応答情報を受信したクライアントコンピュータが、誰が占有中（印刷中）なのかや、占有しているジョブはどのようなものか等の詳細情報をプリンタ側から取得できる。尚、該取得は、「Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄ」の情報等の為の通信ポートとは別の通信ポートを介して行われる。具体的には、まず、Ｓ４０６やＳ１７０６でプリンタ制御コマンドと判断される１つである「ジョブ情報取得コマンド」が、クライアントコンピュータより前記別のポートを介してプリンタ側に発行される。そして、Ｓ４０６やＳ１７０６で、「ジョブ情報取得コマンド」を受信したＮＩＣは、受信したジョブ情報制御コマンドをプリンタへ転送し、プリンタからその返信を受け、該受けた情報をクライアントコンピュータに返信する。クライアントコンピュータに返信される情報には、印刷中のジョブに対するジョブ名やジョブのオーナ名、ジョブを発行したクライアントコンピュータ名等が含まれる。後述する図１８、図１９は、この印刷中ジョブ情報を基に表示されたものである。
【０１６５】
次に、図１７のフローチャートを参照しながら、図２のネットワークインタフェース２１（プリンタ）の処理を詳細に説明する。なお、ここでは図４との差分について詳しく説明する。
【０１６６】
まず、Ｓ１７０１乃至Ｓ１７２１の処理は、基本的に図４での説明と同様なので、詳しい説明は省略する。以下では、Ｓ１７１５でＹＥＳと判断した場合、又は、Ｓ１７１８でＮＯと判断した場合を前提に説明を行う。
【０１６７】
Ｓ１７２３でＮＯと判断した後は、接続拒否情報にクライアントを識別する識別子を追加し登録する。そしてＳ１７２４乃至Ｓ１７２５を経由し、Ｓ１７２７で、他のクライアントの占有予約が無く、プリンタ本体にて占有要求元のクライアントの占有予約を行ったことをクライアントコンピュータへの返答値としてセットする。より具体的には、プリンタ本体は、「Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄ」に加えて、「Ｎｅｗ  Ｒｅｇｉｓｔｅｒｄ」をセットする。そしてＳ１７２７でセットされた値をＳ１７２２で占有要求元のクライアントコンピュータに返送する。
【０１６８】
一方、Ｓ１７２３でＹＥＳと判断した場合は、他のクライアントが既に接続拒否情報リストに登録されている場合である。この場合には、既に他のクライアントにより占有予約が行われていることを、プリンタ本体から占有要求元クライアントコンピュータへの返送値としてセットする。より具体的には、プリンタ本体によりＳ１７２８において、Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄに加えて、Ａｌｒｅａｄｙ  Ｒｅｇｉｓｔｅｒｄをセットする。そして、Ｓ１７２８でセットされた値をＳ１７２２で占有要求元のクライアントコンピュータに返送する。
【０１６９】
そして、クライアントコンピュータは、上記Ｓ１７２７、Ｓ１７２８でセットされた値（情報）を取得することにより、簡易に、プリンタ占有に係わる情報を取得し表示することができる。例えば、占有要求を行う通信ポートとは別の通信ポートを用いてプリンタ占有に係わる詳細情報をクライアントコンピュータ側が取得する形態も想定される。しかし、上記形態によればそのような処理を行う事無く、ある程度の占有状況、占有予約状況を識別できる。
【０１７０】
また、Ｓ１７２７、Ｓ１７２８でセットされた値をプリンタ側からクライアントコンピュータに行った後に、クライアントコンピュータからＴＣＰ：Ｆｉｎが出力され、ＴＣＰコネクションが閉じられる。この「ＴＣＰ：Ｆｉｎ」に係わる処理は上述のＳ１３０８で説明した通りである。このＴＣＰコネクションを閉じる処理により、「Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄ」等のトランスポート層よりも上又は以上の通信階層におけるメッセージを、占有要求を行った複数のクライアントの各々に提供することができる。即ち、有限のコネクション数を、有限数以上のクライアントが利用できるようにし、占有要求に用いる通信ポートを介して、プリンタ側における占有状況、占有予約状況を容易にクライアントコンピュータに通知できる。
【０１７１】
図１８、図１９は、上記図１７のＳ１７２２における応答処理に応じて、クライアントコンピュータで表示されるメッセージ例を示す。
【０１７２】
図１８の１８０１は、Ｓ１７２７でセットされた値を占有要求を行う通信ポートを介してプリンタ側から受信した場合の、クライアントコンピュータにおける表示例を示す。より具体的には、クライアントコンピュータが、「Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄ＋Ｎｅｗ  Ｒｅｇｉｓｔｅｒ」を受信し、それに対応する情報を表示した一例である。１８０１では、印刷装置が他のクライアントコンピュータにより既に占有されており、且つ、占有予約を行えたことが示されている。なお、メッセージ例としては、図１８に示される文字列に限らず、別の文字列であっても良い。また、図形、写真等のグラフィカル表示でも良い。
【０１７３】
また、１８０２は、クライアントコンピュータがプリンタ側から取得した「印刷中ジョブ情報」に基づく表示を示す。この「印刷中ジョブ情報」は、上に述べた通り、「Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄ」の情報等の為の通信ポートとは別の通信ポートを介して、クライアントコンピュータにより取得される。印刷中ジョブ情報はプリンタで現在処理中の印刷ジョブに関する情報であり、１８０２中では、印刷ページ数等のジョブ詳細情報が含まれている。
【０１７４】
一方、図１９中の１９０１は、Ｓ１７２８でセットされた値を占有要求を行う通信ポートを介してプリンタ側から受信した場合の、クライアントコンピュータにおける表示例を示す。クライアントコンピュータは、「Ａｌｒｅａｄｙ  Ｒｅｓｅｒｖｅｄ＋Ａｌｒｅａｄｙ  Ｒｅｇｉｓｔｅｒｄ」を受信し、それに対応する表示である。１９０１では、印刷装置が他のクライアントコンピュータにより既に占有されており、且つ、占有予約もできないことが示されている。なお、メッセージ例としては、図１９に示される文字列に限らず、別の文字列であっても良い。また、図形、写真等のグラフィカル表示でも良い。
【０１７５】
１９０２は「マイジョブ情報」の表示例であり、具体的には、待ち状態（２番目の待ち状態）等を示している。この「マイジョブ情報」は、クライアントコンピュータ自身が送信した若しくは送信する予定のジョブ情報をメモリに保持している為、特にプリンタ側から取得する必要が無い。
【０１７６】
このように、図１７のフローチャートにより、クライアントコンピュータは、特に印刷中ジョブ情報を、所定のポートを介して取得しなくとも、占有要求処理に連動し、容易にプリンタ側における、占有状況、占有予約状況を取得できる。また、その取得結果をユーザに知らしめることができる。また、図４のフローチャートによっても、同様の効果を得る事が出来ることを付け加え述べておく。
【０１７７】
更に、クライアントコンピュータは、印刷中ジョブ情報を取得することにより、必要とあらば、詳細なジョブ情報を取得し、ユーザに知らしめることができる。
【０１７８】
一方、上述の各実施形態では、図１３のＳ１３０８で示した如く、クライアントコンピュータ側から通信セッションを切断するようにしたが、プリンタ側から通信セッションを切断するようにしても良い。
【０１７９】
［他の実施形態］
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、前記各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給しても良い。そして該供給により、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【０１８０】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。つまり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記録する記録媒体としては、例えばフレキシブルディスク、ハード・ディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１８１】
また、コンピュータが、供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけに限定されない。つまりそのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にも、かかるプログラムコードは本発明の実施形態に含まれる。
【０１８２】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納される場合も想定される。つまり、その格納されたプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれる。
【図面の簡単な説明】
【０１８３】
【図１】印刷システム全体構成の概略の一例を示す図。
【図２】実施形態におけるプリンタのブロック図の一例を示す図。
【図３】図１のネットワークインタフェースの通信機能を示す図。
【図４】本印刷システムにおける処理フローの一例を示す図。
【図５】本印刷システムにおける処理シーケンスの一例を示す図。
【図６】本印刷システムにおける処理シーケンスの一例を示す図。
【図７】本印刷システムにおける処理シーケンスの一例を示す図。
【図８】図１のネットワークインタフェース２１の処理手順の一例を示す図。
【図９】ネットワークインタフェース２１のジョブ受付優先度を設定するための設定画面の一例を示す図。
【図１０】本印刷システムにおける通信手順の一例を示す図。
【図１１】本印刷システムにおける通信手順の一例を示す図。
【図１２】本印刷システムにおける通信手順の一例を示す図。
【図１３】本印刷システムにおける通信手順の一例を示す図。
【図１４】実施形態におけるプリンタのブロック図の一例を示す図。
【図１５】本印刷システムにおける通信手順の一例を示す図。
【図１６】本印刷システムにおける通信手順の一例を示す図。
【図１７】本印刷システムにおける処理フローの一例を示す図。
【図１８】クライアントコンピュータにおけるユーザインタフェース例を示す図。
【図１９】クライアントコンピュータにおけるユーザインタフェース例を示す図。
【図１】
2006309717.tif 000003
【図２】
2006309717.tif 000004
【図３】
2006309717.tif 000005
【図４】
2006309717.tif 000006
【図５】
2006309717.tif 000007
【図６】
2006309717.tif 000008
【図７】
2006309717.tif 000009
【図８】
2006309717.tif 000010
【図９】
2006309717.tif 000011
【図１０】
2006309717.tif 000012
【図１１】
2006309717.tif 000013
【図１２】
2006309717.tif 000014
【図１３】
2006309717.tif 000015
【図１４】
2006309717.tif 000016
【図１５】
2006309717.tif 000017
【図１６】
2006309717.tif 000018
【図１７】
2006309717.tif 000019
【図１８】
2006309717.tif 000020
【図１９】
2006309717.tif 000021