(57)【要約】【課題】送受信バッファが不足しにくく速やかに通信処理を行うことができる画像処理装置を提供する。【解決手段】画像処理装置１は、ネットワーク８００を介して外部装置１００を対象とする通信処理を行う。画像処理装置１は、通信処理を行うとき、通信処理の対象である外部装置１００が、所定の条件に該当する装置が登録された宛先リスト２７ｂに登録された装置であるか否かを判定する。判定結果に基づいて定めたタイムアウト時間に応じて、通信処理において、画像処理装置１は、タイムアウトが発生したことを判定する。タイムアウトが発生したことの判定結果と、外部装置１００が宛先リスト２７ｂに登録された装置であるか否かの判定結果とに応じて、画像処理装置１は、宛先リストを更新する。【選択図】図１
2018122531.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して外部装置を対象とする通信処理を行う画像処理装置であって、
前記通信処理を行うとき、前記通信処理の対象である外部装置が、所定の条件に該当する装置が登録された宛先リストに登録された装置であるか否かを判定する第１判定手段と、
前記通信処理において、前記第１判定手段の判定結果に基づいて定めたタイムアウト時間に応じて、タイムアウトが発生したことを判定する第２判定手段と、
前記第２判定手段の判定結果と前記第１判定手段の判定結果とに応じて、前記宛先リストを更新する更新手段とを備える、画像処理装置。
【請求項２】
前記宛先リストは、所定の間に前記タイムアウトが発生したことがある装置が登録されているブラックリスト方式のリストである、請求項１に記載の画像処理装置。
【請求項３】
前記更新手段は、前記第２判定手段により前記タイムアウトが発生したことが判定され、かつ、前記第１判定手段により前記通信処理の対象である外部装置が前記宛先リストに登録された装置ではないと判定されたとき、前記通信処理の対象である外部装置を前記宛先リストに登録する、請求項１又は２に記載の画像処理装置。
【請求項４】
前記更新手段は、前記第１判定手段が、前記通信処理の対象である外部装置が前記宛先リストに登録された装置であると判定した場合において、前記第２判定手段により前記タイムアウトが発生したことが判定されずに前記通信処理が完了したとき、前記通信処理の対象である外部装置を前記宛先リストから削除する、請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記第２判定手段は、
前記第１判定手段が、前記通信処理の対象である外部装置が前記宛先リストに登録された装置であると判定したとき、所定時間よりも短い時間を前記タイムアウト時間と定め、
前記第１判定手段が、前記通信処理の対象である外部装置が前記宛先リストに登録された装置ではないと判定したとき、前記所定時間を前記タイムアウト時間と定める、請求項２から４のいずれかに記載の画像処理装置。
【請求項６】
前記第２判定手段は、前記第１判定手段が前記通信処理の対象である外部装置が前記宛先リストに登録された装置であると判定したとき、その外部装置を対象として行った過去の通信処理の履歴情報に基づいた時間だけ前記所定時間よりも短い時間を前記タイムアウト時間と定める、請求項５に記載の画像処理装置。
【請求項７】
前記第１判定手段が前記通信処理の対象である外部装置が前記宛先リストに登録された装置であると判定したとき、他の通信処理を優先して実行させる、請求項２から６のいずれかに記載の画像処理装置。
【請求項８】
前記第１判定手段が前記通信処理の対象である外部装置が前記宛先リストに登録された装置であると判定した場合において、当該通信処理よりも後に実行予定の他の通信処理が存在する場合には、当該通信処理の実行を一旦中止して前記他の通信処理の実行を開始すると共に、前記他の通信処理の実行を開始した後で、前記一旦中止した通信処理を実行する、請求項２から６のいずれかに記載の画像処理装置。
【請求項９】
前記宛先リストは、所定の間に前記タイムアウトが発生したことがない装置が登録されているホワイトリスト方式のリストである、請求項１に記載の画像処理装置。
【請求項１０】
前記更新手段は、前記第１判定手段が、前記通信処理の対象である外部装置が前記宛先リストに登録された装置ではないと判定した場合において、前記第２判定手段により前記タイムアウトが発生したことが判定されずに前記通信処理が完了したとき、前記通信処理の対象である外部装置を前記宛先リストに登録する、請求項１又は９に記載の画像処理装置。
【請求項１１】
前記宛先リストを記憶する記憶手段をさらに備える、請求項１から１０のいずれかに記載の画像処理装置。
【請求項１２】
請求項１から１１のいずれかに記載の画像処理装置と、
前記外部装置との間で通信処理を行って前記外部装置に記憶されたデータを取得する取得手段と、
前記取得手段により取得されたデータに基づいて用紙に画像を形成する画像形成手段とを備える、画像形成装置。
【請求項１３】
それぞれ前記ネットワークに接続された、複数の、請求項１１に記載の画像処理装置を含み、
前記複数の画像処理装置のうち第１の画像処理装置において、前記更新手段は、前記第１の画像処理装置の前記宛先リストを更新したとき、その更新に関する情報を送信し、
前記複数の画像処理装置のうち第２の画像処理装置において、前記更新手段は、前記第１の画像処理装置から送信された前記更新に関する情報に基づいて、前記第２の画像処理装置の前記宛先リストを更新する、画像処理システム。
【請求項１４】
それぞれ前記ネットワークに接続された、請求項１から１０のいずれかに記載の画像処理装置とリスト提供装置とを含み、
前記リスト提供装置は、前記宛先リストを記憶する記憶手段を有し、
前記更新手段は、前記第２判定手段の判定結果に応じて前記リスト提供装置に情報を送信することにより、前記宛先リストの更新を行う、画像処理システム。
【請求項１５】
ネットワークを介して外部装置を対象とする通信処理を行う画像処理装置の制御方法であって、
前記通信処理を行うとき、前記通信処理の対象である外部装置が、所定の条件に該当する装置が登録された宛先リストに登録された装置であるか否かを判定する第１判定ステップと、
前記通信処理において、前記第１判定ステップの判定結果に基づいて定めたタイムアウト時間に応じて、タイムアウトが発生したことを判定する第２判定ステップと、
前記第２判定ステップの判定結果と前記第１判定ステップの判定結果とに応じて前記宛先リストを更新する更新ステップとを備える、画像処理装置の制御方法。
【請求項１６】
ネットワークを介して外部装置を対象とする通信処理を行う画像処理装置の制御プログラムであって、
前記通信処理を行うとき、前記通信処理の対象である外部装置が、所定の条件に該当する装置が登録された宛先リストに登録された装置であるか否かを判定する第１判定ステップと、
前記通信処理において、前記第１判定ステップの判定結果に基づいて定めたタイムアウト時間に応じて、タイムアウトが発生したことを判定する第２判定ステップと、
前記第２判定ステップの判定結果と前記第１判定ステップの判定結果とに応じて前記宛先リストを更新する更新ステップとをコンピュータに実行させる、画像処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置、画像形成装置、画像処理システム、画像処理装置の制御方法、及び画像処理装置の制御プログラムに関し、特に、ネットワークを介して外部装置を対象とする通信処理を行うことができる画像処理装置、画像形成装置、画像処理システム、画像処理装置の制御方法、及び画像処理装置の制御プログラムに関する。
【背景技術】
【０００２】
画像形成装置（スキャナ機能、ファクシミリ機能、複写機能、プリンタとしての機能、データ通信機能、及びサーバ機能を備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）、ファクシミリ装置、複写機、プリンタなど）などの画像処理装置には、ネットワークを介して外部装置を対象とする通信処理を行うものがある。例えば、いわゆるプルプリントにより画像を形成（印刷）できる画像形成装置や、書類をスキャナ機能により読み取って外部装置に送信する画像処理装置などがある。
【０００３】
このような画像処理装置では、具体的には、例えばＨＴＴＰなどの通信プロトコルを用いて通信対象の装置との間で要求のコマンドや応答のコマンド（メッセージ）のやりとりを行い、各装置においてコマンドに応じた処理を実行する。このような通信のやりとりにはタイムアウト時間が設定されており、何らかの理由でタイムアウト時間内に通信先から応答がない場合は通信エラーとなる（タイムアウトの発生）。
【０００４】
タイムアウトは、例えば以下のような場合に発生する。すなわち、通信処理をサーバ等の外部装置を対象として行う場合において、外部装置に何らかのエラーが発生したりサーバ自体がダウンしたりし、画像処理装置から要求のコマンドが送信されても外部装置が応答を返せない状態が発生した場合を想定する。このような場合において、実際に画像処理装置から外部装置に対して要求のコマンドが送信されると、画像処理装置は、予め設定されたタイムアウト時間まで応答を待ち続ける。例えばタイムアウト時間が３０秒と設定されていると、画像処理装置は、３０秒間サーバからの応答を待ち続け、３０秒が経過しても応答がない場合に、通信処理のタイムアウトが発生する。
【０００５】
下記特許文献１には、双方向通信可能な印刷装置において、送信を行う場合に、送受信バッファの確保に失敗した時点で、バッファ空きを待つ状態にタイムアウトを設けることが記載されている。この印刷装置では、タイムアウトが発生した際、それ以降は１回だけ送信バッファへの書き込みにトライし、失敗すると処理を中止することで、通信処理以外にＣＰＵ等のリソースを回してパフォーマンス低下の影響を低減する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０９−０２４６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のような通信処理を行う場合、画像処理装置においては、データの一時記憶領域として送受信用のバッファが確保される。送受信バッファは、通信が終了すると解放される。
【０００８】
図１０は、従来の画像処理装置の通信動作の一例について説明する第１の図である。
【０００９】
図１０において、画像処理装置８０１と、ネットワークを介して画像処理装置８０１に接続された３つのサーバ８１０（サーバＡ８１０ａ、サーバＢ８１０ｂ、サーバＣ８１０ｃ）との間で行われる通信処理の一例が示されている。通信処理の対象（宛先）をサーバＡ８１０ａとする通信処理（通信処理１）を行う要求が行われると、画像処理装置８０１のシステムは、通信処理１を開始する（ステップＳ８０１）。画像処理装置８０１のシステムは、通信インターフェースに通信指示を行う。そうすると、通信インターフェースは、送受信バッファを確保する（すなわち、通信リソースを確保する；ステップＳ８０２）。通信インターフェースは、通信部に通信指示を行う。通信部は、サーバＡ８１０ａに対して、要求コマンドを送信する。そうすると、サーバＡ８１０ａは、画像処理装置８０１に応答を送信する。画像処理装置８０１は、通信部で応答を受信すると、通信インターフェースを介してシステムでそれを受信する。これにより、通信処理が行われる。ここで、通信インターフェースは、応答を受け取ると、通信リソースを開放する（ステップＳ８０３）。これにより、別の通信処理で使用することができる通信リソースが確保される。
【００１０】
ここで、サーバＡ８１０ａがダウンし、画像処理装置８０１との間で通信を行うことができない状態に陥った場合を想定する（ステップＳ８０４）。このような場合に、通信処理（通信処理２）を行う要求が行われると、通信処理２が開始される（ステップＳ８０５）。そうすると、ステップＳ８０２と同様に通信リソースが確保され（ステップＳ８０６）、サーバＡ８１０ａに要求が送信される。しかしながら、このとき、サーバＡ８１０ａはダウンしているため、応答が画像処理装置８０１に送信されない。そうすると、画像処理装置８０１は、要求を送信してから所定のタイムアウト時間（例えば、３０秒間）が経過するまで待機する（ステップＳ８０７）。タイムアウト時間が経過すると、画像処理装置８０１はタイムアウトが発生したと判断する。このとき、通信部は、通信インターフェースにタイムアウト通知を送信する。そうすると、通信インターフェースは、確保していた通信リソースを開放する（ステップＳ８０８）。
【００１１】
ところで、このような送受信バッファ用の通信リソースは有限である。送信処理が行われるときにリソースが不足していると送受信用バッファの確保に失敗してしまい、通信処理を実施することができず、リソースの空きが出るまで通信処理の実行自体が待たされる。
【００１２】
上述のようにタイムアウトが発生する場合、通信処理が開始されて確保された通信リソース（送受信バッファ）は、通信処理のタイムアウトが発生するまで、確保され続ける。そのため、画像処理装置において、応答を行えない外部装置を対象とした通信処理が連続的に発生すると、送受信バッファの空きが一時的になくなり、通信処理を行うことができなくなるという問題がある。すなわち、通信処理が連続的に発生すると、それらの通信処理のそれぞれについて、タイムアウトが発生するまでの例えば３０秒間だけ、送受信バッファが確保されたままの状態となる。そうすると、新たに送受信バッファを確保することができなくなり、その後の、正常に通信できる状態の別の外部装置に対する通信処理の実行自体が待たされる状態になる（いわゆるセマフォ待ちということがある）。
【００１３】
図１１は、従来の画像処理装置の通信動作の一例について説明する第２の図である。
【００１４】
図１１において、図１０と同様に、画像処理装置８０１と、ネットワークを介して画像処理装置８０１に接続された３つのサーバ８１０（サーバＡ８１０ａ、サーバＢ８１０ｂ、サーバＣ８１０ｃ）との間で行われる通信処理の一例が示されている。上記の問題について、図１１を参照して具体例を説明する。
【００１５】
サーバＡ８１０ａがダウンしている状態において（ステップＳ８５０）、同時に又は短期間に、それぞれサーバＡ８１０ａを宛先とする３つの通信処理（通信処理１、通信処理２、通信処理３）を行う要求が発生すると、画像処理装置８０１のシステムは、通信処理をパラレルに実行し（ステップＳ８５１，Ｓ８５３，Ｓ８５５）、通信インターフェースがそれぞれの通信処理について通信リソースを確保する（ステップＳ８５２，Ｓ８５４，Ｓ８５６）。各通信処理について画像処理装置８０１からサーバＡ８１０ａに要求が送信されるが、サーバＡ８１０ａから応答が送信されない状態となり、この状態が、タイムアウトが発生するまで３０秒間程度継続する。
【００１６】
ここで、３つの通信処理についての通信リソースが確保されたことで、通信リソースの空き（送受信バッファの空き）がなくなり、新たに通信処理用に通信リソースを確保することができなくなった場合を想定する。そうすると、タイムアウトが発生するまでに、サーバＡ８１０ａを宛先とする通信処理４が新たに要求されても（ステップＳ８５７）、通信リソースに空きがないことにより、通信リソースの確保に失敗する（ステップＳ８５８）。そのため、通信リソースの確保に失敗した通信処理４については、通信リソースに空きが生じて通信リソースを確保することができるまで待機状態となり、実行されるまでに時間がかかる。このようなことは、タイムアウトが発生するまでに正常動作中のサーバＢ８１０ｂを宛先とする通信処理５が新たに要求された場合においても同様である（ステップＳ８５９，Ｓ８６０）。
【００１７】
上記の特許文献１に記載されているような印刷装置は、送受信バッファの空きがなくなった後に、それを改善するようにタイムアウトを設けるものである。そのため、上記のような場合において送受信バッファの空きがなくなること自体は、未然に防止されない。
【００１８】
この発明はそのような問題点を解決するためになされたものであり、送受信バッファが不足しにくく速やかに通信処理を行うことができる画像処理装置、画像形成装置、画像処理システム、画像処理装置の制御方法、及び画像処理装置の制御プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１９】
上記目的を達成するためこの発明のある局面に従うと、ネットワークを介して外部装置を対象とする通信処理を行う画像処理装置は、通信処理を行うとき、通信処理の対象である外部装置が、所定の条件に該当する装置が登録された宛先リストに登録された装置であるか否かを判定する第１判定手段と、通信処理において、第１判定手段の判定結果に基づいて定めたタイムアウト時間に応じて、タイムアウトが発生したことを判定する第２判定手段と、第２判定手段の判定結果と第１判定手段の判定結果とに応じて宛先リストを更新する更新手段とを備える。
【００２０】
好ましくは、宛先リストは、所定の間にタイムアウトが発生したことがある装置が登録されているブラックリスト方式のリストである。
【００２１】
好ましくは、更新手段は、第２判定手段によりタイムアウトが発生したことが判定され、かつ、前記第１判定手段により前記通信処理の対象である外部装置が前記宛先リストに登録された装置ではないと判定されたとき、通信処理の対象である外部装置を宛先リストに登録する。
【００２２】
好ましくは、更新手段は、第１判定手段が、通信処理の対象である外部装置が宛先リストに登録された装置であると判定した場合において、第２判定手段によりタイムアウトが発生したことが判定されずに通信処理が完了したとき、通信処理の対象である外部装置を宛先リストから削除する。
【００２３】
好ましくは、第２判定手段は、第１判定手段が、通信処理の対象である外部装置が宛先リストに登録された装置であると判定したとき、所定時間よりも短い時間をタイムアウト時間と定め、第１判定手段が、通信処理の対象である外部装置が宛先リストに登録された装置ではないと判定したとき、所定時間をタイムアウト時間と定める。
【００２４】
好ましくは、第２判定手段は、第１判定手段が通信処理の対象である外部装置が宛先リストに登録された装置であると判定したとき、その外部装置を対象として行った過去の通信処理の履歴情報に基づいた時間だけ所定時間よりも短い時間をタイムアウト時間と定める。
【００２５】
好ましくは、第１判定手段が通信処理の対象である外部装置が宛先リストに登録された装置であると判定したとき、他の通信処理を優先して実行させる。
【００２６】
好ましくは、第１判定手段が通信処理の対象である外部装置が宛先リストに登録された装置であると判定した場合において、当該通信処理よりも後に実行予定の他の通信処理が存在する場合には、当該通信処理の実行を一旦中止して他の通信処理の実行を開始すると共に、他の通信処理の実行を開始した後で、一旦中止した通信処理を実行する。
【００２７】
好ましくは、宛先リストは、所定の間にタイムアウトが発生したことがない装置が登録されているホワイトリスト方式のリストである。
【００２８】
好ましくは、更新手段は、第１判定手段が、通信処理の対象である外部装置が宛先リストに登録された装置ではないと判定した場合において、第２判定手段によりタイムアウトが発生したことが判定されずに通信処理が完了したとき、通信処理の対象である外部装置を宛先リストに登録する。
【００２９】
好ましくは、画像処理装置は、宛先リストを記憶する記憶手段をさらに備える。
【００３０】
この発明の他の局面に従うと、画像形成装置は、上述のいずれかに記載の画像処理装置と、外部装置との間で通信処理を行って外部装置に記憶されたデータを取得する取得手段と、取得手段により取得されたデータに基づいて用紙に画像を形成する画像形成手段とを備える。
【００３１】
この発明のさらに他の局面に従うと、画像処理システムは、それぞれネットワークに接続された、複数の、上述に記載の画像処理装置を含み、複数の画像処理装置のうち第１の画像処理装置において、更新手段は、第１の画像処理装置の宛先リストを更新したとき、その更新に関する情報を送信し、複数の画像処理装置のうち第２の画像処理装置において、更新手段は、第１の画像処理装置から送信された更新に関する情報に基づいて、第２の画像処理装置の宛先リストを更新する。
【００３２】
この発明のさらに他の局面に従うと、画像処理システムは、それぞれネットワークに接続された、上述のいずれかに記載の画像処理装置とリスト提供装置とを含み、リスト提供装置は、宛先リストを記憶する記憶手段を有し、更新手段は、第２判定手段の判定結果に応じてリスト提供装置に情報を送信することにより、宛先リストの更新を行う。
【００３３】
この発明のさらに他の局面に従うと、ネットワークを介して外部装置を対象とする通信処理を行う画像処理装置の制御方法は、通信処理を行うとき、通信処理の対象である外部装置が、所定の条件に該当する装置が登録された宛先リストに登録された装置であるか否かを判定する第１判定ステップと、通信処理において、第１判定ステップの判定結果に基づいて定めたタイムアウト時間に応じて、タイムアウトが発生したことを判定する第２判定ステップと、第２判定ステップの判定結果と第１判定ステップの判定結果とに応じて宛先リストを更新する更新ステップとを備える。
【００３４】
この発明のさらに他の局面に従うと、ネットワークを介して外部装置を対象とする通信処理を行う画像処理装置の制御プログラムは、通信処理を行うとき、通信処理の対象である外部装置が、所定の条件に該当する装置が登録された宛先リストに登録された装置であるか否かを判定する第１判定ステップと、通信処理において、第１判定ステップの判定結果に基づいて定めたタイムアウト時間に応じて、タイムアウトが発生したことを判定する第２判定ステップと、第２判定ステップの判定結果と第１判定ステップの判定結果とに応じて宛先リストを更新する更新ステップとをコンピュータに実行させる。
【発明の効果】
【００３５】
これらの発明に従うと、送受信バッファが不足しにくく速やかに通信処理を行うことができる画像処理装置、画像形成装置、画像処理システム、画像処理装置の制御方法、及び画像処理装置の制御プログラムを提供することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態の１つにおける画像処理システムの構成を示す図である。
【図２】画像形成装置を示す斜視図である。
【図３】画像形成装置のハードウェア構成を示すブロック図である。
【図４】サーバのハードウェア構成を示すブロック図である。
【図５】画像形成装置の通信処理に関する動作を示すフローチャートである。
【図６】画像形成装置の通信処理の実行時の動作を示すフローチャートである。
【図７】本実施の形態に係る画像形成装置が通信処理を行う場合の動作例を示す第１のシーケンス図である。
【図８】本実施の形態に係る画像形成装置が通信処理を行う場合の動作例を示す第２のシーケンス図である。
【図９】上述の実施の形態の一変形例に係る画像処理システムの構成を示すブロック図である。
【図１０】従来の画像処理装置の通信動作の一例について説明する第１の図である。
【図１１】従来の画像処理装置の通信動作の一例について説明する第２の図である。
【発明を実施するための形態】
【００３７】
以下、本発明の実施の形態における画像処理装置を用いた画像処理システムについて説明する。
【００３８】
画像処理システムは、サーバ装置（以下、単にサーバということがある）と、画像形成装置とを有している。サーバと複数の画像形成装置のそれぞれとは、ネットワークを介して互いに通信可能に接続されている。ネットワークには、このほか、例えばユーザが利用するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などが接続されていてもよい。画像処理システムにおいて、画像形成装置のそれぞれは、サーバとの通信を行うことができる。
【００３９】
画像形成装置は、スキャナ機能、複写機能、プリンタとしての機能、ファクシミリ機能、データ通信機能、及びサーバ機能を備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）である。スキャナ機能では、セットされた原稿の画像を読み取ってそれをＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶装置に蓄積する。複写機能では、さらにそれを用紙などに印刷（プリント）する。プリンタとしての機能では、ＰＣなどの外部端末から印刷指示を受けるとその指示に基づいて用紙に印刷を行う。ファクシミリ機能では、外部のファクシミリ装置などからファクシミリデータを受信してそれをＨＤＤなどに蓄積する。データ通信機能では、接続された外部機器との間でデータを送受信する。サーバ機能では、複数のユーザでＨＤＤなどに記憶したデータなどを共有可能にする。画像形成装置は、スキャナ機能により読み取った画像やプリント機能により用紙に形成する画像の処理を実行する画像処理装置として機能する。
【００４０】
［実施の形態］
【００４１】
図１は、本発明の実施の形態の１つにおける画像処理システムの構成を示す図である。
【００４２】
図を参照して、画像処理システム９００は、３つの画像形成装置（画像処理装置の一例；画像形成装置Ａ，画像形成装置Ｂ，画像形成装置Ｃ）１ａ，１ｂ，１ｃと、３つのサーバ（サーバＡ，サーバＢ，サーバＣ）１００ａ，１００ｂ，１００ｃとを備える。なお、以下の説明において、３つの画像形成装置１ａ，１ｂ，１ｃを区別せず、それぞれを画像形成装置１と呼ぶことがある。また、３つのサーバ１００ａ，１００ｂ，１００ｃを区別せず、それぞれをサーバ１００と呼ぶことがある。
【００４３】
３つの画像形成装置１と、３つのサーバ１００とは、それぞれ、ネットワーク８００に接続されている。ネットワーク８００は、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。３つの画像形成装置１と、３つのサーバ１００とは、ネットワーク８００を介して互いに通信可能である。各装置は、ＬＡＮケーブルなどを介してネットワーク８００に接続されていてもよいし、いわゆる無線ＬＡＮによりネットワーク８００に接続されていてもよい。
【００４４】
［画像形成装置１の構成］
【００４５】
図２は、画像形成装置１を示す斜視図である。
【００４６】
図を参照して画像形成装置１は、給紙カセット３と、排紙トレイ５と、操作部（操作受付手段の一例）１１と、制御部２０と、プリント部３０と、スキャン部４０とを備える。制御部２０は、後述するように、ＣＰＵ２１（図３に示す）などを有し、画像形成装置１の動作を制御する。制御部２０及びプリント部３０は、画像形成装置１の筐体の内部に配置されている。
【００４７】
排紙トレイ５は、画像形成装置１の筐体のうちプリント部３０が収納されている部位の上方でスキャン部４０が配置されている部位の下方に配置されている。排紙トレイ５には、プリント部３０により画像が形成された用紙が筐体の内部から排紙される。
【００４８】
操作部１１は、画像形成装置１の上部前面（図において正面）側に配置されている。操作部１１には、ユーザにより押下操作可能な複数の操作ボタン１１ａが配置されている。また、操作部１１には、情報をユーザに表示する表示パネル１３が配置されている。表示パネル１３は、例えば、タッチパネルを備えたＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。表示パネル１３は、ユーザに案内画面を表示したり、操作ボタンを表示してユーザからのタッチ操作を受け付けたりする。表示パネル１３は、ＣＰＵ２１により制御されて表示を行う。操作部１１は、ユーザからの操作入力を受け付ける。操作部１１は、操作ボタン１１ａや表示パネル１３がユーザにより操作されると、その操作に応じた操作信号又は所定のコマンドをＣＰＵ２１に送信する。すなわち、ユーザは、操作部１１に操作を行うことにより、画像形成装置１に種々の動作を実行させることができる。
【００４９】
プリント部３０は、大まかに、トナー像形成部３００と、用紙搬送部（図示せず）と、定着装置（図示せず）とを有している。プリント部３０は、電子写真方式で用紙に画像を形成する。用紙搬送部は、用紙を給紙カセット３から給紙して、画像形成装置１の筐体の内部で搬送する。定着装置は、加熱ローラと加圧ローラとでトナー像が形成された用紙を挟みながら搬送し、その用紙に加熱及び加圧を行ことにより、用紙に付着したトナーを溶融させて用紙に定着させる。
【００５０】
スキャン部４０は、画像形成装置１の筐体の上部に配置されている。スキャン部４０は、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ）４１を有している。スキャン部４０は、上述のスキャナ機能を実行する。スキャン部４０は、透明な原稿台に配置された原稿をコンタクトイメージセンサにより走査して、それを画像データとして読み取る。また、スキャン部４０は、原稿トレイにセットされた複数枚の原稿をＡＤＦ４１により順次取り込みながら、コンタクトイメージセンサにより読み取り、画像データを得る。
【００５１】
図３は、画像形成装置１のハードウェア構成を示すブロック図である。
【００５２】
図を参照して、画像形成装置１は、上述の各部のほか、記憶装置（記憶手段の一例）２７と、通信部２９とを有している。
【００５３】
記憶装置２７は、通信部２９を介して外部から送られた印刷ジョブのデータや、スキャン部４０で読み取った画像データなどを記憶する。また、記憶装置２７は、画像形成装置１の設定情報や、画像形成装置１の種々の動作を行うための制御プログラム２７ａや、他の機器との通信処理において用いられる宛先リスト２７ｂなどを記憶する。記憶装置２７は、１つのＰＣ又は複数のＰＣなどから送信された複数の印刷ジョブを記憶可能である。記憶装置２７は、例えばＨＤＤやソリッドステートドライブ、不揮発性メモリなどであるが、これに限られるものではない。
【００５４】
通信部２９は、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）などのハードウェア部と、所定の通信プロトコルで通信を行うソフトウェア部とが組み合わされて構成されている。通信部２９は、画像形成装置１をネットワーク８００に接続する。これにより、画像形成装置１は、ネットワーク８００に接続されているサーバ１００やＰＣなどの外部装置を対象として通信処理を行うことが可能になる。なお、通信部２９は、無線通信によりネットワーク８００に接続可能に構成されていてもよい。
【００５５】
通信処理を行うことにより、画像形成装置１は、例えば以下のような処理を実行することができる。例えば、画像形成装置１は、ＰＣやサーバ１００などから印刷ジョブを受信して印刷を行うことができる。また、例えば、画像形成装置１は、スキャン部４０で読み取った画像データを、ＰＣやサーバ１００に送信したり、メールサーバ（図示せず）などを介してＥ−ｍａｉｌにより送信したりすることができる（スキャン送信機能）。
【００５６】
また、例えば、画像形成装置１は、プルプリント機能により印刷を行うことができる。プルプリントとは、サーバ１００等に記憶されているデータを取得して印刷を行うことであり、例えば以下のように印刷することである。すなわち、ユーザは、まず、サーバ１００などにジョブデータを送信し保管させておく。そして、ユーザは、画像形成装置１に、サーバ１００のジョブデータを印刷する指示を行う。画像形成装置１は、サーバ１００を対象として通信処理を行い、サーバ１００からジョブデータやそれに基づくデータを取得する。これにより、画像形成装置１において、取得されたデータに基づいて用紙に画像が形成され、画像が出力される。このようなプルプリントを行う画像処理システム９００では、任意の画像形成装置１で個人のジョブを実行し、印刷できる。ユーザは、例えば画像形成装置１の前に行き、プルプリントを実行させることで、印刷物を目前で出力させることができる。印刷物が他人に見られたり、他人に持って行かれたりすることがなくなり、情報の漏えいを防止でき、高いセキュリティを確保することができる。
【００５７】
なお、制御部２０は、ＣＰＵ２１と、ＲＯＭ２３と、ＲＡＭ２５とを有している。制御部２０は、操作部１１、プリント部３０、及びスキャン部４０などとともにシステムバスに接続されている。これにより、制御部２０と画像形成装置１の各部とが、信号を送受可能に接続されている。
【００５８】
ＣＰＵ２１は、ＲＯＭ２３、ＲＡＭ２５、又は記憶装置２７などに記憶された制御プログラム２７ａなどを実行することにより、画像形成装置１の種々の動作を制御する。ＣＰＵ２１は、操作部１１から操作信号が送られたり、ＰＣなどから操作コマンドが送信されたりすると、それらに応じて所定の制御プログラム２７ａを実行する。これにより、ユーザによる操作部１１の操作などに応じて、画像形成装置１の所定の機能が実行される。
【００５９】
ＲＯＭ２３は、例えばフラッシュＲＯＭ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）である。ＲＯＭ２３には、画像形成装置１の動作を行うために用いられるデータが記憶されている。ＲＯＭ２３には、記憶装置２７と同様に、種々の制御プログラムや、画像形成装置１の機能設定データなどが記憶されていてもよい。ＣＰＵ２１は、ＲＯＭ２３からのデータの読み込みや、ＲＯＭ２３へのデータの書き込みを行う。なお、ＲＯＭ２３は、書換え不可能なものであってもよい。
【００６０】
ＲＡＭ２５は、ＣＰＵ２１のメインメモリである。ＲＡＭ２５は、ＣＰＵ２１が制御プログラム２７ａを実行するときに必要なデータなどを記憶するのに用いられる。
【００６１】
制御部２０は、通信部２９により外部装置を対象とした通信処理を行うとき、通信インターフェースとして機能する。このとき、制御部２０は、通信処理を行うための送受信バッファとして、ＲＡＭ２５上の所定の領域を確保する（通信リソースを確保する）。通信リソースは、ＲＡＭ２５について予め用意された一定の領域内に、通信処理毎に確保され、通信処理が終了するまで保持される。通信処理が終了すると、確保されていた通信リソースは開放され、当該領域を別の通信処理において用いる通信リソースとして確保可能になる。
【００６２】
スキャン部４０は、上述のように、スキャナ機能を実行し、原稿から画像データを読み取る。スキャン部４０により読み取られた画像データは、ＣＰＵ２１によりアプリケーションデータ形式に変換され、記憶装置２７などに記憶される。ＣＰＵ２１は、記憶装置２７などに記憶された画像データを、ＰＣやサーバ１００などに送信可能である。
【００６３】
［サーバ１００の構成］
【００６４】
図４は、サーバ１００のハードウェア構成を示すブロック図である。
【００６５】
図を参照して、サーバ１００は、制御部１２０と、通信部１２９と、記憶装置１４０とを有している。制御部１２０は、ＣＰＵ１２１、ＲＯＭ１２３、及びＲＡＭ１２５を有している。制御部１２０、通信部１２９、及び記憶装置１４０は、共にシステムバスに接続されている。これにより、制御部１２０、通信部１２９、及び記憶装置１４０の各部は、信号を送受可能に接続されている。記憶装置１４０は、例えばＨＤＤやソリッドステートドライブ、不揮発性メモリなどであるが、これに限られるものではない。
【００６６】
通信部１２９の構成は、例えば、画像形成装置１の通信部２９の構成と略同様である。通信部１２９は、サーバ１００をネットワーク８００に接続する。これにより、サーバ１００は、画像形成装置１やＰＣなどと通信可能になる。サーバ１００は、例えば画像形成装置１のスキャン部４０で読み取られた画像データやＰＣから送信された印刷ジョブなどのデータを受信可能である。受信されたデータは、必要に応じて、記憶装置１４０に記憶される。
【００６７】
ＣＰＵ１２１は、ＲＯＭ１２３、ＲＡＭ１２５、又は記憶装置１４０などに記憶された制御プログラム１５０などを実行することにより、サーバ１００の種々の動作を制御する。ＣＰＵ１２１は、ＰＣなどから送信された操作コマンドや、画像形成装置１から送信された情報などに応じて、制御プログラム１５０を実行する。これにより、サーバ１００の種々の機能が実行される。
【００６８】
ＲＯＭ１２３やＲＡＭ１２５は、例えば、画像形成装置１のＲＯＭ２３やＲＡＭ２５と同様に動作する。ＣＰＵ１２１は、ＲＯＭ１２３やＲＡＭ１２５へデータの書き込みや読み込みなどを行うことで、サーバ１００の動作を制御する。
【００６９】
［通信処理の説明］
【００７０】
本実施の形態において、画像形成装置１が、サーバ１００等の外部装置を対象として通信処理を行うとき、制御部２０は、記憶装置２７に記憶された宛先リスト２７ｂを参照する。宛先リスト２７ｂは、ブラックリスト方式で所定の条件に該当する装置の情報が登録されたデータベースである。宛先リスト２７ｂには、例えば、その装置を対象として通信処理を行った場合に応答に時間がかかる可能性が比較的高い装置の情報が登録されている。本実施の形態においては、宛先リスト２７ｂは、所定の間にタイムアウトが発生したことがある装置が登録されているブラックリスト方式のリストである。具体的には、例えば、前回その装置が通信処理の対象として通信処理が開始されたとき（所定の間の一例）にタイムアウトとなった（所定の条件の一例）装置の情報が登録されている。宛先リスト２７ｂには、装置の情報として、例えば、ネットワーク８００で通信を行う場合に通信処理の対象として装置を特定可能な宛先情報が登録されている。宛先情報は、例えば、ＩＰアドレスであるが、これに限られるものではない。
【００７１】
通信処理は、例えば、ユーザからの操作入力が操作部１１になされたりＰＣ等から指示が送信されたりすることにより画像形成装置１が外部装置を対象として通信処理を行うことを要求されたときに、実行される。画像形成装置１における通信処理に関する処理は、制御部２０による制御に基づいて行われる。制御部２０は、画像形成装置１のシステム制御を行い、制御部２０等により実現される通信インターフェースを介して通信部２９を動作させることにより、通信処理を実行する。
【００７２】
図５は、画像形成装置１の通信処理に関する動作を示すフローチャートである。
【００７３】
図５に示されるように、ステップＳ１１において、制御部２０は、実行対象の通信処理があるか否かを確認する。通信処理があれば、ステップＳ１２に進む。例えば、新たに通信処理を行うことが要求されたり、後述のように保留されており実行待機状態となっている通信処理がある場合には、実行対象の通信処理があると判断される。実行対象の通信処理は、タスクキューに登録されている。
【００７４】
ステップＳ１２において、制御部２０は、実行対象の通信処理について、通信を行う宛先（対象）が、宛先リスト２７ｂにあるか否かを判断する。例えば、制御部２０は、宛先リスト２７ｂに登録されているＩＰアドレスのうち、通信を行う宛先のＩＰアドレスに一致するものがあるか否かを判断する。宛先が宛先リスト２７ｂにあれば、ステップＳ１３に進み、なければ、ステップＳ１４に進む。これにより、通信処理を実行する場合にタイムアウトが発生する可能性が比較的高いと考えられるか否かが判断される。
【００７５】
ステップＳ１３において、制御部２０は、実行対象の通信処理の次に実行対象となる通信処理（次の通信処理）があるか否かを判断する。次の通信処理がない場合には、ステップＳ１４に進む。次の通信処理がある場合には、ステップＳ１５に進む。
【００７６】
ステップＳ１４において、制御部２０は、実行対象の通信処理について、後述のように、実際に通信処理を実行する。通信処理の実行が終了すると、ステップＳ１１に戻る。
【００７７】
他方、ステップＳ１５において、制御部２０は、実行対象の通信処理について、実行を保留する。これにより、その通信処理の実行順が下位に下げられる。そして、ステップＳ１１の処理に戻る。
【００７８】
すなわち、この場合、ステップＳ１１に戻った後の処理において、実行を保留した通信処理の次の通信処理について、先に処理が行われる。換言すると、制御部２０は、通信処理の対象である外部装置が宛先リスト２７ｂに登録された装置であると判定すると、他の通信処理を優先して実行させる。また、換言すると、制御部２０は、通信処理の対象である外部装置が宛先リスト２７ｂに登録された装置であると判定した場合において、当該通信処理よりも後に実行予定の他の通信処理が存在する場合には、当該通信処理の実行を一旦中止（保留）して他の通信処理の実行を開始する。そして、制御部２０は、他の通信処理の実行を開始した後で、一旦中止していた通信処理を実行する。
【００７９】
図６は、画像形成装置１の通信処理の実行時の動作を示すフローチャートである。
【００８０】
図６に示されるように、ステップＳ２１において、制御部２０は、通信処理に用いる通信リソースを確保する。なお、制御部２０は、通信リソースが確保できないときには、通信リソースが確保できるまで待機する。
【００８１】
ステップＳ２２において、制御部２０は、通信処理の宛先が、宛先リスト２７ｂにあるか否かを判定する。制御部２０は、上述のステップＳ１２と同様に判定を行う。宛先が宛先リスト２７ｂにあればステップＳ２３に進み、宛先が宛先リスト２７ｂになければステップＳ２４に進む。
【００８２】
ステップＳ２３において、制御部２０は、その通信処理に関して計時するタイムアウト時間を設定する。制御部２０は、このとき、タイムアウト時間を、所定時間よりも短い時間に定める。タイムアウト時間は、例えば、所定の短縮幅だけ短縮される。このようなタイムアウト時間の短縮設定が行われると、ステップＳ２４に進む。
【００８３】
ステップＳ２４において、制御部２０は、通信インターフェースを介して通信部２９に通信指示を行う。これにより、通信部２９を介して、画像形成装置１から通信処理の対象となる外部装置に対して要求が送信される。外部装置から応答があると、制御部２０は、通信処理の要求に応じて外部装置との間で通信を行う。
【００８４】
このとき、ステップＳ２２において通信処理の宛先が宛先リスト２７ｂにあると判定されていれば、制御部２０は、ステップＳ２３において短く定めたタイムアウト時間でタイムアウトまでの時間を計時する。他方、ステップＳ２２において宛先が宛先リスト２７ｂにないと判定されていれば、制御部２０は、短縮しない所定時間をタイムアウト時間として、タイムアウトまでの時間を計時する。すなわち、制御部２０は、通信処理の対象である外部装置が宛先リスト２７ｂに登録された装置ではないと判定したとき、所定時間をタイムアウト時間と定める。
【００８５】
なお、本実施の形態において、タイムアウト時間の基準の時間（デフォルト時間）となる所定時間は、例えば３０秒である。タイムアウト時間を短縮する場合には、所定の短縮幅は、例えば２０秒である。すなわち、短縮しない場合のタイムアウト時間は、例えば３０秒となる。他方、短縮設定が行われた場合のタイムアウト時間は、例えば１０秒となる。通常の通信において、要求が外部装置に送信されてから応答を受信するまでの時間は、長くても数秒である。
【００８６】
ステップＳ２５において、制御部２０は、通信が終了したか否かを判断する。通信処理の要求に応じて、通信処理が正常に終了した場合には、通信が終了したと判断される。終了した場合には、ステップＳ２９に進む。そうでない場合には、ステップＳ２６に進む。
【００８７】
ステップＳ２６において、制御部２０は、通信処理においてタイムアウトが発生したことを判定する。タイムアウトが発生したことの判定は、上述のように定めたタイムアウト時間に応じて行われる。すなわち、通信処理の対象となる外部装置に要求を送信してから、外部装置からの応答を受信しないままタイムアウト時間が経過したときには、タイムアウトが発生したことが判定される。タイムアウトが発生したことが判定されれば、ステップＳ２７に進む。そうでない場合には、ステップＳ２５に戻る。
【００８８】
すなわち、通信が行われると、タイムアウトが発生することなく通信が終了した場合にはステップＳ２９に進み、通信が終了することなくタイムアウトが発生した場合にはステップＳ２７に進む。
【００８９】
通信が終了することなくタイムアウトが発生した場合には、ステップＳ２７において、制御部２０は、その通信処理のために確保していた通信リソースを開放する。
【００９０】
ステップＳ２８において、制御部２０は、タイムアウトが発生したか否かと、宛先リスト２７ｂに外部装置の宛先が登録されているか否かに応じて、宛先リスト２７ｂを更新する。具体的には、制御部２０は、タイムアウトが発生し、タイムアウトが発生した通信処理の宛先が宛先リスト２７ｂにない場合、宛先を宛先リスト２７ｂに追加する。すなわち、宛先リスト２７ｂにまだ宛先が登録されていない場合において、タイムアウトが発生すると、制御部２０は、そのときの通信処理の対象である外部装置のＩＰアドレスを、宛先リスト２７ｂに追加する。なお、宛先リスト２７ｂに既に宛先が登録されている場合には、宛先の追加は行われない。また、宛先リスト２７ｂに、タイムアウトが発生した通算回数や時刻等の情報も併せて記録するようにしてもよい。
【００９１】
他方、タイムアウトが発生することなく通信が終了した場合には、ステップＳ２９において、制御部２０は、その通信処理のために確保していた通信リソースを開放する。
【００９２】
ステップＳ３０において、制御部２０は、タイムアウトが発生したか否かと、宛先リスト２７ｂに外部装置の宛先が登録されているか否かに応じて、宛先リスト２７ｂを更新する。具体的には、制御部２０は、タイムアウトが発生せずに通信処理が完了した場合において、通信処理の対象である外部装置が宛先リスト２７ｂに登録された装置であると判定していた場合には、外部装置の宛先を宛先リスト２７ｂから削除する。なお、必ずしも宛先リスト２７ｂから宛先を削除するようにしなくてもよい。
【００９３】
ステップＳ２８及びステップＳ３０のいずれかの処理が終了すると、ステップＳ３１の処理が行われる。すなわち、制御部２０は、編集後の宛先リスト２７ｂを、ネットワーク８００に接続されている他の画像形成装置１との間で同期する。本実施の形態においては、図１に示されるように、各画像形成装置１において、通信処理を行うときに参照する宛先リスト２７ｂが記憶されている。ステップＳ３１において、制御部２０は、宛先リスト２７ｂを更新したとき、その更新に関する情報を、他の画像形成装置１にネットワーク８００を介して送信する。
【００９４】
このように宛先リスト２７ｂの更新が行われた画像形成装置１から他の画像形成装置１に情報が送信されると、当該他の画像形成装置１は、送信された情報に基づいて、その装置において記憶されている宛先リスト２７ｂを更新する。これにより、他の画像形成装置１においても、ネットワーク８００を介して通信可能な外部装置との間で通信処理を行う際、最新行われた通信処理の実績が反映された宛先リスト２７ｂを用いることができるようになる。
【００９５】
なお、ステップＳ３１において、制御部２０は、宛先リスト２７ｂを更新したとき、更新後の宛先リスト２７ｂの情報等を他の画像形成装置１に送信し、送信を受けた他の画像形成装置１では、送信された宛先リスト２７ｂをそれまでの宛先リストに代えて記憶装置２７に記憶するようにしてもよい。
【００９６】
［通信処理を行うときの動作例］
【００９７】
画像形成装置１が、サーバ１００を通信処理の対象となる外部装置として通信処理を行う場合の動作例について説明する。以下の説明において、サーバＡをサーバ１００ａと表記し、サーバＢをサーバ１００ｂと表記し、サーバＣをサーバ１００ｃと表記することがある。
【００９８】
図７は、本実施の形態に係る画像形成装置１が通信処理を行う場合の動作例を示す第１のシーケンス図である。
【００９９】
図７に示されるように、サーバＡ（サーバ１００ａ）がダウンしている状況を想定する（ステップＳ１００）。このとき、対象をサーバ１００ａとする通信処理１が実行対象となると（ステップＳ１０１）、以下のように動作が行われる。このとき、サーバ１００ａの宛先は、宛先リスト２７ｂに登録されていないものとする。
【０１００】
サーバ１００ａは宛先リスト２７ｂに登録されていないので、タイムアウト時間は、所定時間（ここでは３０秒間である）に定められる。制御部２０の制御に基づいて、通信指示が通信インターフェースに送られると、通信リソースが確保される（ステップＳ１０２）。そして、通信リソースを利用して通信部２９からサーバ１００ａに要求が送信されると、制御部２０は、タイムアウト時間の計時を開始する（Ｓ１０３）。このとき、サーバ１００ａがダウンしているため、サーバ１００ａからの応答は送信されない。そうすると、３０秒間のタイムアウト時間の計時が完了すると、通信部２９は、タイムアウト通知を通信インターフェースに送信する。通信インターフェースは、通信リソースを開放する（ステップＳ１０４）。
【０１０１】
このようにしてタイムアウトが発生すると、制御部２０は、宛先リスト２７ｂを更新し、宛先リスト２７ｂにサーバ１００ａの宛先を登録する（ステップＳ１０５）。
【０１０２】
その後、サーバ１００ａを対象とする通信処理２が実行対象となると（ステップＳ１０６）、以下のように動作が行われる。すなわち、ステップＳ１０５において宛先リスト２７ｂが更新されたので、このとき、サーバ１００ａの宛先は、宛先リスト２７ｂにある状態である。そうすると、制御部２０は、タイムアウト時間を所定時間から２０秒短縮した１０秒と定める。制御部２０の制御に基づいて、通信リソースが確保され（ステップＳ１０７）、サーバ１００ａに要求が送信されると、制御部２０は、タイムアウトが発生したことを判定するまで、１０秒間計時する（ステップＳ１０８）。１０秒が経過すると、タイムアウトが発生したことが判定され、通信リソースが開放される（ステップＳ１０９）。このように、タイムアウトが発生する可能性が高いと考えられるサーバ１００ａを対象に通信処理が行われる場合には、速やかにタイムアウトが発生したことが判定される。したがって、比較的早期に通信リソースが開放されることとなり、通信リソースの空きがなくなることが防止される。
【０１０３】
ここで、ダウンしていたサーバ１００ａが復旧した場合において（ステップＳ１１０）、サーバ１００ａを対象とする通信処理３が実行対象となると（ステップＳ１１１）、以下のように動作が行われる。すなわち、このときサーバ１００ａの宛先は宛先リスト２７ｂにある状態であるので、制御部２０は、上述と同様にタイムアウト時間を１０秒に定めてサーバ１００ａとの通信を行う。サーバ１００ａは復旧していることから、制御部２０の制御に基づいて、通信リソースが確保され（ステップＳ１０７）、サーバ１００ａに要求が送信されると、タイムアウト時間が経過する前にサーバ１００ａから応答が送信される。そうすると、制御部２０は、タイムアウトが発生したとは判定せず、通信処理が継続して行われる。通信が終了すると、制御部２０は、通信リソースを開放し（ステップＳ１１３）、通信処理を終了する。
【０１０４】
このようにして、宛先リスト２７ｂに登録されている宛先を対象にした通信処理がタイムアウトが発生することなく終了すると、制御部２０は、宛先リスト２７ｂを更新し、宛先リスト２７ｂからサーバ１００ａの宛先を削除する（ステップＳ１１４）。これにより、次にサーバ１００ａを対象として通信処理が行われるときには、タイムアウト時間が通常の３０秒間と定められる。
【０１０５】
図８は、本実施の形態に係る画像形成装置１が通信処理を行う場合の動作例を示す第２のシーケンス図である。
【０１０６】
図８においては、宛先リスト２７ｂにサーバ１００ａの宛先が登録されており、サーバ１００ｂ（サーバＢ）、サーバ１００ｃ（サーバＣ）の宛先については登録されていない場合を想定する。このとき、サーバ１００ａを対象とする通信処理１の要求と、サーバ１００ｂを対象とする通信処理２の要求が続けてなされると、以下のように動作が行われる。
【０１０７】
すなわち、まず、通信処理１が実行対象となる（ステップＳ３０１）。ここで、通信処理１が対象とするサーバ１００ａの宛先は、宛先リスト２７ｂにある。また、通信処理１の次に実行対象となる通信処理２も存在している。そのため、制御部２０は、通信処理１の実行を一旦中止し、保留状態とする（ステップＳ３０２）。通信処理１は、通信リソースの確保がなされることなく、保留状態になる。
【０１０８】
次に、通信処理２の要求に応じて、通信処理２が実行対象となる（ステップＳ３０３）。通信処理２が対象とするサーバ１００ｂの宛先は宛先リスト２７ｂにない。そのため、所定の時間をタイムアウト時間として、サーバ１００ｂを対象にして要求が送信される。ここで、サーバ１００ｂは、要求に対して正常に応答を送信する。そのため、タイムアウトは発生せず、速やかに通信処理２が終了する。
【０１０９】
ここで、通信処理２が終了する前に、新たな通信処理３の要求がなされ、通信処理３がタスクキューに登録されている場合には、以下のように動作が行われる。
【０１１０】
すなわち、制御部２０は、通信処理２が終了すると、他の通信処理の要求があるか否かを判定する。ここでは、通信処理３の要求があると判定される（ステップＳ３０４）。また、通信処理３について、宛先リスト２７ｂに宛先が登録されていないことが判定される（ステップＳ３０５）。そうすると、保留中の通信処理１を処理対象とする前に、通信処理３を処理対象として通信処理が行われる（ステップＳ３０７）。通信処理は、所定の時間をタイムアウト時間として、サーバ１００ｃを対象にして要求が送信されることで開始される。ここで、サーバ１００ｃは、要求に対して正常に応答を送信する。そのため、タイムアウトは発生せず、速やかに通信処理３が終了する。
【０１１１】
通信処理３が終了すると、制御部２０は、他の通信処理の要求があるか否かを判定する（ステップＳ３０８）。このとき、新たに通信処理の要求などはないため、制御部２０は、他の通信処理の要求はないと判定される。そうすると、制御部２０は、保留していた通信処理１について、通信処理を実行させる（ステップＳ３０９）。
【０１１２】
［実施の形態における効果］
【０１１３】
以上説明したように、本実施の形態においては、応答タイムアウトが発生した外部装置の宛先が、画像形成装置１側で宛先リストに登録される。そして、宛先リストに登録されている宛先に対して通信処理が行われる場合には、タイムアウト時間が短縮される。そのため、ダウンしているサーバ１００等を対象に短時間に複数の通信処理の要求があるような場合であっても、比較的早くタイムアウトが発生したと判定して通信リソースを開放させることができ、通信リソースが確保されたままの状態になる時間を短縮させることができる。したがって、通信リソースが不足している状態を発生しにくくさせることができ、速やかに通信処理を行うことができるようになる。画像形成装置１のような装置においては、ＲＡＭ２５の容量などのリソースが限られている傾向があり、また、同時に複数の通信処理が発生しやすいという特性があるため、通信リソースの不足が発生しやすい。このような通信リソースの不足が発生しやすい画像形成装置１においても、効果的に、通信リソースの不足の発生を防止することができる。
【０１１４】
タイムアウト時間を短縮させるか否かは、通信処理の対象となる外部装置の宛先が宛先リストに登録されているか否かに基づいて判断される。したがって、通信リソースの不足が発生するよりも前に、通信リソースが発生しにくくなるように動作が行われる。
【０１１５】
宛先リストは、通信処理の結果に応じて更新される。タイムアウトが発生した宛先は宛先リストに追加され、タイムアウトが発生せずに通信処理が終了した宛先は、宛先リストから削除される。したがって、外部装置の状態に応じて、タイムアウトが生じる可能性が高くなった外部装置についてはタイムアウト時間が短くなるように自動的に設定を変更することができ、的確に、通信リソースが発生しにくくなるようにすることができる。
【０１１６】
次に実行対象となる通信処理があるような場合においては、宛先リストに宛先が登録されている外部装置への通信処理の実行は保留され、他の通信処理が優先して行われる。したがって、正常に通信が終了する可能性が比較的高い通信処理を速やかに終了させることができる。保留された通信処理は、他の通信処理がないときに実行されるので、破棄されることがない。
【０１１７】
［変形例の説明］
【０１１８】
上述の実施の形態では、タイムアウト時間を短縮する際、所定の短縮幅だけ短縮されるが、これに限られるものはない。例えば、ユーザが、宛先リストに宛先がある場合のタイムアウト時間や宛先リストに宛先がない場合のタイムアウト時間を設定可能であってもよい。
【０１１９】
また、制御部２０が、通信処理の対象となる外部装置を対象として行った過去の通信処理の履歴情報（応答時間）に基づいてタイムアウト時間を定めるように構成されていてもよい。例えば、履歴情報に基づいた時間だけ所定時間よりも短い時間をタイムアウト時間として定めてもよい。具体的には、例えば、通常時に応答が行われるまでに１０秒から１５秒程度かかるような外部装置については、タイムアウト時間をそれより若干長い２０秒間などに設定し、通常時に応答が行われるまでに５秒以内であるような外部装置については、タイムアウト時間をそれより若干長い１０秒間などに設定するようにしてもよい。これにより、実際の各外部装置の特性に応じて、適度なタイムアウト時間を設定して通信処理を行うことができる。
【０１２０】
上述の実施の形態では、画像処理システム９００の複数の画像形成装置１のそれぞれが宛先リスト２７ｂを保持していたが、これに限られるものではない。例えば、通信処理を行う画像形成装置１が、ネットワーク８００に接続されている他のリスト提供装置に記憶されている宛先リストを参照して、通信対象となる外部装置の宛先が登録されているか否かを判別するようにしてもよい。
【０１２１】
図９は、上述の実施の形態の一変形例に係る画像処理システム９５０の構成を示すブロック図である。
【０１２２】
図９に示されるように、画像処理システム９５０は、上述の画像処理システム９００と比較して、次の点で相違する。すなわち、３つの画像形成装置１のうち画像形成装置１ａ（画像形成装置Ａ；リスト提供装置の一例）の記憶装置２７にのみ宛先リスト２７ｂが記憶されている。また、他の２つの画像形成装置１ｂ，１ｃ（画像形成装置Ｂ、画像形成装置Ｃ）には宛先リスト２７ｂが記憶されていない。
【０１２３】
画像処理システム９５０において、画像形成装置１ａは、自身が保有する宛先リスト２７ｂを参照して、外部装置の宛先が宛先リスト２７ｂにあるか否かを確認できる。他方、画像形成装置１ｂ，１ｃが通信処理を行う場合において、画像形成装置１ａは、宛先リスト２７ｂを画像形成装置１ｂ，１ｃに提供するリスト提供装置として機能する。すなわち、画像形成装置１ｂ，１ｃは、通信処理を行うとき、画像形成装置１ａにアクセスし、宛先リスト２７ｂを参照する。また、通信処理を行ったときには、その結果に応じて画像形成装置１ａに情報を送信することにより、宛先リスト２７ｂの更新を画像形成装置１ａに実行させる。
【０１２４】
このようにリスト提供装置として機能する画像形成装置１ａに宛先リスト２７ｂを提供させるようにしても、上述と同様に、画像処理システム９００において用いられる宛先リスト２７ｂの情報を新しく保つことができる。
【０１２５】
［その他］
【０１２６】
上述の実施の形態の構成や処理は、互いに適宜組み合わせて実行されてもよいし、一部が実行されなくてもよい。また、上述のフローチャートにおいて、各処理の順番は、適宜組み替えられていたり、他の処理が挿入されていたりしてもよい。例えば、通信処理の宛先が宛先リストにある場合において、他の通信処理を優先させる処理は、必ずしも行われなくてもよい。また、複数の画像形成装置間で宛先リストを同期させる処理は、必ずしも行われなくてもよい。
【０１２７】
宛先リストにおいて、タイムアウトが発生した回数や頻度等を管理できるようにしてもよい。その場合、例えば、タイムアウトが発生せずに通信が終了した場合には、宛先リストから必ずしも削除せず、タイムアウトが発生した回数等の情報を変更し、宛先リストが更新されてもよい。
【０１２８】
ユーザが操作を行うことにより、任意の外部装置を宛先リストに追加したり削除したりすることができるようにしてもよい。
【０１２９】
上述の実施の形態においては、所定の間に前記タイムアウトが発生したことがある、タイムアウトが発生する可能性が比較的高い宛先が登録されたいわゆるブラックリスト方式の宛先リストを用いて、宛先リストに宛先がある場合にタイムアウト時間を短縮するなどの動作が行われるが、これに限られない。例えば、宛先リストは、ブラックリスト方式ではなく、ホワイトリスト方式で所定の条件に該当する装置が登録されているリストであってもよい。すなわち、所定の間に前記タイムアウトが発生したことがない、タイムアウトが発生する可能性が比較的低い装置の宛先が登録された宛先リストを用いて、宛先リストに宛先がない場合にはタイムアウト時間を短縮するなどの動作を行ってもよい。この場合、例えば通信処理が正常に終了したときやその回数などに応じて、その外部装置の宛先が宛先リストに追加されるようにしてもよい。すなわち、例えば、外部装置の宛先が宛先リストに登録されていないと判定された場合において、タイムアウトが発生したことが判定されずに通信処理が完了したとき、その宛先を宛先リストに登録するようにしてもよい。
【０１３０】
画像形成装置としては、モノクロ／カラーの複写機、プリンタ、ファクシミリ装置やこれらの複合機（ＭＦＰ）などいずれであってもよい。また、電子写真方式により画像を形成するものに限られず、例えばいわゆるインクジェット方式により画像を形成するものであってもよい。また、画像処理装置は、画像形成機能を有しないスキャナ等であってもよい。
【０１３１】
画像処理システムにおいて、複数の画像形成装置のうち特定の画像形成装置がサーバとして機能してもよい。その場合、他の画像形成装置がプルプリント等の機能を実行可能な画像形成装置であってもよいし、サーバとして機能する画像形成装置も含めた複数の画像形成装置がプルプリント等の機能を実行可能であってもよい。すなわち、一の画像形成装置が他の画像形成装置を対象に通信処理を行う場合においても、上記の実施の形態の構成は適用可能である。
【０１３２】
上述の実施の形態における処理は、ソフトウェアによって行っても、ハードウェア回路を用いて行ってもよい。
【０１３３】
上述の実施の形態における処理を実行するプログラムを提供することもできるし、そのプログラムをＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスク、ＲＯＭ、ＲＡＭ、メモリカードなどの記録媒体に記録してユーザに提供することにしてもよい。プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。上記のフローチャートで文章で説明された処理は、そのプログラムに従ってＣＰＵなどにより実行される。
【０１３４】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３５】
１，１ａ，１ｂ，１ｃ  画像形成装置（画像処理装置の一例）
２０  制御部
２１  ＣＰＵ
２３  ＲＯＭ
２４  ＲＡＭ
２７  記憶装置（記憶手段の一例）
２７ａ  制御プログラム
２７ｂ  宛先リスト
２９  通信部
３０  プリント部
１００，１００ａ，１００ｂ，１００ｃ  サーバ（外部装置の一例）
８００  ネットワーク
９００，９５０  画像処理システム
【図１】
2018122531.tif 000003
【図２】
2018122531.tif 000004
【図３】
2018122531.tif 000005
【図４】
2018122531.tif 000006
【図５】
2018122531.tif 000007
【図６】
2018122531.tif 000008
【図７】
2018122531.tif 000009
【図８】
2018122531.tif 000010
【図９】
2018122531.tif 000011
【図１０】
2018122531.tif 000012
【図１１】
2018122531.tif 000013