(57)【要約】【課題】物理ネットワーク上に複数の仮想ネットワークを設けた場合の迂回処理において仮想ネットワーク間の公平性を確保すること。【解決手段】フロー制御装置は、複数のフロー処理装置を含む物理ネットワーク上に設けられた複数の仮想ネットワークに対する迂回処理の処理順序の履歴を保持する記憶部と、前記迂回処理の処理順序の履歴に基づいて、前記複数の仮想ネットワークの間で迂回処理の処理順序が平準化されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する決定部と、を備えている。【選択図】図１
2017028339.tif 000002
【特許請求の範囲】
【請求項１】
複数のフロー処理装置を含む物理ネットワーク上に設けられた複数の仮想ネットワークに対する迂回処理の処理順序の履歴を保持する記憶部と、
前記迂回処理の処理順序の履歴に基づいて、前記複数の仮想ネットワークの間で迂回処理の処理順序が平準化されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する決定部と、を備える、
ことを特徴とするフロー制御装置。
【請求項２】
前記決定部は、前記複数の仮想ネットワークのそれぞれに対して、迂回処理の処理順序の平均値を算出し、算出された平均値が相対的に大きい仮想ネットワークに対する次回の迂回処理が優先されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する、
請求項１に記載のフロー制御装置。
【請求項３】
前記決定部は、前記算出された平均値が互いに等しい複数の仮想ネットワークに対する次回の迂回処理における処理順序を、乱数を用いて決定する、
請求項２に記載のフロー制御装置。
【請求項４】
前記決定部は、前記複数の仮想ネットワークのそれぞれに対して、迂回処理の原因となった障害の種類に応じた重みを付けて処理順序の加重平均値を算出する、
請求項２または３に記載のフロー制御装置。
【請求項５】
前記決定部は、迂回処理が発生していない仮想ネットワークに対する次回の迂回処理における処理順序を、乱数を用いて決定する、
請求項１ないし４のいずれか１項に記載のフロー制御装置。
【請求項６】
前記迂回処理は、前記複数のフロー処理装置の少なくともいずれかにおける障害、および／または、前記複数のフロー処理装置の間を接続するリンクにおける障害に起因する迂回処理である、
請求項１ないし５のいずれか１項に記載のフロー制御装置。
【請求項７】
複数のフロー処理装置と、
前記複数のフロー処理装置によるフロー処理を制御するフロー制御装置と、を備え、
前記フロー制御装置は、前記複数のフロー処理装置を含む物理ネットワーク上に設けられた複数の仮想ネットワークに対する迂回処理の処理順序の履歴を保持する記憶部と、
前記迂回処理の処理順序の履歴に基づいて、前記複数の仮想ネットワークの間で迂回処理の処理順序が平準化されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する決定部と、を備える、
ことを特徴とする通信システム。
【請求項８】
コンピュータが、複数のフロー処理装置を含む物理ネットワーク上に設けられた複数の仮想ネットワークに対する迂回処理の処理順序の履歴を記憶部に保持するステップと、
前記迂回処理の処理順序の履歴に基づいて、前記複数の仮想ネットワークの間で迂回処理の処理順序が平準化されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定するステップと、を含む、
ことを特徴とするフロー制御方法。
【請求項９】
前記コンピュータが、前記複数の仮想ネットワークのそれぞれに対して、迂回処理の処理順序の平均値を算出するステップと、
算出された平均値が相対的に大きい仮想ネットワークに対する次回の迂回処理が優先されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定するステップと、を含む、
請求項８に記載のフロー制御方法。
【請求項１０】
複数のフロー処理装置を含む物理ネットワーク上に設けられた複数の仮想ネットワークに対する迂回処理の処理順序の履歴を記憶部に保持する処理と、
前記迂回処理の処理順序の履歴に基づいて、前記複数の仮想ネットワークの間で迂回処理の処理順序が平準化されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する処理と、をコンピュータに実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フロー制御装置、通信システム、フロー制御方法およびプログラムに関し、特にフロー処理装置によるフロー処理を制御するフロー制御装置、通信システム、フロー制御方法およびプログラムに関する。
【背景技術】
【０００２】
通信をエンドツーエンドのフローとして捉え、フローを処理するフロー処理装置と、フロー処理装置に対して処理フローを設定するフロー制御装置とを備えた集中制御型の通信システム、および、かかる通信システムにおけるネットワーク制御方法が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１３１３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。
【０００５】
図２は、フロー制御装置１００とフロー処理装置２００ａ〜２００ｃを備えた集中制御型の通信システムの構成を例示する図である。一方、図３〜図８は、図２に示す物理ネットワーク上に設けられた仮想ネットワーク４００Ａ〜４００Ｆの構成を例示する図である。
【０００６】
関連技術においては、以下に述べる「帯域抑制」および「帯域分散」の観点から、ユーザごとの仮想ネットワークの通信を実現する物理ネットワーク上に構築するブロードキャスト／マルチキャスト（Broadcast/Multicast）配信ツリーを分割したいという要望がある。
【０００７】
まず、「帯域抑制」の観点から配信ツリーを分割することが好ましい場合が考えられる。例えば、配信ツリーに特定のフロー処理装置２００を含めないことで、映像ストリームなどの広帯域のトラフィックを配信不要なフロー処理装置２００へ配信しないようにする。これにより、必要帯域を抑制し、網（ネットワーク）全体のスケーラビリティの向上や機器コストの削減を実現することができる。また、広域網にフロー制御装置１００とフロー処理装置２００を適用する場合、フロー制御装置１００がフロー処理装置２００を制御するための網を別に構築するコストが膨大となる。そこで、フロー処理装置２００のユーザ用の物理回線と、フロー処理装置２００とフロー制御装置１００の間の物理回線として、同一の回線を使用する場合も多い。また、フロー制御装置１００とフロー処理装置２００の間のパケットイン処理の発生を抑止するために、２つのフロー処理装置２００のポート（例えば、ポートＡ、Ｂ）間を仮想的なトンネルで直結し、「ポートＡから入力したフレームはポートＢに転送する」というプロアクティブなフローエントリを予め設定する方式も用いられる。さらに、柔軟性に富むパケットインに応じてフローを設定する方式のツリーとは異なる配信ツリーを構築する場合もある。
【０００８】
また、「帯域分散」の観点から配信ツリーを分割することが好ましい場合が考えられる。例えば、フロー処理装置２００の間に複数の回線が接続されている場合、これらの複数の回線を使用することで、物理ネットワーク中の帯域資源を有効に活用することができる。これにより、網全体のスケーラビリティの向上や機器コストの削減を実現することが可能となる。
【０００９】
さらに、仮想ネットワークはユーザごとに分離して運用されるのが一般的であり、仮想ネットワークの公平性として、帯域や通信品質の公平性の実現に対する要望がある。
【００１０】
関連技術によると、フロー制御装置により仮想ネットワークのユーザごとに複数のブロードキャスト／マルチキャスト（Broadcast/Multicast）ツリーを制御している場合、例えば、迂回処理を仮想ネットワークのユーザ識別子の若番順で処理する方法が用いられる。しかし、かかる方法によると、迂回処理を複数回実施した際、最老番のユーザに対する迂回処理はつねに後回しにされ、識別子が相対的に若い番号のユーザと比較してフレームロス時間が相対的に長くなってしまう。すなわち、ユーザ間の公平性が確保できないという問題がある。
【００１１】
そこで、物理ネットワーク上に複数の仮想ネットワークを設けた場合の迂回処理において仮想ネットワーク間の公平性を確保することが課題となる。本発明の目的は、かかる課題解決に寄与するフロー制御装置、通信システム、フロー制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の態様に係るフロー制御装置は、複数のフロー処理装置を含む物理ネットワーク上に設けられた複数の仮想ネットワークに対する迂回処理の処理順序の履歴を保持する記憶部と、前記迂回処理の処理順序の履歴に基づいて、前記複数の仮想ネットワークの間で迂回処理の処理順序が平準化されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する決定部と、を備えている。
【００１３】
本発明の第２の態様に係る通信システムは、複数のフロー処理装置と、前記複数のフロー処理装置によるフロー処理を制御するフロー制御装置と、を備え、前記フロー制御装置は、前記複数のフロー処理装置を含む物理ネットワーク上に設けられた複数の仮想ネットワークに対する迂回処理の処理順序の履歴を保持する記憶部と、前記迂回処理の処理順序の履歴に基づいて、前記複数の仮想ネットワークの間で迂回処理の処理順序が平準化されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する決定部と、を備えている。
【００１４】
本発明の第３の態様に係るフロー制御方法は、コンピュータが、複数のフロー処理装置を含む物理ネットワーク上に設けられた複数の仮想ネットワークに対する迂回処理の処理順序の履歴を記憶部に保持するステップと、前記迂回処理の処理順序の履歴に基づいて、前記複数の仮想ネットワークの間で迂回処理の処理順序が平準化されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定するステップと、を含む。
【００１５】
本発明の第４の態様に係るプログラムは、複数のフロー処理装置を含む物理ネットワーク上に設けられた複数の仮想ネットワークに対する迂回処理の処理順序の履歴を記憶部に保持する処理と、前記迂回処理の処理順序の履歴に基づいて、前記複数の仮想ネットワークの間で迂回処理の処理順序が平準化されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する処理と、をコンピュータに実行させる。なお、プログラムは、非一時的なコンピュータ可読記録媒体（non-transitory computer-readable storage medium）に記録されたプログラム製品として提供することもできる。
【発明の効果】
【００１６】
本発明に係るフロー制御装置、通信システム、フロー制御方法およびプログラムによると、物理ネットワーク上に複数の仮想ネットワークを設けた場合の迂回処理において仮想ネットワーク間の公平性を確保することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】一実施形態に係るフロー制御装置の構成を例示するブロック図である。
【図２】第１の実施形態に係る通信システムの構成を例示する図である。
【図３】第１の実施形態に係る通信システムにおける仮想ネットワークの構成を例示する図である。
【図４】第１の実施形態に係る通信システムにおける仮想ネットワークの構成を例示する図である。
【図５】第１の実施形態に係る通信システムにおける仮想ネットワークの構成を例示する図である。
【図６】第１の実施形態に係る通信システムにおける仮想ネットワークの構成を例示する図である。
【図７】第１の実施形態に係る通信システムにおける仮想ネットワークの構成を例示する図である。
【図８】第１の実施形態に係る通信システムにおける仮想ネットワークの構成を例示する図である。
【図９】第１の実施形態に係る通信システムにおけるフロー制御装置の構成を例示するブロック図である。
【図１０】第１の実施形態に係る通信システムにおけるフロー処理装置の構成を例示するブロック図である。
【図１１】第１の実施形態に係る通信システムにおけるＢＣＭＣ配信ツリーの構成と統計情報記憶部が保持するテーブルの構成を例示する図である。
【図１２】第１の実施形態に係る通信システムにおけるＢＣＭＣ配信ツリーの構成と統計情報記憶部が保持するテーブルの構成を例示する図である。
【図１３】第１の実施形態に係る通信システムにおけるＢＣＭＣ配信ツリーの構成と統計情報記憶部が保持するテーブルの構成を例示する図である。
【図１４】第１の実施形態に係る通信システムにおけるＢＣＭＣ配信ツリーの構成と統計情報記憶部が保持するテーブルの構成を例示する図である。
【図１５】第１の実施形態に係る通信システムにおけるＢＣＭＣ配信ツリーの構成と統計情報記憶部が保持するテーブルの構成を例示する図である。
【図１６】第１の実施形態に係る通信システムにおけるＢＣＭＣ配信ツリーの構成と統計情報記憶部が保持するテーブルの構成を例示する図である。
【図１７】第１の実施形態に係る通信システムにおけるＢＣＭＣ配信ツリーの構成と統計情報記憶部が保持するテーブルの構成を例示する図である。
【図１８】第１の実施形態に係る通信システムにおけるＢＣＭＣ配信ツリーの構成と統計情報記憶部が保持するテーブルの構成を例示する図である。
【図１９】第１の実施形態に係る通信システムにおけるＢＣＭＣ配信ツリーの構成と統計情報記憶部が保持するテーブルの構成を例示する図である。
【発明を実施するための形態】
【００１８】
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１９】
図１は、一実施形態に係るフロー制御装置１００の構成を例示するブロック図である。図１を参照すると、フロー制御装置１００は、記憶部１０と決定部２０を備えている。記憶部１０（例えば、図９の統計情報記憶部１１１）は、複数のフロー処理装置（例えば、図２のフロー処理装置２００ａ〜２００ｃ）を含む物理ネットワーク上に設けられた複数の仮想ネットワーク（例えば、図３〜図８の仮想ネットワーク４００Ａ〜４００Ｆ）に対する迂回処理（例えば、図１１のＢＣＭＣ配信ツリー５００Ａ〜５００Ｅを図１２のＢＣＭＣ配信ツリー５００Ａ〜５００Ｅに迂回する処理）の処理順序の履歴（例えば、図１２〜図１９）を保持する。また、決定部２０（例えば、図９の平均化部１１２）は、迂回処理の処理順序の履歴（例えば、図１２〜図１９）に基づいて、複数の仮想ネットワークの間で迂回処理の処理順序が平準化されるように、複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する。ここで、決定部２０は、複数の仮想ネットワークのそれぞれに対して、迂回処理の処理順序の平均値を算出し、算出された平均値が相対的に大きい仮想ネットワークに対する次回の迂回処理が優先されるように、複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定してもよい。
【００２０】
かかるフロー制御装置１００によると、物理ネットワーク上に複数の仮想ネットワークを設けた場合の迂回処理において仮想ネットワーク間の公平性を確保することが可能となる。なぜなら、例えば迂回処理の処理順序の平均値に基づいて、過去の迂回処理において相対的に後回しにされてきた仮想ネットワークに対する迂回処理を、次回の迂回処理において優先的に処理することで、仮想ネットワークの間で迂回処理の処理順序が平準化されるからである。
【００２１】
図９は、さらなる展開形態に係るフロー制御装置１００の構成を例示するブロック図である。かかる展開形態によると、フロー制御装置１００は平均化部１１２を備えている。平均化部１１２は、仮想ネットワークのユーザごとに迂回時の迂回処理順番を管理し、障害迂回が発生した都度、迂回処理順番を変更し、仮想ネットワークのユーザごとの迂回処理順番の平均値を極力平準化させ、仮想ネットワークのユーザ間のフレームロス時間の公平性の向上を図る。
【００２２】
具体的には、平均化部１１２は、フロー処理装置２００の障害またはフロー処理装置２００間のリンク障害などに起因して発生するフロー制御装置１００の制御下で実施される迂回処理ごとに、ユーザごとの仮想ネットワークの処理順番情報を統計情報記憶部１１１に履歴として記憶する。平均化部１１２は、迂回処理ごとに、前回までに統計情報記憶部１１１に蓄積された過去の迂回処理（例えば、過去のすべての迂回処理）における仮想ネットワーク処理順番情報からユーザごとの仮想ネットワークの処理順番の平均値を算出する。また、平均化部１１２は、平均値が大きく過去の迂回処理において後回しに迂回処理されていた仮想ネットワークから順番に迂回処理を施す。かかる構成によると、迂回処理の回数が増大するのに伴って、各ユーザ間の仮想ネットワークの処理順番の間の平均値は平準化される。処理順番の平準化に伴い、最若番のユーザと最老番のユーザを含むすべてのユーザ間のフレームロス時間平均の差が小さくなる。これにより、ユーザ間の公平性が確保されることになる。
【００２３】
＜実施形態１＞
次に、本発明の第１の実施形態に係るフローネットワーク（通信システム）について図面を参照して詳細に説明する。
【００２４】
［構成］
図２は、本実施形態に係るフローネットワークの構成を例示する図である。図２を参照すると、フローネットワークは、フロー制御装置１００、フロー処理装置２００、および、ノード３００を備えている。
【００２５】
フロー制御装置１００は、ノード３００間の通信をどのフロー処理装置２００を通って処理させるかのフロー管理を行い、１以上のフロー処理装置２００に対してフロー設定の指示を行う。
【００２６】
フロー処理装置２００は、ノード３００または他のフロー処理装置２００からの入力フレームに対してフロー制御装置１００の指示によって設定されたフローテーブルを参照し、マッチした条件に従って入力フレームを処理する。フロー処理装置２００は、マッチした条件に応じて、入力フレームをノード３００に出力したり、他のフロー処理装置２００に出力したり、フロー制御装置１００に出力したり、ドロップしたりする。
【００２７】
ノード３００は、他のノード３００宛てのフレームをフロー処理装置２００に送信したり、他のノード３００を送信元とするフレームをフロー処理装置２００から受信したりする。
【００２８】
ここで、ノード３００と接続しているフロー処理装置２００を「エッジフロー処理装置」という。一方、他のフロー処理装置２００とのみ接続するフロー処理装置２００を「コアフロー処理装置」という。フローネットワークによっては、コアフロー処理装置が存在しない場合もある。図２に例示する構成では、コアフロー処理装置は存在しない。
【００２９】
図３〜図８は、ユーザごとの仮想ネットワーク４００と仮想ネットワーク４００を構成する仮想Ｌ２ＳＷ（レイヤ２スイッチ：Layer 2 Switch）４０１とノード３００からフレームを入力する外部ＮＷ（ネットワーク：Network）端点４０２を例示する。
【００３０】
図３に示す仮想ネットワーク４００Ａは、仮想ノードとして仮想Ｌ２ＳＷ４０１Ａと外部ＮＷ端点４０２ａＡ〜４０２ｃＡを備え、仮想ネットワークトポロジとして仮想Ｌ２ＳＷ４０１Ａと仮想外部ＮＷ端点４０２ａＡ〜４０２ｃＡとが接続されている。ここで、仮想ネットワーク４００Ａは、図２のフローネットワークに対応している。すなわち、外部ＮＷ端点４０２ａＡは、フロー処理装置２００ａのノード３００ａＡ接続ポートと接続している。同様に、外部ＮＷ端点４０２ｂＡは、フロー処理装置２００ｂのノード３００ｂＡ接続ポートと接続している。また、外部ＮＷ端点４０２ｃＡは、フロー処理装置２００ｃのノード３００ｃＡ接続ポートと接続している。
【００３１】
図４〜図８も、同様に、仮想ネットワーク４００Ｂ〜４００Ｆの仮想ネットワーク内の構成と、仮想Ｌ２ＳＷ４０１と外部ＮＷ端点４０２との接続を示す。
【００３２】
図９は、フロー制御装置１００の構成を例示するブロック図である。図９を参照すると、フロー制御装置１００は、フロー処理装置通信部１０１、フローネットワーク管理部１０２、仮想ネットワーク管理部１０３、フロー処理装置記憶部１０４、フロー処理装置トポロジ情報記憶部１０５、ＢＣＭＣ（Broadcast/Multicast）ツリー記憶部１０６、フローエントリ記憶部１０７、フロー記憶部１０８、仮想ネットワークトポロジ情報記憶部１０９、仮想ノード情報記憶部１１０、統計情報記憶部１１１、および、平均化部１１２を備えている。
【００３３】
フロー処理装置通信部１０１は、フロー処理装置２００からのフロー処理装置情報や入力フレーム情報をフローネットワーク管理部１０２や仮想ネットワーク管理部１０３に中継する。また、フロー処理装置通信部１０１は、仮想ネットワーク管理部１０３からの出力フレーム情報やフローネットワーク管理部１０２からのフローエントリに関する設定や参照、仮想ネットワーク管理部１０３とフローネットワーク管理部１０２からのフロー処理装置情報の参照などを、フロー処理装置記憶部１０４を参照してフロー処理装置２００に中継する。
【００３４】
フローネットワーク管理部１０２は、フロー処理装置通信部１０１からのフロー処理装置情報をフロー処理装置記憶部１０４に設定し、フロー処理装置記憶部１０４の情報と入力フレーム情報を基にフロー処理装置トポロジ情報をフロー処理装置トポロジ情報記憶部１０５に設定する。また、フローネットワーク管理部１０２は、フロー処理装置トポロジ情報を基に、ユーザごとの仮想ネットワーク４００に対するブロードキャスト、マルチキャストフレーム配信（ＢＣＭＣ配信）用のフローを求め、仮想ネットワーク４００ごとのブロードキャスト、マルチキャストフレーム用のＢＣＭＣ配信ツリーをＢＣＭＣツリー記憶部１０６に設定する。さらに、フローネットワーク管理部１０２は、仮想ネットワーク管理部１０３からの仮想ノード情報、仮想ネットワークトポロジ情報とＢＣＭＣ配信ツリーからＢＣＭＣ用フローエントリを求め、フローエントリ記憶部１０７に設定し、フロー処理装置通信部１０１を通してフロー処理装置２００にフローエントリを設定する。また、フローネットワーク管理部１０２は、仮想ネットワーク管理部１０３からのフロー設定情報とフロー処理装置トポロジ情報からフローエントリを求め、フロー設定情報をフロー記憶部１０８に設定し、フローエントリをフローエントリ記憶部１０７に設定し、フロー処理装置通信部１０１を通してフロー処理装置２００にフローエントリを設定する。
【００３５】
仮想ネットワーク管理部１０３は、複数の仮想ネットワーク上の仮想ノード情報を仮想ノード情報記憶部１１０に設定し、仮想ネットワークごとの仮想ノード情報の接続関係を仮想ネットワークトポロジ情報記憶部１０９に設定する。また、仮想ネットワーク管理部１０３は、これらの仮想ノード情報と仮想ネットワークトポロジ情報をフローネットワーク管理部１０２に渡す。さらに、仮想ネットワーク管理部１０３は、フロー処理装置通信部１０１からの入力フレーム情報を仮想ネットワークトポロジ情報に基づいて処理する。このとき、仮想ネットワーク管理部１０３は、仮想Ｌ２ＳＷ４０１の処理動作をエミュレートして入力フレームの処理を決定する。したがって、入力フレーム情報はドロップされ、もしくは、仮想Ｌ２ＳＷ４０１などの仮想ノードがホスト受信し、または、外部ＮＷ端点４０２を介して出力フレーム情報を出力する。また、仮想ネットワーク管理部１０３は、出力フレーム情報を、フロー処理装置通信部１０１を通してフロー処理装置２００に出力する。さらに、仮想ネットワーク管理部１０３は、フロー処理装置通信部１０１からの入力フレーム情報とこれに対応するフロー処理装置通信部１０１への出力フレーム情報に基づくフロー設定情報により、フローネットワーク管理１０２にフロー設定を依頼する場合がある。なお、仮想ネットワーク管理部１０３は、仮想ネットワークトポロジ情報などからフロー設定依頼を行うことも可能である。
【００３６】
フロー処理装置記憶部１０４は、フロー処理装置２００のフロー処理装置情報をフロー処理装置２００ごとに保持する。フロー処理装置情報は、例えば、フロー処理装置２００のポート情報、ＶＬＡＮ（Virtual Local Area Network）設定情報、フロー処理装置２００の能力、フロー処理装置２００へアクセスするためのアドレスなどである。なお、フロー処理装置情報は、統計情報などを含む場合もある。
【００３７】
フロー処理装置トポロジ情報記憶部１０５は、フロー処理装置２００間の接続情報を保持する。
【００３８】
ＢＣＭＣツリー記憶部１０６は、フローネットワークにおけるブロードキャスト、マルチキャスト用のフローのためのベースとなるユーザごとの仮想ネットワーク４００の物理ネットワークのＢＣＭＣ配信ツリー５００を保持する。例えば、図２のフローネットワークにおける図３〜図８のＢＣＭＣ配信ツリーは、図１１〜図１９に示すＢＣＭＣ配信ツリー５００Ａ〜５００Ｆのようになる。
【００３９】
仮想ノード情報記憶部１１０は、図３〜図８に示す仮想ネットワーク４００ごと、すなわちユーザごとの仮想Ｌ２ＳＷ４０１および外部ＮＷ端点４０２などの仮想ノード情報をそれぞれ保持する。仮想Ｌ２ＳＷ４０１に対する仮想ノード情報は、仮想インタフェース情報やＭＡＣ（Media Access Control）エントリ情報などのＬ２ＳＷと同様の情報などである。一方、外部ＮＷ端点４０２に対する仮想ノード情報は、フロー制御装置１００が管理するフローネットワークにおけるどのフロー処理装置２００のどのポートと関係しているかを表すマッピング情報などである。
【００４０】
仮想ネットワークトポロジ情報記憶部１０９は、仮想ネットワーク４００ごとの仮想ノード間の接続情報を保持する。
【００４１】
統計情報記憶部１１１は、平均化部１１２の指示により、フロー制御装置１００の制御下で実施される迂回処理ごとに、仮想ネットワーク４００が迂回処理された順番の履歴を保持する。統計情報記憶部１１１は、例えば図１１〜図１９中の表に示すように、各迂回処理時の仮想ネットワーク４００の処理順番と、処理順番の平均値と、平均値から算出される次回の迂回時の処理順番の優先順位（次回順位）を保持する。
【００４２】
平均化部１１２は、フローネットワーク管理部１０２がフローネットワークの障害を検出した際に、仮想ネットワーク管理部１０３から迂回処理開始トリガを受ける。ここで、フローネットワーク管理部１０２は、フロー処理装置２００からのトポロジ情報の一種であるポートダウン通知やフロー処理装置２００のヘルスチェックタイムアウトなどにより、フローネットワークの障害を検出する。すると、平均化部１１２は、統計情報記憶部１１１に格納された順番平均値を基に迂回処理におけるユーザごとの仮想ネットワークのＢＣＭＣツリー５００の処理順番を決定する。また、平均化部１１２は、仮想ネットワーク管理部１０３を介して、フローネットワーク管理部１０２に対して、ＢＣＭＣツリー５００の迂回処理順番を指示する。なお、平均化部１１２は、１回も迂回処理が発生しなかった仮想ネットワークの処理順番に関しては、乱数に基づき処理順番を最高優先から最低優先の範囲で決定してもよい。また、平均化部１１２は、処理順番の平均値が同一となった複数の仮想ネットワーク４００の間での迂回処理順番の優先度についても、乱数によって決定してもよい。
【００４３】
図１０は、本実施形態に係る通信システムにおけるフロー処理装置２００の構成を例示するブロック図である。図１０を参照すると、フロー処理装置２００は、フローエントリ検索部２０１、フローエントリ記憶部２０２、フローエントリ処理部２０３、フロー処理部２０４、および、フロー制御装置通信部２０５を備えている。
【００４４】
フローエントリ処理部２０３は、フロー制御装置１００からのフロー設定の指示を、フロー制御装置通信部２０５を介して受けると、受け付けたフロー設定をフローエントリ記憶部２０２に格納する。
【００４５】
フローエントリ記憶部２０２は、フロー制御装置１００からのフロー設定を、例えばテーブル（フローテーブル）として保持する。
【００４６】
フローエントリ検索部２０１は、フロー処理部２０４が受け付けたノード３００または他のフロー処理装置からの入力フレームに対して、フローエントリ記憶部２０２が保持するフローテーブルを参照し、マッチするフロー設定を検索する。
【００４７】
フロー処理部２０４は、フローエントリ検索部２０１によって検索されたマッチした条件に従って入力フレームを処理する。フロー処理部２０４は、マッチした条件に応じて、入力フレームをノード３００に出力したり、他のフロー処理装置２００に出力したり、フロー制御装置１００に出力したり、ドロップしたりする。
【００４８】
図１１〜図１９は、障害イベント発生時や仮想ネットワーク４００の追加、削除時の仮想ネットワーク４００Ａ〜４００Ｆに対応したＢＣＭＣ配信ツリー５００Ａ〜５００Ｆの状態と、統計情報記憶部１１１が保持する情報を例示する。
【００４９】
例えば、図１１は、仮想ネットワーク４００ＡのＢＣＭＣ配信ツリー５００Ａとして、フロー処理装置２００ａとフロー処理装置２００ｂの間のリンクと、フロー処理装置２００ａとフロー処理装置２００ｃの間のリンクのみを使用し、フロー処理装置２００ｂとフロー処理装置２００ｃの間リンクを使用しないことを示す。
【００５０】
図３の外部ＮＷ端点４０２ａＡから入力したブロードキャストフレームまたはマルチキャストフレームは、フロー処理装置２００ａとフロー処理装置２００ｂの間のリンクを使用して外部ＮＷ端点４０２ｂＡに配信されるとともに、フロー処理装置２００ａとフロー処理装置２００ｃの間のリンクを使用して外部ＮＷ端点４０２ｃＡに配信される。
【００５１】
また、外部ＮＷ端点４０２ｂＡから入力したブロードキャストフレームまたはマルチキャストフレームは、フロー処理装置２００ｂとフロー処理装置２００ａの間のリンクを使用して外部ＮＷ端点４０２ａＡに配信されるとともに、フロー処理装置２００ｂとフロー処理装置２００ａの間のリンクとフロー処理装置２００ａとフロー処理装置２００ｃの間のリンクを経由して外部ＮＷ端点４０２ｃＡに配信される。
【００５２】
さらに、外部ＮＷ端点４０２ｃＡから入力したブロードキャストフレームまたはマルチキャストフレームは、フロー処理装置２００ｃとフロー処理装置２００ａの間のリンクを使用して外部ＮＷ端点４０２ａＡに配信されるとともに、フロー処理装置２００ｃとフロー処理装置２００ａの間のリンクとフロー処理装置２００ａとフロー処理装置２００ｂの間のリンクを経由して外部ＮＷ端点４０２ｂＡに配信される。
【００５３】
他のＢＣＭＣ配信ツリー５００Ｂ〜５００Ｆも、同様に、仮想ネットワーク４００Ｂ〜４００Ｆのブロードキャストフレームまたはマルチキャストフレーム配信用のリンクを示す。
【００５４】
図１１は、迂回が一度も発生していない初期のＢＣＭＣ配信ツリー５００と統計情報記憶部１１１に格納される情報を例示する。
【００５５】
図１２は、図１１の状態からフロー処理装置２００ａとフロー処理装置２００ｂの間のリンク障害が発生した際の迂回後のＢＣＭＣ配信ツリー５００と統計情報記憶部１１１に格納される１回目の処理の迂回順番と、平均順番と、次回の迂回処理時の優先順位を示す。
【００５６】
図１３は、図１２の状態からフロー処理装置２００ａとフロー処理装置２００ｂの間のリンク障害が復旧した後に、フロー処理装置２００ｂとフロー処理装置２００ｃの間のリンク障害が発生した際の迂回後のＢＣＭＣ配信ツリー５００と統計情報記憶部１１１に格納される１、２回目の処理の迂回順番と、平均順番と、次回の迂回処理時の優先順位を示す。
【００５７】
図１４は、図１３の状態からフロー処理装置２００ｂとフロー処理装置２００ｃの間のリンク障害が復旧した後に、仮想ネットワーク４００Ｂの使用が停止された際のＢＣＭＣ配信ツリー５００と統計情報記憶部１１１に格納される１、２回目の処理の迂回順番と、平均順番と、次回の迂回処理時の優先順位を示す。
【００５８】
図１５は、図１４の状態からフロー処理装置２００ａとフロー処理装置２００ｂの間のリンク障害が発生した際の迂回後のＢＣＭＣ配信ツリー５００と統計情報記憶部１１１に格納される１〜３回目の処理の迂回順番と、平均順番と、次回の迂回処理時の優先順位を示す。
【００５９】
図１６は、図１５の状態からフロー処理装置２００ａとフロー処理装置２００ｂの間のリンク障害が復旧した後で、仮想ネットワーク４００Ｆを追加された際のＢＣＭＣ配信ツリー５００と統計情報記憶部１１１に格納される１〜３回目の処理の迂回順番と、平均順番と、次回の迂回処理時の優先順位を示す。
【００６０】
図１７は、図１６の状態からフロー処理装置２００ａとフロー処理装置２００ｃの間のリンク障害が発生した際の迂回後のＢＣＭＣ配信ツリー５００と統計情報記憶部１１１に格納される１〜４回目の処理迂回順番と、平均順番と、次回の迂回処理時の優先順位を示す。
【００６１】
図１８は、図１７の状態からフロー処理装置２００ａとフロー処理装置２００ｃの間のリンク障害が復旧した後で、仮想ネットワーク４００Ｂ設定を再設定した際のＢＣＭＣ配信ツリー５００と統計情報記憶部１１１に格納される１〜４回目の処理の迂回順番と、平均順番と、次回の迂回処理時の優先順位を示す。
【００６２】
図１９は、図１８の状態からフロー処理装置２００ａとフロー処理装置２００ｂの間のリンク障害が発生した際の、迂回後のＢＣＭＣ配信ツリー５００と統計情報記憶部１１１に格納される１〜５回目の処理の迂回順番と、平均順番と、次回の迂回処理時の優先順位を示す。
【００６３】
［動作］
図１１〜図１９を参照して、本実施形態に係るフローネットワーク（通信システム）の動作、特にユーザごとの仮想ネットワーク４００間における迂回処理の順番の公平性を向上させる動作について説明する。
【００６４】
なお、本実施形態では、リンク障害復旧時に最小コストの最適経路に切り替えないものとする。また、ＢＣＭＣ配信ツリー５００の経路修正に係る処理中に、誤ってループが発生しないように、差分があるフローエントリの削除フェーズと、差分があるフローエントリの設定フェーズの２段階に分けてフローエントリを処理するものとする。このとき、フローエントリ削除フェーズの後、フレームロスが発生する。本実施形態は、かかるフレームロスの回避を優先するモードにおける動作を想定する。
【００６５】
図１１において、迂回が一度も発生していない初期のＢＣＭＣ配信ツリー５００は、仮想ネットワーク４００にマッピングされる外部ＮＷ端点４０２が存在するフロー処理装置２００のリンクコストが最小となるように構築されている。図１１に示す状態では、すべてのＢＣＭＣ配信ツリー５００において、迂回処理が実施されていない。したがって、統計情報記憶部１１１において、すべての迂回順番は迂回未実施を示す特別な値である０番目となる。また、平均値も０となり、迂回発生時に優先される仮想ネットワーク４００は存在せず、次回の迂回順序は乱数によりランダムに決定される。
【００６６】
なお、図１１〜図１９では、一例として、統計情報記憶部１１１は５回分の迂回処理の順番を記憶するものとする。ただし、統計情報記憶部１１１は、過去５回分より多くの迂回処理の順番、または、より少ない回数の迂回処理の順番を記憶してもよい。
【００６７】
図１２は、フロー処理装置２００ａとフロー処理装置２００ｂの間にリンク障害が発生した場合を示す。この場合の迂回処理は、ＢＣＭＣ配信ツリー５００Ａ〜５００Ｃ、５００Ｅで実施される。このとき、平均化部１１２は、処理順番を乱数により決定する。ここでは、平均化部１１２は、処理順番を仮想ネットワーク４００Ｅ、４００Ｂ、４００Ａ、４００Ｃの順番に決定したとする。平均化部１１２は、決定された処理順番に応じて、処理順番の平均値（ここでは、処理順番と同一である）も算出する。また、平均化部１１２は、次回迂回時の優先順位を、処理順番の逆順とする。なお、仮想ネットワーク４００Ｄに関しては、迂回処理が不要であったため、迂回処理の順番は０番目のままである。仮想ネットワーク４００Ｄについては、平均化部１１２は、次回の迂回時の優先順位を最高優先から最低優先の範囲で乱数によりランダムに決定する。
【００６８】
次に、図１３に示すように、フロー処理装置２００ｂとフロー処理装置２００ｃの間のリンク障害が発生したとする。このときの迂回処理において、平均化部１１２は、まず、初めての迂回処理である仮想ネットワーク４００Ｄに関して、乱数により例えば２番目に処理するものと決定する。また、平均化部１１２は、仮想ネットワーク４００Ｄ以外の仮想ネットワークに関して、統計情報記憶部１１１に格納されていた次回順位に従って空いている１、３、４、５番目に処理順番を決定する。ここでは、平均化部１１２は、仮想ネットワーク４００Ｃ、４００Ｄ、４００Ａ、４００Ｂ、４００Ｅの順番に決定する。また、平均値は、迂回処理が実施されたときの処理順番についてのみ求められるため、平均化部１１２は、仮想ネットワーク４００Ｄに関して、２回目の処理の迂回順番２をそのまま平均順番とする。すなわち、仮想ネットワーク４００Ｄについては、平均化部１１２は、他の仮想ネットワーク４００Ａ，４００Ｂ、４００Ｃ、４００Ｅのように２で除算しない点に留意する。次回の迂回発生時の処理順位は、平均値が３で最も高い仮想ネットワーク４００Ａ、４００Ｂ、４００Ｅが最優先で処理されることになる。なお、迂回処理は同時に実行できないため、平均化部１１２は、仮想ネットワーク４００Ａ、４００Ｂ、４００Ｅの間の次回の処理順位を、乱数を用いてランダムに決定する。
【００６９】
次に、図１４で仮想ネットワーク４００Ｂの使用が停止されたとする。このとき、ＢＣＭＣ配信ツリー５００Ｂが削除されているが、統計情報記憶部１１１に格納される情報は変化しない。
【００７０】
次に、図１５に示すように、フロー処理装置２００ａとフロー処理装置２００ｂの間のリンク障害が発生したとする。平均化部１１２は、このときの迂回処理において、前回の平均値が最高であった３個の仮想ネットワークの順番を、乱数により仮想ネットワーク４００Ａ、４００Ｅの順で処理されるように決定したとする。その後、前回の平均値が相対的に低い値であった仮想ネットワーク４００Ｄの迂回処理が実施される。すると、図１５に示すように、迂回処理された仮想ネットワーク４００Ａ、４００Ｄ、４００Ｅの平均値が更新される。仮想ネットワーク４００Ｃに関しては、障害発生リンクを経由していないため、迂回処理は行わない。削除された仮想ネットワーク４００Ｂに関しても、迂回処理は実施されない。迂回処理が実施されなかった仮想ネットワーク４００に関する平均値は、更新されない。
【００７１】
次に、図１６のように、仮想ネットワーク４００Ｆが追加されたとする。このときのＢＣＭＣ配信ツリー５００Ｆの経路が選択される。ただし、統計情報記憶部１１１に格納される情報は変化しない。また、図１６には図示しないが、仮想ネットワーク４００Ｆ以降に追加される仮想ネットワーク４００の処理迂回順番や平均値はすべて０であり、次回順位も０番目であり、乱数で決定されることになる。
【００７２】
次に、図１７に示すように、フロー処理装置２００ａとフロー処理装置２００ｃの間のリンク障害が発生したとする。このときの迂回順番として、平均化部１１２は、まず、新規に追加された仮想ネットワーク４００Ｆの処理順番を乱数で５番目に決定したとする。すると、削除されていない仮想ネットワーク４００で最も平均値の大きい仮想ネットワーク４００Ｅが最初に処理され、次に大きい平均値を有する仮想ネットワーク４００Ｃと４００Ｄの処理順番が乱数で４００Ｄを先に処理することとなり、その後に平均値が最も小さい仮想ネットワーク４００Ａが処理されることになる。結果として、仮想ネットワーク４００Ｅ、４００Ｄ、４００Ｃ、４００Ａ、４００Ｆの順で迂回処理が実施される。また、統計情報記憶部１１１において、処理順番と、平均値と、平均値の大きい順番に従った次回の迂回時の処理順番が更新される。
【００７３】
次に、図１８に示すように、仮想ネットワーク４００Ｂの設定が復活したとする。このとき、ＢＣＭＣ配信ツリー５００Ｂが設定されるが、統計情報記憶部１１１に格納される情報は変更されない。
【００７４】
次に、図１９に示すように、フロー処理装置２００ａとフロー処理装置２００ｂの間のリンク障害が発生したとする。このときの迂回順番は、平均値が大きい順に処理され、仮想ネットワーク４００Ｆ、４００Ｂ、４００Ａ、４００Ｃ、４００Ｄ、４００Ｅの順番に処理される。このときの各仮想ネットワーク４００Ａの平均順位は、仮想ネットワーク４００Ａが２．８となり、仮想ネットワーク４００Ｂが２．６７となり、仮想ネットワーク４００Ｃ、４００Ｄ、４００Ｅ、４００Ｆが３となる。
【００７５】
［効果］
次に、本実施形態によってもたらさる効果について、関連技術と対比して説明する。仮想ネットワーク４００Ａ〜４００Ｆのユーザ識別子をそれぞれ１〜６とし、関連技術のようにユーザ識別子の若番順で処理した場合、平均処理順位は仮想ネットワーク４００Ａ〜４００Ｆについて、それぞれ、１、２、２．７５、３．２５、４．２、５．５となる。一方、本実施形態では、仮想ネットワーク処理順番を平均化することにより、各仮想ネットワーク４００の平均順位は、図１９に示すようになる。すなわち、仮想ネットワーク４００Ａについて２．８となり、仮想ネットワーク４００Ｂについて２．６７となり、仮想ネットワーク４００Ｃ〜４００Ｆについて３となる。フレームロス時間は迂回処理順番に比例するため、本実施形態によると、ユーザ間のフレームロス時間の最大差分が関連技術における５５０％から１１２％に抑制される。すなわち、本実施形態によると、ユーザ間の公平性が向上する。
【００７６】
＜変形例＞
上記実施形態に係るフローネットワーク（通信システム）に対して、様々な変形が可能である。
【００７７】
例えば、上記実施形態に係る発明は、迂回処理時のみならず、障害復旧処理時やファームウェアバージョンアップ時などのフロー処理装置２００迂回設定、設定解除時の処理順番にも適用することができる。
【００７８】
また、処理順序を決定する方法は、上記実施形態のように、平均値の大小を用いる方法に限定されない。例えば、迂回処理の内容に応じて重みをつけることも可能である。具体的には、リンク障害の場合、迂回処理順番に０．２を積算した後に加算し、フロー処理装置２００の障害の場合、処理順番に１を積算した後に加算してもよい。このようにして、ネットワークへの波及が大きい障害に対する重みを大きくすることができる。
【００７９】
さらに、迂回の処理後にフロー処理部２０４に蓄積される配信ツリー用のフローエントリのフレーム転送数の統計情報からフレームロス数を概算し、フレームロス数の合計が多いユーザの仮想ネットワークの処理順番を先に処理するようにしてもよい。
【００８０】
また、統計情報記憶部１１１は、平均値を算出するための情報として、図１１〜図１９のように迂回順番のすべてを保持する代わりに、仮想ネットワーク４００ごとの迂回回数と平均値のみを保持してもよい。さらに、平均化部１１２は、平均値の算出において、所定の期間（例えば、直近の所定の期間等）内の迂回順番を用いるようにしてもよい。
【００８１】
また、平均化部１１２に対して、つねに迂回処理を優先して行うユーザの登録を可能とし、特定のユーザに対するフレームロス時間を短くするようにしてもよい。
【００８２】
さらに、本発明は、仮想ネットワークユーザと配信ツリーが１対１でない場合にも適用可能である。例えば、リンクの重みづけ設定および迂回設定の集合であるポリシー設定面が複数ある場合、ポリシー設定面に対して配信ツリーが存在している。また、複数のユーザの仮想ネットワークがポリシー設定面にマッピングされ、配信ツリーが共通に使用される場合でも、ポリシー設定面ごとの配信ツリーの公平性向上のために本発明を適用することができる。
【００８３】
さらに、本発明はブロードキャスト／マルチキャスト（Broadcast/Multicast）配信のみならず、ユニキャスト（Unicast）配信にも適用可能である。
【００８４】
また、本発明は迂回処理のみならず、ユーザごとの仮想ネットワークのサービス順番にも適用可能である。例えば、ＭＡＣ移動のようなパケットインに応じてリアクティブに行う特殊なサービスにおいて、キューに滞留しているパケットイン処理のユーザごとの仮想刈り取りを実施する場合にも、本発明を適用することができる。
【００８５】
なお、本発明において、下記の形態が可能である。
［形態１］
上記第１の態様に係るフロー制御装置のとおりである。
［形態２］
前記決定部は、前記複数の仮想ネットワークのそれぞれに対して、迂回処理の処理順序の平均値を算出し、算出された平均値が相対的に大きい仮想ネットワークに対する次回の迂回処理が優先されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する、
形態１に記載のフロー制御装置。
［形態３］
前記決定部は、前記算出された平均値が互いに等しい複数の仮想ネットワークに対する次回の迂回処理における処理順序を、乱数を用いて決定する、
形態２に記載のフロー制御装置。
［形態４］
前記決定部は、前記複数の仮想ネットワークのそれぞれに対して、迂回処理の原因となった障害の種類に応じた重みを付けて処理順序の加重平均値を算出する、
形態２または３に記載のフロー制御装置。
［形態５］
前記決定部は、迂回処理が発生していない仮想ネットワークに対する次回の迂回処理における処理順序を、乱数を用いて決定する、
形態１ないし４のいずれか一に記載のフロー制御装置。
［形態６］
前記迂回処理は、前記複数のフロー処理装置の少なくともいずれかにおける障害、および／または、前記複数のフロー処理装置の間を接続するリンクにおける障害に起因する迂回処理である、
形態１ないし５のいずれか一に記載のフロー制御装置。
［形態７］
上記第２の態様に係る通信システムのとおりである。
［形態８］
上記第３の態様に係るフロー制御方法のとおりである。
［形態９］
前記コンピュータが、前記複数の仮想ネットワークのそれぞれに対して、迂回処理の処理順序の平均値を算出するステップと、
算出された平均値が相対的に大きい仮想ネットワークに対する次回の迂回処理が優先されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定するステップと、を含む、
形態８に記載のフロー制御方法。
［形態１０］
前記コンピュータが、前記算出された平均値が互いに等しい複数の仮想ネットワークに対する次回の迂回処理における処理順序を、乱数を用いて決定するステップを含む、
形態９に記載のフロー制御方法。
［形態１１］
前記コンピュータが、前記複数の仮想ネットワークのそれぞれに対して、迂回処理の原因となった障害の種類に応じた重みを付けて処理順序の加重平均値を算出するステップを含む、
形態９または１０に記載のフロー制御方法。
［形態１２］
前記コンピュータが、迂回処理が発生していない仮想ネットワークに対する次回の迂回処理における処理順序を、乱数を用いて決定するステップを含む、
形態８ないし１１のいずれか一に記載のフロー制御方法。
［形態１３］
前記迂回処理は、前記複数のフロー処理装置の少なくともいずれかにおける障害、および／または、前記複数のフロー処理装置の間を接続するリンクにおける障害に起因する迂回処理である、
形態８ないし１２のいずれか一に記載のフロー制御方法。
［形態１４］
上記第４の態様に係るプログラムのとおりである。
［形態１５］
前記複数の仮想ネットワークのそれぞれに対して、迂回処理の処理順序の平均値を算出する処理と、
算出された平均値が相対的に大きい仮想ネットワークに対する次回の迂回処理が優先されるように、前記複数の仮想ネットワークに対する次回の迂回処理における処理順序を決定する処理と、を前記コンピュータに実行させる、
形態１４に記載のプログラム。
［形態１６］
前記算出された平均値が互いに等しい複数の仮想ネットワークに対する次回の迂回処理における処理順序を、乱数を用いて決定する処理を前記コンピュータに実行させる、
形態１５に記載のプログラム。
［形態１７］
前記複数の仮想ネットワークのそれぞれに対して、迂回処理の原因となった障害の種類に応じた重みを付けて処理順序の加重平均値を算出する処理を前記コンピュータに実行させる、
形態１５または１６に記載のプログラム。
［形態１８］
迂回処理が発生していない仮想ネットワークに対する次回の迂回処理における処理順序を、乱数を用いて決定する処理を前記コンピュータに実行させる、
形態１４ないし１７のいずれか一に記載のプログラム。
［形態１９］
前記迂回処理は、前記複数のフロー処理装置の少なくともいずれかにおける障害、および／または、前記複数のフロー処理装置の間を接続するリンクにおける障害に起因する迂回処理である、
形態１４ないし１８のいずれか一に記載のプログラム。
【００８６】
なお、上記特許文献１の全開示内容は、本書に引用をもって繰り込み記載されているものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００８７】
１０    記憶部
２０    決定部
１００    フロー制御装置
１０１    フロー処理装置通信部
１０２    フローネットワーク管理部
１０３    仮想ネットワーク管理部
１０４    フロー処理装置記憶部
１０５    フロー処理装置トポロジ情報記憶部
１０６    ＢＣＭＣツリー記憶部
１０７    フローエントリ記憶部
１０８    フロー記憶部
１０９    仮想ネットワークトポロジ情報記憶部
１１０    仮想ノード情報記憶部
１１１    統計情報記憶部
１１２    平均化部
２００、２００ａ〜２００ｃ    フロー処理装置
２０１    フローエントリ検索部
２０２    フローエントリ記憶部
２０３    フローエントリ処理部
２０４    フロー処理部
２０５    フロー制御装置通信部
３００    ノード
３００ａＡ〜３００ａＣ、３００ａＥ、３００ａＦ    ノード
３００ｂＡ、３００ｂＢ、３００ｂＤ〜３００ｂＦ    ノード
３００ｃＡ〜３００ｃＦ  ノード
４００、４００Ａ〜４００Ｆ    仮想ネットワーク
４０１、４０１Ａ〜４０１Ｆ    仮想Ｌ２ＳＷ
４０２    外部ＮＷ端点
４０２ａＡ〜４０２ａＣ、４０２ａＥ、４０２ａＦ    外部ＮＷ端点
４０２ｂＡ、４０２ｂＢ、４０２ｂＤ〜４０２ｂＦ    外部ＮＷ端点
４０２ｃＡ〜４０２ｃＦ  外部ＮＷ端点
５００、５００Ａ〜５００Ｆ    ＢＣＭＣ配信ツリー
【図１】
2017028339.tif 000003
【図２】
2017028339.tif 000004
【図３】
2017028339.tif 000005
【図４】
2017028339.tif 000006
【図５】
2017028339.tif 000007
【図６】
2017028339.tif 000008
【図７】
2017028339.tif 000009
【図８】
2017028339.tif 000010
【図９】
2017028339.tif 000011
【図１０】
2017028339.tif 000012
【図１１】
2017028339.tif 000013
【図１２】
2017028339.tif 000014
【図１３】
2017028339.tif 000015
【図１４】
2017028339.tif 000016
【図１５】
2017028339.tif 000017
【図１６】
2017028339.tif 000018
【図１７】
2017028339.tif 000019
【図１８】
2017028339.tif 000020
【図１９】
2017028339.tif 000021