(57)【特許請求の範囲】
【請求項１】
モバイルアドホックネットワークにおいて送信元ノードから宛先ノードにデータを送信するための方法であって、
第２のノードによって、第１のノードからルート応答パケットを受信することと、
前記第２のノードによって、前記ルート応答パケットを漏れ聞かれたルート応答パケットとして識別することと、
前記第２のノードによって、前記漏れ聞かれたルート応答パケットに関連付けられた第１のルーティングエントリを前記第２のノードのルーティングテーブルに追加することと、
前記第２のノードによって、前記第１のルーティングエントリに関連付けられたルーティングエントリ追加済みのメッセージをブロードキャストすることと、
前記第２のノードによって、第３のノードから送信されたデータを受信することであって、前記データは、前記ルーティングエントリ追加済みのメッセージに応答して前記第３のノードにより送信されたものである、ことと、
前記第２のノードによって、前記第２のノードの前記ルーティングテーブルの中の前記第１のルーティングエントリ及び既存のルーティングエントリに基づく２つのルートを順に使用することで、前記第３のノードから受信されたデータを前記宛先ノードに向けて送信することと
を含み、
前記第１のルーティングエントリが前記第１のノードを前記宛先ノードに向う次のホップとして含む、方法。
【請求項２】
前記第３のノードのルーティングテーブルの中の第１のルーティングエントリが、前記第２のノードを前記宛先ノードに向う次のホップとして含む、請求項１に記載の方法。
【請求項３】
モバイルアドホックネットワークにおいて送信元ノードから宛先ノードにデータを送信するための方法であって、
第１のノードからのルート応答パケットを漏れ聞いた第２のノードからブロードキャストされた、前記漏れ聞かれたルート応答パケットに関連付けられたルーティングエントリ追加済みのメッセージを、第３のノードによって受信することと、
前記第３のノードによって、前記漏れ聞かれたルート応答パケットに関連付けられた第１のルーティングエントリを前記第３のノードのルーティングテーブルに追加することと、
前記第３のノードによって、前記第２のノードを経由し、かつ前記第３のノードの前記ルーティングテーブルの中の前記第１のルーティングエントリ及び既存のルーティングエントリに基づく２つのルートを順に使用することで、前記宛先ノードに向けてデータを送信することと
を含み、
前記第１のルーティングエントリが前記第２のノードを前記宛先ノードに向う次のホップとして含む、方法。
【請求項４】
前記第３のノードの前記ルーティングテーブルから前記既存のルーティングエントリを選択して、アクティブなルートを確立することと、
前記アクティブなルート経由でデータを送信することと
をさらに含む、請求項３に記載の方法。
【請求項５】
前記第２のノードのルーティングテーブルの中の第１のルーティングエントリが、前記第１のノードを前記宛先ノードに向う次のホップとして含む、請求項３に記載の方法。
【請求項６】
モバイルアドホックネットワークにおいて宛先ノードに向けてデータを送信するための第２のノードにおける装置であって、
メモリと、
前記メモリとインターフェースをとるように構成された処理ユニットとを備え、
前記処理ユニットが、
第１のノードからルート応答パケットを受信し、
前記ルート応答パケットを漏れ聞かれたルート応答パケットとして識別し、
前記漏れ聞かれたルート応答パケットに関連付けられた第１のルーティングエントリを前記第２のノードのルーティングテーブルに追加し、
前記第１のルーティングエントリに関連付けられたルーティングエントリ追加済みのメッセージをブロードキャストし、
第３のノードが前記ルーティングエントリ追加済みのメッセージに応答して送信した、前記第３のノードから送信されたデータを受信し、
前記第２のノードの前記ルーティングテーブルの中の前記第１のルーティングエントリ及び既存のルーティングエントリに基づく２つのルートを順に使用することで、前記第３のノードから受信されたデータを前記宛先ノードに向けて送信するように構成され、
前記第１のルーティングエントリが前記第１のノードを前記宛先ノードに向う次のホップとして含む、装置。
【請求項７】
前記第３のノードのルーティングテーブルの中の第１のルーティングエントリが、前記第２のノードを前記宛先ノードに向う次のホップとして含む、請求項６に記載の装置。
【請求項８】
使用されるルートが、前記第３のノードと、前記第２のノードと、前記第１のノードとを含む、請求項６に記載の装置。
【請求項９】
前記第２のノードが、前記第１のノードと前記第３のノードとを含む使用されるルート上にない、請求項６に記載の装置。
【請求項１０】
モバイルアドホックネットワークにおいて宛先ノードに向けてデータを送信するための第３のノードにおける装置であって、
メモリと、
前記メモリとインターフェースをとるように構成された処理ユニットとを備え、
前記処理ユニットが、
第１のノードからのルート応答パケットを漏れ聞いた第２のノードによってブロードキャストされた、前記漏れ聞かれたルート応答パケットに関連付けられたルーティングエントリ追加済みのメッセージを受信し、
前記漏れ聞かれたルート応答パケットに関連付けられた第１のルーティングエントリを前記第３のノードのルーティングテーブルに追加し、
前記第２のノードを経由し、かつ前記第３のノードの前記ルーティングテーブルの中の前記第１のルーティングエントリ及び既存のルーティングエントリに基づく２つのルートを順に使用することで、前記宛先ノードに向けてデータを送信するように構成され、
前記第３のノードの前記ルーティングテーブルの中の前記第１のルーティングエントリが、前記第２のノードを前記宛先ノードに向う次のホップとして含む、装置。
【請求項１１】
前記処理ユニットが、前記第３のノードの前記ルーティングテーブルから前記既存のルーティングエントリを選択して、アクティブなルートを確立し、前記アクティブなルート経由でデータを送信するようにさらに構成される、請求項１０に記載の装置。
【請求項１２】
前記第２のノードのルーティングテーブルの中の第１のルーティングエントリが、前記第１のノードを前記宛先ノードに向う次のホップとして含む、請求項１０に記載の装置。
【請求項１３】
前記第３のノードによって、前記第１のノード経由で前記宛先ノードに向けてデータを送信することをさらに含む、請求項３に記載の方法。
【請求項１４】
前記処理ユニットが前記第１のノード経由で前記宛先ノードに向けてデータを送信するようにさらに構成される、請求項１０に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
モバイルアドホックネットワーク（ＭＡＮＥＴ）は、無線リンクによって接続されたモバイルデバイスの自己構成ネットワークである。ＭＡＮＥＴにおけるモバイルデバイスは、任意の方向に独立して自由に移動し、したがって、他のモバイルデバイスに至るそのデバイスのリンクを頻繁に変更する。さらに、モバイルデバイスは、そのデバイス自らの使用とは無関係のトラフィックを他のモバイルデバイスに転送することによってルータの役割をするように構成することができる。本開示は、ＭＡＮＥＴにおいて信頼性があり、高いＱｏＳ（サービス品質）のリンクを提供する必要性があることを明らかにし、認識するものである。
【発明の概要】
【０００２】
本開示の一実施形態は、一般に、モバイルアドホックネットワークにおいて送信元ノードから宛先ノードにデータを送信するための方法に関することが可能である。この方法は、第２のノードによって、第１のノードからルート応答パケットを受信すること、および第２のノードによって、このルート応答パケットを漏れ聞かれたルート応答パケット（overheard route reply packet）として識別することを含み得る。この方法は、第２のノードによって、第２のノードのルーティングテーブルに第１のルーティングエントリを追加すること、およびやはり第２のノードによって、第１のルーティングエントリに関連付けられた、ルーティングエントリ追加済みのメッセージ（routing entry added message）をブロードキャストすることをさらに含み得る。第１のルーティングエントリは、漏れ聞かれたルート応答パケットに関連付けられる。また、この方法は、第２のノードによって、第３のノードから送信されたデータを受信すること、およびやはり第２のノードによって、第３のノードから受信されたデータを、第２のノードのルーティングテーブルの中の第１のルーティングエントリに基づいて確立されたアクティブなルート経由で宛先ノードに向けて送信することも含み得る。このデータは、第２のノードによって、ルーティングエントリ追加済みのメッセージに応答して、第３のノードによって送信されている。
【０００３】
本開示の別の実施形態は、一般に、モバイルアドホックネットワークにおいて送信元ノードから宛先ノードにデータを送信するための方法に関する。この方法は、第２のノードからブロードキャストされた、第１のノードからの漏れ聞かれたルート応答パケットに関連付けられた、ルーティングエントリ追加済みのメッセージを第３のノードによって受信すること、および、第３のノードによって、漏れ聞かれたルート応答パケットに関連付けられた第１のルーティングエントリを、第３のノードのルーティングテーブルに追加することを含み得る。この方法は、第３のノードによって、第２のノードを経由し、かつ第３のノードのルーティングテーブルの中の第１のルーティングエントリに基づいて確立されたアクティブなルートを経由して、宛先ノードに向けてデータを送信することをさらに含み得る。
【０００４】
本開示の別の実施形態は、一般に、モバイルアドホックネットワークにおいて宛先ノードに向けてデータを送信するための第２のノードにおける装置に関することが可能である。この装置は、メモリと、このメモリとインターフェースをとるように構成された処理ユニットとを含み得る。処理ユニットは、第１のノードからルート応答パケットを受信し、このルート応答パケットを漏れ聞かれたルート応答パケットとして識別し、第２のノードのルーティングテーブルに、この漏れ聞かれたルート応答パケットに関連付けられた第１のルーティングエントリを追加するようにさらに構成される。また、処理ユニットは、第１のルーティングエントリに関連付けられた、ルーティングエントリ追加済みのメッセージをブロードキャストし、第３のノードがルーティングエントリ追加済みのメッセージに応答して送信した、第３のノードから送信されたデータを受信し、第３のノードから受信されたデータを、第２のノードのルーティングテーブルの中の第１のルーティングエントリに基づいて確立されたアクティブなルートを経由して宛先ノードに向けて送信するようにも構成される。
【０００５】
本開示のさらに別の実施形態は、一般に、モバイルアドホックネットワークにおいて宛先ノードに向けてデータを送信するための第３のノードにおける装置に関することが可能である。この装置は、メモリと、メモリとインターフェースをとるように構成された処理ユニットとを含み得る。処理ユニットは、第２のノードによってブロードキャストされた、第１のノードからの漏れ聞かれたルート応答パケットに関連付けられた、ルーティングエントリ追加済みのメッセージを受信し、第３のノードのルーティングテーブルの中に、この漏れ聞かれたルート応答パケットに関連付けられた第１のルーティングエントリを追加し、第２のノードを経由し、かつ第３のノードのルーティングテーブルの中の第１のルーティングエントリに基づいて確立されたアクティブなルートを経由して、宛先ノードに向けてデータを送信するようにさらに構成される。
【０００６】
以上の要約は、単に例示的であり、全く限定することを意図していない。前述した例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面、および後段の詳細な説明を参照することによって明白となろう。
【図面の簡単な説明】
【０００７】
【図１Ａ】本開示に従って構成された、モバイルアドホックネットワークの例示的な実施形態において確立されたアクティブなルート（実線で示される）のトポロジを示す図である。
【図１Ｂ】本開示に従って構成された、モバイルアドホックネットワークの例示的な実施形態において確立された別のアクティブなルート（実線で示される）のトポロジを示す図である。
【図１Ｃ】本開示に従って構成された、モバイルアドホックネットワークの例示的な実施形態において確立されたさらに別のアクティブなルート（実線で示される）のトポロジを示す図である。
【図２】本開示に従って構成された、モバイルアドホックネットワークにおいてデータを送信するための方法の例示的な実施形態を示す流れ図である。
【図３】本開示に従って構成された、モバイルアドホックネットワークにおいてデータを送信するために構成された例示的な実施形態の例示的なコンピュータプログラム製品を示す図である。
【図４】本開示に従って構成された、モバイルアドホックネットワークにおいてデータを送信するために構成された例示的な実施形態の例示的なコンピューティングデバイスを示す図である。
【発明を実施するための形態】
【０００８】
以下の詳細な説明において、説明の一部を成す、添付の図面が参照される。図面において、文脈によってそうでないことが規定されない限り、同様の符号は、通常、同様の構成要素を特定する。詳細な説明、図面、および特許請求の範囲において説明される例示的な実施形態は、限定することを意図していない。本明細書で提示される主題の趣旨または範囲を逸脱することなく、他の実施形態が利用されることが可能であり、さらに他の変更が行われることが可能である。本明細書で全体的に説明され、さらに図に示される、本開示の態様は、すべて本明細書で明示的に企図される、多種多様な異なる構成で構成されること、置換されること、組み合わされること、分離されること、および設計されることが可能であることが容易に理解されよう。
【０００９】
本開示は、とりわけ、モバイルアドホックネットワークにおいてデータを送信するための方法、システム、およびコンピュータプログラムに向けられる。本開示において、「スヌープノード」は、そのスヌープノードがパケットを受信するが、そのパケットの意図される受信者ではない場合、パケットを「漏れ聞いている」ものとして一般に説明することができる。この漏れ聞く特性は、モバイルアドホックネットワークなどの無線ネットワークにおいて一般的である。「ルーティングエントリ追加済みのメッセージ」は、ノードに格納されたルーティングエントリに関連付けられた情報を含むメッセージとして一般に説明することができ、該ノードは、該メッセージおよび該ノードのアドレスをブロードキャストする。
【００１０】
簡単に述べると、モバイルアドホックネットワークにおいてデータを送信するための技術が、本明細書で一般的に説明される。一部の例示的なアドホックネットワークは、第１のノード、第２のノード、および／または第３のノードなどの、送信元ノード、宛先ノード、１つまたは複数の中間ノードを含み得る。パケットが、モバイルアドホックネットワークのアクティブなルート経由で送信元ノードから宛先ノードに送信される。一部の実施形態において、第２のノードは、第１のノードから、アクティブなルート上で別の中間ノードに送信されることが意図されるパケットを漏れ聞くように構成することができる。漏れ聞かれたパケットに基づいて、第２のノードは、第１のノードが宛先ノードに向う次のホップとして識別された第１のルーティングエントリを、第２のノードのルーティングテーブルに追加するように構成される。第２のノードは、新たに追加された第１のルーティングエントリに関連付けられたメッセージを、モバイルアドホックネットワークにおいてさらにブロードキャストするように構成することができる。第３のノードがこのブロードキャストされたメッセージを受信すると、第３のノードは、第２のノードが宛先ノードに向う次のホップとして識別された第１のルーティングエントリを、第３のノードのルーティングテーブルに追加するようにも構成される。送信元ノードから宛先ノードに至る新たなアクティブなルートが、第３のノードのルーティングテーブルの中の新たに追加された第１のルーティングエントリに基づいて、さらに第２のノードのルーティングテーブルの中の新たに追加された第１のエントリにも基づいて、確立することができる。
【００１１】
図１Ａは、本開示に従って構成されたモバイルアドホックネットワーク１００の例示的な実施形態において確立されたアクティブなルート１２１（実線で示される）のトポロジを示す。モバイルアドホックネットワーク１００は、送信元ノード１０１と、宛先ノード１０９と、送信元ノード１０１と宛先ノード１０９の間でデータが交換されるルート１２１とを含み得る。ルート１２１は、ノード１０３、ノード１０５、およびノード１０７などの複数の中間ノードを含み得る。モバイルアドホックネットワーク１００は、スヌープノード１１１などの、アクティブなルート１２１上にない他のノードを含み得る。
【００１２】
アクティブなルート１２１は、何らかの知られているルーティングプロトコル（たとえば、ＡＯＤＶ（アドホックオンデマンド距離ベクトル）ルーティングプロトコル）によって決定することができる。そのようなプロトコルにおいて、モバイルアドホックネットワーク１００は、接続が必要とされるまでサイレントである。送信元ノード１０１などの要求側のノードが、宛先ノード１０９などの宛先ノードに対する接続を必要とするものと想定されたい。送信元ノード１０１は、接続に関するルート要求パケット（たとえば、ＲＲＥＱ）をブロードキャストする。ネットワークにおける他のノード（たとえば、中間ノード）は、このルート要求パケットを受信し、このルート要求パケットを送信したノードを識別し、さらにこのルート要求パケットを転送する（すなわち、再送信する）ように構成される。複数のノードがこのルート要求パケットを受信することが可能であるので、受信側のノードと送信元ノード１０１の間で複数の一時的なルートが作成され得る。また、中間ノードは、中間ノードと宛先ノード１０９の間に知られているルートが存在するかどうかを判定するようにも構成される。中間ノード（たとえば、ノード１０７）が、宛先ノード１０９に至る知られているルートが既に存在すると判定した場合、中間ノードは、中間ノードが受信したルート要求パケットの送信元であるノードに、ユニキャスト伝送で、さらに送信元ノード１０１に至る一時的なルート経由で、ルート応答パケットを送り返す。中間ノードが送信元ノード１０１にルート応答パケットを送信すると、アクティブなルート上の各ノードが、パケットを受信した前のノードについての情報を格納する。
【００１３】
ルート応答パケットを送信する際、ルート応答パケットは、意図される受信ノード（たとえば、ノード１０５）の付近のスヌープノード（たとえば、スヌープノード１１１）によって漏れ聞かれることが可能である。また、ルート応答パケットは、そのルート応答パケットを送信するノードの付近のノードによって漏れ聞かれることも可能である。前述したとおり、漏れ聞かれる特性は、無線ネットワーク（たとえば、モバイルアドホックネットワーク１００）において一般的である。スヌープノード１１１は、ルート応答パケットから送信元ノードアドレスおよび宛先アドレスを取得することが可能である。さらに、スヌープノード１１１は、スヌープノード１１１にルート応答パケットを送信した前のノードを識別するように構成することができる。スヌープノード１１１は、送信元ノードアドレスと、宛先ノードアドレスと、宛先ノード１０９に向う次のホップ（たとえば、ノード１０７）とを含み得る第１のルーティングエントリを、スヌープノード１１１のルーティングテーブルに追加することが可能であり、さらにモバイルアドホックネットワーク１００においてルーティングエントリ追加済みのメッセージをブロードキャストすることも可能である。
【００１４】
ノード（たとえば、スヌープノード１１１）によってブロードキャストされるルーティングエントリ追加済みのメッセージは、第１のルーティングエントリ（たとえば、次のホップがノード１０７である）に関連付けられた情報と、このメッセージをブロードキャストしたノードのアドレス（たとえば、スヌープノード１１１のアドレス）とを含み得る。一部の実施形態において、ルーティングエントリ追加済みのメッセージは、ノード１０３または送信元ノード１０１などの、ルート１２１上のノードによって受信することができる。ルーティングエントリ追加済みのメッセージに基づいて、ルート１２１上のノードは、このメッセージをブロードキャストしたノード（たとえば、スヌープノード１１１）を宛先ノード（たとえば、宛先ノード１０９）に向う次のホップとしてルーティングテーブルの中で識別する第１のルーティングエントリを、自身のルーティングテーブルに追加することも可能である。このシナリオにおいて、パケットがノード１０３に着信すると、そのパケットは、ノード１０３のルーティングテーブルの中の新たに追加された第１のルーティングエントリに基づいてスヌープノード１１１を経由し、次に、スヌープノード１１１のルーティングテーブルの中の新たに追加された第１のルーティングエントリに基づいてノード１０７を経由して、宛先ノード１０９に向けて送信することができる。
【００１５】
図１Ｂは、本開示に従って構成されたモバイルアドホックネットワーク１３０の例示的な実施形態において確立された、別のアクティブなルート１３１（実線で示される）のトポロジを示す。前述したとおり、スヌープノード１１１が、スヌープノード１１１のルーティングテーブルに第１のルーティングエントリを追加し、さらに、ルーティングエントリ追加済みのメッセージをモバイルアドホックネットワーク１３０にブロードキャストもした後の、スヌープノード１１１の例示的なルーティングテーブルが、以下のとおりリスト化される。
【００１６】
【表１】
0005965394.tif 000002
【００１７】
ノード１０３は、ルーティングエントリ追加済みのメッセージを受信することが可能である。ノード１０３がノード１０３自体のルーティングテーブルに第１のルーティングエントリを追加した後の、ノード１０３の例示的なルーティングテーブルが、以下のとおりリスト化される。
【００１８】
【表２】
0005965394.tif 000003
【００１９】
例示的なルーティングテーブルが、既存のルーティングエントリ（すなわち、テーブル２の第２の行）を最初に有するものと想定されたい。ノード１０３は、ルーティングエントリ追加済みのメッセージを受信した後、第１のルーティングエントリ（すなわち、テーブル２の第３の行）を追加する。この既存のルーティングエントリは、ノード１０３が、送信元ノード１０１を発信元とするデータを、宛先ノード１０９に向う次のホップとしてノード１０５にルーティングするように構成されることを示す。新たに追加された第１のルーティングエントリは、送信元ノード１０１を発信元とするデータを、宛先ノード１０９に向う次のホップとしてスヌープノード１１１にルーティングするようにノード１０３が構成されることを示す。したがって、ノード１０３は、既存のルーティングエントリを選択して、既存のルーティングエントリに基づいて確立された第１のアクティブなルート（たとえば、図１Ａのルート１２１）を経由して、または第１のルーティングエントリを選択して、第１のルーティングエントリに基づいて確立された第２のアクティブなルート（たとえば、図１Ｂのルート１３１）を経由して、送信元ノード１０１と宛先ノード１０９の間でデータを送信することが可能である。一部の実施形態において、ノード１０３は、データを送信するために、ノード１０３のルーティングテーブルから既存のルーティングエントリと第１のルーティングエントリの両方を選択することが可能である。たとえば、ノード１０３は、既存のルーティングエントリおよび第１のルーティングエントリに基づく２つのルートを順に使用することが可能である。ノード１０３は、既存のルーティングエントリに基づいてノード１０５に第１のパケットを送信し、第１のルーティングエントリに基づいてノード１１１に第２のパケットを送信し、ノード１０５に第３のパケットを送信し、ノード１１１に第４のパケットを送信し、以下同様であることが可能である。
【００２０】
図１Ｃは、本開示に従って構成されたモバイルアドホックネットワーク１５０の例示的な実施形態において確立された、さらに別のアクティブなルート１５１（実線で示される）のトポロジを示す。前述したとおり、スヌープノード１１１が、スヌープノード１１１のルーティングテーブルに第１のルーティングエントリを追加し、さらに、ルーティングエントリ追加済みのメッセージをモバイルアドホックネットワーク１５０にブロードキャストした後の、スヌープノード１１１の例示的なルーティングテーブルが、以下のとおりリストアップされる。
【００２１】
【表３】
0005965394.tif 000004
【００２２】
図１Ｂのノード１０３の代わりに送信元ノード１０１が、ルーティングエントリ追加済みのメッセージを受信することが可能である。送信元ノードが送信元ノード自体のルーティングテーブルに第１のルーティングエントリを追加した後の、ノード１０１の例示的なルーティングテーブルが、以下のとおりリスト化される。
【００２３】
【表４】
0005965394.tif 000005
【００２４】
例示的なルーティングテーブルが、既存のルーティングエントリ（すなわち、テーブル４の第２の行）を最初に有するものと想定されたい。送信元ノード１０１は、ルーティングエントリ追加済みのメッセージを受信した後、第１のルーティングエントリ（すなわち、テーブル４の第３の行）を追加する。この既存のルーティングエントリは、送信元ノード１０１が、宛先ノード１０９に向う次のホップとしてノード１０３にデータをルーティングするように構成されることを示す。新たに追加された第１のルーティングエントリは、宛先ノード１０９に向う次のホップとしてスヌープノード１１１にデータをルーティングするようにノード１０１が構成されることを示す。したがって、送信元ノード１０１は、宛先ノード１０９に向けて第１のアクティブなルート（たとえば、図１Ａのルート１２１）経由で、または第２のアクティブなルート（たとえば、図１Ｃのルート１５１）経由でデータを送信することが可能である。一部の実施形態において、送信元ノード１０１は、宛先ノード１０９に向けて第１のアクティブなルートと第２のアクティブなルートの両方を経由するようにデータを送信することが可能である。
【００２５】
送信元ノードと宛先ノードの間の第１のアクティブなルート上のあるノードに関して、前述の追加されたルーティングテーブルエントリによって、そのノードが、送信元ノードと宛先ノードの間の代替の１つまたは複数のルート（たとえば、第２のアクティブなルート）を認識可能にすることができる。より具体的には、知られているオンデマンドプロトコルとは異なり、そのノードは、第１のアクティブなルートが利用可能でない場合に代替のルートを能動的に発見することを要求されない。そのノードが、そのノードのルーティングテーブルを調べ、ルート獲得待ち時間がより短くなることが可能である。
【００２６】
図２は、本開示に従って構成されたモバイルアドホックネットワークにおいてデータを送信するための方法の、例示的な実施形態の流れ図である。方法２００は、ブロック２０１、２０３、２０５、２０７、２０９、および／または２１１によって示される１つまたは複数の動作、機能、またはアクションを含み得る。これらのさまざまなブロックは、説明される実施形態に限定されることを意図していない。たとえば、本明細書で開示されるこのプロセスおよび方法、ならびにその他のプロセスおよび方法に関して、これらのプロセスおよび方法において実行される機能は、異なる順序で実施されてもよいことが、当業者には認識されよう。さらに、概説されるステップおよび動作は、単に例として与えられており、さらにこれらのステップおよび動作のいくつかは、開示される実施形態の本質を逸脱することなく、オプションであっても、組み合わされて、より少ないステップまたは動作にされても、追加のステップおよび動作に拡大されてもよい。
【００２７】
ブロック２０１（ルート応答パケットを漏れ聞く）で、図１Ａのスヌープノード１１１などのモバイルアドホックネットワークにおけるノードが、ルート応答パケットを漏れ聞くことが可能である。一部の実施形態において、ルート要求パケットを受信した後、第１のノードが、宛先とされるノード（たとえば、図１Ａのノード１０５）にユニキャスト伝送でルート応答パケットを送信する際、このユニキャストされたルート応答パケットを、第２のノード（たとえば、スヌープノード１１１）が漏れ聞くことが可能である。ブロック２０１の後にブロック２０３が続くことが可能である。
【００２８】
ブロック２０３（ルーティングテーブルにルーティングエントリを追加する）で、第２のノードは、このルート応答パケットを漏れ聞いた後に、宛先ノードに向う次のホップが指定された第１のルーティングエントリを、第２のノードのルーティングテーブルに追加するように構成される。ブロック２０３の後にブロック２０５が続くことが可能である。
【００２９】
ブロック２０５（メッセージをブロードキャストする）で、同一の第２のノードが、モバイルアドホックネットワークにおいてメッセージをブロードキャストすることが可能である。一部の実施形態において、このメッセージは、第２のノードのルーティングテーブルの中の第１のルーティングエントリ（たとえば、次のホップ情報）に関連付けられた情報と、第２のノードのアドレスとを含み得る。このメッセージは、送信元ノードと宛先ノードの間のアクティブなルート上の第３のノード（たとえば、図１Ａのアクティブなルート１２１上のノード１０３）によって受信することができる。第３のノードは、このブロードキャストされたメッセージを受信した後、第３のノード自体のルーティングテーブルに第１のルーティングエントリを追加することが可能である。ブロック２０５の後にブロック２０７が続くことが可能である。
【００３０】
ブロック２０７（メッセージを受信しているノードからデータを受信する）で、第２のノードは、第３のノードのルーティングテーブルの中の新たに追加された第１のルーティングエントリに基づいて確立された新たなアクティブなルート経由でデータを受信することが可能である。
【００３１】
図３は、本開示によるモバイルアドホックネットワークにおいてデータを送信するために構成された例示的なコンピュータプログラム製品３００を示す。コンピュータプログラム製品３００は、信号を担持する媒体３０４を含み得る。信号を担持する媒体３０４は、少なくとも、前述し図２に示す方法を実行するための実行可能命令の１つまたは複数のセット３０２を含み得る。
【００３２】
一部の実施形態において、信号を担持する媒体３０４は、ハードディスクドライブ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタルビデオディスク）、デジタルテープ、メモリなどの、ただし、以上には限定されない、一時的でないコンピュータ可読媒体３０８を包含することが可能である。一部の実施形態において、信号を担持する媒体３０４は、メモリ、Ｒ／Ｗ（読取り／書込み）ＣＤ、Ｒ／Ｗ  ＤＶＤなどの、ただし、以上には限定されない記録可能媒体３１０を包含することが可能である。一部の実施形態において、信号を担持する媒体３０４は、デジタル通信媒体および／またはアナログ通信媒体（たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）などの、ただし、以上には限定されない通信媒体３０６を包含することが可能である。
【００３３】
図４は、本開示によるモバイルアドホックネットワークにおいてデータを送信するために構成された例示的なコンピューティングデバイス４００を示す。非常に基本的な構成４０２において、コンピューティングデバイス４００は、通常、１つまたは複数のプロセッサ４０４と、システムメモリ４０６とを含む。メモリバス４０８が、プロセッサ４０４とシステムメモリ４０６の間で通信するために使用することができる。
【００３４】
所望される構成に依存して、プロセッサ４０４は、μＰ（マイクロプロセッサ）、μＣ（マイクロコントローラ）、ＤＳＰ（デジタルシグナルプロセッサ）、または以上の任意の組合せを含むが、以上には限定されない任意のタイプのものであり得る。プロセッサ４０４は、レベル１キャッシュ４１０およびレベル２キャッシュ４１２などの１つまたは複数のレベルのキャッシングと、プロセッサコア４１４と、レジスタ４１６とを含み得る。例示的なプロセッサコア４１４としては、ＡＬＵ（算術論理装置）、ＦＰＵ（浮動小数点演算装置）、ＤＳＰコア（デジタル信号処理コア）、または以上の任意の組合せを挙げることができる。例示的なメモリコントローラ４１８が、プロセッサ４０４と一緒に使用されることも可能であり、または、一部の実施形態において、メモリコントローラ４１８がプロセッサ４０４の一部になっていることも可能である。
【００３５】
所望される構成に依存して、システムメモリ４０６は、揮発性メモリ（ＲＡＭなどの）、不揮発性メモリ（ＲＯＭ、フラッシュメモリなどの）、または揮発性メモリと不揮発性メモリの任意の組合せを含むが、以上には限定されない任意のタイプのものであり得る。システムメモリ４０６は、オペレーティングシステム４２０、１つまたは複数のアプリケーション４２２、およびプログラムデータ４２４を含み得る。アプリケーション４２２は、少なくとも図２の方法２００のブロック２０１、２０３、２０５、２０７、および２０９の１つまたは複数に関して説明される機能を含む、本明細書で説明される機能を実行するように構成されたルーティングアルゴリズム４２６を含み得る。プログラムデータ４２４は、ルーティングアルゴリズム４２６を用いた動作のために有用であり得るノードアドレスデータ４２８を含み得る。一部の実施形態において、ルーティングアルゴリズム４２６が、ノードアドレスデータ４２８を利用して、前述したとおり、モバイルアドホックネットワークにおける送信元ノードから宛先ノードに至る新たなルートを識別することが可能である。一部の実施形態において、モバイルアドホックネットワークにおいてデータを送信することが本明細書で説明されるとおりに実施することができるよう、オペレーティングシステム４２０上でプログラムデータ４２４を用いて動作するようにアプリケーション４２２を構成することができる。この説明された基本構成４０２が、図４に、内側の破線内に、基本構成４０２の構成要素によって示される。
【００３６】
コンピューティングデバイス４００は、基本構成４０２と要求される任意のデバイスおよびインターフェースとの間で通信を円滑にするさらなるフィーチャもしくは機能、およびさらなるインターフェースを有することが可能である。たとえば、バス／インターフェースコントローラ４３０が、ストレージインターフェースバス４３４を介して、基本構成４０２と１つまたは複数のデータストレージデバイス４３２の間の通信を円滑にするのに使用することができる。データストレージデバイス４３２は、取外し式ストレージデバイス４３６であっても、非取外し式ストレージデバイス４３８であっても、または取外し式ストレージデバイス４３６と非取外し式ストレージデバイス４３８の組合せであってもよい。取外し式ストレージデバイスおよび非取外し式ストレージデバイスの例としては、いくつかを挙げると、フレキシブルディスクドライブおよびＨＤＤ（ハードディスクドライブ）などの磁気ディスクデバイス、ＣＤ（コンパクトディスク）ドライブまたはＤＶＤ（デジタルバーサタイルディスク）ドライブなどの光ディスクドライブ、ＳＤＤ（ソリッドステートドライブ）、およびテープドライブが含まれる。例示的なコンピュータ記憶媒体としては、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するために任意の方法または技術で実装された揮発性媒体および不揮発性媒体、取外し式媒体および非取外し式媒体が含まれる。
【００３７】
システムメモリ４０６、取外し式ストレージデバイス４３６、および非取外し式ストレージデバイス４３８は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（デジタルバーサタイルディスク）もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望される情報を格納するのに使用することが可能であると共に、コンピューティングデバイス４００によってアクセスし得る他の任意の媒体が含まれるが、以上には限定されない。任意のそのようなコンピュータ記憶媒体が、コンピューティングデバイス４００の一部であり得る。
【００３８】
また、コンピューティングデバイス４００は、バス／インターフェースコントローラ４３０を介してさまざまなインターフェースデバイス（たとえば、出力装置４４２、周辺インターフェース４４４、および通信デバイス４４６）からの基本構成４０２に対する通信を円滑にするためのインターフェースバス４４０も含み得る。例示的な出力装置４４２は、１つまたは複数のＡ／Ｖポート４５２を介してディスプレイまたはスピーカなどのさまざまな外部デバイスに通信するように構成することができる、グラフィックス処理ユニット４４８とオーディオ処理ユニット４５０とを含む。例示的な周辺インターフェース４４４は、１つまたは複数のＩ／Ｏポート４５８を介して入力装置（たとえば、キーボード、マウス、ペン、音声入力装置、タッチ入力装置など）または他の周辺デバイス（たとえば、プリンタ、スキャナなど）などの外部デバイスと通信するように構成することができるシリアルインターフェースコントローラ４５４またはパラレルインターフェースコントローラ４５６を含む。例示的な通信デバイス４４６が、１つまたは複数の通信ポート４６４経由でネットワーク通信リンクを介して他の１つまたは複数のコンピューティングデバイス４６２との通信を円滑にするように構成することができるネットワークコントローラ４６０を含む。一部の実施形態において、他のコンピューティングデバイス４６２は、アプリケーション４２２の結果に基づいて操作することができる他のアプリケーションを含み得る。
【００３９】
ネットワーク通信リンクは、通信媒体の一例であり得る。通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構におけるコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって実現されることが可能であり、さらに任意の情報伝送媒体を含むことが可能である。「変調されたデータ信号」は、信号内に情報を符号化するように信号の特性の１つまたは複数が設定されている、または変更されている信号であり得る。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響媒体、ＲＦ（無線周波数）媒体、マイクロ波媒体、ＩＲ（赤外線）媒体、および他の無線媒体などの無線媒体が含まれ得る。本明細書で使用されるコンピュータ可読媒体という用語は、記憶媒体と通信媒体を共に含み得る。
【００４０】
コンピューティングデバイス４００は、セル電話機、ＰＤＡ（携帯情報端末）、パーソナルメディアプレーヤデバイス、無線ウェブウォッチデバイス、パーソナルヘッドセットデバイスなどのスモールフォームファクタのポータブル（モバイル）電子デバイス、特定用途向けデバイス、または前述の機能のいずれかを含むハイブリッドデバイスの一部分として実装することができる。
【００４１】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができるさまざまな達成手段があり（たとえば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアの何らかの組合せを選択することができる。
【００４２】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組合せにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（たとえば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（たとえば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組合せとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピー（登録商標）ディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（たとえば、光ファイバケーブル、導波管、有線通信リンクおよび／または有線通信チャネル、無線通信リンクおよび／または無線通信チャネルなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００４３】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（たとえば、位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。
【００４４】
本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００４５】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００４６】
通常、本明細書において、特に添付の特許請求の範囲（たとえば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（たとえば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む発明に限定する、ということを示唆していると解釈されるべきではない（たとえば、「ａ」および／または「ａｎ」は、通常、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、通常、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（たとえば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、通常、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、など���有するシステムを含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００４７】
さまざまな態様および実施形態が本明細書で開示されてきたが、他の態様および実施形態が、当業者には明白となろう。本明細書で開示されるさまざまな態様および実施形態は、例示することを目的とし、限定することを意図しておらず、真の範囲および趣旨は、添付の特許請求の範囲によって示される。
【図１Ａ】
0005965394.tif 000006
【図１Ｂ】
0005965394.tif 000007
【図１Ｃ】
0005965394.tif 000008
【図２】
0005965394.tif 000009
【図３】
0005965394.tif 000010
【図４】
0005965394.tif 000011