サービスコンポーネント管理システム、実行制御サーバ、プロファイルサーバ及びサービスコンポーネント管理方法
【課題】複数台の実行制御サーバを並列に実行したとしてもシステム全体でリクエストを監視することができ、サービスコンポーネントへのリクエスト処理量を向上することができる。
【解決手段】トラフィック情報管理サーバ14は、実行制御サーバ1,2,3から収集したトラフィック情報を集計するトラフィック集計機能部16と、集計したトラフィック情報に基づいて閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部17と、集計したトラフィック情報に基づいて特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部18と、閉塞状態にするサービスコンポーネント又は一時利用不可能にするユーザをプロファイルサーバ21に通知するリアクション機能部19と、を備える。
【解決手段】トラフィック情報管理サーバ14は、実行制御サーバ1,2,3から収集したトラフィック情報を集計するトラフィック集計機能部16と、集計したトラフィック情報に基づいて閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部17と、集計したトラフィック情報に基づいて特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部18と、閉塞状態にするサービスコンポーネント又は一時利用不可能にするユーザをプロファイルサーバ21に通知するリアクション機能部19と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービスコンポーネント管理システム、実行制御サーバ、プロファイルサーバ及びサービスコンポーネント管理方法に関する。
【背景技術】
【0002】
現在、ウェブサービス等のサービスコンポーネントを連携利用することで、新たなサービスを容易に実現する試みがある。
非特許文献1及び2に記載された技術では、電話サービスとウェブサービスとを連携するシステムにおいて、実行制御サーバがユーザ認証やトラフィック制御などの共通処理を一括して行っている。
【非特許文献1】山登庸次、大西浩行、中野雄介、“電話−ウェブ連携を促進する実行制御機能の検討”電子情報通信学会2008年総合大会講演論文集、B-19-10、Mar.2008.
【非特許文献2】Y.Yamato, H.Ohnishi, and H.Sunaga.“Development of ServiceControl Server for Web-Telecom Coordination Service,”、 IEEE International Conference on Web Services、ICWS2008、Sep.2008.
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、非特許文献1及び2では、1台の実行制御サーバ単体での運用を想定しているため、実行制御サーバを複数台用いた場合には、ユーザからサービスコンポーネントへのリクエストをシステム全体で監視することができない、という問題がある。
例えば、あるユーザaがサービスコンポーネントAを1日に使用できる回数が100回と設定されていたときに、ユーザaが実行制御サーバ1で30回、実行制御サーバ2で80回、実行制御サーバ3で60回サービスコンポーネントAを使用した場合であっても、1日の使用制限回数100回を超えているユーザとしてユーザaを検出することはできなかった。
本発明は上記の点に鑑みてなされたものであり、その目的は、複数台の実行制御サーバを並列に実行したとしてもシステム全体でリクエストを監視することができ、サービスコンポーネントへのリクエスト処理量を向上することができるサービスコンポーネント管理システム、実行制御サーバ、プロファイルサーバ及びサービスコンポーネント管理方法を提供することにある。
【課題を解決するための手段】
【0004】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、を備えるプロファイルサーバと、ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、を備える複数の実行制御サーバと、前記実行制御サーバから前記トラフィック情報を受信するトラフィック収集機能部と、前記トラフィック収集機能部により受信された前記トラフィック情報を集計するトラフィック集計機能部と、前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部と、前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部と、前記サービスコンポーネント監視機能部により抽出されたサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、前記ユーザ監視機能部により抽出されたユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するリアクション機能部と、を備えるトラフィック情報管理サーバと、を有することを特徴とするサービスコンポーネント管理システムである。
【0005】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記サービスコンポーネント情報は、サービスコンポーネントにフロー制御を行うか否かを表すフロー制御フラグを含み、前記トラフィック情報は、特定のサービスコンポーネントからの応答時間の状況を表す応答時間情報を含み、前記サービスコンポーネント監視機能部は、前記トラフィック集計機能部により集計された前記応答時間情報に基づいて、フロー制御を行うサービスコンポーネントを抽出し、前記リアクション機能部は、前記サービスコンポーネント監視機能部により抽出されたフロー制御を行うサービスコンポーネントに対応する前記フロー制御フラグの更新要求を前記プロファイルサーバに送信し、前記実行制御サーバは、前記フロー制御フラグに基づいて、前記サービスコンポーネントへの前記リクエストを一律に一定の時間遅延させるフロー規制機能部を備えることを特徴とする。
【0006】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記実行制御サーバは、ユーザの端末から認証チケット要求を受信すると、ユーザ認証を行い、認証すると認証チケットを発行して前記端末に返信するパスワード認証機能部と、前記受信部によりユーザの端末からサービスコンポーネントへのリクエストが受信されると、当該リクエストに含まれる認証チケットを検証するシングルサインオン機能部と、を備えることを特徴とする。
【0007】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記コンポーネントサービス情報は、サービスコンポーネントを利用可能なユーザの一覧であるホワイトリストを含み、前記実行制御サーバは、前記ホワイトリストに前記ユーザに登録されているか否かを判定するホワイトリスト照合機能部を有し、前記送信部は、前記ユーザが前記ホワイトリストに登録されている場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信することを特徴とする。
【0008】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記データベース登録制御機能部は、前記プロファイルデータベースを更新すると、その旨を前記実行制御サーバに通知し、前記実行制御サーバは、前記ユーザ情報と前記サービスコンポーネント情報を保持するキャッシュデータ管理機能部と、前記プロファイルサーバから前記ユーザ情報又は前記サービスコンポーネント情報の更新が通知されると、前記キャッシュデータ管理機能部が保持する前記ユーザ情報又は前記サービスコンポーネント情報を更新するデータベース更新通知機能部と、を備えることを特徴とする。
【0009】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、所定時間内における前記ユーザから前記サービスコンポーネントへ送信されたリクエストの数が所定の閾値を超えた場合に、エラーを前記実行制御サーバに通知するスロットリングサーバを有し、前記送信部は、前記スロットリングサーバからエラーが通知されなかった場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信することを特徴とする。
【0010】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記プロファイルサーバは、前記プロファイルデータベースに記憶されている前記サービスコンポーネント情報及び前記ユーザ情報の登録、更新、削除を受け付けるカスコン機能部を備えることを特徴とする。
【0011】
また、本発明の一態様は、ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、を備えることを特徴とする実行制御サーバである。
【0012】
また、本発明の一態様は、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、を備えることを特徴とするプロファイルサーバである。
【0013】
また、本発明の一態様は、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースを備えるプロファイルサーバが、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するステップと、実行制御サーバが、ユーザの端末からサービスコンポーネントへのリクエストを受信するステップと、前記実行制御サーバが、前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するステップと、実行制御サーバが、前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するステップと、前記実行制御サーバが、前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないでないと判定し、かつ前記サービスコンポーネントが閉塞状態でないと判定した場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信するステップと、前記実行制御サーバが、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するステップと、トラフィック情報管理サーバが、前記実行制御サーバから前記トラフィック情報を受信するステップと、前記トラフィック情報管理サーバが、受信した前記トラフィック情報を集計するステップと、前記トラフィック情報管理サーバが、集計した前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するステップと、前記トラフィック情報管理サーバが、集計した前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するステップと、前記トラフィック情報管理サーバが、抽出した閉塞状態にするサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、抽出した一時利用不可能にするユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するステップと、を有することを特徴とするサービスコンポーネント管理方法である。
【発明の効果】
【0014】
本発明によれば、トラフィック情報管理サーバが、複数の実行制御サーバからトラフィック情報を収集して集計して閉塞状態にするサービスコンポーネント及び特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出しているため、実行制御サーバが複数台並列して処理を行ってもシステム全体としてトラフィック情報の整合性を保つことができる。
また、実行制御サーバが複数台並列してサービスコンポーネントへのリクエスト処理を行っているため、単位時間におけるサービスコンポーネントへのリクエスト処理量を向上することができる。
また、各サービスコンポーネントにおける共通処理を一括して実行制御サーバが行っているため、サービス事業者側のサービスコンポーネント以外の機能(非機能要件)実装にかかる投資及び経費費用を軽減することができる。
また、実行制御サーバは、閉塞状態にあるサービスコンポーネントへのリクエストを遮断することにより、障害が発生したサービスコンポーネントサーバの影響が他のサービスコンポーネントへの波及を防ぐことができる。
【発明を実施するための最良の形態】
【0015】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態によるサービスコンポーネント管理システムの構成を示すブロック図である。
サービスコンポーネント管理システムは、実行制御サーバクラスタ4と、スロットリングサーバ10と、トラフィック情報管理サーバ14と、プロファイルサーバ21と、トラフィック情報データベース20と、サービスリクエスタ端末11,12と、複数のサービスコンポーネントサーバ25と、を含んで構成される。
サービスリクエスタ端末11,12と実行制御サーバクラスタ4及び、実行制御サーバクラスタ4とサービスコンポーネントサーバ25とは、ネットワーク13を介してメッセージの送受信を行う。ネットワーク13は、電話交換等の通信ネットワーク、或いはインターネット等の情報ネットワーク、或いはサービス制御層とパケット転送層とを有するNGN(Next Generation Network)、或いは移動体ネットワーク等からなるネットワークである。
【0016】
サービスコンポーネントサーバ25は、サービスリクエスタ端末11,12に複数のサービスコンポーネントを提供するサーバ装置である。サービスコンポーネントとは、サービス事業者が提供するウェブサービスや電話サービスなどのサービスである。
サービスリクエスタ端末11,12は、複数のサービスコンポーネントが連携してなるサービスを利用するユーザ(リクエスタ)が使用する端末である。
【0017】
実行制御サーバクラスタ4は、実行制御サーバ1,2,3群である。
実行制御サーバ1,2,3は、各サービスコンポーネントの共通処理を行うサーバ装置である。各サービスコンポーネントの共通処理とは、ユーザ認証やトラフィック制御などである。実行制御サーバ1,2,3の機能構成は後述する。なお、サービスリクエスタ端末11,12からのリクエストは図示しないロードバランサーにより、ラウンドロビンアルゴリズムや実行制御サーバ1,2,3のCPU(中央演算装置)使用率に応じて実行制御サーバ1,2,3に振り分けられる。
プロファイルサーバ21は、ユーザ情報とサービスコンポーネント情報とを保持するサーバ装置である。プロファイルサーバ21の機能構成は後述する。
【0018】
スロットリングサーバ10は、短周期にユーザから過剰な数のリクエストがサービスコンポーネントサーバ25へ送信されないように制御するスロットリング処理を行うサーバ装置である。具体的には、スロットリングサーバ10は、レート判定時間(例えば数秒などの短周期)内における特定のユーザから特定のサービスコンポーネントへ送信されたリクエストの数をメモリ上に記憶しており、実行制御サーバ1からリクエストを受信すると、リクエストの数に1加算する。そして、スロットリングサーバ10は、リクエストの数が予め設定されたリクエスト先のサービスコンポーネントに対応するスロットリング閾値を超えているか否かを判定し、リクエストの数がレート閾値を超えている場合には、リクエストを遮断し、実行制御サーバ1にエラーを返信する。一方、リクエストの数がスロットリング閾値以下である場合には、実行制御サーバ1にリクエストを返信する。なお、スロットリングサーバ10は、スロットリング閾値をプロファイルサーバ21から取得する。
【0019】
トラフィック情報管理サーバ14は、各サービスコンポーネントへの負荷状況を監視するサービスコンポーネント品質監視制御を行うサーバ装置である。トラフィック情報管理サーバ14の機能構成は後述する。
トラフィック情報データベース20は、トラフィック情報の集計結果を記憶保持するデータベースであり、サービスコンポーネントテーブルと、オペレーションテーブルと、オペレーション−ユーザテーブルと、ユーザテーブルとを保持している。トラフィック情報とは、サービスコンポーネントテーブルと、オペレーションテーブルと、オペレーション−ユーザテーブルと、ユーザテーブルにおける各項目をトラフィック情報生成時間(例えば3分)毎に集計した情報である。また、オペレーション−ユーザテーブル及びユーザテーブルの各項目が、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報である。また、サービスコンポーネントテーブルの各項目が、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報である。また、オペレーションテーブルの各項目が、特定のサービスコンポーネントからの応答時間の状況を表すサービスコンポーネントのオペレーション別応答時間情報である。
【0020】
図2は、本実施形態におけるサービスコンポーネントテーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネントテーブルは、年月日と、時と、サービスIDと、リクエスト数と、エラー数の各項目の列を有している。時は、時間を示しており、例えば、時「10」は、10時00分から10時59分までを表す。サービスIDは、サービスコンポーネントを識別する識別情報である。リクエスト数は、サービスコンポーネント宛に送信されたリクエストの数である。エラー数は、サービスリクエスト宛に送信されたリクエストに対するエラーの数であり、認証NGと、認可NGと、応答タイムアウトの各項目を有している。認証NGは、ユーザ認証されなかった場合のエラーである。認可NGは、例えばユーザにサービスコンポーネントの使用権限がない場合のエラーである。応答タイムアウトは、リクエストに対するレスポンスが一定時間内に返されなかった場合のエラーである。
【0021】
図3は、本実施形態におけるオペレーションテーブルのデータ構造とデータ例を示す概略図である。オペレーションテーブルは、年月日と、時と、サービスIDと、オペレーション名と、レスポンス数と、応答時間合計の各項目の列を有している。オペレーション名は、サービスコンポーネントのオペレーション(例えば、電話サービスの場合、発呼、着信等)の名称である。レスポンス数は、リクエストに対するレスポンスの数である。応答時間合計は、実行制御サーバ1,2,3がリクエストを送信してからレスポンスを受信するまでの応答時間の合計値であり、単位はミリ秒(ms)である。
【0022】
図4は、本実施形態におけるオペレーション−ユーザテーブルのデータ構造とデータ例を示す概略図である。オペレーション−ユーザテーブルは、年月日と、時と、サービスIDと、オペレーション名と、ユーザIDと、リクエスト数の各項目の列を有している。ユーザIDは、ユーザを識別するための識別情報である。
【0023】
図5は、本実施形態におけるユーザテーブルのデータ構造とデータ例を示す概略図である。ユーザテーブルは、年月日と、時と、ユーザIDと、リクエスト数と、エラー数の各項目の列を有している。
【0024】
図6は、本実施形態におけるプロファイルサーバ21の機能構成を示すブロック図である。
プロファイルサーバ21は、カスコン機能部22と、データベース登録制御機能部23と、プロファイルデータベース24とを含んで構成される。
プロファイルデータベース24は、ユーザ情報とサービスコンポーネント情報を保持するデータベースであり、ユーザ情報テーブルと、ユーザ閉塞情報テーブルと、サービスコンポーネント情報テーブルと、サービスコンポーネント閾値情報テーブルと、オペレーション閾値情報テーブルを保持している。
カスコン機能部22は、プロファイルデータベース24が保持しているサービスコンポーネント情報及びユーザ情報を更新するためのインタフェース(例えば、ウェブページなど)を提供する。具体的には、カスコン機能部22は、サービスリクエスタ端末11,12などからサービスコンポーネント情報及びユーザ情報の登録要求、更新要求、削除要求を受け付け、データベース登録制御機能部23を介してプロファイルデータベース24を更新する。これにより、ユーザ、サービスコンポーネント管理システムを保守運用するシステム保守運用者、或いはサービスコンポーネントを提供するサービス事業者は、ウェブブラウザなどを用いてユーザ情報及びサービスコンポーネント情報を更新することができる。
データベース登録制御機能部23は、トラフィック情報管理サーバ14又はカスコン機能部22からユーザ情報又はサービスコンポーネント情報の更新要求を受信すると、プロファイルデータベース24が保持しているユーザ情報及びサービスコンポーネント情報を更新するとともに、更新のあった情報をSOAP(Simple Object Access Protocol)により実行制御サーバ1,2,3に通知する。ただし、データベース登録制御機能部23は、ユーザの認証情報(例えば、パスワード等)に更新があったとしても、ユーザの認証情報が更新されたことを実行制御サーバ1,2,3に通知しない。例えば、トラフィック情報管理サーバ14からあるサービスコンポーネントの閉塞フラグを立てる指示を受信した場合には、データベース登録制御機能部23は、プロファイルデータベース24に記憶されているそのサービスコンポーネントの閉塞フラグを立てるとともに、そのサービスコンポーネントの閉塞フラグを立てたことを実行制御サーバ1,2,3に通知する。閉塞フラグとは、サービスコンポーネントが閉塞状態にあるか否かを示すフラグである。閉塞状態とは、サービスコンポーネントを利用できない状態である。
【0025】
図7は、本実施形態におけるユーザ情報テーブルのデータ構造とデータ例を示す概略図である。ユーザ情報テーブルは、ユーザ情報として、ユーザIDと、パスワードの各項目の列を有している。ユーザIDは、ユーザを識別する識別情報である。パスワードは、ユーザ認証を行うためのパスワードである。本実施形態では、パスワードがユーザ認証情報である。
【0026】
図8は、本実施形態におけるユーザ閉塞情報テーブルのデータ構造とデータ例を示す概略図である。ユーザ情報テーブルは、ユーザ情報として、ユーザIDと、閉塞フラグ(ユーザ閉塞フラグ)の各項目の列を有している。閉塞フラグは、ユーザがコンポーネント管理システムにおいて閉塞状態(サービスコンポーネントを利用できない状態)にあるか否かを示すフラグであり、閉塞フラグ「1」は閉塞状態であることを表し、閉塞フラグ「0」は閉塞状態ではないことを表す。
【0027】
図9は、本実施形態におけるサービスコンポーネント情報テーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネント情報テーブルは、サービスコンポーネント情報として、サービスIDと、シェイピング値と、優先度と、フロー規制フラグと、閉塞フラグ(サービスコンポーネント閉塞フラグ)と、ホワイトリストと、ブラックリストと、フィルタ条件と、適用する処理の各項目の列を有している。サービスIDは、サービスコンポーネントを識別する識別情報である。シェイピング値は、1秒間にそのサービスコンポーネントに送信可能なリクエスト数である。優先度は、トラフィック制御における各サービスコンポーネントの優先度である。フロー規制フラグは、そのサービスコンポーネントにフロー制御があるか否かを示すフラグであり、フロー規制フラグ「1」はフロー規制があることを表し、フロー規制フラグ「0」はフロー規制がないことを表す。閉塞フラグは、サービスコンポーネントが閉塞状態(利用できない状態)にあるか否かを示すフラグであり、閉塞フラグ「1」は閉塞状態であることを表し、閉塞フラグ「0」は閉塞状態ではないことを表す。ホワイトリストは、サービスコンポーネントを利用可能なユーザIDの一覧である。ブラックリストは、サービスコンポーネントを一時利用不可能になっているユーザIDの一覧である。フィルタ条件とは、各リクエストのパラメータに対するフィルタ条件である。例えば、検索を行うリクエストの検索個数を表すパラメータaに対するフィルタ条件として、「パラメータa>100(一回の検索に対して検索個数が100以上)」などを設定することが考えられる。適用する処理とは、実行制御サーバ1,2,3において、リクエストに対して実行する処理である。
【0028】
図10は、本実施形態におけるサービスコンポーネント閾値情報テーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネント閾値情報テーブルは、サービスIDと、サービス利用不能率閾値と、エラー閾値と、サイズ閾値との各項目の列を有している。サービス利用不能率閾値は、サービスが利用不能になる率に関する閾値である。エラー閾値は、エラーの割合に関する閾値である。サイズ閾値は、リクエストのサイズに関する閾値である。
【0029】
図11は、本実施形態におけるオペレーション閾値情報テーブルのデータ構造とデータ例を示す概略図である。オペレーション閾値情報テーブルは、サービスIDと、オペレーション名と、レート閾値と、平均応答時間閾値と、スロットリング閾値との各項目の列を有している。オペレーション名は、サービスコンポーネントのオペレーション(例えば、電話サービスの場合、発呼、着信等)の名称である。レート閾値は、1ユーザがレート監視周期(例えば1日)にサービスコンポーネントに送信可能なリクエスト数の閾値である。平均応答時間閾値は、リクエストに対する平均応答時間に関する閾値である。スロットリング閾値は、1ユーザがレート判定時間(例えば数秒などの短周期)に送信可能なリクエスト数の閾値である。
【0030】
図12は、本実施形態における実行制御サーバ1の機能構成を示すブロック図である。
実行制御サーバクラスタ4では、共通処理を複数の実行制御サーバ1,2,3に並列に行わせることにより、負荷分散を行っている。負荷分散を行うことで、システム全体におけるサービスコンポーネントへのリクエストの処理量を増加することができる。また、各実行制御サーバ1,2,3のリクエスト処理量が減少することにより、リクエストを高速に処理することができる。
実行制御サーバ1は、認証機能部5と、ユーザ閉塞確認機能部31と、認可機能部6と、データベース更新通知受付機能部33と、キャッシュデータ管理機能部34と、サービスコンポーネント閉塞確認機能部32と、コンテンツフィルタ機能部7と、転送実行制御機能部30と、認証通信制御機能部27と、トラフィック制御機能部8と、転送通信制御機能部29と、トラフィック情報集計機能部9と、メッセージプロキシ機能部28とを含んで構成される。なお、実行制御サーバ2及び3の機能構成は実行制御サーバ1と同様である。
【0031】
キャッシュデータ管理機能部34は、ユーザ情報テーブルと、ユーザ閉塞情報テーブルと、サービスコンポーネント情報テーブルとのキャッシュ(cache)データを保持している。但し、キャッシュデータ管理機能部34は、ユーザ認証情報を保持しない。
データベース更新通知受付機能部33は、プロファイルサーバ21からユーザ情報又はサービスコンポーネント情報の更新が通知されると、キャッシュデータ管理機能部24が保持するユーザ情報テーブル、ユーザ閉塞情報テーブル或いはサービスコンポーネント情報テーブルを更新する。例えば、プロファイルサーバ21からユーザ閉塞情報テーブルの閉塞フラグが「1」に変更されたと通知された場合には、データベース更新通知受付機能部33は、キャッシュデータ管理機能部34に記憶されているユーザ閉塞情報テーブルの閉塞フラグを「1」に置き換える。
これにより、プロファイルサーバ21のプロファイルデータベース24が更新されると、キャッシュデータ管理機能部34のキャッシュデータも更新されるため、キャッシュデータ管理機能部34に保持されているデータを常に最新のデータとして使用することができる。これにより、実行制御サーバ1は、プロファイルデータベース24に保持されている情報を用いて処理をする場合に、プロファイルサーバ21に問い合わせをする必要がなくなるため、より高速に処理をすることができる。なお、実行制御サーバ1は、ユーザ認証情報を使用する場合には、プロファイルサーバ21のプロファイルデータベース24から取得する。
【0032】
認証通信制御機能部27は、サービスリクエスタ端末11(又は12)からサービスコンポーネントリクエスト(以下、リクエストと呼ぶ)の認証チケット発行要求を受信すると、受信した認証チケット発行要求を認証機能部5に出力する。認証チケット発行要求とは、サービスコンポーネントを利用するための認証チケットの発行要求メッセージであり、ユーザID及びパスワードが含まれる。また、認証通信制御機能部27は、認証機能部5から認証チケット発行要求に対する応答が入力されると、その応答を要求元のサービスリクエスタ端末11に送信する。
【0033】
認証機能部5は、パスワード認証機能部5−1と、SSO(シングルサインオン)機能部5−2とを含んで構成される。パスワード認証機能部5−1は、認証チケット発行要求が入力されると、認証チケット発行要求に含まれるユーザIDを用いて、プロファイルサーバ21からユーザ認証情報を取得する。なお、パスワード認証機能部5−1は、認証チケット発行要求に含まれるユーザIDがプロファイルサーバ21に記憶されていない場合には、認証チケット発行要求に対する応答としてエラーを認証通信制御機能部27に返す。次に、パスワード認証機能部5−1は、取得したユーザ認証情報のパスワードと認証チケット発行要求に含まれるパスワードが一致するか否かを判定するパスワード認証を行い。パスワード認証機能部5−1は、パスワードが一致した(認証した)場合に、認証チケット発行要求に対する応答として認証チケット発行し、認証通信制御機能部27に出力する。なお、認証チケットには、ユーザIDや発行者の署名などが含まれる。一方、パスワード認証機能部5−1は、パスワードが一致しない場合には、認証チケット発行要求に対する応答としてエラーを認証通信制御機能部27に返す。なお、本実施形態では、パスワード認証機能部5−1は、パスワード認証を用いているが、パスワード認証に加えて生体認証或いはサービスリクエスタ端末11,12の識別子に基づく認証などを用いてもよい。SSO機能部5−2は、メッセージプロキシ機能部28を介してサービスリクエスタ端末11,12からサービスコンポーネントに対するリクエストを受信すると、リクエストに含まれる認証チケットの発行者の署名を検証して、正当な認証チケットである(認証チケットが有効である)か否かの判定を行う。SSO機能部5−2は、正当な認証チケットであると判定した場合には、転送実行制御機能部30を介してリクエストをユーザ閉塞確認機能部31に出力する。一方、正当な認証チケットではないと判定した場合には、サービスリクエスタ端末11,12にエラーを返信する。なお、ユーザは、一度パスワード認証されると、その後は認証チケットを用いてシングルサインオンで複数のサービスコンポーネントの利用が可能である。
【0034】
ユーザ閉塞確認機能部31は、契約違反が検出されたユーザからのリクエストをシステム全体で遮断するための機能であり、ユーザが閉塞状態であるか否かを判定する。具体的には、ユーザ閉塞確認機能部31は、認証チケットに含まれるユーザIDに対応する閉塞フラグをキャッシュデータ管理機能部34のユーザ閉塞情報テーブルから取得し、閉塞フラグが立っている(つまり、「1」である)か否かを判定する。そして、ユーザ閉塞確認機能部31は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。一方、閉塞フラグが立っていない場合には、転送実行制御機能部30を介して認可機能部6にリクエストを出力する。
【0035】
認可機能部6は、リクエスト先のサービスコンポーネントをユーザが利用可能か否かを判定する機能であり、ホワイトリスト照合機能部6−1と、ブラックリスト照合機能部6−2と、ID変換機能部6−3とを含んで構成される。ホワイトリスト照合機能部6−1は、ユーザがリクエスト先のサービスコンポーネントを利用できる権限を持つか否かを判定する機能である。具体的には、ホワイトリスト照合機能部6−1は、リクエスト先のサービスコンポーネントのホワイトリストをキャッシュデータ管理機能部34のサービスコンポーネント情報から取得し、認証チケットに含まれるユーザIDがホワイトリストに登録されているか否かを判定する。そして、ホワイトリスト照合機能部6−1は、ユーザIDがホワイトリストに登録されている場合には、ブラックリスト照合機能部6−2にリクエストを出力する。一方、ホワイトリスト照合機能部6−1は、ユーザIDがホワイトリストに登録されていない場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。ブラックリスト照合機能部6−2は、ユーザが一時的にリクエスト先のサービスコンポーネントを利用停止になっているか否かを判定する機能である。具体的には、ブラックリスト照合機能部6−2は、リクエスト先のサービスコンポーネントのブラックリストをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、認証チケットに含まれるユーザIDがブラックリストに登録されている否かを判定する。そして、ブラックリスト照合機能部6−2は、ユーザIDがブラックリストに登録されていない場合には、ID変換機能部6−3にリクエストを出力する。一方、ユーザIDがブラックリストに登録されている場合には、リクエストを遮断し、メッセージプロキシ機能部28を介してサービスリクエスタ端末11にエラーを返信する。ID変換機能部6−3は、認証チケットに含まれるユーザIDをリクエスト先のサービスコンポーネントにおけるユーザIDに変換し、転送実行制御機能部30を介してサービスコンポーネント閉塞確認機能部32にリクエストを出力する。なお、ユーザIDと各サービスコンポーネントにおけるユーザIDとの対応を示すテーブルは、プロファイルサーバ21のプロファイルデータベース24に記憶されており、キャッシュデータ管理機能部34がキャッシュデータとして保持している。
なお、ホワイトリスト照合機能部6−1及びブラックリスト照合機能部6−2は、キャッシュデータ管理機能部34からホワイトリスト或いはブラックリストを取得しているが、キャッシュデータ管理機能部34にホワイトリスト或いはブラックリストが存在しない場合には、プロファイルサーバ21から取得する。
なお、本実施形態では、ホワイトリスト照合機能部6−1の処理とブラックリスト照合機能部6−2の処理とを両方行っているが、ホワイトリスト照合機能部6−1の処理は行わずにブラックリスト照合機能部6−2の処理のみ行ってもよい。或いは、ホワイトリスト照合機能部6−1の処理かブラックリスト照合機能部6−2の処理いずれかのみを行ってもよい。
【0036】
サービスコンポーネント閉塞確認機能部32は、リクエスト先のサービスコンポーネントが利用停止、或いはSLA(Service Level Agreement)違反などで閉塞状態であるか否かを判定する機能である。具体的には、サービスコンポーネント閉塞確認機能部32は、リクエスト先のサービスコンポーネントに対応する閉塞フラグをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、閉塞フラグが立っている(つまり、「1」である)か否かを判定する。そして、サービスコンポーネント確認機能部32は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。一方、コンポーネント確認機能部32は、閉塞フラグが立っていない場合には、転送実行制御機能部30を介してスロットリングサーバ10にリクエストを転送する。
なお、本実施形態では、認可機能部6が認可処理を行った後にサービスコンポーネント閉塞確認機能部32が処理を行っているが、先にサービスコンポーネント閉塞確認機能部32がサービスコンポーネントの閉塞を確認した後に、認可機能部6が認可処理を行ってもよい。
【0037】
コンテンツフィルタ機能部7は、擾乱(例えばスパムなど)を防止する機能であり、リクエストに不正なパラメータが含まれていないか否かを判定する。コンテンツフィルタ機能部7は、転送実行制御機能部30を介してスロットリングサーバ10からリクエストが入力されると、リクエスト先のサービスコンポーネントに対応するフィルタ条件をキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、リクエストに含まれる各パラメータがフィルタ条件と合致するか否かを判定する。フィルタ条件と合致するパラメータがある場合には、コンテンツフィルタ機能部7は、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。一方、フィルタ条件と合致するパラメータがない場合には、コンテンツフィルタ機能部7は転送実行制御機能部30を介してトラフィック制御機能部8にリクエストを出力する。
【0038】
トラフィック制御機能部8は、サービスコンポーネント毎に単位時間の最大リクエスト数を制限する機能であり、シェイピング機能部8−1と、優先制御機能部8−2と、フロー規制機能部8−3とを含んで構成される。シェイピング機能部8−1は、サービスコンポーネントに過剰な数のリクエストが流れないようにリクエストをシェイピングする機能である。具体的には、まず、シェイピング機能部8−1は、リクエストをキューに一時的に保存する。そして、キャッシュデータ管理機能部34のサービスコンポーネント情報テーブルからリクエスト先のサービスコンポーネントのシェイピング値を取得し、取得したシェイピング値に合致するようにリクエストをキューから取り出して優先制御機能部8−2に出力する。具体的には、シェイピング機能部8−1は、1秒間に何回キューからリクエストを取り出したかのデータを保持し、当該データを参照して、リクエストを取り出した回数がシェイピング値より小さい場合にリクエストをキューから取り出して優先制御機能部8−2に出力する。優先制御機能部8−2は、優先度の高いサービスコンポーネントから順にリクエストを転送する機能である。具体的には、優先制御機能部8−2は、キャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから各サービスコンポーネントの優先度を取得し、優先度の高いサービスコンポーネントのリクエストから順にフロー規制機能部8−3に出力する。フロー規制機能部8−3は、フロー規制があるサービスコンポーネントへのリクエストを一律遅延させる機能である。具体的には、フロー制御機能部8−3は、リクエスト先のサービスコンポーネントに対応するフロー制御フラグをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、フロー規制フラグが立っている(つまり「1」である)場合には、リクエストを一律に一定の時間遅延させてから、転送実行制御機能部30、転送通信制御機能部29及びメッセージプロキシ機能部28を介してサービスコンポーネントサーバ25にリクエストを転送するとともに、転送実行制御機能部30及び転送通信制御機能部29を介してトラフィック情報集計機能部9にリクエストを出力する。これにより、輻輳しているサービスコンポーネントへの過剰なリクエストを制限することができる。
【0039】
メッセージプロキシ機能部(送信部、受信部)28は、サービスリクエスタ端末11(又は12)からサービスコンポーネントへのリクエストを受信し、受信したリクエストを転送通信制御機能部29及び転送実行制御機能部30を介して認証機能部5のSSO機能部5−2に出力する。そして、メッセージプロキシ機能部28は、認証機能部5と、ユーザ閉塞確認機能部31と、認可機能部6と、サービスコンポーネント閉塞確認機能部32と、コンテンツフィルタ機能部7と、トラフィック制御機能部8とにおける処理(以下、総称して共通処理を呼ぶ)が完了したリクエストが転送通信制御機能部29から入力されると、リクエストをサービスコンポーネントサーバ25に転送する。また、メッセージプロキシ機能部28は、サービスコンポーネントサーバ25からリクエストに対するレスポンスを受信すると、そのレスポンスを転送通信制御機能部29に出力する。そして、メッセージプロキシ機能部28は、転送通信制御機能部29からレスポンスに関するログ出力などの処理が完了したレスポンスが入力されると、そのレスポンスをサービスリクエスタ端末11に転送する。
【0040】
転送実行制御機能部30は、リクエスト先のサービスコンポーネントに適用する処理をキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、取得した適用する処理に応じて各部へリクエストを順に出力する。例えば、あるサービスコンポーネントへのリクエストにはコンテンツフィルタ機能部7の処理は行わないことが適用する処理に設定されている場合には、転送実行制御機能部30は、コンテンツフィルタ機能部7へリクエストを出力しない。或いは、ホワイトリスト照合機能部6−1の処理は行わずにブラックリスト照合機能部6−2の処理のみを行うことを適用する処理に設定してもよい。このように、各サーバコンポーネントに適用する処理を様々にカスタマイズすることができる。これにより、あるサービスコンポーネントにとっては不要な処理を省略して、共通処理を行う時間を短縮することができる。
【0041】
転送通信制御機能部29は、メッセージプロキシ機能部28と転送実行制御機能部30間の通信を仲介する機能であり、共通処理が完了したリクエストが入力されると、そのリクエストに関するログを出力するとともに、リクエストをトラフィック情報集計機能部9及びメッセージプロキシ機能部28に出力する。また、メッセージプロキシ機能部28からレスポンスが入力されると、そのレスポンスに関するログを出力するとともに、レスポンスをトラフィック情報集計機能部9及びメッセージプロキシ機能部28に出力する。
トラフィック情報集計機能部9は、リクエスト及びレスポンスに基づいてトラフィック情報を生成し、生成したトラフィック情報をポーリングにてトラフィック情報管理サーバ14に送信する。
【0042】
図13は、本実施形態におけるトラフィック情報管理サーバ14の機能構成を示すブロック図である。
トラフィック情報管理サーバ14は、複数の実行制御サーバ1,2,3からトラフィック情報を収集して集計を行い、全てのトラフィック情報を集約することで、サービスコンポーネント品質監視制御を行う。これにより、システム全体の整合を取ることができ、かつ、サービスコンポーネント品質監視制御の不整合を防ぐことができる。トラフィック情報管理サーバ14は、トラフィック収集機能部15と、トラフィック集計機能部16と、サービスコンポーネント監視機能部17と、ユーザ監視機能部18と、リアクション機能部19と、を含んで構成される。
【0043】
トラフィック収集機能部15は、実行制御サーバ1,2,3からトラフィック情報をポーリングにてトラフィック情報生成時間毎に収集し、トラフィック集計機能部16に出力する。
トラフィック集計機能部16は、入力されたトラフィック情報を集計する。具体的には、トラフィック集計機能部16は、サービスコンポーネント毎にリクエスト数とエラー数とをカウントする。また、トラフィック集計機能部16は、オペレーション毎にレスポンス数と応答時間合計とをカウントする。また、トラフィック集計機能部16は、オペレーションとユーザの組毎にリクエスト数をカウントする。また、トラフィック集計機能部16は、ユーザ毎にリクエスト数とエラー数とリクエストメッセージ合計とをカウントする。そして、トラフィック集計機能部16は、トラフィック情報が生成された年月日時とともにカウントした値をトラフィック情報データベース20に送信して記憶させる。
【0044】
図示しない監視実行制御機能部は、一定時間或いは一定周期でサービスコンポーネント監視機能部17とユーザ監視機能部18とに独立に処理を行わせる機能である。また、サービスコンポーネント監視機能部17及びユーザ監視機能部18における処理がサービスコンポーネント監視制御である。
【0045】
サービスコンポーネント監視機能部17は、閉塞状態にするサービスコンポーネント又はフロー規制状態にするサービスコンポーネントを抽出する機能であり、サービスコンポーネント利用不能率監視機能部と応答遅延監視機能部とを有している。
【0046】
サービスコンポーネント利用不能率監視機能部は、サービスコンポーネントのレスポンス数が許容範囲か否かを監視する機能であり、各サービスコンポーネントに対して以下の処理を実行する。まず。サービスコンポーネント利用不能率機能部は、プロファイルサーバ21からサービスコンポーネントに対応するサービス利用不能率閾値を取得し、トラフィック情報データベース20のサービスコンポーネントテーブルからサービスコンポーネント利用不能率監視周期(例えば1時間)におけるこのサービスコンポーネントのリクエスト数とエラー数の応答タイムアウトとを取得する。そして、サービスコンポーネント利用不能率機能部は、取得したリクエスト数に対する応答タイムアウト数の割合(エラー率)がサービス利用不能率閾値を超えているか否かを判定する。エラー率がサービス利用不能率閾値より大きい場合に、このサービスコンポーネントを閉塞状態にすると判定し、監視実行制御機能部を介してリアクション機能部19にその旨を通知する。
【0047】
応答遅延監視機能部は、各サービスコンポーネントのオペレーションに対して以下の処理を実行する。まず、応答遅延監視機能部は、プロファイルサーバ21からオペレーションに対応する平均応答時間閾値を取得し、トラフィック情報データベース20のオペレーションテーブルから応答遅延監視周期(例えば1時間)におけるオペレーションの応答時間合計及びレスポンス数を取得する。そして、応答遅延監視機能部は、応答時間合計にレスポンス数を除算した値(平均応答時間)が平均応答時間閾値より大きいか否かを判定する。平均応答時間が平均応答時間閾値より大きい場合に、応答遅延監視機能部は、このオペレーションのサービスコンポーネントをフロー規制状態にすると判定し、監視実行制御機能部を介してリアクション機能部19にその旨を通知する。
【0048】
ユーザ監視機能部18は、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出する機能であり、レート監視機能部とエラー率監視機能部とメッセージサイズ監視機能部とを有している。
【0049】
レート監視機能部は、あるユーザのサービスコンポーネントへのリクエスト数が利用制限回数を越えていないか否かを監視する機能であり、オペレーション毎に以下の処理を行う。レート監視機能部は、プロファイルサーバ21からオペレーションに対するレート閾値を取得し、各ユーザからそのオペレーションへのレート監視周期(例えば本日の0時から24時まで)におけるリクエスト数をトラフィック情報データベース20のオペレーション−ユーザテーブルから取得する。次に、レート監視機能部は、リクエスト数がレート閾値より大きいユーザを抽出する。そして、レート監視機能部は、リクエスト数がレート閾値より大きいユーザをそのオペレーションのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部を介してリアクション機能部19にその旨を通知する。
【0050】
エラー率監視機能部は、ユーザがサービスコンポーネントを不正に使用していないか否かをチェックする機能であり、ユーザとサービスコンポーネントの組ごとに以下の処理を行う。エラー率監視機能部は、プロファイルサーバ21からサービスコンポーネントに対するエラー閾値を取得し、トラフィック情報データベース20のユーザテーブルから各ユーザのエラー率監視周期(例えば本日の0時から24時まで)におけるリクエスト数及びエラー数を取得する。次に、エラー率監視機能部は、リクエスト数に対するエラー数の割合(エラー率)がエラー閾値より大きいユーザを抽出する。そして、エラー率監視機能部は、エラー率がエラー閾値より大きいユーザをそのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部を介してリアクション機能部19にその旨を通知する。
【0051】
メッセージサイズ監視機能部は、ユーザからサービスコンポーネントへのリクエストのメッセージサイズが大きすぎないか否かをチェックする機能であり、ユーザとサービスコンポーネントの組ごとに以下の処理を行う。メッセージサイズ監視機能部は、プロファイルサーバ21からサービスコンポーネントに対するサイズ閾値を取得し、トラフィック情報データベース20のユーザテーブルから各ユーザのメッセージサイズ監視周期(例えば本日の0時から24時まで)におけるリクエスト数とリクエストメッセージサイズ合計を取得する。次に、メッセージサイズ監視機能部は、リクエストメッセージサイズ合計をリクエスト数で除算した値(平均リクエストメッセージサイズ)がサイズ閾値より大きいユーザを抽出する。そして、メッセージサイズ監視機能部は、平均リクエストメッセージサイズがサイズ閾値より大きいユーザをそのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部を介してリアクション機能部19にその旨を通知する。
【0052】
リアクション機能部19は、監視実行制御機能部を介してサービスコンポーネント監視機能部17から閉塞状態にするサービスコンポーネントが通知されると、そのサービスコンポーネントに閉塞フラグを立てる指示をプロファイルサーバ21に送信する。閉塞フラグを立てる指示を受信すると、プロファイルサーバ21は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントの閉塞フラグを「1」にする。そして、リアクション機能部19のアラーム通知機能が、サービスコンポーネントサーバ25及びシステム保守運用者の端末等にサービスコンポーネントに対するリクエスト転送を停止した旨をメール等にて通知する。
【0053】
また、リアクション機能部19は、監視実行制御機能部を介してサービスコンポーネント監視機能部17からフロー規制状態にするサービスコンポーネントが通知されると、そのサービスコンポーネントレーションに対するフロー規制フラグを立てる指示をプロファイルサーバ21に送信する。フロー制御フラグを立てる指示を受信すると、プロファイルサーバ21は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのフロー制御フラグを「1」にする。そして、リアクション機能部19のアラーム通知機能が、サービスコンポーネントサーバ25及びシステム保守運用者の端末等にサービスコンポーネントに対するリクエスト転送のフロー規制を行った旨をメール等にて通知する。
【0054】
また、リアクション機能部19は、監視実行制御機能部を介してユーザ監視機能部18からあるサービスコンポーネントに対して一時利用不可能にするユーザが通知されると、そのサービスコンポーネントのブラックリストにそのユーザを追加する指示をプロファイルサーバ21に送信する。ブラックリストにユーザを追加する指示を受信すると、プロファイルサーバ21は、サービスコンポーネント情報テーブルにおけるブラックリストにそのユーザのユーザIDを追加する。そして、リアクション機能部19のアラーム通知機能が、ユーザのサービスリクエスタ端末11,12及びシステム保守運用者の端末等に警告をメール等にて通知する。
【0055】
ここで、スロットリングサーバ10におけるスロットリング処理と、トラフィック情報管理サーバ14におけるレート監視機能部の処理と、実行制御サーバ1,2,3におけるシェイピング機能部8の処理との概念の違いを説明する。
まず、シェイピング機能部8の処理は、特定のサービスコンポーネントに対して一定時間に送信可能なリクエスト数を監視する。例えば、サービスコンポーネントAに対して、全てのユーザ合計で1秒間に100回までといったようにシェイピング値を設定することが考えられる。
次に、スロットリング処理は、悪意のあるユーザを排除するための機能であり、特定のユーザから特定のサービスコンポーネントに短周期の時間に送信可能なリクエスト数を監視する。例えば、サービスコンポーネントAに対して、1ユーザは1秒間に5回まで送信可能といったようにスロットリング閾値を設定することが考えられる。
最後に、レート監視機能部の処理は、契約により定められた制限回数オーバーを排除するための機能であり、特定のユーザが特定のサービスコンポーネントに長周期の時間に送信可能なリクエスト数を監視する。例えば、サービスコンポーネントAに対して1ユーザは1日に5回まで送信可能といったようにレート閾値を設定することが考えられる。
スロットリング処理とレート監視機能部の処理は、機能としては同一であるが、スロットリングサーバ10は短周期での攻撃を防ぐためメモリ上でリクエスト数の集計を行うのに対し、レート監視機能部の処理は、長周期で監視するためトラフィック情報管理サーバ14で一定周期毎にリクエスト数の集計を行い、トラフィック情報データベース20にリクエスト数を保持している。
【0056】
次に、図14から18を参照して、上述したサービスコンポーネント管理システムの動作を説明する。図14は、認証チケット発行処理の手順を示すシーケンス図である。
まず、サービスリクエスタ端末11が、認証チケット発行要求を実行制御サーバ1に送信する(ステップSa1)。実行制御サーバ1では、認証通信制御機能部27が認証チケット発行要求を受信し、認証機能部5のパスワード認証機能部5−1に出力する(ステップSa2)。パスワード認証機能部5−1は、認証チケット発行要求に含まれるユーザIDを用いて、プロファイルサーバ21へユーザ認証情報を問い合わせる(ステップSa3)。プロファイルサーバ21は、受信したユーザIDに対応するユーザ認証情報を実行制御サーバ1,2,3のパスワード認証機能部5−1へ返信する(ステップSa4)。次に、パスワード認証機能部5−1は、パスワード認証を行い、認証すると認証チケットを生成する(ステップSa5)。そして、パスワード認証機能部5−1は、生成した認証チケットを認証通信制御機能部27へ出力する(ステップSa6)。認証通信制御機能部27は、認証チケット発行要求元のサービスリクエスタ端末11へ認証チケットを返信する(ステップSa7)。
【0057】
図15及び16は、サービスコンポーネントリクエストに対する共通処理の手順を示すシーケンス図である。
まず、サービスリクエスタ端末11が、サービスコンポーネントに対するリクエストを実行制御サーバ1に送信する(ステップSb1)。実行制御サーバ1では、メッセージプロキシ機能部28がリクエストを受信し、受信したリクエストを転送通信制御機能部29と転送実行制御機能部30を介して認証機能部5のSSO機能部5−2に出力する(ステップSb2)。SSO機能部5−2は、リクエストに含まれる認証チケットの署名を検証し、正当な認証チケットであると判定した場合は、転送実行制御機能部30を介してユーザ閉塞確認機能部31にリクエストを出力する(ステップSb3)。ユーザ閉塞確認機能部31は、認証チケットに含まれるユーザIDに対する閉塞フラグをキャッシュデータ管理機能部34のユーザ閉塞情報テーブルから取得し、閉塞フラグが立っているか否かを判定する。閉塞フラグが立っていない場合には、転送実行制御機能部30を介して認可機能部6のホワイトリスト照合機能部6−1にリクエストを出力する(ステップSb4)。なお、ユーザ閉塞確認機能部31は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。
【0058】
ホワイトリスト照合機能部6−1は、リクエスト先のサービスコンポーネントのホワイトリストをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、認証チケットに含まれるユーザIDがホワイトリストに登録されているか否かを判定する。そして、ホワイトリスト照合機能部6−1は、ユーザIDがホワイトリストに登録されている場合には、ブラックリスト照合機能部6−2にリクエストを出力する(ステップSb5)。なお、ホワイトリスト照合機能部6−1は、ユーザIDがホワイトリストに登録されていない場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。ブラックリスト照合機能部6−2は、リクエスト先のサービスコンポーネントのブラックリストをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、認証チケットに含まれるユーザIDがブラックリストに登録されている否かを判定する。そして、ブラックリスト照合機能部6−2は、ユーザIDがブラックリストに登録されていない場合には、ID変換機能部6−3にリクエストを出力する(ステップSb6)。なお、ユーザIDがブラックリストに登録されている場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。
【0059】
ID変換機能部6−3は、認証チケットに含まれるユーザIDをリクエスト先のサービスコンポーネントにおけるユーザIDに変換し、転送実行制御機能部30を介してサービスコンポーネント閉塞確認機能部32にリクエストを出力する(ステップSb7)。サービスコンポーネント閉塞確認機能部32は、リクエスト先のサービスコンポーネントに対応する閉塞フラグをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、閉塞フラグが立っているか否かを判定する。そして、サービスコンポーネント閉塞確認機能部322は、閉塞フラグが立っていない場合には、転送実行制御機能部30を介してスロットリングサーバ10にリクエストを転送する(ステップSb8)。なお、サービスコンポーネント閉塞確認機能部322は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。
なお、本例では、認可機能部6が処理を行った後にサービスコンポーネント閉塞確認機能部32が処理を行っているが、ユーザ閉塞確認機能部31及びサービスコンポーネント閉塞確認機能部32が処理を行った後に認可機能部6が処理を行ってもよい。また、ホワイトリスト照合機能部6−1の処理を行わずにブラックリスト照合機能部6−2の処理を行ってもよい。
【0060】
スロットリングサーバ10は、実行制御サーバ1からリクエストを受信すると、サービスリクエスタ端末11からサービスコンポーネントサーバ25へのレート判定時間内のリクエスト数がスロットリング閾値を超えているか否かを判定する。そして、リクエスト数がスロットリング閾値以下である場合には、実行制御サーバ1にリクエストを転送する(ステップSb9)。なお、スロットリングサーバ10は、リクエスト数がスロットリング閾値を超えている場合には、リクエストを遮断し、実行制御サーバ1にエラーを返信する。実行制御サーバ1では、コンテンツフィルタ機能部7がリクエストを受信し、リクエストに含まれる各パラメータがフィルタ条件と合致するか否かを判定する。そして、コンテンツフィルタ機能部7は、フィルタ条件と合致するパラメータがない場合に、転送実行制御機能部30を介してトラフィック制御機能部8のシェイピング機能部8−1にリクエストを出力する(ステップSb10)。なお、コンテンツフィルタ機能部7は、フィルタ条件と合致するパラメータがある場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。
【0061】
シェイピング機能部8−1は、キャッシュデータ管理機能部34のサービスコンポーネント情報テーブルからリクエスト先のサービスコンポーネントのシェイピング値を取得し、取得したシェイピング値に合致するようにリクエストを優先制御機能部8−2に出力する(ステップSb11)。優先制御機能部8−2は、キャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから各サービスコンポーネントの優先度を取得し、優先度の高いサービスコンポーネントのリクエストから順にフロー規制機能部8−3に出力する(ステップSb12)。フロー規制機能部8−3は、リクエスト先のサービスコンポーネントに対応するフロー制御フラグをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、フロー規制フラグが立っている場合には、リクエストを一律に一定の時間遅延させてから、転送実行制御機能部30、転送通信制御機能部29及びメッセージプロキシ機能部28を介してサービスコンポーネントサーバ25にリクエストを転送する(ステップSb13)とともに、転送実行制御機能部30及び転送通信制御機能部29を介してトラフィック情報集計機能部9にリクエストを出力する(ステップSb14)。トラフィック情報集計機能部9は、トラフィック情報を生成し、トラフィック情報管理サーバ14からのポーリングで生成したトラフィック情報をトラフィック情報管理サーバ14のトラフィック収集機能部15に送信する(ステップSb15)。
【0062】
図17は、レート監視処理の手順を示すシーケンス図である。
トラフィック情報管理サーバ14のトラフィック収集機能部15は、実行制御サーバ1からポーリングにより数分毎にトラフィック情報を収集し、トラフィック集計機能部16に出力する(ステップSc1)。トラフィック集計機能部16は、入力されたトラフィック情報を集計し、集計した結果をトラフィック情報データベース20に送信する(ステップSc2)。トラフィック情報データベース20は、受信したデータを保存する(ステップSc3)。
【0063】
監視実行制御機能は、トラフィック集計機能部16がトラフィック情報を集計後、ユーザ監視機能部18のレート監視機能を起動する(ステップSc4)。ユーザ監視機能部18は、プロファイルサーバ21のサービスコンポーネント閾値情報テーブルからレート閾値を取得し(ステップSc5)、トラフィック情報データベース20のオペレーション−ユーザテーブルからユーザとオペレーションの組毎にレート監視時間におけるリクエスト数を取得し(ステップSc6)、リクエスト数がレート閾値を超えているユーザとオペレーションの組を抽出し、抽出したユーザをそのオペレーションのサービスコンポーネントに対して一時利用不可能にするユーザとして監視実行制御機能部に通知する(ステップSc7)。監視実行制御機能部は、リアクション機能部19のユーザ閉塞機能及びアラーム通知機能に対してリアクションを発動する(ステップSc8)。リアクション機能部19のユーザ閉塞機能は、サービスコンポーネントに対して一時利用不可能にするユーザをそのサービスコンポーネントのブラックリストに追加する指示をプロファイルサーバ21に送信する(ステップSc9)。プロファイルサーバ21は、プロファイルデータベース24に記憶されているサービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのブラックリストにそのユーザのユーザIDを追加する。また、リアクション機能部19のアラーム通知機能は、ユーザのサービスリクエスタ端末11、システム保守運用者の端末に警告メールを送るなどしてアラーム通知する(ステップSc10)。
【0064】
図18は、プロファイルデータベース更新視処理の手順を示すシーケンス図である。
サービス事業者、ユーザ、或いはシステム保守運用者は、ウェブブラウザなどを用いて、プロファイルサーバ21のカスコン機能部22が提供するウェブページからサービスコンポーネント情報又はユーザ情報の登録、更新、削除などを行う。また、サービス事業者は、悪質なユーザを検知した場合、そのユーザを一時的に利用停止することができるユーザ閉塞などを行う。ウェブページから入力された情報は、例えばサービスリクエスタ端末11からカスコン機能部22に送信される(ステップSd1)。カスコン機能部22は、受信した情報をデータベース登録制御機能部23に出力する(ステップSd2)。データベース登録制御機能部23は、受信した情報に基づいてプロファイルデータベース24に記憶されているサービスコンポーネント情報或いはユーザ情報を更新して保存する(ステップSd3)。また、データベース登録制御機能部23は、プロファイルデータベース24に更新した情報を、実行制御サーバ1,2,3のデータベース更新通知受付機能部33に通知する。
【0065】
一方、トラフィック情報管理サーバ14のリアクション機能部19があるサービスコンポーネントのブラックリストにあるユーザを追加する指示をプロファイルサーバ21に送信した場合には、データベース登録制御機能部23がその指示を受信する(ステップSd4)。そして、データベース登録制御機能部23は、そのサービスコンポーネントのブラックリストにそのユーザのユーザIDを追加して、プロファイルデータベース24を更新する(ステップSd5)。続いて、データベース登録制御機能部23は、そのサービスコンポーネントのブラックリストにそのユーザが追加されたことを実行制御サーバ1,2,3のデータベース更新通知受付機能部33に通知する(ステップSd6)。これにより、データベース更新通知受付機能部33は、キャッシュデータ管理機能部34が記憶するキャッシュデータを更新する。
また、実行制御サーバ1,2,3は、キャッシュデータ管理機能部34が記憶していないデータを用いる場合(例えば、初回のユーザ認証時など)には、必要な時にプロファイルデータベース24にアクセスして記憶されている情報を参照する(ステップSd7)。
【0066】
このように、本実施形態によれば、トラフィック情報管理サーバ14が、複数の実行制御サーバ1,2,3からトラフィック情報を収集して集計して、各サービスコンポーネント品質監視制御を行っているため、実行制御サーバ1,2,3が複数台並列して処理を行ってもシステム全体としてトラフィック情報の整合性を保つことができる。
また、実行制御サーバ1,2,3が複数台並列してサービスコンポーネントへのリクエスト処理を行っているため、単位時間におけるサービスコンポーネントへのリクエスト処理量を向上することができる。
また、各サービスコンポーネントにおける共通処理を一括して実行制御サーバ1,2,3が行っているため、サービス事業者側のサービスコンポーネント以外の機能(非機能要件)実装にかかる投資及び経費費用を軽減することができる。
また、実行制御サーバ1,2,3は、閉塞状態にあるサービスコンポーネントへのリクエストを遮断することにより、障害が発生したサービスコンポーネントサーバの影響が他のサービスコンポーネントへの波及を防ぐことができる。
また、サービス事業者、ユーザ或いはシステム保守運用者は、プロファイルサーバ21のカスコン機能部22からユーザ情報及びサービスコンポーネント情報を追加・更新・削除することができるため、本サービスを容易に利用することができ、複数のサービスコンポーネントを利用することで、新たなアプリケーションを容易に作成することができる。
【0067】
また、図6に示すプロファイルサーバ、図12に示す実行制御サーバ、図13に示すトラフィック情報管理サーバ、スロットリングサーバの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、サービスコンポーネント管理処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0068】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0069】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では3台の実行制御サーバを用いているが、2台以上であればよい。
【図面の簡単な説明】
【0070】
【図1】本発明の一実施形態によるサービスコンポーネント管理システムの構成を示すブロック図である。
【図2】本実施形態におけるサービスコンポーネントテーブルのデータ構造とデータ例を示す概略図である。
【図3】本実施形態におけるオペレーションテーブルのデータ構造とデータ例を示す概略図である。
【図4】本実施形態におけるオペレーション−ユーザテーブルのデータ構造とデータ例を示す概略図である。
【図5】本実施形態におけるユーザテーブルのデータ構造とデータ例を示す概略図である。
【図6】本実施形態におけるプロファイルサーバの機能構成を示すブロック図である。
【図7】本実施形態におけるユーザ情報テーブルのデータ構造とデータ例を示す概略図である。
【図8】本実施形態におけるユーザ閉塞情報テーブルのデータ構造とデータ例を示す概略図である。
【図9】本実施形態におけるサービスコンポーネント情報テーブルのデータ構造とデータ例を示す概略図である。
【図10】本実施形態におけるサービスコンポーネント閾値情報テーブルのデータ構造とデータ例を示す概略図である。
【図11】本実施形態におけるオペレーション閾値情報テーブルのデータ構造とデータ例を示す概略図である。
【図12】本実施形態における実行制御サーバの機能構成を示すブロック図である。
【図13】本実施形態におけるトラフィック情報管理サーバの機能構成を示すブロック図である。
【図14】本実施形態における認証チケット発行処理の手順を示すシーケンス図である。
【図15】本実施形態におけるサービスコンポーネントリクエストに対する共通処理の手順を示すシーケンス図である。
【図16】本実施形態におけるサービスコンポーネントリクエストに対する共通処理の手順を示すシーケンス図である。
【図17】本実施形態におけるレート監視処理の手順を示すシーケンス図である。
【図18】本実施形態におけるプロファイルデータベース更新視処理の手順を示すシーケンス図である。
【符号の説明】
【0071】
1,2,3…実行制御サーバ 4…実行制御サーバクラスタ 5…認証機能部 5−1…パスワード認証機能部 5−2…SSO機能部 6…認可機能部 6−1…ホワイトリスト照合機能部 6−2…ブラックリスト照合機能部 6−3…ID変換機能部 7…コンテンツフィルタ機能部 8…トラフィック制御機能部 8−1…シェイピング機能部 8−2…優先制御機能部 8−3…フロー規制機能部 9…トラフィック集計機能部 10…スロットリングサーバ 11,12…サービスリクエスタ端末 13…ネットワーク 14…トラフィック情報管理サーバ 15…トラフィック収集機能部 16…トラフィック集計機能部 17…サービスコンポーネント監視機能部 18…ユーザ監視機能部 19…リアクション機能部 20…トラフィック情報データベース 21…プロファイルサーバ 22…カスコン機能部 23…データベース登録制御機能部 24…プロファイルデータベース 25…サービスコンポーネントサーバ 28…メッセージプロキシ機能部 29…転送通信制御機能部 30…転送実行制御機能部 31…ユーザ閉塞確認機能部 32…サービスコンポーネント閉塞確認機能部 33…データベース更新通知受付部 34…キャッシュデータ管理機能部
【技術分野】
【0001】
本発明は、サービスコンポーネント管理システム、実行制御サーバ、プロファイルサーバ及びサービスコンポーネント管理方法に関する。
【背景技術】
【0002】
現在、ウェブサービス等のサービスコンポーネントを連携利用することで、新たなサービスを容易に実現する試みがある。
非特許文献1及び2に記載された技術では、電話サービスとウェブサービスとを連携するシステムにおいて、実行制御サーバがユーザ認証やトラフィック制御などの共通処理を一括して行っている。
【非特許文献1】山登庸次、大西浩行、中野雄介、“電話−ウェブ連携を促進する実行制御機能の検討”電子情報通信学会2008年総合大会講演論文集、B-19-10、Mar.2008.
【非特許文献2】Y.Yamato, H.Ohnishi, and H.Sunaga.“Development of ServiceControl Server for Web-Telecom Coordination Service,”、 IEEE International Conference on Web Services、ICWS2008、Sep.2008.
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、非特許文献1及び2では、1台の実行制御サーバ単体での運用を想定しているため、実行制御サーバを複数台用いた場合には、ユーザからサービスコンポーネントへのリクエストをシステム全体で監視することができない、という問題がある。
例えば、あるユーザaがサービスコンポーネントAを1日に使用できる回数が100回と設定されていたときに、ユーザaが実行制御サーバ1で30回、実行制御サーバ2で80回、実行制御サーバ3で60回サービスコンポーネントAを使用した場合であっても、1日の使用制限回数100回を超えているユーザとしてユーザaを検出することはできなかった。
本発明は上記の点に鑑みてなされたものであり、その目的は、複数台の実行制御サーバを並列に実行したとしてもシステム全体でリクエストを監視することができ、サービスコンポーネントへのリクエスト処理量を向上することができるサービスコンポーネント管理システム、実行制御サーバ、プロファイルサーバ及びサービスコンポーネント管理方法を提供することにある。
【課題を解決するための手段】
【0004】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、を備えるプロファイルサーバと、ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、を備える複数の実行制御サーバと、前記実行制御サーバから前記トラフィック情報を受信するトラフィック収集機能部と、前記トラフィック収集機能部により受信された前記トラフィック情報を集計するトラフィック集計機能部と、前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部と、前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部と、前記サービスコンポーネント監視機能部により抽出されたサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、前記ユーザ監視機能部により抽出されたユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するリアクション機能部と、を備えるトラフィック情報管理サーバと、を有することを特徴とするサービスコンポーネント管理システムである。
【0005】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記サービスコンポーネント情報は、サービスコンポーネントにフロー制御を行うか否かを表すフロー制御フラグを含み、前記トラフィック情報は、特定のサービスコンポーネントからの応答時間の状況を表す応答時間情報を含み、前記サービスコンポーネント監視機能部は、前記トラフィック集計機能部により集計された前記応答時間情報に基づいて、フロー制御を行うサービスコンポーネントを抽出し、前記リアクション機能部は、前記サービスコンポーネント監視機能部により抽出されたフロー制御を行うサービスコンポーネントに対応する前記フロー制御フラグの更新要求を前記プロファイルサーバに送信し、前記実行制御サーバは、前記フロー制御フラグに基づいて、前記サービスコンポーネントへの前記リクエストを一律に一定の時間遅延させるフロー規制機能部を備えることを特徴とする。
【0006】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記実行制御サーバは、ユーザの端末から認証チケット要求を受信すると、ユーザ認証を行い、認証すると認証チケットを発行して前記端末に返信するパスワード認証機能部と、前記受信部によりユーザの端末からサービスコンポーネントへのリクエストが受信されると、当該リクエストに含まれる認証チケットを検証するシングルサインオン機能部と、を備えることを特徴とする。
【0007】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記コンポーネントサービス情報は、サービスコンポーネントを利用可能なユーザの一覧であるホワイトリストを含み、前記実行制御サーバは、前記ホワイトリストに前記ユーザに登録されているか否かを判定するホワイトリスト照合機能部を有し、前記送信部は、前記ユーザが前記ホワイトリストに登録されている場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信することを特徴とする。
【0008】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記データベース登録制御機能部は、前記プロファイルデータベースを更新すると、その旨を前記実行制御サーバに通知し、前記実行制御サーバは、前記ユーザ情報と前記サービスコンポーネント情報を保持するキャッシュデータ管理機能部と、前記プロファイルサーバから前記ユーザ情報又は前記サービスコンポーネント情報の更新が通知されると、前記キャッシュデータ管理機能部が保持する前記ユーザ情報又は前記サービスコンポーネント情報を更新するデータベース更新通知機能部と、を備えることを特徴とする。
【0009】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、所定時間内における前記ユーザから前記サービスコンポーネントへ送信されたリクエストの数が所定の閾値を超えた場合に、エラーを前記実行制御サーバに通知するスロットリングサーバを有し、前記送信部は、前記スロットリングサーバからエラーが通知されなかった場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信することを特徴とする。
【0010】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記プロファイルサーバは、前記プロファイルデータベースに記憶されている前記サービスコンポーネント情報及び前記ユーザ情報の登録、更新、削除を受け付けるカスコン機能部を備えることを特徴とする。
【0011】
また、本発明の一態様は、ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、を備えることを特徴とする実行制御サーバである。
【0012】
また、本発明の一態様は、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、を備えることを特徴とするプロファイルサーバである。
【0013】
また、本発明の一態様は、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースを備えるプロファイルサーバが、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するステップと、実行制御サーバが、ユーザの端末からサービスコンポーネントへのリクエストを受信するステップと、前記実行制御サーバが、前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するステップと、実行制御サーバが、前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するステップと、前記実行制御サーバが、前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないでないと判定し、かつ前記サービスコンポーネントが閉塞状態でないと判定した場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信するステップと、前記実行制御サーバが、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するステップと、トラフィック情報管理サーバが、前記実行制御サーバから前記トラフィック情報を受信するステップと、前記トラフィック情報管理サーバが、受信した前記トラフィック情報を集計するステップと、前記トラフィック情報管理サーバが、集計した前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するステップと、前記トラフィック情報管理サーバが、集計した前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するステップと、前記トラフィック情報管理サーバが、抽出した閉塞状態にするサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、抽出した一時利用不可能にするユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するステップと、を有することを特徴とするサービスコンポーネント管理方法である。
【発明の効果】
【0014】
本発明によれば、トラフィック情報管理サーバが、複数の実行制御サーバからトラフィック情報を収集して集計して閉塞状態にするサービスコンポーネント及び特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出しているため、実行制御サーバが複数台並列して処理を行ってもシステム全体としてトラフィック情報の整合性を保つことができる。
また、実行制御サーバが複数台並列してサービスコンポーネントへのリクエスト処理を行っているため、単位時間におけるサービスコンポーネントへのリクエスト処理量を向上することができる。
また、各サービスコンポーネントにおける共通処理を一括して実行制御サーバが行っているため、サービス事業者側のサービスコンポーネント以外の機能(非機能要件)実装にかかる投資及び経費費用を軽減することができる。
また、実行制御サーバは、閉塞状態にあるサービスコンポーネントへのリクエストを遮断することにより、障害が発生したサービスコンポーネントサーバの影響が他のサービスコンポーネントへの波及を防ぐことができる。
【発明を実施するための最良の形態】
【0015】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態によるサービスコンポーネント管理システムの構成を示すブロック図である。
サービスコンポーネント管理システムは、実行制御サーバクラスタ4と、スロットリングサーバ10と、トラフィック情報管理サーバ14と、プロファイルサーバ21と、トラフィック情報データベース20と、サービスリクエスタ端末11,12と、複数のサービスコンポーネントサーバ25と、を含んで構成される。
サービスリクエスタ端末11,12と実行制御サーバクラスタ4及び、実行制御サーバクラスタ4とサービスコンポーネントサーバ25とは、ネットワーク13を介してメッセージの送受信を行う。ネットワーク13は、電話交換等の通信ネットワーク、或いはインターネット等の情報ネットワーク、或いはサービス制御層とパケット転送層とを有するNGN(Next Generation Network)、或いは移動体ネットワーク等からなるネットワークである。
【0016】
サービスコンポーネントサーバ25は、サービスリクエスタ端末11,12に複数のサービスコンポーネントを提供するサーバ装置である。サービスコンポーネントとは、サービス事業者が提供するウェブサービスや電話サービスなどのサービスである。
サービスリクエスタ端末11,12は、複数のサービスコンポーネントが連携してなるサービスを利用するユーザ(リクエスタ)が使用する端末である。
【0017】
実行制御サーバクラスタ4は、実行制御サーバ1,2,3群である。
実行制御サーバ1,2,3は、各サービスコンポーネントの共通処理を行うサーバ装置である。各サービスコンポーネントの共通処理とは、ユーザ認証やトラフィック制御などである。実行制御サーバ1,2,3の機能構成は後述する。なお、サービスリクエスタ端末11,12からのリクエストは図示しないロードバランサーにより、ラウンドロビンアルゴリズムや実行制御サーバ1,2,3のCPU(中央演算装置)使用率に応じて実行制御サーバ1,2,3に振り分けられる。
プロファイルサーバ21は、ユーザ情報とサービスコンポーネント情報とを保持するサーバ装置である。プロファイルサーバ21の機能構成は後述する。
【0018】
スロットリングサーバ10は、短周期にユーザから過剰な数のリクエストがサービスコンポーネントサーバ25へ送信されないように制御するスロットリング処理を行うサーバ装置である。具体的には、スロットリングサーバ10は、レート判定時間(例えば数秒などの短周期)内における特定のユーザから特定のサービスコンポーネントへ送信されたリクエストの数をメモリ上に記憶しており、実行制御サーバ1からリクエストを受信すると、リクエストの数に1加算する。そして、スロットリングサーバ10は、リクエストの数が予め設定されたリクエスト先のサービスコンポーネントに対応するスロットリング閾値を超えているか否かを判定し、リクエストの数がレート閾値を超えている場合には、リクエストを遮断し、実行制御サーバ1にエラーを返信する。一方、リクエストの数がスロットリング閾値以下である場合には、実行制御サーバ1にリクエストを返信する。なお、スロットリングサーバ10は、スロットリング閾値をプロファイルサーバ21から取得する。
【0019】
トラフィック情報管理サーバ14は、各サービスコンポーネントへの負荷状況を監視するサービスコンポーネント品質監視制御を行うサーバ装置である。トラフィック情報管理サーバ14の機能構成は後述する。
トラフィック情報データベース20は、トラフィック情報の集計結果を記憶保持するデータベースであり、サービスコンポーネントテーブルと、オペレーションテーブルと、オペレーション−ユーザテーブルと、ユーザテーブルとを保持している。トラフィック情報とは、サービスコンポーネントテーブルと、オペレーションテーブルと、オペレーション−ユーザテーブルと、ユーザテーブルにおける各項目をトラフィック情報生成時間(例えば3分)毎に集計した情報である。また、オペレーション−ユーザテーブル及びユーザテーブルの各項目が、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報である。また、サービスコンポーネントテーブルの各項目が、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報である。また、オペレーションテーブルの各項目が、特定のサービスコンポーネントからの応答時間の状況を表すサービスコンポーネントのオペレーション別応答時間情報である。
【0020】
図2は、本実施形態におけるサービスコンポーネントテーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネントテーブルは、年月日と、時と、サービスIDと、リクエスト数と、エラー数の各項目の列を有している。時は、時間を示しており、例えば、時「10」は、10時00分から10時59分までを表す。サービスIDは、サービスコンポーネントを識別する識別情報である。リクエスト数は、サービスコンポーネント宛に送信されたリクエストの数である。エラー数は、サービスリクエスト宛に送信されたリクエストに対するエラーの数であり、認証NGと、認可NGと、応答タイムアウトの各項目を有している。認証NGは、ユーザ認証されなかった場合のエラーである。認可NGは、例えばユーザにサービスコンポーネントの使用権限がない場合のエラーである。応答タイムアウトは、リクエストに対するレスポンスが一定時間内に返されなかった場合のエラーである。
【0021】
図3は、本実施形態におけるオペレーションテーブルのデータ構造とデータ例を示す概略図である。オペレーションテーブルは、年月日と、時と、サービスIDと、オペレーション名と、レスポンス数と、応答時間合計の各項目の列を有している。オペレーション名は、サービスコンポーネントのオペレーション(例えば、電話サービスの場合、発呼、着信等)の名称である。レスポンス数は、リクエストに対するレスポンスの数である。応答時間合計は、実行制御サーバ1,2,3がリクエストを送信してからレスポンスを受信するまでの応答時間の合計値であり、単位はミリ秒(ms)である。
【0022】
図4は、本実施形態におけるオペレーション−ユーザテーブルのデータ構造とデータ例を示す概略図である。オペレーション−ユーザテーブルは、年月日と、時と、サービスIDと、オペレーション名と、ユーザIDと、リクエスト数の各項目の列を有している。ユーザIDは、ユーザを識別するための識別情報である。
【0023】
図5は、本実施形態におけるユーザテーブルのデータ構造とデータ例を示す概略図である。ユーザテーブルは、年月日と、時と、ユーザIDと、リクエスト数と、エラー数の各項目の列を有している。
【0024】
図6は、本実施形態におけるプロファイルサーバ21の機能構成を示すブロック図である。
プロファイルサーバ21は、カスコン機能部22と、データベース登録制御機能部23と、プロファイルデータベース24とを含んで構成される。
プロファイルデータベース24は、ユーザ情報とサービスコンポーネント情報を保持するデータベースであり、ユーザ情報テーブルと、ユーザ閉塞情報テーブルと、サービスコンポーネント情報テーブルと、サービスコンポーネント閾値情報テーブルと、オペレーション閾値情報テーブルを保持している。
カスコン機能部22は、プロファイルデータベース24が保持しているサービスコンポーネント情報及びユーザ情報を更新するためのインタフェース(例えば、ウェブページなど)を提供する。具体的には、カスコン機能部22は、サービスリクエスタ端末11,12などからサービスコンポーネント情報及びユーザ情報の登録要求、更新要求、削除要求を受け付け、データベース登録制御機能部23を介してプロファイルデータベース24を更新する。これにより、ユーザ、サービスコンポーネント管理システムを保守運用するシステム保守運用者、或いはサービスコンポーネントを提供するサービス事業者は、ウェブブラウザなどを用いてユーザ情報及びサービスコンポーネント情報を更新することができる。
データベース登録制御機能部23は、トラフィック情報管理サーバ14又はカスコン機能部22からユーザ情報又はサービスコンポーネント情報の更新要求を受信すると、プロファイルデータベース24が保持しているユーザ情報及びサービスコンポーネント情報を更新するとともに、更新のあった情報をSOAP(Simple Object Access Protocol)により実行制御サーバ1,2,3に通知する。ただし、データベース登録制御機能部23は、ユーザの認証情報(例えば、パスワード等)に更新があったとしても、ユーザの認証情報が更新されたことを実行制御サーバ1,2,3に通知しない。例えば、トラフィック情報管理サーバ14からあるサービスコンポーネントの閉塞フラグを立てる指示を受信した場合には、データベース登録制御機能部23は、プロファイルデータベース24に記憶されているそのサービスコンポーネントの閉塞フラグを立てるとともに、そのサービスコンポーネントの閉塞フラグを立てたことを実行制御サーバ1,2,3に通知する。閉塞フラグとは、サービスコンポーネントが閉塞状態にあるか否かを示すフラグである。閉塞状態とは、サービスコンポーネントを利用できない状態である。
【0025】
図7は、本実施形態におけるユーザ情報テーブルのデータ構造とデータ例を示す概略図である。ユーザ情報テーブルは、ユーザ情報として、ユーザIDと、パスワードの各項目の列を有している。ユーザIDは、ユーザを識別する識別情報である。パスワードは、ユーザ認証を行うためのパスワードである。本実施形態では、パスワードがユーザ認証情報である。
【0026】
図8は、本実施形態におけるユーザ閉塞情報テーブルのデータ構造とデータ例を示す概略図である。ユーザ情報テーブルは、ユーザ情報として、ユーザIDと、閉塞フラグ(ユーザ閉塞フラグ)の各項目の列を有している。閉塞フラグは、ユーザがコンポーネント管理システムにおいて閉塞状態(サービスコンポーネントを利用できない状態)にあるか否かを示すフラグであり、閉塞フラグ「1」は閉塞状態であることを表し、閉塞フラグ「0」は閉塞状態ではないことを表す。
【0027】
図9は、本実施形態におけるサービスコンポーネント情報テーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネント情報テーブルは、サービスコンポーネント情報として、サービスIDと、シェイピング値と、優先度と、フロー規制フラグと、閉塞フラグ(サービスコンポーネント閉塞フラグ)と、ホワイトリストと、ブラックリストと、フィルタ条件と、適用する処理の各項目の列を有している。サービスIDは、サービスコンポーネントを識別する識別情報である。シェイピング値は、1秒間にそのサービスコンポーネントに送信可能なリクエスト数である。優先度は、トラフィック制御における各サービスコンポーネントの優先度である。フロー規制フラグは、そのサービスコンポーネントにフロー制御があるか否かを示すフラグであり、フロー規制フラグ「1」はフロー規制があることを表し、フロー規制フラグ「0」はフロー規制がないことを表す。閉塞フラグは、サービスコンポーネントが閉塞状態(利用できない状態)にあるか否かを示すフラグであり、閉塞フラグ「1」は閉塞状態であることを表し、閉塞フラグ「0」は閉塞状態ではないことを表す。ホワイトリストは、サービスコンポーネントを利用可能なユーザIDの一覧である。ブラックリストは、サービスコンポーネントを一時利用不可能になっているユーザIDの一覧である。フィルタ条件とは、各リクエストのパラメータに対するフィルタ条件である。例えば、検索を行うリクエストの検索個数を表すパラメータaに対するフィルタ条件として、「パラメータa>100(一回の検索に対して検索個数が100以上)」などを設定することが考えられる。適用する処理とは、実行制御サーバ1,2,3において、リクエストに対して実行する処理である。
【0028】
図10は、本実施形態におけるサービスコンポーネント閾値情報テーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネント閾値情報テーブルは、サービスIDと、サービス利用不能率閾値と、エラー閾値と、サイズ閾値との各項目の列を有している。サービス利用不能率閾値は、サービスが利用不能になる率に関する閾値である。エラー閾値は、エラーの割合に関する閾値である。サイズ閾値は、リクエストのサイズに関する閾値である。
【0029】
図11は、本実施形態におけるオペレーション閾値情報テーブルのデータ構造とデータ例を示す概略図である。オペレーション閾値情報テーブルは、サービスIDと、オペレーション名と、レート閾値と、平均応答時間閾値と、スロットリング閾値との各項目の列を有している。オペレーション名は、サービスコンポーネントのオペレーション(例えば、電話サービスの場合、発呼、着信等)の名称である。レート閾値は、1ユーザがレート監視周期(例えば1日)にサービスコンポーネントに送信可能なリクエスト数の閾値である。平均応答時間閾値は、リクエストに対する平均応答時間に関する閾値である。スロットリング閾値は、1ユーザがレート判定時間(例えば数秒などの短周期)に送信可能なリクエスト数の閾値である。
【0030】
図12は、本実施形態における実行制御サーバ1の機能構成を示すブロック図である。
実行制御サーバクラスタ4では、共通処理を複数の実行制御サーバ1,2,3に並列に行わせることにより、負荷分散を行っている。負荷分散を行うことで、システム全体におけるサービスコンポーネントへのリクエストの処理量を増加することができる。また、各実行制御サーバ1,2,3のリクエスト処理量が減少することにより、リクエストを高速に処理することができる。
実行制御サーバ1は、認証機能部5と、ユーザ閉塞確認機能部31と、認可機能部6と、データベース更新通知受付機能部33と、キャッシュデータ管理機能部34と、サービスコンポーネント閉塞確認機能部32と、コンテンツフィルタ機能部7と、転送実行制御機能部30と、認証通信制御機能部27と、トラフィック制御機能部8と、転送通信制御機能部29と、トラフィック情報集計機能部9と、メッセージプロキシ機能部28とを含んで構成される。なお、実行制御サーバ2及び3の機能構成は実行制御サーバ1と同様である。
【0031】
キャッシュデータ管理機能部34は、ユーザ情報テーブルと、ユーザ閉塞情報テーブルと、サービスコンポーネント情報テーブルとのキャッシュ(cache)データを保持している。但し、キャッシュデータ管理機能部34は、ユーザ認証情報を保持しない。
データベース更新通知受付機能部33は、プロファイルサーバ21からユーザ情報又はサービスコンポーネント情報の更新が通知されると、キャッシュデータ管理機能部24が保持するユーザ情報テーブル、ユーザ閉塞情報テーブル或いはサービスコンポーネント情報テーブルを更新する。例えば、プロファイルサーバ21からユーザ閉塞情報テーブルの閉塞フラグが「1」に変更されたと通知された場合には、データベース更新通知受付機能部33は、キャッシュデータ管理機能部34に記憶されているユーザ閉塞情報テーブルの閉塞フラグを「1」に置き換える。
これにより、プロファイルサーバ21のプロファイルデータベース24が更新されると、キャッシュデータ管理機能部34のキャッシュデータも更新されるため、キャッシュデータ管理機能部34に保持されているデータを常に最新のデータとして使用することができる。これにより、実行制御サーバ1は、プロファイルデータベース24に保持されている情報を用いて処理をする場合に、プロファイルサーバ21に問い合わせをする必要がなくなるため、より高速に処理をすることができる。なお、実行制御サーバ1は、ユーザ認証情報を使用する場合には、プロファイルサーバ21のプロファイルデータベース24から取得する。
【0032】
認証通信制御機能部27は、サービスリクエスタ端末11(又は12)からサービスコンポーネントリクエスト(以下、リクエストと呼ぶ)の認証チケット発行要求を受信すると、受信した認証チケット発行要求を認証機能部5に出力する。認証チケット発行要求とは、サービスコンポーネントを利用するための認証チケットの発行要求メッセージであり、ユーザID及びパスワードが含まれる。また、認証通信制御機能部27は、認証機能部5から認証チケット発行要求に対する応答が入力されると、その応答を要求元のサービスリクエスタ端末11に送信する。
【0033】
認証機能部5は、パスワード認証機能部5−1と、SSO(シングルサインオン)機能部5−2とを含んで構成される。パスワード認証機能部5−1は、認証チケット発行要求が入力されると、認証チケット発行要求に含まれるユーザIDを用いて、プロファイルサーバ21からユーザ認証情報を取得する。なお、パスワード認証機能部5−1は、認証チケット発行要求に含まれるユーザIDがプロファイルサーバ21に記憶されていない場合には、認証チケット発行要求に対する応答としてエラーを認証通信制御機能部27に返す。次に、パスワード認証機能部5−1は、取得したユーザ認証情報のパスワードと認証チケット発行要求に含まれるパスワードが一致するか否かを判定するパスワード認証を行い。パスワード認証機能部5−1は、パスワードが一致した(認証した)場合に、認証チケット発行要求に対する応答として認証チケット発行し、認証通信制御機能部27に出力する。なお、認証チケットには、ユーザIDや発行者の署名などが含まれる。一方、パスワード認証機能部5−1は、パスワードが一致しない場合には、認証チケット発行要求に対する応答としてエラーを認証通信制御機能部27に返す。なお、本実施形態では、パスワード認証機能部5−1は、パスワード認証を用いているが、パスワード認証に加えて生体認証或いはサービスリクエスタ端末11,12の識別子に基づく認証などを用いてもよい。SSO機能部5−2は、メッセージプロキシ機能部28を介してサービスリクエスタ端末11,12からサービスコンポーネントに対するリクエストを受信すると、リクエストに含まれる認証チケットの発行者の署名を検証して、正当な認証チケットである(認証チケットが有効である)か否かの判定を行う。SSO機能部5−2は、正当な認証チケットであると判定した場合には、転送実行制御機能部30を介してリクエストをユーザ閉塞確認機能部31に出力する。一方、正当な認証チケットではないと判定した場合には、サービスリクエスタ端末11,12にエラーを返信する。なお、ユーザは、一度パスワード認証されると、その後は認証チケットを用いてシングルサインオンで複数のサービスコンポーネントの利用が可能である。
【0034】
ユーザ閉塞確認機能部31は、契約違反が検出されたユーザからのリクエストをシステム全体で遮断するための機能であり、ユーザが閉塞状態であるか否かを判定する。具体的には、ユーザ閉塞確認機能部31は、認証チケットに含まれるユーザIDに対応する閉塞フラグをキャッシュデータ管理機能部34のユーザ閉塞情報テーブルから取得し、閉塞フラグが立っている(つまり、「1」である)か否かを判定する。そして、ユーザ閉塞確認機能部31は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。一方、閉塞フラグが立っていない場合には、転送実行制御機能部30を介して認可機能部6にリクエストを出力する。
【0035】
認可機能部6は、リクエスト先のサービスコンポーネントをユーザが利用可能か否かを判定する機能であり、ホワイトリスト照合機能部6−1と、ブラックリスト照合機能部6−2と、ID変換機能部6−3とを含んで構成される。ホワイトリスト照合機能部6−1は、ユーザがリクエスト先のサービスコンポーネントを利用できる権限を持つか否かを判定する機能である。具体的には、ホワイトリスト照合機能部6−1は、リクエスト先のサービスコンポーネントのホワイトリストをキャッシュデータ管理機能部34のサービスコンポーネント情報から取得し、認証チケットに含まれるユーザIDがホワイトリストに登録されているか否かを判定する。そして、ホワイトリスト照合機能部6−1は、ユーザIDがホワイトリストに登録されている場合には、ブラックリスト照合機能部6−2にリクエストを出力する。一方、ホワイトリスト照合機能部6−1は、ユーザIDがホワイトリストに登録されていない場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。ブラックリスト照合機能部6−2は、ユーザが一時的にリクエスト先のサービスコンポーネントを利用停止になっているか否かを判定する機能である。具体的には、ブラックリスト照合機能部6−2は、リクエスト先のサービスコンポーネントのブラックリストをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、認証チケットに含まれるユーザIDがブラックリストに登録されている否かを判定する。そして、ブラックリスト照合機能部6−2は、ユーザIDがブラックリストに登録されていない場合には、ID変換機能部6−3にリクエストを出力する。一方、ユーザIDがブラックリストに登録されている場合には、リクエストを遮断し、メッセージプロキシ機能部28を介してサービスリクエスタ端末11にエラーを返信する。ID変換機能部6−3は、認証チケットに含まれるユーザIDをリクエスト先のサービスコンポーネントにおけるユーザIDに変換し、転送実行制御機能部30を介してサービスコンポーネント閉塞確認機能部32にリクエストを出力する。なお、ユーザIDと各サービスコンポーネントにおけるユーザIDとの対応を示すテーブルは、プロファイルサーバ21のプロファイルデータベース24に記憶されており、キャッシュデータ管理機能部34がキャッシュデータとして保持している。
なお、ホワイトリスト照合機能部6−1及びブラックリスト照合機能部6−2は、キャッシュデータ管理機能部34からホワイトリスト或いはブラックリストを取得しているが、キャッシュデータ管理機能部34にホワイトリスト或いはブラックリストが存在しない場合には、プロファイルサーバ21から取得する。
なお、本実施形態では、ホワイトリスト照合機能部6−1の処理とブラックリスト照合機能部6−2の処理とを両方行っているが、ホワイトリスト照合機能部6−1の処理は行わずにブラックリスト照合機能部6−2の処理のみ行ってもよい。或いは、ホワイトリスト照合機能部6−1の処理かブラックリスト照合機能部6−2の処理いずれかのみを行ってもよい。
【0036】
サービスコンポーネント閉塞確認機能部32は、リクエスト先のサービスコンポーネントが利用停止、或いはSLA(Service Level Agreement)違反などで閉塞状態であるか否かを判定する機能である。具体的には、サービスコンポーネント閉塞確認機能部32は、リクエスト先のサービスコンポーネントに対応する閉塞フラグをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、閉塞フラグが立っている(つまり、「1」である)か否かを判定する。そして、サービスコンポーネント確認機能部32は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。一方、コンポーネント確認機能部32は、閉塞フラグが立っていない場合には、転送実行制御機能部30を介してスロットリングサーバ10にリクエストを転送する。
なお、本実施形態では、認可機能部6が認可処理を行った後にサービスコンポーネント閉塞確認機能部32が処理を行っているが、先にサービスコンポーネント閉塞確認機能部32がサービスコンポーネントの閉塞を確認した後に、認可機能部6が認可処理を行ってもよい。
【0037】
コンテンツフィルタ機能部7は、擾乱(例えばスパムなど)を防止する機能であり、リクエストに不正なパラメータが含まれていないか否かを判定する。コンテンツフィルタ機能部7は、転送実行制御機能部30を介してスロットリングサーバ10からリクエストが入力されると、リクエスト先のサービスコンポーネントに対応するフィルタ条件をキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、リクエストに含まれる各パラメータがフィルタ条件と合致するか否かを判定する。フィルタ条件と合致するパラメータがある場合には、コンテンツフィルタ機能部7は、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。一方、フィルタ条件と合致するパラメータがない場合には、コンテンツフィルタ機能部7は転送実行制御機能部30を介してトラフィック制御機能部8にリクエストを出力する。
【0038】
トラフィック制御機能部8は、サービスコンポーネント毎に単位時間の最大リクエスト数を制限する機能であり、シェイピング機能部8−1と、優先制御機能部8−2と、フロー規制機能部8−3とを含んで構成される。シェイピング機能部8−1は、サービスコンポーネントに過剰な数のリクエストが流れないようにリクエストをシェイピングする機能である。具体的には、まず、シェイピング機能部8−1は、リクエストをキューに一時的に保存する。そして、キャッシュデータ管理機能部34のサービスコンポーネント情報テーブルからリクエスト先のサービスコンポーネントのシェイピング値を取得し、取得したシェイピング値に合致するようにリクエストをキューから取り出して優先制御機能部8−2に出力する。具体的には、シェイピング機能部8−1は、1秒間に何回キューからリクエストを取り出したかのデータを保持し、当該データを参照して、リクエストを取り出した回数がシェイピング値より小さい場合にリクエストをキューから取り出して優先制御機能部8−2に出力する。優先制御機能部8−2は、優先度の高いサービスコンポーネントから順にリクエストを転送する機能である。具体的には、優先制御機能部8−2は、キャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから各サービスコンポーネントの優先度を取得し、優先度の高いサービスコンポーネントのリクエストから順にフロー規制機能部8−3に出力する。フロー規制機能部8−3は、フロー規制があるサービスコンポーネントへのリクエストを一律遅延させる機能である。具体的には、フロー制御機能部8−3は、リクエスト先のサービスコンポーネントに対応するフロー制御フラグをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、フロー規制フラグが立っている(つまり「1」である)場合には、リクエストを一律に一定の時間遅延させてから、転送実行制御機能部30、転送通信制御機能部29及びメッセージプロキシ機能部28を介してサービスコンポーネントサーバ25にリクエストを転送するとともに、転送実行制御機能部30及び転送通信制御機能部29を介してトラフィック情報集計機能部9にリクエストを出力する。これにより、輻輳しているサービスコンポーネントへの過剰なリクエストを制限することができる。
【0039】
メッセージプロキシ機能部(送信部、受信部)28は、サービスリクエスタ端末11(又は12)からサービスコンポーネントへのリクエストを受信し、受信したリクエストを転送通信制御機能部29及び転送実行制御機能部30を介して認証機能部5のSSO機能部5−2に出力する。そして、メッセージプロキシ機能部28は、認証機能部5と、ユーザ閉塞確認機能部31と、認可機能部6と、サービスコンポーネント閉塞確認機能部32と、コンテンツフィルタ機能部7と、トラフィック制御機能部8とにおける処理(以下、総称して共通処理を呼ぶ)が完了したリクエストが転送通信制御機能部29から入力されると、リクエストをサービスコンポーネントサーバ25に転送する。また、メッセージプロキシ機能部28は、サービスコンポーネントサーバ25からリクエストに対するレスポンスを受信すると、そのレスポンスを転送通信制御機能部29に出力する。そして、メッセージプロキシ機能部28は、転送通信制御機能部29からレスポンスに関するログ出力などの処理が完了したレスポンスが入力されると、そのレスポンスをサービスリクエスタ端末11に転送する。
【0040】
転送実行制御機能部30は、リクエスト先のサービスコンポーネントに適用する処理をキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、取得した適用する処理に応じて各部へリクエストを順に出力する。例えば、あるサービスコンポーネントへのリクエストにはコンテンツフィルタ機能部7の処理は行わないことが適用する処理に設定されている場合には、転送実行制御機能部30は、コンテンツフィルタ機能部7へリクエストを出力しない。或いは、ホワイトリスト照合機能部6−1の処理は行わずにブラックリスト照合機能部6−2の処理のみを行うことを適用する処理に設定してもよい。このように、各サーバコンポーネントに適用する処理を様々にカスタマイズすることができる。これにより、あるサービスコンポーネントにとっては不要な処理を省略して、共通処理を行う時間を短縮することができる。
【0041】
転送通信制御機能部29は、メッセージプロキシ機能部28と転送実行制御機能部30間の通信を仲介する機能であり、共通処理が完了したリクエストが入力されると、そのリクエストに関するログを出力するとともに、リクエストをトラフィック情報集計機能部9及びメッセージプロキシ機能部28に出力する。また、メッセージプロキシ機能部28からレスポンスが入力されると、そのレスポンスに関するログを出力するとともに、レスポンスをトラフィック情報集計機能部9及びメッセージプロキシ機能部28に出力する。
トラフィック情報集計機能部9は、リクエスト及びレスポンスに基づいてトラフィック情報を生成し、生成したトラフィック情報をポーリングにてトラフィック情報管理サーバ14に送信する。
【0042】
図13は、本実施形態におけるトラフィック情報管理サーバ14の機能構成を示すブロック図である。
トラフィック情報管理サーバ14は、複数の実行制御サーバ1,2,3からトラフィック情報を収集して集計を行い、全てのトラフィック情報を集約することで、サービスコンポーネント品質監視制御を行う。これにより、システム全体の整合を取ることができ、かつ、サービスコンポーネント品質監視制御の不整合を防ぐことができる。トラフィック情報管理サーバ14は、トラフィック収集機能部15と、トラフィック集計機能部16と、サービスコンポーネント監視機能部17と、ユーザ監視機能部18と、リアクション機能部19と、を含んで構成される。
【0043】
トラフィック収集機能部15は、実行制御サーバ1,2,3からトラフィック情報をポーリングにてトラフィック情報生成時間毎に収集し、トラフィック集計機能部16に出力する。
トラフィック集計機能部16は、入力されたトラフィック情報を集計する。具体的には、トラフィック集計機能部16は、サービスコンポーネント毎にリクエスト数とエラー数とをカウントする。また、トラフィック集計機能部16は、オペレーション毎にレスポンス数と応答時間合計とをカウントする。また、トラフィック集計機能部16は、オペレーションとユーザの組毎にリクエスト数をカウントする。また、トラフィック集計機能部16は、ユーザ毎にリクエスト数とエラー数とリクエストメッセージ合計とをカウントする。そして、トラフィック集計機能部16は、トラフィック情報が生成された年月日時とともにカウントした値をトラフィック情報データベース20に送信して記憶させる。
【0044】
図示しない監視実行制御機能部は、一定時間或いは一定周期でサービスコンポーネント監視機能部17とユーザ監視機能部18とに独立に処理を行わせる機能である。また、サービスコンポーネント監視機能部17及びユーザ監視機能部18における処理がサービスコンポーネント監視制御である。
【0045】
サービスコンポーネント監視機能部17は、閉塞状態にするサービスコンポーネント又はフロー規制状態にするサービスコンポーネントを抽出する機能であり、サービスコンポーネント利用不能率監視機能部と応答遅延監視機能部とを有している。
【0046】
サービスコンポーネント利用不能率監視機能部は、サービスコンポーネントのレスポンス数が許容範囲か否かを監視する機能であり、各サービスコンポーネントに対して以下の処理を実行する。まず。サービスコンポーネント利用不能率機能部は、プロファイルサーバ21からサービスコンポーネントに対応するサービス利用不能率閾値を取得し、トラフィック情報データベース20のサービスコンポーネントテーブルからサービスコンポーネント利用不能率監視周期(例えば1時間)におけるこのサービスコンポーネントのリクエスト数とエラー数の応答タイムアウトとを取得する。そして、サービスコンポーネント利用不能率機能部は、取得したリクエスト数に対する応答タイムアウト数の割合(エラー率)がサービス利用不能率閾値を超えているか否かを判定する。エラー率がサービス利用不能率閾値より大きい場合に、このサービスコンポーネントを閉塞状態にすると判定し、監視実行制御機能部を介してリアクション機能部19にその旨を通知する。
【0047】
応答遅延監視機能部は、各サービスコンポーネントのオペレーションに対して以下の処理を実行する。まず、応答遅延監視機能部は、プロファイルサーバ21からオペレーションに対応する平均応答時間閾値を取得し、トラフィック情報データベース20のオペレーションテーブルから応答遅延監視周期(例えば1時間)におけるオペレーションの応答時間合計及びレスポンス数を取得する。そして、応答遅延監視機能部は、応答時間合計にレスポンス数を除算した値(平均応答時間)が平均応答時間閾値より大きいか否かを判定する。平均応答時間が平均応答時間閾値より大きい場合に、応答遅延監視機能部は、このオペレーションのサービスコンポーネントをフロー規制状態にすると判定し、監視実行制御機能部を介してリアクション機能部19にその旨を通知する。
【0048】
ユーザ監視機能部18は、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出する機能であり、レート監視機能部とエラー率監視機能部とメッセージサイズ監視機能部とを有している。
【0049】
レート監視機能部は、あるユーザのサービスコンポーネントへのリクエスト数が利用制限回数を越えていないか否かを監視する機能であり、オペレーション毎に以下の処理を行う。レート監視機能部は、プロファイルサーバ21からオペレーションに対するレート閾値を取得し、各ユーザからそのオペレーションへのレート監視周期(例えば本日の0時から24時まで)におけるリクエスト数をトラフィック情報データベース20のオペレーション−ユーザテーブルから取得する。次に、レート監視機能部は、リクエスト数がレート閾値より大きいユーザを抽出する。そして、レート監視機能部は、リクエスト数がレート閾値より大きいユーザをそのオペレーションのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部を介してリアクション機能部19にその旨を通知する。
【0050】
エラー率監視機能部は、ユーザがサービスコンポーネントを不正に使用していないか否かをチェックする機能であり、ユーザとサービスコンポーネントの組ごとに以下の処理を行う。エラー率監視機能部は、プロファイルサーバ21からサービスコンポーネントに対するエラー閾値を取得し、トラフィック情報データベース20のユーザテーブルから各ユーザのエラー率監視周期(例えば本日の0時から24時まで)におけるリクエスト数及びエラー数を取得する。次に、エラー率監視機能部は、リクエスト数に対するエラー数の割合(エラー率)がエラー閾値より大きいユーザを抽出する。そして、エラー率監視機能部は、エラー率がエラー閾値より大きいユーザをそのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部を介してリアクション機能部19にその旨を通知する。
【0051】
メッセージサイズ監視機能部は、ユーザからサービスコンポーネントへのリクエストのメッセージサイズが大きすぎないか否かをチェックする機能であり、ユーザとサービスコンポーネントの組ごとに以下の処理を行う。メッセージサイズ監視機能部は、プロファイルサーバ21からサービスコンポーネントに対するサイズ閾値を取得し、トラフィック情報データベース20のユーザテーブルから各ユーザのメッセージサイズ監視周期(例えば本日の0時から24時まで)におけるリクエスト数とリクエストメッセージサイズ合計を取得する。次に、メッセージサイズ監視機能部は、リクエストメッセージサイズ合計をリクエスト数で除算した値(平均リクエストメッセージサイズ)がサイズ閾値より大きいユーザを抽出する。そして、メッセージサイズ監視機能部は、平均リクエストメッセージサイズがサイズ閾値より大きいユーザをそのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部を介してリアクション機能部19にその旨を通知する。
【0052】
リアクション機能部19は、監視実行制御機能部を介してサービスコンポーネント監視機能部17から閉塞状態にするサービスコンポーネントが通知されると、そのサービスコンポーネントに閉塞フラグを立てる指示をプロファイルサーバ21に送信する。閉塞フラグを立てる指示を受信すると、プロファイルサーバ21は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントの閉塞フラグを「1」にする。そして、リアクション機能部19のアラーム通知機能が、サービスコンポーネントサーバ25及びシステム保守運用者の端末等にサービスコンポーネントに対するリクエスト転送を停止した旨をメール等にて通知する。
【0053】
また、リアクション機能部19は、監視実行制御機能部を介してサービスコンポーネント監視機能部17からフロー規制状態にするサービスコンポーネントが通知されると、そのサービスコンポーネントレーションに対するフロー規制フラグを立てる指示をプロファイルサーバ21に送信する。フロー制御フラグを立てる指示を受信すると、プロファイルサーバ21は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのフロー制御フラグを「1」にする。そして、リアクション機能部19のアラーム通知機能が、サービスコンポーネントサーバ25及びシステム保守運用者の端末等にサービスコンポーネントに対するリクエスト転送のフロー規制を行った旨をメール等にて通知する。
【0054】
また、リアクション機能部19は、監視実行制御機能部を介してユーザ監視機能部18からあるサービスコンポーネントに対して一時利用不可能にするユーザが通知されると、そのサービスコンポーネントのブラックリストにそのユーザを追加する指示をプロファイルサーバ21に送信する。ブラックリストにユーザを追加する指示を受信すると、プロファイルサーバ21は、サービスコンポーネント情報テーブルにおけるブラックリストにそのユーザのユーザIDを追加する。そして、リアクション機能部19のアラーム通知機能が、ユーザのサービスリクエスタ端末11,12及びシステム保守運用者の端末等に警告をメール等にて通知する。
【0055】
ここで、スロットリングサーバ10におけるスロットリング処理と、トラフィック情報管理サーバ14におけるレート監視機能部の処理と、実行制御サーバ1,2,3におけるシェイピング機能部8の処理との概念の違いを説明する。
まず、シェイピング機能部8の処理は、特定のサービスコンポーネントに対して一定時間に送信可能なリクエスト数を監視する。例えば、サービスコンポーネントAに対して、全てのユーザ合計で1秒間に100回までといったようにシェイピング値を設定することが考えられる。
次に、スロットリング処理は、悪意のあるユーザを排除するための機能であり、特定のユーザから特定のサービスコンポーネントに短周期の時間に送信可能なリクエスト数を監視する。例えば、サービスコンポーネントAに対して、1ユーザは1秒間に5回まで送信可能といったようにスロットリング閾値を設定することが考えられる。
最後に、レート監視機能部の処理は、契約により定められた制限回数オーバーを排除するための機能であり、特定のユーザが特定のサービスコンポーネントに長周期の時間に送信可能なリクエスト数を監視する。例えば、サービスコンポーネントAに対して1ユーザは1日に5回まで送信可能といったようにレート閾値を設定することが考えられる。
スロットリング処理とレート監視機能部の処理は、機能としては同一であるが、スロットリングサーバ10は短周期での攻撃を防ぐためメモリ上でリクエスト数の集計を行うのに対し、レート監視機能部の処理は、長周期で監視するためトラフィック情報管理サーバ14で一定周期毎にリクエスト数の集計を行い、トラフィック情報データベース20にリクエスト数を保持している。
【0056】
次に、図14から18を参照して、上述したサービスコンポーネント管理システムの動作を説明する。図14は、認証チケット発行処理の手順を示すシーケンス図である。
まず、サービスリクエスタ端末11が、認証チケット発行要求を実行制御サーバ1に送信する(ステップSa1)。実行制御サーバ1では、認証通信制御機能部27が認証チケット発行要求を受信し、認証機能部5のパスワード認証機能部5−1に出力する(ステップSa2)。パスワード認証機能部5−1は、認証チケット発行要求に含まれるユーザIDを用いて、プロファイルサーバ21へユーザ認証情報を問い合わせる(ステップSa3)。プロファイルサーバ21は、受信したユーザIDに対応するユーザ認証情報を実行制御サーバ1,2,3のパスワード認証機能部5−1へ返信する(ステップSa4)。次に、パスワード認証機能部5−1は、パスワード認証を行い、認証すると認証チケットを生成する(ステップSa5)。そして、パスワード認証機能部5−1は、生成した認証チケットを認証通信制御機能部27へ出力する(ステップSa6)。認証通信制御機能部27は、認証チケット発行要求元のサービスリクエスタ端末11へ認証チケットを返信する(ステップSa7)。
【0057】
図15及び16は、サービスコンポーネントリクエストに対する共通処理の手順を示すシーケンス図である。
まず、サービスリクエスタ端末11が、サービスコンポーネントに対するリクエストを実行制御サーバ1に送信する(ステップSb1)。実行制御サーバ1では、メッセージプロキシ機能部28がリクエストを受信し、受信したリクエストを転送通信制御機能部29と転送実行制御機能部30を介して認証機能部5のSSO機能部5−2に出力する(ステップSb2)。SSO機能部5−2は、リクエストに含まれる認証チケットの署名を検証し、正当な認証チケットであると判定した場合は、転送実行制御機能部30を介してユーザ閉塞確認機能部31にリクエストを出力する(ステップSb3)。ユーザ閉塞確認機能部31は、認証チケットに含まれるユーザIDに対する閉塞フラグをキャッシュデータ管理機能部34のユーザ閉塞情報テーブルから取得し、閉塞フラグが立っているか否かを判定する。閉塞フラグが立っていない場合には、転送実行制御機能部30を介して認可機能部6のホワイトリスト照合機能部6−1にリクエストを出力する(ステップSb4)。なお、ユーザ閉塞確認機能部31は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。
【0058】
ホワイトリスト照合機能部6−1は、リクエスト先のサービスコンポーネントのホワイトリストをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、認証チケットに含まれるユーザIDがホワイトリストに登録されているか否かを判定する。そして、ホワイトリスト照合機能部6−1は、ユーザIDがホワイトリストに登録されている場合には、ブラックリスト照合機能部6−2にリクエストを出力する(ステップSb5)。なお、ホワイトリスト照合機能部6−1は、ユーザIDがホワイトリストに登録されていない場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。ブラックリスト照合機能部6−2は、リクエスト先のサービスコンポーネントのブラックリストをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、認証チケットに含まれるユーザIDがブラックリストに登録されている否かを判定する。そして、ブラックリスト照合機能部6−2は、ユーザIDがブラックリストに登録されていない場合には、ID変換機能部6−3にリクエストを出力する(ステップSb6)。なお、ユーザIDがブラックリストに登録されている場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。
【0059】
ID変換機能部6−3は、認証チケットに含まれるユーザIDをリクエスト先のサービスコンポーネントにおけるユーザIDに変換し、転送実行制御機能部30を介してサービスコンポーネント閉塞確認機能部32にリクエストを出力する(ステップSb7)。サービスコンポーネント閉塞確認機能部32は、リクエスト先のサービスコンポーネントに対応する閉塞フラグをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、閉塞フラグが立っているか否かを判定する。そして、サービスコンポーネント閉塞確認機能部322は、閉塞フラグが立っていない場合には、転送実行制御機能部30を介してスロットリングサーバ10にリクエストを転送する(ステップSb8)。なお、サービスコンポーネント閉塞確認機能部322は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。
なお、本例では、認可機能部6が処理を行った後にサービスコンポーネント閉塞確認機能部32が処理を行っているが、ユーザ閉塞確認機能部31及びサービスコンポーネント閉塞確認機能部32が処理を行った後に認可機能部6が処理を行ってもよい。また、ホワイトリスト照合機能部6−1の処理を行わずにブラックリスト照合機能部6−2の処理を行ってもよい。
【0060】
スロットリングサーバ10は、実行制御サーバ1からリクエストを受信すると、サービスリクエスタ端末11からサービスコンポーネントサーバ25へのレート判定時間内のリクエスト数がスロットリング閾値を超えているか否かを判定する。そして、リクエスト数がスロットリング閾値以下である場合には、実行制御サーバ1にリクエストを転送する(ステップSb9)。なお、スロットリングサーバ10は、リクエスト数がスロットリング閾値を超えている場合には、リクエストを遮断し、実行制御サーバ1にエラーを返信する。実行制御サーバ1では、コンテンツフィルタ機能部7がリクエストを受信し、リクエストに含まれる各パラメータがフィルタ条件と合致するか否かを判定する。そして、コンテンツフィルタ機能部7は、フィルタ条件と合致するパラメータがない場合に、転送実行制御機能部30を介してトラフィック制御機能部8のシェイピング機能部8−1にリクエストを出力する(ステップSb10)。なお、コンテンツフィルタ機能部7は、フィルタ条件と合致するパラメータがある場合には、リクエストを遮断し、サービスリクエスタ端末11にエラーを返信する。
【0061】
シェイピング機能部8−1は、キャッシュデータ管理機能部34のサービスコンポーネント情報テーブルからリクエスト先のサービスコンポーネントのシェイピング値を取得し、取得したシェイピング値に合致するようにリクエストを優先制御機能部8−2に出力する(ステップSb11)。優先制御機能部8−2は、キャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから各サービスコンポーネントの優先度を取得し、優先度の高いサービスコンポーネントのリクエストから順にフロー規制機能部8−3に出力する(ステップSb12)。フロー規制機能部8−3は、リクエスト先のサービスコンポーネントに対応するフロー制御フラグをキャッシュデータ管理機能部34のサービスコンポーネント情報テーブルから取得し、フロー規制フラグが立っている場合には、リクエストを一律に一定の時間遅延させてから、転送実行制御機能部30、転送通信制御機能部29及びメッセージプロキシ機能部28を介してサービスコンポーネントサーバ25にリクエストを転送する(ステップSb13)とともに、転送実行制御機能部30及び転送通信制御機能部29を介してトラフィック情報集計機能部9にリクエストを出力する(ステップSb14)。トラフィック情報集計機能部9は、トラフィック情報を生成し、トラフィック情報管理サーバ14からのポーリングで生成したトラフィック情報をトラフィック情報管理サーバ14のトラフィック収集機能部15に送信する(ステップSb15)。
【0062】
図17は、レート監視処理の手順を示すシーケンス図である。
トラフィック情報管理サーバ14のトラフィック収集機能部15は、実行制御サーバ1からポーリングにより数分毎にトラフィック情報を収集し、トラフィック集計機能部16に出力する(ステップSc1)。トラフィック集計機能部16は、入力されたトラフィック情報を集計し、集計した結果をトラフィック情報データベース20に送信する(ステップSc2)。トラフィック情報データベース20は、受信したデータを保存する(ステップSc3)。
【0063】
監視実行制御機能は、トラフィック集計機能部16がトラフィック情報を集計後、ユーザ監視機能部18のレート監視機能を起動する(ステップSc4)。ユーザ監視機能部18は、プロファイルサーバ21のサービスコンポーネント閾値情報テーブルからレート閾値を取得し(ステップSc5)、トラフィック情報データベース20のオペレーション−ユーザテーブルからユーザとオペレーションの組毎にレート監視時間におけるリクエスト数を取得し(ステップSc6)、リクエスト数がレート閾値を超えているユーザとオペレーションの組を抽出し、抽出したユーザをそのオペレーションのサービスコンポーネントに対して一時利用不可能にするユーザとして監視実行制御機能部に通知する(ステップSc7)。監視実行制御機能部は、リアクション機能部19のユーザ閉塞機能及びアラーム通知機能に対してリアクションを発動する(ステップSc8)。リアクション機能部19のユーザ閉塞機能は、サービスコンポーネントに対して一時利用不可能にするユーザをそのサービスコンポーネントのブラックリストに追加する指示をプロファイルサーバ21に送信する(ステップSc9)。プロファイルサーバ21は、プロファイルデータベース24に記憶されているサービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのブラックリストにそのユーザのユーザIDを追加する。また、リアクション機能部19のアラーム通知機能は、ユーザのサービスリクエスタ端末11、システム保守運用者の端末に警告メールを送るなどしてアラーム通知する(ステップSc10)。
【0064】
図18は、プロファイルデータベース更新視処理の手順を示すシーケンス図である。
サービス事業者、ユーザ、或いはシステム保守運用者は、ウェブブラウザなどを用いて、プロファイルサーバ21のカスコン機能部22が提供するウェブページからサービスコンポーネント情報又はユーザ情報の登録、更新、削除などを行う。また、サービス事業者は、悪質なユーザを検知した場合、そのユーザを一時的に利用停止することができるユーザ閉塞などを行う。ウェブページから入力された情報は、例えばサービスリクエスタ端末11からカスコン機能部22に送信される(ステップSd1)。カスコン機能部22は、受信した情報をデータベース登録制御機能部23に出力する(ステップSd2)。データベース登録制御機能部23は、受信した情報に基づいてプロファイルデータベース24に記憶されているサービスコンポーネント情報或いはユーザ情報を更新して保存する(ステップSd3)。また、データベース登録制御機能部23は、プロファイルデータベース24に更新した情報を、実行制御サーバ1,2,3のデータベース更新通知受付機能部33に通知する。
【0065】
一方、トラフィック情報管理サーバ14のリアクション機能部19があるサービスコンポーネントのブラックリストにあるユーザを追加する指示をプロファイルサーバ21に送信した場合には、データベース登録制御機能部23がその指示を受信する(ステップSd4)。そして、データベース登録制御機能部23は、そのサービスコンポーネントのブラックリストにそのユーザのユーザIDを追加して、プロファイルデータベース24を更新する(ステップSd5)。続いて、データベース登録制御機能部23は、そのサービスコンポーネントのブラックリストにそのユーザが追加されたことを実行制御サーバ1,2,3のデータベース更新通知受付機能部33に通知する(ステップSd6)。これにより、データベース更新通知受付機能部33は、キャッシュデータ管理機能部34が記憶するキャッシュデータを更新する。
また、実行制御サーバ1,2,3は、キャッシュデータ管理機能部34が記憶していないデータを用いる場合(例えば、初回のユーザ認証時など)には、必要な時にプロファイルデータベース24にアクセスして記憶されている情報を参照する(ステップSd7)。
【0066】
このように、本実施形態によれば、トラフィック情報管理サーバ14が、複数の実行制御サーバ1,2,3からトラフィック情報を収集して集計して、各サービスコンポーネント品質監視制御を行っているため、実行制御サーバ1,2,3が複数台並列して処理を行ってもシステム全体としてトラフィック情報の整合性を保つことができる。
また、実行制御サーバ1,2,3が複数台並列してサービスコンポーネントへのリクエスト処理を行っているため、単位時間におけるサービスコンポーネントへのリクエスト処理量を向上することができる。
また、各サービスコンポーネントにおける共通処理を一括して実行制御サーバ1,2,3が行っているため、サービス事業者側のサービスコンポーネント以外の機能(非機能要件)実装にかかる投資及び経費費用を軽減することができる。
また、実行制御サーバ1,2,3は、閉塞状態にあるサービスコンポーネントへのリクエストを遮断することにより、障害が発生したサービスコンポーネントサーバの影響が他のサービスコンポーネントへの波及を防ぐことができる。
また、サービス事業者、ユーザ或いはシステム保守運用者は、プロファイルサーバ21のカスコン機能部22からユーザ情報及びサービスコンポーネント情報を追加・更新・削除することができるため、本サービスを容易に利用することができ、複数のサービスコンポーネントを利用することで、新たなアプリケーションを容易に作成することができる。
【0067】
また、図6に示すプロファイルサーバ、図12に示す実行制御サーバ、図13に示すトラフィック情報管理サーバ、スロットリングサーバの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、サービスコンポーネント管理処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0068】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0069】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では3台の実行制御サーバを用いているが、2台以上であればよい。
【図面の簡単な説明】
【0070】
【図1】本発明の一実施形態によるサービスコンポーネント管理システムの構成を示すブロック図である。
【図2】本実施形態におけるサービスコンポーネントテーブルのデータ構造とデータ例を示す概略図である。
【図3】本実施形態におけるオペレーションテーブルのデータ構造とデータ例を示す概略図である。
【図4】本実施形態におけるオペレーション−ユーザテーブルのデータ構造とデータ例を示す概略図である。
【図5】本実施形態におけるユーザテーブルのデータ構造とデータ例を示す概略図である。
【図6】本実施形態におけるプロファイルサーバの機能構成を示すブロック図である。
【図7】本実施形態におけるユーザ情報テーブルのデータ構造とデータ例を示す概略図である。
【図8】本実施形態におけるユーザ閉塞情報テーブルのデータ構造とデータ例を示す概略図である。
【図9】本実施形態におけるサービスコンポーネント情報テーブルのデータ構造とデータ例を示す概略図である。
【図10】本実施形態におけるサービスコンポーネント閾値情報テーブルのデータ構造とデータ例を示す概略図である。
【図11】本実施形態におけるオペレーション閾値情報テーブルのデータ構造とデータ例を示す概略図である。
【図12】本実施形態における実行制御サーバの機能構成を示すブロック図である。
【図13】本実施形態におけるトラフィック情報管理サーバの機能構成を示すブロック図である。
【図14】本実施形態における認証チケット発行処理の手順を示すシーケンス図である。
【図15】本実施形態におけるサービスコンポーネントリクエストに対する共通処理の手順を示すシーケンス図である。
【図16】本実施形態におけるサービスコンポーネントリクエストに対する共通処理の手順を示すシーケンス図である。
【図17】本実施形態におけるレート監視処理の手順を示すシーケンス図である。
【図18】本実施形態におけるプロファイルデータベース更新視処理の手順を示すシーケンス図である。
【符号の説明】
【0071】
1,2,3…実行制御サーバ 4…実行制御サーバクラスタ 5…認証機能部 5−1…パスワード認証機能部 5−2…SSO機能部 6…認可機能部 6−1…ホワイトリスト照合機能部 6−2…ブラックリスト照合機能部 6−3…ID変換機能部 7…コンテンツフィルタ機能部 8…トラフィック制御機能部 8−1…シェイピング機能部 8−2…優先制御機能部 8−3…フロー規制機能部 9…トラフィック集計機能部 10…スロットリングサーバ 11,12…サービスリクエスタ端末 13…ネットワーク 14…トラフィック情報管理サーバ 15…トラフィック収集機能部 16…トラフィック集計機能部 17…サービスコンポーネント監視機能部 18…ユーザ監視機能部 19…リアクション機能部 20…トラフィック情報データベース 21…プロファイルサーバ 22…カスコン機能部 23…データベース登録制御機能部 24…プロファイルデータベース 25…サービスコンポーネントサーバ 28…メッセージプロキシ機能部 29…転送通信制御機能部 30…転送実行制御機能部 31…ユーザ閉塞確認機能部 32…サービスコンポーネント閉塞確認機能部 33…データベース更新通知受付部 34…キャッシュデータ管理機能部
【特許請求の範囲】
【請求項1】
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、
前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、
を備えるプロファイルサーバと、
ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、
前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、
前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、
前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、
特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、
を備える複数の実行制御サーバと、
前記実行制御サーバから前記トラフィック情報を受信するトラフィック収集機能部と、
前記トラフィック収集機能部により受信された前記トラフィック情報を集計するトラフィック集計機能部と、
前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部と、
前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部と、
前記サービスコンポーネント監視機能部により抽出されたサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、前記ユーザ監視機能部により抽出されたユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するリアクション機能部と、
を備えるトラフィック情報管理サーバと、
を有することを特徴とするサービスコンポーネント管理システム。
【請求項2】
前記サービスコンポーネント情報は、サービスコンポーネントにフロー制御を行うか否かを表すフロー制御フラグを含み、
前記トラフィック情報は、特定のサービスコンポーネントからの応答時間の状況を表す応答時間情報を含み、
前記サービスコンポーネント監視機能部は、前記トラフィック集計機能部により集計された前記応答時間情報に基づいて、フロー制御を行うサービスコンポーネントを抽出し、
前記リアクション機能部は、前記サービスコンポーネント監視機能部により抽出されたフロー制御を行うサービスコンポーネントに対応する前記フロー制御フラグの更新要求を前記プロファイルサーバに送信し、
前記実行制御サーバは、前記フロー制御フラグに基づいて、前記サービスコンポーネントへの前記リクエストを一律に一定の時間遅延させるフロー規制機能部を備える
ことを特徴とする請求項1に記載のサービスコンポーネント管理システム。
【請求項3】
前記実行制御サーバは、
ユーザの端末から認証チケット要求を受信すると、ユーザ認証を行い、認証すると認証チケットを発行して前記端末に返信するパスワード認証機能部と、
前記受信部によりユーザの端末からサービスコンポーネントへのリクエストが受信されると、当該リクエストに含まれる認証チケットを検証するシングルサインオン機能部と、
を備えることを特徴とする請求項1又は2に記載のサービスコンポーネント管理システム。
【請求項4】
前記コンポーネントサービス情報は、サービスコンポーネントを利用可能なユーザの一覧であるホワイトリストを含み、
前記実行制御サーバは、前記ホワイトリストに前記ユーザに登録されているか否かを判定するホワイトリスト照合機能部を有し、
前記送信部は、前記ユーザが前記ホワイトリストに登録されている場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信する
ことを特徴とする請求項1から3いずれか1項に記載のサービスコンポーネント管理システム。
【請求項5】
前記データベース登録制御機能部は、前記プロファイルデータベースを更新すると、その旨を前記実行制御サーバに通知し、
前記実行制御サーバは、
前記ユーザ情報と前記サービスコンポーネント情報を保持するキャッシュデータ管理機能部と、
前記プロファイルサーバから前記ユーザ情報又は前記サービスコンポーネント情報の更新が通知されると、前記キャッシュデータ管理機能部が保持する前記ユーザ情報又は前記サービスコンポーネント情報を更新するデータベース更新通知機能部と、
を備えることを特徴とする請求項1から4いずれか1項に記載のサービスコンポーネント管理システム。
【請求項6】
所定時間内における前記ユーザから前記サービスコンポーネントへ送信されたリクエストの数が所定の閾値を超えた場合に、エラーを前記実行制御サーバに通知するスロットリングサーバを有し、
前記送信部は、前記スロットリングサーバからエラーが通知されなかった場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信する
ことを特徴とする請求項1から5いずれか1項に記載のサービスコンポーネント管理システム。
【請求項7】
前記プロファイルサーバは、前記プロファイルデータベースに記憶されている前記サービスコンポーネント情報及び前記ユーザ情報の登録、更新、削除を受け付けるカスコン機能部を備えることを特徴とする請求項1から6いずれか1項に記載のサービスコンポーネント管理システム。
【請求項8】
ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、
サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、
前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、
特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、
を備えることを特徴とする実行制御サーバ。
【請求項9】
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、
前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、
を備えることを特徴とするプロファイルサーバ。
【請求項10】
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースを備えるプロファイルサーバが、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するステップと、
実行制御サーバが、ユーザの端末からサービスコンポーネントへのリクエストを受信するステップと、
前記実行制御サーバが、前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するステップと、
実行制御サーバが、前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するステップと、
前記実行制御サーバが、前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないでないと判定し、かつ前記サービスコンポーネントが閉塞状態でないと判定した場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信するステップと、
前記実行制御サーバが、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するステップと、
トラフィック情報管理サーバが、前記実行制御サーバから前記トラフィック情報を受信するステップと、
前記トラフィック情報管理サーバが、受信した前記トラフィック情報を集計するステップと、
前記トラフィック情報管理サーバが、集計した前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するステップと、
前記トラフィック情報管理サーバが、集計した前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するステップと、
前記トラフィック情報管理サーバが、抽出した閉塞状態にするサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、抽出した一時利用不可能にするユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するステップと、
を有することを特徴とするサービスコンポーネント管理方法。
【請求項1】
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、
前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、
を備えるプロファイルサーバと、
ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、
前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、
前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、
前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、
特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、
を備える複数の実行制御サーバと、
前記実行制御サーバから前記トラフィック情報を受信するトラフィック収集機能部と、
前記トラフィック収集機能部により受信された前記トラフィック情報を集計するトラフィック集計機能部と、
前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部と、
前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部と、
前記サービスコンポーネント監視機能部により抽出されたサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、前記ユーザ監視機能部により抽出されたユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するリアクション機能部と、
を備えるトラフィック情報管理サーバと、
を有することを特徴とするサービスコンポーネント管理システム。
【請求項2】
前記サービスコンポーネント情報は、サービスコンポーネントにフロー制御を行うか否かを表すフロー制御フラグを含み、
前記トラフィック情報は、特定のサービスコンポーネントからの応答時間の状況を表す応答時間情報を含み、
前記サービスコンポーネント監視機能部は、前記トラフィック集計機能部により集計された前記応答時間情報に基づいて、フロー制御を行うサービスコンポーネントを抽出し、
前記リアクション機能部は、前記サービスコンポーネント監視機能部により抽出されたフロー制御を行うサービスコンポーネントに対応する前記フロー制御フラグの更新要求を前記プロファイルサーバに送信し、
前記実行制御サーバは、前記フロー制御フラグに基づいて、前記サービスコンポーネントへの前記リクエストを一律に一定の時間遅延させるフロー規制機能部を備える
ことを特徴とする請求項1に記載のサービスコンポーネント管理システム。
【請求項3】
前記実行制御サーバは、
ユーザの端末から認証チケット要求を受信すると、ユーザ認証を行い、認証すると認証チケットを発行して前記端末に返信するパスワード認証機能部と、
前記受信部によりユーザの端末からサービスコンポーネントへのリクエストが受信されると、当該リクエストに含まれる認証チケットを検証するシングルサインオン機能部と、
を備えることを特徴とする請求項1又は2に記載のサービスコンポーネント管理システム。
【請求項4】
前記コンポーネントサービス情報は、サービスコンポーネントを利用可能なユーザの一覧であるホワイトリストを含み、
前記実行制御サーバは、前記ホワイトリストに前記ユーザに登録されているか否かを判定するホワイトリスト照合機能部を有し、
前記送信部は、前記ユーザが前記ホワイトリストに登録されている場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信する
ことを特徴とする請求項1から3いずれか1項に記載のサービスコンポーネント管理システム。
【請求項5】
前記データベース登録制御機能部は、前記プロファイルデータベースを更新すると、その旨を前記実行制御サーバに通知し、
前記実行制御サーバは、
前記ユーザ情報と前記サービスコンポーネント情報を保持するキャッシュデータ管理機能部と、
前記プロファイルサーバから前記ユーザ情報又は前記サービスコンポーネント情報の更新が通知されると、前記キャッシュデータ管理機能部が保持する前記ユーザ情報又は前記サービスコンポーネント情報を更新するデータベース更新通知機能部と、
を備えることを特徴とする請求項1から4いずれか1項に記載のサービスコンポーネント管理システム。
【請求項6】
所定時間内における前記ユーザから前記サービスコンポーネントへ送信されたリクエストの数が所定の閾値を超えた場合に、エラーを前記実行制御サーバに通知するスロットリングサーバを有し、
前記送信部は、前記スロットリングサーバからエラーが通知されなかった場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信する
ことを特徴とする請求項1から5いずれか1項に記載のサービスコンポーネント管理システム。
【請求項7】
前記プロファイルサーバは、前記プロファイルデータベースに記憶されている前記サービスコンポーネント情報及び前記ユーザ情報の登録、更新、削除を受け付けるカスコン機能部を備えることを特徴とする請求項1から6いずれか1項に記載のサービスコンポーネント管理システム。
【請求項8】
ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、
サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、
前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、
特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、
を備えることを特徴とする実行制御サーバ。
【請求項9】
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、
前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、
を備えることを特徴とするプロファイルサーバ。
【請求項10】
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースを備えるプロファイルサーバが、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するステップと、
実行制御サーバが、ユーザの端末からサービスコンポーネントへのリクエストを受信するステップと、
前記実行制御サーバが、前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するステップと、
実行制御サーバが、前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するステップと、
前記実行制御サーバが、前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないでないと判定し、かつ前記サービスコンポーネントが閉塞状態でないと判定した場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信するステップと、
前記実行制御サーバが、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するステップと、
トラフィック情報管理サーバが、前記実行制御サーバから前記トラフィック情報を受信するステップと、
前記トラフィック情報管理サーバが、受信した前記トラフィック情報を集計するステップと、
前記トラフィック情報管理サーバが、集計した前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するステップと、
前記トラフィック情報管理サーバが、集計した前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するステップと、
前記トラフィック情報管理サーバが、抽出した閉塞状態にするサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、抽出した一時利用不可能にするユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するステップと、
を有することを特徴とするサービスコンポーネント管理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2010−122956(P2010−122956A)
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願番号】特願2008−296684(P2008−296684)
【出願日】平成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 ]