(57)【要約】  様々な実施形態は、協力することと情報を共有することとによって、近くのコンピューティングデバイスの1つまたは複数のクラスタを集合的に識別するための、要求するデバイスおよび応答するデバイスによって実施される方法を提供する。様々な実施形態において、要求するデバイスは、応答するデバイスの距離しきい値以内にあるコンピューティングデバイスに関するグループ化情報に関する要求と一緒に、応答するデバイスに距離しきい値を送ることができる。要求および距離しきい値の受信に応答して、各応答するデバイスは、距離しきい値以内にあるいくつかの他のコンピューティングデバイスを識別することができ、要求するデバイスにそのような情報を送ることができる。要求するデバイスは、受信されたグループ化情報に基づいてコンピューティングデバイスの1つまたは複数のクラスタを識別することができる。変更可能な距離しきい値以内の他のコンピューティングデバイスを検出するように応答するデバイスを構成することによって、要求するデバイスは、コンピューティングデバイスの識別されるクラスタのサイズを動的に調整することができる。
2017522748.tif 000002
【特許請求の範囲】
【請求項１】
要求するデバイスによってコンピューティングデバイスのクラスタを識別する方法であって、
前記要求するデバイス上で、クラスタを定義するための距離しきい値を決定するステップと、
前記要求するデバイスから応答するデバイスへ、前記距離しきい値およびグループ化情報に関する要求を送るステップと、
前記要求するデバイス上で、前記応答するデバイスの前記距離しきい値以内のコンピューティングデバイスの個数を示す、前記応答するデバイスからのグループ化情報を受信するステップと、
前記要求するデバイス上で、受信されたグループ化情報に基づいて、コンピューティングデバイスのクラスタを識別するステップと
を含む、方法。
【請求項２】
前記要求するデバイスのディスプレイスクリーン上でコンピューティングデバイスの前記クラスタのディスプレイを提示するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記要求するデバイスのディスプレイスクリーン上でコンピューティングデバイスの前記クラスタのディスプレイを提示するステップは、
フィルタリング判断基準を決定するステップと、
前記決定されたフィルタリング判断基準に基づいてコンピューティングデバイスの前記クラスタ内のコンピューティングデバイスをフィルタリングするステップと、
前記フィルタリングされたコンピューティングデバイスだけを含むディスプレイを、前記要求するデバイスの前記ディスプレイスクリーン上で提示するステップと
を含む、請求項2に記載の方法。
【請求項４】
コンピューティングデバイスの前記クラスタのユーザ入力選択を受け取るステップと、
コンピューティングデバイスの前記選択されたクラスタ内の各コンピューティングデバイスに通信を送るステップと
をさらに含む、請求項1に記載の方法。
【請求項５】
コンピューティングデバイスの前記選択されたクラスタ内の各コンピューティングデバイスに通信を送るステップは、調整されたアクションを実行するためにコンピューティングデバイスの前記選択されたクラスタ内の各コンピューティングデバイスに要求を送るステップを含む、請求項4に記載の方法。
【請求項６】
前記応答するデバイスの前記距離しきい値以内のコンピューティングデバイスの前記個数について記述する前記応答するデバイスからの記述情報を受信するステップをさらに含み、前記要求するデバイス上で、前記受信されたグループ化情報に基づいて、コンピューティングデバイスのクラスタを識別するステップは、前記グループ化情報および受信された記述情報に基づいてコンピューティングデバイスの前記クラスタを識別するステップを含む、請求項1に記載の方法。
【請求項７】
前記受信された記述情報に基づいてコンピューティングデバイスの前記クラスタの前記要求するデバイスのディスプレイスクリーン上のディスプレイを提示するステップをさらに含む、請求項6に記載の方法。
【請求項８】
要求するデバイスであって、
クラスタを定義するための距離しきい値を決定する動作と、
前記要求するデバイスから応答するデバイスへ、前記距離しきい値およびグループ化情報に関する要求を送る動作と、
前記応答するデバイスの前記距離しきい値以内のコンピューティングデバイスの個数を示す、前記応答するデバイスからのグループ化情報を受信する動作と、
前記受信されたグループ化情報に基づいて、コンピューティングデバイスのクラスタを識別する動作と
を含む動作を実行するようにプロセッサ実行可能命令を用いて構成されたプロセッサ
を含む、要求するデバイス。
【請求項９】
前記プロセッサは、前記要求するデバイスのディスプレイスクリーン上でコンピューティングデバイスの前記クラスタのディスプレイを提示する動作をさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項8に記載の要求するデバイス。
【請求項１０】
前記プロセッサは、前記要求するデバイスのディスプレイスクリーン上でコンピューティングデバイスの前記クラスタのディスプレイを提示する動作が、
フィルタリング判断基準を決定する動作と、
前記決定されたフィルタリング判断基準に基づいてコンピューティングデバイスの前記クラスタ内のコンピューティングデバイスをフィルタリングする動作と、
前記フィルタリングされたコンピューティングデバイスだけを含むディスプレイを、前記要求するデバイスの前記ディスプレイスクリーン上で提示する動作と
を含むような動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項9に記載の要求するデバイス。
【請求項１１】
前記プロセッサは、
コンピューティングデバイスの前記クラスタのユーザ入力選択を受け取る動作と、
コンピューティングデバイスの前記選択されたクラスタ内の各コンピューティングデバイスに通信を送る動作と
をさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項8に記載の要求するデバイス。
【請求項１２】
前記プロセッサは、コンピューティングデバイスの前記選択されたクラスタ内の各コンピューティングデバイスに通信を送る動作が、
調整されたアクションを実行するためにコンピューティングデバイスの前記選択されたクラスタ内の各コンピューティングデバイスに要求を送る動作
を含むような動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項11に記載の要求するデバイス。
【請求項１３】
前記プロセッサは、前記応答するデバイスの前記距離しきい値以内のコンピューティングデバイスの前記個数について記述する前記応答するデバイスからの記述情報を受信する動作をさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成され、
前記プロセッサは、前記受信されたグループ化情報に基づいて、コンピューティングデバイスのクラスタを識別する動作が、前記グループ化情報および受信された記述情報に基づいてコンピューティングデバイスの前記クラスタを識別する動作を含むような動作を実行するようにプロセッサ実行可能命令を用いて構成される
請求項8に記載の要求するデバイス。
【請求項１４】
前記プロセッサは、前記受信された記述情報に基づいてコンピューティングデバイスの前記クラスタの前記要求するデバイスのディスプレイスクリーン上のディスプレイを提示する動作を含む動作を実行するようにプロセッサ実行可能命令を用いてさらに構成される、請求項13に記載の要求するデバイス。
【請求項１５】
近くのコンピューティングデバイスを識別するための、応答するデバイス上で実施される方法であって、
前記応答するデバイス上で、要求するデバイスから距離しきい値を受信するステップと、
前記応答するデバイス上で、前記応答するデバイスの前記距離しきい値以内のすべてのコンピューティングデバイスを識別するステップと、
前記応答するデバイスの前記距離しきい値以内の識別されたコンピューティングデバイスに関する情報を前記要求するデバイスに送るステップと
を含む、方法。
【請求項１６】
前記応答するデバイスの前記距離しきい値以内の識別されたコンピューティングデバイスに関する情報を前記要求するデバイスに送るステップは、
前記応答するデバイス上で、前記応答するデバイスの前記距離しきい値以内のコンピューティングデバイスの個数を示すグループ化情報を生成するステップと、
前記応答するデバイスから前記要求するデバイスへ、前記グループ化情報を送るステップと
を含む、請求項15に記載の方法。
【請求項１７】
前記応答するデバイスの前記距離しきい値以内の前記識別されたコンピューティングデバイスに記述情報を要求するステップと、
前記応答するデバイス上で、前記識別されたコンピューティングデバイスから記述情報を受信するステップと、
前記応答するデバイスから前記要求するデバイスへ、前記受信された記述情報を送るステップと
をさらに含む、請求項15に記載の方法。
【請求項１８】
応答するデバイスであって、
要求するデバイスから距離しきい値を受信する動作と、
前記応答するデバイスの前記距離しきい値以内のすべてのコンピューティングデバイスを識別する動作と、
前記応答するデバイスの前記距離しきい値以内の識別されたコンピューティングデバイスに関する情報を前記要求するデバイスに送る動作と
を含む動作を実行するようにプロセッサ実行可能命令を用いて構成されたプロセッサ
を含む、応答するデバイス。
【請求項１９】
前記プロセッサは、前記応答するデバイスの前記距離しきい値以内の識別されたコンピューティングデバイスに関する情報を前記要求するデバイスに送る動作が、
前記応答するデバイスの前記距離しきい値以内のコンピューティングデバイスの個数を示すグループ化情報を生成する動作と、
前記応答するデバイスから前記要求するデバイスへ、前記グループ化情報を送る動作と
を含むような動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項18に記載の応答するデバイス。
【請求項２０】
前記プロセッサは、
前記応答するデバイスの前記距離しきい値以内の前記識別されたコンピューティングデバイスに記述情報を要求する動作と、
前記識別されたコンピューティングデバイスから記述情報を受信する動作と、
前記応答するデバイスから前記要求するデバイスへ、前記受信された記述情報を送る動作と
をさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項18に記載の応答するデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、その内容全体が参照によって本明細書に組み込まれている、2014年4月28日に出願した米国特許仮出願第61/984,904号、名称「AllJoyn Messaging Anonymous Targets Based on Association」の優先権の利益を主張するものである。
【背景技術】
【０００２】
現在、モバイルコンピューティングデバイスは、デバイスが他の互換デバイス(たとえば、AllJoyn(登録商標)クライアントを実行する他のモバイルコンピューティングデバイス、機器など)を認識し、これと通信することを可能にする、Qualcomm社のAllJoyn(登録商標)などの通信アプリケーションをインストール/実行することによって、短距離通信チャネルを介して他のデバイスと公に通信することができる。そのようなデバイス対デバイス通信リンクを介して、接続されたデバイスは、それぞれのデバイスのブランド、オペレーティングシステム、および構成にかかわりなく、それらの他のデバイスとリソースおよび状況情報を共有することができる。さらに、そのようなデバイスは、ネットワークに登録せず、またはネットワークから援助を受けることなく、お互いと独立に通信することができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
様々な実施形態は、要求するデバイスによってコンピューティングデバイスのクラスタを識別するための方法、デバイス、および非一時的プロセッサ可読記憶媒体を提供する。いくつかの実施形態の方法は、要求するデバイス上で、クラスタを定義するための距離しきい値を決定するステップと、要求するデバイスから応答するデバイスへ、距離しきい値およびグループ化情報に関する要求を送るステップとを含むことができる。そのような実施形態において、この方法は、要求するデバイス上で、応答するデバイスの距離しきい値以内のコンピューティングデバイスの個数を示す、応答するデバイスからのグループ化情報を受信するステップと、要求するデバイス上で、受信されたグループ化情報に基づいて、コンピューティングデバイスのクラスタを識別するステップとをさらに含むことができる。
【０００４】
いくつかの実施形態において、この方法は、要求するデバイスのディスプレイスクリーン上でコンピューティングデバイスのクラスタのディスプレイを提示するステップをさらに含むことができる。そのような実施形態において、要求するデバイスのディスプレイスクリーン上でコンピューティングデバイスのクラスタのディスプレイを提示するステップは、フィルタリング判断基準を決定するステップと、決定されたフィルタリング判断基準に基づいてコンピューティングデバイスの識別されたクラスタ内のコンピューティングデバイスをフィルタリングするステップと、フィルタリングされたコンピューティングデバイスだけを含むディスプレイを、要求するデバイスのディスプレイスクリーン上で提示するステップとをさらに含むことができる。いくつかの実施形態において、この方法は、コンピューティングデバイスのクラスタのユーザ入力選択を受け取るステップと、コンピューティングデバイスの選択されたクラスタ内の各コンピューティングデバイスに通信を送るステップとをさらに含むことができる。そのような実施形態において、コンピューティングデバイスの選択されたクラスタ内の各コンピューティングデバイスに通信を送るステップは、調整されたアクションを実行するためにコンピューティングデバイスの選択されたクラスタ内の各コンピューティングデバイスに要求を送るステップをさらに含むことができる。
【０００５】
いくつかの実施形態において、この方法は、要求するデバイス上で、応答するデバイスの距離しきい値以内のコンピューティングデバイスの個数について記述する応答するデバイスからの記述情報を受信するステップをさらに含むことができ、要求するデバイス上で、受信されたグループ化情報に基づいて、コンピューティングデバイスのクラスタを識別するステップは、グループ化情報および受信された記述情報に基づいてコンピューティングデバイスのクラスタを識別するステップを含む。そのような実施形態において、この方法は、記述情報に基づいてコンピューティングデバイスのクラスタの要求するデバイスのディスプレイスクリーン上のディスプレイを提示するステップをさらに含むことができる。
【０００６】
様々な追加の実施形態は、応答するデバイスによって近くのコンピューティングデバイスを識別するための、方法、デバイス、および非一時的プロセッサ可読記憶媒体を提供する。いくつかの実施形態の方法は、応答するデバイス上で、要求するデバイスから距離しきい値を受信するステップと、応答するデバイス上で、応答するデバイスの距離しきい値以内のすべてのコンピューティングデバイスを識別するステップと、応答するデバイスの距離しきい値以内の識別されたコンピューティングデバイスに関する情報を要求するデバイスに送るステップとを含むことができる。
【０００７】
いくつかの実施形態において、応答するデバイスの距離しきい値以内の識別されたコンピューティングデバイスに関する情報を要求するデバイスに送るステップは、応答するデバイス上で、応答するデバイスの距離しきい値以内のコンピューティングデバイスの個数を示すグループ化情報を生成するステップと、応答するデバイスから要求するデバイスへ、グループ化情報を送るステップとをさらに含むことができる。いくつかの実施形態において、この方法は、応答するデバイス上で、応答するデバイスの距離しきい値以内の識別されたコンピューティングデバイスに記述情報を要求するステップと、応答するデバイス上で、識別されたコンピューティングデバイスから記述情報を受信するステップと、応答するデバイスから要求するデバイスへ、受信された記述情報を送るステップとをさらに含むことができる。
【０００８】
様々な実施形態は、上で説明された方法の動作を実行するようにプロセッサ実行可能命令を用いて構成されたコンピューティングデバイスを含むことができる。
【０００９】
様々な実施形態は、モバイル通信デバイスのプロセッサに上で説明された方法の動作を実行させるように構成されたプロセッサ実行可能命令がその上に記憶される非一時的プロセッサ可読媒体を含むことができる。
【００１０】
様々な実施形態は、上で説明された方法の動作の機能を実行するための手段を有するコンピューティングデバイスを含むことができる。
【００１１】
本明細書に組み込まれ、本明細書の一部を構成する添付図面は、本発明の例示的実施形態を示し、上で与えられる全般的説明および下で与えられる詳細な説明と一緒に、本発明の特徴を説明するように働く。
【図面の簡単な説明】
【００１２】
【図１】様々な実施形態と共に使用するのに適するネットワークを示す通信システムブロック図である。
【図２】様々な実施形態によるコンピューティングデバイスを示すコンポーネントブロック図である。
【図３Ａ】様々な実施形態による、1つまたは複数の応答するデバイスから受信された情報に基づいてコンピューティングデバイスのクラスタを識別するように構成された要求するデバイスの例を示すシステムブロック図である。
【図３Ｂ】様々な実施形態による、1つまたは複数の応答するデバイスから受信された情報に基づいてコンピューティングデバイスのクラスタを識別するように構成された要求するデバイスの例を示すシステムブロック図である。
【図３Ｃ】様々な実施形態による、1つまたは複数の応答するデバイスから受信された情報に基づいてコンピューティングデバイスのクラスタを識別するように構成された要求するデバイスの例を示すシステムブロック図である。
【図４】様々な実施形態による、応答するデバイスから受信されたグループ化情報に基づいて応答するデバイスの距離しきい値以内のコンピューティングデバイスのクラスタを要求するデバイス上で判定するための方法を示すプロセス流れ図である。
【図５】様々な実施形態による、応答するデバイスの距離しきい値以内のコンピューティングデバイスの特性を記述する応答するデバイスから受信された情報に少なくとも部分的に基づいてコンピューティングデバイスのクラスタを要求するデバイス上で判定するための方法を示すプロセス流れ図である。
【図６】様々な実施形態による、要求するデバイス上で表示されるコンピューティングデバイスのクラスタをフィルタリングするための方法を示すプロセス流れ図である。
【図７】様々な実施形態による、調整されたアクションをコンピューティングデバイスのクラスタの各メンバに送るための方法を示すプロセス流れ図である。
【図８】様々な実施形態による、グループ化情報に関する要求するデバイスからの要求に応答するための方法を示すプロセス流れ図である。
【図９】いくつかの実施形態の方法を実施するのに適するコンピューティングデバイスを示すコンポーネントブロック図である。
【発明を実施するための形態】
【００１３】
様々な実施形態を、添付図面を参照して詳細に説明する。可能な時には必ず、図面全体を通じて、同一のまたは同様の部分を指すのに同一の符号を使用する。特定の例および実装形態に対して行われる言及は、説明を目的とし、本発明または特許請求の範囲の範囲を限定することは意図されていない。
【００１４】
本明細書で使用される時に、「コンピューティングデバイス」という用語は、セルラー電話機、スマートフォン、パーソナルまたはモバイルのマルチメディアプレイヤ、携帯情報端末、ラップトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータ、スマートブック、パームトップコンピュータ、ワイヤレス電子メール受信器、マルチメディアインターネット対応セルラー電話機、ワイヤレスゲーミングコントローラ、および、プログラマブルプロセッサとメモリと他の電子デバイスとの接続のための回路網とを含む同様の電子デバイスのうちの任意の1つまたはすべてを指す。様々な態様は、スマートフォンなどのモバイルコンピューティングデバイス内で有用である可能性があり、したがって、そのようなデバイスが、様々な実施形態の説明において言及される。
【００１５】
コンピューティングデバイスは、通信アプリケーション(たとえば、AllJoyn(登録商標))を利用して、同一のアプリケーションを実行する他のコンピューティングデバイスと通信することができる。しかしながら、そのようなモバイルコンピューティングデバイスのユーザは、デバイスのグループのメンバの連絡先情報または識別証明書を欠いているにもかかわらず、そのグループ(またはそれらのデバイスのユーザ)と通信することを望む状況に出会う場合がある。たとえば、ユーザは、ドアを開き、彼らの会議に無作法に割り込む必要なしに、そのユーザが2〜3分以内に会議室を使用するようにスケジューリングされていることを思い出させるために、その会議室を占有している人々のグループのデバイスにメッセージングすることを望む場合がある。別の例において、ユーザが、懇親会にいる人々にメッセージングすることを望むが、彼らの連絡先情報を知らないか覚えていない場合がある。
【００１６】
現在、コンピューティングデバイス(「第1の」コンピューティングデバイス)のユーザが、近くのデバイスの特定の連絡先情報を欠くにもかかわらず、それらのデバイスのグループと通信することを可能にするためのいくつかの解決策が存在する。これらの解決策において、第1のコンピューティングデバイスは、第2のコンピューティングデバイスに、近くのデバイスに関する情報を要求する。応答して、第2のコンピューティングデバイスは、近くのコンピューティングデバイス(たとえば、「第3の」コンピューティングデバイス、「第4の」コンピューティングデバイスなど)からの信号強度を計算し、これらの計算された信号強度を第1のコンピューティングデバイスに通信する。第1のコンピューティングデバイス内では、第2のコンピューティングデバイスおよび他の近くのコンピューティングデバイスの相対位置が、受信信号強度情報に基づいて計算され得、第2、第3などのコンピューティングデバイスの相対位置/表現が、1つまたは複数のグループとして第1のコンピューティングデバイス上でグラフィカルに表示され得る。次いで、第1のコンピューティングデバイスのユーザは、表示されたデバイスのグループの選択を行うことができ、選択されたグループのメンバにメッセージを送ることができる。
【００１７】
現在の解決策は、ユーザのコンピューティングデバイスが、コンピューティングデバイスの近くのグループを識別することを可能にするが、これらの解決策は、現在、ユーザが、第2のコンピューティングデバイスが他のコンピューティングデバイスを探し、識別する距離を制御することを可能にしない。たとえば、ユーザが、レストラン内で一緒に座っている2〜3人のコンピューティングデバイスへのメッセージングだけに関心を持つ場合があるが、ユーザのコンピューティングデバイスが、その代わりに、そのレストラン全体のコンピューティングデバイスのグループを生成し、表示し、これによって、それら2〜3人だけに向けられたメッセージを送るユーザの能力を挫折させる可能性がある。
【００１８】
現在のシステムのそのような不利益を克服するために、様々な実施形態において、第1のコンピューティングデバイス(「要求するデバイス」とも称する)は、第2のコンピューティングデバイス(「応答するデバイス」とも称する)に、構成可能な距離しきい値(たとえば、ある信号強度値)を送ることができ、従来のコンピューティングデバイス内で実行されるように応答するデバイスの任意の距離以内のコンピューティングデバイスの報告を受信するのではなく、応答するデバイスが、その構成可能な距離しきい値以内にあるコンピューティングデバイスだけを識別することを要求することができる。その結果、要求するデバイスは、距離しきい値を調整することによって、応答するデバイスによって報告されるグループのサイズを調整することができる。
【００１９】
従来の解決策においては、コンピューティングデバイスの相対位置だけが、それらのそれぞれの信号強度測定値に基づいて判定されるので、ユーザは、デバイスの表示されたグループをユーザが自分の前に実際に見るデバイスと照合する(複数のデバイスまたはコンピューティングデバイスの複数のグループがその区域内にある状況では難しい可能性がある)ことによるなど、ユーザのコンピューティングデバイス上に表示されたコンピューティングデバイスのグループのメンバの実際のアイデンティティを推測しなければならない。
【００２０】
現在のシステムのそのような不利益を克服するために、様々な実施形態は、ユーザの要求するデバイスが、より正確な位置判定を行うためにコンピューティングデバイスのグループのメンバの様々な記述情報(たとえば、センサ情報、位置情報、および状況情報)を要求し、受信することを可能にし、これによって、ユーザが、ユーザがそれにメッセージを送ることを望む1つまたは複数のコンピューティングデバイスのアイデンティティを区別することをより簡単にする。
【００２１】
概要において、様々な実施形態は、協力することと情報を共有することとによって、近くのコンピューティングデバイスの1つまたは複数のクラスタを集合的に識別するための、要求するデバイスおよび応答するデバイスによって実施される方法を提供する。具体的には、様々な実施形態において、要求するデバイスは、各応答するデバイスの距離しきい値以内にあるコンピューティングデバイスに関するグループ化情報に関する要求と一緒に、1つまたは複数の近くの応答するデバイスに距離しきい値(たとえば、ユーザ入力として受け取られる)を指定するメッセージを送ることができる。要求および距離しきい値の受信に応答して、各応答するデバイスは、距離しきい値以内にある他のコンピューティングデバイスを識別することができ、要求するデバイスにそのような情報を送ることができる。要求するデバイスは、受信されたグループ化情報に基づいてコンピューティングデバイスの1つまたは複数のクラスタを識別するのに、応答するデバイスから受信された情報を使用することができる。調整された距離しきい値を用いて1つまたは複数の応答するデバイスとシグナリングすることによって、要求するデバイスは、応答するデバイスから受信された応答から生成できるコンピューティングデバイスの識別されたクラスタのサイズを動的に調整することができ、これによって、そのクラスタ内のデバイスに関する連絡先情報を欠くにもかかわらず、要求するデバイスのユーザに、適当なまたは所望のサイズのクラスタ内のコンピューティングデバイスを識別し、これらと通信するためのより高い能力を与えることができる。
【００２２】
様々な実施形態において、コンピューティングデバイス(たとえば、要求するデバイスおよび1つまたは複数の応答するデバイス)は、Qualcomm(登録商標)社によるAllJoyn(登録商標)など、共通のまたは互換の通信/メッセージングアプリケーションを介してお互いと通信することができる。そのような実施形態において、共通の通信/メッセージングアプリケーションは、あるコンピューティングデバイスから公共ポートを介して別のデバイスへメッセージおよびコマンドを送ることを可能にすることができる、Bluetooth(登録商標)などの様々な通信プロトコルの上で実行されるソフトウェア/APIレイヤとされ得る。共通の通信/メッセージングアプリケーションは、アプリケーションストア(たとえば、Apple(登録商標)社のApp Store(登録商標))などのサードパーティから受信され、インストールされ得る。他の実施形態において、共通の通信/メッセージングアプリケーションは、デバイスそれぞれの相手先商標製品製造業者によってコンピューティングデバイス上に事前にインストールされ得る。共通の通信アプリケーションを介してお互いにメッセージを送り、受信する能力を共有することによって、コンピューティングデバイスは、それぞれのモデル、能力、およびデバイスタイプ(たとえば、スマートフォン対ホームアプライアンス)にかかわりなく、情報を交換することができる。
【００２３】
様々な実施形態において、要求するデバイスからの距離しきい値の受信に応答して、応答するデバイスは、応答するコンピューティングデバイスの距離しきい値以内の1つまたは複数のコンピューティングデバイスを識別するのに、通信/メッセージングアプリケーションを使用することができる。距離しきい値は、特定の受信信号強度指示(RSSI)値、アンテナ利得、GPS座標によって判定される距離などに対応する値とすることができる。応答するデバイスは、距離しきい値のタイプに基づいて距離しきい値以内の1つまたは複数のコンピューティングデバイスを識別することができる(たとえば、受信された距離しきい値より大きい関連するRSSI値を有するすべてのコンピューティングデバイスを識別する)。
【００２４】
様々な実施形態において、応答するデバイスは、応答するデバイスから距離しきい値以内にあることが検出される1つまたは複数のコンピューティングデバイスのグループ化情報を生成することができ、要求するデバイスがコンピューティングデバイスの1つまたは複数のクラスタを識別することを可能にするために、このグループ化情報を要求するデバイスに送ることができる。たとえば、応答するデバイスは、要求するコンピューティングデバイスを除いて、4つのコンピューティングデバイスが距離しきい値以内にあることを、要求するデバイスに知らせることができる。応答して、要求するデバイスは、4つのコンピューティングデバイス(要求するデバイスを除く)の1つのクラスタが近くにあると判定することができる。
【００２５】
いくつかの実施形態において、応答するデバイスは、距離しきい値以内の1つまたは複数のコンピューティングデバイスに関連する様々なタイプの情報を獲得することができる。たとえば、そのような記述情報は、距離しきい値以内の識別されたコンピューティングデバイス(要求するデバイスおよび/または応答するデバイスを含むことができる)の位置情報、センサ情報、および状況情報のうちの少なくとも1つを含むことができる。位置情報は、全地球測位システム(GPS)座標データ、コンパス方向読み、加速度計データ、ジャイロスコープ情報、その他など、識別されたコンピューティングデバイスの位置特性、速度特性、および/または移動特性を記述することができる。センサ情報は、光強度計および/またはカメラなど、識別されたコンピューティングデバイス上に設置され得る様々なセンサからの測定値および読みを含むことができる。状況情報は、要求するデバイスのユーザがコンピューティングデバイスを視覚的に識別するのを援助することができる他のタイプの情報を含むことができ、コンピューティングデバイスがアクティブな音声呼またはインターネット/データセッションにかかわっているのかどうか、コンピューティングデバイスのモデル/デバイスのタイプ、その他など、広範囲の情報を含むことができる。集合的に、これらのタイプの情報および近くのコンピューティングデバイスに関係する様々な他のタイプの情報は、本明細書では「記述情報」と呼ばれるものとされ得、要求するデバイスは、近くのコンピューティングデバイスを識別し、かつ/またはコンピューティングデバイスの同一のクラスタに属するコンピューティングデバイスを判定し(たとえば、図5を参照して説明されるように)、ならびに他の用途に、そのような記述情報を利用することができる。
【００２６】
いくつかの実施形態において、少なくとも1つの応答するデバイスから受信されるグループ化情報に基づいてコンピューティングデバイスの1つまたは複数のクラスタを識別することに応答して、要求するデバイスは、要求するデバイスのディスプレイ上に1つまたは複数の識別されたクラスタを表示することができる。要求するデバイスが、コンピューティングデバイスの1つまたは複数のクラスタのメンバに関する記述情報を受信し終えているいくつかの特定の実施形態において、要求するデバイスは、ユーザに表示されるコンピューティングデバイスのクラスタに記述情報を組み込むことができる。この形で、要求するデバイスは、要求するデバイスのスクリーン上に表示されるデバイスの各クラスタをユーザが付近で見るデバイスと照合することによるなど、ユーザが各クラスタのメンバを視覚的に識別することを助けることができる追加情報をユーザに提供することができる。
【００２７】
いくつかの実施形態において、要求するデバイスは、表示されるクラスタのうちの1つの選択を(たとえば、ユーザ入力選択として)受け取ることができ、選択されたクラスタのコンピューティングデバイスにメッセージ、コマンド、および/または任意の他の形の通信を送ることができる。さらなる実施形態において、要求するデバイスは、アクションを同時に実行するように各メンバを構成することのできる、調整されたアクションまたはコマンドを選択されたクラスタの各コンピュータアデバイスに送ることができる。たとえば、会議室内のコンピューティングデバイスのクラスタの選択を受信することに応答して、要求するデバイスは、選択されたグループの各メンバに調整されたコマンドを送り、振動し、その会議室での彼らのスケジューリングされた時間が満了したことを各メンバのユーザに知らせるメッセージを振動し表示することができる。
【００２８】
いくつかの実施形態において、要求するデバイスは、1つまたは複数のフィルタリング判断基準に基づいて、コンピューティングデバイスをクラスタに選択的に表示することができる。表示されるコンピューティングデバイスをフィルタリングすることによって、要求するデバイスは、ユーザの所期の目的に関連しない可能性があるコンピューティングデバイスを除去することができる。たとえば、そのユーザが、別の人のスマートフォンにメッセージングすることを試みつつある場合に、要求するデバイスは、スマートフォンデバイスだけが表示され得ること(ホームアプライアンスなどの他のタイプのデバイスとは異なって)を指示するフィルタリング判断基準をユーザ入力として受信することができ、これによって、ユーザが、その別の人のスマートフォンが属するコンピューティングデバイスのクラスタをすばやく識別し、上で説明されるようにそのクラスタへのメッセージの送信を開始することを可能にする。
【００２９】
参照のしやすさのために、距離しきい値以内の1つまたは複数のコンピューティングデバイスに関するグループ化情報および/または記述情報を要求するコンピューティングデバイスは、本明細書において「要求するデバイス」と呼ばれ、要求するデバイスから要求を受信するコンピューティングデバイスは、「応答するデバイス」と呼ばれる。また、参照のしやすさのために、要求するデバイスが、「第1のデバイス」または「第1のコンピューティングデバイス」と呼ばれる場合があり、応答するデバイスが、「第2のデバイス」または「第2のコンピューティングデバイス」と呼ばれる場合がある。しかしながら、これらの参照は、単に説明のしやすさのためのものであり、特定のコンピューティングデバイスが応答するデバイスまたは要求するデバイスになることを暗示しまたは要求することは意図されていない。たとえば、いくつかの実施形態において、要求するデバイスは、ある後の時に、別の要求するデバイスからグループ化情報に関する要求を受信することに応答して、応答するコンピューティングデバイスになることができる。
【００３０】
様々な実施形態が、様々な通信システム100内で実施され得、この通信システム100の一例が、図1に示されている。モバイルネットワーク102は、通常、複数のセルラー基地局(たとえば、基地局130)を含む。コンピューティングデバイス110は、基地局130へのセルラー接続132を介してモバイルネットワーク102と通信しているものとされ得る。セルラー接続132は、4G、3G、CDMA、TDMA、WCDMA（登録商標）、GSM（登録商標）、および他のモバイルテレフォニ通信技術などの両方向ワイヤレス通信リンクを介して行われ得る。基地局130は、有線接続134を介してモバイルネットワーク102と通信しているものとされ得る。コンピューティングデバイス110が、モバイルネットワーク102に接続されて図示されているが、いくつかの実施形態(図示せず)において、コンピューティングデバイス110は、2つ以上のモバイルネットワークへの2つ以上のサブスクリプションを含むことができ、下で説明されるものに類似する形でそれらのサブスクリプションに接続することができる。
【００３１】
いくつかの実施形態において、コンピューティングデバイス110は、Wi-Fi接続を介するなど、ワイヤレスアクセスポイント160とのワイヤレス接続162を確立することができる。ワイヤレスアクセスポイント160は、有線接続166を介してインターネット164または別のネットワークに接続するように構成され得る。
【００３２】
様々な実施形態において、コンピューティングデバイス110は、共通の通信アプリケーション(たとえば、Qualcomm(登録商標)社によるAllJoyn(登録商標))を介して様々な他のコンピューティングデバイス120〜128とのワイヤレス接続152(たとえば、Bluetooth(登録商標)、Wi-Fi Direct(登録商標)、または別の近接場/短距離通信接続)を確立することができる。たとえば、コンピューティングデバイス110は、ラップトップデバイス120、パーソナルコンピューティングデバイス122、タブレットコンピューティングデバイス124、モバイルコンピューティングデバイス126(たとえば、スマートフォン)、およびアプライアンスデバイス128(たとえば、「スマート」洗濯機)のうちの1つまたは複数と情報および通信を交換することができる。コンピューティングデバイス110は、また(またはその代わりに)、共通の通信アプリケーションを介して通信することができる様々な他のコンピューティングデバイス(図示せず)に接続することができる。
【００３３】
さらに、いくつかの実施形態(図示せず)において、コンピューティングデバイス120〜128は、共通の通信アプリケーションを介してお互いとのワイヤレス接続を確立することができる。
【００３４】
図2は、様々な実施形態を実施するのに適するコンピューティングデバイス200の機能ブロック図である。様々な実施形態によれば、コンピューティングデバイス200は、図1を参照して説明されたコンピューティングデバイス110に類似するものとされ得る。
【００３５】
図1〜図2を参照すると、コンピューティングデバイス200は、オプションでSIMインターフェース202を含むことができ、このSIMインターフェース202は、サブスクリプションに関連する第1のアイデンティティモジュールSIM 204を受けることができる。様々な実施形態において、SIMは、SIMアプリケーションおよび/またはUSIMアプリケーションを用いて構成され、たとえばGSM（登録商標）ネットワークおよび/またはUMTSネットワークへのアクセスを可能にする、Universal Integrated Circuit Card (UICC)とされ得る。UICCは、電話帳および他のアプリケーションのためのストレージを提供することもできる。代替案では、CDMAネットワーク内で、SIMは、カード上のUICC removable user identity module (R-UIM)またはCDMA subscriber identity module (CSIM)とされ得る。各SIMカードは、CPU、ROM、RAM、EEPROM、および入出力回路を有することができる。
【００３６】
コンピューティングデバイス200は、コーダ/デコーダ(コーデック)208に結合され得る、汎用プロセッサ206などの少なくとも1つのコントローラを含むことができる。コーデック208はさらに、スピーカ210およびマイクロホン212に結合され得る。汎用プロセッサ206は、メモリ214にも結合され得る。メモリ214は、プロセッサ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体とされ得る。たとえば、命令は、対応するベースバンドRFリソースチェーンを介してSIM/サブスクリプションに関する通信データをルーティングすることを含むことができる。
【００３７】
メモリ214は、オペレーティングシステム(OS)ならびにユーザアプリケーションソフトウェアおよび実行可能命令を記憶することができる。メモリ214は、アレイデータ構造など、アプリケーションデータを記憶することもできる。
【００３８】
汎用プロセッサ206およびメモリ214は、それぞれ、少なくとも1つのベースバンドモデムプロセッサ216に結合され得る。コンピューティングデバイス200内の各SIM (たとえば、SIM 204)は、ベースバンドRFリソースチェーンに関連付けられ得る。ベースバンドRFリソースチェーンは、無線アクセス技術(RAT)を用いて通信し/これを制御するためのベースバンド/モデム機能を実行することができるベースバンドモデムプロセッサ216を含むことができ、本明細書において全般的に「RFリソース」と呼ばれる1つまたは複数の増幅器およびラジオを含むことができる。いくつかの実施形態において、複数のベースバンドRFリソースチェーンが、ベースバンドモデムプロセッサ216(すなわち、コンピューティングデバイス200上ですべてのRATに関するベースバンド/モデム機能を実行する単一のデバイス)を共有することができる。他の実施形態において、各ベースバンドRFリソースチェーンは、物理的または論理的に別々のベースバンドプロセッサ(たとえば、BB)を含むことができる。
【００３９】
いくつかの実施形態において、RFリソース218aおよびオプションでRFリソース218bは、異なるワイヤレス通信プロトコルに関連付けられ得る。たとえば、RFリソース218aは、GSM（登録商標） RATを介する通信に関連付けられ、これらを使用可能にすることができ、RFリソース218bは、Bluetooth(登録商標)RATを用いる通信に関連付けられ、これらを使用可能にすることができる。RFリソース218aおよび218bは、それぞれ、それらのそれぞれのRATの代わりに送信機能/受信機能を実行するトランシーバとされ得る。RFリソース218aおよび218bは、別々の送信回路網および受信回路網を含むこともでき、あるいは、送信器機能および受信器機能を組み合わせるトランシーバを含むことができる。RFリソース218aおよび218bは、それぞれ、ワイヤレスアンテナ(たとえば、第1のワイヤレスアンテナ220aまたはオプションで第2のワイヤレスアンテナ220b)に結合され得る。RFリソース218aおよび218bは、ベースバンドモデムプロセッサ216にも結合され得る。
【００４０】
いくつかの実施形態において、汎用プロセッサ206、メモリ214、ベースバンドモデムプロセッサ216、ならびにRFリソース218aおよび218bは、システムオンアチップとしてコンピューティングデバイス200内に含まれ得る。いくつかの実施形態において、SIM 204およびそれに対応するインターフェース202は、システムオンアチップの外部とされ得る。さらに、様々な入力デバイスおよび出力デバイスが、インターフェースまたはコントローラなど、システムオンアチップ上のコンポーネントに結合され得る。コンピューティングデバイス200内での使用に適する例のユーザ入力コンポーネントは、キーパッド224、タッチスクリーンディスプレイ226、およびマイクロホン212を含むことができるが、これに限定はされない。
【００４１】
いくつかの実施形態において、キーパッド224、タッチスクリーンディスプレイ226、マイクロホン212、またはその組合せは、別のコンピューティングデバイスとの通信を開始するためのユーザ入力を受け取る機能を実行することができる。たとえば、タッチスクリーンディスプレイ226は、連絡先リストから連絡先の選択を受け取り、または電話番号を受け取ることができる。別の例において、タッチスクリーンディスプレイ226とマイクロホン212との一方または両方は、発信呼および/または別のコンピューティングデバイスとの通信を開始するための要求を受け取る機能を実行することができる。一例において、別のコンピューティングデバイスとの通信セッションを開始するための要求は、マイクロホン212を介して受け取られる音声コマンドの形であるものとすることができる。インターフェースが、当技術分野で既知のように、コンピューティングデバイス200内の様々なソフトウェアモジュールおよび機能の間での通信を可能にするために、それらの間に提供され得る。
【００４２】
いくつかの実施形態において、コンピューティングデバイス200は、コンピューティングデバイス200が共通の通信アプリケーション234(たとえば、AllJoyn(登録商標))のコピーを走行させる他のコンピューティングデバイスと通信することを可能にすることができる共通の通信アプリケーション234を含むことができる。共通の通信アプリケーション234は、メモリ214内に記憶され、汎用プロセッサ206によって実行される、ソフトウェアプログラムまたはAPIのコレクションとされ得る。共通の通信アプリケーション234を介して、汎用プロセッサ206は、グループ化情報、距離しきい値、および/またはコンピューティングデバイス200または別のデバイス(すなわち、要求するデバイス)がコンピューティングデバイスの1つまたは複数の近くのクラスタを識別することを可能にするための他の記述情報に関する要求を送り、受信することができる。
【００４３】
いくつかの実施形態において、コンピューティングデバイス200は、コンピューティングデバイス200の位置および移動を判定する際に有用である可能性がある様々なセンサ230を含むことができる。たとえば、センサ230は、カメラ、ジャイロスコープ、加速度計、光センサなどを含むことができる。コンピューティングデバイス200は、たとえばRFリソース218bおよび第2のワイヤレスアンテナ220bを介して衛星からGPS信号を受信することによって、コンピューティングデバイス200のGPS座標を受信し/判定するのに使用され得るGPS受信器ユニット232をオプションで含むこともできる。いくつかの特定の実施形態において、コンピューティングデバイス200の位置に関する情報、他のセンサ情報、および/または状況(すなわち記述情報)は、RFリソース218aまたは218bを介して、共通の通信アプリケーション234を用いて他のコンピューティングデバイスと交換され得る。
【００４４】
図3A〜図3Cに、様々な実施形態による、コンピューティングデバイスの1つまたは複数のクラスタを集合的に判定するために共通の通信アプリケーション(たとえば、共通の通信アプリケーション234)を介してお互いと通信するコンピューティングデバイス(たとえば、図1〜図2のコンピューティングデバイス110、120〜128、200)の例のシステムを示す。
【００４５】
図3Aは、要求するデバイス301が、それぞれ応答するデバイス302a〜302cの相対的に短い距離しきい値以内にある近くのデバイスのグループ化情報を応答するデバイス302a〜302cに要求する、例のシステム300を示す。要求するデバイス301は、ある距離値を示す距離しきい値を決定することができる。いくつかの実施形態において、距離しきい値は、たとえば、最小RSSI値、最大Bluetooth(登録商標)アンテナ利得、および/またはGPS座標によって決定される最小空間距離として表され得る。要求するデバイス301は、要求するデバイスのユーザによって調整され得るスライダ入力インターフェース314の位置に基づいて、距離しきい値を決定することができる。
【００４６】
要求するデバイス301は、ワイヤレス接続308aを介して、応答するデバイス302a〜302cにグループ化情報に関する要求および決定された距離しきい値を送ることができる。要求するデバイス301は、グループ化情報に関する要求の一部としてまたは別々の通信の一部としてのいずれかで、決定された距離しきい値を応答するデバイス302a〜302cに送ることができる。いくつかの実施形態において、応答するデバイス302a〜302cは、要求するデバイス301から送られる通信のある範囲(たとえば、最大範囲、最小範囲、または他の所定の範囲)内にあるものとされ得る。そのような実施形態において、要求するデバイス301は、ある通信範囲内のすべてのコンピューティングデバイスに、距離しきい値およびグループ化情報に関する要求を送ることができる。
【００４７】
いくつかの実施形態において、コンピューティングデバイス301、302a〜302cは、同一の共通の通信アプリケーション(たとえば、共通の通信アプリケーション234)を利用することができ、これによって、共通の通信アプリケーションを介して通信を受信するように構成された応答するデバイス302a〜302cの各々上のパブリックポートにグループ化情報に関する要求を送ることによるなど、要求するデバイス301がその特定の連絡先情報を知らずに応答するデバイス302a〜302cと通信することを可能にする。
【００４８】
要求するデバイス301からグループ化情報に関する要求および決定された距離しきい値を受信することに応答して、応答するデバイス302a〜302cの各々は、距離しきい値以内にあるそれらのそれぞれの付近内のコンピューティングデバイスを識別することができる。説明のしやすさのために、距離しきい値は、図3Aに示された例において、応答するデバイス302a〜302cの各々のまわりの周囲306a〜306cとして表され、コンピューティングデバイスは、そのコンピューティングデバイスが周囲306a〜306cの内部にある時に、応答するデバイス302a〜302cのうちの1つの距離しきい値以内にある。
【００４９】
第1の応答するデバイス302aは、ワイヤレス接続308bを介して信号を受信し、かつ/または第2の応答するデバイス302bと通信することができる。第2の応答するデバイス302bから受信された情報に基づいて、第1の応答するデバイス302aは、第2の応答するデバイス302bが第1の応答するデバイス302aの距離しきい値以内(すなわち、周囲306a内)にあると判定することができる。たとえば、第1の応答するデバイス302aは、第2の応答するデバイス302bに関連するRSSI値を測定することができ、測定されたRSSI値を距離しきい値に関連するRSSI値と比較して、第2の応答するデバイス302bが距離しきい値より近いことを判定することができる。その結果、第1の応答するデバイス302aは、ワイヤレス接続308aを介して、距離しきい値以内に合計2つのコンピューティングデバイス(すなわち、第1の応答するデバイス302aおよび第2の応答するデバイス302b)があることを要求するデバイス301に報告することができる。いくつかの実施形態において、応答するデバイス302a〜302cは、距離しきい値以内にあると判定されるコンピューティングデバイスに要求するデバイス301を含めないものとされ得る。
【００５０】
同様に、第2の応答するデバイス302bは、ワイヤレス接続308bを介して第1の応答するデバイス302aから受信された信号/通信に基づいて、第1の応答するデバイス302aが距離しきい値より近い(すなわち、周囲306b内にある)と判定することができる。しかしながら、第2の応答するデバイス302bは、ワイヤレス接続308cを介して第3の応答するデバイス302cから受信された信号/通信に基づいて、第3の応答するデバイス302cが、距離しきい値より遠い(すなわち、周囲306cの外部にある)と判定することができる。したがって、第2の応答するデバイス302bは、2つのコンピューティングデバイス(すなわち、第1の応答するデバイス302aおよび第2の応答するデバイス302b)が距離しきい値以内にあることを、ワイヤレス接続308aを介して要求するデバイス301に報告することができるが、その存在を知っている場合であっても第3の応答するデバイス302cを報告しない。
【００５１】
第3の応答するデバイス302cの距離しきい値以内(すなわち、周囲306c内)に他のコンピューティングデバイスはないので、第3の応答するデバイス302cは、1つのコンピューティングデバイス(すなわち、それ自体)だけが距離しきい値以内にあることを、ワイヤレス接続308aを介して要求するデバイス301に報告することができる。
【００５２】
応答するデバイス302a〜302cの各々からグループ化情報を受信することに応答して(表318内に要約されている)、要求するデバイス301は、近くのコンピューティングデバイスの3つの別個のクラスタすなわち、第1の応答するデバイス302aによって報告された2つのコンピューティングデバイスの第1のクラスタ312a、第2の応答するデバイス302bによって報告された2つのコンピューティングデバイスの第2のクラスタ312b、および第3の応答するデバイス302cによって報告された1つのコンピューティングデバイスの第3のクラスタ312cがあると判定することができる。
【００５３】
要求するデバイス301は、ディスプレイパネル(たとえば、タッチスクリーンディスプレイ226)上にクラスタ312a〜312cを表示することができる。いくつかの実施形態において、クラスタ312a〜312cの各々内のコンピューティングデバイスの方位および配置は、任意とされ得、または、デバイスの相対位置を反映することができる。要求するデバイス301が、応答するデバイス302a〜302cから様々な位置情報、状況情報、およびセンサ情報を受信する(たとえば、図3Cを参照して説明されたように)他の実施形態において、要求するデバイス301は、デバイスの実際の位置または相対位置を反映する形でクラスタ312a〜312c内に含まれるデバイスを表示することができ、かつ/または要求するデバイス301は、ユーザが、表示されたクラスタを、ユーザが区域内で見るコンピューティングデバイスと視覚的に照合するのを支援することのできる様々な他の構成/方位において、受信された情報を表示することができる。いくつかの実施形態において、要求するデバイス301は、各クラスタの個々のメンバを識別する情報を受信することができ、同一のメンバを有するクラスタ(たとえば、クラスタ312a、312b)を組み合わせることができ、重複クラスタのセットごとに1つの代表的なクラスタだけを表示することができる。
【００５４】
図3Aに示された例において、距離しきい値は、スライダ入力インターフェース314上に示されているように、相対的に短いものとされ得る。いくつかの実施形態において、より短い距離しきい値は、応答するデバイスが相対的に近いデバイスだけを報告することになるので、コンピューティングデバイスの比較的より小さいクラスタを識別する際に有用である可能性がある。その一方で、応答するデバイスにより長い距離しきい値を送ることによって、要求するデバイスは、応答するデバイスに、近くのコンピューティングデバイスのうちのより多くを識別させることができ、要求するデバイスが、コンピューティングデバイスのより大きいクラスタを識別することを可能にする。
【００５５】
図3Bに、要求するデバイス(たとえば、図3Aの要求するデバイス301)が、応答するデバイスの相対的に長い距離しきい値以内にある近くのデバイスに関する応答するデバイス302a〜302cからのグループ化情報を要求する、例のシステム320を示す。上で説明されるように、要求するデバイス301は、受信されたグループ化情報を使用して、近くのコンピューティングデバイスの1つまたは複数のクラスタを識別しまたは判定することができる。
【００５６】
図3Bに示された例において、要求するデバイス301は、ユーザによってセットされたスライダ入力インターフェース314の位置に基づくなど、距離しきい値を判定し終えており、この距離しきい値は、図3Aに示された例に図示された距離しきい値より大きい。たとえば、要求するデバイス301のユーザは、より多くのコンピューティングデバイスにメッセージングすることを望む可能性があり、したがって、相対的に大きい距離しきい値を入力する可能性があり、この相対的に大きい距離しきい値は、要求するデバイス301に、より多くのデバイス(たとえば、図3Aに示された例と比較して)を含むコンピューティングデバイスのクラスタを最終的に識別させることができる。要求するデバイス301は、ワイヤレス接続308aを介して応答するデバイス302a〜302cの各々に決定された距離しきい値とグループ化情報に関する要求とを送ることができる(たとえば、図3Aを参照して上で説明されるように)。
【００５７】
距離しきい値の受信に応答して、応答するデバイス302a〜302cは、上で説明されたようにそのしきい値以内にあるコンピューティングデバイスを判定/識別することができる。図3Bに示された例において、第1の応答するデバイス302aは、第2の応答するデバイス302bからシグナリングおよび/またはメッセージングを受信することができ、そのシグナリング/メッセージングに基づいて、第2の応答するデバイス302bが距離しきい値より近い(すなわち、周囲322a内にある)ことを判定することができる。第1の応答するデバイス302aは、2つのコンピューティングデバイス(それ自体を含み、要求するデバイス301を除外して)が距離しきい値以内にあることを、要求するデバイス301に報告することができる。
【００５８】
第2の応答するデバイス302bは、ワイヤレス接続308b、308cを介して第1の応答するデバイス302aおよび第3の応答するデバイス302cからそれぞれ受信された信号および/またはメッセージングに基づいて、第1の応答するデバイス302aおよび第3の応答するデバイス302cが距離しきい値より近い(すなわち、周囲322b内にある)ことを同様に判定することができ、第2の応答するデバイス302bは、3つのコンピューティングデバイス(それ自体を含み、要求するデバイス301を除外して)が距離しきい値以内にあることを、要求するデバイスに報告することができる。図3Aに示された例と比較して、第2の応答するデバイス302bは、比較的より多数のコンピューティングデバイスが距離しきい値以内にあることを判定することができ、したがって、より大きい数を要求するデバイス301に報告することができる。
【００５９】
第3の応答するデバイス302cは、ワイヤレス接続308c、308dを介して受信されたシグナリングおよび/またはメッセージに基づいて、第2の応答するデバイス302bおよび別のコンピューティングデバイス304が距離しきい値より近い(すなわち、周囲322c内にある)ことを識別することができる。これに応答して、第3の応答するデバイス302cは、3つのコンピューティングデバイス(すなわち、応答するデバイス302b〜302cおよびその別のコンピューティングデバイス304)が距離しきい値以内にあることを、要求するデバイス301に報告することができる。その別のコンピューティングデバイス304は、たとえば要求するデバイス301およびコンピューティングデバイス304が通信範囲の外にあるので、要求するデバイス301と直接には通信していない可能性がある。それでも、その別のコンピューティングデバイス304は、第3の応答するデバイス302cのしきい距離以内にある可能性があり、したがって、識別され、要求するデバイス301に報告され得る。
【００６０】
応答するデバイス302a〜302cから受信された、距離以内のデバイスの報告された個数(図3Bに示された表326内に要約されている)に基づいて、要求するデバイス301は、応答するデバイス302a〜302cの各々からの報告に対応するコンピューティングデバイスの3つの別個のクラスタがあることを判定することができ、それらをディスプレイパネル(たとえば、タッチスクリーンディスプレイ226)上に表示することができる。図3Bに示された例において、第1の応答するデバイス302aおよび第2の応答するデバイス302bに対応する2つのコンピューティングデバイスを含む第1のクラスタ324aと、第1、第2、および第3の応答するデバイス302a〜302cに対応する3つのコンピューティングデバイスを含む第2のクラスタ324bと、第2の応答するデバイス302b、第3の応答するデバイス302c、およびその別のコンピューティングデバイス304に対応する3つのコンピューティングデバイスを含む第3のクラスタ324cとがある。上で説明されるように、表示されるクラスタ324a〜324cは、クラスタ324a〜324cそれぞれのメンバの表現を含むことができ、これらの表現は、様々な構成に従って位置決めされ、かつ/または方位を定められ得る。
【００６１】
いくつかの実施形態において、要求するデバイス301は、表示されるクラスタ324a〜324cのうちの1つを選択するユーザ入力を受け取り得(たとえば、タッチスクリーンディスプレイ上でのユーザ入力として)、これに応答して、要求するデバイス301は、選択されたクラスタ内のコンピューティングデバイスにメッセージ、コマンド、または他の信号を送ることができる。選択されたクラスタが、要求するデバイス301の通信範囲外にあるコンピューティングデバイスを含む、いくつかの特定の実施形態において、要求するデバイス301は、範囲外のコンピューティングデバイスと間接的に通信することができる。たとえば、要求するデバイス301は、コンピューティングデバイス304宛のメッセージを第3の応答するデバイス302cに送ることができ、第3の応答するデバイス302cは、要求するデバイス301の代わりにそのメッセージをコンピューティングデバイス304に転送することができ、コンピューティングデバイス304からの応答を要求するデバイス301に転送することができる。
【００６２】
図3Cに、要求するデバイス301が、近くのデバイスに関するグループ化情報と、要求するデバイスがコンピューティングデバイスの1つまたは複数のクラスタをより正確に判定し、それらのクラスタ内のコンピューティングデバイスを識別することを可能にすることのできる追加の記述情報とを応答するデバイス342a〜342cに要求する、例のシステム340を示す。様々な実施形態において、要求するデバイス301は、受信されたグループ化情報および記述情報(たとえば、センサ情報、位置情報、状況情報など)を使用して、コンピューティングデバイスの1つまたは複数の近くのクラスタを識別しまたは判定することができる。
【００６３】
図3Cに示された例において(かつ図3Bを参照して説明されたように)、要求するデバイス301は、距離しきい値を決定し、グループ化情報に関する要求と決定された距離しきい値とをワイヤレス接続360aを介して応答するデバイス342a〜342cの各々に送ることができる。いくつかの実施形態において、グループ化情報に関する要求は、様々なタイプのセンサデータ、位置情報、状況データなどを含み、要求するデバイス301がクラスタに属する特定のコンピューティングデバイスを判定するのを助けることができる、近くのコンピューティングデバイスの記述情報に関する要求をも含むことができる。要求するデバイスは、要求するデバイスのユーザが、表示されたクラスタをそのユーザがその付近に見るデバイスと視覚的に照合するのを支援するために、要求するデバイス301がデバイスの位置、現在の動作、および他の情報のより正確な表示を表示しまたは提示することを可能にすることができる、クラスタを伴うコンピューティングデバイスに関する追加情報を要求することもできる。
【００６４】
第1の応答するデバイス342aは、ワイヤレス接続360bを介して第2の応答するデバイス342bから信号および/または通信を受信することによるなど、距離しきい値以内(たとえば、周囲346a内)のコンピューティングデバイスを検出することができる。
【００６５】
いくつかの実施形態において、応答するデバイスからの情報に関する要求の受信に応答して、コンピューティングデバイスは、様々なタイプの記述情報を含む情報を応答するデバイスに送ることができる。そのような記述情報の例は、その現在位置(たとえば、GPS座標)、その移動データ(たとえば、加速度計データ、ジャイロスコープデータ、およびコンパスデータ)、そのセンサデータ(たとえば、露出計読みおよびカメラ情報)、および動作状況情報(たとえば、そのデバイスタイプおよびそれがアクティブなデータ呼または音声呼にかかわっているかどうか)を含む。したがって、図3Cに示された例において、第1の応答するデバイス342aは、要求するデバイス301による使用のために記述情報について第2の応答するデバイス342bに照会することができ、第2の応答するデバイス342bは、応答するデバイス342bのデバイスタイプ(すなわち、第2の応答するデバイス342bが洗濯機であること)を示す記述情報を用いて応答することができる。
【００６６】
第1の応答するデバイス342aは、距離しきい値以内のコンピューティングデバイス(すなわち、第1の応答するデバイス342aおよび第2の応答するデバイス342b)の判定された個数を要求するデバイス301に報告することができる。第1の応答するデバイス342aは、他の応答するデバイスから受信された記述情報(たとえば、第2の応答するデバイス342bのデバイスタイプ)およびそれ自体の記述情報(たとえば、現在のコンパス読み362)を要求するデバイス301に送ることもできる。
【００６７】
コンピューティングデバイスの報告される個数を示すグループ化情報(たとえば、図3Cに示された表358内に要約されている)と追加の記述情報とを第1の応答するデバイス342aから受信することに応答して、要求するデバイス301は、2つのコンピューティングデバイスのクラスタ352aがあることと、クラスタ352a内の一方のコンピューティングデバイスが、特定の方向に面していることと(たとえば、コンパス読み362に基づいて)、クラスタ352a内の他方のコンピューティングデバイスが、洗濯機であることとを判定することができる。要求するデバイス301は、クラスタ352a内のコンピューティングデバイスを表示することができる。要求するデバイス301は、一方のコンピューティングデバイスが、コンパス読み362と一貫する方向に面していることと、他方のコンピューティングデバイスが、図3Cに示された例において洗濯機であることとを示すことによるなど、クラスタ内のコンピューティングデバイスに関連する記述情報を表示することもできる。
【００６８】
要求するデバイス301からの距離しきい値の受信に応答して、第2の応答するデバイス342bは、第1の応答するデバイス342aおよび第3の応答するデバイス342cが、距離しきい値より近い(たとえば、周囲346b内にある)ことを同様に判定することができ、第1の応答するデバイス342aおよび第3の応答するデバイス342cに記述情報(たとえば、位置情報、状況情報、センサ情報など)を要求し、受信することができる。図3Cに示された例において、第2の応答するデバイス342bは、第1の応答するデバイス342aからコンパス読み362を受信することができ、第3の応答するデバイス342cが現在は音声呼にかかわっていることを示す状況情報364を第3の応答するデバイス342cから受信することができる。表358内に要約されているように、第2の応答するデバイス342bは、3つのコンピューティングデバイスが距離しきい値以内にある(すなわち、応答するデバイス342a〜342c)ことを示すグループ化情報を、要求するデバイス301に報告することができる。第2の応答するデバイス342bは、第1の応答するデバイス342aのコンパス測定値362、そのデバイスタイプ(たとえば、洗濯機)、および第3の応答するデバイス342cの状況情報364を、要求するデバイス301に送ることもできる。要求するデバイス301は、第2の応答するデバイス342bから受信された情報を利用して、3つのコンピューティングデバイスのクラスタ352bがあることと、コンピューティングデバイスのうちの1つが、コンパス読み362に関して方位を定められていることと、別のコンピューティングデバイスが、洗濯機であることと、もう1つのコンピューティングデバイスが、状況情報364に基づいて現在アクティブ音声呼にかかわっていることとを判定することができる。
【００６９】
同様に、第3の応答するデバイス342cは、要求するデバイス301からのグループ化情報に関する要求と距離しきい値との受信に応答して、同一のまたは同様の動作を実行することができる。その結果、第3の応答するデバイス342cは、2つのコンピューティングデバイス(たとえば、第1の応答するデバイス342aおよび第2の応答するデバイス342b)が距離しきい値以内(たとえば、第3の応答するデバイス342cのまわりの周囲346c内)にあることを示すグループ化情報を報告することができ、距離しきい値以内のデバイスに関する追加の記述情報(たとえば、状況情報364と、第2の応答するデバイス342bが洗濯機であることと)を報告することができる。第3の応答するデバイス342cからのこの情報の受信時に、要求するデバイス301は、2つのコンピューティングデバイスのクラスタ352cがあることと、コンピューティングデバイスの一方が洗濯機であることと、他方のコンピューティングデバイスがアクティブな音声呼にかかわっていることとを判定することができる。要求するデバイス301は、クラスタ352c内の一方のコンピューティングデバイスが洗濯機であることと、クラスタ352c内の他方のコンピューティングデバイスが音声呼にかかわっていること(電話機アイコンによって示される)との表示と一緒に、クラスタ352cを表示することができる。
【００７０】
図4に、1つまたは複数の応答するデバイスから受信されたグループ化情報に基づいてコンピューティングデバイスの1つまたは複数のクラスタを判定するための、要求するデバイスのデバイスプロセッサによって実施され得る実施方法400を示す。方法400は、コンピューティングデバイス(図1〜図3を参照して説明されたコンピューティングデバイス110、200、および301など)のプロセッサ(たとえば、図2の汎用プロセッサ206、ベースバンドモデムプロセッサ216、別々のコントローラ、および/または類似物)を用いて実施され得る。デバイスプロセッサは、方法400を実施するアプリケーションがブロック402においてアクティブ化される時に応答して、方法400の動作を実行することができる。そのようなアプリケーションは、共通の通信アプリケーション(たとえば、AllJoyn(登録商標))をアクティブ化することまたはこれにログオンすることを含むことができる。
【００７１】
ブロック404において、デバイスプロセッサは、要求するデバイスへのユーザ入力によって決定され、かつ/またはそのようなユーザ入力として受け取られる値とされ得、特定の距離値を表す(たとえば、RSSI値、Bluetooth(登録商標)アンテナ利得、GPS座標に基づく物理的距離などによって示される)ことのできる距離しきい値を決定することができる。様々な実施形態において、距離しきい値は、識別されるクラスタ内に含まれるコンピューティングデバイスのサイズまたは個数を制限するために選択され得る(たとえば、図3A〜図3Bを参照して上で説明されたように)。
【００７２】
ブロック406において、デバイスプロセッサは、近くにある1つまたは複数の応答するデバイスから送られた信号、通信、および/またはメッセージを監視することによるなど、近くにある1つまたは複数の応答するデバイスを識別することができる。いくつかの実施形態において、デバイスプロセッサは、共通の通信アプリケーションを介して近くの応答するデバイスから送られたワイヤレス送信を監視することができる。
【００７３】
ブロック408において、デバイスプロセッサは、ブロック404において決定された距離しきい値以内のコンピューティングデバイスのグループ化情報に関する要求を、ブロック406において識別された応答するデバイスに送ることができる。いくつかの実施形態において、デバイスプロセッサは、グループ化情報に関する要求内に距離しきい値を含めることができ、またはその代わりに、識別された応答するデバイスに距離しきい値を別々のメッセージ内で送ることができる。
【００７４】
ブロック410において、デバイスプロセッサは、ブロック406において識別された応答するデバイスからグループ化情報を受信することができる。説明されたように(たとえば、図3A〜図3Cを参照して)、グループ化情報は、要求するデバイス上のデバイスプロセッサが、コンピューティングデバイスの1つまたは複数のクラスタが各応答するデバイスの付近以内にあるかどうかを判定することを可能にすることができる、様々なタイプの情報およびデータを含むことができる。いくつかの実施形態において、グループ化情報は、各応答するデバイスの距離しきい値以内にあるコンピューティングデバイスの個数を示すことができる。いくつかの実施形態において(たとえば、図5を参照する)、1つまたは複数の応答するデバイスから受信されるグループ化情報は、さらに、デバイスプロセッサがコンピューティングデバイスのクラスタのメンバの特性、方位、および/または位置を判定するのに使用できるデータおよび/または情報などの記述情報を含むことができる。
【００７５】
ブロック410において受信されたグループ化情報に基づいて、デバイスプロセッサは、ブロック412において、コンピューティングデバイスの1つまたは複数のクラスタを識別することができる。いくつかの実施形態において、デバイスプロセッサは、各応答するデバイスから受信されたグループ化情報に基づいて、コンピューティングデバイスのクラスタを識別することができる。言い換えると、デバイスプロセッサは、特定の応答するデバイスによって送られた特定のグループ化情報に対応する、コンピューティングデバイスのクラスタを生成することができる。たとえば、デバイスプロセッサは、3つの応答するデバイスからのグループ化情報の受信に応答して、コンピューティングデバイスの3つのクラスタがあることを判定することができる。いくつかの実施形態において、デバイスプロセッサは、冗長なグループ化情報を除去することによって、コンピューティングデバイスの一意のクラスタのみを識別することができる。たとえば、デバイスプロセッサは、2つの応答するデバイスが、同一のコンピューティングデバイスに関する情報を報告している可能性が非常に高いことを判定することができ、その結果、デバイスプロセッサは、2つの異なる応答するデバイスから報告を受信するにもかかわらず、1つのクラスタだけがあることを判定することができる。
【００７６】
ブロック414において、デバイスプロセッサは、ブロック412において判定されたコンピューティングデバイスの1つまたは複数のクラスタを表示することができる。いくつかの実施形態において、表示されるクラスタは、そのクラスタの各メンバ、および、表示されたクラスタをユーザが実際に付近で見ることのできるコンピューティングデバイスと照合する際にユーザを支援することのできる任意の識別する情報を、個別に描写することができる。
【００７７】
オプションの判定ブロック416において、デバイスプロセッサは、コンピューティングデバイスの選択されたクラスタと通信するためのユーザ入力を受け取ったかどうかを判定することができる。いくつかの実施形態において、要求するデバイスは、ブロック414において表示されたコンピューティングデバイスのクラスタのうちの1つ(または複数)を選択するユーザ入力を受け取る(たとえば、タッチスクリーンディスプレイ226および/または別のユーザインターフェース機構を介して)ことができる。コンピューティングデバイスの選択されたクラスタと通信するためのユーザ入力が、要求するデバイス上で受け取られたことの判定に応答して(すなわち、オプションの判定ブロック416=「Yes」)、デバイスプロセッサは、オプションのブロック418において、オプションで、選択されたクラスタの各メンバに通信を送ることができる。いくつかの実施形態において、デバイスプロセッサは、共通の通信アプリケーション(たとえば、AllJoyn(登録商標))を介してコンピューティングデバイスの選択されたクラスタの各メンバに1つまたは複数のメッセージ、信号、コマンドなどを送ることができ、これによって、各メンバが、要求するデバイスのタイプ、ブランド、モデル、その他にかかわりなく、要求するデバイスから送られたメッセージを受信でき、処理できることを保証する。
【００７８】
コンピューティングデバイスの選択されたクラスタと通信するためのユーザ入力が、要求するデバイス上で受け取られていないことの判定に応答して(すなわち、オプションの判定ブロック416=「No」)、または、オプションのブロック418においてコンピューティングデバイスの選択されたクラスタに通信を送ることに応答して、デバイスプロセッサは、判定ブロック420において、距離しきい値を変更すべきかどうかを判定することができる。いくつかの実施形態において、デバイスプロセッサは、異なる距離しきい値を指定する新しいユーザ入力が受け取られたかどうかを判定することができる。たとえば、デバイスプロセッサは、より小さい距離しきい値がユーザ入力を介して受け取られたことを判定することができ、これは、コンピューティングデバイスのより小さいクラスタと通信することをユーザが望むことを反映する可能性がある。
【００７９】
距離しきい値を変更すべきではないとの判定に応答して(すなわち、判定ブロック420=「No」)、デバイスプロセッサは、ユーザ入力を待つループ内でオプションの判定ブロック416の動作を繰り返すことができる。距離しきい値を変更すべきであるとの判定に応答して(すなわち、判定ブロック420=「Yes」)、デバイスプロセッサは、ブロック404において新しい距離しきい値を決定することができ、上で説明された方法400の動作を実行し続けることができる。
【００８０】
図5に、1つまたは複数の応答するデバイスから受信された記述情報(たとえば、位置情報、センサ情報、および/または状況情報)に基づいてコンピューティングデバイスの1つまたは複数のクラスタを判定するための、要求するデバイスのデバイスプロセッサによって実施され得る実施方法500を示す。方法500は、コンピューティングデバイス(図1〜図3を参照して説明されたコンピューティングデバイス110、200、および301など)のプロセッサ(たとえば、図2の汎用プロセッサ206、ベースバンドモデムプロセッサ216、別々のコントローラ、および/または類似物)を用いて実施され得る。方法500の動作は、図4を参照して上で説明された方法400のブロック410〜414において実行される動作の実施形態を実施することができる。したがって、デバイスプロセッサは、方法400のブロック410において1つまたは複数の応答するデバイスにグループ化情報を要求した後に、方法500の動作の実行を開始することができる。
【００８１】
上で説明されたように、要求するデバイス上のデバイスプロセッサは、コンピューティングデバイスのクラスタを判定/識別する時に、コンピューティングデバイスに関する様々なタイプの情報を利用することができる。たとえば、デバイスプロセッサは、コンピューティングデバイスの位置、特性、方位、動作などに関するそのような記述情報を利用して、コンピューティングデバイスのクラスタをより正確に識別することができる。デバイスプロセッサは、識別されたクラスタのメンバの位置、方位、および/または現在のアクティビティの表示を表示するのに記述情報を利用することもでき、これによって、要求するデバイスのユーザが、表示されたクラスタ内のコンピューティングデバイスを付近で動作しているデバイスと視覚的に照合できる可能性を高める。
【００８２】
ブロック502において、デバイスプロセッサは、1つまたは複数の識別された応答するデバイスの距離しきい値以内にあるコンピューティングデバイスに関する、方法400のブロック406において識別された1つまたは複数の応答するデバイスからの記述情報を受信することができる。いくつかの実施形態において、記述情報は、位置情報、センサ情報、および状況情報のうちの少なくとも1つを含むことができる。説明されたように(たとえば、図3Cを参照して)、記述情報は、コンピューティングデバイスの相対位置もしくは絶対位置および/またはそのコンピューティングデバイスの移動特性を示すことができる様々なタイプのデータまたは情報を含むことができる。たとえば、位置情報は、コンピューティングデバイスが特定のGPS座標に配置されていることと、そのコンピューティングデバイスの加速度計が、順方向の移動を報告しており、この移動が、そのコンピューティングデバイス上で得られるコンパス測定値によって確証されることとを示すことができる。記述情報は、またもしくはその代わりに、現在の動作状況(たとえば、データ呼/インターネットセッションを行っている)など、1つ(または複数)の識別された応答するデバイスの距離しきい値以内にある各コンピューティングデバイスに固有の様々な他のタイプの情報を含むことができる。
【００８３】
ブロック504において、デバイスプロセッサは、方法400のブロック410において受信されたグループ化情報に基づいて、かつブロック504において受信された受信された記述情報に基づいて、コンピューティングデバイスの1つまたは複数のクラスタを識別することができる。上で説明されたように、デバイスプロセッサは、コンピューティングデバイスの1つまたは複数の一意の(すなわち、冗長ではなく、または重複していない)クラスタを識別するのにグループ化情報を利用することができる。いくつかの実施形態において、デバイスプロセッサは、受信された記述情報に少なくとも部分的に基づいて1つまたは複数の一意のクラスタを判定/識別するために、各応答するデバイスから受信された情報のすべてをコンパイルすることができる。そのような実施形態において、デバイスプロセッサは、報告するまたは報告されたコンピューティングデバイスごとに特定の識別する情報を比較することによって、2つ以上の応答するデバイスがコンピューティングデバイスの同一のクラスタ(すなわち、同一のメンバを有するクラスタ)を効果的に報告しているかどうかを判定することができる。たとえば、2つの応答するデバイスの距離しきい値以内にあると報告されたコンピューティングデバイスのコンパス読みおよびGPS座標に基づいて、デバイスプロセッサは、2つの応答するデバイスが同一のコンピューティングデバイスを報告していることを、したがって、コンピューティングデバイスの1つのクラスタのみが、それらのコンピューティングデバイスを表すのに必要であることを、判定することができる。言い換えると、デバイスプロセッサは、複数のクラスタが同一のメンバを含むことを情報の複数のセットが示す状況において、コンピューティングデバイスの1つのクラスタのみがあることを判定することができる。
【００８４】
ブロック506において、デバイスプロセッサは、受信されたグループ化情報に基づいて、かつ受信された記述情報に基づいて、コンピューティングデバイスの1つまたは複数のクラスタを表示することができる。いくつかの実施形態において、デバイスプロセッサは、ブロック502において受信されたコンピューティングデバイスの記述情報に基づいて判定されるそれらの相対位置または絶対位置を正確に反映するために、コンピューティングデバイスのクラスタ内の各コンピューティングデバイスを表示することができる。たとえば、クラスタ内のコンピューティングデバイスは、要求するデバイスのディスプレイ上で、そのコンピューティングデバイスに関連するコンパス測定値と一貫する方向で方位を与えられ得る。
【００８５】
いくつかの実施形態において、デバイスプロセッサは、コンピューティングデバイスのクラスタ内の各コンピューティングデバイスに関連する記述情報(たとえば、位置情報、センサ情報、および/または状況情報)に注釈を付け、または他の形でこれを提示することもできる。たとえば、デバイスプロセッサは、デバイスの現在の状況または動作の状態を表す特定のアイコン(たとえば、図3Cを参照して説明されたように、コンピューティングデバイスが現在アクティブな音声呼にかかわっていることを示す電話機アイコン)を使用して、クラスタ内のコンピューティングデバイスを描写することができる。クラスタ内の各コンピューティングデバイスの様々な特性を記述するこの追加情報をユーザに提示することによって、デバイスプロセッサは、ユーザが、コンピューティングデバイスの表示されたクラスタを付近で可視のコンピューティングデバイスと照合できるようになる可能性を高めることができる。
【００８６】
デバイスプロセッサは、方法400のオプションの判定ブロック416において、コンピューティングデバイスの選択されたクラスタと通信するためのユーザ入力が要求するデバイス上で受け取られたかどうかを判定することによって、継続することができる。他の実施形態において、デバイスプロセッサは、図6を参照して下で説明される方法600を実行することによって継続することができる。
【００８７】
図6に、コンピューティングデバイスの1つまたは複数のフィルタリングされたクラスタを表示するための、要求するデバイスのデバイスプロセッサによって実施され得る実施方法600を示す。方法600は、コンピューティングデバイス(図1〜図3を参照して説明されたコンピューティングデバイス110、200、および301など)のプロセッサ(たとえば、図2の汎用プロセッサ206、ベースバンドモデムプロセッサ216、別々のコントローラ、および/または類似物)を用いて実施され得る。方法600の動作は、図5を参照して上で説明された方法500のブロック506において実行される動作の実施形態を実施することができる。したがって、デバイスプロセッサは、方法500のブロック504においてグループ化情報および記述情報(たとえば、位置情報、センサ情報、および/または状況情報)に基づいてコンピューティングデバイスの1つまたは複数のクラスタを識別することに応答して、方法600の動作を実行し始めることができる。
【００８８】
判定ブロック602において、デバイスプロセッサは、あるタイプのコンピューティングデバイスのみが表示され得ることを指定するユーザ入力が受け取られたかどうかを判定することによるなど、方法500のブロック504において識別されたコンピューティングデバイスの1つまたは複数のクラスタ内のコンピューティングデバイスをフィルタリングすべきかどうかを判定することができる。言い換えると、デバイスプロセッサは、ユーザに表示されることになるコンピューティングデバイスのクラスタ内のコンピューティングデバイスを選択する時に、ユーザのプリファレンスを予想しまたはこれに応答することができる。コンピューティングデバイスの1つまたは複数の識別されたクラスタ内に含まれるコンピューティングデバイスをフィルタリングすべきではないとの判定に応答して(すなわち、判定ブロック602=「No」)、デバイスプロセッサは、グループ化情報に基づいて、かつ図5を参照して上で説明されたように方法500のブロック502において受信された記述情報(たとえば、位置情報、センサ情報、および/または状況情報)に基づいて、コンピューティングデバイスの1つまたは複数のクラスタを表示することができる。
【００８９】
プロセッサが、コンピューティングデバイスの1つまたは複数のクラスタ内に含まれるデバイスをフィルタリングすべきであることの判定に応答して(すなわち、判定ブロック602=「Yes」)、デバイスプロセッサは、ブロック604において、1つまたは複数のフィルタリング判断基準を判定することができる。これらのフィルタリング判断基準は、ユーザ入力として受け取られたユーザプリファレンスを含むことができる。たとえば、ユーザ入力は、スマートフォンだけ(たとえば、ホームアプライアンスではなく)にメッセージングする/これを見ることのユーザの望みを示すことができ、デバイスプロセッサは、「デバイスタイプ」が、コンピューティングデバイスのクラスタを表示する時に適用されるフィルタリング判断基準であることを判定/識別することができる。別の例において、デバイスプロセッサは、ある方向に面するコンピューティングデバイスだけが表示され得ることを判定することができ(たとえば、ユーザ入力に基づいて)、これは、クラスタの各メンバに関連するコンパス測定値に基づいて判定され得る。
【００９０】
ブロック606において、デバイスプロセッサは、ブロック604において判定されたフィルタリング判断基準に基づいて、コンピューティングデバイスの1つまたは複数の識別されたクラスタをフィルタリングすることができる。いくつかの実施形態において、コンピューティングデバイスのクラスタをフィルタリングすることによって、デバイスプロセッサは、表示され得るクラスタ内のコンピューティングデバイスのみを識別することができる。デバイスプロセッサは、ブロック610において、コンピューティングデバイスの1つまたは複数のフィルタリングされたクラスタを表示し、有用なまたは関連するコンピューティングデバイスだけがユーザに表示されることを保証することもできる。上の例において、デバイスプロセッサは、スマートフォンのみまたはある方向に面するコンピューティングデバイスのみを表示することができる。
【００９１】
デバイスプロセッサが、ブロック610においてコンピューティングデバイスのフィルタリングされたクラスタを表示するのか、またはブロック506においてフィルタリングされないクラスタを表示するのかにかかわりなく、デバイスプロセッサは、方法400のオプションの判定ブロック416において、コンピューティングデバイスの選択されたクラスタと通信するためのユーザ入力が要求するデバイス上で受け取られたかどうかを判定することによって、継続することができる。
【００９２】
図7に、コンピューティングデバイスの選択されたクラスタのメンバに調整されたアクションを送るための、要求するデバイスのデバイスプロセッサによって実施され得る実施方法418aを示す。方法418aは、コンピューティングデバイス(図1〜図3を参照して説明されたコンピューティングデバイス110、200、および301など)のプロセッサ(たとえば、図2の汎用プロセッサ206、ベースバンドモデムプロセッサ216、別々のコントローラ、および/または類似物)を用いて実施され得る。方法418aの動作は、図4を参照して上で説明された方法400の動作ブロック418において実行される動作の実施形態を実施することができる。したがって、デバイスプロセッサは、コンピューティングデバイスの選択されたクラスタと通信するためのユーザ入力が要求するデバイス上で受け取られたことの判定に応答して(すなわち、オプションの判定ブロック416=「Yes」)、方法418aの動作の実行を開始することができる。
【００９３】
ブロック702において、デバイスプロセッサは、調整されたアクションを決定することができ、この調整されたアクションは、アクションを同時に実行するようにコンピューティングデバイスの選択されたクラスタの各メンバを構成するのに使用され得るコマンドまたは他のシグナリングとされ得る。いくつかの実施形態において、デバイスプロセッサは、要求するデバイス上で受け取られたユーザ入力に基づいて、調整されたアクションを決定することができる。たとえば、調整されたアクションは、同時にサウンドを再生するように、コンピューティングデバイスの選択されたクラスタの各メンバを構成するためのコマンドを含むことができる。クラスタ内のすべてのコンピューティングデバイスに指示することは、各デバイスがサウンドを再生する時に、1つのコンピューティングデバイスだけがサウンドを再生する場合より、これが見逃される(または無視される)ことがより難しくなるので、選択されたクラスタ内のコンピューティングデバイスのユーザの注意を得るのに有用である可能性がある。別の例において、調整されたアクションは、選択されたクラスタの各メンバ上での、メッセージの表示、ある機能の開始、バイブレータのアクティブ化などに関するものとされ得る。
【００９４】
ブロック704において、デバイスプロセッサは、共通の通信アプリケーションを介するなど、コンピューティングデバイスの選択されたクラスタの各メンバに、調整されたアクション要求を送ることができる。いくつかの実施形態(図示せず)において、調整されたアクションの受信に応答して、各メンバは、調整されたアクションを同時に実行することができる。デバイスプロセッサは、図4を参照して上で説明された方法400の判定ブロック420において、距離しきい値を変更すべきかどうかを判定することができる。
【００９５】
図8に、応答するデバイスのある距離しきい値以内にあるコンピューティングデバイスを記述するグループ情報を生成するための、応答するデバイスのデバイスプロセッサによって実施され得る実施方法800を示す。方法800は、コンピューティングデバイス(図1〜図3を参照して説明されたコンピューティングデバイス110、200、301、302a〜302c、および342a〜342cなど)のプロセッサ(たとえば、図2の汎用プロセッサ206、ベースバンドモデムプロセッサ216、別々のコントローラ、および/または類似物)を用いて実施され得る。デバイスプロセッサは、この方法を実施するアプリケーションがブロック402においてアクティブ化されることに応答して、方法800の動作の実行を開始することができる。そのようなアプリケーションは、共通の通信アプリケーション(たとえば、AllJoyn(登録商標))をアクティブ化することまたはこれにログオンすることを含むことができる。
【００９６】
ブロック804において、応答するデバイス上のデバイスプロセッサは、応答するデバイスの距離しきい値以内のコンピューティングデバイスに関するグループ化情報に関する要求するデバイスからの要求に関して通信チャネルを監視することができる。いくつかの実施形態において、応答するデバイスは、グループ化情報に関する要求に関して共通の通信アプリケーションに関連するパブリックポートを監視することができる。上で説明されたように、応答するデバイスは、要求するデバイスから受信された距離しきい値によって定義される応答するデバイスの周囲のある区域内のコンピューティングデバイスに関するグループ化情報を収集することができる。言い換えると、要求するデバイスは、コンピューティングデバイスのクラスタとして要求するデバイス上で表示され得る区域内のコンピューティングデバイスを識別し、これに関する情報を報告するために、応答するデバイスに頼ることができる。
【００９７】
判定ブロック806において、デバイスプロセッサは、応答するデバイスの距離しきい値以内のコンピューティングデバイスに関するグループ化情報に関する要求するデバイスからの要求が受信されたかどうかを判定することができる。グループ化情報に関する要求が受信されていないことの判定に応答して(すなわち、判定ブロック806=「No」)、デバイスプロセッサは、ブロック804において要求するデバイスからの要求に関して通信チャネルを監視し続けることができる。
【００９８】
距離しきい値以内のコンピューティングデバイスに関するグループ化情報に関する要求が要求するデバイスから受信されたことの判定に応答して(すなわち、判定ブロック806=「Yes」)、デバイスプロセッサは、ブロック808において、応答するデバイスの受信された距離しきい値以内の1つまたは複数のコンピューティングデバイスを識別することができる。いくつかの実施形態において、受信された距離しきい値は、最小RSSI値として表され得る。そのような実施形態において、デバイスプロセッサは、その信号が受信された距離しきい値に関連するRSSI値以上のRSSI値を有する応答するデバイスの周囲のコンピューティングデバイスだけを識別することができる。別の例において、デバイスプロセッサは、Bluetooth(登録商標)アンテナ利得を調整するのに距離しきい値を使用し、応答するデバイスが、受信された距離しきい値以内にあるデバイスのみと通信(またはこれを検出)できることを保証することができる。
【００９９】
オプションのブロック810において、デバイスプロセッサは、ブロック808において識別されたコンピューティングデバイスに(すなわち、応答するデバイスの受信された距離しきい値以内にあるコンピューティングデバイスに)記述情報(たとえば、位置情報、センサ情報、および/または状況情報)を要求することができる。説明されたように、そのようなタイプの情報は、それらそれぞれの位置、方位、現在の動作状況、その他など、識別されたコンピューティングデバイスの様々な特性に関するものとされ得る。デバイスプロセッサは、オプションで、オプションのブロック812において、応答するコンピューティングデバイスからそのような記述情報を受信することができる。いくつかの実施形態において、そのような情報の要求および受信は、デバイスプロセッサと識別されたコンピューティングデバイスとの間で共通の通信アプリケーションを介して交換されるメッセージング/シグナリングを介して行われ得る。
【０１００】
ブロック814において、デバイスプロセッサは、距離しきい値以内の識別されたコンピューティングデバイスの個数を判定することによるなど、ブロック806において識別された応答するデバイスの受信された距離しきい値以内のコンピューティングデバイスについて説明するグループ化情報を生成することができる。いくつかの実施形態において、グループ化情報は、応答するデバイスに関する詳細を含むことができる。たとえば、しきい値以内のデバイスの個数は、応答するデバイスを含むことができる。
【０１０１】
デバイスプロセッサは、ブロック816において、共通の通信アプリケーションを介して送られるメッセージングを介するなど、要求するデバイスにグループ化情報を送ることができ、要求するデバイスは、グループ化情報を使用して、コンピューティングデバイスのクラスタを判定することができる。オプションの実施形態において、デバイスプロセッサは、オプションのブロック818において、要求するコンピューティングデバイスに記述情報(たとえば、位置情報、センサ情報、および/または状況情報)を送り、これによって、要求するデバイスが、グループ化情報内で表される識別されたコンピューティングデバイスの間で区別することおよび/または記述情報に基づいて識別されたコンピューティングデバイスを表示すること(たとえば、図5〜図6を参照して上で説明されたように)を可能にすることもできる。
【０１０２】
デバイスプロセッサは、ブロック804において、応答するデバイスのある距離しきい値以内のコンピューティングデバイスに関するグループ化情報に関する要求するデバイスからの次の要求についてもう一度監視することによって、ループ内で上の動作を繰り返すことができる。
【０１０３】
様々な実施形態は、それぞれのユーザのアドレッシングまたは個人情報を明らかにすることなく、コンピューティングデバイスの間でのメッセージ交換を可能にする共通の通信アプリケーションを使用して実施され得る。コンピューティングデバイスのクラスタ化が、分離距離に基づくので、デバイスアドレスは、共通の通信プロトコルによって要求される範囲を超えて交換される必要がなく、匿名とされ得る(たとえば、ランダム識別子またはアドホック識別子に基づく)。また、コンパス方位、加速度、呼状態などに関する追加の情報要求は、そのような情報が、そのような情報(たとえば、コンピューティングデバイスがどこを指しているのか、またはユーザが彼らのスマートフォン上で会話しているのかどうか)の物理的表明を見るために存在する人にとってのみ役に立つので、匿名とされ得、それぞれのユーザの個人情報を明かさないものとされ得る。
【０１０４】
様々な実施方法は、様々なコンピューティングデバイスのいずれにおいても実施され得、そのようなコンピューティングデバイスの一例(たとえば、コンピューティングデバイス900)が、図9に示されている。様々な実施形態によれば、コンピューティングデバイス900は、図1〜図2を参照して上で説明されたコンピューティングデバイス110、120、200に類似するものとされ得る。
【０１０５】
コンピューティングデバイス900は、タッチスクリーンコントローラ904と内部メモリ906とに結合されたプロセッサ902を含むことができる。プロセッサ902は、全般的な処理タスクまたは特定の処理タスクのために指定された1つまたは複数のマルチコア集積回路とされ得る。内部メモリ906は、揮発性メモリまたは不揮発性メモリとされ得、セキュアメモリおよび/もしくは暗号化されたメモリ、またはアンセキュアメモリおよび/もしくは暗号化されないメモリ、あるいはその任意の組合せともされ得る。タッチスクリーンコントローラ904およびプロセッサ902は、抵抗感知タッチスクリーン、静電容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのタッチスクリーンパネル912にも結合され得る。加えて、コンピューティングデバイス900のディスプレイは、タッチスクリーン能力を有する必要がない。
【０１０６】
コンピューティングデバイス900は、プロセッサ902とアンテナ910とに結合され、セルラー通信を送り、受信するように構成されたセルラーネットワークトランシーバ908を有することができる。トランシーバ908およびアンテナ910は、様々な実施方法を実施するために、上で述べた回路網と共に使用され得る。コンピューティングデバイス900は、トランシーバ908および/またはプロセッサ902に結合され、上で説明されたように構成されたSIMカード913を含むことができる。コンピューティングデバイス900は、セルラーネットワークを介する通信を可能にし、プロセッサ902に結合される、セルラーネットワークワイヤレスモデムチップ917を含むことができる。
【０１０７】
コンピューティングデバイス900は、オーディオ出力を提供するためのスピーカ914をも含むことができる。コンピューティングデバイス900は、本明細書において説明されるコンポーネントのすべてまたは一部を含むための、プラスチック、金属、または材料の組合せから構成されたハウジング920をも含むことができる。コンピューティングデバイス900は、使い捨てバッテリまたは充電可能バッテリなど、プロセッサ902に結合された電源922を含むことができる。充電可能バッテリは、コンピューティングデバイス900の外部の源から充電電流を受け取るために、周辺デバイス接続ポートにも結合され得る。コンピューティングデバイス900は、ユーザ入力を受け取るための物理ボタン924をも含むことができる。コンピューティングデバイス900は、コンピューティングデバイス900をオンおよびオフに切り替えるための電源ボタン926をも含むことができる。
【０１０８】
前述の方法の説明およびプロセス流れ図は、単に例示的な例として提供され、様々な実施形態のステップが提示された順序で実行されなければならないことを要求しまたは暗示することは意図されていない。当業者によって了解されるように、前述の実施形態におけるステップの順序は、任意の順序で実行され得る。「thereafter(したがって)」、「then(次いで)」、「next(次に)」などの単語は、ステップの順序を限定することを意図されたものではなく、これらの単語は、単に、方法の説明を通って読者を案内するのに使用される。さらに、たとえば、冠詞「a」、「an」、または「the」を使用する、単数形での請求項要素へのいかなる言及も、要素を単数形に限定するものとして解釈されるべきではない。
【０１０９】
本明細書において開示される実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはこの両方の組合せとして実施され得る。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップは、一般にそれらの機能性に関して上で説明された。そのような機能性がハードウェアまたはソフトウェアのいずれとして実装されるのであるかは、特定の応用例および全体的なシステムに課された設計制約に依存する。当業者は、説明された機能性を、特定の応用例ごとに変化する形で実施することができるが、そのような実施判断が、本発明の範囲からの逸脱を引き起こすと解釈してはならない。
【０１１０】
本明細書において開示される諸態様に関連して説明された様々な例示的な論理、論理ブロック、モジュール、および回路を実施するのに使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェアコンポーネント、または本明細書において説明される機能を実行するように設計されたその任意の組合せを用いて実施されまたは実行され得る。汎用プロセッサは、マイクロプロセッサとされ得るが、代替案においては、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とされ得る。プロセッサは、コンピューティングデバイスの組合せ、たとえばDSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアに関連する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成としても実施され得る。代替案では、一部のステップまたは方法が、所与の機能に固有の回路網によって実行され得る。
【０１１１】
1つまたは複数の例示的な態様において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せにおいて実施され得る。ソフトウェアにおいて実施される場合に、機能は、非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体上の1つまたは複数の命令またはコードとして記憶され得る。本明細書において開示される方法またはアルゴリズムのステップは、非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュール内で実施され得る。非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の記憶媒体とされ得る。限定ではなく例として、そのような非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD-ROMもしくは他の光ディスク(disc)ストレージ、磁気ディスク(disk)ストレージまたは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形で所望のプログラムコードを記憶するのに使用され得、コンピュータによってアクセスされ得る任意の他の媒体を含むことができる。ディスク(diskおよびdisc)は、本明細書において使用されるときに、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザを用いてデータを光学的に再生する。上記の組合せも、非一時的コンピュータ可読媒体および非一時的プロセッサ可読媒体の範囲内に含まれる。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品内に組み込まれ得る非一時的プロセッサ可読記憶媒体および/または非一時的コンピュータ可読記憶媒体上のコードおよび/または命令の1つ、任意の組合せ、またはセットとして存在することができる。
【０１１２】
開示される実施形態の先行する説明は、任意の当業者が本発明を作成しまたは使用することを可能にするために提供されるものである。これらの実施形態に対する様々な変更は、当業者にたやすく明白になり、本明細書において定義される包括的な原理は、本発明の趣旨または範囲から逸脱することなく、いくつかの実施形態に適用され得る。したがって、本発明は、本明細書において示される実施形態に限定されることを意図されているのではなく、以下の特許請求の範囲ならびに本明細書において開示される原理および新規の特徴と一貫するもっとも広い範囲を与えられなければならない。
【符号の説明】
【０１１３】
100  通信システム
102  モバイルネットワーク
110  コンピューティングデバイス
120  ラップトップデバイス
122  パーソナルコンピュータデバイス
124  タブレットコンピューティングデバイス
126  モバイルコンピューティングデバイス
128  アプライアンスデバイス
130  基地局
132  セルラー接続
134  有線接続
152  ワイヤレス接続
160  ワイヤレスアクセスポイント
162  ワイヤレス接続
164  インターネット
166  有線接続
200  コンピューティングデバイス
202  SIMインターフェース
204  第1のアイデンティティモジュールSIM
206  汎用プロセッサ
208  コーダ/デコーダ(コーデック)
210  スピーカ
212  マイクロホン
214  メモリ
216  ベースバンドモデムプロセッサ
218a  RFリソース
218b  RFリソース
220a  第1のワイヤレスアンテナ
220b  第2のワイヤレスアンテナ
224  キーパッド
226  タッチスクリーンディスプレイ
230  センサ
232  GPS受信器ユニット
234  共通の通信アプリケーション
300  システム
301  要求するデバイス
302a  第1の応答するデバイス
302b  第2の応答するデバイス
302c  第3の応答するデバイス
304  他のコンピューティングデバイス
306a  周囲
306b  周囲
306c  周囲
308a  ワイヤレス接続
308b  ワイヤレス接続
308c  ワイヤレス接続
308d  ワイヤレス接続
312a  第1のクラスタ
312b  第2のクラスタ
312c  第3のクラスタ
314  スライダ入力インターフェース
318  表
320  システム
322a  周囲
322b  周囲
322c  周囲
304a  第1のクラスタ
324b  第2のクラスタ
324c  第3のクラスタ
326  表
340  システム
342a  第1の応答するデバイス
342b  第2の応答するデバイス
342c  第3の応答するデバイス
346a  周囲
346b  周囲
346c  周囲
352a  クラスタ
352b  クラスタ
352c  クラスタ
360a  ワイヤレス接続
360b  ワイヤレス接続
362  現在のコンパス読み
364  状況情報
400  実施方法
418a  実施方法
500  実施方法
600  実施方法
800  実施方法
900  コンピューティングデバイス
902  プロセッサ
904  タッチスクリーンコントローラ
906  内部メモリ
908  セルラーネットワークトランシーバ
910  アンテナ
912  タッチスクリーンパネル
913  SIMカード
914  スピーカ
917  セルラーネットワークワイヤレスモデムチップ
920  ハウジング
922  電源
924  物理ボタン
926  電源ボタン
【図１】
2017522748.tif 000003
【図２】
2017522748.tif 000004
【図３Ａ】
2017522748.tif 000005
【図３Ｂ】
2017522748.tif 000006
【図３Ｃ】
2017522748.tif 000007
【図４】
2017522748.tif 000008
【図５】
2017522748.tif 000009
【図６】
2017522748.tif 000010
【図７】
2017522748.tif 000011
【図８】
2017522748.tif 000012
【図９】
2017522748.tif 000013
【国際調査報告】
2017522748.tif 000014
2017522748.tif 000015