(57)【要約】【課題】複数台の実行制御サーバを並列に実行したとしてもシステム全体でリクエストを監視することができ、サービスコンポーネントへのリクエスト処理量を向上することができる。【解決手段】トラフィック情報管理サーバ１４は、実行制御サーバ１，２，３から収集したトラフィック情報を集計するトラフィック集計機能部１６と、集計したトラフィック情報に基づいて閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部１７と、集計したトラフィック情報に基づいて特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部１８と、閉塞状態にするサービスコンポーネント又は一時利用不可能にするユーザをプロファイルサーバ２１に通知するリアクション機能部１９と、を備える。【選択図】図１
2010122956.tif 000002
【特許請求の範囲】
【請求項１】
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、
前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、
を備えるプロファイルサーバと、
ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、
前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、
前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、
前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、
特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、
を備える複数の実行制御サーバと、
前記実行制御サーバから前記トラフィック情報を受信するトラフィック収集機能部と、
前記トラフィック収集機能部により受信された前記トラフィック情報を集計するトラフィック集計機能部と、
前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部と、
前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部と、
前記サービスコンポーネント監視機能部により抽出されたサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、前記ユーザ監視機能部により抽出されたユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するリアクション機能部と、
を備えるトラフィック情報管理サーバと、
を有することを特徴とするサービスコンポーネント管理システム。
【請求項２】
前記サービスコンポーネント情報は、サービスコンポーネントにフロー制御を行うか否かを表すフロー制御フラグを含み、
前記トラフィック情報は、特定のサービスコンポーネントからの応答時間の状況を表す応答時間情報を含み、
前記サービスコンポーネント監視機能部は、前記トラフィック集計機能部により集計された前記応答時間情報に基づいて、フロー制御を行うサービスコンポーネントを抽出し、
前記リアクション機能部は、前記サービスコンポーネント監視機能部により抽出されたフロー制御を行うサービスコンポーネントに対応する前記フロー制御フラグの更新要求を前記プロファイルサーバに送信し、
前記実行制御サーバは、前記フロー制御フラグに基づいて、前記サービスコンポーネントへの前記リクエストを一律に一定の時間遅延させるフロー規制機能部を備える
ことを特徴とする請求項１に記載のサービスコンポーネント管理システム。
【請求項３】
前記実行制御サーバは、
ユーザの端末から認証チケット要求を受信すると、ユーザ認証を行い、認証すると認証チケットを発行して前記端末に返信するパスワード認証機能部と、
前記受信部によりユーザの端末からサービスコンポーネントへのリクエストが受信されると、当該リクエストに含まれる認証チケットを検証するシングルサインオン機能部と、
を備えることを特徴とする請求項１又は２に記載のサービスコンポーネント管理システム。
【請求項４】
前記コンポーネントサービス情報は、サービスコンポーネントを利用可能なユーザの一覧であるホワイトリストを含み、
前記実行制御サーバは、前記ホワイトリストに前記ユーザに登録されているか否かを判定するホワイトリスト照合機能部を有し、
前記送信部は、前記ユーザが前記ホワイトリストに登録されている場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信する
ことを特徴とする請求項１から３いずれか１項に記載のサービスコンポーネント管理システム。
【請求項５】
前記データベース登録制御機能部は、前記プロファイルデータベースを更新すると、その旨を前記実行制御サーバに通知し、
前記実行制御サーバは、
前記ユーザ情報と前記サービスコンポーネント情報を保持するキャッシュデータ管理機能部と、
前記プロファイルサーバから前記ユーザ情報又は前記サービスコンポーネント情報の更新が通知されると、前記キャッシュデータ管理機能部が保持する前記ユーザ情報又は前記サービスコンポーネント情報を更新するデータベース更新通知機能部と、
を備えることを特徴とする請求項１から４いずれか１項に記載のサービスコンポーネント管理システム。
【請求項６】
所定時間内における前記ユーザから前記サービスコンポーネントへ送信されたリクエストの数が所定の閾値を超えた場合に、エラーを前記実行制御サーバに通知するスロットリングサーバを有し、
前記送信部は、前記スロットリングサーバからエラーが通知されなかった場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信する
ことを特徴とする請求項１から５いずれか１項に記載のサービスコンポーネント管理システム。
【請求項７】
前記プロファイルサーバは、前記プロファイルデータベースに記憶されている前記サービスコンポーネント情報及び前記ユーザ情報の登録、更新、削除を受け付けるカスコン機能部を備えることを特徴とする請求項１から６いずれか１項に記載のサービスコンポーネント管理システム。
【請求項８】
ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、
サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、
前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、
特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、
を備えることを特徴とする実行制御サーバ。
【請求項９】
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、
前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、
を備えることを特徴とするプロファイルサーバ。
【請求項１０】
サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースを備えるプロファイルサーバが、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するステップと、
実行制御サーバが、ユーザの端末からサービスコンポーネントへのリクエストを受信するステップと、
前記実行制御サーバが、前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するステップと、
実行制御サーバが、前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するステップと、
前記実行制御サーバが、前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないでないと判定し、かつ前記サービスコンポーネントが閉塞状態でないと判定した場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信するステップと、
前記実行制御サーバが、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するステップと、
トラフィック情報管理サーバが、前記実行制御サーバから前記トラフィック情報を受信するステップと、
前記トラフィック情報管理サーバが、受信した前記トラフィック情報を集計するステップと、
前記トラフィック情報管理サーバが、集計した前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するステップと、
前記トラフィック情報管理サーバが、集計した前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するステップと、
前記トラフィック情報管理サーバが、抽出した閉塞状態にするサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、抽出した一時利用不可能にするユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するステップと、
を有することを特徴とするサービスコンポーネント管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービスコンポーネント管理システム、実行制御サーバ、プロファイルサーバ及びサービスコンポーネント管理方法に関する。
【背景技術】
【０００２】
現在、ウェブサービス等のサービスコンポーネントを連携利用することで、新たなサービスを容易に実現する試みがある。
非特許文献１及び２に記載された技術では、電話サービスとウェブサービスとを連携するシステムにおいて、実行制御サーバがユーザ認証やトラフィック制御などの共通処理を一括して行っている。
【非特許文献１】山登庸次、大西浩行、中野雄介、“電話−ウェブ連携を促進する実行制御機能の検討”電子情報通信学会２００８年総合大会講演論文集、B-19-10、Mar.2008.
【非特許文献２】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.
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、非特許文献１及び２では、１台の実行制御サーバ単体での運用を想定しているため、実行制御サーバを複数台用いた場合には、ユーザからサービスコンポーネントへのリクエストをシステム全体で監視することができない、という問題がある。
例えば、あるユーザａがサービスコンポーネントＡを１日に使用できる回数が１００回と設定されていたときに、ユーザａが実行制御サーバ１で３０回、実行制御サーバ２で８０回、実行制御サーバ３で６０回サービスコンポーネントＡを使用した場合であっても、１日の使用制限回数１００回を超えているユーザとしてユーザａを検出することはできなかった。
本発明は上記の点に鑑みてなされたものであり、その目的は、複数台の実行制御サーバを並列に実行したとしてもシステム全体でリクエストを監視することができ、サービスコンポーネントへのリクエスト処理量を向上することができるサービスコンポーネント管理システム、実行制御サーバ、プロファイルサーバ及びサービスコンポーネント管理方法を提供することにある。
【課題を解決するための手段】
【０００４】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、を備えるプロファイルサーバと、ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、を備える複数の実行制御サーバと、前記実行制御サーバから前記トラフィック情報を受信するトラフィック収集機能部と、前記トラフィック収集機能部により受信された前記トラフィック情報を集計するトラフィック集計機能部と、前記トラフィック集計機能部により集計された前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するサービスコンポーネント監視機能部と、前記トラフィック集計機能部により集計された前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するユーザ監視機能部と、前記サービスコンポーネント監視機能部により抽出されたサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、前記ユーザ監視機能部により抽出されたユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するリアクション機能部と、を備えるトラフィック情報管理サーバと、を有することを特徴とするサービスコンポーネント管理システムである。
【０００５】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記サービスコンポーネント情報は、サービスコンポーネントにフロー制御を行うか否かを表すフロー制御フラグを含み、前記トラフィック情報は、特定のサービスコンポーネントからの応答時間の状況を表す応答時間情報を含み、前記サービスコンポーネント監視機能部は、前記トラフィック集計機能部により集計された前記応答時間情報に基づいて、フロー制御を行うサービスコンポーネントを抽出し、前記リアクション機能部は、前記サービスコンポーネント監視機能部により抽出されたフロー制御を行うサービスコンポーネントに対応する前記フロー制御フラグの更新要求を前記プロファイルサーバに送信し、前記実行制御サーバは、前記フロー制御フラグに基づいて、前記サービスコンポーネントへの前記リクエストを一律に一定の時間遅延させるフロー規制機能部を備えることを特徴とする。
【０００６】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記実行制御サーバは、ユーザの端末から認証チケット要求を受信すると、ユーザ認証を行い、認証すると認証チケットを発行して前記端末に返信するパスワード認証機能部と、前記受信部によりユーザの端末からサービスコンポーネントへのリクエストが受信されると、当該リクエストに含まれる認証チケットを検証するシングルサインオン機能部と、を備えることを特徴とする。
【０００７】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記コンポーネントサービス情報は、サービスコンポーネントを利用可能なユーザの一覧であるホワイトリストを含み、前記実行制御サーバは、前記ホワイトリストに前記ユーザに登録されているか否かを判定するホワイトリスト照合機能部を有し、前記送信部は、前記ユーザが前記ホワイトリストに登録されている場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信することを特徴とする。
【０００８】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記データベース登録制御機能部は、前記プロファイルデータベースを更新すると、その旨を前記実行制御サーバに通知し、前記実行制御サーバは、前記ユーザ情報と前記サービスコンポーネント情報を保持するキャッシュデータ管理機能部と、前記プロファイルサーバから前記ユーザ情報又は前記サービスコンポーネント情報の更新が通知されると、前記キャッシュデータ管理機能部が保持する前記ユーザ情報又は前記サービスコンポーネント情報を更新するデータベース更新通知機能部と、を備えることを特徴とする。
【０００９】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、所定時間内における前記ユーザから前記サービスコンポーネントへ送信されたリクエストの数が所定の閾値を超えた場合に、エラーを前記実行制御サーバに通知するスロットリングサーバを有し、前記送信部は、前記スロットリングサーバからエラーが通知されなかった場合に限り、前記リクエストを前記サービスコンポーネントサーバに送信することを特徴とする。
【００１０】
また、本発明の一態様は、上記のサービスコンポーネント管理システムにおいて、前記プロファイルサーバは、前記プロファイルデータベースに記憶されている前記サービスコンポーネント情報及び前記ユーザ情報の登録、更新、削除を受け付けるカスコン機能部を備えることを特徴とする。
【００１１】
また、本発明の一態様は、ユーザの端末からサービスコンポーネントへのリクエストを受信する受信部と、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するブラックリスト照合機能部と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するサービスコンポーネント閉塞確認機能部と、前記ブラックリスト照合機能部により前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないと判定され、かつ前記サービスコンポーネント閉塞確認機能部により前記サービスコンポーネントが閉塞状態でないと判定された場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信する送信部と、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するトラフィック情報集計機能部と、を備えることを特徴とする実行制御サーバである。
【００１２】
また、本発明の一態様は、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースと、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するデータベース登録制御機能部と、を備えることを特徴とするプロファイルサーバである。
【００１３】
また、本発明の一態様は、サービスコンポーネントを一時利用不可能になっているユーザの一覧であるブラックリストを含むユーザ情報と、サービスコンポーネントが閉塞状態であるか否かを表すサービスコンポーネント閉塞フラグを含むサービスコンポーネント情報とを保持するプロファイルデータベースを備えるプロファイルサーバが、前記ユーザ情報又は前記サービスコンポーネント情報の更新要求を受信すると、前記プロファイルデータベースが保持している前記サービスコンポーネント情報又は前記ユーザ情報を更新するステップと、実行制御サーバが、ユーザの端末からサービスコンポーネントへのリクエストを受信するステップと、前記実行制御サーバが、前記ブラックリストに基づいて、当該ユーザが当該サービスコンポーネントを一時利用不可能か否かを判定するステップと、実行制御サーバが、前記サービスコンポーネント閉塞フラグに基づいて、当該サービスコンポーネントが閉塞状態であるか否かを判定するステップと、前記実行制御サーバが、前記ユーザが前記サービスコンポーネントに対して一時利用不可能でないでないと判定し、かつ前記サービスコンポーネントが閉塞状態でないと判定した場合に、前記サービスコンポーネントのサービスコンポーネントサーバに前記リクエストを送信するステップと、前記実行制御サーバが、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報と特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報とを含むトラフィック情報を前記リクエストに基づいて生成して当該トラフィック情報をトラフィック情報管理サーバに送信するステップと、トラフィック情報管理サーバが、前記実行制御サーバから前記トラフィック情報を受信するステップと、前記トラフィック情報管理サーバが、受信した前記トラフィック情報を集計するステップと、前記トラフィック情報管理サーバが、集計した前記サービスコンポーネント別エラー率情報に基づいて、閉塞状態にするサービスコンポーネントを抽出するステップと、前記トラフィック情報管理サーバが、集計した前記ユーザ別統計情報に基づいて、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出するステップと、前記トラフィック情報管理サーバが、抽出した閉塞状態にするサービスコンポーネントに対応する前記サービスコンポーネント閉塞フラグの更新要求を前記プロファイルサーバに送信し、抽出した一時利用不可能にするユーザを前記特定のサービスコンポーネントの前記ブラックリストに追加する更新要求を前記プロファイルサーバに送信するステップと、を有することを特徴とするサービスコンポーネント管理方法である。
【発明の効果】
【００１４】
本発明によれば、トラフィック情報管理サーバが、複数の実行制御サーバからトラフィック情報を収集して集計して閉塞状態にするサービスコンポーネント及び特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出しているため、実行制御サーバが複数台並列して処理を行ってもシステム全体としてトラフィック情報の整合性を保つことができる。
また、実行制御サーバが複数台並列してサービスコンポーネントへのリクエスト処理を行っているため、単位時間におけるサービスコンポーネントへのリクエスト処理量を向上することができる。
また、各サービスコンポーネントにおける共通処理を一括して実行制御サーバが行っているため、サービス事業者側のサービスコンポーネント以外の機能（非機能要件）実装にかかる投資及び経費費用を軽減することができる。
また、実行制御サーバは、閉塞状態にあるサービスコンポーネントへのリクエストを遮断することにより、障害が発生したサービスコンポーネントサーバの影響が他のサービスコンポーネントへの波及を防ぐことができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図１は、本発明の一実施形態によるサービスコンポーネント管理システムの構成を示すブロック図である。
サービスコンポーネント管理システムは、実行制御サーバクラスタ４と、スロットリングサーバ１０と、トラフィック情報管理サーバ１４と、プロファイルサーバ２１と、トラフィック情報データベース２０と、サービスリクエスタ端末１１，１２と、複数のサービスコンポーネントサーバ２５と、を含んで構成される。
サービスリクエスタ端末１１，１２と実行制御サーバクラスタ４及び、実行制御サーバクラスタ４とサービスコンポーネントサーバ２５とは、ネットワーク１３を介してメッセージの送受信を行う。ネットワーク１３は、電話交換等の通信ネットワーク、或いはインターネット等の情報ネットワーク、或いはサービス制御層とパケット転送層とを有するＮＧＮ（Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ  Ｎｅｔｗｏｒｋ）、或いは移動体ネットワーク等からなるネットワークである。
【００１６】
サービスコンポーネントサーバ２５は、サービスリクエスタ端末１１，１２に複数のサービスコンポーネントを提供するサーバ装置である。サービスコンポーネントとは、サービス事業者が提供するウェブサービスや電話サービスなどのサービスである。
サービスリクエスタ端末１１，１２は、複数のサービスコンポーネントが連携してなるサービスを利用するユーザ（リクエスタ）が使用する端末である。
【００１７】
実行制御サーバクラスタ４は、実行制御サーバ１，２，３群である。
実行制御サーバ１，２，３は、各サービスコンポーネントの共通処理を行うサーバ装置である。各サービスコンポーネントの共通処理とは、ユーザ認証やトラフィック制御などである。実行制御サーバ１，２，３の機能構成は後述する。なお、サービスリクエスタ端末１１，１２からのリクエストは図示しないロードバランサーにより、ラウンドロビンアルゴリズムや実行制御サーバ１，２，３のＣＰＵ（中央演算装置）使用率に応じて実行制御サーバ１，２，３に振り分けられる。
プロファイルサーバ２１は、ユーザ情報とサービスコンポーネント情報とを保持するサーバ装置である。プロファイルサーバ２１の機能構成は後述する。
【００１８】
スロットリングサーバ１０は、短周期にユーザから過剰な数のリクエストがサービスコンポーネントサーバ２５へ送信されないように制御するスロットリング処理を行うサーバ装置である。具体的には、スロットリングサーバ１０は、レート判定時間（例えば数秒などの短周期）内における特定のユーザから特定のサービスコンポーネントへ送信されたリクエストの数をメモリ上に記憶しており、実行制御サーバ１からリクエストを受信すると、リクエストの数に１加算する。そして、スロットリングサーバ１０は、リクエストの数が予め設定されたリクエスト先のサービスコンポーネントに対応するスロットリング閾値を超えているか否かを判定し、リクエストの数がレート閾値を超えている場合には、リクエストを遮断し、実行制御サーバ１にエラーを返信する。一方、リクエストの数がスロットリング閾値以下である場合には、実行制御サーバ１にリクエストを返信する。なお、スロットリングサーバ１０は、スロットリング閾値をプロファイルサーバ２１から取得する。
【００１９】
トラフィック情報管理サーバ１４は、各サービスコンポーネントへの負荷状況を監視するサービスコンポーネント品質監視制御を行うサーバ装置である。トラフィック情報管理サーバ１４の機能構成は後述する。
トラフィック情報データベース２０は、トラフィック情報の集計結果を記憶保持するデータベースであり、サービスコンポーネントテーブルと、オペレーションテーブルと、オペレーション−ユーザテーブルと、ユーザテーブルとを保持している。トラフィック情報とは、サービスコンポーネントテーブルと、オペレーションテーブルと、オペレーション−ユーザテーブルと、ユーザテーブルにおける各項目をトラフィック情報生成時間（例えば３分）毎に集計した情報である。また、オペレーション−ユーザテーブル及びユーザテーブルの各項目が、特定のユーザから特定のサービスコンポーネントへのリクエストの状況を表すユーザ別統計情報である。また、サービスコンポーネントテーブルの各項目が、特定のサービスコンポーネントのエラー状況を表すサービスコンポーネント別エラー率情報である。また、オペレーションテーブルの各項目が、特定のサービスコンポーネントからの応答時間の状況を表すサービスコンポーネントのオペレーション別応答時間情報である。
【００２０】
図２は、本実施形態におけるサービスコンポーネントテーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネントテーブルは、年月日と、時と、サービスＩＤと、リクエスト数と、エラー数の各項目の列を有している。時は、時間を示しており、例えば、時「１０」は、１０時００分から１０時５９分までを表す。サービスＩＤは、サービスコンポーネントを識別する識別情報である。リクエスト数は、サービスコンポーネント宛に送信されたリクエストの数である。エラー数は、サービスリクエスト宛に送信されたリクエストに対するエラーの数であり、認証ＮＧと、認可ＮＧと、応答タイムアウトの各項目を有している。認証ＮＧは、ユーザ認証されなかった場合のエラーである。認可ＮＧは、例えばユーザにサービスコンポーネントの使用権限がない場合のエラーである。応答タイムアウトは、リクエストに対するレスポンスが一定時間内に返されなかった場合のエラーである。
【００２１】
図３は、本実施形態におけるオペレーションテーブルのデータ構造とデータ例を示す概略図である。オペレーションテーブルは、年月日と、時と、サービスＩＤと、オペレーション名と、レスポンス数と、応答時間合計の各項目の列を有している。オペレーション名は、サービスコンポーネントのオペレーション（例えば、電話サービスの場合、発呼、着信等）の名称である。レスポンス数は、リクエストに対するレスポンスの数である。応答時間合計は、実行制御サーバ１，２，３がリクエストを送信してからレスポンスを受信するまでの応答時間の合計値であり、単位はミリ秒（ｍｓ）である。
【００２２】
図４は、本実施形態におけるオペレーション−ユーザテーブルのデータ構造とデータ例を示す概略図である。オペレーション−ユーザテーブルは、年月日と、時と、サービスＩＤと、オペレーション名と、ユーザＩＤと、リクエスト数の各項目の列を有している。ユーザＩＤは、ユーザを識別するための識別情報である。
【００２３】
図５は、本実施形態におけるユーザテーブルのデータ構造とデータ例を示す概略図である。ユーザテーブルは、年月日と、時と、ユーザＩＤと、リクエスト数と、エラー数の各項目の列を有している。
【００２４】
図６は、本実施形態におけるプロファイルサーバ２１の機能構成を示すブロック図である。
プロファイルサーバ２１は、カスコン機能部２２と、データベース登録制御機能部２３と、プロファイルデータベース２４とを含んで構成される。
プロファイルデータベース２４は、ユーザ情報とサービスコンポーネント情報を保持するデータベースであり、ユーザ情報テーブルと、ユーザ閉塞情報テーブルと、サービスコンポーネント情報テーブルと、サービスコンポーネント閾値情報テーブルと、オペレーション閾値情報テーブルを保持している。
カスコン機能部２２は、プロファイルデータベース２４が保持しているサービスコンポーネント情報及びユーザ情報を更新するためのインタフェース（例えば、ウェブページなど）を提供する。具体的には、カスコン機能部２２は、サービスリクエスタ端末１１，１２などからサービスコンポーネント情報及びユーザ情報の登録要求、更新要求、削除要求を受け付け、データベース登録制御機能部２３を介してプロファイルデータベース２４を更新する。これにより、ユーザ、サービスコンポーネント管理システムを保守運用するシステム保守運用者、或いはサービスコンポーネントを提供するサービス事業者は、ウェブブラウザなどを用いてユーザ情報及びサービスコンポーネント情報を更新することができる。
データベース登録制御機能部２３は、トラフィック情報管理サーバ１４又はカスコン機能部２２からユーザ情報又はサービスコンポーネント情報の更新要求を受信すると、プロファイルデータベース２４が保持しているユーザ情報及びサービスコンポーネント情報を更新するとともに、更新のあった情報をＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）により実行制御サーバ１，２，３に通知する。ただし、データベース登録制御機能部２３は、ユーザの認証情報（例えば、パスワード等）に更新があったとしても、ユーザの認証情報が更新されたことを実行制御サーバ１，２，３に通知しない。例えば、トラフィック情報管理サーバ１４からあるサービスコンポーネントの閉塞フラグを立てる指示を受信した場合には、データベース登録制御機能部２３は、プロファイルデータベース２４に記憶されているそのサービスコンポーネントの閉塞フラグを立てるとともに、そのサービスコンポーネントの閉塞フラグを立てたことを実行制御サーバ１，２，３に通知する。閉塞フラグとは、サービスコンポーネントが閉塞状態にあるか否かを示すフラグである。閉塞状態とは、サービスコンポーネントを利用できない状態である。
【００２５】
図７は、本実施形態におけるユーザ情報テーブルのデータ構造とデータ例を示す概略図である。ユーザ情報テーブルは、ユーザ情報として、ユーザＩＤと、パスワードの各項目の列を有している。ユーザＩＤは、ユーザを識別する識別情報である。パスワードは、ユーザ認証を行うためのパスワードである。本実施形態では、パスワードがユーザ認証情報である。
【００２６】
図８は、本実施形態におけるユーザ閉塞情報テーブルのデータ構造とデータ例を示す概略図である。ユーザ情報テーブルは、ユーザ情報として、ユーザＩＤと、閉塞フラグ（ユーザ閉塞フラグ）の各項目の列を有している。閉塞フラグは、ユーザがコンポーネント管理システムにおいて閉塞状態（サービスコンポーネントを利用できない状態）にあるか否かを示すフラグであり、閉塞フラグ「１」は閉塞状態であることを表し、閉塞フラグ「０」は閉塞状態ではないことを表す。
【００２７】
図９は、本実施形態におけるサービスコンポーネント情報テーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネント情報テーブルは、サービスコンポーネント情報として、サービスＩＤと、シェイピング値と、優先度と、フロー規制フラグと、閉塞フラグ（サービスコンポーネント閉塞フラグ）と、ホワイトリストと、ブラックリストと、フィルタ条件と、適用する処理の各項目の列を有している。サービスＩＤは、サービスコンポーネントを識別する識別情報である。シェイピング値は、１秒間にそのサービスコンポーネントに送信可能なリクエスト数である。優先度は、トラフィック制御における各サービスコンポーネントの優先度である。フロー規制フラグは、そのサービスコンポーネントにフロー制御があるか否かを示すフラグであり、フロー規制フラグ「１」はフロー規制があることを表し、フロー規制フラグ「０」はフロー規制がないことを表す。閉塞フラグは、サービスコンポーネントが閉塞状態（利用できない状態）にあるか否かを示すフラグであり、閉塞フラグ「１」は閉塞状態であることを表し、閉塞フラグ「０」は閉塞状態ではないことを表す。ホワイトリストは、サービスコンポーネントを利用可能なユーザＩＤの一覧である。ブラックリストは、サービスコンポーネントを一時利用不可能になっているユーザＩＤの一覧である。フィルタ条件とは、各リクエストのパラメータに対するフィルタ条件である。例えば、検索を行うリクエストの検索個数を表すパラメータａに対するフィルタ条件として、「パラメータａ＞１００（一回の検索に対して検索個数が１００以上）」などを設定することが考えられる。適用する処理とは、実行制御サーバ１，２，３において、リクエストに対して実行する処理である。
【００２８】
図１０は、本実施形態におけるサービスコンポーネント閾値情報テーブルのデータ構造とデータ例を示す概略図である。サービスコンポーネント閾値情報テーブルは、サービスＩＤと、サービス利用不能率閾値と、エラー閾値と、サイズ閾値との各項目の列を有している。サービス利用不能率閾値は、サービスが利用不能になる率に関する閾値である。エラー閾値は、エラーの割合に関する閾値である。サイズ閾値は、リクエストのサイズに関する閾値である。
【００２９】
図１１は、本実施形態におけるオペレーション閾値情報テーブルのデータ構造とデータ例を示す概略図である。オペレーション閾値情報テーブルは、サービスＩＤと、オペレーション名と、レート閾値と、平均応答時間閾値と、スロットリング閾値との各項目の列を有している。オペレーション名は、サービスコンポーネントのオペレーション（例えば、電話サービスの場合、発呼、着信等）の名称である。レート閾値は、１ユーザがレート監視周期（例えば１日）にサービスコンポーネントに送信可能なリクエスト数の閾値である。平均応答時間閾値は、リクエストに対する平均応答時間に関する閾値である。スロットリング閾値は、１ユーザがレート判定時間（例えば数秒などの短周期）に送信可能なリクエスト数の閾値である。
【００３０】
図１２は、本実施形態における実行制御サーバ１の機能構成を示すブロック図である。
実行制御サーバクラスタ４では、共通処理を複数の実行制御サーバ１，２，３に並列に行わせることにより、負荷分散を行っている。負荷分散を行うことで、システム全体におけるサービスコンポーネントへのリクエストの処理量を増加することができる。また、各実行制御サーバ１，２，３のリクエスト処理量が減少することにより、リクエストを高速に処理することができる。
実行制御サーバ１は、認証機能部５と、ユーザ閉塞確認機能部３１と、認可機能部６と、データベース更新通知受付機能部３３と、キャッシュデータ管理機能部３４と、サービスコンポーネント閉塞確認機能部３２と、コンテンツフィルタ機能部７と、転送実行制御機能部３０と、認証通信制御機能部２７と、トラフィック制御機能部８と、転送通信制御機能部２９と、トラフィック情報集計機能部９と、メッセージプロキシ機能部２８とを含んで構成される。なお、実行制御サーバ２及び３の機能構成は実行制御サーバ１と同様である。
【００３１】
キャッシュデータ管理機能部３４は、ユーザ情報テーブルと、ユーザ閉塞情報テーブルと、サービスコンポーネント情報テーブルとのキャッシュ（ｃａｃｈｅ）データを保持している。但し、キャッシュデータ管理機能部３４は、ユーザ認証情報を保持しない。
データベース更新通知受付機能部３３は、プロファイルサーバ２１からユーザ情報又はサービスコンポーネント情報の更新が通知されると、キャッシュデータ管理機能部２４が保持するユーザ情報テーブル、ユーザ閉塞情報テーブル或いはサービスコンポーネント情報テーブルを更新する。例えば、プロファイルサーバ２１からユーザ閉塞情報テーブルの閉塞フラグが「１」に変更されたと通知された場合には、データベース更新通知受付機能部３３は、キャッシュデータ管理機能部３４に記憶されているユーザ閉塞情報テーブルの閉塞フラグを「１」に置き換える。
これにより、プロファイルサーバ２１のプロファイルデータベース２４が更新されると、キャッシュデータ管理機能部３４のキャッシュデータも更新されるため、キャッシュデータ管理機能部３４に保持されているデータを常に最新のデータとして使用することができる。これにより、実行制御サーバ１は、プロファイルデータベース２４に保持されている情報を用いて処理をする場合に、プロファイルサーバ２１に問い合わせをする必要がなくなるため、より高速に処理をすることができる。なお、実行制御サーバ１は、ユーザ認証情報を使用する場合には、プロファイルサーバ２１のプロファイルデータベース２４から取得する。
【００３２】
認証通信制御機能部２７は、サービスリクエスタ端末１１（又は１２）からサービスコンポーネントリクエスト（以下、リクエストと呼ぶ）の認証チケット発行要求を受信すると、受信した認証チケット発行要求を認証機能部５に出力する。認証チケット発行要求とは、サービスコンポーネントを利用するための認証チケットの発行要求メッセージであり、ユーザＩＤ及びパスワードが含まれる。また、認証通信制御機能部２７は、認証機能部５から認証チケット発行要求に対する応答が入力されると、その応答を要求元のサービスリクエスタ端末１１に送信する。
【００３３】
認証機能部５は、パスワード認証機能部５−１と、ＳＳＯ（シングルサインオン）機能部５−２とを含んで構成される。パスワード認証機能部５−１は、認証チケット発行要求が入力されると、認証チケット発行要求に含まれるユーザＩＤを用いて、プロファイルサーバ２１からユーザ認証情報を取得する。なお、パスワード認証機能部５−１は、認証チケット発行要求に含まれるユーザＩＤがプロファイルサーバ２１に記憶されていない場合には、認証チケット発行要求に対する応答としてエラーを認証通信制御機能部２７に返す。次に、パスワード認証機能部５−１は、取得したユーザ認証情報のパスワードと認証チケット発行要求に含まれるパスワードが一致するか否かを判定するパスワード認証を行い。パスワード認証機能部５−１は、パスワードが一致した（認証した）場合に、認証チケット発行要求に対する応答として認証チケット発行し、認証通信制御機能部２７に出力する。なお、認証チケットには、ユーザＩＤや発行者の署名などが含まれる。一方、パスワード認証機能部５−１は、パスワードが一致しない場合には、認証チケット発行要求に対する応答としてエラーを認証通信制御機能部２７に返す。なお、本実施形態では、パスワード認証機能部５−１は、パスワード認証を用いているが、パスワード認証に加えて生体認証或いはサービスリクエスタ端末１１，１２の識別子に基づく認証などを用いてもよい。ＳＳＯ機能部５−２は、メッセージプロキシ機能部２８を介してサービスリクエスタ端末１１，１２からサービスコンポーネントに対するリクエストを受信すると、リクエストに含まれる認証チケットの発行者の署名を検証して、正当な認証チケットである（認証チケットが有効である）か否かの判定を行う。ＳＳＯ機能部５−２は、正当な認証チケットであると判定した場合には、転送実行制御機能部３０を介してリクエストをユーザ閉塞確認機能部３１に出力する。一方、正当な認証チケットではないと判定した場合には、サービスリクエスタ端末１１，１２にエラーを返信する。なお、ユーザは、一度パスワード認証されると、その後は認証チケットを用いてシングルサインオンで複数のサービスコンポーネントの利用が可能である。
【００３４】
ユーザ閉塞確認機能部３１は、契約違反が検出されたユーザからのリクエストをシステム全体で遮断するための機能であり、ユーザが閉塞状態であるか否かを判定する。具体的には、ユーザ閉塞確認機能部３１は、認証チケットに含まれるユーザＩＤに対応する閉塞フラグをキャッシュデータ管理機能部３４のユーザ閉塞情報テーブルから取得し、閉塞フラグが立っている（つまり、「１」である）か否かを判定する。そして、ユーザ閉塞確認機能部３１は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末１１にエラーを返信する。一方、閉塞フラグが立っていない場合には、転送実行制御機能部３０を介して認可機能部６にリクエストを出力する。
【００３５】
認可機能部６は、リクエスト先のサービスコンポーネントをユーザが利用可能か否かを判定する機能であり、ホワイトリスト照合機能部６−１と、ブラックリスト照合機能部６−２と、ＩＤ変換機能部６−３とを含んで構成される。ホワイトリスト照合機能部６−１は、ユーザがリクエスト先のサービスコンポーネントを利用できる権限を持つか否かを判定する機能である。具体的には、ホワイトリスト照合機能部６−１は、リクエスト先のサービスコンポーネントのホワイトリストをキャッシュデータ管理機能部３４のサービスコンポーネント情報から取得し、認証チケットに含まれるユーザＩＤがホワイトリストに登録されているか否かを判定する。そして、ホワイトリスト照合機能部６−１は、ユーザＩＤがホワイトリストに登録されている場合には、ブラックリスト照合機能部６−２にリクエストを出力する。一方、ホワイトリスト照合機能部６−１は、ユーザＩＤがホワイトリストに登録されていない場合には、リクエストを遮断し、サービスリクエスタ端末１１にエラーを返信する。ブラックリスト照合機能部６−２は、ユーザが一時的にリクエスト先のサービスコンポーネントを利用停止になっているか否かを判定する機能である。具体的には、ブラックリスト照合機能部６−２は、リクエスト先のサービスコンポーネントのブラックリストをキャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから取得し、認証チケットに含まれるユーザＩＤがブラックリストに登録されている否かを判定する。そして、ブラックリスト照合機能部６−２は、ユーザＩＤがブラックリストに登録されていない場合には、ＩＤ変換機能部６−３にリクエストを出力する。一方、ユーザＩＤがブラックリストに登録されている場合には、リクエストを遮断し、メッセージプロキシ機能部２８を介してサービスリクエスタ端末１１にエラーを返信する。ＩＤ変換機能部６−３は、認証チケットに含まれるユーザＩＤをリクエスト先のサービスコンポーネントにおけるユーザＩＤに変換し、転送実行制御機能部３０を介してサービスコンポーネント閉塞確認機能部３２にリクエストを出力する。なお、ユーザＩＤと各サービスコンポーネントにおけるユーザＩＤとの対応を示すテーブルは、プロファイルサーバ２１のプロファイルデータベース２４に記憶されており、キャッシュデータ管理機能部３４がキャッシュデータとして保持している。
なお、ホワイトリスト照合機能部６−１及びブラックリスト照合機能部６−２は、キャッシュデータ管理機能部３４からホワイトリスト或いはブラックリストを取得しているが、キャッシュデータ管理機能部３４にホワイトリスト或いはブラックリストが存在しない場合には、プロファイルサーバ２１から取得する。
なお、本実施形態では、ホワイトリスト照合機能部６−１の処理とブラックリスト照合機能部６−２の処理とを両方行っているが、ホワイトリスト照合機能部６−１の処理は行わずにブラックリスト照合機能部６−２の処理のみ行ってもよい。或いは、ホワイトリスト照合機能部６−１の処理かブラックリスト照合機能部６−２の処理いずれかのみを行ってもよい。
【００３６】
サービスコンポーネント閉塞確認機能部３２は、リクエスト先のサービスコンポーネントが利用停止、或いはＳＬＡ（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）違反などで閉塞状態であるか否かを判定する機能である。具体的には、サービスコンポーネント閉塞確認機能部３２は、リクエスト先のサービスコンポーネントに対応する閉塞フラグをキャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから取得し、閉塞フラグが立っている（つまり、「１」である）か否かを判定する。そして、サービスコンポーネント確認機能部３２は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末１１にエラーを返信する。一方、コンポーネント確認機能部３２は、閉塞フラグが立っていない場合には、転送実行制御機能部３０を介してスロットリングサーバ１０にリクエストを転送する。
なお、本実施形態では、認可機能部６が認可処理を行った後にサービスコンポーネント閉塞確認機能部３２が処理を行っているが、先にサービスコンポーネント閉塞確認機能部３２がサービスコンポーネントの閉塞を確認した後に、認可機能部６が認可処理を行ってもよい。
【００３７】
コンテンツフィルタ機能部７は、擾乱（例えばスパムなど）を防止する機能であり、リクエストに不正なパラメータが含まれていないか否かを判定する。コンテンツフィルタ機能部７は、転送実行制御機能部３０を介してスロットリングサーバ１０からリクエストが入力されると、リクエスト先のサービスコンポーネントに対応するフィルタ条件をキャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから取得し、リクエストに含まれる各パラメータがフィルタ条件と合致するか否かを判定する。フィルタ条件と合致するパラメータがある場合には、コンテンツフィルタ機能部７は、リクエストを遮断し、サービスリクエスタ端末１１にエラーを返信する。一方、フィルタ条件と合致するパラメータがない場合には、コンテンツフィルタ機能部７は転送実行制御機能部３０を介してトラフィック制御機能部８にリクエストを出力する。
【００３８】
トラフィック制御機能部８は、サービスコンポーネント毎に単位時間の最大リクエスト数を制限する機能であり、シェイピング機能部８−１と、優先制御機能部８−２と、フロー規制機能部８−３とを含んで構成される。シェイピング機能部８−１は、サービスコンポーネントに過剰な数のリクエストが流れないようにリクエストをシェイピングする機能である。具体的には、まず、シェイピング機能部８−１は、リクエストをキューに一時的に保存する。そして、キャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルからリクエスト先のサービスコンポーネントのシェイピング値を取得し、取得したシェイピング値に合致するようにリクエストをキューから取り出して優先制御機能部８−２に出力する。具体的には、シェイピング機能部８−１は、１秒間に何回キューからリクエストを取り出したかのデータを保持し、当該データを参照して、リクエストを取り出した回数がシェイピング値より小さい場合にリクエストをキューから取り出して優先制御機能部８−２に出力する。優先制御機能部８−２は、優先度の高いサービスコンポーネントから順にリクエストを転送する機能である。具体的には、優先制御機能部８−２は、キャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから各サービスコンポーネントの優先度を取得し、優先度の高いサービスコンポーネントのリクエストから順にフロー規制機能部８−３に出力する。フロー規制機能部８−３は、フロー規制があるサービスコンポーネントへのリクエストを一律遅延させる機能である。具体的には、フロー制御機能部８−３は、リクエスト先のサービスコンポーネントに対応するフロー制御フラグをキャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから取得し、フロー規制フラグが立っている（つまり「１」である）場合には、リクエストを一律に一定の時間遅延させてから、転送実行制御機能部３０、転送通信制御機能部２９及びメッセージプロキシ機能部２８を介してサービスコンポーネントサーバ２５にリクエストを転送するとともに、転送実行制御機能部３０及び転送通信制御機能部２９を介してトラフィック情報集計機能部９にリクエストを出力する。これにより、輻輳しているサービスコンポーネントへの過剰なリクエストを制限することができる。
【００３９】
メッセージプロキシ機能部（送信部、受信部）２８は、サービスリクエスタ端末１１（又は１２）からサービスコンポーネントへのリクエストを受信し、受信したリクエストを転送通信制御機能部２９及び転送実行制御機能部３０を介して認証機能部５のＳＳＯ機能部５−２に出力する。そして、メッセージプロキシ機能部２８は、認証機能部５と、ユーザ閉塞確認機能部３１と、認可機能部６と、サービスコンポーネント閉塞確認機能部３２と、コンテンツフィルタ機能部７と、トラフィック制御機能部８とにおける処理（以下、総称して共通処理を呼ぶ）が完了したリクエストが転送通信制御機能部２９から入力されると、リクエストをサービスコンポーネントサーバ２５に転送する。また、メッセージプロキシ機能部２８は、サービスコンポーネントサーバ２５からリクエストに対するレスポンスを受信すると、そのレスポンスを転送通信制御機能部２９に出力する。そして、メッセージプロキシ機能部２８は、転送通信制御機能部２９からレスポンスに関するログ出力などの処理が完了したレスポンスが入力されると、そのレスポンスをサービスリクエスタ端末１１に転送する。
【００４０】
転送実行制御機能部３０は、リクエスト先のサービスコンポーネントに適用する処理をキャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから取得し、取得した適用する処理に応じて各部へリクエストを順に出力する。例えば、あるサービスコンポーネントへのリクエストにはコンテンツフィルタ機能部７の処理は行わないことが適用する処理に設定されている場合には、転送実行制御機能部３０は、コンテンツフィルタ機能部７へリクエストを出力しない。或いは、ホワイトリスト照合機能部６−１の処理は行わずにブラックリスト照合機能部６−２の処理のみを行うことを適用する処理に設定してもよい。このように、各サーバコンポーネントに適用する処理を様々にカスタマイズすることができる。これにより、あるサービスコンポーネントにとっては不要な処理を省略して、共通処理を行う時間を短縮することができる。
【００４１】
転送通信制御機能部２９は、メッセージプロキシ機能部２８と転送実行制御機能部３０間の通信を仲介する機能であり、共通処理が完了したリクエストが入力されると、そのリクエストに関するログを出力するとともに、リクエストをトラフィック情報集計機能部９及びメッセージプロキシ機能部２８に出力する。また、メッセージプロキシ機能部２８からレスポンスが入力されると、そのレスポンスに関するログを出力するとともに、レスポンスをトラフィック情報集計機能部９及びメッセージプロキシ機能部２８に出力する。
トラフィック情報集計機能部９は、リクエスト及びレスポンスに基づいてトラフィック情報を生成し、生成したトラフィック情報をポーリングにてトラフィック情報管理サーバ１４に送信する。
【００４２】
図１３は、本実施形態におけるトラフィック情報管理サーバ１４の機能構成を示すブロック図である。
トラフィック情報管理サーバ１４は、複数の実行制御サーバ１，２，３からトラフィック情報を収集して集計を行い、全てのトラフィック情報を集約することで、サービスコンポーネント品質監視制御を行う。これにより、システム全体の整合を取ることができ、かつ、サービスコンポーネント品質監視制御の不整合を防ぐことができる。トラフィック情報管理サーバ１４は、トラフィック収集機能部１５と、トラフィック集計機能部１６と、サービスコンポーネント監視機能部１７と、ユーザ監視機能部１８と、リアクション機能部１９と、を含んで構成される。
【００４３】
トラフィック収集機能部１５は、実行制御サーバ１，２，３からトラフィック情報をポーリングにてトラフィック情報生成時間毎に収集し、トラフィック集計機能部１６に出力する。
トラフィック集計機能部１６は、入力されたトラフィック情報を集計する。具体的には、トラフィック集計機能部１６は、サービスコンポーネント毎にリクエスト数とエラー数とをカウントする。また、トラフィック集計機能部１６は、オペレーション毎にレスポンス数と応答時間合計とをカウントする。また、トラフィック集計機能部１６は、オペレーションとユーザの組毎にリクエスト数をカウントする。また、トラフィック集計機能部１６は、ユーザ毎にリクエスト数とエラー数とリクエストメッセージ合計とをカウントする。そして、トラフィック集計機能部１６は、トラフィック情報が生成された年月日時とともにカウントした値をトラフィック情報データベース２０に送信して記憶させる。
【００４４】
図示しない監視実行制御機能部は、一定時間或いは一定周期でサービスコンポーネント監視機能部１７とユーザ監視機能部１８とに独立に処理を行わせる機能である。また、サービスコンポーネント監視機能部１７及びユーザ監視機能部１８における処理がサービスコンポーネント監視制御である。
【００４５】
サービスコンポーネント監視機能部１７は、閉塞状態にするサービスコンポーネント又はフロー規制状態にするサービスコンポーネントを抽出する機能であり、サービスコンポーネント利用不能率監視機能部と応答遅延監視機能部とを有している。
【００４６】
サービスコンポーネント利用不能率監視機能部は、サービスコンポーネントのレスポンス数が許容範囲か否かを監視する機能であり、各サービスコンポーネントに対して以下の処理を実行する。まず。サービスコンポーネント利用不能率機能部は、プロファイルサーバ２１からサービスコンポーネントに対応するサービス利用不能率閾値を取得し、トラフィック情報データベース２０のサービスコンポーネントテーブルからサービスコンポーネント利用不能率監視周期（例えば１時間）におけるこのサービスコンポーネントのリクエスト数とエラー数の応答タイムアウトとを取得する。そして、サービスコンポーネント利用不能率機能部は、取得したリクエスト数に対する応答タイムアウト数の割合（エラー率）がサービス利用不能率閾値を超えているか否かを判定する。エラー率がサービス利用不能率閾値より大きい場合に、このサービスコンポーネントを閉塞状態にすると判定し、監視実行制御機能部を介してリアクション機能部１９にその旨を通知する。
【００４７】
応答遅延監視機能部は、各サービスコンポーネントのオペレーションに対して以下の処理を実行する。まず、応答遅延監視機能部は、プロファイルサーバ２１からオペレーションに対応する平均応答時間閾値を取得し、トラフィック情報データベース２０のオペレーションテーブルから応答遅延監視周期（例えば１時間）におけるオペレーションの応答時間合計及びレスポンス数を取得する。そして、応答遅延監視機能部は、応答時間合計にレスポンス数を除算した値（平均応答時間）が平均応答時間閾値より大きいか否かを判定する。平均応答時間が平均応答時間閾値より大きい場合に、応答遅延監視機能部は、このオペレーションのサービスコンポーネントをフロー規制状態にすると判定し、監視実行制御機能部を介してリアクション機能部１９にその旨を通知する。
【００４８】
ユーザ監視機能部１８は、特定のサービスコンポーネントに対して一時利用不可能にするユーザを抽出する機能であり、レート監視機能部とエラー率監視機能部とメッセージサイズ監視機能部とを有している。
【００４９】
レート監視機能部は、あるユーザのサービスコンポーネントへのリクエスト数が利用制限回数を越えていないか否かを監視する機能であり、オペレーション毎に以下の処理を行う。レート監視機能部は、プロファイルサーバ２１からオペレーションに対するレート閾値を取得し、各ユーザからそのオペレーションへのレート監視周期（例えば本日の０時から２４時まで）におけるリクエスト数をトラフィック情報データベース２０のオペレーション−ユーザテーブルから取得する。次に、レート監視機能部は、リクエスト数がレート閾値より大きいユーザを抽出する。そして、レート監視機能部は、リクエスト数がレート閾値より大きいユーザをそのオペレーションのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部を介してリアクション機能部１９にその旨を通知する。
【００５０】
エラー率監視機能部は、ユーザがサービスコンポーネントを不正に使用していないか否かをチェックする機能であり、ユーザとサービスコンポーネントの組ごとに以下の処理を行う。エラー率監視機能部は、プロファイルサーバ２１からサービスコンポーネントに対するエラー閾値を取得し、トラフィック情報データベース２０のユーザテーブルから各ユーザのエラー率監視周期（例えば本日の０時から２４時まで）におけるリクエスト数及びエラー数を取得する。次に、エラー率監視機能部は、リクエスト数に対するエラー数の割合（エラー率）がエラー閾値より大きいユーザを抽出する。そして、エラー率監視機能部は、エラー率がエラー閾値より大きいユーザをそのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部を介してリアクション機能部１９にその旨を通知する。
【００５１】
メッセージサイズ監視機能部は、ユーザからサービスコンポーネントへのリクエストのメッセージサイズが大きすぎないか否かをチェックする機能であり、ユーザとサービスコンポーネントの組ごとに以下の処理を行う。メッセージサイズ監視機能部は、プロファイルサーバ２１からサービスコンポーネントに対するサイズ閾値を取得し、トラフィック情報データベース２０のユーザテーブルから各ユーザのメッセージサイズ監視周期（例えば本日の０時から２４時まで）におけるリクエスト数とリクエストメッセージサイズ合計を取得する。次に、メッセージサイズ監視機能部は、リクエストメッセージサイズ合計をリクエスト数で除算した値（平均リクエストメッセージサイズ）がサイズ閾値より大きいユーザを抽出する。そして、メッセージサイズ監視機能部は、平均リクエストメッセージサイズがサイズ閾値より大きいユーザをそのサービスコンポーネントに対して一時利用不可能にすると判定し、監視実行制御機能部を介してリアクション機能部１９にその旨を通知する。
【００５２】
リアクション機能部１９は、監視実行制御機能部を介してサービスコンポーネント監視機能部１７から閉塞状態にするサービスコンポーネントが通知されると、そのサービスコンポーネントに閉塞フラグを立てる指示をプロファイルサーバ２１に送信する。閉塞フラグを立てる指示を受信すると、プロファイルサーバ２１は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントの閉塞フラグを「１」にする。そして、リアクション機能部１９のアラーム通知機能が、サービスコンポーネントサーバ２５及びシステム保守運用者の端末等にサービスコンポーネントに対するリクエスト転送を停止した旨をメール等にて通知する。
【００５３】
また、リアクション機能部１９は、監視実行制御機能部を介してサービスコンポーネント監視機能部１７からフロー規制状態にするサービスコンポーネントが通知されると、そのサービスコンポーネントレーションに対するフロー規制フラグを立てる指示をプロファイルサーバ２１に送信する。フロー制御フラグを立てる指示を受信すると、プロファイルサーバ２１は、サービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのフロー制御フラグを「１」にする。そして、リアクション機能部１９のアラーム通知機能が、サービスコンポーネントサーバ２５及びシステム保守運用者の端末等にサービスコンポーネントに対するリクエスト転送のフロー規制を行った旨をメール等にて通知する。
【００５４】
また、リアクション機能部１９は、監視実行制御機能部を介してユーザ監視機能部１８からあるサービスコンポーネントに対して一時利用不可能にするユーザが通知されると、そのサービスコンポーネントのブラックリストにそのユーザを追加する指示をプロファイルサーバ２１に送信する。ブラックリストにユーザを追加する指示を受信すると、プロファイルサーバ２１は、サービスコンポーネント情報テーブルにおけるブラックリストにそのユーザのユーザＩＤを追加する。そして、リアクション機能部１９のアラーム通知機能が、ユーザのサービスリクエスタ端末１１，１２及びシステム保守運用者の端末等に警告をメール等にて通知する。
【００５５】
ここで、スロットリングサーバ１０におけるスロットリング処理と、トラフィック情報管理サーバ１４におけるレート監視機能部の処理と、実行制御サーバ１，２，３におけるシェイピング機能部８の処理との概念の違いを説明する。
まず、シェイピング機能部８の処理は、特定のサービスコンポーネントに対して一定時間に送信可能なリクエスト数を監視する。例えば、サービスコンポーネントＡに対して、全てのユーザ合計で１秒間に１００回までといったようにシェイピング値を設定することが考えられる。
次に、スロットリング処理は、悪意のあるユーザを排除するための機能であり、特定のユーザから特定のサービスコンポーネントに短周期の時間に送信可能なリクエスト数を監視する。例えば、サービスコンポーネントＡに対して、１ユーザは１秒間に５回まで送信可能といったようにスロットリング閾値を設定することが考えられる。
最後に、レート監視機能部の処理は、契約により定められた制限回数オーバーを排除するための機能であり、特定のユーザが特定のサービスコンポーネントに長周期の時間に送信可能なリクエスト数を監視する。例えば、サービスコンポーネントＡに対して１ユーザは１日に５回まで送信可能といったようにレート閾値を設定することが考えられる。
スロットリング処理とレート監視機能部の処理は、機能としては同一であるが、スロットリングサーバ１０は短周期での攻撃を防ぐためメモリ上でリクエスト数の集計を行うのに対し、レート監視機能部の処理は、長周期で監視するためトラフィック情報管理サーバ１４で一定周期毎にリクエスト数の集計を行い、トラフィック情報データベース２０にリクエスト数を保持している。
【００５６】
次に、図１４から１８を参照して、上述したサービスコンポーネント管理システムの動作を説明する。図１４は、認証チケット発行処理の手順を示すシーケンス図である。
まず、サービスリクエスタ端末１１が、認証チケット発行要求を実行制御サーバ１に送信する（ステップＳａ１）。実行制御サーバ１では、認証通信制御機能部２７が認証チケット発行要求を受信し、認証機能部５のパスワード認証機能部５−１に出力する（ステップＳａ２）。パスワード認証機能部５−１は、認証チケット発行要求に含まれるユーザＩＤを用いて、プロファイルサーバ２１へユーザ認証情報を問い合わせる（ステップＳａ３）。プロファイルサーバ２１は、受信したユーザＩＤに対応するユーザ認証情報を実行制御サーバ１，２，３のパスワード認証機能部５−１へ返信する（ステップＳａ４）。次に、パスワード認証機能部５−１は、パスワード認証を行い、認証すると認証チケットを生成する（ステップＳａ５）。そして、パスワード認証機能部５−１は、生成した認証チケットを認証通信制御機能部２７へ出力する（ステップＳａ６）。認証通信制御機能部２７は、認証チケット発行要求元のサービスリクエスタ端末１１へ認証チケットを返信する（ステップＳａ７）。
【００５７】
図１５及び１６は、サービスコンポーネントリクエストに対する共通処理の手順を示すシーケンス図である。
まず、サービスリクエスタ端末１１が、サービスコンポーネントに対するリクエストを実行制御サーバ１に送信する（ステップＳｂ１）。実行制御サーバ１では、メッセージプロキシ機能部２８がリクエストを受信し、受信したリクエストを転送通信制御機能部２９と転送実行制御機能部３０を介して認証機能部５のＳＳＯ機能部５−２に出力する（ステップＳｂ２）。ＳＳＯ機能部５−２は、リクエストに含まれる認証チケットの署名を検証し、正当な認証チケットであると判定した場合は、転送実行制御機能部３０を介してユーザ閉塞確認機能部３１にリクエストを出力する（ステップＳｂ３）。ユーザ閉塞確認機能部３１は、認証チケットに含まれるユーザＩＤに対する閉塞フラグをキャッシュデータ管理機能部３４のユーザ閉塞情報テーブルから取得し、閉塞フラグが立っているか否かを判定する。閉塞フラグが立っていない場合には、転送実行制御機能部３０を介して認可機能部６のホワイトリスト照合機能部６−１にリクエストを出力する（ステップＳｂ４）。なお、ユーザ閉塞確認機能部３１は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末１１にエラーを返信する。
【００５８】
ホワイトリスト照合機能部６−１は、リクエスト先のサービスコンポーネントのホワイトリストをキャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから取得し、認証チケットに含まれるユーザＩＤがホワイトリストに登録されているか否かを判定する。そして、ホワイトリスト照合機能部６−１は、ユーザＩＤがホワイトリストに登録されている場合には、ブラックリスト照合機能部６−２にリクエストを出力する（ステップＳｂ５）。なお、ホワイトリスト照合機能部６−１は、ユーザＩＤがホワイトリストに登録されていない場合には、リクエストを遮断し、サービスリクエスタ端末１１にエラーを返信する。ブラックリスト照合機能部６−２は、リクエスト先のサービスコンポーネントのブラックリストをキャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから取得し、認証チケットに含まれるユーザＩＤがブラックリストに登録されている否かを判定する。そして、ブラックリスト照合機能部６−２は、ユーザＩＤがブラックリストに登録されていない場合には、ＩＤ変換機能部６−３にリクエストを出力する（ステップＳｂ６）。なお、ユーザＩＤがブラックリストに登録されている場合には、リクエストを遮断し、サービスリクエスタ端末１１にエラーを返信する。
【００５９】
ＩＤ変換機能部６−３は、認証チケットに含まれるユーザＩＤをリクエスト先のサービスコンポーネントにおけるユーザＩＤに変換し、転送実行制御機能部３０を介してサービスコンポーネント閉塞確認機能部３２にリクエストを出力する（ステップＳｂ７）。サービスコンポーネント閉塞確認機能部３２は、リクエスト先のサービスコンポーネントに対応する閉塞フラグをキャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから取得し、閉塞フラグが立っているか否かを判定する。そして、サービスコンポーネント閉塞確認機能部３２２は、閉塞フラグが立っていない場合には、転送実行制御機能部３０を介してスロットリングサーバ１０にリクエストを転送する（ステップＳｂ８）。なお、サービスコンポーネント閉塞確認機能部３２２は、閉塞フラグが立っている場合には、リクエストを遮断し、サービスリクエスタ端末１１にエラーを返信する。
なお、本例では、認可機能部６が処理を行った後にサービスコンポーネント閉塞確認機能部３２が処理を行っているが、ユーザ閉塞確認機能部３１及びサービスコンポーネント閉塞確認機能部３２が処理を行った後に認可機能部６が処理を行ってもよい。また、ホワイトリスト照合機能部６−１の処理を行わずにブラックリスト照合機能部６−２の処理を行ってもよい。
【００６０】
スロットリングサーバ１０は、実行制御サーバ１からリクエストを受信すると、サービスリクエスタ端末１１からサービスコンポーネントサーバ２５へのレート判定時間内のリクエスト数がスロットリング閾値を超えているか否かを判定する。そして、リクエスト数がスロットリング閾値以下である場合には、実行制御サーバ１にリクエストを転送する（ステップＳｂ９）。なお、スロットリングサーバ１０は、リクエスト数がスロットリング閾値を超えている場合には、リクエストを遮断し、実行制御サーバ１にエラーを返信する。実行制御サーバ１では、コンテンツフィルタ機能部７がリクエストを受信し、リクエストに含まれる各パラメータがフィルタ条件と合致するか否かを判定する。そして、コンテンツフィルタ機能部７は、フィルタ条件と合致するパラメータがない場合に、転送実行制御機能部３０を介してトラフィック制御機能部８のシェイピング機能部８−１にリクエストを出力する（ステップＳｂ１０）。なお、コンテンツフィルタ機能部７は、フィルタ条件と合致するパラメータがある場合には、リクエストを遮断し、サービスリクエスタ端末１１にエラーを返信する。
【００６１】
シェイピング機能部８−１は、キャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルからリクエスト先のサービスコンポーネントのシェイピング値を取得し、取得したシェイピング値に合致するようにリクエストを優先制御機能部８−２に出力する（ステップＳｂ１１）。優先制御機能部８−２は、キャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから各サービスコンポーネントの優先度を取得し、優先度の高いサービスコンポーネントのリクエストから順にフロー規制機能部８−３に出力する（ステップＳｂ１２）。フロー規制機能部８−３は、リクエスト先のサービスコンポーネントに対応するフロー制御フラグをキャッシュデータ管理機能部３４のサービスコンポーネント情報テーブルから取得し、フロー規制フラグが立っている場合には、リクエストを一律に一定の時間遅延させてから、転送実行制御機能部３０、転送通信制御機能部２９及びメッセージプロキシ機能部２８を介してサービスコンポーネントサーバ２５にリクエストを転送する（ステップＳｂ１３）とともに、転送実行制御機能部３０及び転送通信制御機能部２９を介してトラフィック情報集計機能部９にリクエストを出力する（ステップＳｂ１４）。トラフィック情報集計機能部９は、トラフィック情報を生成し、トラフィック情報管理サーバ１４からのポーリングで生成したトラフィック情報をトラフィック情報管理サーバ１４のトラフィック収集機能部１５に送信する（ステップＳｂ１５）。
【００６２】
図１７は、レート監視処理の手順を示すシーケンス図である。
トラフィック情報管理サーバ１４のトラフィック収集機能部１５は、実行制御サーバ１からポーリングにより数分毎にトラフィック情報を収集し、トラフィック集計機能部１６に出力する（ステップＳｃ１）。トラフィック集計機能部１６は、入力されたトラフィック情報を集計し、集計した結果をトラフィック情報データベース２０に送信する（ステップＳｃ２）。トラフィック情報データベース２０は、受信したデータを保存する（ステップＳｃ３）。
【００６３】
監視実行制御機能は、トラフィック集計機能部１６がトラフィック情報を集計後、ユーザ監視機能部１８のレート監視機能を起動する（ステップＳｃ４）。ユーザ監視機能部１８は、プロファイルサーバ２１のサービスコンポーネント閾値情報テーブルからレート閾値を取得し（ステップＳｃ５）、トラフィック情報データベース２０のオペレーション−ユーザテーブルからユーザとオペレーションの組毎にレート監視時間におけるリクエスト数を取得し（ステップＳｃ６）、リクエスト数がレート閾値を超えているユーザとオペレーションの組を抽出し、抽出したユーザをそのオペレーションのサービスコンポーネントに対して一時利用不可能にするユーザとして監視実行制御機能部に通知する（ステップＳｃ７）。監視実行制御機能部は、リアクション機能部１９のユーザ閉塞機能及びアラーム通知機能に対してリアクションを発動する（ステップＳｃ８）。リアクション機能部１９のユーザ閉塞機能は、サービスコンポーネントに対して一時利用不可能にするユーザをそのサービスコンポーネントのブラックリストに追加する指示をプロファイルサーバ２１に送信する（ステップＳｃ９）。プロファイルサーバ２１は、プロファイルデータベース２４に記憶されているサービスコンポーネント情報テーブルにおけるそのサービスコンポーネントのブラックリストにそのユーザのユーザＩＤを追加する。また、リアクション機能部１９のアラーム通知機能は、ユーザのサービスリクエスタ端末１１、システム保守運用者の端末に警告メールを送るなどしてアラーム通知する（ステップＳｃ１０）。
【００６４】
図１８は、プロファイルデータベース更新視処理の手順を示すシーケンス図である。
サービス事業者、ユーザ、或いはシステム保守運用者は、ウェブブラウザなどを用いて、プロファイルサーバ２１のカスコン機能部２２が提供するウェブページからサービスコンポーネント情報又はユーザ情報の登録、更新、削除などを行う。また、サービス事業者は、悪質なユーザを検知した場合、そのユーザを一時的に利用停止することができるユーザ閉塞などを行う。ウェブページから入力された情報は、例えばサービスリクエスタ端末１１からカスコン機能部２２に送信される（ステップＳｄ１）。カスコン機能部２２は、受信した情報をデータベース登録制御機能部２３に出力する（ステップＳｄ２）。データベース登録制御機能部２３は、受信した情報に基づいてプロファイルデータベース２４に記憶されているサービスコンポーネント情報或いはユーザ情報を更新して保存する（ステップＳｄ３）。また、データベース登録制御機能部２３は、プロファイルデータベース２４に更新した情報を、実行制御サーバ１，２，３のデータベース更新通知受付機能部３３に通知する。
【００６５】
一方、トラフィック情報管理サーバ１４のリアクション機能部１９があるサービスコンポーネントのブラックリストにあるユーザを追加する指示をプロファイルサーバ２１に送信した場合には、データベース登録制御機能部２３がその指示を受信する（ステップＳｄ４）。そして、データベース登録制御機能部２３は、そのサービスコンポーネントのブラックリストにそのユーザのユーザＩＤを追加して、プロファイルデータベース２４を更新する（ステップＳｄ５）。続いて、データベース登録制御機能部２３は、そのサービスコンポーネントのブラックリストにそのユーザが追加されたことを実行制御サーバ１，２，３のデータベース更新通知受付機能部３３に通知する（ステップＳｄ６）。これにより、データベース更新通知受付機能部３３は、キャッシュデータ管理機能部３４が記憶するキャッシュデータを更新する。
また、実行制御サーバ１，２，３は、キャッシュデータ管理機能部３４が記憶していないデータを用いる場合（例えば、初回のユーザ認証時など）には、必要な時にプロファイルデータベース２４にアクセスして記憶されている情報を参照する（ステップＳｄ７）。
【００６６】
このように、本実施形態によれば、トラフィック情報管理サーバ１４が、複数の実行制御サーバ１，２，３からトラフィック情報を収集して集計して、各サービスコンポーネント品質監視制御を行っているため、実行制御サーバ１，２，３が複数台並列して処理を行ってもシステム全体としてトラフィック情報の整合性を保つことができる。
また、実行制御サーバ１，２，３が複数台並列してサービスコンポーネントへのリクエスト処理を行っているため、単位時間におけるサービスコンポーネントへのリクエスト処理量を向上することができる。
また、各サービスコンポーネントにおける共通処理を一括して実行制御サーバ１，２，３が行っているため、サービス事業者側のサービスコンポーネント以外の機能（非機能要件）実装にかかる投資及び経費費用を軽減することができる。
また、実行制御サーバ１，２，３は、閉塞状態にあるサービスコンポーネントへのリクエストを遮断することにより、障害が発生したサービスコンポーネントサーバの影響が他のサービスコンポーネントへの波及を防ぐことができる。
また、サービス事業者、ユーザ或いはシステム保守運用者は、プロファイルサーバ２１のカスコン機能部２２からユーザ情報及びサービスコンポーネント情報を追加・更新・削除することができるため、本サービスを容易に利用することができ、複数のサービスコンポーネントを利用することで、新たなアプリケーションを容易に作成することができる。
【００６７】
また、図６に示すプロファイルサーバ、図１２に示す実行制御サーバ、図１３に示すトラフィック情報管理サーバ、スロットリングサーバの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、サービスコンポーネント管理処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６８】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６９】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では３台の実行制御サーバを用いているが、２台以上であればよい。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施形態によるサービスコンポーネント管理システムの構成を示すブロック図である。
【図２】本実施形態におけるサービスコンポーネントテーブルのデータ構造とデータ例を示す概略図である。
【図３】本実施形態におけるオペレーションテーブルのデータ構造とデータ例を示す概略図である。
【図４】本実施形態におけるオペレーション−ユーザテーブルのデータ構造とデータ例を示す概略図である。
【図５】本実施形態におけるユーザテーブルのデータ構造とデータ例を示す概略図である。
【図６】本実施形態におけるプロファイルサーバの機能構成を示すブロック図である。
【図７】本実施形態におけるユーザ情報テーブルのデータ構造とデータ例を示す概略図である。
【図８】本実施形態におけるユーザ閉塞情報テーブルのデータ構造とデータ例を示す概略図である。
【図９】本実施形態におけるサービスコンポーネント情報テーブルのデータ構造とデータ例を示す概略図である。
【図１０】本実施形態におけるサービスコンポーネント閾値情報テーブルのデータ構造とデータ例を示す概略図である。
【図１１】本実施形態におけるオペレーション閾値情報テーブルのデータ構造とデータ例を示す概略図である。
【図１２】本実施形態における実行制御サーバの機能構成を示すブロック図である。
【図１３】本実施形態におけるトラフィック情報管理サーバの機能構成を示すブロック図である。
【図１４】本実施形態における認証チケット発行処理の手順を示すシーケンス図である。
【図１５】本実施形態におけるサービスコンポーネントリクエストに対する共通処理の手順を示すシーケンス図である。
【図１６】本実施形態におけるサービスコンポーネントリクエストに対する共通処理の手順を示すシーケンス図である。
【図１７】本実施形態におけるレート監視処理の手順を示すシーケンス図である。
【図１８】本実施形態におけるプロファイルデータベース更新視処理の手順を示すシーケンス図である。
【符号の説明】
【００７１】
１，２，３…実行制御サーバ  ４…実行制御サーバクラスタ  ５…認証機能部  ５−１…パスワード認証機能部  ５−２…ＳＳＯ機能部  ６…認可機能部  ６−１…ホワイトリスト照合機能部  ６−２…ブラックリスト照合機能部  ６−３…ＩＤ変換機能部  ７…コンテンツフィルタ機能部  ８…トラフィック制御機能部  ８−１…シェイピング機能部  ８−２…優先制御機能部  ８−３…フロー規制機能部  ９…トラフィック集計機能部  １０…スロットリングサーバ  １１，１２…サービスリクエスタ端末  １３…ネットワーク  １４…トラフィック情報管理サーバ  １５…トラフィック収集機能部  １６…トラフィック集計機能部  １７…サービスコンポーネント監視機能部  １８…ユーザ監視機能部  １９…リアクション機能部  ２０…トラフィック情報データベース  ２１…プロファイルサーバ  ２２…カスコン機能部  ２３…データベース登録制御機能部  ２４…プロファイルデータベース  ２５…サービスコンポーネントサーバ  ２８…メッセージプロキシ機能部  ２９…転送通信制御機能部  ３０…転送実行制御機能部  ３１…ユーザ閉塞確認機能部  ３２…サービスコンポーネント閉塞確認機能部  ３３…データベース更新通知受付部  ３４…キャッシュデータ管理機能部
【図１】
2010122956.tif 000003
【図２】
2010122956.tif 000004
【図３】
2010122956.tif 000005
【図４】
2010122956.tif 000006
【図５】
2010122956.tif 000007
【図６】
2010122956.tif 000008
【図７】
2010122956.tif 000009
【図８】
2010122956.tif 000010
【図９】
2010122956.tif 000011
【図１０】
2010122956.tif 000012
【図１１】
2010122956.tif 000013
【図１２】
2010122956.tif 000014
【図１３】
2010122956.tif 000015
【図１４】
2010122956.tif 000016
【図１５】
2010122956.tif 000017
【図１６】
2010122956.tif 000018
【図１７】
2010122956.tif 000019
【図１８】
2010122956.tif 000020