(57)【要約】【課題】正しい設定内容を生成できるテナントパターンを容易に作成する。【解決手段】複数の計算機を含む計算機システムと接続され、テナントを構成するための情報であるテナントパターンを管理する管理サーバであって、テナントパターンは、設定項目及びＩＤプールから構成され、管理サーバは、設定項目を、テナントパターンを構成するパターンパーツとして管理するパターンパーツ情報と、テナントパターンの構成に対する検証処理の内容を格納する検証ルール情報と、テナントパターンの構成を格納するテナントパターン情報とを保持し、テナントパターンを生成するテナントパターン生成部と、前記計算機システム上にテナントを構築するための設定内容を生成するテナント設計部と、前記テナントパターン又は設定内容に対する検証処理を実行する検証実行部と、を備える。【選択図】図２
2014115828.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機を含む計算機システムと接続され、前記計算機システムにおける計算機リソースを用いて所定の業務を実行する業務システムであるテナントを構成するための情報であるテナントパターンを管理する管理サーバであって、
前記テナントパターンは、前記テナントの生成に必要なパラメータと当該パラメータの値の決定方法とから構成される設定項目、及び前記テナントの生成時に前記パラメータに割り当てる値を格納するＩＤプールから構成され、
前記管理サーバは、
プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるネットワークインタフェースを備え、
前記設定項目を、前記テナントパターンを構成するパターンパーツとして管理する第１のパターンパーツ情報と、
前記パターンパーツを用いて生成される前記テナントパターンの構成に対する検証処理の内容を格納する検証ルール情報と、
前記パターンパーツを用いて生成されたテナントパターンの構成を格納するテナントパターン情報と、を保持し、
前記パターンパーツを用いて前記テナントパターンを生成するテナントパターン生成部と、
前記テナントパターンを用いて前記テナントの構成を設計し、前記設計されたテナントの構成に基づいて前記計算機システム上に実際に前記テナントを構築するための設定内容を生成するテナント設計部と、
前記検証ルール情報に基づいて、前記テナントパターン、又は前記設定内容に対する検証処理を実行する検証実行部と、
を備えることを特徴とする管理サーバ。
【請求項２】
請求項１に記載の管理サーバであって、
前記ＩＤプールを前記パターンパーツとして管理する第２のパターンパーツ情報を保持し、
前記検証ルール情報は、前記検証処理における第１の対象パラメータと、前記テナントの生成時に用いられる前記複数の計算機の種別毎に前記第１の対象パラメータが取り得る第１のパラメータ値の範囲とが対応づけられた第１の検証ルール情報を含み、
前記検証実行部は、
前記第１の検証ルール情報、前記第１のパターンパーツ情報、及び前記第２のパターンパーツ情報に基づいて、前記テナントパターンにおける前記第１の対象パラメータが取り得る第２のパラメータ値の範囲を特定し、
前記第１の対象パラメータが設定される前記計算機を特定して、前記特定された計算機の種別に対応する前記第１のパラメータ値の範囲を選択し、
前記第２のパラメータ値の範囲が前記第１のパラメータ値の範囲に含まれるか否かを判定し、
前記第２のパラメータ値の範囲が前記第１のパラメータ値の範囲に含まれないと判定された場合、前記テナントパターンが不正である旨と、前記第１の検証ルール情報に基づいて生成された修正案とを通知することを特徴とする管理サーバ。
【請求項３】
請求項１又は請求項２に記載の管理サーバであって、
前記検証ルール情報には、前記検証処理における第２の対象パラメータと、前記第２の対象パラメータによって参照される他の前記パラメータの種別とが対応づけられた第２の検証ルール情報を含み、
前記検証実行部は、
前記第２の検証ルール情報、及び前記テナントパターン情報に基づいて、前記第２の対象パラメータによって参照される他のパラメータの種別を特定し、
前記第２の検証ルール情報に含まれる前記第２の対象パラメータによって参照される他のパラメータの種別と、前記特定された他のパラメータの種別とが一致するか否かを判定し、
前記第２の検証ルール情報に含まれる前記第２の対象パラメータによって参照される他のパラメータの種別と、前記特定された他のパラメータの種別とが一致しないと判定された場合、前記テナントパターンが不正である旨と、前記第２の検証ルール情報に基づいて生成された修正案とを通知することを特徴とする管理サーバ。
【請求項４】
請求項３に記載の管理サーバであって、
前記検証実行部は、
前記第２の対象パラメータを含む前記パターンパーツが、生成中の前記テナントパターンに追加された場合に、前記テナントパターン情報に基づいて、パラメータの種別が前記第２の検証ルール情報に含まれる第２の対象パラメータによって参照される他のパラメータの種別と同一であるパラメータを抽出し、
前記抽出されたパラメータを、前記第２の対象パラメータによって参照される他のパラメータの候補として通知することを特徴とする管理サーバ。
【請求項５】
請求項１又は請求項２に記載の管理サーバであって、
前記検証ルール情報には、複数の前記設定項目の設定順番を規定する第３の検証ルール情報を含み、
前記検証実行部は、
前記テナントパターンが生成された後、前記第３の検証ルール情報、及び前記テナントパターン情報に基づいて、前記生成されたテナントパターンに含まれる前記複数の対象設定項目の設定順番が正しいか否かを判定し、
前記生成されたテナントパターンに含まれる前記複数の対象設定項目の設定順番が誤っていると判定された場合、前記テナントパターンが不正である旨と、前記第３の検証ルール情報に基づいて生成された修正案とを通知することを特徴とする管理サーバ。
【請求項６】
請求項１又は請求項２に記載の管理サーバであって、
前記テナントパターンを用いて生成された前記設定内容に基づいて生成された前記テナントのインスタンスに関する情報を格納するテナントインスタンス情報を保持し、
前記検証ルール情報は、前記検証処理における第１の対象設定項目と、前記第１の対象設定項目におけるインスタンス数の上限値とが対応づけられた第４の検証ルール情報を含み、
前記検証実行部は、
前記テナントパターンを用いて前記テナントが生成される時に、前記テナントインスタンス情報を参照して、前記テナントが生成された場合に、前記第１の対象設定項目のインスタンス数が当該第１の対象設定項目におけるインスタンス数の上限値より大きくなるか否かを判定し、
前記第１の対象設定項目のインスタンス数が当該第１の対象設定項目におけるインスタンス数の上限値より大きいと判定された場合、前記テナントが不正である旨と、前記第４の検証ルール情報に基づいて生成され修正案とを通知することを特徴とする管理サーバ。
【請求項７】
請求項６に記載の管理サーバであって、
前記第４の検証ルール情報には、前記計算機に対する性能要件毎の前記第１の対象設定項目におけるインスタンス数の上限値が含まれ、
前記テナントパターン生成部は、前記第１の対象設定項目を含む前記パターンパーツを用いて前記テナントパターンを生成する場合に、前記生成されるテナントパターンに要求される性能要件に基づいて、前記第４の検証ルール情報から前記第１の対象設定項目におけるインスタンス数の上限値を決定し、
前記検証実行部は、前記生成されたテナントパターンを用いて前記テナントが生成される場合に、前記第１の対象設定項目のインスタンス数が、前記決定された第１の対象設定項目のインスタンス数の上限値より大きくなるか否かを判定することを特徴とする管理サーバ。
【請求項８】
請求項１又は請求項２に記載の管理サーバであって、
前記検証ルール情報には、前記検証処理における第２の対象設定項目と、前記第２の対象設定項目の設定に必要な他の前記設定項目との対応関係を格納する第５の検証ルール情報を含み、
前記検証実行部は、
前記テナントパターンを用いてテナントが生成される場合に、前記第２の対象設定項目が設定される前記計算機を特定し、
前記特定された計算機に、前記第２の対象設定項目の設定に必要な他の設定項目が設定されているか否かを判定し、
前記特定された計算機に、前記第２の対象設定項目の設定に必要な他の設定項目が設定されていないと判定された場合、前記テナントが不正である旨と、前記第５の検証ルール情報に基づいて生成された修正案とを通知することを特徴とする管理サーバ。
【請求項９】
請求項３に記載の管理サーバであって、
前記検証ルール情報を生成する検証ルール生成部を備え、
前記検証ルール生成部は、
前記テナントパターン情報を参照して、対象となる前記設定項目を選択し、
前記選択された設定項目に含まれる前記パラメータのうち、他の前記パラメータを参照する前記パラメータを特定し、
前記特定されたパラメータ、及び前記特定されたパラメータによって参照される他のパラメータに基づいて、前記第２の検証ルール情報を生成することを特徴とする管理サーバ。
【請求項１０】
請求項６に記載の管理サーバであって、
前記計算機のマニュアルから前記検証ルール情報を生成するための文字列の情報である抽出用文字列情報を保持し、
前記検証ルール情報を生成する検証ルール生成部を備え、
前記検証ルール生成部は、
前記抽出用文字列情報に基づいて、入力されたマニュアルから、前記計算機の機種毎の所定のパラメータが取り得るパラメータ値の範囲、又は、所定の設定項目におけるインスタンス数の上限値を抽出し、
前記抽出された計算機の機種毎の所定のパラメータが取り得るパラメータ値の範囲に基づいて前記第１の検証ルール情報を生成し、又は、前記抽出された所定の設定項目におけるインスタンス数の上限値に基づいて前記第４の検証ルール情報を生成することを特徴とする管理サーバ。
【請求項１１】
請求項６に記載の管理サーバであって、
前記管理サーバは、前記性能要件を取得するための検証用計算機と接続され、
前記計算機の性能確認用コマンドと、前記性能確認用コマンドに対する応答から性能情報を取得するための文字列とを含む性能要件確認用シナリオを保持し、
前記検証ルール情報を生成する検証ルール生成部を備え、
前記検証ルール生成部は、
入力された複数の前記設定項目のリストの中から、前記性能要件を確認するための前記設定項目の組合せを選択し、
前記性能要件確認用シナリオに基づいて、前記検証用計算機において要求される前記性能要件を確認し、
前記設定項目の組み合わせ、及び前記確認された性能要件に基づいて、前記第４の検証ルール情報を生成することを特徴とする管理サーバ。
【請求項１２】
複数の計算機を含む計算機システムと接続され、前記計算機システムにおける計算機リソースを用いて所定の業務を実行する業務システムであるテナントを構成するための情報であるテナントパターンを管理する管理サーバにおけるテナントパターン検証方法であって、
前記テナントパターンは、前記テナントの生成に必要なパラメータと当該パラメータの値の決定方法とから構成される設定項目、及び前記テナントの生成時に前記パラメータに割り当てる値を格納するＩＤプールから構成され、
前記管理サーバは、
プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるネットワークインタフェースを備え、
前記設定項目を、前記テナントパターンを構成するパターンパーツとして管理する第１のパターンパーツ情報と、
前記パターンパーツを用いて生成される前記テナントパターンの構成に対する検証処理の内容を格納する検証ルール情報と、
前記パターンパーツを用いて生成されたテナントパターンの構成を格納するテナントパターン情報と、を保持し、
前記管理サーバが、前記パターンパーツを用いて前記テナントパターンを生成する第１のステップと、
前記管理サーバが、前記テナントパターンを用いて前記テナントの構成を設計し、前記設計されたテナントの構成に基づいて前記計算機システム上に実際に前記テナントを構築するための設定内容を生成する第２のステップと、
前記管理サーバが、前記検証ルール情報に基づいて、前記テナントパターン、又は、前記設定内容に対する検証処理を実行する第３のステップと、を含むことを特徴とするテナントパターン検証方法。
【請求項１３】
請求項１２に記載のテナントパターン検証方法であって、
前記管理サーバは、前記ＩＤプールを前記パターンパーツとして管理する第２のパターンパーツ情報を保持し、
前記検証ルール情報は、前記検証処理における第１の対象パラメータと、前記テナントの生成時に用いられる前記複数の計算機の種別毎に前記第１の対象パラメータが取り得る第１のパラメータ値の範囲とが対応づけられた第１の検証ルール情報を含み、
前記第３のステップは、
前記第１の検証ルール情報、前記第１のパターンパーツ情報、及び前記第２のパターンパーツ情報に基づいて、前記テナントパターンにおける前記第１の対象パラメータが取り得る第２のパラメータ値の範囲を特定するステップと、
前記第１の対象パラメータが設定される前記計算機を特定して、前記特定された計算機の種別に対応する前記第１のパラメータ値の範囲を選択するステップと、
前記第２のパラメータ値の範囲が前記第１のパラメータ値の範囲に含まれるか否かを判定するステップと、
前記第２のパラメータ値の範囲が前記第１のパラメータ値の範囲に含まれないと判定された場合、前記テナントパターンが不正である旨と、前記第１の検証ルール情報に基づいて生成された修正案とを通知するステップと、を含むことを特徴とするテナントパターン検証方法。
【請求項１４】
請求項１２又は請求項１３に記載のテナントパターン検証方法であって、
前記検証ルール情報には、前記検証処理における第２の対象パラメータと、前記第２の対象パラメータによって参照される他の前記パラメータの種別とが対応づけられた第２の検証ルール情報を含み、
前記第３のステップは、
前記第２の検証ルール情報、及び前記テナントパターン情報に基づいて、前記第２の対象パラメータによって参照される他のパラメータの種別を特定するステップと、
前記第２の検証ルール情報に含まれる前記第２の対象パラメータによって参照される他のパラメータの種別と、前記特定された他のパラメータの種別とが一致するか否かを判定するステップと、
前記第２の検証ルール情報に含まれる前記第２の対象パラメータによって参照される他のパラメータの種別と、前記特定された他のパラメータの種別とが一致しないと判定された場合、前記テナントパターンが不正である旨と、前記第２の検証ルール情報に基づいて生成された修正案とを通知するステップと、を含むことを特徴とするテナントパターン検証方法。
【請求項１５】
請求項１４に記載のテナントパターン検証方法であって、
前記第３のステップは、
前記第２の対象パラメータを含む前記パターンパーツが、生成中の前記テナントパターンに追加された場合に、前記テナントパターン情報に基づいて、前記パラメータの種別が前記第２の検証ルール情報に含まれる第２の対象パラメータによって参照される他のパラメータの種別と同一であるパラメータを抽出するステップと、
前記抽出されたパラメータを、前記第２の対象パラメータによって参照される他のパラメータの候補として通知するステップと、を含むことを特徴とするテナントパターン検証方法。
【請求項１６】
請求項１２又は請求項１３に記載のテナントパターン検証方法であって、
前記検証ルール情報には、複数の前記設定項目の設定順番を規定する第３の検証ルール情報を含み、
前記第３のステップは、
前記テナントパターンが生成された後、前記第３の検証ルール情報及び前記テナントパターン情報に基づいて、前記生成されたテナントパターンに含まれる前記複数の対象設定項目の設定順番が正しいか否かを判定するステップと、
前記生成されたテナントパターンに含まれる前記複数の対象設定項目の設定順番が誤っていると判定された場合、前記テナントパターンが不正である旨と、前記第３の検証ルール情報に基づいて生成された修正案とを通知するステップと、を含むことを特徴とするテナントパターン検証方法。
【請求項１７】
請求項１２又は請求項１３に記載のテナントパターン検証方法であって、
前記管理サーバは、前記テナントパターンを用いて生成された前記設定内容に基づいて生成された前記テナントのインスタンスに関する情報を格納するテナントインスタンス情報を保持し、
前記検証ルール情報は、前記検証処理における第１の対象設定項目と、前記第１の対象設定項目におけるインスタンス数の上限値とが対応づけられた第４の検証ルール情報を含み、
前記第３のステップは、
前記テナントパターンを用いて前記テナントが生成される時に、前記テナントインスタンス情報を参照して、前記テナントが生成された場合に、前記第１の対象設定項目のインスタンス数が当該第１の対象設定項目におけるインスタンス数の上限値より大きくなるか否かを判定するステップと、
前記第１の対象設定項目のインスタンス数が当該第１の対象設定項目におけるインスタンス数の上限値より大きいと判定された場合、前記テナントが不正である旨と、前記第４の検証ルール情報に基づいて生成され修正案とを通知するステップと、を含むことを特徴とするテナントパターン検証方法。
【請求項１８】
請求項１７に記載のテナントパターン検証方法であって、
前記第４の検証ルール情報には、前記計算機に対する性能要件毎の前記第１の対象設定項目におけるインスタンス数の上限値が含まれ、
前記第１のステップは、前記第１の対象設定項目を含む前記パターンパーツを用いて前記テナントパターンを生成する場合に、前記生成されるテナントパターンに要求される性能要件に基づいて、前記第４の検証ルール情報から前記第１の対象設定項目におけるインスタンス数の上限値を決定するステップを含み、
前記第３のステップは、前記生成されたテナントパターンを用いて前記テナントが生成される場合に、前記第１の対象設定項目のインスタンス数が、前記決定された第１の対象設定項目のインスタンス数の上限値より大きくなるか否かを判定するステップを含むことを特徴とするテナントパターン検証方法。
【請求項１９】
請求項１２又は請求項１３に記載のテナントパターン検証方法であって、
前記検証ルール情報には、前記検証処理における第２の対象設定項目と、前記第２の対象設定項目の設定に必要な他の前記設定項目との対応関係を格納する第５の検証ルール情報を含み、
前記第３のステップは、
前記テナントパターンを用いてテナントが生成される場合に、前記第２の対象設定項目を含む前記計算機を特定するステップと、
前記特定された計算機に、前記第２の対象設定項目の設定に必要な他の設定項目が設定されているか否かを判定するステップと、
前記特定された計算機に、前記第２の対象設定項目の設定に必要な他の設定項目が設定されていないと判定された場合、前記テナントが不正である旨と、前記第５の検証ルール情報に基づいて生成された修正案とを通知するステップと、を含むことを特徴とするテナントパターン検証方法。
【請求項２０】
複数の計算機備え、前記複数の計算機の計算機リソースを用いて所定の業務を実行する業務システムであるテナントを構成するための情報であるテナントパターンを管理する計算機システムであって、
前記複数の計算機の各々は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続されるネットワークインタフェースとを有し、
前記テナントパターンは、前記テナントの生成に必要なパラメータと当該パラメータの値の決定方法とから構成される設定項目、及び前記テナントの生成時に前記パラメータに割り当てる値を格納するＩＤプールから構成され、
前記計算機システムは、
前記設定項目を、前記テナントパターンを構成するパターンパーツであるとして管理するパターンパーツ情報格納部と、
前記パターンパーツを用いて生成される前記テナントパターンの構成に対する検証処理の内容を格納する検証ルール情報格納部と、
前記パターンパーツを用いて生成されたテナントパターンの構成を格納するテナントパターン情報格納部と、
前記パターンパーツを用いて前記テナントパターンを生成するテナントパターン生成部と、
前記テナントパターンを用いて前記テナントの構成を設計し、前記設計されたテナントの構成に基づいて前記計算機システム上に実際に前記テナントを構築するための設定内容を生成するテナント設計部と、
前記検証ルール情報に基づいて、前記テナントパターン、又は前記設定内容に対する検証処理を実行する検証実行部と、
を備えることを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テナントを管理するサーバ、方法、及びシステムに関する。
【背景技術】
【０００２】
近年、ＩＴリソースの所有コストの削減、変動が激しいビジネス環境への迅速に対応するために、企業でのクラウドサービスの利用が進んでいる。クラウドサービスの重要な特徴の一つは「オンデマンドでのサービス提供」である。
【０００３】
一般的に、クラウドサービスは、データセンタ（ＤＣ：Ｄａｔａ  Ｃｅｎｔｅｒ）のＩＴリソースを用いることによって提供される。より具体的には、データセンタ上に構成されるテナントを用いて、サービスが提供される。ここで、テナントとは、顧客毎の仮想的なインフラ（基盤）を表す。ここでは、特に、ネットワーク部分を対象とする。
【０００４】
前述したような、クラウドサービスの特徴を実現するために、頻繁にＩＴシステムの構成を変更する必要がある。ＩＴシステムの一部であるネットワークについても同様に頻繁に構成を変更するためのネットワークの設計設定が必要になる。ここで、ネットワークの設計設定とは、ネットワークの構成を設計し（ネットワークの設定内容を生成し）、設計されたネットワークの構成に対して具体的なパラメータ等を設定することを表す。
【０００５】
クラウドサービスにおけるテナントの構成は幾つかのパターンに分類できるという特徴があるため、ネットワークを容易に設計設定するための一つのアプローチとして、パターンベースのプロビジョニングがある。パターンベースのプロビジョニングでは、予め、テナントの設計設定に必要な情報をパターンとして規定しておき、ユーザがテナントを設計する場合、当該パターンを選択することによって、自動でテナントを生成する方式である。これによって、高度なネットワークの知識がないユーザであっても、容易にテナントの設計設定が可能になる。
【０００６】
しかし、新しくＤＣを導入する場合、又は既存のＤＣ上に新しいテナント構成のクラウドサービスを提供する場合等に、多くのテナント構成に対応したテナントパターンが必要である。そのためには、それぞれのテナント構成に応じたテナントパターンの生成する必要があるが、テナントパターンの生成に伴う作業負荷が大きい。
【０００７】
その理由としては、機器への正しい設定内容（コマンド）を生成できるテナントパターンであるか否かを確認するための検証が複雑なためである。特に、ネットワークの設計設定では、検証すべき項目が多数あり、その検証作業の負荷が大きい。
【０００８】
前述した問題を解決するために、検証をしつつ容易にソフトウェア及びネットワークの設定内容を生成する方式が知られている（例えば、特許文献１、及び特許文献２参照）。
【０００９】
特許文献１には、既存のソフトウェア部品を組み合わせた複合部品をデータベースに登録して再利用できるとともに、複合部品の整合性を動的な振る舞いとともに検証できるようにすることが記載されている。
【００１０】
また、特許文献２には、ネットワークの設計作業及び構築作業を連携させ、ネットワーク設計の段階で決まるシステムデータを自動的に作成することにより作業の効率化を実現することが記載されている。さらに、特許文献２の段落（００２４）及び（００４７）には、通信ネットワークの設定内容であるノードデータベースに対して、所定の検証ルールにしたがってノードデータベースのデータの整合性を検証することが記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−１７１３１８号公報
【特許文献２】特開２００１−９４５５９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
既存技術における問題点としては以下のようなものが存在する。
【００１３】
一つ目の問題点について説明する。特許文献１及び特許文献２に開示されている検証方法では、それぞれソフトウェア部品間の整合性と、ノードデータベースのデータ（パラメータの値）の整合性とが検証されている。しかし、ネットワークの設計設定における検証では、部品間の整合性又はパラメータの値の間の整合性を検証するだけでは不十分である。
【００１４】
例えば、必要な検証としては、パラメータの値の範囲、性能を保証するためのＶＲＦ等の設定項目の生成数、設定項目の設定順番、及びある設定を行うために必要な構成の確認等がある。
【００１５】
したがって、特許文献１及び特許文献２に開示されている検証方法では、前述した検証は行われていないため、正しいテナントパターン及び設定内容を生成するためには不十分である。
【００１６】
二つ目の問題点について説明する。特許文献２に開示されている検証方法では、具体的に決定された値に対する検証が行われる。しかし、本発明における検証対象であるテナントパターンは、パラメータの決定方法が規定されているだけであり、具体的な値が決まっているわけではない。したがって、特許文献２に開示されている検証方法では、テナントパターンの検証は行うことができない。
【００１７】
なお、具体的な値が決まった設定内容ではなく、テナントパターンの検証が必要な理由は、テナントパターン自体を検証しない場合、テナントパターンに誤りがあった場合に修正期間が長くなるためである。設定内容の検証は、個々のテナントの設計時点において行われるが、テナントの設計者はネットワークの知識がなくても検証を行うことが可能である。しかし、設計者は、検証によって誤りが発見された場合に、自らテナントパターンを修正することができないため、ネットワークの知識がある専門家にテナントパターンの修正を依頼する必要がある。そのため、テナントパターンの修正期間が長期化する可能性がある。
【００１８】
本発明は、以上の問題点に鑑み、整合性だけでなく、パラメータ値の範囲や設定項目の生成数、設定項目の設定順番、設定するために前提として必要な構成の確認等、多種多様な検証を行い、正しい設定内容を生成できるテナントパターンを容易に生成可能なシステム、方法、及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機を含む計算機システムと接続され、前記計算機システムにおける計算機リソースを用いて所定の業務を実行する業務システムであるテナントを構成するための情報であるテナントパターンを管理する管理サーバであって、前記テナントパターンは、前記テナントの生成に必要なパラメータと当該パラメータの値の決定方法とから構成される設定項目、及び前記テナントの生成時に前記パラメータに割り当てる値を格納するＩＤプールから構成され、前記管理サーバは、プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるネットワークインタフェースを備え、前記設定項目を、前記テナントパターンを構成するパターンパーツとして管理する第１のパターンパーツ情報と、前記パターンパーツを用いて生成される前記テナントパターンの構成に対する検証処理の内容を格納する検証ルール情報と、前記パターンパーツを用いて生成されたテナントパターンの構成を格納するテナントパターン情報と、を保持し、前記パターンパーツを用いて前記テナントパターンを生成するテナントパターン生成部と、前記テナントパターンを用いて前記テナントの構成を設計し、前記設計されたテナントの構成に基づいて前記計算機システム上に実際に前記テナントを構築するための設定内容を生成するテナント設計部と、前記検証ルール情報に基づいて、前記テナントパターン、又は前記設定内容に対する検証処理を実行する検証実行部と、を備える。
【発明の効果】
【００２０】
本発明によれば、運用者は、パターンパーツを用いることによって容易にテナントパターンを生成でき、また、生成されたテナントパターンに対する検証処理を実行されることによって、適切なテナントパターンを生成することができる。
【００２１】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例１のネットワークシステムの構成を示すブロック図である。
【図２】本発明の実施例１の管理サーバの構成を説明するブロック図である。
【図３】本発明の実施例１の性能要件確認用シナリオの一例を示す説明図である。
【図４】本発明の実施例１の抽出用文字列情報の一例を示す説明図である。
【図５】本発明の実施例１のパターンパーツ（設定項目）情報の一例を示す説明図である。
【図６】本発明の実施例１のパターンパーツ（プール）情報の一例を示す説明図である。
【図７】本発明の実施例１の検証ルール情報の一例を示す説明図である。
【図８】本発明の実施例１における検証ルール内容（上限値）情報の一例を示す説明図である。
【図９】本発明の実施例１の検証ルール内容情報の一例を示す説明図である。
【図１０Ａ】本発明の実施例１のテナントパターン情報の一例を示す説明図である。
【図１０Ｂ】本発明の実施例１のテナントパターン情報の一例を示す説明図である。
【図１１】本発明の実施例１のテナントパターン（サブネット）情報の一例を示す説明図である。
【図１２】本発明の実施例１のマッピング情報の一例を示す説明図である。
【図１３】本発明の実施例１のＩＤプール情報の一例を示す説明図である。
【図１４】本発明の実施例１のコマンドテンプレート情報の一例を示す説明図である。
【図１５】本発明の実施例１のテナントインスタンス（ノード）情報の一例を示す説明図である。
【図１６】本発明の実施例１のテナントインスタンス（サブネット）情報の一例を示す説明図である。
【図１７】本発明の実施例１のテナントインスタンス（マッピング）情報の一例を示す説明図である。
【図１８】本発明の実施例１の物理構成情報の一例を示す説明図である。
【図１９】本発明の実施例１の設計設定タスク情報の一例を示す説明図である。
【図２０】本発明の実施例１における検証ルール生成用のユーザインタフェースの一例を示す説明図である。
【図２１Ａ】本発明の実施例１におけるテナントパターン生成用のユーザインタフェースの一例を示す説明図である。
【図２１Ｂ】発明の実施例１における検証結果を表示するユーザインタフェースの一例を示す説明図である。
【図２２】本発明の実施例１におけるテナントの設計設定用のユーザインタフェースの一例を示す説明図である。
【図２３】本発明の実施例１のネットワークシステムにおけるパターンパーツ及び検証ルール生成処理、及びテナントパターン生成処理の流れを説明するシーケンス図である。
【図２４】本発明の実施例１のパターンパーツ及び検証ルール生成処理、及びテナントパターン生成処理の実行時に、装置間において送受信されるメッセージの一例を示す説明図である。
【図２５Ａ】本発明の実施例１のパターンパーツ及び検証ルール生成処理を説明するフローチャートである。
【図２５Ｂ】本発明の実施例１のパターンパーツ及び検証ルール生成処理を説明するフローチャートである。
【図２５Ｃ】本発明の実施例１のパターンパーツ及び検証ルール生成処理を説明するフローチャートである。
【図２６】本発明の実施例１のパターンパーツを用いたテナントパターン生成処理を説明するフローチャートである。
【図２７Ａ】本発明の実施例１のテナントパターン検証処理を説明するフローチャートである。
【図２７Ｂ】本発明の実施例１のテナントパターン検証処理を説明するフローチャートである。
【図２７Ｃ】本発明の実施例１のテナントパターン検証処理を説明するフローチャートである。
【図２８】本発明の実施例１のネットワークシステムにおけるテナントのネットワーク設計設定処理の流れを説明するシーケンス図である。
【図２９】本発明の実施例１のテナントネットワーク設計設定処理の実行時に、装置間において送受信されるメッセージの一例を説明する図である。
【図３０Ａ】本発明の実施例１のパラメータ決定処理、及び設定内容生成処理を説明するフローチャートである。
【図３０Ｂ】本発明の実施例１のパラメータ決定処理、及び設定内容生成処理を説明するフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本実施例について図面を参照しながら説明する。
【実施例１】
【００２４】
図１は、本発明の実施例１のネットワークシステムの構成を示すブロック図である。
【００２５】
本実施の形態のネットワークシステムは、複数のＮＷ（Ｎｅｔｗｏｒｋ）装置、複数の計算機、及び管理計算機から構成される。
【００２６】
図１に示すように、ネットワークシステムは、例えば、ルータ１（１００Ａ）、ＦＷ（ＦｉｒｅＷａｌｌ）１（１００Ｂ）、コアＳＷ（ＳＷｉｔｃｈ）１（１００Ｃ）、エッジＳＷ１（１００Ｄ）、エッジＳＷ２（１００Ｅ）、物理サーバ１（２００Ａ）、物理サーバ２（２００Ｂ）、管理サーバ５００、ＳＥ（Ｓｙｓｔｅｍ  Ｅｎｇｉｎｅｅｒ）用端末７００、ＤＣ（Ｄａｔａ  Ｃｅｎｔｅｒ）管理者用端末８００、テナント管理者用端末９００、及び検証機１５０から構成される。
【００２７】
なお、以下の説明では、ルータ１（１００Ａ）、ＦＷ１（１００Ｂ）、コアＳＷ１（１００Ｃ）、エッジＳＷ１（１００Ｄ）、及びエッジＳＷ２（１００Ｅ）を総称してＮＷ装置１００とも記載する。さらに、以下の説明では、ＮＷ装置１００、物理サーバ１（２００Ａ）、及び物理サーバ２（２００Ｂ）を総称して物理装置とも記載する。また、ネットワークシステムは、前述した物理装置に限定されず、ロードバランサ及びＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）装置等であってもよい。
【００２８】
物理サーバ２００は、仮想マシン３００（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：以下ＶＭと記載する）を生成する仮想化部（図示省略）を実行する。物理サーバ２００は、プロセッサ、メモリ、及びネットワークインタフェースを有し、プロセッサがメモリ上にロードされた仮想化部を実現するプログラムを実行する。
【００２９】
仮想化部は、物理サーバ２００の計算機リソースを用いて生成された、一つ以上のＶＭ３００を稼動させる。また、仮想化部は、ＶＭ３００を接続するための仮想ＳＷ４００を生成し、仮想ＳＷ４００を介してＶＭ３００と外部のネットワークとが接続される。なお、仮想化部としてはハイパバイザ、及びＶＭＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）等を用いることが考えられる。
【００３０】
ルータ１（１００Ａ）は、ＶＰＮ及びインターネット等の外部ネットワーク２と接続する。ルータ１（１００Ａ）から物理サーバ２００又は管理サーバ５００までのネットワークがデータセンタ（Ｄａｔａ  Ｃｅｎｔｅｒ：以下ＤＣと記載する）内の内部ネットワークを構成する。
【００３１】
なお、管理サーバ５００は、ＮＷ装置１００、物理サーバ２００、仮想ＳＷ４００、及びＶＭ３００とは、論理的に分離されたネットワークを介して接続される。なお、ＮＷ装置１００、物理サーバ２００、後述する仮想ＳＷ４００、及びＶＭ３００は、物理的に異なる管理用ネットワークを介して、管理サーバ５００と接続されてもよい。
【００３２】
ＮＷ装置１００は、ネットワーク内の装置間を接続し、ネットワーク内で送受信される情報を、所定の宛先の装置に転送する。なお、仮想ＳＷもＮＷ装置１００と同様の機能を有する。なお、ＮＷ装置１００は、プロセッサ、メモリ、及びネットワークインタフェースを有する。
【００３３】
管理サーバ５００は、ＮＷ装置１００、物理サーバ２００、仮想ＳＷ、及びＶＭを管理する。管理サーバ５００は、ＮＷ装置１００と通信することによって、ネットワークシステムの構成情報を取得し、また、ＮＷ装置１００、物理サーバ２００、仮想ＳＷ４００、及びＶＭ３００に対する設定等を行うことができる。本実施例では、管理サーバ５００は、テナントパターンを生成するために用いられるパターンパーツを生成する。
【００３４】
ここで、テナントパターンとは、テナントの設計に必要なパラメータの決定方法から構成される情報である。パターンパーツとは、一つ以上の設定項目又は一つ以上のＩＤプールの少なくともいずれかから構成される情報であり、テナントパターン生成時に繰り返し利用される情報である。設定項目は、ネットワークシステムを構成するノード等に設定される一つ以上のパラメータ、及び当該パラメータの決定方法を含む情報を示す。ＩＤプールは、設定項目に含まれるパラメータに対して割り当てるＩＤの集合を示す。
【００３５】
また、以下の説明において、「テナントの生成」とは、テナントパターンを用いてテナントの設定内容が生成され、当該テナントの設定内容を実際のシステムに設定することを表す。
【００３６】
なお、管理サーバ５００のハードウェア構成及びソフトウェア構成については、図２を用いて後述する。
【００３７】
ＳＥ用端末７００、ＤＣ管理者用端末８００、及びテナント管理者用端末９００は、プロセッサ、メモリ、ネットワークインタフェース、マウス及びキーボード等から構成される入力装置、並びに、表示装置等から構成される出力装置を備える。ＳＥ用端末７００、ＤＣ管理者用端末８００、及びテナント管理者用端末９００は、例えば、管理サーバ５００と接続する。
【００３８】
ネットワークＳＥはＳＥ用端末７００を操作し、ＤＣ管理者はＤＣ管理者用端末８００を操作し、また、テナント管理者はテナント管理者用端末９００を操作することによって管理サーバ５００に各種指示を行うことができる。
【００３９】
ここで、ネットワークＳＥとは、ＤＣ内の各テナントに依存しない基盤部分を設計し、当該基盤部分を構築、及び変更するユーザである。ＤＣ管理者は、ＤＣの運用を担当し、ＤＣ内に生成された複数のテナントを管理するユーザである。テナント管理者は、自身が担当するテナントのみを管理（テナントの生成及び構成の変更等）を行う。
【００４０】
検証機１５０は、ＮＷ装置の動作検証のために用いる機器であり、例えば、ルータ、ＳＷ、ＦＷ、ロードバランサ、ＶＰＮ装置等である。検証機１５０は、サービス用のネットワークからは分離された検証用ネットワークを介して、管理サーバ５００と接続する。
【００４１】
なお、ネットワークシステムを構成する物理装置は、図１に示した構成に限定されず、適宜の数を変更することができる。
【００４２】
図２は、本発明の実施例１の管理サーバ５００の構成を説明するブロック図である。
【００４３】
管理サーバ５００は、プロセッサ５５０、メモリ５１０、内部記憶装置５６０、Ｉ／Ｏインタフェース（Ｉ／Ｆ）５７０、及びネットワークインタフェース（Ｉ／Ｆ）５８０を備える。
【００４４】
管理サーバ５００は、内部ネットワークに接続される他の装置、例えば、ＮＷ装置１００等と、ネットワークＩ／Ｆ５８０を介して情報を送受信する。また、Ｉ／Ｏ  Ｉ／Ｆ５７０は、例えば、ＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）等で構成され、図示しないストレージ装置等に接続する。
【００４５】
プロセッサ５５０は、メモリ５１０に格納されるプログラムを実行する。メモリ５１０は、プロセッサ５５０によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。
【００４６】
具体的には、メモリ５１０は、テナントパターン生成／検証部５１１、自動設計設定部５１２、及び検証ルール生成部５１３を実現するためのプログラムを格納する。また、メモリ５１０は、性能要件確認用シナリオ５２１、抽出用文字列情報５２２、パターンパーツ（設定項目）情報５２３、パターンパーツ（プール）情報５２４、検証ルール管理情報５２５、テナントパターン情報５２８、テナントパターン（サブネット）情報５２９、マッピング情報５３０、ＩＤプール情報５３１、コマンドテンプレート情報５３２、テナントインスタンス管理情報５３３、物理構成情報５３６、及び設計設定タスク情報５３７を格納する。
【００４７】
プロセッサ５５０は、メモリ５１０に格納されるプログラムに従って動作することによって、所定の機能を有する機能部として動作する。例えば、プロセッサ５５０は、テナントパターン生成／検証部５１１を実現するプログラムを動作することによって、テナントパターン生成／検証部５１１が有する機能を実現する。他のプログラムについても同様である。さらに、プロセッサ５５０は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。
【００４８】
以下の説明では、機能部を主語に説明する場合、プロセッサ５５０が機能部を実現するプログラムに従って動作していることを示す。
【００４９】
また、各プログラムは、内部記憶装置５６０等の非一時的な記憶媒体に格納されてもよい。この場合、プロセッサ５５０が、内部記憶装置５６０からプログラムを読み出し、読み出されたプログラムをメモリ５１０上にロードし、ロードされたプログラムを実行する。
【００５０】
また、メモリ５１０に格納されるテーブル等の情報は、内部記憶装置５６０、不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００５１】
以下、メモリ５１０に格納されるプログラム及び情報について説明する。
【００５２】
テナントパターン生成／検証部５１１は、パターンパーツを用いて、ネットワークＳＥが要求するテナントパターンを生成する。さらに、テナントパターン生成／検証部５１１は、検証ルールを用いて、生成されたテナントパターンの内容を検証する。
【００５３】
自動設計設定部５１２は、テナントパターンを用いて、テナント管理者が要求するテナントの設定内容を生成する。さらに、自動設計設定部５１２は、生成されたテナントの設定内容を物理装置に反映（設定）する。これによって、所定のテナントが生成される。
【００５４】
検証ルール生成部５１３は、ネットワークＳＥが要求するパターンパーツ及び検証ルールを生成する。ここで、検証ルールとは、テナントパターン、又はテナントパターンを用いて生成される実際のテナントの設定内容を検証するための情報である。検証ルール生成部５１３は、後述するように、検証ルール「インスタンス数の上限」及び検証ルール「パラメータ値の範囲」等の検証ルールを生成する。
【００５５】
性能要件確認用シナリオ５２１は、検証ルール「インスタンス数の上限」が生成される場合に、検証機１５０の性能を確認するためのコマンド、及び当該コマンドに対応する応答文字列の対応関係を示す情報を格納する。性能要件確認用シナリオ５２１の詳細については、図３を用いて後述する。
【００５６】
抽出用文字列情報５２２は、検証ルール「パラメータ値の範囲」又は検証ルール「インスタンス数の上限」が生成される場合に、検証機１５０等のマニュアルからパラメータ値の範囲又は上限値を抽出するための文字列を格納する。抽出用文字列情報５２２の詳細については、図４を用いて後述する。
【００５７】
パターンパーツ（設定項目）情報５２３は、パターンパーツのうち設定項目に関する情報を格納する。パターンパーツ（設定項目）情報５２３は、テナントパターンを生成又は変更するときに利用される。パターンパーツ（設定項目）情報５２３の詳細については、図５を用いて後述する。
【００５８】
パターンパーツ（プール）情報５２４は、パターンパーツのうちＩＤプールに関する情報を格納する。パターンパーツ（プール）情報５２４は、パラメータ値を決定するときに利用される。パターンパーツ（プール）情報５２４の詳細については、図６を用いて後述する。
【００５９】
検証ルール管理情報５２５は、検証ルール生成部５１３によって生成された検証ルールに関連する情報を格納する。本実施例では、複数の検証ルールが生成されるため、検証ルール管理情報５２５には複数の検証ルールに関連する情報が格納される。検証ルール管理情報５２５の詳細については、図７、図８、及び図９を用いて後述する。
【００６０】
テナントパターン情報５２８は、テナントを生成するための情報であるテナントパターンに関する情報を格納する。テナントパターン情報５２８には、ノード、設定項目、パラメータ、及びパラメータ値の決定方法等の情報が格納される。テナントパターン情報５２８の詳細については、図１０Ａ及び図１０Ｂを用いて後述する。
【００６１】
テナントパターン（サブネット）情報５２９は、テナントのサブネットを生成するための情報である。テナントパターン（サブネット）情報５２９の詳細については、図１１を用いて後述する。
【００６２】
マッピング情報５３０は、テナントパターンにおけるノードと、設定対象となる物理装置との対応関係を示す情報である。マッピング情報５３０の詳細については、図１２を用いて後述する。
【００６３】
ＩＤプール情報５３１は、テナントパターンのパラメータ値を決定するためのＩＤプールを規定する情報である。ＩＤプール情報５３１の詳細については、図１３を用いて後述する。
【００６４】
コマンドテンプレート情報５３２は、パラメータ部分が未設定である設定コマンドの文字列である。コマンドテンプレート情報５３２は、設定項目に関連する情報であり、決定されたパラメータ値をコマンドテンプレートのパラメータ部分に代入することによって、設定コマンドが生成される。コマンドテンプレート情報５３２の詳細については、図１４を用いて後述する。
【００６５】
テナントインスタンス管理情報５３３は、自動設計設定部５１２によって生成又は更新されたノードに関するテナントインスタンスの情報を管理する。ここで、インスタンスとは、テナントパターンから生成されたテナント、並びに、テナントにおけるノード、サブネット、及びマッピング等の実体である。
【００６６】
本実施例では、ノード、サブネット、マッピングのそれぞれのインスタンスに関するテナントインスタンス情報５３３１、５３３２、５３３３が存在する。テナントインスタンス管理情報５３３の詳細については、図１５、図１６、及び図１７を用いて後述する。
【００６７】
物理構成情報５３６は、各機能部が管理対象の物理装置又は仮想装置から情報を収集し、又は、情報を設定するための認証情報及びアドレス等を格納する。物理構成情報５３６の詳細については、図１８を用いて後述する。
【００６８】
設計設定タスク情報５３７は、運用者等が設計した設定内容を含む設計又は設定タスクを管理する。設計設定タスク情報５３７の詳細については、図１９を用いて後述する。
【００６９】
図３は、本発明の実施例１の性能要件確認用シナリオ５２１の一例を示す説明図である。
【００７０】
性能要件確認用シナリオ５２１は、ＩＤ５２１１、性能要件５２１２、コマンド５２１３、及び応答文字列５２１４を含む。
【００７１】
ＩＤ５２１１は、性能要件確認用シナリオ５２１におけるエントリ、すなわち、シナリオを一意に識別するための識別子である。性能要件５２１２は、確認対象の性能を示す情報である。性能要件５２１２は、パターンパーツ及び検証ルールの生成時に、ＳＥ用端末７００から入力される。
【００７２】
コマンド５２１３は、確認対象の性能を確認するために用いられるコマンドの文字列である。応答文字列５２１４は、コマンドの実行結果である文字列である。応答文字列５２１４に格納される文字列の中から、確認対象の性能値が抽出される。本項目は正規表現等によって、応答文字列５２１４の中から、確認対象の性能値が抽出される。図３に示す例では、括弧の部分「（）」が、確認対象の性能値として抽出される。
【００７３】
図４は、本発明の実施例１の抽出用文字列情報５２２の一例を示す説明図である。
【００７４】
抽出用文字列情報５２２は、ＩＤ５２２１、及び抽出用文字列５２２２を含む。
【００７５】
ＩＤ５２２１は、抽出用文字列情報５２２におけるエントリ、すなわち、抽出用文字列を一意に識別するための識別子である。本項目は、パターンパーツ及び検証ルール生成時に、ＳＥ用端末７００から入力される。このとき、ＩＤ５２２１に対応する抽出用文字列を用いて、検証ルールが生成される。
【００７６】
抽出用文字列５２２２は、パラメータ値の範囲、又はインスタンス数の上限値等をマニュアルから抽出するための文字列である。本項目は正規表現を用いてもよい。図４に示す例では、括弧の部分「値１」と「値２」がパラメータ値の範囲として抽出される。
【００７７】
図５は、本発明の実施例１のパターンパーツ（設定項目）情報５２３の一例を示す説明図である。
【００７８】
パターンパーツ（設定項目）情報５２３は、パターンパーツＩＤ５２３０１、ノード５２３０２、多重度５２３０３、設定項目５２３０４、設定順番５２３０５、パラメータＩＤ５２３０６、パラメータ５２３０７、決定方法５２３０８、パラメータ種別タグ５２３０９、及びコマンドテンプレート５２３１０を含む。
【００７９】
パターンパーツＩＤ５２３０１は、パターンパーツ（設定項目）情報５２３におけるエントリ、すなわち、パターンパーツを一意に識別するための識別子である。パターンパーツ（設定項目）情報５２３には、一つ以上の設定項目から構成されるパターンパーツに関する情報が格納される。
【００８０】
ノード５２３０２は、パターンパーツがノードである場合に、当該ノードを識別するための情報である。ノード以外のパターンパーツの場合には、ノード５２３０２には、ハイフン記号が格納される。
【００８１】
多重度５２３０３は、生成されるノードの数に関する情報である。図５に示すように、アスタリスク記号と数値を用いて、デフォルトのインスタンス数を規定できる。例えば、パターンパーツＩＤ５２３０１が「パーツ４」のエントリでは、デフォルトのインスタンス数が「２」である。
【００８２】
設定項目５２３０４は、パターンパーツを構成する設定項目の識別名である。設定順番５２３０５は、設定項目単位の設定順番である。テナントの設計時には本項目を利用して、設定順番が決められる。
【００８３】
パラメータＩＤ５２３０６は、設定項目に含まれるパラメータを一意に識別するための識別子である。パラメータ５２３０７は、パラメータの識別名である。
【００８４】
決定方法５２３０８は、パラメータ５２３０７に対応するパラメータの決定方法である。決定方法の詳細については、図１０を用いて後述する。なお、パターンパーツの決定方法はテナントパターンの決定方法と以下の点が異なる。
【００８５】
１点目は、パターンパーツに規定されていない外部の情報を参照する決定方法「参照」の場合、参照先は規定されず、単に「参照して決める」という情報だけが規定されるものする。なお、パラメータに対して検証ルール「値の関連性」が適用されている場合、管理サーバ５００は、テナントパターン生成時にユーザに参照先の候補を示し、参照先の決定を支援する。
【００８６】
２点目は、決定方法「プールからの割り当て」では、テナントパターン生成時に、図６に記載のパターンパーツ（プール）情報５２４におけるＩＤプールが利用され、決定方法「プール（パターン生成時に利用プールを指定）」では、とテナントパターン生成時に、プールが指定される。
【００８７】
パラメータ種別タグ５２３０９は、パラメータの種別である。本項目を用いて、検証ルール「値の関連性」等が設定された設定項目の参照先のパラメータ候補が選択される。
【００８８】
コマンドテンプレート５２３１０は、設定項目の設定コマンドを生成するときに利用されるコマンドテンプレートの識別子である。コマンドテンプレートは、設定項目の追加及び設定項目の削除が指定される。
【００８９】
本実施例では、前述したようなパターンパーツを利用することによって、テナントパターンを容易に生成できる。
【００９０】
図６は、本発明の実施例１のパターンパーツ（プール）情報５２４の一例を示す説明図である。
【００９１】
パターンパーツ（プール）情報５２４は、パターンパーツＩＤ５２４１、プール名５２４２、種類５２４３、及び個別情報５２４４を含む。
【００９２】
パターンパーツＩＤ５２４１は、パターンパーツ（プール）情報５２４のエントリ、すなわち、パターンパーツを一意に識別するための識別子である。パターンパーツ（プール）情報５２４には、ＩＤプールから構成されるパターンパーツに関する情報が格納される。
【００９３】
プール名５２４２は、ＩＤプールの識別名である。種類５２４３は、ＩＤプールの種類である。なお、ＩＤプールの詳細については、図１３を用いて後述する。
【００９４】
個別情報５２４４は、ＩＤプールの具体的な内容を格納する。図４に示す例では、プール名５２４２が「ＩＰアドレス１」のエントリの個別情報５２４４には、ネットワークアドレスの範囲、及びデフォルトマスク長が格納され、プール名５２４２が「ＶＬＡＮ  ＩＤ」、「ポリシ  ＩＤ」及び「ＡＣＬ  ＩＤ」のエントリの個別情報５２４４には、最小ＩＤ及び最大ＩＤが格納される。
【００９５】
なお、デフォルトマスク長は、割り当てられるネットワークアドレスのデフォルトのマスク長である。最小ＩＤは、ＩＤプールにおけるＩＤの最小値である。最大ＩＤ、ＩＤプールにおけるＩＤの最大値である。
【００９６】
次に、検証ルール管理情報５２５について説明する。本実施例では、検証ルール管理情報５２５には、検証ルールそのものの情報を管理する検証ルール情報５２５１、並びに、所定の検証ルールの具体的な内容を管理する検証ルール内容（上限値）情報５２５２及び検証ルール内容（必要構成）情報５２５３が含まれる。以下、それぞれ情報について説明する。
【００９７】
図７は、本発明の実施例１の検証ルール情報５２５１の一例を示す説明図である。
【００９８】
検証ルール情報５２５１は、検証ルールＩＤ５２５１１、検証ルール種類５２５１２、検証ルール内容５２５１３、検証対象５２５１４、デバイス情報５２５１５を含む。
【００９９】
検証ルールＩＤ５２５１１は、検証ルール情報５２５１のエントリ、すなわち、検証ルールを一意に識別するための識別子である。
【０１００】
検証ルール種類５２５１２は、検証ルールの種類である。本実施例では、「パラメータ値の範囲」、「インスタンス数の上限」、「値の関連性」、「設定順番」、「必要構成」の五つの種類の検証ルールがある。
【０１０１】
検証ルール「パラメータ値の範囲」は、パラメータ値が取り得る範囲を検証するルールである。検証ルール「インスタンス数の上限」は、設定項目又はノードのインスタンス数の上限値を検証するルールである。検証ルール「値の関連性」は、テナントパターンにおける所定のパラメータの種別を検証するルールである。検証ルール「設定順番」は、設定項目間の順序性を検証するルールである。検証ルール「必要構成」は、設定項目を設定するために、予め設定されている必要がある構成の有無を検証するルールである。なお、検証対象の構成は、主にテナントで共有される設定項目である。
【０１０２】
検証ルール内容５２５１３は、検証ルールの内容である。検証ルールの種類に応じて、以下のように検証ルール内容５２５１３に格納される内容が異なる。
【０１０３】
検証ルール「パラメータ値の範囲」では、検証ルール内容５２５１３には、所定のパラメータ値に範囲があることが規定される。図７に示す例では、ＦＷのポリシＩＤにはパラメータ値の範囲があることが規定されている。ＦＷのポリシＩＤ以外にも、例えば、スイッチの回線帯域幅、ＶＬＡＮ  ＩＤ、スパニングツリーのポート等の各種優先度、スパニングツリーのＢＰＤＵ等の各種送信間隔、及びルーティングプロトコルのメトリック等がある。
【０１０４】
検証ルール「インスタンス数の上限」では、検証ルール内容５２５１３には、インスタンス数に上限があることが規定される。なお、性能要件によって、インスタンス数の上限値は異なる。また、前提となる設定項目（同時に利用する機能）によっても、インスタンス数の上限値が変わる。したがって、当該検証ルールには、図８に示すような性能要件及び前提設定項目が規定され、性能要件又は前提設定項目の組み合わせごとに上限値が規定される。
【０１０５】
図７に示す例では、インスタンス数の上限値が設けられた設定項目としてＶＲＦが規定されている。ＶＲＦ以外にも例えば、ＦＷの仮想ルータ等がある。
【０１０６】
検証ルール「値の関連性」では、検証ルール内容５２５１３には、所定のパラメータが他のパラメータと関連性があること、及び関連するパラメータの識別情報が規定される。関連するパラメータの識別情報は、パラメータ種別タグ５２３０９を用いて規定される。
【０１０７】
図７に示す例では、ロードバランサの送信先サーバのＩＰには他のパラメータと関連性があり、関連するパラメータの種別は「公開サーバＩＰ」であることが規定されている。送信先サーバのＩＰ以外にも、例えば、「デフォルトゲートウェイのＩＰアドレス」、「上位スイッチのＩＰアドレス」、「ポートに設定するＶＬＡＮ  ＩＤ」、及び「対向ポートに設定するＶＬＡＮ  ＩＤ」等がある。
【０１０８】
検証ルール「設定順番」では、検証ルール内容５２５１３には、二つの設定項目Ａ及び設定項目Ｂの順序性が規定される。本実施例では、設定項目Ｂは、設定項目Ａの後に設定される設定項目であるものとする。また、設定項目は、後述する設定項目種別タグ５２８０５（図１０Ａ参照）を用いて規定される。
【０１０９】
図７に示す例では、「ＶＲＦ」は「ＶＲＦとＶＬＡＮの関連付け」より先に設定されることが規定されている。これ以外にも例えば、「ＶＬＡＮ」と「ＶＬＡＮ  ＩＦへのＩＰ設定」、「アクセスリスト」と「フロー定義」等がある。
【０１１０】
検証ルール「必要構成」では、検証ルール内容５２５１３には、検証ルール、検証対象である設定項目において、予め設定が必要な設定項目が規定される。図７に示す例では、「ＡＣＬ」は、予め「共通ゾーン」の設定が必要であることが規定されている。これ以外にも例えば、「ＶＬＡＮ」と「ポートのトランクモード設定」、「ＶＬＡＮをリングに所属」と「リング」、「ポートチャネルへのＶＬＡＮ設定」と「ポートチャネル（ＬＬＤＰ）」等がある。
【０１１１】
検証対象５２５１４は、検証ルールを適用する対象（パターンパーツ）を特定する情報である。本実施例では、検証ルールを適用するパターンパーツを特定する情報として、パターンパーツの識別子、又はパラメータの識別子が用いられる。なお、検証ルールの種類に応じて、格納される情報が以下のように異なる。
【０１１２】
検証ルール「パラメータ値の範囲」の場合、個々のパラメータが検証対象である。検証ルール「インスタンス数の上限」の場合、設定項目が検証対象である。検証ルール「値の関連性」の場合、個々のパラメータが検証対象である。検証ルール「設定順番」の場合、特定のパターンパーツが検証対象とならず、検証ルール内容５２５１３において規定された設定項目及びパラメータ種別タグ５２３０９が同一である設定項目が検証対象である。検証ルール「必要構成」の場合、設定項目が検証対象である。
【０１１３】
なお、検証ルールの検証対象は、パターンパーツ単位ではなくテナントパターンそのものの検証に用いることも可能である。この場合、検証ルールの検証ルール内容５２５１３に格納される対象のパラメータ、又は設定項目のパラメータ種別タグ５２３０９が同一であるテナントパターンのパラメータ、又は設定項目が検証対象となる。
【０１１４】
デバイス情報５２５１５は、検証ルールを適用する場合に用いられる、物理装置毎の情報である。デバイス情報５２５１５は、機種５２５１６、及び値５２５１７を含む。
【０１１５】
機種５２５１６は、物理装置の機種の識別情報である。値５２５１７は、物理装置におけるパラメータ値等である。
【０１１６】
検証ルール「パラメータ値の範囲」では、値５２５１７には、パラメータ値の範囲が規定される。検証ルール「インスタンス数の上限」では、値５２５１７には、性能要件毎、及び前提設定項目の組合せ毎に、インスタンス数の上限値が規定される。
【０１１７】
図７に示す例では、性能要件が二つあり、各性能要件に対して前提設定項目が二つある。例えば、性能要件１「ＣＰＵ負荷が５０％以下」で、前提１「ＯＳＰＦ」をＶＲＦごとに動作させ、前提２「マルチキャスト」を動作させない場合は、上限値は、「３５」であることが分かる。
【０１１８】
また、前提設定項目が「演算」の場合、検証ルールＩＤが「１０」のエントリのようにデバイス情報５２５１５の値５２５１７には、性能要件毎のインスタンス数の上限値のみが規定される。前提設定項目がある場合、インスタンス数の上限値に対して、図８で規定された演算が実行される。例えば、前提設定項目「ＯＳＰＦ」があり、性能要件が「ＣＰＵ負荷８０％以下」の場合、インスタンス数の上限値は、２００（上限値２）ｘ０．５＝１００となる。検証ルール「値の関連性」、「設定順番」、及び「必要構成」では、機種毎のパラメータ値の規定は不要である。
【０１１９】
管理サーバ５００は、テナントパターン、又はテナントの設定内容に対して、前述したような多様な種類の検証を行うことができる。これによって、適切な構成のテナントパターン、又はテナントを容易に生成することができる。
【０１２０】
検証ルール「パラメータ値の範囲」に基づいた検証が行われることによって、物理装置がサポートする範囲内のパラメータ値を設定できる。物理装置に対してサポートされた範囲外のパラメータ値が入力できるため不正な動作を生ずる場合があるが、当該検証ルールに基づいた検証が行われることによって、運用者等が事前に物理装置に入力されるパラメータ値の範囲を確認することができる。したがって、テナントパターン、又はテナントの設計ミスを低減できる。
【０１２１】
検証ルール「インスタンス数の上限」に基づいた検証が行われることによって、テナントパターン、又はテナントにおいて要求された品質を確保することができる。さらに、検証ルール「インスタンス数の上限」に基づいた検証では、テナントパターン毎に異なる性能要件に対応した検証を行うことができる。
【０１２２】
検証ルール「値の関連性」に基づいた検証が行われることによって、パターンパーツを利用するときに、パターンパーツのパラメータとは異なるパラメータとの関連付けが容易となり、テナントパターンへの組み込みが容易になる。
【０１２３】
検証ルール「設定順番」に基づいた検証が行われることによって、運用者は正しい設定順番で設定項目を設定できる。したがって、テナントの設定ミスを低減することができる。
【０１２４】
検証ルール「必要構成」に基づいた検証が行われることによって、設定ミスを低減することができる。
【０１２５】
図８は、本発明の実施例１における検証ルール内容（上限値）情報５２５２の一例を示す説明図である。
【０１２６】
検証ルール内容（上限値）情報５２５２は、図７に記載の検証ルールのうち、検証ルール「インスタンス数の上限」に関する性能要件及び前提設定項目に関する情報を格納する。
【０１２７】
インスタンス数の上限値は、テナントパターンに対する性能要件、及び性能に影響し、検証対象の設定項目に関連する他の設定項目（前提設定項目）によっても異なるため、検証ルール内容（上限値）情報５２５２に性能要件及び前提設定項目が規定される。
【０１２８】
検証ルール内容（上限値）情報５２５２は、検証ルールＩＤ５２５２１、性能要件５２５２２、前提ＩＤ５２５２３、前提設定項目（個別指定）５２５２４、及び前提設定項目（演算）５２５２５を含む。
【０１２９】
検証ルールＩＤ５２５２１は、検証ルールを一意に識別するための識別子である。ここでは、検証ルール「インスタンス数の上限」に対応するエントリの識別子が格納される。
【０１３０】
性能要件５２５２２は、性能要件、及び性能要件の上限値を示す情報である。具体的なインスタンス数の上限値は、図７のデバイス情報５２５１５の値５２５１７によって規定され、本項目は値５２５１７への参照（上限値１、上限値２等）に用いられる情報である。図８に示す例では、性能要件としてＣＰＵ負荷が規定されている。これ以外にも例えば、ＭＡＣテーブルの使用率、メモリの使用率、及び帯域使用率等がある。
【０１３１】
前提ＩＤ５２５２３は、前提設定項目を一意に識別する識別子である。
【０１３２】
前提設定項目（個別指定）５２５２４は、インスタンス数の上限値の前提となる設定項目である。本項目の組合せ毎にインスタンス数の上限値が規定される。図８に示す例では、前提設定項目としてＯＳＰＦ、及びマルチキャストが規定されている。これ以外にも例えば、リング、スパニングツリー、及び各種動的ルーティングプロトコル等がある。
【０１３３】
前提設定項目（演算）５２５２５は、インスタンス数の上限値の前提となる設定項目、及び当該設定項目の有無に応じてインスタンス数の上限値を算出するための演算内容である。
【０１３４】
図９は、本発明の実施例１の検証ルール内容（必要構成）情報５２５３の一例を示す説明図である。
【０１３５】
検証ルール内容（必要構成）情報５２５３は、検証ルール「必要構成」を確認するためのコマンド、及び当該コマンドに対応する応答文字列に関する情報を格納する。
【０１３６】
検証ルール内容（必要構成）情報５２５３は、対象検証ルールＩＤ５２５３１、確認構成５２５３２、確認用コマンド５２５３３、及び応答文字列５２５３４を含む。
【０１３７】
対象検証ルールＩＤ５２５３１は、検証ルールを一意に識別するための識別子である。ここでは、検証ルール「必要構成」に対応するエントリの識別子が格納される。確認構成５２５３２は、確認対象の構成（設定項目）である。
【０１３８】
確認用コマンド５２５３３は、確認対象の構成が設定されているか否かを確認するためのコマンドである。応答文字列５２５３４は、確認用コマンド５２５３３を実行し、確認対象の構成が設定されていた場合に返ってくる文字列の一部である。したがって、確認用コマンド５２５３３を実行した結果、返ってきた文字列に応答文字列５２５３４が含まれている場合、必要な構成が設定されていると判定される。
【０１３９】
図１０Ａ及び図１０Ｂは、本発明の実施例１のテナントパターン情報５２８の一例を示す説明図である。
【０１４０】
テナントパターン情報５２８は、テナントパターンＩＤ５２８０１、ノード５２８０２、多重度５２８０３、設定項目５２８０４、設定項目種別タグ５２８０５、設定順番５２８０６、パターンパーツＩＤ５２８０７、インスタンス数上限値５２８０８、パラメータ５２８０９、決定方法５２８１０、パラメータ種別タグ５２８１１、業務フロー５２８１２、及びコマンドテンプレート５２８１３を含む。
【０１４１】
テナントパターン情報５２８ではテナントのノードとして、テナントを管理するための管理情報を規定できる。また、テナントパターン情報５２８では管理情報にパラメータを規定できる。なお、管理情報には物理装置のマッピングを行わない。図１０に示す例では、一番下のエントリが前述した管理情報に対応するものである。
【０１４２】
テナントパターンＩＤ５２８０１は、テナントパターンを一意に識別するための識別子である。ノード５２８０２は、テナントパターンにおいて規定されるノードを識別するための情報である。
【０１４３】
多重度５２８０３は、テナントにおいて、同一の構成のノードが生成される数である。ここで、同一の構成のノードとは、同一のサブネットに属し、かつ、設定項目、及びパラメータが同一のノードを示す。図１０に示すように、所定の記号と数値を用いて、デフォルトのノード数を規定できる。
【０１４４】
例えば、ノード５２８０２が「コアＳＷ１」のエントリの多重度５２８０３には、ハイフン記号が格納される。本実施例では、ハイフン記号が格納される場合には、該当するノードが一つ生成されることを意味する。また、ノード５２８０２が「ＶＭ１」のエントリの多重度５２８０３には、アスタリスク記号の場合、アスタリスク記号の次に記載された数だけノードが生成される。
【０１４５】
なお、運用者がノード数を指定した場合には、指定された数のノードが生成される。一方、運用者がノード数を指定しない場合には、多重度５２８０３において規定された数のノードが生成される。
【０１４６】
設定項目５２８０４は、ノードに対する設定項目である。設定項目種別タグ５２８０５は、設定項目５２８０４の種別を表す情報である。設定項目種別タグ５２８０５は、検証ルール「設定順番」等で検証対象の設定項目を特定するために用いられる。また、検証ルール生成部５１３によって、検証ルール「インスタンス数の上限」が生成される場合に、前提設定項目を設定するためのコマンドテンプレート等を取得するために、設定項目種別タグ５２８０５に基づいて利用する設定項目が特定される。
【０１４７】
設定順番５２８０６は、テナントパターン内の設定項目の設定順番である。設定順番５２８７に示された順番に従って、設定内容が生成される。また、検証ルール「設定順番」に基づく検証では、設定項目間において本項目が正しいか否かが検証される。
【０１４８】
パターンパーツＩＤ５２８０７は、テナントパターンの生成時に用いられたパターンパーツの識別子である。なお、パターンパーツが用いられていない場合、パターンパーツＩＤ５２８０７には、ハイフン記号が格納される。
【０１４９】
インスタンス数上限値５２８０８は、設定項目のインスタンス数の上限値である。テナントパターン生成時に、入力された性能要件、及び前提設定項目に基づいて、図７に記載の検証ルール「インスタンス数の上限」における値５２５１７からインスタンス数の上限値が選択され、選択されたインスタンス数の上限値が本項目に格納される。
【０１５０】
パラメータ５２８０９は、設定項目に含まれるパラメータの識別名である。なお、パラメータはノード内の複数の設定項目で利用することが可能である。
【０１５１】
決定方法５２８１０は、ネットワーク構成の設計時にパラメータ値を決定する方法又は定義である。
【０１５２】
決定方法５２８１０には、例えば、「固定」、「プール」、「プール（サブネット指定）」、及び「参照」等の決定方法を示す値が格納される。
【０１５３】
「固定」は、予め設定された固定値をパラメータ値として決定する方法であり、テナントパターン情報において規定される。図１０に示す例では、ノード５２８０２が「ＦＷ１」のエントリのうち、パラメータ５２８０９が「送信元」に対応する決定方法５２８１０には、「Ａｎｙ」という固定値が規定される。
【０１５４】
「プール」は、ＩＤプール情報５３１の中から所定のＩＤプールが指定され、指定されたＩＤプールから未使用のＩＤをパラメータ値として割り当てる方法である。なお、指定されたＩＤプールから割り当てられた値は、指定されたＩＤプールにおいて「使用中」という状態に変更される。
【０１５５】
また、ＩＤプールでは割り当て要求を受けた時にどのＩＤを割り当てるかを規定したロジックを予め指定するものとする。当該ロジックには、例えば、未使用の最小のＩＤから順に割り当てる「若番から」というロジック、未使用のＩＤからランダムに割り当てる「ランダム」というロジック等がある。
【０１５６】
図１０に示す例では、ノード５２８０２が「ＦＷ１」のエントリのうち、パラメータ５２８０９が「ＡＣＬ  ＩＤ」に対応する決定方法５２８１０には、「若番から」というロジックが規定される。したがって、ＩＤプール４における未使用のＩＤのうち、最小のＩＤが「ＡＣＬ  ＩＤ」に割り当てられる。
【０１５７】
「プール（サブネット指定）」は、指定されたサブネットに割り当てられたネットワークアドレスから未使用のＩＰアドレスをパラメータ値として割り当てる方法である。なお、割り当てられた値は、指定されたＩＤプールにおいて「使用中」という状態に変更される。
【０１５８】
「参照」は、他のノードのパラメータ又はサブネット情報のパラメータ値を参照し、参照されたパラメータ値を参照元のパラメータ値として設定する方法である。なお、参照先のパラメータ値と同一のパラメータ値を設定する場合に限定されず、参照先のパラメータ値に基づいて、予め設定された演算処理の実行後のパラメータ値、又は、予め設定された文字列処理の実行後のパラメータ値等を、参照元のパラメータ値として設定することも可能である。
【０１５９】
図１０に示す例では、ノード５２８０２が「ＦＷ１」のエントリのうち、パラメータ５２８０９が「宛先」に対応する決定方法５２８１０には、サブネット３のネットワークアドレスが参照され、参照された値が宛先の値となる。
【０１６０】
パラメータ種別タグ５２８１１は、パラメータの種別であり、検証ルール「値の関連性」等において、当該パラメータと関連がある他のパラメータを特定するために用いられる。
【０１６１】
業務フロー５２８１２は、設定項目ごとに設計設定を実施する業務フローの情報、及び設計設定の実施時における設定項目の操作種別に関する情報である。操作種別は、「追加」、「変更」、及び「削除」があり、管理サーバ５００は、指定された操作種別に対応するコマンドテンプレートを使用し、ノードの設定内容を生成する。なお、一つの設定項目に対して、複数の業務フローを関連づけることができる。
【０１６２】
図１０に示す例では、ノード５２８０２が「ＦＷ１」のエントリのうち、設定項目５２８０４「ＡＣＬ」に対応する業務フロー５２８１２には、業務フローとして「ＡＣＬ変更」が、操作種別として「追加」が規定される。したがって、運用者が業務フロー「ＡＣＬ変更」を指定した場合、管理サーバ５００は、ＦＷ１のＡＣＬを追加し、追加用のコマンドテンプレートを用いて、ノードの設定内容を生成する。
【０１６３】
コマンドテンプレート５２８１３は、ノードの設定内容のコマンドを生成するためのテンプレート情報である。コマンドテンプレート５２８１３には、追加、変更、削除用のコマンドテンプレートが登録される。
【０１６４】
図１１は、本発明の実施例１のテナントパターン（サブネット）情報５２９の一例を示す説明図である。
【０１６５】
テナントパターン（サブネット）情報５２９は、テナントパターンＩＤ５２９１、サブネットＩＤ５２９２、ＶＬＡＮ  ＩＤプール５２９３、所属ノード５２９４、及びアドレスプール５２９５を含む。
【０１６６】
テナントパターンＩＤ５２９１は、サブネットが所属するテナントパターンを識別するための識別子である。サブネットＩＤ５２９２は、テナントパターンのサブネットを一意に識別するための識別子である。ＶＬＡＮ  ＩＤプール５２９３は、当該サブネットにおいて利用するＶＬＡＮ  ＩＤを割り当てる場合に用いられるＩＤプールである。所属ノード５２９４は、当該サブネットに所属するノードの情報である。アドレスプール５２９５は、当該サブネットにおいて利用するネットワークアドレスを割り当てる場合に用いられるＩＤプールである。
【０１６７】
図１２は、本発明の実施例１のマッピング情報５３０の一例を示す説明図である。
【０１６８】
マッピング情報５３０は、テナントパターンＩＤ５３０１、ノード５３０２、物理装置５３０３、及びノード仮想化５３０４を含む。
【０１６９】
テナントパターンＩＤ５３０１は、テナントパターンを識別するための識別子である。ノード５３０２は、テナントパターンを構成するノードの識別子であり、マッピング元のノードを示す情報である。物理装置５３０３は、ノードのマッピング先の物理装置を識別するための情報である。
【０１７０】
ノード仮想化５３０４は、ノードを仮想化するか否かを示す情報である。本実施例では、ノード仮想化５３０４には、ノード仮想化を許可する旨の情報が格納される。例えば、ノードがサーバの場合、当該サーバをマッピング先としては物理サーバ２００又はＶＭ３００の二つのマッピング先が存在し、ノード仮想化５３０４にノード仮想化を許可する旨の情報が格納される場合には、物理装置５３０３に示された物理サーバ２００上で稼働するＶＭ３００がマッピング先となる。
【０１７１】
図１３は、本発明の実施例１のＩＤプール情報５３１の一例を示す説明図である。
【０１７２】
ＩＤプール情報５３１は、ＩＤ５３１１、プール名５３１２、種類５３１３、及び個別情報５３１４を含む。
【０１７３】
ＩＤプール情報５３１は、ＩＤ及びアドレスの使用状況を管理するプールインスタンスを生成するための情報である。複数のテナントパターンによって共通のＩＤプールが利用される場合と、個々のテナントパターンインスタンスごとにＩＤプールが利用される場合とがある。
【０１７４】
ＩＤ５３１１は、ＩＤプールを一意に識別するための識別子である。プール名５３１２は、当該ＩＤプールの名前情報である。
【０１７５】
種類５３１３は、ＩＤプールの種類の情報である。ＩＤプールの種類には、例えば、「ＩＰアドレス」、及び「ＩＤ」がある。「ＩＰアドレス」のＩＤプールでは、ネットワークアドレス単位と個々のＩＰアドレス単位との２段階のＩＤ管理が行われる。「ＩＤ」のＩＤプールでは、個々のＩＤ単位でＩＤ管理が行われる。ここで、ＩＤ管理とは、ＩＤの使用／不使用の状態を管理することを示す。
【０１７６】
個別情報５３１４は、ＩＤプールの具体的な内容を格納する。「ＩＰアドレス」のＩＤプールの場合、個別情報５３１４には、ネットワークアドレス及びデフォルトマスク長が格納される。また、「ＩＤ」のＩＤプールの場合、個別情報５３１４には、最小ＩＤ及び最大ＩＤが格納される。
【０１７７】
図１４は、本発明の実施例１のコマンドテンプレート情報５３２の一例を示す説明図である。
【０１７８】
コマンドテンプレート情報５３２は、ＩＤ５３２１、名前５３２２、及びコマンドテンプレート５３２３を含む。コマンドテンプレート情報５３２は、ネットワークシステム全体で規定され、複数のテナントパターンによって利用される。
【０１７９】
ＩＤ５３２１は、コマンドテンプレートを一意に識別するための識別子である。名前５３２２は、コマンドテンプレートの名前情報である。
【０１８０】
コマンドテンプレート５３２３は、コマンドテンプレートを格納した情報である。コマンドテンプレートは、コマンド又は命令列にパラメータを代入できるような形式になっており、管理サーバ５００はコマンドテンプレート５３２３のコマンドにパラメータを代入することによって、所定のコマンドを生成する。
【０１８１】
図１４の例では、ＩＤ５３２１が「２」のエントリには、名前５３２２が「ＡＣＬ削除」のコマンドテンプレートが格納される。当該コマンドテンプレートは、「ｕｎｓｅｔ  ｐｏｌｉｃｙ  ｉｄ  ＜ＩＤ＞」であり、＜ＩＤ＞部分がパラメータである。管理サーバ５００は、＜ＩＤ＞に所定のＩＤを代入して、コマンドを生成する。
【０１８２】
次に、テナントインスタンス管理情報５３３について説明する。テナントインスタンス管理情報５３３には、テナントインスタンスのノードに関する情報を管理するテナントインスタンス（ノード）情報５３３１、テナントインスタンスのサブネットに関する情報を管理するテナントインスタンス（サブネット）情報５３３２、及びテナントインスタンスのノードと物理装置との間のマッピングに関する情報を管理するテナントインスタンス（マッピング）情報５３３３を含む。以下、それぞれ情報について説明する。
【０１８３】
図１５は、本発明の実施例１のテナントインスタンス（ノード）情報５３３１の一例を示す説明図である。
【０１８４】
テナントインスタンス（ノード）情報５３３１は、テナントインスタンスＩＤ５３３１１、ノード５３３１２、ノードインスタンス５３３１３、設定項目５３３１４、パラメータ５３３１５、及びパラメータ値５３３１６を含む。
【０１８５】
テナントインスタンスＩＤ５３３１１は、各テナントのインスタンスを一意に識別するための識別子である。ノード５３３１２は、テナントパターンにおいて規定されるノードを識別するための情報である。
【０１８６】
ノードインスタンス５３３１３は、テナントインスタンスにおけるノードを識別するための情報である。テナントパターンにおいて、多重度が設定されたＶＭの場合、一つのノードに対して、複数のノードインスタンスが生成される。
【０１８７】
図１５に示す例では、ノード５３３１２が「ＶＭ１」は、テナントパターン情報５２８において多重度５２８０３が「３」と設定したため、三つのノードインスタンス５３３３２「ｔＶＭ１−１」、「ｔＶＭ１−２」、「ｔＶＭ１−３」が生成される。
【０１８８】
設定項目５３３１４は、テナントインスタンスにおける各ノードの設定項目である。パラメータ５３３１５は、設定項目に含まれるパラメータの識別名である。パラメータ値５３３１６は、テナントの設計時に選択されたパラメータの値である。
【０１８９】
図１６は、本発明の実施例１のテナントインスタンス（サブネット）情報５３３２の一例を示す説明図である。
【０１９０】
テナントインスタンス（サブネット）情報５３３２は、テナントインスタンスＩＤ５３３２１、サブネットＩＤ５３３２２、ＶＬＡＮ  ＩＤ５３３２３、所属ノード５３３２４、及びネットワークアドレス５３３２５を含む。
【０１９１】
テナントインスタンスＩＤ５３３２１は、テナントインスタンスを一意に識別するための識別子である。サブネットＩＤ５３３２２は、テナントインスタンス内のサブネットを一意に識別するための識別子である。
【０１９２】
ＶＬＡＮ  ＩＤ５３３２３は、当該サブネットに割り当てられたＶＬＡＮ  ＩＤである。所属ノード５３３２４は、当該サブネットに所属するノードの情報である。ネットワークアドレス５３３２５は、当該サブネットに割り当てられたネットワークアドレスである。
【０１９３】
図１７は、本発明の実施例１のテナントインスタンス（マッピング）情報５３３３の一例を示す説明図である。
【０１９４】
テナントインスタンス（マッピング）情報５３３３は、テナントインスタンスＩＤ５３３３１、ノードインスタンス５３３３２、及び対応物理装置５３３３３を含む。
【０１９５】
テナントインスタンスＩＤ５３３３１は、テナントインスタンスを識別するための識別子である。ノードインスタンス５３３３２は、マッピング元のノード、すなわち、テナントインスタンスにおけるノードを識別するための情報である。
【０１９６】
対応物理装置５３３３３は、マッピング先の物理装置を識別するための情報である。なお、ノードインスタンスがＶＭの場合、当該ＶＭの対応物理装置５３３３３には、仮のＶＭ、当該ＶＭを接続する仮想ＳＷ、及び当該仮想ＳＷを含む物理サーバの情報が格納される。これは、ネットワークの設計時には、物理サーバ２００上にＶＭがデプロイされていない場合があるためである。
【０１９７】
図１８は、本発明の実施例１の物理構成情報５３６の一例を示す説明図である。
【０１９８】
物理構成情報５３６は、装置５３６１、機種５３６２、管理ＩＰアドレス５３６３、及びＴｅｌｎｅｔアカウント５３６４を含む。
【０１９９】
装置５３６１は、ネットワークシステム内で装置を一意に識別するための識別子である。機種５３６２は、物理装置の機種である。なお、仮想的な装置の場合、機種５３６２には情報が格納されない。
【０２００】
管理ＩＰアドレス５３６３は、当該装置から情報を収集し、また、装置に対する設定を行うためのアクセス先の管理用ＩＰアドレス情報である。Ｔｅｌｎｅｔアカウント５３６４は、装置に対する設定を行う場合に使用される認証情報であるＴｅｌｎｅｔアカウント、及びパスワードに関する情報である。なお、Ｔｅｌｎｅｔではなく、ＳＳＨ等を用いて物理装置にアクセスしてもよく、その場合は、ＳＳＨのアカウント情報が保持されることとなる。
【０２０１】
図１９は、本発明の実施例１の設計設定タスク情報５３７の一例を示す説明図である。
【０２０２】
設計設定タスク情報５３７は、ＩＤ５３７１、設計日時５３７２、設計内容５３７３、使用テナントパターン５３７４、テナントインスタンス５３７５、及び設定内容５３７６を含む。
【０２０３】
ＩＤ５３７１は、設計設定タスクを一意に識別するための識別子である。
【０２０４】
設計日時５３７２は、当該設計設定タスクの実行によってテナントの設計が完了した日時である。設計内容５３７３は、当該設計設定タスクの実行によって生成されたテナントの設計内容である。
【０２０５】
使用テナントパターン５３７４は、当該設計設定タスクの実行時に使用されたテナントパターンを識別するための情報である。使用テナントパターン５３７４には、テナントパターンの識別子が格納される。
【０２０６】
テナントインスタンス５３７５は、当該設計設定タスクの実行によって生成されたテナントインスタンスを一意に識別するための情報である。設定内容５３７６は、当該設計設定タスクの実行によって生成されたテナントの設定内容である。
【０２０７】
次に、各情報を設定するためのユーザインタフェースについて説明する。
【０２０８】
図２０は、本発明の実施例１における検証ルール生成用のユーザインタフェースの一例を示す説明図である。図２１Ａは、本発明の実施例１におけるテナントパターン生成用のユーザインタフェースの一例を示す説明図である。図２１Ｂは、本発明の実施例１における検証結果を表示するユーザインタフェースの一例を示す説明図である。図２２は、本発明の実施例１におけるテナントの設計設定用のユーザインタフェースの一例を示す説明図である。
【０２０９】
図２０に示す情報入力画面１０００は、ネットワークＳＥが検証ルール「インスタンス数の上限」を生成する場合に用いられる。なお、情報入力画面１０００は、ＳＥ用端末７００の出力装置に表示された画面イメージである。
【０２１０】
情報入力画面１０００は、検証機情報入力領域１００１、検証シナリオ入力領域、及び実行ボタン１００４を含む。
【０２１１】
検証機情報入力領域１００１は、検証機１５０の情報を入力するための領域である。検証機１５０の情報としては、例えば、管理ＩＰアドレス、機種、アカウント名、及びパスワードである。
【０２１２】
検証シナリオ入力領域１００２は、検証シナリオの内容を入力するための領域である。検証シナリオの内容としては、対象設定項目、及び性能要件である。なお、性能要件は複数入力できるため、検証シナリオ入力領域１００２には、性能要件追加ボタン１００３が含まれる。ネットワークＳＥは、性能要件追加ボタン１００３を操作することによって、必要な数だけ性能要件を追加することができる。
【０２１３】
実行ボタン１００４は、検証機情報入力領域１００１及び検証シナリオ入力領域１００２に入力された情報に基づいて、検証ルール「インスタンス数の上限」の生成を指示するための操作ボタンである。
【０２１４】
本実施例では、ネットワークＳＥが実行ボタン１００４を操作すると、検証機に対して対象設定項目が設定され、入力された性能要件に対応する性能要件確認用シナリオ５２１を用いて、性能が確認される。検証ルールの詳細な生成方法については、図２５Ａを用いて後述する。
【０２１５】
実行ボタン１００４が操作されると、ネットワークＳＥに対して検証ルール確認画面１０１０が表示される。ネットワークＳＥは、検証ルール確認画面１０１０を参照して、検証ルールの設定を確認できる。図２０に示す例では、性能要件「ＣＰＵ負荷５０％以下」におけるＶＲＦのインスタンス数の上限値が「５０」となっていることが分かる。
【０２１６】
ネットワークＳＥがキャンセルボタン１０１２を操作すると、検証ルールの生成が中止される。一方、ネットワークＳＥがＯＫボタン１０１１を操作すると、表示された内容の検証ルール「インスタンス数の上限」が生成され、検証ルール情報５２５１に生成された検証ルール「インスタンスの上限」に関する情報が追加される。
【０２１７】
図２０では検証機１５０を用いて検証ルールを生成する場合のユーザインタフェースを示したが、「既存テナントパターンに基づく生成」、及び「マニュアルに基づく生成」等の他の生成方法の種類の場合も同様の情報入力画面及び検証ルール確認画面が提供される。
【０２１８】
図２１Ａに示すテナントパターン生成画面１１００は、ネットワークＳＥが、パターンパーツを用いてテナントパターンを生成する場合に用いられる。なお、テナントパターン生成画面１１００は、ＳＥ用端末７００の出力装置に表示された画面イメージである。
【０２１９】
図２１Ａに示すように、テナントパターン生成画面１１００の左ペイン１１０１には、管理サーバ５００に格納されるパターンパーツの一覧が表示される。また、テナントパターン生成画面１１００の右ペイン１１０２には、生成中のテナントパターンが表示され、ノード、及びノードの設定項目が表示される。
【０２２０】
パターンパーツをテナントパターンに追加する場合、ネットワークＳＥは、右ペイン１１０２、又は右ペイン１１０２に表示されたノード上に、左ペイン１１０１に表示されたパターンパーツをドラッグアンドドロップすることによって、それぞれ、ノードが追加され、又はノードへの設定項目が追加される。
【０２２１】
例えば、ネットワークＳＥが、左ペイン１１０１のノードパーツの「ＶＭ（内部サーバ）」を右ペイン１１０２にドラッグアンドドロップした場合、右ペイン１１０２の一番下に表示されるようなノードが追加される。また、ネットワークＳＥが、左ペイン１１０１の設定項目パーツの「ＦＷポリシ（任意）」を、右ペイン１１０２の「ノード：外部ＦＷ」上にドラッグアンドドロップした場合、「ノード：外部ＦＷ」内にＦＷポリシのエントリが追加される。
【０２２２】
右ペイン１１０２の上部に検証処理に関連する入力領域１１０３がある。ネットワークＳＥが、当該入力領域１１０３のチェックボックス１１０４にチェックを入れおくと、管理サーバ５００がテナントパターンを編集する度に関連する検証処理を実行する。また、チェックボックス１１０４のチェックが外された状態の場合、ネットワークＳＥが検証実行ボタン１１０５を操作すると、管理サーバ５００によって検証処理が実行される。
【０２２３】
管理サーバ５００が検証処理を実行し、当該検証処理の結果、不正であると判定された場合、図２１Ｂに示すような、不正を示す検証結果を通知するダイアログ１１１０が表示される。当該ダイアログ１１１０には、ネットワークＳＥに対して、テナントパターンにおける不正を示す検証結果、及び修正案が提示される。
【０２２４】
前述したように、ネットワークＳＥは、パターンパーツを利用することによってテナントパターンを容易に生成することができ、さらに、生成されたテナントパターンの内容を検証することによって、生成されたテナントパターンの誤りを確認することができる。
【０２２５】
図２２に示すテナント設計設定画面１２００は、テナント管理者が新たに追加するテナントを設計する場合に用いられる。なお、テナント設計設定画面１２００は、テナント管理者用端末９００の出力装置に表示された画面イメージである。
【０２２６】
テナント設計設定画面１２００は、テナントパターン選択領域１２０１、及びユーザ指定領域１２０２を含む。
【０２２７】
テナント管理者は、追加するテナントを設計するためにテナントパターン選択領域１２０１に表示されたテナントパターンから所定のテナントパターンを選択する。図２２に示す例では、テナントパターン選択領域１２０１には、テナントパターンがプルダウンで表示される。
【０２２８】
特別な要件がない場合、テナント管理者は、テナントパターン選択領域１２０１のみを選択すればよく、ネットワークに関する詳細な内容を考慮することなくテナントの設計設定が行える。このように、テナント管理者が、ネットワークの詳しい知識を有さない場合であっても、誤りのないネットワークの設計設定を行うことができる。
【０２２９】
一方、選択されたテナントパターンが、決定方法が「ユーザ指定」と規定されたパラメータを含む場合、又はノードに対する多重度が設定されている場合には、ユーザ指定領域１２０２が表示される。
【０２３０】
ユーザ指定領域１２０２において、パラメータ値が入力され、当該パラメータに検証ルール「パラメータ値の範囲」が適用されている場合、管理サーバ５００は、入力されたパラメータ値に対して検証処理を実行する。検証処理の詳細については、図３０Ａを用いて後述する。
【０２３１】
なお、図３０Ａの説明では、実行ボタン１２０３が操作された後に、一括して検証ルール「パラメータ値の範囲」について検証が行われる処理となっているが、ステップＳ６０１からステップＳ６０６の処理は、パラメータ値が入力された時点で実行されてもよい。
【０２３２】
検証処理の結果、不正であると判定された場合、入力値不正通知画面１２１０が表示される。入力値不正通知画面１２１０には、入力可能なパラメータ値の範囲が提示される。
【０２３３】
実行ボタン１２０３が操作された後、検証ルール「インスタンス数の上限」及び検証ルール「必要構成」について検証が行われる。検証処理の詳細については、図３０Ｂを用いて後述する。
【０２３４】
検証処理の結果、不正であると判定された場合、テナント管理者及びＤＣ管理者に対して、不正通知画面１２２０、１２３０が表示される。
【０２３５】
テナント管理者は、インスタンス数の上限値における不正への対応はできないため、ＤＣ管理者が当該不正に対応する必要がある。したがって、テナント管理者とＤＣ管理者とには、それぞれ異なる内容の情報が通知される。また、インスタンス数の上限値に達する前に、例えば、所定のノードのインスタンス数がインスタンス数の上限値に近くなった時点において、管理サーバ５００は、ＤＣ管理者にインスタンス数がインスタンス数の上限値に近くない旨を通知してもよい。
【０２３６】
図２３は、本発明の実施例１のネットワークシステムにおけるパターンパーツ及び検証ルール生成処理、及びテナントパターン生成処理の流れを説明するシーケンス図である。図２４は、本発明の実施例１のパターンパーツ及び検証ルール生成処理、及びテナントパターン生成処理の実行時に、装置間において送受信されるメッセージの一例を示す説明図である。
【０２３７】
ステップＳ１０１からステップＳ１０５の処理は、パターンパーツ及び検証ルール生成フェーズにおける処理である。
【０２３８】
まず、ＳＥ用端末７００は、管理サーバ５００にパターンパーツ及び検証ルール生成を要求する（ステップＳ１０１）。
【０２３９】
管理サーバ５００は、生成要求を受け付けると、当該生成要求に含まれるパターンパーツ及び検証ルールの生成方法の種類に基づいて、パターンパーツ及び検証ルール生成処理を実行する（ステップＳ１０２）。パターンパーツ及び検証ルールの生成処理については、図２５Ａを用いて後述する。
【０２４０】
このとき、パターンパーツ及び検証ルールの生成方法の種類が「検証機に基づく生成」である場合、管理サーバ５００は、検証機１５０に対して、検証ルール生成用の制御メッセージを送信する（ステップＳ１０３）。制御メッセージは、図３に記載した性能確認用コマンド等が含まれる。検証機１５０は、管理サーバ５００に制御メッセージに対する制御結果である文字列を返す（ステップＳ１０４）。
【０２４１】
管理サーバ５００は、ＳＥ用端末７００に、ステップＳ１０２の生成処理の処理結果を送信する（ステップＳ１０５）。当該処理結果には、生成されたパターンパーツ、及び検証ルールが含まれる。
【０２４２】
ステップＳ１０１からステップＳ１０５の処理は、生成されるパターンパーツ又は検証ルール数だけ繰り返し実行される。
【０２４３】
ステップＳ１０６からステップＳ１１２の処理は、新規テナントパターンの生成フェーズにおける処理である。
【０２４４】
まず、ＳＥ用端末７００は、管理サーバ５００に物理装置情報を入力する（ステップＳ１０６）。物理装置情報は、図１８に示す内容の情報であり、ＮＷ装置１００の設定に必要な情報である。
【０２４５】
管理サーバ５００は、受信した物理装置情報に基づいて、物理構成情報５３６を更新する（ステップＳ１０７）。具体的には、受信した物理装置情報が、物理構成情報５３６に格納される。
【０２４６】
管理サーバ５００は、物理構成情報５３６への更新処理の結果をＳＥ用端末７００に送信する（ステップＳ１０８）。
【０２４７】
ＳＥ用端末７００は、管理サーバ５００に、新規テナントパターンの生成、又はテナントパターンの編集を要求する（ステップＳ１０９）。当該要求には、テナントパターンの生成又は編集時に利用されるパターンパーツ、検証ルール「インスタンス数の上限」における具体的なインスタンス数の上限値を決定するための性能要件、及びテナントパターンを生成に必要な情報が含まれる。
【０２４８】
管理サーバ５００は、要求された内容に基づいて、テナントパターンを生成する（ステップＳ１１０）。テナントパターンの生成処理の詳細については、図２６を用いて後述する。
【０２４９】
管理サーバ５００は、テナントパターンを生成した後、又はテナントパターンを編集した後に、テナントパターンの検証処理を実行する（ステップＳ１１１）。テナントパターンの検証処理の詳細については、図２７Ａ、図２７Ｂ、及び図２７Ｃを用いて後述する。
【０２５０】
管理サーバ５００は、ＳＥ用端末７００に、テナントパターンの検証処理の処理結果を送信する（ステップＳ１１２）。当該処理結果には、テナントパターンの生成処理の結果、及びテナントパターンの検証処理の結果が含まれる。また、テナントの検証処理の結果には、「不正」と判定された箇所、及び当該箇所における修正提案が含まれる。
【０２５１】
ステップＳ１０９からステップＳ１１２までの処理は、テナントパターンの編集が終了するまで、又は、不正と判定される箇所がなくなるまで繰り返し実行される。
【０２５２】
図２４に示すメッセージは、ステップＳ１０１からステップＳ１１２において送受信されるメッセージの送信元、送信先及び内容をそれぞれ示す。
【０２５３】
図２５Ａ、図２５Ｂ、及び図２５Ｃは、本発明の実施例１のパターンパーツ及び検証ルール生成処理を説明するフローチャートである。
【０２５４】
このフローチャートは、図２３のステップＳ１０２において実行されるパターンパーツ及び検証ルール生成処理の一例を示す。
【０２５５】
管理サーバ５００は、ＳＥ用端末７００から受け付けた生成要求に含まれる生成方法の種類を判定する（ステップＳ２０１）。
【０２５６】
生成方法の種類が「検証機に基づく生成」であると判定された場合、図２５Ｂに示すような処理が実行される。生成方法の種類が「マニュアルに基づく生成」であると判定された場合、図２５Ｃに示すような処理が実行される。
【０２５７】
なお、図２４に示すように、生成方法の種類毎に生成要求に含まれる情報が異なる。「既存テナントパターンに基づく生成」である場合、生成要求にはパターンパーツ化対象のノード又は設定項目の一覧が含まれる。生成方法が「検証機に基づく生成」である場合、生成要求には検証機の機種、前提設定項目の一覧、検証対象の設定項目、及び性能要件が含まれる。ここで、性能要件は、図８の性能要件５２５２２に示すような情報である。また、生成方法が「マニュアルに基づく生成」である場合、生成要求には生成する検証ルールの種類、設定項目の種類、抽出文字列ＩＤ、及びマニュアルの情報が含まれる。
【０２５８】
生成方法の種類が「既存テナントパターンに基づく生成」であると判定された場合、管理サーバ５００は、パターンパーツ化対象のノード又は設定項目を選択する（ステップＳ２０２）。
【０２５９】
具体的には、管理サーバ５００は、生成要求に含まれるパターンパーツ化対象のノード又は設定項目の一覧を参照し、当該一覧から、パターンパーツ化対象のノード又は設定項目を選択する。
【０２６０】
管理サーバ５００は、選択されたノード又は設定項目内に含まれるパラメータを選択する（ステップＳ２０３）。
【０２６１】
具体的には、管理サーバ５００は、テナントパターン情報５３８を参照し、選択されたノード又は設定項目に対応するエントリのパラメータ５２８０９の中から、パラメータを一つ選択する。
【０２６２】
管理サーバ５００は、選択されたパラメータの決定方法を判定する（ステップＳ２０４）。
【０２６３】
具体的には、管理サーバ５００は、選択されたパラメータ５２８０９に対応する決定方法５２８１０を参照して、選択されたパラメータの決定方法を判定する。ここでは、パラメータの決定方法が、「参照」、「プール」、又は、「参照」及び「プール」以外の決定方法の何れであるかが判定される。
【０２６４】
決定方法が「参照」及び「プール」以外の決定方法であると判定された場合、管理サーバ５００は、ステップＳ２０８に進む。
【０２６５】
決定方法が「プール」であると判定された場合、管理サーバ５００は、「プール（テナントパターンの生成時に利用プールを指定）」を生成し（ステップＳ２０７）、ステップＳ２０８に進む。
【０２６６】
当該処理によって、例えば、図５のパラメータＩＤ５２３０６が「パラメータ１０１」のエントリの決定方法５２３０８のような決定方法が生成される。
【０２６７】
決定方法が「参照」であると判定された場合、管理サーバ５００は、パターンパーツ化対象以外のノード又は設定項目に含まれる他のパラメータを参照して、パラメータ値が決定されるか否かを判定する（ステップＳ２０５）。
【０２６８】
例えば、図１０のノード５２８０２が「ＦＷ１」のパラメータ５２８０９が「宛先」の場合、ＦＷ１とは異なるサブネット３のネットワークアドレスを参照している。したがって、管理サーバ５００は、パターンパーツ化対象以外のノード又は設定項目に含まれる他のパラメータを参照して、パラメータの値が決定されると判定する。
【０２６９】
ステップＳ２０５の条件を満たさないと判定された場合、管理サーバ５００は、ステップＳ２０８に進む。
【０２７０】
ステップＳ２０５の条件を満たすと判定された場合、管理サーバ５００は、検証ルール情報５２５１に、検証ルール「値の関連性」に対応するエントリを生成し（ステップＳ２０６）、ステップＳ２０８に進む。
【０２７１】
具体的には、管理サーバ５００は、生成されたエントリの検証対象５２５１４にステップＳ２０３において選択されたパラメータの識別子を設定し、検証ルール内容５２５１３の「関連先」に、参照先のパラメータのパラメータ種別タグ５２８１１を設定する。
【０２７２】
管理サーバ５００は、選択されたノード又は設定項目に含まれる全てのパラメータについて処理が完了したか否かを判定する（ステップＳ２０８）。
【０２７３】
全てのパラメータについて処理が完了していないと判定された場合、管理サーバ５００は、ステップＳ２０３に戻る。
【０２７４】
全てのパラメータについて処理が完了したと判定された場合、パーツ化対象として選択されたノード又は設定項目を一つのパターンパーツとして生成し（ステップＳ２０９）、処理を終了する。
【０２７５】
具体的には、管理サーバ５００は、パターンパーツ（設定項目）情報５２３に、新たなエントリを生成し、当該エントリに必要な情報を格納する。なお、生成されたエントリには、テナントパターン情報５２８の選択されたノード又は設定項目に対応するエントリの情報が格納される。
【０２７６】
ステップＳ２０１において、生成方法が「検証機に基づく生成」であると判定された場合、管理サーバ５００は、前提設定項目の組合せを選択する（ステップＳ２１０）。
【０２７７】
具体的には、管理サーバ５００は、生成要求に含まれる前提設定項目の一覧を参照して、前提設定項目の組合せを選択する。なお、前提設定項目の組合せには、少なくとも一つの前提設定項目が含まれるものとする。また、前提設定項目の一覧に含まれる前提設定項目が一つのみの場合、当該前提設定項目のみを含む組合せが選択されるものとする。
【０２７８】
管理サーバ５００は、選択された前提設定項目の組合せを検証機１５０に設定する（ステップＳ２１１）。
【０２７９】
具体的には、管理サーバ５００は、生成要求に含まれる検証機の機種に基づいて、検証処理に用いる検証機１５０を特定する。さらに、管理サーバ５００は、特定された検証機１５０に、選択された前提設定項目の組合せを設定する。
【０２８０】
管理サーバ５００は、インスタンス数の上限値を「０」に設定し（ステップＳ２１２）、生成要求に含まれる性能要件に基づいて性能要件確認用シナリオを選択する（ステップＳ２１３）。
【０２８１】
具体的には、管理サーバ５００は、生成要求に含まれる性能要件の種別が、性能要件確認用シナリオ５２１の性能要件５２１２と一致するエントリを検索する。
【０２８２】
管理サーバ５００は、生成要求に含まれる性能要件から対象の性能要件を選択し（ステップＳ２１４）、また、検証対象の設定項目を検証機１５０に設定する（ステップＳ２１５）。
【０２８３】
管理サーバ５００は、選択された性能要件確認用シナリオを用いて、検証機１５０から性能値を取得する（ステップＳ２１６）。
【０２８４】
管理サーバ５００は、取得された性能値が生成要求に含まれる性能要件の値より大きいか否かを判定する（ステップＳ２１７）。
【０２８５】
取得された性能値が生成要求に含まれる性能要件の値以下であると判定された場合、管理サーバ５００は、上限値を１インクリメントし（ステップＳ２１８）、ステップＳ２１５に戻る。
【０２８６】
取得された性能値が生成要求に含まれる性能要件の値より大きいと判定された場合、管理サーバ５００は、前提設定項目の組合せ、及び現在のインスタンス数の上限値に基づいて、検証ルール「インスタンス数の上限」を生成する（ステップＳ２１９）。具体的には、以下のような処理が実行される。
【０２８７】
管理サーバ５００は、検証ルール情報５２５１及び検証ルール内容（上限値）情報５２５２に、それぞれ、新たなエントリを生成する。
【０２８８】
管理サーバ５００は、検証ルールＩＤ５２５１１に所定の識別子を格納し、また、検証ルール種類５２５１２に「インスタンス数の上限」を格納する。管理サーバ５００は、検証ルール内容５２５１３に設定項目に上限値がある旨の情報を格納し、検証対象５２５１４に設定項目の識別子を格納する。なお、設定項目の識別子は、管理サーバ５００によって自動的に付与されるものとする。管理サーバ５００は、機種５２５１６に生成要求の含まれる検証機の機種を格納し、値５２５１７に選択された前提設定項目の組み合わせ及びインスタンス数の上限値を格納する。
【０２８９】
なお、すでに対応するエントリが生成されている場合には、管理サーバ５００は、当該エントリの値５２５１７に新たな情報を追加する。
【０２９０】
さらに、管理サーバ５００は、検証ルールＩＤ５１５２１に検証ルールＩＤ５２５１１と同一の識別子を格納し、性能要件５２５２２に生成要求に含まれる性能要件を格納する。管理サーバ５００は、前提ＩＤ５２５２３に所定の識別子を格納する。管理サーバ５００は、前提設定項目５２５２４、５２５２５に、選択された前提設定項目の組合せの具体的な内容を格納する。
【０２９１】
以上がステップＳ２１８の処理の説明である。この処理によって、例えば、図７の検証ルールＩＤが「２」のような検証ルールが生成される。
【０２９２】
次に、管理サーバ５００は、選択された前提設定項目の組合せについて、全ての性能要件の処理が完了したか否か判定する（ステップＳ２２０）。
【０２９３】
例えば、生成要求に含まれる性能要件が上限値１及び上限値２を対象とする場合、上限値１及び上限値２について処理が終了したか否かが判定される。上限値１のみしか処理が終了していない場合、管理サーバ５００は、全ての性能要件の処理が完了していないと判定する。
【０２９４】
選択された前提設定項目の組合せについて、全ての性能要件の処理が完了していないと判定された場合、管理サーバ５００は、ステップＳ２１４に戻る。
【０２９５】
選択された前提設定項目の組合せについて、全ての性能要件の処理が完了したと判定された場合は、管理サーバ５００は、全ての前提設定項目の組合せについて処理が終了したか否かを判定する（ステップＳ２２１）。
【０２９６】
全ての前提設定項目の組合せについて処理が完了していないと判定された場合、管理サーバ５００は、ステップＳ２１０に戻る。全ての前提設定項目の組合せについて処理が完了したと判定された場合、管理サーバ５００は、処理を終了する。
【０２９７】
ステップＳ２０１において、生成方法が「マニュアルに基づく生成」であると判定された場合、管理サーバ５００は、抽出用文字列情報５２２を用い、生成要求に含まれるマニュアルからパラメータ値の範囲、又はインスタンス数の上限値を抽出する（ステップＳ２２２）。このとき、当該マニュアルの対象となる機種等の情報も抽出される。なお、生成要求に含まれる検証ルールが検証ルール「パラメータ値の範囲」の場合、パラメータ値が抽出され、「インスタンス数の上限」の場合、インスタンス数の上限値が抽出される。
【０２９８】
管理サーバ５００は、生成要求に含まれる検証ルールの種類を判定する（ステップＳ２２３）。
【０２９９】
生成要求に含まれる検証ルールの種類が検証ルール「パラメータ値の範囲」であると判定された場合、管理サーバ５００は、抽出されたパラメータ値の範囲用いて、検証ルール「パラメータ値の範囲」を生成し（ステップＳ２２３）、処理を終了する。具体的には、以下のような処理が実行される。
【０３００】
管理サーバ５００は、検証ルール情報５２５１に新たなエントリを生成し、当該エントリの検証ルールＩＤ５２５１１に所定の識別子を格納し、検証ルール種類５２５１２に「パラメータ値の範囲」を格納する。
【０３０１】
管理サーバ５００は、生成されたエントリの検証ルール内容５２５１３に、抽出されたパラメータ値の範囲に関連する情報を格納する。管理サーバ５００は、検証対象５２５１４に生成要求に含まれる設定項目の識別子を格納する。
【０３０２】
さらに、管理サーバ５００は、機種５２５１６にマニュアルから抽出された機種の情報を格納し、値５２５１７に抽出されたパラメータ値の範囲を格納する。
【０３０３】
以上がステップＳ２２３の処理である。この処理によって、例えば、図７の検証ルールＩＤが「１」のような検証ルールが生成される。
【０３０４】
生成四級に含まれる検証ルールの種類が検証ルール「インスタンス数の上限」であると判定された場合、管理サーバ５００は、抽出されたインスタンス数の上限値を用いて、検証ルール「インスタンス数の上限」を生成し（ステップＳ２２４）、処理を終了する。
【０３０５】
ステップＳ２２４の処理は、ステップＳ２２３と同様の処理が実行される。なお、デバイス情報５２５１５に格納される情報が異なる。
【０３０６】
以上で説明したように、本発明では、パターンパーツ及び検証ルールを容易に生成することができる。また、後述するように、運用者は、パターンパーツ及び検証ルールを用いることによって、容易にテナントパターンを生成することができる。
【０３０７】
図２６は、本発明の実施例１のパターンパーツを用いたテナントパターン生成処理を説明するフローチャートである。
【０３０８】
このフローチャートは、図２３のステップＳ１１０において実行されるテナントパターン生成処理の一例を示す。
【０３０９】
ネットワークＳＥがパターンパーツを選択する度に、テナントパターン生成処理が実行される。また、テナントパターン生成処理は、検証ルール「値の関連性」を用いて、ネットワークＳＥがパラメータ間の関連性を示す規定の生成を支援するための処理である。
【０３１０】
管理サーバ５００は、ネットワークＳＥによって選択されたパターンパーツをテナントパターンに追加する（ステップＳ３０１）。具体的には、以下のような処理が実行される。
【０３１１】
管理サーバ５００は、テナントパターン情報に新たなエントリを追加し、テナントパターンＩＤ５２８０１に、パターンパーツを追加するテナントパターンの識別子を格納する。管理サーバ５００は、パターンパーツ（設定項目）情報５２３を参照して、ネットワークＳＥによって選択されたパターンパーツに対応するエントリを取得する。管理サーバ５００は、取得されたエントリの情報に基づいて、新たに追加されたエントリの各カラムに、必要な情報を格納する。
【０３１２】
以上が、ステップＳ３０１の処理である。なお、ネットワークＳＥは、図２１Ａに示すようなユーザインタフェースを用いて、テナントパターンに対するパターンパーツの追加を要求する。
【０３１３】
次に、管理サーバ５００は、選択されたパターンパーツに検証ルール「値の関連性」が適用されているか否かを判定する（ステップＳ３０２）。具体的には、以下のような処理が実行される。
【０３１４】
管理サーバ５００は、ステップＳ３０１においてパターンパーツ（設定項目）情報５２３から取得されたエントリのパラメータＩＤ５２３０６に基づいて検証ルール情報５２５１を参照する。
【０３１５】
管理サーバ５００は、検証対象５２５１４に格納される値が、パラメータＩＤ５２３０６と一致するエントリを検索する。管理サーバ５００は、検索されたエントリの検証ルール種類５２５０１が「値の関連性」であるか否かを判定する。
【０３１６】
以上がステップＳ３０２の処理である。
【０３１７】
選択されたパターンパーツに検証ルール「値の関連性」が適用されていないと判定された場合、管理サーバ５００は、処理を終了する。
【０３１８】
選択されたパターンパーツに検証ルール「値の関連性」が適用されていると判定された場合、管理サーバ５００は、生成中のテナントパターンの中から、検証ルール内容５２５１３に規定された「関連先」と同一のパラメータ種別タグのパラメータを抽出する（ステップＳ３０３）。
【０３１９】
具体的には、管理サーバ５００は、テナントパターン情報５２８を参照し、生成中のテナントパターンに対応するエントリの中から、パラメータ種別タグ５２８１１が、検証ルール内容５２５１３に規定された「関連先」のパラメータ種別タグと一致するエントリを検索する。
【０３２０】
管理サーバ５００は、ネットワークＳＥに対して、抽出されたパラメータの一覧を参照先候補として提示する（ステップＳ３０４）。ネットワークＳＥは、参照先候補として提示されたパラメータの一覧の中から参照先のパラメータを選択する。
【０３２１】
管理サーバ５００は、ネットワークＳＥによって選択されたパラメータを、検証ルールが適用される検証対象であるパラメータの参照先として設定し（ステップＳ３０５）、処理を終了する。
【０３２２】
具体的には、管理サーバ５００は、テナントパターンに追加されたエントリの決定方法５２３８に、「参照」及び選択されたパラメータの識別子を格納する。
【０３２３】
図２７Ａ、図２７Ｂ、及び図２７Ｃは、本発明の実施例１のテナントパターン検証処理を説明するフローチャートである。
【０３２４】
このフローチャートは、図２３のステップＳ１１１において実行されるテナントパターン検証処理の一例を示す。図２１Ａのチェックボックス１１０４にチェックが入っている場合、又は、ネットワークＳＥが検証実行ボタン１１０５を操作した場合に、当該処理が実行される。このとき、管理サーバ５００には、対象テナントパターンの識別子が入力される。
【０３２５】
管理サーバ５００は、検証ルール情報５２５１の中から検証ルールを選択する（ステップＳ４０１）。ここでは、上のエントリから順に選択されるものとする。なお、一度選択されたエントリは、選択対象から除かれる。
【０３２６】
管理サーバ５００は、選択された検証ルールが適用されるパターンパーツを特定する（ステップＳ４０２）。具体的には、以下のような処理が実行される。
【０３２７】
管理サーバ５００は、検証ルール情報５２５１を参照して、選択された検証ルールに対応するエントリの検証対象５２５１４を取得する。管理サーバ５００は、取得された検証対象５２５１４に基づいて、テナントパターン情報５２８を参照して、パターンパーツを特定する。ここで、検証対象５２５１４に格納される情報によって特定方法が以下のように異なる。
【０３２８】
取得された検証対象５２５１４がパターンパーツの識別子である場合、管理サーバ５００は、テナントパターン情報５２８を参照して、テナントパターンＩＤ５２８０１が対象テナントパターンの識別子に一致するエントリを特定する。管理サーバ５００は、特定されたエントリの中から、パターンパーツＩＤ５２８０７が取得された検証対象５２５１４と一致するエントリを検索する。
【０３２９】
取得された検証対象５２５１４がパラメータの識別子である場合、管理サーバ５００は、パターンパーツ（設定項目）情報５２３を参照して、パラメータＩＤ５２３０６が取得された検証対象５２５１４と一致するパラメータを含むパターンパーツを検索する。これによって、パターンパーツＩＤ５２３０１が取得される。管理サーバ５００は、テナントパターン情報５２８を参照して、テナントパターンＩＤ５２８０１が対象テナントパターンの識別子に一致するエントリを特定する。管理サーバ５００は、特定されたエントリの中から、パターンパーツＩＤ５２８０７が取得されたパターンパーツＩＤ５２３０１と一致するパターンパーツのエントリを検索する。
【０３３０】
なお、検証ルール「パラメータ値の範囲」及び検証ルール「値の関連性」の場合、パラメータの識別子からパターンパーツが特定され、検証ルール「インスタンス数の上限」及び検証ルール「必要構成」の場合、パターンパーツの識別子からパターンパーツが特定される。検証ルール「設定順番」の場合、検証対象５２５１４は空欄のためステップＳ４０２の処理は実行されない。
【０３３１】
以上がステップＳ４０２の処理である。この処理によって、検証対象となる、パターンパーツ（ノード又は設定項目）が特定される。なお、特定されるパターンパーツが複数存在する場合、特定されたパターンパーツのリスト、例えば、パターンパーツＩＤ５２８０７のリストが出力される。また、特定されるパターンパーツが存在しない場合、すなわち、検証ルールが対象テナントパターンに適用されない場合、空のリストが出力されるものとする。
【０３３２】
次に、管理サーバ５００は、選択された検証ルールの種類を判定する（ステップＳ４０３）。
【０３３３】
具体的には、管理サーバ５００は、選択された検証ルールに対応するエントリの検証ルール種類５２５１２を参照して、選択された検証ルールの種類を判定する。
【０３３４】
検証ルール「値の関連性」が選択された場合、図２７Ｂに示す処理が実行される。検証ルール「設定順番」が選択された場合、図２７Ｃに示す処理が実行される。検証ルール「必要構成」が選択された場合、管理サーバ５００は、ステップＳ４１０に進む。
【０３３５】
検証ルール「インスタンス数の上限」が選択された場合、管理サーバ５００は、当該検証ルールにおいて規定された性能要件５２５２２に基づいて、パターンパーツ（設定項目）のインスタンス数の上限値を決定し（ステップＳ４０９）、ステップＳ４１０に進む。決定されたパターンパーツ（設定項目）のインスタンス数の上限値は、テナントパターン情報５２８のインスタンス数上限値５２８０８に格納される。
【０３３６】
また、上限値を決定するための前提設定項目５２５２４が規定されている場合、管理サーバ５００は、検証対象のテナントパターン情報５２８の中に、前提設定項目５２５２４に対応する設定項目５２８０４が含まれているか否かを判定する。当該判定処理では、前提設定項目５２５２４と同一の設定項目種別タグ５２８０５がある場合に、テナントパターン情報５２８の中に、前提設定項目５２５２４に対応する設定項目５２８０４が含まれていると判定される。管理サーバ５００は、含まれている前提設定項目の組み合わせに基づいて上限値を決定する。
【０３３７】
なお、特定された検証対象（ノード又は設定項目）が複数ある場合、ステップＳ４０９の処理が繰り返し実行される。
【０３３８】
検証ルール「パラメータ値の範囲」が選択された場合、管理サーバ５００は、当該検証ルールの適用先が対象テナントパターンのパターンパーツ（ノード又は設定項目）であるか否かを判定する（ステップＳ４０４）。すなわち、選択された検証ルール「パラメータ値の範囲」が、対象テナントパターンに適用される検証ルールであるか否かが判定される。
【０３３９】
具体的には、管理サーバ５００は、ステップＳ４０２の出力結果が空のリストであるか否かを判定する。出力結果が空のリストの場合、管理サーバ５００は、選択された検証ルール「パラメータ値の範囲」が、対象テナントパターンに適用される検証ルールでないと判定する。
【０３４０】
選択された検証ルール「パラメータ値の範囲」が、対象テナントパターンに適用される検証ルールでないと判定された場合、管理サーバ５００は、ステップＳ４１０に進む。
【０３４１】
選択された検証ルール「パラメータ値の範囲」が、対象テナントパターンに適用される検証ルールであると判定された場合、管理サーバ５００は、検証対象５２５１４から特定されるパターンパーツのパラメータ値の範囲Ｒ１を算出する（ステップＳ４０５）。
【０３４２】
具体的には、管理サーバ５００は、ステップＳ４０２において特定されたパターンパーツのエントリの決定方法５２８１０に基づいて、当該パターンパーツのパラメータ値の範囲を決定する。
【０３４３】
例えば、図１０のノード５２８０２が「ＦＷ１」のパラメータ５２８０９「ＡＣＬ  ＩＤ」の決定方法はプール４からの割り当てであるため、管理サーバ５００は、パターンパーツ（プール）情報５２４を参照する。図６に示す例では、プール４は、１０から１００００の値を割り当て可能であるため、管理サーバ５００は、当該パラメータ値の範囲Ｒ１を「１０」から「１００００」と算出する。
【０３４４】
管理サーバ５００は、設定対応物理装置の機種を特定し、特定された物理装置におけるパラメータ値の範囲Ｒ２を選択する（ステップＳ４０６）。具体的には、以下のような処理が実行される。
【０３４５】
管理サーバ５００は、テナントパターン情報５２８を参照して、ステップＳ４０２において特定されたパターンパーツを含むノード５２８０２を取得する。管理サーバ５００は、マッピング情報５３０を参照して、ノード５３０２が取得されたノード５２８０２と一致するエントリを検索する。
【０３４６】
管理サーバ５００は、検索されたエントリの物理装置５３０３に基づいて、物理構成情報５３６を参照して、物理装置に対応するエントリを特定する。管理サーバ５００は、特定されたエントリの機種５３２６に基づいて、検証ルール情報５２５１のデバイス情報５２５１５を参照して、パラメータ値の範囲Ｒ２を選択する。
【０３４７】
例えば、ノード５３０２が「ＦＷ１」の場合、図１２に示すように物理装置５３０３は「ＦＷ１」が設定対象物理装置であり、図１８に示すように装置５３６１が「ＦＷ１」の機種５３６２は「Ｊ１」である。したがって、管理サーバ５００は、検証ルールＩＤ５２５１１が「１」のエントリのデバイス情報５２５１５のうち、機種５２５１６が「Ｊ１」に対応する値５２５１７を選択する。これによって、パラメータ値の範囲Ｒ２は「１」から「４０００」となる。
【０３４８】
管理サーバ５００は、パラメータ値の範囲Ｒ１がパラメータ値の範囲Ｒ２の範囲内であるか否かを判定する（ステップＳ４０７）。
【０３４９】
パラメータ値の範囲Ｒ１が、パラメータ値の範囲Ｒ２の範囲内であると判定された場合、管理サーバ５００は、ステップＳ４１０に進む。これは、決定方法に基づいて算出されるパラメータ値が、検証ルールにおいて規定された値の範囲内に収まることが保証されるためである。
【０３５０】
パラメータ値の範囲Ｒ１が、パラメータ値の範囲Ｒ２の範囲内でないと判定された場合、管理サーバ５００は、ネットワークＳＥに対して、不正を示す検証結果及び修正案を通知し（ステップＳ４０８）、ステップＳ４１０に進む。これは、決定方法に基づいて算出されるパラメータ値が、検証ルールにおいて規定されたパラメータ値の範囲を超える可能性があるためである。したがって、管理サーバ５００は、生成されるテナントパターンに不正がある旨を通知する。
【０３５１】
ここで、通知される修正案としては、例えば、パラメータ値を決定する場合に用いられるＩＤプールの「最大ＩＤ」を、検証ルール情報５２５１に基づいて小さくする等の修正案が考えられる。
【０３５２】
なお、前述した一例では、パラメータ値の範囲Ｒ１は「１０」から「１００００」であり、パラメータ値の範囲Ｒ２は「１」から「４０００」であるため、不正を示す検証結果が出力される。
【０３５３】
なお、特定された検証対象（ノード又は設定項目）が複数ある場合、ステップＳ４０５からステップＳ４０８の処理が繰り返し実行される。
【０３５４】
管理サーバ５００は、全ての検証ルールについて処理が完了したか否かを判定する（ステップＳ４１０）。
【０３５５】
全ての検証ルールについて処理が完了していないと判定された場合、管理サーバ５００は、ステップＳ４０１に戻る。全ての検証ルールについて処理が完了したと判定された場合、管理サーバ５００は、処理を終了する。
【０３５６】
ステップＳ４０３において、検証ルール「値の関連性」が選択された場合、管理サーバ５００は、当該検証ルールの適用先が対象テナントパターンのパターンパーツ（ノード又は設定項目）であるか否かを判定する（ステップＳ４１１）。すなわち、選択された検証ルール「値の関連性」が、対象テナントパターンに適用される検証ルールであるか否かが判定される。ステップＳ４１１の処理は、ステップＳ４０４の処理と同一である。
【０３５７】
選択された検証ルール「値の関連性」が、対象テナントパターンに適用される検証ルールでないと判定された場合、管理サーバ５００は、ステップＳ４１０に進む。
【０３５８】
選択された検証ルール「値の関連性」が、対象テナントパターンに適用される検証ルールであると判定された場合、管理サーバ５００は、検証対象５２５１４に対応するパラメータの決定方法５２８１０において規定された参照先のパラメータのパラメータ種別タグ５２８１１が検証ルール内容５２５１３において規定された値と同一であるか否かを判定する（ステップＳ４１２）。具体的には、以下のような処理が実行される。
【０３５９】
管理サーバ５００は、検証対象５２５１４に対応するパラメータの決定方法５２８１０を参照して、検証対象であるパラメータが参照する他のパラメータの識別子を特定する。管理サーバ５００は、パラメータ５２８０９が特定されたパラメータの識別子と一致するエントリを検索する。
【０３６０】
管理サーバ５００は、検索されたエントリのパラメータ種別タグ５２３１１が検証ルール内容５２５１３に規定されたパラメータ種別タグと一致するか否かを判定する。
【０３６１】
ここで、検証ルール内容５２５１３に規定されるパラメータ種別タグは、例えば、図７の検証ルールＩＤ５２５１１が「３」のエントリの検証ルール内容５２５１３における「公開サーバＩＰ」という情報である。
【０３６２】
以上が、ステップＳ４１２の処理の説明である。
【０３６３】
パラメータ種別タグが同一であると判定された場合、管理サーバ５００は、ステップＳ４１０に進む。これは、正しい値の関連性が維持されているためである。なお、参照先のパラメータのパラメータ種別タグ５２３０９に値が格納されていない場合、管理サーバ５００は、検証ルールに基づく検証を行うことができないため、ステップＳ４１０に進む。
【０３６４】
パラメータ種別タグが同一でないと判定された場合、管理サーバ５００は、ネットワークＳＥに対して、不正を示す検証結果及び修正案を通知し（ステップＳ４１３）、ステップＳ４１０に進む。
【０３６５】
例えば、管理サーバ５００は、対象テナントパターンの中から、検証ルール情報５２５１に基づいて、パラメータ種別タグ５２８１１が検証ルール内容５２５１３に規定されたパラメータ種別タグと同一であるパラメータを抽出し、検証対象のパラメータが参照する先の候補を修正案として提示する。
【０３６６】
なお、特定された検証対象（ノード又は設定項目）が複数ある場合、Ｓ４１１からＳ４１３の処理が繰り返し実行される。
【０３６７】
ステップＳ４０３において、検証ルール「設定順番」が選択された場合、管理サーバ５００は、対象テナントパターンから、検証ルール内容５２５１３において規定された設定項目Ａの設定項目種別タグが同一である設定項目を選択する（ステップＳ４１４）。
【０３６８】
具体的には、管理サーバ５００は、テナントパターン情報５２８を参照して、テナントパターンＩＤ５２８０１が対象テナントパターンの識別子に一致するエントリを特定する。管理サーバ５００は、特定されたエントリの中から、設定項目種別タグ５２８０５が、検証ルール内容５２５１３において規定された設定項目Ａの設定項目種別タグと一致するエントリを検索する。
【０３６９】
管理サーバ５００は、ステップＳ４１４において検索された設定項目Ａに対応する設定項目を含むノードのエントリから、検証ルール内容５２５１３において規定された設定項目Ｂの設定項目種別タグが同一である設定項目を選択する（ステップＳ４１５）。
【０３７０】
管理サーバ５００は、選択された設定項目が存在するか否かを判定する（ステップＳ４１６）。具体的には、設定項目Ａ及び設定項目Ｂがともに存在するか否かが判定される。
【０３７１】
選択された設定項目が存在しないと判定された場合、管理サーバ５００は、ステップＳ４１８に進む。
【０３７２】
選択された設定項目が存在すると判定された場合、管理サーバ５００は、ネットワークＳＥに対して、不正を示す検証結果及び修正案を通知し（ステップＳ４１７）、ステップＳ４１８に進む。
【０３７３】
通知される修正案としては、例えば、検証ルール情報５２５１に基づいて、設定項目Ｂが設定された後に設定項目Ａが設定される場合、テナントパターン内の設定項目の設定順番を変更する等が考えられる。
【０３７４】
管理サーバ５００は、検証ルール内容５２５１３において規定された全ての設定項目Ａについて処理が完了したか否かを判定する（ステップＳ４１８）。
【０３７５】
全ての設定項目Ａについて処理が完了していないと判定された場合、管理サーバ５００は、ステップＳ４１４に戻る。全ての設定項目Ａについて処理が完了したと判定された場合、管理サーバ５００は、ステップＳ４１０に進む。
【０３７６】
図２７Ａ、図２７Ｂ、及び図２７Ｃを用いて説明したように、ネットワークＳＥは、テナントパターン生成時に、パターンパーツを用いることによって容易にテナントパターンを生成できる。また、管理サーバ５００は、生成されたテナントパターンに対して、検証処理を実行することによって、正しい構成のテナントパターンを容易に生成できる。これによって、テナント構築作業及び変更作業の効率化及び高品質化を実現できる。
【０３７７】
図２８は、本発明の実施例１のネットワークシステムにおけるテナントのネットワーク設計設定処理の流れを説明するシーケンス図である。図２９は、本発明の実施例１のテナントネットワーク設計設定処理の実行時に、装置間において送受信されるメッセージの一例を説明する図である。
【０３７８】
まず、テナント管理者用端末９００は、管理サーバ５００にテナントの追加を要求する（ステップＳ５０１）。テナントの追加要求には、少なくとも、使用されるテナントパターンの識別子が含まれる。なお、テナント管理者がユーザ入力値を指定した場合、テナントの追加要求には当該ユーザ入力値も含まれる。
【０３７９】
なお、図２８に示す例では、テナント管理者用端末９００からテナントの追加要求が送信されているが、ＤＣ管理者用端末８００から当該要求が送信されてもよい。この場合、ステップＳ５０６において受信する検証結果、及びステップＳ５１０において受信する処理結果は、ＤＣ管理者用端末８００に送信される。
【０３８０】
管理サーバ５００は、テナントの追加要求を受け付けると、当該要求に含まれるテナントパターンの識別子に基づいてマッピング情報５３０を参照して、テナントパターン内のノードに対応する物理装置を特定する（ステップＳ５０２）。
【０３８１】
具体的には、管理サーバ５００は、マッピング情報５３０を参照して、テナントパターンＩＤ５３０１が追加要求に含まれるテナントパターンの識別子に一致するエントリを検索する。管理サーバ５００は、検索されたエントリのノード５３０２及び物理装置５３０３を参照することによって、テナントパターン内のノードに対応する物理装置を特定する。
【０３８２】
管理サーバ５００は、ネットワークシステムのノードに対するパラメータ値を決定するためのパラメータ値決定処理、及び決定されたパラメータ値に基づく設定内容生成処理を実行する（ステップＳ５０３）。
【０３８３】
また、管理サーバ５００は、設定内容生成処理の実行中に、設定内容の検証処理を実行する。この時、管理サーバ５００は、検証ルール「必要構成」に基づく検証処理を実行するために、ＮＷ装置１００にアクセスする（ステップＳ５０４、ステップＳ５０５）。パラメータ値決定処理、及び設計内容生成処理の詳細については、図３０Ａ、３０Ｂを用いて後述する。
【０３８４】
管理サーバ５００は、検証結果をテナント管理者用端末９００に通知する（ステップＳ５０６）。当該検証結果には、検証処理の結果及び設計設定処理の結果が含まれる。
【０３８５】
不正を示す検証結果が含まれなくなるまで、ステップＳ５０１からステップＳ５０６の処理が繰り返し実行される。例えば、テナント管理者は、不正を示す検証結果が出力された場合、テナントの設計時に入力するユーザ入力値を検証ルールにおいて規定されるパラメータ値の範囲内の値に変更する。
【０３８６】
管理サーバ５００は、不正を示す検証結果が出力されたくなった後、設定処理を開始し、ＮＷ装置１００に設定要求を送信する（ステップＳ５０７）。
【０３８７】
ＮＷ装置１００は、設定要求を受信した後、ステップＳ５０３において生成された設定内容に基づいて、ＮＷ装置１００自身の構成情報を更新し、管理サーバ５００に設定結果を通知する（ステップＳ５０８）。
【０３８８】
管理サーバ５００は、全てのＮＷ装置１００から設定結果を受信した後、追加したテナントのテナントインスタンスを生成する（ステップＳ５０９）。このとき、管理サーバ５００は、生成されたテナントインスタンスに関する情報を、テナントインスタンス管理情報５３３に格納する。その後、管理サーバ５００は、設計設定タスク情報５３７の状態を更新する（ステップＳ５１０）。
【０３８９】
管理サーバ５００は、テナント管理者用端末９００に、処理結果を通知する（ステップＳ５１１）。また、管理サーバ５００は、ステップＳ５０３において実行された設定内容生成処理において検証ルール「インスタンス数の上限」に基づく検証処理の結果、現在のインスタンス数がインスタンス数の上限値より大きくなった場合、ＤＣ管理者にアラートを送信する（ステップＳ５１２）。
【０３９０】
アラートの内容としては、例えば、現在のインスタンス数がインスタンス数の上限値より大きくなったため、ＮＷ装置１００の増設等の提案が考えられる。また、管理サーバ５００は、インスタンス数がインスタンス数の上限値に近くなった時に、ＮＷ装置１００の増設等の提案をＤＣ管理者に通知してもよい。
【０３９１】
前述したように、管理サーバ５００は、テナントのネットワークの設計設定時に、パラメータ値の範囲について検証を行い、当該検証結果から追加される設定項目に必要なＮＷ設定の検証を行い、さらに、性能に応じたインスタンス数の上限値について検証を行う。これによって、ネットワーク設定の失敗を防止することができる。
【０３９２】
図２９に示すメッセージは、ステップＳ５０１からステップＳ５１２において送受信されるメッセージの送信元、送信先及び内容をそれぞれ示す。
【０３９３】
図３０Ａ、及び図３０Ｂは、本発明の実施例１のパラメータ値決定処理、及び設定内容生成処理を説明するフローチャートである。
【０３９４】
このフローチャートは、図２８のステップＳ５０３において実行されるパラメータ値決定処理、及び設定内容生成処理の一例を示す。
【０３９５】
管理サーバ５００は、テナントパターン情報５２８を参照して、テナントの追加時に使用されるテナントパターンに含まれるパラメータの中から、処理対象のパラメータを選択する（ステップＳ６０１）。なお、一度選択されたパラメータは、選択対象から除かれる。
【０３９６】
管理サーバ５００は、選択されたパラメータのエントリの決定方法５２８１０に基づいて、当該パラメータのパラメータ値Ｖ１を決定する（ステップＳ６０２）。なお、パラメータ値の決定方法としては、図１０Ａ及び図１０Ｂに示すように、「参照」、「プール」、「ユーザ指定」、及び「固定」がある。
【０３９７】
管理サーバ５００は、選択されたパラメータに対して検証ルール「パラメータ値の範囲」が適用されているか否かを判定する（ステップＳ６０３）。具体的には、以下のような処理が実行される。
【０３９８】
管理サーバ５００は、検証ルール情報５２５１を参照して、検証ルール種類５２５１２が「パラメータ値の範囲」であるエントリを検索する。管理サーバ５００は、検索されたエントリの検証対象５２５１４からパラメータの識別子を取得する。
【０３９９】
管理サーバ５００は、パターンパーツ（設定項目）情報５２３を参照して、パラメータＩＤ５２３０６が取得されたパラメータの識別子と一致するエントリを検索する。管理サーバ５００は、検索されたエントリからパラメータ５２３０７を取得し、選択されたパラメータとパラメータ５２３０７とが一致するか否かを判定する。
【０４００】
選択されたパラメータとパラメータ５２３０７とが一致する場合、管理サーバ５００は、選択されたパラメータに対して検証ルール「パラメータ値の範囲」が適用されていると判定する。
【０４０１】
以上が、ステップＳ６０３の処理である。
【０４０２】
選択されたパラメータに対して検証ルール「パラメータ値の範囲」が適用されていないと判定された場合、管理サーバ５００は、ステップＳ６０６に進む。
【０４０３】
選択されたパラメータに対して検証ルール「パラメータ値の範囲」が適用されていると判定された場合、管理サーバ５００は、決定されたパラメータ値Ｖ１が、検証ルール「パラメータ値の範囲」において規定されたパラメータ値の範囲内であるか否かを判定する（ステップＳ６０４）。具体的には、以下のような処理が実行される。
【０４０４】
管理サーバ５００は、テナントパターン情報５２８を参照して、選択されたパラメータを含むノードを特定する。管理サーバ５００は、ステップＳ５０２において特定された物理装置の情報に基づいて、特定されたノードがマッピングされる物理装置を特定する。
【０４０５】
管理サーバ５００は、物理構成情報５３６の装置５３６１を参照して、特定された物理装置に対応するエントリを検索し、検索されたエントリの機種５３６２から物理装置の機種の情報を取得する。
【０４０６】
管理サーバ５００は、取得された物理装置の機種の情報に基づいて、検証ルール情報５２５１を参照して、検証ルール「パラメータ値の範囲」において規定されたパラメータ値の範囲を特定する。管理サーバ５００は、決定されたパラメータ値Ｖ１が、特定されたパラメータ値の範囲内であるか否かを判定する。
【０４０７】
以上がステップＳ６０４の処理である。
【０４０８】
パラメータ値Ｖ１が、検証ルール「パラメータ値の範囲」において規定されたパラメータ値の範囲内でないと判定された場合、管理サーバ５００は、テナント管理者に対して、不正を示す検証結果及び修正案を通知し（ステップＳ６０５）、ステップＳ６０６に進む。
【０４０９】
通知される修正案では、例えば、設計時のユーザ入力値の範囲として、当該パラメータに適用されている検証ルール「パラメータ値の範囲」に規定されたパラメータ値の範囲が提示される。
【０４１０】
パラメータ値Ｖ１が、検証ルール「パラメータ値の範囲」において規定されたパラメータ値の範囲内であると判定された場合、管理サーバ５００は、ステップＳ６０６に進む。
【０４１１】
管理サーバ５００は、全てのパラメータの処理が完了したか否かを判定する（ステップＳ６０６）。
【０４１２】
全てのパラメータの処理が完了していないと判定された場合、管理サーバ５００は、ステップＳ６０１に戻る。
【０４１３】
全てのパラメータの処理が完了していると判定された場合、管理サーバ５００は、不正を示す検証結果が一つ以上あるか否かを判定する（ステップＳ６０７）。
【０４１４】
不正を示す検証結果が一つ以上あると判定された場合、管理サーバ５００は、処理を終了する。
【０４１５】
不正を示す検証結果がないと判定された場合、管理サーバ５００は、対象テナントパターンにおける設定項目を選択する（ステップＳ６１１）。なお、一度選択された設定項目は、選択対象から除かれる。
【０４１６】
具体的には、管理サーバ５００は、テナントパターン情報５２８の設定項目５２８０４を参照して、処理対象の設定項目を選択する。
【０４１７】
管理サーバ５００は、選択された設定項目に検証ルールが適用されているかを判定する（ステップＳ６１２）。具体的には、以下のような処理が実行される。
【０４１８】
管理サーバ５００は、テナントパターン情報５２８を参照して、選択された設定項目５２８０４に対応するエントリのパターンパーツＩＤ５２８０７に識別子が格納されているか否かを判定する。
【０４１９】
パターンパーツＩＤ５２８０７に識別子が格納されていない場合、管理サーバ５００は、選択された設定項目に検証ルールが適用されていないと判定する。
【０４２０】
パターンパーツＩＤ５２８０７に識別子が格納されている場合、管理サーバ５００は、検証ルール情報５２５１を参照して、検証対象５２５１４がパターンパーツＩＤ５２８０７と一致するエントリを検索する。
【０４２１】
検証対象５２５１４がパターンパーツＩＤ５２８０７と一致するエントリが存在しない場合、管理サーバ５００は、選択された設定項目に検証ルールが適用されていないと判定する。一方、検証対象５２５１４がパターンパーツＩＤ５２８０７と一致するエントリが存在する場合、管理サーバ５００は、選択された設定項目に検証ルールが適用されていると判定する。
【０４２２】
以上がステップＳ６１２の処理の説明である。
【０４２３】
選択された設定項目に検証ルールが適用されていないと判定された場合、管理サーバ５００は、ステップＳ６２０に進む。
【０４２４】
選択された設定項目に検証ルールが適用されていると判定された場合、管理サーバ５００は、適用されている検証ルールの種類を判定する（ステップＳ６１３）。
【０４２５】
適用されている検証ルールの種類が検証ルール「インスタンス数の上限」である場合、管理サーバ５００は、現在のインスタンス数に「１」を加算した値Ｋが、選択された設定項目に対応するエントリのインスタンス数上限値５２８０８に格納される値以下であるか否かを判定する（ステップＳ６１４）。
【０４２６】
なお、インスタンス数上限値５２８０８はステップＳ４０９において決定される。
【０４２７】
値Ｋがインスタンス数上限値５２８０８に格納される値以下であると判定された場合、管理サーバ５００は、ステップＳ６２０に進む。
【０４２８】
値Ｋがインスタンス数上限値５２８０８に格納される値より大きいと判定された場合、管理サーバ５００は、テナント管理者に対して、不正を示す検証結果を通知する（ステップＳ６１５）。
【０４２９】
インスタンス数については、一つのテナントのみ管理するテナント管理者では対応できない場合が多いため、テナント管理者に対する通知内容には、インスタンス数の上限値を超えた旨、及び、「ＤＣ管理者に連絡してください」等の対策案が提示される。
【０４３０】
管理サーバ５００は、ＤＣ管理者に対して、不正を示す検証結果、及び修正案を通知し（ステップＳ６１６）、ステップＳ６２０に進む。通知される修正案としては、例えば、検証ルール情報５２５１に基づいて、機器の増設等の修正案が考えられる。
【０４３１】
ステップＳ６１３において、適用される検証ルールの種類が検証ルール「必要構成」である場合、管理サーバ５００は、必要構成が設定されているか否かを判定するために、ＮＷ装置に対して確認用コマンドを実行する（ステップＳ６１７）。具体的には、以下のような処理が実行される。
【０４３２】
管理サーバ５００は、ステップＳ６１２において検索された検証ルール情報５２５１のエントリの検証ルールＩＤ５２５１１に基づいて検証ルール内容（必要構成）情報５２５３を参照し、当該検証ルールＩＤ５２５１１に一致するエントリを検索する。
【０４３３】
管理サーバ５００は、検索されたエントリの確認用コマンド５２５３３を取得し、テナントが構成されるネットワークシステムに含まれるＮＷ装置に対して、確認用コマンドを実行する。
【０４３４】
管理サーバ５００は、ＮＷ装置から出力された確認用コマンドの実行結果に、応答文字列５２５３４に一致する文字列が含まれるか否かを判定する（ステップＳ６１８）。
【０４３５】
確認用コマンドの実行結果に、応答文字列５２５３４に一致する文字列が含まれると判定された場合、管理サーバ５００は、ステップＳ６２０に進む。
【０４３６】
確認用コマンドの実行結果に、応答文字列５２５３４に一致する文字列が含まれないと判定された場合、管理サーバ５００は、ＤＣ管理者に対して、不正を示す検証結果、及び修正案を通知し（ステップＳ６１９）、ステップＳ６２０に進む。通知される修正案としては、前記検証ルール情報５２５１に基づいて、必要な設定項目の設定を喚起する情報の提示が考えられる。
【０４３７】
管理サーバ５００は、選択された設定項目の追加用コマンドテンプレートにパラメータを代入して、当該設定項目の設定内容を生成する（ステップＳ６２０）。具体的には、以下のような処理が実行される。
【０４３８】
管理サーバ５００は、選択された設定項目５２８０４に対応するエントリのコマンドテンプレート５２８１３から、追加用コマンドテンプレートの識別子を取得する。管理サーバ５００は、コマンドテンプレート情報５３２を参照して、ＩＤ５３２１が取得された追加用コマンドテンプレートの識別子と一致するエントリを検索する。
【０４３９】
管理サーバ５００は、検索されたエントリのコマンドテンプレート５３２３から、追加用コマンドテンプレートを取得する。管理サーバ５００は、取得された追加用コマンドテンプレートに、決定方法５２８１０に基づいて決定されるパラメータを代入し、設定項目の設定内容を生成する。
【０４４０】
以上がステップＳ６２０の処理の説明である。
【０４４１】
管理サーバ５００は、全ての設定項目の処理が完了したか否かを判定する（ステップＳ６２１）。
【０４４２】
全ての設定項目の処理が完了していないと判定された場合、管理サーバ５００は、ステップＳ６１１に戻る。
【０４４３】
全ての設定項目の処理が完了したと判定された場合、管理サーバ５００は処理を終了する。
【０４４４】
以上のように、本発明によれば、ＮＷ装置及び物理計算機が接続されるネットワークシステムにおいて、テナントのネットワーク設計に用いるテナントのパターン及びテナントの設定内容の検証を行うことができる。
【０４４５】
本発明によれば、運用者は、パターンパーツの利用することによって容易にテナントパターンを生成することができる。また、テナントパターンの生成時に検証ルールに基づく、テナントパターンの構成について検証が行われるため、運用者は正しい設定内容のテナントパターンを生成できる。したがって、ＤＣの運用フェーズにおいて、正しいテナントパターンを用いて、テナントの設計をすることによって、設計及び設定の作業ミスを低減できる。
【０４４６】
また、管理サーバ５００がパターンパーツ及び検証ルールの生成を支援することによって、パターンパーツ及び検証ルールを容易に生成できる。さらに、パターンパーツ及び検証ルールを共有することによって、ネットワーク設計の効率化、高品質化が実現できる。
【０４４７】
なお、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体（例えば、非一時的な記憶媒体）に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。本実施例では、ソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。
【０４４８】
また、本実施例では、管理サーバ５００が各種処理を実行するものとして説明したが、本発明はこれに限定されない。例えば、ＮＷ装置１００及び物理サーバ２００が、管理サーバ５００が有する機能を備えていてもよい。この場合、複数のＮＷ装置１００及び複数の物理サーバ２００に各機能部を分散して配置してもよい。
【０４４９】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０４５０】
１００  ＮＷ装置
１５０  検証機
２００  物理サーバ
３００  ＶＭ
４００  仮想ＳＷ
５００  管理サーバ
７００  ＳＥ用端末
８００  ＤＣ管理者用端末
９００  テナント管理者用端末
５１１  テナントパターン生成／検証部
５１２  自動設計設定部
５１３  検証ルール生成部
５２１  性能要件確認用シナリオ
５２２  抽出用文字列情報
５２３  パターンパーツ（設定項目）情報
５２４  パターンパーツ（プール）情報
５２５  検証ルール管理情報
５２８  テナントパターン情報
５２９  テナントパターン（サブネット）情報
５３０  マッピング情報
５３１  ＩＤプール情報
５３２  コマンドテンプレート情報
５３３  テナントインスタンス管理情報
５３６  物理構成情報
５３７  設計設定タスク情報
５３８  テナントパターン情報
５２５１  検証ルール情報
５２５２  検証ルール内容（上限値）情報
５２５３  検証ルール内容情報
５３３１  テナントインスタンス（ノード）情報
５３３２  テナントインスタンス（サブネット）情報
５３３３  テナントインスタンス（マッピング）情報
【図１】
2014115828.tif 000003
【図２】
2014115828.tif 000004
【図３】
2014115828.tif 000005
【図４】
2014115828.tif 000006
【図５】
2014115828.tif 000007
【図６】
2014115828.tif 000008
【図７】
2014115828.tif 000009
【図８】
2014115828.tif 000010
【図９】
2014115828.tif 000011
【図１０Ａ】
2014115828.tif 000012
【図１０Ｂ】
2014115828.tif 000013
【図１１】
2014115828.tif 000014
【図１２】
2014115828.tif 000015
【図１３】
2014115828.tif 000016
【図１４】
2014115828.tif 000017
【図１５】
2014115828.tif 000018
【図１６】
2014115828.tif 000019
【図１７】
2014115828.tif 000020
【図１８】
2014115828.tif 000021
【図１９】
2014115828.tif 000022
【図２０】
2014115828.tif 000023
【図２１Ａ】
2014115828.tif 000024
【図２１Ｂ】
2014115828.tif 000025
【図２２】
2014115828.tif 000026
【図２３】
2014115828.tif 000027
【図２４】
2014115828.tif 000028
【図２５Ａ】
2014115828.tif 000029
【図２５Ｂ】
2014115828.tif 000030
【図２５Ｃ】
2014115828.tif 000031
【図２６】
2014115828.tif 000032
【図２７Ａ】
2014115828.tif 000033
【図２７Ｂ】
2014115828.tif 000034
【図２７Ｃ】
2014115828.tif 000035
【図２８】
2014115828.tif 000036
【図２９】
2014115828.tif 000037
【図３０Ａ】
2014115828.tif 000038
【図３０Ｂ】
2014115828.tif 000039