(57)【要約】  ピア発見の間に、アドホックピアツーピアタイプのネットワーク（１００）内で、さまざまなデバイスのユーザに関係する識別子に関連する情報を、他のデバイスに対して効率的に通信することを容易にする。２つ以上の識別子（５０２−５０６）を処理して、単一の値（例えば、ビットベクトル）（５００）を生成させ、これは、ピア発見の目的のために、送信されて、２つ以上の識別子を個別にブロードキャストする必要性を緩和している。パブリック識別子を、プライベート一時識別子に変換することができ、プライベート一時識別子を、送信されることになる単一の値を生成する演算に対する入力の１つとして使用する。観点は、ピア発見に対して制限されておらず、無生物のオブジェクトによるブロードキャストや、サービス、機能、または、関心のブロードキャストも含むことができる。【選択図】図５
2010535437.tif 000002
【特許請求の範囲】
【請求項１】
ピア発見の間にブロードキャストするための２つ以上の識別子を表すビットのシーケンスを作成する方法において、
ブロードキャストされることになる２つ以上の識別子を選択することと、
前記選択された識別子を処理して、ビットベクトル中に含まれるマーク付けされているビットのシーケンスを生成することと、
ピア発見目的のために前記ビットベクトルをブロードキャストすることと
を含み、
前記２つ以上の識別子は、送信デバイスに関係付けられている方法。
【請求項２】
前記２つ以上の識別子は、ユーザ、サービス、機能、関心、または、これらの組み合わせに関連する、請求項１記載の方法。
【請求項３】
前記２つ以上の識別子は、自動的に選択され、手動で選択され、または、これらの組み合わせで選択される、請求項１記載の方法。
【請求項４】
前記２つ以上の識別子は、使用頻度、プライマリ表示、現在の使用、または、これらの組み合わせに基づいて自動的に選択される、請求項１記載の方法。
【請求項５】
前記２つ以上の識別子のうちの少なくとも１つは、プライベート一時識別子である、請求項１記載の方法。
【請求項６】
前記選択された識別子を処理することは、前記選択された識別子上に、ハッシュ演算、または、複数のハッシュ演算を実行することを含む、請求項１記載の方法。
【請求項７】
前記選択された識別子を処理して、前記マーク付けされているビットのシーケンスを生成することは、少なくとも１つのビットが、前記選択された識別子のうちの２つによってマーク付けされることになる、請求項１記載の方法。
【請求項８】
前記ビットベクトル内でマーク付けできるビットの数に上限を設定することをさらに含む、請求項１記載の方法。
【請求項９】
ワイヤレス通信装置において、
命令を保持するメモリと、
前記メモリに結合され、前記メモリ中に保持されている前記命令を実行するように構成されているプロセッサと
を具備し、
前記命令は、ブロードキャストするための２つ以上の識別子を選択することと、フィルタリングメカニズムを通して、前記２つ以上の識別子を処理して、前記２つ以上の識別子に対応するビットベクトルを生成することと、近くにあるノードに対して、前記ビットベクトルを送信することとに関連するワイヤレス通信装置。
【請求項１０】
前記メモリは、パブリック識別子を、一時プライベート識別子に変換することに関連する命令をさらに保持する、請求項９記載のワイヤレス通信装置。
【請求項１１】
前記ビットベクトルは、ピア発見プロセスの一部として送信される、請求項９記載のワイヤレス通信装置。
【請求項１２】
前記２つ以上の識別子は、ユーザ識別子、サービス、機能、関心、または、これらの組み合わせに関連する、請求項９記載のワイヤレス通信装置。
【請求項１３】
前記フィルタリングメカニズムは、ハッシュ演算、または、複数のハッシュ演算である、請求項９記載のワイヤレス通信装置。
【請求項１４】
前記メモリは、前記ビットベクトル内に含まれることができる前記マーク付けされているビットの数に上側しきい値を設定することと、前記マーク付けされているビットの数が、前記上側しきい値を満たす、または超える場合に、前記ビットベクトルから少なくとも１つの識別子を除去することとに関連する命令をさらに保持する、請求項９記載のワイヤレス通信装置。
【請求項１５】
通信環境におけるオーバーヘッドの量を緩和しつつ、ビットベクトルを使用して少なくとも２つの識別子をブロードキャストして、ピア発見を容易にするワイヤレス通信装置において、
デバイスに関係付けられている識別子の少なくともサブセットを選択する手段と、
前記識別子の少なくともサブセットを処理して、マーク付けされているビットを含む出力ビットシーケンスを生成する手段と、
複数の受信機デバイスに対して、前記出力ビットシーケンスを送信する手段と
を具備するワイヤレス通信装置。
【請求項１６】
前記ビットシーケンス内でマーク付けされるビットの数を制限する手段をさらに具備する、請求項１５記載のワイヤレス通信装置。
【請求項１７】
コンピュータ読取可能媒体を具備するコンピュータプログラム製品において、
前記コンピュータ読取可能媒体は、
コンピュータに、ピア発見のために、定期的にブロードキャストするための２つ以上の識別子を選択させる第１組のコードと、
前記コンピュータに、前記選択された識別子上に演算を実行させて、ビットベクトル内で複数の設定されているビットを生成させる第２組のコードと、
前記コンピュータに、通信環境内でデバイスによるピア発見のために前記設定されているビットを有する前記ビットベクトルを伝送させる第３組のコードと
を含み、
前記複数の設定されているビットは、前記２つ以上の識別子に対応する、コンピュータプログラム製品。
【請求項１８】
前記演算は、ハッシュ演算、または、複数のハッシュ演算である、請求項１７記載のコンピュータプログラム製品。
【請求項１９】
前記コンピュータ読取可能媒体は、
前記コンピュータに、前記ビットベクトル内で設定できるビットの数を選択的に制限させる第４組のコードをさらに含む、請求項１７記載のコンピュータプログラム製品。
【請求項２０】
前記コンピュータ読取可能媒体は、
前記コンピュータに、パブリックに知られている識別子を、一時プライベート識別子に変更させる第４組のコードと、
前記コンピュータに、前記２つ以上の選択された識別子のうちの少なくとも１つとして、前記一時プライベート識別子を使用させる第５組のコードと
をさらに含む、請求項１７記載のコンピュータプログラム製品。
【請求項２１】
ピア発見プロセスの間にブロードキャストするための２つ以上の識別子を表すビットのシーケンスを作成するように構成されている、少なくとも１つのプロセッサにおいて、
ピア発見の間に送信されることになる２つ以上の識別子を選択する第１のモジュールと、
前記２つ以上の識別子のうちの少なくとも１つをプライベート一時識別子に変換する第２のモジュールと、
ビットベクトル中に含めることができるマーク付けされているビットの数に上限を設定する第３のモジュールと、
ハッシュアルゴリズムを通して、前記選択された識別子と前記プライベート一時識別子とを処理して、前記ビットベクトル内でマーク付けされているビットのシーケンスを生成させる第４のモジュールと、
ピア発見目的のために、前記ビットベクトルをブロードキャストする第５のモジュールと
を具備し、
前記マーク付けされているビットのシーケンスは、前記設定された上限にしたがうプロセッサ。
【請求項２２】
ピア発見目的のために、ビットベクトル中に含まれるマーク付けされているビットを受信およびデコードする方法において、
知られている識別子をピアノードがブロードキャストしている場合にマーク付けされるべき、ビットベクトル中のビットを決定することと、
通信ネットワーク中のノードから前記ビットベクトルの少なくともサブセットを受信することと、
前記ビットベクトル内のマーク付けされているビットに対して、前記受信したビットベクトルの少なくともサブセットを評価することと、
前記ピアノードが前記ビットベクトルを送信した場合にマーク付けされるべきビットに基づいて、前記受信されたビットベクトルの少なくともサブセットが、前記ピアノードからのものであり得るか否かを突きとめることと、
前記ビットベクトルが、前記ピアノードからのものであり得る場合に、通信を選択的に開始することと
を含む方法。
【請求項２３】
前記通信ネットワーク中のノードから前記ビットベクトルの少なくともサブセットを受信することは、ビットの送信者が前記ピアノードであり得るという信頼度レベルを示すのに十分な量のビットを受信することを含み、
前記信頼度レベルが予め定められたしきい値を満たす、または超える場合に、前記ビットベクトルは前記ピアノードからのものであり得る、請求項２２記載の方法。
【請求項２４】
前記知られている識別子をピアノードがブロードキャストしている場合にマーク付けされるべき、ビットベクトル中のビットを決定することは、前記ピアノードによって使用されるフィルタリングメカニズムに類似するフィルタリングメカニズムを通して、前記ピアノードの前記知られている識別子を処理することを含む、請求項２２記載の方法。
【請求項２５】
前記フィルタリングメカニズムは、ハッシュ演算、または、複数のハッシュ演算である、請求項２２記載の方法。
【請求項２６】
前記ビットベクトルが、前記ピアノードからのものである場合に、通信を選択的に開始することは、前記ノードか前記ピアノードであるか否かの確認のための要求を送ることを含む、請求項２２記載の方法。
【請求項２７】
マーク付けされているビットの数が、上限を超える場合に、前記ビットベクトルを無視することをさらに含む、請求項２２記載の方法。
【請求項２８】
ワイヤレス通信装置において、
命令を保持するメモリと、
前記メモリに結合され、前記メモリ中に保持されている前記命令を実行するように構成されているプロセッサと
を具備し、
前記命令は、送信ノードからのビットベクトルを受信することと、前記ビットベクトルをデコードすることと、前記ビットベクトルが関連ピアからのものである場合に、どのビットが設定されるべきかを決定することと、前記送信ノードが前記関連ピアであり得るか否かを確認することとに関連するワイヤレス通信装置。
【請求項２９】
前記メモリは、前記ビットベクトル中の設定されているビットの数が、上限を超える場合に、前記ビットベクトルを無視することに関連する命令をさらに保持する、請求項２８記載のワイヤレス通信装置。
【請求項３０】
前記メモリは、前記関連ピアに関係付けられている情報を保持することと、前記送信ノードが前記関連ピアであり得るか否かを確認しつつ、前記保持されている情報を使用することとに関連する命令をさらに保持する、請求項２８記載のワイヤレス通信装置。
【請求項３１】
前記メモリは、受信した一時キーに基づいて、前記関連ピアの知られているパブリック識別子を、プライベート一時識別子に変換するための情報を保持することに関連する命令をさらに保持する、請求項２８記載のワイヤレス通信装置。
【請求項３２】
前記メモリは、前記関連ピアによって使用されるフィルタリングメカニズムに類似するフィルタリングメカニズムを通して、前記関連ピアの知られている識別子を処理して、前記ビットベクトルが、前記関連ピアからのものである場合に、どのビットが設定されるべきかを決定することに関連する命令をさらに保持し、前記フィルタリングメカニズムは、ハッシュ演算、または、複数のハッシュ演算である、請求項２８記載のワイヤレス通信装置。
【請求項３３】
ビットベクトルのサブ部分を受信し、解釈して、アドホック環境におけるピア発見を容易にするワイヤレス通信装置において、
送信ノードからのビットベクトルの少なくとも部分を受信する手段と、
前記ビットベクトルの受信部分中のどのビットがマーク付けされているかを決定する手段と、
前記ビットベクトル中のどのビットを、ピアノードがマーク付けするだろうかを判定する手段と、
前記ビットベクトルの受信部分中のマーク付けされているビットの決定に基づいて、前記ビットベクトルの部分が、前記ピアノードからのものであってもよいか否かを突きとめる手段と
を具備するワイヤレス通信装置。
【請求項３４】
前記ビットベクトル中のどのビットを、ピアノードがマーク付けするだろうかを判定する手段は、判定を行うために、前記ピアノードに関係付けられている少なくとも１つの知られている識別子を使用する、請求項３３記載のワイヤレス通信装置。
【請求項３５】
マーク付けされているビットの数が上限を超える場合に、前記ビットベクトルの受信部分を無視する手段をさらに具備する、請求項３３記載のワイヤレス通信装置。
【請求項３６】
前記ビットベクトルの部分が、前記ピアノードからのものであってもよい場合に、前記送信ノードとの通信を選択的に開始する手段をさらに具備する、請求項３３記載のワイヤレス通信装置。
【請求項３７】
前記送信ノードからのビットベクトルの少なくとも部分を受信する手段は、前記ビットの送信者が前記ピアノードであり得るという信頼度レベルを示すのに十分な量のビットを受信し、
前記信頼度レベルが予め定められたしきい値を満たす、または超える場合に、前記ビットベクトルは前記ピアノードからのものであり得る、請求項３３記載のワイヤレス通信装置。
【請求項３８】
コンピュータ読取可能媒体を具備するコンピュータプログラム製品において、
前記コンピュータ読取可能媒体は、
コンピュータに、ピアノードがビットベクトルを送信している場合に、“１”に設定すべきビットのシーケンスを判定させる第１組のコードと、
前記コンピュータに、アドホックネットワーク中のノードからのビットベクトルの少なくともサブセットを受信させる第２組のコードと、
前記コンピュータに、前記受信されたビットベクトル中の“１”に設定されているビットに基づいて、前記受信されたビットベクトルの少なくともサブセットが、前記ピアノードからのものであってもよいか否かを決定させる第３組のコードと、
前記コンピュータに、前記ピアノードが、そこから前記ビットベクトルの前記サブセットが受信されたノードであるか否かの確認を選択的に要求させる第４組のコードと
を含むコンピュータプログラム製品。
【請求項３９】
前記アドホックネットワーク中のノードからのビットベクトルの少なくともサブセットを受信することは、前記ビットの送信者が前記ピアノードであり得るという信頼度レベルを示すのに十分な量のビットを受信することを含み、
前記信頼度レベルが予め定められたしきい値を満たす、または超える場合に、前記ビットベクトルは前記ピアノードからのものであり得る、請求項３８記載のコンピュータプログラム製品。
【請求項４０】
ピア発見目的のために、ビットベクトル中に含まれるマーク付けされているビットを受信およびデコードするように構成されている、少なくとも１つのプロセッサにおいて、
複数のビットを含むビットベクトルを送信ノードから受信する第１のモジュールと、
設定されているビットの数が、上限を超える場合に、前記ビットベクトルを無視する第２のモジュールと、
前記ビットベクトルが関連ピアからのものである場合に、前記複数のビット中のどのビットが設定されるべきかを決定する第３のモジュールと、
前記受信ビットベクトル中の前記設定されているビットを、前記関連ピアからのものである場合に設定されるべきビットと比較する第４のモジュールと、
前記受信ビットベクトルが、前記関連ピアから受信されたかもしれないことを前記比較が示す場合に、前記送信ノードに通信を送って、前記送信ノードが前記関連ピアであるか否かを決定する第５のモジュールと
を具備するプロセッサ。
【発明の詳細な説明】
【相互参照】
【０００１】
本出願は、２００７年７月１１日に出願され、“ピアツーピア複数識別子”と題された、米国仮出願第６０／９４９，１６５号に対する優先権を主張し、これは、本出願譲受人に譲渡され、その全体がここで参照により組み込まれている。
【分野】
【０００２】
以下の説明は、一般的にワイヤレス通信に関連し、より詳細には、ワイヤレス通信ネットワークのためのピア発見技術に関連する。
【背景】
【０００３】
ワイヤレス通信システムまたはネットワークは、さまざまなタイプの通信を提供するように幅広く配備されている。例えば、音声および／またはデータが、ワイヤレス通信システムを通して提供されてもよい。一般的なワイヤレス通信システムまたはネットワークは、１つ以上の共有リソースに対する複数ユーザのアクセスを提供できる。例えば、システムは、周波数分割多重（ＦＤＭ）、時間分割多重（ＴＤＭ）、コード分割多重（ＣＤＭ）、直交周波数分割多重（ＯＦＤＭ）および他のもののような、さまざまな多重アクセス技術を使用してもよい。
【０００４】
ワイヤレス通信ネットワークは、ユーザがどこ（構成内部または外部）に位置しているかに関わらず、また、ユーザが据え置き型であるか、または（例えば、車両中におり、歩行していて）移動しているかに関わらず、情報を通信するのに共通して利用される。一般的に、ワイヤレス通信ネットワークは、基地局、アクセスポイント、またはアクセスルータと通信している移動体デバイスを通して確立される。アクセスポイントは、地理的範囲またはセルをカバーし、移動体デバイスが動作されるにしたがって、移動体デバイスは、これらの地理的セルの中へと、およびセルから外へと移動してもよい。
【０００５】
いくつかのネットワークは、基地局、アクセスポイント、またはアクセスルータを利用することなく、唯一ピアツーピア通信だけを利用して構成できる。このようなネットワークは、アドホックネットワークとして呼ばれることもある。このようなネットワークにおける通信は、いくつかのケースでは、互いのダイレクトワイヤレス送信範囲内にあるデバイスの間での交換に対して制限されていてもよい一方で、他のケースでは、非隣接のデバイスの間で送信されるマルチホップがサポートされてもよい。さまざまな技術を使用して、（例えば、デバイスが参加し、去り、または移動するにつれて、）ネットワーク変更のトポロジーとして、接続を維持してもよく、および／または、情報を送信してもよい。いくつかのネットワークはまた、ピアツーピアとともに、基地局、アクセスポイント、またはアクセスルータの両方の組み合わせを利用して構成されることができる。
【０００６】
大規模移動体ワイヤレスネットワークにおいて、特に、ピアツーピア通信を含むネットワークにおいて、あるデバイスは、他のデバイスの送信範囲内にしばしばやってくるかもしれない（例えば、時間における潜在的な通信ピアの組は多い）。しかしながら、デバイスが実際に、それに対して通信する必要性を有している、または通信したいと望む、他のこのようなデバイスの組は、より少ないかもしれない（例えば、知られているより少ない組、または関連する通信ピア）。一般的に、デバイスがそれに対して通信する必要性を有している、または通信したいと望む、より少ない組の知られているまたは関連する通信ピアは、より高いレイヤ情報（例えば、ユーザ提携、管理関係、アプリケーション等）によって規定される。それぞれのデバイスは、知られていてもよく、および／または複数の識別子とともに関係付けられていてもよく、それぞれの識別子は、明示的に関連するピアのサブセットにのみ、知られていてもよい。したがって、特定のデバイスを発見するために、すべての明示的に関連するピアをイネーブルするために、ピア発見を容易にするために、デバイスに関係付けられているすべての識別子を公表（advertise）（例えば、ブロードキャスト）すべきである。
【概要】
【０００７】
以下では、本開示のいくつかの観点の基本的な理解をもたらす目的で、簡潔化した概要を提示する。この概要は、広範囲の概要ではなく、このような観点の鍵となるまたは重要な要素を識別することを意図しておらず、あるいは、このような観点の範囲を描写することを意図していない。この唯一の目的は、説明する観点のいくつかの概念を、後述するより詳細な説明の前置きとして、簡潔化した形式で提示することである。
【０００８】
１つ以上の観点と、その対応する開示にしたがうと、デバイスユーザに関係する２つ以上の識別子を有するデバイスに関係する情報の効率的な通信を容易にすることに関連して、さまざまな観点を説明する。デバイス後との識別子の数は多いかも知れず、ネットワーク中のデバイスの数もまた多いかもしれないので、このような情報を公表することに関連するオーバーヘッドを最小化させ、このような情報を通信および処理するための効率的なメカニズムを提供することが有利である。
【０００９】
送信デバイスに関係する識別子のすべてを知っているわけではない受信者デバイスは、１つ以上の知られている識別子が送信デバイスからの通信中に含まれているか否かを決定できる。２つ以上の識別子は、異なるタイプのものであってもよく、知られている識別子の組み合わせであってもよく、１つ以上のプライベート一時識別子を含むことができる。
【００１０】
関連する観点は、ピア発見の間にブロードキャストするための２つ以上の識別子を表すビットのシーケンス（例えば、ビットベクトル）を作成する方法である。方法は、ブロードキャストされることになる２つ以上の識別子を選択することを含む。２つ以上の識別子は、送信デバイスに関係付けられている。方法はまた、選択された識別子を処理して、ビットベクトル中に含まれるマーク付けされているビットのシーケンスを生成することを含み、ピア発見目的のためにビットベクトルを公表、または、ブロードキャストすることができる。
【００１１】
別の観点は、メモリと、プロセッサとを具備するワイヤレス通信装置に関連する。メモリは命令を保持し、命令は、ブロードキャストするための２つ以上の識別子を選択することと、フィルタリングメカニズムを通して、２つ以上の識別子を処理して、２つ以上の識別子に対応するビットベクトルを生成することとに関連する。ビットベクトルは近くにあるノードに対して送信される。プロセッサはメモリに結合され、メモリ中に保持されている命令を実行するように構成されている。
【００１２】
さらに別の観点は、通信環境におけるオーバーヘッドの量を緩和しつつ、ビットベクトルを使用して少なくとも２つの識別子をブロードキャストして、ピア発見を容易にするワイヤレス通信装置に関連する。装置は、デバイスに関係付けられている識別子の少なくともサブセットを選択する手段と、識別子の少なくともサブセットを処理して、マーク付けされているビットを含む出力ビットシーケンスを生成する手段とを具備する。装置は、複数の受信機デバイスに対して、出力ビットシーケンスを送信する手段も具備する。
【００１３】
別の関連する観点は、コンピュータに、ピア発見のために、定期的にブロードキャストするための２つ以上の識別子を選択させる第１組のコードを含むコンピュータ読取可能媒体を具備するコンピュータプログラム製品である。コンピュータに、選択された識別子上に演算（例えば、ハッシュ、または、複数のハッシュ）を実行させて、ビットベクトル内で複数の設定されているビットを生成させる第２組のコードも含まれる。複数の設定されているビットは、２つ以上の識別子に対応する。コンピュータに、通信環境内でデバイスによるピア発見のために設定されているビットを有するビットベクトルを伝送させる第３組のコードも含まれる。
【００１４】
別の観点は、ピア発見プロセスの間にブロードキャストするための２つ以上の識別子を表すビットのシーケンスを作成するように構成されている、少なくとも１つのプロセッサに関連する。プロセッサは、ピア発見の間に送信されることになる２つ以上の識別子を選択する第１のモジュールと、２つ以上の識別子のうちの少なくとも１つを別の識別子（例えば、プライベート識別子）に変換する第２のモジュールとを具備する。ビットベクトル中に含めることができるマーク付けされているビットの数に上限を設定する第３のモジュールと、ハッシュアルゴリズムを通して、選択された識別子とプライベート一時識別子とを処理して、ビットベクトル内でマーク付けされているビットのシーケンスを生成させ、マーク付けされているビットのシーケンスは、設定された上限にしたがう第４のモジュールともまた、具備される。プロセッサは、ピア発見目的のために、ビットベクトルをブロードキャストする第５のモジュールも具備する。
【００１５】
関連する観点は、ピア発見目的のために、ビットベクトル中に含まれるマーク付けされているビットを受信およびデコードする方法である。方法は、知られている識別子をピアノードがブロードキャストしている場合にマーク付けされるべき、ビットベクトル中のビットを決定することを含む。通信ネットワーク中のノードからビットベクトルの少なくともサブセットが受信される。方法はまた、ビットベクトル内のマーク付けされているビットに対して、受信したビットベクトルの少なくともサブセットを評価することと、ピアノードがビットベクトルを送信した場合にマーク付けされるべきビットに基づいて、受信されたビットベクトルの少なくともサブセットが、ピアノードからのものであり得るか否かを突きとめることとも含む。ビットベクトルが、ピアノードからのものであり得る場合に、通信が選択的に開始される。
【００１６】
別の観点は、メモリとプロセッサを具備するワイヤレス通信装置に関連する。メモリは、送信ノードからのビットベクトルを受信することと、ビットベクトルをデコードすることとに関連する命令を保持する。メモリは、ビットベクトルが関連ピアからのものである場合に、どのビットが設定されるべきかを決定することと、送信ノードが関連ピアであり得るか否かを確認することとに関連する命令も保持する。プロセッサは、メモリに結合され、メモリ中に保持されている命令を実行するように構成されている。
【００１７】
さらに別の観点は、ビットベクトルのサブ部分を受信し、解釈して、アドホック環境におけるピア発見を容易にするワイヤレス通信装置に関連する。装置は、送信ノードからのビットベクトルの少なくとも部分を受信する手段と、ビットベクトルの受信部分中のどのビットがマーク付けされているかを決定する手段とを具備する。装置はまた、ビットベクトル中のどのビットを、ピアノードがマーク付けするだろうかを判定する手段と、ビットベクトルの受信部分中のマーク付けされているビットの決定に基づいて、ビットベクトルの部分が、ピアノードからのものであってもよいか否かを突きとめる手段とも具備する。
【００１８】
別の観点は、コンピュータに、ピアノードがビットベクトルを送信している場合に、“１”に設定すべきビットのシーケンスを判定させる第１組のコードを含む、コンピュータ読取可能媒体を具備するコンピュータプログラム製品に関連する。コンピュータに、アドホックネットワーク中のノードからのビットベクトルの少なくともサブセットを受信させる第２組のコードも含まれる。コンピュータに、受信されたビットベクトル中の“１”に設定されているビットに基づいて、受信されたビットベクトルの少なくともサブセットが、ピアノードからのものであってもよいか否かを決定させる第３組のコードも含まれる。コンピュータに、ピアノードが、そこからビットベクトルのサブセットが受信されたノードであるか否かの確認を選択的に要求させる第４組のコードも含まれる。
【００１９】
さらなる観点は、ピア発見目的のために、ビットベクトル中に含まれるマーク付けされているビットを受信およびデコードするように構成されている、少なくとも１つのプロセッサに関連する。プロセッサは、複数のビットを含むビットベクトルを送信ノードから受信する第１のモジュールと、設定されているビットの数が、上限を超える場合に、ビットベクトルを無視する第２のモジュールとを具備する。プロセッサは、ビットベクトルが関連ピアからのものである場合に、複数のビット中のどのビットが設定されるべきかを決定する第３のモジュールと、受信ビットベクトル中の設定されているビットを、関連ピアからのものである場合に設定されるべきビットと比較する第４のモジュールとを具備する。受信ビットベクトルが、関連ピアから受信されたかもしれないことを比較が示す場合に、送信ノードに通信を送って、送信ノードが関連ピアであるか否かを決定する第５のモジュールも具備される。
【００２０】
上記の目的と、関連する目的を達成するために、１つ以上の観点を、以後、全体的に説明し、特許請求の範囲において、特に示す。以下の説明と添付の図面は、ある例示的な観点を詳細に述べており、観点および改変の原則が用いられてもよいさまざまな方法のいくつかのものを示すものである。図面とともに考慮するときに、また、開示した改変がこのような観点のすべてとこれらの均等物を含むことを意図しているときに、以下の詳細な説明から、他の利点と新規な特徴が明らかになるだろう。
【図面の簡単な説明】
【００２１】
【図１】図１は、ここで提示するさまざまな観点にしたがった、ワイヤレス通信ネットワークを図示する。
【図２】図２は、開示する観点にしたがった、複数の識別子を有するノードに対するピア関係を図示する。
【図３】図３は、通信環境中で、ピア発見目的のために１組の識別子をブロードキャストするのを用意にする例示的なシステムを図示する。
【図４】図４は、複数の識別子サポートを有する発見のためのブルームフィルタの例示的なアプリケーションを図示する。
【図５】図５は、入力として使用された複数の識別子から計算されたビットベクトル出力の概念図を図示する。
【図６】図６は、関連ピアの知られている識別子が、受信ビットベクトル内でアクティブビットを生み出すための入力として使用されてもよいか否かを決定する例示的なシステムを図示する。
【図７】図７は、開示する観点にしたがって、プライベート一時識別子に対するユーザビリティの異なる期間を有するキーのシーケンスを図示する。
【図８】図８は、ピア発見の間のブロードキャストに対する２つ以上の知られている識別子を表すビットのシーケンスを作成する方法を図示する。
【図９】図９は、ピア発見目的のためにビットベクトル中に含められるマーク付けされたビットを受信およびデコードするための方法を図示する。
【図１０】図１０は、１つ以上の開示する観点にしたがった、例示的なワイヤレス端末を図示する。
【図１１】図１１は、一時識別子を割り当てし、識別子を選択的に配布して、通信環境におけるピア発見を容易にする例示的なシステムを図示する。
【図１２】図１２は、キーを受信し、受信したキーに部分的に基づいて、パブリック識別子を導出する例示的なシステムを図示する。
【詳細な説明】
【００２２】
図面を参照して、さまざまな観点をここで説明する。以下の説明では、説明の目的で、１つ以上の観点の十分な理解をもたらすために、数々の特定の詳細を述べる。しかしながら、このような観点は、これらの特定の詳細なしで実現されてもよいことが明らかになるだろう。他の例では、よく知られている構成およびデバイスは、これらの観点の説明を容易にするために、ブロック図の形式で示した。
【００２３】
本発明出願において使用されるように、用語“コンポーネント”、“モジュール”、“システム”、および類似物は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または、実行中のソフトウェアのいずれかの、コンピュータ関連のエンティティを指すことを意図している。例えば、コンポーネントは、これらに制限される訳ではないが、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／または、コンピュータであってもよい。例示として、コンピューティングデバイス上で実行されているアプリケーションと、コンピューティングデバイスとの両方は、コンポーネントであることができる。１つ以上のコンポーネントは、実行のプロセスおよび／またはスレッド内に存在することができ、コンポーネントは、１つのコンピュータ上に位置していてもよく、および／または、２つ以上のコンピュータ間に分散されていてもよい。追加的に、これらのコンポーネントは、その上に記憶されている、さまざまなデータ構造を有するさまざまなコンピュータ読取可能媒体から実行できる。コンポーネントは、１つ以上のデータパケットを有する信号にしたがってのように（例えば、信号による、他のシステムとのインターネットのような、ローカルシステム中で、分散システム中で、および／または、ネットワークにわたって、別のコンポーネントと相互対話する１つのコンポーネントからのデータ）、ローカルおよび／またはリモートのプロセスによって、通信してもよい。
【００２４】
さらに、ワイヤレス端末に関係して、さまざまな観点をここで説明する。ワイヤレス端末はまた、システム、加入者ユニット、加入者局、移動局、移動体、移動体デバイス、デバイスリモード局、リモート端末、アクセス端末、ユーザ端末、端末、ワイヤレス通信デバイス、ユーザエージェント、ユーザデバイス、またはユーザ装置（ＵＥ）として呼んでもよい。ワイヤレス端末は、セルラ電話機、コードレス電話機、セッション開始プロトコル（ＳＩＰ）電話機、スマートフォン、ワイヤレスローカルループ（ＷＬＬ）局、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップ、ハンドヘルド通信デバイス、ハンドヘルドコンピューティングデバイス、衛星ラジオ、および／または、ワイヤレスシステムを通して通信するために別の処理デバイスであってもよい。さらに、さまざまな観点を、基地局に関連してここで説明する。ワイヤレス端末と通信するために基地局を利用してもよく、基地局は、アクセスポイント、ノードＢ、または他の何らかの用語として呼んでもよい。
【００２５】
さまざまな観点または特徴を、多数のデバイス、コンポーネント、モジュールおよび類似物を含んでもよいシステムに関して提示することとする。図面に関連して説明する、さまざまなシステムは、追加的なデバイス、コンポーネント、モジュール等を含んでもよいこと、および／または、デバイス、コンポーネント、モジュール等のすべてを含んでいなくてもよいことが理解および認知されるだろう。これらのアプローチの組み合わせをまた、使用してもよい。
【００２６】
ここで、図１を参照して、ここで提示するさまざまな観点にしたがって、ワイヤレス通信ネットワーク１００を図示する。ネットワーク１００は、アドホックワイヤレス通信ネットワークであってもよく、ピアツーピア通信をサポートすることができる。ピアツーピア通信の間に、基地局および／またはアクセスポイントを使用して、通信を中継、または送信するのとは対照的に、ノード、デバイス、端末、またはステーションは、互いに直接通信してもよい。いくつかのこのようなネットワークにおいて、ネットワーク内のデバイスは、他のデバイスに向けてトラフィックを中継または送信できる。いくつかのアドホックネットワークは、端末とアクセスポイントの両方を含むことができる。
【００２７】
ネットワーク１００は、ワイヤレス通信をサポートする、任意の数の移動体デバイスまたはノードを含んでもよく、そのうちの６つを図示した。移動体デバイスは、例えば、セルラ電話機、スマートフォン、ラップトップ、ハンドヘルド通信デバイス、ハンドヘルドコンピューティングデバイス、衛星ラジオ、グローバル位置特定システム、ＰＤＡ、および／または、ワイヤレス通信システム１００を通して通信する、他の任意の適切なデバイスであってもよい。ここで使用するように、ノードは、移動体デバイス、アクセスポイント、基地局、アクセスルータ、または類似物を含む。
【００２８】
ノード１０２、１０４、１０６、１０８、１１０、および１１２を、ピアツーピアアドホックトポロジーで構成されているとして図示する。それぞれのノードは、他の１つ以上のノードの範囲内にあってもよく、他のノードと通信することができ、または、マルチホップトポロジーにおいてのような、他のノードの利用を通して通信できる（例えば、通信は、最終的な宛先に到達するまでに、ノードからノードへとホップすることができる）。例えば、送信者ノード１０２は、受信者ノード１１２と通信することを望んでもよい。送信者ノード１０２と受信者ノード１１２との間でパケット転送を可能にするために、１つ以上の中間ノード１０４、１０６、１０８、および／または１１０を利用できる。任意のノード１０２−１１２は、送信者ノードおよび／または受信者ノードであることができること、また、ほぼ同時に情報を送信、または受信することのいずれかの機能を実行できる（例えば、情報を受信しているときとほぼ同時に、情報をブロードキャストまたは通信できる）ことを理解すべきである。任意のノード１０２−１１２はまた、例えば、ワイヤードネットワークのような、（図示していない）他の通信インフラストラクチャに対するアクセスを提供することもでき、このようないくつかのケースでは、アクセスポイントと同様に機能してもよいことを理解すべきである。
【００２９】
定期的に、または、他の基準（例えば、要求）に基づいて、（ここで、送信者ノードまたは送信者デバイスとして呼ぶ）ノードは、その範囲内で、他のノードに対して、そのノードのプレゼンスをブロードキャストまたはアナウンスでき、これは、ピア発見の間に利用できる。（ここで、受信ノードまたは受信デバイスとして呼ぶ）プレゼンス情報を受信するノードは、受信した情報に基づいて、送信ノードの存在に気付いている。このようなノードは、受信した情報に基づいて、送信ノードと通信を確立するか否かを決定できる。通信ネットワーク１００内のノードは、通信ネットワーク内の別のノードを区別すること（例えば、特定のノードに関係付けられているユーザ、サービス、機能、関心等を知ること）はできないかもしれないが、別のノードのプレゼンス（すなわち、存在）は知られていることを理解すべきである。したがって、対話が発生している場合、帯域幅容量、干渉緩和、および他の懸念事項を含むさまざまな要因を考慮に入れて、対話を調整することができる。
【００３０】
ピア発見の間にアナウンスされる情報は、ノードまたはデバイス（例えば、送信デバイス）のユーザ、送信ノードまたはデバイス上で実行されているアプリケーション、送信ノードまたはデバイスによって提供されるサービス、等に関連する情報を含むことができる。任意の所定の時間において、ピア発見の一部として公表（例えば、ブロードキャスト）されることができる特定のデバイスと関係する１つ以上の識別子があってもよい。例えば、個人は、その個人の仕事に関係する第１の識別子（例えば、ｍｙｎａｍｅ＠ｃｏｍｐａｎｙ．ｃｏｍ）や、家庭、または個人的なネットワークに関係する第２の識別子（例えば、ｍｙａｌｉａｓ＠ｐｒｏｖｉｄｅｒ．ｎｅｔ）や、クラブに関係する第３の識別子（例えば、ｍｙｎｉｃｋｎａｍｅ＠ｍｙｃｌｕｂ．ｏｒｇ）を持っていてもよく、個人はまた、学校または大学、関心に関係するさらなる識別子や、または他の識別子を持っていてもよい。さまざまな人（例えば、家族の構成員、同僚、友人、ピア、アソシエイツ等）は、１つ以上の識別子によって、個人を知っているかもしれないが、個人に関係する識別子のすべてを必ずしも知っている必要はない。ピア発見の目的のために、ノード識別子のすべてを公表することが可能であるが、識別子のそれぞれを個別に公表することは、（例えば、通信リソースの非効率的な使用によって、）かなりのオーバーヘッドをもたらすかもしれない。ここで開示するさまざまな観点にしたがうと、複数の識別子に関連する情報を、より効率的な方法で伝達（例えば、ブロードキャスト）することができるような方法で、複数の識別子を組み合わせることができ、他方で、識別子のサブセットだけを知っている受信機が、結合された識別子の受信された公表（例えば、ピア発見）中で何らかの知られている識別子の含有を検出することを、依然として可能にしている。
【００３１】
例えば、それによって、ピアツーピアネットワーク中のノードを知らせる１組の識別子を、ハッシュ機能、または、ハッシュ値を生み出す多数の異なるハッシュ機能を実行できるメカニズム（例えば、ブルームフィルタ）に対する入力（例えば、エレメントまたはキー）として使用できる。“０”または“１”に設定されることができるビットのストリングを含むことができる、結果としてのビットベクトルは、定期的なブロードキャストを通してのように、ピアツーピアネットワーク中の他のノードに対して伝達することができる。ピアツーピアネットワーク中の別のノードから伝達されるビットベクトルを受け取る際に、受信ノードは、関連するピアの任意の知られている識別子が、受信ビットベクトルをもたらすメカニズム（例えば、ブルームフィルタ）に対する入力として使用されていてもよいか否かを決定することができる。そうである場合、それが関連するピアであるか否かを確認するために（例えば、確認および／または認証に対する要求）、送信ノードとの通信を開始することができる。
【００３２】
（例えば、ブロードキャストを介して、）ビットベクトルを公表することに関連して開示する観点を示し説明したが、識別子の組み合わせを公表する他の方法を利用することができることが理解すべきである。このような公表の例は、これらに制限される訳ではないが、周波数エンコードされること、時間エンコードされること等を含むことができる。さまざまな観点は、任意の方法で公表（例えば、ブロードキャスト）されることができ、さまざまな技術タイプに適用されることができる。さらに、または、代わりに、開示する観点を、インスタントメッセージング、または、チャットサービスのようなさまざまな文脈で使用できる。
【００３３】
図２は、開示する観点にしたがった、複数の識別子を有するノードに対するピア関係２００を図示する。ノード（または、対応するユーザ）２０２は、ホームＩＤ２０４、ワークＩＤ２０６、およびクラブＩＤ２０８のような、複数の識別子（ＩＤ）によって知られることができる。それぞれのＩＤ２０４、２０６、２０８は、他のノード（すなわち、対応するユーザ）の異なるサブセットに対して知られているかもしれない（、および／または、他のノードの異なるサブセットと通信するために使用されているかもしれない）。図示するように、ノード２０２は、ホームＩＤ２０４だけによって、仲間“Ａ”２１０に知られており、ホームＩＤ２０４とワークＩＤ２０６とによって、仲間“Ｂ”２１２に知られており、ワークＩＤ２０６だけによって、仲間“Ｃ”２１４に知られており、そして、クラブＩＤ２０８だけによって、仲間“Ｄ”２１６に知られている。
【００３４】
ノード２０２が、ピア発見の目的で、そのノードの知られている識別子２０４、２０６、２０８のすべてを公表することも可能であるかもしれないが、発見プロセスおよび／またはメカニズムの一部としての、ブルームフィルタまたは別のタイプのフィルタのような、結合メカニズムの使用が、それぞれの識別子を個別にブロードキャストさせる必要性を緩和できる。
【００３５】
ここで、示し、開示したさまざまな観点は、それぞれのノードを通して通信する人々に関連する。これらの観点は、このように制限されておらず、無生物のオブジェクト、アプリケーション、プロセス、サービス、機能、関心、または、他のタイプの公表されることができるアイテムに対して適用できることを理解すべきである。例えば、デバイスを通して、ユーザは、キャッシュサービスを提供する、近傍のバンキングマシン（例えば、ＡＴＭマシン）を発見することを望むかもしれない。バンキングマシンは、バンキングマシンとしてこのようなマシンを公表するそれぞれの識別子を公表できる。ユーザは、ＡＴＭマシンの発見を、何か他のもの（例えば、プリンタ、電話機、自動販売機等）へと選択的に変更できる。サーチしているデバイスが、どの識別子をサーチすべきか（例えば、ＡＴＭ＠ｕｎｉｖｅｒｓａｌｎａｍｅｓｐａｃｅ．ｃｏｍ）を知ることができるように、このような無生物のオブジェクトまたはサービスをサーチすることは、指定された名前空間に基づいていてもよい。サービスまたは無生物のオブジェクトは、複数のサービスを提供してもよく、したがって、それぞれのサービスまたは機能に対する個別の識別子を持つ。効率的な方法で、複数の識別子をブロードキャストできるように、開示する観点を利用できる。名前空間（例えば、知られているサービスのレジストリ、機能、および、公表されることができる名前）中に、何らかの共通性があるべきである。ユーザは、どの識別子を公表すべきか、および／または、どの識別子が受信されることが望ましいかを、（例えば、“１”に設定し、マーク付けし、ターンオンして、）選択的に選ぶことができる。デバイスは、異なるタイプの識別子の組み合わせを公表できることも理解すべきである。例えば、ユーザによって動作されており、同時に何らかのアプリケーションレイヤサービス（例えば、ゲーミングサーバ）を提供しているデバイスは、ユーザ識別子と、サービス識別子の組み合わせを公表できる。
【００３６】
いくつかの観点にしたがうと、ビットベクトル中で１組のビットとしてブロードキャストされる識別子は、アプリケーションおよび／または動作のモードに関係付けられることができる。個人は、特定のゲーム（例えば、ポーカー）をプレイすることを望む他者を探しているかもしれない。個人は、移動体デバイスと、ゲームを一緒にプレイする他者を見つけたいと望む個人を示す、知られている識別子とを利用して、公表できる。別の例では、識別子を使用して、ある人がシングルであって、デートの相手や、または、通信し、会合し、もしくは一緒に時間を過ごしたいような、似た関心を持つ、他の人々を探していることを公表してもよい。類似の関心を持っている他者を探している個人は、“１”に設定されている、ビットベクトル中のビットのサブセットを含むブロードキャストを、（それぞれのデバイスとともに）リスニングすることができる。公表できる、サービスまたは機能の別の例は、インターネット（例えば、インターネット接続点）に対するアクセスであってもよい。開示する観点を使用して公表できる多数のサービスと機能があってもよく、これは、有体的なもの、通信関連のもの、アプリケーション関連のもの（例えば、ゲーム）等であることができる。
【００３７】
例示的な目的のためであって、制限的ではなく、ビットベクトルは、何らかの予め定められた長さ（例えば、６４ビットベクトル）のものであることができ、有効なビットベクトル中で“１”に設定することができる最大数のビット（例えば、２４）を指定することによって、偽陽性の可能性を緩和するのに十分な長さのものであることができる。このケースでは、ビットベクトルの計算中に含められるそれぞれの識別子は、予め定められた数のビット（例えば、８）にまで、設定することができ、少なくとも３つの識別子の組み合わせを可能にしている。したがって、任意の長さの最大３つの識別子を、より小さいサイズに減少させることができる（合計６４ビットベクトルのうち、最大８ビットまたは最大２４ビットをそれぞれターンオンする）。
【００３８】
図３に進んで、図示しているのは、アドホック環境において、ピア発見の目的のために１組の識別子の公表（例えば、ブロードキャスト）を容易にする例示的なシステム３００である。ある個人（サービス、機能、および／または関心等）は、１組の識別子によって知られているかもしれず、これによって、異なる人々が、異なる識別子によって、その個人を知る。それぞれの識別子は、異なるサークルの人々によって知られることができる。例えば、ホームｅメールアカウント（例えば、ｘｘｘ＠ｈｏｍｅ．ｎｅｔ）と、ワークｅメールアカウント（例えば、ｘｘｘ＠ｗｏｒｋ．ｃｏｍ）とがあってもよい。ある個人は、友人が彼のワークアカウントを知ることを期待しないかもしれず（例えば、仕事を変えたときに皆に伝えなければならないことを望まず）、また、同僚が、彼のホームアカウントを知ることを期待しないかもしれない。それによって、個人が知られている、それぞれのアカウントに関連する情報が、家族、友人、同僚等によって、発見されるために、ピア発見のような期間の間に、個人によって使用されているデバイスによって公表されることができる。しかしながら、識別子を個別に定期的にブロードキャストすることは、非効率的であり、リソースを無駄にしかねない。したがって、システム３００は、ノードが複数の識別子に関係付けられているときの、公表（例えば、ピア発見）の効率的な方法を提供できる。
【００３９】
より詳細には、システム３００は、受信機ノード３０４に対して、そのプレゼンスを公表し、アナウンスし、またはブロードキャストする、送信機ノード３０２を含む。１つより多い送信機ノード３０２と受信機ノード３０４がシステム３００中に含まれることができるが、簡潔さのためにそれぞれのうちの１つだけを示し、説明することを理解すべきである。送信機ノード３０２は、識別子と、アドホックピアツーピアネットワーク内で通信するために送信機ノード３０２のサービスをどのように利用すべきかを含むさまざまな情報と、他の情報とをアナウンスまたはブロードキャストできる。
【００４０】
いくつかの観点にしたがうと、送信機ノード３０２は、受信機ノード３０４の機能を実行でき、受信機ノード３０４は、送信機ノード３０２の機能を実行できる。したがって、単一のノードは、この詳細な説明中で開示した１つ以上の観点にしたがって、情報の送受信の両方を行うことができる。このような方法で、ノードは情報をブロードキャストされることができ、ほぼ同時に、その近傍にある他のノードからの情報を受信することができ、その上、他の機能（例えば、通信し、情報を中継する等）を実行できる。
【００４１】
送信機ノード３０２は、送信機ノード３０２に関係付けられている、（例えば、２つ以上の）識別子のすべてまたはサブセットを選ぶように構成されることができるセレクタ３０６を含むことができる。セレクタ３０６は、最も頻繁に使用された識別子（使用頻度）、プライマリ識別子として１つ以上の識別子を選ぶこと（プライマリ表示）、現在実行されているアプリケーションに対応する１組の識別子（現在の使用）、または、これらの組み合わせのようなさまざまな基準に基づいて、１つ以上の識別子を選ぶことができる。さらに、または代わりに、手動エントリは、セレクタ３０６によって選ばれた１つ以上の識別子をオーバーライドできる。例えば、ユーザは、主として、ワーク識別子とパーソナル識別子を使用するかもしれず、一般的に、これらの２つの識別子が、開示した観点を使用してブロードキャストされる。しかしながら、ユーザはまた、クラブに所属しているかもしれず、クラブのメンバーは、会議または別のイベントのために会合するかもしれない。ユーザは、会話の間に、クラブのメンバーが彼を見つけることができるように、ブロードキャスト情報内に、クラブ識別子を含めることを望むかもしれない。クラブ識別子は、ブロードキャストのために所望の識別子を含めるために（または、除外するために）手動で選ばれることができる。いくつかの観点にしたがうと、開示した技術とともに利用できる識別子の数を制限することを考慮することができる。
【００４２】
送信機ノード３０２中に含まれるものはまた、ノード（例えば、ノードのユーザ）に関係付けられている２つ以上の識別子を入力として受け入れる様に構成されることができる、エンコーダ３０８であることができる。入力識別子は、識別子を結合させる結合メカニズム（例えば、ハッシュ機能またはブルームフィルタ）を通して、処理して、マーク付けし、または複数の識別子を表すビットベクトルの“１”ビットに設定することができる。いくつかのビットが“０”に設定され、他のビットが“１”に設定されているビットベクトルは、エンコーダ３０８によって計算されてもよく、送信機３１０によって１つ以上の受信機ノード３０４に送信される。入力および出力ビットベクトルに関するさらなる情報を、以下で提供することにする。
【００４３】
メモリ３１２は、送信機ノード３０２に動作可能に結合されて（または、送信機ノード３０２の内に含められて）、送信機ノード３０２に関係付けられている２つ以上の識別子を表すビットベクトル内で、マーク付けされたビットのシーケンスを送ることができる。メモリ３１２は、情報を記憶でき、および／または、命令を保持でき、命令は、ビットベクトル内のビットとして公表（例えば、ブロードキャスト）するための２つ以上の識別子を選ぶことと、結合メカニズムを通して２つ以上の識別子を処理して、２つ以上の識別子に対応する“１”に設定された複数のビットを生み出すことと、近傍にあるノードに対してビットベクトルを送信することとに関連する。いくつかの観点にしたがうと、２つ以上の識別子を選ぶことは、パブリック識別子を、プライベート識別子へと（例えば、暗号化または何らかのハッシュ機能によって、）変換することを含むことができ、このことを、以下でより詳細に説明することにする。
【００４４】
プロセッサ３１４は、送信機ノード３０２および／またはメモリ３１２に動作可能に結合されて（または、これらの内に含められて）、情報の処理を容易にすることができ、および／またはメモリ３１２中に保持されている命令を実行するように構成されることができる。プロセッサ３１４は、セレクタ３０６、エンコーダ３０８、および／または送信機３１０によって利用されることができる情報を、計算し、転送し、および／または発生させるのに専用のプロセッサであることができる。追加的に、または、代わりに、プロセッサ３１４は、システム３００の１つ以上のコンポーネントを制御するプロセッサであることができ、および／または、情報を解析し、情報を発生させ、システム３００の１つ以上のコンポーネントを制御するプロセッサであることができる。
【００４５】
図４は、複数の識別子サポートを有する発見のためのブルームフィルタの例示的なアプリケーション４００を図示する。それとともにノードが関係付けられている、１組の識別子４０２、４０４、および４０６が入力として使用されており、これは、図示したブルームフィルタ４０８のようなフィルタに対するエレメントまたはキーである。ブルームフィルタの出力は、エレメントが入力の組のメンバーであるか否かの確率論的な決定を可能にするデータ構造である。ブルームフィルタとともに、偽陽性（例えば、そうでないときに送信ノードが関連ピアであるかのように見えること）は起こり得るが、ブルームフィルタとともに、偽陰性は発生できない。偽陽性は、１組の識別子を有する送信ノードが異なる識別子の組を有する別の送信ノードによって、類似のビットのサブセットをターンオンするときに、発生しかねない。
【００４６】
この例にしたがうと、“ｊ．ｄｏｅ＠ｉｓｐ．ｎｅt”は、ホームＩＤ４０２を表すことができ、“ｊｏｈｎ＠ｃｏｍｐａｎｙ．ｃｏｍ”は、ワークＩＤ４０４を表すことができ、“ｍｅｍｂｅｒ＠ｍｙｃｌｕｂ．ｏｒｇ”は、クラブＩＤ４０６を表すことができる。この図に示した識別子は、類似したフォーマットを持っているが、識別子は、異なるフォーマット（例えば、数、文字、シンボル、他のキャラクタ、または、これらの組み合わせ）および／または長さを持っていてもよい（例えば、あるものは、５０キャラクタを持ち、別のものは、１０キャラクタを持つ）ことに留意すべきである。複数のタイプの識別子、および／または、識別子の組み合わせを使用することができる（例えば、インターネットプロトコル（ＩＰ）アドレス、ネットワークアクセス識別子（ＮＡＩ）、ＩＰｖ４アドレス、ＩＰｖ６アドレス、ハードウェア識別アドレス、ドメイン名、ｅメールアドレス、または、これらの組み合わせ）。さらに、フィルタリングメカニズム４０８に対する識別子入力の数は、異なっていてもよく、ピアツーピアネットワークに参加しているノードは、同じ数の識別子を持っている必要はない。追加的に、または代わりに、フィルタリングメカニズム４０８に対する１つ以上の識別子入力は、プライベート識別子であってもよく、これを以下でより詳細に説明することにする。
【００４７】
フィルタリングメカニズム４０８の出力は、“１”に設定された、いくつかのビットと、“０”に設定された、他のビットとを有するビットベクトル４１０である。ビットベクトルは、固定された１組のビットであることができ、これは、フィルタリングメカニズム４０８のパラメータの関数であってもよい。ビットの数は、実現の選択に基づいていてもよく、ノードがその識別子を公表すべきレート、ノードが実行すべき効率レベル、どれだけ多くの異なる識別子をサポートすべきか、とともに他の要因に依拠していてもよい。
【００４８】
“１”に設定されたビットは、フィルタリングメカニズムに対する入力として使用される１つ以上の識別子を表す出力に対応する。ビットベクトルは、それぞれのノードによって、ピア発見の目的で、（例えば、ブロードキャスト、マルチキャスト、および／またはユニキャスト送信を介して、）定期的に公表される（または、異なる間隔において、または、要求の際に送られる）ことができる。それぞれの受信機ノードは、類似の動作を実行すること（例えば、結合またはフィルタリングメカニズムを通して、知られている識別子を処理すること）と、知られているピアが、ビットベクトルをブロードキャストしている場合、“１”に設定されるべきビットベクトル中のビットを決定することとによって、ビットベクトル４１０が、何らかの知られている識別子を含むか否かを決定できる。受信機ノードは、入力として使用される識別子のすべてを認識している必要はなく、受信機ノードによって知られている１つ以上の識別子だけを認識していればよい。関連するピアノードに関係付けられている１つより多い識別子を知っていることは、（例えば、２つ以上の識別子に対応する）より多くの“１”に設定されるべきビットベクトル中のビットが知られているので、偽陽性を緩和させることができる。しかしながら、開示する観点とともに使用されるいくつかの結合メカニズムは、どのビットを“１”に設定すべきであるかを決定するために、入力として使用されるすべての識別子が受信ノードによって知られている、という特性のものであってもよいことを理解すべきである。
【００４９】
図５は、ブルームフィルタに対する入力として使用された複数の識別子から計算されたビットベクトル出力５００の概念図を示す。しかしながら、さまざまなタイプの結合メカニズムとともに、開示する観点を利用することができ、ブルームフィルタは、このようなメカニズムの単に１つの例にすぎない。
【００５０】
ブルームフィルタメカニズムの出力は、ビットベクトルである。それぞれの入力エレメントまたはキー（例えば、識別子）に対応する、ビットベクトル内のビットのサブセットが、マーク付けされる（例えば、“１”に設定される）。マーク付けされているビットは、フィルタリングメカニズムと、フィルタによって使用される１つ以上のアルゴリズムの関数である。例えば、識別子が、出力として、８ビットを生み出す場合（別の数のビットが使用されてもよいが）、
８個の異なるハッシュを通して入力を処理することができる。したがって、それぞれのハッシュは、ターンオンすべき、または起動すべき（例えば、“１”に設定するべき）１つのビットを選ぶことができる。
【００５１】
例えば、図において、入力ｊｏｈｎ＠ｃｏｍｐａｎｙ．ｃｏｍ５０４は、ラベル付けされたビット、５０８、５１０、５１２、５１４、５１６、５１８、５２０、および５２２をマーク付けする（すなわち、ターン“オン”する）。この単一の入力５０４が、８ビットをターンオンする一方で、所望の構成に依拠して、異なる数のビットをターンオンまたはマーク付けすることができる。さらに、２つ以上の入力（例えば、識別子）が、ビット５１２のような同一の出力ビットをマーク付けすることができる。したがって、２つ以上の識別子によって、多数の選択されたビット出力のサブセットがマーク付けされる（例えば、ビットが“１”に設定される）ように、マーク付けされたビット中に何らかのオーバーラップがあってもよい。しかしながら、１つの入力が、予め定められている以上の数の出力ビットをビットベクトル内でマーク付けすべきでないこと（例えば、“１”に設定されるビットの数は、あるしきい値レベルを下回るべきであること）を理解すべきである。
【００５２】
いくつかの観点にしたがうと、送信ノードおよび／または受信ノードは、ビットベクトル中で、“１”に設定されるビットの数を考慮に入れることができる。例えば、ビットベクトルは、ある数のビット（例えば、３２、６４等）を含んでいてもよく、（例えば、スプーフィング攻撃による）偽陽性を緩和させるために、“１”に設定されるビットの最大数（例えば、上限、しきい値レベル）を、予め定めることができる。このようなケースでは、フィルタリングメカニズムの出力が、許可されている予め定められている数以上のビットをマーク付けする（例えば、“１”に設定する）かもしれない場合、送信ノードは、入力として使用される識別子の数を減少させることができる。
【００５３】
受信ノードは、予め定められている数以上のビットの組を有するビットベクトルを無視することによって、ビットベクトル中で、“１”に設定されるビットの数を考慮に入れることができる。このようにして、送信ノードは、多くの異なる人々（例えば、ノードユーザ）として出現しようと試みている潜在的に悪質なノードとして識別できる。このことはまた、送信ノードに問題があること（例えば、欠陥のあるソフトウェア、誤動作するデバイス等）を示すかもしれない。
【００５４】
例示的な目的のためであり、制限的な目的ではなく、フィルタリングメカニズムに対するそれぞれの入力（例えば、識別子）は、８ビットを起動することができる。６４ビットベクトルに対しては、“１”に設定されることが許可されるビットの最大数は、２４であってもよく、これは少なくとも３つの識別子を表すことができる。しかしながら、他の３つの識別子のうちの１つ以上によって既に設定されている“１”ビットに対して、４番目の識別子が設定されている場合に、いくつかの状況では、このような４番目（または、これ以上）の識別子を入力として使用できる。知られている識別子に関係付けられていると思われる、ビットベクトル（または、ビットベクトルのサブセット）を受信するのとほぼ同時において、受信ノードは、送信ノードが知られている識別子に関係付けられているか否かを確認することを要求できる（例えば、ノードは、認証シグナリング交換を通して進めてもよい）。
【００５５】
ここで、図６を参照すると、関連するピアの知られている識別子が受信ビットベクトル内でアクティブビットを生み出すための入力として使用されたか否かを決定する、例示的なシステム６００を図示する。ノードがさまざまな地理的エリア中で移動しているので（または、据え置かれたままでいるので）、各ノードに関連する情報（例えば、識別子等）が、たとえば、ピア発見の間に、地理的エリア内の他のノードに対して、公表（例えば、ブロードキャスト）される。
【００５６】
システム６００は、受信機ノード６０４とワイヤレス通信している送信機ノード６０２を含む。送信機ノード６０２は、定期的に、要求の際に、または、他の間隔で、送信機ノード６０２の識別子に関連する情報とともに、ピア発見の目的のために送信機ノード６０２との（または、送信機ノード６０２を通しての）通信に関連する、他の情報を公表する（例えば、ブロードキャスト、マルチキャスト、および／または、ユニキャストメカニズム）。例えば、受信機６０６を通して、このような公表を取得する受信機ノード６０４は、送信機ノード６０２と通信するか否かを選択的に決定できる。決定は、送信機ノード６０２が明示的に関連するピア（例えば、コンタクト、仲間、友人、家族のメンバー、同僚、関心のアプリケーション、関心のサービス等）であるか否かに基づいて、行うことができる。
【００５７】
送信機ノード６０２が、明示的に関連するピアであるか否かの決定を容易にするために、デコーダ６０８は、送信機ノード６０２から受信されたビットベクトルを解析するように構成されていてもよい。解析は、関連するピアノードが、その識別子が受信機ノード６０４によって知られているとして、公表している場合に、どのビットベクトルを“オン”にし、“１”に設定し、マーク付けされるべきかを突きとめることを含むことができる。デコーダ６０８は、フィルタを通して、知られている識別子を処理することによって受信されてもよいビットベクトルを決定することができ、フィルタは、送信機（関連ピア）ノード６０２によって、ビットベクトル内のあるビットをターンオンするのに使用されるフィルタに類似している。このように、デコーダ６０８は、送信機（関連ピア）ノード６０２が近傍にあり、受信機ノードによって知られている識別子を公表している場合、ビットベクトル内のどのビットを、“オン”にすべきかを決定できる。
【００５８】
いくつかの状況では、２つ以上のノードは、ターン“オン”されている類似のビットを有することができ、特定のビットを公表している実際の送信機ノード６０２が関連ピアであるか否かは定かではないかもしれない。したがって、識別子６１０は、それが、知られている識別子に関係付けられている送信機ノード６０２であるか否かを（例えば、認証シグナリング／メッセージ交換を通して進めることによって、）決定するように構成されることができる。識別子６１０は、送信機ノード６０２がピアであるかもしれないことを示す、“１”に設定されているいくつかのビットが受信されるときに、自動的に送信機ノード６０２に対して、クエリまたはメッセージを送ることができる。いくつかの観点にしたがうと、受信機ノード６０４は、ピアのリスト（例えば、コンタクトリスト）をディスプレイまたはスクリーン上にディスプレイすることができ、ピアのうちの１つを識別して（例えば、ハイライトして、近傍にあるとしてマーク付けして、または、他の手段によって識別して）、ユーザにピアのプレゼンスを通知することができる。次に、ユーザは、通信を開始するか否かを手動で選択でき、および／または、それが知られている関連ピアであるか否かを決定するために、送信機ノード６０２にクエリを送るか否かを手動で選択できる。偽陽性の機会は、どれだけ多くのビットが送信機ノード６０２によって公表されているか、どれだけ多くの識別子が送信機ノード６０２によって入力として使用されているか、それによって受信機ノードが送信機ノード６０２を知る識別子の数等を含む、さまざまなパラメータの関数であることができる。入力として、より少ない数（例えば、２）の識別子を有している、より長い長さのビットベクトルは、偽陽性の発生をさらに緩和できる。
【００５９】
全体のビットベクトルは、ほぼ同時に、受信される（または、送信機ノード６０２によって送られる）必要はない。いくつかの時間間隔（例えば、最大１秒）にわたって、全体のビットベクトルを受信できる。受信機ノード６０４は、送信機ノード６０２がピアノードであるかもしれないという決定を行うのに、全体のビットベクトルが受信されるまで待機する必要はない。例えば、ある数のビット（例えば、８）が、“１”に設定されるとして予期される場合、ビットベクトルのサブセットが受信され、（例えば、８ビットのうちの５ビットが予期される）十分な部分のマーク付けされているビットが受信されるとき、信頼レベルが達成できる。したがって、それがピアノードであるかもしれないという早期の推定は、信頼レベルに基づいていてもよく、ピア発見の間によりすばやくピアノードの検出を行うことができる。しかしながら、より早期の（例えば、ビットの全体の組が受信される前の）検出は、偽陽性の機会を増加させかねない。このタイプのショートカットは、検出の時点での不確かさの犠牲とともに、検出プロセスをスピードアップさせることができる。したがって、潜在的に、より頻繁な不成功の確認シグナリングをもたらす。“１”に設定されていることが予想されるビットが設定されていない場合、送信機ノード６０２がピアノードではないことが確認される。
【００６０】
いくつかの観点にしたがうと、送信ノードのすばやい検出を助けるために、１組のビットとともに、送信ノードのユーザの習性を利用できる。例えば、同僚は、１日のある時間においてオフィス中にいるかもしれない。１組のビットのシーケンスが受け取られ、それが、ノードのユーザが一般的に近傍（例えば、仕事場）にいるときのような１日の特定の時間であるとき、それがピアノードであるというより多くの確かさがある。しかしながら、同僚が通常はオフィスにいない時間（例えば、土曜日の午後１１時）において１組のビットが受け取られる場合、それが同僚であるか否かに基づいた、不確かさがあるかもしれない。ユーザの習慣は、あるビットが受信されるときに、それが知られているピアであることのより多くの確かさを得るための、偽陽性の尤度を狭くする手段として使用できる、行動パターンの履歴タイプ、または、ロケーション情報、または、他の入力（例えば、スケジュール、日程、お気に入りの場所等）を含むことができる。
【００６１】
メモリ６１２は、受信機ノード６０４に動作可能に結合されることができ（または、受信機ノード６０４内に含まれることができ）、送信機ノードが受信機ノード６０４によって知られている識別子を公表している場合、“１”に設定されるべきビットのシーケンスをデコードする。メモリ６１２は、情報を記憶させ、および／または、１つ以上のノードからビットベクトルを受信することと、ビットベクトルをデコードすることと、明示的に関連するピアに対して、どのビットが“オン”または“１”に設定されるべきか（例えば、知られている識別子に対応するビット）を決定することと、送信ノードが知られているピアであるか否かを確認することとに関連する命令を保持することができる。メモリ６１２はまた、受信したキーに基づいて、ピアノードのパブリックに知られている識別子を、プライベート識別子へと変換することに関連する命令を保持することができる。メモリ６１２はさらに、知られているパターン、習性、ロケーション、または、ピアの他の情報に関係する情報を保持することと、送信ノードが知られているピアである可能性があるか否かを確認する間に、保持された情報を使用することとに関連する命令を保持することができる。メモリ６１２はさらに、アクティブな（例えば、ターンオンされている）ビットの数が上限を超える場合、またはセットされているビットの数のしきい値を超える場合、ノードからのビットベクトルを無視することに関連する命令を保持することができる。
【００６２】
プロセッサ６１４は、受信機ノード６０４および／またはメモリ６１２に動作可能に結合されており、受信した情報の分析を容易にすることができ、ならびに／あるいは、メモリ６１２に保持されている命令を実行するように構成されることができる。プロセッサ６１４は、送信機ノード６０２から受信された情報を分析するための、および／または、受信機６０６、デコーダ６０８、および／または、識別子６１０によって利用されることができる情報を発生させるための、専用のプロセッサであってもよい。さらに、または、代わりに、プロセッサ６１４は、システム６００の１つ以上のコンポーネントを制御するプロセッサであってもよく、ならびに／あるいは、情報を分析し、情報を発生させ、および／または、システム６００の１つ以上のコンポーネントを制御するプロセッサであってもよい。
【００６３】
図７は、開示する観点にしたがった、プライベート一時識別子に対する、異なる利用期間を有するキーのシーケンス７００を図示する。ノードは、パブリックに知られている識別子ではなく、プライベート識別子をブロードキャストするように構成されており、デバイスユーザが、彼らのプレゼンスを、指定された間隔で、他の識別されたデバイスユーザに対してアナウンスすることを可能にすることができ、これによって、安全性のレベルを追加している。プレゼンスは、そのプレゼンスが、選択されたグループの個人に対してアナウンスされている、ユーザに対するプライバシーを保持するような方法で、それぞれのノードによってアナウンスされることができる。例えば、ある個人が、さまざまなエリアを訪問して、または、ショッピングして、一日を過ごしたいと望むかもしれず、近傍にいる皆が（特に、その人が良く知っている人である場合に）、彼のロケーションを知ることを望まないかもしれない。個人に関係付けられているノードは、そのプレゼンスを、選択的なキー配布を通して、サークルの友人に対して、選択的にアナウンスすることができる。
【００６４】
選択的なキー配布は、他の関連しないピアに関して匿名性を損なうことを緩和しながら、ピアツーピアネットワーク中の明示的に関連するピアの間の発見を可能にする問題に対処できる。さらに、関係は一過性のものであるかもしれず、一様でない時間期間のものであるかもしれないので、明示的に関連するピアが互いに発見できる期間における、時間制限、および／または、他の制御を提供することが望ましい。
【００６５】
以下の説明では、ピアツーピアネットワークに参加しているそれぞれのノードは、ネットワークアクセス識別子（例えば、ｊ．ｄｏｅ＠ｉｓｐ．ｃｏｍ）、インターネットプロトコルアドレス、または、別の識別子のような、比較的永続的で、パブリックに知られている識別子を有していることを仮定する。しかしながら、ピア発見の目的のために、その識別子を公表（例えば、定期的なブロードキャスト）することは、匿名性を損ないかねない。したがって、ピア発見の目的のために、代わりの（例えば、プライベート）識別子を使用することができ、ここで、代わりの識別子は、明示的に関連するピアだけによって知られている。プライベート識別子は、関連するピアに対して明示的に伝達されてもよく、制限された時間の間だけ有効であってもよく（例えば、一時的なまたは一過的な識別子であってもよく）、したがって、特定の有効性範囲を有していてもよい。さまざまな手段を利用して、一時的な識別子の有効性範囲を確立できることと、そして、時間に関して、有効性範囲のことを考えるのは容易ではあるが、このような手段は時間期間に制限されていないこととに留意すべきである。いつ有効性範囲が開始し、終了するかを決定するシステム、方法、または、他の手段があるとして、範囲は、時間的ベースのもの、数値ベースのもの、または、他の基準に基づいたものであってもよい。
【００６６】
セキュリティキーを有する永続的識別子のセキュアハッシュに基づいて、ブロードキャストされるプライベート識別子を決定することによって、セキュリティと制御が提供されることができる（例えば、ここで、セキュリティキーが、明示的に関連するピアに対して予め伝達されており、制限された寿命しか有さないかもしれない）。
【００６７】
図７に図示した例にしたがうと、時間キー７０８のような、現在の１時間の間だけ有効であるキーを有する、永続的なキーまたはパブリック識別子７０６上に、ハッシュ演算７０４を実行することによって、プライベート一時識別子７０２が決定される。時間キー７０８は、その１時間の間だけ発見を実行できることになるピアに対して、安全に伝達されることができる。さらに、時間キー７０８は、日付キー７１６のような、その１日の間だけ有効であるキーを有する、何らかの日付情報７１４（例えば、その日に対応する擬似ランダム情報）上にセキュアハッシュ演算７１２を実行することによって、決定できる。日付キー７１６を有する日付情報７１４上へのこの動作は、１組の時間キー（例えば、特定の１日の各時間のそれぞれ）を生み出すことができる。したがって、それに対して日付キー７１６が安全に伝達されたピアは、その日のそれぞれの時間に対する時間キーを決定でき、したがって、その日のそれぞれの時間の間に、ピア発見のためにプライベート一時的識別子を使用することを決定する。同様な方法で、いくつかの週情報７２２（例えば、その週に対応する擬似ランダム情報）上にセキュアハッシュ演算７２０を実行することによって、週キー７１８を決定できる。同様な方法で、いくつかの月情報７２８（例えば、その週に対応する擬似ランダム情報）上にセキュアハッシュ演算７２６を実行することによって、週キー７２４を決定できる。
【００６８】
階層７００中のより高いキーを有するピアは、受信したキーの有効期限の以前のいずれかの時間において使用されるプライベート一時ｉｄ７０２を決定するために、より低いレベルのキーを導出できることに留意すべきである。例えば、月キーを与えられたピアは、現在の代わりの一時キーを導出するために、階層中のより低いそれぞれのキーを決定できる。週キー７１８を知っているピアは、階層中のより低い位置にある、それぞれの日付キーと時間キーとを導出することができる。同様な方法で、日付キー７１６を有するピアは、その日の妥当な期間に対する、それぞれの時間キー７０８を導出することができる。したがって、階層内のキーを知っていることが、階層中のより低いキーを導出するのに必要とされる情報を供給することができる。
【００６９】
しかしながら、キーは、階層中のより高い位置にあるキーを導出するのに使用することはできない。したがって、週キー７１８を有するピアは、月キー７２４を導出することができず、日付キー７１６を有するピアは、週キー７１８または月キー７２４を導出することができず、時間キー７０８を知っているピアは、より長い有効期間を表す、キー７１６、７１８、７２４を決定できない。したがって、供給されたキーの継続時間に関係付けられている終了範囲が期限切れするとき、その配布されたキーに関係付けられているユーザとのピアツーピア通信を確立することを望むピアは、明示的に割り振られたキーを持つ必要がある。このような方法で、代わりの識別子は、関連するピアに対して明示的に伝達され、制限された時間の間有効である。いくつかの観点にしたがうと、有効性範囲が期限切れする前に、キーが暗黙的に無効にされる。
【００７０】
任意の特定の時間において使用される一時プライベート識別子７０２は、この詳細な説明で開示するような、フィルタリングメカニズムに対する入力のうちの１つ以上として使用できる。このようにして、ビットベクトルを受信しているピアだけが、それぞれのキーを知ることによって、そして、プライベート一時識別子に対応するどのビットが“オン”であるべきかを決定することによって、（ピア発見を通して、）関係付けられているピアが、近傍内にいるか否かを決定することができる。
【００７１】
図８−９を参照すると、ピアツーピア一時識別子に関連する方法が図示される。説明の簡潔さの目的のために、一連の動作として、方法を示し、説明したが、方法は動作の順序によって制限されておらず、１つ以上の観点にしたがうと、ここで、示し、説明したものとは異なる順序でおよび／または他の動作と同時に発生してもよい。例えば、当業者は、方法を、代わりに、状態図のような、一連の相互関連した状態またはイベントとして表すことができることを理解し、認識するだろう。さらに、１つ以上の観点にしたがって方法を実現するのに、図示したすべての動作が要求されるわけではない。
【００７２】
ここで、図８に戻って、ピア発見の間にブロードキャストのための２つ以上の知られている識別子を表すビットのシーケンスを作成する方法８００を図示する。方法８００は、２つ以上の知られている識別子を結合して、このような識別子を、“１”に設定されているビットと、“０” に設定されているビットとを含む、ビットベクトルへと変換し、このビットベクトルを、ピア発見目的のためにブロードキャストすることができる。識別子をビットベクトルに変換することは、知られている識別子のそれぞれを個別にブロードキャストする必要性を緩和させる。
【００７３】
方法８００は、８０２において、２つ以上の知られている識別子が選択競れるときに開始する。識別子は、さまざまな要因（例えば、最も使用された識別子（使用頻度）、主要であるとしてマーク付けされている識別子（プライマリ表示）、現在の通信に使用されている識別子（現在の使用）等）に基づいて、自動的に選択されることができ、手動で選択されることができ、または、自動と手動との選択の両方の組み合わせで選択されることもできる。さらに、選択された識別子は、任意の時間において変更することができる。開示する観点とともに、ネットワークアクセス識別子、ＩＰｖ４アドレス、ＩＰｖ６アドレス、ハードウェア識別子アドレス、ｅメールアドレス、またはこれらの組み合わせのような、さまざまな識別子を使用することができる。いくつかの観点にしたがうと、１つ以上の識別子は、ピア発見プロセスの間に、秘匿性または匿名性のレベルを維持するのに使用されるプライベート一時的識別子であってもよい。
【００７４】
８０４において、選択された識別子は、フィルタリングメカニズム（例えば、ハッシュアルゴリズム、複数のハッシュアルゴリズム）を通して処理され、マーク付けされたビットのシーケンスを生み出す。フィルタリングメカニズムは、ブルームフィルタであってもよいが、他のメカニズムも利用してもよい。フィルタリングメカニズムは、入力識別子のそれぞれに対して、どのビットをマーク付けするべきであるか、または、“１”に設定するべきであるかを決定することができる。２つ以上の識別子によって、単一のビットを選択する（例えば、“１”に設定する）ことができる。いくつかの観点にしたがうと、“１”に設定することができるビットの数に上限設定があってもよい。ビットベクトル内で利用可能なビットの合計数は、制限されているかもしれず、あまりに多くのマーク付けされている、またはターン“オン”されているビットを持っていることは、数多くの偽陽性をもたらすかもしれず、これは、受信ノードが、送信ノードが関連するピアでないときに、送信ノードが関連するピアであるとして思い込ませてしまう。
【００７５】
偽陽性の例は、個人（例えば、送信ノード）が、ワーク識別子によって知られているときに発生する。受信ノードは、ビットベクトル中の特定のビットが“１”に設定されているとして公表されることを予想しているかもしれず、このことは、ワーク識別子が入力の１つとして使用されたかもしれないことを示す。しかしながら、異なる識別子を有する別のノードが、ワーク識別子によって設定されることになるとして、同じビットを“１”に設定する可能性がある。受信ノードは、送信ノードがワーク識別子に関係付けられている個人であるとして間違って思い込むかもしれない。したがって、“１”に設定されたビットは、送信ノードが仕事の同僚であるという可能性を示すことができる。クエリまたは通信が自動的に送信ノードに対して送られて、それが仕事の同僚であるか否かを決定することができる。
【００７６】
８０６において、ビットベクトルが、ピア発見の目的のために、定期的に、または、要求の際にブロードキャストまたはアナウンスされる。ビットベクトルを受信しているノードは、ブロードキャストしているノードが知られているピアであるか否かを選択的に決定でき、送信ノードがノードピアである場合、通信を確立できる。
【００７７】
図９は、ピア発見の目的のために、ビットベクトル中に含まれるマーク付けされたビットを受信し、デコードする方法９００を図示する。ピア発見の間に、ノードが他のノードから受信するとき、他のノードは、それぞれの識別子に関連する情報を伝達できる。この情報を受信しているノードは、さまざまな受信ビットを、（例えば、“１”に設定されているとして）予想されるビットとマッチングすることによって、ブロードキャストが関連するピアからのものであるか否かを突きとめられる。“１”に設定されているビットが、“１”に設定されているとして予想されるビットである場合、送信ノードが所望のノードであるか否かを確認するように、送信ノードからさらなる確認を請求できる。
【００７８】
９０２において、特定のピアノードが知られている識別子をブロードキャストしている場合、マーク付け（例えば、ターン“オン”、“１”に設定）されるべきビットに関連して、決定が行われる。この決定は、ピアノードによって利用されているフィルタリングメカニズムに類似しているフィルタリングメカニズムを通して、ピアノードの知られている識別子を処理することによって、行うことができる。９０４において、ノードが動作されているとき、それは、類似の地理的エリア内の他のデバイスによって送られたかもしれないブロードキャスト情報をリッスンすることができる。他のノードは、対応する、知られている識別子を表す、マーク付けされている、または、“１”に設定されているさまざまなビットを送ることできる。
【００７９】
９０６において、マーク付けされているビットが受信されるとき、マーク付けされているビットが、ピアノードがそのパブリック識別子をブロードキャストしていた場合にマーク付けされているとして予想されるビットであるか否かの決定が行われる。ビットベクトルは、特定の長さであることができるが、ブロードキャストしているノードが関連するピアノードであるかもしれないという決定が行われる前に、全体のビットベクトルが受信される必要はない。例えば、ビットの送信者が関連するピアノードであることができる（“ＹＥＳ”）という信頼度レベルを示す量のビットが受信された場合、９０８において、送信ノードが関連するピアノードであるか否かの確認に対する要求が送られて、方法９００は続く。要求は、ピアノードに対する通信または他の情報搬送を含むことができる。“オン”であるとして予想されていたビットが、送信ノードから受信されたビットベクトル中では“オン”でない場合（“ＮＯ”）、送信ノードが関連するピアノードでないことが示される。この状況では、９０４において、ピア発見の目的のために、送信ノードからの情報搬送をリスニングすることと、アドホックネットワーク中のノードからのビットベクトルの少なくともサブセットを受信することとを有し、方法９００は続く。
【００８０】
いくつかの観点にしたがって、あるノードが、過剰な量のマーク付けされた（例えば、“１”に設定された）ビットを有するビットベクトルを送信していることが検出された場合、送信ノードが悪質な方法で動作していることや、正しく実行していないことや、フィルタリングメカニズムに対する入力としてあまりにも多くの識別子を使用したことや、または、他の何らかの問題を示すことができる。アクティブビットは、複数の関連するピアが、範囲内にいないかもしれないときに、まるで範囲内にいるかのように見せることが可能であるので、あまりにも多くのアクティブビットを有しているビットベクトルの受け取りは、偽陽性をもたらしかねない。このような状況において、ビットベクトル（および、ビットベクトルを送っているノード）は、選択的に無視し、または、考慮しないことが可能である。
【００８１】
ここで説明する１つ以上の観点にしたがうと、フィルタリングメカニズムに対する入力またはキーとして、どの識別子を使用するか、使用できる入力の数、マーク付け（例えば、“１”に設定）できる出力ビットの数、処理の前に、どの入力ビットを、プライベート一時識別子に変更すべきか等に関して、推論を行えることが理解されるだろう。ここで使用するように、用語“推論する”または“推論”は、一般的に、イベントおよび／またはデータを通して捕捉された、１組の観察から、システム、環境、および／またはユーザの状態を推理し、または、推論するプロセスを指す。例えば、推論を用いて、特定の文脈または動作を識別することができ、または、状態についての確立分布を発生させることができる。推論は、確率論的なものであることができ、すなわち、関心の状態に付いての確立分布の計算は、データとイベントの考慮に基づいている。推論はまた、１組のイベントおよび／またはデータからより高いレベルのイベントを構成するのに用いられる技術を指すこともできる。このような推論は、イベントが近い時間的隣接中で相関しているか否か、また、イベントとデータが、１つまたはいくつかのイベントおよびデータ源からのものであるか否かのような、１組の観察されたイベントおよび／または記憶されたイベントデータからの、新しいイベントまたはアクションの構築をもたらす。
【００８２】
ある例にしたがうと、ここで説明する１つ以上の観点は、デバイスが動作されているときに、フィルタリングメカニズムに対する１つ以上の入力を選択的に修正することに関連して、推論を行うことを含むことができる。別の例にしたがうと、知られているピアノードが識別情報を送信している場合に、受信ビットベクトル中でマーク付けすべきビットを識別するために、送信デバイスによって使用されたフィルタリングメカニズムを突きとめることに関して、推論を行うことができる。別の例にしたがうと、識別子の異なるタイプおよび構成の組み合わせを選択して、フィルタリングメカニズムを通して処理することに関連して、推論を行うことができる。上記の例は、例示的な性質のものであり、行うことができる推論の数や、このような推論をここで説明するさまざまな例に関係して行うことができる方法を制限することを意図していないことが理解されるだろう。
【００８３】
図１０は、開示する観点のワイヤレス端末（例えば、送信機ノード、受信機ノード）の任意のものとして使用できる例示的なワイヤレス端末１０００を図示する。ワイヤレス端末１０００は、デコーダ１０１２を備える受信機と、エンコーダ１０１４を備える送信機１００４と、プロセッサ１００６と、メモリ１００８とを具備し、これらは、さまざまなエレメント１００２、１００４、１００６、１００８がデータと情報を交換できるバス１０１０上で共に結合されている。基地局および／または他のデバイスから信号を受信するのに使用されるアンテナ１００３が、受信機１００２に結合されている。（例えば、基地局および／または他のワイヤレス端末に対して、）信号を送信するのに使用されるアンテナ１００５は、送信機１００４に結合されている。
【００８４】
プロセッサ１００６（例えば、ＣＰＵ）は、ワイヤレス端末１０００の動作を制御し、ルーチン１０２０を実行して、メモリ１００８中のデータ／情報１０２２を使用することによって、方法を実現する。データ／情報１０２２は、ユーザデータ１０３４、ユーザ情報１０３６、およびトーンサブセット割当シーケンス情報１０５０を含む。ユーザデータ１０３４は、ピアノードに向けられたデータを含んでいてもよく、これは、送信機１００４による基地局および／または他のデバイスに対する送信の前に、エンコーディングのために、エンコーダ１０１４に対してルーティングされることになり、基地局および／または他のデバイスから受信されるデータは、受信機１００２中のデコーダ１０１２によって処理されることになるだろう。ユーザ情報１０３６は、アップリンクチャネル情報１０３８、ダウンリンクチャネル情報１０４０、端末ＩＤ情報１０４２、基地局ＩＤ情報１０４４、セクタＩＤ情報１０４６、およびモード情報１０４８を含む。アップリンクチャネル情報１０３８は、基地局に対して送信するときに使用するための、ワイヤレス端末１０００に対して、基地局によって割り振られた、アップリンクチャネルセグメントを識別する情報を含む。アップリンクチャネルは、アップリンクトラフィックチャネル、専用アップリンク制御チャネル（例えば、要求チャネル、電力制御チャネル、およびタイミング制御チャネル）を含む。それぞれのアップリンクチャネルは、１対以上の論理トーンを含み、それぞれの論理トーンはアップリンクトーンホッピングシーケンスに続く。アップリンクトーンホッピングシーケンスは、それぞれのセクタタイプのセルの間で、また隣接セルの間で異なっている。ダウンリンクチャネル情報１０４０は、基地局がワイヤレス端末１０００に対してデータを送っているときに使用するために、基地局によって割り振られた、ダウンリンクチャネルセグメントを識別する情報を含む。ダウンリンクチャネルは、ダウンリンクトラフィックチャネルおよび割当チャネルを含んでもよく、それぞれのダウンリンクチャネルは、１つ以上の論理トーンを含み、それぞれの論理トーンは、ダウンリンクホッピングシーケンスに続き、これは、セルのそれぞれのセクタの間で同期化される。
【００８５】
ユーザ情報１０３６はまた、基地局割り当てされた識別である、端末識別情報１０４２と、ワイヤレス端末１０００が通信を確立した特定の基地局を識別する、基地局識別情報１０４４と、ワイヤレス端末１０００が現在位置しているセルの特定のセクタを識別する、セクタ識別情報１０４６とを含む。基地局識別情報１０４４は、セルスロープ値を提供し、セクタ識別情報１０４６は、セクタインデックスタイプを提供し、セルスロープ値とセクタインデックスタイプを使用して、トーンホッピングシーケンスを導出してもよい。モード情報１０４８がまた、ユーザ情報１０３６中に含まれ、ワイヤレス端末１０００がスリープモード、ホールドモード、または、オンモードにあるかどうかを識別する。
【００８６】
トーンサブセット割当シーケンス情報１０５０は、ダウンリンクストリップシンボル時間情報１０５２と、ダウンリンクトーン情報１０５４とを含む。ダウンリンクストリップシンボル時間情報１０５２は、スーパースロット、ビーコンスロット、およびウルトラスロット構造情報のようなフレーム同期構造情報と、所定のシンボル期間がストリップシンボル期間であるか否かを特定し、そうである場合に、ストリップシンボル期間のインデックスを特定する情報と、ストリップシンボルが、基地局によって使用されるトーンサブセット割当シーケンスを切り捨てるリセットポイントであるか否かを指定する情報を含む。ダウンリンクトーン情報１０５４は、基地局に割り振られているキャリア周波数と、ストリップシンボル期間に割り当てられるトーン、およびトーンサブセットの数と周波数と、スロープ、スロープインデックス、およびセクタタイプのような、他のセルおよびセクタ特有の値とを含む情報を含む。
【００８７】
ルーチン１０２０は、通信ルーチン１０２４と、ワイヤレス端末制御ルーチン１０２６と、複数の識別子通信ルーチン１０２８と、識別子変換ルーチン１０３０とを含む。通信ルーチン１０２４は、ワイヤレス端末１０００によって使用されるさまざまな通信プロトコルを制御する。例えば、通信ルーチン１０２４は、（例えば、基地局との）ワイドエリアネットワーク、および／または、（例えば、個別のワイヤレス端末で直接に）ローカルエリアピアツーピアネットワークを通しての通信を可能にしてもよい。さらなる例として、通信ルーチン１０２４は、（例えば、基地局からの）ブロードキャスト信号の受信を可能にしてもよい。ワイヤレス端末制御ルーチン１０２６は、受信機１００２と送信機１００４の制御を含む基本的なワイヤレス端末１０００機能を制御する。複数の識別子通信ルーチン１０２８は、デバイスに関係する２つ以上の識別子の選択を制御し、ハッシュ機能またはフィルタリングメカニズムを通して識別子の処理を制御して、それぞれの識別子を個別に公表する必要性を緩和しつつ、複数の識別子を効率的にブロードキャストする。識別子は、デバイスのユーザ、所望の機能、サービス、関心、または他の情報に関係する任意の識別に関連することができる。識別子変換ルーチン１０３０は、デバイスが通信範囲内にある場合、どの情報をピアデバイスがブロードキャストすべきか（例えば、どのビットを“１”に設定すべきか）の決定を制御できる。
【００８８】
図１１を参照して、ビットベクトルを使用して、少なくとも２つの識別子をブロードキャストして、アドホック環境におけるピア発見を容易にする例示的なシステム１１００を図示する。システム１１００は、移動体デバイス内に少なくとも部分的に存在できる。機能ブロックを含むとして、システム１１００を表したが、これは、プロセッサ、ソフトウェア、または、これらの組み合わせ（例えば、ファームウェア）によって実現される機能を表す機能ブロックであってもよいことを理解すべきである。
【００８９】
システム１１００は、別々に動作できる、または、関連して動作できる電気コンポーネントの論理的グルーピング１１０２を含む。例えば、論理的グルーピング１１０２は、ノードに関係する識別子の少なくともサブセットを選択する電気コンポーネント１１０４を含むことができる。図示にしたがうと、識別子は、自動的に、手動で、または、これらの組み合わせで選択できる。例えば、手入力は、識別子のサブセットの少なくとも１つの識別子を指定できる。さらに、選択できる識別子の数には制限があってもよい。さらに、論理的グルーピング１１０２は、識別子のサブセットを処理して、マーク付けされたビットを含む出力ビットシーケンスを生み出すための電気コンポーネント１１０６を含むことができる。ビットは、“０”から、“オン”または“１”にビットを設定することによって、または、他の何らかのマーク付け方法を通して、マーク付けできる。さらに、論理的グルーピング１１０２は、アドホック環境に位置している複数の受信機ノードに対して、出力ビットシーケンスを送信する電気コンポーネント１１０８を含むことができる。いくつかの観点にしたがうと、論理的グルーピング１１０２は、（例えば、偽陽性を緩和するために、）ビットシーケンス内のマーク付けされるビットの数を制限する電気コンポーネントを含むことができる。
【００９０】
さらに、システム１１００は、電気コンポーネント１１０４、１１０６、および、１１０８、または、他のコンポーネントに関係する機能を実行するための命令を保持するメモリ１１１０を含むことができる。メモリ１１１０の外部にあるとして示したが、１つ以上の電気コンポーネント１１０４、１１０６、および、１１０８は、メモリ１１１０の内部に存在してもよい。
【００９１】
図１２を参照して、ビットベクトルのサブ部分を受信して解釈して、アドホック環境におけるピア発見を容易にする例示的なシステム１２００を図示する。システム１２００は、移動体デバイス内に少なくとも部分的に存在してもよい。機能ブロックを含むとして、システム１２００を表したが、これは、プロセッサ、ソフトウェア、または、これらの組み合わせ（例えば、ファームウェア）によって実現される機能を表す機能ブロックであってもよいことを理解すべきである。
【００９２】
システム１２００は、別々に動作できる、または、関連して動作できる電気コンポーネントの論理的グルーピング１１０２を含む。例えば、論理的グルーピング１１０２は、送信ノードからのビットベクトルの少なくとも部分を受信する電気コンポーネント１２０４を含むことができる。さらに、論理的グルーピング１２０２は、ビットベクトルの受信部分中のどのビットがマーク付けされているかを決定する電気コンポーネント１２０６を含むことができる。ビットが“１”に設定されていることを決定することによって、マーキングを確立できる。さらに、論理的グルーピング１２０２は、ビットベクトル中のどのビットを、ピアノードがマーク付けすることになるかを判定する電気コンポーネント１２０８も含むことができる。ピアノードがまた、他の知られていない識別子を使用して、ビットベクトル中のビットをマーク付けする場合であっても、マーク付けされることになるビットは、ピアデバイスに関係する１つ以上の知られている識別子に基づくことができる。論理的グルーピング１２０２はまた、ピアノードがビットベクトルを送ったか否かを突きとめる電気コンポーネント１２１０も含むことができる。ピアノードがビットベクトルを送ったか否かの決定は、ビットベクトル中の受信部分中のマーク付けされたビットの決定に基づいて行うことができる。
【００９３】
追加的に、または、代わりに、論理的グルーピング１２０２は、マーク付けされているビットの数が、上限を超える場合、ビットベクトルの受信部分を無視する電気コンポーネントを含むことができる。マーク付けされたビットが上限を超える場合、悪質な、正しく実行していないデバイスや、信頼できない通信を送っているデバイスを示すことができる。ビットベクトル中の一部分が、ピアノードから受信されたかもしれない場合、送信ノードとの通信を選択的に開始する電気コンポーネントも含まれることができる。通信は、送信ノードがピアノードであるか否かの確認に対する要求であるかもしれない。
【００９４】
さらに、システム１２００は、電気コンポーネント１２０４、１２０６、および、１２０８、または、他のコンポーネントに関係する機能を実行するための命令を保持するメモリ１２１２を含むことができる。メモリ１２１２の外部にあるとして示したが、１つ以上の電気コンポーネント１２０４、１２０６、１２０８、および、１２１０は、メモリ１２１２の内部に存在してもよい。
【００９５】
ここで説明した観点は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、または、これらの任意の組み合わせで実現されてもよいことを理解すべきである。システムおよび／または方法が、ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコード、プログラムコードまたはコードセグメント中で実現されるとき、これらは、記憶コンポーネントのような、機械読取可能媒体中に記憶されてもよい。コードセグメントは、手続、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または、命令の任意の組み合わせ、データ構造、あるいは、プログラムステートメントを表してもよい。コードセグメントは、情報、データ、引数、パラメータ、または、メモリコンテンツを送ること、および／または、受信することによって、別のコードセグメント、または、ハードウェア回路に結合されてもよい。情報、引数、パラメータ、データ等が、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信等を含む任意の適切な手段を使用して、送られ、伝送され、送信されてもよい。
【００９６】
ここで説明した観点にしたがって、説明したさまざまな図示的な論理、論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）または他のプログラム可能論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいは、ここで述べてきた機能を実施するために設計されたこれらの組み合わせで、実現されるか、あるいは、実施されてもよい。汎用プロセッサはマイクロプロセッサであってもよいが、代替実施形態では、プロセッサは、何らかの従来のプロセッサ、制御装置、マイクロ制御装置、状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせとして、例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアを備えた１つ以上のマイクロプロセッサ、あるいは、このような構成の他の何らかのものとして実現してもよい。
【００９７】
ソフトウェア実現では、ここで説明する技術は、ここで説明する機能を実行するモジュール（例えば、手続、関数等）とともに実現されてもよい。ソフトウェアコードは、メモリユニット中に記憶されてもよく、プロセッサによって実行されてもよい。メモリユニットは、プロセッサ内部で、または、プロセッサの外部で実現されてもよく、プロセッサ外部のケースでは、技術的に知られているように、さまざまな手段を通して、メモリユニットはプロセッサに通信可能に結合されることができる。さらに、少なくとも１つのプロセッサは、ここで説明した機能を実行するように動作可能な1つ以上のモジュールを含んでもよい。
【００９８】
ＣＤＭＡ、ＴＤＭＡ、ＦＤＭＡ、ＯＦＤＭＡ、ＳＣ−ＦＤＭＡ、および他のシステムのようなさまざまなワイヤレス通信システムに対して、ここで説明した技術を使用してもよい。用語“システム”および“ネットワーク”は、相互交換可能に使用されることが多い。ＣＤＭＡシステムは、ユニバーサル地上無線アクセス（ＵＴＲＡ）、ＣＤＭＡ２０００等のような無線技術を実現してもよい。ＵＴＲＡは、広帯域ＣＤＭＡ（Ｗ−ＣＤＭＡ）と、他のＣＤＭＡの変形を含む。さらに、ｃｄｍａ２０００は、ＩＳ−２０００、ＩＳ−９５、および、ＩＳ−８５６標準規格を含む。ＴＤＭＡシステムは、移動体通信のためのグローバルシステム（ＧＳＭ）のような無線技術を実現してもよい。ＯＦＤＭＡシステムは、拡張ＵＴＲＡ（Ｅ−ＵＴＲＡ）、ウルトラ移動体ブロードバンド（ＵＭＢ）、ＩＥＥＥ８０２．１１（Ｗｉ−Ｆｉ）、ＩＥＥＥ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ８０２．２０、フラッシュＯＦＤＭ（登録商標）等のような無線技術を実現してもよい。ＵＴＲＡおよびＥ−ＵＴＲＡは、ユニバーサル移動体電気通信システム（ＵＭＴＳ）の一部である。３ＧＰＰ長期進化（ＬＴＥ）は、Ｅ−ＵＴＲＡを使用するＵＭＴＳのリリースであり、これは、ダウンリンク上でＯＦＤＭＡを、また、アップリンク上でＳＣ−ＦＤＭＡを用いる。ＵＴＲＡ、Ｅ−ＵＴＲＡ、ＵＭＴＳ、ＬＴＥおよびＧＳＭは、“第３世代パートナーシップ・プロジェクト”（３ＧＰＰ）と称される組織からの文書に説明されている。さらに、ｃｄｍａ２０００およびＵＭＢは、“第３世代パートナーシップ・プロジェクト２”（３ＧＰＰ２）と称される組織からの文書に説明されている。さらに、このようなワイヤレス通信システムは、追加的に、ピアツーピア（例えば、移動体対移動体の）アドホックネットワークシステムを含んでもよく、対のない、免許されていないスペクトラム、８０２．ｘｘワイヤレスＬＡＮ、ブルートゥース（登録商標）、および、他の任意の短距離または長距離の、ワイヤレス通信技術を使用することが多い。
【００９９】
さらに、ここで説明するさまざまな観点または特徴は、標準のプログラミングおよび／またはエンジニアリング技術を使用して、方法、装置、または製品として実現されてもよい。ここで使用するような、用語“製品”は、任意のコンピュータ読取可能デバイスや、キャリアや、または、媒体からアクセス可能なコンピュータプログラムを包含することを意図している。例えば、コンピュータ読取可能媒体は、これらに制限されないが、磁気記憶デバイス（例えば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストライプ等）と、光学ディスク（例えば、コンパクトディスク（ＣＤ）、デジタル汎用ディスク（ＤＶＤ）等）と、スマートカードと、フラッシュメモリデバイス（例えば、カード、スティック、キードライブ等）とを含んでもよい。さらに、ここで説明したさまざまな記憶媒体は、１つ以上のデバイス、および／または、情報を記憶するための他の機械読取可能媒体を表すことができる。用語“機械読取可能媒体”は、これらに制限されることなく、命令および／またはデータを記憶し、含有し、および／または、搬送することができる、ワイヤレスチャネルとさまざまな他の媒体を含むことができる。さらに、コンピュータプログラム製品は、コンピュータに、ここで説明する機能を実行させる１つ以上の命令またはコードを有するコンピュータ読取可能媒体を含んでもよい。
【０１００】
さらに、ここで開示する観点に関連して説明した方法またはアルゴリズムのステップおよび／またはアクションは、ハードウェアで直接、プロセッサによって実行されるソフトウェアモジュール中で、または、これらの組み合わせ中で実現されてもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーブバルディスク、ＣＤ−ＲＯＭ、あるいは、技術的に知られている他の何らかの形態の記憶媒体に存在していてもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替実施形態では、記憶媒体はプロセッサと一体化されてもよい。さらに、いくつかの観点では、プロセッサおよび記憶媒体は、ＡＳＩＣに存在してもよい。ＡＳＩＣはユーザ端末に存在してもよい。代替実施形態では、プロセッサおよび記憶媒体は、ユーザ端末中のディスクリートコンポーネントとして存在してもよい。さらに、いくつかの観点では、方法またはアルゴリズムのステップおよび／またはアクションは、機械読取可能媒体、および／またはコンピュータ読取可能媒体上の、コードの１つ以上の何らかの組み合わせまたは組として存在してもよく、コンピュータプログラム製品中に組み込まれてもよい。
【０１０１】
上記の開示は、図解的な観点および／または観点を説明したが、添付の特許請求の範囲によって規定される説明した観点および／または観点の範囲から逸脱することなく、さまざまな変更および修正を行えることに留意すべきである。したがって、説明した観点は、添付の特許請求の範囲の範囲内に納まる、すべてのこのような変更、修正および変形を含有することを意図している。さらに、説明した観点および／または観点の構成要素は、単数形で説明し、特許請求したかもしれないが、ここで単数形に対する制限が明示的に述べられない限り、複数形が意図されている。さらに、そうでないとして述べられない限り、任意の観点、および／または観点の全てまたは一部を、任意の他の観点、および／または観点の全てまたは一部とともに利用してもよい。
【０１０２】
用語“含む（including）”が、詳細な説明または特許請求の範囲のいずれかにおいて、使用される範囲では、このような用語は、“備える（comprising）”が特許請求の範囲中の過渡的な用語として用いられるときに解釈されるような用語“備える（comprising）”と同様な方法で包括的であることを意図している。さらに、詳細な説明または特許請求の範囲のいずれかにおいて、使用される用語“または（ｏｒ）”は、“排他的でない、または”であることが意図されている。
【図１】
2010535437.tif 000003
【図２】
2010535437.tif 000004
【図３】
2010535437.tif 000005
【図４】
2010535437.tif 000006
【図５】
2010535437.tif 000007
【図６】
2010535437.tif 000008
【図７】
2010535437.tif 000009
【図８】
2010535437.tif 000010
【図９】
2010535437.tif 000011
【図１０】
2010535437.tif 000012
【図１１】
2010535437.tif 000013
【図１２】
2010535437.tif 000014
【手続補正書】
【提出日】平成22年5月6日(2010.5.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピア発見の間にブロードキャストするための２つ以上の識別子を表すビットのシーケンスを作成する方法において、
ブロードキャストされることになる２つ以上の識別子を選択することと、
前記選択された識別子を処理して、ビットベクトル中に含まれるマーク付けされているビットのシーケンスを生成することと、
ピア発見目的のために前記ビットベクトルをブロードキャストすることと
を含み、
前記２つ以上の識別子は、送信デバイスに関係付けられている方法。
【請求項２】
前記２つ以上の識別子は、ユーザ、サービス、機能、関心、または、これらの組み合わせに関連する、請求項１記載の方法。
【請求項３】
前記２つ以上の識別子は、自動的に選択され、手動で選択され、または、これらの組み合わせで選択される、請求項１記載の方法。
【請求項４】
前記２つ以上の識別子は、使用頻度、プライマリ表示、現在の使用、または、これらの組み合わせに基づいて自動的に選択される、請求項１記載の方法。
【請求項５】
前記２つ以上の識別子のうちの少なくとも１つは、プライベート一時識別子である、請求項１記載の方法。
【請求項６】
前記選択された識別子を処理することは、前記選択された識別子上に、ハッシュ演算、または、複数のハッシュ演算を実行することを含む、請求項１記載の方法。
【請求項７】
前記選択された識別子を処理して、前記マーク付けされているビットのシーケンスを生成することは、少なくとも１つのビットが、前記選択された識別子のうちの２つによってマーク付けされることになる、請求項１記載の方法。
【請求項８】
前記ビットベクトル内でマーク付けできるビットの数に上限を設定することをさらに含む、請求項１記載の方法。
【請求項９】
ワイヤレス通信装置において、
命令を保持するメモリと、
前記メモリに結合され、前記メモリ中に保持されている前記命令を実行するように構成されているプロセッサと
を具備し、
前記命令は、ブロードキャストするための２つ以上の識別子を選択することと、フィルタリングメカニズムを通して、前記２つ以上の識別子を処理して、前記２つ以上の識別子に対応するビットベクトルを生成することと、近くにあるノードに対して、前記ビットベクトルを送信することとに関連するワイヤレス通信装置。
【請求項１０】
前記メモリは、パブリック識別子を、一時プライベート識別子に変換することに関連する命令をさらに保持する、請求項９記載のワイヤレス通信装置。
【請求項１１】
前記ビットベクトルは、ピア発見プロセスの一部として送信される、請求項９記載のワイヤレス通信装置。
【請求項１２】
前記２つ以上の識別子は、ユーザ識別子、サービス、機能、関心、または、これらの組み合わせに関連する、請求項９記載のワイヤレス通信装置。
【請求項１３】
前記フィルタリングメカニズムは、ハッシュ演算、または、複数のハッシュ演算である、請求項９記載のワイヤレス通信装置。
【請求項１４】
前記メモリは、前記ビットベクトル内に含まれることができる前記マーク付けされているビットの数に上側しきい値を設定することと、前記マーク付けされているビットの数が、前記上側しきい値を満たす、または超える場合に、前記ビットベクトルから少なくとも１つの識別子を除去することとに関連する命令をさらに保持する、請求項９記載のワイヤレス通信装置。
【請求項１５】
通信環境におけるオーバーヘッドの量を緩和しつつ、ビットベクトルを使用して少なくとも２つの識別子をブロードキャストして、ピア発見を容易にするワイヤレス通信装置において、
デバイスに関係付けられている識別子の少なくともサブセットを選択する手段と、
前記識別子の少なくともサブセットを処理して、マーク付けされているビットを含む出力ビットシーケンスを生成する手段と、
複数の受信機デバイスに対して、前記出力ビットシーケンスを送信する手段と
を具備するワイヤレス通信装置。
【請求項１６】
前記ビットシーケンス内でマーク付けされるビットの数を制限する手段をさらに具備する、請求項１５記載のワイヤレス通信装置。
【請求項１７】
コンピュータプログラムにおいて、
コンピュータに、ピア発見のために、定期的にブロードキャストするための２つ以上の識別子を選択させる第１組のコードと、
前記コンピュータに、前記選択された識別子上に演算を実行させて、ビットベクトル内で複数の設定されているビットを生成させる第２組のコードと、
前記コンピュータに、通信環境内でデバイスによるピア発見のために前記設定されているビットを有する前記ビットベクトルを伝送させる第３組のコードと
を含み、
前記複数の設定されているビットは、前記２つ以上の識別子に対応する、コンピュータプログラム。
【請求項１８】
前記演算は、ハッシュ演算、または、複数のハッシュ演算である、請求項１７記載のコンピュータプログラム。
【請求項１９】
前記コンピュータに、前記ビットベクトル内で設定できるビットの数を選択的に制限させる第４組のコードをさらに含む、請求項１７記載のコンピュータプログラム。
【請求項２０】
前記コンピュータに、パブリックに知られている識別子を、一時プライベート識別子に変更させる第５組のコードと、
前記コンピュータに、前記２つ以上の選択された識別子のうちの少なくとも１つとして、前記一時プライベート識別子を使用させる第６組のコードと
をさらに含む、請求項１７記載のコンピュータプログラム。
【請求項２１】
ピア発見プロセスの間にブロードキャストするための２つ以上の識別子を表すビットのシーケンスを作成するように構成されている、少なくとも１つのプロセッサにおいて、
ピア発見の間に送信されることになる２つ以上の識別子を選択する第１のモジュールと、
前記２つ以上の識別子のうちの少なくとも１つをプライベート一時識別子に変換する第２のモジュールと、
ビットベクトル中に含めることができるマーク付けされているビットの数に上限を設定する第３のモジュールと、
ハッシュアルゴリズムを通して、前記選択された識別子と前記プライベート一時識別子とを処理して、前記ビットベクトル内でマーク付けされているビットのシーケンスを生成させる第４のモジュールと、
ピア発見目的のために、前記ビットベクトルをブロードキャストする第５のモジュールと
を具備し、
前記マーク付けされているビットのシーケンスは、前記設定された上限にしたがうプロセッサ。
【請求項２２】
ピア発見目的のために、ビットベクトル中に含まれるマーク付けされているビットを受信およびデコードする方法において、
知られている識別子をピアノードがブロードキャストしている場合にマーク付けされるべき、ビットベクトル中のビットを決定することと、
通信ネットワーク中のノードから前記ビットベクトルの少なくともサブセットを受信することと、
前記ビットベクトル内のマーク付けされているビットに対して、前記受信したビットベクトルの少なくともサブセットを評価することと、
前記ピアノードが前記ビットベクトルを送信した場合にマーク付けされるべきビットに基づいて、前記受信されたビットベクトルの少なくともサブセットが、前記ピアノードからのものであり得るか否かを突きとめることと、
前記ビットベクトルが、前記ピアノードからのものであり得る場合に、通信を選択的に開始することと
を含む方法。
【請求項２３】
前記通信ネットワーク中のノードから前記ビットベクトルの少なくともサブセットを受信することは、ビットの送信者が前記ピアノードであり得るという信頼度レベルを示すのに十分な量のビットを受信することを含み、
前記信頼度レベルが予め定められたしきい値を満たす、または超える場合に、前記ビットベクトルは前記ピアノードからのものであり得る、請求項２２記載の方法。
【請求項２４】
前記知られている識別子をピアノードがブロードキャストしている場合にマーク付けされるべき、ビットベクトル中のビットを決定することは、前記ピアノードによって使用されるフィルタリングメカニズムに類似するフィルタリングメカニズムを通して、前記ピアノードの前記知られている識別子を処理することを含む、請求項２２記載の方法。
【請求項２５】
前記フィルタリングメカニズムは、ハッシュ演算、または、複数のハッシュ演算である、請求項２２記載の方法。
【請求項２６】
前記ビットベクトルが、前記ピアノードからのものである場合に、通信を選択的に開始することは、前記ノードか前記ピアノードであるか否かの確認のための要求を送ることを含む、請求項２２記載の方法。
【請求項２７】
マーク付けされているビットの数が、上限を超える場合に、前記ビットベクトルを無視することをさらに含む、請求項２２記載の方法。
【請求項２８】
ワイヤレス通信装置において、
命令を保持するメモリと、
前記メモリに結合され、前記メモリ中に保持されている前記命令を実行するように構成されているプロセッサと
を具備し、
前記命令は、送信ノードからのビットベクトルを受信することと、前記ビットベクトルをデコードすることと、前記ビットベクトルが関連ピアからのものである場合に、どのビットが設定されるべきかを決定することと、前記送信ノードが前記関連ピアであり得るか否かを確認することとに関連するワイヤレス通信装置。
【請求項２９】
前記メモリは、前記ビットベクトル中の設定されているビットの数が、上限を超える場合に、前記ビットベクトルを無視することに関連する命令をさらに保持する、請求項２８記載のワイヤレス通信装置。
【請求項３０】
前記メモリは、前記関連ピアに関係付けられている情報を保持することと、前記送信ノードが前記関連ピアであり得るか否かを確認しつつ、前記保持されている情報を使用することとに関連する命令をさらに保持する、請求項２８記載のワイヤレス通信装置。
【請求項３１】
前記メモリは、受信した一時キーに基づいて、前記関連ピアの知られているパブリック識別子を、プライベート一時識別子に変換するための情報を保持することに関連する命令をさらに保持する、請求項２８記載のワイヤレス通信装置。
【請求項３２】
前記メモリは、前記関連ピアによって使用されるフィルタリングメカニズムに類似するフィルタリングメカニズムを通して、前記関連ピアの知られている識別子を処理して、前記ビットベクトルが、前記関連ピアからのものである場合に、どのビットが設定されるべきかを決定することに関連する命令をさらに保持し、前記フィルタリングメカニズムは、ハッシュ演算、または、複数のハッシュ演算である、請求項２８記載のワイヤレス通信装置。
【請求項３３】
ビットベクトルのサブ部分を受信し、解釈して、アドホック環境におけるピア発見を容易にするワイヤレス通信装置において、
送信ノードからのビットベクトルの少なくとも部分を受信する手段と、
前記ビットベクトルの受信部分中のどのビットがマーク付けされているかを決定する手段と、
前記ビットベクトル中のどのビットを、ピアノードがマーク付けするだろうかを判定する手段と、
前記ビットベクトルの受信部分中のマーク付けされているビットの決定に基づいて、前記ビットベクトルの部分が、前記ピアノードからのものであってもよいか否かを突きとめる手段と
を具備するワイヤレス通信装置。
【請求項３４】
前記ビットベクトル中のどのビットを、ピアノードがマーク付けするだろうかを判定する手段は、判定を行うために、前記ピアノードに関係付けられている少なくとも１つの知られている識別子を使用する、請求項３３記載のワイヤレス通信装置。
【請求項３５】
マーク付けされているビットの数が上限を超える場合に、前記ビットベクトルの受信部分を無視する手段をさらに具備する、請求項３３記載のワイヤレス通信装置。
【請求項３６】
前記ビットベクトルの部分が、前記ピアノードからのものであってもよい場合に、前記送信ノードとの通信を選択的に開始する手段をさらに具備する、請求項３３記載のワイヤレス通信装置。
【請求項３７】
前記送信ノードからのビットベクトルの少なくとも部分を受信する手段は、前記ビットの送信者が前記ピアノードであり得るという信頼度レベルを示すのに十分な量のビットを受信し、
前記信頼度レベルが予め定められたしきい値を満たす、または超える場合に、前記ビットベクトルは前記ピアノードからのものであり得る、請求項３３記載のワイヤレス通信装置。
【請求項３８】
コンピュータプログラムにおいて、
コンピュータに、ピアノードがビットベクトルを送信している場合に、“１”に設定すべきビットのシーケンスを判定させる第１組のコードと、
前記コンピュータに、アドホックネットワーク中のノードからのビットベクトルの少なくともサブセットを受信させる第２組のコードと、
前記コンピュータに、前記受信されたビットベクトル中の“１”に設定されているビットに基づいて、前記受信されたビットベクトルの少なくともサブセットが、前記ピアノードからのものであってもよいか否かを決定させる第３組のコードと、
前記コンピュータに、前記ピアノードが、そこから前記ビットベクトルの前記サブセットが受信されたノードであるか否かの確認を選択的に要求させる第４組のコードと
を含むコンピュータプログラム。
【請求項３９】
前記アドホックネットワーク中のノードからのビットベクトルの少なくともサブセットを受信することは、前記ビットの送信者が前記ピアノードであり得るという信頼度レベルを示すのに十分な量のビットを受信することを含み、
前記信頼度レベルが予め定められたしきい値を満たす、または超える場合に、前記ビットベクトルは前記ピアノードからのものであり得る、請求項３８記載のコンピュータプログラム。
【請求項４０】
ピア発見目的のために、ビットベクトル中に含まれるマーク付けされているビットを受信およびデコードするように構成されている、少なくとも１つのプロセッサにおいて、
複数のビットを含むビットベクトルを送信ノードから受信する第１のモジュールと、
設定されているビットの数が、上限を超える場合に、前記ビットベクトルを無視する第２のモジュールと、
前記ビットベクトルが関連ピアからのものである場合に、前記複数のビット中のどのビットが設定されるべきかを決定する第３のモジュールと、
前記受信ビットベクトル中の前記設定されているビットを、前記関連ピアからのものである場合に設定されるべきビットと比較する第４のモジュールと、
前記受信ビットベクトルが、前記関連ピアから受信されたかもしれないことを前記比較が示す場合に、前記送信ノードに通信を送って、前記送信ノードが前記関連ピアであるか否かを決定する第５のモジュールと
を具備するプロセッサ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０２
【補正方法】変更
【補正の内容】
【０１０２】
用語“含む（including）”が、詳細な説明または特許請求の範囲のいずれかにおいて、使用される範囲では、このような用語は、“備える（comprising）”が特許請求の範囲中の過渡的な用語として用いられるときに解釈されるような用語“備える（comprising）”と同様な方法で包括的であることを意図している。さらに、詳細な説明または特許請求の範囲のいずれかにおいて、使用される用語“または（ｏｒ）”は、“排他的でない、または”であることが意図されている。  
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］ピア発見の間にブロードキャストするための２つ以上の識別子を表すビットのシーケンスを作成する方法において、
ブロードキャストされることになる２つ以上の識別子を選択することと、
前記選択された識別子を処理して、ビットベクトル中に含まれるマーク付けされているビットのシーケンスを生成することと、
ピア発見目的のために前記ビットベクトルをブロードキャストすることと
を含み、
前記２つ以上の識別子は、送信デバイスに関係付けられている方法。
［２］前記２つ以上の識別子は、ユーザ、サービス、機能、関心、または、これらの組み合わせに関連する、上記［１］の方法。
［３］前記２つ以上の識別子は、自動的に選択され、手動で選択され、または、これらの組み合わせで選択される、上記［１］の方法。
［４］前記２つ以上の識別子は、使用頻度、プライマリ表示、現在の使用、または、これらの組み合わせに基づいて自動的に選択される、上記［１］の方法。
［５］前記２つ以上の識別子のうちの少なくとも１つは、プライベート一時識別子である、上記［１］の方法。
［６］前記選択された識別子を処理することは、前記選択された識別子上に、ハッシュ演算、または、複数のハッシュ演算を実行することを含む、上記［１］の方法。
［７］前記選択された識別子を処理して、前記マーク付けされているビットのシーケンスを生成することは、少なくとも１つのビットが、前記選択された識別子のうちの２つによってマーク付けされることになる、上記［１］の方法。
［８］前記ビットベクトル内でマーク付けできるビットの数に上限を設定することをさらに含む、上記［１］の方法。
［９］ワイヤレス通信装置において、
命令を保持するメモリと、
前記メモリに結合され、前記メモリ中に保持されている前記命令を実行するように構成されているプロセッサと
を具備し、
前記命令は、ブロードキャストするための２つ以上の識別子を選択することと、フィルタリングメカニズムを通して、前記２つ以上の識別子を処理して、前記２つ以上の識別子に対応するビットベクトルを生成することと、近くにあるノードに対して、前記ビットベクトルを送信することとに関連するワイヤレス通信装置。
［１０］前記メモリは、パブリック識別子を、一時プライベート識別子に変換することに関連する命令をさらに保持する、上記［９］のワイヤレス通信装置。
［１１］前記ビットベクトルは、ピア発見プロセスの一部として送信される、上記［９］のワイヤレス通信装置。
［１２］前記２つ以上の識別子は、ユーザ識別子、サービス、機能、関心、または、これらの組み合わせに関連する、上記［９］のワイヤレス通信装置。
［１３］前記フィルタリングメカニズムは、ハッシュ演算、または、複数のハッシュ演算である、上記［９］のワイヤレス通信装置。
［１４］前記メモリは、前記ビットベクトル内に含まれることができる前記マーク付けされているビットの数に上側しきい値を設定することと、前記マーク付けされているビットの数が、前記上側しきい値を満たす、または超える場合に、前記ビットベクトルから少なくとも１つの識別子を除去することとに関連する命令をさらに保持する、上記［９］のワイヤレス通信装置。
［１５］通信環境におけるオーバーヘッドの量を緩和しつつ、ビットベクトルを使用して少なくとも２つの識別子をブロードキャストして、ピア発見を容易にするワイヤレス通信装置において、
デバイスに関係付けられている識別子の少なくともサブセットを選択する手段と、
前記識別子の少なくともサブセットを処理して、マーク付けされているビットを含む出力ビットシーケンスを生成する手段と、
複数の受信機デバイスに対して、前記出力ビットシーケンスを送信する手段と
を具備するワイヤレス通信装置。
［１６］前記ビットシーケンス内でマーク付けされるビットの数を制限する手段をさらに具備する、上記［１５］のワイヤレス通信装置。
［１７］コンピュータ読取可能媒体を具備するコンピュータプログラム製品において、
前記コンピュータ読取可能媒体は、
コンピュータに、ピア発見のために、定期的にブロードキャストするための２つ以上の識別子を選択させる第１組のコードと、
前記コンピュータに、前記選択された識別子上に演算を実行させて、ビットベクトル内で複数の設定されているビットを生成させる第２組のコードと、
前記コンピュータに、通信環境内でデバイスによるピア発見のために前記設定されているビットを有する前記ビットベクトルを伝送させる第３組のコードと
を含み、
前記複数の設定されているビットは、前記２つ以上の識別子に対応する、コンピュータプログラム製品。
［１８］前記演算は、ハッシュ演算、または、複数のハッシュ演算である、上記［１７］のコンピュータプログラム製品。
［１９］前記コンピュータ読取可能媒体は、
前記コンピュータに、前記ビットベクトル内で設定できるビットの数を選択的に制限させる第４組のコードをさらに含む、上記［１７］のコンピュータプログラム製品。
［２０］前記コンピュータ読取可能媒体は、
前記コンピュータに、パブリックに知られている識別子を、一時プライベート識別子に変更させる第４組のコードと、
前記コンピュータに、前記２つ以上の選択された識別子のうちの少なくとも１つとして、前記一時プライベート識別子を使用させる第５組のコードと
をさらに含む、上記［１７］のコンピュータプログラム製品。
［２１］ピア発見プロセスの間にブロードキャストするための２つ以上の識別子を表すビットのシーケンスを作成するように構成されている、少なくとも１つのプロセッサにおいて、
ピア発見の間に送信されることになる２つ以上の識別子を選択する第１のモジュールと、
前記２つ以上の識別子のうちの少なくとも１つをプライベート一時識別子に変換する第２のモジュールと、
ビットベクトル中に含めることができるマーク付けされているビットの数に上限を設定する第３のモジュールと、
ハッシュアルゴリズムを通して、前記選択された識別子と前記プライベート一時識別子とを処理して、前記ビットベクトル内でマーク付けされているビットのシーケンスを生成させる第４のモジュールと、
ピア発見目的のために、前記ビットベクトルをブロードキャストする第５のモジュールと
を具備し、
前記マーク付けされているビットのシーケンスは、前記設定された上限にしたがうプロセッサ。
［２２］ピア発見目的のために、ビットベクトル中に含まれるマーク付けされているビットを受信およびデコードする方法において、
知られている識別子をピアノードがブロードキャストしている場合にマーク付けされるべき、ビットベクトル中のビットを決定することと、
通信ネットワーク中のノードから前記ビットベクトルの少なくともサブセットを受信することと、
前記ビットベクトル内のマーク付けされているビットに対して、前記受信したビットベクトルの少なくともサブセットを評価することと、
前記ピアノードが前記ビットベクトルを送信した場合にマーク付けされるべきビットに基づいて、前記受信されたビットベクトルの少なくともサブセットが、前記ピアノードからのものであり得るか否かを突きとめることと、
前記ビットベクトルが、前記ピアノードからのものであり得る場合に、通信を選択的に開始することと
を含む方法。
［２３］前記通信ネットワーク中のノードから前記ビットベクトルの少なくともサブセットを受信することは、ビットの送信者が前記ピアノードであり得るという信頼度レベルを示すのに十分な量のビットを受信することを含み、
前記信頼度レベルが予め定められたしきい値を満たす、または超える場合に、前記ビットベクトルは前記ピアノードからのものであり得る、上記［２２］の方法。
［２４］前記知られている識別子をピアノードがブロードキャストしている場合にマーク付けされるべき、ビットベクトル中のビットを決定することは、前記ピアノードによって使用されるフィルタリングメカニズムに類似するフィルタリングメカニズムを通して、前記ピアノードの前記知られている識別子を処理することを含む、上記［２２］の方法。
［２５］前記フィルタリングメカニズムは、ハッシュ演算、または、複数のハッシュ演算である、上記［２２］の方法。
［２６］前記ビットベクトルが、前記ピアノードからのものである場合に、通信を選択的に開始することは、前記ノードか前記ピアノードであるか否かの確認のための要求を送ることを含む、上記［２２］の方法。
［２７］マーク付けされているビットの数が、上限を超える場合に、前記ビットベクトルを無視することをさらに含む、上記［２２］の方法。
［２８］ワイヤレス通信装置において、
命令を保持するメモリと、
前記メモリに結合され、前記メモリ中に保持されている前記命令を実行するように構成されているプロセッサと
を具備し、
前記命令は、送信ノードからのビットベクトルを受信することと、前記ビットベクトルをデコードすることと、前記ビットベクトルが関連ピアからのものである場合に、どのビットが設定されるべきかを決定することと、前記送信ノードが前記関連ピアであり得るか否かを確認することとに関連するワイヤレス通信装置。
［２９］前記メモリは、前記ビットベクトル中の設定されているビットの数が、上限を超える場合に、前記ビットベクトルを無視することに関連する命令をさらに保持する、上記［２８］のワイヤレス通信装置。
［３０］前記メモリは、前記関連ピアに関係付けられている情報を保持することと、前記送信ノードが前記関連ピアであり得るか否かを確認しつつ、前記保持されている情報を使用することとに関連する命令をさらに保持する、上記［２８］のワイヤレス通信装置。
［３１］前記メモリは、受信した一時キーに基づいて、前記関連ピアの知られているパブリック識別子を、プライベート一時識別子に変換するための情報を保持することに関連する命令をさらに保持する、上記［２８］のワイヤレス通信装置。
［３２］前記メモリは、前記関連ピアによって使用されるフィルタリングメカニズムに類似するフィルタリングメカニズムを通して、前記関連ピアの知られている識別子を処理して、前記ビットベクトルが、前記関連ピアからのものである場合に、どのビットが設定されるべきかを決定することに関連する命令をさらに保持し、前記フィルタリングメカニズムは、ハッシュ演算、または、複数のハッシュ演算である、上記［２８］のワイヤレス通信装置。
［３３］ビットベクトルのサブ部分を受信し、解釈して、アドホック環境におけるピア発見を容易にするワイヤレス通信装置において、
送信ノードからのビットベクトルの少なくとも部分を受信する手段と、
前記ビットベクトルの受信部分中のどのビットがマーク付けされているかを決定する手段と、
前記ビットベクトル中のどのビットを、ピアノードがマーク付けするだろうかを判定する手段と、
前記ビットベクトルの受信部分中のマーク付けされているビットの決定に基づいて、前記ビットベクトルの部分が、前記ピアノードからのものであってもよいか否かを突きとめる手段と
を具備するワイヤレス通信装置。
［３４］前記ビットベクトル中のどのビットを、ピアノードがマーク付けするだろうかを判定する手段は、判定を行うために、前記ピアノードに関係付けられている少なくとも１つの知られている識別子を使用する、上記［３３］のワイヤレス通信装置。
［３５］マーク付けされているビットの数が上限を超える場合に、前記ビットベクトルの受信部分を無視する手段をさらに具備する、上記［３３］のワイヤレス通信装置。
［３６］前記ビットベクトルの部分が、前記ピアノードからのものであってもよい場合に、前記送信ノードとの通信を選択的に開始する手段をさらに具備する、上記［３３］のワイヤレス通信装置。
［３７］前記送信ノードからのビットベクトルの少なくとも部分を受信する手段は、前記ビットの送信者が前記ピアノードであり得るという信頼度レベルを示すのに十分な量のビットを受信し、
前記信頼度レベルが予め定められたしきい値を満たす、または超える場合に、前記ビットベクトルは前記ピアノードからのものであり得る、上記［３３］のワイヤレス通信装置。
［３８］コンピュータ読取可能媒体を具備するコンピュータプログラム製品において、
前記コンピュータ読取可能媒体は、
コンピュータに、ピアノードがビットベクトルを送信している場合に、“１”に設定すべきビットのシーケンスを判定させる第１組のコードと、
前記コンピュータに、アドホックネットワーク中のノードからのビットベクトルの少なくともサブセットを受信させる第２組のコードと、
前記コンピュータに、前記受信されたビットベクトル中の“１”に設定されているビットに基づいて、前記受信されたビットベクトルの少なくともサブセットが、前記ピアノードからのものであってもよいか否かを決定させる第３組のコードと、
前記コンピュータに、前記ピアノードが、そこから前記ビットベクトルの前記サブセットが受信されたノードであるか否かの確認を選択的に要求させる第４組のコードと
を含むコンピュータプログラム製品。
［３９］前記アドホックネットワーク中のノードからのビットベクトルの少なくともサブセットを受信することは、前記ビットの送信者が前記ピアノードであり得るという信頼度レベルを示すのに十分な量のビットを受信することを含み、
前記信頼度レベルが予め定められたしきい値を満たす、または超える場合に、前記ビットベクトルは前記ピアノードからのものであり得る、上記［３８］のコンピュータプログラム製品。
［４０］ピア発見目的のために、ビットベクトル中に含まれるマーク付けされているビットを受信およびデコードするように構成されている、少なくとも１つのプロセッサにおいて、
複数のビットを含むビットベクトルを送信ノードから受信する第１のモジュールと、
設定されているビットの数が、上限を超える場合に、前記ビットベクトルを無視する第２のモジュールと、
前記ビットベクトルが関連ピアからのものである場合に、前記複数のビット中のどのビットが設定されるべきかを決定する第３のモジュールと、
前記受信ビットベクトル中の前記設定されているビットを、前記関連ピアからのものである場合に設定されるべきビットと比較する第４のモジュールと、
前記受信ビットベクトルが、前記関連ピアから受信されたかもしれないことを前記比較が示す場合に、前記送信ノードに通信を送って、前記送信ノードが前記関連ピアであるか否かを決定する第５のモジュールと
を具備するプロセッサ。
【国際調査報告】
2010535437.tif 000015
2010535437.tif 000016
2010535437.tif 000017