特許第6519904号(P6519904)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マカフィー,エルエルシーの特許一覧

特許6519904ローカルネットワークにおけるデバイスペアリング
<>
  • 特許6519904-ローカルネットワークにおけるデバイスペアリング 図000002
  • 特許6519904-ローカルネットワークにおけるデバイスペアリング 図000003
  • 特許6519904-ローカルネットワークにおけるデバイスペアリング 図000004
  • 特許6519904-ローカルネットワークにおけるデバイスペアリング 図000005
  • 特許6519904-ローカルネットワークにおけるデバイスペアリング 図000006
  • 特許6519904-ローカルネットワークにおけるデバイスペアリング 図000007
  • 特許6519904-ローカルネットワークにおけるデバイスペアリング 図000008
  • 特許6519904-ローカルネットワークにおけるデバイスペアリング 図000009
  • 特許6519904-ローカルネットワークにおけるデバイスペアリング 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6519904
(24)【登録日】2019年5月10日
(45)【発行日】2019年5月29日
(54)【発明の名称】ローカルネットワークにおけるデバイスペアリング
(51)【国際特許分類】
   H04W 76/10 20180101AFI20190520BHJP
   H04W 12/06 20090101ALI20190520BHJP
   H04W 12/02 20090101ALI20190520BHJP
   H04W 92/18 20090101ALI20190520BHJP
   G06F 21/44 20130101ALI20190520BHJP
【FI】
   H04W76/10
   H04W12/06
   H04W12/02
   H04W92/18
   G06F21/44
