(57)【要約】いくつかの態様では、非ゲートウェイノードがネイバーノードにインターネットルート要求を送信し、ゲートウェイノードから、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む応答メッセージを受信する。非ゲートウェイノードは、このアドレスに等しいゲートウェイポインタを設定する。他の態様では、ゲートウェイノードがネイバーノードからインターネットルート要求を受信し、ネイバーノードに、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む応答メッセージを送信する。追加の態様では、非ゲートウェイノードが、ネットワーク上のゲートウェイノードから、ゲートウェイノードのアドレスを含むインターネット接続性の告知を受信する。非ゲートウェイノードは、潜在的なゲートウェイのリストにこれらのアドレスを追加する。非ゲートウェイノードは、インターネット宛先に送信するためのパケットを受信すると、リストからゲートウェイアドレスを選択し、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信する。【選択図】図１８
2016515339.tif 000002
【特許請求の範囲】
【請求項１】
アドホックピアツーピアネットワーク中でルーティングするための方法であって、
非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージが、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
を備える、方法。
【請求項２】
別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
をさらに備える、請求項１に記載の方法。
【請求項３】
あるインターネット宛先に送信するためのパケットを受信することと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すことと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信することと
をさらに備える、請求項１に記載の方法。
【請求項４】
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
をさらに備える、請求項３に記載の方法。
【請求項５】
アドホックピアツーピアネットワーク中でルーティングするための方法であって、
ゲートウェイノードで、前記ネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信することと、
前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を備える、方法。
【請求項６】
アドホックピアツーピアネットワーク中でルーティングするための方法であって、
非ゲートウェイノードで、前記ネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信することと、ここにおいて、前記告知が、前記１つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記１つまたは複数のゲートウェイノードの前記アドレスを記憶することと、
あるインターネット宛先に送信するためのパケットを受信することと、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択することと、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信することと
を備える、方法。
【請求項７】
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
をさらに備える、請求項６に記載の方法。
【請求項８】
アドホックピアツーピアネットワーク中でルーティングするための装置であって、
非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するための手段と、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するための手段と、ここにおいて、前記応答メッセージが、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するための手段と
を備える装置。
【請求項９】
別の非ゲートウェイノードから、前記インターネットルート要求を受信するための手段、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
をさらに備える、請求項８に記載の装置。
【請求項１０】
あるインターネット宛先に送信するためのパケットを受信するための手段と、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すための手段と、
前記少なくとも１つのゲートウェイノードに前記パケットを送信するための手段と
をさらに備える、請求項８に記載の装置。
【請求項１１】
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするための手段
をさらに備える、請求項１０に記載の装置。
【請求項１２】
アドホックピアツーピアネットワーク中でルーティングするための装置であって、
ゲートウェイノードで、前記ネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信するための手段と、
前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信するための手段と、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を備える装置。
【請求項１３】
アドホックピアツーピアネットワーク中でルーティングするための装置であって、
非ゲートウェイノードで、前記ネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するための手段と、ここにおいて、前記告知が、前記１つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記１つまたは複数のゲートウェイノードの前記アドレスを記憶するための手段と、
あるインターネット宛先に送信するためのパケットを受信するための手段と、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択するための手段と、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信するための手段と
を備える装置。
【請求項１４】
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするための手段
をさらに備える、請求項１３に記載の装置。
【請求項１５】
非ゲートウェイノードから、アドホックピアツーピアネットワーク中の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するためのコードと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するためのコードと、ここにおいて、前記応答メッセージが、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するためのコードと
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
【請求項１６】
前記非一時的コンピュータ可読媒体が、
別の非ゲートウェイノードから、前記インターネットルート要求を受信するためのコード、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
をさらに含む、請求項１５に記載のコンピュータプログラム製品。
【請求項１７】
前記非一時的コンピュータ可読媒体が、
あるインターネット宛先に送信するためのパケットを受信するためのコードと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すためのコードと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信するためのコードと
をさらに含む、請求項１５に記載のコンピュータプログラム製品。
【請求項１８】
前記非一時的コンピュータ可読媒体が、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするためのコード
をさらに含む、請求項１７に記載のコンピュータプログラム製品。
【請求項１９】
ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信するためのコードと、
前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信するためのコードと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
【請求項２０】
非ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するためのコードと、ここにおいて、前記告知が、前記１つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記１つまたは複数のゲートウェイノードの前記アドレスを記憶するためのコードと、
あるインターネット宛先に送信するためのパケットを受信するためのコードと、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択するためのコードと、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信するためのコードと
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
【請求項２１】
前記非一時的コンピュータ可読媒体が、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするためのコード
をさらに含む、請求項２０に記載のコンピュータプログラム製品。
【請求項２２】
アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと、
ここにおいて、前記少なくとも１つのプロセッサが、
前記非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージが、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
を行うように構成された、
を備える非ゲートウェイノード。
【請求項２３】
前記少なくとも１つのプロセッサが、
別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
を行うようにさらに構成された、請求項２２に記載の非ゲートウェイノード。
【請求項２４】
前記少なくとも１つのプロセッサが、
あるインターネット宛先に送信するためのパケットを受信することと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すことと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信することと
を行うようにさらに構成された、請求項２２に記載の非ゲートウェイノード。
【請求項２５】
前記少なくとも１つのプロセッサが、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
を行うようにさらに構成された、請求項２４に記載の非ゲートウェイノード。
【請求項２６】
アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと、
ここにおいて、前記少なくとも１つのプロセッサが、
ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信することと、
前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を行うように構成された、
を備える非ゲートウェイノード。
【請求項２７】
アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと、
ここにおいて、前記少なくとも１つのプロセッサが、
前記非ゲートウェイノードで、前記ネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信することと、ここにおいて、前記告知が、前記１つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記１つまたは複数のゲートウェイノードの前記アドレスを記憶することと、
あるインターネット宛先に送信するためのパケットを受信することと、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択することと、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信することと
を行うように構成された、
を備える非ゲートウェイノード。
【請求項２８】
前記少なくとも１つのプロセッサが、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
を行うようにさらに構成された、請求項２７に記載の非ゲートウェイノード。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  以下は、一般に、サービス指向アーキテクチャ（ＳＯＡ：service-oriented architecture）に関し、特に、ＳＯＡバスを介したインターネットルーティングの実現形態に関する。
【背景技術】
【０００２】
[0002]  サービス指向アーキテクチャでは、１つまたは複数のノードが互いに相互運用可能なサービスを提供するために互いに通信し得る。このコンテキストでは、サービスが独立型ソフトウェアによって実現される機能の自律単位と考えることができる。サービス指向アーキテクチャ機能の典型的な実現形態(implementation)は、コンピュータネットワークによって相互接続されたいくつかのコンピュータノードを含み得る。各ノードは、他のノードによって提供されるサービスを識別するために他のノードと通信し得る。各ノードはまた、他のノードに１つまたは複数のサービスを広告し得る。
【０００３】
[0003]  第１のノードがサービス指向アーキテクチャにおいて第２のノードによって提供されるサービスを呼び出す場合、第１のノードが第２のノードにリモートプロシージャ呼出しを送信でき、このリモートプロシージャ呼出しは、選択されたサービスによってサポートされる。リモートプロシージャ呼出しは、第１のノードによって提供される１つまたは複数の引数または他のパラメータを含み得る。第２のノードは、呼のタイプおよび／または与えられたパラメータに基づいて１つまたは複数のソフトウェア機能を実行することによってリモートプロシージャ呼出しに応答し得る。いくつかの例では、第２のノードが第１のノードにリモートプロシージャ呼出しの結果を提供し得る。
【０００４】
[0004]  最近、サービス指向アーキテクチャバス（サービスバスとしても知られる）の使用が増大した。サービス指向アーキテクチャバスは相互対話ソフトウェアアプリケーション間での通信を容易にしてアプリケーションが互いのサービスを呼び出すことを可能にする。サービス指向アーキテクチャバスの使用が増大するにつれて、これらバスの新しい使用が発展し続ける。
【発明の概要】
【０００５】
[0005]  いくつかの態様では、アドホックピアツーピアネットワーク中でルーティングするための方法が、非ゲートウェイノードから、ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することを含む。本方法はまた、非ゲートウェイノードで、ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信することを含み、ここにおいて、応答メッセージが、少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む。本方法は、非ゲートウェイノードで、少なくとも１つのゲートウェイノードのアドレスに等しいゲートウェイポインタを設定することをさらに含む。
【０００６】
[0006]  他の態様では、アドホックピアツーピアネットワーク中でルーティングするための方法が、ゲートウェイノードで、ネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信することを含む。本方法はまた、ゲートウェイノードから、１つまたは複数のネイバーノードに応答メッセージを送信することを含み、ここにおいて、応答メッセージが、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む。
【０００７】
[0007]  追加の態様では、アドホックピアツーピアネットワーク中でルーティングするための方法が、非ゲートウェイノードで、ネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信することを含み、ここにおいて、告知が、１つまたは複数のゲートウェイノードのアドレスを含む。本方法はまた、非ゲートウェイノードで、潜在的なゲートウェイのリストに１つまたは複数のゲートウェイノードのアドレスを記憶することを含む。本方法は、あるインターネット宛先に送信するためのパケットを受信することをさらに含む。本方法は、潜在的なゲートウェイのリストからゲートウェイアドレスを選択することをさらに含む。本方法は、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信することをさらに含む。
【０００８】
[0008]  さらなる態様では、アドホックピアツーピアネットワーク中でルーティングするための装置が、非ゲートウェイノードから、ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するための手段を含む。本装置はまた、非ゲートウェイノードで、ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するための手段を含み、ここにおいて、応答メッセージが、少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む。本装置は、非ゲートウェイノードで、少なくとも１つのゲートウェイノードのアドレスに等しいゲートウェイポインタを設定するための手段をさらに含む。
【０００９】
[0009]  さらに他の態様では、アドホックピアツーピアネットワーク中でルーティングするための装置が、ゲートウェイノードで、ネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信するための手段を含む。本装置はまた、ゲートウェイノードから、１つまたは複数のネイバーノードに応答メッセージを送信するための手段を含み、ここにおいて、応答メッセージが、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む。
【００１０】
[0010]  さらに追加の態様では、アドホックピアツーピアネットワーク中でルーティングするための装置が、非ゲートウェイノードで、ネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するための手段を含み、ここにおいて、告知が、１つまたは複数のゲートウェイノードのアドレスを含む。本装置はまた、非ゲートウェイノードで、潜在的なゲートウェイのリストに１つまたは複数のゲートウェイノードのアドレスを記憶するための手段を含む。本装置は、あるインターネット宛先に送信するためのパケットを受信するための手段をさらに含む。本装置は、潜在的なゲートウェイのリストからゲートウェイアドレスを選択するための手段をさらに含む。本装置は、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信するための手段をさらに含む。
【００１１】
[0011]  またさらなる態様では、コンピュータプログラム製品が非一時的コンピュータ可読媒体を含む。非一時的コンピュータ可読媒体は、非ゲートウェイノードから、アドホックピアツーピアネットワーク中の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するためのコードを含む。非一時的コンピュータ可読媒体はまた、非ゲートウェイノードで、ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するためのコードを含み、ここにおいて、応答メッセージが、少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む。非一時的コンピュータ可読媒体は、非ゲートウェイノードで、少なくとも１つのゲートウェイノードのアドレスに等しいゲートウェイポインタを設定するためのコードをさらに含む。
【００１２】
[0012]  また他の態様では、コンピュータプログラム製品が非一時的コンピュータ可読媒体を含む。非一時的コンピュータ可読媒体は、ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信するためのコードを含む。非一時的コンピュータ可読媒体はまた、ゲートウェイノードから、１つまたは複数のネイバーノードに応答メッセージを送信するためのコードを含み、ここにおいて、応答メッセージが、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む。
【００１３】
[0013]  また追加の実施形態では、コンピュータプログラム製品が非一時的コンピュータ可読媒体を含む。非一時的コンピュータ可読媒体は、非ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するためのコードを含み、ここにおいて、告知が、１つまたは複数のゲートウェイノードのアドレスを含む。非一時的コンピュータ可読媒体はまた、非ゲートウェイノードで、潜在的なゲートウェイのリストに１つまたは複数のゲートウェイノードのアドレスを記憶するためのコードを含む。非一時的コンピュータ可読媒体は、あるインターネット宛先に送信するためのパケットを受信するためのコードをさらに含む。非一時的コンピュータ可読媒体は、潜在的なゲートウェイのリストからゲートウェイアドレスを選択するためのコードをさらに含む。非一時的コンピュータ可読媒体は、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信するためのコードをさらに含む。
【００１４】
[0014]  またさらなる実施形態では、アドホックピアツーピアネットワーク中の非ゲートウェイノードが、１つまたは複数のプロセッサと、１つまたは複数のプロセッサに結合されたメモリとを含む。１つまたは複数のプロセッサは、非ゲートウェイノードから、ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することを行うように構成される。１つまたは複数のプロセッサはまた、非ゲートウェイノードで、ネットワーク上の１つまたは複数のゲートウェイノードから応答メッセージを受信すること、ここにおいて、応答メッセージが、１つまたは複数のゲートウェイノードのアドレスとゲートウェイインジケータとを含む、を行うように構成される。１つまたは複数のプロセッサは、非ゲートウェイノードで、１つまたは複数のゲートウェイノードのアドレスに等しいゲートウェイポインタを設定することを行うように構成される。
【００１５】
[0015]  他の実施形態では、アドホックピアツーピアネットワーク中の非ゲートウェイノードが、１つまたは複数のプロセッサと、１つまたは複数のプロセッサに結合されたメモリとを含む。１つまたは複数のプロセッサは、ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信することを行うように構成される。１つまたは複数のプロセッサは、非一時的コンピュータ可読媒体はまた、ゲートウェイノードから、１つまたは複数のネイバーノードに応答メッセージを送信すること、ここにおいて、応答メッセージが、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、を行うようにさらに構成される。
【００１６】
[0016]  追加の実施形態では、アドホックピアツーピアネットワーク中の非ゲートウェイノードが、１つまたは複数のプロセッサと、１つまたは複数のプロセッサに結合されたメモリとを含む。１つまたは複数のプロセッサは、非ゲートウェイノードで、ネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信すること、ここにおいて、告知が、１つまたは複数のゲートウェイノードのアドレスを含む、を行うように構成さされる。１つまたは複数のプロセッサはまた、非ゲートウェイノードで、潜在的なゲートウェイのリストに１つまたは複数のゲートウェイノードのアドレスを記憶することを行うように構成さされる。１つまたは複数のプロセッサは、あるインターネット宛先に送信するためのパケットを受信することを行うようにさらに構成される。１つまたは複数のプロセッサは、潜在的なゲートウェイのリストからゲートウェイアドレスを選択することを行うようにさらに構成される。１つまたは複数のプロセッサは、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信することを行うようにさらに構成される。
【００１７】
[0017]  以下の図面を参照すれば、本発明の性質および利点のさらなる理解が得られ得る。添付の図において、同様の構成要素または特徴は同じ参照ラベルを有し得る。さらに、同じタイプの様々な構成要素は、参照ラベルの後に、ダッシュと、それらの同様の構成要素同士を区別する第２のラベルとを続けることによって区別され得る。第１の参照ラベルのみが明細書において使用される場合、その説明は、第２の参照ラベルにかかわらず、同じ第１の参照ラベルを有する同様の構成要素のうちのいずれか１つに適用可能である。
【図面の簡単な説明】
【００１８】
【図１】サービス指向アーキテクチャ（ＳＯＡ）バスを介したインターネットプロトコル（ＩＰ）接続性を実現するための例示的なシステムのブロック図である。
【図２】ワイヤレス通信システムのブロック図である。
【図３】ＳＯＡバスを介したＩＰ接続性を実現するための例示的なシステムのブロック図である。
【図４】ＳＯＡバスを介した第１のデバイスの第１のＩＰサービスと第２のデバイスの第２のＩＰサービスとの間の例示的な通信信号のブロック図である。
【図５】ＳＯＡバスを介してＩＰパケットを送信および受信するように構成される例示的なデバイスのブロック図である。
【図６】ＳＯＡバスを介してＩＰパケットを送信および受信するように構成される例示的なデバイスのブロック図である。
【図７】ＳＯＡバスを介したＩＰ接続性を実現するための例示的な方法のフローチャートである。
【図８】ＳＯＡバスを介したＩＰ接続性を実現するための例示的な方法のフローチャートである。
【図９】ＳＯＡバスを介したＩＰ接続性を実現するための例示的な方法のフローチャートである。
【図１０】ＳＯＡバスを介したＩＰ接続性を実現するための例示的な方法のフローチャートである。
【図１１】ＳＯＡバスを介したＩＰ通信において使用するためのＩＰアドレスを生成するための例示的な方法のフローチャートである。
【図１２】ＳＯＡバスを介したＩＰ接続性を実現するためにＩＰサービスを発見するための例示的な方法のフローチャートである。
【図１３】本開示による、ゲートウェイノードと非ゲートウェイノードとを含むアドホックピアツーピアネットワークを示す図である。
【図１４】本開示の一態様を実現するためにゲートウェイノードと非ゲートウェイノードとによって実行される例示的なブロックを概念的に示す機能ブロック図である。
【図１５】本開示の一態様を実現するためにゲートウェイノードと非ゲートウェイノードとによって実行されるメッセージ交換の一例を概念的に示すデータフロー図である。
【図１６】本開示の一態様を実現するためにゲートウェイノードと非ゲートウェイノードとによって実行される例示的なブロックを概念的に示す機能ブロック図である。
【図１７】本開示の一態様を実現するためにゲートウェイノードと非ゲートウェイノードとによって実行されるメッセージ交換の一例を概念的に示すデータフロー図である。
【図１８】本開示の一態様を実現するために非ゲートウェイノードによって実行される例示的なブロックを概念的に示す機能ブロック図である。
【図１９】本開示の一態様を実現するためにゲートウェイノードによって実行される例示的なブロックを概念的に示す機能ブロック図である。
【図２０】本開示の一態様を実現するために非ゲートウェイノードによって実行される例示的なブロックを概念的に示す機能ブロック図である。
【発明を実施するための形態】
【００１９】
[0038]  ＳＯＡバスを介したＩＰ通信の実現形態について説明する。ＳＯＡバスに結合されたデバイスは、ＩＰサービスの別個のインスタンスを広告して実現し得る。各ＩＰサービスは、ＳＯＡバスに関連するＩＰサブネット中のＩＰアドレスを有し得る。広告された各ＩＰサービスは、ＩＰ接続性に一様に関連するサービス記述子を含む名前を有し得る。さらに、各ＩＰサービスの名前は、その特定のサービスのためのＩＰアドレスを含み得る。第１のデバイスは、第２のデバイスによって広告されたＩＰサービスをリモートで呼び出し、呼出しのパラメータとして第２のデバイスのＩＰサービスにＩＰパケットを渡すこと(passing)によってＳＯＡバスを介して第２のデバイスにＩＰパケットを送信し得る。
【００２０】
[0039]  また、サービス指向アーキテクチャバスを介したマルチホップインターネットルーティングに関する実現形態について説明する。例えば、いくつかの実現形態は、インターネット通知ルーティングを行うために、アドホックオンデマンドディスタンスベクタ（ＡＯＤＶ）ルーティング規格中の既存のルーティング機構の変更に関与する。代替実現形態は、ゲートウェイノード能力のＳＯＡバス告知と、リストから選択されたゲートウェイノードにＩＰパケットを送るおよび／または転送するための変更なしのＡＯＤＶルーティング機構の利用とに基づく非ゲートウェイノードによる、潜在的なゲートウェイノードのリストの維持に関与する。上述の実現形態のいずれの代替態様でも、インターネット宛てパケットは、トンネリングされる（すなわち、実際のインターネット宛先がマスキングされる）か、またはトンネリングされない（すなわち、インターネット宛先のマスキングがない）ことがある。
【００２１】
[0040]  従って、以下の説明は、例を与えるものであり、特許請求の範囲において記載される範囲、適用性、または構成を限定するものでない。本開示の趣旨および範囲から逸脱することなく、説明する要素の機能および構成において変更が行われ得る。様々な実施形態は、適宜に様々な手順または構成要素を省略、置換、または追加し得る。例えば、説明された方法が、説明された順序とは異なる順序で行われ得、様々なステップが追加、省略、または組み合わされ得る。また、いくつかの実施形態に関して説明する特徴は、他の実施形態において組み合わせられ得る。
【００２２】
[0041]  図１は、様々なデバイス１１５（例えば、パーソナルコンピュータ１１５−ａ、スマートフォン１１５−ｂ、タブレットコンピュータ１１５−ｃ、およびプリンタ１１５−ｄ）がピアツーピアレベルで互いに通信する例示的なシステム１００を示す。
【００２３】
[0042]  図１に示すように、デバイス１１５は、異なるアクセス技術を介して互いに通信し得る。本例では、パーソナルコンピュータ１１５−ａが、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）接続を介して（例えば、アドホックＷＬＡＮ接続としておよび／またはＷＬＡＮスイッチ、アクセスポイント、またはルータを通して）スマートフォン１１５−ｂと通信する。パーソナルコンピュータ１１５−ａはまた、ユニバーサルシリアルバス（ＵＳＢ）接続を介してプリンタ１１５−ｄと通信する。スマートフォン１１５−ｂはまた、Ｂｌｕｅｔｏｏｔｈ（登録商標）ワイヤレス接続を介してテーブルコンピュータ１１５−ｃと通信する。
【００２４】
[0043]  本例の１つのデバイス１１５もシステム中のデバイス１１５の各々と直接通信していないが、デバイス１１５は、ピアツーピアネットワークを介してＳＯＡバス１０５を実現するために互いに協働し得る。本明細書および添付の特許請求の範囲で使用する「ＳＯＡバス」という用語は、概して、互いにサービスを広告し、互いの広告されたサービスをリモートで呼び出すために、分散ノードに論理インフラストラクチャを与える任意の通信アーキテクチャを指す。さらに、「サービス」という用語は、概して、サービスを実現するデバイスまたはアプリケーションとは別個のデバイスまたはアプリケーションによってリモートで呼び出されるか、または呼ばれることがあり得るソフトウェア機能の自律単位を指す。
【００２５】
[0044]  説明における明確さのために、図２のＳＯＡバス１０５の説明および明細書全体にわたる説明は、オープンソースのＡｌｌＪｏｙｎバス機能を実現するＡｌｌＪｏｙｎバスのコンテキスト内で与えられる。ただし、本明細書の原理は、限定はしないが、エンタープライズサービスバス（ＥＳＢ：Enterprise Service Bus）、Ｗｉｎｄｏｗｓ（登録商標）サービスバス、シンプルサービスバス（ＳＳＢ：Simple Service Bus）、Ｄ−バス、および／または他のサービスバスを含む他のタイプのＳＯＡバスに広く適用され得る。
【００２６】
[0045]  図１のシステムでは、ＳＯＡバス１０５を実現するために、デバイス１１５の各々が、ＳＯＡバスデーモンの別個のインスタンスを稼働させ得る。システム３００の各デバイス１１５上で稼働するＳＯＡバスデーモンは、ピアツーピアネットワークを介して論理ＳＯＡバス１０５を確立するためにシステム３００の他のデバイス１１５上で稼働するＳＯＡバスデーモンと通信し得、従って、デバイス１１５の各々は、それらのピアと通信するためにデバイス１１５によって使用されるアクセス技術にかかわらず、論理ＳＯＡバス１０５を介してシステム１００中の他のデバイス１１５のいずれかと通信し得る。
【００２７】
[0046]  デバイス１１５の各々は、ＳＯＡバス１０５を介していくつかのサービスを提供するように構成され得る。例えば、パーソナルコンピュータ１１５−ａは、チャットサービス、ストリーミングメディアサービス、およびインターネットプロトコル（ＩＰ）サービスを提供し得る。スマートフォン１１５−ｂは、チャットサービス、全地球測位システム（ＧＰＳ）サービス、およびＩＰサービスを提供し得る。タブレットコンピュータ１１５−ｃは、辞書サービスおよびＩＰサービスを提供し得る。プリンタ１１５−ｄは、チャットサービス、ストリーミングメディアサービス、およびＩＰサービスを提供し得る。各デバイス１１５で提供される各サービスには、ＳＯＡバス１０５上での論理ロケーションまたはアドレスが割り当てられ得る。例えば、パーソナルコンピュータ１１５−ａのチャットサービスは、ＳＯＡバス１０５上で：１．１のアドレスが与えられ、パーソナルコンピュータ１１５−ａのストリーミングメディアサービスは、ＳＯＡバス１０５上で：１．２のアドレスが与えられ、パーソナルコンピュータ１１５−ａのＩＰサービスは、ＳＯＡバス１０５上で：１．３のアドレスが与えられる。本明細書および添付の特許請求の範囲では、「インターネットプロトコル」または「ＩＰ」という用語が、ＩＰｖ４、ＩＰｖ６、および／または任意の他の過去または将来のバージョンを含むインターネットプロトコルの任意のバージョンを指す。
【００２８】
[0047]  ＳＯＡバス１０５上のデバイス１１５の各々は、他のデバイス１１５によって広告されたサービスのリストへのアクセスを有し得る。デバイス１１５のうちの１つの上のクライアントプロセスは、ＳＯＡバス上の広告されたサービスのアドレスを用いてＳＯＡバス１０５上でセッションを確立することによって別のデバイス１１５によって提供された広告されたサービスをリモートで呼び出し得る。例えば、スマートフォン１１５−ｂのクライアントプロセスがプリンタ１１５−ｄのストリーミングメディアサービスにアクセスすることを望んだ場合、クライアントプロセスは、ＳＯＡバス１０５上で：１．９のアドレスを用いてセッションを確立し、セッションを通してストリーミングメディアサービスに関連する方法またはプロシージャをリモートで呼び出し得る。いくつかの例では、クライアントプロセスが、ＳＯＡバス上で広告された別のサービスであり得る。追加または代替として、クライアントプロセスは、ＳＯＡバス１０５を介して公に広告されたサービスを提供しない、ＳＯＡバス１０５上で別個のアドレスをもつアプリケーションまたはソフトウェア機能の他の単位であり得る。
【００２９】
[0048]  図１に示すように、システム１００中のデバイス１１５の各々は、ＳＯＡバス１０５を介してＩＰサービスを提供し得る。代替例では、システム１００中のデバイス１１５のサブセットのみが、ＳＯＡバスを介してＩＰサービスを提供し得る。ＩＰサービスは、ＳＯＡバス１０５を介して１つまたは複数のＩＰサブネットを実現するために互いに協働し得る。このＩＰサブネットは、ＳＯＡバスの外部の任意の他のＩＰサブネットとは別個で独立していることがあり得る。従って、パーソナルコンピュータ１１５−ａおよびスマートフォン１１５−ｂがそれらのＷＬＡＮ接続による第１のＩＰサブネットの一部であり得るとしても、第１のＩＰサブネットは、ＳＯＡバス１０５を介して実現される第２のＩＰサブネットとは別個の異なるものであり得る。
【００３０】
[0049]  図１にさらに示すように、ＩＰサービスの各々は、ＳＯＡバス１０５を介して広告される一意の名前を有し得る。各一意の名前は、ＩＰサービスに一様に関連するサービス記述子（例えば、「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ」）と、ＳＯＡバス１０５によって実現されるＩＰサブネット内でそのデバイスに割り当てられるＩＰアドレスの付加インジケータ（例えば、１９２．１６８．０．４のＩＰアドレスを示す「ｓ１９２＿１６８＿０＿４」）とを含み得る。均一なサービス記述子を用いて、各ＩＰサービスは、ＳＯＡバス１０５上の他のデバイスによってそのようなものとして迅速に識別され得る。さらに、ＳＯＡバス１０５を介して広告されるＩＰサービスの名前中でＩＰアドレスを示すことによって、ＳＯＡバス１０５を介して実現されるＩＰサブネットにおけるデバイス１１５のＩＰアドレスを判断するのに追加の発見ステップが必要ない。
【００３１】
[0050]  ＳＯＡバス１０５のピアツーピアアーキテクチャにより、ＳＯＡバス１０５に接続されたデバイス１１５間でＩＰパケットをルーティングするために別個のルータまたはスイッチが利用可能でない（または必要とされない）。代わりに、ＳＯＡバス１０５上でＩＰサービスを提供する各デバイス１１５は、ＳＯＡバス１０５上でＩＰサービスを提供するそれぞれの他の知られたデバイス１１５のＩＰアドレスの記録を維持し得る。ＩＰパケットは、広告されたＩＰサービスのリモート呼出しを通してＳＯＡバス１０５上のデバイス１１５間で交換され得る。例えば、パーソナルコンピュータ１１５−ａ（ＩＰアドレス１９２．１６８．０．４）は、ＳＯＡバス１０５上のアドレスの：１．３と：１．６との間でセッションを確立し、スマートフォン１１５−ｂに関連するＩＰサービス（すなわち「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｓ１９２＿１６８＿０＿２１」）に関連する方法または機能をリモートで呼び出し、ＳＯＡバス１０５を介してスマートフォン１１５−ｂに関連するＩＰサービスにＩＰパケットを渡すことによって、１９２．１６８．０．２１（スマートフォン１１５−ｂに関連するＩＰアドレス）にアドレス指定されたＩＰパケットを送信し得る。ＩＰパケットは、リモートで呼び出された方法または機能のシンタックス中の引数または他のパラメータとしてスマートフォン１１５−ｂに関連するＩＰサービスに渡され得る。いくつかの例では、ＩＰパケットが、ＩＰサービスによってパケットでなくオブジェクトとして扱われ得る。
【００３２】
[0051]  いくつかの例では、複数のＩＰサブネットが、ＳＯＡバス１０５を介して実現され得る。そのような例では、ＩＰサービスが、同じＩＰサブネットに関連するＩＰアドレス間のみでのパケットの転送を考慮するルールを強制し得る。ＩＰサービスのＩＰサブネットは、いくつかの例で、そのＩＰサービスの名前の中に含まれ得る。例えば、「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｗｅａｔｈｅｒ．ｓ１９２＿１６８＿０＿２１」というＩＰサービス名は、第１のサブネット上のＩＰアドレス１９２．１６８．０．２１に関連するＩＰサービスを指し得るが、「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｓｐｏｒｔｓ．ｓ１９２＿１６８＿０＿２１」というＩＰサービス名は、完全に別個の独立したサブネット上の同じＩＰアドレスを指し得る。デバイス１１５は、ＳＯＡバス１０５によって実現される複数のＩＰサブネットのための複数のＩＰアドレスを有し得る。この場合、デバイス１１５が複数のＩＰサービスを稼働でき、各ＩＰサービスが別個のサブネットに関連付けられ、および／または単一のＩＰサービスに複数のサブネットを処理させる。単一のＩＰサービスが複数のサブネットを処理する場合、ＩＰサービスの名前は、デバイス１１５に関連する各ＩＰアドレスとサブネットとを反映し得る。いくつかの例では、複数のサブネットが発見され得る。例えば、ユーザは、天気予報に関係するアドホックサブネットを発見することを望むことがある。この例では、ユーザが、「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｗｅａｔｈｅｒ」から始まる名前をもつサービスを求めてＳＯＡバス１０５を探索し得る。ユーザは、一意のＩＰアドレスと同じプリアンブルを使用するサブネットのうちの１つまたは複数上で自分のデバイス１１５のためのＩＰアドレスを広告し得る。
【００３３】
[0052]  さらに、いくつかの例では、ＩＰサービスのうちの１つまたは複数がドメインネームサービス（ＤＮＳ：Domain Name Service）機能を含み得る。例えば、パーソナルコンピュータ１１５＿ａ上で稼働するアプリケーションは、ドメインホスト名「ｍａｇｅｌｌａｎ．ｉｏｎ．ｌｏｃａｌ」からのファイルにアクセスしようと試み得る。パーソナルコンピュータ１１５＿ａ上で稼働するＩＰサービスは、ＳＯＡバス１０５に接続された他のデバイス１１５のうちの１つ上で稼働するＩＰサービスに与えられたドメインを変換するように構成され得る。
【００３４】
[0053]  いくつかの例では、１つまたは複数のＩＰサービスの名前がそのＩＰサービスに関連する任意のドメインホスト名のインジケータを含み得る。例えば、デバイス１１５によって広告されたＩＰサービスの名前は、「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｓ１９２＿１６８＿０＿２１＿２３５６＿ｍａｇｅｌｌａｎ」であり得る。この例では、サービス名の「Ｍａｇｅｌｌａｎ」構成要素がそのＩＰアドレス「１９２．１６８．０．２１」に関連するドメインホスト名を指す。（例えば、「ｍａｇｅｌｌａｎ．ｉｏｎ．ｌｏｃａｌ」というホスト名に到達するために）サービス名のホスト名構成要素に「．ｉｏｎ．ｌｏｃａｌ」または別のサフィックスなどの所定のドメインネームが付加され得る。追加または代替として、全ドメインネームが、広告されたサービス名の一部として含まれ得る。解決されたホスト名の名前に関連するサービスがホスト名の下のサブドメインとして使用され得ることがさらに企図される。例えば、ＳＯＡバス上の「ｗｅａｔｈｅｒ」という名前のサービスがＳＯＡバス上の「ｖｏｙａｇｅｒ」ホスト名に関連付けられている場合、デバイス１１５のうちの１つ上のＤＮＳ機能は、「ｗｅａｔｈｅｒ」サービスの「ｗｅａｔｈｅｒ．ｖｏｙａｇｅｒ．ｉｏｎ．ｌｏｃａｌ．」としてのＤＮＳルックアップを考慮し得る。
【００３５】
[0054]  このようにして、他のＩＰサービスは、ＳＯＡバス１０５上の他のＩＰサービスに与えられた名前を発見することによって、ＳＯＡバス１０５上のそれぞれの他のＩＰサービスに関連するドメインホスト名の名前を発見し、追跡し得る。このＤＮＳ機能は、パーソナルコンピュータ１１５＿ａまたは別のデバイス１１５に、ＤＮＳサーバと交信することなしにそれのアプリケーションおよびユーザに有効なＤＮＳ解決を与えることをさせ得る。ＳＯＡバス上の隣接サービスのホスト名がデバイス１１５でのＩＰアドレスに解決されると、ホスト名および解決されたＩＰアドレスがデバイス１１５のオペレーティングシステムのホストファイルに追加され得る（例えば、ＵＮＩＸ（登録商標）またはＵＮＩＸ似(UNIX-like)システムにおける「／ｅｔｃ／ｈｏｓｔｓ」で）。このようにして、アプリケーションから知られているホスト名への任意のＤＮＳクエリは、オペレーティングシステムによってＳＯＡバスに関連するＩＰサブネット上での正しいアドレスに自動的に解決され得る。デバイス１１５のオペレーティングシステムレゾルバは、ＳＯＡバス上の広告されたサービスに関連するホスト名に適応するために変更される必要はない。
【００３６】
[0055]  いくつかの例では、ＩＰサービスのうちの１つまたは複数が、ＩＰサービス間の効率的で効果的なＩＰパケットルーティングを達成するために様々な追加のルーティングプロトコル（例えば、マルチパスルーティング）およびサービス品質（ＱｏＳ）機能を実現するように構成され得ることがさらに企図される。
【００３７】
[0056]  再び「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｓ１９２＿１６８＿０＿２１＿２３５６＿ｍａｇｅｌｌａｎ」という名前のサービスの例を参照すると、広告されたサービス名中の「２３５６」は、同じサービスを広告する異なるデバイス１１５を区別するためにデバイス１１５によって生成された一意のＩＤに対応する。従って、広告されたサービス間のＩＰアドレス競合は、同じＩＰアドレスをもつ別のサービスまたはデバイスが同じ一意のＩＤを有するか、または異なる一意のＩＤを有するかを判断することによって検出され得る。ＩＰアドレスが同じ一意のＩＤを有する場合、競合は存在しない。そうでない場合、解決されるべきＩＰアドレス競合が検出され得る。
【００３８】
[0057]  次に図２を参照すると、ブロック図は、ＩＰサービスが図１において上述されたようにＳＯＡバスを介して実現され得るワイヤレス通信システム２００の一例を示す。システム２００は、基地局２０５（またはセル）と、デバイス１１５と、基地局コントローラ２２０と、コアネットワーク２２５とを含む（コントローラ２２０はコアネットワーク２２５に組み込まれ得る）。システム２００は、複数のキャリア（異なる周波数の波形信号）上での動作をサポートし得る。
【００３９】
[0058]  図２の例では、様々なデバイス１１５が、１つまたは複数の基地局２０５を通してコアネットワーク２２５と通信し得る。さらに、いくつかのデバイス１１５は、互いにピアツーピア通信を確立し得る。そのようなデバイス１１５のグループは、ピアツーピアネットワークを確立するために互いに協働し得る。例えば、デバイス１１５−ｅ、デバイス１１５−ｆ、およびデバイス１１５−ｇは、３つのデバイス１１５間のピアツーピアネットワークを確立するために、デバイス１１５−ｅとデバイス１１５−ｆとの間のピアツーピア接続と、デバイス１１５−ｆとデバイス１１５−ｇとの間のピアツーピア接続とを活用し得る。
【００４０】
[0059]  デバイス１１５は、さらに、図１に関して上述されたように、ピアツーピアネットワークを介してＳＯＡバス（例えば、図１のＳＯＡバス１０５）を実現し、ＳＯＡバスを介したＩＰ通信を実現するために協働し得る。このようにして、独立したＩＰサブネットは、基地局２０５またはコアネットワーク２２５に対する依拠なしにデバイス１１５−ｅおよび１１５−ｆの間で確立され得る。ただし、いくつかの例では、デバイス１１５のうちの１つまたは複数は、基地局２０５を通したコアネットワーク２２５への接続を利用するＳＯＡバスを介してサービスを広告し得る。例えば、デバイス１１５−ｅは、コアネットワーク２２５からファイルをダウンロードし、デバイス１１５−ｅとデバイス１１５−ｆとデバイス１１５−ｇとの間でＳＯＡバスを介して実現されるＩＰサブネットを介してファイルをデバイス１１５−ｇにストリームし得る。
【００４１】
[0060]  デバイスは、ＳＯＡバスを介してＩＰサービスを提供するピアツーピアネットワークに加わるために基地局２０５と通信している必要はない。図２に示すように、デバイス１１５−ｉとデバイス１１５−ｊとはそれぞれ、基地局２０５と通信することなしに他のデバイス１１５とのピアツーピア接続を実現し得る。これらピアツーピア接続を使用して、ＳＯＡバスは、デバイス１１５−ｈと、デバイス１１５−ｉと、デバイス１１５−ｊと、デバイス１１５−ｋとの間で実現され得る。上述されたように、ＳＯＡバスは、ＳＯＡバスに接続された４つのデバイス１１５間にプライベートＩＰサブネットを実現するために使用され得る。
【００４２】
[0061]  基地局２０５は、基地局アンテナ（図示せず）を介してデバイス１１５とワイヤレス通信し得る。基地局２０５は、複数のキャリアを介して基地局コントローラ２２０の制御下でデバイス１１５と通信し得る。基地局２０５サイトの各々は、それぞれの地理的エリアに通信カバレージを提供し得る。各基地局２０５のカバレージエリアは、ここで、２１０−ａ、２１０−ｂ、または２１０−ｃとして識別される。基地局のカバレージエリアは（図示しないが、カバレージエリアの一部分のみを構成する）セクタに分割され得る。システム２００は、異なるタイプの基地局２０５（例えば、マクロ基地局、マイクロ基地局、および／またはピコ基地局）を含み得る。異なる技術のための重複するカバレージエリアがあり得る。
【００４３】
[0062]  デバイス１１５はカバレージエリア２１０全体にわたって分散され得る。デバイス１１５は、固定デバイスに加えて、移動局、モバイルデバイス、アクセス端末（ＡＴ）、ユーザ機器（ＵＥ）、加入者局（ＳＳ）、加入者ユニットと呼ばれることがある。デバイス１１５は、限定はしないが、セルラー電話とワイヤレス通信デバイスとを含み得るが、デスクトップコンピュータ、プリンタ、サーバ、セットトップボックス、テレビジョンおよび他のメディアプレーヤ、携帯情報端末（ＰＤＡ）、他のハンドヘルドデバイス、ネットブック、ノートブックコンピュータなどをも含み得る。いくつかの例では、デバイスのいくつかは、であり得る。
【００４４】
[0063]  図１に示すように、いくつかのデバイス１１５は、基地局と直接通信できない。例えば、セル２１０−ｃ中に、基地局２０５への確立されたワイヤレス接続を有しない様々なデバイス１１５が示されている。図１にさらに示すように、いくつかのデバイス１１５は、基地局２０５を通してメッセージをルーティングすることなしに互いに直接通信し得る。直接または間接的に互いに通信することによって、デバイスは、サービス指向アーキテクチャ（ＳＯＡ）バスを確立するために協働し得、ＳＯＡバスにおいて、デバイス１１５は、バス上の他のデバイスにソフトウェアサービスを広告し、バスを介して互いのサービスを発見し、呼び出すことが可能である。いくつかの例では、実現されたＳＯＡバスを介したデバイス１１５間の通信が、基地局２０５またはそれらの関連するコアネットワーク２２５とは無関係に行われ得る。代替的に、ＳＯＡバスを介した１つまたは複数の通信は基地局２０５を通して行われ得る。
【００４５】
[0064]  図３は、ＳＯＡバスを介したＩＰ接続性を実現するための例示的なシステム３００のブロック図である。システム３００は、第１のデバイス１１５−ｌと第２のデバイス１１５−ｍとを含む。第１のデバイス１１５−ｌと第２のデバイス１１５−ｍとは、論理ＳＯＡバス１０５−ａを介して互いに通信する。第１のデバイス１１５−ｌと第２のデバイス１１５−ｍとは、図１または図２を参照して上述したデバイス１１５の例であり得る。ＳＯＡバス１０５−ａは、図１を参照して上述したＳＯＡバス１０５の一例であり得る。
【００４６】
[0065]  本例の各デバイス１１５は、１つまたは複数のプロセッサ３０５と、メインメモリ３１０と、ローカルストレージ３１５と、１つまたは複数の入出力（Ｉ／Ｏ）デバイス３２０とのハードウェアプラットフォームを含む。各デバイス１１５の（１つまたは複数の）プロセッサ３０５は、オペレーティングシステムのカーネル空間およびユーザ空間中で機能の様々なユニットを実行するためにローカルストレージ３１５からメインメモリ３１０にロードされるコードを実行し得る。
【００４７】
[0066]  カーネル空間において、図３の例に示されている各デバイス１１５は、Ｂｌｕｅｔｏｏｔｈ通信を送信および受信するためのＢｌｕｅｔｏｏｔｈインターフェース３２５と、ＷＬＡＮ通信を送信および受信するためのＷＬＡＮインターフェース３３０と、仮想ネットワークインターフェース３３５とを含む。仮想ネットワークインターフェースは、ＳＯＡバス１０５−ａを介したＩＰ通信を実現するために、ネットワークスタック中のＩＰレイヤ処理３４０とユーザ空間において実行するＩＰサービス３５５との間でパケットをルーティングし得る。いくつかの例では、仮想ネットワークインターフェース３３５が、知られている仕様に従ってＴＵＮ／ＴＡＰプログラムまたはモジュールを実現し得る。仮想ネットワークインターフェース３３５は、ネットワークレイヤデバイスをシミュレートし得る。ＩＰレイヤ処理３４０とＵＤＰ／ＴＣＰレイヤ処理３４５とは、ネットワークスタックのレイヤ３およびレイヤ４におけるパケット処理に関連する従来の機能を行い得る。
【００４８】
[0067]  ユーザ空間において、図３の例に示されている各デバイス１１５は、ＩＰネットワークを介してデータを送信および受信するように構成されるＩＰアプリケーション３５０と、ＳＯＡバス１０５−ａを介したＩＰ接続性を実現するように構成されるＩＰサービス３５５と、ＳＯＡバス１０５−ａを実現するように構成されるＳＯＡバスデーモン３６０とを含む。ＩＰサービス３５５とＳＯＡバスデーモン３６０とは、図１のＳＯＡバス１０５に関して上述したＩＰサービスとＳＯＡバスデーモンとの例であり得る。
【００４９】
[0068]  ＳＯＡバス１０５−ａを介したデバイス１１５間のＩＰ通信を示すために、第２のデバイス１１５−ｍにＩＰパケットを送信する第１のデバイス１１５−ｌのＩＰアプリケーション３５０−ａの例について考えてみる。この例では、ＩＰアプリケーション３５０−ａが、ＵＤＰ／ＴＣＰレイヤ処理３４５−ａとＩＰレイヤ処理３４０−ａとによってＩＰアプリケーションにアセンブルされるデータを生成する。アセンブルされたＩＰパケットは、宛先アドレスとして、第２のデバイス１５５−ｆのＩＰサービス３５５−ｂに関連するＩＰアドレスを有し得る。図２を参照して上述されたように、第２のデバイス１５５−ｆのＩＰサービス３５５−ｂに関連するＩＰアドレスは、第２のデバイス１５５−ｆのＩＰサービス３５５−ｂの広告された名前に基づいて第１のデバイス１１５−ｌのＩＰサービス３５５−ａによって判断され得る。
【００５０】
[0069]  仮想ネットワークインターフェース３３５−ａは、構成されたＩＰパケットを受信するか、またはインターセプトし、第１のデバイスのＩＰサービス３３５−ａにＩＰパケットを転送し得る。第１のデバイスのＩＰサービス３５５−ａは、次いで、ＳＯＡバス１０５−ａを介して第２のデバイス１１５−ｍのＩＰサービス３５５−ｂにＩＰパケットを渡すために、第２のデバイス１１５−ｍのＩＰサービス３５５−ｂに関連する方法またはプロシージャをリモートで呼び出し得る。例えば、ＩＰパケットは、呼び出された方法またはプロシージャのシンタックスに関連する引数または他のパラメータとして第２のデバイス１１５−ｍのＩＰサービス３５５−ｂに渡され得る。ＩＰパケットは、ＩＰサービス３５５によって、パケットでなくソフトウェアオブジェクトとして扱われ得る。
【００５１】
[0070]  第２のデバイス１１５−ｍのＩＰサービス３５５−ｂにおいて受信されたＩＰパケットは、次いで、第２のデバイスの仮想ネットワークインターフェース３３５−ｂに転送され、仮想ネットワークインターフェース３３５−ｂは、ネットワークスタックのＩＰレイヤ処理３４０−ｂとＵＤＰ／ＴＣＰレイヤ処理３４５−ｂとにＩＰパケットを配置する。ＵＤＰ／ＴＣＰレイヤ処理３４５がＩＰパケットに対して完了すると、ＩＰパケットからのデータが第２のデバイス１１５−ｍのＩＰアプリケーション３５０−ｂに提供され得る。
【００５２】
[0071]  図４は、第１のデバイスによって実現される第１のＩＰサービス３５５−ｃと第２のデバイスによって実現される第２のＩＰサービス３５５−ｄとの間のＳＯＡバス１０５−ｂを介した例示的な通信信号のブロック図である。ＩＰサービス３５５は、図３を参照して上述したＩＰサービス３５５の一例であり得る。第１のデバイスと第２のデバイスとは、図１、図２、または図３を参照して上述したデバイス１１５の例であり得る。ＳＯＡバス１０５−ｂは、図１または図３を参照して上述したＳＯＡバス１０５の一例であり得る。
【００５３】
[0072]  ＩＰサービス３５５の各々は、ＳＯＡバス１０５−ｂ上に一意のアドレスを有し得る。本例では、第１のＩＰサービス３５５−ｃが、ＳＯＡバス１０５−ｂ上に：１．３のアドレスを有し、第２のＩＰサービス３５５−ｄが、ＳＯＡバス１０５−ｂ上に：１．６のアドレスを有する。さらに、各ＩＰサービス３５５は、ＳＯＡバス上で広告され、他のサービスに発見可能である名前を有する。本例の各ＩＰサービス３５５の名前は、ＳＯＡバス１０５−ｂの連続名前空間中でＩＰサービス３５５に一様に関連したサービス記述子（すなわち、「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ」）を含む。各名前は、さらに、ＳＯＡバス１０５−ｂを介して実現されるＩＰサブネットに関連するＩＰアドレスのインジケータを有する。従って、第１のＩＰサービス３５５−ｃは、１９２．１６８．０．４のＩＰアドレスをもつＩＰサービス３５５を示す「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｓ１９２＿１６８＿０＿４」の名前を有し、第２のＩＰサービス３５５−ｄは、１９２．１６８．０．２１のＩＰアドレスをもつＩＰサービス３５５を示す「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｓ１９２＿１６８＿０＿２１」の名前を有する。
【００５４】
[0073]  第１のＩＰサービス３５５と第２のＩＰサービス３５５とがＩＰパケットを交換する場合、第１のＩＰサービス３５５−ｃは、最初に、４０５において、ＳＯＡバス１０５−ｂ上の：１．３と：１．６との間のセッションで開始する。第２のＩＰサービス３５５−ｄは、４１０において、：１．３と：１．６との間のセッションを確認する。第１のＩＰサービス３５５−ｃは、次いで、４１５において、ＳＯＡバス１０５−ｂを介して第２のＩＰサービス３５５−ｄで「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｓ１９２＿１６８＿０＿２１．ｔｒａｎｓｍｉｔ」という名前の方法をリモートで呼び出すことによって第２のＩＰサービス３５５−ｄのＩＰアドレスにアドレス指定された第１のＩＰパケットを送信し得る。第１のＩＰサービスは、機能についての引数または他のパラメータとして呼び出された方法に第１のＩＰパケットを渡す。機能は、ＩＰ通信を実現するための全てのＩＰサービスによって実現される機能の知られているセットのうちの１つであり得る。ＩＰパケットは、２つのＩＰサービス３５５間のオブジェクトパラメータとして扱われ得る。第２のＩＰサービス３５５−ｄは、４２０において、ＳＯＡバス１０５−ｂを介して第１のＩＰサービス３５５−ｃで「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｓ１９２＿１６８＿０＿４．ｔｒａｎｓｍｉｔ」という名前の方法をリモートで呼び出し、呼び出された方法についての引数または他のパラメータとして方法に第２のＩＰパケットを渡すことによって、第１のＩＰサービス３５５−ｃに第２のパケットを送り得る。
【００５５】
[0074]  図５は、例示的なデバイス１１５−ｎのブロック図を示す。デバイス１１５−ｎは、図１、図２、または図３を参照して上述したデバイス１１５の一例であり得る。デバイス１１５−ｎは、例えば、完全にハードウェアで実現されるか、またはハードウェアとソフトウェアとの組合せで実現され得る。デバイス１１５−ｎは、ＩＰサービスモジュール５０５と、ＩＰサービス広告モジュール５１０と、ＩＰサービス発見モジュール５１５と、送信機モジュール５２０と、受信機モジュール５２５とを含む。
【００５６】
[0075]  ＩＰサービスモジュール５０５は、ピアツーピアネットワークによって実現されるＳＯＡバス（例えば、図１、図３、または図４のＳＯＡバス１０５）を介してＩＰサービス（例えば、図３または図４のＩＰサービス３５５）を実現するように構成され得る。ＩＰサービスモジュール５０５によって実現されるＩＰサービスは、ＳＯＡバスを介して実現されるＩＰサブネット内のＩＰアドレスに関連付けられ得る。ＩＰサービスは、ＳＯＡバスを介してサブネット中の異なるＩＰアドレスに関連する他のＩＰサービスと通信するように構成され得る。
【００５７】
[0076]  ＩＰサービス広告モジュール５１０は、他のデバイスおよびサービスにＳＯＡバスを介してＩＰサービスモジュール５０５によって実現されるＩＰサービスを広告し得る。ＩＰサービス広告モジュール５１０は、ＩＰサービスの名前、ＩＰサービスに関連するＩＰアドレス、メディアアクセス制御（ＭＡＣ）アドレス、グローバル一意識別子（ＧＵＩＤ）、汎用一意識別子（ＵＵＩＤ）、および／またはこれら原理の特定の実現形態に適し得るＩＰサービスに関する任意の他の情報を広告し得る。いくつかの例では、ＩＰサービス広告モジュール５１０がまた、第１のＩＰサービスに関連するサブネットおよび／またはＤＮＳ解決データを広告し得る。
【００５８】
[0077]  ＩＰサービス発見モジュール５１５は、ＳＯＡバスを介して第２のデバイスによって広告された第２のＩＰサービスを発見し得る。本明細書の他の場所でより詳細に説明するように、第２のＩＰサービスは、第２のＩＰサービスの広告された名前中に含まれている均一なＩＰサービス記述子に基づいて発見され得る。ＩＰサービス発見モジュール５１５はまた、広告された名前から、または何らかの他の方法によって第２のＩＰサービスに関連するＩＰアドレスを発見し得る。いくつかの例では、ＩＰ発見モジュール５１５がまた、ＭＡＣアドレス、ＧＵＩＤ、ＵＵＩＤ、および／またはこれら原理の特定の実現形態に適し得る第２のＩＰサービスに関する任意の他の情報を発見し得る。追加または代替の例では、ＩＰサービス発見モジュールが第２のＩＰサービスに関連するサブネットおよび／またはＤＮＳ解決データ。
【００５９】
[0078]  送信機モジュール５２０は、ＩＰサービスモジュール５０５に、ＳＯＡバスを介して第２のＩＰサービスをリモートで呼び出すことと、第２のＩＰサービスを呼び出すことに関連する引数または他のパラメータとして第２のＩＰサービスに第１のＩＰパケットを渡すこととを行わせることによって第２のデバイスに少なくとも第１のＩＰパケットを送信するように構成され得る。
【００６０】
[0079]  受信機モジュール５２５は、ＩＰサービスモジュール５０５オブデバイス１１５−ｎによって実現されるＩＰサービスを通してＳＯＡバスを介して第２のデバイスから少なくとも第２のＩＰパケットを受信するように構成され得る。第２のデバイスは、ＳＯＡバスを介してＩＰサービスをリモートで呼び出し、ＩＰサービスを呼び出すことに関連する引数またはパラメータとしてＩＰサービスに第２のＩＰパケットを渡すことによってＩＰサービスに第２のＩＰパケットを送信し得る。
【００６１】
[0080]  図６は、例示的なデバイス１１５−ｏのブロック図を示す。デバイス１１５−ｏは、図１、図２、図３、または図５を参照して上述したデバイス１１５の一例であり得る。デバイス１１５−ｏは、例えば、完全にハードウェアで実現されるか、またはハードウェアとソフトウェアとの組合せで実現され得る。図５のデバイス１１５−ｎと同様に、図６のデバイス１１５−ｏは、ＩＰサービスモジュール５０５−ａと、ＩＰサービス広告モジュール５１０−ａと、ＩＰサービス発見モジュール５１５−ａと、送信機モジュール５２０−ａと、受信機モジュール５２５−ａとを含む。さらに、図６のデバイス１１５−ｏは、ＳＯＡバスデーモンモジュール６０５と、ＩＰアプリケーション６１５と、ＩＰアドレス割当てモジュール６２０とを含む。
【００６２】
[0081]  ＳＯＡバスデーモンモジュール６０５は、隣接デバイスとのピアツーピア接続を確立するＳＯＡバスデーモンを実現し得る。このようにして、複数のデバイスは、上述されたように、ＳＯＡバスを実現するピアツーピアネットワークを確立し得る。ＳＯＡバスデーモンモジュール６０５がデバイス１１５−ｏ上にＳＯＡバス機能を論理的に実現するので、ＩＰサービスモジュール５０５−ａは、ＳＯＡバスデーモンモジュール６０５を通してＳＯＡバスと通信し得る。ＳＯＡバスデーモンモジュール６０５は、ＳＯＡバス上で提供されるサービスとのセッションを確立し、維持し、終了するように構成されるセッション管理サブモジュール６１０を含み得る。
【００６３】
[0082]  ＩＰアプリケーション６１５は、ＳＯＡバスを介して実現されるＩＰサブネットを介して送られるデータを生成し、受信する、ユーザ空間において実行されるアプリケーションを含み得る。従って、送信機モジュール５２０−ａによって送られるＩＰパケット中のデータはＩＰアプリケーション６１５を起源とし得、受信機モジュール５２５−ａによって受信されるＩＰパケット中のデータはＩＰアプリケーション６１５に最終的に転送され得る。
【００６４】
[0083]  ＩＰアドレス割当てモジュール６２０は、ＩＰサービスモジュール５０５−ａに関連するＩＰアドレスを生成するように構成され得る。前の図に関して上述されたように、ＩＰアドレス割当てモジュール６２０は、ＳＯＡバスのＩＰサブネットに関連する許容範囲内でＩＰアドレスをランダムに生成し、競合についてＳＯＡバスを確認し、競合が発見されない場合、ＩＰサービスモジュール５０５−ａにＩＰアドレスに割り当て得る。
【００６５】
[0084]  図７は、本開示の原理による、ピアツーピアネットワークによって実現されるＳＯＡバスを介したＩＰ接続性を可能にする方法７００の一例を示す。図７の方法７００は、図１〜図６を参照して上述した、例えば、デバイス１１５のうちの１つまたは複数によって行われ得る。
【００６６】
[0085]  ブロック７０５では、第１のデバイスでの第１のＩＰサービスがピアツーピアネットワークによって実現されるＳＯＡバスを介して広告される。上述されたように、ＳＯＡバスは、ＡＬＬＪＯＹＮサービスバス、エンタープライズサービスバス（ＥＳＢ）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓサービスバスと、シンプルサービスバス（ＳＳＢ）、および／または任意の他の適用可能なタイプのサービスバスを含み得る。第１のＩＰサービスは、第１のＩＰサービスに関連するサービス名を使用して広告され、第１のサービスに関連するサービス名は、ＳＯＡバスでのＩＰサービスに一様に関連するサービス記述子（例えば、「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ」）を含み得る。
【００６７】
[0086]  ブロック７１０では、ＳＯＡバスを介して第２のデバイスによって広告された第２のＩＰサービスが発見される。第２のＩＰサービスは、第２のＩＰサービスに関連するサービス名ベースで発見され得る。第２のＩＰサービスに関連するサービス名は、第１のＩＰサービスに関連するサービス名と同じ、ＩＰサービスのためのサービス記述子を含み得る。ＩＰサービス名の各々はまた、ＳＯＡバスによって実現されるＩＰサブネット内にＩＰサービスを実現するそれぞれのデバイスに関連する一意のＩＰアドレスの指示を含み得る。第１のＩＰサービスと第２のＩＰサービスとのためのサービス名はまた、ＳＯＡバスによって実現される連続名前空間内に実現され得る。
【００６８】
[0087]  ブロックｋ  ７１５では、第１のデバイスが、ＳＯＡバスを介して第２のＩＰサービスをリモートで呼び出すことによって第２のデバイスに少なくとも第１のＩＰパケットを送信する。例えば、第１のデバイスは、ＳＯＡバスを介して第２のＩＰサービスに関連する機能をリモートで呼び出し、機能の引数またはパラメータとして第２のＩＰサービスに第１のＩＰパケットを渡し得る。第１のＩＰパケットは、ＳＯＡバスによって実現されるＩＰサブネット内で第２のデバイスに関連する一意のＩＰアドレスにアドレス指定され得る。
【００６９】
[0088]  ブロック７２０では、第１のデバイスが、第１の広告されたサービスを通してＳＯＡバスを介して第２のデバイスから少なくとも第２のＩＰパケットを受信する。例えば、第２のデバイスは、ＳＯＡバスを介して第１のＩＰサービスに関連する機能をリモートで呼び出し、機能の引数またはパラメータとして第１のＩＰサービスに第２のＩＰパケットを渡し得る。第２のＩＰパケットは、ＳＯＡバスによって実現されるＩＰサブネット内で第１のデバイスに関連する一意のＩＰアドレスにアドレス指定され得る。
【００７０】
[0089]  図８は、本開示の原理による、ピアツーピアネットワークによって実現されるＳＯＡバスを介したＩＰ接続性を可能にする方法８００の別の例を示すフローチャートである。図８の方法８００は、図１〜図６を参照して上述した、例えば、デバイス１１５のうちの１つまたは複数によって行われ得る。
【００７１】
[0090]  ブロック８０５では、ＩＰパケットが第１のデバイスの仮想ネットワークインターフェースでＩＰアプリケーションから受信され、このＩＰパケットは第２のデバイスにアドレス指定される。仮想ネットワークインターフェースは、ＳＯＡバスによって実現されるＩＰサブネットに関連するＩＰアドレスにアドレス指定されたＩＰパケットを受信し得る。いくつかの例では、ＳＯＡバス上のＩＰアドレスにアドレス指定されたＩＰパケットが、ＩＰアプリケーションから仮想ネットワークインターフェースに直接転送され得る。追加または代替として、仮想ネットワークインターフェースは、ＳＯＡバス上のＩＰアドレスにアドレス指定されたＩＰパケットをインターセプトし得る。
【００７２】
[0091]  ブロック８１０では、仮想ネットワークインターフェースで受信されたＩＰパケットが第１のデバイスで実行される第１のＩＰサービスに転送される。第１のＩＰサービスは、他のデバイスにＳＯＡバス上で広告されるサービスであり得る。第１のＩＰサービスは、ＳＯＡバスを介して行われたリモート機能またはプロシージャ呼出しのオブジェクトとしてＩＰパケットを送信および受信するように構成され得る。
【００７３】
[0092]  ブロック８１５では、第２のデバイスで実行される第２のＩＰサービスがＩＰパケットの宛先アドレスから識別される。例えば、第２のＩＰサービスは、ＳＯＡバス上で広告される、第２のＩＰサービスに関連するＩＰアドレスを含む名前を有し得る。従って、第２のＩＰサービスは、ＩＰパケットの宛先ＩＰアドレスを含むＩＰサービスを求めてＳＯＡバスを介して広告されるサービスの名前のリストを探索することによって識別され得る。
【００７４】
[0093]  ブロック８２０では、セッションが現在、ＳＯＡバスを介した第１のＩＰサービスと第２のＩＰサービスとの間に存在するかどうかに関して判断が行われる。この判断は、ＳＯＡバスを介した第１のデバイスのサービスまたはアプリケーションと外部デバイスのサービスまたはアプリケーションとの間のセッションの進行を追跡する１つまたは複数のテーブルまたは他のデータ構造を使用して行われ得る。
【００７５】
[0094]  サービスが現在、ＳＯＡバスを介した第１のＩＰサービスと第２のＩＰサービスとの間に存在しない場合（ブロック８２０、いいえ）、新しいセッションがＳＯＡバスを介した第１のＩＰサービスと第２のＩＰサービスとの間にブロック８２５で生成される。セッションがＳＯＡバスを介した第１のＩＰサービスと第２のＩＰサービスとの間に存在するとき、第１のＩＰサービスがＳＯＡバスを介して第２のＩＰサービスをブロック８３０でリモートで呼び出し、ＩＰパケットを第２のＩＰサービスの機能またはプロシージャのパラメータまたは引数として第２のＩＰサービスに渡す。いくつかの例では、第１のＩＰサービスおよび第２のＩＰサービスが、ＩＰパケットをルーティング可能なパケットでなくオブジェクトとして扱い得る。
【００７６】
[0095]  図９は、本開示の原理による、ピアツーピアネットワークによって実現されるＳＯＡバスを介したＩＰ接続性を可能にする方法９００の別の例を示す。図９の方法９００は、図１〜図６を参照して上述した、例えば、デバイス１１５のうちの１つまたは複数によって行われ得る。
【００７７】
[0096]  ブロック９０５では、第１のデバイスでの第１のＩＰサービスがＳＯＡバスを介して第２のデバイスでの第２のＩＰサービスによってリモートで呼び出されたという判断が行われる。例えば、第２のＩＰサービスがＳＯＡバスを介して第１のＩＰサービスに関連する機能をリモートで呼び出したと第１のデバイスで判断され得る。
【００７８】
[0097]  ブロック９１０では、第１のＩＰサービスに関連するＩＰアドレスにアドレス指定されたＩＰパケットが第１のＩＰサービスを呼び出すことに関連するパラメータとして受信される。例えば、第１のＩＰサービスは、ＩＰパケットを第２のＩＰサービスによってリモートで呼び出される機能のシンタックス内のオブジェクトパラメータまたは引数として受信し得る。
【００７９】
[0098]  ブロック９１５では、受信されたＩＰパケットが第１のＩＰサービスから第１のデバイスで実現される仮想ネットワークインターフェースに転送される。仮想ネットワークインターフェースは、ＩＰパケットが従来のネットワーク接続を介した従来のパケットとして受信されたかのようにＩＰパケットを扱い得る。ブロック９２０では、仮想ネットワークインターフェースが、ＩＰレイヤで受信したＩＰパケットの処理を開始する。いくつかの例では、ＴＣＰまたはＵＤＰデータグラムがＩＰレイヤ処理中にＩＰパケットから抽出され得る。ＴＣＰまたはＵＤＰデータグラムからのデータは、ＴＣＰまたはＵＤＰ処理の結果に基づいてアプリケーションレイヤに転送され得る。追加または代替として、ＴＣＰまたはＵＤＰデータグラムからのデータは、ＴＣＰまたはＵＤＰソケットのステータスを更新するために使用され得る。
【００８０】
[0099]  図１０は、本開示の原理による、ピアツーピアネットワークによって実現されるＳＯＡバスを介したＩＰ接続性を可能にする方法１０００の別の例を示すフローチャートである。図１０の方法１０００は、図１〜図６を参照して上述した、例えば、デバイス１１５のうちの１つまたは複数によって行われ得る。
【００８１】
[0100]  ブロック１００５では、第１のデバイスがＳＯＡバスに接続する。ＳＯＡバスは、例えば、ＡＬＬＪＯＹＮサービスバス、ＥＳＢ、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓサービスバス、ＳＳＢ、および／または任意の他の好適なＳＯＡバスを含み得る。
【００８２】
[0101]  ブロック１０１０では、ＩＰ通信のためのＩＰアドレスが第１のデバイスに割り当てられる。ＩＰアドレスは、ＳＯＡバスによって実現されるサブネット内にＩＰアドレスをランダムに生成し、ＳＯＡバスにおけるＩＰアドレス競合について検査することによって、第１のデバイスに割り当てられ得る。
【００８３】
[0102]  ブロック１０１５では、第１のデバイスに関連する第１のＩＰサービスの名前が生成される。名前は、ＳＯＡバスでのＩＰサービスに一様に関連するサービス記述子と割り当てられたＩＰアドレスとを含み得る。例えば、ＩＰサービスに一様に関連するサービス記述子が「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ」であり、ＳＯＡを介したＩＰ通信のための第１のデバイスに割り当てられるＩＰアドレスが１９２．１６８．０．４である場合、第１のＩＰサービスの名前が割り当てられたＩＰアドレスをサービス記述子に付加することによって生成され、第１のＩＰサービスについて「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｓ１９２＿１６８＿０＿４」の名前をもたらし得る。
【００８４】
[0103]  ブロック１０２０では、第１のデバイスが、ＳＯＡバスによって実現される連続名前空間を使用して第１のＩＰサービスの名前を広告する。例えば、第１のデバイス上で稼働するＳＯＡバスデーモンは、ＳＯＡバスに接続された他のデバイス上で稼働する他のＳＯＡバスデーモンに第１のＩＰサービスの名前をブロードキャストし得る。
【００８５】
[0104]  ブロック１０２５では、ＳＯＡバスに接続された第２のデバイスに関連する第２のＩＰサービスが発見され得る。例えば、第１のデバイス上で稼働するＳＯＡバスデーモンは、第２のＩＰサービスの名前を含む第２のデバイス上で稼働するＳＯＡバスデーモンからのブロードキャストを受信し得る。第１のデバイス上で稼働するＳＯＡバスデーモンは、第２のＩＰサービスがＩＰ通信のためのものであると第２のＩＰサービスの名前から判断し、第１のＩＰサービスに第２のＩＰサービスの名前を転送し得る。
【００８６】
[0105]  ブロック１０３０では、第２のＩＰサービスに関連するＩＰアドレスが第２のＩＰサービスの名前に基づいて判断される。例えば、第２のＩＰサービスの名前が「ｏｒｇ．ａｌｌｊｏｙｎ．ｉｐｓｅｒｖｉｃｅ．ｓ１９２＿１６８＿０＿２２」である場合、第２のＩＰサービスに関連するＩＰアドレスが１９２．１６８．０．２２であると第１のＩＰサービスが判断し得る。
【００８７】
[0106]  ブロック１０３５では、第２のＩＰサービスに関連するＩＰアドレスにアドレス指定されたＩＰパケットが第１のデバイスで生成される。ＩＰパケットは、第１のデバイスでＩＰアプリケーションによって生成され得る。
【００８８】
[0107]  ブロック１０４０では、ＩＰパケットが、ＳＯＡバスを介して第２のＩＰサービスをリモートで呼び出し、第２のＩＰサービスを呼び出すパラメータとして第２のＩＰサービスにＩＰパケットを渡すことによって第２のデバイスに送信される。いくつかの例では、ＩＰパケットが、第２のＩＰサービスに関連し第１のＩＰサービスによってリモートで呼び出されるプロシージャまたは他の機能のシンタックスに関連するオブジェクトであり得る。
【００８９】
[0108]  図１１は、本開示の原理による、ＳＯＡバスを介したＩＰ通信において使用するためのＩＰアドレスを生成する方法１１００の一例を示すフローチャートである。図１１の方法１１００は、図１〜図６を参照して上述した、例えば、デバイス１１５のうちの１つまたは複数によって行われ得る。
【００９０】
[0109]  ブロック１１０５では、ＳＯＡバスによって実現される現在のＩＰサブネット中で許容範囲のＩＰアドレスが判断される。いくつかの例では、ＳＯＡバスに接続された１つまたは複数のアプリケーションが許容範囲のＩＰアドレスを広告し得る。追加または代替として、許容範囲のＩＰアドレスは、ＳＯＡバスの特性に基づいて決定論的に識別され得る。
【００９１】
[0110]  ブロック１１１０では、サブネットのための許容範囲のＩＰアドレス内のＩＰアドレスが第１のデバイスで生成される。いくつかの例では、ＩＰアドレスが、ランダムジェネレータと、サブネットのための許容範囲内に生成されたＩＰアドレスを保つマスクを使用して生成され得る。
【００９２】
[0111]  ブロック１１１５では、ＩＰサービス名がＳＯＡバスで使用する第１のデバイスのために生成される。ＩＰサービス名は、ＳＯＡバス上のＩＰサービスに関連する知られているサービス記述子に生成されたＩＰアドレスを付加することによって生成される。生成されたＩＰサービス名は、ＳＯＡバスによって実現される連続名前空間のシンタックスに準拠し得る。
【００９３】
[0112]  ブロック１１２０では、ＳＯＡバスがＩＰサービス名競合について問い合わされる。例えば、生成されたＩＰサービス名は、第１のデバイス上で稼働するＳＯＡバスデーモンからＳＯＡバスに接続された他のデバイス上で稼働するＳＯＡバスデーモンに送信され得る。ＳＯＡバスに接続された別のデバイスが第１のデバイスのために生成されたＩＰサービス名をすでに使用している場合（ブロック１１２５、はい）、フローはブロック１１１０に戻り、新しいＩＰアドレスが第１のデバイスで生成される。そうでない場合（ブロック１１２５、いいえ）、第１のデバイスで生成されたＩＰサービス名とＩＰアドレスとがブロック１１３０で第１のデバイスに割り当てられる。
【００９４】
[0113]  図１２は、本開示の原理による、ＳＯＡバス上でＩＰサービスを発見する方法１２００の一例を示すフローチャートである。図１２の方法１２００は、図１〜図６を参照して上述した、例えば、デバイス１１５のうちの１つまたは複数によって行われ得る。
【００９５】
[0114]  ブロック１２０５では、ＳＯＡバスに接続されたデバイス上で稼働するＳＯＡバスデーモンが、ＳＯＡバスに接続された新しいＩＰサービスをデバイス上で稼働する第１のＩＰサービスに通知するための命令を受信する。いくつかの例では、第１のＩＰサービスからの明示的な命令がＳＯＡバスデーモンで受信され得る。追加または代替として、命令は本来、ＳＯＡバスデーモンの基礎をなすコードの一部としてＳＯＡバスデーモンに提供され得る。
【００９６】
[0115]  ブロック１２１０では、第１のＩＰサービスが、ＳＯＡバス上の新しい第２のＩＰサービスの通知を受信する。第１のＩＰサービスは、第２のＩＰサービスの名前とＳＯＡバス上での第２のＩＰサービスのロケーションまたはアドレスとを受信する。
【００９７】
[0116]  ブロック１２１５では、第２のＩＰサービスのＩＰアドレスが第２のＩＰサービスに関連する名前に基づいて識別される。第２のＩＰサービスのＩＰアドレスは、ＳＯＡバス上の第２のＩＰサービスのロケーションまたはアドレスとは異なり得る。例えば、第２のＩＰサービスのＩＰアドレスは「１９２．１６８．０．１２」であり得、ＳＯＡバス上の第２のＩＰサービスのロケーションは「：１．３」であり得る。
【００９８】
[0117]  ブロック１２２０では、第２のＩＰサービスのＩＰアドレスが第１のＩＰサービスによって維持されるマッピングテーブルまたは他のデータ構造におけるＳＯＡバス上の第２のＩＰサービスのロケーションに関連付けられる。
【００９９】
[0118]  図１３は、モバイルデバイス間のネットワーキングを行うＳＯＡバスを使用して定義されるアドホックピアツーピア（Ｐ２Ｐ）ネットワークのグラフィカル表現である。ただし、アドホックＳＯＡバスネットワークを構成する複数のノードが全て、インターネットアクセス可能性を有するとは限らないことがある。例えば、ゲートウェイノード１３００および１３０２は、インターネット１３０４に接続され得るが、非ゲートウェイノード１３０６〜１３１４は、インターネット１３０４に接続されないことがある。そのような状況では、インターネット接続を有しないネットワークノード（非ゲートウェイノード）からそのようなインターネット接続を有するネットワークノード（ゲートウェイノード）にインターネットトラフィックをルーティングする際に困難が発生し得る。ゲートウェイノードに隣接する非ゲートウェイノードの場合、隣接するゲートウェイノードのゲートウェイノードサービスが上述した方法で利用され得る。しかしながら、ゲートウェイノードに隣接しない非ゲートウェイノードを伴うマルチホップシナリオは、図１３〜図２０に関して以下で説明する追加のソリューションが必要になる。
【０１００】
[0119]  図１４は、アドホックオンデマンドディスタンスベクタ（ＡＯＤＶ）ルーティング規格中の既存のルーティング機構の変更によってインターネット通知ルーティングを実現するために、ゲートウェイノードと非ゲートウェイノードとによって実行される例示的なブロックを示す。典型的なＡＯＤＶルーティングは、サブネット内ルーティングのためのルーティング機構を提供する。ＡＯＤＶ型のルーティングをサブネットの外部に拡大するために、ＡＯＤＶインターネットルート要求メッセージパケットの宛先フィールドに不確定宛先が追加される。非ゲートウェイノードは、それのネイバーノードにインターネットルート要求メッセージを送出する。不確定宛先をもつインターネットルート要求メッセージがゲートウェイノードによって受信されると、ゲートウェイノードは、それ自体のアドレスとゲートウェイフラグとで応答する。ゲートウェイノードから、要求が発生した非ゲートウェイノードにゲートウェイノードの応答を転送する各ノードは、それのゲートウェイポインタをゲートウェイノードのアドレスに更新することになる。従って、非ゲートウェイノードでインターネットアクセスが所望されると、非ゲートウェイノードは、それのゲートウェイポインタに関連するゲートウェイノードを通るインターネットへのアクセス経路を取得するのに適切なルーティング情報を有することになる。
【０１０１】
[0120]  アドホックピアツーピアネットワークのノードが、所与のインターネットルーティングプロシージャにおけるそれらのそれぞれの役割に従って異なるプロシージャを実現するように適合され得ると想定されている。そのようなノードは、インターネットルーティングプロシージャにおけるそれの役割が、ソース非ゲートウェイノードとして動作することであるのか、中間非ゲートウェイノードとして動作することであるのか、またはゲートウェイノードとして動作することであるのかに応じて、ブロック１４００で、複数の異なるモードのうちの１つで動作するように適合され得る。例えば、ノードがインターネットを介してインターネットパケットを送信することを望むが、インターネット接続がない場合には、ノードがソース非ゲートウェイノードモードで動作し得、その場合に処理がブロック１４０２で開始し得る。さらに、ノードがネイバーノードからインターネットルート要求を受信した場合、およびそれがインターネット接続を有しない場合には、ノードが中間非ゲートウェイノードモードで動作し得、その場合に処理がブロック１４０４で開始し得る。さらに、ノードがネイバーノードからインターネットルート要求を受信した場合、およびそれがインターネット接続を有する場合には、ノードがゲートウェイノードモードで動作し得、その場合に処理がブロック１４０６で開始し得る。
【０１０２】
[0121]  ブロック１４０２では、ソース非ゲートウェイノードがゲートウェイノードのための好適な宛先アドレスをすでに知っている場合に、ソースゲートウェイノードがその情報に基づいてＩＰパケットを送信し得る。しかしながら、ソース非ゲートウェイノードが、そのような情報を有しない場合、あるいはゲートウェイノードを使用しようとする試みが失敗したかまたは不十分である場合には、ソース非ゲートウェイノードがインターネットルート要求（Ｉ−ＲＲＥＱ）を送り得る。ソース非ゲートウェイノードは、フラッディング技法によるネットワークを介したＩ−ＲＲＥＱメッセージの送信をトリガする不特定アドレスとして、変更済みＡＯＤＶプロトコルにおいて定義されていることがある宛先ＩＮ＿ＡＤＤＲ＿ＡＮＹ（例えば、全てゼロ）にＩ−ＲＲＥＱを送り得る。言い方を変えれば、非ゲートウェイノードは、それがＩ−ＲＲＥＱを受信したネイバーノードまたはそれが同一のＩ−ＲＲＥＱを受信したネイバーノードを除いて、全てのネイバーノードに不特定宛先アドレスを有するルート要求メッセージを送信および転送するように適応され得る。宛先アドレスがＩＮ−ＡＤＤＲ＿ＡＮＹ（全てゼロ）であることを除いて、Ｉ−ＲＲＥＱメッセージが、典型的なＡＯＤＶルート要求メッセージ（ＲＲＥＱ）と同じであり得ると想定されている。言い方を変えれば、ネットワークノードおよび／またはゲートウェイノードは、ＩＮ＿ＡＤＤＲ＿ＡＮＹ宛先アドレスに部分的にまたは完全に基づいてＲＲＥＱとＩ−ＲＲＥＱを区別するようにさらに適合され得る。ソース非ゲートウェイノードでの処理は、ブロック１４０２から１４１８に進み得る。
【０１０３】
[0122]  ブロック１４０４では、中間非ゲートウェイノードがブロック１４０２でソース非ゲートウェイノードによって送られたＩ−ＲＲＥＱを受信し得る。中間非ゲートウェイノードがソース非ゲートウェイノードのネイバーである場合、中間非ゲートウェイノードがソース非ゲートウェイノードからＩ−ＲＲＥＱを直接受信し得る。代替または追加として、中間非ゲートウェイノードは、別の非ゲートウェイノードからＩ−ＲＲＥＱを受信し得る。中間非ゲートウェイノードが、複数の異なるネイバーノードからＩ−ＲＲＥＱの複数のコピーを受信し得ると想定されている。中間非ゲートウェイノードでの処理は、ブロック１４０４からブロック１４０８に進み得る。
【０１０４】
[0123]  ブロック１４０８では、中間非ゲートウェイノードが、前に説明したように、フラッディング技法に従ってＩ−ＲＲＥＱを更新し、それを他のネイバーノードに中継し得る。Ｉ−ＲＲＥＱの複数のコピーが複数の異なるネイバーノードから受信された場合、中間非ゲートウェイノードが、受信された最初のＩ−ＲＲＥＱ、最低ホップカウント、最短リレー経路、またはそれらの組合せなど、１つまたは複数の予め定義された基準(predefined criteria)に基づいてＩ−ＲＲＥＱを選択的に更新し、それを他のネイバーノードに中継し得ると想定されている。代替または追加として、中間ノードが、上述されたように、フラッディング技法による転送を除いて、既存のＡＯＤＶ規格中のＲＲＥＱに対して定義されているのと同様の方法でＩ−ＲＲＥＱを編集し、更新し、転送し得ると想定されている。中間非ゲートウェイノードでの処理は、ブロック１４０８からブロック１４１２に進み得る。
【０１０５】
[0124]  ブロック１４０６では、ゲートウェイノードが、１つまたは複数のネイバーノードからＩ−ＲＲＥＱを受信し得る。ゲートウェイノードが、不特定宛先アドレスによって典型的なＡＯＤＶ  ＲＲＥＱとＩ−ＲＲＥＱを区別し得ると想定されている。ゲートウェイノードでの処理は、ブロック１４０６からブロック１４１０に進み得る。
【０１０６】
[0125]  ブロック１４１０では、ゲートウェイノードが、ネイバーノードからＩ−ＲＲＥＱを受信してこれにインターネットルート応答メッセージ（Ｉ−ＲＲＥＰ）を送ることによって、受信されたＩ−ＲＲＥＱに応答し得る。Ｉ−ＲＲＥＱの複数のコピーが複数の異なるネイバーノードから受信される場合、ゲートウェイノードが、Ｉ−ＲＲＥＱの全てに応答し得ると想定されている。代替的に、ゲートウェイノードが、受信された最初のＩ−ＲＲＥＱ、最低ホップカウント、最短リレー経路、またはそれらの組合せなど、１つまたは複数の予め定義された基準に基づいて、Ｉ−ＲＲＥＱの全てよりも少ないコピーに優先的に応答し得ると想定されている。Ｉ−ＲＲＥＰは、ゲートウェイノードの宛先アドレスと、ゲートウェイ設定フラグなどのゲートウェイインジケータとを有し得る。ゲートウェイインジケータは、ネットワークのノードが、典型的なＡＯＤＶルート応答メッセージ（ＲＲＥＰ）とＩ−ＲＲＥＰを区別することを可能にするフラグ、フィールド、ハッシュ、暗号、マスク、または任意の他のタイプの区別特徴として、変更済みＡＯＤＶプロトコルにおいて定義されていることがある。言い方を変えれば、Ｉ−ＲＲＥＰは、Ｉ−ＲＲＥＰがゲートウェイインジケータを有することを除いて、典型的なＡＯＤＶ  ＲＲＥＰと同じであり得ると想定されている。ゲートウェイノードでの処理は、ブロック１４１０からブロック１４２６に進み得る。
【０１０７】
[0126]  ブロック１４１２では、中間非ゲートウェイノードが、上述されたように、ゲートウェイノードの宛先アドレスとゲートウェイインジケータとを有するＩ−ＲＲＥＰを受信し得る。Ｉ−ＲＲＥＰはまた、ホップカウント、リレー経路、およびＡＯＤＶプロトコルのＲＲＥＰに特有の他の情報を有し得る。中間非ゲートウェイノードは、ゲートウェイインジケータに基づいて典型的なＡＯＤＶ  ＲＲＥＰとＩ−ＲＲＥＰを区別し得、それに基づいて、ブロック１４１２からブロック１４１４に進み得る。しかしながら、中間非ゲートウェイノードが、同じＩ−ＲＲＥＱに応答して、複数の異なるゲートウェイノードから発生する複数のＩ−ＲＲＥＰを受信し得ると想定されている。この場合、中間非ゲートウェイノードが、受信された最初のＩ−ＲＲＥＱ、最低ホップカウント、最短リレー経路、またはそれらの組合せなど、１つまたは複数の予め定義された基準に基づいて、そのようなＩ−ＲＲＥＰに応答すべきか否か決定し得る。代替的に、ソース非ゲートウェイノードは、受信された全てのＩ−ＲＲＥＰを処理し得る。
【０１０８】
[0127]  ブロック１４１４では、中間非ゲートウェイノードが、Ｉ−ＲＲＥＰ中に含まれているゲートウェイノードの宛先アドレスにそれのゲートウェイポインタを更新し得る。中間非ゲートウェイネットワークノードが、１つまたは複数のゲートウェイポインタを有し得、新しいゲートウェイポインタをインスタンス化し、既存のゲートウェイポインタを更新または終了し、および／あるいは１つまたは複数の予め定義された基準に基づいてゲートウェイポインタに優先順位を付け得ると想定されている。例示的な基準には、受信された直近のＩ−ＲＲＥＰ、最低ホップカウント、最短リレー経路、リレー経路中の低モビリティノードの有無、ゲートウェイノードを介したインターネット接続のサービス品質、またはそれらの組合せがあり得る。中間非ゲートウェイノードでの処理は、ブロック１４１４からブロック１４１６に進み得る。
【０１０９】
[0128]  ブロック１４１６では、中間非ゲートウェイノードが、Ｉ−ＲＲＥＰのリレー経路中に指定されているネイバーノードにＩ−ＲＲＥＰを中継し得る。そうする前に、中間非ゲートウェイノードは、ホップカウントを更新するなど、典型的なＡＯＤＶ  ＲＲＥＰが処理されるのと同じ方法で、および当業者には容易に明らかであろう他のプロシージャでＩ−ＲＲＥＰを編集し、更新し得る。中間非ゲートウェイノードでの処理は、ブロック１４１６からブロック１４２４に進み得る。
【０１１０】
[0129]  ブロック１４１８では、ソース非ゲートウェイノードが、ネイバーノードからインターネットルート応答（Ｉ−ＲＲＥＰ）を受信し得る。ソース非ゲートウェイノードは、ゲートウェイインジケータに基づいて典型的なＡＯＤＶ  ＲＲＥＰとＩ−ＲＲＥＰを区別し得、それに基づいて、ブロック１４１８からブロック１４２０に進み得る。しかしながら、ソース非ゲートウェイノードが、同じＩ−ＲＲＥＱに応答して、複数の異なるゲートウェイノードから発生する複数のＩ−ＲＲＥＰを受信し得ると想定されている。この場合、中間非ゲートウェイノードは、受信された最初のＩ−ＲＲＥＱ、最低ホップカウント、最短リレー経路、またはそれらの組合せなど、１つまたは複数の予め定義された基準に基づいて、そのようなＩ−ＲＲＥＰに応答すべきか否か決定し得る。代替的に、ソース非ゲートウェイノードは、受信された全てのＩ−ＲＲＥＰを処理し得る。
【０１１１】
[0130]  ブロック１４２０では、ソース非ゲートウェイノードが、Ｉ−ＲＲＥＰ中に含まれているゲートウェイノードの宛先アドレスにそれのゲートウェイポインタを更新し得る。ソース非ゲートウェイネットワークノードが、１つまたは複数のゲートウェイポインタを有し得、新しいゲートウェイポインタをインスタンス化し、既存のゲートウェイポインタを更新または終了し、および／あるいは１つまたは複数の予め定義された基準に基づいてゲートウェイポインタに優先順位を付け得ると想定されている。例示的な基準には、受信された直近のＩ−ＲＲＥＰ、最低ホップカウント、最短リレー経路、リレー経路中の低モビリティノードの有無、ゲートウェイノードを介したインターネット接続のサービス品質、またはそれらの組合せがあり得る。ソース非ゲートウェイノードでの処理は、ブロック１４２０からブロック１４２２に進み得る。
【０１１２】
[0131]  ブロック１４２２では、ソース非ゲートウェイノードがそれのゲートウェイポインタに関連するアドレスへのおよひ゛からのＩＰパケットを送信し受信するためにルーティング動作を行い得る。いくつかの実現形態では、ソース非ゲートウェイノードが、それのゲートウェイポインタの宛先アドレスで送信されたＩＰパケットの実際のインターネット宛先をマスキングするためにトンネリングを使用し得る。ＩＰパケットがトンネリングされるとき、送信は、特定のゲートウェイノードにアドレス指定される。他の実現形態では、ソース非ゲートウェイノードが、ゲートウェイポインタに関連する宛先アドレスにＩＰパケットを送り、トンネリングなしにそうし得る。ＩＰパケットが、トンネリングなしに送られるとき、ソース非ゲートウェイノードは、それのゲートウェイポインタの宛先アドレスに関連する経路でそれのネイバーにＩＰパケットを送るが、ＩＰパケットがインターネット宛先を有することを可能にし得る。
【０１１３】
[0132]  ブロック１４２４では、中間非ゲートウェイノードが、ソース非ゲートウェイノードとゲートウェイノードとの間でＩＰパケットを中継するためにルーティング動作を行い得る。いくつかの実現形態では、中間非ゲートウェイノードが、特定のゲートウェイノードの宛先アドレスを有するトンネリングされたＩＰパケットを受信し得る。この場合、中間非ゲートウェイノードが、特定のゲートウェイノードの宛先アドレスにＩＰパケットを単に転送し得る。他の実現形態では、中間非ゲートウェイノードがトンネリングされない、従って、あるインターネット宛先を有するＩＰパケットを受信し得る。あるインターネット宛先を有するＩＰパケットが受信されると、中間非ゲートウェイノードは、最初にアドレス指定されたゲートウェイノードよりも望ましいゲートウェイについてそれ自体のゲートウェイポインタを検査し得る。従って、中間非ゲートウェイノードは、それ自体のゲートウェイポインタに関連するアドレスにＩＰパケットを転送するためにルーティング動作を行い得る。従って、中間非ゲートウェイノードは、異なるゲートウェイノードに、あるインターネット宛先を有する受信されたＩＰパケットを潜在的にルート変更し得る。インターネット宛てパケットをトンネリングすることは、送信パケットがサブネット内のノードに明確にアドレス指定されているように見えるので、既存のＡＯＤＶルーティング機構のさらなる使用を考慮する。しかしながら、パケットが、送信ルート沿いの任意の中間ノードからマスキングされる間、トンネリングされたパケットは、移動中に潜在的なゲートウェイ再ルーティングからの恩恵を享受できない。
【０１１４】
[0133]  ブロック１４２６では、ゲートウェイノードが、ソース非ゲートウェイノードからＩＰパケットを受信するためにルーティング動作を行い得る。ブロック１４２６は、ソース非ゲートウェイノードから直接トンネリングされたか、またはトンネリングされなかったＩＰパケットを受信すること、および／あるいは中間非ゲートウェイノードからトンネリングされたか、またはトンネリングされなかったパケットを受信することを含み得る。ＩＰパケットがトンネリングされる場合、ゲートウェイノードは、ＩＰパケットの宛先アドレスをアンマスキングすることによって、ＩＰパケットをアントンネリングし、それによって、受信されたＩＰパケットのインターネット宛先を取得し得る。ゲートウェイノードでの処理は、ブロック１４２６からブロック１４２８に進み得る。
【０１１５】
[0134]  ブロック１４２８では、ゲートウェイノードが、インターネットを介してＩＰパケットを送信および受信し得る。ゲートウェイノードは、ソース非ゲートウェイノードに宛てられたＩＰパケットを受信するためのＩＰアドレスを取得または割り当て得、インターネット宛先と取得または割り当てられたＩＰアドレスとを使用して、インターネットを介してＩＰパケットを送信し、インターネットを介してソース非ゲートウェイノードに宛てられたＩＰパケットを受信し得る。ゲートウェイノードが、インターネットを介して、ソース非ゲートウェイノードに宛てられたＩＰパケットを受信するために取得または割り当てられたＩＰアドレスに対応する宛先アドレスを有するＩＰパケットを受信するとき、ゲートウェイノードは、ソース非ゲートウェイノードに宛てられたＩＰパケットを受信するために取得または割り当てられたＩＰアドレスに対応する宛先アドレスに基づいて、他の受信されたＩＰパケットとこれらＩＰパケットを区別し得る。ゲートウェイノードでの処理は、ブロック１４２８からブロック１４３０に進み得る。
【０１１６】
[0135]  ブロック１４３０では、ゲートウェイノードが、インターネットを介して受信されソース非ゲートウェイノードに宛てられたＩＰパケットをソース非ゲートウェイノードに送るためにルーティング動作を行い得る。ゲートウェイノードが、ソース非ゲートウェイノードの宛先アドレスで受信されたＩＰパケットの宛先アドレスをマスキングすることによってソース非ゲートウェイノードにＩＰパケットに送るためにトンネリングを使用し得ると想定されている。上述されたように、インターネットを介して受信されたＩＰパケットをトンネリングすることは、送信パケットがサブネット内のノードに明確にアドレス指定されているように見えるので、既存のＡＯＤＶルーティング機構のさらなる使用を考慮する。従って、ソース非ゲートウェイノードは、ブロック１４２２で、ゲートウェイノードから直接または間接的のいずれかでＩＰパケットを受信し得る。ソース非ゲートウェイノードが、インターネットまたはゲートウェイノードに宛てられたＩ−ＲＲＥＱ、Ｉ−ＲＲＥＰ、およびＩＰパケットのリレーに中間非ゲートウェイノードとして参加していなかったネイバーノードからＩＰパケットを受信し得ると想定されている。また、中間非ゲートウェイノードが、ブロック１４２４で、ＩＰパケットを受信し、ソース非ゲートウェイノードにＩＰパケットを中継し得ると想定されている。
【０１１７】
[0136]  図１５は、変更済みＡＯＤＶ実現形態による、アドホックピアツーピアネットワークノードの動作の一例を示す。この例では、３つの非ゲートウェイノード１５００、１５０２、および１５０４が互いにメッセージを交換する。これらの非ゲートウェイノードはまた、ゲートウェイノード１５０６および１５０８とメッセージを交換する。これらのメッセージ交換は、本開示の本態様に従ってインターネット宛てＩＰパケットのインターネット通知ルーティングを行うために行われる。例えば、インターネットにＩＰパケットを送信することを望むが、好適なゲートウェイノード宛先アドレスをまだ知らない非ゲートウェイノード１５００は、上述されたようにＩ−ＲＲＥＱを生成し、１５１０で、それのネイバーノードにＩ−ＲＲＥＱを送信し得る。非ゲートウェイノード１５０２は、非ゲートウェイノード１５００からＩ−ＲＲＥＱを受信し得、１５１２で全ての他のネイバーにＩ−ＲＲＥＱを転送し得る。次に、非ゲートウェイノード１５０４は、非ゲートウェイノード１５０２からＩ−ＲＲＥＱを受信し得、１５１４で全ての他のネイバーにＩ−ＲＲＥＱを転送し得る。最後に、ゲートウェイノード１５０６は、非ゲートウェイノード１５１４からＩ−ＲＲＥＱを受信し得、１５１６でリレー経路中でネイバーノードにＩ−ＲＲＥＰを送信することによって応答し得る。
【０１１８】
[0137]  リレー経路中のノードはＩ−ＲＲＥＰを、それらのゲートウェイポインタを更新しながら、ゲートウェイ１５０６の宛先アドレスに中継し得る。例えば、ゲートウェイノード１５０６からＩ−ＲＲＥＰを受信すると、非ゲートウェイノード１５０４は、ゲートウェイノード１５０６の宛先アドレスにそれのゲートウェイポインタを更新し、１５１８で、リレー経路中で次のネイバーノードにＩ−ＲＲＥＰを転送し得る。さらに、非ゲートウェイノード１５０２は、非ゲートウェイノード１５０４からＩ−ＲＲＥＰを受信すると、ゲートウェイノードの宛先アドレスにそれのゲートウェイポインタを更新し、１５２０で、リレー経路中で次のネイバーノードにＩ−ＲＲＥＰを転送し得る。また、非ゲートウェイノード１５００は、非ゲートウェイノード１５０２からＩ−ＲＲＥＰを受信すると、ゲートウェイノードの宛先アドレスにそれのゲートウェイポインタを更新し得る。従って、リレー経路中の非ゲートウェイノード１５００、１５０２、および１５０４の全ては、ゲートウェイノード１５０６の宛先アドレスに更新されたポインタを有し得る。
【０１１９】
[0138]  非ゲートウェイノード１５００、１５０２、および１５０４が、ゲートウェイノードの宛先アドレスをそれらのそれぞれのゲートウェイポインタに関連付けると、それらの非ゲートウェイノードのいずれかは、それらのそれぞれのゲートウェイポインタを利用して、受信されたＩＰパケットをゲートウェイノード１５０６にルーティングしようと試み得る。例えば、１５２２で、非ゲートウェイノード１５００は、トンネリングを用いてまたは用いずに、それのゲートウェイポインタを使用して、ゲートウェイノード１５０６へのおよびからのＩＰパケットを送信し受信し得る。トンネリングが採用されない場合、非ゲートウェイノード１５０２および１５０４は、それらのそれぞれのゲートウェイポインタを利用して、ゲートウェイノード１５０６にＩＰパケットを転送し得る。その後、非ゲートウェイノード１５０２はまた、ゲートウェイノード１５０６にＩＰパケットを送ることを望み得、１５２４でそれのゲートウェイポインタを使用して、そうしようと試み得る。この試みは、ゲートウェイノード１５０６が、オフラインになった、エリアを出た、それのインターネット接続を失った、または十分なサービス品質を提供することに失敗したなど、様々な理由のうちのいずれか１つのために失敗し得る。
【０１２０】
[0139]  非ゲートウェイノード１５０２は、１５２６および１５２８で全てのネイバーにＩ−ＲＲＥＱを送ることによって、１５２６での試みの失敗に応答し得る。非ゲートウェイノード１５０４は、非ゲートウェイノード１５０４からＩ−ＲＲＥＱを受信し、１５３０で、新しいネイバーゲートウェイノード１５０８にＩ−ＲＲＥＱを中継し得る。新しいネイバーゲートウェイノード１５０８は、Ｉ−ＲＲＥＱを受信し、１５３２で、非ゲートウェイノード１５０４にＩ−ＲＲＥＰを送信することによって応答し得る。非ゲートウェイノード１５０４は、ゲートウェイノード１５０８の宛先アドレスにそれのゲートウェイポインタを更新し得、１５３４で、非ゲートウェイノード１５０２にＩ−ＲＲＥＰを転送し得る。非ゲートウェイノード１５０２は、次いで、ゲートウェイノード１５０８の宛先アドレスにそれ自体のゲートウェイポインタを更新し、１５３６で、トンネリングを用いるか、または用いないかのいずれかで、ゲートウェイノード１５０８にインターネット宛てＩＰパケットを送るために、更新されたゲートウェイポインタを使用し得る。
【０１２１】
[0140]  ここまで説明した例では、非ゲートウェイノード１５０２がリレー経路の終わりにあるので、非ゲートウェイノード１５０２が非ゲートウェイノード１５００にＩ−ＲＲＥＰを転送しないことに留意されたい。また、非ゲートウェイノード１５００は、他のネイバーノードを有しないので、それが非ゲートウェイノード１５０２から受信したＩ−ＲＲＥＱを単に破棄する。従って、非ゲートウェイノード１５００は、それが１５２０でゲートウェイノード１５０６から受信したＩ−ＲＲＥＰ以外にいかなるＩ−ＲＲＥＰも決して受信しなかった。従って、非ゲートウェイノード１５００のゲートウェイポインタは、ゲートウェイノード１５０６を依然としてポイントし得る。従って、非ゲートウェイノード１５００が、１５３８で、ゲートウェイノード１５０６にインターネット宛てＩＰパケットを送るためにそれのゲートウェイポインタを使用しようと試みるとき、トンネリングの使用は、別の失敗を生じることになる。しかしながら、トンネリングが使用されない場合、非ゲートウェイノード１５０２は、１５４０で、トンネリングを用いてまたは用いずに、ゲートウェイノード１５０８にＩＰパケットをルート変更するためにそれの更新されたポインタを使用し得る。１５４２で、ゲートウェイノード１５０８からＩＰパケットを受信すると、非ゲートウェイノード１５００は、ゲートウェイノード１５０８の宛先アドレスにそれのゲートウェイポインタを更新し、１５４２で、ゲートウェイノード１５０８へのおよびからのＩＰパケットを送信し受信し続け得る。
【０１２２】
[0141]  図１６は、変更なしのＡＯＤＶルーティングと潜在的なゲートウェイノードのリストとを使用することによってインターネット通知ルーティングを実現するためにゲートウェイノードと非ゲートウェイノードとによって実行される例示的なブロックを示す。これらのリストは、非ゲートウェイノードに維持され、ゲートウェイノード能力のＳＯＡバス告知に応答して更新される。ゲートウェイノードは、ＳＯＡバスに参加すると、ゲートウェイノードとしてのそれの能力の告知をブロードキャストする。ＳＯＡバス上の各非ゲートウェイノードは、告知に基づいて潜在的なゲートウェイのリストを作成する。非ゲートウェイノードが、インターネット接続を確立したいと望むとき、潜在的なゲートウェイの維持されたリストからゲートウェイノードのうちの１つが選択される。非ゲートウェイノードは、リスト中に明確なアドレス情報を有するので、特定のゲートウェイノードにルーティングするために、典型的なＡＯＤＶルーティング機構に従い得る。
【０１２３】
[0142]  アドホックピアツーピアネットワークのノードが、所与のインターネットルーティングプロシージャにおけるそれらのそれぞれの役割に従って異なるプロシージャを実現するように適合され得ると想定されている。そのようなノードは、インターネットルーティングプロシージャにおけるそれの役割が、ソース非ゲートウェイノードとして動作することであるのか、中間非ゲートウェイノードとして動作することであるのか、またはゲートウェイノードとして動作することであるのかに応じて、ブロック１６００で、複数の異なるモードのうちの１つで動作するように適合され得る。例えば、ノードが、インターネットを介してインターネットパケットを送信することを望むが、インターネット接続がない場合、ノードは、ソース非ゲートウェイノードモードで動作し得、その場合、処理は、ブロック１６０２で開始し得る。さらに、ノードが、ネイバーノードからインターネットルート要求を受信した場合、およびそれがインターネット接続を有しない場合、ノードは、中間非ゲートウェイノードモードで動作し得、その場合、処理は、ブロック１６０４で開始し得る。さらに、ノードが、ネイバーノードからインターネットルート要求を受信した場合、およびそれがインターネット接続を有する場合、ノードは、ゲートウェイノードモードで動作し得、その場合、処理は、ブロック１６０６で開始し得る。
【０１２４】
[0143]  ブロック１６０６では、ゲートウェイノードがＳＯＡバス上のサービスとしてインターネット接続性を告知し得る。この告知は、前に説明した方法で達成され得る。ゲートウェイノードでの処理は、ブロック１６０６からブロック１６０８に進み得る。
【０１２５】
[0144]  ブロック１６０４では、中間非ゲートウェイノードがインターネット接続性に関するＳＯＡバスメッセージを受信し得る。ＳＯＡバスメッセージの受信は、前に説明した方法で達成され得る。中間非ゲートウェイノードでの処理は、ブロック１６０４からブロック１６１０に進み得る。
【０１２６】
[0145]  ブロック１６０２では、ソース非ゲートウェイノードがインターネット接続性に関するＳＯＡバスメッセージを受信し得る。ＳＯＡバスメッセージの受信は、前に説明した方法で達成され得る。ソース非ゲートウェイノードでの処理は、ブロック１６０２からブロック１６１２に進み得る。
【０１２７】
[0146]  ブロック１６１０では、中間非ゲートウェイノードが潜在的なゲートウェイノードのそれのリストをＳＯＡバスメッセージに基づいて更新し得る。中間非ゲートウェイノードは、新しいゲートウェイポインタをインスタンス化し、既存のゲートウェイポインタを更新または終了し、および／あるいは１つまたは複数の予め定義された基準に基づいてゲートウェイポインタに優先順位を付け得ると想定されている。例示的な基準には、最低ホップカウント、リレー経路中の低モビリティノードの有無、ゲートウェイノードを介したインターネット接続のサービス品質、またはそれらの組合せがあり得る。中間非ゲートウェイノードでの処理は、ブロック１６１０からブロック１６１４に進み得る。
【０１２８】
[0147]  ブロック１６１２では、ソース非ゲートウェイノードが、潜在的なゲートウェイノードのそれのリストをＳＯＡバスメッセージに基づいて更新し得る。ソース非ゲートウェイノードは、新しいゲートウェイポインタをインスタンス化し、既存のゲートウェイポインタを更新または終了し、および／あるいは１つまたは複数の予め定義された基準に基づいてゲートウェイポインタに優先順位を付け得ると想定されている。例示的な基準には、最低ホップカウント、リレー経路中の低モビリティノードの有無、ゲートウェイノードを介したインターネット接続のサービス品質、またはそれらの組合せがあり得る。ソース非ゲートウェイノードでの処理は、ブロック１６１２からブロック１６１６に進み得る。
【０１２９】
[0148]  ブロック１６１６では、ソース非ゲートウェイノードが、潜在的なゲートウェイノードのそれのリストから選択された宛先アドレスへのおよびからのＩＰパケットを送信し受信するためにルーティング動作を行い得る。ルーティングは、トンネリングを用いてまたは用いずに、前に説明した方法で達成され得る。
【０１３０】
[0149]  ブロック１６１４では、中間非ゲートウェイノードが、ソース非ゲートウェイノードとゲートウェイノードとの間でＩＰパケットを中継するためにルーティング動作を行い得る。ルーティングは、トンネリングを用いてまたは用いずに、前に説明した方法で達成され得る。トンネリングされないＩＰパケットをルーティングするとき、中間非ゲートウェイノードは、潜在的なゲートウェイノードのそれ自体のリストから宛先アドレスを選択し、このようにして、ＩＰパケットの潜在的な再ルーティングを生じ得る。
【０１３１】
[0150]  ブロック１６０８では、ゲートウェイノードがソース非ゲートウェイノードからインターネット宛てＩＰパケットを受信するためにルーティング動作を行い得る。ルーティングは、トンネリングを用いてまたは用いずに、前に説明した方法で達成され得る。ゲートウェイノードでの処理は、ブロック１６０８からブロック１６１８に進み得る。
【０１３２】
[0151]  ブロック１６１８では、ゲートウェイノードがインターネットを介してＩＰパケットを送信および受信し得る。インターネットのＩＰパケットの送信および受信は、前に説明した方法で達成され得る。ゲートウェイノードでの処理は、ブロック１６１８からブロック１６２０に進み得る。
【０１３３】
[0152]  ブロック１６２０では、ゲートウェイノードがインターネットから受信したＩＰパケットをソース非ゲートウェイノードにルーティングするためにルーティング動作を行い得る。ルーティングは、トンネリングを用いてまたは用いずに、前に説明した方法で達成され得る。
【０１３４】
[0153]  図１７は、変更なしのＡＯＤＶ実現形態による、アドホックピアツーピアネットワークノードの動作の一例を示す。この例では、３つの非ゲートウェイノード１７００、１７０２、および１７０４が互いにメッセージを交換する。これらの非ゲートウェイノードはまた、ゲートウェイノード１７０６および１７０８とメッセージを交換する。これらのメッセージ交換は、本開示の本態様に従ってインターネット宛てＩＰパケットのインターネット通知ルーティングを行うために行われる。例えば、ゲートウェイノード１７０６は、ＳＯＡバスを介して、それぞれ、非ゲートウェイノード１７００、１７０２、および１７０４にそれのゲートウェイ能力のＳＯＡ告知１７１０、１７１２、および１７１４をブロードキャストし得る。非ゲートウェイノード１７００、１７０２、および１７０４の各々は、ＳＯＡバス告知１７１０、１７１２、および１７１４に応答して、潜在的なゲートウェイノードのそれらのそれぞれのリストを更新し得る。その後、これらの非ゲートウェイノード１７００、１７０２、および１７０４のいずれかは、それらのそれぞれのリストからゲートウェイノード１７０６の宛先アドレスを選択し、トンネリングを用いてまたは用いずに、ゲートウェイノード１７０６にＩＰパケット１７１６をルーティングし得る。
【０１３５】
[0154]  非ゲートウェイノード１７００、１７０２、および１７０４は、ゲートウェイノード１７０６によって提供されるインターネット接続のサービス品質などの様々な基準に基づいて、それらのリストを更新し得る。非ゲートウェイノード１７００が、非ゲートウェイノード１７０２などの別の非ゲートウェイノードによって観測され得るそのような接続のサービス品質に関する情報に関与し得ないことを理解されたい。さらに、さらなるＳＯＡバス告知１７１８、１７２０、および１７２２は、ゲートウェイノード１７０８などの新しいゲートウェイノードを任命し、ゲートウェイノード１７０６などの既存のゲートウェイノードを廃止し得る。いくつかの非ゲートウェイノードが、他のノードよりも迅速にＳＯＡバス告知を受信し得ることを理解されたい。従って、非ゲートウェイノード１７００および１７０２は、異なるリストを有し得、非ゲートウェイノード１７０２は、非ゲートウェイノード１７００のリストよりも情報が確かであるとそれのリストを見なす理由を有し得る。従って、非ゲートウェイノードが、１７２４で、ゲートウェイノード１７０６にインターネット宛てＩＰパケットを送ろうと試みるとき、非ゲートウェイノード１７０２は、１７２６で、ゲートウェイノード１７０８にＩＰパケットをルート変更するためにそれのより信頼できるリストを使用し得る。非ゲートウェイノード１７００が、予想されるように、ゲートウェイノード１７０６からでなく、ゲートウェイノード１７０８からＩＰパケットを受信するとき、非ゲートウェイノード１７００は、ゲートウェイノード１７０８の宛先アドレスを追加するためにそれのリストを更新し、ゲートウェイノード１７０６の宛先アドレスを除去、終了、または降格し得る。非ゲートウェイノード１７０２は、時々、ダウンストリーム非ゲートウェイノード１７０４によって了承され得ないサービス品質情報に基づいて、受信されたＩＰパケットをルート変更し得るので、非ゲートウェイノード１７０２は、ゲートウェイノード１７０８にルート変更されたＩＰパケットを導くためにトンネリングを使用し得ることを快く諒解されたい。同じ理由から、非ゲートウェイノード１７００は、さらに、ゲートウェイノード１７０８にパケットを送るためにトンネリングモードに切り替え得る。
【０１３６】
[0155]  図１８は、ＡＯＤＶルーティング規格中の既存のルーティング機構の変更によってインターネット通知ルーティングを実現するために、非ゲートウェイノードによって実行される例示的なブロックを示す。ブロック１８００では、非ゲートウェイノードがネットワーク中の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信し得る。例えば、プロセッサ３０５（図３）は、図１４および図１５に関して上述したプロセスに従って、インターネットルート要求を生成し、インターネットルート要求をネイバーノードに送るように、Ｉ／Ｏデバイス３２０と、Ｂｌｕｅｔｏｏｔｈインターフェース３２５と、ＷＬＡＮインターフェース３３０と、仮想ネットワークインターフェース３３５とを動作させるために、メインメモリ３１０および／またはローカルストレージ３１５に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック１８００からブロック１８０２に進み得る。そのような行為および構成要素の組合せは、非ゲートウェイノードによって、ネットワーク中の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するための手段を備え得る。
【０１３７】
[0156]  ブロック１８０２では、非ゲートウェイノードがネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信し得、ここにおいて、応答メッセージは少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む。例えば、プロセッサ３０５（図３）は、図１４および図１５に関して上述したプロセスに従って、インターネットルート応答を受信するように、Ｉ／Ｏデバイス３２０と、Ｂｌｕｅｔｏｏｔｈインターフェース３２５と、ＷＬＡＮインターフェース３３０と、仮想ネットワークインターフェース３３５とを動作させるために、メインメモリ３１０および／またはローカルストレージ３１５に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック１８０２からブロック１８０４に進み得る。そのような行為および構成要素の組合せは、非ゲートウェイノードで、ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するための手段を含み、ここにおいて、応答メッセージが、少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む。
【０１３８】
[0157]  ブロック１８０４では、非ゲートウェイノードが少なくとも１つのゲートウェイノードのアドレスに等しいゲートウェイポインタを非ゲートウェイノードで設定し得る。例えば、プロセッサ３０５（図３）は、図１４および図１５に関して上述したプロセスに従って、インターネットルート返信の宛先アドレスを読み取り、メインメモリ３１０および／またはローカルストレージ３１５中の１つまたは複数のメモリロケーションにアクセスし、ゲートウェイポインタに関連してメモリ中に宛先アドレスを記録するために、メインメモリ３１０および／またはローカルストレージ３１５に記憶された命令をアクセスし得る。そのような行為および構成要素の組合せは、非ゲートウェイノードで、少なくとも１つのゲートウェイノードのアドレスに等しいゲートウェイポインタを設定するための手段を備え得る。
【０１３９】
[0158]  図１９は、アドホックオンデマンドディスタンスベクタ（ＡＯＤＶ）ルーティング規格中の既存のルーティング機構の変更によってインターネット通知ルーティングを実現するために、ゲートウェイノードによって実行される例示的なブロックを示す。ブロック１９００では、ゲートウェイノードがネットワーク中の１つまたは複数のネイバーノードからインターネットルート要求を受信し得る。例えば、プロセッサ３０５（図３）は、図１４および図１５に関して上述したプロセスに従って、インターネットルート要求を受信するように、Ｉ／Ｏデバイス３２０と、Ｂｌｕｅｔｏｏｔｈインターフェース３２５と、ＷＬＡＮインターフェース３３０と、仮想ネットワークインターフェース３３５とを動作させるために、メインメモリ３１０および／またはローカルストレージ３１５に記憶された命令をアクセスし得る。ゲートウェイノードでの処理は、ブロック１９００からブロック１９０２に進み得る。そのような行為および構成要素の組合せは、ゲートウェイノードで、ネットワーク中の１つまたは複数のネイバーノードからインターネットルート要求を受信するための手段を備え得る。
【０１４０】
[0159]  ブロック１９０２では、ゲートウェイノードが１つまたは複数のネイバーノードに応答メッセージを送信し得、ここにおいて、応答メッセージはゲートウェイノードのアドレスとゲートウェイインジケータとを含む。例えば、プロセッサ３０５（図３）は、図１４および図１５に関して上述したプロセスに従って、応答メッセージを生成し、応答メッセージをネイバーノードに送るように、Ｉ／Ｏデバイス３２０と、Ｂｌｕｅｔｏｏｔｈインターフェース３２５と、ＷＬＡＮインターフェース３３０と、仮想ネットワークインターフェース３３５とを動作させるために、メインメモリ３１０および／またはローカルストレージ３１５に記憶された命令をアクセスし得る。そのような行為および構成要素の組合せは、ゲートウェイノードから、１つまたは複数のネイバーノードに応答メッセージを送信するための手段を備え得、ここにおいて、応答メッセージは、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む。
【０１４１】
[0160]  図２０は、変更なしのＡＯＤＶルーティングと潜在的なゲートウェイノードのリストとを使用することによってインターネット通知ルーティングを実現するために非ゲートウェイノードによって実行される例示的なブロックを示す。ブロック２０００では、非ゲートウェイノードがネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信し得、ここにおいて、告知は１つまたは複数のネイバーノードのアドレスを含む。例えば、プロセッサ３０５（図３）は、図１６および図１７に関して上述したプロセスに従って、ＳＯＡバスを介して告知を受信するように、Ｉ／Ｏデバイス３２０と、Ｂｌｕｅｔｏｏｔｈインターフェース３２５と、ＷＬＡＮインターフェース３３０と、仮想ネットワークインターフェース３３５と、ＩＰレイヤ処理３４０と、ＵＤＰ／ＴＣＰレイヤ処理３４５と、ＩＰアプリケーション３５０と、ＩＰサービス３５５と、ＳＯＡバスデーモン３６０とを動作させるために、メインメモリ３１０および／またはローカルストレージ３１５に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック２０００からブロック２００２に進み得る。そのような行為および構成要素の組合せは、非ゲートウェイノードで、ネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するための手段を備え得、ここにおいて、告知は、１つまたは複数のネイバーノードのアドレスを含む。
【０１４２】
[0161]  ブロック２００２では、非ゲートウェイノードが、１つまたは複数のゲートウェイノードのアドレスを潜在的なゲートウェイのリストに記憶し得る。例えば、プロセッサ３０５（図３）は、図１６および図１７に関して上述したプロセスに従って、インターネットルート返信の宛先アドレスを読み取り、メインメモリ３１０および／またはローカルストレージ３１５中の１つまたは複数のメモリロケーションにアクセスし、潜在的なゲートウェイのリストに関連してメモリ中にアドレスを記録するために、メインメモリ３１０および／またはローカルストレージ３１５に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック２００２からブロック２００４に進み得る。そのような行為および構成要素の組合せは、非ゲートウェイノードで、潜在的なゲートウェイのリストに１つまたは複数のゲートウェイノードのアドレスを記憶するための手段を備え得る。
【０１４３】
[0162]  ブロック２００４では、非ゲートウェイノードが、あるインターネット宛先に送信するためのパケットを受信し得る。例えば、プロセッサ３０５（図３）は、ネイバーノードからか、またはローカルで実行されるアプリケーションからかのいずれかからＩＰパケットを受信するように、Ｉ／Ｏデバイス３２０と、Ｂｌｕｅｔｏｏｔｈインターフェース３２５と、ＷＬＡＮインターフェース３３０と、仮想ネットワークインターフェース３３５と、ＩＰレイヤ処理３４０と、ＵＤＰ／ＴＣＰレイヤ処理３４５と、ＩＰアプリケーション３５０と、ＩＰサービス３５５と、ＳＯＡバスデーモン３６０とを動作させるために、メインメモリ３１０および／またはローカルストレージ３１５に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック２００４からブロック２００６に進み得る。そのような行為および構成要素の組合せは、あるインターネット宛先に送信するためのパケットを受信するための手段を備え得る。
【０１４４】
[0163]  ブロック２００６では、非ゲートウェイノードが潜在的なゲートウェイのリストからゲートウェイアドレスを選択し得る。例えば、プロセッサ３０５（図３）は、図１６および図１７に関して上述したプロセスに従って、メインメモリ３１０および／またはローカルストレージ３１５中の１つまたは複数のメモリロケーションにアクセスし、潜在的なゲートウェイのリストに関連してメモリ中のアドレスを読み取るために、メインメモリ３１０および／またはローカルストレージ３１５に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック２００６からブロック２００８に進み得る。そのような行為および構成要素の組合せは、潜在的なゲートウェイのリストからゲートウェイアドレスを選択するための手段を備え得る。
【０１４５】
[0164]  ブロック２００８では、非ゲートウェイノードがゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信し得る。例えば、プロセッサ３０５（図３）は、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信するように、Ｉ／Ｏデバイス３２０と、Ｂｌｕｅｔｏｏｔｈインターフェース３２５と、ＷＬＡＮインターフェース３３０と、仮想ネットワークインターフェース３３５と、ＩＰレイヤ処理３４０と、ＵＤＰ／ＴＣＰレイヤ処理３４５と、ＩＰアプリケーション３５０と、ＩＰサービス３５５と、ＳＯＡバスデーモン３６０とを動作させるために、メインメモリ３１０および／またはローカルストレージ３１５に記憶された命令をアクセスし得る。そのような行為および構成要素の組合せは、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットをツー送信するための手段を備え得る
[0165]  添付の図面に関して上記に記載した詳細な説明は、例示的な実施形態について説明しており、実現され得るまたは特許請求の範囲内に入る実施形態のみを表すものでない。この説明全体にわたって使用する「例示的」という用語は、「例、事例、または例示の働きをすること」を意味し、「好ましい」または「他の実施形態よりも有利な」を意味しない。詳細な説明は、説明される技法の理解を提供するために、具体的な詳細を含む。しかしながら、これらの技法は、これらの具体的な詳細なしに実施され得る。場合によっては、説明した実施形態の概念を不明瞭にしないように、よく知られている構造およびデバイスがブロック図の形態で示される。
【０１４６】
[0166]  本明細書で説明する技法は、ＣＤＭＡ、ＴＤＭＡ、ＦＤＭＡ、ＯＦＤＭＡ、ＳＣ−ＦＤＭＡ、および他のシステムなど、様々なワイヤレス通信システムに使用され得る。「システム」および「ネットワーク」という用語は、しばしば互換的に使用される。ＣＤＭＡシステムは、ＣＤＭＡ２０００、ユニバーサル地上波無線アクセス（ＵＴＲＡ：Universal Terrestrial Radio Access）などの無線技術を実装し得る。ＣＤＭＡ２０００は、ＩＳ−２０００、ＩＳ−９５およびＩＳ−８５６規格をカバーする。ＩＳ−２０００リリース０およびＡは、一般に、ＣＤＭＡ２０００  １Ｘ、１Ｘなどと呼ばれる。ＩＳ−８５６（ＴＩＡ−８５６）は、一般に、ＣＤＭＡ２０００  １ｘＥＶ−ＤＯ、高速パケットデータ（ＨＲＰＤ：High Rate Packet Data）などと呼ばれる。ＵＴＲＡは、広帯域ＣＤＭＡ（ＷＣＤＭＡ（登録商標））およびＣＤＭＡの他の変形形態を含む。ＴＤＭＡシステムは、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ（登録商標））などの無線技術を実装し得る。ＯＦＤＭＡシステムは、ウルトラモバイルブロードバンド（ＵＭＢ：Ultra Mobile Broadband）、発展型ＵＴＲＡ（Ｅ−ＵＴＲＡ：Evolved UTRA）、ＩＥＥＥ８０２．１１（Ｗｉ−Ｆｉ（登録商標））、ＩＥＥＥ８０２．１６（ＷｉＭＡＸ（登録商標））、ＩＥＥＥ８０２．２０、Ｆｌａｓｈ−ＯＦＤＭＡ（登録商標）などの無線技術を実装し得る。ＵＴＲＡおよびＥ−ＵＴＲＡは、ユニバーサルモバイルテレコミュニケーションシステム（ＵＭＴＳ：Universal Mobile Telecommunication System）の一部である。３ＧＰＰロングタームエボリューション（ＬＴＥ）およびＬＴＥアドバンスト（ＬＴＥ−Ａ：LTE-Advanced）は、Ｅ−ＵＴＲＡを使用するＵＭＴＳの新しいリリースである。ＵＴＲＡ、Ｅ−ＵＴＲＡ、ＵＭＴＳ、ＬＴＥ、ＬＴＥ−ＡおよびＧＳＭは、「第３世代パートナーシッププロジェクト」（３ＧＰＰ：3rd Generation Partnership Project）と称する団体からの文書に記載されている。ＣＤＭＡ２０００およびＵＭＢは、「第３世代パートナーシッププロジェクト２」（３ＧＰＰ２：3rd Generation Partnership Project 2）と称する団体からの文書に記載されている。本明細書で説明する技法は、上記のシステムおよび無線技術、ならびに他のシステムおよび無線技術に使用され得る。
【０１４７】
[0167]  情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。例えば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【０１４８】
[0168]  本明細書の開示に関連して説明した様々な例示的なブロックおよびモジュールは、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を行うように設計されるそれらの任意の組合せを用いて実現または行われ得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、例えばＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成としても実現され得る。
【０１４９】
[0169]  本明細書で説明した機能は、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、またはそれらの組合せで実現され得る。プロセッサによって実行されるソフトウェアで実現される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。他の例および実現形態は、本開示および添付の特許請求の範囲および趣旨内に入る。例えば、ソフトウェアの性質により、上述した機能は、プロセッサ、ハードウェア、ファームウェア、ハードワイヤリング、またはこれらのいずれかの組合せによって実行されるソフトウェアを使用して実現され得る。機能を実現する特徴はまた、機能の部分が、異なる物理的ロケーションで実現されるように分散されることを含めて、様々な位置に物理的に配置され得る。また、特許請求の範囲を含めて、本明細書で使用される場合、「のうちの少なくとも１つ」で終わる項目の列挙中で使用される「または」は、例えば、「Ａ、Ｂ、またはＣのうちの少なくとも１つ」の列挙は、ＡまたはＢまたはＣまたはＡＢまたはＡＣまたはＢＣまたはＡＢＣ（すなわち、ＡおよびＢおよびＣ）を意味するような選言的列挙を示す。
【０１５０】
[0170]  コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定でなく例として、コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコード手段を搬送または記憶するために使用され得、汎用もしくは専用コンピュータまたは汎用もしくは専用プロセッサによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれる。
【０１５１】
[0171]  本開示についての以上の説明は、当業者が本開示を為したり使用したりできるように提供されたものである。本開示への様々な修正は当業者には容易に明らかとなり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。本開示全体にわたって、「例」または「例示的」という用語は、一例または一事例を示すものであり、言及した例についての選好を暗示せず、または必要としない。従って、本開示は、本明細書で説明した例および設計に限定されるべきでなく、本明細書で開示する原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
【図１】
2016515339.tif 000003
【図２】
2016515339.tif 000004
【図３】
2016515339.tif 000005
【図４】
2016515339.tif 000006
【図５】
2016515339.tif 000007
【図６】
2016515339.tif 000008
【図７】
2016515339.tif 000009
【図８】
2016515339.tif 000010
【図９】
2016515339.tif 000011
【図１０】
2016515339.tif 000012
【図１１】
2016515339.tif 000013
【図１２】
2016515339.tif 000014
【図１３】
2016515339.tif 000015
【図１４】
2016515339.tif 000016
【図１５】
2016515339.tif 000017
【図１６】
2016515339.tif 000018
【図１７】
2016515339.tif 000019
【図１８】
2016515339.tif 000020
【図１９】
2016515339.tif 000021
【図２０】
2016515339.tif 000022
【手続補正書】
【提出日】平成28年1月28日(2016.1.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アドホックピアツーピアネットワーク中でルーティングするための方法であって、
非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージは、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
を備える、方法。
【請求項２】
別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することは、前記受信されたインターネットルート要求を送信する、
をさらに備える、請求項１に記載の方法。
【請求項３】
あるインターネット宛先に送信するためのパケットを受信することと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すことと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信することと
をさらに備える、請求項１に記載の方法。
【請求項４】
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
をさらに備える、請求項３に記載の方法。
【請求項５】
アドホックピアツーピアネットワーク中でルーティングするための方法であって、
ゲートウェイノードで、前記ネットワーク上の１つまたは複数のネイバーノードから不確定宛先についてのインターネットルート要求を受信することと、
前記インターネットルート要求が受信されたとき、前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージは、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を備える、方法。
【請求項６】
アドホックピアツーピアネットワーク中でルーティングするための装置であって、
非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するための手段と、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するための手段と、ここにおいて、前記応答メッセージは、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するための手段と
を備える装置。
【請求項７】
別の非ゲートウェイノードから、前記インターネットルート要求を受信するための手段、ここにおいて、前記送信することは、前記受信されたインターネットルート要求を送信する、
をさらに備える、請求項６に記載の装置。
【請求項８】
あるインターネット宛先に送信するためのパケットを受信するための手段と、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すための手段と、
前記少なくとも１つのゲートウェイノードに前記パケットを送信するための手段と
をさらに備える、請求項６に記載の装置。
【請求項９】
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするための手段
をさらに備える、請求項８に記載の装置。
【請求項１０】
アドホックピアツーピアネットワーク中でルーティングするための装置であって、
ゲートウェイノードで、前記ネットワーク上の１つまたは複数のネイバーノードから不確定宛先についてのインターネットルート要求を受信するための手段と、
前記インターネットルート要求が受信されたとき、前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信するための手段と、ここにおいて、前記応答メッセージは、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を備える装置。
【請求項１１】
非ゲートウェイノードから、アドホックピアツーピアネットワーク中の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するためのコードと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するためのコードと、ここにおいて、前記応答メッセージは、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するためのコードと
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
【請求項１２】
前記非一時的コンピュータ可読媒体は、
別の非ゲートウェイノードから、前記インターネットルート要求を受信するためのコード、ここにおいて、前記送信することは、前記受信されたインターネットルート要求を送信する、
をさらに含む、請求項１１に記載のコンピュータプログラム製品。
【請求項１３】
前記非一時的コンピュータ可読媒体は、
あるインターネット宛先に送信するためのパケットを受信するためのコードと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すためのコードと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信するためのコードと
をさらに含む、請求項１１に記載のコンピュータプログラム製品。
【請求項１４】
前記非一時的コンピュータ可読媒体は、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするためのコード
をさらに含む、請求項１３に記載のコンピュータプログラム製品。
【請求項１５】
ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信するためのコードと、
前記インターネットルート要求が受信されたとき、前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信するためのコードと、ここにおいて、前記応答メッセージは、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
【請求項１６】
アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されるメモリと、
ここにおいて、前記少なくとも１つのプロセッサは、
前記非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージは、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
を行うように構成される、
を備える非ゲートウェイノード。
【請求項１７】
前記少なくとも１つのプロセッサは、
別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することは、前記受信されたインターネットルート要求を送信する、
を行うようにさらに構成される、請求項１６に記載の非ゲートウェイノード。
【請求項１８】
前記少なくとも１つのプロセッサは、
あるインターネット宛先に送信するためのパケットを受信することと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すことと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信することと
を行うようにさらに構成される、請求項１６に記載の非ゲートウェイノード。
【請求項１９】
前記少なくとも１つのプロセッサは、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
を行うようにさらに構成される、請求項１８に記載の非ゲートウェイノード。
【請求項２０】
アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されるメモリと、
ここにおいて、前記少なくとも１つのプロセッサは、
ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のネイバーノードから不確定宛先についてのインターネットルート要求を受信することと、
前記インターネットルート要求が受信されたとき、前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージは、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を行うように構成される、
を備える非ゲートウェイノード。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１５１
【補正方法】変更
【補正の内容】
【０１５１】
[0171]  本開示についての以上の説明は、当業者が本開示を為したり使用したりできるように提供されたものである。本開示への様々な修正は当業者には容易に明らかとなり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。本開示全体にわたって、「例」または「例示的」という用語は、一例または一事例を示すものであり、言及した例についての選好を暗示せず、または必要としない。従って、本開示は、本明細書で説明した例および設計に限定されるべきでなく、本明細書で開示する原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[Ｃ１]  アドホックピアツーピアネットワーク中でルーティングするための方法であって、
非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージが、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
を備える、方法。
[Ｃ２]  別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
をさらに備える、Ｃ１に記載の方法。
[Ｃ３]  あるインターネット宛先に送信するためのパケットを受信することと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すことと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信することと
をさらに備える、Ｃ１に記載の方法。
[Ｃ４]  前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
をさらに備える、Ｃ３に記載の方法。
[Ｃ５]  アドホックピアツーピアネットワーク中でルーティングするための方法であって、
ゲートウェイノードで、前記ネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信することと、
前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を備える、方法。
[Ｃ６]  アドホックピアツーピアネットワーク中でルーティングするための方法であって、
非ゲートウェイノードで、前記ネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信することと、ここにおいて、前記告知が、前記１つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記１つまたは複数のゲートウェイノードの前記アドレスを記憶することと、
あるインターネット宛先に送信するためのパケットを受信することと、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択することと、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信することと
を備える、方法。
[Ｃ７]  前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
をさらに備える、Ｃ６に記載の方法。
[Ｃ８]  アドホックピアツーピアネットワーク中でルーティングするための装置であって、
非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するための手段と、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するための手段と、ここにおいて、前記応答メッセージが、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するための手段と
を備える装置。
[Ｃ９]  別の非ゲートウェイノードから、前記インターネットルート要求を受信するための手段、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
をさらに備える、Ｃ８に記載の装置。
[Ｃ１０]  あるインターネット宛先に送信するためのパケットを受信するための手段と、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すための手段と、
前記少なくとも１つのゲートウェイノードに前記パケットを送信するための手段と
をさらに備える、Ｃ８に記載の装置。
[Ｃ１１]  前記送信することより前に前記パケットから前記インターネット宛先をマスキングするための手段
をさらに備える、Ｃ１０に記載の装置。
[Ｃ１２]  アドホックピアツーピアネットワーク中でルーティングするための装置であって、
ゲートウェイノードで、前記ネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信するための手段と、
前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信するための手段と、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を備える装置。
[Ｃ１３]  アドホックピアツーピアネットワーク中でルーティングするための装置であって、
非ゲートウェイノードで、前記ネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するための手段と、ここにおいて、前記告知が、前記１つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記１つまたは複数のゲートウェイノードの前記アドレスを記憶するための手段と、
あるインターネット宛先に送信するためのパケットを受信するための手段と、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択するための手段と、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信するための手段と
を備える装置。
[Ｃ１４]  前記送信することより前に前記パケットから前記インターネット宛先をマスキングするための手段
をさらに備える、Ｃ１３に記載の装置。
[Ｃ１５]  非ゲートウェイノードから、アドホックピアツーピアネットワーク中の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するためのコードと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するためのコードと、ここにおいて、前記応答メッセージが、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するためのコードと
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
[Ｃ１６]  前記非一時的コンピュータ可読媒体が、
別の非ゲートウェイノードから、前記インターネットルート要求を受信するためのコード、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
をさらに含む、Ｃ１５に記載のコンピュータプログラム製品。
[Ｃ１７]  前記非一時的コンピュータ可読媒体が、
あるインターネット宛先に送信するためのパケットを受信するためのコードと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すためのコードと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信するためのコードと
をさらに含む、Ｃ１５に記載のコンピュータプログラム製品。
[Ｃ１８]  前記非一時的コンピュータ可読媒体が、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするためのコード
をさらに含む、Ｃ１７に記載のコンピュータプログラム製品。
[Ｃ１９]  ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信するためのコードと、
前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信するためのコードと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
[Ｃ２０]  非ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するためのコードと、ここにおいて、前記告知が、前記１つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記１つまたは複数のゲートウェイノードの前記アドレスを記憶するためのコードと、
あるインターネット宛先に送信するためのパケットを受信するためのコードと、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択するためのコードと、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信するためのコードと
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
[Ｃ２１]  前記非一時的コンピュータ可読媒体が、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするためのコード
をさらに含む、Ｃ２０に記載のコンピュータプログラム製品。
[Ｃ２２]  アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと、
ここにおいて、前記少なくとも１つのプロセッサが、
前記非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージが、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
を行うように構成された、
を備える非ゲートウェイノード。
[Ｃ２３]  前記少なくとも１つのプロセッサが、
別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
を行うようにさらに構成された、Ｃ２２に記載の非ゲートウェイノード。
[Ｃ２４]  前記少なくとも１つのプロセッサが、
あるインターネット宛先に送信するためのパケットを受信することと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すことと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信することと
を行うようにさらに構成された、Ｃ２２に記載の非ゲートウェイノード。
[Ｃ２５]  前記少なくとも１つのプロセッサが、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
を行うようにさらに構成された、Ｃ２４に記載の非ゲートウェイノード。
[Ｃ２６]  アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと、
ここにおいて、前記少なくとも１つのプロセッサが、
ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信することと、
前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を行うように構成された、
を備える非ゲートウェイノード。
[Ｃ２７]  アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと、
ここにおいて、前記少なくとも１つのプロセッサが、
前記非ゲートウェイノードで、前記ネットワーク上の１つまたは複数のゲートウェイノードからインターネット接続性の告知を受信することと、ここにおいて、前記告知が、前記１つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記１つまたは複数のゲートウェイノードの前記アドレスを記憶することと、
あるインターネット宛先に送信するためのパケットを受信することと、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択することと、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信することと
を行うように構成された、
を備える非ゲートウェイノード。
[Ｃ２８]  前記少なくとも１つのプロセッサが、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
を行うようにさらに構成された、Ｃ２７に記載の非ゲートウェイノード。
【手続補正書】
【提出日】平成28年1月29日(2016.1.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アドホックピアツーピアネットワーク中でルーティングするための方法であって、
非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、ここにおいて、前記１つまたは複数のネイバーノードは、前記不確定宛先に応答して、前記非ゲートウェイノードを除く前記１つまたは複数のネイバーノードのうちの全てのネイバーノードに前記インターネットルート要求を送信および転送するように、前記１つまたは複数のネイバーノードが非ゲートウェイノードであるときに適応される、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージは、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
を備える、方法。
【請求項２】
別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することは、前記不確定宛先に応答して、前記受信されたインターネットルート要求を前記別の非ゲートウェイノードを除く前記１つまたは複数のネイバーノードに送信する、
をさらに備える、請求項１に記載の方法。
【請求項３】
あるインターネット宛先に送信するためのパケットを受信することと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すことと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信することと
をさらに備える、請求項１に記載の方法。
【請求項４】
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
をさらに備える、請求項３に記載の方法。
【請求項５】
アドホックピアツーピアネットワーク中でルーティングするための方法であって、
ゲートウェイノードで、前記ネットワーク上の１つまたは複数のネイバーノードから不確定宛先についてのインターネットルート要求を受信することと、
前記インターネットルート要求が受信されたとき、前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージは、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を備える、方法。
【請求項６】
アドホックピアツーピアネットワーク中でルーティングするための装置であって、
非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するための手段と、ここにおいて、前記１つまたは複数のネイバーノードは、前記不確定宛先に応答して、前記非ゲートウェイノードを除く前記１つまたは複数のネイバーノードのうちの全てのネイバーノードに前記インターネットルート要求を送信および転送するように、前記１つまたは複数のネイバーノードが非ゲートウェイノードであるときに適応される、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するための手段と、ここにおいて、前記応答メッセージは、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するための手段と
を備える装置。
【請求項７】
別の非ゲートウェイノードから、前記インターネットルート要求を受信するための手段、ここにおいて、前記送信することは、前記不確定宛先に応答して、前記受信されたインターネットルート要求を前記別の非ゲートウェイノードを除く前記１つまたは複数のネイバーノードに送信する、
をさらに備える、請求項６に記載の装置。
【請求項８】
あるインターネット宛先に送信するためのパケットを受信するための手段と、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すための手段と、
前記少なくとも１つのゲートウェイノードに前記パケットを送信するための手段と
をさらに備える、請求項６に記載の装置。
【請求項９】
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするための手段
をさらに備える、請求項８に記載の装置。
【請求項１０】
アドホックピアツーピアネットワーク中でルーティングするための装置であって、
ゲートウェイノードで、前記ネットワーク上の１つまたは複数のネイバーノードから不確定宛先についてのインターネットルート要求を受信するための手段と、
前記インターネットルート要求が受信されたとき、前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信するための手段と、ここにおいて、前記応答メッセージは、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を備える装置。
【請求項１１】
非ゲートウェイノードから、アドホックピアツーピアネットワーク中の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するためのコードと、ここにおいて、前記１つまたは複数のネイバーノードは、前記不確定宛先に応答して、前記非ゲートウェイノードを除く前記１つまたは複数のネイバーノードのうちの全てのネイバーノードに前記インターネットルート要求を送信および転送するように、前記１つまたは複数のネイバーノードが非ゲートウェイノードであるときに適応される、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信するためのコードと、ここにおいて、前記応答メッセージは、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するためのコードと
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
【請求項１２】
前記非一時的コンピュータ可読媒体は、
別の非ゲートウェイノードから、前記インターネットルート要求を受信するためのコード、ここにおいて、前記送信することは、前記不確定宛先に応答して、前記受信されたインターネットルート要求を前記別の非ゲートウェイノードを除く前記１つまたは複数のネイバーノードに送信する、
をさらに含む、請求項１１に記載のコンピュータプログラム製品。
【請求項１３】
前記非一時的コンピュータ可読媒体は、
あるインターネット宛先に送信するためのパケットを受信するためのコードと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すためのコードと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信するためのコードと
をさらに含む、請求項１１に記載のコンピュータプログラム製品。
【請求項１４】
前記非一時的コンピュータ可読媒体は、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするためのコード
をさらに含む、請求項１３に記載のコンピュータプログラム製品。
【請求項１５】
ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のネイバーノードからインターネットルート要求を受信するためのコードと、
前記インターネットルート要求が受信されたとき、前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信するためのコードと、ここにおいて、前記応答メッセージは、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
【請求項１６】
アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されるメモリと、
ここにおいて、前記少なくとも１つのプロセッサは、
前記非ゲートウェイノードから、前記ネットワーク上の１つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、ここにおいて、前記１つまたは複数のネイバーノードは、前記不確定宛先に応答して、前記非ゲートウェイノードを除く前記１つまたは複数のネイバーノードのうちの全てのネイバーノードに前記インターネットルート要求を送信および転送するように、前記１つまたは複数のネイバーノードが非ゲートウェイノードであるときに適応される、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも１つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージは、前記少なくとも１つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも１つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
を行うように構成される、
を備える非ゲートウェイノード。
【請求項１７】
前記少なくとも１つのプロセッサは、
別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することは、前記不確定宛先に応答して、前記受信されたインターネットルート要求を前記別の非ゲートウェイノードを除く前記１つまたは複数のネイバーノードに送信する、
を行うようにさらに構成される、請求項１６に記載の非ゲートウェイノード。
【請求項１８】
前記少なくとも１つのプロセッサは、
あるインターネット宛先に送信するためのパケットを受信することと、
前記ゲートウェイポインタから前記少なくとも１つのゲートウェイノードの前記アドレスを取り出すことと、
前記少なくとも１つのゲートウェイノードに前記パケットを送信することと
を行うようにさらに構成される、請求項１６に記載の非ゲートウェイノード。
【請求項１９】
前記少なくとも１つのプロセッサは、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
を行うようにさらに構成される、請求項１８に記載の非ゲートウェイノード。
【請求項２０】
アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されるメモリと、
ここにおいて、前記少なくとも１つのプロセッサは、
ゲートウェイノードで、アドホックピアツーピアネットワーク上の１つまたは複数のネイバーノードから不確定宛先についてのインターネットルート要求を受信することと、
前記インターネットルート要求が受信されたとき、前記ゲートウェイノードから、前記１つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージは、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を行うように構成される、
を備える非ゲートウェイノード。
【国際調査報告】
2016515339.tif 000023
2016515339.tif 000024
2016515339.tif 000025
2016515339.tif 000026
2016515339.tif 000027