(58)【調査した分野】(Int.Cl.,DB名)
前記ロールバック処理手段は、更新から所定時間の経過、又は、所定時間のトラヒックが無かったこと、のいずれかを契機に仮想ネットワークの情報を削除する請求項1又は2の制御装置。
ユーザからのロールバック指示、又は、前記仮想ネットワークの更新内容を反映して構築された仮想ネットワークの障害の発生を契機として、前記優先度の最も高い制御情報を削除又は無効化し、仮想ネットワークの更新内容のロールバックを実現する請求項1から3いずれか一の制御装置。
【図面の簡単な説明】
【0016】
【
図2】本発明の一実施形態の動作を説明するための図である。
【
図3】本発明の第1の実施形態の通信システムの構成を示す図である。
【
図4】本発明の第1の実施形態の制御ノードの詳細構成を示す図である。
【
図5】本発明の第1の実施形態の制御ノードのデータベースに格納された仮想ネットワーク情報の一例を示す図である。
【
図6】本発明の第1の実施形態の制御ノードによって構成された仮想ネットワークとノードとの対応関係を示す図である。
【
図7】本発明の第1の実施形態の制御ノードのデータベースの仮想ネットワーク情報に更新が行われた例を示す図である。
【
図8】本発明の第1の実施形態における仮想ネットワークのバージョン更新のイメージ図である。
【
図9】本発明の第1の実施形態におけるテンプレートを用いたデータベースの更新例(新規エントリ作成)を示す図である。
【
図10】本発明の第1の実施形態におけるテンプレートを用いた仮想ネットワークの作成処理のイメージ図である。
【
図11】本発明の第1の実施形態におけるテンプレートを用いたデータベースの更新例(バージョン更新)を示す図である。
【
図12】本発明の第2の実施形態の制御ノードの詳細構成を示す図である。
【
図13】本発明の第2の実施形態におけるデータベースの更新例(古いバージョンのエントリ削除)を示す図である。
【
図14】本発明の第2の実施形態における古いバージョンの仮想ネットワークの削除のイメージ図である。
【
図15】本発明の第3の実施形態の制御ノードの詳細構成を示す図である。
【
図16】本発明の第3の実施形態におけるデータベースの更新例(ロールバック処理)を示す図である。
【
図17】本発明の第3の実施形態における仮想ネットワークのロールバック処理のイメージ図である。
【
図18】本発明の第4の実施形態の通信システムの構成を示す図である。
【
図19】本発明の第4の実施形態の管理ノードの詳細構成を示す図である。
【
図20】本発明の第4の実施形態の管理ノードから設定可能なネットワーク運用管理ポリシの一例を示す図である。
【
図21】本発明の第4の実施形態の管理ノードにおける仮想ネットワーク情報へのネットワーク運用管理ポリシの設定画面の一例を示す図である。
【
図22】本発明の第4の実施形態の通信システムの全体動作を説明するための図である。
【
図23】本発明の第5の実施形態の通信システムの構成を示す図である。
【
図24】本発明の第5の実施形態のOpenFlowController及びOpenFlowSwitchの詳細構成を示す図である。
【
図25】本発明の第5の実施形態のOpenFlowControllerがOpenFlowSwitchに設定するフローエントリの一例を示す図である。
【
図26】本発明の第5の実施形態のOpenFlowControllerによって構成される仮想ネットワークのイメージ図である。
【
図27】本発明の第5の実施形態の変形実施形態を説明するため図である。
【
図28】本発明の第6の実施形態の通信システムの構成を示す図である。
【
図29】本発明の第6の実施形態の制御ノードによりサービスチェインが構成された状態を示す図である。
【
図30】本発明の第6の実施形態の制御ノードによるサービスチェインの設定変更処理を説明するための図である。
【
図31】本発明の第6の実施形態におけるデータベースの更新例(サービスチェイン設定変更)を示す図である。
【
図32】本発明の第6の実施形態におけるサービスチェイン設定変更によるサービスチェインの切替のイメージ図である。
【
図33】本発明の第6の実施形態におけるデータベースの更新例(古いサービスチェインのエントリ削除)を示す図である。
【
図34】本発明の第6の実施形態における古いバージョンのサービスチェインの削除のイメージ図である。
【
図35】本発明の第6の実施形態におけるデータベースの更新例(ロールバック処理)を示す図である。
【
図36】本発明の第6の実施形態におけるサービスチェインのロールバック処理のイメージ図である。
【発明を実施するための形態】
【0017】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【0018】
本発明は、その一実施形態において
図1に示すように、仮想ネットワーク更新受付手段11と、仮想ネットワーク構築手段12と、を備えた制御装置10Aにて実現できる。より具体的には、仮想ネットワーク更新受付手段11は、ネットワーク管理者やユーザ自身から、ユーザに対して提供される仮想ネットワークの更新内容を受け付ける。仮想ネットワーク構築手段12は、前記仮想ネットワークの更新内容に従って、少なくとも更新後の仮想ネットワークに対応する物理ノードに、更新前の制御情報よりも高い優先度を持つ制御情報を設定することにより、前記仮想ネットワークの更新内容を反映した仮想ネットワークを構築する。
【0019】
例えば、
図1に示すように、10Mbpsを上限転送レート(帯域)とする仮想ネットワークVN1が提供されている状態において、仮想ネットワーク更新受付手段11が、上限転送レート(帯域)を100Mbpsに変更するとの更新内容を受け付けたものとする。この場合、仮想ネットワーク構築手段12は、この仮想ネットワークの更新内容に従って、更新後の仮想ネットワークに対応する(物理)ノードに、更新前の制御情報(優先度=Low)よりも高い優先度(優先度=High)を持つ制御情報を設定する。これにより、仮想ネットワークの更新内容を反映した100Mbpsを上限転送レート(帯域)とする仮想ネットワークVN2が構築される。同様の手順で、優先度の高い制御情報(パケットの転送を指示)を設定することで、仮想ネットワークのノード間にリンクを作成することもなども可能となる。
【0020】
以上のように、本発明によれば、複数の(物理)ノードに、優先度の異なる制御情報を設定することで、仮想ネットワークを更新することが可能となる。また、後記するように、本発明において、優先度の高い制御情報を削除すれば、仮想ネットワークを更新前の内容に戻すことが可能となる。また、各(物理)ノードの制御情報格納領域に空きを作りたい場合、優先度の低い制御情報を削除することもできる。
【0021】
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。
図3は、本発明の第1の実施形態の通信システムの構成を示す図である。
図3を参照すると、互いに接続されネットワーク120を構成する複数のノード(物理ノード)111〜118と、これらノード111〜118を制御する制御ノード100とが接続された構成が示されている。
図3の破線は、制御ノード100とノード111〜118間の制御用チャネルを示している。
【0022】
図4は、本発明の第1の実施形態の制御ノードの詳細構成を示す図である。
図4を参照すると、経路設定部101と、ノード管理部102と、データベース103と、制御部104とを備えた制御ノード100が示されている。
【0023】
経路設定部101は、制御部104から要求に応じて、データベース103に格納されたネットワーク120のトポロジ情報を基づいて、仮想ネットワークの任意の端点間の経路に対応するノード111〜118の経路を計算する。
【0024】
ノード管理部102は、経路設定部101にて計算された経路上のノードに、当該経路に沿ったパケット転送や付随処理を実行させる制御情報を作成し、制御部104を介して各ノードに、制御部104から指定された優先度を持つ制御情報を設定する。また、ノード管理部102が、必要に応じて、ノードに対して、制御部104を介して、ノードの障害の有無、リソースの状態やデータ統計状態(帯域使用状況)等を問い合わせ、収集させる動作を行わせてもよい。収集した結果は、ノード情報として、データベース103に格納してもよいし、ノード管理部102自身が保持するようにしてもよい。
【0025】
なお、本実施形態においては、1つのノードに、新旧異なるバージョンの仮想ネットワークを実現する制御情報が設定されることになる。このため、マッチ条件にワイルドカードが使用されている場合、古いバージョンの仮想ネットワークに対応する制御情報が適用されてしまう場合がある。このため、ノード管理部102に、こうした新旧の制御情報の整合性のチェック機能を追加してもよい。
【0026】
データベース103は、ノード111〜118が配置されたネットワーク120の情報と、ネットワーク120のリソースを用いて構成された仮想ネットワークの構成やパラメータを含む仮想ネットワーク情報を格納するデータベースである。また、データベース103には、この仮想ネットワーク情報に対応して各ノードに設定された優先度付きの制御情報を格納してもよい。
【0027】
制御部104は、ネットワーク120上のノード111〜118と通信し、これらのノード111〜118に制御情報を設定することで仮想ネットワークを提供する。また、制御部104は、ネットワーク管理者やユーザから仮想ネットワークの更新内容を受け付けると、データベース103の仮想ネットワーク情報を更新するとともに、経路設定部101及びノード管理部102に対し、更新後の仮想ネットワークを実現するための優先度付きの制御情報の設定を要求する。
【0028】
図5は、データベース103に格納された仮想ネットワーク情報の一例を示す図である。
図5の例では、仮想ネットワーク131と、仮想ネットワーク132との2つの仮想ネットワークが設定されている状態を示している。
図5の例では、仮想ネットワーク131は、ネットワーク120のノード112、113、114、115によって構成され、その最大帯域(上限転送レート)は100Mbpsである。また、バージョンフィールドには、「1」が設定されている。同様に、仮想ネットワーク132は、ネットワーク120のノード116、117によって構成され、その最大帯域(上限転送レート)は100Mbpsである。また、バージョンフィールドには、「1」が設定されている。本実施形態では、このバージョン数をノードに設定する制御情報の優先度として用い、バージョン数が大きいものを優先度が高いものとして取り扱う。従って、データベース103は、制御情報に付与される優先度と、仮想ネットワークのバージョンと対応付けて管理する仮想ネットワーク情報管理手段としても機能する。
【0029】
図6は、上記仮想ネットワーク131、132と、ノード111〜118との対応関係を示す図である。初期段階では、
図5に示すように、バージョン=1の仮想ネットワークの情報が設定されているため、
図6のノードには、優先度=1の制御情報が設定されることとなる。以降、バージョンNの仮想ネットワークを仮想ネットワーク131−Nを記し、バージョンNの仮想ネットワークを実現するための制御情報には優先度=Nが与えられるものとして説明する。
【0030】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下、
図7に示すように、制御ノード100のデータベース103の仮想ネットワーク情報の更新が行われたものとして説明する。まず、仮想ネットワーク131については、トポロジを変更せず、最大帯域を100Mbpsから200Mbpsに引き上げる操作が行われたものとする。この場合、制御ノード100は、
図8の仮想ネットワーク131−2に示すとおり、仮想ネットワーク131−1よりも優先度の高い制御情報(優先度=2)をノードに設定することにより、バージョン2の仮想ネットワーク131−2を構築する。なお、仮想ネットワーク131に対する更新内容は、最大帯域を100Mbpsから200Mbpsに引き上げるだけであるが、最大帯域200Mbpsを実現するに伴い、経路設定部101及びノード管理部102で再計算が行われ、各ノード112〜115に設定される制御情報も更新される。
【0031】
同様に、仮想ネットワーク132については、トポロジの変更操作が行われたものとする。この場合も、制御ノード100は、
図8の仮想ネットワーク132−2に示すとおり、仮想ネットワーク132−1よりも優先度の高い制御情報(優先度=2)をノードに設定することによりバージョン2の仮想ネットワーク132−2を構築する。また、仮想ネットワーク132に対する更新内容は、トポロジを変更するものであるため、この場合も、経路設定部101及びノード管理部102で再計算が行われ、各ノード114〜117に新しい制御情報が設定される。
【0032】
以上のようにすることで、
図7に示した仮想ネットワークの更新内容に対応して、新しいバージョンの仮想ネットワークが構築される。仮想ネットワークを実現するための制御情報は優先度に基づいて適用されるため、一貫性が確保される。また、背景技術に述べたように仮想ネットワークを更新し、制御情報を書き換えてしまう場合、旧バージョンの仮想ネットワーク情報や制御情報は失われてしまうことになるが、本発明によれば、旧バージョンの仮想ネットワーク情報や制御情報も保持することが可能となる。
【0033】
なお、ユーザにテンプレートを提供することで、上記した仮想ネットワークの構築や更新処理を一層容易化することができる。
図9は、新規に仮想ネットワークを構築する際に、テンプレートを用いる場合の処理を説明するための図である。
【0034】
例えば、
図9の右欄に示すように、仮想ネットワークにひな型となるテンプレートを格納したテーブルを事前に用意しておく。このようなテンプレートは、ユーザとの契約内容や料金プランに基づいて、ネットワーク管理者が事前に作成することができる。
【0035】
ユーザは、
図9の右欄に示すテンプレートから、自身の要件に適った仮想ネットワークを選択し、データベース103に登録する。このようにすることで、
図10に示すように、ユーザは、簡単に仮想ネットワークを構築することができる。
【0036】
また、上述したテンプレートを利用して、仮想ネットワークを更新させることもできる。例えば、ユーザが、
図11の右欄に示すテンプレートから、テンプレートNo2の最大帯域を200Mbpsとした仮想ネットワークを選択し、データベース103の仮想ネットワーク131の新規エントリとして登録する。このようにすることで、
図8の仮想ネットワーク131の更新内容と等価(トポロジ変更無し、最大帯域を200Mbpsに変更)の更新処理を行うことができる。
【0037】
なお、
図9、
図11の例では、説明を簡単にするため、2つのテンプレートのみを示しているが、テンプレートは多数用意しておくことが好ましい。この場合、ユーザ名から現在利用中の仮想ネットワークIDを割り出し、さらに、割り出した仮想ネットワークに含まれるノードを検索キーとしたテンプレートの検索機能を追加することが好ましい。あるいは、制御ノード100が、ユーザ毎に、テンプレートの使用履歴を記憶しておき、前回利用したテンプレートに関連するテンプレートを、バージョンアップ候補等として提示するようにしてもよい。
【0038】
[第2の実施形態]
続いて、上記第1の実施形態に、古いバージョンの仮想ネットワークの削除機能を追加した第2の実施形態について説明する。
図12は、本発明の第2の実施形態の制御ノードの詳細構成を示す図である。
図4に示した第1の実施形態の制御ノード100との相違点は、制御部104a内にエントリ削除部1041が追加されている点である。その他構成及び動作は第1の実施形態と同様であるため、以下、第1の実施形態との相違点を中心に説明する。
【0039】
エントリ削除部1041は、データベース103から、バージョン更新により使われなくなった古いバージョンの仮想ネットワーク情報を削除する。エントリ削除部1041による古いバージョンの仮想ネットワーク情報の削除の契機としては、バージョン更新後の所定期間の経過、所定期間該当トラヒックがゼロである場合等が考えられる。
【0040】
続いて、本実施形態の動作について説明する。
図13は、本発明の第2の実施形態におけるデータベースの更新例(古いバージョンのエントリ削除)を示す図である。エントリ削除部1041は、上述した所定期間の経過、所定期間該当トラヒックがゼロ等の条件が成立すると、古いバージョンの仮想ネットワーク情報を削除する。
【0041】
前記バージョンの削除がなされると、制御部104aは、ノード管理部102に対して各ノードに設定されていた制御情報の削除を依頼する。前記依頼を受けたノード管理部102は、
図14に示すように、該当する古いバージョンの仮想ネットワーク131−1に対応する制御情報の削除を実行する。この削除の依頼は、ノード管理部102が自ら管理している各ノードへの設定済みの制御情報を参照して、ノード管理部102が削除対象の制御情報を指定して行うことができる。また、あるいは、ノード管理部102とノードが対話を行って、該当するバージョンに対応する設定済みの制御情報を特定するようにしてもよい。なお、
図14の例では、仮想ネットワーク131−1のみを削除しているが、仮想ネットワーク132−1も同様に削除することができる。
【0042】
これにより、例えば、
図14の例の場合、ノード112〜115から古い制御情報が削除される。この結果、本実施形態によれば、ノード112〜115のリソース、端的には、古い仮想ネットワークのために使用されていた制御情報の格納可能領域を解放することが可能となる。
【0043】
[第3の実施形態]
続いて、上記第1の実施形態に、更新前の仮想ネットワークへのロールバック処理機能を追加した第3の実施形態について説明する。
図15は、本発明の第3の実施形態の制御ノードの詳細構成を示す図である。
図4に示した第1の実施形態の制御ノード100との相違点は、制御部104b内にロールバック処理部1042が追加されている点である。その他構成及び動作は第1の実施形態と同様であるため、以下、第1の実施形態との相違点を中心に説明する。
【0044】
ロールバック処理部1042は、所定のロールバック実行条件が成立すると、データベース103の最新のバージョンの仮想ネットワーク情報を削除し、2番目に新しいバージョンの仮想ネットワーク情報にロールバックする処理を行う。前記ロールバック実行条件としては、仮想ネットワークやその構成ノード、リンクの障害検出やユーザの明示的な指示等が挙げられる。
【0045】
続いて、本実施形態の動作について説明する。
図16は、本発明の第3の実施形態におけるデータベースの更新例(ロールバック処理)を示す図である。ロールバック処理部1042は、上述したロールバック実行条件が成立すると、最新のバージョンの仮想ネットワーク情報を削除する。
【0046】
前記バージョンの削除がなされると、制御部104bは、ノード管理部102に対して各ノードに設定されていた制御情報の削除を依頼する。前記依頼を受けたノード管理部102は、
図17に示すように、最新バージョンの仮想ネットワーク132−2に対応する制御情報の削除を実行する。この削除の依頼は、ノード管理部102が自ら管理している各ノードへの設定済みの制御情報を参照して、ノード管理部102が削除対象の制御情報を指定して行うことができる。また、あるいは、ノード管理部102とノードが対話を行って、該当するバージョンに対応する設定済みの制御情報を特定するようにしてもよい。なお、
図16の例では、仮想ネットワーク132−2のみを削除しているが、仮想ネットワーク131−2も同様に削除し、ロールバックすることができる。
【0047】
これにより、例えば、
図17のようにノード115−117間のリンクに障害が発生したことによる影響が、仮想ネットワーク132に及ばないようにすることができる。なお、
図16、17の例では、最新バージョンの仮想ネットワークとその制御情報を削除するものとして説明したが、物理的に削除する必要はなく該当エントリを残したまま無効化する等の処理を行ってもよい。このようにすれば、ノード115−117間のリンクの障害が復旧した場合、速やかに仮想ネットワーク132−2に戻すことが可能となる。
【0048】
[第4の実施形態]
続いて、上記第1の実施形態の構成に仮想ネットワークの管理機能を追加した第4の実施形態について説明する。
図18は、本発明の第4の実施形態の通信システムの構成を示す図である。
図3に示した第1の実施形態の通信システムとの相違点は、制御ノード100に管理ノード140が追加されている点である。その他構成及び動作は第1の実施形態と同様であるため、以下、第1の実施形態との相違点を中心に説明する。
【0049】
図19は、本発明の第4の実施形態の管理ノードの詳細構成を示す図である。
図19を参照すると、ユーザインターフェース141と、設定部142と、通信インターフェース145とを備えた管理ノード140が示されている。
【0050】
設定部142は、条件設定部143と、ポリシ設定部144とを備える。ポリシ設定部144は、
図20に示すようなネットワーク運用管理ポリシの設定を受け付けて保持する手段である。
図20のポリシNo.1のネットワーク運用管理ポリシは、所定期間経過又はトラヒック量=0のいずれかが成立すると、古いバージョンの仮想ネットワークを削除するというポリシである。
図20のポリシNo.2のネットワーク運用管理ポリシは、仮想ネットワークの障害検知時に、仮想ネットワークのロールバック処理を実施するというポリシである。
【0051】
条件設定部143は、ユーザインターフェース141を介して、ユーザから、当該ユーザの仮想ネットワークに適用するネットワーク運用ポリシの設定を受け付け、制御ノード100に対してデータベース103の更新を要求する。
図21は、条件設定部143による仮想ネットワークへのネットワーク運用管理ポリシの設定画面の一例を示す図である。
図21の例では、仮想ネットワーク132に対し、既に、最新バージョンの作成から10時間の経過を条件に古い仮想ネットワークを削除するポリシと、障害時にロールバックを実施するポリシとが設定されている。なお、適用ポリシの選択は、
図21の上段に示すようにドロップダウンリスト等を用いて選択できるようにすることが好ましい。
【0052】
通信インターフェース145は、管理ノード140と制御ノード100との通信を仲介する手段である。
【0053】
なお、
図19に示したような管理ノード140に、上述したネットワーク運用管理ポリシの設定機能のほか、第1〜第3の実施形態で説明したような仮想ネットワークの更新内容の受付け機能、古いバージョンの仮想ネットワークの削除条件、ロールバック実行条件の受付け機能を持たせてもよい。
【0054】
続いて、本実施形態の動作について説明する。
図22は、本発明の第4の実施形態の通信システムの全体動作を説明するための図である。
図22に示すように、まず、管理ノード140は、ユーザから(ネットワーク)運用管理ポリシの入力(選択)を受け付ける(
図22の吹き出し1)。
【0055】
次に、管理ノード140は、入力(選択)を受け付けた(ネットワーク)運用管理ポリシを、制御ノード100のデータベース103の該当する仮想ネットワーク情報に設定する(
図22の吹き出し2)。
【0056】
制御ノード100は、前記設定された(ネットワーク)運用管理ポリシに従って、仮想ネットワークの運用(削除、ロールバック等)を実施する(
図22の吹き出し3)。
【0057】
以上のように、本実施形態によれば、仮想ネットワークの設定後の運用を制御ノード100に任せることが可能となる。なお、ネットワーク運用管理ポリシの例は、
図20の例に限られない。例えば、一世代前のバージョンへのロールバック処理に代えて、一番古い世代のバージョンの仮想ネットワークに戻してしまってもよい。また、古い仮想ネットワークの削除についても、初期バージョンの仮想ネットワークについては、削除の対象としない等の例外処理を定めてもよい。
【0058】
[第5の実施形態]
続いて、背景技術として説明したオープンフローを用いて構成した第5の実施形態について図面を参照して詳細に説明する。
図23は、本発明の第5の実施形態の通信システムの構成を示す図である。
図3に示した第1の実施形態の通信システムとの相違点は、ノード111〜118がOpenFlowSwitch211〜218に置き換わり、制御ノード100がOpenFlowController200に置き換わっている点である。基本的な構成及び動作は第1の実施形態と同様であるため、以下、第1の実施形態との相違点を中心に説明する。
【0059】
図24は、本発明の第5の実施形態において制御ノードとして機能するOpenFlowController200及びOpenFlowSwitch211〜218の詳細構成を示す図である。
図4に示した第1の実施形態の制御ノード100との相違点は、制御部204が、OpenFlowプロトコルを用いて、OpenFlowSwitch211〜218と通信し、制御情報がOpenFlowSwitch211〜218のフローテーブル2112にフローエントリとして格納される点である。
【0060】
OpenFlowSwitch211は、制御部2111と、フローテーブル2112と、通信インターフェース2113とを備えている。
【0061】
図25は、OpenFlowSwitchのフローテーブル2112に保持されるフローエントリの一例を示す図である。
図25に示すように、フローエントリには、PRIORITYフィールドが設けられており、優先度を設定可能となっている。なお、
図25のフローエントリ中の記号「*」はワイルドカードが設定されていることを示している。
【0062】
OpenFlowSwitch211の制御部2111は、通信インターフェース2113からパケットを受信すると、フローテーブル2112から受信パケットに適合する値を持つフローエントリのうち、PRIORITYフィールドの値が最も高いものを選択し、そのACTIONフィールドの内容に従ってパケットを処理する。
【0063】
例えば、MAC TYPE=IPで、宛先IPアドレスが172.16.0.0/16で、IP ProtocolがTCP、宛先ポートが80であるパケットを受信した場合、制御部2111は、
図25の一番の上のバージョン3のフローエントリを選択することになる。一方、上述したロールバック処理等を契機として、バージョン3のフローエントリが削除された状態において同じパケットを受信した場合、次に優先度の高いバージョン2のフローエントリが選択されることになる。
【0064】
本実施形態においても、制御ノードとして機能するOpenFlowController200に、第2、第3の実施形態と同様に、エントリ削除部及びロールバック処理部を追加することができる。
図26は、OpenFlowController200によって構成される仮想ネットワークのイメージ図である。
図26の例では、各仮想ネットワークに対応するOpenFlowSwitchに、
図25に例示した優先度を持つフローエントリを設定することで、新旧異なるバージョンの仮想ネットワークが構築されている。第2、3の実施形態でも説明したように、所定の契機で、OpenFlowSwitch212〜215から、古いバージョンの仮想ネットワーク231−1に対応するフローエントリを削除することで、古いバージョンの仮想ネットワーク231−1を削除することができる。また、障害発生時には、OpenFlowSwitch212、213から、最新バージョンの仮想ネットワーク231−2に対応するフローエントリを削除することで、ロールバック処理を実現することができる。
【0065】
以上説明したように、本発明は、オープンフローの仕組みを用いて簡単に実現することができる。
【0066】
なお、上記した説明では、オープンフローに適用した例を挙げて説明したが、本発明を適用可能な通信システムはオープンフローに限定されない。例えば、非オープンフロー対応のスイッチにおいても、
図27に示すように、既存の転送テーブル2112aにタイムスタンプフィールドを設け、その日時が新しいエントリを優先度が高いエントリとして扱うことができる。もちろん、タイムスタンプフィールドに限定されるものではなく、
図25と同様のPriorityフィールドを設けてもよいし、その他の既存のフィールドに優先度として利用可能な値を設定することとしてもよい。
【0067】
[第6の実施形態]
続いて、制御情報に優先度を付与することによって、ユーザに対して提供される仮想ネットワーク機能を接続して表されるサービスチェインの更新を実現する第6の実施形態について図面を参照して詳細に説明する。
図28は、本発明の第6の実施形態の通信システムの構成を示す図である。
図3に示した第1の実施形態の通信システムとの相違点は、制御ノード300の制御対象がノード111〜118によって構成される仮想ネットワークではなく、ネットワークファンクション仮想化(NFV)におけるサービスチェイン(フォワーディンググラフ)となっている点である。制御ノードの基本的な構成及び動作は第1の実施形態と同様であるため、以下、第1の実施形態との相違点を中心に説明する。
【0068】
図29は、制御ノード300によりノード(トンネルエンドポイント)311、ファイアウォール(FW−1)312、Deep Packet Inspection(DPI−1)313、ネットワークアドレス変換(NAT−1)314、ノード318の接続で表されたサービスチェイン330−1が構成された状態を示す図である。本実施形態では、第1の実施形態の仮想ネットワーク情報に代えて、サービスチェイン情報が制御ノード300のデータベース103に格納される。
【0069】
図29の状態において、制御ノード300からノード311とNAT−2 317への設定変更を行い、ユーザトラヒックが流れる経路を替えることができる。併せて、
図31に示すように、データベース103に格納されたサービスチェインの経路情報をFW2 315、DPI−2 316、NAT−2 317と更新することで、サービスチェインのバージョン更新が行われる。サービスチェインのバージョン更新が行われると、制御ノード300は、更新後のサービスチェインに対応する物理ノードに、より優先度の高い制御情報を設定して経路の切り替えを実施する。
【0070】
図32は、上記サービスチェインのバージョン更新後の経路を示す図である。
図32に示すとおり、サービスチェインのバージョン更新により、ユーザトラヒックは、更新後のサービスチェイン330−2の経路で流れることになる。
【0071】
以上説明したように、本発明は、ネットワークファンクション仮想化(NFV)におけるサービスチェイン(フォワーディンググラフ)の更新にも適用することができる。
【0072】
なお、本実施形態においても第2、第3の実施形態と同様に、古いサービスチェインの削除や、ロールバックを実現することができる。
【0073】
図33は、所定の契機で、制御ノード300が、データベース103のサービスチェイン情報から、古いサービスチェインのエントリを削除した状態を示す図である。以上のようにすることで、
図34に示すような古いサービスチェインの削除を実現することができる。
【0074】
図35は、サービスチェイン上のネットワーク機能(例えば、
図35のDPI−2 316)の障害発生等の契機で、制御ノード300が、データベース103のサービスチェイン情報から、該当するサービスチェインのエントリを削除した状態を示す図である。以上のようにすることで、
図36に示すようなサービスチェインのロールバック処理を実現することができる。
【0075】
なお、
図1、2、4、12、15、19、24等に示した制御ノードや管理ノードの各部(処理手段)は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【0076】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【0077】
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による制御装置参照)
[第2の形態]
第1の形態の制御装置において、
前記仮想ネットワーク構築手段は、
前記バージョン情報が付加された仮想ネットワークの情報を格納し、前記仮想ネットワーク情報管理手段として機能するデータベースと、
前記データベースに格納された情報を参照して前記物理ノードで構成されたネットワーク上のパケット転送経路を決定する経路設定部と、
前記経路上のノードに前記仮想ネットワークを構築するための制御情報を設定するノード管理部と、を備える制御装置。
[第3の形態]
第1又は第2の形態の制御装置において、
前記ロールバック処理手段は、更新から所定時間の経過、又は、所定時間のトラヒックが無かったこと、のいずれかを契機に仮想ネットワークの情報を削除する制御装置。
[第4の形態]
第1から第3いずれか一の形態の制御装置において、
ユーザからのロールバック指示、又は、前記仮想ネットワークの更新内容を反映して構築された仮想ネットワークの障害の発生を契機として、前記優先度の最も高い制御情報を削除又は無効化し、仮想ネットワークの更新内容のロールバックを実現する制御装置。
[第5の形態]
(上記第2の視点による通信システム参照)
[第6の形態]
(上記第3の視点による仮想ネットワークの管理方法参照)
[第7の形態]
(上記第4の視点によるコンピュータプログラム参照)
なお、上記第5〜第7の形態は、第1の形態と同様に、第2〜第4の形態に展開することが可能である。
【0078】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。