図面 (/)
課題・解決手段
概要
背景
[0002]多くの電気通信システムでは、通信ネットワークは、いくつかの対話している空間的に分離されたデバイスの間でメッセージを交換するために使用される。ネットワークは、たとえば、メトロポリタンエリア、ローカルエリア、またはパーソナルエリアであり得る地理的範囲に従って分類され得る。そのようなネットワークは、それぞれ、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、近傍アウェアネットワーク(NAN)、またはパーソナルエリアネットワーク(PAN)と呼ばれることになる。ネットワークはまた、様々なネットワークノードとデバイスとを相互接続するために使用されるスイッチング/ルーティング技法(たとえば回線交換対パケット交換)と、送信のために採用される物理的な媒体のタイプ(たとえばワイヤード対ワイヤレス)と、使用される通信プロトコルのセット(たとえば、インターネットプロトコルスイート、SONET(同期光ネットワーキング)、イーサネット(登録商標)など)とに応じて異なる。
[0003]ワイヤレスネットワークは、ネットワーク要素がモバイルであり、したがって動的接続性の必要があるとき、またはネットワークアーキテクチャが固定トポロジーではなくアドホックトポロジーで形成されている場合にしばしば選好される。ワイヤレスネットワークは、無線、マイクロ波、赤外線、光などの周波数帯域中の電磁波を使用して、非誘導伝搬モードで無形物理媒体を採用する。ワイヤレスネットワークは、有利には、固定ワイヤードネットワークと比較して、ユーザモビリティと迅速なフィールド展開とを可能にする。
[0004]ワイヤレスネットワークにおけるデバイスは、互いの間で情報を送信および/または受信することができる。様々な通信を行うために、ワイヤレスデバイスは、プロトコルに従って協調することができる。したがって、ワイヤレスデバイスは、それらのアクティビティを協調させるために、情報を交換することができる。ワイヤレスネットワーク内で通信を送信することと、送ることとを協調させるための改善されたシステム、方法、およびワイヤレスデバイスが望まれる。
概要
様々な実施形態による方法および装置は、ネイバーアウェアネットワークにおけるワイヤレスデバイスにおける利用のためのプライベートサービスIDを与える。本開示で説明する主題の一態様は、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信する方法を与える。本方法は、第1のサービス識別子を備える第1のメッセージを生成することを含み、ここにおいて、第1のサービス識別子が、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、第1のハッシュ値が、第1のハッシュ関数を適用することによって生成される。本方法は、第1のメッセージを送信することをさらに含む。
目的
[0042]いくつかの実施形態では、ワイヤレスデバイスは、他のワイヤレスデバイスが利用することができるサービスを提供する
効果
実績
- 技術文献被引用数
- 0件
- 牽制数
- 1件
この技術が所属する分野
(分野番号表示ON)※整理標準化データをもとに当社作成
請求項1
第1のサービス識別子を備える第1のメッセージを生成することと、ここにおいて、前記第1のサービス識別子が、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、前記第1のハッシュ値が、第1のハッシュ関数を適用することによって生成される、前記第1のメッセージを送信することとを備える、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信する方法。
請求項2
前記第1のハッシュ値は、さらに暗号化鍵に基づく、請求項1に記載の方法。
請求項3
前記タイミング情報は、第1のタイムスタンプ値の一部分を備える、請求項1に記載の方法。
請求項4
請求項5
前記第1のタイムスタンプ値は、前記第1の発見ウィンドウの開始時間を備える、請求項4に記載の方法。
請求項6
請求項7
第2のメッセージを生成することと、前記第2のメッセージが第2のサービス識別子を備え、ここにおいて、前記第2のサービス識別子が、前記サービス名と第2のタイムスタンプ値とに基づく第2のハッシュ値を含む、前記第2のメッセージを送信することとをさらに備える、請求項4に記載の方法。
請求項8
前記第2のタイムスタンプ値は、前記第1の発見ウィンドウに対して、16番目、8番目、4番目、2番目の発見ウィンドウごとに1回、または発見ウィンドウごとに周期的にサンプリングされる第2の発見ウィンドウの開始時間に基づくタイムスタンプ値を備える、請求項7に記載の方法。
請求項9
請求項10
前記第1のメッセージは、サービス発行告知メッセージ、サービスサブスクライブ要求メッセージ、または前記サービス発行告知メッセージと前記サービスサブスクライブ要求メッセージとの組合せのうちの1つを備える、請求項1に記載の方法。
請求項11
前記第1のハッシュ関数は、セキュアハッシュアルゴリズム(SHA)、巡回冗長検査(CRC)、または小型暗号化アルゴリズム(TEA)のうちの1つを備える、請求項1に記載の方法。
請求項12
第2のメッセージを生成することをさらに備え、前記第2のメッセージは、第2のサービス識別子を備え、ここにおいて、前記第2のサービス識別子が、前記第1のサービス識別子に少なくとも部分的に基づく第2のハッシュ値を含み、ここにおいて、前記第2のハッシュ値が、第2のハッシュ関数を適用することによって生成され、ここにおいて、前記第1のハッシュ関数を適用することが、前記第2のハッシュ関数を適用することよりも多くの計算を必要とする、請求項1に記載の方法。
請求項13
前記第1のハッシュ関数は、小型暗号化アルゴリズム(TEA)を備え、前記第1のハッシュ値は、さらに暗号化鍵に基づく、請求項1に記載の方法。
請求項14
請求項15
請求項16
第1のサービス識別子を備える第1のメッセージを生成するように構成されたプロセッサと、ここにおいて、前記第1のサービス識別子が、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、前記第1のハッシュ値が、第1のハッシュ関数を適用することによって生成される、前記第1のメッセージを送信するように構成された送信機とを備える、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信するための装置。
請求項17
前記第1のハッシュ値は、さらに暗号化鍵に基づく、請求項16に記載の装置。
請求項18
前記タイミング情報は、第1のタイムスタンプ値の一部分を備える、請求項16に記載の装置。
請求項19
前記第1のタイムスタンプ値は、第1の発見ウィンドウまたは現在時刻のタイムスタンプ値を備える、請求項17に記載の装置。
請求項20
前記タイミング情報は、時間間隔カウンタの値を備える、請求項16に記載の装置。
請求項21
前記第1のメッセージは、サービス発行告知メッセージ、サービスサブスクライブ要求メッセージ、または前記サービス発行告知メッセージと前記サービスサブスクライブ要求メッセージとの組合せのうちの1つを備える、請求項16に記載の装置。
請求項22
第1のサービス識別子を備える第1のメッセージを生成するための手段と、ここにおいて、前記第1のサービス識別子が、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、前記第1のハッシュ値が、第1のハッシュ関数を適用することによって生成される、前記第1のメッセージを送信するための手段とを備える、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信するための装置。
請求項23
前記第1のハッシュ値は、さらに暗号化鍵に基づく、請求項22に記載の装置。
請求項24
前記タイミング情報値は、第1の発見ウィンドウまたは現在時刻のタイムスタンプ値の一部分を備える、請求項23に記載の装置。
請求項25
前記タイミング情報は、時間間隔カウンタの値を備える、請求項22に記載の装置。
請求項26
前記第1のメッセージが、サービス発行告知メッセージ、サービスサブスクライブ要求メッセージ、または前記サービス発行告知メッセージと前記サービスサブスクライブ要求メッセージとの組合せのうちの1つを備える、請求項22に記載の装置。
請求項27
第2のメッセージを生成するための手段をさらに備え、前記第2のメッセージが第2のサービス識別子を備え、ここにおいて、前記第2のサービス識別子が、前記第1のサービス識別子に少なくとも部分的に基づく第2のハッシュ値を含み、ここにおいて、前記第2のハッシュ値が、第2のハッシュ関数を適用することによって生成され、ここにおいて、前記第1のハッシュ関数を適用することが、前記第2のハッシュ関数を適用することよりも多くの計算を必要とする、請求項22に記載の装置。
請求項28
実行されたとき、第1のサービス識別子を備える第1のメッセージを生成することと、ここにおいて、前記第1のサービス識別子が、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、前記第1のハッシュ値が、第1のハッシュ関数を適用することによって生成される、前記第1のメッセージを送信することとを装置に行わせるコードを備える非一時的コンピュータ可読媒体。
請求項29
前記第1のハッシュ関数は、小型暗号化アルゴリズム(TEA)を備え、前記第1のハッシュ値が暗号化鍵にさらに基づく、請求項28に記載の媒体。
請求項30
前記第1のハッシュ値は、さらに、第2の暗号化鍵、ナンス、クラスタ識別子(ID)、および送信機媒体アクセス制御(MAC)アドレスのうちの少なくとも1つに基づく、請求項29に記載の媒体。
技術分野
0001
[0001]本出願は、一般にワイヤレス通信に関し、より詳細には、近傍アウェアネットワーク(NAN:neighborhood aware network)におけるプライベートサービス識別子のためのシステム、方法、およびデバイスに関する。
背景技術
0002
[0002]多くの電気通信システムでは、通信ネットワークは、いくつかの対話している空間的に分離されたデバイスの間でメッセージを交換するために使用される。ネットワークは、たとえば、メトロポリタンエリア、ローカルエリア、またはパーソナルエリアであり得る地理的範囲に従って分類され得る。そのようなネットワークは、それぞれ、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、近傍アウェアネットワーク(NAN)、またはパーソナルエリアネットワーク(PAN)と呼ばれることになる。ネットワークはまた、様々なネットワークノードとデバイスとを相互接続するために使用されるスイッチング/ルーティング技法(たとえば回線交換対パケット交換)と、送信のために採用される物理的な媒体のタイプ(たとえばワイヤード対ワイヤレス)と、使用される通信プロトコルのセット(たとえば、インターネットプロトコルスイート、SONET(同期光ネットワーキング)、イーサネット(登録商標)など)とに応じて異なる。
0003
[0003]ワイヤレスネットワークは、ネットワーク要素がモバイルであり、したがって動的接続性の必要があるとき、またはネットワークアーキテクチャが固定トポロジーではなくアドホックトポロジーで形成されている場合にしばしば選好される。ワイヤレスネットワークは、無線、マイクロ波、赤外線、光などの周波数帯域中の電磁波を使用して、非誘導伝搬モードで無形物理媒体を採用する。ワイヤレスネットワークは、有利には、固定ワイヤードネットワークと比較して、ユーザモビリティと迅速なフィールド展開とを可能にする。
0004
[0004]ワイヤレスネットワークにおけるデバイスは、互いの間で情報を送信および/または受信することができる。様々な通信を行うために、ワイヤレスデバイスは、プロトコルに従って協調することができる。したがって、ワイヤレスデバイスは、それらのアクティビティを協調させるために、情報を交換することができる。ワイヤレスネットワーク内で通信を送信することと、送ることとを協調させるための改善されたシステム、方法、およびワイヤレスデバイスが望まれる。
0005
[0005]本明細書で説明するシステム、方法、デバイス、およびコンピュータプログラム製品は、それぞれいくつかの態様を有し、それらのうちの単一の態様が単独で本発明の望ましい属性を担当するとは限らない。以下の特許請求の範囲によって表される本発明の範囲を制限することなしに、いくつかの特徴を以下で手短に説明する。この説明を考察すれば、特に「発明を実施するための形態」と題されるセクションを読めば、本発明の有利な特徴が、媒体上にデバイスを導入するときの改善された効率をどのように含むかを理解されよう。
0006
[0006]本開示で説明する主題の一態様は、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信する方法を与える。本方法は、第1のサービス識別子を備える第1のメッセージを生成することを含み、ここにおいて、第1のサービス識別子が、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、第1のハッシュ値が、第1のハッシュ関数を適用することによって生成される。本方法は、第1のメッセージを送信することをさらに含む。
0007
[0007]本開示で説明する主題の別の態様は、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信するための装置を与える。本装置は、第1のサービス識別子を備える第1のメッセージを生成するように構成されたプロセッサを含み、ここにおいて、第1のサービス識別子が、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、第1のハッシュ値が、第1のハッシュ関数を適用することによって生成される。本装置は、第1のメッセージを送信するように構成された送信機をさらに含む。
0008
[0008]本開示で説明する主題の別の態様は、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信するための装置を与える。本装置は、第1のサービス識別子を備える第1のメッセージを生成するための手段を含み、ここにおいて、第1のサービス識別子が、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、第1のハッシュ値が、第1のハッシュ関数を適用することによって生成される。本装置は、第1のメッセージを送信するための手段をさらに含む。
0009
[0009]本開示で説明する主題の別の態様は、実行されたとき、第1のサービス識別子を備える第1のメッセージを生成することを装置に行わせるコードを備える非一時的コンピュータ可読媒体を与え、ここにおいて、第1のサービス識別子が、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、第1のハッシュ値が、第1のハッシュ関数を適用することによって生成される。本媒体は、実行されたとき、第1のメッセージを送信することを装置に行わせるコードをさらに含む。
図面の簡単な説明
0010
[0010]一実施形態による、本開示の態様が採用され得るワイヤレス通信システムの一例を示す図。
[0011]一実施形態による、図1のワイヤレス通信システム内で採用され得るワイヤレスデバイスの機能ブロック図。
[0012]一実施形態による、図1のワイヤレス通信システムにおいて採用され得るサービス識別子(ID)の生成のための概念図。
[0013]いくつかの実施形態による、図3のサービスIDがそれのために利用され得るデータ構造テーブルを示す図。
[0014]いくつかの実施形態による、図4Aのサービス制御フィールドがそれのために利用され得るデータ構造テーブルを示す図。
[0015]ワイヤレス近傍アウェアネットワーク(NAN)においてサービス情報を送信するための例示的な方法の一態様のフローチャート。
[0016]ワイヤレス近傍アウェアネットワーク(NAN)においてサービス情報を受信するための例示的な方法の一態様のフローチャート。
[0017]ワイヤレス近傍アウェアネットワーク(NAN)においてサービス情報を受信するための例示的な方法の一態様のフローチャート。
実施例
0011
[0018]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用する。本明細書で「例示的」と記載されたいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきであるとは限らない。添付の図面を参照しながら新規のシステム、装置、および方法の様々な態様が以下でより十分に説明される。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造または機能に限定されるものと解釈すべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるために与えるものである。本明細書の教示に基づいて、本開示の範囲が、本開示の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わされるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者は諒解されたい。たとえば、本明細書に記載する態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本発明の範囲は、本明細書に記載される本発明の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示するいかなる態様も請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
0012
[0019]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのいくつかが例として、図および好適な態様についての以下の説明において示される。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
0013
[0020]普及しているワイヤレスネットワーク技術は、様々なタイプのワイヤレスローカルエリアネットワーク(WLAN)を含むことができる。WLANは、広く使用されるネットワーキングプロトコルを採用して、近接ワイヤレスデバイスを互いに相互接続するために使用され得る。本明細書で説明する様々な態様は、ワイヤレスプロトコルなど、任意の通信規格に適用され得る。
0014
[0021]いくつかの実装形態では、WLANは、ワイヤレスネットワークにアクセスする構成要素である様々なワイヤレスデバイスを含む。たとえば、2つのタイプのワイヤレスデバイス、すなわちアクセスポイント(「AP」)および(局または「STA」とも呼ばれる)クライアントが存在することができる。概して、APはWLANのためのハブまたは基地局として働くことができ、STAはWLANのユーザとして働く。たとえば、STAは、ラップトップコンピュータ、携帯情報端末(PDA)、モバイルフォンなどであり得る。一例では、STAは、インターネットまたは他のワイドエリアネットワークへの一般的接続性を得るために、WiFi(登録商標)(たとえば、IEEE802.11プロトコル)準拠ワイヤレスリンクを介してAPに接続する。いくつかの実装形態では、STAはAPとしても使用され得る。
0015
[0022]アクセスポイント(「AP」)はまた、ノードB、無線ネットワークコントローラ(「RNC」)、eノードB、基地局コントローラ(「BSC」)、基地トランシーバ局(「BTS」)、基地局(「BS」)、トランシーバ機能(「TF」)、無線ルータ、無線トランシーバ、または何らかの他の用語を備えるか、それらのいずれかとして実装されるか、あるいはそれらのいずれかとして知られていることがある。
0016
[0023]局「STA」は、アクセス端末(「AT」)、加入者局、加入者ユニット、移動局、リモート局、リモート端末、ユーザ端末、ユーザエージェント、ユーザデバイス、ユーザ機器、または何らかの他の用語を備えるか、それらのいずれかとして実装されるか、あるいはそれらのいずれかとして知られていることがある。いくつかの実装形態では、アクセス端末は、セルラーフォン、コードレスフォン、セッション開始プロトコル(「SIP」)フォン、ワイヤレスローカルループ(「WLL」)局、携帯情報端末(「PDA」)、ワイヤレス接続能力を有するハンドヘルドデバイス、あるいはワイヤレスモデムに接続された何らかの他の好適な処理デバイスまたはワイヤレスデバイスを備えることができる。したがって、本明細書で教示する1つまたは複数の態様は、電話(たとえば、セルラーフォンまたはスマートフォン)、コンピュータ(たとえば、ラップトップ)、ポータブル通信デバイス、ヘッドセット、ポータブルコンピューティングデバイス(たとえば、個人情報端末)、エンターテインメントデバイス(たとえば、音楽またはビデオデバイス、または衛星ラジオ)、ゲームデバイスまたはシステム、全地球測位システムデバイス、あるいはワイヤレス媒体を介して通信するように構成された他の好適なデバイスに組み込まれ得る。
0017
[0024]STAのグループなど、ワイヤレスデバイスは、たとえば、近傍アウェアネットワーキング(NAN)またはソーシャルWiFiネットワーキングのために使用され得る。たとえば、ネットワーク内の様々な局は、STAの各々がサポートするアプリケーションに関して、ワイヤレスデバイス間(たとえば、ピアツーピア通信)ベースで互いに通信することができる。ソーシャルWiFiネットワークにおいて使用される発見プロトコルが、セキュアな通信および低電力消費を保証しながら、STAが、(たとえば、発見パケットを送ることによって)それら自体を広告すること、ならびに(たとえば、ページングまたはクエリパケットを送ることによって)他のSTAによって提供されるサービスを発見することを可能にすることが望ましい。発見パケットは、発見メッセージまたは発見フレームと呼ばれることもあることに留意されたい。また、ページングまたはクエリパケットは、ページングまたはクエリメッセージあるいはページングまたはクエリフレームと呼ばれることもあることに留意されたい。
0018
[0025]図1に、一実施形態による、本開示の態様が採用され得るワイヤレス通信システム100の一例を示す。ワイヤレス通信システム100は、802.11規格など、ワイヤレス規格に従って動作することができる。ワイヤレス通信システム100は、STA106と通信するAP104を含むことができる。いくつかの態様では、ワイヤレス通信システム100は、2つ以上のAPを含むことができる。さらに、STA106は、他のSTA106と通信することができる。一例として、第1のSTA106aは、第2のSTA106bと通信することができる。別の例として、この通信リンクは図1に示されていないが、第1のSTA106aは第3のSTA106cと通信することができる。
0019
[0026]様々なプロセスおよび方法が、AP104とSTA106との間の、および第1のSTA106aなど、個別のSTAと、第2のSTA106bなど、別の個別のSTAとの間のワイヤレス通信システム100における送信のために使用され得る。たとえば、信号は、OFDM/OFDMA技法に従って送信および受信され得る。そうである場合、ワイヤレス通信システム100は、OFDM/OFDMAシステムと呼ばれることがある。代替的に、信号は、CDMA技法に従って、AP104とSTA106との間で、および第1のSTA106aなど、個別のSTAと、第2のSTA106bなど、別の個別のSTAとの間で送信および受信され得る。そうである場合、ワイヤレス通信システム100は、CDMAシステムと呼ばれることがある。
0020
[0027]AP104からSTA106のうちの1つまたは複数への送信を可能にする通信リンクはダウンリンク(DL)108と呼ばれることがあり、STA106のうちの1つまたは複数からAP104への送信を可能にする通信リンクはアップリンク(UL)110と呼ばれることがある。代替的に、ダウンリンク108は順方向リンクまたは順方向チャネルと呼ばれることがあり、アップリンク110は逆方向リンクまたは逆方向チャネルと呼ばれることがある。
0021
[0028]通信リンクは、NANにおけるソーシャルWiFiネットワーキング中になど、STA間で確立され得る。STA間のいくつかの可能な通信リンクを図1に示す。一例として、通信リンク112は、第1のSTA106aから第2のSTA106bへの送信を可能にすることができる。別の通信リンク114は、第2のSTA106bから第1のSTA106aへの送信を可能にすることができる。
0022
[0029]AP104は、基地局として働き、基本サービスエリア(BSA)102においてワイヤレス通信カバレージを与えることができる。AP104は、AP104に関連付けられ、通信のためにAP104を使用するSTA106とともに、基本サービスセット(BS)と呼ばれることがある。ワイヤレス通信システム100は、中央AP104を有しないことがあり、むしろ、STA106間のピアツーピアネットワークとして機能することができることに留意されたい。したがって、本明細書で説明するAP104の機能は、代替的にSTA106のうちの1つまたは複数によって実行され得る。
0023
[0030]図2に、一実施形態による、ワイヤレス通信システム100内で採用され得るワイヤレスデバイス202において利用され得る様々な構成要素を示す。ワイヤレスデバイス202は、本明細書で説明する様々な方法を実装するように構成され得るワイヤレスデバイスの一例である。たとえば、ワイヤレスデバイス202は、AP104を備えるか、またはSTA106のうちの1つを備えることができる。
0024
[0031]ワイヤレスデバイス202は、ワイヤレスデバイス202の動作を制御するプロセッサ204を含むことができる。プロセッサ204は中央処理ユニット(CPU)と呼ばれることもある。読取り専用メモリ(ROM)とランダムアクセスメモリ(RAM)の両方を含むことができるメモリ206は、プロセッサ204に命令とデータとを与えることができる。メモリ206の一部分は、不揮発性ランダムアクセスメモリ(NVRAM)をも含むことができる。プロセッサ204は、一般に、メモリ206内に記憶されたプログラム命令に基づいて論理演算と算術演算とを実行する。メモリ206中の命令は、本明細書で説明する方法を実装するように実行可能であり得る。
0025
[0032]プロセッサ204は、1つまたは複数のプロセッサを用いて実装された処理システムを備えるか、またはその処理システムの構成要素であり得る。1つまたは複数のプロセッサは、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、専用ハードウェア有限状態機械、あるいは情報の計算または他の操作を実行することができる任意の他の好適なエンティティの任意の組合せを用いて実装され得る。
0026
[0033]処理システムは、ソフトウェアを記憶するための機械可読媒体をも含むことができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、任意のタイプの命令を意味すると広く解釈されたい。命令は、(たとえば、ソースコード形式、バイナリコード形式、実行可能コード形式、またはコードの任意の他の好適な形式の)コードを含むことができる。命令は、1つまたは複数のプロセッサによって実行されたとき、本明細書で説明する様々な機能を処理システムに実行させる。
0027
[0034]ワイヤレスデバイス202はまた、ワイヤレスデバイス202と遠隔ロケーションとの間のデータの送信および受信を可能にするために送信機210および/または受信機212を含むことができる、ハウジング208を含むことができる。送信機210と受信機212とは、組み合わされてトランシーバ214になり得る。アンテナ216は、ハウジング208に取り付けられ、トランシーバ214に電気的に結合され得る。ワイヤレスデバイス202は、複数の送信機、複数の受信機、複数のトランシーバ、および/または複数のアンテナ(図示せず)をも含むことができる。
0028
[0035]送信機210は、様々なパケットタイプまたは機能を有するパケットをワイヤレス送信するように構成され得る。たとえば、送信機210は、プロセッサ204によって生成された様々なタイプのパケットを送信するように構成され得る。ワイヤレスデバイス202がAP104またはSTA106として実装または使用されるとき、プロセッサ204は、複数の様々なパケットタイプのパケットを処理するように構成され得る。たとえば、プロセッサ204は、パケットのタイプを決定し、それに応じて、パケットおよび/またはパケットのフィールドを処理するように構成され得る。ワイヤレスデバイス202がAP104として実装または使用されるとき、プロセッサ204はまた複数のパケットタイプのうちの1つを選択し、生成するように構成され得る。たとえば、プロセッサ204は、発見メッセージを備える発見パケットを生成し、どのタイプのパケット情報を特定のインスタンスにおいて使用すべきかを決定するように構成され得る。
0029
[0036]受信機212は、異なるパケットタイプを有するパケットをワイヤレス受信するように構成され得る。いくつかの態様では、受信機212は、使用されるパケットのタイプを検出し、それに応じてパケットを処理するように構成され得る。
0030
[0037]ワイヤレスデバイス202は、トランシーバ214によって受信された信号のレベルを検出および定量化するために使用され得る信号検出器218をも含むことができる。信号検出器218は、総エネルギー、シンボルごとのサブキャリア当たりのエネルギー、電力スペクトル密度、および他の信号などの信号を検出することができる。ワイヤレスデバイス202は、信号を処理する際に使用するデジタル信号プロセッサ(DSP)220をも含むことができる。DSP220は、送信のためのパケットを生成するように構成され得る。いくつかの態様では、パケットは物理レイヤデータユニット(PPDU)を備えることができる。
0031
[0038]ワイヤレスデバイス202は、いくつかの態様では、ユーザインターフェース222をさらに備えることができる。ユーザインターフェース222は、キーパッド、マイクロフォン、スピーカー、および/またはディスプレイを備えることができる。ユーザインターフェース222は、ワイヤレスデバイス202のユーザに情報を搬送し、および/またはユーザからの入力を受信する要素または構成要素を含むことができる。
0032
[0039]ワイヤレスデバイス202の様々な構成要素は、バスシステム226によって互いに結合され得る。たとえば、バスシステム226は、データバス、ならびに、データバスに加えて、電力バス、制御信号バス、およびステータス信号バスを含むことができる。ワイヤレスデバイス202の構成要素は、何らかの他の機構を使用して、互いに結合されるか、または互いに入力を受け付け、与えることができる。
0033
[0040]いくつかの別個の構成要素が図2に示されているが、構成要素のうちの1つまたは複数は、組み合わされるか、または共通に実装され得る。たとえば、プロセッサ204は、プロセッサ204に関して上記で説明した機能を実装するためだけでなく、信号検出器218および/またはDSP220に関して上記で説明した機能を実装するためにも使用され得る。さらに、図2に示された構成要素の各々は、複数の別個の要素を使用して実装され得る。
0034
[0041]様々な実施形態によるシステムおよび方法は、NANネットワークにおける(限定はしないが、STAおよびAPなどの)ワイヤレスデバイスにおける利用のためのプライベートサービス識別子(ID)を与える。サービスIDは、入力ストリング(たとえば、サービス名)のハッシュを含んでいることがあり、サービス発見フレーム(SDF)中で搬送され得る。NANでは、サービスプロバイダは、それが発行関数を使用してサービスを提供しているということを発行し得る。たとえば、発行関数は、publish(service_name,matching_filter_tx,matching_filter_rx,service_specific_info,configuration_parameters)と記述され得る。同様に、サービスを探索しているデバイスは、サブスクライブ関数を使用してサービスにサブスクライブすることを試み得る。たとえば、サブスクライブ関数は、subscribe(service_name,matching_filter_rx,matching_filter_tx,service_specific_info,configuration_parameters)と記述され得る。プライベートサービスIDは、サービスIDが暗号化されるような追加のプライバシー構成パラメータを用いたサービスIDを備え得る。いくつかの実施形態では、プライベートサービスIDは、サービス名と追加のプライバシー構成パラメータとに基づくハッシュ値として生成され得る。追加のプライバシー構成パラメータは、サブスクライブ関数、発行関数のいずれか、またはその両方に加えられ得、プライベートサービスID設定と、サービス名を暗号化するためのサービスID暗号化鍵とを示すための(図4Bに関してさらに説明するように)プライバシービットを備え得る。いくつかの実施形態では、追加のプライバシー構成パラメータは、プライベートサービスID設定を示すために、ソフトウェアアプリケーション中に含まれ得る。いくつかの態様では、ソフトウェアアプリケーションにおけるプライベートサービスID設定の指示は、プライベートサービスID設定のプライバシービット指示とは別個であり、独立している。ハッシュ値は、サービス名、サービスID暗号化鍵および/またはタイミング情報に基づき得る。プライバシー構成パラメータを用いずにハッシュ値としてサービスIDを利用するシステムと比較して、サービスID暗号化鍵および/またはタイミング情報に基づくハッシュ値としてプライベートサービスIDを利用するシステムは、プライベートサービスIDの暗号化を可能にし、NANネットワークにおけるサービスのさらなるプライバシーを可能にする。
0035
[0042]いくつかの実施形態では、ワイヤレスデバイスは、他のワイヤレスデバイスが利用することができるサービスを提供することができる。これらのサービスは、別のワイヤレスデバイス上で生成された情報、または限定はしないが、ゲームまたはソーシャルネットワーキングサービスなど、別のワイヤレスデバイスのために生成された情報を使用しながら1つのワイヤレスデバイス上で実行するように構成されたソフトウェアアプリケーションによって提供され得る。これらのサービスは、ワイヤレスデバイスの間のパケット化された通信内のサービスIDを使用してワイヤレスデバイスの間で識別され得る。サービスIDのサイズは、限定はしないが、6バイトなど、可変であり得る。
0036
[0043]上記で説明したように、サービスID暗号化鍵および/またはタイミング情報は、サービスIDのプライバシーを高めるためにハッシュ値を生成する際に利用され得る。プライバシー構成パラメータを用いずにサービス名のハッシュ値として生成されたサービスIDは、サードパーティが、どのサービスがエリアにおいて使用されているのか、およびサービスの使用の頻度または長さを決定することを可能にし得る。サービス使用のサードパーティ監視は、サービスプロバイダまたはサービスユーザが、それらのサービス使用を監視されることを希望しないことがあるので、望ましくないことがある。いくつかの実施形態では、サービスの望ましくないサードパーティ監視の可能性は、サービスID暗号化鍵および/またはタイミング情報に基づく、サービス名のハッシュ値としてプライベートサービスIDを生成することによって減少し得る。
0037
[0044]いくつかの実施形態では、プライバシービット構成パラメータは、サービス名、タイミング情報、および/またはサービスID暗号化鍵に基づくハッシュ値としてサービスIDを生成するように発見エンジンに指示を出し得る。他の実施形態では、ソフトウェアアプリケーションが、サービス名、タイミング情報、および/またはサービスID暗号化鍵に基づくハッシュ値としてサービスIDを生成するように発見エンジンに指示を出し得る。また、NAN内のクラスタIDまたは現在時刻(現在のUTC値)など、他の値がハッシュ計算中に含まれ得る。いくつかの実施形態では、SDFのサービス発見属性中で搬送され得るサービスIDは、サービスID=(HASH(service_name,サービスID暗号化鍵,タイミング情報)の6バイトへの切り捨てのように設定され得る。いくつかの実施形態では、タイミング情報は、いくつかの最下位ビット(たとえば、最後の8、16、17ビット)が削除された現在の発見ウィンドウ(DW:discovery window)のタイムスタンプの一部分であり得る。いくつかの実施形態では、タイミング情報は、DWの開始時間を示すタイムスタンプ値であり得る。いくつかの実施形態では、タイミング情報は、DWに基づいて周期的にサンプリングされるタイムスタンプ値であり得る。たとえば、いくつかの態様では、タイムスタンプ値は、DWの開始時間を備え、16番目、8番目、4番目、2番目のDWごとに、またはDWごとにサンプリングされる。他の態様では、他の可能なサンプル期間が考えられる。他の実施形態では、タイミング情報は、時間間隔の経過を測定する経過インデックスまたはカウンタであり得る。他の実施形態では、タイミング情報は、協定世界時(UTC)または他のタイミングシステムであり得る。サービスIDをタイミング情報に部分的に基づかせることによって、サービスIDは、タイミング情報が変更するにつれて(たとえば、500ミリ秒ごとに)値を変更し得、このことは、各タイミング間隔において新しいサービスIDを生成することによって、サードパーティが、サービス名を取得するために、生成された各プライベートサービスIDを解読しなければならなくなるので、プライバシーの別のレイヤを与え得る。
0038
[0045]いくつかの実施形態では、ハッシュ値は、ハッシュ関数の利用または適用によって生成され得る。ハッシュ関数は、可変長の入力ストリングを固定長のハッシュ値にマッピングするアルゴリズムである。いくつかの実施形態では、入力ストリングはサービス名を備え得る。本明細書で開示するいくつかの実施形態において、様々なタイプのハッシュ関数が利用され得る(たとえば、MD5、セキュアハッシュアルゴリズム(SHA)、巡回冗長検査(CRC)など)。いくつかの実施形態では、計算限界が、ハッシュ関数が使用され得る回数を制限し得る。たとえば、ハッシュ関数が大量の計算能力および/または時間を必要とする場合(たとえば、SHA−256)、発見ウィンドウごとにハッシュ関数を使用することは、実行不可能になり得る。これらの限界のうちのいくつかを克服するために、サービスIDを生成するために2つ以上のハッシュ関数またはステップを使用することが有益であり得る。
0039
[0046]いくつかの実施形態では、発見エンジンは、高計算(HC:high computation)ハッシュおよび/または低計算(LC:low computation)ハッシュの組合せを使用し得る。LCハッシュは、HCハッシュよりも低い計算能力および/または短い時間を必要とする。たとえば、発見エンジンまたはプロセッサは、サービスID−1=(SHA−256(service_name)の6バイトへの切り捨てのように、HCハッシュ(たとえば、SHA−256)を使用して、第1のサービスIDを計算し得る。発見エンジンまたはプロセッサは、次いで、サービスID−2=(LCHash(f(サービスID−1,サービスID暗号化鍵,タイミング情報)の6バイトへの切り捨てのように、第1のサービスIDに少なくとも部分的に基づいて、LCハッシュ(たとえば、CRC−64、SHA−3、小型暗号化アルゴリズム(TEA))を使用して、第2のサービスID(および/または各後続のサービスID)を計算し得る。いくつかの実施形態では、関数fは、サービスID名、暗号化鍵、および/またはタイミング情報の連結を備え得る。他の実施形態では、関数fは、タイミング情報(たとえば、タイムスタンプ)、サービスID、および/または暗号化鍵のビット単位排他的OR(XOR)、または他のビット単位演算を備え得る。
0040
[0047]発見エンジンまたはプロセッサがTEAハッシュを使用する実施形態では、ハッシュ関数は、tea_code(long*v,long*k)のようであり得、ここで、kは使用されるべき暗号化鍵であり、ここで、vは暗号化されるべき値である。TEAアルゴリズムでは、値kは128ビットを備え得る。いくつかの態様では、発見エンジンまたはプロセッサは、上記で説明したサービスID−1から値kを作成し得、このことは、128ビット要件を満たすためにパディングを必要とし得る。たとえば、サービスID−1は48ビットを備えるので、kは、すべて「0」のビット、すべて「1」のビット、または「1」と「0」との知られている組合せの80ビットでパディングされたサービスID−1を備え得る。別の例では、kは、k=サービスID−1|サービスID−1|切り捨て(サービスID−1,4)であるようなサービスID−1の連結を備え得る。いくつかの態様では、発見エンジンまたはプロセッサは、タイミング情報(たとえば、タイムスタンプまたはタイミング同期機能)に基づいて、またはタイミング情報と、第2の暗号化鍵、ナンス、クラスタ識別子(ID)、または送信機媒体アクセス制御(MAC)アドレスのうちの1つまたは複数とに基づいて値vを作成し得る。ナンスは、クラスタのアンカーマスタノードによって告知された番号を備え得る。発見エンジンまたはプロセッサは、上記で説明したkおよびvの計算値を使用してTEAアルゴリズムの結果を48ビットに切り捨てることによって、上記で説明したサービスID−2を作成し得る。切り捨てることは、TEAアルゴリズムが64ビットの結果を生成するので、望ましいことがある。TEAアルゴリズムを使用することは、いくつかの利益を有し得る。たとえば、TEAは、それが完全な拡散を達成する(たとえば、入力における1ビットの差は、暗号文における近似32ビットの差を生じる)ので、暗号解析に対して高耐性である。さらに、TEAは、低い計算オーバーヘッドを必要とする。
0041
[0048]下記は、上記で説明したTEAアルゴリズムのための例示的なコードである。
0042
0043
[0049]本明細書で説明するいくつかのハッシュ関数および暗号化アルゴリズムは、いくつかのデータブロックサイズ要件を有し得る。したがって、いくつかのハッシュ関数および暗号化アルゴリズムは、各関数についてデータブロックサイズ要件に適応するために、何らかのパディングを必要とし得る。パディングは、ブロックサイズ要件を満たすために、任意の知られている(たとえば、サービスプロバイダおよび加入者によって知られている)ビットのパターンを備え得る。たとえば、パターンは、すべて「0」のビット、すべて「1」のビット、または「1」と「0」との組合せを備え得る。
0044
[0050]一般に、同じ入力ストリングが同じハッシュ値にマッピングされるべきであるハッシュ関数は、参照透過(referentially transparent)である。それにより、その逆に、同じハッシュ値は、同じハッシュ値を生成するために利用される同じ入力ストリングを示し得る。いくつかの実施形態では、受信されたハッシュ値としての受信されたサービスIDが、受信されたサービスIDが関連付けられたサービス名とメッセージの予期されるタイプとを決定するために、参照ハッシュ値と比較され得る。上記で説明したように、このマッピングは、サードパーティが、ハッシュ値から入力ストリング(サービス名)を決定し、いくつかのサービスの監視することをもたらし得る。いくつかの実施形態では、デバイスが発行関数を介してサービスプロバイダからプライベートサービスIDを受信したとき、デバイスはそのサービスにサブスクライブすることを望み得る。いくつかの態様では、発見エンジンは、デバイスがサービスにサブスクライブし得るように、発行関数のために使用されるハッシング関数に基づいて、マッチングされるべき厳密なプライベートサービスIDを作成する。いくつかの態様では、発見エンジンは、デバイスがサービスにサブスクライブし得るように、発行関数のために使用されるサービス名に基づいて、マッチングされるべきプライベートサービスIDを作成する。
0045
[0051]いくつかの実施形態による、図1のワイヤレス通信システムにおいて採用され得るサービスIDの生成のための概念図を図3に示す。概念図は、サービス名304を含む入力ストリング306が、ハッシュ関数312を介してハッシュ値310に変換され得ることを示す。サービスID302は、サービスを識別するために、ワイヤレスデバイスの間のパケット化された通信において使用され得る。サービスIDは、(限定はしないが)図4Aおよび図4Bに示された実施形態など、サービスを識別するために、パケットのフィールドにおいて利用され得る。
0046
[0052]いくつかの実施形態による、図3のサービスID302がそれのために利用され得るテーブルの形態のデータ構造を図4Aに示す。テーブル400は、パケットの異なるフィールドが、属性に関してNANネットワークにおいてワイヤレスデバイスの間でどのように通信され得るかを示す。限定はしないが、サービス発見属性またはサービス識別子属性など、任意のタイプの属性が、様々な実施形態に従って利用され得る。パケットは、属性を識別する属性IDフィールド401を含むことができる。フィールドのサイズは1バイトであり得、このフィールドの値は、0x06(16進数)であり得る。パケットは、限定はしないが、サービス名、およびメッセージのタイプを識別する情報など、多様な入力ストリングのハッシュを含んでいるサービスIDフィールド402をも含むことができる。サービスIDフィールド402は、6バイトであり、可変値であり得る。パケットは、サービス制御ビットマップを定義する可変値をもつ1バイトのサービス制御フィールド403をも含むことができる。パケットは、マッチングサービス発見フィルタが属性に関連付けられた場合に存在する随意のフィールドである1バイトおよび可変値のマッチングフィルタ長さフィールド404をも含むことができる。可変サイズおよび可変値のマッチングフィルタフィールド405も含まれ得る。マッチングフィルタフィールド405は、マッチングサービス発見フィルタを識別する長さと値とのペアのシーケンスである随意のフィールドであり得る。1バイトおよび可変値のサービス応答フィルタ長さフィールド406も含まれ得る。サービス応答フィルタ長さフィールド406は、随意のフィールドであり、サービス応答フィルタが使用される場合に存在することができる。マッチングサービス応答フィルタを識別する長さと値とのペアのシーケンスである可変サイズおよび可変値のサービス応答フィルタフィールド407も利用され得る。サービス固有情報のための1バイトおよび可変値の随意のサービス情報長さフィールド408も利用され得る。サービス固有情報を含んでいる1バイトおよび可変値のサービス情報フィールド409も利用され得る。
0047
[0053]一実施形態による、図4Aのサービス制御フィールドがそれのために利用され得るテーブルの形態のデータ構造を図4Bに示す。テーブル450は、図4Aのサービス制御フィールドの異なるビットが、NANネットワークにおけるワイヤレスデバイスにの間でどのように通信され得るかを示す。サービス制御フィールドは、メッセージが発行タイプであるか否かを示すビット0を含み得る。サービス制御フィールドは、メッセージがサブスクライブタイプであるか否かを示すビット1をも含み得る。サービス制御フィールドは、メッセージがフォローアップタイプであるか否かを示すビット2をも含み得る。サービス制御フィールドは、マッチングフィルタフィールドがサービス記述子要素中に存在するか否かを示すビット3をも含み得る。サービス制御フィールドは、サービス応答フィルタがサービス記述子要素中に存在するか否かを示すビット4をも含み得る。サービス制御フィールドは、サービス情報フィールドがサービス記述子要素中に存在するか否かを示すビット5をも含み得る。サービス制御フィールドは、サービスIDがサービスID暗号化鍵および/またはタイミング情報に基づいて生成されたプライベートサービスIDであるかどうかを示すビット6、プライバシービットをも含み得る。サービス制御フィールドは、将来の使用のために予約され得るビット7および8をも含み得る。
0048
[0054]一実施形態による、暗号化鍵および/またはタイミング情報に基づいて計算される、サービス名のハッシュ値を備える図3のサービスIDをもつメッセージを生成および送信するための方法を図5に示す。いくつかの実施形態では、方法500は、限定はしないが、ワイヤレスデバイス202のプロセッサ204、DSP220、および送信機210など、ワイヤレスデバイス202によって実行され得る。図5中の方法500は特定の順序で示されているが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるか、または省略され得、さらなるブロックが追加され得る。当業者は、図示の実施形態のプロセスが、生成されたメッセージを処理および送信するように構成され得る任意のワイヤレスデバイスにおいて実装され得ることを諒解されよう。
0049
[0055]ブロック502において、ワイヤレスデバイスは、第1のサービス識別子を備える第1のメッセージを生成し、ここにおいて、第1のサービス識別子は、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、第1のハッシュ値は、第1のハッシュ関数を適用することによって生成される。ブロック504において、次いで、ワイヤレスデバイスから第1のメッセージを送信する。いくつかの実施形態では、タイミング情報は、タイムスタンプ値の一部分を備え得るか、または時間間隔カウンタの値を備える。
0050
[0056]いくつかの実施形態では、ワイヤレスデバイスは、図5の方法500を実行することができる。いくつかの実施形態では、ワイヤレスデバイスは、第1のサービス識別子を備える第1のメッセージを生成するための手段を含むことができ、ここにおいて、第1のサービス識別子は、サービス名とタイミング情報とに基づく第1のハッシュ値を含み、ここにおいて、第1のハッシュ値は、第1のハッシュ関数を適用することによって生成される。いくつかの実施形態では、第1のメッセージを生成するための手段は、ブロック502(図5)に関する機能のうちの1つまたは複数を実行するように構成され得る。様々な実施形態では、第1のメッセージを生成するための手段は、プロセッサ204またはDSP220(図2)によって実装され得る。いくつかの実施形態では、生成するための手段は、汎用コンピュータ上で実行されるステップのセットを備え得る。たとえば、コンピュータは、プライベートサービスIDを作成するようにとの要求を受信し得る。コンピュータは、次いで、サービスIDに暗号化鍵および/またはタイミング情報を適用し得る。コンピュータは、次いで、暗号化鍵および/またはタイミング情報に基づくプライベートサービスIDを表すサービス名のハッシュ値を生成するために、ハッシュ関数アルゴリズムを使用し得る。
0051
[0057]ワイヤレスデバイスは、第1のメッセージを送信するための手段をさらに含むことができる。いくつかの実施形態では、送信するための手段は、ブロック504(図5)に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。様々な実施形態では、送信するための手段は、送信機210(図2)によって実装され得る。
0052
[0058]図6は、ワイヤレス近傍アウェアネットワーク(NAN)においてサービス情報を送信するための例示的な方法600の一態様のフローチャート。いくつかの実施形態では、方法600は、限定はしないが、ワイヤレスデバイス202のプロセッサ204、DSP220、および送信機210など、ワイヤレスデバイス202によって実行され得る。図6中の方法600は特定の順序で示されているが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるか、または省略され得、さらなるブロックが追加され得る。当業者は、図示の実施形態のプロセスが、生成されたメッセージを処理および送信するように構成され得る任意のワイヤレスデバイスにおいて実装され得ることを諒解されよう。
0053
[0059]ブロック602において、ワイヤレスデバイスはパケットを受信する。いくつかの実施形態では、パケットはサービス発見フレームを備え得る。ブロック604において、デバイスは、パケットを復号し、パケット中のプライバシービットが設定されているかどうかを決定する。いいえの場合、ブロック606において、デバイスは、非プライベートサービスID(たとえば、暗号化されないサービスID)をもつメッセージを送信する。プライバシービットが設定されている場合、ブロック608において、ワイヤレスデバイスは、サービス名のハッシュとして第1のプライベートサービスIDを生成する。いくつかの実施形態では、ワイヤレスデバイスは、上記で説明したように、HCハッシュ(たとえば、SHA−256)を使用して、第1のサービスIDを計算し得る。いくつかの実施形態では、ワイヤレスデバイスは、第1のサービスIDをもつメッセージを送信し得る。ブロック610において、ワイヤレスデバイスは、次いで、第1のプライベートサービスIDに少なくとも部分的に基づいて、LCハッシュ(たとえば、CRC−64、SHA−3、小型暗号化アルゴリズム(TEA))を使用して、第2のサービスID(および/または各後続のサービスID)を計算する。たとえば、第2のプライベートサービスIDは、サービスID−2=(LCHash(f(サービスID−1,サービスID暗号化鍵,タイミング情報)の6バイトへの切り捨てのように計算され得る。ブロック612において、ワイヤレスデバイスは、第2のプライベートサービスIDをもつメッセージを送信する。いくつかの実施形態では、メッセージは、別のサービス発見フレームを備え得る。いくつかの態様では、ワイヤレスデバイスは、第1のサービスIDをもつメッセージを送信した後、第2のサービスIDをもつメッセージを送信し得る。
0054
[0060]一実施形態による、暗号化鍵および/またはタイミング情報に基づいて計算される、サービス名のハッシュ値を備える図3のサービスIDをもつメッセージを生成および受信するための方法700を図7に示す。いくつかの実施形態では、方法700は、限定はしないが、ワイヤレスデバイス202のプロセッサ204、DSP220、および受信機212など、ワイヤレスデバイス202によって実行され得る。図7中の方法700は特定の順序で示されているが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるか、または省略され得、さらなるブロックが追加され得る。当業者は、図示の実施形態のプロセスが、生成されたメッセージを処理および送信するように構成され得る任意のワイヤレスデバイスにおいて実装され得ることを諒解されよう。
0055
[0061]ブロック702において、ワイヤレスデバイスを介して、サービス識別子を含む第1のメッセージを受信し、サービス識別子はサービス名のハッシュ値を備え、ハッシュ値は暗号化鍵および/またはタイミング情報に基づいて計算される。ブロック704において、サービス識別子を備える第2のメッセージを生成し、第2のメッセージのサービス識別子は第1のメッセージのサービス名に基づく。いくつかの実施形態では、タイミング情報は、タイムスタンプ値の一部分を備え得るか、または時間間隔カウンタを備える。
0056
[0062]いくつかの実施形態では、図1のワイヤレス通信システムにおいて図7の方法700を実行するために採用され得るワイヤレスデバイス。ワイヤレスデバイスは、第1のメッセージを受信するための手段を含むことができ、ここにおいて、第1のメッセージはサービス識別子を備え、サービス識別子はサービス名のハッシュ値を備え、ハッシュ値は暗号化鍵および/またはタイミング情報に基づいて計算される。いくつかの実施形態では、メッセージを受信するための手段は、ブロック702(図7)に関する機能のうちの1つまたは複数を実行するように構成され得る。様々な実施形態では、メッセージを受信するための手段は、受信機212、プロセッサ204、またはDSP220(図2)によって実装され得る。
0057
[0063]ワイヤレスデバイスは、サービス識別子を備える第2のメッセージを生成するための手段をさらに含むことができ、第2のメッセージのサービス識別子は第1のメッセージのサービス名に基づく。いくつかの実施形態では、生成するための手段は、ブロック704(図7)に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。様々な実施形態では、生成するための手段は、プロセッサ204またはDSP220(図2)によって実装され得る。いくつかの実施形態では、生成するための手段は、汎用コンピュータ上で実行されるステップのセットを備え得る。たとえば、コンピュータは、プライベートサービスIDを備える第1のメッセージを受信し得る。コンピュータは、次いで、サービスIDに暗号化鍵および/またはタイミング情報を適用し得る。コンピュータは、次いで、第1のメッセージのプライベートサービスIDにマッチングするサービス名のハッシュ値を生成するために、ハッシュ関数アルゴリズムを使用し得る。
0058
[0064]図5〜図7中のいくつかのブロックがどのように実装され得るかを説明するために、いくつかの実施形態では、探索ワイヤレスデバイスが、サービスを探索するように構成され得る。探索ワイヤレスデバイスは、サービス識別子を含むサブスクライブメッセージ(またはサービスサブスクライブ要求メッセージ(subscribe service request message))を生成し、サービス識別子は、求められたサービスの名前のハッシュ値を備え、ハッシュ値は、暗号化鍵および/またはタイミング情報に基づいて計算される(ブロック502)。探索ワイヤレスデバイスはまた、生成されたメッセージを送信する(ブロック504)。
0059
[0065]サービス提供デバイスは、サービス名のハッシュ値として、サービスIDを含むサブスクライブメッセージ(またはサービスサブスクライブ要求メッセージ)を受信し、ハッシュ値は、暗号化鍵および/またはタイミング情報に基づいて計算される(ブロック702)。いくつかの実施形態では、サービス提供デバイスは、サービス識別子を備える発行メッセージ(またはサービス発行告知メッセージ(publish service announcement message))を生成し、第2のメッセージのサービス識別子はサブスクライブメッセージのサービス名に基づく(ブロック704)。いくつかの実施形態では、サービス提供デバイスはまた、サービスを発行することと、サービスにサブスクライブすることとの両方を行うために、発行メッセージとサブスクライブメッセージとの組合せを生成し得る。
0060
[0066]本明細書における「第1」、「第2」などの名称を使用した要素への言及は、それらの要素の数量または順序を概括的に限定するものでないことを理解されたい。むしろ、これらの名称は、本明細書では、2つまたはそれ以上の要素またはある要素の複数の事例を区別する便利な方法として使用され得る。したがって、第1の要素および第2の要素への言及は、そこで2つの要素のみが採用され得ること、または第1の要素が何らかの方法で第2の要素に先行することができることを意味するものではない。また、別段に記載されていない限り、要素のセットは1つまたは複数の要素を含むことができる。
0061
[0067]情報および信号は多種多様な技術および技法のいずれかを使用して表され得ることを、当業者は理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
0062
[0068]さらに、本明細書で開示した態様に関して説明した様々な例示的な論理ブロック、モジュール、プロセッサ、手段、回路、およびアルゴリズムステップのいずれも、電子ハードウェア(たとえば、ソースコーディングまたは何らかの他の技法を使用して設計され得る、デジタル実装形態、アナログ実装形態、またはそれら2つの組合せ)、命令を組み込んだ様々な形態のプログラムまたは設計コード(便宜上、本明細書では「ソフトウェア」または「ソフトウェアモジュール」と呼ぶことがある)、あるいは両方の組合せとして実装され得ることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
0063
[0069]本明細書で開示した態様に関して、および上記の図に関して説明した様々な例示的な論理ブロック、モジュール、および回路は、集積回路(IC)、アクセス端末、またはアクセスポイント内に実装されるか、またはそれによって実行され得る。ICは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、電気的構成要素、光学的構成要素、機械的構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを含むことができ、ICの内部に、ICの外部に、またはその両方に常駐するコードまたは命令を実行することができる。論理ブロック、モジュール、および回路は、ネットワーク内またはデバイス内の様々な構成要素と通信するためにアンテナおよび/またはトランシーバを含むことができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。モジュールの機能は、本明細書で教示した方法とは別の何らかの方法で実装され得る。(たとえば、添付図のうちの1つまたは複数に関して)本明細書で説明した機能は、いくつかの態様では、添付の特許請求の範囲において同様に指定された「ための手段」機能に対応することができる。
0064
[0070]ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。本明細書で開示した方法またはアルゴリズムのステップは、コンピュータ可読媒体上に常駐することができるプロセッサ実行可能ソフトウェアモジュールで実装され得る。コンピュータ可読媒体は、ある場所から別の場所にコンピュータプログラムを転送することを可能にされ得る任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を含むことができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれ得る。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu−ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、機械可読媒体およびコンピュータ可読媒体上のコードおよび命令の1つまたは任意の組合せ、あるいはそのセットとして常駐することができる。
0065
[0071]任意の開示するプロセス中のステップの特定の順序または階層は、例示的な手法の一例であることを理解されたい。設計上の選好に基づいて、プロセス中のステップの特定の順序または階層は本開示の範囲内のまま再構成され得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されるものではない。
0066
[0072]本開示で説明した実装形態への様々な修正は当業者には容易に明らかであり得、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の実装形態に適用され得る。したがって、本開示は、本明細書で示した実装形態に限定されるものではなく、本明細書で開示する特許請求の範囲、原理および新規の特徴に一致する、最も広い範囲を与られるべきである。「例示的」という単語は、本明細書ではもっぱら「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明するいかなる実装形態も、必ずしも他の実装形態よりも好ましいまたは有利であると解釈されるべきではない。
0067
[0073]また、別個の実装形態に関して本明細書で説明されたいくつかの特徴は、単一の実装形態において組合せで実装され得る。また、逆に、単一の実装形態に関して説明された様々な特徴は、複数の実装形態において別個に、あるいは任意の好適な部分組合せで実装され得る。その上、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除され得、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
0068
[0074]同様に、動作は特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような動作が、示される特定の順序でまたは順番に実行されることを、あるいはすべての図示の動作が実行されることを必要とするものとして理解されるべきでない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実装形態における様々なシステム構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきでなく、説明したプログラム構成要素およびシステムは、概して、単一のソフトウェア製品において互いに一体化されるか、または複数のソフトウェア製品にパッケージングされ得ることを理解されたい。さらに、他の実装形態が以下の特許請求の範囲内に入る。場合によっては、特許請求の範囲に記載の行為は、異なる順序で実行され、依然として望ましい結果を達成することができる。