(57)【要約】【課題】ローカルエリアネットワーク内のルータのうち、より適したルータによってローカルエリアネットワーク内の端末の通信フローを中継できる可能性を高めること。【解決手段】ＬＡＮ１００内のルータは、順番表の優先順位に従って通信フローの中継依頼を順次転送する。各ルータは、通信フローの中継を受けることが問題なく可能な場合は、中継を許可して中継依頼処理を終了する。中継を許可しない場合は、通信フローの中継を許容すると判断したときには順番表を更新せず、通信フローを中継できないと判断したときには、自ルータを除外するように順番表を更新し、その更新した順番表を他のルータに送信する。そして、複数のルータのすべてに対して通信フローの中継依頼が転送された後に、順番表に記述されたルータの中で最初に二度目の依頼を受けたルータが、通信フローの中継を行う。【選択図】図１
2007266729.tif 000002
【特許請求の範囲】
【請求項１】
内部ネットワークに接続された複数のルータの中から、外部ネットワークとの中継を行うルータを特定するルータ特定方法であって、
前記複数のルータの中の第１ルータが、前記内部ネットワークと前記外部ネットワークとの間の通信フローを中継できるか否か判断するステップと、
前記第１ルータが、前記通信フローを中継できないと判断した場合に、所定の優先順位に従って、第１ルータ以外の他のルータに対して中継を依頼するルータの順番を記述した順番表を生成し、その順番表を前記他のルータに送信するステップと、
前記他のルータが、前記順番表に記述されたルータの順番に従って、当該他のルータ間で前記通信フローの中継依頼を順次転送するステップと、
前記他のルータが、前記中継依頼に応じて、前記通信フローの中継を許容できないと判断した場合には、前記他のルータの中から自ルータを除外するように前記順番表を更新し、その更新した順番表を他のルータに送信するステップと、
前記複数のルータのすべてに対して前記通信フローの中継依頼が転送された後に、前記順番表に記述されたルータの中で優先順位が最も高い順番を示す第２ルータが、前記通信フローの中継を行うステップと、
を備えたルータ特定方法。
【請求項２】
前記第１ルータは、前記複数のルータの各々に割り当てられた固有の識別符号に基づいて前記優先順位を決定する
請求項１記載のルータ特定方法。
【請求項３】
前記第１ルータは、前記内部ネットワークに接続された順に前記優先順位を決定する
請求項１記載のルータ特定方法。
【請求項４】
前記第１ルータは、電池残量の多いルータ順に前記優先順位を決定する
請求項１記載のルータ特定方法。
【請求項５】
前記第１ルータは、前記外部ネットワークとの通信における空き帯域の多いルータ順に前記優先順位を決定する
請求項１記載のルータ特定方法。
【請求項６】
前記複数のルータの各々は、中継中のアプリケーションの種別に基づいて前記通信フローの中継を許容するか否かを判断する
請求項１記載のルータ特定方法。
【請求項７】
前記複数のルータの各々は、前記外部ネットワークとの通信における帯域占有率または課金情報のいずれかに基づいて前記通信フローの中継を許容するか否かを判断する
請求項１記載のルータ特定方法。
【請求項８】
前記複数のルータの各々は、電池残量に基づいて前記通信フローの中継を許容するか否かを判断する
請求項１記載のルータ特定方法。
【請求項９】
前記複数のルータの各々は、前記通信フローに記述されている優先度情報に基づいて、通信フローの中継を許容するか否かを判断する
請求項１記載のルータ特定方法。
【請求項１０】
内部ネットワークに接続され、外部ネットワークとの中継を行うルータであって、
内部ネットワーク内の他のルータからの通信フローの中継依頼に対して、前記通信フローの中継を許容するか、または、通信フローを中継できないかのいずれかを判断する中継判断部と、
前記通信フローの中継依頼を行う順番を所定の優先順位に従って記述した順番表を記憶する記憶部と、
前記中継判断部によって、通信フローの中継を許容できないと判断された場合には、前記他のルータの中から自ルータを除外するように前記順番表を更新し、その更新した順番表を前記他のルータに送信する順番表管理部と、
内部ネットワーク内の複数のルータのすべてに対して前記通信フローの中継依頼がなされた後に、前記順番表に記述されたルータの中で自ルータの優先順位が最も高い場合、前記通信フローの中継を行う中継実行部と、
を備えたルータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信フローの中継を行うルータに関する。
【背景技術】
【０００２】
従来、外部ネットワークへの接続（中継）機能を備えた２台以上のルータが存在するローカルエリアネットワーク（ＬＡＮ）において、特定の通信フローに対応するルータを特定するルータ特定方法として、下記特許文献１に開示されているものがある。
特許文献１に開示されているルータ特定方法では、通信フローごとに適したルータを決定するために、予め決められた条件に従って中継依頼をルータ間で転送していく。中継依頼を受けたルータは、自身の伝送能力や通信状況に応じて、中継を行うか否かを判断する。かかる方法により、ＬＡＮ内の端末に追加の機能を備えることがなく、通信フローごとに適したルータを特定することができる。
【０００３】
【特許文献１】特開２００５−１３０４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載された従来のルータ特定方法では、ルータが自分自身の能力や通信状況のみの情報をもとに中継を行うか否かを判断するため、全てのルータが過負荷の状態にあったときには、すべてのルータが通信フローの中継を拒否する場合が生ずる。かかる場合には、中継するルータを特定することができず、中継対象の通信フローが切断されてしまう。また、他のルータの能力や通信状況がわからないため、他にもっと適したルータがあるのに、その前に中継依頼を受けたルータが中継を行ってしまう場合がある。
【０００５】
したがって、本発明の目的は、ローカルエリアネットワーク内のルータのうち、より適したルータによってローカルエリアネットワーク内の端末の通信フローを中継できる可能性を高めたルータ特定方法およびルータを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の第１の観点は、内部ネットワークに接続された複数のルータの中から、外部ネットワークとの中継を行うルータを特定するルータ特定方法であって、前記複数のルータの中の第１ルータが、前記内部ネットワークと前記外部ネットワークとの間の通信フローを中継できるか否か判断するステップと、前記第１ルータが、前記通信フローを中継できないと判断した場合に、所定の優先順位に従って、第１ルータ以外の他のルータに対して中継を依頼するルータの順番を記述した順番表を生成し、その順番表を前記他のルータに送信するステップと、前記他のルータが、前記順番表に記述されたルータの順番に従って、当該他のルータ間で前記通信フローの中継依頼を順次転送するステップと、前記他のルータが、前記中継依頼に応じて、前記通信フローの中継を許容できないと判断した場合には、前記他のルータの中から自ルータを除外するように前記順番表を更新し、その更新した順番表を他のルータに送信するステップと、前記複数のルータのすべてに対して前記通信フローの中継依頼が転送された後に、前記順番表に記述されたルータの中で優先順位が最も高い順番を示す第２ルータが、前記通信フローの中継を行うステップと、を備えたルータ特定方法である。
【０００７】
上記目的を達成するために、本発明の第２の観点は、ローカルエリアネットワークに接続され、外部ネットワークとの中継を行うルータであって、ローカルエリアネットワーク内の他のルータからの第１通信フローの中継依頼に対して、前記第１通信フローの中継を許容するか、または、第１通信フローを中継できないかのいずれかを判断する中継判断部と、前記第１通信フローの中継依頼を行う順番を所定の優先順位に従って記述した順番表を記憶する記憶部と、前記中継判断部によって、第１通信フローを中継できないと判断された場合には、前記他のルータの中から自ルータを除外するように前記順番表を更新し、その更新した順番表を前記他のルータに送信する順番表管理部と、ローカルエリアネットワーク内の複数のルータのすべてに対して前記第１通信フローの中継依頼がなされた後に、前記順番表に記述されたルータの中で自ルータの優先順位が最も高い場合、前記第１通信フローの中継を行う中継実行部と、を備えたルータである。
【発明の効果】
【０００８】
本発明によれば、ローカルエリアネットワーク内のルータのうち、より適したルータによってローカルエリアネットワーク内の端末の通信フローを中継できる可能性を高めることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明のルータ特定方法の一実施形態を説明する。
図１は、実施形態に係るルータ特定方法が適用されるネットワークシステムの構成を示す図である。図１において、ルータ１１，１２，１３は、ＬＡＮ１００（内部ネットワーク）とインターネット等の外部ネットワーク２００の間の通信を中継し、それぞれ、携帯電話用の通信リンク１１０（帯域３６４ｋｂｐｓ、パケット課金）、ＰＨＳ用の通信リンク１２０（帯域６４ｋｂｐｓ、定額料金）、無線ＬＡＮ用の通信リンク１３０（帯域５Ｍｂｐｓ、定額料金）に接続される。
【００１０】
端末１０１〜１０４は、ＬＡＮ１００に属し、各々に内蔵されたＬＡＮインタフェースを用いてルータ１１〜１３と接続可能である。また、端末２０１および２０２は、外部ネットワーク２００に属し、ルータ１１〜１３を介して端末１０１〜１０４と通信を行う。
各ルータおよび各端末には、アドレス（固有の識別符号）が割り当てられている。図１に示すネットワークシステムでは、ルータ１１，１２，１３に対してルータアドレス「ｆｅ８０：：１５」，「ｆｅ８０：：１６」，「ｆｅ８０：：１７」がそれぞれ割り当てられ、端末１０１，１０２，１０３，１０４に対して端末アドレス「３：：１１」，「３：：１２」，「３：：１３」，「３：：１４」がそれぞれ割り当てられ、端末２０１，２０２に対して端末アドレス「４：：１８」，「４：：１９」がそれぞれ割り当てられている。
【００１１】
図１に示したネットワークシステムでは、一例として、端末１０１がストリーミング動画像を再生する動画ビューア、端末１０２がパーソナルコンピュータ、端末１０３がＩＰ電話サービスを受ける携帯電話、端末１０４がＰＤＡ(Personal Digital Assistance)であるとする。また、ルータ１１の通信料金は１円／パケットとし、通信帯域は３８４ｋｂｐｓとする。ルータ１２の通信料金は通信時間によらず定額であり、通信帯域は５Ｍｂｐｓであるとする。ルータ１３の通信料金は通信時間によらず定額であり、通信帯域は６４ｋｂｐｓであるとする。
【００１２】
図１に示すネットワークシステムでは、ルータ１１の通信帯域（３８４ｋｂｐｓ）は、ルータ１２の通信帯域（５Ｍｂｐｓ）と比較して余裕がなく、ルータ１１が動画ビューアである端末１０１におけるストリーミング再生のための通信フロー（通信帯域：３６４ｋｂｐｓ）を中継しているときには、再生される動画の品質を保つために、ストリーミング再生以外の通信フローの中継を行うことはできない。
一方、ルータ１２が、外部ネットワークからパーソナルコンピュータである端末１０２に対してダウンロードされるデータの通信フローを中継しているときには、ダウンロードの速度が若干遅くなるものの、その他の通信フローの中継を行うことを許容できる。
このように、図１に示すネットワークシステムでは、通信フローに対して絶対に中継をすることができないか（中継を許容できないか）、または、中継を許容するかのいずれかの判断を行うルータを含む。かかる判断の具体的な方法については後述する。
【００１３】
次に、実施形態に係るルータの構成を説明する。
図２は、ルータ１１の構成を示すブロック図である。なお、ルータ１２およびルータ１３の構成は図２に示したものと同様である。
【００１４】
図２に示すように、ルータ１１は、ＬＡＮインタフェース２１、外部インタフェース２２、順番表管理部２３、パケット中継部２４、中継判断部２５、順番表記憶部２６、および、フロー表記憶部２７を備える。
なお、パケット中継部２４は、本発明の中継実行部の一実施形態であり、順番表記憶部２６は、本発明の記憶部の一実施形態である。
以下、図２に示す各構成要素について、図３〜図１０を参照して説明する。
【００１５】
ＬＡＮインタフェース２１は、ＬＡＮ１００内の通信フローにおけるパケットの送受信を行うための通信インタフェースである。すなわち、ＬＡＮインタフェース２１は、端末１０１〜１０４からの通信フローに含まれるパケット群を順次送受信する。
また、ＬＡＮインタフェース２１は、他のルータであるルータ１２，１３から、順番表を含むパケット（以下、適宜「順番表」と略記する）を送受信する。順番表は、端末に対する通信フローの中継を依頼するルータの順番を記述したデータであり、ＬＡＮ１００のいずれかのルータによって生成または更新される。
さらに、ＬＡＮインタフェース２１は、ＬＡＮ１００内の他のルータから、通信フローの中継依頼を行うためのパケット（以下、適宜「中継依頼」と略記する）を送受信する。
【００１６】
図３は、順番表のデータ構造の一例を示す図である。
図３に示すように、順番表は、通信フローの中継依頼を行う際の優先順位とルータアドレスとが対応付けられたデータである。図３の例では、通信フローの中継依頼を行う際の優先順位は、順に、ルータ１１（ｆｅ８０：：１５），ルータ１２（ｆｅ８０：：１６），ルータ１３（ｆｅ８０：：１７）となっている。
【００１７】
次に、ＬＡＮインタフェース２１の処理について図４を参照して説明する。図４は、ＬＡＮインタフェース２１によって実行されるパケット受信処理を示すフローチャートである。
先ず、ＬＡＮインタフェース２１は、ＬＡＮ１００からパケットを受信すると、そのパケット（受信パケット）のヘッダに記述されている宛先アドレスをチェックし、受信パケットが自ルータ（この場合はルータ１１）宛のものであるか確認する（ステップＳ１０）。その結果、ＬＡＮインタフェース２１は、受信パケットが自ルータ宛のものでない場合には（ステップＳ１０のＮＯ）、受信パケットをパケット中継部２４に渡す（ステップＳ１１）。
一方、ＬＡＮインタフェース２１は、受信パケットが自ルータ宛のものである場合には（ステップＳ１０のＹＥＳ）、その受信パケットが順番表を含むものであるか確認する（ステップＳ１２）。順番表を含まない場合には（ステップＳ１２のＮＯ）、ＬＡＮインタフェース２１は、予め規定された手続き（通信プロトコル）に従って受信パケットの処理を行う（ステップＳ１３）。順番表を含む場合には（ステップＳ１２のＹＥＳ）、ＬＡＮインタフェース２１は、受信パケットを順番表管理部２３に渡す（ステップＳ１４）。受信した順番表は、順番表管理部２３によって管理される（後述する）。
【００１８】
図２に戻って、外部インタフェース２２は、通信リンク１１０と接続され、外部ネットワーク２００との通信フローの送受信を行うための通信インタフェースである。すなわち、外部インタフェース２２は、外部ネットワーク２００に属する端末２０１，２０２からの通信フローに含まれるパケット群を順次送受信する。
【００１９】
順番表管理部２３は、順番表の記憶処理、順番表の更新処理、順番表の通知処理を実行する。順番表管理部２３で実行される各処理について、図５〜７を参照して順に説明する。
図５は、順番表の記憶処理を示すフローチャートである。
図５に示すように、順番表の記憶処理では、ＬＡＮインタフェース２１が順番表を含むパケットを受信すると（ステップＳ２０のＹＥＳ）、そのパケットは順番表管理部２３に転送される。そして、順番表管理部２３は、受信した順番表を順番表記憶部２６に記憶させる（ステップＳ２１）。ここで、順番表記憶部２６は、受信したパケットの通信フローと順番表とを対応付けて記憶する。
【００２０】
図６は、順番表の更新処理を示すフローチャートである。
順番表の更新処理は、自ルータが通信フローの中継を行うことができないと中継判断部２４が判断したときに、順番表から自ルータを除外するように順番表を更新する処理である。
図６に示すように、順番表の更新処理では、自ルータが通信フローの中継を行うことができないことを判断した結果、中継判断部２４が順番表管理部２３に対して順番表の「更新要求」を指示すると（ステップＳ３０のＹＥＳ）、順番表管理部２３は、順番表記憶部２６から順番表を読み出し、その読み出した順番表から自ルータ（この場合はルータ１１）のルータアドレスを削除するように、順番表を更新する（ステップＳ３１）。
【００２１】
次に、順番表管理部２３は、更新された新しい順番表を、順番表記憶部２６に記憶させる（ステップＳ３２）。これによって、新しい順番表が上書き保存される。
さらに、順番表管理部２３は、この更新された新しい順番表を、ＬＡＮ１００内の他のルータ（１２，１３）にマルチキャスト送信する（ステップＳ３３）。これによって、他のルータ（１２，１３）では、マルチキャスト送信された順番表が更新（記憶）されるので（図５の記憶処理）、ＬＡＮ１００内のすべてのルータ間で新しい順番表が共有されることになる。
【００２２】
図７は、順番表の通知処理を示すフローチャートである。
順番表の通知処理は、通信フローの中継を行うことができないと中継判断部２４が判断したときに、中継依頼を転送する先のルータを確認するための要求が中継判断部２４からなされるとき（後述するステップＳ６４）に行われる処理である。
先ず、中継判断部２４より中継依頼先のルータ確認要求を受けると（ステップＳ４０）、順番表管理部２３は、順番表記憶部２６から順番表を読み出す（ステップＳ４１）。そして、順番表管理部２３は、その読み出した順番表の中で、自ルータの次のルータを特定する（ステップＳ４２）。順番表管理部２３は、その特定したルータのルータアドレスを中継判断部２４に通知する（ステップＳ４３）。
【００２３】
パケット中継部２４は、ＬＡＮインタフェース２１および外部インタフェース２２に接続され、ＬＡＮ１００に属する端末と外部ネットワーク２００に属する端末との間の通信フローを中継するとともに、ＬＡＮインタフェース２１を介して他のルータにパケットを転送する。
また、パケット中継部２４は、通信フローごとにフロー表を生成し、フロー表記憶部２７に記憶させる。フロー表は、通信フローの属性を示すデータである。図８にフロー表のフォーマットを例示する。
図８に示すように、フロー表は、対応する通信フローの送信元アドレス、宛先アドレス、送信元ポート番号、送信先ポート番号、アプリケーション（アプリ）の種類および中継依頼フラグを含む。中継依頼フラグは、対応する通信フローを現在中継中である場合に「０」を示し、対応する通信フローについて中継依頼を受けたが中継をせずに、その中継依頼を他のルータに転送した場合に「１」を示す。パケット中継部２４は、中継判断部２５より中継を行うことが可能か否かについての結果が通知され、その結果に基づき必要に応じて中継依頼フラグを更新する。
なお、図８に例示するフロー表は、端末１０１（アドレス「３：：１１」）から端末２０１（アドレス「４：：１８」）に向けたストリーミングデータを中継中であることを示し、かつ、中継中の通信フローがＲＴＰ(Real-time Transport Protocol)、すなわち、音声や映像をストリーミング再生するためのアプリケーションによるものであることを示している。
【００２４】
フロー表は、ルータが通信フローの受信を開始する時点、すなわち、通信フローのエントリがあった時点で新たに生成される。一度エントリがあった後に、対応する通信フローを中継中の間、フロー表はフロー表記憶部２７に保持される。また、パケット中継部２４は、一度エントリがあった後に、対応する通信フローについて中継依頼を受けたが中継をせずにその中継依頼を他のルータに転送した場合には、フロー表をフロー表記憶部２７に一定時間保持させる。
【００２５】
次に、パケット中継部２４の処理について図９を参照して説明する。
図９は、ＬＡＮ１００からパケットを受信したときのパケット中継部２４の処理を示すフローチャートである。
図９において、パケット中継部２４は、ＬＡＮ１００からパケットを受信すると、先ず、その受信パケットが現在中継中の通信フローであるか否かを確認するために、対応するフロー表をフロー表記憶部２７から読み出す（ステップＳ５０）。そして、中継判断部２５は、対応する通信フローが既にエントリされており、かつ、読み出したフロー表の中継依頼フラグが「０」である場合には、パケット中継部２４は、受信したパケットが中継中の通信フローであって新たな通信フローではないと判断し（ステップＳ５１のＮＯ）、その受信パケットを外部インタフェース２２に渡す（ステップＳ５２）。これにより、中継中の通信フローが途切れることなく継続する。
なお、受信パケットが既にエントリされているか否かについては、パケット中継部２４は、受信パケットのヘッダに記述されている送信元アドレスおよび宛先アドレスと、記憶されているフロー表の送信元アドレス、宛先アドレス、送信元ポート番号および送信先ポート番号とを照合することによって判断できる。
【００２６】
パケット中継部２４は、受信したパケットが新たな通信フローのものであると判断した場合には（ステップＳ５１のＹＥＳ）、その新たにエントリされた通信フローの中継可否判断を中継判断部２５に対して要求する（ステップＳ５３）。その結果、中継判断部２５が受信パケットの中継を行うことができると判断した場合には（ステップＳ５４のＹＥＳ）、パケット中継部２４が受信パケットを外部インタフェース２２に渡すことで(ステップＳ５２)、その受信パケットによる通信フローが開始される。
なお、新しい通信フローがエントリされると、パケット中継部２４は、中継依頼フラグが「０」である新しいフロー表が生成し、フロー表記憶部２７に記憶させる。
【００２７】
一方、中継判断部２５が受信パケットの中継を行うことができないと判断した場合には（ステップＳ５４のＮＯ）、パケット中継部２４は、フロー表に中継依頼フラグが「１」である新しいエントリを追加して、ＬＡＮ１００内の他のルータに中継依頼を転送する。パケット中継部２４は、この中継依頼先のルータを特定するため、中継判断部２５に対して中継依頼先のルータのアドレスを要求し、その要求に応じて中継判断部２５により指示されたルータに対して、ＬＡＮインタフェース２１を介して中継依頼を行う（ステップＳ５５）。
【００２８】
次に、中継判断部２５について説明する。
中継判断部２５は、主として、中継依頼を受けた通信フローごとに中継を行うことができるか否かの判断（中継可否判断）を行う。
【００２９】
中継判断部２５の処理について、図１０を参照して説明する。図１０は、中継判断部２５によって実行される中継可否判断処理を示すフローチャートである。図１０に示すフローチャートは、受信パケットの中継可否判断の要求をパケット中継部２４から受けたとき（前述したステップＳ５３）に、中継判断部２５によって実行される処理である。
【００３０】
先ず、中継判断部２５は、受信パケットの通信フローのフロー表をフロー表記憶部２７から読み出す（ステップＳ６０）。その読み出したフロー表の中継依頼フラグが「１」の場合には、受信パケットの通信フローに対して中継依頼を受けるのが初めてではなく（ステップＳ６１のＮＯ）、以前にその通信フローについて中継依頼を受けたが中継をせずに、その中継依頼を他のルータに転送したことを示している。これは、ローカルエリアネットワーク内の複数のルータ（１１，１２，１３）のすべてに対して通信フローの中継依頼がなされた後、他のルータ（１２，１３）によって絶対に中継できないと判断されたため、再度（一巡して）、中継依頼が転送されてきたことを意味する。すなわち、同一の通信フローに対して２度目の中継依頼がなされたことになる。かかる場合、中継判断部２５は、その通信フローを中継可能な他のルータが存在しないと判断し、パケット中継部２４に対して中継を行う旨を通知する（ステップＳ６２）。
【００３１】
一方、ステップＳ６１の処理の結果、受信パケットの通信フローのエントリがなされていない場合、すなわち、その通信フローのフロー表がフロー表記憶部２７に記憶されていない場合には（ステップＳ６１のＹＥＳ）、中継判断部２５は、その通信フローの中継を許容できるか否かを判断する（ステップＳ６３）。
【００３２】
このステップＳ６３および後段のステップＳ６５における中継可否判断は、中継を行ったとした場合の通信品質が十分に確保されることを前提として行われる。しかし、ステップＳ６３（中継を許容するかの判断）では、中継判断部２５は、新たな通信フローの中継を受けることにより現在中継中の通信フローの伝送品質に影響がないかどうかを判断する。一方、ステップＳ６５（絶対に中継不可であるかの判断）では、中継判断部２５は、すでに中継中の通信フローの伝送品質の低下が許容できず、新たな通信フローを中継することが絶対にできないか否かを判断する点が異なる。
【００３３】
ステップＳ６３およびステップＳ６５での中継可否判断は、外部インタフェース２２の伝送能力、フロー表に記述されているアプリケーションの種別に基づいて行われる。
たとえば、受信パケットと異なる他の通信フローによって外部インタフェース２２の通信帯域の８０％を越える伝送レートですでに中継（映像のストリーミング再生）を行っている場合を想定する。このとき、中継判断部２５は、フロー表記憶部２７に記憶されているすべてのフロー表を走査し、その結果、中継依頼フラグが「０」（中継中）であって、かつ、アプリケーションが「ＲＴＰ」である通信フローの存在を特定することによって、上述したように、外部インタフェース２２の通信帯域の８０％を越える伝送レート（伝送レートは外部インタフェースを監視して計測する）でストリーミングフローを既に中継中であることを認識することができる。かかる場合には、中継判断部２５は、すでに行っている中継（映像のストリーミング再生）以外の中継を受け入れることは、ストリーミング再生の品質低下を招くと判断して、新たな通信フローに対する中継を絶対に行うことはできないと判断することができる。
このような判断は、中継中のアプリケーションの種別に基づいて行ってもよいし、中継中のアプリケーションによる通信が外部インタフェース２２の通信帯域に占める割合（帯域占有率）と所定の閾値とを比較することによって行ってもよい。
【００３４】
一方、通信フロー次第では、自ルータが外部インタフェース２２を介して外部ネットワーク２００からデータのダウンロードを行っているときなど、ベストエフォート型の通信を中継しているときには、伝送品質の低下（ダウンロード時間の延長）を許容できる場合がある。かかる場合、中継判断部２５は、フロー表に記述されているアプリケーションの種別に基づいて、ベストエフォート型の通信であることを認識し、新たな通信フローの中継を実行することを許容可能と判断する。
【００３５】
なお、ステップＳ６３およびＳ６５の判断は、上述した外部インタフェース２２の伝送能力、フロー表に記述されているアプリケーションだけではなく、様々な観点に基づいて行うことができる。
たとえば、外部インタフェース２２の課金情報に基づいて判断を行ってもよい。この場合、中継判断部２５が外部インタフェース２２による課金情報を月ごとに保持し、当月の外部インタフェース２２の使用量が所定の基準値よりも大きい場合には、通信品質の観点から新たに通信フローを中継可能であったとしても、その中継はできないと判断する。
また、自ルータの電池残量に基づいて判断を行ってもよい。この場合、中継判断部２５が自ルータの電池（図示しない）の残量を管理し、その電池残量が所定の基準値を下回った場合には、通信品質の観点から新たに通信フローを中継可能であったとしても、その中継はできないと判断する。
いかなる基準または基準値に基づいて、「絶対に新たな中継を実行できない」または「新たな中継の実行を許容する」のいずれかの判断を行うかについては、ルータごとに適宜設定することができる。たとえば、中継判断部２５は、通信フローごとに予め優先度情報を与え、その優先度情報に従って中継可否の判断を行ってもよい。
【００３６】
図１０のフローチャートの説明に戻る。
ステップＳ６３において、中継判断部２５は、受信パケットの通信フローの中継の実行を許容できると判断した場合には（ステップＳ６３のＹＥＳ）、パケット中継部２４に対して中継を行う旨を通知する（ステップＳ６２）。
中継判断部２５は、受信パケットの通信フローの中継の実行を許容できないと判断した場合には（ステップＳ６３のＮＯ）、中継依頼を他のルータに転送する必要があるため、順番表管理部２３に対して中継依頼を転送すべきルータのルータアドレスを要求する（ステップＳ６４）。
さらに、中継判断部２５は、受信パケットの通信フローの中継が絶対にできないと判断した場合には（ステップＳ６５のＹＥＳ）、順番表管理部２３に対して、その通信フローに対応する順番表から自ルータのルータアドレスを削除するように要求する（ステップＳ６６）。この要求に応じて、順番表管理部２３は、順番表の更新処理を行う。そして、中継判断部２５は、パケット中継部２４に対して中継を行わない旨を通知する（ステップＳ６７）。
【００３７】
次に、図１に示したネットワークシステムにおいて、ルータ１１〜１３の中から、通信フローの中継を行うルータ特定処理について、図１１および図１２を参照して説明する。
図１１は、ルータ特定処理のフロー図であり、図１２は、図１１に示したルータ特定処理における順番表の変化を示す図である。
【００３８】
以下で説明するルータ特定処理では、図１に示すネットワークシステムにおいて、ルータ１１が、端末１０１（動画ビューア）のストリーミング再生のための通信フローの中継中であり、ルータ１２が、端末１０２（パーソナルコンピュータ）が行っているダウンロードの通信を中継中であり、ルータ１３が、端末１０３（携帯電話）のＩＰ電話の通信フローの中継中である場合を想定する。
さらに、ルータ１１は、ストリーミング再生における動画品質を確保するためには、他の通信フローの中継を行うことはできない状態にあり、ルータ１２は、通信リンク１２０の通信帯域を限界まで利用している状態にあり、ルータ１３は、通話品質を保つためには他の通信フローの中継を行うことができない状態にあるとする。
【００３９】
かかる想定下において、図１１に示すルータ特定処理は、ＬＡＮ１００に属する端末１０４（ＰＤＡ）が端末２０１からデータをダウンロードする際の中継を行うルータを、ルータ１１〜１３の中から特定する処理である。
【００４０】
先ず、端末１０４がルータ１１に対して中継依頼のためのパケット（通信フロー）を送信する（ステップＳ１００）。なお、どのルータに対して最初に中継依頼を行うかについては重要ではなく、端末ごとに予め規定されていればよい。
この通信フローを受信したルータ１１では、中継可否を判断する（ステップＳ１０１）。ルータ１１は、この通信フローを受信した時点で、すでに端末１０１のためにストリーミング再生のための通信フローを中継中であり、ストリーミング再生の動画品質を確保するためには、その他の通信フローの中継を行うことは絶対にできないと判断したとする。そこで、ルータ１１は、他のルータ（１２，１３）に中継依頼を行う（転送する）ことを決定し、その中継依頼を行う際の順番表を生成する（ステップＳ１０２）。
ここでは、ルータ１１は、ルータアドレスの昇順に従って順番表を生成する。したがって、この時点では、順番表は、図１２（ａ）に示すように、優先順位の順に、ルータ１１（ｆｅ８０：：１５）、ルータ１２（ｆｅ８０：：１６）、ルータ１３（ｆｅ８０：：１７）となっている。
【００４１】
ここでは、順番表の優先順位を、ルータアドレスの昇順（または降順）で設定、すなわち、ＬＡＮ１００内の複数のルータの各々に割り当てられた固有の識別符号に基づいて設定したが、この設定方法に限られない。順番表の優先順位が高いほど優先的に中継依頼が転送されるため、伝送能力その他の性能が高い順にルータの優先順位が高くなるように順番表を生成することが好ましい。たとえば、外部ネットワーク２００との通信における空き帯域の多いルータ順に優先順位を設定し、または、電池残量の多いルータ順に優先順位を設定することが好ましい。また、生成ＬＡＮ１００に接続されたルータ順に優先順位を設定することもできる。
【００４２】
ルータ１１は、端末１０４からの通信フローの中継を行うことは絶対にできないと判断したため、順番表から自ルータを削除し、順番表を更新した後に、他のルータ（１２，１３）へマルチキャスト送信する（ステップＳ１０３）。マルチキャスト送信される順番表は、図１２（ｂ）に示すように、優先順位の順に、ルータ１２（ｆｅ８０：：１６）、ルータ１３（ｆｅ８０：：１７）となっている。
【００４３】
ルータ１２，１３は、それぞれ順番表を受信し、受信した順番表を各々の順番表記憶部に記憶させる（ステップＳ１０４）。この時点で、該通信フローに対する順番表が既に記憶されている場合には、上書きして記憶される（更新される）。
【００４４】
次に、ルータ１１は、自己の順番表記憶部に記憶されている順番表を参照し、自分の次に来ているルータを特定する。この場合、自分の次に来ているルータは、図１２（ｂ）に示すように、ルータアドレスが「ｆｅ８０：：１６」であるルータ１２であるため、ルータ１１は、ルータ１２に対して中継依頼のパケットを転送する（ステップＳ１０５）。
ルータ１１は、この中継依頼のパケットとして、端末１０４から受信したパケットをそのまま使用してもよいし、端末１０４から受信したパケットのヘッダに中継依頼であることを示すデータを書き込むことによって生成したパケットを使用してもよいし、ＬＡＮ１００内のルータ間で通信可能な独自のフォーマットに従った通信パケットを使用してもよい。
【００４５】
中継依頼を転送されたルータ１２は、外部インタフェースの伝送能力、対応するフロー表に記述されているアプリケーションに基づいて、中継が可能であるか否かを判断する（ステップＳ１０６）。
ルータ１２は、この時点において、端末１０２（パーソナルコンピュータ）が行っているダウンロードの通信を中継中であり、通信リンク１２０の通信帯域を限界まで利用している状態にあるので中継を引き受けたくないが、他に中継を引き受けられるルータがいなかった場合にはこのダウンロードによる伝送品質の低下（ダウンロード時間の延長）を許容できると判断したとする。この場合、ルータ１２は、順番表の更新を行わないので、順番表にはルータ１２が記述されたままとなる。
【００４６】
次に、ルータ１２は、自己の順番表記憶部に記憶されている順番表を参照し、自身の次に優先順位が高いルータを特定する。ここでは、図１２（ｂ）に示すように、ルータアドレスが「ｆｅ８０：：１７」であるルータ１３が特定されるため、ルータ１２は、ルータ１３に対して中継依頼のパケットを転送する（ステップＳ１０７）。
【００４７】
中継依頼を転送されたルータ１３は、外部インタフェースの伝送能力、対応するフロー表に記述されているアプリケーションに基づいて、中継が可能であるか否かを判断する（ステップＳ１０８）。
ルータ１３は、この時点において、端末１０３（携帯電話）のＩＰ電話の通信フローの中継中であり、通話品質を保つためには他の通信フローの中継を行うことができない状態にあるので、端末１０４の通信フローを絶対に中継することができないと判断する。この場合には、ルータ１３は、自身のルータアドレスが削除されるように順番表の更新を行う（ステップＳ１０９）。
【００４８】
ルータ１３は、更新した順番表を他のルータ（１１，１２）へマルチキャスト送信する（ステップＳ１１０）。マルチキャスト送信される順番表は、図１２（ｃ）に示すように、ルータ１３（ｆｅ８０：：１６）のみが含まれるものとなっている。
ルータ１１，１２は、順番表を受信し、受信した順番表を各々の順番表記憶部に上書きによって記憶させる（ステップＳ１１１）。
【００４９】
次に、ルータ１３は、自己の順番表記憶部に記憶されている順番表を参照し、自分の次に来ているルータを特定する。この場合、自分の次に来ているルータは、図１２（ｃ）に示すように、ルータアドレスが「ｆｅ８０：：１６」であるルータ１２であるため、ルータ１３は、ルータ１２に対して中継依頼のパケットを転送する（ステップＳ１１２）。
【００５０】
中継依頼を転送されたルータ１２は、自身のフロー表記憶部内のフロー表を参照することで、端末１０４からの通信フローに対して中継依頼を受けるのが初めてではなく、以前にその通信フローについて中継依頼を受けたが中継をせずに、その中継依頼を他のルータに転送したことを認識する。すなわち、同一の通信フローに対して２度目の中継依頼がなされたことになる。このように中継依頼の転送がすべてのルータを一巡するまでに、通信フローの中継を絶対にできないと判断したルータが順番表の中で削除されてきたので、この時点において、順番表には、通信フローの中継の実行を許容したルータのみが記述されている。
【００５１】
ここで、図１２（ｃ）に示すように、順番表にはルータ１２のルータアドレスのみが記述されているので、ルータ１２は、他のルータによる中継が不可能であると判断し、中継を行うことを決定する（ステップＳ１１３）。
なお、図１２（ｃ）は、通信フローの中継を許容すると判断したルータが１つのみ（ルータ１２のみ）である場合について示しているが、中継依頼の転送がすべてのルータを一巡した後に通信フローの中継を許容すると判断したルータが複数存在する場合には、その複数のルータの中で最初に二度目の依頼を受けたルータが中継を行う。中継依頼順序が優先順位順になっているので、必然的に優先順位の高いルータが中継を行うことになる。
【００５２】
中継依頼を引き受けたルータ１２は、通信フローの送信元である端末１０４に対して、ＩＣＭＰ(Internet Control Message Protocol)リダイレクトメッセージを送信する（ステップＳ１１４）。このＩＣＭＰリダイレクトメッセージによって、端末１０４は、自身の通信フローの中継先がルータ１２に特定されたことを認識し、通信フローをルータ１２に対して送信する（ステップＳ１１５）。
【００５３】
以上説明したように、本実施形態に係るルータ特定方法によれば、以下の順で処理が行われる。
先ず、ＬＡＮ１００内のルータ１１（第１ルータ）が、端末１０４からの通信フローを中継できるか否かを判断する（ステップＳ１０１）。
次に、ルータ１１が、その通信フローを中継できないと判断した場合に、所定の優先順位に従って、自ルータ以外の他のルータ（１２，１３）に対して中継を依頼するルータの順番を記述した順番表を生成し、その順番表を他のルータ（１２，１３）にマルチキャスト送信する（ステップＳ１０２〜Ｓ１０４）。
次に、他のルータ（１２，１３）が、順番表に記述されたルータの順番に従って、他のルータ（１２，１３）間で通信フローの中継依頼を順次転送する（ステップＳ１０５，Ｓ１０７，Ｓ１１２）。
そして、他のルータ（１２，１３）は、中継依頼に応じて、通信フローの中継を受けることが問題なく可能な場合は、中継を許可して中継依頼処理を終了する。中継を許可しない場合は、他のルータ（１２，１３）は、通信フローの中継を許容すると判断した場合には、順番表を更新せず、通信フローの中継を許容できないと判断した場合には、自ルータを除外するように順番表を更新し、その更新した順番表を自身以外のルータに送信する（ステップＳ１０６〜Ｓ１１３）。
そして、複数のルータのすべてに対して通信フローの中継依頼が転送された後に、順番表に記述されたルータの中で最初に二度目の依頼を受けたルータ１２（第２ルータ）が、通信フローの中継を行う（ステップＳ１１４〜Ｓ１１５）。
【００５４】
このように、本実施形態に係るルータ特定方法では、ＬＡＮ内の端末からの通信フローの中継依頼を順番表によって管理する。複数のルータ間で中継依頼を順次転送していく際に、各ルータの通信状況に応じて、その通信フローを絶対に中継できないルータが順番表から除外され、その通信フローの中継を許容するルータのみが順番表に残るようになる。それゆえ、各ルータは、順番表を通して、ＬＡＮ内の他のルータの中継可否状況を認識した上で、自ルータが中継を行うべきであるか否かを判断することができるようになる。
したがって、本実施形態に係るルータ特定方法によれば、ＬＡＮ内のルータの通信負荷が大きい状態であっても、ＬＡＮ内の端末の通信フローを中継できる可能性を高めることができる。また、ローカルエリアネットワーク内のルータのうち、より適したルータによってローカルエリアネットワーク内の端末の通信フローを中継できる可能性を高めることができる。
【００５５】
以上、本発明の実施の形態を詳述してきたが、本発明は上述した実施形態に限定されず、当業者に自明な種々の改変が可能である。例えば、上述したルータ特定方法の一部または全部の手順を含んだプログラムをＣＰＵまたはＤＳＰ(Digital Signal Processor)によって実行させることができる。また、そのようなプログラムを、たとえばＨＤＤ(Hard Disk Drive)、ＤＶＤ(Digital Video Disk)などの内部または外部の記録媒体に格納するようにしてもよい。
【産業上の利用可能性】
【００５６】
本発明のルータ特定方法は、外部ネットワークへの中継機能を備えた２台以上のルータが存在するＬＡＮシステムに利用可能である。
【図面の簡単な説明】
【００５７】
【図１】実施形態に係るルータ特定方法が適用されるネットワークシステムの構成を示す図である。
【図２】ルータの構成を示すブロック図である。
【図３】順番表のデータ構造の一例を示す図である。
【図４】パケット受信処理を示すフローチャートである。
【図５】順番表の記憶処理を示すフローチャートである。
【図６】順番表の更新処理を示すフローチャートである。
【図７】順番表の通知処理を示すフローチャートである。
【図８】フロー表のフォーマットを示す図である。
【図９】パケット中継部の処理を示すフローチャートである。
【図１０】中継可否判断処理を示すフローチャートである。
【図１１】ルータ特定処理のフロー図である。
【図１２】図１１に示したルータ特定処理における順番表の変化を示す図である。
【符号の説明】
【００５８】
１００          ＬＡＮ
１１〜１３      ルータ
２１      ＬＡＮインタフェース
２２      外部インタフェース
２３      順番表管理部
２４      パケット中継部
２５      中継判断部
２６      順番表記憶部
２７      フロー表記憶部
１０１〜１０４  端末
２００          外部ネットワーク
２０１〜２０２  端末
【図１】
2007266729.tif 000003
【図２】
2007266729.tif 000004
【図３】
2007266729.tif 000005
【図４】
2007266729.tif 000006
【図５】
2007266729.tif 000007
【図６】
2007266729.tif 000008
【図７】
2007266729.tif 000009
【図８】
2007266729.tif 000010
【図９】
2007266729.tif 000011
【図１０】
2007266729.tif 000012
【図１１】
2007266729.tif 000013
【図１２】
2007266729.tif 000014