(57)【要約】【課題】障害が発生した際に処理要求を送信するまでの待機時間をより適切に算出すること。【解決手段】待機時間算出装置１は、処理要求の発信元であるユーザノード２２と、ユーザノード２２から通信路２３を介して受信した処理要求に基づいて処理を実行する複数の処理ノード２０とを含む処理システム２において障害が発生した際に、ユーザノード２２が処理要求を送信するまでの待機時間を算出する装置であって、処理システム２での障害の発生に伴う処理ノード２０の負荷発生時の、処理ノード２０単体の単位時間当たりの処理不可能なユーザノード数である処理不能ユーザ数を含むシステム情報を取得するシステム情報取得部１０と、取得されたシステム情報に含まれる処理不能ユーザ数に基づいて待機時間を算出する待機時間算出部１４と、算出された待機時間をユーザノードに送信する待機時間送信部１５と、を備える。【選択図】図１
2015195520.tif 000002
【特許請求の範囲】
【請求項１】
処理要求の発信元であるユーザノードと、ユーザノードから通信路を介して受信した処理要求に基づいて処理を実行する複数の処理ノードと、ユーザノードと処理ノードとの間の通信路と、を含む処理システムにおいて障害が発生した際に、ユーザノードが処理要求を送信するまでの待機時間を算出する待機時間算出装置であって、
処理システムでの障害の発生に伴う処理ノードの負荷発生時の、処理ノード単体の単位時間当たりの処理不可能なユーザノード数である処理不能ユーザ数を含むシステム情報を取得するシステム情報取得手段と、
前記システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数に基づいて待機時間を算出する待機時間算出手段と、
前記待機時間算出手段によって算出された待機時間をユーザノードに送信する待機時間送信手段と、
を備える待機時間算出装置。
【請求項２】
処理システムは、処理ノードの予備系としての仮想マシンであり、増設指示を受けてから処理の実行が可能になるまでに増設時間がかかる、１つ以上の予備系処理ノードを含み、
システム情報は、処理ノード単体の単位時間当たりの処理可能なユーザノード数である処理可能ユーザ数と、増設時間とを含み、
当該待機時間算出装置は、
前記システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と増設時間とに基づいて、予備系処理ノードの増設の要否を判定する増設判定手段と、
前記増設判定手段によって増設が必要であると判定されると、予備系処理ノードの増設指示を行う増設指示手段と、
をさらに備える、請求項１に記載の待機時間算出装置。
【請求項３】
システム情報は、予備系処理ノード単体の単位時間当たりの処理可能なユーザノード数である予備系処理可能ユーザ数を含み、
前記待機時間算出手段は、前記増設判定手段によって増設が必要であると判定されると、前記システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と予備系処理可能ユーザ数と増設時間とに基づいて待機時間を算出する、
請求項２に記載の待機時間算出装置。
【請求項４】
ユーザノードには予め優先順位が定められており、
前記待機時間算出手段は、前記増設判定手段によって増設が必要であると判定されると、ユーザノードの優先順位に基づいてユーザノードを第一グループと第二グループとに分け、第一グループの待機時間である第一待機時間を、前記システム情報取得手段によって取得されたシステム情報に含まれる増設時間未満の時間として算出し、第二グループの待機時間である第二待機時間を、前記システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と予備系処理可能ユーザ数と増設時間とに基づいて算出し、
前記待機時間送信手段は、第一グループのユーザノードには第一待機時間を送信し、第二グループのユーザノードには第二待機時間を送信する、
請求項３に記載の待機時間算出装置。
【請求項５】
システム情報は、処理ノード単体の単位時間当たりの処理可能なユーザノード数である処理可能ユーザ数を含み、
当該待機時間算出装置は、
前記システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数とに基づいて、待機時間の要否を判定する即時処理判定手段をさらに備え、
前記待機時間算出手段は、前記即時処理判定手段によって待機時間が不要であると判定されると、待機時間としてゼロを算出する、
請求項１〜４の何れか一項に記載の待機時間算出装置。
【請求項６】
処理システムは、処理ノードの予備系としての仮想マシンであり、増設指示を受けてから処理の実行が可能になるまでに増設時間がかかる、１つ以上の予備系処理ノードを含み、
システム情報は、処理ノード単体の単位時間当たりの処理可能なユーザノード数である処理可能ユーザ数と、増設時間とを含み、
当該待機時間算出装置は、
前記システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と増設時間とに基づいて、予備系処理ノードの増設の要否を判定する増設判定手段と、
前記システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数とに基づいて、待機時間の要否を判定する即時処理判定手段と、
をさらに備え、
前記待機時間算出手段は、前記増設判定手段によって増設が不要であると判定され、かつ、前記即時処理判定手段によって待機時間が必要であると判定されると、前記システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間を算出する、
請求項１に記載の待機時間算出装置。
【請求項７】
前記待機時間算出手段は、前記システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間を算出する、
請求項１に記載の待機時間算出装置。
【請求項８】
処理システムは、処理ノードの予備系としての物理マシンである１つ以上の物理予備系処理ノードを含み、
システム情報は、処理ノード単体の単位時間当たりの処理可能なユーザノード数である処理可能ユーザ数と、物理予備系処理ノード単体の単位時間当たりの処理可能なユーザノード数である物理予備系処理可能ユーザ数を含み、
待機時間算出手段は、前記システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と物理予備系処理可能ユーザ数とに基づいて待機時間を算出する、
請求項１に記載の待機時間算出装置。
【請求項９】
処理要求の発信元であるユーザノードであって、
当該ユーザノードから通信路を介して送信した処理要求に基づいて処理を実行する複数の処理ノードを含む処理システムにおいて障害が発生した場合に、前記ユーザノードが前記処理要求を送信するまでの待機時間が、当該処理システムでの障害の発生に伴い前記処理ノードに負荷が発生している場合における、前記処理ノード単体の単位時間当たりの処理不可能なユーザノード数である処理不能ユーザ数に基づいて算出され、
前記処理システムは、前記処理ノードの予備系としての仮想マシンであり、増設指示を受けてから処理の実行が可能になるまでに増設時間がかかる、１つ以上の予備系処理ノードを含み、当該予備系処理ノードの増設が必要である場合には、前記待機時間が、当該増設時間にさらに基づいて算出され、
算出された待機時間を受信し、
当該ユーザノードのディスプレイにて、受信した前記待機時間を表示する、
ユーザノード。
【請求項１０】
処理要求の発信元であるユーザノードと、ユーザノードから通信路を介して受信した処理要求に基づいて処理を実行する複数の処理ノードと、ユーザノードと処理ノードとの間の通信路と、を含む処理システムにおいて障害が発生した際に、ユーザノードが処理要求を送信するまでの待機時間を算出する待機時間算出装置により実行される待機時間算出方法であって、
処理システムでの障害の発生に伴う処理ノードの負荷発生時の、処理ノード単体の単位時間当たりの処理不可能なユーザノード数である処理不能ユーザ数を含むシステム情報を取得するシステム情報取得ステップと、
前記システム情報取得ステップにおいて取得されたシステム情報に含まれる処理不能ユーザ数に基づいて待機時間を算出する待機時間算出ステップと、
前記待機時間算出ステップにおいて算出された待機時間をユーザノードに送信する待機時間送信ステップと、
を含む待機時間算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害発生時に処理要求を送信するまでの待機時間を算出する待機時間算出装置、ユーザノード及び待機時間算出方法に関する。
【背景技術】
【０００２】
従来、通信ネットワーク等において障害が発生した際に、処理要求を送信（再送）するまでの待機時間であるバックオフ時間を算出する装置が知られている。例えば、下記特許文献１では、トランザクションのコミットに失敗した場合に、トランザクションの再実行までのバックオフ時間を計算するトランザクション同時実行制御システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−０４５３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のトランザクション同時実行制御システムは、前回計算したバックオフ時間から、トランザクション実行を開始してから完了するまでの実行時間を減算した値をバックオフ時間とする。しかしながら、そのようにして計算されたバックオフ時間は、コミット失敗時（障害発生時）の状況を反映したものではなく、適切なバックオフ時間ではないおそれがある。
【０００５】
そこで、本発明は、かかる課題に鑑みて為されたものであり、障害が発生した際に処理要求を送信するまでの待機時間をより適切に算出することができる待機時間算出装置、ユーザノード及び待機時間算出方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の待機時間算出装置は、処理要求の発信元であるユーザノードと、ユーザノードから通信路を介して受信した処理要求に基づいて処理を実行する複数の処理ノードと、ユーザノードと処理ノードとの間の通信路と、を含む処理システムにおいて障害が発生した際に、ユーザノードが処理要求を送信するまでの待機時間を算出する待機時間算出装置であって、処理システムでの障害の発生に伴う処理ノードの負荷発生時の、処理ノード単体の単位時間当たりの処理不可能なユーザノード数である処理不能ユーザ数を含むシステム情報を取得するシステム情報取得手段と、システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数に基づいて待機時間を算出する待機時間算出手段と、待機時間算出手段によって算出された待機時間をユーザノードに送信する待機時間送信手段と、を備える。
【０００７】
このような待機時間算出装置によれば、処理システムでの障害の発生に伴う処理ノードの負荷発生時の処理不能ユーザ数に基づいて待機時間が算出される。つまり、負荷発生時の処理不能ユーザ数を考慮した待機時間が算出されるため、実際の状況に適した待機時間が算出される。これにより、障害が発生した際に処理要求を送信するまでの待機時間をより適切に算出することができる。
【０００８】
また、本発明の待機時間算出装置において、処理システムは、処理ノードの予備系としての仮想マシンであり、増設指示を受けてから処理の実行が可能になるまでに増設時間がかかる、１つ以上の予備系処理ノードを含み、システム情報は、処理ノード単体の単位時間当たりの処理可能なユーザノード数である処理可能ユーザ数と、増設時間とを含み、当該待機時間算出装置は、システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と増設時間とに基づいて、予備系処理ノードの増設の要否を判定する増設判定手段と、増設判定手段によって増設が必要であると判定されると、予備系処理ノードの増設指示を行う増設指示手段と、をさらに備えることが好ましい。かかる構成を採れば、処理不能ユーザ数と処理可能ユーザ数と増設時間とに基づいて予備系処理ノード増設の要否が判定されるため、実際の状況に適した予備系処理ノード増設の判定がなされる。
【０００９】
また、本発明の待機時間算出装置において、システム情報は、予備系処理ノード単体の単位時間当たりの処理可能なユーザノード数である予備系処理可能ユーザ数を含み、待機時間算出手段は、増設判定手段によって増設が必要であると判定されると、システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と予備系処理可能ユーザ数と増設時間とに基づいて待機時間を算出することが好ましい。かかる構成を採れば、処理不能ユーザ数と処理可能ユーザ数と予備系処理可能ユーザ数と増設時間とに基づいて待機時間が算出されるため、実際の状況に適した待機時間が算出される。これにより、障害が発生し、予備系処理ノードを増設した際の待機時間をより適切に算出することができる。
【００１０】
また、本発明の待機時間算出装置において、ユーザノードには予め優先順位が定められており、待機時間算出手段は、増設判定手段によって増設が必要であると判定されると、ユーザノードの優先順位に基づいてユーザノードを第一グループと第二グループとに分け、第一グループの待機時間である第一待機時間を、システム情報取得手段によって取得されたシステム情報に含まれる増設時間未満の時間として算出し、第二グループの待機時間である第二待機時間を、システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と予備系処理可能ユーザ数と増設時間とに基づいて算出し、待機時間送信手段は、第一グループのユーザノードには第一待機時間を送信し、第二グループのユーザノードには第二待機時間を送信することが好ましい。かかる構成を採れば、優先順位に基づいてユーザノードの待機時間を変えることができ、処理システムによるサービス提供の柔軟性を向上することができる。
【００１１】
また、本発明の待機時間算出装置において、システム情報は、処理ノード単体の単位時間当たりの処理可能なユーザノード数である処理可能ユーザ数を含み、当該待機時間算出装置は、システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数とに基づいて、待機時間の要否を判定する即時処理判定手段をさらに備え、待機時間算出手段は、即時処理判定手段によって待機時間が不要であると判定されると、待機時間としてゼロを算出することが好ましい。かかる構成を採れば、処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間の要否を判定されるため、実際の状況に適した待機時間要否の判定がなされる。
【００１２】
また、本発明の待機時間算出装置において、処理システムは、処理ノードの予備系としての仮想マシンであり、増設指示を受けてから処理の実行が可能になるまでに増設時間がかかる、１つ以上の予備系処理ノードを含み、システム情報は、処理ノード単体の単位時間当たりの処理可能なユーザノード数である処理可能ユーザ数と、増設時間とを含み、当該待機時間算出装置は、システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と増設時間とに基づいて、予備系処理ノードの増設の要否を判定する増設判定手段と、システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数とに基づいて、待機時間の要否を判定する即時処理判定手段と、をさらに備え、待機時間算出手段は、増設判定手段によって増設が不要であると判定され、かつ、即時処理判定手段によって待機時間が必要であると判定されると、システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間を算出することが好ましい。かかる構成を採れば、予備系処理ノードの増設が不要であり、待機時間が必要であると判定された場合に、処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間が算出される。これにより、障害が発生し、予備系処理ノードの増設が不要であり、一定の待機時間が必要な場合の待機時間をより適切に算出することができる。
【００１３】
また、本発明の待機時間算出装置において、待機時間算出手段は、システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間を算出することが好ましい。かかる構成を採れば、処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間が算出される。これにより、例えば、障害が発生し、予備系処理ノードが存在しない場合の待機時間をより適切に算出することができる。
【００１４】
また、本発明の待機時間算出装置において、処理システムは、処理ノードの予備系としての物理マシンである１つ以上の物理予備系処理ノードを含み、システム情報は、処理ノード単体の単位時間当たりの処理可能なユーザノード数である処理可能ユーザ数と、物理予備系処理ノード単体の単位時間当たりの処理可能なユーザノード数である物理予備系処理可能ユーザ数を含み、待機時間算出手段は、システム情報取得手段によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と物理予備系処理可能ユーザ数とに基づいて待機時間を算出することが好ましい。かかる構成を採れば、処理不能ユーザ数と処理可能ユーザ数と物理予備系処理可能ユーザ数とに基づいて待機時間が算出される。これにより、例えば、障害が発生し、物理予備系処理ノードが存在する場合の待機時間をより適切に算出することができる。
【００１５】
また、上記課題を解決するため、本発明のユーザノードは、処理要求の発信元であるユーザノードであって、当該ユーザノードから通信路を介して送信した処理要求に基づいて処理を実行する複数の処理ノードを含む処理システムにおいて障害が発生した場合に、ユーザノードが処理要求を送信するまでの待機時間が、当該処理システムでの障害の発生に伴い処理ノードに負荷が発生している場合における、処理ノード単体の単位時間当たりの処理不可能なユーザノード数である処理不能ユーザ数に基づいて算出され、処理システムは、処理ノードの予備系としての仮想マシンであり、増設指示を受けてから処理の実行が可能になるまでに増設時間がかかる、１つ以上の予備系処理ノードを含み、当該予備系処理ノードの増設が必要である場合には、待機時間が、当該増設時間にさらに基づいて算出され、算出された待機時間を受信し、当該ユーザノードのディスプレイにて、受信した待機時間を表示する。
【００１６】
このようなユーザノードによれば、処理システムでの障害の発生に伴う処理ノードの負荷発生時の処理不能ユーザ数に基づいて算出された待機時間が、受信され、ディプレイに表示される。つまり、負荷発生時の処理不能ユーザ数を考慮した、実際の状況に適した待機時間がユーザノードのディスプレイに表示される。これにより、ユーザノードのユーザは、より適切に算出された、障害が発生した際に処理要求を送信するまでの待機時間を確認することができる。そのため、例えば、ユーザの「あとどのくらい待てばいいのかわからない」等のストレスを軽減することができ、ユーザの利便性を向上することができる。
【００１７】
ところで、本発明は、上記のように待機時間算出装置の発明として記述できる他に、以下のように待機時間算出方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００１８】
即ち、本発明に係る待機時間算出方法は、処理要求の発信元であるユーザノードと、ユーザノードから通信路を介して受信した処理要求に基づいて処理を実行する複数の処理ノードと、ユーザノードと処理ノードとの間の通信路と、を含む処理システムにおいて障害が発生した際に、ユーザノードが処理要求を送信するまでの待機時間を算出する待機時間算出装置により実行される待機時間算出方法であって、処理システムでの障害の発生に伴う処理ノードの負荷発生時の、処理ノード単体の単位時間当たりの処理不可能なユーザノード数である処理不能ユーザ数を含むシステム情報を取得するシステム情報取得ステップと、システム情報取得ステップにおいて取得されたシステム情報に含まれる処理不能ユーザ数に基づいて待機時間を算出する待機時間算出ステップと、待機時間算出ステップにおいて算出された待機時間をユーザノードに送信する待機時間送信ステップと、を含む。
【発明の効果】
【００１９】
本発明によれば、障害が発生した際に処理要求を送信するまでの待機時間をより適切に算出することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る待機時間算出システムのシステム概要図である。
【図２】本発明の実施形態に係る待機時間算出装置の機能ブロック図である。
【図３】本発明の実施形態に係る待機時間算出装置のハードウェア構成を示す図である。
【図４】処理システムでの障害発生時の各処理ノードの負荷推移の例を示したグラフである。
【図５】待機時間が必要でないと判定された場合の負荷推移の例を示したグラフである。
【図６】増設が必要であると判定された場合の負荷推移の例を示したグラフである。
【図７】待機時間が必要であると判定され、かつ、増設が不要であると判定された場合の負荷推移の例を示したグラフである。
【図８】優先順位表のテーブル例を示す図である。
【図９】待機時間算出システムの状態１（初期状態）を示す状態図である。
【図１０】待機時間算出システムの状態２を示す状態図である。
【図１１】待機時間算出システムの状態３を示す状態図である。
【図１２】待機時間算出システムの状態４を示す状態図である。
【図１３】ユーザノードのディプレイに表示された待機時間の例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面とともに本発明による待機時間算出装置、ユーザノード及び待機時間算出方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００２２】
図１は、本実施形態に係る待機時間算出システム３のシステム概要図である。図１に示す通り、待機時間算出システム３は、待機時間算出装置１（待機時間算出装置）と、処理システム２（処理システム）とを含んで構成される。また、処理システム２は、処理ノード２０（処理ノード）と、予備系処理ノード２１（予備系処理ノード）と、ユーザノード２２（ユーザノード）と、通信路２３（通信路）とを含んで構成される。処理ノード２０と予備系処理ノード２１とユーザノード２２とは、それぞれ通信路２３を介して互いに通信可能である。また、待機時間算出装置１は、ネットワーク等を介して、処理ノード２０、予備系処理ノード２１及びユーザノード２２に対して通信可能である。
【００２３】
待機時間算出装置１は、処理システム２において障害が発生した際に、処理システム２に含まれるユーザノード２２が処理要求を送信するまでの待機時間を算出するコンピュータ装置である。待機時間算出装置１は、処理システム２における障害発生時の処理ノードの切り替えを行う、障害切り替え対応マネージャであってもよい。また、待機時間算出装置１は、処理システム２内に配置されてもよいし、処理システム２内のノード内に実装されてもよい。待機時間算出装置１の詳細については後述する。
【００２４】
処理システム２は、例えば、移動体通信システムであり、処理システム２に含まれるユーザノード２２は移動体通信端末であり、通信路２３は移動体通信網であり、処理ノード２０はコアネットワーク等を構成するノードである。その場合、ユーザノード２２である移動体通信端末からの呼が、処理ノード２０であるコアネットワーク等を構成するノードにて処理される。
【００２５】
処理ノード２０は、ユーザノード２２から通信路２３を介して受信した処理要求に基づいて処理を実行するノードである。処理システム２には、処理ノード２０が一つ以上含まれる冗長構成となっており、それら処理ノード２０が協調することで処理を行う。
【００２６】
予備系処理ノード２１は、処理ノード２０の予備系としての仮想マシンであり、増設指示を受けてから処理の実行が可能になるまでに増設時間がかかるノードである。処理システム２には、予備系処理ノード２１が一つ以上含まれてもよく、それら予備系処理ノード２１及び処理ノード２０が協調することで処理を行う。
【００２７】
ユーザノード２２は、処理要求の発信元であるノードであり、通信路２３を介して処理ノード２０等に、所定の処理の実行を要求する処理要求を送信する。処理システム２には、ユーザノード２２が一つ以上含まれていてもよい。
【００２８】
通信路２３は、一般的なネットワークである。
【００２９】
なお、処理システム２は、処理ノード２０の予備系としての物理マシンである１つ以上の物理予備系処理ノード（不図示）を含んでもよい。物理予備系処理ノードは物理マシンであるため、仮想マシンである予備系処理ノード２１とは異なり、処理の実行が可能になるまでに時間はかからず、すぐに処理の実行が可能である。
【００３０】
図２は、待機時間算出装置１の機能ブロック図である。図２に示す通り、待機時間算出装置１は、システム情報取得部１０（システム情報取得手段）と、即時処理判定部１１（即時処理判定手段）と、増設判定部１２（増設判定手段）と、増設指示部１３（増設指示手段）と、待機時間算出部１４（待機時間算出手段）と、待機時間送信部１５（待機時間送信手段）とを含んで構成される。
【００３１】
待機時間算出装置１は、ＣＰＵ等のハードウェアから構成されているものである。図３は、待機時間算出装置１のハードウェア構成の一例を示す図である。図２に示される待機時間算出装置１は、物理的には、図３に示すように、ＣＰＵ１００、主記憶装置であるＲＡＭ１０１及びＲＯＭ１０２、ディスプレイ等の入出力装置１０３、通信モジュール１０４、及び補助記憶装置１０５などを含むコンピュータシステムとして構成されている。
【００３２】
図２に示す待機時間算出装置１の各機能ブロックの機能は、図３に示すＣＰＵ１００、ＲＡＭ１０１等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１００の制御のもとで入出力装置１０３、通信モジュール１０４、及び補助記憶装置１０５を動作させるとともに、ＲＡＭ１０１におけるデータの読み出し及び書き込みを行うことで実現される。
【００３３】
以下、図２に示す待機時間算出装置１の各機能ブロックについて説明する。
【００３４】
なお、本実施形態では、処理ノード２０はｎ個存在するとし、各処理ノード２０の要素を識別する番号としてｋ（ｋ＝１，２，…，ｎ）を利用する。また、予備系処理ノード２１はｍ個存在するとし、各予備系処理ノード２１の要素を識別する番号としてｌ（ｌ＝１，２，…，ｍ）を利用する。また、予備系処理ノード２１それぞれの増設時間をＴとする。
【００３５】
また、各処理ノード２０の単位時間当たりに処理可能なユーザノード２２数である処理可能ユーザ数（の余力）をｎｃｋ（ユーザ／秒）とする。なお、ｎｃｋを超えるユーザがアクセスすると処理システム２により規制がかかるものとする。また、各予備系処理ノード２１の単位時間当たりに処理可能なユーザノード２２数である予備系処理可能ユーザ数をｎｐｌとする。
【００３６】
また、本実施形態では、１台の処理ノード２０（ｋ＝１）が故障した時に、待機時間算出装置１が待機時間を算出する例を示す。
【００３７】
システム情報取得部１０は、処理システム２での障害の発生に伴う処理ノード２０の負荷発生時の、処理ノード２０単体の単位時間当たりの処理不可能なユーザノード数である処理不能ユーザ数ｎｕｋを含むシステム情報を取得する。処理システム２での障害とは、具体的には、災害発生等に伴う、処理ノード２０のハードウェア故障や、通信路２３での輻輳が挙げられる。また、システム情報取得部１０は、外部（対向）装置から、単位時間当たりに処理可能なユーザ数ｎｃｋや限界処理ユーザ数等を含む情報を、定期的もしくはオンデマンドに取得してもよい。
【００３８】
図４は、処理システム２での障害発生時の各処理ノード２０の負荷推移の例を示したグラフである。図４に示すグラフにおいて、横軸は時間を示し、縦軸は単位時間当たりに処理ノード２０にアクセスしたユーザ数を示す。以降の図におけるグラフにおいて、横軸及び縦軸の内容は同様である。また、図４に示すグラフにおいて、ＳＲ（Service  Request）はユーザノード２２によるサービスリクエストを示し、ＡＲ（Attach  Request）はユーザノード２２によるアタッチリクエストを示す。障害が発生した場合、まずＳＲが発生し、続いてＡＲが発生する。ＡＲ時の負荷が規制値を超えた場合、超えた分の処理が行われず、所定の待機時間（例えば２５秒）後に、再度ＡＲが行われる。そして、例えば、ＡＲが５回繰り返されると、ユーザノード２２は１２分待機する必要がある。本実施形態の待機時間算出装置１は、ＡＲによる負荷のピークを１回以内に抑えることを目標とする。なお、図４に示すグラフにおいて、処理不能ユーザ数ｎｕｋは、負荷のピーク時の値と規制値との差分である。
【００３９】
システム情報取得部１０は、システム情報を、待機時間算出システム３内の他の装置から取得してもよいし、待機時間算出装置１内に予め格納及び管理されたデータベース等から取得してもよい。システム情報には、処理不能ユーザ数ｎｕｋ以外にも、処理可能ユーザ数ｎｃｋ、予備系処理可能ユーザ数ｎｐｌ、物理予備系処理ノード単体の単位時間当たりの処理可能なユーザノード数である物理予備系処理可能ユーザ数、及び増設時間等の何れか一つ以上を含んでもよい。
【００４０】
即時処理判定部１１は、システム情報取得部１０によって取得されたシステム情報に含まれる処理不能ユーザ数ｎｕｋと処理可能ユーザ数ｎｃｋとに基づいて、待機時間の要否を判定する。より具体的には、即時処理判定部１１は、故障した処理ノード２０（ｋ＝１）以外の処理ノード２０の処理不能ユーザ数ｎｕｋの合計値である
【数１】
2015195520.tif 000003
と、故障した処理ノード２０（ｋ＝１）以外の処理ノード２０の処理可能ユーザ数ｎｃｋの合計値である
【数２】
2015195520.tif 000004
とを比較し、式（１）が式（２）未満である場合、待機時間が必要でないと判定し、式（１）が式（２）以上である場合、待機時間が必要であると判定する。
【００４１】
図５は、即時処理判定部１１によって待機時間が必要でないと判定された場合の負荷推移の例を示したグラフである。図５のグラフにおいて、通常処理量の値と規制値との差分が処理可能ユーザ数ｎｃｋを示す。図５に示す通り、即時処理判定部１１は、２回目のＡＲ時に規制値以内で処理可能な場合、待機時間が必要でないと判定する。一方、即時処理判定部１１は、２回目のＡＲ時に規制値以内で処理が不可能な場合、待機時間が必要であると判定する。
【００４２】
増設判定部１２は、システム情報取得部１０によって取得されたシステム情報に含まれる処理不能ユーザ数ｎｕｋと処理可能ユーザ数ｎｃｋと増設時間Ｔとに基づいて、予備系処理ノード２１の増設の要否を判定する。より具体的には、増設判定部１２は、式（１）と、式（２）にＴを乗算した値とを比較し、式（１）が式（２）にＴを乗算した値未満である場合、増設が不要であると判定し、式（１）が式（２）にＴを乗算した値以上である場合、増設が必要であると判定する。
【００４３】
図６は、増設判定部１２によって増設が必要であると判定された場合の負荷推移の例を示したグラフである。図６（ａ）は、単一の処理ノード２０に関する負荷推移の例を示したグラフであり、図６（ｂ）は、処理ノード２０全体に関する負荷推移の例を示したグラフである。図６において、時間Ｔは増設時間を示し、時間ｔ２は予備系処理ノード２１が増設されて処理可能になってから、１回目のＡＲ時に処理できなかった処理が完了するまでの時間を示す。図６に示す通り、増設判定部１２は、１回目のＡＲ時に処理できなかった処理量を、当該時点から予備系処理ノード２１が増設されて処理可能になるまでの時間（Ｔ）内に処理が不可能な場合は、増設が必要であると判定する。一方、即時処理判定部１１は、１回目のＡＲ時に処理できなかった処理量を、当該時点から予備系処理ノード２１が増設されて処理可能になるまでの時間（Ｔ）内に処理が可能な場合は、増設が不要であると判定する。
【００４４】
図７は、即時処理判定部１１によって待機時間が必要であると判定され、かつ、増設判定部１２によって増設が不要であると判定された場合の負荷推移の例を示したグラフである。この場合は、２回目のＡＲ時に規制値以内で処理が不可能な場合であり、かつ、１回目のＡＲ時に処理できなかった処理量を、当該時点から予備系処理ノード２１が増設されて処理可能になるまでの時間（Ｔ）内に処理が可能な場合に該当する。
【００４５】
増設指示部１３は、増設判定部１２によって増設が必要であると判定されると、予備系処理ノード２１の増設指示を行う。より具体的には、増設指示部１３は、処理システム２内にて予備系処理ノード２１を管理しているノードに増設指示を送信し、当該ノードが予備系処理ノード２１の増設を行う。
【００４６】
待機時間算出部１４は、システム情報取得部１０によって取得されたシステム情報に含まれる処理不能ユーザ数に基づいて待機時間を算出する。
【００４７】
待機時間算出部１４は、即時処理判定部１１によって待機時間が不要であると判定されると、待機時間としてゼロを算出する。
【００４８】
待機時間算出部１４は、増設判定部１２によって増設が必要であると判定されると、システム情報取得部１０によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と予備系処理可能ユーザ数と増設時間とに基づいて待機時間を算出してもよい。より具体的には、待機時間算出部１４は、
【数３】
2015195520.tif 000005
を満たす時間ｔ２を算出する。そして、経過時間がＴ未満の場合は、時間Ｔ以内の乱数値を示すｒａｎｄ（Ｔ）を算出時間として算出し、経過時間がＴ以上の場合は、Ｔ＋ｒａｎｄ（ｔ２）として算出する。式（３）の左辺は、図６（ｂ）に示すグラフにおける領域Ｍ２の面積に対応する。
【００４９】
待機時間算出部１４は、ユーザノード２２に予め優先順位が定められている場合、増設判定部１２によって増設が必要であると判定されると、ユーザノード２２の優先順位に基づいてユーザノード２２を第一グループと第二グループとに分け、第一グループの待機時間である第一待機時間を、システム情報取得部１０によって取得されたシステム情報に含まれる増設時間未満の時間として算出し、第二グループの待機時間である第二待機時間を、システム情報取得部１０によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と予備系処理可能ユーザ数と増設時間とに基づいて算出する。
【００５０】
より具体的には、待機時間算出部１４は、優先順位が低いユーザノード２２の順に、１番目から、式（２）にＴを乗算した値番目までのユーザノード２２を第一グループに分ける。また、待機時間算出部１４は、式（２）にＴを乗算した値番目以降のユーザノード２２を第二グループに分ける。そして、待機時間算出部１４は、第一待機時間として上述のｒａｎｄ（ｔ）を算出し、第二待機時間として上述のＴ＋ｒａｎｄ（ｔ２）を算出する。
【００５１】
優先順位は、処理機能ごとや、アプリケーションごとや、ユーザ種別ごとに定められている。図８は、待機時間算出装置１内にて予め格納された優先順位に関する優先順位表のテーブル例を示す図である。
【００５２】
待機時間算出部１４は、増設判定部１２によって増設が不要であると判定され、かつ、即時処理判定部１１によって待機時間が必要であると判定されると、システム情報取得部１０によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間を算出する。より具体的には、待機時間算出部１４は、
【数４】
2015195520.tif 000006
を満たす時間ｔ１を算出し、ｒａｎｄ（ｔ１）を待機時間として算出する。式（４）の左辺は、図７に示すグラフにおける領域Ｍ１の面積に対応する。
【００５３】
待機時間算出部１４は、システム情報取得部１０によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間を算出してもよい。例えば、予備系処理ノード２１が存在しない場合（Ｓ１−ｆｌｅｘノードで処理する場合）、待機時間算出部１４は、
【数５】
2015195520.tif 000007
を満たす時間ｔ４を算出し、ｒａｎｄ（ｔ４）を待機時間として算出する。
【００５４】
待機時間算出部１４は、システム情報取得部１０によって取得されたシステム情報に含まれる処理不能ユーザ数と処理可能ユーザ数と物理予備系処理可能ユーザ数とに基づいて待機時間を算出する。例えば、物理予備系処理ノードが存在する場合、待機時間算出部１４は、
【数６】
2015195520.tif 000008
を満たす時間ｔ３を算出し、ｒａｎｄ（ｔ３）を待機時間として算出する。
【００５５】
待機時間送信部１５は、待機時間算出部１４によって算出された待機時間をユーザノード２２に送信する。待機時間送信部１５は、第一グループのユーザノード２２には第一待機時間を送信し、第二グループのユーザノード２２には第二待機時間を送信してもよい。
【００５６】
続いて、図９〜１２に示す待機時間算出システム３の状態図を利用して、待機時間算出装置１における待機時間算出処理について説明する。
【００５７】
図９は、待機時間算出システム３の初期状態を示す状態図である。図９に示す通り、初期状態では、ユーザノード２２からの処理要求に基づき、処理ノード２０＿１〜２０＿ｎにて処理が実行されている。図９に示す状態にて、処理ノード２０＿１にて障害が発生した場合、図９から図１０に示す状態に遷移する。
【００５８】
図１０に示す状態では、障害が発生した処理ノード２０＿１にて処理が実行できず、処理ノード２０＿２〜２０＿ｎにて処理が実行されている。待機時間算出装置１は、障害検出部（不図示）により処理システム２の障害の発生を検出すると、システム情報を取得する（システム情報取得ステップ）。次に、待機時間算出装置１は、増設判定部１２により増設の要否を判定する。今回の例では、増設が必要であると判定されたとする。すると、待機時間算出装置１は、増設指示部１３により予備系処理ノード２１の増設指示を行う。今回の例では、予備系処理ノード２１＿１〜２１＿ｍに対して増設指示が行われたとする。
【００５９】
次に、待機時間算出装置１は、待機時間算出部１４により待機時間を算出する（待機時間算出ステップ）。次に、待機時間算出装置１は、待機時間送信部１５により待機時間をユーザノード２２に送信する（待機時間送信ステップ）。次に、ユーザノード２２により、指定された待機時間後に処理要求を再送する。例えば、優先度の高いユーザはｒａｎｄ（Ｔ）後に、一般ユーザはＴ＋ｒａｎｄ（ｔ２）後に処理要求を再送する。この時点での状態を図１１に示す。
【００６０】
図１１に示す状態では、処理ノード２０＿２〜２０＿ｎ、及び新たに増設されて処理可能となった予備系処理ノード２１＿１〜２１＿ｍにて処理が実行されている。処理の負荷が減ってくると（例えば、Ｔ＋ｔ２後）、待機時間算出装置１は、減設指示部（不図示）により予備系処理ノード２１の減設指示を行う。この時点での状態を図１２に示す。図１２に示す状態では、予備系処理ノード２１＿１〜２１＿ｍが減設され、図１０に示す状態と同様に、処理ノード２０＿２〜２０＿ｎにて処理が実行されている。
【００６１】
図１３は、スマートフォンであるユーザノード２２のディスプレイにて、待機時間算出装置１の待機時間送信部１５により送信された待機時間を表示している場面を示す図である。図１３に示す通り、ユーザノード２２のディスプレイには、あとどのくらいの時間で復旧するかを示すメッセージＰ１や、残り時間を示すプログレスバーＰ２等が表示される。
【００６２】
次に、本実施形態のように構成された待機時間算出装置１の作用効果について説明する。
【００６３】
本実施形態の待機時間算出装置１によれば、処理システム２での障害の発生に伴う処理ノード２０の負荷発生時の処理不能ユーザ数に基づいて待機時間が算出される。つまり、負荷発生時の処理不能ユーザ数を考慮した待機時間が算出されるため、実際の状況に適した待機時間が算出される。これにより、障害が発生した際に処理要求を送信するまでの待機時間をより適切に算出することができる。
【００６４】
また、本実施形態の待機時間算出装置１によれば、処理不能ユーザ数と処理可能ユーザ数と増設時間とに基づいて予備系処理ノード２１増設の要否が判定されるため、実際の状況に適した予備系処理ノード２１増設の判定がなされる。
【００６５】
また、本実施形態の待機時間算出装置１によれば、処理不能ユーザ数と処理可能ユーザ数と予備系処理可能ユーザ数と増設時間とに基づいて待機時間が算出されるため、実際の状況に適した待機時間が算出される。これにより、障害が発生し、予備系処理ノード２１を増設した際の待機時間をより適切に算出することができる。
【００６６】
また、本実施形態の待機時間算出装置１によれば、優先順位に基づいてユーザノードの待機時間を変えることができ、処理システム２によるサービス提供の柔軟性を向上することができる。
【００６７】
また、本実施形態の待機時間算出装置１によれば、処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間の要否を判定されるため、実際の状況に適した待機時間要否の判定がなされる。
【００６８】
また、本実施形態の待機時間算出装置１によれば、予備系処理ノード２１の増設が不要であり、待機時間が必要であると判定された場合に、処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間が算出される。これにより、障害が発生し、予備系処理ノード２１の増設が不要であり、一定の待機時間が必要な場合の待機時間をより適切に算出することができる。
【００６９】
また、本実施形態の待機時間算出装置１によれば、処理不能ユーザ数と処理可能ユーザ数とに基づいて待機時間が算出される。これにより、例えば、障害が発生し、予備系処理ノード２１が存在しない場合の待機時間をより適切に算出することができる。
【００７０】
また、本実施形態の待機時間算出装置１によれば、処理不能ユーザ数と処理可能ユーザ数と物理予備系処理可能ユーザ数とに基づいて待機時間が算出される。これにより、例えば、障害が発生し、物理予備系処理ノードが存在する場合の待機時間をより適切に算出することができる。
【００７１】
また、本実施形態のユーザノード２２によれば、処理システム２での障害の発生に伴う処理ノード２０の負荷発生時の処理不能ユーザ数に基づいて算出された待機時間が、受信され、ディプレイに表示される。つまり、負荷発生時の処理不能ユーザ数を考慮した、実際の状況に適した待機時間がユーザノード２２のディスプレイに表示される。これにより、ユーザノード２２のユーザは、より適切に算出された、障害が発生した際に処理要求を送信するまでの待機時間を確認することができる。そのため、例えば、ユーザの「あとどのくらい待てばいいのかわからない」等のストレスを軽減することができ、ユーザの利便性を向上することができる。
【符号の説明】
【００７２】
１…待機時間算出装置、２…処理システム、３…待機時間算出システム、１０…システム情報取得部、１１…即時処理判定部、１２…増設判定部、１３…増設指示部、１４…待機時間算出部、１５…待機時間送信部、２０…処理ノード、２１…予備系処理ノード、２２…ユーザノード、２３…通信路。
【図１】
2015195520.tif 000009
【図２】
2015195520.tif 000010
【図３】
2015195520.tif 000011
【図４】
2015195520.tif 000012
【図５】
2015195520.tif 000013
【図６】
2015195520.tif 000014
【図７】
2015195520.tif 000015
【図８】
2015195520.tif 000016
【図９】
2015195520.tif 000017
【図１０】
2015195520.tif 000018
【図１１】
2015195520.tif 000019
【図１２】
2015195520.tif 000020
【図１３】
2015195520.tif 000021