(57)【要約】【課題】ネットワーク内のパケットの転送経路を制御する経路管理サーバを有するネットワークシステムにおけるパケットロスを防止できる構成の提供。【解決手段】ネットワークシステムは、パケットを一時的に保持するとともに、経路管理サーバの指示に従って前記保持したパケットを送出するバッファリング装置と、第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、前記バッファリング装置を経由する転送経路を設定する経路管理サーバと、を備える。【選択図】図１
2011151718.tif 000002
【特許請求の範囲】
【請求項１】
パケットを一時的に保持するとともに、経路管理サーバの指示に従って前記保持したパケットを送出するバッファリング装置と、
第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、前記バッファリング装置を経由する転送経路を設定する経路管理サーバと、
を備えたネットワークシステム。
【請求項２】
前記経路管理サーバは、
前記転送経路から、前記新しい転送経路に変更する前に、
前記第１のノードから第２のノードに宛てられたパケットを前記バッファリング装置に保持させる第１の暫定転送経路を設定し、
前記第２のノードがいずれかの転送ノードに接続した後、前記バッファリング装置に保持されたパケットを前記第２のノードに転送する第２の暫定転送経路を設定し、
前記バッファリング装置に保持されたパケットの転送が完了した後で、前記新しい転送経路を設定する請求項１のネットワークシステム。
【請求項３】
前記経路管理サーバは、前記転送経路を構成する転送ノードが保持するパケット処理規則を更新することにより、前記転送経路の設定および変更を行う請求項１または２のネットワークシステム。
【請求項４】
前記転送経路を構成する転送ノードのうちの所定の転送ノードが、前記経路管理サーバに対して、転送先のノードにパケットを転送できない旨を通知する機能を備え、
前記通知を受けた経路管理サーバは、前記第１のノードから前記第２のノードに到る転送経路を、前記第１のノードから前記バッファリング装置に到る転送経路に変更する請求項１から３いずれか一のネットワークシステム。
【請求項５】
前記バッファリング装置は、前記保持したパケットの送出状況を前記経路管理サーバに通知する機能を備える請求項１から４いずれか一のネットワークシステム。
【請求項６】
前記経路管理サーバは、さらに、
前記バッファリング装置のバッファリング状況を管理するバッファリング管理部を備え、
前記バッファリング装置に対し、バッファリングを開始してから一定時間以上経過しても、宛先に送出されていないパケットの廃棄を指示する請求項１から５いずれか一のネットワークシステム。
【請求項７】
パケットを一時的に保持するとともに、経路管理サーバの指示に従って前記保持したパケットを送出するバッファリング装置が配置されたネットワークに接続され、
第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、前記バッファリング装置を経由する転送経路を設定する経路管理サーバ。
【請求項８】
第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、バッファリング装置を経由する転送経路を設定する経路管理サーバが接続されたネットワークに配置され、
前記経路管理サーバが設定した転送経路上の転送ノードから受信パケットを一時的に保持するとともに、前記経路管理サーバの指示に従って前記保持したパケットを送出するバッファリング装置。
【請求項９】
第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、バッファリング装置を経由する転送経路を設定する経路管理サーバが接続されたネットワークに配置され、
転送先のノードにパケットを転送できないことを検知した場合、前記経路管理サーバに対して、その旨を通知する転送ノード。
【請求項１０】
第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行う経路管理サーバが、第１のノードから第２のノードに宛てられたパケットの転送経路を新しい転送経路に変更する際に、バッファリング装置を経由する転送経路を設定するステップと、
前記前記バッファリング装置が、パケットを一時的に保持するとともに、前記経路管理サーバの指示に従って前記保持したパケットを送出するステップとを含む通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム、通信方法、装置およびプログラムに関し、ネットワーク内のパケットの転送経路を制御する経路管理サーバを有するネットワークシステム、通信方法、装置およびプログラムに関する。
【背景技術】
【０００２】
ネットワーク上のパケット転送経路を集中的に管理し、トラフィック制御を行う方式としては、非特許文献１に開示されるＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）技術が知られている。ＭＰＬＳでは、パケット転送パス（以下、ＬＳＰ：Ｌａｂｅｌ  Ｓｗｉｔｃｈｅｄ  Ｐａｔｈ）は、ネットワークのエッジルータ間で半固定的に設定され、エッジルータの先に接続される端末の移動に伴って変更されることは無い。そのため、端末が移動した場合の経路の変更は、上位層であるＩＰ層において非特許文献２に開示されるＭｏｂｉｌｅ  ＩＰ等で行われている。
【０００３】
Ｍｏｂｉｌｅ  ＩＰにおいては、端末宛のパケットは固定的に設置されたＨｏｍｅ  Ａｇｅｎｔ（以下、「ＨＡ」）を経由して転送される。端末はネットワーク間を移動すると、ＨＡにＢｉｎｄｉｎｇ  Ｕｐｄａｔｅ（以下、「ＢＵ」）と呼ばれる通知を送信し、新しい転送先を設定する。ＨＡは通知されたＢＵに基づいて転送先を切り替える。しかし、前のネットワークを離れてから、新しいネットワークに接続しＢＵを登録するまでの間は、古い転送先にパケットが転送され、パケットロスが発生する。
【０００４】
このパケットロスを改善するために、非特許文献３では事前に、端末の次の接続先ネットワークが分かっている場合は、新しい転送先を先に登録し、登録完了後に新しいネットワークに接続する方式が開示されている。具体的には、非特許文献３では、端末が新しいネットワークに接続するまでの間、新しい転送先のエッジルータがパケットをバッファリングしておくによって上記パケットロスを解決している。
【０００５】
また同じく経路制御を行うものとして、非特許文献４、５にオープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルールと、処理内容を定義したアクションと、フロー統計情報との組が定義される。
【０００６】
例えば、オープンフロースイッチは、最初のパケット（ｆｉｒｓｔ  ｐａｃｋｅｔ）を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール（ＦｌｏｗＫｅｙ）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｅ．Ｒｏｓｅｎ他、“Ｍｕｌｔｉｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ”，  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ（ＩＥＴＦ）  ＲＦＣ３０３１，  ２００１
【非特許文献２】Ｄ．Ｊｏｈｎｓｏｎ他、“Ｍｏｂｉｌｉｔｙ  Ｓｕｐｐｏｒｔ  ｉｎ  ＩＰｖ６”，  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ（ＩＥＴＦ）    ＲＦＣ３７７５，  ２００４
【非特許文献３】Ｒ．Ｋｏｏｄｌｉ他、“Ｍｏｂｉｌｅ  ＩＰｖ６  Ｆａｓｔ  Ｈａｎｄｏｖｅｒ”，  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ（ＩＥＴＦ）    ＲＦＣ５５６８，  ２００９
【非特許文献４】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［online］、［平成21年12月14日検索］、インターネット〈URL：http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉
【非特許文献５】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ” Ｖｅｒｓｉｏｎ  ０．９．０． （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ９８）［平成21年12月14日検索］ 、インターネット〈URL：http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献３の方式は、あらかじめ端末の移動先が分かっていないと使えないため、利用できる環境が限定されてしまうという問題点がある。また、非特許文献３の方式は、端末側でも同方式をサポートする必要があるため、利用できる端末に制限があるという問題点もある。
【０００９】
また、エッジルータは通常それほど大容量のパケットバッファを保持していないため、移動端末数が増加した場合や移動端末数の離脱が長期にわたる場合、バッファが不足しパケットロスを防止できなくなることが予想される。また、上記エッジルータのバッファリングに関わる負荷により、本来のパケット転送機能にも支障を来たす可能性もある。
【００１０】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記非特許文献３のような制約がなく、パケットロスを防止することのできるネットワークシステム、通信方法、装置およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の視点によれば、パケットを一時的に保持するとともに、経路管理サーバの指示に従って前記保持したパケットを送出するバッファリング装置と、第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、前記バッファリング装置を経由する転送経路を設定する経路管理サーバと、を備えたネットワークシステムが提供される。
【００１２】
本発明の第２の視点によれば、パケットを一時的に保持するとともに、経路管理サーバの指示に従って前記保持したパケットを送出するバッファリング装置が配置されたネットワークに接続され、第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、前記バッファリング装置を経由する転送経路を設定する経路管理サーバが提供される。
【００１３】
本発明の第３の視点によれば、第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、バッファリング装置を経由する転送経路を設定する経路管理サーバが接続されたネットワークに配置され、前記経路管理サーバが設定した転送経路上の転送ノードから受信パケットを一時的に保持するとともに、前記経路管理サーバの指示に従って前記保持したパケットを送出するバッファリング装置が提供される。
【００１４】
本発明の第４の視点によれば、第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、バッファリング装置を経由する転送経路を設定する経路管理サーバが接続されたネットワークに配置され、転送先のノードにパケットを転送できないことを検知した場合、前記経路管理サーバに対して、その旨を通知する転送ノードが提供される。
【００１５】
本発明の第５の視点によれば、第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行う経路管理サーバが、第１のノードから第２のノードに宛てられたパケットの転送経路を新しい転送経路に変更する際に、バッファリング装置を経由する転送経路を設定するステップと、前記前記バッファリング装置が、パケットを一時的に保持するとともに、前記経路管理サーバの指示に従って前記保持したパケットを送出するステップとを含む通信方法が提供される。本方法は、上記した経路管理サーバと、バッファリング装置という、特定の機械に結びつけられている。
【００１６】
本発明の第６の視点によれば、上記した経路管理サーバ、バッファリング装置および転送ノードをそれぞれ構成するコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１７】
本発明によれば、上記非特許文献３のような制約がなく、パケットロスを防止することが可能となる。その理由は、バッファリング装置を用意するとともに、パケットの転送経路の設定を行う経路管理サーバに、転送経路を新しい転送経路に変更する際に、前記バッファリング装置を経由する転送経路を設定させる構成を採用したことにある。
【図面の簡単な説明】
【００１８】
【図１】本発明の概要を説明するための図である。
【図２】本発明の第１の実施形態の構成を説明するための図である。
【図３】図２の各装置の詳細構成を表したブロック図である。
【図４】図３のバッファリング装置に保持されるバッファリング管理テーブルの例である。
【図５】図３の経路管理装置に保持されるバッファリング装置テーブルの例である。
【図６】本発明の第１の実施形態の動作を説明するための図（１）である。
【図７】本発明の第１の実施形態の動作を説明するための図（２）である。
【図８】本発明の第１の実施形態の動作を説明するための図（３）である。
【図９】本発明の第１の実施形態の動作を説明するための図（４）である。
【図１０】本発明の第１の実施形態の動作を説明するための図（５）である。
【図１１】本発明の第１の実施形態の動作を説明するための図（６）である。
【図１２】本発明の第１の実施形態の動作を説明するための図（７）である。
【図１３】本発明の第１の実施形態の動作を説明するための図（８）である。
【図１４】本発明の第１の実施形態の動作を説明するための図（９）である。
【発明を実施するための形態】
【００１９】
はじめに本発明の概要について図１を参照して説明する。本発明は、図１に示すように、ネットワーク上に配置された転送ノード（ルータ）２０１〜２０７と、各転送ノード２０１〜２０７を制御して、所望の転送経路によるパケット転送を実現する経路管理サーバ１０１と、を有するネットワークに好適に適用できる。
【００２０】
前記ネットワークには、経路の変更のため送信できなくなったパケットを一時的に保持するとともに、前記経路管理サーバ１０１の指示に従って前記保持したパケットを送出するバッファリング装置４０１が備えられる。
【００２１】
より具体的には、経路管理サーバ１０１は、第１のノード３０１（または３０２）から第２のノード３０２（または３０１）に宛てられたパケットの転送経路（図１中の転送ノード２０１−２０２−２０３−２０４を結ぶ矢線（実線）参照）の設定を行うとともに、例えば、宛先ノードの移動や経路上の転送ノードの故障や負荷増大等の事由により、前記転送経路を新しい転送経路（図１中の転送ノード２０１−２０２−２０６−２０７を結ぶ矢線（実線）参照）に変更する際に、バッファリング装置４０１を経由する転送経路（図１中の転送ノード２０１−２０２−２０３−２０４−４０１−２０７を結ぶ矢線（破線）参照）を設定する。
【００２２】
これにより、端末の移動先が分かっていないと使えないといった制約、利用できる端末（図１のノード３０１、３０２に相当）が該当する機能を備えていなければならないといった制約、エッジルータのバッファリングの容量、負荷増大といった背景技術の諸問題が解決される。
【００２３】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態のネットワークシステムの全体構成を表した図である。図２を参照すると、経路管理サーバ１０１と、転送ノード（ルータ）２０１〜２０７と、ノード３０１、３０２、バッファリング装置４０１と、無線ＬＡＮアクセスポイント５０１、５０２と、を有する構成が示されている。
【００２４】
経路管理サーバ１０１は、チャネル１０２を介して点線で囲むコアネットワークの経路を管理するサーバである。このような経路管理サーバ１０１は、例えば、非特許文献４、５のオープンフローコントローラによって実現できる。
【００２５】
転送ノード（ルータ）２０１〜２０７は、経路管理サーバ１０１からの指示に従って、受信したパケットの転送等を行う。このような転送ノード（ルータ）２０１〜２０７は、既存のルータ等に、非特許文献４、５に記載されているオープンフロースイッチと同等の機能を追加することによって実現できる。
【００２６】
上記転送ノード（ルータ）２０１〜２０７のうち、転送ノード（ルータ）２０１、２０４、２０７は、コアネットワークの境界に位置するため、以下、「エッジルータ」と称する。また、転送ノード（ルータ）２０２，２０３，２０５，２０６については、以下、「コアルータ」と称する。
【００２７】
ノード３０１、３０２は、ユーザの端末である。ここでは、ノード３０２は、無線ＬＡＮアクセスポイント５０１または５０２を介してコアネットワークに接続可能であるものとする。
【００２８】
バッファリング装置４０１は、宛先が一時的に不通となったパケットを一時的に保持するとともに、前記経路管理サーバ１０１の指示に従って前記保持したパケットを送出する装置である。このようなバッファリング装置４０１は、既存のルータ等に、非特許文献４、５に記載されているオープンフロースイッチと同等の機能と、適当なサイズのバッファを追加することによって実現できる。また、図１の例では、１台のバッファリング装置４０１のみを示しているが、その数に制限はなく、各エリアにおけるサービス対象ユーザの数や、ユーザ端末の移動頻度等に応じて複数の設置することも可能である。
【００２９】
図３は、上記経路管理サーバ１０１、エッジルータ２０１、バッファリング装置４０１の詳細構成を表したブロック図である。以下、これらの装置の構成について説明する。
【００３０】
経路管理サーバ１０１は、コアネットワークのネットワークトポロジーを記憶するネットワークトポロジー記憶部１０１１と、ネットワークトポロジーを参照して、経路作成要求処理部１０１３から要求された経路を計算し、当該経路を実現する処理規則を各転送ノードに送信する経路計算部１０１２と、エッジルータ２０１を含む転送ノード（ルータ）２０２〜２０７およびバッファリング管理部１０４からの経路設定要求を受け付けて経路計算部１０１２に経路の計算を要求する経路作成要求処理部１０１３と、バッファリング管理部１０１４と、バッファリング管理テーブル１０１５と、バッファリング装置テーブル１０１６と、を備えている。
【００３１】
図４は、バッファリング管理テーブル１０１５の一例であり、経路ＩＤにて特定されるバッファ対象の経路について、宛先ノードと、バッファリング装置と、送信元ノードと、バッファリングのステータス（状況）と、開始時刻と、トラフィックとを対応付けて記憶するテーブルとなっている。図４の例では、ノード３０２を宛先とするノード３０１から送信されたパケットをバッファリング４０１にバッファリング中であることが示されている。なお、開始時刻は、後記するように、送信元ノード３０１から受信したパケットを破棄する時間が到来したか否かを判別するために使用される。
【００３２】
図５は、バッファリング装置テーブル１０１６の一例であり、本システムにおいて利用可能なバッファリング装置について、サポートするエッジルータと、バッファ中のトラフィック量と、転送中のトラフィック量とを対応付けて記憶するテーブルとなっている。図５の例では、バッファリング装置４０１は、図２に示されたエッジルータ２０１、２０４、２０７のバッファリング先として使用されることになっている。また、図５によると、バッファリング装置４０１は、現在４０Ｍｂ／ｓでバッファ中であり、かつ、バッファしているパケットを３０Ｍｂ／ｓで転送中であることが示されている。バッファリング装置テーブル１０１６における、エッジルータとバッファリング装置との対応関係は、両者の距離（ホップ数）や帯域などを考慮して定めることができるが、これらに加えて、各バッファリング装置のバッファ可能容量や負荷などに応じて、動的に変更することとしてもよい。
【００３３】
図３のバッファリング管理部１０１４は、バッファリング管理テーブル１０１５およびバッファリング装置テーブル１０１６を用いてバッファリング装置へのバッファ開始及びバッファしていたパケットの転送を制御する。
【００３４】
より具体的には、バッファリング管理部１０１４は、エッジルータから宛先不通通知を受信すると、バッファリング装置テーブル１０１６を参照して宛先不通通知の送信元のエッジルータをサポートするバッファリング装置を割り出し、経路作成要求処理部１０１３に対し、前記割り出したバッファリング装置へ当該宛先不通のパケットを転送する経路の設定を要求する。また、バッファリング管理部１０１４は、前記宛先不通パケットの宛先ノードからのパケットを受信した別のエッジルータから経路設定要求を受け付けると、宛先ノードと送信元ノードを結ぶ最適な経路を設定する前に、バッファリング管理テーブル１０１５を参照して、経路作成要求処理部１０１３に対し、前記バッファリング装置にバッファしていたパケットを宛先ノードに転送する経路の設定を要求する。さらに、バッファリング管理部１０１４は、バッファリング装置から転送完了通知を受信すると、経路作成要求処理部１０１３に対し、宛先ノードと送信元ノードを結ぶ最適な経路の設定を要求する。また、バッファリング管理部１０１４は、バッファリングを開始した時刻から一定の時間が経過すると、バッファリング装置に対し、前記バッファしていた宛先のパケットを破棄を要求する。これら各転送ノードへの経路の設定要求等は、特定のメッセージ形式を用いるものとしてもよいが、各転送ノードおよびバッファリング装置が非特許文献４、５に記載のオープンフロースイッチとしての機能を備えている場合には、これら装置に、処理規則（フローエントリ）を送信することにより実現することができる。
【００３５】
図３のバッファリング装置４０１は、パケット転送部４０１１と、バッファリング管理部４０１２と、処理規則記憶部４０１３と、所定の記憶装置にて構成されたバッファ４０１４とを備えて構成される。
【００３６】
パケット転送部４０１１は、処理規則記憶部４０１３に記憶された処理規則を参照し、受信パケットに適合する処理規則に従い、パケットをバッファ４０１４に格納するとともに、バッファリング管理部４０１２からの転送開始要求の受信を契機として、バッファ４０１４に格納したパケットを、処理規則にて定められた所定の転送ノードへ転送する。
【００３７】
バッファリング管理部４０１２は、バッファリング管理部１０１４からの転送開始要求や破棄要求を受信してパケット転送部４０１１にバッファしたパケットの転送や破棄を指示する。また、バッファリング管理部４０１２は、処理規則記憶部４０１３に記録された各処理規則毎の統計情報等を参照して、バッファした一連の（同一の宛先ノード宛の）パケットの転送が完了したと判断すると、経路管理サーバ１０１に対して、パケットの転送完了通知を送信する。なお、前記処理規則毎の統計情報としては、非特許文献４、５のフロー統計情報と同等の仕組みを用いることができる。
【００３８】
処理規則記憶部４０１３は、経路管理サーバ１０１から送信された処理規則（経路情報）を記憶する。例えば、特定のノードを宛先とするパケットをバッファリング装置の特定のインタフェースを介して、特定の転送ノードに転送する処理や、特定のノードを宛先とするパケットを破棄する処理を定めた処理規則が保持される。
【００３９】
図３のエッジルータ２０１は、パケット転送部２０１１と、宛先不通通知部２０１２と、処理規則記憶部４０１３と、を備えて構成される。
【００４０】
パケット転送部２０１１は、処理規則記憶部２０１３に記憶された処理規則を参照し、受信したパケットに適合する処理規則に定められた処理内容を行う。また、パケット転送部２０１１は、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）などにより、受信パケットの転送不能を検出すると、宛先不通通知部２０１２に対して、当該パケットの宛先情報を含んだ転送不能通知を送出する。
【００４１】
宛先不通通知部２０１２は、パケット転送部２０１１から転送不能通知を受け取ると、経路管理サーバ１０１に対し、当該パケットの情報を含んだ宛先不通通知を送信する。
【００４２】
処理規則記憶部２０１３は、経路管理サーバ１０１から送信された処理規則（経路情報）を記憶する。例えば、特定のノードを宛先とするパケットを自装置の特定のインタフェースを介して、特定の転送ノードに転送する処理や、特定のノードを宛先とするパケットのヘッダフィールド情報を書き換える処理などを定めた処理規則が保持される。
【００４３】
続いて、図６〜図１４を参照して、本実施形態の一連の動作を説明する。まず、図６に示すように、経路管理サーバ１０１により、コアネットワーク内のエッジルータ２０１−コアルータ２０２−コアルータ２０３−エッジルータ２０４を経由するパケット転送経路が設定され、ノード３０１とノード３０２がパケット通信を行っているものとする。
【００４４】
ここで、ノード３０２が、図７に示すように無線ＬＡＮアクセスポイント５０２の方向に向かって移動を開始したものとする。ノード３０２が無線ＬＡＮアクセスポイント５０１のサービス範囲を超えると、ノード３０１から送信されたノード３０２宛のデータパケットは、エッジルータ２０４にて転送不能となる。
【００４５】
、エッジルータ２０４は、ノード３０２へのパケット転送が失敗したことを検知すると、図８に示すとおり、経路管理サーバ１０１に対して宛先不通通知を送信する。
【００４６】
宛先不通通知を受信した経路管理サーバ１０１は、バッファリング装置テーブル１０１６を参照して、エッジルータ２０４をサポートするバッファリング装置を検索する。ここでは、図５のバッファリング装置テーブル１０１６に従って、バッファリング装置４０１がバッファリング先として決定されたものとする。
【００４７】
バッファ先を決定した経路管理サーバ１０１は、エッジルータ２０４からバッファリングサーバ４０１までの経路（第１の暫定転送経路；図９の矢線（破線）参照）を設定し、ノード３０２宛のパケットのバッファリング装置４０１への転送を開始する。さらに、経路管理サーバ１０１は、図４に示すバッファリング管理テーブルに、送受信ノード３０１／３０２やバッファリング装置４０１、経路ＩＤ、バッファリングステータス（バッファリング中）、開示時刻などを記録する。なお、図９の例では、エッジルータ２０４からバッファリング装置４０１に転送する経路を設定しているが、経路計算部１０１２にネットワークトポロジーを考慮した経路の再計算を指示し、その手前のコアルータ２０３からバッファリング装置４０１にパケットを転送する経路を設定するものとしても良い。
【００４８】
バッファリング装置４０１は、転送されたノード３０２宛のパケットを、新たに経路管理サーバ１０１から指示があるまで自身のバッファ４０１４に保持する。
【００４９】
その後、ノード３０２が、無線ＬＡＮアクセスポイント５０２のサービス範囲に入り、再びコアネットワークに接続し、ノード３０１宛のパケットを送信する。ノード３０２からノード３０１宛のパケットを受信したエッジルータ２０７は、図１０に示すとおり、経路管理サーバ１０１に対してノード３０１−３０２間の経路設定要求を送信する。
【００５０】
エッジルータ２０７から経路設定要求を受信した経路管理サーバ１０１は、バッファリング管理テーブル１０１５を参照し、ノード３０２宛パケットのバッファリングされているか否かを判断する。ここでは、図５に示すとおり、ノード３０２宛パケットがバッファリング中であるであることが判明したものとする。このとき、経路管理サーバ１０１は、図１１の示すとおり、バッファリング装置４０１からエッジルータ２０７までの経路（第２の暫定転送経路；矢線（一点鎖線）参照）を設定するとともに、バッファリングノード４０１に対し転送開始を要求する。
【００５１】
前記転送開始要求を受け取ったバッファリング装置４０１は、前記設定された経路に従い、自身のバッファ４０１４に存在する宛先３０２宛のパケットを送信する。バッファリング装置４０１は、宛先３０２宛のパケットの転送が完了すると、図１２に示すとおり、経路管理サーバ１０１に対して転送完了通知を送信する。
【００５２】
前記転送完了通知を受信した経路管理サーバ１０１は、バッファリング管理テーブル１０１５の該当するエントリのバッファリングステータスを更新（転送完了）するとともに、ノード３０１−３０２間の経路を再度計算し、設定する。図１３の例では、エッジルータ２０１−コアルータ２０２−コアルータ２０６−エッジルータ２０７を経由し、バッファリング装置を経由しない経路が設定されている。
【００５３】
以上のように、本実施形態では、ノード３０２があるエッジルータから他のエッジルータへと移動した場合であっても、ノード３０１からノード３０２に送出されたパケットを中間のバッファリング装置にバッファし、再送することが可能となっている。本実施形態の説明から明らかなとおり、ノード３０２はその他のエッジルータを介してコアネットワークに接続した場合にも同様の処理を行うことが可能である。また、本実施形態の説明から明らかなとおり、ノード３０２は、特別な機能を備える必要はない。さらに、バッファリング装置を増設したり、バッファリング装置テーブル１０１６を適宜更新することにより、バッファ不可能な事態の発生も抑制される。
【００５４】
また、各バッファリング装置のバッファを有効に活用するために、次のような処理を追加することができる。経路管理サーバ１０１は、所定の時間間隔で、バッファリング管理テーブル１０１５の各エントリのバッファリング開始時刻を確認する。前記確認の結果、バッファリング開始後、一定時間以上しているエントリが見つかった場合、経路管理サーバ１０１は、図１４に示すように、該当するパケットのバッファリング先のバッファリング装置に対してバッファしたパケットの破棄を要求するとともに、経路上の転送ノードに対し、対応する処理規則の削除を要求する。
【００５５】
以上、本発明の好適な実施形態およびその具体的な動作を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。
【００５６】
例えば、上記した実施形態の経路管理サーバ１０１は、宛先不通により経路の変更を行う例を挙げて説明したが、各転送ノードの故障や、負荷増大により、転送経路を新しい経路に変更する場合にも適用可能であり、この場合にも、同様の動作を行うことによりパケットロスを低減することができる。
【００５７】
また、上記した実施形態では、エッジルータが宛先不通通知部を備える例を挙げて説明したが、その他の転送ノードが、接続先の転送ノードの故障等を検知して、経路管理サーバ１０１に対し、転送先のノードにパケットを転送できない旨を通知し、適当なバッファリング装置へのバッファリングの開始と、経路の変更を促すようにしてもよい。
【００５８】
また例えば、上記した実施形態の経路管理サーバ１０１は、非特許文献４、５のオープンフローコントローラのほか、専用のサーバとして実現することもできる。また、転送ノードは、非特許文献４、５のオープンフロースイッチのほか、ＩＰ網におけるルータ、ＭＰＬＳ網におけるＭＰＬＳスイッチにて実現することができる。その他、サーバがネットワーク内の転送ノードを集中管理するようなネットワークであれば、本発明を適用することが可能である。
【００５９】
最後に、本発明の特許請求の範囲に繰り込み可能な発明を付記する。
【００６０】
［付記１］
前記転送ノードのうちのいずれかの転送ノードがバッファ用の記憶装置を備え、
パケットを一時的に保持するとともに、経路管理サーバの指示に従って前記保持したパケットを送出するバッファリング装置として動作する請求項１から６いずれか一のネットワークシステム。
【００６１】
［付記２］
前記経路管理サーバが、パケットを一時的に保持するとともに、いずれかの転送ノードに接続したノードからの要求に応じて、前記保持したパケットを送出する機能を備えて、前記バッファリング装置として動作する請求項１から６、［付記１］いずれか一のネットワークシステム。
【００６２】
［付記３］
前記バッファリング装置として、複数のバッファリング装置が配置され、前記経路管理サーバは、転送先のノードにパケットを転送できない旨を通知した転送ノードに対応付けられたバッファリング装置を選択して、当該バッファリング装置を経由する転送経路を設定する請求項１から６、［付記１］、［付記２］いずれか一のネットワークシステム。
【００６３】
［付記４］
前記経路管理サーバは、前記各バッファリング装置のバッファ可能容量または／及び負荷状態に基づいて、いずれかのバッファリング装置を選択する［付記３］のネットワークシステム。
【００６４】
［付記５］
パケットを一時的に保持するとともに、経路管理サーバの指示に従って前記保持したパケットを送出するバッファリング装置が配置されたネットワークに接続された経路管理サーバを構成するコンピュータに実行させるプログラムであって、
第１のノードから第２のノードに宛てられたパケットの転送経路を設定する処理と、
前記転送経路を新しい転送経路に変更する際に、前記バッファリング装置を経由する転送経路を設定する処理とを実行させるプログラム。
【００６５】
［付記６］
第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、バッファリング装置を経由する転送経路を設定する経路管理サーバが接続されたネットワークに配置された、前記バッファリング装置を構成するコンピュータに実行させるプログラムであって、
前記経路管理サーバが設定した転送経路上の転送ノードから受信パケットを一時的に保持する処理と、
前記経路管理サーバの指示に従って前記保持したパケットを送出する処理とを実行させるプログラム。
【００６６】
［付記７］
第１のノードから第２のノードに宛てられたパケットの転送経路の設定を行うとともに、前記転送経路を新しい転送経路に変更する際に、バッファリング装置を経由する転送経路を設定する経路管理サーバが接続されたネットワークに配置された、転送ノードを構成するコンピュータに実行させるプログラムであって、
前記第２のノードの移動を検知した場合、前記経路管理サーバに対して転送経路の変更を要求する処理を実行させるプログラム。
【符号の説明】
【００６７】
１０１  経路管理サーバ
１０２  チャネル
２０１〜２０７  転送ノード（ルータ）
３０１、３０２  ノード
４０１  バッファリング装置
５０１、５０２  無線ＬＡＮアクセスポイント
１０１１  ネットワークトポロジー記憶部
１０１２  経路計算部
１０１３  経路作成要求処理部
１０１４  バッファリング管理部
１０１５  バッファリング管理テーブル
１０１６  バッファリング装置テーブル
２０１１  パケット転送部
２０１２  宛先不通通知部
２０１３  処理規則記憶部
４０１１  パケット転送部
４０１２  バッファリング管理部
４０１３  処理規則記憶部
４０１４  バッファ
【図１】
2011151718.tif 000003
【図２】
2011151718.tif 000004
【図３】
2011151718.tif 000005
【図４】
2011151718.tif 000006
【図５】
2011151718.tif 000007
【図６】
2011151718.tif 000008
【図７】
2011151718.tif 000009
【図８】
2011151718.tif 000010
【図９】
2011151718.tif 000011
【図１０】
2011151718.tif 000012
【図１１】
2011151718.tif 000013
【図１２】
2011151718.tif 000014
【図１３】
2011151718.tif 000015
【図１４】
2011151718.tif 000016