(57)【特許請求の範囲】
【請求項１】
第１ユーザネットワーク及び第２ユーザネットワークの間を相互接続する中継ネットワークを構成する中継ノードの設定情報を生成する設定情報生成装置であって、
前記第１ユーザネットワークに適用される第１ネットワークポリシー、前記第１ユーザネットワークと接続する第１中継ノードに適用されるポリシーであって、前記第１中継ノードが前記第１ユーザネットワークに提供するサービスの内容を規定する第１中継ノードポリシー、並びに、前記第１ユーザネットワーク及び前記第１中継ノードの間の通信に関する第１通信ポリシーを取得するポリシー取得部と、
前記第１ネットワークポリシー、前記第１中継ノードポリシー及び前記第１通信ポリシーの内容に基づいて、前記第１中継ノードを制御するための第１設定情報を生成する設定情報生成部と、
を備え、
前記設定情報は、ソフトウエア定義ネットワーク（ＳＤＮ：Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｋ）において、物理的又は仮想的なネットワーク機器を制御するためのコンフィグレーション情報であり、
前記第１ユーザネットワークは、ＧＢＰ（Ｇｒｏｕｐ  Ｂａｓｅｄ  Ｐｏｌｉｃｙ）モデルにおけるエンドポイントグループであり、
前記第１中継ノードは、ＧＢＰモデルにおけるエンドポイントグループを構成するエンドポイントとして扱われ、
前記第１通信ポリシーは、ＧＢＰモデルにおけるコントラクト、又は、前記コントラクトに含まれるポリシールール若しくはサブジェクトとして扱われる、
設定情報生成装置。
【請求項２】
前記第１ユーザネットワークを構成する１以上のノード及び１以上の前記中継ノードの接続関係を規定するトポロジー情報を取得するトポロジー情報取得部と、
前記トポロジー情報取得部が取得した前記トポロジー情報に基づいて、前記１以上の中継ノードの中から前記第１中継ノードを決定する中継ノード決定部と、
をさらに備える、
請求項１に記載の設定情報生成装置。
【請求項３】
前記トポロジー情報は、前記トポロジー情報に含まれる前記１以上の中継ノードの少なくとも１つが、前記第１中継ノードポリシーが適用される中継ノードのグループに属することを示す情報を含み、
前記中継ノード決定部は、前記１以上の中継ノードのうち、前記グループに属する中継ノードを、前記第１中継ノードとして決定する、
請求項２に記載の設定情報生成装置。
【請求項４】
複数の前記第１通信ポリシーのそれぞれと、前記第１ネットワークポリシー及び前記第１中継ノードポリシーの組み合わせのそれぞれとを対応付けて格納する通信ポリシー格納部をさらに備え、
前記ポリシー取得部は、前記通信ポリシー格納部に格納された情報を参照して、前記ポリシー取得部が取得した前記第１ネットワークポリシー及び前記第１中継ノードポリシーの組み合わせに合致する通信ポリシーを、前記第１通信ポリシーとして取得する、
請求項１から請求項３までの何れか一項に記載の設定情報生成装置。
【請求項５】
前記中継ネットワークに要求される仕様に関する情報を取得する要求仕様取得部をさらに備え、
前記通信ポリシー格納部は、前記複数の第１通信ポリシーのそれぞれと、前記第１ネットワークポリシー、前記第１中継ノードポリシー及び前記中継ネットワークに要求される仕様の組み合わせのそれぞれとを対応付けて格納し、
前記ポリシー取得部は、前記通信ポリシー格納部に格納された情報を参照して、前記ポリシー取得部が取得した前記第１ネットワークポリシー及び前記第１中継ノードポリシー、並びに、前記要求仕様取得部が取得した前記中継ネットワークに要求される仕様の組み合わせに合致する通信ポリシーを、前記第１通信ポリシーとして取得する、
請求項４に記載の設定情報生成装置。
【請求項６】
前記中継ネットワークに要求される仕様に関する情報を取得する要求仕様取得部をさらに備え、
前記設定情報生成部は、前記第１ネットワークポリシー及び前記第１通信ポリシーの内容、並びに、前記要求仕様取得部が取得した前記中継ネットワークに要求される仕様に基づいて、前記第１設定情報を生成する、
請求項１から請求項３までの何れか一項に記載の設定情報生成装置。
【請求項７】
前記第１ユーザネットワークの所有者又は管理者と、前記中継ネットワークの所有者又は管理者とが異なる、
請求項１から請求項６までの何れか一項に記載の設定情報生成装置。
【請求項８】
前記ポリシー取得部は、前記第２ユーザネットワークに適用される第２ネットワークポリシー、前記第２ユーザネットワークと接続する第２中継ノードに適用されるポリシーであって、前記第２中継ノードが前記第２ユーザネットワークに提供するサービスの内容を規定する第２中継ノードポリシー、並びに、前記第２ユーザネットワーク及び前記第２中継ノードの間の通信に関する第２通信ポリシーを取得し、
前記設定情報生成部は、前記第２ネットワークポリシー、前記第２中継ノードポリシー及び前記第２通信ポリシーの内容に基づいて、前記第２中継ノードを制御するための第２設定情報を生成する、
請求項１から請求項７までの何れか一項に記載の設定情報生成装置。
【請求項９】
請求項１から請求項８までの何れか一項に記載の設定情報生成装置と、
前記設定情報生成装置が生成した前記第１設定情報を、前記第１中継ノードに送信する設定情報送信部と、
を備える、ネットワーク制御装置。
【請求項１０】
第１ユーザネットワーク及び第２ユーザネットワークとの間を相互接続する中継ネットワークを構成する中継ノードの設定情報を生成する方法であって、
コンピュータが、前記第１ユーザネットワークに適用される第１ネットワークポリシー、前記第１ユーザネットワークと接続する第１中継ノードに適用されるポリシーであって、前記第１中継ノードが前記第１ユーザネットワークに提供するサービスの内容を規定する第１中継ノードポリシー、並びに、前記第１ユーザネットワーク及び前記第１中継ノードの間の通信に関する第１通信ポリシーを取得するポリシー取得段階と、
コンピュータが、前記第１ネットワークポリシー、前記第１中継ノードポリシー及び前記第１通信ポリシーの内容に基づいて、前記第１中継ノードを制御するための第１設定情報を生成する設定情報生成段階と、
を有し、
前記設定情報は、ソフトウエア定義ネットワーク（ＳＤＮ：Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｋ）において、物理的又は仮想的なネットワーク機器を制御するためのコンフィグレーション情報であり、
前記第１ユーザネットワークは、ＧＢＰ（Ｇｒｏｕｐ  Ｂａｓｅｄ  Ｐｏｌｉｃｙ）モデルにおけるエンドポイントグループであり、
前記第１中継ノードは、ＧＢＰモデルにおけるエンドポイントグループを構成するエンドポイントとして扱われ、
前記第１通信ポリシーは、ＧＢＰモデルにおけるコントラクト、又は、前記コントラクトに含まれるポリシールール若しくはサブジェクトとして扱われる、
方法。
【請求項１１】
コンピュータが、請求項１０に記載の方法により、前記第１設定情報を生成する段階と、
コンピュータが、前記第１設定情報を生成する段階において生成された前記第１設定情報を、前記第１中継ノードに送信する設定情報送信段階と、
を有する、方法。
【請求項１２】
コンピュータを、請求項１から請求項８までの何れか一項に記載の設定情報生成装置として機能させるためのプログラム。
【請求項１３】
コンピュータを、請求項９に記載のネットワーク制御装置として機能させるためのプログラム。
【請求項１４】
コンピュータに、請求項１０又は請求項１１に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設定情報生成装置、ネットワーク制御装置、方法、及び、プログラムに関する。
【背景技術】
【０００２】
ＧＢＰ（Ｇｒｏｕｐ  Ｂａｓｅｄ  Ｐｏｌｉｃｙ）を用いて、ソフトウエア定義ネットワーク（ＳＤＮ：Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｋ）を構築することが試みられている（例えば、特許文献１、非特許文献１を参照されたい）。ＧＢＰでは、エンドポイント（ＥＰと称される場合がある。）をグループ化したエンドポイントグループ（ＥＰＧと称される場合がある。）ごとにポリシーを設定する。また、ＥＰＧ間の通信に関するポリシー（コントラクトと称される場合がある。）を設定する。ＧＢＰを利用することで、ネットワーク化されたサービス（アプリケーションと称される場合がある。）を提供するユーザは、ＥＰＧ間に存在する中継ノードの構成及び設定を意識することなく、アプリケーションを設計することができる。
（先行技術文献）
（特許文献）
（特許文献１）特開２０１５−２０４６１４号公報
（非特許文献）
（非特許文献１）Ｍａｓａｓｈｉ  Ｋｕｂｏ、「ＯｐｅｎＤａｙｌｉｇｈｔがやってきた」、［Online］、２０１５年４月８日、［２０１６年２月１７日検索］、インターネット（http://www.oracle.co.jp/jdt2015/pdf/7-2.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＧＢＰでは、アプリケーションに関するポリシーの抜粋（ａｂｓｔｒａｃｔ）から、ネットワークに関するポリシーの詳細を導出することで、ＳＤＮを容易に構築することを可能にしている。そのため、現在のＧＢＰの枠組みでは、アプリケーションを提供及び利用するするユーザは、ネットワークの中継ノードがアプリケーションに対して提供するサービスの内容を、ソフトウエアで動的に設定したり、変更したりすることができない。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、設定情報生成装置が提供される。上記の設定情報装置は、例えば、第１ユーザネットワーク及び第２ユーザネットワークの間を相互接続する中継ネットワークを構成する中継ノードの設定情報を生成する。上記の設定情報装置は、第１ユーザネットワークに適用される第１ネットワークポリシー、第１ユーザネットワークと接続する第１中継ノードに適用されるポリシーであって、第１中継ノードが第１ユーザネットワークに提供するサービスの内容を規定する第１中継ノードポリシー、並びに、第１ユーザネットワーク及び第１中継ノードの間の通信に関する第１通信ポリシーを取得するポリシー取得部を備える。上記の設定情報装置は、第１ネットワークポリシー、第１中継ノードポリシー及び第１通信ポリシーの内容に基づいて、第１中継ノードを制御するための第１設定情報を生成する設定情報生成部を備える。
【０００５】
上記の設定情報生成装置は、第１ユーザネットワークを構成する１以上のノード及び１以上の中継ノードの接続関係を規定するトポロジー情報を取得するトポロジー情報取得部をさらに備えてよい。上記の設定情報生成装置は、トポロジー情報取得部が取得したトポロジー情報に基づいて、１以上の中継ノードの中から第１中継ノードを決定する中継ノード決定部をさらに備えてよい。上記の設定情報生成装置において、トポロジー情報は、トポロジー情報に含まれる１以上の中継ノードの少なくとも１つが、第１中継ノードポリシーが適用される中継ノードのグループに属することを示す情報を含んでよい。上記の設定情報生成装置において、中継ノード決定部は、１以上の中継ノードのうち、グループに属する中継ノードを、第１中継ノードとして決定してよい。
【０００６】
上記の設定情報生成装置において、設定情報は、ソフトウエア定義ネットワーク（ＳＤＮ：Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｋ）において、物理的又は仮想的なネットワーク機器を制御するためのコンフィグレーション情報であってよい。上記の設定情報生成装置において、第１ユーザネットワークは、ＧＢＰ（Ｇｒｏｕｐ  Ｂａｓｅｄ  Ｐｏｌｉｃｙ）モデルにおけるエンドポイントグループであってよい。上記の設定情報生成装置において、第１中継ノードは、ＧＢＰモデルにおけるエンドポイントグループを構成するエンドポイントとして扱われてよい。上記の設定情報生成装置において、第１通信ポリシーは、ＧＢＰモデルにおけるコントラクト、又は、コントラクトに含まれるポリシールール若しくはサブジェクトとして扱われてよい。
【０００７】
上記の設定情報生成装置は、複数の第１通信ポリシーのそれぞれと、第１ネットワークポリシー及び第１中継ノードポリシーの組み合わせのそれぞれとを対応付けて格納する通信ポリシー格納部をさらに備えてよい。上記の設定情報生成装置において、ポリシー取得部は、通信ポリシー格納部に格納された情報を参照して、ポリシー取得部が取得した第１ネットワークポリシー及び第１中継ノードポリシーの組み合わせに合致する通信ポリシーを、第１通信ポリシーとして取得してよい。
【０００８】
上記の設定情報生成装置は、中継ネットワークに要求される仕様に関する情報を取得する要求仕様取得部をさらに備えてよい。上記の設定情報生成装置において、通信ポリシー格納部は、複数の第１通信ポリシーのそれぞれと、第１ネットワークポリシー、第１中継ノードポリシー及び中継ネットワークに要求される仕様の組み合わせのそれぞれとを対応付けて格納してよい。上記の設定情報生成装置において、ポリシー取得部は、通信ポリシー格納部に格納された情報を参照して、ポリシー取得部が取得した第１ネットワークポリシー及び第１中継ノードポリシー、並びに、要求仕様取得部が取得した中継ネットワークに要求される仕様の組み合わせに合致する通信ポリシーを、第１通信ポリシーとして取得してよい。
【０００９】
上記の設定情報生成装置は、中継ネットワークに要求される仕様に関する情報を取得する要求仕様取得部をさらに備えてよい。上記の設定情報生成装置において、設定情報生成部は、第１ネットワークポリシー及び第１通信ポリシーの内容、並びに、要求仕様取得部が取得した中継ネットワークに要求される仕様に基づいて、第１設定情報を生成してよい。上記の設定情報生成装置において、第１ユーザネットワークの所有者又は管理者と、中継ネットワークの所有者又は管理者とが異なってもよい。
【００１０】
上記の設定情報生成装置において、ポリシー取得部は、第２ユーザネットワークに適用される第２ネットワークポリシー、第２ユーザネットワークと接続する第２中継ノードに適用されるポリシーであって、第２中継ノードが第２ユーザネットワークに提供するサービスの内容を規定する第２中継ノードポリシー、並びに、第２ユーザネットワーク及び第２中継ノードの間の通信に関する第２通信ポリシーを取得してよい。上記の設定情報生成装置において、設定情報生成部は、第２ネットワークポリシー、第２中継ノードポリシー及び第２通信ポリシーの内容に基づいて、第２中継ノードを制御するための第２設定情報を生成してよい。
【００１１】
本発明の第２の態様においては、ネットワーク制御装置が提供される。上記のネットワーク制御装置は、上記の設定情報生成装置を備える。上記のネットワーク制御装置は、設定情報生成装置が生成した第１設定情報を、第１中継ノードに送信する設定情報送信部を備える。
【００１２】
本発明の第３の態様においては、第１ユーザネットワーク及び第２ユーザネットワークとの間を相互接続する中継ネットワークを構成する複数の中継ノードの少なくとも１つの設定情報を生成する方法が提供される。上記の方法は、複数の中継ノードのうち、第１ユーザネットワークと接続される中継ノードであって、第１ユーザネットワークに第１サービスを提供する中継ノードに適用される第１中継ノードポリシーの適用対象となる第１中継ノードを決定する段階を有する。上記の方法は、第１中継ノードに、第１中継ノードポリシーを適用する段階を有する。上記の方法において、第１ユーザネットワークの所有者又は管理者と、中継ネットワークの所有者又は管理者とが異なってよい。
【００１３】
本発明の第４の態様においては、第１ユーザネットワーク及び第２ユーザネットワークとの間を相互接続する中継ネットワークを構成する中継ノードの設定情報を生成する方法が提供される。上記の方法は、コンピュータが、第１ユーザネットワークに適用される第１ネットワークポリシー、第１ユーザネットワークと接続する第１中継ノードに適用されるポリシーであって、第１中継ノードが第１ユーザネットワークに提供するサービスの内容を規定する第１中継ノードポリシー、並びに、第１ユーザネットワーク及び第１中継ノードの間の通信に関する第１通信ポリシーを取得するポリシー取得段階を有する。上記の方法は、コンピュータが、第１ネットワークポリシー、第１中継ノードポリシー及び第１通信ポリシーの内容に基づいて、第１中継ノードを制御するための第１設定情報を生成する設定情報生成段階を有する。
【００１４】
上記の方法において、設定情報は、ソフトウエア定義ネットワーク（ＳＤＮ：Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｋ）において、物理的又は仮想的なネットワーク機器を制御するためのコンフィグレーション情報であってよい。上記の方法において、第１ユーザネットワークは、ＧＢＰ（Ｇｒｏｕｐ  Ｂａｓｅｄ  Ｐｏｌｉｃｙ）モデルにおけるエンドポイントグループであってよい。上記の方法において、第１中継ノードは、ＧＢＰモデルにおけるエンドポイントグループを構成するエンドポイントとして扱われてよい。上記の方法において、第１通信ポリシーは、ＧＢＰモデルにおけるコントラクト、又は、コントラクトに含まれるポリシールール若しくはサブジェクトとして扱われてよい。
【００１５】
本発明の第５の態様においては、コンピュータが、上記の方法により、第１設定情報を生成する段階と、コンピュータが、第１設定情報を生成する段階において生成された第１設定情報を、第１中継ノードに送信する設定情報送信段階とを有する方法が提供される。
【００１６】
本発明の第６の態様においては、プログラムが提供される。上記のプログラムを格納した非一時的な記憶媒体が提供されてもよい。上記のプログラムは、コンピュータを、上記の設定情報生成装置として機能させるためのプログラムであってよい。上記のプログラムは、コンピュータを、上記のネットワーク制御装置として機能させるためのプログラムであってもよい。上記のプログラムは、コンピュータに、上記の方法を実行させるためのプログラムであってもよい。
【００１７】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１８】
【図１Ａ】ネットワークサービス提供システム１００の一例を概略的に示す。
【図１Ｂ】ＧＢＰの概念を中継ノードに拡張した場合の概念図を示す。
【図２】ＳＤＮコントローラ１１０の内部構成の一例を概略的に示す。
【図３】設計モジュール２１０の内部構成の一例を概略的に示す。
【図４】設定情報生成部３５０における処理の一例を概略的に示す。
【図５】制御モジュール２２０の内部構成の一例を概略的に示す。
【図６】仮想ネットワーク１３０の設計方法の一例を概略的に示す。
【図７】ＰＥルータの設定方法の一例を概略的に示す。
【発明を実施するための形態】
【００１９】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
【００２０】
図１Ａ及び図１Ｂを用いて、ＥＰＧ及びＧＢＰの概念を、複数のＥＰＧ間を相互接続する中継ネットワークを構成する中継ノードにまで拡張して、ＳＤＮを構築するための装置及び方法について説明する。図１Ａは、ネットワークサービス提供システム１００の一例を概略的に示す。図１Ｂは、ＥＰＧ及びＧＢＰの概念を中継ノードに拡張した場合の一例を概略的に示す。
【００２１】
特定のＥＰ群が構成するアプリケーションに関するＳＤＮを、ＧＢＰを利用して構築する場合、同一のポリシーが適用されるＥＰがグループ化され、１以上のＥＰＧが作成される。また、ＥＰＧ間の接続性を記述したポリシーが作成され、当該ＥＰＧ間の通信は、当該ポリシーに基づいて管理される。ＥＰＧ間のポリシーの集合は、コントラクトと称される。例えば、Ｗｅｂサービスを利用する第１ＥＰＧと、Ｗｅｂサービスを利用する第２ＥＰＧとの間のコントラクトは、ＥＰＧ間の通信プロトコル、通信方向などに関する事項を記述したポリシーの集合である。ＧＢＰを利用したＳＤＮの構築方法は、ＯｐｅｎＤａｙＬｉｇｈｔプロジェクト、ＯｐｅｎＳｔａｃｋプロジェクトなどにより推進されている。
【００２２】
現在のＧＢＰの枠組みにおいては、特定のＥＰＧが他のＥＰＧに対して提供するサービスを実現するために必要であれば、上記の２つのＥＰＧ間の中継ノードに対する設定についても、上記の特定のＥＰＧのユーザが、当該中継ノードの設定をソフトウエアで動的に設定したり、変更したりすることができる。しかしながら、中継ノード（又は中継ネットワーク）自体がＥＰＧに対して提供するサービスを実現するために必要な設定に関して、上記のＥＰＧのユーザが、当該中継ノードの設定をソフトウエアで動的に設定したり、変更したりすることはできない。
【００２３】
中継ノード自体がＥＰＧに対して提供するサービスとしては、経路制御に関するサービス、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）に関するサービスなどを例示することができる。経路制御に関するサービスとしては、経路制御にスタティックルーティングを利用するサービス、経路制御にＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）を利用するサービス、経路制御に関するパラメータの値が特定の条件を満足するように制御するサービスなどを例示することができる。経路制御に関するパラメータとしては、ＭＥＤ（Ｍｕｌｔｉ  Ｅｘｉｔ  Ｄｉｓｃｒｉｍｉｎａｔｏｒ）属性の値、ＬＰ（Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ）属性の値、コミュニティ属性の値などを例示することができる。ＱｏＳに関するサービスとしては、ＱｏＳに関するパラメータの値が特定の条件を満足するように制御するサービスを例示することができる。ＱｏＳに関するサービスとしては、帯域保証サービス、優先制御サービス、ＱｏＳコードポイント変換サービスなどを例示することができる。
【００２４】
これに対して、本実施形態によれば、ＥＰＧ及びＧＢＰの概念を、特定のＥＰＧ及び他のＥＰＧの間を相互接続する中継ネットワークを構築する中継ノードにまで拡張する。具体的には、本実施形態においては、中継ネットワークを構築する１以上の中継ノードも、ＥＰとして扱われる。そして、上記の１以上の中継ノードを、各中継ノードに適用されるポリシーに基づいてグループ化することで、中継ノードのＥＰＧが作成される。なお、単一の中継ネットワークの中に、中継ノードのＥＰＧとして、２以上のＥＰＧが作成されてもよい。また、単一の中継ノードが、２以上のＥＰＧに属してもよい。
【００２５】
加えて、本実施形態においては、上記の特定のＥＰＧと、上記の中継ノードのＥＰＧとの接続性を記述したポリシーが作成され、当該ＥＰＧが、当該中継ノードを通じて他のＥＰＧとの間で行う通信は、当該ポリシーに基づいて管理される。これにより、上記の特定のＥＰＧのユーザは、（ｉ）特定のＥＰＧに含まれるノードと接続する中継ノードが、どのＥＰＧに属するかを指定し、（ｉｉ）特定のＥＰＧと、当該中継ノードが属するＥＰＧとの間のポリシー又はコントラクトを作成することで、上記の中継ノードの設定をソフトウエアで動的に設定したり、変更したりすることができる。その結果、上記の特定のＥＰＧのユーザは、中継ノード（又は中継ノード）が上記の特定のＥＰＧに対して提供するサービスの内容を、ソフトウエアで動的に設定したり、変更したりすることができる。
【００２６】
本実施形態において、ネットワークサービス提供システム１００は、ポリシーエージェント１１４と、ポリシーエージェント１１５と、ポリシーエージェント１１６と、ＳＤＮコントローラ１２０と、仮想ネットワーク１３０とを備える。仮想ネットワーク１３０は、サイト１４０のサイト内ネットワーク１４６と、サイト１５０のサイト内ネットワーク１５６と、通信ネットワーク１６０とを含む。
【００２７】
本実施形態において、サイト１４０のＥＰＧは、サーバ１４２と、ＣＥルータ１４４と、サイト内ネットワーク１４６とを含む。サイト１５０のＥＰＧは、クライアント端末１５２と、ＣＥルータ１５４と、サイト内ネットワーク１５６とを含む。通信ネットワーク１６０は、ＰＥルータ１６２と、ＰＥルータ１６４と、ＰＥルータ１６６とを含む。
【００２８】
図１Ｂに示されるとおり、本実施形態において、ＰＥルータ１６２及びＰＥルータ１６６は、プライマリ用ルータのＥＰＧ１９２に属する。ＰＥルータ１６４は、バックアップ用ルータのＥＰＧ１９１に属する。なお、本実施形態においては、通信ネットワーク１６０を構築する中継ノードのＥＰＧは、ＥＰＧ１９１及びＥＰＧ１９２に限定されない。他の実施形態によれば、例えば、通信ネットワーク１６０又は通信ネットワーク１６０を構成する中継ノードが、サイト１４０又はサイト１５０に提供するサービスの種類又は特性ごとに、複数のＥＰＧが形成される。
【００２９】
一実施形態において、通信ネットワーク１６０が特性の異なる複数のＰＥルータ（Ｐｒｏｖｉｄｅｒ  Ｅｄｇｅ  ｒｏｕｔｅｒ）を含む場合、ＰＥルータの特性毎に複数のＥＰＧが形成されてよい。ＰＥルータの特性としては、ＰＥルータが提供するサービスの内容、ＰＥルータが対応する通信プロトコルの種類、ＱｏＳサービスレベルの種類などを例示することができる。例えば、図１Ｂに記載された実施形態においては、スタティックルーティングを利用するＰＥルータのＥＰＧ１９３と、ＢＧＰを利用して経路制御するＰＥルータのＥＰＧ１９４とが形成される。同様に、サイト１４０のＥＰＧ又はサイト１５０が、特性の異なる複数のＣＥルータ（Ｃｕｓｔｏｍｅｒ  Ｅｄｇｅ  ｒｏｕｔｅｒ）を含む場合、ＣＥルータの特性ごとに複数のＥＰＧが形成されてもよい。
【００３０】
図１Ｂにおいて、コントラクト１７２は、サイト１４０のＥＰＧと、サイト１５０のＥＰＧとの間の接続性を記述するポリシーの集合を示す。コントラクト１８２は、サイト１４０のＥＰＧと、通信ネットワーク１６０に関するＥＰＧ１９１との間の接続性を記述するポリシーの集合を示す。コントラクト１８４は、サイト１４０のＥＰＧと、通信ネットワーク１６０に関するＥＰＧ１９２との間の接続性を記述するポリシーの集合を示す。コントラクト１８６は、サイト１５０のＥＰＧと、通信ネットワーク１６０に関するＥＰＧ１９２との間の接続性を記述するポリシーの集合を示す。
【００３１】
ポリシーエージェント１１６は、設定情報送信部の一例であってよい。ＳＤＮコントローラ１２０は、設定情報生成装置、設定情報送信部、及びネットワーク制御装置の一例であってよい。サイト１４０のサイト内ネットワーク及びサイト１５０のサイト内ネットワークは、第１ユーザネットワーク又は第２ユーザネットワークの一例であってよい。サイト１４０のＥＰＧに適用されるポリシーは、第１ネットワークポリシーの一例であってよい。サイト１５０のＥＰＧに適用されるポリシーは、第２ネットワークポリシーの一例であってよい。通信ネットワーク１６０は、中継ネットワークの一例であってよい。ＰＥルータ１６２、ＰＥルータ１６４及びＰＥルータ１６６は、中継ノード、第１中継ノード又は第２中継ノードの一例であってよい。コントラクト１８２、コントラクト１８４及びコントラクト１８６は、第１通信ポリシー又は第２通信ポリシーの一例であってよい。ＥＰＧ１９１、ＥＰＧ１９２、ＥＰＧ１９３及びＥＰＧ１９４のそれぞれに適用されるポリシーは、第１中継ノードポリシー又は第２中継ノードポリシーの一例であってよい。
【００３２】
次に、ネットワークサービス提供システム１００の各部について、具体的に説明する。本実施形態において、ネットワークサービス提供システム１００は、物理リソース１０を利用して、ネットワークサービスを提供する。ネットワークサービス提供システム１００は、物理リソース１０を用いて実現される仮想ノード及び仮想リンクを利用して、ネットワークサービスを提供してもよい。
【００３３】
本実施形態において、物理リソース１０としては、物理的なコンピューティング資源、物理的なネットワーク資源などを例示することができる。物理的なコンピューティング資源としては、情報処理資源、情報記憶資源などを例示することができる。物理的なネットワーク資源としては、スイッチング資源、ルーティング資源、挿入／分岐資源、無線資源、媒体資源などを例示することができる。媒体資源としては、電気的な媒体資源、光学式の媒体資源、無線リンク及びこれらの組み合わせを例示することができる。
【００３４】
本実施形態において、ポリシーエージェント１１４は、ＳＤＮコントローラ１２０の指示に基づいて、サイト１４０に含まれる１以上のノードを制御する。ポリシーエージェント１１５は、ＳＤＮコントローラ１２０の指示に基づいて、サイト１５０に含まれる１以上のノードを制御する。ポリシーエージェント１１５は、サイト１５０の所有者又は管理者により、所有又は管理されてよい。ポリシーエージェント１１６と、ＳＤＮコントローラ１２０の指示に基づいて、通信ネットワーク１６０に含まれる１以上のノードを制御する。
【００３５】
ポリシーエージェント１１４、ポリシーエージェント１１５、及び、ポリシーエージェント１１６は、通信ネットワーク（図示されていない。）を介して物理リソース１０にアクセスしてもよい。ポリシーエージェント１１４、ポリシーエージェント１１５及びポリシーエージェント１１６のそれぞれは、サイト１４０、サイト１５０及び通信ネットワーク１６０のそれぞれの所有者又は管理者により、所有又は管理されてよい。通信ネットワーク１６０の所有者又は管理者は、通信ネットワーク１６０の主要部分の所有者又は管理者であってもよい。
【００３６】
本実施形態において、ＳＤＮコントローラ１２０は、ソフトウエア命令を使用して、通信ネットワーク（図示されていない。）を介して仮想ネットワーク１３０を制御する。ＳＤＮコントローラ１２０は、例えば、ＳＤＮにおいて物理的又は仮想的なネットワーク機器を制御するための情報を作成し、当該情報を各機器に送信することで、仮想ネットワーク１３０を制御する。ＳＤＮコントローラ１２０は、ポリシーエージェント１１４、ポリシーエージェント１１５又はポリシーエージェント１１６を介して、物理リソース１０にアクセスしてもよい。ＳＤＮコントローラ１２０は、ポリシーエージェント１１４、ポリシーエージェント１１５又はポリシーエージェント１１６を介して、仮想ノードにアクセスしてもよい。
【００３７】
サイト１４０、サイト１５０又は通信ネットワーク１６０のユーザは、例えば、ユーザ端末２０を利用して、通信ネットワーク（図示されていない。）を介してＳＤＮコントローラ１２０にアクセスする。ユーザ端末２０は、携帯端末、パーソナルコンピュータ、サーバなどの情報処理装置であってよい。ＳＤＮコントローラ１２０にアクセスしたユーザは、ＳＤＮコントローラ１２０に指示又は情報を入力し、ＳＤＮコントローラ１２０は、ユーザが入力した情報に基づいて、上記のソフトウエア命令を作成する。
【００３８】
ＳＤＮコントローラ１２０の各部は、ハードウェアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウェア及びソフトウエアにより実現されてもよい。ＳＤＮコントローラ１２０の各部は、物理的なコンピューティング資源により実現されてもよく、仮想的なコンピューティング資源により実現されてもよく、それらの組み合わせにより実現されてもよい。また、ＳＤＮコントローラ１２０の各部は、一般的な構成の情報処理装置において、ＳＤＮコントローラ１２０の各部の動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。
【００３９】
ＳＤＮコントローラ１２０として用いられる情報処理装置は、ＣＰＵ等のプロセッサ、ＲＯＭ、ＲＡＭ、通信インタフェースなどを有するデータ処理装置と、キーボード、ポインティングデバイス、タッチパネル、マイク、音声入力システム、ジェスチャー入力システム、位置情報取得システム、各種センサなどの入力装置と、各種ディスプレイ、タッチパネル、スピーカなどの出力装置と、メモリ、ＨＤＤなどの記憶装置とを備えてよい。データ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。上記のソフトウエア又はプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該ソフトウエア又はプログラムによって規定された動作を実行させる。上記のソフトウエア又はプログラムは、非一時的なコンピュータ可読記録媒体に格納されてもよい。
【００４０】
本実施形態において、仮想ネットワーク１３０は、サーバ１４２と、クライアント端末１５２との間で情報を伝達する。仮想ネットワーク１３０は、物理リソース１０の上に構築された論理的なネットワークであってよい。仮想ネットワーク１３０は、仮想ノード及び仮想リンクを含んでよい。仮想ネットワーク１３０は、その一部に、物理的な通信ネットワークを含んでもよい。仮想ネットワーク１３０は、テナントごとに独立した複数の仮想ネットワークを含んでもよい。
【００４１】
本実施形態において、サイト１４０及びサイト１５０のそれぞれには、サーバ、仮想サーバ、クライアント端末、パーソナルコンピュータ、携帯端末、ルータ、アクセスポイントなどのエンドポイントが配される。また、サイト１４０及びサイト１５０において、複数のエンドポイントを接続するサイト内ネットワーク１４６及びサイト内ネットワーク１５６が構築される。サイト１４０又はサイト内ネットワーク１４６、及び、サイト１５０又はサイト内ネットワーク１５６のそれぞれは、ＧＢＰモデルにおけるエンドポイントグループであってよい。
【００４２】
本実施形態において、通信ネットワーク１６０は、サイト１４０及びサイト１５０の間で情報を伝達する。通信ネットワーク１６０は、物理的な通信ネットワークであってもよく、仮想ネットワークであってもよく、これらの組み合わせであってもよい。物理的な通信ネットワークは、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、それらの組み合わせであってもよい。通信ネットワーク１６０の所有者又は管理者は、サイト１４０又はサイト内ネットワーク１４６、及び、サイト１５０又はサイト内ネットワーク１５６の少なくとも一方の所有者又は管理者と異なってもよい。
【００４３】
ＰＥルータ１６２及びＰＥルータ１６４は、サイト内ネットワーク１４６のＣＥルータ１４４と接続され、サイト内ネットワーク１４６と、通信ネットワーク１６０とを接続する。ＰＥルータ１６６は、サイト内ネットワーク１５６のＣＥルータ１５４と接続され、サイト内ネットワーク１５６と、通信ネットワーク１６０とを接続する。
【００４４】
本実施形態によれば、通信ネットワーク１６０を構成する複数の中継ノードのうち、ＰＥルータ１６２及びＰＥルータ１６６は、プライマリ用ルータのＥＰＧ１９２に属するものとして取り扱う。また、ＰＥルータ１６４は、バックアップ用ルータのＥＰＧ１９１に属するものとして取り扱う。これにより、ＰＥルータ１６２及びＰＥルータ１６６を、ＥＰＧ１９２に適用されるポリシーの適用対象として取り扱うことができる。また、ＰＥルータ１６４を、ＥＰＧ１９１に適用されるポリシーの適用対象として取り扱うことができる。
【００４５】
その結果、例えば、通信ネットワーク１６０の所有者又は管理者が、サイト１４０又はサイト内ネットワーク１４６の所有者又は管理者と異なる場合であっても、サイト１４０又はサイト内ネットワーク１４６の所有者又は管理者は、通信ネットワーク１６０を構成する中継ノードの設定情報を生成することができる。また、ＳＤＮコントローラ１２０が、サイト１４０のＥＰＧ及びサイト１５０のＥＰＧの間に存在する中継ノードの設定をソフトウエアで動的に設定したり、変更したりすることができるので、マルチベンダ環境におけるネットワーク仮想化を容易に実現することもできる。
【００４６】
本実施形態において、各サイトのノードと接続される中継ノードがＰＥルータである場合について説明した。しかしながら、中継ノードは、ＰＥルータに限定されない。他の実施形態において、中継ノードは、大容量ルータであってもよく、小規模スイッチであってもよい。中継ノードは、物理的なノードであってもよく、仮想的なノードであってもよい。
【００４７】
図２は、ＳＤＮコントローラ１２０の内部構成の一例を概略的に示す。本実施形態において、ＳＤＮコントローラ１２０は、設計モジュール２１０と、制御モジュール２２０と、格納モジュール２３０とを備える。設計モジュール２１０は、設定情報生成装置の一例であってよい。制御モジュール２２０は、設定情報送信部の一例であってよい。格納モジュール２３０は、通信ポリシー格納部の一例であってよい。なお、ＳＤＮコントローラ１２０の各部の役割分担は厳密なものではなく、ＳＤＮコントローラ１２０の各部における情報処理は、任意に分離又は統合されてよい。
【００４８】
本実施形態において、設計モジュール２１０は、仮想ネットワーク１３０を構成するノードの設定情報を生成する。設計モジュール２１０は、ＧＢＰを利用して、仮想ネットワーク１３０を構成するノードの設定情報を生成してもよい。設定情報は、ＳＤＮにおいて、物理的又は仮想的なネットワーク機器を制御するためのコンフィグレーション情報であってよい。設定情報は、ネットワーク機器固有の設定データ、設定データに関する注釈、設定データの生成元となったポリシーなどに関する情報を含んでよい。
【００４９】
一実施形態において、設計モジュール２１０は、サイト１４０のＥＰＧに適用されるポリシーの内容と、ＥＰＧ１９２に適用されるポリシーの内容と、コントラクト１８４に含まれるポリシーの内容とに基づいて、ＰＥルータ１６２を制御するための設定情報を生成する。設計モジュール２１０は、通信ネットワーク１６０に関するＥＰＧ１９１を従来のＥＰＧと同様に取り扱うことで、従来と同様の手法により、ＰＥルータ１６４を制御するための設定情報を生成することができる。
【００５０】
同様に、設計モジュール２１０は、サイト１４０のＥＰＧに適用されるポリシーの内容と、ＥＰＧ１９１に適用されるポリシーの内容と、コントラクト１８２に含まれるポリシーの内容とに基づいて、ＰＥルータ１６４を制御するための設定情報を生成する。また、設計モジュール２１０は、サイト１５０のＥＰＧに適用されるポリシーの内容と、ＥＰＧ１９２に適用されるポリシーの内容と、コントラクト１８４に含まれるポリシーの内容とに基づいて、ＰＥルータ１６６を制御するための設定情報を生成する。各コントラクトに含まれるポリシーの内容は、ＧＢＰモデルにおけるコントラクトに含まれるポリシールール（単に、ルールと称する場合がある。）若しくはサブジェクトであってよい。
【００５１】
他の実施形態において、設計モジュール２１０は、サイト１４０のＥＰＧに適用されるポリシーの内容と、ＥＰＧ１９２に適用されるポリシーの内容と、コントラクト１８４に含まれるポリシーの内容と、通信ネットワーク１６０に要求される仕様とに基づいて、ＰＥルータ１６２を制御するための設定情報を生成する。設計モジュール２１０は、通信ネットワーク１６０に要求される仕様を、コントラクト１８４に含まれるポリシーの内容の一部として取り扱ってよい。例えば、設計モジュール２１０が、ＱｏＳに関するポリシーであって、ベストエフォートの保証値を含むポリシーを利用して設定情報を生成する場合において、ユーザが通信ネットワーク１６０に要求する仕様に基づいて、ベストエフォートの保証値を決定してよい。これにより、例えば、ユーザは、予め用意されたコントラクト又はポリシーのテンプレートを利用して、設定情報を生成することができる。
【００５２】
通信ネットワーク１６０に要求される仕様は、通信ネットワーク１６０のＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）に関する要求仕様であってよい。通信ネットワーク１６０に要求される仕様は、経路制御のプロトコル、経路制御に関するパラメータなどに関するユーザの要求仕様であってもよい。
【００５３】
通信ネットワーク１６０に要求される仕様は、例えば、ユーザによりシステムに入力される。例えば、ユーザは、通信ネットワーク１６０に要求される仕様に関する情報を、ユーザ端末２０に入力する。ユーザ端末２０は、ユーザが入力した情報を設計モジュール２１０に送信する。これにより、設計モジュール２１０は、通信ネットワーク１６０に要求される仕様に関する情報を取得することができる。通信ネットワーク１６０に要求される仕様は、中継ノード（又は中継ネットワーク）が他のＥＰＧに対して提供するサービスに関する情報の一例であってよい。
【００５４】
同様に、設計モジュール２１０は、サイト１４０のＥＰＧに適用されるポリシーの内容と、ＥＰＧ１９１に適用されるポリシーの内容と、コントラクト１８２に含まれるポリシーの内容と、通信ネットワーク１６０に要求される仕様とに基づいて、ＰＥルータ１６４を制御するための設定情報を生成する。また、設計モジュール２１０は、サイト１５０のＥＰＧに適用されるポリシーの内容と、ＥＰＧ１９２に適用されるポリシーの内容と、コントラクト１８４に含まれるポリシーの内容と、通信ネットワーク１６０に要求される仕様とに基づいて、ＰＥルータ１６６を制御するための設定情報を生成する。
【００５５】
本実施形態において、制御モジュール２２０は、仮想ネットワーク１３０を制御する。一実施形態において、制御モジュール２２０は、仮想ネットワーク１３０を構成するノードのコンフィグレーションを実行する。例えば、制御モジュール２２０は、設計モジュール２１０が生成した各ＰＥルータの設定情報を、各ＰＥルータに送信する。これにより、各ＰＥルータのコンフィグレーションを実行することができる。
【００５６】
他の実施形態において、制御モジュール２２０は、各ＥＰＧのポリシー、及び、ＥＰＧ間の通信に関するポリシー（例えば、各コントラクトである。）を管理する。さらに他の実施形態において、制御モジュール２２０は、仮想ネットワーク１３０又はネットワークサービス提供システム１００をモニタリングする。制御モジュール２２０は、モニタリング結果に基づいて、仮想ネットワーク１３０を制御してもよい。例えば、制御モジュール２２０は、モニタリング結果に基づいて、設定情報を更新することを決定し、設計モジュール２１０に、新たな設定情報を生成させる。設計モジュール２１０は、モニタリング結果を考慮して、新たな設定情報を生成する。制御モジュール２２０は、新たな設定情報を用いて、各ノードのコンフィグレーションを実行する。
【００５７】
本実施形態において、格納モジュール２３０は、各種の情報を格納する。例えば、格納モジュール２３０は、各ＥＰＧに適用されるポリシー、及び、ＥＰＧ間の通信に関するポリシー又はコントラクトを格納する。各ポリシーは、トラフィックのクラスと、当該トラフィックの方向及び当該トラフィックに対するアクションの少なくとも一方とが対応付けられた情報であってよい。
【００５８】
格納モジュール２３０は、ＥＰＧごとに、当該ＥＰＧに含まれるエンドポイントの情報、エンドポイント間のトポロジーに関する情報などを格納してもよい。格納モジュール２３０は、各ＥＰＧに含まれるエンドポイントと、他のＥＰＧに含まれるエンドポイントの間のトポロジーに関する情報を格納してもよい。上記のトポロジーに関する情報は、上記の他のＥＰＧに含まれるエンドポイントの少なくとも１つについて、当該エンドポイントが所属するＥＰＧを示す情報又は当該ＥＰＧに適用されるポリシーを示す情報を含んでもよい。
【００５９】
格納モジュール２３０は、設計モジュール２１０が生成した設定情報を格納してもよい。格納モジュール２３０は、制御モジュール２２０による仮想ネットワーク１３０又はネットワークサービス提供システム１００のモニタリング結果に関する情報を格納してもよい。
【００６０】
一実施形態において、格納モジュール２３０は、第１ＥＰＧ及び第２ＥＰＧの間の通信に関する複数のポリシーのそれぞれと、第１ＥＰＧに適用されるポリシー及び第２ＥＰＧに適用されるポリシーの組み合わせのそれぞれとを対応付けて格納してよい。例えば、サイト１４０のＥＰＧに適用されるポリシーとしてＡ−１及びＡ−２があり、ＥＰＧ１９２に適用されるポリシーとしてＢ−１及びＢ−２がある場合、格納モジュール２３０は、サイト１４０のＥＰＧ及びＥＰＧ１９２の間の通信に関するポリシーとして、Ａ−１とＢ−１の組み合わせ、Ａ−１とＢ−２の組み合わせ、Ａ−２とＢ−１の組み合わせ、並びに、Ａ−２とＢ−２の組み合わせの４通りの組み合わせのそれぞれに対応するポリシーを格納する。上記の４つのポリシーは、コントラクト１８４の一部であってよい。
【００６１】
他の実施形態において、格納モジュール２３０は、通信ネットワーク１６０に関するＥＰＧと、通信ネットワーク１６０が提供するサービスを利用するＥＰＧとの間の通信に関する複数のポリシーの少なくとも一部に関して、当該ポリシーの識別情報と、通信ネットワーク１６０に関するＥＰＧに適用されるポリシー、通信ネットワーク１６０が提供するサービスを利用するＥＰＧに適用されるポリシー及び通信ネットワーク１６０に要求される仕様の組み合わせとを対応づけて格納してよい。通信ネットワーク１６０に関するＥＰＧは、例えば、ＥＰＧ１９１、ＥＰＧ１９２、ＥＰＧ１９３、ＥＰＧ１９４などである。通信ネットワーク１６０が提供するサービスを利用するＥＰＧは、例えば、サイト１４０のＥＰＧ、サイト１５０のＥＰＧなどである。上記の２つのＥＰＧの間の通信に関する複数のポリシーは、例えば、コントラクト１８２、コントラクト１８４又はコントラクト１８６に含まれる１以上のポリシーである。
【００６２】
これにより、ユーザは、通信ネットワーク１６０に要求する仕様に応じて、適切なポリシーを容易に選択することができる。例えば、ＱｏＳに関して、ユーザが１００Ｍｂｐｓ以上の帯域保証を要求する場合、設計モジュール２１０は、予め定義され、格納モジュール２３０に格納されたポリシーのテンプレートのうち、１００Ｍｂｐｓ以上の帯域保証を可能にする１以上のテンプレートを抽出する。次に、設計モジュール２１０は、抽出されたテンプレートのうち、通信ネットワーク１６０に関するＥＰＧに適用されるポリシー、及び、通信ネットワーク１６０が提供するサービスを利用するＥＰＧに適用されるポリシーの組み合わせに適合する１以上のテンプレートを抽出する。その後、適切なアルゴリズムにより、実際に適用するテンプレートを決定する。設計モジュール２１０は、どのテンプレートを利用するかを、ユーザに問い合わせてもよい。
【００６３】
図３は、設計モジュール２１０の内部構成の一例を概略的に示す。本実施形態において、設計モジュール２１０は、入力部３１０と、ポリシー取得部３２０と、トポロジー情報取得部３３０と、対象ノード決定部３４０と、設定情報生成部３５０とを備える。設計モジュール２１０の各部は、互いに情報を送受してよい。また、設計モジュール２１０の各部の役割分担は厳密なものではなく、設計モジュール２１０の各部における情報処理は、任意に分離又は統合されてよい。入力部３１０は、要求仕様取得部の一例であってよい。入力部３１０は、ユーザからの指示を取得するユーザ指示取得部の一例であってもよい。対象ノード決定部３４０は、中継ノード決定部の一例であってよい。
【００６４】
本実施形態において、入力部３１０は、ユーザからの指示又は要求を受け付ける。入力部３１０は、ユーザインターフェースであってよい。これにより、設計モジュール２１０は、ユーザからの指示又は要求を取得することができる。一実施形態において、入力部３１０は、通信ネットワーク１６０に含まれる中継ノードの少なくとも１つについて、当該中継ノードが所属するＥＰＧに関する入力を受け付ける。例えば、ユーザは、トポロジー情報が表示された入力画面を参照しながら、トポロジー情報に含まれる１以上の中継ノードの少なくとも１つについて、当該中継ノードが所属するＥＰＧを指定又は入力する。他の実施形態において、入力部３１０は、ユーザが、通信ネットワーク１６０に要求する仕様に関する情報を受け付ける。
【００６５】
本実施形態において、ポリシー取得部３２０は、各種のポリシーを取得する。例えば、ポリシー取得部３２０は、サイト１４０のＥＰＧに適用されるポリシーを取得する。ポリシー取得部３２０は、サイト１５０のＥＰＧに適用されるポリシーを取得してもよい。ポリシー取得部３２０は、サイト１４０のＥＰＧ及びサイト１５０のＥＰＧの間の通信に関するポリシーを取得してもよい。本実施形態において、ポリシー取得部３２０は、通信ネットワーク１６０に関する１以上のＥＰＧのそれぞれに適用されるポリシーを取得する。ポリシー取得部３２０は、通信ネットワーク１６０に関するＥＰＧと、通信ネットワーク１６０が提供するサービスを利用するＥＰＧとの間の通信に関するポリシーを取得してもよい。ポリシー取得部３２０は、取得されたポリシーに関する情報を設定情報生成部３５０に送信してよい。
【００６６】
ポリシー取得部３２０は、格納モジュール２３０を参照して、特定の条件に合致するポリシーを抽出してもよい。一実施形態によれば、ポリシー取得部３２０は、まず、格納モジュール２３０に格納された情報を参照して、サイト１４０のＥＰＧに適用されるポリシーと、ＥＰＧ１９２に適用されるポリシーとを抽出する。次に、ポリシー取得部３２０は、格納モジュール２３０に格納されたＥＰＧ間の通信に関するポリシーに関する情報を参照して、ＥＰＧ間の通信に関する複数のポリシーの中から、サイト１４０のＥＰＧに適用されるポリシー及びＥＰＧ１９２に適用されるポリシーの組み合わせに合致するポリシーを抽出する。
【００６７】
他の実施形態によれば、ポリシー取得部３２０は、まず、格納モジュール２３０に格納された情報を参照して、サイト１４０のＥＰＧに適用されるポリシーと、ＥＰＧ１９２に適用されるポリシーとを抽出する。ポリシー取得部３２０は、次に、格納モジュール２３０に格納されたＥＰＧ間の通信に関するポリシーに関する情報を参照して、ＥＰＧ間の通信に関する複数のポリシーの中から、サイト１４０のＥＰＧに適用されるポリシー、ＥＰＧ１９２に適用されるポリシー、及び、通信ネットワーク１６０に要求される仕様の組み合わせに合致するポリシーを抽出する。
【００６８】
本実施形態において、トポロジー情報取得部３３０は、各サイトのＥＰＧを構成する１以上のノードと、通信ネットワーク１６０に含まれる１又は複数の中継ノードのうちの少なくとも１つとの接続関係を規定するトポロジー情報を取得する。トポロジー情報取得部３３０は、格納モジュール２３０を参照して、上記のトポロジー情報を取得してもよい。トポロジー情報取得部３３０は、入力部３１０を介して、ユーザから、上記のトポロジー情報を取得してもよい。トポロジー情報取得部３３０は、取得されたトポロジー情報を対象ノード決定部３４０に送信してよい。
【００６９】
例えば、トポロジー情報取得部３３０は、サイト１４０のＥＰＧに含まれるサーバ１４２及びＣＥルータ１４４と、通信ネットワーク１６０に含まれるＰＥルータ１６２及びＰＥルータ１６４との接続関係を規定するトポロジー情報を取得する。上記のトポロジー情報は、ＰＥルータ１６２がＥＰＧ１９２に属することを示す情報と、ＰＥルータ１６４がＥＰＧ１９１に属することを示す情報とを含んでもよい。トポロジー情報取得部３３０は、サイト１５０のＥＰＧに含まれるクライアント端末１５２及びＣＥルータ１５４と、通信ネットワーク１６０に含まれるＰＥルータ１６６との接続関係を規定するトポロジー情報を取得してもよい。上記のトポロジー情報は、ＰＥルータ１６６がＥＰＧ１９２に属することを示す情報を含んでもよい。
【００７０】
本実施形態において、対象ノード決定部３４０は、通信ネットワーク１６０を構成する１又は複数の中継ノードのうち、特定のポリシーが適用される中継ノードを決定する。対象ノード決定部３４０は、通信ネットワーク１６０を構成する１又は複数の中継ノードのそれぞれについて、各中継ノードに適用されるポリシーを決定してもよい。対象ノード決定部３４０は、各中継ノードが所属するＥＰＧを決定することにより、特定のポリシーが適用される中継ノードを決定したり、各中継ノードに適用されるポリシーを決定したりしてよい。対象ノード決定部３４０は、トポロジー情報取得部３３０が取得したトポロジー情報に基づいて、各中継ノードが所属するＥＰＧを決定してよい。対象ノード決定部３４０は、決定された中継ノードに関する情報を設定情報生成部３５０に送信する。
【００７１】
例えば、対象ノード決定部３４０は、トポロジー情報取得部３３０が取得したトポロジー情報に基づいて、通信ネットワーク１６０に含まれる複数の中継ノードの中から、ＣＥルータ１４４に接続され、サイト内ネットワーク１４６及び通信ネットワーク１６０を接続する中継ノードを決定する。次に、対象ノード決定部３４０は、トポロジー情報取得部３３０が取得したトポロジー情報に基づいて、サイト内ネットワーク１４６及び通信ネットワーク１６０を接続する中継ノードのそれぞれが所属するＥＰＧを決定する。対象ノード決定部３４０は、サイト内ネットワーク１４６及び通信ネットワーク１６０を接続する中継ノードのそれぞれと、各中継ノードが所属するＥＰＧに適用されるポリシーとを対応付けてもよい。
【００７２】
本実施形態において、設定情報生成部３５０は、各サイトのＥＰＧに適用されるポリシーの内容に基づいて、各サイトのＥＰＧに含まれるエンドポイントの設定情報を生成する。設定情報生成部３５０は、ポリシー取得部３２０が取得したポリシーの内容に基づいて、エンドポイントの設定情報を生成してよい。設定情報生成部３５０は、生成された設定情報を、エンドポイントの識別情報と対応付けて格納モジュール２３０に格納してよい。
【００７３】
本実施形態によれば、設定情報生成部３５０は、「通信ネットワーク１６０に含まれる１以上の中継ノード」及び、「通信ネットワーク１６０が提供するサービスを利用するエンドポイント」にＧＢＰモデルを適用することで、それぞれのＥＰＧを作成し、各ＥＰＧに含まれるエンドポイントの設定情報を生成する。これにより、中継ノード又は通信ネットワーク１６０が提供するサービスに応じて、当該中継ノードの設定を自動的に設定したり、変更したりすることができる。
【００７４】
一実施形態によれば、設定情報生成部３５０は、ＧＢＰを利用してＳＤＮを構築する分野において公知の方法を用いて、サイト１４０のＥＰＧに適用されるポリシーと、ＥＰＧ１９１に適用されるポリシーと、コントラクト１８２に含まれるポリシーとに基づいて、ＰＥルータ１６４の設定情報を生成する。より具体的には、例えば、設定情報生成部３５０は、まず、ポリシー取得部３２０から、サイト１４０のＥＰＧに適用されるポリシーと、ＥＰＧ１９１に適用されるポリシーと、コントラクト１８２とを受け取る。次に、設定情報生成部３５０は、コントラクト１８２に含まれる１以上のポリシーを参照して、サイト１４０のＥＰＧと、ＥＰＧ１９１との組み合わせに適用されるポリシーのサブジェクトに対応付けられたルールを抽出する。次に、設定情報生成部３５０は、抽出されたルールの内容に基づいて、ＰＥルータ１６４を制御するためのコンフィグレーション情報を生成する。上記のコンフィグレーション情報は、ＰＥルータ１６４が受信したフローのクラシファイアに基づいて、当該フローを通過させる方向、及び、当該フローに対するアクションなどを規定した情報であってよい。
【００７５】
同様に、設定情報生成部３５０は、サイト１４０のＥＰＧに適用されるポリシーと、ＥＰＧ１９２に適用されるポリシーと、コントラクト１８４に含まれるポリシーとに基づいて、ＰＥルータ１６２の設定情報を生成する。また、設定情報生成部３５０は、サイト１５０のＥＰＧに適用されるポリシーと、ＥＰＧ１９２に適用されるポリシーと、コントラクト１８６に含まれるポリシーとに基づいて、ＰＥルータ１６６の設定情報を生成する。
【００７６】
他の実施形態によれば、設定情報生成部３５０は、サイト１４０のＥＰＧに適用されるポリシーと、ＥＰＧ１９１に適用されるポリシーと、コントラクト１８２に含まれるポリシーと、通信ネットワーク１６０に要求される仕様とに基づいて、ＰＥルータ１６４を制御するための設定情報を生成する。設定情報生成部３５０は、同様にして、ＰＥルータ１６２及びＰＥルータ１６６を制御するための設定情報を生成する。
【００７７】
より具体的には、例えば、設定情報生成部３５０は、まず、ポリシー取得部３２０から、サイト１４０のＥＰＧに適用されるポリシーと、ＥＰＧ１９１に適用されるポリシーと、コントラクト１８２とを受け取る。次に、設定情報生成部３５０は、コントラクト１８２に含まれる１以上のポリシーの中から、通信ネットワーク１６０に要求される仕様を満足するポリシーのみを抽出する。次に、設定情報生成部３５０は、抽出されたポリシーの中から、サイト１４０のＥＰＧに適用されるポリシーと、ＥＰＧ１９１に適用されるポリシーとの組み合わせに合致するポリシーを抽出する。そして、上記の組み合わせに合致するポリシーから、ルールを抽出する。次に、設定情報生成部３５０は、抽出されたルールの内容に基づいて、ＰＥルータ１６４を制御するためのコンフィグレーション情報を生成する。
【００７８】
図４は、設定情報生成部３５０における処理の一例を概略的に示す。本実施形態において、設定情報生成部３５０は、サイト１４０に適用されるポリシー４４０と、ＥＰＧ１９１に適用されるポリシー４５０と、サイト１４０のＥＰＧ及びＥＰＧ１９１の間の接続性を規定するコントラクト４６０とに基づいて、設定情報４８０を生成する。本実施形態において、コントラクト４６０は、サイト間の通信に関する１以上のポリシーを格納する。サイト間の通信に関する１以上のポリシーのそれぞれは、サブジェクト４６２と、クラシファイア４６４と、ディレクション４６６と、アクション４６８とが対応づけられた情報であってよい。
【００７９】
サブジェクト４６２は、ポリシーを識別するための識別情報であってよい。サブジェクト４６２は、ポリシーの名称であってよい。クラシファイア４６４は、ポリシーの対象となるトラフィックのクラス又は分類を示す情報であってよい。ディレクション４６６は、ポリシーの対象となるトラフィックがノードを通過することを許可された方向を示す情報であってよい。アクション４６８は、ポリシーの対象となるトラフィックに対する処理の内容を示す情報であってよい。
【００８０】
本実施形態によれば、設定情報生成部３５０は、例えば、ポリシー取得部３２０から、サイト１４０に適用されるポリシー４４０と、ＥＰＧ１９１に適用されるポリシー４５０とを取得する。次に、設定情報生成部３５０は、コントラクト４６０に含まれる複数のポリシーの中から、ポリシー４４０及びポリシー４５０の内容に合致するポリシーを抽出する。その後、設定情報生成部３５０は、コントラクト４６０から抽出されたポリシーの内容と、ＥＰＧ１９１の内容とに基づいて、ＰＥルータ１６４の設定情報を生成する。
【００８１】
図４に示された実施形態においては、設定情報生成部３５０は、コントラクト４６０に含まれるポリシーの中から、サブジェクト４６２が「ＱｏＳ＿１００Ｍ」であるルールを抽出する。その後、設定情報生成部３５０は、ポリシーの内容を実現することができるように、ＰＥルータ１６４の設定情報を生成する。例えば、設定情報生成部３５０は、トラフィックのクラス又は分類に応じて、トラフィックの方向を適切に変更したり、プライマリーキューイング１００Ｍｂｐｓ又はベストエフォート１０Ｍｂｐｓとして示されるＱｏＳを実現したりすることができるように、ＰＥルータ１６４の設定情報を生成する。
【００８２】
図５は、制御モジュール２２０の内部構成の一例を概略的に示す。本実施形態において、制御モジュール２２０は、設定情報適用部５１０と、システム監視部５２０とを備える制御モジュール２２０の各部は、互いに情報を送受してよい。また、制御モジュール２２０の各部の役割分担は厳密なものではなく、制御モジュール２２０の各部における情報処理は、任意に分離又は統合されてよい。設定情報適用部５１０は、設定情報送信部の一例であってよい。設定情報適用部５１０は、設定情報をポリシーエージェント経由で送信してもよい。
【００８３】
設定情報適用部５１０は、仮想ネットワーク１３０を構成するノードのコンフィグレーションを実行する。例えば、設定情報適用部５１０は、設計モジュール２１０が生成した設定情報を、各ノードに送信する。システム監視部５２０は、仮想ネットワーク１３０又はネットワークサービス提供システム１００をモニタリングする。制御モジュール２２０は、モニタリング結果に基づいて、設定情報を更新することを決定してもよい。
【００８４】
図６は、設計モジュール２１０を利用した仮想ネットワーク１３０の設計方法の一例を概略的に示す。ユーザは、例えば、入力部３１０を介して、設計モジュール２１０を操作する。本実施形態によれば、ステップ６０２（ステップをＳと省略する場合がある。）において、ユーザが、まず、サービスを提供するための仮想的な「テナント」を作成する。次に、Ｓ６０４において、ユーザが、テナント内で利用されるＶＰＮを作成する。Ｓ６０６において、ユーザが、テナント内にサイトを作成する。例えば、サイト１４０及びサイト１５０を定義する。
【００８５】
次に、Ｓ６０８において、ユーザが、各サイトへのアクセス回線を作成する。ユーザは、各サイト内にＣＥを配置しアクセス回線の一方と接続する。また、各アクセス回線の他方には、各ＣＥに対応するＰＥを配置する。さらに、各ＣＥのアドレスを登録する。ユーザは、各ＣＥ及び各ＰＥのトポロジー情報を登録してもよい。Ｓ６１０において、設計モジュール２１０が、各ＣＥのアドレスが登録された段階における各ＰＥの設定情報を生成する。また、設計モジュール２１０は、各ＰＥのコンフィグレーションを実施する。
【００８６】
次に、Ｓ６１２において、ユーザが、各サイトのサイト内ネットワークを作成する。また、ユーザは、各サイトに含まれるエンドポイントのトポロジー情報を登録する。Ｓ６１４において、設計モジュール２１０が、各サイトのサイト内ネットワークが作成された段階における各ＰＥの設定情報を生成する。また、設計モジュール２１０は、各ＰＥのコンフィグレーションを実施する。これにより、仮想ネットワーク１３０が作成される。
【００８７】
図７は、ＰＥルータの設定方法の一例を概略的に示す。図７は、図６に関連して説明したＳ６１０又はＳ６１４において、設計モジュール２１０がＰＥルータのコンフィグレーションを実施する方法の一例であってよい。
【００８８】
本実施形態によれば、まず、Ｓ７０２において、トポロジー情報取得部３３０が、仮想ネットワーク１３０の各ノードの接続関係を規定するトポロジー情報を取得する。トポロジー情報取得部３３０は、例えば、入力部３１０が受け付けて、格納モジュール２３０に格納されたトポロジー情報の中から、仮想ネットワーク１３０に関連するトポロジー情報を抽出する。これにより、仮想ネットワーク１３０に含まれる各ノードのトポロジーを決定することができる。
【００８９】
Ｓ７０４において、トポロジー情報に含まれる１以上のエンドポイントをグループ化して、１以上のＥＰＧを作成する。例えば、入力部３１０が、ユーザからの指示を受け付けて、当該指示に基づいて、エンドポイントをグループ化する。例えば、ユーザは、トポロジー情報が表示された入力画面を参照しながら、トポロジー情報に含まれる１以上のエンドポイントの少なくとも１つについて、当該エンドポイントが所属するＥＰＧを指定又は入力する。これにより、ＰＥルータ１６２、ＰＥルータ１６４及びＰＥルータ１６６のそれぞれの所属するＥＰＧが決定される。
【００９０】
次に、Ｓ７０６において、各ＥＰＧに適用されるポリシーを決定する。例えば、ポリシー取得部３２０が、各ＥＰＧに適用されるポリシーを取得することで、各ＥＰＧに適用されるポリシーが決定される。ポリシー取得部３２０は、各ＥＰＧに適用されるポリシーをユーザに問い合わせてもよく、格納モジュール２３０に格納された情報を参照して、各ＥＰＧに適用されるポリシーを取得してもよい。この時、ユーザは、入力部３１０に通信ネットワーク１６０に要求する仕様を入力して、ポリシーの内容を編集してもよい。
【００９１】
Ｓ７０８において、ＥＰＧ間の通信に適用されるポリシーを決定する。例えば、ポリシー取得部３２０が、作成された複数のＥＰＧの組み合わせの少なくとも１つについて、ＥＰＧ間の通信に適用されるポリシーを取得する。ポリシー取得部３２０は、当該ＥＰＧ間の通信に適用されるポリシーをユーザに問い合わせてもよく、格納モジュール２３０に格納された情報を参照して、当該ＥＰＧ間の通信に適用されるポリシーを取得してもよい。この時、ユーザは、入力部３１０に通信ネットワーク１６０に要求する仕様を入力して、ポリシーの内容を編集してもよい。
【００９２】
Ｓ７１０において、設定情報生成部３５０が、ＰＥルータ１６２、ＰＥルータ１６４及びＰＥルータ１６６のそれぞれを制御するための設定情報を生成する。Ｓ７１２において、設定情報適用部５１０が、ＰＥルータ１６２、ＰＥルータ１６４及びＰＥルータ１６６のそれぞれの設定情報を、ＰＥルータ１６２、ＰＥルータ１６４及びＰＥルータ１６６のそれぞれに送信する。ＰＥルータ１６２、ＰＥルータ１６４及びＰＥルータ１６６のそれぞれは、各設定情報を受信すると、コンフィグレーションを実行する。
【００９３】
ＧＢＰを利用してＳＤＮを設計する場合、従来の手法によれば、サイト１４０のＥＰＧに適用するポリシーと、サイト１５０のＥＰＧに適用するポリシーと、サイト１４０のＥＰＧ及びサイト１５０のＥＰＧとの間の通信に関するコントラクトとに基づいて、各サイトに含まれる各エンドポイントの設定情報を生成する。このとき、通信ネットワーク１６０に含まれるＰＥルータ１６２、ＰＥルータ１６４及びＰＥルータ１６６の設定のうち、サイト１４０のＥＰＧがサイト１５０のＥＰＧに提供するサービス、又は、サイト１５０のＥＰＧがサイト１４０のＥＰＧに提供するサービスに関係のある設定についても、設定情報が生成される。
【００９４】
しかしながら、通信ネットワーク１６０に含まれるＰＥルータ１６２、ＰＥルータ１６４及びＰＥルータ１６６は、サイト１４０及びサイト１５０の間に介在して、両者の間で情報を伝達する要素であることから、従来のＧＢＰでは、ＰＥルータ１６２、ＰＥルータ１６４又はＰＥルータ１６６がサイト１４０又はサイト１５０に提供するサービスに関する設定については、設定情報を生成することができなかった。そのため、ＰＥルータおける経路制御、ＱｏＳなどの設定を自動的に設定したり、変更したりすることができなかった。
【００９５】
これに対して、本実施形態によれば、通信ネットワーク１６０に含まれる１以上の中継ノードをエンドポイントとして取り扱い、１以上の中継ノードを、各中継ノードに適用されるポリシーに基づいて、１以上のＥＰＧにグループ化する。上記のポリシーは、例えば、ＥＰＧが提供するサービスの内容、ＥＰＧ内の通信規格に基づいて決定される。また、本実施形態においては、中継ノードからなるＥＰＧと、当該ＥＰＧが提供するサービスを利用するＥＰＧとの間のコントラクトが作成される。これにより、従来のＧＢＰを利用した設計手法と同様の手法を用いて、各ＥＰＧに所属する中継ノードが提供するサービスの設定情報を生成することができる。
【００９６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９７】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９８】
１０  物理リソース、２０  ユーザ端末、１００  ネットワークサービス提供システム、１１０  ＳＤＮコントローラ、１１４  ポリシーエージェント、１１５  ポリシーエージェント、１１６  ポリシーエージェント、１２０  ＳＤＮコントローラ、１３０  仮想ネットワーク、１４０  サイト、１４２  サーバ、１４４  ＣＥルータ、１４６  サイト内ネットワーク、１５０  サイト、１５２  クライアント端末、１５４  ＣＥルータ、１５６  サイト内ネットワーク、１６０  通信ネットワーク、１６２  ＰＥルータ、１６４  ＰＥルータ、１６６  ＰＥルータ、１７２  コントラクト、１８２  コントラクト、１８４  コントラクト、１８６  コントラクト、１９１  ＥＰＧ、１９２  ＥＰＧ、１９３  ＥＰＧ、１９４  ＥＰＧ、２１０  設計モジュール、２２０  制御モジュール、２３０  格納モジュール、３１０  入力部、３２０  ポリシー取得部、３３０  トポロジー情報取得部、３４０  対象ノード決定部、３５０  設定情報生成部、４４０  ポリシー、４５０  ポリシー、４６０  コントラクト、４６２  サブジェクト、４６４  クラシファイア、４６６  ディレクション、４６８  アクション、４８０  設定情報、５１０  設定情報適用部、５２０  システム監視部
【図１Ａ】
0006275180.tif 000002
【図１Ｂ】
0006275180.tif 000003
【図２】
0006275180.tif 000004
【図３】
0006275180.tif 000005
【図４】
0006275180.tif 000006
【図５】
0006275180.tif 000007
【図６】
0006275180.tif 000008
【図７】
0006275180.tif 000009