JP2016515339A - サービス指向アーキテクチャバスを介したインターネットルーティング - Google Patents

サービス指向アーキテクチャバスを介したインターネットルーティング Download PDF

Info

Publication number
JP2016515339A
JP2016515339A JP2015561615A JP2015561615A JP2016515339A JP 2016515339 A JP2016515339 A JP 2016515339A JP 2015561615 A JP2015561615 A JP 2015561615A JP 2015561615 A JP2015561615 A JP 2015561615A JP 2016515339 A JP2016515339 A JP 2016515339A
Authority
JP
Japan
Prior art keywords
gateway
gateway node
address
internet
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015561615A
Other languages
English (en)
Other versions
JP2016515339A5 (ja
Inventor
ルオ、シュン
マヘンドラン、アルングンドラム・チャンドラセカラン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016515339A publication Critical patent/JP2016515339A/ja
Publication of JP2016515339A5 publication Critical patent/JP2016515339A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/246Connectivity information discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/28Connectivity information management, e.g. connectivity discovery or connectivity update for reactive routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

いくつかの態様では、非ゲートウェイノードがネイバーノードにインターネットルート要求を送信し、ゲートウェイノードから、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む応答メッセージを受信する。非ゲートウェイノードは、このアドレスに等しいゲートウェイポインタを設定する。他の態様では、ゲートウェイノードがネイバーノードからインターネットルート要求を受信し、ネイバーノードに、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む応答メッセージを送信する。追加の態様では、非ゲートウェイノードが、ネットワーク上のゲートウェイノードから、ゲートウェイノードのアドレスを含むインターネット接続性の告知を受信する。非ゲートウェイノードは、潜在的なゲートウェイのリストにこれらのアドレスを追加する。非ゲートウェイノードは、インターネット宛先に送信するためのパケットを受信すると、リストからゲートウェイアドレスを選択し、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信する。【選択図】図18

Description

[0001] 以下は、一般に、サービス指向アーキテクチャ(SOA:service-oriented architecture)に関し、特に、SOAバスを介したインターネットルーティングの実現形態に関する。
[0002] サービス指向アーキテクチャでは、1つまたは複数のノードが互いに相互運用可能なサービスを提供するために互いに通信し得る。このコンテキストでは、サービスが独立型ソフトウェアによって実現される機能の自律単位と考えることができる。サービス指向アーキテクチャ機能の典型的な実現形態(implementation)は、コンピュータネットワークによって相互接続されたいくつかのコンピュータノードを含み得る。各ノードは、他のノードによって提供されるサービスを識別するために他のノードと通信し得る。各ノードはまた、他のノードに1つまたは複数のサービスを広告し得る。
[0003] 第1のノードがサービス指向アーキテクチャにおいて第2のノードによって提供されるサービスを呼び出す場合、第1のノードが第2のノードにリモートプロシージャ呼出しを送信でき、このリモートプロシージャ呼出しは、選択されたサービスによってサポートされる。リモートプロシージャ呼出しは、第1のノードによって提供される1つまたは複数の引数または他のパラメータを含み得る。第2のノードは、呼のタイプおよび/または与えられたパラメータに基づいて1つまたは複数のソフトウェア機能を実行することによってリモートプロシージャ呼出しに応答し得る。いくつかの例では、第2のノードが第1のノードにリモートプロシージャ呼出しの結果を提供し得る。
[0004] 最近、サービス指向アーキテクチャバス(サービスバスとしても知られる)の使用が増大した。サービス指向アーキテクチャバスは相互対話ソフトウェアアプリケーション間での通信を容易にしてアプリケーションが互いのサービスを呼び出すことを可能にする。サービス指向アーキテクチャバスの使用が増大するにつれて、これらバスの新しい使用が発展し続ける。
[0005] いくつかの態様では、アドホックピアツーピアネットワーク中でルーティングするための方法が、非ゲートウェイノードから、ネットワーク上の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することを含む。本方法はまた、非ゲートウェイノードで、ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信することを含み、ここにおいて、応答メッセージが、少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む。本方法は、非ゲートウェイノードで、少なくとも1つのゲートウェイノードのアドレスに等しいゲートウェイポインタを設定することをさらに含む。
[0006] 他の態様では、アドホックピアツーピアネットワーク中でルーティングするための方法が、ゲートウェイノードで、ネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信することを含む。本方法はまた、ゲートウェイノードから、1つまたは複数のネイバーノードに応答メッセージを送信することを含み、ここにおいて、応答メッセージが、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む。
[0007] 追加の態様では、アドホックピアツーピアネットワーク中でルーティングするための方法が、非ゲートウェイノードで、ネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信することを含み、ここにおいて、告知が、1つまたは複数のゲートウェイノードのアドレスを含む。本方法はまた、非ゲートウェイノードで、潜在的なゲートウェイのリストに1つまたは複数のゲートウェイノードのアドレスを記憶することを含む。本方法は、あるインターネット宛先に送信するためのパケットを受信することをさらに含む。本方法は、潜在的なゲートウェイのリストからゲートウェイアドレスを選択することをさらに含む。本方法は、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信することをさらに含む。
[0008] さらなる態様では、アドホックピアツーピアネットワーク中でルーティングするための装置が、非ゲートウェイノードから、ネットワーク上の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するための手段を含む。本装置はまた、非ゲートウェイノードで、ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信するための手段を含み、ここにおいて、応答メッセージが、少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む。本装置は、非ゲートウェイノードで、少なくとも1つのゲートウェイノードのアドレスに等しいゲートウェイポインタを設定するための手段をさらに含む。
[0009] さらに他の態様では、アドホックピアツーピアネットワーク中でルーティングするための装置が、ゲートウェイノードで、ネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信するための手段を含む。本装置はまた、ゲートウェイノードから、1つまたは複数のネイバーノードに応答メッセージを送信するための手段を含み、ここにおいて、応答メッセージが、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む。
[0010] さらに追加の態様では、アドホックピアツーピアネットワーク中でルーティングするための装置が、非ゲートウェイノードで、ネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するための手段を含み、ここにおいて、告知が、1つまたは複数のゲートウェイノードのアドレスを含む。本装置はまた、非ゲートウェイノードで、潜在的なゲートウェイのリストに1つまたは複数のゲートウェイノードのアドレスを記憶するための手段を含む。本装置は、あるインターネット宛先に送信するためのパケットを受信するための手段をさらに含む。本装置は、潜在的なゲートウェイのリストからゲートウェイアドレスを選択するための手段をさらに含む。本装置は、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信するための手段をさらに含む。
[0011] またさらなる態様では、コンピュータプログラム製品が非一時的コンピュータ可読媒体を含む。非一時的コンピュータ可読媒体は、非ゲートウェイノードから、アドホックピアツーピアネットワーク中の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するためのコードを含む。非一時的コンピュータ可読媒体はまた、非ゲートウェイノードで、ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信するためのコードを含み、ここにおいて、応答メッセージが、少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む。非一時的コンピュータ可読媒体は、非ゲートウェイノードで、少なくとも1つのゲートウェイノードのアドレスに等しいゲートウェイポインタを設定するためのコードをさらに含む。
[0012] また他の態様では、コンピュータプログラム製品が非一時的コンピュータ可読媒体を含む。非一時的コンピュータ可読媒体は、ゲートウェイノードで、アドホックピアツーピアネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信するためのコードを含む。非一時的コンピュータ可読媒体はまた、ゲートウェイノードから、1つまたは複数のネイバーノードに応答メッセージを送信するためのコードを含み、ここにおいて、応答メッセージが、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む。
[0013] また追加の実施形態では、コンピュータプログラム製品が非一時的コンピュータ可読媒体を含む。非一時的コンピュータ可読媒体は、非ゲートウェイノードで、アドホックピアツーピアネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するためのコードを含み、ここにおいて、告知が、1つまたは複数のゲートウェイノードのアドレスを含む。非一時的コンピュータ可読媒体はまた、非ゲートウェイノードで、潜在的なゲートウェイのリストに1つまたは複数のゲートウェイノードのアドレスを記憶するためのコードを含む。非一時的コンピュータ可読媒体は、あるインターネット宛先に送信するためのパケットを受信するためのコードをさらに含む。非一時的コンピュータ可読媒体は、潜在的なゲートウェイのリストからゲートウェイアドレスを選択するためのコードをさらに含む。非一時的コンピュータ可読媒体は、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信するためのコードをさらに含む。
[0014] またさらなる実施形態では、アドホックピアツーピアネットワーク中の非ゲートウェイノードが、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されたメモリとを含む。1つまたは複数のプロセッサは、非ゲートウェイノードから、ネットワーク上の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することを行うように構成される。1つまたは複数のプロセッサはまた、非ゲートウェイノードで、ネットワーク上の1つまたは複数のゲートウェイノードから応答メッセージを受信すること、ここにおいて、応答メッセージが、1つまたは複数のゲートウェイノードのアドレスとゲートウェイインジケータとを含む、を行うように構成される。1つまたは複数のプロセッサは、非ゲートウェイノードで、1つまたは複数のゲートウェイノードのアドレスに等しいゲートウェイポインタを設定することを行うように構成される。
[0015] 他の実施形態では、アドホックピアツーピアネットワーク中の非ゲートウェイノードが、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されたメモリとを含む。1つまたは複数のプロセッサは、ゲートウェイノードで、アドホックピアツーピアネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信することを行うように構成される。1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体はまた、ゲートウェイノードから、1つまたは複数のネイバーノードに応答メッセージを送信すること、ここにおいて、応答メッセージが、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、を行うようにさらに構成される。
[0016] 追加の実施形態では、アドホックピアツーピアネットワーク中の非ゲートウェイノードが、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されたメモリとを含む。1つまたは複数のプロセッサは、非ゲートウェイノードで、ネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信すること、ここにおいて、告知が、1つまたは複数のゲートウェイノードのアドレスを含む、を行うように構成さされる。1つまたは複数のプロセッサはまた、非ゲートウェイノードで、潜在的なゲートウェイのリストに1つまたは複数のゲートウェイノードのアドレスを記憶することを行うように構成さされる。1つまたは複数のプロセッサは、あるインターネット宛先に送信するためのパケットを受信することを行うようにさらに構成される。1つまたは複数のプロセッサは、潜在的なゲートウェイのリストからゲートウェイアドレスを選択することを行うようにさらに構成される。1つまたは複数のプロセッサは、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信することを行うようにさらに構成される。
[0017] 以下の図面を参照すれば、本発明の性質および利点のさらなる理解が得られ得る。添付の図において、同様の構成要素または特徴は同じ参照ラベルを有し得る。さらに、同じタイプの様々な構成要素は、参照ラベルの後に、ダッシュと、それらの同様の構成要素同士を区別する第2のラベルとを続けることによって区別され得る。第1の参照ラベルのみが明細書において使用される場合、その説明は、第2の参照ラベルにかかわらず、同じ第1の参照ラベルを有する同様の構成要素のうちのいずれか1つに適用可能である。
サービス指向アーキテクチャ(SOA)バスを介したインターネットプロトコル(IP)接続性を実現するための例示的なシステムのブロック図である。 ワイヤレス通信システムのブロック図である。 SOAバスを介したIP接続性を実現するための例示的なシステムのブロック図である。 SOAバスを介した第1のデバイスの第1のIPサービスと第2のデバイスの第2のIPサービスとの間の例示的な通信信号のブロック図である。 SOAバスを介してIPパケットを送信および受信するように構成される例示的なデバイスのブロック図である。 SOAバスを介してIPパケットを送信および受信するように構成される例示的なデバイスのブロック図である。 SOAバスを介したIP接続性を実現するための例示的な方法のフローチャートである。 SOAバスを介したIP接続性を実現するための例示的な方法のフローチャートである。 SOAバスを介したIP接続性を実現するための例示的な方法のフローチャートである。 SOAバスを介したIP接続性を実現するための例示的な方法のフローチャートである。 SOAバスを介したIP通信において使用するためのIPアドレスを生成するための例示的な方法のフローチャートである。 SOAバスを介したIP接続性を実現するためにIPサービスを発見するための例示的な方法のフローチャートである。 本開示による、ゲートウェイノードと非ゲートウェイノードとを含むアドホックピアツーピアネットワークを示す図である。 本開示の一態様を実現するためにゲートウェイノードと非ゲートウェイノードとによって実行される例示的なブロックを概念的に示す機能ブロック図である。 本開示の一態様を実現するためにゲートウェイノードと非ゲートウェイノードとによって実行されるメッセージ交換の一例を概念的に示すデータフロー図である。 本開示の一態様を実現するためにゲートウェイノードと非ゲートウェイノードとによって実行される例示的なブロックを概念的に示す機能ブロック図である。 本開示の一態様を実現するためにゲートウェイノードと非ゲートウェイノードとによって実行されるメッセージ交換の一例を概念的に示すデータフロー図である。 本開示の一態様を実現するために非ゲートウェイノードによって実行される例示的なブロックを概念的に示す機能ブロック図である。 本開示の一態様を実現するためにゲートウェイノードによって実行される例示的なブロックを概念的に示す機能ブロック図である。 本開示の一態様を実現するために非ゲートウェイノードによって実行される例示的なブロックを概念的に示す機能ブロック図である。
[0038] SOAバスを介したIP通信の実現形態について説明する。SOAバスに結合されたデバイスは、IPサービスの別個のインスタンスを広告して実現し得る。各IPサービスは、SOAバスに関連するIPサブネット中のIPアドレスを有し得る。広告された各IPサービスは、IP接続性に一様に関連するサービス記述子を含む名前を有し得る。さらに、各IPサービスの名前は、その特定のサービスのためのIPアドレスを含み得る。第1のデバイスは、第2のデバイスによって広告されたIPサービスをリモートで呼び出し、呼出しのパラメータとして第2のデバイスのIPサービスにIPパケットを渡すこと(passing)によってSOAバスを介して第2のデバイスにIPパケットを送信し得る。
[0039] また、サービス指向アーキテクチャバスを介したマルチホップインターネットルーティングに関する実現形態について説明する。例えば、いくつかの実現形態は、インターネット通知ルーティングを行うために、アドホックオンデマンドディスタンスベクタ(AODV)ルーティング規格中の既存のルーティング機構の変更に関与する。代替実現形態は、ゲートウェイノード能力のSOAバス告知と、リストから選択されたゲートウェイノードにIPパケットを送るおよび/または転送するための変更なしのAODVルーティング機構の利用とに基づく非ゲートウェイノードによる、潜在的なゲートウェイノードのリストの維持に関与する。上述の実現形態のいずれの代替態様でも、インターネット宛てパケットは、トンネリングされる(すなわち、実際のインターネット宛先がマスキングされる)か、またはトンネリングされない(すなわち、インターネット宛先のマスキングがない)ことがある。
[0040] 従って、以下の説明は、例を与えるものであり、特許請求の範囲において記載される範囲、適用性、または構成を限定するものでない。本開示の趣旨および範囲から逸脱することなく、説明する要素の機能および構成において変更が行われ得る。様々な実施形態は、適宜に様々な手順または構成要素を省略、置換、または追加し得る。例えば、説明された方法が、説明された順序とは異なる順序で行われ得、様々なステップが追加、省略、または組み合わされ得る。また、いくつかの実施形態に関して説明する特徴は、他の実施形態において組み合わせられ得る。
[0041] 図1は、様々なデバイス115(例えば、パーソナルコンピュータ115−a、スマートフォン115−b、タブレットコンピュータ115−c、およびプリンタ115−d)がピアツーピアレベルで互いに通信する例示的なシステム100を示す。
[0042] 図1に示すように、デバイス115は、異なるアクセス技術を介して互いに通信し得る。本例では、パーソナルコンピュータ115−aが、ワイヤレスローカルエリアネットワーク(WLAN)接続を介して(例えば、アドホックWLAN接続としておよび/またはWLANスイッチ、アクセスポイント、またはルータを通して)スマートフォン115−bと通信する。パーソナルコンピュータ115−aはまた、ユニバーサルシリアルバス(USB)接続を介してプリンタ115−dと通信する。スマートフォン115−bはまた、Bluetooth(登録商標)ワイヤレス接続を介してテーブルコンピュータ115−cと通信する。
[0043] 本例の1つのデバイス115もシステム中のデバイス115の各々と直接通信していないが、デバイス115は、ピアツーピアネットワークを介してSOAバス105を実現するために互いに協働し得る。本明細書および添付の特許請求の範囲で使用する「SOAバス」という用語は、概して、互いにサービスを広告し、互いの広告されたサービスをリモートで呼び出すために、分散ノードに論理インフラストラクチャを与える任意の通信アーキテクチャを指す。さらに、「サービス」という用語は、概して、サービスを実現するデバイスまたはアプリケーションとは別個のデバイスまたはアプリケーションによってリモートで呼び出されるか、または呼ばれることがあり得るソフトウェア機能の自律単位を指す。
[0044] 説明における明確さのために、図2のSOAバス105の説明および明細書全体にわたる説明は、オープンソースのAllJoynバス機能を実現するAllJoynバスのコンテキスト内で与えられる。ただし、本明細書の原理は、限定はしないが、エンタープライズサービスバス(ESB:Enterprise Service Bus)、Windows(登録商標)サービスバス、シンプルサービスバス(SSB:Simple Service Bus)、D−バス、および/または他のサービスバスを含む他のタイプのSOAバスに広く適用され得る。
[0045] 図1のシステムでは、SOAバス105を実現するために、デバイス115の各々が、SOAバスデーモンの別個のインスタンスを稼働させ得る。システム300の各デバイス115上で稼働するSOAバスデーモンは、ピアツーピアネットワークを介して論理SOAバス105を確立するためにシステム300の他のデバイス115上で稼働するSOAバスデーモンと通信し得、従って、デバイス115の各々は、それらのピアと通信するためにデバイス115によって使用されるアクセス技術にかかわらず、論理SOAバス105を介してシステム100中の他のデバイス115のいずれかと通信し得る。
[0046] デバイス115の各々は、SOAバス105を介していくつかのサービスを提供するように構成され得る。例えば、パーソナルコンピュータ115−aは、チャットサービス、ストリーミングメディアサービス、およびインターネットプロトコル(IP)サービスを提供し得る。スマートフォン115−bは、チャットサービス、全地球測位システム(GPS)サービス、およびIPサービスを提供し得る。タブレットコンピュータ115−cは、辞書サービスおよびIPサービスを提供し得る。プリンタ115−dは、チャットサービス、ストリーミングメディアサービス、およびIPサービスを提供し得る。各デバイス115で提供される各サービスには、SOAバス105上での論理ロケーションまたはアドレスが割り当てられ得る。例えば、パーソナルコンピュータ115−aのチャットサービスは、SOAバス105上で:1.1のアドレスが与えられ、パーソナルコンピュータ115−aのストリーミングメディアサービスは、SOAバス105上で:1.2のアドレスが与えられ、パーソナルコンピュータ115−aのIPサービスは、SOAバス105上で:1.3のアドレスが与えられる。本明細書および添付の特許請求の範囲では、「インターネットプロトコル」または「IP」という用語が、IPv4、IPv6、および/または任意の他の過去または将来のバージョンを含むインターネットプロトコルの任意のバージョンを指す。
[0047] SOAバス105上のデバイス115の各々は、他のデバイス115によって広告されたサービスのリストへのアクセスを有し得る。デバイス115のうちの1つの上のクライアントプロセスは、SOAバス上の広告されたサービスのアドレスを用いてSOAバス105上でセッションを確立することによって別のデバイス115によって提供された広告されたサービスをリモートで呼び出し得る。例えば、スマートフォン115−bのクライアントプロセスがプリンタ115−dのストリーミングメディアサービスにアクセスすることを望んだ場合、クライアントプロセスは、SOAバス105上で:1.9のアドレスを用いてセッションを確立し、セッションを通してストリーミングメディアサービスに関連する方法またはプロシージャをリモートで呼び出し得る。いくつかの例では、クライアントプロセスが、SOAバス上で広告された別のサービスであり得る。追加または代替として、クライアントプロセスは、SOAバス105を介して公に広告されたサービスを提供しない、SOAバス105上で別個のアドレスをもつアプリケーションまたはソフトウェア機能の他の単位であり得る。
[0048] 図1に示すように、システム100中のデバイス115の各々は、SOAバス105を介してIPサービスを提供し得る。代替例では、システム100中のデバイス115のサブセットのみが、SOAバスを介してIPサービスを提供し得る。IPサービスは、SOAバス105を介して1つまたは複数のIPサブネットを実現するために互いに協働し得る。このIPサブネットは、SOAバスの外部の任意の他のIPサブネットとは別個で独立していることがあり得る。従って、パーソナルコンピュータ115−aおよびスマートフォン115−bがそれらのWLAN接続による第1のIPサブネットの一部であり得るとしても、第1のIPサブネットは、SOAバス105を介して実現される第2のIPサブネットとは別個の異なるものであり得る。
[0049] 図1にさらに示すように、IPサービスの各々は、SOAバス105を介して広告される一意の名前を有し得る。各一意の名前は、IPサービスに一様に関連するサービス記述子(例えば、「org.alljoyn.ipservice」)と、SOAバス105によって実現されるIPサブネット内でそのデバイスに割り当てられるIPアドレスの付加インジケータ(例えば、192.168.0.4のIPアドレスを示す「s192_168_0_4」)とを含み得る。均一なサービス記述子を用いて、各IPサービスは、SOAバス105上の他のデバイスによってそのようなものとして迅速に識別され得る。さらに、SOAバス105を介して広告されるIPサービスの名前中でIPアドレスを示すことによって、SOAバス105を介して実現されるIPサブネットにおけるデバイス115のIPアドレスを判断するのに追加の発見ステップが必要ない。
[0050] SOAバス105のピアツーピアアーキテクチャにより、SOAバス105に接続されたデバイス115間でIPパケットをルーティングするために別個のルータまたはスイッチが利用可能でない(または必要とされない)。代わりに、SOAバス105上でIPサービスを提供する各デバイス115は、SOAバス105上でIPサービスを提供するそれぞれの他の知られたデバイス115のIPアドレスの記録を維持し得る。IPパケットは、広告されたIPサービスのリモート呼出しを通してSOAバス105上のデバイス115間で交換され得る。例えば、パーソナルコンピュータ115−a(IPアドレス192.168.0.4)は、SOAバス105上のアドレスの:1.3と:1.6との間でセッションを確立し、スマートフォン115−bに関連するIPサービス(すなわち「org.alljoyn.ipservice.s192_168_0_21」)に関連する方法または機能をリモートで呼び出し、SOAバス105を介してスマートフォン115−bに関連するIPサービスにIPパケットを渡すことによって、192.168.0.21(スマートフォン115−bに関連するIPアドレス)にアドレス指定されたIPパケットを送信し得る。IPパケットは、リモートで呼び出された方法または機能のシンタックス中の引数または他のパラメータとしてスマートフォン115−bに関連するIPサービスに渡され得る。いくつかの例では、IPパケットが、IPサービスによってパケットでなくオブジェクトとして扱われ得る。
[0051] いくつかの例では、複数のIPサブネットが、SOAバス105を介して実現され得る。そのような例では、IPサービスが、同じIPサブネットに関連するIPアドレス間のみでのパケットの転送を考慮するルールを強制し得る。IPサービスのIPサブネットは、いくつかの例で、そのIPサービスの名前の中に含まれ得る。例えば、「org.alljoyn.ipservice.weather.s192_168_0_21」というIPサービス名は、第1のサブネット上のIPアドレス192.168.0.21に関連するIPサービスを指し得るが、「org.alljoyn.ipservice.sports.s192_168_0_21」というIPサービス名は、完全に別個の独立したサブネット上の同じIPアドレスを指し得る。デバイス115は、SOAバス105によって実現される複数のIPサブネットのための複数のIPアドレスを有し得る。この場合、デバイス115が複数のIPサービスを稼働でき、各IPサービスが別個のサブネットに関連付けられ、および/または単一のIPサービスに複数のサブネットを処理させる。単一のIPサービスが複数のサブネットを処理する場合、IPサービスの名前は、デバイス115に関連する各IPアドレスとサブネットとを反映し得る。いくつかの例では、複数のサブネットが発見され得る。例えば、ユーザは、天気予報に関係するアドホックサブネットを発見することを望むことがある。この例では、ユーザが、「org.alljoyn.ipservice.weather」から始まる名前をもつサービスを求めてSOAバス105を探索し得る。ユーザは、一意のIPアドレスと同じプリアンブルを使用するサブネットのうちの1つまたは複数上で自分のデバイス115のためのIPアドレスを広告し得る。
[0052] さらに、いくつかの例では、IPサービスのうちの1つまたは複数がドメインネームサービス(DNS:Domain Name Service)機能を含み得る。例えば、パーソナルコンピュータ115_a上で稼働するアプリケーションは、ドメインホスト名「magellan.ion.local」からのファイルにアクセスしようと試み得る。パーソナルコンピュータ115_a上で稼働するIPサービスは、SOAバス105に接続された他のデバイス115のうちの1つ上で稼働するIPサービスに与えられたドメインを変換するように構成され得る。
[0053] いくつかの例では、1つまたは複数のIPサービスの名前がそのIPサービスに関連する任意のドメインホスト名のインジケータを含み得る。例えば、デバイス115によって広告されたIPサービスの名前は、「org.alljoyn.ipservice.s192_168_0_21_2356_magellan」であり得る。この例では、サービス名の「Magellan」構成要素がそのIPアドレス「192.168.0.21」に関連するドメインホスト名を指す。(例えば、「magellan.ion.local」というホスト名に到達するために)サービス名のホスト名構成要素に「.ion.local」または別のサフィックスなどの所定のドメインネームが付加され得る。追加または代替として、全ドメインネームが、広告されたサービス名の一部として含まれ得る。解決されたホスト名の名前に関連するサービスがホスト名の下のサブドメインとして使用され得ることがさらに企図される。例えば、SOAバス上の「weather」という名前のサービスがSOAバス上の「voyager」ホスト名に関連付けられている場合、デバイス115のうちの1つ上のDNS機能は、「weather」サービスの「weather.voyager.ion.local.」としてのDNSルックアップを考慮し得る。
[0054] このようにして、他のIPサービスは、SOAバス105上の他のIPサービスに与えられた名前を発見することによって、SOAバス105上のそれぞれの他のIPサービスに関連するドメインホスト名の名前を発見し、追跡し得る。このDNS機能は、パーソナルコンピュータ115_aまたは別のデバイス115に、DNSサーバと交信することなしにそれのアプリケーションおよびユーザに有効なDNS解決を与えることをさせ得る。SOAバス上の隣接サービスのホスト名がデバイス115でのIPアドレスに解決されると、ホスト名および解決されたIPアドレスがデバイス115のオペレーティングシステムのホストファイルに追加され得る(例えば、UNIX(登録商標)またはUNIX似(UNIX-like)システムにおける「/etc/hosts」で)。このようにして、アプリケーションから知られているホスト名への任意のDNSクエリは、オペレーティングシステムによってSOAバスに関連するIPサブネット上での正しいアドレスに自動的に解決され得る。デバイス115のオペレーティングシステムレゾルバは、SOAバス上の広告されたサービスに関連するホスト名に適応するために変更される必要はない。
[0055] いくつかの例では、IPサービスのうちの1つまたは複数が、IPサービス間の効率的で効果的なIPパケットルーティングを達成するために様々な追加のルーティングプロトコル(例えば、マルチパスルーティング)およびサービス品質(QoS)機能を実現するように構成され得ることがさらに企図される。
[0056] 再び「org.alljoyn.ipservice.s192_168_0_21_2356_magellan」という名前のサービスの例を参照すると、広告されたサービス名中の「2356」は、同じサービスを広告する異なるデバイス115を区別するためにデバイス115によって生成された一意のIDに対応する。従って、広告されたサービス間のIPアドレス競合は、同じIPアドレスをもつ別のサービスまたはデバイスが同じ一意のIDを有するか、または異なる一意のIDを有するかを判断することによって検出され得る。IPアドレスが同じ一意のIDを有する場合、競合は存在しない。そうでない場合、解決されるべきIPアドレス競合が検出され得る。
[0057] 次に図2を参照すると、ブロック図は、IPサービスが図1において上述されたようにSOAバスを介して実現され得るワイヤレス通信システム200の一例を示す。システム200は、基地局205(またはセル)と、デバイス115と、基地局コントローラ220と、コアネットワーク225とを含む(コントローラ220はコアネットワーク225に組み込まれ得る)。システム200は、複数のキャリア(異なる周波数の波形信号)上での動作をサポートし得る。
[0058] 図2の例では、様々なデバイス115が、1つまたは複数の基地局205を通してコアネットワーク225と通信し得る。さらに、いくつかのデバイス115は、互いにピアツーピア通信を確立し得る。そのようなデバイス115のグループは、ピアツーピアネットワークを確立するために互いに協働し得る。例えば、デバイス115−e、デバイス115−f、およびデバイス115−gは、3つのデバイス115間のピアツーピアネットワークを確立するために、デバイス115−eとデバイス115−fとの間のピアツーピア接続と、デバイス115−fとデバイス115−gとの間のピアツーピア接続とを活用し得る。
[0059] デバイス115は、さらに、図1に関して上述されたように、ピアツーピアネットワークを介してSOAバス(例えば、図1のSOAバス105)を実現し、SOAバスを介したIP通信を実現するために協働し得る。このようにして、独立したIPサブネットは、基地局205またはコアネットワーク225に対する依拠なしにデバイス115−eおよび115−fの間で確立され得る。ただし、いくつかの例では、デバイス115のうちの1つまたは複数は、基地局205を通したコアネットワーク225への接続を利用するSOAバスを介してサービスを広告し得る。例えば、デバイス115−eは、コアネットワーク225からファイルをダウンロードし、デバイス115−eとデバイス115−fとデバイス115−gとの間でSOAバスを介して実現されるIPサブネットを介してファイルをデバイス115−gにストリームし得る。
[0060] デバイスは、SOAバスを介してIPサービスを提供するピアツーピアネットワークに加わるために基地局205と通信している必要はない。図2に示すように、デバイス115−iとデバイス115−jとはそれぞれ、基地局205と通信することなしに他のデバイス115とのピアツーピア接続を実現し得る。これらピアツーピア接続を使用して、SOAバスは、デバイス115−hと、デバイス115−iと、デバイス115−jと、デバイス115−kとの間で実現され得る。上述されたように、SOAバスは、SOAバスに接続された4つのデバイス115間にプライベートIPサブネットを実現するために使用され得る。
[0061] 基地局205は、基地局アンテナ(図示せず)を介してデバイス115とワイヤレス通信し得る。基地局205は、複数のキャリアを介して基地局コントローラ220の制御下でデバイス115と通信し得る。基地局205サイトの各々は、それぞれの地理的エリアに通信カバレージを提供し得る。各基地局205のカバレージエリアは、ここで、210−a、210−b、または210−cとして識別される。基地局のカバレージエリアは(図示しないが、カバレージエリアの一部分のみを構成する)セクタに分割され得る。システム200は、異なるタイプの基地局205(例えば、マクロ基地局、マイクロ基地局、および/またはピコ基地局)を含み得る。異なる技術のための重複するカバレージエリアがあり得る。
[0062] デバイス115はカバレージエリア210全体にわたって分散され得る。デバイス115は、固定デバイスに加えて、移動局、モバイルデバイス、アクセス端末(AT)、ユーザ機器(UE)、加入者局(SS)、加入者ユニットと呼ばれることがある。デバイス115は、限定はしないが、セルラー電話とワイヤレス通信デバイスとを含み得るが、デスクトップコンピュータ、プリンタ、サーバ、セットトップボックス、テレビジョンおよび他のメディアプレーヤ、携帯情報端末(PDA)、他のハンドヘルドデバイス、ネットブック、ノートブックコンピュータなどをも含み得る。いくつかの例では、デバイスのいくつかは、であり得る。
[0063] 図1に示すように、いくつかのデバイス115は、基地局と直接通信できない。例えば、セル210−c中に、基地局205への確立されたワイヤレス接続を有しない様々なデバイス115が示されている。図1にさらに示すように、いくつかのデバイス115は、基地局205を通してメッセージをルーティングすることなしに互いに直接通信し得る。直接または間接的に互いに通信することによって、デバイスは、サービス指向アーキテクチャ(SOA)バスを確立するために協働し得、SOAバスにおいて、デバイス115は、バス上の他のデバイスにソフトウェアサービスを広告し、バスを介して互いのサービスを発見し、呼び出すことが可能である。いくつかの例では、実現されたSOAバスを介したデバイス115間の通信が、基地局205またはそれらの関連するコアネットワーク225とは無関係に行われ得る。代替的に、SOAバスを介した1つまたは複数の通信は基地局205を通して行われ得る。
[0064] 図3は、SOAバスを介したIP接続性を実現するための例示的なシステム300のブロック図である。システム300は、第1のデバイス115−lと第2のデバイス115−mとを含む。第1のデバイス115−lと第2のデバイス115−mとは、論理SOAバス105−aを介して互いに通信する。第1のデバイス115−lと第2のデバイス115−mとは、図1または図2を参照して上述したデバイス115の例であり得る。SOAバス105−aは、図1を参照して上述したSOAバス105の一例であり得る。
[0065] 本例の各デバイス115は、1つまたは複数のプロセッサ305と、メインメモリ310と、ローカルストレージ315と、1つまたは複数の入出力(I/O)デバイス320とのハードウェアプラットフォームを含む。各デバイス115の(1つまたは複数の)プロセッサ305は、オペレーティングシステムのカーネル空間およびユーザ空間中で機能の様々なユニットを実行するためにローカルストレージ315からメインメモリ310にロードされるコードを実行し得る。
[0066] カーネル空間において、図3の例に示されている各デバイス115は、Bluetooth通信を送信および受信するためのBluetoothインターフェース325と、WLAN通信を送信および受信するためのWLANインターフェース330と、仮想ネットワークインターフェース335とを含む。仮想ネットワークインターフェースは、SOAバス105−aを介したIP通信を実現するために、ネットワークスタック中のIPレイヤ処理340とユーザ空間において実行するIPサービス355との間でパケットをルーティングし得る。いくつかの例では、仮想ネットワークインターフェース335が、知られている仕様に従ってTUN/TAPプログラムまたはモジュールを実現し得る。仮想ネットワークインターフェース335は、ネットワークレイヤデバイスをシミュレートし得る。IPレイヤ処理340とUDP/TCPレイヤ処理345とは、ネットワークスタックのレイヤ3およびレイヤ4におけるパケット処理に関連する従来の機能を行い得る。
[0067] ユーザ空間において、図3の例に示されている各デバイス115は、IPネットワークを介してデータを送信および受信するように構成されるIPアプリケーション350と、SOAバス105−aを介したIP接続性を実現するように構成されるIPサービス355と、SOAバス105−aを実現するように構成されるSOAバスデーモン360とを含む。IPサービス355とSOAバスデーモン360とは、図1のSOAバス105に関して上述したIPサービスとSOAバスデーモンとの例であり得る。
[0068] SOAバス105−aを介したデバイス115間のIP通信を示すために、第2のデバイス115−mにIPパケットを送信する第1のデバイス115−lのIPアプリケーション350−aの例について考えてみる。この例では、IPアプリケーション350−aが、UDP/TCPレイヤ処理345−aとIPレイヤ処理340−aとによってIPアプリケーションにアセンブルされるデータを生成する。アセンブルされたIPパケットは、宛先アドレスとして、第2のデバイス155−fのIPサービス355−bに関連するIPアドレスを有し得る。図2を参照して上述されたように、第2のデバイス155−fのIPサービス355−bに関連するIPアドレスは、第2のデバイス155−fのIPサービス355−bの広告された名前に基づいて第1のデバイス115−lのIPサービス355−aによって判断され得る。
[0069] 仮想ネットワークインターフェース335−aは、構成されたIPパケットを受信するか、またはインターセプトし、第1のデバイスのIPサービス335−aにIPパケットを転送し得る。第1のデバイスのIPサービス355−aは、次いで、SOAバス105−aを介して第2のデバイス115−mのIPサービス355−bにIPパケットを渡すために、第2のデバイス115−mのIPサービス355−bに関連する方法またはプロシージャをリモートで呼び出し得る。例えば、IPパケットは、呼び出された方法またはプロシージャのシンタックスに関連する引数または他のパラメータとして第2のデバイス115−mのIPサービス355−bに渡され得る。IPパケットは、IPサービス355によって、パケットでなくソフトウェアオブジェクトとして扱われ得る。
[0070] 第2のデバイス115−mのIPサービス355−bにおいて受信されたIPパケットは、次いで、第2のデバイスの仮想ネットワークインターフェース335−bに転送され、仮想ネットワークインターフェース335−bは、ネットワークスタックのIPレイヤ処理340−bとUDP/TCPレイヤ処理345−bとにIPパケットを配置する。UDP/TCPレイヤ処理345がIPパケットに対して完了すると、IPパケットからのデータが第2のデバイス115−mのIPアプリケーション350−bに提供され得る。
[0071] 図4は、第1のデバイスによって実現される第1のIPサービス355−cと第2のデバイスによって実現される第2のIPサービス355−dとの間のSOAバス105−bを介した例示的な通信信号のブロック図である。IPサービス355は、図3を参照して上述したIPサービス355の一例であり得る。第1のデバイスと第2のデバイスとは、図1、図2、または図3を参照して上述したデバイス115の例であり得る。SOAバス105−bは、図1または図3を参照して上述したSOAバス105の一例であり得る。
[0072] IPサービス355の各々は、SOAバス105−b上に一意のアドレスを有し得る。本例では、第1のIPサービス355−cが、SOAバス105−b上に:1.3のアドレスを有し、第2のIPサービス355−dが、SOAバス105−b上に:1.6のアドレスを有する。さらに、各IPサービス355は、SOAバス上で広告され、他のサービスに発見可能である名前を有する。本例の各IPサービス355の名前は、SOAバス105−bの連続名前空間中でIPサービス355に一様に関連したサービス記述子(すなわち、「org.alljoyn.ipservice」)を含む。各名前は、さらに、SOAバス105−bを介して実現されるIPサブネットに関連するIPアドレスのインジケータを有する。従って、第1のIPサービス355−cは、192.168.0.4のIPアドレスをもつIPサービス355を示す「org.alljoyn.ipservice.s192_168_0_4」の名前を有し、第2のIPサービス355−dは、192.168.0.21のIPアドレスをもつIPサービス355を示す「org.alljoyn.ipservice.s192_168_0_21」の名前を有する。
[0073] 第1のIPサービス355と第2のIPサービス355とがIPパケットを交換する場合、第1のIPサービス355−cは、最初に、405において、SOAバス105−b上の:1.3と:1.6との間のセッションで開始する。第2のIPサービス355−dは、410において、:1.3と:1.6との間のセッションを確認する。第1のIPサービス355−cは、次いで、415において、SOAバス105−bを介して第2のIPサービス355−dで「org.alljoyn.ipservice.s192_168_0_21.transmit」という名前の方法をリモートで呼び出すことによって第2のIPサービス355−dのIPアドレスにアドレス指定された第1のIPパケットを送信し得る。第1のIPサービスは、機能についての引数または他のパラメータとして呼び出された方法に第1のIPパケットを渡す。機能は、IP通信を実現するための全てのIPサービスによって実現される機能の知られているセットのうちの1つであり得る。IPパケットは、2つのIPサービス355間のオブジェクトパラメータとして扱われ得る。第2のIPサービス355−dは、420において、SOAバス105−bを介して第1のIPサービス355−cで「org.alljoyn.ipservice.s192_168_0_4.transmit」という名前の方法をリモートで呼び出し、呼び出された方法についての引数または他のパラメータとして方法に第2のIPパケットを渡すことによって、第1のIPサービス355−cに第2のパケットを送り得る。
[0074] 図5は、例示的なデバイス115−nのブロック図を示す。デバイス115−nは、図1、図2、または図3を参照して上述したデバイス115の一例であり得る。デバイス115−nは、例えば、完全にハードウェアで実現されるか、またはハードウェアとソフトウェアとの組合せで実現され得る。デバイス115−nは、IPサービスモジュール505と、IPサービス広告モジュール510と、IPサービス発見モジュール515と、送信機モジュール520と、受信機モジュール525とを含む。
[0075] IPサービスモジュール505は、ピアツーピアネットワークによって実現されるSOAバス(例えば、図1、図3、または図4のSOAバス105)を介してIPサービス(例えば、図3または図4のIPサービス355)を実現するように構成され得る。IPサービスモジュール505によって実現されるIPサービスは、SOAバスを介して実現されるIPサブネット内のIPアドレスに関連付けられ得る。IPサービスは、SOAバスを介してサブネット中の異なるIPアドレスに関連する他のIPサービスと通信するように構成され得る。
[0076] IPサービス広告モジュール510は、他のデバイスおよびサービスにSOAバスを介してIPサービスモジュール505によって実現されるIPサービスを広告し得る。IPサービス広告モジュール510は、IPサービスの名前、IPサービスに関連するIPアドレス、メディアアクセス制御(MAC)アドレス、グローバル一意識別子(GUID)、汎用一意識別子(UUID)、および/またはこれら原理の特定の実現形態に適し得るIPサービスに関する任意の他の情報を広告し得る。いくつかの例では、IPサービス広告モジュール510がまた、第1のIPサービスに関連するサブネットおよび/またはDNS解決データを広告し得る。
[0077] IPサービス発見モジュール515は、SOAバスを介して第2のデバイスによって広告された第2のIPサービスを発見し得る。本明細書の他の場所でより詳細に説明するように、第2のIPサービスは、第2のIPサービスの広告された名前中に含まれている均一なIPサービス記述子に基づいて発見され得る。IPサービス発見モジュール515はまた、広告された名前から、または何らかの他の方法によって第2のIPサービスに関連するIPアドレスを発見し得る。いくつかの例では、IP発見モジュール515がまた、MACアドレス、GUID、UUID、および/またはこれら原理の特定の実現形態に適し得る第2のIPサービスに関する任意の他の情報を発見し得る。追加または代替の例では、IPサービス発見モジュールが第2のIPサービスに関連するサブネットおよび/またはDNS解決データ。
[0078] 送信機モジュール520は、IPサービスモジュール505に、SOAバスを介して第2のIPサービスをリモートで呼び出すことと、第2のIPサービスを呼び出すことに関連する引数または他のパラメータとして第2のIPサービスに第1のIPパケットを渡すこととを行わせることによって第2のデバイスに少なくとも第1のIPパケットを送信するように構成され得る。
[0079] 受信機モジュール525は、IPサービスモジュール505オブデバイス115−nによって実現されるIPサービスを通してSOAバスを介して第2のデバイスから少なくとも第2のIPパケットを受信するように構成され得る。第2のデバイスは、SOAバスを介してIPサービスをリモートで呼び出し、IPサービスを呼び出すことに関連する引数またはパラメータとしてIPサービスに第2のIPパケットを渡すことによってIPサービスに第2のIPパケットを送信し得る。
[0080] 図6は、例示的なデバイス115−oのブロック図を示す。デバイス115−oは、図1、図2、図3、または図5を参照して上述したデバイス115の一例であり得る。デバイス115−oは、例えば、完全にハードウェアで実現されるか、またはハードウェアとソフトウェアとの組合せで実現され得る。図5のデバイス115−nと同様に、図6のデバイス115−oは、IPサービスモジュール505−aと、IPサービス広告モジュール510−aと、IPサービス発見モジュール515−aと、送信機モジュール520−aと、受信機モジュール525−aとを含む。さらに、図6のデバイス115−oは、SOAバスデーモンモジュール605と、IPアプリケーション615と、IPアドレス割当てモジュール620とを含む。
[0081] SOAバスデーモンモジュール605は、隣接デバイスとのピアツーピア接続を確立するSOAバスデーモンを実現し得る。このようにして、複数のデバイスは、上述されたように、SOAバスを実現するピアツーピアネットワークを確立し得る。SOAバスデーモンモジュール605がデバイス115−o上にSOAバス機能を論理的に実現するので、IPサービスモジュール505−aは、SOAバスデーモンモジュール605を通してSOAバスと通信し得る。SOAバスデーモンモジュール605は、SOAバス上で提供されるサービスとのセッションを確立し、維持し、終了するように構成されるセッション管理サブモジュール610を含み得る。
[0082] IPアプリケーション615は、SOAバスを介して実現されるIPサブネットを介して送られるデータを生成し、受信する、ユーザ空間において実行されるアプリケーションを含み得る。従って、送信機モジュール520−aによって送られるIPパケット中のデータはIPアプリケーション615を起源とし得、受信機モジュール525−aによって受信されるIPパケット中のデータはIPアプリケーション615に最終的に転送され得る。
[0083] IPアドレス割当てモジュール620は、IPサービスモジュール505−aに関連するIPアドレスを生成するように構成され得る。前の図に関して上述されたように、IPアドレス割当てモジュール620は、SOAバスのIPサブネットに関連する許容範囲内でIPアドレスをランダムに生成し、競合についてSOAバスを確認し、競合が発見されない場合、IPサービスモジュール505−aにIPアドレスに割り当て得る。
[0084] 図7は、本開示の原理による、ピアツーピアネットワークによって実現されるSOAバスを介したIP接続性を可能にする方法700の一例を示す。図7の方法700は、図1〜図6を参照して上述した、例えば、デバイス115のうちの1つまたは複数によって行われ得る。
[0085] ブロック705では、第1のデバイスでの第1のIPサービスがピアツーピアネットワークによって実現されるSOAバスを介して広告される。上述されたように、SOAバスは、ALLJOYNサービスバス、エンタープライズサービスバス(ESB)、Microsoft Windowsサービスバスと、シンプルサービスバス(SSB)、および/または任意の他の適用可能なタイプのサービスバスを含み得る。第1のIPサービスは、第1のIPサービスに関連するサービス名を使用して広告され、第1のサービスに関連するサービス名は、SOAバスでのIPサービスに一様に関連するサービス記述子(例えば、「org.alljoyn.ipservice」)を含み得る。
[0086] ブロック710では、SOAバスを介して第2のデバイスによって広告された第2のIPサービスが発見される。第2のIPサービスは、第2のIPサービスに関連するサービス名ベースで発見され得る。第2のIPサービスに関連するサービス名は、第1のIPサービスに関連するサービス名と同じ、IPサービスのためのサービス記述子を含み得る。IPサービス名の各々はまた、SOAバスによって実現されるIPサブネット内にIPサービスを実現するそれぞれのデバイスに関連する一意のIPアドレスの指示を含み得る。第1のIPサービスと第2のIPサービスとのためのサービス名はまた、SOAバスによって実現される連続名前空間内に実現され得る。
[0087] ブロックk 715では、第1のデバイスが、SOAバスを介して第2のIPサービスをリモートで呼び出すことによって第2のデバイスに少なくとも第1のIPパケットを送信する。例えば、第1のデバイスは、SOAバスを介して第2のIPサービスに関連する機能をリモートで呼び出し、機能の引数またはパラメータとして第2のIPサービスに第1のIPパケットを渡し得る。第1のIPパケットは、SOAバスによって実現されるIPサブネット内で第2のデバイスに関連する一意のIPアドレスにアドレス指定され得る。
[0088] ブロック720では、第1のデバイスが、第1の広告されたサービスを通してSOAバスを介して第2のデバイスから少なくとも第2のIPパケットを受信する。例えば、第2のデバイスは、SOAバスを介して第1のIPサービスに関連する機能をリモートで呼び出し、機能の引数またはパラメータとして第1のIPサービスに第2のIPパケットを渡し得る。第2のIPパケットは、SOAバスによって実現されるIPサブネット内で第1のデバイスに関連する一意のIPアドレスにアドレス指定され得る。
[0089] 図8は、本開示の原理による、ピアツーピアネットワークによって実現されるSOAバスを介したIP接続性を可能にする方法800の別の例を示すフローチャートである。図8の方法800は、図1〜図6を参照して上述した、例えば、デバイス115のうちの1つまたは複数によって行われ得る。
[0090] ブロック805では、IPパケットが第1のデバイスの仮想ネットワークインターフェースでIPアプリケーションから受信され、このIPパケットは第2のデバイスにアドレス指定される。仮想ネットワークインターフェースは、SOAバスによって実現されるIPサブネットに関連するIPアドレスにアドレス指定されたIPパケットを受信し得る。いくつかの例では、SOAバス上のIPアドレスにアドレス指定されたIPパケットが、IPアプリケーションから仮想ネットワークインターフェースに直接転送され得る。追加または代替として、仮想ネットワークインターフェースは、SOAバス上のIPアドレスにアドレス指定されたIPパケットをインターセプトし得る。
[0091] ブロック810では、仮想ネットワークインターフェースで受信されたIPパケットが第1のデバイスで実行される第1のIPサービスに転送される。第1のIPサービスは、他のデバイスにSOAバス上で広告されるサービスであり得る。第1のIPサービスは、SOAバスを介して行われたリモート機能またはプロシージャ呼出しのオブジェクトとしてIPパケットを送信および受信するように構成され得る。
[0092] ブロック815では、第2のデバイスで実行される第2のIPサービスがIPパケットの宛先アドレスから識別される。例えば、第2のIPサービスは、SOAバス上で広告される、第2のIPサービスに関連するIPアドレスを含む名前を有し得る。従って、第2のIPサービスは、IPパケットの宛先IPアドレスを含むIPサービスを求めてSOAバスを介して広告されるサービスの名前のリストを探索することによって識別され得る。
[0093] ブロック820では、セッションが現在、SOAバスを介した第1のIPサービスと第2のIPサービスとの間に存在するかどうかに関して判断が行われる。この判断は、SOAバスを介した第1のデバイスのサービスまたはアプリケーションと外部デバイスのサービスまたはアプリケーションとの間のセッションの進行を追跡する1つまたは複数のテーブルまたは他のデータ構造を使用して行われ得る。
[0094] サービスが現在、SOAバスを介した第1のIPサービスと第2のIPサービスとの間に存在しない場合(ブロック820、いいえ)、新しいセッションがSOAバスを介した第1のIPサービスと第2のIPサービスとの間にブロック825で生成される。セッションがSOAバスを介した第1のIPサービスと第2のIPサービスとの間に存在するとき、第1のIPサービスがSOAバスを介して第2のIPサービスをブロック830でリモートで呼び出し、IPパケットを第2のIPサービスの機能またはプロシージャのパラメータまたは引数として第2のIPサービスに渡す。いくつかの例では、第1のIPサービスおよび第2のIPサービスが、IPパケットをルーティング可能なパケットでなくオブジェクトとして扱い得る。
[0095] 図9は、本開示の原理による、ピアツーピアネットワークによって実現されるSOAバスを介したIP接続性を可能にする方法900の別の例を示す。図9の方法900は、図1〜図6を参照して上述した、例えば、デバイス115のうちの1つまたは複数によって行われ得る。
[0096] ブロック905では、第1のデバイスでの第1のIPサービスがSOAバスを介して第2のデバイスでの第2のIPサービスによってリモートで呼び出されたという判断が行われる。例えば、第2のIPサービスがSOAバスを介して第1のIPサービスに関連する機能をリモートで呼び出したと第1のデバイスで判断され得る。
[0097] ブロック910では、第1のIPサービスに関連するIPアドレスにアドレス指定されたIPパケットが第1のIPサービスを呼び出すことに関連するパラメータとして受信される。例えば、第1のIPサービスは、IPパケットを第2のIPサービスによってリモートで呼び出される機能のシンタックス内のオブジェクトパラメータまたは引数として受信し得る。
[0098] ブロック915では、受信されたIPパケットが第1のIPサービスから第1のデバイスで実現される仮想ネットワークインターフェースに転送される。仮想ネットワークインターフェースは、IPパケットが従来のネットワーク接続を介した従来のパケットとして受信されたかのようにIPパケットを扱い得る。ブロック920では、仮想ネットワークインターフェースが、IPレイヤで受信したIPパケットの処理を開始する。いくつかの例では、TCPまたはUDPデータグラムがIPレイヤ処理中にIPパケットから抽出され得る。TCPまたはUDPデータグラムからのデータは、TCPまたはUDP処理の結果に基づいてアプリケーションレイヤに転送され得る。追加または代替として、TCPまたはUDPデータグラムからのデータは、TCPまたはUDPソケットのステータスを更新するために使用され得る。
[0099] 図10は、本開示の原理による、ピアツーピアネットワークによって実現されるSOAバスを介したIP接続性を可能にする方法1000の別の例を示すフローチャートである。図10の方法1000は、図1〜図6を参照して上述した、例えば、デバイス115のうちの1つまたは複数によって行われ得る。
[0100] ブロック1005では、第1のデバイスがSOAバスに接続する。SOAバスは、例えば、ALLJOYNサービスバス、ESB、Microsoft Windowsサービスバス、SSB、および/または任意の他の好適なSOAバスを含み得る。
[0101] ブロック1010では、IP通信のためのIPアドレスが第1のデバイスに割り当てられる。IPアドレスは、SOAバスによって実現されるサブネット内にIPアドレスをランダムに生成し、SOAバスにおけるIPアドレス競合について検査することによって、第1のデバイスに割り当てられ得る。
[0102] ブロック1015では、第1のデバイスに関連する第1のIPサービスの名前が生成される。名前は、SOAバスでのIPサービスに一様に関連するサービス記述子と割り当てられたIPアドレスとを含み得る。例えば、IPサービスに一様に関連するサービス記述子が「org.alljoyn.ipservice」であり、SOAを介したIP通信のための第1のデバイスに割り当てられるIPアドレスが192.168.0.4である場合、第1のIPサービスの名前が割り当てられたIPアドレスをサービス記述子に付加することによって生成され、第1のIPサービスについて「org.alljoyn.ipservice.s192_168_0_4」の名前をもたらし得る。
[0103] ブロック1020では、第1のデバイスが、SOAバスによって実現される連続名前空間を使用して第1のIPサービスの名前を広告する。例えば、第1のデバイス上で稼働するSOAバスデーモンは、SOAバスに接続された他のデバイス上で稼働する他のSOAバスデーモンに第1のIPサービスの名前をブロードキャストし得る。
[0104] ブロック1025では、SOAバスに接続された第2のデバイスに関連する第2のIPサービスが発見され得る。例えば、第1のデバイス上で稼働するSOAバスデーモンは、第2のIPサービスの名前を含む第2のデバイス上で稼働するSOAバスデーモンからのブロードキャストを受信し得る。第1のデバイス上で稼働するSOAバスデーモンは、第2のIPサービスがIP通信のためのものであると第2のIPサービスの名前から判断し、第1のIPサービスに第2のIPサービスの名前を転送し得る。
[0105] ブロック1030では、第2のIPサービスに関連するIPアドレスが第2のIPサービスの名前に基づいて判断される。例えば、第2のIPサービスの名前が「org.alljoyn.ipservice.s192_168_0_22」である場合、第2のIPサービスに関連するIPアドレスが192.168.0.22であると第1のIPサービスが判断し得る。
[0106] ブロック1035では、第2のIPサービスに関連するIPアドレスにアドレス指定されたIPパケットが第1のデバイスで生成される。IPパケットは、第1のデバイスでIPアプリケーションによって生成され得る。
[0107] ブロック1040では、IPパケットが、SOAバスを介して第2のIPサービスをリモートで呼び出し、第2のIPサービスを呼び出すパラメータとして第2のIPサービスにIPパケットを渡すことによって第2のデバイスに送信される。いくつかの例では、IPパケットが、第2のIPサービスに関連し第1のIPサービスによってリモートで呼び出されるプロシージャまたは他の機能のシンタックスに関連するオブジェクトであり得る。
[0108] 図11は、本開示の原理による、SOAバスを介したIP通信において使用するためのIPアドレスを生成する方法1100の一例を示すフローチャートである。図11の方法1100は、図1〜図6を参照して上述した、例えば、デバイス115のうちの1つまたは複数によって行われ得る。
[0109] ブロック1105では、SOAバスによって実現される現在のIPサブネット中で許容範囲のIPアドレスが判断される。いくつかの例では、SOAバスに接続された1つまたは複数のアプリケーションが許容範囲のIPアドレスを広告し得る。追加または代替として、許容範囲のIPアドレスは、SOAバスの特性に基づいて決定論的に識別され得る。
[0110] ブロック1110では、サブネットのための許容範囲のIPアドレス内のIPアドレスが第1のデバイスで生成される。いくつかの例では、IPアドレスが、ランダムジェネレータと、サブネットのための許容範囲内に生成されたIPアドレスを保つマスクを使用して生成され得る。
[0111] ブロック1115では、IPサービス名がSOAバスで使用する第1のデバイスのために生成される。IPサービス名は、SOAバス上のIPサービスに関連する知られているサービス記述子に生成されたIPアドレスを付加することによって生成される。生成されたIPサービス名は、SOAバスによって実現される連続名前空間のシンタックスに準拠し得る。
[0112] ブロック1120では、SOAバスがIPサービス名競合について問い合わされる。例えば、生成されたIPサービス名は、第1のデバイス上で稼働するSOAバスデーモンからSOAバスに接続された他のデバイス上で稼働するSOAバスデーモンに送信され得る。SOAバスに接続された別のデバイスが第1のデバイスのために生成されたIPサービス名をすでに使用している場合(ブロック1125、はい)、フローはブロック1110に戻り、新しいIPアドレスが第1のデバイスで生成される。そうでない場合(ブロック1125、いいえ)、第1のデバイスで生成されたIPサービス名とIPアドレスとがブロック1130で第1のデバイスに割り当てられる。
[0113] 図12は、本開示の原理による、SOAバス上でIPサービスを発見する方法1200の一例を示すフローチャートである。図12の方法1200は、図1〜図6を参照して上述した、例えば、デバイス115のうちの1つまたは複数によって行われ得る。
[0114] ブロック1205では、SOAバスに接続されたデバイス上で稼働するSOAバスデーモンが、SOAバスに接続された新しいIPサービスをデバイス上で稼働する第1のIPサービスに通知するための命令を受信する。いくつかの例では、第1のIPサービスからの明示的な命令がSOAバスデーモンで受信され得る。追加または代替として、命令は本来、SOAバスデーモンの基礎をなすコードの一部としてSOAバスデーモンに提供され得る。
[0115] ブロック1210では、第1のIPサービスが、SOAバス上の新しい第2のIPサービスの通知を受信する。第1のIPサービスは、第2のIPサービスの名前とSOAバス上での第2のIPサービスのロケーションまたはアドレスとを受信する。
[0116] ブロック1215では、第2のIPサービスのIPアドレスが第2のIPサービスに関連する名前に基づいて識別される。第2のIPサービスのIPアドレスは、SOAバス上の第2のIPサービスのロケーションまたはアドレスとは異なり得る。例えば、第2のIPサービスのIPアドレスは「192.168.0.12」であり得、SOAバス上の第2のIPサービスのロケーションは「:1.3」であり得る。
[0117] ブロック1220では、第2のIPサービスのIPアドレスが第1のIPサービスによって維持されるマッピングテーブルまたは他のデータ構造におけるSOAバス上の第2のIPサービスのロケーションに関連付けられる。
[0118] 図13は、モバイルデバイス間のネットワーキングを行うSOAバスを使用して定義されるアドホックピアツーピア(P2P)ネットワークのグラフィカル表現である。ただし、アドホックSOAバスネットワークを構成する複数のノードが全て、インターネットアクセス可能性を有するとは限らないことがある。例えば、ゲートウェイノード1300および1302は、インターネット1304に接続され得るが、非ゲートウェイノード1306〜1314は、インターネット1304に接続されないことがある。そのような状況では、インターネット接続を有しないネットワークノード(非ゲートウェイノード)からそのようなインターネット接続を有するネットワークノード(ゲートウェイノード)にインターネットトラフィックをルーティングする際に困難が発生し得る。ゲートウェイノードに隣接する非ゲートウェイノードの場合、隣接するゲートウェイノードのゲートウェイノードサービスが上述した方法で利用され得る。しかしながら、ゲートウェイノードに隣接しない非ゲートウェイノードを伴うマルチホップシナリオは、図13〜図20に関して以下で説明する追加のソリューションが必要になる。
[0119] 図14は、アドホックオンデマンドディスタンスベクタ(AODV)ルーティング規格中の既存のルーティング機構の変更によってインターネット通知ルーティングを実現するために、ゲートウェイノードと非ゲートウェイノードとによって実行される例示的なブロックを示す。典型的なAODVルーティングは、サブネット内ルーティングのためのルーティング機構を提供する。AODV型のルーティングをサブネットの外部に拡大するために、AODVインターネットルート要求メッセージパケットの宛先フィールドに不確定宛先が追加される。非ゲートウェイノードは、それのネイバーノードにインターネットルート要求メッセージを送出する。不確定宛先をもつインターネットルート要求メッセージがゲートウェイノードによって受信されると、ゲートウェイノードは、それ自体のアドレスとゲートウェイフラグとで応答する。ゲートウェイノードから、要求が発生した非ゲートウェイノードにゲートウェイノードの応答を転送する各ノードは、それのゲートウェイポインタをゲートウェイノードのアドレスに更新することになる。従って、非ゲートウェイノードでインターネットアクセスが所望されると、非ゲートウェイノードは、それのゲートウェイポインタに関連するゲートウェイノードを通るインターネットへのアクセス経路を取得するのに適切なルーティング情報を有することになる。
[0120] アドホックピアツーピアネットワークのノードが、所与のインターネットルーティングプロシージャにおけるそれらのそれぞれの役割に従って異なるプロシージャを実現するように適合され得ると想定されている。そのようなノードは、インターネットルーティングプロシージャにおけるそれの役割が、ソース非ゲートウェイノードとして動作することであるのか、中間非ゲートウェイノードとして動作することであるのか、またはゲートウェイノードとして動作することであるのかに応じて、ブロック1400で、複数の異なるモードのうちの1つで動作するように適合され得る。例えば、ノードがインターネットを介してインターネットパケットを送信することを望むが、インターネット接続がない場合には、ノードがソース非ゲートウェイノードモードで動作し得、その場合に処理がブロック1402で開始し得る。さらに、ノードがネイバーノードからインターネットルート要求を受信した場合、およびそれがインターネット接続を有しない場合には、ノードが中間非ゲートウェイノードモードで動作し得、その場合に処理がブロック1404で開始し得る。さらに、ノードがネイバーノードからインターネットルート要求を受信した場合、およびそれがインターネット接続を有する場合には、ノードがゲートウェイノードモードで動作し得、その場合に処理がブロック1406で開始し得る。
[0121] ブロック1402では、ソース非ゲートウェイノードがゲートウェイノードのための好適な宛先アドレスをすでに知っている場合に、ソースゲートウェイノードがその情報に基づいてIPパケットを送信し得る。しかしながら、ソース非ゲートウェイノードが、そのような情報を有しない場合、あるいはゲートウェイノードを使用しようとする試みが失敗したかまたは不十分である場合には、ソース非ゲートウェイノードがインターネットルート要求(I−RREQ)を送り得る。ソース非ゲートウェイノードは、フラッディング技法によるネットワークを介したI−RREQメッセージの送信をトリガする不特定アドレスとして、変更済みAODVプロトコルにおいて定義されていることがある宛先IN_ADDR_ANY(例えば、全てゼロ)にI−RREQを送り得る。言い方を変えれば、非ゲートウェイノードは、それがI−RREQを受信したネイバーノードまたはそれが同一のI−RREQを受信したネイバーノードを除いて、全てのネイバーノードに不特定宛先アドレスを有するルート要求メッセージを送信および転送するように適応され得る。宛先アドレスがIN−ADDR_ANY(全てゼロ)であることを除いて、I−RREQメッセージが、典型的なAODVルート要求メッセージ(RREQ)と同じであり得ると想定されている。言い方を変えれば、ネットワークノードおよび/またはゲートウェイノードは、IN_ADDR_ANY宛先アドレスに部分的にまたは完全に基づいてRREQとI−RREQを区別するようにさらに適合され得る。ソース非ゲートウェイノードでの処理は、ブロック1402から1418に進み得る。
[0122] ブロック1404では、中間非ゲートウェイノードがブロック1402でソース非ゲートウェイノードによって送られたI−RREQを受信し得る。中間非ゲートウェイノードがソース非ゲートウェイノードのネイバーである場合、中間非ゲートウェイノードがソース非ゲートウェイノードからI−RREQを直接受信し得る。代替または追加として、中間非ゲートウェイノードは、別の非ゲートウェイノードからI−RREQを受信し得る。中間非ゲートウェイノードが、複数の異なるネイバーノードからI−RREQの複数のコピーを受信し得ると想定されている。中間非ゲートウェイノードでの処理は、ブロック1404からブロック1408に進み得る。
[0123] ブロック1408では、中間非ゲートウェイノードが、前に説明したように、フラッディング技法に従ってI−RREQを更新し、それを他のネイバーノードに中継し得る。I−RREQの複数のコピーが複数の異なるネイバーノードから受信された場合、中間非ゲートウェイノードが、受信された最初のI−RREQ、最低ホップカウント、最短リレー経路、またはそれらの組合せなど、1つまたは複数の予め定義された基準(predefined criteria)に基づいてI−RREQを選択的に更新し、それを他のネイバーノードに中継し得ると想定されている。代替または追加として、中間ノードが、上述されたように、フラッディング技法による転送を除いて、既存のAODV規格中のRREQに対して定義されているのと同様の方法でI−RREQを編集し、更新し、転送し得ると想定されている。中間非ゲートウェイノードでの処理は、ブロック1408からブロック1412に進み得る。
[0124] ブロック1406では、ゲートウェイノードが、1つまたは複数のネイバーノードからI−RREQを受信し得る。ゲートウェイノードが、不特定宛先アドレスによって典型的なAODV RREQとI−RREQを区別し得ると想定されている。ゲートウェイノードでの処理は、ブロック1406からブロック1410に進み得る。
[0125] ブロック1410では、ゲートウェイノードが、ネイバーノードからI−RREQを受信してこれにインターネットルート応答メッセージ(I−RREP)を送ることによって、受信されたI−RREQに応答し得る。I−RREQの複数のコピーが複数の異なるネイバーノードから受信される場合、ゲートウェイノードが、I−RREQの全てに応答し得ると想定されている。代替的に、ゲートウェイノードが、受信された最初のI−RREQ、最低ホップカウント、最短リレー経路、またはそれらの組合せなど、1つまたは複数の予め定義された基準に基づいて、I−RREQの全てよりも少ないコピーに優先的に応答し得ると想定されている。I−RREPは、ゲートウェイノードの宛先アドレスと、ゲートウェイ設定フラグなどのゲートウェイインジケータとを有し得る。ゲートウェイインジケータは、ネットワークのノードが、典型的なAODVルート応答メッセージ(RREP)とI−RREPを区別することを可能にするフラグ、フィールド、ハッシュ、暗号、マスク、または任意の他のタイプの区別特徴として、変更済みAODVプロトコルにおいて定義されていることがある。言い方を変えれば、I−RREPは、I−RREPがゲートウェイインジケータを有することを除いて、典型的なAODV RREPと同じであり得ると想定されている。ゲートウェイノードでの処理は、ブロック1410からブロック1426に進み得る。
[0126] ブロック1412では、中間非ゲートウェイノードが、上述されたように、ゲートウェイノードの宛先アドレスとゲートウェイインジケータとを有するI−RREPを受信し得る。I−RREPはまた、ホップカウント、リレー経路、およびAODVプロトコルのRREPに特有の他の情報を有し得る。中間非ゲートウェイノードは、ゲートウェイインジケータに基づいて典型的なAODV RREPとI−RREPを区別し得、それに基づいて、ブロック1412からブロック1414に進み得る。しかしながら、中間非ゲートウェイノードが、同じI−RREQに応答して、複数の異なるゲートウェイノードから発生する複数のI−RREPを受信し得ると想定されている。この場合、中間非ゲートウェイノードが、受信された最初のI−RREQ、最低ホップカウント、最短リレー経路、またはそれらの組合せなど、1つまたは複数の予め定義された基準に基づいて、そのようなI−RREPに応答すべきか否か決定し得る。代替的に、ソース非ゲートウェイノードは、受信された全てのI−RREPを処理し得る。
[0127] ブロック1414では、中間非ゲートウェイノードが、I−RREP中に含まれているゲートウェイノードの宛先アドレスにそれのゲートウェイポインタを更新し得る。中間非ゲートウェイネットワークノードが、1つまたは複数のゲートウェイポインタを有し得、新しいゲートウェイポインタをインスタンス化し、既存のゲートウェイポインタを更新または終了し、および/あるいは1つまたは複数の予め定義された基準に基づいてゲートウェイポインタに優先順位を付け得ると想定されている。例示的な基準には、受信された直近のI−RREP、最低ホップカウント、最短リレー経路、リレー経路中の低モビリティノードの有無、ゲートウェイノードを介したインターネット接続のサービス品質、またはそれらの組合せがあり得る。中間非ゲートウェイノードでの処理は、ブロック1414からブロック1416に進み得る。
[0128] ブロック1416では、中間非ゲートウェイノードが、I−RREPのリレー経路中に指定されているネイバーノードにI−RREPを中継し得る。そうする前に、中間非ゲートウェイノードは、ホップカウントを更新するなど、典型的なAODV RREPが処理されるのと同じ方法で、および当業者には容易に明らかであろう他のプロシージャでI−RREPを編集し、更新し得る。中間非ゲートウェイノードでの処理は、ブロック1416からブロック1424に進み得る。
[0129] ブロック1418では、ソース非ゲートウェイノードが、ネイバーノードからインターネットルート応答(I−RREP)を受信し得る。ソース非ゲートウェイノードは、ゲートウェイインジケータに基づいて典型的なAODV RREPとI−RREPを区別し得、それに基づいて、ブロック1418からブロック1420に進み得る。しかしながら、ソース非ゲートウェイノードが、同じI−RREQに応答して、複数の異なるゲートウェイノードから発生する複数のI−RREPを受信し得ると想定されている。この場合、中間非ゲートウェイノードは、受信された最初のI−RREQ、最低ホップカウント、最短リレー経路、またはそれらの組合せなど、1つまたは複数の予め定義された基準に基づいて、そのようなI−RREPに応答すべきか否か決定し得る。代替的に、ソース非ゲートウェイノードは、受信された全てのI−RREPを処理し得る。
[0130] ブロック1420では、ソース非ゲートウェイノードが、I−RREP中に含まれているゲートウェイノードの宛先アドレスにそれのゲートウェイポインタを更新し得る。ソース非ゲートウェイネットワークノードが、1つまたは複数のゲートウェイポインタを有し得、新しいゲートウェイポインタをインスタンス化し、既存のゲートウェイポインタを更新または終了し、および/あるいは1つまたは複数の予め定義された基準に基づいてゲートウェイポインタに優先順位を付け得ると想定されている。例示的な基準には、受信された直近のI−RREP、最低ホップカウント、最短リレー経路、リレー経路中の低モビリティノードの有無、ゲートウェイノードを介したインターネット接続のサービス品質、またはそれらの組合せがあり得る。ソース非ゲートウェイノードでの処理は、ブロック1420からブロック1422に進み得る。
[0131] ブロック1422では、ソース非ゲートウェイノードがそれのゲートウェイポインタに関連するアドレスへのおよひ゛からのIPパケットを送信し受信するためにルーティング動作を行い得る。いくつかの実現形態では、ソース非ゲートウェイノードが、それのゲートウェイポインタの宛先アドレスで送信されたIPパケットの実際のインターネット宛先をマスキングするためにトンネリングを使用し得る。IPパケットがトンネリングされるとき、送信は、特定のゲートウェイノードにアドレス指定される。他の実現形態では、ソース非ゲートウェイノードが、ゲートウェイポインタに関連する宛先アドレスにIPパケットを送り、トンネリングなしにそうし得る。IPパケットが、トンネリングなしに送られるとき、ソース非ゲートウェイノードは、それのゲートウェイポインタの宛先アドレスに関連する経路でそれのネイバーにIPパケットを送るが、IPパケットがインターネット宛先を有することを可能にし得る。
[0132] ブロック1424では、中間非ゲートウェイノードが、ソース非ゲートウェイノードとゲートウェイノードとの間でIPパケットを中継するためにルーティング動作を行い得る。いくつかの実現形態では、中間非ゲートウェイノードが、特定のゲートウェイノードの宛先アドレスを有するトンネリングされたIPパケットを受信し得る。この場合、中間非ゲートウェイノードが、特定のゲートウェイノードの宛先アドレスにIPパケットを単に転送し得る。他の実現形態では、中間非ゲートウェイノードがトンネリングされない、従って、あるインターネット宛先を有するIPパケットを受信し得る。あるインターネット宛先を有するIPパケットが受信されると、中間非ゲートウェイノードは、最初にアドレス指定されたゲートウェイノードよりも望ましいゲートウェイについてそれ自体のゲートウェイポインタを検査し得る。従って、中間非ゲートウェイノードは、それ自体のゲートウェイポインタに関連するアドレスにIPパケットを転送するためにルーティング動作を行い得る。従って、中間非ゲートウェイノードは、異なるゲートウェイノードに、あるインターネット宛先を有する受信されたIPパケットを潜在的にルート変更し得る。インターネット宛てパケットをトンネリングすることは、送信パケットがサブネット内のノードに明確にアドレス指定されているように見えるので、既存のAODVルーティング機構のさらなる使用を考慮する。しかしながら、パケットが、送信ルート沿いの任意の中間ノードからマスキングされる間、トンネリングされたパケットは、移動中に潜在的なゲートウェイ再ルーティングからの恩恵を享受できない。
[0133] ブロック1426では、ゲートウェイノードが、ソース非ゲートウェイノードからIPパケットを受信するためにルーティング動作を行い得る。ブロック1426は、ソース非ゲートウェイノードから直接トンネリングされたか、またはトンネリングされなかったIPパケットを受信すること、および/あるいは中間非ゲートウェイノードからトンネリングされたか、またはトンネリングされなかったパケットを受信することを含み得る。IPパケットがトンネリングされる場合、ゲートウェイノードは、IPパケットの宛先アドレスをアンマスキングすることによって、IPパケットをアントンネリングし、それによって、受信されたIPパケットのインターネット宛先を取得し得る。ゲートウェイノードでの処理は、ブロック1426からブロック1428に進み得る。
[0134] ブロック1428では、ゲートウェイノードが、インターネットを介してIPパケットを送信および受信し得る。ゲートウェイノードは、ソース非ゲートウェイノードに宛てられたIPパケットを受信するためのIPアドレスを取得または割り当て得、インターネット宛先と取得または割り当てられたIPアドレスとを使用して、インターネットを介してIPパケットを送信し、インターネットを介してソース非ゲートウェイノードに宛てられたIPパケットを受信し得る。ゲートウェイノードが、インターネットを介して、ソース非ゲートウェイノードに宛てられたIPパケットを受信するために取得または割り当てられたIPアドレスに対応する宛先アドレスを有するIPパケットを受信するとき、ゲートウェイノードは、ソース非ゲートウェイノードに宛てられたIPパケットを受信するために取得または割り当てられたIPアドレスに対応する宛先アドレスに基づいて、他の受信されたIPパケットとこれらIPパケットを区別し得る。ゲートウェイノードでの処理は、ブロック1428からブロック1430に進み得る。
[0135] ブロック1430では、ゲートウェイノードが、インターネットを介して受信されソース非ゲートウェイノードに宛てられたIPパケットをソース非ゲートウェイノードに送るためにルーティング動作を行い得る。ゲートウェイノードが、ソース非ゲートウェイノードの宛先アドレスで受信されたIPパケットの宛先アドレスをマスキングすることによってソース非ゲートウェイノードにIPパケットに送るためにトンネリングを使用し得ると想定されている。上述されたように、インターネットを介して受信されたIPパケットをトンネリングすることは、送信パケットがサブネット内のノードに明確にアドレス指定されているように見えるので、既存のAODVルーティング機構のさらなる使用を考慮する。従って、ソース非ゲートウェイノードは、ブロック1422で、ゲートウェイノードから直接または間接的のいずれかでIPパケットを受信し得る。ソース非ゲートウェイノードが、インターネットまたはゲートウェイノードに宛てられたI−RREQ、I−RREP、およびIPパケットのリレーに中間非ゲートウェイノードとして参加していなかったネイバーノードからIPパケットを受信し得ると想定されている。また、中間非ゲートウェイノードが、ブロック1424で、IPパケットを受信し、ソース非ゲートウェイノードにIPパケットを中継し得ると想定されている。
[0136] 図15は、変更済みAODV実現形態による、アドホックピアツーピアネットワークノードの動作の一例を示す。この例では、3つの非ゲートウェイノード1500、1502、および1504が互いにメッセージを交換する。これらの非ゲートウェイノードはまた、ゲートウェイノード1506および1508とメッセージを交換する。これらのメッセージ交換は、本開示の本態様に従ってインターネット宛てIPパケットのインターネット通知ルーティングを行うために行われる。例えば、インターネットにIPパケットを送信することを望むが、好適なゲートウェイノード宛先アドレスをまだ知らない非ゲートウェイノード1500は、上述されたようにI−RREQを生成し、1510で、それのネイバーノードにI−RREQを送信し得る。非ゲートウェイノード1502は、非ゲートウェイノード1500からI−RREQを受信し得、1512で全ての他のネイバーにI−RREQを転送し得る。次に、非ゲートウェイノード1504は、非ゲートウェイノード1502からI−RREQを受信し得、1514で全ての他のネイバーにI−RREQを転送し得る。最後に、ゲートウェイノード1506は、非ゲートウェイノード1514からI−RREQを受信し得、1516でリレー経路中でネイバーノードにI−RREPを送信することによって応答し得る。
[0137] リレー経路中のノードはI−RREPを、それらのゲートウェイポインタを更新しながら、ゲートウェイ1506の宛先アドレスに中継し得る。例えば、ゲートウェイノード1506からI−RREPを受信すると、非ゲートウェイノード1504は、ゲートウェイノード1506の宛先アドレスにそれのゲートウェイポインタを更新し、1518で、リレー経路中で次のネイバーノードにI−RREPを転送し得る。さらに、非ゲートウェイノード1502は、非ゲートウェイノード1504からI−RREPを受信すると、ゲートウェイノードの宛先アドレスにそれのゲートウェイポインタを更新し、1520で、リレー経路中で次のネイバーノードにI−RREPを転送し得る。また、非ゲートウェイノード1500は、非ゲートウェイノード1502からI−RREPを受信すると、ゲートウェイノードの宛先アドレスにそれのゲートウェイポインタを更新し得る。従って、リレー経路中の非ゲートウェイノード1500、1502、および1504の全ては、ゲートウェイノード1506の宛先アドレスに更新されたポインタを有し得る。
[0138] 非ゲートウェイノード1500、1502、および1504が、ゲートウェイノードの宛先アドレスをそれらのそれぞれのゲートウェイポインタに関連付けると、それらの非ゲートウェイノードのいずれかは、それらのそれぞれのゲートウェイポインタを利用して、受信されたIPパケットをゲートウェイノード1506にルーティングしようと試み得る。例えば、1522で、非ゲートウェイノード1500は、トンネリングを用いてまたは用いずに、それのゲートウェイポインタを使用して、ゲートウェイノード1506へのおよびからのIPパケットを送信し受信し得る。トンネリングが採用されない場合、非ゲートウェイノード1502および1504は、それらのそれぞれのゲートウェイポインタを利用して、ゲートウェイノード1506にIPパケットを転送し得る。その後、非ゲートウェイノード1502はまた、ゲートウェイノード1506にIPパケットを送ることを望み得、1524でそれのゲートウェイポインタを使用して、そうしようと試み得る。この試みは、ゲートウェイノード1506が、オフラインになった、エリアを出た、それのインターネット接続を失った、または十分なサービス品質を提供することに失敗したなど、様々な理由のうちのいずれか1つのために失敗し得る。
[0139] 非ゲートウェイノード1502は、1526および1528で全てのネイバーにI−RREQを送ることによって、1526での試みの失敗に応答し得る。非ゲートウェイノード1504は、非ゲートウェイノード1504からI−RREQを受信し、1530で、新しいネイバーゲートウェイノード1508にI−RREQを中継し得る。新しいネイバーゲートウェイノード1508は、I−RREQを受信し、1532で、非ゲートウェイノード1504にI−RREPを送信することによって応答し得る。非ゲートウェイノード1504は、ゲートウェイノード1508の宛先アドレスにそれのゲートウェイポインタを更新し得、1534で、非ゲートウェイノード1502にI−RREPを転送し得る。非ゲートウェイノード1502は、次いで、ゲートウェイノード1508の宛先アドレスにそれ自体のゲートウェイポインタを更新し、1536で、トンネリングを用いるか、または用いないかのいずれかで、ゲートウェイノード1508にインターネット宛てIPパケットを送るために、更新されたゲートウェイポインタを使用し得る。
[0140] ここまで説明した例では、非ゲートウェイノード1502がリレー経路の終わりにあるので、非ゲートウェイノード1502が非ゲートウェイノード1500にI−RREPを転送しないことに留意されたい。また、非ゲートウェイノード1500は、他のネイバーノードを有しないので、それが非ゲートウェイノード1502から受信したI−RREQを単に破棄する。従って、非ゲートウェイノード1500は、それが1520でゲートウェイノード1506から受信したI−RREP以外にいかなるI−RREPも決して受信しなかった。従って、非ゲートウェイノード1500のゲートウェイポインタは、ゲートウェイノード1506を依然としてポイントし得る。従って、非ゲートウェイノード1500が、1538で、ゲートウェイノード1506にインターネット宛てIPパケットを送るためにそれのゲートウェイポインタを使用しようと試みるとき、トンネリングの使用は、別の失敗を生じることになる。しかしながら、トンネリングが使用されない場合、非ゲートウェイノード1502は、1540で、トンネリングを用いてまたは用いずに、ゲートウェイノード1508にIPパケットをルート変更するためにそれの更新されたポインタを使用し得る。1542で、ゲートウェイノード1508からIPパケットを受信すると、非ゲートウェイノード1500は、ゲートウェイノード1508の宛先アドレスにそれのゲートウェイポインタを更新し、1542で、ゲートウェイノード1508へのおよびからのIPパケットを送信し受信し続け得る。
[0141] 図16は、変更なしのAODVルーティングと潜在的なゲートウェイノードのリストとを使用することによってインターネット通知ルーティングを実現するためにゲートウェイノードと非ゲートウェイノードとによって実行される例示的なブロックを示す。これらのリストは、非ゲートウェイノードに維持され、ゲートウェイノード能力のSOAバス告知に応答して更新される。ゲートウェイノードは、SOAバスに参加すると、ゲートウェイノードとしてのそれの能力の告知をブロードキャストする。SOAバス上の各非ゲートウェイノードは、告知に基づいて潜在的なゲートウェイのリストを作成する。非ゲートウェイノードが、インターネット接続を確立したいと望むとき、潜在的なゲートウェイの維持されたリストからゲートウェイノードのうちの1つが選択される。非ゲートウェイノードは、リスト中に明確なアドレス情報を有するので、特定のゲートウェイノードにルーティングするために、典型的なAODVルーティング機構に従い得る。
[0142] アドホックピアツーピアネットワークのノードが、所与のインターネットルーティングプロシージャにおけるそれらのそれぞれの役割に従って異なるプロシージャを実現するように適合され得ると想定されている。そのようなノードは、インターネットルーティングプロシージャにおけるそれの役割が、ソース非ゲートウェイノードとして動作することであるのか、中間非ゲートウェイノードとして動作することであるのか、またはゲートウェイノードとして動作することであるのかに応じて、ブロック1600で、複数の異なるモードのうちの1つで動作するように適合され得る。例えば、ノードが、インターネットを介してインターネットパケットを送信することを望むが、インターネット接続がない場合、ノードは、ソース非ゲートウェイノードモードで動作し得、その場合、処理は、ブロック1602で開始し得る。さらに、ノードが、ネイバーノードからインターネットルート要求を受信した場合、およびそれがインターネット接続を有しない場合、ノードは、中間非ゲートウェイノードモードで動作し得、その場合、処理は、ブロック1604で開始し得る。さらに、ノードが、ネイバーノードからインターネットルート要求を受信した場合、およびそれがインターネット接続を有する場合、ノードは、ゲートウェイノードモードで動作し得、その場合、処理は、ブロック1606で開始し得る。
[0143] ブロック1606では、ゲートウェイノードがSOAバス上のサービスとしてインターネット接続性を告知し得る。この告知は、前に説明した方法で達成され得る。ゲートウェイノードでの処理は、ブロック1606からブロック1608に進み得る。
[0144] ブロック1604では、中間非ゲートウェイノードがインターネット接続性に関するSOAバスメッセージを受信し得る。SOAバスメッセージの受信は、前に説明した方法で達成され得る。中間非ゲートウェイノードでの処理は、ブロック1604からブロック1610に進み得る。
[0145] ブロック1602では、ソース非ゲートウェイノードがインターネット接続性に関するSOAバスメッセージを受信し得る。SOAバスメッセージの受信は、前に説明した方法で達成され得る。ソース非ゲートウェイノードでの処理は、ブロック1602からブロック1612に進み得る。
[0146] ブロック1610では、中間非ゲートウェイノードが潜在的なゲートウェイノードのそれのリストをSOAバスメッセージに基づいて更新し得る。中間非ゲートウェイノードは、新しいゲートウェイポインタをインスタンス化し、既存のゲートウェイポインタを更新または終了し、および/あるいは1つまたは複数の予め定義された基準に基づいてゲートウェイポインタに優先順位を付け得ると想定されている。例示的な基準には、最低ホップカウント、リレー経路中の低モビリティノードの有無、ゲートウェイノードを介したインターネット接続のサービス品質、またはそれらの組合せがあり得る。中間非ゲートウェイノードでの処理は、ブロック1610からブロック1614に進み得る。
[0147] ブロック1612では、ソース非ゲートウェイノードが、潜在的なゲートウェイノードのそれのリストをSOAバスメッセージに基づいて更新し得る。ソース非ゲートウェイノードは、新しいゲートウェイポインタをインスタンス化し、既存のゲートウェイポインタを更新または終了し、および/あるいは1つまたは複数の予め定義された基準に基づいてゲートウェイポインタに優先順位を付け得ると想定されている。例示的な基準には、最低ホップカウント、リレー経路中の低モビリティノードの有無、ゲートウェイノードを介したインターネット接続のサービス品質、またはそれらの組合せがあり得る。ソース非ゲートウェイノードでの処理は、ブロック1612からブロック1616に進み得る。
[0148] ブロック1616では、ソース非ゲートウェイノードが、潜在的なゲートウェイノードのそれのリストから選択された宛先アドレスへのおよびからのIPパケットを送信し受信するためにルーティング動作を行い得る。ルーティングは、トンネリングを用いてまたは用いずに、前に説明した方法で達成され得る。
[0149] ブロック1614では、中間非ゲートウェイノードが、ソース非ゲートウェイノードとゲートウェイノードとの間でIPパケットを中継するためにルーティング動作を行い得る。ルーティングは、トンネリングを用いてまたは用いずに、前に説明した方法で達成され得る。トンネリングされないIPパケットをルーティングするとき、中間非ゲートウェイノードは、潜在的なゲートウェイノードのそれ自体のリストから宛先アドレスを選択し、このようにして、IPパケットの潜在的な再ルーティングを生じ得る。
[0150] ブロック1608では、ゲートウェイノードがソース非ゲートウェイノードからインターネット宛てIPパケットを受信するためにルーティング動作を行い得る。ルーティングは、トンネリングを用いてまたは用いずに、前に説明した方法で達成され得る。ゲートウェイノードでの処理は、ブロック1608からブロック1618に進み得る。
[0151] ブロック1618では、ゲートウェイノードがインターネットを介してIPパケットを送信および受信し得る。インターネットのIPパケットの送信および受信は、前に説明した方法で達成され得る。ゲートウェイノードでの処理は、ブロック1618からブロック1620に進み得る。
[0152] ブロック1620では、ゲートウェイノードがインターネットから受信したIPパケットをソース非ゲートウェイノードにルーティングするためにルーティング動作を行い得る。ルーティングは、トンネリングを用いてまたは用いずに、前に説明した方法で達成され得る。
[0153] 図17は、変更なしのAODV実現形態による、アドホックピアツーピアネットワークノードの動作の一例を示す。この例では、3つの非ゲートウェイノード1700、1702、および1704が互いにメッセージを交換する。これらの非ゲートウェイノードはまた、ゲートウェイノード1706および1708とメッセージを交換する。これらのメッセージ交換は、本開示の本態様に従ってインターネット宛てIPパケットのインターネット通知ルーティングを行うために行われる。例えば、ゲートウェイノード1706は、SOAバスを介して、それぞれ、非ゲートウェイノード1700、1702、および1704にそれのゲートウェイ能力のSOA告知1710、1712、および1714をブロードキャストし得る。非ゲートウェイノード1700、1702、および1704の各々は、SOAバス告知1710、1712、および1714に応答して、潜在的なゲートウェイノードのそれらのそれぞれのリストを更新し得る。その後、これらの非ゲートウェイノード1700、1702、および1704のいずれかは、それらのそれぞれのリストからゲートウェイノード1706の宛先アドレスを選択し、トンネリングを用いてまたは用いずに、ゲートウェイノード1706にIPパケット1716をルーティングし得る。
[0154] 非ゲートウェイノード1700、1702、および1704は、ゲートウェイノード1706によって提供されるインターネット接続のサービス品質などの様々な基準に基づいて、それらのリストを更新し得る。非ゲートウェイノード1700が、非ゲートウェイノード1702などの別の非ゲートウェイノードによって観測され得るそのような接続のサービス品質に関する情報に関与し得ないことを理解されたい。さらに、さらなるSOAバス告知1718、1720、および1722は、ゲートウェイノード1708などの新しいゲートウェイノードを任命し、ゲートウェイノード1706などの既存のゲートウェイノードを廃止し得る。いくつかの非ゲートウェイノードが、他のノードよりも迅速にSOAバス告知を受信し得ることを理解されたい。従って、非ゲートウェイノード1700および1702は、異なるリストを有し得、非ゲートウェイノード1702は、非ゲートウェイノード1700のリストよりも情報が確かであるとそれのリストを見なす理由を有し得る。従って、非ゲートウェイノードが、1724で、ゲートウェイノード1706にインターネット宛てIPパケットを送ろうと試みるとき、非ゲートウェイノード1702は、1726で、ゲートウェイノード1708にIPパケットをルート変更するためにそれのより信頼できるリストを使用し得る。非ゲートウェイノード1700が、予想されるように、ゲートウェイノード1706からでなく、ゲートウェイノード1708からIPパケットを受信するとき、非ゲートウェイノード1700は、ゲートウェイノード1708の宛先アドレスを追加するためにそれのリストを更新し、ゲートウェイノード1706の宛先アドレスを除去、終了、または降格し得る。非ゲートウェイノード1702は、時々、ダウンストリーム非ゲートウェイノード1704によって了承され得ないサービス品質情報に基づいて、受信されたIPパケットをルート変更し得るので、非ゲートウェイノード1702は、ゲートウェイノード1708にルート変更されたIPパケットを導くためにトンネリングを使用し得ることを快く諒解されたい。同じ理由から、非ゲートウェイノード1700は、さらに、ゲートウェイノード1708にパケットを送るためにトンネリングモードに切り替え得る。
[0155] 図18は、AODVルーティング規格中の既存のルーティング機構の変更によってインターネット通知ルーティングを実現するために、非ゲートウェイノードによって実行される例示的なブロックを示す。ブロック1800では、非ゲートウェイノードがネットワーク中の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信し得る。例えば、プロセッサ305(図3)は、図14および図15に関して上述したプロセスに従って、インターネットルート要求を生成し、インターネットルート要求をネイバーノードに送るように、I/Oデバイス320と、Bluetoothインターフェース325と、WLANインターフェース330と、仮想ネットワークインターフェース335とを動作させるために、メインメモリ310および/またはローカルストレージ315に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック1800からブロック1802に進み得る。そのような行為および構成要素の組合せは、非ゲートウェイノードによって、ネットワーク中の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するための手段を備え得る。
[0156] ブロック1802では、非ゲートウェイノードがネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信し得、ここにおいて、応答メッセージは少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む。例えば、プロセッサ305(図3)は、図14および図15に関して上述したプロセスに従って、インターネットルート応答を受信するように、I/Oデバイス320と、Bluetoothインターフェース325と、WLANインターフェース330と、仮想ネットワークインターフェース335とを動作させるために、メインメモリ310および/またはローカルストレージ315に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック1802からブロック1804に進み得る。そのような行為および構成要素の組合せは、非ゲートウェイノードで、ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信するための手段を含み、ここにおいて、応答メッセージが、少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む。
[0157] ブロック1804では、非ゲートウェイノードが少なくとも1つのゲートウェイノードのアドレスに等しいゲートウェイポインタを非ゲートウェイノードで設定し得る。例えば、プロセッサ305(図3)は、図14および図15に関して上述したプロセスに従って、インターネットルート返信の宛先アドレスを読み取り、メインメモリ310および/またはローカルストレージ315中の1つまたは複数のメモリロケーションにアクセスし、ゲートウェイポインタに関連してメモリ中に宛先アドレスを記録するために、メインメモリ310および/またはローカルストレージ315に記憶された命令をアクセスし得る。そのような行為および構成要素の組合せは、非ゲートウェイノードで、少なくとも1つのゲートウェイノードのアドレスに等しいゲートウェイポインタを設定するための手段を備え得る。
[0158] 図19は、アドホックオンデマンドディスタンスベクタ(AODV)ルーティング規格中の既存のルーティング機構の変更によってインターネット通知ルーティングを実現するために、ゲートウェイノードによって実行される例示的なブロックを示す。ブロック1900では、ゲートウェイノードがネットワーク中の1つまたは複数のネイバーノードからインターネットルート要求を受信し得る。例えば、プロセッサ305(図3)は、図14および図15に関して上述したプロセスに従って、インターネットルート要求を受信するように、I/Oデバイス320と、Bluetoothインターフェース325と、WLANインターフェース330と、仮想ネットワークインターフェース335とを動作させるために、メインメモリ310および/またはローカルストレージ315に記憶された命令をアクセスし得る。ゲートウェイノードでの処理は、ブロック1900からブロック1902に進み得る。そのような行為および構成要素の組合せは、ゲートウェイノードで、ネットワーク中の1つまたは複数のネイバーノードからインターネットルート要求を受信するための手段を備え得る。
[0159] ブロック1902では、ゲートウェイノードが1つまたは複数のネイバーノードに応答メッセージを送信し得、ここにおいて、応答メッセージはゲートウェイノードのアドレスとゲートウェイインジケータとを含む。例えば、プロセッサ305(図3)は、図14および図15に関して上述したプロセスに従って、応答メッセージを生成し、応答メッセージをネイバーノードに送るように、I/Oデバイス320と、Bluetoothインターフェース325と、WLANインターフェース330と、仮想ネットワークインターフェース335とを動作させるために、メインメモリ310および/またはローカルストレージ315に記憶された命令をアクセスし得る。そのような行為および構成要素の組合せは、ゲートウェイノードから、1つまたは複数のネイバーノードに応答メッセージを送信するための手段を備え得、ここにおいて、応答メッセージは、ゲートウェイノードのアドレスとゲートウェイインジケータとを含む。
[0160] 図20は、変更なしのAODVルーティングと潜在的なゲートウェイノードのリストとを使用することによってインターネット通知ルーティングを実現するために非ゲートウェイノードによって実行される例示的なブロックを示す。ブロック2000では、非ゲートウェイノードがネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信し得、ここにおいて、告知は1つまたは複数のネイバーノードのアドレスを含む。例えば、プロセッサ305(図3)は、図16および図17に関して上述したプロセスに従って、SOAバスを介して告知を受信するように、I/Oデバイス320と、Bluetoothインターフェース325と、WLANインターフェース330と、仮想ネットワークインターフェース335と、IPレイヤ処理340と、UDP/TCPレイヤ処理345と、IPアプリケーション350と、IPサービス355と、SOAバスデーモン360とを動作させるために、メインメモリ310および/またはローカルストレージ315に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック2000からブロック2002に進み得る。そのような行為および構成要素の組合せは、非ゲートウェイノードで、ネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するための手段を備え得、ここにおいて、告知は、1つまたは複数のネイバーノードのアドレスを含む。
[0161] ブロック2002では、非ゲートウェイノードが、1つまたは複数のゲートウェイノードのアドレスを潜在的なゲートウェイのリストに記憶し得る。例えば、プロセッサ305(図3)は、図16および図17に関して上述したプロセスに従って、インターネットルート返信の宛先アドレスを読み取り、メインメモリ310および/またはローカルストレージ315中の1つまたは複数のメモリロケーションにアクセスし、潜在的なゲートウェイのリストに関連してメモリ中にアドレスを記録するために、メインメモリ310および/またはローカルストレージ315に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック2002からブロック2004に進み得る。そのような行為および構成要素の組合せは、非ゲートウェイノードで、潜在的なゲートウェイのリストに1つまたは複数のゲートウェイノードのアドレスを記憶するための手段を備え得る。
[0162] ブロック2004では、非ゲートウェイノードが、あるインターネット宛先に送信するためのパケットを受信し得る。例えば、プロセッサ305(図3)は、ネイバーノードからか、またはローカルで実行されるアプリケーションからかのいずれかからIPパケットを受信するように、I/Oデバイス320と、Bluetoothインターフェース325と、WLANインターフェース330と、仮想ネットワークインターフェース335と、IPレイヤ処理340と、UDP/TCPレイヤ処理345と、IPアプリケーション350と、IPサービス355と、SOAバスデーモン360とを動作させるために、メインメモリ310および/またはローカルストレージ315に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック2004からブロック2006に進み得る。そのような行為および構成要素の組合せは、あるインターネット宛先に送信するためのパケットを受信するための手段を備え得る。
[0163] ブロック2006では、非ゲートウェイノードが潜在的なゲートウェイのリストからゲートウェイアドレスを選択し得る。例えば、プロセッサ305(図3)は、図16および図17に関して上述したプロセスに従って、メインメモリ310および/またはローカルストレージ315中の1つまたは複数のメモリロケーションにアクセスし、潜在的なゲートウェイのリストに関連してメモリ中のアドレスを読み取るために、メインメモリ310および/またはローカルストレージ315に記憶された命令をアクセスし得る。非ゲートウェイノードでの処理は、ブロック2006からブロック2008に進み得る。そのような行為および構成要素の組合せは、潜在的なゲートウェイのリストからゲートウェイアドレスを選択するための手段を備え得る。
[0164] ブロック2008では、非ゲートウェイノードがゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信し得る。例えば、プロセッサ305(図3)は、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットを送信するように、I/Oデバイス320と、Bluetoothインターフェース325と、WLANインターフェース330と、仮想ネットワークインターフェース335と、IPレイヤ処理340と、UDP/TCPレイヤ処理345と、IPアプリケーション350と、IPサービス355と、SOAバスデーモン360とを動作させるために、メインメモリ310および/またはローカルストレージ315に記憶された命令をアクセスし得る。そのような行為および構成要素の組合せは、ゲートウェイアドレスに関連する宛先ゲートウェイにパケットをツー送信するための手段を備え得る
[0165] 添付の図面に関して上記に記載した詳細な説明は、例示的な実施形態について説明しており、実現され得るまたは特許請求の範囲内に入る実施形態のみを表すものでない。この説明全体にわたって使用する「例示的」という用語は、「例、事例、または例示の働きをすること」を意味し、「好ましい」または「他の実施形態よりも有利な」を意味しない。詳細な説明は、説明される技法の理解を提供するために、具体的な詳細を含む。しかしながら、これらの技法は、これらの具体的な詳細なしに実施され得る。場合によっては、説明した実施形態の概念を不明瞭にしないように、よく知られている構造およびデバイスがブロック図の形態で示される。
[0166] 本明細書で説明する技法は、CDMA、TDMA、FDMA、OFDMA、SC−FDMA、および他のシステムなど、様々なワイヤレス通信システムに使用され得る。「システム」および「ネットワーク」という用語は、しばしば互換的に使用される。CDMAシステムは、CDMA2000、ユニバーサル地上波無線アクセス(UTRA:Universal Terrestrial Radio Access)などの無線技術を実装し得る。CDMA2000は、IS−2000、IS−95およびIS−856規格をカバーする。IS−2000リリース0およびAは、一般に、CDMA2000 1X、1Xなどと呼ばれる。IS−856(TIA−856)は、一般に、CDMA2000 1xEV−DO、高速パケットデータ(HRPD:High Rate Packet Data)などと呼ばれる。UTRAは、広帯域CDMA(WCDMA(登録商標))およびCDMAの他の変形形態を含む。TDMAシステムは、Global System for Mobile Communications(GSM(登録商標))などの無線技術を実装し得る。OFDMAシステムは、ウルトラモバイルブロードバンド(UMB:Ultra Mobile Broadband)、発展型UTRA(E−UTRA:Evolved UTRA)、IEEE802.11(Wi−Fi(登録商標))、IEEE802.16(WiMAX(登録商標))、IEEE802.20、Flash−OFDMA(登録商標)などの無線技術を実装し得る。UTRAおよびE−UTRAは、ユニバーサルモバイルテレコミュニケーションシステム(UMTS:Universal Mobile Telecommunication System)の一部である。3GPPロングタームエボリューション(LTE)およびLTEアドバンスト(LTE−A:LTE-Advanced)は、E−UTRAを使用するUMTSの新しいリリースである。UTRA、E−UTRA、UMTS、LTE、LTE−AおよびGSMは、「第3世代パートナーシッププロジェクト」(3GPP:3rd Generation Partnership Project)と称する団体からの文書に記載されている。CDMA2000およびUMBは、「第3世代パートナーシッププロジェクト2」(3GPP2:3rd Generation Partnership Project 2)と称する団体からの文書に記載されている。本明細書で説明する技法は、上記のシステムおよび無線技術、ならびに他のシステムおよび無線技術に使用され得る。
[0167] 情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。例えば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
[0168] 本明細書の開示に関連して説明した様々な例示的なブロックおよびモジュールは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を行うように設計されるそれらの任意の組合せを用いて実現または行われ得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、例えばDSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成としても実現され得る。
[0169] 本明細書で説明した機能は、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、またはそれらの組合せで実現され得る。プロセッサによって実行されるソフトウェアで実現される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。他の例および実現形態は、本開示および添付の特許請求の範囲および趣旨内に入る。例えば、ソフトウェアの性質により、上述した機能は、プロセッサ、ハードウェア、ファームウェア、ハードワイヤリング、またはこれらのいずれかの組合せによって実行されるソフトウェアを使用して実現され得る。機能を実現する特徴はまた、機能の部分が、異なる物理的ロケーションで実現されるように分散されることを含めて、様々な位置に物理的に配置され得る。また、特許請求の範囲を含めて、本明細書で使用される場合、「のうちの少なくとも1つ」で終わる項目の列挙中で使用される「または」は、例えば、「A、B、またはCのうちの少なくとも1つ」の列挙は、AまたはBまたはCまたはABまたはACまたはBCまたはABC(すなわち、AおよびBおよびC)を意味するような選言的列挙を示す。
[0170] コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定でなく例として、コンピュータ可読媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコード手段を搬送または記憶するために使用され得、汎用もしくは専用コンピュータまたは汎用もしくは専用プロセッサによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれる。
[0171] 本開示についての以上の説明は、当業者が本開示を為したり使用したりできるように提供されたものである。本開示への様々な修正は当業者には容易に明らかとなり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。本開示全体にわたって、「例」または「例示的」という用語は、一例または一事例を示すものであり、言及した例についての選好を暗示せず、または必要としない。従って、本開示は、本明細書で説明した例および設計に限定されるべきでなく、本明細書で開示する原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
[0171] 本開示についての以上の説明は、当業者が本開示を為したり使用したりできるように提供されたものである。本開示への様々な修正は当業者には容易に明らかとなり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。本開示全体にわたって、「例」または「例示的」という用語は、一例または一事例を示すものであり、言及した例についての選好を暗示せず、または必要としない。従って、本開示は、本明細書で説明した例および設計に限定されるべきでなく、本明細書で開示する原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1] アドホックピアツーピアネットワーク中でルーティングするための方法であって、
非ゲートウェイノードから、前記ネットワーク上の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージが、前記少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも1つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
を備える、方法。
[C2] 別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
をさらに備える、C1に記載の方法。
[C3] あるインターネット宛先に送信するためのパケットを受信することと、
前記ゲートウェイポインタから前記少なくとも1つのゲートウェイノードの前記アドレスを取り出すことと、
前記少なくとも1つのゲートウェイノードに前記パケットを送信することと
をさらに備える、C1に記載の方法。
[C4] 前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
をさらに備える、C3に記載の方法。
[C5] アドホックピアツーピアネットワーク中でルーティングするための方法であって、
ゲートウェイノードで、前記ネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信することと、
前記ゲートウェイノードから、前記1つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を備える、方法。
[C6] アドホックピアツーピアネットワーク中でルーティングするための方法であって、
非ゲートウェイノードで、前記ネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信することと、ここにおいて、前記告知が、前記1つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記1つまたは複数のゲートウェイノードの前記アドレスを記憶することと、
あるインターネット宛先に送信するためのパケットを受信することと、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択することと、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信することと
を備える、方法。
[C7] 前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
をさらに備える、C6に記載の方法。
[C8] アドホックピアツーピアネットワーク中でルーティングするための装置であって、
非ゲートウェイノードから、前記ネットワーク上の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するための手段と、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信するための手段と、ここにおいて、前記応答メッセージが、前記少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも1つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するための手段と
を備える装置。
[C9] 別の非ゲートウェイノードから、前記インターネットルート要求を受信するための手段、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
をさらに備える、C8に記載の装置。
[C10] あるインターネット宛先に送信するためのパケットを受信するための手段と、
前記ゲートウェイポインタから前記少なくとも1つのゲートウェイノードの前記アドレスを取り出すための手段と、
前記少なくとも1つのゲートウェイノードに前記パケットを送信するための手段と
をさらに備える、C8に記載の装置。
[C11] 前記送信することより前に前記パケットから前記インターネット宛先をマスキングするための手段
をさらに備える、C10に記載の装置。
[C12] アドホックピアツーピアネットワーク中でルーティングするための装置であって、
ゲートウェイノードで、前記ネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信するための手段と、
前記ゲートウェイノードから、前記1つまたは複数のネイバーノードに応答メッセージを送信するための手段と、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を備える装置。
[C13] アドホックピアツーピアネットワーク中でルーティングするための装置であって、
非ゲートウェイノードで、前記ネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するための手段と、ここにおいて、前記告知が、前記1つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記1つまたは複数のゲートウェイノードの前記アドレスを記憶するための手段と、
あるインターネット宛先に送信するためのパケットを受信するための手段と、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択するための手段と、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信するための手段と
を備える装置。
[C14] 前記送信することより前に前記パケットから前記インターネット宛先をマスキングするための手段
をさらに備える、C13に記載の装置。
[C15] 非ゲートウェイノードから、アドホックピアツーピアネットワーク中の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するためのコードと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信するためのコードと、ここにおいて、前記応答メッセージが、前記少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも1つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するためのコードと
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
[C16] 前記非一時的コンピュータ可読媒体が、
別の非ゲートウェイノードから、前記インターネットルート要求を受信するためのコード、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
をさらに含む、C15に記載のコンピュータプログラム製品。
[C17] 前記非一時的コンピュータ可読媒体が、
あるインターネット宛先に送信するためのパケットを受信するためのコードと、
前記ゲートウェイポインタから前記少なくとも1つのゲートウェイノードの前記アドレスを取り出すためのコードと、
前記少なくとも1つのゲートウェイノードに前記パケットを送信するためのコードと
をさらに含む、C15に記載のコンピュータプログラム製品。
[C18] 前記非一時的コンピュータ可読媒体が、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするためのコード
をさらに含む、C17に記載のコンピュータプログラム製品。
[C19] ゲートウェイノードで、アドホックピアツーピアネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信するためのコードと、
前記ゲートウェイノードから、前記1つまたは複数のネイバーノードに応答メッセージを送信するためのコードと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
[C20] 非ゲートウェイノードで、アドホックピアツーピアネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するためのコードと、ここにおいて、前記告知が、前記1つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記1つまたは複数のゲートウェイノードの前記アドレスを記憶するためのコードと、
あるインターネット宛先に送信するためのパケットを受信するためのコードと、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択するためのコードと、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信するためのコードと
を含む非一時的コンピュータ可読媒体
を備えるコンピュータプログラム製品。
[C21] 前記非一時的コンピュータ可読媒体が、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングするためのコード
をさらに含む、C20に記載のコンピュータプログラム製品。
[C22] アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合されたメモリと、
ここにおいて、前記少なくとも1つのプロセッサが、
前記非ゲートウェイノードから、前記ネットワーク上の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、
前記非ゲートウェイノードで、前記ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージが、前記少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
前記非ゲートウェイノードで、前記少なくとも1つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
を行うように構成された、
を備える非ゲートウェイノード。
[C23] 前記少なくとも1つのプロセッサが、
別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
を行うようにさらに構成された、C22に記載の非ゲートウェイノード。
[C24] 前記少なくとも1つのプロセッサが、
あるインターネット宛先に送信するためのパケットを受信することと、
前記ゲートウェイポインタから前記少なくとも1つのゲートウェイノードの前記アドレスを取り出すことと、
前記少なくとも1つのゲートウェイノードに前記パケットを送信することと
を行うようにさらに構成された、C22に記載の非ゲートウェイノード。
[C25] 前記少なくとも1つのプロセッサが、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
を行うようにさらに構成された、C24に記載の非ゲートウェイノード。
[C26] アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合されたメモリと、
ここにおいて、前記少なくとも1つのプロセッサが、
ゲートウェイノードで、アドホックピアツーピアネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信することと、
前記ゲートウェイノードから、前記1つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
を行うように構成された、
を備える非ゲートウェイノード。
[C27] アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合されたメモリと、
ここにおいて、前記少なくとも1つのプロセッサが、
前記非ゲートウェイノードで、前記ネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信することと、ここにおいて、前記告知が、前記1つまたは複数のゲートウェイノードのアドレスを含む、
前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記1つまたは複数のゲートウェイノードの前記アドレスを記憶することと、
あるインターネット宛先に送信するためのパケットを受信することと、
潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択することと、
前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信することと
を行うように構成された、
を備える非ゲートウェイノード。
[C28] 前記少なくとも1つのプロセッサが、
前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
を行うようにさらに構成された、C27に記載の非ゲートウェイノード。

