(57)【要約】      （修正有）【課題】検索条件に含まれる要件を満足するテンプレートのみでなく、変更によって要件を満足する可能性のあるテンプレートも提供する。【解決手段】リポジトリの管理システムは、デフォルトテンプレートの情報と、デフォルトテンプレートの一部を変更したテンプレート（修正テンプレート）の情報と、デフォルトテンプレート及び修正テンプレートを元に構築されたシステムが実現した機能・非機能要件とを対応付けて管理する。そして、テンプレート検索時には、検索条件に含まれる機能要件を満足するデフォルトテンプレート及び修正テンプレートに、検索条件に含まれる非機能要件の達成度を付与して提示する。【選択図】図１
2016143363.tif 000002
【特許請求の範囲】
【請求項１】
システム構成の雛型であるテンプレートを格納したリポジトリを管理するリポジトリ管理システムであって、
それぞれが提供する機能についての情報を含む１以上の第１のテンプレートと、
前記第１のテンプレートの識別子と、前記第１のテンプレートの一部を変更した１以上の第２のテンプレートの識別子とを対応づけた第１の情報と、
前記第１及び第２のテンプレートの各々に基づき構築されたシステムが達成した非機能要件の指標を含む第２の情報と
を格納する記憶部と、
機能要件及び非機能要件の指標を含むリクエストを受信し、前記第１の情報に基づき、前記リクエストの前記機能要件で特定される機能を提供する１以上の前記第１のテンプレートを抽出し、抽出した１以上の前記第１のテンプレートとそれらに対応づけられた１以上の前記第２のテンプレートを含むテンプレートリストを作成し、前記第２の情報に基づき、前記テンプレートリストに含まれる各テンプレートについて、前記各テンプレートに基づき構築されたシステムが前記リクエストの前記非機能要件の指標をどの程度満たしているかを示す非機能要件達成度を算出し、前記テンプレートリストと前記各テンプレートの非機能要件達成度とを出力する検索部とを備えることを特徴とするリポジトリ管理システム。
【請求項２】
請求項１に記載のリポジトリ管理システムであって、
前記記憶部には、前記第１のテンプレートと当該第１のテンプレートに対応付けられた1以上の前記第２のテンプレートとの差分を示す第３の情報が更に格納されていることを特徴とするリポジトリ管理システム。
【請求項３】
請求項２に記載されたリポジトリ管理システムであって、
前記受信部により受信した情報に基づき、前記第１乃至前記第３の情報を更新する登録部を更に備えることを特徴とするリポジトリ管理システム。
【請求項４】
請求項３に記載されたリポジトリ管理システムであって、
分析部を更に備え、
前記第３の情報には、前記差分を示す1以上の変更点についての情報が含まれ、
前記分析部は、前記テンプレートリストに含まれる各テンプレートについての前記第1乃至前記第３の情報に基づき、前記1以上の変更点の各々と前記リクエストの前記非機能要件の指標との相関を示す値を算出することを特徴とするリポジトリ管理システム。
【請求項５】
請求項４に記載されたリポジトリ管理システムであって、
前記分析部は、前記１以上の変更点の相互の相関を示す値を算出することを特徴とするリポジトリ管理システム。
【請求項６】
システム構成の雛型であるテンプレートを格納したリポジトリを管理するリポジトリ管理方法であって、
それぞれが提供する機能についての情報を含む１以上の第１のテンプレートと、
前記第１のテンプレートの識別子と、前記第１のテンプレートの一部を変更した１以上の第２のテンプレートの識別子とを対応づけた第１の情報と、
前記第１及び第２のテンプレートの各々に基づき構築されたシステムが達成した非機能要件の指標を含む第２の情報と
を記憶部に格納し、
機能要件及び非機能要件の指標を含むリクエストを受信し、
前記第１の情報に基づき、前記リクエストの前記機能要件で特定される機能を提供する１以上の前記第１のテンプレートを抽出し、抽出した１以上の前記第１のテンプレートとそれらに対応づけられた１以上の前記第２のテンプレートを含むテンプレートリストを作成し、
前記第２の情報に基づき、前記テンプレートリストに含まれる各テンプレートについて、前記各テンプレートに基づき構築されたシステムが前記リクエストの前記非機能要件の指標をどの程度満たしているかを示す非機能要件達成度を算出し、
前記テンプレートリストと前記各テンプレートの非機能要件達成度とを出力することを特徴とするリポジトリ管理方法。
【請求項７】
請求項６に記載のリポジトリ管理方法であって、
前記第１のテンプレートと当該第１のテンプレートに対応付けられた1以上の前記第２のテンプレートとの差分を示す第３の情報を更に前記記憶部に格納することを特徴とするリポジトリ管理方法。
【請求項８】
請求項７に記載されたリポジトリ管理方法であって、
受信した情報に基づき、前記第１乃至前記第３の情報を更新することを特徴とするリポジトリ管理方法。
【請求項９】
請求項８に記載されたリポジトリ管理方法であって、
前記第３の情報には、前記差分を示す1以上の変更点についての情報が含まれ、
前記テンプレートリストに含まれる各テンプレートについての前記第1乃至前記第３の情報に基づき、前記1以上の変更点の各々と前記リクエストの前記非機能要件の指標との相関を示す値を算出することを特徴とするリポジトリ管理方法。
【請求項１０】
請求項９に記載されたリポジトリ管理方法であって、
前記１以上の変更点の相互の相関を示す値を算出することを特徴とするリポジトリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムテンプレートが格納されたリポジトリの管理システム及び管理方法に関する。
【背景技術】
【０００２】
コンピューティングリソースを必要な量、必要な時間だけ貸し出すクラウドコンピューティングと呼ばれる利用形態が普及しつつある。企業ＩＴシステムの構築では、このようなクラウドコンピューティングサービスの活用が一般的になりつつあり、より迅速に、低コストでシステムを構築することが求められている。
【０００３】
このような背景のもと、クラウドサービスプロバイダやクラウドサービスを利用してＩＴシステムの構築を手がけるシステムインテグレーターは、過去の案件で構築したシステム構成を再利用可能にする標準化、部品化の取り組みを進めている。ここで想定するシステム構成のひな型は、システムの構成および設定パラメータを定義するものであり、システムテンプレートと呼ばれる。システムインテグレーターは、要件に合うシステムテンプレートを元にシステムを構築することで、設計工数を削減し、リードタイムを短縮することができる。 
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１５４６５９
【発明の概要】
【発明が解決しようとする課題】
【０００５】
システムインテグレーターはテンプレートを使うことで構築するシステムの要件が達成されるか事前に確認するために、テンプレートを適用した事例に基づいて、その目的、実現した機能・非機能要件を知りたいと考えられる。しかし、プロバイダがテンプレートを情報として提供するだけでは、テンプレートがどの案件に活用されたのか、テンプレートを元に構築したシステムが要件を満たしたか、どのような変更を施したのかを知る手段がない。このため、プロバイダはこれらの情報をテンプレートの実績としてシステムインテグレーターに提供することができない。
【０００６】
これに対して、テンプレートの識別子と構築したシステムの構成要素の識別子との対応を管理し、障害が発生した場合に、同一のテンプレートを利用しているシステムを特定するという先行発明がある（特許文献１）。この先行発明では、テンプレートの適用実績を利用可能にしている。しかし、顧客の要求仕様やシステム環境は多様であり、システムインテグレーターは、完全に要件を満たすテンプレートが無い場合には、テンプレートをカスタマイズしたり、複数のテンプレートを組み合わせて利用することが多いと考えられる。ここで、テンプレートの変更とは構成要素の多重度変更やパラメータ値の変更を想定している。この場合には、システムインテグレーターは、元のテンプレートだけでなく、加えられた変更内容を考慮した上で、要件を満たせるかどうか判断する手段が必要であるが、変更内容を共有する方法がない。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明におけるリポジトリの管理システムは、デフォルトテンプレートの情報と、デフォルトテンプレートの一部を変更したテンプレート（修正テンプレート）の情報と、デフォルトテンプレート及び修正テンプレートを元に構築されたシステムが実現した機能・非機能要件とを対応付けて管理する。そして、テンプレート検索時には、検索条件に含まれる機能要件を満足するデフォルトテンプレート及び修正テンプレートに、検索条件に含まれる非機能要件の達成度を付与した結果を提示する。
【０００８】
具体的には、本発明におけるリポジトリ管理システムは、それぞれが提供する機能についての情報を含む１以上の第１のテンプレートと、前記第１のテンプレートの識別子と、前記第１のテンプレートの一部を変更した１以上の第２のテンプレートの識別子とを対応づけた第１の情報と、前記第１及び第２のテンプレートの各々に基づき構築されたシステムが達成した非機能要件の指標を含む第２の情報とを格納する記憶部と、機能要件及び非機能要件の指標を含むリクエストを受信し、前記第１の情報に基づき、前記リクエストの前記機能要件で特定される機能を提供する１以上の前記第１のテンプレートを抽出し、抽出した１以上の前記第１のテンプレートとそれらに対応づけられた１以上の前記第２のテンプレートを含むテンプレートリストを作成し、前記第２の情報に基づき、前記テンプレートリストに含まれる各テンプレートについて、前記各テンプレートに基づき構築されたシステムが前記リクエストの前記非機能要件の指標をどの程度満たしているかを示す非機能要件達成度を算出し、前記テンプレートリストと前記各テンプレートの非機能要件達成度とを出力する検索部とを備える。
【発明の効果】
【０００９】
本発明により、検索条件に含まれる要件を満足するテンプレートのみでなく、変更によって要件を満足する可能性のあるテンプレートも提示することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明のシステム構成および機能ブロックを示す図である。
【図２】テンプレート情報２０１によって表現されるＩＴシステム構成例である。
【図３】テンプレート情報２０１を示す図である。
【図４】カスタマイズ情報２０２を示す図である。
【図５】実績情報２０３を示す図である。
【図６】ＩＴシステムの要件７１０を示す図である。
【図７】仮想マシンテンプレート情報を示す図である。
【図８】テンプレート検索画面１０００を示す図である。
【図９】修正システムテンプレートリスト画面２０００を示す図である。
【図１０】推奨修正点表示画面４０００を示す図である。
【図１１】検索部１０１によるテンプレート検索処理フローを示す図である。
【図１２】要件達成度計算処理のフローを示す図である。
【図１３】第一の実施例における推奨修正点分析処理のフローを示す図である。
【図１４】実績生成・登録処理のフローを示す図である。
【図１５】要件変更実績値と修正実績値の表を示す図である。
【図１６】第二の実施例における推奨修正点分析処理のフローを示す図である。
【発明を実施するための形態】
【実施例１】
【００１１】
図１は、本発明の一実施例のシステム構成を示す図である。本実施例のシステム構成は、情報処理システムである。例えば、１つのリポジトリ管理計算機１と、1つのコンフィギュレータ計算機４と、クラウド基盤３から成る。クラウド基盤３は、１つ以上の物理計算機２０と、１つ以上のネットワーク装置４０と１つ以上のストレージ装置３０と備えて構成されている。そして、管理計算機１、コンフィギュレータ計算機４と、管理対象システム３は管理ネットワーク２経由で接続している。また、クラウド基盤中の物理計算機２０とストレージ装置３０は、例えばファイバチャネルネットワークで接続している。
【００１２】
管理計算機１は、ＣＰＵ１２と、通信Ｉ／Ｆ１３と、記憶資源１１とを備えており、記憶資源１１には、管理プログラム１００と、テンプレート情報２００と、参照情報３００とが格納されている。テンプレート情報２００には、テンプレート２０１と、カスタマイズ情報２０２と、テンプレートの案件への適用実績を示す実績情報２０３と、ＩＴシステム要件７１０とが格納されている。テンプレート２０１は、システム構成の定義であるシステムテンプレートと、システムの運用手順である運用テンプレートから成る。本発明では、システムテンプレートの再利用を対象としており、以降では単にテンプレートとはシステムテンプレートを指すものとする。参照情報３００には、クラウド基盤情報３０１が格納されている。クラウド基盤情報は、図７に示すクラウド基盤ごとの仮想マシンテンプレート情報８１０を含んでいる。当該コンフィギュレータ５００は、当該クラウド基盤情報３０１に登録されているクラウド基盤の上にＩＴシステムを構築する。そして、管理プログラム１００は、検索部１０１、分析部１０２、テンプレート登録部１０３、実績登録部１０４から成る。
【００１３】
一方、コンフィギュレータ計算機４は、管理計算機１と同様にＣＰＵ１２と、通信Ｉ／Ｆ１３と、記憶資源１１とを備えており、記憶資源には、コンフィギュレータプログラム５００が格納されている。そして、当該コンフィギュレータプログラム５００は、テンプレート登録要求部５０１、テンプレート検索要求部５０２、テンプレート編集部５０３、システム構築部５０４、システムテスト実行部５０５、実績登録要求部５０６から成る。
【００１４】
各構成要素の動作の概要を説明する。まず、管理プログラム１００のテンプレート登録部１０３は、通信Ｉ／Ｆ１３を介してコンフィギュレータ５００からのテンプレート登録要求を受け付け、テンプレートを記憶資源１１のサービステンプレート２０１に登録する。
【００１５】
次に利用者がコンフィギュレータ５００を用いてテンプレートを検索する。検索部１０１は、通信Ｉ／Ｆ１３を介してコンフィギュレータ５００からのテンプレート検索要求を受け付け、検索条件に含まれる目標要件に基づき、該当するテンプレートリストを通信Ｉ／Ｆ１３を介してコンフィギュレータ５００へ返す。この時に検索部１０１は、サービステンプレート２０１およびカスタマイズ情報２０２を参照して、要件を満たすテンプレートだけでなく、内容を修正することによって要件を満たす可能性があるテンプレートもコンフィギュレータ５００へ返す。また、分析部１０２は、要件と変更点との相関を計算し、目標要件の達成に与える影響が大きいと推測される項目、つまり要件の達成のために変更すべき項目を提示する。
【００１６】
コンフィギュレータ５００のテンプレート検索要求部５０２は、管理プログラム１００からテンプレートリストを受け取る。そして、利用者は要件達成度が高いテンプレートを選択し、必要に応じ、テンプレート編集部５０３を用いてテンプレートを修正し、システム構築部５０４により選択したテンプレートに基づいてＩＴシステム構築を実行する。次に、利用者は、構築したシステムに対してシステムテスト部５０５を用いて、テストを実行し、実績登録要求部５０６を用いて適用したテンプレート、テンプレートを適用した案件のＩＤ、テスト結果を含む実績情報登録要求を、通信Ｉ／Ｆ１３を介して管理プログラム１００に送信する。
【００１７】
実績登録部１０４は、通信Ｉ／Ｆ１３を介してコンフィギュレータ５００からの実績情報登録要求を受け付け、テンプレートを適用した案件のＩＤや、実施した修正内容、達成した要件などを実績情報２０３として記憶資源１１に登録する。
【００１８】
以上の処理により、テンプレートの修正内容、達成要件がテンプレートの付属情報として利用可能になり、クラウド基盤上にシステムを構築するＳＥは、これらの付属情報を用いて構築対象システムの要件に近いテンプレートを検索することができるようになる。その結果、より適したテンプレートを用いてシステムを構築することができ、迅速かつ効率的なシステム構築を行うことができる。
【００１９】
次に、図２から図７を用いて記憶資源１１に格納された情報について説明する。図２は、テンプレート情報２００のテンプレート２０１によって表現されるＩＴシステム構成６００の例を示している。テンプレート２０１は、システムの構成要素であるノードテンプレート２１１および接続関係テンプレート２１５を含む。前記ノードテンプレート２１１は、前記接続関係テンプレート２１５によって接続されている。各ノードテンプレートは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、ミドルウェア、アプリケーションなどのコンポーネント２１２からなる。これらのコンポーネントも接続関係テンプレート２１５により接続が定義される。前記コンポーネント２１２は、アーティファクト２１３および設定パラメータ３１４から構成される。ここで、アーティファクト２１３はＯＳやミドルウェア等の実装を指定する情報であり、設定パラメータはＯＳやミドルウェア等の設定の中で、ＩＰアドレスなどデプロイ時に決定しなければならない項目とその値を指定するものである。
【００２０】
この例では、ロードバランサーと、ウェブサーバおよびアプリケーションサーバとして機能する２台のサーバと、データベースサーバが構成要素として定義されている。当該システムテンプレート情報２１０は、過去のＩＴシステム構築事例に基づいて、リポジトリ管理者により事前に登録された情報であり、ＩＰアドレスやホスト名などのようにシステム構築時に決定すべき設定情報は含まれていない。利用者は、このテンプレート情報を元に、ＩＰアドレスなどの設定情報をパラメータとして追加し、必要に応じてサーバ台数やパラメータ値の変更を行い、システムを構築する。特に、同じ機能を実現する案件であっても、システムを利用する顧客企業の規模や業種によって、要求される可用性、性能等の非機能要件は異なるため、構築時には要件にあったシステムのサイジングを行うことが必要になる。このシステムのサイジングとして行われるカスタマイズ作業は、一般にクラスタ構成をとるサーバ台数の増減、サーバスペックの変更、処理性能を向上させるコンポーネントの追加・削除、そして、追加したリソースを活用するための設定パラメータの変更である。
【００２１】
図３は、リポジトリに格納されるテンプレート２０１を示している。テンプレート２０１は、図３（ａ）示すシステムテンプレート情報２１０と、図３（ｂ）に示す接続関係テンプレート２１５と、図３（ｃ）に示すノードテンプレート２１１とを含む。図３（ａ）に示すシステムテンプレート情報２１０は、システムテンプレートＩＤ３１１、単独でインスタンス化できる基本テンプレートか、基本テンプレートと組み合わせて利用するオプションテンプレートかを示す種別３１２、テンプレートが提供する機能を示す機能要件３１３、システムテンプレートの構成要素である一つ以上のノードテンプレートＩＤ３１４、および一つ以上の接続関係テンプレートＩＤ３１５から成る。なお、機能要件３１３には、１機能だけでなく、複数の機能が設定されていてもよい。
【００２２】
図３（ｃ）に示すノードテンプレート２１１は、ノードテンプレートＩＤ３３１に加えて、ノードを構成するコンポーネント識別子３３２から成る。図３では、コンポーネント識別子３３２としては、仮想マシンタイプ３３３、ＯＳの種別やバージョンを示す識別子３３４、ミドルウェア、アプリケーションなどのコンポーネントの種別やバージョンを示す識別子３３４がある。
【００２３】
図３（ｂ）に示す接続関係テンプレート２１５は、接続関係テンプレートID３２１、接続関係の始点となるノードを示す始点ノード３２２、接続関係の終点ノード３２３、接続関係の種別を示すタイプ３２４から成る。ここで、接続関係の種別とは、あるノード上のＯＳ、アプリケーションまたはミドルウェアが他のノードに対して通信することを意味するＣｏｎｎｅｃｔｓＴｏや、あるノードのＯＳやミドルウェアコンポーネント上に他のミドルウェアやアプリケーションが稼働することを示すＨｏｓｔｅｄＯｎなどがある。このようなシステムテンプレートの標準記述形式としては、ＴＯＳＣＡ（Ｔｏｐｏｌｏｇｙ  ａｎｄ  Ｏｒｃｈｅｓｔｒａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｆｏｒ  Ｃｌｏｕｄ  Ａｐｐｌｉｃａｔｉｏｎｓ）がある。
【００２４】
図３ではシステムテンプレートの例としてＷｅｂシステムの例を記載しているが、これに限定されず、例えば業務用アプリケーションまで含むシステムテンプレート（例えば、ＥＲＰシステム）や、ミドルウェアまでを含む仮想マシンのテンプレート（例えば、ＤＢサーバ）や、用途別仮想マシン（例えば、高速計算処理用仮想マシン）などであってもよい。また、キャッシュサーバやディレクトリサーバ、または監視サーバなどのように、他のアプリケーションやミドルウェアと組み合わせて構築されることにより、共有メモリ空間やユーザー情報提供サービスまたは監視サービスなどのオプション機能を提供するものであっても良い。
【００２５】
図４は、システムテンプレート情報のカスタマイズ情報２０２を示している。カスタマイズ情報２０２は、図４（ａ）に示すテンプレートファミリ情報５１０と図４（ｂ）に示す修正システムテンプレート情報５２０とを含む。
【００２６】
図４（ａ）に示すように、テンプレートファミリ情報５１０はデフォルトシステムテンプレートＩＤ５１１と、カスタマイズした修正内容である修正システムテンプレートＩＤ５１２から成る。修正システムテンプレートＩＤ５１２は修正システムテンプレート情報５２０を指しており、複数存在しても良い。本実施例では、前記カスタマイズ情報２０２にて定義されているデフォルトシステムテンプレートと修正システムテンプレートをまとめてテンプレートファミリと呼ぶ。
【００２７】
修正システムテンプレート情報５２０は、図４（ｂ）に示すように、変更点ＩＤ５２１、変更目的５２２、追加、削除、変更のいずれかを示す変更種別５２３、変更対象コンポーネントの種別を示すターゲットタイプ５２４、ターゲットＩＤ５２５、修正後のコンポーネントを示す修正後ターゲット情報５２６から成る。ターゲットＩＤ５２５は、変更対象コンポーネントを特定するための情報であり、ノードまたは接続関係のＩＤに加えて、前記ターゲットタイプがアーティファクトやパラメータの場合はコンポーネント識別子が、パラメータの場合にはファイル名が記録されている。なお、カスタマイズ情報２０２の作成方法については、図１４を用いて後述する。
【００２８】
図５は、テンプレートの実案件への適用事例を示す実績情報２０３である。実績情報２０３は、実績ＩＤ６１２、適用した案件の識別子である案件ＩＤ６１３、適用時に利用したクラウド基盤ＩＤ６１４、適用したシステムテンプレートＩＤ６１２、およびシステムテンプレートの変更内容を示すカスタマイズ情報の識別子である修正システムテンプレートＩＤ６１３、適用したオプションシステムテンプレートＩＤ６１４、当該案件において達成した要件を示す達成要件ＩＤ６１５から成る。修正システムテンプレートＩＤ６１３は、システムテンプレートをカスタマイズして適用した場合に限り記録される。なお、テンプレートを適用したシステム構築案件の識別子である案件ＩＤは、別途案件情報データベースで管理されているものとし、案件ＩＤとテンプレートとを紐づけて管理することにより、テンプレートを適用した案件の顧客名や構築実施時期、システム構築の目的などが参照できるものとする。
【００２９】
図６は、ＩＴシステムの要件７１０を示す。要件７１０は、要件項目の識別子である要件項目ＩＤ７１１、各項目が基本機能要件であるか、オプション機能要件であるか、非機能要件であるかを示す要件種別７１２、要件項目７１３、要件の達成すべき値である目標値７１４から成る。ここでは、顧客情報の抽出や購買分析などの特定の目的のために提供される機能を基本機能要件とし、バックアップや監視サービスなど基本機能の維持や管理に必要な機能をオプション機能要件とする。当該要件７１０は、テンプレート検索時の検索条件として、コンフィギュレータ計算機からリポジトリ計算機に与えられる。また、システム構築案件において達成した要件もおなじ形式で登録される。
【００３０】
図７は、仮想マシンテンプレート情報８１１である。仮想マシンテンプレート情報８１０は、仮想マシンテンプレートの識別子である仮想マシンテンプレートＩＤ８１１、ＣＰＵコア数８１２、メモリ量８１３、ディスク容量８１４、ディスク種別８１４から成る。利用可能な仮想マシンの種類は活用するクラウド基盤によって異なる。仮想マシンテンプレート情報８１１は、活用するクラウド基盤によって提供される情報である。
【００３１】
以下に管理プログラムによる各種処理のフローを説明する。図８は、本発明の第一の実施例におけるテンプレート検索画面１０００を示した図である。テンプレート検索画面１０００は、コンフィギュレータ５００が提供するテンプレート検索のためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）である。利用者は、当該テンプレート検索画面に対して、検索条件として基本機能要件１０１０、非機能要件１０１１を入力する。コンフィギュレータ５００は、入力された情報から検索条件として図７に示す要件情報７１０を生成し、リポジトリ管理プログラム１００へ送信する。ここで、その他のテンプレート検索条件として使用予定のアプリケーションやミドルウェアの名称や、テンプレート登録時期、実績として関連付けられている案件の名称などを入れてもよい。
【００３２】
リポジトリ管理プログラム１００は、この要件情報７１０を受け取り、要件を満たすテンプレートをテンプレート情報２００から検索して回答テンプレートリストを作成し、コンフィギュレータ５００に返信する。コンフィギュレータ５００は、検索結果として返された回答テンプレートリストをテンプレート検索画面１０００に表示する。
【００３３】
回答テンプレートリストに含まれる各テンプレートは、システムテンプレート情報２１０、実績情報６１０を含み、更に、デフォルト非機能要件達成度１０２２、修正後非機能要件達成度１０２３を属性として持つ。デフォルト非機能要件達成度１０２２は、検索条件として与えられた要件に対する、デフォルトテンプレートの目標値の達成度合いである。修正後非機能要件達成度１０２２は、検索条件として与えられた要件数に対する、修正されたテンプレートの目標値の達成度合いである。この修正後非機能要件達成度１０２２により、カスタマイズされたテンプレートを用いることで要件を達成できるか判断することができる。本画面で表示する情報の作成方法は、図１４および図１３で詳細を説明する。
【００３４】
図９は、テンプレート検索画面１０００において、任意のデフォルトテンプレートを選択し、詳細表示ボタンを押下した場合に表示される修正システムテンプレート一覧画面２０００である。修正システムテンプレート一覧画面２０００では、デフォルトテンプレートおよび修正システムテンプレートについて、修正点サマリ２０１１と、検索条件として与えられた一つ以上の非機能要件に対する要件達成度２０１２と、それら要件達成度２０１２の平均値である要件達成度平均値２０１３とを表示する。さらに、要件達成値レンジ２０２１では、利用者が画面上で選択した要件２０２２について、既存のデフォルトテンプレートおよび修正システムテンプレートによる達成値の範囲を表示する。なお、複数の修正システムテンプレートを表示する場合、要件達成度の高いものから順に表示するとしてもよい。
【００３５】
修正点サマリ２０１１により、利用者は、デフォルトのシステムテンプレートとの乖離の大きさや修正システムテンプレートの修正量を推測することが可能になり、変更の作業量を抑えたい場合には修正量の小さいものを選択することができる。
【００３６】
さらに、要件達成度２０１２、および要件達成度平均値２０１３、要件達成値グラフ２０２１によって、利用者は、各修正システムテンプレートがそれぞれの非機能要件をどの程度まで達成しているか、どのテンプレートが実現したい要件に近いかを確認することが可能になるため、適切なテンプレートを選択することが可能になる。
【００３７】
また、適用事例数２０１４により、テンプレートファミリの中で各テンプレートの適用件数が分かるため、利用者は適用事例数が多いものをより実績のあるシステムテンプレートと考えて選択することが可能になる。本画面で表示する情報の作成方法は、図１１および図１２で詳細を説明する。
【００３８】
図１０は、修正システムテンプレート一覧画面２０００において、推奨修正点ボタンを押下した場合に表示される推奨修正点表示画面４０００である。当該画面は、検索条件として与えられた達成要件情報７１０に含まれる非機能要件について、当該非機能要件に影響を与える修正点を実績情報に基づき特定し、特定した修正点を推奨修正点４０１０として表示する。また、当該非機能要件と各修正点との相関係数を、要件と修正点との関連の強さ４０１１として表示する。当該関連の強さ４０１１は―１．０から１．０の範囲の値を取り、１．０に近い程正の相関が高く、―１．０に近い程負の相関が強い。０に近い場合は相関が弱いことを示す。利用者は、この要件と修正点との関連の強さ４０１１を参照し、１．０または―１．０に近い修正点が当該要件の達成度を変更する場合に修正すべき箇所であると判断することができる。
【００３９】
さらに、推奨修正点表示画面４０００では、各修正点同士の相関係数４０１２を表示する。相関係数４０１２は、―１．０から１．０の範囲の値を取り、１．０に近い程正の相関が高く、―１．０に近い程負の相関が高い。０に近い場合は相関が少ないことを示す。利用者は、修正点同士の相関係数４０１２を参照し、任意の修正点に対して高い相関係数を持つ他の修正点がどれかを知ることができる。高い相関を持つ修正点は同時に修正されることが多いものである。本画面で表示する情報の作成方法は、図１３で詳細を説明する。
【００４０】
図１１は、管理プログラム１００の検索部１０１によるテンプレート検索処理を示した図である。以下、フローに沿って説明する。
【００４１】
まず、管理プログラム１００の検索部１０１は、コンフィギュレータ５００から送信された検索要求を受信し、検索要求から機能要件および非機能要件を含む目標要件を取得する（Ｓ１０１）。ここで、目標要件は図６に示すＩＴシステムの要件７１０の形式である。なお、当該検索要求は、目標要件に加えて使用したいアプリケーションの名称や利用したいクラウドサービスの名称、または達成したい要件などのキーワードを含んでいても良い。次に、検索部１０１は、カスタマイズ情報２０２を参照し、各テンプレートファミリに対してＳ１０３からＳ１１０までの処理を実施する（Ｓ１０２）。まず、検索部１０１は、システムテンプレート情報２１０を参照し、各テンプレートが目標要件中の機能要件を満たすか否か確認する（Ｓ１０３）。機能要件を満たすか否かは、目標要件中の機能要件項目と一致する項目が機能要件３１３に存在するか否かで判断する。ここで一つでも満たさない機能要件がある場合には当該テンプレートは対象外となり、次のテンプレートの処理に移る。Ｓ１０３において、全ての目標要件中の機能要件を満たす場合には、検索部１０１は前記目標要件のオプション機能項目に基づいてオプション機能テンプレートを選択する（Ｓ１０４）。ここで、検索部１０１は、最低一つの機能要件を満たすテンプレートを処理対象とし、一つも満たさないテンプレートに限り対象外としても良い。または、当該検索要求が目標要件に加えて使用したいアプリケーションの名称や利用したいクラウドサービスの名称などのキーワードを含んでいる場合には、コンポーネントのアーティファクト名称からテンプレートを検索しても良い。
【００４２】
続いて、検索部１０１は、カスタマイズ情報２０２を参照し、現在処理対象のテンプレートと、その修正システムテンプレートを処理対象テンプレートファミリとして、Ｓ１０６からＳ１０７に示す処理を実行する（Ｓ１０５）。検索部１０１は、処理対象テンプレートファミリ中の各テンプレートについて非機能要件達成度を計算する（Ｓ１０６）。この処理の詳細は図１２にて説明する。検索部１０１は、処理対象のテンプレートとそのテンプレートについて算出した非機能要件達成度とを回答テンプレートリストに入れる（Ｓ１０７）。そして、テンプレートファミリの属性情報として、デフォルト非機能要件達成度、修正後非機能要件達成度、修正システムテンプレート数、適用事例数を計算する（Ｓ１０９）。デフォルト非機能要件達成度は、Ｓ１０６において求めたデフォルトテンプレートの各要件達成度の平均値とし、修正後非機能要件達成度はテンプレートファミリに属する各テンプレートの各要件達成度の平均値中の最大値とする。また、カスタマイズ情報２０２を参照し、処理中の当該デフォルトテンプレートＩＤに対する修正システムテンプレートＩＤの個数を修正システムテンプレート数とし、事例情報２０３を参照して処理中の当該デフォルトテンプレートＩＤをデフォルトシステムテンプレートＩＤとして持つ実績エントリ数を適用事例数とする。以上の処理によって、テンプレートファミリ情報および回答テンプレートリストが生成される。
【００４３】
さらに、検索部１０１は、分析部１０２を呼出し、目標要件中の非機能要件の達成度を高めるために修正すべき箇所である推奨修正ポイント情報を生成する（Ｓ１１０）。この処理の詳細は図１３にて説明する。
【００４４】
最後に、検索部１０１は、テンプレートファミリ情報、回答テンプレートリスト、推奨修正点を検索結果としてコンフィギュレータ５００に返す（Ｓ１１２）。なお、検索要求で指定された機能要件を満たすデフォルトシステムテンプレートが複数存在する場合には、検索部１０１は、複数個の検索結果をコンフィギュレータ５００に返す。
【００４５】
図１２は、管理プログラム１００の検索部１０１による要件達成度計算処理を示した図である。以下、フローに沿って説明する。検索部１０１は、目標要件に含まれる非機能要件の各項目についてＳ２０２に示す処理を実行する（Ｓ２０１）。まず、検索部１０１は、実績情報２０３を参照して、当該テンプレートの各非機能要件に対する達成度を求める。達成度は、目標値に対する達成値の近さであり、要件固有の計算式によって求める。値の範囲は０から１．０である。例えば、稼働率であれば、「達成度＝達成値/目標値」という計算式を用いる。また、同一テンプレートについて複数の適用実績がある場合には、最も高い値を達成度として選択する。
【００４６】
次に、検索部１０１は、各非機能要件の達成値の平均値を計算し、この値を当該テンプレートの非機能要件達成度とする（Ｓ２０４）。さらに、検索部１０１は、カスタマイズ情報２０２を参照して、処理対象のテンプレートがデフォルトテンプレートテンプレートであるか判断し（Ｓ２０５）、修正システムテンプレートである場合には、カスタマイズ情報２０２の修正システムテンプレート５２０を参照して、変更対象の種類ごとに変更箇所数をカウントし修正点サマリ情報を生成する（Ｓ２０６）。この修正点サマリは実績情報の登録時に実績登録部が生成し、実績情報２０３中に保持しておいてもよい。最後に、検索部１０１は、実績情報２０３を参照して、修正システムテンプレートＩＤ６１３が、処理対象の修正システムテンプレートのＩＤである適用実績のエントリ数をカウントし、修正システムテンプレートの適用実績数とする。また、デフォルトテンプレートＩＤ６１２が、処理対象のデフォルトテンプレートのＩＤであり、修正システムテンプレートＩＤが空欄である適用実績のエントリ数をカウントし、デフォルトテンプレートの適用実績数とする（Ｓ２０７）。
【００４７】
図１３は、管理プログラムによる推奨修正点分析処理を示した図である。以下、フローに沿って説明する。分析部１０２は、テンプレートファミリごとに、回答テンプレートリストに含まれる各テンプレートファミリを対象として、検索条件として与えられた目標要件に含まれる非機能要件の各項目について、Ｓ５０２からＳ５０４に示す処理を実行する（Ｓ５０１）。まず、分析部１０１は、当該テンプレート群における修正点の和集合となる修正点リストを作成する（Ｓ５０２）。当該修正点リストに入れる修正点は、パラメータ変更、同一機能を有するノード数の変更、仮想マシンの変更、オプションテンプレートの組合せとする。
【００４８】
次に、検索条件として与えられた目標要件に含まれる各非機能要件について、要件の変更の有無を示す要件変更実績値と各修正点の修正有無を示す修正実績値との相関係数を計算する（Ｓ５０３）。更に、各修正点の修正実績相互の相関係数を計算する（Ｓ５０４）。
【００４９】
具体的には、まず、図１５に示す要件変更実績値と修正実績値の表を作成する。ここで、任意の非機能要件について、各修正テンプレートの達成値がデフォルトテンプレートの達成値と比較して±10％以上変更されていた場合に要件変更実績値（ｙ）＝１、それ以外の場合に要件変更実績値（ｙ）＝０とする。変更実績の判定方法は要件ごとに他の規則を規定してもよい。また、任意の修正点について、修正システムテンプレートが前記修正点の和集合に含まれる任意の修正点を修正していた場合には、当該修正点に対する修正実績値（ｘ）＝１、修正していない場合には修正実績値（ｘ）＝０とする。図１５では、非機能要件１の要件変更実績値ｘ１と修正点１〜３の修正実績値ｙ１、ｙ２、ｙ３の例を示している。そして、この表に基づき、要件達成値と修正実績値との相関係数、複数の修正点の修正実績値間の相関係数を求める。図１５の例では、ｘ１とｙ１〜ｙ３の各々との相関係数、ｙ１〜ｙ３の間の相関係数を算出する。
【００５０】
Ｓ５０３およびＳ５０４の処理により、図１０示す推奨修正点表示画面４０００における要件と修正点との関連の強さ４０１１、および各修正点同士の相関係数４０１２が得られる。分析部１０２は、上記の処理によって、検索要求に含まれる各非機能要件について、要件と修正点との関連の強さ４０１１、および各修正点同士の相関係数４０１２から成る推奨修正ポイント情報を生成する。
【００５１】
図１４は、コンフィギュレータ５００による実績情報生成・登録処理を示した図である。コンフィギュレータ５００のテンプレート検索要求部５０２は、リポジトリ管理プログラム１００からテンプレートリストを受け取る。そして、利用者は修正システムテンプレート一覧画面２０００において、要件達成度が高いテンプレートを選択する（Ｓ４０１）。
【００５２】
次に、利用者は、必要に応じて、テンプレート編集部５０３を用いてテンプレートを修正する（Ｓ４０２）。このテンプレート編集部５０３は、図２に示すようなシステムテンプレート情報を画面に表示し、編集と編集内容の差分記録を可能にするものである。利用者は、推奨修正点表示画面４０００を参考にしてテンプレートを編集する。例えば、同時接続ユーザー数を増加させる場合には、図１０に示すように、推奨修正点表示画面４０００に、３点の適用実績における修正点が表示されるが、これらのうち、要件との相関係数が高いものを選択する。また、修正点同士の相関係数が高いものは同時に修正されることが多いものであるため、利用者はそれらを修正の要否を確認することで必要な修正点を網羅することができる。
【００５３】
一方、テンプレート編集機能５０３は、編集したシステムテンプレートの保存時に、編集内容を元のテンプレートに反映させるのではなく差分として管理する。この結果、図４に示す修正システムテンプレート情報５２０が生成される。具体的には、ノードや接続関係、コンポーネントに対する削除、追加、変更などの作業内容を変更種別５２３として記録し、変更対象のノードや接続関係、コンポーネントの種別をターゲットタイプ５２４、それらの識別子をターゲットＩＤ５２５、変更後のノードや接続関係のＩＤ、コンポーネントのアーティファクト、パラメータを修正後ターゲット情報５２６として記録する。編集対象が設定パラメータである場合には、必要に応じてターゲットＩＤ２５２に設定ファイル名、修正後ターゲット情報には設定パラメータ名と修正後の設定値を記録する。また、各修正点について、なぜそのような変更を行ったかを変更目的５２２として登録するＩ／Ｆを提供し、利用者が理由を入力することで、修正システムテンプレートの再利用時に参考にすることができる。
【００５４】
続いて、利用者は、システム構築部５０４により選択したテンプレートに基づいてＩＴシステム構築を実行する（Ｓ４０３）。ここで、システム構築部５０４は構築作業を実行しても良いし、クラウド基盤３上の構築実行基盤に構築実行を指示し、結果を受け取っても良い。さらに、利用者は、構築したシステムに対してシステムテスト部５０５を用いて、テストを実行し、目標とする要件が達成されているかを確認する（Ｓ４０４）。テスト実行においても、システムテスト部５０５はテストを実行しても良いし、クラウド基盤３上の構築実行基盤にテスト実行を指示し、結果を受け取っても良い。最後に、利用者は、実績登録要求部５０６を用いて、適用したテンプレートのＩＤ、修正システムテンプレート、達成要件であるテスト結果、および案件ＩＤを含む実績情報をリポジトリに登録する（Ｓ４０５）。
【００５５】
実績登録部１０４はコンフィギュレータ計算機４からの実績情報登録要求を受け付け、テンプレートを適用した案件のIDや、実施した修正内容、達成した要件などを実績情報２０３として記憶資源１１に登録する。
【００５６】
本実施例により、テンプレートの修正内容、達成要件がテンプレートの付属情報として利用可能になり、クラウド基盤上にシステムを構築するＳＥは、これらの付属情報を用いて構築対象システムの要件に近いテンプレートを検索することができるようになる。その結果、より適したテンプレートを用いてシステムを構築することができ、迅速かつ効率的なシステム構築を行うことができる。
【実施例２】
【００５７】
本発明の第二の実施例では、コンフィギュレータ５００が発行するテンプレート検索要求が、基本機能要件とオプション機能要件を含んでおり、利用者が回答テンプレートリスト中の基本テンプレートとオプションテンプレートを組み合わせる場合には、選択された基本テンプレートとオプションテンプレートとの組合せの過去の適用事例を含む回答テンプレートリストおよび、各テンプレートの推奨修正点が表示される。
【００５８】
図１６は、第二の実施例における管理プログラムによる推奨修正点分析処理を示す図である。以下、フローに沿って説明する。分析部１０２は、基本機能要件を満たすテンプレートと、オプション機能を満たすオプションテンプレートとを組み合わせて適用した事例を、実績情報２０３を参照して選択し（Ｓ６０１）、それらおける修正点の和集合を、基本テンプレートおよびオプションテンプレートそれぞれについて求める（Ｓ６０２）。
【００５９】
次に、基本テンプレートについて、各修正点相互の相関係数を計算する（Ｓ６０３）。さらに、およびオプションテンプレートについて、各修正点相互の相関係数を計算する（Ｓ６０４）。相関係数の求め方は第一の実施例と同様である。
【００６０】
これにより、任意の基本テンプレートと、任意のオプションテンプレートとを組み合わせて利用する場合に、実施すべき修正点の候補および候補となる修正点相互の関係が得られる。
【００６１】
本実施例により、任意の基本テンプレートと、任意のオプションテンプレートとを組み合わせて利用するために必要となるテンプレートの修正内容が、テンプレートの付属情報として利用可能になる。その結果、ユーザーが修正すべき点をより迅速に発見することができ、迅速かつ効率的なシステム構築を行うことができる。
【符号の説明】
【００６２】
１・・・管理計算機  ２・・・ネットワーク  ３・・・管理対象システム  １００・・・管理プログラム  ４・・・コンフィギュレータ計算機
【図１】
2016143363.tif 000003
【図２】
2016143363.tif 000004
【図３】
2016143363.tif 000005
【図４】
2016143363.tif 000006
【図５】
2016143363.tif 000007
【図６】
2016143363.tif 000008
【図７】
2016143363.tif 000009
【図８】
2016143363.tif 000010
【図９】
2016143363.tif 000011
【図１０】
2016143363.tif 000012
【図１１】
2016143363.tif 000013
【図１２】
2016143363.tif 000014
【図１３】
2016143363.tif 000015
【図１４】
2016143363.tif 000016
【図１５】
2016143363.tif 000017
【図１６】
2016143363.tif 000018