(57)【要約】【課題】  プリントサーバのプリントサービスポートはスケジュールされた印刷ジョブの送信ノードからの通信のみを受け付けるため、印刷ジョブ出力順序の制御をより強化することを可能にする。【解決手段】  プリントサーバにおいて、通常状態では印刷サービスで使用するポートをクローズし、印刷ジョブ送信要求を通知したホストコンピュータからの通信のみ受信し、前記印刷ジョブ送信要求を通知したホストコンピュータから印刷ジョブを受信した場合には、ホストコンピュータからの通信を遮断する。【選択図】  図７
2006164159.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークによる通信を可能にするネットワークインターフェイスを備えるプリントサーバにおいて、
ネットワーク上のホストコンピュータから印刷ジョブの出力予約要求を受け付ける出力予約要求受信手段と、
前記出力予約要求に対応する印刷ジョブを出力予約済みジョブとしてキューイングするジョブ予約手段と、
前記出力予約済みジョブの受け入れが可能になった場合に前記出力予約要求を送信したホストコンピュータに対して印刷ジョブの送信を促す印刷ジョブ送信要求を送信する印刷ジョブ受け入れ要求手段と、
ネットワークポートの開閉制御を行うポート制御手段と、
前記ポート制御手段は通常状態では印刷サービスで使用するポートをクローズし、前記印刷ジョブ送信要求を通知したホストコンピュータからの通信のみ受信する通信ノード制御手段と、
前記印刷ジョブ送信要求を通知したホストコンピュータから印刷ジョブを受信した場合には、当該ホストコンピュータからの通信を遮断する通信ノード遮断手段と、
を備えることを特徴とするプリントサーバ及びシステム。
【請求項２】
ネットワークによる通信を可能にするネットワークインターフェイスを備えるホストコンピュータにおいて、
プリントサーバに印刷ジョブの出力予約を要求する出力予約要求送信手段と、
前記プリントサーバから印刷ジョブの送信を促す印刷ジョブ送信要求を受信する印刷ジョブ送信要求受信手段と、
前記印刷ジョブ送信要求を受信した場合に対応する印刷ジョブを前記プリントサーバに送信する印刷ジョブ送信手段と
を備えることを特徴とするプリントサーバ及びシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷クライアントとサーバ間で印刷ジョブの出力順序を制御するプリントサーバ及びシステムに関するものである。
【背景技術】
【０００２】
従来、ネットワークに接続されたプリントサーバと複数の印刷クライアントの構成においては、プリントサーバ及び印刷クライアントはネットワーク通信を行うためプロトコルスタックを備えており、印刷クライアントはプリントサーバと単独または複数のプロトコルにより通信が可能となっていた。プリントサーバはネットワークプリントサービスを実装しており、印刷クライアントはネットワーク経由でのプリントサーバへの印刷ジョブのダウンロードが可能となっていた。ネットワークプリントサービスとは、印刷ジョブをダウンロードするためのプロトコルを実装し印刷クライアントから受信した印刷ジョブを画像処理モジュール等に転送する処理を行うものである。このような印刷クライアントとプリントサーバのシステムでは、印刷クライアントの操作者はデータの印刷を行いたい場合には、誰でも自由に印刷を行うことが可能であった。そのような環境下では、印刷クライアントとなるホストコンピュータが複数存在するような場合には、プリントサーバが印刷ジョブを受信するタイミングが複数の印刷クライアントから集中するような場合には印刷ジョブを送信してから実際に出力されるまでに時間のずれが生じたりまたプリンタの出力トレイに複数の印刷ジョブが排紙されることにより出力物のオーナの特定に労力を費やしたりすることがあった。また複数の印刷ジョブを処理を行うことによりプリントサーバの負荷が大きくなり、印刷ジョブの受信ができなくなるといった現象が発生していた。このような問題を回避するためにジョブ予約出力の仕組みが考案されている（例えば、特許文献１）。
【０００３】
これは、印刷クライアントは印刷ジョブを送信する前段階において印刷ジョブの送信予約をプリントサーバまたはジョブ予約専用サーバに対して行う。プリントサーバまたはジョブ予約専用サーバは印刷クライアントが送信した送信予約要求を受信して、要求に含まれている印刷ジョブのスケジューリングを行う。プリントサーバまたはジョブ予約専用サーバは送信予約要求を受信した順番に従って印刷ジョブ受信のスケジューリングを行い、ジョブの受信が可能になった印刷ジョブの送信者に対して印刷ジョブの送信要求を送出する。印刷ジョブの本体は印刷ジョブの送信要求を受信した印刷クライアントのみが送信することになるため、先に挙げたような問題点を回避することが可能であった。つまり、印刷クライアントはプリントサーバから指示を受けた場合に印刷ジョブを送信するため、待ち時間の軽減やプリンタの処理負荷の増大を防止することが可能であった。
【特許文献１】特開２００３−３４５５６６
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の技術においては、プリントサーバ側で印刷クライアントから送られてくる印刷ジョブの受信制御を行っていないため、プリントサーバまたはジョブ予約専用サーバによる印刷ジョブのスケジューリングが正しく行われない場合があった。具体的には、印刷クライアントが送信予約要求を送らずに、直接的に印刷ジョブをプリントサーバのプリントサービスに割り当てられたポートに送信した場合には、プリントサーバはその印刷ジョブを受信して印刷を行ってしまうという欠点があった。プリントサーバを含むネットワーク上のノードがネットワーク上からのパケット入力を防止する技術としてはネットワークアドレスフィルタやポートフィルタといった技術が存在していた。ネットワークアドレスフィルタは、特定のネットワークアドレスを持つノードからの通信の遮断や通信の許可を行うためのもので、通信先のノードを制御したい場合に用いられる。ポートフィルタは特定のネットワークポートの開閉制御を行うものであり、ノード上で動作しているネットワークアプリケーションの脆弱性やセキュリティホールからセキュリティを保つことができるようになる。またネットワークアドレスフィルタ技術とポートフィルタ技術とを組み合わせて、通信先ノードによって開閉するポートを変更するといった応用技術も存在している。特開２００３−３４５５６６では、通信先のノードによりセキュリティレベルを変更する発明であるが、各々のノードに対するセキュリティレベルは固定であった。
【課題を解決するための手段】
【０００５】
しかしながら、上述の技術においては、プリントサーバ側で印刷クライアントから送られてくる印刷ジョブの受信制御を行っていないため、プリントサーバまたはジョブ予約専用サーバによる印刷ジョブのスケジューリングが正しく行われない場合があった。具体的には、印刷クライアントが送信予約要求を送らずに、直接的に印刷ジョブをプリントサーバのプリントサービスに割り当てられたポートに送信した場合には、プリントサーバはその印刷ジョブを受信して印刷を行ってしまうという欠点があった。プリントサーバを含むネットワーク上のノードがネットワーク上からのパケット入力を防止する技術としてはネットワークアドレスフィルタやポートフィルタといった技術が存在していた。ネットワークアドレスフィルタは、特定のネットワークアドレスを持つノードからの通信の遮断や通信の許可を行うためのもので、通信先のノードを制御したい場合に用いられる。ポートフィルタは特定のネットワークポートの開閉制御を行うものであり、ノード上で動作しているネットワークアプリケーションの脆弱性やセキュリティホールからセキュリティを保つことができるようになる。またネットワークアドレスフィルタ技術とポートフィルタ技術とを組み合わせて、通信先ノードによって開閉するポートを変更するといった応用技術も存在している。特開２００３−３４５５６６では、通信先のノードによりセキュリティレベルを変更する発明であるが、各々のノードに対するセキュリティレベルは固定であった。
【発明の効果】
【０００６】
本発明によって、プリントサーバのプリントサービスポートはスケジュールされた印刷ジョブの送信ノードからの通信のみを受け付けるため、印刷ジョブ出力順序の制御をより強化することが可能になる。
【発明を実施するための最良の形態】
【０００７】
（実施例１）
図１は、本発明の実施形態に関わる印刷システムのハードウェア構成を説明するブロック図である。１０００はプリンタで、内部で大きくネットワークプリンタサーバ１５００とプリンタコントローラ１６００から異なる制御系を司る機器で構成されている。ネットワークプリントサーバ１５００において、１はネットワークプリントサーバ用ＣＰＵで、書き換え可能なＦｌａｓｈＲＯＭ３に記憶された制御プログラムに基づいてシステムバス４に接続されるネットワークコントローラ（ＬＡＮＣ５）を介してローカルエリアネットワーク（ＬＡＮ２０００）に接続されたホストコンピュータ等の複数の外部装置（不図示）と所定のネットワーク通信プロトコルを用いて、前記外部装置から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を統括的に制御し、拡張インタフェースコントローラ（ＥＸＰＣ７）を介して接続されるプリンタコントローラ１５０１に対して適切なデータ転送制御を行なう。またＦｌａｓｈＲＯＭ３には、図４、５、６のフローチャートで示されるようなＣＰＵ１の制御プログラムも記憶されている。
【０００８】
ＲＡＭ２はＣＰＵ１の主メモリ、ワークエリア等の一時記憶領域をして用いられる。
【０００９】
ＬＥＤ６はネットワークプリントサーバの動作状態を示す表示部として用いられており、例えばネットワークコントローラ（ＬＡＮＣ５）とローカルエリアネットワーク（ＬＡＮ２０００）の電気的な接続状態（ＬＩＮＫ）やネットワーク通信モード（１０Ｂａｓｅや１００Ｂａｓｅ、全二重、半二重）等の各種動作状態をＬＥＤの点滅パターンや色で示すこと可能となっている。
【００１０】
さらにネットワークプリントサーバ１５００とプリンタコントローラ１５０１を繋ぐ拡張インタフェース１７は、図示しないコネクタで構成されておりネットワークプリントサーバ１５００のみが着脱し、同じ構成を持つ別のプリンタ１０００にネットワークプリントサーバ１５００を装着することも可能な構成となっている。
【００１１】
プリンタコントローラ１６００において、８はプリンタコントローラ用ＣＰＵで、ＲＯＭ９に記憶された制御プログラム等あるいはディスクコントローラ（ＤＫＣ１５）を介して接続された外部メモリ１０に記憶された制御プログラムやリソースデータ（資源情報）等に基づいてシステムバス１１に接続される各種デバイスとのアクセスを統括的に制御し、拡張インタフェースコントローラ（ＥＸＰＣ１３）を介して接続されるネットワークプリントサーバ１５００から受信される印刷データを基にラスタコントローラ１２によって出力画像情報を生成し、プリントエンジン１６に対して画像信号を出力する。
【００１２】
１４はＣＰＵ８の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００１３】
１８は操作パネル（操作部）でプリンタ１０００の動作モード等の設定や印刷データの取り消し等の操作を行なうためのボタンおよびプリンタ１０００の動作状態を示す液晶パネルやＬＥＤ等の表示部が配されている。
【００１４】
なお、本図で示したプリンタエンジン１６は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華方（熱転写）方式等が挙げられる。
【００１５】
図２は、本発明の実施形態に好適な印刷システムにおけるプリンタ１０００内の制御機器であるネットワークプリントサーバ１５００およびプリンタコントローラ１６００の各記憶デバイスに記憶された制御プログラム内のソフトウェア構成を説明するブロック図である。
【００１６】
なお上記各制御プログラムは各制御機器のＣＰＵによってプログラムが解析され処理される。
【００１７】
１５０１はネットワークプリントサーバ１５００の基本的なデータの入出力制御を統括するオペレーティングシステムである。さらに前記オペレーティングシステム１５０１内にはプログラム／データ記憶部９との入出力制御を行なうファイルシステム１５０５、プリンタコントローラ１６００と拡張インタフェース１７を介して通信制御を行なう拡張インタフェースドライバ１５０６、ローカルエリアネットワーク（ＬＡＮ２０００）の通信媒体を介して不図示のホストコンピュータ等の外部装置と通信を行なうネットワークインタフェースドライバ１５０７を内包している。
【００１８】
１５０２はアプリケーションプログラムインタフェース（ＡＰＩ）であり、ネットワークプリントサーバ１５００で動作するユーザアプリケーション１５０３やプリンタ１０００やユーザアプリケーションの登録・管理を行う管理アプリケーション等のアプリケーションプログラムに対して前記オペレーティングシステムが備える各種機能を提供する。また前記アプリケーションプログラムインタフェース１５０２で提供される機能は、印刷データの送受信機能を提供するデータ転送ＡＰＩ、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行なうリソース制御ＡＰＩ、プリンタ１０００の再起動や設定値の初期化や設定等の制御を行なうプリンタ制御ＡＰＩ、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御ＡＰＩ、ネットワークプリントサーバ１５００の再起動や設定値の初期化や設定、およびアプリケーションプログラムの起動、登録、削除を行なうプリントサーバ制御ＡＰＩを備える。
【００１９】
１６０１はプリンタコントローラ１６００の各種処理制御を統括するオペレーティングシステムであり、内部にプリントエンジンとの通信制御を行なうプリントエンジン制御部１６０３およびネットワークプリントサーバ１５００から参照されるビットマップ画像やエラーメッセージ等の機種依存リソースおよびネットワークプリントサーバ上で動作する機種依存アプリケーションプログラム等を記憶する機種依存リソース／プログラム記憶部との入出力制御を行なうファイルシステム１６０４を内包している。
【００２０】
１６０２は拡張インタフェース制御部であり、拡張インタフェース１７を介してネットワークプリントサーバ１５００との通信制御を行なう。さらに前記拡張インタフェース制御部は、制御種別毎に印刷データの入出力を制御するデータ転送論理インタフェース、機種依存リソース／プログラム記憶部９に記憶された各種データの入出力を制御するリソース制御論理インタフェース、プリンタ１０００の再起動や設定値の初期化や設定等の制御を行なうプリンタ制御論理インタフェース、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御論理インタフェースを備えており、各論理インタフェースを介してネットワークプリントサーバ１５００から要求された命令をオペレーティングシステム１６０１に対して転送し、その処理結果をネットワークプリントサーバ１５００に対して返信する。
【００２１】
次に本発明のプリントサーバ及びシステムで想定している全体構成について説明する。前述のプリンタ１０００はＬＡＮ２０００に接続されている。ＬＡＮ２０００は一般的にいわれるところのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であり、イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ（登録商標））であるものとする。ＬＡＮ２０００に接続される各端末や各印刷装置はイーサネット（登録商標）ケーブルやハブ（ＨＵＢ）などを介して接続される。なお、ここでのＬＡＮの種別はイーサネット（登録商標）であるが、これは限定されるものではなく、一般的にＬＡＮを形成するものであればよい。たとえばトークンリング（ＴｏｋｅｎＲｉｎｇ）などであってもよい。ホストコンピュータ３０２及びホストコンピュータ３０３は一般的なパーソナルコンピュータであるが本発明のプリントサーバ及びシステムを実現するためのソフトウェアが動作するものとする。ＬＡＮ２０００には上述のホストコンピュータ３０２とプリンタ１０００に加えて、各種の一般的なネットワーク機器が接続されるものとする。たとえばネットワークルータや電子メールサーバ、ファイルサーバであるものとする。次にホストコンピュータ３０２の構成について説明する。上述のようなホストコンピュータ３０２は、例えば図４に示すような構成となっている。図４で示されるホストコンピュータ３０２は、ホストコンピュータ全体の動作制御を司るＣＰＵ２０１と、ＣＰＵ２０１での動作制御のための各種プログラムやデータなどが格納されるＲＯＭ２０２と、ＣＰＵ２０１の主メモリや作業エリアなどを含むＲＡＭ２０３と、マウス２０６と、マウス２０６からの指示入力を制御するマウスコントローラ２０５と、キーボード２０８と、キーボード２０８やポインティングデバイス（図示せず）からの指示入力を制御するキーボードコントローラ２０７と、ＣＲＴディスプレイ２１０と、ＣＲＴディスプレイ２１０の表示を制御するＣＲＴコントローラ２０９と、各種プログラムやデータ（ブートプログラム、種々のアプリケーション、プリンタドライバ、ポートモニタ、など）を記憶するためのハードディスクドライブ２１２及びフロッピー（登録商標）ディスクドライブ２１３と、ハードディスクドライブ２１２及びフロッピー（登録商標）ディスクドライブ２１３とのアクセスを制御するディスクコントローラ２１１と、ＬＡＮ２０００を介してプリンタ１０００と双方向にデータをやりとりするためのネットワークインタフェイスカード２１４とを備えており、これらの各構成部は、システムバス２０４を介して互いに通信可能なように接続されている。
【００２２】
次に図７のフロー図を用いて、ホストコンピュータ３０２から印刷ジョブをプリンタ１０００に送信する際のジョブスケジューリングのシーケンスと、ネットワークプリントサーバ１５００で行われるポート開閉動作について説明していく。本実施例に於いて、ジョブのスケジューリングを行うクライアント側のソフトウェアの総称はＰｒｉｎｔＭａｎａｇｅｒと呼ばれる。最初に、ホストコンピュータ３０２上のソフトウェアコンポーネントについて図５を用いて説明する。オペレーティングシステム５０１はホストコンピュータ３０２上で動作するオペレーティングシステム（ＯＳ）である。本実施例においては、パーソナルコンピュータで一般的に使用される種類のもの、たとえばマイクロソフト（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムが使用されているものとする。ＯＳスプーラ５０２はオペレーティングシステム５０１のスプーラである。プリンタドライバがアプリケーションデータを印刷データ（ＰＤＬデータ）に変換したものは、ＯＳスプーラ５０２に格納される。ＰｒｉｎｔＭａｎａｇｅｒＰｏｒｔＳｔａｎｄａｒｄ５０３はＰｒｉｎｔＭａｎａｇｅｒ用のＰｏｒｔ  Ｍｏｎｉｔｏｒで、ＯＳスプーラからＰＤＬデータを受け取る処理を行う。ＰｒｉｎｔＭａｎａｇｅｒＵＩ５０４はユーザがＰｒｉｎｔＭａｎａｇｅｒを操作する際のＵＩを提供するものである。またジョブやプリンタ状況等の表示を行うソフトウェアである。ＰｒｉｎｔＭａｎａｇｅｒ５０５はスケジュール管理を行うＰｒｉｎｔＭａｎａｇｅｒのメインとなるサービスプログラムである。プリンタ１０００にジョブスケジューリング要求を発行したり、ＰｒｉｎｔＭａｎａｇｅｒＰｏｒｔＳｔａｎｄａｒｄ５０３から送られたＰＤＬデータをプリンタ１０００に送信したりといった処理を行う。次に図６を用いてネットワークプリントサーバ１５００上のソフトウェアコンポーネントについて説明する。図６はネットワークプリントサーバ１５００のユーザアプリケーション１５０３に格納されているソフトウェア構成を示したものである。ジョブスケジューラ６０１はネットワークプリントサーバ１５００が受信する印刷ジョブ（ＰＤＬジョブ）の受信スケジューリングを行うソフトウェアである。ジョブスケジューラ６０１はＰｒｉｎｔＭａｎａｇｅｒＰｏｒｔＳｔａｎｄａｒｄ５０３から送られたジョブ送信要求を受信して、当該ジョブのスケジューリング（ジョブ出力順序決定）を行う。その後、当該ジョブの入力受付がレディになった場合に、ＰｒｉｎｔＭａｎａｇｅｒＰｏｒｔＳｔａｎｄａｒｄ５０３に対してジョブ送信要求を送信する。ＬＡＮ２０００に接続される全てのホストコンピュータにＰｒｉｎｔＭａｎａｇｅｒが導入している場合、ＰｒｉｎｔＭａｎａｇｅｒとジョブスケジューラによって全てのジョブの出力順序は制御される。ポートブロック６０２はＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ポートの制御（ポートブロッキング）を行うためのプログラムである。ポートブロッキングとは、特定のＩＰポートを双方向又は片方向の向きで遮断又は許可を設定することであり、特定のポートｍの受信を遮断することによりそのポートに入力されるパケットは破棄される。なお、本��施例においてはポートブロック６０２がブロックを行うＩＰポートは後述のＬＰＲポート、つまりＴＣＰポート（Ｔｒａｎｓｍｉｔｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌポート）の５１５であるものとする。印刷アプリケーション６０３はネットワーク印刷サービスを提供するためのプログラムであり、各種のサーバアプリケーションが動作している。ここでは、ＬＰＤ（Ｌｉｎｅ  Ｐｒｉｎｔｅｒ  Ｄａｅｍｏｎ）が動作しているものとする。ＬＰＤによって通信が行われるプロトコルをＬＰＲ（Ｌｉｎｅ  ＰＲｉｎｔｅｒ  Ｄａｅｍｏｎ  Ｐｒｏｔｏｃｏｌ）という。次に実際のステップについて説明していく。図７では左側にホストコンピュータ３０２で行われるステップを記載し、右側にネットワークプリントサーバ１５００で行われるステップを記載している。Ｓｔｅｐ７０１において、ホストコンピュータ３０２のユーザは印刷指示を行う。ユーザはアプリケーションソフトウェア上で開いているデータをプリンタ１０００で印刷するために、アプリケーション上から印刷指示を行う。印刷指示がなされたデータはプリンタドライバによってＰＤＬデータに変換される。ドライバはＰＤＬ化したデータをＯＳスプーラ５０２に格納する。ＯＳスプーラ５０２に格納されたデータはＰｒｉｎｔＭａｎａｇｅｒＰｏｒｔＳｔａｎｄａｒｄ５０３によってＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５に送信される。ＰＤＬデータを受信したＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５はプリンタ１０００に対してスケジュール要求を発行する（Ｓｔｅｐ７０２）。スケジュール要求はスケジュール要求を送信する側であるＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５と、スケジュール要求を受信する側であるジョブスケジューラ６０１によって予め定義されたプロトコルによってコミュニケーションが行われるものとする。ＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５はＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）／ＩＰプロトコルを用いて、予め定義されたポート番号とパケットフォーマットとに編集して送信する。パケットフォーマット内には本パケットがスケジュール要求であることを示す値とホストコンピュータ３０２が送信するジョブを一意に示すジョブＩＤとが含まれているものとする。ＵＤＰプロトコルとは、インターネットで使用される標準プロトコルで、ＯＳＩ参照モデルのトランスポート層にあたる。信頼性は高くないが転送速度が速く、トラフィック量も少ないため単発の命令コマンド等で使用される頻度が高いプロトコルである。ジョブスケジューラ６０１は所定のＵＤＰポートをリッスンしており、他のノードからスケジュール要求を受信した場合できるよう設計されている（Ｓｔｅｐ７０３）。ジョブスケジューラ６０１がＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５からのスケジュール要求を受け付けたら、次にスケジューリングが可能であるかの判断動作を行う（Ｓｔｅｐ７０４）。ジョブスケジューラ６０１は自装置のジョブスケジューリング状態や処理負荷の度合いからＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５から受けた要求を受領することが可能であるか判断する。このステップにおいて、スケジュール要求を受領することが不可能で��ると判断された場合には、ジョブスケジューラ６０１はスケジュール失敗を表す応答をホストコンピュータ３０２に送信する（Ｓｔｅｐ７０５）。ホストコンピュータ３０２が本応答を受信した場合には、ＰｒｉｎｔＭａｎａｇｅｒＵＩ５０４を通じて所定のメッセージを表示し、ユーザに印刷及びスケジューリングが失敗した旨を通知する（Ｓｔｅｐ７０６）。このステップにおいて、スケジュール要求を受領することが可能であると判断された場合には、本ジョブはスケジュールジョブとしてスケジュールジョブテーブルにキューイングされる（Ｓｔｅｐ７０７）。スケジュールジョブテーブルのイメージを例示したものが図８である。図８はスケジュールされたジョブが所定の情報を所有して登録されている様子を例示している。列８０１は印刷ジョブの送信順序である。値が少ないものから印刷指示が送信され印刷ジョブのダウンロードが行われる。列８０２はジョブＩＤである。これは。ジョブスケジューラ６０１と各ホストコンピュータのＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅとでジョブの識別に用いられるＩＤである。列８０３はジョブ名であり、スケジュール要求に含まれるものである。列８０４はＩＰアドレスであり、各ホストコンピュータのＩＰアドレスを示す。これは、ポートブロック６０２がＬＰＲポートのブロッキングを行う際の情報として用いられる。ここで、ホストコンピュータ３０２がＳｔｅｐ７０２で送信したスケジュール要求は行８０３に位置している。つまり、ジョブスケジューラ６０１によってスケジュールされているジョブの中で、ホストコンピュータ３０２がＳｔｅｐ７０２で送信したスケジュール要求に対応する印刷ジョブは３番目に位置している。キューイングされているジョブの１番目および２番目のジョブの印刷が行われた場合には、順序が繰り上がるような動作となる。１番目および２番目のジョブの印刷が行われて、ホストコンピュータ３０２がＳｔｅｐ７０２で送信したスケジュール要求に対応するジョブの印刷準備が整った場合には、ジョブスケジューラ６０１はＩＰアドレス１７２．２４．０．３からのＬＰＲポートによる通信の許可を求める通知を、ポートブロック６０２に発行する。通常状態においては、ＬＰＲポートはポートブロック６０２によってクローズされており、ＩＰ通信はできないようになっている。しかし、ジョブスケジューラ６０１がＩＰアドレス１７２．２４．０．３からのＬＰＲポートによる通信の許可を求める通知を、ポートブロック６０２に発行することによって、ポートブロック６０２はＩＰアドレス１７２．２４．０．３から通信のみ受け付けるようになるため、ＩＰアドレス１７２．２４．０．３のＩＰアドレスを持つノードからはプリンタ１０００とのＬＰＲ通信が可能になる。本実施例では、ＩＰアドレス１７２．２４．０．３のＩＰアドレスはホストコンピュータ３０２によって使用されているため、ホストコンピュータ３０２はプリンタ１０００とのＬＰＲプロトコルによる通信が可能になる（Ｓｔｅｐ７０８）。ホストコンピュータ３０２がＳｔｅｐ７０２で送信したスケジュール要求に対応するジョブ、つまりジョブＩＤが２２２であるジョブの印刷の順になった場合には、ジョブスケジューラ６０１は印刷��ータの転送開始指示をホストコンピュータ３０１に送信する（Ｓｔｅｐ７０９）。転送開始指示は所定のフォーマットで送られるが、送信を許可するジョブを特定するためのジョブＩＤが含まれている。ホストコンピュータ３０２内で動作しているＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５は転送開始指示を受信して、ジョブＩＤを認識する（Ｓｔｅｐ７１０）。そしてＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５はジョブＩＤに対応する印刷ジョブデータをＬＰＲプロトコルによってプリンタ１０００に送信する（Ｓｔｅｐ７１１）。この際に、ホストコンピュータ３０３からプリンタ１００に対してＬＰＲプロトコルを用いて印刷ジョブを送信したとしても、プリンタ１０００は印刷データを受信しない。Ｓｔｅｐ７０８において、ＬＰＲポートが開かれているのはホストコンピュータ３０２のみだからである。プリンタ１０００側では、Ｓｔｅｐ７０８によってホストコンピュータ３０２からのＬＰＲ通信は許可されているため、ＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５は印刷データをプリンタ１０００にダウンロードすることが可能になる。印刷アプリケーション６０３はＬＰＲプロトコルによってホストコンピュータ３０２と通信を行い、印刷ジョブを受信する。受信データの中で印刷データ部はプリンタコントローラ１６００に送信され、ＰＤＬデータの解析の後に印刷が行われる。印刷が行われた場合には、ジョブスケジューラ６０１はＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５に対して当該ジョブＩＤを持つ印刷ジョブの印刷が正常に行われたことを通知するためのコマンドを送信する（Ｓｔｅｐ７１２）。ＰｒｉｎｔＭａｎａｇｅｒＳｅｒｖｉｃｅ５０５はコマンドを受信して、その内容からＳｔｅｐ７１１で送信した印刷ジョブの印刷が正常に行われたことを認識して、ＰｒｉｎｔＭａｎａｇｅｒＵＩ５０４を通じてユーザに通知される（Ｓｔｅｐ７１３）。その後ジョブスケジューラ６０１はＩＰアドレス１７２．２４．０．３からのＬＰＲポートによる通信の遮断を求める通知を、ポートブロック６０２に発行する。ポートブロック６０２は通知を受信して、ＩＰアドレス１７２．２４．０．３からのＬＰＲ通信を遮断することにより、ホストコンピュータ３０２はプリンタ１０００とＬＰＲプロトコルによる通信を行うことが再びできなくなる。
【００２３】
なお、本実施例記載の構成や方法は本発明の請求の範囲内においてこれに限定されるものではない。例えば、本実施例ではネットワークプリントサーバとプリンタコントローラがそれぞれ独立したハードウェア構成、つまり各々がＣＰＵとＲＡＭとを所有していたが、これに限定されるものではない。たとえば複合機で採用されるような、同一ハードウェア上でネットワークプリントサーバとプリンタコントローラの動作を司るソフトウェアが動作するような構成であってもよい。また、本実施例においてはネットワークプリントサーバ上で動作するソフトウェア群はＦｌａｓｈＲＯＭ３に格納されているが、別の実施の形態として、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）に格納されていてもよい。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に関わるプリンタのハードウェア構成ブロック図。
【図２】本発明の実施形態に関わるプリンタのソフトウェア構成ブロック図。
【図３】本発明の実施形態に関わる装置を接続するネットワーク構成ブロック図。
【図４】本発明の実施形態に関わるホストコンピュータのハードウェア構成ブロック図。
【図５】本発明の実施形態に関わるホストコンピュータのソフトウェア構成ブロック。
【図６】本発明の実施形態に関わるネットワークプリントサーバのユーザアプリケーションソフトウェア構成ブロック図。
【図７】本発明の実施形態に関わるアプリケーションプログラムの動作を示すフローチャート。
【図８】本発明の実施形態に関わる予約済みジョブのキュー状態を示すブロック図。
【符号の説明】
【００２５】
１０００  プリンタ
１５００  ネットワークプリントサーバ
１６００  プリンタコントローラ
２０００  ローカルエリアネットワーク
１  ＣＰＵ
２  ＲＡＭ
３  フラッシュＲＯＭ
４  システムバス
５  ＬＡＮコントローラ
６  ＬＥＤ
７  拡張インタフェースコントローラ
８  ＣＰＵ
９  ＲＯＭ
１０  外部メモリ
１１  システムバス
１２  ラスタコントローラ
１３  拡張インタフェースコントローラ
１４  ＲＡＭ
１５  ディスクコントローラ
１６  プリントエンジン
１７  拡張インタフェースバス
１８  操作パネル
【図１】
2006164159.tif 000003
【図２】
2006164159.tif 000004
【図３】
2006164159.tif 000005
【図４】
2006164159.tif 000006
【図５】
2006164159.tif 000007
【図６】
2006164159.tif 000008
【図７】
2006164159.tif 000009
【図８】
2006164159.tif 000010