Claims (28)

  1. アドホックピアツーピアネットワーク中でルーティングするための方法であって、
    非ゲートウェイノードから、前記ネットワーク上の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、
    前記非ゲートウェイノードで、前記ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージが、前記少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
    前記非ゲートウェイノードで、前記少なくとも1つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
    を備える、方法。
  2. 別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
    をさらに備える、請求項1に記載の方法。
  3. あるインターネット宛先に送信するためのパケットを受信することと、
    前記ゲートウェイポインタから前記少なくとも1つのゲートウェイノードの前記アドレスを取り出すことと、
    前記少なくとも1つのゲートウェイノードに前記パケットを送信することと
    をさらに備える、請求項1に記載の方法。
  4. 前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
    をさらに備える、請求項3に記載の方法。
  5. アドホックピアツーピアネットワーク中でルーティングするための方法であって、
    ゲートウェイノードで、前記ネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信することと、
    前記ゲートウェイノードから、前記1つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
    を備える、方法。
  6. アドホックピアツーピアネットワーク中でルーティングするための方法であって、
    非ゲートウェイノードで、前記ネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信することと、ここにおいて、前記告知が、前記1つまたは複数のゲートウェイノードのアドレスを含む、
    前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記1つまたは複数のゲートウェイノードの前記アドレスを記憶することと、
    あるインターネット宛先に送信するためのパケットを受信することと、
    潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択することと、
    前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信することと
    を備える、方法。
  7. 前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
    をさらに備える、請求項6に記載の方法。
  8. アドホックピアツーピアネットワーク中でルーティングするための装置であって、
    非ゲートウェイノードから、前記ネットワーク上の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するための手段と、
    前記非ゲートウェイノードで、前記ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信するための手段と、ここにおいて、前記応答メッセージが、前記少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
    前記非ゲートウェイノードで、前記少なくとも1つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するための手段と
    を備える装置。
  9. 別の非ゲートウェイノードから、前記インターネットルート要求を受信するための手段、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
    をさらに備える、請求項8に記載の装置。
  10. あるインターネット宛先に送信するためのパケットを受信するための手段と、
    前記ゲートウェイポインタから前記少なくとも1つのゲートウェイノードの前記アドレスを取り出すための手段と、
    前記少なくとも1つのゲートウェイノードに前記パケットを送信するための手段と
    をさらに備える、請求項8に記載の装置。
  11. 前記送信することより前に前記パケットから前記インターネット宛先をマスキングするための手段
    をさらに備える、請求項10に記載の装置。
  12. アドホックピアツーピアネットワーク中でルーティングするための装置であって、
    ゲートウェイノードで、前記ネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信するための手段と、
    前記ゲートウェイノードから、前記1つまたは複数のネイバーノードに応答メッセージを送信するための手段と、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
    を備える装置。
  13. アドホックピアツーピアネットワーク中でルーティングするための装置であって、
    非ゲートウェイノードで、前記ネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するための手段と、ここにおいて、前記告知が、前記1つまたは複数のゲートウェイノードのアドレスを含む、
    前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記1つまたは複数のゲートウェイノードの前記アドレスを記憶するための手段と、
    あるインターネット宛先に送信するためのパケットを受信するための手段と、
    潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択するための手段と、
    前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信するための手段と
    を備える装置。
  14. 前記送信することより前に前記パケットから前記インターネット宛先をマスキングするための手段
    をさらに備える、請求項13に記載の装置。
  15. 非ゲートウェイノードから、アドホックピアツーピアネットワーク中の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信するためのコードと、
    前記非ゲートウェイノードで、前記ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信するためのコードと、ここにおいて、前記応答メッセージが、前記少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
    前記非ゲートウェイノードで、前記少なくとも1つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定するためのコードと
    を含む非一時的コンピュータ可読媒体
    を備えるコンピュータプログラム製品。
  16. 前記非一時的コンピュータ可読媒体が、
    別の非ゲートウェイノードから、前記インターネットルート要求を受信するためのコード、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
    をさらに含む、請求項15に記載のコンピュータプログラム製品。
  17. 前記非一時的コンピュータ可読媒体が、
    あるインターネット宛先に送信するためのパケットを受信するためのコードと、
    前記ゲートウェイポインタから前記少なくとも1つのゲートウェイノードの前記アドレスを取り出すためのコードと、
    前記少なくとも1つのゲートウェイノードに前記パケットを送信するためのコードと
    をさらに含む、請求項15に記載のコンピュータプログラム製品。
  18. 前記非一時的コンピュータ可読媒体が、
    前記送信することより前に前記パケットから前記インターネット宛先をマスキングするためのコード
    をさらに含む、請求項17に記載のコンピュータプログラム製品。
  19. ゲートウェイノードで、アドホックピアツーピアネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信するためのコードと、
    前記ゲートウェイノードから、前記1つまたは複数のネイバーノードに応答メッセージを送信するためのコードと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
    を含む非一時的コンピュータ可読媒体
    を備えるコンピュータプログラム製品。
  20. 非ゲートウェイノードで、アドホックピアツーピアネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信するためのコードと、ここにおいて、前記告知が、前記1つまたは複数のゲートウェイノードのアドレスを含む、
    前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記1つまたは複数のゲートウェイノードの前記アドレスを記憶するためのコードと、
    あるインターネット宛先に送信するためのパケットを受信するためのコードと、
    潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択するためのコードと、
    前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信するためのコードと
    を含む非一時的コンピュータ可読媒体
    を備えるコンピュータプログラム製品。
  21. 前記非一時的コンピュータ可読媒体が、
    前記送信することより前に前記パケットから前記インターネット宛先をマスキングするためのコード
    をさらに含む、請求項20に記載のコンピュータプログラム製品。
  22. アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに結合されたメモリと、
    ここにおいて、前記少なくとも1つのプロセッサが、
    前記非ゲートウェイノードから、前記ネットワーク上の1つまたは複数のネイバーノードに不確定宛先についてのインターネットルート要求を送信することと、
    前記非ゲートウェイノードで、前記ネットワーク上の少なくとも1つのゲートウェイノードから応答メッセージを受信することと、ここにおいて、前記応答メッセージが、前記少なくとも1つのゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
    前記非ゲートウェイノードで、前記少なくとも1つのゲートウェイノードの前記アドレスに等しいゲートウェイポインタを設定することと
    を行うように構成された、
    を備える非ゲートウェイノード。
  23. 前記少なくとも1つのプロセッサが、
    別の非ゲートウェイノードから、前記インターネットルート要求を受信すること、ここにおいて、前記送信することが、前記受信されたインターネットルート要求を送信する、
    を行うようにさらに構成された、請求項22に記載の非ゲートウェイノード。
  24. 前記少なくとも1つのプロセッサが、
    あるインターネット宛先に送信するためのパケットを受信することと、
    前記ゲートウェイポインタから前記少なくとも1つのゲートウェイノードの前記アドレスを取り出すことと、
    前記少なくとも1つのゲートウェイノードに前記パケットを送信することと
    を行うようにさらに構成された、請求項22に記載の非ゲートウェイノード。
  25. 前記少なくとも1つのプロセッサが、
    前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
    を行うようにさらに構成された、請求項24に記載の非ゲートウェイノード。
  26. アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに結合されたメモリと、
    ここにおいて、前記少なくとも1つのプロセッサが、
    ゲートウェイノードで、アドホックピアツーピアネットワーク上の1つまたは複数のネイバーノードからインターネットルート要求を受信することと、
    前記ゲートウェイノードから、前記1つまたは複数のネイバーノードに応答メッセージを送信することと、ここにおいて、前記応答メッセージが、前記ゲートウェイノードのアドレスとゲートウェイインジケータとを含む、
    を行うように構成された、
    を備える非ゲートウェイノード。
  27. アドホックピアツーピアネットワーク中の非ゲートウェイノードであって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに結合されたメモリと、
    ここにおいて、前記少なくとも1つのプロセッサが、
    前記非ゲートウェイノードで、前記ネットワーク上の1つまたは複数のゲートウェイノードからインターネット接続性の告知を受信することと、ここにおいて、前記告知が、前記1つまたは複数のゲートウェイノードのアドレスを含む、
    前記非ゲートウェイノードで、潜在的なゲートウェイのリストに前記1つまたは複数のゲートウェイノードの前記アドレスを記憶することと、
    あるインターネット宛先に送信するためのパケットを受信することと、
    潜在的なゲートウェイの前記リストからゲートウェイアドレスを選択することと、
    前記ゲートウェイアドレスに関連する宛先ゲートウェイに前記パケットを送信することと
    を行うように構成された、
    を備える非ゲートウェイノード。
  28. 前記少なくとも1つのプロセッサが、
    前記送信することより前に前記パケットから前記インターネット宛先をマスキングすること
    を行うようにさらに構成された、請求項27に記載の非ゲートウェイノード。
