(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0024】
[0037]他のデバイスからあるデバイスにサービスを提供するために、Wi−Fiピアツーピア(P2P)接続を介した、あるデバイスと他のデバイスとの間の通信が実施され得る。そのような通信のためにWi−Fi P2P接続を確立するために、デバイス(シーカー)は、プローブをブロードキャストし、他のデバイスからプローブ応答を受信し得る。
【0025】
[0038]一例では、シーカー(たとえば、スマートフォン)は、シーカーがWi−Fi P2P通信を介して別のデバイス(すなわち、広告主)から受信することを所望するサービスを識別するかまたはさもなければ決定し得る。シーカーは、所望のサービスを識別するプローブをブロードキャストし得る。シーカーは、プローブ応答(または応答なし)を受信し得、プローブ応答中に含まれるサービスの名前を所望のサービスの名前と比較することによって所望のサービスについて有効な一致があるかどうかを決定し得る。有効な一致があるとき、ユーザインターフェースを介してシーカーのユーザに、あるいはアプリケーションを介してシーカーに一致の通知が提供され得る。提供される通知は、そのようなプローブ応答を提供しているデバイスに関する情報を含み得る。
【0026】
[0039]ブロードキャストの範囲内の広告主は、シーカーからプローブを受信し得る。広告主は、プローブにおいて識別されるようにシーカーによって所望されるサービスを提供することが可能であるかどうかを決定し得る。広告主は、各所望のサービスを、広告主が提供することが可能であるサービスと比較することによって決定を行い得る。たとえば、プローブは、各所望のサービスのための識別子を含み得、広告主は、識別子の比較を可能にするためにそれぞれの識別子によって識別されるそれのサービスの各々を有し得る。広告主が、それが(たとえば、識別子の一致を決定することによって)所望のサービスに対応する少なくとも1つのサービスを提供することが可能であると決定した場合のみ、広告主はシーカーにプローブ応答を送り得る。他の場合、広告主はプローブ応答を送らないことがある。
【0027】
[0040]以下の説明は例を提供するものであり、特許請求の範囲に記載される範囲、適用可能性、または構成を限定するものではない。本開示の範囲から逸脱することなく、論じられる要素の機能および構成に変更が行われ得る。様々な実施形態は、適宜に、様々な手順または構成要素を省略、置換、または追加し得る。たとえば、説明する方法は、説明する順序とは異なる順序で実施され得、様々なステップが追加、省略、または組み合わせられ得る。また、いくつかの実施形態に関して説明する特徴は、他の実施形態において組み合わせられ得る。
【0028】
[0041]最初に
図1を参照すると、システム100は、Wi−Fi P2P通信が可能な様々なデバイス105、110を含む。システム100ではシーカー105および複数の広告主110−a−1〜110−a−9が示されている。Wi−Fi P2P接続またはリンク125を確立している広告主110−a−7および110−a−8を備え得る、P2Pグループ120がシステム中に存在し得る。この例では、広告主110−a−7はグループオーナーであり得る。シーカー105は、Wi−Fi P2P接続をすでに確立していることも、確立していないこともある(および、P2Pグループの一部分であることも、そうでないこともある)。しかしながら、明快のために、シーカー105についてそのようなWi−Fi P2P接続は
図1に示されていない。デバイス105、110の例としては、限定はしないが、Wi−Fi P2P接続を介して通信することが可能なスマートフォン、セルフォン、タブレット、携帯情報端末(PDA)、ラップトップ、または任意の他のデバイスがあり得る。
【0029】
[0042]一実施形態では、シーカー105は、Wi−Fi P2P通信を介して提供されることが所望されるサービスを識別するプローブのブロードキャスト115を放出し得る。ブロードキャスト115の範囲内の広告主110のいずれかがプローブを受信し得る。プローブを受信すると、(一例として)広告主110−a−1は、プローブにおいて識別される所望のサービスを提供することが可能であるか否かを決定し得る。広告主110−a−1が、プローブにおいて識別される少なくとも1つ所望のサービスを提供することが可能でない場合、広告主110−a−1は、受信されたプローブに応答して何も行わないことがあり、それが実施していることがあり得るどのような他の動作も続けるか、またはアイドル状態に戻り得る。
【0030】
[0043]広告主110−a−1が、プローブにおいて識別される所望のサービスのうちの少なくとも1つを提供することが可能である場合、広告主110−a−1は、シーカー105にアドレス指定されたプローブ応答を送信し得る。プローブ応答は、プローブにおいて識別される所望のサービスに対応すると広告主110−a−1によって決定された、広告主110−a−1が提供することが可能であるサービスの名前を含み得る。プローブ応答を受信すると、シーカー105は、プローブ応答中に含まれるサービスの名前が、所望のサービスについて有効な一致であるか否かを決定し得る。有効な場合、シーカー105は、所望のサービスを取得するために、広告主110−a−1とのWi−Fi P2P接続を確立することに進み得る。
【0031】
[0044]Wi−Fi P2P接続は、2つのデバイス間のWi−Fi P2Pピアリンクを利用し得る。これはWi−Fiダイレクト接続と呼ばれることもある。別の例では、Wi−Fi接続は、Wi−Fiトンネルドダイレクトリンクセットアップ(TDLS:Tunneled Direct Link Setup)リンクを使用することによって確立され得る。これらの例におけるWi−Fiデバイスは、IEEE802.11、および限定はしないが、802.11b、802.11g、802.11a、802.11n、802.11ac、802.11ad、802.11ahなどを含む、それの種々のバージョンからの物理レイヤおよびMACレイヤを含むWLAN無線およびベースバンドを使用し得る。
【0032】
[0045]他の広告主110は、それらがプローブのブロードキャスト115を受信するための範囲内にある場合、同じ手順に従い得る。しかしながら、広告主110−a−8に関して、広告主110−a−7は、グループ120のオーナーとして、広告主110−a−8のサービスを担当し得る。したがって、広告主110−a−7または広告主110−a−8が所望のサービスを提供することが可能である場合、広告主110−a−7は、シーカー105にプローブ応答を送り得る。
【0033】
[0046]
図1には示されないが、シーカー105がWi−Fi P2P通信を介してサービスを提供することが可能である場合、シーカー105も広告主として動作し得る。さらに、広告主110の各々が、Wi−Fi P2P通信を介して提供されるべきサービスを希望する場合、広告主110の各々はシーカーとしても動作し得る。デバイスは、デバイスおよび/またはシステム100の能力に応じて、同時にまたは異なる時間に接続され得る。
【0034】
[0047]次に
図2を参照すると、ブロック
図200は、様々な実施形態によるシーカー105−aを示す。シーカー105−aは、
図1を参照しながら説明したシーカー105のうちの1つの1つまたは複数の態様の一例であり得る。シーカー105−aはプロセッサでもあり得る。シーカー105−aは、シーカー受信機モジュール205と、シーカー通信管理モジュール210と、シーカー送信機モジュール215とを含み得る。これらの構成要素の各々は互いに通信していることがある。
【0035】
[0048]デバイス105−aの構成要素は、個別にまたは集合的に、ハードウェア中で適用可能な機能の一部または全部を実施するように適応された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【0036】
[0049]シーカー送信機モジュール215は、シーカー105−aから他のデバイスに通信を送り得る。そのような通信を送ることは、本明細書で説明するようにプローブをブロードキャストすることを含み得る。さらに、シーカー送信機モジュール215は、シーカー105−aがデバイスを発見すると、デバイスにダイレクト(アドレス指定された)通信を送信することによって通信を送り得る。シーカー通信管理モジュール210は、シーカー105−aによって送られるそのような通信を管理し得る。
【0037】
[0050]シーカー受信機モジュール205は、
図1を参照しながら説明した広告主110など、他のデバイスから通信を受信し得る。本明細書で説明するように、通信は、広告主からのプローブ応答を含み得る。シーカー受信機モジュール205は、広告主から送信された指向(アドレス指定された)メッセージを介してこれらの通信を受信し得る。シーカー通信管理モジュール210は、シーカー105−aによって受信されるそのような通信を管理し得る。さらに、シーカー通信管理モジュール210は、シーカー105−aから広告主に送信される通信を管理し得る。さらに、シーカー通信管理モジュール210は、Wi−Fi P2P接続を確立し、そのような接続を介した通信を管理し得る。シーカー通信管理モジュール210に関するさらなる詳細については以下で説明する。
【0038】
[0051]
図3Aは、様々な実施形態によるシーカー105−bを示すブロック
図300−aである。シーカー105−bは、
図1および/または
図2を参照しながら説明したシーカー105のうちの1つの1つまたは複数の態様の一例であり得る。シーカー105−bはプロセッサでもあり得る。シーカー105−bは、シーカー受信機モジュール205−aと、シーカー通信管理モジュール210−aと、シーカー送信機モジュール215−aとを含み得る。これらの構成要素の各々は互いに通信していることがあり得る。
【0039】
[0052]デバイス105−bの構成要素は、個別にまたは集合的に、ハードウェア中で適用可能な機能の一部または全部を実施するように適応された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【0040】
[0053]シーカー受信機モジュール205−aおよびシーカー送信機モジュール215−aは、
図2を参照しながら前に説明したように構成され得る。シーカー通信管理モジュール210−aは、サービス決定モジュール305と、プローブモジュール310と、プローブ応答モジュール315と、Wi−Fi P2P接続モジュール320とを含み得る。
【0041】
[0054]シーカー通信管理モジュール210−aは、
図2に関して上記で説明した様々な機能を実施するように構成され得る。この例では、シーカー通信管理モジュール210−aは、シーカー105−bがWi−Fi P2P通信を介して提供されることを所望するサービスのための発見プロセスを管理し得る。シーカー105−bまたはシーカー通信管理モジュール210−aは、そのような機能を実施するためにプロセッサを含み得る。
【0042】
[0055]サービス決定モジュール305は、シーカー105−bが所望するサービスを識別するかまたはさもなければ決定し得る。たとえば、そのような識別/決定は、そのようなサービスを使用し得る、シーカー105−b上で実行中のアプリケーションに基づき得る。代替または追加として、所望のサービスの識別/決定は、シーカー105−bのオペレーティングシステムが所望のサービスを使用することを意図するという指示に基づき得る。さらに、所望のサービスは、ユーザによって所望される機能または動作が所望のサービスを使用し得ることを示す、シーカー105−bによって受信されたユーザ入力に基づいて識別/決定され得る。
【0043】
[0056]プローブモジュール310は、サービス決定モジュール305によって決定された所望のサービスを識別するかまたはさもなければ示すプローブを生成し得る。いくつかの実施形態では、生成されるプローブは、名前によって所望のサービスを識別し得る。代替的に、生成されるプローブは、個別のサービス毎に識別子を使用して所望のサービスを示し得る。いくつかの実施形態では、各識別子はそれぞれのサービスの名前のハッシュを含み得る。名前、識別子またはハッシュ(たとえば、ハッシュ値)は、プローブの情報要素(IE)中に含まれ得る。
【0044】
[0057]プローブが生成されると、シーカー送信機モジュール215−aは、所望のサービスを提供することが可能である範囲内のデバイスを発見するためにプローブをブロードキャストし得る。シーカー受信機モジュール205−aは、もしあれば、広告主から送られたプローブ応答を受信し得、プローブ応答をプローブ応答モジュール315に提供し得る。プローブ応答モジュール315は、所望のサービスを提供するために、もしあれば広告主のうちのどれが好適であるかを決定するために、適宜にまたは所望通りに応答を処理し得る。たとえば、プローブ応答モジュール315は、Wi−Fi P2P通信について、および/またはそれぞれのプローブ応答中に含まれる情報を介して所望のサービスを提供することについて、広告主の能力を確認するためにプローブ応答を仕分けし得る。代替的に、プローブ応答モジュール315は、所望のサービスを提供することについて広告主の能力のみを確認し得、Wi−Fi P2P通信能力を確認することは、Wi−Fi P2P接続モジュール320によって実施され得る。広告主のうちの1つまたは複数が所望のサービスを提供することが可能であると決定されたとき、プローブ応答モジュール315は、ユーザインターフェース(図示せず)を介してシーカー105−bのユーザに「一致」の通知を提供し得る。代替または追加として、プローブ応答モジュール315は、アプリケーションを介してシーカー105−b(たとえば、Wi−Fi P2P接続モジュール320)に通知を提供し得る。いくつかの実施形態では、通知は、所望のサービスを提供することが可能な広告主に関する情報を含み得る。
【0045】
[0058]Wi−Fi P2P接続モジュール320は、シーカー105−bと、プローブに応答した広告主のうちの1つまたは複数との間でWi−Fi P2P接続を確立すべきかどうかを決定し得る。Wi−Fi P2P接続モジュール320はまた、広告主のうちの1つまたは複数とのそれぞれのWi−Fi P2P接続を確立するように構成され得る。これは、シーカー受信機モジュール205−aおよびシーカー送信機モジュール215−aを使用してシーカー105−bとそれぞれの広告主との間の指向(アドレス指定された)通信を通して実施され得る。シーカー105−bとそれぞれの広告主との間でWi−Fi P2P接続が確立されると、広告主は、それが提供することが可能である所望のサービスをシーカー105−bに提供し得る。
【0046】
[0059]
図3Bは、様々な実施形態によるシーカー105−cを示すブロック
図300−bである。シーカー105−cは、
図1、
図2および/または
図3Aを参照しながら説明したシーカー105のうちの1つの1つまたは複数の態様の一例であり得る。シーカー105−cはプロセッサでもあり得る。シーカー105−cは、シーカー受信機モジュール205−aと、シーカー通信管理モジュール210−bと、シーカー送信機モジュール215−aとを含み得る。これらの構成要素の各々は互いに通信していることがある。
【0047】
[0060]デバイス105−cの構成要素は、個別にまたは集合的に、ハードウェア中で適用可能な機能の一部または全部を実施するように適応された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【0048】
[0061]シーカー受信機モジュール205−aおよびシーカー送信機モジュール215−aは、
図2および/または
図3Aを参照しながら前に説明したように構成され得る。シーカー通信管理モジュール210−bは、サービス決定モジュール305−aと、プローブモジュール310と、プローブ応答モジュール315−aと、Wi−Fi P2P接続モジュール320とを含み得る。プローブモジュール310およびWi−Fi P2P接続モジュール320は、
図2および/または
図3Aを参照しながら前に説明したように構成され得、以下で説明するように追加の機能を提供し得る。
【0049】
[0062]シーカー通信管理モジュール210−bは、
図2および/または
図3Aに関して上記で説明した様々な機能を実施するように構成され得る。上記のように、シーカー通信管理モジュール210−bは、シーカー105−cがWi−Fi P2P通信を介して提供されることを所望するサービスのための発見プロセスを管理し得る。さらに、シーカー105−cまたはシーカー通信管理モジュール210−bは、そのような機能を実施するためにプロセッサを含み得る。
【0050】
[0063]サービス決定モジュール305−aは、上記で説明したように、シーカー105−cが所望するサービスを識別するかまたはさもなければ決定し得る。この例では、サービス決定モジュール305−aは、サービス名サブモジュール325とハッシュサブモジュール330とを含み得る。サービス名サブモジュール325は、所望のサービスごとに名前またはストリングを決定するように構成され得る。ハッシュサブモジュール330は、次いで、所望のサービスごとに名前のハッシュを生成し得る。いくつかの実施形態では、名前は、SH256を使用してハッシングされ得る。ハッシュの使用は、所望のサービスが効率的な方法で識別されることを可能にし得る。
【0051】
[0064]この例では、プローブモジュール310は、生成されたハッシュを使用して所望のサービスを識別するプローブを生成し得る。上記で説明したように、ハッシュはプローブの情報要素(IE)中に含まれ得る。プローブの利用可能なペイロードが限られているので、所望のサービスの名前または何らかの他の識別子とではなく、プローブ中にハッシュを含めることが望ましいことがある。いくつかの実施形態では、生成されるべきハッシュのサイズは、プローブの利用可能なペイロードを使用して決定され得る。各ハッシュのサイズは、たとえば、2〜32オクテットであり得る。適宜にまたは所望通りに、ハッシュのサイズは、異なる名前が同じハッシュ値を生じる可能性を低減するのを助けるように決定され得る。一例は、6オクテットのハッシュを使用することであり得る。
【0052】
[0065]プローブが生成されると、シーカー送信機モジュール215−aは、所望のサービスを提供することが可能である範囲内のデバイスを発見するためにプローブをブロードキャストし得る。シーカー受信機モジュール205−aは、もしあれば、広告主から送られたプローブ応答を受信し得、プローブ応答をプローブ応答モジュール315−aに提供し得る。プローブ応答モジュール315−aは、所望のサービスを提供するために、もしあれば広告主のうちのどれが好適であるかを決定するために、適宜にまたは所望通りに応答を処理し得る。
図3Aを参照しながら上記で説明したように、プローブ応答モジュール315−aは、Wi−Fi P2P通信について、および/またはそれぞれのプローブ応答中に含まれる情報を介して所望のサービスを提供することについて、広告主の能力を確認するためにプローブ応答を仕分けするように構成され得る。たとえば、プローブ応答中に含まれる情報は、それぞれの広告主が提供することが可能であるサービスの名前を含み得る。名前はプローブ応答の情報要素(IE)中に含まれ得る。
【0053】
[0066]この例では、プローブ応答モジュール315−aは、所望のサービスを提供することについて広告主の能力を確認するために比較サブモジュール335を含み得る。比較サブモジュール335は、各それぞれの広告主からのプローブ応答中に含まれるサービスの名前を、サービス決定モジュール305−aによって識別/決定された所望のサービスの名前と比較し得る。実際の名前/ストリングをプローブ応答中に含め、所望のサービスの名前/ストリングと比較することによって、異なる名前が同じハッシュ値を生じる可能性が考慮され得る。
【0054】
[0067]上記で説明したように、Wi−Fi P2P接続モジュール320は、シーカー105−cと、プローブに応答した広告主のうちの1つまたは複数との間でWi−Fi P2P接続を確立すべきかどうかを決定し得る。Wi−Fi P2P接続モジュール320はまた、広告主のうちの1つまたは複数とのそれぞれのWi−Fi P2P接続を確立するように構成され得る。
【0055】
[0068]次に
図4を参照すると、ブロック
図400は、様々な実施形態による広告主110−bを示す。広告主110−bは、
図1を参照しながら説明した広告主110のうちの1つの1つまたは複数の態様の一例であり得る。広告主110−bはプロセッサでもあり得る。広告主110−bは、広告主受信機モジュール405と、広告主通信管理モジュール410と、広告主送信機モジュール415とを含み得る。これらの構成要素の各々は互いに通信していることがある。
【0056】
[0069]デバイス110−bの構成要素は、個別にまたは集合的に、ハードウェア中で適用可能な機能の一部または全部を実施するように適応された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【0057】
[0070]広告主受信機モジュール405は、
図1、
図2、
図3Aおよび/または
図3Bを参照しながら説明したシーカー105など、他のデバイスから通信を受信し得る。本明細書で説明するように、通信は、シーカーからのプローブを含み得る。広告主受信機モジュール405は、シーカーからのブロードキャストを介してこれらの通信を受信し得る。広告主通信管理モジュール410は、広告主110−bによって受信されるそのような通信を管理し得る。
【0058】
[0071]広告主送信機モジュール415は、広告主110−bから他のデバイスに通信を送り得る。そのような通信を送ることは、本明細書で説明するようにプローブ応答のダイレクト(アドレス指定された)送信を含み得る。さらに、広告主送信機モジュール415は、広告主110−bがデバイスに関する必須の情報を有すると、デバイスへのダイレクト送信によって他の通信を送り得る。広告主通信管理モジュール410は、広告主110−bによって送られるそのような通信を管理し得る。さらに、広告主通信管理モジュール410は、Wi−Fi P2P接続を確立し、そのような接続を介した通信を管理し得る。広告主通信管理モジュール410に関するさらなる詳細については以下で説明する。
【0059】
[0072]
図5Aは、様々な実施形態による広告主110−cを示すブロック
図500−aである。広告主110−cは、
図1および/または
図4を参照しながら説明した広告主110のうちの1つの1つまたは複数の態様の一例であり得る。広告主110−cはプロセッサでもあり得る。広告主110−cは、広告主受信機モジュール405−aと、広告主通信管理モジュール410−aと、広告主送信機モジュール415−aとを含み得る。これらの構成要素の各々は互いに通信していることがある。
【0060】
[0073]デバイス110−cの構成要素は、個別にまたは集合的に、ハードウェア中で適用可能な機能の一部または全部を実施するように適応された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【0061】
[0074]広告主受信機モジュール405−aおよび広告主送信機モジュール415−aは、
図4を参照しながら前に説明したように構成され得る。広告主通信管理モジュール410−aは、サービス識別モジュール505と、比較モジュール510と、プローブ応答モジュール515とを含み得る。
【0062】
[0075]広告主通信管理モジュール410−aは、
図4に関して上記で説明した様々な機能を実施するように構成され得る。この例では、広告主通信管理モジュール410−aは、シーカー105がWi−Fi P2P通信を介して提供されることを所望するサービスのための発見プロセスへの広告主110−cの参加を管理し得る。広告主110−cまたは広告主通信管理モジュール410−aは、そのような機能を実施するためにプロセッサを含み得る。
【0063】
[0076]サービス識別モジュール505は、広告主110−cが提供することが可能であるサービスを識別し得る。そのような識別は、広告主110−cにおいて記憶されたサービスのリストに基づき得る。リストは、広告主110−cが初期にプロビジョニングされたときに生成され得、広告主110−cがソフトウェア更新を受信したとき、および/または広告主110−cが1つまたは複数のサービスを提供するように構成された新しいアプリケーションをインストールされたときに更新され得る。リストは、広告主110−cが提供することが可能であるサービスの名前または識別子を含み得る。
【0064】
[0077]上記で説明したように、広告主受信機モジュール405−aは、それぞれのシーカー105によって所望されるサービスを識別するプローブを受信し得る。広告主受信機モジュール405−aは、所望のサービスを識別するプローブまたはプローブ中に含まれる名前/識別子を比較モジュール510に提供し得る。比較モジュール510は、広告主110−cが所望のサービスを提供することが可能であるかどうかを決定するために、プローブ中に含まれる名前/識別子を、広告主110−cにおいて記憶された名前/識別子のリストと比較し得る。
【0065】
[0078]比較モジュール510が、広告主110−cが少なくとも1つの所望のサービスを提供することが可能であると決定した場合、プローブ応答モジュール515は、少なくとも1つの所望のサービスに対応するサービスの名前/識別子を含むプローブ応答を生成し得る。いくつかの実施形態では、たとえば上記で説明したように、提供されるべきサービスについてシーカー105によって実施される確認プロセスを可能にするために、識別子ではなく実際の名前を含むことが好ましいことがある。名前または識別子はプローブ応答の情報要素(IE)中に含まれ得る。
【0066】
[0079]プローブ応答が生成された場合、広告主送信機モジュール415−aは、所望のサービスに対処するために広告主110−cが提供し得るサービスをシーカー105に通知するために、シーカー105にプローブ応答を送信し得る。図示されていないが、広告主通信管理モジュール410−aは、広告主110−cとシーカー105との間のWi−Fi P2P接続を確立するために
図3Aおよび/または
図3Bに関して上記で説明したWi−Fi P2P接続モジュール320と協働するように構成されたWi−Fi P2P接続モジュールを含み得る。代替的に、広告主通信管理モジュール410−aは、Wi−Fi P2P接続を確立するためにWi−Fi P2P接続モジュール320と協働するための好適な機能を提供し得る。
【0067】
[0080]
図5Bは、様々な実施形態による広告主110−dを示すブロック
図500−bである。広告主110−dは、
図1、
図4および/または
図5Aを参照しながら説明した広告主110のうちの1つの1つまたは複数の態様の一例であり得る。広告主110−dはプロセッサでもあり得る。広告主110−dは、広告主受信機モジュール405−aと、広告主通信管理モジュール410−bと、広告主送信機モジュール415−aとを含み得る。これらの構成要素の各々は互いに通信していることがある。
【0068】
[0081]デバイス110−dの構成要素は、個別にまたは集合的に、ハードウェア中で適用可能な機能の一部または全部を実施するように適応された1つまたは複数の特定用途向け集積回路(ASIC)を用いて実装され得る。代替的に、機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、1つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【0069】
[0082]広告主受信機モジュール405−aおよび広告主送信機モジュール415−aは、
図4および/または
図5Aを参照しながら前に説明したように構成され得る。広告主通信管理モジュール410−bは、サービス識別モジュール505−aと、比較モジュール510と、プローブ応答モジュール515とを含み得る。
【0070】
[0083]広告主通信管理モジュール410−bは、
図4および/または
図5Aに関して上記で説明した様々な機能を実施するように構成され得る。この例では、広告主通信管理モジュール410−bは、シーカー105がWi−Fi P2P通信を介して提供されることを所望するサービスのための発見プロセスへの広告主110−dの参加を管理し得る。広告主110−dまたは広告主通信管理モジュール410−dは、そのような機能を実施するためにプロセッサを含み得る。
【0071】
[0084]サービス識別モジュール505−aは、
図5Aに関して上記で説明した様々な機能を実施するように構成され得る。この例では、サービス識別モジュール505−aは、サービス名サブモジュール520とハッシュサブモジュール525とを含み得る。サービス識別モジュール505−aは、上記で説明したように広告主110−dが提供することが可能であるサービスを識別し得る。したがって、サービス名サブモジュール520は、広告主110−dにおいて記憶されたサービスのリストを維持し得る。リストは、広告主110−dが提供することが可能であるサービスの名前または識別子を含み得る。この例では、ハッシュサブモジュール525は、ハッシュまたはハッシュ値の対応リストを取得するためにリスト中のサービスの名前または識別子をハッシングし得る。
【0072】
[0085]上記で説明したように、広告主受信機モジュール405−aは、それぞれのシーカー105によって所望されるサービスを識別するプローブを受信し得る。この例では、それぞれのシーカー105によって所望されるサービスは、
図3Bに関して上記で説明したように、所望のサービスの名前/識別子のハッシュ(たとえば、ハッシュ値)によって識別され得る。広告主受信機モジュール405−aは、所望のサービスを識別するプローブまたはプローブ中に含まれるハッシュを比較モジュール510に提供し得る。比較モジュール510は、広告主110−dが所望のサービスを提供することが可能であるかどうかを決定するために、プローブ中に含まれるハッシュを、広告主110−dにおいて記憶されたハッシュのリストと比較し得る。
【0073】
[0086]
図5Aに関して上記で説明したように、比較モジュール510が、広告主110−dが少なくとも1つの所望のサービスを提供することが可能であると決定した場合、プローブ応答モジュール515は、少なくとも1つの所望のサービスに対応するサービスの名前/識別子を含むプローブ応答を生成し得る。さらに、広告主送信機モジュール415−aは、所望のサービスに対処するために広告主110−dが提供し得るサービスをシーカー105に通知するために、シーカー105にプローブ応答を送信し得る。広告主110−dが少なくとも1つの所望のサービスを提供することが可能でない場合、プローブ応答は生成または送信されない。
【0074】
[0087]
図6は、様々な実施形態によるデバイス605を示すブロック
図600である。デバイス605は、デバイス605の実際の使用に応じて、本明細書で説明するようにシーカーまたは広告主のいずれかとして動作し得る。その結果、デバイス605は、他のワイヤレスデバイスとのWi−Fi P2P通信を介して(たとえば、Wi−Fi P2P接続を介して)所望のサービスを取得するための発見プロセスに参加するように構成され得る。したがって、デバイス605は、それぞれ、
図1、
図2、
図3A、
図3B、
図4、
図5Aおよび/または
図5Bのシーカー105および/または広告主110であり得る。デバイス605は、パーソナルコンピュータ(たとえば、ラップトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータなど)、携帯電話、PDA、デジタルビデオレコーダ(DVR)、インターネット家電機器、ゲームコンソール、電子リーダーなど、様々な構成のいずれかを有し得る。デバイス605は、モバイル動作を可能にするために、小型バッテリーなどの内部電源(図示せず)を有し得る。
【0075】
[0088]図示の構成では、デバイス605は、アンテナ610と、トランシーバモジュール615と、通信管理モジュール620と、メモリ625と、プロセッサモジュール635と、状態モジュール640とを含み、それらの各々は、(たとえば、1つまたは複数のバスを介して)互いに直接または間接的に通信していることがある。トランシーバモジュール615は、上記で説明したように、アンテナ610を介して双方向に通信するように構成される。たとえば、トランシーバモジュール615は、
図1、
図2、
図3A、
図3B、
図4、
図5Aおよび/または
図5Bの他のデバイス105および/または110と双方向に通信するように構成され得る。トランシーバモジュール615は、前に説明したように、
図2、
図3A、
図3B、
図4、
図5Aおよび/または
図5Bの受信機モジュール205/405および送信機モジュール215/415を含み得る。一実施形態では、トランシーバモジュール615は、パケットを変調し、変調されたパケットを送信のためにアンテナ610に与え、アンテナ610から受信されたパケットを復調するように構成されたモデムをさらに含み得る。デバイス605は単一のアンテナを含み得るが、デバイス605は、典型的には、複数のリンクのための複数のアンテナ610を含むことになる。
【0076】
[0089]メモリ625は、ランダムアクセスメモリ(RAM)と読取り専用メモリ(ROM)とを含み得る。メモリ625は、実行されるとプロセッサモジュール635に本明細書で説明する様々な機能(たとえば、受信、送信、比較、取得、生成など)を実施させるように構成された命令を含んでいるコンピュータ可読、コンピュータ実行可能ソフトウェアコード630を記憶し得る。代替的に、ソフトウェア630は、プロセッサモジュール635によって直接的に実行可能でないことがあるが、たとえば、(コンパイルされ実行されると)コンピュータに本明細書で説明する機能を実施させるように構成され得る。
【0077】
[0090]プロセッサモジュール635は、インテリジェントハードウェアデバイス、たとえば、中央処理ユニット(CPU)、マイクロコントローラ、特定用途向け集積回路(ASIC)などを含み得る。プロセッサモジュール635は、マイクロフォンを介してオーディオを受信し、そのオーディオを、受信したオーディオを表す(たとえば、長さ30msの)パケットに変換し、そのオーディオパケットをトランシーバモジュール615に供給し、ユーザが話しているかどうかの指示を与えるように構成された、音声エンコーダ(図示せず)を含み得る。代替的に、エンコーダはパケットをトランシーバモジュール615に供給するだけであり、パケット自体の供給または抑制/抑圧が、ユーザが話しているかどうかの指示を与え得る。
【0078】
[0091]通信管理モジュール620は、バスを介してデバイス605の他の構成要素の一部または全部と通信している、デバイス605の構成要素であり得る。代替的に、通信管理モジュール620の機能は、トランシーバモジュール615の構成要素として、コンピュータプログラム製品として、および/またはプロセッサモジュール635の1つもしくは複数のコントローラ要素として実装され得る。通信管理モジュール620は、
図2、
図3A、
図3B、
図4、
図5Aおよび/または
図5Bを参照しながら説明したシーカー通信管理モジュール210および/または広告主通信管理モジュール410のうちの1つの1つまたは複数の態様の一例であり得る。状態モジュール640は、現在のデバイス状態を反映し、制御し得る。
【0079】
[0092]デバイス605の構成要素は、ハードウェア中で適用可能な機能の一部または全部を実施するように適応された1つまたは複数の特定用途向け集積回路(ASIC)を用いて、個別にまたは集合的に、実装され得る。代替的に、機能は、1つまたは複数の他の処理ユニット(またはコア)によって、1つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路(たとえば、ストラクチャード/プラットフォームASIC、フィールドプログラマブルゲートアレイ(FPGA)、および他のセミカスタムIC)が使用され得る。各ユニットの機能はまた、全体的または部分的に、1つまたは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに組み込まれた命令を用いて実装され得る。言及されたモジュールの各々は、本明細書で説明するようにデバイス605の動作に関係する1つまたは複数の機能を実施するための手段であり得る。
【0080】
[0093]
図7は、シーカー105−dと広告主110−eとの間の通信の一例を示すメッセージフロー
図700である。シーカー105−dは、
図1、
図2、
図3A、
図3Bおよび/または
図6のデバイス105の一例であり得る。広告主110−eは、
図1、
図4、
図5A、
図5Bおよび/または
図6に示されたデバイス110の一例であり得る。
【0081】
[0094]一構成では、シーカー105−dおよび広告主110−eは、Wi−Fi P2P接続を介して接続され得る。シーカー105−dは、所望のサービスについてのプローブ705をブロードキャストし得、そのプローブ705は、広告主110−eが範囲内にあるとき、広告主110−eによって受信され得る。広告主110−eが、所望のサービスのうちの少なくとも1つを提供することが可能である場合、広告主110−eは、シーカー105−dにプローブ応答710を送信し得る。
【0082】
[0095]シーカー105−dが、広告主110−eが提供することが可能であるサービスと、シーカー105−dによって所望される(およびプローブ705中に含まれる)少なくとも1つのサービスとの間に一致があると決定した場合、シーカー105−dは、広告主110−eとのWi−Fi P2P接続を確立することを要求する接続セットアップメッセージ720を広告主110−eに送り得る。それに応答して、広告主110−eは、広告主110−eが要求に同意すること、および/または要求された接続を可能にするために何らかの構成変更などを実装していることを示す肯定応答725をシーカー105−dに送り得、接続が確立され得る。ただ2つの通信メッセージ720、725が示されているが、Wi−Fi P2P接続を確立するために多数のメッセージが関与すること、および図示された2つのメッセージは実際に行われ得る通信を代表するものにすぎないことを当業者は了解されよう。シーカー105−dおよび広告主110−eは、次いで、プローブ705およびプローブ応答710を介して決定されたサービス730を提供するために、Wi−Fi P2P接続を介して通信し得る。
【0083】
[0096]
図8は、それによってサービスを取得するためになど、Wi−Fi P2P通信のためにシーカーによって実施される方法800の一実施形態を示すフローチャートである。明快のために、方法800について、
図1に示されたワイヤレス通信システム100を参照しながら、ならびに/あるいは
図1、
図2、
図3A、
図3B、
図6および/または
図7を参照しながら説明したシーカー105のうちの1つを参照しながら以下で説明する。一実装形態では、
図2、
図3A、
図3Bおよび/または
図6を参照しながら説明したシーカー通信管理モジュール210は、以下で説明する機能を実施するためにシーカー105の機能要素を制御するためのコードの1つまたは複数のセットを実行し得る。
【0084】
[0097]一実施形態では、ブロック805において、シーカー105は、Wi−Fi P2P通信を介して提供されるべき所望のサービスを識別し得る。ブロック810において、シーカー105は、所望のサービスを識別するプローブをブロードキャストし得る。
【0085】
[0098]したがって、方法800は、シーカー105と、所望のサービスを提供し得る1つまたは複数の広告主との間にWi−Fi P2P接続または他の接続が確立される前にサービス発見プロセスを可能にするために使用され得る。したがって、シーカー105は、発見プロセスを実施する必要がなく、その場合、所望のサービスを取得するために別個のプロセスを実施する。方法800は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。
【0086】
[0099]
図9は、それによってサービスを取得するためになど、Wi−Fi P2P通信のためにシーカーによって実施される方法900の別の実施形態を示すフローチャートである。明快のために、方法900について、
図1に示されたワイヤレス通信システム100を参照しながら、ならびに/あるいは
図1、
図2、
図3A、
図3B、
図6および/または
図7を参照しながら説明したシーカー105のうちの1つを参照しながら以下で説明する。一実装形態では、
図2、
図3A、
図3Bおよび/または
図6を参照しながら説明したシーカー通信管理モジュール210は、以下で説明する機能を実施するためにシーカー105の機能要素を制御するためのコードの1つまたは複数のセットを実行し得る。
【0087】
[0100]ブロック905において、シーカー105は、Wi−Fi P2P通信を介して提供されるべき所望のサービスを識別し得る。ブロック910において、シーカー105は、所望のサービスについてのハッシュを生成し得る。シーカー105は、次いでブロック915において、プローブ中にハッシュ値を含めることによって所望のサービスを識別するプローブをブロードキャストし得る。
【0088】
[0101]次に、ブロック920において、シーカー105は、広告主からプローブ応答を受信し得る。シーカー105は、複数の広告主からプローブ応答を受信することがあるか、またはそれのプローブに対するどんな応答をも受信しないことがあることを理解されたい。応答が受信されない場合、シーカー105は、再試行(たとえば、プローブを再ブロードキャスト)し得るか、および/またはそれのロケーションを変更して再試行し得る。複数の広告主から応答を受信する場合については、明快および簡潔のために示されていない。
【0089】
[0102]プローブ応答が受信されると、シーカー105は、ブロック925において、(所望のサービスに対処するために広告主が提供することが可能であるサービスに対応する)プローブ応答中に含まれるサービスの名前が、所望のサービスの名前に一致するかどうかを決定し得る。一致がある場合、シーカー105は、ブロック930において、広告主とさらに通信して、シーカー105が広告主から所望のサービスを取得し得るWi−Fi P2P接続を確立し得る。一致がない場合、本方法は、ブロック915に戻って、プローブを再ブロードキャストし得る。代替的に、本方法は、所望のサービスを提供することが可能である広告主を首尾よく発見することなしに終了し得る。
【0090】
[0103]したがって、方法900は、シーカー105と、所望のサービスを提供し得る1つまたは複数の広告主との間にWi−Fi P2P接続または他の接続が確立される前にサービス発見プロセスを可能にするために使用され得る。方法900は、プローブの限られたペイロードを利用するために、プローブにおいてハッシュ値を使用することを含み得る。したがって、シーカー105は、サービス発見プロセスを効率的に実施し、サービス発見プロセスの結果に基づいて所望のサービスを取得するためにWi−Fi P2P接続を確立し得る。方法900は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。たとえば、方法900の動作は、
図8に関して説明した方法800の動作と組み合わせられ得る。さらに、動作は、適宜にまたは所望通りに並べ替えられおよび/または修正され得る。
【0091】
[0104]
図10は、それによってシーカーにサービスを提供するためになど、Wi−Fi P2P通信のために広告主によって実施される方法1000の一実施形態を示すフローチャートである。明快のために、方法1000について、
図1に示されたワイヤレス通信システム100を参照しながら、ならびに/あるいは
図1、
図4、
図5A、
図5B、
図6および/または
図7を参照しながら説明した広告主110のうちの1つを参照しながら以下で説明する。一実装形態では、
図4、
図5A、
図5Bおよび/または
図6を参照しながら説明した広告主通信管理モジュール410は、以下で説明する機能を実施するために広告主110の機能要素を制御するためのコードの1つまたは複数のセットを実行し得る。
【0092】
[0105]ブロック1005において、広告主110は、プロービングユーザ機器(UE)(たとえば、シーカー)からプローブを受信し得る。受信されるプローブは、Wi−Fi P2P通信を介して提供されるべきであるプロービングUEのための所望のサービスを識別し得る。次に、ブロック1010において、広告主110は、プロービングUEにプローブ応答を送信し得る。広告主110が、プローブによって識別される所望のサービスに対応するサービスを提供することが可能である場合のみ、広告主110はプローブ応答を送信し得る。
【0093】
[0106]したがって、方法1000は、Wi−Fi P2P接続または他の接続が確立される前にサービス発見プロセスを可能にするために使用され得る。広告主110は、すべてのプローブに応答する必要はないが、広告主110が実施するように構成された所望のサービスを識別するプローブのみに応答し得る。方法1000は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。
【0094】
[0107]
図11は、それによってシーカーにサービスを提供するためになど、Wi−Fi P2P通信のために広告主によって実施される方法1100の別の実施形態を示すフローチャートである。明快のために、方法1100について、
図1に示されたワイヤレス通信システム100を参照しながら、ならびに/あるいは
図1、
図4、
図5A、
図5B、
図6および/または
図7を参照しながら説明した広告主110のうちの1つを参照しながら以下で説明する。一実装形態では、
図4、
図5A、
図5Bおよび/または
図6を参照しながら説明した広告主通信管理モジュール410は、以下で説明する機能を実施するために広告主110の機能要素を制御するためのコードの1つまたは複数のセットを実行し得る。
【0095】
[0108]ブロック1105において、広告主110は、プロービングUEからプローブを受信し得る。受信されるプローブは、Wi−Fi P2P通信を介して提供されるべきであるプロービングUEのための所望のサービスを識別し得る。この例では、受信されるプローブは、所望のサービスについてのハッシュまたはハッシュ値を含み得る。ハッシュ値は、たとえば、所望のサービスの名前をハッシングすることによってプロービングUE(すなわち、シーカー)によって生成されていることがある。次に、ブロック1110において、広告主110は、所望のサービスについてのハッシュを、広告主110が提供することが可能であるサービスに対応するハッシュまたはハッシュ値と比較し得る。ハッシュ値は、広告主110が提供することが可能であるサービスの名前をハッシングすることによって広告主110によって生成されていることがある。比較に基づいて、広告主110は、ブロック1115において、広告主110が提供することが可能であるサービスのハッシュまたはハッシュ値が、所望のサービスのハッシュまたはハッシュ値に一致するかどうかを決定し得る。一致する場合、広告主110は、ブロック1120において、プロービングUEにプローブ応答を送信し得る。広告主110は、プローブ応答中にそれが提供し得るサービスの名前を含み得る。さらに、広告主110が、プローブによって識別される所望のサービスに対応するサービスを提供することが可能である場合のみ、広告主110はプローブ応答を送信し得る。したがって、広告主110が所望のサービスを提供することが可能でないとき、ブロック1125において、広告主110は、広告主110が通常ならば実施していることがあり得るどのような機能または動作も続け得る(たとえば、リッスン、アイドルなど)。
【0096】
[0109]したがって、方法1100は、Wi−Fi P2P接続または他の接続が確立される前にサービス発見プロセスを可能にするために使用され得る。広告主110は、すべてのプローブに応答する必要はないが、広告主110が実施するように構成された所望のサービスを識別するプローブのみに応答し得る。方法1100は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。たとえば、方法1100の動作は、
図10に関して説明した方法1000の動作と組み合わせられ得る。さらに、動作は、適宜にまたは所望通りに並べ替えられおよび/または修正され得る。
【0097】
[0110]
図12は、それによってシーカーにサービスを提供するためになど、Wi−Fi P2P通信のために広告主によって実施される方法1200のさらなるの実施形態を示すフローチャートである。明快のために、方法1200について、
図1に示されたワイヤレス通信システム100を参照しながら、ならびに/あるいは
図1、
図4、
図5A、
図5B、
図6および/または
図7を参照しながら説明した広告主110のうちの1つを参照しながら以下で説明する。一実装形態では、
図4、
図5A、
図5Bおよび/または
図6を参照しながら説明した広告主通信管理モジュール410は、以下で説明する機能を実施するために広告主110の機能要素を制御するためのコードの1つまたは複数のセットを実行し得る。
【0098】
[0111]ブロック1205において、広告主110は、広告主110が提供することが可能であるサービスの名前をハッシングすることによってハッシュを取得し得る。次に、ブロック1210において、広告主110は、プロービングUEによって所望されるサービスの名前をハッシングすることによって生成されたハッシュを含むプローブをプロービングUEから受信し得る。ブロック1215において、広告主110は、たとえば、広告主110が提供することが可能であるサービスについてのハッシュと、所望のサービスのハッシュとを使用して、広告主110が所望のサービスを提供することが可能であるかどうかを決定し得る。それが可能である場合、ブロック1220において、広告主110は、それがプロービングUEに提供し得るサービスの名前を含むプローブ応答を送信し得る。広告主110が、プローブによって識別される所望のサービスに対応するサービスを提供することが可能である場合のみ、広告主110はプローブ応答を送信し得る。したがって、広告主110が所望のサービスを提供することが可能でないとき、ブロック1225において、広告主110は、広告主110が通常ならば実施していることがあり得るどのような機能または動作も続け得る(たとえば、リッスン、アイドルなど)。
【0099】
[0112]したがって、方法1200は、Wi−Fi P2P接続または他の接続が確立される前にサービス発見プロセスを可能にするために使用され得る。広告主110は、すべてのプローブに応答する必要はないが、広告主110が実施するように構成された所望のサービスを識別するプローブのみに応答し得る。方法1200は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。たとえば、方法1200の動作は、
図10に関して説明した方法1000および/または
図11に関して説明した方法1100の動作と組み合わされ得る。さらに、動作は、適宜にまたは所望通りに並べ替えられおよび/または修正され得る。
【0100】
[0113]添付の図面に関して上記に記載した発明を実施するための形態は、例示的な実施形態について説明しており、実装され得るまたは特許請求の範囲内に入る唯一の実施形態を表すものではない。この明細書全体にわたって使用する「例示的」という用語は、「例、事例、または例示の働きをすること」を意味し、「好ましい」または「他の実施形態よりも有利な」を意味しない。発明を実施するための形態は、説明した技法の理解を与えるための具体的な詳細を含む。しかしながら、これらの技法は、これらの具体的な詳細なしに実践され得る。場合によっては、説明した実施形態の概念を不明瞭にしないように、よく知られている構造およびデバイスがブロック図の形態で示される。
【0101】
[0114]情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
【0102】
[0115]本明細書の開示に関して説明した様々な例示的なブロックおよびモジュールは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明した機能を実施するように設計されたそれらの任意の組合せによって実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替では、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。
【0103】
[0116]本明細書で説明した機能は、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。プロセッサによって実行されるソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の1つまたは複数の命令若しくはコードとして、記憶されるか、または送信され得る。他の実施例および実装形態は、本開示の範囲内および添付の特許請求の範囲内にある。たとえば、ソフトウェアの性質により、上記で説明した機能は、プロセッサ、ハードウェア、ファームウェア、ハードワイヤリング、またはこれらのいずれかの組合せによって実行されるソフトウェアを用いて実装され得る。機能を実装する特徴はまた、機能の部分が様々な物理的位置で実装されるように分散されることを含めて、様々な位置に物理的に配置され得る。また、特許請求の範囲を含めて、本明細書で使用する場合、「のうちの少なくとも1つ」で終わる項目の列挙中で使用される「または」は、たとえば、「A、B、またはCのうちの少なくとも1つ」の列挙が、AまたはBまたはCまたはABまたはACまたはBCまたはABC(すなわち、AおよびBおよびC)を意味するような選言的列挙を示す。
【0104】
[0117]コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、コンピュータ可読媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコード手段を搬送または記憶するために使用され得、汎用または専用コンピュータあるいは汎用または専用プロセッサによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ソフトウェアがウェブサイト、サーバ、または他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびblu−ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれる。
【0105】
[0118]本開示の前述の説明は、当業者が本開示を作製または使用することを可能にするために与えられる。本開示に対する様々な修正が当業者には容易に明らかとなり、本明細書で定義される一般原理は、本開示の範囲から逸脱することなく他の変形形態に適用され得る。本開示全体を通じて、「実施例」または「例示的」という用語は、実施例または例を示し、記載の実施例に対する何らかの選好を含意または要求するものではない。したがって、本開示は、本明細書で説明した例および設計に限定されるべきでなく、本明細書で開示した原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
以下に、本願の出願当初の特許請求の範囲に記載された発明が付記される。
[1]Wi−Fi(登録商標)ピアツーピア(P2P)通信のための方法であって、前記方法は、第1のデバイスのための所望のサービスを識別することを備え、前記所望のサービスは、Wi−Fi (P2P通信を介して提供されるべきであり、前記方法は、前記所望のサービスを識別するプローブをブロードキャストすることを備える、方法。
[2]前記所望のサービスを識別するために前記プローブ中に前記所望のサービスの識別子を含めることをさらに備える、[1]に記載の方法。
[3]前記所望のサービスの前記識別子は、前記プローブの情報要素(IE)中に含まれる、[2]に記載の方法。
[4]前記所望のサービスの前記識別子は、前記所望のサービスの名前を備える、[2]に記載の方法。
[5]前記所望のサービスを識別するために前記プローブ中に前記所望のサービスの識別子のハッシュを含めることをさらに備える、[1]に記載の方法。
[6]前記所望のサービスの前記識別子の前記ハッシュは、前記プローブの情報要素(IE)中に含まれる、[5]に記載の方法。
[7]前記所望のサービスの前記識別子は、前記所望のサービスの名前を備える、[5]に記載の方法。
[8]前記識別子の前記ハッシュを生成することをさらに備える、[5]に記載の方法。
[9]前記プローブの利用可能なペイロードに少なくとも部分的に基づいて生成するために前記ハッシュのサイズを決定することをさらに備える、[8]に記載の方法。
[10]前記方法は、少なくとも1つの第2のデバイスからプローブ応答を受信することをさらに備え、各プローブ応答は、前記少なくとも1つの第2のデバイスが提供することが可能であるサービスの識別子を含み、前記方法は、前記サービスの前記識別子が前記所望のサービスの識別子に一致するかどうかを決定することをさらに備える、[1]に記載の方法。
[11]前記サービスの前記識別子は、前記プローブ応答の情報要素(IE)中に含まれる、[10]に記載の方法。
[12]前記サービスの前記識別子は、前記サービスの名前を備える、[10]に記載の方法。
[13]前記サービスの前記識別子が前記所望のサービスの前記識別子に一致すると決定されたとき、一致の通知を提供することをさらに備える、[10]に記載の方法。
[14]前記通知を提供することは、前記第1のデバイスのユーザインターフェースを介してユーザに前記通知を提供することを含む、[13]に記載の方法。
[15]前記通知を提供することが、アプリケーションを介して前記第1のデバイスに前記通知を提供することを含む、[13]に記載の方法。
[16]前記提供される通知が、前記少なくとも1つの第2のデバイスに関する情報を含む、[13]に記載の方法。
[17]Wi−Fiピアツーピア(P2P)通信のための装置であって、前記装置は、第1のデバイスのための所望のサービスを識別するための手段を備え、前記所望のサービスは、P2P通信を介して提供されるべきであり、前記装置は、前記所望のサービスを識別するプローブをブロードキャストするための手段を備える、装置。
[18]前記所望のサービスを識別するために前記プローブ中に前記所望のサービスの識別子を含めるための手段をさらに備える、[17]に記載の装置。
[19]前記プローブ中に前記所望のサービスの前記識別子を含めるための前記手段は、前記プローブの情報要素(IE)中に前記識別子を含めるように構成されている、[18]に記載の装置。
[20]前記所望のサービスの前記識別子は、前記所望のサービスの名前を備える、[18]に記載の装置。
[21]前記所望のサービスを識別するために前記プローブ中に前記所望のサービスの識別子のハッシュを含めるための手段をさらに備える、[17]に記載の装置。
[22]前記所望のサービスの前記識別子の前記ハッシュを含めるための前記手段は、前記プローブの情報要素(IE)中に前記ハッシュを含めるように構成されている、[21]に記載の装置。
[23]前記所望のサービスの前記識別子は、前記所望のサービスの名前を備える、[21]に記載の装置。
[24]前記識別子の前記ハッシュを生成するための手段をさらに備える、[21]に記載の装置。
[25]前記プローブの利用可能なペイロードに少なくとも部分的に基づいて生成するために前記ハッシュのサイズを決定するための手段をさらに備える、[24]に記載の装置。
[26]前記装置は、少なくとも1つの第2のデバイスからプローブ応答を受信するための手段をさらに備え、各プローブ応答は、前記少なくとも1つの第2のデバイスが提供することが可能であるサービスの識別子を含む、前記装置は、前記サービスの前記識別子が前記所望のサービスの識別子に一致するかどうかを決定するための手段をさらに備える、[17]に記載の装置。
[27]前記サービスの前記識別子は、前記プローブ応答の情報要素(IE)中に含まれる、[26]に記載の装置。
[28]前記サービスの前記識別子は、前記サービスの名前を備える、[26]に記載の装置。
[29]前記サービスの前記識別子が前記所望のサービスの前記識別子に一致すると決定されたとき、一致の通知を提供するための手段をさらに備える、[26]に記載の装置。
[30]前記通知を提供するための前記手段は、前記第1のデバイスのユーザインターフェースを介してユーザに前記通知を提供するように構成されている、[29]に記載の装置。
[31]前記通知を提供するための前記手段は、アプリケーションを介して前記第1のデバイスに前記通知を提供するように構成されている、[29]に記載の装置。
[32]Wi−Fiピアツーピア(P2P)通信のためのユーザ機器(UE)であって、前記UEは、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと電子通信しているメモリと、前記メモリに記憶された命令とを備え、前記命令は、前記UEのための所望のサービスを識別するように前記少なくとも1つのプロセッサによって実行可能であり、前記所望のサービスは、P2P通信を介して提供されるべきであり、前記命令は、前記所望のサービスを識別するプローブをブロードキャストするように前記少なくとも1つのプロセッサによって実行可能である、UE。
[33]前記命令は、前記所望のサービスを識別するために前記プローブ中に前記所望のサービスの識別子を含めるように前記プロセッサによって実行可能である、[32]に記載のUE。
[34]前記所望のサービスの前記識別子は、前記プローブの情報要素(IE)中に含まれる、[33]に記載のUE。
[35]前記所望のサービスの前記識別子は、前記所望のサービスの名前を備える、[33]に記載のUE。
[36]前記命令は、前記所望のサービスを識別するために前記プローブ中に前記所望のサービスの識別子のハッシュを含めるように前記プロセッサによって実行可能である、[32]に記載のUE。
[37]前記所望のサービスの前記識別子の前記ハッシュは、前記プローブの情報要素(IE)中に含まれる、[36]に記載のUE。
[38]前記所望のサービスの前記識別子は、前記所望のサービスの名前を備える、[36]に記載のUE。
[39]前記命令は、前記識別子の前記ハッシュを生成するように前記プロセッサによって実行可能である、[36]に記載のUE。
[40]前記命令は、前記プローブの利用可能なペイロードに少なくとも部分的に基づいて生成するために前記ハッシュのサイズを決定するように前記プロセッサによって実行可能である、[39]に記載のUE。
[41]前記命令は、少なくとも1つのデバイスからプローブ応答を受信するように前記プロセッサによって実行可能であり、各プローブ応答は、前記少なくとも1つのデバイスが提供することが可能であるサービスの識別子を含み、前記命令は、前記サービスの前記識別子が前記所望のサービスの識別子に一致するかどうかを決定するように前記プロセッサによって実行可能である、[32]に記載のUE。
[42]Wi−Fiピアツーピア(P2P)通信のためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、命令を記憶した非一時的コンピュータ可読媒体を備え、前記命令は、第1のデバイスのための所望のサービスを識別するようにプロセッサによって実行可能であり、前記所望のサービスは、P2P通信を介して提供されるべきであり、前記命令は、前記所望のサービスを識別するプローブをブロードキャストするように前記プロセッサによって実行可能である、コンピュータプログラム製品。
[43]前記命令は、前記所望のサービスを識別するために前記プローブ中に前記所望のサービスの識別子を含めるように前記プロセッサによって実行可能である、[42]に記載のコンピュータプログラム製品。
[44]前記命令は、前記所望のサービスを識別するために前記プローブ中に前記所望のサービスの識別子のハッシュを含めるように前記プロセッサによって実行可能である、[42]に記載のコンピュータプログラム製品。
[45]前記命令は、少なくとも1つの第2のデバイスからプローブ応答を受信するように前記プロセッサによって実行可能であり、各プローブ応答は、前記少なくとも1つの第2のデバイスが提供することが可能であるサービスの識別子を含み、前記命令は、前記サービスの前記識別子が前記所望のサービスの識別子に一致するかどうかを決定するように前記プロセッサによって実行可能である、[42]に記載のコンピュータプログラム製品。
[46]Wi−Fiピアツーピア(P2P)通信のための方法であって、前記方法は、第2のデバイスにおいてプロービングデバイスからプローブを受信することを備え、前記プローブは、Wi−Fi P2P通信を介して提供されるべきである、前記プロービングデバイスのための所望のサービスを識別し、前記方法は、前記第2のデバイスが前記識別された所望のサービスを提供することが可能であると決定されたときのみ、前記プロービングデバイスにプローブ応答を送信することを備える、方法。
[47]前記受信されるプローブは、前記所望のサービスについてのハッシュを含む、[46]に記載の方法。
[48]前記第2のデバイスが前記所望のサービスを提供することが可能であるかどうかを決定するために、前記所望のサービスについての前記ハッシュを、前記第2のデバイスが提供することが可能であるサービスについてのハッシュと比較することをさらに備える、[47]に記載の方法。
[49]前記第2のデバイスが提供することが可能である前記サービスについての前記ハッシュを生成することと、前記生成されたハッシュを記憶することとをさらに備える、[48]に記載の方法。
[50]前記第2のデバイスが提供することが可能である前記サービスについての前記ハッシュが、前記サービスの識別子のハッシュを備え、前記所望のサービスについての前記ハッシュが、前記所望のサービスの識別子のハッシュを備える、[48]に記載の方法。
[51]前記サービスの前記識別子は、前記サービスの名前を備え、前記所望のサービスの前記識別子は、前記所望のサービスの名前を備える、[50]に記載の方法。
[52]前記受信されるプローブが前記所望のサービスの識別子を含む、[46]に記載の方法。
[53]前記第2のデバイスが前記所望のサービスを提供することが可能であるかどうかを決定するために、前記所望のサービスの前記識別子を、前記第2のデバイスが提供することが可能であるサービスの識別子と比較することをさらに備える、[52]に記載の方法。
[54]前記サービスの前記識別子は、前記サービスの名前を備え、前記所望のサービスの前記識別子が前記所望のサービスの名前を備える、[53]に記載の方法。
[55]Wi−Fiピアツーピア(P2P)通信のための装置であって、前記装置は、第2のデバイスにおいてプロービングデバイスからプローブを受信するための手段を備え、前記プローブは、Wi−Fi P2P通信を介して提供されるべきである、前記プロービングデバイスのための所望のサービスを識別し、前記装置は、前記プロービングデバイスにプローブ応答を送信するための手段を備え、送信するための前記手段は、前記第2のデバイスが前記識別された所望のサービスを提供することが可能であると決定されたときのみ、前記プローブ応答を送信するように構成されている、装置。
[56]前記受信されるプローブが、前記所望のサービスについてのハッシュを含む、[55]に記載の装置。
[57]前記第2のデバイスが前記所望のサービスを提供することが可能であるかどうかを決定するために、前記所望のサービスについての前記ハッシュを、前記第2のデバイスが提供することが可能であるサービスについてのハッシュと比較するための手段をさらに備える、[56]に記載の装置。
[58]前記第2のデバイスが提供することが可能である前記サービスについての前記ハッシュを生成するための手段と、前記生成されたハッシュを記憶するための手段とをさらに備える、[57]に記載の装置。
[59]前記第2のデバイスが提供することが可能である前記サービスについての前記ハッシュは、前記サービスの識別子のハッシュを備え、前記所望のサービスについての前記ハッシュは、前記所望のサービスの識別子のハッシュを備える、[57]に記載の装置。
[60]前記第2のデバイスが提供することが可能である前記サービスの前記識別子は、前記サービスの名前を備え、前記所望のサービスの前記識別子は、前記所望のサービスの名前を備える、[59]に記載の装置。
[61]前記受信されるプローブは、前記所望のサービスの識別子を含む、[55]に記載の装置。
[62]前記第2のデバイスが前記所望のサービスを提供することが可能であるかどうかを決定するために、前記所望のサービスの前記識別子を、前記第2のデバイスが提供することが可能であるサービスの識別子と比較するための手段をさらに備える、[61]に記載の装置。
[63]Wi−Fiピアツーピア(P2P)通信のためのユーザ機器(UE)であって、前記UEは、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと電子通信しているメモリと、前記メモリに記憶された命令とを備え、前記命令は、前記UEにおいてプロービングデバイスからプローブを受信するように前記少なくとも1つのプロセッサによって実行可能であり、前記プローブは、Wi−Fi P2P通信を介して提供されるべきである、前記プロービングデバイスのための所望のサービスを識別し、前記命令は、前記UEが前記識別された所望のサービスを提供することが可能であると決定されたときのみ、前記プロービングデバイスにプローブ応答を送信するように前記少なくとも1つのプロセッサによって実行可能である、UE。
[64]前記受信されるプローブは、前記所望のサービスについてのハッシュを含む、[63]に記載のUE。
[65]前記命令は、前記UEが前記所望のサービスを提供することが可能であるかどうかを決定するために、前記所望のサービスについての前記ハッシュを、前記UEが提供することが可能であるサービスについてのハッシュと比較するように前記少なくとも1つのプロセッサによって実行可能である、[64]に記載のUE。
[66]前記UEが提供することが可能である前記サービスについての前記ハッシュは、前記サービスの識別子のハッシュを備え、前記所望のサービスについての前記ハッシュは、前記所望のサービスの識別子のハッシュを備える、[65]に記載のUE。
[67]Wi−Fiピアツーピア(P2P)通信のためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、命令を記憶した非一時的コンピュータ可読媒体を備え、前記命令は、第2のデバイスにおいてプロービングデバイスからプローブを受信するようにプロセッサによって実行可能であり、前記プローブは、Wi−Fi P2P通信を介して提供されるべきである、前記プロービングデバイスのための所望のサービスを識別し、前記命令は、前記第2のデバイスが前記識別された所望のサービスを提供することが可能であると決定されたときのみ、前記プロービングデバイスにプローブ応答を送信するようにプロセッサによって実行可能である、コンピュータプログラム製品。
[68]前記受信されるプローブは、前記所望のサービスについてのハッシュを含む、[67]に記載のコンピュータプログラム製品。
[69]前記命令は、前記第2のデバイスが前記所望のサービスを提供することが可能であるかどうかを決定するために、前記所望のサービスについての前記ハッシュを、前記第2のデバイスが提供することが可能であるサービスについてのハッシュと比較するように前記プロセッサによって実行可能である、[68]に記載のコンピュータプログラム製品。
[70]前記第2のデバイスが提供することが可能である前記サービスについての前記ハッシュは、前記サービスの識別子のハッシュを備え、前記所望のサービスについての前記ハッシュは、前記所望のサービスの識別子のハッシュを備える、[69]に記載のコンピュータプログラム製品。