本開示の特定の態様が、図面を参照して以下で説明される。説明において、共通の特徴は共通の参照番号により指定される。本明細書で使用する様々な専門用語は、特定の実装形態について説明するためのものにすぎず、限定を意図するものではない。たとえば、単数形「a」、「an」、および「the」は、文脈がそうでないことを明瞭に示さない限り、複数形をも含むことが意図されている。「備える(comprises)」および「備える(comprising)」という用語は、「含む(includes)」または「含む(including)」と交換可能に使用され得る。さらに、「ここにおいて(wherein)」という用語は、「ここで(where)」と交換可能に使用され得る。本明細書で使用する、構造、構成要素、動作など、要素を修正するために使用される順序を示す用語(たとえば、「第1の」、「第2の」、「第3の」など)は、それ自体、別の要素に対する要素の何らかの優先順位または順序を示さず、むしろ、その要素を同じ名称を有する(が、順序を示す用語を使用するために)別の要素と単に区別する。本明細書で使用する「サブセット」という用語は、1つまたは複数の要素のグループを指し、「複数の」という用語は複数の要素を指す。
図1を参照すると、1つまたは複数のデータリンクグループを含むシステム100の説明のための例が示される。システム100は、データリンクグループネットワークまたは近隣認識ネットワーク(NAN)など、ワイヤレスネットワーク101を含む。ワイヤレスネットワーク101は、代表的なデバイス120、第2のデバイス108、および第1のデバイス110などの複数のデバイスを含み得る。
ワイヤレスネットワーク101は、1つまたは複数のデータリンクグループ(たとえば、1つまたは複数のメッシュまたはメッシュネットワーク)を含んでよいか、またはそれに対応してよい。本明細書で使用するデータリンクグループは、アドホックネットワークなど、インフラストラクチャレスピアツーピアネットワークを含み得る。データリンクグループは、分散型ワイヤレスネットワークなどのネットワークを形成することが可能な複数のデバイスを含み得る。さらに、データリンクグループの各デバイスは、データリンクグループによって使用される1つまたは複数の通信チャネルと帯域内または帯域外で交換され得る共通のセキュリティ証明を使用することができる。いくつかの実装形態では、データリンクグループのデバイスは、デバイスの各々が、広告するために、かつトラフィックおよび他のメッセージを受信するためにアウェイクしている期間など、定期的な起動時間を有するように同期され得る。
ワイヤレスネットワーク101は、デバイス108、110、120など、1つまたは複数のデバイスを含むデータリンクグループを含んでよいか、またはそれに対応してよい。データリンクグループは、データリンク、データリンクネットワーク、グループネットワーク、NANデータリンク(NDL)、NDLネットワーク、データ経路グループ、データ経路グループネットワーク、NANデータ経路、NANデータ経路グループ、またはNANデータ経路グループネットワークと呼ばれる場合もある。いくつかの実装形態では、データリンクグループは、例示的な、非限定的な例として、「ソーシャルWi-Fiメッシュネットワーク」または米国電気電子技術者協会(IEEE)802.11メッシュネットワークなど、メッシュネットワーク内に含まれるメッシュグループであり得る。別の例として、データリンクグループは、インフラストラクチャレスピアツーピア(p2p)ネットワークを含み得る。特定の態様では、データリンクグループは、「マルチホップ」データリンクグループであってよく、メッセージおよびデータは、データリンクグループの第1のデバイスからデータリンクグループの他の電子デバイスに送信可能であり、他のデバイスはメッセージおよびデータをより多くのデバイスに伝搬することができる。別の特定の態様では、データリンクグループは、「シングルホップ」データリンクグループであってよく、ページングメッセージは、プロバイダデバイスによってデータリンクグループの1つまたは複数のデバイスに送信され得る。
デバイス108、110、120の各々は、ワイヤレスネットワーク101内に含まれる1つまたは複数の他のワイヤレス通信デバイスからデータを送信するように、データを受信するように、または両方を行うように構成されるワイヤレス通信デバイスであり得る。ワイヤレスネットワーク101は、インフラストラクチャネットワーク、または、ピアツーピアネットワーク(たとえば、アドホックネットワーク)のようなインフラストラクチャレスネットワークであり得る。たとえば、ワイヤレスネットワーク101(たとえば、NAN)のデバイス108、110、120の各々は、NANに対応する1つまたは複数のワイヤレスチャネルを介して、関連付け動作(たとえば、セキュリティ関連付け動作)、セキュリティ情報交換動作、同期動作、折衝動作、および他の動作を実行するように構成され得る。いくつかの実装形態では、デバイス108、110、120は、説明のための非限定的な例として、米国電気電子技術者協会(IEEE)802.11規格(たとえば、IEEE802.11規格)、Wi-Fiアライアンス規格、NAN規格、またはこれらの組合せなど、1つまたは複数の規格に従ってそのような動作を実行することができる。たとえば、システム100のデバイス108、110、120は、1つまたは複数のワイヤレス通信プロトコルに従って、ワイヤレスに通信するように構成され得る。例示のために、システム100のデバイス108、110、120は、米国電気電子技術者協会(IEEE)802.11プロトコルに関連するビーコンのような、発見メッセージを送受信することができる。この文脈で、プロトコルは、それを介して通信が生じるチャネルの識別子、通信のタイミング(たとえば、発見間隔のタイミング)など、通信するために使用されるパラメータを指す場合がある。別の例では、システム100のデバイス108、110、120は、システム100の1つまたは複数のデバイス108、110、120に共通な特定のアプリケーション(または、サービス)に対応するデータなどのデータを通信することもできる。システム100は、例示された数のデバイスよりも多いかまたは少ないデバイスを含み得る。
ワイヤレスネットワーク101(たとえば、NAN)の複数のデバイスを(たとえば、ビーコンを使用して)同期させて、複数のデバイスがワイヤレスネットワーク101の発見時間枠の間に周期的に起動する(たとえば、アクティブモードに切り替える)ことを可能にすることができる。複数のデバイスの各々が、発見時間枠の間に同じNAN通信チャネルを監視することができる。ワイヤレスネットワーク101は、NAN識別子によって識別され得る。NAN識別子は、各NAN発見メッセージ内など、各NANメッセージ内に含まれてよい。ワイヤレスネットワーク101の形成を開始するデバイスは、対応するNAN識別子を選択することができる。
複数のデバイスのサブセットは、ワイヤレスネットワーク101に対応するNAN通信チャネルを介して、同期ビーコン、発見ビーコン、または両方を送信することができる。発見メッセージおよび同期ビーコンは、NAN通信チャネルを介して、発見時間枠の間に複数のデバイスの1つまたは複数によって送信され得る。発見メッセージは、ワイヤレスネットワーク101を発見するために、かつデバイスがワイヤレスネットワーク101に参加することを可能にするために、デバイス(ワイヤレスネットワーク101内に含まれない)によって使用され得る。同期ビーコンは、時間同期機能(TSF)の修正のために、ワイヤレスネットワーク101の複数のデバイスによって使用され得る。
いくつかの実装形態では、ワイヤレスネットワーク101は、ツリー構造などの構造を有し得る。たとえば、構造(たとえば、ツリー構造)は、複数のデバイスの特定のデバイス(アンカーマスタと呼ばれる)において固定され得る。アンカーマスタのタイミングは、1つまたは複数の同期(同期)デバイスおよび1つまたは複数のマスタデバイスを介して、ワイヤレスネットワーク101の複数のデバイスの各々に伝搬され得る。1つまたは複数の同期デバイスおよび1つまたは複数のマスタデバイスは、ワイヤレスネットワーク内の時間同期を可能にし得る。
ワイヤレスネットワーク101に対応する、1つまたは複数のデータリンクグループ(たとえば、第1のデータリンクグループ132、第2のデータリンクグループ134、および第3のデータリンクグループ136)があり得る。特定の例示的な実装形態では、データリンクグループは、NANのNDLグループを含んでよいか、またはそれに対応してよい。別の特定の実装形態では、データリンクグループは、例示的な非限定的な例として、「ソーシャルWi-Fiメッシュ」ネットワークなどのワイヤレスメッシュネットワーク、またはワイヤレスメッシュネットワークのサブセットを含むことが可能であるか、またはそれに対応することができる。他の例示的な非限定的な例では、本開示の技法は、インフラストラクチャレスピアツーピア(p2p)ネットワークまたはインフラストラクチャを伴わない別の形態のデバイス間直接ネットワークにおいて使用され得る。データリンクグループのデバイスは、(たとえば、1つまたは複数のワイヤレスキャリア、1つまたは複数のワイヤレスフィデリティ(Wi-Fi)アクセスポイント、インターネット、またはこれらの組合せを必要とせずに)ワイヤレス通信を介してデータ交換を実行することができる。たとえば、データリンクグループのデバイスは、通信を可能にするために、グループキー(たとえば、共通のグループキー)などのセキュリティ資格を共有することができる。例示のために、データリンクグループの各デバイスは、グループキーを使用して、グループメッセージを符号化すること、復号すること、または両方が可能である。いくつかの実装形態では、1つまたは複数のサービスは、データリンクグループのデバイスのうちの1つまたは複数によって提供され得る。1つまたは複数のサービスは、例示的な非限定的な例として、音楽サービス、ソーシャルメディア共有サービス、ファイル共有サービス、別のサービス、またはこれらの組合せを含み得る。いくつかの実装形態では、1つまたは複数のサービスは、1つまたは複数のNDLサービスを含んでよいか、またはそれに対応してよい。
特定の実装形態では、データリンクグループ132〜136は、別個のアプリケーション、別個のベンダー、別個のタイプのデバイス、別個のオペレーティングシステム、またはこれらの組合せに対応し得る。特定のデバイスは1つまたは複数のデータリンクグループ内に含まれ得る。たとえば、第1のデバイス110は、第1のデータリンクグループ132内に含まれ得る。別の例として、第2のデバイス108は、第1のデータリンクグループ132および第2のデータリンクグループ134内に含まれ得る。ワイヤレスネットワーク101の各データリンクグループは、固有の値(たとえば、バイト値、グループアドレス、またはこれらの組合せ)などの対応するグループ識別子を有し得る。たとえば、第1のデータリンクグループ132は、第1のデータリンクグループ識別子142を有し得る。別の例として、第2のデータリンクグループ134は、第2のデータリンクグループ識別子144を有し得る。いくつかの実装形態では、データリンクグループ識別子は、NDLグループ識別子を含んでよいか、またはそれに対応してよい。
プロバイダデバイスは、サービスに対応するデータをデータリンクグループの1つまたは複数のデバイスに提供することができる。いくつかの実装形態では、プロバイダデバイスは電気通信接続を介してデータを受信することができる。たとえば、プロバイダデバイスは、基地局とワイヤレスに通信し、基地局を介してサービスに対応するデータを受信することができる。プロキシデバイスは、サービスに対応するデータをデバイスから受信することができ、そのデータを他のデバイスに転送することができる。消費者デバイスはサービスに対応するデータをデバイスから受信することができる。特定の実装形態では、第1のデータリンクグループ132は、ワイヤレスネットワーク101内に含まれた複数のデバイスの第1のサブセットを含んでよく、第2のデータリンクグループ134は、複数のデバイスの第2のサブセットを含んでよく、第3のデータリンクグループ136は、複数のデバイスの第3のサブセットを含んでよい。デバイスの各サブセットは、デバイスの別のサブセットからの1つまたは複数のデバイスを含んでよい。例示のために、第2のデバイス108は、特定のデータリンクグループ(たとえば、第2のデータリンクグループ134)の第1のサービスのプロバイダデバイスであってよく、別のデータリンクグループ(たとえば、第1のデータリンクグループ132)の第2のサービスのプロキシデバイスであってよく、別のデータリンクグループ内の第1のサービス、第2のサービス、または第3のサービスのうちの1つまたは複数の消費者デバイスであってよく、またはこれらの組合せであってよい。
第1のデータリンクグループ132の特定のデバイスは、発見メッセージを送ること(たとえば、送信すること)によってサービスの可用性を広告することができる。発見メッセージは、第1のデータリンクグループ識別子142を含み得る。発見メッセージの受信に応じて、1つまたは複数のデバイスは、第1のデータリンクグループ132に参加し、サービスに対応するデータを受信することができる。いくつかの実装形態では、特定のデバイスは、発見メッセージ、サービスに対応するデータ、またはこれらの組合せを第1のデータリンクグループ132の複数のデバイスにマルチキャストすることができる。
第1のデバイス110は、データリンクネットワーキング回路114、第1のデータリンクインターフェース112、メモリ116、またはこれらの組合せを含み得る。データリンクネットワーキング回路114は、第1のデバイス110の動作を参照して本明細書で説明する1つまたは複数の機能を実行するように構成され得る。たとえば、第1のデバイス110によって実行されるとして本明細書で説明する1つまたは複数の動作は、データリンクネットワーキング回路114によって実行され得る。第1のデータリンクインターフェース112は、第1のデータリンクグループ132の1つまたは複数のデバイスと通信するように構成されたネットワークインターフェースであってよい。いくつかの実装形態では、データリンクネットワーキング回路は、NDLネットワーキング回路を含んでよいか、またはそれに対応してよい。メモリ116は、ネットワーキングデータ192を含んでもよい。ネットワーキングデータ192は、本明細書でさらに説明するように、第1のデータ150、第2のデータ152、IPアドレス154、データリンクサブネット識別子156、ルーティングプレフィックス158、MACアドレス160、またはこれらの組合せを含んでよい。
動作の間、第1のデバイス110は、第1のデータリンクグループ識別子142に対応する第1のデータ150(たとえば、第1の識別子)を決定することができる。たとえば、第1のデバイス110は、第1のデータリンクグループ識別子142に対応する第1のデータ150を生成または受信することができる。例示のために、第1のデバイス110は、第1のデバイス110が第1のデータリンクグループ132を介して第1のサービスを提供するために利用可能であることを示す発見メッセージを生成することができる。第1のデバイス110は、発見メッセージ内に第1のデータ150を含めることができる。別の例示として、第1のデバイス110は、第1のデータ150を含む発見メッセージを第1のデータリンクグループ132のデバイスから受信することができる。
発見メッセージは、第1のデータリンクグループ識別子142を示す識別子データを含み得る。第1のデータリンクグループ識別子142は、ワイヤレスネットワーク101内の第1のデータリンクグループ132に固有であり得る。たとえば、第1のデバイス110は、第1のデータリンクグループ識別子142がワイヤレスネットワーク101内で使用中のデータリンクグループ識別子と競合しないように、第1のデータリンクグループ識別子142を生成することができる。例示のために、第1のデバイス110は、データリンクグループ識別子が最近使用されていることを示すグループ識別子データを維持することができる。特定の実装形態では、第1のデバイス110は、特定のデータリンクグループ識別子を示すメッセージの受信に応じて、特定のデータリンクグループ識別子をグループ識別子データに追加することができる。
第1のデバイス110は、グループ識別子データによって示されるデータリンクグループ識別子とは別個になるように第1のデータリンクグループ識別子142を生成することができる。特定の実装形態では、第1のデバイス110は、ハッシュ関数180を第1のデータリンクグループ識別子142に適用する結果がハッシュ関数180をグループ識別子データによって示されるデータリンクグループ識別子に適用する結果とは別個になるように、第1のデータリンクグループ識別子142を生成することができる。ハッシュ関数180はユーザ定義され得る。たとえば、第1のデバイス110は、ユーザ入力に基づいてハッシュ関数180を決定することができる。特定の実装形態では、ハッシュ関数180はデフォルト関数に対応し得る。
第1のデータ150は、例示的な非限定的な例として、第1のデータリンクグループ識別子142、またはハッシュ関数180を第1のデータリンクグループ識別子142に適用する結果に対応し得る。第1のデータリンクグループ識別子142は48ビットを含み得る。いくつかの実装形態では、ハッシュ関数180を第1のデータリンクグループ識別子142に適用する結果は16ビットを含み得る。
第1のデバイス110は、第1のデバイス110に対応する第2のデータ152(たとえば、第2の識別子)を決定することができる。たとえば、第1のデバイス110は、第1のデバイス110の媒体アクセス制御(MAC)識別子(たとえば、MACアドレス160)に基づいて、第2のデータ152を生成することができる。いくつかの実装形態では、MACアドレス160は48ビットを含み得る。追加または代替として、第2のデータ152は64ビットを含み得る。第1のデバイス110は、IEEE64ビット拡張一意識別子(EUI-64)フォーマットに従ってMACアドレス160に基づいて第2のデータ152を生成することができる。
第1のデバイス110はルーティングプレフィックス158を決定することもできる。特定の実装形態では(たとえば、IPv6アドレスが使用されているとき)、ルーティングプレフィックス158はデータリンクネットワーク専用であるデータリンクルーティングプレフィックスであり得る。たとえば、この特定の実装形態では、データリンクルーティングプレフィックスは48ビットを含み得る。第1のデバイス110は、ルーティングプレフィックス158と、第1のデータ150と、第2のデータ152とに基づいて、IPアドレス154を生成することができる。たとえば、第1のデバイス110は、ルーティングプレフィックス158と第1のデータ150と第2のデータ152とを組み合わせること(たとえば、連結すること)によって、IPアドレス154を生成することができる。IPアドレス154は128ビットのIPv6アドレスに対応することができ、たとえば、ルーティングプレフィックス158がデータリンクルーティングプレフィックス(たとえば、48ビット)に対応するとき、第1のデータ150は16ビットを含み、第2のデータ152は64ビットを含む。いくつかの実装形態では、データリンクルーティングプレフィックスは、1つまたは複数のNANのNDLにおいて(または、によって)使用専用であるNDLルーティングプレフィックスを含んでよいか、またはそれに対応してよい。
別の特定の実装形態では(たとえば、IPv4アドレスが使用されているとき)、ルーティングプレフィックス158は、グローバルにルーティング不可能なプレフィックス(たとえば、0x10)に対応し得る。この特定の実装形態では、ルーティングプレフィックス158は8ビットを含んでよく、第1のデータ150と第2のデータ152との組合せは24ビットを含んでよい。この実装形態では、IPアドレス154は32ビットのIPv4アドレスを含み得る。ルーティングプレフィックス158と第1のデータ150との組合せは、データリンクサブネット識別子156に対応し得る。特定の態様では、第1のデバイス110は、データリンクサブネット識別子156と第2のデータ152とに基づいて、IPアドレス154を生成することができる。たとえば、第1のデバイス110は、データリンクサブネット識別子156と第2のデータ152とを組み合わせること(たとえば、連結すること)によって、IPアドレス154を生成することができる。いくつかの実装形態では、データリンクサブネット識別子は、NDLサブネット識別子を含んでよいか、またはそれに対応してよい。
IPアドレス154は、第1のデータリンクインターフェース112に対応し得る。第1のデバイス110は、第1のデータリンクインターフェース112を使用して、第1のデータリンクグループ132の1つまたは複数のデバイスと通信することができる。例示のために、第1のデバイス110は、第1のヘッダおよびペイロードを有する第1のデータパケットを生成することができる。ペイロードは、第1のデバイス110から第1のデータリンクグループ132の1つまたは複数のデバイスに送られるデータを含み得る。第1のヘッダは、第1のデータパケットの(または、そのための)発信元アドレスとしてIPアドレス154を示すアドレスデータを含み得る。第1のデバイス110は、第1のデータパケットをマルチキャストすることによってなど、第1のデータリンクインターフェース112を介して、第1のデータパケットを第1のデータリンクグループ132の1つまたは複数のデバイスに送ることができる。
第1のデバイス110の受信機は、第2のヘッダを有する第2のデータパケットを受信することができる。第2のヘッダは、第2のデータパケットの(または、そのための)宛先アドレスとしてIPアドレス154を含み得る。第1のデバイス110の受信機は、IPアドレス154が第1のデータリンクインターフェース112に対応するという決定に応じて、第2のデータパケットを第1のデータリンクインターフェース112に提供するように構成され得る。たとえば、第1のデバイス110は、ルーティンテーブル188を含んでよく、ルーティングテーブル188に基づいて、IPアドレス154が第1のデータリンクインターフェース112に対応すると決定することができる。ルーティングテーブル188は、データリンクインターフェースに対するIPアドレスの「マッピング」を含み得る。例示のために、ルーティングテーブル188は、IPアドレス154が第1のデータリンクインターフェース112に対応する(または、マッピングされる)ことを示すデータを含み得る。データリンクインターフェースのIPアドレスが変わるとき、第1のデバイス110はルーティングテーブル188を更新することができる。ルーティングテーブル188は、例示的な非限定的な例として、メモリ116内、または第1のデバイス110のプロセッサのレジスタ内に記憶され得る。
特定の態様では、第1のデータパケットの第1のヘッダは、サービス品質(QoS)フィールド(たとえば、トラフィッククラスフィールド)を含み得る。第1のデバイス110は、QoSフィールドに基づいて、送信のために第1のデータパケットを処理することができる。たとえば、第1のデバイス110は、第1のデータパケットのQoSフィールドが他のパケットの第2のQoSフィールドの第2のQoSデータよりも高い送信優先順位を示すQoSデータを含むとの決定に応じて、別のパケットに先立って第1のデータパケットを送信することができる。QoSフィールド内に含まれたQoSデータは、図2を参照して説明するように、1つまたは複数のアプリケーションにデータリンクを割り当てるために使用され得る。
特定の態様では、第1のデバイス110は、データリンクサブネット識別子156(または、IPアドレス154)がNAN(たとえば、ワイヤレスネットワーク101)、第1のデータリンクグループ132、または両方のデバイスによって使用されるサブネット(または、IPアドレス)の識別子と競合するかどうかを決定することができる。たとえば、第1のデバイス110は別のデバイスから競合通知を受信することができる。競合通知は、データリンクサブネット識別子156(または、IPアドレス154)が他のデバイスによって使用されるサブネット(または、IPアドレス)の識別子と競合することを示す競合データを含み得る。競合通知は、第1のデバイス110からのメッセージ(たとえば、第1のデータパケット)に応答することができ、このメッセージは、データリンクサブネット識別子156、IPアドレス154、または両方を示す。第1のデバイス110は、競合通知の受信に応じて、データリンクサブネット識別子156、IPアドレス154、または両方を更新することができる。
デバイスは複数のデータリンクインターフェースを含み得る。たとえば、第2のデバイス108は、第1のデータリンクインターフェース162と第2のデータリンクインターフェース164とを含み得る。第1のデータリンクインターフェース162は第1のデータリンクグループ132に対応することができ、第2のデータリンクインターフェース164は第2のデータリンクグループ134に対応することができる。第2のデバイス108はデータリンクネットワーキング回路166も含んでよい。第2のデバイスのデータリンクネットワーキング回路166は、第1のデバイスのデータリンクネットワーキング回路114と同様に動作するように構成され得る。第2のデバイスのデータリンクネットワーキング回路166は、第2のデバイス108の動作を参照して本明細書で説明する1つまたは複数の機能を実行するように構成され得る。第2のデバイス108はメモリ168も含んでよい。メモリ168は、ネットワーキングデータ190を記憶することができる。
第2のデバイス108は、ルーティングプレフィックス158と、第1のデータリンクグループ識別子142に対応する第1のデータと、MACアドレス178に対応する第2のデータとに基づいて、第2のデバイスの第1のデータリンクインターフェース162の第1のIPアドレス170を生成することができる。たとえば、第2のデバイス108は、ルーティングプレフィックス158と第1のデータとを組み合わせることによって、第1のサブネット識別子を生成することができ、第2のデバイス108は、第1のサブネット識別子とMACアドレス178に対応する第2のデータとを組み合わせることによって第1のIPアドレス170を生成することができる。第2のデバイス108は、ルーティングプレフィックス158と、第2のデータリンクグループ識別子144に対応する第3のデータ(たとえば、第3の識別子)と、MACアドレス178に対応する第2のデータとに基づいて、第2のIPアドレス172を生成することができる。たとえば、第2のデバイス108は、ルーティングプレフィックス158と第3のデータとを組み合わせることによって、第2のサブネット識別子を生成することができ、第2のデバイス108は、第2のサブネット識別子と第2のデータとを組み合わせることによって、第2のIPアドレス172を生成することができる。
図1のシステム100は、データがIPアドレスを使用してデータリンクグループのデバイス間でルーティングされることを可能にし得る。デバイスの(または、デバイスにおける)アプリケーションは、データを対応するデータリンクグループのデバイスに送るために、どのデータリンクインターフェースが使用されているかに気付かない場合があり、デバイスのオペレーティングシステムはIPアドレスに基づいて正確なデータリンクインターフェースを提供することができる。レガシーアプリケーションは、対応するIPアドレスを使用して複数のデータリンクグループのデバイスと通信することが可能であり得る。
図2を参照すると、第2のデバイス108の説明のための例が示される。第2のデバイス108は、第1のアプリケーション208と、第2のアプリケーション210と、第3のアプリケーション212とを含み得る。第1のアプリケーション208および第2のアプリケーション210は、第1のデータリンクグループ132に対応し得る。たとえば、第1のアプリケーション208および第2のアプリケーション210は第1のIPアドレス170を使用することができる。例示のために、第1のアプリケーション208、第2のアプリケーション210、または両方は、第2のデバイス108のローカルソケットのためのアドレスとして第1のIPアドレス170を使用することができる。いくつかの実装形態では、第1のアプリケーション208、第2のアプリケーション210、または両方は、ローカルソケットとして一般ソケットを使用することができる。たとえば、第1のアプリケーション208、第2のアプリケーション210、または両方は、特定のネットワークインターフェースに結合されていないソケットを使用することができる。第2のデバイス108のオペレーティングシステム(OS)は、ルーティングテーブルを使用して、第1のIPアドレス170が第1のデータリンクインターフェース162にマッピングすると決定することができる。OSは、その決定に応じて、ローカルソケット(または、第1のIPアドレス170)に対応するデータを第1のデータリンクインターフェース162に導くことができる。
動作の間、アプリケーションレイヤにおいて、第1のアプリケーション208、第2のアプリケーション210、または両方が第1のデータを生成し得る。ネットワークレイヤにおいて、第1のデータリンクインターフェース162は、ペイロードとして第1のデータを含むデータパケットを生成することができる。データパケットのヘッダは、発信元アドレスとして第1のIPアドレス170を示すことができる。データリンクレイヤにおいて、データリンクXレイヤ204は、データパケットを含むフレーム(たとえば、MACフレーム)を生成することができる。物理レイヤにおいて、ワイヤレスフィデリティ(Wi-Fi)レイヤ202は、アンテナを使用して、ワイヤレス媒体(たとえば、エア)を介してフレームに対応するビットを送信することができる。
第3のアプリケーション212は、第2のデータリンクグループ134に対応し得る。たとえば、第3のアプリケーション212は第2のIPアドレス172を使用することができる。例示のために、第3のアプリケーション212は、第2のデバイス108のローカルソケットのためのアドレスとして第2のIPアドレス172を使用することができる。アプリケーションレイヤにおいて、第3のアプリケーション212は第2のデータを生成することができる。ネットワークレイヤにおいて、第2のデータリンクインターフェース164は、ペイロードとして第2のデータを含む第2のデータパケットを生成することができる。第2のデータパケットのヘッダは、発信元アドレスとして第2のIPアドレス172を示すことができる。データリンクレイヤにおいて、データリンクYレイヤ206は、第2のデータパケットを含む第2のフレーム(たとえば、MACフレーム)を生成することができる。物理レイヤにおいて、ワイヤレスフィデリティ(Wi-Fi)レイヤ202は、アンテナを使用して、ワイヤレス媒体(たとえば、エア)を介して第2のフレームに対応するビットを送信することができる。いくつかの実装形態では、データリンクXレイヤ204、データリンクYレイヤ206、または両方は、NDLレイヤを含んでよいか、またはそれに対応してよい。
いくつかの実装形態では、アプリケーション(たとえば、第1のアプリケーション208、第2のアプリケーション210、または第3のアプリケーション212)は、コマンドを下位レイヤ(たとえば、ネットワークレイヤまたはデータリンクレイヤ)に送るように構成され得る。コマンドは、新しいデータリンクインターフェースが作成されるべきであることを示し得る。特定の実装形態では、アプリケーションはコマンドを下位レイヤのドライバまたはファームウェア(たとえば、ファームウェアを実行するプロセッサ)に送ることができる。たとえば、アプリケーションは、プロセッサまたはデータリンクネットワーキング回路(たとえば、データリンクネットワーキング回路114またはデータリンクネットワーキング回路166)にコマンドを下位レイヤのドライバまたはファームウェアに送らせる(または、実行させる)ことができる。コマンドは、デバイスの下位レイヤにおいて新しいデータリンクインターフェースを作成させるように構成され得る。例示のために、第3のアプリケーション212はコマンド222をネットワークレイヤに送ることができる。コマンド222は、ネットワークレイヤにおいて、第2のデータリンクインターフェース164を生成させるように構成され得る。たとえば、コマンド222の実行は、第2のデータリンクインターフェース164を生成することができる。
追加または代替として、アプリケーションは他のコマンドを送ることができる。たとえば、第2のコマンドは、データリンクが削除、除去、または消去されるべきであることを示し得る。いくつかの実装形態では、アプリケーションがもはや提供されない、またはデバイスがもはやアプリケーションの消費者ではないなど、アプリケーションが非アクティブになることに応じて、アプリケーションは第2のコマンドを送ることができる。別の例として、第3のコマンドは、特定のデータリンクに対応する既存のデータリンクインターフェースが、別のデータリンクとともに再使用されるべきであること、または別のデータリンクに再度割り当てられるべきであることを示し得る。いくつかの実装形態では、再度割り当てられる既存のデータリンクインターフェースは、コマンドによって示されるQoSレベルなど、QoSレベルに基づいて選択され得る。代替として、コマンド(たとえば、データリンク生成コマンド)によって示されるQoSレベルがデータリンクインターフェースのQoS以下であるとの決定に応じて、データリンクインターフェースは再使用され得る(または、再度割り当てられ得る)。
第2のデバイス108は、このようにして、アプリケーション208〜212が一般(たとえば、標準)ソケットインターフェースを使用して、データをデータリンクグループに送ることを可能にし得る。たとえば、一般(たとえば、標準)ソケットインターフェースは、データリンクインターフェースに関するIPアドレスをアプリケーションに提供し、アプリケーションが対応するデータリンクグループのデバイスと通信することを可能にし得る。
図3Aを参照すると、データパケット300の説明のための例が示される。データパケット300は、IPv6データパケットに対応し得る。特定の態様では、データパケット300はシステム100の1つまたは複数のデバイスによって生成され得る。
データパケット300は、ヘッダ302とペイロード304とを含む。図1を参照しながら説明したように、ヘッダ302はQoSフィールド306を含み得る。ヘッダ302はデータリンクルーティングプレフィックス308を含み得る。データリンクルーティングプレフィックス308は、図1のルーティングプレフィックス158に対応し得る。たとえば、1つまたは複数の規格(たとえば、IEEE規格)は、データリンクネットワークに専用の1つまたは複数のデータリンクルーティングプレフィックスを指定することができる。データリンクルーティングプレフィックス308は、専用データリンクルーティングプレフィックスのうちの1つに対応し得る。いくつかの実装形態では、データリンクルーティングプレフィックス308は、NDLルーティングプレフィックスを含んでよいか、またはそれに対応してよい。
ヘッダ302は第1のデータ310を含み得る。第1のデータ310は、データリンクグループ識別子(たとえば、図1の第1のデータリンクグループ識別子142または第2のデータリンクグループ識別子144)に対応し得る。特定の実装形態では、第1のデータ310は、図1の第1のデータ150に対応し得る。例示のために、データリンクグループ(たとえば、第1のデータリンクグループ132)のデバイスは、図1を参照して説明したように、ワイヤレスネットワーク101内で使用中のデータリンクグループ識別子と競合しないデータリンクグループ識別子(たとえば、第1のデータリンクグループ識別子142)を生成することができる。デバイスは、ワイヤレスネットワーク101の他のデバイスに発見メッセージを送ることができる。発見メッセージは、データリンクグループ識別子(たとえば、第1のデータリンクグループ識別子142)を示し得る。第1のデータ310は、データリンクグループ識別子(たとえば、第1のデータリンクグループ識別子142)に基づいて生成し得る。たとえば、第1のデータ310は、図1を参照して説明したように、データリンクグループ識別子に、または関数(たとえば、図1のハッシュ関数180)をデータリンクグループ識別子に適用した結果に対応し得る。いくつかの実装形態では、データリンクグループ識別子は、NDLグループ識別子を含んでよいか、またはそれに対応してよい。
ヘッダ302は第2のデータ312を含み得る。第2のデータ312はデバイス固有であり得る。たとえば、第2のデータ312は、デバイス(たとえば、第1のデバイス110または第2のデバイス108)のMAC識別子(たとえば、MACアドレス)に対応し得る。特定の態様では、第2のデータ312は、図1の第2のデータ152に対応し得る。代替の実装形態では、ヘッダ302は、例示された数のフィールドよりも多いかまたは少ないフィールドを含み得る。
データリンクルーティングプレフィックス308と第1のデータ310との組合せは、データリンクサブネット識別子320に対応し得る。データリンクサブネット識別子320は、図1のデータリンクサブネット識別子156に対応し得る。いくつかの実装形態では、データリンクサブネット識別子320は、NDLサブネット識別子を含んでよいか、またはそれに対応してよい。データリンクサブネット識別子320と第2のデータ312との組合せは、IPアドレス322(たとえば、発信元IPアドレスまたは宛先IPアドレス)に対応し得る。IPアドレス322は、図1のIPアドレス154、第1のIPアドレス170、または第2のIPアドレス172に対応し得る。データリンクルーティングプレフィックス308は、第1の数のビット(たとえば、48ビット)を含み得る。第1のデータ310は第2の数のビット(たとえば、16ビット)を含み得る。第2のデータ312は第3の数のビット(たとえば、64ビット)を含み得る。
デバイスが複数のデータリンクインターフェースを含むとき、デバイスによる(または、デバイスにおける)ある種のタイプのIPv6アドレス生成および割り当て動作は、同じサブネット内にある複数のIPv6アドレスを有するデータリンクインターフェースをもたらし得る。たとえば、リンクローカルアドレスが使用される場合、デバイスの(または、デバイスにおける)データリンクインターフェースの各々に割り当てられたIPv6アドレスは、同じサブネットの一部であり得る。動作の間、デバイスの(または、デバイスにおける)アプリケーションは、複数のデータリンクインターフェースのうちの1つに転送/ルーティングするためのメッセージをデバイスのオペレーティングシステムに提供することができる。しかしながら、アプリケーションはデータリンクインターフェースを明示的に識別することができず、むしろいずれかの単一のデータリンクインターフェースに結合されていないソケットを使用することができる。リンクローカルアドレスが使用される(同じサブネット上にデータリンクインターフェースをもたらす)とき、オペレーティングシステムはデータリンクインターフェース間の曖昧さを除去することができない場合がある。たとえば、オペレーティングシステムは、1つのデータリンクインターフェースをもう1つのデータリンクインターフェースと区別することができない場合がある。そのような状況において、オペレーティングシステムはメッセージをドロップすることができる。したがって、デバイスがそのデータリンクインターフェースを割り当てるIPv6アドレスがサブネットレベルにおいて区別可能になることは有益であろう。
図3Bを参照すると、サブネットレベルにおいて区別され得るIPv6アドレス330の特定の説明のための例が示される。例示的な態様では、IPv6アドレス330は、デバイス(たとえば、第1のデバイス110または第2のデバイス108)によって生成され、デバイスのデータリンクインターフェース(たとえば、図1のデータリンクインターフェース112、162、または164)に割り当てられることが可能である。たとえば、IPv6アドレス330は、図3AのIPアドレス322の代わりにデータパケット内で使用され得る。
特定の態様では、IPv6アドレス330は、最初の(たとえば、初期の)7ビットがローカルアドレスプレフィックス332である128ビットアドレスである。ローカルアドレスプレフィックス332はグローバルにルーティング不可能なアドレスプレフィックスであり得る。説明のための例では、ローカルアドレスプレフィックス332は、「fd00::/8」または「fc00::/8」など、「fc00::/7」ブロック内のIPv6一意ローカルアドレス(ULA)プレフィックスである。いくつかの態様では、IPv6 ULAプレフィックスを有するIPv6アドレスは、団体(たとえば、事業、企業エンティティ、プライベートネットワークなど)内で一意であるが、グローバル一意であることを保証されない。したがって、IPv6 ULAプレフィックスを有するIPv6アドレスは、団体内のローカル通信に好適であり得る。特定の態様では、ローカルアドレスプレフィックス332は、コメント要請(RFC)4193で説明されるIPv6 ULAプレフィックスであり得る。さらに、IPv6 ULAプレフィックスを有するIPv6アドレスは、登録エンティティによって割り当てられてよく、その登録エンティティに従って動作する団体にわたって一意であり得る。
特定の態様では、ローカルアドレスプレフィックス332に連続的に続くビットはローカルインジケータビット334である。ローカルインジケータビット334は、IPv6アドレス330がローカルに割り当てられるかどうかを示し得る。特定の例では、ローカルアドレスプレフィックス332が、IPv6アドレス330がローカルに割り当てられていることを示すIPv6 ULAプレフィックスであるとき、ローカルインジケータビット334は第1の値(たとえば、1)を有し得る。
特定の態様では、ローカルインジケータビット334に連続的に続く40ビットは第1の識別子336である。説明のための例では、第1の識別子336は、事業、企業エンティティ、プライベートネットワークなど、団体に対応する(マッピングする)。第1の識別子336は特定の団体に「一意」である「グローバル」識別子であり得る。たとえば、他の団体が競合を回避するために異なる「グローバル」識別子を選択することができるように、団体とその「グローバル」識別子との間の「マッピング」は登録データベースまたは他の公開情報ソース内に記憶され得る。第1の識別子336がグローバル一意であるとき、ローカルアドレスプレフィックス332とローカルインジケータビット334と第1の識別子336との組合せもグローバル一意であることを諒解されよう。たとえば、ローカルアドレスプレフィックス332とローカルインジケータビット334と第1の識別子336との組合せは、ワイヤレス規格団体(たとえば、Wi-Fiアライアンス)、IPv6配備およびトンネルブローカなど、登録エンティティによって記録される「グローバル一意」プレフィックス(特定の企業に関する)に対応し得る。
特定の態様では、第1の識別子336に連続的に続く16ビットは第2の識別子338である。第2の識別子338は、団体またはウェブサイト内のサブセットを識別するサブセット識別子であり得る。いくつかの例では、ハッシュ関数(たとえば、図1のハッシュ関数180)をデータリンクグループ識別子に適用することによって、第2の識別子338が生成される。データリンクグループ識別子およびデータリンクグループ識別子のハッシュはNANまたはNANクラスタ内で一意であり得る。したがって、データリンクインターフェースは異なるデータリンクグループ識別子に対応し得るため、第2の識別子338は、同じデバイスの異なるデータリンクインターフェース間で異なるサブネット識別子であり得る。
特定の態様では、第2の識別子338に連続的に続く、64ビットのIPv6アドレス330はインターフェース識別子340である。一例では、データリンクインターフェースのインターフェース識別子340は、データリンクインターフェースのMACアドレス(たとえば、48ビットのMACアドレス)、データリンクインターフェースを含むデバイスのMACアドレス、デバイスのハードウェアネットワーキング構成要素に関するMACアドレスなどに基づいて生成される。例示のために、データリンクインターフェースに関する48ビットのMACアドレスを使用して、MACアドレスをIEEE EUI-64フォーマットに変換することによって、64ビットのインターフェース識別子340を生成することができる。
特定の態様では、変換プロセスは、MACアドレスを2つの24ビットの等分に分割し、2つの等分間に16ビット値を挿入することを含み得る。一例では、16ビット値は、MACアドレスから生成されたEUI-64に関する予約値であり得る0xFFFEである。いくつかの例では、16ビット値を挿入した後で、EUI-64内のユニバーサル/ローカル(U/I)ビットをフリップして、EUI-64がグローバル一意でないことを示すことができる。代替として、U/Lビットをフリップせず、EUI-64がインターフェース識別子であることを示すこともできる。
図3Cを参照すると、IPv6アドレス360の別の例が示される。IPv6アドレス360は、「グローバル一意」プレフィックス362と、サブネット識別子364と、インターフェース識別子366とを含む。説明のための例では、サブネット識別子364は、図3Bの16ビットの第2の識別子338であり、インターフェース識別子366は、図3Bの64ビットのインターフェース識別子340である。例示的な態様では、IPv6アドレス360は、図3AのIPアドレス322の代わりにデータパケット内に含まれ得る。
グローバル一意プレフィックス362は、ローカルアドレスプレフィックス(たとえば、図3Bのローカルアドレスプレフィックス332)とローカルインジケータビット(たとえば、図3Bのローカルインジケータビット334)と団体識別子(たとえば、図3Bの第1の識別子336)との組合せに対応し得る。特定の態様では、48ビットのグローバル一意プレフィックス362は、ワイヤレスネットワーキング規格、IPv6配備およびブローカなど、登録エンティティによって記録され得る。いくつかの態様では、グローバル一意プレフィックス362は、団体(たとえば、事業、企業エンティティ、プライベートネットワークなど)内または登録エンティティに従って動作する団体内で一意であり得るが、グローバル一意プレフィックス362はグローバル一意であると保証されない場合がある。
図3Bおよび図3Cは、したがって、デバイスによって生成され、デバイスのデータリンクインターフェースに割り当てられ得る代替的なIPv6アドレスを示す。図3Bまたは図3Cを参照して説明したようなフォーマットを有するIPv6アドレスが使用されるとき、アプリケーションは、結合されていないソケットを使用して、メッセージをオペレーティングシステムに提供することができる場合があり、オペレーティングシステムは、どの特定のデータリンクインターフェースにメッセージを転送するかを決定することができる場合がある。たとえば、オペレーティングシステムは、ローカルルーティングテーブルを調べて、メッセージ内の宛先アドレスのプレフィックス(たとえば、最初の48ビットまたは64ビット)をローカルデータリンクインターフェースのプレフィックスとマッチさせることができる。
図4を参照すると、データパケット400の説明のための例が示される。データパケット400は、IPv4データパケットに対応し得る。特定の態様では、データパケット400はシステム100の1つまたは複数のデバイスによって生成され得る。
データパケット400は、ヘッダ402とペイロード404とを含む。ヘッダ402はルーティングプレフィックス408を含み得る。ルーティングプレフィックス408は、図1のルーティングプレフィックス158に対応し得る。たとえば、ルーティングプレフィックス408はグローバルにルーティング不可能なプレフィックスであり得る。例示のために、1つまたは複数の団体(たとえば、インターネットエンジニアリングタスクフォース(IETF)またはIEEE)は、プレフィックスの範囲(たとえば、IPv4アドレスプレフィックス)が、グローバルにルーティング不可能であること、またはIETF RFC 1918プレフィックスなど、プライベートインターネットのために割り振られることを指定し得る。ルーティングプレフィックス408はプレフィックスの範囲内に含まれ得る。
ヘッダ402は第1のデータ410を含み得る。第1のデータ410は、データリンクグループ識別子(たとえば、第1のデータリンクグループ識別子142または第2のデータリンクグループ識別子144)に対応し得る。たとえば、第1のデータ410は、図1の第1のデータ150でよい。例示のために、データリンクグループ(たとえば、第1のデータリンクグループ132)のデバイスは、図1を参照して説明したように、ワイヤレスネットワーク101内で使用中のデータリンクグループ識別子と競合しないデータリンクグループ識別子(たとえば、第1のデータリンクグループ識別子142)を生成することができる。デバイスは、ワイヤレスネットワーク101の他のデバイスに発見メッセージを送ることができる。発見メッセージは、データリンクグループ識別子(たとえば、第1のデータリンク識別子142)を示し得る。第1のデータ410は、データリンクグループ識別子(たとえば、図1の第1のデータリンクグループ識別子142)に基づいて生成され得る。特定の実装形態では、第1のデータ410は、図1を参照して説明したように、データリンクグループ識別子に、または関数(たとえば、図1のハッシュ関数180)をデータリンクグループ識別子に適用した結果に対応し得る。いくつかの実装形態では、データリンクグループ識別子は、NDLグループ識別子を含んでよいか、またはそれに対応してよい。
ヘッダ402は第2のデータ412を含み得る。第2のデータ412はデバイス固有であり得る。たとえば、第2のデータ412は、デバイス(たとえば、第1のデバイス110または第2のデバイス108)のMAC識別子(たとえば、MACアドレス)に対応し得る。特定の態様では、第2のデータ412は、図1の第2のデータ152に対応し得る。代替の実装形態では、ヘッダ402は、例示された数のフィールドよりも多いかまたは少ないフィールドを含み得る。
ルーティングプレフィックス408と第1のデータ410との組合せは、データリンクサブネット識別子420に対応し得る。データリンクサブネット識別子420は、図1のデータリンクサブネット識別子156に対応し得る。いくつかの実装形態では、データリンクサブネット識別子420は、NDLサブネット識別子を含んでよいか、またはそれに対応してよい。データリンクサブネット識別子420と第2のデータ412との組合せは、IPアドレス422(たとえば、発信元IPアドレスまたは宛先IPアドレス)に対応し得る。IPアドレス422は、図1のIPアドレス154、第1のIPアドレス170、または第2のIPアドレス172に対応し得る。ルーティングプレフィックス408は、第1の数のビット(たとえば、8ビット)を含み得る。第1のデータ410と第2のデータ412との組合せは、第2の数のビット(たとえば、24ビット)を含み得る。
ルーティングプレフィックス408は非データリンクデバイス(たとえば、Wi-Fiアクセスポイント)によって使用され得るため、データリンクサブネット識別子420は、NANまたはデータリンクグループ(たとえば、第1のデータリンクグループ132または第2のデータリンクグループ134)内で一意でない場合がある。たとえば、別のデバイスは、データリンクサブネット識別子420にマッチするサブネット識別子を使用するインフラストラクチャ接続を有し得る。データリンクサブネット識別子420は、衝突回避方式を使用して更新され得る。たとえば、他のデバイスは、たとえば、データリンクサブネット識別子420を示すメッセージ(アドレス解決プロトコル(ARP)メッセージなど)の受信に応じて、データリンクサブネット識別子420との競合を示す競合通知を送ることができる。データリンクサブネット識別子420を生成したデバイス(たとえば、第1のデバイス110)は、競合通知の受信に応じて、データリンクサブネット識別子420を更新することができる。たとえば、競合通知は、他のデバイスにおいて使用中である1つまたは複数のグローバルにルーティング不可能なプレフィックスを示し得る。第1のデバイス110は、使用中であるとして最近検出されているグローバルにルーティング不可能なプレフィックスを示すプレフィックスデータを維持することができる。第1のデバイス110は、使用中であるとして、または使用中であるとして最近検出されているプレフィックスデータによって示されないルーティングプレフィックスに対応するようにデータリンクサブネット識別子420を更新することができる。
特定の実装形態では、第1のデバイス110は、デバイスによって(または、デバイスにおいて)使用中であるグローバルにルーティング不可能なプレフィックスを示すメッセージ(たとえば、競合通知)を第1のデータリンクグループ132の複数のデバイスから受信することができる。第1のデバイス110は、メッセージ内に示されていないルーティングプレフィックスに対応するようにデータリンクサブネット識別子420の値を更新することができる。代替実装形態では、第1のデバイス110は、提案されるルーティングプレフィックスを含むメッセージを第1のデータリンクグループ132のデバイスに送ることができ、提案されるルーティングプレフィックスの各々との競合が存在するかどうかを示す返答をデバイスから受信することができる。第1のデバイス110は、返答によって示された、より少ない数の競合を有するか、または競合をまったく有さない、提案されるルーティングプレフィックスに対応するようにデータリンクサブネット識別子420を更新することができる。
図5を参照すると、データリンクインターフェースIPアドレス生成の方法500の一例が示される。方法500は、図1のシステム100の1つまたは複数のデバイスによって実行されてもよい。
方法500は、502において、デバイスがデータリンクグループのデータリンクグループ識別子に対応する第1の識別子を決定するステップを含む。たとえば、第1のデバイス110は、図1を参照して説明したように、第1のデータリンクグループ識別子142に対応する第1のデータ150を決定することができる。例示のために、第1のデータ150は、図1を参照して説明したように、第1のデータリンクグループ識別子142に、または関数(たとえば、ハッシュ関数180)を第1のデータリンクグループ識別子142に適用した結果(たとえば、16ビット)に対応し得る。別の例として、第1の識別子は、図3Aの第1のデータ310、図3Bの第2の識別子338、図3Cのサブネット識別子364、または図4の第1のデータ410を含んでよいか、またはそれに対応してよい。
方法500はまた、504において、デバイスによって、デバイスに対応する第2の識別子を決定するステップを含む。たとえば、第1のデバイス110は、図1を参照して説明したように、第1のデバイス110に対応する第2のデータ152を決定することができる。例示のために、第2のデータ152(たとえば、64ビット)は、図1を参照して説明したように、MACアドレス160に基づいて生成され得る。別の例として、第2の識別子は、図3Aの第2のデータ312、図3Bのインターフェース識別子340、図3Cのインターフェース識別子366、または図4の第2のデータ412を含んでよいか、またはそれに対応してよい。
方法500は、506において、デバイスによって、データリンクルーティングプレフィックスと第1のデータと第2のデータを組み合わせることによってデバイスのデータリンクインターフェースに関するインターネットプロトコル(IP)アドレスを生成するステップをさらに含む。たとえば、第1のデバイス110は、図1を参照して説明したように、ルーティングプレフィックス158と第1のデータ150と第2のデータ152とを連結することによって、第1のデータリンクインターフェース112のIPアドレス154を生成することができる。別の例として、データリンクルーティングプレフィックスは、図3Aのデータリンクルーティングプレフィックス308、図3Cのグローバル一意プレフィックス362、または図4のルーティングプレフィックス408を含んでよいか、またはそれに対応してよい。いくつかの実装形態では、データリンクルーティングプレフィックスは、NDLネットワークによる使用専用であるNDLルーティングプレフィックス(たとえば、48ビットプレフィックス)に対応し得る。
いくつかの実装形態では、方法500は、デバイスのデータリンクインターフェースに関するIPアドレスに基づいて、第1のデータパケットをデバイスからデータリンクグループの1つまたは複数のデバイスに送るステップを含み得る。たとえば、第1のデータパケットは、図1の第1のデータパケット、図3Aのデータパケット300、または図4のデータパケット400を含んでよいか、またはそれに対応してよい。方法500はまた、デバイスのデータリンクインターフェースに関するIPアドレスに基づいて、データリンクグループの1つまたは複数のデバイスの第2のデバイスから第2のデータパケットを受信するステップを含み得る。たとえば、第1のデバイス110は、第1のデータリンクグループ132の1つまたは複数のデバイスに第1のデータパケットを送ることができ、第2のデバイス108から第2のデータパケットを受信することができる。
いくつかの実装形態では、方法500は、第1の識別子を決定するために、ハッシュ関数をデータリンクグループ識別子に適用するステップを含み得る。いくつかの実装形態では、データリンクグループは、近隣認識ネットワーク(NAN)の近隣認識ネットワークデータリンク(NDL)グループに対応することができ、データリンクグループ識別子はNAN内で一意であり得る。
いくつかの実装形態では、方法500は、デバイスによって、データリンクサブネット識別子を生成するために、第1の識別子をデータリンクルーティングプレフィックスと組み合わせるステップを含み得る。たとえば、データリンクサブネット識別子は、図3Aのデータリンクサブネット識別子320または図4のデータリンクサブネット識別子420を含むことが可能であるか、またはそれに対応することができる。特定の実装形態では、方法500は、デバイスによって、IPアドレスなど、アドレスを生成するために、データリンクサブネット識別子と第2の識別子とを組み合わせる(たとえば、連結する)ステップをさらに含み得る。IPアドレスは、IPバージョン6(IPv6)アドレスまたはIPバージョン4(IPv4)アドレスに対応し得る。
いくつかの実装形態では、方法500は、データリンクサブネット識別子がデータリンクネットワークのデバイスによって使用されるサブネットの識別子と競合するかどうかを決定するステップを含み得る。方法500はまた、データリンクサブネット識別子がデータリンクネットワークのデバイスによって使用されるサブネットの識別子と競合するとの決定に応じて、データリンクサブネット識別子を更新するステップを含み得る。
いくつかの実装形態では、方法500は、第2のデバイスから競合通知を受信するステップであって、競合通知が、データリンクサブネット識別子が別のデバイスによって使用中であることを示す競合データを含む、受信するステップを含み得る。方法500はまた、競合通知の受信に応じて、データリンクサブネット識別子がデータリンクネットワークのデバイスによって使用されるサブネットの識別子と競合すると決定するステップを含み得る。特定の実装形態では、デバイスは、競合の検出または決定に応じて、競合メッセージを生成し、送ることができる。
いくつかの実装形態では、方法500は、デバイスによって、ローカルアドレスプレフィックスを決定するステップを含み得る。たとえば、ローカルアドレスプレフィックスは、図3Bのローカルアドレスプレフィックス332を含んでよいか、またはそれに対応してよい。方法500はまた、デバイスによって、団体に対応する第3の識別子を決定するステップであって、データリンクルーティングプレフィックスが、ローカルアドレスプレフィックスと、ローカルインジケータビットと、第3の識別子とを含む、決定するステップを含み得る。たとえば、ローカルインジケータビットはローカルインジケータビット334を含むことが可能であるか、またはそれに対応することができ、第3の識別子は図3Bの第1の識別子336を含んでよいか、またはそれに対応してよい。特定の実装形態では、ローカルアドレスプレフィックスは、インターネットエンジニアリングタスクフォースコメント要請1918による、IPバージョン6(IPv6)一意ローカルアドレス(ULA)プレフィックス、またはIPバージョン4(IPv4)プレフィックスに対応する。
いくつかの実装形態では、方法500はデバイスのアプリケーションによって第1のコマンドを生成するステップを含み得る。第1のコマンドは、第2のデータリンクインターフェースを生成するようにデバイスに命令することができる。たとえば、アプリケーションは、図2の第1のアプリケーション208、第2のアプリケーション210、または第3のアプリケーション212を含んでよいか、またはそれに対応してよい。第2のデータリンクインターフェースは、図1および図2の第2のデータリンクインターフェース164を含んでよいか、またはそれに対応してよい。方法500はまた、デバイスにおいて、第1のコマンドの実行に応じて、第2のデータリンクインターフェースを生成するステップを含み得る。第2のデータリンクインターフェースは、第2のIPアドレスおよび第2のデータリンクグループに対応し得る。方法500は、第2のコマンドの実行に応じて、第3のIPアドレスを第2のデータリンクインターフェースに割り当てるステップを含み得る。第2のデータリンクインターフェースは、第3のデータリンクグループに対応し得る。方法500は、デバイスにおける第3のコマンドの実行に応じて、第2のデータリンクインターフェースを除去する(または、削除する)ステップをさらに含み得る。たとえば、プロセッサは、図2を参照して説明したように、ネットワークレイヤにおいて、第2のデータリンクインターフェース164を生成すること、第2のデータリンクインターフェース164を割り当てること、および第2のデータリンクインターフェース164を削除することができる。
いくつかの実装形態では、データリンクインターフェースは、データリンクグループの1つまたは複数のデバイスに第1のデータパケットを送るように構成され得る。第1のデータパケットのヘッダは、第1のデータパケットの発信元アドレスとしてデータリンクインターフェースに関するIPアドレスを示すアドレスデータを含み得る。たとえば、ヘッダは、図3Aのヘッダ302または図4のヘッダ402を含んでよいか、またはそれに対応してよい。
いくつかの実装形態では、受信機はプロセッサに結合されてよく、受信機は、データリンクグループの第2のデバイスから第2のデータパケットを受信するように構成され得る。たとえば、受信機は、図1の第1のデバイス110の受信機を含んでよいか、またはそれに対応してよい。第2のデータパケットの第2のヘッダは、第2のデータパケットの宛先アドレスとして、データリンクインターフェースに関するIPアドレスを示す第2のアドレスデータを含み得る。受信機はまた、第2のデータパケット内に含まれたIPアドレスに基づいて、第2のデータパケットをデータリンクインターフェースに提供することができる。
いくつかの実装形態では、方法500は、デバイスにおいて第2のデータインターフェースを生成するステップを含み得る。たとえば、第2のデータインターフェースは、図1または図2の第2のデータリンクインターフェース164を含んでよいか、またはそれに対応してよい。方法500はまた、第2のデータリンクグループの第2のデータリンクグループ識別子に対応する第3の識別子を決定するステップを含み得る。たとえば、第3の識別子は、図1の第2のデータリンクグループ識別子144を含んでよいか、またはそれに対応してよい。方法500は、デバイスの第2のMAC識別子に基づいて、第4の識別子を決定するステップを含み得る。第4の識別子、第2のMAC識別子、または両方は、図1のMACアドレス178を含んでよいか、またはそれに対応してよい。方法500は、データリンクルーティングプレフィックスと第3の識別子と第4の識別子との組合せに基づいて、第2のデータリンクインターフェースに関する第2のIPアドレスを生成するステップをさらに含み得る。たとえば、第2のIPアドレスは、図1の第2のIPアドレス172を含んでよいか、またはそれに対応してよい。
いくつかの実装形態では、IPアドレスは、最初の7ビットがローカルアドレスプレフィックスを示し、ローカルアドレスプレフィックスに連続的に続くビットがローカルインジケータビットを含み、ローカルインジケータビットが、IPv6アドレスがローカルに割り当てられていることを示す第1の値を有する、128ビットのIPバージョン6(IPv6)アドレスを含む。IPアドレスは、ローカルインジケータビットに連続的に続く40ビットが第5の識別子を示し、第5の識別子に連続的に続く16ビットが第1の識別子を示し、第1の識別子に連続的に続く64ビットが第2の識別子を示す、128ビットのIPバージョン6(IPv6)アドレスをさらに含む。たとえば、第5の識別子は、図3Bの第1の識別子336を含んでよいか、またはそれに対応してよい。
方法500は、データリンクインターフェースに関するIPアドレス(たとえば、128ビットのIPv6アドレス)の生成を可能にし得る。生成されたIPアドレスは、データリンクネットワーク専用のデータリンクルーティングプレフィックスに基づき得る。生成されたIPアドレスは第1のデータリンクグループ132内で一意であり得る。方法500は、データリンクグループのデバイスが一意IPアドレスを生成し、非一意IPアドレスとの競合を検出するために使用されているであろうリソースを節約することを可能にし得る。さらに、方法500は、デバイスが、デバイスの複数のデータリンクインターフェースの各データリンクインターフェースに関する一意IPアドレスを生成および割り当てることを可能にし得る。
図6を参照すると、データリンクインターフェースIPアドレス生成の方法600の別の例が示される。方法600は、図1のシステム100の1つまたは複数のデバイスによって実行されてもよい。
方法600は、602において、デバイスがデータリンクグループのデータリンクグループ識別子に対応する第1の識別子を決定するステップを含む。たとえば、第1のデバイス110は、図1を参照して説明したように、第1のデータリンクグループ132の第1のデータリンクグループ識別子142に対応する第1のデータ150を決定することができる。例示のために、第1のデータ150は、第1のデータリンクグループ識別子142に、または関数(たとえば、ハッシュ関数180)を第1のデータリンクグループ識別子142に適用した結果に対応し得る。
方法600はまた、604において、デバイスによって、第1のデータをルーティングプレフィックスと組み合わせることによって、データリンクサブネット識別子を生成するステップを含む。たとえば、第1のデバイス110は、図1を参照して説明したように、第1のデータ150をルーティングプレフィックス158と組み合わせること(たとえば、結合すること)によって、データリンクサブネット識別子156を生成することができる。例示のために、ルーティングプレフィックス158(たとえば、8ビット)はグローバルにルーティング不可能なプレフィックスに対応し得る。
方法600は、606において、デバイスによって、デバイスに対応する第2の識別子を決定するステップをさらに含む。たとえば、第1のデバイス110は、第1のデバイス110に対応する第2のデータ152を決定することができる。例示のために、第2のデータ152は、MACアドレス160に基づいて生成され得る。
方法600はまた、608において、デバイスによって、データリンクサブネット識別子と第2のデータを組み合わせることによってデバイスのデータリンクインターフェースに関するIPアドレス(たとえば、IPv4アドレス)を生成するステップを含む。たとえば、第1のデバイス110は、図1を参照して説明したように、データリンクサブネット識別子156と第2のデータ152とを組み合わせること(たとえば、連結すること)によって、第1のデータリンクインターフェース112のIPアドレス154を生成することができる。
方法600は、データリンクインターフェースに関するIPアドレスの生成を可能にし得る。IPアドレスは、第1のデータリンクグループ132の1つまたは複数のデバイスと通信するために第1のデバイス110のアプリケーションによって使用され得る。方法600は、データリンクグループのデバイスが一意IPアドレスを生成し、非一意IPアドレスとの競合を検出するために使用されているであろうリソースを節約することを可能にし得る。
図7を参照すると、データリンクインターフェースIPアドレス生成の方法700の別の例が示されている。方法700は、図1のシステム100の1つまたは複数のデバイスによって実行されてもよい。
方法700は、702において、デバイスがローカルアドレスプレフィックスを決定するステップを含む。たとえば、第1のデバイス110は、図3Bのローカルアドレスプレフィックス332など、ローカルアドレスプレフィックスを決定することができる。特定の態様では、ローカルアドレスプレフィックスはIPv6 ULAプレフィックスである。
方法700はまた、704において、デバイスによって、団体に対応する第1の識別子を決定するステップと、706において、データリンクグループ識別子に対応する第2の識別子を決定するステップとを含む。たとえば、第1のデバイス110は、図3Bの第1の識別子336および図3Bの第2の識別子338を決定することができる。特定の態様では、第1の識別子は40ビットの識別子であってよく、第2の識別子は、ハッシュ関数(たとえば、図1のハッシュ関数180)をデータリンクグループ識別子に適用することによって決定される、16ビットのサブネット識別子であってよい。
方法700は、708において、デバイスによって、少なくともローカルアドレスプレフィックスとローカルインジケータビットと第1の識別子と第2の識別子との組合せに基づいて、デバイスのデータリンクインターフェースに関するIPアドレスを生成するステップをさらに含む。たとえば、第1のデバイス110は、少なくともローカルアドレスプレフィックスとローカルインジケータビットと第1の識別子と第2の識別子とを組み合わせること(たとえば、結合すること)によって、図3BのIPv6アドレス330または図3CのIPv6アドレス360を決定することができる。方法700を繰り返して、デバイスの追加のデータリンクインターフェースに関するIPアドレスを生成することができる。たとえば、方法700を繰り返して、少なくともローカルアドレスプレフィックスとローカルインジケータビットと第1の識別子と第2の識別子とを組み合わせること(たとえば、結合すること)によって、第2のデータリンクインターフェースに関する第2のIPアドレスを生成することができる。第2のIPアドレスは、いくつかの例では、第1のデータリンクインターフェースの第1のインターフェース識別子とは異なる場合がある、第2のデータリンクインターフェースの第2のインターフェース識別子を含み得る。代替例では、デバイスの複数のデータリンクインターフェースは、同じ48ビットのMACアドレスを有し得、したがって、同じ64ビットのデータリンクインターフェース識別子を有し得る。しかしながら、IPv6アドレスのこれらの下位64ビットが同じであるときですら、IPv6アドレスは全体として、それでも異なる場合があるが、これは、IPv6アドレス内のそれぞれのサブネット識別子を決定するために異なるデータリンクグループ識別子を使用するため、IPv6アドレスの64上位(たとえば、プレフィックス)ビットが異なる場合があるためである。
方法700は、このようにして、データリンクインターフェースに関するIPアドレスの生成を可能にし得る。たとえば、IPアドレスは、第1のデータリンクグループ132の1つまたは複数のデバイスと通信するために第1のデバイス110のアプリケーションによって使用され得る。方法700は、データリンクグループのデバイスが一意IPアドレスを生成し、非一意IPアドレスとの競合を検出するために使用されているであろうリソースを節約することを可能にし得る。
特定の態様では、図5〜図7の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)のような処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはこれらの任意の組合せによって実装され得る。例として、図8に関連して説明されるように、図5〜図7の方法の1つまたは複数は、個々に、または組み合わされて、命令を実行するプロセッサによって実行され得る。例示すると、図5〜図7の方法の1つの第1の部分が、図5〜図7の方法の1つの第2の部分と組み合わされ得る。さらに、図5〜図7を参照して説明した1つまたは複数の部分は、任意選択であってよく、少なくとも部分的に同時に実行されてよく、示された順序または説明された順序とは異なる順序で実行されてよく、またはこれらの組合せであってもよい。
図8を参照すると、ワイヤレス通信デバイス800の説明のための例が示される。デバイス800は、図1のシステム100のデバイス(たとえば、第1のデバイス110、第2のデバイス108、または両方)のうちの少なくとも1つに対応し得る。
デバイス800は、メモリ832に結合されたプロセッサ810(たとえば、デジタル信号プロセッサ(DSP)または中央処理装置(CPU))を含む。メモリ832は、図1のメモリ168、メモリ116、または両方に対応し得る。たとえば、メモリ832は、ネットワーキングデータ190、ネットワーキングデータ192、または両方を含み得る。メモリ832は命令868を含み得る。プロセッサ810は、データリンクネットワーキング回路890に結合されてよく、またはそれを含んでよい。データリンクネットワーキング回路890は、本明細書で説明する方法、デバイス、およびシステムの1つまたは複数の動作を実行するように構成され得る。データリンクネットワーキング回路890は、図1のデータリンクネットワーキング回路114、データリンクネットワーキング回路166、または両方に対応し得る。プロセッサ810、データリンクネットワーキング回路890、または両方は、データリンクインターフェース892に結合され得る。データリンクインターフェース892は、第1のデータリンクインターフェース112、第1のデータリンクインターフェース162、第2のデータリンクインターフェース164、またはこれらの組合せに対応し得る。
特定の態様では、データリンクネットワーキング回路890は、図1を参照して説明したように、第1のデータリンクグループ識別子142に対応する第1のデータ150を決定するように構成され得る。データリンクネットワーキング回路890は、図1を参照して説明したように、デバイス800に対応する第2のデータ152を決定するように構成され得る。データリンクネットワーキング回路890は、図1を参照して説明したように、ルーティングプレフィックス158と第1のデータ150と第2のデータ152とを組み合わせることによって、データリンクインターフェース892のIPアドレス154を生成するように構成され得る。
特定の態様では、データリンクネットワーキング回路890は、図3Bを参照して説明したように、ローカルアドレスプレフィックス332、ローカルインジケータビット334、第1の識別子336、第2の識別子338、およびインターフェース識別子340を決定するように構成され得る。データリンクネットワーキング回路890は、図3BのIPv6アドレス330を生成するために、ローカルアドレスプレフィックス332とローカルインジケータビット334と第1の識別子336と第2の識別子338とインターフェース識別子340とを組み合わせるように構成され得る。代替または追加として、データリンクネットワーキング回路890は、図3Cを参照して説明したように、グローバル一意プレフィックス362、サブネット識別子364、およびインターフェース識別子366を決定するように構成され得る。データリンクネットワーキング回路890は、図3CのIPv6アドレス360を生成するために、グローバル一意プレフィックス362とサブネット識別子364とインターフェース識別子366とを組み合わせるように構成され得る。
特定の実装形態では、データリンクネットワーキング回路890は、プロセッサ810などを介して、オンチップで実装され得る。たとえば、メモリ832は、プロセッサ810にデータリンクネットワーキング回路890の動作を実行させるようにプロセッサ810によって実行可能なコンピュータ実行可能命令868を記憶した、コンピュータ可読記憶デバイス(たとえば、非一時的コンピュータ可読媒体)であってよい。たとえば、プロセッサ810は、図1を参照して説明したように、第1のデータ150を決定することができ、第2のデータ152を決定することができ、ルーティングプレフィックス158と第1のデータ150と第2のデータ152とを組み合わせることによって、IPアドレス154を生成することができる。別の例として、プロセッサ810は、ローカルアドレスプレフィックス332、ローカルインジケータビット334、第1の識別子336、第2の識別子338、およびインターフェース識別子340を決定することができ、ローカルアドレスプレフィックス332とローカルインジケータビット334と第1の識別子336と第2の識別子338とインターフェース識別子340とを組み合わせることによって、IPv6アドレスを生成することができる。代替または追加として、プロセッサ810は、グローバル一意プレフィックス362、サブネット識別子364、およびインターフェース識別子366を決定することができ、IPv6アドレス360を生成するために、グローバル一意プレフィックス362とサブネット識別子364とインターフェース識別子366とを組み合わせることができる。
図8は、さらに、プロセッサ810とディスプレイ828とに結合されるディスプレイコントローラ826を示す。コーダ/デコーダ(コーデック)834が、さらに、プロセッサ810に結合され得る。スピーカ836およびマイクロフォン838をコーデック834に結合することができる。
図8は、ワイヤレスコントローラ840が、プロセッサ810に、かつ高周波(RF)インターフェース870を介してアンテナ842に結合され得ることも示す。説明のための例では、ワイヤレスコントローラ840、RFインターフェース870、またはアンテナ842のうちの1つまたは複数は、図1のデータリンクインターフェース162、164、または112など、データリンクインターフェースに対応する。特定の態様では、データリンクインターフェース(たとえば、NDLインターフェース)は、ハードウェア、ソフトウェア、仮想インターフェース、またはこれらの組合せに対応し得る。例示のために、第2のデバイス108においてデータリンクインターフェース162、164は、ワイヤレスコントローラ840、RFインターフェース870、またはアンテナ842などのハードウェア構成要素に対する共有アクセス、アービトレート型アクセス、またはこれらの組合せを有し得る。したがって、デバイスは、インターフェースの各々に対する専用ハードウェア送信/受信(Tx/Rx)チェーンを含まずに、複数のデータリンクインターフェースを有し得ることを理解されたい。
デバイス800は、データリンクインターフェース892、ワイヤレスコントローラ840、RFインターフェース870、またはアンテナ842などのハードウェア構成要素、またはこれらの組合せを介して他のデバイスと通信することができる。たとえば、デバイス800は、第1のワイヤレスネットワーク(たとえば、電気通信ネットワーク)の構成要素(たとえば、基地局)と通信することができ、その構成要素からデータを受信することができる。デバイス800は、データリンクインターフェース892を介して第2のワイヤレスネットワークのデータリンクグループに対応する第1のデバイスセットと通信することもできる。デバイス800は、第1のワイヤレスネットワークの構成要素から受信されたデータを第2のワイヤレスネットワークの第1のデバイスセットに提供することができる。
いくつかの実施形態では、プロセッサ810、ディスプレイコントローラ826、メモリ832、コーデック834、およびワイヤレスコントローラ840は、システムインパッケージデバイスまたはシステムオンチップデバイス822内に含まれる。追加または代替として、入力デバイス830および電源844がシステムオンチップデバイス822に結合される。その上、他の実装形態では、図8に示されるように、ディスプレイ828、入力デバイス830、スピーカ836、マイクロフォン838、アンテナ842、および電源844は、システムオンチップデバイス822の外部にある。しかしながら、ディスプレイ828、入力デバイス830、スピーカ836、マイクロフォン838、アンテナ842、および電源844の各々は、インターフェースまたはコントローラなどのシステムオンチップデバイス822の構成要素に結合され得る。
説明した態様に関連して、装置は、データリンクグループ識別子に対応する第1の識別子を決定するための手段を含み得る。たとえば、第1の識別子を決定するための手段は、図1のデータリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、データリンクグループ識別子に対応する第1の識別子を決定するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
この装置はまた、デバイスに対応する第2の識別子を決定するための手段を含み得る。たとえば、第2の識別子を決定するための手段は、図1のデータリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、デバイスに対応する第2の識別子を決定するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
この装置は、データリンクルーティングプレフィックスと第1の識別子と第2の識別子とを組み合わせることによって、デバイスのデータリンクインターフェースに関するインターネットプロトコル(IP)アドレスを生成するための手段をさらに含み得る。たとえば、IPアドレスを生成するための手段は、図1のデータリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、デバイスのデータリンクインターフェースに関するIPアドレスを生成するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
さらに、説明した態様に関連して、第2の装置は、データリンクグループのデータリンクグループ識別子に対応する第1の識別子を決定するための手段を含み得る。たとえば、第1の識別子を決定するための手段は、図1のデータリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、データリンクグループ識別子に対応する第1の識別子を決定するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
第2の装置はまた、第1の識別子をルーティングプレフィックスと組み合わせることによって、データリンクサブネット識別子を生成するための手段を含み得る。たとえば、データリンクサブネット識別子を決定するための手段は、図1のデータリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、第1の識別子をルーティングプレフィックスと組み合わせることによって、データリンクサブネット識別子を生成するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
第2の装置は、デバイスに対応する第2の識別子を決定するための手段をさらに含み得る。たとえば、第2の識別子を決定するための手段は、図1のデータリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、デバイスに対応する第2の識別子を決定するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
第2の装置はまた、データリンクサブネット識別子と第2の識別子とを組み合わせることによって、デバイスのデータリンクインターフェースに関するIPアドレスを生成するための手段を含み得る。たとえば、IPアドレスを生成するための手段は、図1のデータリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、デバイスのデータリンクインターフェースに関するIPアドレスを生成するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
さらに、説明した態様に関連して、第3の装置は、ローカルアドレスプレフィックスを決定するための手段を含み得る。たとえば、ローカルアドレスプレフィックスを決定するための手段は、データリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、ローカルアドレスプレフィックスを決定するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
第3の装置はまた、団体に対応する第1の識別子を決定するための手段を含み得る。たとえば、第1の識別子を決定するための手段は、データリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、団体に対応する第1の識別子を決定するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
第3の装置は、データリンクグループ識別子に対応する第2の識別子を決定するための手段をさらに含み得る。たとえば、第2の識別子を決定するための手段は、データリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、データリンクグループ識別子に対応する第2の識別子を決定するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
第3の装置は、少なくともローカルアドレスプレフィックスとローカルインジケータビットと第1の識別子と第2の識別子との組合せに基づいて、データリンクインターフェースに関するIPアドレスを生成するための手段を含み得る。たとえば、IPアドレスを生成するための手段は、データリンクネットワーキング回路114、データリンクネットワーキング回路166、データリンクネットワーキング回路890、図8の命令868を実行するように構成されたプロセッサ810、データリンクインターフェースに関するIPアドレスを生成するように構成された1つまたは複数の他のデバイスまたは回路、またはこれらの任意の組合せを含み得る。
開示した態様の1つまたは複数が、通信デバイス、固定位置データユニット、モバイル位置データユニット、モバイルフォン、セルラーフォン、衛星電話、コンピュータ、タブレット、ポータブルコンピュータ、ディスプレイデバイス、メディアプレーヤ、またはデスクトップコンピュータを含み得る、デバイス800のようなシステムまたは装置において実装され得る。代替または追加として、デバイス800は、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、ビデオプレーヤ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤ、ドローン、衛星、車両(たとえば、自動車、トラック、飛行機、ボートなど)、車両のまたは車両内の構成要素、基地局、プロセッサを含む任意の他のデバイス、もしくは、データもしくはコンピュータ命令を記憶するか取り出す任意の他のデバイス、またはこれらの組合せを含み得る。別の説明のための非限定的な例として、システムまたは装置は、ハンドヘルドパーソナル通信システム(PCS)ユニットのような遠隔ユニット、全地球測位システム(GPS)対応デバイス、メータ読取り機器のようなポータブルデータユニット、または、プロセッサを含む任意の他のデバイス、もしくはデータもしくはコンピュータ命令を記憶するか取り出す任意の他のデバイス、またはこれらの任意の組合せを含み得る。
図1〜図8のうちの1つまたは複数は、本開示の教示によるシステム、装置、方法、またはこれらの組合せを示し得るが、本開示は、これらの示されたシステム、装置、方法、またはこれらの組合せに限定されない。本明細書で例示または説明したような、図1〜図8のいずれの図の1つまたは複数の機能または構成要素も、図1〜図8の別の図の1つまたは複数の他の部分と組み合わされ得る。したがって、本明細書で説明したいずれの単一の態様も、限定するものとして見なされるべきではなく、本開示の態様は、本開示の教示から逸脱することなく適切に組み合わされ得る。図1のシステム100、図2の第2のデバイス108、図8のデバイス800の1つまたは複数の構成要素は、専用ハードウェア(たとえば、回路)を介して、1つまたは複数のタスクを実行するための命令(たとえば、命令860)を実行するプロセッサによって、またはこれらの組合せによって実装され得る。
当業者は、本明細書で開示した態様に関して説明した様々な例示的な論理ブロック、構成、回路、およびアルゴリズムステップが、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、または両方の組合せとして実装され得ることをさらに諒解されよう。様々な例証的な構成要素、ブロック、構成、回路、およびステップについては、これらの機能の点から一般に上述した。そのような機能がハードウェアまたはプロセッサ実行可能命令として実装されるかどうかは、システム全体に課される特定の用途および設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装してもよいが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で開示した態様に関連して説明した方法またはアルゴリズムのステップは、直接ハードウェア内に含まれるか、プロセッサによって実行されるソフトウェア内に含まれるか、またはその2つの組合せの中に含まれ得る。ソフトウェア(たとえば、命令)は、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラム可能読取り専用メモリ(PROM)、消去可能プログラム可能読取り専用メモリ(EPROM)、電気的消去可能プログラム可能読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野において既知の任意の他の形の非一時的記憶媒体内に存在する場合がある。たとえば、記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体は、プロセッサと一体であってよい。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)内にあり得る。ASICは、コンピューティングデバイスまたはユーザ端末内に存在することができる。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末内に個別の構成要素として存在し得る。
先の説明は、開示した態様を当業者が作成または使用することを可能にするように与えられる。これらの態様への様々な変更は当業者には容易に明らかであり、本明細書で定義された原理は本開示の範囲から逸脱することなく他の態様に適用され得る。したがって、本開示は、本明細書で示される態様に限定されるものではなく、以下の特許請求の範囲によって定義される原理および新規の特徴と一致する可能な最も広い範囲を与えられるべきである。