(57)【要約】      （修正有）【課題】回線の切り替えに伴うパケットロスを防止する装置及び方法を提供する。【解決手段】制御装置１０は、複数の回線に接続された転送装置を制御する。制御装置は通信部１３、制御部２０、記憶部３０を備える。制御部の検出部２１は、転送装置がパケットの転送に使用する回線の変更を検出する。通信部は、転送装置に対し変更する回線で転送するパケットを制御装置に転送することを要求する命令を送信する。記憶部は、転送装置から受信した変更する回線で転送するパケットを記憶する。通信部は、回線の切り替え後に、記憶部に蓄積した変更する回線で転送するパケットを転送装置に転送する。【選択図】図４
2017050647.tif 000002
【特許請求の範囲】
【請求項１】
複数の回線に接続された転送装置を制御する制御装置であって、
前記転送装置がパケットの転送に使用する回線の変更を検出する検出部と、
前記転送装置に対し、変更する回線で転送するパケットを前記制御装置に転送することを要求する命令を送信する通信部と、
前記転送装置から受信した前記変更する回線で転送するパケットを記憶する記憶部と
を備え、
前記通信部は、回線の切り替え後に、前記記憶部に蓄積した前記変更する回線で転送するパケットを、前記転送装置に転送する
ことを特徴とする制御装置。
【請求項２】
回線の切り替え後の通信に使用される回線である切り替え先回線を、前記制御装置から受信したパケットの出力先として、前記転送装置に通知するパケットを生成する通知生成部
を備え、
前記通信部は、前記切り替え先回線の情報を含むパケットの送信後に、前記変更する回線で転送するパケットを前記転送装置に転送する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記検出部は、
前記転送装置を介して通信先と通信する第１の通信装置から送信されたパケットの転送に使用している第１の回線を、前記第１の通信装置の通信よりも優先度の高い第２の通信装置での通信に使用することが通知されると、前記第１の通信装置の通信に使用する回線を前記第１の回線から変更することを決定し、
前記第１の通信装置の通信に使用する第２の回線を特定し、
前記第２の回線を用いたときに得られる前記第１の通信装置の通信速度と、前記第１の回線を用いたときの前記第１の通信装置の通信速度を比較することにより、前記第１の通信装置の通信速度が回線の変更により小さくなるかを判定し、
前記通信部は、前記第１の通信装置の通信速度が回線の変更により小さくなる場合、前記第１の通信装置から送信されたパケットを、回線の変更後の前記第１の通信装置の通信速度以下の速度で前記転送装置に転送する
ことを特徴とする請求項１または２に記載の制御装置。
【請求項４】
複数の回線に接続された転送装置と、
前記転送装置を制御する制御装置
を備え、
前記制御装置は、
前記転送装置がパケットの転送に使用する回線の変更を検出し、
前記転送装置に対し、変更する回線で転送するパケットを、前記制御装置に転送することを要求する命令を送信し、
前記転送装置から受信した前記変更する回線で転送するパケットを記憶し、
回線の切り替え後に、前記変更する回線で転送するパケットを、前記転送装置に転送する
ことを特徴とする制御システム。
【請求項５】
複数の回線に接続された転送装置を制御する制御装置が、
前記転送装置がパケットの転送に使用する回線の変更を検出し、
前記転送装置に対し、変更する回線で転送するパケットを前記制御装置に転送することを要求する命令を送信し、
前記転送装置から受信した前記変更する回線で転送するパケットを記憶し、
回線の切り替え後に、前記変更する回線で転送するパケットを、前記転送装置に転送する
処理を行うことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットを用いた通信の制御装置と制御システムに関する。
【背景技術】
【０００２】
通信回線を複数保有する保有者は、障害の発生等に備えて、一部の回線をプロテクション回線として使用することがある。保有者は障害等が発生していない場合は、保有している回線のうちで、プロテクション回線以外の回線を用いて通信を行う。この場合、プロテクション回線は、保有者以外のユーザの通信に使用されることがある。
【０００３】
図１は、通信処理の例を説明する図である。ネットワークＮ１は、障害が発生する前の通信処理の例を示す。ネットワークＮ１では、スイッチ５ａとスイッチ５ｂは回線Ｌ１〜Ｌ３で接続されており、回線Ｌ１〜Ｌ３のいずれにも障害が発生していない。なお、回線Ｌ１〜Ｌ３のいずれも、スイッチ５ａとスイッチ５ｂ以外のスイッチやルータなどの通信装置を経由してもよいが、図１では、図を簡単にするために省略している。スイッチ５ａとスイッチ５ｂは、監視装置３に接続されている。
【０００４】
ネットワークＮ１に示す状態では、ユーザＡは、回線Ｌ１と回線Ｌ２を保有しており、ユーザＮが回線Ｌ３を保有しているとする。回線Ｌ１はユーザＡの通信を収容しており、回線Ｌ２はユーザＡの通信のプロテクション回線となっている。またユーザＡは回線を保有していることから、ユーザＡの通信の種類（ＳＬＡ、Service Level Agreement）は、ギャランティ型に設定されているとする。ギャランティ型の通信サービスでは、通信速度や通信品質が予め設定された設定値以上になるように制御が行われる。回線Ｌ２は、回線Ｌ１での障害が発生するまではユーザＡの通信に使用されないので、ベストエフォート（ＢＥ）型サービスを利用しているユーザＢの通信を収容している。また、回線Ｌ３は、ユーザＮの通信に使用されておらず、ベストエフォート型の通信を行っているユーザＣ、ユーザＤ、および、ユーザＥの通信を収容しているとする。さらに、回線Ｌ３は、ユーザＣ〜Ｅの通信を収容しても、さらに他の通信に使用可能であるとする。ネットワークＮ１において回線Ｌ３中に示すＸは、回線Ｌ３のうち、回線Ｌ３に収容されている通信以外の通信に使用可能な容量の例である。
【０００５】
ネットワークＮ２は、回線Ｌ１に障害が発生したときの通信処理の例を示す。ネットワークＮ２では、回線Ｌ１での障害の発生に伴って、ユーザＡの通信が回線Ｌ２を介して中継されるようになる。また、回線Ｌ２は、ユーザＡの通信に使用した場合に、ユーザＢの通信を収容するだけの容量を有さないとする。この場合、ユーザＢの通信に使用されるパケットの転送経路は、回線Ｌ２を用いた経路から回線Ｌ３中の空き容量Ｘを用いた経路に切り替えられる。ただし、ユーザＢの通信が回線Ｌ２に収容されていたときの通信速度よりも、回線Ｌ３の空き容量Ｘを用いて得られる通信速度が小さい場合、ユーザＢの通信に使用される回線が切り替わることにより、ユーザＢが使用可能な通信速度が低下する。
【０００６】
関連する技術として、ユーザ装置からのパケットのうちでルーティングできないパケットを、パケット交換スイッチに接続されたバッファで一時的に蓄積するシステムが考案されている（例えば、特許文献１など）。複数のインタフェースを有する中継装置が、経路状態の変更を検出すると、各インタフェースでのパケットの検出条件と検出したパケットに適用する転送制御の内容を対応付けた情報を更新する方法も提案されている（例えば、特許文献２など）。障害の発生の際と障害から回復した際に、その時点での伝送路の品質と優先度を用いて、予備系として使用する伝送路を動的に決定する方法も提案されている（例えば、特許文献３など）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−３７５６１号公報
【特許文献２】特開２０１４−１５８０８４号公報
【特許文献３】特開２００１−３３９２７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ユーザの通信を収容する回線の切り替えと、スイッチなどの装置からのパケットの出力とのタイミングによっては、パケットロスが発生することがある。しかし、背景技術で述べたいずれの技術を適用しても、回線の切り替えに伴うパケットロスを防止することは困難である。例えば、ルーティングできないパケットをバッファに蓄積するシステムでも、回線が変更された通信のパケットはルーティングが可能であるのでバッファリングされず、パケットロスを引き起こしてしまう。
【０００９】
本発明では、回線の切り替えに伴うパケットロスを防止する方法を提供する。
【課題を解決するための手段】
【００１０】
１つの態様にかかる制御装置は、複数の回線に接続された転送装置を制御する。制御装置は、検出部、通信部、記憶部を備える。検出部は、前記転送装置がパケットの転送に使用する回線の変更を検出する。通信部は、前記転送装置に対し、変更する回線で転送するパケットを前記制御装置に転送することを要求する命令を送信する。記憶部は、前記転送装置から受信した前記変更する回線で転送するパケットを記憶する。前記通信部は、回線の切り替え後に、前記記憶部に蓄積した前記変更する回線で転送するパケットを、前記転送装置に転送する。
【発明の効果】
【００１１】
回線の切り替えに伴うパケットロスを防止できる。
【図面の簡単な説明】
【００１２】
【図１】通信処理の例を説明する図である。
【図２】実施形態にかかる通信システムの例を説明する図である。
【図３】実施形態にかかる通信処理の例を説明するフローチャートである。
【図４】制御装置の構成の例を説明する図である。
【図５】制御装置のハードウェア構成の例を説明する図である。
【図６】切り替えが発生する前の通信状態の例を示す図である。
【図７】設定情報テーブルの例を説明する図である。
【図８】フロー情報テーブルの例を説明する図である。
【図９】回線情報テーブルの例を説明する図である。
【図１０】フローテーブルの例を説明する図である。
【図１１】切り替えが発生したときの通信状態の例を示す図である。
【図１２】回線情報テーブルの例を説明する図である。
【図１３】回線情報テーブルの例を説明する図である。
【図１４】フローテーブルの例を説明する図である。
【図１５】回線の切り替え処理の例を説明するフローチャートである。
【図１６】回線の切り替え後の通信の例を示す図である。
【図１７】回線が切り替えられた後のパケットの処理の例を説明するフローチャートである。
【図１８】通信処理の例を説明するシーケンス図である。
【発明を実施するための形態】
【００１３】
図２は、実施形態にかかる通信システムの例を説明する図である。実施形態にかかる通信システムでは、回線Ｌ１〜Ｌ３は、転送装置４０ａと転送装置４０ｂを接続している。さらに、転送装置４０ａと転送装置４０ｂのいずれも、監視装置３の他に制御装置１０とも通信可能である。各転送装置４０は、制御装置１０から通知された転送ルールに従って、パケットの転送処理を行う。また、転送装置４０は、転送ルールを用いたパケットの処理に失敗した場合や、処理対象のパケットに対する転送ルールを記憶していない場合は、処理対象のパケットの情報を制御装置１０に通知し、処理対象のパケットに適用可能な転送ルールを要求する。監視装置３は、回線Ｌ１〜Ｌ３に収容されている通信と回線Ｌ１〜Ｌ３の各々の状態を監視する。制御装置１０は、監視装置３とも通信している。
【００１４】
回線の切り替えが発生する場合、監視装置３は、回線の切り替えの発生を制御装置１０に通知する。すると、制御装置１０は、回線の切り替えの際に、パケットロスが発生する恐れがあるため、転送装置４０ａと転送装置４０ｂに対して、転送に使用する回線が変更されるパケットを、制御装置１０に送信することを要求する。転送装置４０ａと転送装置４０ｂは、制御装置１０からの要求に応じて、切り替え処理の対象となる回線で送信するパケットを、制御装置１０に転送する。
【００１５】
制御装置１０は、転送装置４０ａ、転送装置４０ｂから受信したパケットをバッファリングする。制御装置１０は、切り替え処理が終わると、転送装置４０ａや転送装置４０ｂに対して、制御装置１０から転送されたパケットの出力先を、切り替え後の回線に指定する転送ルールを送信する。その後、制御装置１０は、バッファリングしたパケットを、転送装置４０ａ、転送装置４０ｂに出力する。転送装置４０ａおよび転送装置４０ｂは、制御装置１０から取得したパケットを、転送ルールに従って、切り替え後の回線に出力する。
【００１６】
このように、実施形態にかかる方法では、回線の切り替えの際に、パケットが制御装置１０でバッファリングされるので、回線の切り替えに伴うパケットロスを防止できる。
【００１７】
また、実施形態にかかる方法では、回線の切り替えに伴って、ユーザの通信速度が低下した場合に発生し得るパケットロスも防止できる。例えば、ベストエフォート型サービスを利用しているユーザの通信を収容する回線が切り替えられることによって、そのユーザの通信速度が回線の切り替え前よりも遅くなることがある。回線の切り替えによって通信速度が落ちる場合でも、パケットの送信元は回線の切り替えに伴って通信速度が変更されることを認識しないため送信パケットは回線の切り替え前と同様に送信される。従って、ベストエフォート型サービスを利用しているユーザの通信に使用される回線の変更の際には、実施形態にかかる方法を使用しなければ、パケットロスが発生する可能性が高い。しかし、実施形態にかかる方法では、回線の切り替えによって通信速度が低下したユーザの通信に使用されるパケットも、制御装置１０でバッファリングが可能であるため、パケットロスを防止できる。
【００１８】
図３は、実施形態にかかる通信処理の例を説明するフローチャートである。図３にかかる方法では、図２で説明した方法に対して、回線の変更の際にユーザの通信速度の低下に伴うパケットロスの防止をさらに効率的に行うための処理が追加されている。
【００１９】
制御装置１０は、監視装置３との通信により、ユーザの通信に使用される回線が切り替えられることを検出する（ステップＳ１）。制御装置１０は、回線の切り替えの対象となる各ユーザについて、現在の通信速度と、切り替え後に得られる通信速度の予測値を比較した結果を用いて、切り替えにより通信速度が低下するユーザがいるかを判定する（ステップＳ２）。切り替えにより通信速度が低下するユーザがいない場合、制御装置１０は処理を終了する（ステップＳ２でＮｏ）。
【００２０】
一方、切り替えにより通信速度が低下するユーザがいる場合、制御装置１０は、通信速度が低下するユーザの通信に使用されるパケットを制御装置１０に転送することを、転送装置４０ａと転送装置４０ｂに要求する（ステップＳ２でＹｅｓ、ステップＳ３）。制御装置１０は、転送装置４０ａ、転送装置４０ｂから受信したパケットをバッファリングする（ステップＳ４）。その後、制御装置１０は、バッファリングしたパケットを、切り替え後の回線で転送可能な速度で転送装置４０に送信する（ステップＳ５）。なお、ステップＳ５において、制御装置１０は、バッファリングしていたパケットの転送先の転送装置４０に対し、転送ルールとして、切り替え後の回線を出力先として指定する情報を通知する。
【００２１】
このように、図３に示す方法では、制御装置１０は、回線の切り替えによって通信速度が低下するユーザの通信を特定すると、通信速度が低下するユーザの通信に使用されるパケットの転送先を制御装置１０に変更することを転送装置４０に要求する。さらに、制御装置１０は、転送装置４０から転送されたパケットをバッファリングすることにより、回線の切り替え後の通信速度に合わせて、バッファリングしたパケットの転送速度を調整する。このため、制御装置１０は、通信速度の低下に起因して転送装置４０でのパケットロスが発生することを防止できる。
【００２２】
＜装置構成＞
図４は、制御装置１０の構成の例を説明する図である。制御装置１０は、通信部１３、制御部２０、記憶部３０を備える。通信部１３は、送信部１１と受信部１２を有する。制御部２０は、検出部２１、通知生成部２２、送出調整部２３を有する。記憶部３０は、回線情報テーブル３１、設定情報テーブル３３、フロー情報テーブル３４を記憶しており、バッファ３２としても動作する。
【００２３】
送信部１１は、他の装置にパケットを送信する。受信部１２は、他の装置からパケットを受信する。検出部２１は、監視装置３との通信により、回線の切り替えを検出する。検出部２１は、適宜、回線情報テーブル３１や設定情報テーブル３３の情報を用いて、回線の切り替えにより通信速度が低下する通信を検出する。通知生成部２２は、通信速度が低下するユーザのパケットを制御装置１０に転送することを、転送装置４０に要求するための制御パケットを生成する。制御パケットは、送信部１１を介して転送装置４０に送信される。制御パケットを受信した転送装置４０から転送されたパケットは、バッファ３２にバッファリングされる。送出調整部２３は、バッファ３２にバッファリングされているパケットを、切り替え後の回線で転送可能な速度で転送装置４０に送信する。設定情報テーブル３３は、通信に使用される各回線について、所有者やその回線で得られる通信速度の上限などの情報を記録する。フロー情報テーブル３４は、制御装置１０の制御対象となっている転送装置４０において送受信されるフローの情報を格納する。回線情報テーブル３１、設定情報テーブル３３、フロー情報テーブル３４の具体例は後述する。
【００２４】
制御装置１０は、例えば、コンピュータによって実現されうる。制御装置１０は、例えば、ＳＤＮ（Software-Defined Network）のコントローラとして動作する。一方、転送装置４０は、ＳＤＮでのスイッチとして動作する。
【００２５】
図５は、制御装置１０のハードウェア構成の例を説明する図である。制御装置１０は、プロセッサ１０１、メモリ１０２、バス１０３、ネットワークインタフェース１０４、外部記憶装置１０５を備える。プロセッサ１０１は、ＣＰＵ（Central Processing Unit）を含む任意の処理回路である。プロセッサ１０１は、メモリ１０２をワーキングメモリとして使用して、プログラムを実行することにより、様々な処理を実行する。メモリ１０２には、ＲＡＭ（Random Access Memory）が含まれ、さらに、ＲＯＭ（Read Only Memory）等の不揮発性のメモリも含まれる。メモリ１０２や外部記憶装置１０５は、プログラムやプロセッサ１０１での処理に使用されるデータの格納に使用される。バス１０３は、プロセッサ１０１、メモリ１０２、ネットワークインタフェース１０４、外部記憶装置１０５を、互いにデータの入出力が可能になるように接続する。制御装置１０において、プロセッサ１０１は制御部２０として動作し、メモリ１０２と外部記憶装置１０５は記憶部３０として動作する。さらに、ネットワークインタフェース１０４は、通信部１３を実現する。
【００２６】
＜実施形態＞
以下、実施形態にかかるシステムで行なわれる通信処理を、回線の切り替えが発生する前の通信状態、回線の切り替えの際に行われる処理、回線の切り替え後の通信に分けて説明する。
【００２７】
（１）切り替えの発生前の通信状態
図６は、切り替えが発生する前の通信状態の例を示す図である。図６の状態では、転送装置４０ａと転送装置４０ｂは、回線Ｌ１〜Ｌ３で接続されている。さらに、転送装置４０ａと転送装置４０ｂのいずれも、監視装置３および制御装置１０と接続されている。図６の例でも、ユーザＡが回線Ｌ１と回線Ｌ２を保有しており、ユーザＮが回線Ｌ３を保有しているとする。また、回線Ｌ２は、ユーザＡにとってのプロテクション回線として確保されているものとする。
【００２８】
実施形態にかかるシステムでは、各ユーザは契約の際にユーザが行う通信の品質（ＳＬＡ）を、ギャランティ型、ベストエフォート型、ミドル（Ｍｉｄｄｌｅ）型から選択するものとする。ギャランティ型の通信サービスでは、通信速度や通信品質が予め設定された設定値以上になるように制御される。ベストエフォート型では、ギャランティ型の契約を行っているユーザの通信品質を確保した上で使用可能な回線を用いた通信が行われるので、通信回線の空き状況によって、遅延やパケットロスが発生しうる。ミドル型は、ギャランティ型の契約を行っているユーザの通信品質を確保した上で使用可能な回線を用いて通信が行われるが、回線の割り当て変更が行われる場合などに、パケットロスが発生しないように制御が行われる。以下の説明では、ユーザＡはギャランティ型、ユーザＢはミドル型、ユーザＣ〜Ｅはベストエフォート型の通信契約をキャリアとの間で行っているとする。
【００２９】
監視装置３は、回線の契約状況、ユーザの契約状況を保持しており、適宜、各回線に収容する通信を決定する際に使用する。各回線に収容される通信の決定方法として、任意の既知の方法が用いられる。図６の例では、ユーザＡの通信が回線Ｌ１、ユーザＢの通信が回線Ｌ２、ユーザＣ〜Ｅの通信が回線Ｌ３に収容されている。また、回線Ｌ３には、ユーザＣ〜Ｅ以外のユーザの通信を収容するための空き容量が残っているものとする。
【００３０】
転送装置４０ａと転送装置４０ｂは、いずれも、制御装置１０から通知された転送ルールを使用して通信を行うため、転送ルールを記録したフローテーブルを保持している。例えば、転送装置４０ａは、フローテーブルＦＴ１を保持している。フローテーブルＦＴ１では、転送装置４０ａで処理されるパケットの送信元アドレスと通信に使用される回線の識別子が対応付けられている。なお、図６では、ユーザＡの端末にはＩＰａ、ユーザＢの端末にはＩＰｂ、ユーザＣの端末にはＩＰｃ、ユーザＤの端末にはＩＰｄ、ユーザＥの端末にはＩＰｅというアドレスが割り当てられているとする。このため、転送装置４０ａは、ユーザＡの端末から送信されたパケットを回線Ｌ１に出力し、ユーザＢの端末から送信されたパケットを回線Ｌ２に出力する。さらに、転送装置４０は、ユーザＣ〜Ｅのいずれかが使用している端末から送信されたパケットを回線Ｌ３に出力する。
【００３１】
以下、図６〜９を参照しながら、図６に示す通信が行われているときに制御装置１０が保持する情報の具体例を説明する。
【００３２】
図７は、設定情報テーブル３３の例を説明する図である。図６に示すネットワークでは、制御装置１０は、図７に示す設定情報テーブル３３を保持している。設定情報テーブル３３は、ネットワークで使用されている回線の各々について、回線ＩＤ、通信速度、回線の保有者の情報が記録されている。以下の説明では、回線Ｌ１と回線Ｌ２で得られる通信速度の上限はいずれも１００Ｍｂｐｓであり、回線Ｌ３で得られる通信速度の上限は８０Ｍｂｐｓであるとする。なお、図７に示す設定情報テーブル３３は一例であり、例えば、回線の保有者の情報は設定情報テーブル３３に含まれていなくても良い。
【００３３】
図８は、フロー情報テーブル３４の例を説明する図である。図８の例では、フロー情報テーブル３４は、転送装置４０の識別子に対応付けて、その転送装置４０が転送するパケットに設定されている送信元アドレスと宛先アドレスの組み合わせを記録している。このため、制御装置１０は、いずれの転送装置４０がいずれのフローのパケットを転送しているかを認識できる。
【００３４】
図６を参照しながら説明したように、ネットワーク中の各転送装置４０は、受信したパケットを、制御装置１０から通知されている転送ルールを記録したフローテーブルに従って処理する。このため、転送装置４０は、転送ルールを取得していないパケットの処理を制御装置１０に問合わせる。この問い合わせには、例えば、処理を問合わせるパケットの少なくとも一部を含むＰａｃｋｅｔ−Ｉｎメッセージが使用される。制御装置１０中の通知生成部２２は、転送装置４０から問い合わせを受けたパケットの処理内容を、転送ルールとして通知する。このとき、通知生成部２２は、転送ルールを通知したフローの宛先アドレスと送信元アドレスを、転送ルールの通知先の転送装置４０に対応付けることにより、フロー情報テーブル３４を生成する。
【００３５】
図８の例では、転送装置４０ａは、ユーザＢの端末に割り当てられたアドレス（ＩＰｂ）が送信元アドレスに指定され、ｘｘ．ｙｙ．ｚｚが宛先アドレスに指定されたパケットを転送している。また、転送装置４０ｂは、ｘｘ．ｗｗ．ｚというアドレスが割り当てられた端末からユーザＢの端末（ＩＰｂ）に宛てたパケットを転送している。同様に、転送装置４０ａは、ユーザＣの端末に割り当てられたアドレス（ＩＰｃ）が送信元アドレスで、ｇｈｉ．ｊｋｋが宛先アドレスに指定されたパケットを転送している。
【００３６】
図９は、回線情報テーブル３１の例を説明する図である。図９は、図６に示す通信が行われているときに制御装置１０が保持している回線情報テーブル３１の例である。回線情報テーブル３１は、ユーザごとに、利用者情報、品質レベル、通信速度、保有回線、収容先の情報を含む。利用者情報は、ユーザを特定するための情報である。図９に示す回線情報テーブル３１の例では、利用者情報としてユーザの識別情報を示し、ユーザが使用している端末に割り当てられたＩＰアドレスも括弧書きで記載している。図９では、ギャランティ型の品質レベルはＨｉｇｈ、ミドル型の品質レベルはＭｉｄｄｌｅ、ベストエフォート型（ＢＥ型）の品質レベルはＬｏｗで表わされている。ユーザＡはギャランティ型で契約しているので、ユーザＡの品質レベルはＨｉｇｈである。同様に、ユーザＢはミドル型で契約しているので、ユーザＢの品質レベルはＭｉｄｄｌｅであり、ユーザＣ〜Ｅはベストエフォート型で契約しているので、ユーザＣ〜Ｅの品質レベルはＬｏｗである。また、ユーザＡとユーザＢの通信速度はいずれも１００Ｍｂｐｓであり、ユーザＣ〜Ｅの通信速度はいずれも２０Ｍｂｐｓである。保有回線の欄には、各ユーザが保有している回線の識別子が記録される。ユーザＡは回線Ｌ１とＬ２を保有しているので、保有回線の欄にＬ１とＬ２が記録されている。ユーザＢ〜Ｅはいずれも回線を保有していないので、これらのユーザに対応付けられた保有回線の欄は無効値に設定される。
【００３７】
収容先は、各ユーザの通信を収容している回線の識別子である。複数の回線を保有しているユーザの情報は、通信が収容されている方の回線に対応付けて収容先の情報が記録される。例えば、ユーザＡは回線Ｌ１とＬ２を保有しており、ユーザＡの通信は回線Ｌ１に収容されている。このため、保有回線Ｌ１に対応付けて、ユーザＡの通信の収容先が回線Ｌ１であることが回線情報テーブル３１に記録されている。一方、ユーザＡは回線Ｌ２を保有しているが、図６の通信が行われている時点では、ユーザＡの通信は回線Ｌ２には収容されていない。このため、ユーザＡの情報を記録する欄のうち保有回線Ｌ２に対応付けられた収容先の欄には無効値が設定されている。
【００３８】
ユーザＢ〜Ｅのように、回線を保有していないユーザについても、収容先の情報が回線情報テーブル３１に記録されている。図９の例では、ユーザＢの通信は回線Ｌ２に収容されており、ユーザＣ〜Ｅの通信は回線Ｌ３に収容されている。
【００３９】
図１０は、フローテーブルの例を説明する図である。図１０のフローテーブルＦＴ１１は、図６に示す通信が行われているときに転送装置４０ａが保持するフローテーブルを詳細に示している。フローテーブルには、フローを識別するための情報として使用されるフローエントリと、そのフローに含まれるパケットに対する処理の内容が対応付けられている。フローエントリは、フローを識別することができる任意の情報であり、エントリの番号でも良く、また、各フローのアドレスやポートの情報の組み合わせであっても良い。
【００４０】
フローテーブルＦＴ１１では、フローエントリＡの情報として、送信元アドレスがＩＰａのパケットは回線Ｌ１を介して宛先に向けて送信することが記載されている。ここで、ＩＰａは、ユーザＡが使用している端末に割り当てられているＩＰアドレスである。このため、フローテーブルＦＴ１１に従って、転送装置４０ａは、ユーザＡの端末から送信されたパケットを、回線Ｌ１を介して宛先に向けて転送する。同様に、フローエントリＢの情報として、送信元アドレスがＩＰｂのパケットは回線Ｌ２を介して宛先に向けて送信することが記載されている。ＩＰｂは、ユーザＢの端末に割り当てられているＩＰアドレスである。このため、転送装置４０ａは、ユーザＢの端末から送信されたパケットを、回線Ｌ２を介して宛先に向けて転送する。さらに、フローテーブルＦＴ１１には、フローエントリＣ〜Ｅとして、送信元アドレスがＩＰｃ、ＩＰｄ、ＩＰｅのいずれかのパケットは、回線Ｌ３を介して宛先に送信することが記録されている。ここで、ＩＰｃはユーザＣの端末に割り当てられているＩＰアドレスであり、ＩＰｄはユーザＤの端末に割り当てられているＩＰアドレスである。さらに、ＩＰｅはユーザＥの端末に割り当てられているＩＰアドレスである。このため、転送装置４０ａは、ユーザＣ〜Ｅのいずれかの端末から送信されたパケットを、回線Ｌ３を介して宛先に向けて転送する。
【００４１】
フローテーブルＦＴ１２は、図６に示す通信が行われているときに転送装置４０ｂが保持するフローテーブルの例である。フローテーブルＦＴ１２には、フローエントリＺとして、宛先アドレスがＩＰｂのパケットを、回線Ｌ２を介して送信することが記載されている。ＩＰｂはユーザＢの端末に割り当てられているＩＰアドレスであるので、転送装置４０ｂは、ユーザＢの端末に宛てて送信されたパケットを、回線Ｌ２を介して転送する。
【００４２】
（２）切り替えが発生したときの通信
図１１は、切り替えが発生したときの通信状態の例を示す図である。図１１は、回線Ｌ１に障害が発生したことにより、回線Ｌ１が通信に使用されなくなった場合の例を示す。監視装置３は、定期的に転送装置４０ａと転送装置４０ｂの間での通信に使用される回線の状況等を監視している。監視装置３で行われる監視処理として、任意の既知の方法が使用され得る。監視装置３は、回線Ｌ１で障害が発生したことを特定すると、予め記憶している回線の設定やユーザによる回線の保有情報などを参照する。監視装置３は、回線Ｌ１がユーザＡの通信を収容していることと、回線Ｌ１の他に回線Ｌ２がユーザＡによって保有されていることを特定する。すると、監視装置３は、ユーザＡの契約がギャランティ型であることから、ユーザＡの通信を収容する回線を回線Ｌ１から回線Ｌ２に切り替えることを決定する。監視装置３は、制御装置１０に対して、回線の切り替えの発生を通知する（矢印Ａ１）。
【００４３】
図１１のデータＤ１は、監視装置３が制御装置１０に通知する情報要素の例である。監視装置３は、障害の発生により使用されなくなる回線に通信が収容されていたユーザのうち、ギャランティ型の契約を行っていたユーザを、切り替え対象の利用者として、制御装置１０に通知する。さらに、監視装置３は、利用者の通信が切り替え前に収容されていた回線と、切り替え後に利用者の通信が収容される回線も、制御装置１０に通知する。
【００４４】
制御装置１０中の検出部２１は、受信部１２を介して、監視装置３からの受信パケットを取得する。検出部２１は、取得したパケットを用いて、ユーザＡの通信を収容する回線が回線Ｌ１から回線Ｌ２に変更されることを検出する。検出部２１は、データＤ１の情報、設定情報テーブル３３（図７）、回線情報テーブル３１（図９）を使用して、ユーザＡの通信の収容先の変更により回線が切り替えられるユーザがいるかを判定する。図９のケースでは、ユーザＡの通信速度は１００Ｍｂｐｓであって、ユーザＡの通信の新たな収容先となる回線Ｌ２の通信速度も１００Ｍｂｐｓであることから、検出部２１は、回線Ｌ２に現在収容されている通信について回線の切り替えが行われると判定する。ここで、ユーザＡの回線の収容先となる回線Ｌ２には、ユーザＢの通信が収容されている。このため、検出部２１は、ユーザＢについての回線の切り替えが発生すると判定する。検出部２１は、ユーザＢの契約がミドル型であることから、回線の切り替えの際にユーザＢの通信に使用されるパケットについてのパケットロスを防止するための処理を行うことを決定する。
【００４５】
まず、検出部２１は、空き容量のある回線を検索する。すなわち、検出部２１は、現在の各回線が収容している通信の通信速度の合計値よりも、回線で得られる通信速度の最大値が大きい回線を検索する。設定情報テーブル３３より、検出部２１は、回線Ｌ３では８０Ｍｂｐｓまでの通信が可能であると判定する。一方、回線情報テーブル３１には、回線Ｌ３に収容されているユーザＣ〜Ｅの通信の通信速度はいずれも２０Ｍｂｐｓであることが記録されている。そこで、検出部２１は、回線Ｌ３では６０Ｍｂｐｓの通信が行われていると計算する。回線Ｌ３では８０Ｍｂｐｓまでの通信が可能であるが現在は６０Ｍｂｐｓの通信が行われているので、検出部２１は、回線Ｌ３には２０Ｍｂｐｓの空き容量があると判定する。空き容量のある回線が複数ある場合、検出部２１は、空き容量のある回線の各々についても同様に処理を行う。
【００４６】
次に、検出部２１は、切り替え先となり得る回線の空き容量と、切り替え対象となるユーザの通信速度を比較する。ここでは、回線Ｌ３の空き容量が２０Ｍｂｐｓであるのに対し、現在のユーザＢの通信速度は８０Ｍｂｐｓである。また、転送装置４０ａと転送装置４０ｂの間には、他に空き容量のある回線はない。従って、検出部２１は、ユーザＢの通信の収容先を変更するときに、通信速度が低下し、パケットロスが発生する可能性があると判定する。そこで、検出部２１は、ユーザＢの通信に使用されるパケットを転送装置４０から制御装置１０に転送させることを、通知生成部２２に要求する（矢印Ａ２）。
【００４７】
矢印Ａ３において、検出部２１は、ユーザＢの通信に使用されるパケットのバッファリングと、切り替え後の回線で転送可能な速度で、バッファリングしたパケットをパケットの転送元に転送することを、送出調整部２３に要求する。データＤ２は、検出部２１が送出調整部２３に通知する情報要素の例である。データＤ２は、バッファリングの対象となる対象利用者、対象利用者の品質レベル、対象ＩＰアドレス、データ量、送出閾値を含む。対象ＩＰアドレスは、対象利用者が使用する端末に割り当てられたＩＰアドレスである。データ量は、データＤ２を出力する時点でバッファ３２に格納されているパケットの量である。送出閾値は、対象利用者の通信に使用されるパケットとしてバッファ３２に格納されているパケットの量が、そのパケットを転送してきた転送装置４０に送出する量に達したかの判定に使用される。送出閾値はデータ量を表わす具体的な値でもよく、また、切り替え先に設定された回線の空き容量に対する割合であっても良い。図１１の例では、送出閾値は、空き容量に対する割合で表わされている。送出閾値が空き容量に対する割合で表わされる場合、送出調整部２３は、切り替えに使用する回線が設定されたときに、切り替え先の回線の空き容量に合わせて送出閾値を決定する。
【００４８】
図１２は、回線情報テーブル３１の例を説明する図である。図１２は、パケットロスを防止するユーザの通信に使用されるパケットを転送装置４０から制御装置１０に転送させることを検出部２１が決定したときの回線情報テーブル３１の例である。利用者Ｃ〜Ｅの情報は、図１２に示す回線情報テーブル３１でも、図９を参照しながら説明した回線の切り替えの発生前と同様である。ユーザＡの通信は、ユーザＡの保有回線のうちの回線Ｌ１に障害が発生したことから、回線Ｌ２に収容される。回線Ｌ１と回線Ｌ２では、いずれも通信速度が同じであるので、ユーザＡについての通信速度は変更されない。このため、ユーザＡの情報は、収容先の回線が回線Ｌ２に変更されたことを除いて図９の時点の情報と同様である。
【００４９】
一方、ユーザＢの通信は回線Ｌ２に収容されなくなったが、検出部２１は、通信速度を変化させずに収容可能な収容先を発見していないので、制御装置１０がバッファリング等を行って通信速度の制御を行う。このため、図１２に示す回線情報テーブル３１では、ユーザＢの通信の収容先は制御装置１０に設定される。
【００５０】
その後、検出部２１は、空き容量のある回線の中から、制御装置１０がバッファリングを行いながら転送する通信を収容する回線を決定する。検出部２１は、決定した回線の情報を、切り替え対象となっている通信を収容する回線として回線情報テーブル３１に記録する。
【００５１】
図１３は、回線情報テーブル３１の例を説明する図である。図１３に示す回線情報テーブル３１では、ユーザＢの通信は、回線Ｌ３に収容することが記録されている。なお、図１１を参照しながら説明しているように、空き容量のある回線が１本だけの場合、検出部２１は、図１２に示す回線情報テーブル３１への更新を行わずに、図９の回線情報テーブル３１を図１３に示すように更新しても良い。
【００５２】
図１１の矢印Ａ２に示すように、ユーザＢの通信に使用されるパケットを制御装置１０に転送させることが通知されると、通知生成部２２は、ユーザＢの端末に割り当てられたＩＰアドレス（ＩＰｂ）をキーとしてフロー情報テーブル３４（図８）を検索する。通知生成部２２は、ＩＰｂが送信元アドレスに設定されているパケットの転送処理が転送装置４０ａで行われていることと、ＩＰｂが宛先アドレスに設定されているパケットの転送処理が転送装置４０ｂで行われていることを特定する。通知生成部２２は、転送装置４０ａ宛に、ＩＰｂが送信元アドレスに設定されているパケットを制御装置１０に転送することを要求する要求メッセージを生成する。要求メッセージは送信部１１から転送装置４０ａ送信される。このとき、制御装置１０が転送装置４０ａに送信する要求メッセージには、ユーザＡの端末に割り当てられているアドレス（ＩＰａ）から送信されたパケットを、回線Ｌ２を介して転送することを指定する情報も含まれているとする。要求メッセージとして、例えば、ＯｐｅｎｆｌｏｗのＦｌｏｗＭｏｄメッセージが用いられる。
【００５３】
図１４は、フローテーブルの例を説明する図である。転送装置４０ａは、要求メッセージを制御装置１０から受信すると、要求メッセージを処理することにより、フローテーブルＦＴ１１（図１０）をフローテーブルＦＴ２１に更新する。フローテーブルＦＴ２１では、フローエントリＡの情報として、送信元アドレスがユーザＡの使用している端末のＩＰアドレス（ＩＰａ）に設定されたパケットは回線Ｌ２を介して宛先に送信することが記載される。フローエントリＢの情報として、送信元アドレスがＩＰｂである受信パケットを制御装置１０に転送することがフローテーブルＦＴ２１に記録されている。さらに、制御装置１０から受信したメッセージ中に含まれ、かつ、ＩＰｂが送信元アドレスに設定されたパケットは、回線Ｌ３を介して送信することも、更新後のフローテーブルＦＴ２１に記載されている。なお、ＩＰｂは、ユーザＢの端末に割り当てられているＩＰアドレスである。このため、転送装置４０ａは、フローテーブルＦＴ２１への更新後は、ユーザＢの端末から送信されたパケットを、制御装置１０に転送する。さらに、転送装置４０ａは、制御装置１０から受信したＰａｃｋｅｔ−Ｏｕｔなどの制御メッセージに含まれているパケットであり、かつ、送信元がＩＰｂに設定されているパケットを、回線Ｌ３から送信する。同様に、フローテーブルＦＴ２１への更新後は、転送装置４０ａは、ユーザＡの端末から送信されたパケットを、回線Ｌ２を介して宛先に向けて転送する。
【００５４】
通知生成部２２は、送信部１１を介して、転送装置４０ｂへも要求メッセージを送信する。この場合、転送装置４０ｂに対しては、ＩＰｂが宛先アドレスに設定されているパケットを制御装置１０に転送することを要求する要求メッセージが送信される。転送装置４０ｂは、制御装置１０から受信した要求メッセージを処理することにより、ＩＰｂ宛のパケットを制御装置１０に転送することをフローテーブルに記録する。
【００５５】
図１４のフローテーブルＦＴ２２は、転送装置４０ｂによって、更新されたフローテーブルである。転送装置４０ｂでは、制御装置１０からの要求メッセージの処理により、フローテーブルＦＴ１２（図１０）をフローテーブルＦＴ２２に更新する。フローエントリＺの情報として、宛先アドレスがＩＰｂである受信パケットを制御装置１０に転送することがフローテーブルＦＴ２２に記録されている。さらに、制御装置１０から受信したメッセージ中に含まれているＩＰｂ宛のパケットは、回線Ｌ３を介して送信することも、更新後のフローテーブルＦＴ２２に記載されている。このため、転送装置４０ｂは、フローテーブルＦＴ２２への更新後は、ユーザＢの端末宛のパケットを、制御装置１０に転送する。さらに、転送装置４０ｂは、制御装置１０から受信したＰａｃｋｅｔ−Ｏｕｔなどの制御メッセージに含まれているＩＰｂ宛のパケットを、回線Ｌ３から送信する。
【００５６】
図１５は、回線の切り替え処理の例を説明するフローチャートである。図１５は、監視装置３から回線の切り替えの発生が通知されたときに制御装置１０が行う処理である。なお、図１５の処理は一例であり、例えば、ステップＳ３３とステップＳ３４の順序は任意に変更され得る。
【００５７】
検出部２１は、回線情報テーブル３１を用いて、ネットワーク中の回線情報を読み出す（ステップＳ３１）。検出部２１は、パケットロスを防止する契約のユーザ（対象ユーザ）の通信について、回線の切り替えにより、通信速度が低下するかを判定する（ステップＳ３２）。対象ユーザの通信に使用される回線が切り替えられない場合や、回線の切り替えにより対象ユーザの通信速度が低下しない場合、検出部２１は処理を終了する（ステップＳ３２でＮｏ）。対象ユーザの通信に使用される回線の切り替えにより通信速度が低下する場合、検出部２１は、通知生成部２２にその旨を通知する（ステップＳ３２でＹｅｓ）。通知生成部２２は、送信部１１を介して要求パケットを送信することにより、転送装置４０に対して、対象ユーザの通信に使用されるパケットを制御装置１０に転送することを要求する（ステップＳ３３）。その後、検出部２１は、回線情報テーブル３１を更新する（ステップＳ３４）。
【００５８】
（３）回線の切り替え後の通信
図１６は、切り替え先の回線が決定された後の通信の例を示す図である。なお、矢印Ａ４は、制御装置１０から転送装置４０ａへの要求メッセージの送信を示す。また、矢印Ａ５は、制御装置１０から転送装置４０ｂへの要求メッセージの送信を示す。矢印Ａ４、Ａ５の処理が終わった時点では、回線情報テーブル３１は図１３に示すとおりであり、各転送装置４０が保持するフローテーブルは図１４に示すとおりである。
【００５９】
転送装置４０ａは、ユーザＢの端末から送信されたパケットを受信すると、パケットの送信元アドレスがＩＰｂであることから、フローテーブルＦＴ２１に従って、受信パケットを制御装置１０に転送する（矢印Ａ６）。図１６の例では、転送装置４０から制御装置１０へのパケットの転送処理には、ＯｐｅｎｆｌｏｗのＰａｃｋｅｔ−Ｉｎメッセージが使用されるものとする。
【００６０】
制御装置１０の受信部１２は、Ｐａｃｋｅｔ−Ｉｎメッセージを、送出調整部２３に出力する。送出調整部２３は、転送装置４０から転送されてきたＰａｃｋｅｔ−Ｉｎメッセージ中に含まれている転送対象のパケットをバッファ３２に格納する。同様に、転送装置４０ｂから制御装置１０に、ＩＰｂ宛のパケットが転送された場合も、送出調整部２３は、転送装置４０ｂから受信したＰａｃｋｅｔ−Ｉｎメッセージ中のパケットをバッファ３２に格納する。
【００６１】
送出調整部２３は、定期的にバッファ３２に格納されたパケットの量と送出閾値を用いて、パケットを転送元の転送装置４０に転送するかを判定する。図１１のデータＤ２が送出調整部２３に通知されている場合、送出閾値は回線Ｌ３の空き容量で所定時間に転送される量のｙ％である。そこで、送出調整部２３は、バッファ３２に格納されたユーザＢの通信に使用されるパケットの量が送出閾値に達すると、バッファリングしたパケットのうちで送出閾値を超えた分を、そのパケットの転送元の転送装置４０に転送する。制御装置１０から転送装置４０へのパケットの転送処理には、Ｐａｃｋｅｔ−Ｏｕｔメッセージが使用されるものとする。Ｐａｃｋｅｔ−Ｏｕｔメッセージには、転送対象のパケットの他に、転送対象のパケットの転送処理に使用する転送ルールが含まれていても良い。Ｐａｃｋｅｔ−Ｏｕｔメッセージを制御装置１０が転送装置４０ａに送信する様子を、矢印Ａ７に示す。
【００６２】
矢印Ａ７でＰａｃｋｅｔ−Ｏｕｔメッセージを受信すると、転送装置４０ａは、Ｐａｃｋｅｔ−Ｏｕｔメッセージ中のパケットを、転送対象として抽出する。ここで、Ｐａｃｋｅｔ−Ｏｕｔメッセージから抽出されたパケットの送信元アドレスはＩＰｂである。そこで、転送装置４０ａは、フローテーブルＦＴ２１（図１４）に従って、Ｐａｃｋｅｔ−Ｏｕｔメッセージから抽出したパケットを、回線Ｌ３を介して送信する。制御装置１０から転送装置４０ｂに送信されたＰａｃｋｅｔ−Ｏｕｔメッセージも、転送装置４０ａでの処理と同様に処理される。このため、実施形態にかかるシステムでは、回線Ｌ３にユーザＢの通信が収容されるが、通信速度の低下に伴って、適宜、パケットが制御装置１０にバッファリングされる。このため、ユーザＢの通信を収容する回線が切り替えられても、パケットロスが発生しない。
【００６３】
図１７は、回線が切り替えられた後のパケットの処理の例を説明するフローチャートである。転送装置４０は、パケットを受信すると、フローテーブルを参照することにより、受信パケットの処理を特定する（ステップＳ４１）。転送装置４０は、受信したパケットが制御装置１０に転送するパケットであるかを判定する（ステップＳ４２）。受信したパケットが制御装置１０に転送するパケットである場合、転送装置４０は、パケットを制御装置１０に転送する（ステップＳ４２でＹｅｓ、ステップＳ４３）。制御装置１０は、転送装置４０から転送されたパケットをバッファ３２に蓄積する（ステップＳ４４）。送出調整部２３は、パケットの蓄積量が送出閾値を超えたかを判定する（ステップＳ４５）。パケットの蓄積量が送出閾値を超えた場合、転送装置４０は、送出閾値を超えた分のパケットを、そのパケットの転送元の転送装置４０に送信する（ステップＳ４５でＹｅｓ、ステップＳ４６）。一方、受信したパケットが制御装置１０に転送するパケットではない場合、転送装置４０は、パケットをフローテーブルに従って処理する（ステップＳ４２でＮｏ、ステップＳ４７）。
【００６４】
図１８は、通信処理の例を説明するシーケンス図である。図１８を参照しながら、回線の切り替えの検出から、切り替え後の回線によるパケットの送信までに行われる処理を経時的に説明する。
【００６５】
監視装置３は、経路の切り替えを検出すると、経路の切り替えの発生を通知するための切り替え検出通知を制御装置１０に送信する（ステップＳ５１、Ｓ５２）。検出部２１は、パケットロスを防止する契約を行っているユーザ（対象ユーザ）が通信に使用するパケットの制御装置１０への転送を転送装置４０に要求するかを判定する（ステップＳ５３）。ステップＳ５３では、対象ユーザの端末の通信速度が、回線の切り替えによって低下するかを判定している。対象ユーザの端末での通信速度が回線の切り替えによって低下する場合、通知生成部２２は、転送装置４０に転送先の変更を要求するＦｌｏｗＭｏｄメッセージを生成し、送信部１１を介して転送装置４０に送信する（ステップＳ５４）。ステップＳ５４において送信されるＦｌｏｗＭｏｄメッセージは、対象ユーザの通信に使用されるパケットの転送先を制御装置１０に変更することを、転送装置４０ａに要求するメッセージである。なお、図１８の例では、ステップＳ５４で送信されるＦｌｏｗＭｏｄメッセージ中に、対象ユーザの通信に使用されるパケットのうちで制御装置１０から受信した制御メッセージ中に含まれているパケットの出力先も合わせて通知されているとする。転送装置４０ａは、ＦｌｏｗＭｏｄメッセージを用いて、フローテーブルを更新する（ステップＳ５５）。一方、検出部２１では、回線情報テーブル３１を更新する（ステップＳ５６）。
【００６６】
その後、対象ユーザの端末から送信先に宛てたパケットが送信されたとする（ステップＳ５７）。転送装置４０ａは、更新後のフローテーブルに従って、受信パケットを制御装置１０に転送する（ステップＳ５８）。送出調整部２３は、転送装置４０ａから転送されたパケットをバッファ３２に出力する（ステップＳ５９）。バッファ３２は、入力されたパケットを格納する（ステップＳ６０）。
【００６７】
送出調整部２３は、送出閾値を用いて、送出調整処理を行うことにより、対象ユーザの端末から送信されたパケットの一部を、切り替え後の回線の通信速度よりも遅い速度で転送装置４０ａに送信する（ステップＳ６１、Ｓ６２）。転送装置４０ａは、フローテーブルに従って、制御装置１０から受信したパケットを、切り替え後の回線を用いて宛先に向けて送信する（ステップＳ６３）。
【００６８】
このように、パケットロスを防止するための契約を行っている対象ユーザの通信に使用する回線が切り替えられることにより、通信速度が低下する場合、制御装置１０は、転送装置４０での転送処理を変更する。制御装置１０は、対象ユーザの通信に使用されるパケットをバッファリングし、切り替え後の経路で得られる通信速度を下回る速度で、対象ユーザのパケットを、そのパケットの転送元となった転送装置４０を介して転送するのでパケットロスが防止される。
【００６９】
＜変形例＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【００７０】
例えば、回線の切り替え処理が行われた後で、障害から復旧したことにより、回線の切り替え前の状態に、再度、回線が切り替えられても良い。例えば、図６〜図１７を用いて説明したネットワークにおいて、ユーザＢの通信を収用する回線が回線Ｌ３に切り替えられた後で、回線Ｌ１が復旧したとする。
【００７１】
すると、監視装置３は、回線Ｌ１の復旧とユーザＡの通信の収容先を回線Ｌ２から回線Ｌ１に変更することを制御装置１０に通知する。制御装置１０の検出部２１は、回線情報テーブル３１と設定情報テーブル３３を用いて、ユーザＢの通信の収容先を回線Ｌ３から回線Ｌ２に変更できることを検出する。検出部２１は、ユーザＢの通信速度が回線Ｌ２を用いて得られる通信速度以下であるので、制御装置１０を介さずに、回線Ｌ２を介した通信を行うことができると判定する。すると、検出部２１は、通知生成部２２に対して、ユーザＢの通信に使用されるパケットの制御装置１０への転送の停止のための処理を行うことを要求する。
【００７２】
通知生成部２２は、フロー情報テーブル３４を用いることにより、転送装置４０ａと転送装置４０ｂの各々に宛てて、ユーザＢの通信に使用されるパケットを回線Ｌ２に出力することを要求するための要求メッセージを生成する。要求メッセージは送信部１１を介して送信される。転送装置４０ａと転送装置４０ｂは、各々で要求メッセージを処理することにより、フローテーブルを変更する。このため、フローテーブルは、図１０に示すように変更され、回線の切り替え前の処理が開始される。従って、図６に示すように、ユーザＡの通信は回線Ｌ１、ユーザＢの通信は回線Ｌ２、ユーザＣ〜Ｅの通信は回線Ｌ３に収容される。
【００７３】
なお、以上の説明に使用したテーブルや送受信されるデータに含まれる情報要素は実装に応じて変更され得る。また、送出閾値は、使用される回線ごとに設定され、設定方法は任意である。例えば、送出閾値は、回線の保有者によって決定されても良い。
【００７４】
また、回線の切り替え後のパケットの出力先を制御装置１０が転送装置４０に通知するタイミングも実装に応じて変更され得る。なお、回線の切り替え後のパケットの出力先は、制御装置１０から転送装置４０にＰａｃｋｅｔ−Ｏｕｔなどを用いて出力されたパケットの出力先としても使用される。例えば、Ｐａｃｋｅｔ−Ｏｕｔ中に、制御装置１０から転送装置４０に転送するパケットの処理が含められても良い。また、パケットの制御装置１０への転送の要求と、回線の切り替え後のパケットの出力先は、異なるＦｌｏｗＭｏｄメッセージを用いて転送装置４０に通知されても良い。さらに、図１１を参照しながら説明したように、切り替え先の回線が一意に決まる場合、制御装置１０は、制御装置１０へのパケットの転送を要求する要求メッセージ中に切り替え先の情報を含めて、転送装置４０に通知しても良い。
【００７５】
上述の実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数の回線に接続された転送装置を制御する制御装置であって、
前記転送装置がパケットの転送に使用する回線の変更を検出する検出部と、
前記転送装置に対し、変更する回線で転送するパケットを制御装置に転送することを要求する命令を送信する通信部と、
前記転送装置から受信した前記変更する回線で転送するパケットを記憶する記憶部と
を備え、
前記通信部は、回線の切り替え後に、前記記憶部に蓄積した前記変更する回線で転送するパケットを、前記転送装置に転送する
ことを特徴とする制御装置。
（付記２）
回線の切り替え後の通信に使用される回線である切り替え先回線を、前記制御装置から受信したパケットの出力先として、前記転送装置に通知するパケットを生成する通知生成部
を備え、
前記通信部は、前記切り替え先回線の情報を含むパケットの送信後に、前記変更する回線で転送するパケットを前記転送装置に転送する
ことを特徴とする付記１に記載の制御装置。
（付記３）
前記検出部は、
前記転送装置を介して通信先と通信する第１の通信装置から送信されたパケットの転送に使用している第１の回線を、前記第１の通信装置の通信よりも優先度の高い第２の通信装置での通信に使用することが通知されると、前記第１の通信装置の通信に使用する回線を前記第１の回線から変更することを決定し、
前記第１の通信装置の通信に使用する第２の回線を特定し、
前記第２の回線を用いたときに得られる前記第１の通信装置の通信速度と、前記第１の回線を用いたときの前記第１の通信装置の通信速度を比較することにより、前記第１の通信装置の通信速度が回線の変更により小さくなるかを判定し、
前記通信部は、前記第１の通信装置の通信速度が回線の変更により小さくなる場合、前記第１の通信装置から送信されたパケットを、回線の変更後の前記第１の通信装置の通信速度以下の速度で前記転送装置に転送する
ことを特徴とする付記１または２に記載の制御装置。
（付記４）
複数の回線に接続された転送装置と、
前記転送装置を制御する制御装置
を備え、
前記制御装置は、
前記転送装置がパケットの転送に使用する回線の変更を検出し、
前記転送装置に対し、変更する回線で転送するパケットを、前記制御装置に転送することを要求する命令を送信し、
前記転送装置から受信した前記変更する回線で転送するパケットを記憶し、
回線の切り替え後に、前記変更する回線で転送するパケットを、前記転送装置に転送する
ことを特徴とする制御システム。
（付記５）
前記制御装置は、
回線の切り替え後の通信に使用される回線である切り替え先回線を、前記制御装置から受信したパケットの出力先として、前記転送装置に通知するパケットを生成し、
前記切り替え先回線の情報を含むパケットの送信後に、前記変更する回線で転送するパケットを前記転送装置に転送する
ことを特徴とする付記４に記載の制御システム。
（付記６）
前記制御装置は、
前記転送装置を介して通信先と通信する第１の通信装置から送信されたパケットの転送に使用している第１の回線を、前記第１の通信装置の通信よりも優先度の高い第２の通信装置での通信に使用することが通知されると、前記第１の通信装置の通信に使用する回線を前記第１の回線から変更することを決定し、
前記第１の通信装置の通信に使用する第２の回線を特定し、
前記第２の回線を用いたときに得られる前記第１の通信装置の通信速度と、前記第１の回線を用いたときの前記第１の通信装置の通信速度を比較することにより、前記第１の通信装置の通信速度が回線の変更により小さくなるかを判定し、
前記第１の通信装置の通信速度が回線の変更により小さくなる場合、前記第１の通信装置から送信されたパケットを、回線の変更後の前記第１の通信装置の通信速度以下の速度で前記転送装置に転送する
ことを特徴とする付記４または５に記載の制御システム。
（付記７）
複数の回線に接続された転送装置を制御する制御装置が、
前記転送装置がパケットの転送に使用する回線の変更を検出し、
前記転送装置に対し、変更する回線で転送するパケットを前記制御装置に転送することを要求する命令を送信し、
前記転送装置から受信した前記変更する回線で転送するパケットを記憶し、
回線の切り替え後に、前記変更する回線で転送するパケットを、前記転送装置に転送する
処理を行うことを特徴とする制御方法。
（付記８）
回線の切り替え後の通信に使用される回線である切り替え先回線を、前記制御装置から受信したパケットの出力先として、前記転送装置に通知するパケットを生成し、
前記切り替え先回線の情報を含むパケットの送信後に、前記変更する回線で転送するパケットを前記転送装置に転送する
処理を前記制御装置が行うことを特徴とする付記７に記載の制御方法。
（付記９）
前記制御装置は、
前記転送装置を介して通信先と通信する第１の通信装置から送信されたパケットの転送に使用している第１の回線を、前記第１の通信装置の通信よりも優先度の高い第２の通信装置での通信に使用することが通知されると、前記第１の通信装置の通信に使用する回線を前記第１の回線から変更することを決定し、
前記第１の通信装置の通信に使用する第２の回線を特定し、
前記第２の回線を用いたときに得られる前記第１の通信装置の通信速度と、前記第１の回線を用いたときの前記第１の通信装置の通信速度を比較することにより、前記第１の通信装置の通信速度が回線の変更により小さくなるかを判定し、
前記第１の通信装置の通信速度が回線の変更により小さくなる場合、前記第１の通信装置から送信されたパケットを、回線の変更後の前記第１の通信装置の通信速度以下の速度で前記転送装置に転送する
ことを特徴とする付記７または８に記載の制御方法。
【符号の説明】
【００７６】
３  監視装置
５  スイッチ
１０  制御装置
１１  送信部
１２  受信部
１３  通信部
２０  制御部
２１  検出部
２２  通知生成部
２３  送出調整部
３０  記憶部
３１  回線情報テーブル
３２  バッファ
３３  設定情報テーブル
３４  フロー情報テーブル
４０  転送装置
１０１  プロセッサ
１０２  メモリ
１０３  バス
１０４  ネットワークインタフェース
１０５  外部記憶装置
【図１】
2017050647.tif 000003
【図２】
2017050647.tif 000004
【図３】
2017050647.tif 000005
【図４】
2017050647.tif 000006
【図５】
2017050647.tif 000007
【図６】
2017050647.tif 000008
【図７】
2017050647.tif 000009
【図８】
2017050647.tif 000010
【図９】
2017050647.tif 000011
【図１０】
2017050647.tif 000012
【図１１】
2017050647.tif 000013
【図１２】
2017050647.tif 000014
【図１３】
2017050647.tif 000015
【図１４】
2017050647.tif 000016
【図１５】
2017050647.tif 000017
【図１６】
2017050647.tif 000018
【図１７】
2017050647.tif 000019
【図１８】
2017050647.tif 000020