(57)【要約】【課題】  複数のクラインアントから印刷ジョブをデバイス側に送信し、デバイスエンベッドのサーバ側でジョブのスケジューリングなどを行い印刷するシステムにおいて、プリンタ起動（再起動）時にサーバからクライアント側に起動を行った事をBroadcastする。この際に、クライアント側より同時にサーバにアクセスが行われるとサーバ側の負荷が高くなり、システムの応答が悪くなったり、接続できないといった状態に陥る。【解決手段】  サーバ起動（再起動）時のサーバからの起動通知に対して、クライアントからサーバに対して接続要因があるかどうかを判断し、接続要因がある場合には、接続タイミングを乱数を使用して調整する事で複数クライアントからのアクセスタイミングを分散させる。【選択図】  図９
2006092419.tif 000002
【特許請求の範囲】
【請求項１】
複数のクラインアントからの印刷ジョブをデバイス側に送信し、印刷デバイスにエンベッドされているサーバ側でジョブのスケジューリングなどを行い印刷するシステムにおいて、サーバ起動時（サーバダウン後の再起動時も含む）にサーバよりサーバが起動したことを各クライアントに通知する起動通知ステップと、クライアント側で起動通知を受信後にサーバへの接続要因があるかどうか判断する接続要因判定ステップと、接続要因ありと判断した場合は、複数のクライアントよりサーバへの同時アクセスが発生しないよう接続タイミングを調節する接続タイミング調整ステップを有することを特徴とするプリンティングシステム。
【請求項２】
請求項１のシステムにおいて、前記起動通知ステップは、サーバ起動完了後に行われることを特徴とする請求項１に記載のプリンティングシステム。
【請求項３】
請求項１のシステムにおいて、前記起動通知ステップは、サーバの起動前に行っていたジョブ情報（以後、稼動前情報）の存在の有無によって処理を切り替えることを特徴とする請求項１に記載のプリンティングシステム。
【請求項４】
請求項１のシステムにおいて、前記請求項３にある切り替え方法として、稼動前情報としてクライアントマシンのIPアドレス保持し、前記IPアドレスを保持しているクライアントマシンのみに起動通知することを特徴とする請求項１に記載のプリンティングシステム。
【請求項５】
請求項１のシステムにおいて、前記請求項４にある稼動前情報としてクライアントマシンのIPアドレスを保持している場合、もしく、稼動前情報として接続していたクライアントマシンの接続台数のみ保持していた場合、起動通知情報としてクライアントマシンの接続台数からサーバへの接続間隔時間を算出し起動通知と一緒に通知することを特徴とする請求項１に記載のプリンティングシステム。
【請求項６】
請求項１のシステムにおいて、前記請求項３にある切り替え方法として請求項４にある稼動前情報がない場合には、通知可能な全てのクライアントマシンに対して起動通知することを特徴とする請求項１に記載のプリンティングシステム。
【請求項７】
前記請求項６ではサーバ接続間隔時間は各クライアントで定義しているデフォルトの接続間隔時間を使用することを特徴とする請求項１に記載のプリンティングシステム。
【請求項８】
請求項１のシステムにおいて、起動通知としてデバイスのトナーの有無などのデバイスステータス情報も合わせて通知することを特徴とする請求項１に記載のプリンティングシステム。
【請求項９】
請求項１のシステムにおいて、接続要因判定ステップは前記請求項８にあるデバイスステータスよりサーバ側が印刷できない状態と判断できた場合には、サーバへの接続要因なしと判断することを特徴とする請求項１に記載のプリンティングシステム。
【請求項１０】
請求項１のシステムにおいて、接続要因判定ステップはクライアント側で管理しているスケジュール要求したジョブリスト情報（印刷ジョブ情報リスト）を検索し、起動通知したデバイスの印刷情報（デバイスのIPアドレス、プリンタ名）の登録を確認し、登録が確認できない場合には接続要因なしと判断することを特徴とする請求項１に記載のプリンティングシステム。
【請求項１１】
請求項１のシステムにおいて、接続タイミング調整ステップは前記請求項５で通知された接続間隔時間内の値を乱数により発生させ、その値を起動通知受信後のWait時間として接続処理のタイミング調整を行いサーバへの接続処理を行うことを特徴とする請求項１に記載のプリンティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントシステムにおけるプリンタデバイスエンベッドプリントサーバの起動時の起動通知に関するものである。
【背景技術】
【０００２】
従来、プリンタデバイスに対して複数のクライアントからLPRなどの簡単な印刷機能によって無造作に大量の印刷ジョブを転送するプリントシステムでは、印刷ジョブの印刷順の制御が行われなかったり、プリンタデバイスに転送された印刷ジョブの管理、監視が行えなかったりするためプリントサーバが必要であった。今まで業務のために部署毎にあったサーバが、業務のWeb化によって必要が無くなり、また、プリントサーバのためだけにサーバを導入するということが、ハードコストや管理コストという面からも少なくなってきている。しかし、印刷管理、印刷監視の要望は高く、必要となっていたため、サーバ機能をプリンタデバイスにエンベッドしプリンタジョブの管理をするシステムが考案されていた。このシステムでは複数のクラインアントから印刷ジョブ情報をデバイス側に送信し、デバイスエンベッドのサーバ側でジョブのスケジューリングなどの処理を行う。また、プリンタの電源が切られたりした場合にはプリンタの再起動を行い、サーバから複数のクライアントに対して起動を行った旨を一斉に通知（Broadcast）する必要があった。
【０００３】
また、データ送信側とデータ受信側との間でネットワークコネクションが切断した場合にデータ受信側でIPPのイベント通知機構を利用してその旨をデータ送信元へ通知し切断されたネットワークコネクションが復帰するまで所定の間隔で、且つ所定の回数イベント通知操作を繰り返すといった手法が知られている。
【特許文献１】特開２００２−３１２１３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ながら従来の起動通知方式では通知を受けた複数のクライアント側より同時にプリンタデバイスエンベッドプリントサーバにほぼ同時にアクセスが行われるとためサーバ側の負荷が高くなり、システムの応答が悪くなり、接続できないといった状態に陥るといった問題を抱えていた。
【課題を解決するための手段】
【０００５】
複数のクラインアントからの印刷ジョブをデバイス側に送信し、印刷デバイスにエンベッドされているサーバ側でジョブのスケジューリングなどを行い印刷するシステムにおいて、サーバ起動時（サーバダウン後の再起動時も含む）にサーバよりサーバが起動したことを各クライアントに通知する起動通知手段と、クライアント側で起動通知を受信後にサーバへの接続要因があるかどうか判断する接続要因判定手段と、接続要因ありと判断した場合は、複数のクライアントよりサーバへの同時アクセスが発生しないよう接続タイミングを調節する接続タイミング調整手段を備える。
【発明の効果】
【０００６】
プリンタデバイスエンベッドプリントサーバの起動時の起動通知方法として、稼動前情報がある場合には、その情報を基に起動通知方法をBroadcast通知もしくは、Unicast通知（ネットワーク内で単一のアドレスを指定して特定の相手にデータを送信する）するかを選択し、またクライアント側からの接続について、もクライアント側より接続要因があるかどうかを判断し接続要因がある場合には、接続タイミングを乱数を使用して調整し、複数のクライアントからのサーバへの同時アクセスが発生しないようにアクセスタイミングを分散させる。これにより、プリンタデバイスエンベッドプリントサーバへの接続へ負荷を軽減させ、接続Busyでサーバに接続きないといった状態を発生しないようにする事が可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【０００８】
＜印刷処理システムの構成例＞
図１は、実施形態に係る印刷処理システムの構成を示す図である。
【０００９】
同図において、１０１、１０２、１０３、１０４は、ネットワーク１０７に接続され、相互に通信可能なネットワークコンピュータであり、典型的にはパーソナルコンピュータ（ＰＣ）であり、それぞれイーサネット（登録商標）などのネットワークケーブルによってネットワーク１０７に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。ここで、各コンピュータは複数のプリンタドライバをサポートするものとする。また、プリンタに対応するプリンタ言語に変換にした印刷データを１０５ネットワークプリンタに転送する機能を有する。
【００１０】
１０５は、印刷制御装置としてのネットワークプリンタであり、ネットワークインタフェースカード１０６を介してネットワーク１０７と接続されており、クライアントコンピュータから送信されてくる印字データを含む印刷ジョブを解析し、１ページずつドットイメージに変換して印刷する。なお、同図にネットワークプリンタ１０５は１台しか示されていないが、他のネットワークプリンタが複数接続されているものとする。各ネットワークプリンタの機能は相違するものであってもよい。
【００１１】
また、１０７はネットワークであり、コンピュータ１０１〜１０４、ネットワークプリンタ１０５等と接続している。
【００１２】
＜ネットワークコンピュータのハードウェア構成例＞
図２は、コンピュータ１０１〜１０４の構成を説明するブロック図である。図２において、２００は装置全体の制御を行うＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや、本実施形態のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１３】
２０１は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段としてのＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００１４】
２０３は記憶媒体読み込み手段としてのフロッピディスクドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて、記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータにロードすることができる。２０４は記憶媒体であるフロッピディスク（ＦＤ）であり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤＲ、ＣＤＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００１５】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。更に、スプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【００１６】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００１７】
２０８はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００１８】
なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤなどで変更することも可能である。
【００１９】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００２０】
なお、本実施形態では、ネットワークプリンタ制御プログラムおよび関連データをＦＤ２０４から直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがＦＤ２０４からインストールされているＨＤ２０５から、ＲＡＭ２０２にロードするようにしてもよい。また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤＲ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００２１】
また、以下では、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムまたはプリンタドライバと呼ぶこともある。印刷制御プログラムは、クライアントにおいては、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含む。一方、プリントサーバにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本実施形態の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能するようにしてもよい。あるいは、一台のコンピュータに、クライアント用の機能を持つモジュールとプリントサーバ用として機能するモジュールとをともにインストールし、同時にあるいは時分割で、擬似的に平行動作させる構成も可能である。
【００２２】
３０１は基本Ｉ／Ｏプログラムであり、コンピュータの電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００２３】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【００２４】
図４において、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。ネットワークプリンタ制御プログラム４０３は、本実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント及びサーバ共に、同様の構成をとっている。
【００２５】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データが格納されている。
【００２６】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データが格納されている。
【００２７】
＜印刷処理システムにおけるソフトウェア構成例＞
ここで、本実施形態における用語の技術的意味について説明しておく。
【００２８】
本実施形態において、アプリケーションにおける印刷指示に応じてWindows（登録商標）等のＯＳを介して出力される描画命令（一般的にＤＤＩ或いはＧＤＩと呼ばれている）を解釈しページ記述言語を生成しデバイスへ出力させるようなプリンタドライバを通常プリンタドライバ、このときのデバイスを通常デバイスと呼ぶ。なお、ＯＳとしてはWindows（登録商標）に限定されるものではなく、描画命令を備えるＯＳであれば適用可能であることは言うまでもない。また、デバイスであるプリンタとは区別してプリンタドライバとプリンタ出力ポートとの組み合わせをプリンタと呼ぶこともある。
【００２９】
図６は、本システムにおいて、文書などを印刷するアプリケーションから発行された描画コマンドを含む印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。
【００３０】
ジョブ制御Device Schedulerは、複数のジョブ制御クライアントの印刷ジョブをスケジューリング管理し、各ジョブ制御クライアントの印刷を制御するプリンタデバイスエンベッドプリントサーバを示す。ここでは、あるジョブ制御クライアントから印刷される処理の流れを、Windows（登録商標）スプーラ、ジョブ制御クライアント、ジョブ制御Device Scheduler、プリンタデバイスと関連させて説明する。
【００３１】
アプリケーション６−１が印刷を開始すると一連の描画命令をＯＳを介して生成させる。この生成された描画命令はプリンタドライバを経て所定の形式に変換された後、Windows（登録商標）スプーラ（Windows（登録商標） Spooler）６−２に渡され、ジョブ御用ポートモニタを経由し、ジョブ制御クライアントサービス６−５に印刷ジョブがスプールされる。（図６中の(1)(1)'(2)(3)に対応）ジョブ制御クライアントは印刷データのスプーリング完了後、ジョブ制御Device Scheduler６−６に対してスケジュール要求を発行する。（図６中の(4)に対応）
スケジュール要求とは、ジョブ制御Device Scheduler６−６に対して印刷ジョブのスケジュールを依頼するコマンドであり、ジョブ制御 クライアントで印刷ジョブが発生すると発行されるコマンドである。
【００３２】
ジョブ制御Device Scheduler６−６はジョブ制御クライアント６−５からスケジュール要求を受けつけると、ジョブの“スケジュール機能”によりスケジュール処理（図６中の(5)に対応）を行う。“スケジュール機能”とは、デバイスに対して印刷されるジョブの印刷順序制御を行う機能である。“スケジューリング機能”に基づいて印刷ジョブのデバイスへの送信のタイミングが決定されると、ジョブ制御 Device Scheduler６−６は、印刷ジョブのスケジュールアップ（転送開始指示）（図６中の(6)に対応）をジョブ制御クライアントに送信する。なお、スケジュールアップを発行する順は、スケジュール要求を受け取ったジョブの順となる。つまり、複数のジョブ制御クライアント上でアプリケーションから印刷を開始した場合、印刷を開始した順にプリンタデバイスに転送されるのではなく、先にスプール完了したジョブから転送が開始されることになる。
【００３３】
ジョブ制御クライアントは、スケジュールアップを受けつけると、デバイスに対して印刷ジョブの転送を開始する。（図６中の(7)(7)'(8)に対応）
ジョブ制御Device Scheduler６−６はデバイスコントローラ６−８から取得するジョブ管理情報から印刷ジョブの状況（完了など）を取得し、各ジョブ制御クライアントへ通知する。（図６中の(9)(10)(11)に対応）
ジョブ制御クライアントは、印刷完了を受けつけたジョブを削除する。（図６中の(12)(13)に対応）印刷中などにデバイスのエラーが発生すれば、ジョブ制御 Device Scheduler６−６はデバイスコントローラから取得するプリンタデバイスの状態をジョブ制御クライアントへ通知する。（図６中の(9)(10)(11)に対応）
なお、サーバダウンの判断に関しては、ジョブDevice Schedulerからの通知や応答をタイマ監視（たとえば90秒）し、一定期間サーバからの通知、応答が無ければサーバダウンと判断する。また、サーバダウンを検知するとジョブ制御クライアントサービスからスケジュール要求を発行したジョブは、ジョブスケジュールの待機中となり、接続要因が発生するまで接続を行わない。またジョブ制御Device Schedulerは、起動状態になると起動通知を発行し、接続の受け付けが可能であることをクライアント側に通知する。
【００３４】
図７は、ジョブ制御クライアントサービス６−５が管理する印刷ジョブ情報リスト及びテーブルの構成の一例を示した図である。なお、印刷ジョブ情報テーブルはジョブ単位に生成される。本実施形態で使用されるジョブ情報テーブルは、ポートモニタ６−３からプリントジョブデータがジョブ制御クライアントサービス６−５に送信されるとプリンタキュー情報としてジョブ制御クライアントサービスの内部で作成される。印刷ジョブ数７０１は、ジョブ情報リストに登録されているジョブ情報テーブルの総数が記録されている。ジョブＩＤ７０２は、プリンタキュー情報として管理するジョブ情報テーブルに割り当てる任意のＩＤであり、ジョブを識別するＩＤとして使用される。ドキュメント名７０３は、アプリケーション６０１が印刷するドキュメントの名前で、ポートモニタ６−３がジョブ制御クライアントサービス６−５にプリントジョブデータを送信するときに通知される。
【００３５】
スプールファイルパス７０４は、ポートモニタ６−３がジョブ制御クライアントサービス６−５に送信したプリントジョブデータを、ＨＤ６−４に保存したファイルパスである。スケジュールジョブ状態７０５は、ジョブのスケジュール要求の状態として、スケジュール要求待機中（Device Scheduler側のスケジュールジョブ数がＭＡＸ値を超えた場合には、ジョブのスケジュール要求依頼しても直ぐには完了とはならない）、スケジュール要求依頼済み、スケジュールアップ済みといった状態を示し、また、ジョブが依頼済みになった場合には、その受付時間も記憶されている。ジョブ属性７０６は、ジョブの属性情報として、出力先プリンタ名、出力先プリンタＩＰアドレス（ポート情報）などが記憶されている。
【００３６】
図８は、ジョブ制御Device Schedulerが管理するジョブ管理リストの構成の一例を示した図である。受け付けジョブ数８０１は、ジョブ制御Device Schedulerが各クライアントから受けつけたスケジュールジョブの総数を示し、この総数は後述するスケジュールジョブ受付情報の総数と等しい。クライアントIPアドレス８０２，８０３，８０４は、スケジュールジョブを受けつけたクライアントマシンのIPアドレスとクライアントコンピュータ名を保持している。なお、同一クライアントマシンから複数のジョブ受けつけた場合でも登録されるＩＰアドレスは一アドレスのみである。スケジュール受付ジョブ情報は、ジョブの受付時間、ジョブサイズ、ページ数、部数、ジョブのオーナ情報、クライアントコンピュータ名などの情報を受けつけたジョブ毎に保持している。
【００３７】
図９は、プリンタの電源投入時やサーバダウン後の再起動時にジョブ制御Device Schedulerからクライアントマシンに対して起動通知処理を行う際のフローチャートである。ステップ９−１は、マシンを起動するステップであり、プリンタの電源投入や、再起動処理によってマシンの起動を行うステップである。ステップ９−２は、起動が完了したかどうか判断を行うステップであり、起動が完了するまで処理をループする。ステップ９−２でマシンの起動が確認されるとステップ９−３へ進む。ステップ９−３は、マシンが起動したことをクライアントへ通知するステップである。
【００３８】
図１０は、ステップ９−３の詳細を示すフローである。ステップ１０−１はデバイスの起動時のステータスとして、トナーあり・なしの状態、用紙あり・なしの状態、カバー・ドアーのＯｐｅｎ／Ｃｌｏｓｅなどのデバイスステータス情報を収集するステップである。ステップ１０−２は、デバイスの起動（再起動）前に行っていたジョブ情報（以後、稼動前情報）が存在するかどうかを判断するステップである。本特許では、稼動前情報として、図８に示すジョブ管理リストを静的な情報として保持し稼動前情報として使用するが、稼動前情報としてジョブ管理リストとは別に稼動前情報として以前ジョブスケジューリングの依頼のあったクライアントマシンのＩＰアドレスの履歴を保持するようにしても有効なのは言うまでもない。ステップ１０−２で稼動前情報がある場合にはステップ１０−３へ進む。ステップ１０−３では、稼動前情報としてクライアントマシンのＩＰアドレスを保持しているかどうかを判断するステップであり、クライアントマシンのＩＰアドレスを保持している場合にはステップ１０−４へ進み、保持していない場合にはステップ１０−６へ進む。ステップ１０−４はサーバ接続間隔値の算出を行うステップである。ここでは、稼動前情報のＩＰアドレスをカウントすることでクライアントマシンからの接続要求数を把握し接続間隔時間を算出する。算出方法としては、単位時間あたり（たとえば秒）に同時に受付可能な台数をＮ台とした場合、接続要求数／Ｎといった方法で算出しても良く、また、接続要求数がＡ台以下であれば、Ａ秒、それより多ければＢ秒といった形で閾値を設けて決定しても良い。なお、この接続間隔時間の利用については後述する。ステップ１０−５は実際にクライアントに対して起動通知処理を行うステップであり、稼動前情報として保持されているＩＰアドレスに対応したクライアントマシンに対して、前記ステップ１０−１で収集したデバイスステータスと前記ステップで算出したサーバ接続間隔時間をサーバ（ジョブ制御Device Scheduler）の起動通知情報としてユニキャストもしくはマルチキャストする。
【００３９】
ステップ１０−６は、ステップ１０−３で稼動前情報としてクライアントマシンのIPアドレスがない場合の処理を示すものであり、IPアドレスは保持されていないが接続可能なクライアントマシンの総数が保持されている場合にはステップ１０−７へ進む。ステップ１０−７はステップ１０−４と同様にサーバ接続間隔値の算出を行うステップであり接続可能なクライアント数（ステップ１０−４の接続要求数）より、サーバ接続間隔値の算出を行うステップである。なお、算出の手段はステップ１０−４と同様なので特にここでは述べない。ステップ１０−８は、前記ステップ１０−１で収集したデバイスステータスと前記ステップで算出したサーバ接続間隔時間をサーバ（ジョブ制御Device Scheduler）の起動通知情報としブロードキャストする。なお、ステップ１０−２で稼動前情報が全く存在しないと判断された場合やステップ１０−６で接続可能なクライアントマシンの総数といった情報がないと判断された場合にもステップ１０−８へ処理が進む。この際のサーバ接続間隔時間は、各クライアントマシンで定義されているデフォルトのサーバ接続間隔時間を用いるようにするために負の値などを設定する。
【００４０】
ステップ９−５以降のステップは、クライアント側での起動通知受信後の処理を示すステップである。ステップ９−５、（９−８）はジョブ制御Device Schedulerから通知された起動通知情報を受信するステップである。本ステップで起動通知が受信されるとステップ９−６へ進む。また起動通知を受信しない場合には、ステップ９−５（９−８）の直前に戻る。ステップ９−６は、受信した起動通知より起動通知情報を読み出しサーバへの接続の必要があるかどうかを判断するステップである。
【００４１】
図１１は、本ステップの詳細である。ステップ１１−１は、起動通知情報から読み出したデバイスステータス情報により当該デバイスが印刷可能であるかどうかを判断するステップである。ここで、デバイスステータスとして、トナー切れなどの情報を得た場合には印刷不可と判断し、接続要因なしとしてステップ１１−４へ進む。また、印刷可能と判断した場合にはステップ１１−２へ進む。ステップ１１−２では、起動通知したジョブ制御Device Schedulerが搭載されているプリンタに対応した出力先プリンタＩＰアドレス（ポート情報）や出力先プリンタ名、などのデバイスを特定する情報が印刷ジョブ情報リストに登録されているか確認を行う。ここで登録が確認された場合には、クライアント側にローカルジョブが存在するため接続要因ありと判断する。また、クライアント側でプリンタ管理ツールなどが起動しておりデバイスのステータスを確認している場合（ダイアログやタスクトレイでプリンタ管理ツールのUIが開いている）にも接続要因ありと判断しステップ１１−３へ進む。ステップ９−６で接続要因なしと判断された場合には、サーバ（ジョブ制御Device Scheduler）への接続を行わずに処理を終了する。また接続要因ありとして判断された場合ステップ９−７へ進む。ステップ９−７はサーバへの接続タイミングを決定するステップである。
【００４２】
図１２は、ステップ９−７の詳細を示すフローである。ステップ１２−１は、起動通知情報にサーバ接続間隔時間が設定されているかどうか判断するステップである。ここで前記情報がセットされている場合には、ステップ１２−２へ進みその情報の読み出しを行い、セットされていな場合には、ステップ１２−４に進みシステムに登録されているデフォルトのサーバ接続間隔時間を読み出す。ステップ１２−３は、前記ステップ１２−２及び１２−４から読み出したサーバ接続間隔時間より、サーバ接続タイミングを算出するステップである。ここでは、乱数を使用しサーバへの接続タイミングを決定する。なお、乱数の発生は、サーバ接続間隔時間内（たとえばサーバ接続間隔が３秒であった場合、発生させる乱数は0-3秒のいずれかの時間）の値を発生させるものとする。ここで発生させた乱数を起動通知受信後のWait時間として接続処理のタイミング調整を行いサーバへの接続処理を行う。
【図面の簡単な説明】
【００４３】
【図１】本発明における印刷処理システムを示す構成図である。
【図２】本発明におけるネットワークコンピュータのハードウェア構成図である。
【図３】本発明におけるＲＡＭ２０２のメモリマップを表す図である。
【図４】本発明におけるＦＤ２０４のメモリマップを表す図である。
【図５】本発明におけるＦＤドライブに対して挿入されるＦＤとの関係を示す図である。
【図６】本発明における印刷処理を示した図である。
【図７】本発明における印刷ジョブ情報リストの一例を示した図である。
【図８】本発明におけるジョブ管理リストの一例を示した図である。
【図９】本発明における起動通知フローを示した図である。
【図１０】本発明におけるサーバ側の起動通知処理を示した図である。
【図１１】本発明におけるクライアント側の接続要因判定処理を示した図である。
【図１２】本発明におけるクライアント側の接続タイミング調整処理を示した図である。
【図１】
2006092419.tif 000003
【図２】
2006092419.tif 000004
【図３】
2006092419.tif 000005
【図４】
2006092419.tif 000006
【図５】
2006092419.tif 000007
【図６】
2006092419.tif 000008
【図７】
2006092419.tif 000009
【図８】
2006092419.tif 000010
【図９】
2006092419.tif 000011
【図１０】
2006092419.tif 000012
【図１１】
2006092419.tif 000013
【図１２】
2006092419.tif 000014