(57)【要約】【課題】複数データセンタにまたがる情報システムにおいて、要件を満たした最適なシステム構成案を生成する。【解決手段】複数データセンタに跨ったシステム設計のベストプラクティスを、予めクラウドデザインパターン集として登録しておく。利用者が入力したシステム構成情報に対し妥当性の評価を行う。妥当性評価において問題が判明した場合には、デザインパターンを検索し、問題解決が可能かどうかを判定する。問題解決できるデザインパターンが見つかった場合には、デザインパターンを適用することでシステム構成の最適化を行い、その結果を利用者に提示する。【選択図】図６
2015125701.tif 000002
【特許請求の範囲】
【請求項１】
入力された複数のデータセンタにまたがるシステム構成情報に対する妥当性の評価を行うステップと、
前記評価を行うステップにおいて問題があると判定された場合に、予め登録されたデザインパターンを適用するステップと、
システム構成案を生成するステップと、を含むシステム構成案生成方法であって、
前記システム構成情報は、システムを構成するサーバ情報と、サーバ間通信情報と、通信に関する要件と、を含み、
前記デザインパターンは、パターンを適用可能な条件と、パターンを適用するために必要となる処理内容とを含み、
前記評価を行うステップにおいて、前記データセンタをまたがる通信が、前記システム構成情報に含まれる要件を満たすかどうかを判定し、
前記デザインパターンを適用するステップにおいて、前記システム構成情報に対する妥当性評価の処理において要件を満たさないと判定された場合、前記予め登録されたデザインパターンの中から適用可能なデザインパターンを検索し、前記適用可能なデザインパターンに含まれる処理内容を実施することを特徴とするシステム構成案生成方法。
【請求項２】
請求項１に記載のシステム構成案生成方法であって、
前記サーバ情報には、当該サーバをデプロイするデータセンタの情報を含み、
前記評価を行うステップにおいて、前記サーバ情報と前記サーバをデプロイするデータセンタの情報とに基づいて、当該通信がデータセンタをまたがったものであるかどうかを判定することを特徴とするシステム構成案生成方法。
【請求項３】
請求項１に記載のシステム構成案生成方法であって、
前記通信に関する要件として、通信に関する性能要件を含み、
前記処理内容として、サーバの複製を作成する処理を含むことを特徴とするシステム構成案生成方法。
【請求項４】
入力された複数のデータセンタにまたがるシステム構成情報に対する妥当性の評価を行い、前記システム構成情報に問題があると判定したとき、予め登録されたデザインパターンを適用し、システム構成案を生成するシステムの設計支援装置であって、
前記システム構成情報は、システムを構成するサーバ情報と、サーバ間通信情報と、通信に関する要件と、を含み、
前記デザインパターンは、パターンを適用可能な条件と、パターンを適用するために必要となる処理内容とを含み、
前記評価において、前記データセンタをまたがる通信が、前記システム構成情報に含まれる要件を満たすかどうかを判定し、
前記デザインパターンの適用において、前記システム構成情報に対する妥当性評価の処理において要件を満たさないと判定された場合、前記予め登録されたデザインパターンの中から適用可能なデザインパターンを検索し、前記適用可能なデザインパターンに含まれる処理内容を実施することを特徴とする設計支援装置。
【請求項５】
請求項４に記載の設計支援装置であって、
前記サーバ情報には、当該サーバをデプロイするデータセンタの情報を含み、
前記評価を行うとき、前記サーバ情報と前記サーバをデプロイするデータセンタの情報とに基づいて、当該通信がデータセンタをまたがったものであるかどうかを判定することを特徴とする設計支援装置。
【請求項６】
請求項４に記載の設計支援装置であって、
前記通信に関する要件として、通信に関する性能要件を含み、
前記処理内容として、サーバの複製を作成する処理を含むことを特徴とする設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム構成案生成方法および設計支援装置に係り、特に複数のクラウドまたは複数のデータセンタをまたがったサーバシステムに関するシステム構成案生成方法および設計支援装置に関する。
【背景技術】
【０００２】
情報システムを構築する際にクラウドサービスを利用するケースが増えている。クラウドサービスとは、クラウド事業者が所有するサーバなどのコンピューティングリソースを、サービスとして提供したものである。クラウドサービスを利用することで、利用者はコンピューティングリソースを所有する必要がなく、インターネットなどのネットワークを介してコンピューティングリソースを利用することができる。
【０００３】
近年、特徴の異なる様々なクラウドサービスが提供されており、これらのクラウドサービスを適材適所に使い分けることが重要となっている。特許文献１では、利用者の要件に応じて適切なクラウドサービスを選択する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許公開２０１２／０１０２４８６明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
サーバ毎にデプロイ先のクラウドが異なるケースにおいては、特許文献１のようなデプロイ先のクラウドを選択する技術に加えて、複数クラウドに跨ったシステムの構成情報を最適化する必要がある。
【０００６】
本発明では、情報システムが複数のクラウドサービスに跨る場合において、システム構成情報の妥当性を判定し、最適化を行い、適切なシステム構成情報の案を提示することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題は、入力された複数のデータセンタにまたがるシステム構成情報に対する妥当性の評価を行うステップと、評価を行うステップにおいて問題があると判定された場合に、予め登録されたデザインパターンを適用するステップと、システム構成案を生成するステップと、を含むシステム構成案生成方法であって、システム構成情報は、システムを構成するサーバ情報と、サーバ間通信情報と、通信に関する要件と、を含み、デザインパターンは、パターンを適用可能な条件と、パターンを適用するために必要となる処理内容とを含み、評価を行うステップにおいて、データセンタをまたがる通信が、システム構成情報に含まれる要件を満たすかどうかを判定し、デザインパターンを適用するステップにおいて、システム構成情報に対する妥当性評価の処理において要件を満たさないと判定された場合、予め登録されたデザインパターンの中から適用可能なデザインパターンを検索し、適用可能なデザインパターンに含まれる処理内容を実施するシステム構成案生成方法により、達成できる。
【０００８】
また、入力された複数のデータセンタにまたがるシステム構成情報に対する妥当性の評価を行い、システム構成情報に問題があると判定したとき、予め登録されたデザインパターンを適用し、システム構成案を生成するシステムの設計支援装置であって、システム構成情報は、システムを構成するサーバ情報と、サーバ間通信情報と、通信に関する要件と、を含み、デザインパターンは、パターンを適用可能な条件と、パターンを適用するために必要となる処理内容とを含み、評価において、データセンタをまたがる通信が、システム構成情報に含まれる要件を満たすかどうかを判定し、デザインパターンの適用において、システム構成情報に対する妥当性評価の処理において要件を満たさないと判定された場合、予め登録されたデザインパターンの中から適用可能なデザインパターンを検索し、適用可能なデザインパターンに含まれる処理内容を実施する設計支援装置により、達成できる。
【発明の効果】
【０００９】
本発明を実施することで、複数クラウドに跨ったシステム構成の妥当性を検証し、適切なシステム構成への変更が容易になる。
【図面の簡単な説明】
【００１０】
【図１】データセンタシステムの構成を説明するブロック図である。
【図２】システム構成案生成装置の構成を説明するブロック図である。
【図３】システム構成情報を説明する図である。
【図４】システム構成情報に対する妥当性評価の結果を説明する図である。
【図５】デザインパターン集を説明する図である。
【図６】システム構成案の生成処理のフローチャートである。
【図７】システム構成情報の妥当性評価の処理のフローチャートである。
【図８】デザインパターン適用による最適化の処理のフローチャートである。
【図９】最適化処理のフローチャートである。
【図１０】ａｄｄＳｅｒｖｅｒ処理のフローチャートである。
【図１１】ａｄｄＣｏｎｎｅｃｔｉｏｎ処理のフローチャートである。
【図１２】ｒｅｐｌａｃｅＤｅｓｔｉｎａｔｉｏｎＳｅｒｖｅｒ処理のフローチャートである。
【図１３】最適化後のシステム構成情報を説明する図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１を参照して、データセンタシステム５００の構成を説明する。図１において、データセンタシステム５００は、ネットワーク３００と、データセンタ９００と、利用者端末４００と、システム構成案生成装置１００と、を含んで構成されている。データセンタ９００は、区別するときデータセンタ９００−Ａおよびデータセンタ９００−Ｂと表記する。データセンタ９００は、管理サーバ９１０と、仮想サーバ９２０と、ネットワーク機器３００と、を含む。データセンタ９００は、複数の仮想サーバ９２０を含む。複数の仮想サーバ９２０は、区別するとき、仮想サーバ９２０−１、仮想サーバ９２０−２と表記する。
【００１２】
クラウド事業者が所有するサーバなどのコンピューティングリソースは、データセンタ９００に設置される。クラウド事業者は、サーバ９１０などのリソースをサービスとして利用者に提供する。提供するリソースは、仮想サーバ９２０のような仮想化リソースであってもよい。
【００１３】
クラウドサービスを利用してシステムを構築する際、利用者は手元にある端末４００を用い、インターネットなどのネットワーク３００を介してデータセンタ９００ーＡ内の管理サーバ９１０にアクセスする。利用者は、管理サーバ９１０に対して適切なリソース量などを指示する。指示を受けた管理サーバ９１０は、適切なリソース（具体的には、仮想サーバ９２０−１、９２０−２）を利用者に割り当て、利用可能な状態にする。このように、リソースを利用可能な状態とすることをデプロイと呼ぶ。
【００１４】
ここでは、２つの異なるクラウドサービスを利用してシステムを構築する場合を説明する。ここで、クラウドサービスＡ（クラウドＡ）は、データセンタ９００ーＡに設置されるリソースを提供する。一方、クラウドサービスＢ（クラウドＢ）は、データセンタ９００−Ｂに設定されるリソースを提供する。
なお、図１において、システム構成案生成装置１００は、ネットワーク３００に接続されているが、利用者端末４００上に実装してもよいし、管理サーバ９１０上に実装してもよい。
【００１５】
図２を参照して、システム構成案生成装置１００の構成を説明する。なお、システム構成案生成装置１００は、一般的なコンピュータを用いて実現することができる。また、システム構成案生成装置１００は、設計支援装置とも呼ばれる。
【００１６】
図２において、システム構成案生成装置１００は、ＣＰＵ１０１と、メモリ１０２と、入力装置１０３と、出力装置１０４と、通信装置１０５と、記憶装置１０６と、を備える。
【００１７】
入力装置１０３は、キーボード、マウスである。入力装置１０３は、ディスプレイである。通信装置１０５は、ネットワークに接続する。記憶装置１０６は、ハードディスクである。
【００１８】
システム構成案生成装置１００は、通信装置１０５を介して、インターネット、イントラネットを含むネットワーク３００に接続している。記憶装置１０６は、入出力処理部１１１と、制御部１１２と、妥当性評価部１１３と、デザインパターン適用部１１４と、評価対象システム構成集１２１と、評価結果集１２２と、デザインパターン集１２３と、を格納する。これらのうち、入出力処理部１１１、制御部１１２、妥当性評価部１１３、デザインパターン適用部１１４は、プログラムである。システム構成案生成装置１００は、ＣＰＵ１０１が、メモリ１０２上に呼び出されたこれらのプログラムを実行することにより後述する各機能を実現する。
【００１９】
図３を参照して、利用者が入力するシステム構成情報を説明する。図３（ａ）は、サーバ情報３０である。また、図３（ｂ）は、サーバ間通信情報４０である。
図３（ａ）において、サーバ情報３０は、システムを構成するサーバに関する情報である。サーバ情報３０は、各レコードが１つのサーバを表す。サーバ情報３０は、ＩＤフィールド３１と、名前フィールド３２と、利用クラウドフィールド３３と、を含んで構成されている。
ＩＤフィールド３１は、当該サーバを一意に特定するための識別子である。名前フィールド３２は、当該サーバの名前を表す。利用クラウドフィールド３３は、当該サーバをデプロイするクラウドを表す。図３（ａ）において、サーバ情報３０は、ＷｅｂサーバをクラウドＡにデプロイし、ＤＢサーバとＢａｔｃｈサーバをクラウドＢにデプロイすることを表す。
【００２０】
図３（ｂ）において、サーバ間通信情報４０は、サーバ間の通信に関する情報である。サーバ間通信情報４０は、各レコードが１つの通信パターンを表す。サーバ間通信情報４０は、ＩＤフィールド４１と、送信元フィールド４２と、送信先フィールド４３と、種別フィールド４４と、要件フィールド４５と、を含んで構成されている。
【００２１】
ＩＤフィールド４１は、当該通信を一意に特定するための識別子である。送信元フィールド４２は、当該通信における送信元サーバを表す。送信先フィールド４３は、当該通信における送信先サーバを表す。種別フィールド４４は、当該通信の種別を示す。要件フィールド４５は、当該通信に対する要件を表す。
【００２２】
図３（ｂ）において、サーバ間通信情報４０は、ＩＤがＥ０１である通信において、ＷｅｂサーバからＤＢサーバに対してＤＢアクセスを行うことを表す。また当該ＤＢアクセスは読み込み（ｒｅａｄ）処理であり、当該ＤＢアクセスにはリアルタイム性が求められることを表す（要件４５：ＲＥＡＬＴＩＭＥ）。同様に、ＩＤがＥ０２である通信において、ＢａｔｃｈサーバからＤＢサーバに対してＤＢアクセスを行うことを表す。また当該ＤＢアクセスは書き込み（ｗｒｉｔｅ）処理であり、当該ＤＢアクセスにはリアルタイム性が求められることを表す（要件４５：ＲＥＡＬＴＩＭＥ）。
【００２３】
図４を参照して、評価結果集１２２を説明する。図４において、評価結果集１２２は、評価結果テーブル５０を含んで構成されている。評価結果テーブル５０は、システム構成に対する妥当性評価の結果を格納したテーブルである。評価結果テーブル５０は、各レコードドは１つのシステム構成に対する妥当性評価の結果を表す。評価結果テーブル５０は、システム構成フィールド５１と、判定フィールド５２と、対象通信フィールド５３と、未達要件フィールド５４と、を含んで構成されている。
【００２４】
システム構成フィールド５１は、評価対象のシステム構成情報のＩＤを格納する。判定フィールド５２は、評価結果に基づきＯＫやＮＧなどの文字列を格納する。当該システム構成において、全てのサーバ間通信が要件を満たしている場合、システム構成案生成装置１００は、判定フィールド５２にＯＫを格納する。当該システム構成において、要件を満たしていないサーバ間通信が存在する場合、システム構成案生成装置１００は、判定フィールドにＮＧを格納し、さらに対象通信フィールド５３に該当するサーバ間通信のＩＤを格納し、未達要件フィールド５４に満たされていない要件の情報を格納する。
図４は、システム構成５１がＳＤ０１のシステム構成について、対象通信５３Ｅ０１において、リアルタイム性に問題があることを表す
図５を参照して、デザインパターン集１２３を説明する。図５において、デザインパターン集１２３は、デザインパターン一覧６０と、最適化処理テーブル７０と、を含んで構成されている。
【００２５】
図５（ａ）において、デザインパターン一覧６０は、予め登録されたデザインパターンを格納するテーブルである。デザインパターン一覧６０は、各レコードが１つのデザインパターンを表す。デザインパターン一覧６０は、ＩＤフィールド６１と、名前フィールド６２と、効果フィールド６３と、条件フィールド６４と、最適化処理フィールド６５と、を含んで構成されている。
【００２６】
ＩＤフィールド６１は、当該デザインパターンを一意に特定するための識別子を格納する。名前フィールド６２は、当該デザインパターンの名前を表す。効果フィールド６３は、当該デザインパターンを適用することで得られる効果に関する情報を格納する。条件フィールド６４は、当該デザインパターンを適用するための条件を格納する。最適化処理フィールド６５は、デザインパターンを適用する際に用いるとなるシステム構成情報に対する変更処理に関する情報を格納する。
【００２７】
デザインパターンとして、Ｒｅａｄレプリパターンがある。Ｒｅａｄレプリデザインパターンは、サーバ間通信がＤＢアクセスであり、かつ更新ではなく参照（ｒｅａｄ）が中心であるという条件において適用できる。このような条件において、Ｒｅａｄレプリデザインパターンを適用することでＤＢアクセスの処理を高速化することができる。この結果、クラウドをまたがるＤＢアクセスであってもリアルタイム性を確保するという効果が得られる。Ｒｅａｄレプリデザインパターンを適用するには、Ｒｅａｄレプリと呼ばれる参照用のＤＢの複製を作成する処理を要する。
【００２８】
また、他のデザインパターンとして、ＳＳＬプロキシパターンがある。ＳＳＬプロキシパターンは、サーバ間通信がＨＴＴＰであるという条件において適用できる。ＳＳＬプロキシパターンを適用することで、ＨＴＴＰ通信に対して暗号化を行ない、通信の秘匿性を確保することができる。ＳＳＬプロキシパターンを適用するには、ＳＳＬプロキシと呼ばれる暗号化処理および復号処理を行うサーバを追加する処理を要する。さらに、サーバ間の通信がＳＳＬプロキシを介して行われるようにサーバ間通信の切り替え（サーバ間通信の追加および削除）処理を要する。また、さらに別のデザインパターンとして、キャッシュサーバパターンがある。キャッシュサーバパターンは、サーバ間通信がＨＴＴＰであるという条件において適用できる。キャッシュサーバパターンを適用するには、キャッシュサーバと呼ばれるキャッシュデータを保持するサーバを追加する処理を要する。この他のデザインパターンとして、クラウドをまたがる通信の信頼性を確保するために再送や順序制御などの通信制御を行うパターンなどがある。
【００２９】
図５（ｂ）において、最適化処理テーブル７０は、デザインパターンにおける最適化処理の内容を格納したテーブルである。最適化処理テーブル７０は、各レコードが１つの最適化処理を表す。最適化処理テーブル７０は、ＩＤフィールド７１と、処理内容フィールド７２と、を含んで構成されている。
【００３０】
ＩＤフィールド７１は、当該最適化処理を一意に特定する識別子を格納する。処理内容フィールド７２は、最適化処理の内容を格納する。処理内容フィールド７２は、以下で説明する関数を用いて最適化処理の処理内容を記述する。以下、ＩＤフィールド７１がＰ０１のレコードについて、処理内容７２を説明する。
【００３１】
ａｄｄＳｅｒｖｅｒ関数は、当該システム構成に対して新たなサーバを追加する。ａｄｄＳｅｒｖｅｒ関数の第一引数は、追加するサーバの名前を指定する。ａｄｄＳｅｒｖｅｒ関数の第二引数は、追加するサーバをデプロイするクラウドを指定する。デザインパターンにおいて、引数は、パラメータを用いて記述する。処理内容フィールド７２において、％で囲まれた文字列がパラメータを表す。パラメータの値は、デザインパターンを適用するシステム構成情報やサーバ間通信情報に応じて決定される。具体的には、％送信元クラウド％は、デザインパターンを適用するサーバ間通信における送信元サーバをデプロイするクラウドを表す。
【００３２】
ａｄｄＣｏｎｎｅｃｔｉｏｎ関数は、当該システム構成に対して新たなサーバ間通信を追加する。ａｄｄＣｏｎｎｅｃｔｉｏｎ関数の第一引数は、追加するサーバ間通信における送信元サーバの名前を記述する。第二引数は、送信先サーバの名前を指定する。第三引数は、追加するサーバ間通信の種別を指定する。第四引数は、要件を指定する。
【００３３】
ｒｅｐｌａｃｅＤｅｓｔｉｎａｔｉｏｎＳｅｒｖｅｒ関数は、当該システム構成情報におけるサーバ間通信において、送信先サーバを他のサーバに置換する。ｒｅｐｌａｃｅＤｅｓｔｉｎａｔｉｏｎＳｅｒｖｅｒ関数の第一引数は、置換された後のサーバの名前を指定する。
【００３４】
図６ないし図１２を参照して、システム構成案生成装置１００における処理の流れを説明する。
図６において、システム構成案生成装置１００は、入力装置１０３によるシステム構成情報入力を受け付ける（Ｓ２１）。入出力処理部１１１は、システム構成情報を評価対象システム構成集１２１に格納する（Ｓ２２）。具体的には、入出力処理部１１１は、取得したシステム構成情報全体にＩＤ５１としてＳＤ０１を付与し、取得したサーバ情報３０にＩＤ３１としてＮ０１を付与し、取得したサーバ間通信情報４０にＩＤ４１としてＥ０１を付与し、評価対象システム構成集２２１に格納する。
【００３５】
制御部１１２は、評価対象システム構成２２１に格納されているシステム構成を取得し、取得した全てのシステム構成に対して、ステップ２４からステップ２５までの処理を実行する（Ｓ２３）。
【００３６】
妥当性評価部１１３は、処理対象のシステム構成に対して妥当性の評価を行う（Ｓ２４）。デザインパターン適用部１１４は、処理対象のシステム構成に対してデザインパターン適用による最適化を行う（Ｓ２５）。制御部１１２は、評価対象システム構成集１２１に含まれる全てのシステム構成情報に対して処理が完了しているか判定する（Ｓ２６）。未処理のシステム構成情報がある場合には、ステップ２３に戻り再びシステム構成情報の妥当性評価とデザインパターン適用による最適化処理を実行する。ステップ２５における最適化処理において、新たに評価対象のシステム構成情報が追加されている場合、当該システム構成情報に対して処理を実行していないため、未処理のシステム構成情報があると判定する。ステップ２６において、全てのシステム構成情報に対して処理が完了している場合、入出力処理部１１１は、評価結果集１２２に含まれるシステム構成情報および妥当性の評価結果を、出力装置１０４に表示する。
【００３７】
図７を参照して、図６のステップ２４を詳細に説明する。図７において、妥当性評価部１１３は、処理対象のシステム構成に含まれるサーバ間通信情報を取得し、取得した全てのサーバ間通信情報に対して、ステップＳ２４２からステップＳ２４４までの処理を実行する（Ｓ２４１）。
【００３８】
妥当性評価部１１３は、処理対象のサーバ間通信がクラウド間通信か否かの判定をする（Ｓ２４２）。すなわち、妥当性評価部１１３は、サーバ間通信情報４０の送信元サーバをデプロイするクラウドの情報と、送信先サーバをデプロイするクラウドの情報を取得する。妥当性評価部１１３は、両クラウドが異なる場合に当該サーバ間通信がクラウド間通信であると判定する。妥当性評価部１１３は、サーバ間通信の送信元サーバと送信先サーバの情報について、サーバ間通信情報４０を参照することで取得する。妥当性評価部１１３は、各サーバをデプロイするクラウドの情報について、サーバ情報３０を参照することで取得する。
【００３９】
さらに具体的には、図３に記載したサーバ間通信情報４０に含まれるＩＤがＥ０１であるサーバ間通信の場合、送信元サーバであるＷｅｂサーバをデプロイするクラウドがクラウドＡであり、送信先サーバであるＤＢサーバをデプロイするクラウドがクラウドＢであることから、当該サーバ間通信はクラウド間通信であると判定される。
【００４０】
妥当性評価部１１３は、処理対象のサーバ間通信に関する要件を評価する（Ｓ２４３）。妥当性評価部１１３は、サーバ間通信に関する要件について、サーバ間通信情報４０の要件フィールドを参照することで取得する。この処理ステップにおいて、妥当性評価部１１３は、取得した要件と、ステップ２４２で取得したクラウド間通信の判定結果とを用いて、処理対象のサーバ間通信が当該要件を満たしているかを評価する。ここでは、サーバ間通信がクラウド間通信であり、かつ要件がＲＥＡＬＴＩＭＥである場合に要件を満たしていないと判定する。
【００４１】
具体的には、図３に記載したサーバ間通信情報４０に含まれるＩＤがＥ０１であるサーバ間通信の場合、リアルタイム性が求められることを表す”ＲＥＡＬＴＩＭＥ”の文字列を取得する。また、ステップ２４２の判定結果により、サーバ間通信がクラウド間通信であることから、妥当性評価部１１３は、このサーバ間通信情報は要件を満たしていないと判定する。
【００４２】
妥当性評価部１１３は、ステップ２４３における評価の結果を評価結果集１２２に格納する（Ｓ２４４）。
具体的には、図３に記載したシステム構成情報の場合、システム構成情報に対してＩＤとしてＳＤ０１が付与されているため、評価結果テーブル５０のシステム構成フィールド５１にはＳＤ０１が格納される。また、当該システム構成においてＩＤ４１がＥ０１であるサーバ間通信がリアルタイム性に関する要件を満たしていないため、判定フィールド５２にＮＧが格納され、対象通信フィールド５３にＥ０１が格納され、未達要件５４にＲＥＡＬＴＩＭＥが格納される。
【００４３】
妥当性評価部１１３は、全てのサーバ間通信情報に対して処理を実行済みか判定する（Ｓ２４５）。まだ処理を実行していないサーバ間通信情報がある場合、妥当性評価部１１３は、ステップＳ２４１に戻り再び妥当性評価の処理を行う。全てのサーバ間通信情報に対して処理を実行済みの場合、妥当性評価部１１３は、リターンする。
【００４４】
図８を参照して、図６のステップ２５であるデザインパターン適用による最適化の処理の流れの詳細を説明する。図８において、デザインパターン適用部１１４は、処理対象のシステム構成に関する評価結果を取得し、評価結果に含まれる全ての問題に対してステップ２５２からステップ２５５までの処理を実行する（Ｓ２５１）。
【００４５】
デザインパターン適用部１１４は、予め登録されたデザインパターン集１２３の中から、処理対象の問題を解決できるデザインパターンがないか検索する（Ｓ２５２）。デザインパターンの検索処理において、具体的には、デザインパターン適用部１１４は、デザインパターン一覧６０の中から、効果フィールド６３の値が処理対象の問題における未達要件と一致するデザインパターンがあるか検索する。該当するデザインパターンが見つかった場合、デザインパターン適用部１１４は、当該デザインパターンの条件フィールド６４を参照し、デザインパターンを適用するための条件を取得し、適用可否を判定する（Ｓ２５３）。ここで、適用可能と判定された場合（ＹＥＳ）、デザインパターン適用部１１４は、システム構成情報に対して当該デザインパターンにおける最適化処理を実行する（Ｓ２５４）。デザインパターン適用部１１４は、最適化処理を実行した後のシステム構成情報を、評価対象システム構成集１２１に追加する（Ｓ２５５）。デザインパターン適用部１１４は、評価結果に含まれる全ての問題に対して処理を実行済みか判定する（Ｓ２５６）。まだ処理を実行していない問題がある場合、デザインパターン適用部１１４は、ステップＳ２５１に戻り再び最適化の処理を行う。全ての問題に対して処理を実行済みの場合、デザインパターン適用部１１４は、リターンする。ステップ２５３で適用不可と判定された場合、デザインパターン適用部１１４は、ステップ２５６に遷移する。
【００４６】
図９を参照して、図８のステップ２５４の詳細な処理フローを説明する。なお、これ以降は、最適化処理のＩＤ７１がＰ０１、Ｐ０３の場合について、具体的に説明する。
図９において、デザインパターン適用部１１４は、最適化処理テーブル７０の処理内容フィールド７２に未処理の行あるか判定する（Ｓ３１）。ＹＥＳのとき、デザインパターン適用部１１４は、その行を取得する（Ｓ３２）。デザインパターン適用部１１４は、関数名がａｄｄＳｅｒｖｅｒか判定する（Ｓ３３）。ＹＥＳのとき、デザインパターン適用部１１４は、ａｄｄＳｅｒｖｅｒ処理を実行して（Ｓ３４）、ステップ３１に遷移する。
【００４７】
ステップ３１でＮＯのとき、デザインパターン適用部１１４は、リターンする。ステップ３３でＮＯのとき、デザインパターン適用部１１４は、関数名がａｄｄＣｏｎｎｅｃｔｉｏｎか判定する（Ｓ３５）。ＹＥＳのとき、デザインパターン適用部１１４は、ａｄｄＣｏｎｎｅｃｔｉｏｎ処理を実行して（Ｓ３６）。ステップ３１に遷移する。
【００４８】
ステップ３５でＮＯのとき、デザインパターン適用部１１４は、関数名がｒｅｐｌａｃｅＤｅｓｔｉｎａｔｉｏｎか判定する（Ｓ３７）。ＹＥＳのとき、デザインパターン適用部１１４は、ｒｅｐｌａｃｅＤｅｓｔｉｎａｔｉｏｎ処理を実行して（Ｓ３８）ステップ３１に遷移する。ステップ３７でＮＯのとき、。デザインパターン適用部１１４は、リターンする。
【００４９】
図１０を参照して、図９のステップ３４の詳細な処理フローを説明する。図１０において、デザインパターン適用部１１４は、サーバ情報３０に新規レコードを追加する（Ｓ３４１）。デザインパターン適用部１１４は、一意となるＩＤを付与し、ＩＤフィールド３１に格納する（Ｓ３４２）。デザインパターン適用部１１４は、ａｄｄＳｅｒｖｅｒ関数の第一引数で指定されたサーバ情報を名前フィールド３２に格納する（Ｓ３４３）。デザインパターン適用部１１４は、ａｄｄＳｅｒｖｅｒ関数の第二引数で指定されたクラウド情報を利用クラウドフィールド３３に格納して（Ｓ３４４）、リターンする。
【００５０】
図１１を参照して、図９のステップ３６の詳細な処理フローを説明する。図１１において、デザインパターン適用部１１４は、サーバ間通信情報４０に新規レコードを追加する（Ｓ３６１）。デザインパターン適用部１１４は、一意となるＩＤを付与し、ＩＤフィールド４１に格納する（Ｓ３６２）。デザインパターン適用部１１４は、ａｄｄＣｏｎｎｅｃｔｉｏｎＳｅｒｖｅｒ関数の第一引数で指定されたサーバ情報を送信元フィールド４２に格納する（Ｓ３６３）。デザインパターン適用部１１４は、ａｄｄＣｏｎｎｅｃｔｉｏｎＳｅｒｖｅｒ関数の第二引数で指定されたサーバ情報を送信先フィールド４３に格納する（Ｓ３６４）。デザインパターン適用部１１４は、ａｄｄＣｏｎｎｅｃｔｉｏｎＳｅｒｖｅｒ関数の第三引数で指定された通信種別情報種別フィールド４４に格納する（Ｓ３６５）。デザインパターン適用部１１４は、ａｄｄＣｏｎｎｅｃｔｉｏｎＳｅｒｖｅｒ関数の第四引数で指定された要件情報を要件フィールド４５に格納して（Ｓ３６６）、リターンする。
【００５１】
図１２を参照して、図９のステップ３８の詳細な処理フローを説明する。図１２において、デザインパターン適用部１１４は、サーバ間通信情報４０に格納された当該通信処理における送信先サーバを、ｒｅｐｌａｃｅＤｅｓｔｉｎａｔｉｏｎＳｅｒｖｅｒ関数の第一引数で指定された送信先サーバ情報に置換して（Ｓ３８１）、リターンする。
【００５２】
図６のステップ２５４における最適化処理について、図３に示したシステム構成情報におけるＩＤがＥ０１であるサーバ間通信に対して、図５に示したＩＤがＤ０１であるデザインパターンを適用する場合について、詳細を説明する。
【００５３】
最適化処理において、デザインパターン適用部１１４は、適用するデザインパターンに記載される最適化処理を実行する。デザインパターン適用部１１４は、最適化処理テーブル７０の処理内容フィールド７２に記載されている処理を上から順に実行する。
【００５４】
まず、デザインパターン適用部１１４は、ａｄｄＳｅｒｖｅｒ関数を実行し、当該システム構成情報のサーバ情報３０Ａにサーバを追加する。追加するサーバのＩＤは、サーバを一意に特定できる値を付与する。ここでは、ＩＤとしてＮ０４を付与する。また、ａｄｄＳｅｒｖｅｒ関数の第一引数がＲｅａｄレプリであることから、追加するサーバの名前３２について、デザインパターン適用部１１４は、Ｒｅａｄレプリとする。また、ａｄｄＳｅｒｖｅｒ関数の第二引数が、％送信元クラウド％パラメータであることから、デザインパターン適用部１１４は、当該処理における送信元クラウドの情報を取得する。ここでは、処理対象のサーバ間通信がＥ０１であることから、デザインパターン適用部１１４は、サーバ間通信４０を参照することで送信元サーバがＷｅｂサーバであることが分かる。さらに、サーバ情報３０Ａを参照することでＷｅｂサーバをデプロイするクラウドがクラウドＡであることが分かる。そのため、デザインパターン適用部１１４は、追加するサーバのデプロイ先である利用クラウド３３をクラウドＡとする。以上の処理により、サーバ情報テーブル３０ＡにＩＤがＮ０４であるサーバ情報のレコードが追加される。
【００５５】
デザインパターン適用部１１４は、ａｄｄＣｏｎｎｅｃｔｉｏｎ関数を実行し、当該システム構成情報のサーバ間通信情報４０Ａにサーバ間通信を追加する。追加するサーバ間通信のＩＤについて、デザインパターン適用部１１４は、サーバ間通信を一意に特定できる値を付与する。ここでは、ＩＤとしてＥ０３を付与する。また、ａｄｄＣｏｎｎｅｃｔｉｏｎ関数の第一引数が％送信先サーバ％パラメータであることから、デザインパターン適用部１１４は、当該処理における送信先サーバの情報を取得する。ここでは、デザインパターン適用部１１４は、サーバ間通信４０を参照することで送信先サーバがＤＢサーバであることが分かる。そのため、デザインパターン適用部１１４は、追加するサーバ間情報の送信元４２はＤＢサーバとする。また、ａｄｄＣｏｎｎｅｃｔｉｏｎ関数の第二引数がＲｅａｄレプリであることから、デザインパターン適用部１１４は、追加するサーバ間通信の送信先４３はＲｅａｄレプリとする。さらに、ａｄｄＣｏｎｎｅｃｔｉｏｎ関数の第三引数がＤＢ（ｗｒｉｔｅ）であり、第四引数がＤＥＬＡＹＥＤであることから、デザインパターン適用部１１４は、追加するサーバ間通信における種別４４はＤＢレプリ（ｗｒｉｔｅ）、要件４５はＤＥＬＡＹＥＤとする。以上の処理により、サーバ間通信情報テーブル４０ＡにＩＤがＥ０３であるサーバ間通信情報のレコードが追加される。
【００５６】
デザインパターン適用部１１４は、ｒｅｐｌａｃｅＤｅｓｔｉｎａｔｉｏｎＳｅｒｖｅｒ関数を実行し、当該システム構成情報のサーバ間通信における送信先サーバの置換を行う。デザインパターン適用部１１４は、当該処理における送信先サーバ４３であるＤＢサーバを、ｒｅｐｌａｃｅＤｅｓｔｉｎａｔｉｏｎＳｅｒｖｅｒ関数の第一引数で指定されたＲｅａｄレプリに置換する。すなわち、以上の処理により、サーバ間通信情報テーブル４０Ａにおいて、ＩＤがＥ０１であるサーバ間通信のレコードにおいて、送信先４３がＤＢサーバからＲｅａｄレプリに置換される。
【００５７】
図１３を参照して、上述した最適化処理を実行した後のシステム構成情報を説明する。図１３において、図１３（ａ）は、サーバ情報３０Ａである。また、図１３（ｂ）は、サーバ間通信情報４０Ａである。
【００５８】
図３との対比から明らかなように、サーバ情報３０Ａは、ＩＤ３１がＮＯ４のレコードが追加されている。また、サーバ間通信情報４０Ａは、ＩＤ４１がＥ０３のレコードが追加されている。さらに、サーバ間通信情報４０Ａは、ＩＤ４１がＥ０１のレコードの送信先がＤＢサーバからＲｅａｄレプリに置き換わっている。なお、サーバ間通信情報４０ＡのＩＤ４１がＥ０３のレコードの要件４５に記載の”ＤＥＬＡＹＥＤ”は、リアルタイム性が求められていないことを表す。
【００５９】
以上で説明した処理により、システム構成案生成装置１００は、入力されたシステム構成情報に対する評価結果、デザインパターン適用による最適化後のシステム構成情報、最適化後のシステム構成情報に対する評価結果を出力することができる。
【００６０】
なお、一般的には、１つのクラウドが複数のデータセンタ―にまたがって構成されることがある。本実施形態では複数クラウドにまたがったシステム構成案を生成する処理を説明したが、本発明は複数データセンタにまたがるシステムに適用できるものである。
【符号の説明】
【００６１】
１００…システム構成案生成装置、１０１…ＣＰＵ、１０２…メモリ、１０３…入力装置、１０４…出力装置、１０５…通信装置、１０６…記憶装置、１１１…入出力処理部、１１２…制御部、１１３…妥当性評価部、１１４…デザインパターン適用部、１２１…評価対象システム構成集、１２２…評価結果集、１２３…デザインパターン集、３００…ネットワーク、４００…利用者端末、５００…データセンタシステム、９００…データセンタ。
【図１】
2015125701.tif 000003
【図２】
2015125701.tif 000004
【図３】
2015125701.tif 000005
【図４】
2015125701.tif 000006
【図５】
2015125701.tif 000007
【図６】
2015125701.tif 000008
【図７】
2015125701.tif 000009
【図８】
2015125701.tif 000010
【図９】
2015125701.tif 000011
【図１０】
2015125701.tif 000012
【図１１】
2015125701.tif 000013
【図１２】
2015125701.tif 000014
【図１３】
2015125701.tif 000015