(58)【調査した分野】(Int.Cl.,DB名)
前記ブルームフィルタのパラメータkは、4の値を有し、前記ブルームフィルタのパラメータmは、前記ブルームフィルタ中に示すべきデバイスの数の5倍より大きい値を有する、請求項1に記載の方法。
前記ディスカバリ制御フィールドは、ブルームフィルタの存在を示すタイプフラグと、所望の局応答を示すインクルードフラグと、関連するブルームフィルタに関連するハッシュ関数の特定のセットを識別するブルームフィルタインデックスとを備える、請求項11に記載の方法。
前記長さフィールドは1オクテットであり、前記ディスカバリ制御フィールドは1オクテットであり、前記タイプフラグは1ビットであり、前記インクルードフラグは1ビットであり、前記ブルームフィルタインデックスは2ビットであり、前記発見アドレス情報フィールドは可変長である、請求項12に記載の方法。
前記インクルードフラグは、設定されていないとき、前記ブルームフィルタ中に示されたデバイスが応答すべきでないことを示し、設定されているとき、前記ブルームフィルタ中に示されたデバイスのみが送信すべきであることを示す、請求項12に記載の方法。
前記メッセージは、前記ビットアレイに関連するハッシュ関数の特定のセットを示すブルームフィルタインデックスをさらに備える、請求項17に記載のワイヤレスデバイス。
前記ブルームフィルタのパラメータkは、4の値を有し、前記ブルームフィルタのパラメータmは、前記ブルームフィルタ中に示すべきデバイスの数の5倍より大きい値を有する、請求項17に記載のワイヤレスデバイス。
前記ディスカバリ制御フィールドは、ブルームフィルタの存在を示すタイプフラグと、所望の局応答を示すインクルードフラグと、関連するブルームフィルタに関連するハッシュ関数の特定のセットを識別するブルームフィルタインデックスとを備える、請求項27に記載のワイヤレスデバイス。
前記長さフィールドは1オクテットであり、前記ディスカバリ制御フィールドは1オクテットであり、前記タイプフラグは1ビットであり、前記インクルードフラグは1ビットであり、前記ブルームフィルタインデックスは2ビットであり、前記発見アドレス情報フィールドは可変長である、請求項28に記載のワイヤレスデバイス。
前記インクルードフラグは、設定されていないとき、前記ブルームフィルタ中に示されたデバイスが応答すべきでないことを示し、設定されているとき、前記ブルームフィルタ中に示されたデバイスのみが送信すべきであることを示す、請求項28に記載のワイヤレスデバイス。
k個のアレイ位置を得るために、各々がmビットのブルームフィルタビットアレイに関連付けられる、k個の異なるハッシュ関数の各々に前記識別子を与えるための手段と、
すべての前記k個のアレイ位置にある前記ビットアレイの前記ビットを1に設定するための手段と、
をさらに備える、請求項33に記載の装置。
【発明を実施するための形態】
【0015】
[0028]「例示的」という単語は、本明細書では、「例、事例、または例示の働きをすること」を意味するために使用する。本明細書で「例示的」であるとして説明されるいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきではない。添付の図面を参照しながら新規のシステム、装置、および方法の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造または機能に限定されるものと解釈すべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲は、本発明の他の態様とは無関係に実装されるにせよ、または本発明の他の態様と組み合わされるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載の態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示するいかなる態様も請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
【0016】
[0029]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および送信プロトコルに広く適用可能であるものとし、そのうちのいくつかを例として図および好ましい態様についての以下の説明で示す。発明を実施するための形態および図面は、限定的なものではなく、本開示を説明するものにすぎず、本開示の範囲は、添付の特許請求の範囲およびその均等物によって定義される。
【0017】
[0030]普及しているワイヤレスネットワーク技術は、様々なタイプのワイヤレスローカルエリアネットワーク(WLAN)を含むことができる。WLANは、広く使用されるネットワーキングプロトコルを採用して、近接デバイスを互いに相互接続するために使用され得る。本明細書で説明する様々な態様は、ワイヤレスプロトコルなど、任意の通信規格に適用され得る。
【0018】
[0031]いくつかの実装形態では、WLANは、ワイヤレスネットワークにアクセスする構成要素である様々なデバイスを含む。たとえば、2つのタイプのデバイス、すなわちアクセスポイント(「AP」)および(局または「STA」とも呼ばれる)クライアントが存在することができる。概して、APはWLAN用のハブまたは基地局として働くことができ、STAはWLANのユーザとして働く。たとえば、STAはラップトップコンピュータ、携帯情報端末(PDA)、モバイルフォンなどであり得る。一例では、STAは、インターネットまたは他のワイドエリアネットワークへの一般的接続性を得るためにWiFi(登録商標)(たとえば、IEEE802.11プロトコル)準拠ワイヤレスリンクを介してAPに接続する。いくつかの実装形態では、STAはまた、APとして使用され得る。
【0019】
[0032]アクセスポイント(「AP」)はまた、ノードB、無線ネットワークコントローラ(「RNC」)、eノードB、基地局コントローラ(「BSC」)、トランシーバ基地局(「BTS」)、基地局(「BS」)、トランシーバ機能(「TF」)、無線ルータ、無線トランシーバ、または何らかの他の用語を含むか、それらのいずれかとして実装されるか、またはそれらのいずれかとして知られていることがある。
【0020】
[0033]局「STA」はまた、アクセス端末(「AT」)、加入者局、加入者ユニット、移動局、リモート局、リモート端末、ユーザ端末、ユーザエージェント、ユーザデバイス、ユーザ機器、または何らかの他の用語を含むか、それらのいずれかとして実装されるか、またはそれらのいずれかとして知られていることがある。いくつかの実装形態では、アクセス端末は、セルラー電話、コードレス電話、セッション開始プロトコル(「SIP」)電話、ワイヤレスローカルループ(「WLL」)局、携帯情報端末(「PDA」)、ワイヤレス接続能力を有するハンドヘルドデバイス、またはワイヤレスモデムに接続された何らかの他の好適な処理デバイスまたはワイヤレスデバイスを含むことができる。したがって、本明細書で教示する1つまたは複数の態様は、電話(たとえば、セルラーフォンまたはスマートフォン)、コンピュータ(たとえば、ラップトップ)、ポータブル通信デバイス、ヘッドセット、ポータブルコンピューティングデバイス(たとえば、個人情報端末)、エンターテインメントデバイス(たとえば、音楽またはビデオデバイス、または衛星ラジオ)、ゲームデバイスもしくはシステム、全地球測位システムデバイス、またはワイヤレス媒体を介して通信するように構成された他の好適なデバイスに組み込まれ得る。
【0021】
[0034]たとえば、局のグループなどのデバイスは、近傍アウェアネットワーキング(NAN)またはソーシャルWiFiネットワーキングのために使用され得る。たとえば、ネットワーク内の様々な局は、局の各々がサポートするアプリケーションに関して互いにデバイス間で通信することができる(たとえば、ピアツーピア通信)。ソーシャルWiFiネットワークにおいて使用されるディスカバリプロトコルにとって、セキュア通信および低電力消費を保証しながら、STAが、(たとえば、ディスカバリパケットを送ることによって)それら自体を広告すること、ならびに(たとえば、ページングパケットまたはクエリパケット送ることによって)他のSTAによって与えられたサービスを発見することを可能にすることが望ましい。検出パケットは、検出メッセージまたは検出フレームと呼ばれることもあることに留意されたい。ページングまたは照会パケットは、ページングもしくは照会メッセージまたはページングもしくは照会フレームと呼ばれることもあることに留意されたい。
【0022】
[0035]
図1に、本開示の態様が採用され得るワイヤレス通信システム100の一例を示す。ワイヤレス通信システム100は、802.11規格などのワイヤレス規格に従って動作することができる。ワイヤレス通信システム100は、STA106と通信するAP104を含むことができる。いくつかの態様では、ワイヤレス通信システム100は、2つ以上のAPを含むことができる。さらに、STA106は、他のSTA106と通信することができる。一例として、第1のSTA106aは、第2のSTA106bと通信することができる。別の例として、
図1にこの通信リンクを図示していないが、第1のSTA106aは第3のSTA106cと通信することができる。
【0023】
[0036]ワイヤレス通信システム100におけるAP104とSTA106との間の送信および第1のSTA106aなどの個別のSTAと第2のSTA106bなどの別の個別のSTAとの間の送信のために、様々なプロセスおよび方法が使用され得る。たとえば、信号は、OFDM/OFDMA技法に従って送信および受信され得る。そうである場合、ワイヤレス通信システム100はOFDM/OFDMAシステムと呼ばれることがある。代替的に、信号は、CDMA技法に従って、AP104とSTA106との間で送信および受信され、第1のSTA106aなどの個別のSTAと第2のSTA106bなどの別の個別のSTAとの間で送信および受信され得る。そうである場合、ワイヤレス通信システム100はCDMAシステムと呼ばれることがある。
【0024】
[0037]AP104からSTA106のうちの1つまたは複数への送信を可能にする通信リンクはダウンリンク(DL)108と呼ばれることがあり、STA106のうちの1つまたは複数からAP104への送信を可能にする通信リンクはアップリンク(UL)110と呼ばれることがある。代替的に、ダウンリンク108が順方向リンクまたは順方向チャネルと呼ばれることがあり、アップリンク110が逆方向リンクまたは逆方向チャネルと呼ばれることがある。
【0025】
[0038]通信リンクは、ソーシャルWiFiネットワーキング中などにSTA間に確立され得る。STA間のいくつかの可能な通信リンクを
図1に示す。一例として、通信リンク112は、第1のSTA106aから第2のSTA106bへの送信を容易にすることができる。別の通信リンク114は、第2のSTA106bから第1のSTA106aへの送信を容易にすることができる。
【0026】
[0039]AP104は、基地局として働き、基本サービスエリア(BSA)102においてワイヤレス通信カバレージを与えることができる。AP104は、AP104に関連付けられ、また通信のためにAP104を使用する、STA106とともに、基本サービスセット(BSS)と呼ばれることがある。ワイヤレス通信システム100は、中央AP104を有しないことがあり、むしろ、STA106間のピアツーピアネットワークとして機能することができることに留意されたい。したがって、本明細書で説明するAP104の機能は、代替的にSTA106のうちの1つまたは複数によって実行され得る。
【0027】
[0040]
図2は、ワイヤレス通信システム100内で採用され得るワイヤレスデバイス202において利用され得る様々な構成要素を示す。ワイヤレスデバイス202は、本明細書で説明する様々な方法を実装するように構成され得るデバイスの一例である。たとえば、ワイヤレスデバイス202は、AP104を含むか、またはSTA106のうちの1つを含むことができる。
【0028】
[0041]ワイヤレスデバイス202は、ワイヤレスデバイス202の動作を制御するプロセッサ204を含むことができる。プロセッサ204は中央処理ユニット(CPU)と呼ばれることもある。読取り専用メモリ(ROM)とランダムアクセスメモリ(RAM)の両方を含むことができるメモリ206は、命令とデータとをプロセッサ204に与えることができる。メモリ206の一部は不揮発性ランダムアクセスメモリ(NVRAM)をも含むことができる。プロセッサ204は、通常、メモリ206内に記憶されたプログラム命令に基づいて、論理演算と算術演算とを実行する。メモリ206中の命令は、本明細書で説明する方法を実装するように実行可能であり得る。
【0029】
[0042]プロセッサ204は、1つまたは複数のプロセッサとともに実装された処理システムを含むことができるか、またはそれの構成要素であり得る。1つまたは複数のプロセッサは、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、専用ハードウェア有限状態機械、または情報の計算または他の操作を実行することができる任意の他の好適なエンティティの任意の組合せを用いて実装され得る。
【0030】
[0043]処理システムは、ソフトウェアを記憶するための機械可読媒体をも含むことができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、任意のタイプの命令を意味すると広く解釈されたい。命令は、(たとえば、ソースコード形式、バイナリコード形式、実行コード形式、または他の適切なコード形式の)コードを含むことができる。命令は、1つまたは複数のプロセッサによって実行されたとき、本明細書で説明する様々な機能を処理システムに実行させる。
【0031】
[0044]ワイヤレスデバイス202はまた、ワイヤレスデバイス202と遠隔ロケーションとの間のデータの送信および受信を可能にするために送信機210および/または受信機212を含むことができる、ハウジング208を含むことができる。送信機210および受信機212は組み合わされてトランシーバ214になり得る。アンテナ216は、ハウジング208に取り付けられ、トランシーバ214に電気的に結合され得る。ワイヤレスデバイス202はまた、複数の送信機、複数の受信機、複数のトランシーバ、および/または複数のアンテナ(図示せず)を含むことができる。
【0032】
[0045]送信機210は、異なるパケットタイプまたは機能を有するパケットをワイヤレス送信するように構成され得る。たとえば、送信機210は、プロセッサ204によって生成された様々なタイプのパケットを送信するように構成され得る。ワイヤレスデバイス202がAP104またはSTA106として実装または使用されるとき、プロセッサ204は、複数の異なるパケットタイプのパケットを処理するように構成され得る。たとえば、プロセッサ204は、パケットのタイプを決定し、それに応じて、パケットおよび/またはパケットのフィールドを処理するように構成され得る。ワイヤレスデバイス202がAP104として実装または使用されるとき、プロセッサ204はまた、複数のパケットタイプのうちの1つを選択し、生成するように構成され得る。たとえば、プロセッサ204は、ディスカバリメッセージを含むディスカバリパケットを生成し、特定のインスタンスにどのタイプのパケット情報を使用すべきかを決定するように構成され得る。
【0033】
[0046]受信機212は、異なるパケットタイプを有するパケットをワイヤレスに受信するように構成され得る。いくつかの態様では、受信機212は、使用されたパケットのタイプを検出し、それに応じて、パケットを処理するように構成され得る。
【0034】
[0047]ワイヤレスデバイス202は、トランシーバ214によって受信された信号のレベルを検出し、定量化するために使用され得る信号検出器218をも含むことができる。信号検出器218は、総エネルギー、シンボルごとのサブキャリア当たりのエネルギー、電力スペクトル密度および他の信号などの信号を検出することができる。ワイヤレスデバイス202は、信号を処理する際に使用するためのデジタル信号プロセッサ(DSP)220をも含むこともできる。DSP220は、送信のためにパケットを生成するように構成され得る。いくつかの態様では、パケットは物理レイヤデータユニット(PPDU)を含むことができる。
【0035】
[0048]ワイヤレスデバイス202は、いくつかの態様ではユーザインターフェース222をさらに含むことができる。ユーザインターフェース222は、キーパッド、マイクロフォン、スピーカー、および/またはディスプレイを含むことができる。ユーザインターフェース222は、ワイヤレスデバイス202のユーザに情報を伝達し、および/またはユーザからの入力を受信する、任意の要素または構成要素を含むことができる。
【0036】
[0049]ワイヤレスデバイス202の様々な構成要素は、バスシステム226によって互いに結合され得る。バスシステム226は、たとえば、データバスを含むことができ、ならびに、データバスに加えて、電力バス、制御信号バス、およびステータス信号バスを含むことができる。ワイヤレスデバイス202の構成要素は、何らかの他の機構を使用して、互いに結合されるか、または互いに対する入力を受け付けるかもしくは与えることができる。
【0037】
[0050]いくつかの別個の構成要素が
図2に示されているが、それらの構成要素のうちの1つまたは複数は、組み合わせられるかまたは共通に実装され得る。たとえば、プロセッサ204は、プロセッサ204に関して上記で説明した機能を実装するためだけでなく、信号検出器218および/またはDSP220に関して上記で説明した機能を実装するためにも使用され得る。さらに、
図2に示す構成要素の各々は、複数の別個の要素を使用して実装され得る。
【0038】
[0051]AP104およびSTA106などのデバイス間または複数のSTA106間の適切な通信を保証するために、AP104またはSTA106は、AP104またはSTA106の特性に関する情報を受信することができる。たとえば、STA106は、STA106とAP104との間の通信のタイミングを同期させるために、AP104についてのタイミング情報を使用することができる。追加または代替として、STA106は、AP104または別のSTAの媒体アクセス制御(MAC)アドレス、AP104によってサービスされる基本サービスセット(BSS)の識別子など、他の情報を必要とすることができる。STA106は、メモリ206およびプロセッサ204を使用して実行されるソフトウェアを通してなど、そのような情報を単独で必要とするかどうかを決定することができる。
【0039】
[0052]AP104またはSTA106は、複数の動作モードを有することができる。たとえば、STA106は、アクティブモード、通常動作モードまたはフル電力モードと呼ばれる第1の動作モードを有することができる。アクティブモードでは、STA106は、常に「アウェイク」状態にあり、別のSTA106とデータをアクティブに送信/受信することができる。さらに、STA106は、省電力モードまたはスリープモードと呼ばれる第2の動作モードを有することができる。省電力モードでは、STA106は、「アウェイク」状態にあり得るか、またはSTA106が別のSTA106とデータをアクティブに送信/受信しない「ドーズ」状態もしくは「スリープ」状態にあり得る。たとえば、STA106の受信機212、ならびに、場合によってはDSP220および信号検出器218は、ドーズ状態で低減された電力消費を使用して動作することができる。さらに、電力節約モードでは、STA106は、AP104または別のSTAとデータを送信/受信することが可能になるように、STA106が特定の時間に「起動する」(たとえば、アウェイク状態に入る)必要があるか否かをSTA106に示す、AP104または他のSTAからのメッセージ(たとえば、ページングメッセージ)をリッスンするために、時々、アウェイク状態に入ることができる。
【0040】
[0053]
図3に、デバイスが1つのチャネルを介して通信することができるワイヤレス通信システムにおける例示的な通信タイムライン300を示す。例示的な通信タイムライン300は、持続時間ΔA306のディスカバリ間隔(DI)302と、持続時間ΔB308のページング間隔(PI)304と、持続時間ΔC310の全体的な間隔とを含むことができる。いくつかの態様では、通信は、他のチャネルをも介して行うことができる。時間は、時間軸にわたってページの端から端まで水平方向に増加する。
【0041】
[0054]DI302中に、APまたはSTAは、ディスカバリパケットなどのブロードキャストメッセージを通してサービスを広告することができる。いくつかの実施形態では、DI302は、ディスカバリウィンドウ(DW:discovery window)と呼ばれることがある。APまたはSTAは、他のAPまたはSTAによって送信されたブロードキャストメッセージをリッスンすることができる。いくつかの態様では、DIの持続時間は、時間とともに変化することができる。他の態様では、DIの持続時間は、ある時間期間にわたって固定されたままであることができる。DI302の終端は、
図3に示すように、第1の残余時間期間だけ後続のPI304の始端から分離され得る。PI304の終端は、
図3に示すように、異なる残余時間期間だけ後続のDIの始端から分離され得る。
【0042】
[0055]PI304中に、APまたはSTAは、ページング要求パケットなどのページング要求メッセージを送信することによって、ブロードキャストメッセージ中で広告される複数のサービスのうちの1つまたは複数に対する関心を示すことができる。APまたはSTAは、他のAPまたはSTAによって送信されたページング要求メッセージをリッスンすることができる。いくつかの態様では、PIの持続時間は、時間とともに変化することができる。他の態様では、PIの持続時間は、ある時間期間にわたって一定のままであることができる。いくつかの態様では、PIの持続時間は、DIの持続時間よりも短くなり得る。
【0043】
[0056]持続時間ΔC310の全体的な間隔は、
図3に示すように、1つのDIの始端から後続のDIの始端までの時間期間を測定することができる。いくつかの実施形態では、持続時間ΔC310は、ディスカバリ期間(DP:discovery period)と呼ばれることがある。いくつかの態様では、全体的な間隔の持続時間は、時間とともに変化することができる。他の態様では、全体的な間隔の持続時間は、ある時間期間にわたって一定のままであることができる。持続時間ΔC310の全体的な間隔の終わりに、DIと、PIと、残余間隔と、を含む別の全体的な間隔が開始することができる。連続する全体的な間隔は、無期限に続くか、または固定時間期間の間継続することができる。
【0044】
[0057]STAが送信していないかもしくはリッスンしていないか、または送信もしくはリッスンすることを予想していないとき、STAは、スリープモードまたは省電力モードに入ることができる。一例として、STAは、DIまたはPI以外の期間中にスリープすることができる。スリープモードまたは省電力モードにあるSTAは、STAによる送信またはリスニングを可能にするために、DIまたはPIの始端で起動するか、または通常動作モードもしくはフル電力モードに復帰することができる。いくつかの態様では、STAが別のデバイスと通信することを予想する他のときにまたは起動するようにSTAに命令する通知パケットを受信したことの結果として、STAは、起動するか、または通常動作モードもしくはフル電力モードに復帰することができる。STAは、STAが送信を受信することを保証するために早く起動することができる。
【0045】
[0058]上記で説明したように、DI中に、APまたはSTAは、ディスカバリパケット(DP:discovery packet)を送信することができる。PI中に、APまたはSTAは、ページング要求パケット(PR:paging request packet)を送信することができる。DPは、STAまたはAPによって与えられた複数のサービスを広告し、ページング間隔がいつディスカバリパケットを送信するデバイスのためのものであるかを示すように構成されたパケットであり得る。DPは、データフレーム、管理フレーム、または管理アクションフレームを含むことができる。DPは、上位レイヤのディスカバリプロトコルまたはアプリケーションベースのディスカバリプロトコルによって生成された情報を搬送することができる。PRは、APまたはSTAによって与えられた複数のサービスのうちの少なくとも1つに対する関心を示すように構成されたパケットであり得る。
【0046】
[0059]DIおよびPIの始端および終端は、ディスカバリパケットまたはページング要求パケットを送信することを望む各STAに数々の方法を介して知られ得る。いくつかの態様では、各STAは、他のAPまたはSTAとそれのクロックを同期させ、共有DIおよびPI開始時間とDI持続時間とPI持続時間とを設定することができる。他の態様では、デバイスは、本開示の態様と競合するか、またはそれと準拠しないことのある通信などのレガシー通信の媒体を消去し、DIまたはPI期間の始端および持続時間、ならびにDIおよびPI持続時間に関する追加情報を示すために特殊送信可(S−CTS:special clear to send)信号などの信号を送ることができる。
【0047】
[0060]他のSTAからなど、ディスカバリパケットを介して広告されたサービスに潜在的に関心があるSTAは、DI中に起動するかまたは起動したままであり、特定のディスカバリパケットが、受信STAに関係があり得る複数のサービスのうちの1つまたは複数に関する情報を含むかどうかを決定するためにディスカバリパケットを処理することができる。DI期間の後に、情報を通信することを予定していないSTAは、STAが通信することを予定する次回まで休止期間の間、スリープモードまたは省電力モードに入ることができる。いくつかの態様では、STAが、DIまたはPIの外で別のデバイスと追加情報を通信することができるまで、STAは、スリープモードまたは省電力モードに入ることができる。いくつかの態様では、STAは、次のPIの始端までスリープモードまたは省電力モードに入ることができる。PIの始端において、関係するSTAは、サービスのプロバイダにページング要求パケットを送信するために起動することができる。
【0048】
[0061]他のSTAに送信されたディスカバリパケットなどの送信されたディスカバリパケットへの応答を待つSTAは、PI中に起動するかまたは起動したままであり、STAによって与えられた複数のサービスのうちの少なくとも1つに対する別のデバイスによる関心を特定のページング要求パケットが示すかどうかを決定するためにページング要求パケットを処理することができる。PI期間の後に、情報を通信することを予定していないSTAは、STAが通信することを予定する次回まで休止期間(break period)の間、スリープモードまたは省電力モードに入ることができる。いくつかの態様では、STAが、DIまたはPIの外で別のデバイスと追加情報を通信することができるまで、STAは、スリープモードまたは省電力モードに入ることができる。いくつかの態様では、STAは、次のDIの始端までスリープモードまたは省電力モードに入ることができる。
【0049】
[0062]例として、全体的な間隔の持続時間ΔCは、いくつかの態様では、約1〜5秒に等しくなることができる。他の態様では、全体的な間隔は、1秒よりも短いか、または5秒よりも長くなり得る。DIの持続時間ΔAは、いくつかの態様では、約16msに等しくなるが、他の態様では、16msよりも長くなることもまたは短くなることもある。PIの持続時間ΔBは、いくつかの態様では、持続時間ΔAにほぼ等しくなることができる。他の態様では、持続時間ΔBは、持続時間ΔAよりも長くなることもまたは短くなることもある。
【0050】
[0063]
図4に、通信のためにレガシーシステムにおいて使用されるビーコンフレーム400の一例を示す。図示のように、ビーコン400は、中央アクセス制御(MAC)ヘッダ402と、フレーム本体404と、フレーム制御シーケンス(FCS)406とを含む。図示のように、MACヘッダ402は24バイト長であり、フレーム本体404は可変長であり、FCS406は4バイト長である。
【0051】
[0064]MACヘッダ402は、ビーコンフレーム400のための基本的なルーティング情報を与えるように働く。図示の実施形態では、MACヘッダ402は、フレーム制御(FC)フィールド408と、持続時間フィールド410と、宛先アドレス(DA)フィールド412と、ソースアドレス(SA)フィールド414と、基本サービスセット識別情報(BSSID)フィールド416と、シーケンス制御フィールド418とを含む。図示のように、FCフィールド408は2バイト長であり、持続時間フィールド410は2バイト長であり、DAフィールド412は6バイト長であり、SAフィールド414は6バイト長であり、BSSIDフィールド416は6バイト長であり、シーケンス制御フィールド418は2バイト長である。
【0052】
[0065]フレーム本体404は、送信ノードに関する詳細な情報を与えるように働く。図示の実施形態では、フレーム本体404は、タイムスタンプフィールド420と、ビーコン間隔フィールド422と、能力(ability)情報フィールド424と、サービスセット識別子(SSID)フィールド426と、サポートレートフィールド428と、周波数ホッピング(FH)パラメータセット430と、直接シーケンスパラメータセット432と、競合なしパラメータセット434と、独立基本サービスセット(IBSS)パラメータセット436と、国情報フィールド438と、FHホッピングパラメータフィールド440と、FHパターンテーブル442と、電力制約フィールド444と、チャネル切替え告知フィールド446と、クワイエットフィールド448と、IBSS直接周波数選択(DFS:direct frequency selection)フィールド450と、送信電力制御(TPC:transmit power control)フィールド452と、実効放射電力(ERP:effective radiated power)情報フィールド454と、拡張サポートレートフィールド456と、ロバストセキュリティネットワーク(RSN)フィールド458とを含む。
【0053】
[0066]
図4に示すように、タイムスタンプフィールド420は8バイト長であり、ビーコン間隔フィールド422は2バイト長であり、能力情報フィールド424は2バイト長であり、サービスセット識別子(SSID)フィールド426は可変長であり、サポートレートフィールド428は可変長であり、周波数ホッピング(FH)パラメータセット430は7バイト長であり、直接シーケンスパラメータセット432は2バイト長であり、競合なしパラメータセット434は8バイト長であり、独立基本サービスセット(IBSS)パラメータセット436は4バイト長であり、国情報フィールド438は可変長であり、FHホッピングパラメータフィールド440は4バイト長であり、FHパターンテーブル442は可変長であり、電力制約フィールド444は3バイト長であり、チャネル切替え告知フィールド446は6バイト長であり、クワイエットフィールド448は8バイト長であり、IBSS直接周波数選択(DFS)フィールド450は可変長であり、送信電力制御(TPC)フィールド452は4バイト長であり、実効放射電力(ERP)情報フィールド454は3バイト長であり、拡張サポートレートフィールド456は可変長であり、ロバストセキュリティネットワーク(RSN)フィールド458は可変長である。
【0054】
[0067]
図4をさらに参照すると、ビーコンフレーム400は可変長であるが、常に少なくとも89バイト長である。様々な無線環境では、ビーコンメッセージ400中に含まれている情報の多くがまれに使用されるか、またはまったく使用されないことがある。したがって、低電力無線環境では、電力消費を低減するために、ビーコンフレーム400の長さを低減することが望ましいことがある。その上、いくつかの無線環境では、低いデータレートを使用する。たとえば、802.11ah規格を実装するアクセスポイントは、比較的遅いデータ送信レートにより、ビーコンフレーム400を送信するのに比較的長い時間を要することができる。したがって、ビーコンフレーム400を送信するのにかかる時間を短縮するために、ビーコンフレーム400の長さを低減することが望ましいことがある。
【0055】
[0068]様々な実施形態では、近傍アウェアネットワークは、ビーコンフレーム400を復号するように構成された既存のハードウェアに適合するようにフォーマットされた同期ビーコンを使用することができる。たとえば、近傍アウェアネットワーク中の1つまたは複数のSTAおよび/またはAPは、NANビーコンフレームを送信することができ、NANビーコンフレームは、NAN中のSTAにわたって同期を維持するために使用され得る。いくつかの実施形態では、ビーコンフレーム400中の様々なフィールドが除去、サイズ変更、および/または再利用され得る。
【0056】
[0069]
図5に、例示的な近傍アウェアネットワークビーコンフレーム500を示す。図示の実施形態では、NANビーコンフレーム500は、フレーム制御(FC)フィールド508と、持続時間フィールド510と、宛先アドレス(DA)フィールド512と、ソースアドレス(SA)フィールド514と、NAN BSSIDフィールド516と、シーケンス制御フィールド518と、高スループット(HT)制御フィールド519と、タイムスタンプ520と、ディスカバリ期間フィールド522と、予約済み能力フィールド524と、SSIDフィールド526と、ディスカバリウィンドウ(DW)情報フィールド529と、フレーム検査シーケンス(FCS)506と、を含む。図示のように、フレーム制御(FC)フィールド508は2バイト長であり、持続時間フィールド510は2バイト長であり、宛先アドレス(DA)フィールド512は6バイト長であり、ソースアドレス(SA)フィールド514は6バイトであり、NAN BSSIDフィールド516は6バイト長であり、シーケンス制御フィールド518は2バイト長であり、高スループット(HT)制御フィールド519は4バイト長であり、タイムスタンプ520は8バイト長であり、ディスカバリ期間フィールド522は2バイト長であり、予約済み能力フィールド524は2バイト長であり、SSIDフィールド526は可変長であり、ディスカバリウィンドウ(DW)情報フィールド529は可変長であり、フレーム検査シーケンス(FCS)506は4バイト長である。様々な実施形態では、NANビーコンフレーム500は、
図5に示した1つまたは複数のフィールドを省略し、および/または、本明細書で説明するフィールドのいずれかを含む、
図5に示していない1つまたは複数のフィールドを含むことができる。NANビーコンフレーム500中のフィールドは、異なる適切な長さであり得、異なる順序であり得ることを、当業者は諒解されよう。
【0057】
[0070]様々な実施形態では、フレーム制御(FC)フィールド508、持続時間フィールド510、宛先アドレス(DA)フィールド512、ソースアドレス(SA)フィールド514、シーケンス制御フィールド518、タイムスタンプ520、SSIDフィールド526、およびフレーム検査シーケンス(FCS)506のうちの1つまたは複数は、それぞれ、
図4に関して上記で説明したフレーム制御(FC)フィールド408、持続時間フィールド410、宛先アドレス(DA)フィールド412、ソースアドレス(SA)フィールド414、シーケンス制御フィールド418、タイムスタンプ420、SSIDフィールド426、およびフレーム検査シーケンス(FCS)406を含むことができる。したがって、フレーム制御(FC)フィールド508、持続時間フィールド510、宛先アドレス(DA)フィールド512、ソースアドレス(SA)フィールド514、NAN BSSIDフィールド516、およびシーケンス制御フィールド518は、
図4のMACヘッダ402などのレガシーMACヘッダと同じフォーマットを有するように構成され得る。NANビーコンフレーム500は、改変なしに、レガシーハードウェアによって処理するようにフォーマットされ得る。
【0058】
[0071]いくつかの実施形態では、NAN BSSIDフィールド516は、
図4に関して上記で説明したBSSIDフィールド416と同じフォーマットを有することができるが、別様に解釈され得る。一実施形態では、NAN BSSID516は、すべてのNAN同期フレーム中で使用される所定のBSSIDまたはトークンBSSIDを含むことができる。したがって、異なるネットワークが同期フレーム中に同じNAN BSSIDを含むことができる。トークンBSSIDは、プリセットされ得、広く知られていることがあり、および/または動的に決定され得る。いくつかの実施形態では、DAフィールド512は、ブロードキャストアドレスに設定され得、SAフィールド514は、送信者アドレスに設定され得る。
【0059】
[0072]別の実施形態では、各NANは、異なる(たとえば、擬似ランダム)NAN BSSID516を有することができる。一実施形態では、NAN BSSID516は、サービスアプリケーションに基づき得る。たとえば、アプリケーションAによって作成されたNANは、アプリケーションAの識別子に基づいてBSSID516を有することができる。いくつかの実施形態では、NAN BSSID516は、標準化団体によって定義され得る。いくつかの実施形態では、NAN BSSID516は、たとえば、デバイスロケーション、サーバに割り当てられたIDなどの他のコンテキスト情報および/またはデバイス特性に基づき得る。一例では、NAN BSSID516は、NANの緯度ロケーションおよび経度ロケーションのハッシュを含むことができる。
【0060】
[0073]一実施形態では、フレーム制御フィールド508は、タイプインジケータを含むことができる。FC508のタイプインジケータは、NANビーコン500が管理フレームであることを示すことができる。一実施形態では、STA106(
図1)は、タイプインジケータをビーコン管理フレームに設定することができる。いくつかの実施形態では、NANビーコン500の1つまたは複数のフィールドは、プローブ応答として送られ得、FC508のタイプインジケータは、フレームがプローブ応答であることを示すことができる。
【0061】
[0074]いくつかの実施形態では、タイムスタンプ520は、
図4に関して上記で説明したタイムスタンプ420と同じフォーマットを有することができるが、別様に解釈され得る。一実施形態では、タイムスタンプ520は、送信のときにおける、またはフレームコンパイルのときにおける送信デバイスのクロック時間を含むことができる。一実施形態では、STA106(
図1)は、タイムスタンプ520を内部クロック値に設定することができる。
【0062】
[0075]いくつかの実施形態では、ディスカバリ期間フィールド522は、
図4に関して上記で説明したビーコン間隔フィールド422と同じフォーマットを有することができるが、別様に解釈され得る。一実施形態では、ディスカバリ期間フィールド522は、(
図3に関して上記で説明した)ディスカバリ期間310の長さを示すことができる。たとえば、タイムスタンプ520は、ディスカバリ間隔302がディスカバリ期間310に関していつ開始することになるかを示すことができる。
【0063】
[0076]いくつかの実施形態では、予約済み能力フィールド524は、
図4に関して上記で説明した能力情報フィールド424と同じフォーマットを有することができるが、予約済みビットを含み得る。したがって、受信STA106(
図1)は、レガシーハードウェアを使用してNANビーコン500を復号することができるが、予約済み能力フィールド524の値を無視することができる。一実施形態では、予約済み能力フィールド524は、NANに関する追加情報を含むことができる。
【0064】
[0077]いくつかの実施形態では、SSIDフィールド526は、
図4に関して上記で説明したSSIDフィールド426と同じフォーマットを有することができるが、別様に解釈され得る。一実施形態では、SSIDフィールド426は、アプリケーション識別子を搬送することができる。一実施形態では、SSIDフィールド426は省略され得る。一実施形態では、SSIDフィールド426は、ネットワーク識別子を含むことができる。
【0065】
[0078]ディスカバリウィンドウ情報フィールド529は、
図3に関して上記で説明したディスカバリウィンドウ302に関する情報を提供することができる。様々な実施形態では、STA106(
図1)は、ディスカバリウィンドウ302中の任意の時間にNANビーコンを送信することができる。したがって、受信デバイスは、NANビーコン500の送信時間に基づいてディスカバリウィンドウ302の開始時間を決定することができないことがある。一実施形態では、ディスカバリウィンドウ情報フィールド529は、(
図3に関して上記で説明した)ディスカバリ間隔302のオフセットまたは開始時間を示すことができる。たとえば、タイムスタンプ520は、ディスカバリ間隔302がディスカバリ期間310に関していつ開始することになるかを示すことができる。したがって、受信STA106は、ディスカバリウィンドウ情報フィールド529に基づいて起動時間を決定することができる。
【0066】
[0079]いくつかの実施形態では、NANアウェアでない1つまたは複数のデバイスがNANビーコン500を受信することができる。いくつかの構成では、そのようなレガシーデバイスは、
図4に関して上記で説明したビーコン400などのレガシービーコンとしてNANビーコン500を解釈することができる。たとえば、レガシーデバイスは、複数の異なるNAN BSSIDフィールド516を有する複数のNANビーコン500を受信することができる。いくつかの実施形態では、NANビーコン500は、レガシーデバイスがNANビーコン500を無視または破棄することができるように構成され得る。他の実施形態では、NANビーコン500は、レガシーデバイスに可視である異なるNAN BSSIDフィールド516の数を低減するように構成され得る。
【0067】
[0080]一実施形態では、DA512は、ビーコン500がNANビーコンであることを示すマルチキャストアドレスまたはアドレスのグループに設定され得る。ビーコン500がNANビーコンであることを示すマルチキャストアドレスまたはアドレスのグループは、あらかじめ決定され得、メモリ206(
図2)に記憶され得る、および/または標準化団体によって設定され得る。NANアウェアなデバイスは、NANマルチキャストアドレスまたはアドレスのグループをリッスンするように構成され得る。レガシーデバイスは、NANマルチキャストアドレスまたはアドレスのグループを無視または破棄するように構成され得る。
【0068】
[0081]いくつかの実施形態では、SA514は、NAN BSSID516とは異なるアドレスに設定され得る。たとえば、SA514は、ワイヤレスデバイス202(
図2)のアドレスに設定され得る。上記で説明したように、NAN BSSID516は、すべてのNAN同期フレーム中で使用される所定のBSSIDまたはトークンBSSID、アプリケーションベースのBSSIDなどを含むことができる。いくつかのレガシーデバイスは、ビーコンフレームが同一のSA514の値とBSSID516の値とを有すると仮定することができるので、いくつかのレガシーデバイスは、SA514フィールドおよびBSSID516フィールドの中に異なる値を有するNANビーコン500を破棄または無視することができる。
【0069】
[0082]他の実施形態では、SA514は、ワイヤレスデバイス202(
図2)のアドレスとは無関係に、NAN BSSID516に設定され得る。上記で説明したように、NAN BSSID516は、すべてのNAN同期フレーム中で使用される所定のBSSIDまたはトークンBSSIDを含むことができる。いくつかのレガシーデバイスが、ビーコンフレーム中に見られる別個のBSSID値を追跡することができるので、使用される異なるNAN BSSID516の値の数を低減することは、レガシーデバイス上で追跡される異なるネットワークの数を低減することができる。
【0070】
[0083]
図6に、例示的な近傍アウェアネットワークディスカバリフレーム600を示す。図示の実施形態では、NANディスカバリフレーム600は、フレーム制御(FC)フィールド608と、持続時間フィールド610と、宛先アドレス(DA)フィールド612と、ソースアドレス(SA)フィールド614と、NAN BSSIDフィールド616と、シーケンス制御フィールド618と、高スループット(HT)制御フィールド619と、カテゴリーフィールド660と、アクションフィールド662と、サービス識別子664と、接続セットアップ情報フィールド666と、フレーム検査シーケンス(FCS)606とを含む。図示のように、フレーム制御(FC)フィールド608は2バイト長であり、持続時間フィールド610は2バイト長であり、宛先アドレス(DA)フィールド612は6バイト長であり、ソースアドレス(SA)フィールド614は6バイト長であり、NAN BSSIDフィールド616は6バイト長であり、シーケンス制御フィールド618は2バイト長であり、高スループット(HT)制御フィールド619は4バイト長であり、カテゴリーフィールド660は1バイト長であり、アクションフィールド662は1バイト長であり、フレーム検査シーケンス(FCS)606は4バイト長である。様々な実施形態では、NANディスカバリフレーム600は、
図6に示した1つまたは複数のフィールドを省略し、および/または、本明細書で説明するフィールドのいずれかを含む、
図6に示していない1つまたは複数のフィールドを含むことができる。NANディスカバリフレーム600中のフィールドは、異なる適切な長さであり得、異なる順序であり得ることを、当業者は諒解されよう。
【0071】
[0084]様々な実施形態では、フレーム制御(FC)フィールド608、持続時間フィールド610、宛先アドレス(DA)フィールド612、ソースアドレス(SA)フィールド614、シーケンス制御フィールド618、タイムスタンプ620、およびフレーム検査シーケンス(FCS)606のうちの1つまたは複数は、それぞれ、
図4に関して上記で説明したフレーム制御(FC)フィールド408、持続時間フィールド410、宛先アドレス(DA)フィールド412、ソースアドレス(SA)フィールド414、シーケンス制御フィールド418、タイムスタンプ420およびフレーム検査シーケンス(FCS)406を含むことができる。したがって、フレーム制御(FC)フィールド608、持続時間フィールド610、宛先アドレス(DA)フィールド612、ソースアドレス(SA)フィールド614、NAN BSSIDフィールド616、およびシーケンス制御フィールド618は、
図4のMACヘッダ402などのレガシーMACヘッダと同じフォーマットを有するように構成され得る。NANディスカバリフレーム600は、改変なしに、レガシーハードウェアによって処理するようにフォーマットされ得る。
【0072】
[0085]いくつかの実施形態では、NAN BSSIDフィールド616は、
図4に関して上記で説明したBSSIDフィールド416と同じフォーマットを有することができるが、別様に解釈され得る。一実施形態では、NAN BSSID616は、すべてのNAN同期フレーム中で使用される所定のBSSIDまたはトークンBSSIDを含むことができる。したがって、異なるネットワークが同期フレーム中に同じNAN BSSIDを含むことができる。トークンBSSIDは、プリセットされ得、広く知られていることがあり、および/または動的に決定され得る。いくつかの実施形態では、DAフィールド612は、ブロードキャストアドレスに設定され得、SAフィールド614は、送信者アドレスに設定され得る。
【0073】
[0086]別の実施形態では、各NANは、異なる(たとえば、擬似ランダム)NAN BSSIDを有することができる。一実施形態では、NAN BSSIDは、サービスアプリケーションに基づき得る。たとえば、アプリケーションAによって作成されたNANは、アプリケーションAの識別子に基づいてBSSIDを有することができる。いくつかの実施形態では、NAN BSSID516は、標準化団体によって定義され得る。いくつかの実施形態では、NAN BSSID516は、たとえば、デバイスロケーション、サーバに割り当てられたIDなどの他のコンテキスト情報および/またはデバイス特性に基づき得る。一例では、NAN BSSID516は、NANの緯度ロケーションおよび経度ロケーションのハッシュを含むことができる。
【0074】
[0087]一実施形態では、フレーム制御フィールド608は、タイプインジケータを含むことができる。FC608のタイプインジケータは、NANディスカバリ600が管理フレームであることを示すことができる。様々な実施形態では、NANディスカバリフレーム600は、公開アクションフレームであり得る。サービス識別子664、接続セットアップ情報666、および/または追加のNAN情報は、公開アクションフレーム中で情報要素として搬送され得る。一実施形態では、STA106(
図1)は、タイプインジケータを公開アクションフレームに設定することができる。
【0075】
[0088]一実施形態では、サービス識別子664は、NANディスカバリフレーム600についてのサービス情報を示すことができる。一実施形態では、SAフィールド614は、送信デバイスのデバイス識別子を含むことができる。一実施形態では、接続セットアップ情報フィールド666は、たとえば、接続確立のためのWiFi directの使用などの1つまたは複数の接続パラメータを示す情報を含むことができる。
【0076】
[0089]
図7に、例示的な近傍アウェアネットワークディスカバリフレーム700を示す。図示の実施形態では、NANディスカバリフレーム700は、カテゴリーフィールド710と、アクションフィールド720と、1つまたは複数のディスカバリタイプ長さ値(TLV)フィールド730〜750とを含む。図示のように、カテゴリーフィールド710は1オクテット長であり、アクションフィールド720は1オクテット長であり、1つまたは複数のTLVフィールド730〜750はそれぞれ可変長である。様々な実施形態では、NANディスカバリフレーム700は、
図7に示した1つまたは複数のフィールドを省略し、および/または、本明細書で説明するフィールドのいずれかを含む、
図7に示していない1つまたは複数のフィールドを含むことができる。たとえば、NANディスカバリフレーム700は、
図6のNANディスカバリフレーム600に関して上記で説明したフィールドのいずれかを含むことができる。NANディスカバリフレーム700中のフィールドは、異なる適切な長さであり得、異なる順序であり得ることを、当業者は諒解されよう。
【0077】
[0090]いくつかの実施形態では、カテゴリーフィールド710は、公開アクションフレームを示すことができる。アクションフィールド720は、ディスカバリフレームを示すことができる。本明細書では、TLVフィールド730〜750について
図9に関してより詳細に説明する。
【0078】
[0091]
図8に、例示的なベンダー固有のディスカバリフレーム800を示す。図示の実施形態では、ベンダー固有のディスカバリフレーム800は、カテゴリーフィールド810と、アクションフィールド820と、組織固有識別子(OUI:organizationally unique identifier)フィールド830と、OUIタイプフィールド840と、OUIサブタイプ850と、ダイアログトークン860と、1つまたは複数のディスカバリタイプ長さ値(TLV)フィールド870〜880とを含む。図示のように、カテゴリーフィールド810は1オクテットであり、アクションフィールド820は1オクテットであり、OUIフィールド830は3オクテットであり、ヒーOUIタイプフィールド840は1オクテットであり、OUIサブタイプ850は1オクテットであり、ダイアログトークン860は1オクテットであり、1つまたは複数のディスカバリTLVフィールド870〜880は可変長である。様々な実施形態では、ベンダー固有のディスカバリフレーム800は、
図8に示した1つまたは複数のフィールドを省略し、および/または、本明細書で説明するフィールドのいずれかを含む、
図8に示していない1つまたは複数のフィールドを含むことができる。たとえば、ベンダー固有のディスカバリフレーム800は、
図6のベンダー固有のディスカバリフレーム600に関して上記で説明したフィールドのいずれかを含むことができる。ベンダー固有のディスカバリフレーム800中のフィールドは、異なる適切な長さであり得、異なる順序であり得ることを、当業者は諒解されよう。
【0079】
[0092]いくつかの実施形態では、カテゴリーフィールド710は、公開アクションフレームを示すことができる。アクションフィールド720は、ベンダー固有のアクションフレームを示すことができる。OUIフィールド830は、(「指名先」と呼ばれる)ベンダー、メーカー、または他の団体を広域的にまたは世界的に一意に識別するために使用され得、指名先の排他的使用のために(MACアドレス、グループアドレス、サブネットワークアクセスプロトコル識別子など)派生識別子の可能な各タイプのブロックを効果的に予約することができる。OUIタイプフィールド840は、たとえば、MAC識別子、コンテキスト依存識別子(CDI)、拡張一意識別子(EUI)など、OUIフィールド830のタイプを示すために使用され得る。OUIサブタイプフィールド850は、OUIタイプフィールド840のサブタイプを示すことができる。ダイアログトークン860は、特定のトランザクションを示すように選定され得る。本明細書では、TLVフィールド830〜750について
図9に関してより詳細に説明する。
【0080】
[0093]
図9に、
図1のワイヤレス通信システム100内で採用され得る例示的なディスカバリタイプ長さ値(TLV)900を示す。様々な実施形態では、たとえば、AP184(
図1)、STA186A〜106D(
図1)、および/またはワイヤレスデバイス202(
図2)など、本明細書で説明する任意のデバイス、または別の互換デバイスは、ディスカバリTLV900を送信することができる。ワイヤレス通信システム100における1つまたは複数のメッセージは、たとえば、ビーコン400(
図4)、ビーコン500(
図5)、ディスカバリフレーム600(
図6)、プローブ応答、および/またはディスカバリクエリフレームなどのディスカバリTLV900を含むことができる。一実施形態では、ディスカバリTLV900は、
図7および
図8に関して上記で説明したディスカバリTLV730〜750および/または870〜880を含むことができる。TLV900の1つまたは複数のフィールドは、フレーム900に加えて、またはその代わりに、情報要素の属性中に含まれ得る。たとえば、属性は、ベンダー固有のIEであり得る。
【0081】
[0094]図示の実施形態では、ディスカバリTLV900は、サービス識別子910と、長さフィールド920と、サービス制御フィールド930と、整合フィルタコンテナ950と、レンジング情報コンテナ960と、サービス固有情報コンテナ970と、発見アドレス情報コンテナ980とを含む。ディスカバリTLV900は追加フィールドを含むことができ、フィールドは並べ替えられ、削除され、および/またはサイズ変更され得ることが当業者には諒解されよう。たとえば、様々な実施形態では、ディスカバリTLV900は、サービス制御フィールド930および/または整合フィルタコンテナ950を省略することができる。
【0082】
[0095]図示のサービス識別子フィールド910は6オクテット長である。いくつかの実装形態では、サービス識別子フィールド910は、2、5、または12オクテット長であり得る。いくつかの実装形態では、サービス識別子フィールド910は、信号ごとにおよび/またはサービスプロバイダ間で長さが変化するなど、可変長であり得る。サービス識別子フィールド910は、ディスカバリフレームのサービスまたはアプリケーションを識別する値を含むことができる。たとえば、サービス識別子910は、サービス名のハッシュまたはサービスに基づく他の値を含むことができる。いくつかの実施形態では、所定のトークン値が予約され得る。たとえば、オール0またはオール1のサービス識別子は、NAN管理動作を示すことができる。
【0083】
[0096]長さフィールド920は、ディスカバリTLV900の長さまたは後続のフィールドの全長を示すために使用され得る。
図9に示した長さフィールド920は1オクテット長である。いくつかの実装形態において、長さフィールド920は、2、5、または12オクテット長であり得る。いくつかの実装形態では、長さフィールド920は、信号ごとにおよび/またはサービスプロバイダ間で長さが変化するなど、可変長であり得る。いくつかの実施形態では、0の長さ(または別の所定のトークン値)は、(サービス制御フィールド930、整合フィルタコンテナ950、レンジング情報コンテナ960、サービス固有情報コンテナ970、および/または発見アドレス情報コンテナ980などの)1つまたは複数の他のフィールドが存在しないことを示すことができる。
【0084】
[0097]サービス制御フィールド930は、適用可能なサービスの情報を示すことができる。
図9に示すサービス制御フィールド930は1オクテット長である。いくつかの実装形態では、サービス制御フィールド930は、2、6、または8オクテット長であり得る。いくつかの実装形態では、サービス制御フィールド930は、信号ごとにおよび/またはサービスプロバイダ間で長さが変化するなど、可変長であり得る。サービス制御フィールド930は、パブリッシュフラグ931と、サブスクライブフラグ932と、レンジ制限フラグ933と、整合フィルタフラグ934と、サービス情報フラグ935と、APフラグ936と、発見アドレスフラグ937と、予約済みビットとを含む。サービス制御フィールド930は追加フィールドを含むことができ、フィールドは並べ替えられ、削除され、および/またはサイズ変更され得ることが当業者には諒解されよう。
【0085】
[0098]図示の実施形態では、パブリッシュフラグ931、サブスクライブフラグ932、レンジ制限フラグ933、整合フィルタフラグ934、サービス情報フラグ935、APフラグ936、および発見アドレスフラグ937はそれぞれ、1ビット長である。様々な実施形態では、整合フィルタフラグ934は、整合フィルタコンテナ950がディスカバリTLV900中に存在するかどうかを示すことができる。サービス情報フラグは、サービス固有情報コンテナ970がディスカバリTLV900中に存在するかどうかを示すことができる。APフラグ936は、ディスカバリTLV900がAPによって送信されるかどうかを示すことができる。発見アドレスフラグ937は、発見アドレス情報コンテナ980がディスカバリTLV900中に存在するかどうかを示すことができる。
【0086】
[0099]整合フィルタコンテナ950は、整合フィルタ情報を示すことができる。
図9に示す整合フィルタコンテナ950は可変長である。いくつかの実装形態では、整合フィルタコンテナ950は、2、6、または8オクテット長であり得る。整合フィルタコンテナ950は、整合フィルタ長さフィールドおよび/またはNANのための整合フィルタを含むことができる。整合フィルタ長さフィールドは、整合フィルタの長さを示すことができる。整合フィルタ長さフィールドは1オクテット長であり得る。一実施形態では、整合フィルタ長さは、0(または別の所定のトークン値)であり得、整合フィルタは省略され得る。整合フィルタは、可変長であり得る。整合フィルタコンテナ950は追加フィールドを含むことができ、フィールドは並べ替えられ、削除され、および/またはサイズ変更され得ることが当業者には諒解されよう。
【0087】
[0100]レンジング情報コンテナ960は、レンジング情報を示すことができる。
図9に示したレンジング情報コンテナ960は可変長である。いくつかの実装形態では、レンジング情報コンテナ960は、2、6、または8オクテット長であり得る。レンジング情報コンテナ960は、レンジ情報長さフィールドと、レンジ制御フィールドと、レンジング情報フィールドとのうちの1つまたは複数を含むことができる。レンジング情報コンテナ960は追加フィールドを含むことができ、フィールドは並べ替えられ、削除され、および/またはサイズ変更され得ることが当業者には諒解されよう。
【0088】
[0101]レンジ情報長さフィールドは、レンジング情報フィールドの長さを示すことができる。レンジ情報長さフィールドは1オクテット長であり得る。一実施形態では、レンジング情報長さフィールドは、0(または別の所定のトークン値)であり得、レンジング情報フィールドは省略され得る。レンジ制御フィールドは、レンジングアルゴリズムタイプを示すことができる。レンジ制御フィールドは1オクテット長であり得る。レンジ制御フィールドは追加フィールドを含むことができ、フィールドは並べ替えられ、削除され、および/またはサイズ変更され得ることが当業者には諒解されよう。レンジング情報フィールドは、たとえば、レンジングアルゴリズム識別、レンジングデータなどのレンジング情報を示すために使用され得る。レンジング情報フィールドは、可変長であり得る。いくつかの実装形態では、レンジング情報フィールドは、1、5、または12オクテット長であり得る。
【0089】
[0102]サービス固有情報コンテナ970は、適用可能なサービスに関する1つまたは複数の追加のデータフィールドをカプセル化することができる。
図9に示すサービス固有情報コンテナ970は可変長である。いくつかの実装形態では、サービス固有情報コンテナ970は、1、5、または12オクテット長であり得る。サービス固有情報コンテナ970は、サービス固有情報長さフィールドおよび/またはサービス固有情報フィールドを含むことができる。サービス固有情報長さフィールドは、サービス固有情報フィールドの長さを示すことができる。一実施形態では、サービス固有情報長さフィールドは、0(または別の所定のトークン値)であり得、サービス固有情報フィールドは省略され得る。サービス固有情報フィールドは、可変長であり得る。いくつかの実装形態では、サービス固有情報フィールドは、1、5、または12オクテット長であり得る。
【0090】
[0103]発見アドレス情報コンテナ980は、送信デバイス202(
図2)によって発見されたデバイスの1つまたは複数のアドレスを示すことができる。
図9に示す発見アドレス情報コンテナ980は可変長である。いくつかの実装形態では、発見アドレス情報コンテナ980は、1、5、または12オクテット長であり得る。発見アドレス情報コンテナ980について、
図10Aに関して以下でより詳細に説明する。
【0091】
[0104]再び
図3を参照すると、いくつかの実施形態では、DW304は、ディスカバリクエリウィンドウとディスカバリ応答ウィンドウとを含むことができる。様々な実施形態では、ディスカバリクエリウィンドウおよびディスカバリ応答ウィンドウは重複することができる。ディスカバリクエリウィンドウ中に、探索APまたはSTAは、ディスカバリアクションフレーム中でディスカバリクエリメッセージを送ることができる。応答APまたはSTAは、ディスカバリ応答ウィンドウ中でクエリに応答することができる。リッスンAPまたはSTAは、探索APまたはSTAに対するディスカバリクエリ応答を受信することができる。ディスカバリ応答のいくつかは、1つまたは複数のリッスンAPによって紛失され得る。いくつかの実施形態では、ディスカバリ応答クエリは、送信デバイス202(
図2)によって発見されたデバイスの1つまたは複数のアドレスを示すことができる。応答APまたはSTAは、それに応じて追加のディスカバリ応答を送信することができる。
【0092】
[0105]
図10Aに、
図1のワイヤレス通信システム100内で採用され得る例示的な発見アドレス情報コンテナ1000を示す。様々な実施形態では、たとえば、AP184(
図1)、STA186a〜106d(
図1)、および/またはワイヤレスデバイス202(
図2)など、本明細書で説明する任意のデバイス、または別の互換デバイスは、発見アドレス情報コンテナ1000を送信することができる。ワイヤレス通信システム100における1つまたは複数のメッセージは、たとえば、ビーコン400(
図4)、ビーコン500(
図5)、ディスカバリフレーム600(
図6)、プローブ応答、および/またはディスカバリクエリフレームなどの発見アドレス情報コンテナ1000を含むことができる。一実施形態では、発見アドレス情報コンテナ1000は、
図9に関して上記で説明した発見アドレス情報コンテナ980を含むことができる。
【0093】
[0106]図示の実施形態では、発見アドレス情報コンテナ1000は、長さフィールド1010と、ディスカバリ制御フィールド1020と、オプションのクエリインデックス1030と、発見アドレス情報1040とを含む。ディスカバリTLV900は追加フィールドを含むことができ、フィールドは並べ替えられ、削除され、および/またはサイズ変更され得ることが当業者には諒解されよう。たとえば、様々な実施形態では、デバイスが発見されなかったとき、発見アドレス情報1040は省略され得る。
【0094】
[0107]長さフィールド1010は、発見アドレス情報コンテナ1000の長さまたは後続のフィールドの全長を示すために使用され得る。
図10Aに示した長さフィールド1010は1オクテット長である。いくつかの実装形態において、長さフィールド1010は、2、5、または12オクテット長であり得る。いくつかの実装形態では、長さフィールド1010は、信号ごとにおよび/またはサービスプロバイダ間で長さが変化するなど、可変長であり得る。いくつかの実施形態では、0の長さ(または別の所定のトークン値)は、(ディスカバリ制御フィールド1020および/または発見アドレス情報フィールド1040などの)1つまたは複数の他のフィールドが存在しないことを示すことができる。
【0095】
[0108]ディスカバリ制御フィールド1020は、発見アドレス情報1040についての制御情報を示すことができる。
図10Aに示すディスカバリ制御フィールド1020は1オクテット長である。いくつかの実装形態では、ディスカバリ制御フィールド1020は、2、6、または8オクテット長であり得る。いくつかの実装形態では、ディスカバリ制御フィールド1020は、信号ごとにおよび/またはサービスプロバイダ間で長さが変化するなど、可変長であり得る。ディスカバリ制御フィールド1020は、アドレスフラグ1022と、ブルームフィルタフラグ1024と、ブルームフィルタインデックス1026と、1つまたは複数の予約済みビット1028とを含む。ディスカバリ制御フィールド1020は追加フィールドを含むことができ、フィールドは並べ替えられ、削除され、および/またはサイズ変更され得ることが当業者には諒解されよう。
【0096】
[0109]アドレスフラグ1022は、発見アドレス情報1040が、発見されたデバイスに関する完全なアドレス情報を含むのか、または部分的なアドレス情報を含むのかを示すことができる。
図10Aに示すアドレスフラグ1022は1ビットである。ブルームフィルタフラグ1024は発見アドレス情報1040が、(
図11に関して以下で説明する)発見デバイスアドレスのブルームフィルタを含むかどうかを示すことができる。
図10Aに示すブルームフィルタフラグ1024は1ビットである。ブルームフィルタインデックス1026は、ブルームフィルタ中で使用されるハッシュ関数のセットを示すことができる。
図10Aに示すブルームフィルタインデックスは可変長である。
【0097】
[0110]クエリインデックス1030は、特定のディスカバリクエリを識別することができる。
図10Aに示すクエリインデックス1030は1オクテット長である。いくつかの実装形態では、クエリインデックス1030は、2、6、または8オクテット長であり得る。いくつかの実装形態では、クエリインデックス1030は、信号ごとにおよび/またはサービスプロバイダ間で長さが変化するなど、可変長であり得る。クエリインデックス1030は、フォローアップクエリが送信されるたびに増分、減分、あるいは変更され得る。一実施形態では、ブルームフィルタインデックス1026は、クエリインデックス1030が変更されたときに変更され得る。
【0098】
[0111]発見アドレス情報1040は、発見されたデバイスの1つまたは複数のアドレスを示すことができる。
図10Aに示す発見アドレス情報1040は可変長である。いくつかの実装形態では、発見アドレス情報1040は、50、100、または200オクテット長であり得る。いくつかの実施形態では、発見アドレス情報1040は、発見されたデバイスの完全なアドレスまたは部分的なアドレスのリストを含むことができる。リストは、符号化されるか、またはフィルタ処理され得る。いくつかの実施形態では、発見デバイスアドレスは、(
図11に関して以下で説明する)ブルームフィルタによって表される。受信デバイスは、発見アドレス情報1040を受信することができ、受信デバイスアドレスがデバイスアドレス情報1040中に含まれているかどうかを決定することができる。受信デバイスアドレスがデバイスアドレス情報1040中に含まれていない場合、受信デバイスは、NAN中でのそれの存在を告知するために1つまたは複数のディスカバリパケットを送信することができる。
【0099】
[0112]
図10Bに、
図1のワイヤレス通信システム100内で採用され得る例示的なディスカバリ制御フィールド1050を示す。様々な実施形態では、たとえば、AP184(
図1)、STA186a〜106d(
図1)、および/またはワイヤレスデバイス202(
図2)など、本明細書で説明する任意のデバイス、または別の互換デバイスは、発見アドレス情報コンテナ1000を送信することができる。ワイヤレス通信システム100における1つまたは複数のメッセージは、たとえば、ビーコン400(
図4)、ビーコン500(
図5)、ディスカバリフレーム600(
図6)、プローブ応答、および/またはディスカバリクエリフレームなどのディスカバリ制御フィールド1050を含むことができる。一実施形態では、ディスカバリ制御フィールド1050は、
図10Aに関して上記で説明したディスカバリ制御フィールド1020を含むことができる。
【0100】
[0113]ディスカバリ制御フィールド1050は、発見アドレス情報1040についての制御情報を示すことができる。様々な実施形態では、ディスカバリ制御フィールド1050は、クエリ応答包含フィルタ(QRIF:query response inclusion filter)制御フィールドと呼ばれることがあり、QRIF属性中に含まれ得る。
図10Bに示すディスカバリ制御フィールド1050は1オクテット長である。いくつかの実装形態では、ディスカバリ制御フィールド1050は、2、6、または8オクテット長であり得る。いくつかの実装形態では、ディスカバリ制御フィールド1050は、信号ごとにおよび/またはサービスプロバイダ間で長さが変化するなど、可変長であり得る。ディスカバリ制御フィールド1050は、タイプフラグ1052と、インクルードフラグ1054と、ブルームフィルタインデックス1056と、4つの予約済みビット1058とを含む。ディスカバリ制御フィールド1050は追加フィールドを含むことができ、フィールドは並べ替えられ、削除され、および/またはサイズ変更され得ることが当業者には諒解されよう。
【0101】
[0114]タイプフラグ1052は発見アドレス情報1040が、一連の部分的なMACアドレスまたは(
図11に関して以下で説明する)発見デバイスアドレスのブルームフィルタを含むかどうかを示すことができる。
図10Bに示すタイプフラグ1052は1ビットである。インクルードフラグ1054は、発見アドレス情報1040中に示されるSTAが、受信されたディスカバリフレームへの応答を送るべきであるか否かを示すことができる。
図10Bに示すインクルードフラグ1054は1ビットである。ブルームフィルタインデックス1056は、ブルームフィルタ中で使用されるハッシュ関数のセットを示すことができる。
図10Bに示すブルームフィルタインデックスは2ビット長である。
【0102】
[0115]
図11に、一実装形態による、ブルームフィルタ1100の1つの例示的な例を示す。ブルームフィルタ1100は、空間効率的な確率的データ構造である。ブルームフィルタは、mビットのビットアレイとk個の異なるハッシュ関数とを含む。各ビットは0または1の値を有し得る。k個の異なるハッシュ関数の各々は、均一なランダム分布でm個のアレイ位置のうちの1つに入力ストリングをマッピングする。例示的な実装形態では、mビットは、すべて0に初期化される。識別子が受信されるときはいつでも、識別子がブルームフィルタ1100に追加される。識別子1100を前記追加することは、a)k個のハッシュ関数の各々に入力ストリングとして識別子を供給することと、ここにおいて、各ハッシュ関数が、1つのアレイ位置に入力ストリングをマッピングする、b)k個のハッシュ関数によって識別されるアレイ位置にあるビットを1に設定することとを含む。
【0103】
[0116]上記で説明したように、ブルームフィルタ1100は、k個の異なるハッシュ関数を含み、その各々が、ビットアレイ中のビット位置に入力ストリングをマッピングする。ハッシュ関数は、たとえば、入力ストリングの巡回冗長検査(CRC)であり得る。一実装形態では、k個の異なるハッシュ関数は、単一のハッシュ関数(たとえば、CRC32などのCRC)と(「変更ストリング」と呼ばれる)k個の異なるストリングとを使用して作成され得る。(「ブルーム入力ストリング」と呼ばれる)ブルームフィルタへの入力ストリングごとに、(「ハッシュ入力ストリング」と呼ばれる)k個の異なる入力ストリングが生成され、ここにおいて、各ハッシュ入力ストリングは、k個の変更ストリングのうちの異なる1つにブルーム入力ストリングを付加することによって作成される。その後、k個の異なるハッシュ入力ストリングの各々が単一のハッシュ関数に供給され、したがって、ビットアレイ中にビット位置を生成する。k個の異なるハッシュ入力ストリングがあるので、ビットアレイ中のk個のビット位置が識別される(それらの一部は同じピット位置であり得る)。したがって、ブルームフィルタ1100は、単一のハッシュ関数とk個の異なるストリングとを使用してk個の異なるハッシュ関数をシミュレートする。
【0104】
[0117]別の実装形態では、k個のハッシュ入力ストリングが異なる方法で作成され得る。一例では、各ハッシュ入力ストリングは、ブルーム入力ストリングに変更ストリングのうちの異なる1つを付加することによって作成され得る。別の例では、各ハッシュ入力ハッシュ入力ストリングは、ブルーム入力ストリングの中間に変更ストリングのうちの異なる1つを挿入することによって作成され得る。
【0105】
[0118]上記で説明したように、ブルームフィルタ1100は、mビットのビットアレイとk個の異なるハッシュ関数とを含む。一実装形態では、ハッシュ関数の数kが1の値を有し、ビットアレイのサイズmが、推定されるべきワイヤレスネットワークの最大サイズの約2倍となる値を有する。一実装形態では、ハッシュ関数の数kは4の値を有する。一実装形態では、ビットアレイのサイズmは、推定されるべきワイヤレスネットワークの最大サイズの約5倍となる値を有する。一実装形態では、ハッシュ関数の数kは4の値を有する。一実装形態では、ビットアレイのサイズmは、挿入されるべきエントリの数の約5倍となる値を有する。別の実装形態では、ブルームフィルタ1100のサイズ(パラメータmおよびkの値)は、以下の式1および2を使用して、(nによって示される)ブルームフィルタ1100中に記憶されるべき別個の識別子の所望の数と、フィルタ中に追加されていない識別子がブルームフィルタ1100中にあるものとして決定される(pによって示される)所望の偽(false)アラーム確率とに基づいて決定され得る。
【数1】
【0106】
[0119]一実装形態では、メッセージ中の識別子は、隣接ワイヤレスデバイスまたはサービスもしくはアプリケーションに関連付けられ得る。メッセージ中の識別子は、フレームを送るワイヤレスデバイスを識別するディスカバリフレームのMACアドレスであり得る。識別子はまた、フレーム中のサービス識別子であり得、ここにおいて、サービス識別子は、フレームのボディ中にあり得るか、またはフレーム中のアドレスフィールドのうちの1つを置き換え得る。別の例として、識別子は、特定のアプリケーションに基づく識別子であり、フレームのボディ中に位置し得る。
【0107】
[0120]
図11に示すブルームフィルタ1100は、すべて0に初期化されたmビットのビットアレイ(1110)とk個の異なるハッシュ関数(図示せず)とを含み、ここにおいて、m=18であり、k=3である。k個の異なるハッシュ関数の各々は、均一なランダム分布でm個のアレイ位置のうちの1つに入力ストリングをマッピングまたはハッシングする。3つの入力ストリング、すなわち、x、y、およびzがブルームフィルタ1100に追加されている。入力ストリングxについて、ブルームフィルタ1100は、
図11のxで開始する3つの矢印によって示されるように、(図示しないk個のハッシュ関数を使用して)ビットアレイ中の3つの異なるビット位置にそれをマッピングする。したがって、入力ストリング「x」に対応する3つのビット位置はすべて、1の値を有する。同様に、入力ストリングyおよびzは、ビットアレイ中の3つの異なるビット位置にこれらのストリングの各々をマッピングし、これらのビット位置を1の値に設定することによって、ブルームフィルタ1100に追加される。ブルームフィルタ1100の生じたビットアレイを
図11に示す。入力ストリングwがブルームフィルタ1100に追加されたかどうかを決定するために、ブルームフィルタ1100は、wで開始する3つの矢印によって示されるように、ビットアレイ中の3つのビット位置に入力ストリングwをマッピングする。入力ストリングwに対応するビット位置のうちの1つが0の値を有するので、入力ストリングwがブルームフィルタ中にないと決定される。ブルームフィルタが、x、y、およびzのみを記憶し、wを記憶していないので、この決定は正しい。
【0108】
[0121]一実施形態では、各ハッシュ関数H(j,X,m)は、以下の式3に示すように定義され得、ここで、jは変更ストリングであり、Xは入力ストリングであり、mは、ブルームフィルタの長さまたはサイズであり、「||」は連結演算であり、「&」は、ビットAND演算である。
【数2】
【表1】
【0109】
[0123]一実施形態では、ブルームフィルタインデックス1026(
図10A)は、上記の表1に示すように、ハッシュ関数のセットを示すことができる。したがって、一例では、ワイヤレスデバイス202(
図2)は、0b00のブルームフィルタインデックス1026を選択することができる。第1のハッシュ関数H(0x00,X,m)について、ワイヤレスデバイス202は、0x00に発見されたデバイス識別子を付加し、結果係数(result modulus)mの最後の2バイトをとり、ブルームフィルタに結果を挿入することができる。ワイヤレスデバイス202は、第2のハッシュ関数から第4のハッシュ関数H(0x01,X,m)、H(0x02,X,m)、およびH(0x03,X,m)にわたってプロシージャを繰り返すことができる。ワイヤレスデバイス202は、ブルームフィルタ1040を含むディスカバリフレーム中のブルームフィルタインデックス1026を符号化し、ディスカバリフレームを送信することができる。
【0110】
[0124]受信側で、ワイヤレスデバイス202は、ブルームフィルタインデックス1026とブルームフィルタ1040とを含むディスカバリフレームを受信することができる。一例では、ブルームフィルタインデックス1026は、0b11であり得る。第1のハッシュ関数H(0x0C,X,m)について、ワイヤレスデバイス202は、0x0Cにそれ自体のデバイス識別子を付加し、結果係数mの最後の2バイトをとり、結果のブルームフィルタ1040を検査することができる。ワイヤレスデバイス202は、第2のハッシュ関数から第4のハッシュ関数H(0x0D,X,m)、H(0x0E,X,m)、およびH(0x0F,X,m)にわたってプロシージャを繰り返すことができる。検査されたビットがブルームフィルタ1040中に設定されている場合、ワイヤレスデバイス202は、それがすでに発見されており、追加の告知を送信するのを控えることができると決定することができる。
【0111】
[0125]表1に、k=4であり、ブルームフィルタインデックス1026が2ビット長である例を示すが、他の構成が使用され得ることを当業者は諒解されよう。式3がCRC32関数を使用するが、他のハッシュ関数が使用され得る。式3は、jにXを付加しているが、jは、Xに付加されることも、Xの中間に挿入されることも、Xの間にインターリーブされこともあり得、またはその逆も同様である。式3は、連結結果の最後の2バイトのみを使用しているが、たとえば、1バイ、3バイ、4バイトなど、他の長さが使用され得る。
【0112】
[0126]
図12に、
図1のワイヤレス通信システム100内で採用され得るワイヤレス通信の例示的な方法のフローチャート1200を示す。この方法は、
図2に示すワイヤレスデバイス202など、本明細書に記載するデバイスによって全体的または部分的に実装され得る。本明細書では、図示された方法について、
図1に関して上記で説明したワイヤレス通信システム100、および
図2に関して上記で説明したワイヤレスデバイス202を参照しながら説明するが、図示された方法は、本明細書で説明する別のデバイス、または任意の他の好適なデバイスによって実装され得ることが当業者には諒解されよう。本明細書では、図示された方法について、特定の順序に関して説明するが、様々な実施形態では、本明細書のブロックは異なる順序で実行されるか、または省略され得、さらなるブロックが追加され得る。
【0113】
[0127]最初に、ブロック1210において、デバイス202は、隣接ワイヤレスデバイスからメッセージを受信する。メッセージは、隣接ワイヤレスデバイスに関連する識別子を含む。たとえば、STA106aは、STA106bからディスカバリ応答フレームを受信することができる。一実施形態では、受信メッセージはディスカバリ応答メッセージを含むことができる。一実施形態では、識別子は、メディアアクセス制御(MAC)アドレスを含むことができる。
【0114】
[0128]次に、ブロック1220において、デバイス202は、発見されたデバイス識別子を示すデータ構造に識別子を追加する。一実施形態では、データ構造は、少なくとも部分的な識別子のリストを含むことができる。たとえば、部分的な識別子は、識別子の最後の3バイトを含むことができる。他の実施形態では、識別子の他の部分が記憶され得る。
【0115】
[0129]一実施形態では、データ構造は、
図10Aに関して上記で説明したように、ブルームフィルタを含む。ブルームフィルタは、ビットアレイに関連するk個の異なるハッシュ関数とともにmビットのビットアレイを含むことができる。各ハッシュ関数は、均一なランダム分布でm個のアレイ位置のうちの1つに入力ストリングをマッピングすることができる。識別子を前記追加することは、k個のアレイ位置を得るためにk個のハッシュ関数の各々に識別子を供給することと、すべてのk個のアレイ位置にあるビットを1に設定することとを含むことができる。一実施形態では、k個のハッシュ関数のうちの少なくとも1つは、入力ストリングの巡回冗長検査である。一実施形態では、ブルームフィルタのパラメータkは、1の値を有し、ブルームフィルタのパラメータmは、ワイヤレスネットワークの最大サイズの約2倍となる値を有する。
【0116】
[0130]次いで、ブロック1230において、デバイス202は、発見されたデバイス識別子を示すデータ構造を含むメッセージを送信する。たとえば、STA106aは、STA106b〜106−dおよびAP104にディスカバリクエリフレームをブロードキャストすることができる。一実施形態では、送信メッセージは、
図10Aに関して上記で説明した発見アドレス情報コンテナ1000を含むことができる。たとえば、送信メッセージは、長さフィールドと、ディスカバリ制御フィールドと、発見アドレス情報フィールドとを含むことができる。ディスカバリ制御フィールドは、アドレスフラグと、ブルームフィルタフラグと、ブルームフィルタインデックスとを含むことができる。様々な実施形態では、長さフィールドは、1オクテットであり、ディスカバリ制御フィールドは、1オクテットであり、タイプフラグは、1ビットであり、インクルードフラグは、1ビットであり、ブルームフィルタインデックスは、2ビットであり、発見アドレス情報フィールドは、可変長である。ディスカバリ制御フィールドは、クエリインデックスをさらに含むことができる。
【0117】
[0131]一実施形態では、本方法は、ハッシュ関数の異なるセットを使用して、第2のブルームフィルタを生成することをさらに含むことができる。たとえば、1つまたは複数のSTAは、ブルームフィルタでの衝突によりディスカバリクエリメッセージに応答しないことがある。デバイス202は、ブルームフィルタインデックスを増分するか、あるいは変更することができ、これは、発見アドレス情報フィールド中でブルームフィルタを生成するために使用されるハッシュ関数のセットを示すことができる。一実施形態では、デバイス202は、クエリインデックスをさらに増分するか、あるいは変更することができる。
【0118】
[0132]本方法は、第2のブルームフィルタを含む第2のメッセージを送信することをさらに含むことができる。たとえば、STA106aは、STA106b〜106dおよびAP104に第2のメッセージをブロードキャストすることができる。第2のメッセージは、第1のメッセージと同じフォーマットを有することができる。たとえば、第2のメッセージは、
図10Aに関して上記で説明した発見アドレス情報コンテナ1000を含むことができる。
【0119】
[0133]一実施形態では、
図12に示した方法は、受信回路と、追加回路と、送信回路とを含むことができるワイヤレスデバイス中に実装され得る。ワイヤレスデバイスが、本明細書で説明する簡略化されたワイヤレスデバイスよりも多くの構成要素を有することができることを、当業者は諒解されよう。本明細書で説明するワイヤレスデバイスは、特許請求の範囲内の実装形態のいくつかの顕著な特徴を説明するのに有用な構成要素のみを含む。
【0120】
[0134]受信回路は、隣接ワイヤレスデバイスからメッセージを受信するように構成され得る。一実施形態では、受信回路は、フローチャート1200(
図12)のブロック1210を実装するように構成され得る。受信回路は、受信機212(
図2)およびアンテナ216(
図2)のうちの1つまたは複数を含むことができる。いくつかの実装形態では、受信するための手段は、受信回路を含むことができる。
【0121】
[0135]追加回路は、発見されたデバイス識別子を示すデータ構造に識別子を追加するように構成され得る。一実施形態では、追加回路は、フローチャート1200(
図12)のブロック1220を実装するように構成され得る。追加回路は、プロセッサ206(
図2)およびメモリ204(
図2)のうちの1つまたは複数を含むことができる。いくつかの実装形態では、追加するための手段は、追加回路を含むことができる。
【0122】
[0136]送信回路は、発見されたデバイス識別子を示すデータ構造を含むメッセージを送信するように構成され得る。一実施形態では、送信回路は、フローチャート1200(
図12)のブロック1230を実装するように構成され得る。送信回路は、送信機210(
図2)およびアンテナ216(
図2)のうちの1つまたは複数を含むことができる。いくつかの実装形態では、送信するための手段は送信回路を含むことができる。
【0123】
[0137]
図13に、
図1のワイヤレス通信システム100内で採用され得るワイヤレス通信の例示的な方法のフローチャート1300を示す。この方法は、
図2に示すワイヤレスデバイス202など、本明細書に記載するデバイスによって全体的または部分的に実装され得る。本明細書では、図示された方法について、
図1に関して上記で説明したワイヤレス通信システム100、および
図2に関して上記で説明したワイヤレスデバイス202を参照しながら説明するが、図示された方法は、本明細書で説明する別のデバイス、または任意の他の好適なデバイスによって実装され得ることが当業者には諒解されよう。本明細書では、図示された方法について、特定の順序に関して説明するが、様々な実施形態では、本明細書のブロックは異なる順序で実行されるか、または省略され得、さらなるブロックが追加され得る。
【0124】
[0138]最初に、ブロック1310において、デバイス202は、隣接ワイヤレスデバイスからメッセージを受信する。メッセージは、発見されたデバイス識別子を示すデータ構造を含む。たとえば、STA106aは、STA106bからディスカバリクエリフレームを受信することができる。一実施形態では、受信メッセージはディスカバリクエリメッセージを含むことができる。一実施形態では、識別子は、メディアアクセス制御(MAC)アドレスを含むことができる。
【0125】
[0139]一実施形態では、受信メッセージは、
図10Aに関して上記で説明した発見アドレス情報コンテナ1000を含むことができる。たとえば、受信メッセージは、長さフィールドと、ディスカバリ制御フィールドと、発見アドレス情報フィールドとを含むことができる。ディスカバリ制御フィールドは、アドレスフラグと、ブルームフィルタフラグと、ブルームフィルタインデックスとを含むことができる。様々な実施形態では、長さフィールドは、1オクテットであり、ディスカバリ制御フィールドは、1オクテットであり、タイプフラグは、1ビットであり、インクルードフラグは、1ビットであり、ブルームフィルタインデックスは、2ビットであり、発見アドレス情報フィールドは、可変長である。ディスカバリ制御フィールドは、クエリインデックスをさらに含むことができる。
【0126】
[0140]一実施形態では、データ構造は、少なくとも部分的な識別子のリストを含むことができる。たとえば、部分的な識別子は、識別子の最後の3バイトを含むことができる。他の実施形態では、識別子の他の部分が記憶され得る。
【0127】
[0141]一実施形態では、データ構造は、
図10Aに関して上記で説明したように、ブルームフィルタを含む。ブルームフィルタは、ビットアレイに関連するk個の異なるハッシュ関数とともにmビットのビットアレイを含むことができる。各ハッシュ関数は、均一なランダム分布でm個のアレイ位置のうちの1つに入力ストリングをマッピングすることができる。一実施形態では、k個のハッシュ関数のうちの少なくとも1つは、入力ストリングの巡回冗長検査である。一実施形態では、ブルームフィルタのパラメータkは、1の値を有し、ブルームフィルタのパラメータmは、ワイヤレスネットワークの最大サイズの約2倍となる値を有する。
【0128】
[0142]次に、ブロック1320において、デバイス202は、データ構造がデバイス202の識別子を示すかどうかを決定する。一実施形態では、データ構造がデバイス202の識別子を示すかどうかを決定することは、k個のアレイ位置を得るためにk個のハッシュ関数の各々に識別子をマッピングすることと、すべてのk個のアレイ位置にあるビットが1であるかどうかを決定することとを含むことができる。一実施形態では、データ構造がデバイス202の識別子を示すかどうかを決定することは、データ構造中の完全な識別子または部分的な識別子のリストと、デバイス202の完全な識別子または部分的な識別子を比較することを含むことができる。
【0129】
[0143]データ構造がデバイス202の識別子を示す場合、デバイス202は、隣接ワイヤレスデバイスがデバイス202を発見したと決定することができる(が、そのような決定は、ブルームフィルタまたは部分的な識別子リストでの衝突により誤判定(false positive)となり得る)。したがって、デバイス202は、クエリ応答を送信することを控えることができる。データ構造が、デバイス202の識別子を示さない場合、デバイス202は、隣接ワイヤレスデバイスがデバイス202を発見していないと決定することができ、ブロック1330に進むことができる。
【0130】
[0144]次いで、ブロック1330において、デバイス202は、データ構造が第1のワイヤレスデバイスの識別子を示さないときに、デバイス202の識別子を含むメッセージを送信する。たとえば、STA106aは、STA106b〜106−dおよびAP104にディスカバリ応答フレームをブロードキャストすることができる。
【0131】
[0145]一実施形態では、本方法は、第2のブルームフィルタを含む第2のメッセージを受信することをさらに含むことができる。第2のブルームフィルタは、ハッシュ関数の異なるセットを使用することができる。たとえば、デバイス202は、ブルームフィルタでの衝突によりディスカバリクエリメッセージに応答しないことがある。デバイス202は、ブルームフィルタインデックスが増分されたか、あるいは変更されたと決定することができる。本方法は、第2のブルームフィルタがデバイス202の識別子を示さないときに、第2のメッセージに応答することをさらに含むことができる。
【0132】
[0146]一実施形態では、第2のメッセージは、クエリインデックスをさらに含むことができる。デバイス202は、デバイス202が同じクエリインデックスをもつクエリに以前に応答したかどうかをさらに決定することができる。本方法は、第2のブルームフィルタがデバイス202の識別子を示さず、デバイス202が同じクエリインデックスをもつクエリに以前に応答しなかったときに、第2のメッセージに応答することをさらに含むことができる。
【0133】
[0147]一実施形態では、
図13に示した方法は、受信回路と、決定回路と、送信回路とを含むことができるワイヤレスデバイス中に実装され得る。ワイヤレスデバイスが、本明細書で説明する簡略化されたワイヤレスデバイスよりも多くの構成要素を有することができることを、当業者は諒解されよう。本明細書で説明するワイヤレスデバイスは、特許請求の範囲内の実装形態のいくつかの顕著な特徴を説明するのに有用な構成要素のみを含む。
【0134】
[0148]受信回路は、隣接ワイヤレスデバイスからメッセージを受信するように構成され得る。一実施形態では、受信回路は、フローチャート1300(
図13)のブロック1310を実装するように構成され得る。受信回路は、受信機212(
図2)およびアンテナ216(
図2)のうちの1つまたは複数を含むことができる。いくつかの実装形態では、受信するための手段は、受信回路を含むことができる。
【0135】
[0149]決定回路は、データ構造がデバイス202の識別子を示すかどうかを決定するように構成され得る。一実施形態では、決定回路は、フローチャート1300(
図13)のブロック1320を実装するように構成され得る。決定回路は、プロセッサ206(
図2)およびメモリ204(
図2)のうちの1つまたは複数を含むことができる。いくつかの実装形態では、決定するための手段は、決定回路を含むことができる。
【0136】
[0150]送信回路は、デバイス202の識別子を含むメッセージを送信するように構成され得る。一実施形態では、送信回路は、フローチャート1300(
図13)のブロック1330を実装するように構成され得る。送信回路は、送信機210(
図2)およびアンテナ216(
図2)のうちの1つまたは複数を含むことができる。いくつかの実装形態では、送信するための手段および/または応答するための手段は送信回路を含むことができる。
【0137】
[0151]本明細書で説明するように、様々なフィールド、デバイス、および方法について、
図5のビーコン500などのビーコンに関して説明する。本明細書で説明するフィールド、デバイス、および方法はまた、ネットワーク内のNANデバイスを同期させるためにタイミング情報を搬送するように構成され得る他の同期フレームに適用され得ることを、当業者は諒解されよう。たとえば、同期フレームは、ディスカバリウィンドウの開始時間を示すディスカバリウィンドウ情報要素とディスカバリ期間インジケータとを含むことができる。いくつかの実施形態では、ビーコンタイプを有する同期フレームは、ビーコンと呼ばれることがある。
【0138】
[0152]本明細書における「第1」、「第2」などの名称を使用した要素への言及は、それらの要素の数量または順序を概括的に限定するものでないことを理解されたい。むしろ、これらの名称は、本明細書において2つ以上の要素またはある要素の複数の例を区別する便利な方法として使用され得る。したがって、第1および第2の要素への言及は、そこで2つの要素のみが採用され得ること、または第1の要素が何らかの方法で第2の要素に先行しなければならないことを意味するものではない。また、別段に記載されていない限り、要素のセットは1つまたは複数の要素を含むことができる。
【0139】
[0153]情報および信号は多種多様な技術および技法のいずれかを使用して表され得ることを、当業者は理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
【0140】
[0154]さらに、本明細書で開示された態様に関して説明した様々な例示的な論理ブロック、モジュール、プロセッサ、手段、回路、およびアルゴリズムステップのいずれかは、電子ハードウェア(たとえば、ソースコーディングまたは何らかの他の技法を使用して設計され得る、デジタル実装形態、アナログ実装形態、またはそれら2つの組合せ)、(便宜上、本明細書では「ソフトウェア」または「ソフトウェアモジュール」と呼ぶことがある)命令を組み込んだ様々な形態のプログラムもしくは設計コード、または両方の組合せとして実装され得ることを当業者は諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課せられた設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
【0141】
[0155]本明細書で開示した態様に関して、および
図1〜
図11に関して説明した様々な例示的な論理ブロック、モジュール、および回路は、集積回路(IC)、アクセス端末、またはアクセスポイント内に実装され得るか、またはそれらによって実行され得る。ICは、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、電気構成要素、光学構成要素、機械構成要素、または本明細書で説明される機能を実行するように設計されたそれらの任意の組合せを含むことができ、ICの内部に、ICの外側に、またはその両方に存在するコードまたは命令を実行することができる。論理ブロック、モジュール、および回路は、ネットワーク内またはデバイス内の様々な構成要素と通信するためにアンテナおよび/またはトランシーバを含むことができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。モジュールの機能は、本明細書で教示した方法とは別の何らかの方法で実装され得る。(たとえば、添付の図の1つまたは複数に関して)本明細書で説明した機能は、いくつかの態様では、添付の特許請求の範囲において同様に指定された「手段」機能に対応することができる。
【0142】
[0156]ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体に記憶されるか、またはコンピュータ可読媒体を介して送信され得る。本明細書で開示した方法またはアルゴリズムのステップは、コンピュータ可読媒体上に常駐することができる、プロセッサ実行可能ソフトウェアモジュールで実装され得る。コンピュータ可読媒体は、ある場所から別の場所にコンピュータプログラムを転送することを可能にされ得る任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を含むことができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれ得る。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、一方ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、機械可読媒体およびコンピュータ可読媒体上のコードおよび命令の1つもしくは任意の組合せ、またはそのセットとして常駐することができる。
【0143】
[0157]任意の開示するプロセス中のステップの特定の順序または階層は、例示的な手法の一例であることを理解されたい。設計上の選好に基づいて、プロセス中のステップの特定の順序または階層は本開示の範囲内のまま再構成され得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されるものではない。
【0144】
[0158]本開示で説明した実装形態への様々な修正は当業者には容易に明らかであり得、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の実装形態に適用され得る。したがって、本開示は、本明細書で示した実装形態に限定されるものではなく、本明細書で開示する特許請求の範囲、原理および新規の特徴に一致する、最も広い範囲を与られるべきである。「例示的」という単語は、本明細書ではもっぱら「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明するいかなる実装形態も、必ずしも他の実装形態よりも好ましいまたは有利であると解釈されるべきではない。
【0145】
[0159]また、別個の実装形態に関して本明細書で説明されたいくつかの特徴は、単一の実装形態において組合せで実装され得る。また、逆に、単一の実装形態に関して説明された様々な特徴は、複数の実装形態において別個に、または任意の好適な部分組合せで実装され得る。その上、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除され得、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
【0146】
[0160]同様に、動作は特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような動作が、示される特定の順序でもしくは順番に実行されることを、またはすべての図示の動作が実行されることを必要とするものとして理解されるべきでない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実装形態における様々なシステム構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきでなく、説明するプログラム構成要素およびシステムは、概して、単一のソフトウェア製品において互いに一体化されるか、または複数のソフトウェア製品にパッケージングされ得ることを理解されたい。さらに、他の実装形態が以下の特許請求の範囲内に入る。場合によっては、特許請求の範囲に記載の行為は、異なる順序で実行され、依然として望ましい結果を達成することができる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ワイヤレス近傍アウェアネットワーク(NAN)においてディスカバリ情報を通信する方法であって、
隣接ワイヤレスデバイスからメッセージを受信することと、前記メッセージは、前記隣接ワイヤレスデバイスに関連する識別子を備え、
発見されたデバイス識別子を示すデータ構造に前記識別子を追加することと、
発見されたデバイス識別子を示す前記データ構造を備えるメッセージを送信することと、
を備える、方法。
[C2]
前記受信メッセージはディスカバリ応答メッセージを備える、C1に記載の方法。
[C3]
前記送信メッセージはディスカバリクエリメッセージを備える、C1に記載の方法。
[C4]
前記データ構造は少なくとも部分的な識別子のリストを備える、C1に記載の方法。
[C5]
前記部分的な識別子は、前記識別子のバイトのサブセットを備える、C4に記載の方法。
[C6]
前記データ構造はブルームフィルタを備える、C1に記載の方法。
[C7]
前記ブルームフィルタは、k個の異なるハッシュ関数をもつ、mビットのビットアレイであり、前記k個の異なるハッシュ関数は前記ビットアレイに関連し、ここで、各ハッシュ関数は、均一なランダム分布で前記m個のアレイ位置のうちの1つに入力ストリングをマッピングする、C6に記載の方法。
[C8]
前記メッセージは、前記ビットアレイに関連するハッシュ関数の特定のセットを示すブルームフィルタインデックスをさらに備える、C7に記載の方法。
[C9]
前記ブルームフィルタインデックスは後続の送信で更新される、C8に記載の方法。
[C10]
前記識別子を前記追加することは、
k個のアレイ位置を得るために、前記k個のハッシュ関数の各々に前記識別子を与えることと、
すべての前記k個のアレイ位置にある前記ビットを1に設定することと、
を備える、C7に記載の方法。
[C11]
前記k個のハッシュ関数H(j,X,m)のうちの少なくとも1つは、(CRC32(j||X)&0xFFFF)mod mと定義され、ここで、jは変更ストリングであり、Xは前記入力ストリングであり、CRC32は32ビット巡回冗長コードである、C7に記載の方法。
[C12]
前記ブルームフィルタの前記パラメータkは、4の値を有し、前記ブルームフィルタの前記パラメータmは、前記ブルームフィルタ中に示すべきデバイスの数の5倍より大きい値を有する、C7に記載の方法。
[C13]
ハッシュ関数の異なるセットを使用して第2のブルームフィルタを生成することと、
前記第2のブルームフィルタを備える第2のメッセージを送信することと、
をさらに備える、C7に記載の方法。
[C14]
前記送信メッセージは、長さフィールドと、ディスカバリ制御フィールドと、発見アドレス情報フィールドとを備える、C1に記載の方法。
[C15]
前記ディスカバリ制御フィールドは、ブルームフィルタの存在を示すタイプフラグと、所望の局応答を示すインクルードフラグと、関連するブルームフィルタに関連するハッシュ関数の特定のセットを識別するブルームフィルタインデックスとを備える、C14に記載の方法。
[C16]
前記長さフィールドは1オクテットであり、前記ディスカバリ制御フィールドは1オクテットであり、前記タイプフラグは1ビットであり、前記インクルードフラグは1ビットであり、前記ブルームフィルタインデックスは2ビットであり、前記発見アドレス情報フィールドは可変長である、C15に記載の方法。
[C17]
前記インクルードフラグは、設定されていないとき、前記ブルームフィルタ中に示されたデバイスが応答すべきでないことを示し、設定されているとき、前記ブルームフィルタ中に示されたデバイスのみが送信すべきであることを示す、C15に記載の方法。
[C18]
前記ディスカバリ制御フィールドは、クエリインデックスをさらに備える、C15に記載の方法。
[C19]
前記識別子は、メディアアクセス制御(MAC)アドレスを備える、C1に記載の方法。
[C20]
ワイヤレス近傍アウェアネットワーク(NAN)においてディスカバリ情報を通信するように構成されたワイヤレスデバイスであって、
隣接ワイヤレスデバイスからメッセージを受信するように構成された受信機と、前記メッセージは、前記隣接ワイヤレスデバイスに関連する識別子を備え、
発見されたデバイス識別子を示すデータ構造を記憶するように構成されたメモリと、
前記メモリに記憶された前記データ構造に前記識別子を追加するように構成されたプロセッサと、
発見されたデバイス識別子を示す前記データ構造を備えるメッセージを送信するように構成された送信機と、
を備える、ワイヤレスデバイス。
[C21]
前記受信メッセージはディスカバリ応答メッセージを備える、C20に記載のワイヤレスデバイス。
[C22]
前記送信メッセージはディスカバリクエリメッセージを備える、C20に記載のワイヤレスデバイス。
[C23]
前記データ構造は少なくとも部分的な識別子のリストを備える、C20に記載のワイヤレスデバイス。
[C24]
前記部分的な識別子は、前記識別子のバイトのサブセットを備える、C23に記載のワイヤレスデバイス。
[C25]
前記データ構造はブルームフィルタを備える、C20に記載のワイヤレスデバイス。
[C26]
前記ブルームフィルタは、k個の異なるハッシュ関数をもつ、mビットのビットアレイであり、前記k個の異なるハッシュ関数は前記ビットアレイに関連し、ここで、各ハッシュ関数は、均一なランダム分布で前記m個のアレイ位置のうちの1つに入力ストリングをマッピングする、C25に記載のワイヤレスデバイス。
[C27]
前記メッセージは、前記ビットアレイに関連するハッシュ関数の特定のセットを示すブルームフィルタインデックスをさらに備える、C26に記載のワイヤレスデバイス。
[C28]
前記ブルームフィルタインデックスは後続の送信で更新される、C27に記載のワイヤレスデバイス。
[C29]
前記識別子を前記追加することは、
k個のアレイ位置を得るために、前記k個のハッシュ関数の各々に前記識別子を与えることと、
すべての前記k個のアレイ位置にある前記ビットを1に設定することと、
を備える、C26に記載のワイヤレスデバイス。
[C30]
前記k個のハッシュ関数H(j,X,m)のうちの少なくとも1つは、(CRC32(j||X)&0xFFFF)mod mと定義され、ここで、jは変更ストリングであり、Xは前記入力ストリングであり、CRC32は32ビット巡回冗長コードである、C26に記載のワイヤレスデバイス。
[C31]
前記ブルームフィルタの前記パラメータkは、4の値を有し、前記ブルームフィルタの前記パラメータmは、前記ブルームフィルタ中に示すべきデバイスの数の5倍より大きい値を有する、C26に記載のワイヤレスデバイス。
[C32]
前記プロセッサは、ハッシュ関数の異なるセットを使用して第2のブルームフィルタを生成するようにさらに構成され、
前記送信機は、前記第2のブルームフィルタを備える第2のメッセージを送信するようにさらに構成された、C26に記載のワイヤレスデバイス。
[C33]
前記送信メッセージは、長さフィールドと、ディスカバリ制御フィールドと、発見アドレス情報フィールドとを備える、C20に記載のワイヤレスデバイス。
[C34]
前記ディスカバリ制御フィールドは、ブルームフィルタの存在を示すタイプフラグと、所望の局応答を示すインクルードフラグと、関連するブルームフィルタに関連するハッシュ関数の特定のセットを識別するブルームフィルタインデックスとを備える、C33に記載のワイヤレスデバイス。
[C35]
前記長さフィールドは1オクテットであり、前記ディスカバリ制御フィールドは1オクテットであり、前記タイプフラグは1ビットであり、前記インクルードフラグは1ビットであり、前記ブルームフィルタインデックスは2ビットであり、前記発見アドレス情報フィールドは可変長である、C34に記載のワイヤレスデバイス。
[C36]
前記インクルードフラグは、設定されていないとき、前記ブルームフィルタ中に示されたデバイスが応答すべきでないことを示し、設定されているとき、前記ブルームフィルタ中に示されたデバイスのみが送信すべきであることを示す、C34に記載のワイヤレスデバイス。
[C37]
前記ディスカバリ制御フィールドは、クエリインデックスをさらに備える、C34に記載のワイヤレスデバイス。
[C38]
前記識別子は、メディアアクセス制御(MAC)アドレスを備える、C20に記載のワイヤレスデバイス。
[C39]
ワイヤレス近傍アウェアネットワーク(NAN)においてディスカバリ情報を通信するための装置であって、
隣接ワイヤレスデバイスからメッセージを受信するための手段と、前記メッセージは、前記隣接ワイヤレスデバイスに関連する識別子を備え、
発見されたデバイス識別子を示すデータ構造に前記識別子を追加するための手段と、
発見されたデバイス識別子を示す前記データ構造を備えるメッセージを送信するための手段と、
を備える、装置。
[C40]
k個のアレイ位置を得るために、各々がmビットのブルームフィルタビットアレイに関連付けられる、k個の異なるハッシュ関数の各々に前記識別子を与えるための手段と、
すべての前記k個のアレイ位置にある前記ビットアレイの前記ビットを1に設定するための手段と、
をさらに備える、C39に記載の装置。
[C41]
ハッシュ関数の異なるセットを使用して第2のブルームフィルタを生成するための手段と、
前記第2のブルームフィルタを備える第2のメッセージを送信するための手段と、
をさらに備える、C40に記載の装置。
[C42]
実行されたとき、装置に、
隣接ワイヤレスデバイスからメッセージを受信することと、前記メッセージは、前記隣接ワイヤレスデバイスに関連する識別子を備え、
発見されたデバイス識別子を示すデータ構造に前記識別子を追加することと、
発見されたデバイス識別子を示す前記データ構造を備えるメッセージを送信することと、
を行わせるコードを備える、非一時的コンピュータ可読媒体。
[C43]
実行されたとき、前記装置に、
k個のアレイ位置を得るために、各々がmビットのブルームフィルタビットアレイに関連付けられる、k個の異なるハッシュ関数の各々に前記識別子を与えることと、
すべての前記k個のアレイ位置にある前記ビットアレイの前記ビットを1に設定することと
を行うことによって前記データ構造に前記識別子を追加させるコードをさらに備える、C42に記載の媒体。
[C44]
実行されたとき、前記装置に、
ハッシュ関数の異なるセットを使用して第2のブルームフィルタを生成することと、
前記第2のブルームフィルタを備える第2のメッセージを送信することと、
を行わせるコードをさらに備える、C43に記載の装置。