(57)【要約】      （修正有）【課題】複数のノードを含むアドホックネットワークにおいて、あるモバイルノードから、モバイルノードにサービスを提供することのできる複数のサービスノードへのディスジョイントなルートを発見する方法。【解決手段】モバイルノードからルート要求を送信するステップと、ネットワークのノードによりルート要求を配信するステップと、あるルート要求があるサービスノードへ到達すると、モバイルノードからサービスノードへのルート要求のトレースを含んだルート応答を返却するステップと、モバイルノードが受信したルート応答に基づいてディスジョイントなルートを決定するステップと、モバイルノードが受信したルート応答が、十分な数のディスジョイントなルートに対応していない場合に、インクリメントされたパス拡張パラメータを有する新たなルート要求を発行するステップとを含む方法。【選択図】  図３
2007159099.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを含むアドホックネットワークにおいて、あるモバイルノードから、前記モバイルノードにサービスを提供することのできる複数のサービスノードへのルートを発見する方法であって、
前記モバイルノードからルート要求を送信するステップであって、前記ルート要求は、個々のサービスノードを宛て先として指定するのではなく、発見できる任意のサービスノードへのルートを指定するものである、ステップと、
前記ネットワークの前記ノードにより前記ルート要求を配信するステップであって、該ルート要求をさらに配信する各ノードは、自身のＩＤを前記ルート要求に付与するものである、ステップと、
あるルート要求があるサービスノードへ到達すると、前記モバイルノードから前記サービスノードへの前記ルート要求のトレースを含んだルート応答を返却するステップと、
前記モバイルノードが受信した前記ルート応答に基づいてディスジョイントなルートを決定するステップであって、前記ルート要求は、発見されたルートが、あるメトリクスに関して最良のパスよりも悪い場合の程度を表すパス拡張パラメータを含むものである、ステップと、
前記モバイルノードが受信した前記ルート応答が、十分な数のディスジョイントなルートに対応していない場合に、インクリメントされたパス拡張パラメータを有する新たなルート要求を発行するステップと
を含む方法。
【請求項２】
各ノードが、あるルート要求を中継し該ルート要求のトレースルートを記憶するステップと、
あるルート要求があるノードに再び到達すると、あるメトリクスに関して経由したパスが、既知の最良のルートと比較して、前記パス拡張パラメータにより規定された程度を超えて悪くない場合に限り、前記ルート要求を転送するステップと
をさらに含む請求項１に記載の方法。
【請求項３】
前記ルート要求を特定するシーケンス番号を、新たに発行されたルート要求のそれぞれに付与するステップと、
各ノードが、あるルート要求を中継し、前記ルート要求の発信元モバイルノードと前記シーケンス番号とトレースルートとを記憶するステップと、
ある中継ノードがあるルート要求を受信した場合、
前記要求の発信元であるノードからのあるルート要求に対応する情報が、前記モバイルノードの記憶部に記憶されていない場合に、前記ルート要求を転送するステップと、
前記要求の発信元ノードからのある要求がすでに記憶されている場合、受信した前記ルート要求のシーケンス番号に対応する情報が、前記中継ノードの記憶部に記憶されていないときに、前記ルート要求を転送するステップと、
受信した前記ルート要求の１つよりも大きいシーケンス番号に対応する情報が前記中継ノードの記憶部に記憶されている場合に、前記ルート要求を破棄するステップと、
受信した前記ルート要求のシーケンス番号に対応する情報が、前記中継ノードの記憶部に記憶されている場合、前記ルート要求の経由したパスが前記中継ノードに記憶されている先のルート要求とは異なっているとともに、あるメトリクスに関して経由したパスが、既知の最良ルートと比較して、前記パス拡張パラメータによって規定された程度を超えて悪くない場合に限り、前記ルート要求を転送するステップと
のうちの１つ以上を実行することにより、前記ルート要求を転送するべきものであるかまたは破棄するべきものであるかをチェックするステップと
をさらに含む請求項１または２に記載の方法。
【請求項４】
前記ルート応答が、全てのサービスノードまたは所定の数のサービスノードへのディスジョイントなルートを含んでいないことと、
前記ルート応答が、リンクディスジョイントなルートを含んでいるものの、ノードディスジョイントなルートを含んでいないことと
のうちの１つ以上を満たす場合に、インクリメントされたパス拡張パラメータを有する新たなルート要求を送信するステップをさらに含む請求項１〜３のいずれか一項に記載の方法。
【請求項５】
複数のディスジョイントなルートが前記方法により発見された場合、前記パス拡張パラメータのメトリクスに基づいて最も有利な、通信のためのルートを選択するステップをさらに含む請求項１〜４のいずれか一項に記載の方法。
【請求項６】
複数のノードを含むアドホックネットワークにおいて、あるモバイルノードから、前記モバイルノードへサービスを提供することのできる複数のサービスノードへのルートを発見するモバイルノードであって、
前記モバイルノードからあるルート要求を送信する送信モジュールであって、前記ルート要求は、個々のサービスノードを宛て先として指定するのではなく、発見できる任意のサービスノードへのルートを指定するものであり、前記ルート要求は、前記ネットワークの前記ノードによって配信されるものであり、各ノードは、自身のＩＤを前記ルート要求に付与し該ルート要求をさらに配信するものであり、あるルート要求があるサービスノードへ到達すると、あるルート応答が返却され、前記ルート応答は、前記モバイルノードから前記サービスノードへの前記ルート要求のトレースを含むものである、送信モジュールと、
前記モバイルノードが受信した前記ルート応答に基づいてディスジョイントなルートを決定する決定モジュールであって、前記ルート要求は、発見されたルートが、あるメトリクスに関して最良かつ既知の利用可能なルートよりも悪い場合の程度を表すパス拡張パラメータを含むものである、決定モジュールと、
前記モバイルノードが受信した前記ルート応答が、十分な数のディスジョイントなルートに対応していない場合に、インクリメントされたパス拡張パラメータを有する新たなルート要求を発行する再発行モジュールと
を備えるモバイルノード。
【請求項７】
あるルート要求を中継する各ノードが、前記ルート要求のトレースルートを記憶する記憶モジュールと、
あるルート要求があるノードに再び到達すると、あるメトリクスに関して経由したパスが、既知の最良のルートと比較して、前記パス拡張パラメータにより規定された程度を超えて悪くない場合に限り、前記ルート要求を転送する転送モジュールと
をさらに備える請求項６に記載のモバイルノード。
【請求項８】
前記ルート要求を特定するシーケンス番号を、新たに発行されたルート要求のそれぞれに付与するモジュールと、
ルート要求メッセージを中継する場合に、発信元モバイルノードと前記シーケンス番号とトレースルートとを記憶する記憶モジュールと、
前記モバイルノードがあるルート要求を受信した場合、
前記要求の発信元であるノードからのあるルート要求に対応する情報が、前記モバイルノードの記憶部に記憶されていない場合に、前記ルート要求を転送するステップと、
前記要求の発信元ノードからのある要求がすでに記憶されている場合、受信した前記ルート要求のシーケンス番号に対応する情報が、前記モバイルノードの記憶部に記憶されていないときに、前記ルート要求を転送するステップと、
受信した前記ルート要求の１つよりも大きいシーケンス番号に対応する情報が前記モバイルノードの記憶部に記憶されている場合に、前記ルート要求を破棄するステップと、
受信した前記ルート要求のシーケンス番号に対応する情報が、前記モバイルノードの記憶部に記憶されている場合、前記ルート要求の経由したパスが前記モバイルノードに記憶されている先のルート要求とは異なっているとともに、あるメトリクスに関して経由した、前記ルート要求の発信元であるソースモバイルノードから中継モバイルノードへのパスが、既知の最良ルートと比較して、前記パス拡張パラメータによって規定された程度を超えて悪くない場合に限り、前記ルート要求を転送するステップと
のうちの１つ以上を実行することにより、前記ルート要求を転送するべきものであるかまたは破棄するべきものであるかをチェックするモジュールと
をさらに備える請求項６または７に記載のモバイルノード。
【請求項９】
前記ルート応答が、全てのサービスノードまたは所定の数のサービスノードへのディスジョイントなルートを含んでいないことと、
前記ルート応答が、リンクディスジョイントなルートを含んでいるものの、ノードディスジョイントなルートを含んでいないことと
のうちの１つ以上を満たす場合に、インクリメントされたパス拡張パラメータを有する新たなルート要求を送信する送信モジュールをさらに備える請求項６〜８のいずれか一項に記載のモバイルノード。
【請求項１０】
複数のディスジョイントなルートが前記方法により発見されると、パス拡張パラメータのメトリクスに基づいて最も有利な、通信のためのルートを選択するモジュールをさらに備える請求項６〜９のいずれか一項に記載のモバイルノード。
【請求項１１】
請求項７〜１２のいずれか一項に記載のモバイルノードからメッセージを受信する、モバイルネットワークにおける中継ノードであって、
複数の前記中継ノードを含むアドホックネットワークにおいて、前記モバイルノードから、前記モバイルノードへサービスを提供することのできる複数のサービスノードへのルートを発見するためのものであり、
前記モバイルノードまたは別の中継ノードからルート要求を受信する受信モジュールであって、前記ルート要求は、個々のサービスノードを宛て先として指定するのではなく、発見できる任意のサービスノードへのルートを指定するものであり、前記ルート要求は、前記ネットワークの前記中継ノードにより配信されるものであり、各ノードは、自身のＩＤを前記ルート要求に付与し該ルート要求をさらに配信するものであり、あるルート要求があるサービスノードへ到達すると、ルート応答が返却され、前記ルート応答は、前記モバイルノードから前記サービスノードへの前記ルート要求のトレースを含むものである、受信モジュールと、
ルート要求メッセージをさらに配信する要求転送モジュールと、
前記サービスノードから前記ルート要求の発信元ノードへあるルート応答を転送する応答転送モジュールであって、前記ルート要求は、発見されたルートが、あるメトリクスに関して最良のパスよりも悪い場合の程度を表すパス拡張パラメータを含むものである、応答転送モジュールと、
中継するルート要求のそれぞれに対し、該ルート要求のトレースルートを記憶する記憶モジュールと、
あるルート要求が前記中継ノードに到達すると、あるメトリクスに関して経由したパスが、既知の最良のルートと比較して、前記パス拡張パラメータにより規定された程度を超えて悪くない場合に限り、前記ルート要求を転送する転送モジュールと
を備える中継ノード。
【請求項１２】
ルート要求メッセージを中継する場合に、発信元モバイルノードと前記シーケンス番号とトレースルートとを記憶する記憶モジュールと、
前記モバイルノードがあるルート要求を受信した場合、
受信した前記ルート要求のシーケンス番号に対応する情報が、前記中継ノードの記憶部に記憶されていない場合に、前記ルート要求を転送するステップと、
前記要求の発信元ノードからのある要求がすでに記憶されている場合、受信した前記ルート要求のシーケンス番号に対応する情報が、前記モバイルノードの記憶部に記憶されていないときに、前記ルート要求を転送するステップと、
受信した前記ルート要求の１つよりも大きいシーケンス番号に対応する情報が前記モバイルノードの記憶部に記憶されている場合に、前記ルート要求を破棄するステップと、
受信した前記ルート要求のシーケンス番号に対応する情報が、前記中継ノードの記憶部に記憶されている場合、前記ルート要求の経由したパスが前記中継ノードに記憶されている先のルート要求とは異なっているとともに、あるメトリクスに関する、前記ルート要求の発信元であるソースモバイルノードから中継モバイルノードへのパスが、既知の最良ルートと比較して、前記パス拡張パラメータによって規定された程度を超えて悪くない場合に限り、前記ルート要求を転送するステップと
のうちの１つ以上を実行することにより、前記ルート要求を転送するべきものであるかまたは破棄するべきものであるかをチェックするモジュールと
をさらに備える請求項１１に記載の中継ノード。
【請求項１３】
前記メトリクスは、
パスのホップ数と、
パスの遅延時間と、
パスの帯域幅と
のうちの１つである、
請求項１〜１２のいずれか一項に記載の方法または装置。
【請求項１４】
コンピュータ上で、請求項１〜５のいずれか一項に記載の方法を実行することができるコンピュータ実行可能な命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサービスノードへのディスジョイントなルートを発見する方法および装置に関するものである。
【背景技術】
【０００２】
アドホックネットワークをインターネットへ接続することは、いくつかのアプリケーションシナリオにとっては有用であり、アドホックネットワーク内の装置が、インターネット内のサービスへアクセスすることができるか、またはアドホックネットワークの外側にある装置と通信することができるようになる。アドホックネットワークにおけるプロトコルと「従来の」ネットワークにおけるプロトコルとの間の相互作用により、無線アクセスネットワーク、すなわちマルチホップ無線アクセスネットワーク（ＭＲＡＮ）の設計における新しいパラダイムが導かれる。現存のセルラーおよび無線ＬＡＮシステムの場合、モバイルノード（ＭＮ）は、無線インターフェイスを介してゲートウェイ（ＧＷ、基地局としても知られている）と通信することができ、また、ゲートウェイは有線インターフェイスを介して何らかの方法でインターネットへ接続している。この新しい特徴は、ゲートウェイの無線サービスエリアを拡張するＭＮのマルチホップ機能である。このアーキテクチャは、第３世代（３Ｇ）を超える高速モバイル通信システムを対象としている。例えばモバイル装置が高周波数および限られた電力で動作するために、セルサイズがきわめて小さいとき、これはとりわけ適している。ＭＲＡＮは、弱い屋内のサービスエリアの問題を解決することができ、また、モバイル装置の送信電力を低減することができるため、電池寿命がより長くなり、放出電力（ｅｍｉｓｓｉｏｎ）も小さくなる。マルチホップ機能によって、適応性を増大させることができるとともに、ネットワークプランニングおよびネットワーク運用におけるコストを削減することができる。
【０００３】
マルチホップ無線アクセスネットワークの一例は、図１に模式的に示されている。図１には、直接的または中間ノードを介してマルチホップ形式で相互に接続を確立することのできる複数のモバイルノードＡ，Ｂ，Ｃ，…，Ｉ，Ｓが示されている。この方式では、ノード（例えば図１におけるノードＳ）は、中継として他のＭＮ（例えば、図１に示されているモバイルノードＡ〜Ｉ）を利用することにより、ゲートウェイＧＷ1〜ＧＷ3の１つ以上を介してインターネットへ接続することもできる。
【０００４】
ＭＲＡＮ内のＭＮは通常、エンドユーザが操作する携帯電話、ＰＤＡまたはラップトップコンピュータのような装置である。それゆえ、モバイル装置は、あちこち移動するとともに電源のオンオフが任意に行われる。これにより、ＭＲＡＮ内のＭＮとＧＷとの間のマルチホップ通信パスが不安定になる。しかしながら、ＭＲＡＮの利点は通常、ＭＮがマルチホップ通信により２つ以上のＧＷに到達できるということである。それゆえ、ＭＮは、（例えば、ロードバランシングによるサービスの質の向上のために）同時に複数のＧＷを介してインターネットに接続するか、または現在通信しているＧＷへのルートが切断されると、（通信の信頼性を増大させるために）別のＧＷへの高速マルチホップを実行することができる。
【０００５】
図２には、ＭＮが相異なる３つのルートを経て３つのゲートウェイに接続する例が示されている。しかしながら、図２における例は、複数のＧＷが存在するＭＲＡＮに生じる可能性のある問題、すなわち、相異なる３つのＧＷへのルートの全てが単一のリンク（Ｓ−Ｃ）を共有するという問題を表している。この問題は、複数のＧＷがあるという利点を打ち消してしまう。一方で、スループットが単一のリンクの容量によって制限されるため、相異なるＧＷへのトラフィックロードのバランシングを効果的に実行することができない。他方で、リンクＳ−ＣとノードＣとは単一障害点（ｓｉｎｇｌｅ  ｐｏｉｎｔ  ｏｆ  ｆａｉｌｕｒｅ）である。すなわち、リンクＳ−Ｃに障害があるか、またはノードＣの電源が切られると、全てのＧＷへのルートは同時に途絶え、高速のハンドオーバは実行できない。代わりに、大きい遅延を伴う新たなルートまたはＧＷの発見が必要になるであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記事情に鑑みて、本発明の目的は、先に言及した短所を克服することである。
【課題を解決するための手段】
【０００７】
１つの実施形態によれば、複数のノードを含むアドホックネットワークにおいて、あるモバイルノードから、前記モバイルノードにサービスを提供することのできる複数のサービスノードへのルートを発見する方法であって、前記モバイルノードからルート要求を送信するステップであって、前記ルート要求は、個々のサービスノードを宛て先として指定するのではなく、発見できる任意のサービスノードへのルートを指定するものである、ステップと、前記ネットワークの前記ノードにより前記ルート要求を配信するステップであって、各ノードは、自身のＩＤを前記ルート要求に付与し該ルート要求をさらに配信するものである、ステップと、あるルート要求があるサービスノードへ到達すると、前記モバイルノードから前記サービスノードへの前記ルート要求のトレースを含んだルート応答を返却するステップと、前記モバイルノードが受信した前記ルート応答に基づいてディスジョイントなルートを決定するステップであって、前記ルート要求は、発見されたルートが、あるメトリクスに関して最良のパスよりも悪い場合の程度を表すパス拡張パラメータを含むものである、ステップと、前記モバイルノードが受信した前記ルート応答が、十分な数のディスジョイントなルートに対応していない場合に、インクリメントされたパス拡張パラメータを有する新たなルート要求を発行するステップとを含む方法が提供される。
【０００８】
サービス品質と通信の信頼性とを改善するためには、発信元のモバイルノードと複数のサービスノードとの間にディスジョイントなルートがあることが有利である。これらのルートは、いずれもリンクディスジョイントである（すなわち、異なるルートはどのリンクも共有しない）かもしれないが、ノードディスジョイントである（すなわち、異なるルートはどの中継ノードも共有しない）ときはさらに好ましい。ノードディスジョイントなルートは、リンクディスジョイントでもある。このことによって、ルートがディスジョイントでない部分に起きる可能性のある問題、例えばある一つのノードまたはリンクの障害による問題が回避できる。サービスノードは、モバイルノードへサービスを提供する任意のノードである。サービスノードは、例えば、インターネットまたは別のネットワークへのアクセスを提供するゲートウェイ、ドキュメントを印刷するためのプリントサーバ、ドキュメントを記憶するためのファイルサーバなどである。
【０００９】
パス拡張パラメータを使用すると、所望の結果が得られるまで、例えば全てのサービスノードへの（または所定の最小数のサービスノードへの）ディスジョイントなルートが発見されるまで、ルート要求手順を制御のもと反復することができる。パス拡張パラメータが大きいほど、（可能性のあるパスについてのより大きい自由度により）より多くのルート応答が作られ、従って、満足すべき結果が得られるまでこのパラメータを繰り返しインクリメントすることによって、所望の数のディスジョイントなルートが発見される。メトリクスにより、パスの「質」または「性能」についての尺度が与えられ、このメトリクスを用いることにより、あるルートまたはパスを、質または性能に関して別のものと比較することができる。メトリクスとしては、ホップ数、遅延時間または帯域幅がある。
【００１０】
さらに、パス拡張パラメータは、発見されたパスまたはルートが、許容できるものの、「最良のルート」から逸脱している程度を表すものである。換言すると、パス拡張パラメータは、あるメトリクスに関して許容できるパスまたはルートの範囲を規定するものである。
【００１１】
１つの実施形態によれば、前記方法は、各ノードが、あるルート要求を中継し該ルート要求のトレースルートを記憶するステップと、あるルート要求があるノードに再び到達すると、あるメトリクスに関して経由したパスが、既知の最良のルートと比較して、前記パス拡張パラメータにより規定された程度を超えて悪くない場合に限り、前記ルート要求を転送するステップとをさらに含む。
【００１２】
中継された要求のトレースルートを記憶することにより、ノードが、その後受信する別のルート要求を転送することに意味があるかどうかについて評価できるようになる。これは、受信したルート要求のルートと比較する対象である（記憶部に記憶された）既知のルートを評価し、あるメトリクスを適用して、パス拡張パラメータにより規定された閾値を超えているかどうかをチェックすることにより行われる。メトリクスは、例えばホップ数である。このとき、ルート要求のパス拡張パラメータのチェックには、ルートトレースを、すでにあまりにも長くなった（あまりにもホップ数が大きくなった）要求を破棄することのできる中継ノードにおいて、すでに記憶されたルート要求のそれらと比較することが含まれている。ここで、すでにあまりにも長くなった（あまりにもホップ数が大きくなった）要求によれば、発見されたルートが最短ルートとパス拡張パラメータ（この実施形態では付加的なホップ数として規定されたもの）との組み合わせよりも長いものであってはならないことを意味するパス拡張パラメータ基準を満たすルートを発見することはできない。
【００１３】
１つの実施形態によれば、前記方法は、前記ルート要求を特定するシーケンス番号を、新たに発行されたルート要求のそれぞれに付与するステップと、各ノードが、あるルート要求を中継し、前記ルート要求の発信元モバイルノードと前記シーケンス番号とトレースルートとを記憶するステップと、ある中継ノードがあるルート要求を受信した場合、前記要求の発信元であるノードからのあるルート要求に対応する情報が、前記モバイルノードの記憶部に記憶されていない場合に、前記ルート要求を転送するステップと、前記要求の発信元ノードからのある要求がすでに記憶されている場合、受信した前記ルート要求のシーケンス番号に対応する情報が、前記中継ノードの記憶部に記憶されていないときに、前記ルート要求を転送するステップと、受信した前記ルート要求の１つよりも大きいシーケンス番号に対応する情報が前記中継ノードの記憶部に記憶されている場合に、前記ルート要求を破棄するステップと、受信した前記ルート要求のシーケンス番号に対応する情報が、前記中継ノードの記憶部に記憶されている場合、前記ルート要求の経由したパスが前記中継ノードに記憶されている先のルート要求とは異なっているとともに、あるメトリクスに関して経由したパスが、既知の最良ルートと比較して、前記パス拡張パラメータによって規定された程度を超えて悪くない場合に限り、前記ルート要求を転送するステップとのうちの１つ以上を実行することにより、前記ルート要求を転送するべきものであるかまたは破棄するべきものであるかをチェックするステップとをさらに含む。
【００１４】
発行されたそれぞれのルート要求にシーケンス番号を付与することによって、相異なるルート要求を区別することが可能になる。これによって例えば、後に発行された要求によりすでに取って代えられた「古い要求」を特定することが可能になる。このような古い要求を受信したときには、それを破棄することができる。これによって、ネットワークが古いルート要求メッセージを循環させてしまう状態を回避できる。
【００１５】
これに対して、新たに発行されたメッセージを特定して転送することができ、中継ノードの記憶部にエントリーを記憶することができる。
【００１６】
中継ノードの記憶部にエントリーがすでに存在する重複したメッセージについては、新たに受信した要求のルートとすでに記憶された要求のルートとのチェックにより、すでに存在しているルートを再び評価することを回避できる。パス拡張パラメータをチェックすることによって、あるメトリクスによる品質メトリクスが満たされ、それにより、パス拡張パラメータにより規定されたメトリクスを満たす可能性のあるルートの調査を限定する効果的なルート発見手順がもたらされる。
【００１７】
１つの実施形態によれば、前記方法は、前記ルート応答が、全てのサービスノードまたは所定の数のサービスノードへのディスジョイントなルートを含んでいないことと、前記ルート応答が、リンクディスジョイントなルートを含んでいるものの、ノードディスジョイントなルートを含んでいないこととのうちの１つ以上を満たす場合に、インクリメントされたパス拡張パラメータを有する新たなルート要求を送信するステップをさらに含む。
【００１８】
インクリメントされたパス拡張パラメータに基づいてルート要求メッセージを繰り返し生成することにより、所望の数のパスが発見されるまで前記手順を実行することができる。設定されている要件にもよるが、このことは例えば、可能性のある全てのサービスノードへのディスジョイントなルートが発見されたとき、または相異なるサービスノードへの最小数のディスジョイントなルートが発見されたときに実現することができる。
【００１９】
発見されたルートがリンクディスジョイントであるだけでなく、ノードディスジョイントでもあることを要求することができる。このような場合、ルート要求は、ノードディスジョイントである所望の数の（または可能な全ての）ルートが発見されるまで、インクリメントされたパス拡張パラメータに基づいて生成される。
【００２０】
１つの実施形態によれば、ルート要求は、インクリメントされたパス拡張パラメータに基づいて、パス拡張パラメータの最大値に達するまで生成される。
【００２１】
１つの実施形態によれば、前記方法は、複数のディスジョイントなルートが前記方法により発見された場合、前記パス拡張パラメータのメトリクスに基づいて最も有利な、通信のためのルートを選択するステップを含む。
【００２２】
ディスジョイントであり、従って基本的な要件を満たす複数の可能なルートが、検出されるかもしれない。この場合には、パス拡張パラメータが規定されるメトリクスの点で最も好ましい実際の通信のために、それらルートを選択することが好ましい。パス拡張パラメータをホップ数で規定した場合、全体として最小のホップ数を有するルートを選択することが最も有利であろう。他のメトリクスの場合にも、同様の選択（最高の全帯域幅、最小の全遅延）を行うことができる。
【００２３】
１つの実施形態によれば、複数のノードを含むアドホックネットワークにおいて、あるモバイルノードから、前記モバイルノードへサービスを提供することのできる複数のサービスノードへのルートを発見するモバイルノードであって、前記モバイルノードからあるルート要求を送信する送信モジュールであって、前記ルート要求は、個々のサービスノードを宛て先として指定するのではなく、発見できる任意のサービスノードへのルートを指定するものであり、前記ルート要求は、前記ネットワークの前記ノードによって配信されるものであり、各ノードは、自身のＩＤを前記ルート要求に付与し該ルート要求をさらに配信するものであり、あるルート要求があるサービスノードへ到達すると、あるルート応答が返却され、前記ルート応答は、前記モバイルノードから前記サービスノードへの前記ルート要求のトレースを含むものである、送信モジュールと、前記モバイルノードが受信した前記ルート応答に基づいてディスジョイントなルートを決定する決定モジュールであって、前記ルート要求は、発見されたルートが、あるメトリクスに関して最良かつ既知の利用可能なルートよりも悪い場合の程度を表すパス拡張パラメータを含むものである、決定モジュールと、前記モバイルノードが受信した前記ルート応答が、十分な数のディスジョイントなルートに対応していない場合に、インクリメントされたパス拡張パラメータを有する新たなルート要求を発行する再発行モジュールとを備えるモバイルノードが提供される。
【００２４】
１つの実施形態によれば、前記モバイルノードは、あるルート要求を中継する各ノードが、前記ルート要求のトレースルートを記憶する記憶モジュールと、あるルート要求があるノードに再び到達すると、あるメトリクスに関して経由したパスが、既知の最良のルートと比較して、前記パス拡張パラメータにより規定された程度を超えて悪くない場合に限り、前記ルート要求を転送する転送モジュールとをさらに備える。
【００２５】
１つの実施形態によれば、前記モバイルノードは、前記ルート要求を特定するシーケンス番号を、新たに発行されたルート要求のそれぞれに付与するモジュールと、ルート要求メッセージを中継する場合に、発信元モバイルノードと前記シーケンス番号とトレースルートとを記憶する記憶モジュールと、前記モバイルノードがあるルート要求を受信した場合、受信した前記ルート要求の前記シーケンス番号に対応する情報が、前記モバイルノードの記憶部に記憶されていない場合、前記ルート要求を転送するステップと、前記要求の発信元であるノードからのある要求に対応する情報が、前記モバイルノードの記憶部に記憶されていない場合、前記ルート要求を転送するステップと、前記要求の発信元ノードからのある要求がすでに記憶されている場合、受信した前記ルート要求の１つよりも大きいシーケンス番号に対応する情報が前記モバイルノードの記憶部に記憶されている場合に、前記ルート要求を破棄するステップと、受信した前記ルート要求のシーケンス番号に対応する情報が、前記モバイルノードの記憶部に記憶されている場合、前記ルート要求の経由したパスが前記モバイルノードに記憶されている先のルート要求とは異なっているとともに、前記ルート要求の発信元であるソースモバイルノードから中継モバイルノードへのパスが、前記モバイルノードから前記中継モバイルノードへの既知の最短のパスと前記パス拡張パラメータとを加えたものよりも長くない場合に限り、前記ルート要求を転送するステップとのうちの１つ以上を実行することにより、前記ルート要求を転送するべきものであるかまたは破棄するべきものであるかをチェックするモジュールとをさらに備える。
【００２６】
１つの実施形態によれば、前記モバイルノードは、前記ルート応答が、全てのサービスノードまたは所定の数のサービスノードへのディスジョイントなルートを含んでいないことと、前記ルート応答が、リンクディスジョイントなルートを含んでいるものの、ノードディスジョイントなルートを含んでいないこととのうちの１つ以上を満たす場合に、インクリメントされたパス拡張パラメータを有する新たなルート要求を送信する送信モジュールをさらに備える。
【００２７】
１つの実施形態によれば、請求項７〜１２のいずれか一項に記載のモバイルノードからメッセージを受信する、モバイルネットワークにおける中継ノードであって、複数の前記中継ノードを含むアドホックネットワークにおいて、前記モバイルノードから、前記モバイルノードへサービスを提供することのできる複数のサービスノードへのルートを発見するためのものであり、前記モバイルノードまたは別の中継ノードからルート要求を受信する受信モジュールであって、前記ルート要求は、個々のサービスノードを宛て先として指定するのではなく、発見できる任意のサービスノードへのルートを指定するものであり、前記ルート要求は、前記ネットワークの前記中継ノードにより配信されるものであり、各ノードは、自身のＩＤを前記ルート要求に付与し該ルート要求をさらに配信するものであり、あるルート要求があるサービスノードへ到達すると、ルート応答が返却され、前記ルート応答は、前記モバイルノードから前記サービスノードへの前記ルート要求のトレースを含むものである、受信モジュールと、ルート要求メッセージをさらに配信する要求転送モジュールと、前記サービスノードから前記ルート要求の発信元ノードへあるルート応答を転送する応答転送モジュールであって、前記ルート要求は、発見されたルートが、あるメトリクスに関して最良のパスよりも悪い場合の程度を表すパス拡張パラメータを含むものである、応答転送モジュールと、中継するルート要求のそれぞれに対し、該ルート要求のトレースルートを記憶する記憶モジュールと、あるルート要求が前記中継ノードに到達すると、あるメトリクスに関して経由したパスが、既知の最良のルートと比較して、前記パス拡張パラメータにより規定された程度を超えて悪くない場合に限り、前記ルート要求を転送する転送モジュールとを備える中継ノードが提供される。
【００２８】
１つの実施形態によれば、前記中継ノードは、中継するルート要求のそれぞれに対し、該ルート要求のトレースルートを記憶する記憶モジュールと、あるルート要求が前記中継ノードに到達すると、あるメトリクスに関して経由したパスが、既知の最良のルートと比較して、前記パス拡張パラメータにより規定された程度を超えて悪くない場合に限り、前記ルート要求を転送する転送モジュールとをさらに備える。
【００２９】
１つの実施形態によれば、前記中継ノードは、前記ルート要求を特定するシーケンス番号を、新たに発行されたルート要求のそれぞれに付与するモジュールと、ルート要求メッセージを中継する場合に、発信元モバイルノードと前記シーケンス番号とトレースルートとを記憶する記憶モジュールと、前記モバイルノードがあるルート要求を受信した場合、  前記要求の発信元であるノードからのあるルート要求に対応する情報が、前記モバイルノードの記憶部に記憶されていない場合に、前記ルート要求を転送するステップと、前記要求の発信元ノードからのある要求がすでに記憶されている場合、受信した前記ルート要求のシーケンス番号に対応する情報が、前記モバイルノードの記憶部に記憶されていないときに、前記ルート要求を転送するステップと、受信した前記ルート要求の１つよりも大きいシーケンス番号に対応する情報が前記モバイルノードの記憶部に記憶されている場合に、前記ルート要求を破棄するステップと、受信した前記ルート要求のシーケンス番号に対応する情報が、前記モバイルノードの記憶部に記憶されている場合、前記ルート要求の経由したパスが前記モバイルノードに記憶されている先のルート要求とは異なっているとともに、あるメトリクスに関して経由した、前記ルート要求の発信元であるソースモバイルノードから中継モバイルノードへのパスが、既知の最良ルートと比較して、前記パス拡張パラメータによって規定された程度を超えて悪くない場合に限り、前記ルート要求を転送するステップとのうちの１つ以上を実行することにより、前記ルート要求を転送するべきものであるかまたは破棄するべきものであるかをチェックするモジュールとをさらに備える。
【００３０】
１つの実施形態によれば、前記メトリクスは、パスのホップ数と、パスの遅延時間と、パスの帯域幅とのうちの１つである。
【００３１】
１つの実施形態によれば、コンピュータ上で、本発明の実施形態に基づく方法を実行することができるコンピュータ実行可能な命令を含むコンピュータプログラムが提供される。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施形態について説明する。図３に関連してこれから説明する第１の実施形態によれば、ディスジョイントなルートを発見することができる。
【００３３】
１つの実施形態によれば、複数のサービスノードへのルートを発見することを要求するモバイルノード（ソースノード）が、ルート要求を生成する（図３の符号３００）。このルート要求メッセージは、相異なる個々のサービスノードを指定するのではなく、任意のサービスノードへのルートの発見を要求する。通常、サービスノードのタイプ（例えば、インターネットゲートウェイ、プリントサーバ、ファイルサーバなど）が指定されるが、個々のサービスノードがその要求により指定されることはない。次いでこの要求は、発信元ノード（「ソースノード」）を起点として、ネットワークの他のノードを介して転送され中継されることにより、ネットワークを介して配信される。それぞれの中継ノードは、自身のＩＤをこの要求に付与し、次いで、例えばブロードキャストによって隣接する全てのノード（受信した相手先のノードは除く）へ転送する（図３の符号３１０）。このように転送されたルート要求メッセージが、あるサービスノードへ到達すると、ルート要求がそのサービスノードへ到達するまでに経由したパス（トレースルート）を含んだルート応答がサービスノードにより生成される。このように生成されたルート応答メッセージは、ソースノードへ返却される（図３の符号３２０）。このようにして、ソースノードは相異なるサービスノードから複数のルート応答を受信することができる。複数のルート応答のトレースルートを比較することにより発信元ノードは、ディスジョイントなルートを決定することができる（図３の符号３３０）。十分な数（例えば、ユーザによって内部的に設定または規定された所定のメトリクスに合致する数）のディスジョイントなルートがこのようにして決定されると、そのソースノードは、それらを用いて、発見されたディスジョイントなルートに対応するサービスノードにより提供されるサービスを受けることができる。
【００３４】
しかしながら、このようにして発見することのできるディスジョイントなルートが全くないか、または十分な数だけないということが起こりうる。次の実施形態は、この可能性を考慮に入れている。この実施形態によってルートを発見する方法によれば、ＭＮが、複数のＧＷへのリンクディスジョイントなルートまたはノードディスジョイントなルートを効果的でリアクティブに発見することが可能になる。この実施形態では、ＭＮが相異なるゲートウェイ（ＧＷ）へのルートを検索することを想定している。
【００３５】
ゲートウェイを検索するＭＮは、ルート要求（ＲＲＥＱ）メッセージを以下の異なる２つの特徴を用いてブロードキャストする。
＊このＲＲＥＱメッセージは、特定の宛て先の代わりに任意のゲートウェイへのルートについての要求を含んでいる。
＊このＲＲＥＱは、発見されたルートを、あるメトリクスに基づいてあるゲートウェイへの利用可能な最良のルートと比較し、どの程度有利でないかを示す基準または程度を指定するパス拡張パラメータを含んでいる。これにより、発信元ＭＮは、複数のゲートウェイへの利用可能な最良なルートがディスジョイントではないときに要求される、発見されたルートの質（または質判定用パラメータ）を調整することができる。
【００３６】
ソースＭＮは、第１のＲＲＥＱを開始すると、パス拡張パラメータをゼロに設定する。
ＲＲＥＱを受信する他のＭＮは、パス拡張パラメータを認識し、それを適切に転送する。さらにまた、ＲＲＥＱメッセージを中継するそれぞれのＭＮは、自身のＩＤを追加する。従って、あるＧＷが最終的にこのＲＲＥＱを受信すると、そのメッセージには、そのソースからそのＧＷまでの記録された全ルートが含まれている。受信したそれぞれのＲＲＥＱについて、ＧＷはその記録されたルートをＲＲＥＱからあるルート応答（ＲＲＥＰ）メッセージへコピーし、それをソースＭＮへ返却する。
【００３７】
ソースＭＮは次いで、全てのゲートウェイへのパスディスジョイントなルートまたはノードディスジョイントなルートを決定する。受信したＲＲＥＰメッセージの情報からディスジョイントなルートを計算することができないときには、パス拡張パラメータ（質に対するより大きい許容度、例えば、可能性のある最良なルートと比較して許容されるより大きいホップ数、許容されるより少ない帯域幅、または許容されるより大きい遅延に対応）をインクリメントし、新たなＲＲＥＱを新たな値をもつｎで開始する。ＭＮはその後、（パス拡張パラメータｎによって許容できるとして規定されている）利点の少ないルートを伴うゲートウェイから、より多くのＲＲＥＰを受信するであろう。さらに、ゲートウェイへのディスジョイントなルートを決定するように試みる。ソースＭＮは、全てのＧＷへのパスディスジョイントなルートまたはノードディスジョイントなルートのいずれかを決定することができるまで、または、ｎについてのある限界値に到達するまで上記手順を繰り返す。
【００３８】
ゼロに等しいｎを伴う第１のＲＲＥＱをブロードキャストし、それをディスジョイントなルートが発見されるまでインクリメントすることによって、ＭＲＡＮにおける信号送信のオーバーヘッドを抑えるのに役立つ。その結果、図４に示されているようにＭＮにより、複数のゲートウェイへのノードディスジョイントなルートが効率的に発見される。
【００３９】
以下、実施形態のオペレーションについて、図５を参照しながらさらに詳しく説明する。この実施形態において、パス拡張パラメータは、利用可能な最良なルートと比較して、ホップ数によって規定されるようなパス長の点で利点の少ないルートを許容することのできる度合いを規定する。従って、この実施形態におけるパス拡張パラメータは、ホップ数に対応している。
【００４０】
符号５００では、パス拡張パラメータを含んだルート要求が生成され送信される。符号５１０でサービスノードがその要求を受信すると、符号５２０でルート応答メッセージが生成され送信される。そうでない場合、受信ノードは、符号５３０でそのメッセージをさらに転送するかどうかをチェックする中継ノードである。これは、パス拡張パラメータｎ＋受信したメッセージのトレースルート（メッセージがトレースルートに沿って送信されたときのホップ数）が、利用可能な最短パス（中継ノードの中に記憶された、ルート要求をすでに受信しているトレースルート内のソースノードと中継ノードとの間の最短パス）よりも大きいかどうかをチェックすることによって行われる。そうでない場合、その中継ノードのＩＤをトレースルートへ追加するとともにその要求のトレースルートを中継ノードの記憶部の中に記憶するため、ルート要求はさらに転送される（符号５５０）。転送するための基準が満たされない場合、そのルート要求は破棄される（符号５４０）。しかしながら、この転送は、次のノードがそのルート要求を受信するため、この手順が符号５１０へ戻ることを意味している。
【００４１】
次いで符号５６０では、十分な数のルートが発見されたかどうかということが、（先の実施形態のように受信したルート応答に基づいて）チェックされる。このチェックは例えば、タイムアウト後すなわちルートを検出するためにその手順に与えられた時間の経過後であって時間評価５６０が行われた後に実行される。十分な数のルートがすでに発見されているときには、この手順は符号５７０で終了する。しかしながら、ルートがまったく発見されないか、または十分な数のルートが発見されていないときには、符号５８０で、パス拡張パラメータは（例えば、１または他の任意の所定の数だけ）インクリメントされ、この手順は符号５１０へ戻る。
【００４２】
これに代わり、１つの実施形態では、ディスジョイントなルートの発見に関する所定のメトリクスが満たされているかどうかについて継続的にチェックされる。例えば、このメトリクスは、ある数のディスジョイントなルートが発見されることを要求する。発見されたルートがメトリクスを満たしているとすぐに、全ての手順は終了する。メトリクスを満たす十分な数のディスジョイントなルートが発見されないときには、その手順は、タイムアウトが生じるまで、あるパス拡張パラメータｎを用いて反復する。タイムアウトが生じた後、パス拡張パラメータはインクリメントされ、そのインクリメントされたパス拡張パラメータを用いてその手順が再び開始される。これは、一般的なタイムアウトが生じるまで、または（例えばユーザによってあらかじめ定義することができる）最大パス拡張パラメータが十分な数のディスジョイントなルートを発見することなく到達するまで、繰り返すことができる。
【００４３】
この手順を高速化するために、０よりも大きいパス拡張パラメータの初期値を選択することができる。さらにまた、１以外のインクリメントを選択することができる。
【００４４】
先に説明したように、複数のＧＷへのディスジョイントなルートを確立するための手順には、以下の２つの主な利点がある。
＊１つは、アドホックネットワークにおけるＭＮからインターネットへのパスには、単一障害点（リンク、中継ノードまたはＧＷ）は存在しない。あるリンク、中継ノードまたはＧＷに障害が発生すると、ソースＭＮは、このインターネットへ向かう代わりのパスを依然として使用することができる。このことは、通信について高い信頼性が要求される場合、例えば危機的状況においては特に重要である。さらにまた、単一障害点を回避することによって、セッションがより長い間、遮断されてしまうということが少なくなるので、サービスの質が向上する。
＊もう１つは、２つ以上のトラフィックフローに対して中継ノード、リンクまたはＧＷを使用しない（ＭＮのトラフィック以外を無視する）ので、ディスジョイントなルートを使用することにより、相異なるＧＷにわたるきわめて効率的なロードバランシングが可能になる。これにより、サービスの質がさらに向上する。
【００４５】
先の実施形態では、受信したルート要求が転送するに値するように十分良好に（または「十分短く」）経由しているかどうかを評価するために、パス拡張パラメータを使用した。より一般的なアプローチでは、受信したルート要求のルートの評価が、あるメトリクスに基づいて利用可能な最良なルートと比較するべきその質に関して実行されるため、これを考慮することができる。先の例におけるメトリクスは、ルート要求が経由したホップ数である。このメトリクスを用いることで、受信したルート要求のパスは、パラメータとしてホップ数によって規定されたメトリクスを用いて、モバイルノードの記憶部に記憶されたパスと比較する限り、「最良の」パスと比較される。受信した要求のパスが「パス拡張パラメータ（先の例では付加的なホップ数）」より多い分だけ「最良のパス」とは異なっている場合、破棄される。
【００４６】
しかしながら、このアプローチは、別の実施形態においてもパス遅延または帯域幅のような他のメトリクスを用いて適用することができる。例えば、遅延をメトリクスとして用いる場合、受信したルート要求は、すでに存在している、中継ノードに記憶されている同じ発信元ノードからのパスと比較してどの程度遅延しているかを評価することにより判断される。その遅延が「パス拡張パラメータ」（この実施形態では遅延時間）よりも大きいときは、その要求は破棄され、そうでないときは他のノードへ転送される。この実施形態における「既知の最良のルート」または「最高の質を持つルート」は、「最速のルート」であり、パス拡張パラメータは、許容可能かどうかを考慮するために、あるパスがどの程度遅いかを規定する。
【００４７】
代わりに、受信したルート要求がとるルートを評価するためのメトリクスとして帯域幅を用いることができる。この場合、「最良のパス」は最も高い帯域幅を有するパスであり、パス拡張パラメータは、許容できるパスの帯域幅が最良のパスよりも小さい場合の帯域幅の差分である。次に、受信したルート要求は、そのルート要求が通った対応するパスの帯域幅に関して評価され、この評価に基づいてルート要求は破棄されるかまたは転送される。この実施形態における「既知の最良のパスまたはルート」は、最も高い帯域幅を有するものである。パス拡張パラメータは、あるパスが許容可能かどうかを考慮するために、該パスの帯域幅がどの程度低いかを規定する。
【００４８】
当業者によれば、パス拡張パラメータのメトリクスが遅延として規定されている場合、検索された別のルートが単位遅延時間であれば、パス拡張パラメータによるインクリメントが行われるということがわかるであろう。同様に、パス拡張パラメータのメトリクスが帯域幅として規定されている場合、別のルートが単位帯域幅である場合、検索における質の許容度を増加させるためにパス拡張パラメータをインクリメントする。一方で、この場合、インクリメントは、許容できる帯域幅の量を減少させるために、実際は負である。
【００４９】
以下、本発明による別の実施形態を説明する。この実施形態において複数のゲートウェイへのディスジョイントなルートの発見は、４つのステップ、すなわち、以下で詳しく説明するＲＲＥＱ開始と、ＲＲＥＱ転送と、ルート応答と、ルート計算とから構成されている。
【００５０】
ルート要求（ＲＲＥＱ）開始
このステップは先の実施形態における一番上の符号５００に対応しているが、以下において説明するように幾分異なっている。この実施形態におけるＲＲＥＱメッセージには、ソースＭＮのＩＤ（例えばＩＰアドレス）とシーケンス番号とが含まれている。このシーケンス番号は第１のＲＲＥＱの場合はゼロに設定されて、あるＭＮが送信し、このＭＮによって送信される新たな各ＲＲＥＱの場合はインクリメントされる。ＲＲＥＱメッセージにおけるユニークなＩＤとシーケンス番号とによって、他のＭＮがこのメッセージを受信してそのメッセージが重複しているかどうかを検出することが可能になる。これは、ＲＲＥＱがソースから相異なるルートを介して宛て先へ転送されるときに生じる。
【００５１】
ＲＲＥＱメッセージには、パス拡張パラメータ（ｎ）も含まれている。ＭＮが新しいＧＷの発見を開始すると、それによりｎは第１のＲＲＥＱに対してゼロに設定される。次に、このメッセージを全ての隣接するノードへブロードキャストする。
【００５２】
ＲＲＥＱ転送
このステップは、先の実施形態の符号５１０、５３０および５５０に対応している。ただ異なる点があるため、以下のように説明する。一般に、ＲＲＥＱメッセージを中継する各ＭＮは、自身のＩＤを追加する。これにより、このメッセージを受信した任意のノードは、そのメッセージがこれまでに通ったパスへトレースバックすることができる。さらに、ノードは、発信元ＩＤ、シーケンス番号および中継されたそれぞれのＲＲＥＱメッセージのルートトレースがテーブルに記憶する。「記憶部をクリーンな状態に保つ」ために、データは、所定の時間、例えば３秒のような短い時間だけ記憶される。データが記憶される時間は、すでに不要となったデータで記憶部があふれることを防止するために十分短くなるように選択すべきである。しかし他方で、データは、ある要求が循環し続けることを防止するために十分に長い間記憶されるべきである。これにより、記憶部がクリアされる前に、すでに受信したものとして認識することができる。適切な時間パラメータは、ネットワークのサイズと複雑度とに依存しており、適切に選択することができる。
【００５３】
ＲＲＥＱメッセージを受信したＭＮは、このメッセージに含まれている情報をＭＮ自身のテーブルの情報と比較する。その結果に応じて、メッセージを以下の異なる方法で処理する（これは先の実施形態のチェック動作５３０に対応している）。
＊新しいメッセージである場合（すなわち、そのテーブルにこのソースＭＮについての情報がないか、または、そのテーブルに記憶されているこのソースＭＮについてのシーケンス番号が、受信したメッセージのシーケンス番号よりも小さい場合）、ＭＮはそれを隣接する全てのノードへ転送する。
＊古いメッセージである場合（すなわち、そのテーブルに記憶されているこのソースＭＮについてのシーケンス番号が、受信したメッセージのシーケンス番号よりも大きい場合）、ＭＮはそのメッセージを破棄する。
＊重複したメッセージである場合（すなわち、そのテーブルに記憶されているこのソースＭＮについてのシーケンス番号が、受信したメッセージのシーケンス番号に等しい場合）、ＭＮは、このメッセージを単に転送し、通ったパスが先の重複メッセージのパスとは異なり、かつ、ソースＭＮへの既知の最短ルートよりも長くない場合には、ｎを加える。そうでない場合、そのメッセージは破棄される。さらにいくつかのメッセージは、ループに入った場合、すなわち受信ＭＮが、受信したＲＲＥＱのルート記録の中に自身のＩＤを発見した場合には破棄される。
【００５４】
図１に示されている実施例のトポロジーを考慮して、パス拡張パラメータｎに依存するノードＳによって、あるＲＲＥＱが開始された後に、各ＭＮおよびＧＷによって記憶されるルートが表１に示されている。例えば、ノードＡはＳからパス長１で直接ＲＲＥＱを受信する。もし、パスＳ−Ｃ−Ｄ−Ａ（３ホップ長）を経由した重複するＲＲＥＱを受信すると、メッセージにおいてｎが２で指定された場合にはそれを単に転送する（表１の第２行第４列）。
【表１】
2007159099.tif 000003
【００５５】
ルート応答（ＲＲＥＰ）
これは先の実施形態の動作５２０に対応している。ＲＲＥＱメッセージを受信したゲートウェイは、中継ＭＮに類似した方法でそれを処理する。中継ＭＮのように、受信した要求が破棄すべきものであるか、または「別の処理」に値するものであるかどうか（言い換えれば、「有効な」ルート要求とみなされるかどうか）をチェックする。しかしながら、中継ノードとは異なり、サービスノードにおける別の処理は、ルート要求をさらに配信するのではなく、ルート応答を発行して返却することである。ルート要求が送信されるかどうか（ルート要求が「有効」であるかどうか）のチェックは、受信したルート要求が中継ノードによってさらに配信されるべきものであるかどうかをチェックするために、同じようなやり方で部分的に行われる。同様に、最初に、すでに受信したルート要求の発信元ノードと同じであるかどうかがチェックされる。そうでない場合には、ルート応答が返却される。
【００５６】
同じ発信元ノードからのルート要求が以前すでに受信したものである場合、別の処理が個々の実施形態に依存している。１つの実施形態によれば、そのルート要求は、同一の発信元ノードからの先のルート要求が、このノードからサービスノードへのルートをすでに発見していることからそのルート要求を破棄してもよい（別のルートは必要でない）ことを意味しているので、破棄してもよい。しかしながら、別の実施形態によれば、新たに受信した要求に対応しているルートを先の要求の既知のルートと比較し、その新たなルートがあるメトリクス（例えば、ホップ数、遅延時間、帯域幅）に関してより良好なものであるときには、ルート応答が送信される。さらに別の実施形態によれば、別の処理はシーケンス番号にも依存している。例えば、シーケンス番号が同一の発信元ノードから受信した先のＲＲＥＱのものよりも大きいときには、先のＲＲＱに対応しているルートがもはや使用できないかもしれないため、ＲＲＥＰが送信される。次に、それは、古いルートがまだアクティブな状態にあるときに、後に受信したルート応答に対応するルートまたはすでに存在しているルートを使用すべきかどうかを決定するために、その発信元ノードに一任することができる。
【００５７】
また、シーケンス番号が、同一のノードからの先のＲＲＥＱのものと同じである場合、ある実施形態では、パス拡張パラメータによって規定された質に関するメトリクスが満たされたときにルート応答を返却することは意味がある。これによって、パス拡張基準を満たす別のルートについての発信元ノードへの通知が可能になる。また、発信元ノードは、より良好な質（より少ないホップ、より少ない遅延、またはより高い帯域幅）を持つルートに何らかの理由で障害が発生したときには、このルートをバックアップルートとして使用することができる。
【００５８】
ＲＲＥＱが有効であるとみなされた場合（すなわち、それが破棄されなかった場合）、ＧＷは、ＲＲＥＱメッセージの中に記録されたルートをあるＲＲＥＰメッセージへコピーし、自身のＩＤを追加して、そのＲＲＥＰをＲＲＥＱの発信元へ送信する。ここで、ＲＲＥＰは、トレースルートに記録されている、ＲＲＥＱが経由したものと同一のルートを経由して返却されるということに留意すべきである。しかしながら、１つの実施形態では、ＲＲＥＰについて異なるルートを、発信元ノードへの戻り道として選択することも可能である。これは例えば、その実施形態において、修正すべきでない基本となるルーティングプロトコルを使用するときに可能である。ｎに依存している各ＧＷへの発見されたルートは、表１の最後の３行に示されている。
【００５９】
ルート計算
このステップは先の実施形態において詳しく説明した。しかしながら、それは、この実施形態に対応しており、先の実施形態における図３に関連して説明した実施形態の動作３３０にも対応している。ｎにも依存するが、ソースＭＮは、表１の最後の３行に示されているように、異なるＧＷから複数のルートについて複数のＲＲＥＰを受信する。この例では、ｎがゼロであるときには、３つの全てのＧＷへのディスジョイントなルートは存在しない。ノードディスジョイントなルートは、ＧＷ１およびＧＷ２（表１の第２列に太字で示されているＳ−Ａ−Ｂ−ＧＷ1およびＳ−Ｃ−Ｄ−ＧＷ2）、または、ＧＷ１およびＧＷ３（Ｓ−Ａ−Ｂ−ＧＷ1およびＳ−Ｃ−Ｅ−ＧＷ2）だけである。
【００６０】
全てのサービスノードへのディスジョイントなルートを発見するということを要求する設定であると仮定すると、ｎ＝０の場合のルートの発見はまだ十分には成功していない。従って、ソースＭＮは、ｎが１に等しい（インクリメントされたシーケンス番号を含んだ）第２のＲＲＥＱを開始する。次に、ソースＭＮは、可能性のあるルートを含んだより多くのＲＲＥＰを獲得し、その３つのＧＷはパスディスジョイントなルートを介して到達することができる。実際に、その３つのＧＷにどのようにパスディスジョイントなルートを介して到達するかについては、異なる２つの可能性が存在している（表１の第３列において、それぞれ太字およびイタリック体で示されている）。この場合、ＭＮは、総ホップ数（すなわち、３つの全てのディスジョイントなルートのホップ数の合計）を最小限にする一連のルートを選択する。しかしながら、本明細書の例では、両方の可能性とも同一の総ホップ数を有している。この場合、あるルートを任意に選択することができる。
【００６１】
ＭＮは、パスディスジョイントなルートが得られない場合、２に設定されたｎを含んだ第３のＲＲＥＱを開始する。次に、ソースＭＮは、３つのＧＷへのノードディスジョイントなルート（表１の第４列において太字で示されているもの）を決定することができる十分なＲＲＥＰメッセージを実際に受信する。
【００６２】
先の実施形態では、どれが「最良のパス」（最小のホップ数を有するもの）であるかを評価するため、かつ、まだ許容できると考えられる付加的なホップ数としてのパス拡張パラメータを規定するためにメトリクスとして「ホップ数」を使用したということに留意すべきである。しかしながら、その実施形態は、先の実施形態に関してすでに説明したように、遅延時間または帯域幅のような異なるメトリクスを用いて近似的に使用することができる。
【００６３】
当業者によれば、これまでに述べた実施形態は、ハードウェア、ソフトウェアまたはソフトウェアとハードウェアとの組み合わせによって実施できるということが理解されるであろう。本発明の実施形態に関して説明したモジュールは、本発明の実施形態に関して説明した方法によって動作するように適切にプログラミングされたマイクロプロセッサまたはコンピュータにより、全体的または部分的に実施することができる。
【００６４】
本発明の１つの実施形態によれば、データキャリアに記憶されているか、または記録媒体もしくは送信リンクのような何らかの物理的な手段によって具体化される、コンピュータ上でこれまでに述べた発明の実施形態に基づいてコンピュータを動作させることのできるコンピュータプログラムが提供される。
【図面の簡単な説明】
【００６５】
【図１】本発明のある実施形態に関連して使用するネットワーク構造の一例を模式的に示す図である。
【図２】ソースノードがディスジョイントでない複数のルートに接続されているネットワークの一例を模式的に示す図である。
【図３】本発明のある実施形態による方法を示すフローチャートである。
【図４】本発明のある実施形態を使用して発見されたディスジョイントなルートを模式的に示す図である。
【図５】本発明の別の実施形態による方法を示すフローチャートである。
【図１】
2007159099.tif 000004
【図２】
2007159099.tif 000005
【図３】
2007159099.tif 000006
【図４】
2007159099.tif 000007
【図５】
2007159099.tif 000008
【外国語明細書】
2007159099.tif 000009
2007159099.tif 000010
2007159099.tif 000011
2007159099.tif 000012
2007159099.tif 000013
2007159099.tif 000014
2007159099.tif 000015
2007159099.tif 000016
2007159099.tif 000017
2007159099.tif 000018
2007159099.tif 000019
2007159099.tif 000020
2007159099.tif 000021
2007159099.tif 000022
2007159099.tif 000023
2007159099.tif 000024
2007159099.tif 000025
2007159099.tif 000026
2007159099.tif 000027
2007159099.tif 000028
2007159099.tif 000029
2007159099.tif 000030
2007159099.tif 000031
2007159099.tif 000032
2007159099.tif 000033
2007159099.tif 000034
2007159099.tif 000035
2007159099.tif 000036
2007159099.tif 000037
2007159099.tif 000038
2007159099.tif 000039
2007159099.tif 000040
2007159099.tif 000041
2007159099.tif 000042
2007159099.tif 000043
2007159099.tif 000044
2007159099.tif 000045
2007159099.tif 000046
2007159099.tif 000047
2007159099.tif 000048
2007159099.tif 000049
2007159099.tif 000050