(57)【要約】 【課題】集中制御型のネットワークにおいて、制御装置からの指示を受信できない場合における新規通信の確立や既存通信の維持。【解決手段】通信ノードは、パケットについての処理方法を定めたフローエントリを格納するフローテーブルと、所定の制御装置からの指示に基づいて前記フローテーブルを更新する制御部と、前記フローテーブルを参照して受信パケットを処理するパケット処理部と、前記所定の制御装置から前記指示を受信できない状態において、新規通信が発生した場合、前記制御装置に代わって、他の通信ノードの制御装置代行部と連携して、前記新規通信を実現するためのフローエントリを作成する制御装置代行部と、を備える。この通信ノードは、前記所定の制御装置から指示を受信できる状態になるまで、前記フローテーブルに前記新規通信を実現するためのフローエントリを設定して、前記新規通信に属するパケットを処理する。【選択図】図１
2018107744.tif 000002
【特許請求の範囲】
【請求項１】
パケットについての処理方法を定めたフローエントリを格納するフローテーブルと、
所定の制御装置からの指示に基づいて前記フローテーブルを更新する制御部と、
前記フローテーブルを参照して受信パケットを処理するパケット処理部と、
前記所定の制御装置から前記指示を受信できない状態において、新規通信が発生した場合、前記制御装置に代わって、他の通信ノードの制御装置代行部と連携して、前記新規通信を実現するためのフローエントリを作成する制御装置代行部と、を備え、
前記所定の制御装置から指示を受信できる状態になるまで、前記フローテーブルに前記新規通信を実現するためのフローエントリを設定して、前記新規通信に属するパケットを処理可能としたことを特徴とする通信ノード。
【請求項２】
前記新規通信が発生した場合、前記他の通信ノードに前記新規通信に属するパケットの情報を送信し、前記新規通信を実現するためのフローエントリの作成を要求する請求項１の通信ノード。
【請求項３】
さらに、
当該通信ノードが属する仮想ネットワークの構成情報を記憶する仮想ネットワーク構成記憶部を備え、
前記制御装置代行部は、
前記仮想ネットワークの構成情報に基づいて、フローエントリを作成する請求項１又は２の通信ノード。
【請求項４】
前記所定の制御装置から指示を受信できる状態に復旧した場合、前記制御装置代行部が前記フローテーブルに設定したフローエントリを削除する請求項１から３いずれか一の通信ノード。
【請求項５】
前記所定の制御装置から指示を受信できる状態に復旧した場合、前記制御装置に対し、前記制御装置代行部が前記フローテーブルに設定したフローエントリの内容を通知する請求項１から３いずれか一の通信ノード。
【請求項６】
前記所定の制御装置から前記指示を受信できない状態において、前記所定の制御装置が設定したフローエントリの削除を行わず、既存の通信を維持するよう動作する請求項１から５いずれか一の通信ノード。
【請求項７】
パケットについての処理方法を定めたフローエントリを格納するフローテーブルと、
所定の制御装置からの指示に基づいて前記フローテーブルを更新する制御部と、
前記フローテーブルを参照して受信パケットを処理するパケット処理部と、
前記所定の制御装置から前記指示を受信できない状態において、新規通信が発生した場合、前記制御装置に代わって、他の通信ノードの制御装置代行部と連携して、前記新規通信を実現するためのフローエントリを作成する制御装置代行部と、を備え、
前記所定の制御装置から指示を受信できる状態になるまで、前記フローテーブルに前記新規通信を実現するためのフローエントリを設定して、前記新規通信に属するパケットを処理可能とした複数の通信ノードと、
前記複数の通信ノードに対し、前記フローテーブルの更新を指示する制御装置と、
を含む通信システム。
【請求項８】
パケットについての処理方法を定めたフローエントリを格納するフローテーブルと、
所定の制御装置からの指示に基づいて前記フローテーブルを更新する制御部と、
前記フローテーブルを参照して受信パケットを処理するパケット処理部と、を備えた通信ノードが、
前記所定の制御装置から前記指示を受信できない状態になったことを検出するステップと、
前記所定の制御装置から前記指示を受信できない状態において、新規通信が発生した場合、前記制御装置に代わって、他の通信ノードの制御装置代行部と連携して、前記新規通信を実現するためのフローエントリを作成するステップと、を含み、
前記所定の制御装置から指示を受信できる状態になるまで、前記フローテーブルに前記新規通信を実現するためのフローエントリを設定して、前記新規通信に属するパケットを処理可能とした通信方法。
【請求項９】
パケットについての処理方法を定めたフローエントリを格納するフローテーブルと、
所定の制御装置からの指示に基づいて前記フローテーブルを更新する制御部と、
前記フローテーブルを参照して受信パケットを処理するパケット処理部と、を備えた通信ノードに搭載されたコンピュータに、
前記所定の制御装置から前記指示を受信できない状態になったことを検出する処理と、
前記所定の制御装置から前記指示を受信できない状態において、新規通信が発生した場合、前記制御装置に代わって、他の通信ノードの制御装置代行部と連携して、前記新規通信を実現するためのフローエントリを作成する処理と、を実行させ、
前記所定の制御装置から指示を受信できる状態になるまで、前記フローテーブルに前記新規通信を実現するためのフローエントリを設定して、前記新規通信に属するパケットを処理する機能を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ノード、通信システム、通信方法及びプログラムに関し、特に、制御装置からの指示に基づいてパケットを処理する通信ノード、通信システム、通信方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に、オープンフローに代表される集中制御型のネットワークにおいて、ネットワークに配置されたスイッチを制御するコントローラを階層的に配置した構成が開示されている。
【０００３】
特許文献２には、オープンフローを利用したＳｏｆｔｗａｒｅ−Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋｉｎｇ（ＳＤＮ）において、ＳＤＮコントローラとは別に、ネットワーク全体の状態をデータベース１１２に維持し、変更が行われるたびにデータベース１１２を更新するハイブリッドコントローラを配置した構成が開示されている。
【０００４】
特許文献３には、上記集中制御型のネットワークにおいて、スイッチ側に、事象と該事象の発生を検出した際にフローテーブルに格納されたエントリに対して適用する変更内容と、を対応付けた第２のテーブルを参照して、発生した事象に応じてフローテーブルのエントリを書き換える自律動作部を備える通信ノードが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１４／１３３０２５号
【特許文献２】特表２０１６−５２１５２９号公報
【特許文献３】国際公開第２０１４／１７５４２３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の分析は、本発明によって与えられたものである。上記した集中制御型のネットワークでは、オープンフローコントローラやＳＤＮコントローラと呼ばれる制御装置と、スイッチや通信ノード間の通信が不可能になると、適切なフローエントリをスイッチや通信ノードに設定することができなくなるという問題点がある。
【０００７】
特許文献３には、コントローラとスイッチ間の通信断絶の際に、事前に設定されている第２のテーブルを参照して、フローエントリを書き換えるスイッチが開示されている。しかしながら、特許文献３の第２のテーブルは、事象と該事象の発生を検出した際にフローテーブルに格納されたエントリに対して適用する変更内容を定めたものに過ぎず、新規通信に対し適切に対応することは困難である。また、フローエントリを一旦書き換えてしまうと、第２のテーブルの設定内容によっては、既存の通信にも影響が生じてしまう。
【０００８】
本発明は、上記集中制御型のネットワークにおいて、所定の制御装置からの指示を受信できない場合にも、新規通信の確立や既存通信の維持をなしうるようにした通信ノード、通信システム、通信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の視点によれば、パケットについての処理方法を定めたフローエントリを格納するフローテーブルと、所定の制御装置からの指示に基づいて前記フローテーブルを更新する制御部と、前記フローテーブルを参照して受信パケットを処理するパケット処理部と、を備える通信ノードが提供される。さらに、この通信ノードは、前記所定の制御装置から前記指示を受信できない状態において、新規通信が発生した場合、前記制御装置に代わって、他の通信ノードの制御装置代行部と連携して、前記新規通信を実現するためのフローエントリを作成する制御装置代行部を備える。さらに、この通信ノードは、前記所定の制御装置から指示を受信できる状態になるまで、前記フローテーブルに前記新規通信を実現するためのフローエントリを設定して、前記新規通信に属するパケットを処理する。
【００１０】
第２の視点によれば、上記した通信ノードと、複数の通信ノードに対し、フローテーブルの更新を指示する制御装置と、を含む通信システムが提供される。
【００１１】
第３の視点によれば、パケットについての処理方法を定めたフローエントリを格納するフローテーブルと、所定の制御装置からの指示に基づいて前記フローテーブルを更新する制御部と、前記フローテーブルを参照して受信パケットを処理するパケット処理部と、を備えた通信ノードが、前記所定の制御装置から前記指示を受信できない状態になったことを検出するステップと、前記所定の制御装置から前記指示を受信できない状態において、新規通信が発生した場合、前記制御装置に代わって、他の通信ノードの制御装置代行部と連携して、前記新規通信を実現するためのフローエントリを作成するステップと、を含み、前記所定の制御装置から指示を受信できる状態になるまで、前記フローテーブルに前記新規通信を実現するためのフローエントリを設定して、前記新規通信に属するパケットを処理可能とした通信方法が提供される。本方法は、フローエントリを参照して受信パケットを処理する通信ノードという特定の機械に結びつけられている。
【００１２】
第４の視点によれば、パケットについての処理方法を定めたフローエントリを格納するフローテーブルと、所定の制御装置からの指示に基づいて前記フローテーブルを更新する制御部と、前記フローテーブルを参照して受信パケットを処理するパケット処理部と、を備えた通信ノードに搭載されたコンピュータに、前記所定の制御装置から前記指示を受信できない状態になったことを検出する処理と、前記所定の制御装置から前記指示を受信できない状態において、新規通信が発生した場合、前記制御装置に代わって、他の通信ノードの制御装置代行部と連携して、前記新規通信を実現するためのフローエントリを作成する処理と、を実行させるプログラムが提供される。このプログラムは、前記所定の制御装置から指示を受信できる状態になるまで、前記フローテーブルに前記新規通信を実現するためのフローエントリを設定して、前記新規通信に属するパケットを処理する通信ノードの機能を実現する。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１３】
本発明によれば、集中制御型のネットワークにおいて、所定の制御装置からの指示を受信できない場合にも、被制御機器、即ち、通信ノード側にて、新規通信の確立や既存通信の維持が可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の一実施形態の動作を説明するための図である。
【図３】本発明の第１の実施形態の通信システムの構成を示す図である。
【図４】本発明の第１の実施形態のＳＤＮスイッチの構成を示す図である。
【図５】本発明の第１の実施形態のＳＤＮコントローラに保持されるＶＴＮ情報を説明するための図である。
【図６】本発明の第１の実施形態のＳＤＮスイッチに保持されるＶＴＮ情報を説明するための図である。
【図７】本発明の第１の実施形態のＳＤＮスイッチが作成するフローエントリの一例を示す図である。
【図８】本発明の第１の実施形態のＳＤＮスイッチのフローテーブルに設定されているフローエントリを示す図である。
【図９】本発明の第１の実施形態のＳＤＮスイッチの動作を示す流れ図である。
【図１０】本発明の第１の実施形態のＳＤＮコントローラによって設定されるフローと、ＳＤＮスイッチによって設定されるフローとを表した図である。
【図１１】本発明の第１の実施形態のＳＤＮスイッチとＳＤＮコントローラとの接続復旧時の動作を示す流れ図である。
【図１２】本発明のＳＤＮスイッチとＳＤＮコントローラとの接続復旧時の別の動作を示す流れ図である。
【発明を実施するための形態】
【００１５】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。
【００１６】
本発明は、その一実施形態において、図１に示すように、フローテーブル２０３と、制御部２０１と、パケット処理部２０４と、制御装置代行部２０２と、を備える通信ノード２００Ａにより実現できる。
【００１７】
通信ノード２００Ａの基本的な機能は、Ｃ−Ｕ分離型のネットワークの転送ノードと同等のものとすることができる。即ち、フローテーブル２０３は、パケットについての処理方法を定めたフローエントリを格納する。制御部２０１は、所定の制御装置１００Ａからの指示に基づいてフローテーブル２０３を更新する。パケット処理部２０４は、フローテーブル２０３を参照して受信パケットを処理する。
【００１８】
そして、制御装置代行部２０２は、前記所定の制御装置１００Ａから前記指示を受信できない状態において、新規通信が発生した場合、制御装置１００Ａに代わって、他の通信ノード２００Ｂ、２００Ｃの制御装置代行部と連携して、前記新規通信を実現するためのフローエントリを作成する。
【００１９】
例えば、図２に示すように、通信ノード２００Ａと制御装置１００Ａ間に障害が発生した場合において、通信ノード２００Ａは、ホスト３００ＢからサーバＡ（非図示）宛てのパケットを受信した場合を考える。このとき、通信ノード２００Ａの制御装置代行部２０２は、ホスト３００ＢからサーバＡ（非図示）宛てのパケットを通信ノード（例えば、２００Ｃ）に転送するフローエントリを作成する。そして、通信ノード２００Ａは、所定の制御装置１００Ａから指示を受信できる状態になるまで、フローテーブル２０３に前記フローエントリを設定して、新規通信に属するパケットを処理する。
【００２０】
上記構成を採ることにより、通信ノード２００Ａと制御装置１００Ａ間に障害が発生したとしても、新規通信を実現することが可能となる。もちろん、フローテーブル２０３に制御装置１００Ａが設定したフローエントリを保持しておけば、既存の通信の維持も可能となっている。
【００２１】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図３は、本発明の第１の実施形態の通信システムの構成を示す図である。図３を参照すると、ＳＤＮスイッチ設備２０を介して、複数のユーザ収容設備＃１〜＃４（４０−１〜４０−４）を接続した構成が示されている。なお、図３の例では、４つのユーザ収容設備が接続されているが、ユーザ収容設備の数に制限はない。
【００２２】
ＳＤＮコントロール設備１０には、ＳＤＮスイッチ設備２０として配置されたＳＤＮスイッチ２００−１〜２００−４を制御するＳＤＮコントローラ１００が配置されている。なお、ＳＤＮコントローラは、複数の物理サーバによるクラスタで構成されても構わない。
【００２３】
ＳＤＮスイッチ設備２０は、ＳＤＮスイッチ２００−１〜２００−４（以下、ＳＤＮスイッチを特に区別しない場合「ＳＤＮスイッチ２００」と記す。）が配置されている。なお、ＳＤＮスイッチは１台のみでもよいし、図３に示すように、２台以上の複数台で配置されていても構わない。
【００２４】
ＳＤＮコントロール設備１０とＳＤＮスイッチ設備２０は制御用ネットワークで相互に接続されている（図３の破線の矢線参照）。また、ＳＤＮスイッチ設備２０とユーザ収容設備４０−１〜４０−４とは、ユーザ通信用ネットワークで相互接続されている（図３の実線参照）。なお、制御用とユーザ通信用のネットワークは同一の物理ネットワークで構築されても構わない。
【００２５】
ユーザ端末４００間で通信が発生した場合、ＳＤＮスイッチ２００から通知を受けたＳＤＮコントローラ１００は、適切な経路を計算し、経路上のＳＤＮスイッチ２００に、ユーザ端末４００間の通信を実現する制御情報（フローエントリ）を設定する。ここで、ＳＤＮスイッチ２００とＳＤＮコントローラ１００間のネットワークに障害等が発生すると、ユーザ端末４００間で新たに発生する通信に対応するフローエントリを設定することが困難となる。そこで、本実施形態のＳＤＮスイッチ２００は以下のように構成される。
【００２６】
図４は、本発明の第１の実施形態のＳＤＮスイッチの構成を示す図である。図４を参照すると、ＳＤＮコントローラ監視処理部２１１と、制御メッセージ処理部２１２と、フロー制御部２１３と、フローテーブル２１４と、制御装置代行部２１５と、ＶＴＮ情報記憶部２１６と、フロー記憶部２１７とを備えた構成が示されている。
【００２７】
ＳＤＮコントローラ監視処理部２１１は、ＳＤＮコントローラ１００との接続性、即ち、ＳＤＮコントローラ１００から指示を受信可能な状態にあるか否かを監視し、その結果に基づいて、ＳＤＮコントローラ１００と制御装置代行部２１５との切り替え制御を行う。また、ＳＤＮコントローラ監視処理部２１１は、ＳＤＮコントローラ１００が有しているＶＴＮ（Ｖｉｒｔｕａｌ  Ｔｅｎａｎｔ  Ｎｅｔｗｏｒｋ）情報のうち、自身が属するＶＴＮの情報をＶＴＮ情報記憶部２１６に書き込む処理を行う。
【００２８】
図５の上段は、ＳＤＮコントローラが保持しているＶＴＮ情報の例である。図５の例では、ＶＴＮ１とＶＴＮ２の２つのＶＴＮが構成されていることがわかる。また、ＶＴＮ１は、ＳＤＮスイッチ２００−１のポート＃１とＳＤＮスイッチ２００−２のポート＃１と、ＳＤＮスイッチ２００−１のポート＃２とＳＤＮスイッチ２００−３のポート＃１とをそれぞれ接続して構成されている。ＶＴＮ２は、ＳＤＮスイッチ２００−２のポート＃４とＳＤＮスイッチ２００−４のポート＃１とを接続して構成されている。図５の下段は、上述のＶＴＮ情報に対応するＶＴＮ１、ＶＴＮ２の構成を示している。
【００２９】
図６は、上記ＶＴＮ情報を受け取ったＳＤＮスイッチ２００−１に保持される情報を説明するための図である。図５からも明らかなとおり、ＳＤＮスイッチ２００−１はＶＴＮ１にのみ属するため、ＳＤＮスイッチ２００−１のＶＴＮ情報記憶部には、ＶＴＮ１のＶＴＮ情報が書き込まれる。このように、各ＳＤＮスイッチが、自身の属するＶＴＮの情報のみ保持するように構成することで、各ＳＤＮスイッチが保持するＶＴＮ情報のサイズを最少化することができる。また、図６の下段は、ＳＤＮスイッチ２００−１に接続中のユーザのＩＤと、アドレスとを対応付けたものである。アドレス欄には、各ユーザ端末のアドレス情報が格納されている。このアドレスは、マッチ条件を作成するために使用される。
【００３０】
制御メッセージ処理部２１２は、ＳＤＮコントローラ１００と制御メッセージを授受する。例えば、ＳＤＮコントローラ１００からフローテーブル２１４に格納するフローエントリを受信すると、フローテーブル２１４に登録する動作を行う。
【００３１】
フロー制御部２１３は、フローテーブル２１４から、受信パケットに適合するマッチ条件を持つフローエントリを取り出して、その内容に従ってパケットを処理する。例えば、フロー制御部２１３は、受信パケットのヘッダを参照して、ユーザ収容設備４０−１のユーザ端末４００から、ユーザ収容設備４０−２のユーザ端末４００に宛てられたパケットに対応するフローエントリを探し出し、その内容に従ってＳＤＮスイッチ２００−３に転送する動作を行う。フロー制御部２１３は、受信したパケットに対応するフローエントリがフローテーブル２１４に存在しない場合、ＳＤＮコントローラ１００又は制御装置代行部２１５に、フローエントリの作成を要求する。
【００３２】
制御装置代行部２１５は、ＳＤＮコントローラ監視処理部２１１により、ＳＤＮコントローラ１００との接続性に異常が検出されている状態において、ＳＤＮコントローラ１００の代わりに動作する。具体的には、制御装置代行部２１５は、フロー制御部２１３からフローエントリの作成要求を受けた場合に、ＳＤＮコントローラ１００に代わってフローエントリを作成する動作を行う。
【００３３】
具体的には、制御装置代行部２１５は、 フロー制御部２１３から受け取ったフローエントリの作成対象となるパケット情報に基づいて、フローエントリを作成する。制御装置代行部２１５は、フロー記憶部２１７に、前記作成したフローエントリを特定するための情報を書き込む。また、制御装置代行部２１５は、制御メッセージ処理部２１２を経由し、フローテーブル２１４にフローエントリを書き込む。制御装置代行部２１５は、フローエントリの作成対象となるパケット情報を、隣接するＳＤＮスイッチ２００−２、２００−３にも通知する。
【００３４】
図７は、ＳＤＮスイッチの制御装置代行部２１５が作成するフローエントリの一例を示す図である。図７の例では、送信元ＩＰアドレスが１９２．１６８．ＹＹＹ．ＹＹＹであり、宛先ＩＰアドレス１９２．１６８．ＺＺＺ．ＺＺＺであるパケットをＳＤＮスイッチ２００−２、２００−３に転送するフローエントリが作成されている。なお、転送先のＳＤＮスイッチが２つになっているのは、ＳＤＮスイッチ単体では経路の計算を行わないようにしたためである。また、転送先のＳＤＮスイッチ２００−２、２００−３の方でも、フローエントリの作成対象となるパケット情報に基づいて、フローエントリが作成される。これにより、送信元ＩＰアドレスが１９２．１６８．ＹＹＹ．ＹＹＹであり、宛先ＩＰアドレス１９２．１６８．ＺＺＺ．ＺＺＺであるパケットが、適切な転送先に届けられることになる。
【００３５】
図８は、本発明の第１の実施形態のＳＤＮスイッチ２００のフローテーブル２１４に設定されているフローエントリを示す図である。図８に示されたとおり、制御装置代行部２１５は、ＳＤＮコントローラ１００との接続性に異常が検出されている状態においても、ＳＤＮコントローラ１００により設定されたフローエントリの削除は行わない。これにより、ＳＤＮコントローラ１００との接続性に異常が検出される前の通信の継続が可能となる（図８の１番目のフローエントリ参照）。図８の２番目のフローエントリは、制御装置代行部２１５によって作成されたフローエントリである。
【００３６】
なお、ＳＤＮスイッチ２００−２〜２００−４も上記と同様の構成であり、そのＶＴＮ情報記憶部２１６には、それぞれ必要なＶＴＮ情報が格納される。また、ＳＤＮスイッチ２００−２〜２００−４のフロー記憶部２１７には、これらのＳＤＮスイッチの制御装置代行部２１５により作成されたフローエントリを特定するための情報が格納される。
【００３７】
制御装置代行部２１５は、ＳＤＮコントローラとの接続性が回復した場合、フロー記憶部２１７を参照して、フローテーブル２１４から、ＳＤＮコントローラ１００との接続性に異常があった期間に作成したフローエントリを削除する動作を行う。これにより、ＳＤＮコントローラ１００に、再度のフローエントリ作成依頼が行われ、ＳＤＮコントローラ１００により再度のフローエントリの設定が行われる。これにより、ＳＤＮコントローラ１００による集中制御が再開されることになる。
【００３８】
なお、図１、図４に示したＳＤＮスイッチ２００の各部（処理手段）は、ＳＤＮスイッチを構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３９】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図９は、本発明の第１の実施形態のＳＤＮスイッチの動作を示す流れ図である。以下の説明において、ＳＤＮスイッチ２００−１が、ＳＤＮコントローラとの接続性に異常を検出し、制御元を制御装置代行部２１５に切り替えた状態においてユーザ収容設備４０−１からユーザ収容設備４０−３宛ての新規通信パケットを受信したものとして説明する。図９を参照すると、ＳＤＮスイッチ２００−１は、フローテーブル２１４から、ユーザ収容設備４０−１からユーザ収容設備４０−３宛てのパケットに適合するエントリを検索する（ステップＳ２０１）。
【００４０】
前記検索の結果、フローテーブル２１４に受信パケットに適合するマッチ条件を持つエントリが存在しない場合、ＳＤＮスイッチ２００−１は、制御装置代行部２１５に、当該パケットを含む後続パケットを処理するためのフローエントリの作成を依頼する。制御装置代行部２１５は、受信パケットの受信インタフェース等に基づいて、ＶＴＮを特定する。制御装置代行部２１５は、図６の上段に示すＶＴＮ情報を参照して、受信パケットをＳＤＮスイッチ２００−２、２００−３に転送させるフローエントリを作成する（ステップＳ２０２、図８参照）。
【００４１】
さらに、ＳＤＮスイッチ２００−１は、同一ＶＴＮに属するＳＤＮスイッチ２００−２、２００−３に対し、ユーザ収容設備４０−１から受信したパケットの情報（例えば、受信インタフェース、Ｌ２情報、Ｌ３情報、Ｌ４情報）を通知する（ステップＳ２０３）。
【００４２】
前記通知を受けたＳＤＮスイッチ２００−２、２００−３は、通知されたパケットの情報を参照して、当該パケットの宛先が自身に接続されたユーザ収容設備の端末であるか否かを確認する（ステップＳ２０４）。なお、当該パケットの宛先が自身に接続されたユーザ収容設備の端末であるか否かは、例えば、図６の下段に示すＶＴＮ情報記憶部２１６に保持されている接続端末情報に基づいて判断することができる。
【００４３】
前記確認の結果、当該パケットの宛先が自身に接続されたユーザ収容設備の端末であった場合（ステップＳ２０４のＹｅｓ）、ＳＤＮスイッチ２００−２、２００−３は、当該パケットを宛先端末に転送するためのフローエントリを作成し、フローテーブル２１４に設定する（ステップＳ２０５）。例えば、図３のＳＤＮスイッチ２００−３は、ユーザ収容設備４０−３の端末が接続されているので、ユーザ収容設備４０−１の端末から送信されたパケットをユーザ収容設備４０−３側に転送するフローエントリを作成する。これにより、ＳＤＮコントローラ１００の関与なしで、ユーザ収容設備４０−１の端末からユーザ収容設備４０−３の端末宛てに送られたパケットの転送が実現される。
【００４４】
一方、前記確認の結果、当該パケットの宛先が自身に接続されたユーザ収容設備の端末でない場合（ステップＳ２０４のＮｏ）、ＳＤＮスイッチ２００−２、２００−３は、隣接するＳＤＮスイッチ中に同一ＶＴＮのＳＤＮスイッチがさらに存在する場合、当該ＳＤＮスイッチに当該パケットを転送するためのフローエントリを作成する（ステップＳ０２０６）。さらに、ＳＤＮスイッチ２００−２、２００−３は、前記同一ＶＴＮに属するＳＤＮスイッチに対し、ユーザ収容設備４０−１から受信したパケットの情報を通知する（ステップＳ２０７）。以上のような通信ノードの連携動作により、ＳＤＮコントローラ１００の関与なしで、ユーザ収容設備４０−１の端末からユーザ収容設備４０−３の端末宛てに送られたパケットの転送が実現される。なお、図３、図５の例では、ＳＤＮスイッチ２００−２に、送信元のＳＤＮスイッチ２００−１を除き、同一ＶＴＮの隣接ＳＤＮスイッチは存在しないので、フローエントリの作成と、受信したパケットの情報の通知が行われることはない。
【００４５】
ＳＤＮスイッチ２００は、ＳＤＮコントローラ１００から指示を受信できる状態になるまで、以上の動作を継続する。これにより、図１０に示すように、ＳＤＮスイッチ２００とＳＤＮコントローラ１００間の接続性に異常が発生している場合においても、ユーザ収容設備４０−１の端末からユーザ収容設備４０−３の端末への通信を実現することができる（図１０の一点鎖線の両矢線参照）。また、本実施形態では、各ＳＤＮスイッチ２００が、ＳＤＮコントローラ１００から設定されたフローエントリを削除せず、保持を継続する。これにより、ＳＤＮコントローラ１００から設定されたフローエントリにより通信も維持されることになる（図１０のユーザ収容設備＃２（４０−２）からユーザ収容設備＃３（４０−３）への破線の両矢線参照）。
【００４６】
続いて、ＳＤＮスイッチ２００とＳＤＮコントローラ１００間の接続性が復旧した場合のＳＤＮスイッチの動作について説明する。図１１は、本発明の第１の実施形態のＳＤＮスイッチ２００とＳＤＮコントローラ１００との接続復旧時の動作を示す流れ図である。図１０を参照すると、ＳＤＮスイッチ２００は、ＳＤＮコントローラ１００間の接続復旧を検出すると（ステップＳ３０１のＹｅｓ）、フローテーブル２１４から、フロー記憶部２１７に記憶されたフローエントリを削除する（ステップＳ３０２）。これにより、ＳＤＮスイッチ２００とＳＤＮコントローラ１００との接続性に異常があった期間に、ＳＤＮスイッチ２００の制御装置代行部２１５が作成したフローエントリが削除される。
【００４７】
次に、ＳＤＮスイッチ２００は、制御元を制御装置代行部２１５から、ＳＤＮコントローラ１００に切り替える（ステップＳ３０３）。以降、新規に通信が発生すると、ＳＤＮスイッチ２００は、フローテーブル２１４に該当するフローエントリが見つからないため、ＳＤＮコントローラ１００にフローエントリの作成を依頼する。前記依頼に基づいて、ＳＤＮコントローラ１００がフローエントリを作成することで、ＳＤＮコントローラ１００による集中制御が再開されることになる。例えば、ＳＤＮスイッチ２００−１、２００−３は、図１０のユーザ収容設備４０−１とユーザ収容設備４０−３の通信を実現するフローエントリを削除することになるが、ＳＤＮスイッチ２００−１からの依頼に基づいてＳＤＮコントローラ１００が新たなフローエントリを作成するので、一貫性は保たれる。
【００４８】
以上説明したように、本実施形態によれば、集中制御型のネットワークにおいて、ＳＤＮスイッチが、ＳＤＮコントローラ１００からの指示を受信できない状態に陥っても、既存通信を維持するだけでなく、新規通信を確立することが可能となる。
【００４９】
なお、上記した実施形態では、ＳＤＮスイッチ２００とＳＤＮコントローラ１００間の接続性が復旧した場合において、ＳＤＮスイッチ２００が自身で設定したフローエントリを削除するものとして説明したが、設定した内容をＳＤＮコントローラ１００に通知する方法も採用可能である。
【００５０】
図１２は、本発明の接続復旧時のＳＤＮスイッチの動作を示す別の流れ図である。図１２を参照すると、ＳＤＮスイッチ２００は、ＳＤＮコントローラ１００間の接続復旧を検出すると（ステップＳ３０１のＹｅｓ）、フロー記憶部２１７に記憶されたフローエントリを読み出してＳＤＮコントローラ１００に通知する（ステップＳ３０２ａ）。その後、ＳＤＮスイッチ２００は、制御元を制御装置代行部２１５から、ＳＤＮコントローラ１００に切り替える（ステップＳ３０３）。
【００５１】
前記通知を受けたＳＤＮコントローラ１００は、前記通知されたフローエントリを自身のフロー管理手段（非図示）に反映する。また、必要に応じて、ＳＤＮコントローラ１００が、各ＳＤＮスイッチ２００に設定されたフローエントリを修正するようにしてもよい。このように、ＳＤＮスイッチ２００がＳＤＮコントローラ１００に、ＳＤＮコントローラ１００からの指示を受けることなく作成したフローエントリを通知し、一貫性を保つ方法も採用可能である。
【００５２】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００５３】
例えば、上記した実施形態のＳＤＮスイッチにおいて、各ＳＤＮスイッチに接続されている端末の情報を共有させることも好ましい。このようにすることで、上記した実施形態の制御装置代行部２１５に、ＶＴＮ情報記憶部に記憶されたＶＴＮ情報に基づいた経路計算を行わせることができる。このようにすることで、ＳＤＮコントローラから指示を受け取ることができない期間中のパケットの複製や不必要な転送を抑えることが可能となる。
【００５４】
また、上記した実施形態では、通信ノードがＳＤＮスイッチであり、制御装置がＳＤＮコントローラである例を挙げて説明したが、通信ノード及び制御装置の例はこれらに限られない。例えば、通信ノードがオープンフロースイッチであり、制御装置がオープンフローコントローラであってもよい。
【００５５】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信ノード参照）
［第２の形態］
上記通信ノードは、
新規通信が発生した場合、前記他の通信ノードに前記新規通信に属するパケットの情報を送信し、前記新規通信を実現するためのフローエントリの作成を要求する構成を採ることができる。
［第３の形態］
上記通信ノードは、
当該通信ノードが属する仮想ネットワークの構成情報を記憶する仮想ネットワーク構成記憶部を備え、
前記制御装置代行部は、前記仮想ネットワークの構成情報に基づいて、フローエントリを作成する構成を採ることができる。
［第４の形態］
上記通信ノードは、
前記所定の制御装置から指示を受信できる状態に復旧した場合、前記制御装置代行部が前記フローテーブルに設定したフローエントリを削除する機能を有していることが好ましい。
［第５の形態］
上記通信ノードは、
前記所定の制御装置から指示を受信できる状態に復旧した場合、前記制御装置に対し、前記制御装置代行部が前記フローテーブルに設定したフローエントリの内容を通知する機能を有していることが好ましい。
［第６の形態］
上記通信ノードは、
前記所定の制御装置が設定したフローエントリの削除を行わず、既存の通信を維持するよう構成されていることが好ましい。
［第７の形態］
（上記第２の視点による通信システム参照）
［第８の形態］
（上記第３の視点による通信方法参照）
［第９の形態］
（上記第４の視点によるプログラム参照）
なお、上記第７〜第９の形態は、第１の形態と同様に、第２〜第６の形態に展開することが可能である。
【００５６】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００５７】
１０  ＳＤＮコントロール設備
２０  ＳＤＮスイッチ設備
４０−１〜４０−４  ユーザ収容設備
１００  ＳＤＮコントローラ
１００Ａ  制御装置
２００、２００−１〜２００−４  ＳＤＮスイッチ
２００Ａ〜２００Ｃ  通信ノード
２０１  制御部
２０２、２１５  制御装置代行部
２０３、２１４  フローテーブル
２０４  パケット処理部
２１１  ＳＤＮコントローラ監視処理部
２１２  制御メッセージ処理部
２１３  フロー制御部
２１６  ＶＴＮ情報記憶部  
２１７  フロー記憶部
３００Ａ、３００Ｂ  ホスト
４００  ユーザ端末
【図１】
2018107744.tif 000003
【図２】
2018107744.tif 000004
【図３】
2018107744.tif 000005
【図４】
2018107744.tif 000006
【図５】
2018107744.tif 000007
【図６】
2018107744.tif 000008
【図７】
2018107744.tif 000009
【図８】
2018107744.tif 000010
【図９】
2018107744.tif 000011
【図１０】
2018107744.tif 000012
【図１１】
2018107744.tif 000013
【図１２】
2018107744.tif 000014