本開示の特定の態様が、図面を参照して以下で説明される。説明において、共通の特徴は共通の参照番号により指定される。
選択的な接続のためのシステムおよび方法が開示される。たとえば、データリンクグループに含まれる第1のデバイスは、データリンクグループの第2のデバイスに選択的に接続して、接続されるデバイス間のユニキャストメッセージのようなメッセージをワイヤレスに通信することができる。本明細書において使用される場合、「接続すること(associating)」または「接続すること(to associate)」は、ユニキャスト通信、および/またはペアごとの鍵を使用したピアツーピア(P2P)通信のようなP2P通信を可能にするために、セキュリティ接続(たとえば、認証処理)を実行することを含み得る。データリンクグループは、シングルホップトポロジーまたはマルチホップトポロジーを有するデータリンクグループネットワークに対応し得る。第1のデバイスの通信範囲内にあるデータリンクグループの各デバイスに接続するのではなく、第1のデバイスは、第1のデバイスの通信範囲内にあるデバイスのすべてではないデバイスに接続することができる。たとえば、第1のデバイスは、接続すべき単一の特定のデバイスを特定することができる。第1のデバイスの通信範囲内にあるデータリンクグループの各デバイスではなく、単一の特定のデバイスに接続することによって、データリンクグループのデバイス間で交換されるメッセージの数が減らされ得る。
例示すると、第1のデバイスは、データリンクグループに参加することができ、グループ鍵を受信することができる。データリンクグループに参加するために、第1のデバイスは、データリンクグループの第2のデバイスに対する単一のグループ認証を実行して、データリンクグループに参加するためのグループ認証を受けることができる。単一のグループ認証の一部として、第1のデバイスは、第2のデバイスからグループ鍵を受信することができる。グループ鍵は、第1のデバイスが、ブロードキャストコンテンツを含むデータメッセージのような、グループアドレス指定されたデータメッセージの安全なワイヤレス通信に関与することを可能にし得る。安全なワイヤレス通信は、説明のための非限定的な例として、安全なブロードキャスト通信および/または安全なマルチキャスト通信を含み得る。データリンクグループに参加するための単一のグループ認証を完了した後で、第1のデバイスは、データリンクグループの個々のデバイスに接続することなく、グループアドレス指定されたデータメッセージを送信することができる。
第1のデバイスは、グループ鍵を使用して、第1のデバイスの通信範囲にあるデバイスにパス要求を送信することができる。たとえば、第1のデバイス(たとえば、発信者デバイス)は、データリンクグループのデバイスにパス要求をブロードキャストすることができる。パス要求は、パス要求が送信されるべき(および/または転送されるべき)宛先デバイスを示すデータを含み得る。データリンクグループのデバイスは、パス要求を宛先デバイスに伝播することができ、宛先デバイスは、パス応答を第1のデバイスに送信することができる。
第1のデバイスは、データリンクグループの特定のデバイス(第2のデバイスのような)からパス応答を受信することができる。第1のデバイスは、パス応答に基づいて接続のための第2のデバイスを選択することができ、第2のデバイスに接続することができる。第2のデバイスに接続することは、第1のデバイスと第2のデバイスとの間にペアごとの鍵のような安全鍵を確立して、第1のデバイスと第2のデバイスとの間でユニキャストメッセージがワイヤレスに通信される(送信され受信される)ことを可能にすることを含み得る。いくつかの実装形態では、第1のデバイスは複数のパス応答を受信することができる。たとえば、第1のデバイスは、第2のデバイスから第1のパス応答を受信することができ、データリンクグループの第3のデバイスから第2のパス応答を受信することができる。各パス応答は、第1のデバイスと宛先デバイスとの間のパスに対応するホップの数、および/または、メッセージが第1のデバイスによって送信され宛先デバイスによって受信されるべき時間の長さ、帯域幅などのような、尺度パラメータを示し得る。第1のデバイスは、最小の数のホップおよび/または最短の移動時間に対応するパス応答のような、第1のパス応答および第2のパス応答に基づいて、接続のために第2のデバイスまたは第3のデバイスの1つを選択することができる。
いくつかの実装形態では、宛先デバイスは、データリンクグループを介して利用可能なサービスに対応し得る。たとえば、このサービスは、オーディオストリーミング、ビデオストリーミング、データ転送、またはこれらの組合せを含み得る。例示すると、データリンクグループの宛先デバイスは、データリンクグループの他のデバイスにサービスを提供する提供者デバイスとして構成され得る。いくつかの実装形態では、第2のデバイスは宛先デバイスであり得る。他の実装形態では、第2のデバイスは、宛先デバイスにデータを転送し宛先デバイスからデータを転送するデバイスのような、プロキシデバイスであり得る。
開示される態様によって提供される1つの特定の利点は、データリンクグループに対応する近接ベースのサービスのようなサービスが、データリンクグループのデバイスに安全かつ効率的に提供され得ることである。たとえば、サービスは、データリンクグループに対応し近接認識ネットワーク(NAN)フレームワークに含まれるデータリンクグループネットワークを介して提供され得る。開示される技法は、マルチホップサービス発見および/またはシングルホップサービス発見を可能にでき、データリンクグループに参加するためにデバイス間で交換されるメッセージの数を減らすことができる。
図1を参照すると、データリンクグループのデバイスを含むシステムが示されており、全体に100と指定される。システム100は、近接認識ネットワーク(NAN)のようなワイヤレスネットワーク101を含む。システム100は、第1のデバイス110、第2のデバイス120、第3のデバイス130、および第4のデバイス140を含む。デバイス110、120、130、140は、データリンクグループのようなデバイスクラスタに含まれ得る。データリンクグループは、ワイヤレスネットワーク101またはワイヤレスネットワーク101のサブセットを含み得る。
デバイス110、120、130、140の各々は、ワイヤレスネットワーク101に含まれる1つまたは複数の他のワイヤレス通信デバイスからデータを送信し、かつ/またはデータを受信するように構成されるワイヤレス通信デバイスであり得る。ワイヤレスネットワーク101は、説明のための非限定的な例として、インフラストラクチャネットワーク、または、ピアツーピアネットワークもしくはアドホックネットワークのようなインフラストラクチャレスネットワークであり得る。たとえば、ワイヤレスネットワーク101のデバイス110、120、130、140の各々は、グループ認証、接続動作(たとえば、セキュリティ接続動作)、セキュリティ情報交換動作、同期動作、および他の動作を、ワイヤレスネットワーク101に対応する1つまたは複数のワイヤレスチャネルを介して実行するように構成され得る。いくつかの実装形態では、デバイス110、120、130、140は、説明のための非限定的な例として、米国電気電子技術者協会(IEEE) 802.11規格(たとえば、IEEE 802.11s規格)、Wi-Fi Alliance規格、および/または別の規格(たとえば、インフラストラクチャレスネットワーク規格)のような、1つまたは複数の規格に従ってそのような動作を実行することができる。たとえば、システム100のデバイス110、120、130、140は、1つまたは複数のワイヤレス通信プロトコルに従ってワイヤレスに通信するように構成され得る。例示すると、デバイス110、120、130、140は、IEEE 802.11プロトコルに関連するビーコンのような、発見メッセージを送信し受信することができる。加えて、または代替的に、システム100のデバイス110、120、130、140はまた、特定のアプリケーションまたはサービスに対応するデータのようなデータを通信することができる。
ワイヤレスネットワーク101は、1つまたは複数のデータリンクグループを含んでよく、またはそれに対応してよい。データリンクグループは、説明のための非限定的な例として、グループ、データパスグループ、NANデータリンク(NDL)グループ、またはNANデータパスグループとも呼ばれ得る。データリンクグループは、データリンクグループネットワークのようなネットワークを形成することが可能である複数のデバイスを含み得る。データリンクグループネットワークは、説明のための非限定的な例として、インフラストラクチャレスのピアツーピアネットワーク、アドホックネットワーク、またはメッシュネットワークのような、非集中型のワイヤレスネットワークであり得る。データリンクグループネットワークは、グループネットワーク、データパスグループネットワーク、NDLグループネットワーク、またはNANデータパスグループネットワークとも呼ばれ得る。
データリンクグループの各デバイスは、共有されるセキュリティ証明書を使用することができる。共有されるセキュリティ証明書は、データリンクグループによって使用される1つまたは複数のグループ通信チャネルの帯域内または帯域外で、ワイヤレスに通信され得る(たとえば、デバイス間で交換され得る)。いくつかの実装形態では、データリンクグループのデバイスは、デバイスの各々が、サービスを告知するために、および/またはトラフィックと他のメッセージを受信するために起動している期間などの、定期的な起動時間を有するように同期され得る。
ワイヤレスネットワーク101は、デバイス110、120、130、140を含むデータリンクグループを含んでよく、またはそれに対応してよい。特定の説明のための実装形態では、デバイス110、120、130、140は、説明のための非限定的な例として、「ソーシャルwi-fiメッシュ」ネットワークのようなワイヤレスメッシュネットワーク、またはワイヤレスメッシュネットワークのサブセットを形成するように構成され得る。データリンクグループの一部として、デバイス110、120、130、140は、ワイヤレス通信を介したデータ交換を実行することができる。いくつかの実装形態では、データ交換には、1つまたは複数のワイヤレスキャリア、1つまたは複数のWi-Fiアクセスポイント、および/またはインターネットが関与しないことがある。たとえば、データリンクグループのデバイス110、120、130、140は、通信を可能にするためのグループ鍵のようなセキュリティ証明書を共有することができる。例示すると、データリンクグループの各デバイスは、グループ鍵を使用してグループメッセージを符号化および/または復号することができる。いくつかの実装形態では、1つまたは複数のサービスは、データリンクグループの他のデバイスへ、データリンクグループのデバイス110、120、130、140の1つまたは複数によって提供され得る。1つまたは複数のサービスは、説明のための非限定的な例として、音楽サービス、ソーシャルメディア共有サービス、ファイル共有サービス、および/またはデータ共有サービスを含み得る。加えて、または代替的に、1つまたは複数のサービスは、データリンクグループの提供者デバイスにおいて受信されデータリンクグループの他のデバイスに転送されるストリーミングサービスのような別のサービスを含み得る。
ワイヤレスネットワーク101の各データリンクグループは、固有の値などの対応するグループ識別子を有し得る。たとえば、グループ識別子は、バイト値および/またはグループアドレスを含み得る。図1のデータリンクグループは4つのデバイスを含むものとして記述されているが、他の実装形態では、データリンクグループは4つよりも多くのデバイスまたは4つよりも少ないデバイスを含み得る。いくつかの実装形態では、ワイヤレスネットワーク101が複数のデータリンクグループを含むとき、特定のデバイスは2つ以上のデータリンクグループに含まれ得る。
いくつかの実装形態では、データリンクグループの提供者デバイス(第4のデバイス140のような)は、データリンクグループの他のデバイスにサービスを提供するように構成され得る。たとえば、提供者デバイスは、ある営業所に位置していることがあり、その営業所から特定の距離以内にある(データリンクグループに参加している)他のデバイスに広告を提供するように構成され得る。例示すると、宛先デバイスは、あるレストランに位置していることがあり、宛先デバイスの通信範囲内にある他のデバイスに、レストランの日替わりメニューをブロードキャストするように構成され得る。いくつかの実装形態では、第4のデバイス140は提供者デバイスであり得る。他の実装形態では、第4のデバイス140は、提供者デバイスにデータを転送し宛先デバイスからデータを転送するデバイスのような、プロキシデバイスであり得る。
別の例として、第4のデバイス140は、オーディオデータ、ビデオデータ、または他のデータなどのサービスデータを受信することによって、かつ、そうしなければサービスデータへのアクセス権を有しない可能性のある他のデバイスにサービスデータを転送することによって、提供者デバイスとして動作することができる。例示すると、第4のデバイス140は、特定のネットワークへのアクセス権を有し得る。特定のネットワークは、説明のための非限定的な例として、ワイヤレスネットワークまたはセルラーネットワークを含み得る。第4のデバイス140は、特定のネットワークの範囲外にあるデバイス、特定のネットワークにアクセスするためのパスワードを有しないデバイスなどのような、特定のネットワークへのアクセス権を有しないデバイスに、特定のネットワークへのアクセス権を与えることができる。言い換えると、第4のデバイス140は、サービスデータをデータリンクグループに広めて、データリンクグループの他のデバイスがサービスデータを利用できるようにし得る。たとえば、空港にいる第4のデバイス140のユーザは、第4のデバイス140を使用してセルラーネットワークにアクセスし、気象のニュースストリームを受信することがある。重大な気象の事象の間、空港にいる複数のユーザが、同じ気象のニュースストリームを受信しようとする可能性がある。しかしながら、セルラーネットワークは、高いネットワーク需要を満たすための帯域幅を有しないことがある。この例では、第4のデバイス140が、特定のデータリンクグループの提供者デバイスとして動作することができ、データリンクグループに参加する他のユーザのデバイスにデータを転送することができるので、空港にいる他のユーザは、セルラーネットワークにアクセスする必要なく、気象のニュースストリームを受信することができる。
いくつかの実装形態では、第4のデバイス140は、データリンクグループのサービスの提供者デバイスであってよく、第2のデバイス120および第3のデバイス130の各々は、サービスの(データリンクグループの)プロキシデバイスであってよい。例示すると、第2のデバイス120および第3のデバイス130の各々は、(第4のデバイス140のような)サービスの提供者デバイスからデータを受信するように構成されてよく、データを他のデバイスに転送することができる。第2のデバイス120および/または第3のデバイス130は、第4のデバイス140の通信範囲内にあることがあり、または、第4のデバイス140から複数のホップ離れていることがある。この態様では、サービスの(第4のデバイス140のような)提供者デバイスの通信範囲内にない(第1のデバイス110のような)デバイスは、(第2のデバイス120または第3のデバイス130のような)プロキシデバイスを介して提供者デバイスからデータを受信することができる。第4のデバイス140が提供者デバイスであるものとして説明されたが、他の実装形態では、2つ以上のデバイスが提供者デバイスであると考えられ得る。たとえば、第2のデバイス120、第3のデバイス130、および第4のデバイス140の各々が提供者デバイスであり得る。いくつかの実装形態では、データリンクグループのデバイスは、提供者デバイスでもあり(データリンクグループの別の提供者デバイスに対する)プロキシデバイスでもあり得る。
第1のデバイス110は、グループネットワーキングモジュール102、受信機104、送信機106、鍵データ108、またはこれらの組合せを含み得る。ある特定の実装形態では、第2のデバイス120、第3のデバイス130、および/または第4のデバイス140はまた、グループネットワーキングモジュール102、受信機104、送信機106、および鍵データ108の少なくとも1つを含み得る。デバイス110、120、130、140の各々の鍵データ108は、グループ鍵124とペアごとの鍵122の少なくとも1つを含み得る。デバイス110、120、130、140の各々の送信機106は、データリンクグループの他のデバイスにデータ(たとえば、メッセージ)をワイヤレスに送信するように構成され得る。各デバイス110、120、130、140の受信機104は、データリンクグループの他のデバイスからデータをワイヤレスに受信するように構成され得る。デバイス110、120、130、140の各々のグループネットワーキングモジュール102は、データリンクグループの一部としてのデバイスの動作に関連して本明細書において説明される1つまたは複数の機能を実行するように構成され得る。たとえば、グループネットワーキングモジュール102は、1つまたは複数の機能を実行するように構成される回路および/またはハードウェアを含み得る。例示すると、グループネットワーキングモジュール102は、プロセッサと、プロセッサに結合されるメモリとを含み得る。メモリは、プロセッサによって実行されると、本明細書において説明される機能の1つまたは複数をプロセッサに実行させる、1つまたは複数のプロセッサ実行可能命令を含み得る。
動作の間、第1のデバイス110は、第2のデバイス120、第3のデバイス130、および第4のデバイス140を含むデータリンクグループに参加することができる。たとえば、第1のデバイス110は、図2に関連して説明されるように、第3のデバイス130から発見メッセージ(図示されず)を受信することができる。発見メッセージは、データリンクグループに対応するサービスの利用可能性を示し得る。いくつかの実装形態では、サービスは、第3のデバイス130のアプリケーションに対応し得る。発見メッセージは、説明のための非限定的な例として、データリンクグループに対応するグループ通信チャネル、サービスの(第4のデバイス140のような)提供者デバイスの識別子、第3のデバイス130の第2の識別子、またはこれらの組合せを示すデータを含み得る。提供者デバイスの識別子は提供者デバイスの媒体アクセス制御(MAC)アドレスを含んでよく、第2の識別子は第3のデバイス130のMACアドレスを含んでよい。
発見メッセージに応答して、第1のデバイス110はデータリンクグループに参加することができる。データリンクグループに参加するために、第1のデバイス110は、データリンクグループのデバイスとのグループ認証を実行して、データリンクグループに参加するための認証を受けることができる。たとえば、第1のデバイス110は、発見メッセージを受信することができ、データリンクグループに参加することを要求することができる。データリンクグループに参加するために、第1のデバイス110は、グループ認証メッセージのような認証メッセージを第3のデバイス130に送信することができる。認証メッセージに応答して、第1のデバイス110および第3のデバイス130は、グループ認証のための単一の認証のような、認証処理を実行することができる。第3のデバイス130が第1のデバイス110を認証する場合、第3のデバイス130はグループ鍵124を第1のデバイス110に送信することができる。たとえば、第3のデバイス130は、(暗号化鍵生成アルゴリズムを使用して)グループ鍵124を生成することができ、グループ鍵124を第1のデバイス110に送信することができる。グループ鍵124は、データリンクグループのグループ通信チャネルを介して交換されるデータを暗号化し復号するために、データリンクグループのデバイス110、120、130、140によって使用され得る。たとえば、デバイス110、120、130、140の各々は、グループ鍵124を使用してデータを完全性保護することができ、グループ鍵124を使用して(完全性保護された)受信されたデータを検証することができる。いくつかの実装形態では、グループ鍵124は、データリンクグループのグループ通信チャネルに対応するグループページング時間枠の間にブロードキャストされ得る、データリンクグループビーコンメッセージおよび/またはデータリンクグループ告知メッセージを符号化するために使用され得る。加えて、または代替的に、グループ鍵124は、データリンクグループのグループ通信チャネルを使用して送信され得るブロードキャストメッセージまたはグループアドレス指定されたメッセージなどのメッセージを符号化するために使用され得る。
第1のデバイス110がデータリンクグループに参加するためのグループ認証を完了した後で、第1のデバイス110は、データリンクグループに対応するブロードキャストトラフィックを送信し受信することができる。しかしながら、ユニキャストメッセージのようなユニキャストトラフィックを送信(または受信)するために、第1のデバイス110は、第1のデバイス110の通信範囲内にあるデータリンクグループの近隣デバイスに接続することができる。第2のデバイス120または第3のデバイス130のような近隣デバイスに接続することの一部として、第1のデバイス110は、第1のデバイス110の通信範囲内にあるデータリンクグループの近隣デバイスとのセキュリティ鍵を確立することができる。いくつかの実装形態では、セキュリティ鍵は、説明のための非限定的な例として、ペアごとの鍵を含み得る。したがって、そのような実装形態では、サービスを使用するために、第1のデバイス110は、データリンクグループの別のデバイスに接続して、ユニキャストメッセージを送信し受信することができる。第1のデバイス110の通信範囲内にある複数のデバイス(またはすべてのデバイス)に接続するのではなく、第1のデバイス110は、接続すべき特定のデバイスを選択することができ、これにより、データリンクグループに参加したことに応答して第1のデバイス110が第1のデバイス110の通信範囲内にある各デバイスに接続する場合と比較して、データリンクグループのメッセージングオーバーヘッドを減らすことができる。
いくつかの実装形態では、第1のデバイス110は、提供者デバイスからグループ鍵124を受信していることがある。たとえば、第1のデバイス110は、グループ鍵124の送信者の送信者デバイス識別子が、第1のデバイス110によって受信される発見メッセージによって示されるような提供者デバイスの提供者デバイス識別子と一致すると決定することができる。そのような状況では、第1のデバイス110は提供者デバイスに接続し得る。送信者デバイス識別子が提供者デバイス識別子と一致しない場合、第1のデバイス110は、送信者デバイスをプロキシデバイスとして認識し得る。いくつかの実装形態では、(第4のデバイス140のような)提供者デバイスは、第1のデバイス110の通信範囲にある(が第1のデバイス110にまだ知られていない)ことがある。たとえば、第4のデバイス140は、第1のデバイス110から1ホップ離れていることがある。他の実装形態では、(第4のデバイス140のような)提供者デバイスは、第1のデバイス110から複数のホップ離れていることがあり、第1のデバイス110の通信範囲内にないことがある。
データリンクグループの別のデバイスに接続する前に、第1のデバイス110は、第1のデバイス110の通信範囲内にある特定のデバイスを識別して選択することができる。第1のデバイス110は、特定のデバイスを含むパスに対応するパスデータに基づいて、特定のデバイスを選択することができる。本明細書において説明されるように、第1のデバイス110は、パス要求を送信し、パス要求に応答して少なくとも1つのパス応答を受信することによって、パスデータを受信することができる。パスデータは、第1のデバイス110と(第4のデバイス140のような)提供者デバイスとの間のパスのホップの数、第1のデバイス110から提供者デバイスへのパスを介したエンドツーエンドの送信時間、パスの帯域幅、パスのレイテンシ、パスのパケットロス値、パスの信頼性値、パスの負荷、またはこれらの組合せを示し得る。
第1のデバイス110は、パス要求(PREQ)164を生成し、第1のデバイス110の通信範囲内にある1つまたは複数のデバイスに送信することができる。1つまたは複数のデバイスは、第1のデバイス110に接続されないことがある。いくつかの実装形態では、第1のデバイス110は、(グループ鍵124)の送信者デバイスがプロキシデバイスであると決定したことに応答して、PREQ164を送信することができる。PREQ164は、提供者デバイスのような宛先デバイスを示す宛先データを含み得る。宛先データは、(第4のデバイス140のような)提供者デバイスのMACアドレス(および/または他のデバイス識別子)を示し得る。加えて、または代替的に、PREQ164は、第1の初期値(たとえば、1)に設定されるホップカウント値および/または第2の初期値に設定される尺度パラメータのような、パスデータを含み得る。尺度パラメータは、説明のための非限定的な例として、パケットロス、帯域幅、レイテンシ、負荷、信頼性、またはこれらの組合せに対応し得る。PREQ164のフォーマットの説明のための例は、図11に関連して説明される。いくつかの実装形態では、第1のデバイス110は、グループ鍵124を使用してPREQ164を符号化することができ、PREQ164の符号化されたバージョンを送信することができる。
第2のデバイス120および第3のデバイス130は、PREQ164を受信することができる。たとえば、デバイス120、130の各々は、データリンクグループのグループ通信チャネルのグループページング時間枠の間にPREQ164を受信することができる。いくつかの実装形態では、デバイス120、130の各々は、デバイス120、130が第1のデバイス110に接続されない場合であっても、グループ鍵124を使用してPREQ164を復号することができる。第2のデバイス120および第3のデバイス130の各々は、宛先データに基づいて、自身がPREQ164の宛先デバイスであるかどうかを決定することができる。本明細書においてさらに説明されるように、デバイス120、130が宛先デバイスである場合、デバイス120、130は、パス応答を生成することができる。図4に関連してさらに説明されるように、デバイス120、130が宛先デバイスではない場合、デバイス120、130は、データリンクグループの別のデバイスにPREQ164を転送することができる。たとえば、第1のデバイス110の通信範囲内にあるデバイス120、130の1つまたは複数は、第1のデバイス110の通信範囲外の別のデバイスにPREQ164を転送することができる。加えて、または代替的に、第2のデバイス120および第3のデバイス130の各々は、デバイスによって受信されるPREQ164のパスデータを更新することができる。たとえば、第2のデバイス120および第3のデバイス130の各々は、ホップカウントをインクリメントし、かつ/または、デバイスによって受信されるPREQ164の尺度パラメータの値を更新することができる。第2のデバイス120または第3のデバイス130によって転送されるPREQ164は、更新されるパスデータを含み得る。
第4のデバイス140は、1つまたは複数の転送されたPREQを受信することができる。たとえば、第4のデバイス140は、第3のデバイス130によって転送されるPREQ164と、第2のデバイス120によって転送されるPREQ164とを受信することができる。図5に関連して説明されるように、1つまたは複数のPREQ164を受信したことに応答して、第4のデバイス140は、パス応答(PREP)を生成して送信することができる。PREPのフォーマットは、図12に関連して説明される。
たとえば、第4のデバイス140は、第3のデバイス130を含む第1のパスを介してPREQ164を受信することができる。いくつかの実装形態では、第4のデバイス140は、第3のデバイス130から(またはそれを介して)PREQ164を受信したことに応答して、ホップカウントおよび/または尺度パラメータのようなパスデータを更新することができる。第1のパスを介してPREQ164を受信したことに応答して、第4のデバイス140はPREP166を生成することができる。例示すると、第4のデバイス140は、第1のパスを介して受信されたPREQ164に含まれる第1のパスデータを特定することができ、PREP166に第1のパスデータ(または更新された第1のパスデータ)を含めることができる。たとえば、第4のデバイス140は、第1のパスデータに基づいてPREP166の第1のホップカウント176を設定することができ、第1のパスデータに基づいてPREP166の第1の尺度パラメータ値178(たとえば、尺度パラメータの第1の値)を設定することができ、またはこれらの両方であり得る。第4のデバイス140は、第1のパスに沿ってPREP166を第1のデバイス110に送信することができる。たとえば、PREP166は、グループ通信チャネルの1つまたは複数のグループページング時間枠の間に、データリンクグループのグループ通信チャネルを介して送信(ブロードキャスト)され得る。第1のルーティングパス上にある各デバイスは、PREP166が第1のデバイス110によって受信されるまで、グループ通信チャネルを介してPREP166を次のデバイスに転送することができる。いくつかの実装形態では、PREP166は、図5に関連して説明されるようにデータリンクグループを通じて伝播し得る。
別の例として、第4のデバイス140は、第2のデバイス120を含む第2のルーティングパスを介してPREQ164を受信することができる。いくつかの実装形態では、第4のデバイス140は、第2のデバイス120から(またはそれを介して)受信されるPREQ164の第2のパスデータを更新することができる。第2のパスを介してPREQ164を受信したことに応答して、第4のデバイス140はPREP168を生成することができる。例示すると、第4のデバイス140は、第2のパスを介して受信されたPREQ164に含まれる第2のパスデータを特定することができ、PREP168に第2のパスデータ(または第2のパスデータの更新されたバージョン)を含めることができる。たとえば、第4のデバイス140は、第2のパスデータに基づいてPREP168の第2のホップカウント182を設定することができ、第2のパスデータに基づいてPREP168の第2の尺度パラメータ値184(たとえば、尺度パラメータの第2の値)を設定することができ、またはこれらの両方であり得る。第4のデバイス140は、第2のパスに沿ってPREP168を第1のデバイス110に送信することができる。いくつかの実装形態では、PREP168は、図5に関連して説明されるようにデータリンクグループを通じて伝播し得る。
PREP166(またはPREP168)を送信するデータリンクグループの各デバイスは、送信の前にグループ鍵124を使用してPREP166(またはPREP168)を暗号化することができる。PREP166(またはPREP168)を受信するデータリンクグループの各デバイスは、グループ鍵124を使用してPREP166(またはPREP168)を復号することができる。したがって、データリンクグループの一部ではないデバイスは、デバイスがデータリンクグループのグループ通信チャネルを介してPREP166(またはPREP168)を受信する場合であっても、PREP166(またはPREP168)にアクセスする(たとえば、それを復号する)ことが不可能であることがある。例示すると、データリンクグループの一部ではないデバイスは、PREP166(またはPREP168)を復号することが不可能であることがある。
第1のデバイス110は、PREP166およびPREP168のような、複数のPREPを受信することができる。たとえば、第1のデバイス110は、第3のデバイス130からPREP166を受信することができ、第2のデバイス120からPREP168を受信することができる。第1のデバイス110がPREPをそこから受信する各デバイスは、接続のための候補デバイスとして識別され得る。第1のデバイス110は、PREP166およびPREP168のような受信されたPREPに基づいて、第2のデバイス120または第3のデバイス130の1つを選択することができる。たとえば、第1のデバイス110は、PREP166に含まれ第3のデバイス130に対応する第1のパスデータ(たとえば、第1のホップカウント176および/または第1の尺度パラメータ値178)に基づいて、接続のために第2のデバイス120または第3のデバイス130の1つを選択することができる。加えて、または代替的に、第1のデバイス110は、PREP168に含まれ第2のデバイス120に対応する第2のパスデータ(たとえば、第2のホップカウント182および/または第2の尺度パラメータ値184)に基づいて、接続のために第2のデバイス120または第3のデバイス130を選択することができる。たとえば、第1のデバイス110において受信される各PREPは、第1のデバイス110から提供者デバイスへの、複数のホップまたは単一のホップを含むルーティングパスのようなパスに対応し得る。第1のデバイス110は、PREP166に含まれる第1のパスデータおよび/またはPREP168に含まれる第2のパスデータを、互いに比較し、1つまたは複数の閾値と比較し、またはそれらの組合せを行って、接続のための特定のデバイスを識別して選択することができる。
たとえば、第1のデバイス110は、複数の受信されたPREPの最低のホップカウントを決定することができ、最低のホップカウントに対応する特定のデバイスを選択することができる。別の例として、第1のデバイス110は、複数の受信されたPREPの最低(または最高)の尺度パラメータ値を決定することができ、複数の受信されたPREPの中で最低(または最高)の尺度パラメータ値に対応する特定のデバイスを選択することができる。例示すると、第1のデバイス110は、複数の受信されたPREPの中で最高の帯域幅の値または最高の信頼性の尺度を決定することができる。代替的に、第1のデバイス110は、複数の受信されたPREPの中で最低のパケットロス値を決定することができる。
別の例として、第1のデバイス110は、複数の受信されたPREPのホップカウントおよび/または尺度パラメータの値を1つまたは複数の閾値と比較することによって、候補デバイスの数を減らすことができる。例示すると、第1のデバイス110は、ホップカウント閾値を満たさない対応するホップカウントを有する候補デバイスを、考慮から外すことができる。たとえば、第1のホップカウント176がホップカウント閾値(たとえば、10ホップ)以上である場合、第3のデバイス130は、接続のために選択されないようにされ得る。加えて、または代替的に、第1のデバイス110は、対応する尺度パラメータの値が尺度の閾値を満たさない場合、候補デバイスを考慮から外すことができる。たとえば、第1のデバイス110は、説明のための非限定的な例として、閾値の帯域幅以上の対応する帯域幅の尺度、閾値のレイテンシ値以下の対応するレイテンシ、閾値のパケットロス値以下の対応するパケットロスの尺度、閾値の信頼性値未満の対応する信頼性の尺度、および/または、閾値の負荷値未満の対応する負荷の尺度を有しない、候補デバイスを削除することができる。
単一のデバイスが接続のための選択の対象であると決定したことに応答して、第1のデバイス110は接続のために単一のデバイスを選択することができる。代替的に、候補デバイスを削除した結果として、選択の対象のデバイスが存在しない場合、説明のための非限定的な例として、複数の受信されたPREPの中で最低のホップカウントに対応するデバイス、またはグループ鍵124がそこから受信されるデバイスのような、以前に削除されたデバイスが選択され得る。いくつかの実装形態では、候補デバイスを削除した結果として、選択の対象のデバイスが存在しない場合、第1のデバイス110は、第2のPREQを出して、接続のためのデバイスを選択するのに使用するPREPの第2のセットを受信することができる。
複数の候補デバイスが選択の対象である場合、基準の組合せ(最高および/または最低)および/または閾値の組合せが、特定のデバイスを選択するために第1のデバイス110によって適用され得る。たとえば、第1のデバイス110は、第1のホップカウント176と第2のホップカウント182の各々が特定のホップカウント閾値を満たすと決定することができる。例示すると、特定のホップカウント閾値は10ホップに等しくてよく、特定のホップカウントは、特定のホップカウントが特定のホップカウント閾値以下である場合、特定のホップカウント閾値を満たし得る。第1のデバイス110は、第2の尺度パラメータ値184が第1の尺度パラメータ値178より小さい(またはそれより大きい)と決定したことに応答して、第2のデバイス120(PREP168に対応する)を選択することができる。たとえば、第2の尺度パラメータ値184(たとえば、パケットロスの尺度)は、第1の尺度パラメータ値178(たとえば、パケットロスの尺度)より小さいことがある。別の例として、第1のデバイス110は、第1の尺度パラメータ値178(たとえば、第1の信頼性の尺度)が第2の尺度パラメータ値184(たとえば、第2の信頼性の尺度)と同じ値を有することと、第2のホップカウント182が第1のホップカウント176より小さいこととを決定したことに応答して、第2のデバイス120を選択することができる。
接続のために(第2のデバイス120のような)特定のデバイスを選択した後、第1のデバイス110は特定のデバイスに接続することができる。たとえば、第1のデバイス110は、接続のために第2のデバイス120を選択することができる。第1のデバイス110および第2のデバイス120は、認証処理を実行して、第1のデバイス110と第2のデバイス120との間のピアツーピア(P2P)通信を可能にするセキュリティ接続を行うことができる。認証処理の一部として、ペアごとの鍵146は、第1のデバイス110と第2のデバイス120との間の安全な通信を可能にするために生成され得る。ペアごとの鍵146は、第1のデバイス110と第2のデバイス120の各々に記憶され得る。
いくつかの実装形態では、特定のデバイスを選択した後で、第1のデバイス110は、認証要求を特定のデバイスに送信することによって、特定のデバイスに接続することを開始することができる。他の実装形態では、特定のデバイスを選択した後で、第1のデバイス110は、特定のデバイスから第1のデバイス110によって受信される認証要求に応答して、認証応答を特定のデバイスに送信することによって、接続を開始することができる。たとえば、接続のために第2のデバイス120を選択した後で、第1のデバイス110は、第2のデバイス120から受信された認証要求174に応答し得る。例示すると、第1のデバイス110は、(認証要求174に応答した)認証応答172を第2のデバイス120に送信することができる。いくつかの実装形態では、認証要求174は、第2のデバイス120から第1のデバイス110に送信されるPREP168に含められていることがある。認証要求174がPREP168に含まれる場合、データリンクグループに対応するメッセージングオーバーヘッドは減り得る。第1のデバイス110と第2のデバイス120の間の接続(および接続に対応するメッセージング)は、図2および図3に関連して本明細書においてさらに説明される。
いくつかの実装形態では、第2のデバイス120によって送信される認証要求174は、第2のデバイス120によってサポートされる暗号スイートを示すデータを含み得る。たとえば、暗号スイートは、説明のための非限定的な例として、暗号化プロトコル、鍵交換プロトコル、認証プロトコル、またはこれらの組合せのような、1つまたは複数のセキュリティプロトコルを含み得る。第1のデバイス110は、暗号スイートに含まれる1つまたは複数のセキュリティプロトコルを選択することができる。認証応答172は、第1のデバイスによって選択される1つまたは複数のセキュリティプロトコルを示すデータを含み得る。したがって、第1のデバイス110および第2のデバイス120は、図2および図3に関連して説明されるように、同じセキュリティプロトコルを使用してペアごとの鍵122を生成することができる。
図1のシステム100は、シングルホップトポロジーまたはマルチホップトポロジーを有するネットワークにおけるサービス発見を可能にし得る。たとえば、第1のデバイス110は、第2のデバイス120、第3のデバイス130、および/または第4のデバイス140からのサービスが利用可能であることを発見し得る。図1のシステム100はまた、データリンクグループに参加するためにデバイス間で交換されるメッセージの数を減らすことができる。たとえば、第1のデバイス110は、データリンクグループ(第3のデバイス130のような)の単一のデバイスに接続することによって、データリンクグループに参加することができる。第1のデバイス110は、(第2のデバイス120のような)特定のデバイスを選択し、特定のデバイスに選択的に接続することができる。たとえば、第1のデバイス110は、PREQ164およびPREP166、168に基づいて、特定のデバイスを選択することができる。第1のデバイス110は、効率的であると判定される宛先デバイスへのパスに基づいて、特定のデバイスを選択することができる。特定のデバイスに接続し、特定のデバイスを介してメッセージを宛先デバイスに通信することで、データリンクグループのデバイス間で交換されるメッセージの数を減らすことができる。
図2を参照すると、メッセージ交換の説明のための例が示されており、全体に200と指定されている。メッセージ交換200は、図1のワイヤレスネットワーク101のデータリンクグループのデバイス間で行われ得る。たとえば、メッセージ交換200は、第1のデバイス110と、第2のデバイス120と、第3のデバイス130との間で行われ得る。メッセージ交換200は、ラダー図によって示されている。メッセージ交換200は、第1のデバイス110がデータリンクグループの別のデバイスに選択的に接続することを可能にするために使用され得る。
第3のデバイス130は、送信機106を介した発見メッセージ205の送信を開始することができる。たとえば、第3のデバイス130は、ワイヤレスネットワーク101の特定の通信チャネルを介して、発見メッセージ205をブロードキャストすることができる。図7に関連して説明されるように、発見メッセージ205は、ワイヤレスネットワーク101に対応する発見時間枠のような期間の間に、第3のデバイス130の通信範囲内にあるデバイスに送信され得る。発見メッセージ205は、IEEE 802.11プロトコルに対応するビーコンメッセージであり得る。いくつかの実装形態では、第3のデバイス130は、複数の発見時間枠の間などに、発見メッセージ205を定期的に送信することができる。
いくつかの実装形態では、発見メッセージ205は、説明のための非限定的な例として、発見メッセージ205の送信デバイス、データリンクグループに対応するサービス、サービスの提供者デバイス、またはこれらの組合せを示す情報を含み得る。たとえば、送信デバイスは、送信者デバイスの識別子または送信者デバイスのMACアドレスによって示されてよく、提供者デバイスは、提供者デバイスの識別子または提供者デバイスのMACアドレスによって特定され得る。いくつかの実装形態では、サービスの提供者デバイスは、図1の第4のデバイス140、および/または、第2のデバイス120のようなデータリンクグループの別のデバイスを含み得る。第3のデバイス130が提供者デバイスではない場合、第3のデバイス130によって送信される発見メッセージ205は、提供者デバイスによって生成される特定の発見メッセージに基づき得る。例示すると、提供者デバイスは、提供者デバイスによって提供されるサービスを示す特定の発見メッセージを生成することができ、提供者デバイスは、データリンクグループに含まれる第3のデバイス130のような他のデバイスに、特定の発見メッセージを送信することができる。第3のデバイス130は、特定の発見メッセージ(またはその転送されたバージョン)を受信することができ、特定の発見メッセージ(またはそのあるバージョン)を発見メッセージ205として転送することができる。
発見メッセージ205を受信したことに応答して、第1のデバイス110は、グループ認証メッセージのような認証メッセージ207を第3のデバイス130に送信することができる。認証メッセージ207に応答して、第1のデバイス110および第3のデバイス130は、グループ認証のための単一の認証のような認証処理を実行することができ、第3のデバイス130は、データリンクグループのグループ鍵124を第1のデバイスに送信することができる。グループ鍵124を受信した後で、第1のデバイス110は、第1のデバイス110の通信範囲内のデバイスにPREQ164をブロードキャストすることができる。たとえば、第1のデバイス110の通信範囲内にあるデバイスは、第2のデバイス120および第3のデバイス130を含み得る。PREQ164は、サービスの提供者デバイスのような宛先デバイスを示すデータを含み得る。
PREQ164に応答して、第1のデバイス110は、第3のデバイス130からPREP166を受信することができ、第2のデバイス120からPREP168を受信することができる。第1のデバイス110はPREP166およびPREP168を同時に受信するものとして示されるが、第1のデバイス110は、PREP166およびPREP168を異なるときに受信することができる。説明のための非限定的な例として、PREP166は、PREP168の前または後に受信され得る。
240において、第1のデバイス110は、接続のための特定のデバイスを選択することができる。たとえば、第1のデバイス110は、第2のデバイス120に接続することを選択することができる。第1のデバイス110は、PREP166およびPREP168に基づいて、第2のデバイス120または第3のデバイス130の1つに接続することを選択することができる。第2のデバイス120は、第3のデバイス130を介した(第4のデバイス140のような)提供者デバイスへの代替的なパスよりも効率的な、提供者デバイスへのパスに対応し得る。いくつかの実装形態では、第1のデバイス110が(PREP166に対応する)第3のデバイス130から発見メッセージ205を受信するとしても、第1のデバイス110は、(PREP168に対応する)第2のデバイス120を選択することができる。たとえば、第1のデバイス110は、第1のデバイス110が第2のデバイス120から発見メッセージを受信したかどうかとは無関係に、PREP168に基づいて第2のデバイス120を選択することができる。
第2のデバイス120は、第1のデバイス110に認証要求174を送信することができる。認証要求174は、第1のデバイス110が接続のために特定のデバイスを選択した後で送信されるものとして示されるが、他の実装形態では、認証要求174は、第1のデバイス110が接続のために特定のデバイスを選択する前に、その間に、かつ/またはその後に送信され得る。いくつかの実装形態では、第2のデバイス120は、PREP168と同時に認証要求174を送信することができる。たとえば、第2のデバイス120は、パス応答(PREP)168および認証要求174を含む単一のメッセージを送信することができる。PREP168および認証要求174を単一のメッセージへと組み合わせることで、使用するメッセージをより少なくすることができるので、第1のデバイス110と第2のデバイス120との間の通信オーバーヘッドが減り得る。メッセージ交換200は、認証要求が第3のデバイス130から第1のデバイス110に送信されることを示さないが、いくつかの実装形態では、第3のデバイス130は、対応する認証要求を第1のデバイス110に送信できることに留意されたい。
認証要求174は、第2のデバイス120の物理(PHY)レイヤ能力、MACレイヤ能力、または両方を示し得る。たとえば、認証要求174は、第2のデバイス120によってサポートされる暗号スイートを示し得る。暗号スイートは、説明のための非限定的な例として、認証プロトコル、鍵交換プロトコル、暗号化アルゴリズム、またはこれらの組合せのような、1つまたは複数のセキュリティプロトコルを含み得る。いくつかの実装形態では、第2のデバイス120は、グループ鍵124を使用して認証要求174を暗号化(たとえば、符号化)することができ、データリンクグループのグループページング時間枠の間にデータリンクグループのグループ通信チャネルを介して認証要求174の暗号化されたバージョンを送信することができる。たとえば、認証要求174は、グループ鍵124を使用して完全性保護され得る。加えて、または代替的に、認証要求174の暗号化は、認証付き暗号(AE)暗号、または認証付き暗号(AEAD:authenticated encryption with associated data)暗号を使用して実行され得る。
第1のデバイス110は、データリンクグループのグループ通信チャネルを介して、第2のデバイス120から認証要求174を受信することができる。認証要求174が暗号化される場合、第1のデバイス110は、グループ鍵124を使用して認証要求174を復号(decrypt)(たとえば、復号(decode))することができる。たとえば、認証要求174がグループ鍵124を使用して完全性保護される場合、第1のデバイス110は、グループ鍵124を使用して認証要求174を検証することができる。いくつかの実装形態では、第1のデバイス110は、グループページング時間枠の間に認証要求174を受信し始めることができ、グループページング時間枠が終了した後で、認証要求174を受信し続けることができる。
第1のデバイス110が接続のために第2のデバイス120を選択した場合、第1のデバイス110は、第2のデバイス120に送信されるべき認証応答172を生成することができる。認証応答172は、認証要求174に応答したものであり得る。認証応答172を生成するために、第1のデバイス110は、第2のデバイス120によってサポートされる暗号スイートのセキュリティプロトコル286を選択することができる。たとえば、第1のデバイス110は、セキュリティプロトコル286が第1のデバイス110によってサポートされると決定したことに基づいて、セキュリティプロトコル286を選択することができる。別の例として、セキュリティプロトコル286は、第1のデバイス110によって選択される(第2のデバイス120によってサポートされる複数の暗号スイートのうちの)特定の暗号スイートを示し得る。特定の実装形態では、第1のデバイス110によって選択されるセキュリティプロトコル286は、説明のための非限定的な例として、パスワードで認証されるDiffie-Hellman(DH)鍵交換プロトコルのような特定の鍵交換プロトコルを含み得る。パスワードで認証されるDH鍵交換プロトコルは、simultaneous authentication of equals(SAE)認証プロトコルに基づき得る。たとえば、図3に関連して説明されるように、パスワードで認証されるDH鍵交換プロトコルは、SAE認証プロトコルのコールフローの修正されたバージョンであり得る。SAE認証プロトコルの修正されたバージョンは、IEEE 802.11aiに基づくコールフローに基づき得る。
認証応答172は、第1のデバイス110の物理レイヤ能力、MACレイヤ能力、または両方を示すデータを含み得る。加えて、または代替的に、認証応答172は、セキュリティプロトコル286を示すもの(これは特定の鍵交換プロトコルを含んでよく、またはそれに対応してよい)を含み得る。第1のデバイス110は、グループ鍵124を使用して認証応答172を暗号化することができる。第1のデバイス110は、グループページング時間枠の間に、グループページング時間枠の後に、またはその両方で、グループ通信チャネルを介して認証応答172を送信することができる。たとえば、第1のデバイス110は、グループページング時間枠の間に認証応答172を送信し始めることができ、グループページング時間枠の間、またはそれが終了した後、認証応答172を送信するのを終えることができる。
第2のデバイス120は、認証応答172を受信することができ、認証応答172によって示されるセキュリティプロトコル286を特定することができる。したがって、第1のデバイス110と第2のデバイス120の両方が、同じ暗号スイートおよび/またはセキュリティプロトコル286のような、同じセキュリティプロトコルを使用することができる。第1のデバイス110および第2のデバイス120は、図3に関連して説明されるように、セキュリティプロトコル286に基づいてペアごとの鍵122を生成することができる。
メッセージ交換200はさらに、第2のデバイス120が接続要求288を第1のデバイス110に送信することを含む。たとえば、第2のデバイス120は、認証応答172を受信したことに応答して、接続要求288を送信することができる。接続要求288は、第2のデバイス120によって生成される第1の接続識別子(ID)(A_IDa)292を含み得る。加えて、または代替的に、接続要求288は、第1のメッセージ完全性コード(MIC)のような第1のコードを含み得る。たとえば、第1のコードは、ペアごとの鍵122に基づいて生成され得る。いくつかの実装形態では、第2のデバイス120は、グループ鍵124に基づいて接続要求288を暗号化することができる。第2のデバイス120は、グループページング時間枠の間に、グループページング時間枠が終了した後に、またはその両方で、グループ通信チャネルを介して接続要求288を送信することができる。たとえば、第2のデバイス120は、グループページング時間枠の間に接続要求288を送信し始めることができ、グループページング時間枠の間、またはそれが終了した後、接続要求288を送信するのを終えることができる。別の例として、第2のデバイス120は、グループページング時間枠が終了した後で接続要求288を送信し始めることができる。
第1のデバイス110は、接続要求288を受信することができる。いくつかの実装形態では、第1のデバイス110は、グループ鍵124に基づいて接続要求288を復号することができる。第1のデバイス110は、第1のデバイス110のメモリに第1の接続ID(A_IDa)292を記憶することができる。第1のデバイス110は、図3に関連してさらに説明されるように、ペアごとの鍵122に基づいて、第2のMICのような第2のコードを生成することができる。第1のデバイス110は、第1のコードと第2のコードの比較に基づいて、第1のコードを検証することができる。たとえば、第1のデバイス110は、第1のコードが第2のコードと一致する(たとえば、同一である)と決定したことに応答して、第1のコードが有効であると決定することができる。
メッセージ交換200はまた、第1のデバイス110が接続応答294を第2のデバイス120に送信することを含む。たとえば、第1のデバイス110は、接続要求288を受信したことに応答して、かつ/または、第1のコードが第2のコードと一致することを確認したことに応答して、接続応答294を送信することができる。接続応答294は、第1のデバイス110によって生成される第1の接続ID(A_IDb)296および/または第2のコードを含み得る。いくつかの実装形態では、第1のデバイス110は、グループ鍵124を使用して接続応答294を暗号化することができる。第1のデバイス110は、グループページング時間枠の間に、グループページング時間枠の後に、またはその両方で、グループ通信チャネルを介して接続応答294を送信することができる。たとえば、第1のデバイス110は、グループページング時間枠の間に接続応答294を送信し始めることができ、グループページング時間枠の間、またはそれが終了した後、接続応答294を送信するのを終えることができる。別の例として、第1のデバイス110は、グループページング時間枠が終了した後で接続応答294を送信し始めることができる。
第2のデバイス120は、接続応答294を受信することができる。いくつかの実装形態では、第2のデバイス120は、グループ鍵124に基づいて接続応答294を復号することができる。第2のデバイス120は、第2のデバイス120のメモリに第2の接続ID(A_IDb)296を記憶することができる。第2のデバイス120において接続応答294を受信したことに応答して、第1のデバイス110および第2のデバイス120は、ペアごとの鍵122を使用して安全なピアツーピア(P2P)通信を実行することが可能であり得る。たとえば、ペアごとの鍵122に基づいて暗号化されるデータは、データリンクグループの他のデバイスのような、ペアごとの鍵122を有しない他のデバイスにはアクセス不可能であり得る。
第1のデバイス110は、データリンクグループに参加した後で、データリンクグループのグループページング時間枠の間、グループ通信チャネルを監視することができる。トラフィック告知メッセージ(TIM)は、グループ通信チャネルのグループページング時間枠の間にブロードキャストされ得る。TIMは、グループ鍵124を使用して符号化され得る。TIMの例として、データリンクグループのデバイスによって送信される第1のTIMは、(グループ鍵124を使用して符号化された)データがデバイスの通信範囲内にあるデータリンクグループの他のデバイスにブロードキャストされるべきであることを示し得る。TIMの別の例として、デバイスによって送信される第2のTIMは、データがペアごとの鍵を使用して特定のデバイスに送信されるであろうことを示し得る。
第2のデバイス120は、第2のデバイス120が第1のデバイス110へ送信すべきデータ(データ299のような)を有することを示すTIM298を生成して送信することができる。たとえば、第2のデバイス120は、特定のグループページング時間枠の間に、データリンクグループのグループ通信チャネルを介してTIM298を送信することができる。TIM298の1つまたは複数のビットは第1の接続ID(A_IDa)292に対応することがあり、これは、第2のデバイス120が第1のデバイス110へ送信すべきデータを有することを第1のデバイス110に示し得る。
いくつかの実装形態では、データ299は、データリンクグループの(第4のデバイス140のような)提供者デバイスによって提供されるサービスに対応し得る。たとえば、第2のデバイス120は、第4のデバイス140からデータ299を受信することができ、データ299を第1のデバイス110に転送することができる。特定の実装形態では、第2のデバイス120は、データ299を受信することができ、第2のデバイス120のメモリにデータ299を記憶することができ、TIM298を生成することができる。第2のデバイス120は、特定のグループページング時間枠の間にTIM298を送信することができる。いくつかの実装形態では、第2のデバイス120は、グループ鍵124を使用してTIM298を暗号化することができ、TIM298の暗号化されたバージョンを送信することができる。
第1のデバイス110が特定のグループページング時間枠の間に(TIM298のような)TIMを受信しない場合、第1のデバイス110は、特定のグループページング時間枠に続く後続のグループ送信時間枠の間に、スリープモードに切り替わり得る。第1のデバイス110がTIM298を受信する場合、第1のデバイス110は、第2のデバイス120が第1のデバイス110へ送信すべきデータを有することをTIM298が示すかどうかを決定することができる。第2のデバイス120が第1のデバイス110へ送信すべきデータを有しないことを決定したことに応答して、第1のデバイス110は、特定のグループページング時間枠に続く後続のグループ送信時間枠の間にデータリンクグループのグループ通知チャネルを監視するのを止めることができる。たとえば、第1のデバイス110は、後続のグループ送信時間枠の間にスリープモードに切り替わり得る。代替的に、第1のデバイス110は、第1のデバイス110が後続のグループ送信時間枠の間に送信すべきデータを有する場合、(第2のデバイス120が第1のデバイス110のためのデータを有するかどうかとは無関係に)後続のグループ送信時間枠の間は起動したままであり得る。
第2のデバイス120が第1のデバイス110へ送信すべきデータを有することをTIM298が示すと決定したことに応答して、第1のデバイス110は、後続のグループ送信時間枠の間にグループ通信チャネルを監視することができる。たとえば、第1のデバイス110は、TIM298が送信されるグループページング時間枠の直後の、後続の送信時間枠の間にアクティブモードにとどまり得る(または切り替わり得る)。第2のデバイス120は、ペアごとの鍵122に基づいてデータ299を暗号化することができ、後続のグループ送信時間枠の間にデータ299を送信することができる。代替的に、第2のデバイス120は、グループ鍵124に基づいてデータ299を暗号化することができ、後続のグループ送信時間枠の間にデータ299を送信することができる。
いくつかの実装形態では、第2のデバイス120のような特定のデバイスは、たとえば、第2のデバイス120の通信範囲内にあり第2のデバイス120に接続されるデバイスの数に基づいて、データ299をブロードキャストするかユニキャストするかを決定することができる。たとえば、第2のデバイス120は、第2のデバイス120の通信範囲内にあるデバイスの数(たとえば、2)が2という値を有するブロードキャスト閾値を満たす(たとえば、それ以上である)と決定したことに応答して、データ299をブロードキャストすることができる。別の例として、第2のデバイス120は、第2のデバイス120の通信範囲内にあるデバイスの数(たとえば、1)が2という値を有するブロードキャスト閾値を満たさないと決定したことに応答して、データ299をユニキャストすることができる。
特定のデバイスは、データ299がブロードキャストされるべきであると決定したことに応答して、グループ鍵124を使用してデータ299を暗号化することができる。代替的に、特定のデバイスは、データ299がユニキャストされるべきであると決定したことに応答して、ペアごとの鍵を使用してデータ299を暗号化することができる。たとえば、第2のデバイス120は、ブロードキャストする前に、グループ鍵124を使用してデータ299を暗号化することができる。別の例として、第2のデバイス120は、第1のデバイス110にユニキャストする前に、ペアごとの鍵122を使用してデータ299を暗号化することができる。
いくつかの実装形態では、第1のデバイス110が、第2のデバイス120に接続する特定の期間内にサービスに対応する(データ299のような)データを受信しない場合、第1のデバイス110は、(第3のデバイス130のような)別のデバイスを選択してそれに接続することができる。たとえば、第1のデバイス110は、データ299が、接続応答294を送信する特定の期間内に、TIM298を受信する特定の期間内に、(TIM298が送信されるグループページング時間枠の直後の)後続のグループ送信時間枠内に、またはこれらの組合せの間に第2のデバイス120から受信されなかったと決定したことに応答して、他のデバイスを選択することができる。例示すると、第1のデバイス110は、第2のデバイス120がデータリンクグループから離脱した場合、第2のデバイス120からデータを受信しなくてよい。特定の実装形態では、第2のデバイス120は離脱メッセージを第1のデバイス110に送信することができ、第1のデバイス110は、離脱メッセージに応答して第3のデバイス130に接続することを選択することができる。
いくつかの実装形態では、データリンクグループに参加した後で、第1のデバイス110は、第1のデバイス110の通信範囲内にある複数のデバイスから1つまたは複数の認証要求を受信することができる。第1のデバイス110は、第1のデバイス110が接続のために特定のデバイスを選択するまで、1つまたは複数の認証要求に応答しなくてよい。接続のために特定のデバイスを選択したことに応答して、第1のデバイス110は、1つまたは複数の認証要求のうちの(特定のデバイスからの)少なくとも1つの認証要求に応答することができる。いくつかの実装形態では、第1のデバイス110は、1つまたは複数の受信された認証要求のうちの単一の認証要求に応答することができる。加えて、または代替的に、第1のデバイス110は、接続のために複数のデバイスを選択することができる。第1のデバイスが接続することを選択する各デバイスは、第1のデバイス110にPREPを送信したデバイスであり得る。
特定の実装形態では、第1のデバイス110から(第4のデバイス140のような)提供者デバイスへのパス上の各デバイスは、図5に関連して説明されるように、そのパス上の前のデバイスおよび次のデバイスに接続することができる。たとえば、パス上の特定のデバイスは、第1のデバイス110の方向にあるパス上のデバイスとの第1のペアごとの鍵を確立することができ、提供者デバイスの方向にあるパス上のデバイスと第2のペアごとの鍵を確立することができる。第1のペアごとの鍵は、その特定のデバイスと、第1のデバイス110の方向にあるパス上のそのデバイスとの間で、データを交換するために使用され得る。第2のペアごとの鍵は、その特定のデバイスと、提供者デバイスの方向にあるパス上のそのデバイスとの間で、データを交換するために使用され得る。加えて、または代替的に、その特定のデバイスは、第1のデバイス110の方向にあるパス上のそのデバイスと通信することができ、かつ/または、グループ鍵124を使用して、第4のデバイス140の方向にあるパス上のそのデバイスと通信することができる。
メッセージ交換200は、第1のデバイス110および第2のデバイス120のような、ワイヤレスネットワーク101のデータリンクグループの2つのデバイスが、ペアごとの鍵を確立することを可能にし得る。ペアごとの鍵は、データリンクグループのグループ鍵124とは別個であり得る。これらの2つのデバイスは、ペアごとの鍵を確立することができ、ペアごとの鍵に基づいてデータを暗号化することができ、暗号化されたデータを交換することができる。たとえば、メッセージ交換200は、第1のデバイス110が接続のための特定のデバイスを選択することを可能にし得る。
図3を参照すると、メッセージ交換の説明のための例が示されており、全体に300と指定されている。メッセージ交換300は、図1のワイヤレスネットワーク101のデータリンクグループのデバイス間で行われ得る。たとえば、メッセージ交換300は、第1のデバイス110と第2のデバイス120との間で行われ得る。特定の実装形態では、メッセージ交換300は、パスワードで認証されるDiffie-Hellman(DH)鍵交換プロトコルに対応し得る。メッセージ交換300は、ラダー図によって示されている。メッセージ交換300は、第1のデバイス110と第2のデバイス120との間の、ユニキャストメッセージングのようなピアツーピア(P2P)通信を可能にし得る、ペアごとの鍵122を確立するために使用され得る。
メッセージ交換300は、simultaneous authentication of equals(SAE)認証プロトコルのコールフローの修正されたバージョンを使用することができる。たとえば、メッセージ交換300、IEEE 802.11aiに基づくコールフローに基づき得る。fast initial link setup(FILS)プロトコルのような、メッセージ交換300の認証プロトコルは、SAE認証プロトコルの修正されていないバージョンによって使用されるメッセージの数よりも少数のメッセージを使用して、ペアごとの鍵122を確立することができる。たとえば、メッセージ交換300は、SAE認証プロトコルの修正されていないバージョンによって使用される8つのメッセージと比較して、4つのメッセージを使用することができる。
第2のデバイス120および第1のデバイス110の各々は、共通のパスワードへのアクセス権を有し得る。パスワードは、デフォルトの値であってよく、または、ユーザ入力を介して、または別のデバイスから受信されてよい。いくつかの実装形態では、パスワードはグループ鍵124を含み得る。第2のデバイス120および第1のデバイス110の各々は、パスワードに基づいて対応するパスワード要素302を生成することができる。たとえば、第2のデバイス120および第1のデバイス110の各々は、第1の鍵導出関数(KDF)を、パスワード、第1のデバイス110の第1のMACアドレス、および第2のデバイス120の第2のMACアドレスに、またはこれらの組合せに適用することによって、パスワード要素302を生成することができる。
第2のデバイス120は、第1の値(Na1)および第2の値(Na2)を生成することができる。たとえば、第1の値(Na1)および第2の値(Na2)は別個のノンスであり得る。第2のデバイス120は、第1の値(Na1)、第2の値(Na2)、または両方に基づいて、第1のパブリック値(P_Na1)を生成することができる。第1のデバイス110は、第1の値(Nb1)および第2の値(Nb2)を生成することができる。たとえば、第1の値(Nb1)および第2の値(Nb2)は別個のノンスであり得る。第1のデバイス110は、第1の値(Nb1)、第2の値(Nb2)、または両方に基づいて、第2のパブリック値(P_Nb1)を生成することができる。
メッセージ交換300は、第2のデバイス120が認証要求174を第1のデバイス110に送信することを含む。たとえば、第2のデバイス120は、第2の値(Na2)、第1のパブリック値(P_Na1)、または両方を含む認証要求174を生成することができる。いくつかの実装形態では、第2のデバイス120は、(第1の値(Na1)のような)単一のノンス値を生成することができ、単一のノンス値に基づいて第1のパブリック値(P_Na1)を生成することができる。この実装形態では、認証要求174は、第1のパブリック値(P_Na1)を含んでよく、第2の値(Na2)を含まなくてよい。
メッセージ交換300はまた、第1のデバイス110が認証応答172を第2のデバイス120に送信することを含む。たとえば、第1のデバイス110は、認証要求174を受信したことに応答して、認証応答172を生成することができる。認証応答172は、第2の値(Nb2)、第2のパブリック値(P_Nb1)、または両方を含み得る。いくつかの実装形態では、第1のデバイス110は、(第1の値Nb1のような)単一のノンス値を生成することができ、第1の値(Nb1)に基づいて第2のパブリック値(P_Nb1)を生成することができる。この実装形態では、認証応答172は、第2のパブリック値(P_Nb1)を含んでよく、第2の値(Nb2)を含まなくてよい。
第1のデバイス110および第2のデバイス120の各々は、第1のパブリック値(P_Na1)、第2のパブリック値(P_Nb1)、第2の値(Na2)、第2の値(Nb2)、パスワード要素302、またはこれらの組合せに基づいて、Diffie-Hellman(DH)鍵交換プロトコルを使用して、ペアごとの鍵122を生成することができる。いくつかの実装形態では、第1のデバイス110および第2のデバイス120の各々は、第1のパブリック値(P_Na1)、第2のパブリック値(P_Nb1)、および/またはパスワード要素302を使用して、しかし、第2の値(Na2)および第2の値(Nb2)を使用せずに、ペアごとの鍵122を生成することができる。加えて、第1のデバイス110および第2のデバイス120の各々は、ペアごとの鍵122に基づいてペアごとの一時鍵(PTK)304を生成することができる。たとえば、第2のKDFは、PTK304を生成するためにペアごとの鍵に適用され得る。第1のデバイス110および第2のデバイス120の各々は、PTK304に基づいて、メッセージ完全性コード(MIC)のような対応するコードを生成することができる。たとえば、第2のデバイス120は、第2のデバイス120によって生成されるPTK304に基づいて、(第1のMICのような)第1のコードを生成することができる。別の例として、第1のデバイス110は、第1のデバイス110によって生成されるPTK304に基づいて、(第2のMICのような)第2のコードを生成することができる。
メッセージ交換300はさらに、第2のデバイス120が接続要求288を第1のデバイス110に送信することを含む。たとえば、第2のデバイス120は、認証要求174を受信した後で、接続要求288を生成することができる。接続要求288は、第2のデバイス120によって生成される、第1の接続ID(A_IDa)292、PTK304に基づく第1のコード、または両方を含み得る。
接続要求288を受信したことに応答して、第1のデバイス110は第1のコードを検証することができる。たとえば、第1のデバイス110は、第1のコードが第2のコードと一致すると決定したことに応答して、第1のコードが有効であると決定することができる。第1のデバイス110は、第1のデバイス110および第2のデバイス120の各々が同じパスワード要素302へのアクセス権を有し、同じペアごとの鍵122および同じPTK304を導出したことを確認するために、第1のコードを検証することができる。
メッセージ交換300はまた、第1のデバイス110が接続応答294を第2のデバイス120に送信することを含む。たとえば、第1のデバイス110は、第1のコードを検証したことに応答して、接続応答294を生成することができる。接続応答294は、第1のデバイス110によって生成される、第2の接続ID(A_IDb)296、PTK304に基づく第2のコード、または両方を含み得る。
第2のデバイス120は、接続応答294を受信することができる。特定の実装形態では、第2のデバイス120は第2のコードを検証することができる。たとえば、第2のデバイス120は、第1のコードと第2のコードの比較に基づいて、第2のコードが有効であるかどうかを決定することができる。第2のデバイス120は、第1のデバイス110および第2のデバイス120の各々が(同じグループ鍵124のような)同じパスワードへのアクセス権を有し、同じペアごとの鍵122および同じPTK304を導出したことを確認するために、第2のコードを検証することができる。
第2のデバイス120が認証要求174を送信するものとして説明されたが、他の実装形態では、第1のデバイス110は、認証要求174を送信することができる。たとえば、第1のデバイス110は認証要求174を送信することができ、第2のデバイス120は認証応答172を送信することができ、第1のデバイス110は接続要求288を送信することができ、第2のデバイス120は接続応答294を送信することができる。例示すると、第1のデバイス110は、図1および図2に関連して説明されるように、接続のための第2のデバイス120を選択した後で、認証要求174を送信することができる。
メッセージ交換300は、ワイヤレスネットワーク101のデータリンクグループの2つのデバイスが、対応するペアごとの鍵を確立することを可能にし得る。ペアごとの鍵は、データリンクグループのグループ鍵124とは別個であり得る。これらのデバイスは、ペアごとの鍵を確立することができ、ペアごとの鍵に基づいてデータを暗号化することができ、暗号化されたデータを交換することができる。
図4を参照すると、データリンクグループにおけるメッセージ交換の説明のための例が示されており、全体に400と指定されている。データリンクグループは、図1のワイヤレスネットワーク101のデータリンクグループに対応し得る。特定の実装形態では、メッセージ交換400は、(第1のデバイス110のような)発信者デバイスと、データリンクグループのサービスの(第4のデバイス140のような)提供者デバイスとの間のパスを特定するために、図1のデバイス110、120、130、140の1つまたは複数の間で行われ得る。パスは、シングルホップパスまたはマルチホップパスであり得る。
データリンクグループは、デバイス430〜448を含み得る。たとえば、データリンクグループは、デバイス_A 430、デバイス_B 432、デバイス_C 434、デバイス_D 436、デバイス_E 438、デバイス_F 440、デバイス_G 442、デバイス_H 444、デバイス_I 446、デバイス_J 448、またはこれらの組合せを含み得る。デバイス_B 432は、図1の第1のデバイス110に対応してよく、デバイス_F 440は、図1の第4のデバイス140に対応してよい。いくつかの実装形態では、デバイス_J 448は、図1の第2のデバイス120に対応し得る。データリンクグループは10個のデバイスを含むものとして示されているが、他の実装形態では、データリンクグループは10個よりも多数または少数のデバイスを含み得る。
動作の間、デバイス_B 432は、(デバイス_F 440のような)宛先デバイスを示し初期値(たとえば、0)に設定されたホップカウントを有するPREQを生成することができる。たとえば、PREQは、図1のPREQ164を含み、またはそれに対応し得る。図1および図2に関連して説明されるように、デバイス_B 432は、デバイス_B 432の通信範囲内にある、デバイス_A 430、デバイス_C 434、およびデバイス_J 448のような1つまたは複数の受信デバイスにPREQを送信することができる。特定の受信デバイスは、PREQを廃棄することができ、または特定の受信デバイスの通信範囲内にある1つまたは複数の受信デバイスにPREQを転送することができ、この特定の受信デバイスが次いで、PREQ164を転送または廃棄することができる。特定のデバイスがPREQを転送する前に、特定のデバイスは、PREQのホップカウントを更新(たとえば、インクリメント)することができる。加えて、または代替的に、PREQを転送する前に、特定のデバイスは、特定のデバイスのデバイスIDおよび/またはMACアドレスをPREQに追加することができる。
例示すると、デバイス_E 438は、デバイス_J 448を介して第2のPREQを受信する前に、デバイス__D 436を介して第1のPREQを受信することができる。第1のPREQは、第1のホップカウントをデバイス_B 432(発信者デバイス)に示し得る。デバイス_E 438は、発信者デバイスとしてデバイス_B 432を示すPREQが以前に受信されていないと決定したことに応答して、デバイス_E 438の通信範囲内にある、デバイス_D 436、デバイス_J 448、および/またはデバイス_F 440のような1つまたは複数のデバイスに第1のPREQを転送することができる。加えて、または代替的に、デバイス_E 438は、デバイス_B 432を発信者デバイスとして示した以前に受信されたPREQにおける特定のホップカウントよりも第1のホップカウントが小さいと決定したことに応答して、第1のPREQを転送することができる。
デバイス_E 438は、デバイス_D 436を介して受信された第1のPREQを転送した後で、第2のPREQを受信することができる。デバイス_E 438は、デバイス_E 438の通信範囲内にある1つまたは複数のデバイスに第2のPREQを転送することができる。たとえば、デバイス_E 438は、デバイス_J 448を介して受信されたPREQ164がデバイス_B 432までの第2のホップカウントを示すことと、第2のホップカウントが第1のホップカウントより小さいこととを決定したことに応答して、第2のPREQを転送することができる。代替的に、デバイス_E 438は、第2のホップカウントが第1のホップカウント以上であると決定したことに応答して、第2のPREQを転送および/または廃棄しなくてよい。
デバイス_F 440(宛先デバイス)は、デバイス_F 440の通信範囲内にある1つまたは複数のデバイスから1つまたは複数のPREQを受信することができる。たとえば、デバイス__E 438、デバイス_G 442、および/またはデバイス_H 444が、デバイス_F 440の通信範囲内にあることがある。デバイス_F 440は、1つまたは複数のPREQの少なくとも1つに対応し得る。たとえば、デバイス_F 440は、図5に関連して説明されるように、特定のPREQに応答してPREPを生成することができる。いくつかの実装形態では、デバイス_F 440は、デバイス_B 432に対応しデバイス_F 440によって受信される各PREQに対するPREPを生成することができる。他の実装形態では、デバイス_F 440は受信されたPREQを廃棄することができ、廃棄されたPREQに対するPREPを生成しなくてよい。
メッセージ交換400は、発信者デバイスが、単一のホップまたは複数のホップを通じて、提供者デバイスのような宛先デバイスにPREQを送信して、宛先デバイスへのパスを決定することを可能にし得る。いくつかの実装形態では、パス上の中間デバイスまたは宛先デバイスなどの1つまたは複数のデバイスは、最適ではないパスからPREQが受信されるときにPREQを廃棄することができ、これによって、パスの特定および/または選択に関する通信オーバーヘッドを減らすことができる。
図5を参照すると、データリンクグループにおけるメッセージ交換の説明のための例が示されており、全体に500と指定されている。データリンクグループは、図1のワイヤレスネットワーク101のデータリンクグループおよび/または図4のデータリンクグループに対応し得る。たとえば、メッセージ交換500は、図4のメッセージ交換400の通信の一部として、またはその続きとして行われ得る。
例示すると、図4に関連して説明されるように、デバイス_B 432はPREQを送信することができ、デバイス_F 440はデバイス__F 440の通信範囲内にある1つまたは複数のデバイスからPREQを受信することができる。たとえば、デバイス_F 440は、第1のホップカウント(たとえば、2)を示す第3のPREQを、デバイス_E 438を介して受信することができ、第2のホップカウント(たとえば、3)を示す第4のPREQを、デバイス_H 444を介して受信することができ、第3のホップカウント(たとえば、4)を示す第5のPREQを、デバイス_G 442を介して受信することができる。デバイス_F 440によって受信される第3のPREQは、デバイス_B 432、デバイス_J 448、デバイス_E 438、およびデバイス_F 440を含む第1のパスに対応し得る。デバイス_F 440によって受信される第4のPREQは、デバイス_B 432、デバイス_J 448、デバイス_I 446、デバイス_H 444、およびデバイス_F 440を含む第2のパスに対応し得る。デバイス_F 440によって受信される第5のPREQは、デバイス_B 432、デバイス_J 448、デバイス_I 446、デバイス_H 444、デバイス_G 442、およびデバイス_F 440を含む第3のパスに対応し得る。
特定の実装形態では、デバイス_F 440は、単一のデバイスから複数のPREQを受信することができる。たとえば、デバイス_F 440は、第4のホップカウント(たとえば、3)を示す第6のPREQを、デバイス_E 438を介して受信することができる。例示すると、デバイス_E 438は、デバイス_J 448を介して受信される第3のPREQを転送する前に、デバイス__D 436を介して受信される第6のPREQを転送することができる。第4のホップカウントを含む、デバイス_F 440によって受信される第6のPREQは、デバイス_B 432、デバイス_C 434、デバイス_D 436、デバイス_E 438、およびデバイス_F 440を含む第4のパスに対応し得る。
各PREQを受信したことに応答して、デバイス_F 440はPREQのホップカウントを更新(たとえば、1だけインクリメント)することができる。代替的に、他の実装形態では、デバイス__F 440は、特定のPREQを受信したことに応答して、特定のPREQのホップカウントを更新しなくてよい。デバイス_F 440は、データリンクグループの1つまたは複数のデバイスからPREQを受信したことに応答して、図1のPREP166または168のような1つまたは複数のPREPを生成することができる。たとえば、デバイス_F 440は、他のデバイスを介してPREQを受信する前に、デバイス_H 444を介して第4のPREQを受信することができる。デバイス_F 440は、第4のPREQを受信したことに応答して第1のPREPを生成することができ、デバイス_H 444を介して第1のPREPをデバイス_B 432に送信することができる。特定の実装形態では、デバイス_F 440は、デバイス_H 444を介して第4のPREQを受信したことに応答して、デバイス_H 444に接続することができる。たとえば、デバイス_F 440は、図2および図3に関連して説明されるように、デバイス_H 444とのペアごとの鍵を確立することができる。
デバイス_F 440はまた、デバイス_H 444を介して第4のPREQを受信した後で、デバイス_G 442を介して第5のPREQを受信することができる。第5のPREQを受信したことに応答して、デバイス_F 440は、第3のホップカウント(たとえば、4)が第2のホップカウント(たとえば、3)よりも大きいと決定したことに基づいて、第5のPREQを廃棄することができる。特定の実装形態では、デバイス_F 440は、第3のホップカウントが第2のホップカウントより大きいと決定したことに応答して、デバイス_G 442に接続しなくてよい。
デバイス_F 440は、デバイス_G 442を介して第5のPREQを受信した後で、デバイス_E 438を介して(第4のホップカウントを示す)第6のPREQを受信することができる。第6のPREQを受信したことに応答して、デバイス_F 440は、第4のホップカウント(たとえば、3)が第2のホップカウント(たとえば、3)以上であると決定したことに基づいて、第6のPREQを廃棄することができる。いくつかの実装形態では、デバイス_F 440は、第4のホップカウントが第2のホップカウント以上であると決定したことに応答して、デバイス_E 438に接続しなくてよい。
デバイス_F 440は、デバイス_E 438を介して(第4のホップカウントを示す)第6のPREQを受信した後で、デバイス_E 438を介して(第1のホップカウントを示す)第3のPREQを受信することができる。第3のPREQを受信したことに応答して、デバイス_F 440は、第1のホップカウント(たとえば、2)が第2のホップカウント(たとえば、3)よりも小さいと決定したことに基づいて、第2のPREPを生成することができる。デバイス_F 440は、デバイス_E 438を介して、第2のPREPをデバイス_B 432に送信することができる。特定の実装形態では、デバイス_F 440は、第1のホップカウントが第2のホップカウントより小さいと決定したことに応答して、デバイス_E 438に接続することができる。たとえば、デバイス_F 440は、デバイス_E 438とのペアごとの鍵を確立することができる。
発信者デバイス以外のデバイスおよび宛先デバイス以外のデバイスのような、中間デバイスは、複数のPREPを受信し得る。たとえば、デバイス_J 448は、デバイス_F 440から(デバイス_I 446を介して受信される)第1のPREPおよび(デバイス_E 438を介して受信される)第2のPREPを受信することができる。特定の実装形態では、デバイス_J 448は、複数のPREPの各々を(デバイス_B 432のような)発信者デバイスに転送することができる。代替的な実装形態では、デバイス_J 448は、ある特定のPREPが、発信者デバイスに提供されるように以前に転送された別のPREPよりも最適ではないと決定したことに応答して、その特定のPREPを廃棄することができる。たとえば、デバイス_J 448は、第1のPREPを受信する前に第2のPREPを受信することがある。デバイス_J 448は、PREPが以前にデバイス_B 432へ転送されなかったと決定したことに応答して、第2のPREPをデバイス_B 432に転送することができる。続いて、デバイス_J 448は、第1のPREPを受信することができ、第1のPREPを抑制することおよび/または転送しないことによって、第2のPREPを廃棄することができる。
特定の実装形態では、中間デバイスは、PREPが他のデバイスに転送されるべきであると決定したことに応答して、別のデバイスに接続することができる。たとえば、デバイス_J 448は、第2のPREPがデバイス_B 432に転送されるべきであると決定したことに応答して、デバイス_B 432に接続することができる。例示すると、デバイス_J 448およびデバイス_B 432は、図1のペアごとの鍵122のようなペアごとの鍵を確立することができる。別の例として、(デバイス_E 438)のような中間デバイスは、発信者デバイスへのパス上にある(デバイス_J 448のような)別の中間デバイスにPREPを転送することができる。デバイス_E 438およびデバイス_J 448が接続されない場合、デバイス_E 438は、PREPがデバイス_J 448に転送されるべきであると決定したことに応答して、デバイス_J 448に接続することができる。たとえば、デバイス_E 438は、デバイス_J 448とのペアごとの鍵を確立することができる。
特定の実装形態では、PREPを転送する中間デバイスは、中間デバイスがPREPを転送する先のデバイスとの接続を開始しなくてよい。むしろ、中間デバイスから転送されたPREPを受信するデバイスは、認証要求を送信することによって、中間デバイスに接続するかどうかを決定することができる。たとえば、デバイス_J 448およびデバイス_E 438が接続されない場合、デバイス_J 448は、デバイス_E 438からPREPを受信したことに応答して、デバイス_E 438との接続を開始するために認証要求を送信することができる。デバイス_E 438は、認証応答をデバイス_J 448に送信することができ、その後で、デバイス_J 448およびデバイス_E 438は、デバイス_J 448とデバイス_E 438との間の安全な通信のためのペアごとの鍵を確立することができる。
特定の実装形態では、デバイス_J 448は、第1のPREPを受信した後に第2のPREPを受信することがある。第2のPREPを受信したことに応答して、デバイス_J 448は、第1のPREPに対応する第1のホップカウントが第2のPREPに対応する第2のホップカウントよりも大きいと決定したことに基づいて、第2のPREPをデバイス_B 432に転送することができる。代替的に、第1のホップカウントが第2のホップカウント以上である場合、デバイス_J 448は、それを決定したことに基づいて第2のPREPを廃棄することができる。
発信者デバイスは、複数のPREPを受信することがある。たとえば、デバイス_B 432は、デバイス_J 448を介して第4のPREPを受信する前に、デバイス__C 434を介して第3のPREPを受信することがある。第3のPREPを受信したことに応答して、デバイス_B 432は、デバイス_C 434を介した第1のパスに対応するデバイス_C 434を選択することができる。第2のPREPを受信したことに応答して、デバイス_B 432は、第4のPREPに対応する第2のホップカウントが第3のPREPに対応する第1のホップカウントよりも小さいと決定したことに応答して、デバイス_J 448を介した第2のパスに対応するデバイス_J 448を選択することができる。代替的に、デバイス_B 432は、第2のホップカウントが第1のホップカウント以上であると決定したことに応答して、第4のPREPを廃棄することができる。
図4および図5に示される特定の実装形態は、ホップカウントに関して論じられる。代替的な実装形態では、デバイスは、ホップカウント、1つまたは複数の閾値、(図1に関連して説明されるような)1つまたは複数の尺度パラメータ、またはこれらの組合せに基づいて、PREQおよび/またはPREPを廃棄または転送することができる。
メッセージ交換500は、発信者デバイスが、複数のホップを通じて宛先デバイスから1つまたは複数のPREPを受信して、宛先デバイスへのルーティングパスを決定することを可能にし得る。いくつかの中間デバイスは、最適ではないパスをPREPが表すときにPREPを廃棄することができ、これによって、ルーティングパスを選択することに関連する通信オーバーヘッドを減らすことができる。
図6を参照すると、特定のデータリンクグループの状態が示されている。特定の実装形態では、これらの状態は、図1のデバイス110、120、130、140、または図4および図5のデバイス430〜448を含む、データリンクグループに対応し得る。
600において、1つまたは複数の提供者デバイスを含む複数のデバイスが、データリンクグループに参加し得る。複数のデバイスは、第1の提供者デバイス604、第2の提供者デバイス606、およびプロキシデバイス608を含み得る。複数のデバイスは、データリンクグループを含むワイヤレスネットワークの特定の通信チャネル上でのビーコン通信を介して同期され得る。加えて、データリンクグループのデバイスは、二次的発見メッセージを介して同期され得る。たとえば、二次的発見メッセージは、図9および図10に関連して説明されるように、送信スケジュールを指定するグループ制御フィールドを含み得る。
610において、第1のデバイス110が、データリンクグループに参加するプロキシデバイス608の通信範囲に入り得る。第1のデバイス110は、プロキシデバイス608の通信範囲内にあるデバイスへプロキシデバイス608によって送信される、プロキシデバイス608からのサービスブロードキャストメッセージを受信し得る。いくつかの実装形態では、プロキシデバイス608は、図1の第3のデバイス130に対応してよく、サービスブロードキャストメッセージは、図2の発見メッセージ205に対応してよい。サービスブロードキャストメッセージは、データリンクグループを介して利用可能なサービス(第1の提供者デバイス604および/または第2の提供者デバイス606によって提供される)の利用可能性を告知することができる。
620において、第1のデバイス110は、プロキシデバイス608に接続することによって、データリンクグループに参加することができる。たとえば、第1のデバイス110は、第2のデバイスに対して認証することができ、認証されると、第1のデバイス110は、プロキシデバイス608からデータリンクグループのグループ鍵を受信することができる。
630において、第1のデバイス110は、1つまたは複数の提供者デバイスに到達するために、接続ルート発見を開始することができる。たとえば、第1のデバイス110は、ルート発見を開始して、接続のためにデータリンクグループのある特定のデバイスを選択することができる。いくつかの実装形態では、第1のデバイス110は、図1のパス要求(PREQ)164のような1つまたは複数のPREQを出して、第1の提供者デバイス604へのルートおよび/または第2の提供者デバイス606への第2のパスを特定することができる。いくつかの実装形態では、1つまたは複数のPREQは、グループ鍵を使用して符号化され得る。
640において、第1のデバイス110は、データリンクグループのデバイスからパス応答(PREP)を受信することができる。受信されるPREPは、第1の提供者デバイス604に対応する第1のPREPと、第2の提供者デバイス606に対応する第2のPREPとを含み得る。いくつかの実装形態では、PREPはグループ鍵によって符号化されてよく、第1のデバイス110は、第1のデバイス110に記憶されたグループ鍵を使用してPREPを復号することができる。第1のデバイス110は、第1のデバイス110が第1のPREPをそこから受信した特定のデバイス642を選択することができ、その特定のデバイス642に接続することができる。したがって、第1のデバイス110は、特定のデバイス642を含む第1のパスを介して、第1の提供者デバイス604にデータを送信し、またはそれからデータを受信することができる。
650において、グループ通信チャネルのグループページング時間枠は、データリンクグループに含まれる1つまたは複数のデバイスのスリープ時間を協調させるために使用され得る。データリンクグループのデバイスは、スリープ時間を協調させるための、発見メッセージのようなビーコンメッセージを送信するために、グループ通信チャネルを使用しなくてよい。図10に関連して説明されるように、スリープ時間は、図2の発見メッセージ205のような発見メッセージのデータリンクグループ制御フィールドに基づいて協調されてよく、この発見メッセージは、グループ通信チャネルのグループページング時間枠の時間と長さを指定し得る。たとえば、データリンクグループに参加した後で、データリンクグループのデバイスは、グループ通信チャネルを監視するために、データリンクグループ制御フィールドによって指定されるグループページング時間枠の間は起動したままであり得る。
(第1のデバイス110のような)特定のデバイスが、特定のグループページング時間枠の間にTIMを受信しない場合、または、特定のデバイスへ送信されるべきデータをTIMが示さないと決定する場合、特定のデバイスは、後続のグループデータ時間枠(または、特定のグループページング時間枠を含むグループ送信時間枠の残り)の間はスリープしてよく、次のグループページング時間枠(または次の発見時間枠)までスリープしてよい。代替的に、特定のデバイスは、データリンクグループのサービスに対応するデータを送信および/または受信するために、グループデータ時間枠の間はアクティブモードにあってよい。いくつかの実装形態では、ルーティングメッセージ(たとえば、PREQおよびPREP)、認証メッセージ(たとえば、認証メッセージ207)、新たなグループ鍵の告知、接続メッセージ(たとえば、認証要求174、認証応答172、接続要求288、または接続応答294)、明示的な離脱メッセージ、またはこれらの組合せが、グループページング時間枠の間に送信されてよく、それは、データリンクグループのデバイスがグループページング時間枠の間は起動しているからである。
図6に示される状態は、データリンクグループの特定のデバイスが、データリンクグループの別のデバイスに選択的に接続することを可能にし得る。加えて、特定のデバイスは、特定のデバイスとの間で送信されるデータがないグループデータ時間枠の間は、スリープモードのような低電力モードに切り替える(またはとどまる)ことによって、電力を節約することができる。代替的に、図6の状態は、特定のデバイスが、データリンクグループのサービスに対応するデータを送信および/または受信するために、グループデータ時間枠の間はアクティブモードにあることを可能にし得る。
図7を参照すると、システムの特定の例が示され、全体的に700と指定されている。システム700は、ワイヤレスネットワーク101を含み得る。ワイヤレスネットワーク101は、代表的なデバイス710および図1のデバイス110、120、130、140のような複数のデバイスを含み得る。加えて、または代替的に、ワイヤレスネットワーク101は、図4のデバイス430〜448の1つまたは複数、および/または図6のデータリンクグループのデバイスの1つまたは複数を含み得る。
ワイヤレスネットワーク101の複数のデバイスは、複数のデバイスが定期的に起動することを可能にするように同期され得る。たとえば、デバイスは、ワイヤレスネットワーク101の発見時間枠のような、ある期間の間にアクティブモードへ切り替えることによって起動し得る。複数のデバイスの各々が、発見時間枠の間、ワイヤレスネットワーク101の同じ特定の通信チャネルを監視することができる。ワイヤレスネットワーク101は、NANクラスタ識別子(ID)のようなネットワーク識別子(ID)によって識別され得る。ネットワークIDは、ワイヤレスネットワーク101の形成を開始するデバイスによって選択されてよく、発見メッセージのようなメッセージに含まれてよい。
ワイヤレスネットワーク101のデバイスのサブセットは、ワイヤレスネットワーク101の特定の通信チャネルを通じて、同期ビーコンおよび/または発見ビーコンを送信することができる。発見メッセージおよび同期ビーコンは、特定の通信チャネルを通じて、発見時間枠の間にデバイスの1つまたは複数によって送信され得る。図2の発見メッセージ205のような発見メッセージは、ワイヤレスネットワーク101を発見するために、かつデバイスがワイヤレスネットワーク101に参加することを可能にするために、デバイス(ワイヤレスネットワーク101に含まれない)によって使用され得る。同期ビーコンは、時間同期機能(TSF)の修正のために、ワイヤレスネットワーク101の複数のデバイスによって使用され得る。
いくつかの実装形態では、ワイヤレスネットワーク101は、ワイヤレスネットワーク101の特定のデバイス(アンカーマスターと呼ばれる)に固定される木構造を有し得る。アンカーマスターのタイミングは、同期デバイスおよびNANマスターデバイスのようなマスターデバイスを介して、ワイヤレスネットワーク101のデバイスの各々に伝播され得る。同期デバイスおよびマスターデバイスは、ワイヤレスネットワーク101内の時間同期を行い得る。
第1のデータリンクグループ703、第2のデータリンクグループ704、および第3のデータリンクグループ706のような、ワイヤレスネットワーク101に含まれる1つまたは複数のデータリンクグループがあり得る。特定の実装形態では、データリンクグループ703、704、および706は、別個のアプリケーション、別個のタイプのデバイス、別個のオペレーティングシステム、またはこれらの組合せに対応し得る。
特定の実装形態では、図1に関連して説明されるようなデータリンクグループは、第1のデータリンクグループ703に対応し得る。たとえば、第1のデータリンクグループ703は、図1のデバイス110、120、130、140を含み得る。いくつかの実装形態では、デバイスは複数のデータリンクグループに含まれ得る。例示すると、特定のデバイス708は、第2のデータリンクグループ704および第3のデータリンクグループ706に含まれ得る。
いくつかの実装形態では、第1のデータリンクグループ703は、複数のデバイスの第1のサブセットを含んでよく、第2のデータリンクグループ704は、複数のデバイスの第2のサブセットを含んでよく、第3のデータリンクグループ706は、デバイス410の第3のサブセットを含んでよい。サブセットは重複することがあり、または別々であることがある。例示すると、特定のデバイス708は、第2のデータリンクグループ704の第1のサービスの提供者デバイスであってよく、第3のデータリンクグループ706の第2のサービスのプロキシデバイスであってよく、第1のデータリンクグループ703の第1のサービス、第2のサービス、および/もしくは第3のサービスの消費者デバイスであってよく、またはこれらの組合せであってよい。
いくつかの実装形態では、特定のデータリンクグループは、単一のアプリケーションによってサポートされるサービスまたは複数のアプリケーションによってサポートされる複数のサービスのような、1つのサービスまたは複数のサービスに対応し得る。たとえば、データリンクグループ703、704、706の各々は、1つまたは複数のサービスに対応し得る。例示すると、説明のための非限定的な例として、第1のデータリンクグループ703は、アプリケーション(A6)のような単一のアプリケーション712に対応してよく、第2のデータリンクグループ704は、アプリケーション(A1〜A2)のような複数のアプリケーション713に対応してよく、第3のデータリンクグループ706は、アプリケーション(A3〜A5)のような複数のアプリケーション714に対応してよい。
第1のデータリンクグループ703の(第4のデバイス140のような)特定のデバイスは、アプリケーション(A6)に対応するサービスの利用可能性を告知することができる。サービスを告知するために、特定のデバイスは、ワイヤレスネットワーク101の特定の通信チャネルを介して発見メッセージを送信することができる。発見メッセージを受信したことに応答して、1つまたは複数のデバイスは、第1のデータリンクグループ703に参加して、アプリケーション(A6)に対応するサービスを受信することができる。第1のデータリンクグループ703に参加するデバイスは、第1のデータリンクグループ703のグループ鍵を受信することができる。第1のデータリンクグループ703のグループ鍵は、第2のデータリンクグループ704および第3のデータリンクグループ706のグループ鍵とは別個であり得る。
図7はまた、送信スケジュール716の説明のための例を示す。いくつかの実装形態では、送信スケジュール716は、ワイヤレスネットワーク101、および/または、第1のデータリンクグループ703のようなデータリンクグループのグループ通信チャネルに対応し得る。ワイヤレスネットワーク101は特定の通信チャネル772に対応してよく、第1のデータリンクグループ703はグループ通信チャネル736に対応してよい。第1のデータリンクグループ703を参照すると、第1のデータリンクグループ703に含まれるデバイスは、図9および図10に関連して説明されるように、送信スケジュール716を表現するためにデータリンクグループ制御フィールドを生成することができる。このデバイスは、そのデバイスの通信範囲内にある他のデバイスへとそのデバイスによって送信される、図2の発見メッセージ205のような発見メッセージに、データリンクグループ制御フィールドを含め得る。たとえば、デバイスは、第1のデータリンクグループ703のグループ通信チャネル736に対応する送信スケジュール716を表現するためにグループ制御フィールドを生成することができる。デバイスは、発見メッセージにグループ制御フィールドを含めることができ、グループ通信チャネル736を介して提供されるサービスの利用可能性を告知するために発見メッセージを送信することができる。
特定の通信チャネル772は、第1の発見時間枠718および第2の発見時間枠720のような発見時間枠を含み得る。いくつかの実装形態では、連続する発見時間枠と発見時間枠の間に約512ミリ秒(ms)の時間間隔があり得る。発見時間枠718、720は、発見フレームおよび同期ビーコンを送信するために、ワイヤレスネットワーク101のデバイスによって使用され得る。たとえば、第4のデバイス140は、第1の発見時間枠718、第2の発見時間枠720、または両方の間に、アプリケーション(A6)に対応するサービスを告知するために発見メッセージを送信することができる。
連続する発見時間枠と発見時間枠の間に、グループ通信チャネル736の、代表的なグループ送信(TX)時間枠740のような1つまたは複数のグループTX時間枠が存在し得る。1つまたは複数のグループTX時間枠の初期グループTX時間枠は、発見時間枠(DW)オフセット724の後で開始し得る。DWオフセット724は、第1の発見時間枠718の開始(または終了)と、グループ通信チャネル736の初期グループTX時間枠の開始との間の、特定の期間であり得る。各グループTX時間枠は、グループTX時間枠のサイズ(たとえば、長さ)であるグループTX時間枠サイズ728を有し得る。各グループTX時間枠は、グループページング時間枠742およびグループデータ時間枠744を含み得る。各グループページング時間枠は、グループページング時間枠サイズ730を有してよく、各グループデータ時間枠は、グループデータ時間枠サイズ731を有してよい。グループTXオフセット726は、連続する発見時間枠のセットの発見時間枠と発見時間枠の間に存在する、連続するグループTX時間枠とグループTX時間枠との間の期間を示し得る。
図8を参照すると、メッセージ交換の説明のための例が示されており、全体に800と指定されている。特定の実装形態では、メッセージ交換800は、第1のデバイス(デバイス1)、第2のデバイス(デバイス2)、第3のデバイス(デバイス3)、および第4のデバイス(デバイス4)のような、データリンクグループのデバイスを含み得る。たとえば、これらのデバイスは、図1のデバイス110、120、130、140、図4のデバイス430〜448、図6のデータリンクグループのデバイス、および/または図7の第1のデータリンクグループ703のデバイスの、1つまたは複数を含み得る。メッセージ交換800は、グループ通信チャネル736を使用して行われ得る。
データリンクグループのデバイスは、データリンクグループのマスターデバイスまたはデータリンクグループを含むワイヤレスネットワーク101のマスターデバイスによって通信される、1つまたは複数の同期ビーコンを介して同期され得る。たとえば、データリンクグループのデバイスの1つはマスターデバイスであってよく、特定の通信チャネル772を介してワイヤレスネットワーク101に含まれる他のデバイスに1つまたは複数の同期ビーコンをブロードキャストすることができる。
これらのデバイスは、グループ通信チャネル736に対応するグループ送信時間枠を検出するように同期され得る。たとえば、データリンクグループのデバイスの各々は、グループ送信時間枠、グループページング時間枠、および/またはグループデータ時間枠がいつ開始および終了するかの正しい判定を可能にするために、IEEE 802.11s規格および/またはWi-Fi Alliance規格によって記述されるような、同期されたクロックを有し得る。グループ送信時間枠は、第1のグループ送信時間枠810、第2のグループ送信時間枠812、第3のグループ送信時間枠814、および第4のグループ送信時間枠816を含み得る。グループ送信時間枠の各々は、対応するグループページング時間枠および対応するグループデータ時間枠を含み得る。例示すると、第1のグループ送信時間枠810は第1のグループページング時間枠802および第1のグループデータ時間枠803を含んでよく、第2のグループ送信時間枠812は第2のグループページング時間枠804および第2のグループデータ時間枠805を含んでよく、第3のグループ送信時間枠814は第3のグループページング時間枠806および第3のグループデータ時間枠807を含んでよく、第4のグループ送信時間枠816は第4のグループページング時間枠808および第4のグループデータ時間枠809を含んでよい。
グループページング時間枠の間、データリンクグループのデバイスの各々は起動していてよく(たとえば、節電モードまたはスリープモードではなくてよく)、(対応するグループデータ時間枠の間に送信されるべき)トラフィックを示すビーコンおよび/またはメッセージを監視することができる。グループページング時間枠の間に送信されるビーコンおよび/またはメッセージは、セキュアである(たとえば、符号化されている)ことがあり、またはアンセキュアである(たとえば、符号化されていない)ことがある。セキュアなビーコンおよび/またはセキュアなメッセージがグループページング時間枠の間に送信されるとき、セキュアなビーコンおよび/またはセキュアなメッセージは、グループ鍵またはペアごとの鍵のような鍵を使用して符号化され得る。グループページング時間枠の間に受信されるビーコンおよび/またはメッセージに基づいて、特定のデバイスがデータを受信できると特定のデバイスが決定する場合、特定のデバイスは、対応するグループデータ時間枠の間は起動したままであり得る。特定のデバイスが、グループページング時間枠の間に、今後データが来ることを示すビーコンおよび/またはメッセージを受信しない場合、特定のデバイスは、次のグループデータ時間枠の間はスリープ状態になり得る(たとえば、スリープモードまたは節電モードに入り得る)。特定のデバイスが、グループページング時間枠の間に、今後データが来ることを示すビーコンおよび/またはメッセージを受信する場合、特定のデバイスは、次のグループデータ時間枠の間、データを送信するために起動した状態であり得る。
第1のグループページング時間枠802を参照すると、第3のデバイス(デバイス3)は、第3のデバイス(デバイス3)がデータリンクグループにブロードキャストすべきデータを有することを示すTIM818を送信することができる。加えて、第4のデバイス(デバイス4)は、第4のデバイス(デバイス4)が第1のデバイス(デバイス1)および第2のデバイス(デバイス2)に送信すべきデータを有することを示すTIM820を送信することができる。第1のグループデータ時間枠803の間、TIM818を受信したすべてのデバイスが、ブロードキャストトラフィックを受信するために起動したままであり得る。加えて、第4のデバイス(デバイス4)は、ユニキャストフレームを第1のデバイス(デバイス1)および第2のデバイス(デバイス2)に送信することができる。TIM818を受信しなかったデータリンクグループのデバイスは、第1のグループデータ時間枠803の間は起動した状態ではなくてもよい。
図8に示される例では、第2のグループページング時間枠804の間、ビーコンまたはメッセージは通信されない。したがって、第2のグループデータ時間枠805の間、データリンクグループのデバイスは、スリープモードにあり得る。第3のグループページング時間枠806の間、第3のデバイス(デバイス3)は、第3のデバイス(デバイス3)がブロードキャストすべきデータを有することを示すTIM822を送信することができる。したがって、第3のデバイス(デバイス3)の通信範囲にあるデータリンクグループのデバイスのすべてが、第3のグループデータ時間枠807の間は起動した状態であり得る。
第4のグループページング時間枠808の間に、第4のデバイス(デバイス4)は、第4のデバイス(デバイス4)が第3のデバイス(デバイス3)および第2のデバイス(デバイス2)に送信すべきデータを有することを示すTIM824を送信することができる。加えて、第2のデバイス(デバイス2)は、第2のデバイス(デバイス2)が第3のデバイス(デバイス3)に送信すべきデータを有することを示すTIM826を送信することができる。第4のグループデータ時間枠809の間、第4のデバイス(デバイス4)は、ユニキャストフレームを第2のデバイス(デバイス2)および第3のデバイス(デバイス3)に送信することができる。加えて、第2のデバイス(デバイス2)は、1つまたは複数のユニキャストフレームを第3のデバイス(デバイス3)に送信することができる。データリンクグループの第1のデバイス(デバイス1)のような他のデバイスは、第4のグループデータ時間枠809の間は起動した状態ではなくてもよい。
したがって、図8は、デバイスが、送信されるべきデータトラフィックをデータリンクグループの他のデバイスに知らせるために、グループ送信時間枠のグループページング時間枠の間にビーコンおよび/またはメッセージをどのように送信するかを示す。送信されるべきデータトラフィックを他のデバイスに知らせることによって、データトラフィックを送信または受信することが意図されない1つまたは複数のデバイスは、スリープモードまたは節電モードに入ることによって電力を節約することができ、または、グループデータ時間枠の間に別のデータリンクグループの1つまたは複数のデバイスとともにデータを送信または受信することができる。
図9を参照すると、グループ属性の特定の例の図が示され、全体的に900と指定されている。特定の実装形態では、グループ属性900は、図2の発見メッセージ205に、たとえば図2の発見メッセージ205のフィールドに含まれ得る。いくつかの実装形態では、グループ属性900は、図1の第4のデバイス140または第3のデバイス130によって生成されてよく、第1のデバイス110によって受信されてよい。
グループ属性900は、属性識別子(ID)フィールド902、長さフィールド904、組織固有識別子(OUI)フィールド906、ベンダー属性タイプフィールド908、グループ鍵フィールド910、グループチャネルフィールド912、グループ制御フィールド914、グループ識別子(ID)フィールド916、またはこれらの組合せを含み得る。属性IDフィールド902、長さフィールド904、ベンダー属性タイプフィールド908、グループチャネルフィールド912、またはこれらの組合せは各々、説明のための非限定的な例として、1オクテット(たとえば、8ビット)の長さであり得る。OUIフィールド906は、説明のための非限定的な例として、3オクテット(たとえば、24ビット)の長さであり得る。グループ鍵フィールド910は、説明のための非限定的な例として、4オクテット(たとえば、32ビット)の長さであり得る。いくつかの実装形態では、グループ制御フィールド914は、2オクテット(たとえば、16ビット)の長さであり得る。
特定の実装形態では、グループIDフィールド916の長さは、可変であり得る。たとえば、グループIDフィールド916は、説明のための非限定的な例として、0オクテットと32オクテットの間(たとえば、0ビットと656ビットの間)の長さであり得る。グループ属性900を受信するデバイスは、グループ属性900を含む、図2の発見メッセージ205のような受信された発見メッセージの長さフィールド904に基づいて、グループIDフィールド916の長さを決定することができる。
図2を参照すると、説明のための非限定的な例として、第1のデバイス110は、特定の値(たとえば、1)を有するベンダー属性タイプフィールド908、特定の値(たとえば、221)を有する属性IDフィールド902、特定の値を有するOUIフィールド906、またはこれらの組合せに基づいて、発見メッセージ205がグループ属性900を含むことを決定することができる。第1のデバイス110は、発見メッセージ205がグループ属性900を含むと決定したことに応答して、発見メッセージ205からデータリンクグループに関する情報を抽出することができる。第1のデバイス110は、発見メッセージ205がグループ属性900を含むと決定したことに応答して、発見メッセージ205からデータリンクグループ(たとえば、第1のデータリンクグループ703)に関する情報を抽出することができる。
第1のデバイス110は、グループIDフィールド916の値に基づいて、図1のデータリンクグループの識別子を決定することができる。第1のデバイス110は、グループ鍵フィールド910の値に基づいて、グループ鍵124を決定することができる。たとえば、グループ鍵フィールド910の値は、グループ鍵124のハッシュに対応し得る。いくつかの実装形態では、ワイヤレスネットワーク101は、図7に関連して説明されるように複数のデータリンクグループを含み得る。たとえば、ワイヤレスネットワーク101は、ワイヤレスネットワーク101のデバイスによって提供される各サービスに対する1つのデータリンクグループを含み得る。そのような実装形態では、ワイヤレスネットワーク101の複数のデータリンクグループは、グループIDフィールド916の単一の値に対応し得る。この実装形態では、第1のデバイス110は、グループ鍵フィールド910の値に基づいて、複数のデータリンクグループを区別することができる。
グループ属性900を受信するデバイスは、グループチャネルフィールド912の値に基づいて、データリンクグループのグループ通信チャネルを決定することができる。グループ制御フィールド914はさらに、図10に関連して説明される。グループ属性900は、特定の通信チャネル772のような、ワイヤレスネットワーク101の特定のグループ通信チャネルを介してサービスの利用可能性を告知するための、発見メッセージの使用を可能にし得る。
図10を参照すると、グループ制御フィールドの説明のための例の図が示され、全体に914と指定されている。特定の実装形態では、グループ制御フィールド914は、図9のグループ属性900に含まれ得る。グループ制御フィールド914は、グループ送信(TX)反復フィールド1002、発見時間枠(DW)オフセットフィールド1004、グループTXオフセットフィールド1006、グループTX時間枠サイズフィールド1008、グループページング時間枠サイズフィールド1010、グループハートビートフィールド1012、グループ存続時間フィールド1014、またはこれらの組合せを含み得る。
DWオフセットフィールド1004の値は、発見時間枠の終了(または開始)から特定の期間後に、第1のグループ送信時間枠が開始することを示し得る。グループTX反復フィールド1002の値は、連続する発見時間枠と発見時間枠の間で、グループ送信時間枠が複数回繰り返されるかどうかを示し得る。グループTXオフセットフィールド1006の値は、特定のグループ送信時間枠の終了と、次のグループ送信時間枠の開始との間の、特定の期間を示し得る。グループTX時間枠サイズフィールド1008の値は、各グループ送信時間枠のサイズを示し得る。各グループ送信時間枠は、グループ送信時間枠の最初にグループページング時間枠を含む。グループページング時間枠サイズフィールド1010の値は、各グループページング時間枠の特定の期間を示し得る。グループハートビートフィールド1012の値は、ハードビートの値を示し得る。グループ存続時間フィールド1014の値は、存続時間の値を示し得る。存続時間の値は、データリンクグループを介してサービスが利用可能であると予測される、特定の期間を示し得る。グループハートビートフィールド1012は、ハートビートの値に対応する特定の期間の間に発見メッセージを受信しない際に、第1のデバイス110がデータリンクグループから離脱すべきであることを示し得る。第1のデバイス110は、ハートビートの値、存続時間の値、または両方に基づいて、データリンクグループから離脱することができる。
グループ制御フィールド914は、グループ通信チャネル736に対応する送信スケジュールを(第4のデバイス140のような)デバイスが指定することを可能にし得る。第3のデバイス130または第1のデバイス110のような受信デバイスは、グループ制御フィールド914によって示される送信スケジュール716に従って、グループ通信チャネル736を監視することができる。
図7を参照すると、DWオフセットフィールド1004の値は、送信スケジュール716のDWオフセット724を示し得る。DWオフセット724は、第1の発見時間枠718の終了と、第2の発見時間枠720の開始との間の、特定の期間であり得る。グループTX反復フィールド1002の値は、連続する発見時間枠と発見時間枠の間で、複数のグループ送信時間枠が繰り返されることを示し得る。
グループTXオフセットフィールド1006の値は、送信スケジュール716のグループTXオフセット726を示し得る。グループTXオフセット726は、連続するグループ送信時間枠とグループ送信時間枠との間の特定の期間であり得る。グループTX時間枠サイズフィールド1008の値は、送信スケジュール716のグループTX時間枠サイズ728を示し得る。グループTX時間枠サイズ728は、各グループ送信時間枠のサイズであり得る。グループページング時間枠サイズフィールド1010の値は、送信スケジュール716のグループページング時間枠サイズ730を示し得る。グループページング時間枠サイズ730は、グループ送信時間枠の最初に存在するグループページング時間枠のサイズであり得る。特定の実装形態では、連続する発見時間枠と発見時間枠の間に約512ミリ秒(ms)の時間間隔があり得る。
いくつかの実装形態では、特定の発見時間枠は、発見フレームおよび同期ビーコンを送信するために使用され得る。たとえば、第4のデバイス140は、第1の発見時間枠718、第2の発見時間枠720、または両方の間に、発見メッセージを送信することができる。別の例として、第3のデバイス130は、第1の発見時間枠718、第2の発見時間枠720、または両方の間に、発見メッセージ205を送信することができる。
図11を参照すると、パス要求(PREQ)のフォーマットの特定の実装形態が示され、全体に1100と指定されている。特定の実装形態では、PREQは図1のPREQ164に対応し得る。
フォーマット1100は、PREQ要素フォーマット1150とフラグフィールドフォーマット1152とを含む。PREQ要素フォーマット1150は、図1のPREQ164のフォーマットに対応し得る。PREQ要素フォーマット1150は、要素IDフィールド1102、長さフィールド1104、フラグフィールド1106、ホップカウントフィールド1108、要素time-to-live(TTL)フィールド1110、パス発見識別子(ID)フィールド1112、および発信者グループデバイスアドレスフィールド1114を含む。加えて、PREQ要素フォーマット1150は、発信者ハイブリッドワイヤレスメッシュプロトコル(HWMP)シーケンス番号フィールド1116、発信者外部アドレスフィールド1118、存続時間フィールド1120、尺度フィールド1122、ターゲットカウント1124、第1のターゲットフラグフィールド1126、第1のターゲットアドレスフィールド1128、第1のターゲットHWMPシーケンス番号フィールド1130、第nのターゲットフラグフィールド1132、第nのターゲットアドレスフィールド1134、および第nのターゲットシーケンス番号フィールド1136を含む。
要素IDフィールド1102、長さフィールド1104、フラグフィールド1106、ホップカウントフィールド1108、要素time-to-live(TTL)フィールド1110、ターゲットカウント1124、第1のターゲットフラグフィールド1126、および第nのターゲットフラグフィールド1132の各々は、説明のための非限定的な例として、1オクテットの長さを有し得る。パス発見識別子(ID)フィールド1112、発信者ハイブリッドワイヤレスメッシュプロトコル(HWMP)シーケンス番号フィールド1116、存続時間フィールド1120、尺度フィールド1122、第1のターゲットHWMPシーケンス番号フィールド1130、および第nのターゲットシーケンス番号フィールド1136は、説明のための非限定的な例として、4オクテットの長さを有し得る。発信者グループデバイスアドレスフィールド1114、発信者外部アドレスフィールド1118、第1のターゲットアドレスフィールド1128、および第nのターゲットアドレスフィールド1134の各々は、説明のための非限定的な例として、6オクテットの長さを有し得る。いくつかの実装形態では、発信者外部アドレスフィールド1118は、説明のための非限定的な例として、0オクテットの長さを有し得る。たとえば、PREQ要素フォーマット1150は、発信者外部アドレスフィールド1118を含まなくてよい。
フラグフィールドフォーマット1152は、フラグフィールド1106に対応し得る。説明のための非限定的な例として、フラグフィールドフォーマット1152は、ゲート告知フィールド1138、アドレス指定モードフィールド1140、事前PREPフィールド1142、予備フィールド1144、アドレス拡張(AE)フィールド1146、および予備フィールド1148を含む。
動作の間、第1のデバイス110は、PREQ要素フォーマット1150に従ってPREQを生成することができる。たとえば、第1のデバイス110は、発信者グループデバイスアドレスフィールド1114を第1のデバイス110のMACアドレスに設定し、発信者HWMPシーケンス番号フィールド1116を、PREQ164を識別する特定の値に設定し、パス発見IDフィールド1112を、特定のパスを識別する特定の値に設定することによって、PREQを初期化することができる。第1のデバイス110は、要素TTLフィールド1110を、それより大きければPREQが廃棄されるべきであるホップの数に設定することができ、存続時間フィールド1120を、それより後であればPREQが廃棄されるべきである特定の時間単位に設定することができ、ホップカウントフィールド1108を特定の値(たとえば、0)に初期化することができ、尺度フィールド1122を特定の値(たとえば、0)に初期化することができる。第1のデバイス110は、PREQを使用して、第4のデバイス140のような1つまたは複数の宛先デバイスへのパスを決定することができる。
第1のデバイス110は、宛先デバイスの数(たとえば、1から20)を示すために、ターゲットカウントフィールド1024を設定することができる。第1のデバイス110は、各宛先デバイスに対してターゲット固有フィールドを設定することができる。たとえば、第1のデバイス110は、第1の宛先デバイスの、特定のMACアドレスまたはブロードキャストMACアドレスのようなアドレス示すために、第1のターゲットアドレスフィールド1128を設定することができ、第nの宛先デバイスのアドレスを示すために、第nのターゲットアドレスフィールド1134を設定することができる。第1のデバイス110は、宛先デバイスの以前に受信されたHWMPシーケンス番号を有し得る。たとえば、第1のデバイス110は、(第4のデバイス140のような)宛先デバイスのHWMPシーケンス番号を伴うPREPを以前に受信している可能性がある。第1のデバイス110は、ターゲットHWMPシーケンス番号フィールドを、宛先デバイスの以前に受信されたHWMPシーケンス番号に設定することができる。例示すると、第1のデバイス110は、第1のターゲットHWMPシーケンス番号フィールド1130を、第1の宛先デバイスの以前に受信されたHWMPシーケンス番号に設定することができる。別の例として、第1のデバイス110は、第nのターゲットシーケンス番号フィールド1136を、第nの宛先デバイスの以前に受信されたHWMPシーケンス番号に設定することができる。
第1のデバイス110は、各宛先デバイスに対してターゲットフラグフィールドを設定することができる。たとえば、第1のデバイス110は、第1の宛先デバイスに対して第1のターゲットフラグフィールド1126を設定することができ、第nの宛先デバイスに対して第nのターゲットフラグフィールド1132を設定することができる。各ターゲットフラグフィールド(たとえば、第1のターゲットフラグフィールド1126または第nのターゲットフラグフィールド1132)は、説明のための非限定的な例として、特定の長さ(たとえば、1ビット)のターゲットオンリーフラグフィールドを含み得る。第1のデバイス110は、第1の宛先デバイスだけがPREPによってPREQに応答すべきであることを示すために、第1のターゲットフラグフィールド1126の第1のターゲットオンリーフラグフィールドを第1の値(たとえば、1)に設定することができる。代替的に、第1のデバイス110は、第nの宛先デバイスだけがPREPによってPREQに応答すべきであることを示すために、第nのターゲットフラグフィールド1132の第nのターゲットオンリーフラグフィールドを第1の値(たとえば、1)に設定することができる。第1のデバイス110は、宛先デバイスへのルート上の(プロキシデバイスのような)中間デバイスがPREPによってPREQに応答すべきであることを示すために、第1のターゲットオンリーフラグフィールドを第2の値(たとえば、0)に設定することができる。
第1のデバイス110は、データリンクグループのデバイスにPREQを送信することができる。たとえば、第1のデバイス110は、グループデータ時間枠の間に、グループ通信チャネル736を介してPREQをブロードキャストすることができる。データリンクグループの受信デバイスは、第1のデバイス110からPREQを受信することができる。受信デバイスは、要素TTLフィールド1110の値を更新する(たとえば、1だけインクリメントする)ことができ、ホップカウントフィールド1108の値を更新する(たとえば、1だけインクリメントする)ことができる。
受信デバイスは、受信デバイスと、受信デバイスにPREQを送信したデバイスとに基づいて、特定の尺度パラメータを決定することができる。特定の実装形態では、PREQの尺度パラメータ値は、第1の平均パケットロスを示し得る。受信デバイスは、受信デバイスと、受信デバイスにPREQを送信したデバイスとの間の、特定の期間(たとえば、直近の5分)における第2の平均パケットロスを決定することができる。
受信デバイスは、第2の平均パケットロスが第1の平均パケットロスより高いと決定したことに応答して、第2の平均パケットロスを示すようにPREQの尺度パラメータ値を更新することができる。この実装形態では、PREQの尺度パラメータ値は、パス上の最低の(または最高の)尺度パラメータ値を示し得る。たとえば、最低の(または最高の)尺度パラメータ値は、パスの混雑した部分、パスのエラーが多い部分、または両方に対応し得る。
他の実装形態では、PREQの尺度パラメータ値は、尺度パラメータの累積値のような、累積尺度パラメータ値を示し得る。たとえば、受信デバイスは、第2の尺度パラメータ値をPREQの尺度パラメータ値に加算することによって、PREQの尺度パラメータ値を更新することができる。この例では、PREQの尺度パラメータ値は、パス上の尺度パラメータ値の合計に対応し得る。別の例として、受信デバイスは、第2の尺度パラメータ値とPREQの尺度パラメータ値を平均することによって、PREQの尺度パラメータ値を更新することができる。この例では、PREQの尺度パラメータ値は、ルート上の尺度パラメータ値の平均に対応し得る。
受信デバイスは、PREQの(第1のデバイス110のような)発信者デバイスへのパス情報を作成(または更新)することができる。たとえば、受信デバイスは、同じ発信者デバイスからの別のPREQが以前に受信されていないと決定したことに応答して、パス情報を作成することができる。パス情報は、尺度フィールド1122の値、発信者グループデバイスアドレスフィールド1114の値、発信者HWMPシーケンス番号フィールド1116の値、ホップカウントフィールド1108の値、発信者外部アドレスフィールド1118の値、発信者デバイスの識別子(たとえば、MACアドレス)、またはこれらの組合せを示し得る。
別の例として、受信デバイスは、PREQの発信者HWMPシーケンス番号フィールド1116の値がパス情報において示される発信者HWMPシーケンス番号フィールドの値より大きいと決定したこと、尺度フィールド1122の値がパス情報において示される尺度フィールドの値より大きい(または小さい)と決定したこと、またはこれらの両方に応答して、発信者デバイスのパス情報を更新することができる。いくつかの実装形態では、受信デバイスは、発信者デバイスのパス情報を作成または更新したことと、存続時間フィールド1120の値および要素TTLフィールド1110の値が期限切れであると決定したこととに応答して、PREQを転送することができる。
受信デバイスは、存続時間フィールド1120の値が期限切れであると決定したこと、要素TTLフィールド1110の値が期限切れであると決定したこと、またはこれらの両方に応答して、PREQを廃棄する(たとえば、転送しない)ことが可能である。加えて、または代替的に、データリンクグループの受信デバイスは、PREQによって示される宛先デバイスのパス情報が入手不可能であることと、または対応するターゲットフラグフィールドのターゲットオンリーフラグフィールドが第2の値(たとえば、1)を示すこととを決定したことに応答して、パス応答(PREP)を生成しなくてよい。
代替的に、受信デバイスは、PREQによって示される宛先デバイスのパス情報が入手可能であることと、対応するターゲットフラグフィールドのターゲットオンリーフラグフィールドが第1の値(たとえば、0)を示すこととを決定したことに応答して、PREPを生成することができる。たとえば、受信デバイスは、第1のターゲットアドレスフィールド1128によって示される宛先デバイスのパス情報が入手可能であることと、第1のターゲットフラグフィールド1126のターゲットオンリーフラグフィールドが、宛先デバイスへのパス上の中間デバイスがPREPを発信者デバイスに送信すべきであることを示す第1の値(たとえば、0)を有することとを、決定することができる。
受信デバイスは、パス情報が入手可能であると決定したことと、ターゲットオンリーフラグフィールドが第1の値を有することを決定したこととに応答して、PREPを生成することができ、PREQのターゲットオンリーフラグフィールドを第2の値(たとえば、1)に設定することができ、PREQを受信デバイスに送信したデバイスを介してPREPを発信者デバイスに送信することができ、PREQを転送することができる。PREPは、ホップカウントフィールド1108の値、尺度フィールド1122の値、または両方を示し得る。
受信デバイスは、パス情報が入手可能であると決定したことと、受信デバイスが宛先デバイスであると決定したこととに応答して、PREPを生成することができ、PREQを受信デバイスに送信したデバイスを介してPREPを発信者デバイスに送信することができる。
PREPを受信する各デバイスは、発信者デバイスへのパス情報のアクセス権を有し得る。たとえば、本明細書において説明されるように、受信デバイスは、PREQを受信したことに応答して、発信者デバイスへのパス情報を作成または更新していることがある。受信デバイスは、パス情報中の送信デバイスの識別子に基づいて、PREQを受信デバイスに送信したデバイスにPREPを転送することができる。
受信デバイスは、PREPに基づいて宛先デバイスへのパス情報を作成または更新することができる。たとえば、受信デバイスは、同じ宛先デバイスを伴う別のPREPが以前に受信されていないと決定したことに応答して、宛先デバイスへのパス情報を作成することができる。パス情報は、尺度フィールドの値、ターゲットグループデバイスアドレスフィールドの値、ターゲットHWMPシーケンス番号フィールドの値、ホップカウントフィールドの値、ターゲット外部アドレスフィールドの値、発信者グループデバイスアドレスフィールドの値、PREPの発信者HWMPシーケンス番号フィールドの値、PREPを受信デバイスに送信したデバイスの識別子(たとえば、MACアドレス)、PREQを受信デバイスに送信したデバイスの識別子、またはこれらの組合せを示し得る。
特定の実装形態では、受信デバイスは、宛先デバイスへのパス情報を作成または更新したことに応答して、PREPを受信デバイスに送信したデバイス、PREQを受信デバイスに送信したデバイス、または両方に接続することができる。たとえば、受信デバイスは、図1に関連して説明されるように、PREPを受信デバイスに送信したデバイスおよび/またはPREQを受信デバイスに送信したデバイスとのペアごとの鍵を確立することができる。
別の例として、受信デバイスは、PREPのターゲットHWMPシーケンス番号フィールドの値がパス情報において示されるターゲットHWMPシーケンス番号フィールドの値より大きいと決定したことに応答して、宛先デバイスのパス情報を更新することができる。加えて、または代替的に、受信デバイスは、PREPの尺度フィールドの値がパス情報において示される尺度フィールドの値よりも大きい(または小さい)と決定したことに応答して、宛先デバイスのパス情報を更新することができる。
受信デバイスは、PREPの要素TTLフィールドの値を更新する(たとえば、1だけデクリメントする)ことができる。いくつかの実装形態では、受信デバイスは、宛先デバイスのパス情報を作成または更新したことに応答して、PREPを転送することができる。加えて、受信デバイスは、PREPの存続時間フィールドの値およびPREPの要素TTLフィールドの値が期限切れではないと決定したことに応答して、PREPを転送することができる。
いくつかの実装形態では、受信デバイスは、PREPの存続時間フィールドの値が期限切れであると決定したことに応答して、PREPを転送しなくてよく、かつ/またはPREPを廃棄してよい。加えて、または代替的に、受信デバイスは、PREPの要素TTLフィールドの値が期限切れであると決定したことに応答して、PREPを転送しなくてよく、かつ/またはPREPを廃棄してよい。
フォーマット1100は、1つまたは複数のターゲットおよびPREQの発信者デバイスに関する情報をデバイスが交換することを可能にし得る。デバイスは、PREQに基づいて、発信者デバイスから1つまたは複数の宛先デバイスへのパスを確立することができる。発信者デバイスは、発信者デバイスと、データリンクグループのすべての他のデバイスよりも少数のデバイスとの間のパスを確立することができるので、データリンクグループを使用してデータを交換することに対応する通信オーバーヘッドを減らすことができる。
図12を参照すると、パス応答(PREP)のフォーマットの説明のための例が示され、全体に1200と指定されている。特定の実装形態では、PREPは、図1のPREP166、PREP168、または両方に対応し得る。
フォーマット1200は、PREP要素フォーマット1232とフラグフィールドフォーマット1234とを含む。PREP要素フォーマット1232は、要素識別子(ID)フィールド1202、長さフィールド1204、フラグフィールド1206、ホップカウントフィールド1208、要素time-to-live(TTL)フィールド1210、ターゲットグループデバイスアドレスフィールド1212、ターゲットHWMPシーケンス番号フィールド1214、ターゲット外部アドレスフィールド1216、存続時間フィールド1218、尺度フィールド1220、発信者グループデバイスアドレスフィールド1222、発信者HWMPシーケンス番号フィールド1224、または組合せを含み得る。要素IDフィールド1202、長さフィールド1204、フラグフィールド1206、ホップカウントフィールド1208、および要素TTLフィールド1210の各々は、説明のための非限定的な例として、第1の特定の長さ(たとえば、1オクテット)を有し得る。ターゲットHWMPシーケンス番号フィールド1214、存続時間フィールド1218、尺度フィールド1220、および発信者HWMPシーケンス番号フィールド1224の各々は、説明のための非限定的な例として、第2の特定の長さ(たとえば、4オクテット)を有し得る。ターゲットグループデバイスアドレスフィールド1212、ターゲット外部アドレスフィールド1216、および発信者グループデバイスアドレスフィールド1222の各々は、説明のための非限定的な例として、第3の特定の長さ(たとえば、6オクテット)を有し得る。いくつかの実装形態では、ターゲット外部アドレスフィールド1216は、説明のための非限定的な例として、0オクテットの長さを有し得る。たとえば、PREP要素フォーマット1232は、ターゲット外部アドレスフィールド1216を含まなくてよい。
フラグフィールドフォーマット1234は、予備フィールド1226、アドレス拡張(AE)フィールド1228、予備フィールド1230、またはこれらの組合せを含み得る。AEフィールド1228および予備フィールド1230の各々は、説明のための非限定的な例として、第1の特定の長さ(たとえば、1ビット)を有し得る。予備フィールド1226は、説明のための非限定的な例として、第2の特定の長さ(たとえば、6ビット)を有し得る。フラグフィールドフォーマット1234は、フラグフィールド1206に対応し得る。
動作の間、データリンクグループの第1のデバイスは、図1、図2、図4、および図5に関連して説明されるように、PREPを生成することができる。たとえば、第1のデバイスは、図1、図2、図4、および図5に関連して説明されるように、図1のPREQ164を受信したことに応答してPREPを生成することができる。第1のデバイスは、受信されたPREQ164を更新することができ、更新されたPREQに基づいてPREPを生成することができる。たとえば、第1のデバイスは、図11に関連して説明されるように、ホップカウントフィールド1108、尺度フィールド1122、または両方の値を更新することができる。
第1のデバイスは、ターゲットグループデバイスアドレスフィールド1212を、データリンクグループの宛先デバイスの、MACアドレスのようなアドレスに設定することができる。加えて、第1のデバイスは、ターゲットHWMPシーケンス番号フィールド1214を、宛先デバイスのHWMPシーケンス番号フィールドに設定することができる。第1のデバイスは、PREQ164の、図11の第1のターゲットアドレスフィールド1128または第nのターゲットアドレスフィールド1134のようなターゲットアドレスフィールドに基づいて、ターゲットグループデバイスアドレスフィールド1212を設定することができる。加えて、第1のデバイスは、PREQ164の、図11の第1のターゲットHWMPシーケンス番号フィールド1130または第nのターゲットHWMPシーケンス番号フィールド1136のようなターゲットHWMPシーケンス番号フィールドに基づいて、ターゲットHWMPシーケンス番号フィールド1214を設定することができる。いくつかの実装形態では、宛先デバイスは、特定のターゲットHWMPシーケンス番号を生成することができ、特定のターゲットHWMPシーケンス番号に基づいてターゲットHWMPシーケンス番号フィールド1214を設定することができる。
第1のデバイスは、PREQ164の図11のホップカウントフィールド1108に基づいて、ホップカウントフィールド1108を設定することができる。第1のデバイスは、PREQ164の図11の尺度フィールド1122に基づいて、尺度フィールド1220を設定することができる。
宛先デバイスは、存続時間フィールド1218、要素TTLフィールド1210、または両方を、特定の値に初期化することができる。発信者デバイスへのパス上の各デバイスは、存続時間フィールド1218の値が期限切れであると決定したこと、要素TTLフィールド1210の値が期限切れであると決定したこと、またはこれらの両方に応答して、PREPを廃棄することができる。代替的に、パス上の各デバイスは、存続時間フィールド1218および要素TTLフィールド1210の値が期限切れではないと決定したことに応答して、要素TTLフィールド1210を更新することができ、PREPを転送することができる。
図13を参照すると、選択的な接続の説明のための方法が示されており、全体に1300と指定されている。方法1300は、図1のデバイス110、120、130、140、図4のデバイス430〜448、図6のデータリンクグループのデバイス、および/または図7のデータリンクグループ703、704、706のデバイスの1つ、図8の第1のデバイス(デバイス1)、第2のデバイス(デバイス2)、第3のデバイス(デバイス3)、または第4のデバイス(デバイス4)の1つのような、デバイスによって実行され得る。たとえば、いくつかの実装形態では、方法1300は、図1のデバイス110、120、130、140の1つまたは複数のグループネットワーキングモジュール102によって実行され得る。
方法1300は、1302において、データリンクグループの第1のデバイスから第2のデバイスに、データリンクグループのグループ鍵を使用して暗号化されたパス要求を送信するステップを含む。たとえば、第1のデバイスは、第1のデバイスから第2のデバイスにパス要求を送信するように構成される送信機(たとえば、図1の送信機106)を含み得る。いくつかの実装形態では、第1のデバイスは、パス要求を送信する前に、グループ鍵を使用してパス要求を暗号化することができる。パス要求は、図1のPREQ164を含んでよく、またはそれに対応してよい。パス要求は、データリンクグループの(提供者デバイスのような)特定のデバイスを示すデータを含み得る。パス要求は、データリンクグループの特定のデバイスへの最短のパスを第1のデバイスが特定することを可能にするように構成され得る。特定のデバイスは、データリンクグループの他のデバイスにサービスを提供するように構成され得る。たとえば、説明のための非限定的な例として、サービスは、オーディオストリーミング、ビデオストリーミング、データサービス、別のサービス、またはこれらの組合せの少なくとも1つを含み得る。
方法1300はまた、1304において、第2のデバイスから第1のデバイスにおいて、パス要求に応答したパス応答を受信するステップを含む。たとえば、第1のデバイスは、第2のデバイスからパス応答を受信するように構成される受信機を含み得る。いくつかの実装形態では、パス応答はグループ鍵を使用して暗号化されてよく、第1のデバイスは、パス応答を受信したことに応答して、グループ鍵を使用してパス応答を復号することができる。パス応答は、図1のPREP166、168を含んでよく、またはそれに対応してよい。第1のデバイスによって受信されるパス応答は、特定のデバイスが第2のデバイスから転送されたパス要求を受信したことに応答して、特定のデバイスによって生成され得る。パス応答は、データリンクグループの特定のデバイスまでの第2のデバイスを介した第1のデバイスからの特定のホップカウント、第1のデバイスから特定のデバイスへの第1のパスに対応する尺度パラメータ、または両方を示す、データを含み得る。尺度パラメータは、失われたパケットの数、帯域幅、レイテンシ、負荷、信頼性の尺度、またはこれらの組合せを示し得る。
方法1300はさらに、1306において、パス応答に基づいて接続のために第2のデバイスを選択するステップを含む。たとえば、第2のデバイスは、第1のホップカウントが第2のホップカウントよりも小さな値を有すると決定したことに応答して、接続のために選択され得る。加えて、または代替的に、第2のデバイスは、第1の尺度パラメータ値と第2の尺度パラメータ値を比較したことに応答して、接続のために選択され得る。
方法1300は、1308において、第1のデバイスによって第2のデバイスに接続するステップを含む。第1のデバイスと第2のデバイスを接続することで、図1のペアごとの鍵122のようなペアごとの鍵を確立することができる。いくつかの実装形態では、ペアごとの鍵は、第1のデバイスと第2のデバイスとの間のユニキャストデータメッセージの安全なワイヤレス通信を可能にし得る。
いくつかの実装形態では、方法1300は、パス要求を送信する前に、第1のデバイスによってデータリンクグループに参加するステップを含み得る。データリンクグループに参加するために、第1のデバイスは、データリンクグループのデバイスとの単一のグループ認証のようなグループ認証を実行して、データリンクグループに参加するための認証を受けることができる。データリンクグループに参加するステップは、第1のデバイスにおいて、第2のデバイスからグループ鍵を受信するステップを含み得る。データリンクグループの各デバイスは、同じグループ鍵のようなグループ鍵を含み得る。いくつかの実装形態では、グループ鍵は、データリンクグループに対応するグループアドレス指定されたデータメッセージの安全なワイヤレス通信を可能にする。たとえば、第1のデバイスをデータリンクグループに参加させた後で、第1のデバイスは、グループアドレス指定されたトラフィック(グループ鍵を使用して生成される)をデータリンクグループのデバイスに送信することができる。いくつかの実装形態では、データリンクグループに参加するステップは、第1のデバイスをデータリンクグループの別のデバイスに接続するステップを含み得る。図1を参照すると、第1のデバイス110は第3のデバイス130に接続し得る。
いくつかの実装形態では、(第1のデバイスを含む)データリンクグループは、図1のワイヤレスネットワーク101のような、インフラストラクチャレスのピアツーピアネットワークを含み得る。たとえば、データリンクグループは、複数のデバイス間のデータ接続性を可能にする、近接認識ネットワーク(NAN)の複数のデバイスを含み得る。いくつかの実装形態では、データリンクグループはマルチホップトポロジーを有し得る。他の実装形態では、データリンクグループはシングルホップトポロジーを有し得る。
いくつかの実装形態では、方法1300は、発見時間枠の間に、データリンクグループのデバイスから第1のデバイスにおいて発見メッセージを受信するステップを含み得る。たとえば、デバイスは、図1の第3のデバイス130を含んでよく、発見メッセージは、図2の発見メッセージ205に対応してよい。発見メッセージは、データリンクグループに対応するサービスの利用可能性を示す情報を含み得る。たとえば、サービスは、発見メッセージを送信したデバイスによって、またはデータリンクグループの別のデバイスによって提供され得る。発見メッセージを受信したことに応答して、第1のデバイスは、認証メッセージをデバイスに送信することができる。たとえば、図2を参照すると、第1のデバイス110は、第3のデバイス130から発見メッセージ205を受信したことに応答して、認証メッセージ207を第3のデバイス130に送信することができる。いくつかの実装形態では、発見時間枠は、近接認識ネットワーク(NAN)発見時間枠を含んでよく、またはそれに対応してよい。
いくつかの実装形態では、パス要求を送信するステップは、第1のデバイスの通信範囲にあるデータリンクグループの1つまたは複数のデバイスにパス要求をブロードキャストするステップを含み得る。パス要求は、データリンクグループの、提供者デバイスのような特定のデバイスを示すデータを含み得る。パス要求(グループ鍵を使用して暗号化された)は、グループアドレス指定されたメッセージとしてデータリンクグループのデバイスにブロードキャストされ得る。たとえば、パス要求は、データリンクグループに含まれる複数のデバイスに送信され得る。各パス要求は、データリンクグループに対応するサービスを提供するように構成される特定のデバイスを識別する第1のデータを含み得る。例示すると、方法1300は、データリンクグループの第1のデバイスから第3のデバイスに、グループ鍵を使用して生成(たとえば、符号化)される第2のパス要求を送信するステップを含み得る。
いくつかの実装形態では、方法1300は、複数のデバイスからの複数のパス応答を受信するステップを含み得る。複数のパス応答の各々は、特定のデバイスまでの特定のホップカウント、特定の尺度パラメータ(たとえば、特定の尺度パラメータの値)、または両方を示す、第2のデータを含み得る。第1のデバイスは、複数のパス応答に基づいて、第2のデバイスを選択することができる。例示すると、第1のデバイスは、第2のパス要求に応答した第2のパス応答を(第3のデバイスから)受信することができる。第1のデバイスは、第2のパス応答に基づいて、接続のために第2のデバイスを選択することができる。
いくつかの実装形態では、パス応答は、第2のデバイスによってサポートされる1つまたは複数のセキュリティプロトコル、第1のデバイスと第2のデバイスとの間でのペアごとの鍵の確立を可能にするために第2のデバイスによって生成される第1の値、またはこれらの組合せを示す、第1のデータを含み得る。加えて、または代替的に、パス応答は、第1のデバイスから、パス要求に対応する特定のデバイス(たとえば、提供者デバイス)へのパス上の1つまたは複数のデバイスの、物理(PHY)レイヤ能力、MACレイヤ能力、または両方を示す、第2のデータを含み得る。いくつかの実装形態では、方法1300は、第2のデバイスを選択したことに応答して、第1のデバイスから第2のデバイスに認証応答を送信するステップを含み得る。たとえば、第1のデバイスは、パス応答に含まれる第1のデータおよび/または第2のデータに基づいて、認証応答を生成および/または送信することができる。
いくつかの実装形態では、方法1300は、第1のデバイスにおいて第2のデバイスから受信された認証要求を検出するステップを含み得る。たとえば、認証要求は、図1の認証要求174を含み、またはそれに対応し得る。認証要求は、第2のデバイスによってサポートされる複数のセキュリティプロトコルを示し得る。特定の実装形態では、認証要求はパス応答に含まれる。
第1のデバイスは、第2のデバイスを選択したことに応答して、図1の認証応答172のような認証応答を第2のデバイスに送信することができる。認証応答を送信する前に、第1のデバイスは、複数のセキュリティプロトコルのうちの、図2のセキュリティプロトコル286のようなあるセキュリティプロトコルを選択することができる。選択されたセキュリティプロトコルは、第1のデバイスによってサポートされてよく、認証応答は、選択されたセキュリティプロトコルを示すセキュリティ選択データを含んでよい。
特定の実装形態では、認証要求は(第2のデバイスによって生成される)第1の値を含んでよく、認証応答は(第1のデバイスによって生成される)第2の値を含んでよい。たとえば、第1の値および第2の値の各々は、別個のノンス値であり得る。ペアごとの鍵は、第1の値および第2の値に基づいて確立され得る。認証応答を第2のデバイスに送信した後で、第1のデバイスは、第2のデバイスから認証要求を受信することができる。たとえば、接続要求は、図2または図3の接続要求288を含み、またはそれに対応し得る。接続要求は、第1の接続ID(A_IDa)292のような第1の接続識別子を示す第1の情報を含み得る。第1のデバイスは、接続要求に応答して、図2または図3の接続応答294のような接続応答を送信することができる。接続応答は、第2の接続ID(A_IDb)296のような第2の接続識別子を示す第2の情報を含み得る。
いくつかの実装形態では、方法1300は、第1のデバイスをデータリンクグループに参加させた後で、データリンクグループのグループページング時間枠の間にデータリンクグループのグループ通信チャネルを監視するステップを含み得る。たとえば、第1のデバイスを第2のデバイスに接続した後で、第1のデバイスは、グループページング時間枠の間に第2のデバイスからトラフィック指示メッセージ(たとえば、図2のTIM298)を受信することがある。グループ通信チャネルは、図7のグループ通信チャネル736に対応し得る。第1のデバイスは、第2のデバイスが第1のデバイスへ送信すべきデータを有することをトラフィック指示メッセージが示すと決定したことに応答して、グループデータ時間枠の間にグループ通信チャネルを監視することができる。たとえば、データは、図2のデータ299を含み、またはそれに対応し得る。第1のデバイスは、グループデータ時間枠の間に第2のデバイスからデータを受信し得る。特定の実装形態では、データは、図1のペアごとの鍵122のようなペアごとの鍵に基づいて暗号化される。
方法1300は、シングルホップトポロジーまたはマルチホップトポロジーを有するネットワークにおけるサービス発見を可能にし得る。たとえば、第1のデバイスは、データリンクグループを介してサービスが利用可能であることを発見し得る。第1のデバイスは、宛先デバイス(たとえば、サービスの提供者デバイス)に対応するパス発見を実行して、接続のためにデータリンクグループの別のデバイスを特定することができる。パス発見を実行することによって、第1のデバイスは、効率的であると判定される宛先デバイスへのパスに基づいて、別のデバイスを選択しそれに接続することができる。他のデバイスに接続し、他のデバイスを介してメッセージを宛先デバイスに通信することで、データリンクグループのデバイス間で交換されるメッセージの数を減らすことができる。
図14を参照すると、選択的な接続の説明のための方法が示されており、全体に1400と指定されている。方法1400は、図1のデバイス110、120、130、140、図4のデバイス430〜448、図6のデータリンクグループのデバイス、および/または図7のデータリンクグループ703、704、706のデバイスの1つ、図8の第1のデバイス(デバイス1)、第2のデバイス(デバイス2)、第3のデバイス(デバイス3)、または第4のデバイス(デバイス4)の1つのような、デバイスによって実行され得る。たとえば、いくつかの実装形態では、方法1400は、図1のデバイス110、120、130、140の1つまたは複数のグループネットワーキングモジュール102によって実行され得る。
方法1400は、1402において、第1のデバイスをデータリンクグループの単一の第2のデバイスに接続することによって、第1のデバイスをデータリンクグループに参加させるステップを含む。データリンクグループは、図7のアプリケーション(A6)712に対応するサービスのようなサービスに対応し得る。図1を参照すると、第1のデバイス110は、データリンクグループの、第3のデバイス130のような単一の第2のデバイスに第1のデバイス110を接続することによって、図1のデータリンクグループに参加することができる。
方法1400はまた、1404において、第1のデバイスをデータリンクグループに参加させた後で、かつ、第1のデバイスをデータリンクグループの追加のデバイスに接続する前に、第1のデバイスとサービスの提供者デバイスとの間のパスを選択するステップを含む。たとえば、第1のデバイスは、第1のデバイスがパスを選択した後で、別のデバイスに接続するのを待機することができる。パスは、追加のデバイスの特定のデバイスを含み得る。図1を参照すると、図1の第1のデバイス110は、第1のデバイスをデータリンクグループに参加させた後で、かつ、第1のデバイス110を、第2のデバイス120および/または第3のデバイス130のようなデータリンクグループの追加のデバイスに接続する前に、第1のデバイス110と第4のデバイス140との間のパスを選択することができる。いくつかの実装形態では、パスは第2のデバイス120を含み得る。他の実装形態では、特定のデバイスはサービスの提供者デバイスであり得る。
方法1400はさらに、1406において、パスに基づいて第1のデバイスを特定のデバイスに接続するステップを含む。図1を参照すると、第1のデバイス110は、パスに基づいて第2のデバイス120に接続し得る。第1のデバイスを特定のデバイスに接続した後、第1のデバイスおよび特定のデバイスの各々が、図1のペアごとの鍵122を含み得る。
方法1400はまた、1408において、特定のグループページング時間枠の間に、データリンクグループに対応するグループ通信チャネルを監視するステップを含み得る。たとえば、図1の第1のデバイス110は、図8の第1のグループページング時間枠802のようなグループページング時間枠の間に、データリンクグループのグループ通信チャネル736を監視することができる。
方法1400はさらに、1410において、特定のグループページング時間枠の間に、特定のデバイスからトラフィック指示メッセージを受信するステップを含み得る。図2を参照すると、第1のデバイス110は、グループページング時間枠の間にTIM298を第2のデバイス120から受信することができる。
方法1400はまた、1412において、特定のデバイスが第1のデバイスへ送信すべきデータを有することをトラフィック指示メッセージが示すと決定したことに応答して、特定のグループデータ時間枠の間にグループ通信チャネルを監視するステップを含み得る。図2を参照すると、第1のデバイス110は、第2のデバイス120が図2のデータ299のような第1のデバイス110へ送信すべきデータを有することをTIM298が示すと決定したことに応答して、図8のグループデータ時間枠803のようなグループデータ時間枠の間、グループ通信チャネル736を監視することができる。
方法1400はさらに、1414において、特定のグループデータ時間枠の間に、特定のデバイスからデータを受信するステップを含み得る。データは、図1のペアごとの鍵122のようなペアごとの鍵に基づいて暗号化され得る。図2を参照すると、第1のデバイス110は、グループデータ時間枠の間に第2のデバイス120からデータ299を受信することができる。
方法1400は、第1のデバイスが、データリンクグループの単一の第2のデバイスに接続することによってデータリンクグループに参加することと、データリンクグループに参加した後で、かつ、データリンクグループの追加のデバイスに接続する前に、提供者デバイスへのパスを選択することとを可能にし得る。第1のデバイスは、パスに対応する特定のデバイスに接続することができる。こうして、第1のデバイスは、第1のデバイスの通信範囲内にあるデータリンクグループのすべての利用可能なデバイスには接続しないことによって、データリンクグループに参加することに関する通信オーバーヘッドを減らすことができる。
図15を参照すると、データリンクグループに参加する説明のための方法が示されており、全体に1402と指定されている。図15の方法1402は、図14の1402に対応し得る。方法1402は、図1のデバイス110、120、130、140、図4のデバイス430〜448、図6のデータリンクグループのデバイス、および/または図7のデータリンクグループ703、704、706のデバイスの1つ、図8の第1のデバイス(デバイス1)、第2のデバイス(デバイス2)、第3のデバイス(デバイス3)、または第4のデバイス(デバイス4)の1つのような、デバイスによって実行され得る。たとえば、いくつかの実装形態では、方法1402は、図1のデバイス110、120、130、140の1つまたは複数のグループネットワーキングモジュール102によって実行され得る。
方法1402は、1502において、第1のデバイスにおいて発見メッセージを受信するステップを含み得る。発見メッセージは、近接認識ネットワーク(NAN)発見時間枠のような発見時間枠の間に受信され得る。発見メッセージは、データリンクグループを介してサービスの利用可能性を示し得る。図2を参照すると、第1のデバイス110は、図7の第1の発見時間枠718のような発見時間枠の間に、第3のデバイス130から発見メッセージ205を受信することができる。
方法1402はまた、1504において、発見メッセージを受信したことに応答して認証メッセージを第2のデバイスに送信するステップを含んでよく、1506において、第2のデバイスからグループ鍵を受信するステップを含んでよい。図2を参照すると、第1のデバイス110は、発見メッセージ205を受信したことに応答して、認証メッセージ207を第3のデバイス130に送信することができる。グループ鍵は、図1のグループ鍵124を含み得る。
方法1402は、データリンクグループの単一の第2のデバイスに接続することによって、第1のデバイスがデータリンクグループに参加することを可能にし得る。たとえば、第1のデバイスは、第2のデバイスから発見メッセージを受信したことに応答して認証メッセージを第2のデバイスに送信することによって、かつ、第2のデバイスからデータリンクグループのグループ鍵を受信することによって、データリンクグループに参加することができる。第1のデバイスはこうして、データリンクグループの単一のデバイスに接続することによって、データリンクグループに参加することに対応する通信オーバーヘッドを減らすことができる。
図16を参照すると、データリンクグループのデバイスを動作させる説明のための方法が示されており、全体に1404と指定されている。方法1404は、図14の1404に対応し得る。方法1404は、図1のデバイス110、120、130、140、図4のデバイス430〜448、図6のデータリンクグループのデバイス、および/または図7のデータリンクグループ703、704、706のデバイスの1つ、図8の第1のデバイス(デバイス1)、第2のデバイス(デバイス2)、第3のデバイス(デバイス3)、または第4のデバイス(デバイス4)の1つのような、デバイスによって実行され得る。たとえば、いくつかの実装形態では、方法1404は、図1のデバイス110、120、130、140の1つまたは複数のグループネットワーキングモジュール102によって実行され得る。
方法1404は、1602において、データリンクグループと関連付けられる複数のデバイスにパス要求を送信するステップを含む。パス要求は、サービスの提供者デバイスを特定し得る。図1を参照すると、第1のデバイス110は、データリンクグループに参加した後で、PREQ164を第3のデバイス130および第2のデバイス120にブロードキャストすることができる。PREQ164は、第4のデバイス140のような提供者デバイスを特定し得る。
方法1404はまた、1604において、複数のデバイスからの複数のパス応答を受信するステップを含む。複数のパス応答の各々は、サービスの提供者デバイスまでの特定のホップカウント、特定の尺度パラメータ、または両方を示し得る。複数のパス応答は、(第2のデバイス120のような)特定のデバイスからのパス応答を含み得る。パスは、複数のパス応答に基づいて選択され得る。図1を参照すると、第1のデバイス110は、第3のデバイス130からPREP166を受信することができ、第2のデバイス120からPREP168を受信することができる。PREP166は、第1のホップカウント176、第1の尺度パラメータ値178、または両方を示し得る。PREP168は、第2のホップカウント182、第2の尺度パラメータ値184、または両方を示し得る。パスは、PREP166およびPREP168に基づいて選択され得る。
方法1404は、第1のデバイスが提供者デバイスへのパスを選択することを可能にし得る。パスは特定のデバイスを含み得る。第1のデバイスは、単一のデバイスに接続してグループ鍵を取得することによって、データリンクグループに参加することができる。第1のデバイスは、パスを選択した後で、データリンクグループの追加のデバイスに接続するのを待機し得る。第1のデバイスは、選択されたパスに基づいて特定のデバイスに接続することができる。こうして、第1のデバイスは、選択されたパスに対応する特定のデバイスに接続し、第1のデバイスの通信範囲内にあるデータリンクグループの追加のデバイスに接続するのを控えることによって、データリンクグループに参加することに関する通信オーバーヘッドを減らすことができる。
図17を参照すると、データリンクグループの接続の説明のための方法が示されており、全体に1406と指定されている。方法1406は、図14の1406に対応し得る。方法1406は、図1のデバイス110、120、130、140、図4のデバイス430〜448、図6のデータリンクグループのデバイス、および/または図7のデータリンクグループ703、704、706のデバイスの1つ、図8の第1のデバイス(デバイス1)、第2のデバイス(デバイス2)、第3のデバイス(デバイス3)、または第4のデバイス(デバイス4)の1つのような、デバイスによって実行され得る。たとえば、いくつかの実装形態では、方法1406は、図1のデバイス110、120、130、140の1つまたは複数のグループネットワーキングモジュール102によって実行され得る。
方法1406は、1702において、パスの選択に応答して認証応答を特定のデバイスに送信するステップを含み得る。図1〜図3を参照すると、第1のデバイス110は、パスの選択に応答して、認証応答172を第2のデバイス120に送信することができる。たとえば、第1のデバイス110は、第1のデバイス110に接続することが可能な接続されていないデバイスの選択に応答して、認証応答172を送信することができる。
方法1406はまた、1704において、複数のセキュリティプロトコルの選択されたセキュリティプロトコルを決定するステップを含み得る。複数のセキュリティプロトコルは、特定のデバイスによってサポートされ、第1のデバイスによってサポートされ得る。認証応答は、選択されたセキュリティプロトコルを示し得る。認証要求は、複数のセキュリティプロトコルを示し得る。図2を参照すると、第1のデバイス110は、第2のデバイス120によってサポートされる複数のセキュリティプロトコルのうちのセキュリティプロトコル286を決定することができる。認証要求174は複数のセキュリティプロトコルを示してよく、認証応答172はセキュリティプロトコル286を示してよい。
方法1406はさらに、1706において、第1の値および第2の値に基づいて、特定のデバイスとのペアごとの鍵を確立するステップを含み得る。認証要求は第1の値を示し得る。認証応答は第2の値を示し得る。図2および図3を参照すると、第1のデバイス110は、(認証要求174によって示される)第1の値および(認証応答172によって示される)第2の値に基づいて、第2のデバイス120とのペアごとの鍵122を確立することができる。
方法1406はまた、1708において、特定のデバイスから接続要求を受信するステップを含み得る。接続要求は第1の接続識別子を示し得る。たとえば、第1のデバイス110は、図2に関連して説明されるように、第2のデバイス120から接続要求288を受信することができる。接続要求288は第1の接続ID(A_IDa)292を示し得る。
方法1406はさらに、1710において、特定のデバイスに接続応答を送信するステップを含み得る。接続応答は第2の接続識別子を示し得る。図2を参照すると、第1のデバイス110は、第2の接続ID(A_IDb)296を第2のデバイス120に示す接続応答294を送信することができる。
方法1406は、第1のデバイスが、提供者デバイスへの特定のデバイスを介した選択されたパスに基づいて、特定のデバイスに接続することを可能にし得る。こうして、第1のデバイスは、選択されたパス上の特定のデバイスに接続し、データリンクグループの追加のデバイスに接続するのを待機することによって、データリンクグループに参加することに関する通信オーバーヘッドを減らすことができる。
特定の態様において、図13〜図17の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)のような処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはこれらの任意の組合せによって実施され得る。例として、図18に関連して説明されるように、図13〜図17の方法の1つまたは複数は、個々に、または組み合わされて、命令を実行するプロセッサによって実行され得る。例示すると、図13〜図17の方法の1つの一部分が、図13〜図17の方法の1つの第2の部分と組み合わされ得る。加えて、図13〜図17に関連して説明される1つまたは複数のステップは、任意選択であってよく、少なくとも部分的に同時に実行されてよく、かつ/または、示された順序または説明された順序とは異なる順序で実行されてよい。
図18を参照すると、デバイスの説明のための例のブロック図が示されており、全体に1800と指定されている。いくつかの実装形態では、デバイス1800は、ワイヤレス通信デバイスのような電子デバイスを含み得る。デバイス1800は、図1のデバイス110、120、130、140、図4のデバイス430〜448、図6のデータリンクグループのデバイス、および/または図7のデータリンクグループ703、704、706のデバイスの少なくとも1つ、図8の第1のデバイス(デバイス1)、第2のデバイス(デバイス2)、第3のデバイス(デバイス3)、または第4のデバイス(デバイス4)の1つに対応し得る。
デバイス1800は、メモリ1832に結合された、デジタル信号プロセッサ(DSP)または中央処理装置(CPU)などの、プロセッサ1810を含む。メモリ1832は、命令1868および鍵データ108を含み得る。鍵データ108は、図1のグループ鍵124および/またはペアごとの鍵122のような、1つまたは複数の鍵を含み得る。プロセッサ1810は、エンコーダ/デコーダ論理1811を含み得る。エンコーダ/デコーダ論理1811は、デバイス1800によって受信されたメッセージおよび/またはデバイス1800によって送信されることになるメッセージなどのデータを、符号化および/または復号するように構成され得る。プロセッサ1810は、グループネットワーキングモジュール102に結合されてよく、またはそれを含んでよい。グループネットワーキングモジュール102は、図13の方法1300、図14の方法1400、図15の方法1402、図16の方法1404、図17の方法1406、またはこれらの組合せに従って動作するように構成され得る。エンコーダ/デコーダ論理1811はグループネットワーキングモジュール102とは別であるものとして示されているが、他の実装形態では、エンコーダ/デコーダ論理1811はグループネットワーキングモジュール102に含まれてよい。
グループネットワーキングモジュール102は、発見メッセージ(たとえば、図2の発見メッセージ205)を生成するように構成されてよく、メッセージ(たとえば、図2の発見メッセージ205)を受信することができ、データリンクグループに参加することができ、データリンクグループの特定のデバイスに接続してデータリンクグループに参加することができ、またはこれらの組合せであってよい。加えて、または代替的に、グループネットワーキングモジュール102は、図1のPREQ164のようなPREQを生成または受信するように構成されてよく、PREQの送信(たとえば、転送)を開始することができ、図1のPREP166もしくは168のようなPREPを生成および/もしくは受信することができ、またはこれらの組合せであってよい。さらに、グループネットワーキングモジュール102は、PREQ(たとえば、PREQ164)を受信したことに応答して、PREPの送信を開始するように構成されてよく、PREPを受信したことに応答して提供者デバイスに対して特定のデバイスを選択することができ、特定のデバイスに接続することができ、またはこれらの組合せであってよい。
特定の実装形態では、グループネットワーキングモジュール102は、プロセッサ1810などを介して、オンチップで実装され得る。たとえば、メモリ1832は、プロセッサ1810にグループネットワーキングモジュール102の動作を実行させるようにプロセッサ1810によって実行可能なコンピュータ可読命令1868を記憶した、コンピュータ可読記憶デバイス(たとえば、非一時的コンピュータ可読媒体)であってよい。たとえば、プロセッサ1810は、データリンクグループの第1のデバイスから第2のデバイスへの、データリンクグループのグループ鍵を使用して暗号化されたパス要求のワイヤレス送信を開始することができる。動作はさらに、第2のデバイスから受信されたパス応答に基づいて、接続のための第2のデバイスを選択することを含む。パス応答はパス要求に応答したものである。動作はまた、第1のデバイスを第2のデバイスに接続することを含む。
図18はまた、プロセッサ1810およびディスプレイ1828に結合されるディスプレイコントローラ1826を示す。コーダ/デコーダ(コーデック)1834も、プロセッサ1810に結合され得る。スピーカ1836およびマイクロフォン1838が、コーデック1834に結合され得る。
図18は、ワイヤレスコントローラ1840が、プロセッサ1810に、かつ高周波(RF)インターフェース1870を介してアンテナ1842に結合され得ることも示す。RFインターフェース1870(たとえば、送受信機)は、図1の受信機104、送信機106、または両方を含み得る。いくつかの実装形態では、プロセッサ1810、グループネットワーキングモジュール102、ディスプレイコントローラ1826、メモリ1832、コーデック1834、およびワイヤレスコントローラ1840が、システムインパッケージまたはシステムオンチップデバイス1822に含まれる。加えて、または代替的に、入力デバイス1830および電源1844がシステムオンチップデバイス1822に結合される。その上、他の実装形態では、図18に示されるように、ディスプレイ1828、入力デバイス1830、スピーカ1836、マイクロフォン1838、アンテナ1842、および電源1844は、システムオンチップデバイス1822の外部にある。しかしながら、ディスプレイ1828、入力デバイス1830、スピーカ1836、マイクロフォン1838、アンテナ1842、および電源1844の各々は、インターフェースまたはコントローラのようなシステムオンチップデバイス1822のコンポーネントに結合され得る。
図1〜図18の説明された態様の1つまたは複数に関連して、データリンクグループのデバイスに、データリンクグループのグループ鍵を使用して暗号化されたパス要求を送信するための手段を含み得る装置が開示される。パス要求を送信するための手段は、図1のグループネットワーキングモジュール102、送信機106、図18のワイヤレスコントローラ1840、RFインターフェース1870、アンテナ1842、命令1868を実行するようにプログラムされるプロセッサ1810、送受信機(たとえば、送信機および/または受信機)、パス要求を送信するように構成される1つまたは複数の他の構造物、コンポーネント、および/もしくは回路、またはこれらの任意の組合せを含んでよく、またはそれらに対応してよい。
装置はまた、パス要求に応答したパス応答をデバイスから受信するための手段を含み得る。パス応答を受信するための手段は、図1のグループネットワーキングモジュール102、受信機104、図18のワイヤレスコントローラ1840、RFインターフェース1870、アンテナ1842、命令1868を実行するようにプログラムされるプロセッサ1810、送受信機、パス応答を受信するように構成される1つまたは複数の他の構造物、コンポーネント、および/もしくは回路、またはこれらの任意の組合せを含んでよく、またはそれらに対応してよい。
装置はまた、パス応答に基づいて接続のためのデバイスを選択するための手段を含み得る。選択するための手段は、図1のグループネットワーキングモジュール102、図18の命令1868を実行するようにプログラムされるプロセッサ1810、デバイスを選択するように構成される1つまたは複数の他の構造物、コンポーネント、および/もしくは回路、またはこれらの任意の組合せを含んでよく、またはそれらに対応してよい。
装置はまた、デバイスに接続するための手段を含み得る。接続するための手段は、図1のグループネットワーキングモジュール102、受信機104、送信機106、図18のワイヤレスコントローラ1840、RFインターフェース1870、アンテナ1842、命令1868を実行するようにプログラムされるプロセッサ1810、送受信機、デバイスに接続するように構成される1つまたは複数の他の構造物、コンポーネント、および/もしくは回路、またはこれらの任意の組合せを含んでよく、またはそれらに対応してよい。
開示される態様の1つまたは複数が、通信デバイス、固定位置のデータユニット、移動位置のデータユニット、携帯電話、セルラー電話、衛星電話、コンピュータ、タブレット、ポータブルコンピュータ、ディスプレイデバイス、メディアプレーヤ、またはデスクトップコンピュータを含み得る、デバイス1800のようなシステムまたは装置において実装され得る。代替的に、または加えて、デバイス1800は、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、ビデオプレーヤ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤ、衛星、車両、プロセッサを含む任意の他のデバイス、もしくは、データもしくはコンピュータ命令を記憶するか取り出す任意の他のデバイス、またはそれらの組合せを含み得る。別の説明のための非限定的な例として、システムまたは装置は、ハンドヘルドパーソナル通信システム(PCS)ユニットのような遠隔ユニット、全地球測位システム(GPS)対応デバイス、メータ読取り機器のようなポータブルデータユニット、または、プロセッサを含む任意の他のデバイス、もしくはデータもしくはコンピュータ命令を記憶するか取り出す任意の他のデバイス、またはそれらの任意の組合せを含み得る。
図1〜図18の1つまたは複数は、本開示の教示に従ったシステム、装置、および/または方法を示し得るが、本開示は、これらの示されたシステム、装置、および/または方法に限定されない。本明細書において例示または説明されるような、図1〜図18のいずれの図の1つまたは複数の機能またはコンポーネントも、図1〜図18の別の図の1つまたは複数の他の部分と組み合わされ得る。したがって、本明細書において説明されるいずれの単一の態様も、限定するものとして見なされるべきではなく、本開示の態様は、本開示の教示から逸脱することなく適切に組み合わされ得る。
当業者はさらに、本明細書において開示される態様に関連して説明された様々な説明のための論理ブロック、構成、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、または両方の組合せとして実装され得ることを理解するだろう。様々な例示的なコンポーネント、ブロック、構成、モジュール、回路、およびステップが、全般にそれらの機能の観点から説明されてきた。そのような機能が、ハードウェアとして実装されるか、プロセッサ実行可能命令として実装されるかは、具体的な適用例と、システム全体に課される設計制約とによって決まる。当業者は、各々の具体的な適用例に対して様々な方式で、説明された機能を実装し得るが、そのような実装の判断が、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
本明細書に開示される態様に関連して説明される方法またはアルゴリズムのステップは、ハードウェアにおいて直接具現化されてよく、プロセッサによって実行されるソフトウェアモジュールにおいて具現化されてよく、またはその2つの組合せで具現化されてよい。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラム可能読取り専用メモリ(PROM)、消去可能プログラム可能読取り専用メモリ(EPROM)、電気的消去可能プログラム可能読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野において既知の任意の他の形の非一時的記憶媒体内に存在し得る。たとえば、記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体は、プロセッサと一体であってよい。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)内にあり得る。ASICは、コンピューティングデバイスまたはユーザ端末内にあり得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末中に個別のコンポーネントとして存在し得る。
先の説明は、開示される態様を当業者が作成または使用することを可能にするように与えられる。これらの態様への様々な変更は当業者には容易に明らかであり、本明細書で定義された原理は本開示の範囲から逸脱することなく他の態様に適用され得る。したがって、本開示は、本明細書において示される態様に限定されるものではなく、以下の特許請求の範囲によって定義される原理および新規の特徴と一致する可能な最も広い範囲を与えられるべきである。