(57)【特許請求の範囲】
【請求項１】
第１のサービス識別子を備える第１のメッセージを生成することと、ここにおいて、前記第１のサービス識別子が、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、前記第１のハッシュ値が、第１のハッシュ関数を適用することによって生成される、
前記第１のメッセージを送信することとを備え、
ここにおいて、前記タイミング情報は、第１のタイムスタンプ値の一部分を備え、ここにおいて、前記第１のタイムスタンプ値は、第１の発見ウィンドウのタイムスタンプ値を備え、ここにおいて、前記タイムスタンプ値は、前記第１の発見ウィンドウの開始時間に基づいて周期的にサンプリングされる、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信する方法。
【請求項２】
前記第１のハッシュ値は、さらに暗号化鍵に基づく、請求項１に記載の方法。
【請求項３】
第２のメッセージを生成することと、前記第２のメッセージが第２のサービス識別子を備え、ここにおいて、前記第２のサービス識別子が、前記サービス名と第２のタイムスタンプ値とに基づく第２のハッシュ値を含む、
前記第２のメッセージを送信することとをさらに備える、請求項１に記載の方法。
【請求項４】
前記第２のタイムスタンプ値は、前記第１の発見ウィンドウに対して、１６番目、８番目、４番目、２番目の発見ウィンドウごとに１回、または発見ウィンドウごとに周期的にサンプリングされる第２の発見ウィンドウの開始時間に基づくタイムスタンプ値を備える、請求項３に記載の方法。
【請求項５】
前記タイミング情報は、時間間隔カウンタの値を備える、請求項１に記載の方法。
【請求項６】
前記第１のメッセージは、サービス発行告知メッセージ、サービスサブスクライブ要求メッセージ、または前記サービス発行告知メッセージと前記サービスサブスクライブ要求メッセージとの組合せのうちの１つを備える、請求項１に記載の方法。
【請求項７】
前記第１のハッシュ関数は、セキュアハッシュアルゴリズム（ＳＨＡ）、巡回冗長検査（ＣＲＣ）、または小型暗号化アルゴリズム（ＴＥＡ）のうちの１つを備える、請求項１に記載の方法。
【請求項８】
第２のメッセージを生成することをさらに備え、前記第２のメッセージは、第２のサービス識別子を備え、ここにおいて、前記第２のサービス識別子が、前記第１のサービス識別子およびタイミング情報に少なくとも部分的に基づく第２のハッシュ値を含み、ここにおいて、前記第２のハッシュ値が、第２のハッシュ関数を適用することによって生成され、ここにおいて、前記第１のハッシュ関数を適用することが、前記第２のハッシュ関数を適用することよりも多くの計算を必要とする、請求項１に記載の方法。
【請求項９】
前記第１のハッシュ関数は、小型暗号化アルゴリズム（ＴＥＡ）を備え、前記第１のハッシュ値は、さらに暗号化鍵に基づく、請求項１に記載の方法。
【請求項１０】
前記第１のハッシュ値は、さらに、第２の暗号化鍵、ナンス、クラスタ識別子（ＩＤ）、および送信機媒体アクセス制御（ＭＡＣ）アドレスのうちの少なくとも１つに基づく、請求項９に記載の方法。
【請求項１１】
前記ナンスは、アンカーマスタノードによって告知された番号を備える、請求項１０に記載の方法。
【請求項１２】
第１のサービス識別子を備える第１のメッセージを生成するための手段と、ここにおいて、前記第１のサービス識別子が、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、前記第１のハッシュ値が、第１のハッシュ関数を適用することによって生成される、
前記第１のメッセージを送信するための手段とを備え、
前記タイミング情報は、第１のタイムスタンプ値の一部分を備え、前記第１のタイムスタンプ値は、第１の発見ウィンドウのタイムスタンプ値を備え、前記タイムスタンプ値は、前記第１の発見ウィンドウの開始時間に基づいて周期的にサンプリングされる、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信するための装置。
【請求項１３】
前記第１のメッセージが、サービス発行告知メッセージ、サービスサブスクライブ要求メッセージ、または前記サービス発行告知メッセージと前記サービスサブスクライブ要求メッセージとの組合せのうちの１つを備える、請求項１２に記載の装置。
【請求項１４】
第１のメッセージを生成するための前記手段は、プロセッサによって提供され、前記第１のメッセージを送信するための前記手段は、送信機によって提供される、請求項１２に記載の装置。
【請求項１５】
請求項１から１１のいずれか一項に記載の方法の全てのステップを実装するようにコンピュータ実行可能であるプログラム命令を備えるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、一般にワイヤレス通信に関し、より詳細には、近傍アウェアネットワーク（ＮＡＮ：neighborhood aware network）におけるプライベートサービス識別子のためのシステム、方法、およびデバイスに関する。
【背景技術】
【０００２】
[0002]多くの電気通信システムでは、通信ネットワークは、いくつかの対話している空間的に分離されたデバイスの間でメッセージを交換するために使用される。ネットワークは、たとえば、メトロポリタンエリア、ローカルエリア、またはパーソナルエリアであり得る地理的範囲に従って分類され得る。そのようなネットワークは、それぞれ、ワイドエリアネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）、近傍アウェアネットワーク（ＮＡＮ）、またはパーソナルエリアネットワーク（ＰＡＮ）と呼ばれることになる。ネットワークはまた、様々なネットワークノードとデバイスとを相互接続するために使用されるスイッチング／ルーティング技法（たとえば回線交換対パケット交換）と、送信のために採用される物理的な媒体のタイプ（たとえばワイヤード対ワイヤレス）と、使用される通信プロトコルのセット（たとえば、インターネットプロトコルスイート、ＳＯＮＥＴ（同期光ネットワーキング）、イーサネット（登録商標）など）とに応じて異なる。
【０００３】
[0003]ワイヤレスネットワークは、ネットワーク要素がモバイルであり、したがって動的接続性の必要があるとき、またはネットワークアーキテクチャが固定トポロジーではなくアドホックトポロジーで形成されている場合にしばしば選好される。ワイヤレスネットワークは、無線、マイクロ波、赤外線、光などの周波数帯域中の電磁波を使用して、非誘導伝搬モードで無形物理媒体を採用する。ワイヤレスネットワークは、有利には、固定ワイヤードネットワークと比較して、ユーザモビリティと迅速なフィールド展開とを可能にする。
【０００４】
[0004]ワイヤレスネットワークにおけるデバイスは、互いの間で情報を送信および／または受信することができる。様々な通信を行うために、ワイヤレスデバイスは、プロトコルに従って協調することができる。したがって、ワイヤレスデバイスは、それらのアクティビティを協調させるために、情報を交換することができる。ワイヤレスネットワーク内で通信を送信することと、送ることとを協調させるための改善されたシステム、方法、およびワイヤレスデバイスが望まれる。
【発明の概要】
【０００５】
[0005]本明細書で説明するシステム、方法、デバイス、およびコンピュータプログラム製品は、それぞれいくつかの態様を有し、それらのうちの単一の態様が単独で本発明の望ましい属性を担当するとは限らない。以下の特許請求の範囲によって表される本発明の範囲を制限することなしに、いくつかの特徴を以下で手短に説明する。この説明を考察すれば、特に「発明を実施するための形態」と題されるセクションを読めば、本発明の有利な特徴が、媒体上にデバイスを導入するときの改善された効率をどのように含むかを理解されよう。
【０００６】
[0006]本開示で説明する主題の一態様は、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信する方法を与える。本方法は、第１のサービス識別子を備える第１のメッセージを生成することを含み、ここにおいて、第１のサービス識別子が、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、第１のハッシュ値が、第１のハッシュ関数を適用することによって生成される。本方法は、第１のメッセージを送信することをさらに含む。
【０００７】
[0007]本開示で説明する主題の別の態様は、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信するための装置を与える。本装置は、第１のサービス識別子を備える第１のメッセージを生成するように構成されたプロセッサを含み、ここにおいて、第１のサービス識別子が、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、第１のハッシュ値が、第１のハッシュ関数を適用することによって生成される。本装置は、第１のメッセージを送信するように構成された送信機をさらに含む。
【０００８】
[0008]本開示で説明する主題の別の態様は、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信するための装置を与える。本装置は、第１のサービス識別子を備える第１のメッセージを生成するための手段を含み、ここにおいて、第１のサービス識別子が、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、第１のハッシュ値が、第１のハッシュ関数を適用することによって生成される。本装置は、第１のメッセージを送信するための手段をさらに含む。
【０００９】
[0009]本開示で説明する主題の別の態様は、実行されたとき、第１のサービス識別子を備える第１のメッセージを生成することを装置に行わせるコードを備える非一時的コンピュータ可読媒体を与え、ここにおいて、第１のサービス識別子が、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、第１のハッシュ値が、第１のハッシュ関数を適用することによって生成される。本媒体は、実行されたとき、第１のメッセージを送信することを装置に行わせるコードをさらに含む。
【図面の簡単な説明】
【００１０】
【図１】[0010]一実施形態による、本開示の態様が採用され得るワイヤレス通信システムの一例を示す図。
【図２】[0011]一実施形態による、図１のワイヤレス通信システム内で採用され得るワイヤレスデバイスの機能ブロック図。
【図３】[0012]一実施形態による、図１のワイヤレス通信システムにおいて採用され得るサービス識別子（ＩＤ）の生成のための概念図。
【図４Ａ】[0013]いくつかの実施形態による、図３のサービスＩＤがそれのために利用され得るデータ構造テーブルを示す図。
【図４Ｂ】[0014]いくつかの実施形態による、図４Ａのサービス制御フィールドがそれのために利用され得るデータ構造テーブルを示す図。
【図５】[0015]ワイヤレス近傍アウェアネットワーク（ＮＡＮ）においてサービス情報を送信するための例示的な方法の一態様のフローチャート。
【図６】[0016]ワイヤレス近傍アウェアネットワーク（ＮＡＮ）においてサービス情報を受信するための例示的な方法の一態様のフローチャート。
【図７】[0017]ワイヤレス近傍アウェアネットワーク（ＮＡＮ）においてサービス情報を受信するための例示的な方法の一態様のフローチャート。
【発明を実施するための形態】
【００１１】
[0018]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用する。本明細書で「例示的」と記載されたいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきであるとは限らない。添付の図面を参照しながら新規のシステム、装置、および方法の様々な態様が以下でより十分に説明される。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造または機能に限定されるものと解釈すべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるために与えるものである。本明細書の教示に基づいて、本開示の範囲が、本開示の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わされるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者は諒解されたい。たとえば、本明細書に記載する態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本発明の範囲は、本明細書に記載される本発明の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示するいかなる態様も請求項の１つまたは複数の要素によって実施され得ることを理解されたい。
【００１２】
[0019]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのいくつかが例として、図および好適な態様についての以下の説明において示される。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
【００１３】
[0020]普及しているワイヤレスネットワーク技術は、様々なタイプのワイヤレスローカルエリアネットワーク（ＷＬＡＮ）を含むことができる。ＷＬＡＮは、広く使用されるネットワーキングプロトコルを採用して、近接ワイヤレスデバイスを互いに相互接続するために使用され得る。本明細書で説明する様々な態様は、ワイヤレスプロトコルなど、任意の通信規格に適用され得る。
【００１４】
[0021]いくつかの実装形態では、ＷＬＡＮは、ワイヤレスネットワークにアクセスする構成要素である様々なワイヤレスデバイスを含む。たとえば、２つのタイプのワイヤレスデバイス、すなわちアクセスポイント（「ＡＰ」）および（局または「ＳＴＡ」とも呼ばれる）クライアントが存在することができる。概して、ＡＰはＷＬＡＮのためのハブまたは基地局として働くことができ、ＳＴＡはＷＬＡＮのユーザとして働く。たとえば、ＳＴＡは、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、モバイルフォンなどであり得る。一例では、ＳＴＡは、インターネットまたは他のワイドエリアネットワークへの一般的接続性を得るために、ＷｉＦｉ（登録商標）（たとえば、ＩＥＥＥ８０２．１１プロトコル）準拠ワイヤレスリンクを介してＡＰに接続する。いくつかの実装形態では、ＳＴＡはＡＰとしても使用され得る。
【００１５】
[0022]アクセスポイント（「ＡＰ」）はまた、ノードＢ、無線ネットワークコントローラ（「ＲＮＣ」）、ｅノードＢ、基地局コントローラ（「ＢＳＣ」）、基地トランシーバ局（「ＢＴＳ」）、基地局（「ＢＳ」）、トランシーバ機能（「ＴＦ」）、無線ルータ、無線トランシーバ、または何らかの他の用語を備えるか、それらのいずれかとして実装されるか、あるいはそれらのいずれかとして知られていることがある。
【００１６】
[0023]局「ＳＴＡ」は、アクセス端末（「ＡＴ」）、加入者局、加入者ユニット、移動局、リモート局、リモート端末、ユーザ端末、ユーザエージェント、ユーザデバイス、ユーザ機器、または何らかの他の用語を備えるか、それらのいずれかとして実装されるか、あるいはそれらのいずれかとして知られていることがある。いくつかの実装形態では、アクセス端末は、セルラーフォン、コードレスフォン、セッション開始プロトコル（「ＳＩＰ」）フォン、ワイヤレスローカルループ（「ＷＬＬ」）局、携帯情報端末（「ＰＤＡ」）、ワイヤレス接続能力を有するハンドヘルドデバイス、あるいはワイヤレスモデムに接続された何らかの他の好適な処理デバイスまたはワイヤレスデバイスを備えることができる。したがって、本明細書で教示する１つまたは複数の態様は、電話（たとえば、セルラーフォンまたはスマートフォン）、コンピュータ（たとえば、ラップトップ）、ポータブル通信デバイス、ヘッドセット、ポータブルコンピューティングデバイス（たとえば、個人情報端末）、エンターテインメントデバイス（たとえば、音楽またはビデオデバイス、または衛星ラジオ）、ゲームデバイスまたはシステム、全地球測位システムデバイス、あるいはワイヤレス媒体を介して通信するように構成された他の好適なデバイスに組み込まれ得る。
【００１７】
[0024]ＳＴＡのグループなど、ワイヤレスデバイスは、たとえば、近傍アウェアネットワーキング（ＮＡＮ）またはソーシャルＷｉＦｉネットワーキングのために使用され得る。たとえば、ネットワーク内の様々な局は、ＳＴＡの各々がサポートするアプリケーションに関して、ワイヤレスデバイス間（たとえば、ピアツーピア通信）ベースで互いに通信することができる。ソーシャルＷｉＦｉネットワークにおいて使用される発見プロトコルが、セキュアな通信および低電力消費を保証しながら、ＳＴＡが、（たとえば、発見パケットを送ることによって）それら自体を広告すること、ならびに（たとえば、ページングまたはクエリパケットを送ることによって）他のＳＴＡによって提供されるサービスを発見することを可能にすることが望ましい。発見パケットは、発見メッセージまたは発見フレームと呼ばれることもあることに留意されたい。また、ページングまたはクエリパケットは、ページングまたはクエリメッセージあるいはページングまたはクエリフレームと呼ばれることもあることに留意されたい。
【００１８】
[0025]図１に、一実施形態による、本開示の態様が採用され得るワイヤレス通信システム１００の一例を示す。ワイヤレス通信システム１００は、８０２．１１規格など、ワイヤレス規格に従って動作することができる。ワイヤレス通信システム１００は、ＳＴＡ１０６と通信するＡＰ１０４を含むことができる。いくつかの態様では、ワイヤレス通信システム１００は、２つ以上のＡＰを含むことができる。さらに、ＳＴＡ１０６は、他のＳＴＡ１０６と通信することができる。一例として、第１のＳＴＡ１０６ａは、第２のＳＴＡ１０６ｂと通信することができる。別の例として、この通信リンクは図１に示されていないが、第１のＳＴＡ１０６ａは第３のＳＴＡ１０６ｃと通信することができる。
【００１９】
[0026]様々なプロセスおよび方法が、ＡＰ１０４とＳＴＡ１０６との間の、および第１のＳＴＡ１０６ａなど、個別のＳＴＡと、第２のＳＴＡ１０６ｂなど、別の個別のＳＴＡとの間のワイヤレス通信システム１００における送信のために使用され得る。たとえば、信号は、ＯＦＤＭ／ＯＦＤＭＡ技法に従って送信および受信され得る。そうである場合、ワイヤレス通信システム１００は、ＯＦＤＭ／ＯＦＤＭＡシステムと呼ばれることがある。代替的に、信号は、ＣＤＭＡ技法に従って、ＡＰ１０４とＳＴＡ１０６との間で、および第１のＳＴＡ１０６ａなど、個別のＳＴＡと、第２のＳＴＡ１０６ｂなど、別の個別のＳＴＡとの間で送信および受信され得る。そうである場合、ワイヤレス通信システム１００は、ＣＤＭＡシステムと呼ばれることがある。
【００２０】
[0027]ＡＰ１０４からＳＴＡ１０６のうちの１つまたは複数への送信を可能にする通信リンクはダウンリンク（ＤＬ）１０８と呼ばれることがあり、ＳＴＡ１０６のうちの１つまたは複数からＡＰ１０４への送信を可能にする通信リンクはアップリンク（ＵＬ）１１０と呼ばれることがある。代替的に、ダウンリンク１０８は順方向リンクまたは順方向チャネルと呼ばれることがあり、アップリンク１１０は逆方向リンクまたは逆方向チャネルと呼ばれることがある。
【００２１】
[0028]通信リンクは、ＮＡＮにおけるソーシャルＷｉＦｉネットワーキング中になど、ＳＴＡ間で確立され得る。ＳＴＡ間のいくつかの可能な通信リンクを図１に示す。一例として、通信リンク１１２は、第１のＳＴＡ１０６ａから第２のＳＴＡ１０６ｂへの送信を可能にすることができる。別の通信リンク１１４は、第２のＳＴＡ１０６ｂから第１のＳＴＡ１０６ａへの送信を可能にすることができる。
【００２２】
[0029]ＡＰ１０４は、基地局として働き、基本サービスエリア（ＢＳＡ）１０２においてワイヤレス通信カバレージを与えることができる。ＡＰ１０４は、ＡＰ１０４に関連付けられ、通信のためにＡＰ１０４を使用するＳＴＡ１０６とともに、基本サービスセット（ＢＳ）と呼ばれることがある。ワイヤレス通信システム１００は、中央ＡＰ１０４を有しないことがあり、むしろ、ＳＴＡ１０６間のピアツーピアネットワークとして機能することができることに留意されたい。したがって、本明細書で説明するＡＰ１０４の機能は、代替的にＳＴＡ１０６のうちの１つまたは複数によって実行され得る。
【００２３】
[0030]図２に、一実施形態による、ワイヤレス通信システム１００内で採用され得るワイヤレスデバイス２０２において利用され得る様々な構成要素を示す。ワイヤレスデバイス２０２は、本明細書で説明する様々な方法を実装するように構成され得るワイヤレスデバイスの一例である。たとえば、ワイヤレスデバイス２０２は、ＡＰ１０４を備えるか、またはＳＴＡ１０６のうちの１つを備えることができる。
【００２４】
[0031]ワイヤレスデバイス２０２は、ワイヤレスデバイス２０２の動作を制御するプロセッサ２０４を含むことができる。プロセッサ２０４は中央処理ユニット（ＣＰＵ）と呼ばれることもある。読取り専用メモリ（ＲＯＭ）とランダムアクセスメモリ（ＲＡＭ）の両方を含むことができるメモリ２０６は、プロセッサ２０４に命令とデータとを与えることができる。メモリ２０６の一部分は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）をも含むことができる。プロセッサ２０４は、一般に、メモリ２０６内に記憶されたプログラム命令に基づいて論理演算と算術演算とを実行する。メモリ２０６中の命令は、本明細書で説明する方法を実装するように実行可能であり得る。
【００２５】
[0032]プロセッサ２０４は、１つまたは複数のプロセッサを用いて実装された処理システムを備えるか、またはその処理システムの構成要素であり得る。１つまたは複数のプロセッサは、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理デバイス（ＰＬＤ）、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、専用ハードウェア有限状態機械、あるいは情報の計算または他の操作を実行することができる任意の他の好適なエンティティの任意の組合せを用いて実装され得る。
【００２６】
[0033]処理システムは、ソフトウェアを記憶するための機械可読媒体をも含むことができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、任意のタイプの命令を意味すると広く解釈されたい。命令は、（たとえば、ソースコード形式、バイナリコード形式、実行可能コード形式、またはコードの任意の他の好適な形式の）コードを含むことができる。命令は、１つまたは複数のプロセッサによって実行されたとき、本明細書で説明する様々な機能を処理システムに実行させる。
【００２７】
[0034]ワイヤレスデバイス２０２はまた、ワイヤレスデバイス２０２と遠隔ロケーションとの間のデータの送信および受信を可能にするために送信機２１０および／または受信機２１２を含むことができる、ハウジング２０８を含むことができる。送信機２１０と受信機２１２とは、組み合わされてトランシーバ２１４になり得る。アンテナ２１６は、ハウジング２０８に取り付けられ、トランシーバ２１４に電気的に結合され得る。ワイヤレスデバイス２０２は、複数の送信機、複数の受信機、複数のトランシーバ、および／または複数のアンテナ（図示せず）をも含むことができる。
【００２８】
[0035]送信機２１０は、様々なパケットタイプまたは機能を有するパケットをワイヤレス送信するように構成され得る。たとえば、送信機２１０は、プロセッサ２０４によって生成された様々なタイプのパケットを送信するように構成され得る。ワイヤレスデバイス２０２がＡＰ１０４またはＳＴＡ１０６として実装または使用されるとき、プロセッサ２０４は、複数の様々なパケットタイプのパケットを処理するように構成され得る。たとえば、プロセッサ２０４は、パケットのタイプを決定し、それに応じて、パケットおよび／またはパケットのフィールドを処理するように構成され得る。ワイヤレスデバイス２０２がＡＰ１０４として実装または使用されるとき、プロセッサ２０４はまた複数のパケットタイプのうちの１つを選択し、生成するように構成され得る。たとえば、プロセッサ２０４は、発見メッセージを備える発見パケットを生成し、どのタイプのパケット情報を特定のインスタンスにおいて使用すべきかを決定するように構成され得る。
【００２９】
[0036]受信機２１２は、異なるパケットタイプを有するパケットをワイヤレス受信するように構成され得る。いくつかの態様では、受信機２１２は、使用されるパケットのタイプを検出し、それに応じてパケットを処理するように構成され得る。
【００３０】
[0037]ワイヤレスデバイス２０２は、トランシーバ２１４によって受信された信号のレベルを検出および定量化するために使用され得る信号検出器２１８をも含むことができる。信号検出器２１８は、総エネルギー、シンボルごとのサブキャリア当たりのエネルギー、電力スペクトル密度、および他の信号などの信号を検出することができる。ワイヤレスデバイス２０２は、信号を処理する際に使用するデジタル信号プロセッサ（ＤＳＰ）２２０をも含むことができる。ＤＳＰ２２０は、送信のためのパケットを生成するように構成され得る。いくつかの態様では、パケットは物理レイヤデータユニット（ＰＰＤＵ）を備えることができる。
【００３１】
[0038]ワイヤレスデバイス２０２は、いくつかの態様では、ユーザインターフェース２２２をさらに備えることができる。ユーザインターフェース２２２は、キーパッド、マイクロフォン、スピーカー、および／またはディスプレイを備えることができる。ユーザインターフェース２２２は、ワイヤレスデバイス２０２のユーザに情報を搬送し、および／またはユーザからの入力を受信する要素または構成要素を含むことができる。
【００３２】
[0039]ワイヤレスデバイス２０２の様々な構成要素は、バスシステム２２６によって互いに結合され得る。たとえば、バスシステム２２６は、データバス、ならびに、データバスに加えて、電力バス、制御信号バス、およびステータス信号バスを含むことができる。ワイヤレスデバイス２０２の構成要素は、何らかの他の機構を使用して、互いに結合されるか、または互いに入力を受け付け、与えることができる。
【００３３】
[0040]いくつかの別個の構成要素が図２に示されているが、構成要素のうちの１つまたは複数は、組み合わされるか、または共通に実装され得る。たとえば、プロセッサ２０４は、プロセッサ２０４に関して上記で説明した機能を実装するためだけでなく、信号検出器２１８および／またはＤＳＰ２２０に関して上記で説明した機能を実装するためにも使用され得る。さらに、図２に示された構成要素の各々は、複数の別個の要素を使用して実装され得る。
【００３４】
[0041]様々な実施形態によるシステムおよび方法は、ＮＡＮネットワークにおける（限定はしないが、ＳＴＡおよびＡＰなどの）ワイヤレスデバイスにおける利用のためのプライベートサービス識別子（ＩＤ）を与える。サービスＩＤは、入力ストリング（たとえば、サービス名）のハッシュを含んでいることがあり、サービス発見フレーム（ＳＤＦ）中で搬送され得る。ＮＡＮでは、サービスプロバイダは、それが発行関数を使用してサービスを提供しているということを発行し得る。たとえば、発行関数は、ｐｕｂｌｉｓｈ（ｓｅｒｖｉｃｅ＿ｎａｍｅ，ｍａｔｃｈｉｎｇ＿ｆｉｌｔｅｒ＿ｔｘ，ｍａｔｃｈｉｎｇ＿ｆｉｌｔｅｒ＿ｒｘ，ｓｅｒｖｉｃｅ＿ｓｐｅｃｉｆｉｃ＿ｉｎｆｏ，ｃｏｎｆｉｇｕｒａｔｉｏｎ＿ｐａｒａｍｅｔｅｒｓ）と記述され得る。同様に、サービスを探索しているデバイスは、サブスクライブ関数を使用してサービスにサブスクライブすることを試み得る。たとえば、サブスクライブ関数は、ｓｕｂｓｃｒｉｂｅ（ｓｅｒｖｉｃｅ＿ｎａｍｅ，ｍａｔｃｈｉｎｇ＿ｆｉｌｔｅｒ＿ｒｘ，ｍａｔｃｈｉｎｇ＿ｆｉｌｔｅｒ＿ｔｘ，ｓｅｒｖｉｃｅ＿ｓｐｅｃｉｆｉｃ＿ｉｎｆｏ，ｃｏｎｆｉｇｕｒａｔｉｏｎ＿ｐａｒａｍｅｔｅｒｓ）と記述され得る。プライベートサービスＩＤは、サービスＩＤが暗号化されるような追加のプライバシー構成パラメータを用いたサービスＩＤを備え得る。いくつかの実施形態では、プライベートサービスＩＤは、サービス名と追加のプライバシー構成パラメータとに基づくハッシュ値として生成され得る。追加のプライバシー構成パラメータは、サブスクライブ関数、発行関数のいずれか、またはその両方に加えられ得、プライベートサービスＩＤ設定と、サービス名を暗号化するためのサービスＩＤ暗号化鍵とを示すための（図４Ｂに関してさらに説明するように）プライバシービットを備え得る。いくつかの実施形態では、追加のプライバシー構成パラメータは、プライベートサービスＩＤ設定を示すために、ソフトウェアアプリケーション中に含まれ得る。いくつかの態様では、ソフトウェアアプリケーションにおけるプライベートサービスＩＤ設定の指示は、プライベートサービスＩＤ設定のプライバシービット指示とは別個であり、独立している。ハッシュ値は、サービス名、サービスＩＤ暗号化鍵および／またはタイミング情報に基づき得る。プライバシー構成パラメータを用いずにハッシュ値としてサービスＩＤを利用するシステムと比較して、サービスＩＤ暗号化鍵および／またはタイミング情報に基づくハッシュ値としてプライベートサービスＩＤを利用するシステムは、プライベートサービスＩＤの暗号化を可能にし、ＮＡＮネットワークにおけるサービスのさらなるプライバシーを可能にする。
【００３５】
[0042]いくつかの実施形態では、ワイヤレスデバイスは、他のワイヤレスデバイスが利用することができるサービスを提供することができる。これらのサービスは、別のワイヤレスデバイス上で生成された情報、または限定はしないが、ゲームまたはソーシャルネットワーキングサービスなど、別のワイヤレスデバイスのために生成された情報を使用しながら１つのワイヤレスデバイス上で実行するように構成されたソフトウェアアプリケーションによって提供され得る。これらのサービスは、ワイヤレスデバイスの間のパケット化された通信内のサービスＩＤを使用してワイヤレスデバイスの間で識別され得る。サービスＩＤのサイズは、限定はしないが、６バイトなど、可変であり得る。
【００３６】
[0043]上記で説明したように、サービスＩＤ暗号化鍵および／またはタイミング情報は、サービスＩＤのプライバシーを高めるためにハッシュ値を生成する際に利用され得る。プライバシー構成パラメータを用いずにサービス名のハッシュ値として生成されたサービスＩＤは、サードパーティが、どのサービスがエリアにおいて使用されているのか、およびサービスの使用の頻度または長さを決定することを可能にし得る。サービス使用のサードパーティ監視は、サービスプロバイダまたはサービスユーザが、それらのサービス使用を監視されることを希望しないことがあるので、望ましくないことがある。いくつかの実施形態では、サービスの望ましくないサードパーティ監視の可能性は、サービスＩＤ暗号化鍵および／またはタイミング情報に基づく、サービス名のハッシュ値としてプライベートサービスＩＤを生成することによって減少し得る。
【００３７】
[0044]いくつかの実施形態では、プライバシービット構成パラメータは、サービス名、タイミング情報、および／またはサービスＩＤ暗号化鍵に基づくハッシュ値としてサービスＩＤを生成するように発見エンジンに指示を出し得る。他の実施形態では、ソフトウェアアプリケーションが、サービス名、タイミング情報、および／またはサービスＩＤ暗号化鍵に基づくハッシュ値としてサービスＩＤを生成するように発見エンジンに指示を出し得る。また、ＮＡＮ内のクラスタＩＤまたは現在時刻（現在のＵＴＣ値）など、他の値がハッシュ計算中に含まれ得る。いくつかの実施形態では、ＳＤＦのサービス発見属性中で搬送され得るサービスＩＤは、サービスＩＤ＝（ＨＡＳＨ（ｓｅｒｖｉｃｅ＿ｎａｍｅ，サービスＩＤ暗号化鍵，タイミング情報）の６バイトへの切り捨てのように設定され得る。いくつかの実施形態では、タイミング情報は、いくつかの最下位ビット（たとえば、最後の８、１６、１７ビット）が削除された現在の発見ウィンドウ（ＤＷ：discovery window）のタイムスタンプの一部分であり得る。いくつかの実施形態では、タイミング情報は、ＤＷの開始時間を示すタイムスタンプ値であり得る。いくつかの実施形態では、タイミング情報は、ＤＷに基づいて周期的にサンプリングされるタイムスタンプ値であり得る。たとえば、いくつかの態様では、タイムスタンプ値は、ＤＷの開始時間を備え、１６番目、８番目、４番目、２番目のＤＷごとに、またはＤＷごとにサンプリングされる。他の態様では、他の可能なサンプル期間が考えられる。他の実施形態では、タイミング情報は、時間間隔の経過を測定する経過インデックスまたはカウンタであり得る。他の実施形態では、タイミング情報は、協定世界時（ＵＴＣ）または他のタイミングシステムであり得る。サービスＩＤをタイミング情報に部分的に基づかせることによって、サービスＩＤは、タイミング情報が変更するにつれて（たとえば、５００ミリ秒ごとに）値を変更し得、このことは、各タイミング間隔において新しいサービスＩＤを生成することによって、サードパーティが、サービス名を取得するために、生成された各プライベートサービスＩＤを解読しなければならなくなるので、プライバシーの別のレイヤを与え得る。
【００３８】
[0045]いくつかの実施形態では、ハッシュ値は、ハッシュ関数の利用または適用によって生成され得る。ハッシュ関数は、可変長の入力ストリングを固定長のハッシュ値にマッピングするアルゴリズムである。いくつかの実施形態では、入力ストリングはサービス名を備え得る。本明細書で開示するいくつかの実施形態において、様々なタイプのハッシュ関数が利用され得る（たとえば、ＭＤ５、セキュアハッシュアルゴリズム（ＳＨＡ）、巡回冗長検査（ＣＲＣ）など）。いくつかの実施形態では、計算限界が、ハッシュ関数が使用され得る回数を制限し得る。たとえば、ハッシュ関数が大量の計算能力および／または時間を必要とする場合（たとえば、ＳＨＡ−２５６）、発見ウィンドウごとにハッシュ関数を使用することは、実行不可能になり得る。これらの限界のうちのいくつかを克服するために、サービスＩＤを生成するために２つ以上のハッシュ関数またはステップを使用することが有益であり得る。
【００３９】
[0046]いくつかの実施形態では、発見エンジンは、高計算（ＨＣ：high computation）ハッシュおよび／または低計算（ＬＣ：low computation）ハッシュの組合せを使用し得る。ＬＣハッシュは、ＨＣハッシュよりも低い計算能力および／または短い時間を必要とする。たとえば、発見エンジンまたはプロセッサは、サービスＩＤ−１＝（ＳＨＡ−２５６（ｓｅｒｖｉｃｅ＿ｎａｍｅ）の６バイトへの切り捨てのように、ＨＣハッシュ（たとえば、ＳＨＡ−２５６）を使用して、第１のサービスＩＤを計算し得る。発見エンジンまたはプロセッサは、次いで、サービスＩＤ−２＝（ＬＣＨａｓｈ（ｆ（サービスＩＤ−１，サービスＩＤ暗号化鍵，タイミング情報）の６バイトへの切り捨てのように、第１のサービスＩＤに少なくとも部分的に基づいて、ＬＣハッシュ（たとえば、ＣＲＣ−６４、ＳＨＡ−３、小型暗号化アルゴリズム（ＴＥＡ））を使用して、第２のサービスＩＤ（および／または各後続のサービスＩＤ）を計算し得る。いくつかの実施形態では、関数ｆは、サービスＩＤ名、暗号化鍵、および／またはタイミング情報の連結を備え得る。他の実施形態では、関数ｆは、タイミング情報（たとえば、タイムスタンプ）、サービスＩＤ、および／または暗号化鍵のビット単位排他的ＯＲ（ＸＯＲ）、または他のビット単位演算を備え得る。
【００４０】
[0047]発見エンジンまたはプロセッサがＴＥＡハッシュを使用する実施形態では、ハッシュ関数は、ｔｅａ＿ｃｏｄｅ（ｌｏｎｇ＊ｖ，ｌｏｎｇ＊ｋ）のようであり得、ここで、ｋは使用されるべき暗号化鍵であり、ここで、ｖは暗号化されるべき値である。ＴＥＡアルゴリズムでは、値ｋは１２８ビットを備え得る。いくつかの態様では、発見エンジンまたはプロセッサは、上記で説明したサービスＩＤ−１から値ｋを作成し得、このことは、１２８ビット要件を満たすためにパディングを必要とし得る。たとえば、サービスＩＤ−１は４８ビットを備えるので、ｋは、すべて「０」のビット、すべて「１」のビット、または「１」と「０」との知られている組合せの８０ビットでパディングされたサービスＩＤ−１を備え得る。別の例では、ｋは、ｋ＝サービスＩＤ−１｜サービスＩＤ−１｜切り捨て（サービスＩＤ−１，４）であるようなサービスＩＤ−１の連結を備え得る。いくつかの態様では、発見エンジンまたはプロセッサは、タイミング情報（たとえば、タイムスタンプまたはタイミング同期機能）に基づいて、またはタイミング情報と、第２の暗号化鍵、ナンス、クラスタ識別子（ＩＤ）、または送信機媒体アクセス制御（ＭＡＣ）アドレスのうちの１つまたは複数とに基づいて値ｖを作成し得る。ナンスは、クラスタのアンカーマスタノードによって告知された番号を備え得る。発見エンジンまたはプロセッサは、上記で説明したｋおよびｖの計算値を使用してＴＥＡアルゴリズムの結果を４８ビットに切り捨てることによって、上記で説明したサービスＩＤ−２を作成し得る。切り捨てることは、ＴＥＡアルゴリズムが６４ビットの結果を生成するので、望ましいことがある。ＴＥＡアルゴリズムを使用することは、いくつかの利益を有し得る。たとえば、ＴＥＡは、それが完全な拡散を達成する（たとえば、入力における１ビットの差は、暗号文における近似３２ビットの差を生じる）ので、暗号解析に対して高耐性である。さらに、ＴＥＡは、低い計算オーバーヘッドを必要とする。
【００４１】
[0048]下記は、上記で説明したＴＥＡアルゴリズムのための例示的なコードである。
【００４２】
【数１】
0006411498.tif 000002
【００４３】
[0049]本明細書で説明するいくつかのハッシュ関数および暗号化アルゴリズムは、いくつかのデータブロックサイズ要件を有し得る。したがって、いくつかのハッシュ関数および暗号化アルゴリズムは、各関数についてデータブロックサイズ要件に適応するために、何らかのパディングを必要とし得る。パディングは、ブロックサイズ要件を満たすために、任意の知られている（たとえば、サービスプロバイダおよび加入者によって知られている）ビットのパターンを備え得る。たとえば、パターンは、すべて「０」のビット、すべて「１」のビット、または「１」と「０」との組合せを備え得る。
【００４４】
[0050]一般に、同じ入力ストリングが同じハッシュ値にマッピングされるべきであるハッシュ関数は、参照透過（referentially transparent）である。それにより、その逆に、同じハッシュ値は、同じハッシュ値を生成するために利用される同じ入力ストリングを示し得る。いくつかの実施形態では、受信されたハッシュ値としての受信されたサービスＩＤが、受信されたサービスＩＤが関連付けられたサービス名とメッセージの予期されるタイプとを決定するために、参照ハッシュ値と比較され得る。上記で説明したように、このマッピングは、サードパーティが、ハッシュ値から入力ストリング（サービス名）を決定し、いくつかのサービスの監視することをもたらし得る。いくつかの実施形態では、デバイスが発行関数を介してサービスプロバイダからプライベートサービスＩＤを受信したとき、デバイスはそのサービスにサブスクライブすることを望み得る。いくつかの態様では、発見エンジンは、デバイスがサービスにサブスクライブし得るように、発行関数のために使用されるハッシング関数に基づいて、マッチングされるべき厳密なプライベートサービスＩＤを作成する。いくつかの態様では、発見エンジンは、デバイスがサービスにサブスクライブし得るように、発行関数のために使用されるサービス名に基づいて、マッチングされるべきプライベートサービスＩＤを作成する。
【００４５】
[0051]いくつかの実施形態による、図１のワイヤレス通信システムにおいて採用され得るサービスＩＤの生成のための概念図を図３に示す。概念図は、サービス名３０４を含む入力ストリング３０６が、ハッシュ関数３１２を介してハッシュ値３１０に変換され得ることを示す。サービスＩＤ３０２は、サービスを識別するために、ワイヤレスデバイスの間のパケット化された通信において使用され得る。サービスＩＤは、（限定はしないが）図４Ａおよび図４Ｂに示された実施形態など、サービスを識別するために、パケットのフィールドにおいて利用され得る。
【００４６】
[0052]いくつかの実施形態による、図３のサービスＩＤ３０２がそれのために利用され得るテーブルの形態のデータ構造を図４Ａに示す。テーブル４００は、パケットの異なるフィールドが、属性に関してＮＡＮネットワークにおいてワイヤレスデバイスの間でどのように通信され得るかを示す。限定はしないが、サービス発見属性またはサービス識別子属性など、任意のタイプの属性が、様々な実施形態に従って利用され得る。パケットは、属性を識別する属性ＩＤフィールド４０１を含むことができる。フィールドのサイズは１バイトであり得、このフィールドの値は、０ｘ０６（１６進数）であり得る。パケットは、限定はしないが、サービス名、およびメッセージのタイプを識別する情報など、多様な入力ストリングのハッシュを含んでいるサービスＩＤフィールド４０２をも含むことができる。サービスＩＤフィールド４０２は、６バイトであり、可変値であり得る。パケットは、サービス制御ビットマップを定義する可変値をもつ１バイトのサービス制御フィールド４０３をも含むことができる。パケットは、マッチングサービス発見フィルタが属性に関連付けられた場合に存在する随意のフィールドである１バイトおよび可変値のマッチングフィルタ長さフィールド４０４をも含むことができる。可変サイズおよび可変値のマッチングフィルタフィールド４０５も含まれ得る。マッチングフィルタフィールド４０５は、マッチングサービス発見フィルタを識別する長さと値とのペアのシーケンスである随意のフィールドであり得る。１バイトおよび可変値のサービス応答フィルタ長さフィールド４０６も含まれ得る。サービス応答フィルタ長さフィールド４０６は、随意のフィールドであり、サービス応答フィルタが使用される場合に存在することができる。マッチングサービス応答フィルタを識別する長さと値とのペアのシーケンスである可変サイズおよび可変値のサービス応答フィルタフィールド４０７も利用され得る。サービス固有情報のための１バイトおよび可変値の随意のサービス情報長さフィールド４０８も利用され得る。サービス固有情報を含んでいる１バイトおよび可変値のサービス情報フィールド４０９も利用され得る。
【００４７】
[0053]一実施形態による、図４Ａのサービス制御フィールドがそれのために利用され得るテーブルの形態のデータ構造を図４Ｂに示す。テーブル４５０は、図４Ａのサービス制御フィールドの異なるビットが、ＮＡＮネットワークにおけるワイヤレスデバイスにの間でどのように通信され得るかを示す。サービス制御フィールドは、メッセージが発行タイプであるか否かを示すビット０を含み得る。サービス制御フィールドは、メッセージがサブスクライブタイプであるか否かを示すビット１をも含み得る。サービス制御フィールドは、メッセージがフォローアップタイプであるか否かを示すビット２をも含み得る。サービス制御フィールドは、マッチングフィルタフィールドがサービス記述子要素中に存在するか否かを示すビット３をも含み得る。サービス制御フィールドは、サービス応答フィルタがサービス記述子要素中に存在するか否かを示すビット４をも含み得る。サービス制御フィールドは、サービス情報フィールドがサービス記述子要素中に存在するか否かを示すビット５をも含み得る。サービス制御フィールドは、サービスＩＤがサービスＩＤ暗号化鍵および／またはタイミング情報に基づいて生成されたプライベートサービスＩＤであるかどうかを示すビット６、プライバシービットをも含み得る。サービス制御フィールドは、将来の使用のために予約され得るビット７および８をも含み得る。
【００４８】
[0054]一実施形態による、暗号化鍵および／またはタイミング情報に基づいて計算される、サービス名のハッシュ値を備える図３のサービスＩＤをもつメッセージを生成および送信するための方法を図５に示す。いくつかの実施形態では、方法５００は、限定はしないが、ワイヤレスデバイス２０２のプロセッサ２０４、ＤＳＰ２２０、および送信機２１０など、ワイヤレスデバイス２０２によって実行され得る。図５中の方法５００は特定の順序で示されているが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるか、または省略され得、さらなるブロックが追加され得る。当業者は、図示の実施形態のプロセスが、生成されたメッセージを処理および送信するように構成され得る任意のワイヤレスデバイスにおいて実装され得ることを諒解されよう。
【００４９】
[0055]ブロック５０２において、ワイヤレスデバイスは、第１のサービス識別子を備える第１のメッセージを生成し、ここにおいて、第１のサービス識別子は、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、第１のハッシュ値は、第１のハッシュ関数を適用することによって生成される。ブロック５０４において、次いで、ワイヤレスデバイスから第１のメッセージを送信する。いくつかの実施形態では、タイミング情報は、タイムスタンプ値の一部分を備え得るか、または時間間隔カウンタの値を備える。
【００５０】
[0056]いくつかの実施形態では、ワイヤレスデバイスは、図５の方法５００を実行することができる。いくつかの実施形態では、ワイヤレスデバイスは、第１のサービス識別子を備える第１のメッセージを生成するための手段を含むことができ、ここにおいて、第１のサービス識別子は、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、第１のハッシュ値は、第１のハッシュ関数を適用することによって生成される。いくつかの実施形態では、第１のメッセージを生成するための手段は、ブロック５０２（図５）に関する機能のうちの１つまたは複数を実行するように構成され得る。様々な実施形態では、第１のメッセージを生成するための手段は、プロセッサ２０４またはＤＳＰ２２０（図２）によって実装され得る。いくつかの実施形態では、生成するための手段は、汎用コンピュータ上で実行されるステップのセットを備え得る。たとえば、コンピュータは、プライベートサービスＩＤを作成するようにとの要求を受信し得る。コンピュータは、次いで、サービスＩＤに暗号化鍵および／またはタイミング情報を適用し得る。コンピュータは、次いで、暗号化鍵および／またはタイミング情報に基づくプライベートサービスＩＤを表すサービス名のハッシュ値を生成するために、ハッシュ関数アルゴリズムを使用し得る。
【００５１】
[0057]ワイヤレスデバイスは、第１のメッセージを送信するための手段をさらに含むことができる。いくつかの実施形態では、送信するための手段は、ブロック５０４（図５）に関して上記で説明した機能のうちの１つまたは複数を実行するように構成され得る。様々な実施形態では、送信するための手段は、送信機２１０（図２）によって実装され得る。
【００５２】
[0058]図６は、ワイヤレス近傍アウェアネットワーク（ＮＡＮ）においてサービス情報を送信するための例示的な方法６００の一態様のフローチャート。いくつかの実施形態では、方法６００は、限定はしないが、ワイヤレスデバイス２０２のプロセッサ２０４、ＤＳＰ２２０、および送信機２１０など、ワイヤレスデバイス２０２によって実行され得る。図６中の方法６００は特定の順序で示されているが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるか、または省略され得、さらなるブロックが追加され得る。当業者は、図示の実施形態のプロセスが、生成されたメッセージを処理および送信するように構成され得る任意のワイヤレスデバイスにおいて実装され得ることを諒解されよう。
【００５３】
[0059]ブロック６０２において、ワイヤレスデバイスはパケットを受信する。いくつかの実施形態では、パケットはサービス発見フレームを備え得る。ブロック６０４において、デバイスは、パケットを復号し、パケット中のプライバシービットが設定されているかどうかを決定する。いいえの場合、ブロック６０６において、デバイスは、非プライベートサービスＩＤ（たとえば、暗号化されないサービスＩＤ）をもつメッセージを送信する。プライバシービットが設定されている場合、ブロック６０８において、ワイヤレスデバイスは、サービス名のハッシュとして第１のプライベートサービスＩＤを生成する。いくつかの実施形態では、ワイヤレスデバイスは、上記で説明したように、ＨＣハッシュ（たとえば、ＳＨＡ−２５６）を使用して、第１のサービスＩＤを計算し得る。いくつかの実施形態では、ワイヤレスデバイスは、第１のサービスＩＤをもつメッセージを送信し得る。ブロック６１０において、ワイヤレスデバイスは、次いで、第１のプライベートサービスＩＤに少なくとも部分的に基づいて、ＬＣハッシュ（たとえば、ＣＲＣ−６４、ＳＨＡ−３、小型暗号化アルゴリズム（ＴＥＡ））を使用して、第２のサービスＩＤ（および／または各後続のサービスＩＤ）を計算する。たとえば、第２のプライベートサービスＩＤは、サービスＩＤ−２＝（ＬＣＨａｓｈ（ｆ（サービスＩＤ−１，サービスＩＤ暗号化鍵，タイミング情報）の６バイトへの切り捨てのように計算され得る。ブロック６１２において、ワイヤレスデバイスは、第２のプライベートサービスＩＤをもつメッセージを送信する。いくつかの実施形態では、メッセージは、別のサービス発見フレームを備え得る。いくつかの態様では、ワイヤレスデバイスは、第１のサービスＩＤをもつメッセージを送信した後、第２のサービスＩＤをもつメッセージを送信し得る。
【００５４】
[0060]一実施形態による、暗号化鍵および／またはタイミング情報に基づいて計算される、サービス名のハッシュ値を備える図３のサービスＩＤをもつメッセージを生成および受信するための方法７００を図７に示す。いくつかの実施形態では、方法７００は、限定はしないが、ワイヤレスデバイス２０２のプロセッサ２０４、ＤＳＰ２２０、および受信機２１２など、ワイヤレスデバイス２０２によって実行され得る。図７中の方法７００は特定の順序で示されているが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるか、または省略され得、さらなるブロックが追加され得る。当業者は、図示の実施形態のプロセスが、生成されたメッセージを処理および送信するように構成され得る任意のワイヤレスデバイスにおいて実装され得ることを諒解されよう。
【００５５】
[0061]ブロック７０２において、ワイヤレスデバイスを介して、サービス識別子を含む第１のメッセージを受信し、サービス識別子はサービス名のハッシュ値を備え、ハッシュ値は暗号化鍵および／またはタイミング情報に基づいて計算される。ブロック７０４において、サービス識別子を備える第２のメッセージを生成し、第２のメッセージのサービス識別子は第１のメッセージのサービス名に基づく。いくつかの実施形態では、タイミング情報は、タイムスタンプ値の一部分を備え得るか、または時間間隔カウンタを備える。
【００５６】
[0062]いくつかの実施形態では、図１のワイヤレス通信システムにおいて図７の方法７００を実行するために採用され得るワイヤレスデバイス。ワイヤレスデバイスは、第１のメッセージを受信するための手段を含むことができ、ここにおいて、第１のメッセージはサービス識別子を備え、サービス識別子はサービス名のハッシュ値を備え、ハッシュ値は暗号化鍵および／またはタイミング情報に基づいて計算される。いくつかの実施形態では、メッセージを受信するための手段は、ブロック７０２（図７）に関する機能のうちの１つまたは複数を実行するように構成され得る。様々な実施形態では、メッセージを受信するための手段は、受信機２１２、プロセッサ２０４、またはＤＳＰ２２０（図２）によって実装され得る。
【００５７】
[0063]ワイヤレスデバイスは、サービス識別子を備える第２のメッセージを生成するための手段をさらに含むことができ、第２のメッセージのサービス識別子は第１のメッセージのサービス名に基づく。いくつかの実施形態では、生成するための手段は、ブロック７０４（図７）に関して上記で説明した機能のうちの１つまたは複数を実行するように構成され得る。様々な実施形態では、生成するための手段は、プロセッサ２０４またはＤＳＰ２２０（図２）によって実装され得る。いくつかの実施形態では、生成するための手段は、汎用コンピュータ上で実行されるステップのセットを備え得る。たとえば、コンピュータは、プライベートサービスＩＤを備える第１のメッセージを受信し得る。コンピュータは、次いで、サービスＩＤに暗号化鍵および／またはタイミング情報を適用し得る。コンピュータは、次いで、第１のメッセージのプライベートサービスＩＤにマッチングするサービス名のハッシュ値を生成するために、ハッシュ関数アルゴリズムを使用し得る。
【００５８】
[0064]図５〜図７中のいくつかのブロックがどのように実装され得るかを説明するために、いくつかの実施形態では、探索ワイヤレスデバイスが、サービスを探索するように構成され得る。探索ワイヤレスデバイスは、サービス識別子を含むサブスクライブメッセージ（またはサービスサブスクライブ要求メッセージ（subscribe service request message））を生成し、サービス識別子は、求められたサービスの名前のハッシュ値を備え、ハッシュ値は、暗号化鍵および／またはタイミング情報に基づいて計算される（ブロック５０２）。探索ワイヤレスデバイスはまた、生成されたメッセージを送信する（ブロック５０４）。
【００５９】
[0065]サービス提供デバイスは、サービス名のハッシュ値として、サービスＩＤを含むサブスクライブメッセージ（またはサービスサブスクライブ要求メッセージ）を受信し、ハッシュ値は、暗号化鍵および／またはタイミング情報に基づいて計算される（ブロック７０２）。いくつかの実施形態では、サービス提供デバイスは、サービス識別子を備える発行メッセージ（またはサービス発行告知メッセージ（publish service announcement message））を生成し、第２のメッセージのサービス識別子はサブスクライブメッセージのサービス名に基づく（ブロック７０４）。いくつかの実施形態では、サービス提供デバイスはまた、サービスを発行することと、サービスにサブスクライブすることとの両方を行うために、発行メッセージとサブスクライブメッセージとの組合せを生成し得る。
【００６０】
[0066]本明細書における「第１」、「第２」などの名称を使用した要素への言及は、それらの要素の数量または順序を概括的に限定するものでないことを理解されたい。むしろ、これらの名称は、本明細書では、２つまたはそれ以上の要素またはある要素の複数の事例を区別する便利な方法として使用され得る。したがって、第１の要素および第２の要素への言及は、そこで２つの要素のみが採用され得ること、または第１の要素が何らかの方法で第２の要素に先行することができることを意味するものではない。また、別段に記載されていない限り、要素のセットは１つまたは複数の要素を含むことができる。
【００６１】
[0067]情報および信号は多種多様な技術および技法のいずれかを使用して表され得ることを、当業者は理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００６２】
[0068]さらに、本明細書で開示した態様に関して説明した様々な例示的な論理ブロック、モジュール、プロセッサ、手段、回路、およびアルゴリズムステップのいずれも、電子ハードウェア（たとえば、ソースコーディングまたは何らかの他の技法を使用して設計され得る、デジタル実装形態、アナログ実装形態、またはそれら２つの組合せ）、命令を組み込んだ様々な形態のプログラムまたは設計コード（便宜上、本明細書では「ソフトウェア」または「ソフトウェアモジュール」と呼ぶことがある）、あるいは両方の組合せとして実装され得ることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
【００６３】
[0069]本明細書で開示した態様に関して、および上記の図に関して説明した様々な例示的な論理ブロック、モジュール、および回路は、集積回路（ＩＣ）、アクセス端末、またはアクセスポイント内に実装されるか、またはそれによって実行され得る。ＩＣは、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、電気的構成要素、光学的構成要素、機械的構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを含むことができ、ＩＣの内部に、ＩＣの外部に、またはその両方に常駐するコードまたは命令を実行することができる。論理ブロック、モジュール、および回路は、ネットワーク内またはデバイス内の様々な構成要素と通信するためにアンテナおよび／またはトランシーバを含むことができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。モジュールの機能は、本明細書で教示した方法とは別の何らかの方法で実装され得る。（たとえば、添付図のうちの１つまたは複数に関して）本明細書で説明した機能は、いくつかの態様では、添付の特許請求の範囲において同様に指定された「ための手段」機能に対応することができる。
【００６４】
[0070]ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。本明細書で開示した方法またはアルゴリズムのステップは、コンピュータ可読媒体上に常駐することができるプロセッサ実行可能ソフトウェアモジュールで実装され得る。コンピュータ可読媒体は、ある場所から別の場所にコンピュータプログラムを転送することを可能にされ得る任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を含むことができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれ得る。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびＢｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、機械可読媒体およびコンピュータ可読媒体上のコードおよび命令の１つまたは任意の組合せ、あるいはそのセットとして常駐することができる。
【００６５】
[0071]任意の開示するプロセス中のステップの特定の順序または階層は、例示的な手法の一例であることを理解されたい。設計上の選好に基づいて、プロセス中のステップの特定の順序または階層は本開示の範囲内のまま再構成され得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されるものではない。
【００６６】
[0072]本開示で説明した実装形態への様々な修正は当業者には容易に明らかであり得、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の実装形態に適用され得る。したがって、本開示は、本明細書で示した実装形態に限定されるものではなく、本明細書で開示する特許請求の範囲、原理および新規の特徴に一致する、最も広い範囲を与られるべきである。「例示的」という単語は、本明細書ではもっぱら「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明するいかなる実装形態も、必ずしも他の実装形態よりも好ましいまたは有利であると解釈されるべきではない。
【００６７】
[0073]また、別個の実装形態に関して本明細書で説明されたいくつかの特徴は、単一の実装形態において組合せで実装され得る。また、逆に、単一の実装形態に関して説明された様々な特徴は、複数の実装形態において別個に、あるいは任意の好適な部分組合せで実装され得る。その上、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求されることさえあるが、請求される組合せからの１つまたは複数の特徴は、場合によってはその組合せから削除され得、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
【００６８】
[0074]同様に、動作は特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような動作が、示される特定の順序でまたは順番に実行されることを、あるいはすべての図示の動作が実行されることを必要とするものとして理解されるべきでない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実装形態における様々なシステム構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきでなく、説明したプログラム構成要素およびシステムは、概して、単一のソフトウェア製品において互いに一体化されるか、または複数のソフトウェア製品にパッケージングされ得ることを理解されたい。さらに、他の実装形態が以下の特許請求の範囲内に入る。場合によっては、特許請求の範囲に記載の行為は、異なる順序で実行され、依然として望ましい結果を達成することができる。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
第１のサービス識別子を備える第１のメッセージを生成することと、ここにおいて、前記第１のサービス識別子が、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、前記第１のハッシュ値が、第１のハッシュ関数を適用することによって生成される、
前記第１のメッセージを送信することとを備える、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信する方法。
［Ｃ２］
前記第１のハッシュ値は、さらに暗号化鍵に基づく、Ｃ１に記載の方法。
［Ｃ３］
前記タイミング情報は、第１のタイムスタンプ値の一部分を備える、Ｃ１に記載の方法。
［Ｃ４］
前記第１のタイムスタンプ値は、第１の発見ウィンドウまたは現在時刻のタイムスタンプ値を備える、Ｃ３に記載の方法。
［Ｃ５］
前記第１のタイムスタンプ値は、前記第１の発見ウィンドウの開始時間を備える、Ｃ４に記載の方法。
［Ｃ６］
前記第１のタイムスタンプ値は、前記第１の発見ウィンドウの開始時間に基づいて周期的にサンプリングされるタイムスタンプ値を備える、Ｃ４に記載の方法。
［Ｃ７］
第２のメッセージを生成することと、前記第２のメッセージが第２のサービス識別子を備え、ここにおいて、前記第２のサービス識別子が、前記サービス名と第２のタイムスタンプ値とに基づく第２のハッシュ値を含む、
前記第２のメッセージを送信することとをさらに備える、Ｃ４に記載の方法。
［Ｃ８］
前記第２のタイムスタンプ値は、前記第１の発見ウィンドウに対して、１６番目、８番目、４番目、２番目の発見ウィンドウごとに１回、または発見ウィンドウごとに周期的にサンプリングされる第２の発見ウィンドウの開始時間に基づくタイムスタンプ値を備える、Ｃ７に記載の方法。
［Ｃ９］
前記タイミング情報は、時間間隔カウンタの値を備える、Ｃ１に記載の方法。
［Ｃ１０］
前記第１のメッセージは、サービス発行告知メッセージ、サービスサブスクライブ要求メッセージ、または前記サービス発行告知メッセージと前記サービスサブスクライブ要求メッセージとの組合せのうちの１つを備える、Ｃ１に記載の方法。
［Ｃ１１］
前記第１のハッシュ関数は、セキュアハッシュアルゴリズム（ＳＨＡ）、巡回冗長検査（ＣＲＣ）、または小型暗号化アルゴリズム（ＴＥＡ）のうちの１つを備える、Ｃ１に記載の方法。
［Ｃ１２］
第２のメッセージを生成することをさらに備え、前記第２のメッセージは、第２のサービス識別子を備え、ここにおいて、前記第２のサービス識別子が、前記第１のサービス識別子に少なくとも部分的に基づく第２のハッシュ値を含み、ここにおいて、前記第２のハッシュ値が、第２のハッシュ関数を適用することによって生成され、ここにおいて、前記第１のハッシュ関数を適用することが、前記第２のハッシュ関数を適用することよりも多くの計算を必要とする、Ｃ１に記載の方法。
［Ｃ１３］
前記第１のハッシュ関数は、小型暗号化アルゴリズム（ＴＥＡ）を備え、前記第１のハッシュ値は、さらに暗号化鍵に基づく、Ｃ１に記載の方法。
［Ｃ１４］
前記第１のハッシュ値は、さらに、第２の暗号化鍵、ナンス、クラスタ識別子（ＩＤ）、および送信機媒体アクセス制御（ＭＡＣ）アドレスのうちの少なくとも１つに基づく、Ｃ１３に記載の方法。
［Ｃ１５］
前記ナンスは、アンカーマスタノードによって告知された番号を備える、Ｃ１４に記載の方法。
［Ｃ１６］
第１のサービス識別子を備える第１のメッセージを生成するように構成されたプロセッサと、ここにおいて、前記第１のサービス識別子が、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、前記第１のハッシュ値が、第１のハッシュ関数を適用することによって生成される、
前記第１のメッセージを送信するように構成された送信機とを備える、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信するための装置。
［Ｃ１７］
前記第１のハッシュ値は、さらに暗号化鍵に基づく、Ｃ１６に記載の装置。
［Ｃ１８］
前記タイミング情報は、第１のタイムスタンプ値の一部分を備える、Ｃ１６に記載の装置。
［Ｃ１９］
前記第１のタイムスタンプ値は、第１の発見ウィンドウまたは現在時刻のタイムスタンプ値を備える、Ｃ１７に記載の装置。
［Ｃ２０］
前記タイミング情報は、時間間隔カウンタの値を備える、Ｃ１６に記載の装置。
［Ｃ２１］
前記第１のメッセージは、サービス発行告知メッセージ、サービスサブスクライブ要求メッセージ、または前記サービス発行告知メッセージと前記サービスサブスクライブ要求メッセージとの組合せのうちの１つを備える、Ｃ１６に記載の装置。
［Ｃ２２］
第１のサービス識別子を備える第１のメッセージを生成するための手段と、ここにおいて、前記第１のサービス識別子が、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、前記第１のハッシュ値が、第１のハッシュ関数を適用することによって生成される、
前記第１のメッセージを送信するための手段とを備える、ワイヤレス近傍アウェアネットワークにおいてサービス情報を送信するための装置。
［Ｃ２３］
前記第１のハッシュ値は、さらに暗号化鍵に基づく、Ｃ２２に記載の装置。
［Ｃ２４］
前記タイミング情報値は、第１の発見ウィンドウまたは現在時刻のタイムスタンプ値の一部分を備える、Ｃ２３に記載の装置。
［Ｃ２５］
前記タイミング情報は、時間間隔カウンタの値を備える、Ｃ２２に記載の装置。
［Ｃ２６］
前記第１のメッセージが、サービス発行告知メッセージ、サービスサブスクライブ要求メッセージ、または前記サービス発行告知メッセージと前記サービスサブスクライブ要求メッセージとの組合せのうちの１つを備える、Ｃ２２に記載の装置。
［Ｃ２７］
第２のメッセージを生成するための手段をさらに備え、前記第２のメッセージが第２のサービス識別子を備え、ここにおいて、前記第２のサービス識別子が、前記第１のサービス識別子に少なくとも部分的に基づく第２のハッシュ値を含み、ここにおいて、前記第２のハッシュ値が、第２のハッシュ関数を適用することによって生成され、ここにおいて、前記第１のハッシュ関数を適用することが、前記第２のハッシュ関数を適用することよりも多くの計算を必要とする、Ｃ２２に記載の装置。
［Ｃ２８］
実行されたとき、
第１のサービス識別子を備える第１のメッセージを生成することと、ここにおいて、前記第１のサービス識別子が、サービス名とタイミング情報とに基づく第１のハッシュ値を含み、ここにおいて、前記第１のハッシュ値が、第１のハッシュ関数を適用することによって生成される、
前記第１のメッセージを送信することとを装置に行わせるコードを備える非一時的コンピュータ可読媒体。
［Ｃ２９］
前記第１のハッシュ関数は、小型暗号化アルゴリズム（ＴＥＡ）を備え、前記第１のハッシュ値が暗号化鍵にさらに基づく、Ｃ２８に記載の媒体。
［Ｃ３０］
前記第１のハッシュ値は、さらに、第２の暗号化鍵、ナンス、クラスタ識別子（ＩＤ）、および送信機媒体アクセス制御（ＭＡＣ）アドレスのうちの少なくとも１つに基づく、Ｃ２９に記載の媒体。
【図１】
0006411498.tif 000003
【図２】
0006411498.tif 000004
【図３】
0006411498.tif 000005
【図４Ａ】
0006411498.tif 000006
【図４Ｂ】
0006411498.tif 000007
【図５】
0006411498.tif 000008
【図６】
0006411498.tif 000009
【図７】
0006411498.tif 000010