(57)【要約】【課題】クラウド上のＷｅｂサービスの設計工程において、サービスの実行状態の変化を予見した高品位な設計を可能にし、また、運用工程において、サービス実行中に生じた状態変化に対して直ちにその要因を特定することができるサービス提供構造管理装置、方法およびプログラムを提供する。【解決手段】品質要求情報と、機能要求情報と、Ｗｅｂサービスが提供する機能を定義した機能定義情報と、Ｗｅｂサービスが利用する資源を定義した資源定義情報とにもとづいて、Ｗｅｂサービスにおいて発生し得るイベントに伴う機能および資源の状態変化を導出し、導出した状態変化のうち制約条件に適合する状態変化について、定性挙動表を生成するＷｅｂサービス提供構造管理部１７０と、Ｗｅｂサービス提供構造管理部１７０が生成した定性挙動表の中から、パラメータとして指定されたイベントに対応する定性挙動表を検索し、出力する定性挙動推定部１８０とを含む。【選択図】図１５
2014170485.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサービスに要求される品質を示す品質要求情報を保持する品質要求入力部と、
前記Ｗｅｂサービスに要求される機能を示す機能要求情報を保持する機能要求入力部と、
前記Ｗｅｂサービスが提供する機能を定義した機能定義情報を保持する機能定義部と、
前記Ｗｅｂサービスが利用する資源を定義した資源定義情報を保持する資源定義部と、
前記機能および前記資源の制約条件を示す制約条件情報を保持する制約条件入力部と、
前記Ｗｅｂサービスにおいて発生し得るイベントを示すイベント情報を保持するイベント入力部と、
前記品質要求情報、前記機能要求情報、前記機能定義情報および前記資源定義情報にもとづいて、前記イベントに伴う前記機能および前記資源の状態変化を導出し、導出した状態変化のうち前記制約条件に適合する状態変化について、前記機能および前記資源の挙動を示す定性挙動表を生成するＷｅｂサービス提供構造管理部と、
前記Ｗｅｂサービス提供構造管理部が生成した定性挙動表の中から、パラメータとして指定されたイベントに対応する定性挙動表を検索し、出力する定性挙動推定部とを含む
ことを特徴とするサービス提供構造管理装置。
【請求項２】
Ｗｅｂサービス提供構造管理部は、
品質要求情報、機能要求情報、機能定義情報、資源定義情報、制約条件情報およびイベント情報を保持する設計情報保管部と、
前記設計情報保管部が保持する情報を用いて、機能要求および品質要求と、前記機能要求および前記品質要求を実現する機能および資源との関係を構造化した定性挙動情報を生成し、前記定性挙動情報を用いて定性挙動表を生成する定性挙動情報構築部と、
定性挙動表を蓄積する定性挙動情報保管部とを含む
請求項１に記載のサービス提供構造管理装置。
【請求項３】
定性挙動推定部は、定性挙動表を示す画面情報を出力する
請求項１または請求項２に記載のサービス提供構造管理装置。
【請求項４】
定性挙動推定部は、Ｗｅｂサービスに状態変化が発生した際の機能および資源の挙動を示す情報を入力し、当該挙動と一致する挙動が記録された定性挙動表を定性挙動情報保管部から取得し、取得した定性挙動表をもとに状態変化の発生原因を特定し、特定した結果を含む画面情報を出力する
請求項２に記載のサービス提供構造管理装置。
【請求項５】
Ｗｅｂサービスに要求される品質を示す品質要求情報と、前記Ｗｅｂサービスに要求される機能を示す機能要求情報と、前記Ｗｅｂサービスが提供する機能を定義した機能定義情報と、前記Ｗｅｂサービスが利用する資源を定義した資源定義情報とにもとづいて、前記Ｗｅｂサービスにおいて発生し得るイベントに伴う前記機能および前記資源の状態変化を導出し、導出した状態変化のうち、予め定められた制約条件に適合する状態変化について、前記機能および前記資源の挙動を示す定性挙動表を生成し、
生成した定性挙動表の中から、パラメータとして指定されたイベントに対応する定性挙動表を検索し、出力する
ことを特徴とするサービス提供構造管理方法。
【請求項６】
品質要求情報、機能要求情報、機能定義情報、資源定義情報、制約条件情報およびイベント情報を用いて、機能要求および品質要求と、前記機能要求および前記品質要求を実現するための機能および資源との関係を構造化した定性挙動情報を生成し、前記定性挙動情報を用いて定性挙動表を生成し蓄積する
請求項５に記載のサービス提供構造管理方法。
【請求項７】
定性挙動表を示す画面情報を出力する
請求項５または請求項６に記載のサービス提供構造管理方法。
【請求項８】
コンピュータに、
Ｗｅｂサービスに要求される品質を示す品質要求情報と、前記Ｗｅｂサービスに要求される機能を示す機能要求情報と、前記Ｗｅｂサービスが提供する機能を定義した機能定義情報と、前記Ｗｅｂサービスが利用する資源を定義した資源定義情報とにもとづいて、前記Ｗｅｂサービスにおいて発生し得るイベントに伴う前記機能および前記資源の状態変化を導出し、導出した状態変化のうち、予め定められた制約条件に適合する状態変化について、前記機能および前記資源の挙動を示す定性挙動表を生成する処理と、
生成した定性挙動表の中から、パラメータとして指定されたイベントに対応する定性挙動表を検索し、出力する処理とを実行させる
ためのサービス提供構造管理プログラム。
【請求項９】
コンピュータに、
品質要求情報、機能要求情報、機能定義情報、資源定義情報、制約条件情報およびイベント情報を用いて、機能要求および品質要求と、前記機能要求および前記品質要求を実現するための機能および資源との関係を構造化した定性挙動情報を生成し、前記定性挙動情報を用いて定性挙動表を生成し保管する処理を実行させる
請求項８に記載のサービス提供構造管理プログラム。
【請求項１０】
コンピュータに、
定性挙動表を示す画面情報を出力する処理を実行させる
請求項８または請求項９に記載のサービス提供構造管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサービスの設計方法および運用方法に関し、特に、Ｗｅｂサービス提供構造をモデリングするサービス提供構造管理装置、サービス提供構造管理方法およびサービス提供構造管理プログラムに関する。
【背景技術】
【０００２】
クラウドコンピューティング（以下、単にクラウドという。）上におけるＷｅｂサービスは、クラウドが予め保有するミドルウェア群（ミドルウェア・スタック）の上に配備された、Ｗｅｂサービスのロジックを実装したソフトウェア・モジュールが動作することによって、ユーザ等に提供される。このクラウド上のＷｅｂサービスは、他のＷｅｂサービスとミドルウェア資源を物理的に共用する場合がある。そのため、例えば、Ｗｅｂアプリケーションの応答性能が運用中に低下した場合に、当該Ｗｅｂアプリケーションに生じた問題であるのか、または他からの影響であるのかを、直ちに特定することは困難である。
【０００３】
また、クラウドでは、ミドルウェア・スタックがクラウド事業者によって管理されるため、Ｗｅｂサービス開発者は、ミドルウェア・スタックの構成や状態を正確に知り得ない。従って、Ｗｅｂサービス開発者は、Ｗｅｂサービスの表面上の振る舞いから、問題点がＷｅｂサービスのロジックを実装したソフトウェア・モジュールに所在するのか、ＯＳ、データベース、ネットワークソフトウェア等のミドルウェアに所在するのかを、直ちに特定することが困難である。
【０００４】
このような問題とその要因を把握するために、シミュレーションを行う方法がある。システムのパラメータが明らかであって、そのインスタンス数や状態が不定の場合には、ペトリネットによるシミュレーション方法が知られている。この方法は、システム全体の振る舞いに影響するパラメータが多様な組み合わせになることから、その状態をペトリネットの離散モデルで表現し、その実行状態から現実のシステムの挙動を理解するものである。
【０００５】
一方、不明なパラメータが存在する場合に、明らかなパラメータのみを用いてパラメータ間の関係やその変化の振る舞いを定式でモデル化し、定式モデルの実行により、運用状態を定性挙動推定し把握可能にする方法として、定性推論がある（例えば、特許文献１、非特許文献１参照）。
【０００６】
この方法は、ある事象に対する変化を定性微分方程式により定式化することができる。そのため、ハードウェアの運用中に発生する故障診断に応用が図られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４４００１７６号公報
【特許文献２】特許第２１３１７８３号公報
【非特許文献】
【０００８】
【非特許文献１】Ｂｅｎｊａｍｉｎ  Ｋｕｉｐｅｒ：  Ｑｕａｌｉｔａｔｉｖｅ  Ｓｉｍｕｌａｔｉｏｎ，  Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  Ｖｏｌｕｍｅ  ２９，  Ｉｓｓｕｅ  ３，  Ｓｅｐｔｅｍｂｅｒ  １９８６，  ｐｐ．  ２８９−３３８．
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前述したクラウド上のＷｅｂサービスは、クラウドで管理されるミドルウェア群の構成や状態が不明確なため、定性推論の考え方と親和性が高い。しかし、クラウド上のＷｅｂサービスの場合、ソフトウェア・モジュールと、どのミドルウェア群のどの構成要素とが関係しているのかが不明確であり、不明なパラメータが多い。従って、定性推論を用いても、クラウドに対応したＷｅｂサービスの設計や障害の要因分析に活用するに十分なシミュレーションの実行は困難である。
【００１０】
そこで、本発明は、クラウド上のＷｅｂサービスの設計工程において、サービスの実行状態の変化を予見した高品位な設計を可能にし、また、運用工程において、サービス実行中に生じた状態変化に対して直ちにその要因を特定することができるサービス提供構造管理装置、サービス提供構造管理方法およびサービス提供構造管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によるサービス提供構造管理装置は、Ｗｅｂサービスに要求される品質を示す品質要求情報を保持する品質要求入力部と、Ｗｅｂサービスに要求される機能を示す機能要求情報を保持する機能要求入力部と、Ｗｅｂサービスが提供する機能を定義した機能定義情報を保持する機能定義部と、Ｗｅｂサービスが利用する資源を定義した資源定義情報を保持する資源定義部と、機能および資源の制約条件を示す制約条件情報を保持する制約条件入力部と、Ｗｅｂサービスにおいて発生し得るイベントを示すイベント情報を保持するイベント入力部と、品質要求情報、機能要求情報、機能定義情報および資源定義情報にもとづいて、イベントに伴う機能および資源の状態変化を導出し、導出した状態変化のうち制約条件に適合する状態変化について、機能および資源の挙動を示す定性挙動表を生成するＷｅｂサービス提供構造管理部と、Ｗｅｂサービス提供構造管理部が生成した定性挙動表の中から、パラメータとして指定されたイベントに対応する定性挙動表を検索し、出力する定性挙動推定部とを含むことを特徴とする。
【００１２】
本発明によるサービス提供構造管理方法は、Ｗｅｂサービスに要求される品質を示す品質要求情報と、Ｗｅｂサービスに要求される機能を示す機能要求情報と、Ｗｅｂサービスが提供する機能を定義した機能定義情報と、Ｗｅｂサービスが利用する資源を定義した資源定義情報とにもとづいて、Ｗｅｂサービスにおいて発生し得るイベントに伴う機能および資源の状態変化を導出し、導出した状態変化のうち、予め定められた制約条件に適合する状態変化について、機能および資源の挙動を示す定性挙動表を生成し、生成した定性挙動表の中から、パラメータとして指定されたイベントに対応する定性挙動表を検索し、出力することを特徴とする。
【００１３】
本発明によるサービス提供構造管理プログラムは、コンピュータに、Ｗｅｂサービスに要求される品質を示す品質要求情報と、Ｗｅｂサービスに要求される機能を示す機能要求情報と、Ｗｅｂサービスが提供する機能を定義した機能定義情報と、Ｗｅｂサービスが利用する資源を定義した資源定義情報とにもとづいて、Ｗｅｂサービスにおいて発生し得るイベントに伴う機能および資源の状態変化を導出し、導出した状態変化のうち、予め定められた制約条件に適合する状態変化について、機能および資源の挙動を示す定性挙動表を生成する処理と、生成した定性挙動表の中から、パラメータとして指定されたイベントに対応する定性挙動表を検索し、出力する処理とを実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、クラウド上のＷｅｂサービスの設計工程において、サービスの実行状態の変化を予見した高品位な設計を可能にし、また、運用工程において、サービス実行中に生じた状態変化に対して直ちにその要因を特定することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明によるサービス提供構造管理装置の第１の実施形態の構成を示すブロック図である。
【図２】ドメイン間リンク情報の記述例を示す説明図である。
【図３】制約条件情報の記述例を示す説明図である。
【図４】要求定義ドメイン情報の記述例を示す説明図である。
【図５】機能提供ドメイン情報の記述例を示す説明図である。
【図６】実行資源ドメイン情報の記述例を示す説明図である。
【図７】定性挙動情報によって表される、Ｗｅｂサービスの定常状態の一例を示す説明図である。
【図８】定性挙動表の一例を示す説明図である。
【図９】定性挙動情報の構築処理を示すフローチャートである。
【図１０】第１の実施形態において生成される定性挙動表を示す説明図である。
【図１１】図１０（ｂ）に示す定性挙動表の構築処理を示すフローチャートである。
【図１２】定性挙動情報によって表される、イベント発生時におけるＷｅｂサービスの定常状態の一例を示す説明図である。
【図１３】観測されたＷｅｂサービスの挙動の変化の発生原因を特定する処理を示すフローチャートである。
【図１４】性能劣化時の通知機能の挙動を示す定性挙動表の一例を示す説明図である。
【図１５】本発明によるサービス提供構造管理装置の最小構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。
【００１７】
図１は、本発明によるサービス提供構造管理装置（以下、Ｗｅｂサービス提供構造設計・管理装置という。）の第１の実施形態の構成を示すブロック図である。
【００１８】
Ｗｅｂサービス提供構造設計・管理装置は、品質要求入力部１１０と、機能要求入力部１２０と、機能定義部１３０と、資源定義部１４０と、制約条件入力部１５０と、イベント入力部１６０と、Ｗｅｂサービス提供構造管理部１７０と、定性挙動推定部１８０とを含む。
【００１９】
品質要求入力部１１０は、予め、Ｗｅｂサービスに要求される品質を示す品質要求情報を記憶する。品質要求入力部１１０は、品質要求情報をＷｅｂサービス提供構造管理部１７０に出力する。品質要求情報は、「要求名」と「属性」とで、Ｗｅｂサービスに要求される品質を定義する。
【００２０】
機能要求入力部１２０は、予め、Ｗｅｂサービスに要求される機能を示す機能要求情報を記憶する。機能要求入力部１２０は、機能要求情報をＷｅｂサービス提供構造管理部１７０に出力する。機能要求情報は、「要求名」と「属性」とで、Ｗｅｂサービスに要求される機能を定義する。
【００２１】
機能定義部１３０は、予め、Ｗｅｂサービスが提供する機能を定義した機能定義情報、ドメイン内リンク情報、およびドメイン間リンク情報を記憶する。機能定義部１３０は、各情報をＷｅｂサービス提供構造管理部１７０に出力する。機能定義情報は、「機能名」と「属性」とで機能を定義する。「機能」は、例えばリクエスト受付機能である。「属性」は、例えばＷｅｂインタフェース、処理件数である。ドメイン間リンク情報は、各ドメイン（後述する要求定義ドメイン、機能提供ドメインおよび実行資源ドメイン）における要素（要求、機能、資源）間のリンク関係を示す情報である。図２は、ドメイン間リンク情報の記述例を示す説明図である。図２に示す例では、例えば時刻ｔが時刻ｔ１より小さいとき、ドメインＢの要素ｂが増大すると、ドメインＣの要素ｃが増大することを表す。ドメイン内リンク情報は、「リンク元（Ｆｒｏｍ）」と「リンク先（Ｔｏ）」と「依存度（−，−−，０，＋，＋＋，？（不定））」とで、ドメイン内の機能間のリンク関係を定義する情報である。なお、機能定義部１３０は、要求定義ドメイン、機能提供ドメイン間のリンク関係を示すドメイン間リンク情報を記憶する。
【００２２】
資源定義部１４０は、予め、Ｗｅｂサービスが利用する資源を定義した資源定義情報およびドメイン間リンク情報を記憶する。資源定義部１４０は、各情報をＷｅｂサービス提供構造管理部１７０に出力する。資源定義情報は、「資源名」と「属性」とで、Ｗｅｂサービスが利用する資源を定義する。「資源名」は、例えば“データベース資源”である。「属性」は、例えば必要メモリ量、必要ハードドライブ量、同時セッション数である。なお、資源定義部１４０は、機能提供ドメイン、実行資源ドメイン間のリンク関係を示すドメイン間リンク情報を記憶する。
【００２３】
制約条件入力部１５０は、予め、制約条件情報を記憶する。資源定義部１４０は、制約条件情報をＷｅｂサービス提供構造管理部１７０に出力する。図３は、制約条件情報の記述例を示す説明図である。制約条件情報は、ドメインの要素の制約である「ドメイン則」と、要素の状態遷移の制約である「状態遷移則」とを含む。
【００２４】
イベント入力部１６０は、予め、Ｗｅｂサービスにおいて発生し得るイベントを示すイベント情報を記憶する。イベント入力部１６０は、イベント情報をＷｅｂサービス提供構造管理部１７０に出力する。イベント情報は、「イベント名」と「属性」とでイベントを定義する。「イベント名」は、例えば“リクエスト増大イベント”である。「属性」は、例えばリクエスト数である。
【００２５】
Ｗｅｂサービス提供構造管理部１７０は、設計情報保管部１７１と、定性挙動情報構築部１７２と、定性挙動情報保管部１７３とを含む。
【００２６】
設計情報保管部１７１は、入力された品質要求情報、機能要求情報、機能定義情報、イベント情報、資源定義情報、ドメイン内リンク情報、ドメイン間リンク情報および制約条件情報を保持する。
【００２７】
定性挙動情報構築部１７２は、設計情報保管部１７１が保持する品質要求情報と機能要求情報とを用いて、要求定義ドメインを示す要求定義ドメイン情報を構築する。図４は、要求定義ドメイン情報の記述例を示す説明図である。
【００２８】
定性挙動情報構築部１７２は、設計情報保管部１７１が保持する機能定義情報と、ドメイン間リンク情報とを用いて、機能提供ドメインを示す機能提供ドメイン情報を構築する。図５は、機能提供ドメイン情報の記述例を示す説明図である。図５に示すように、機能提供ドメイン情報は、機能定義情報、イベント情報およびドメイン内リンク情報を含む。
【００２９】
定性挙動情報構築部１７２は、設計情報保管部１７１が保持する資源定義情報を用いて、実行資源ドメイン情報を構築する。図６は、実行資源ドメイン情報の記述例を示す説明図である。
【００３０】
定性挙動情報構築部１７２は、要求定義ドメインと機能提供ドメインの間、および機能提供ドメインと実行資源ドメインの間を、ドメイン間リンク情報を用いて連結する。それにより、定性挙動情報構築部１７２は、Ｗｅｂサービスの定常状態を示す定性挙動情報を取得する。定性挙動情報は、図７に示すような、Ｗｅｂサービスの定常状態を表す情報である。図７は、定性挙動情報によって表される、Ｗｅｂサービスの定常状態の一例を示す説明図である。定性挙動情報構築部１７２は、得られた定性挙動情報を定性挙動情報保管部１７３に格納する。
【００３１】
定性挙動情報構築部１７２は、定性挙動情報に含まれるドメイン間リンク情報、つまり、機能定義部１３０および資源定義部１４０が入力した各ドメイン間リンク情報にもとづいて、定性挙動表を生成し、定性挙動情報保管部１７３に格納する。図８は、定性挙動表の一例を示す説明図である。図８に示すグラフは、対象ｑ１の挙動を示すグラフである。図８に示す表は、グラフに対応する定性挙動表であり、対象ｑ１を基点とし対象ｑ１〜ｑ７の挙動を表す。図８に示す「＋」、「−」は、増大、減少を表す。「？」は、−，０，＋のいずれかであることを表す。
【００３２】
このように、定性挙動情報構築部１７２は、Ｗｅｂサービスの定常状態を表すサービス提供構造をモデル化する。
【００３３】
また、定性挙動情報構築部１７２は、イベントに伴うサービス提供構造の変化を次のようにモデル化する。
【００３４】
まず、定性挙動情報構築部１７２は、設計情報保管部１７１が保持するイベント情報２２２およびドメイン間リンク情報を、機能提供ドメイン情報２２０に挿入する
【００３５】
次に、定性挙動情報構築部１７２は、ドメイン内リンク情報とドメイン間リンク情報とをもとに、イベント情報から、イベント情報→機能定義情報→資源定義情報→機能定義情報と各情報を辿り、イベント情報が示すイベントに関連する機能を同定する。
【００３６】
さらに、定性挙動情報構築部１７２は、イベント情報が示すイベントが機能定義情報に与えた変化から、当該イベント情報に関連すると同定された機能の振る舞いの変化を導出する。
【００３７】
さらに、定性挙動情報構築部１７２は、導出した変化の集合から、制約条件情報に適合しない状態を除き、集合に含まれるそれぞれの変化に対して定性挙動表を作成する。
【００３８】
最後に、定性挙動情報構築部１７２は、得られた定性挙動表を定性挙動情報保管部１７３に格納する。
【００３９】
定性挙動情報保管部１７３は、定性挙動情報および定性挙動表を記憶する。
【００４０】
定性挙動推定部１８０は、パラメータ指定部１８１と、定性挙動表検索部１８２と、定性挙動結果表示部１８３とを含む。
【００４１】
パラメータ指定部１８１は、Ｗｅｂサービスの設計工程において、ユーザによってあるパラメータ値が指定されたとき、このパラメータ値をパラメータ定性挙動表検索部１８２に出力する。すると、定性挙動表検索部１８２は、定性挙動情報保管部１７３が記憶する定性挙動表の中から、このパラメータ値の範囲に適合する定性挙動表を検索し、これを定性挙動結果表示部１８３に出力する。
【００４２】
また、パラメータ指定部１８１は、Ｗｅｂサービスの運用工程において観測された、Ｗｅｂサービスの機能の状態変化を示すパラメータを、定性挙動表検索部１８２に指定する。定性挙動表検索部１８２は、検索により得られた定性挙動表に記載されている他のＷｅｂサービス機能のそれぞれの状態変化が、実際のＷｅｂサービスの機能の状態と合っているか否かを確認する。
【００４３】
適合している場合には、定性挙動表検索部１８２は、当該Ｗｅｂサービスの挙動変化は、定性挙動表に記載されている他のＷｅｂサービス機能の状態変化に依存したものと特定する。適合していない場合には、定性挙動表検索部１８２は、定性挙動情報をもとに、当該Ｗｅｂサービス機能が利用する実行資源が他のＷｅｂサービス機能とリンクしているか否かを確認する。
【００４４】
当該Ｗｅｂサービス機能が利用する実行資源が他のＷｅｂサービス機能とリンクしていない場合には、定性挙動表検索部１８２は、当該Ｗｅｂサービスの挙動変化は、当該Ｗｅｂサービスのソフトウェア・モジュールまたは実行資源に存在すると特定する。当該Ｗｅｂサービス機能が利用する実行資源が他のＷｅｂサービス機能とリンクしていて、他のＷｅｂサービス機能の状態変化が定性挙動表と合致している場合には、定性挙動表検索部１８２は、当該Ｗｅｂサービスの挙動変化は、当該Ｗｅｂサービスのソフトウェア・モジュールに存在すると特定する。
【００４５】
このようにして、定性挙動表検索部１８２は、Ｗｅｂサービスの運用時に観測したＷｅｂサービスの挙動の変化の発生原因を特定する。定性挙動表検索部１８２は、特定した結果を含む画面情報を、定性挙動結果表示部１８３に出力する。
【００４６】
定性挙動結果表示部１８３は、例えば、ディスプレイ装置であって、定性挙動表検索部１８２が入力した情報を表示する。
【００４７】
なお、品質要求入力部１１０、機能要求入力部１２０、機能定義部１３０、資源定義部１４０、制約条件入力部１５０、イベント入力部１６０、定性挙動情報構築部１７２、パラメータ指定部１８１、定性挙動表検索部１８２および定性挙動結果表示部１８３は、例えば、サービス提供構造管理プログラムに従って動作するコンピュータによって実現される。この場合、ＣＰＵがサービス提供構造管理プログラムを読み込み、そのプログラムに従って、品質要求入力部１１０、機能要求入力部１２０、機能定義部１３０、資源定義部１４０、制約条件入力部１５０、イベント入力部１６０、定性挙動情報構築部１７２、パラメータ指定部１８１、定性挙動表検索部１８２および定性挙動結果表示部１８３として動作する。また、品質要求入力部１１０、機能要求入力部１２０、機能定義部１３０、資源定義部１４０、制約条件入力部１５０、イベント入力部１６０、定性挙動情報構築部１７２、パラメータ指定部１８１、定性挙動表検索部１８２および定性挙動結果表示部１８３が別々のハードウェアで実現されていてもよい。
【００４８】
また、設計情報保管部１７１および定性挙動情報保管部１７３は、Ｗｅｂサービス提供構造設計・管理装置が備えるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶装置で実現される。
【００４９】
次に、本実施形態の動作を説明する。
【００５０】
Ｗｅｂサービス提供構造設計・管理装置は、Ｗｅｂサービスの設計工程において、イベントに伴う状態のサービス提供構造の変化を次のようにモデル化する。図９は、定性挙動情報の構築処理を示すフローチャートである。図１０は、第１の実施形態において生成される定性挙動表を示す説明図である。
【００５１】
Ｗｅｂサービス提供構造管理部１７０は、品質要求入力部１１０より品質要求情報を入力する。ここでは、品質要求情報として、「Ｗｅｂアクセスのリクエストに対してＷｅｂサービスの応答時間が１秒以内」という、性能に関する要求を示す情報を入力する（ステップＳ１００）。
【００５２】
Ｗｅｂサービス提供構造管理部１７０は、機能要求入力部１２０より機能要求情報を入力する。ここでは、機能要求情報として、Ｗｅｂサービス要求受付機能、Ｗｅｂサービス要求処理機能およびＷｅｂサービス要求応答機能についての要求を示す情報を入力する（ステップＳ１１０）。
【００５３】
Ｗｅｂサービス提供構造管理部１７０は、機能定義部１３０より機能定義情報を入力する。ここでは、機能定義情報として、仮想マシン機能、Ｗｅｂサービス機能の定義を含む情報を入力する。また、Ｗｅｂサービス提供構造管理部１７０は、さらにドメイン内リンク情報およびドメイン間リンク情報を入力する（ステップＳ１２０）。
【００５４】
Ｗｅｂサービス提供構造管理部１７０は、資源定義部１４０より資源定義情報を入力する。ここでは、資源定義情報として、メモリ量、ハードディスク量、ネットワーク帯域の定義を含む情報を入力する。Ｗｅｂサービス提供構造管理部１７０は、さらにドメイン間リンク情報を入力する（ステップＳ１３０）。
【００５５】
Ｗｅｂサービス提供構造管理部１７０は、制約条件入力部１５０より、制約条件情報を入力する（ステップＳ１４０）。ここでは、Ｗｅｂサービス提供構造管理部１７０は、機能Ａへの要求に対する処理率に関する制約条件（ドメイン則、状態遷移則）を含む制約条件情報を入力する。ここで、当該処理率の変化は、Ｓ字カーブのグラフで示される挙動であることが自明であるとき、ｔ０，ｔ０−ｔ１，ｔ１，ｔ１−∞のそれぞれの区間において、０，＋，０，−となる。また、当該処理率は、＋から−へ、−から＋へ直ちに遷移することなく、０の状態を通過する。従って、当該処理率の変化を示すドメイン則と、当該処理の状態遷移を示す状態遷移則とを含む制約条件情報がＷｅｂサービス提供構造管理部１７０に入力される。
【００５６】
Ｗｅｂサービス提供構造管理部１７０は、入力した品質要求情報、機能要求情報、機能定義情報、資源定義情報、ドメイン内リンク情報、ドメイン間リンク情報を設計情報保管部１７１に格納する（ステップＳ１５０）。
【００５７】
定性挙動情報構築部１７２は、設計情報保管部１７１が保持する品質要求情報と機能要求情報とを用いて、要求定義ドメイン情報を構築する（ステップＳ１６０）。
【００５８】
定性挙動情報構築部１７２は、設計情報保管部１７１が保持する機能定義情報とドメイン間リンク情報とを用いて、機能提供ドメイン情報を構築する（ステップＳ１７０）。
【００５９】
定性挙動情報構築部１７２は、設計情報保管部１７１が保持する資源定義情報を用いて、実行資源ドメイン情報を構築する（ステップＳ１８０）。
【００６０】
さらに、定性挙動情報構築部１７２は、要求定義ドメインと機能提供ドメインとの間、および機能提供ドメインと実行資源ドメインとの間を、ドメイン間リンク情報を用いて連結する（ステップＳ１９０）。それにより、定性挙動情報構築部１７２は、定性挙動情報を取得する。
【００６１】
定性挙動情報構築部１７２は、取得した定性挙動情報を用いて、図１０（ａ）に示す定性挙動表を生成し、定性挙動情報保管部１７３に格納する。
【００６２】
図１１は、図１０（ｂ）に示す定性挙動表の構築処理を示すフローチャートである。
【００６３】
ここでは、Ｗｅｂサービス提供構造管理部１７０は、イベント入力部１６０よりイベント情報として、他のユーザのＷｅｂサービスが複数クラウドに配備されるイベント、つまり、ユーザ数の上昇イベントを入力した場合を例にする。
【００６４】
定性挙動情報構築部１７２は、設計情報保管部１７１が保持するイベント情報２２２およびドメイン間リンク情報を、機能提供ドメイン情報２２０に挿入する（ステップＳ２１０）。ここでモデル化された構造を、図１２に示す。図１２は、定性挙動情報によって表される、イベント発生時におけるＷｅｂサービスの定常状態の一例を示す説明図である。図１２に示す矢印線は、各ドメインの各要素間の依存関係、つまりリンク関係を表す。図１２に示す「＋」は、属性値が増大する方向に変化することを表す。「−」は、属性値が減少する方向に変化することを表す。「０」は、属性値が変化しないことを表す。「？」は、属性値の変化を特定できないことを表す。
【００６５】
定性挙動情報構築部１７２は、ドメイン内リンク情報とドメイン間リンク情報とをもとに、イベント情報→機能定義情報→資源定義情報→機能定義情報と辿り、イベント情報と関連する機能を同定する（ステップＳ２２０）。例えば、図１２に示す例では、ユーザ数の上昇イベントから機能Ｂ（更新機能）→ＣＰＵ→機能Ａ（通知機能）と辿ることができる。従って、ユーザ数の上昇イベントが機能Ａ（通知機能）と関連することが分かる。
【００６６】
更に、定性挙動情報構築部１７２は、イベント情報が機能定義情報に与えた変化から、ユーザ数の上昇イベントに関連すると同定された機能の振る舞いの変化を導出する（ステップＳ２３０）。例えば、ユーザ数の上昇イベントに対して、更新機能の劣化（例えば、平均応答時間の変化）が生じた場合には、定性挙動情報構築部１７２は、当該イベントが機能定義情報に変化を与えたと判断する。なお、１つのイベントから導出される変化は、１つに限られない。
【００６７】
ここで、機能Ａ（通知機能）の性能変化率は、図１２に示すようにＣＰＵ資源に依存している。そのため、ＣＰＵ資源の利用率は、図１０（ａ）に示すように、機能Ａと同様に０，＋，０，−となる。一方、機能Ａは、ディスクＩ／Ｏ（ディスク入出力）機構の資源を利用するが、ディスク入出力に強く依存していない。そのため、ディスク入出力機構の資源の利用率は、０，＋，？，？となる。
【００６８】
ここで、機能Ｂ（更新機能）が、ＣＰＵ資源とディスク入出力機構とを利用し、ディスク入出力に依存した実装である場合、ｔ０，ｔ０−ｔ２，ｔ２，ｔ２−∞のそれぞれの区間において、その性能変化率は０，＋，０，−と振る舞うことが公知の事実であったとする。このとき、ＣＰＵ資源の利用率も同様に、０，＋，０，−と振る舞う。状態遷移則から、＋→−に直ちに遷移しないことから、変化率の関係として、図１０（ｂ）に示す関係が一意に定まる。
【００６９】
このようにして、定性挙動情報構築部１７２によって、図１０（ｂ）に示す、ユーザ数の上昇イベントに対応する定性挙動表が生成される。
【００７０】
さらに、定性挙動情報構築部１７２は、ステップＳ２３０において導出した変化の集合から、制約条件情報が示す制約条件に適合しない状態を除き、集合に含まれるそれぞれの変化に対して定性挙動表を作成する（ステップＳ２４０）。
【００７１】
定性挙動情報構築部１７２は、作成した定性挙動表を定性挙動情報保管部１７３に格納する（ステップＳ２５０）。
【００７２】
このようにして、他のユーザのＷｅｂサービスが複数クラウドに配備され、共用資源の競合が発生し、レスポンスの悪化などの品質変化が生じ得ることが、データ構造化される。
【００７３】
定性挙動推定部１８０の定性挙動表検索部１８２は、パラメータ指定部１８１から指定されたパラメータに応じた定性挙動表を定性挙動情報保管部１７３から検索し、定性挙動結果表示部１８３に表示する（ステップＳ２６０）。
【００７４】
例えば、パラメータ指定部１８１が、ユーザ数の上昇イベントの発生をパラメータとして指定した場合には、定性挙動表検索部１８２は、定性挙動情報保管部１７３から、図１０（ｂ）に示す定性挙動表を、当該パラメータに適合するものとして取得する。そして、定性挙動表検索部１８２は、定性挙動結果表示部１８３に当該定性挙動表を表示する。
【００７５】
これにより、設計者は、Ｗｅｂサービス設計工程において、定性挙動結果表示部１８３に表示された定性挙動情報を参照することにより、資源競合が起こった際の、同じ資源を利用する機能群への影響を把握することができる。また、設計者は、定性挙動情報が示す定性挙動をもとに、各サービス機能が持つ属性の諸元の設計値を見直すことができる。
【００７６】
次に、Ｗｅｂサービスの運用工程において観測された、Ｗｅｂサービスの挙動の変化の発生原因を特定する処理を説明する。
【００７７】
図１３は、観測されたＷｅｂサービスの挙動の変化の発生原因を特定する処理を示すフローチャートである。図１４は、性能劣化時の通知機能の挙動を示す定性挙動表の一例を示す説明図である。なお、図１４に示すグラフは、更新機能および通知機能の実際の挙動を表す。また、“ａ”はリクエスト数（ａ０＜ａ１＜ａ２）を表す。
【００７８】
ここでは、Ｗｅｂサービスの更新機能の性能劣化が観測された場合を例にする。
【００７９】
Ｗｅｂサービスの更新機能の性能劣化を観測したとき、ユーザは、この変化を示すパラメータをパラメータ指定部１８１に入力する。パラメータ指定部１８１は、このパラメータを定性挙動表検索部１８２に指定する。すると、定性挙動表検索部１８２は、このパラメータに合致する定性挙動表を検索する（ステップＳ２７０）。
【００８０】
定性挙動表検索部１８２は、検索により得られた定性挙動表に記載されている、他のＷｅｂサービス機能である通知機能の状態が、実際の挙動と合っているか確認する（ステップＳ２８０）。
【００８１】
実際の挙動と合っている場合は（ステップＳ２８０のＹｅｓ）、定性挙動表検索部１８２は、当該Ｗｅｂサービスの挙動変化は、定性挙動表２７０に記載されている他のＷｅｂサービス機能、つまり通知機能の状態変化に依存したものと特定する（ステップＳ２９０）。実際の挙動と合っていない場合には（ステップＳ２８０のＮｏ）、定性挙動表検索部１８２は、ステップＳ３００の処理に移行する。
【００８２】
更新機能の性能劣化の観測時点においてリクエスト数が、図１４に示すａ１とａ２との間であるとき、通知機能の性能劣化は観測されず、かつ、更新機能が利用する実行資源が通知機能とリンクしていないときは（ステップＳ３００のＮｏ）、定性挙動表検索部１８２は、当該Ｗｅｂサービスの挙動変化は、当該Ｗｅｂサービスの更新機能ソフトウェア・モジュールまたは実行資源に存在すると特定する（ステップＳ３１０）。更新機能が利用する実行資源が通知機能とリンクしているときは（ステップＳ３００のＹｅｓ）、定性挙動表検索部１８２は、当該Ｗｅｂサービスの挙動変化は、当該Ｗｅｂサービスの更新機能ソフトウェア・モジュールに存在すると特定する（ステップＳ３２０）。
【００８３】
定性挙動表検索部１８２は、特定した結果を、定性挙動結果表示部１８３に表示する（ステップＳ３３０）。
【００８４】
このように、Ｗｅｂサービスの運用中において、一方の機器のみが止まり、もう一方の機器にも障害が発生した場合などに、設計者等のユーザは、定性挙動結果表示部１８３に表示された定性挙動表を参照することにより、障害が共通の資源によるものか、別個の問題なのかなど、原因発生の範囲の切り分けを行うことができる。
【００８５】
以上に説明したように、本実施形態では、Ｗｅｂサービスの運用中に発生し得るイベント事象とそれに伴うＷｅｂサービス提供構造の状態変化をデータ構造化（モデル化）する。それにより、クラウドに対応したＷｅｂサービスの機能設計や資源の割当て設計を行う際に、運用中に発生し得るイベント事象とそれに伴う状況変化の予見が可能となる。すなわち、Ｗｅｂサービスの状態変化を予め把握することが可能となる。従って、Ｗｅｂサービスの機能設計において、機能の呼び出し順や資源の属性値の設計を適正に行うことができ、有効な対策を講じた設計、つまり高品位な設計が可能となる。
【００８６】
また、本実施形態では、イベントの発生が、Ｗｅｂサービス機能に直接与える影響と、Ｗｅｂサービス資源を経由して間接的にＷｅｂサービス機能に与える影響とを構造化する。それにより、責任分界点が明確化され、各サービス機能が遷移し得る状態を、他のサービス機能および実行資源の状態から絞り込むことができる。従って、Ｗｅｂサービスの運用工程において、サービス実行中に生じた状態変化等の問題の原因を特定することが可能となる。つまり、本実施形態によれば、クラウド事業者によってＷｅｂサービスの実行資源が管理されている場合であっても、実行資源の構成や状態、また、実行資源とＷｅｂサービスのソフトウェア・モジュールとの関係をデータ構造化することができる。よって、Ｗｅｂサービスの運用時に、Ｗｅｂサービスの機能の性能劣化などが発生した場合、どこに問題個所があるかを切り分けすることができる。
【００８７】
なお、本実施形態では、定性挙動結果表示部１８３を含むＷｅｂサービス提供構造設計・管理装置を例にしたが、定性挙動結果表示部１８３は、Ｗｅｂサービス提供構造設計・管理装置に含まれていなくてもよい。例えば、定性挙動表検索部１８２は、外部の表示装置に、画面情報を出力するようにしてもよい。
【００８８】
また、本発明は、例えば、Ｗｅｂサービス設計時において、Ｗｅｂサービスの定性的に取り得る実行状態を用いて、機能の属性値の設計および属性値の十分性検証に活用できる。また、Ｗｅｂサービス運用時において、不具合・故障の影響範囲を把握し、要因の特定に活用できる。
【００８９】
図１５は、本発明によるサービス提供構造管理装置の最小構成を示すブロック図である。図１５に示すように、サービス提供構造管理装置は、Ｗｅｂサービスに要求される品質を示す品質要求情報を保持する品質要求入力部１１０と、Ｗｅｂサービスに要求される機能を示す機能要求情報を保持する機能要求入力部１２０と、Ｗｅｂサービスが提供する機能を定義した機能定義情報を保持する機能定義部１３０と、Ｗｅｂサービスが利用する資源を定義した資源定義情報を保持する資源定義部１４０と、機能および資源の制約条件を示す制約条件情報を保持する制約条件入力部１５０と、Ｗｅｂサービスにおいて発生し得るイベントを示すイベント情報を保持するイベント入力部１６０と、品質要求情報、機能要求情報、機能定義情報および資源定義情報にもとづいて、イベントに伴う機能および資源の状態変化を導出し、導出した状態変化のうち制約条件に適合する状態変化について、機能および資源の挙動を示す定性挙動表を生成するＷｅｂサービス提供構造管理部１７０と、Ｗｅｂサービス提供構造管理部１７０が生成した定性挙動表の中から、パラメータとして指定されたイベントに対応する定性挙動表を検索し、出力する定性挙動推定部１８０とを含む。
【００９０】
そのような構成によれば、Ｗｅｂサービスの機能設計において、機能の呼び出し順や資源の属性値の設計を適正に行うことができ、高品位な設計が可能となる。また、Ｗｅｂサービスの運用時において、サービス実行中に生じた状態変化等の問題の原因を特定することが可能となる。
【００９１】
上記の実施形態には、以下のようなサービス提供構造管理装置も開示されている。
【００９２】
（１）Ｗｅｂサービス提供構造管理部１７０は、品質要求情報、機能要求情報、機能定義情報、資源定義情報、制約条件情報およびイベント情報を保持する設計情報保管部１７１と、設計情報保管部１７１が保持する情報を用いて、機能要求および品質要求と、機能要求および品質要求を実現する機能および資源との関係を構造化した定性挙動情報を生成し、定性挙動情報を用いて定性挙動表を生成する定性挙動情報構築部１７２と、定性挙動表を蓄積する定性挙動情報保管部１７３とを含むサービス提供構造管理装置。
【００９３】
そのような構成によれば、Ｗｅｂサービスの運用中に発生し得るイベント事象とそれに伴うＷｅｂサービス提供構造の状態変化をモデル化することができる。
【００９４】
（２）定性挙動推定部１８０は、定性挙動表を示す画面情報を出力するサービス提供構造管理装置。
【００９５】
そのような構成によれば、設計者は、Ｗｅｂサービス設計工程において、定性挙動情報を参照することができるので、資源競合が起こった際の、同じ資源を利用する機能群への影響を把握することができる。それにより、設計者は、定性挙動情報が示す定性挙動をもとに、各サービス機能が持つ属性の諸元の設計値を見直すことができる。
【００９６】
（３）定性挙動推定部１８０は、Ｗｅｂサービスに状態変化が発生した際の機能および資源の挙動を示す情報を入力し、当該挙動と一致する挙動が記録された定性挙動表を定性挙動情報保管部１７３から取得し、取得した定性挙動表をもとに状態変化の発生原因を特定し、特定した結果を含む画面情報を出力するサービス提供構造管理装置。
【００９７】
そのような構成によれば、Ｗｅｂサービスの運用中において、一方の機器のみが止まり、もう一方の機器にも障害が発生した場合などに、設計者等のユーザは、定性挙動表を参照することにより、障害が共通の資源によるものか、別個の問題なのかなど、原因発生の範囲の切り分けを行うことができる。
【符号の説明】
【００９８】
１１０  品質要求入力部
１２０  機能要求入力部
１３０  機能定義部
１４０  資源定義部
１５０  制約条件入力部
１６０  イベント入力部
１７０  Ｗｅｂサービス提供構造管理部
１７１  設計情報保管部
１７２  定性挙動情報構築部
１７３  定性挙動情報保管部
１８０  定性挙動推定部
１８１  パラメータ指定部
１８２  定性挙動表検索部
１８３  定性挙動結果表示部
【図１】
2014170485.tif 000003
【図２】
2014170485.tif 000004
【図３】
2014170485.tif 000005
【図４】
2014170485.tif 000006
【図５】
2014170485.tif 000007
【図６】
2014170485.tif 000008
【図７】
2014170485.tif 000009
【図８】
2014170485.tif 000010
【図９】
2014170485.tif 000011
【図１０】
2014170485.tif 000012
【図１１】
2014170485.tif 000013
【図１２】
2014170485.tif 000014
【図１３】
2014170485.tif 000015
【図１４】
2014170485.tif 000016
【図１５】
2014170485.tif 000017