(57)【要約】【課題】接続可能なサーバを効率よく確認でき、システムの負荷分散を実現することができる接続確認装置及び接続確認方法を提供する。【解決手段】ＭＦＰ１００は、第１タイムアウト時間及びより長い第２タイムアウト時間を記憶する記憶部と、各プリントサーバ１６０〜１６４にデータ送信した後、第１タイムアウト時間以内に応答を受信したか否かを判定する第１判定部と、エラー通知でない応答を受信したプリントサーバを通信可能と決定する第１決定部と、プリントサーバ１６０〜１６４の各々から応答を受信しなかった又はエラー通知を受信した場合、各プリントサーバにデータ送信した後、第２タイムアウト時間以内に応答を受信したか否かを判定する第２判定部と、エラー通知でない応答を受信したプリントサーバを通信可能と決定する第２決定部とを含む。これにより、接続可能なプリントサーバを効率よく確認でき、システムの負荷分散を実現することができる。【選択図】図１
2013232825.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバコンピュータのうちの接続可能なサーバコンピュータを特定する接続確認装置であって、
第１タイムアウト時間、前記第１タイムアウト時間よりも長い第２タイムアウト時間、及び複数の前記サーバコンピュータの各々を特定する情報を記憶する記憶手段と、
前記記憶手段から順次読出した前記情報により特定されるサーバコンピュータ毎に、所定のデータを送信した後、前記第１タイムアウト時間以内に、当該送信に対する応答を受信したか否かを判定する第１判定手段と、
前記第１判定手段によって、前記第１タイムアウト時間以内に、エラー通知でない応答を受信したと判定されたことを受けて、前記所定のデータを送信した前記サーバコンピュータを、通信可能なサーバコンピュータとして決定する第１決定手段と、
前記第１判定手段によって、前記第１タイムアウト時間以内に、複数の前記サーバコンピュータの各々から応答を受信しなかった又はエラー通知を受信したと判定されたことを受けて、前記記憶手段から順次読出した前記情報により特定されるサーバコンピュータ毎に、所定のデータを送信した後、前記第２タイムアウト時間以内に、当該送信に対する応答を受信したか否かを判定する第２判定手段と、
前記第２判定手段によって、前記第２タイムアウト時間以内に、エラー通知でない応答を受信したと判定されたことを受けて、前記所定のデータを送信した前記サーバコンピュータを、通信可能なサーバコンピュータとして決定する第２決定手段と、を含むことを特徴とする接続確認装置。
【請求項２】
複数の前記サーバコンピュータの各々を特定する情報は、第１判定手段によって使用される相対的順位を有し、
通信可能なサーバコンピュータとして決定されたサーバコンピュータを特定するための前記情報の前記相対順位を最優先の順位に設定する順位設定手段をさらに含むことを特徴とする請求項１に記載の接続確認装置。
【請求項３】
前記第１判定手段が何れかの前記サーバコンピュータからエラー通知でない応答を受信したか否かに応じて、前記第１タイムアウト時間を変更する変更手段をさらに含むことを特徴とする請求項１又は２に記載の接続確認装置。
【請求項４】
決定された通信可能な前記サーバコンピュータを特定する情報を記憶する手段と、
何れの前記サーバコンピュータからも応答が受信されなかった又はエラー通知を受信したことに応じて、接続可能なサーバコンピュータが存在しないことを表す情報を記憶する手段とをさらに含み、
外部装置から、接続可能なサーバコンピュータを特定する情報の要求を受信したことを受けて、通信可能な前記サーバコンピュータを特定する前記情報、又は、接続可能なサーバコンピュータが存在しないことを表す前記情報を、前記外部装置に送信することを特徴とする請求項１から３の何れか１項に記載の接続確認装置。
【請求項５】
デジタル機器により実行される、複数のサーバコンピュータのうちの接続可能なサーバコンピュータを特定する接続確認方法であって、
第１タイムアウト時間、前記第１タイムアウト時間よりも長い第２タイムアウト時間、及び複数の前記サーバコンピュータの各々を特定する情報を記憶する記憶手段から順次読出した前記情報により特定されるサーバコンピュータ毎に、所定のデータを送信した後、前記第１タイムアウト時間以内に、当該送信に対する応答を受信したか否かを判定する第１判定ステップと、
前記第１判定ステップによって、前記第１タイムアウト時間以内に、エラー通知でない応答を受信したと判定されたことを受けて、前記所定のデータを送信した前記サーバコンピュータを、通信可能なサーバコンピュータとして決定する第１決定ステップと、
前記第１判定ステップによって、前記第１タイムアウト時間以内に、複数の前記サーバコンピュータの各々から応答を受信しなかった又はエラー通知を受信したと判定されたことを受けて、前記記憶手段から順次読出した前記情報により特定されるサーバコンピュータ毎に、所定のデータを送信した後、前記第２タイムアウト時間以内に、当該送信に対する応答を受信したか否かを判定する第２判定ステップと、
前記第２判定ステップによって、前記第２タイムアウト時間以内に、エラー通知でない応答を受信したと判定されたことを受けて、前記所定のデータを送信した前記サーバコンピュータを、通信可能なサーバコンピュータとして決定する第２決定ステップと、を含むことを特徴とする接続確認方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバコンピュータのうち、アクセスが集中しておらず接続可能なサーバコンピュータを短時間に効率よく検出することができ、システムにおける負荷分散を実現できる接続確認装置及び接続確認方法に関する。
【背景技術】
【０００２】
近年、ネットワーク環境が整備され、個人用のコンピュータ（以下ＰＣとも記す）等の端末が普及してきたこともあり、いつでも、どこからでも文書及び画像等の電子データを印刷することが可能になっている。
【０００３】
また、多くの事業所（会社、事務所等）において、電子機器である画像処理装置の１種として、記録用紙に画像を形成する画像形成装置（代表的にはコピー機）が導入されている。このような事業所において、プリンタ機能又はコピー機能等を備えた複数の画像形成装置をネットワークに接続し、これらを複数のユーザで共用するケースが多くなっている。このような画像形成装置の１種である複合機（ＭＦＰ（ＭｕｌｔｉＦｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ））は、コピーモード、ファクシミリモード（以下、ファクシミリをＦＡＸともいう）、ネットワーク対応のプリンタモード、及びスキャナモードのように、複数の基本的な動作モードを備える。
【０００４】
これらの画像形成装置の機能を、ネットワークに接続されたプリントサーバを用いて提供するシステム構成が知られている。複数の画像形成装置、複数の端末装置、及び複数のプリントサーバが接続されるネットワークシステムにおいては、特定のプリントサーバにアクセスが集中しないようにする等、システム全体として効率的な運用を行なうことが必要である。
【０００５】
下記特許文献１には、クライアント・サーバ型のネットワークシステムであって、クライアントアプリケーションがサーバアプリケーションを利用する場合に、クライアントアプリケーションからサーバアプリケーションにデータ送信する前に、クライアントアプリケーションとサーバアプリケーションとの共有リソースを確認することにより、サーバアプリケーションの死活確認を行なうシステムが開示されている。確認することなくデータを送信すると、サーバアプリケーションのクラッシュ又はサーバアプリケーションの再起動中等の理由でサーバアプリケーションと通信できない場合、データの再送、又はサーバアプリケーションとの再接続等を行なうので、通信できないことを認識するまでに時間がかり、クライアントアプリケーションの処理が停止してしまう。
【０００６】
端末装置等からサーバを呼出すサービスに関しては、１台のサーバでサービスを提供するのではなく、同一のサービスのために、複数のサーバを稼動させ、冗長性を持たせて信頼性を向上するシステム構成が知られている。このような複数のサーバを備えたシステムでは、端末装置等から呼出すサーバのリストを予め準備しておき、リストに基づいてサーバに対して順に応答確認を行ない、最初に応答のあったサーバを利用するといった利用形態が取られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２１８９００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記のような利用形態によるサーバへのアクセス方法では、サーバリストの上位のサーバから順に応答確認を行なうため、特定のサーバに負荷が集中しやすくなる問題がある。また、接続可能なサーバが、サーバリストの下位にしかなかった場合でも、サーバリストの上位から順に接続確認を行なうので、接続可能なサーバに対して応答確認を行なうまでに長い時間がかかってしまう問題がある。それを回避するために、応答確認時のタイムアウト時間を短く設定した場合には、サーバに接続できない可能性が高くなるという問題があった。これらの問題は、上記した特許文献１に記載された発明によっては解決することができない。
【０００９】
したがって、本発明は、複数のサーバコンピュータのうち、アクセスが集中しておらず接続可能なサーバコンピュータを短時間に効率よく検出することができ、システムにおける負荷分散を実現できる接続確認装置及び接続確認方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的は、下記によって達成することができる。
【００１１】
即ち、本発明に係る接続確認装置は、複数のサーバコンピュータのうちの接続可能なサーバコンピュータを特定する接続確認装置である。接続確認装置は、第１タイムアウト時間、第１タイムアウト時間よりも長い第２タイムアウト時間、及び複数のサーバコンピュータの各々を特定する情報を記憶する記憶部と、記憶部から順次読出した情報により特定されるサーバコンピュータ毎に、所定のデータを送信した後、第１タイムアウト時間以内に、当該送信に対する応答を受信したか否かを判定する第１判定部と、第１判定部によって、第１タイムアウト時間以内に、エラー通知でない応答を受信したと判定されたことを受けて、所定のデータを送信したサーバコンピュータを、通信可能なサーバコンピュータとして決定する第１決定部と、第１判定部によって、第１タイムアウト時間以内に、複数のサーバコンピュータの各々から応答を受信しなかった又はエラー通知を受信したと判定されたことを受けて、記憶部から順次読出した情報により特定されるサーバコンピュータ毎に、所定のデータを送信した後、第２タイムアウト時間以内に、当該送信に対する応答を受信したか否かを判定する第２判定部と、第２判定部によって、第２タイムアウト時間以内に、エラー通知でない応答を受信したと判定されたことを受けて、所定のデータを送信したサーバコンピュータを、通信可能なサーバコンピュータとして決定する第２決定部と、を含む。
【００１２】
好ましくは、複数のサーバコンピュータの各々を特定する情報は、第１判定部によって使用される相対的順位を有し、接続確認装置は、通信可能なサーバコンピュータとして決定されたサーバコンピュータを特定するための情報の相対順位を最優先の順位に設定する順位設定部をさらに含む。
【００１３】
より好ましくは、接続確認装置は、第１判定部が何れかのサーバコンピュータからエラー通知でない応答を受信したか否かに応じて、第１タイムアウト時間を変更する変更部をさらに含む。
【００１４】
さらに好ましくは、記憶部は、決定された通信可能なサーバコンピュータを特定する情報を記憶し、何れのサーバコンピュータからも応答が受信されなかったこと又はエラー通知を受信したに応じて、接続可能なサーバコンピュータが存在しないことを表す情報を記憶し、接続確認装置は、外部装置から、接続可能なサーバコンピュータを特定する情報の要求を受信したことを受けて、通信可能なサーバコンピュータを特定する情報、又は、接続可能なサーバコンピュータが存在しないことを表す情報を、外部装置に送信する。
【００１５】
本発明に係る接続確認方法は、デジタル機器により実行される、複数のサーバコンピュータのうちの接続可能なサーバコンピュータを特定する接続確認方法である。接続確認方法は、第１タイムアウト時間、第１タイムアウト時間よりも長い第２タイムアウト時間、及び複数のサーバコンピュータの各々を特定する情報を記憶する記憶部から順次読出した情報により特定されるサーバコンピュータ毎に、所定のデータを送信した後、第１タイムアウト時間以内に、当該送信に対する応答を受信したか否かを判定する第１判定ステップと、第１判定ステップによって、第１タイムアウト時間以内に、エラー通知でない応答を受信したと判定されたことを受けて、所定のデータを送信したサーバコンピュータを、通信可能なサーバコンピュータとして決定する第１決定ステップと、第１判定ステップによって、第１タイムアウト時間以内に、複数のサーバコンピュータの各々から応答を受信しなかった又はエラー通知を受信したと判定されたことを受けて、記憶部から順次読出した情報により特定されるサーバコンピュータ毎に、所定のデータを送信した後、第２タイムアウト時間以内に、当該送信に対する応答を受信したか否かを判定する第２判定ステップと、第２判定ステップによって、第２タイムアウト時間以内に、エラー通知でない応答を受信したと判定されたことを受けて、所定のデータを送信したサーバコンピュータを、通信可能なサーバコンピュータとして決定する第２決定ステップと、を含む。
【発明の効果】
【００１６】
本発明によれば、長さの異なる２つのタイムアウト時間（第１及び第２タイムアウト時間）を用い、最初に短いタイムアウト時間（第１タイムアウト時間）でサーバコンピュータに接続可能か否かを判定するので、負荷が小さい状態のサーバコンピュータが存在すれば、それを短時間で検出することができる。負荷が小さい状態のサーバコンピュータが存在しなくても、長いタイムアウト時間（第２タイムアウト時間）で接続可能か否かを判定するので、接続可能なサーバコンピュータを検出できる可能性が高くなる。これによって、負荷が小さく応答時間が短い状態にあるサーバコンピュータを優先的に使用することが可能になるので、複数のサーバコンピュータのうちの特定のサーバコンピュータに負荷が集中することを回避して負荷分散を実現することができ、システム全体の効率を改善することができる。
【００１７】
また、サーバコンピュータからエラー通知でない応答を受信できたか否かによって、サーバコンピュータへのアクセスの優先順位を変更することにより、接続可能なサーバコンピュータを、より短時間に検出することができる。例えば、接続できたサーバコンピュータの接続確認時の優先順位を高くすることにより、接続可能なサーバコンピュータを、より短時間に検出することができる。
【００１８】
また、サーバコンピュータからエラー通知でない応答を受信できたか否かによって、短いタイムアウト時間を変更することにより、接続可能なサーバコンピュータを、より短時間に又はより確実に検出することができる。即ち、短いタイムアウト時間でサーバコンピュータからエラー通知でない応答を受信できた場合に、短いタイムアウト時間をより短くすることにより、接続可能なサーバコンピュータを、より短時間に検出することができる。また、短いタイムアウト時間でサーバコンピュータからエラー通知でない応答を受信できなかった場合に、短いタイムアウト時間をより長くすることにより、接続可能なサーバコンピュータを、より確実に検出することができる。
【００１９】
また、接続可能なサーバコンピュータの情報を記憶しておくことにより、外部装置からの要求に応じて、接続可能なサーバコンピュータの情報を、直ちに提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係る画像形成システムの構成を示すブロック図である。
【図２】図１に示したＭＦＰの内部構成を示すブロック図である。
【図３】図１に示したＭＦＰの操作部を示す平面図である。
【図４】図１に示したＭＦＰのＨＤＤに記憶されているデータを示すブロック図である。
【図５】図１に示したＭＦＰにおいて実行される、プリント機能を実現するためのプログラムの制御構造を示すフローチャートである。
【図６】図１に示したＭＦＰにおいて実行される、接続確認機能を実現するためのプログラムの制御構造を示すフローチャートである。
【図７】エラーメッセージを含む画面の例を示す図である。
【図８】図１のＭＦＰの操作部に表示される画面の例を示す図である。
【図９】図６とは別の、図１に示したＭＦＰにおいて実行される接続確認機能を実現するためのプログラムの制御構造を示すフローチャートである。
【図１０】図６とは別の、図１に示したＭＦＰにおいて実行される接続確認機能を実現するためのプログラムの制御構造を示すフローチャートである。
【図１１】図１に示したＭＦＰのＨＤＤに接続確認結果記憶部が設けられた状態を示すブロック図である。
【図１２】接続確認機能をＭＦＰの外部装置（接続確認装置）により実現したシステムの構成を示すブロック図である。
【図１３】図１２に示したＭＦＰにおいて実行されるプログラムの制御構造を示すフローチャートである。
【図１４】図１２に示した接続確認装置において実行されるプログラムの制御構造を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下の実施の形態では、同一の部品には同一の参照番号を付してある。それらの名称及び機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００２２】
本発明の実施の形態に係る画像形成システムは、ネットワークによって相互に接続されたＭＦＰ、端末装置、及び複数のプリントサーバ（以下、単にサーバともいう）を備えて構成される。ＭＦＰは、プリンタ機能、スキャナ機能、コピー機能、及びファクシミリ機能等の複数の機能を備えたデジタル複合機である。
【００２３】
図１を参照して、本実施の形態に係る画像形成システムは、ＭＦＰ１００、第１プリントサーバ１６０、第２プリントサーバ１６２、第３プリントサーバ１６４、端末装置１７０、及びこれらが接続されたネットワーク１８０を備えている。第１プリントサーバ１６０〜第３プリントサーバ１６４及び端末装置１７０は、例えばコンピュータである。第１プリントサーバ１６０〜第３プリントサーバ１６４は、ユーザが端末装置１７０を操作してＭＦＰ１００により画像形成（印刷）することを可能にする。
【００２４】
本画像形成システムは、ＭＦＰ１００以外にも、これと同様の機能を有するデジタル複合機を備えることができるが、図１では代表的に１台のみを示している。同様に、本画像形成システムは、端末装置１７０以外にも、端末装置を備えることができるが、図１では代表的に１台のみを示している。
【００２５】
図２を参照して、ＭＦＰ１００は、ＭＦＰ１００全体を制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２と、プログラム等を記憶するためのＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０４と、揮発性の記憶装置であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０６と、通電が遮断された場合にもデータを保持する不揮発性記憶装置であるＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０８とを備えている。ＲＯＭ１０４には、ＭＦＰ１００の動作を制御するのに必要なプログラム及びデータが記憶されている。
【００２６】
ＭＦＰ１００はさらに、タイマ１１０、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１１２、原稿読取部１２０、画像形成部１２２、画像処理部１２４、画像メモリ１２６、操作部１３０、及びバス１１４を備えている。ＭＦＰ１００は、これら以外にも、画像を形成するための記録紙を収容した給紙部、画像形成された記録紙を排出する排紙部（排紙トレイ）、電話回線に接続されたＦＡＸ通信するためのＦＡＸモデム等を備えている。
【００２７】
ＣＰＵ１０２、ＲＯＭ１０４、ＲＡＭ１０６、ＨＤＤ１０８、タイマ１１０、ＮＩＣ１１２、原稿読取部１２０、画像形成部１２２、画像処理部１２４、画像メモリ１２６、及び操作部１３０は、バス１１４に接続されている。各部間のデータ（制御情報を含む）交換は、バス１１４を介して行なわれる。ＣＰＵ１０２は、バス１１４を介してＲＯＭ１０４からプログラムをＲＡＭ１０６上に読出して、ＲＡＭ１０６の一部を作業領域としてプログラムを実行する。即ち、ＣＰＵ１０２は、ＲＯＭ１０４に格納されているプログラムにしたがってＭＦＰ１００を構成する各部の制御を行ない、ＭＦＰ１００の各機能を実現する。
【００２８】
タイマ１１０は、ＣＰＵ１０２からの要求を受けて、現在時刻を表す情報（以下、現在時刻という）をＣＰＵ１０２に提供する。
【００２９】
図３を参照して、操作部１３０は、タッチパネルディスプレイ１３２及び操作キー部１３４を備えている。タッチパネルディスプレイ１３２は、液晶パネル等で構成された表示パネルと、表示パネルの上に配置され、タッチされた位置を検出するタッチパネルとを含む。図３では、操作部１３０のタッチパネルディスプレイ１３２（表示パネル）には、ＭＦＰ１００の基本画面が表示されている。基本画面には、プリント、コピー等の各機能を指示するためのキーが表示されている。
【００３０】
操作キー部１３４には、ハードウェアキーとして、ホームキー１３６、ＭＦＰ１００の電源をオン／オフするための電源キー１３８、ＭＦＰ１００を省電力状態に遷移させる又は省電力状態から通常状態に復帰させるための節電キー１４０、及び、電源オンの場合に点灯するＬＥＤランプ１４２が配置されている。タッチパネルディスプレイ１３２に表示される画面は、ＭＦＰ１００の状態に応じて種々変化（画面遷移）する。ホームキー１３６は、タッチパネルディスプレイ１３２に表示されている画面を、基本画面に戻すためのキーである。即ち、ホームキー１３６が押されると、タッチパネルディスプレイ１３２に基本画面が表示される。
【００３１】
ＮＩＣ１１２は、外部のネットワーク１８０に接続され、ＭＦＰ１００がネットワーク１８０を介して外部装置と通信するためのインターフェイスである。ＭＦＰ１００は、外部の電話回線（図示せず）に接続され、ＭＦＰ１００が電話回線を介して外部装置とＦＡＸ通信するためのインターフェイスであるＦＡＸモデム（図示せず）を備えている。
【００３２】
原稿読取部１２０は、画像を読取るためのＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ：電荷結合素子）と、原稿台、自動原稿送り装置（ＡＤＦ）等にセットされた原稿を検知する原稿検知センサとを備え、原稿を読取って画像データを入力する。画像データは画像メモリ１２６に一時的に記憶される。画像処理部１２４は、読取った画像データに対して、種々の画像処理を実行する。画像形成部１２２は、画像データを記録紙に印刷する。画像データは、必要に応じてＨＤＤ１０８に記憶される。
【００３３】
給紙部（図示せず）は画像形成用の記録紙を収容する。ＭＦＰ１００は、記録紙を手差し給紙するためのトレイである手差し給紙トレイ（図示せず）も備えている。
【００３４】
操作部１３０は、ユーザによるＭＦＰ１００に対する指示等の入力を受付ける。ユーザは、タッチパネルディスプレイ１３２に表示される画面によって、ＭＦＰ１００の状態及びジョブの処理状況等の確認を行なう。タッチパネルディスプレイ１３２に表示されたキーを、表示パネルに重ねられたタッチパネル上で選択する（タッチパネル上の該当部分にタッチする）ことによって、ＭＦＰ１００の機能設定及び動作指示等ができる。
【００３５】
第１プリントサーバ１６０〜第３プリントサーバ１６４及び端末装置１７０は、汎用コンピュータと同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＨＤＤ、ＮＩＣを備えている。
【００３６】
以下、ＭＦＰ１００が搭載している機能（プリンタ機能、コピー機能、スキャナ機能、及びファクシミリ機能）を実行する各モードについて簡単に説明する。
【００３７】
（プリンタモード）
ＭＦＰ１００をプリンタとして利用する場合には、ＮＩＣ１１２を介して受信した画像データが画像メモリ１２６等を介して画像形成部１２２から出力される。
【００３８】
例えば、端末装置１７０からＭＦＰ１００に直接プリントを指示する場合、ＮＩＣ１１２は、ネットワーク１８０に接続された端末装置１７０から画像データを受信する。また、第１プリントサーバ１６０〜第３プリントサーバ１６４の何れかを介してプリントを指示する場合、画像データは、端末装置１７０から第１プリントサーバ１６０〜第３プリントサーバ１６４の何れかに送信され、記憶される。その後、ユーザがＭＦＰ１００の操作部１３０に表示されたジョブ（画像データ）を選択してプリントを指示すると、ＮＩＣ１１２は、第１プリントサーバ１６０〜第３プリントサーバ１６４の何れかから該当する画像データを受信する。
【００３９】
受信された画像データは、出力画像データとしてページ単位に画像メモリ１２６に送られた後、ＨＤＤ１０８に記憶される。その後、ＨＤＤ１０８に記憶された画像データが適切なタイミングで順次読出されて画像メモリ１２６に送られる。そして、画像形成部１２２での画像形成のタイミングに合わせて、画像データは画像形成部１２２へと伝送される。
【００４０】
給紙部では、記録紙がピックアップローラによって引き出され、複数の搬送用ローラによって、画像形成部１２２まで搬送される。画像形成部１２２では、帯電された感光体ドラムを入力された画像データに応じて露光することにより、感光体ドラムの表面に、画像データに応じた静電潜像を形成する。感光体ドラム上の静電潜像部分にトナーを付着させた後、トナーによる画像を、転写ベルトを介して、搬送された記録紙に転写させる。その後、記録紙は加熱及び加圧され（これにより記録紙に画像が定着する）、排紙トレイに排出される。
【００４１】
（コピーモード）
ＭＦＰ１００を複写機として利用する場合には、原稿読取部１２０によって読取られた原稿の画像データが、画像形成部１２２から複写物として出力される。
【００４２】
原稿読取部１２０に装備されたＣＣＤにより、読取位置にセットされた原稿の画像を電子的に読取ることができる。読取られた画像データは、画像メモリ１２６上に出力データ（印刷用データ）として完成された後、ＨＤＤ１０８に記憶される。原稿が複数ある場合には、この読取り動作及び記憶動作が繰返される。その後、操作部１３０から指示された処理モードに基づいて、ＨＤＤ１０８に記憶された画像データが適切なタイミングで順次読出されて画像メモリ１２６に送られる。そして、上記したプリンタモードと同様に、画像データは画像形成部１２２へと伝送され、画像形成が行なわれる。
【００４３】
読取った画像データを複数枚印刷する場合にも、同様に出力データとしてページ単位でＨＤＤ１０８に記憶され、ＨＤＤ１０８から画像メモリ１２６に送られ、出力枚数の分だけ繰返し、画像形成のタイミングに合わせて画像形成部１２２へ伝送される。
【００４４】
（スキャナモード）
ＭＦＰ１００を、例えばネットワークスキャナとして利用する場合には、原稿読取部１２０において読取られた原稿の画像データを、ＮＩＣ１１２からネットワーク１８０を介してコンピュータ等（例えば端末装置１７０）へ送信する。この場合にも、原稿読取部１２０に装備されたＣＣＤにより原稿を電子的に読取る。そして、読取られた原稿の画像データは、画像メモリ１２６上に出力データとして完成された後、ＨＤＤ１０８に記憶される。その後、画像データは、再びＨＤＤ１０８から画像メモリ１２６に送られ、操作部１３０を介して指定された送信先との通信を確立した上で、ＮＩＣ１１２から、指示された送信先へと送信される。
【００４５】
（ファクシミリモード）
ＭＦＰ１００は、ＦＡＸモデム及び電話回線網を介して外部のファクシミリ装置とＦＡＸ送受信することができる。
【００４６】
ＭＦＰ１００をファクシミリ装置として使用する場合、ファクシミリ装置からＦＡＸ受信したデータを、画像データとして画像メモリ１２６上に形成し、上記と同様に、ＨＤＤ１０８への記憶、画像形成部１２２による印刷を実行することができる。また、ＭＦＰ１００は、ＨＤＤ１０８から画像データを読出して、ＦＡＸ通信用のデータ形式に変換して、ＦＡＸモデム及び電話回線網を介して外部のファクシミリ装置に送信することができる。
【００４７】
以下、図１に示した画像形成システムにおいて、ユーザがＭＦＰ１００のプリント機能を利用する場合に、ＭＦＰ１００が第１プリントサーバ１６０〜第３プリントサーバ１６４との接続状態を確認する機能に関して具体的に説明する。
【００４８】
前提として、ユーザが、端末装置１７０から、第１プリントサーバ１６０〜第３プリントサーバ１６４にプリントを指示したとする。ユーザがプリントを指示した画像データを含むプリントジョブは、端末装置１７０から、第１プリントサーバ１６０〜第３プリントサーバ１６４の何れか、例えば第１プリントサーバ１６０に送信され、第１プリントサーバ１６０のＨＤＤに記憶される。第１プリントサーバ１６０は、受信したプリントジョブを別のプリントサーバ、即ち第２プリントサーバ１６２及び第３プリントサーバ１６４に送信する。第２プリントサーバ１６２及び第３プリントサーバ１６４は、受信したプリントジョブを各ＨＤＤに記憶する。このように、第１プリントサーバ１６０〜第３プリントサーバ１６４の間で、プリントジョブは適宜通信されて、第１プリントサーバ１６０〜第３プリントサーバ１６４の各ＨＤＤには、同じプリントジョブが記憶される。なお、このようにプリントジョブを通信する代わりに、プリントジョブリストのみを第１プリントサーバ１６０〜第３プリントサーバ１６４の間で適宜通信してもよい。
【００４９】
図４を参照してＨＤＤ１０８は、アドレスリスト記憶部１５０と、第１タイムアウト時間記憶部１５２と、第２タイムアウト時間記憶部１５４とを備えている。アドレスリスト記憶部１５０には、第１プリントサーバ１６０〜第３プリントサーバ１６４のＩＰアドレスが記憶されている。図４では、第１プリントサーバ１６０〜第３プリントサーバ１６４のＩＰアドレスとして、ローカルアドレスが記憶されている。第１タイムアウト時間記憶部１５２には、ＭＦＰ１００が、後述する接続確認に使用する第１タイムアウト時間が予め記憶されている。第２タイムアウト時間記憶部１５４には、ＭＦＰ１００が接続確認に使用する、第１タイムアウト時間よりも長い第２タイムアウト時間が予め記憶されている。ここでは、第１タイムアウト時間は１０秒であり、第２タイムアウト時間は６０秒であるとする。
【００５０】
図５を参照して、ＭＦＰにおいて実行される、プリント機能を実現するためのプログラムの制御構造のステップ３００において、ＣＰＵ１０２は、タッチパネルディスプレイ１３２に、図３に示した基本画面を表示した状態で、何れかのキーが操作されたか否かを判定する。操作されたと判定された場合、制御はステップ３０２に移行する。そうでなければ、ステップ３００が繰返される。
【００５１】
ステップ３０２において、ＣＰＵ１０２は、ステップ３００で操作されたと判定されたキーが、プリントキーであるか否かを判定する。プリントキーであると判定された場合、制御はステップ４００に移行する。そうでなければ、制御は３０４に移行する。
【００５２】
ステップ３０４において、ＣＰＵ１０２は、操作されたキーに対応する処理を実行する。その後、制御はステップ３２４に移行する。
【００５３】
ステップ３２４において、ＣＰＵ１０２は、終了の指示があったか否かを判定し、終了の指示がなければ、ステップ３００に戻る。終了の指示は、例えば、電源キー１３８が押されることである。終了の指示を受けたと判定された場合、本プログラムは終了する。そうでなければ、制御はステップ３００に戻る。
【００５４】
プリントキーが操作された場合、ステップ４００の接続確認処理が実行される。接続確認処理は、具体的には図６に示すステップ４０２〜ステップ４２０の処理である。
【００５５】
ステップ４０２において、ＣＰＵ１０２は、通信に使用する短いタイムアウト時間を設定する。具体的には、ＣＰＵ１０２は、ＨＤＤ１０８の第１タイムアウト時間記憶部１５２から第１タイムアウト時間（１０秒）を読出し、タイムアウト時間として設定する。
【００５６】
ステップ４０４において、ＣＰＵ１０２は、繰返し処理のカウンタｋの初期値を“０”にする。
【００５７】
ステップ４０６において、ＣＰＵ１０２は、ＨＤＤ１０８のアドレスリスト記憶部１５０に記憶されたｋ番目のＩＰアドレスを読出し、そのＩＰアドレスに所定のデータを送信する。例えば、インターネット制御通知プロトコル（ＩＣＭＰ：Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）のｐｉｎｇコマンドを実行し、“ｅｃｈｏ  ｒｅｑｕｅｓｔ”パケットを送信する。また、ＣＰＵ１０２は、タイマ１１０から現在時刻を取得して、例えばＲＡＭ１０６の所定領域に時刻情報として記憶する。
【００５８】
ステップ４０８において、ＣＰＵ１０２は、ステップ４０６で送信したデータに対する応答を受信したか否かを判定する。具体的には、ステップ４０６で“ｅｃｈｏ  ｒｅｑｕｅｓｔ”パケットを送信したＩＰアドレスから“ｅｃｈｏ  ｒｅｐｌｙ”を受信したか否かを判定する。受信したと判定された場合、制御はステップ４１２に移行する。そうでなければ、制御はステップ４１０に移行する。なお、「応答」とは、正常応答を意味する。したがって、応答を受信できなかった場合には、正常応答を受信できなかった場合だけでなく、エラー通知を受信した場合も含まれる。以下、同様である。
【００５９】
ステップ４１０において、ＣＰＵ１０２は、ステップ４０６の送信から所定の時間が経過したか否かを判定する。具体的には、ＣＰＵ１０２は、タイマ１１０から現在時刻を取得して、ＲＡＭ１０６の所定領域に記憶されている時刻情報と比較し、タイムアウト時間（ここでは第１タイムアウト時間である１０秒）が経過したか否かを判定する。経過したと判定された場合、制御はステップ４１４に移行する。そうでなければ、制御はステップ４０８に戻る。
【００６０】
ステップ４１２において、ＣＰＵ１０２は、応答を受信したプリントサーバを接続可能なサーバとして決定し、そのプリントサーバを特定する情報（例えばＩＰアドレス）を、例えばＲＡＭ１０６に記憶する。その後、制御は図５のステップ３０６に移行する。
【００６１】
ステップ４１４において、ＣＰＵ１０２は、カウンタｋが上限値ｋｍａｘ（アドレスリスト記憶部に記憶されたＩＰアドレスの数）よりも小さいか否かを判定する。小さいと判定された場合、即ち、ＨＤＤ１０８のアドレスリスト記憶部１５０に、まだ通信に使用していないＩＰアドレスが存在する場合、制御はステップ４１６に移行する。そうでなければ、即ち、ＨＤＤ１０８のアドレスリスト記憶部１５０に記憶された全てのＩＰアドレスを使用した場合、制御はステップ４１８に移行する。
【００６２】
ステップ４１６において、ＣＰＵ１０２は、現在のカウンタｋに“１”を加算した値を新たなカウンタｋとする。その後、制御はステップ４０６に戻る。
【００６３】
このように、第１タイムアウト時間をタイムアウト時間として設定して、ステップ４０４〜ステップ４１６を実行することによって、タイムアウト時間内に応答が返って来る、良好な通信状態で通信可能なプリントサーバを決定することができる。
【００６４】
ステップ４１８において、ＣＰＵ１０２は、現在設定されているタイムアウト時間が、短いタイムアウト時間であるか否かを判定する。例えば、ＣＰＵ１０２は、第１タイムアウト時間記憶部１５２から第１タイムアウト時間を読出して、現在のタイムアウト時間と比較する。同じであれば、現在のタイムアウト時間は短いタイムアウト時間であると判定される。現在のタイムアウト時間が短いタイムアウト時間であると判定された場合（即ち、長いタイムアウト時間を使用した処理がまだ実行されていない場合）、制御はステップ４２０に移行する。そうでなければ、即ち、長いタイムアウト時間を使用した処理が完了していれば、制御は図５のステップ３０６に移行する。
【００６５】
ステップ４２０において、ＣＰＵ１０２は、通信に使用する長いタイムアウト時間を設定する。具体的には、ＣＰＵ１０２は、ＨＤＤ１０８の第２タイムアウト時間記憶部１５４から第２タイムアウト時間（６０秒）を読出し、タイムアウト時間として設定する。その後、制御はステップ４０４に戻り、上記したようにステップ４０４〜ステップ４１６が実行される。ステップ４１０では、プリントサーバからの応答を６０秒間待受ける。そして、上記したように、ステップ４０８で応答を受信したと判定された場合、ステップ４１２により、接続可能なプリントサーバが決定される。
【００６６】
ステップ４００の後、ステップ３０６において、ＣＰＵ１０２は、通信可能なプリントサーバが決定されているか否かを判定する。例えば、ＣＰＵ１０２は、ＲＡＭ１０６に、ステップ４１２で決定されたプリントサーバを特定する情報（ＩＰアドレス）が記憶されているか否かを判定する。記憶されている（プリントサーバが決定されている）と判定された場合、制御はステップ３１０に移行する。そうでなければ、即ち、第１タイムアウト時間及び第２タイムアウト時間で、ステップ４０４〜ステップ４１６が合計２回繰返されても、応答を受信できなかった場合、制御はステップ３０８に移行する。
【００６７】
ステップ３０８において、ＣＰＵ１０２は、エラー処理を実行する。例えば、ＣＰＵ１０２は、操作部１３０にエラー画面を表示する。例えば、図７に示すように、基本画面の上に、エラーメッセージを含むサブ画面５００が表示される。その後、制御はステップ３２４に移行する。なお、図７において、ＯＫキー５０２がタッチされた場合、サブ画面５００は消去される。
【００６８】
ステップ３１０において、ＣＰＵ１０２は、ステップ４１２で通信可能と決定されたプリントサーバに、プリントジョブの情報を要求し、受信したプリントジョブの情報を操作部１３０に表示する。要求を受信したプリントサーバは、例えば、現在ＨＤＤに記憶されているプリントジョブの情報として、ファイル名及び受付時刻（プリントジョブを受信した時刻）の情報をＭＦＰ１００に送信する。受信されたプリントジョブの情報は、図８に示すように画面５２０に、未処理のプリントジョブリスト５２２として表示される。後述するように、ユーザが表示されているプリントジョブにタッチして選択した後、スタートキー５２４にタッチすると、プリントが実行される。図８において、２番目のジョブの反転表示は、２番目のジョブが選択されていることを表す。
【００６９】
ステップ３１２において、ＣＰＵ１０２は、タッチパネルディスプレイ１３２が操作されたか否かを判定する。操作されたと判定された場合、制御はステップ３１４に移行する。そうでなければ、ステップ３１２が繰返される。
【００７０】
ステップ３１４において、ＣＰＵ１０２は、ステップ３１２で操作されたと判定されたキーが、キャンセルキー５２６であるか否かを判定する。キャンセルキー５２６であると判定された場合、ＣＰＵ１０２は、図８に示した画面５２０を消去する。その後、制御はステップ３２４に移行する。そうでなければ、制御は３１６に移行する。
【００７１】
ステップ３１６において、ＣＰＵ１０２は、ステップ３１２で操作されたと判定されたキーが、スタートキー５２４であるか否かを判定する。スタートキー５２４であると判定された場合、制御はステップ３２０に移行する。そうでなければ、制御は３１８に移行する。
【００７２】
ステップ３１８において、ＣＰＵ１０２は、操作されたキーに対応する処理を実行し、制御はステップ３１２に戻る。例えば、ユーザが、プリントジョブリスト５２２に表示されているプリントジョブにタッチすると、そのプリントジョブが選択されこととし、タッチした行を反転表示する。また、反転表示された行にタッチすると、対応するプリントジョブの選択が解除され、タッチされた行は反転表示から元の表示に戻る。複数の行が選択可能であってもよい。プリントジョブの数が多ければ、ユーザがプリントジョブリスト５２２の右側に表示されているスクロールバーを操作することによって、プリントジョブの表示がスクロールされる。
【００７３】
ステップ３２０において、ＣＰＵ１０２は、印刷するプリントジョブが確定しているか否かを判定する。プリントジョブの確定は、プリントジョブリスト５２２の行が反転表示されているか否かで判定することができる。確定されていると判定された場合、制御はステップ３２２に移行する。そうでなければ、制御は３１２に戻る。
【００７４】
このように、ステップ３１０〜３２０により、ユーザは、表示されたプリントジョブの中から印刷したいものを選択し、スタートキー５２４にタッチして印刷を指示することができる。
【００７５】
印刷が指示された場合、ステップ３２２において、ＣＰＵ１０２は、プリント処理を実行する。具体的には、ＣＰＵ１０２は、選択されているプリントジョブを特定する情報（例えば、選択されているファイル名及び受付時刻）と、そのプリントジョブのデータを要求するコマンドとを、ステップ３１０でプリントジョブの情報を受信したプリントサーバに送信する。これを受信したプリントサーバは、該当するプリントジョブのデータをＭＦＰ１００に送信する。ＣＰＵ１０２は、受信したプリントジョブを基に、画像形成部１２２、画像処理部１２４、及び画像メモリ１２６等を制御して、プリントを実行する。プリントが完了すれば、制御はステップ３２４に移行し、終了が指示されるまで、上記の処置が繰返される。
【００７６】
以上により、ユーザが端末装置からプリントを指示した後、ＭＦＰ１００を操作してプリントを実行する場合に、最初に短いタイムアウト時間（第１タイムアウト時間）を用いて、プリントサーバからの応答を受信できるか否かを判定し、応答を受信できない場合には、長いタイムアウト時間（第２タイムアウト時間）を用いて、プリントサーバからの応答を受信できるか否かを判定することにより、必要なプリントジョブを取得することができるプリントサーバを、短時間且つ確実に決定することができる。
【００７７】
（変形例１）
上記では、ＭＦＰ１００のアドレスリスト記憶部１５０に登録されたＩＰアドレスが固定されている場合を説明したが、これに限定されない。例えば、第１プリントサーバ１６０〜第３プリントサーバ１６４の負荷状態は時々刻々と変化するので、これに対応するためには、アドレスリスト記憶部１５０に登録されているＩＰアドレスの順序（接続確認を行なう優先順位）を変更することが好ましい。その一例を図９に示す。図９のフローチャートが図６のフローチャートと異なる点は、ステップ４３０が追加されている点だけである。図６と同じ参照番号を付した図９のステップにおいては、図６と同じ処理が実行されるので、ここではそれらの説明は繰返さない。
【００７８】
第１プリントサーバ１６０〜第３プリントサーバ１６４の何れかから応答を受信した場合、ステップ４１２において、接続可能なプリントサーバが決定された後、ステップ４３０において、ＣＰＵ１０２は、ＨＤＤ１０８に記憶されたプリントサーバの順位を変更する。具体的には、ＣＰＵ１０２は、アドレスリスト記憶部１５０において、接続可能なサーバとして決定されたプリントサーバのアドレスを、最も優先順位が高い位置に移動させる。例えば、アドレスリスト記憶部１５０の登録順序が図４に示した状態で、接続確認処理が実行され、第２プリントサーバから応答を受信した場合、第２プリントサーバのアドレス“１９２．１６８．ｘ．４”を、最上位の行に移動し、その他のアドレスは順序を維持したまま、２番目以下の行に移動させる。その後、プリントが指示されると、第１プリントサーバ１６０〜第３プリントサーバ１６４との接続確認処理においては、変更後のアドレスリスト記憶部１５０が使用される。
【００７９】
通常、第１プリントサーバ１６０〜第３プリントサーバ１６４の負荷状態の変化は、短時間では大きく変化することはないので、上記のようにアドレスリスト記憶部１５０を変更することによって、一度プリントが指示された後、しばらくの間は、プリントが指示された場合の接続確認処理に要する時間（通信可能なプリントサーバの決定時間）を短くすることができる。また、第１プリントサーバ１６０〜第３プリントサーバ１６４の負荷状態の変化に常に対応することができるので、長期間に関しても、接続確認処理に要する時間を短くすることができる。
【００８０】
（変形例２）
上記では、第１及び第２タイムアウト時間が固定されている場合を説明したが、これに限定されない。第１プリントサーバ１６０〜第３プリントサーバ１６４の負荷状態は時々刻々と変化するので、これに対応するためには、第１及び第２タイムアウト時間を変更することが好ましい。その一例を図１０に示す。以下においては、図６と同じ参照番号を付した図１０のステップにおいては、図６と同じ処理が実行されるので、それらの説明は繰返さない。
【００８１】
ステップ４０８において、第１プリントサーバ１６０〜第３プリントサーバ１６４の何れかから応答を受信した場合、ステップ４４０において、ＣＰＵ１０２は、データ送信から応答を受信するまでに要した時間（以下「接続時間」ともいう）を求めて、ＲＡＭ１０６に記憶する。具体的には、ＣＰＵ１０２は、タイマ１１０から現在時刻を取得して、ＲＡＭ１０６の所定領域に記憶されている時刻情報（ステップ４０６で記憶）との差を求めて、接続時間とする。
【００８２】
その後、ステップ４１２において、接続可能なプリントサーバが決定された後、ステップ４４２において、ＣＰＵ１０２は、接続可能なプリントサーバの決定に使用されたタイムアウト時間が、第１タイムアウト時間（短いタイムアウト時間）であるか否かを判定する。第１タイムアウト時間であると判定された場合、制御はステップ４４４に移行する。そうでなければ、制御はステップ４４６に移行する。この判定は、ＲＡＭ１０６に記憶された接続時間と、ＨＤＤ１０８に記憶された第１タイムアウト時間とを比較することにより行なうことができる。
【００８３】
ステップ４４４において、ＣＰＵ１０２は、ＨＤＤ１０８の第１タイムアウト時間記憶部１５２に記憶された第１タイムアウト時間をより短くする。具体的には、ＣＰＵ１０２は、ＲＡＭ１０６に記憶された接続時間と現在の第１タイムアウト時間とを比較して、現在の第１タイムアウト時間を変更する。例えば、現在の第１タイムアウト時間が３０秒であり、第１タイムアウト時間（３０秒）を用いて接続確認処理を実行した結果、接続時間が１０秒であったとする。この場合、接続時間（１０秒）に所定の安全時間（例えば５秒）を加算した値（１５秒）を、新たな第１タイムアウト時間として決定し、ＨＤＤ１０８に記憶された第１タイムアウト時間に上書きする。但し、新たな第１タイムアウト時間が、現在の第１タイムアウト時間よりも大きくなる場合には、新たな第１タイムアウト時間を破棄する。即ち、計算された値が第１タイムアウト時間として使用されるのは、接続時間が、現在の第１タイムアウト時間よりも安全時間以上短い場合である。なお、安全時間は、より安定して接続を確認するために設ける時間的余裕である。
【００８４】
ステップ４４６において、ＣＰＵ１０２は、ＨＤＤ１０８の第１タイムアウト時間記憶部１５２に記憶された第１タイムアウト時間をより長くする。具体的には、ＣＰＵ１０２は、ＲＡＭ１０６に記憶された接続時間と現在の第１タイムアウト時間とを比較して、現在の第１タイムアウト時間を変更する。例えば、現在の第１及び第２タイムアウト時間がそれぞれ１０秒及び６０秒であり、第１タイムアウト時間（１０秒）を用いて接続確認処理を実行した結果、応答を受信することができず、第２タイムアウト時間（６０秒）を用いて接続確認処理を実行した結果、応答を受信でき、その接続時間が３０秒であったとする。この場合、接続時間（３０秒）に所定の安全時間（例えば５秒）を加算した値（３５秒）を、新たな第１タイムアウト時間として決定し、ＨＤＤ１０８に記憶された第１タイムアウト時間に上書きする。但し、新たな第１タイムアウト時間が、現在の第２タイムアウト時間よりも大きくなる場合には、新たな第１タイムアウト時間を破棄する。即ち、計算された値が第１タイムアウト時間として使用されるのは、接続時間が、現在の第２タイムアウト時間よりも安全時間以上短い場合である。
【００８５】
上記では安全時間が５秒である場合を説明したが、これに限定されない。安全時間は０秒（即ち安全時間を設けない）であってもよい。
【００８６】
新たな第１タイムアウト時間を決定する方法は、上記した接続時間に所定の安全時間を加算する方法に限定されない。例えば、接続時間を所定の比率ａ（例えば、ａ＝１．１）で増加させた値、即ち、接続時間×ａ  を新たな第１タイムアウト時間としてもよい。また、現在の第１タイムアウト時間と接続時間との差に応じて、新たな第１タイムアウト時間を決定してもよい。
【００８７】
第１タイムアウト時間を短くした場合、第２タイムアウト時間も短くしてもよい。例えば、第１タイムアウト時間を短くした時間と同じ時間だけ、第２タイムアウト時間を短くする。また、第１タイムアウト時間を長くした場合、第２タイムアウト時間も長くしてもよい。例えば、第１タイムアウト時間を長くした時間と同じ時間だけ、第２タイムアウト時間を長くする。
【００８８】
（変形例３）
第１タイムアウト時間の変更量に制限を設けてもよい。例えば、図１０のステップ４４６において、新たな第１タイムアウト時間を決定するときに、上限値を設けてもよい。現在の第１及び第２タイムアウト時間がそれぞれ１０秒及び６０秒であり、第１タイムアウト時間（１０秒）を用いて接続確認処理を実行した結果、応答を受信することができず、第２タイムアウト時間（６０秒）を用いて接続確認処理を実行した結果、応答を受信でき、その接続時間が２７秒であったとする。また、安全時間として５秒、第１タイムアウト時間の上限値として３０秒が、ＨＤＤ１０８に記憶されているとする。この場合、図１０のステップ４４６において、ＣＰＵ１０２は、新たな第１タイムアウト時間の候補（接続時間＋安全時間）として３２秒（２７秒＋５秒）を得る。得られた値（３２秒）は、上限値（３０秒）を超えているので、ＣＰＵ１０２は、上限値（３０秒）を新たな第１タイムアウト時間として決定する。
【００８９】
なお、第１タイムアウト時間が上限値であった場合、次回からの接続確認処理においては、第１タイムアウト時間を使用しないようにしてもよい。その場合には、ＣＰＵ１０２は、接続確認処理において、第２タイムアウト時間のみを使用する。その後、図１０のステップ４４４において、短い接続時間が得られ、上限値よりも小さい新たな第１タイムアウト時間が決定された場合には、次回の接続確認処理においては、第１及び第２タイムアウト時間を使用するようにしてもよい。例えば、現在の第１タイムアウト時間が上限値の３０秒であり、第２タイムアウト時間が６０秒であり、第２タイムアウト時間（６０秒）のみを用いて接続確認処理を実行した結果、応答を受信することができ、その接続時間が１０秒であったとする。この場合、図１０のステップ４４４において、新たな第１タイムアウト時間の候補である、接続時間＋安全時間は１５秒（１０秒＋５秒）となる。したがって、第１タイムアウト時間は１５秒に設定され、次回の接続確認処理においては、ＣＰＵ１０２は、第１及び第２タイムアウト時間を使用する。
【００９０】
さらに、第１タイムアウト時間が上限値であった場合、次回からの接続確認処理においては、第１タイムアウト時間を使用せず、第２タイムアウト時間と、それよりも長い第３タイムアウト時間とを使用してもよい。例えば、第２タイムアウト時間が６０秒であれば、第３タイムアウト時間を９０秒に設定することができる。その場合にも、図１０のステップ４４４において、より短い接続時間が得られ、上限値よりも小さい新たな第１タイムアウト時間が決定された場合には、次回の接続確認処理においては、第１及び第２タイムアウト時間を使用するようにしてもよい。
【００９１】
変形例３においても、安全時間は５秒以外の値であってもよい。安全時間は０秒（即ち安全時間を設けない）であってもよい。
【００９２】
（変形例４）
変形例３と同様に、第１タイムアウト時間の変更量に制限を設けるが、上限値の代わりに、又は上限値に加えて、下限値を設けてもよい。例えば、図１０のステップ４４４において、新たな第１タイムアウト時間を決定するときに、下限値を設ける。現在の第１及び第２タイムアウト時間がそれぞれ３０秒及び６０秒であり、第１タイムアウト時間（３０秒）を用いて接続確認処理を実行した結果、応答を受信することができ、その接続時間が３秒であったとする。また、安全時間として５秒、第１タイムアウト時間の下限値として１０秒が、ＨＤＤ１０８に記憶されているとする。この場合、図１０のステップ４４４において、ＣＰＵ１０２は、新たな第１タイムアウト時間の候補（接続時間＋安全時間）として８秒（３秒＋５秒）を得る。得られた値（８秒）は、下限値（１０秒）未満であるので、ＣＰＵ１０２は、下限値（１０秒）を新たな第１タイムアウト時間として決定する。
【００９３】
変形例４においても、安全時間は５秒以外の値であってもよい。安全時間は０秒（即ち安全時間を設けない）であってもよい。
【００９４】
（変形例５）
図１１に示すように、ＨＤＤ１０８に接続確認結果記憶部１５６を設け、過去の接続時間を記憶してもよい。例えば、図１０のステップ４４０において、ＣＰＵ１０２は、計算した接続時間を、ＨＤＤ１０８の接続確認結果記憶部１５６に追加する。そして、図１０のステップ４４４又は４４６において第１タイムアウト時間を変更する場合に、ＣＰＵ１０２は、接続確認結果記憶部１５６に記憶されている接続時間の平均値（例えば、過去１０回の平均値）を計算し、上記した新たな第１タイムアウト時間の候補の計算において、得られた値を接続時間として用いる。
【００９５】
（変形例６）
上記では、ＭＦＰ１００が、接続確認処理を実行する場合を説明したが、これに限定されない。例えば、図１２に示すように、ＭＦＰ１００からの要求を受けて、接続確認処理を実行する接続確認装置１７２がネットワーク１８０に接続されていてもよい。
【００９６】
ＭＦＰ１００が実行するプログラムの制御構造は、図５に類似しており、例えば図１３のような制御構造であればよい。図１３が、図５と異なる点は、図５のステップ４００が、ステップ４５０に変更されているだけである。図５と同じ参照番号を付した図１３のステップにおいては、図５と同じ処理が実行されるので、それらの説明は繰返さない。
【００９７】
ステップ４５０において、ＣＰＵ１０２は、接続確認装置１７２に接続確認処理の実行を要求する。具体的には、ＣＰＵ１０２は、ネットワーク１８０を介して、所定のコマンドを接続確認装置１７２に送信する。コマンドを受信した接続確認装置１７２は、後述するように接続確認処理を実行し、その結果をＭＦＰ１００にネットワーク１８０を介して送信する。
【００９８】
接続確認装置１７２は、例えばコンピュータであり、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＨＤＤ、ＮＩＣを備えている。接続確認装置１７２のＨＤＤには、図４と同様に、アドレスリスト記憶部１５０と、第１タイムアウト時間記憶部１５２と、第２タイムアウト時間記憶部１５４とが設けられている。接続確認装置１７２のＣＰＵは、ＭＦＰ１００からの要求を受けて、例えば、図６、図９、又は図１０と同様のプログラムを実行し、その結果の情報をＭＦＰ１００に送信する。例えば、接続確認装置１７２のＣＰＵが実行する、図６と同様のプログラムの制御構造は、図１４のような制御構造であればよい。図１４が、図６と異なる点は、図６のステップ４０２の前にステップ４６０が実行され、ステップ４１８の後にステップ４６２が実行される点だけである。図６と同じ参照番号を付した図１４のステップにおいては、図６と同じ処理が実行されるので、それらの説明は繰返さない。
【００９９】
ステップ４６０において、接続確認装置１７２のＣＰＵは、接続確認処理の実行を指示するコマンドを受信したか否かを判定する。受信したと判定された場合、制御はステップ４０２に移行し、ステップ４０２以降の処理（接続確認処理）が実行される。そうでなければ、ステップ４６０が繰返される。
【０１００】
接続確認処理が終了した後、ステップ４６２において、接続確認装置１７２のＣＰＵは、接続確認処理の結果を、ステップ４６０でコマンドを受信したＭＦＰ１００に送信する。送信される情報は、プリントサーバから応答を受信した場合、そのプリントサーバのアドレスであり、何れのプリントサーバからも応答を受信できなかった場合には、その旨を表すエラー情報である。
【０１０１】
このようなシステム構成により、ＭＦＰ１００は、ユーザからプリントの実行を指示された場合、データを要求すべきプリントサーバのアドレスを、接続確認装置１７２から取得することができる。したがって、ＭＦＰ１００は、接続可能なプリントサーバを特定する機能を備えていなくてもよい。複数のデジタル複合機が、ネットワーク１８０に接続されている場合、各デジタル複合機が、接続可能なプリントサーバを特定する機能を備えている必要がないので、一般的なデジタル複合機をほぼそのまま使用することができ、システムの運用が容易になる。
【０１０２】
（変形例７）
変形例６では、ＭＦＰ１００からの要求を受信して、接続確認装置１７２が接続確認処理を実行したが、接続確認装置１７２は、ＭＦＰ１００からの要求がなくても接続確認処理を定期的に実行してもよい。システム構成は、図１２と同じである。接続確認装置１７２は、例えば、所定の時間が経過する毎に、又は、予め設定された時刻になれば、接続確認処理を定期的に実行し、その結果を接続確認装置１７２のＨＤＤ又はＲＡＭに記憶しておく。記憶される情報は、プリントサーバから応答を受信した場合には、そのプリントサーバのアドレスであり、何れのプリントサーバからも応答を受信できなかった場合には、接続不可を表すデータである。
【０１０３】
この場合には、ＭＦＰ１００は接続確認装置１７２に、接続可能なプリントサーバのアドレスを要求し、要求を受信した接続確認装置１７２は、ＨＤＤ又はＲＡＭに、プリントサーバのアドレスが記憶されている場合には、そのアドレスをＭＦＰ１００に送信する。ＨＤＤ又はＲＡＭに、接続不可を表すデータが記憶されている場合には、接続確認装置１７２は、何れのプリントサーバにも接続できないことを表す情報をＭＦＰ１００に送信する。
【０１０４】
このようにすれば、ＭＦＰ１００は、接続確認装置１７２に、通信可能なプリントサーバのアドレスを要求した後、接続確認装置１７２が接続確認処理を実行する時間だけ待つ必要がないので、より短時間に通信可能なプリントサーバのアドレスを取得することができる。
【０１０５】
上記の実施の形態及びその変形例においては、ユーザがＭＦＰ１００を自由に使用できる場合を説明したが、ＭＦＰ１００を使用する場合に、ユーザのログイン認証を実行してもよい。
【０１０６】
上記では、何れのプリントサーバからも応答を受信できなかった場合、エラー画面を表示する場合を説明したが、これに限定されない。例えば、エラー画面の表示に加えて、管理者等の予め設定された電子メールアドレスに、所定のメッセージ（例えば、何れのプリントサーバに接続できない旨のメッセージ）を送信してもよい。
【０１０７】
上記では、プリントサーバとの通信状態を確認するために、ｐｉｎｇコマンド使用する場合を説明したが、これに限定されない。ＭＦＰ１００がプリントサーバとの接続を確認するために送信するデータ（通信コマンド等）は、プリントサーバが、受信したデータに対して、そのデータの送信元に、速やかに応答を返すデータであればよい。
【０１０８】
また、第１〜第３タイムアウト時間は、上記した値に限定されず、システムの構成、及びシステムの運用方針等に応じて適宜設定することができる。
【０１０９】
上記では、３台の第１プリントサーバ１６０〜第３プリントサーバ１６４がネットワーク１８０に接続されている場合を説明したが、これに限定されない。複数のプリントサーバがネットワークに接続されていればよい。
【０１１０】
上記では、デジタル複合機がプリントサービスを提供するために、接続可能なプリントサーバを決定する場合を説明したがこれに限定されない。ネットワークに、複数のプリントサーバの代わりに、又は、複数のプリントサーバに加えて、画像ファイルを共有するための複数のＦＴＰサーバが接続されていてもよい。その場合には、デジタル複合機は、スキャナ機能によって、読取った画像データをＦＴＰサーバに送信する場合に、上記と同様に接続確認処理を実行して、接続可能なＦＴＰサーバを決定することができる。
【０１１１】
また、デジタル複合機に限らず、一般のデジタル機器がネットワークに接続されており、デジタル機器の機能を実行するために、ネットワークに接続された複数のサーバコンピュータの何れかと通信する必要がある場合であってもよい。デジタル機器は、複数のサーバコンピュータを対象として、上記と同様に接続確認処理を実行すれば、通信可能なサーバコンピュータを、従来よりも短時間に、より確実に、且つより効率的に決定することができる。
【０１１２】
以上、実施の形態を説明することにより本発明を説明したが、上記した実施の形態は例示であって、本発明は上記した実施の形態に限定されるものではなく、種々変更して実施することができる。
【符号の説明】
【０１１３】
１００    ＭＦＰ
１０２    ＣＰＵ
１０４    ＲＯＭ
１０６    ＲＡＭ
１０８    ＨＤＤ
１１０    タイマ
１１２    ＮＩＣ
１１４    バス
１２０    原稿読取部
１２２    画像形成部
１２４    画像処理部
１２６    画像メモリ
１３０    操作部
１３２    タッチパネルディスプレイ
１３４    操作キー部
１６０    第１プリントサーバ
１６２    第２プリントサーバ
１６４    第３プリントサーバ
１７０    第１端末装置
１８０    ネットワーク
【図１】
2013232825.tif 000003
【図２】
2013232825.tif 000004
【図３】
2013232825.tif 000005
【図４】
2013232825.tif 000006
【図５】
2013232825.tif 000007
【図６】
2013232825.tif 000008
【図７】
2013232825.tif 000009
【図８】
2013232825.tif 000010
【図９】
2013232825.tif 000011
【図１０】
2013232825.tif 000012
【図１１】
2013232825.tif 000013
【図１２】
2013232825.tif 000014
【図１３】
2013232825.tif 000015
【図１４】
2013232825.tif 000016