JP2015561615A 2013-03-05 2014-03-05 サービス指向アーキテクチャバスを介したインターネットルーティング Pending JP2016515339A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/786,376 2013-03-05
US13/786,376 US9621458B2 (en) 2012-02-21 2013-03-05 Internet routing over a service-oriented architecture bus
PCT/US2014/020815 WO2014138265A2 (en) 2013-03-05 2014-03-05 Internet routing over a service-oriented architecture bus

Publications (2)

Publication Number Publication Date
JP2016515339A true JP2016515339A (ja) 2016-05-26
JP2016515339A5 JP2016515339A5 (ja) 2017-07-13

Family

ID=50336584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015561615A Pending JP2016515339A (ja) 2013-03-05 2014-03-05 サービス指向アーキテクチャバスを介したインターネットルーティング

Country Status (6)

Country Link
US (2) US9621458B2 (ja)
EP (1) EP2965561A2 (ja)
JP (1) JP2016515339A (ja)
KR (1) KR20150129308A (ja)
CN (1) CN105009643B (ja)
WO (1) WO2014138265A2 (ja)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US9350814B2 (en) 2012-02-21 2016-05-24 Qualcomm Incorporated Internet protocol connectivity over a service-oriented architecture bus
US9942823B2 (en) * 2013-12-06 2018-04-10 Nec Corporation Communication terminal, communication method, and communication program
US10098051B2 (en) * 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US20160192403A1 (en) * 2014-12-30 2016-06-30 Qualcomm Incorporated Mechanism to provide lte voice, internet and embms services over ethernet for connected home architecture
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US10616177B2 (en) 2015-03-31 2020-04-07 Willie L. Donaldson Secure dynamic address resolution and communication system, method, and device
WO2016172252A1 (en) * 2015-04-20 2016-10-27 Shoelace Wireless, Inc. Systems for improved mobile internet speed and security
EP3311536B1 (en) * 2015-06-17 2021-02-17 Telefonaktiebolaget LM Ericsson (PUBL) Path setup in a mesh network
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9794238B2 (en) 2015-10-29 2017-10-17 Cisco Technology, Inc. System for key exchange in a content centric network
US9807205B2 (en) 2015-11-02 2017-10-31 Cisco Technology, Inc. Header compression for CCN messages using dictionary
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10078062B2 (en) 2015-12-15 2018-09-18 Palo Alto Research Center Incorporated Device health estimation by combining contextual information with sensor data
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US9949301B2 (en) 2016-01-20 2018-04-17 Palo Alto Research Center Incorporated Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10038633B2 (en) 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US11436656B2 (en) 2016-03-18 2022-09-06 Palo Alto Research Center Incorporated System and method for a real-time egocentric collaborative filter on large datasets
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
US10171343B2 (en) * 2016-12-21 2019-01-01 Sony Corporation Routing multiple data streams simultaneously in wireless networks
WO2020023909A1 (en) 2018-07-27 2020-01-30 GoTenna, Inc. Vine™: zero-control routing using data packet inspection for wireless mesh networks
US10805384B1 (en) * 2018-09-13 2020-10-13 Parallels International Gmbh Systems and methods for load balancing server infrastructure
CN111314341B (zh) * 2020-02-14 2022-05-13 烽火通信科技股份有限公司 多物联网关场景下实现物联终端设备认证的方法及装置
US12034570B2 (en) 2022-03-14 2024-07-09 T-Mobile Usa, Inc. Multi-element routing system for mobile communications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007526526A (ja) * 2003-06-05 2007-09-13 インタートラスト テクノロジーズ コーポレイション ピア・ツー・ピアサービス編成ための相互運用システム及び方法
JP2012074983A (ja) * 2010-09-29 2012-04-12 Mitsubishi Electric Corp 通信システム、通信方法およびハンディターミナル
JP2012095235A (ja) * 2010-10-28 2012-05-17 Mitsubishi Electric Corp ノード局および冗長経路制御方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781550A (en) 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
CN1263267C (zh) * 1997-03-12 2006-07-05 诺马蒂克斯股份有限公司 漫游的转换器或路由器
US6101499A (en) 1998-04-08 2000-08-08 Microsoft Corporation Method and computer program product for automatically generating an internet protocol (IP) address
US6892230B1 (en) 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US7072650B2 (en) 2000-11-13 2006-07-04 Meshnetworks, Inc. Ad hoc peer-to-peer mobile radio access system interfaced to the PSTN and cellular networks
US7697504B2 (en) 2000-12-29 2010-04-13 Tropos Networks, Inc. Mesh network that includes fixed and mobile access nodes
US7174363B1 (en) 2001-02-22 2007-02-06 Charles Schwab & Co., Inc. Distributed computing system architecture
US8266212B2 (en) 2001-11-23 2012-09-11 Igt Game talk service bus
US7280519B1 (en) * 2002-01-08 2007-10-09 Darrell Harvey Shane Dynamic metropolitan area mobile network
US7142866B2 (en) * 2003-09-09 2006-11-28 Harris Corporation Load leveling in mobile ad-hoc networks to support end-to-end delay reduction, QoS and energy leveling
US7937088B2 (en) * 2004-03-26 2011-05-03 Qualcomm Incorporated Routing communications in an ad hoc network
GB2416958A (en) * 2004-07-30 2006-02-08 Orange Personal Comm Serv Ltd Communicating internet packet data over a packet radio network
US7468954B2 (en) * 2004-12-14 2008-12-23 Harris Corporation Mobile ad-hoc network providing expedited conglomerated broadcast message reply features and related methods
US7920549B2 (en) 2005-07-20 2011-04-05 Verizon Business Global Llc Method and system for providing secure media gateways to support interdomain traversal
US20070070959A1 (en) * 2005-09-23 2007-03-29 Almeroth Kevin C Infrastructure mesh networks
US8064416B2 (en) * 2005-11-09 2011-11-22 Thomson Licensing Route selection in wireless networks
US7808960B1 (en) * 2006-05-25 2010-10-05 The Hong Kong University Of Science And Technology Wireless infrastructure and ad hoc network integration
JP4680866B2 (ja) * 2006-10-31 2011-05-11 株式会社日立製作所 ゲートウェイ負荷分散機能を備えたパケット転送装置
KR101203461B1 (ko) * 2006-11-10 2012-11-21 삼성전자주식회사 멀티홉 셀룰러 시스템에서의 라우팅 방법 및 상기 멀티홉셀룰러 시스템
US8489701B2 (en) 2007-01-30 2013-07-16 Microsoft Corporation Private virtual LAN spanning a public network for connection of arbitrary hosts
US7873019B2 (en) 2007-05-31 2011-01-18 International Business Machines Corporation Systems and methods for establishing gateway bandwidth sharing ad-hoc networks
CN101388831B (zh) 2007-09-14 2011-09-21 华为技术有限公司 数据传输方法、节点及网关
US8880567B2 (en) 2007-12-18 2014-11-04 International Business Machines Corporation Discovery and management of configuration data contained within mashups
CN101540714B (zh) * 2008-03-21 2012-02-01 华为技术有限公司 网络路径建立与数据发送的方法及网络节点
US20090248793A1 (en) 2008-03-25 2009-10-01 Contribio Ab Providing Content In a Network
US8705450B2 (en) * 2008-07-30 2014-04-22 Koninklijke Philips N.V. Method for discovering paths with sufficient medium time in wireless mesh networks
KR20100040658A (ko) 2008-10-10 2010-04-20 삼성전자주식회사 UPnP 네트워크의 원격 접속 서비스에서 아이피 주소 충돌 해결 방법 및 장치
KR101085629B1 (ko) 2009-03-16 2011-11-22 삼성전자주식회사 이동통신 단말에서 ⅰp 통신의 네트워크 설정 방법 및 장치
CN101888681B (zh) * 2009-05-12 2013-02-27 华为技术有限公司 一种建立路由的方法、设备及系统
US9307393B2 (en) 2009-05-15 2016-04-05 Telcordia Technologies, Inc. Peer-to-peer mobility management in heterogeneous IPV4 networks
CN102291795B (zh) * 2010-06-21 2014-02-19 富士通株式会社 无线通信装置、无线通信网络和控制路由选择的方法
US8352491B2 (en) 2010-11-12 2013-01-08 International Business Machines Corporation Service oriented architecture (SOA) service registry system with enhanced search capability
CN102404739B (zh) * 2011-09-26 2014-03-19 苏州大学 一种Ad Hoc网络中虫洞攻击的检测方法
US9350814B2 (en) 2012-02-21 2016-05-24 Qualcomm Incorporated Internet protocol connectivity over a service-oriented architecture bus
CN102833803B (zh) * 2012-08-20 2015-10-28 北京交通大学 一种基于IPv6的无线传感器网络结构及子网内切换方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007526526A (ja) * 2003-06-05 2007-09-13 インタートラスト テクノロジーズ コーポレイション ピア・ツー・ピアサービス編成ための相互運用システム及び方法
JP2012074983A (ja) * 2010-09-29 2012-04-12 Mitsubishi Electric Corp 通信システム、通信方法およびハンディターミナル
JP2012095235A (ja) * 2010-10-28 2012-05-17 Mitsubishi Electric Corp ノード局および冗長経路制御方法

