(57)【要約】【課題】クライアント数の増加によるサーバの処理状況の制限に応じて、各クライアントに対して、接続要求の送信を許容する時間を動的に設定する技術を提供する。【解決手段】サーバ装置は、対象クライアント装置から送信された接続要求を受信する受信部と、セッションが確立している複数のクライアント装置に対する該サーバ装置の処理状況に基づいて、許容試行時間を算出する算出部と、算出された前記許容試行時間を、対象クライアント装置のセッション切断から接続要求までの時間の最大値として設定する設定部とを備えることにより、上記課題を解決する。【選択図】図１
2015075777.tif 000002
【特許請求の範囲】
【請求項１】
対象クライアント装置から送信された接続要求を受信する受信部と、
セッションが確立している複数のクライアント装置に対する該サーバ装置の処理状況に基づいて、許容試行時間を算出する算出部と、
算出された前記許容試行時間を、前記対象クライアント装置のセッション切断から接続要求までの時間の最大値として設定する設定部と、
を備えることを特徴とするサーバ装置。
【請求項２】
前記算出部は、前記サーバ装置とセッションが確立している前記複数のクライアント装置の数の増加に応じて、前記許容試行時間を長くする
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記算出部は、前記セッションが確立しているクライアント装置数に対する前記サーバ装置の処理状況に基づいて算出された第１の許容試行時間の合計を示す第１の合計と、該クライアント装置数に前記対象クライアント装置の数を追加したクライアント装置数に対する前記サーバ装置の処理状況に基づいて算出された第２の許容試行時間の合計を示す第２の合計との差分を算出し、
前記設定部は、前記差分で示される許容試行時間を前記対象クライアント装置に設定する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項４】
前記算出部は、前記セッションが確立しているクライアント装置数を、単位時間当たりに前記サーバ装置が処理可能なクライアント装置数で割った値を算出し、
前記設定部は、算出された前記値で示される前記許容試行時間を前記セッションが確立しているクライアント装置に設定する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項５】
前記サーバ装置は、さらに、
前記セッションが確立しているクライアント装置を識別する識別情報と、該クライアント装置に設定された前記許容試行時間とが関係付けられた情報であるクライアント設定情報を格納する格納部と、
を備え、
前記算出部は、前記クライアント設定情報に基づいて前記許容試行時間の平均値を算出し、該許容試行時間の平均値に対する各クライアント装置の許容試行時間の乖離率を算出し、該乖離率が閾値より大きい許容試行時間が設定されたクライアント装置を抽出し、
前記設定部は、前記乖離率が閾値より大きい許容試行時間が設定されたクライアント装置に前記許容試行時間の平均値を設定する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項６】
前記許容試行時間は、前記接続要求の送信をランダムに試みることを許容する時間である
ことを特徴とする請求項１に記載のサーバ装置。
【請求項７】
コンピュータに、
対象クライアント装置から送信された接続要求を受信し、
セッションが確立している複数のクライアント装置に対する該サーバ装置の処理状況に基づいて、許容試行時間を算出し、
算出された前記許容試行時間を、前記対象クライアント装置のセッション切断から接続要求までの時間の最大値として設定する
処理を実行させるリソース制御プログラム。
【請求項８】
コンピュータは、
対象クライアント装置から送信された接続要求を受信し、
セッションが確立している複数のクライアント装置に対する該サーバ装置の処理状況に基づいて、許容試行時間を算出し、
算出された前記許容試行時間を、前記対象クライアント装置のセッション切断から接続要求までの時間の最大値として設定する
ことを特徴とするリソース制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバのリソースの制御に関する。
【背景技術】
【０００２】
近年、情報処理システムの発達により、例えば、クライアント・サーバ型システムの規模も大きくなっており、１または複数のサーバからなるサーバシステムに対して、かなり多くのユーザ端末が接続されている。これらの複数のユーザ端末からのアクセスが一斉に行われると、クライアント・サーバ型システムのリソースの制限のために、システムがダウンしてしまうことがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１１−５１９２２２号公報
【特許文献２】特開２００４−３４８１７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
常時接続を行うクライアント・サーバシステムにおいて、サーバで障害等の発生によりクライアントとのセッションの確立が切断された場合、セッションの再確立のためにクライアントから接続要求の送信が試みられる。この場合、クライアントの数の増加に応じて、サーバ側のリソースも消耗していくため、複数のクライアントがサーバシステムに一斉に接続要求を送信すると、サーバの処理能力を超えて、サーバがダウンしてしまうおそれがある。
【０００５】
この場合、一定の時間内で、ランダムなタイミングで、接続要求を送信することが考えられる。この場合、セッションを再確立する各クライアントにその一定の時間を設定することになる。
【０００６】
しかしながら、一律に、一定の時間を各クライアントに固定的に設定すると、クライアント数の増加によるサーバのリソースの消費状況、すなわち、サーバの処理能力の制限に対応することができず、サーバのリソースを有効に活用することができない。
【０００７】
本発明は、一側面として、クライアント数の増加によるサーバの処理状況に応じて、各クライアントに対して、接続要求の送信を許容する時間を動的に設定する技術を提供する。
【課題を解決するための手段】
【０００８】
本発明の一側面にかかるサーバ装置は、受信部、算出部、設定部を含む。受信部は、対象クライアント装置から送信された接続要求を受信する。算出部は、セッションが確立している複数のクライアント装置に対する該サーバ装置の処理状況に基づいて、許容試行時間を算出する。設定部は、算出された前記許容試行時間を、前記対象クライアント装置のセッション切断から接続要求までの時間の最大値として設定する。
【発明の効果】
【０００９】
本発明によれば、一側面として、クライアント数の増加によるサーバの処理状況に応じて、各クライアントに対して、接続要求の送信を許容する時間を動的に設定することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態におけるサーバ装置の一例を示す。
【図２】本実施形態におけるネットワーク構成の一例を示す。
【図３】本実施形態におけるサーバとデバイスの機能ブロック図を示す。
【図４】本実施形態における定数管理テーブルの一例を示す。
【図５】本実施形態におけるデバイス管理テーブルの一例を示す。
【図６】本実施形態におけるログイン時処理の詳細処理フローを示す。
【図７】本実施形態におけるメンテナンス前処理の詳細処理フローを示す。
【図８】本実施形態における定期バッチ処理の詳細処理フローを示す。
【図９】本実施形態におけるサーバとのセッションが切断された場合のデバイスの処理フローを示す。
【図１０】本実施形態に係るプログラムを実行するコンピュータのハードウェア環境の構成ブロック図である。
【発明を実施するための形態】
【００１１】
常時接続を行うクライアント・サーバシステムにおいて、サーバで障害等の発生によりクライアントとのセッションの確立が切断された場合、セッションの再確立のためにクライアントから接続要求の送信が試みられる。しかしながら、常時接続基盤において、複数のクライアントに対して一律にセッションの再確立制御を組み込むと、そのような障害が発生した場合には、クライアントからのアクセスがサーバシステムに対して一斉に発生する。
【００１２】
ところが、セッションを再確立するためのサーバ側リソースは、クライアントとのセッションを維持するために必要なサーバのリソースに比べて、例えば、１０００倍程度のリソースが必要である。そのため、常時接続基盤において、障害時の可用性のために用意すべきサーバのリソースが膨大になってしまう。
【００１３】
このような問題に対処するため、クライアント側の再セッション確立のために用いられる時間は、サーバがセッションの再確立に耐えうる範囲にし、セッション確立のタイミングを分散することが考えられる。セッションの再確立には、クライアントから接続要求の送信を許容する時間として非常に長い時間内で、ランダムなタイミングで、接続要求を送信することが考えられる。
【００１４】
しかしながら、接続要求の送信のために長い時間を固定的に確保すると、それだけの時間、接続要求を送信したクライアントはサーバのサービスを使えない状態となる。このように、サービスの継続性と、サーバリソースの投資のバランスを決定するのが難しい。特に、クライアントとして組み込みデバイスが接続するようなサービスにおいては、事前に、その時間をそのデバイスのファームウェアに組み込む必要があり、想定した利用者数に基づいて、安全を考慮した接続要求の送信を許容する時間を設定することになる。
【００１５】
本実施形態では、セッションが確立した複数のクライアントに対するサーバの処理能力に応じて接続要求の送信を許容する許容試行時間を動的に調整して、新たに、接続を要求するクライアントに設定する。これにより、用意しているサーバリソースで最大限のサービス継続性を担保することが可能となる。
【００１６】
図１は、本実施形態におけるサーバ装置の一例を示す。サーバ装置１は、通信ネットワークを介して複数のクライアント装置６と接続される。サーバ装置１は、受信部２、算出部３、設定部４を含む。
【００１７】
受信部２は、対象クライアント装置６ａから送信された接続要求を受信する。受信部２の一例として、制御部２１によるＳ２の処理がある。
【００１８】
算出部３は、セッションが確立している複数のクライアント装置に対するサーバ装置１１の処理状況に基づいて、許容試行時間を算出する。許容試行時間は、接続要求の送信をランダムに試みることを許容する時間である。算出部２は、サーバ装置１１とセッションが確立している複数のクライアント装置６の数の増加に応じて、許容試行時間を長くする。より具体的には、算出部２は、第１の合計と、第２の合計との差分を算出する。第１の合計は、セッションが確立しているクライアント装置数に対するサーバ装置１の処理状況に基づいて算出された第１の許容試行時間の合計を示す。第２の合計は、クライアント装置数に対象クライアント装置６ａの数を追加したクライアント装置数に対するサーバ装置１の処理状況に基づいて算出された第２の許容試行時間の合計を示す。設定部３は、差分で示される許容試行時間を対象クライアント装置６ａに設定する。算出部３の一例として、制御部２１が挙げられる。
【００１９】
設定部３は、算出された許容試行時間を対象クライアント装置６ａに設定する。設定部３の一例として、制御部２１が挙げられる。
【００２０】
このように構成することにより、クライアント数の増加によるサーバの処理状況に応じて、各クライアントに接続要求の送信を許容する時間を動的に設定することができる。
【００２１】
また、算出部３は、セッションが確立しているクライアント装置数を、単位時間当たりにサーバ装置が処理可能なクライアント装置数で割った値を算出する。設定部４は、算出された前記値で示される許容試行時間をセッションが確立しているクライアント装置６に設定する。
【００２２】
このように構成することにより、メンテナンス後に、複数のクライアントから接続要求が送信されることを見越して、予め、メンテナンス前に、メンテナンス対象サーバに接続されるクライアントに許容試行時間を設定することができる。
【００２３】
サーバ装置１は、さらに、クライアント設定情報を格納する格納部を含む。クライアント設定情報は、識別情報と、許容試行時間とが関係付けられた情報である。識別情報は、セッションが確立しているクライアント装置６を識別する。許容試行時間は、クライアント装置６に設定された許容試行時間である。格納部の一例としては、記憶部２５が挙げられる。クライアント設定情報の一例としては、デバイス管理テーブルが挙げられる。
【００２４】
また、算出部３は、クライアント設定情報に基づいて許容試行時間の平均値を算出する。算出部３は、許容試行時間の平均値に対する各クライアント装置６の許容試行時間の乖離率を算出する。算出部３は、乖離率が閾値より大きい許容試行時間が設定されたクライアント装置６を抽出する。設定部４は、乖離率が閾値より大きい許容試行時間が設定されたクライアント装置６に許容試行時間の平均値を設定する。
【００２５】
このように構成することにより、各クライアントに設定された許容試行時間が一定の範囲に収まるように調整することができる。
【００２６】
図２は、本実施形態におけるネットワーク構成の一例を示す。サーバシステム１０と、複数のデバイス１２とは、通信ネットワーク１３を介して接続されている。サーバシステム１０は、１台以上のサーバ装置１１（以下、「サーバ」と称する。）を含む。デバイス１２は、パーソナルコンピュータ（ＰＣ）、プリンタ等のデバイスであり、数十〜数百万台が通信ネットワーク１３に接続されている。通信ネットワーク１３は、インターネット等の通信ネットワークである。本実施形態では、サーバシステム１０とデバイス１２との間のＯＳＩ参照モデルの第４層（トランスポート層）以下の通信が確立していることを前提に、第５層（セッション層）以上の通信について言及する。
【００２７】
図３は、本実施形態におけるサーバとデバイスの機能ブロック図を示す。サーバ１１は、制御部２１、記憶部２５、通信制御部２８を含む。制御部２１は、ログイン時処理２２、メンテナンス前処理２３、定期バッチ処理２４を行う。
【００２８】
ログイン時処理２２は、デバイス１２からの接続要求を受信した場合に、次の処理を行う。すなわち、ログイン時処理２２は、セッションの確立の負荷がサーバ１１のリソースの許容値内になるように、デバイス１２から発信されるログイン要求の許容試行時間をデバイス１２に設定する。すなわち、ログイン時処理２２は、デバイス１２からの初回のログイン要求のタイミングで、再ログインをする場合のログイン要求を発信する許容試行時間をデバイス１２に通知する。この際、ログイン時処理２２は、以下の値と、事前に取得した値を用いて、ログイン要求を発信する許容試行時間を動的に生成する。
・現在、確立しているセッション数
・現在セッション確立中のデバイス１２に設定されている接続試行許容時間
ここで、ログイン要求を発信する許容試行時間とは、事前に設定された時間の中で、ランダムの時間帯にサーバ１１へのログイン要求を発信して、セッション確立を行うための時間をいう。ログイン時処理２２において設定する許容試行時間は、ログインするデバイス数が増えるごとに、長くなっていく。
【００２９】
メンテナンス前処理２３は、サーバ１１のメンテナンス前に実行する処理である。メンテナンス前処理２３は、メンテナンス後のサーバ１１と再びセッションを確立する場合の負荷がサーバ１１のリソースの許容値内になるように、ログイン要求の許容試行時間をデバイス１２にメンテナンス前に設定する。
【００３０】
定期バッチ処理２４は、各デバイス１２に設定されたログイン要求の許容試行時間の時間を一定の範囲内で均一化する。デバイス１２側に提供するサービス品質を均質化するため、定期バッチ処理２４は、既に接続しているデバイスに、接続試行許容時間を通知し再設定を行うバッチ処理を定期的に行う。
【００３１】
記憶部２５は、定数管理テーブル２６、デバイス管理テーブル２７を格納している。定数管理テーブル２６には、デバイス１２から発信されるログイン要求の許容試行時間の算出に用いる定数が予め格納されている。デバイス管理テーブル２７は、サーバ１１とセッションが確立している（サーバ１１へログインしている）デバイスを管理するためのテーブルである。通信制御部２８は、デバイス１２との通信を制御する。
【００３２】
デバイス１２は、制御部３１、記憶部３５、通信制御部３６を含む。制御部３１は、ログイン要求処理３２、接続試行許容時間設定処理３３、再ログイン要求処理３４を行う。
【００３３】
ログイン要求処理３２は、サーバ１１とセッションを確立するためにサーバ１１へログイン要求を送信する。また、ログイン要求処理３２は、障害時に、事前に設定された接続試行許容時間の中で、ランダムの時間帯にサーバ１１へログイン要求を行う。
【００３４】
接続試行許容時間設定処理３３は、サーバ１１から通知された接続試行許容時間を記憶部３５に格納する。なお、記憶部３５には、一例として、ログインＩＤ、ログインパスワード、及び再びログイン要求を発信する許容試行時間が格納されている。
【００３５】
再ログイン要求処理３４は、サーバ１１とのセッションの切断を検知した場合に、記憶部３５に格納された接続試行許容時間内に、ランダムに、ログイン要求をサーバ１１へ送信して、再度、サーバ１１へのログインを試みる。通信制御部３６は、サーバ１１との通信を制御する。
【００３６】
本実施形態によれば、最小構成のシステムで障害時にも、デバイス１２に対するサービス継続可能な基盤を構築でき、コストを削減できる。
【００３７】
図４は、本実施形態における定数管理テーブルの一例を示す。定数管理テーブル２６は、「システム同時処理性能値」４１、「安全率」４２、「許容平均乖離率」４３のデータ項目を含む。「システム同時処理性能値」４１は、サーバ１１側における、デバイス１２からの接続要求に対する処理可能な数を示す。「安全率」４２は、サーバ側で確保しておくリソースの割合を示す。「許容平均乖離率」４３は、平均接続試行許容時間に対する各デバイスの接続試行許容時間の乖離率を判定するために用いる閾値である。
【００３８】
図５は、本実施形態におけるデバイス管理テーブルの一例を示す。デバイス管理テーブル２７は、「デバイスＩＤ」５１、「接続試行許容時間」５２のデータ項目を含む。
【００３９】
「デバイスＩＤ」５１には、セッションが確立しているデバイス１２を識別する識別情報が格納される。そのため、デバイス管理テーブル２７に格納されるレコード数は、セッション数に相当する。「接続試行許容時間」５２には、各デバイス１２に設定されている接続試行許容時間が格納される。なお、デバイス管理テーブル２７に、セッションＩＤを追加してもよい。これにより、サーバ１１は、デバイス管理テーブル２７を用いてセッション管理を行ってもよい。
【００４０】
図６は、本実施形態におけるログイン時処理の詳細処理フローを示す。図６のフローでは、セッションの確立の負荷がサーバ１１のリソースの許容値内になるように、接続要求の許容試行時間をデバイス１２に設定することについて説明する。上述したように、本実施形態では、デバイス１２とサーバ１１との間のＯＳＩ参照モデルの第４層（トランスポート層）以下のコネクションは確立しているとする。
【００４１】
デバイス１２の制御部３１は、サーバ１１に対してログイン処理を行う（Ｓ１）。例えば、デバイス１２の制御部３１は、予め保持しているログインＩＤとログインパスワードを用いて、サーバ１１に対して、接続要求を行う。なお、以下では、デバイス１２が行っている処理は、デバイス１２の制御部３１が行っていることを意味する。
【００４２】
サーバ１１の制御部２１は、デバイス１２からのログイン要求を受信する（Ｓ２）。サーバ１１の制御部２１は、ログイン要求からログインＩＤとログインパスワードを取得し、そのログインＩＤとログインパスワードを用いて、デバイス１２の認証を行う（Ｓ３）。なお、サーバ１１は、予め登録したデバイスのログインＩＤとログインパスワードを記憶部２５に保持している。また、以下では、サーバ１１が行っている処理は、サーバ１１の制御部２１が行っていることを意味する。
【００４３】
デバイス１２の認証完了後、サーバ１１は、定数管理テーブル２６及びデバイス管理テーブル２７を用いて、接続試行許容時間を生成する（Ｓ４）。サーバ１１は、定数管理テーブル２６から、システム同時処理性能値Ｃ、安全率Ｄを取得する。また、サーバ１１は、デバイス管理テーブル２７のレコード数を、現在ログインしている（セッションが確立している）デバイスの数Ａとしてカウントする。また、サーバ１１は、デバイス管理テーブル２７のレコードの「接続試行許容時間」の合計を算出し、その合計をレコード数で割った値（平均接続試行許容時間）Ｂを算出する。サーバ１１は、これらの値に基づいて、接続試行許容時間を以下の式で算出する。
【００４４】
接続試行許容時間＝１台追加後の接続試行許容時間の全台合計−現在の接続試行許容時間の全台合計
＝（Ａ＋１）×Ｆ−Ａ×Ｂ
ここで、Ｆ＝（Ａ＋１）／Ｅ
Ｅ＝Ｃ／Ｄ
Ａ：現在ログインしているデバイスの数
Ｂ：現在ログインしているデバイスに設定した平均接続試行許容時間
Ｃ：システム同時処理性能値
Ｄ：安全率
Ｅ：秒間処理可能数
Ｆ：デバイス１台追加時の平均接続試行許容時間
【００４５】
例えば、Ａ＝１００台、Ｂ＝１０秒、Ｃ＝１５台／秒、Ｄ＝１．５の場合、Ｅ＝Ｃ／Ｄ＝１５／１．５＝１０（１０台／秒の処理負荷まで許容する）となる。このとき、
接続試行許容時間＝（Ａ＋１）×Ｆ−Ａ×Ｂ
＝（Ａ＋１）×（Ａ＋１）／Ｅ−Ａ×Ｂ
＝（１００＋１）×（１００＋１）／１０−１００×１０
＝２０．１秒
【００４６】
サーバ１１は、算出した接続試行許容時間をログイン要求しているデバイス１２に送信する（Ｓ５）。デバイス１２は、サーバ１１から送信された接続試行許容時間を記憶部３５に設定し（Ｓ６）、設定完了通知をサーバ１１に送信する（Ｓ７）。
【００４７】
サーバ１１は、デバイス１２から設定完了通知を受信すると（Ｓ８）、デバイス管理テーブル２７に、そのデバイス１２のデバイスＩＤと、その設定した接続試行許容時間とを含むレコードを追加する（Ｓ９）。その後、サーバ１１は、デバイス１２にログイン完了通知を送信する（Ｓ１０）。デバイス１２は、サーバ１１からログイン完了通知を受信すると（Ｓ１１）、本フローの処理は完了する。
【００４８】
このように、現在ログインしているデバイスに設定した平均接続試行許容時間Ｂ＝１０（秒）に対して、算出された接続試行許容時間は２０．１（秒）である。したがって、ログイン時処理２２において設定する許容試行時間は、ログインするデバイス数が増えるごとに、長くなっていく。その結果、後からログインするデバイスほど、許容試行時間が長くなるので、確率的に、ログイン要求を送信するタイミングが遅くなる。これにより、再接続要求を送信したクライアントはサーバのサービスを使えない状態となるクライアント数を減少させ、システム全体として、サービスの継続性と、サーバリソースの投資のバランスをとることができる。
【００４９】
図７は、本実施形態におけるメンテナンス前処理の詳細処理フローを示す。図７では、メンテナンス対象サーバ１１とセッションが確立しているデバイス１２との間のセッションがメンテナンス時に切断され、メンテナンス後に再びセッションが確立される場合の負荷がリソースの許容値内になるように、予め次の
処理を行う。すなわち、サーバ１１は、メンテナンス前に接続要求の許容試行時間をデバイス１２に設定する。
【００５０】
メンテナンス対象のサーバ１１は、メンテナンス前処理として次に説明するバッチ処理を行う（Ｓ２１）。まず、サーバ１１は、定数管理テーブル２６から、システム同時処理性能値Ｃ、安全率Ｄを取得する。サーバ１１は、デバイス管理テーブル２７から、自身とセッションが確立しているデバイス１２を抽出し、以下の式を用いて接続試行許容時間を生成する（Ｓ２２）。
【００５１】
接続試行許容時間＝Ａ’／Ｅ
Ｅ＝Ｃ／Ｄ
Ａ’：メンテナンス対象のサーバにログインしているデバイスの数
Ｃ：システム同時処理性能値
Ｄ：安全率
Ｅ：秒間処理可能数
例えば、リストアップされたデバイスの数Ａ’＝１００台、Ｃ＝１５台／秒、Ｄ＝１．５の場合、Ｅ＝Ｃ／Ｄ＝１５／１．５＝１０（１０台／秒の処理負荷まで許容する）となる。このとき、
接続試行許容時間＝Ａ’／Ｅ
＝１００／１０
＝１０秒
サーバ１１は、算出した接続試行許容時間を、抽出した各デバイス１２に送信する（Ｓ２３）。各デバイス１２は、サーバ１１から送信された接続試行許容時間を記憶部３５に設定し（Ｓ２４）、設定完了通知をサーバ１１に送信する（Ｓ２５）。
【００５２】
サーバ１１は、抽出された全てのデバイス１２から設定完了通知を受信すると（Ｓ２６）、デバイス管理テーブル２７の、各デバイス１２に設定した接続試行許容時間を更新する（Ｓ２６）。これにより、本バッチ処理は完了する（Ｓ２７）。
【００５３】
図８は、本実施形態における定
期バッチ処理の詳細処理フローを示す。図８では、各デバイスに設定されたログイン要求の許容試行時間が一定の範囲に収まるように調整することについて説明する。
【００５４】
サーバ１１は、定期バッチ処理を開始する（Ｓ３１）。まずサーバ１１は、デバイス管理テーブル２７に登録されている全デバイスの接続試行許容時間の平均（平均接続試行許容時間）Ｂを算出する。サーバ１１は、以下の式より、デバイス管理テーブル２７に登録されている各デバイス１２の接続試行許容時間の乖離率（絶対値）を算出する。
接続試行許容時間の乖離率＝｜（各デバイスの接続試行許容時間−Ｂ）／Ｂ｜
サーバ１１は、定数管理テーブル２６から、許容平均乖離率を取得する。サーバ１１は、デバイス管理テーブル２７から、接続試行許容時間の乖離率（絶対値）が、許容平均乖離率以下のデバイスを抽出する（Ｓ３２）。
【００５５】
サーバ１１は、平均接続試行許容時間Ｂを、抽出した各デバイス１２に送信する（Ｓ３３）。各デバイス１２は、サーバ１１から送信された平均接続試行許容時間Ｂを記憶部３５に設定し（Ｓ３４）、設定完了通知をサーバ１１に送信する（Ｓ３５）。
【００５６】
サーバ１１は、抽出された全てのデバイス１２から設定完了通知を受信すると（Ｓ３６）、デバイス管理テーブル２７の、それらのデバイス１２に設定した接続試行許容時間を更新する（Ｓ３７）。これにより、本バッチ処理は完了する（Ｓ３８）。
【００５７】
図８では、例えば、許容平均乖離率０．５、Ｂ＝１０秒の場合、サーバ１１は、接続試行許容時間の設定値が５秒未満または１５秒より長いデバイスに対し、Ｂ＝１０秒を接続試行許容時間として設定することができる。
【００５８】
図９は、本実施形態におけるサーバとのセッションが切断された場合のデバイスの処理フローを示す。デバイス１２の制御部３１は、サーバ１１とのセッションが切断されたことを検知する（Ｓ４１）。例えば、デバイス１２の制御部３１は、サーバ１１に対するリクエストの応答結果がエラーであることを検知する。なお、以下では、デバイス１２が行っている処理は、デバイス１２の制御部３１が行っていることを意味する。
【００５９】
デバイス１２は、記憶部３５から、接続試行許容時間を読み出して計測すると共に、その接続試行許容時間の中で、ランダムの時間帯にサーバ１１へログイン要求を送信する（Ｓ４２）。デバイス１２のログインが完了すると（Ｓ４３）、本フローは終了する。
【００６０】
図１０は、本実施形態に係るプログラムを実行するコンピュータのハードウェア環境の構成ブロック図である。コンピュータ６０は、サーバ１１またはデバイス１２として機能する。コンピュータ６０は、ＣＰＵ６２、ＲＯＭ６３、ＲＡＭ６６、通信Ｉ／Ｆ６４、記憶装置６７、出力Ｉ／Ｆ６１、入力Ｉ／Ｆ６５、読み取り装置６８、バス６９を含む。また、コンピュータ６０は、出力機器７１、入力機器７２を有する。なお、コンピュータ６０がデバイス１２として機能する場合、デバイスの種類によっては、出力Ｉ／Ｆ６１、入力Ｉ／Ｆ６５、読み取り装置６８、出力機器７１、入力機器７２を有さない場合もある。
【００６１】
ここで、ＣＰＵは、中央演算装置を示す。ＲＯＭは、リードオンリメモリを示す。ＲＡＭは、ランダムアクセスメモリを示す。Ｉ／Ｆは、インターフェースを示す。バス６９には、ＣＰＵ６２、ＲＯＭ６３、ＲＡＭ６６、通信Ｉ／Ｆ６４、記憶装置６７、出力Ｉ／Ｆ６１、入力Ｉ／Ｆ６５、及び読み取り装置６８が接続されている。読み取り装置６８は、可搬型記録媒体を読み出す装置である。出力機器７１は、出力Ｉ／Ｆ６１に接続されている。入力機器７２は、入力Ｉ／Ｆ６５に接続にされている。
【００６２】
記憶装置６７としては、ハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置６７またはＲＯＭ６３には、ＣＰＵ６２を制御部２１として機能させるプログラム及び定数管理テーブル２６、デバイス管理テーブル２７等が格納されている。
【００６３】
ＣＰＵ６２は、記憶装置６７等に格納した上記実施形態で説明した処理を実現するプログラムを読み出し、当該プログラムを実行する。
【００６４】
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク７０、および通信Ｉ／Ｆ６４を介して、例えば記憶装置６７に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置６８にセットされて、ＣＰＵ６２によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＩＣカード、ＵＳＢメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置６８によって読み取られる。
【００６５】
また、入力機器７２には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力機器７１には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク７０は、インターネット、ＬＡＮ、ＷＡＮ、専用線、有線、無線等の通信網であってよい。
【００６６】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【００６７】
１      サーバ装置
２      算出部
３      設定部
４      受信部
５      格納部
６      クライアント装置
１０    サーバシステム
１１    サーバ
１２    デバイス
１３    通信ネットワーク
２１    制御部
２２    ログイン時処理
２３    メンテナンス前処理
２４    定期バッチ処理
２５    記憶部
２６    定数管理テーブル
２７    デバイス管理テーブル
２８    通信制御部
３１    制御部
３２    ログイン要求処理
３３    接続試行許容時間設定処理
３４    再ログイン要求
３５    記憶部
３６    通信制御部
【図１】
2015075777.tif 000003
【図２】
2015075777.tif 000004
【図３】
2015075777.tif 000005
【図４】
2015075777.tif 000006
【図５】
2015075777.tif 000007
【図６】
2015075777.tif 000008
【図７】
2015075777.tif 000009
【図８】
2015075777.tif 000010
【図９】
2015075777.tif 000011
【図１０】
2015075777.tif 000012