(57)【要約】【課題】画像処理装置からサーバへのデータ送信処理をより効率的に実行することが可能な技術を提供する。【解決手段】画像処理装置は、サーバに対する送信対象データのデータサイズが所定の閾値ＴＨ１よりも小さい場合には、送信パケットサイズを第１のパケットサイズＺ１（たとえば、デフォルトサイズ「２６バイト」）に設定して送信対象データを送信する。一方、送信対象データのデータサイズが当該所定の閾値ＴＨ１よりも大きい場合には、画像処理装置は、送信パケットサイズを、第１のパケットサイズよりも小さな値である第２のパケットサイズＺ２（たとえば、「２２バイト」）に設定して送信対象データを送信する。【選択図】図６
2018085569.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
サーバに対してデータを送信する通信手段と、
前記データの送信動作を制御する制御手段と、
を備え、
前記制御手段は、
前記サーバに対する送信対象データのデータサイズが所定の閾値よりも小さい場合には、送信パケットサイズを第１のパケットサイズに設定して前記送信対象データを送信し、
前記送信対象データのデータサイズが前記所定の閾値よりも大きい場合には、送信パケットサイズを、前記第１のパケットサイズよりも小さな値である第２のパケットサイズに設定して前記送信対象データを送信することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記制御手段は、互いに異なるデータサイズを有する複数のデータのそれぞれを複数の送信パケットサイズのそれぞれで前記サーバに対して送信して前記複数のデータのそれぞれの送信結果を送信パケットサイズごとに取得するテスト送信を前記送信対象データの送信に先立って実行し、前記テスト送信の結果に基づいて前記所定の閾値を決定することを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記制御手段は、前記テスト送信における何れかのデータサイズのデータに関する通信であって特定値以上の送信パケットサイズでの通信における通信エラーの発生頻度が所定程度以上である場合には、前記テスト送信にて前記特定値以上の送信パケットサイズでの通信における通信エラーの発生頻度が前記所定程度未満であるデータサイズのうち最も大きな値を前記所定の閾値として決定することを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記テスト送信は、互いに異なるデータサイズを有する前記複数のデータのそれぞれを前記複数の送信パケットサイズのそれぞれで前記サーバに対して送信して前記複数のデータのそれぞれに関する通信速度の測定結果を送信パケットサイズごとに取得する処理を含み、
前記制御手段は、前記所定の閾値よりも大きな少なくとも１つのデータサイズのデータ送信に関する送信パケットサイズ毎の通信速度の測定結果に基づき、前記複数の送信パケットサイズの中から前記第２のパケットサイズを決定することを特徴とする画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記制御手段は、前記少なくとも１つのデータサイズのデータ送信に関する送信パケットサイズ毎の通信速度の測定結果に基づき、その通信速度の分散度合いを示す指標値が閾値よりも小さな少なくとも１つの送信パケットサイズのうち、その通信速度が最も大きな送信パケットサイズを、前記第２のパケットサイズとして決定することを特徴とする画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
前記制御手段は、前記複数のパケットサイズのうち、前記少なくとも１つのデータサイズのデータ送信における通信エラーの発生頻度が前記所定程度以上であるパケットサイズを除外した上で、前記第２のパケットサイズを決定することを特徴とする画像処理装置。
【請求項７】
請求項４に記載の画像処理装置において、
前記制御手段は、前記複数のパケットサイズのうち、前記少なくとも１つのデータサイズのデータ送信における通信エラーの発生頻度が前記所定程度以上であるパケットサイズを除外した上で、その通信速度が最も大きな送信パケットサイズを、前記第２のパケットサイズとして決定することを特徴とする画像処理装置。
【請求項８】
請求項３から請求項７のいずれかに記載の画像処理装置において、
前記制御手段は、前記テスト送信において何れのデータサイズのデータに関する通信においても通信エラーの発生頻度が前記所定程度未満である場合には、前記送信対象データのデータサイズと前記所定の閾値との大小関係にかかわらず、送信パケットサイズをデフォルトサイズに設定して前記送信対象データを送信することを特徴とする画像処理装置。
【請求項９】
請求項３から請求項８のいずれかに記載の画像処理装置において、
前記画像処理装置は、装置グループを構成する複数の画像処理装置のうちの１つの装置であり、
前記制御手段は、前記テスト送信において何れかのデータサイズのデータに関する通信であって前記特定値以上の送信パケットサイズでの通信における通信エラーの発生頻度が前記所定程度以上である場合には、前記テスト送信にて前記特定値以上の送信パケットサイズでの通信における通信エラーの発生頻度が前記所定程度未満であるデータサイズのうち最も大きな値を前記所定の閾値として決定するとともに、前記複数の画像処理装置のうち前記画像処理装置以外の装置に対して、前記所定の閾値を通知することを特徴とする画像処理装置。
【請求項１０】
請求項２から請求項９のいずれかに記載の画像処理装置において、
前記制御手段は、前記テスト送信を所定タイミングの到来に応じて自動的に実行することを特徴とする画像処理装置。
【請求項１１】
請求項２から請求項１０のいずれかに記載の画像処理装置において、
前記制御手段は、前記テスト送信をユーザの指示に応答して直ちに実行することを特徴とする画像処理装置。
【請求項１２】
請求項１から請求項１１のいずれかに記載の画像処理装置において、
前記送信対象データは、前記画像処理装置におけるスキャン処理にて生成されたスキャン画像であり、
前記制御手段は、
前記スキャン処理にて生成され且つ前記サーバに対して送信されるべき前記スキャン画像のデータサイズが前記所定の閾値よりも小さい場合には、送信パケットサイズを前記第１のパケットサイズに設定して前記スキャン画像を送信し、
前記スキャン画像のデータサイズが前記所定の閾値よりも大きい場合には、送信パケットサイズを、前記第２のパケットサイズに設定して前記スキャン画像を送信することを特徴とする画像処理装置。
【請求項１３】
画像処理システムであって、
複数の画像処理装置、
を備え、
前記複数の画像処理装置のそれぞれは、
サーバに対してデータを送信する通信手段と、
前記データの送信動作を制御する制御手段と、
を有し、
各画像処理装置の前記制御手段は、
前記サーバに対する送信対象データのデータサイズが所定の閾値よりも小さい場合には、送信パケットサイズを第１のパケットサイズに設定して前記送信対象データを送信し、
前記送信対象データのデータサイズが前記所定の閾値よりも大きい場合には、送信パケットサイズを、前記第１のパケットサイズよりも小さな値である第２のパケットサイズに設定して前記送信対象データを送信することを特徴とする画像処理システム。
【請求項１４】
請求項１３に記載の画像処理システムにおいて、
前記複数の画像処理装置のうちの一の画像処理装置の制御手段は、
互いに異なるデータサイズを有する複数のデータのそれぞれを複数の送信パケットサイズのそれぞれで前記サーバに対して送信して前記複数のデータのそれぞれに関する通信速度の測定結果を送信パケットサイズごとに取得するテスト送信を実行し、
前記テスト送信の結果に基づいて前記所定の閾値と前記第２のパケットサイズとを決定し、
前記一の画像処理装置にて決定された前記所定の閾値および前記第２のパケットサイズを、前記複数の画像処理装置のうちの前記一の画像処理装置以外の少なくとも１つの装置で使用すべき前記所定の閾値および前記第２のパケットサイズとして、当該少なくとも１つの装置に対して通知することを特徴とする画像処理システム。
【請求項１５】
請求項１４に記載の画像処理システムにおいて、
前記一の画像処理装置は、前記少なくとも１つの装置が前記一の画像処理装置と同じ処理性能を有する装置であると判定されることを条件に、前記一の画像処理装置にて決定された前記所定の閾値および前記第２のパケットサイズを前記少なくとも１つの装置に対して通知することを特徴とする画像処理システム。
【請求項１６】
画像処理装置に内蔵されたコンピュータに、
ａ）サーバに対する送信対象データのデータサイズを取得するステップと、
ｂ）前記サーバに対して前記送信対象データを送信するステップと、
を実行させるためのプログラムであって、
前記ステップｂ）は、
ｂ−１）前記送信対象データのデータサイズが所定の閾値よりも小さい場合には、送信パケットサイズを第１のパケットサイズに設定して前記送信対象データを送信するステップと、
ｂ−２）前記送信対象データのデータサイズが前記所定の閾値よりも大きい場合には、送信パケットサイズを前記第１のパケットサイズよりも小さな値である第２のパケットサイズに設定して前記送信対象データを送信するステップと、
を有することを特徴とするプログラム。
【請求項１７】
請求項１６に記載のプログラムにおいて、
ｃ）互いに異なるデータサイズを有する複数のデータを前記サーバに対して送信するテスト送信を前記ステップｂ）に先立って実行し、前記テスト送信の結果に基づいて前記所定の閾値を決定するステップ、
をさらに前記コンピュータに実行させることを特徴とするプログラム。
【請求項１８】
請求項１７に記載のプログラムにおいて、
前記テスト送信は、互いに異なるデータサイズを有する前記複数のデータのそれぞれを前記複数の送信パケットサイズのそれぞれで前記サーバに対して送信して前記複数のデータのそれぞれに関する通信速度の測定結果を送信パケットサイズごとに取得する処理を含み、
前記ステップｃ）においては、前記テスト送信の結果に基づいて前記所定の閾値と前記第２のパケットサイズとが決定されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＦＰ（マルチ・ファンクション・ペリフェラル（Multi-Functional Peripheral））などの画像処理装置およびそれに関連する技術に関する。
【背景技術】
【０００２】
ＭＦＰにおいては、そのスキャン機能によって生成したスキャン画像等を、ネットワーク上のサーバ（社内サーバあるいは社外サーバ）に送信することが行われる（特許文献１等参照）。
【０００３】
このようなサーバ（特に社外のサーバ）とＭＦＰ（クライアント装置とも称される）との間にはロードバランサ（通信規制装置とも称する）が設置されることがある。ロードバランサは、サーバの負荷を調整する役割を果たす。たとえば、ロードバランサは、大量のデータがサーバの外部から当該サーバへと一時期に送信される場合等において、サーバ負荷が著しく増大しサーバダウン等の障害が発生することを未然に防ぐためなどに利用される。具体的には、所定時間以内に所定データサイズ以上のデータが送信されてきた場合（換言すれば、設定された通信帯域を超える通信速度で一定サイズ以上のデータが送信されてきた場合）には、ロードバランサは、ＭＦＰ（クライアント）からの通信パケットをサーバに転送せず、ＭＦＰからサーバへのデータ送信を成功させないようにする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１３９３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
たとえば、ＭＦＰがスキャン画像をサーバに送信する場合において、ＭＦＰの初期設定の内容にも依存するが、当該初期設定のままＭＦＰがスキャン送信処理を実行すると、上述のようなロードバランサの通信規制が発動され、スキャン送信処理が正常に完了しないことがある。
【０００６】
そのため、管理者等は、ＭＦＰとサーバとの通信速度を意図的に抑制するために送信パケットサイズの設定を変更することが考えられる。具体的には、送信パケットサイズを初期値よりも低減するように設定変更を行うことによって、ＭＦＰとサーバとの通信速度を意図的に抑制することが考えられる。
【０００７】
しかしながら、送信パケットサイズを常に初期値よりも低減するような設定変更が行われると、ＭＦＰとサーバとの通信速度が常に抑制されてしまう。
【０００８】
そこで、本発明は、画像処理装置からサーバへのデータ送信処理をより効率的に実行することが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決すべく、請求項１の発明は、画像処理装置であって、サーバに対してデータを送信する通信手段と、前記データの送信動作を制御する制御手段と、を備え、前記制御手段は、前記サーバに対する送信対象データのデータサイズが所定の閾値よりも小さい場合には、送信パケットサイズを第１のパケットサイズに設定して前記送信対象データを送信し、前記送信対象データのデータサイズが前記所定の閾値よりも大きい場合には、送信パケットサイズを、前記第１のパケットサイズよりも小さな値である第２のパケットサイズに設定して前記送信対象データを送信することを特徴とする。
【００１０】
請求項２の発明は、請求項１の発明に係る画像処理装置において、前記制御手段は、互いに異なるデータサイズを有する複数のデータのそれぞれを複数の送信パケットサイズのそれぞれで前記サーバに対して送信して前記複数のデータのそれぞれの送信結果を送信パケットサイズごとに取得するテスト送信を前記送信対象データの送信に先立って実行し、前記テスト送信の結果に基づいて前記所定の閾値を決定することを特徴とする。
【００１１】
請求項３の発明は、請求項２の発明に係る画像処理装置において、前記制御手段は、前記テスト送信における何れかのデータサイズのデータに関する通信であって特定値以上の送信パケットサイズでの通信における通信エラーの発生頻度が所定程度以上である場合には、前記テスト送信にて前記特定値以上の送信パケットサイズでの通信における通信エラーの発生頻度が前記所定程度未満であるデータサイズのうち最も大きな値を前記所定の閾値として決定することを特徴とする。
【００１２】
請求項４の発明は、請求項３の発明に係る画像処理装置において、前記テスト送信は、互いに異なるデータサイズを有する前記複数のデータのそれぞれを前記複数の送信パケットサイズのそれぞれで前記サーバに対して送信して前記複数のデータのそれぞれに関する通信速度の測定結果を送信パケットサイズごとに取得する処理を含み、前記制御手段は、前記所定の閾値よりも大きな少なくとも１つのデータサイズのデータ送信に関する送信パケットサイズ毎の通信速度の測定結果に基づき、前記複数の送信パケットサイズの中から前記第２のパケットサイズを決定することを特徴とする。
【００１３】
請求項５の発明は、請求項４の発明に係る画像処理装置において、前記制御手段は、前記少なくとも１つのデータサイズのデータ送信に関する送信パケットサイズ毎の通信速度の測定結果に基づき、その通信速度の分散度合いを示す指標値が閾値よりも小さな少なくとも１つの送信パケットサイズのうち、その通信速度が最も大きな送信パケットサイズを、前記第２のパケットサイズとして決定することを特徴とする。
【００１４】
請求項６の発明は、請求項５の発明に係る画像処理装置において、前記制御手段は、前記複数のパケットサイズのうち、前記少なくとも１つのデータサイズのデータ送信における通信エラーの発生頻度が前記所定程度以上であるパケットサイズを除外した上で、前記第２のパケットサイズを決定することを特徴とする。
【００１５】
請求項７の発明は、請求項４の発明に係る画像処理装置において、前記制御手段は、前記複数のパケットサイズのうち、前記少なくとも１つのデータサイズのデータ送信における通信エラーの発生頻度が前記所定程度以上であるパケットサイズを除外した上で、その通信速度が最も大きな送信パケットサイズを、前記第２のパケットサイズとして決定することを特徴とする。
【００１６】
請求項８の発明は、請求項３から請求項７のいずれかの発明に係る画像処理装置において、前記制御手段は、前記テスト送信において何れのデータサイズのデータに関する通信においても通信エラーの発生頻度が前記所定程度未満である場合には、前記送信対象データのデータサイズと前記所定の閾値との大小関係にかかわらず、送信パケットサイズをデフォルトサイズに設定して前記送信対象データを送信することを特徴とする。
【００１７】
請求項９の発明は、請求項３から請求項８のいずれかの発明に係る画像処理装置において、前記画像処理装置は、装置グループを構成する複数の画像処理装置のうちの１つの装置であり、前記制御手段は、前記テスト送信において何れかのデータサイズのデータに関する通信であって前記特定値以上の送信パケットサイズでの通信における通信エラーの発生頻度が前記所定程度以上である場合には、前記テスト送信にて前記特定値以上の送信パケットサイズでの通信における通信エラーの発生頻度が前記所定程度未満であるデータサイズのうち最も大きな値を前記所定の閾値として決定するとともに、前記複数の画像処理装置のうち前記画像処理装置以外の装置に対して、前記所定の閾値を通知することを特徴とする。
【００１８】
請求項１０の発明は、請求項２から請求項９のいずれかの発明に係る画像処理装置において、前記制御手段は、前記テスト送信を所定タイミングの到来に応じて自動的に実行することを特徴とする。
【００１９】
請求項１１の発明は、請求項２から請求項１０のいずれかの発明に係る画像処理装置において、前記制御手段は、前記テスト送信をユーザの指示に応答して直ちに実行することを特徴とする。
【００２０】
請求項１２の発明は、請求項１から請求項１１のいずれかの発明に係る画像処理装置において、前記送信対象データは、前記画像処理装置におけるスキャン処理にて生成されたスキャン画像であり、前記制御手段は、前記スキャン処理にて生成され且つ前記サーバに対して送信されるべき前記スキャン画像のデータサイズが前記所定の閾値よりも小さい場合には、送信パケットサイズを前記第１のパケットサイズに設定して前記スキャン画像を送信し、前記スキャン画像のデータサイズが前記所定の閾値よりも大きい場合には、送信パケットサイズを、前記第２のパケットサイズに設定して前記スキャン画像を送信することを特徴とする。
【００２１】
請求項１３の発明は、画像処理システムであって、複数の画像処理装置、を備え、前記複数の画像処理装置のそれぞれは、サーバに対してデータを送信する通信手段と、前記データの送信動作を制御する制御手段と、を有し、各画像処理装置の前記制御手段は、前記サーバに対する送信対象データのデータサイズが所定の閾値よりも小さい場合には、送信パケットサイズを第１のパケットサイズに設定して前記送信対象データを送信し、前記送信対象データのデータサイズが前記所定の閾値よりも大きい場合には、送信パケットサイズを、前記第１のパケットサイズよりも小さな値である第２のパケットサイズに設定して前記送信対象データを送信することを特徴とする。
【００２２】
請求項１４の発明は、請求項１３の発明に係る画像処理システムにおいて、前記複数の画像処理装置のうちの一の画像処理装置の制御手段は、互いに異なるデータサイズを有する複数のデータのそれぞれを複数の送信パケットサイズのそれぞれで前記サーバに対して送信して前記複数のデータのそれぞれに関する通信速度の測定結果を送信パケットサイズごとに取得するテスト送信を実行し、前記テスト送信の結果に基づいて前記所定の閾値と前記第２のパケットサイズとを決定し、前記一の画像処理装置にて決定された前記所定の閾値および前記第２のパケットサイズを、前記複数の画像処理装置のうちの前記一の画像処理装置以外の少なくとも１つの装置で使用すべき前記所定の閾値および前記第２のパケットサイズとして、当該少なくとも１つの装置に対して通知することを特徴とする。
【００２３】
請求項１５の発明は、請求項１４の発明に係る画像処理システムにおいて、前記一の画像処理装置は、前記少なくとも１つの装置が前記一の画像処理装置と同じ処理性能を有する装置であると判定されることを条件に、前記一の画像処理装置にて決定された前記所定の閾値および前記第２のパケットサイズを前記少なくとも１つの装置に対して通知することを特徴とする。
【００２４】
請求項１６の発明は、画像処理装置に内蔵されたコンピュータに、ａ）サーバに対する送信対象データのデータサイズを取得するステップと、ｂ）前記サーバに対して前記送信対象データを送信するステップと、を実行させるためのプログラムであって、前記ステップｂ）は、ｂ−１）前記送信対象データのデータサイズが所定の閾値よりも小さい場合には、送信パケットサイズを第１のパケットサイズに設定して前記送信対象データを送信するステップと、ｂ−２）前記送信対象データのデータサイズが前記所定の閾値よりも大きい場合には、送信パケットサイズを前記第１のパケットサイズよりも小さな値である第２のパケットサイズに設定して前記送信対象データを送信するステップと、を有することを特徴とする。
【００２５】
請求項１７の発明は、請求項１６の発明に係るプログラムにおいて、ｃ）互いに異なるデータサイズを有する複数のデータを前記サーバに対して送信するテスト送信を前記ステップｂ）に先立って実行し、前記テスト送信の結果に基づいて前記所定の閾値を決定するステップ、をさらに前記コンピュータに実行させることを特徴とする。
【００２６】
請求項１８の発明は、請求項１７の発明に係るプログラムにおいて、前記テスト送信は、互いに異なるデータサイズを有する前記複数のデータのそれぞれを前記複数の送信パケットサイズのそれぞれで前記サーバに対して送信して前記複数のデータのそれぞれに関する通信速度の測定結果を送信パケットサイズごとに取得する処理を含み、前記ステップｃ）においては、前記テスト送信の結果に基づいて前記所定の閾値と前記第２のパケットサイズとが決定されることを特徴とする。
【発明の効果】
【００２７】
請求項１から請求項１８に記載の発明によれば、サーバに対する送信対象データのデータサイズが所定の閾値よりも大きい場合には、比較的小さな第２のパケットサイズに送信パケットサイズが設定されて送信対象データが送信されるので、ロードバランサによる通信規制が発動されることを回避ないし抑制することが可能である。また、サーバに対する送信対象データのデータサイズが所定の閾値よりも小さい場合には、送信パケットサイズが第１のパケットサイズに設定されて送信対象データが送信されるので、比較的大きな第１のパケットサイズを採用することによって比較的高速な通信を実現することが可能である。
【図面の簡単な説明】
【００２８】
【図１】第１実施形態に係る画像処理システムを示す図である。
【図２】ＭＦＰの概略構成を示す機能ブロック図である。
【図３】テスト送信によるパラメータの決定動作を示すフローチャートである。
【図４】テスト送信におけるデータ送信の成功回数（成功率）を示す図である。
【図５】テスト送信におけるデータ送信速度の測定結果を示す図である。
【図６】テスト送信に関する解析結果等を示す図である。
【図７】実際のデータ送信に伴うＭＦＰの動作を示すフローチャートである。
【図８】第２実施形態に係る画像処理システムを示す図である。
【図９】ＭＦＰの動作を示すフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明の実施形態を図面に基づいて説明する。
【００３０】
＜１．第１実施形態＞
＜１−１．システム構成概要＞
図１は、第１実施形態に係る画像処理システム１（１Ａとも称する）を示す図である。図１に示すように、この画像処理システム１は、画像処理装置１０とサーバ８０とを備える。
【００３１】
本システム１における各要素１０，８０は、それぞれ、ネットワーク１０８を介して互いに通信可能に接続される。ネットワーク１０８は、ＬＡＮ（Local Area Network）およびインターネットなどによって構成される。また、ネットワーク１０８に対する接続態様は、有線接続であってもよく、或いは無線接続であってもよい。
【００３２】
ＭＦＰ１０は、ルータ４０を介してインターネット等に接続されている。また、ＭＦＰ１０とサーバ８０との間には、ロードバランサ６０が設けられている。
【００３３】
ロードバランサ（負荷調整装置あるいは通信規制装置とも称される）６０は、サーバ８０に関する通信を監視する装置である。たとえば、設定された通信帯域を超える通信速度で一定サイズ以上のデータが特定のクライアント装置（ＭＦＰ１０等）から送信されてきた場合には、ロードバランサ６０は、当該特定のクライアント装置（ＭＦＰ１０等）からサーバ８０へのアクセスを制限する。具体的には、ロードバランサ６０は、ＭＦＰ１０からの通信パケットをサーバに転送せず、ＭＦＰ１０からサーバ８０へのデータ送信を成功させないような動作を実行する。
【００３４】
＜１−２．画像処理装置の構成＞
この実施形態では、画像処理装置１０として、ＭＦＰ（マルチ・ファンクション・ペリフェラル（Multi-Functional Peripheral））を例示する。ＭＦＰ１０は、画像形成装置とも称される。なお、ＭＦＰ１０は、各種の情報をサーバに送信することが可能な装置であることから、データ送信装置などとも称される。同様に、画像処理システム１は、データ送信システムなどとも称される。
【００３５】
図２は、ＭＦＰ１０の概略構成を示す機能ブロック図である。
【００３６】
ＭＦＰ１０は、スキャン機能、コピー機能、ファクシミリ機能およびボックス格納機能などを備える装置（複合機とも称する）である。具体的には、ＭＦＰ１０は、図２の機能ブロック図に示すように、画像読取部２、印刷出力部３、通信部４、格納部５、入出力部６およびコントローラ９（制御部）等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
【００３７】
画像読取部２は、ＭＦＰ１０の所定の位置に載置された原稿を光学的に読み取って（すなわちスキャンして）、当該原稿の画像データ（原稿画像ないしスキャン画像とも称する）を生成する処理部である。この画像読取部２は、スキャン部であるとも称される。
【００３８】
印刷出力部３は、印刷対象に関するデータに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
【００３９】
通信部４は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部４は、ネットワーク１０８を介したネットワーク通信を行うことも可能である。このネットワーク通信では、たとえば、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、ＭＦＰ１０は、所望の相手先との間で各種のデータを授受することが可能である。
【００４０】
格納部５は、ハードディスクドライブ（ＨＤＤ）等の記憶装置で構成される。
【００４１】
入出力部６は、ＭＦＰ１０に対する入力を受け付ける操作入力部６ａと、各種情報の表示出力を行う表示部６ｂとを備えている。このＭＦＰ１０においては、略板状の操作パネル部６ｃ（図１参照）が設けられ、当該操作パネル部６ｃは、その正面側にタッチパネル（操作パネルあるいは表示パネルとも称する）２５（図１参照）を有している。タッチパネル２５は、液晶表示パネルに圧電センサ等が埋め込まれて構成され、各種情報を表示するとともに操作者からの操作入力を受け付けることが可能である。たとえば、タッチパネル２５においては、メニュー画面等の各種の画面（ボタン画像等を含む）等が表示される。操作者は、タッチパネル２５内に仮想的に配置されるボタン（ボタン画像で表現されるボタン）を押下することによって、ＭＦＰ１０の各種動作内容を設定することなどが可能である。タッチパネル２５は、操作入力部６ａの一部としても機能するとともに、表示部６ｂの一部としても機能する。
【００４２】
コントローラ９は、ＭＦＰ１０に内蔵され、ＭＦＰ１０を統括的に制御する制御装置である。コントローラ９は、ＣＰＵおよび各種の半導体メモリ（ＲＡＭおよびＲＯＭ）等を備えるコンピュータシステムとして構成される。コントローラ９は、ＣＰＵにおいて、ＲＯＭ（例えば、ＥＥＰＲＯＭ（登録商標））内に格納されている所定のソフトウエアプログラム（より詳細には、プログラムモジュール群）を実行することによって、各種の処理部を実現する。なお、当該ソフトウエアプログラム（以下、単にプログラムとも称する）は、ＵＳＢメモリなどの可搬性の記録媒体に記録され、当該記録媒体を介してＭＦＰ１０にインストールされるようにしてもよい。あるいは当該プログラムは、ネットワーク１０８等を介してダウンロードされてＭＦＰ１０にインストールされるようにしてもよい。
【００４３】
また、図２にも示すように、コントローラ９は、上述のようなプログラムを実行することによって、通信制御部１１とパラメータ決定部１２とを含む各種の処理部を実現する。
【００４４】
通信制御部１１は、他の装置（サーバ８０等）との間の通信動作（テスト通信動作および本通信動作を含む）等を制御する処理部である。
【００４５】
パラメータ決定部１２は、ＭＦＰ１０とサーバ８０とのテスト通信の結果を解析し、その解析結果に基づいて、本通信動作に関するパラメータ（後述する閾値ＴＨ１および第２のパケットサイズＺ２等）を決定する処理部である。
【００４６】
＜１−３．動作概略＞
つぎに、ＭＦＰ１０における動作の概略について説明する。
【００４７】
この実施形態では、ＭＦＰ１０におけるスキャン処理にて生成されたスキャン画像をサーバ８０に送信する動作（スキャン送信動作）を例示する。端的に言えば、スキャン画像（より詳細には、スキャン画像の画像データ）が送信対象データとして送信される態様について例示する。当該スキャン送信動作において、特に、ロードバランサ６０による通信規制の対象とならないように、送信パケットサイズが変更されてＭＦＰ１０からサーバ８０への通信速度が制御される。より詳細には、送信対象データの大きさ（データサイズ）に応じて、送信パケットサイズが変更され通信速度が適宜に変更される。
【００４８】
スキャン画像（送信対象データ）は、パケット通信によって送信される。パケット通信（パケット送信）では、送信対象データが複数のパケットに分割されて送信される。
【００４９】
送信対象データがパケット通信（パケット送信）にて送信される際には、パケット通信における送信パケットサイズを変更することによって、パケット通信における通信速度が変更され得る。なお、「送信パケットサイズ」は、分割された各パケット（分割後の最小単位データ）の大きさ（たとえば、バイト数）である。
【００５０】
基本的には、送信パケットサイズが大きくなるほど通信速度が大きく（速く）なる。逆に言えば、送信パケットサイズが小さくなるほど通信速度が小さい（遅く）なる。たとえば、送信パケットサイズが「１６」（バイト（Bytes））のときの通信速度は、送信パケットサイズが「２０」（バイト）のときの通信速度よりも小さい。これは、送信対象データが細かく分割される程、分割後の送信パケットの数（ひいては送信パケットのデータヘッダの数）が増大し、データヘッダ（データのヘッダ部分）のオーバーヘッドが生じることなどに起因する。逆に、送信パケットサイズが増大し分割数が低減されると、オーバーヘットが抑制され、その結果、通信速度が増大する。
【００５１】
このように、基本的には、通信速度向上のためには、比較的大きな送信パケットサイズが設定されることが好ましい。
【００５２】
しかしながら、上述のようにＭＦＰ１０とサーバ８０との間にロードバランサ６０が存在する場合には、当該ロードバランサ６０は、ＭＦＰ１０とサーバ８０との間の通信を規制することがある。より詳細には、所定時間以内に所定データサイズ以上のデータが送信されてきた場合（換言すれば、設定された通信帯域を超える通信速度で一定サイズ以上のデータが送信されてきた場合）には、ロードバランサ６０は、ＭＦＰ１０からの通信パケットをサーバに転送せず、ＭＦＰ１０からサーバ８０へのデータ送信を成功させないようにする。なお、一般的には、ロードバランサ６０による通信規制が発動される通信速度およびデータサイズは、公開されていない。
【００５３】
上述のように、通信速度の向上のためには、基本的には比較的大きな送信パケットサイズが設定されることが好ましい。しかしながら、送信パケットサイズの値を大きくし過ぎると、ロードバランサ６０による通信規制が発動され、ＭＦＰ１０からサーバ８０へのデータ送信が成功しなくなることがある。
【００５４】
たとえば、ＭＦＰ１０の送信パケットサイズのデフォルト値が「２６」（バイト）に設定されている場合には、基本的には、ＭＦＰ１０の送信パケットサイズが「１２」（バイト）に設定されている場合と比べて、比較的高速な通信が実現され得る。しかしながら、ＭＦＰ１０の送信パケットサイズのデフォルト値が「２６」（バイト）に設定されている場合において、比較的大きなデータサイズ（たとえば２ＧＢ（ギガバイト））のスキャン画像データが送信されるときには、上述のロードバランサ６０による通信規制が発動されることがある。その場合、ＭＦＰ１０からサーバ８０へのデータ送信は完了しない。あるいは、当該データ送信の完了が遅延する。
【００５５】
このような事態に対処するためには、たとえば送信パケットサイズを一律に比較的小さな値（たとえば、１２バイト）に設定変更する技術が一案として考えられる。ただし、送信パケットサイズを一律に設定変更する技術においては、比較的小さなデータサイズ（たとえば５ＭＢ（メガバイト））のスキャン画像データが送信される場合にも、その通信速度が低下してしまう。
【００５６】
そこで、この実施形態では、送信対象データのデータサイズに関する閾値ＴＨ１（たとえば１０ＭＢ（メガバイト））を設定する。送信対象データのデータサイズが閾値ＴＨ１よりも小さい場合には、送信パケットサイズが第１のパケットサイズＺ１（ここではデフォルトサイズＺ０（たとえば「２６バイト」））に設定され、当該送信対象データが送信される。一方、送信対象データのデータサイズが閾値ＴＨ１よりも大きい場合には、送信パケットサイズが第２のパケットサイズＺ２に設定され送信対象データが送信される。第２のパケットサイズＺ２は、第１のパケットサイズＺ１よりも小さな値であり、たとえば、「２２バイト」である。
【００５７】
このような動作によれば、閾値ＴＨ１（たとえば１０ＭＢ（メガバイト））よりも小さなデータサイズ（たとえば５ＭＢ（メガバイト））のスキャン画像データが送信される場合には、比較的大きなパケットサイズＺ１（たとえば２６バイト）を用いてスキャン画像データが送信されるので、比較的高速に通信することが可能である。このような少量のデータの送信は、そもそもロードバランサ６０による通信規制の対象外である可能性が高いので、比較的高速且つ安定的な通信を確保することが可能である。なお、後述するように、この実施形態では、ロードバランサ６０による通信規制が発動され難いデータサイズに対応する閾値ＴＨ１がテスト送信によって好適に決定される。
【００５８】
一方、閾値ＴＨ１（たとえば１０ＭＢ（メガバイト））よりも大きなデータサイズ（たとえば２ＧＢ（ギガバイト））のスキャン画像データが送信される場合には、比較的小さなパケットサイズＺ２（たとえば２２バイト）が用いられる。これによれば、送信パケットサイズを低減して通信速度を抑制することによって、ロードバランサ６０による通信規制の発動を回避あるいは抑制して安定的な通信を実現することが可能である。
【００５９】
この実施形態では、後述するように、第２のパケットサイズＺ２および閾値ＴＨ１は、事前のテスト送信の結果に基づいて決定される。
【００６０】
以下では、このような動作について詳細に説明する。まず、事前のテスト送信による各種パラメータ（閾値ＴＨ１および第２のパケットサイズＺ２）の決定動作について説明し、次にスキャン画像の実際の送信動作について説明する。
【００６１】
＜１−４．テスト送信による各パラメータの決定動作＞
図３は、テスト送信動作およびテスト送信結果に基づく各パラメータの決定動作を示すフローチャートである。図３を参照しながら、テスト送信による各種パラメータ（閾値ＴＨ１および第２のパケットサイズＺ２）の決定動作について説明する。なお、図３の動作（テスト送信等）は、所定タイミングの到来に応じて自動的に実行される。たとえば、所定時刻（毎日２０時等）が到来したこと、あるいは、前回の実行時点から所定時間（１２時間等）が経過したこと等の各種のタイミングの到来に応じて自動的に実行される。このような各種パラメータが自動的に決定されることによれば、管理者の調整作業を要さず、管理者の負担を軽減することが可能である。
【００６２】
具体的には、所定タイミングの到来に応じて、ＭＦＰ１０（詳細にはコントローラ９）は、互いに異なるデータサイズを有する複数のデータのそれぞれをサーバ８０に対して送信するテスト送信を予め実行する。当該テスト送信においては、各データサイズを有する複数のデータのそれぞれが複数の送信パケットサイズのそれぞれで送信され、当該複数のデータのそれぞれの送信結果（成否および通信速度等）が送信パケットサイズごとに取得される。換言すれば、各送信パケットサイズによる複数サイズのデータに関する通信速度等が測定される。より詳細には、複数のサイズの各データについて、送信パケットサイズを所定範囲内の下限値（たとえば、「１０」バイト）から上限値（たとえば、「３０」バイト）に至るまで所定値間隔（たとえば、「２」バイト間隔）で徐々に変更しつつ、各送信パケットサイズに関する通信速度の測定結果等が測定される。また、同様の測定動作がＮ回繰り返される。
【００６３】
たとえば、まずステップＳ１１にて送信パケットサイズがｉ番目の値（ただし、ｉ＝１、すなわち、最初の値（たとえば下限値「１０バイト」））に設定され、且つ、ステップＳ１２でデータサイズ（データ送信量）がｊ番目の値（ただし、ｊ＝１、すなわち、最初の値（たとえば最小サイズ「１０ＭＢ」）に設定される。
【００６４】
そして、ステップＳ１３において、ステップＳ１２で設定されたデータサイズのテスト用データが、ステップＳ１１で設定された送信パケットサイズに分割され、ＭＦＰ１０からサーバ８０に向けて送信（パケット送信）される。換言すれば、ＭＦＰ１０は、サーバ８０に対して送信リクエストとともにテスト用データを送信する。
【００６５】
また、ステップＳ１４において、ＭＦＰ１０は、当該送信リクエストに対してサーバ８０から返信されるレスポンス情報（データ送信結果）に基づいて、当該送信リクエストに関する通信（当該テスト用データの送信）が成功したか否かを判定する。具体的には、送信リクエストに対してサーバ８０から返信されるレスポンス情報がサクセス情報を含む場合には、ＭＦＰ１０は、当該送信リクエストに関する通信が成功した旨を判定する。一方、当該レスポンス情報がサクセス情報を含まない場合（およびレスポンス情報自体が所定時間内に返ってこない場合）には、ＭＦＰ１０は、当該送信リクエストに関する通信エラーが発生した旨を判定する。
【００６６】
また、ＭＦＰ１０は、テスト用データの送信に要した時間に基づいてデータ送信処理（データ送信処理）の通信速度Ｖを測定する。具体的には、当該通信速度Ｖは、テスト用データのデータ送信処理における最初のパケットの送信開始時点ＴＳから当該データ送信処理における最後のパケットの送信終了時点ＴＥまでの時間（Ｔ＝ＴＥ−ＴＳ）で送信対象データのデータサイズＤを除した値（Ｖ＝Ｄ／Ｔ）として算出される。なお、ここでは、時間Ｔ（＝ＴＥ−ＴＳ）が所定値を超える場合には、サーバのタイムアウト時間が経過した（通信が失敗した）と判定されるとともに、当該所定値を時間Ｔ（＝ＴＥ−ＴＳ）とみなして通信速度Ｖが算出されるものとする。ただし、これに限定されず、たとえば、そのような場合には、時間Ｔが無限大であるとみなされて通信速度Ｖ（＝０）が算出されてもよい。
【００６７】
ステップＳ１５では、全てのサイズ（ここでは３種類の異なるデータサイズ（「１０ＭＢ」、「１００ＭＢ」、「１０００ＭＢ（＝１ＧＢ）」））に関するデータ送信が終了したか否かが判定される。
【００６８】
未終了のデータサイズのデータ送信が残っている場合は、ステップＳ１２に戻って、送信対象データのデータサイズが（更新後の）ｊ番目の値（たとえば、ｊ＝２に対応する値「１００ＭＢ」、あるいは、ｊ＝３に対応する値「１０００ＭＢ」）に変更される。また、ステップＳ１３において、ステップＳ１２で設定されたデータサイズのテスト用データが、ステップＳ１１で設定された送信パケットサイズに分割され、ＭＦＰ１０からサーバ８０に向けて送信（パケット送信）される。そして、ステップＳ１４では、当該テスト用データの送信結果（通信成否および通信速度等）を取得する。
【００６９】
一方、全てのデータサイズ（のデータ）に関するテスト送信が終了した旨がステップＳ１５にて判定されると、ステップＳ１６に進む。
【００７０】
ステップＳ１６では、複数の送信パケットサイズの全てに関するデータ送信が終了したか否かが判定される。具体的には、複数のパケットサイズ（たとえば、「１０」，「１２」，「１４」，...，「２８」，「３０」）に関するデータ送信（テスト送信）が完了したか否かが判定される。
【００７１】
未終了のパケットサイズのデータ送信が残っている場合は、ステップＳ１１に戻って、送信パケットサイズが（更新後の）ｉ番目の値（たとえば、ｉ＝２に対応する値「１２」等）に変更される。また、ステップＳ１３において、ステップＳ１２で設定されたデータサイズのテスト用データが、ステップＳ１１で設定された送信パケットサイズに分割され、ＭＦＰ１０からサーバ８０に向けて送信（パケット送信）される。そして、ステップＳ１４では、当該テスト用データの送信結果（通信成否および通信速度等）を取得する。
【００７２】
一方、全ての送信パケットサイズに関するテスト送信が終了した旨がステップＳ１６にて判定されると、ステップＳ１７に進む。
【００７３】
ステップＳ１７では、上述のような複数のデータサイズに関するデータ送信がＮ回（たとえば、Ｎ＝１０）繰り返されたか否かが判定される。当該データ送信の実行回数が（Ｎ−１）回以下であることが判定されると、再びステップＳ１１に戻る。そして、ステップＳ１１からステップＳ１６の処理が再び実行される。一方、当該データ送信がＮ回繰り返されたことが判定されると、ステップＳ１８に進む。
【００７４】
ステップＳ１８では、ＭＦＰ１０は、テスト送信の結果に基づいて、実際のデータ送信時に用いるべきパラメータ（閾値ＴＨ１および第２の送信パケットサイズＺ２）を決定する。
【００７５】
図４は、テスト送信におけるデータ送信の成功回数（成功率）を示す図である。図４においては、データサイズごと且つ送信パケットサイズごとのテスト送信における成功回数がそれぞれ示されている。ここでは、１０回（Ｎ＝１０）の試行送信のうち、成功した回数が示されている。より詳細には、試行回数Ｎ（ここでは１０）が分母に示され、成功回数が分子に示されている。
【００７６】
より具体的には、１０ＭＢのデータサイズを有するテスト用データの送信の成功回数（成功率）が図４の最下段の各欄に示されている。また、当該最下段においては、各送信パケットサイズごとの送信成功回数が左から右に向けて順次に記載されている。具体的には、８種類の送信パケットサイズ「１６」，「１８」，「２０」，...，「３０」の各送信成功回数が、いずれも、「１０回」であることが示されている。なお、ここでは、送信対象の実データ部分の分割サイズ（分割後の単位データ長）の各値が送信パケットサイズの各値として例示されている。ただし、これに限定されず、送信パケットサイズは、各種通信プロトコルにおけるヘッダをも含む大きさとして表現されてもよい。
【００７７】
また、１００ＭＢのデータサイズを有するテスト用データの送信の成功回数が図４の中段の各欄に示されている。また、当該中段においては、各送信パケットサイズごとの送信成功回数が左から右に向けて順次に記載されている。具体的には、８種類の送信パケットサイズ「１６」，「１８」，「２０」，...，「３０」の各送信成功回数が、それぞれ、「９回」，「１０回」，「１０回」，「１０回」，「９回」，「０回」，「０回」，「０回」であることが示されている。
【００７８】
さらに、１０００ＭＢ（＝１ＧＢ）のデータサイズを有するテスト用データの送信の成功回数が図４の最上段の各欄に示されている。また、当該最上段においては、各送信パケットサイズごとの送信成功回数が左から右に向けて順次に記載されている。具体的には、８種類の送信パケットサイズ「１６」，「１８」，「２０」，...，「３０」の各送信成功回数が、それぞれ、「７回」，「１０回」，「１０回」，「１０回」，「８回」，「０回」，「０回」，「０回」であることが示されている。
【００７９】
ここでは、或るデータサイズを有するデータのテスト送信において、或る送信パケットサイズ（詳細には、特定値よりも大きな少なくとも１つの送信パケットサイズ）での送信失敗頻度（送信エラーの発生頻度）が所定程度以上（たとえば５０％以上）である場合には、ＭＦＰ１０は、当該データサイズ且つ当該送信パケットサイズのデータ送信においてロードバランサ６０による通信規制が発動されている旨を判定する。
【００８０】
たとえば、データサイズ「１０００ＭＢ（＝１ＧＢ）」を有するデータのテスト送信において、比較的大きな３つの送信パケットサイズ（「２６バイト」，「２８バイト」，「３０バイト」）での送信失敗頻度（送信エラーの発生頻度）が所定程度以上（たとえば５０％以上）である（具体的には、１００％である（１つも成功していない））。この場合には、ＭＦＰ１０は、当該データサイズ「１０００ＭＢ」且つ当該送信パケットサイズ（「２６バイト」，「２８バイト」および「３０バイト」）のデータ送信においてロードバランサ６０による通信規制が発動されている旨を判定する。
【００８１】
同様に、データサイズ「１００ＭＢ」を有するデータのテスト送信において、比較的大きな３つの送信パケットサイズ（「２６バイト」，「２８バイト」，「３０バイト」）での送信失敗頻度（送信エラーの発生頻度）が所定程度以上（たとえば５０％以上）である。この場合には、ＭＦＰ１０は、当該データサイズ「１００ＭＢ」且つ当該送信パケットサイズ（「２６バイト」，「２８バイト」および「３０バイト」）のデータ送信においてロードバランサ６０による通信規制が発動されている旨を判定する。
【００８２】
一方、データサイズ「１０ＭＢ」を有するデータのテスト送信においては、上述の比較的大きな３つの送信パケットサイズ（「２６バイト」，「２８バイト」，「３０バイト」）での送信失敗頻度（送信エラーの発生頻度）はいずれも所定程度未満（たとえば５０％未満）である（具体的には、０％である）。この場合には、ＭＦＰ１０は、当該データサイズ「１０ＭＢ」のデータ送信においてはロードバランサ６０による通信規制が発動されていない旨を判定する。
【００８３】
このように、或るデータサイズを有するデータのテスト送信において、上述の比較的大きな少なくとも１つの送信パケットサイズ（ここでは「２６バイト」，「２８バイト」，「３０バイト」）での送信失敗頻度（送信エラーの発生頻度）がいずれも所定程度未満（たとえば５０％未満）である場合には、当該データサイズのデータ送信においてはロードバランサ６０による通信規制が発動されていない旨を判定する。
【００８４】
そして、ロードバランサ６０による通信規制が発動されていない旨が判定される少なくとも１つのデータサイズのうち最も大きな値が、閾値ＴＨ１として決定される。ここでは、ロードバランサ６０による通信規制が発動されていない旨が判定されるデータサイズは「１０ＭＢ」のみであるので、データサイズ「１０ＭＢ」が閾値ＴＨ１として決定される。なお、仮に、「１０ＭＢ」および「１００ＭＢ」の２つのデータサイズについてロードバランサ６０による通信規制が発動されていない旨が判定される場合には、当該２つのデータサイズのうち比較的大きなデータサイズ「１００ＭＢ」が閾値ＴＨ１として決定されればよい。
【００８５】
以上のように、特定のデータサイズ（ここでは１ＧＢおよび１００ＭＢ）に関するテスト通信であって特定値以上の送信パケットサイズ（２６バイト以上）でのテスト通信における通信エラーの発生頻度が所定程度（５０％）以上である。この場合、当該特定値よりも大きな送信パケットサイズ（２６バイト以上）での通信における通信エラーの発生頻度が所定程度未満であるデータサイズ（ここでは、１０ＭＢ）のうち最も大きな値（同じく１０ＭＢ）が所定の閾値ＴＨ１として決定される。
【００８６】
なお、当該特定のデータサイズ（１ＧＢおよび１００ＭＢ）のデータの通信において、特定値（２６バイト）よりも小さなサイズの送信パケットサイズのうち「２４バイト」，「２２バイト」，「２０バイト」，「１８バイト」の４つのパケットサイズ（のいずれか）が採用される場合には、一度も送信エラーが発生していない。しかしながら、これら４つのパケットサイズよりもさらに小さなサイズの送信パケットサイズ「１６バイト」では、送信エラーが１回〜３回程度、発生している。これは、送信パケットサイズが小さくなり通信速度が遅くなり過ぎて通信所要時間がサーバのタイムアウト時間を超えたことに起因して発生した通信エラーである、と解析される。すなわち、ロードバランサ６０の通信規制に起因する通信エラーではないものと判定される。
【００８７】
これに関して、上記実施形態においては、特定値（２６バイト）以上の送信パケットサイズでの通信における通信エラーの発生頻度を考慮することによって、ロードバランサ６０の通信規制に起因する通信エラーを好適に検出している。換言すれば、上記実施形態によれば、送信パケットサイズが小さ過ぎて（通信速度が遅過ぎて）通信所要時間がサーバのタイムアウト時間を超えたことに起因する通信エラーと、逆に送信パケットサイズが大き過ぎて（通信速度が早過ぎて）ロードバランサ６０の通信規制が発動されたことに起因する通信エラーとを良好に区別することが可能である。
【００８８】
つぎに、図５をも参照しながら、第２のパケットサイズＺ２の決定処理について説明する。図５は、テスト送信（詳細には、送信データサイズ「１ＧＢ」のデータのテスト送信）におけるデータ送信速度の測定結果（一部）を示す図である。
【００８９】
上述のように、「１００ＭＢ」および「１ＧＢ」のデータサイズのデータ送信においては、３つの送信パケットサイズ（「２６バイト」，「２８バイト」，「３０バイト」）が採用される場合には、ＭＦＰ１０からサーバ８０に対する通信速度が所定程度よりも大きい（端的に言えば、速過ぎる）ために、ロードバランサ６０による通信規制が発動されている、と考えられる。このような送信パケットサイズは不適切である、と判定される。
【００９０】
図６においては、閾値ＴＨ１よりも大きな少なくとも１つのデータサイズ（たとえば、送信データサイズ「１ＧＢ」）のデータ送信では、当該３つの送信パケットサイズ（「２６バイト」，「２８バイト」，「３０バイト」）の欄に「ＮＧ」が示されており、当該３つの送信パケットサイズが不適切である旨が示されている。特に、デフォルトサイズ「２６バイト」のままでは不適切であり、新たな送信パケットサイズＺ２が決定されることが望まれる。なお、図６は、テスト送信に関する解析結果（パラメータの決定過程等を含む）を示す図である。
【００９１】
そこで、まず、複数のパケットサイズのうち、データサイズ「１ＧＢ」のデータ送信において通信エラーが所定程度（たとえば５０％）以上発生するパケットサイズ（ここでは、３つの送信パケットサイズ「２６バイト」，「２８バイト」，「３０バイト」）を除外した上で、第２のパケットサイズＺ２が決定される。具体的には、「２６バイト」よりも小さな残り５つの送信パケットサイズ（具体的には、「１６バイト」，「１８バイト」，「２０バイト」，「２２バイト」，「２４バイト」）のいずれかが第２の送信パケットサイズＺ２として決定される。これによれば、比較的小さな送信パケットサイズが採用されることによって通信速度が低減され、通信速度が過大であることに起因するロードバランサ６０による通信規制の発動が回避あるいは抑制される。
【００９２】
また、第２のパケットサイズＺ２は、閾値ＴＨ１よりも大きな少なくとも１つのデータサイズ（ここでは「１ＧＢ」）のデータ送信に関する送信パケットサイズ毎の通信速度の測定結果をも考慮して、決定される。なお、ここでは、閾値ＴＨ１よりも大きな単一のデータサイズ（「１ＧＢ」）のデータ送信に関する送信パケットサイズ毎の通信速度の測定結果を考慮するが、これに限定されない。たとえば、閾値ＴＨ１よりも大きな複数のデータサイズ（「１ＧＢ」および「１００ＭＢ」）のデータ送信に関する送信パケットサイズ毎の通信速度の測定結果を考慮してもよい。
【００９３】
図５においては、当該残りの５つの送信パケットサイズのそれぞれによる各通信に関し、各送信パケットサイズによる通信速度（Ｎ回の測定結果の平均値）と、各送信パケットサイズによる通信速度（Ｎ回の測定結果）に関する分散度合いを示す指標値（ここでは標準偏差）とが示されている。なお、当該指標値は、標準偏差に限定されず、「分散」等であってもよい。
【００９４】
図５に示されるように、「１６バイト」，「１８バイト」，「２０バイト」，「２２バイト」，「２４バイト」の各送信パケットサイズによる通信速度（平均速度）は、それぞれ、「２２５」，「２３０」，「２３５」，「２４０」，「２５５」（ｋｂｐｓ）である。
【００９５】
ここにおいて、ロードバランサ６０による通信規制の発動が回避あるいは抑制された上で、比較的速い通信速度を実現できる送信パケットサイズが好ましい。
【００９６】
このような観点によれば、８つの送信パケットサイズのうち、「２６バイト」よりも小さく且つ最も大きなパケットサイズ（具体的には、「２４バイト」）が第２の送信パケットサイズＺ２として決定されればよい。
【００９７】
ただし、「２４バイト」のパケットサイズにおいては、１０回の試行送信のうち、８回の試行送信は成功しているものの、２回の試行送信は失敗している（図４参照）。このことは、ネットワークの混雑状況等の変化に応じて、ロードバランサ６０による通信規制が発動された可能性があることを示している。
【００９８】
ここにおいて、通信の負荷状況等に依存して、同じ送信パケットサイズが設定されている場合であっても、ロードバランサ６０による通信規制が発動されるときと当該通信規制が発動されないときが存在し得る。そして、ロードバランサ６０による通信規制が発動されるときには、たとえば送信完了までに余分な時間（サーバタイムアウトが発生するまでの待機期間等）を要するため、通信速度が低下する。一方、当該通信規制が発動されない場合には、比較的大きな通信速度が実現される。このような事情によって、通信速度がばらつくことがある。このような「ばらつき」は、通信速度の分散度合いを示す指標値（分散、標準偏差等）を算出することによって考慮され得る。比較的大きなバラツキが存在する通信状況は、必ずしも安定した通信状況であるとは言えず、避けることが好ましい。
【００９９】
そこで、この実施形態では、ロードバランサ６０による通信規制に起因する通信エラー発生の可能性をなるべく排除し且つさらに安定した通信を行い得る通信パケットサイズを決定することを意図して、通信速度の分散の度合いを示す指標値（標準偏差等）をも考慮する。
【０１００】
図５に示すように、「１６バイト」，「１８バイト」，「２０バイト」，「２２バイト」，「２４バイト」の各送信パケットサイズによる通信速度（Ｎ回の測定結果）に関する分散度合いを示す指標値（ここでは標準偏差）は、それぞれ、「３．８」，「２．２」，「２．５」，「３．４」，「１０．１」である。
【０１０１】
具体的には、送信パケットサイズ毎の通信速度の測定結果において、その通信速度の分散度合いを示す指標値（分散、標準偏差等）が閾値（たとえば、５．０）よりも小さな少なくとも１つの送信パケットサイズのうち、その通信速度が最も大きな送信パケットサイズが、第２のパケットサイズＺ２として決定される。具体的には、送信パケットサイズ「２２バイト」が第２のパケットサイズＺ２として決定される。
【０１０２】
より詳細には、まず「２４バイト」の各送信パケットサイズによる通信速度の標準偏差は、１０．１であり、閾値「５．０」を超えているため、「２４バイト」は候補から除外される。そして、閾値「５．０」以下の標準偏差に対応する４つの送信パケットサイズ（「１６バイト」，「１８バイト」，「２０バイト」，「２２バイト」）のうち、その通信速度が最も大きな送信パケットサイズは、「２２バイト」（通信速度＝２４０ｋｂｐｓ）である。したがって、「２２バイト」が第２のパケットサイズＺ２として決定される。
【０１０３】
このようにして、閾値ＴＨ１よりも大きな少なくとも１つのデータサイズ（たとえば「１ＧＢ」）のデータ送信に関する送信パケットサイズ毎の通信速度の測定結果に基づき、複数の送信パケットサイズの中から第２のパケットサイズＺ２が決定される。
【０１０４】
なお、上記態様においては、複数のパケットサイズのうち、データサイズ「１ＧＢ」のデータ送信において通信エラーが所定程度（たとえば５０％）以上発生するパケットサイズ（ここでは、３つの送信パケットサイズ「２６バイト」，「２８バイト」，「３０バイト」）を除外した上で、第２のパケットサイズＺ２が決定されているが、これに限定されない。たとえば、当該３つの送信パケットサイズを意図的には除外することなく、その通信速度の分散度合いを示す指標値（分散、標準偏差等）が閾値（たとえば、５．０）よりも小さな少なくとも１つの送信パケットサイズのうち、その通信速度が最も大きな送信パケットサイズ（「たとえば２２バイト」）が、第２のパケットサイズＺ２として決定されてもよい。この場合、３つの送信パケットサイズ「２６バイト」，「２８バイト」，「３０バイト」は、意図的には除外されないものの、結果的には第２のパケットサイズＺ２としては決定されないことが多い。当該３つの送信パケットサイズ「２６バイト」，「２８バイト」，「３０バイト」は、その通信速度の分散度合いを示す指標値（分散、標準偏差等）が閾値（たとえば、５．０）よりも大きなパケットサイズであるか、あるいは、その通信速度が比較的小さな送信パケットサイズであること、が多いからである。
【０１０５】
＜１−５．スキャン画像の送信動作＞
上述のようなテスト送信の通信結果に基づいて閾値ＴＨ１および第２のパケットサイズＺ２が決定された後において、次述するような実際のデータ送信（スキャン送信等）が行われる。なお、逆に言えば、上述のようなテスト送信等は、実際のデータ送信（スキャン送信等）に先立って行われる。また、比較的新しいネットワーク状況を反映するためには、当該テスト送信等が定期的に或いは不定期に繰り返して実行され閾値ＴＨ１および第２のパケットサイズＺ２が随時更新されることが好ましい。
【０１０６】
図７は、実際のデータ送信に伴うＭＦＰ１０の動作を示すフローチャートである。
【０１０７】
ステップＳ３１において、ＭＦＰ１０は、ユーザによるスキャン画像送信指示を受け付ける。具体的には、ユーザが、原稿をＡＤＦ（自動原稿送り装置）等に載置し、各種の設定操作（スキャン画像の送信先サーバの指定動作等を含む）を行った後に、スタートボタンを押下してスキャン画像送信指示をＭＦＰ１０に対して付与する。
【０１０８】
ＭＦＰ１０は、当該スキャン画像の送信指示を受け付けると、画像読取部（スキャナ部）２等を用いてスキャン画像を生成する（ステップＳ３２）。
【０１０９】
ステップＳ３３において、ＭＦＰ１０は、画像読取部２等によるスキャン処理によって生成されたスキャン画像のデータサイズに基づいて、判定処理（分岐処理）を実行する。具体的には、生成されたスキャン画像（サーバ８０に対して送信されるべきスキャン画像）のデータサイズが上述の閾値ＴＨ１と比較され、その比較結果に基づく分岐処理が実行される。
【０１１０】
スキャン画像のデータサイズが閾値ＴＨ１よりも小さい場合には、送信パケットサイズがデフォルトサイズ（Ｚ０＝Ｚ１（たとえば２６バイト））（図６等参照）のままに設定され（ステップＳ３５）、ステップＳ３６に進む。
【０１１１】
一方、スキャン画像のデータサイズが閾値ＴＨ１よりも大きい場合には、送信パケットサイズが、上述のテスト送信に基づく第２のパケットサイズＺ２（たとえば「２２バイト」（図６等参照））に変更（設定）され（ステップＳ３４）、ステップＳ３６に進む。
【０１１２】
なお、等号成立の場合（スキャン画像のデータサイズと閾値ＴＨ１とが同じ値である場合）には、ステップＳ３４とステップＳ３５とのいずれの処理が行われてもよい。
【０１１３】
ステップＳ３４あるいはステップＳ３５の後のステップＳ３６においては、スキャン画像の送信処理が実行される。
【０１１４】
たとえば、図４〜図６に示すようなテスト送信結果が得られている場合において、ステップＳ３２で生成されたスキャン画像のデータサイズが「３ＭＢ」であるときには、当該データサイズ「３ＭＢ」が閾値ＴＨ１よりも小さい旨が判定される。そして、送信パケットサイズが変更されることなく、「２６バイト」（デフォルトサイズＺ０）のままの送信パケットサイズ（第１のパケットサイズＺ１）でスキャン画像がＭＦＰ１０からサーバ８０へと送信される（ステップＳ３５，Ｓ３６）。
【０１１５】
一方、ステップＳ３２で生成されたスキャン画像のデータサイズが「８００ＭＢ」であるときには、当該データサイズ「８００ＭＢ」が閾値ＴＨ１よりも大きい旨が判定される。そして、送信パケットサイズが「２２バイト」（第２のパケットサイズＺ２）に設定され、当該変更後のパケットサイズでスキャン画像がＭＦＰ１０からサーバ８０へと送信される（ステップＳ３４，Ｓ３６）。
【０１１６】
同様に、ステップＳ３２で生成されたスキャン画像のデータサイズが「５ＧＢ」であるときにも、当該データサイズ「５ＧＢ」が閾値ＴＨ１よりも大きい旨が判定される。そして、送信パケットサイズが「２２バイト」（第２のパケットサイズＺ２）に設定され、当該変更後のパケットサイズでスキャン画像がＭＦＰ１０からサーバ８０へと送信される（ステップＳ３４，Ｓ３６）。
【０１１７】
また、ステップＳ３２で生成されたスキャン画像のデータサイズが「５０ＭＢ」であるときにも、当該データサイズ「５０ＭＢ」が閾値ＴＨ１よりも大きい旨が判定される。そして、送信パケットサイズが「２２バイト」（第２のパケットサイズＺ２）に設定され、当該変更後のパケットサイズでスキャン画像がＭＦＰ１０からサーバ８０へと送信される（ステップＳ３４，Ｓ３６）。
【０１１８】
以上のような動作によれば、サーバ８０に対する送信対象データ（スキャン画像データ）のデータサイズが所定の閾値ＴＨ１よりも大きい場合には、送信パケットサイズが、第２のパケットサイズＺ２（＜Ｚ１）に設定されて送信対象データが送信される。換言すれば、ロードバランサ６０による通信規制が発動される可能性が高い場合には、比較的小さなパケットサイズを採用することによって通信速度が抑制される。これによれば、ロードバランサ６０による通信規制が発動されることを回避ないし抑制することが可能である。
【０１１９】
一方、所定の閾値ＴＨ１よりも小さい場合には、送信パケットサイズが第１のパケットサイズＺ１に設定されて送信対象データが送信される。換言すれば、ロードバランサ６０による通信規制が発動される可能性が低い場合には、比較的大きなパケットサイズを採用することによって比較的高速な通信を実現することが可能である。
【０１２０】
以上のように、上述のような動作によれば、ＭＦＰ１０からサーバ８０へのデータ送信処理をより効率的に実行することが可能である。
【０１２１】
なお、この実施形態においては、テスト送信において何れかのデータサイズのデータに関する通信であって特定値以上の送信パケットサイズでの通信における通信エラーの発生頻度が所定程度以上であることを前提に例示している。仮に、そのような前提が成立しない場合（テスト送信において何れのデータサイズのデータに関しても当該通信エラーの発生頻度が所定程度未満である場合等）には、ＭＦＰ１０とサーバ８０との間におけるロードバランサ６０による通信規制が存在しないものと判定される。そのような場合には、送信対象データのデータサイズと所定の閾値との大小関係にかかわらず、送信パケットサイズがデフォルトサイズのままに設定されて送信対象データが送信されればよい。
【０１２２】
＜２．第２実施形態＞
第２実施形態は、第１実施形態の変形例である。以下では、第１実施形態との相違点を中心に説明する。
【０１２３】
図８は、第２実施形態に係る画像処理システム１（１Ｂ）を示す図である。
【０１２４】
画像処理システム１Ｂは、（ルータ４０の配下のＬＡＮ内に）複数のＭＦＰ１０を備えている。換言すれば、画像処理システム１Ｂは、複数のＭＦＰ１０で構成される装置群（グループ）を備えている。当該複数のＭＦＰ１０は、互いに関連する装置の集合体（装置群）として管理されている。より詳細には、ＭＦＰ１０ａにおける設定変更内容が他のＭＦＰ１０ｂ，１０ｃ，...等に通知され、ＭＦＰ１０ａの設定変更内容が当該他のＭＦＰ１０ｂ，１０ｃ，...等にも反映される。
【０１２５】
図９は、ＭＦＰ１０ａの動作を示すフローチャートである。図９の動作は、図３の動作に引き続いて実行される。
【０１２６】
上記第１実施形態のような動作（図３参照）がＭＦＰ１０ａにて実行され、テスト送信の結果、閾値ＴＨ１および第２のパケットサイズＺ２が更新された場合には、その更新結果が他のＭＦＰ１０（たとえば１０ｂ）に通知される。
【０１２７】
より詳細には、ＭＦＰ１０ａによるテスト送信において何れかのデータサイズ（たとえば、「１ＧＢ」あるいは「１００ＭＢ」）に関する通信であって特定値（たとえば２６バイト）以上の送信パケットサイズでの通信における通信エラーが所定程度以上発生した場合を想定する。この場合、ＭＦＰ１０ａは、上述のようにして、閾値ＴＨ１および第２の送信パケットサイズＺ２を決定（更新）するとともに、ステップＳ５１において、当該更新が行われた旨を判定し、ステップＳ５２に進む。なお、更新が行われなかった場合には、図９の動作は終了する。
【０１２８】
ステップＳ５２においては、ＭＦＰ１０ａは、群管理されている他のＭＦＰを探索する。具体的には、ＭＦＰ１０ａは、ＬＡＮ内の各装置に対して装置情報の送信要求を通知し、ＬＡＮ内の各装置から返信されてきた装置情報（ＭＩＢ（Management Information Base）等）を取得する。そして、ＭＦＰ１０ａは、当該ＭＦＰ１０ａと同じグループに属するＭＦＰ１０を当該装置情報に基づいて特定する。さらに、ＭＦＰ１０ａは、同じグループ内の各ＭＦＰ１０の能力を確認し、各ＭＦＰの能力に基づいて設定変更連動装置（設定変更対象装置とも称する）を決定する。具体的には、ＭＦＰ１０ａは、同じグループに属する複数のＭＦＰ１０の中から、当該ＭＦＰ１０ａと同じ機種名を有するＭＦＰ１０（同じ能力を有するＭＦＰ）を検索し、検索されたＭＦＰ１０を設定変更連動装置（設定変更対象装置とも称する）として特定する。たとえば、ＭＦＰ１０ａ以外の複数のＭＦＰ１０ｂ，１０ｃ，１０ｄ，１０ｅ，...のうちＭＦＰ１０ｂ，１０ｃのみがＭＦＰ１０ａと同じ機種名を有する場合には、ＭＦＰ１０ｂ，１０ｃが、（ＭＦＰ１０ａに対する）設定変更連動装置として特定される。
【０１２９】
ステップＳ５３においては、ＭＦＰ１０ａは設定変更連動装置（ＭＦＰ１０ｂ，１０ｃ）に対して、設定変更指令および設定変更内容（閾値ＴＨ１および第２のパケットサイズＺ２）を送信する。換言すれば、ＭＦＰ１０ａは、当該設定変更内容を、複数のＭＦＰ１０のうちのＭＦＰ１０ａ以外の少なくとも１つの設定変更連動装置で使用すべき情報として、当該少なくとも１つの設定変更連動装置に通知する。
【０１３０】
各設定変更連動装置（ＭＦＰ１０ｂ，１０ｃ）は、設定変更指令等を受信すると、当該設定変更指令等に基づいて、ＭＦＰ１０ａと同じパラメータ（閾値ＴＨ１および第２のパケットサイズＺ２）を当該各設定変更連動装置にて設定する。そして、設定が完了すると、各設定変更連動装置は、設定変更指令等の送信元のＭＦＰ１０ａに対して設定完了通知を送信する。
【０１３１】
ＭＦＰ１０ａ（設定変更指令等の送信元装置）は、各設定変更連動装置（ＭＦＰ１０ｂ，１０ｃ）から設定完了通知を受信する（ステップＳ５４）と、図９の処理を終了する。
【０１３２】
その後、各ＭＦＰ１０ａ，１０ｂ，１０ｃは、設定変更後の閾値ＴＨ１および第２のパケットサイズＺ２に基づいて、図７の動作を実行する。
【０１３３】
以上のような動作によれば、ＭＦＰ１０ａにおけるテスト送信結果に基づくパラメータ（閾値ＴＨ１および第２のパケットサイズＺ２）がＭＦＰ１０ａから別のＭＦＰ１０ｂ，１０ｃに通知される。したがって、当該別のＭＦＰ１０ｂ，１０ｃにおいては、当該ＭＦＰ１０ａからの通知内容に基づいて、設定変更を行うことが可能である。換言すれば、同じ機種名を有する複数の装置（同等のスペックを有する装置）がそれぞれ個別にテスト送信を行うことを要しない。したがって、処理の効率化を図ることが可能である。また、サーバとの通信負荷の増大を抑制することが可能である。
【０１３４】
なお、ここでは、ＭＦＰ１０ａと同じ機種の装置であることを条件に設定変更連動装置が特定されているが、これに限定されない。たとえば、機種名等に基づき同じ処理性能（特にネットワーク処理性能等）を有する装置（同一性能を有する型番違いの装置等）であると判定される装置（異なる機種名を有する装置であってもよい）が、設定変更連動装置として特定されるようにしてもよい。
【０１３５】
＜３．変形例等＞
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【０１３６】
たとえば、上記実施形態においては、スキャン画像の実際の送信動作に先立ってテスト送信等（図３のステップＳ１１〜Ｓ１８参照）が自動的に行われているが、これに限定されず、当該テスト送信は、ユーザの指示に応答して直ちに実行されてもよい。これによれば、任意のタイミングで、テスト送信等を実行することが可能である。特にＭＦＰ１０の導入時等（未だ一度もテスト送信が行われていない状況）において、ユーザ（ＭＦＰ１０のサービスマン等を含む）の指示（手動指示）に応答して、テスト送信等（図３のステップＳ１１〜Ｓ１８参照）が実行されるようにしてもよい。換言すれば、自動実行のタイミングとして予め設定された所定のタイミングの到来の有無にかかわらず、当該テスト送信がユーザの指示に応答して直ちに実行されてもよい。
【０１３７】
また、上記第１実施形態においては、第２のパケットサイズＺ２および閾値ＴＨ１は、事前のテスト送信によって決定されているが、これに限定されない。
【０１３８】
たとえば、第２のパケットサイズＺ２および閾値ＴＨ１は、適宜の固定値として予め決定されていてもよい。より詳細には、第２のパケットサイズＺ２は、ロードバランサ６０による通信規制が発動されにくい比較的小さな値（たとえば１２バイト）に固定的に設定されてもよい。同様に、送信対象データのデータサイズに関する閾値ＴＨ１は、ロードバランサ６０による通信規制が発動されにくい比較的小さな値（たとえば１ＭＢ）に固定的に設定されてもよい。
【０１３９】
ただし、上述のようなテスト送信によれば、ネットワークの実際の負荷状況を反映した好適な値ＴＨ１，Ｚ２を決定することが可能である。
【０１４０】
また、上記各実施形態においては、送信対象データのデータサイズが閾値ＴＨ１よりも小さい場合には、デフォルト値Ｚ０が第１のパケットサイズＺ１として設定されている（ステップＳ３５）が、これに限定されない。たとえば、送信対象データのデータサイズが閾値ＴＨ１よりも小さい場合には、デフォルト値Ｚ０よりも大きな値（「３０バイト」（上限値）あるいは「２８バイト」等）が第１のパケットサイズＺ１として設定されてもよい。
【符号の説明】
【０１４１】
１  画像処理システム
１０  ＭＦＰ（画像処理装置）
４０  ルータ
６０  ロードバランサ
８０  サーバ
ＴＨ１  閾値
Ｚ１  第１のパケットサイズ
Ｚ２  第２のパケットサイズ
【図１】
2018085569.tif 000003
【図２】
2018085569.tif 000004
【図３】
2018085569.tif 000005
【図４】
2018085569.tif 000006
【図５】
2018085569.tif 000007
【図６】
2018085569.tif 000008
【図７】
2018085569.tif 000009
【図８】
2018085569.tif 000010
【図９】
2018085569.tif 000011