(57)【特許請求の範囲】
【請求項１】
画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備えた画像処理システムであって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備え、
前記画像処理装置は、
前記セッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置と前記指示サーバーとの間のセッションの接続または切断の結果が、前回のパケットの送信時の結果と異なる場合には、前記短縮または延長の時間の値を小さくする、画像処理システム。
【請求項２】
画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備えた画像処理システムであって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備え、
前記画像処理装置は、
前記セッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置と前記指示サーバーとの間のセッションの接続または切断の結果が前回のパケットの送信時の結果とは異なる事態が所定回数生じた場合には、次回の前記短縮または延長における前記短縮または延長の時間の値を小さくする、画像処理システム。
【請求項３】
前記調整手段は、前記短縮または延長の時間の値が所定の値に到達した場合には、前記送信間隔の短縮または延長の時間の長さの変更を行なわない、請求項１または請求項２に記載の画像処理システム。
【請求項４】
前記調整手段は、前記短縮または延長の時間の値が所定の値に到達した場合には、前記短縮または延長を行なわない、請求項１または請求項２に記載の画像処理システム。
【請求項５】
前記調整手段は、前記短縮または延長の時間の値が所定の値に到達した後、前記画像処理装置と前記指示サーバーとの間のセッションの切断が検出されたことを条件として、前記短縮または延長を再開する、請求項４に記載の画像処理システム。
【請求項６】
画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備えた画像処理システムであって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備え、
前記画像処理装置は、
前記セッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置は、当該画像処理装置の状態を、通常状態と前記通常状態よりも電力の消費量が少ない省電力状態とを含む複数の状態のうちいずれかに制御する状態制御手段をさらに含み、
前記状態制御手段は、前記パケット送信手段によるパケットの送信から前記送信間隔によって特定される時間が経過したときに、前記画像処理装置の状態が前記省電力状態にある場合には、前記画像処理装置の状態を少なくとも前記パケット送信手段がパケットを送信できる状態へと移行させる、画像処理システム。
【請求項７】
前記状態制御手段は、前記画像処理装置の状態を少なくとも前記パケット送信手段がパケットを送信できる状態へと移行させた後、前記パケット送信手段によるパケット送信によって前記画像処理装置と前記指示サーバーとの間のセッションの確立が確認された場合には、前記画像処理装置の状態を前記省電力状態に戻す、請求項６に記載の画像処理システム。
【請求項８】
前記状態制御手段は、前記パケット送信手段によるパケットの送信から前記送信間隔によって特定される時間が経過したときであっても、予め定められたスケジュールに従って前記画像処理装置の状態を前記省電力状態に制御している場合には、前記画像処理装置の状態を前記パケット送信手段がパケットを送信できる状態には移行させない、請求項６または請求項７に記載の画像処理システム。
【請求項９】
前記パケット送信手段は、前記状態制御手段において前記画像処理装置を前記省電力状態に設定しない特定の期間が設定されている場合には、前記送信間隔ではなく、前記特定の期間においてのみ、前記セッションサーバーにパケットを送信する、請求項６〜請求項８のいずれか１項に記載の画像処理システム。
【請求項１０】
前記状態制御手段は、前記パケット送信手段によるパケットの送信から前記送信間隔によって特定される時間が経過したときに、前記画像処理装置の状態が前記省電力状態にある場合であっても、前記送信間隔が所定の下限値まで到達している場合には、前記画像処理装置の状態を少なくとも前記パケット送信手段がパケットを送信できる状態へと移行させない、請求項６〜請求項９のいずれか１項に記載の画像処理システム。
【請求項１１】
画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備えた画像処理システムであって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備え、
前記画像処理装置は、
前記セッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置は、当該画像処理装置のＴＥＣ（Typical  Electricity  Consumption）値を取得する処理を実行する機器情報取得手段をさらに含み、
前記調整手段は、前記送信間隔が前記ＴＥＣ値を測定する間隔を下回った場合には、それ以上当該送信間隔を短縮しない、画像処理システム。
【請求項１２】
前記調整手段は、前記機器情報取得手段による前記ＴＥＣ値を測定するタイミングを、前記パケット送信手段のパケットの送信タイミングと同期させる、請求項１１に記載の画像処理システム。
【請求項１３】
画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備えた画像処理システムであって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備え、
前記画像処理装置は、
前記セッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記パケット送信手段は、前記画像処理装置が前記指示情報によって特定される指示を実行できない状態にある場合には、前記パケットの送信を停止する、画像処理システム。
【請求項１４】
前記指示情報によって特定される指示を実行できない状態は、前記画像処理装置におけるファームウェアの更新処理が実行されている状態を含む、請求項１３に記載の画像処理システム。
【請求項１５】
前記指示情報によって特定される指示を実行できない状態は、前記画像処理装置におけるログの取得処理が実行されている状態を含む、請求項１３または請求項１４に記載の画像処理システム。
【請求項１６】
前記指示情報によって特定される指示を実行できない状態は、前記画像処理装置において管理者モードで制御が実行されている状態を含む、請求項１３〜請求項１５のいずれか１項に記載の画像処理システム。
【請求項１７】
前記指示情報によって特定される指示を実行できない状態は、前記画像処理装置が画像形成を実行している状態を含む、請求項１３〜請求項１６のいずれか１項に記載の画像処理システム。
【請求項１８】
画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備えた画像処理システムであって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備え、
前記画像処理装置は、
前記セッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置が接続可能なサーバー群をさらに備え、
前記画像処理装置は、前記サーバー群とデータの授受を行ない、
前記指示サーバーは、前記サーバー群を管理し、
前記画像処理装置は、
前記指示情報によって特定される指示の実行に使用可能なサーバーが前記サーバー群の中にあるか否かを前記指示サーバーに問い合わせる、サーバー情報取得手段をさらに含み、
前記パケット送信手段は、前記サーバー情報取得手段が、前記指示サーバーから、前記指示情報によって特定される指示の実行に使用可能なサーバーが前記サーバー群の中にはないという回答を取得した場合には、前記パケットの送信を停止する、画像処理システム。
【請求項１９】
指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する画像処理装置であって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記調整手段は、前記画像処理装置と前記指示サーバーとの間のセッションの接続または切断の結果が、前回のパケットの送信時の結果と異なる場合には、前記短縮または延長の時間の値を小さくする、画像処理装置。
【請求項２０】
指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する画像処理装置であって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置と前記指示サーバーとの間のセッションの接続または切断の結果が前回のパケットの送信時の結果とは異なる事態が所定回数生じた場合には、次回の前記短縮または延長における前記短縮または延長の時間の値を小さくする、画像処理装置。
【請求項２１】
指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する画像処理装置であって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置の状態を、通常状態と前記通常状態よりも電力の消費量が少ない省電力状態とを含む複数の状態のうちいずれかに制御する状態制御手段をさらに備え、
前記状態制御手段は、前記パケット送信手段によるパケットの送信から前記送信間隔によって特定される時間が経過したときに、前記画像処理装置の状態が前記省電力状態にある場合には、前記画像処理装置の状態を少なくとも前記パケット送信手段がパケットを送信できる状態へと移行させる、画像処理装置。
【請求項２２】
前記状態制御手段は、前記画像処理装置の状態を少なくとも前記パケット送信手段がパケットを送信できる状態へと移行させた後、前記パケット送信手段によるパケット送信によって前記画像処理装置と前記指示サーバーとの間のセッションの確立が確認された場合には、前記画像処理装置の状態を前記省電力状態に戻す、請求項２１に記載の画像処理装置。
【請求項２３】
指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する画像処理装置であって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置のＴＥＣ（Typical  Electricity  Consumption）値を取得する処理を実行する機器情報取得手段をさらに含み、
前記調整手段は、前記送信間隔が前記ＴＥＣ値を測定する間隔を下回った場合には、それ以上当該送信間隔を短縮しない、画像処理装置。
【請求項２４】
指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する画像処理装置であって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記パケット送信手段は、前記画像処理装置が前記指示情報によって特定される指示を実行できない状態にある場合には、前記パケットの送信を停止する、画像処理装置。
【請求項２５】
指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する画像処理装置であって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置は、前記画像処理装置が接続可能なサーバー群とデータの授受を行ない、
前記指示サーバーは、前記サーバー群を管理し、
前記画像処理装置は、
前記指示情報によって特定される指示の実行に使用可能なサーバーが前記サーバー群の中にあるか否かを前記指示サーバーに問い合わせる、サーバー情報取得手段をさらに含み、
前記パケット送信手段は、前記サーバー情報取得手段が、前記指示サーバーから、前記指示情報によって特定される指示の実行に使用可能なサーバーが前記サーバー群の中にはないという回答を取得した場合には、前記パケットの送信を停止する、画像処理装置。
【請求項２６】
指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する画像処理装置によって実行されるプログラムであって、
前記プログラムは、前記画像処理装置を、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段、および、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段として機能させ、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置と前記指示サーバーとの間のセッションの接続または切断の結果が、前回のパケットの送信時の結果と異なる場合には、前記短縮または延長の時間の値を小さくする、プログラム。
【請求項２７】
画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーであって、
前記画像処理装置と前記指示サーバーとの間にセッションを張るためのセッションサーバーに、前記指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、
前記パケット送信手段によるパケットの送信間隔を、前記接続確認の後の接続状態に基づいて、前記ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、
前記調整手段は、
前記画像処理装置と前記指示サーバーとの間のセッションが接続されている場合には前記送信間隔を延長させ、
前記画像処理装置と前記指示サーバーとの間のセッションが切断されている場合には前記送信間隔を短縮させ、
前記画像処理装置と前記指示サーバーとの間のセッションの接続または切断の結果が、前回のパケットの送信時の結果と異なる場合には、前記短縮または延長の時間の値を小さくする、指示サーバー。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理システム、画像処理装置、指示サーバー、およびプログラムに関し、特に、画像処理装置と当該画像処理装置に指示情報を送信する指示サーバーとを備える画像処理システム、そのような画像処理システムを構成する画像処理装置および指示サーバー、ならびに当該画像処理装置において実行されるプログラムに関する。
【背景技術】
【０００２】
近年、ＭＦＰ（Multi-Functional  Peripheral）等の画像処理装置は、指示サーバー等の外部の装置から指示を受け付ける場合がある。このような場合、たとえば、当該画像処理装置を含む画像処理システムでは、画像処理装置と指示サーバーとの間にセッションを張るためのサーバー（たとえば、ＸＭＰＰ（Extensible  Messaging  and  Presence  Protocol）サーバー）が設けられる。指示サーバーは、当該セッション用のサーバーを介して、画像処理装置に対して遠隔指示を行う。
【０００３】
装置の遠隔指示については、種々の技術が開示されている。たとえば、特開２０１４−１９９９９８号公報（特許文献１）は、被遠隔制御装置と遠隔制御依頼装置との間にサーバー装置を設ける通信システムを開示している。当該サーバー装置は、被遠隔制御装置および遠隔制御依頼装置の双方とネットワークを介して接続し、遠隔制御依頼装置に対してコネクションを確立する第１接続部と、コネクションにおける無通信状態が所定時間に達するとコネクションを維持するためのパケットを遠隔制御依頼装置へ送信するコネクション維持部と、パケット不通状態を検知する切断検知部とを備える。切断検知部がパケット不通状態を検知すると、コネクション維持部は、上記の所定時間を短縮する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１９９９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された技術では、セッション（コネクション）を維持するためのパケット送信の時間間隔は短くなる一方である。このため、当該パケットを送信する機器における単位時間当たりのパケットの送信回数が増える一方となり、これにより、当該機器における負荷が増大することを意味する。つまり、特許文献１に記載された技術が画像処理装置に適用された場合には、画像処理装置に指示サーバーとのセッションを維持するためのパケットを送信させた場合、画像処理装置において、セッションを維持するための負荷が増大する一方となり得る。
【０００６】
本開示は、かかる実情を鑑み考え出されたものであり、その目的は、画像処理装置において、負荷の増大を最小限に抑えつつ、指示サーバーとのセッションをより確実に維持することである。
【課題を解決するための手段】
【０００７】
本開示のある局面に従うと、画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備えた画像処理システムが提供される。画像処理システムは、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備え、画像処理装置は、セッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含む。
【０００８】
調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させる。
【０００９】
調整手段は、画像処理装置と指示サーバーとの間のセッションの接続または切断の結果が、前回のパケットの送信時の結果と異なる場合には、短縮または延長の時間の値を小さくする。
【００１０】
本開示の他の局面に従うと、画像処理システムは、画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備える。画像処理システムは、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備え、画像処理装置は、セッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含む。調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させ、画像処理装置と指示サーバーとの間のセッションの接続または切断の結果が前回のパケットの送信時の結果とは異なる事態が所定回数生じた場合には、次回の短縮または延長における短縮または延長の時間の値を小さくする。
【００１１】
好ましくは、調整手段は、短縮または延長の時間の値が所定の値に到達した場合には、送信間隔の短縮または延長の時間の長さの変更を行なわない。
【００１２】
好ましくは、調整手段は、短縮または延長の時間の値が所定の値に到達した場合には、短縮または延長を行なわない。
【００１３】
好ましくは、調整手段は、短縮または延長の時間の値が所定の値に到達した後、画像処理装置と指示サーバーとの間のセッションの切断が検出されたことを条件として、短縮または延長を再開する。
【００１４】
本開示のさらに他の局面に従うと、画像処理システムは、画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備える。画像処理システムは、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備える。画像処理装置は、セッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含む。調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させる。画像処理装置は、当該画像処理装置の状態を、通常状態と通常状態よりも電力の消費量が少ない省電力状態とを含む複数の状態のうちいずれかに制御する状態制御手段をさらに含み、状態制御手段は、パケット送信手段によるパケットの送信から送信間隔によって特定される時間が経過したときに、画像処理装置の状態が省電力状態にある場合には、画像処理装置の状態を少なくともパケット送信手段がパケットを送信できる状態へと移行させる。
【００１５】
好ましくは、状態制御手段は、画像処理装置の状態を少なくともパケット送信手段がパケットを送信できる状態へと移行させた後、パケット送信手段によるパケット送信によって画像処理装置と指示サーバーとの間のセッションの確立が確認された場合には、画像処理装置の状態を省電力状態に戻す。
【００１６】
好ましくは、状態制御手段は、パケット送信手段によるパケットの送信から送信間隔によって特定される時間が経過したときであっても、予め定められたスケジュールに従って画像処理装置の状態を省電力状態に制御している場合には、画像処理装置の状態をパケット送信手段がパケットを送信できる状態には移行させない。
【００１７】
好ましくは、パケット送信手段は、状態制御手段において画像処理装置を省電力状態に設定しない特定の期間が設定されている場合には、送信間隔ではなく、特定の期間においてのみ、セッションサーバーにパケットを送信する。
【００１８】
好ましくは、状態制御手段は、パケット送信手段によるパケットの送信から送信間隔によって特定される時間が経過したときに、画像処理装置の状態が省電力状態にある場合であっても、送信間隔が所定の下限値まで到達している場合には、画像処理装置の状態を少なくともパケット送信手段がパケットを送信できる状態へと移行させない。
【００１９】
本開示のさらに他の局面に従うと、画像処理システムは、画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備える。画像処理システムは、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備える。画像処理装置は、セッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含む。調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させる。画像処理装置は、当該画像処理装置のＴＥＣ（Typical  Electricity  Consumption）値を取得する処理を実行する機器情報取得手段をさらに含み、調整手段は、送信間隔がＴＥＣ値測定の間隔を下回った場合には、それ以上当該送信間隔を短縮しない。
【００２０】
好ましくは、調整手段は、機器情報取得手段によるＴＥＣ値測定のタイミングを、パケット送信手段のパケットの送信タイミングと同期させる。
【００２１】
本開示のさらに他の局面に従うと、画像処理システムは、画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備える。画像処理システムは、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備え、画像処理装置は、セッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させる。パケット送信手段は、画像処理装置が指示情報によって特定される指示を実行できない状態にある場合には、パケットの送信を停止する。
【００２２】
好ましくは、指示情報によって特定される指示を実行できない状態は、画像処理装置におけるファームウェアの更新処理が実行されている状態を含む。
【００２３】
好ましくは、指示情報によって特定される指示を実行できない状態は、画像処理装置におけるログの取得処理が実行されている状態を含む。
【００２４】
好ましくは、指示情報によって特定される指示を実行できない状態は、画像処理装置において管理者モードで制御が実行されている状態を含む。
【００２５】
好ましくは、指示情報によって特定される指示を実行できない状態は、画像処理装置が画像形成を実行している状態を含む。
【００２６】
本開示のさらに他の局面に従うと、画像処理システムは、画像処理装置と、当該画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーとを備える。画像処理システムは、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーをさらに備える。画像処理装置は、セッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含む。調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させる。画像処理装置が接続可能なサーバー群をさらに備え、画像処理装置は、サーバー群とデータの授受を行ない、指示サーバーは、サーバー群を管理し、画像処理装置は、指示情報によって特定される指示の実行に使用可能なサーバーがサーバー群の中にあるか否かを指示サーバーに問い合わせる、サーバー情報取得手段をさらに含み、パケット送信手段は、サーバー情報取得手段が、指示サーバーから、指示情報によって特定される指示の実行に使用可能なサーバーがサーバー群の中にはないという回答を取得した場合には、パケットの送信を停止する。
【００２７】
本開示の他の局面に従うと、指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する画像処理装置が提供される。画像処理装置は、当該画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含む。
【００２８】
調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させる。
【００２９】
調整手段は、画像処理装置と指示サーバーとの間のセッションの接続または切断の結果が、前回のパケットの送信時の結果と異なる場合には、短縮または延長の時間の値を小さくする。
【００３０】
本開示のさらに他の局面に従うと、画像処理装置は、指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する。画像処理装置は、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含む。調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させ、画像処理装置と指示サーバーとの間のセッションの接続または切断の結果が前回のパケットの送信時の結果とは異なる事態が所定回数生じた場合には、次回の短縮または延長における短縮または延長の時間の値を小さくする。
本開示のさらに他の局面に従うと、画像処理装置は、指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する。画像処理装置は、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含む。調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させる。画像処理装置は、画像処理装置の状態を、通常状態と通常状態よりも電力の消費量が少ない省電力状態とを含む複数の状態のうちいずれかに制御する状態制御手段をさらに備え、状態制御手段は、パケット送信手段によるパケットの送信から送信間隔によって特定される時間が経過したときに、画像処理装置の状態が省電力状態にある場合には、画像処理装置の状態を少なくともパケット送信手段がパケットを送信できる状態へと移行させる。
【００３１】
好ましくは、状態制御手段は、画像処理装置の状態を少なくともパケット送信手段がパケットを送信できる状態へと移行させた後、パケット送信手段によるパケット送信によって画像処理装置と指示サーバーとの間のセッションの確立が確認された場合には、画像処理装置の状態を省電力状態に戻す。
【００３２】
本開示のさらに他の局面に従うと、画像処理装置は、指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する。画像処理装置は、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させ、画像処理装置のＴＥＣ（Typical  Electricity  Consumption）値を取得する処理を実行する機器情報取得手段をさらに含み、調整手段は、送信間隔がＴＥＣ値測定の間隔を下回った場合には、それ以上当該送信間隔を短縮しない。
本開示のさらに他の局面に従うと、画像処理装置は、指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する。画像処理装置は、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させ、パケット送信手段は、画像処理装置が指示情報によって特定される指示を実行できない状態にある場合には、パケットの送信を停止する。
本開示のさらに他の局面に従うと、画像処理装置は、指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する。画像処理装置は、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含み、調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させ、画像処理装置は、画像処理装置が接続可能なサーバー群とデータの授受を行ない、指示サーバーは、サーバー群を管理し、画像処理装置は、指示情報によって特定される指示の実行に使用可能なサーバーがサーバー群の中にあるか否かを指示サーバーに問い合わせる、サーバー情報取得手段をさらに含み、パケット送信手段は、サーバー情報取得手段が、指示サーバーから、指示情報によって特定される指示の実行に使用可能なサーバーがサーバー群の中にはないという回答を取得した場合には、パケットの送信を停止する。
本開示のさらに他の局面に従うと、指示サーバーから、ファイアウォール機能を有するルーターを介して指示情報を受信する画像処理装置によって実行されるプログラムが提供される。プログラムは、画像処理装置を、画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段、および、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段として機能させる。調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させ、画像処理装置と指示サーバーとの間のセッションの接続または切断の結果が、前回のパケットの送信時の結果と異なる場合には、短縮または延長の時間の値を小さくする。
【００３３】
本開示のさらに他の局面に従うと、画像処理装置に対してファイアウォール機能を有するルーターを介して指示情報を送信する指示サーバーが提供される。画像処理装置と指示サーバーとの間にセッションを張るためのセッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信するパケット送信手段と、パケット送信手段によるパケットの送信間隔を、接続確認の後の接続状態に基づいて、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整する調整手段とを含む。調整手段は、画像処理装置と指示サーバーとの間のセッションが接続されている場合には送信間隔を延長させ、画像処理装置と指示サーバーとの間のセッションが切断されている場合には送信間隔を短縮させ、画像処理装置と指示サーバーとの間のセッションの接続または切断の結果が、前回のパケットの送信時の結果と異なる場合には、短縮または延長の時間の値を小さくする。
【発明の効果】
【００３４】
本開示によれば、画像処理装置は、セッションサーバーに、指示サーバーとの間のセッションの接続確認のためのパケットを送信する。これにより、画像処理装置と指示サーバーとの間のセッションは、より確実に維持され得る。なお、パケットの送信間隔は、ルーターのファイアウォール機能におけるセッションタイムアウト時間以内に調整される。これにより、パケットの送信間隔は、短くなる一方には制御されない。セッションタイムアウト時間以内であれば、長くなるようにも制御され得る。したがって、画像処理装置において、負荷の増大を最小限に抑えられる。
【図面の簡単な説明】
【００３５】
【図１】第１の実施の形態の画像処理システムの構成の一例を示す図である。
【図２】第１の実施の形態の画像処理システムに含まれるＭＦＰのハードウェア構成の一例を示す図である。
【図３】ＭＦＰの機能構成を示す図である。
【図４】指示サーバーのハードウェア構成を示す図である。
【図５】ＭＦＰによる、指示サーバーとの間のセッションの維持のためのパケット送信を説明するための図である。
【図６】ＭＦＰにおいて設定されているパケット送信間隔の初期値が、ルーターのファイアウォール機能についてのタイムアウト時間よりも長く設定されている場合を示す。
【図７】ＭＦＰにおいて設定されているパケット送信間隔の初期値が、ルーターのファイアウォール機能についてのタイムアウト時間よりも短く設定されている場合を示す。
【図８】第１の実施の形態のＭＦＰにおいて、「パケット送信間隔」の調整のために実行される処理の概要を説明するための図である。
【図９】第１の実施の形態のＭＦＰにおいて、パケット送信のために実行される処理のフローチャートである。
【図１０】第１の実施の形態のＭＦＰにおいて、パケット送信のために実行される処理のフローチャートである。
【図１１】第１の実施の形態のＭＦＰにおいて、パケット送信のために実行される処理のフローチャートである。
【図１２】第１の実施の形態のＭＦＰにおいて、パケット送信のために実行される処理のフローチャートである。
【図１３】第２の実施の形態の画像処理システムにおけるセッション送信間隔の補正についての補正値の変更態様を説明するための図である。
【図１４】第２の実施の形態のＭＦＰにおいて、パケット送信のために実行される処理のフローチャートである。
【図１５】第２の実施の形態のＭＦＰにおいて、パケット送信のために実行される処理のフローチャートである。
【図１６】「セッション接続維持処理２」のサブルーチンのフローチャートである。
【図１７】「セッション接続維持処理２」のサブルーチンのフローチャートである。
【図１８】第３の実施の形態の指示サーバーのＣＰＵ２０１（図４参照）が実行する処理のフローチャートである。
【図１９】第４の実施の形態の画像処理システムの構成を示す図である。
【発明を実施するための形態】
【００３６】
以下に、図面を参照しつつ、画像処理システムの実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００３７】
［第１の実施の形態］
１．画像処理システムの構成
図１は、本開示の第１の実施の形態の画像処理システムの構成の一例を示す図である。
【００３８】
図１に示されるように、画像処理システムは、画像処理装置の一例であるＭＦＰ１００を含む。ＭＦＰ１００は、ファイアウォール機能を有するルーター５００を介して、ＸＭＰＰ（Extensible  Messaging  and  Presence  Protocol）サーバー３００と通信する。また、ＭＦＰ１００は、ＸＭＰＰサーバー３００を介して、指示サーバー２００を含む種々のサーバー（クラウドサーバー６００およびサーバー７００）と通信する。指示サーバー２００は、ＭＦＰ１００に指示情報を送信するサーバーである。指示サーバー２００は、指示サーバーの一例である。
【００３９】
ＭＦＰ１００は、指示サーバー２００から常時指示情報を受信できるように、指示サーバー２００との間で継続的にＸＭＰＰセッションを確立させるための処理を実行する。より具体的には、ＭＦＰ１００は、指示サーバーとの間のセッションの確立のためのパケットを、ＸＭＰＰサーバー３００へ送信する。
【００４０】
ＭＦＰ１００では、当該パケットの送信間隔が、ルーター５００のファイアウォール機能のタイムアウト時間以下となるように、適切に調整される。つまり、ＭＦＰ１００では、パケットの送信間隔は、上記タイムアウト時間以下となるように、適宜、短縮されたり、延長されたりする。
【００４１】
なお、ＭＦＰ１００は、指示サーバー２００から指示情報を受信したときに、上記サーバーとは別に設けられているサーバー群を利用することにより、当該指示情報によって特定される機能を実現する。サーバー群は、ファームウェア配信サーバー（１）９１０、ファームウェア配信サーバー（２）９２０、ログ取得サーバー９３０、機能カウンター取得サーバー９４０、自己診断結果取得サーバー９５０、および、リモートパネルサーバー９６０を含む。ＭＦＰ１００がサーバー群を利用して実行する機能については、後述される（第４の実施の形態）。
【００４２】
指示サーバー２００からＭＦＰ１００への指示情報の送信は、図１において（１）〜（４）で示された矢印に沿って説明される。つまり、まず矢印（１）として示されるように、指示サーバー２００は、ＸＭＰＰサーバー３００に、指示情報の送信のためのトリガー要求を行なう。
【００４３】
矢印（１）の要求に応じて、矢印（２）として示されるように、ＸＭＰＰサーバー３００は、ＭＦＰ１００に対して、トリガー信号を送信する。
【００４４】
矢印（２）のトリガー信号に応じて、ＭＦＰ１００は、矢印（３）として示されるように、指示サーバー２００に対して、指示情報を問い合わせる。当該問い合わせは、ＨＴＴＰ（Hypertext  Transfer  Protocol）等のＸＭＰＰとは異なるプロトコルで行なわれる。また、当該問い合わせに伴って、ＭＦＰ１００から指示サーバー２００には、シリアル番号とチケットＩＤが送信される。
【００４５】
矢印（３）の問い合わせに応じて、指示サーバー２００は、矢印（４）として示されるように、ＭＦＰ１００に、指示情報を送信する。ＭＦＰ１００は、指示情報を受信することにより、当該指示情報によって特定される機能を実現するための処理を実行する。当該機能の一例は、ファームウェア配信サーバー（１）９１０からの特定のファームウェアのダウンロードである。
【００４６】
２．ＭＦＰのハードウェア構成
図２は、第１の実施の形態の画像処理システムに含まれるＭＦＰ１００のハードウェア構成の一例を示す図である。
【００４７】
図２に示されるように、ＭＦＰ１００は、主な構成要素として、ＣＰＵ（Central  Processing  Unit）１０１と、ＲＯＭ（Read  Only  Memory）１０２と、ＲＡＭ（Random  Access  Memory）１０３と、補助記憶装置１０４と、通信装置１０６と、操作パネル１０７と、スキャナー部１０８と、プリンター部１０９とを備えている。ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、補助記憶装置１０４と、通信装置１０６と、操作パネル１０７と、スキャナー部１０８と、プリンター部１０９とは、互いに内部バスで接続されている。
【００４８】
ＣＰＵ１０１は、ＭＦＰ１００の動作を統括的に制御するための処理を実行するプロセッサーの一例である。
【００４９】
ＲＯＭ１０２は、ＣＰＵ１０１が実行するプログラムを含む各種のデータを格納する。
ＲＡＭ１０３は、ＣＰＵ１０１におけるプログラム実行時のワークエリアとして機能する。ＲＡＭ１０３は、スキャナー部１０８で読み取られた画像データ等を一時的に保存する場合もある。
【００５０】
補助記憶装置１０４は、ＭＦＰ１００に登録されている宛先情報やドキュメントなどの各種のデータを保存する。ドキュメントのデータは、ネットワークを介してＭＦＰ１００に入力される場合もあれば、スキャナー部１０８で画像が読み取られることによって生成される場合もある。
【００５１】
通信装置１０６は、ＭＦＰ１００が他の機器と情報をやり取りする際の通信インターフェースである。第１の実施の形態の画像処理システムでは、通信装置１０６の通信方式の一例はＢｌｕｅｔｏｏｔｈ（登録商標）であるが、当該通信方式は他の無線通信方式であってもよいし、また、有線の通信方式であってもよい。
【００５２】
操作パネル１０７は、コピーの画質または用紙のための設定値、スキャンの送信先（宛先登録）を登録または選択するための情報など、各種の情報の入力を受け付ける。操作パネル１０７の表面には、たとえばタッチパネルが積層された液晶表示部が設けられている。操作パネル１０７は、たとえばＭＦＰ１００における設定内容を表示する。
【００５３】
スキャナー部１０８は、セットされた原稿をスキャンし、原稿の画像データを生成する。スキャナー部１０８における画像データの生成方法は公知の方法を採用することができるため、ここでは詳細な説明は繰り返さない。
【００５４】
プリンター部１０９は、たとえば電子写真方式により、スキャナー部１０８で読み取られた画像データや、指示サーバー（ＷＷＷサーバー）２００等の外部の情報処理装置から送信されたプリントデータを、印刷のためのデータに変換し、変換後のデータに基づいて文書等の画像を印刷する装置である。電子写真方式などの画像形成の態様は、公知の技術を採用することができる。
【００５５】
ＭＦＰ１００では、ＣＰＵ１０１が適切なプログラムを実行することによって、本明細書に記載されたようなＭＦＰ１００の動作が実現される。ＣＰＵ１０１によって実行されるプログラムは、上記したようにＲＯＭ１０２に格納されている代わりに、補助記憶装置１０４に格納されていてもよいし、ＭＦＰ１００に対して着脱可能な記憶媒体に格納されていてもよい。当該プログラムが格納される記憶媒体は、たとえばＣＤ−ＲＯＭ（Compact  Disc  -  Read  Only  Memory）、ＤＶＤ−ＲＯＭ（Digital  Versatile  Disk  -  Read  Only  Memory）、ＵＳＢ（Universal  Serial  Bus）メモリー、メモリーカード、ＦＤ（Flexible  Disk）、ハードディスク、ＳＳＤ（Solid  State  Drive）、磁気テープ、カセットテープ、ＭＯ（Magnetic  Optical  Disc）、ＭＤ（Mini  Disc）、ＩＣ（Integrated  Circuit）カード（メモリーカードを除く）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの、不揮発的にデータを格納する媒体である。
【００５６】
本開示にかかるプログラムは、コンピューターのオペレーティングシステム（ＯＳ：Operating  System）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【００５７】
また、本開示にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【００５８】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００５９】
３．ＭＦＰ１００の機能構成
図３は、ＭＦＰ１００の機能構成を示す図である。図３に示されたＭＦＰ１００の各機能は、たとえばＣＰＵ１０１が適切なプログラムを実行することによって実現される。
【００６０】
図３に示されるように、ＭＦＰ１００は、機能実行部１５１と、セッション管理部１５２と、パケット送信間隔調整部１５３と、指示情報取得部１５４と、サーバー情報取得部１５５と、電力状態制御部１５６と、機器情報取得部１５７とを含む。
【００６１】
機能実行部１５１は、指示サーバー２００からの指示情報によって特定される機能を実現するための処理を実行する。たとえば、当該機能がファームウェアのダウンロードであれば、ＣＰＵ１０１は、指示情報によって特定されるファームウェアの配信先のサーバーに対して、ファームウェアの送信を要求するデータを送信する。
【００６２】
セッション管理部１５２は、指示サーバー２００との間のセッションの確立等を管理する。より具体的には、たとえば、ＣＰＵ１０１は、当該セッションの確立を継続させるために、ＸＭＰＰサーバー３００に対して、予め定められた送信間隔で、セッションの確立に必要なパケットを送信する。
【００６３】
パケット送信間隔調整部１５３は、上記のパケットの送信間隔を調整する。より具体的には、パケット送信間隔調整部１５３は、当該パケットの送信とともに、指示サーバー２００との間のセッションが確立されているか否かを判断する。当該判断は、たとえば、パケット送信に対する指示サーバー２００からの返信の有無に基づいて実現される。パケット送信間隔調整部１５３によって実行される制御の一例では、セッションが確立されていると判断されると上記送信間隔が延長され、セッションが切断されていると判断されると上記送信間隔が短縮される。
【００６４】
指示情報取得部１５４は、指示サーバー２００から指示情報を取得するための処理を実行する。より具体的には、指示情報取得部１５４は、図１を参照して説明されたようにＸＭＰＰサーバー３００からトリガーを受信すると、指示サーバー２００に対して指示情報の問い合わせを実行する（図１中の矢印（３））。
【００６５】
サーバー情報取得部１５５は、指示サーバー２００に対して、指示サーバー２００からの指示情報によって特定される機能に必要な機能を実行するためのサーバーが使用可能か否かの情報を取得する。より具体的には、図１を参照して説明されたように、指示サーバー２００からの指示情報によって特定される機能は、サーバー群（ファームウェア配信サーバー（１）９１０、ファームウェア配信サーバー（２）９２０、ログ取得サーバー９３０、機能カウンター取得サーバー９４０、自己診断結果取得サーバー９５０、および、リモートパネルサーバー９６０を含むサーバー）の中の少なくとも１つのサーバーを必要とする機能を含む。サーバー情報取得部１５５は、指示サーバー２００に対して、指示サーバー２００からの指示情報によって特定される機能が必要とするサーバーが使用可能か否かを問い合わせる。
【００６６】
電力状態制御部１５６は、ＭＦＰ１００の電力状態を制御する。ＭＦＰ１００では、当該ＭＦＰ１００の電力状態として、ＭＦＰ１００内のすべての要素が動作可能なように電力が供給される通常の電力状態、および、当該通常の電力状態よりも電力消費量が少ない省電力状態とを含む複数の状態が設定されている。電力状態制御部１５６は、ＭＦＰ１００において取られる電力状態を制御する。電力状態制御部１５６は、ＭＦＰ１００を、たとえば、起動時には通常の電力状態に設定し、操作パネル１０７において一定時間操作指示が入力されない場合には省電力状態に移行させる。また、電力状態制御部１５６は、補助記憶装置１０４に格納されたスケジュール情報に基づいて、ＭＦＰ１００の電力状態を制御する。スケジュール情報の一例は、ウィークリータイマーである。ウィークリータイマーは、たとえば、１週間の中の特定の曜日の特定の時間帯において、操作パネル１０７に対する操作指示がなされなければ、ＭＦＰ１００の電力状態を省電力状態に移行させてもよい。また、ウィークリータイマーは、特定の曜日の特定の時間帯において、ＭＦＰ１００の電力状態を通常の電力状態に保持しても良い。
【００６７】
機器情報取得部１５７は、ログやＴＥＣ値などの、ＭＦＰ１００の情報を取得するための処理を実行する。取得された情報は、たとえば補助記憶装置１０４に格納される。
【００６８】
４．指示サーバーのハードウェア構成
図４は、指示サーバー２００のハードウェア構成を示す図である。
【００６９】
指示サーバー２００は、主な構成要素として、ＣＰＵ２０１と、ＲＡＭ２０２と、記憶装置２０３と、ディスプレイ２０４と、入力装置２０５と、通信装置２０６とを備えている。ＣＰＵ２０１と、ＲＡＭ２０２と、記憶装置２０３と、ディスプレイ２０４と、入力装置２０５と、通信装置２０６とは、互いに内部バスで接続されている。
【００７０】
ＣＰＵ２０１は、指示サーバー２００の全体的な動作を制御するための処理を実行する演算装置の一例である。
【００７１】
ＲＡＭ２０２は、ＣＰＵ２０１における処理実行時のワークエリアとして機能する。
記憶装置２０３は、ＣＰＵ２０１が実行するサーバー用のアプリケーションプログラムなどの各種のプログラムのファイルと、これらのプログラムの実行に利用されるデータとを含む、各種のデータを保存する。記憶装置２０３は、たとえば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリー、メモリーカード、ＦＤ、ハードディスク、ＳＳＤ、磁気テープ、カセットテープ、ＭＯ、ＭＤ、ＩＣカード（メモリーカードを除く）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの、不揮発的にデータを格納する媒体が挙げられる。また、記憶装置２０３には、ネットワークを介してダウンロードされたプログラムがインストールされる場合も有り得る。
【００７２】
ディスプレイ２０４は、ＣＰＵ２０１によって実行されるプログラムの処理結果を示す画像を表示するための表示装置である。
【００７３】
入力装置２０５は、ＣＰＵ２０１に各種の指示を入力するための、ボタン、キーボード、および、タッチセンサー等によって実現される。
【００７４】
通信装置２０６は、指示サーバー２００がＭＦＰ１００等の他の装置と情報をやり取りする際の通信インターフェースである。
【００７５】
５．セッション維持のためのパケット送信
図５は、ＭＦＰ１００による、指示サーバー２００との間のセッションの維持のためのパケット送信を説明するための図である。図５に示されるように、ＭＦＰ１００からＸＭＰＰサーバー３００へのパケット送信に関する処理は、（１）〜（４）として示されるステップを含む。
【００７６】
（１）で示されるステップでは、ＭＦＰ１００が、ルーター５００に、ＸＭＰＰサーバー３００宛のパケットを送信する。当該パケットは、ＭＦＰ１００と指示サーバー２００との間のセッション維持のためのパケットである。当該パケットの送信は、所与の時間間隔で実行される。当該時間間隔は、本明細書において、「パケット送信間隔」とも称される。
【００７７】
（２）で示されるステップでは、ルーター５００が、上記（１）のＭＦＰ１００からのパケット送信に応じて、ＸＭＰＰサーバー３００にパケットを送信する。
【００７８】
（３）で示されるステップでは、ＸＭＰＰサーバー３００が、ルーター５００に、（２）のパケット送信の結果を送信する。当該結果は、ＭＦＰ１００と指示サーバー２００との間のセッションが維持されているか、または、切断されているかを示す。また、（３）で示されるステップでは、ルーター５００が、ＭＦＰ１００に、ＸＭＰＰサーバー３００から取得した結果を送信する。
【００７９】
（４）で示されるステップでは、ＭＦＰ１００は、ルーター５００から取得した結果に応じた処理を事項する。より具体的には、ＭＦＰ１００は、ルーター５００から取得した結果が「セッションが維持されている」ことを示す場合には、たとえば、上記した「パケット送信間隔」を長くする（図５中の「パケット送信間隔延長」）。一方、ＭＦＰ１００は、ルーター５００から取得した結果が「セッションが切断されている」ことを示す場合には、たとえば、ルーター５００を介してＸＭＰＰサーバー３００に指示サーバー２００とのセッションを新たに確立するための情報を送信し、さらに、上記した「パケット送信間隔」を短くする（図５中の「パケット送信間隔短縮」）。
【００８０】
６．処理の概要
図６〜図８は、第１の実施の形態のＭＦＰ１００において、上記した「パケット送信間隔」の調整のために実行される処理の概要を説明するための図である。図６〜図８では、パケット送信後のパケット送信間隔の変更が、ハッチングを付された矢印（以下、単に「矢印」という）で示されている。より具体的には、下向きの矢印はパケット送信間隔の短縮を示し、上向きの矢印はパケット送信間隔の延長を示す。
【００８１】
まず図６を参照して、「パケット送信間隔」の調整の一態様を説明する。図６は、ＭＦＰ１００において設定されているパケット送信間隔の初期値が、ルーター５００のファイアウォール機能についてのタイムアウト時間よりも長く設定されている場合を示す。
【００８２】
図６のグラフでは、縦軸がパケット送信間隔を表し、横軸がパケット送信回数を表す。また、図６では、破線で、ＭＦＰ１００におけるパケット送信間隔の初期値と、ルーター５００のファイアウォール機能についてのタイムアウト時間とが示されている。図６に示された例では、パケット送信間隔の初期値は、ルーター５００におけるタイムアウト時間よりも長い。ＭＦＰ１００では、パケット送信間隔を、ルーター５００におけるタイムアウト時間に近づけ、かつ、当該タイムアウト時間よりも短くなるような制御が実行される。以下に、当該制御をより具体的に説明する。
【００８３】
図６において最も左に記載されている矢印（下向き）は、ＭＦＰ１００において、１回目のパケット送信後にパケット送信間隔が短縮されたことを示す。短縮される時間の長さは、パケット送信間隔の「補正値」として、ＭＦＰ１００において予め定められた値に相当する。なお、図６から理解されるように、パケット送信間隔の初期値はルーター５００のタイムアウト時間よりも長い。したがって、１回目のパケット送信の結果は、ＭＦＰ１００と指示サーバー２００との間のセッションが切断されていることを示す可能性が高い。パケット送信の結果が当該セッションが切断されていることを示す場合、ＭＦＰ１００は、パケット送信間隔の短縮に加えて、指示サーバー２００との間のセッションの確立をルーター５００に指示する。
【００８４】
図６の左から２つ目の矢印（下向き）は、２回目のパケット送信後にパケット送信間隔がさらに上記「補正値」だけ短縮されたことを示す。図６から理解されるように、２回目のパケット送信におけるパケット送信間隔は、まだ、ルーター５００のタイムアウト時間よりも長い。２回目のパケット送信の結果が当該セッションが切断されていることを示す場合、ＭＦＰ１００は、パケット送信間隔の短縮に加えて、指示サーバー２００との間のセッションの確立をルーター５００に指示する。
【００８５】
図６の左から３つ目，４つ目の矢印（いずれも下向き）は、それぞれ、３回目，４回目のパケット送信後に、パケット送信間隔がさらに上記「補正値」づつ短縮されたことを示す。図６から理解されるように、３回目および４回目のパケット送信におけるパケット送信間隔は、まだ、ルーター５００のタイムアウト時間よりも長い。３回目および４回目のパケット送信のそれぞれの結果が当該セッションが切断されていることを示す場合、ＭＦＰ１００は、パケット送信間隔の短縮に加えて、指示サーバー２００との間のセッションの確立をルーター５００に指示する。
【００８６】
図６の左から５つ目の矢印（上向き）は、５回目のパケット送信後にパケット送信間隔が延長されたことを示す。図６から理解されるように、４回目のパケット送信後にパケット送信間隔が短縮されたことによって、パケット送信間隔はタイムアウト時間よりも短くなった。これにより、５回目のパケット送信の結果は、上記セッションが維持されていることを示す場合がある。５回目のパケット送信の結果が、上記セッションが維持されていることを示す場合、ＭＦＰ１００は、パケット送信間隔の延長のみを実行する。つまり、このとき、ＭＦＰ１００は、指示サーバー２００との間のセッションの確立をルーター５００に指示する必要はない。また、当該延長の際の延長の長さは、これまでの補正値よりも小さい値である。ＭＦＰ１００では、パケット送信の結果が前回の結果と異なる場合、パケット送信間隔の補正値が小さくなり得る。４回目のパケット送信の結果が「セッションが切断されている」ものであり、５回目のパケット送信の結果が「セッションが維持されている」ものであれば、５回目のパケット送信後のパケット送信間隔の補正値は、４回目のパケット送信後のパケット送信間隔の補正値よりも小さくなる。
【００８７】
図６の左から６つ目の矢印（下向き）は、６回目のパケット送信後にパケット送信間隔が短縮されたことを示す。図６から理解されるように、５回目のパケット送信後のパケット送信間隔の延長により、パケット送信間隔はタイムアウト時間よりも長くなった。これにより、６回目のパケット送信の結果は「セッションが切断されている」ものとなった。５回目のパケット送信の結果は「セッションが維持されている」ものであった。つまり、６回目のパケット送信の結果は、５回目のパケット送信の結果とは異なる。このため、６回目のパケット送信後のパケット送信間隔の補正値は、５回目のパケット送信後のパケット送信間隔の補正値よりもさらに小さい値となる。
【００８８】
図６の左から７つ目の矢印（上向き）は、７回目のパケット送信後にパケット送信間隔が延長されたことを示す。７回目のパケット送信の結果（セッションが維持）が６回目のパケット送信の結果（セッションが切断）とは異なるため、７回目のパケット送信後のパケット送信間隔の補正値は、６回目のパケット送信後のパケット送信間隔の補正値よりもさらに小さい値となる。
【００８９】
図６の左から８つ目の矢印（下向き）は、８回目のパケット送信後にパケット送信間隔が短縮されたことを示す。８回目のパケット送信の結果（セッションが切断）は、７回目のパケット送信の結果（セッションが維持）とは異なるため、８回目のパケット送信後のパケット送信間隔の補正値は、７回目のパケット送信後のパケット送信間隔の補正値よりもさらに小さい値となる。
【００９０】
９回目のパケット送信移行では、パケット送信間隔は変更されない。これは、８回目のパケット送信後に短縮されたことによりパケット送信間隔の補正値が予め定められた下限に到達したこと、および、８回目のパケット送信の結果が「セッションが維持」されていることを示すものであるからである。ＭＦＰ１００では、パケット送信間隔の補正値（延長または短縮のいずれに対するものであっても良い）が下限値に到達した後、パケット送信の結果が「セッションが維持されている」ことを示すものであった場合、それ以降、パケット送信間隔の補正値は変更されない。この状態では、ＭＦＰ１００におけるパケット送信間隔が、ルーターのタイムアウト時間に近く、かつ、タイムアウト時間以下となっていることが想定される。
【００９１】
次に、図７を参照して、「パケット送信間隔」の調整の他の態様を説明する。図７は、ＭＦＰ１００において設定されているパケット送信間隔の初期値が、ルーター５００のファイアウォール機能についてのタイムアウト時間よりも短く設定されている場合を示す。
【００９２】
図７の最も左の矢印（上向き）は、１回目のパケット送信の後、パケット送信間隔が、「補正値」だけ延長されたことを示す。
【００９３】
図７の左から２〜４番目の矢印（いずれも上向き）は、２〜４回目のパケット送信の後、それぞれ、パケット送信間隔が「補正値」だけ延長されたことを示す。
【００９４】
図７の左から５番目の矢印（下向き）は、５回目のパケット送信の後、パケット送信間隔が短縮されたことを示す。当該短縮における「補正値」は、１〜４回目のパケット送信後のパケット送信時の延長における「補正値」よりも小さい。５回目のパケット送信の結果（セッションが切断）が４回目のパケット送信の結果（セッションが維持）と異なるためである。
【００９５】
図７の左から６〜９番目の矢印（準に、上向き，下向き，上向き，下向き）は、それぞれ、６〜９回目のパケット送信の後、パケット送信間隔が補正（準に、延長，短縮，延長，短縮）されたことを示す。
【００９６】
図７に示された例では、９回目のパケット送信後のパケット時間の短縮により補正値が下限値に達し、また、９回目のパケット送信の結果はセッションが維持されていることを示すものであった。これにより、１０回目移行のパケット送信後にパケット送信間隔が変更されても、当該変更におけるパケット送信間隔に対する補正値は変更されない。
【００９７】
図７に示された例では、パケット送信間隔の初期値がルーター５００のタイムアウト時間よりも大幅に短い場合には、タイムアウト時間以下となりつつ当該タイムアウト時間に近づくように、パケット送信間隔が調整される。
【００９８】
図８に示された例では、「ＴＡ」で示される時点で、ルーター５００におけるファイアウォール機能についてのタイムアウト時間が短縮される。
【００９９】
より具体的には、図８に示された例では、「ＴＡ」で示される時点までは、図６に示された例と同様に、パケット送信間隔が変更される。この変更により、ルーター５００におけるタイムアウト時間の短縮により、パケット送信の結果が「ＭＦＰ１００と指示サーバー２００との間のセッションが切断されている」ものとなり、これにより、図８の右から２つ目の矢印（下向き）に示されるようにパケット送信間隔が短縮される。このとき、パケット送信間隔は、予め定められた「下限値」だけ短縮される。
【０１００】
図８に示された例では、パケット送信間隔が当該下限値だけ変更された後、パケット送信の結果が「セッションが維持されている」ことを示すまで、さらに２回、セッション送信時間が変更される。この２回の変更は、図８では、右から２番目の矢印（上向き）と、最も右の矢印（下向き）によって示されている。
【０１０１】
７．処理の流れ
図９〜図１２は、第１の実施の形態のＭＦＰ１００において、パケット送信のために実行される処理のフローチャートである。
【０１０２】
まず図９を参照して、ステップＳ１０で、ＭＦＰ１００のＣＰＵ１０１は、前回のパケット送信から「パケット送信間隔」が経過したか否かを判断する。そして、ＣＰＵ１０１は、まだ「パケット送信間隔」が経過したと判断するまでステップＳ１０に制御を留め（ステップＳ１０でＮＯ）、経過したと判断すると（ステップＳ１０でＹＥＳ）、ステップＳ２０へ制御を進める。なお、まだパケットを送信していない場合にも、ＣＰＵ１０１はステップＳ２０へ制御を進める。
【０１０３】
ステップＳ２０で、ＣＰＵ１０１は、ＭＦＰ１００のＣＰＵ（ＣＰＵ１０１の他にＭＦＰ１００にＣＰＵが搭載されている場合には、ＣＰＵ１０１または他のＣＰＵ。以下、ステップＳ３０〜ステップＳ５０において同じ。）がＭＦＰ１００のファームウェア（以下、「ＦＷ」ともいう）の更新処理を実行しているか否かを判断する。そして、ＣＰＵ１０１は、ＦＷの更新中であると判断すると（ステップＳ２０でＹＥＳ）、ステップＳ１０へ制御を戻す。一方、ＣＰＵ１０１は、ＦＷの更新中ではないと判断すると（ステップＳ２０でＮＯ）、ステップＳ３０へ制御を進める。
【０１０４】
ステップＳ３０で、ＣＰＵ１０１は、ＭＦＰ１００のＣＰＵがＭＦＰ１００のログを取得する処理を実行しているか否かを判断する。そして、ＣＰＵ１０１は、ログの取得中であると判断すると（ステップＳ３０でＹＥＳ）、ステップＳ１０へ制御を戻す。一方、ＣＰＵ１０１は、ログの取得中ではないと判断すると（ステップＳ３０でＮＯ）、ステップＳ４０へ制御を進める。
【０１０５】
ステップＳ４０で、ＣＰＵ１０１は、ＭＦＰ１００のＣＰＵが管理者モードで制御を実行しているか否かを判断する。管理者モードとは、ＭＦＰ１００において管理者がログインしている状態である。ＭＦＰ１００のＣＰＵは、たとえば管理者用のＩＤおよびパスワードを入力されることにより、管理者モードで制御を実行する。管理者モードでの制御では、管理者用の特別の機能が発揮される。特別な機能は、たとえば、ＭＦＰ１００における設定（当該ＭＦＰ１００における印刷上限枚数や画像処理等について提供され得る内容（カラー印刷、秘密扱いのドキュメントの表示・出力））を変更するための操作の受付を含む。そして、ＣＰＵ１０１は、管理者モードの実行中であると判断すると（ステップＳ４０でＹＥＳ）、ステップＳ１０へ制御を戻す。一方、ＣＰＵ１０１は、管理者モードの実行中ではないと判断すると（ステップＳ４０でＮＯ）、ステップＳ５０へ制御を進める。
【０１０６】
ステップＳ５０で、ＣＰＵ１０１は、そのときのＭＦＰ１００がプリントジョブを実行しているか否かを判断する。そして、ＣＰＵ１０１は、ＭＦＰ１００がプリントジョブの実行中であると判断すると（ステップＳ５０でＹＥＳ）、ステップＳ１０へ制御を戻す。一方、ＣＰＵ１０１は、ＭＦＰ１００がプリントジョブの実行中ではないと判断すると（ステップＳ５０でＮＯ）、ステップＳ６０（図１０）へ制御を進める。なお、プリントジョブは、ＭＦＰ１００における画像形成処理の一例である。
【０１０７】
図１０を参照して、ステップＳ６０で、ＣＰＵ１０１は、ＭＦＰ１００において、当該ＭＦＰ１００のメンテナンス用の時間帯が設定されているか否かを判断する。より具体的には、ＭＦＰ１００の補助記憶装置１０４は、ＭＦＰ１００の動作設定の内容を特定するファイルを格納する。ステップＳ６０において、ＣＰＵ１０１は、当該ファイルを参照することにより、上記メンテナンス用の時間帯が設定されているか否かを判断する。そして、ＣＰＵ１０１は、メンテナンス用の時間帯が設定されていると判断すると（ステップＳ６０でＹＥＳ）、ステップＳ７０へ制御を進める。一方、ＣＰＵ１０１は、メンテナンス用の時間帯が設定されていないと判断すると（ステップＳ６０でＮＯ）、ステップＳ９０へ制御を進める。
【０１０８】
ステップＳ７０で、ＣＰＵ１０１は、ステップＳ９０の実行時が上記メンテナンス用の時間帯に含まれているか否かを判断する。そして、ＣＰＵ１０１は、メンテナンス用の時間帯に含まれていると（ステップＳ７０でＹＥＳ）、ステップＳ８０へ制御を進める。一方、ＣＰＵ１０１は、メンテナンス用の時間帯に含まれていないと（ステップＳ７０でＮＯ）、制御をステップＳ１０へ戻す。
【０１０９】
ステップＳ８０で、ＣＰＵ１０１は、パケット送信用のサブルーチンである「セッション接続維持処理１」を実行する。当該サブルーチンは、図１１および図１２を参照して後述される。ステップＳ８０の制御の後、ＣＰＵ１０１は、制御をステップＳ１０へ戻す。
【０１１０】
一方、ステップＳ９０で、ＣＰＵ１０１は、ＭＦＰ１００の電力状態がパケットを送信できない状態にあるかどうかを判断する。たとえば、ＭＦＰ１００の電力状態が通常の電力状態であれば、ＭＦＰ１００はパケットを送信できる。しかしながら、ＭＦＰ１００の電力状態が省電力状態であり、当該省電力状態が通信装置１０６に電力を供給しない状態であれば、ＭＦＰ１００はパケットを送信できない。ＣＰＵ１０１は、ＭＦＰ１００の電力状態がパケットを送信できない状態にあると判断すると（ステップＳ９０でＹＥＳ）、ステップＳ１００へ制御を進める。一方、ＣＰＵ１０１は、ＭＦＰ１００の電力状態がパケットを送信できる状態にあると判断すると（ステップＳ９０でＮＯ）、ステップＳ１２０へ制御を進める。
【０１１１】
ステップＳ１００で、ＣＰＵ１０１は、ＭＦＰ１００が省電力状態に遷移している原因が、上記したような、補助記憶装置１０４に格納されたスケジュール情報のウィークリータイマーによる制御であるか否かを判断する。より具体的には、ＣＰＵ１０１は、上記スケジュール情報と現在時刻とを比較して、ステップＳ１００における判断を実現する。そして、ＣＰＵ１０１は、省電力状態がウィークリータイマーによるものであると判断すると（ステップＳ１００でＹＥＳ）、ステップＳ１１０へ制御を進める。一方、ＣＰＵ１０１は、省電力状態がウィークリータイマーによるものではないと判断すると（ステップＳ１００でＮＯ）、ステップＳ１０（図９）に制御を戻す。
【０１１２】
ステップＳ１１０で、ＣＰＵ１０１は、ＭＦＰ１００の電力状態を、パケット送信ができる状態へと移行させる。たとえば、ＣＰＵ１０１は、通信装置１０６に電力を供給する。そして、制御はステップＳ１２０へ制御を進める。
【０１１３】
ステップＳ１２０で、ＣＰＵ１０１は、パケット送信用のサブルーチンである「セッション接続維持処理１」を実行する。当該サブルーチンは、図１１および図１２を参照して後述される。その後、制御はステップＳ１３０へ進められる。
【０１１４】
ステップＳ１３０で、ＣＰＵ１０１は、ステップＳ１２０の制御は、パケット送信できない状態から遷移されることによって実行されたか否か（ステップＳ１１０の制御の後に実行されたか否か）を判断する。そして、ＣＰＵ１０１は、ステップＳ１２０の制御がパケット送信できない状態から遷移されることによって実行されたと判断すると（ステップＳ１３０でＹＥＳ）、ステップＳ１４０へ制御を進める。一方、ＣＰＵ１０１は、ステップＳ１２０の制御がＭＦＰ１００の電力状態を遷移されることなく実行されたと判断すると（ステップＳ１３０でＮＯ）、ステップＳ１０（図９）へ制御を戻す。
【０１１５】
次に、図１１および図１２を参照して、パケット送信用のサブルーチンである「セッション接続維持処理１」について説明する。
【０１１６】
まず、図１１を参照して、「セッション接続維持処理１」のステップＳ８０２で、ＣＰＵ１０１は、通信装置１０６を利用して、接続確認用のパケットを指示サーバーに向けて、ＸＭＰＰサーバー３００に送信する。そして、制御はステップＳ８０４へ進められる。
【０１１７】
ステップＳ８０４で、ＣＰＵ１０１は、指示サーバー２００とのセッションが切断されているかどうかを判断する。ＣＰＵ１０１は、たとえば、ステップＳ８０２におけるパケットを送信してから一定時間内に指示サーバー２００とのセッションが維持されていることを示す情報を受信すると上記セッションが維持されていると判断し、当該一定時間内にそのような情報を受信しなければ上記セッションが切断されていると判断する。そして、ＣＰＵ１０１は、当該セッションが切断されていると（ステップＳ８０４でＹＥＳ）、ステップＳ８０６へ制御を進める。一方、ＣＰＵ１０１は、当該セッションが維持されていると判断すると（ステップＳ８０４でＮＯ）、ステップＳ８２２（図１２）へ制御を進める。
【０１１８】
なお、本実施の形態では、ＣＰＵ１１０は、接続確認用のパケットが送信された後、一定時間内に指示サーバー２００とのセッションが維持されていることを示す情報を受信するか否かを判断することによって、接続確認後の接続状態を判断する。接続確認用のパケットの送信は、接続確認の一例である。また、接続確認用のパケットの送信の後、一定時間内に上記情報を受信したか否かによって、接続状態が特定される。
【０１１９】
ステップＳ８０６で、ＣＰＵ１０１は、指示サーバー２００との間のセッションを再度確立させるための情報を、ルーター５００を介してＸＭＰＰサーバー３００に送信する。そして、制御はステップＳ８０８へ進められる。
【０１２０】
ステップＳ８０８で、ＣＰＵ１０１は、パケット送信間隔がＭＦＰ１００におけるＴＥＣ値測定間隔よりも長いかどうかを判断する。ＴＥＣ値測定間隔を特定する情報は、たとえば補助記憶装置１０４に格納されている。そして、ＣＰＵ１０１は、パケット送信間隔がＴＥＣ値測定間隔よりも長いと判断すると（ステップＳ８０８でＹＥＳ）、ステップＳ８１０へ制御を進める。一方、ＣＰＵ１０１は、パケット送信間隔がＴＥＣ値測定間隔以下であると判断すると（ステップＳ８０８でＮＯ）、ステップＳ８１８へ制御を進める。
【０１２１】
ステップＳ８１０で、ＣＰＵ１０１は、パケット送信間隔についてのその時点の補正値がまだ下限値まで短縮されていないかどうかを判断する。そして、ＣＰＵ１０１は、補正値がまだ下限値まで短縮されていないと判断すると（ステップＳ８１０でＹＥＳ）、ステップＳ８１２へ制御を進め、既に補正値が下限値まで短縮されていると判断すると（ステップＳ８１０でＮＯ）、ステップＳ８１６へ制御を進める。
【０１２２】
ステップＳ８１２で、ＣＰＵ１０１は、前回のパケット送信間隔の補正が「延長」であったか否かを判断する。図１１から図１２に亘って示される処理では、後述するステップＳ８１６およびステップＳ８３０（図１２）でパケット送信間隔が補正される。より具体的には、ステップＳ８１６ではパケット送信間隔は短縮され、ステップＳ８３０ではパケット送信間隔は延長される。「前回のパケット送信間隔の補正」とは、前回の処理におけるステップＳ８１６またはステップＳ８３０での補正を意味する。そして、ＣＰＵ１０１は、前回のパケット送信間隔の補正が「延長」であったと判断すると（ステップＳ８１２でＹＥＳ）、ステップＳ８１４へ制御を進める。一方、ＣＰＵ１０１は、前回のパケット送信間隔の補正が「延長」ではなかった（「短縮」であった）と判断すると、ステップＳ８１６へ制御を進める。
【０１２３】
ステップＳ８１４で、ＣＰＵ１０１は、パケット送信間隔についての「補正値」を短縮させる。そして、制御はステップＳ８１６へ進められる。
【０１２４】
ステップＳ８１６で、ＣＰＵ１０１は、パケット送信間隔を、その時点で設定されている「補正値」だけ短縮させる。そして、ＣＰＵ１０１は、「セッション接続維持処理１」を終了させて、制御を図１０へリターンさせる。なお、「補正値」の初期値は、補助記憶装置１０４に格納されている。そして、「補正値」は、ステップＳ８１４およびステップＳ８２８（図１２）で短縮される。
【０１２５】
ステップＳ８１８で、ＣＰＵ１０１は、パケット送信間隔をＴＥＣ値測定間隔と同じ長さに設定する。そして、制御はステップＳ８２０へ進められる。
【０１２６】
ステップＳ８２０で、ＣＰＵ１０１は、ＭＦＰ１００のＴＥＣ値を測定するタイミングを、パケット送信のタイミングと同期させるように設定する。そして、ＣＰＵ１０１は、「セッション接続維持処理１」を終了させて、制御を図１０へリターンさせる。
【０１２７】
図１２を参照して、ステップＳ８２２で、ＣＰＵ１０１は、パケット送信間隔がＭＦＰ１００におけるＴＥＣ値測定間隔よりも長いかどうかを判断する。そして、ＣＰＵ１０１は、パケット送信間隔がＴＥＣ値測定間隔よりも長いと判断すると（ステップＳ８２２でＹＥＳ）、ステップＳ８２４へ制御を進める。一方、ＣＰＵ１０１は、パケット送信間隔がＴＥＣ値測定間隔以下であると判断すると（ステップＳ８２２でＮＯ）、ステップＳ８３２へ制御を進める。
【０１２８】
ステップＳ８２４で、ＣＰＵ１０１は、パケット送信間隔についてのその時点の補正値がまだ下限値まで短縮されていないかどうかを判断する。そして、ＣＰＵ１０１は、補正値がまだ下限値まで短縮されていないと判断すると（ステップＳ８２４でＹＥＳ）、ステップＳ８２６へ制御を進める。一方、ＣＰＵ１０１は、既に補正値が下限値まで短縮されていると判断すると（ステップＳ８２４でＮＯ）、「セッション接続維持処理１」を終了させて、制御を図１０へリターンさせる。つまり、ＭＦＰ１００と指示サーバー２００との間のセッションが維持されていることが確認され、そして、パケット送信間隔についての「補正値」が下限値まで到達している場合には、パケット送信後において、パケット送信間隔は補正されない。
【０１２９】
ステップＳ８２６で、ＣＰＵ１０１は、前回のパケット送信間隔の補正が「短縮」であったか否かを判断する。「前回のパケット送信間隔の補正」とは、前回の処理におけるステップＳ８１６またはステップＳ８３０での補正を意味する。そして、ＣＰＵ１０１は、前回のパケット送信間隔の補正が「短縮」であったと判断すると（ステップＳ８２６でＹＥＳ）、ステップＳ８２８へ制御を進める。一方、ＣＰＵ１０１は、前回のパケット送信間隔の補正が「短縮」ではなかった（「延長」であった）と判断すると、ステップＳ８３０へ制御を進める。
【０１３０】
ステップＳ８２８で、ＣＰＵ１０１は、パケット送信間隔についての「補正値」を短縮させる。そして、制御はステップＳ８３０へ進められる。
【０１３１】
ステップＳ８３０で、ＣＰＵ１０１は、パケット送信間隔を、その時点で設定されている「補正値」だけ延長させる。そして、ＣＰＵ１０１は、「セッション接続維持処理１」を終了させて、制御を図１０へリターンさせる。
【０１３２】
ステップＳ８３２で、ＣＰＵ１０１は、パケット送信間隔をＴＥＣ値測定間隔と同じ長さに設定する。そして、制御はステップＳ８３４へ進められる。
【０１３３】
ステップＳ８３４で、ＣＰＵ１０１は、ＭＦＰ１００のＴＥＣ値を測定するタイミングを、パケット送信のタイミングと同期させるように設定する。そして、ＣＰＵ１０１は、「セッション接続維持処理１」を終了させて、制御を図１０へリターンさせる。
【０１３４】
以上説明された第１の実施の形態では、ＭＦＰ１００は、指示サーバー２００との間のセッションを維持するために、ルーター５００を介して、ＸＭＰＰサーバー３００に、定期的に生存確認用のパケット（Keep  Alive）を送信する。ＭＦＰ１００が当該パケットを送信する時間的な間隔は、「パケット送信間隔」として言及された。
【０１３５】
図６および図７を主に参照して説明されたように、ＭＦＰ１００は、パケット送信間隔を延長し、かつ、短縮し得る。これにより、パケット送信間隔は、ルーター５００のファイアウォール機能におけるセッションタイムアウト時間よりも長ければ短縮される。より具体的には、ＭＦＰ１００は、上記パケットの送信後、当該セッションが維持されているか否かを判断する。そして、ＭＦＰ１００は、当該セッションが切断されていると判断すると、パケット送信間隔を短縮する（図１１のステップＳ８１６）。一方、ＭＦＰ１００は、当該セッションが維持されていると判断すると、パケット送信間隔を延長する（図１２のステップＳ８３０）。
【０１３６】
パケット送信間隔の短縮または延長における補正値（短縮または延長される時間の長さ）は、パケット送信後のセッションの維持／切断の結果が前回のパケット送信から異なる場合には、短縮される（図１１のステップＳ８１４、および、図１２のステップＳ８２８）。そして、パケット送信後に上記セッションが維持されていると判断されても、パケット送信間隔の補正値が下限値まで短縮されている場合には、ＭＦＰ１００は、パケット送信間隔を延長しない（図１２のステップＳ８２４でＮＯ）。
【０１３７】
［第２の実施の形態］
１．処理の概要
第２の実施の形態の画像処理システムは、第１の画像処理システムと同様の構成を有する。第２の実施の形態の画像処理システムの特徴には、ＭＦＰ１００におけるセッション送信間隔の補正（延長または短縮）についての「補正値」の変更の態様が含まれる。
【０１３８】
第１の実施の形態の画像処理システムでは、パケット送信間隔の補正（延長または短縮）の回数が増すことによってパケット送信間隔がルーター５００のタイムアウト時間をまたぐように変化するようになると、当該補正における補正値は、短縮される。第１の実施の形態では、当該補正値は、パケット送信間隔が当該タイムアウト時間をまたぐように変化すると、補正のたびに短縮された。このことは、たとえば、図６において左から５つ目以降の矢印の長さが右側に行くほど短くなっていること、および、図７において左から４つ目以降の矢印の長さが右側に行くほど短くなっていること、によって示された。
【０１３９】
第２の実施の形態の画像処理システムでは、上記補正値は、パケット送信間隔が当該タイムアウト時間をまたぐような変化が、所定回数（たとえば、４回）出現したことを条件として、上記補正値が短縮される。図１３は、第２の実施の形態の画像処理システムにおけるセッション送信間隔の補正についての補正値の変更態様を説明するための図である。図１３に示された、ハッチングを付された矢印は、図６等と同様に、パケット送信後のパケット送信間隔の変更（延長または短縮）を示す。
【０１４０】
図１３では、左から４つ目の矢印（下向き）から７つ目の矢印（上向き）までは、隣接する矢印の向きが異なるが矢印の長さが等しい。そして、８つ目の矢印（下向き）で、矢印が短くなっている。これは、パケット送信間隔がタイムアウト時間をまたいで変化しているが、パケット送信間隔の補正において４回連続して短縮／延長が入れ替わるまでは、補正値が変更されないことを意味する。そして、４回連続して短縮／延長が入れ替わった後、補正値が短縮される。
【０１４１】
なお、パケット送信間隔が当該タイムアウト時間をまたぐような変化の連続回数が所定回数出現する前に、パケット送信間隔の補正が当該タイムアウト時間をまたがなくなって行なわれなくなった場合には、上記所定回数に関するカウントは初期化される。
【０１４２】
より具体的には、左から１２〜１５番目に位置する３つの矢印は、パケット送信間隔の補正において３回連続して短縮／延長が入れ替わっていることを示している。しかしながら、その後、ルーター５００におけるタイムアウト時間が短縮されたことによって、１６回目の補正では、１５回目の補正と同様に、パケット送信間隔が短縮されている。このことは、図１３において、左から１６番目の矢印が、１５番目の矢印と同様に下向きであることによって示されている。このとき、１２〜１５番目の矢印において「３回連続」とされた回数のカウントは初期化される。
【０１４３】
つまり、図１３の例において、新たに１６〜１９回目の補正において４回連続してパケット送信間隔がタイムアウト時間をまたぐように変更されたことに基づいて、２０回目の補正において補正値が短縮されている。このことは、図１３において、左から１６〜１９番目の矢印において隣接する矢印の向きが異なり、これらの長さが同じであり、そして、２０番目の矢印が１６〜１９番目の矢印よりも短いことによって示されている。
【０１４４】
２．処理の流れ
図１４〜図１７は、第２の実施の形態のＭＦＰ１００において、パケット送信のために実行される処理のフローチャートである。
【０１４５】
図１４から図１５に亘って示された処理は、第１の実施の形態において、図９から図１０に亘って示された処理に対応する。なお、図１４に示された処理では、ＣＰＵ１０１は、まずステップＳ２で、カウンタＮの値を０に設定する。カウンタＮは、図１３を参照して説明されたように、タイムアウト時間をまたぐようにパケット送信時間が変更された連続回数を係数する。カウンタＮのカウント値の上限は４である。ステップＳ２の制御を実行した後、ＣＰＵ１０１は、第１の実施の形態と同様にステップＳ１０以降の制御を実行する。
【０１４６】
また、図１５のステップＳ８４およびステップＳ１２４として示されたように、ＣＰＵ１０１は、第１の実施の形態において「セッション接続維持処理１」（図１０のステップＳ８０およびステップＳ１２０）を実行した代わりに、第２の実施の形態では「セッション接続維持処理２」を実行する。「セッション接続維持処理２」は、図１６および図１７を参照して説明される。図１６および図１７は、「セッション接続維持処理２」のサブルーチンのフローチャートである。
【０１４７】
図１１を参照して説明されたように、第１の実施の形態では、ＣＰＵ１０１は、ステップＳ８１２において前回の補正が「延長」であったと判断すると、ステップＳ８１４で補正値を短縮させた後、ステップＳ８１６へ制御を進める。
【０１４８】
一方、第２の実施の形態では、図１６に示されるように、ＣＰＵ１０１は、ステップＳ８１４の代わりに、ステップＳ８４０〜ステップＳ８４８の制御を実行する。
【０１４９】
つまり、ステップＳ８１２において前回の補正が「延長」であったと判断すると（ステップＳ８１２でＹＥＳ）、ＣＰＵ１０１は、ステップＳ８４０で、カウンタＮのカウント値を「１」加算更新する。そして、制御はステップＳ８４４へ進められる。一方、ステップＳ８１２において前回の補正が「延長」ではなかったと判断すると（ステップＳ８１２でＮＯ）、ＣＰＵ１０１は、ステップＳ８４２で、カウンタＮのカウント値を０に戻す。そして、制御はステップＳ８４４へ進められる。
【０１５０】
ステップＳ８４４で、ＣＰＵ１０１は、カウンタＮのカウント値がまだ「４」に到達していないかどうかを判断する。そして、ＣＰＵ１０１は、当該カウント値がまだ「４」に到達していないと判断すると（ステップＳ８４４でＹＥＳ）、ステップＳ８１６へ制御を進める。一方、当該カウント値が「４」に到達していると判断すると（ステップＳ８４４でＮＯ）、ステップＳ８４６へ制御を進める。
【０１５１】
ステップＳ８４６で、ＣＰＵ１０１は、パケット送信時間の補正値を短縮させる。そして、制御はステップＳ８４８へ進められる。
【０１５２】
ステップＳ８４８で、ＣＰＵ１０１は、カウンタＮのカウント値を０に戻す。そして、制御はステップＳ８１６へ進められる。
【０１５３】
また、図１２を参照して説明されたように、第１の実施の形態では、ＣＰＵ１０１は、ステップＳ８２６において前回の補正が「短縮」であったと判断すると、ステップＳ８２８で補正値を短縮させた後、ステップＳ８３０へ制御を進める。一方、第２の実施の形態では、図１７に示されるように、ＣＰＵ１０１は、ステップＳ８２８の代わりに、ステップＳ８５０〜ステップＳ８５８の制御を実行する。
【０１５４】
つまり、ステップＳ８２６において前回の補正が「短縮」であったと判断すると（ステップＳ８２６でＹＥＳ）、ＣＰＵ１０１は、ステップＳ８５０で、カウンタＮのカウント値を「１」加算更新する。そして、制御はステップＳ８５４へ進められる。一方、ステップＳ８２６において前回の補正が「短縮」ではなかったと判断すると（ステップＳ８２６でＮＯ）、ＣＰＵ１０１は、ステップＳ８５２で、カウンタＮのカウント値を０に戻す。そして、制御はステップＳ８５４へ進められる。
【０１５５】
ステップＳ８５４で、ＣＰＵ１０１は、カウンタＮのカウント値がまだ「４」に到達していないかどうかを判断する。そして、ＣＰＵ１０１は、当該カウント値がまだ「４」に到達していないと判断すると（ステップＳ８５４でＹＥＳ）、ステップＳ８３０へ制御を進める。一方、当該カウント値が「４」に到達していると判断すると（ステップＳ８５４でＮＯ）、ステップＳ８５６へ制御を進める。
【０１５６】
ステップＳ８５６で、ＣＰＵ１０１は、パケット送信時間の補正値を短縮させる。そして、制御はステップＳ８５８へ進められる。
【０１５７】
ステップＳ８５８で、ＣＰＵ１０１は、カウンタＮのカウント値を０に戻す。そして、制御はステップＳ８３０へ進められる。
【０１５８】
［第３の実施の形態］
第３の実施の形態の画像処理システムでは、指示サーバー２００が、ＭＦＰ１００と指示サーバー２００との間のセッションを維持させるためのパケットを送信する。図１８は、第３の実施の形態の指示サーバー２００のＣＰＵ２０１（図４参照）が実行する処理のフローチャートである。
【０１５９】
図１８を参照して、ステップＳＡ１０で、ＣＰＵ２０１は、前回のパケット送信から「パケット送信時間」として設定されている時間が経過したか否かを判断する。そして、ＣＰＵ２０１は、当該時間が経過したと判断するまでステップＳＡ１０に制御を留め（ステップＳＡ１０でＮＯ）、当該時間が経過したと判断すると（ステップＳＡ１０でＹＥＳ）、ステップＳＡ２０へ制御を進める。
【０１６０】
ステップＳＡ２０で、ＣＰＵ２０１は、通信装置２０６（図４参照）を利用して、上記したようなパケットをＸＭＰＰサーバー３００に送信する。そして、制御はステップＳＡ３０へ進められる。
【０１６１】
ステップＳＡ３０で、ＣＰＵ２０１は、ＭＦＰ１００と指示サーバー２００との間のセッションが切れているかどうかを判断する。ステップＳＡ３０は、ステップＳ８０４におけるＣＰＵ１０１（図１１）と同様に、たとえばステップＳＡ２０におけるパケットの送信に対してＭＦＰ１００から応答が得られたか否かに基づいて、ステップＳＡ３０における判断を実現する。そして、ＣＰＵ２０１は、上記セッションが切れていると判断すると（ステップＳＡ３０でＹＥＳ）、ステップＳＡ４０へ制御を進める。一方、ＣＰＵ２０１は、上記セッションが維持されていると判断すると（ステップＳＡ３０でＮＯ）、ステップＳ６０へ制御を進める。
【０１６２】
ステップＳＡ４０で、ＣＰＵ２０１は、ＭＦＰ１００と指示サーバーとの間のセッションを再度接続するための情報をＸＭＰＰサーバー３００に送信する。そして、制御はステップＳＡ５０へ進められる。
【０１６３】
ステップＳＡ５０で、ＣＰＵ２０１は、パケット送信間隔を短縮させて、制御をステップＳＡ１０へ戻す。
【０１６４】
一方、ステップＳＡ６０で、ＣＰＵ２０１は、パケット送信間隔を延長させて、制御をステップＳＡ１０へ戻す。
【０１６５】
以上説明された第３の実施の形態では、パケット送信後、パケット送信時間が補正される。より具体的には、上記セッションが切断されている場合には、パケット送信時間が短縮される（ステップＳＡ５０）。一方、上記セッションが維持されている場合には、パケット送信時間が延長される（ステップＳＡ６０）。
【０１６６】
なお、当該補正（短縮／延長）における、パケット送信時間についての補正値は、図６等を参照して説明されたように、パケット送信時間がルーター５００のファイアウォール機能についてのタイムアウト時間をまたぐように変更されるようになったと考えられる場合には、短縮されていってもよい。
【０１６７】
［第４の実施の形態］
第４の実施の形態では、ＭＦＰ１００は、図１に示されたようなファームウェア配信サーバー（１）９１０等の種々のサーバーを利用して、指示サーバー２００からの指示情報によって特定される機能を実現する。そして、ＭＦＰ１００は、当該機能の実現のためにアクセス可能なサーバーが無い場合には、ＭＦＰ１００と指示サーバー２００との間のセッションを維持するためのパケットを送信しない。
【０１６８】
図１９は、第４の実施の形態の画像処理システムの構成を示す図である。図１９に示された例では、画像処理システムがワールドワイドに展開されている。より具体的には、指示サーバーおよびＸＭＰＰサーバー３００は、全世界でひとつずつ存在している。一方、サーバー群は、複数の地域（日本、アメリカ、欧州（ＥＵ）、中国、および、オセアニア）に設置されている。そして、ＭＦＰ１００は、当該複数の地域のいずれかに属する各国（例として、日本、アメリカ、フランス、中国、ニュージーランド）に配置されている。各国に配置されたＭＦＰ１００は、当該国が属する地域に配置されたサーバー群にアクセスする。
【０１６９】
第４の実施の形態の画像処理システムでは、世界中に配置されたのＭＦＰ１００が、指示サーバー２００とセッションを張る。各地域に配置されたサーバー群は、指示サーバー２００によって管理されている。ＭＦＰ１００は、指示サーバー２００から受信した指示情報によって特定される機能を実現する。なお、ＭＦＰ１００は、当該機能を実現のために、必要に応じてサーバー群を構成するサーバーにアクセスする。ただし、ＭＦＰ１００のＣＰＵ１０１は、当該機能の実現のためのサーバーの利用の可否を、指示サーバー２００に問い合わせる。この場合、ＣＰＵ１０１は、たとえば、指示サーバー２００からの指示情報を解析することによってＭＦＰ１００が実現すべき機能を特定し、当該機能を実現するためのサーバーの種類を特定する。そして、ＣＰＵ１０１は、特定されたサーバーへのアクセスの可否を、指示サーバー２００に問い合わせる。そして、ＣＰＵ１０１、当該問合せに対する指示サーバー２００からの回答が、アクセスできないというものであった場合には、ＭＦＰ１００と指示サーバー２００との間のセッションを維持するためのパケットの送信を中止する。なお、ＣＰＵ１０１は、たとえば、操作パネル１０７の操作等によって、上記セッションの維持のためのパケットの送信を再開させてもよい。
【０１７０】
なお、画像処理システムにおいて、指示サーバー２００からの指示情報によって特定されるＭＦＰ１００の機能の具体例を以下にあげる。
【０１７１】
サーバー群が利用されることによって実現される機能の一例は、ファームウェアのダウンロードである。より具体的には、ＭＦＰ１００は、ファームウェア配信サーバー（１）９１０および／またはファームウェア配信サーバー（２）９２０に、ファームウェアのダウンロードを要求する。当該要求に応じて、ファームウェア配信サーバー（１）９１０および／またはファームウェア配信サーバー（２）９２０は、ＭＦＰ１００に、当該ＭＦＰ１００において実行されるファームウェアを送信する。
【０１７２】
サーバー群が利用されることによって実現される機能の他の例は、デバッグログの転送である。より具体的には、ＭＦＰ１００は、ログ取得サーバー９３０へ、デバッグログを転送する。ログ取得サーバー９３０では、当該デバッグログが蓄積される。ＭＦＰ１００は、ユーザーからの指示等に応じて、ログ取得サーバー９３０からデバッグログを読み出すことができる。
【０１７３】
サーバー群が利用されることによって実現される機能の他の例は、機能カウンターのカウント値（各ＭＦＰ１００において利用された各種の機能を実現した回数（たとえば、ＭＦＰ１００が画像を出力した用紙の枚数）の転送である。ＭＦＰ１００は、各種の機能カウンターを備えている。そして、ＭＦＰ１００は、当該機能カウンターのカウント値を機能カウンター取得サーバー９４０に送信する。
【０１７４】
サーバー群が利用されることによって実現される機能の他の例は、自己診断結果の転送である。ＭＦＰ１００は、当該ＭＦＰ１００における状態（トナーの消費量等）の診断結果を、自己診断結果取得サーバー９５０へ送信する。
【０１７５】
サーバー群が利用されることによって実現される機能の他の例は、リモートパネルの利用である。ＭＦＰ１００は、リモートパネルサーバー９６０を介して通信可能な端末をリモートパネルとして機能させる。つまり、ＭＦＰ１００は、当該端末から操作指示を受信し、当該操作指示に従って動作する。
【０１７６】
［本開示におけるパケット送信に関する制御のまとめ］
以上、各実施の形態において説明されたように、本開示の画像処理システムでは、パケット送信の間隔が、自動的に、ＭＦＰ１００の環境に従って最適化される。以下に、本開示における特徴的な制御内容を列挙する。
【０１７７】
セッション接続確認の結果、セッションが切断されていた場合、セッションが再接続されるとともに、パケット送信の間隔が短縮補正される。
【０１７８】
セッション接続確認の結果、セッションが接続されていた場合、パケット送信の間隔が延長補正される。
【０１７９】
セッション接続確認の結果が前回のセッション接続確認結果とは異なる場合は、パケット送信間隔についての補正値が小さくなる。なお、前回のセッション接続確認結果と異なる回数が一定回数に達したことを条件として、パケット送信間隔補正値が小さくされてもよい。
【０１８０】
パケット送信間隔についての補正値が下限値に達した場合には、当該補正値の増減が停止される。
【０１８１】
セッション接続が確認され、かつパケット送信間隔についての補正値が下限値に達した場合には、パケット送信間隔の補正が停止される。なお、パケット送信間隔の補正が停止されたあとでセッションの切断が検知された場合は、当該補正は再開される。
【０１８２】
ＭＦＰ１００は、消費電力の異なる複数の電力状態に切り替えられる。ＭＦＰ１００が取る電力状態は、パケット送信を行うモジュールが動作しないほどの低消費電力の電力状態を含む。ＭＦＰ１００が当該低消費電力の電力状態にある場合は、ＭＦＰ１００は、セッションの接続確認の前に、上記モジュールが動作するレベルの電力状態へと遷移される。その後、セッション接続確認が行なわれる。ただし、ＭＦＰ１００は、ウィークリータイマーにより上記パケット送信を行うモジュールが動作しないレベルの電力状態に遷移していた場合は、上記のようなモジュールが動作するレベルの電力状態への遷移はしない。そのときのＭＦＰ１００は、ユーザーが意図して、消費電力を抑制されているからである。
【０１８３】
ＭＦＰ１００が、当該ＭＦＰ１００のＴＥＣ値測定をする際、一定時間同じ電力状態にある必要が有る。このため、パケット送信間隔がＴＥＣ値測定間隔を下回った場合は、パケット送信間隔がＴＥＣ値測定間隔と等しくなるように設定され、両者が同期されて実行される。
【０１８４】
ＭＦＰ１００では、パケット送信を行なうモジュールが動作しないレベルの電力状態に遷移しない時間帯（メンテナンス時間帯）が設定され得る。当該時間帯が設定されている場合には、ＭＦＰ１００は、当該時間帯にパケット送信を行ってセッションを維持することで遠隔指示を受け付けることができる。このため、それ以外の時間帯にはセッションを維持する必要はない。したがって、それ以外の時間帯では、ＭＦＰ１００は、パケット送信を行うモジュールが動作するレベルの電力状態への遷移を停止する。
【０１８５】
パケット送信間隔に下限値が設定され得る。下限値が設定されているということは、ユーザーはそれ以上頻繁にパケット送信を行うことを許容しないということを意味する。このため、ＭＦＰ１００では、パケット送信間隔が下限値に達した場合は、パケット送信間隔の補正が停止される。
【０１８６】
ＭＦＰ１００が指示サーバー２００から指示情報を受け取っても実行できない状態にある場合には、当該状態が解消されるまで、セッション接続の維持のための機能（パケット送信等）が停止される。このような場合、セッションが維持される必要性がないからである。当該状態の一例は、ＦＷ（ファームウェア）の更新中である。ＦＷ更新中には、ＭＦＰ１００は、別の処理ができないためである。他の例は、ログ取得中である。ログ取得中、ＭＦＰ１００は現在の状態に対するログ取得をしているので、ＭＦＰ１００に余計な動作はさせないようにするためである。さらに他の例は、管理者モード中である。ＭＦＰ１００は、管理者の操作中には、他の動作の指示を受け付けないためである。さらに他の例は、プリントジョブ実行中である。パケット送信によるプリントパフォーマンスの低下を回避するためである。
【０１８７】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合わせても、実施することが意図される。
【符号の説明】
【０１８８】
１００  ＭＦＰ、１０１，２０１  ＣＰＵ、１０６，２０６  通信装置、１５１  機能実行部、１５２  セッション管理部、１５３  パケット送信間隔調整部、１５４  指示情報取得部、１５５  サーバー情報取得部、１５６  電力状態制御部、１５７  機器情報取得部、２００  指示サーバー、３００  ＸＭＰＰサーバー、５００  ルーター、６００  クラウドサーバー、９１０  ファームウェア配信サーバー（１）、９２０  ファームウェア配信サーバー（２）、９３０  ログ取得サーバー、９４０  機能カウンター取得サーバー、９５０  自己診断結果取得サーバー、９６０  リモートパネルサーバー。
【図１】
0006319152.tif 000002
【図２】
0006319152.tif 000003
【図３】
0006319152.tif 000004
【図４】
0006319152.tif 000005
【図５】
0006319152.tif 000006
【図６】
0006319152.tif 000007
【図７】
0006319152.tif 000008
【図８】
0006319152.tif 000009
【図９】
0006319152.tif 000010
【図１０】
0006319152.tif 000011
【図１１】
0006319152.tif 000012
【図１２】
0006319152.tif 000013
【図１３】
0006319152.tif 000014
【図１４】
0006319152.tif 000015
【図１５】
0006319152.tif 000016
【図１６】
0006319152.tif 000017
【図１７】
0006319152.tif 000018
【図１８】
0006319152.tif 000019
【図１９】
0006319152.tif 000020