Also Published As

Publication number Publication date
EP2965561A2 (en) 2016-01-13
WO2014138265A2 (en) 2014-09-12
US9621458B2 (en) 2017-04-11
CN105009643A (zh) 2015-10-28
US20170171073A1 (en) 2017-06-15
WO2014138265A3 (en) 2014-11-06
CN105009643B (zh) 2018-11-13
US20140254595A1 (en) 2014-09-11
KR20150129308A (ko) 2015-11-19

Similar Documents

Publication Publication Date Title
US9621458B2 (en) Internet routing over a service-oriented architecture bus
US9350814B2 (en) Internet protocol connectivity over a service-oriented architecture bus
US8423607B2 (en) Fallback procedures for domain name server update in a mobile IP registration
US8509244B2 (en) Method and apparatus for providing host node awareness for multiple NAT64 environments
JP4037759B2 (ja) 多元ホストエニーキャストルーティングのための方法及びシステム
US20130282860A1 (en) Name-Based Neighbor Discovery and Multi-Hop Service Discovery in Information-Centric Networks
US20140229634A1 (en) Management of Network Membership
JP5231657B2 (ja) オーバーラップしているネットワークを形成、維持および/または使用する方法および装置
JP2014053973A (ja) 通信デバイスによる通信の方法、通信デバイス、および非一時的プロセッサ可読記憶媒体
JP2019525518A (ja) ネットワーク化されたデバイス間のネットワーククラスターを確立するための方法
JP6999931B2 (ja) 通信方法、通信システム、mecサーバ、dnsサーバ、および、トラフィック誘導ルータ
JP2019515555A (ja) 識別情報指向型ネットワークの匿名識別情報及びプロトコル
US20230353479A1 (en) Edge Computing Data and Service Discovery Using an Interior Gateway Protocol (IGP)
Jung et al. IDNet: beyond all‐IP network
US20220393969A1 (en) 3gpp network function set adaptation for pre-5g network elements
US9288740B2 (en) Communication apparatus, control method for the same, communication system, and non-transitory computer-readable storage medium
US20240214301A1 (en) Packet processing method and related apparatus
US20120188945A1 (en) Route optimization method and access router
WO2013083037A1 (zh) 更新报文的处理方法及系统、映射服务器和移动节点
JP5464360B2 (ja) 移動体通信における改良された端末情報管理方式及び通信方式を実現するメッシュ型ネットワーク及び基地局
CN115022232A (zh) 组播组的管理方法、装置、设备及存储介质
Sadio et al. Improving security and mobility for remote access: a wireless sensor network case
CN114205301A (zh) Mptcp负载均衡方法、介质及设备
WO2013178014A1 (zh) 站点的通信方法、rtr及隧道路由器

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170525

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170525

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171010