(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】モノのインターネット(IoT)デバイス用クラウドツークラウドアクセスの確立
(51)【国際特許分類】
G06F 21/44 20130101AFI20240611BHJP
H04L 12/66 20060101ALI20240611BHJP
H04L 12/22 20060101ALI20240611BHJP
【FI】
G06F21/44
H04L12/66
H04L12/22
(21)【出願番号】P 2021540596
(86)(22)【出願日】2020-02-14
(86)【国際出願番号】 US2020018311
(87)【国際公開番号】W WO2020168207
(87)【国際公開日】2020-08-20
【審査請求日】2023-02-08
(32)【優先日】2019-02-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】マッコール、デイヴィッド ジェイ.
(72)【発明者】
【氏名】ヘルト-シェラー、ネイサン
(72)【発明者】
【氏名】スミス、ネッド エム.
【審査官】上島 拓也
(56)【参考文献】
【文献】米国特許出願公開第2019/0014117(US,A1)
【文献】米国特許出願公開第2013/0288645(US,A1)
【文献】特開2006-295728(JP,A)
【文献】特開2014-211873(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
H04L 12/66
H04L 12/22
(57)【特許請求の範囲】
【請求項1】
デバイスであって、当該デバイスは、
処理回路と、
第2デバイスとの通信を実行し、
当該デバイスに関連付けられた第1リモートサービスとの通信を実行するように構成される通信回路と、
そこで具現化される命令を含むメモリデバイスと
を
備え、
前記命令は、前記処理回路によって実行されたときに、
前記第2デバイスに関連付けられた第2リモートサービスと通信するために、前記第2デバイスから情報を取得するオペレーションと、
当該デバイスから前記第1リモートサービスに前記情報を提供するオペレーションであって、前記情報に応答して、前記第1リモートサービスが前記第2リモートサービスとの検証手順を開始する、オペレーションと、
前記第2デバイスからサービス検証情報を取得するオペレーションであって、前記サービス検証情報は、前記第1リモートサービスが前記第2リモートサービスとの前記検証手順を開始したことに応答して、前記第2リモートサービスから前記第2デバイスに提供される、オペレーションと、
当該デバイスから前記第1リモートサービスに前記サービス検証情報を提供するオペレーションであって、前記サービス検証情報は、前記第1リモートサービスによって、前記第1リモートサービスと前記第2リモートサービスとの間の検証済み接続を実現するために用いられ、前記検証済み接続は、前記第1および第2リモートサービスを介して
当該デバイスと前記第2デバイスとの間でデータまたはコマンドを通信するために確立される、オペレーションと、
を実行するように前記処理回路を構成する
デバイス。
【請求項2】
前記命令は、
当該デバイスから前記第1リモートサービスにコマンドを通信することによって、前記第1リモートサービスおよび前記第2リモートサービスを介して、
当該デバイスから前記第2デバイスに前記コマンドを提供するオペレーションであって、前記コマンドを通信することに応答して、前記第1リモートサービスと前記第2リモートサービスとの間の前記検証済み接続を用いて、前記コマンドは、前記第1リモートサービスから前記第2リモートサービスへ、前記第2リモートサービスから前記第2デバイスへ、さらに通信される、オペレーション
を実行するように前記処理回路をさらに構成する
請求項1に記載のデバイス。
【請求項3】
前記命令は、
当該デバイスから前記第1リモートサービスにデータ値の要求を通信することによって、前記第1リモートサービスおよび前記第2リモートサービスを介して、前記第2デバイスから前記データ値を取得するオペレーションであって、前記データ値の前記要求に応答して、前記要求は、前記第1リモートサービスと前記第2リモートサービスとの間の前記検証済み接続を用いて、前記第1リモートサービスから前記第2リモートサービスへ、前記第2リモートサービスから前記第2デバイスへさらに通信され、前記第2デバイスから前記第2リモートサービスに、かつ前記第1リモートサービスに戻される、オペレーション
を実行するように前記処理回路をさらに構成する
請求項1に記載のデバイス。
【請求項4】
前記第1リモートサービスは、第1エンティティに関連付けられた第1クラウドネットワークでホストされ、前記第2リモートサービスは、第2エンティティに関連付けられた第2クラウドネットワークでホストされ、
当該デバイスは、前記第1エンティティに関連付けられており、前記第2デバイスは、前記第2エンティティに関連付けられている
請求項1に記載のデバイス。
【請求項5】
当該デバイスは、前記第1エンティティによって製造され、またはその代理としてサービスされており、前記第2デバイスは、前記第2エンティティによって製造され、またはその代理としてサービスされている
請求項4に記載のデバイス。
【請求項6】
前記第1リモートサービスは、前記第2リモートサービスへのデータまたはコマンドを伴う認証情報をさらに提供し、前記第1リモートサービスと前記第2リモートサービスとの間の前記検証済み接続は、前記認証情報の使用に基づいて確立される
請求項1に記載のデバイス。
【請求項7】
前記情報は、
当該デバイスで受信されたユーザ入力に応答して前記第1リモートサービスに提供され、前記サービス検証情報は、前記第2デバイスでのユーザ入力に応答して
当該デバイスに提供される
請求項1に記載のデバイス。
【請求項8】
前記第1リモートサービスは、前記第2リモートサービスにアクセス可能なデバイスの第1ディレクトリを維持し、デバイスの前記第1ディレクトリは、
当該デバイスに関連付けられたデータを含み、
前記第2リモートサービスは、前記第1リモートサービスにアクセス可能なデバイスの第2ディレクトリを維持し、デバイスの前記第2ディレクトリは、前記第2デバイスに関連付けられたデータを含み、
前記サービス検証情報は、デバイスの前記第1および第2ディレクトリの少なくとも1つに基づいて提供される
請求項1に記載のデバイス。
【請求項9】
当該デバイスから前記第1リモートサービスへの通信は少なくとも1つのトークンを含み、前記少なくとも1つのトークンは、承認サーバから取得された認証情報を提供するデータを含む
請求項1に記載のデバイス。
【請求項10】
前記第2デバイスと共に実行される前記通信はローカルエリアネットワークを介して実行され、前記第1リモートサービスと共に実行される前記通信は、ワイドエリアネットワークを介して実行される
請求項1に記載のデバイス。
【請求項11】
前記第2リモートサービスと通信するために、前記第2デバイスから前記情報を取得するための前記オペレーションは、前記ローカルエリアネットワーク上での前記第2デバイスの発見に応答して実行され、前記第2デバイスから取得される前記情報は、許可を相互に認証し、通信リンクのセキュリティを確立するための情報を含む
請求項10に記載のデバイス。
【請求項12】
当該デバイスおよび前記第2デバイスは、Open Connectivity Foundation(OCF)仕様に従って定義される規格に従って通信し、前記オペレーションによって実行される前記通信は、それぞれのデバイスおよびサービス間の非同期メッセージに従って行われる
請求項1から11のいずれか一項に記載のデバイス。
【請求項13】
モノのインターネット(IoT)デバイス展開において通信を確立するための方法であって、IoTデバイスの処理回路によって実行されるオペレーションを備え、前記オペレーションは、
第2IoTデバイスに関連付けられた第2リモートサービスと通信するために、
前記第2IoTデバイスから情報を取得することと、
前記情報を第1リモートサービスに提供することであって、前記情報に応答して、前記第1リモートサービスは前記第2リモートサービスと検証手順を開始する、提供することと、
前記第2IoTデバイスからサービス検証情報を取得することであって、前記サービス検証情報は、前記検証手順に応答して、前記第2リモートサービスから前記第2IoTデバイスに提供される、取得することと、
前記IoTデバイスと前記第2IoTデバイスとの間で、前記第1および第2リモートサービスを介してデータまたはコマンドを通信するために、前記第1リモートサービスと前記第2リモートサービスとの間の検証済み接続を可能にするために、前記サービス検証情報を前記第1リモートサービスに提供することと
を含む方法。
【請求項14】
前記オペレーションは、
前記IoTデバイスから前記第1リモートサービスにコマンドを通信することによって、前記IoTデバイスから前記第2IoTデバイスに、前記第1リモートサービスおよび前記第2リモートサービスを介して前記コマンドを提供することであって、前記コマンドの通信に応答して、前記コマンドは、前記第1リモートサービスと前記第2リモートサービスとの間の前記検証済み接続を用いて、前記第1リモートサービスから前記第2リモートサービスに、および前記第2リモートサービスから前記第2IoTデバイスにさらに通信される、提供すること
をさらに含む
請求項13に記載の方法。
【請求項15】
前記オペレーションは、
前記IoTデバイスから前記第1リモートサービスへのデータ値の要求を通信することによって、前記第1リモートサービスおよび前記第2リモートサービスを介して、前記第2IoTデバイスから前記データ値を取得することであって、前記データ値の前記要求に応答して、前記要求は、前記第1リモートサービスと前記第2リモートサービスとの間の前記検証済み接続を用いて、前記第1リモートサービスから前記第2リモートサービスに、および前記第2リモートサービスから前記第2IoTデバイスにさらに通信され、前記第2IoTデバイスから前記第2リモートサービスおよび前記第1リモートサービスに戻される、取得すること
をさらに含む
請求項13に記載の方法。
【請求項16】
前記第1リモートサービスは、第1エンティティに関連付けられた第1クラウドネットワークでホストされ、前記第2リモートサービスは、第2エンティティに関連付けられた第2クラウドネットワークでホストされ、前記IoTデバイスは、前記第1エンティティに関連付けられており、前記第2IoTデバイスは、前記第2エンティティに関連付けられている
請求項13に記載の方法。
【請求項17】
前記IoTデバイスは、前記第1エンティティによって製造され、またはその代理としてサービスされており、前記第2IoTデバイスは、前記第2エンティティによって製造され、またはその代理としてサービスされている
請求項16に記載の方法。
【請求項18】
前記第1リモートサービスは、前記第2リモートサービスへのデータまたはコマンドを伴う認証情報をさらに提供し、前記第1リモートサービスと前記第2リモートサービスとの間の前記検証済み接続は、前記認証情報の使用に基づいて確立される
請求項13に記載の方法。
【請求項19】
前記情報は、前記IoTデバイスで受信されたユーザ入力に応答して前記第1リモートサービスに提供され、前記サービス検証情報は、前記第2IoTデバイスでのユーザ入力に応答して前記IoTデバイスに提供される
請求項13に記載の方法。
【請求項20】
前記第1リモートサービスは、前記第2リモートサービスにアクセス可能なデバイスの第1ディレクトリを維持し、デバイスの前記第1ディレクトリは、前記IoTデバイスに関連付けられたデータを含み、
前記第2リモートサービスは、前記第1リモートサービスにアクセス可能なデバイスの第2ディレクトリを維持し、デバイスの前記第2ディレクトリは、前記第2IoTデバイスに関連付けられたデータを含み、
前記サービス検証情報は、デバイスの前記第1および第2ディレクトリの少なくとも1つに基づいて提供される
請求項13に記載の方法。
【請求項21】
前記IoTデバイスから前記第1リモートサービスへの通信は少なくとも1つのトークンを含み、前記少なくとも1つのトークンは、承認サーバから取得された認証情報を提供するデータを含む
請求項13に記載の方法。
【請求項22】
前記第2IoTデバイスと共に実行される前記通信はローカルエリアネットワークを介して実行され、前記第1リモートサービスと共に実行される前記通信は、ワイドエリアネットワークを介して実行される
請求項13に記載の方法。
【請求項23】
前記第2リモートサービスと通信するために、前記第2IoTデバイスから前記情報を取得するための前記オペレーションは、前記ローカルエリアネットワーク上での前記第2IoTデバイスの発見に応答して実行され、前記第2IoTデバイスから取得される前記情報は、許可を相互に認証し、通信リンクのセキュリティを確立するための情報を含む
請求項22に記載の方法。
【請求項24】
前記IoTデバイスおよび前記第2IoTデバイスは、Open Connectivity Foundation(OCF)仕様に従って定義される規格に従って通信し、前記通信は、それぞれのデバイスおよびサービス間の非同期メッセージに従って行われる
請求項13から23のいずれか一項に記載の方法。
【請求項25】
請求項13から24のいずれか一項に記載の方法を前記処理回路に実行させるプログラム。
【請求項26】
請求項25に記載のプログラムを格納するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[優先権の主張]
本願は、2019年2月14日に出願された米国仮出願第62/805,694号に対する優先権の利益を主張し、これはその全体が参照によって本明細書に組み込まれる。
【0002】
本明細書において説明される実施形態は、概して、データ通信および相互接続されたデバイスネットワークに関し、特に、モノのインターネット(IoT)デバイスおよびサービスによる接続性の確立、デバイスプロビジョニングの実行、ならびにデータおよびコマンド交換の容易化に関する。
【背景技術】
【0003】
IoTデバイスは、ネットワーク上で通信可能な物理的なまたは仮想化されたオブジェクトであり、センサ、アクチュエータ、および他の入力/出力コンポーネントを含んでよく、現実世界の環境からデータ収集または動作の実行等を行う。例えば、IoTデバイスは、建物、車両、パッケージ等のような日常的な物に埋め込まれまたは取り付けられる低電力デバイスを含んでよく、これらの物のさらなるレベルの人工的感覚認知を提供する。近年、IoTデバイスはよりポピュラーになり、このため、これらのデバイスを用いたアプリケーションが急増している。
【0004】
IoTデバイスをより効果的に相互接続し、動作させ、新たなタイプのIoTネットワークのユースケースを可能にするために、様々な規格が提案されている。これらは、米電気電子技術者協会(IEEE)のようなグループによって配布された通信規格を特殊化したものまたはZigbee(登録商標)、およびOpen Connectivity Foundation(OCF)のようなグループによって配布されたアプリケーションインタラクションアーキテクチャおよび構成の規格を特殊化したものを含む。これらの規格に加え、IoTデバイスにより交換されるデータおよびコマンドを管理するために、様々なサービスおよびアプリケーションが積極的に開発され、クラウドサービスプラットフォームおよび他のリモートコンピューティングシステムにおいて展開されている。
【図面の簡単な説明】
【0005】
図面は必ずしも縮尺通りに描かれておらず、ここで、同様の番号は、異なる図において同様のコンポーネントを記述し得る。異なる添え字を有する同様の番号は、同様のコンポーネントの異なる例を表し得る。いくつかの実施形態は、添付図面の図において、例として示されるものであって、限定するものではない。
【0006】
【
図1】例に係る、それぞれのゲートウェイへのリンクを介して結合されたそれぞれのモノのインターネット(IoT)ネットワークのためのドメイントポロジを示す。
【0007】
【
図2】例に係る、クラウドコンピューティングネットワークのエッジにおいてフォグシステムとして動作するIoTデバイスのメッシュネットワークと通信するクラウドコンピューティングネットワークを示す。
【0008】
【
図3】例に係る、自動クラウドツークラウドデバイスのアクセスプロビジョニングに関するユースケースの概要を示す。
【0009】
【
図4】例に係る、クラウドツークラウドデバイスの接続を発見および確立するためのオペレーションのフローチャートを示す。
【0010】
【
図5】例に係る、クラウドツークラウドデバイスのアクセスプロビジョニングに関して、第1ドメインと第2ドメインとの間で交換される通信の詳細な概要を示す。
【0011】
【
図6】例に係る、クラウドツークラウド検証情報を確立および交換するためのオペレーションのフローチャートを示す。
【0012】
【
図7】例に係る自動クラウドツークラウド登録および検証技術を実装するためのデバイスおよび装置構成の図を示す。
【0013】
【
図8】例に係る自動クラウドツークラウド登録および検証技術を実装するためのオペレーションのフローチャートを示す。
【0014】
【
図9】例に係る、多数のIoTデバイスの中での通信を示すネットワークのブロック図を示す。
【0015】
【
図10】例に係る、本明細書において説明される技術(例えば、オペレーション、処理、方法、および方法論)のいずれか1つまたは複数が実行され得る例示的なIoT処理システムアーキテクチャのブロック図を示す。
【発明を実施するための形態】
【0016】
以下の説明において、複数のクラウドサービスシナリオにおいて、IoTデバイスサービスのアクセスおよび承認を実装するための方法、構成、および関連装置が開示される。具体的には、この技術は、異なるサービスプロバイダまたは企業によって(例えば、A社のために/によってホストされ、A社によって製造またはサービスされるIoTデバイスの第1のセットによる使用のためのデバイスサービスAPIを提供するクラウド1と、B社のために/によってホストされ、B社によって製造またはサービスされるIoTデバイスの第2のセットによる使用のためのデバイスサービスAPIを提供するクラウド2との間で)ホストされる異なるドメインのような異なるオペレーショナルドメインで動作する、またはユーザ、組織、またはエンティティ(例えば、信頼できるデバイス対ゲスト/信頼できないデバイスのセットを有するユーザ、異なるユーザグループを有する組織等)IoTの異なるグループまたはドメインのために確立されたクラウドサービスによって提供される様々なデータサービス、機能、およびAPIのアクセシビリティを可能にする。
【0017】
現在の技術およびシステム構成により、クラウドサービスの接続性に関する情報は、ユーザの最小限の関与で、または関与なしで、ローカルネットワークを介して共有および検証可能である。このような機能は、サービス間で確立された適切なクラウドツークラウド接続性を介してループが閉じているので、ローカルネットワークを介して開始されようとするユーザアイデンティティ、デバイスアイデンティティおよびクラウドサービスアカウントアイデンティティのクローズドループ検証を可能にする。また、現在の技術およびシステム構成により、デバイスツーデバイスおよびクラウドツークラウドの通信および通信経路に必要な資格情報および構成は、ユーザが個々のサービスを構成または認証する必要なく、自動的にセットアップおよび使用可能である。
【0018】
開示されるアプローチは、アカウントおよびデバイスサービスを、従来のアプローチよりもはるかに容易に(かつ、よりセキュアに)リンクさせる結果を提供する。開示されるアプローチは、自動化されたデータ交換およびサービス、またはアカウントを発見またはリンクする拡張されたユーザコマンドの展開をも可能にする。これらの拡張されたユーザコマンドは、「あなたはデバイスをリンクしたいですか」とユーザに質問するユーザプロンプトに基づいて、ユーザが選択した「全ての利用可能なクラウドサービスを接続する」オプションに基づいて、または他の形の規則またはクライアント入力に基づいて行われてよい。開示されるアプローチは、多くのタイプおよび形式のクライアントデバイス、クラウドサービス、およびエコシステムエンティティにも拡張可能である。
【0019】
OCFによって提案されているもののような多くの開発中のIoT規格は、複数の異なる製造者からのデバイスが適切なセキュリティ情報をプロビジョニングされれば、当該デバイスがローカルネットワークの接続性を介して発見可能かつ制御可能になることを想定している。ローカルネットワーク上でのプロビジョニング後、このようなデバイスは、プロプライエタリなプロトコルまたはネットワークプロトコルのクラウド版(例えば、OCFプロトコル)を介して、これらの製造者またはサービスプロバイダのクラウドサービスにも接続されることになる。これらのデバイスのクラウドサービスが容易に互いにインタラクションし、データ交換する能力は、重要なユースケースになることも期待される。
【0020】
以下の技術は、現在のデバイスツーデバイスおよびデバイスツークラウド通信のシーケンスのふるまいおよびオペレーションに対する変形を提供し、異なる製造者またはサービスプロバイダのサービスの中でのクラウドツークラウドインテグレーションを可能にする。これは、異なるタイプおよび製造者のデバイスまたはサービスプロバイダが、容易に互いにリンクおよび統合されるアカウントおよびサービスを有することを可能にする。結果として、デバイスからサービスへオンボーディングおよびプロビジョニングし、様々な異なるサービスおよびサービスタイプの中で、かつ、(例えば、OAuthトークンを交換する)オープンな承認サービスまたは複雑なサインイン手順の使用なしで、クラウドツークラウドインテグレーションを可能にする、向上したユーザエクスペリエンスが提供可能となる。
【0021】
図1は、それぞれのゲートウェイへのリンクを介して結合されたそれぞれのIoTネットワークの例示的なドメイントポロジを示す。IoTは、多数のコンピューティングデバイスが、互いにかつインターネットに相互接続され、非常に低いレベルでの機能およびデータの獲得を提供する展開をサポートする。このため、本明細書で用いられるように、IoTデバイスは、他のIoTデバイスおよびインターネットのようなより広域のネットワークと通信し、とりわけセンシングまたは制御のような機能を実行する半自律的デバイスを含んでよい。
【0022】
多くの場合、IoTデバイスは、メモリ、サイズ、または機能が限定されているので、より少数のより大型のデバイスと同様のコストで、より多数を展開可能である。ただし、IoTデバイスは、スマートフォン、ラップトップ、タブレット、またはPC、または他のより大きなデバイスであってよい。さらに、IoTデバイスは、スマートフォンまたは他のコンピューティングデバイス上のアプリケーションのような仮想デバイスであってよい。IoTデバイスは、IoTデバイスを他のIoTデバイスおよびクラウドアプリケーションに結合すべく、データストレージおよび処理制御等のために使用されるIoTゲートウェイを含んでよい。
【0023】
IoTデバイスのネットワークは、配水システム、配電システム、パイプライン制御システム、プラント制御システム、ライトスイッチ、サーモスタット、ロック、カメラ、アラーム、モーションセンサ等のような商用およびホームオートメーションデバイスを含んでよい。IoTデバイスは、リモートコンピュータ、サーバ、および他のシステムを通じて、例えば、制御システムまたはアクセスデータにアクセス可能であってよい。
【0024】
インターネットおよび同様のネットワークの将来的な成長には、非常に多数のIoTデバイスが関与しよう。従って、本明細書において説明される技術の文脈において、このような将来のネットワーキングのための多数のイノベーションが、これらの層の全てが妨げられることなく成長し、アクセス可能な接続されたリソースを発見および生成し、接続されたリソースを非表示にして区分化する能力をサポートする必要性に対処することになろう。各プロトコルおよび規格は、特定の目的に対処するように設計されるので、任意の数のネットワークプロトコルおよび通信規格が使用されてよい。さらに、プロトコルは、位置、時間または空間にかかわらず動作する、人間がアクセス可能なサービスをサポートする仕組みの一部である。イノベーションは、サービス供給ならびにハードウェアおよびソフトウェアのような関連付けられたインフラストラクチャと、セキュリティ強化と、サービスレベルおよびサービス供給契約において提供されるサービス品質(QoS)条件に基づくサービスのプロビジョニングとを含む。
図1および2において紹介するもののようなIoTデバイスおよびネットワークの使用は、有線および無線技術の組み合わせを含む接続性の異種ネットワークにおいて、多数の新たな課題をもたらすことが理解されよう。
【0025】
図1は、具体的には、IoTデバイス104を備える多数のIoTネットワークに用いられ得るドメイントポロジを単純化した図面を提供する。IoTネットワーク156、158、160、162は、バックボーンリンク102を通じてそれぞれのゲートウェイ154に結合される。例えば、多数のIoTデバイス104が、ゲートウェイ154と通信してよく、ゲートウェイ154を通じて互いに通信してよい。図面を簡略化するために、全てのIoTデバイス104または通信リンク(例えば、リンク116、122、128または132)には符号が付されていない。バックボーンリンク102は、光ネットワークを含む任意の数の有線または無線技術を含んでよく、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、またはインターネットの一部であってよい。さらに、このような通信リンクにより、様々なデバイスの相互接続を容易にする多重化/多重分離コンポーネントの使用を含む、IoTデバイス104およびゲートウェイ154の両方の間の光信号経路が容易になる。
【0026】
ネットワークトポロジは、Bluetooth(登録商標)Low Energy(BLE)リンク122を用いるネットワーク156を備えるメッシュネットワークのようなタイプのIoTネットワークを任意の数含んでよい。存在し得る他のタイプのIoTネットワークは、IEEE802.11(Wi-Fi(登録商標))リンク128を通じてIoTデバイス104と通信するために用いられる無線ローカルエリアネットワーク(WLAN)ネットワーク158、LTE/LTE-A(4G)または5Gセルラネットワークを通じてIoTデバイス104と通信するために用いられるセルラネットワーク160、例えば、LoRa Allianceにより公表されるLoRaWAN仕様と互換性があるLPWAネットワークなどの低電力ワイドエリア(LPWA)ネットワーク162、または、インターネットエンジニアリングタスクフォース(IETF)により公表される仕様と互換性があるIPv6 over Low Power Wide-Area Network(LPWAN)ネットワークを含む。さらに、それぞれのIoTネットワークは、例えば、LTEセルラリンク、LPWAリンク、またはZigbee(登録商標)のようなIEEE802.15.4規格に基づくリンクなど、任意の数の通信リンクを用いて、外部ネットワークプロバイダ(例えば、ティア2プロバイダまたはティア3プロバイダ)と通信してよい。それぞれのIoTネットワークは、制約付きアプリケーションプロトコル(CoAP)のような様々なネットワークプロトコルおよびインターネットアプリケーションプロトコルを用いて動作してもよい。それぞれのIoTネットワークは、リンクされたデバイスおよびネットワークのクラスタツリーを形成するリンクのチェーンを提供するコーディネータデバイスと統合されてもよい。
【0027】
これらのIoTネットワークの各々は、本明細書において説明するもののような新たな技術的特徴の機会を提供し得る。改良された技術およびネットワークにより、「フォグ」または「エッジクラウド」デバイスまたはシステムに統合されたIoTネットワークの使用を含め、デバイスおよびネットワークの指数的な成長が可能となろう。このような改良された技術の使用が成長するにつれて、IoTネットワークは、人間が直接介入する必要なく、自己管理、機能進化およびコラボレーションのために開発されるようになろう。改良された技術は、IoTネットワークが集中制御システムなしで機能することさえ可能にし得る。従って、本明細書において説明する改良された技術は、現在の実装をはるかに越えてネットワーク管理およびオペレーション機能を自動化および強化するために用いられてよい。
【0028】
例において、例えばバックボーンリンク102を介したIoTデバイス104間の通信は、認証、承認および課金(AAA)のための分散化システムにより保護されてよい。分散化AAAシステムでは、分散型の決済、クレジット、監査、承認および認証システムが、相互接続された異種ネットワークインフラストラクチャにわたって実装されてよい。これにより、システムおよびネットワークを自律型運用へ移行させることが可能になる。これらのタイプの自律型運用では、機械が人的リソースの契約を締結し、他の機械ネットワークとのパートナシップを交渉することさえ行われてよい。これにより、相互の目的と、概説され計画されたサービスレベル契約に対してバランスの取れたサービス供給とが実現可能になるだけでなく、計量、測定、トレーサビリティおよび追跡可能性を提供するソリューションが実現されてよい。新たなサプライチェーンの構造および方法を形成することにより、人間が何ら関与することなく、多数のサービスの創出、価値発掘および崩壊が可能になり得る。
【0029】
このようなIoTネットワークは、音、光、電子トラフィック、顔およびパターン認識、匂いまたは振動のようなセンシング技術をIoTデバイス間の自律組織へ統合することにより、さらに強化されてよい。感知システムの統合により、契約上のサービス目的に対する体系的かつ自律的な通信およびサービス供給調整、オーケストレーション、ならびにリソースのQoSに基づくスウォーミングおよび融合が可能になり得る。ネットワークベースのリソース処理の個々の例は、以下のものを含む。
【0030】
例えば、メッシュネットワーク156は、インラインデータから情報への変換を実行するシステムにより強化されてよい。例えば、マルチリンクネットワークを含むリソース処理の自己形成チェーンは、効率的な方式での生データから情報への変換ならびに資産とリソースとを区別する能力および各々の関連付けられた管理を分散させてよい。さらに、インフラストラクチャならびにリソースに基づく信頼インデックスおよびサービスインデックスの適切なコンポーネントを挿入することで、データのインテグリティ、品質、確実性を向上させ、データの信頼性の測定基準を供給してよい。
【0031】
例えば、WLANネットワーク158は、規格の変換を実行するシステムを用いてマルチスタンダードの接続性を提供することにより、異なるプロトコルを用いるIoTデバイス104が通信することを可能にしてよい。さらなるシステムが、可視インターネットリソースと非表示インターネットリソースとを含むマルチスタンダードのインフラストラクチャにわたってシームレスな相互接続性を提供してよい。
【0032】
例えば、セルラネットワーク160内の通信は、データをオフロードするか、通信をより多くのリモートデバイスへ拡張するか、またはその両方を行うシステムにより強化されてよい。LPWAネットワーク162は、非インターネットプロトコル(IP)からIPへの相互接続と、アドレス指定と、ルーティングとを実行するシステムを含んでよい。さらに、IoTデバイス104の各々は、そのデバイスとのワイドエリア通信のための適切なトランシーバを含んでよい。さらに、各IoTデバイス104は、さらなるプロトコルおよび周波数を用いる通信のための他のトランシーバを含んでよい。これについては、
図9および10に示されるIoT処理デバイスの通信環境およびハードウェアに関してさらに説明される。
【0033】
最終的に、IoTデバイスのクラスタは、他のIoTデバイスとだけでなく、クラウドネットワークとも通信するように備えられてよい。これにより、IoTデバイスがデバイス間にアドホックネットワークを形成することが可能になり、これらが、フォグデバイス、フォグプラットフォーム、またはフォグネットワークと称され得る単一デバイスとして機能することが可能となってよい。この構成は、
図2に関してさらに説明される。
【0034】
図2は、ネットワークのシナリオにおいてフォグシステムとして動作するIoTデバイス(デバイス202)のメッシュネットワークと通信しているクラウドコンピューティングネットワークを示す。IoTデバイスのメッシュネットワークは、ネットワークのエッジにおいてデバイスのネットワークから確立されたフォグネットワーク220またはエッジクラウドと称されてよい。図を簡略化するために、全てのIoTデバイス202には符号が付されていない。
【0035】
フォグネットワーク220は、多数のIoTデバイス202が、例えば、無線リンク222により互いに通信している、大規模に相互接続されたネットワークであるとみなされてよい。フォグネットワーク220は、IoTエッジデバイスとクラウドまたはデータセンタとの間に位置するものとみなされ得る、水平な物理的または仮想的リソースプラットフォームを確立してよい。フォグネットワークは、いくつかの例において、レイヤ型、フェデレーション型、または分散型のコンピューティング、ストレージ、およびネットワーク接続性オペレーションを通して、垂直方向に分離された、レイテンシに敏感なアプリケーションをサポートしてよい。ただし、フォグネットワークは、エッジおよびクラウドにおいて、およびその中で、リソースおよびサービスを分散させるために用いられてもよい。このため、本明細書における「エッジ」、「フォグ」、および「クラウド」という用語は、必ずしも互いに別個のものではなく、または互いを除外するものでもない。
【0036】
例として、フォグネットワーク220は、Open Connectivity Foundation(商標)(OCF)によりリリースされる相互接続仕様を用いて容易化されてよい。この規格により、デバイスが、互いを発見し、相互接続のための通信を確立することが可能になる。例えば、最適化されたリンク状態ルーティング(OLSR)プロトコル、モバイルアドホックネットワーキングへのより良いアプローチ(B.A.T.M.A.N.)であるルーティングプロトコルまたはOMA軽量M2M(LWM2M)プロトコルをとりわけ含む他の相互接続プロトコルも用いられてよい。
【0037】
この例では、ゲートウェイ204、データアグリゲータ226およびセンサ228という3タイプのIoTデバイス202が示されているが、IoTデバイス202と機能との任意の組み合わせが用いられてよい。ゲートウェイ204は、クラウド200とフォグネットワーク220との間の通信を提供するエッジデバイスであってよく、また、例えば、動きデータ、フローデータおよび温度データ等のような、センサ228から取得されるデータのためのバックエンド処理機能をも提供してよい。データアグリゲータ226は、任意の数のセンサ228からデータを収集し、解析のためのバックエンド処理機能を実行してよい。解析結果、生データ、またはその両方は、ゲートウェイ204を通じてクラウド200に渡されてよい。センサ228は、例えば、データの収集およびデータの処理の両方を実行可能なフルIoTデバイス202であってよい。いくつかの場合において、センサ228は、例えば、データを収集し、データアグリゲータ226またはゲートウェイ204によるデータの処理を可能にすることなど、機能性においてより限定的であってよい。
【0038】
任意のIoTデバイス202からの通信は、IoTデバイス202のいずれかの間の簡便な経路(例えば、最も簡便な経路)に沿って渡され、ゲートウェイ204に到達してよい。これらのネットワークでは、相互接続の数によりかなりの冗長性が提供されるので、多数のIoTデバイス202が失われた場合でさえ通信を維持することが可能になる。さらに、メッシュネットワークの使用は、非常に低電力であるか、またはインフラストラクチャから離れた所に位置するIoTデバイス202を用いることが可能としてよい。なぜなら、別のIoTデバイス202に接続する範囲が、ゲートウェイ204に接続する範囲よりもはるかに小さいことがあるからである。
【0039】
これらのIoTデバイス202から提供されるフォグネットワーク220は、クラウド200のエッジに位置する単一デバイス、例えば、デバイスまたはプラットフォームとして動作するフォグネットワークとして、サーバ206のようなクラウド200内のデバイスに提供されてよい。この例では、フォグデバイスから入ってくるアラートは、フォグネットワーク220内の特定のIoTデバイス202から来たものと特定されることなく送信されてよい。このように、フォグネットワーク220は、とりわけ、データ解析、データ集約および機械学習のような処理またはデータ集中型タスクを実行するためのコンピューティングおよびストレージリソースを提供する分散プラットフォームとみなされてよい。
【0040】
いくつかの例では、IoTデバイス202は、命令型プログラミングスタイルを用いて構成されてよく、例えば、各IoTデバイス202は、特定の機能および通信パートナを有する。ただし、フォグデバイスを形成するIoTデバイス202は、宣言型プログラミングスタイルで構成されるので、IoTデバイス202が、例えば、条件、クエリおよびデバイス故障に応答して必要なリソースを決定するような、これらのオペレーションおよび通信を再構成することが可能となってよい。例として、IoTデバイス202により監視される機器のサブセットのオペレーションについてのサーバ206に位置するユーザからのクエリの結果として、フォグネットワーク220デバイスは、クエリに応答するために必要な特定のセンサ228のようなIoTデバイス202を選択してよい。次に、これらのセンサ228からのデータは、クエリに応答するためにフォグネットワーク220デバイスによりサーバ206へ送信される前に、センサ228、データアグリゲータ226またはゲートウェイ204の任意の組み合わせにより集約および解析されてよい。この例では、フォグネットワーク220内のIoTデバイス202は、例えば、流量センサまたは温度センサからのデータを追加するなど、クエリに基づいて用いられるセンサ228を選択してよい。さらに、IoTデバイス202のうちのいくつかが動作可能でない場合において、フォグネットワーク220デバイス内の他のIoTデバイス202が、利用可能であるときは類似データを提供してよい。
【0041】
異なるクラウドサービスとサービスプロバイダ(または異なるIoT製品ベンダ)との間でインターオペラビリティを可能にするための既存のアプローチは、多くの場合、低いまたは課題の多いユーザエクスペリエンスを伴う。例えば、製造者/エコシステムAによって提供されたスマートロックを、製造者/エコシステムBによって提供されたスマートスピーカと共に動作するように構成することは、(例えば、製造者/エコシステムAによって提供されるスキル)スマートロックのコンポーネントをスマートスピーカのアプリケーションにおいて手動で選択し、次に、多くの場合OAuthログインウェブページを介して、製造者/エコシステムAによるユーザアカウントに手動でログインする必要がある。
【0042】
現在のアプローチでは、複数の手動ステップおよびメニュー選択、ならびにユーザの資格情報の別のセットのプロビジョニングは、人間であるユーザによって調整されなければならない。このタイプのアカウントのリンクは自動化が不可能であり、知的なユーザがいる限定的な家庭環境で動作することはあっても、大規模な人口または大規模なIoT展開での使用に拡張可能ではない。少数のアカウントの手動アカウントリンクに必要とされるトータルのオーバヘッドは甚大ではないが、このような手動のアプローチでは、データをサービス間で広く共有することは不可能であり、多くのIoTユースケースによって意図される接続の実際のウェブのサポートにはならない。
【0043】
以下の例は、デバイス接続を自動的かつ遥かに単純な方式で認証および確立する技術によるものを含め、デバイスがデバイスのより大きいセットまたはファミリに追加可能な、またはそれとして管理可能な特定の手段を説明する。これらの例では、デバイスのセットの構成に関する情報は、IoTデバイスネットワークのトラバーサルを実行するために必要な情報を提供する1つまたは複数のトークンにより確立および交換されてよい。これらのトークンは、外部ドメインで他のノードに通知するために内部で順に回されてよく、クラウドおよびクラウドサービスを介してデバイスツーデバイス経路をセットアップする。
【0044】
様々な例において、2つのデバイスおよび2つのドメインを参照して説明がなされる。ただし、拡張により、これらのアプローチは、3つまたはそれより多くのドメイン、3つまたはそれより多くのデバイス、既存のドメインおよびデバイスとのインテグレーション、および他のバリエーションにも適用されてよい。したがって、以下の例は2つのドメインを参照して提供されるが、n個のドメインに適用されてよいことが理解されよう。
【0045】
図3は、自動クラウドツークラウドデバイスアクセスプロビジョニングのための拡張されたユースケースの概要を提供する。図示されるように、ローカルデバイス環境(例えばOCFデバイス環境)内において、第1企業またはエコシステム(A社)に関連付けられた第1デバイス314(例えば、リモート制御アプリケーションのようなスマートフォンアプリ)が、既に第2企業またはエコシステム(B社)に関連付けられている新たな第2デバイス324(例えば電球)を発見する。この発見(データフロー(1))は、デバイス情報、クラウド情報、セキュリティ情報(例えば許可およびリンクセキュリティの相互認証)等のような、新たなデバイスに関連付けられた情報の特定を含む。
【0046】
異なる「企業」からのクラウドドメインが
図3に示されているが、同じ原理があらゆるタイプの異なるクラウドドメインにも適用可能であることが理解されよう。異なるクラウドドメインが、同じユーザ、企業、組織、またはエンティティに関連付けられた異なるデバイスグループのために確立されてよい。従って、本明細書において説明されるクラウドおよびサービスグループは、サービスクラウド、プライベートクラウド、オンプレミスクラウド、または他の構成の一部として提供されてよいことが理解されよう。これらおよび他の構成は、通常は分離されているであろう異なるドメインを含んでよいが、資格情報、データ、およびコマンドを共有する以下のアプローチを用いてよい。
【0047】
第1デバイス314は、次に、その関連付けられたクラウドサービス312(A社クラウド)と通信し、クラウドサービス312に、新たな第2デバイス324に関連付けられた第2クラウドサービス322(B社クラウド)とコンタクトし、これらのクラウドサービス間(クラウド312および322の間)で検証を開始するよう命令する(データフロー(2))。これに続いて、クラウドツークラウド通信が行われて検証を開始し(データフロー(3))、新たな第2デバイス324に戻される検証情報の通信が行われる(データフロー(4))。
【0048】
第2デバイス324は、次に、この検証情報を取得し、これを(データフロー(1)で既に確立されていたローカルネットワーク接続を介して)第1デバイス314に戻し、第1デバイスは、次に、その関連付けられたクラウドサービス(A社クラウド)に戻してよい(データフロー(5)を完了)。両方のクラウド312、322間で交換されている検証情報により、第1クラウドサービス312は、例えば、第1デバイス314を用いて、クラウドツークラウド通信を介して第2デバイス324を制御する(データフロー(6))など、第2クラウドサービス322によって提供されるサービスを制御する、または別の方法でこれとインタラクションすることが可能である。
【0049】
このように、
図3から詳細に説明される手順の結果、デバイスツーデバイス(D2D)制御または通信が、デバイスツークラウドツークラウドツーデバイス(D2C2C2D)方式で行われる。検証情報が完全に交換された後、他のコマンドおよびデータが、クラウド312および322を介して、デバイス314および324の間で(デバイス324からデバイス314への方向を含む)交換されてよいことが明らかであろう。
【0050】
図4は、
図3について上述したシナリオの実装のようなクラウドツークラウドデバイス接続を発見および確立するための方法400のフローチャートを示す。
【0051】
オペレーション405において、デバイスツーデバイス発見がローカルネットワーク上で実行される。これは、(例えば、OCFネットワークにおいて)既存のネットワークプロトコル、通信の発見、またはネットワークプロビジョニングの使用を含んでよい。これは、
図3に示すデータフロー(1)に基づいていてよい。
【0052】
オペレーション410において、例えば、第1クラウドサービスに提供された命令または情報に基づいて、第1クラウドサービスと第2クラウドサービスとの間で接続が開始される。これは、
図3に示すデータフロー(2)、(3)に基づいていてよい。
【0053】
オペレーション415において、検証情報が、第2クラウドサービスから通信され、接続されたローカルデバイス(例えば、第2クラウドサービスに関連付けられたデバイス)に戻される。これは、
図3に示すデータフロー(4)に基づいていてよい。
【0054】
オペレーション420において、第2クラウドサービスから取得された検証情報が、接続されたローカルデバイスを介して第1クラウドサービスに通信される。これは、
図3に示すデータフロー(5)に基づいていてよい。
【0055】
オペレーション425において、検証情報がリンクされたインタフェースおよびサービス内で用いられ、第1クラウドサービスが、第2クラウドサービス内で様々な承認された態様を通信および制御する、またはデータにアクセスすることが可能となる。これは、
図3に示すデータフロー(6)に基づいていてよい。同じ方式で、第2クラウドサービスは、第1クラウドサービス内で、承認された態様で通信および制御を行ってよい、またはデータにアクセスしてよい。
【0056】
図5は、(デバイス/ユーザ機器AおよびクラウドAを含む)第1ドメインと(デバイス/ユーザ機器Bを含む)第2ドメインとの間で交換される通信のより詳細な概要を提供する。このシナリオでは、ユーザ(ユーザA,ユーザB)の各々は、ドメインコンテキスト内でIoTネットワークを管理および制御することを承認された人(例えば、同じ人または異なる人)である。ユーザ機器(UE)は、ユーザプラットフォーム(これ自体がIoTデバイスであってよい)であり、このユーザプラットフォームから、ユーザはデバイス、ネットワーキング、およびドメインオペレーションを制御および管理する。さらに、
図5の例では、様々なトークンおよび承認資格情報の使用によるものを含め、認証情報が生成および交換され得る手段に関するさらなる詳細が提示される。
【0057】
図5の環境では、プライマリIoTネットワーク(家のウィジェット「A」で表される)はローカルIoTネットワーク(例えばOCF通信仕様を介して接続された接続済みデバイスのネットワーク)である。この例において、プライマリIoTネットワークは、IoT仕様(例えばOCF仕様)に従って動作するいくつかのデバイスをドメイン(例えばA.D1,A.D2,A.D3)内に含む。
【0058】
シャドウイングIoTネットワーク(それぞれのクラウドネットワーク内の破線の家のウィジェットで表される)は、特定のドメインのためのIoTネットワークに含まれる物理デバイスのソフトウェア表現を提供する。各クラウド(例えば、クラウド312、322)は、クラウドサービスプロバイダ、エッジコンピューティングインフラストラクチャによってホストされるドメイン固有のリソース、機能、およびサービスのセットを提供する。ドメインコンテキストは、仮想化、セキュアな実行環境(例えば、ARM、TrustZone、Intel(登録商標)SGX等)、コンテナ、および物理的パーティショニングのようなクラウドテナント分離技術を用いて分離されてよい。
【0059】
図5の環境は、デバイスの発見および認証のための様々な機能をも含む。これは、各ドメインへのクラウドリソースディレクトリ(CRD)510,520と、各ドメインへの承認サーバ(AS)512,522とを含むものとして示されている。CRD510,520は、ピアドメインによって可視のシャドウイングデバイスを発行および同期し、ピアドメインから可視のシャドウイングデバイスをホストするクラウド環境においてホストされるリソースディレクトリサービスである。AS512,522は、(例えば、OAuth2または任意の数の他の承認アプローチを用いた)承認トークン許可機能を実装するローカルまたはクラウドサービスである。承認サーバによって生成され、様々なデバイス間で通信されるトークンは、さらに詳細に後述されるように、JSONウェブトークンフォーマットで提供されてよい。
【0060】
図5の環境内の情報のフローは、それぞれのデータフローによって以下のように示される。
図3を参照して上述されたクラウド環境312、322は、各クラウド(例えば、A社およびB社用のデバイスに対応するドメイン)に関連付けられた、企業またはベンダに対応するそれぞれのドメインにセグメント化される。
【0061】
データフロー(1)において、ユーザAによって制御されるユーザ機器(UEA514)は、クラウドツークラウドプロビジョニングおよびインターオペレーションを管理するための承認を取得する。承認権は、ドメインAに関連付けられた承認サーバASA512から取得された承認トークン(例えば、トークンT1-T11)内に含まれる。これらの承認は、ユーザAによって、ユーザAによってもしくはこれを代理して確立された規則によって、またはユーザAによって制御もしくは影響されているソフトウェアもしくは他の処理によって、開始または制御されてよい。承認トークンは、後続のデータフローにおいて利用される。
【0062】
データフロー(2)において、UEA514は、ドメインAにおけるIoTネットワークに、シャドウイングサービス516において、そのデバイスのいくつかまたは全てをシャドウイングする(この例では、デバイスA.D1,A.D2をシャドウイングするが、A.D3はしない)ように命令する。これは、ベンダAに対応するクラウド環境312において、シャドウイングされたロジカルデバイスの第1のセットを確立する。
【0063】
データフロー(3)において、(例えば、ドメインAにアクセス可能な、オンボードされた、またはプロビジョニングされた)IoTネットワーク-A上の物理デバイス(A.D1、A.D2)は、ドメイン-Aのシャドウイングサービス516からデバイスのシャドウイングを要求する。先述のデータフロー(1)から取得されたトークンT1およびT2は、このオペレーションを承認する。
【0064】
データフロー(4)において、UEA514は、シャドウイングサービスA516に、シャドウイングされたデバイスをディレクトリに発行するように命令する。これに続いて、データフロー(5)では、シャドウイングサービスAは、CRDA510のようなクラウドリソースディレクトリ(または他のデバイス情報ディレクトリ)を用いて、シャドウイングされたデバイスを発行する。トークンT3は、この動作を承認するために用いられる。
【0065】
データフロー(6)において、CRD
A510は、ピアドメイン(例えば、ドメインB)による消費のために、シャドウイングされたデバイスA.S1についての情報を発行する。例えば、これは、CRD
B520のような別のクラウドリソースディレクトリにエントリを形成することを含んでよい。(このエントリは、
図5において、CRD
B520の隣のボックスに示される情報によって示される。)
【0066】
データフロー(7)において、ユーザBは、ピアドメインにおけるデバイスの可用性について通知され、ユーザBによって制御されるユーザ機器(UEB524)を用いて、ドメインAおよびドメインBのデバイス(またはこれらのデバイスのサブセット)間でインタラクションを可能にする。UEB524は、ドメインBに関連付けられた承認サーバASB522から承認トークンを取得することによって、クラウドツークラウドインタラクションを実行するための承認を取得する。
【0067】
データフロー(8)において、UEB524は、ドメインBに関連付けられたどのデバイスがシャドウイングされ得るかを示す(例えば、デバイスB.D1、B.D2)。これに続いて、データフロー(9)では、デバイスB.D1、B.D2が、承認トークンT5およびT6を用いて、シャドウイングサービスB526にシャドウイングされる。
【0068】
データフロー(10)において、UEB524は、シャドウイングサービスB526に、リソースディレクトリCRDB520において新たなデバイスを発見するように命令する。データフロー(11)において、シャドウイングサービスB526は、トークンT7の承認を用いて、ドメインAデバイスを発見する。
【0069】
データフロー(12)において、UEB524は、ドメインBデバイスがドメインAデバイスとインタラクションすることが適切であると決定し、UEB524は、ドメインBに関連付けられた承認サーバASB522から承認を取得する。
【0070】
データフロー(13)において、承認サーバASB522は、(シャドウイングデバイスA.S1によってプロキシされる)デバイスA.D1が(シャドウイングデバイスB.S1によってプロキシされる)B.D1とインタラクションするための承認をドメイン-Aから取得するために、承認サーバASA512にコンタクトする。トークンT8は、このインタラクションを承認するために用いられる。
【0071】
データフロー(14)において、承認サーバASA512は、クラウドツークラウドインタラクションがデバイスA.D1およびB.D1間で行われることを承認するトークンT10をUEに供給する。
【0072】
データフロー(15)において、UEAは、B.D1のセキュアなインタラクションのために資格情報をプロビジョニングする。例えば、トークンT10は、A.D1の資格情報リソースに関連付けられたドメインBの信頼アンカーを含んでよい。データフロー(16)において、UEB524は同様に、トークンT9を用いて、A.D1がセキュアなインタラクションを実行するための資格情報をプロビジョニングする。
【0073】
データフロー(17)において、UEBは、デバイスB.D1に、デバイスA.D1とインタラクションするように命令する。データフロー(18)において、デバイスB.D1は、シャドウイングデバイスB.S1をクラウドプロキシとして用いて、デバイスA.D1とのエンドツーエンドまたはホップバイホップ接続を確立する。
【0074】
データフロー(19)において、シャドウイングデバイスA.S1は、デバイスA.D1のクラウドプロキシとして、そのエンドツーエンドまたはホップバイホップ接続を完了させる。データフロー(20)において、デバイスB.D1はセキュアなチャネル(例えば、TLS,OSCOREを介して確立されたセキュアなチャネル)を介して、デバイスA.D1とセキュアにインタラクションする。
【0075】
図3および5の例は別個の「企業」またはエコシステム管理エンティティに言及しているが、いくつかのドメインのユースケースは、異なるサービスプロバイダ、ベンダ、IT組織、または人に起因していてよい。また、図示された「クラウド」におけるサービスまたはサーバの使用は、クラウドデータセンタまたはグローバルにアクセス可能なネットワークの使用を必ずしも必要としない。むしろ、サービスまたはサーバの使用は、例えば、異なるユーザ、ユーザグループ、および他のエンティティまたはエンティティグループのためのテナント固有のサービスをホストおよび分離するエッジクラウドセッティングにおいて、フォグまたはエッジコンピューティングシステムの一部として行われてよい。
【0076】
さらに、(基盤の認証がセットアップされた後で)直接制御またはデータがデバイス間で交換されるデータフロー(20)に到達したとき、レイテンシが課題になることがある。特に、IoTセッティングにおいてレイテンシ要件を伴うことがあり、これは、(例えば、cloudletにおいて)オンプレミスなクラウドエッジデバイスの使用により、または、低レイテンシ特性を有する無線アクセスネットワーク技術を用いた第1ティアエッジ環境により、満たされ得る。他のセッティングでは、レイテンシはクリティカルではないことがある、または、クラウドを介したもしくは直接接続を介したデバイスツーデバイス接続が実行可能とであることを保証するように、さらなるチェックが実行されることがある。
【0077】
例において、
図5のデータフローまたは別の方法で交換される全ての承認トークンは、ユーザおよびドメインコンテキストを含んでよい。例えば、このユーザおよびドメインコンテキストは、そのそれぞれのドメインに対して、UEおよびASを伴うユーザログインの承認を示すために用いられてよい。例示的なトークンのフォーマットは、以下のようなデータを含んでよい。
[表1]
{
"TokenBody" = {
"TokenSerialNumber" = <globally unique ID>;
"DomainID" = "Domain X";
"UserName" = "User X";
…
}
"Issuer" = "ASX";
"IssuerSignature" = {…};
}
【0078】
例において、トークン固有のフィールドは以下を含んでよい。
[表2]
1. Token T1: { "Device" = "A.D1"; "Rights" = "DO_SHADOW"; }
2. Token T2: { "Device" = "A.D2"; "Rights" = "DO_SHADOW"; }
3. Token T3: { "Device" = "A.S1"; "Rights" = "DO_CLOUD_PUBLISH"; }
4. Token T4: { "Device" = "A.S1"; "ToDomain" = "B"; "Rights" = "DO_CLOUD_PUBLISH";
5. Token T5: { "Device" = "B.D1"; "Rights" = "DO_SHADOW"; }
6. Token T6: { "Device" = "B.D2"; "Rights" = "DO_SHADOW"; }
7. Token T7: { "Device" = "B.S1"; "Rights" = "DO_CLOUD_DISCOVER"; }
8. Token T8: { "FmDomain" = "B"; "FmDevice" = "B.D1"; "ToDomain" = "A"; "ToDevice" = "A.D1"; "Rights" = "DO_CLOUD_CONTROL"; "EmbeddedToken" = <Token.T9> }
9. Token T9: { "FmDomain" = "B"; "FmDevice" = "B.D1"; "ToDomain" = "A"; "ToDevice" = "A.D1"; "Rights" = "DO_OSCORE_SESSION" }
10. Token T10: { "Device" = "A.D1"; "ToDomain" = "B"; "ToDevice" = "B.D1"; "Rights" = "ALLOW_CLOUD_CONTROL" }
【0079】
したがって、
図5の様々な例において、トークンは署名され、承認サーバによって発行されたJSONウェブトークンフォーマットの承認データを含む。他の例では、他の符号化の形が、このトークンによって提供されるデータを通信および交換するために用いられてよい(例えば、XML符号化)。また、デジタル証明書が認証局(CA)に紐づけられた署名エンティティからの署名を含むシナリオを含め、デジタルセキュリティ証明書または同様のセキュリティデータオブジェクトが、承認データを通信するために利用されてよい。CBORウェブトークンの使用、証明書に埋め込まれたx.509トークン、非対称鍵の使用、およびOAuth、OAuth2、およびケルベロスのようなサインオンアプローチを含む他のバリエーションは、上述した承認通信スキームの一部として用いられてよい。
【0080】
上述されたように、様々なデバイスおよび通信は、OCF仕様に従って行われてよく、これは、デバイス間およびクラウドサービスとの様々なアクセスリソース、リソースコマンド、および通信フォーマットを定義する。OCFセッティング内でデバイスの構成を実現するために、OCFの実装によって利用されるリソースは、以下と同様のリソースを含んでよい。
・/CRD-発見可能なピアドメインおよびこれらの共有シャドウイングデバイスを含む。ピアCRDサーバは、共有リソースでエントリを更新または同期してよい。
・/Shadow-ローカルドメインの物理デバイスに対応するシャドウイングリソースを含む。
・/AS-発行された承認トークンおよびこれらのステータスのリソース表現を含む。
・/RD-クラウドリソース(/Shadow、/CRD、/AS)への参照を含む。
【0081】
図6は、例えば、
図5について上述したシナリオの実装で、クラウドツークラウド検証情報を確立および交換するための方法のフローチャート600を示す。
【0082】
オペレーション605において、デバイスシャドウイングが、第1のネットワークおよび第2のネットワークにおいて確立される。このオペレーションは、
図5に示すデータフロー(1)、(2)、(3)、(9)を実装してよく、またはこれらに基づいていてよい。
【0083】
オペレーション610において、シャドウイングされたデバイスは、クラウドリソースディレクトリを用いて発行される。このオペレーションは、
図5に示すデータフロー(4)、(5)、(6)を実装してよく、またはこれらに基づいていてよい。
【0084】
オペレーション615において、第1のネットワークおよび第2のネットワークにおいてデバイスを接続するユーザ承認および命令が(例えば、UEのユーザ入力を介して、ユーザの予め定義された規則、コマンド、またはデータを介して、等)取得される。このオペレーションは、
図5に示すデータフロー(7)、(8)、(10)、(11)、(12)を実装してよく、またはこれらに基づいていてよい。
【0085】
オペレーション620において、第1のネットワークおよび第2のネットワーク内のデバイスと接続するために、認証資格情報が交換される。このオペレーションは、
図5に示すデータフロー(12)、(13)、(14)、(15)、(16)を実装してよく、またはこれらに基づいていてよい。
【0086】
オペレーション625において、方法は、第1のネットワークと第2のネットワークとの間で確立された接続を用いて、リンクされたサービスおよびインタフェースの使用を行い、完了する。このオペレーションは、
図5に示すデータフロー(17)、(18)、(19)を実装してよく、またはこれらに基づいていてよい。
【0087】
従って、上述された
図3から6の中で示されたデータフローおよびオペレーショナルシーケンスは、デバイスツークラウドツークラウドツーデバイス(D2C2C2D)アクセスモデルを提供していることが理解されよう。セキュリティモデルは、論理的にはデバイスツーデバイスであるホップバイホップおよびエンドツーエンドメッセージ保護機能の両方を可能にする。いくつかのD2D物理的接続が可能で、ドメインが物理的に同じ位置であってよい場合でさえ、インタラクションセマンティクスが、ドメインAおよびBによって定義されたように残るので、D2C2C2Dアプローチがセキュリティのために続けられる。
【0088】
エッジコンピューティングインフラストラクチャは、クラウドサービスに共通するレイテンシの課題を克服するために設計されていることも理解されよう。エッジコンピューティングインフラストラクチャの使用によってでさえ、ここで説明されているD2C2C2Dアプローチは、ネットワークが物理的に同じ位置にあるときでさえ、依然として実行可能であり、リモートクラウドサービス特有のレイテンシは、エッジクラウドサービスから、低減されたレイテンシに置換され得る。
【0089】
最終的に、上述されたクラウドツーローカルインタラクションの多くは、例えば全てのクラウドサービスがOCFリソースとして表されるときに推定されることが理解されよう。これは、ローカルツークラウドインタラクションの多くが、従来のOCF発見およびインタラクションプロトコルを用いてサポートされてよいことを示唆している。
【0090】
さらなる例では、上述の確立されたドメインは、産業用IoTネットワークを含むセッティングに適用可能であってよい。このようなネットワークは、多くの場合、マルチティアネットワーキングを有し、上述したそれぞれの「ドメイン」は、これらのティアの1つに関するものであってよい。同様に、ネットワークまたはデバイスのティアを含む例において、ドメインは、それぞれのティア内で確立されてよく、ここで、各ティアにおいて、適用されるポリシ制御またはデバイス特性は付加的なので、そのティアにとって適切なポリシが潜在的に存在する。
【0091】
さらなる例において、ここで説明される実装は、複数のティアを含むスマートシティの使用を含め、スマートシティに適用されてよい。これらおよび他のセッティングにおいて、本明細書において説明される実装は、様々なエッジコンピューティング環境におけるエッジクラウド/エッジコンピューティング展開、ならびに有線および無線接続されたデバイスのためのマルチアクセスエッジコンピューティング(MEC)配置の使用にも適用してよい。
【0092】
図7は、自動クラウドツークラウド登録および検証技術を実装するためのデバイスおよび装置構成の図を示す。この図では、選択された構造的コンポーネント(プロセッサ、メモリ等)が、(第1リモートサービス710に関連付けられた)第1IoTデバイス740と(第2リモートサービス720に関連付けられた)第2IoTデバイス750との間で接続性を確立することの一部として、詳細に上述された様々なオペレーションを実装するために用いられる。ただし、さらにより多くのデバイス、システム、コンポーネント、および通信が、IoTデバイスの展開内で提供されてよいことが理解されよう。
【0093】
第1IoTデバイス740は、本明細書において説明される構成およびオペレーションに基づいて、リモートサービスを介してデバイスツーデバイス通信を実行するように適合されるので、デバイス740は、通信回路742(例えば、ネットワークインタフェースカード)、プロセッサ回路744(例えば、1つまたは複数のプロセッサまたはプロセッサコア)、およびメモリもしくはストレージデバイス746(例えば、揮発性または不揮発性メモリアレイ)を含むものとして示されている。例において、通信回路742は、直接または通信ゲートウェイ730を介して第2IoTデバイス750との通信を実行し、直接または通信ゲートウェイ730を介して第1リモートサービス710との通信を実行するように構成される。
【0094】
例において、メモリまたはストレージデバイス746は、そこで具現化される命令を含み、命令は、処理回路によって実行されたときに、リモートサービスを介してデバイスツーデバイス通信経路を構成および確立するためのオペレーションを実行するように処理回路を構成する。これらのオペレーションについてのさらなる詳細は、後述する
図8のオペレーションで、または
図3から6で詳細に示された他のデータフローで詳細に説明されている。これらのオペレーションは、デバイス740および750の間における発見および検証情報の交換と、サービス710とデバイス740との間におけるサービス通信情報の交換とを含むことが理解されよう。
【0095】
第2IoTデバイス750は、第1IoTデバイス740および第2リモートサービス720とのインタラクションおよび通信に対応するオペレーションを実行するように適合されるので、デバイス750も、通信回路752、プロセッサ回路754、およびメモリまたはストレージデバイス746を含むものとして示されている。そのオペレーションについてのさらなる詳細も、後述する
図8のオペレーションで、または
図3から6で詳細に示された他のデータフローで詳細に説明されている。これらのオペレーションは、デバイス740および750の間における発見および検証情報、およびサービス720とデバイス750との間におけるサービス検証情報の交換を含むことが理解されよう。
【0096】
第1リモートサービス710は、プロセッサ回路714およびメモリまたはストレージ716を有するサーバ712を含むものとして示され、第2リモートサービス720は、プロセッサ回路724およびメモリ/ストレージ726を有するサーバ722を含むものとして示されている。それぞれのプロセッサ回路およびメモリまたはストレージは、後述する
図8のオペレーションで、または
図3から6で詳細に示された他のデータフローで詳細に説明されるように、通信および認証情報を容易にするように各サーバ内で動作してよい。具体的には、サービス710、720間のデータ接続は、認証されたサービスツーサービス接続をセットアップし、その後データコマンドまたはデータ値をクラウドツークラウド方式で提供または通信するために、検証情報を交換するために用いられてよい。
【0097】
通信ゲートウェイ730は、ローカルエリアネットワークとワイドエリアネットワークとの間のブリッジとして、デバイス740、750を含むローカルエリアネットワーク内に位置してよく、または、ワイドエリアネットワークにおいて、デバイス740、750とサービス710、720との間に位置してよい。例において、通信ゲートウェイ730は、通信(例えば、有線または無線通信)を実行する通信回路732と、通信または演算オペレーションを実行するための命令を実行するプロセッサ回路734とを含む。(図示されないメモリまたはストレージのような)他のコンポーネントが、デバイス740、750とサービス710、720との間の通信をフィルタリングまたは強化するために用いられてよい。通信ゲートウェイ730は、
図8で詳細に後述するオペレーション、または
図3から6で詳細に説明されたデータフローを実行またはアシストしてよい。
【0098】
図8は、例に係る自動クラウドツークラウド登録および検証技術を実装するためのオペレーションのフローチャート800を示す。これらのオペレーションは、第1デバイスの観点から説明されるが、他の観点が実装されてよいことが理解されよう。
【0099】
フローチャート800は、第2デバイスに関連付けられた第2リモートサービスと通信するために用いられる様々な情報を第2デバイスから取得するオペレーションで開始する(オペレーション805)。この情報は、ローカルエリアネットワーク上での第2デバイスの発見に応答して取得されてよい。例えば、第2デバイスから取得される情報は、デバイス間、クラウドサービス間、またはそれ以外の間で、相互に許可の認証および通信リンクセキュリティの確立を行うための情報を含んでよい。
【0100】
フローチャート800は、第1デバイスに関連付けられた第1リモートサービスに情報を通信するオペレーションに続く(オペレーション810)。例において、第1リモートサービスは、第1エンティティに関連付けられた第1クラウドネットワークにおいてホストされ、第2リモートサービスは、第2エンティティに関連付けられた第2クラウドネットワークにおいてホストされる。この構成では、第1デバイスは第1エンティティに関連付けられ、第2デバイスは第2エンティティに関連付けられている。例えば、第1デバイスは、第1エンティティによって製造され、またはその代理としてサービスされてよく、第2デバイスは、第2エンティティによって製造され、またはその代理としてサービスされてよい。また、例において、第1リモートサービスと共に実行される通信は、ワイドエリアネットワークを介して実行される。これらの通信は、少なくとも1つのトークン、または上述されたトークン情報を含んでよく、例えば、ここで、トークンは、承認サーバから取得された認証情報を提供するデータを含む。
【0101】
フローチャート800は、第2デバイスからサービス検証情報を取得するオペレーションに続く(オペレーション815)。この前に、例えば、第1リモートサービスが第2リモートサービスによる検証手順を開始したことに応答して、第2リモートサービスがサービス検証情報を第2デバイスに提供するシナリオにおいて、サービス検証情報は、第2リモートサービスから提供されている。したがって、サービス検証情報は、サービスツーサービス認証の第1フェーズの結果として提供されてよい。例において、このサービスツーサービス認証は、ディレクトリの使用を含んでよく、例えば、ここで、第1リモートサービスは、第2リモートサービスにアクセス可能なデバイスの第1ディレクトリを維持し、第2リモートサービスは、第1リモートサービスにアクセス可能なデバイスの第2ディレクトリを維持する。上述したシャドウイングデバイスの使用を含み得るこれらの例では、デバイスの第1ディレクトリは、第1デバイスに関連付けられたデータを提供してよく、デバイスの第2ディレクトリは、第2デバイスに関連付けられたデータを提供してよく、サービス検証情報は、次に、デバイスの第1および第2ディレクトリの一方または両方に基づいて提供される。
【0102】
フローチャート800は、次に、第1デバイスから第1リモートサービスにサービス検証情報を通信するオペレーションに続く(オペレーション820)。さらなる例において、この通信および第1デバイスから第1リモートサービスへの他の通信は少なくとも1つのトークンを含み、(例えば、
図5で詳細に示されるように)このトークンは、承認サーバから取得された認証情報を提供するためのデータを含む。この情報に基づいて、検証済みサービスツーサービス接続(およびデバイスツークラウドサービスツークラウドサービスツーデバイス接続)が確立されてよい。
【0103】
フローチャート800は、検証済みサービスツーサービス接続を用いて、1つまたは複数のコマンドまたはデータを通信するオペレーションをもって終了する(オペレーション825)。例えば、コマンドの通信に応答して、コマンドは、第1リモートサービスと第2リモートサービスとの間の検証済み接続を用いて、第1リモートサービスから第2リモートサービスへ、第2リモートサービスから第2デバイスへ、さらに通信される。また、例えば、データ値の要求に応答して、要求は、第1リモートサービスから第2リモートサービスへ、第2リモートサービスから第2デバイスへさらに通信され、第1リモートサービスと第2リモートサービスとの間の検証済み接続を用いて、第2デバイスから第2リモートサービスに、かつ第1リモートサービスに戻される。
【0104】
例において、第1リモートサービスは、データまたはコマンドを伴う様々な認証情報を第2リモートサービスに提供し、第1リモートサービスと第2リモートサービスとの間の検証済み接続は、認証情報の使用に基づいて確立される。この認証情報は、上述した
図3および5で説明されたように提供されてよい。また、さらなる例において、様々な形のユーザ入力が、それぞれのIoTデバイスで、またはそれぞれのIoTデバイスを管理するユーザ機器で受信されてよい。したがって、第2デバイスでのユーザ入力に応答してサービス検証情報が第1デバイスに提供される様々なフローが行われてよい。他の自動化された発見および接続セットアップが行われてもよい。
【0105】
様々な例において、上述された本発明の主題および特徴は、様々な方法、デバイス、およびシステムの実施形態によって具現化されてよい。第1の例として、実施形態は、
図3から8を参照して説明された技術を用いて、クラウドツークラウドリソースディレクトリ(例えば、ディレクトリ510、520)においてインタラクションを実現またはデータを管理する方法、デバイス、システム、またはネットワークを含んでよい。このようなディレクトリは、データフローおよび上述したように交換される承認情報を用いて更新または管理されてよい。
【0106】
第2の例として、実施形態は、
図3から8を参照して説明された技術を用いてデバイスがクラウド対応(またはクラウド-リソース-ディレクトリ対応)のときのための処理機能を含むクラウドツーローカルリソースディレクトリインタラクションを実現する方法、デバイス、システム、またはネットワークを含んでよい。
【0107】
第3の例として、実施形態は、
図3から8を参照して説明された技術と組み合わせたOAuthまたはOAuthトークンの使用に基づいて、クラウドツークラウドインタラクションのOAuth承認を実現する方法、デバイス、システム、またはネットワークを含んでよい。
【0108】
第4の例として、実施形態は、
図3から8を参照して説明された技術を用いて、(クラウドツーローカルインタラクションのために既に構成されたデバイスのための)ローカルネットワークを介してクラウドツークラウドインタラクションの可用性発見を実現する方法、デバイス、システム、またはネットワークを含んでよい。
【0109】
第5の例として、実施形態は、
図3から8を参照して説明された技術から提供されるクラウドツークラウドリソースディレクトリ、クラウドツークラウドインタラクション、またはクラウドツーローカルインタラクションアプローチのいずれかのアプリケーション、サービス、またはデータ構造のセットアップを実現し、これらを実行する方法、デバイス、システム、またはネットワークを含んでよい。
【0110】
第6の例として、実施形態は、承認されたセキュアなクロスクラウドインタラクション(D2DまたはD2C2C2D)シナリオの、自動的な、ユーザにアシストされる、またはユーザによって構成されるプロビジョニングを実現する方法、デバイス、システム、またはネットワークを含んでよい。これらのシナリオは、
図3から8を参照して説明された技術を用いて、既にセキュアなD2D構成を活用し、したがって、ユーザが関与するOAuthまたは同様の承認アプローチの必要性を回避する。
【0111】
図9は、多数のモノのインターネット(IoT)デバイスと通信しているクラウドコンピューティングネットワークまたはクラウド900の図面を示す。クラウド900は、インターネットを表してもよく、または企業のプロプライエタリネットワークのようなローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)であってもよい。IoTデバイスは、様々な組み合わせでグループ化された任意の数の異なるタイプのデバイスを含んでよい。例えば、交通制御グループ906は、都市の街路に沿ったIoTデバイスを含んでよい。これらのIoTデバイスは、停止信号、交通フローモニタ、カメラおよび気象センサ等を含んでよい。交通制御グループ906または他のサブグループは、例えばLPWAリンクおよび光リンク等の有線または無線のリンク908を通じてクラウド900と通信していてよい。さらに、有線または無線のサブネットワーク912により、IoTデバイスが、例えば、ローカルエリアネットワークおよび無線ローカルエリアネットワーク等を通じて互いに通信することが可能であってよい。IoTデバイスは、ゲートウェイ910または928のような別のデバイスを用いて、クラウド900のようなリモート位置と通信してよい。また、IoTデバイスは、1つまたは複数のサーバ930を用いて、クラウド900またはゲートウェイ910との通信を容易にしてよい。例えば、1つまたは複数のサーバ930は、ローカルエリアネットワーク間のローカルエッジクラウドまたはフォグの実装をサポートするための中間ネットワークノードとして動作してよい。さらに、図示されているゲートウェイ928は、クラウドツーゲートウェイツーゲートウェイツー多くのエッジデバイスへという構成において、例えば、様々なIoTデバイス914、920、924がクラウド900内のリソースの割り当ておよび使用に対して制約されているかまたは動的である状態で、動作してよい。
【0112】
IoTデバイスの他の例示的なグループは、幾多の中でもとりわけ、遠隔気象台914、ローカル情報端末916、アラームシステム918、現金自動預け払い機920、アラームパネル922、または緊急車両924もしくは他の車両926のような移動車両を含んでよい。これらのIoTデバイスの各々は、他のIoTデバイス、サーバ904、別のIoTフォグプラットフォームもしくはシステム(不図示)、またはそれらの組み合わせと通信していてよい。IoTデバイスのグループは、様々な住宅、商業および産業用セッティング(プライベートな環境またはパブリックな環境の両方を含む)に展開されてよい。
【0113】
図9から分かるように、多数のIoTデバイスがクラウド900を通じて通信していてよい。これにより、異なるIoTデバイスが他のデバイスに対して自律的に情報を要求または提供することが可能になってよい。例えば、IoTデバイスのグループ(例えば、交通制御グループ906)は、人間が介入することなく予報を提供し得る遠隔気象台914のグループからの現在の天気予報を要求し得る。さらに、緊急車両924は、強盗が発生していると、現金自動預け払い機920によってアラートが出されてよい。緊急車両924は、現金自動預け払い機920へ向かっているとき、交通制御グループ906にアクセスして、その位置までのクリアランスを要求し得る。このクリアランスは、例えば、緊急車両924が妨げられずに交差点にアクセスするのに十分間に合う時間に交差点での交差交通を阻止するために、信号灯を赤に変えることによって行われる。
【0114】
遠隔気象台914または交通制御グループ906のようなIoTデバイスのクラスタは、他のIoTデバイスとだけでなく、クラウド900とも通信するように備えられてよい。これにより、IoTデバイスがデバイス間にアドホックネットワークを形成することが可能になり、これらが、フォグプラットフォームまたはシステムと称され得る単一デバイスとして機能することが可能になり得る。
【0115】
図10は、本明細書において説明する技術を実装するためにIoTデバイス1050内に存在し得るコンポーネントの例のブロック図である。IoTデバイス1050は、この例に示されているか、または上記の開示において言及されているコンポーネントの任意の組み合わせを含んでよい。コンポーネントは、IC、その一部、ディスクリート電子デバイス、もしくは他のモジュール、ロジック、ハードウェア、ソフトウェア、ファームウェア、またはIoTデバイス1050内で適合させられたそれらの組み合わせとして、または、より大きいシステムのシャーシ内に別の方法で組み込まれるコンポーネントとして実装されてよい。さらに、
図10のブロック図は、IoTデバイス1050のコンポーネントの高レベル図を示すよう意図されている。ただし、他の実装では、示されているコンポーネントのうちのいくつかが省略されてよく、さらなるコンポーネントが存在してよく、示されているコンポーネントの異なる配置が行われてよい。
【0116】
IoTデバイス1050は、プロセッサ1052の形で処理回路を含んでよい。プロセッサ1052は、マイクロプロセッサ、マルチコアプロセッサ、マルチスレッドプロセッサ、超低電圧プロセッサ、埋め込みプロセッサまたは他の公知の処理要素であってよい。プロセッサ1052は、プロセッサ1052および他のコンポーネントが、単一の集積回路内に、またはIntel(登録商標)からのEdison(商標)またはGalileo(商標)SoC基板のような単一のパッケージ内に形成されるシステムオンチップ(SoC)の一部であってよい。例として、プロセッサ1052は、Intel(登録商標)Architecture Core(商標)ベースのプロセッサ、例えば、Quark(商標)、Atom(商標)、Xeon(商標)、i3、i5、i7、i9、もしくはMCUクラスのプロセッサ、または、カリフォルニア州サンタクララのIntel(登録商標)Corporationから入手可能な別のこのようなプロセッサを含んでよい。ただし、カリフォルニア州サニーベールのAdvanced Micro Devices, Inc.(AMD)から入手可能なもの、カリフォルニア州サニーベールのMIPS Technologies, Inc.からのMIPSベースの設計、ARM Holdings, Ltd.またはその顧客、またはこれらの被ライセンス者または採用者からライセンスされたARMベースの設計のような、任意の数の他のプロセッサが用いられてよい。これらのプロセッサは、Apple(登録商標)Inc.からのA5-A12プロセッサ、Qualcomm(登録商標)Technologies,Inc.からのSnapdragon(商標)プロセッサ、またはTexas Instruments, Inc.からのOMAP(商標)プロセッサのようなユニットを含んでよい。従って、様々な例において、適用可能な処理手段が、このような処理回路によって具現化されてよい。
【0117】
プロセッサ1052は、相互接続1056(例えば、バス)を介してシステムメモリ1054と通信してよい。任意の数のメモリデバイスが、所与の量のシステムメモリを提供するために用いられてよい。例として、メモリは、DDRまたはモバイルDDR規格(例えば、LPDDR、LPDDR2、LPDDR3またはLPDDR4)のような電子機器技術評議会(JEDEC)の設計に従ったランダムアクセスメモリ(RAM)であってよい。様々な実装において、個々のメモリデバイスは、シングルダイパッケージ(SDP)、デュアルダイパッケージ(DDP)またはクワッドダイパッケージ(Q17P)のような、任意の数の異なるパッケージタイプのものであってよい。いくつかの例では、これらのデバイスをマザーボード上へ直接はんだ付けしてより低いプロファイルの解決手段を提供し得るが、他の例では、デバイスは、結果として所与のコネクタによりマザーボードに結合する1つまたは複数のメモリモジュールとして構成される。他のタイプのメモリモジュール、例えば、限定されないが、microDIMMまたはMiniDIMMを含む、異なる種類のデュアルインラインメモリモジュール(DIMM)のような、任意の数の他のメモリ実装が用いられてよい。
【0118】
データ、アプリケーションおよびオペレーティングシステム等のような、情報の永続的なストレージを提供するために、ストレージ1058は、相互接続1056を介してプロセッサ1052に結合してもよい。例において、ストレージ1058は、ソリッドステートディスクドライブ(SSDD)を介して実装されてよい。ストレージ1058のために用いられ得る他のデバイスは、SDカード、microSDカードおよびxDピクチャカード等のようなフラッシュメモリカードと、USBフラッシュドライブとを含む。低電力の実装では、ストレージ1058は、プロセッサ1052に関連付けられたオンダイメモリまたはレジスタであってよい。ただし、いくつかの例では、ストレージ1058は、マイクロハードディスクドライブ(HDD)を用いて実装されてよい。さらに、とりわけ、抵抗変化メモリ、相変化メモリ、ホログラフィックメモリまたは化学メモリのような説明する技術に加えて、またはそれらの代わりに、任意の数の新たな技術がストレージ1058に用いられてよい。従って、様々な例において、適用可能なストレージのための手段が、このような記憶媒体によって具現化されてよい。
【0119】
これらのコンポーネントは、相互接続1056を介して通信してよい。相互接続1056は、業界標準アーキテクチャ(ISA)、拡張ISA(EISA)、周辺コンポーネント相互接続(PCI)、周辺コンポーネント相互接続拡張(PCIx)、PCIエクスプレス(PCIe)を含む任意の数の他の技術、または任意の数の技術を含んでよい。相互接続1056は、例えば、SoCベースのシステムにおいて用いられるプロプライエタリバスであってよい。とりわけ、I2Cインタフェース、SPIインタフェース、ポイントツーポイントインタフェースおよび電力バスのような他のバスシステムが含まれてよい。
【0120】
相互接続1056は、他のメッシュデバイス1064との通信のために、プロセッサ1052をメッシュトランシーバ1062に結合させてよい。メッシュトランシーバ1062は、とりわけ、Bluetooth(登録商標)Special Interest Groupにより定義されているBluetooth(登録商標)Low Energy(BLE)規格またはZigbee(登録商標)規格を用いた、IEEE802.15.4規格に基づく2.4ギガヘルツ(GHz)伝送のような、任意の数の周波数およびプロトコルを用いてよい。特定の無線通信プロトコル用に構成された任意の数の無線機が、メッシュデバイス1064への接続のために用いられてよい。例えば、WLANユニットが、米国電気電子技術者協会(IEEE)802.11規格に従ってWi-Fi(登録商標)通信を実装するために用いられてよい。さらに、例えば、セルラまたは他の無線ワイドエリアプロトコルによる無線ワイドエリア通信が、WWANユニットを介して行われてよい。
【0121】
メッシュトランシーバ1062は、異なる範囲での通信のために、複数の規格または無線を用いて通信してよい。例えば、IoTデバイス1050は、BLEまたは別の低電力無線に基づいてローカルトランシーバを用いて、例えば、約10メートル以内の近接デバイスと通信することで、電力を節約してよい。例えば、約50メートル以内の、より遠いメッシュデバイス1064が、Zigbeeまたは他の中間電力無線機を介して到達されてよい。両方の通信技術は、異なる電力レベルで単一の無線を介して行われてもよく、または、例えば、BLEを用いるローカルトランシーバなどの別個のトランシーバと、Zigbeeを用いる別個のメッシュトランシーバとを介して行われてもよい。
【0122】
ローカルエリアネットワークプロトコルまたはワイドエリアネットワークプロトコルを介してクラウド1000内のデバイスまたはサービスと通信するために、無線ネットワークトランシーバ1066が含まれてよい。無線ネットワークトランシーバ1066は、とりわけ、IEEE802.15.4規格またはIEEE802.15.4g規格に従ったLPWAトランシーバであってよい。IoTデバイス1050は、SemtechおよびLoRa Allianceにより開発されたLoRaWAN(商標)(長距離ワイドエリアネットワーク)を用いて、広域にわたって通信してよい。本明細書において説明する技術は、これらの技術に限定されないが、Sigfoxのような長距離低帯域幅通信を実装する任意の数の他のクラウドトランシーバ、および他の技術と共に用いられてよい。さらに、IEEE802.15.4e仕様において説明されるタイムスロットチャネルホッピングのような他の通信技術が用いられてよい。
【0123】
本明細書において説明するように、メッシュトランシーバ1062および無線ネットワークトランシーバ1066について言及されたシステムに加え、任意の数の他の無線通信およびプロトコルが用いられてよい。例えば、無線トランシーバ1062および1066は、高速通信を実装するためにスペクトル拡散(SPA/SAS)通信を用いるLTEまたは他のセルラトランシーバを含んでよい。さらに、ネットワーク通信のプロビジョニングおよび中速通信のためのWi-Fi(登録商標)ネットワークのような、任意の数の他のプロトコルが用いられてよい。
【0124】
無線トランシーバ1062および1066は、任意の数の3GPP(第3世代パートナシッププロジェクト)仕様、特に、ロングタームエボリューション(LTE)、ロングタームエボリューションアドバンスト(LTE-A)およびロングタームエボリューションアドバンストプロ(LTE-A Pro)と互換性がある無線機を含んでよい。なお、任意の数の他の固定通信、モバイル通信または衛星通信の技術および規格と互換性がある無線機が選択されてよい。これらは、例えば、任意のセルラ広域無線通信技術を含み得る。セルラ広域無線通信技術は、例えば、第5世代(5G)通信システム、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))無線通信技術、汎用パケット無線サービス(GPRS)無線通信技術、またはGSM進化型高速データレート(EDGE)無線通信技術、UMTS(ユニバーサル移動体通信システム)通信技術を含み得る。上に列挙した規格に加え、例えば、とりわけ、ITU(国際電気通信連合)またはETSI(欧州電気通信標準化機構)により発行される規格に準拠する無線機を含む無線ネットワークトランシーバ1066のために、任意の数の衛星アップリンク技術が用いられてよい。したがって、本明細書において提供される例は、既存のものおよびまだ定式化されていないものの両方を含む、様々な他の通信技術に適用可能であると理解される。
【0125】
クラウド1000、またはメッシュデバイス1064のような他のデバイスに有線通信を提供するために、ネットワークインタフェースコントローラ(NIC)1068が含まれてよい。有線通信は、Ethernet(登録商標)接続を提供してもよく、または、幾多の中でもとりわけ、コントローラエリアネットワーク(CAN)、ローカル相互接続ネットワーク(LIN)、DeviceNet、ControlNet、Data Highway+、PROFIBUSまたはPROFINETのような他のタイプのネットワークに基づいていてもよい。第2のネットワーク、例えば、Ethernetを介してクラウドに通信を提供するNIC1068、および別のタイプのネットワークを介して他のデバイスに通信を提供する第2のNIC1068への接続を可能にするために、さらなるNIC1068が含まれてよい。
【0126】
デバイスから別のコンポーネントまたはネットワークへ、様々なタイプの適用可能な通信があるとすると、デバイスによって用いられる適用可能な通信回路は、コンポーネント1062、1066、1068または1070のいずれか1つまたは複数を含んでよく、またはこれらによって具現化されてよい。従って、様々な例において、適用可能な通信(例えば、受信、伝送等)のための手段は、このような通信回路によって具現化されてよい。
【0127】
相互接続1056は、外部デバイスまたはサブシステムに接続するために用いられる外部インタフェース1070にプロセッサ1052を結合してよい。外部デバイスは、加速度計、レベルセンサ、流量センサ、光学光センサ、カメラセンサ、温度センサ、全地球測位システム(GPS)センサ、圧力センサおよび気圧センサ等のようなセンサ1072を含んでよい。外部インタフェース1070はさらに、電力スイッチ、バルブアクチュエータ、可聴音生成器、視覚警告デバイス等のようなアクチュエータ1074にIoTデバイス1050を接続するために用いられてよい。
【0128】
いくつかのオプションの例では、様々な入力/出力(I/O)デバイスが、IoTデバイス1050内に存在してよい、または接続されてよい。例えば、センサの読み取り値またはアクチュエータの位置のような情報を示すために、ディスプレイまたは他の出力デバイス1084が含まれてよい。入力を受け付けるために、タッチスクリーンまたはキーパッドのような入力デバイス1086が含まれてよい。出力デバイス1084は、任意の数の形態のオーディオまたはビジュアルディスプレイを含み得る。これらのディスプレイは、バイナリステータスインジケータ(例えば、LED)およびマルチ文字ビジュアル出力のような単純なビジュアル出力、またはディスプレイ画面(例えば、LCD画面)のようなより複雑な出力を含み、文字、グラフィックス、マルチメディアオブジェクト等の出力は、IoTデバイス1050のオペレーションから生成されるか、または生じる。
【0129】
バッテリ1076は、IoTデバイス1050に電力を供給し得るが、IoTデバイス1050が固定位置に装着されている例では、電力系統に結合された電源を有してよい。バッテリ1076は、リチウムイオンバッテリ、または、例えば、亜鉛-空気バッテリ、アルミニウム-空気バッテリおよびリチウム-空気バッテリ等の金属-空気バッテリであってよい。
【0130】
IoTデバイス1050には、バッテリ1076の充電状態(SoCh)を追跡するために、バッテリモニタ/充電器1078が含まれてよい。バッテリモニタ/充電器1078は、バッテリ1076の健全度(SoH)および機能状態(SoF)のようなバッテリ1076の他のパラメータを監視して、故障予測を提供するために用いられてよい。バッテリモニタ/充電器1078は、Linear TechnologiesからのLTC4020もしくはLTC2990、アリゾナ州フェニックスからのON SemiconductorからのADT7488Aまたはテキサス州ダラスのTexas InstrumentsからのUCD90xxxファミリのICのようなバッテリ監視集積回路を含んでよい。バッテリモニタ/充電器1078は、相互接続1056を介して、バッテリ1076に関する情報をプロセッサ1052に通信してよい。バッテリモニタ/充電器1078は、プロセッサ1052がバッテリ1076の電圧またはバッテリ1076からの電流を直接監視することを可能にするアナログ-デジタル(ADC)コンバータも含んでよい。バッテリのパラメータは、伝送周波数、メッシュネットワークオペレーションおよびセンシング周波数等のような、IoTデバイス1050が実行し得る動作を決定するために用いられてよい。
【0131】
バッテリ1076を充電するために、電力ブロック1080、または電力系統に結合された他の電源が、バッテリモニタ/充電器1078と結合されてよい。いくつかの例では、電力ブロック1080を無線電力レシーバに置換することで、無線で、例えば、IoTデバイス1050内のループアンテナを通じて、電力を取得してよい。バッテリモニタ/充電器1078には、とりわけ、カリフォルニア州ミルピタスのLinear TechnologiesからのLTC4020チップ例えば無線バッテリ充電回路が含まれてよい。選ばれる特定の充電回路は、バッテリ1076のサイズ、およびしたがって、必要とされる電流に依存する。充電は、とりわけ、Airfuel Allianceにより公表されるAirfuel規格、ワイヤレスパワーコンソーシアムにより公表されるQi無線充電規格またはAlliance for Wireless Powerにより公表されるRezence充電規格を用いて実行されてよい。
【0132】
ストレージ1058は、本明細書において説明する技術を実装するためのソフトウェア、ファームウェアまたはハードウェアコマンドの形で命令1082を含んでよい。このような命令1082がメモリ1054およびストレージ1058に含まれるコードブロックとして示されているが、コードブロックのいずれも、例えば、特定用途向け集積回路(ASIC)に組み込まれたハードワイヤード回路に置換され得ることが理解されよう。
【0133】
例において、メモリ1054、ストレージ1058またはプロセッサ1052を介して提供される命令1082は、IoTデバイス1050内の電子的オペレーションを実行するようプロセッサ1052に指示するためのコードを含む非一時的機械可読媒体1060として具現化されてよい。プロセッサ1052は、相互接続1056を介して非一時的機械可読媒体1060にアクセスしてよい。例えば、非一時的機械可読媒体1060は、
図10のストレージ1058について説明されているデバイスにより具現化されてよく、または、光ディスク、フラッシュドライブまたは任意の数の他のハードウェアデバイスのような特定のストレージユニットを含んでもよい。非一時的機械可読媒体1060は、例えば、上で示されたオペレーションおよび機能のフローチャートおよびブロック図に関して説明したとおり、動作の特定のシーケンスまたはフローを実行するようプロセッサ1052に指示するための命令を含んでよい。
【0134】
さらなる具体例において、プロセッサ1052上の命令1088は、(別個に、または機械可読媒体1060の命令1088との組み合わせで)信頼された実行環境(TEE)1090の実行またはオペレーションを構成してよい。例において、TEE1090は、命令のセキュアな実行およびデータへのセキュアなアクセスのために、プロセッサ1052にアクセス可能な保護エリアとして動作する。TEE1090の様々な実装、およびプロセッサ1052またはメモリ1054における付随するセキュアなエリアは、例えば、Intel(登録商標) Software Guard Extensions(SGX)またはARM(登録商標)、TrustZone(登録商標)ハードウェアセキュリティ拡張、Intel(登録商標)Management Engine(ME)、またはIntel(登録商標)Converged Security Manageability Engine (CSME)の使用を通じて提供されてよい。セキュリティ強化、ハードウェアの信頼の基点、信頼または保護されたオペレーションの他の態様が、TEE1090およびプロセッサ1052によりデバイス1050において実装されてよい。
【0135】
さらなる例において、機械可読媒体は、機械により実行される命令を格納、符号化または保持可能で、本開示の方法論のうちのいずれか1つまたは複数を機械に実行させ、または、このような命令に利用されるかまたは関連付けられるデータ構造を格納、符号化または保持可能な任意の有形の媒体をも含む。したがって、「機械可読媒体」は、限定されないが、ソリッドステートメモリならびに光および磁気メディアを含んでよい。機械可読媒体の具体例は、限定されないが、半導体メモリデバイス(例えば、電気的プログラマブルリードオンリメモリ(EPROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM))およびフラッシュメモリデバイスを含む不揮発性メモリと、内蔵ハードディスクおよびリムーバブルディスクのような磁気ディスクと、光磁気ディスクと、CD-ROMディスクおよびDVD-ROMディスクとを例として含む。機械可読媒体により具現化される命令は、多数の転送プロトコル(例えば、HTTP)のうちのいずれか1つを利用するネットワークインタフェースデバイスを介した伝送媒体を用いて、通信ネットワークを介してさらに伝送または受信されてよい。
【0136】
本明細書において説明する機能ユニットまたは機能は、それらの実装の独立性をより具体的に強調すべく、コンポーネントまたはモジュールと称されているか、またはそのように符号が付されている可能性があることを理解されたい。このようなコンポーネントは、任意の数のソフトウェアまたはハードウェアの形により具現化されてよい。例えば、コンポーネントまたはモジュールは、カスタムの超大規模集積(VLSI)回路もしくはゲートアレイ、ロジックチップのような既製の半導体トランジスタまたは他のディスクリートコンポーネントを備えるハードウェア回路として実装されてよい。コンポーネントまたはモジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジックまたはプログラマブルロジックデバイス等のようなプログラマブルハードウェアデバイスに実装されてもよい。コンポーネントまたはモジュールは、様々なタイプのプロセッサによる実行のために、ソフトウェアで実装されてもよい。実行可能コードの識別されたコンポーネントまたはモジュールは、例えば、コンピュータ命令の1つまたは複数の物理的またはロジカルブロックを含んでよく、これは、例えば、オブジェクト、手順、または機能として体系化されてよい。それにもかかわらず、識別されたコンポーネントまたはモジュールの実行ファイルは、物理的に一緒に位置している必要はないが、論理的に一緒に連結されているときは、コンポーネントまたはモジュールを含み、かつ、コンポーネントまたはモジュールの記述された目的を実現する、異なる位置に格納された全く異なる命令を含んでよい。
【0137】
実際には、実行可能コードのコンポーネントまたはモジュールは、単一の命令または多くの命令であってよく、さらには、いくつかの異なるコードセグメントを介して、異なるプログラムの間で、かつ、いくつかのメモリデバイスまたは処理システムにわたって分散されていてよい。特に、(コードのリライトおよびコードの解析のような)説明されている処理のいくつかの態様は、コードが展開されている処理システム(例えば、センサまたはロボットに埋め込まれたコンピュータ)とは異なる処理システムで(例えば、データセンタ内のコンピュータ内で)行われてよい。同様に、処理データは、本明細書ではコンポーネントまたはモジュール内で特定および図示されてよく、任意の適切な形態で具現化され、任意の適切なタイプのデータ構造内で体系化されてよい。処理データは、単一のデータセットとして収集されてよく、または、異なるストレージデバイスにわたっていることを含め、異なる位置にわたって分散されてよく、少なくとも部分的に、単にシステムまたはネットワーク上の電子信号として存在してよい。コンポーネントまたはモジュールは、所望の機能を実行するように動作可能なエージェントを含み、受動的または能動的であってよい。
【0138】
ここで説明する方法、システムおよびデバイスの実施形態のさらなる例は、以下の非限定的な構成を含む。以下の非限定的な例の各々は、独立したものであってもよく、または、以下にまたは本開示の全体を通じて提供される他の例ののうちのいずれか1つまたは複数と任意の並べ替えまたは組み合わせで組み合わせられてもよい。
【0139】
例1は、処理回路と、第2デバイスとの通信を実行し、デバイスに関連付けられた第1リモートサービスとの通信を実行するように構成される通信回路と、そこで具現化される命令を含むメモリデバイスとを備えるデバイスであって、命令は、処理回路によって実行されたときに、第2デバイスに関連付けられた第2リモートサービスと通信するために、第2デバイスから情報を取得するオペレーションと、デバイスから第1リモートサービスに情報を提供するオペレーションであって、情報に応答して、第1リモートサービスが第2リモートサービスとの検証手順を開始する、オペレーションと、第2デバイスからサービス検証情報を取得するオペレーションであって、サービス検証情報は、第1リモートサービスが第2リモートサービスとの検証手順を開始したことに応答して、第2リモートサービスから第2デバイスに提供される、オペレーションと、デバイスから第1リモートサービスにサービス検証情報を提供するオペレーションであって、サービス検証情報は、第1リモートサービスによって、第1リモートサービスと第2リモートサービスとの間の検証済み接続を実現するために用いられ、検証済み接続は、第1および第2リモートサービスを介してデバイスと第2デバイスとの間でデータまたはコマンドを通信するために確立される、オペレーションとを実行するように処理回路を構成するデバイスである。
【0140】
例2において、例1の主題は、任意選択的に、デバイスから第1リモートサービスにコマンドを通信することによって、第1リモートサービスおよび第2リモートサービスを介して、デバイスから第2デバイスにコマンドを提供するオペレーションであって、コマンドを通信することに応答して、第1リモートサービスと第2リモートサービスとの間の検証済み接続を用いて、コマンドは、第1リモートサービスから第2リモートサービスへ、第2リモートサービスから第2デバイスへ、さらに通信される、オペレーションを実行するように処理回路をさらに構成する命令を含む。
【0141】
例3において、例1-2のいずれか1つまたは複数の主題は、任意選択的に、IoTデバイスから第1リモートサービスへのデータ値の要求を通信することによって、第1リモートサービスおよび第2リモートサービスを介して、第2デバイスからデータ値を取得するオペレーションであって、データ値の要求に応答して、要求は、第1リモートサービスと第2リモートサービスとの間の検証済み接続を用いて、第1リモートサービスから第2リモートサービスに、および第2リモートサービスから第2デバイスにさらに通信され、第2デバイスから第2リモートサービスおよび第1リモートサービスに戻される、オペレーションを含む。
【0142】
例4において、例1-3のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスは、第1エンティティに関連付けられた第1クラウドネットワークでホストされ、第2リモートサービスは、第2エンティティに関連付けられた第2クラウドネットワークでホストされ、デバイスは、第1エンティティに関連付けられており、第2デバイスは、第2エンティティに関連付けられている主題を含む。
【0143】
例5において、例4の主題は、任意選択的に、デバイスは、第1エンティティによって製造され、またはその代理としてサービスされており、第2デバイスは、第2エンティティによって製造され、またはその代理としてサービスされている主題を含む。
【0144】
例6において、例1-5のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスは、第2リモートサービスへのデータまたはコマンドを伴う認証情報をさらに提供し、第1リモートサービスと第2リモートサービスとの間の検証済み接続は、認証情報の使用に基づいて確立される主題を含む。
【0145】
例7において、例1-6のいずれか1つまたは複数の主題は、任意選択的に、情報は、デバイスで受信されたユーザ入力に応答して第1リモートサービスに提供され、サービス検証情報は、第2デバイスでのユーザ入力に応答してデバイスに提供される主題を含む。
【0146】
例8において、例1-7のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスは、第2リモートサービスにアクセス可能なデバイスの第1ディレクトリを維持し、デバイスの第1ディレクトリは、デバイスに関連付けられたデータを含み、第2リモートサービスは、第1リモートサービスにアクセス可能なデバイスの第2ディレクトリを維持し、デバイスの第2ディレクトリは、第2デバイスに関連付けられたデータを含み、サービス検証情報は、デバイスの第1および第2ディレクトリの少なくとも1つに基づいて提供される主題を含む。
【0147】
例9において、例1-8のいずれか1つまたは複数の主題は、任意選択的に、デバイスから第1リモートサービスへの通信は少なくとも1つのトークンを含み、少なくとも1つのトークンは、承認サーバから取得された認証情報を提供するデータを含む主題を含む。
【0148】
例10において、例1-9のいずれか1つまたは複数の主題は、任意選択的に、第2デバイスと共に実行される通信はローカルエリアネットワークを介して実行され、第1リモートサービスと共に実行される通信は、ワイドエリアネットワークを介して実行される主題を含む。
【0149】
例11において、例10の主題は、任意選択的に、第2リモートサービスと通信するために、第2デバイスから情報を取得するためのオペレーションは、ローカルエリアネットワーク上での第2デバイスの発見に応答して実行され、第2デバイスから取得される情報は、許可を相互に認証し、通信リンクのセキュリティを確立するための情報を含む主題を含む。
【0150】
例12において、例1-11のいずれか1つまたは複数の主題は、任意選択的に、デバイスおよび第2デバイスは、Open Connectivity Foundation(OCF)仕様に従って定義される規格に従って通信し、オペレーションによって実行される通信は、それぞれのデバイスおよびサービス間の非同期メッセージに従って行われる主題を含む。
【0151】
例13は、モノのインターネット(IoT)デバイス展開において通信を確立するための方法であって、IoTデバイスの処理回路によって実行されるオペレーションを備え、オペレーションは、第2IoTデバイスに関連付けられた第2リモートサービスと通信するために、第2IoTデバイスから情報を取得することと、情報を第1リモートサービスに提供することであって、情報に応答して、第1リモートサービスは第2リモートサービスと検証手順を開始する、提供することと、第2IoTデバイスからサービス検証情報を取得することであって、サービス検証情報は、検証手順に応答して、第2リモートサービスから第2IoTデバイスに提供される、取得することと、IoTデバイスと第2IoTデバイスとの間で、第1および第2リモートサービスを介してデータまたはコマンドを通信するために、第1リモートサービスと第2リモートサービスとの間の検証済み接続を可能にするために、サービス検証情報を第1リモートサービスに提供することとを含む方法である。
【0152】
例14において、例13の主題は、任意選択的に、IoTデバイスから第1リモートサービスにコマンドを通信することによって、I第1リモートサービスおよび第2リモートサービスを介して、IoTデバイスから第2IoTデバイスにコマンドを提供することであって、コマンドの通信に応答して、コマンドは、第1リモートサービスと第2リモートサービスとの間の検証済み接続を用いて、第1リモートサービスから第2リモートサービスに、および第2リモートサービスから第2IoTデバイスにさらに通信される、提供することを含む。
【0153】
例15において、例13-14のいずれか1つまたは複数の主題は、任意選択的に、IoTデバイスから第1リモートサービスへのデータ値の要求を通信することによって、第1リモートサービスおよび第2リモートサービスを介して、第2IoTデバイスからデータ値を取得することであって、データ値の要求に応答して、要求は、第1リモートサービスと第2リモートサービスとの間の検証済み接続を用いて、第1リモートサービスから第2リモートサービスに、および第2リモートサービスから第2IoTデバイスにさらに通信され、第2IoTデバイスから第2リモートサービスおよび第1リモートサービスに戻される、取得することを含む。
【0154】
例16において、例13-15のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスは、第1エンティティに関連付けられた第1クラウドネットワークでホストされ、第2リモートサービスは、第2エンティティに関連付けられた第2クラウドネットワークでホストされ、IoTデバイスは、第1エンティティに関連付けられており、第2IoTデバイスは、第2エンティティに関連付けられている主題を含む。
【0155】
例17において、例16の主題は、任意選択的に、IoTデバイスは、第1エンティティによって製造され、またはその代理としてサービスされており、第2IoTデバイスは、第2エンティティによって製造され、またはその代理としてサービスされている主題を含む。
【0156】
例18において、例13-17のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスは、第2リモートサービスへのデータまたはコマンドを伴う認証情報をさらに提供し、第1リモートサービスと第2リモートサービスとの間の検証済み接続は、認証情報の使用に基づいて確立される主題を含む。
【0157】
例19において、例13-18のいずれか1つまたは複数の主題は、任意選択的に、情報は、IoTデバイスで受信されたユーザ入力に応答して第1リモートサービスに提供され、サービス検証情報は、第2IoTデバイスでのユーザ入力に応答してIoTデバイスに提供される主題を含む。
【0158】
例20において、例13-19のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスは、第2リモートサービスにアクセス可能なデバイスの第1ディレクトリを維持し、デバイスの第1ディレクトリは、IoTデバイスに関連付けられたデータを含み、第2リモートサービスは、第1リモートサービスにアクセス可能なデバイスの第2ディレクトリを維持し、デバイスの第2ディレクトリは、第2IoTデバイスに関連付けられたデータを含み、サービス検証情報は、デバイスの第1および第2ディレクトリの少なくとも1つに基づいて提供される主題を含む。
【0159】
例21において、例13-20のいずれか1つまたは複数の主題は、任意選択的に、IoTデバイスから第1リモートサービスへの通信は少なくとも1つのトークンを含み、少なくとも1つのトークンは、承認サーバから取得された認証情報を提供するデータを含む主題を含む。
【0160】
例22において、例13-21のいずれか1つまたは複数の主題は、任意選択的に、第2IoTデバイスと共に実行される通信はローカルエリアネットワークを介して実行され、第1リモートサービスと共に実行される通信は、ワイドエリアネットワークを介して実行される主題を含む。
【0161】
例23において、例22の主題は、任意選択的に、第2リモートサービスと通信するために、第2IoTデバイスから情報を取得するためのオペレーションは、ローカルエリアネットワーク上での第2IoTデバイスの発見に応答して実行され、第2IoTデバイスから取得される情報は、許可を相互に認証し、通信リンクのセキュリティを確立するための情報を含む主題を含む。
【0162】
例24において、例13-23のいずれか1つまたは複数の主題は、任意選択的に、IoTデバイスおよび第2IoTデバイスは、Open Connectivity Foundation(OCF)仕様に従って定義される規格に従って通信し、オペレーションによって実行される通信は、それぞれのデバイスおよびサービス間の非同期メッセージに従って行われる主題を含む。
【0163】
例25は、格納された命令を備える少なくとも1つの機械可読ストレージデバイスであって、命令は、装置の処理回路によって実行されたときに、例13から24に記載のオペレーションのいずれかを処理回路に実行させる、機械可読ストレージデバイス。
【0164】
例26は、システムであって、処理回路と、通信回路と、少なくとも1つのメモリデバイスとを含む第1モノのインターネット(IoT)デバイスを備え、処理回路は、第2IoTデバイスに関連付けられた第2リモートサービスと通信するために、第2IoTデバイスから情報を受信することと、第1IoTデバイスから第1リモートサービスに情報を伝送することであって、第1リモートサービスは、情報に応答して、検証手順を開始するために第2リモートサービスにコンタクトする、伝送することと、第2IoTデバイスからサービス検証情報を受信することであって、サービス検証情報は、第1リモートサービスが検証手順を開始するために第2リモートサービスにコンタクトしたことに応答して、第2リモートサービスから第2IoTデバイスに提供される、受信することと、サービス検証情報を第1IoTデバイスから第1リモートサービスに伝送することであって、サービス検証情報は、第1リモートサービスと第2リモートサービスとの間の検証済み接続を実現するために第1リモートサービスによって用いられ、検証済み接続は、第1および第2リモートサービスを介して、第1IoTデバイスと第2IoTデバイスとの間でデータまたはコマンドを通信するために確立される、伝送することと、を第1IoTデバイスに実行させるように構成される、システムである。
【0165】
例27において、例26の主題は、任意選択的に、第1IoTデバイスと通信する承認サーバを含み、承認サーバは、検証手順を確立し、検証済み接続を確立するために用いられる少なくとも1つの認証トークンを提供する。
【0166】
例28において、例26-27のいずれか1つまたは複数の主題は、任意選択的に、通信回路およびプロセッサ回路を含むIoTゲートウェイを含み、IoTゲートウェイは、第1IoTデバイスおよび第2IoTデバイスと通信し、ローカルエリアネットワークを介してデバイス発見およびデバイスツーデバイス通信を実現するように構成される。
【0167】
例29において、例26-28のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスを動作させるリモートサーバを含み、リモートサーバは、プロセッサ回路および少なくとも1つのメモリデバイスを含み、第1リモートサービスは、第1リモートサービスおよび第1IoTデバイスが第1サービスドメインで動作し、第2リモートサービスおよび第2IoTデバイスが第2サービスドメインで動作するようにオペレーションを実行するように構成される。
【0168】
例30において、例26-29のいずれか1つまたは複数の主題は、任意選択的に、例13から24のいずれかのオペレーションをように実行するように構成されるそれぞれのプロセッサ回路を含む。
【0169】
例31は、装置であって、IoTデバイスとの通信を実行し、装置に関連付けられた第1リモートサービスとの通信を実行するための手段と、第1リモートサービスを介して、IoTデバイスに関連付けられた第2リモートサービスとの通信を実現するために、IoTデバイスから情報を取得するための手段と、第1リモートサービスに情報を提供するための手段であって、情報は、第1リモートサービスが、第2リモートサービスとの検証手順を開始することを可能にする、手段と、IoTデバイスからサービス検証情報を取得するための手段であって、サービス検証情報は、検証手順に応答して、第2リモートサービスからIoTデバイスに提供される、手段と、第1リモートサービスと第2リモートサービスとの間の検証済み接続を実現し、第1および第2リモートサービスを介して、装置とIoTデバイスとの間でデータまたはコマンドを通信するために、サービス検証情報を第1リモートサービスに提供するための手段と、を備える装置である。
【0170】
例32において、例31の主題は、任意選択的に、第1リモートサービスにコマンドを通信することによって、第1リモートサービスおよび第2リモートサービスを介して、IoTデバイスにコマンドを提供するための手段であって、コマンドの通信に応答して、コマンドは、第1リモートサービスと第2リモートサービスとの間の検証済み接続を用いて、第1リモートサービスから第2リモートサービスに、および第2リモートサービスからIoTデバイスにさらに通信される、手段を提供することを含む。
【0171】
例33において、例31-32のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスに提供されたデータ値の要求によって、第1リモートサービスおよび第2リモートサービスを介して、IoTデバイスからデータ値を取得するための手段であって、データ値の要求に応答して、要求は、第1リモートサービスと第2リモートサービスとの間の検証済み接続を用いて、第1リモートサービスから第2リモートサービスに、および第2リモートサービスからIoTデバイスにさらに通信され、IoTデバイスから第2リモートサービスおよび第1リモートサービスに戻される、手段を含む。
【0172】
例34において、例31-33のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスは、第1エンティティに関連付けられた第1クラウドネットワークでホストされ、第2リモートサービスは、第2エンティティに関連付けられた第2クラウドネットワークでホストされ、装置は、第1エンティティに関連付けられており、IoTデバイスは、第2エンティティに関連付けられている主題を含む。
【0173】
例35において、例34の主題は、任意選択的に、装置は、第1エンティティによって製造され、またはその代理としてサービスされており、IoTデバイスは、第2エンティティによって製造され、またはその代理としてサービスされている主題を含む。
【0174】
例36において、例31-35のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスは、第2リモートサービスへのデータまたはコマンドを伴う認証情報をさらに提供し、第1リモートサービスと第2リモートサービスとの間の検証済み接続は、認証情報の使用に基づいて確立される主題を含む。
【0175】
例37において、例31-36のいずれか1つまたは複数の主題は、任意選択的に、ユーザ入力に応答して情報を受信または確認するための手段であって、サービス検証情報は、ユーザ入力に応答して、IoTデバイスで取得される、手段を含む。
【0176】
例38において、例31-37のいずれか1つまたは複数の主題は、任意選択的に、第1リモートサービスは、第2リモートサービスにアクセス可能なデバイスの第1ディレクトリを維持し、デバイスの第1ディレクトリは、装置に関連付けられたデータを含み、第2リモートサービスは、第1リモートサービスにアクセス可能なデバイスの第2ディレクトリを維持し、デバイスの第2ディレクトリは、IoTデバイスに関連付けられたデータを含み、サービス検証情報は、デバイスの第1および第2ディレクトリの少なくとも1つに基づいて提供される主題を含む。
【0177】
例39において、例31-38のいずれか1つまたは複数の主題は、任意選択的に、少なくとも1つのトークンを含むように、第1リモートサービスへの通信を生成するための手段であって、少なくとも1つのトークンは、承認サーバから取得された認証情報を提供するデータを含む、手段を含む。
【0178】
例40において、例31-39のいずれか1つまたは複数の主題は、任意選択的に、IoTデバイスと共に実行される通信はローカルエリアネットワークを介して実行され、第1リモートサービスと共に実行される通信は、ワイドエリアネットワークを介して実行される主題を含む。
【0179】
例41において、例40の主題は、任意選択的に、ローカルエリアネットワーク上でのIoTデバイスの発見に応答して、第2リモートサービスと通信するためにIoTデバイスから情報が取得され、IoTデバイスから取得される情報は、許可を相互に認証し、通信リンクのセキュリティを確立するための情報を含む主題を含む。
【0180】
例42において、例31-41のいずれか1つまたは複数の主題は、任意選択的に、Open Connectivity Foundation(OCF)仕様に従って定義された規格に従って、IoTデバイスと通信するための手段を含む。
【0181】
例43は、命令または命令に構成され得る格納されたデータを備える少なくとも1つの非一時的機械可読記憶媒体であって、命令は、コンピューティングデバイスの処理回路によって構成および実行されたときに、例1から42のオペレーションのいずれを処理回路に実行させる。
【0182】
例44は、データを備える1つまたは複数のコンピュータ可読記憶媒体であり、データは、電子デバイスの1つまたは複数のプロセッサまたは電子回路によるデータのロード、実行、構成、またはプロビジョニングの際に、例1から42のいずれかで説明される、もしくはこれらに関連する方法、または本明細書で説明されるいずれかの他の方法もしくは処理の1つまたは複数の要素を、電子デバイスに実行させる。
【0183】
例45は、例1から42のいずれかで説明される、もしくはこれらに関連する方法、または本明細書で説明されるいずれかの他の方法もしくは処理の1つまたは複数の要素を実行するロジック、モジュール、または回路を備える装置である。
【0184】
例46は、例1から42、またはその一部もしくは部分のいずれかにおいて説明され、またはこれらに関連するような方法、技術、または処理である。
【0185】
例47は、1つまたは複数のプロセッサと、命令を含む1つまたは複数のコンピュータ可読媒体とを備える装置であって、命令は、1つまたは複数のプロセッサによって実行されたときに、例1から42、またはその部分のいずれかにおいて説明され、またはこれらに関連するような方法、技術、または処理を、1つまたは複数のプロセッサに実行させる。
【0186】
例48は、例1から42、またはその一部もしくは部分のいずれかにおいて説明され、またはこれらに関連するような信号である。
【0187】
例49は、例1から42のいずれかにおいて説明され、もしくはこれらに関連するような、または本明細書において別の方法で図示および説明される、無線ネットワークにおける信号である。
【0188】
例50は、例1から42のいずれかにおいて説明され、もしくはこれらに関連するような、または本明細書において別の方法で図示および説明される、無線ネットワークにおいて通信を調整する方法である。
【0189】
例51は、例1から42のいずれかにおいて説明され、もしくはこれらに関連するような、または本明細書において別の方法で図示および説明される、通信を処理するためのデバイスである。
【0190】
例52は、例1から42のオペレーション、または本明細書において別の方法で図示および説明されるようなオペレーションのいずれかを実行するためのそれぞれのデバイスおよびデバイス通信メディアを備えるネットワークである。
【0191】
例53は、回路を備え、例1から42のオペレーション、または本明細書において別の方法で図示および説明されるようなオペレーションのいずれかを実行するためのそれぞれのロジックおよび機能を実装するネットワークインタフェースカードである。
【0192】
例54は、例1から42のオペレーション、または本明細書において別の方法で図示および説明されるようなオペレーションのいずれかを実行するように適合される、処理ノードおよびコンピューティングユニットを備えるデバイスフォグ実装である。
【0193】
例55は、例1から42のオペレーション、または本明細書において別の方法で図示および説明されるようなオペレーションのいずれかを実行するように適合される、処理ノードおよびコンピューティングユニットを備えるクラウドサービスサーバである。
【0194】
例56は、例1から42のオペレーション、または本明細書において別の方法で図示および説明されるようなオペレーションのいずれかを実行するために、それぞれの通信リンク、通信回路、または処理回路を備えるモノのインターネット(IoT)ネットワーク構成である。
【0195】
例57は、例1から42のオペレーション、または本明細書において別の方法で図示および説明されるようなオペレーションのいずれかを実行するように適合される、処理ノードおよびコンピューティングユニットを備えるエッジコンピューティングシステム実装である。
【0196】
例58は、例1から25のオペレーション、または本明細書において別の方法で図示および説明されるようなオペレーションのいずれかを実行するように適合される、処理ノードおよびコンピューティングユニットを備えるエッジクラウドコンピューティングデバイス実装である。
【0197】
例59は、例1から58のいずれかの実装のための手段を備える装置である。
【0198】
例60は、例1から58のいずれかを実装するシステムである。
【0199】
例61は、例1から58のいずれかを実装する方法である。
【0200】
上述の詳細な説明において、様々な特徴が一緒にグループ化され、本開示のストリームラインとなってよい。ただし、実施形態は、上述の特徴のサブセットを含み得るので、特許請求の範囲は、本明細書で開示された全ての特徴を記載していないことがある。さらに、実施形態は、具体例において開示されたものより少ない特徴を含んでよい。したがって、以下の特許請求の範囲は、ここに、詳細な説明に組み込まれており、請求項は、別個の実施形態として独立したものである。
[他の可能な態様]
[項目1]
処理回路と、
第2デバイスとの通信を実行し、上記デバイスに関連付けられた第1リモートサービスとの通信を実行するように構成される通信回路と、
そこで具現化される命令を含むメモリデバイスと
を備えるデバイスであって、
上記命令は、上記処理回路によって実行されたときに、
上記第2デバイスに関連付けられた第2リモートサービスと通信するために、上記第2デバイスから情報を取得するオペレーションと、
上記デバイスから上記第1リモートサービスに上記情報を提供するオペレーションであって、上記情報に応答して、上記第1リモートサービスが上記第2リモートサービスとの検証手順を開始する、オペレーションと、
上記第2デバイスからサービス検証情報を取得するオペレーションであって、上記サービス検証情報は、上記第1リモートサービスが上記第2リモートサービスとの上記検証手順を開始したことに応答して、上記第2リモートサービスから上記第2デバイスに提供される、オペレーションと、
上記デバイスから上記第1リモートサービスに上記サービス検証情報を提供するオペレーションであって、上記サービス検証情報は、上記第1リモートサービスによって、上記第1リモートサービスと上記第2リモートサービスとの間の検証済み接続を実現するために用いられ、上記検証済み接続は、上記第1および第2リモートサービスを介して上記デバイスと上記第2デバイスとの間でデータまたはコマンドを通信するために確立される、オペレーションと、
を実行するように上記処理回路を構成する
デバイス。
[項目2]
上記命令は、
上記デバイスから上記第1リモートサービスにコマンドを通信することによって、上記第1リモートサービスおよび上記第2リモートサービスを介して、上記デバイスから上記第2デバイスに上記コマンドを提供するオペレーションであって、上記コマンドを通信することに応答して、上記第1リモートサービスと上記第2リモートサービスとの間の上記検証済み接続を用いて、上記コマンドは、上記第1リモートサービスから上記第2リモートサービスへ、上記第2リモートサービスから上記第2デバイスへ、さらに通信される、オペレーション
を実行するように上記処理回路をさらに構成する
項目1に記載のデバイス。
[項目3]
上記命令は、
上記デバイスから上記第1リモートサービスへのデータ値の要求を通信することによって、上記第1リモートサービスおよび上記第2リモートサービスを介して、上記第2デバイスから上記データ値を取得するオペレーションであって、上記データ値の上記要求に応答して、上記要求は、上記第1リモートサービスと上記第2リモートサービスとの間の上記検証済み接続を用いて、上記第1リモートサービスから上記第2リモートサービスに、および上記第2リモートサービスから上記第2デバイスにさらに通信され、上記第2デバイスから上記第2リモートサービスおよび上記第1リモートサービスに戻される、オペレーション
を実行するように上記処理回路をさらに構成する
項目1に記載のデバイス。
[項目4]
上記第1リモートサービスは、第1エンティティに関連付けられた第1クラウドネットワークでホストされ、上記第2リモートサービスは、第2エンティティに関連付けられた第2クラウドネットワークでホストされ、上記デバイスは、上記第1エンティティに関連付けられており、上記第2デバイスは、上記第2エンティティに関連付けられている
項目1に記載のデバイス。
[項目5]
上記デバイスは、上記第1エンティティによって製造され、またはその代理としてサービスされており、上記第2デバイスは、上記第2エンティティによって製造され、またはその代理としてサービスされている
項目4に記載のデバイス。
[項目6]
上記第1リモートサービスは、上記第2リモートサービスへのデータまたはコマンドを伴う認証情報をさらに提供し、上記第1リモートサービスと上記第2リモートサービスとの間の上記検証済み接続は、上記認証情報の使用に基づいて確立される
項目1に記載のデバイス。
[項目7]
上記情報は、上記デバイスで受信されたユーザ入力に応答して上記第1リモートサービスに提供され、上記サービス検証情報は、上記第2デバイスでのユーザ入力に応答して上記デバイスに提供される
項目1に記載のデバイス。
[項目8]
上記第1リモートサービスは、上記第2リモートサービスにアクセス可能なデバイスの第1ディレクトリを維持し、デバイスの上記第1ディレクトリは、上記デバイスに関連付けられたデータを含み、
上記第2リモートサービスは、上記第1リモートサービスにアクセス可能なデバイスの第2ディレクトリを維持し、デバイスの上記第2ディレクトリは、上記第2デバイスに関連付けられたデータを含み、
上記サービス検証情報は、デバイスの上記第1および第2ディレクトリの少なくとも1つに基づいて提供される
項目1に記載のデバイス。
[項目9]
上記デバイスから上記第1リモートサービスへの通信は少なくとも1つのトークンを含み、上記少なくとも1つのトークンは、承認サーバから取得された認証情報を提供するデータを含む
項目1に記載のデバイス。
[項目10]
上記第2デバイスと共に実行される上記通信はローカルエリアネットワークを介して実行され、上記第1リモートサービスと共に実行される上記通信は、ワイドエリアネットワークを介して実行される
項目1に記載のデバイス。
[項目11]
上記第2リモートサービスと通信するために、上記第2デバイスから上記情報を取得するための上記オペレーションは、上記ローカルエリアネットワーク上での上記第2デバイスの発見に応答して実行され、上記第2デバイスから取得される上記情報は、許可を相互に認証し、通信リンクのセキュリティを確立するための情報を含む
項目10に記載のデバイス。
[項目12]
上記デバイスおよび上記第2デバイスは、Open Connectivity Foundation(OCF)仕様に従って定義される規格に従って通信し、上記オペレーションによって実行される上記通信は、それぞれのデバイスおよびサービス間の非同期メッセージに従って行われる
項目1から11のいずれかに記載のデバイス。
[項目13]
モノのインターネット(IoT)デバイス展開において通信を確立するための方法であって、IoTデバイスの処理回路によって実行されるオペレーションを備え、上記オペレーションは、
上記第2IoTデバイスに関連付けられた第2リモートサービスと通信するために、第2IoTデバイスから情報を取得することと、
上記情報を第1リモートサービスに提供することであって、上記情報に応答して、上記第1リモートサービスは上記第2リモートサービスと検証手順を開始する、提供することと、
上記第2IoTデバイスからサービス検証情報を取得することであって、上記サービス検証情報は、上記検証手順に応答して、上記第2リモートサービスから上記第2IoTデバイスに提供される、取得することと、
上記IoTデバイスと上記第2IoTデバイスとの間で、上記第1および第2リモートサービスを介してデータまたはコマンドを通信するために、上記第1リモートサービスと上記第2リモートサービスとの間の検証済み接続を可能にするために、上記サービス検証情報を上記第1リモートサービスに提供することと
を含む方法。
[項目14]
上記オペレーションは、
上記IoTデバイスから上記第1リモートサービスにコマンドを通信することによって、上記IoTデバイスから上記第2IoTデバイスに、上記第1リモートサービスおよび上記第2リモートサービスを介して上記コマンドを提供することであって、上記コマンドの通信に応答して、上記コマンドは、上記第1リモートサービスと上記第2リモートサービスとの間の上記検証済み接続を用いて、上記第1リモートサービスから上記第2リモートサービスに、および上記第2リモートサービスから上記第2IoTデバイスにさらに通信される、提供すること
をさらに含む
項目13に記載の方法。
[項目15]
上記オペレーションは、
上記IoTデバイスから上記第1リモートサービスへのデータ値の要求を通信することによって、上記第1リモートサービスおよび上記第2リモートサービスを介して、上記第2IoTデバイスから上記データ値を取得することであって、上記データ値の上記要求に応答して、上記要求は、上記第1リモートサービスと上記第2リモートサービスとの間の上記検証済み接続を用いて、上記第1リモートサービスから上記第2リモートサービスに、および上記第2リモートサービスから上記第2IoTデバイスにさらに通信され、上記第2IoTデバイスから上記第2リモートサービスおよび上記第1リモートサービスに戻される、取得すること
をさらに含む
項目13に記載の方法。
[項目16]
上記第1リモートサービスは、第1エンティティに関連付けられた第1クラウドネットワークでホストされ、上記第2リモートサービスは、第2エンティティに関連付けられた第2クラウドネットワークでホストされ、上記IoTデバイスは、上記第1エンティティに関連付けられており、上記第2IoTデバイスは、上記第2エンティティに関連付けられている
項目13に記載の方法。
[項目17]
上記IoTデバイスは、上記第1エンティティによって製造され、またはその代理としてサービスされており、上記第2IoTデバイスは、上記第2エンティティによって製造され、またはその代理としてサービスされている
項目16に記載の方法。
[項目18]
上記第1リモートサービスは、上記第2リモートサービスへのデータまたはコマンドを伴う認証情報をさらに提供し、上記第1リモートサービスと上記第2リモートサービスとの間の上記検証済み接続は、上記認証情報の使用に基づいて確立される
項目13に記載の方法。
[項目19]
上記情報は、上記IoTデバイスで受信されたユーザ入力に応答して上記第1リモートサービスに提供され、上記サービス検証情報は、上記第2IoTデバイスでのユーザ入力に応答して上記IoTデバイスに提供される
項目13に記載の方法。
[項目20]
上記第1リモートサービスは、上記第2リモートサービスにアクセス可能なデバイスの第1ディレクトリを維持し、デバイスの上記第1ディレクトリは、上記IoTデバイスに関連付けられたデータを含み、
上記第2リモートサービスは、上記第1リモートサービスにアクセス可能なデバイスの第2ディレクトリを維持し、デバイスの上記第2ディレクトリは、上記第2IoTデバイスに関連付けられたデータを含み、
上記サービス検証情報は、デバイスの上記第1および第2ディレクトリの少なくとも1つに基づいて提供される
項目13に記載の方法。
[項目21]
上記IoTデバイスから上記第1リモートサービスへの通信は少なくとも1つのトークンを含み、上記少なくとも1つのトークンは、承認サーバから取得された認証情報を提供するデータを含む
項目13に記載の方法。
[項目22]
上記第2IoTデバイスと共に実行される上記通信はローカルエリアネットワークを介して実行され、上記第1リモートサービスと共に実行される上記通信は、ワイドエリアネットワークを介して実行される
項目13に記載の方法。
[項目23]
上記第2リモートサービスと通信するために、上記第2IoTデバイスから上記情報を取得するための上記オペレーションは、上記ローカルエリアネットワーク上での上記第2IoTデバイスの発見に応答して実行され、上記第2IoTデバイスから取得される上記情報は、許可を相互に認証し、通信リンクのセキュリティを確立するための情報を含む
項目22に記載の方法。
[項目24]
上記IoTデバイスおよび上記第2IoTデバイスは、Open Connectivity Foundation(OCF)仕様に従って定義される規格に従って通信し、上記オペレーションによって実行される上記通信は、それぞれのデバイスおよびサービス間の非同期メッセージに従って行われる
項目13から23のいずれか記載の方法。
[項目25]
格納された命令を備える少なくとも1つの機械可読ストレージデバイスであって、上記命令は、装置の処理回路によって実行されたときに、項目13から24に記載のオペレーションのいずれかを上記処理回路に実行させる、機械可読ストレージデバイス。