トラフィック情報管理サーバ及びトラフィック情報管理方法
【課題】複数台の実行制御サーバを並列に実行したとしてもシステム全体でリクエストを監視することができ、サービスコンポーネントへのリクエスト処理量を向上することができる。
【解決手段】トラフィック情報管理サーバ10は、実行制御サーバ1,2,3から収集したトラフィック情報を集計するトラフィック集計機能部12と、集計したトラフィック情報に基づいて閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部14と、集計したトラフィック情報に基づいて特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部15と、閉塞状態にするサービスコンポーネント又は一時利用不可能にするユーザをプロファイルサーバ9に通知するリアクション機能部16と、を備える。
【解決手段】トラフィック情報管理サーバ10は、実行制御サーバ1,2,3から収集したトラフィック情報を集計するトラフィック集計機能部12と、集計したトラフィック情報に基づいて閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部14と、集計したトラフィック情報に基づいて特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部15と、閉塞状態にするサービスコンポーネント又は一時利用不可能にするユーザをプロファイルサーバ9に通知するリアクション機能部16と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、トラフィック情報管理サーバ及びトラフィック情報管理方法に関する。
【背景技術】
【0002】
現在、ウェブサービス等のサービスコンポーネントを連携利用することで、新たなサービスを容易に実現する試みがある。
非特許文献1に記載された技術では、電話サービスとウェブサービスとを連携するシステムにおいて、実行制御サーバがユーザ認証やトラフィック制御などの共通処理を一括して行っている。
また、非特許文献2に記載された技術では、サービスコンポーネントに対するリクエストを処理する複数台のサーバをクラスタ化している。
【非特許文献1】山登庸次、大西浩行、中野雄介、“電話−ウェブ連携を促進する実行制御機能の検討”電子情報通信学会2008年総合大会講演論文集、B-19-10、Mar.2008.
【非特許文献2】“Oracle Communications Services Gatekeeper”、[online]、Oracle、[2008年11月04日検索]、インターネット〈URL:http://www.oracle.com/industries/communications/oracle-communications-services-gatekeeper.html〉
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、非特許文献1では、1台の実行制御サーバ単体での運用を想定しているため、実行制御サーバを複数台用いた場合には、ユーザからサービスコンポーネントへのリクエストをシステム全体で監視することができない、という問題がある。
例えば、あるユーザaがサービスコンポーネントAを1日に使用できる回数が100回と設定されていたときに、ユーザaが実行制御サーバ1で30回、実行制御サーバ2で80回、実行制御サーバ3で60回サービスコンポーネントAを使用した場合であっても、1日の使用制限回数100回を超えているユーザとしてユーザaを検出することはできなかった。
また、非特許文献2では、全てのデータをサーバ間で通信して同期を取っているため、その通信コストからクラスタ化しても性能向上する効果が少ない、という問題がある。
本発明は上記の点に鑑みてなされたものであり、その目的は、複数台の実行制御サーバを並列に実行したとしてもシステム全体でリクエストを監視することができ、サービスコンポーネントへのリクエスト処理量を向上することができるトラフィック情報管理サーバ及びトラフィック情報管理方法を提供することにある。
【課題を解決するための手段】
【0004】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、実行制御サーバから、ユーザからのサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と前記サービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を受信するトラフィック収集機能部と、前記トラフィック収集機能部により受信された前記トラフィック情報を集計するトラフィック集計機能部と、前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント利用不能率監視機能部と、前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部と、前記サービスコンポーネント利用不能率監視部により抽出された前記サービスコンポーネントに対し、前記サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグの更新要求を外部に送信するサービスコンポーネント閉塞機能部と、前記ユーザ監視機能部により抽出されたユーザを、前記特定のサービスコンポーネントに対して一時利用不可能になっているユーザの一覧であるブラックリストに追加する更新要求を外部に送信するユーザ閉塞機能部と、を備えることを特徴とするトラフィック情報管理サーバである。
【0005】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記サービスコンポーネント利用不能率監視機能部により抽出されたサービスコンポーネントを閉塞状態にしたことを当該サービスコンポーネントを提供するサービスコンポーネントサーバに通知する第1のアラーム通知機能部と、前記ユーザ監視機能部により抽出されたユーザを前記特定のサービスコンポーネントに対して一時利用不可能にしたことを当該ユーザの端末に通知する第2のアラーム通知機能部と、を備えることを特徴とする。
【0006】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記トラフィック情報は、サービスコンポーネントからの応答時間の状況を表す応答時間情報を含み、前記サービスコンポーネント情報は、サービスコンポーネントへのリクエストを一律に一定の時間遅延させるフロー制御を行うか否かを表すフロー制御フラグを含み、前記トラフィック集計機能部により集計された前記応答時間情報に基づいて、フロー制御を行うサービスコンポーネントを抽出する応答遅延監視機能部と、前記応答遅延監視機能部により抽出されたサービスコンポーネントに対応する前記フロー制御フラグの更新要求を外部に送信するフロー規制機能部と、を備えることを特徴とする。
【0007】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記応答遅延監視機能部により抽出されたサービスコンポーネントへのリクエストを一律に一定の時間遅延させていることを当該サービスコンポーネントを提供するサービスコンポーネントサーバに通知する第3のアラーム通知機能部を備えることを特徴とする。
【0008】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記ユーザ監視機能部は、前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの数に基づいて、一時利用不可能にするユーザを抽出することを特徴とする。
【0009】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの数と当該リクエストに対するエラーの数とに基づいて、一時利用不可能にするユーザを抽出することを特徴とする。
【0010】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの平均サイズに基づいて、一時利用不可能にするユーザを抽出することを特徴とする。
【0011】
また、本発明の一態様は、前トラフィック収集機能部が、実行制御サーバから、ユーザからのサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と前記サービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を受信するステップと、トラフィック集計機能部が、前記トラフィック収集機能部により受信された前記トラフィック情報を集計するステップと、サービスコンポーネント利用不能率監視機能部が、前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するステップと、ユーザ監視機能部が、前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するステップと、サービスコンポーネント閉塞機能部が、前記サービスコンポーネント利用不能率監視部により抽出された前記サービスコンポーネントに対し、前記サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグの更新要求を外部に送信するステップと、ユーザ閉塞機能部が、前記ユーザ監視機能部により抽出されたユーザを、前記特定のサービスコンポーネントに対して一時利用不可能になっているユーザの一覧であるブラックリストに追加する更新要求を外部に送信するステップと、を有することを特徴とするトラフィック情報管理方法である。
【発明の効果】
【0012】
本発明によれば、トラフィック情報管理サーバが、複数の実行制御サーバからトラフィック情報を収集して集計して閉塞状態にするサービスコンポーネント及び特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出しているため、実行制御サーバが複数台並列して処理を行ってもシステム全体としてトラフィック情報の整合性を保つことができる。
また、実行制御サーバが複数台並列してサービスコンポーネントへのリクエスト処理を行っているため、単位時間におけるサービスコンポーネントへのリクエスト処理量を向上することができる。
また、各サービスコンポーネントにおける共通処理を一括して実行制御サーバが行っているため、サービス事業者側のサービスコンポーネント以外の機能(非機能要件)実装にかかる投資及び経費費用を軽減することができる。
また、実行制御サーバ1,2,3は、閉塞状態にあるサービスコンポーネントへのリクエストを遮断することにより、障害が発生したサービスコンポーネントサーバの影響が他のサービスコンポーネントへの波及を防ぐことができる。
【発明を実施するための最良の形態】
【0013】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態によるサービスコンポーネント管理システムの構成を示すブロック図である。
サービスコンポーネント管理システムは、実行制御サーバクラスタ4と、トラフィック情報管理サーバ10と、プロファイルサーバ9と、トラフィック情報データベース17と、サービスリクエスタ端末5,6,7と、複数のサービスコンポーネントサーバ18と、を含んで構成される。
サービスリクエスタ端末5,6,7と実行制御サーバクラスタ4及び、実行制御サーバクラスタ4とサービスコンポーネントサーバ18とは、ネットワーク8を介してメッセージの送受信を行う。ネットワーク8は、電話交換等の通信ネットワーク、或いはインターネット等の情報ネットワーク、或いはサービス制御層とパケット転送層とを有するNGN(Next Generation Network)、或いは移動体ネットワーク等からなるネットワークである。
【0014】
サービスコンポーネントサーバ18は、サービスリクエスタ端末5,6,7に複数のサービスコンポーネントを提供するサーバ装置である。サービスコンポーネントとは、サービス事業者提供するウェブサービスや電話サービスなどのサービスである。
サービスリクエスタ端末5,6,7は、複数のサービスコンポーネントが連携してなるサービスを利用するユーザ(リクエスタ)が使用する端末である。
【0015】
トラフィック情報データベース17は、トラフィック情報の集計結果を記憶保持するデータベースであり、サービスコンポーネントテーブルと、オペレーションテーブルと、オペレーション−ユーザテーブルと、ユーザテーブルとを保持している。トラフィック情報とは、サービスコンポーネントテーブルと、オペレーションテーブルと、オペレーション−ユーザテーブルと、ユーザテーブルにおける各項目をトラフィック情報生成時間毎に集計した情報である。また、オペレーション−ユーザテーブル及びユーザテーブルの各項目が、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報である。また、サービスコンポーネントテーブルの各項目が、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報である。また、オペレーションテーブルの各項目が、特定のサービスコンポーネントからの応答時間の状況を表す応答時間情報である。
【0016】
プロファイルサーバ9は、ユーザ情報とサービスコンポーネント情報とを保持するサーバ装置であり、サービスコンポーネント情報テーブルと、サービスコンポーネント閾値情報テーブルと、オペレーション閾値情報テーブルを保持している。
【0017】
実行制御サーバクラスタ4は、実行制御サーバ1,2,3群である。
実行制御サーバ1,2,3は、各サービスコンポーネントの共通処理を行うサーバ装置である。各サービスコンポーネントの共通処理とは、ユーザ認証や各サービスコンポーネントに応じたトラフィック制御などであり、サービスリクエスタ端末5,6,7から受信したサービスコンポーネントへのリクエストをサービスコンポーネントサーバ18に転送する。また、実行制御サーバ1,2,3は、トラフィック情報生成時間(例えば毎時00分からの3分周期)毎にトラフィック情報を生成してトラフィック情報管理サーバ10に送信する。なお、サービスリクエスタ5,6,7からのリクエストは図示しないロードバランサーにより、ラウンドロビンアルゴリズムや実行制御サーバ1,2,3のCPU(中央演算装置)使用率に応じて実行制御サーバ1,2,3に振り分けられる。
【0018】
トラフィック情報管理サーバ10は、各サービスコンポーネントへの負荷状況を監視するサービスコンポーネント品質監視制御を行うサーバ装置である。トラフィック情報管理サーバ10の機能構成は後述する。
【0019】
図2は、本実施形態におけるサービスコンポーネントテーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネントテーブルは、年月日と、時と、サービスIDと、リクエスト数と、エラー数の各項目の列を有している。時は、時間を示しており、例えば、時「10」は、10時00分から10時59分までを表す。サービスIDは、サービスコンポーネントを識別する識別情報である。リクエスト数は、サービスコンポーネント宛に送信されたリクエストの数である。エラー数は、サービスリクエスト宛に送信されたリクエストに対するエラーの数であり、認証NGと、認可NGと、応答タイムアウトの各項目を有している。認証NGは、ユーザ認証されなかった場合のエラーである。認可NGは、例えばユーザにサービスコンポーネントの使用権限がない場合のエラーである。応答タイムアウトは、リクエストに対するレスポンスが一定時間内に返されなかった場合のエラーである。
【0020】
図3は、本実施形態におけるオペレーションテーブルのデータ構造とデータ例を示す概略図である。オペレーションテーブルは、年月日と、時と、サービスIDと、オペレーション名と、レスポンス数と、応答時間合計の各項目の列を有している。オペレーション名は、サービスコンポーネントのオペレーション(例えば、電話サービスの場合、発呼、着信等)の名称である。レスポンス数は、リクエストに対するレスポンスの数である。応答時間合計は、実行制御サーバ1,2,3がリクエストを送信してからレスポンスを受信するまでの応答時間の合計値であり、単位はミリ秒(ms)である。
【0021】
図4は、本実施形態におけるオペレーション−ユーザテーブルのデータ構造とデータ例を示す概略図である。オペレーション−ユーザテーブルは、年月日と、時と、サービスIDと、オペレーション名と、ユーザIDと、リクエスト数の各項目の列を有している。ユーザIDは、ユーザを識別するための識別情報である。
【0022】
図5は、本実施形態におけるユーザテーブルのデータ構造とデータ例を示す概略図である。ユーザテーブルは、年月日と、時と、ユーザIDと、リクエスト数と、エラー数の各項目の列を有している。
【0023】
図6は、本実施形態におけるサービスコンポーネント情報テーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネント情報テーブルは、サービスコンポーネント情報として、サービスIDと、フロー規制フラグと、閉塞フラグ(サービスコンポーネント閉塞フラグ)と、ブラックリストの各項目の列を有している。フロー規制フラグは、そのサービスコンポーネントにフロー制御があるか否かを示すフラグであり、フロー規制フラグ「1」はフロー規制があることを表し、フロー規制フラグ「0」はフロー規制がないことを表す。閉塞フラグは、サービスコンポーネントが閉塞状態(利用できない状態)にあるか否かを示すフラグであり、閉塞フラグ「1」は閉塞状態であることを表し、閉塞フラグ「0」は閉塞状態ではないことを表す。ブラックリストは、サービスコンポーネントを一時利用不可能になっているユーザのユーザIDの一覧である。
【0024】
図7は、本実施形態におけるサービスコンポーネント閾値情報テーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネント閾値情報テーブルは、サービスIDと、サービス利用不能率閾値と、エラー閾値と、サイズ閾値との各項目の列を有している。サービス利用不能率閾値は、サービスが利用不能になる率に関する閾値である。エラー閾値は、エラーの割合に関する閾値である。サイズ閾値は、リクエストのサイズに関する閾値である。
【0025】
図8は、本実施形態におけるオペレーション閾値情報テーブルのデータ構造とデータ例を示す概略図である。オペレーション閾値情報テーブルは、サービスIDと、オペレーション名と、レート閾値と、平均応答時間閾値との各項目の列を有している。オペレーション名は、サービスコンポーネントのオペレーション(例えば、電話サービスの場合、発呼、着信等)の名称である。レート閾値は、1ユーザがレート監視周期(例えば1日)にサービスコンポーネントに送信可能なリクエスト数の閾値である。平均応答時間閾値は、リクエストに対する平均応答時間に関する閾値である。
【0026】
図9は、本実施形態におけるトラフィック情報管理サーバ10の機能構成を示すブロック図である。
トラフィック情報管理サーバ10は、複数の実行制御サーバ1,2,3からトラフィック情報を収集して集計を行い、全てのトラフィック情報を集約することで、サービスコンポーネント品質監視制御を行う。これにより、システム全体の整合を取ることができ、かつ、サービスコンポーネント品質監視制御の不整合を防ぐことができる。トラフィック情報管理サーバ10は、トラフィック収集機能部11と、トラフィック集計機能部12と、監視実行制御機能部13と、サービスコンポーネント監視機能部14と、ユーザ監視機能部15と、リアクション機能部16と、タイマ(Timer)23と、を含んで構成される。監視実行制御機能部13と、サービスコンポーネント監視機能部14と、ユーザ監視機能部15と、リアクション機能部16とにおける処理がサービスコンポーネント監視制御である。
【0027】
トラフィック収集機能部11は、実行制御サーバ1,2,3からトラフィック情報をポーリングにてトラフィック情報生成時間(例えば3分)毎に収集し、トラフィック集計機能部12に出力する。
トラフィック集計機能部12は、入力された複数のトラフィック情報を集計する。具体的には、トラフィック集計機能部12は、サービスコンポーネント毎にリクエスト数とエラー数とをカウントする。また、トラフィック集計機能部12は、オペレーション毎にレスポンス数と応答時間合計とをカウントする。また、トラフィック集計機能部12は、オペレーションとユーザの組毎にリクエスト数をカウントする。また、トラフィック集計機能部12は、ユーザ毎にリクエスト数とエラー数とリクエストメッセージ合計とをカウントする。そして、トラフィック集計機能部12は、トラフィック情報が生成された年月日時とともにカウントした値をトラフィック情報データベース17に送信して記憶させる。
【0028】
監視実行制御機能部13は、一定時間或いは一定周期でサービスコンポーネント監視機能部14とユーザ監視機能部15とに独立に処理を行わせる機能である。また、サービスコンポーネント監視機能部14及びユーザ監視機能部15における処理がサービスコンポーネント監視制御である。具体的には、監視実行制御機能部13は、サービスコンポーネント監視周期(例えば1時間)毎にサービスコンポーネント監視機能部14のサービスコンポーネント利用不能率機能部24及び応答遅延監視機能部25に処理を行わせる。また、監視実行制御機能部13は、ユーザ監視周期(例えば3分)毎にユーザ監視機能部15のレート監視機能部26とエラー率監視機能部27とメッセージサイズ監視機能部28とに処理を行わせる。
タイマー23は、監視実行制御機能部13にサービスコンポーネント監視周期及びユーザ監視周期を通知する。
【0029】
サービスコンポーネント監視機能部14は、閉塞状態にするサービスコンポーネント又はフロー規制状態にするサービスコンポーネントを抽出する機能であり、サービスコンポーネント利用不能率監視機能部24と応答遅延監視機能部25とを有している。
【0030】
サービスコンポーネント利用不能率監視機能部24は、サービスコンポーネントのレスポンス数が許容範囲か否かを監視する機能であり、各サービスコンポーネントに対して以下の処理を実行する。まず。サービスコンポーネント利用不能率機能部24は、プロファイルサーバ9からサービスコンポーネントに対応するサービス利用不能率閾値を取得し、トラフィック情報データベース17のサービスコンポーネントテーブルからサービスコンポーネント利用不能率監視周期(例えば1時間)におけるこのサービスコンポーネントのリクエスト数と応答タイムアウトのエラー数とを取得する。そして、サービスコンポーネント利用不能率機能部24は、取得したリクエスト数に対するエラー数の割合(エラー率)がサービス利用不能率閾値を超えているか否かを判定する。エラー率がサービス利用不能率閾値より大きい場合に、このサービスコンポーネントを閉塞状態にすると判定し、監視実行制御機能部13を介してリアクション機能部16にその旨を通知する。
【0031】
応答遅延監視機能部25は、各サービスコンポーネントのオペレーションに対して以下の処理を実行する。まず、応答遅延監視機能部25は、プロファイルサーバ9からオペレーションに対応する平均応答時間閾値を取得し、トラフィック情報データベース17のオペレーションテーブルから応答遅延監視周期(例えば1時間)におけるオペレーションの応答時間合計及びレスポンス数を取得する。そして、応答遅延監視機能部25は、応答時間合計をレスポンス数で除算した値(平均応答時間)が平均応答時間閾値より大きいか否かを判定する。平均応答時間が平均応答時間閾値より大きい場合に、応答遅延監視機能部25は、このサービスコンポーネントをフロー規制状態にすると判定し、監視実行制御機能部13を介してリアクション機能部16にその旨を通知する。
【0032】
ユーザ監視機能部15は、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出する機能であり、レート監視機能部26とエラー率監視機能部27とメッセージサイズ監視機能部28とを有している。
【0033】
レート監視機能部26は、あるユーザのサービスコンポーネントへのリクエスト数が利用制限回数を越えていないか否かを監視する機能であり、ユーザとオペレーションの組毎に以下の処理を行う。レート監視機能部26は、プロファイルサーバ9からオペレーションに対するレート閾値を取得し、各ユーザからそのオペレーションへのレート監視周期(例えば本日の0時から24時まで)におけるリクエスト数をトラフィック情報データベース17のオペレーション−ユーザテーブルから取得する。次に、レート監視機能部26は、リクエスト数がレート閾値より大きいユーザを抽出する。そして、レート監視機能部26は、リクエスト数がレート閾値より大きいユーザをそのオペレーションのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部13を介してリアクション機能部16にその旨を通知する。
【0034】
エラー率監視機能部27は、ユーザがサービスコンポーネントを不正に使用していないか否かをチェックする機能であり、ユーザとサービスコンポーネントの組ごとに以下の処理を行う。エラー率監視機能部27は、プロファイルサーバ9からサービスコンポーネントに対するエラー閾値を取得し、トラフィック情報データベース17のユーザテーブルから各ユーザのエラー率監視周期(例えば本日の0時から24時まで)におけるリクエスト数及びエラー数を取得する。次に、エラー率監視機能部27は、リクエスト数に対するエラー数の割合(エラー率)がエラー閾値より大きいユーザを抽出する。そして、エラー率監視機能部27は、エラー率がエラー閾値より大きいユーザをそのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部13を介してリアクション機能部16にその旨を通知する。
【0035】
メッセージサイズ監視機能部28は、ユーザからサービスコンポーネントへのリクエストのメッセージサイズが大きすぎないか否かをチェックする機能であり、ユーザとサービスコンポーネントの組ごとに以下の処理を行う。メッセージサイズ監視機能部28は、プロファイルサーバ9からサービスコンポーネントに対するサイズ閾値を取得し、トラフィック情報データベース17のユーザテーブルから各ユーザのメッセージサイズ監視周期(例えば本日の0時から24時まで)におけるリクエスト数とリクエストメッセージサイズ合計を取得する。次に、メッセージサイズ監視機能部28は、リクエストメッセージサイズ合計をリクエスト数で除算した値(平均リクエストメッセージサイズ)がサイズ閾値より大きいユーザを抽出する。そして、メッセージサイズ監視機能部28は、平均リクエストメッセージサイズがサイズ閾値より大きいユーザをそのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部13を介してリアクション機能部16にその旨を通知する。
【0036】
リアクション機能部16は、アラーム通知機能部29と、サービスコンポーネント閉塞機能部30と、フロー規制機能部31と、ユーザ閉塞機能部32とを有している。
【0037】
アラーム通知機能部29は、監視実行制御機能部13を介してサービスコンポーネント監視機能部14から閉塞状態にするサービスコンポーネントが通知されると、サービス事業者及びシステム保守運用者の端末に、サービスコンポーネントに障害が起こっているためサービスコンポーネントに対するリクエスト転送を停止した旨をメールにて通知する。システム保守運用者とは、サービスコンポーネント管理システムの保守運用者である。なお、サービス事業者及びシステム保守運用者のメールアドレスは、プロファイルサーバ9が保持している。また、アラーム通知機能部29は、監視実行制御機能部13を介してサービスコンポーネント監視機能部14からフロー規制状態にするサービスコンポーネントが通知されると、サービス事業者及びシステム保守運用者の端末に、サービスコンポーネントサーバ18が輻輳状態にあるため、サービスコンポーネントに対するリクエストを一律に一定の時間遅延させる旨をメールにて通知する。また、アラーム通知機能部29は、あるサービスコンポーネントに対して一時利用不可能にするユーザが通知されると、そのユーザのサービスリクエスタ端末5とシステム保守運用者の端末に対して警告メールを送信する。
【0038】
サービスコンポーネント閉塞機能部30は、監視実行制御機能部13を介してサービスコンポーネント監視機能部14から閉塞状態にするサービスコンポーネントが通知されると、そのサービスコンポーネントに閉塞フラグを立てる指示をプロファイルサーバ9に送信する。サービスコンポーネントに閉塞フラグを立てる指示を受信すると、プロファイルサーバ9は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントの閉塞フラグを立てる(つまり「1」にする)とともに、実行制御サーバ1,2,3に当該閉塞フラグを立てた旨を通知する。実行制御サーバ1,2,3は、閉塞フラグが立っているサービスコンポーネントへのリクエストを遮断する(つまり、リクエストをサービスコンポーネントサーバ18に対して転送しない)。具体的には、実行制御サーバ1,2,3は、サービスリクエスタ端末5からサービスコンポーネントへのリクエストを受信すると、リクエスト先のサービスコンポーネントに対応する閉塞フラグをサービスコンポーネント情報テーブルから取得し、閉塞フラグが立っている(つまり、「1」である)か否かを判定する。そして、実行制御サーバ1,2,3は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末5にエラーを返信する。これにより、障害が発生したサービスコンポーネントサーバ18の影響が他のサービスコンポーネントサーバ18に波及することを防ぐことができる。
【0039】
フロー規制機能部31は、監視実行制御機能部13を介してサービスコンポーネント監視機能部14からフロー規制状態にするサービスコンポーネントが通知されると、そのサービスコンポーネントレーションに対するフロー規制フラグを立てる指示をプロファイルサーバ9に送信する。サービスコンポーネントにフロー規制フラグを立てる指示を受信すると、プロファイルサーバ9は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのフロー制御フラグを立てる(つまり「1」にする)とともに、実行制御サーバ1,2,3に当該フロー制御フラグを立てた旨を通知する。実行制御サーバ1,2,3は、フロー制御フラグが立っているサービスコンポーネントへのリクエストを一律に一定の時間遅延させる。具体的には、実行制御サーバ1,2,3は、サービスリクエスタ端末5からサービスコンポーネントへのリクエストを受信すると、リクエスト先のサービスコンポーネントに対応するフロー制御フラグをサービスコンポーネント情報テーブルから取得し、フロー規制フラグが立っている(つまり「1」である)場合には、リクエストを一律に一定の時間遅延させてから、サービスコンポーネントサーバ18に転送する。これにより、サービスコンポーネントへ過剰な数のリクエストが送信されることを防ぐことができる。
【0040】
ユーザ閉塞機能部32は、監視実行制御機能部13を介してユーザ監視機能部15からあるサービスコンポーネントに対して一時利用不可能にするユーザが通知されると、そのサービスコンポーネントのブラックリストにそのユーザを追加する指示をプロファイルサーバ9に送信する。サービスコンポーネントのブラックリストにユーザを追加する指示を受信すると、プロファイルサーバ9は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのブラックリストにそのユーザのユーザIDを追加するとともに、実行制御サーバ1,2,3に当該ブラックリストに当該ユーザが追加された旨を通知する。実行制御サーバ1,2,3は、サービスコンポーネントのブラックリストに登録されているユーザからのリクエストを遮断する。具体的には、実行制御サーバ1,2,3は、サービスリクエスタ端末5からサービスコンポーネントへのリクエストを受信すると、リクエスト先のサービスコンポーネントのブラックリストをサービスコンポーネント情報テーブルから取得し、リクエストユーザIDがブラックリストに登録されている否かを判定する。そして、実行制御サーバ1,2,3は、ユーザIDがブラックリストに登録されている場合には、リクエストを遮断し、サービスリクエスタ端末5にエラーを返信する。
【0041】
次に、図10から12を参照して、上述したトラフィック情報管理サーバ10の動作を説明する。図10は、レート監視処理の手順を示すシーケンス図である。
まず、トラフィック情報管理サーバ10のトラフィック収集機能部11が、トラフィック情報生成時間毎に実行制御サーバ1、実行制御サーバ2、実行制御サーバ3の順にトラフィック情報を収集する(ステップS1)。そして、トラフィック収集機能部11は、収集した複数のトラフィック情報をトラフィック集計機能部12へ出力する(ステップS2)。トラフィック集計機能部12は、入力された複数のトラフィック情報を集計する(ステップS3)。そして、集計結果であるカウント値をトラフィック情報が生成された年月日時とともにトラフィック情報データベース17へ送信するとともに(ステップS4)、監視実行制御機能部13にトラフィック情報データベース17を更新した旨を通知する(ステップS5)。トラフィック情報データベース17は、受信したカウンタ値を保存する(ステップS6)。
【0042】
一方、監視実行制御機能部13は、レート監視機能部26を起動する(ステップS7)。レート監視機能部26は、プロファイルサーバ9のオペレーション閾値テーブルから各オペレーションのレート閾値を取得し(ステップS8)、トラフィック情報データベース17のオペレーション−ユーザテーブルからレート監視周期におけるリクエスト数を取得する(ステップS9)。そして、レート監視機能部26は、各オペレーションのレート閾値とそのオペレーションと各ユーザの組に対するリクエスト数を比較し、リクエスト数がレート閾値より大きいユーザとオペレーションの組を抽出する(ステップS10)。そして、レート監視機能部26は、抽出したユーザをそのオペレーションのサービスコンポーネントに対して一時利用不可能にするユーザとして監視実行制御機能部13に通知する(ステップS11)。
【0043】
監視実行制御機能部13は、ユーザ閉塞機能部32及びアラーム通知機能部29にリアクションを発動する(ステップS12)。ユーザ閉塞機能部32は、サービスコンポーネントに対して一時利用不可能にするユーザをそのサービスコンポーネントのブラックリストに追加する指示をプロファイルサーバ32へ送信する(ステップS13)。プロファイルサーバ32は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのブラックリストにそのユーザのユーザIDを追加するとともに、当該ブラックリストに当該ユーザを追加したことを実行制御サーバ1,2,3に通知する。実行制御サーバ1,2,3は、ブラックリストに登録されているユーザからのリクエストを遮断する。
【0044】
一方、アラーム通知機能部29は、レート監視機能部26により抽出されたユーザのサービスリクエスタ端末5及びシステム運用者の端末等に、リクエスト利用制限回数が超過し、超過した1日はサービスコンポーネントを利用できない旨をメール等で通知する(ステップS14)。
【0045】
図11は、サービスコンポーネント利用不能率監視処理の手順を示すシーケンス図である。
まず、トラフィック情報管理サーバ10のトラフィック収集機能部11が、トラフィック情報生成時間毎に実行制御サーバ1、実行制御サーバ2、実行制御サーバ3の順にトラフィック情報を収集する(ステップS21)。そして、トラフィック収集機能部11は、収集した複数のトラフィック情報をトラフィック集計機能部12へ出力する(ステップS22)。トラフィック集計機能部12は、入力された複数のトラフィック情報を集計する(ステップS23)。そして、集計結果であるカウント値をトラフィック情報が生成された年月日時とともにトラフィック情報データベース17へ送信する(ステップS24)。トラフィック情報データベース17は、受信したカウンタ値を保存する(ステップS25)。
【0046】
一方、タイマー23は、監視実行制御機能部13にサービスコンポーネント監視周期であることを通知する(ステップS26)。監視実行制御機能部13は、サービスコンポーネント利用不能率監視機能部24を起動する(ステップS27)。サービスコンポーネント利用不能率監視機能部24は、プロファイルサーバ9のサービスコンポーネント閾値テーブルから各サービスコンポーネントのサービス利用不能率閾値を取得し(ステップS28)、トラフィック情報データベース17のサービスコンポーネントテーブルからサービスコンポーネント利用不能率監視周期におけるリクエスト数とエラー数を取得する(ステップS29)。そして、サービスコンポーネント利用不能率監視機能部24は、各サービスコンポーネントのリクエスト数に対するエラー数の割合(エラー率)とそのサービスコンポーネントのサービス利用不能率閾値とを比較し、エラー率がサービス利用不能率閾値より大きいサービスコンポーネントを抽出する(ステップS30)。そして、サービスコンポーネント利用不能率監視機能部24は、抽出したサービスコンポーネントを監視実行制御機能部13に通知する(ステップS31)。
【0047】
監視実行制御機能部13は、サービスコンポーネント閉塞機能部30及びアラーム通知機能部29にリアクションを発動する(ステップS32)。サービスコンポーネント閉塞機能部30は、サービスコンポーネント利用不能率監視機能部24により抽出されたサービスコンポーネントに対応する閉塞フラグを立てる指示をプロファイルサーバ32へ送信する(ステップS33)。プロファイルサーバ32は、通知されたサービスIDに対応するサービスコンポーネント情報テーブルの閉塞フラグを「1」に更新するとともに、閉塞フラグを「1」にしたことを実行制御サーバ1,2,3に通知する。実行制御サーバ1,2,3は、閉塞フラグが「1」であるサービスコンポーネントへのリクエストを遮断する。
【0048】
一方、アラーム通知機能部29は、サービスコンポーネント利用不能率監視機能部24により抽出されたサービスコンポーネントのサービスコンポーネントサーバ18及びシステム運用者の端末等に、サービスコンポーネントサーバ18に障害がおきているために、サービスコンポーネントへのリクエスト転送を停止したことをメール等で通知する(ステップS34)。
【0049】
図12は、応答遅延監視処理の手順を示すシーケンス図である。
まず、トラフィック情報管理サーバ10のトラフィック収集機能部11が、トラフィック情報生成時間毎に実行制御サーバ1、実行制御サーバ2、実行制御サーバ3の順にトラフィック情報を収集する(ステップS41)。そして、トラフィック収集機能部11は、収集した複数のトラフィック情報をトラフィック集計機能部12へ出力する(ステップS42)。トラフィック集計機能部12は、入力された複数のトラフィック情報を集計する(ステップS43)。そして、集計結果であるカウント値をトラフィック情報が生成された年月日時とともにトラフィック情報データベース17へ送信する(ステップS44)。トラフィック情報データベース17は、受信したカウンタ値を保存する(ステップS45)。
【0050】
一方、タイマー23は、監視実行制御機能部13にサービスコンポーネント監視周期であることを通知する(ステップS46)。監視実行制御機能部13は、応答遅延監視機能部25を起動する(ステップS47)。応答遅延監視機能部25は、プロファイルサーバ9のオペレーション閾値情報テーブルから各オペレーションの平均応答時間閾値を取得し(ステップS48)、トラフィック情報データベース17のオペレーションテーブルから応答遅延監視周期におけるレスポンス数と応答時間合計を取得する(ステップS49)。そして、応答遅延監視機能部25は、各オペレーションの応答時間合計をレスポンス数で除算した値(平均応答時間)とそのオペレーションの平均応答時間閾値とを比較し、平均応答時間が平均応答時間閾値より大きいオペレーションのサービスコンポーネントを抽出する(ステップS50)。そして、応答遅延監視機能部25は、抽出したサービスコンポーネントを監視実行制御機能部13に通知する(ステップS51)。
【0051】
監視実行制御機能部13は、フロー規制機能部31及びアラーム通知機能部29にリアクションを発動する(ステップS52)。フロー規制機能部31は、応答遅延監視機能部25により抽出されたサービスコンポーネントに対応するフロー制御フラグを立てる指示をプロファイルサーバ32へ送信する(ステップS53)。プロファイルサーバ32は、通知されたサービスIDに対応するサービスコンポーネント情報テーブルのフロー制御フラグを「1」に更新するとともに、フロー制御フラグを「1」にしたことを実行制御サーバ1,2,3に通知する。実行制御サーバ1,2,3は、フロー制御フラグが「1」であるサービスコンポーネントへのリクエストを一律に一定時間遅延させてから転送する。これにより、サービスコンポーネントサーバ18が輻輳状態である時にサービスコンポーネントへのリクエストを送信することを防ぐことができる。
【0052】
一方、アラーム通知機能部29は、応答遅延監視機能部25により抽出されたサービスコンポーネントのサービスコンポーネントサーバ18及びシステム運用者の端末等に、サービスコンポーネントサーバ18が輻輳状態であると思われるため、リクエスト転送のフロー制御を行ったことをメール等で通知する(ステップS54)。
【0053】
このように、本実施形態によれば、トラフィック情報管理サーバ10が、複数の実行制御サーバ1,2,3からトラフィック情報を収集して集計して、各サービスコンポーネント品質監視制御を行っているため、実行制御サーバ1,2,3が複数台並列して処理を行ってもシステム全体としてトラフィック情報の整合性を保つことができる。これにより、サービスコンポーネントへのリクエストに対して信頼性の高いサービス品質監視制御を行うことができる。
また、実行制御サーバ1,2,3が複数台並列してサービスコンポーネントへのリクエスト処理を行っているため、単位時間におけるサービスコンポーネントへのリクエスト処理量を向上することができる。
また、各サービスコンポーネントにおける共通処理を一括して実行制御サーバ1,2,3が行っているため、サービス事業者側のサービスコンポーネント以外の機能(非機能要件)実装にかかる投資及び経費費用を軽減することができる。
また、実行制御サーバ1,2,3は、閉塞状態にあるサービスコンポーネントへのリクエストを遮断することにより、障害が発生したサービスコンポーネントサーバの影響が他のサービスコンポーネントへの波及を防ぐことができる。
【0054】
また、図9に示すトラフィック情報管理サーバの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、サービスコンポーネント品質監視制御処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0055】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0056】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では3台の実行制御サーバを用いているが、2台以上であればよい。
【図面の簡単な説明】
【0057】
【図1】本発明の一実施形態によるサービスコンポーネント管理システムの構成を示すブロック図である。
【図2】本実施形態におけるサービスコンポーネントテーブルのデータ構造とデータ例を示す概略図である。
【図3】本実施形態におけるオペレーションテーブルのデータ構造とデータ例を示す概略図である。
【図4】本実施形態におけるオペレーション−ユーザテーブルのデータ構造とデータ例を示す概略図である。
【図5】本実施形態におけるユーザテーブルのデータ構造とデータ例を示す概略図である。
【図6】本実施形態におけるサービスコンポーネント情報テーブルのデータ構造とデータ例を示す概略図である。
【図7】本実施形態におけるサービスコンポーネント閾値情報テーブルのデータ構造とデータ例を示す概略図である。
【図8】本実施形態におけるオペレーション閾値情報テーブルのデータ構造とデータ例を示す概略図である。
【図9】本実施形態におけるトラフィック情報管理サーバの機能構成を示すブロック図である。
【図10】本実施形態におけるレート監視処理の手順を示すシーケンス図である。
【図11】本実施形態におけるサービスコンポーネント利用不能率監視処理の手順を示すシーケンス図である。
【図12】本実施形態における応答遅延監視処理の手順を示すシーケンス図である。
【符号の説明】
【0058】
1,2,3…実行制御サーバ 4…実行制御サーバクラスタ 5,6,7…サービスリクエスタ端末 8…ネットワーク 9…プロファイルサーバ 10…トラフィック情報管理サーバ 11…トラフィック収集機能部 12…トラフィック集計機能部 13…監視実行制御機能部 14…サービスコンポーネント監視機能部 15…ユーザ監視機能部 16…リアクション機能部 23…タイマー 24…サービスコンポーネント利用不能率監視機能部 25…応答遅延監視機能部 26…レート監視機能部 27…エラー率監視機能部 28…メッセージサイズ監視機能部
【技術分野】
【0001】
本発明は、トラフィック情報管理サーバ及びトラフィック情報管理方法に関する。
【背景技術】
【0002】
現在、ウェブサービス等のサービスコンポーネントを連携利用することで、新たなサービスを容易に実現する試みがある。
非特許文献1に記載された技術では、電話サービスとウェブサービスとを連携するシステムにおいて、実行制御サーバがユーザ認証やトラフィック制御などの共通処理を一括して行っている。
また、非特許文献2に記載された技術では、サービスコンポーネントに対するリクエストを処理する複数台のサーバをクラスタ化している。
【非特許文献1】山登庸次、大西浩行、中野雄介、“電話−ウェブ連携を促進する実行制御機能の検討”電子情報通信学会2008年総合大会講演論文集、B-19-10、Mar.2008.
【非特許文献2】“Oracle Communications Services Gatekeeper”、[online]、Oracle、[2008年11月04日検索]、インターネット〈URL:http://www.oracle.com/industries/communications/oracle-communications-services-gatekeeper.html〉
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、非特許文献1では、1台の実行制御サーバ単体での運用を想定しているため、実行制御サーバを複数台用いた場合には、ユーザからサービスコンポーネントへのリクエストをシステム全体で監視することができない、という問題がある。
例えば、あるユーザaがサービスコンポーネントAを1日に使用できる回数が100回と設定されていたときに、ユーザaが実行制御サーバ1で30回、実行制御サーバ2で80回、実行制御サーバ3で60回サービスコンポーネントAを使用した場合であっても、1日の使用制限回数100回を超えているユーザとしてユーザaを検出することはできなかった。
また、非特許文献2では、全てのデータをサーバ間で通信して同期を取っているため、その通信コストからクラスタ化しても性能向上する効果が少ない、という問題がある。
本発明は上記の点に鑑みてなされたものであり、その目的は、複数台の実行制御サーバを並列に実行したとしてもシステム全体でリクエストを監視することができ、サービスコンポーネントへのリクエスト処理量を向上することができるトラフィック情報管理サーバ及びトラフィック情報管理方法を提供することにある。
【課題を解決するための手段】
【0004】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、実行制御サーバから、ユーザからのサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と前記サービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を受信するトラフィック収集機能部と、前記トラフィック収集機能部により受信された前記トラフィック情報を集計するトラフィック集計機能部と、前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント利用不能率監視機能部と、前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部と、前記サービスコンポーネント利用不能率監視部により抽出された前記サービスコンポーネントに対し、前記サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグの更新要求を外部に送信するサービスコンポーネント閉塞機能部と、前記ユーザ監視機能部により抽出されたユーザを、前記特定のサービスコンポーネントに対して一時利用不可能になっているユーザの一覧であるブラックリストに追加する更新要求を外部に送信するユーザ閉塞機能部と、を備えることを特徴とするトラフィック情報管理サーバである。
【0005】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記サービスコンポーネント利用不能率監視機能部により抽出されたサービスコンポーネントを閉塞状態にしたことを当該サービスコンポーネントを提供するサービスコンポーネントサーバに通知する第1のアラーム通知機能部と、前記ユーザ監視機能部により抽出されたユーザを前記特定のサービスコンポーネントに対して一時利用不可能にしたことを当該ユーザの端末に通知する第2のアラーム通知機能部と、を備えることを特徴とする。
【0006】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記トラフィック情報は、サービスコンポーネントからの応答時間の状況を表す応答時間情報を含み、前記サービスコンポーネント情報は、サービスコンポーネントへのリクエストを一律に一定の時間遅延させるフロー制御を行うか否かを表すフロー制御フラグを含み、前記トラフィック集計機能部により集計された前記応答時間情報に基づいて、フロー制御を行うサービスコンポーネントを抽出する応答遅延監視機能部と、前記応答遅延監視機能部により抽出されたサービスコンポーネントに対応する前記フロー制御フラグの更新要求を外部に送信するフロー規制機能部と、を備えることを特徴とする。
【0007】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記応答遅延監視機能部により抽出されたサービスコンポーネントへのリクエストを一律に一定の時間遅延させていることを当該サービスコンポーネントを提供するサービスコンポーネントサーバに通知する第3のアラーム通知機能部を備えることを特徴とする。
【0008】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記ユーザ監視機能部は、前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの数に基づいて、一時利用不可能にするユーザを抽出することを特徴とする。
【0009】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの数と当該リクエストに対するエラーの数とに基づいて、一時利用不可能にするユーザを抽出することを特徴とする。
【0010】
また、本発明の一態様は、上記のトラフィック情報管理サーバにおいて、前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの平均サイズに基づいて、一時利用不可能にするユーザを抽出することを特徴とする。
【0011】
また、本発明の一態様は、前トラフィック収集機能部が、実行制御サーバから、ユーザからのサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と前記サービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を受信するステップと、トラフィック集計機能部が、前記トラフィック収集機能部により受信された前記トラフィック情報を集計するステップと、サービスコンポーネント利用不能率監視機能部が、前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するステップと、ユーザ監視機能部が、前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するステップと、サービスコンポーネント閉塞機能部が、前記サービスコンポーネント利用不能率監視部により抽出された前記サービスコンポーネントに対し、前記サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグの更新要求を外部に送信するステップと、ユーザ閉塞機能部が、前記ユーザ監視機能部により抽出されたユーザを、前記特定のサービスコンポーネントに対して一時利用不可能になっているユーザの一覧であるブラックリストに追加する更新要求を外部に送信するステップと、を有することを特徴とするトラフィック情報管理方法である。
【発明の効果】
【0012】
本発明によれば、トラフィック情報管理サーバが、複数の実行制御サーバからトラフィック情報を収集して集計して閉塞状態にするサービスコンポーネント及び特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出しているため、実行制御サーバが複数台並列して処理を行ってもシステム全体としてトラフィック情報の整合性を保つことができる。
また、実行制御サーバが複数台並列してサービスコンポーネントへのリクエスト処理を行っているため、単位時間におけるサービスコンポーネントへのリクエスト処理量を向上することができる。
また、各サービスコンポーネントにおける共通処理を一括して実行制御サーバが行っているため、サービス事業者側のサービスコンポーネント以外の機能(非機能要件)実装にかかる投資及び経費費用を軽減することができる。
また、実行制御サーバ1,2,3は、閉塞状態にあるサービスコンポーネントへのリクエストを遮断することにより、障害が発生したサービスコンポーネントサーバの影響が他のサービスコンポーネントへの波及を防ぐことができる。
【発明を実施するための最良の形態】
【0013】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態によるサービスコンポーネント管理システムの構成を示すブロック図である。
サービスコンポーネント管理システムは、実行制御サーバクラスタ4と、トラフィック情報管理サーバ10と、プロファイルサーバ9と、トラフィック情報データベース17と、サービスリクエスタ端末5,6,7と、複数のサービスコンポーネントサーバ18と、を含んで構成される。
サービスリクエスタ端末5,6,7と実行制御サーバクラスタ4及び、実行制御サーバクラスタ4とサービスコンポーネントサーバ18とは、ネットワーク8を介してメッセージの送受信を行う。ネットワーク8は、電話交換等の通信ネットワーク、或いはインターネット等の情報ネットワーク、或いはサービス制御層とパケット転送層とを有するNGN(Next Generation Network)、或いは移動体ネットワーク等からなるネットワークである。
【0014】
サービスコンポーネントサーバ18は、サービスリクエスタ端末5,6,7に複数のサービスコンポーネントを提供するサーバ装置である。サービスコンポーネントとは、サービス事業者提供するウェブサービスや電話サービスなどのサービスである。
サービスリクエスタ端末5,6,7は、複数のサービスコンポーネントが連携してなるサービスを利用するユーザ(リクエスタ)が使用する端末である。
【0015】
トラフィック情報データベース17は、トラフィック情報の集計結果を記憶保持するデータベースであり、サービスコンポーネントテーブルと、オペレーションテーブルと、オペレーション−ユーザテーブルと、ユーザテーブルとを保持している。トラフィック情報とは、サービスコンポーネントテーブルと、オペレーションテーブルと、オペレーション−ユーザテーブルと、ユーザテーブルにおける各項目をトラフィック情報生成時間毎に集計した情報である。また、オペレーション−ユーザテーブル及びユーザテーブルの各項目が、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報である。また、サービスコンポーネントテーブルの各項目が、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報である。また、オペレーションテーブルの各項目が、特定のサービスコンポーネントからの応答時間の状況を表す応答時間情報である。
【0016】
プロファイルサーバ9は、ユーザ情報とサービスコンポーネント情報とを保持するサーバ装置であり、サービスコンポーネント情報テーブルと、サービスコンポーネント閾値情報テーブルと、オペレーション閾値情報テーブルを保持している。
【0017】
実行制御サーバクラスタ4は、実行制御サーバ1,2,3群である。
実行制御サーバ1,2,3は、各サービスコンポーネントの共通処理を行うサーバ装置である。各サービスコンポーネントの共通処理とは、ユーザ認証や各サービスコンポーネントに応じたトラフィック制御などであり、サービスリクエスタ端末5,6,7から受信したサービスコンポーネントへのリクエストをサービスコンポーネントサーバ18に転送する。また、実行制御サーバ1,2,3は、トラフィック情報生成時間(例えば毎時00分からの3分周期)毎にトラフィック情報を生成してトラフィック情報管理サーバ10に送信する。なお、サービスリクエスタ5,6,7からのリクエストは図示しないロードバランサーにより、ラウンドロビンアルゴリズムや実行制御サーバ1,2,3のCPU(中央演算装置)使用率に応じて実行制御サーバ1,2,3に振り分けられる。
【0018】
トラフィック情報管理サーバ10は、各サービスコンポーネントへの負荷状況を監視するサービスコンポーネント品質監視制御を行うサーバ装置である。トラフィック情報管理サーバ10の機能構成は後述する。
【0019】
図2は、本実施形態におけるサービスコンポーネントテーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネントテーブルは、年月日と、時と、サービスIDと、リクエスト数と、エラー数の各項目の列を有している。時は、時間を示しており、例えば、時「10」は、10時00分から10時59分までを表す。サービスIDは、サービスコンポーネントを識別する識別情報である。リクエスト数は、サービスコンポーネント宛に送信されたリクエストの数である。エラー数は、サービスリクエスト宛に送信されたリクエストに対するエラーの数であり、認証NGと、認可NGと、応答タイムアウトの各項目を有している。認証NGは、ユーザ認証されなかった場合のエラーである。認可NGは、例えばユーザにサービスコンポーネントの使用権限がない場合のエラーである。応答タイムアウトは、リクエストに対するレスポンスが一定時間内に返されなかった場合のエラーである。
【0020】
図3は、本実施形態におけるオペレーションテーブルのデータ構造とデータ例を示す概略図である。オペレーションテーブルは、年月日と、時と、サービスIDと、オペレーション名と、レスポンス数と、応答時間合計の各項目の列を有している。オペレーション名は、サービスコンポーネントのオペレーション(例えば、電話サービスの場合、発呼、着信等)の名称である。レスポンス数は、リクエストに対するレスポンスの数である。応答時間合計は、実行制御サーバ1,2,3がリクエストを送信してからレスポンスを受信するまでの応答時間の合計値であり、単位はミリ秒(ms)である。
【0021】
図4は、本実施形態におけるオペレーション−ユーザテーブルのデータ構造とデータ例を示す概略図である。オペレーション−ユーザテーブルは、年月日と、時と、サービスIDと、オペレーション名と、ユーザIDと、リクエスト数の各項目の列を有している。ユーザIDは、ユーザを識別するための識別情報である。
【0022】
図5は、本実施形態におけるユーザテーブルのデータ構造とデータ例を示す概略図である。ユーザテーブルは、年月日と、時と、ユーザIDと、リクエスト数と、エラー数の各項目の列を有している。
【0023】
図6は、本実施形態におけるサービスコンポーネント情報テーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネント情報テーブルは、サービスコンポーネント情報として、サービスIDと、フロー規制フラグと、閉塞フラグ(サービスコンポーネント閉塞フラグ)と、ブラックリストの各項目の列を有している。フロー規制フラグは、そのサービスコンポーネントにフロー制御があるか否かを示すフラグであり、フロー規制フラグ「1」はフロー規制があることを表し、フロー規制フラグ「0」はフロー規制がないことを表す。閉塞フラグは、サービスコンポーネントが閉塞状態(利用できない状態)にあるか否かを示すフラグであり、閉塞フラグ「1」は閉塞状態であることを表し、閉塞フラグ「0」は閉塞状態ではないことを表す。ブラックリストは、サービスコンポーネントを一時利用不可能になっているユーザのユーザIDの一覧である。
【0024】
図7は、本実施形態におけるサービスコンポーネント閾値情報テーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネント閾値情報テーブルは、サービスIDと、サービス利用不能率閾値と、エラー閾値と、サイズ閾値との各項目の列を有している。サービス利用不能率閾値は、サービスが利用不能になる率に関する閾値である。エラー閾値は、エラーの割合に関する閾値である。サイズ閾値は、リクエストのサイズに関する閾値である。
【0025】
図8は、本実施形態におけるオペレーション閾値情報テーブルのデータ構造とデータ例を示す概略図である。オペレーション閾値情報テーブルは、サービスIDと、オペレーション名と、レート閾値と、平均応答時間閾値との各項目の列を有している。オペレーション名は、サービスコンポーネントのオペレーション(例えば、電話サービスの場合、発呼、着信等)の名称である。レート閾値は、1ユーザがレート監視周期(例えば1日)にサービスコンポーネントに送信可能なリクエスト数の閾値である。平均応答時間閾値は、リクエストに対する平均応答時間に関する閾値である。
【0026】
図9は、本実施形態におけるトラフィック情報管理サーバ10の機能構成を示すブロック図である。
トラフィック情報管理サーバ10は、複数の実行制御サーバ1,2,3からトラフィック情報を収集して集計を行い、全てのトラフィック情報を集約することで、サービスコンポーネント品質監視制御を行う。これにより、システム全体の整合を取ることができ、かつ、サービスコンポーネント品質監視制御の不整合を防ぐことができる。トラフィック情報管理サーバ10は、トラフィック収集機能部11と、トラフィック集計機能部12と、監視実行制御機能部13と、サービスコンポーネント監視機能部14と、ユーザ監視機能部15と、リアクション機能部16と、タイマ(Timer)23と、を含んで構成される。監視実行制御機能部13と、サービスコンポーネント監視機能部14と、ユーザ監視機能部15と、リアクション機能部16とにおける処理がサービスコンポーネント監視制御である。
【0027】
トラフィック収集機能部11は、実行制御サーバ1,2,3からトラフィック情報をポーリングにてトラフィック情報生成時間(例えば3分)毎に収集し、トラフィック集計機能部12に出力する。
トラフィック集計機能部12は、入力された複数のトラフィック情報を集計する。具体的には、トラフィック集計機能部12は、サービスコンポーネント毎にリクエスト数とエラー数とをカウントする。また、トラフィック集計機能部12は、オペレーション毎にレスポンス数と応答時間合計とをカウントする。また、トラフィック集計機能部12は、オペレーションとユーザの組毎にリクエスト数をカウントする。また、トラフィック集計機能部12は、ユーザ毎にリクエスト数とエラー数とリクエストメッセージ合計とをカウントする。そして、トラフィック集計機能部12は、トラフィック情報が生成された年月日時とともにカウントした値をトラフィック情報データベース17に送信して記憶させる。
【0028】
監視実行制御機能部13は、一定時間或いは一定周期でサービスコンポーネント監視機能部14とユーザ監視機能部15とに独立に処理を行わせる機能である。また、サービスコンポーネント監視機能部14及びユーザ監視機能部15における処理がサービスコンポーネント監視制御である。具体的には、監視実行制御機能部13は、サービスコンポーネント監視周期(例えば1時間)毎にサービスコンポーネント監視機能部14のサービスコンポーネント利用不能率機能部24及び応答遅延監視機能部25に処理を行わせる。また、監視実行制御機能部13は、ユーザ監視周期(例えば3分)毎にユーザ監視機能部15のレート監視機能部26とエラー率監視機能部27とメッセージサイズ監視機能部28とに処理を行わせる。
タイマー23は、監視実行制御機能部13にサービスコンポーネント監視周期及びユーザ監視周期を通知する。
【0029】
サービスコンポーネント監視機能部14は、閉塞状態にするサービスコンポーネント又はフロー規制状態にするサービスコンポーネントを抽出する機能であり、サービスコンポーネント利用不能率監視機能部24と応答遅延監視機能部25とを有している。
【0030】
サービスコンポーネント利用不能率監視機能部24は、サービスコンポーネントのレスポンス数が許容範囲か否かを監視する機能であり、各サービスコンポーネントに対して以下の処理を実行する。まず。サービスコンポーネント利用不能率機能部24は、プロファイルサーバ9からサービスコンポーネントに対応するサービス利用不能率閾値を取得し、トラフィック情報データベース17のサービスコンポーネントテーブルからサービスコンポーネント利用不能率監視周期(例えば1時間)におけるこのサービスコンポーネントのリクエスト数と応答タイムアウトのエラー数とを取得する。そして、サービスコンポーネント利用不能率機能部24は、取得したリクエスト数に対するエラー数の割合(エラー率)がサービス利用不能率閾値を超えているか否かを判定する。エラー率がサービス利用不能率閾値より大きい場合に、このサービスコンポーネントを閉塞状態にすると判定し、監視実行制御機能部13を介してリアクション機能部16にその旨を通知する。
【0031】
応答遅延監視機能部25は、各サービスコンポーネントのオペレーションに対して以下の処理を実行する。まず、応答遅延監視機能部25は、プロファイルサーバ9からオペレーションに対応する平均応答時間閾値を取得し、トラフィック情報データベース17のオペレーションテーブルから応答遅延監視周期(例えば1時間)におけるオペレーションの応答時間合計及びレスポンス数を取得する。そして、応答遅延監視機能部25は、応答時間合計をレスポンス数で除算した値(平均応答時間)が平均応答時間閾値より大きいか否かを判定する。平均応答時間が平均応答時間閾値より大きい場合に、応答遅延監視機能部25は、このサービスコンポーネントをフロー規制状態にすると判定し、監視実行制御機能部13を介してリアクション機能部16にその旨を通知する。
【0032】
ユーザ監視機能部15は、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出する機能であり、レート監視機能部26とエラー率監視機能部27とメッセージサイズ監視機能部28とを有している。
【0033】
レート監視機能部26は、あるユーザのサービスコンポーネントへのリクエスト数が利用制限回数を越えていないか否かを監視する機能であり、ユーザとオペレーションの組毎に以下の処理を行う。レート監視機能部26は、プロファイルサーバ9からオペレーションに対するレート閾値を取得し、各ユーザからそのオペレーションへのレート監視周期(例えば本日の0時から24時まで)におけるリクエスト数をトラフィック情報データベース17のオペレーション−ユーザテーブルから取得する。次に、レート監視機能部26は、リクエスト数がレート閾値より大きいユーザを抽出する。そして、レート監視機能部26は、リクエスト数がレート閾値より大きいユーザをそのオペレーションのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部13を介してリアクション機能部16にその旨を通知する。
【0034】
エラー率監視機能部27は、ユーザがサービスコンポーネントを不正に使用していないか否かをチェックする機能であり、ユーザとサービスコンポーネントの組ごとに以下の処理を行う。エラー率監視機能部27は、プロファイルサーバ9からサービスコンポーネントに対するエラー閾値を取得し、トラフィック情報データベース17のユーザテーブルから各ユーザのエラー率監視周期(例えば本日の0時から24時まで)におけるリクエスト数及びエラー数を取得する。次に、エラー率監視機能部27は、リクエスト数に対するエラー数の割合(エラー率)がエラー閾値より大きいユーザを抽出する。そして、エラー率監視機能部27は、エラー率がエラー閾値より大きいユーザをそのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部13を介してリアクション機能部16にその旨を通知する。
【0035】
メッセージサイズ監視機能部28は、ユーザからサービスコンポーネントへのリクエストのメッセージサイズが大きすぎないか否かをチェックする機能であり、ユーザとサービスコンポーネントの組ごとに以下の処理を行う。メッセージサイズ監視機能部28は、プロファイルサーバ9からサービスコンポーネントに対するサイズ閾値を取得し、トラフィック情報データベース17のユーザテーブルから各ユーザのメッセージサイズ監視周期(例えば本日の0時から24時まで)におけるリクエスト数とリクエストメッセージサイズ合計を取得する。次に、メッセージサイズ監視機能部28は、リクエストメッセージサイズ合計をリクエスト数で除算した値(平均リクエストメッセージサイズ)がサイズ閾値より大きいユーザを抽出する。そして、メッセージサイズ監視機能部28は、平均リクエストメッセージサイズがサイズ閾値より大きいユーザをそのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部13を介してリアクション機能部16にその旨を通知する。
【0036】
リアクション機能部16は、アラーム通知機能部29と、サービスコンポーネント閉塞機能部30と、フロー規制機能部31と、ユーザ閉塞機能部32とを有している。
【0037】
アラーム通知機能部29は、監視実行制御機能部13を介してサービスコンポーネント監視機能部14から閉塞状態にするサービスコンポーネントが通知されると、サービス事業者及びシステム保守運用者の端末に、サービスコンポーネントに障害が起こっているためサービスコンポーネントに対するリクエスト転送を停止した旨をメールにて通知する。システム保守運用者とは、サービスコンポーネント管理システムの保守運用者である。なお、サービス事業者及びシステム保守運用者のメールアドレスは、プロファイルサーバ9が保持している。また、アラーム通知機能部29は、監視実行制御機能部13を介してサービスコンポーネント監視機能部14からフロー規制状態にするサービスコンポーネントが通知されると、サービス事業者及びシステム保守運用者の端末に、サービスコンポーネントサーバ18が輻輳状態にあるため、サービスコンポーネントに対するリクエストを一律に一定の時間遅延させる旨をメールにて通知する。また、アラーム通知機能部29は、あるサービスコンポーネントに対して一時利用不可能にするユーザが通知されると、そのユーザのサービスリクエスタ端末5とシステム保守運用者の端末に対して警告メールを送信する。
【0038】
サービスコンポーネント閉塞機能部30は、監視実行制御機能部13を介してサービスコンポーネント監視機能部14から閉塞状態にするサービスコンポーネントが通知されると、そのサービスコンポーネントに閉塞フラグを立てる指示をプロファイルサーバ9に送信する。サービスコンポーネントに閉塞フラグを立てる指示を受信すると、プロファイルサーバ9は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントの閉塞フラグを立てる(つまり「1」にする)とともに、実行制御サーバ1,2,3に当該閉塞フラグを立てた旨を通知する。実行制御サーバ1,2,3は、閉塞フラグが立っているサービスコンポーネントへのリクエストを遮断する(つまり、リクエストをサービスコンポーネントサーバ18に対して転送しない)。具体的には、実行制御サーバ1,2,3は、サービスリクエスタ端末5からサービスコンポーネントへのリクエストを受信すると、リクエスト先のサービスコンポーネントに対応する閉塞フラグをサービスコンポーネント情報テーブルから取得し、閉塞フラグが立っている(つまり、「1」である)か否かを判定する。そして、実行制御サーバ1,2,3は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末5にエラーを返信する。これにより、障害が発生したサービスコンポーネントサーバ18の影響が他のサービスコンポーネントサーバ18に波及することを防ぐことができる。
【0039】
フロー規制機能部31は、監視実行制御機能部13を介してサービスコンポーネント監視機能部14からフロー規制状態にするサービスコンポーネントが通知されると、そのサービスコンポーネントレーションに対するフロー規制フラグを立てる指示をプロファイルサーバ9に送信する。サービスコンポーネントにフロー規制フラグを立てる指示を受信すると、プロファイルサーバ9は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのフロー制御フラグを立てる(つまり「1」にする)とともに、実行制御サーバ1,2,3に当該フロー制御フラグを立てた旨を通知する。実行制御サーバ1,2,3は、フロー制御フラグが立っているサービスコンポーネントへのリクエストを一律に一定の時間遅延させる。具体的には、実行制御サーバ1,2,3は、サービスリクエスタ端末5からサービスコンポーネントへのリクエストを受信すると、リクエスト先のサービスコンポーネントに対応するフロー制御フラグをサービスコンポーネント情報テーブルから取得し、フロー規制フラグが立っている(つまり「1」である)場合には、リクエストを一律に一定の時間遅延させてから、サービスコンポーネントサーバ18に転送する。これにより、サービスコンポーネントへ過剰な数のリクエストが送信されることを防ぐことができる。
【0040】
ユーザ閉塞機能部32は、監視実行制御機能部13を介してユーザ監視機能部15からあるサービスコンポーネントに対して一時利用不可能にするユーザが通知されると、そのサービスコンポーネントのブラックリストにそのユーザを追加する指示をプロファイルサーバ9に送信する。サービスコンポーネントのブラックリストにユーザを追加する指示を受信すると、プロファイルサーバ9は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのブラックリストにそのユーザのユーザIDを追加するとともに、実行制御サーバ1,2,3に当該ブラックリストに当該ユーザが追加された旨を通知する。実行制御サーバ1,2,3は、サービスコンポーネントのブラックリストに登録されているユーザからのリクエストを遮断する。具体的には、実行制御サーバ1,2,3は、サービスリクエスタ端末5からサービスコンポーネントへのリクエストを受信すると、リクエスト先のサービスコンポーネントのブラックリストをサービスコンポーネント情報テーブルから取得し、リクエストユーザIDがブラックリストに登録されている否かを判定する。そして、実行制御サーバ1,2,3は、ユーザIDがブラックリストに登録されている場合には、リクエストを遮断し、サービスリクエスタ端末5にエラーを返信する。
【0041】
次に、図10から12を参照して、上述したトラフィック情報管理サーバ10の動作を説明する。図10は、レート監視処理の手順を示すシーケンス図である。
まず、トラフィック情報管理サーバ10のトラフィック収集機能部11が、トラフィック情報生成時間毎に実行制御サーバ1、実行制御サーバ2、実行制御サーバ3の順にトラフィック情報を収集する(ステップS1)。そして、トラフィック収集機能部11は、収集した複数のトラフィック情報をトラフィック集計機能部12へ出力する(ステップS2)。トラフィック集計機能部12は、入力された複数のトラフィック情報を集計する(ステップS3)。そして、集計結果であるカウント値をトラフィック情報が生成された年月日時とともにトラフィック情報データベース17へ送信するとともに(ステップS4)、監視実行制御機能部13にトラフィック情報データベース17を更新した旨を通知する(ステップS5)。トラフィック情報データベース17は、受信したカウンタ値を保存する(ステップS6)。
【0042】
一方、監視実行制御機能部13は、レート監視機能部26を起動する(ステップS7)。レート監視機能部26は、プロファイルサーバ9のオペレーション閾値テーブルから各オペレーションのレート閾値を取得し(ステップS8)、トラフィック情報データベース17のオペレーション−ユーザテーブルからレート監視周期におけるリクエスト数を取得する(ステップS9)。そして、レート監視機能部26は、各オペレーションのレート閾値とそのオペレーションと各ユーザの組に対するリクエスト数を比較し、リクエスト数がレート閾値より大きいユーザとオペレーションの組を抽出する(ステップS10)。そして、レート監視機能部26は、抽出したユーザをそのオペレーションのサービスコンポーネントに対して一時利用不可能にするユーザとして監視実行制御機能部13に通知する(ステップS11)。
【0043】
監視実行制御機能部13は、ユーザ閉塞機能部32及びアラーム通知機能部29にリアクションを発動する(ステップS12)。ユーザ閉塞機能部32は、サービスコンポーネントに対して一時利用不可能にするユーザをそのサービスコンポーネントのブラックリストに追加する指示をプロファイルサーバ32へ送信する(ステップS13)。プロファイルサーバ32は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのブラックリストにそのユーザのユーザIDを追加するとともに、当該ブラックリストに当該ユーザを追加したことを実行制御サーバ1,2,3に通知する。実行制御サーバ1,2,3は、ブラックリストに登録されているユーザからのリクエストを遮断する。
【0044】
一方、アラーム通知機能部29は、レート監視機能部26により抽出されたユーザのサービスリクエスタ端末5及びシステム運用者の端末等に、リクエスト利用制限回数が超過し、超過した1日はサービスコンポーネントを利用できない旨をメール等で通知する(ステップS14)。
【0045】
図11は、サービスコンポーネント利用不能率監視処理の手順を示すシーケンス図である。
まず、トラフィック情報管理サーバ10のトラフィック収集機能部11が、トラフィック情報生成時間毎に実行制御サーバ1、実行制御サーバ2、実行制御サーバ3の順にトラフィック情報を収集する(ステップS21)。そして、トラフィック収集機能部11は、収集した複数のトラフィック情報をトラフィック集計機能部12へ出力する(ステップS22)。トラフィック集計機能部12は、入力された複数のトラフィック情報を集計する(ステップS23)。そして、集計結果であるカウント値をトラフィック情報が生成された年月日時とともにトラフィック情報データベース17へ送信する(ステップS24)。トラフィック情報データベース17は、受信したカウンタ値を保存する(ステップS25)。
【0046】
一方、タイマー23は、監視実行制御機能部13にサービスコンポーネント監視周期であることを通知する(ステップS26)。監視実行制御機能部13は、サービスコンポーネント利用不能率監視機能部24を起動する(ステップS27)。サービスコンポーネント利用不能率監視機能部24は、プロファイルサーバ9のサービスコンポーネント閾値テーブルから各サービスコンポーネントのサービス利用不能率閾値を取得し(ステップS28)、トラフィック情報データベース17のサービスコンポーネントテーブルからサービスコンポーネント利用不能率監視周期におけるリクエスト数とエラー数を取得する(ステップS29)。そして、サービスコンポーネント利用不能率監視機能部24は、各サービスコンポーネントのリクエスト数に対するエラー数の割合(エラー率)とそのサービスコンポーネントのサービス利用不能率閾値とを比較し、エラー率がサービス利用不能率閾値より大きいサービスコンポーネントを抽出する(ステップS30)。そして、サービスコンポーネント利用不能率監視機能部24は、抽出したサービスコンポーネントを監視実行制御機能部13に通知する(ステップS31)。
【0047】
監視実行制御機能部13は、サービスコンポーネント閉塞機能部30及びアラーム通知機能部29にリアクションを発動する(ステップS32)。サービスコンポーネント閉塞機能部30は、サービスコンポーネント利用不能率監視機能部24により抽出されたサービスコンポーネントに対応する閉塞フラグを立てる指示をプロファイルサーバ32へ送信する(ステップS33)。プロファイルサーバ32は、通知されたサービスIDに対応するサービスコンポーネント情報テーブルの閉塞フラグを「1」に更新するとともに、閉塞フラグを「1」にしたことを実行制御サーバ1,2,3に通知する。実行制御サーバ1,2,3は、閉塞フラグが「1」であるサービスコンポーネントへのリクエストを遮断する。
【0048】
一方、アラーム通知機能部29は、サービスコンポーネント利用不能率監視機能部24により抽出されたサービスコンポーネントのサービスコンポーネントサーバ18及びシステム運用者の端末等に、サービスコンポーネントサーバ18に障害がおきているために、サービスコンポーネントへのリクエスト転送を停止したことをメール等で通知する(ステップS34)。
【0049】
図12は、応答遅延監視処理の手順を示すシーケンス図である。
まず、トラフィック情報管理サーバ10のトラフィック収集機能部11が、トラフィック情報生成時間毎に実行制御サーバ1、実行制御サーバ2、実行制御サーバ3の順にトラフィック情報を収集する(ステップS41)。そして、トラフィック収集機能部11は、収集した複数のトラフィック情報をトラフィック集計機能部12へ出力する(ステップS42)。トラフィック集計機能部12は、入力された複数のトラフィック情報を集計する(ステップS43)。そして、集計結果であるカウント値をトラフィック情報が生成された年月日時とともにトラフィック情報データベース17へ送信する(ステップS44)。トラフィック情報データベース17は、受信したカウンタ値を保存する(ステップS45)。
【0050】
一方、タイマー23は、監視実行制御機能部13にサービスコンポーネント監視周期であることを通知する(ステップS46)。監視実行制御機能部13は、応答遅延監視機能部25を起動する(ステップS47)。応答遅延監視機能部25は、プロファイルサーバ9のオペレーション閾値情報テーブルから各オペレーションの平均応答時間閾値を取得し(ステップS48)、トラフィック情報データベース17のオペレーションテーブルから応答遅延監視周期におけるレスポンス数と応答時間合計を取得する(ステップS49)。そして、応答遅延監視機能部25は、各オペレーションの応答時間合計をレスポンス数で除算した値(平均応答時間)とそのオペレーションの平均応答時間閾値とを比較し、平均応答時間が平均応答時間閾値より大きいオペレーションのサービスコンポーネントを抽出する(ステップS50)。そして、応答遅延監視機能部25は、抽出したサービスコンポーネントを監視実行制御機能部13に通知する(ステップS51)。
【0051】
監視実行制御機能部13は、フロー規制機能部31及びアラーム通知機能部29にリアクションを発動する(ステップS52)。フロー規制機能部31は、応答遅延監視機能部25により抽出されたサービスコンポーネントに対応するフロー制御フラグを立てる指示をプロファイルサーバ32へ送信する(ステップS53)。プロファイルサーバ32は、通知されたサービスIDに対応するサービスコンポーネント情報テーブルのフロー制御フラグを「1」に更新するとともに、フロー制御フラグを「1」にしたことを実行制御サーバ1,2,3に通知する。実行制御サーバ1,2,3は、フロー制御フラグが「1」であるサービスコンポーネントへのリクエストを一律に一定時間遅延させてから転送する。これにより、サービスコンポーネントサーバ18が輻輳状態である時にサービスコンポーネントへのリクエストを送信することを防ぐことができる。
【0052】
一方、アラーム通知機能部29は、応答遅延監視機能部25により抽出されたサービスコンポーネントのサービスコンポーネントサーバ18及びシステム運用者の端末等に、サービスコンポーネントサーバ18が輻輳状態であると思われるため、リクエスト転送のフロー制御を行ったことをメール等で通知する(ステップS54)。
【0053】
このように、本実施形態によれば、トラフィック情報管理サーバ10が、複数の実行制御サーバ1,2,3からトラフィック情報を収集して集計して、各サービスコンポーネント品質監視制御を行っているため、実行制御サーバ1,2,3が複数台並列して処理を行ってもシステム全体としてトラフィック情報の整合性を保つことができる。これにより、サービスコンポーネントへのリクエストに対して信頼性の高いサービス品質監視制御を行うことができる。
また、実行制御サーバ1,2,3が複数台並列してサービスコンポーネントへのリクエスト処理を行っているため、単位時間におけるサービスコンポーネントへのリクエスト処理量を向上することができる。
また、各サービスコンポーネントにおける共通処理を一括して実行制御サーバ1,2,3が行っているため、サービス事業者側のサービスコンポーネント以外の機能(非機能要件)実装にかかる投資及び経費費用を軽減することができる。
また、実行制御サーバ1,2,3は、閉塞状態にあるサービスコンポーネントへのリクエストを遮断することにより、障害が発生したサービスコンポーネントサーバの影響が他のサービスコンポーネントへの波及を防ぐことができる。
【0054】
また、図9に示すトラフィック情報管理サーバの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、サービスコンポーネント品質監視制御処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0055】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0056】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では3台の実行制御サーバを用いているが、2台以上であればよい。
【図面の簡単な説明】
【0057】
【図1】本発明の一実施形態によるサービスコンポーネント管理システムの構成を示すブロック図である。
【図2】本実施形態におけるサービスコンポーネントテーブルのデータ構造とデータ例を示す概略図である。
【図3】本実施形態におけるオペレーションテーブルのデータ構造とデータ例を示す概略図である。
【図4】本実施形態におけるオペレーション−ユーザテーブルのデータ構造とデータ例を示す概略図である。
【図5】本実施形態におけるユーザテーブルのデータ構造とデータ例を示す概略図である。
【図6】本実施形態におけるサービスコンポーネント情報テーブルのデータ構造とデータ例を示す概略図である。
【図7】本実施形態におけるサービスコンポーネント閾値情報テーブルのデータ構造とデータ例を示す概略図である。
【図8】本実施形態におけるオペレーション閾値情報テーブルのデータ構造とデータ例を示す概略図である。
【図9】本実施形態におけるトラフィック情報管理サーバの機能構成を示すブロック図である。
【図10】本実施形態におけるレート監視処理の手順を示すシーケンス図である。
【図11】本実施形態におけるサービスコンポーネント利用不能率監視処理の手順を示すシーケンス図である。
【図12】本実施形態における応答遅延監視処理の手順を示すシーケンス図である。
【符号の説明】
【0058】
1,2,3…実行制御サーバ 4…実行制御サーバクラスタ 5,6,7…サービスリクエスタ端末 8…ネットワーク 9…プロファイルサーバ 10…トラフィック情報管理サーバ 11…トラフィック収集機能部 12…トラフィック集計機能部 13…監視実行制御機能部 14…サービスコンポーネント監視機能部 15…ユーザ監視機能部 16…リアクション機能部 23…タイマー 24…サービスコンポーネント利用不能率監視機能部 25…応答遅延監視機能部 26…レート監視機能部 27…エラー率監視機能部 28…メッセージサイズ監視機能部
【特許請求の範囲】
【請求項1】
実行制御サーバから、ユーザからのサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と前記サービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を受信するトラフィック収集機能部と、
前記トラフィック収集機能部により受信された前記トラフィック情報を集計するトラフィック集計機能部と、
前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント利用不能率監視機能部と、
前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部と、
前記サービスコンポーネント利用不能率監視部により抽出された前記サービスコンポーネントに対し、前記サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグの更新要求を外部に送信するサービスコンポーネント閉塞機能部と、
前記ユーザ監視機能部により抽出されたユーザを、前記特定のサービスコンポーネントに対して一時利用不可能になっているユーザの一覧であるブラックリストに追加する更新要求を外部に送信するユーザ閉塞機能部と、
を備えることを特徴とするトラフィック情報管理サーバ。
【請求項2】
前記サービスコンポーネント利用不能率監視機能部により抽出されたサービスコンポーネントを閉塞状態にしたことを当該サービスコンポーネントを提供するサービスコンポーネントサーバに通知する第1のアラーム通知機能部と、
前記ユーザ監視機能部により抽出されたユーザを前記特定のサービスコンポーネントに対して一時利用不可能にしたことを当該ユーザの端末に通知する第2のアラーム通知機能部と、
を備えることを特徴とする請求項1に記載のトラフィック情報管理サーバ。
【請求項3】
前記トラフィック情報は、サービスコンポーネントからの応答時間の状況を表す応答時間情報を含み、
前記サービスコンポーネント情報は、サービスコンポーネントへのリクエストを一律に一定の時間遅延させるフロー制御を行うか否かを表すフロー制御フラグを含み、
前記トラフィック集計機能部により集計された前記応答時間情報に基づいて、フロー制御を行うサービスコンポーネントを抽出する応答遅延監視機能部と、
前記応答遅延監視機能部により抽出されたサービスコンポーネントに対応する前記フロー制御フラグの更新要求を外部に送信するフロー規制機能部と、
を備えることを特徴とする請求項1又は2に記載のトラフィック情報管理サーバ。
【請求項4】
前記応答遅延監視機能部により抽出されたサービスコンポーネントへのリクエストを一律に一定の時間遅延させていることを当該サービスコンポーネントを提供するサービスコンポーネントサーバに通知する第3のアラーム通知機能部を備えることを特徴とする請求項3に記載のトラフィック情報管理サーバ。
【請求項5】
前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの数に基づいて、一時利用不可能にするユーザを抽出することを特徴とする請求項1から4いずれか1項に記載のトラフィック情報管理サーバ。
【請求項6】
前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの数と当該リクエストに対するエラーの数とに基づいて、一時利用不可能にするユーザを抽出することを特徴とする請求項1から4いずれか1項に記載のトラフィック情報管理サーバ。
【請求項7】
前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの平均サイズに基づいて、一時利用不可能にするユーザを抽出することを特徴とする請求項1から4いずれか1項に記載のトラフィック情報管理サーバ。
【請求項8】
トラフィック収集機能部が、実行制御サーバから、ユーザからのサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と前記サービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を受信するステップと、
トラフィック集計機能部が、前記トラフィック収集機能部により受信された前記トラフィック情報を集計するステップと、
サービスコンポーネント利用不能率監視機能部が、前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するステップと、
ユーザ監視機能部が、前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するステップと、
サービスコンポーネント閉塞機能部が、前記サービスコンポーネント利用不能率監視部により抽出された前記サービスコンポーネントに対し、前記サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグの更新要求を外部に送信するステップと、
ユーザ閉塞機能部が、前記ユーザ監視機能部により抽出されたユーザを、前記特定のサービスコンポーネントに対して一時利用不可能になっているユーザの一覧であるブラックリストに追加する更新要求を外部に送信するステップと、
を有することを特徴とするトラフィック情報管理方法。
【請求項1】
実行制御サーバから、ユーザからのサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と前記サービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を受信するトラフィック収集機能部と、
前記トラフィック収集機能部により受信された前記トラフィック情報を集計するトラフィック集計機能部と、
前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント利用不能率監視機能部と、
前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部と、
前記サービスコンポーネント利用不能率監視部により抽出された前記サービスコンポーネントに対し、前記サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグの更新要求を外部に送信するサービスコンポーネント閉塞機能部と、
前記ユーザ監視機能部により抽出されたユーザを、前記特定のサービスコンポーネントに対して一時利用不可能になっているユーザの一覧であるブラックリストに追加する更新要求を外部に送信するユーザ閉塞機能部と、
を備えることを特徴とするトラフィック情報管理サーバ。
【請求項2】
前記サービスコンポーネント利用不能率監視機能部により抽出されたサービスコンポーネントを閉塞状態にしたことを当該サービスコンポーネントを提供するサービスコンポーネントサーバに通知する第1のアラーム通知機能部と、
前記ユーザ監視機能部により抽出されたユーザを前記特定のサービスコンポーネントに対して一時利用不可能にしたことを当該ユーザの端末に通知する第2のアラーム通知機能部と、
を備えることを特徴とする請求項1に記載のトラフィック情報管理サーバ。
【請求項3】
前記トラフィック情報は、サービスコンポーネントからの応答時間の状況を表す応答時間情報を含み、
前記サービスコンポーネント情報は、サービスコンポーネントへのリクエストを一律に一定の時間遅延させるフロー制御を行うか否かを表すフロー制御フラグを含み、
前記トラフィック集計機能部により集計された前記応答時間情報に基づいて、フロー制御を行うサービスコンポーネントを抽出する応答遅延監視機能部と、
前記応答遅延監視機能部により抽出されたサービスコンポーネントに対応する前記フロー制御フラグの更新要求を外部に送信するフロー規制機能部と、
を備えることを特徴とする請求項1又は2に記載のトラフィック情報管理サーバ。
【請求項4】
前記応答遅延監視機能部により抽出されたサービスコンポーネントへのリクエストを一律に一定の時間遅延させていることを当該サービスコンポーネントを提供するサービスコンポーネントサーバに通知する第3のアラーム通知機能部を備えることを特徴とする請求項3に記載のトラフィック情報管理サーバ。
【請求項5】
前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの数に基づいて、一時利用不可能にするユーザを抽出することを特徴とする請求項1から4いずれか1項に記載のトラフィック情報管理サーバ。
【請求項6】
前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの数と当該リクエストに対するエラーの数とに基づいて、一時利用不可能にするユーザを抽出することを特徴とする請求項1から4いずれか1項に記載のトラフィック情報管理サーバ。
【請求項7】
前記ユーザ監視機能部は、特定のユーザから前記特定のサービスコンポーネントに送信されたリクエストの平均サイズに基づいて、一時利用不可能にするユーザを抽出することを特徴とする請求項1から4いずれか1項に記載のトラフィック情報管理サーバ。
【請求項8】
トラフィック収集機能部が、実行制御サーバから、ユーザからのサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と前記サービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を受信するステップと、
トラフィック集計機能部が、前記トラフィック収集機能部により受信された前記トラフィック情報を集計するステップと、
サービスコンポーネント利用不能率監視機能部が、前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するステップと、
ユーザ監視機能部が、前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するステップと、
サービスコンポーネント閉塞機能部が、前記サービスコンポーネント利用不能率監視部により抽出された前記サービスコンポーネントに対し、前記サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグの更新要求を外部に送信するステップと、
ユーザ閉塞機能部が、前記ユーザ監視機能部により抽出されたユーザを、前記特定のサービスコンポーネントに対して一時利用不可能になっているユーザの一覧であるブラックリストに追加する更新要求を外部に送信するステップと、
を有することを特徴とするトラフィック情報管理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−122955(P2010−122955A)
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願番号】特願2008−296683(P2008−296683)
【出願日】平成20年11月20日(2008.11.20)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願日】平成20年11月20日(2008.11.20)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]