(57)【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサに、
ローカルネットワークデバイスからの登録データを受信することであって、前記ローカルネットワークデバイスの前記登録データは、前記ローカルネットワークデバイスのローカルネットワークのＳＳＩＤまたはＢＳＳＩＤを含む、受信することと、
前記ローカルネットワークデバイスからの前記登録データを格納することと、
電子デバイスからの登録データを受信することであって、前記電子デバイスの前記登録データは、前記電子デバイスのローカルネットワークのＳＳＩＤまたはＢＳＳＩＤを含む、受信することと、
一時的ペアリングコード（ＴＰＣ）を前記ローカルネットワークデバイスへ送信することと、
前記ローカルネットワークデバイスと前記電子デバイスとをペアリングするための要求を前記電子デバイスから受信することであって、前記要求は、前記ＴＰＣを含み、前記ローカルネットワークデバイスは、ネットワークに対して自体を露出する、受信することと、
（ａ）前記電子デバイスの前記ＳＳＩＤまたはＢＳＳＩＤが、前記ローカルネットワークデバイスの前記ＳＳＩＤまたはＢＳＳＩＤとそれぞれ一致するかどうかおよび（ｂ）前記ＴＰＣが無効でないかどうかを決定することによって、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するかどうかを決定することと、
前記ＳＳＩＤまたはＢＳＳＩＤが一致し、かつ、前記ＴＰＣが無効でないので、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するという決定に基づいて、前記ペアリングを許可することと
を実行させるプログラム。
【請求項２】
前記電子デバイスは、前記ローカルネットワークデバイスから前記ＴＰＣを要求して受信した、請求項１に記載のプログラム。
【請求項３】
前記ＴＰＣは、前記ローカルネットワークデバイスから送信される前に暗号化されている、請求項２に記載のプログラム。
【請求項４】
前記ＴＰＣは、前記ローカルネットワークデバイスに、または前記電子デバイスに永続的には格納されない、請求項１から３の何れか一項に記載のプログラム。
【請求項５】
前記ＳＳＩＤまたはＢＳＳＩＤが一致しないという決定に基づいて、または、前記ＴＰＣが無効であるという決定に基づいて、前記ペアリングは、許可されない、請求項１から４の何れか一項に記載のプログラム。
【請求項６】
メモリと、
ハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
ローカルネットワークデバイスからの登録データを受信し、前記ローカルネットワークデバイスの前記登録データは、前記ローカルネットワークデバイスのローカルネットワークのＳＳＩＤまたはＢＳＳＩＤを含み、
前記ローカルネットワークデバイスからの前記登録データを格納し、
電子デバイスからの登録データを受信し、前記電子デバイスの前記登録データは、前記電子デバイスのローカルネットワークのＳＳＩＤまたはＢＳＳＩＤを含み、
一時的ペアリングコード（ＴＰＣ）を前記ローカルネットワークデバイスへ送信し、
前記ローカルネットワークデバイスと前記電子デバイスとをペアリングするための要求を前記電子デバイスから受信し、前記要求は、前記ＴＰＣを含み、前記ローカルネットワークデバイスは、ネットワークに対して自体を露出し、
（ａ）前記電子デバイスの前記ＳＳＩＤまたはＢＳＳＩＤが、前記ローカルネットワークデバイスの前記ＳＳＩＤまたはＢＳＳＩＤとそれぞれ一致するかどうかおよび（ｂ）前記ＴＰＣが無効でないかどうかを決定することによって、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するかどうかを決定し、
前記ＳＳＩＤまたはＢＳＳＩＤが一致し、かつ、前記ＴＰＣが無効でないので、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するという決定に基づいて、前記ペアリングを許可するよう構成される
装置。
【請求項７】
前記電子デバイスは、前記ローカルネットワークデバイスからの前記ＴＰＣを要求して受信した、請求項６に記載の装置。
【請求項８】
前記ＴＰＣは、前記ローカルネットワークデバイスに、または前記電子デバイスに永続的には格納されない、請求項６または７に記載の装置。
【請求項９】
前記ＳＳＩＤまたはＢＳＳＩＤが一致しないという決定に基づいて、または、前記ＴＰＣが無効であるという決定に基づいて、前記ペアリングは許可されない、請求項６から８の何れか一項に記載の装置。
【請求項１０】
ローカルネットワークデバイスからの登録データを受信する段階であって、前記ローカルネットワークデバイスの前記登録データは、前記ローカルネットワークデバイスのローカルネットワークのＳＳＩＤまたはＢＳＳＩＤを含む、受信する段階と、
前記ローカルネットワークデバイスからの前記登録データを格納する段階と、
電子デバイスからの登録データを受信する段階であって、前記電子デバイスの前記登録データは、前記電子デバイスのローカルネットワークのＳＳＩＤまたはＢＳＳＩＤを含む、受信する段階と、
一時的ペアリングコード（ＴＰＣ）を前記ローカルネットワークデバイスへ送信する段階と、
前記ローカルネットワークデバイスと前記電子デバイスとをペアリングするための要求を前記電子デバイスから受信する段階であって、前記要求は、前記ＴＰＣを含み、前記ローカルネットワークデバイスは、ネットワークに対して自体を露出する、受信する段階と、
（ａ）前記電子デバイスの前記ＳＳＩＤまたはＢＳＳＩＤが、前記ローカルネットワークデバイスの前記ＳＳＩＤまたはＢＳＳＩＤとそれぞれ一致するかどうかおよび（ｂ）前記ＴＰＣが無効でないかどうかを決定することによって、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するかどうかを決定する段階と、
前記ＳＳＩＤまたはＢＳＳＩＤが一致し、かつ、前記ＴＰＣが無効でないので、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するという決定に基づいて、前記ペアリングを許可する段階と
を備える方法。
【請求項１１】
前記ＴＰＣは、前記ローカルネットワークデバイスへ送信される前に暗号化されている、請求項１０に記載の方法。
【請求項１２】
前記ＴＰＣは、前記ローカルネットワークデバイスに、または前記電子デバイスに永続的には格納されない、請求項１０または１１に記載の方法。
【請求項１３】
前記ＳＳＩＤまたはＢＳＳＩＤが一致しないという決定に基づいて、または、前記ＴＰＣが無効であるという決定に基づいて、前記ペアリングは許可されない、請求項１０から１２の何れか一項に記載の方法。
【請求項１４】
ローカルネットワークにおいてデバイスをペアリングするためのシステムであって、前記システムは、
メモリと、
ハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
ローカルネットワークデバイスからの登録データを受信し、前記ローカルネットワークデバイスの前記登録データは、前記ローカルネットワークデバイスのローカルネットワークのＳＳＩＤまたはＢＳＳＩＤを含み、
前記ローカルネットワークデバイスからの前記登録データを格納し、
電子デバイスからの登録データを受信し、前記電子デバイスの前記登録データは、前記電子デバイスのローカルネットワークのＳＳＩＤまたはＢＳＳＩＤを含み、
一時的ペアリングコード（ＴＰＣ）を前記ローカルネットワークデバイスへ送信し、
前記ローカルネットワークデバイスと前記電子デバイスとをペアリングするための要求を前記電子デバイスから受信し、前記要求は、前記ＴＰＣを含み、前記ローカルネットワークデバイスは、ネットワークに対して自体を露出し、
（ａ）前記電子デバイスの前記ＳＳＩＤまたはＢＳＳＩＤが、前記ローカルネットワークデバイスの前記ＳＳＩＤまたはＢＳＳＩＤとそれぞれ一致するかどうかおよび（ｂ）前記ＴＰＣが無効でないかどうかを決定することによって、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するかどうかを決定し、
前記ＳＳＩＤまたはＢＳＳＩＤが一致し、かつ、前記ＴＰＣが無効でないので、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するという決定に基づいて、前記ペアリングを許可するよう構成される
システム。
【請求項１５】
前記電子デバイスは、前記ローカルネットワークデバイスからの前記ＴＰＣを要求して受信した、請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］  本願は、２０１５年４月３０日に出願された「ローカルネットワークにおけるデバイスペアリング」と題する米国仮出願第６２／１５４，８７４号、および２０１５年６月２７日に出願された「ローカルネットワークにおけるデバイスペアリング」と題する米国仮出願第１４／７５２，８９８号の利益およびそれらに基づく優先権を主張し、それらの全体が本明細書に参照により組み込まれる。
【０００２】
本開示は、概して、情報セキュリティの分野に関し、より具体的には、ローカルネットワークにおけるデバイスペアリングに関する。
【背景技術】
【０００３】
ネットワークセキュリティの分野は、現代社会において、ますます重要になってきている。インターネットは、世界中の種々のコンピュータネットワークの相互接続を可能にしている。特に、インターネットは、様々な種類のクライアントデバイスを介して、種々のコンピュータネットワークに接続された種々のユーザ間でデータを交換するための媒体を提供する。インターネットの使用が、ビジネスコミュニケーションおよびパーソナルコミュニケーションを変化させてきた一方、それはまた、悪意のあるオペレータが、コンピュータおよびコンピュータネットワークへ不正アクセスを得るための、および機密情報の意図的なまたは不注意な開示のための手段として使われている。
【０００４】
ホストコンピュータを感染させる悪意のあるソフトウェア（「マルウェア」）は、ホストコンピュータと関連付けられた企業または個人からの機密情報の盗取、他のホストコンピュータへの伝播、および／または分散サービス妨害攻撃に対する支援、ホストコンピュータからのスパムまたは悪意のある電子メールの送信などの任意の数の悪意のある動作を実行することが可能であり得る。加えて、システムにアクセスする悪意のあるオペレータは、機密情報を盗取すること、または任意の数の他の悪意のある動作を実行することが可能であり得る。従って、悪意のあるソフトウェアまたは悪意のあるオペレータによる、悪意のあるおよび不注意な不当利用から、コンピュータおよびコンピュータネットワークを保護するために、重要な管理上の課題が残る。
【図面の簡単な説明】
【０００５】
本開示およびその特徴ならびに利益に対するより完全な理解を提供するため、添付の図と併せて以下の説明が参照される。同様の参照番号は、同様の部分を表す。
【０００６】
【図１Ａ】本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システムの簡略ブロック図である。
【０００７】
【図１Ｂ】本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システムの簡略ブロック図である。
【０００８】
【図２】本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システムの簡略ブロック図である。
【０００９】
【図３】本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システムの簡略ブロック図である。
【００１０】
【図４】一実施形態に係る、通信システムと関連付けられ得る潜在的な動作を例示する簡略タイミングフロー図である。
【００１１】
【図５】一実施形態に係る、通信システムと関連付けられ得る潜在的な動作を例示する簡略フローチャートである。
【００１２】
【図６】一実施形態に係る、ポイントツーポイント構成で配置される例示的なコンピューティングシステムを例示するブロック図である。
【００１３】
【図７】本開示の例示的なＡＲＭエコシステムシステムオンチップ（ＳＯＣ）と関連付けられる簡略ブロック図である。
【００１４】
【図８】一実施形態に係る、例示的なプロセッサコアを例示するブロック図である。
【００１５】
図面の図は、それらの寸法が、本開示の範囲から逸脱することなく大幅に変更され得ることから、必ずしも縮尺通りに描かれていない。
【発明を実施するための形態】
【００１６】
［例示的な実施形態］   以下の詳細な説明は、ローカルネットワークにおけるデバイスペアリングのための通信システムに関する装置、方法、およびシステムの例示的な実施形態を記述する。例えば、構造、機能、および／または特性のような特徴は、便宜上、１つの実施形態に関連して説明されている。様々な実施形態が、説明されている特徴のうち、任意の好適な１または複数で実装されてよい。
【００１７】
図１Ａは、本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システム１００ａの簡略ブロック図である。通信システム１００ａは、電子デバイス１０２、１または複数のローカルネットワークデバイス１０４ａおよび１０４ｂ、クラウドサービス１０６、ならびにサーバ１０８を含んでよい。電子デバイス１０２、ならびに１または複数のローカルネットワークデバイス１０４ａおよび１０４ｂは、ローカルネットワーク１１０ａを用いて互いに通信できる。電子デバイス１０２、ローカルネットワークデバイス１０４ａおよび１０４ｂ、クラウドサービス１０６、サーバ１０８、ならびにローカルネットワーク１１０ａは、ネットワーク１１２を用いて互いに通信できる。
【００１８】
電子デバイス１０２は、プロセッサ１１４ａ、メモリ１１６ａ、無線モジュール１１８、およびペアリングモジュール１２０ａを含んでよい。ペアリングモジュール１２０ａは、デバイス識別（ＩＤ）１２２ａ、ローカルネットワークＩＤ１２４、および一時的ペアリングコード１２６ａを含んでよい。ローカルネットワークデバイス１０４ａは、プロセッサ１１４ｂ、メモリ１１６ｂ、無線モジュール１１８、およびペアリングモジュール１２０ｂを含んでよい。ペアリングモジュール１２０ｂは、デバイスＩＤ１２２ｂ、ローカルネットワークＩＤ１２４、および一時的ペアリングコード１２６ｂを含んでよい。ローカルネットワークデバイス１０４ｂは、プロセッサ１１４ｃ、メモリ１１６ｃ、無線モジュール１１８、およびペアリングモジュール１２０ｃを含んでよい。ペアリングモジュール１２０ｃは、デバイスＩＤ１２２ｃ、ローカルネットワークＩＤ１２４、および一時的ペアリングコード１２６ｃを含んでよい。クラウドサービスは、ネットワークペアリングモジュール１４６ａを含んでよい。ネットワークペアリングモジュール１４６ａは、一時的ペアリングコード生成モジュール１２８ａを含んでよい。サーバ１０８は、ネットワークペアリングモジュール１４６ｂを含んでよい。ネットワークペアリングモジュール１４６ｂは、一時的ペアリングコード生成モジュール１２８ｂを含んでよい。
【００１９】
図１Ｂを参照すると、図１Ｂは、本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システム１００ｂの簡略ブロック図である。通信システム１００ｂは、ローカルネットワーク１１０ｂを含んでよい。ローカルネットワーク１１０ｂは、クラウドレット１３０を含んでよい。クラウドレット１３０は、ローカルネットワークペアリングモジュール１３２を含んでよい。ローカルネットワークペアリングモジュール１３２は、ローカル一時的ペアリングコード生成モジュール１３４を含んでよい。
【００２０】
図１Ａおよび１Ｂの要素は、任意の好適な接続（有線または無線）を使用する１または複数のインタフェースを通じて互いに連結されてよく、それにより、ネットワーク（例えば、ローカルネットワーク１１０ａおよび１１０ｂならびにネットワーク１１２）通信のための実行可能な経路を提供する。さらに、図１Ａおよび１Ｂのこれらの要素のうち任意の１または複数のものは、特定の構成の必要性に基づいて組み合わされ、またはアーキテクチャから除去され得る。通信システム１００ａは、ネットワークにおいてパケットを送信するまたは受信するために、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）通信が可能な構成を含み得る。また、通信システム１００ａおよび１００ｂは、適切で、かつ特定の必要性に基づく場合、ユーザデータグラムプロトコル／ＩＰ（ＵＤＰ／ＩＰ）または任意の他の好適なプロトコルと共に動作し得る。
【００２１】
一例において、通信システム１００ａおよび１００ｂは、ローカルネットワークにおけるデバイスペアリングを可能にするシステムを含むよう構成され得る。説明のための一例において、最初に、一時的ペアリングコード１２６ａ−１２６ｃは、電子デバイス１０２もしくはローカルネットワークデバイス１０４ａおよび１０４ｂ上にない、またはそれらに知られていない。また、通信システム１００ａの場合、クラウドサービス１０６またはサーバ１０８から、通信システム１００ｂの場合、ローカル一時的ペアリングコード生成モジュール１３４から一旦得られると、一時的ペアリングコード１２６ａ−１２６ｃは、電子デバイス１０２、またはローカルネットワークデバイス１０４ａおよび１０４ｂに永続的には格納されない。電子デバイス１０２とローカルネットワークデバイス１０４ａまたは１０４ｂとをペアリングすることをユーザが望むとき、通信システム１００ａの場合、一時的ペアリングコード１２６ａ−１２６ｃは、クラウドサービス１０６またはサーバ１０８から取得されてよく、通信システム１００ｂの場合、一時的ペアリングコード１２６ａ−１２６ｃは、ローカル一時的ペアリングコード生成モジュール１３４から取得されてよく、電子デバイス１０２とローカルネットワークデバイス１０４ａまたは１０４ｂとを安全にペアリングするために用いられ得る。一実施形態において、任意の数の二次デバイスが用いられてよく、各二次デバイスに対してそれらの独自の一意的な一時的ペアリングコードを取得する。各一時的ペアリングコード（例えば、一時的ペアリングコード１２６ａ−１２６ｃ）は、電子デバイス１０２またはローカルネットワークデバイス１０４ａもしくは１０４ｂが、異なるネットワークへ移動（例えば、家庭用Ｗｉ−Ｆｉ（登録商標）ネットワークから職場用Ｗｉ−Ｆｉ（登録商標）ネットワークへ移動）するたびに変更可能である。電子デバイス１０２またはローカルネットワークデバイス１０４ａもしくは１０４ｂが異なるネットワークに移動する場合、（例えば、クラウドサービス１０６との）再登録がなされる。クラウドサービス１０６およびサーバ１０８は、ネットワークペアリングモジュール１４６ａまたは１４６ｂを含むだけでなく、登録されたデバイスと、指定された一時的ペアリングコードと、ネットワーク識別との間のマップも含むよう構成され得、その情報およびデータを用いて、デバイスがペアリングされるべき、またはリンクされるべきかを決定する。
【００２２】
通信システム１００ａおよび１００ｂの特定の例示的な技術を例示する目的のためには、ネットワーク環境をトラバースし得る通信を理解することが重要である。以下の基礎的情報は、本開示が適切に説明され得る根拠とみなされてよい。
【００２３】
エンドユーザは、従来よりも多くの通信の選択肢を有している。多数の顕著な技術的傾向が、現在進行中である（例えば、より多くのコンピューティングデバイス、より多くの接続デバイスなど）。現在の１つの傾向は、モノのインターネット（ＩｏＴ）として一般的に知られている。概して、ＩｏＴは、製造者、オペレータおよび／または他の接続デバイスとデータを交換することによって、各デバイスがより大きな価値およびサービスを実現することを可能にするべく、電子機器、ソフトウェア、センサ、および接続機能に組み込まれた物理的な対象物または「モノ」のネットワークである。各ＩｏＴまたは各ネットワークデバイスは、その組み込まれたコンピューティングシステムを通じて一意的に識別可能であるが、既存のインターネットインフラストラクチャ内およびネットワーク内で相互運用可能である。
【００２４】
家庭用および産業用用途のＩｏＴデバイスに対する需要の高まりは、これらを監視および統制するために、（ダッシュボードまたはコントローラアプリケーションを通じて）これらをリモートデバイスと接続する必要性を増加してもいる。例えば、家庭用監視カメラビデオストリームにアクセスするために、所有者のスマートフォンは、家庭用監視カメラに接続される必要がある。現在、ＩｏＴデバイスとスマートフォンとの間の検出および（アクセスを得ることとして理解される）接続は、単純でも安全でもない。例えば、ＩｏＴデバイスを接続するための典型的なシナリオは、デバイスを作動させること、デバイスのＩＰアドレスを位置特定すること、ＩＰアドレスへナビゲートすること、および工場出荷時のデフォルトのユーザネームおよびパスワードでログオンすることを含んでよい。現在既知の解決手段は、出荷前、製造者によって予め設定されたユーザネームおよびパスワードを介するアクセス制御に単純に基づいている。ユーザはＩｏＴデバイスにアクセスするために、ＩｏＴデバイスのＩＰアドレスを把握し、かつデフォルトの認証情報を入力することを担う。代替的な解決手段は、Ｂｌｕｅｔｏｏｔｈ（登録商標）接続に典型的に基づき、ユーザはデバイスをペアリングするために、ＩｏＴデバイスを検出し、かつＰＩＮ（この場合も、製造者によって提供されるデフォルトのもの）を入力する必要がある。予め設定されたアカウント（例えば、ユーザ＝ａｄｍｉｎ、およびパスワード＝ａｄｍｉｎ）に起因して、かつ大部分のユーザは、１回目のログインの後、アカウントユーザネームおよびアカウントパスワードを変更しないため、これらの方法は、セキュリティリスクを呈する。加えて、これらの方法は、ＩｏＴデバイスをインストールおよび設定するための技術的バックグラウンドを有さないかもしれないホームユーザにとって、多くの場合複雑である。残念ながら、これは、ＩｏＴデバイスが作動され、誰でもがＩｏＴデバイスにアクセスでき、１つのデバイスと任意の他のデバイスとの間に典型的に排他的な関係がない場合、ＩｏＴデバイスが完全に動作可能になるにつれていくつかの問題を生じさせ得る。これらおよび他の課題は、ローカルネットワークにおいて、ＩｏＴデバイスのペアリングを場合により困難かつ安全でないものにする。
【００２５】
デバイスの検出を含まず、単にペアリングを含むという、代替的な解決手段がある。この種の解決手段は、ユーザアカウントおよびクラウドサービスに基づいて、デバイスをマッチングさせる。しかしながら、ユーザは、後に当該２つのデバイス間の関係性を生成するために、アカウントを作成し、両方のデバイス（例えば、スマートフォンおよびＩｏＴデバイス）にログインする必要がある。ＩｏＴデバイスは通常ディスプレイを持たない、または、限定的な入力部を有するので、この種の解決手段は、ＩｏＴデバイスに適していない。従って、ユーザアカウントを設定することが常に可能な訳ではない。加えて、クラウドサービスは、典型的に、各ベンダの特定のユーザアカウントをユーザが作成することを必要とする。ユーザは、全てのアカウントパスワードを覚えていない場合がある、または、さらに悪い場合には、全てのアカウントに対して同一のパスワードを用いるであろうため、セキュリティが大幅に影響を受けるであろう。
【００２６】
図１Ａおよび１Ｂで概説されている、ローカルネットワークにおけるデバイスペアリングのための通信システムは、これら（およびその他）の課題を解決できる。通信システム１００ａおよび１００ｂにおいて、ローカルネットワークにおけるデバイスをペアリングするために、システムは、クラウドセキュリティチェックポイントの使用によって強化されたネットワークサービス検出プロトコルの一種を含めることによって、コンシューマ／コマンダデバイス（例えば、スマートフォン）と、ＩｏＴデバイス（プロバイダ／アクチュエータデバイス）との間の安全なリンクを見つけるおよび確立するよう構成され得る。通信システム１００ａは、セキュリティチェックポイントとして作用するクラウドサービス、およびネットワークサービス検出プロトコルの一種を含んでよい。ネットワークサービス検出プロトコルの一種は、データ露出段階中の暗号化、ならびに関与するデバイスによって満たされる必要がある１セットのコンテキストルールおよび検証を含む。通信システム１００ｂは、セキュリティチェックポイントとして作用するクラウドレットをローカルネットワークにおいて含んでよい。一例において、通信システム１００ａおよび１００ｂは、既存のＷｉ−Ｆｉ（登録商標）インフラストラクチャに基づいていることによって、ＩｏＴデバイスの本質的な定義に準拠し得る。加えて、通信システム１００ａおよび１００ｂは、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＮＦＣ（登録商標）のような追加のハードウェアを必要としないよう、検出過程およびリンク過程中に、ＩｏＴデバイスとの熟練ユーザインタラクションを必要としないよう、単独で動作する、または既存の解決手段に加えて追加の層（例えば、工場出荷時の一般的な認証情報以外）として動作することが考えられるよう、および、最初からセキュリティを提供し、かつＩｏＴデバイスに対する不正アクセスの機会を低減するよう構成され得る。
【００２７】
通信システム１００ａおよび１００ｂの１つの実装例は、スマートホームアプリケーションが、ＩｏＴ家庭用電化製品をスマートフォンおよびタブレットのようなコントローラデバイスと安全にリンクするために必要なメカニズムを提供するので、スマートホームアプリケーションに好適であってよい。それらの全てが、同一のローカル環境に共存し、家庭用Ｗｉ−Ｆｉ（登録商標）ネットワークによって範囲を定められる。通信システム１００ａおよび１００ｂは、産業目的のために好適であってもよく、技術者が、工場においてＩｏＴデバイスを検出およびＩｏＴデバイスとリンクするために便利でかつ安全な方式を提供する。通信システム１００ａおよび１００ｂは、ＩｏＴデバイスのインストールとユーザの最初のアクセスとの間のタイムウィンドウにおいて、セキュリティギャップがないよう構成され得る。ＩｏＴデバイスへの許可されていないアクセスは、デフォルトの工場出荷時ログイン認証情報（例えばａｄｍｉｎ／ａｄｍｉｎ）をユーザが変更し忘れた場合、回避され得る。
【００２８】
図１Ａおよび１Ｂのインフラストラクチャを参照すると、例示的な一実施形態に係る通信システム１００ａおよび１００ｂが示される。概して、通信システム１００ａおよび１００ｂは、任意の種類のまたは任意のトポロジのネットワークにおいて実装されてよい。ローカルネットワーク１１０ａおよび１００ｂならびにネットワーク１１２は、通信システム１００ａおよび１００ｂを通じて伝播する情報のパケットを受信および送信するための、相互接続された通信経路の一連のポイントまたはノードを表す。ローカルネットワーク１１０ａおよび１００ｂならびにネットワーク１１２は、ノード間の通信インタフェースを提供し、任意のローカルエリアネットワーク（ＬＡＮ）、仮想ローカルエリアネットワーク（ＶＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ローカルエリアネットワーク（ＷＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、および有線および／または無線通信を含むネットワーク環境において通信を容易にする、任意の他の適切なアーキテクチャもしくはシステム、またはそれらの任意の好適な組み合わせとして構成されてよい。
【００２９】
通信システム１００ａおよび１００ｂおいて、パケット、フレーム、信号（アナログ、デジタル、またはその２つの任意の組み合わせ）、データなどを含むネットワークトラフィックは、任意の好適な通信メッセージングプロトコルに従って送信されおよび受信され得る。好適な通信メッセージングプロトコルは、開放型システム間相互接続（ＯＳＩ）モデル、またはそれらのあらゆる派生例もしくは変形例（例えば、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル／ＩＰ（ＵＤＰ／ＩＰ））のような多層スキームを含んでよい。さらに、（例えば、セルラーネットワークを介した）無線信号通信が、通信システム１００ａおよび１００ｂにおいて提供されてもよい。好適なインタフェースおよびインフラストラクチャは、セルラーネットワークとの通信を可能にするために提供されてもよい。
【００３０】
本明細書で用いられている「パケット」という用語は、パケット交換ネットワーク上で、送信元ノードと宛先ノードとの間でルーティングされ得るデータ単位を指す。パケットは、送信元ネットワークアドレスおよび宛先ネットワークアドレスを含む。これらのネットワークアドレスは、ＴＣＰ／ＩＰメッセージングプロトコルにおけるインターネットプロトコル（ＩＰ）アドレスであってよい。本明細書で用いられている「データ」という用語は、電子デバイスおよび／またはネットワークにおいて１つのポイントから別のポイントに伝達され得る、任意の種類のバイナリ、数値、音声、ビデオ、テキストもしくはスクリプトのデータ、または任意の種類のソースコードもしくはオブジェクトコード、または、任意の適切なフォーマットの任意の他の好適な情報を指す。さらに、メッセージ、要求、応答およびクエリは、ネットワークトラフィックの形式であり、従って、パケット、フレーム、信号、データなどを備え得る。
【００３１】
例示的な一実装例において、電子デバイス１０２、ローカルネットワークデバイス１０４ａおよび１０４ｂ、クラウドサービス１０６ならびにサーバ１０８は、ネットワーク機器、サーバ、ルータ、スイッチ、ゲートウェイ、ブリッジ、ロードバランサ、プロセッサ、モジュール、または任意の他のネットワーク環境において情報を交換するために動作可能な好適なデバイス、コンポーネント、要素もしくはオブジェクトを包含するよう意図されたネットワーク要素である。ネットワーク要素は、それらの動作を容易にする、任意の好適なハードウェア、ソフトウェア、コンポーネント、モジュールまたはオブジェクト、ならびにネットワーク環境において、データもしくは情報を受信、送信および／またはその他の方法で伝達するための好適なインタフェースも含み得る。これは、データまたは情報の効果的な交換を可能にする適切なアルゴリズムおよび通信プロトコルを含み得る。
【００３２】
通信システム１００ａおよび１００ｂと関連付けられた内部構造に関して、電子デバイス１０２、ローカルネットワークデバイス１０４ａおよび１０４ｂ、クラウドサービス１０６、ならびにサーバ１０８の各々は、本明細書に概説されている動作において用いられるべき情報を格納するためのメモリ要素を含んでよい。電子デバイス１０２、ローカルネットワークデバイス１０４ａおよび１０４ｂ、クラウドサービス１０６、ならびにサーバ１０８の各々は、任意の好適なメモリ要素（例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、特定用途向け集積回路（ＡＳＩＣ）、不揮発性メモリ（ＮＶＲＡＭ）、磁気ストレージ、光磁気ストレージ、フラッシュストレージ（ＳＳＤ）など）、ソフトウェア、ハードウェア、ファームウェアにおいて、または適切で、かつ特定の必要性に基づいた任意の他の好適なコンポーネント、デバイス、要素もしくはオブジェクトにおいて、情報を保存し得る。本明細書に記載されているメモリアイテムの何れも、「メモリ要素」という広義の用語内に包含されているとして解釈されるべきである。さらに、通信システム１００ａおよび１００ｂにおいて用いられている、追跡されている、送信されている、受信されている情報は、任意のデータベース、レジスタ、キュー、テーブル、キャッシュ、制御リスト、または他のストレージ構造において提供され得、その全ては、任意の好適なタイムフレームにおいて参照され得る。そのようなストレージの選択肢の何れも、本明細書で用いられている「メモリ要素」という広義の用語内に含まれ得る。
【００３３】
特定の例示的な実装例において、本明細書に概説されている機能は、非一時的コンピュータ可読媒体を含み得る１または複数の有形媒体内に符号化されているロジック（例えば、ＡＳＩＣ内に設けられる埋込みロジック、デジタル信号プロセッサ（ＤＳＰ）命令、プロセッサ、または、他の同様の機械などによって実行される（オブジェクトコードおよびソースコードを潜在的に含む）ソフトウェア）によって実装され得る。これらの例のいくつかにおいて、メモリ要素は、本明細書に説明されている動作に用いられるデータを格納できる。これは、本明細書に説明されているアクティビティを行うために実行されるソフトウェア、ロジック、コードまたはプロセッサ命令を格納することを可能にするメモリ要素を含む。
【００３４】
例示的な一実装例において、電子デバイス１０２、ローカルネットワークデバイス１０４ａおよび１０４ｂ、クラウドサービス１０６、ならびにサーバ１０８のような通信システム１００ａおよび１００ｂのネットワーク要素は、本明細書に概説されている動作を実現または促進するために、ソフトウェアモジュール（例えばペアリングモジュール１２０ａ−１２０ｃ、ネットワークペアリングモジュール１４６ａおよび１４６ｂ、ローカルネットワークペアリングモジュール１３２、ローカル一時的ペアリングコード生成モジュール１３４など）を含み得る。これらのモジュールは、特定の構成および／またはプロビジョニングの必要性に基づき得る、任意の適切な態様で、好適に組み合わされ得る。いくつかの実施形態において、そのような動作は、意図される機能を実現するために、これらの要素の外部に実装されるハードウェアによって、またはいくつかの他のネットワークデバイス内に含まれるハードウェアによって実行され得る。さらに、モジュールは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の好適な組み合わせとして実装され得る。これらの要素は、本明細書に概説されているような動作を実現するために、他のネットワーク要素と連携できるソフトウェア（またはレシプロケーティングソフトウェア）も含み得る。
【００３５】
さらに、電子デバイス１０２、ローカルネットワークデバイス１０４ａおよび１０４ｂ、クラウドサービス１０６、ならびにサーバ１０８の各々は、本明細書に記載されているようなアクティビティを実行するためのソフトウェアまたはアルゴリズムを実行できるプロセッサを含み得る。プロセッサは、本明細書に詳述されている動作を実現するために、データと関連付けられたあらゆる種類の命令を実行できる。１つの例において、プロセッサは、要素または物（例えばデータ）を１つの状態またはモノから別の状態またはモノへ変換できる。別の例において、本明細書に概説されているアクティビティは、固定ロジックまたはプログラマブルロジック（例えば、プロセッサによって実行されるソフトウェア／コンピュータ命令）で実装され得る。本明細書で識別される要素は、デジタルロジック、ソフトウェア、コード、電子命令、またはそれらの任意の好適な組み合わせを含む、何らかの種類のプログラマブルプロセッサ、プログラマブルデジタルロジック（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ）、またはＡＳＩＣであり得る。本明細書に説明されている、潜在的な処理要素、モジュールおよび機械の何れも、「プロセッサ」という広義の用語内に包含されていると解釈されるべきである。
【００３６】
電子デバイス１０２は、ネットワーク要素であってよく、例えば、デスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、パーソナルデジタルアシスタント、スマートフォン、タブレット、ウェアラブル、または他の同様のデバイスを含む。ローカルネットワークデバイス１０４ａおよび１０４ｂは、ネットワーク要素であってよく、例えば、ラップトップコンピュータ、モバイルデバイス、パーソナルデジタルアシスタント、スマートフォン、タブレット、ウェアラブル、ＩｏＴ、または他の同様のデバイスを含む。クラウドサービス１０６は、電子デバイス１０２ならびにローカルネットワークデバイス１０４ａおよび１０４ｂにクラウドサービスを提供するよう構成される。クラウドサービスは、概して、インターネットのようなネットワークを介したサービスとして供給されるコンピューティングリソースを用いることと定義される。サービスは、電子デバイス１０２、ローカルネットワークデバイス１０４ａおよび１０４ｂ、ならびにクラウドサービス１０６に必要とされるサポートを提供するために、分散されおよび分離され得る。典型的に、計算、ストレージ、およびネットワークリソースは、クラウドインフラストラクチャにおいて提供され、作業負荷をローカルネットワークからクラウドネットワークへ効果的にシフトさせる。サーバ１０８は、サーバまたは仮想サーバのようなネットワーク要素であってよく、何らかのネットワーク（例えば、ネットワーク１１２）を介する通信システム１００ａにおいて通信を開始することを望んでいる、クライアント、顧客、エンドポイントまたはエンドユーザと関連付けられてよい。「サーバ」という用語は、クライアントの要求を果たすため、および／または通信システム１００ａ内でクライアントに代わって、何らかの計算タスクを実行するために用いられるデバイスを含む。ネットワークペアリングモジュール１４６ａおよび１４６ｂは、図１Ａにおいて、クラウドサービス１０６内およびサーバ１０８内のそれぞれに配置されているよう示されているが、これは、例示目的に過ぎない。ネットワークペアリングモジュール１４６ａおよび１４６ｂは、任意の好適な構成で組み合わされ得、または分離され得る。さらに、ネットワークペアリングモジュール１４６ａおよび１４６ｂは、電子デバイス１０２ならびにローカルネットワークデバイス１０４ａおよび１０４ｂによってアクセス可能である別のネットワークと統合され得、または、別のネットワーク内に分散され得る。
【００３７】
図２を参照すると、図２は、本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システム１００ａの一部の簡略ブロック図である。図２に例示されているように、電子デバイス１０２は、スマートフォンであってよく、ローカルネットワークデバイス１０４ａは、スマートサーモスタットであってよい。ルータ１３６は、電子デバイス１０２とローカルネットワークデバイス１０４ａとの間の通信リンクを提供するためのローカルネットワーク１１０ａを生成できる。ルータ１３６は、ネットワーク１１２（不図示）を通じて、クラウドサービス１０６と通信を行うＷｉ−Ｆｉ（登録商標）ルータであってよい。
【００３８】
まず、電子デバイス１０２とローカルネットワークデバイス１０４ａの両方は、それらの独自のデバイスＩＤを用いて、およびルータ１３６のＷｉ−Ｆｉ（登録商標）ＳＳＩＤ／ＢＳＳＩＤを登録適用範囲として、クラウドサービス１０６に一時的に登録される。一例において、ＢＳＳＩＤは、ネットワークの各アクセスポイントにおいて一意的である。ＢＳＳＩＤは、ペアリングに関与するデバイスが、同一のローカルネットワークにおいて同時に存在するかどうかを検証するために、ネットワークペアリングモジュール１４６ａによって用いられ得る。何らかの理由で、デバイスが１つのＷｉ−Ｆｉ（登録商標）ＳＳＩＤから別のＷｉ−Ｆｉ（登録商標）ＳＳＩＤに変更されると、登録は無効にされ、デバイスが再度ペアリングされる必要があるであろう。
【００３９】
登録後、ローカルネットワークデバイス１０４ａは、クラウドサービス１０６から一時的ペアリングコード（ＴＰＣ）を要求できる。このコードは、短い有効期間（例えば５分間）を有する。このＴＰＣを用いて、ローカルネットワークデバイス１０４ａは、ドメインネームシステム（ＤＮＳ）サービス検出またはマルチキャストＤＮＳを通じて自体を露出できる。ＤＮＳにおけるパッケージのペイロードは、（ＮＳＤプロトコルがサポートしている暗号化の一種を用いて）暗号化されたＴＰＣを含んでよい。
【００４０】
電子デバイス１０２は、ＤＮＳサービス検出を通じて、ローカルネットワークデバイス１０４ａの検出を開始できる。一旦ローカルネットワークデバイス１０４ａが見つかると、ＴＰＣは、パッケージのペイロードから抽出される。ローカルネットワークデバイス１０４ａとのリンクを確立するため、電子デバイス１０２は、ＴＰＣを送信することによって、クラウドサービス１０６に対する要求を実行する。クラウドサービス１０６は、ＴＰＣが有効で、かつ事前に登録されたローカルネットワークデバイス１０４ａに属し、両方のデバイスが、同一の適用範囲下（例えば、同一のＳＳＩＤおよびタイムフレーム下）にあることを検証できる。ペアリングのための条件が満たされた場合、クラウドサービス１０６は、デバイス間のリンクを許可できる。リンクが許可された場合、クラウドサービス１０６は、リンク指示をローカルネットワークデバイス１０４ａへプッシュできる。それには、これ以降、ローカルネットワークデバイス１０４ａは、電子デバイス１０２によってコマンドされ、かつ、ローカルネットワークデバイス１０４ａは、リンクされた電子デバイス１０２に関連する動作のみに応答する、または該動作を可能にするであろうと提示されている。
【００４１】
図３を参照すると、図３は、本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システム１００ａの一部の簡略ブロック図である。図３に例示されているように、悪意のあるデバイス１４４は、ローカルネットワークデバイス１０４ａとペアリングされることを阻止され得る。まず、ローカルネットワークデバイス１０４ａと悪意のあるデバイス１４４の両方は、それら独自のデバイスＩＤを用いて、クラウドサービス１０６に一時的に登録される。ローカルネットワークデバイス１０４ａは、ルータ１３６のＷｉ−Ｆｉ（登録商標）ＳＳＩＤ／ＢＳＳＩＤをその登録適用範囲として含み得、悪意のあるデバイス１４４は、第２のルータ１４０のＷｉ−Ｆｉ（登録商標）ＳＳＩＤ／ＢＳＳＩＤをその登録適用範囲として含み得る。この例において、ローカルネットワークデバイス１０４ａのＷｉ−Ｆｉ（登録商標）ＳＳＩＤが、悪意のあるデバイス１４４のＷｉ−Ｆｉ（登録商標）ＳＳＩＤとは異なるので、２つのデバイスのペアリングは、許可されないであろう。加えて、電子デバイス１０２が、ローカルネットワーク１１０ａから別のローカルネットワーク１４２に移動し、ローカルネットワーク１１０ａに依然として配置されるローカルネットワークデバイス１０４ａとリンクすることを試みる場合、次に、電子デバイス１０２の適用範囲がローカルネットワークデバイス１０４ａの適用範囲と一致しないので、リンクは、クラウドサービス１０６におけるネットワークペアリングモジュール１４６ａによって拒否されるであろう。この例における適用範囲は、ローカルネットワーク識別（例えばＷｉ−Ｆｉ（登録商標）に一意的なＢＳＳＩＤ、およびリンクが要求される時点で無効であってはならない一時的ペアリングコード）である。
【００４２】
図４を参照すると、図４は、一実施形態に係る、ローカルネットワークにおけるデバイスペアリングと関連付けられ得る、考えられる動作を例示する例示的なタイミングフロー図である。一実施形態において、電子デバイス１０２およびローカルネットワークデバイス１０４ａは、クラウドサービス１０６へ一時的な登録を伝達する。ローカルネットワークデバイス１０４ａは、クラウドサービス１０６からの一時的ペアリングコードに対する要求を伝達でき、クラウドサービス１０６は、一時的ペアリングコードをローカルネットワークデバイス１０４ａへ送信できる。電子デバイス１０２は、（例えばＮＳＤを通じて）ローカルネットワーク検出を開始でき、ローカルネットワークデバイス１０４ａは、ＮＳＤを通じて、暗号化された一時的ペアリングコードを用いて、ネットワークに対して自体を露出できる。電子デバイス１０２は、ローカルネットワークデバイス１０４ａから一時的ペアリングコードを検出および取得でき、クラウドサービス１０６に対して、デバイス間のリンクの要求を送信できる。クラウドサービス１０６は、一時的ペアリングコードの適用範囲を検証でき、かつ一時的ペアリングコードの適用範囲が有効である場合、次に、クラウドサービス１０６は、電子デバイス１０２とローカルネットワークデバイス１０４ａとの間のリンクを許可できる。クラウドサービス１０６は、電子デバイス１０２およびローカルネットワークデバイス１０４ａへリンク指示を伝達できる。
【００４３】
図５を参照すると、図５は、一実施形態に係る、ローカルネットワークにおけるデバイスペアリングと関連付けられ得る、フロー５００の考えられる動作を例示する例示的なフローチャートである。一実施形態において、フロー５００の１または複数の動作は、ペアリングモジュール１２０ａ−１２０ｃ、ネットワークペアリングモジュール１４６ａおよび１４６ｂ、ならびにローカルネットワークペアリングモジュール１３２のうち１または複数によって実行され得る。５０２において、ローカルネットワークデバイスは、ネットワークペアリングモジュールを用いて登録される。５０４において、電子デバイスは、ネットワークペアリングモジュールを用いて登録される。５０６において、ローカルネットワークデバイスと電子デバイスとをリンクする要求が、ネットワークペアリングモジュールに伝達される。５０８において、システムは、リンク要求が適切なデータおよび情報を含むかどうかを決定する。例えば、リンク要求は、適切な一時的ペアリングコードおよびＷｉ−Ｆｉ（登録商標）ＳＳＩＤを含むべきである。一例において、一時的ペアリングコードは、電子デバイスまたはローカルネットワークデバイスが、異なるネットワークへ移動（例えば、家庭用Ｗｉ−Ｆｉ（登録商標）ネットワークから職場用または公共のＷｉ−Ｆｉ（登録商標）ネットワークへ移動）するたびに変更可能である。デバイスが異なるネットワークに移動する場合、（例えば、クラウドサービス１０６と）再登録がなされる必要がある。クラウドサービス１０６およびサーバ１０８は、登録されたデバイスと、指定された一時的ペアリングコードと、ネットワーク識別との間のマップを含み得、その情報およびデータを用いて、デバイスがペアリングされるべき、またはリンクされるべきかを決定する。リンク要求が適切なデータおよび情報を含むとシステムが決定した場合、次に、５１０に示されるように、リンク要求は許可される。リンク要求が適切なデータおよび情報を含まないとシステムが決定した場合、次に、５１２に示されるようにリンク要求は許可されない。
【００４４】
図６を参照すると、図６は、一実施形態に係る、ポイントツーポイント（ＰｔＰ）構成で配置されるコンピューティングシステム６００を例示する。特に、図６は、プロセッサ、メモリ、入出力デバイスが、多数のポイントツーポイントインタフェースによって相互接続されるシステムを示す。概して、通信システム１００のネットワーク要素のうち１または複数は、コンピューティングシステム６００と同一のまたは同様の態様で構成されてよい。
【００４５】
図６に例示されているように、システム６００は、いくつかのプロセッサを含み得るが、明確にするために、それらのうちプロセッサ６７０および６８０の２つのみが示されている。２つのプロセッサ６７０および６８０が示されている一方、システム６００の一実施形態は、そのようなプロセッサを１つだけ含んでもよいことが、理解されるべきである。プロセッサ６７０および６８０の各々は、プログラムの複数のスレッドを実行するための１セットのコア（すなわち、プロセッサコア６７４Ａおよび６７４Ｂ、ならびにプロセッサコア６８４Ａおよび６８４Ｂ）を含んでよい。コアは、図１Ａ−５に関連して上述されているものと同様の態様で、命令コードを実行するよう構成されてよい。各プロセッサ６７０、６８０は、少なくとも１つの共有キャッシュ６７１、６８１を含み得る。共有キャッシュ６７１、６８１は、プロセッサコア６７４および６８４のような、プロセッサ６７０、６８０の１または複数のコンポーネントによって利用されるデータ（例えば命令）を格納し得る。
【００４６】
プロセッサ６７０および６８０の各々は、メモリ要素６３２および６３４と通信するための集積メモリコントローラロジック（ＭＣ）６７２および６８２を含んでもよい。メモリ要素６３２および／または６３４は、プロセッサ６７０および６８０によって用いられる様々なデータを格納し得る。代替的な実施形態において、メモリコントローラロジック６７２および６８２は、プロセッサ６７０および６８０とは分離したディスクリートロジックであってよい。
【００４７】
プロセッサ６７０および６８０は、あらゆる種類のプロセッサであり得、それぞれ、ポイントツーポイントインタフェース回路６７８および６８８を用いて、ポイントツーポイント（ＰｔＰ）インタフェース６５０を介してデータを交換し得る。プロセッサ６７０および６８０の各々は、ポイントツーポイントインタフェース回路６７６、６８６、６９４および６９８を用いて、個々のポイントツーポイントインタフェース６５２および６５４を介して、チップセット６９０とデータを交換し得る。チップセット６９０は、ＰｔＰインタフェース回路であり得るインタフェース回路６９２を用いて、高性能グラフィックスインタフェース６３９を介して、高性能グラフィックス回路６３８とデータを交換してもよい。代替的な実施形態において、図６に例示されている、任意のまたは全てのＰｔＰリンクは、ＰｔＰリンクではなく、マルチドロップバスとして実装され得る。
【００４８】
チップセット６９０は、インタフェース回路６９６を介して、バス６２０と通信を行ってよい。バス６２０は、バスブリッジ６１８およびＩ／Ｏデバイス６１６のような、それを介して通信する１または複数のデバイスを有してよい。バス６１０を介して、バスブリッジ６１８は、キーボード／マウス６１２（またはタッチスクリーン、トラックボールのような他の入力デバイスなど）、通信デバイス６２６（モデム、ネットワークインタフェースデバイス、またはコンピュータネットワーク６６０を通じて通信し得る、他の種類の通信デバイスのような）、オーディオＩ／Ｏデバイス６１４、および／またはデータストレージデバイス６２８のような他のデバイスと通信を行ってよい。データストレージデバイス６２８は、プロセッサ６７０および／または６８０によって実行され得るコード６３０を格納し得る。代替的な実施形態において、バスアーキテクチャの任意の部分は、１または複数のＰｔＰリンクで実装され得る。
【００４９】
図６に図示されているコンピュータシステムは、本明細書に記載されている様々な実施形態を実装するために利用され得る、コンピューティングシステムの一実施形態の概略図である。図６に図示されているシステムの様々なコンポーネントは、システムオンチップ（ＳｏＣ）アーキテクチャで、または任意の他の好適な構成で組み合わされ得ることが理解されるであろう。例えば、本明細書に開示されている実施形態は、スマートセルラーフォン、タブレットコンピュータ、パーソナルデジタルアシスタント、携帯型ゲーム機などのようなモバイルデバイスを含むシステム内に組み込まれ得る。これらのモバイルデバイスには、いくつかの実施形態においてＳｏＣアーキテクチャが設けられることが理解されるであろう。
【００５０】
図７を参照すると、図７は、本開示の例示的なＡＲＭエコシステムＳＯＣ７００と関連付けられる簡略ブロック図である。本開示の少なくとも１つの例示的な実装例は、本明細書に記載されているローカルネットワークにおけるデバイスペアリングの特徴、およびＡＲＭコンポーネントを含んでよい。例えば、図７の例は、任意のＡＲＭコア（例えばＡ−９、Ａ−１５など）と関連付けられてよい。さらに、アーキテクチャは、あらゆる種類のタブレット、スマートフォン（Ａｎｄｒｏｉｄ（登録商標）フォン、ｉＰｈｏｎｅ（登録商標）を含む）、ｉＰａｄ（登録商標）、Ｇｏｏｇｌｅ  Ｎｅｘｕｓ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｓｕｒｆａｃｅ（登録商標）、パーソナルコンピュータ、サーバ、ビデオ処理コンポーネント、ラップトップコンピュータ（あらゆる種類のノートブックを含む）、Ｕｌｔｒａｂｏｏｋ（登録商標）システム、あらゆる種類のタッチ式入力デバイスなどの一部であってよい。
【００５１】
図７のこの例において、ＡＲＭエコシステムＳＯＣ７００は、ＬＣＤに連結する、モバイルインダストリプロセッサインタフェース（ＭＩＰＩ）／高解像度マルチメディアインタフェース（ＨＤＭＩ（登録商標））リンクと関連付けられ得る、複数のコア７０６−７０７、Ｌ２キャッシュ制御７０８、バスインタフェースユニット７０９、Ｌ２キャッシュ７１０、グラフィックス処理ユニット（ＧＰＵ）７１５、相互接続７０２、ビデオコーデック７２０、および液晶ディスプレイ（ＬＣＤ）Ｉ／Ｆ７２５を含み得る。
【００５２】
ＡＲＭエコシステムＳＯＣ７００は、加入者識別モジュール（ＳＩＭ）Ｉ／Ｆ７３０、ブートリードオンリメモリ（ＲＯＭ）７３５、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）コントローラ７４０、フラッシュコントローラ７４５、シリアル周辺インタフェース（ＳＰＩ）マスタ７５０、好適な電力制御７５５、ダイナミックＲＡＭ（ＤＲＡＭ）７６０、およびＦｌａｓｈ７６５も含み得る。加えて、１または複数の実施形態は、１または複数の通信能力、インタフェースおよびＢｌｕｅｔｏｏｔｈ（登録商標）７７０、３Ｇモデム７７５、全地球測位システム（ＧＰＳ）７８０および８０２．１１Ｗｉ−Ｆｉ（登録商標）７８５の例のような特徴を含む。
【００５３】
動作において、図７の例は、比較的低い消費電力とともに、様々な種類のコンピューティング（例えば、モバイルコンピューティング、ハイエンドデジタルホーム、サーバ、無線インフラストラクチャなど）を可能とする処理能力を提供できる。加えて、このようなアーキテクチャは、任意の数のソフトウェアアプリケーション（例えば、Ａｎｄｒｏｉｄ（登録商標）、Ａｄｏｂｅ（登録商標）Ｆｌａｓｈ（登録商標）Ｐｌａｙｅｒ、Ｊａｖａ（登録商標）Ｐｌａｔｆｏｒｍ  Ｓｔａｎｄａｒｄ  Ｅｄｉｔｉｏｎ（Ｊａｖａ（登録商標）ＳＥ）、Ｊａｖａ（登録商標）ＦＸ、Ｌｉｎｕｘ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）Ｅｍｂｅｄｄｅｄ、ＳｙｍｂｉａｎおよびＵｂｕｎｔｕなど）を可能にし得る。少なくとも１つの例示的な実施形態において、コアプロセッサは、連結された低レイテンシレベル２キャッシュを有するアウトオブオーダスーパースカラパイプラインを実装し得る。
【００５４】
図８は、一実施形態に係るプロセッサコア８００を例示する。プロセッサコア８００は、マイクロプロセッサ、組込みプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、または、コードを実行する他のデバイスのような、任意の種類のプロセッサ用のコアであってよい。図８において、１つのプロセッサコア８００のみが例示されているが、プロセッサは、図８に例示されているプロセッサコア８００の１つより多くを代替的に含んでよい。例えば、プロセッサコア８００は、図６のプロセッサ６７０および６８０に関連して示されおよび説明されている、プロセッサコア６７４ａ、６７４ｂ、６８４ａおよび６８４ｂの１つの例示的な実施形態を表す。プロセッサコア８００は、シングルスレッドコアであってよく、または、少なくとも１つの実施形態に関して、プロセッサコア８００は、コアごとに１つより多くのハードウェアスレッドコンテキスト（または「ロジカルプロセッサ」）を含み得るという点で、マルチスレッドコアであってよい。
【００５５】
図８は、また、一実施形態に係る、プロセッサコア８００に連結されたメモリ８０２を例示する。メモリ８０２は、既知のまたはそうでなければ当業者に利用可能な多種多様なメモリ（メモリ階層の様々な層を含む）の何れかであってよい。メモリ８０２は、プロセッサコア８００によって実行されるべき１または複数の命令であり得るコード８０４を含み得る。プロセッサコア８００は、コード８０４によって示される、命令のプログラムシーケンスに従い得る。各命令は、フロントエンドロジック８０６に入り、１または複数のデコーダ８０８によって処理される。デコーダは、その出力として、予め定義されたフォーマットで固定幅のマイクロオペレーションのようなマイクロオペレーションを生成してよく、または元のコード命令を反映する他の命令、マイクロ命令、もしくは制御信号を生成してよい。フロントエンドロジック８０６は、レジスタリネーミングロジック８１０およびスケジューリングロジック８１２も含み、これらは概してリソースを割り当て、実行の命令に対応する動作をキューに登録する。
【００５６】
プロセッサコア８００は、１セットの実行ユニット８１６−１から８１６−Ｎを有する実行ロジック８１４を含んでもよい。いくつかの実施形態は、特定の機能または複数の機能セット専用の多数の実行ユニットを含み得る。他の実施形態は、１つの実行ユニットのみ、または特定の機能を実行できる１つの実行ユニットを含み得る。実行ロジック８１４は、コード命令によって指定される動作を実行する。
【００５７】
コード命令によって指定される動作の実行が完了した後、バックエンドロジック８１８は、コード８０４の命令をリタイアできる。１つの実施形態において、プロセッサコア８００は、アウトオブオーダ実行を許可するが、命令のインオーダリタイアメントを必要とする。リタイアメントロジック８２０は、（例えばリオーダバッファまたは同様の）様々な既知の形式を取ってよい。このように、少なくとも、デコーダ、レジスタリネーミングロジック８１０によって利用されるハードウェアレジスタおよびテーブル、ならびに実行ロジック８１４によって変更される任意のレジスタ（不図示）により生成される出力に関して、プロセッサコア８００は、コード８０４の実行中に変換される。
【００５８】
図８に例示されていないが、プロセッサは、プロセッサコア８００と共に他の要素をチップ上に含んでよく、少なくともそれらのうちいくつかは、図６に関連して本明細書に示されおよび説明されている。例えば、図６に示されているように、プロセッサは、プロセッサコア８００と共にメモリ制御ロジックを含み得る。プロセッサは、Ｉ／Ｏ制御ロジックを含んでよく、および／またはメモリ制御ロジックと統合されるＩ／Ｏ制御ロジックを含んでよい。
【００５９】
本明細書に提供されている例に関して、インタラクションは、２つ、３つまたはそれより多くのネットワーク要素に関して説明され得ることに留意されたい。しかしながら、これは単に、明確性および例示目的のためになされているものである。特定の場合には、限定的な数のネットワーク要素のみを参照することによって、所与のセットのフローの１または複数の機能を説明することがより容易になる場合がある。通信システム１００ａおよび１００ｂならびにそれらの教示は、容易に拡張可能であり、数多くのコンポーネント、ならびにより複雑な／高性能の配置および構成にも対応できることが理解されるべきである。従って、提供されている例は、潜在的に無数の他のアーキテクチャに適用されるので、通信システム１００の範囲を限定し、またはその広範な教示を阻むべきではない。
【００６０】
前述されたフロー図（すなわち図４および５）における動作は、考えられる相関シナリオおよびパターンのうち、通信システム１００ａおよび１００ｂによって実行され得る、または通信システム１００ａおよび１００ｂ内にある、いくつかのものだけを例示していることに留意することも重要である。これらの動作のうちいくつかのものは、適切な箇所で削除されもしくは除去されてよく、または、これらの動作は、本開示の範囲から逸脱することなく、大幅に修正もしくは変更されてよい。加えて、これらの動作の多数は、１または複数の追加的な動作と同時にまたは並行して実行されていると説明されている。しかしながら、これらの動作のタイミングは、大幅に変更され得る。前述された動作のフローは、例示および説明目的のために提供されている。任意の好適な配置、時系列、構成およびタイミングのメカニズムが、本開示の教示から逸脱することなく提供され得るという点で、大きな柔軟性が、通信システム１００ａおよび１００ｂによって提供される。
【００６１】
本開示は、特定の配置および構成に関連して詳細に説明されているが、これらの例示的な構成および配置は、本開示の範囲から逸脱することなく著しく変更され得る。
さらに、特定のコンポーネントが、特定の必要性および実装に基づいて、組み合わされ、分離され、排除され、または追加され得る。さらに、通信システム１００ａおよび１００ｂは、通信過程を容易にする特定の要素および動作に関連して例示されているが、これらの要素および動作は、通信システム１００ａおよび１００ｂの意図される機能を実現する、任意の好適なアーキテクチャ、プロトコル、および／または過程によって置き換えられてよい。
【００６２】
多数の他の変更、代替、変形、改変および修正が、当業者に確認され得て、本開示は、全てのそのような変更、代替、変形、改変および修正を添付の特許請求の範囲内に含まれるものとして包含することが意図される。米国特許商標庁（ＵＳＰＴＯ）を補助するため、さらに、本明細書に添付の特許請求の範囲の解釈において、本願に基づいて発行された任意の特許のあらゆる読者を補助するため、出願人は、（ａ）「の手段（ｍｅａｎｓ  ｆｏｒ）」または「の段階（ｓｔｅｐ  ｆｏｒ）」という文言が、特定の特許請求の範囲において具体的に用いられない限り、出願日において本明細書に存在するよう、添付の特許請求の範囲の何れかに米国特許法第１１２条第６段落を援用することを出願人が意図しない、（ｂ）明細書におけるあらゆる記述によって、決して、本開示をそうでなければ添付の特許請求の範囲に反映されないように限定することを出願人が意図しない、ことに留意することを望んでいる。
【００６３】
［他の留意事項および例］  例Ｃ１は、少なくとも１つのプロセッサによって実行される場合、ローカルネットワークデバイスの登録データを受信することと、電子デバイスの登録データを受信することと、ローカルネットワークデバイスと電子デバイスとをペアリングする要求を受信することと、ローカルネットワークデバイスの登録データ、電子デバイスの登録データ、およびペアリングコードが予め定められた条件を満たす場合に、ペアリングを許可することと、を該少なくとも１つのプロセッサにさせる１または複数の命令を有する少なくとも１つの機械可読媒体である。ここで、要求は、ペアリングコードを含む。
【００６４】
例Ｃ２において、例Ｃ１の主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データが一時的データを含むことを任意選択的に含んでよい。
【００６５】
例Ｃ３において、例Ｃ１−Ｃ２の何れか１つの主題は、命令が少なくとも１つのプロセッサによって実行されるとき、ペアリングコードをローカルネットワークデバイスへ送信し、電子デバイスからペアリングコードを受信することを少なくとも１つのプロセッサにさらに生じさせることを任意選択的に含んでよい。
【００６６】
例Ｃ４において、例Ｃ１−Ｃ３の何れか１つの主題は、電子デバイスがローカルネットワークデバイスからペアリングコードを要求して受信したことを任意選択的に含んでよい。
【００６７】
例Ｃ５において、例Ｃ１−Ｃ４の何れか１つの主題は、ペアリングコードが、ローカルネットワークデバイスから送信される前に暗号化されていることを任意選択的に含んでよい。
【００６８】
例Ｃ６において、例Ｃ１−Ｃ５の何れか１つの主題は、一時的ペアリングコードが、ローカルネットワークデバイスに、または電子デバイスに永続的には格納されないことを任意選択的に含んでよい。
【００６９】
例Ｃ７において、例Ｃ１−Ｃ６の何れか１つの主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データが、ローカルネットワーク識別を含むことを任意選択的に含んでよい。
【００７０】
例Ｃ８において、例Ｃ１−Ｃ７の何れか１つの主題は、ローカルネットワークデバイスの登録データにおけるローカルネットワーク識別と、電子デバイスの登録データにおけるローカルネットワーク識別とが一致しない場合に、ペアリングが許可されないことを任意選択的に含んでよい。
【００７１】
例Ａ１において、装置は、ペアリングモジュールを含んでよく、ペアリングモジュールは、ローカルネットワークデバイスの登録データを受信し、電子デバイスの登録データを受信し、ローカルネットワークデバイスと電子デバイスとをペアリングする要求を受信し、ローカルネットワークデバイスの登録データ、電子デバイスの登録データ、およびペアリングコードが予め定められた条件を満たす場合に、ペアリングを許可するよう構成される。ここで、要求はペアリングコードを含む。
【００７２】
例Ａ２において、例Ａ１の主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データが一時的データを含むことを任意選択的に含んでよい。
【００７３】
例Ａ３において、例Ａ１−Ａ２の何れか１つの主題は、ペアリングモジュールが、ペアリングコードをローカルネットワークデバイスへ送信し、電子デバイスからペアリングコードを受信するようさらに構成されることを任意選択的に含んでよい。
【００７４】
例Ａ４において、例Ａ１−Ａ３の何れか１つの主題は、電子デバイスが、ローカルネットワークデバイスからペアリングコードを要求して受信したことを任意選択的に含んでよい。
【００７５】
例Ａ５において、例Ａ１−Ａ４の何れか１つの主題は、一時的ペアリングコードが、ローカルネットワークデバイスにまたは電子デバイスに永続的には格納されないことを任意選択的に含んでよい。
【００７６】
例Ａ６において、例Ａ１−Ａ５の何れか１つの主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データがローカルネットワーク識別を含むことを任意選択的に含んでよい。
【００７７】
例Ａ７において、例Ａ１−Ａ６の何れか１つの主題は、ローカルネットワークデバイスの登録データにおけるローカルネットワーク識別と、電子デバイスの登録データにおけるローカルネットワーク識別とが一致しない場合に、ペアリングが許可されないことを任意選択的に含んでよい。
【００７８】
例Ｍ１は、ローカルネットワークデバイスの登録データを受信する段階と、電子デバイスの登録データを受信する段階と、ローカルネットワークデバイスと電子デバイスとをペアリングする要求を受信する段階と、ローカルネットワークデバイスの登録データ、電子デバイスの登録データ、およびペアリングコードが、予め定められた条件を満たす場合に、ペアリングを許可する段階を備える方法であって、ここで、要求はペアリングコードを含む。
【００７９】
例Ｍ２において、例Ｍ１の主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データが一時的データを含むことを任意選択的に含んでよい。
【００８０】
例Ｍ３において、例Ｍ１−Ｍ２の何れか１つの主題は、ペアリングコードをローカルネットワークデバイスへ送信すること、および電子デバイスからペアリングコードを受信することを任意選択的に含んでよく、電子デバイスは、ローカルネットワークデバイスからペアリングコードを要求して受信した。
【００８１】
例Ｍ４において、例Ｍ１−Ｍ３の何れか１つの主題は、ペアリングコードが、ローカルネットワークデバイスへ送信される前に暗号化されていることを任意選択的に含んでよい。
【００８２】
例Ｍ５において、例Ｍ１−Ｍ４の何れか１つの主題は、ペアリングコードが、ローカルネットワークデバイスにまたは電子デバイスに永続的には格納されないことを任意選択的に含んでよい。
【００８３】
例Ｍ６において、例Ｍ１−Ｍ５の何れか１つの主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データがローカルネットワーク識別を含むことを任意選択的に含んでよい。
【００８４】
例Ｍ７において、例Ｍ１−Ｍ６の何れか１つの主題は、ローカルネットワークデバイスの登録データにおけるローカルネットワーク識別と、電子デバイスの登録データにおけるローカルネットワーク識別とが一致しない場合に、ペアリングが許可されないことを任意選択的に含んでよい。
【００８５】
例Ｓ１は、ローカルネットワークにおけるデバイスをペアリングするためのシステムであり、ペアリングモジュールを含むシステムである。ここで、ペアリングモジュールは、ローカルネットワークデバイスの登録データを受信し、電子デバイスの登録データを受信し、ローカルネットワークデバイスと電子デバイスとをペアリングするための要求を受信し、ローカルネットワークデバイスの登録データ、電子デバイスの登録データ、およびペアリングコードが予め定められた条件を満たす場合に、ペアリングを許可するよう構成され、要求は、ペアリングコードを含む。
【００８６】
例Ｓ２において、例Ｓ１の主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データが一時的データを含むことを任意選択的に含んでよい。
【００８７】
例Ｓ３において、例Ｓ１−Ｓ２の何れかの主題は、ペアリングモジュールが、ペアリングコードをローカルネットワークデバイスへ送信し、電子デバイスからペアリングコードを受信するよう、さらに構成されることを任意選択的に含んでよく、電子デバイスは、ローカルネットワークデバイスからペアリングコードを要求して受信した。
【００８８】
例Ｘ１は、例Ａ１−Ａ７または例Ｍ１−Ｍ７の何れか１つに示されるように、方法を実装するための、または装置を実現するための機械可読命令を含む機械可読記憶媒体である。例Ｙ１は、例示的な方法Ｍ１−Ｍ７の何れかを実行するための手段を備える装置である。例Ｙ２において、例Ｙ１の主題は、プロセッサおよびメモリを備える方法を実行するための手段を任意選択的に含んでよい。例Ｙ３において、例Ｙ２の主題は、機械可読命令を備えるメモリを任意選択的に含んでよい。
【図１Ａ】
0006519904.tif 000002
【図１Ｂ】
0006519904.tif 000003
【図２】
0006519904.tif 000004
【図３】
0006519904.tif 000005
【図４】
0006519904.tif 000006
【図５】
0006519904.tif 000007
【図６】
0006519904.tif 000008
【図７】
0006519904.tif 000009
【図８】
0006519904.tif 000010