(57)【要約】  ワイヤレス通信のための方法、装置、およびコンピュータ可読媒体が提供される。一態様では、装置は、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成するように構成され得る。この装置は、第1のハッシュ値、タイミング情報、パスワード、およびMACアドレスに基づいて、サービス識別子を生成するように構成され得る。この装置は、生成されたサービス識別子を送信するように構成され得る。
2018518076.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレスデバイスによるワイヤレス通信の方法であって、
サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成するステップと、
前記第1のハッシュ値、前記ワイヤレスデバイスのタイミング情報、パスワード、および媒体アクセス制御(MAC)アドレスに基づいて、サービス識別子を生成するステップと、
前記生成されたサービス識別子を送信するステップと
を含む、方法。
【請求項２】
前記サービスが、近傍アウェアネスネットワーキング(NAN)サービスであり、前記送信されたサービス識別子が前記NANサービスの発見を可能にする、請求項1に記載の方法。
【請求項３】
前記パスワードが前記NANサービスに、NAN内のデバイスのグループに、またはプロダクトキーに関連付けられる、請求項2に記載の方法。
【請求項４】
前記サービス識別子を送信する前記ステップが、NAN発見ウィンドウ中に、NANサービス発見フレーム内で前記サービス識別子をブロードキャストするステップを含む、請求項2に記載の方法。
【請求項５】
前記NANサービス発見フレームが、サービス記述子属性とNANデータリンク属性とを含む、請求項4に記載の方法。
【請求項６】
前記ワイヤレスデバイスが、NANクラスタのメンバーであり、前記NANサービスに関連付けられた前記NANクラスタのすべての他のメンバーとNANパラメータの共通セットを共有する、請求項2に記載の方法。
【請求項７】
前記ワイヤレスデバイスが、前記NANクラスタのアンカーマスタによって決定されたタイミング同期機能に基づいて、前記NANクラスタのすべての前記他のメンバーと時間同期される、請求項6に記載の方法。
【請求項８】
前記第1のハッシュ値が前記MACアドレスおよび前記パスワードに基づいて生成される、請求項1に記載の方法。
【請求項９】
前記サービス識別子を生成する前記ステップが、前記第1のハッシュ値および前記タイミング情報に基づいて第2のハッシュ値を生成するステップを含み、前記第2のハッシュ値が前記サービス識別子である、請求項8に記載の方法。
【請求項１０】
前記サービス識別子を生成する前記ステップが、前記第1のハッシュ値、前記タイミング情報、前記MACアドレス、および前記パスワードに基づいて第2のハッシュ値を生成するステップを含み、前記第2のハッシュ値が前記サービス識別子である、請求項1に記載の方法。
【請求項１１】
前記第1のハッシュ値を生成する前記ステップが、
前記パスワードの中間ハッシュ値を生成するステップと、
前記パスワードの前記中間ハッシュ値に基づいて、第1の鍵および第2の鍵を導出するステップであって、前記第1のハッシュ値が、前記サービス名および前記導出された第1の鍵に基づいて生成される、請求項1に記載の方法。
【請求項１２】
前記生成されたサービス識別子が、前記タイミング情報と、前記ワイヤレス通信デバイスの前記MACアドレスと、前記中間ハッシュ値に基づいて導出された前記第2の鍵と、前記第1のハッシュ値とのハッシュにさらに基づく、請求項11に記載の方法。
【請求項１３】
前記第1のハッシュ値が、第1のハッシュ関数を使用して生成され、前記第1のハッシュ関数が、セキュアハッシュアルゴリズム(SHA)、巡回冗長検査(CRC)、または小型暗号化アルゴリズム(TEA)のうちの1つである、請求項1に記載の方法。
【請求項１４】
前記サービス識別子が、第2のハッシュ関数を使用して生成され、前記第2のハッシュ関数が前記第1のハッシュ関数とは異なる、請求項13に記載の方法。
【請求項１５】
前記ワイヤレスデバイスに関する任意のサービスに関連付けられない偽サービス識別子を送信するステップをさらに含む、請求項1に記載の方法。
【請求項１６】
前記偽サービス識別子がランダムに生成される、請求項15に記載の方法。
【請求項１７】
ワイヤレス通信のための装置であって、
サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成するための手段と、
前記第1のハッシュ値、前記装置のタイミング情報、パスワード、および媒体アクセス制御(MAC)アドレスに基づいて、サービス識別子を生成するための手段と、
前記生成されたサービス識別子を送信するための手段と
を含む、装置。
【請求項１８】
前記サービスが、近傍アウェアネスネットワーキング(NAN)サービスであり、前記送信されたサービス識別子が前記NANサービスの発見を可能にする、請求項17に記載の装置。
【請求項１９】
前記パスワードが前記NANサービスに、NAN内のデバイスのグループに、またはプロダクトキーに関連付けられる、請求項18に記載の装置。
【請求項２０】
前記第1のハッシュ値が前記MACアドレスおよび前記パスワードに基づいて生成される、請求項17に記載の装置。
【請求項２１】
前記サービス識別子を生成するための前記手段が、前記第1のハッシュ値および前記タイミング情報に基づいて第2のハッシュ値を生成するように構成され、前記第2のハッシュ値が前記サービス識別子である、請求項20に記載の装置。
【請求項２２】
前記サービス識別子を生成するための前記手段が、前記第1のハッシュ値、前記タイミング情報、前記MACアドレス、および前記パスワードに基づいて、第2のハッシュ値を生成するように構成され、前記第2のハッシュ値が前記サービス識別子である、請求項17に記載の装置。
【請求項２３】
前記第1のハッシュ値を生成するための前記手段が、
前記パスワードの中間ハッシュ値を生成することと、
前記パスワードの前記中間ハッシュ値に基づいて、第1の鍵および第2の鍵を導出することであって、前記第1のハッシュ値が、前記サービス名および前記導出された第1の鍵に基づいて生成される、導出することと
を行うように構成される、請求項17に記載の装置。
【請求項２４】
前記生成されたサービス識別子が、前記タイミング情報と、前記装置の前記MACアドレスと、前記中間ハッシュ値に基づいて導出された前記第2の鍵と、前記第1のハッシュ値とのハッシュにさらに基づく、請求項23に記載の装置。
【請求項２５】
前記第1のハッシュ値が、第1のハッシュ関数を使用して生成され、前記第1のハッシュ関数が、セキュアハッシュアルゴリズム(SHA)、巡回冗長検査(CRC)、または小型暗号化アルゴリズム(TEA)のうちの1つである、請求項17に記載の装置。
【請求項２６】
前記サービス識別子が、第2のハッシュ関数を使用して生成され、前記第2のハッシュ関数が前記第1のハッシュ関数とは異なる、請求項25に記載の装置。
【請求項２７】
前記装置に関する任意のサービスに関連付けられない偽サービス識別子を送信するための手段をさらに含む、請求項17に記載の装置。
【請求項２８】
前記偽サービス識別子がランダムに生成される、請求項27に記載の装置。
【請求項２９】
ワイヤレス通信のための装置であって、
メモリと、
前記メモリに結合された少なくとも1つのプロセッサとを含み、前記少なくとも1つのプロセッサが、
サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成し、
前記第1のハッシュ値、前記装置のタイミング情報、パスワード、および媒体アクセス制御(MAC)アドレスに基づいて、サービス識別子を生成し、
前記生成されたサービス識別子を送信する
ように構成される、装置。
【請求項３０】
前記サービスが、近傍アウェアネスネットワーキング(NAN)サービスであり、前記送信されたサービス識別子が前記NANサービスの発見を可能にする、請求項29に記載の装置。
【請求項３１】
前記パスワードが前記NANサービスに、NAN内のデバイスのグループに、またはプロダクトキーに関連付けられる、請求項30に記載の装置。
【請求項３２】
前記第1のハッシュ値が前記MACアドレスおよび前記パスワードに基づいて生成される、請求項29に記載の装置。
【請求項３３】
前記少なくとも1つのプロセッサが、前記第1のハッシュ値および前記タイミング情報に基づいて第2のハッシュ値を生成することによって、前記サービス識別子を生成するように構成され、前記第2のハッシュ値が前記サービス識別子である、請求項32に記載の装置。
【請求項３４】
前記少なくとも1つのプロセッサが、前記第1のハッシュ値、前記タイミング情報、前記MACアドレス、および前記パスワードに基づいて、第2のハッシュ値を生成することによって、前記サービス識別子を生成するように構成され、前記第2のハッシュ値が前記サービス識別子である、請求項29に記載の装置。
【請求項３５】
前記少なくとも1つのプロセッサが、
前記パスワードの中間ハッシュ値を生成することと、
前記パスワードの前記中間ハッシュ値に基づいて、第1の鍵および第2の鍵を導出することであって、前記第1のハッシュ値が、前記サービス名および前記導出された第1の鍵に基づいて生成される、導出することと
によって、前記第1のハッシュ値を生成するように構成される、請求項29に記載の装置。
【請求項３６】
前記生成されたサービス識別子が、前記タイミング情報と、前記装置の前記MACアドレスと、前記中間ハッシュ値に基づいて導出された前記第2の鍵と、前記第1のハッシュ値とのハッシュにさらに基づく、請求項35に記載の装置。
【請求項３７】
前記第1のハッシュ値が、第1のハッシュ関数を使用して生成され、前記第1のハッシュ関数が、セキュアハッシュアルゴリズム(SHA)、巡回冗長検査(CRC)、または小型暗号化アルゴリズム(TEA)のうちの1つである、請求項29に記載の装置。
【請求項３８】
前記サービス識別子が、第2のハッシュ関数を使用して生成され、前記第2のハッシュ関数が前記第1のハッシュ関数とは異なる、請求項37に記載の装置。
【請求項３９】
前記少なくとも1つのプロセッサが、前記装置に関する任意のサービスに関連付けられない偽サービス識別子を送信するようにさらに構成される、請求項29に記載の装置。
【請求項４０】
前記偽サービス識別子がランダムに生成される、請求項39に記載の装置。
【請求項４１】
コンピュータ実行可能コードを記憶する、ワイヤレスデバイスのコンピュータ可読媒体であって、
サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成し、
前記第1のハッシュ値、前記ワイヤレスデバイスのタイミング情報、パスワード、および媒体アクセス制御(MAC)アドレスに基づいて、サービス識別子を生成し、
前記生成されたサービス識別子を送信する
ためのコードを含む、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、参照によりその全体が本明細書に明確に組み込まれている、「METHODS AND APPARATUS FOR PRIVATE SERVICE IDENTIFIERS IN NEIGHBORHOOD AWARE NETWORKS」という名称の2015年3月23日に出願した米国仮出願第62/137,140号および「PRIVATE SERVICE IDENTIFIERS IN NEIGHBORHOOD AWARE NETWORKS」という名称の2016年3月21日に出願した米国特許出願第15/076,487号の利益を主張するものである。
【０００２】
本出願は、一般に、ワイヤレス通信に関し、より詳細には、近傍アウェアネットワーク(NAN: Neighborhood Aware Networking)におけるプライベートサービス識別子をサポートするシステム、方法、およびデバイスに関する。
【背景技術】
【０００３】
多くの電気通信システムでは、いくつかの相互作用する空間的に分離されたデバイス間でメッセージを交換するために、通信ネットワークが使用される。ネットワークは、たとえば、メトロポリタンエリア、ローカルエリア、またはパーソナルエリアであり得る地理的範囲に従って分類され得る。そのようなネットワークは、それぞれ、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、NAN、またはパーソナルエリアネットワーク(PAN)として指定されることになる。ネットワークはまた、様々なネットワークのノードおよびデバイスを相互接続するために使用されるスイッチング/ルーティング技法(たとえば、回線交換対パケット交換)、送信のために利用される物理媒体のタイプ(たとえば、有線対ワイヤレス)、ならびに使用される通信プロトコルのセット(たとえば、インターネットプロトコル群、SONET(同期光ネットワーク)、イーサネット(登録商標)など)により異なる。
【０００４】
ネットワーク要素が移動式であり、したがって、動的に接続する必要性があるとき、またはネットワークアーキテクチャが、固定されたトポロジーではなくアドホックなトポロジーで形成される場合、ワイヤレスネットワークが好ましいことが多い。ワイヤレスネットワークは、無線、マイクロ波、赤外線、光などの周波数帯域の中の電磁波を使用して、無形物理媒体を非誘導伝搬モードで採用する。ワイヤレスネットワークは、有利なことに、固定有線ネットワークと比較してユーザモビリティおよび迅速なフィールド配置を容易にする。
【０００５】
ワイヤレスネットワークのデバイスは、互いに情報を送信するおよび/または互いから情報を受信することができる。様々な通信を行うために、ワイヤレスデバイスは、プロトコルに従って協調することができる。したがって、ワイヤレスデバイスは、それらの活動を協調させるために、情報を交換することができる。ワイヤレスネットワーク内において送受信通信を協調させるための改善されたシステム、方法、およびワイヤレスデバイスが望まれる。
【発明の概要】
【課題を解決するための手段】
【０００６】
本明細書で論じるシステム、方法、デバイス、およびコンピュータ可読媒体は、それぞれ複数の態様を有し、それらのうちの単一のものが単独で、その望ましい属性を担うことはない。以下の特許請求の範囲によって表される本発明の範囲を限定することなく、いくつかの特徴が以降で簡単に説明される。この議論を考慮した後で、また特に「発明を実施するための形態」と題するセクションを読んだ後で、本発明の有利な特徴が、媒体上でデバイスを導入するとき、改善された効率をどのように含むかが理解されよう。
【０００７】
本開示の一態様は、ワイヤレス通信のための装置(たとえば、局)を提供する。この装置は、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成するように構成され得る。この装置は、第1のハッシュ値およびタイミング情報に基づくサービス識別子を生成するように構成され得る。サービス識別子は、パスワードおよび装置の媒体アクセス制御アドレスに基づき得る。この装置は、生成されたサービス識別子を送信するように構成され得る。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に従って本開示の態様が採用され得るワイヤレス通信システムの一例を示す図である。
【図２】一実施形態による、図1のワイヤレス通信システムにおいて採用され得るサービス識別子(ID)の生成に関する概念図である。
【図３Ａ】いくつかの実施形態に従って図2のサービスIDが利用され得るデータ構造表を示す図である。
【図３Ｂ】いくつかの実施形態に従って図3Aのサービス制御フィールドが利用され得るデータ構造表を示す図である。
【図４】サービス名のハッシュ値を含むサービスIDを備えたメッセージを生成および送信するための方法を示す図である。
【図５】ワイヤレスNAN内でサービス情報を送信するためのある例示的な方法のフローチャートである。
【図６】サービス名のハッシュ値を含むサービスIDを備えたメッセージを生成および受信するための方法を示す図である。
【図７】プライベートサービスIDを生成する第1の方法を示す図である。
【図８】プライベートサービスIDを生成する第2の方法を示す図である。
【図９】プライベートサービスIDを生成する第3の方法を示す図である。
【図１０】図1のワイヤレス通信システム内でサービスIDを生成および送信するワイヤレスデバイスのある例示的な機能ブロック図である。
【図１１】プライベートサービスIDを生成するためのある例示的な方法のフローチャートである。
【図１２Ａ】プライベートサービスIDを生成するためのある例示的な方法のフローチャートである。
【図１２Ｂ】プライベートサービスIDを生成するためのある例示的な方法のフローチャートである。
【図１２Ｃ】プライベートサービスIDを生成するためのある例示的な方法のフローチャートである。
【図１３】サービスIDを提供するある例示的なワイヤレス通信デバイスの機能ブロック図である。
【図１４Ａ】NAN動作に固有の追加の詳細を提供する図である。
【図１４Ｂ】NAN動作に固有の追加の詳細を提供する図である。
【図１５】ある例示的なサービス記述子属性を示す図である。
【発明を実施するための形態】
【０００９】
新規のシステム、装置、コンピュータ可読媒体、および方法の様々な態様が、添付の図面を参照しながら以下でより十分に説明される。しかしながら、本開示は、多くの異なる形態で具現化されてよく、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように提供される。本明細書の教示に基づいて、本開示の範囲が、本発明の何らかの他の態様とは無関係に実装されるにせよ、本発明の何らかの他の態様と組み合わせられるにせよ、本明細書で開示する新規のシステム、装置、コンピュータ可読媒体、および方法のいかなる態様をも包含するものであることを、当業者は諒解されたい。たとえば、本明細書に記載する態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本発明の範囲は、本明細書に記載される本発明の様々な態様に加えて、またはそれ以外の、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法を包含するものとする。本明細書で開示するいかなる態様も請求項の1つまたは複数の要素によって具現化され得ることを理解されたい。
【００１０】
特定の態様について本明細書において説明するが、これらの態様の多くの変形および置換が本開示の範囲内に入る。好ましい態様のいくつかの利益および利点について述べるが、本開示の範囲は、特定の利益、用途、または目的に限定されるものではない。そればかりではなく、本開示の態様は、異なるワイヤレス技法、システム構成、ネットワーク、および送信プロトコルに広く適用可能であるものであり、それらのうちのいくつかが例として図および好ましい態様の以下の説明において示される。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
【００１１】
普及しているワイヤレスネットワーク技術は、様々なタイプのWLANを含み得る。WLANは、広く使用されるネットワーキングプロトコルを採用して、近くのデバイスを互いに相互接続するために使用され得る。本明細書で説明する様々な態様は、ワイヤレスプロトコルなどの任意の通信規格に適用され得る。
【００１２】
いくつかの態様では、ワイヤレス信号は、直交周波数分割多重(OFDM)、直接シーケンススペクトラム拡散(DSSS)通信、OFDMとDSSS通信の組合せ、または他の方式を使用して、802.11プロトコルに従って送信され得る。802.11プロトコルの実装形態は、センサー、メータリング、およびスマートグリッドネットワークのために使用され得る。有利なことに、802.11プロトコルを実装するいくつかのデバイスの態様は、他のワイヤレスプロトコルを実装するデバイスよりも少ない電力しか消費しなくてよく、かつ/または、たとえば、約1キロメートル以上の比較的長い範囲にわたってワイヤレス信号を送信するために使用され得る。
【００１３】
いくつかの実装形態では、WLANは、ワイヤレスネットワークにアクセスする構成要素である様々なデバイスを含む。たとえば、2つのタイプのデバイス、すなわち、アクセスポイント(AP)およびクライアント(局または「STA」とも呼ばれる)があり得る。概して、APは、WLAN用のハブまたは基地局として働くことができ、STAは、WLANのユーザとして働く。たとえば、STAは、ラップトップコンピュータ、携帯情報端末(PDA)、モバイル電話などであり得る。一例では、STAは、インターネットまたは他のワイドエリアネットワークへの一般的な接続性を取得するために、Wi-Fi(たとえば、IEEE802.11プロトコル)準拠ワイヤレスリンクを介してAPに接続する。いくつかの実装形態では、STAはAPとして使用されることもある。
【００１４】
アクセスポイントはまた、ノードB、無線ネットワークコントローラ(RNC)、eノードB、基地局コントローラ(BSC)、トランシーバ基地局(BTS)、基地局(BS)、トランシーバ機能(TF)、無線ルータ、無線トランシーバ、接続ポイント、もしくは何らかの他の用語を備えるか、それらとして実装されるか、またはそれらとして知られていることがある。
【００１５】
局はまた、アクセス端末(AT)、加入者局、加入者ユニット、移動局、遠隔局、遠隔端末、ユーザ端末、ユーザエージェント、ユーザデバイス、ユーザ機器、もしくは何らかの他の用語を備えるか、それらとして実装されるか、またはそれらとして知られていることがある。いくつかの実装形態では、局は、セルラー電話、コードレス電話、セッション開始プロトコル(SIP)電話、ワイヤレスローカルループ(WLL)局、携帯情報端末(PDA)、ワイヤレス接続機能を有するハンドヘルドデバイス、またはワイヤレスモデムに接続された何らかの他の好適な処理デバイスを備えることがある。したがって、本明細書で教示する1つまたは複数の態様は、電話(たとえば、セルラーフォンまたはスマートフォン)、コンピュータ(たとえば、ラップトップ)、ポータブル通信デバイス、ヘッドセット、ポータブルコンピューティングデバイス(たとえば、携帯情報端末)、エンターテインメントデバイス(たとえば、音楽デバイスもしくはビデオデバイス、または衛星ラジオ)、ゲームデバイスもしくはゲームシステム、全地球測位システムデバイス、またはワイヤレス媒体を介して通信するように構成されている任意の他の好適なデバイスに組み込まれることがある。
【００１６】
「関連付ける」もしくは「関連付け」という用語、またはそれらの任意の変形は、本開示のコンテキスト内で可能な最も広い意味が与えられるべきである。例として、第1の装置が第2の装置に関連付けるとき、2つの装置が直接関連付けられてもよく、または中間的な装置が存在してもよいことを理解されたい。簡潔のために、2つの装置間で関連付けを確立するためのプロセスは、装置のうちの一方による「関連付け要求」と、それに後続する他方の装置による「関連付け応答」とを必要とする、ハンドシェイクプロトコルを使用して説明される。ハンドシェイクプロトコルが、例として、認証を提供するためのシグナリングなどの、他のシグナリングを必要とし得ることが当業者によって理解されよう。
【００１７】
本明細書において「第1の」、「第2の」などの呼称を使用する、要素のいかなる参照も、一般に、それらの要素の数量または順序を限定しない。むしろ、これらの指定は、2つ以上の要素間、または要素のインスタンス間を区別する都合のよい方法として本明細書で使用される。したがって、第1および第2の要素への参照は、2つの要素のみが採用され得ること、または第1の要素が第2の要素に先行しなければならないことを意味しない。加えて、項目のリスト「のうちの少なくとも1つ」を参照する句は、単一のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「A、B、またはCのうちの少なくとも1つ」は、A、もしくはB、もしくはC、またはそれらの任意の組合せ(たとえば、A-B、A-C、B-C、およびA-B-C)をカバーするものとする。
【００１８】
たとえば、STAのグループなどのワイヤレスデバイスは、近傍アウェアネットワーキングまたはソーシャルWi-Fiネットワーキングのために使用可能である。たとえば、ネットワーク内における様々な局は、STAの各々がサポートするアプリケーションに関してデバイスごとに(たとえば、ピアツーピア通信)互いに通信してよい。STAがSTA自体を(たとえば、発見パケットを送ることによって)宣伝するのを可能にし、ならびに他のSTAによって提供されるサービスを(たとえば、ページングパケットまたはクエリパケットを送ることによって)発見するのを可能にし、一方、安全な通信および低電力消費量を確保するためにソーシャルWi-Fiにおいて発見プロトコルを使用することが望ましい。発見パケットは、発見メッセージまたは発見フレームと呼ばれる場合もあることに留意されたい。ページングまたはクエリパケットはページングメッセージもしくクエリメッセージまたはページングフレームもしくはクエリフレームと呼ばれる場合もあることに留意されたい。
【００１９】
図1は、一実施形態に従って本開示の態様が採用され得るワイヤレス通信システム100の一例を示す。ワイヤレス通信システム100は、802.11規格などのワイヤレス規格に従って動作し得る。ワイヤレス通信システム100は、STA106と通信するAP104を含むことができる。いくつかの態様では、ワイヤレス通信システム100は、2つ以上のAPを含み得る。さらに、STA106は、他のSTA106と通信することができる。例として、第1のSTA106aは、第2のSTA106bと通信することができる。別の例として、第1のSTA106aは、第3のSTA106cと通信することができる。
【００２０】
様々なプロセスおよび方法が、AP104とSTA106との間、および第1のSTA106aなどの個別STAと、第2のSTA106bなどの別の個別STAとの間の、ワイヤレス通信システム100内での送信用に使用され得る。たとえば、信号は、OFDM/OFDMA技法に従って送られ、受信されることがある。この場合には、ワイヤレス通信システム100は、OFDM/OFDMAシステムと呼ぶことができる。あるいは、信号は、AP104とSTA106との間、および第1のSTA106aなどの個別STAと、第2のSTA106bなどの別の個別STAとの間で、CDMA技法に従って送られ、受信され得る。そうである場合、ワイヤレス通信システム100はCDMAシステムと呼ばれる場合がある。
【００２１】
AP104からSTA106のうち1つまたは複数への送信を容易にする通信リンクは、ダウンリンク(DL)108と呼ばれることがあり、STA106のうち1つまたは複数からAP104への送信を容易にする通信リンクは、アップリンク(UL)110と呼ばれることがある。代替的には、ダウンリンク108は順方向リンクまたは順方向チャネルと呼ぶことができ、アップリンク110は逆方向リンクまたは逆方向チャネルと呼ぶことができる。
【００２２】
通信リンクは、NAN内でソーシャルWi-Fiネットワーキング中になど、STA間で確立され得る。STA間のいくつかの考えらえる通信リンクが、図1に示されている。例として、通信リンク112は、第1のSTA106aから第2のSTA106bへの送信を容易にし得る。別の通信リンク114が、第2のSTA106bから第1のSTA106aへの送信を容易にし得る。
【００２３】
AP104は、基地局として動作し、基本サービスエリア(BSA)102内でワイヤレス通信カバレッジを提供し得る。AP104は、AP104に関連付けられ、通信のためにAP104を使用するSTA106とともに、基本サービスセット(BBS)と呼ぶことができる。ワイヤレス通信システム100は、中央AP(たとえば、AP104)を有する場合があるのではなく、むしろ、STA106間のピアツーピアネットワークとして機能できることに留意されたい。したがって、本明細書で説明するAP104の機能は、代替的には、STA106のうちの1つまたは複数によって実行することができる。
【００２４】
ある態様では、STA106aはサービスID構成要素126を含み得る。サービスID構成要素126は、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成し、第1のハッシュ値およびタイミング情報に基づいてサービス識別子を生成するように構成され得る。サービス識別子はまた、パスワードおよびSTA106aの媒体アクセス制御アドレスに基づき得る。STA106aは、生成されたサービス識別子を送信するように構成され得る。
【００２５】
様々な実施形態によるシステムおよび方法は、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暗号鍵(たとえば、パスワード)を示すための(図3Bを参照してさらに論じるような)プライバシービットを含んでよい。いくつかの実施形態では、プライベートサービスID設定を示すために、追加のプライバシー構成パラメータをソフトウェアアプリケーション内に含めることができる。いくつかの態様では、ソフトウェアアプリケーション内のプライベートサービスID設定の指示は、プライベートサービスID設定のプライバシービット指示とは個別かつ無関係であってよい。ハッシュ値は、サービス名、サービスID暗号鍵、および/またはタイミング情報に基づき得る。プライバシー構成パラメータなしにハッシュ値としてサービスIDを利用するシステムと比較して、サービスID暗号鍵および/またはタイミング情報に基づくハッシュ値としてプライベートサービスIDを利用するシステムは、プライベートサービスIDの暗号化を可能にし得、NANネットワークにおけるサービスのさらなるプライバシーを可能にし得る。
【００２６】
いくつかの実施形態では、ワイヤレスデバイスは、他のワイヤレスデバイスが利用することができるサービスを提供し得る。これらのサービスは、ゲームサービスまたはソーシャルネットワーキングサービスに限定されないが、これらなど、別のワイヤレスデバイス上で生成された情報または別のワイヤレスデバイスに関して生成された情報を使用しながら、あるワイヤレスデバイス上で実行するように構成されたソフトウェアアプリケーションによって提供され得る。これらのサービスは、ワイヤレスデバイス間でパケット化された通信内でサービスIDを使用してワイヤレスデバイス間で識別され得る。サービスIDのサイズは、6バイトに限定されないが、6バイトなど、可変であってよい。
【００２７】
上記で論じたように、サービスIDのプライバシーを高めるためにハッシュ値を生成する際に、サービスID暗号鍵(たとえば、パスワード)および/またはタイミング情報を利用することができる。プライバシー構成パラメータなしにサービス名のハッシュ値として生成されたサービスIDは、第三者がエリア内でどのサービスが使用されているか、およびサービスに関して利用される頻度または長さを決定することを可能にし得る。サービスプロバイダまたはサービス使用者はそのサービス使用が監視されることを望まない場合があるため、第三者によるサービス使用の監視は望ましくない場合がある。いくつかの実施形態では、望ましくない、第三者によるサービスの監視の可能性は、サービス名のハッシュ値としてプライベートサービスIDを生成することによって低減することができ、ハッシュ値は、サービスID暗号鍵および/またはタイミング情報に基づく。
【００２８】
いくつかの実施形態では、プライバシービット構成パラメータは、サービス名、タイミング情報、および/またはサービスID暗号鍵に基づくハッシュ値としてサービスIDを生成するように発見エンジンに指示することができる。他の実施形態では、ソフトウェアアプリケーションが、サービス名、タイミング情報、および/またはサービスID暗号鍵に基づくハッシュ値としてサービスIDを生成するように発見エンジンに指示することができる。NAN内のクラスタIDまたは現在の時刻(現在のUTC値)など、他の値をハッシュ計算に含めることもできる。いくつかの実施形態では、SDFのサービス発見属性内で搬送され得るサービスIDは次のように設定され得る：サービスID=6バイトの(HASH(service_name,サービスID暗号鍵,タイミング情報)に切り捨て(Truncate)。いくつかの実施形態では、タイミング情報は、いくつかの最下位ビット(たとえば、最後の8ビット、16ビット、17ビット)を除去した現在発見ウィンドウ(DW)のタイムスタンプの一部分であり得る。いくつかの実施形態では、タイミング情報は、DWの開始時間を示すタイムスタンプ値であり得る。いくつかの実施形態では、タイミング情報は、DWに基づいて周期的にサンプリングされたタイムスタンプ値であり得る。たとえば、いくつかの態様では、タイムスタンプ値は、DWの開始時間を含んでよく、16個のDWごと、8個のDWごと、4個のDWごと、2個のDWごと、またはDWごとにサンプリングされる。他の態様では、他の考えられるサンプル期間が可能である。他の実施形態では、タイミング情報は、時間間隔の経過を測定するローリングインデックスまたはローリングカウンタであってよい。他の実施形態では、タイミング情報は、協定世界時(UTC)または他のタイミングシステムであってよい。サービスIDをタイミング情報に部分的に基づかせることによって、サービスIDは、タイミング情報が変化すると(たとえば、500ミリ秒ごとに)値を変更することができ、もう1つのプライバシー層を提供し得るが、これは、各タイミング間隔において新しいサービスIDを生成することによって、第三者はサービス名を取得するために生成された各プライベートサービスIDを解読しなければならないことになるためである。
【００２９】
いくつかの実施形態では、ハッシュ関数の利用または適用によって、ハッシュ値を生成することができる。ハッシュ関数は、可変長の入力ストリングを固定長のハッシュ値にマッピングするアルゴリズムである。いくつかの実施形態では、入力ストリングはサービス名を含み得る。本明細書で開示するいくつかの実施形態において、様々なタイプのハッシュ関数を利用することができる(たとえば、MD5、セキュアハッシュアルゴリズム(SHA)、巡回冗長検査(CRC)など)。いくつかの実施形態では、計算的な限界がハッシュ関数を使用することができる回数を限定し得る。たとえば、ハッシュ関数が大量の計算能力および/または計算時間を必要とする場合(たとえば、SHA-256)、発見ウィンドウごとにハッシュ関数を使用することは非現実的になり得る。これらの限界のうちのいくつかを克服するために、2つ以上のハッシュ関数またはステップを使用して、サービスIDを生成することが有益であり得る。
【００３０】
いくつかの実施形態では、発見エンジンは、高計算(HC：high computation)ハッシュおよび/または低計算(LC：low computation)ハッシュの組合せを使用することができる。LCハッシュは、HCハッシュより低い計算能力および/または少ない時間を必要とする。たとえば、発見エンジンまたは発見プロセッサは、次のように、HCハッシュ(たとえば、SHA-256)を使用して、第1のサービスIDを計算することができる：サービスID-1=6バイトの(SHA-256(service_name))に切り捨て。発見エンジンまたは発見プロセッサは、次いで、第1のサービスIDに少なくとも部分的に基づいて、LCハッシュ(たとえば、CRC-64、SHA-3、小型暗号化アルゴリズム(TEA))を使用して、次のように、第2のサービスID(および/または各後続のサービスID)を計算することができる：サービスID-2=6バイトの(LCHash(f(サービスID-1,サービスID暗号鍵,タイミング情報)))に切り捨て。いくつかの実施形態では、関数fは、サービスID名、暗号鍵、および/またはタイミング情報の連結であり得る。他の実施形態では、関数fは、タイミング情報(たとえば、タイムスタンプ)、サービスID、および/または暗号鍵のビット単位の排他的OR(XOR)、または他のビット単位の演算であり得る。
【００３１】
発見エンジンまたは発見プロセッサが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|truncate(サービスID-1,4)になるように、サービスID-1の連結であり得る。いくつかの態様では、発見エンジンまたは発見プロセッサは、タイミング情報(たとえば、タイムスタンプまたはタイミング同期機能)に基づいて、またはタイミング情報と、第2の暗号鍵、ナンス、クラスタ識別子、または送信機媒体アクセス制御(MAC)アドレスのうちの1つまたは複数とに基づいて、値vを作成することができる。ナンスは、クラスタのアンカーマスタノードによって告知される数であり得る。発見エンジンまたは発見プロセッサは、上記で説明した、計算されたkおよびvの値を使用して、TEAアルゴリズムの結果を48ビットに切り捨てることによって、上記で説明したサービスID-2を作成することができる。TEAアルゴリズムは64ビットの結果をもたらすため、切捨ては望ましい場合がある。TEAアルゴリズムを使用することはいくつかの利益を有し得る。たとえば、TEAは完全な拡散を実現するため、TEAは暗号解析に対して高耐性であり得る(たとえば、入力における1ビットの差は、暗号文においておよそ32ビットの差を生じさせる)。さらに、TEAは低い計算オーバーヘッドを必要とする。
【００３２】
下記は、上記で説明したTEAアルゴリズムに関するサンプルコードである。
tea_code(long*v,long*k)
{
/*longは4バイト。*/
unsigned long v0=v[0],v1=v[1];
unsigned long k0=k[0],k1=k[1],k2=k[2],k3=k[3];
unsigned long sum=0;
unsigned long delta=0x9e3779b9,n=32;
while (n-- >0) {
sum+=delta;
v0+=(v1<<4)+k0^v1+sum^(v1>>5)+k1;
v1+=(v0<<4)+k2^v0+sum^(v0>>5)+k3;
}
v[0]=v0;
v[1]=v1;
}
【００３３】
本明細書で説明する、いくつかのハッシュ関数および暗号化アルゴリズムは、いくつかのデータブロックサイズ要件を有し得る。したがって、いくつかのハッシュ関数および暗号化アルゴリズムは、各関数に対するデータブロックサイズ要件に適応するために何らかのパディングを必要とし得る。パディングは、ブロックサイズ要件を満たすための任意の知られている(たとえば、サービスプロバイダおよび加入者によって知られている)ビットのパターンであり得る。たとえば、パターンは、すべての「0」ビット、すべての「1」ビット、または「1」および「0」の組合せを含み得る。
【００３４】
ハッシュ関数は指示的に透明であり得、その場合、何らかの入力ストリングが同じハッシュ値にマッピングされるべきである。それによって、その逆も同様であり、同じハッシュ値は、同じハッシュ値を生成するために利用される同じ入力ストリングを示し得る。いくつかの実施形態では、受信されたハッシュ値として受信されたサービスIDを基準ハッシュ値と比較して、サービス名および受信されたサービスIDが関連付けられる予想されるタイプのメッセージを決定することができる。上記で論じたように、このマッピングは、第三者にハッシュ値から入力ストリング(サービス名)を決定させ、ある種のサービスを監視させる場合がある。いくつかの実施形態では、デバイスが発行関数を介してサービスプロバイダからプライベートサービスIDを受信するとき、デバイスはそのサービスに加入することを望む場合がある。いくつかの態様では、発見エンジンは、デバイスがそのサービスに加入することができるように、発行関数に関して使用されるハッシュ関数に基づいてマッチすべき正確なプライベートサービスIDを作成する。いくつかの態様では、発見エンジンは、デバイスがサービスに加入することができるように、発行関数に関して使用されるサービス名に基づいてマッチすべきプライベートサービスIDを作成する。
【００３５】
図1のワイヤレス通信システムにおいて採用され得るサービスIDの生成に関する概念図が、いくつかの実施形態に従って図2に示される。概念図は、入力ストリング206が、ハッシュ関数212を介してハッシュ値210に変換され得るサービス名204を含むことを示す。サービスID202は、サービスを識別するために、ワイヤレスデバイス間のパケット化通信において使用され得る。サービスIDは、図3Aおよび図3Bに示す実施形態(に限定されないが)など、サービスを識別するためにパケットのフィールド内で位置特定され得る。
【００３６】
いくつかの実施形態に従って図2のサービスID202を利用することができる表の形で第1のデータ構造を図3Aに示す。表300は、属性に関して、パケットの様々なフィールドがNANネットワーク内においてワイヤレスデバイス間でどのように通信され得るかを示す。サービス発見属性またはサービス識別子属性に限定されないが、これらなど、様々な実施形態に従って、任意のタイプの属性を利用することができる。パケットは、属性を識別する属性IDフィールド301を含み得る。フィールドのサイズは、1バイトであってよく、このフィールドの値は0x06(16進)であり得る。パケットは、サービス名およびメッセージのタイプを識別する情報に限定されないが、これらなど、多様な入力ストリングのハッシュを含み得るサービスID302を含んでもよい。サービスIDフィールド302は、6バイトであってよく、可変値であってよい。パケットは、サービス制御ビットマップを定義する可変値を有する1バイトのサービス制御フィールド303を含んでもよい。パケットは、1バイトのものであり、かつマッチングサービス発見フィルタがその属性に関連付けられる場合に存在するオプションのフィールドである可変値のものであるマッチングフィルタ長フィールド304を含んでもよい。マッチングフィルタフィールド305は、可変サイズと可変値とを含むものであってもよい。マッチングフィルタフィールド305は、マッチングサービス発見フィルタを識別する長さと値の対のシーケンスであるオプションのフィールドであり得る。1バイトおよび可変値のサービス応答フィルタ長フィールド306が含まれてよい。サービス応答フィルタ長フィールド306は、オプションのフィールドであってよく、サービス応答フィルが使用される場合、存在してよい。可変サイズおよび可変値のサービス応答フィルタフィールド307を利用することもできる。サービス応答フィルタフィールド307は、マッチングサービス応答フィルタを識別する長さと値の対のシーケンスであり得る。1バイトおよび可変値のオプションのサービス情報長フィールド308は、サービス固有情報を含んでよい。1バイトおよび可変値のサービス情報フィールド309は、サービス固有情報を含んでよい。本明細書で論じる様々なサイズおよび値は例示であり、他のフィールドサイズおよび値が適用可能
であり得る。
【００３７】
ある実施形態に従って図3Aのサービス制御フィールドが利用され得る表の形で第2のデータ構造を図3Bに示す。表350は、図3Aの異なるビットのサービス制御フィールドがNANネットワークにおいてワイヤレスデイバス間でどのように通信され得るかを示す。サービス制御フィールドは、メッセージが発行タイプであるかどうかを示すビット0を含み得る。サービス制御フィールドは、メッセージが加入タイプであるかどうかを示すビット1を含んでもよい。サービス制御フィールドは、メッセージがフォローアップタイプであるかどうかを示すビット2を含んでもよい。サービス制御フィールドは、マッチングフィルタフィールドがサービス記述子要素内に存在するかどうかを示すビット3を含み得る。サービス制御フィールドは、サービス応答フィルタがサービス記述子要素内に存在するかどうかを示すビット4を含んでもよい。サービス制御フィールドは、サービス情報フィールドがサービス記述子要素内に存在するかどうかを示すビット5を含んでもよい。サービス制御フィールドは、ビット6、すなわち、サービスIDがサービスID暗号鍵および/またはタイミング情報に基づいて生成されるプライベートサービスIDであるかどうかを示すプライバシービットを含んでもよい。サービス制御フィールドは、将来の使用のために予約され得るビット7および8を含んでもよい。
【００３８】
図4は、サービス名のハッシュ値を含むサービスIDを備えたメッセージを生成および送信するための方法400を示す。ハッシュ値は、暗号鍵および/またはタイミング情報に基づいて計算され得る。いくつかの実施形態では、方法400は、下記で説明するように、図10のワイヤレスデバイス1002によって実行され得る。図4の方法400は特定の順序で示されるが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるかまたは省略されてもよく、かつさらなるブロックを追加することができる。示した実施形態のプロセスは、生成されたメッセージを処理および送信するように構成することができる任意のワイヤレスデバイスにおいて実装されてよいことを、当業者は諒解されよう。
【００３９】
ブロック402において、ワイヤレスデバイスは、第1のサービス識別子を含む第1のメッセージを生成することができる。第1のサービス識別子は、サービス名およびタイミング情報に基づく第1のハッシュ値を含む。第1のハッシュ関数を適用することによって第1のハッシュ値を生成することができる。ブロック404において、次いで、第1のメッセージをワイヤレスデバイスから送信することができる。いくつかの実施形態では、タイミング情報は、タイムスタンプ値の一部を含んでよく、または時間間隔カウンタの値を含んでもよい。
【００４０】
いくつかの実施形態では、ワイヤレスデバイスは、図4の方法400を実行することができる。いくつかの実施形態では、ワイヤレスデバイスは、第1のサービス識別子を含む第1のメッセージを生成するための手段を含み得る。第1のサービス識別子は、サービス名およびタイミング情報に基づく第1のハッシュ値を含んでよく、第1のハッシュ値は第1のハッシュ関数を適用することによって生成することができる。いくつかの実施形態では、第1のメッセージを生成するための手段は、ブロック402(図4)に関する機能のうちの1つまたは複数を実行するように構成することが可能である。様々な実施形態では、第1のメッセージを生成するための手段は、プロセッサ1004またはデジタル信号プロセッサ(DSP)1020(図10)によって実装されることが可能である。いくつかの実施形態では、生成するための手段は、汎用コンピュータ上で実行されるステップのセットを含み得る。たとえば、コンピュータは、プライベートサービスIDを作成する要求を受信することができる。コンピュータは、次いで、暗号鍵および/またはタイミング情報をサービスIDに適用することができる。コンピュータは、次いで、ハッシュ関数アルゴリズムを使用して、暗号鍵および/またはタイミング情報に基づいて、プライベートサービスIDを表すサービス名のハッシュ値を生成することができる。
【００４１】
ワイヤレスデバイスは、第1のメッセージを送信するための手段をさらに含み得る。いくつかの実施形態では、送信するための手段は、ブロック404(図4)に関して上述した機能のうちの1つまたは複数を実行するように構成され得る。様々な実施形態では、送信するための手段は、送信機1010(図10)によって実装されることが可能である。
【００４２】
図5は、ワイヤレスNAN内でサービス情報を送信するための1つの例示的な方法500のフローチャートである。いくつかの実施形態では、方法500は、図10のワイヤレスデバイス1002によって実行され得る。図5の方法500は特定の順序において示されるが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるかまたは省略されてもよく、かつさらなるブロックを追加することができる。示した実施形態のプロセスは、生成されたメッセージを処理および送信するように構成することができる任意のワイヤレスデバイスにおいて実装されてよいことを、当業者は諒解されよう。
【００４３】
ブロック502において、ワイヤレスデバイスはパケットを受信することができる。いくつかの実施形態では、パケットはサービス発見フレームを含み得る。ブロック504において、ワイヤレスデバイスは、パケットを復号して、パケット内のプライバシービットが設定されているかどうかを決定することができる。されていない場合、ブロック506において、デバイスは、非プライベートサービスID(たとえば、暗号化されていないサービスID)を備えたメッセージを送信することができる。プライバシービットが設定されている場合、ブロック508において、ワイヤレスデバイスは、サービス名のハッシュとして、第1のプライベートサービスIDを生成することができる。いくつかの実施形態では、ワイヤレスデバイスは、上記で論じたように、HCハッシュ(たとえば、SHA-256)を使用して第1のサービスIDを計算することができる。いくつかの実施形態では、ワイヤレスデバイスは、第1のサービスIDを備えたメッセージを送信することができる。ブロック510において、ワイヤレスデバイスは、次いで、第1のプライベートサービスIDに少なくとも部分的に基づいて、LCハッシュ(たとえば、CRC-64、SHA-3、小型暗号化アルゴリズム(TEA))を使用して、第2のサービスID(および/または、各後続のサービスID)を計算することができる。たとえば、第2のプライベートサービスIDを次のように計算することができる：サービスID-2=6バイトの(LCHash(f(サービスID-1,サービスID暗号鍵,タイミング情報)))に切り捨てる。ブロック512において、ワイヤレスデバイスは、第2のプライベートサービスIDを備えたメッセージを送信することができる。いくつかの実施形態では、メッセージは別のサービス発見フレームを含み得る。いくつかの態様では、ワイヤレスデバイスは、第1のサービスIDを備えたメッセージを送信した後で、第2のサービスIDを備えたメッセージを送信することができる。
【００４４】
図6は、サービス名のハッシュ値を含むサービスIDを備えたメッセージを生成および受信するための方法600を示す。ハッシュ値は、暗号鍵および/またはタイミング情報に基づいて計算され得る。いくつかの実施形態では、方法600は、図10のワイヤレスデバイス1002によって実行され得る。方法600は特定の順序で示されるが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるかまたは省略されてもよく、かつさらなるブロックを追加することができる。示した実施形態のプロセスは、生成されたメッセージを処理および送信するように構成することができる任意のワイヤレスデバイスにおいて実装されてよいことを、当業者は諒解されよう。
【００４５】
ブロック602において、ワイヤレスデバイスは、サービス識別子を含む第1のメッセージを受信する。サービス識別子はサービス名のハッシュ値を含むことができ、ハッシュ値は暗号鍵および/またはタイミング情報に基づいて計算することができる。ブロック604において、ワイヤレスデバイスは、サービス識別子を含む第2のメッセージを生成することができる。第2のメッセージのサービス識別子は第1のメッセージのサービス名に基づき得る。いくつかの実施形態では、タイミング情報は、タイムスタンプ値の一部を含んでよく、または時間間隔カウンタを含んでもよい。
【００４６】
いくつかの実施形態では、ワイヤレスデバイスは、図1のワイヤレス通信システムにおいて図6の方法600を実行するために採用され得る。ワイヤレスデバイスは、第1のメッセージを受信するための手段を含んでよく、第1のメッセージはサービス識別子を含む。サービス識別子は、サービス名のハッシュ値を含むことができ、ハッシュ値は暗号鍵および/またはタイミング情報に基づいて計算することができる。いくつかの実施形態では、メッセージを受信するための手段は、ブロック602(図6)に関する機能のうちの1つまたは複数を実行するように構成され得る。様々な実施形態では、メッセージを受信するための手段は、受信機1012、プロセッサ1004、またはDSP1020(図10)によって実装されることが可能である。
【００４７】
ワイヤレスデバイスは、サービス識別子を含む第2のメッセージを生成するための手段をさらに含み得る。第2のメッセージのサービス識別子は、第1のメッセージのサービス名に基づき得る。いくつかの実施形態では、生成するための手段は、ブロック604(図6)に関して上述した機能のうちの1つまたは複数を実行するように構成され得る。様々な実施形態では、生成するための手段は、プロセッサ1004またはDSP1020(図10)によって実装されることが可能である。いくつかの実施形態では、生成するための手段は、汎用コンピュータ上で実行されるステップのセットを含み得る。たとえば、コンピュータは、プライベートサービスIDを含み得る第1のメッセージを受信することができる。コンピュータは、次いで、暗号鍵および/またはタイミング情報をサービスIDに適用することができる。コンピュータは、次いで、ハッシュ関数アルゴリズムを使用して、第1のメッセージのプライベートサービスIDにマッチするサービス名のハッシュ値を生成することができる。
【００４８】
図4〜図6におけるいくつかのブロックをどのように実装することができるかを示すために、いくつかの実施形態では、探索ワイヤレスデバイスはサービスを探索するように構成され得る。探索ワイヤレスデバイスは、サービス識別子を含む加入メッセージ(または、加入サービス要求メッセージ)を生成することができ、サービス識別子は、求められているサービスの名前のハッシュ値を含み、ハッシュ値は、暗号鍵および/またはタイミング情報に基づいて計算される(ブロック402)。探索ワイヤレスデバイスは、生成されたメッセージを送信することもできる(ブロック404)。
【００４９】
サービス提供デバイスは、サービス名のハッシュ値としてサービスIDを含む加入メッセージ(または、加入サービス要求メッセージ)を受信することができ、ハッシュ値は暗号鍵および/またはタイミング情報に基づいて計算される(ブロック602)。いくつかの実施形態では、サービス提供デバイスは、サービス識別子を含む発行メッセージ(または、発行サービス告知メッセージ)を生成することができる。第2のメッセージのサービス識別子は、加入メッセージのサービス名に基づき得る(ブロック604)。いくつかの実施形態では、サービス提供デバイスは、サービスを発行することとサービスに加入することの両方のために発行メッセージと加入メッセージの組合せを生成することもできる。
【００５０】
ユーザまたはユーザのグループが提供されるまたは使用されている1つまたは複数のサービスを広告するとき、その広告/メッセージの意図されない(たとえば、第三者)受信者は、その情報を使用して、ユーザおよび/またはユーザのグループを監視することができる。たとえば、有名人のワイヤレスデバイスは、それらの有名人が使用する様々なサービスおよびアプリケーションのサービスIDを広告することができる。有名人を追跡しようとする第三者は、それらの有名人を追跡するために同じサービスIDを探すことができる。したがって、ワイヤレスデバイスにおいて使用されるアプリケーションに関してより高いプライバシーを人々に提供する必要が存在する。
【００５１】
誰かを追跡するためまたはプロファイリングするために、サービスのサービスIDまたはアプリケーションが使用される場合、特定のサービス名に対応する活動を探している追跡者からユーザを保護することができる。一態様では、共有パスワード(たとえば、人々のグループだけに知られているパスワード)を使用することによって、サービスに関連付けられたサービス名を不明瞭にすることができる。別の態様では、周期ベースまたは非周期ベースでサービスIDを変更することができる。サービスIDは、デバイスID(たとえば、MACアドレス)によってさらに不明瞭にすることができる。
【００５２】
1つのシナリオでは、サービス名を仮定して、スニファはどのSTAがサービスを現在使用しているかを決定し、サービスの一部分であるデバイスのグループを決定することができる。そのようなスニッフィングをさらに困難にするために、サービスの「現在の」名前が必要とされるグループにだけ知られている帯域外方法を使用して、様々な時点においてサービス名を変更することができる。一態様では、NAN発見エンジン(DE)は、サービスがサービス名とともに、「共有鍵」またはパスワード(たとえば、暗号鍵)を特定するための方法を提供する。この態様では、サービスIDを生成するために、パスワードをサービス名でハッシュすることができる。
【００５３】
別のシナリオでは、デバイスによって送信されたサービス発見フレームSDF内で同じサービスIDが送られていることを単に観察することによって、サービスを使用しているデバイスを経時的に追跡することができる。追跡を防ぐために、サービスIDハッシュを作成するとき、NANタイムスタンプを組み込むことによって、サービスに関するサービスIDは経時的に変化し得る。NANタイムスタンプは、タイミング同期機能に基づき得る。
【００５４】
別のシナリオでは、デバイスのグループ内で各デバイスが同じサービスIDを使用していることを観察することによって、デバイスのグループ間の対話を追跡することができる。デバイスのグループが同じサービスIDを含むSDFを交換していると観察することによって、同じサービスに関心があるデバイスのグループを決定することができる。追跡を防ぐために、各デバイスのMACアドレスをサービスIDにハッシュすることができる。したがって、デバイス間の対話は共通サービスIDに関連付けられなくてよい。下記の図7〜図9は、サービスIDをさらにプライベートにし、追跡/プロファイルしにくくするために使用することができる様々な方法について論じる。
【００５５】
図7は、プライベートサービスIDを生成する第1の方法700を示す。図7を参照すると、ユーザは特定のアプリケーション/サービスを使用している場合がある。サービスを開始するために、ユーザはパスワード(たとえば、アプリケーションパスワードまたはグループパスワード)を入力することができる。別の態様では、パスワードはアプリケーションまたはサービスにすでに知られている場合があり、パスワードは、ユーザおよび/またはアプリケーションが実行しているワイヤレスデバイスに固有であり得る(たとえば、登録されたプロダクトキー)。サービスが開始されるとき、サービスは、サービスを識別/広告するために、近くにあり得る他のユーザにサービスIDを送信することができる。一態様では、サービスIDを生成するために、ワイヤレスデバイスは、第1のハッシュ関数を使用して第1のハッシュ値を生成することができる。第1のハッシュ関数を、サービス、パスワード、およびワイヤレスデバイスのMACアドレス(たとえば、firsthash(サービス名,パスワード,MACアドレス))に関連付けられたサービス名に適用することができる。第1のハッシュ関数は、NAN DEハッシュ(たとえば、セキュアハッシュアルゴリズム、巡回冗長検査、または小型暗号化アルゴリズム)であり得る。その後、第1のハッシュ値、およびNANクロック(たとえば、NANクラスタ内のすべてのデバイスが同期される、NANクラスタ内の共通クロック)に基づくタイムスタンプは第2のハッシュ関数を受け、第2のハッシュ値を生成することができる。第2のハッシュ値はサービスIDであり得る。NANクロックは、NANに関連付けられたタイミング同期機能であり得る。一態様では、第2のハッシュ関数は、サービスIDを生成する目的でCPUサイクルを節約するために、上記で論じたように、低計算ハッシュ関数であり得る。サービスIDである第2のハッシュ値を生成した後で、ワイヤレスデバイスは、たとえば、サービスIDをNAN内で(たとえば、ビーコンメッセージ内で)他のデバイスに送信することができる。一態様では、この方法は、アルゴリズムサービスID=secondhash(firsthash(サービス名,パスワード,MACアドレス)、タイムスタンプ)によって表され得る。一態様では、NAN DE SHA-1ハッシュが第1のハッシュ関数として使用される場合、サービスIDを受信しているワイヤレスデバイスは、加入/発行されているサービスとのマッチが存在するかどうかを判定するために、受信されたすべてのSDFに関するSHA-1ハッシュを計算することが必要とされ得る。
【００５６】
図8は、プライベートサービスIDを生成する第2の方法800を示す図である。図8を参照すると、ユーザは特定のアプリケーション/サービスを使用している場合がある。サービスを開始するために、ユーザはパスワード(たとえば、アプリケーションパスワードまたはグループパスワード)を入力することができる。別の態様では、パスワードはアプリケーションまたはサービスにすでに知られている場合があり、パスワードは、ユーザおよび/またはアプリケーションが実行しているワイヤレスデバイスに固有であり得る(たとえば、プロダクトキー)。サービスが開始されるとき、サービスはサービスを広告および/または発行するためにサービスIDを送信することができる。一態様では、サービスIDを生成するために、ワイヤレスデバイスは、中間ハッシュ関数(たとえば、低計算ハッシュ関数)を使用してパスワードに基づいて中間ハッシュ値を生成することができる。中間ハッシュ値は、アルゴリズムintermediatehash(パスワード)によって生成され得る。図9に示すように、中間ハッシュ値を使用して、2つの鍵、すなわち、鍵1および鍵2を導出することができる。たとえば、中間ハッシュ値が32バイトを有する場合、中間ハッシュ値を第1の16バイト鍵(たとえば、鍵1)および第2の16バイト鍵(たとえば、鍵2)に分割することができる。その後、サービスに関連付けられたサービス名および鍵1は第1のハッシュ関数を受け、第1のハッシュ値(たとえば、firsthash(サービス名,鍵1))を生成することができる。第1のハッシュ関数は、NAN DEハッシュ(たとえば、セキュアハッシュアルゴリズム、巡回冗長検査、または小型暗号化アルゴリズム)であり得る。その後、第1のハッシュ値、鍵2、(たとえば、NANクロックに基づく)タイムスタンプ、およびワイヤレスデバイスのMACアドレスは第2のハッシュ関数(たとえば、secondhash(第1のハッシュ値,鍵2,タイムスタンプ,MACアドレス))を受けることができる。第2のハッシュ関数は低計算ハッシュ関数であってよく、これは受信機デバイスが低計算ハッシュを使用してマッチングシーケンスを迅速に計算することを可能にする。第2のハッシュ関数の結果、すなわち、第2のハッシュ値はサービスIDであり得る。ワイヤレスデバイスは、生成され
たサービスIDを含むメッセージをNAN内の(たとえば、ビーコンメッセージ内で)他のデバイスに送信することができる。一態様では、この方法は、アルゴリズムサービスID=secondhash(firsthash(truncatehash1(パスワード),サービス名)、truncatehash2(パスワード),タイムスタンプ,MACアドレス)によって表され得る。
【００５７】
図9は、プライベートサービスIDを生成する第3の方法900を示す図である。図9を参照すると、ユーザは特定のアプリケーション/サービスを使用している場合がある。サービスを開始するために、ユーザはパスワード(たとえば、アプリケーションパスワードまたはグループパスワード)を入力することができる。別の態様では、パスワードはアプリケーションまたはサービスにすでに知られている場合があり(たとえば、プロダクトキー)、パスワードは、ユーザおよび/またはアプリケーションが実行しているワイヤレスデバイスに固有であり得る。サービスが開始されるとき、サービスはサービスIDを送信することができる。一態様では、サービスIDを生成するために、ワイヤレスデバイスは、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成することができる。第1のハッシュ値は、第1のハッシュ関数をサービス名(たとえば、firsthash(サービス名))に適用することによって生成され得る。第1のハッシュ関数は、NAN DEハッシュ(たとえば、セキュアハッシュアルゴリズム、巡回冗長検査、または小型暗号化アルゴリズム)であり得る。その後、ワイヤレスデバイスは、第2のハッシュ関数を第1のハッシュ値、タイムスタンプ、パスワード、およびワイヤレスデバイスのMACアドレスに適用することによってサービス識別子(たとえば、secondhash(第1のハッシュ値,タイムスタンプ,パスワード,MACアドレス))を生成することができる。第2のハッシュ関数は低計算ハッシュであり得る。ワイヤレスデバイスは、生成されたサービスIDを含むメッセージを(たとえば、ビーコンメッセージ内で)他のデバイスに送信することができる。一態様では、この方法は、アルゴリズムサービスID=secondhash(firsthash(サービス名),タイムスタンプ,パスワード,MACアドレス)によって表され得る。
【００５８】
別の構成では、ワイヤレスデバイスは、SDF内でランダムサービスIDを含むサービス記述子属性を使用することができる。たとえば、ワイヤレスデバイスは、ワイヤレスデバイスによって発行された何らかのサービスに関連付けられないフォールス/偽メッセージを生成することができる。フォールス/偽メッセージは、ワイヤレスデバイスに関する任意のサービスに関連付けられないランダムに生成されたサービスIDを含み得る。フォールスサービスIDを生成した後で、ワイヤレスデバイスは、フォールス/偽メッセージ(たとえば、SDF内の偽SDA)内でフォールスサービスIDを広告することができる。偽サービスIDを送信することは、スニファがデバイスの対話を任意の特定のサービスIDにマッピングできることを防ぐことができる。
【００５９】
図10は、図1のワイヤレス通信システム100内でサービスIDを生成および送信するワイヤレスデバイス1002のある例示的な機能ブロック図を示す。ワイヤレスデバイス1002は、本明細書で説明する様々な方法を実装するように構成されてもよいデバイスの一例である。たとえば、ワイヤレスデバイス1002は、STA106のうちの1つを備えることができる。
【００６０】
ワイヤレスデバイス1002は、ワイヤレスデバイス1002の動作を制御するプロセッサ1004を含んでもよい。プロセッサ1004は、中央処理ユニット(CPU)とも呼ばれることもある。読取り専用メモリ(ROM)とランダムアクセスメモリ(RAM)の両方を含み得るメモリ1006は、命令およびデータをプロセッサ1004に提供し得る。メモリ1006の一部分はまた、不揮発性ランダムアクセスメモリ(NVRAM)を含み得る。プロセッサ1004は、一般に、メモリ1006内に記憶されたプログラム命令に基づいて論理演算と算術演算とを実行する。メモリ1006の中の命令は、本明細書で説明する方法を実装するように(たとえば、プロセッサ1004によって)実行可能であり得る。
【００６１】
プロセッサ1004は、1つまたは複数のプロセッサを用いて実装された処理システムの構成要素を備え得るか、またはそうした構成要素であり得る。1つまたは複数のプロセッサは、汎用マイクロプロセッサ、マイクロコントローラ、DSP、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、専用ハードウェア有限状態機械、または情報の計算または他の操作を実行することができる任意の他の好適なエンティティの任意の組合せを用いて実装され得る。
【００６２】
処理システムはまた、ソフトウェアを記憶するための機械可読媒体を含むことができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはその他と呼ばれようと、任意のタイプの命令を意味するものと広く解釈されなければならない。命令は、(たとえば、ソースコードフォーマット、バイナリコードフォーマット、実行可能コードフォーマット、または、任意の他の好適なコードのフォーマットにおける)コードを含むことができる。命令は、1つまたは複数のプロセッサによって実行されると、本明細書で説明する様々な機能を処理システムに実行させる。
【００６３】
ワイヤレスデバイス1002はまた、ハウジング1008を含み得、ワイヤレスデバイス1002は、ワイヤレスデバイス1002とリモートデバイスとの間でのデータの送信および受信を可能にするために送信機1010および/または受信機1012を含み得る。送信機1010および受信機1012は、トランシーバ1014に組み合わせられ得る。アンテナ1016は、ハウジング1008に取り付けられ得、トランシーバ1014に電気的に結合され得る。ワイヤレスデバイス1002はまた、複数の送信機、複数の受信機、複数のトランシーバ、および/または複数のアンテナを含んでよい。
【００６４】
ワイヤレスデバイス1002はまた、トランシーバ1014または受信機1012によって受信された信号のレベルを検出および数量化するために使用され得る信号検出器1018を含み得る。信号検出器1018は、そのような信号を、総エネルギー、シンボルごとのサブキャリア当たりのエネルギー、電力スペクトル密度、および他の信号として検出し得る。ワイヤレスデバイス1002は、信号を処理する際に使用できるデジタルシグナルプロセッサ(DSP)1020を含んでもよい。DSP1020は、送信のためのパケットを生成するように構成され得る。いくつかの態様では、パケットは、物理レイヤコンバージェンスプロシージャ(PLCP)プロトコルデータユニット(PPDU)を含むことができる。
【００６５】
ワイヤレスデバイス1002はさらに、いくつかの態様では、ユーザインターフェース1022を備え得る。ユーザインターフェース1022は、キーパッド、マイクロフォン、スピーカ、および/またはディスプレイを備え得る。ユーザインターフェース1022は、ワイヤレスデバイス1002のユーザに情報を伝え、かつ/またはそのユーザからの入力を受信する、任意の要素または構成要素を含み得る。
【００６６】
ワイヤレスデバイス1002がSTA(たとえば、第1のSTA106a)として実装されるとき、ワイヤレスデバイス1002はサービスID構成要素1024も含み得る。サービスID構成要素1024は、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成するように構成され得る。サービスID構成要素1024は、第1のハッシュ値およびタイミング情報に基づいてサービス識別子を生成するように構成され得る。サービス識別子は、パスワードおよびワイヤレスデバイス1002のMACアドレスにさらに基づき得る。サービスID構成要素1024は、生成されたサービス識別子を送信するように構成され得る。一態様では、サービスはNANサービスであってよく、送信されたサービス識別子はNANサービスの発見を可能にし得る。別の態様では、パスワードをNANサービスに、NAN内のデバイスのグループに、またはプロダクトキーに関連付けることができる。一構成では、MACアドレスおよびパスワードに基づいて第1のハッシュ値が生成され得る。この構成では、サービスID構成要素1024は、第1のハッシュ値およびタイミング情報に基づいて第2のハッシュ値を生成することによって、サービス識別子を生成するように構成され得、その場合、第2のハッシュ値はサービス識別子である。別の構成では、サービスID構成要素1024は、第1のハッシュ値、タイミング情報、MACアドレス、およびパスワードに基づいて、第2のハッシュ値を生成することによって、サービス識別子を生成するように構成され得る。この構成では、第2のハッシュ値はサービス識別子である。別の構成では、サービスID構成要素1024は、パスワードの中間ハッシュ値を生成することによって、かつパスワードの中間ハッシュ値に基づいて第1の鍵および第2の鍵を導出することによって、第1のハッシュ値を生成するように構成され得る。第1のハッシュ値は、サービス名および導出された第1の鍵に基づいて生成され得る。この構成では、生成されたサービス識別子は、タイミング情報、ワイヤレスデバイス1002のMACアドレス、中間ハッシュ値に基づいて導出された第2の鍵、および第1のハッシュ値のハッシュにさらに基づき得る。別の態様では、第1のハッシュ値は第1のハッシュ関数を使用して生成することができ、第1のハッシュ関数は、SH
A、CRC、またはTEAのうちの1つであり得る。別の態様では、サービス識別子は第2のハッシュ関数を使用して生成することができ、第2のハッシュ関数は第1のハッシュ関数とは異なり得る。別の構成では、サービスID構成要素1024は、ワイヤレスデバイス1002に関する任意のサービスに関連付けられない偽サービス識別子を送信するように構成され得る。一態様では、偽サービス識別子はランダムに生成され得る。
【００６７】
図11は、プライベートサービスIDを生成するためのある例示的な方法1100のフローチャートである。方法1100は、装置(たとえば、ワイヤレスデバイス1002)によって実行されてよい。方法1100は、図10のワイヤレスデバイス1002の要素に関して下で説明されるが、本明細書で説明する1つまたは複数のステップを実装するために、他の構成要素を使用することが可能である。さらに、図11の方法1100は特定の順序で示されるが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるかまたは省略されてもよく、かつさらなるブロックを追加することができる。
【００６８】
ブロック1105において、ワイヤレスデバイスは、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成し得る。一態様では、サービスは、NANに加入しているワイヤレスデバイスに利用可能なNANサービスである。一構成では、ワイヤレスデバイスは、ハッシュ関数を選択し、サービス名をハッシュ関数内に入力し、サービス名に基づいてハッシュ関数の出力を決定することによって、第1のハッシュを生成することができる。
【００６９】
ブロック1110において、ワイヤレスデバイスは、第1のハッシュ値およびタイミング情報に基づいてサービス識別子を生成することができる。サービス識別子は、パスワードおよびワイヤレスデバイスのMACアドレスにさらに基づき得る。一態様では、パスワードをNANサービスに、NAN内のデバイスのグループに、またはプロダクトキーに関連付けることができる。一構成では、ワイヤレスデバイスは、第2のハッシュ関数を選択することによって、第1のハッシュ関数とタイミング情報とを第2のハッシュ関数内に入力することによって、かつ第1のハッシュ値およびタイミング情報に基づいてハッシュ関数の出力を決定することによって、サービス識別子を生成することができる。
【００７０】
ブロック1115において、ワイヤレスデバイスは、生成されたサービス識別子を送信することができる。一態様では、送信されたサービス識別子は、他のワイヤレスデバイスによるNANサービスの発見を可能にする。
【００７１】
ブロック1120において、ワイヤレスデバイスは、ワイヤレスデバイスに関する任意のサービスに関連付けられない偽サービス識別子を送信することができる。偽サービス識別子はランダムに生成され得る。
【００７２】
図12A〜図12Cは、プライベートサービスIDを生成するためのある例示的な方法1200、1220、1240のフローチャートである。方法1200、1220、1240は、装置(たとえば、ワイヤレスデバイス1002)によって実行されてよい。方法1200は、図10のワイヤレスデバイス1002の要素に関して下で説明されるが、本明細書で説明する1つまたは複数のステップを実装するために、他の構成要素を使用することが可能である。さらに、図12の方法1200、1220、1240は特定の順序で示されるが、いくつかの実施形態では、本明細書のブロックは異なる順序で実行されるかまたは省略されてもよく、かつさらなるブロックを追加することができる。
【００７３】
図12Aを参照すると、ブロック1205において、ワイヤレスデバイスは、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成することができる。第1のハッシュ値は、MACアドレスおよびパスワードに基づいて生成され得る。たとえば、ワイヤレスデバイスは、NANゲームサービスの名前、ワイヤレスデバイスのMACアドレス、およびそのゲームサービスに関するユーザのアカウントに関連付けられたパスワードを(たとえば、SHAを使用して)ハッシュすることによって、第1のハッシュ値を生成することができる。
【００７４】
ブロック1210において、ワイヤレスデバイスは、第1のハッシュ値およびタイミング情報に基づいてサービス識別子を生成することができる。サービス識別子は、第1のハッシュ値およびタイミング情報のハッシュに基づいて生成される。たとえば、ワイヤレスデバイスは、第1のハッシュ値およびNANクロックタイムスタンプのCRCハッシュを実行することによって、サービス識別子を生成することができる。
【００７５】
ブロック1215において、ワイヤレスデバイスは、生成されたサービス識別子をNAN内の他のデバイスに送信することができる。
【００７６】
図12Bを参照すると、ブロック1225において、ワイヤレスデバイスは、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成することができる。たとえば、ワイヤレスデバイスは、NANファイル共有サービスの名前を(たとえば、SHAを使用して)ハッシュすることによって、第1のハッシュを生成することができる。
【００７７】
ブロック1230において、ワイヤレスデバイスは、第1のハッシュ値およびタイミング情報に基づいてサービス識別子を生成することができる。サービス識別子は、第1のハッシュ値、タイミング情報、MACアドレス、およびパスワードのハッシュに基づいて生成され得る。たとえば、ワイヤレスデバイスは、第1のハッシュ値、NANクロックタイムスタンプ、ワイヤレスデバイスのMACアドレス、およびNAN内のデバイスのグループに関連付けられたグループパスワードを(たとえば、TEAを使用して)ハッシュすることによってサービス識別子を生成することができる。したがって、グループに関連付けられないデバイスは、サービス識別子を復号することができない可能性がある。
【００７８】
ブロック1235において、ワイヤレスデバイスは、生成されたサービス識別子をNAN内の他のデバイスに送信することができる。
【００７９】
図12Cを参照すると、ブロック1245において、ワイヤレスデバイスは、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成することができる。第1のハッシュ値は、パスワードの中間ハッシュ値を生成することによって、かつパスワードの中間ハッシュ値に基づいて第1の鍵および第2の鍵を導出することによって生成され得る。第1のハッシュ値は、サービス名および導出された第1の鍵のハッシュであり得る。たとえば、ワイヤレスデバイスは、中間ハッシュ値を作成するために、NANゲームサービスに関連付けられたパスワード(たとえば、グループパスワード)をハッシュすることによって、第1のハッシュ値を生成することができる。ワイヤレスデバイスは、中間ハッシュ値を第1の鍵および第2の鍵に分割することができる。第1の鍵をNANゲームサービス名でハッシュして、第1のハッシュ値を生成することができる。
【００８０】
ブロック1250において、ワイヤレスデバイスは、第1のハッシュ値およびタイミング情報に基づいてサービス識別子を生成することができる。サービス識別子は、タイミング情報、MACアドレス、中間ハッシュ値に基づいて導出された第2の鍵、および第1のハッシュ値のハッシュであり得る。たとえば、ワイヤレスデバイスは、NANクロックタイムスタンプ、ワイヤレスデバイスのMACアドレス、中間ハッシュ値に基づいて導出された第2の鍵、および第1のハッシュ値を(たとえば、SHAを使用して)ハッシュすることによって、サービス識別子を生成することができる。
【００８１】
ブロック1255において、ワイヤレスデバイスは、生成されたサービス識別子をNAN内の他のワイヤレスデバイスに送信することができる。
【００８２】
図13は、サービスIDを提供するある例示的なワイヤレス通信デバイス1300の機能ブロック図である。ワイヤレス通信デバイス1300は、受信機1305と、処理システム1310と、送信機1315とを含み得る。処理システム1310は、1つまたは複数のハッシュ構成要素1326を含み得るサービスID構成要素1324を含み得る。サービスID構成要素1324および/または1つもしくは複数のハッシュ構成要素1326は、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成することができる。サービスID構成要素1324および/または1つもしくは複数のハッシュ構成要素1326は、第1のハッシュ値およびタイミング情報に基づいてサービス識別子を生成することができる。サービス識別子は、パスワードおよびワイヤレス通信デバイス1300のMACアドレスにさらに基づき得る。サービスID構成要素1324、1つもしくは複数のハッシュ構成要素1326、および/または送信機1315は、生成されたサービス識別子を送信するように構成され得る。一態様では、サービスはNANサービスであってよく、送信されたサービス識別子はNANサービスの発見を可能にし得る。別の態様では、パスワードをNANサービスに、NAN内のデバイスのグループに、またはプロダクトキーに関連付けることができる。別の構成では、第1のハッシュ値は、MACアドレスおよびパスワードに基づいて生成され得る。この構成では、サービスID構成要素1324および/または1つもしくは複数のハッシュ構成要素1326は、第1のハッシュ値およびタイミング情報に基づいて第2のハッシュ値を生成することによって、サービス識別子を生成するように構成され得る。この構成では、第2のハッシュ値はサービス識別子である。別の構成では、サービスID構成要素1324および/または1つもしくは複数のハッシュ構成要素1326は、第1のハッシュ値、タイミング情報、MACアドレスと、およびパスワードに基づいて第2のハッシュ値を生成することによって、サービス識別子を生成するように構成され得、その場合、第2のハッシュ値はサービス識別子である。別の構成では、サービスID構成要素1324および/または1つもしくは複数のハッシュ構成要素1326は、パスワードの中間ハッシュ値を生成することによって、かつパスワードの中間ハッシュ値に基づいて第1の鍵および第2の鍵を導出することによって、第1のハッシュ値を生成するように構成され得る。第1のハッシュ値は、サービス名および導出された第1の鍵に基づいて生成され得る。この構成では、生成されたサービス識別子は、タイミング情報、ワイヤレス通信デバイス1300のMACアドレス、中間ハッシュ値に基づいて導出された第2の鍵、および第1のハッシュ値のハッシュにさらに基づき得る。一態様では、第1のハッシュ値は、第1のハッシュ関数を使用して生成され得る。第1のハッシュ関数は、SHA、CRC、またはTEAのうちの1つであってよい。別の態様では、サービス識別子は、第2のハッシュ関数を使用して生成され得る。第2のハッシュ関数は、第1のハッシュ関数とは異なり得る。別の構成では、サービスID構成要素1324、1つもしくは複数のハッシュ構成要素1326、および/または送信機1315は、ワイヤレス通信デバイス1300に関する任意のサービスに関連付けられない偽サービス識別子を送信するように構成され得る。この構成では、偽サービス識別子はランダムに生成され得る。
【００８３】
受信機1305、処理システム1310、サービスID構成要素1324、1つまたは複数のハッシュ構成要素1326、および/または送信機1315は、図4のブロック402および404に、図5のブロック502、504、506、508、510、および512に、図6のブロック602および604に、図11のブロック1105、1110、1115、および1120に、ならびに図12のブロック1205、1210、1215、1225、1230、1235、1245、1250、および1255に関して上記で論じた1つまたは複数の機能を実行するように構成され得る。受信機1305は、受信機1012に対応し得る。処理システム1310は、プロセッサ1004に対応し得る。送信機1315は、送信機1010に対応し得る。サービスID構成要素1324は、サービスID構成要素126および/またはサービスID構成要素1024に対応し得る。
【００８４】
一構成では、ワイヤレス通信デバイス1300は、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成するための手段を含み得る。ワイヤレス通信デバイス1300は、第1のハッシュ値およびタイミング情報に基づいてサービス識別子を生成するための手段を含み得る。サービス識別子は、パスワードおよびワイヤレス通信デバイス1300のMACアドレスにさらに基づき得る。ワイヤレス通信デバイス1300は、生成されたサービス識別子を送信するための手段を含み得る。一態様では、サービスはNANサービスであってよく、送信されたサービス識別子はNANサービスの発見を可能にし得る。別の態様では、パスワードをNANサービスに、NAN内のデバイスのグループに、またはプロダクトキーに関連付けることができる。別の構成では、第1のハッシュ値は、MACアドレスおよびパスワードに基づいて生成され得る。この構成では、サービス識別子を生成するための手段は、第1のハッシュ値およびタイミング情報に基づいて第2のハッシュ値を生成するように構成され得る。この構成では、第2のハッシュ値はサービス識別子である。別の構成では、サービス識別子を生成するための手段は、第1のハッシュ値、タイミング情報、MACアドレス、およびパスワードに基づいて、第2のハッシュ値を生成するように構成され得る。第2のハッシュ値はサービス識別子であり得る。別の構成では、第1のハッシュ値を生成するための手段は、パスワードの中間ハッシュ値を生成し、パスワードの中間ハッシュ値に基づいて第1の鍵および第2の鍵を導出するように構成され得る。第1のハッシュ値は、サービス名および導出された第1の鍵に基づいて生成され得る。別の構成では、生成されたサービス識別子は、タイミング情報、ワイヤレス通信デバイスのMACアドレス、中間ハッシュ値に基づいて導出された第2の鍵、および第1のハッシュ値のハッシュにさらに基づき得る。一態様では、第1のハッシュ値は、第1のハッシュ関数を使用して生成され得る。第1のハッシュ関数は、SHA、CRC、またはTEAのうちの1つであってよい。別の態様では、サービス識別子は第2のハッシュ関数を使用して生成することができ、第2のハッシュ関数は第1のハッシュ関数とは異なり得る。別の構成では、ワイヤレス通信デバイス1300は、ワイヤレス通信デバイス1
300に関する任意のサービスに関連付けられない偽サービス識別子を送信するための手段を含み得る。この態様では、偽サービス識別子はランダムに生成され得る。
【００８５】
たとえば、第1のハッシュ値を生成するための手段は、サービスID構成要素1324および/または1つもしくは複数のハッシュ構成要素1326を含み得る。サービス識別子を生成するための手段は、サービスID構成要素1324および/または1つもしくは複数のハッシュ構成要素1326を含み得る。生成されたサービス識別子を送信するための手段は、サービスID構成要素1324および/または送信機1315を含み得る。偽サービス識別子送信するための手段は、サービスID構成要素1324および/または送信機1315を含み得る。
【００８６】
上記で説明したように、プライベートサービスIDをNAN内で利用して、NANサービスを使用するときにより高いプライバシーをユーザに提供することができる。図14Aおよび図14Bは、NAN動作に固有の追加の詳細を提供する。NANは、NANに入る既存のデバイスまたは新しいデバイスに関して発見可能にされているNANサービスの発見を円滑にするためにデバイスが収束することができる時間およびチャネルを同期するデバイスのための機構を提供する。一態様では、サービス発見はAPの支援なしに発生し得る。NANネットワークは、2.4ギガヘルツ(GHz)周波数帯域内で1つのチャネル内でのみ、またオプションで、5GHz周波数帯域内で1つのチャネル内でのみ動作し得る。2.4GHz周波数帯域内のNANチャネルは、チャネル6(2.327GHz)であり得る。
【００８７】
NANネットワークは、1つまたは複数のNANクラスタを含み得る。図14Aは、NANクラスタの例示的な図1400である。NANクラスタは、STA1402、1404、1406、1408、1410(または、STA106a、106b、106c、106d)など、複数のワイヤレスデバイスを含み得る。NANクラスタは、NANパラメータの共通セットを共有するNANデバイスの集合であり得る。NANパラメータは、連続発見ウィンドウ間の時間期間と、発見ウィンドウの時間持続時間と、ビーコン間隔とを含み得る。一態様では、NANクラスタに参加しているSTA1402、1404、1406、1408、1410のすべては、たとえば、STA1402がNANクラスタのアンカーマスタの役割を担って働く場合、STA1402によって決定され得る同じNANクロックに同期し得る。STA1402は、アンカーマスタとして、タイミング同期機能(TSF)を決定して、NAN同期ビーコン内でTSFをブロードキャストすることができる。NANクラスタ内の他のSTAは、TSFを採用して、TSFをNAN内の他のデバイスにブロードキャストすることを要求される場合がある。NAN同期ビーコンは、発見ウィンドウ中にNANデバイスによってブロードキャストされ得る。NAN同期ビーコンを受信するNANデバイスは、クロック同期のためにビーコンを使用することができる。別の態様では、NANクラスタ内の各ワイヤレスデバイスは、デバイス間(D2D)接続を介して別のワイヤレスデバイスと通信することができる。たとえば、STA1402は、D2D接続を介してSTA1408と通信することができる。
【００８８】
図14Bは、NAN内の通信間隔1450の例示的な図である。通信間隔1450は、NAN内でワイヤレスデバイス(たとえば、STA)が他のピアワイヤレスデバイスを発見することを可能にするように設計され、かつそれ専用の時間ウィンドウであり得る発見ウィンドウ1452、1468(たとえば、NANサービス発見ウィンドウ)を含み得る。すなわち、発見ウィンドウ1452中、たとえば、NAN内のワイヤレスデバイスは、ピア発見のための、NANサービス発見フレームなどのピア発見信号を送信することができる。発見ウィンドウ1452は、NAN内でワイヤレスデバイスがピア発見のために収束する時間期間およびチャネルを表し得る。2つの発見ウィンドウ間の時間間隔は512時間単位(たとえば、512ms)であってよい。通信間隔1450は、接続セットアップのために割り振られた固定間隔1454を含み得る。たとえば、ワイヤレスデバイスが発見ウィンドウ1452中に互いを発見した後に、ワイヤレスデバイスは、発見ウィンドウ1452の後の固定間隔1454を利用して、接続セットアップ(たとえば、D2D接続セットアップ)のためのシグナリングを送信することができる。一態様では、固定間隔1454は、発見ウィンドウ1452の直後に続いてよく、接続セットアップ専用であってよい。別の態様では、固定間隔1454は、発見ウィンドウ1452に続いてよいが、発見ウィンドウ1452の直後でなくてもよい。
【００８９】
一態様では、ワイヤレスデバイスは、固定間隔1454、1470中に接続セットアップを実行することができる。サービスを発行/に加入するワイヤレスデバイスは、発見ウィンドウ1452、1468が固定間隔1454、1470内で接続セットアップメッセージを交換した後でアウェイク状態に留まることができる。別の態様では、ワイヤレスデバイスは、固定間隔1454、1470中に加えて、データリンク時間ブロック(DL-TB)(または、別のタイプのDL-TB)中に接続セットアップを実行することができる。図14Bに示すように、通信間隔1450は、第1のNANデータリンク(NDL)時間ブロック(NDL-TB)1456と第2のNDL-TB1462とを含む。第1のNDL-TB1456は、発見ウィンドウ1452の終了または開始からNDLオフセット値だけオフセットされ得る。第1のNDL-TB1456は、第1のページングウィンドウ1458と第1のデータウィンドウ1460とを含み得る。第1のページングウィンドウ1458は、第1のワイヤレスデバイスが第2のワイヤレスデバイスに送信するためのデータ(たとえば、写真共有サービスに関するデータ)を有することを示すために第2のワイヤレスデバイスにページングするために第1のワイヤレスデバイスによって使用され得る。その後、第1のワイヤレスデバイスは、第1のページングウィンドウ1458中に識別された宛先/ワイヤレスデバイスに関連付けられたデータを送信するために使用される第1のデータウィンドウ1460内でデータを送信することができる。同様に、第2のNDL-TB1462は、第2のページングウィンドウ1464と第2のデータウィンドウ1466とを含み得る。別の態様では、第2のワイヤレスデバイスがページングウィンドウ中にページングされない(たとえば、第2のワイヤレスデバイスに対して何のデータも予想されない)場合、第2のワイヤレスデバイスはスリープ情報またはドーズ状態に入ることができる。
【００９０】
一態様では、第3のワイヤレスデバイスは、前の発見ウィンドウ中に第1のワイヤレスデバイスを発見した場合があり、第1のワイヤレスデバイスがサービス(たとえば、写真共有サービス)を提供していることに気づいている場合がある。その後、第3のワイヤレスデバイスは、サービスを受信するために第1のワイヤレスデバイスとの接続を確立することを望む場合があるが、固定間隔1454はすでに経過した場合がある。この態様では、第3のワイヤレスデバイスは、接続セットアップのために第1のページングウィンドウ1458を利用することができる。
【００９１】
接続セットアップ中に、NANデバイスは、NDLとして知られている場合がある、通信のためのスケジュールを確立することができる。一態様では、2つのNANデバイス間に1つのNDLだけが存在し得る。しかしながら、単一のNDLが2つのNANデバイス間で複数のNANデータ経路(NDP)をサポートし得る。各NDPは異なるサービス(たとえば、ゲームサービス、写真共有サービス、ビデオストリーミングサービスなど)に関連付けられ得る。一態様では、各NDPはサービス要件および/またはセキュリティ要件のその独自の品質を有し得る。別の態様では、各NDPはその独自のインターフェースを有し得る。2つのNANデバイス間のように、2つのNANデバイス間のNDPのすべては、2つのSTA間のNDLスケジュールであり得る同じスケジュールに準拠することができる。
【００９２】
図15は、ある例示的なサービス記述子属性1500を示す。図15を参照すると、サービス記述子属性1500は、サービスの可用性を告知するためにNANサービス発見フレーム内でNANデバイスによって送信され得る。サービス記述子属性1500は、属性IDと、長さと、サービスIDと、インスタンスIDと、要求側インスタンスIDと、サービス制御と、バインディングビットマップと、サービス情報長と、サービス情報フィールドとを含み得る。属性IDは、1オクテットのサイズであってよく、0x03の値を有し得る。属性IDは、他のNAN属性ではなく、サービス記述子属性としてその属性を識別することができる。長さフィールド(たとえば、2オクテットのサイズ)は、サービス記述子属性1500内の後続のフィールドの長さを示すことができる。サービスIDフィールド(たとえば、6オクテットのサイズ)は、サービス記述子属性1500に関連付けられたサービス名のハッシュを含み得る。サービスIDフィールドは、本明細書で説明するようなプライベートサービスIDを含み得る。インスタンスID(たとえば、1オクテットのサイズ)はサービスのインスタンスを識別することができる。たとえば、サービスがビデオストリーミングである場合、インスタンスIDは、サービスのインスタンスが高解像度のビデオストリーミングであるか、低解像度のビデオストリーミングであるか、または標準解像度のビデオストリーミングであるかを示し得る。要求側インスタンスID(たとえば、1オクテットのサイズおよび0x00の値)は、サービス記述子属性1500に関連付けられたトランザクションIDを含み得る。サービス制御フィールド(たとえば、1オクテットのサイズおよび0x0Aの値)は、サービス記述子属性1500がバインディングビットマップフィールドとサービス情報フィールドとを含むことを示し得る。バインディングビットマップフィールド(たとえば、2オクテットのサイズ)は、D2D通信のためのNDLスケジュールとNDL属性に関連付けられたサービスIDとを含む属性であり得るNDL属性を指すビットマップであり得る。たとえば、サービス記述子属性1500が、その第1がサービス記述子属性1500であり、その第2がNDL属性である複数の属性を備えたサービス発見フレーム内で送信される場合、バインディングビットマ
ップは、そのビットの位置に基づいてNDL属性を指すことができる。たとえば、4つの属性が存在する場合、ビットマップは、第2の属性がサービス記述子属性1500に関連付けられたNDL属性であることを示すために0100を示し得る。サービス情報長フィールド(たとえば、1オクテットのサイズ)は、サービス情報フィールドの長さを示し得る。サービス情報フィールドは、可変サイズのものであってよく、サービス固有の情報であってよい。
【００９３】
別の態様では、サービスIDは、他の属性内(たとえば、NDL属性内)およびサービス発見フレーム以外の他のフレーム内で送信されてもよい。
【００９４】
上記で説明した方法の様々な動作は、様々なハードウェアおよび/もしくはソフトウェア構成要素、回路、ならびに/またはモジュールなどの、動作を実行することが可能な任意の好適な手段によって実行され得る。概して、動作を実行することができる対応する機能的手段によって、図に示された任意の動作が実行され得る。
【００９５】
本開示に関して説明した様々な例示的な論理ブロック、構成要素、および回路は、汎用プロセッサ、DSP、ASIC、FPGA、もしくは他のPLD、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【００９６】
1つまたは複数の態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装され得る。ソフトウェアにおいて実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されてもよく、コンピュータ可読媒体を介して送信されてもよい。コンピュータ可読媒体は、コンピュータ記憶媒体と、コンピュータプログラムのある場所から別の場所への転送を容易にする任意の媒体を含む通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の使用可能な媒体であってもよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、コンパクトディスク(CD)ROM(CD-ROM)もしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または命令もしくはデータ構造の形態の所望のプログラムコードを搬送もしくは記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を含むことができる。また、任意の接続が、適正にコンピュータ可読媒体と称される。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、CD、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびBlu-rayディスク(登録商標)(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。したがって、コンピュータ可読媒体は、非一時的コンピュータ可読媒体(たとえば、有形媒体)を備える。
【００９７】
本明細書で開示した方法は、説明した方法を実現するための1つまたは複数のステップまたはアクションを備える。方法ステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が明記されていない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲を逸脱することなく変更され得る。
【００９８】
したがって、いくつかの態様は、本明細書で提示した動作を実行するためのコンピュータプログラム製品を備え得る。たとえば、そのようなコンピュータプログラム製品は、命令が記憶(および/または符号化)されているコンピュータ可読媒体を含んでよく、命令は、本明細書において説明した動作を実行するために1つまたは複数のプロセッサによって実行可能である。いくつかの態様に対して、コンピュータプログラム製品はパッケージング材料を含み得る。
【００９９】
さらに、本明細書で説明した方法および技法を実行するための構成要素および/または他の適切な手段が、適用可能なとき、ユーザ端末および/または基地局によってダウンロードおよび/または別の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明した方法を実行するための手段の転送を容易にするためにサーバに結合され得る。代替として、本明細書で説明した様々な方法は、ユーザ端末および/または基地局が、記憶手段をデバイスに結合または提供すると様々な方法を取得できるように、記憶手段(たとえば、RAM、ROM、CDまたはフロッピーディスクなどの物理的記憶媒体など)を介して提供され得る。その上、本明細書で説明した方法および技法をデバイスに提供するための任意の他の好適な技法が利用され得る。
【０１００】
特許請求の範囲が、上で示された正確な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
【０１０１】
上記のことは本開示の態様を対象とするが、本開示の他の態様およびさらなる態様が、その基本的な範囲から逸脱することなく考案され得、その範囲は、以下の特許請求の範囲によって決定される。
【０１０２】
上記の説明は、本明細書で説明した様々な態様を任意の当業者が実践することを可能にするために提供される。これらの態様への様々な変更が当業者には容易に明らかになり、本明細書で定義した一般原理は他の態様に適用され得る。したがって、特許請求の範囲は、本明細書に示す態様に限定されることは意図されず、クレーム文言と一致するすべての範囲を与えられるべきであり、単数形での要素への参照は、そのように明記されていない限り、「唯一無二の」ではなく、「1つまたは複数の」を意味することが意図される。別段に明記されていない限り、「いくつかの」という用語は、1つまたは複数を指す。当業者に知られているか、または後で知られることになる、本開示全体にわたって説明した様々な態様の要素の、すべての構造的および機能的等価物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されることが意図される。さらに、本明細書に開示したものは、そのような開示が特許請求の範囲において明示的に記載されているかどうかにかかわらず、公に供されることは意図されていない。請求項のいかなる要素も、「のための手段」という句を使用して要素が明確に列挙されていない限り、または方法クレームの場合、「のためのステップ」という句を使用して要素が列挙されていない限り、米国特許法第112条(f)項の規定の下で解釈されるべきではない。
【符号の説明】
【０１０３】
100  ワイヤレス通信システム
102  基本サービスエリア(BSA)
104  AP
106  STA
106a  第1のSTA
106b  第2のSTA
106c  第3のSTA
106d  STA
108  ダウンリンク(DL)
110  アップリンク(UL)
112  通信リンク
114  別の通信リンク
126  サービスID構成要素
202  サービスID
204  サービス名
206  入力ストリング
210  ハッシュ値
212  ハッシュ関数
300  表
301  属性IDフィールド
302  サービスIDフィールド
303  サービス制御フィールド
304  マッチング長フィールド
305  マッチングフィルタフィールド
306  サービス応答フィルタ長フィールド
307  サービス応答フィルタフィールド
308  サービス情報長フィールド
309  サービス情報フィールド
350  表
400  方法
500  方法
600  方法
700  方法
800  方法
900  方法
1002  ワイヤレスデバイス
1004  プロセッサ
1006  メモリ
1008  ハウジング
1010  送信機
1012  受信機
1014  トランシーバ
1016  アンテナ
1018  信号検出器
1020  デジタルシグナルプロセッサ(DSP)
1022  ユーザインターフェース
1024  サービスID構成要素
1100  方法
1200  方法
1220  方法
1240  方法
1300  ワイヤレス通信デバイス
1305  受信機
1310  処理システム
1315  送信機
1324  サービスID構成要素
1326  ハッシュ構成要素
1400  図
1402  STA
1404  STA
1406  STA
1408  STA
1410  STA
1450  通信間隔
1452  発見ウィンドウ
1454  固定間隔
1456  第1のNANデータリンク(NDL)時間ブロック(NDL-TB)
1458  第1のページングウィンドウ
1460  第1のデータウィンドウ
1462  第2のNDL-TB
1464  第2のページングウィンドウ
1466  第2のデータウィンドウ
1468  発見ウィンドウ
1470  固定間隔
1500  サービス記述子属性
【図１】
2018518076.tif 000003
【図２】
2018518076.tif 000004
【図３Ａ】
2018518076.tif 000005
【図３Ｂ】
2018518076.tif 000006
【図４】
2018518076.tif 000007
【図５】
2018518076.tif 000008
【図６】
2018518076.tif 000009
【図７】
2018518076.tif 000010
【図８】
2018518076.tif 000011
【図９】
2018518076.tif 000012
【図１０】
2018518076.tif 000013
【図１１】
2018518076.tif 000014
【図１２Ａ】
2018518076.tif 000015
【図１２Ｂ】
2018518076.tif 000016
【図１２Ｃ】
2018518076.tif 000017
【図１３】
2018518076.tif 000018
【図１４Ａ】
2018518076.tif 000019
【図１４Ｂ】
2018518076.tif 000020
【図１５】
2018518076.tif 000021
【手続補正書】
【提出日】平成29年9月26日(2017.9.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ワイヤレスデバイスによるワイヤレス通信の方法であって、
第1のハッシュ関数を用いて、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成するステップと、
第2のハッシュ関数を用いて、前記第1のハッシュ値と、タイミング情報、パスワード、または前記ワイヤレスデバイスの媒体アクセス制御(MAC)アドレスのうちの少なくとも1つとに基づいて、サービス識別子を生成するステップであって、前記第1のハッシュ関数が前記第2のハッシュ関数とは異なる、生成するステップと、
前記生成されたサービス識別子を送信するステップと
を含む、方法。
【請求項２】
前記サービスが、近傍アウェアネスネットワーキング(NAN)サービスであり、前記送信されたサービス識別子が前記NANサービスの発見を可能にする、請求項1に記載の方法。
【請求項３】
前記パスワードが前記NANサービスに、NAN内のデバイスのグループに、またはプロダクトキーに関連付けられる、請求項2に記載の方法。
【請求項４】
前記サービス識別子を送信する前記ステップが、NAN発見ウィンドウ中に、NANサービス発見フレーム内で前記サービス識別子をブロードキャストするステップを含む、請求項2に記載の方法。
【請求項５】
前記NANサービス発見フレームが、サービス記述子属性とNANデータリンク属性とを含む、請求項4に記載の方法。
【請求項６】
前記ワイヤレスデバイスが、NANクラスタのメンバーであり、前記NANサービスに関連付けられた前記NANクラスタのすべての他のメンバーとNANパラメータの共通セットを共有する、請求項2に記載の方法。
【請求項７】
前記ワイヤレスデバイスが、前記NANクラスタのアンカーマスタによって決定されたタイミング同期機能に基づいて、前記NANクラスタのすべての前記他のメンバーと時間同期される、請求項6に記載の方法。
【請求項８】
前記第1のハッシュ値が前記MACアドレスおよび前記パスワードに基づいて生成される、請求項1に記載の方法。
【請求項９】
前記サービス識別子を生成する前記ステップが、前記第1のハッシュ値および前記タイミング情報に基づいて第2のハッシュ値を生成するステップを含み、前記第2のハッシュ値が前記サービス識別子である、請求項8に記載の方法。
【請求項１０】
前記サービス識別子を生成する前記ステップが、前記第1のハッシュ値、前記タイミング情報、前記MACアドレス、および前記パスワードに基づいて第2のハッシュ値を生成するステップを含み、前記第2のハッシュ値が前記サービス識別子である、請求項1に記載の方法。
【請求項１１】
前記第1のハッシュ値を生成する前記ステップが、
前記パスワードの中間ハッシュ値を生成するステップと、
前記パスワードの前記中間ハッシュ値に基づいて、第1の鍵および第2の鍵を導出するステップであって、前記第1のハッシュ値が、前記サービス名および前記導出された第1の鍵に基づいて生成される、請求項1に記載の方法。
【請求項１２】
前記生成されたサービス識別子が、前記タイミング情報と、前記ワイヤレスデバイスの前記MACアドレスと、前記中間ハッシュ値に基づいて導出された前記第2の鍵と、前記第1のハッシュ値とのハッシュにさらに基づく、請求項11に記載の方法。
【請求項１３】
前記第1のハッシュ関数が、セキュアハッシュアルゴリズム(SHA)、巡回冗長検査(CRC)、または小型暗号化アルゴリズム(TEA)のうちの1つである、請求項1に記載の方法。
【請求項１４】
前記ワイヤレスデバイスに関する任意のサービスに関連付けられない偽サービス識別子を送信するステップをさらに含む、請求項1に記載の方法。
【請求項１５】
前記偽サービス識別子がランダムに生成される、請求項14に記載の方法。
【請求項１６】
ワイヤレス通信のための装置であって、
第1のハッシュ関数を用いて、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成するための手段と、
第2のハッシュ関数を用いて、前記第1のハッシュ値と、タイミング情報、パスワード、または前記装置の媒体アクセス制御(MAC)アドレスのうちの少なくとも1つとに基づいて、サービス識別子を生成するための手段であって、前記第1のハッシュ関数が前記第2のハッシュ関数とは異なる、生成するための手段と、
前記生成されたサービス識別子を送信するための手段と
を含む、装置。
【請求項１７】
前記サービスが、近傍アウェアネスネットワーキング(NAN)サービスであり、前記送信されたサービス識別子が前記NANサービスの発見を可能にする、請求項16に記載の装置。
【請求項１８】
前記パスワードが前記NANサービスに、NAN内のデバイスのグループに、またはプロダクトキーに関連付けられる、請求項17に記載の装置。
【請求項１９】
前記第1のハッシュ値が前記MACアドレスおよび前記パスワードに基づいて生成される、請求項16に記載の装置。
【請求項２０】
前記サービス識別子を生成するための前記手段が、前記第1のハッシュ値および前記タイミング情報に基づいて第2のハッシュ値を生成するように構成され、前記第2のハッシュ値が前記サービス識別子である、請求項19に記載の装置。
【請求項２１】
前記サービス識別子を生成するための前記手段が、前記第1のハッシュ値、前記タイミング情報、前記MACアドレス、および前記パスワードに基づいて、第2のハッシュ値を生成するように構成され、前記第2のハッシュ値が前記サービス識別子である、請求項16に記載の装置。
【請求項２２】
前記第1のハッシュ値を生成するための前記手段が、
前記パスワードの中間ハッシュ値を生成することと、
前記パスワードの前記中間ハッシュ値に基づいて、第1の鍵および第2の鍵を導出することであって、前記第1のハッシュ値が、前記サービス名および前記導出された第1の鍵に基づいて生成される、導出することと
を行うように構成される、請求項16に記載の装置。
【請求項２３】
前記生成されたサービス識別子が、前記タイミング情報と、前記装置の前記MACアドレスと、前記中間ハッシュ値に基づいて導出された前記第2の鍵と、前記第1のハッシュ値とのハッシュにさらに基づく、請求項22に記載の装置。
【請求項２４】
前記第1のハッシュ関数が、セキュアハッシュアルゴリズム(SHA)、巡回冗長検査(CRC)、または小型暗号化アルゴリズム(TEA)のうちの1つである、請求項16に記載の装置。
【請求項２５】
前記装置に関する任意のサービスに関連付けられない偽サービス識別子を送信するための手段をさらに含む、請求項16に記載の装置。
【請求項２６】
前記偽サービス識別子がランダムに生成される、請求項25に記載の装置。
【請求項２７】
ワイヤレス通信のための装置であって、
メモリと、
前記メモリに結合された少なくとも1つのプロセッサとを含み、前記少なくとも1つのプロセッサが、
第1のハッシュ関数を用いて、サービスに関連付けられたパスワードおよびサービス名に基づいて第1のハッシュ値を生成することと、
第2のハッシュ関数を用いて、前記第1のハッシュ値と、タイミング情報、パスワード、または前記装置の媒体アクセス制御(MAC)アドレスのうちの少なくとも1つとに基づいて、サービス識別子を生成することであって、前記第1のハッシュ関数が前記第2のハッシュ関数とは異なる、生成することと、
前記生成されたサービス識別子を送信することと
を行うように構成される、装置。
【請求項２８】
前記サービスが、近傍アウェアネスネットワーキング(NAN)サービスであり、前記送信されたサービス識別子が前記NANサービスの発見を可能にする、請求項27に記載の装置。
【請求項２９】
前記パスワードが前記NANサービスに、NAN内のデバイスのグループに、またはプロダクトキーに関連付けられる、請求項28に記載の装置。
【請求項３０】
前記第1のハッシュ値が前記MACアドレスおよび前記パスワードに基づいて生成される、請求項27に記載の装置。
【請求項３１】
前記少なくとも1つのプロセッサが、前記第1のハッシュ値および前記タイミング情報に基づいて第2のハッシュ値を生成することによって、前記サービス識別子を生成するように構成され、前記第2のハッシュ値が前記サービス識別子である、請求項30に記載の装置。
【請求項３２】
前記少なくとも1つのプロセッサが、前記第1のハッシュ値、前記タイミング情報、前記MACアドレス、および前記パスワードに基づいて、第2のハッシュ値を生成することによって、前記サービス識別子を生成するように構成され、前記第2のハッシュ値が前記サービス識別子である、請求項27に記載の装置。
【請求項３３】
前記少なくとも1つのプロセッサが、
前記パスワードの中間ハッシュ値を生成することと、
前記パスワードの前記中間ハッシュ値に基づいて、第1の鍵および第2の鍵を導出することであって、前記第1のハッシュ値が、前記サービス名および前記導出された第1の鍵に基づいて生成される、導出することと
によって、前記第1のハッシュ値を生成するように構成される、請求項27に記載の装置。
【請求項３４】
前記生成されたサービス識別子が、前記タイミング情報と、前記装置の前記MACアドレスと、前記中間ハッシュ値に基づいて導出された前記第2の鍵と、前記第1のハッシュ値とのハッシュにさらに基づく、請求項33に記載の装置。
【請求項３５】
前記第1のハッシュ関数が、セキュアハッシュアルゴリズム(SHA)、巡回冗長検査(CRC)、または小型暗号化アルゴリズム(TEA)のうちの1つである、請求項27に記載の装置。
【請求項３６】
前記少なくとも1つのプロセッサが、前記装置に関する任意のサービスに関連付けられない偽サービス識別子を送信するようにさらに構成される、請求項27に記載の装置。
【請求項３７】
前記偽サービス識別子がランダムに生成される、請求項36に記載の装置。
【請求項３８】
コンピュータ実行可能コードを記憶する、ワイヤレスデバイスのコンピュータ可読記憶媒体であって、
第1のハッシュ関数を用いて、サービスに関連付けられたサービス名に基づいて第1のハッシュ値を生成することと、
第2のハッシュ関数を用いて、前記第1のハッシュ値と、タイミング情報、パスワード、または前記ワイヤレスデバイスの媒体アクセス制御(MAC)アドレスのうちの少なくとも1つとに基づいて、サービス識別子を生成することであって、前記第1のハッシュ関数が前記第2のハッシュ関数とは異なる、生成することと、
前記生成されたサービス識別子を送信することと
を行うためのコードを含む、コンピュータ可読記憶媒体。
【国際調査報告】
2018518076.tif 000022
2018518076.tif 000023
2018518076.tif 000024