【請求項の数】15
【全頁数】23
(21)【出願番号】特願2018-509728(P2018-509728)
(86)(22)【出願日】2016年3月27日
(65)【公表番号】特表2018-522506(P2018-522506A)
(43)【公表日】2018年8月9日
(86)【国際出願番号】US2016024389
(87)【国際公開番号】WO2016175952
(87)【国際公開日】20161103
【審査請求日】2017年12月20日
(31)【優先権主張番号】62/154,874
(32)【優先日】2015年4月30日
(33)【優先権主張国】US
(31)【優先権主張番号】14/752,898
(32)【優先日】2015年6月27日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】517378810
【氏名又は名称】マカフィー,エルエルシー
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ランチョーニ、ゲルマン
(72)【発明者】
【氏名】モリーナ、エミリアーノ ガブリエル
(72)【発明者】
【氏名】マラー、パトリシオ エー.
【審査官】 石原 由晴
(56)【参考文献】
【文献】 米国特許出願公開第2015/0072653(US,A1)
【文献】 特開2013−251835(JP,A)
【文献】 米国特許第6580704(US,B1)
【文献】 米国特許第7181620(US,B1)
【文献】 国際公開第2014/163054(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24−7/26
H04W 4/00−99/00
G06F 21/44
3GPP TSG RAN WG1−4
SA WG1−4
CT WG1、4
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサに、
ローカルネットワークデバイスからの登録データを受信することであって、前記ローカルネットワークデバイスの前記登録データは、前記ローカルネットワークデバイスのローカルネットワークのSSIDまたはBSSIDを含む、受信することと
前記ローカルネットワークデバイスからの前記登録データを格納することと、
子デバイスからの登録データを受信することであって、前記電子デバイスの前記登録データは、前記電子デバイスのローカルネットワークのSSIDまたはBSSIDを含む、受信することと
一時的ペアリングコード(TPC)を前記ローカルネットワークデバイスへ送信することと、
記ローカルネットワークデバイスと前記電子デバイスとをペアリングするための要求を前記電子デバイスから受信することであって、前記要求は、前記TPCを含み、前記ローカルネットワークデバイスは、ネットワークに対して自体を露出する、受信することと
(a)前記電子デバイスの前記SSIDまたはBSSIDが、前記ローカルネットワークデバイスの前記SSIDまたはBSSIDとそれぞれ一致するかどうかおよび(b)前記TPCが無効でないかどうかを決定することによって、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するかどうかを決定することと、
前記SSIDまたはBSSIDが一致し、かつ、前記TPCが無効でないので、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するという決定に基づいて、前記ペアリングを許可することと
を実行させるプログラム。
【請求項2】
前記電子デバイスは、前記ローカルネットワークデバイスから前記TPCを要求して受信した、請求項1に記載のプログラム。
【請求項3】
記TPCは、前記ローカルネットワークデバイスから送信される前に暗号化されている、請求項2に記載のプログラム。
【請求項4】
記TPCは、前記ローカルネットワークデバイスに、または前記電子デバイスに永続的には格納されない、請求項1から3の何れか一項に記載のプログラム。
【請求項5】
前記SSIDまたはBSSIDが一致しないという決定に基づいて、または、前記TPCが無効であるという決定に基づいて、前記ペアリングは、許可されない、請求項1から4の何れか一項に記載のプログラム。
【請求項6】
メモリと、
ハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
ーカルネットワークデバイスからの登録データを受信し、前記ローカルネットワークデバイスの前記登録データは、前記ローカルネットワークデバイスのローカルネットワークのSSIDまたはBSSIDを含み、
前記ローカルネットワークデバイスからの前記登録データを格納し、
子デバイスからの登録データを受信し、前記電子デバイスの前記登録データは、前記電子デバイスのローカルネットワークのSSIDまたはBSSIDを含み、
一時的ペアリングコード(TPC)を前記ローカルネットワークデバイスへ送信し、
記ローカルネットワークデバイスと前記電子デバイスとをペアリングするための要を前記電子デバイスから受信し、前記要求は、前記TPCを含み、前記ローカルネットワークデバイスは、ネットワークに対して自体を露出し、
(a)前記電子デバイスの前記SSIDまたはBSSIDが、前記ローカルネットワークデバイスの前記SSIDまたはBSSIDとそれぞれ一致するかどうかおよび(b)前記TPCが無効でないかどうかを決定することによって、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するかどうかを決定し、
前記SSIDまたはBSSIDが一致し、かつ、前記TPCが無効でないので、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するという決定に基づいて、前記ペアリングを許可するよう構成される
置。
【請求項7】
前記電子デバイスは、前記ローカルネットワークデバイスからの前記TPCを要求して受信した、請求項6に記載の装置。
【請求項8】
記TPCは、前記ローカルネットワークデバイスに、または前記電子デバイスに永続的には格納されない、請求項6または7に記載の装置。
【請求項9】
前記SSIDまたはBSSIDが一致しないという決定に基づいて、または、前記TPCが無効であるという決定に基づいて、前記ペアリングは許可されない、請求項6から8の何れか一項に記載の装置。
【請求項10】
ローカルネットワークデバイスからの登録データを受信する段階であって、前記ローカルネットワークデバイスの前記登録データは、前記ローカルネットワークデバイスのローカルネットワークのSSIDまたはBSSIDを含む、受信する段階と
前記ローカルネットワークデバイスからの前記登録データを格納する段階と、
子デバイスからの登録データを受信する段階であって、前記電子デバイスの前記登録データは、前記電子デバイスのローカルネットワークのSSIDまたはBSSIDを含む、受信する段階と
一時的ペアリングコード(TPC)を前記ローカルネットワークデバイスへ送信する段階と、
記ローカルネットワークデバイスと前記電子デバイスとをペアリングするための要求を前記電子デバイスから受信する段階であって、前記要求は、前記TPCを含み、前記ローカルネットワークデバイスは、ネットワークに対して自体を露出する、受信する段階と、
(a)前記電子デバイスの前記SSIDまたはBSSIDが、前記ローカルネットワークデバイスの前記SSIDまたはBSSIDとそれぞれ一致するかどうかおよび(b)前記TPCが無効でないかどうかを決定することによって、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するかどうかを決定する段階と、
前記SSIDまたはBSSIDが一致し、かつ、前記TPCが無効でないので、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するという決定に基づいて、前記ペアリングを許可する段階と
を備える方法。
【請求項11】
記TPCは、前記ローカルネットワークデバイスへ送信される前に暗号化されている、請求項10に記載の方法。
【請求項12】
前記TPCは、前記ローカルネットワークデバイスに、または前記電子デバイスに永続的には格納されない、請求項10または11に記載の方法。
【請求項13】
前記SSIDまたはBSSIDが一致しないという決定に基づいて、または、前記TPCが無効であるという決定に基づいて、前記ペアリングは許可されない、請求項10から12の何れか一項に記載の方法。
【請求項14】
ローカルネットワークにおいてデバイスをペアリングするためのシステムであって、前記システムは
メモリと、
ハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
ーカルネットワークデバイスからの登録データを受信し、前記ローカルネットワークデバイスの前記登録データは、前記ローカルネットワークデバイスのローカルネットワークのSSIDまたはBSSIDを含み、
前記ローカルネットワークデバイスからの前記登録データを格納し、
子デバイスからの登録データを受信し、前記電子デバイスの前記登録データは、前記電子デバイスのローカルネットワークのSSIDまたはBSSIDを含み、
一時的ペアリングコード(TPC)を前記ローカルネットワークデバイスへ送信し、
記ローカルネットワークデバイスと前記電子デバイスとをペアリングするための要を前記電子デバイスから受信し、前記要求は、前記TPCを含み、前記ローカルネットワークデバイスは、ネットワークに対して自体を露出し、
(a)前記電子デバイスの前記SSIDまたはBSSIDが、前記ローカルネットワークデバイスの前記SSIDまたはBSSIDとそれぞれ一致するかどうかおよび(b)前記TPCが無効でないかどうかを決定することによって、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するかどうかを決定し、
前記SSIDまたはBSSIDが一致し、かつ、前記TPCが無効でないので、前記ローカルネットワークデバイスおよび前記電子デバイスが、同一のローカルネットワークにおいて同時に存在するという決定に基づいて、前記ペアリングを許可するよう構成される
ステム。
【請求項15】
記電子デバイスは、前記ローカルネットワークデバイスからの前記TPCを要求して受信した、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照] 本願は、2015年4月30日に出願された「ローカルネットワークにおけるデバイスペアリング」と題する米国仮出願第62/154,874号、および2015年6月27日に出願された「ローカルネットワークにおけるデバイスペアリング」と題する米国仮出願第14/752,898号の利益およびそれらに基づく優先権を主張し、それらの全体が本明細書に参照により組み込まれる。
【0002】
本開示は、概して、情報セキュリティの分野に関し、より具体的には、ローカルネットワークにおけるデバイスペアリングに関する。
【背景技術】
【0003】
ネットワークセキュリティの分野は、現代社会において、ますます重要になってきている。インターネットは、世界中の種々のコンピュータネットワークの相互接続を可能にしている。特に、インターネットは、様々な種類のクライアントデバイスを介して、種々のコンピュータネットワークに接続された種々のユーザ間でデータを交換するための媒体を提供する。インターネットの使用が、ビジネスコミュニケーションおよびパーソナルコミュニケーションを変化させてきた一方、それはまた、悪意のあるオペレータが、コンピュータおよびコンピュータネットワークへ不正アクセスを得るための、および機密情報の意図的なまたは不注意な開示のための手段として使われている。
【0004】
ホストコンピュータを感染させる悪意のあるソフトウェア(「マルウェア」)は、ホストコンピュータと関連付けられた企業または個人からの機密情報の盗取、他のホストコンピュータへの伝播、および/または分散サービス妨害攻撃に対する支援、ホストコンピュータからのスパムまたは悪意のある電子メールの送信などの任意の数の悪意のある動作を実行することが可能であり得る。加えて、システムにアクセスする悪意のあるオペレータは、機密情報を盗取すること、または任意の数の他の悪意のある動作を実行することが可能であり得る。従って、悪意のあるソフトウェアまたは悪意のあるオペレータによる、悪意のあるおよび不注意な不当利用から、コンピュータおよびコンピュータネットワークを保護するために、重要な管理上の課題が残る。
【図面の簡単な説明】
【0005】
本開示およびその特徴ならびに利益に対するより完全な理解を提供するため、添付の図と併せて以下の説明が参照される。同様の参照番号は、同様の部分を表す。
【0006】
図1A】本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システムの簡略ブロック図である。
【0007】
図1B】本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システムの簡略ブロック図である。
【0008】
図2】本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システムの簡略ブロック図である。
【0009】
図3】本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システムの簡略ブロック図である。
【0010】
図4】一実施形態に係る、通信システムと関連付けられ得る潜在的な動作を例示する簡略タイミングフロー図である。
【0011】
図5】一実施形態に係る、通信システムと関連付けられ得る潜在的な動作を例示する簡略フローチャートである。
【0012】
図6】一実施形態に係る、ポイントツーポイント構成で配置される例示的なコンピューティングシステムを例示するブロック図である。
【0013】
図7】本開示の例示的なARMエコシステムシステムオンチップ(SOC)と関連付けられる簡略ブロック図である。
【0014】
図8】一実施形態に係る、例示的なプロセッサコアを例示するブロック図である。
【0015】
図面の図は、それらの寸法が、本開示の範囲から逸脱することなく大幅に変更され得ることから、必ずしも縮尺通りに描かれていない。
【発明を実施するための形態】
【0016】
[例示的な実施形態] 以下の詳細な説明は、ローカルネットワークにおけるデバイスペアリングのための通信システムに関する装置、方法、およびシステムの例示的な実施形態を記述する。例えば、構造、機能、および/または特性のような特徴は、便宜上、1つの実施形態に関連して説明されている。様々な実施形態が、説明されている特徴のうち、任意の好適な1または複数で実装されてよい。
【0017】
図1Aは、本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システム100aの簡略ブロック図である。通信システム100aは、電子デバイス102、1または複数のローカルネットワークデバイス104aおよび104b、クラウドサービス106、ならびにサーバ108を含んでよい。電子デバイス102、ならびに1または複数のローカルネットワークデバイス104aおよび104bは、ローカルネットワーク110aを用いて互いに通信できる。電子デバイス102、ローカルネットワークデバイス104aおよび104b、クラウドサービス106、サーバ108、ならびにローカルネットワーク110aは、ネットワーク112を用いて互いに通信できる。
【0018】
電子デバイス102は、プロセッサ114a、メモリ116a、無線モジュール118、およびペアリングモジュール120aを含んでよい。ペアリングモジュール120aは、デバイス識別(ID)122a、ローカルネットワークID124、および一時的ペアリングコード126aを含んでよい。ローカルネットワークデバイス104aは、プロセッサ114b、メモリ116b、無線モジュール118、およびペアリングモジュール120bを含んでよい。ペアリングモジュール120bは、デバイスID122b、ローカルネットワークID124、および一時的ペアリングコード126bを含んでよい。ローカルネットワークデバイス104bは、プロセッサ114c、メモリ116c、無線モジュール118、およびペアリングモジュール120cを含んでよい。ペアリングモジュール120cは、デバイスID122c、ローカルネットワークID124、および一時的ペアリングコード126cを含んでよい。クラウドサービスは、ネットワークペアリングモジュール146aを含んでよい。ネットワークペアリングモジュール146aは、一時的ペアリングコード生成モジュール128aを含んでよい。サーバ108は、ネットワークペアリングモジュール146bを含んでよい。ネットワークペアリングモジュール146bは、一時的ペアリングコード生成モジュール128bを含んでよい。
【0019】
図1Bを参照すると、図1Bは、本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システム100bの簡略ブロック図である。通信システム100bは、ローカルネットワーク110bを含んでよい。ローカルネットワーク110bは、クラウドレット130を含んでよい。クラウドレット130は、ローカルネットワークペアリングモジュール132を含んでよい。ローカルネットワークペアリングモジュール132は、ローカル一時的ペアリングコード生成モジュール134を含んでよい。
【0020】
図1Aおよび1Bの要素は、任意の好適な接続(有線または無線)を使用する1または複数のインタフェースを通じて互いに連結されてよく、それにより、ネットワーク(例えば、ローカルネットワーク110aおよび110bならびにネットワーク112)通信のための実行可能な経路を提供する。さらに、図1Aおよび1Bのこれらの要素のうち任意の1または複数のものは、特定の構成の必要性に基づいて組み合わされ、またはアーキテクチャから除去され得る。通信システム100aは、ネットワークにおいてパケットを送信するまたは受信するために、伝送制御プロトコル/インターネットプロトコル(TCP/IP)通信が可能な構成を含み得る。また、通信システム100aおよび100bは、適切で、かつ特定の必要性に基づく場合、ユーザデータグラムプロトコル/IP(UDP/IP)または任意の他の好適なプロトコルと共に動作し得る。
【0021】
一例において、通信システム100aおよび100bは、ローカルネットワークにおけるデバイスペアリングを可能にするシステムを含むよう構成され得る。説明のための一例において、最初に、一時的ペアリングコード126a−126cは、電子デバイス102もしくはローカルネットワークデバイス104aおよび104b上にない、またはそれらに知られていない。また、通信システム100aの場合、クラウドサービス106またはサーバ108から、通信システム100bの場合、ローカル一時的ペアリングコード生成モジュール134から一旦得られると、一時的ペアリングコード126a−126cは、電子デバイス102、またはローカルネットワークデバイス104aおよび104bに永続的には格納されない。電子デバイス102とローカルネットワークデバイス104aまたは104bとをペアリングすることをユーザが望むとき、通信システム100aの場合、一時的ペアリングコード126a−126cは、クラウドサービス106またはサーバ108から取得されてよく、通信システム100bの場合、一時的ペアリングコード126a−126cは、ローカル一時的ペアリングコード生成モジュール134から取得されてよく、電子デバイス102とローカルネットワークデバイス104aまたは104bとを安全にペアリングするために用いられ得る。一実施形態において、任意の数の二次デバイスが用いられてよく、各二次デバイスに対してそれらの独自の一意的な一時的ペアリングコードを取得する。各一時的ペアリングコード(例えば、一時的ペアリングコード126a−126c)は、電子デバイス102またはローカルネットワークデバイス104aもしくは104bが、異なるネットワークへ移動(例えば、家庭用Wi−Fi(登録商標)ネットワークから職場用Wi−Fi(登録商標)ネットワークへ移動)するたびに変更可能である。電子デバイス102またはローカルネットワークデバイス104aもしくは104bが異なるネットワークに移動する場合、(例えば、クラウドサービス106との)再登録がなされる。クラウドサービス106およびサーバ108は、ネットワークペアリングモジュール146aまたは146bを含むだけでなく、登録されたデバイスと、指定された一時的ペアリングコードと、ネットワーク識別との間のマップも含むよう構成され得、その情報およびデータを用いて、デバイスがペアリングされるべき、またはリンクされるべきかを決定する。
【0022】
通信システム100aおよび100bの特定の例示的な技術を例示する目的のためには、ネットワーク環境をトラバースし得る通信を理解することが重要である。以下の基礎的情報は、本開示が適切に説明され得る根拠とみなされてよい。
【0023】
エンドユーザは、従来よりも多くの通信の選択肢を有している。多数の顕著な技術的傾向が、現在進行中である(例えば、より多くのコンピューティングデバイス、より多くの接続デバイスなど)。現在の1つの傾向は、モノのインターネット(IoT)として一般的に知られている。概して、IoTは、製造者、オペレータおよび/または他の接続デバイスとデータを交換することによって、各デバイスがより大きな価値およびサービスを実現することを可能にするべく、電子機器、ソフトウェア、センサ、および接続機能に組み込まれた物理的な対象物または「モノ」のネットワークである。各IoTまたは各ネットワークデバイスは、その組み込まれたコンピューティングシステムを通じて一意的に識別可能であるが、既存のインターネットインフラストラクチャ内およびネットワーク内で相互運用可能である。
【0024】
家庭用および産業用用途のIoTデバイスに対する需要の高まりは、これらを監視および統制するために、(ダッシュボードまたはコントローラアプリケーションを通じて)これらをリモートデバイスと接続する必要性を増加してもいる。例えば、家庭用監視カメラビデオストリームにアクセスするために、所有者のスマートフォンは、家庭用監視カメラに接続される必要がある。現在、IoTデバイスとスマートフォンとの間の検出および(アクセスを得ることとして理解される)接続は、単純でも安全でもない。例えば、IoTデバイスを接続するための典型的なシナリオは、デバイスを作動させること、デバイスのIPアドレスを位置特定すること、IPアドレスへナビゲートすること、および工場出荷時のデフォルトのユーザネームおよびパスワードでログオンすることを含んでよい。現在既知の解決手段は、出荷前、製造者によって予め設定されたユーザネームおよびパスワードを介するアクセス制御に単純に基づいている。ユーザはIoTデバイスにアクセスするために、IoTデバイスのIPアドレスを把握し、かつデフォルトの認証情報を入力することを担う。代替的な解決手段は、Bluetooth(登録商標)接続に典型的に基づき、ユーザはデバイスをペアリングするために、IoTデバイスを検出し、かつPIN(この場合も、製造者によって提供されるデフォルトのもの)を入力する必要がある。予め設定されたアカウント(例えば、ユーザ=admin、およびパスワード=admin)に起因して、かつ大部分のユーザは、1回目のログインの後、アカウントユーザネームおよびアカウントパスワードを変更しないため、これらの方法は、セキュリティリスクを呈する。加えて、これらの方法は、IoTデバイスをインストールおよび設定するための技術的バックグラウンドを有さないかもしれないホームユーザにとって、多くの場合複雑である。残念ながら、これは、IoTデバイスが作動され、誰でもがIoTデバイスにアクセスでき、1つのデバイスと任意の他のデバイスとの間に典型的に排他的な関係がない場合、IoTデバイスが完全に動作可能になるにつれていくつかの問題を生じさせ得る。これらおよび他の課題は、ローカルネットワークにおいて、IoTデバイスのペアリングを場合により困難かつ安全でないものにする。
【0025】
デバイスの検出を含まず、単にペアリングを含むという、代替的な解決手段がある。この種の解決手段は、ユーザアカウントおよびクラウドサービスに基づいて、デバイスをマッチングさせる。しかしながら、ユーザは、後に当該2つのデバイス間の関係性を生成するために、アカウントを作成し、両方のデバイス(例えば、スマートフォンおよびIoTデバイス)にログインする必要がある。IoTデバイスは通常ディスプレイを持たない、または、限定的な入力部を有するので、この種の解決手段は、IoTデバイスに適していない。従って、ユーザアカウントを設定することが常に可能な訳ではない。加えて、クラウドサービスは、典型的に、各ベンダの特定のユーザアカウントをユーザが作成することを必要とする。ユーザは、全てのアカウントパスワードを覚えていない場合がある、または、さらに悪い場合には、全てのアカウントに対して同一のパスワードを用いるであろうため、セキュリティが大幅に影響を受けるであろう。
【0026】
図1Aおよび1Bで概説されている、ローカルネットワークにおけるデバイスペアリングのための通信システムは、これら(およびその他)の課題を解決できる。通信システム100aおよび100bにおいて、ローカルネットワークにおけるデバイスをペアリングするために、システムは、クラウドセキュリティチェックポイントの使用によって強化されたネットワークサービス検出プロトコルの一種を含めることによって、コンシューマ/コマンダデバイス(例えば、スマートフォン)と、IoTデバイス(プロバイダ/アクチュエータデバイス)との間の安全なリンクを見つけるおよび確立するよう構成され得る。通信システム100aは、セキュリティチェックポイントとして作用するクラウドサービス、およびネットワークサービス検出プロトコルの一種を含んでよい。ネットワークサービス検出プロトコルの一種は、データ露出段階中の暗号化、ならびに関与するデバイスによって満たされる必要がある1セットのコンテキストルールおよび検証を含む。通信システム100bは、セキュリティチェックポイントとして作用するクラウドレットをローカルネットワークにおいて含んでよい。一例において、通信システム100aおよび100bは、既存のWi−Fi(登録商標)インフラストラクチャに基づいていることによって、IoTデバイスの本質的な定義に準拠し得る。加えて、通信システム100aおよび100bは、Bluetooth(登録商標)またはNFC(登録商標)のような追加のハードウェアを必要としないよう、検出過程およびリンク過程中に、IoTデバイスとの熟練ユーザインタラクションを必要としないよう、単独で動作する、または既存の解決手段に加えて追加の層(例えば、工場出荷時の一般的な認証情報以外)として動作することが考えられるよう、および、最初からセキュリティを提供し、かつIoTデバイスに対する不正アクセスの機会を低減するよう構成され得る。
【0027】
通信システム100aおよび100bの1つの実装例は、スマートホームアプリケーションが、IoT家庭用電化製品をスマートフォンおよびタブレットのようなコントローラデバイスと安全にリンクするために必要なメカニズムを提供するので、スマートホームアプリケーションに好適であってよい。それらの全てが、同一のローカル環境に共存し、家庭用Wi−Fi(登録商標)ネットワークによって範囲を定められる。通信システム100aおよび100bは、産業目的のために好適であってもよく、技術者が、工場においてIoTデバイスを検出およびIoTデバイスとリンクするために便利でかつ安全な方式を提供する。通信システム100aおよび100bは、IoTデバイスのインストールとユーザの最初のアクセスとの間のタイムウィンドウにおいて、セキュリティギャップがないよう構成され得る。IoTデバイスへの許可されていないアクセスは、デフォルトの工場出荷時ログイン認証情報(例えばadmin/admin)をユーザが変更し忘れた場合、回避され得る。
【0028】
図1Aおよび1Bのインフラストラクチャを参照すると、例示的な一実施形態に係る通信システム100aおよび100bが示される。概して、通信システム100aおよび100bは、任意の種類のまたは任意のトポロジのネットワークにおいて実装されてよい。ローカルネットワーク110aおよび100bならびにネットワーク112は、通信システム100aおよび100bを通じて伝播する情報のパケットを受信および送信するための、相互接続された通信経路の一連のポイントまたはノードを表す。ローカルネットワーク110aおよび100bならびにネットワーク112は、ノード間の通信インタフェースを提供し、任意のローカルエリアネットワーク(LAN)、仮想ローカルエリアネットワーク(VLAN)、ワイドエリアネットワーク(WAN)、無線ローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、および有線および/または無線通信を含むネットワーク環境において通信を容易にする、任意の他の適切なアーキテクチャもしくはシステム、またはそれらの任意の好適な組み合わせとして構成されてよい。
【0029】
通信システム100aおよび100bおいて、パケット、フレーム、信号(アナログ、デジタル、またはその2つの任意の組み合わせ)、データなどを含むネットワークトラフィックは、任意の好適な通信メッセージングプロトコルに従って送信されおよび受信され得る。好適な通信メッセージングプロトコルは、開放型システム間相互接続(OSI)モデル、またはそれらのあらゆる派生例もしくは変形例(例えば、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル/IP(UDP/IP))のような多層スキームを含んでよい。さらに、(例えば、セルラーネットワークを介した)無線信号通信が、通信システム100aおよび100bにおいて提供されてもよい。好適なインタフェースおよびインフラストラクチャは、セルラーネットワークとの通信を可能にするために提供されてもよい。
【0030】
本明細書で用いられている「パケット」という用語は、パケット交換ネットワーク上で、送信元ノードと宛先ノードとの間でルーティングされ得るデータ単位を指す。パケットは、送信元ネットワークアドレスおよび宛先ネットワークアドレスを含む。これらのネットワークアドレスは、TCP/IPメッセージングプロトコルにおけるインターネットプロトコル(IP)アドレスであってよい。本明細書で用いられている「データ」という用語は、電子デバイスおよび/またはネットワークにおいて1つのポイントから別のポイントに伝達され得る、任意の種類のバイナリ、数値、音声、ビデオ、テキストもしくはスクリプトのデータ、または任意の種類のソースコードもしくはオブジェクトコード、または、任意の適切なフォーマットの任意の他の好適な情報を指す。さらに、メッセージ、要求、応答およびクエリは、ネットワークトラフィックの形式であり、従って、パケット、フレーム、信号、データなどを備え得る。
【0031】
例示的な一実装例において、電子デバイス102、ローカルネットワークデバイス104aおよび104b、クラウドサービス106ならびにサーバ108は、ネットワーク機器、サーバ、ルータ、スイッチ、ゲートウェイ、ブリッジ、ロードバランサ、プロセッサ、モジュール、または任意の他のネットワーク環境において情報を交換するために動作可能な好適なデバイス、コンポーネント、要素もしくはオブジェクトを包含するよう意図されたネットワーク要素である。ネットワーク要素は、それらの動作を容易にする、任意の好適なハードウェア、ソフトウェア、コンポーネント、モジュールまたはオブジェクト、ならびにネットワーク環境において、データもしくは情報を受信、送信および/またはその他の方法で伝達するための好適なインタフェースも含み得る。これは、データまたは情報の効果的な交換を可能にする適切なアルゴリズムおよび通信プロトコルを含み得る。
【0032】
通信システム100aおよび100bと関連付けられた内部構造に関して、電子デバイス102、ローカルネットワークデバイス104aおよび104b、クラウドサービス106、ならびにサーバ108の各々は、本明細書に概説されている動作において用いられるべき情報を格納するためのメモリ要素を含んでよい。電子デバイス102、ローカルネットワークデバイス104aおよび104b、クラウドサービス106、ならびにサーバ108の各々は、任意の好適なメモリ要素(例えば、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、特定用途向け集積回路(ASIC)、不揮発性メモリ(NVRAM)、磁気ストレージ、光磁気ストレージ、フラッシュストレージ(SSD)など)、ソフトウェア、ハードウェア、ファームウェアにおいて、または適切で、かつ特定の必要性に基づいた任意の他の好適なコンポーネント、デバイス、要素もしくはオブジェクトにおいて、情報を保存し得る。本明細書に記載されているメモリアイテムの何れも、「メモリ要素」という広義の用語内に包含されているとして解釈されるべきである。さらに、通信システム100aおよび100bにおいて用いられている、追跡されている、送信されている、受信されている情報は、任意のデータベース、レジスタ、キュー、テーブル、キャッシュ、制御リスト、または他のストレージ構造において提供され得、その全ては、任意の好適なタイムフレームにおいて参照され得る。そのようなストレージの選択肢の何れも、本明細書で用いられている「メモリ要素」という広義の用語内に含まれ得る。
【0033】
特定の例示的な実装例において、本明細書に概説されている機能は、非一時的コンピュータ可読媒体を含み得る1または複数の有形媒体内に符号化されているロジック(例えば、ASIC内に設けられる埋込みロジック、デジタル信号プロセッサ(DSP)命令、プロセッサ、または、他の同様の機械などによって実行される(オブジェクトコードおよびソースコードを潜在的に含む)ソフトウェア)によって実装され得る。これらの例のいくつかにおいて、メモリ要素は、本明細書に説明されている動作に用いられるデータを格納できる。これは、本明細書に説明されているアクティビティを行うために実行されるソフトウェア、ロジック、コードまたはプロセッサ命令を格納することを可能にするメモリ要素を含む。
【0034】
例示的な一実装例において、電子デバイス102、ローカルネットワークデバイス104aおよび104b、クラウドサービス106、ならびにサーバ108のような通信システム100aおよび100bのネットワーク要素は、本明細書に概説されている動作を実現または促進するために、ソフトウェアモジュール(例えばペアリングモジュール120a−120c、ネットワークペアリングモジュール146aおよび146b、ローカルネットワークペアリングモジュール132、ローカル一時的ペアリングコード生成モジュール134など)を含み得る。これらのモジュールは、特定の構成および/またはプロビジョニングの必要性に基づき得る、任意の適切な態様で、好適に組み合わされ得る。いくつかの実施形態において、そのような動作は、意図される機能を実現するために、これらの要素の外部に実装されるハードウェアによって、またはいくつかの他のネットワークデバイス内に含まれるハードウェアによって実行され得る。さらに、モジュールは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の好適な組み合わせとして実装され得る。これらの要素は、本明細書に概説されているような動作を実現するために、他のネットワーク要素と連携できるソフトウェア(またはレシプロケーティングソフトウェア)も含み得る。
【0035】
さらに、電子デバイス102、ローカルネットワークデバイス104aおよび104b、クラウドサービス106、ならびにサーバ108の各々は、本明細書に記載されているようなアクティビティを実行するためのソフトウェアまたはアルゴリズムを実行できるプロセッサを含み得る。プロセッサは、本明細書に詳述されている動作を実現するために、データと関連付けられたあらゆる種類の命令を実行できる。1つの例において、プロセッサは、要素または物(例えばデータ)を1つの状態またはモノから別の状態またはモノへ変換できる。別の例において、本明細書に概説されているアクティビティは、固定ロジックまたはプログラマブルロジック(例えば、プロセッサによって実行されるソフトウェア/コンピュータ命令)で実装され得る。本明細書で識別される要素は、デジタルロジック、ソフトウェア、コード、電子命令、またはそれらの任意の好適な組み合わせを含む、何らかの種類のプログラマブルプロセッサ、プログラマブルデジタルロジック(例えば、フィールドプログラマブルゲートアレイ(FPGA)、EPROM、EEPROM)、またはASICであり得る。本明細書に説明されている、潜在的な処理要素、モジュールおよび機械の何れも、「プロセッサ」という広義の用語内に包含されていると解釈されるべきである。
【0036】
電子デバイス102は、ネットワーク要素であってよく、例えば、デスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、パーソナルデジタルアシスタント、スマートフォン、タブレット、ウェアラブル、または他の同様のデバイスを含む。ローカルネットワークデバイス104aおよび104bは、ネットワーク要素であってよく、例えば、ラップトップコンピュータ、モバイルデバイス、パーソナルデジタルアシスタント、スマートフォン、タブレット、ウェアラブル、IoT、または他の同様のデバイスを含む。クラウドサービス106は、電子デバイス102ならびにローカルネットワークデバイス104aおよび104bにクラウドサービスを提供するよう構成される。クラウドサービスは、概して、インターネットのようなネットワークを介したサービスとして供給されるコンピューティングリソースを用いることと定義される。サービスは、電子デバイス102、ローカルネットワークデバイス104aおよび104b、ならびにクラウドサービス106に必要とされるサポートを提供するために、分散されおよび分離され得る。典型的に、計算、ストレージ、およびネットワークリソースは、クラウドインフラストラクチャにおいて提供され、作業負荷をローカルネットワークからクラウドネットワークへ効果的にシフトさせる。サーバ108は、サーバまたは仮想サーバのようなネットワーク要素であってよく、何らかのネットワーク(例えば、ネットワーク112)を介する通信システム100aにおいて通信を開始することを望んでいる、クライアント、顧客、エンドポイントまたはエンドユーザと関連付けられてよい。「サーバ」という用語は、クライアントの要求を果たすため、および/または通信システム100a内でクライアントに代わって、何らかの計算タスクを実行するために用いられるデバイスを含む。ネットワークペアリングモジュール146aおよび146bは、図1Aにおいて、クラウドサービス106内およびサーバ108内のそれぞれに配置されているよう示されているが、これは、例示目的に過ぎない。ネットワークペアリングモジュール146aおよび146bは、任意の好適な構成で組み合わされ得、または分離され得る。さらに、ネットワークペアリングモジュール146aおよび146bは、電子デバイス102ならびにローカルネットワークデバイス104aおよび104bによってアクセス可能である別のネットワークと統合され得、または、別のネットワーク内に分散され得る。
【0037】
図2を参照すると、図2は、本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システム100aの一部の簡略ブロック図である。図2に例示されているように、電子デバイス102は、スマートフォンであってよく、ローカルネットワークデバイス104aは、スマートサーモスタットであってよい。ルータ136は、電子デバイス102とローカルネットワークデバイス104aとの間の通信リンクを提供するためのローカルネットワーク110aを生成できる。ルータ136は、ネットワーク112(不図示)を通じて、クラウドサービス106と通信を行うWi−Fi(登録商標)ルータであってよい。
【0038】
まず、電子デバイス102とローカルネットワークデバイス104aの両方は、それらの独自のデバイスIDを用いて、およびルータ136のWi−Fi(登録商標)SSID/BSSIDを登録適用範囲として、クラウドサービス106に一時的に登録される。一例において、BSSIDは、ネットワークの各アクセスポイントにおいて一意的である。BSSIDは、ペアリングに関与するデバイスが、同一のローカルネットワークにおいて同時に存在するかどうかを検証するために、ネットワークペアリングモジュール146aによって用いられ得る。何らかの理由で、デバイスが1つのWi−Fi(登録商標)SSIDから別のWi−Fi(登録商標)SSIDに変更されると、登録は無効にされ、デバイスが再度ペアリングされる必要があるであろう。
【0039】
登録後、ローカルネットワークデバイス104aは、クラウドサービス106から一時的ペアリングコード(TPC)を要求できる。このコードは、短い有効期間(例えば5分間)を有する。このTPCを用いて、ローカルネットワークデバイス104aは、ドメインネームシステム(DNS)サービス検出またはマルチキャストDNSを通じて自体を露出できる。DNSにおけるパッケージのペイロードは、(NSDプロトコルがサポートしている暗号化の一種を用いて)暗号化されたTPCを含んでよい。
【0040】
電子デバイス102は、DNSサービス検出を通じて、ローカルネットワークデバイス104aの検出を開始できる。一旦ローカルネットワークデバイス104aが見つかると、TPCは、パッケージのペイロードから抽出される。ローカルネットワークデバイス104aとのリンクを確立するため、電子デバイス102は、TPCを送信することによって、クラウドサービス106に対する要求を実行する。クラウドサービス106は、TPCが有効で、かつ事前に登録されたローカルネットワークデバイス104aに属し、両方のデバイスが、同一の適用範囲下(例えば、同一のSSIDおよびタイムフレーム下)にあることを検証できる。ペアリングのための条件が満たされた場合、クラウドサービス106は、デバイス間のリンクを許可できる。リンクが許可された場合、クラウドサービス106は、リンク指示をローカルネットワークデバイス104aへプッシュできる。それには、これ以降、ローカルネットワークデバイス104aは、電子デバイス102によってコマンドされ、かつ、ローカルネットワークデバイス104aは、リンクされた電子デバイス102に関連する動作のみに応答する、または該動作を可能にするであろうと提示されている。
【0041】
図3を参照すると、図3は、本開示の一実施形態に係る、ローカルネットワークにおけるデバイスペアリングのための通信システム100aの一部の簡略ブロック図である。図3に例示されているように、悪意のあるデバイス144は、ローカルネットワークデバイス104aとペアリングされることを阻止され得る。まず、ローカルネットワークデバイス104aと悪意のあるデバイス144の両方は、それら独自のデバイスIDを用いて、クラウドサービス106に一時的に登録される。ローカルネットワークデバイス104aは、ルータ136のWi−Fi(登録商標)SSID/BSSIDをその登録適用範囲として含み得、悪意のあるデバイス144は、第2のルータ140のWi−Fi(登録商標)SSID/BSSIDをその登録適用範囲として含み得る。この例において、ローカルネットワークデバイス104aのWi−Fi(登録商標)SSIDが、悪意のあるデバイス144のWi−Fi(登録商標)SSIDとは異なるので、2つのデバイスのペアリングは、許可されないであろう。加えて、電子デバイス102が、ローカルネットワーク110aから別のローカルネットワーク142に移動し、ローカルネットワーク110aに依然として配置されるローカルネットワークデバイス104aとリンクすることを試みる場合、次に、電子デバイス102の適用範囲がローカルネットワークデバイス104aの適用範囲と一致しないので、リンクは、クラウドサービス106におけるネットワークペアリングモジュール146aによって拒否されるであろう。この例における適用範囲は、ローカルネットワーク識別(例えばWi−Fi(登録商標)に一意的なBSSID、およびリンクが要求される時点で無効であってはならない一時的ペアリングコード)である。
【0042】
図4を参照すると、図4は、一実施形態に係る、ローカルネットワークにおけるデバイスペアリングと関連付けられ得る、考えられる動作を例示する例示的なタイミングフロー図である。一実施形態において、電子デバイス102およびローカルネットワークデバイス104aは、クラウドサービス106へ一時的な登録を伝達する。ローカルネットワークデバイス104aは、クラウドサービス106からの一時的ペアリングコードに対する要求を伝達でき、クラウドサービス106は、一時的ペアリングコードをローカルネットワークデバイス104aへ送信できる。電子デバイス102は、(例えばNSDを通じて)ローカルネットワーク検出を開始でき、ローカルネットワークデバイス104aは、NSDを通じて、暗号化された一時的ペアリングコードを用いて、ネットワークに対して自体を露出できる。電子デバイス102は、ローカルネットワークデバイス104aから一時的ペアリングコードを検出および取得でき、クラウドサービス106に対して、デバイス間のリンクの要求を送信できる。クラウドサービス106は、一時的ペアリングコードの適用範囲を検証でき、かつ一時的ペアリングコードの適用範囲が有効である場合、次に、クラウドサービス106は、電子デバイス102とローカルネットワークデバイス104aとの間のリンクを許可できる。クラウドサービス106は、電子デバイス102およびローカルネットワークデバイス104aへリンク指示を伝達できる。
【0043】
図5を参照すると、図5は、一実施形態に係る、ローカルネットワークにおけるデバイスペアリングと関連付けられ得る、フロー500の考えられる動作を例示する例示的なフローチャートである。一実施形態において、フロー500の1または複数の動作は、ペアリングモジュール120a−120c、ネットワークペアリングモジュール146aおよび146b、ならびにローカルネットワークペアリングモジュール132のうち1または複数によって実行され得る。502において、ローカルネットワークデバイスは、ネットワークペアリングモジュールを用いて登録される。504において、電子デバイスは、ネットワークペアリングモジュールを用いて登録される。506において、ローカルネットワークデバイスと電子デバイスとをリンクする要求が、ネットワークペアリングモジュールに伝達される。508において、システムは、リンク要求が適切なデータおよび情報を含むかどうかを決定する。例えば、リンク要求は、適切な一時的ペアリングコードおよびWi−Fi(登録商標)SSIDを含むべきである。一例において、一時的ペアリングコードは、電子デバイスまたはローカルネットワークデバイスが、異なるネットワークへ移動(例えば、家庭用Wi−Fi(登録商標)ネットワークから職場用または公共のWi−Fi(登録商標)ネットワークへ移動)するたびに変更可能である。デバイスが異なるネットワークに移動する場合、(例えば、クラウドサービス106と)再登録がなされる必要がある。クラウドサービス106およびサーバ108は、登録されたデバイスと、指定された一時的ペアリングコードと、ネットワーク識別との間のマップを含み得、その情報およびデータを用いて、デバイスがペアリングされるべき、またはリンクされるべきかを決定する。リンク要求が適切なデータおよび情報を含むとシステムが決定した場合、次に、510に示されるように、リンク要求は許可される。リンク要求が適切なデータおよび情報を含まないとシステムが決定した場合、次に、512に示されるようにリンク要求は許可されない。
【0044】
図6を参照すると、図6は、一実施形態に係る、ポイントツーポイント(PtP)構成で配置されるコンピューティングシステム600を例示する。特に、図6は、プロセッサ、メモリ、入出力デバイスが、多数のポイントツーポイントインタフェースによって相互接続されるシステムを示す。概して、通信システム100のネットワーク要素のうち1または複数は、コンピューティングシステム600と同一のまたは同様の態様で構成されてよい。
【0045】
図6に例示されているように、システム600は、いくつかのプロセッサを含み得るが、明確にするために、それらのうちプロセッサ670および680の2つのみが示されている。2つのプロセッサ670および680が示されている一方、システム600の一実施形態は、そのようなプロセッサを1つだけ含んでもよいことが、理解されるべきである。プロセッサ670および680の各々は、プログラムの複数のスレッドを実行するための1セットのコア(すなわち、プロセッサコア674Aおよび674B、ならびにプロセッサコア684Aおよび684B)を含んでよい。コアは、図1A−5に関連して上述されているものと同様の態様で、命令コードを実行するよう構成されてよい。各プロセッサ670、680は、少なくとも1つの共有キャッシュ671、681を含み得る。共有キャッシュ671、681は、プロセッサコア674および684のような、プロセッサ670、680の1または複数のコンポーネントによって利用されるデータ(例えば命令)を格納し得る。
【0046】
プロセッサ670および680の各々は、メモリ要素632および634と通信するための集積メモリコントローラロジック(MC)672および682を含んでもよい。メモリ要素632および/または634は、プロセッサ670および680によって用いられる様々なデータを格納し得る。代替的な実施形態において、メモリコントローラロジック672および682は、プロセッサ670および680とは分離したディスクリートロジックであってよい。
【0047】
プロセッサ670および680は、あらゆる種類のプロセッサであり得、それぞれ、ポイントツーポイントインタフェース回路678および688を用いて、ポイントツーポイント(PtP)インタフェース650を介してデータを交換し得る。プロセッサ670および680の各々は、ポイントツーポイントインタフェース回路676、686、694および698を用いて、個々のポイントツーポイントインタフェース652および654を介して、チップセット690とデータを交換し得る。チップセット690は、PtPインタフェース回路であり得るインタフェース回路692を用いて、高性能グラフィックスインタフェース639を介して、高性能グラフィックス回路638とデータを交換してもよい。代替的な実施形態において、図6に例示されている、任意のまたは全てのPtPリンクは、PtPリンクではなく、マルチドロップバスとして実装され得る。
【0048】
チップセット690は、インタフェース回路696を介して、バス620と通信を行ってよい。バス620は、バスブリッジ618およびI/Oデバイス616のような、それを介して通信する1または複数のデバイスを有してよい。バス610を介して、バスブリッジ618は、キーボード/マウス612(またはタッチスクリーン、トラックボールのような他の入力デバイスなど)、通信デバイス626(モデム、ネットワークインタフェースデバイス、またはコンピュータネットワーク660を通じて通信し得る、他の種類の通信デバイスのような)、オーディオI/Oデバイス614、および/またはデータストレージデバイス628のような他のデバイスと通信を行ってよい。データストレージデバイス628は、プロセッサ670および/または680によって実行され得るコード630を格納し得る。代替的な実施形態において、バスアーキテクチャの任意の部分は、1または複数のPtPリンクで実装され得る。
【0049】
図6に図示されているコンピュータシステムは、本明細書に記載されている様々な実施形態を実装するために利用され得る、コンピューティングシステムの一実施形態の概略図である。図6に図示されているシステムの様々なコンポーネントは、システムオンチップ(SoC)アーキテクチャで、または任意の他の好適な構成で組み合わされ得ることが理解されるであろう。例えば、本明細書に開示されている実施形態は、スマートセルラーフォン、タブレットコンピュータ、パーソナルデジタルアシスタント、携帯型ゲーム機などのようなモバイルデバイスを含むシステム内に組み込まれ得る。これらのモバイルデバイスには、いくつかの実施形態においてSoCアーキテクチャが設けられることが理解されるであろう。
【0050】
図7を参照すると、図7は、本開示の例示的なARMエコシステムSOC700と関連付けられる簡略ブロック図である。本開示の少なくとも1つの例示的な実装例は、本明細書に記載されているローカルネットワークにおけるデバイスペアリングの特徴、およびARMコンポーネントを含んでよい。例えば、図7の例は、任意のARMコア(例えばA−9、A−15など)と関連付けられてよい。さらに、アーキテクチャは、あらゆる種類のタブレット、スマートフォン(Android(登録商標)フォン、iPhone(登録商標)を含む)、iPad(登録商標)、Google Nexus(登録商標)、Microsoft Surface(登録商標)、パーソナルコンピュータ、サーバ、ビデオ処理コンポーネント、ラップトップコンピュータ(あらゆる種類のノートブックを含む)、Ultrabook(登録商標)システム、あらゆる種類のタッチ式入力デバイスなどの一部であってよい。
【0051】
図7のこの例において、ARMエコシステムSOC700は、LCDに連結する、モバイルインダストリプロセッサインタフェース(MIPI)/高解像度マルチメディアインタフェース(HDMI(登録商標))リンクと関連付けられ得る、複数のコア706−707、L2キャッシュ制御708、バスインタフェースユニット709、L2キャッシュ710、グラフィックス処理ユニット(GPU)715、相互接続702、ビデオコーデック720、および液晶ディスプレイ(LCD)I/F725を含み得る。
【0052】
ARMエコシステムSOC700は、加入者識別モジュール(SIM)I/F730、ブートリードオンリメモリ(ROM)735、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)コントローラ740、フラッシュコントローラ745、シリアル周辺インタフェース(SPI)マスタ750、好適な電力制御755、ダイナミックRAM(DRAM)760、およびFlash765も含み得る。加えて、1または複数の実施形態は、1または複数の通信能力、インタフェースおよびBluetooth(登録商標)770、3Gモデム775、全地球測位システム(GPS)780および802.11Wi−Fi(登録商標)785の例のような特徴を含む。
【0053】
動作において、図7の例は、比較的低い消費電力とともに、様々な種類のコンピューティング(例えば、モバイルコンピューティング、ハイエンドデジタルホーム、サーバ、無線インフラストラクチャなど)を可能とする処理能力を提供できる。加えて、このようなアーキテクチャは、任意の数のソフトウェアアプリケーション(例えば、Android(登録商標)、Adobe(登録商標)Flash(登録商標)Player、Java(登録商標)Platform Standard Edition(Java(登録商標)SE)、Java(登録商標)FX、Linux(登録商標)、Microsoft Windows(登録商標)Embedded、SymbianおよびUbuntuなど)を可能にし得る。少なくとも1つの例示的な実施形態において、コアプロセッサは、連結された低レイテンシレベル2キャッシュを有するアウトオブオーダスーパースカラパイプラインを実装し得る。
【0054】
図8は、一実施形態に係るプロセッサコア800を例示する。プロセッサコア800は、マイクロプロセッサ、組込みプロセッサ、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、または、コードを実行する他のデバイスのような、任意の種類のプロセッサ用のコアであってよい。図8において、1つのプロセッサコア800のみが例示されているが、プロセッサは、図8に例示されているプロセッサコア800の1つより多くを代替的に含んでよい。例えば、プロセッサコア800は、図6のプロセッサ670および680に関連して示されおよび説明されている、プロセッサコア674a、674b、684aおよび684bの1つの例示的な実施形態を表す。プロセッサコア800は、シングルスレッドコアであってよく、または、少なくとも1つの実施形態に関して、プロセッサコア800は、コアごとに1つより多くのハードウェアスレッドコンテキスト(または「ロジカルプロセッサ」)を含み得るという点で、マルチスレッドコアであってよい。
【0055】
図8は、また、一実施形態に係る、プロセッサコア800に連結されたメモリ802を例示する。メモリ802は、既知のまたはそうでなければ当業者に利用可能な多種多様なメモリ(メモリ階層の様々な層を含む)の何れかであってよい。メモリ802は、プロセッサコア800によって実行されるべき1または複数の命令であり得るコード804を含み得る。プロセッサコア800は、コード804によって示される、命令のプログラムシーケンスに従い得る。各命令は、フロントエンドロジック806に入り、1または複数のデコーダ808によって処理される。デコーダは、その出力として、予め定義されたフォーマットで固定幅のマイクロオペレーションのようなマイクロオペレーションを生成してよく、または元のコード命令を反映する他の命令、マイクロ命令、もしくは制御信号を生成してよい。フロントエンドロジック806は、レジスタリネーミングロジック810およびスケジューリングロジック812も含み、これらは概してリソースを割り当て、実行の命令に対応する動作をキューに登録する。
【0056】
プロセッサコア800は、1セットの実行ユニット816−1から816−Nを有する実行ロジック814を含んでもよい。いくつかの実施形態は、特定の機能または複数の機能セット専用の多数の実行ユニットを含み得る。他の実施形態は、1つの実行ユニットのみ、または特定の機能を実行できる1つの実行ユニットを含み得る。実行ロジック814は、コード命令によって指定される動作を実行する。
【0057】
コード命令によって指定される動作の実行が完了した後、バックエンドロジック818は、コード804の命令をリタイアできる。1つの実施形態において、プロセッサコア800は、アウトオブオーダ実行を許可するが、命令のインオーダリタイアメントを必要とする。リタイアメントロジック820は、(例えばリオーダバッファまたは同様の)様々な既知の形式を取ってよい。このように、少なくとも、デコーダ、レジスタリネーミングロジック810によって利用されるハードウェアレジスタおよびテーブル、ならびに実行ロジック814によって変更される任意のレジスタ(不図示)により生成される出力に関して、プロセッサコア800は、コード804の実行中に変換される。
【0058】
図8に例示されていないが、プロセッサは、プロセッサコア800と共に他の要素をチップ上に含んでよく、少なくともそれらのうちいくつかは、図6に関連して本明細書に示されおよび説明されている。例えば、図6に示されているように、プロセッサは、プロセッサコア800と共にメモリ制御ロジックを含み得る。プロセッサは、I/O制御ロジックを含んでよく、および/またはメモリ制御ロジックと統合されるI/O制御ロジックを含んでよい。
【0059】
本明細書に提供されている例に関して、インタラクションは、2つ、3つまたはそれより多くのネットワーク要素に関して説明され得ることに留意されたい。しかしながら、これは単に、明確性および例示目的のためになされているものである。特定の場合には、限定的な数のネットワーク要素のみを参照することによって、所与のセットのフローの1または複数の機能を説明することがより容易になる場合がある。通信システム100aおよび100bならびにそれらの教示は、容易に拡張可能であり、数多くのコンポーネント、ならびにより複雑な/高性能の配置および構成にも対応できることが理解されるべきである。従って、提供されている例は、潜在的に無数の他のアーキテクチャに適用されるので、通信システム100の範囲を限定し、またはその広範な教示を阻むべきではない。
【0060】
前述されたフロー図(すなわち図4および5)における動作は、考えられる相関シナリオおよびパターンのうち、通信システム100aおよび100bによって実行され得る、または通信システム100aおよび100b内にある、いくつかのものだけを例示していることに留意することも重要である。これらの動作のうちいくつかのものは、適切な箇所で削除されもしくは除去されてよく、または、これらの動作は、本開示の範囲から逸脱することなく、大幅に修正もしくは変更されてよい。加えて、これらの動作の多数は、1または複数の追加的な動作と同時にまたは並行して実行されていると説明されている。しかしながら、これらの動作のタイミングは、大幅に変更され得る。前述された動作のフローは、例示および説明目的のために提供されている。任意の好適な配置、時系列、構成およびタイミングのメカニズムが、本開示の教示から逸脱することなく提供され得るという点で、大きな柔軟性が、通信システム100aおよび100bによって提供される。
【0061】
本開示は、特定の配置および構成に関連して詳細に説明されているが、これらの例示的な構成および配置は、本開示の範囲から逸脱することなく著しく変更され得る。
さらに、特定のコンポーネントが、特定の必要性および実装に基づいて、組み合わされ、分離され、排除され、または追加され得る。さらに、通信システム100aおよび100bは、通信過程を容易にする特定の要素および動作に関連して例示されているが、これらの要素および動作は、通信システム100aおよび100bの意図される機能を実現する、任意の好適なアーキテクチャ、プロトコル、および/または過程によって置き換えられてよい。
【0062】
多数の他の変更、代替、変形、改変および修正が、当業者に確認され得て、本開示は、全てのそのような変更、代替、変形、改変および修正を添付の特許請求の範囲内に含まれるものとして包含することが意図される。米国特許商標庁(USPTO)を補助するため、さらに、本明細書に添付の特許請求の範囲の解釈において、本願に基づいて発行された任意の特許のあらゆる読者を補助するため、出願人は、(a)「の手段(means for)」または「の段階(step for)」という文言が、特定の特許請求の範囲において具体的に用いられない限り、出願日において本明細書に存在するよう、添付の特許請求の範囲の何れかに米国特許法第112条第6段落を援用することを出願人が意図しない、(b)明細書におけるあらゆる記述によって、決して、本開示をそうでなければ添付の特許請求の範囲に反映されないように限定することを出願人が意図しない、ことに留意することを望んでいる。
【0063】
[他の留意事項および例] 例C1は、少なくとも1つのプロセッサによって実行される場合、ローカルネットワークデバイスの登録データを受信することと、電子デバイスの登録データを受信することと、ローカルネットワークデバイスと電子デバイスとをペアリングする要求を受信することと、ローカルネットワークデバイスの登録データ、電子デバイスの登録データ、およびペアリングコードが予め定められた条件を満たす場合に、ペアリングを許可することと、を該少なくとも1つのプロセッサにさせる1または複数の命令を有する少なくとも1つの機械可読媒体である。ここで、要求は、ペアリングコードを含む。
【0064】
例C2において、例C1の主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データが一時的データを含むことを任意選択的に含んでよい。
【0065】
例C3において、例C1−C2の何れか1つの主題は、命令が少なくとも1つのプロセッサによって実行されるとき、ペアリングコードをローカルネットワークデバイスへ送信し、電子デバイスからペアリングコードを受信することを少なくとも1つのプロセッサにさらに生じさせることを任意選択的に含んでよい。
【0066】
例C4において、例C1−C3の何れか1つの主題は、電子デバイスがローカルネットワークデバイスからペアリングコードを要求して受信したことを任意選択的に含んでよい。
【0067】
例C5において、例C1−C4の何れか1つの主題は、ペアリングコードが、ローカルネットワークデバイスから送信される前に暗号化されていることを任意選択的に含んでよい。
【0068】
例C6において、例C1−C5の何れか1つの主題は、一時的ペアリングコードが、ローカルネットワークデバイスに、または電子デバイスに永続的には格納されないことを任意選択的に含んでよい。
【0069】
例C7において、例C1−C6の何れか1つの主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データが、ローカルネットワーク識別を含むことを任意選択的に含んでよい。
【0070】
例C8において、例C1−C7の何れか1つの主題は、ローカルネットワークデバイスの登録データにおけるローカルネットワーク識別と、電子デバイスの登録データにおけるローカルネットワーク識別とが一致しない場合に、ペアリングが許可されないことを任意選択的に含んでよい。
【0071】
例A1において、装置は、ペアリングモジュールを含んでよく、ペアリングモジュールは、ローカルネットワークデバイスの登録データを受信し、電子デバイスの登録データを受信し、ローカルネットワークデバイスと電子デバイスとをペアリングする要求を受信し、ローカルネットワークデバイスの登録データ、電子デバイスの登録データ、およびペアリングコードが予め定められた条件を満たす場合に、ペアリングを許可するよう構成される。ここで、要求はペアリングコードを含む。
【0072】
例A2において、例A1の主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データが一時的データを含むことを任意選択的に含んでよい。
【0073】
例A3において、例A1−A2の何れか1つの主題は、ペアリングモジュールが、ペアリングコードをローカルネットワークデバイスへ送信し、電子デバイスからペアリングコードを受信するようさらに構成されることを任意選択的に含んでよい。
【0074】
例A4において、例A1−A3の何れか1つの主題は、電子デバイスが、ローカルネットワークデバイスからペアリングコードを要求して受信したことを任意選択的に含んでよい。
【0075】
例A5において、例A1−A4の何れか1つの主題は、一時的ペアリングコードが、ローカルネットワークデバイスにまたは電子デバイスに永続的には格納されないことを任意選択的に含んでよい。
【0076】
例A6において、例A1−A5の何れか1つの主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データがローカルネットワーク識別を含むことを任意選択的に含んでよい。
【0077】
例A7において、例A1−A6の何れか1つの主題は、ローカルネットワークデバイスの登録データにおけるローカルネットワーク識別と、電子デバイスの登録データにおけるローカルネットワーク識別とが一致しない場合に、ペアリングが許可されないことを任意選択的に含んでよい。
【0078】
例M1は、ローカルネットワークデバイスの登録データを受信する段階と、電子デバイスの登録データを受信する段階と、ローカルネットワークデバイスと電子デバイスとをペアリングする要求を受信する段階と、ローカルネットワークデバイスの登録データ、電子デバイスの登録データ、およびペアリングコードが、予め定められた条件を満たす場合に、ペアリングを許可する段階を備える方法であって、ここで、要求はペアリングコードを含む。
【0079】
例M2において、例M1の主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データが一時的データを含むことを任意選択的に含んでよい。
【0080】
例M3において、例M1−M2の何れか1つの主題は、ペアリングコードをローカルネットワークデバイスへ送信すること、および電子デバイスからペアリングコードを受信することを任意選択的に含んでよく、電子デバイスは、ローカルネットワークデバイスからペアリングコードを要求して受信した。
【0081】
例M4において、例M1−M3の何れか1つの主題は、ペアリングコードが、ローカルネットワークデバイスへ送信される前に暗号化されていることを任意選択的に含んでよい。
【0082】
例M5において、例M1−M4の何れか1つの主題は、ペアリングコードが、ローカルネットワークデバイスにまたは電子デバイスに永続的には格納されないことを任意選択的に含んでよい。
【0083】
例M6において、例M1−M5の何れか1つの主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データがローカルネットワーク識別を含むことを任意選択的に含んでよい。
【0084】
例M7において、例M1−M6の何れか1つの主題は、ローカルネットワークデバイスの登録データにおけるローカルネットワーク識別と、電子デバイスの登録データにおけるローカルネットワーク識別とが一致しない場合に、ペアリングが許可されないことを任意選択的に含んでよい。
【0085】
例S1は、ローカルネットワークにおけるデバイスをペアリングするためのシステムであり、ペアリングモジュールを含むシステムである。ここで、ペアリングモジュールは、ローカルネットワークデバイスの登録データを受信し、電子デバイスの登録データを受信し、ローカルネットワークデバイスと電子デバイスとをペアリングするための要求を受信し、ローカルネットワークデバイスの登録データ、電子デバイスの登録データ、およびペアリングコードが予め定められた条件を満たす場合に、ペアリングを許可するよう構成され、要求は、ペアリングコードを含む。
【0086】
例S2において、例S1の主題は、ローカルネットワークデバイスの登録データおよび電子デバイスの登録データが一時的データを含むことを任意選択的に含んでよい。
【0087】
例S3において、例S1−S2の何れかの主題は、ペアリングモジュールが、ペアリングコードをローカルネットワークデバイスへ送信し、電子デバイスからペアリングコードを受信するよう、さらに構成されることを任意選択的に含んでよく、電子デバイスは、ローカルネットワークデバイスからペアリングコードを要求して受信した。
【0088】
例X1は、例A1−A7または例M1−M7の何れか1つに示されるように、方法を実装するための、または装置を実現するための機械可読命令を含む機械可読記憶媒体である。例Y1は、例示的な方法M1−M7の何れかを実行するための手段を備える装置である。例Y2において、例Y1の主題は、プロセッサおよびメモリを備える方法を実行するための手段を任意選択的に含んでよい。例Y3において、例Y2の主題は、機械可読命令を備えるメモリを任意選択的に含んでよい。
図1A
図1B
図2
図3
図4
図5
図6
図7
図8