(57)【特許請求の範囲】
【請求項１】
ユーザに対して提供される仮想ネットワークの更新内容に従って、少なくとも更新後の仮想ネットワークに対応する物理ノードに、更新前の制御情報よりも高い優先度を持つ制御情報を設定することにより、前記仮想ネットワークの更新内容を反映した仮想ネットワークを構築する仮想ネットワーク構築手段と、
前記更新の回数を示すバージョン情報が付加された仮想ネットワーク情報を管理する仮想ネットワーク情報管理手段と、を備えた制御装置に対し、
前記仮想ネットワーク情報管理手段に管理されている仮想ネットワークの情報の運用ポリシを設定するポリシ管理装置。
【請求項２】
さらに、ユーザから、前記制御装置の前記仮想ネットワーク情報管理手段に管理されている仮想ネットワークの情報の更新内容を受け付ける仮想ネットワーク更新受付手段を備える請求項１のポリシ管理装置。
【請求項３】
前記仮想ネットワークの情報の運用ポリシとして、前記仮想ネットワークの情報の削除処理の実行条件を含んだポリシを設定可能である請求項１又は２のポリシ管理装置。
【請求項４】
前記仮想ネットワークの情報の削除処理の実行条件として、更新から所定時間の経過、又は、所定時間のトラヒックが無かったこと、のいずれかを設定可能である請求項３のポリシ管理装置。
【請求項５】
前記仮想ネットワークの情報の運用ポリシとして、前記優先度の高い制御情報を削除し、仮想ネットワークの更新内容のロールバックを実施する条件を含んだポリシを設定可能である請求項１から４いずれか一のポリシ管理装置。
【請求項６】
前記仮想ネットワークの情報の運用ポリシとして、前記仮想ネットワークの情報の削除処理の実行条件として、前記物理ノードの障害の発生を設定したポリシを設定可能である請求項１から３のいずれか一のポリシ管理装置。
【請求項７】
所定の制御装置に対し、ユーザに対して提供される仮想ネットワークの更新内容に従って、少なくとも更新後の仮想ネットワークに対応する物理ノードに、更新前の制御情報よりも高い優先度を持つ制御情報を設定することにより、前記仮想ネットワークの更新内容を反映した仮想ネットワークを構築するステップと、
前記制御装置において、前記更新の回数を示すバージョン情報が付加された仮想ネットワーク情報を管理するステップと、
前記制御装置に対して、前記管理されている仮想ネットワークの情報の運用ポリシを設定するステップと、
を含む仮想ネットワークの管理方法。
【請求項８】
ユーザに対して提供される仮想ネットワークの更新内容に従って、少なくとも更新後の仮想ネットワークに対応する物理ノードに、更新前の制御情報よりも高い優先度を持つ制御情報を設定することにより、前記仮想ネットワークの更新内容を反映した仮想ネットワークを構築する仮想ネットワーク構築手段と、
前記更新の回数を示すバージョン情報が付加された仮想ネットワーク情報を管理する仮想ネットワーク情報管理手段と、を備えた制御装置に対し、
前記仮想ネットワーク情報管理手段に管理されている仮想ネットワークの情報の運用ポリシを設定するポリシ管理装置として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポリシ管理装置、仮想ネットワークの管理方法及びプログラムに関し、特に、ユーザに対して仮想的なネットワークを提供するためのポリシ管理装置、仮想ネットワークの管理方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に、転送ノードによって構成される転送経路と、前記仮想ネットワークとの対応関係を記憶する仮想ネットワーク経路情報記憶部と、前記仮想ネットワーク経路情報記憶部を参照して、前記複数の転送ノードのうちの任意の転送ノードの状態の変更により影響を受ける仮想ネットワークを特定する仮想ネットワーク制御部と、を備え、ユーザに対し、仮想ネットワーク上の影響を受ける部分を提示できるという制御装置が開示されている。
【０００３】
特許文献２には、パケット転送ノードによって構成された仮想ネットワークの構成を記憶する仮想ネットワーク構成情報記憶部と、前記仮想ネットワーク上の仮想端点と、前記パケット転送ノードの端点とを関連付けて記憶する端点情報記憶部と、前記仮想ネットワーク構成情報記憶部と前記端点情報記憶部とにそれぞれ記憶された情報を参照して、前記パケット転送ノードによる仮想ネットワーク上のパケット転送を制御する制御部と、既存の仮想端点に接続されていない送信元からパケットを受信した際に、パケットヘッダ中の予め定めたフィールドの値と、前記仮想ネットワーク上の仮想端点の接続位置との対応関係を定めた仮想端点追加規則に基づいて、前記仮想ネットワークへの仮想端点の追加と、前記端点情報記憶部への新規エントリの追加と、を実行する仮想ネットワーク更新部と、を備えた制御装置が開示されている。
【０００４】
特許文献３には、グラフィカル  ユーザ  インターフェース（ＧＵＩ）を用いてネットワークデバイスにおいてリアルタイムでサービスを対話的に供与する代わりに、運用サポートサービス（ＯＳＳ）クライアント及びテンプレートを対話的及び非対話的に用いてサービスを提供するテンプレート駆動型サービスプロビジョニングという概念が開示されている（段落０３８６）。
【０００５】
特許文献４には、オープンフロー技術を利用したコンピュータシステムの仮想ネットワークの可視化方法が開示されている。特許文献５の段落０００２にも、ソフトウェア定義ネットワーク（ＳＤＮ）のネットワークコントローラが、ネットワーク状態のビューを作成及び維持し、ネットワーク状態のビューにアクセスさせることが開示されている。
【０００６】
特許文献６には、ユーザに対し、ネットワークのサービスプランを提案するためのネットワークサービスプランプロビジョニングステムが開示されている。特許文献７には、中央ポリシーサーバとリモート位置にあるポリシーエンフォーサとを含む組織用の統一ポリシー管理システムが開示されている。特許文献８には、ネットワークインターフェースが動作不可能と判定された場合に、ファームウェア命令セットを使用して需給計器の再起動／ロークバックを開始するように構成されたプロセッサを備える需給計器が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２０１１／１１８５８５号
【特許文献２】国際公開第２０１３／０６２０７０号
【特許文献３】特表２００３−５３４７４８号公報
【特許文献４】国際公開第２０１３／１１８６９０号
【特許文献５】特表２０１４−５２６２２５号公報
【特許文献６】特表２０１４−５０２０６６号公報
【特許文献７】特開２００５−６５３０５号公報
【特許文献８】特開２０１４−１３０５８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は、本発明によって与えられたものである。特許文献１、２に記載されているように、オープンフローやＳＤＮの普及により、仮想ネットワークを容易に構築できるようになっている。これに伴い、仮想ネットワークのパラメータを変更したいというユーザニーズが発生している。これら仮想ネットワークのパラメータとしては、ネットワークトポロジ、経路、ＡＣＬ（アクセスコントロールリスト）ポリシ、スイッチ・ルータ等ハードウェアの構成、帯域（リンク帯域、最大帯域、閾値）、ルーティングテーブル・フローテーブル、ポート状態（ｕｐ／ｄｏｗｎ）、キュー長、サービスチェイン（ＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ））等が挙げられる。
【０００９】
しかしながら、上記した仮想ネットワークのパラメータを無作為に変更してしまうと、例えば、変更後の内容にて不具合が発生した場合に、元の内容に戻すことが困難になってしまう。そのために、事前に各物理ノードに設定した制御情報等のバックアップを取る等の準備が必要となる。また、仮想ネットワークを正しく機能させるためには、各物理ノードに対して一貫した内容を設定する必要がある。そのために、競合する設定情報の削除や無効化処理が必要となる場合がある。
【００１０】
本発明は、上記した仮想ネットワークの更新に伴う、各物理ノードへの一貫した制御情報の設定等の容易化に貢献できるポリシ管理装置、仮想ネットワークの管理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の視点によれば、ユーザに対して提供される仮想ネットワークの更新内容に従って、少なくとも更新後の仮想ネットワークに対応する物理ノードに、更新前の制御情報よりも高い優先度を持つ制御情報を設定することにより、前記仮想ネットワークの更新内容を反映した仮想ネットワークを構築する仮想ネットワーク構築手段と、前記更新の回数を示すバージョン情報が付加された仮想ネットワーク情報を管理する仮想ネットワーク情報管理手段と、を備えた制御装置に対し、前記仮想ネットワーク情報管理手段に管理されている仮想ネットワークの情報の運用ポリシを設定するポリシ管理装置が提供される。
【００１２】
第２の視点によれば、所定の制御装置に対し、ユーザに対して提供される仮想ネットワークの更新内容に従って、少なくとも更新後の仮想ネットワークに対応する物理ノードに、更新前の制御情報よりも高い優先度を持つ制御情報を設定することにより、前記仮想ネットワークの更新内容を反映した仮想ネットワークを構築するステップと、前記制御装置において、前記更新の回数を示すバージョン情報が付加された仮想ネットワーク情報を管理するステップと、前記制御装置に対して、前記管理されている仮想ネットワークの情報の運用ポリシを設定するステップと、を含む仮想ネットワークの管理方法が提供される。本方法は、上記した制御装置に運用ポリシを設定するポリシ管理装置という、特定の機械に結びつけられている。
【００１３】
第３の視点によれば、ユーザに対して提供される仮想ネットワークの更新内容に従って、少なくとも更新後の仮想ネットワークに対応する物理ノードに、更新前の制御情報よりも高い優先度を持つ制御情報を設定することにより、前記仮想ネットワークの更新内容を反映した仮想ネットワークを構築する仮想ネットワーク構築手段と、前記更新の回数を示すバージョン情報が付加された仮想ネットワーク情報を管理する仮想ネットワーク情報管理手段と、を備えた制御装置に対し、前記仮想ネットワーク情報管理手段に管理されている仮想ネットワークの情報の運用ポリシを設定するポリシ管理装置として、コンピュータを機能させるためのコンピュータプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
なお、前記したポリシ管理装置、仮想ネットワークの管理方法及びプログラムの各要素は、それぞれ上記した課題の解決に貢献する。
【発明の効果】
【００１４】
本発明によれば、仮想ネットワークの更新に伴う、各物理ノードへの一貫した制御情報の設定等の容易化に貢献することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の一実施形態の動作を説明するための図である。
【図３】本発明の第１の実施形態の通信システムの構成を示す図である。
【図４】本発明の第１の実施形態の制御ノードの詳細構成を示す図である。
【図５】本発明の第１の実施形態の制御ノードのデータベースに格納された仮想ネットワーク情報の一例を示す図である。
【図６】本発明の第１の実施形態の制御ノードによって構成された仮想ネットワークとノードとの対応関係を示す図である。
【図７】本発明の第１の実施形態の制御ノードのデータベースの仮想ネットワーク情報に更新が行われた例を示す図である。
【図８】本発明の第１の実施形態における仮想ネットワークのバージョン更新のイメージ図である。
【図９】本発明の第１の実施形態におけるテンプレートを用いたデータベースの更新例（新規エントリ作成）を示す図である。
【図１０】本発明の第１の実施形態におけるテンプレートを用いた仮想ネットワークの作成処理のイメージ図である。
【図１１】本発明の第１の実施形態におけるテンプレートを用いたデータベースの更新例（バージョン更新）を示す図である。
【図１２】本発明の第２の実施形態の制御ノードの詳細構成を示す図である。
【図１３】本発明の第２の実施形態におけるデータベースの更新例（古いバージョンのエントリ削除）を示す図である。
【図１４】本発明の第２の実施形態における古いバージョンの仮想ネットワークの削除のイメージ図である。
【図１５】本発明の第３の実施形態の制御ノードの詳細構成を示す図である。
【図１６】本発明の第３の実施形態におけるデータベースの更新例（ロールバック処理）を示す図である。
【図１７】本発明の第３の実施形態における仮想ネットワークのロールバック処理のイメージ図である。
【図１８】本発明の第４の実施形態の通信システムの構成を示す図である。
【図１９】本発明の第４の実施形態の管理ノードの詳細構成を示す図である。
【図２０】本発明の第４の実施形態の管理ノードから設定可能なネットワーク運用管理ポリシの一例を示す図である。
【図２１】本発明の第４の実施形態の管理ノードにおける仮想ネットワーク情報へのネットワーク運用管理ポリシの設定画面の一例を示す図である。
【図２２】本発明の第４の実施形態の通信システムの全体動作を説明するための図である。
【図２３】本発明の第５の実施形態の通信システムの構成を示す図である。
【図２４】本発明の第５の実施形態のＯｐｅｎＦｌｏｗＣｏｎｔｒｏｌｌｅｒ及びＯｐｅｎＦｌｏｗＳｗｉｔｃｈの詳細構成を示す図である。
【図２５】本発明の第５の実施形態のＯｐｅｎＦｌｏｗＣｏｎｔｒｏｌｌｅｒがＯｐｅｎＦｌｏｗＳｗｉｔｃｈに設定するフローエントリの一例を示す図である。
【図２６】本発明の第５の実施形態のＯｐｅｎＦｌｏｗＣｏｎｔｒｏｌｌｅｒによって構成される仮想ネットワークのイメージ図である。
【図２７】本発明の第５の実施形態の変形実施形態を説明するため図である。
【図２８】本発明の第６の実施形態の通信システムの構成を示す図である。
【図２９】本発明の第６の実施形態の制御ノードによりサービスチェインが構成された状態を示す図である。
【図３０】本発明の第６の実施形態の制御ノードによるサービスチェインの設定変更処理を説明するための図である。
【図３１】本発明の第６の実施形態におけるデータベースの更新例（サービスチェイン設定変更）を示す図である。
【図３２】本発明の第６の実施形態におけるサービスチェイン設定変更によるサービスチェインの切替のイメージ図である。
【図３３】本発明の第６の実施形態におけるデータベースの更新例（古いサービスチェインのエントリ削除）を示す図である。
【図３４】本発明の第６の実施形態における古いバージョンのサービスチェインの削除のイメージ図である。
【図３５】本発明の第６の実施形態におけるデータベースの更新例（ロールバック処理）を示す図である。
【図３６】本発明の第６の実施形態におけるサービスチェインのロールバック処理のイメージ図である。
【発明を実施するための形態】
【００１６】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１７】
本発明は、その一実施形態において図１に示すように、仮想ネットワーク更新受付手段１１と、仮想ネットワーク構築手段１２と、を備えた制御装置１０Ａにて実現できる。より具体的には、仮想ネットワーク更新受付手段１１は、ネットワーク管理者やユーザ自身から、ユーザに対して提供される仮想ネットワークの更新内容を受け付ける。仮想ネットワーク構築手段１２は、前記仮想ネットワークの更新内容に従って、少なくとも更新後の仮想ネットワークに対応する物理ノードに、更新前の制御情報よりも高い優先度を持つ制御情報を設定することにより、前記仮想ネットワークの更新内容を反映した仮想ネットワークを構築する。
【００１８】
例えば、図１に示すように、１０Ｍｂｐｓを上限転送レート（帯域）とする仮想ネットワークＶＮ１が提供されている状態において、仮想ネットワーク更新受付手段１１が、上限転送レート（帯域）を１００Ｍｂｐｓに変更するとの更新内容を受け付けたものとする。この場合、仮想ネットワーク構築手段１２は、この仮想ネットワークの更新内容に従って、更新後の仮想ネットワークに対応する（物理）ノードに、更新前の制御情報（優先度＝Ｌｏｗ）よりも高い優先度（優先度＝Ｈｉｇｈ）を持つ制御情報を設定する。これにより、仮想ネットワークの更新内容を反映した１００Ｍｂｐｓを上限転送レート（帯域）とする仮想ネットワークＶＮ２が構築される。同様の手順で、優先度の高い制御情報（パケットの転送を指示）を設定することで、仮想ネットワークのノード間にリンクを作成することもなども可能となる。
【００１９】
以上のように、本発明によれば、複数の（物理）ノードに、優先度の異なる制御情報を設定することで、仮想ネットワークを更新することが可能となる。また、後記するように、本発明において、優先度の高い制御情報を削除すれば、仮想ネットワークを更新前の内容に戻すことが可能となる。また、各（物理）ノードの制御情報格納領域に空きを作りたい場合、優先度の低い制御情報を削除することもできる。
【００２０】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図３は、本発明の第１の実施形態の通信システムの構成を示す図である。図３を参照すると、互いに接続されネットワーク１２０を構成する複数のノード（物理ノード）１１１〜１１８と、これらノード１１１〜１１８を制御する制御ノード１００とが接続された構成が示されている。図３の破線は、制御ノード１００とノード１１１〜１１８間の制御用チャネルを示している。
【００２１】
図４は、本発明の第１の実施形態の制御ノードの詳細構成を示す図である。図４を参照すると、経路設定部１０１と、ノード管理部１０２と、データベース１０３と、制御部１０４とを備えた制御ノード１００が示されている。
【００２２】
経路設定部１０１は、制御部１０４から要求に応じて、データベース１０３に格納されたネットワーク１２０のトポロジ情報を基づいて、仮想ネットワークの任意の端点間の経路に対応するノード１１１〜１１８の経路を計算する。
【００２３】
ノード管理部１０２は、経路設定部１０１にて計算された経路上のノードに、当該経路に沿ったパケット転送や付随処理を実行させる制御情報を作成し、制御部１０４を介して各ノードに、制御部１０４から指定された優先度を持つ制御情報を設定する。また、ノード管理部１０２が、必要に応じて、ノードに対して、制御部１０４を介して、ノードの障害の有無、リソースの状態やデータ統計状態（帯域使用状況）等を問い合わせ、収集させる動作を行わせてもよい。収集した結果は、ノード情報として、データベース１０３に格納してもよいし、ノード管理部１０２自身が保持するようにしてもよい。
【００２４】
なお、本実施形態においては、１つのノードに、新旧異なるバージョンの仮想ネットワークを実現する制御情報が設定されることになる。このため、マッチ条件にワイルドカードが使用されている場合、古いバージョンの仮想ネットワークに対応する制御情報が適用されてしまう場合がある。このため、ノード管理部１０２に、こうした新旧の制御情報の整合性のチェック機能を追加してもよい。
【００２５】
データベース１０３は、ノード１１１〜１１８が配置されたネットワーク１２０の情報と、ネットワーク１２０のリソースを用いて構成された仮想ネットワークの構成やパラメータを含む仮想ネットワーク情報を格納するデータベースである。また、データベース１０３には、この仮想ネットワーク情報に対応して各ノードに設定された優先度付きの制御情報を格納してもよい。
【００２６】
制御部１０４は、ネットワーク１２０上のノード１１１〜１１８と通信し、これらのノード１１１〜１１８に制御情報を設定することで仮想ネットワークを提供する。また、制御部１０４は、ネットワーク管理者やユーザから仮想ネットワークの更新内容を受け付けると、データベース１０３の仮想ネットワーク情報を更新するとともに、経路設定部１０１及びノード管理部１０２に対し、更新後の仮想ネットワークを実現するための優先度付きの制御情報の設定を要求する。
【００２７】
図５は、データベース１０３に格納された仮想ネットワーク情報の一例を示す図である。図５の例では、仮想ネットワーク１３１と、仮想ネットワーク１３２との２つの仮想ネットワークが設定されている状態を示している。図５の例では、仮想ネットワーク１３１は、ネットワーク１２０のノード１１２、１１３、１１４、１１５によって構成され、その最大帯域（上限転送レート）は１００Ｍｂｐｓである。また、バージョンフィールドには、「１」が設定されている。同様に、仮想ネットワーク１３２は、ネットワーク１２０のノード１１６、１１７によって構成され、その最大帯域（上限転送レート）は１００Ｍｂｐｓである。また、バージョンフィールドには、「１」が設定されている。本実施形態では、このバージョン数をノードに設定する制御情報の優先度として用い、バージョン数が大きいものを優先度が高いものとして取り扱う。従って、データベース１０３は、制御情報に付与される優先度と、仮想ネットワークのバージョンと対応付けて管理する仮想ネットワーク情報管理手段としても機能する。
【００２８】
図６は、上記仮想ネットワーク１３１、１３２と、ノード１１１〜１１８との対応関係を示す図である。初期段階では、図５に示すように、バージョン＝１の仮想ネットワークの情報が設定されているため、図６のノードには、優先度＝１の制御情報が設定されることとなる。以降、バージョンＮの仮想ネットワークを仮想ネットワーク１３１−Ｎを記し、バージョンＮの仮想ネットワークを実現するための制御情報には優先度＝Ｎが与えられるものとして説明する。
【００２９】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下、図７に示すように、制御ノード１００のデータベース１０３の仮想ネットワーク情報の更新が行われたものとして説明する。まず、仮想ネットワーク１３１については、トポロジを変更せず、最大帯域を１００Ｍｂｐｓから２００Ｍｂｐｓに引き上げる操作が行われたものとする。この場合、制御ノード１００は、図８の仮想ネットワーク１３１−２に示すとおり、仮想ネットワーク１３１−１よりも優先度の高い制御情報（優先度＝２）をノードに設定することにより、バージョン２の仮想ネットワーク１３１−２を構築する。なお、仮想ネットワーク１３１に対する更新内容は、最大帯域を１００Ｍｂｐｓから２００Ｍｂｐｓに引き上げるだけであるが、最大帯域２００Ｍｂｐｓを実現するに伴い、経路設定部１０１及びノード管理部１０２で再計算が行われ、各ノード１１２〜１１５に設定される制御情報も更新される。
【００３０】
同様に、仮想ネットワーク１３２については、トポロジの変更操作が行われたものとする。この場合も、制御ノード１００は、図８の仮想ネットワーク１３２−２に示すとおり、仮想ネットワーク１３２−１よりも優先度の高い制御情報（優先度＝２）をノードに設定することによりバージョン２の仮想ネットワーク１３２−２を構築する。また、仮想ネットワーク１３２に対する更新内容は、トポロジを変更するものであるため、この場合も、経路設定部１０１及びノード管理部１０２で再計算が行われ、各ノード１１４〜１１７に新しい制御情報が設定される。
【００３１】
以上のようにすることで、図７に示した仮想ネットワークの更新内容に対応して、新しいバージョンの仮想ネットワークが構築される。仮想ネットワークを実現するための制御情報は優先度に基づいて適用されるため、一貫性が確保される。また、背景技術に述べたように仮想ネットワークを更新し、制御情報を書き換えてしまう場合、旧バージョンの仮想ネットワーク情報や制御情報は失われてしまうことになるが、本発明によれば、旧バージョンの仮想ネットワーク情報や制御情報も保持することが可能となる。
【００３２】
なお、ユーザにテンプレートを提供することで、上記した仮想ネットワークの構築や更新処理を一層容易化することができる。図９は、新規に仮想ネットワークを構築する際に、テンプレートを用いる場合の処理を説明するための図である。
【００３３】
例えば、図９の右欄に示すように、仮想ネットワークにひな型となるテンプレートを格納したテーブルを事前に用意しておく。このようなテンプレートは、ユーザとの契約内容や料金プランに基づいて、ネットワーク管理者が事前に作成することができる。
【００３４】
ユーザは、図９の右欄に示すテンプレートから、自身の要件に適った仮想ネットワークを選択し、データベース１０３に登録する。このようにすることで、図１０に示すように、ユーザは、簡単に仮想ネットワークを構築することができる。
【００３５】
また、上述したテンプレートを利用して、仮想ネットワークを更新させることもできる。例えば、ユーザが、図１１の右欄に示すテンプレートから、テンプレートＮｏ２の最大帯域を２００Ｍｂｐｓとした仮想ネットワークを選択し、データベース１０３の仮想ネットワーク１３１の新規エントリとして登録する。このようにすることで、図８の仮想ネットワーク１３１の更新内容と等価（トポロジ変更無し、最大帯域を２００Ｍｂｐｓに変更）の更新処理を行うことができる。
【００３６】
なお、図９、図１１の例では、説明を簡単にするため、２つのテンプレートのみを示しているが、テンプレートは多数用意しておくことが好ましい。この場合、ユーザ名から現在利用中の仮想ネットワークＩＤを割り出し、さらに、割り出した仮想ネットワークに含まれるノードを検索キーとしたテンプレートの検索機能を追加することが好ましい。あるいは、制御ノード１００が、ユーザ毎に、テンプレートの使用履歴を記憶しておき、前回利用したテンプレートに関連するテンプレートを、バージョンアップ候補等として提示するようにしてもよい。
【００３７】
［第２の実施形態］
続いて、上記第１の実施形態に、古いバージョンの仮想ネットワークの削除機能を追加した第２の実施形態について説明する。図１２は、本発明の第２の実施形態の制御ノードの詳細構成を示す図である。図４に示した第１の実施形態の制御ノード１００との相違点は、制御部１０４ａ内にエントリ削除部１０４１が追加されている点である。その他構成及び動作は第１の実施形態と同様であるため、以下、第１の実施形態との相違点を中心に説明する。
【００３８】
エントリ削除部１０４１は、データベース１０３から、バージョン更新により使われなくなった古いバージョンの仮想ネットワーク情報を削除する。エントリ削除部１０４１による古いバージョンの仮想ネットワーク情報の削除の契機としては、バージョン更新後の所定期間の経過、所定期間該当トラヒックがゼロである場合等が考えられる。
【００３９】
続いて、本実施形態の動作について説明する。図１３は、本発明の第２の実施形態におけるデータベースの更新例（古いバージョンのエントリ削除）を示す図である。エントリ削除部１０４１は、上述した所定期間の経過、所定期間該当トラヒックがゼロ等の条件が成立すると、古いバージョンの仮想ネットワーク情報を削除する。
【００４０】
前記バージョンの削除がなされると、制御部１０４ａは、ノード管理部１０２に対して各ノードに設定されていた制御情報の削除を依頼する。前記依頼を受けたノード管理部１０２は、図１４に示すように、該当する古いバージョンの仮想ネットワーク１３１−１に対応する制御情報の削除を実行する。この削除の依頼は、ノード管理部１０２が自ら管理している各ノードへの設定済みの制御情報を参照して、ノード管理部１０２が削除対象の制御情報を指定して行うことができる。また、あるいは、ノード管理部１０２とノードが対話を行って、該当するバージョンに対応する設定済みの制御情報を特定するようにしてもよい。なお、図１４の例では、仮想ネットワーク１３１−１のみを削除しているが、仮想ネットワーク１３２−１も同様に削除することができる。
【００４１】
これにより、例えば、図１４の例の場合、ノード１１２〜１１５から古い制御情報が削除される。この結果、本実施形態によれば、ノード１１２〜１１５のリソース、端的には、古い仮想ネットワークのために使用されていた制御情報の格納可能領域を解放することが可能となる。
【００４２】
［第３の実施形態］
続いて、上記第１の実施形態に、更新前の仮想ネットワークへのロールバック処理機能を追加した第３の実施形態について説明する。図１５は、本発明の第３の実施形態の制御ノードの詳細構成を示す図である。図４に示した第１の実施形態の制御ノード１００との相違点は、制御部１０４ｂ内にロールバック処理部１０４２が追加されている点である。その他構成及び動作は第１の実施形態と同様であるため、以下、第１の実施形態との相違点を中心に説明する。
【００４３】
ロールバック処理部１０４２は、所定のロールバック実行条件が成立すると、データベース１０３の最新のバージョンの仮想ネットワーク情報を削除し、２番目に新しいバージョンの仮想ネットワーク情報にロールバックする処理を行う。前記ロールバック実行条件としては、仮想ネットワークやその構成ノード、リンクの障害検出やユーザの明示的な指示等が挙げられる。
【００４４】
続いて、本実施形態の動作について説明する。図１６は、本発明の第３の実施形態におけるデータベースの更新例（ロールバック処理）を示す図である。ロールバック処理部１０４２は、上述したロールバック実行条件が成立すると、最新のバージョンの仮想ネットワーク情報を削除する。
【００４５】
前記バージョンの削除がなされると、制御部１０４ｂは、ノード管理部１０２に対して各ノードに設定されていた制御情報の削除を依頼する。前記依頼を受けたノード管理部１０２は、図１７に示すように、最新バージョンの仮想ネットワーク１３２−２に対応する制御情報の削除を実行する。この削除の依頼は、ノード管理部１０２が自ら管理している各ノードへの設定済みの制御情報を参照して、ノード管理部１０２が削除対象の制御情報を指定して行うことができる。また、あるいは、ノード管理部１０２とノードが対話を行って、該当するバージョンに対応する設定済みの制御情報を特定するようにしてもよい。なお、図１６の例では、仮想ネットワーク１３２−２のみを削除しているが、仮想ネットワーク１３１−２も同様に削除し、ロールバックすることができる。
【００４６】
これにより、例えば、図１７のようにノード１１５−１１７間のリンクに障害が発生したことによる影響が、仮想ネットワーク１３２に及ばないようにすることができる。なお、図１６、１７の例では、最新バージョンの仮想ネットワークとその制御情報を削除するものとして説明したが、物理的に削除する必要はなく該当エントリを残したまま無効化する等の処理を行ってもよい。このようにすれば、ノード１１５−１１７間のリンクの障害が復旧した場合、速やかに仮想ネットワーク１３２−２に戻すことが可能となる。
【００４７】
［第４の実施形態］
続いて、上記第１の実施形態の構成に仮想ネットワークの管理機能を追加した第４の実施形態について説明する。図１８は、本発明の第４の実施形態の通信システムの構成を示す図である。図３に示した第１の実施形態の通信システムとの相違点は、制御ノード１００に管理ノード１４０が追加されている点である。その他構成及び動作は第１の実施形態と同様であるため、以下、第１の実施形態との相違点を中心に説明する。
【００４８】
図１９は、本発明の第４の実施形態の管理ノードの詳細構成を示す図である。図１９を参照すると、ユーザインターフェース１４１と、設定部１４２と、通信インターフェース１４５とを備えた管理ノード１４０が示されている。
【００４９】
設定部１４２は、条件設定部１４３と、ポリシ設定部１４４とを備える。ポリシ設定部１４４は、図２０に示すようなネットワーク運用管理ポリシの設定を受け付けて保持する手段である。図２０のポリシＮｏ．１のネットワーク運用管理ポリシは、所定期間経過又はトラヒック量＝０のいずれかが成立すると、古いバージョンの仮想ネットワークを削除するというポリシである。図２０のポリシＮｏ．２のネットワーク運用管理ポリシは、仮想ネットワークの障害検知時に、仮想ネットワークのロールバック処理を実施するというポリシである。
【００５０】
条件設定部１４３は、ユーザインターフェース１４１を介して、ユーザから、当該ユーザの仮想ネットワークに適用するネットワーク運用ポリシの設定を受け付け、制御ノード１００に対してデータベース１０３の更新を要求する。図２１は、条件設定部１４３による仮想ネットワークへのネットワーク運用管理ポリシの設定画面の一例を示す図である。図２１の例では、仮想ネットワーク１３２に対し、既に、最新バージョンの作成から１０時間の経過を条件に古い仮想ネットワークを削除するポリシと、障害時にロールバックを実施するポリシとが設定されている。なお、適用ポリシの選択は、図２１の上段に示すようにドロップダウンリスト等を用いて選択できるようにすることが好ましい。
【００５１】
通信インターフェース１４５は、管理ノード１４０と制御ノード１００との通信を仲介する手段である。
【００５２】
なお、図１９に示したような管理ノード１４０に、上述したネットワーク運用管理ポリシの設定機能のほか、第１〜第３の実施形態で説明したような仮想ネットワークの更新内容の受付け機能、古いバージョンの仮想ネットワークの削除条件、ロールバック実行条件の受付け機能を持たせてもよい。
【００５３】
続いて、本実施形態の動作について説明する。図２２は、本発明の第４の実施形態の通信システムの全体動作を説明するための図である。図２２に示すように、まず、管理ノード１４０は、ユーザから（ネットワーク）運用管理ポリシの入力（選択）を受け付ける（図２２の吹き出し１）。
【００５４】
次に、管理ノード１４０は、入力（選択）を受け付けた（ネットワーク）運用管理ポリシを、制御ノード１００のデータベース１０３の該当する仮想ネットワーク情報に設定する（図２２の吹き出し２）。
【００５５】
制御ノード１００は、前記設定された（ネットワーク）運用管理ポリシに従って、仮想ネットワークの運用（削除、ロールバック等）を実施する（図２２の吹き出し３）。
【００５６】
以上のように、本実施形態によれば、仮想ネットワークの設定後の運用を制御ノード１００に任せることが可能となる。なお、ネットワーク運用管理ポリシの例は、図２０の例に限られない。例えば、一世代前のバージョンへのロールバック処理に代えて、一番古い世代のバージョンの仮想ネットワークに戻してしまってもよい。また、古い仮想ネットワークの削除についても、初期バージョンの仮想ネットワークについては、削除の対象としない等の例外処理を定めてもよい。
【００５７】
［第５の実施形態］
続いて、背景技術として説明したオープンフローを用いて構成した第５の実施形態について図面を参照して詳細に説明する。図２３は、本発明の第５の実施形態の通信システムの構成を示す図である。図３に示した第１の実施形態の通信システムとの相違点は、ノード１１１〜１１８がＯｐｅｎＦｌｏｗＳｗｉｔｃｈ２１１〜２１８に置き換わり、制御ノード１００がＯｐｅｎＦｌｏｗＣｏｎｔｒｏｌｌｅｒ２００に置き換わっている点である。基本的な構成及び動作は第１の実施形態と同様であるため、以下、第１の実施形態との相違点を中心に説明する。
【００５８】
図２４は、本発明の第５の実施形態において制御ノードとして機能するＯｐｅｎＦｌｏｗＣｏｎｔｒｏｌｌｅｒ２００及びＯｐｅｎＦｌｏｗＳｗｉｔｃｈ２１１〜２１８の詳細構成を示す図である。図４に示した第１の実施形態の制御ノード１００との相違点は、制御部２０４が、ＯｐｅｎＦｌｏｗプロトコルを用いて、ＯｐｅｎＦｌｏｗＳｗｉｔｃｈ２１１〜２１８と通信し、制御情報がＯｐｅｎＦｌｏｗＳｗｉｔｃｈ２１１〜２１８のフローテーブル２１１２にフローエントリとして格納される点である。
【００５９】
ＯｐｅｎＦｌｏｗＳｗｉｔｃｈ２１１は、制御部２１１１と、フローテーブル２１１２と、通信インターフェース２１１３とを備えている。
【００６０】
図２５は、ＯｐｅｎＦｌｏｗＳｗｉｔｃｈのフローテーブル２１１２に保持されるフローエントリの一例を示す図である。図２５に示すように、フローエントリには、ＰＲＩＯＲＩＴＹフィールドが設けられており、優先度を設定可能となっている。なお、図２５のフローエントリ中の記号「＊」はワイルドカードが設定されていることを示している。
【００６１】
ＯｐｅｎＦｌｏｗＳｗｉｔｃｈ２１１の制御部２１１１は、通信インターフェース２１１３からパケットを受信すると、フローテーブル２１１２から受信パケットに適合する値を持つフローエントリのうち、ＰＲＩＯＲＩＴＹフィールドの値が最も高いものを選択し、そのＡＣＴＩＯＮフィールドの内容に従ってパケットを処理する。
【００６２】
例えば、ＭＡＣ  ＴＹＰＥ＝ＩＰで、宛先ＩＰアドレスが１７２．１６．０．０／１６で、ＩＰ  ＰｒｏｔｏｃｏｌがＴＣＰ、宛先ポートが８０であるパケットを受信した場合、制御部２１１１は、図２５の一番の上のバージョン３のフローエントリを選択することになる。一方、上述したロールバック処理等を契機として、バージョン３のフローエントリが削除された状態において同じパケットを受信した場合、次に優先度の高いバージョン２のフローエントリが選択されることになる。
【００６３】
本実施形態においても、制御ノードとして機能するＯｐｅｎＦｌｏｗＣｏｎｔｒｏｌｌｅｒ２００に、第２、第３の実施形態と同様に、エントリ削除部及びロールバック処理部を追加することができる。図２６は、ＯｐｅｎＦｌｏｗＣｏｎｔｒｏｌｌｅｒ２００によって構成される仮想ネットワークのイメージ図である。図２６の例では、各仮想ネットワークに対応するＯｐｅｎＦｌｏｗＳｗｉｔｃｈに、図２５に例示した優先度を持つフローエントリを設定することで、新旧異なるバージョンの仮想ネットワークが構築されている。第２、３の実施形態でも説明したように、所定の契機で、ＯｐｅｎＦｌｏｗＳｗｉｔｃｈ２１２〜２１５から、古いバージョンの仮想ネットワーク２３１−１に対応するフローエントリを削除することで、古いバージョンの仮想ネットワーク２３１−１を削除することができる。また、障害発生時には、ＯｐｅｎＦｌｏｗＳｗｉｔｃｈ２１２、２１３から、最新バージョンの仮想ネットワーク２３１−２に対応するフローエントリを削除することで、ロールバック処理を実現することができる。
【００６４】
以上説明したように、本発明は、オープンフローの仕組みを用いて簡単に実現することができる。
【００６５】
なお、上記した説明では、オープンフローに適用した例を挙げて説明したが、本発明を適用可能な通信システムはオープンフローに限定されない。例えば、非オープンフロー対応のスイッチにおいても、図２７に示すように、既存の転送テーブル２１１２ａにタイムスタンプフィールドを設け、その日時が新しいエントリを優先度が高いエントリとして扱うことができる。もちろん、タイムスタンプフィールドに限定されるものではなく、図２５と同様のＰｒｉｏｒｉｔｙフィールドを設けてもよいし、その他の既存のフィールドに優先度として利用可能な値を設定することとしてもよい。
【００６６】
［第６の実施形態］
続いて、制御情報に優先度を付与することによって、ユーザに対して提供される仮想ネットワーク機能を接続して表されるサービスチェインの更新を実現する第６の実施形態について図面を参照して詳細に説明する。図２８は、本発明の第６の実施形態の通信システムの構成を示す図である。図３に示した第１の実施形態の通信システムとの相違点は、制御ノード３００の制御対象がノード１１１〜１１８によって構成される仮想ネットワークではなく、ネットワークファンクション仮想化（ＮＦＶ）におけるサービスチェイン（フォワーディンググラフ）となっている点である。制御ノードの基本的な構成及び動作は第１の実施形態と同様であるため、以下、第１の実施形態との相違点を中心に説明する。
【００６７】
図２９は、制御ノード３００によりノード（トンネルエンドポイント）３１１、ファイアウォール（ＦＷ−１）３１２、Ｄｅｅｐ  Ｐａｃｋｅｔ  Ｉｎｓｐｅｃｔｉｏｎ（ＤＰＩ−１）３１３、ネットワークアドレス変換（ＮＡＴ−１）３１４、ノード３１８の接続で表されたサービスチェイン３３０−１が構成された状態を示す図である。本実施形態では、第１の実施形態の仮想ネットワーク情報に代えて、サービスチェイン情報が制御ノード３００のデータベース１０３に格納される。
【００６８】
図２９の状態において、制御ノード３００からノード３１１とＮＡＴ−２  ３１７への設定変更を行い、ユーザトラヒックが流れる経路を替えることができる。併せて、図３１に示すように、データベース１０３に格納されたサービスチェインの経路情報をＦＷ２  ３１５、ＤＰＩ−２  ３１６、ＮＡＴ−２  ３１７と更新することで、サービスチェインのバージョン更新が行われる。サービスチェインのバージョン更新が行われると、制御ノード３００は、更新後のサービスチェインに対応する物理ノードに、より優先度の高い制御情報を設定して経路の切り替えを実施する。
【００６９】
図３２は、上記サービスチェインのバージョン更新後の経路を示す図である。図３２に示すとおり、サービスチェインのバージョン更新により、ユーザトラヒックは、更新後のサービスチェイン３３０−２の経路で流れることになる。
【００７０】
以上説明したように、本発明は、ネットワークファンクション仮想化（ＮＦＶ）におけるサービスチェイン（フォワーディンググラフ）の更新にも適用することができる。
【００７１】
なお、本実施形態においても第２、第３の実施形態と同様に、古いサービスチェインの削除や、ロールバックを実現することができる。
【００７２】
図３３は、所定の契機で、制御ノード３００が、データベース１０３のサービスチェイン情報から、古いサービスチェインのエントリを削除した状態を示す図である。以上のようにすることで、図３４に示すような古いサービスチェインの削除を実現することができる。
【００７３】
図３５は、サービスチェイン上のネットワーク機能（例えば、図３５のＤＰＩ−２  ３１６）の障害発生等の契機で、制御ノード３００が、データベース１０３のサービスチェイン情報から、該当するサービスチェインのエントリを削除した状態を示す図である。以上のようにすることで、図３６に示すようなサービスチェインのロールバック処理を実現することができる。
【００７４】
なお、図１、２、４、１２、１５、１９、２４等に示した制御ノードや管理ノードの各部（処理手段）は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００７５】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００７６】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点によるポリシ管理装置参照）
［第２の形態］
第１の形態のポリシ管理装置において、
さらに、ユーザから、前記制御装置の前記仮想ネットワーク情報管理手段に管理されている仮想ネットワークの情報の更新内容を受け付ける仮想ネットワーク更新受付手段を備えるポリシ管理装置。
［第３の形態］
第１又は第２の形態のポリシ管理装置において、
前記仮想ネットワークの情報の運用ポリシとして、前記仮想ネットワークの情報の削除処理の実行条件を含んだポリシを設定可能であるポリシ管理装置。
［第４の形態］
第３の形態のポリシ管理装置において、
前記仮想ネットワークの情報の削除処理の実行条件として、更新から所定時間の経過、又は、所定時間のトラヒックが無かったこと、のいずれかを設定可能であるポリシ管理装置。
［第５の形態］
第１〜第４いずれか一の形態のポリシ管理装置において、
前記仮想ネットワークの情報の運用ポリシとして、前記優先度の高い制御情報を削除し、仮想ネットワークの更新内容のロールバックを実施する条件を含んだポリシを設定可能であるポリシ管理装置。
［第６の形態］
（上記第２の視点による仮想ネットワークの管理方法参照）
［第７の形態］
（上記第３の視点によるコンピュータプログラム参照）
なお、上記第６、第７の形態は、第１の形態と同様に、第２〜第５の形態に展開することが可能である。
【００７７】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００７８】
１０Ａ  制御装置
１１  仮想ネットワーク更新受付手段
１２  仮想ネットワーク構築手段
１００、３００  制御ノード
１０１、２０１  経路設定部
１０２、２０２  ノード管理部
１０３、２０３  データベース
１０４、１０４ａ、１０４ｂ、２０４  制御部
１１１〜１１８  ノード（物理ノード）
１２０、２２０  ネットワーク
１３１、１３１−１、１３１−２、１３２、１３２−１、１３２−２、２３１−１、２３１−２、  仮想ネットワーク
１４０  管理ノード
１４１  ユーザインターフェース
１４２  設定部
１４３  条件設定部
１４４  ポリシ設定部
１４５  通信インターフェース
２００  ＯｐｅｎＦｌｏｗＣｏｎｔｒｏｌｌｅｒ
２１１−２１８  ＯｐｅｎＦｌｏｗＳｗｉｔｃｈ
３１１、３１８  ノード
３１２、３１５  ファイアウォール（ＦＷ）
３１３、３１６  Ｄｅｅｐ  Ｐａｃｋｅｔ  Ｉｎｓｐｅｃｔｉｏｎ（ＤＰＩ）
３１４、３１７  ネットワークアドレス変換（ＮＡＴ）
３３０−１、３３０−２  サービスチェイン
１０４１  エントリ削除部
１０４２  ロールバック処理部
２１１１  制御部
２１１２  フローテーブル
２１１２ａ  転送テーブル
２１１３  通信インターフェース
【図１】
0006485093.tif 000002
【図２】
0006485093.tif 000003
【図３】
0006485093.tif 000004
【図４】
0006485093.tif 000005
【図５】
0006485093.tif 000006
【図６】
0006485093.tif 000007
【図７】
0006485093.tif 000008
【図８】
0006485093.tif 000009
【図９】
0006485093.tif 000010
【図１０】
0006485093.tif 000011
【図１１】
0006485093.tif 000012
【図１２】
0006485093.tif 000013
【図１３】
0006485093.tif 000014
【図１４】
0006485093.tif 000015
【図１５】
0006485093.tif 000016
【図１６】
0006485093.tif 000017
【図１７】
0006485093.tif 000018
【図１８】
0006485093.tif 000019
【図１９】
0006485093.tif 000020
【図２０】
0006485093.tif 000021
【図２１】
0006485093.tif 000022
【図２２】
0006485093.tif 000023
【図２３】
0006485093.tif 000024
【図２４】
0006485093.tif 000025
【図２５】
0006485093.tif 000026
【図２６】
0006485093.tif 000027
【図２７】
0006485093.tif 000028
【図２８】
0006485093.tif 000029
【図２９】
0006485093.tif 000030
【図３０】
0006485093.tif 000031
【図３１】
0006485093.tif 000032
【図３２】
0006485093.tif 000033
【図３３】
0006485093.tif 000034
【図３４】
0006485093.tif 000035
【図３５】
0006485093.tif 000036
【図３６】
0006485093.tif 000037