(58)【調査した分野】(Int.Cl.,DB名)
ユーザが利用するユーザ端末に対してサービスを提供するサービスサーバと、前記ユーザ端末と前記サービスサーバとの間で送受信されるパケットを転送するネットワーク機器と、前記サービスサーバに障害が生じた際に当該障害の影響を受けたユーザを算出する障害影響ユーザ算出装置とを具備するコンピュータシステムにおける障害影響ユーザ算出装置であって、
前記サービスサーバに対するユーザのログイン及びログアウトの履歴を含むサービスサーバログに基づいて、前記サービスサーバに障害が検出された際に当該サービスサーバにログイン中のユーザを算出するログインユーザ算出部と、
前記ネットワーク機器において転送されるパケットの履歴を含むネットワーク機器ログに基づいて、前記サービスサーバに障害が検出された後に当該サービスサーバに対してサービスの利用を要求したユーザを算出する利用要求ユーザ算出部と、
前記ログインユーザ算出部が算出したユーザと、前記利用要求ユーザ算出部が算出したユーザとから、前記障害の影響を受けたユーザを算出する障害影響ユーザ算出部と
を備えることを特徴とする障害影響ユーザ算出装置。
ユーザが利用するユーザ端末に対してサービスを提供するサービスサーバと、前記ユーザ端末と前記サービスサーバとの間で送受信されるパケットを転送するネットワーク機器と、前記サービスサーバに障害が生じた際に当該障害の影響を受けたユーザを算出する障害影響ユーザ算出装置とを具備するコンピュータシステムにおける障害影響ユーザ算出装置が行う障害影響ユーザ算出方法であって、
前記サービスサーバに対するユーザのログイン及びログアウトの履歴を含むサービスサーバログに基づいて、前記サービスサーバに障害が検出された際に当該サービスサーバにログイン中のユーザを算出するログインユーザ算出ステップと、
前記ネットワーク機器において転送されるパケットの履歴を含むネットワーク機器ログに基づいて、前記サービスサーバに障害が検出された後に当該サービスサーバに対してサービスの利用を要求したユーザを算出する利用要求ユーザ算出ステップと、
前記ログインユーザ算出ステップにおいて算出したユーザと、前記利用要求ユーザ算出ステップにおいて算出したユーザとから、前記障害の影響を受けたユーザを算出する障害影響ユーザ算出ステップと
を有することを特徴とする障害影響ユーザ算出方法。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載されている技術を用いた場合、「障害の発生した装置に収容されているユーザ」を「障害の影響を受けたユーザ」としているので、実際にユーザがサービスの提供を受けていたか否かに拘わらずカウントすることになる。そのため、実際に障害の影響を受けていないユーザが「障害の影響を受けたユーザ」として扱われ、
「障害の影響を受けたユーザ」の数を多く算出することになってしまうという問題がある。
【0006】
本発明は、上記問題を解決すべくなされたもので、その目的は、ネットワークを介してユーザにサービスを提供するコンピュータシステムにおいて、発生した障害の影響を受けたユーザを推定する精度を向上させる障害影響ユーザ算出装置、及び障害影響ユーザ算出方法を提供することにある。
【課題を解決するための手段】
【0007】
上記問題を解決するために、本発明は、ユーザが利用するユーザ端末に対してサービスを提供するサービスサーバと、前記ユーザ端末と前記サービスサーバとの間で送受信されるパケットを転送するネットワーク機器と、前記サービスサーバに障害が生じた際に当該障害の影響を受けたユーザを算出する障害影響ユーザ算出装置とを具備するコンピュータシステムにおける障害影響ユーザ算出装置であって、前記サービスサーバに対するユーザのログイン及びログアウトの履歴を含むサービスサーバログに基づいて、前記サービスサーバに障害が検出された際に当該サービスサーバにログイン中のユーザを算出するログインユーザ算出部と、前記ネットワーク機器において転送されるパケットの履歴を含むネットワーク機器ログに基づいて、前記サービスサーバに障害が検出された後に当該サービスサーバに対してサービスの利用を要求したユーザを算出する利用要求ユーザ算出部と、前記ログインユーザ算出部が算出したユーザと、前記利用要求ユーザ算出部が算出したユーザとから、前記障害の影響を受けたユーザを算出する障害影響ユーザ算出部とを備えることを特徴とする障害影響ユーザ算出装置である。
【0008】
また、本発明は、上記に記載の発明において、前記障害影響ユーザ算出部は、前記ログインユーザ算出部が算出した第1のユーザと、前記利用要求ユーザ算出部が算出した第2のユーザとにおいて重複するユーザを検出し、第1のユーザの数と第2のユーザの数との加算結果から重複したユーザ数を減算して、前記障害の影響を受けたユーザの数を算出することを特徴とする。
【0009】
また、本発明は、上記に記載の発明において、前記ログインユーザ算出部は、前記サービスサーバログのうち、前記サービスサーバに障害が検出された時刻から予め定められた期間前の時刻までログインユーザ検出期間におけるユーザのログイン及びログアウトの履歴に基づいて、前記サービスサーバに故障が検出された際に前記サービスサーバにログイン中のユーザを算出することを特徴とする。
【0010】
また、本発明は、上記に記載の発明において、前記サービスサーバログは、ユーザが前記サービスサーバを利用した際のユーザ端末のアドレスを含み、ユーザが前記サービスサーバを利用する際に用いるログイン識別子とユーザ端末のアドレスとの対応関係を前記サービスサーバログに基づいて生成するアドレス・ログイン識別子対応情報算出部とを更に備え、前記利用要求ユーザ算出部は、前記アドレス・ログイン識別子対応情報算出部が算出する対応関係と、前記ネットワーク機器ログとに基づいて、前記サービスサーバに障害が生じた後に当該サービスサーバに対してサービスの利用を要求したユーザを算出することを特徴とする。
【0011】
また、本発明は、上記に記載の発明において、前記利用要求ユーザ算出部は、前記ネットワーク機器ログにおいて前記サービスサーバに故障が検出された後の履歴から前記サービスサーバ宛のパケットを検出し、検出したパケットの送信元のアドレスに対応するユーザを、前記サービスサーバに障害が生じた後に当該サービスサーバに対してサービスの利用を要求したユーザとして算出することを特徴とする。
【0012】
また、本発明は、上記に記載の発明において、前記ネットワーク機器ログにおいて前記サービスサーバに故障が検出された後の履歴から前記サービスサーバ宛のパケットを検出し、検出したパケットの送信元のアドレスが前記対応関係に存在しない場合、当該パケットに対して所定のユーザ数を前記サービスサーバに障害が生じた後に当該サービスサーバに対してサービスの利用を要求したユーザ数に加えることを特徴とする。
【0013】
また、本発明は、上記に記載の発明において、前記アドレス・ログイン識別子対応情報算出部は、前記サービスサーバログから、各ユーザが前記サービスサーバへの最近m(m≧1)回のログインにおいて利用したユーザ端末のアドレスを検出して、ログイン識別子とユーザ端末のアドレスとの対応関係を生成することを特徴とする。
【0014】
また、上記問題を解決するために、本発明は、ユーザが利用するユーザ端末に対してサービスを提供するサービスサーバと、前記ユーザ端末と前記サービスサーバとの間で送受信されるパケットを転送するネットワーク機器と、前記サービスサーバに障害が生じた際に当該障害の影響を受けたユーザを算出する障害影響ユーザ算出装置とを具備するコンピュータシステムにおける障害影響ユーザ算出装置が行う障害影響ユーザ算出方法であって、前記サービスサーバに対するユーザのログイン及びログアウトの履歴を含むサービスサーバログに基づいて、前記サービスサーバに障害が検出された際に当該サービスサーバにログイン中のユーザを算出するログインユーザ算出ステップと、前記ネットワーク機器において転送されるパケットの履歴を含むネットワーク機器ログに基づいて、前記サービスサーバに障害が検出された後に当該サービスサーバに対してサービスの利用を要求したユーザを算出する利用要求ユーザ算出ステップと、前記ログインユーザ算出ステップにおいて算出したユーザと、前記利用要求ユーザ算出ステップにおいて算出したユーザとから、前記障害の影響を受けたユーザを算出する障害影響ユーザ算出ステップとを有することを特徴とする障害影響ユーザ算出方法である。
【発明の効果】
【0015】
この発明によれば、サービスを提供するサービスサーバのサービスサーバログに基づいて、障害が検出された際にサービスサーバにログイン中のユーザを算出するとともに、ネットワーク機器のネットワーク機器ログに基づいて、障害が検出された後にサービスサーバに対してサービスの利用を要求したユーザを算出する。このように、サービスサーバログ及びネットワーク機器ログのようなユーザの操作に応じて得られる履歴に基づいて、障害の影響を受けたユーザを算出することにより、障害の影響を受けたユーザを推定する精度を向上させることができる。
【発明を実施するための形態】
【0017】
以下、図面を参照して、本発明に係る一実施形態における障害影響ユーザ算出装置、及び障害影響ユーザ算出方法を説明する。
【0018】
図1は、本実施形態における障害影響ユーザ算出装置1が用いられるコンピュータシステムの一例を示す図である。
コンピュータシステムは、障害影響ユーザ算出装置1と、監視サーバ2と、保守網3と、サービスシステム4A、4B、4Cと、サービス網5と、集約スイッチ6と、通信網7と、複数のユーザ端末8とを具備している。以下、サービスシステム4A、4B、4Cのいずれか、又は全てを示す場合にサービスシステム4という。
【0019】
ユーザ端末8は、通信網7を介して、サービスの提供を行う各サービスシステム4に接続されている。ユーザ端末8は、ユーザの操作を受け付けて、サービスの提供をサービスシステム4に要求したり、要求したサービスの結果を受信し表示したりする。
通信網7は、各ユーザ端末8と、各サービスシステム4が接続されているサービス網5に対するパケットのゲートウェイである集約スイッチ6とを接続している。通信網7は、例えば、公衆回線や、インターネットなどである。
【0020】
サービスシステム4は、それぞれがロードバランサ41、スイッチ42、及び複数のWebサーバ43を備えている。Webサーバ43は、ユーザの要求に応じてサービスを提供する。ロードバランサ41は、ユーザからの要求が各Webサーバ43において均等になるように、スイッチ42を制御してユーザからの要求を各Webサーバ43に振り分ける。サービスシステム4A、4B、4Cは、それぞれが異なるサービスをユーザに提供する。
【0021】
サービス網5は、各サービスシステム4と、集約スイッチ6と、保守網3とを接続するネットワークである。サービス網5は、例えば、サービスシステム4A、4B、4Cを用いてユーザにサービスを提供する事業者により設けられた専用のネットワークである。
集約スイッチ6は、ユーザが操作するユーザ端末8が接続されている通信網7と、サービス網5とを接続するネットワーク機器である。集約スイッチ6は、通信網7を介して、ユーザ端末8からサービスシステム4A、4B、4Cに対するパケットを受信し、受信したパケットを宛先アドレスに応じたサービスシステム4に転送する。また、集約スイッチ6は、要求されたサービスに対する応答や結果が含まれるパケットをサービスシステム4から受信し、受信したパケットを通信網7に転送する。
【0022】
保守網3は、サービス網5と、障害影響ユーザ算出装置1と、監視サーバ2と、サービス網5とを接続するネットワークである。保守網3は、サービス網5と同様に、サービスを提供する事業者が利用する専用のネットワークである。また、保守網3は、ユーザ端末8とサービスシステム4との間で送受信されるパケットを伝送するサービス網5と異なり、サービスシステム4を構成する機器や集約スイッチ6などのネットワーク機器と、障害影響ユーザ算出装置1及び監視サーバ2とを接続する専用のネットワークである。
【0023】
監視サーバ2は、各サービスシステム4がユーザ端末8を操作するユーザに対してサービスの提供を行えなくなる障害が発生しているか否かを判定する。サービスシステム4がサービスの提供を行えなくなる障害は、例えば、集約スイッチ6の故障や、各サービスシステム4に備えられているロードバランサ41やスイッチ42などの故障などである。
障害影響ユーザ算出装置1は、監視サーバ2がサービスシステム4における障害の発生を検出すると、当該障害の影響によりサービスシステム4からサービスの提供を受けられなかったユーザ、すなわち障害の影響を受けたユーザである障害影響ユーザの算出を行う。なお、以下の説明において「ユーザの算出」又は「ユーザを算出する」とは、ユーザを特定するとともに、特定したユーザ数を算出することである。
【0024】
図2は、本実施形態における障害影響ユーザ算出装置1の構成を示す概略ブロック図である。障害影響ユーザ算出装置1は、同図に示されるように、Webサーバログ記憶部11と、ネットワーク機器ログ記憶部12と、ログインユーザ記憶部13と、IPアドレス・ログインID対応情報記憶部14と、ログ収集部15と、ログインユーザ算出部16と、IPアドレス・ログインID対応情報算出部17と、利用要求ユーザ算出部18と、障害影響ユーザ算出部19とを備えている。
【0025】
Webサーバログ記憶部11には、ログ収集部15が各サービスシステム4に備えられているWebサーバ43から取得したWebサーバログが、Webサーバ43ごとに記憶される。
【0026】
図3は、本実施形態におけるWebサーバログ記憶部11に記憶されるWebサーバログの一例を示す図である。同図に示されるように、Webサーバログは、ログインIDと、Src_IPアドレスと、ログイン時間と、ログアウト時間とが対応付けられたイベント情報が時系列に並べられている情報である。ログインIDは、各サービスシステム4が提供するサービスを利用する際にユーザを識別する情報である。Src_IPアドレスは、対応するログインIDを用いてWebサーバ43に接続するユーザ端末8のIPアドレスである。ログイン時間は、対応するログインIDを用いてユーザがサービスシステム4にログインした時刻である。ログアウト時間は、対応するログインIDを用いてサービスシステム4にログインしていたユーザがログアウトした時刻である。例えば、Webサーバログに含まれるイベント情報は、ログインID「A2」と、Src_IPアドレス「S_2」と、ログイン時間「10:09」とが対応付けられている。
【0027】
図2に戻り、障害影響ユーザ算出装置1の構成の説明を続ける。
ネットワーク機器ログ記憶部12には、集約スイッチ6や各サービスシステム4に備えられているスイッチ42などのサービス網5に接続されているネットワーク機器からログ収集部15が取得したネットワーク機器ログがネットワーク機器ごとに記憶される。
【0028】
図4は、本実施形態におけるネットワーク機器ログ記憶部12に記憶されるネットワーク機器ログの一例を示す図である。同図に示されるように、ネットワーク機器ログは、Dst_IPアドレスと、Src_IPアドレスと、時間とが対応付けられたパケット情報が時系列に並べられている情報である。Dst_IPアドレスは、ネットワーク機器で転送されるパケットの宛先(送信先)を示すIPアドレスである。Src_IPアドレスは、ネットワーク機器で転送されるパケットの送信元を示すIPアドレスである。時間は、ネットワーク機器において、パケットが転送された時刻である。例えば、ネットワーク機器ログに含まれるパケット情報は、Dst_IPアドレス「D_2」と、Src_IPアドレス「N_2」と、時間「14:10」とが対応付けられている。
【0029】
図2に戻り、障害影響ユーザ算出装置1の構成の説明を続ける。
ログインユーザ記憶部13には、ログインユーザ算出部16が算出するログインユーザ情報がサービスシステム4ごと記憶される。ログインユーザ情報は、サービスシステム4それぞれにログイン中のユーザを示す情報であって、特定したログイン中の各ユーザに対応するログインIDと、ユーザ数を含む情報である。
【0030】
IPアドレス・ログインID対応情報記憶部14は、IPアドレス・ログインID対応情報算出部17が算出するIPアドレス・ログインID対応情報がサービスシステム4ごと記憶される。IPアドレス・ログインID対応情報は、サービスシステム4にユーザが過去にログインした際に用いたユーザ端末8のIPアドレス(Src_IPアドレス)から生成された情報であって、IPアドレスとログインIDとの対応関係を示す情報である。
【0031】
図5は、本実施形態におけるIPアドレス・ログインID対応情報算出部17に記憶されるIPアドレス・ログインID対応情報の一例を示す図である。IPアドレス・ログインID対応情報は、IPアドレスごとに、複数のログインIDが対応付けられた情報である。IPアドレス・ログインID対応情報におけるIPアドレスは、ユーザがサービスシステム4にログインした使用したユーザ端末8のIPアドレスである。IPアドレスに対応付けられたログインIDは、当該IPアドレスにより識別されるユーザ端末8を使用してサービスシステム4にログインしたユーザのログインIDである。例えば、同図に示すIPアドレス・ログインID対応情報において、IPアドレス「N_1」には、ログインID「A1」と「A5」とが対応付けられている。
【0032】
ここで、IPアドレス・ログインID対応情報算出部17がIPアドレス・ログインID対応情報を生成する手順について説明する。
図6は、本実施形態におけるIPアドレス・ログインID対応情報を生成する手順を示す概略図である。IPアドレス・ログインID対応情報算出部17は、ログ収集部15がWebサーバログ記憶部11のWebサーバログを更新するたびに、Webサーバログに含まれるログインIDに基づいてIPアドレス履歴情報を生成する。IPアドレス履歴情報は、Webサーバログに含まれるログインIDごとに、当該ログインIDに対応するユーザがサービスシステム4への最近m回のログインにおいて利用したユーザ端末8のIPアドレスである。
【0033】
IPアドレス・ログインID対応情報算出部17は、生成したIPアドレス履歴情報に含まれるIPアドレスごとに、当該IPアドレスを利用してログインしたユーザのログインIDを抽出する。IPアドレス・ログインID対応情報算出部17は、IPアドレスに、当該IPアドレスに基づいて抽出されたログインIDを対応付けて、各IPアドレスに紐づくログインID情報としてのIPアドレス・ログインID対応情報を生成する。
【0034】
図2に戻り、障害影響ユーザ算出装置1の構成の説明を続ける。
ログ収集部15は、各サービスシステム4A、4B、4Cに備えられているWebサーバ43からWebサーバログを定期的に取得し、取得したWebサーバログをWebサーバログ記憶部11に記憶させる。また、ログ収集部15は、集約スイッチ6やスイッチ42などのネットワーク機器からネットワーク機器ログを定期的に取得し、取得したネットワーク機器ログをネットワーク機器ログ記憶部12に記憶させる。
【0035】
ログインユーザ算出部16は、Webサーバログ記憶部11に記憶されているWebサーバログに基づいて、各サービスシステム4A、4B、4Cに備えられているWebサーバ43にログインしているユーザを算出する。ログインユーザ算出部16は、算出したユーザに対応するログインIDを含むログインユーザ情報をログインユーザ記憶部13に記憶させる。
【0036】
IPアドレス・ログインID対応情報算出部17は、Webサーバログ記憶部11に記憶されているWebサーバログに基づいて、IPアドレス・ログインID対応情報を生成する。IPアドレス・ログインID対応情報算出部17は、生成したIPアドレス・ログインID対応情報をIPアドレス・ログインID対応情報記憶部14に記憶させる。
【0037】
利用要求ユーザ算出部18は、ネットワーク機器ログ記憶部12に記憶されているネットワーク機器ログと、IPアドレス・ログインID対応情報記憶部14に記憶されているIPアドレス・ログインID対応情報とに基づいて、利用要求ユーザを算出する。利用要求ユーザは、障害が発生している期間においてサービスシステム4A、4B、4Cに対してサービスの利用を試みたと推定されるユーザである。
【0038】
障害影響ユーザ算出部19は、ログインユーザ記憶部13に記憶されているログインユーザ情報と、利用要求ユーザ算出部18が算出する利用要求ユーザとに基づいて、障害影響ユーザを算出する。障害影響ユーザは、障害が発生している期間において当該障害の影響によりサービスの利用ができなかったと推定されるユーザである。
【0039】
図7は、本実施形態における障害影響ユーザ算出装置1が行う障害影響ユーザ算出処理を示すフローチャートである。
監視サーバ2がサービスシステム4A、4B、4C、サービス網5、又は集約スイッチ6における障害を検出し、障害を検出したこと、当該障害によりサービスシステム4A、4B、4Cのうちサービスが提供できなくなったサービスシステムを示す情報、及び障害を検出した時刻を含む障害情報を障害影響ユーザ算出装置1に送信する。障害影響ユーザ算出装置1は、障害情報を受信すると、障害影響ユーザ算出処理を開始する。
【0040】
障害影響ユーザ算出装置1において、ログインユーザ算出部16は、Webサーバログ記憶部11に記憶されているWebサーバログを読み出す(ステップS101)。
ログインユーザ算出部16は、障害が検出された時刻に対して予め定められた期間前(例えば、X分前)の時刻から障害が検出された時刻までのログインユーザ検出期間におけるイベント情報を、読み出したWebサーバログから抽出する(ステップS102)。ここで、予め定められた期間であるログインユーザ検出期間は、サービスシステム4において提供されるサービスに応じて定められる。例えば、ログインユーザ検出期間は、サービスシステム4が提供するサービスの平均利用時間に所定のマージン時間を加えた期間として定められる。
ログインユーザ算出部16は、抽出したイベント情報に基づいて、障害が検出された時刻において、サービスが提供できなくなったサービスシステム4にログイン中であったユーザを算出し、ログイン中のユーザ数(N)を算出する(ステップS103)。
【0041】
利用要求ユーザ算出部18は、ネットワーク機器ログ記憶部12からネットワーク機器ログを読み出す(ステップS104)。
利用要求ユーザ算出部18は、障害が検出された時刻から現在まで、又は障害が検出された時刻から障害が解消されるまでの時刻におけるパケット情報を、読み出したネットワーク機器ログから抽出する(ステップS105)。
利用要求ユーザ算出部18は、抽出したパケット情報のうち、障害の発生によりサービスを提供できなくなったサービスシステム4に割り当てられているIPアドレスを宛先とするパケット情報を抽出する(ステップS106)。
【0042】
利用要求ユーザ算出部18は、IPアドレス・ログインID対応情報に記憶されているIPアドレス・ログインID対応情報を読み出す(ステップS107)。
利用要求ユーザ算出部18は、ステップS106において抽出したパケット情報に含まれる送信元のIPアドレス(Src_IPアドレス)ごとに、当該IPアドレスが読み出したIPアドレス・ログインID対応情報に存在するか否かを判定する(ステップS108)。
【0043】
送信元のIPアドレスがIPアドレス・ログインID対応情報に存在する場合(ステップS108:Yes)、利用要求ユーザ算出部18は、送信元のIPアドレスに対応するログインIDを抽出する(ステップS109)。
一方、送信元のIPアドレスがIPアドレス・ログインID対応情報に存在しない場合(ステップS108:No)、利用要求ユーザ算出部18は、送信元のIPアドレスに対応するログインIDを不明として抽出する(ステップS110)。
利用要求ユーザ算出部18は、ステップS108からステップS110までの処理を、ステップS106において抽出したパケット情報の送信元のIPアドレスごとに繰り返して行う。
【0044】
利用要求ユーザ算出部18は、ステップS109において抽出したログインIDと、ステップS110において不明とされたIPアドレスの数とに基づいて、利用要求ユーザと、利用要求ユーザの数とを算出し、利用要求ユーザと利用要求ユーザ数(M)とを含む利用要求ユーザ情報を障害影響ユーザ算出部19に出力する(ステップS111)。
利用要求ユーザ情報は、利用要求ユーザそれぞれを示すログインIDと、利用要求ユーザ数とを含む情報である。利用要求ユーザは、障害が発生している期間において、当該障害によりサービスを提供できないサービスシステム4に対してサービスの要求を行ったと推定されるユーザである。利用要求ユーザは、ステップS109において抽出されたログインIDとして算出される。また、利用要求ユーザの数(M)は、ステップS109において抽出されたログインIDの数と、ステップS110においてログインIDが不明とされたIPアドレスの数とを加算した数である。
【0045】
障害影響ユーザ算出部19は、ログインユーザ記憶部13に記憶されているログインユーザ情報を読み出し、読み出したログインユーザ情報に含まれるログインIDと、利用要求ユーザ算出部18が算出した利用要求ユーザとにおいて重複するログインIDを検出し、検出したログインID数(L)を算出する(ステップS112)。
障害影響ユーザ算出部19は、ログインユーザ情報に含まれるログインIDの数(N)と、利用要求ユーザ情報に含まれるログインIDの数(M)とを加算した加算結果から、重複するログインIDの数(L)を減算した結果(N+M−L)を障害影響ユーザの数として算出する(ステップS113)。
【0046】
障害影響ユーザ算出部19は、障害が発生しているサービスシステム4の総ログインID数より、算出した障害影響ユーザの数(N+M−L)が小さいか否かを判定し(ステップS114)、障害影響ユーザ数が総ログインID数より小さい場合(ステップS114:Yes)、障害影響ユーザのログインIDと、障害影響ユーザ数とを含む障害影響ユーザ情報を出力して、障害影響ユーザ算出処理を終了する。障害影響ユーザのログインIDは、ログインユーザ情報に含まれるログインIDと、利用要求ユーザ情報に含まれるログインIDとの和集合である。
一方、障害影響ユーザ数が総ログインID数以上である場合(ステップS114:No)、障害影響ユーザ算出部19は、障害が発生しているサービスシステム4に対する全てのログインIDと、総ログインID数とを含む障害影響ユーザ情報を出力して、障害影響ユーザ算出処理を終了する。
【0047】
ここで、上述の障害影響ユーザ算出処理の具体例を、
図3から
図5において示したWebサーバログ、ネットワーク機器ログ、及びIPアドレス・ログインID対応情報を用いて説明する。この説明では、サービスの提供ができなくなる障害が時刻14:00にサービスシステム4Aにおいて生じたものとする。
監視サーバ2がサービスシステム4Aにおける障害を検出すると、障害影響ユーザ算出装置1において、ログインユーザ算出部16は、Webサーバログ記憶部11に記憶されているWebサーバログ(
図3)を読み出して、障害が検出された時刻(14:00)においてログイン中のユーザ「ログインID:A2」、「ログインID:A3」、及び「ログインID:A4」と、ユーザ数「3」とを算出する。
【0048】
利用要求ユーザ算出部18は、ネットワーク機器ログ記憶部12に記憶されているネットワーク機器ログ(
図4)において、障害が検出された時刻(14:00)より後のパケット情報のうち、サービスシステム4AのIPアドレス(D_1)を宛先アドレスとするパケット情報を抽出する。
【0049】
図8は、利用要求ユーザ算出部18がネットワーク機器ログ(
図4)から抽出したパケット情報を示す図である。同図に示されるように、宛先アドレス(Dst_IPアドレス)が「D_1」であるパケット情報を利用要求ユーザ算出部18はネットワーク機器ログから抽出する。抽出したパケット情報に含まれる送信元のIPアドレス(Src_IPアドレス)「N_1」、「N_4」、「N_5」、「N_7」、及び「N_10」に対応するユーザ端末8からサービスの利用を試みたと推定される。すなわち、サービスシステム4Aにおいてサービスの提供ができない期間であるサービス断発生期間において、上記のSrc_IPアドレスに対応するユーザ端末8を操作して、ユーザがサービスの利用を試みたと推定される。
【0050】
利用要求ユーザ算出部18は、抽出したパケット情報に含まれるSrc_IPアドレス「N_1」、「N_4」、「N_5」、「N_7」、及び「N_10」がIPアドレス・ログインID対応情報(
図5)に含まれるか否かを判定し、Src_IPアドレスに対応するログインIDを抽出する。
図9は、利用要求ユーザ算出部18が抽出したログインIDと、各Src_IPアドレスとの対応を示す図である。同図に示されるように「N_1」、「N_5」、「N_7」、及び「N_10」には対応するログインIDが抽出され、IPアドレス・ログインID対応情報(
図5)に存在しないSrc_IPアドレス「N_4」には対応するログインIDがないと判定される。
【0051】
利用要求ユーザ算出部18は、
図9に示された抽出結果に基づいて、サービス断発生期間において、「ログインID:A1」、「ログインID:A2」、「ログインID:A3」、「ログインID:A5」、「ログインID:A11」、「ログインID:A12」、「ログインID:A16」と、履歴情報に基づいてログインIDを推定できなかった「ログインID:N/A」との8ユーザがサービスシステム4Aのサービス利用を試みたと推定する。
なお、ログインIDを推定できなかったSrc_IPアドレスに対するユーザ数を1ユーザとしてカウントしたが、1つのSrc_IPアドレスに対応するログインID数の平均値(平均ユーザ数)を用いて、ユーザ数を推定してもよい。また、ログインIDを推定できなかったSrc_IPアドレスと同じセグメントに属するSrc_IPアドレスに対応するログインID数の平均値(平均ユーザ数)を用いて、ユーザ数を推定してもよい。
【0052】
利用要求ユーザ算出部18は、「ログインID:A1」、「ログインID:A2」、「ログインID:A3」、「ログインID:A5」、「ログインID:A11」、「ログインID:A12」、「ログインID:A16」と、ユーザ数「8」とを含む利用要求ユーザ情報を障害影響ユーザ算出部19に出力する。
【0053】
障害影響ユーザ算出部19は、ログインユーザ情報に含まれるユーザのログインID「A2」、「A3」、及び「A4」と、利用要求ユーザ算出部18から入力された利用要求ユーザ情報に含まれるユーザのログインID「A1」、「A2」、「A3」、「A5」、「A11」、「A12」、「A16」とにおいて重複するログインID「A2」及び「A3」を算出する。障害影響ユーザ算出部19は、ログインユーザ情報のユーザ数(N)「3」と、利用要求ユーザ情報のユーザ数(M)「8」とを加算した結果「11」から、重複するログインIDのユーザ数(L)「2」を減算して得られた結果「9」を、サービス断発生期間においてサービスを受けられなかったユーザ数とする。また、ログインIDが「A1」、「A2」、「A3」、「A4」、「A5」、「A11」、「A12」、及び「A16」であるユーザは、サービス断発生期間においてサービスを受けられなかった障害影響ユーザとする。
すなわち、障害影響ユーザ算出部19は、障害影響ユーザを示すログインID「A1」、「A2」、「A3」、「A4」、「A5」、「A11」、「A12」、及び「A16」と、障害影響ユーザ数「9」とを含む障害影響ユーザ情報を出力する。
【0054】
上述のように、障害影響ユーザ算出装置1は、サービス及びサービスを提供するコンピュータシステムの障害発生期間において、その障害による影響を受けるユーザを算出する。特に、障害影響ユーザ算出装置1は、ログイン操作を伴うWeb系サービスのコンピュータシステムにおいて、そのサービス断発生期間において影響を受けるユーザ、及びそのユーザ数を算出する。
障害影響ユーザ算出装置1は、ネットワーク機器ログに基づいて、サービス断発生期間においてサービスの利用を試みたユーザ及びユーザ数を推定し、サービス断発生時におけるログイン中のユーザと、推定したユーザとを障害による影響を受けたユーザとして算出する。
【0055】
このように、障害影響ユーザ算出装置1は、Webサーバ43、及びネットワーク機器(集約スイッチ6や、スイッチ42)の複数のログを組み合わせて、障害の影響を受けたユーザ(障害影響ユーザ)を算出し、更に重複するユーザを除外してカウントする。これにより、障害影響ユーザと、その数を算出する精度を向上させることができる。その結果、障害影響ユーザを、障害が発生したシステム又は装置が収容するユーザ数として実際に影響を受けたユーザ数よりも多く見積もる場合に比べ、より精度が高い見積もりを行うことができる。
【0056】
例えば、障害影響ユーザ算出装置1を通信キャリアが運営する通信システムに適用すると、通信システムにおいて障害が発生した場合に、通信システムの全契約者数を障害影響ユーザとして公表する必要がなくなり、過剰な影響範囲の公表に伴う社会的信頼の失墜に至る可能性を抑えることができる。また、実際の障害影響ユーザ数に近い値の障害影響ユーザ数を公表できるようになり、障害の公表に伴うインパクトを軽減でき、社会的信頼の失墜につながる可能性を低くすることができる。
【0057】
また、障害影響ユーザ算出装置1をSaaS(Software as a Service)事業者が運営するシステムに適用すると、当該システムにおいて障害が発生した場合に、障害の影響を受けたユーザを特定することができるので、全てのユーザに対して謝罪、補償などの対応が必要となる事態に至る可能性を低くすることができる。また、実際に影響を受けたと推定される障害影響ユーザに対して謝罪、補償の対応を行うことができ、対応コストの軽減と顧客満足度の低下防止が期待される。
【0058】
また、障害影響ユーザ算出装置1を広告用Webサイト等の運営するシステムに適用することにより、広告用Webサイト等のサービスに対してSLA(Service Level Agreement)を設定し、障害発生によるサービス断発生期間に加えて、障害影響ユーザ数も補償対象に加えることができる。これにより、クリック保証型、インプレッション型等の広告に対してより正確なビジネスリスクに見合った補償を行うことができる。
【0059】
また、障害影響ユーザ算出処理のステップS102において、ログインユーザ算出部16は、ログインユーザ検出期間におけるイベント情報に基づいて、ログイン中のユーザを検出する。これにより、障害影響ユーザ算出装置1は、サービスシステム4にログインしたものの、サービスの提供を受けていないと推定されるユーザを省いてカウントすることができ、障害による影響を受けたユーザを算出する精度を向上させることができる。
【0060】
また、利用要求ユーザ算出部18は、サービス断発生期間においてサービスの利用を試みたユーザを集約スイッチ6などのネットワーク機器ログを用いて算出する。これにより、ロードバランサ41を用いて、Webサーバ43とログインIDとの対応関係が動的に変化するサービスシステム4においても、障害影響ユーザを算出する精度を向上させることができる。
【0061】
また、利用要求ユーザ算出部18は、ステップS106において抽出したSrc_IPアドレスがIPアドレス・ログインID対応情報に存在しない場合においても、ステップS110において当該Src_IPアドレスを障害影響ユーザの算出に反映させるようにしている。これにより、より精度の高い障害影響ユーザの算出を行うことができる。
【0062】
また、IPアドレス・ログインID対応情報算出部17は、直近m回のログインにおいて用いられたユーザ端末8のIPアドレスを用いて、IPアドレス・ログインID対応情報を生成する。これにより、IPアドレスを動的に割り当てる環境におけるユーザ端末8からアクセスされる状況においても、直近のWebサーバログに基づいて適切にIPアドレスとログインIDとの対応関係を取得することができ、障害影響ユーザを算出する精度を向上させることができる。
【0063】
なお、本発明における障害影響ユーザ算出装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより障害影響ユーザ算出処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0064】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。