(57)【要約】  本開示は、モノのインターネット(IoT)ネットワークにおけるIoTデバイス用のクラウドベースサービスを発見して提示することに関する。特に、IoTゲートウェイまたはその他の適切なデバイスは、IoTネットワークにおけるIoTデバイスに関する情報(たとえば、デバイスクラス)を発見し、IoTデバイスに関する発見された情報がタグ付けされたクラウドベースサービスを発見し、発見されたクラウドベースサービスをIoTネットワークにおいて提示することができる。したがって、IoTゲートウェイは、IoTデバイスおよび/またはIoTネットワークに関連するユーザから発見されたクラウドベースサービスを呼び出すための要求を受信したことに応答して、要求されたクラウドベースサービスに関連する任意の必要なデータをフェッチするために適切なIoTデバイスに接続し、要求されたクラウドベースサービスに関連するパブリッシャまたはプロバイダにフェッチされたデータを渡し、呼び出されたクラウドベースサービスからの結果をIoTネットワークにおけるIoTデバイスに返してもよい。
2017503243.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに関連するモノのインターネット(IoT)ネットワークにおけるIoTデバイス用のクラウドベースサービスを発見するための方法であって、
前記ユーザに関連する前記IoTネットワークにおける前記IoTデバイスに関する情報を発見するステップであって、前記発見される情報は、前記IoTネットワークにおける前記IoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含むステップと、
前記IoTネットワークにおける前記IoTデバイスに関連する前記デバイスクラスがタグ付けされた1つまたは複数のクラウドベースサービスを発見するステップと、
前記IoTネットワークにおける前記発見されたクラウドベースサービスを提示するステップとを含む方法。
【請求項２】
前記発見されたクラウドベースサービスのうちの少なくとも1つは、前記少なくとも1つのクラウドベースサービスに必要な1つまたは複数の必要なデバイス機能、前記少なくとも1つのクラウドベースサービスに関する1つまたは複数の任意のデバイス機能、および前記少なくとも1つのクラウドベースサービスを消費することを目的として構成されたIoTデバイスに関連する特定の機種および型式を示すメタデータがさらにタグ付けされる、請求項1に記載の方法。
【請求項３】
前記IoTネットワークにおける前記IoTデバイスに関連する前記発見されたクラウドベースサービスおよび機能をタグ付けするのに使用されるメタデータに従って前記IoTネットワークにおいて提示される前記発見されたクラウドベースサービスをフィルタリングするステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記IoTネットワークにおいて提示された前記発見されたクラウドベースサービスのうちの少なくとも1つを呼び出すための要求に応答して前記発見されたクラウドベースサービスのうちの少なくとも1つを呼び出すステップをさらに含む、請求項1に記載の方法。
【請求項５】
前記少なくとも1つのクラウドベースサービスを呼び出すステップは、
前記要求されたクラウドベースサービスに関連する任意の必要なデータをフェッチするために前記IoTネットワークにおける前記IoTデバイスのうちの少なくとも1つに接続するステップと、
前記要求されたクラウドベースサービスに関連するパブリッシャまたはプロバイダにフェッチされたデータを渡すステップとを含む、請求項4に記載の方法。
【請求項６】
前記ユーザは、前記IoTネットワークにおいて提示された前記少なくとも1つのクラウドベースサービスを呼び出すための前記要求を開始する、請求項4に記載の方法。
【請求項７】
前記IoTネットワークにおける前記IoTデバイスのうちの少なくとも1つは、前記少なくとも1つのクラウドベースサービスを呼び出すための前記要求を開始する、請求項4に記載の方法。
【請求項８】
前記少なくとも1つのIoTデバイスによって要求された前記少なくとも1つのクラウドベースサービスをアクティブ化する前に前記ユーザからの承認を要求するステップをさらに含む、請求項7に記載の方法。
【請求項９】
前記少なくとも1つのクラウドベースサービスが無料であるかまたはコストがしきい値よりも低いと判定したことに応答して前記少なくとも1つのIoTデバイスによって要求された前記少なくとも1つのクラウドベースサービスを自動的にアクティブ化するステップをさらに含む、請求項7に記載の方法。
【請求項１０】
前記IoTネットワークにおける前記IoTデバイスに関する前記発見された情報は、前記IoTネットワークにおける前記IoTデバイスに関連する使用状況情報、前記IoTネットワークにおける前記IoTデバイスに関連する状態情報、または前記ユーザに関連するプロファイルのうちの少なくとも1つをさらに含む、請求項1に記載の方法。
【請求項１１】
前記発見されたクラウドベースサービスは、前記IoTネットワークにおける前記IoTデバイスに関連する前記使用状況情報、前記IoTネットワークにおける前記IoTデバイスに関連する前記状態情報、または前記ユーザに関連する前記プロファイルのうちの少なくとも1つに対応する情報がさらにタグ付けされる、請求項10に記載の方法。
【請求項１２】
前記IoTネットワークにおいて提示された前記クラウドベースサービスを選択するのに使用される基準を決定するために前記IoTネットワークにおける前記IoTデバイスが互いに共同するのを可能にするステップをさらに含む、請求項1に記載の方法。
【請求項１３】
モノのインターネット(IoT)ゲートウェイデバイスであって、
IoTネットワークにおける1つまたは複数のIoTデバイスに関する情報を発見することであって、前記発見される情報は、前記IoTネットワークにおける前記IoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含むことと、前記IoTネットワークにおける前記IoTデバイスに関連する前記デバイスクラスがタグ付けされた1つまたは複数のクラウドベースサービスを発見することと、前記発見されたクラウドベースサービスを前記IoTネットワークにおいて提示することとを行うように構成された1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合されたメモリと
を備えるIoTゲートウェイデバイス。
【請求項１４】
前記発見されたクラウドベースサービスのうちの少なくとも1つは、前記少なくとも1つのクラウドベースサービスに必要な1つまたは複数の必要なデバイス機能、前記少なくとも1つのクラウドベースサービスに関する1つまたは複数の任意のデバイス機能、および前記少なくとも1つのクラウドベースサービスを消費することを目的として構成されたIoTデバイスに関連する特定の機種および型式を示すメタデータがさらにタグ付けされる、請求項13に記載のIoTゲートウェイデバイス。
【請求項１５】
前記IoTネットワークにおける前記IoTデバイスに関連する前記発見されたクラウドベースサービスおよび機能をタグ付けするのに使用されるメタデータに従って前記IoTネットワークにおいて提示される前記発見されたクラウドベースサービスをフィルタリングすることをさらに含む、請求項13に記載のIoTゲートウェイデバイス。
【請求項１６】
前記IoTネットワークにおいて提示された前記発見されたクラウドベースサービスのうちの少なくとも1つを呼び出すための要求に応答して前記発見されたクラウドベースサービスのうちの少なくとも1つを呼び出すことをさらに含む、請求項13に記載のIoTゲートウェイデバイス。
【請求項１７】
前記少なくとも1つのクラウドベースサービスを呼び出すことは、
前記要求されたクラウドベースサービスに関連する任意の必要なデータをフェッチするために前記IoTネットワークにおける前記IoTデバイスのうちの少なくとも1つに接続することと、
前記要求されたクラウドベースサービスに関連するパブリッシャまたはプロバイダにフェッチされたデータを渡すこととを含む、請求項16に記載のIoTゲートウェイデバイス。
【請求項１８】
前記IoTネットワークに関連するユーザが、前記IoTネットワークにおいて提示された前記少なくとも1つのクラウドベースサービスを呼び出すための前記要求を開始する、請求項16に記載のIoTゲートウェイデバイス。
【請求項１９】
前記IoTネットワークにおける前記IoTデバイスのうちの少なくとも1つは、前記少なくとも1つのクラウドベースサービスを呼び出すための前記要求を開始する、請求項16に記載のIoTゲートウェイデバイス。
【請求項２０】
前記少なくとも1つのIoTデバイスによって要求された前記少なくとも1つのクラウドベースサービスをアクティブ化する前に前記IoTネットワークに関連するユーザからの承認を要求することをさらに含む、請求項19に記載のIoTゲートウェイデバイス。
【請求項２１】
前記少なくとも1つのクラウドベースサービスが無料であるかまたはコストがしきい値よりも低いと判定したことに応答して前記少なくとも1つのIoTデバイスによって要求された前記少なくとも1つのクラウドベースサービスを自動的にアクティブ化することをさらに含む、請求項19に記載のIoTゲートウェイデバイス。
【請求項２２】
前記IoTネットワークにおける前記IoTデバイスに関する前記発見された情報は、前記IoTネットワークにおける前記IoTデバイスに関連する使用状況情報、前記IoTネットワークにおける前記IoTデバイスに関連する状態情報、または前記IoTネットワークに関連するユーザに対応するプロファイルのうちの少なくとも1つをさらに含む、請求項13に記載のIoTゲートウェイデバイス。
【請求項２３】
前記発見されたクラウドベースサービスは、前記IoTネットワークにおける前記IoTデバイスに関連する前記使用状況情報、前記IoTネットワークにおける前記IoTデバイスに関連する前記状態情報、または前記ユーザに関連する前記プロファイルのうちの少なくとも1つに対応する情報がさらにタグ付けされる、請求項22に記載のIoTゲートウェイデバイス。
【請求項２４】
前記IoTネットワークにおいて提示された前記クラウドベースサービスを選択するのに使用される基準を決定するために前記IoTネットワークにおける前記IoTデバイスが互いに共同するのを可能にすることをさらに含む、請求項13に記載のIoTゲートウェイデバイス。
【請求項２５】
モノのインターネット(IoT)ゲートウェイデバイスであって、
IoTネットワークにおける1つまたは複数のIoTデバイスに関する情報を発見するための手段であって、前記発見される情報は、前記IoTネットワークにおける前記IoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含む手段と、
前記IoTネットワークにおける前記1つまたは複数のIoTデバイスに関連する前記デバイスクラスがタグ付けされた1つまたは複数のクラウドベースサービスを発見するための手段と、
前記IoTネットワークにおける前記発見されたクラウドベースサービスを提示するための手段とを備えるIoTゲートウェイデバイス。
【請求項２６】
前記IoTネットワークにおける前記IoTデバイスに関連する前記発見されたクラウドベースサービスおよび機能をタグ付けするのに使用されるメタデータに従って前記IoTネットワークにおいて提示される前記発見されたクラウドベースサービスをフィルタリングするための手段をさらに備える、請求項25に記載のIoTゲートウェイデバイス。
【請求項２７】
前記IoTネットワークにおいて提示された前記発見されたクラウドベースサービスのうちの少なくとも1つを呼び出すための要求を受信するための手段と、
前記要求されたクラウドベースサービスに関連する任意の必要なデータをフェッチするために前記IoTネットワークにおける前記IoTデバイスのうちの少なくとも1つに接続するための手段と、
前記要求されたクラウドベースサービスに関連するパブリッシャまたはプロバイダに前記フェッチされたデータを渡すための手段とをさらに備える、請求項25に記載のIoTゲートウェイデバイス。
【請求項２８】
前記少なくとも1つの要求されたクラウドベースサービスをアクティブ化する前に前記IoTネットワークに関連するユーザからの承認を要求するための手段をさらに備える、請求項27に記載のIoTゲートウェイデバイス。
【請求項２９】
前記少なくとも1つの要求されたクラウドベースサービスが無料であるかまたはコストがしきい値よりも低いことに応答して前記少なくとも1つの要求されたクラウドベースサービスを自動的にアクティブ化するための手段をさらに備える、請求項27に記載のIoTゲートウェイデバイス。
【請求項３０】
コンピュータ実行可能命令が記録されたコンピュータ可読記憶媒体であって、モノのインターネット(IoT)ネットワークにおけるゲートウェイデバイス上で前記コンピュータ実行可能命令を実行することによって、前記ゲートウェイデバイスに、
前記IoTネットワークにおける1つまたは複数のIoTデバイスに関する情報を発見することであって、前記発見される情報は、前記IoTネットワークにおける前記1つまたは複数のIoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含むことと、
前記IoTネットワークにおける前記1つまたは複数のIoTデバイスに関連する前記デバイスクラスがタグ付けされた1つまたは複数のクラウドベースサービスを発見することと、
前記IoTネットワークにおける前記発見されたクラウドベースサービスを提示することとを行わせるコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本特許出願は、本出願の譲受人に譲渡され、その全体が参照により本明細書に明確に組み込まれる、2013年11月29日に出願された、「MECHANISM TO DISCOVER CLOUD BASED SERVICES FOR IOT DEVICES IN A PROXIMAL NETWORK ASSOCIATED WITH A USER」という名称の仮特許出願第61/910,199号の利益を主張する。
【０００２】
本明細書で説明する様々な実施形態は概して、ユーザに関連するモノのインターネット(IoT)ネットワークにおける様々なIoTデバイス用のクラウドベースサービスを発見するのに使用されてもよい機構に関する。
【背景技術】
【０００３】
インターネットは、標準インターネットプロトコルスイート(たとえば、伝送制御プロトコル(TCP)およびインターネットプロトコル(IP))を使用して互いに通信する、相互接続されたコンピュータならびにコンピュータネットワークのグローバルシステムである。モノのインターネット(IoT)は、コンピュータおよびコンピュータネットワークだけでなく、日常の物が、IoT通信ネットワーク(たとえば、アドホックシステムまたはインターネット)を介して読取り可能、認識可能、位置特定可能、アドレス指定可能、および制御可能であり得るという発想に基づく。
【０００４】
いくつかの市場動向がIoTデバイスの開発を推進している。たとえば、増大するエネルギーコストは、政府によるスマートグリッドに対する戦略投資、ならびに電気自動車および公共充電ステーションなど、将来の消費に対するサポートを推進している。増大する医療費および老齢人口は、遠隔/コネクテッドヘルスケア(connected health care)およびフィットネスサービスの開発を推進している。住居内の技術革命は、「N」プレイ(たとえば、データ、音声、ビデオ、セキュリティ、エネルギー管理など)をマーケティングして、ホームネットワークを拡張するサービスプロバイダによる統合を含めて、新しい「スマート」サービスの開発を推進している。企業設備の運転費を削減するための手段として、建造物はよりスマートかつより便利になっている。
【０００５】
IoT用のいくつかの重要なアプリケーションが存在する。たとえば、スマートグリッドおよびエネルギー管理の領域では、公益事業会社は住居および事業に対するエネルギーの配給を最適化することができるのに対して、カスタマはエネルギー使用をより良好に管理することができる。住居およびビルディングオートメーションの領域では、スマートホームおよびスマート建造物は、住居もしくは事務所内の、電化製品からプラグイン電気自動車(PEV)セキュリティシステムまで、事実上、どのようなデバイスまたはシステムに対しても集中制御し得る。資産管理の分野では、企業、病院、工場、および他の大型組織は、価値が高い設備、患者、車両などの位置を正確に追跡することができる。ヘルスおよびウェルネスの領域では、医師は患者の健康を遠隔で監視することができるのに対して、人々はフィットネスルーチンの進捗を追跡することができる。
【０００６】
したがって、近い将来には、IoT技術の開発が進み、自宅、車中、職場、ならびにその他の多くの場所および個人空間において、数多くのIoTデバイスがユーザを取り囲むことになる。したがって、アプリケーションプロバイダは、これらの個人空間において使用されることがあるいくつかのIoTデバイス用のクラウドベースサービス(たとえば、冷蔵庫インベントリ、機器監視および診断などに基づいてレシピオプションを提供するためのクラウドベースサービス)を開発しホストすることを望んでいる場合がある。したがって、ユーザに関連するIoTネットワークまたはその他の個人空間におけるIoTデバイス用のクラウドベースサービスを動的に発見し、動的に発見されたクラウドベースサービスをユーザに提示することができる機構を有することが望ましい場合がある。
【発明の概要】
【課題を解決するための手段】
【０００７】
以下に、本明細書で開示する1つまたは複数の態様および/または実施形態に関する簡略化された概要を示す。したがって、以下の概要は、すべての考えられる態様および/または実施形態に関連する包括的な概説と見なされるべきではなく、また、以下の概要は、すべての考えられる態様および/または実施形態に関連する重要な、または決定的な要素を特定するか、任意の特定の態様および/または実施形態に関連付けられる範囲を定めると見なされるべきでもない。したがって、以下の概要は、以下に提示される詳細な説明に先立って、本明細書において開示される機構に関連する1つまたは複数の態様および/または実施形態に関連する特定の概念を簡略化された形で提示することが唯一の目的である。
【０００８】
様々な態様によれば、ユーザに関連するIoTネットワークにおけるIoTデバイス用のクラウドベースサービスを発見するための方法は、ユーザに関連するIoTネットワークにおけるIoTデバイスに関する情報を発見することであって、発見される情報が、IoTネットワークにおけるIoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含むことと、IoTネットワークにおけるIoTデバイスに関連するデバイスクラスがタグ付けされた1つまたは複数のクラウドベースサービスを発見することと、発見されたクラウドベースサービスをIoTネットワークにおいて提示することとを含んでもよい。したがって、発見されたクラウドベースサービスのうちの少なくとも1つは、ユーザおよび/またはIoTネットワークにおけるIoTデバイスからの、IoTネットワークにおいて提示されるクラウドベースサービスのうちの少なくとも1つを呼び出すための要求に応答して呼び出されてもよく、少なくとも1つのクラウドベースサービスを呼び出すことは、要求されたクラウドベースサービスに関連する任意の必要なデータをフェッチするためにIoTネットワークにおける1つまたは複数のIoTデバイスと接続することと、要求されたクラウドベースサービスに関連するパブリッシャまたはプロバイダにフェッチされたデータを渡すことと、呼び出されたクラウドベースサービスからの結果をIoTネットワークにおける1つまたは複数のIoTデバイスに返すこととを含んでもよい。
【０００９】
様々な態様によれば、IoTゲートウェイデバイスは、IoTネットワークにおける1つまたは複数のIoTデバイスに関する情報を発見することであって、発見される情報が、IoTネットワークにおけるIoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含むことと、IoTネットワークにおけるIoTデバイスに関連するデバイスクラスがタグ付けされた1つまたは複数のクラウドベースサービスを発見することと、発見されたクラウドベースサービスをIoTネットワークにおいて提示することとを行うように構成された1つまたは複数のプロセッサを備えてもよく、IoTゲートウェイデバイスは、1つまたは複数のプロセッサに結合されたメモリをさらに備えてもよい。
【００１０】
様々な態様によれば、IoTゲートウェイデバイスは、IoTネットワークにおける1つまたは複数のIoTデバイスに関する情報を発見するための手段であって、発見される情報が、IoTネットワークにおけるIoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含む手段と、IoTネットワークにおける1つまたは複数のIoTデバイスに関連するデバイスクラスがタグ付けされた1つまたは複数のクラウドベースサービスを発見するため手段と、発見されたクラウドベースサービスをIoTネットワークにおいて提示するための手段とを備えてもよい。
【００１１】
様々な態様によれば、コンピュータ可読記憶媒体は、コンピュータ実行可能命令が記憶されていてもよく、IoTネットワークにおけるゲートウェイデバイス上でコンピュータ実行可能命令を実行することによって、ゲートウェイデバイスに、IoTネットワークにおける1つまたは複数のIoTデバイスに関する情報を発見することであって、発見される情報が、IoTネットワークにおける1つまたは複数のIoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含むことと、IoTネットワークにおける1つまたは複数のIoTデバイスに関連するデバイスクラスがタグ付けされた1つまたは複数のクラウドベースサービスを発見することと、発見されたクラウドベースサービスをIoTネットワークにおいて提示することとを行わせてもよい。
【００１２】
本明細書において開示される態様および実施形態に関連付けられる他の目的および利点は、添付の図面および詳細な説明に基づいて、当業者に明らかになるであろう。
【００１３】
以下の詳細な説明を参照し、限定のためではなく、単に説明のために提示される添付の図面とともに検討することによって本明細書に記載される様々な態様および実施形態、ならびにそれらに付随する多くの利点がよりよく理解されるようになるので、それらの様々な態様および実施形態ならびにそれに付随する多くの利点についてのより完全な理解は容易に実現される。
【図面の簡単な説明】
【００１４】
【図１Ａ】様々な態様によるワイヤレス通信システムの例示的なハイレベルシステムアーキテクチャを示す図である。
【図１Ｂ】様々な態様によるワイヤレス通信システムの例示的なハイレベルシステムアーキテクチャを示す図である。
【図１Ｃ】様々な態様によるワイヤレス通信システムの例示的なハイレベルシステムアーキテクチャを示す図である。
【図１Ｄ】様々な態様によるワイヤレス通信システムの例示的なハイレベルシステムアーキテクチャを示す図である。
【図１Ｅ】様々な態様によるワイヤレス通信システムの例示的なハイレベルシステムアーキテクチャを示す図である。
【図２Ａ】様々な態様による例示的なモノのインターネット(IoT)デバイスを示す図である。
【図２Ｂ】様々な態様による例示的な受動IoTデバイスを示す図である。
【図３】様々な態様による、機能を実現するように構成された論理を含む通信デバイスを示す図である。
【図４】様々な態様による例示的なサーバを示す図である。
【図５】様々な態様による、発見可能なピアツーピア(P2P)サービスをサポートすることのできるワイヤレス通信ネットワークを示す図である。
【図６】様々な態様による、様々なデバイスが通信するのに利用することができる近接度ベースの分散バスを確立するために発見可能なP2Pサービスを使用し得る例示的な環境を示す図である。
【図７】様々な態様による、様々なデバイスが通信するのに利用することができる近接度ベースの分散バスを確立するために発見可能なP2Pサービスを使用し得る例示的なシグナリングフローを示す図である。
【図８Ａ】様々な態様による、2つのホストデバイスの間に形成されてもよい近接度ベースの例示的な分散バスを示す図である。
【図８Ｂ】様々な態様による、1つまたは複数の埋込みデバイスがホストデバイスに接続して近接度ベースの分散バスに接続する場合がある近接度ベースの例示的な分散バスを示す図である。
【図９】様々な態様による、ユーザに関連するIoTネットワークにおけるIoTデバイス用のクラウドベースサービスを発見することができる例示的なシステムを示す図である。
【図１０】様々な態様による、ユーザに関連するIoTネットワークにおけるクラウドベースサービスを発見して提示するための例示的な方法を示す図である。
【図１１】様々な態様による、IoTネットワークにおいて提示されたクラウドベースサービスを呼び出すための要求をサービスするための例示的な方法を示す図である。
【図１２】様々な態様による、発見可能なP2Pサービスを使用して近接度ベースの分散バスを介して通信する場合がある例示的な通信デバイスを示す図である。
【発明を実施するための形態】
【００１５】
様々な態様および実施形態が、例示的な態様および実施形態に関する特定の例を示すために以下の説明および関連する図面において開示される。代替的態様および代替的実施形態は、この開示を読むと当業者には明らかであり、本開示の範囲または趣旨を逸脱することなく構築され、実践され得る。加えて、本明細書で開示する態様および実施形態の関連する詳細を不明瞭にしないように、よく知られている要素は詳細には説明されず、または省略され得る。
【００１６】
「例示的」という言葉は、本明細書では「例、事例、または例示として機能すること」を意味するために使用される。本明細書で「例示的」として説明するいかなる実施形態も、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。同様に、「実施形態」という用語は、すべての実施形態が、論じられた特徴、利点または動作モードを含むことを要求しない。
【００１７】
本明細書で使用される用語は、特定の実施形態のみを説明しており、本明細書で開示されるいずれかの実施形態を限定すると解釈されるべきではない。本明細書で使用される単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、「含む(comprises)」、「含んでいる(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、本明細書で使用すると、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことが理解されよう。
【００１８】
さらに、多くの態様について、たとえばコンピューティングデバイスの要素によって実施されるべき、動作のシーケンスに関して説明する。本明細書で説明する様々な動作は、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実施され得ることは認識されよう。さらに、本明細書で説明されるこれらの一連の動作は、実行されると、関連するプロセッサに本明細書において説明される機能を実行させることになる対応する1組のコンピュータ命令を記憶した、任意の形のコンピュータ可読記憶媒体内で完全に具現されるものと見なされ得る。したがって、本明細書において説明する様々な態様は、特許請求される主題の範囲内にすべて入ることが企図されているいくつかの異なる形で具現され得る。さらに、本明細書で説明される実施形態ごとに、任意のそのような実施形態の対応する形は、本明細書において、たとえば、説明される動作を実行する「ように構成された論理」として説明される場合がある。
【００１９】
本明細書で使用する「モノのインターネットデバイス」(すなわち「IoTデバイス」)という用語は、アドレス指定可能なインターフェース(たとえば、インターネットプロトコル(IP)アドレス、Bluetooth(登録商標)識別子(ID)、近距離無線通信(NFC:near-field communication)IDなど)を有し、有線またはワイヤレス接続を通じて1つまたは複数の他のデバイスに情報を送信することができる任意の物(たとえば、電化製品、センサーなど)を指すことができる。IoTデバイスは、クイックレスポンス(QR)コード、無線周波数識別(RFID)タグ、NFCタグなどの受動通信インターフェース、または、モデム、トランシーバ、送信機-受信機などの能動通信インターフェースを有し得る。IoTデバイスは、中央処理装置(CPU)、マイクロプロセッサ、ASICなどの中に組み込まれること、および/あるいは、それらによって制御/監視されることが可能であり、ローカルアドホックネットワークまたはインターネットなどのIoTネットワークに接続するように構成された特定の属性セット(たとえば、IoTデバイスがオンであるか、もしくはオフであるか、開いているか、もしくは閉じているか、アイドルであるか、もしくはアクティブであるか、タスク実行のために利用可能であるか、もしくはビジーであるかなど、冷房機能であるか、もしくは暖房機能であるか、環境監視機能であるか、もしくは環境記録機能であるか、発光機能であるか、音響放射機能であるかなど、デバイスの状態またはステータス)を有し得る。たとえば、IoTデバイスは、これらのデバイスがIoTネットワークと通信するためのアドレス指定可能通信インターフェースを備える限り、冷蔵庫、トースター、オーブン、電子レンジ、冷凍庫、皿洗い機、パラボラアンテナ(dishes)、手工具、洗濯機、衣類乾燥機、加熱炉、空調機、温度自動調整器、テレビジョン、照明設備、掃除機、スプリンクラー、電気メータ、ガスメータなどを含み得るが、これらに限定されない。IoTデバイスはまた、セルフォン、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯情報端末(PDA)などを含み得る。したがって、IoTネットワークは、通常はインターネット接続性を有しないデバイス(たとえば、皿洗い機など)に加えて、「レガシー」インターネットアクセス可能デバイス(たとえば、ラップトップコンピュータまたはデスクトップコンピュータ、セルフォンなど)の組合せから構成され得る。
【００２０】
図1Aは、様々な態様によるワイヤレス通信システム100Aのハイレベルシステムアーキテクチャを示す。ワイヤレス通信システム100Aは、テレビジョン110と、屋外空調機112と、温度自動調整器114と、冷蔵庫116と、洗濯機および乾燥機118とを含む、複数のIoTデバイスを含む。
【００２１】
図1Aを参照すると、IoTデバイス110〜118は、図1Aにエアインターフェース108および直接有線接続109として示す物理通信インターフェースまたは物理通信レイヤを介してアクセスネットワーク(たとえば、アクセスポイント125)と通信するように構成される。エアインターフェース108は、IEEE 802.11など、ワイヤレスインターネットプロトコル(IP)に準拠し得る。図1Aは、エアインターフェース108を介して通信するIoTデバイス110〜118と、直接有線接続109を介して通信するIoTデバイス118とを示すが、各IoTデバイスは、有線接続もしくはワイヤレス接続、または両方を介して通信することができる。
【００２２】
インターネット175は、いくつかのルーティングエージェントおよび処理エージェント(便宜上、図1Aには示されていない)を含む。インターネット175は、標準インターネットプロトコルスイート(たとえば、伝送制御プロトコル(TCP)およびIP)を使用して、異種のデバイス/ネットワークの間で通信する、相互接続されたコンピュータならびにコンピュータネットワークのグローバルシステムである。TCP/IPは、データが、宛先において、どのようにフォーマッティング、アドレス指定、送信、経路指定、および受信されるべきかを指定するエンドツーエンド接続性を提供する。
【００２３】
図1Aでは、デスクトップコンピュータまたはパーソナルコンピュータ(PC)などのコンピュータ120は、(たとえば、Ethernet(登録商標)接続またはWi-Fiもしくは802.11ベースのネットワークを介して)インターネット175と直接接続するとして示される。コンピュータ120は、(たとえば、有線接続性とワイヤレス接続性の両方を有するWiFiルータ用の)アクセスポイント125自体などに相当してよいモデムまたはルータとの直接接続など、インターネット175との有線接続を有し得る。代替的に、有線接続を介して、アクセスポイント125およびインターネット175に接続されるのではなく、コンピュータ120は、エアインターフェース108または別のワイヤレスインターフェースを介してアクセスポイント125に接続されてよく、エアインターフェース108を介してインターネット175にアクセスしてよい。デスクトップコンピュータとして例示されているが、コンピュータ120は、ラップトップコンピュータ、タブレットコンピュータ、PDA、スマートフォンなどであり得る。コンピュータ120は、IoTデバイスであり得、かつ/またはIoTデバイス110〜118のネットワーク/グループなど、IoTネットワーク/グループを管理するための機能を含み得る。
【００２４】
アクセスポイント125は、たとえば、FiOS、ケーブルモデム、デジタル加入者線(DSL)モデムなど、光通信システムを介して、インターネット175に接続され得る。アクセスポイント125は、標準インターネットプロトコル(たとえば、TCP/IP)を使用して、IoTデバイス110〜120およびインターネット175と通信することができる。
【００２５】
図1Aを参照すると、IoTサーバ170は、インターネット175に接続されるように示されている。IoTサーバ170は、複数の構造的に別々の複数のサーバとして実装され得るか、または代替的には、単一のサーバに対応し得る。様々な実施形態では、IoTサーバ170は、(点線によって示されるように)オプションであり、IoTデバイス110〜120のグループは、ピアツーピア(P2P)ネットワークであり得る。そのような場合、IoTデバイス110〜120は、エアインターフェース108および/または直接有線接続109を介して互いに直接通信することができる。代替的に、または追加として、IoTデバイス110〜120の一部またはすべては、エアインターフェース108および直接有線接続109に依存しない通信インターフェースで構成され得る。たとえば、エアインターフェース108がWiFiインターフェースに対応する場合、IoTデバイス110〜120のうちの1つもしくは複数は、互いに、または他のBluetooth(登録商標)対応デバイスもしくはNFC対応デバイスと直接通信するためのBluetooth(登録商標)インターフェースあるいはNFCインターフェースを有し得る。
【００２６】
ピアツーピアネットワークでは、サービス発見方式は、ノードの存在、その能力、およびグループメンバーシップをマルチキャストすることができる。ピアツーピアデバイスは、この情報に基づいて、関連性および後続の相互作用を確立することができる。
【００２７】
様々な態様によれば、図1Bは、複数のIoTデバイスを含む別のワイヤレス通信システム100Bのハイレベルアーキテクチャを示す。一般に、図1Bに示すワイヤレス通信システム100Bは、上でより詳細に説明した、図1Aに示すワイヤレス通信システム100Aと同じ、ならびに/または実質的に同様の様々な構成要素(たとえば、エアインターフェース108および/もしくは直接有線接続109を介してアクセスポイント125と通信するように構成された、テレビジョン110と、屋外空調機112と、温度自動調整器114と、冷蔵庫116と、洗濯機および乾燥機118とを含む様々なIoTデバイス、インターネット175に直接接続する、かつ/あるいはアクセスポイント125を通してインターネット175に接続するコンピュータ120、ならびにインターネット175を介してアクセス可能なIoTサーバ170など)を含み得る。したがって、説明を簡潔かつ簡単にするために、同じまたは同様の詳細が図1Aに示したワイヤレス通信システム100Aに関して上ですでに提供されている限り、図1Bに示すワイヤレス通信システム100B内のいくつかの構成要素に関する様々な詳細は本明細書で省略される場合がある。
【００２８】
図1Bを参照すると、ワイヤレス通信システム100Bは、代替的に、IoTマネージャ130またはIoTマネージャデバイス130と呼ばれる場合もあるスーパーバイザデバイス130を含み得る。したがって、以下の説明が「スーパーバイザデバイス」130という用語を使用する場合、IoTマネージャ、グループ所有者、または同様の用語に対するいずれの参照もスーパーバイザデバイス130、あるいは同じもしくは実質的に同様の機能を提供する別の物理的構成要素または論理的構成要素を指す場合があることを当業者は諒解されよう。
【００２９】
様々な実施形態では、スーパーバイザデバイス130は、一般に、ワイヤレス通信システム100B内の様々な他の構成要素を観測、監視、制御、あるいは管理することができる。たとえば、スーパーバイザデバイス130は、エアインターフェース108および/または直接有線接続109を介してアクセスネットワーク(たとえば、アクセスポイント125)と通信して、ワイヤレス通信システム100B内の様々なIoTデバイス110〜120に関連付けられた属性、活動、もしくは他の状態を監視または管理することができる。スーパーバイザデバイス130は、インターネット175に対して、および、オプションで、(点線として示される)IoTサーバ170に対して、有線接続またはワイヤレス接続を有し得る。スーパーバイザデバイス130は、様々なIoTデバイス110〜120に関連付けられた属性、活動、もしくは他の状態をさらに監視または管理するために使用され得る情報をインターネット175および/あるいはIoTサーバ170から取得することができる。スーパーバイザデバイス130は、独立型デバイスであってよく、または、コンピュータ120など、IoTデバイス110〜120のうちの1つであってもよい。スーパーバイザデバイス130は、物理デバイスであってよく、または物理デバイス上で実行するソフトウェアアプリケーションであってもよい。スーパーバイザデバイス130は、IoTデバイス110〜120に関連付けられた、監視される属性、活動、または他の状態に関する情報を出力して、それらに関連付けられた属性、活動、または他の状態を制御あるいは管理するための入力情報を受信することができるユーザインターフェースを含み得る。したがって、スーパーバイザデバイス130は、一般に、様々な構成要素を含むことが可能であり、ワイヤレス通信システム100B内の様々な構成要素を観測、監視、制御、あるいは管理するために様々な有線通信インターフェースおよびワイヤレス通信インターフェースをサポートし得る。
【００３０】
図1Bに示すワイヤレス通信システム100Bは、ワイヤレス通信システム100Bに結合され得るか、あるいはワイヤレス通信システム100Bの一部であり得る(能動IoTデバイス110〜120と対照的な)1つまたは複数の受動IoTデバイス105を含み得る。一般に、受動IoTデバイス105は、短距離インターフェースを介して問い合わされたとき、その識別子と属性とを別のデバイスに提供することができる、バーコード付きデバイス、Bluetooth(登録商標)デバイス、無線周波数(RF)デバイス、RFIDタグ付きデバイス、赤外線(IR)デバイス、NFCタグ付きデバイス、または任意の他の適切なデバイスを含み得る。能動IoTデバイスは、受動IoTデバイスの属性の変化を検出すること、記憶すること、通信すること、それらの変化に作用することなどが可能である。
【００３１】
たとえば、受動IoTデバイス105は、各々、RFIDタグまたはバーコードを有するコーヒーカップとオレンジジュースの容器とを含み得る。キャビネットIoTデバイスおよび冷蔵庫IoTデバイス116は、各々、RFIDタグもしくはバーコードを読み取って、コーヒーカップおよび/またはオレンジジュースの容器の受動IoTデバイス105がいつ追加あるいは除去されたかを検出することができる適切なスキャナまたはリーダーを有し得る。キャビネットIoTデバイスがコーヒーカップの受動IoTデバイス105の除去を検出し、冷蔵庫IoTデバイス116がオレンジジュースの容器の受動IoTデバイスの除去を検出すると、スーパーバイザデバイス130は、キャビネットIoTデバイスおよび冷蔵庫IoTデバイス116において検出された活動に関する1つまたは複数の信号を受信することができる。スーパーバイザデバイス130は、次いで、ユーザがコーヒーカップからオレンジジュースを飲んでいる、およびまたはコーヒーカップからオレンジジュースを飲みたいことを推定することができる。
【００３２】
上記は何らかの形のRFIDタグ通信インターフェースまたはバーコード通信インターフェースを有するとして受動IoTデバイス105を説明しているが、受動IoTデバイス105は、そのような通信能力を有しない、1つもしくは複数のデバイスまたは他の物理的対象物を含み得る。たとえば、あるIoTデバイスは、受動IoTデバイス105を識別するために、受動IoTデバイス105に関連付けられた形状、サイズ、色、および/もしくは他の観測可能な特徴を検出することができる適切なスキャナ機構またはリーダー機構を有し得る。このようにして、任意の適切な物理的対象物はその識別情報および属性を通信して、ワイヤレス通信システム100Bの一部になることができ、スーパーバイザデバイス130を用いて観測、監視、制御、あるいは管理され得る。さらに、受動IoTデバイス105は、図1Aのワイヤレス通信システム100Aに結合され得るか、あるいはその一部であり得、実質的に同様の形で、観測、監視、制御、または管理され得る。
【００３３】
様々な態様によれば、図1Cは、複数のIoTデバイスを含む別のワイヤレス通信システム100Cのハイレベルアーキテクチャを示す。一般に、図1Cに示すワイヤレス通信システム100Cは、上でより詳細に説明した、図1Aおよび図1Bにそれぞれ示したワイヤレス通信システム100Aならびに100Bと同じ、かつ/または実質的に同様の様々な構成要素を含み得る。したがって、説明を簡潔かつ簡単にするために、同じまたは類似の詳細が、それぞれ、図1Aおよび図1Bに示したワイヤレス通信システム100Aならびに100Bに関して上ですでに提供されている限り、図1Cに示すワイヤレス通信システム100C内のいくつかの構成要素に関する様々な詳細は本明細書で省略される場合がある。
【００３４】
図1Cに示す通信システム100Cは、IoTデバイス110〜118とスーパーバイザデバイス130との間の例示的なピアツーピア通信を示す。図1Cに示すように、スーパーバイザデバイス130は、IoTスーパーバイザインターフェースを介してIoTデバイス110〜118の各々と通信する。さらに、IoTデバイス110および114、IoTデバイス112、114、および116、ならびにIoTデバイス116および118は、互いに直接通信する。
【００３５】
IoTデバイス110〜118はIoTグループ160を構成する。IoTデバイスグループ160は、ユーザのホームネットワークに接続されたIoTデバイスなど、ローカルに接続されたIoTデバイスのグループである。示さないが、複数のIoTデバイスグループは、インターネット175に接続されたIoT SuperAgent140を介して互いに接続されること、および/または通信することが可能である。ハイレベルで、スーパーバイザデバイス130はグループ内通信を管理するのに対して、IoT SuperAgent140はグループ間通信を管理することができる。別個のデバイスとして示すが、スーパーバイザデバイス130およびIoT SuperAgent140は、同じデバイス(たとえば、図1Aのコンピュータ120など、独立型デバイスもしくはIoTデバイス)であり得るか、またはその中に存在し得る。代替的に、IoT SuperAgent140は、アクセスポイント125の機能に対応し得るか、またはその機能を含み得る。さらに別の代替として、IoT SuperAgent140は、IoTサーバ170などのIoTサーバの機能に対応し得るか、またはその機能を含み得る。IoT SuperAgent140は、ゲートウェイ機能145をカプセル化することができる。
【００３６】
各IoTデバイス110〜118は、スーパーバイザデバイス130をピアとして扱って、属性/スキーマ更新をスーパーバイザデバイス130に送信することができる。IoTデバイスが別のIoTデバイスと通信する必要があるとき、IoTデバイスは、スーパーバイザデバイス130にそのIoTデバイスに対するポインタを要求し、次いで、ピアとしてターゲットIoTデバイスと通信することができる。IoTデバイス110〜118は、共通メッセージングプロトコル(CMP)を使用して、ピアツーピア通信ネットワークを介して互いに通信する。2つのIoTデバイスがCMP対応であり、共通通信トランスポートを介して接続される限り、それらのIoTデバイスは互いに通信することができる。プロトコルスタック内で、CMPレイヤ154は、アプリケーションレイヤ152の下にあり、トランスポートレイヤ156および物理レイヤ158の上にある。
【００３７】
様々な態様によれば、図1Dは、複数のIoTデバイスを含む別のワイヤレス通信システム100Dのハイレベルアーキテクチャを示す。一般に、図1Dに示すワイヤレス通信システム100Dは、それぞれ、上でより詳細に説明した、図1A〜図1Cに示したワイヤレス通信システム100A〜100Cと同じ、かつ/または実質的に類似した様々構成要素を含み得る。したがって、説明を簡潔かつ簡単にするために、同じまたは類似の詳細がそれぞれ図1A〜図1Cに示したワイヤレス通信システム100A〜100Cに関して上ですでに提供されている限り、図1Dに示すワイヤレス通信システム100D内のいくつかの構成要素に関する様々な詳細は本明細書で省略される場合がある。
【００３８】
インターネット175は、IoTの概念を使用して調整され得る「リソース」である。しかしながら、インターネット175は、調整されるリソースのほんの一例であり、任意のリソースがIoTの概念を使用して調整され得る。調整され得る他のリソースは、電気、ガス、ストレージ、セキュリティなどを含むが、これらに限定されない。IoTデバイスは、リソースに接続され得、それによって、リソースを調整するか、またはリソースはインターネット175を介して調整され得る。図1Dは、天然ガス、ガソリン、湯、および電気など、いくつかのリソース180を示し、リソース180は、インターネット175に加えて調整され得るか、またはインターネット175を介して調整され得る。
【００３９】
IoTデバイスは、互いに通信して、リソース180の使用を調整することができる。たとえば、トースター、コンピュータ、およびヘアドライヤなどのIoTデバイスは、Bluetooth(登録商標)通信インターフェースを介して互いに通信して、その電気(リソース180)使用を調整することができる。別の例として、デスクトップコンピュータ、電話、およびタブレットコンピュータなどのIoTデバイスは、Wi-Fi通信インターフェースを介して通信して、インターネット175(リソース180)に対するそのアクセスを調整することができる。さらに別の例として、ストーブ、衣類乾燥機、および湯沸かし器などのIoTデバイスは、Wi-Fi通信インターフェースを介して通信して、そのガス使用を調整することができる。代替的に、または追加として、各IoTデバイスは、IoTデバイスから受信された情報に基づいて、そのリソース180の使用を調整するための論理を有する、IoTサーバ170などのIoTサーバに接続され得る。
【００４０】
様々な態様によれば、図1Eは、複数のIoTデバイスを含む別のワイヤレス通信システム100Eのハイレベルアーキテクチャを示す。一般に、図1Eに示すワイヤレス通信システム100Eは、上でより詳細に説明した、それぞれ、図1A〜図1Dに示したワイヤレス通信システム100A〜100Dと同じ、かつ/または実質的に類似した様々構成要素を含み得る。したがって、説明を簡潔かつ簡単にするために、同じまたは類似の詳細がそれぞれ図1A〜図1Dに示したワイヤレス通信システム100A〜100Dに関して上ですでに提供されている限り、図1Eに示すワイヤレス通信システム100E内のいくつかの構成要素に関する様々な詳細は本明細書で省略される場合がある。
【００４１】
通信システム100Eは、2つのIoTデバイスグループ160Aおよび160Bを含む。複数のIoTデバイスグループは、インターネット175に接続されたIoT SuperAgentを介して互いに接続されること、および/または互いに通信することが可能である。ハイレベルで、IoT SuperAgentは、IoTデバイスグループ内のグループ間通信を管理することができる。たとえば、図1Eで、IoTデバイスグループ160Aは、IoTデバイス116A、122A、および124Aと、IoT SuperAgent140Aとを含むのに対して、IoTデバイスグループ160Bは、IoTデバイス116B、122B、および124Bと、IoT SuperAgent140Bとを含む。したがって、IoT SuperAgent140Aおよび140Bは、インターネット175と接続して、インターネット175を介して互いと通信すること、ならびに/またはIoTデバイスグループ160Aおよび160B間の通信を促すために互いと直接通信することができる。さらに、図1Eは、IoT SuperAgent140Aおよび140Bを介して互いと通信する2つのIoTデバイスグループ160Aおよび160Bを示すが、任意の数のIoTデバイスグループが、IoT SuperAgentを使用して互いと好適に通信することができることを当業者は諒解されよう。
【００４２】
図2Aは、様々な態様によるIoTデバイス200Aのハイレベルな例を示す。外観および/または内部構成要素はIoTデバイス間でかなり異なる場合があるが、大部分のIoTデバイスは、ディスプレイとユーザ入力のための手段とを含み得る、ある種のユーザインターフェースを有することになる。ユーザインターフェースがないIoTデバイスは、図1A〜図1Bにおけるエアインターフェース108など、有線ネットワークまたはワイヤレスネットワークを介してリモートで通信され得る。
【００４３】
図2Aに示すように、IoTデバイス200Aに関する例示的な構成では、IoTデバイス200Aの外部ケーシングは、当技術分野で知られているように、構成要素の中でも、ディスプレイ226と、電源ボタン222と、2つの制御ボタン224Aおよび224Bとで構成され得る。ディスプレイ226は、タッチスクリーンディスプレイであり得、その場合、制御ボタン224Aおよび224Bは必要でない場合がある。IoTデバイス200Aの一部として明示的に示されてはいないが、IoTデバイス200Aは、限定はしないが、Wi-Fiアンテナ、セルラーアンテナ、衛星位置システム(SPS)アンテナ(たとえば、全地球測位システム(GPS)アンテナ)などを含む、1つまたは複数の外部アンテナおよび/または外部ケーシングに内蔵される1つのまたは複数の内蔵アンテナを含むことができる。
【００４４】
IoTデバイス200AなどのIoTデバイスの内部構成要素は異なるハードウェア構成によって具体化され得るが、内部ハードウェア構成要素のための基本的なハイレベル構成は図2Aにプラットフォーム202として示されている。プラットフォーム202は、図1A〜図1Bのエアインターフェース108ならびに/または有線インターフェースなど、ネットワークインターフェースを介して送信されたソフトウェアアプリケーション、データ、および/またはコマンドを受信ならびに実行することができる。プラットフォーム202は、ローカルに記憶されたアプリケーションを独立して実行してもよい。プラットフォーム202は、一般に、プロセッサ208と呼ばれることになる、マイクロコントローラ、マイクロプロセッサ、特定用途向け集積回路、デジタル信号プロセッサ(DSP)、プログラマブル論理回路、または他のデータ処理デバイスなど、1つもしくは複数のプロセッサ208に動作可能に結合された有線通信および/あるいはワイヤレス通信のために構成された1つもしくは複数のトランシーバ206(たとえば、Wi-Fiトランシーバ、Bluetooth(登録商標)トランシーバ、セルラートランシーバ、衛星トランシーバ、GPS受信機またはSPS受信機など)を含み得る。プロセッサ208は、IoTデバイス内のメモリ212内でアプリケーションプログラミング命令を実行することができる。メモリ212は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気消去可能プログラマブルROM(EEPROM)、フラッシュカード、またはコンピュータプラットフォームに共通の任意のメモリのうちの1つもしくは複数を含み得る。1つもしくは複数の入出力(I/O)インターフェース214は、プロセッサ208が、示すようなディスプレイ226、電源ボタン222、制御ボタン224Aおよび224Bなどの様々なI/Oデバイス、ならびにIoTデバイス200Aに関連付けられたセンサー、アクチュエータ、リレー、バルブ、スイッチなどの任意の他のデバイスと通信すること、ならびにそれらから制御することを可能にするように構成され得る。
【００４５】
したがって、様々な態様は、本明細書に記載された機能を実行する能力を含むIoTデバイス(たとえば、IoTデバイス200A)を含むことができる。当業者によって諒解されるように、様々な論理要素は、本明細書で開示する機能を実現するように個別の要素、プロセッサ(たとえば、プロセッサ208)上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアとの任意の組合せにおいて具現されてもよい。たとえば、トランシーバ206、プロセッサ208、メモリ212、およびI/Oインターフェース214をすべて協調的に使用して、本明細書で開示する様々な機能をロードし、記憶し、実行してもよく、したがって、これらの機能を実行するための論理は様々な要素に分散されてもよい。代替的には、機能は1つの個別の構成要素に組み込むことができる。したがって、図2AにおけるIoTデバイス200Aの特徴は、単に例示にすぎないものと見なされ、IoTデバイス200Aは、図2Aに示す、示された特徴または構成に限定されない。
【００４６】
図2Bは、様々な態様による受動IoTデバイス200Bのハイレベルな例を示す。一般に、図2Bに示す受動IoTデバイス200Bは、上でより詳細に説明した、図2Aに示したIoTデバイス200Aと同じ、かつ/または実質的に類似した様々構成要素を含み得る。したがって、説明を簡潔かつ簡単にするために、同じまたは類似の詳細が図2Aに示したIoTデバイス200Aに関して上ですでに提供されている限り、図2Bに示す受動IoTデバイス200B内のいくつかの構成要素に関する様々な詳細は本明細書で省略される場合がある。
【００４７】
図2Bに示す受動IoTデバイス200Bは、プロセッサ、内部メモリ、またはある種の他の構成要素を有しない場合があるという点で、一般に、図2Aに示すIoTデバイス200Aとは異なる場合がある。代わりに、様々な実施形態では、受動IoTデバイス200Bは、受動IoTデバイス200Bが、制御されたIoTネットワーク内で観測されること、監視されること、制御されること、管理されること、あるいは知られることを可能にする、I/Oインターフェース214または他の適切な機構だけを含み得る。たとえば、様々な実施形態では、受動IoTデバイス200Bに関連付けられたI/Oインターフェース214は、短距離インターフェースを介して問い合わされたとき、受動IoTデバイス200Bに関連付けられた識別子および属性を別のデバイス(たとえば、受動IoTデバイス200Bに関連付けられた属性に関する情報を検出すること、記憶すること、通信すること、その情報に作用すること、あるいはその情報を処理することができる、IoTデバイス200Aなどの能動IoTデバイス)に提供することができる、バーコード、Bluetooth(登録商標)インターフェース、無線周波数(RF)インターフェース、RFIDタグ、IRインターフェース、NFCインターフェース、または任意の他の適切なI/Oインターフェースを含み得る。
【００４８】
上記は何らかの形のRF、バーコード、または他のI/Oインターフェース214を有するとして受動IoTデバイス200Bを説明しているが、受動IoTデバイス200Bは、そのようなI/Oインターフェース214を有しないデバイスまたは他の物理的対象物を含み得る。たとえば、あるIoTデバイスは、受動IoTデバイス200Bを識別するために、受動IoTデバイス200Bに関連付けられた形状、サイズ、色、および/もしくは他の観測可能な特徴を検出することができる適切なスキャナ機構またはリーダー機構を有し得る。このようにして、任意の適切な物理的対象物は、その識別および属性を通信することができ、制御されたIoTネットワーク内で観測、監視、制御、あるいは管理され得る。
【００４９】
図3は、機能を実行するように構成される論理を含む通信デバイス300を示す。通信デバイス300は、限定はしないが、IoTデバイス110〜120、IoTデバイス200A、インターネット175に結合された任意の構成要素(たとえば、IoTサーバ170)などを含む、上記の通信デバイスのうちのいずれかに対応し得る。したがって、通信デバイス300は、図1A〜図1Eのワイヤレス通信システム100A〜100Eを介して1つもしくは複数の他のエンティティと通信する(または通信を容易にする)ように構成された任意の電子デバイスに対応し得る。
【００５０】
図3を参照すると、通信デバイス300は、情報を受信および/または送信するように構成される論理305を含む。一例では、通信デバイス300がワイヤレス通信デバイス(たとえば、IoTデバイス200Aおよび/または受動IoTデバイス200B)に対応する場合には、情報を受信および/または送信するように構成される論理305は、ワイヤレストランシーバおよび関連ハードウェア(たとえば、RFアンテナ、モデム、変調器および/または復調器など)のようなワイヤレス通信インターフェース(たとえば、Bluetooth(登録商標)、Wi-Fi、Wi-Fi Direct、Long-Term Evolution (LTE) Directなど)を含むことができる。別の例では、情報を受信および/または送信するように構成された論理305は、有線通信インターフェース(たとえば、インターネット175にアクセスする手段となり得るシリアル接続、USBまたはFirewire接続、Ethernet(登録商標)接続など)に対応することができる。したがって、通信デバイス300が、何らかのタイプのネットワークベースのサーバ(たとえば、アプリケーション170)に対応する場合には、情報を受信および/または送信するように構成された論理305は、一例では、Ethernet(登録商標)プロトコルによってネットワークベースのサーバを他の通信エンティティに接続するEthernet(登録商標)カードに対応し得る。さらなる例では、情報を受信および/または送信するように構成された論理305は、通信デバイス300がそのローカル環境を監視する手段となり得る感知または測定ハードウェア(たとえば、加速度計、温度センサー、光センサー、ローカルRF信号を監視するためのアンテナなど)を含むことができる。情報を受信および/または送信するように構成された論理305は、実行されるときに、情報を受信および/または送信するように構成された論理305の関連ハードウェアがその受信機能および/または送信機能を実行できるようにするソフトウェアも含むことができる。しかしながら、情報を受信および/または送信するように構成された論理305は、ソフトウェアだけに対応するのではなく、情報を受信および/または送信するように構成された論理305は、その機能性を達成するためのハードウェアに少なくとも部分的に依拠する。
【００５１】
図3を参照すると、通信デバイス300は、情報を処理するように構成される論理310をさらに含む。一例では、情報を処理するように構成される論理310は、少なくともプロセッサを含むことができる。情報を処理するように構成された論理310によって実施され得るタイプの処理の例示的な実装形態は、判断を行うこと、接続を確立すること、異なる情報オプション間で選択を行うこと、データに関係する評価を実施すること、測定動作を実施するために通信デバイス300に結合されたセンサーと対話すること、情報をあるフォーマットから別のフォーマットに(たとえば、.wmvから.aviへなど、異なるプロトコル間で)変換することなどを含むが、これらに限定されない。たとえば、情報を処理するように構成された論理310中に含まれるプロセッサは、汎用プロセッサ、DSP、ASIC、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書において説明される機能を実行するように設計されたそれらの任意の組合せに対応し得る。汎用プロセッサはマイクロプロセッサとすることができるが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることができる。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成)として実現され得る。情報を処理するように構成された論理310は、実行されるとき、情報を処理するように構成された論理310の関連ハードウェアがその処理機能を実行できるようにするソフトウェアも含むことができる。しかしながら、情報を処理するように構成された論理310は、ソフトウェアだけに対応するのではなく、情報を処理するように構成された論理310は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
【００５２】
図3を参照すると、通信デバイス300は、情報を記憶するように構成される論理315をさらに含む。一例では、情報を記憶するように構成される論理315は、少なくとも非一時的メモリおよび関連ハードウェア(たとえば、メモリコントローラなど)を含むことができる。たとえば、情報を記憶するように構成される論理315に含まれる非一時的メモリは、RAM、フラッシュメモリ、ROM、消去可能プログラマブルROM(EPROM)、EEPROM、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当該技術分野において知られている任意の他の形の記憶媒体に対応することができる。情報を記憶するように構成される論理315は、実行されるときに、情報を記憶するように構成される論理315の関連ハードウェアがその記憶機能を実行できるようにするソフトウェアも含むことができる。しかしながら、情報を記憶するように構成される論理315は、ソフトウェアだけに対応するのではなく、情報を記憶するように構成される論理315は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
【００５３】
図3を参照すると、通信デバイス300は、情報を提示するように構成された論理320をさらにオプションで含む。一例では、情報を提示するように構成される論理320は、少なくとも出力デバイスおよび関連ハードウェアを含むことができる。たとえば、出力デバイスは、ビデオ出力デバイス(たとえば、ディスプレイスクリーン、USB、HDMI(登録商標)のようなビデオ情報を搬送することができるポートなど)、オーディオ出力デバイス(たとえば、スピーカ、マイクロフォンジャック、USB、HDMI(登録商標)のようなオーディオ情報を搬送することができるポートなど)、振動デバイス、および/または、情報がそれによって出力のためにフォーマットされ得る、または通信デバイス300のユーザもしくは操作者によって実際に出力され得る任意の他のデバイスを含むことができる。たとえば、通信デバイス300が、図2Aに示したIoTデバイス200Aおよび/または図2Bに示した受動IoTデバイス200Bに対応する場合、情報を提示するように構成された論理320は、ディスプレイ226を含み得る。さらなる一例では、情報を提示するように構成される論理320は、ローカルユーザを有しないネットワーク通信デバイス(たとえば、ネットワークスイッチ、またはルータ、リモートサーバなど)のようないくつかの通信デバイスでは省くことができる。情報を提示するように構成された論理320は、実行されるとき、情報を提示するように構成された論理320の関連ハードウェアがその提示機能を実施できるようにするソフトウェアも含むことができる。しかしながら、情報を提示するように構成された論理320は、ソフトウェアだけに対応するのではなく、情報を提示するように構成された論理320は、その機能性を達成するためにハードウェアに少なくとも部分的に依拠する。
【００５４】
図3を参照すると、通信デバイス300は、ローカルユーザ入力を受信するように構成された論理325をさらにオプションで含む。一例では、ローカルユーザ入力を受信するように構成される論理325は、少なくともユーザ入力デバイスおよび関連ハードウェアを含むことができる。たとえば、ユーザ入力デバイスは、ボタン、タッチスクリーンディスプレイ、キーボード、カメラ、オーディオ入力デバイス(たとえば、マイクロフォン、もしくはマイクロフォンジャックなど、オーディオ情報を搬送することができるポートなど)、および/または情報がそれによって通信デバイス300のユーザもしくはオペレータから受信され得る任意の他のデバイスを含み得る。たとえば、通信デバイス300が図2Aに示すようなIoTデバイス200Aおよび/または図2Bに示すような受動IoTデバイス200Bに対応する場合、ローカルユーザ入力を受信するように構成された論理325は、ボタン222、224Aおよび224B、ディスプレイ226(タッチスクリーンの場合)などを含み得る。さらなる例では、ローカルユーザ入力を受信するように構成された論理325は、(たとえば、ネットワークスイッチまたはルータ、リモートサーバなど)ローカルユーザを有さないネットワーク通信デバイスのようないくつかの通信デバイスでは省略されることがある。ローカルユーザ入力を受信するように構成された論理325は、実行されるとき、ローカルユーザ入力を受信するように構成された論理325の関連ハードウェアがその入力受信機能を実施できるようにするソフトウェアも含むことができる。しかしながら、ローカルユーザ入力を受信するように構成された論理325は、ソフトウェアだけに対応するのではなく、ローカルユーザ入力を受信するように構成された論理325は、その機能性を達成するためにハードウェアに少なくとも部分的に依拠する。
【００５５】
図3を参照すると、305〜325の構成された論理は、図3では別個のまたは相異なるブロックとして示されているが、それぞれの構成された論理がその機能を実行するためのハードウェアおよび/またはソフトウェアは、部分的に重複できることは理解されよう。たとえば、305〜325の構成された論理の機能を容易にするために使用される任意のソフトウェアを、情報を記憶するように構成された論理315に関連する非一時的メモリに記憶することができ、それにより、305〜325の構成された論理は各々、その機能(すなわち、この場合、ソフトウェア実行)を、情報を記憶するように構成された論理315によって記憶されたソフトウェアの動作に部分的に基づいて実行する。同様に、構成された論理のうちの1つに直接関連付けられるハードウェアは、時々、他の構成された論理によって借用または使用され得る。たとえば、情報を処理するように構成された論理310のプロセッサは、データを、情報を受信および/または送信するように構成された論理305によって送信される前に、適切な形式にフォーマットすることができ、それにより、情報を受信および/または送信するように構成された論理305は、その機能(すなわち、この場合、データの送信)を、情報を処理するように構成された論理310に関連付けられたハードウェア(すなわち、プロセッサ)の動作に部分的に基づいて実行する。
【００５６】
概して、別段に明示的に記載されていない限り、本明細書において使用される「ように構成された論理」という句は、ハードウェアにより少なくとも部分的に実施される論理を指すものとし、ハードウェアから独立したソフトウェアだけの実施形態に位置づけるものではない。様々なブロックにおける構成された論理または「ように構成された論理」は、特定の論理ゲートまたは論理要素に限定されるのではなく、概して、本明細書に記載した機能性を、(ハードウェアまたはハードウェアとソフトウェアの組合せのいずれかを介して)実施するための能力を指すことが諒解されよう。したがって、様々なブロックに示す構成された論理または「ように構成された論理」は、「論理」という言葉を共有するにもかかわらず、必ずしも論理ゲートまたは論理要素として実装されるとは限らない。様々なブロックの論理間の他のやりとりまたは協働が、以下でより詳細に説明する態様の検討から、当業者には明らかになるであろう。
【００５７】
様々な実施形態は、図4に示すサーバ400などの、様々な市販のサーバデバイスのいずれにおいても実装され得る。一例では、サーバ400は、上記で説明したIoTサーバ170の1つの例示的な構成に対応し得る。図4では、サーバ400は、揮発性メモリ402と、ディスクドライブ403などの大容量の不揮発性メモリとに結合されたプロセッサ401を含む。サーバ400は、プロセッサ401に結合された、フロッピー(登録商標)ディスクドライブ、コンパクトディスク(CD)ドライブまたはDVDディスクドライブ406を含むことも可能である。サーバ400は、他のブロードキャストシステムコンピュータおよびサーバに、またはインターネットに結合されたローカルエリアネットワークなどのネットワーク407とのデータ接続を確立するための、プロセッサ401に結合されたネットワークアクセスポート404を含むことも可能である。図3の文脈において、図4のサーバ400は、通信デバイス300の1つの例示的な実装形態を示すが、情報を送信および/または受信するように構成された論理305は、ネットワーク407と通信するためにサーバ400によって使用されるネットワークアクセスポート404に相当し、情報を処理するように構成された論理310は、プロセッサ401に相当し、情報を記憶するように構成された論理315は、揮発性メモリ402、ディスク(disk)ドライブ403、および/またはディスク(disc)ドライブ406のうちの任意の組合せに相当することが諒解されよう。情報を提示するように構成されたオプションの論理320およびローカルユーザ入力を受信するように構成されたオプションの論理325は、図4には明示的に示さず、その中に含まれる場合もあれば、含まれない場合もある。したがって、図4は、通信デバイス300が、図2Aに示すようなIoTデバイスの実装形態に加えてサーバとして実装され得ることを説明するのを助ける。
【００５８】
概して、上述のように、IPベースの技法およびサービスが成熟し、コストを削減しIPの可用性を向上させており、それによって、インターフェース接続性をますます多くの種類の日常の電子対象物に付加することが可能になっている。したがって、IoTは、コンピュータおよびコンピュータネットワークだけでなく、日常の電子的対象物が、インターネットを介して読取り可能、認識可能、位置特定可能、アドレス指定可能、および制御可能であり得るという発想に基づく。概して、IoTが開発され普及することによって、それぞれに異なる種類を有しそれぞれに異なる活動を実行する多数の近位異種IoTデバイスおよびその他の対象物(たとえば、ライト、プリンタ、冷蔵庫、空調装置など)は、多くの異なる方法で相互作用し、多くの異なる方法で使用される場合がある。したがって、制御されたIoTネットワーク内で使用される場合がある場合によっては多数の異種IoTデバイスおよびその他の対象物に起因して、概して、特に、様々な異種IoTデバイスが適切に構成され、管理され、かつ互いに通信して情報を交換することが可能になるように、明確な信頼できる通信インターフェースを様々な異種IoTデバイスに接続する必要がある。したがって、図5〜図8に関する以下の説明では、概して、本明細書で開示するように分散型プログラミング環境における異種デバイス間の通信を可能にするように発見可能なピアツーピア(P2P)サービスをサポートする場合がある例示的な通信フレームワークについて概略的に説明する。
【００５９】
概して、ユーザ機器(UE)(たとえば、電話、タブレットコンピュータ、ラップトップコンピュータおよびデスクトップコンピュータ、車両など)は、互いに(たとえば、Bluetooth（登録商標）、ローカルWi-Fiなどによって)ローカルに接続するように構成されても、あるいは(たとえば、セルラーネットワーク、インターネットなどを介して)リモートに接続するように構成されても、あるいはそれらの適切な組合せに従って構成されてもよい。さらに、いくつかのUEは、1対1の接続をサポートするかまたは互いに直接通信するいくつかのデバイスを含むグループに同時に接続するのをサポートする特定のワイヤレスネットワーキング技法(たとえば、Wi-Fi、Bluetooth(登録商標)、Wi-Fi Directなど)を使用する近接度ベースのピアツーピア(P2P)通信をサポートしてもよい。そのために、図5は、発見可能なP2Pサービスをサポートすることができる例示的なワイヤレス通信ネットワークまたはWAN500を示し、ワイヤレス通信ネットワーク500は、様々な基地局510と他のネットワークエンティティとを含むLTEネットワークまたは別の適切なWANを備えてもよい。簡単のために、図5には、3つの基地局510a、510bおよび510c、1つのネットワークコントローラ530、ならびに1つのダイナミックホストコンフィギュレーションプロトコル(DHCP)サーバ540のみを示す。基地局510は、デバイス520と通信するエンティティであってもよく、Node B、evolved Node B(eNB)、アクセスポイントなどとも呼ばれることがある。各基地局510は、特定の地理的エリアに対して通信カバレージを実現し得、カバレージエリア内に位置するデバイス520のための通信をサポートし得る。ネットワーク容量を向上させるために、基地局510の全体的なカバレージエリアが複数の(たとえば、3つの)より小さいエリアに区分されてもよく、各々のより小さいエリアがそれぞれの基地局510によってサービスされてもよい。3GPPでは、「セル」という用語は、この用語が使用される状況に応じて、このカバレッジエリアにサービスしている基地局510および/または基地局サブシステム510のカバレッジエリアを指し得る。3GPP2では、「セクタ」または「セルセクタ」という用語は、このカバレッジエリアにサービスしている基地局510および/または基地局サブシステム510のカバレッジエリアを指し得る。明確にするために、本明細書の説明では3GPPの「セル」の概念が使用されることがある。
【００６０】
基地局510は、マクロセル、ピコセル、フェムトセル、および/または他のセルタイプの通信カバレッジを可能にすることができる。マクロセルは、比較的大きい地理的エリア(たとえば、半径数キロメートル)をカバーすることができ、サービスに加入しているデバイス520による無制限アクセスを可能にし得る。ピコセルは、比較的小さい地理的エリアをカバーすることができ、サービスに加入しているデバイス520による無制限アクセスを可能にし得る。フェムトセルは、比較的小さい地理的エリア(たとえば、家庭)をカバーすることができ、フェムトセルとの関連付けを有するデバイス520(たとえば、限定加入者グループ(CSG)中のデバイス)による限定アクセスを可能にし得る。図5に示す例では、ワイヤレスネットワーク500は、マクロセルのためのマクロ基地局510a、510b、および510cを含む。ワイヤレスネットワーク500は、ピコセルのためのピコ基地局510および/またはフェムトセルのためのホーム基地局510(図5には示されていない)も含み得る。
【００６１】
ネットワークコントローラ530は、基地局510のセットに結合することができ、これらの基地局510の調整および制御を行うことができる。ネットワークコントローラ530は、バックホールを介して基地局と通信することができる単一のネットワークエンティティまたはネットワークエンティティの集合であってもよい。また、基地局は、たとえば、直接またはワイヤレスバックホールまたはワイヤラインバックホールを介して間接的に、互いに通信し得る。DHCPサーバ540は、以下に説明するように、P2P通信をサポートすることができる。DHCPサーバ540は、ワイヤレスネットワーク500の一部であっても、またはインターネット接続共有(ICS)を介して実行されるワイヤレスネットワーク500の外部のサーバであっても、またはそれらの任意の適切な組合せであってもよい。DHCPサーバ540は、(図5に示されるように)別個のエンティティであってよく、または、基地局510、ネットワークコントローラ530、もしくは他の何らかのエンティティの一部であってもよい。いずれの場合も、DHCPサーバ540は、ピアツーピアの通信を望むデバイス520によって到達可能であり得る。
【００６２】
デバイス520はワイヤレスネットワーク500全体にわたって分散され得、各デバイス520は固定されてもまたは移動可能であってもよい。デバイス520はまた、ノード、ユーザ機器(UE)、局、移動局、端末、アクセス端末、加入者ユニットなどと呼ばれ得る。デバイス520は、セルラー電話、携帯情報端末(PDA)、ワイヤレスモデム、ワイヤレス通信デバイス、ハンドヘルドデバイス、ラップトップコンピュータ、コードレス電話、ワイヤレスローカルループ(WLL)局、スマートフォン、ネットブック、スマートブック、タブレットなどであってよい。デバイス520は、ワイヤレスネットワーク500内の基地局510と通信してもよく、さらに他のデバイス520とピアツーピア通信してもよい。たとえば、図5に示すように、デバイス520aとデバイス520bがピアツーピア通信してもよく、デバイス520cとデバイス520dがピアツーピア通信してもよく、デバイス520eとデバイス520fがピアツーピア通信してもよく、デバイス520gとデバイス520hとデバイス520iがピアツーピア通信し、一方、残りのデバイス520が基地局510と通信してもよい。さらに図5に示すように、デバイス520a、520d、520f、および520hは、たとえば、P2P通信を行っていないときに基地局510と通信するか、または場合によってはP2P通信と同時に基地局510と通信してもよい。
【００６３】
本明細書の説明では、WAN通信は、たとえば別のデバイス520などのリモートエンティティと通話するための、ワイヤレスネットワーク500におけるデバイス520と基地局510との間の通信を指し得る。WANデバイスは、WAN通信に関心を持っているか、WAN通信に関与しているデバイス520である。P2P通信は、基地局510を介さない、2つ以上のデバイス520間の直接通信を指す。P2Pデバイスは、P2P通信に関心を持っているかまたはP2P通信に関与しているデバイス520、たとえば、P2Pデバイスの近傍内の別のデバイス520に関するトラフィックデータを有するデバイス520である。2つのデバイスは、たとえば、各デバイス520が他のデバイス520を検出できる場合、互いに近傍に位置すると見なされてもよい。概して、デバイス520は、別のデバイス520と、P2P通信の場合は直接通信してもよく、WAN通信の場合は少なくとも1つの基地局510を介して通信してもよい。
【００６４】
様々な実施形態では、P2Pデバイス520間の直接通信はP2Pグループとして構成されてもよい。より詳細には、P2Pグループは概して、P2P通信に関心を持っているか、またはP2P通信に関与している2つ以上のデバイス520のグループを指し、P2Pリンクは、P2Pグループ用の通信リンクを指す。さらに、様々な実施形態では、P2Pグループは、P2Pグループオーナー(またはP2Pサーバ)と指定される1つのデバイス520と、P2PグループオーナーによってサービスされるP2Pクライアントと指定される1つまたは複数のデバイス520とを含んでもよい。P2Pグループオーナーは、WANとのシグナリングの交換、P2PグループオーナーとP2Pクライアントとの間のデータ送信の調整などのような、いくつかの管理機能を実行することができる。たとえば、図5に示すように、第1のP2Pグループは、基地局510aの対象となるデバイス520aおよび520bを含み、第2のP2Pグループは、基地局510bの対象となるデバイス520cおよび520dを含み、第3のP2Pグループは、異なる基地局510bおよび510cの対象となるデバイス520eおよび520fを含み、第4のP2Pグループは、基地局510cの対象となるデバイス520g、520h、および520iを含む。デバイス520a、520d、520f、および520hは、そのそれぞれのP2PグループにおけるP2Pグループオーナーであってもよく、デバイス520b、520c、520e、520g、および520iは、そのそれぞれのP2PグループにおけるP2Pクライアントであってもよい。図5の他のデバイス520は、WAN通信に関与していてもよい。
【００６５】
様々な実施形態では、P2P通信は、P2Pグループ内でのみ行われ、かつ、P2Pグループに関連するP2PグループオーナーとP2Pクライアントとの間でのみ行われる。たとえば、同じP2Pグループ内の2つのP2Pクライアント(たとえば、デバイス520gおよび520i)が情報を交換することを望む場合、P2Pクライアントの一方がP2Pグループオーナー(たとえば、デバイス520h)に情報を送ってもよく、次いでP2Pグループオーナーが送信を他のP2Pクライアントに中継してもよい。様々な実施形態では、特定のデバイス520は、複数のP2Pグループに属してもよく、各P2Pグループ内でP2PグループオーナーまたはP2Pクライアントのいずれかとして振る舞ってもよい。さらに、様々な実施形態では、特定のP2Pクライアントは、1つのP2Pグループのみに属するかまたは複数のP2Pグループに属し、任意の特定の瞬間に複数のP2PグループのいずれかにおけるP2Pデバイス520と通信してもよい。概して、通信は、ダウンリンクおよびアップリンク上での送信を通じて促進され得る。WAN通信では、ダウンリンク(または順方向リンク)は基地局510からデバイス520への通信リンクを指し、アップリンク(または逆方向リンク)はデバイス520から基地局510への通信リンクを指す。P2P通信では、P2PダウンリンクはP2PグループオーナーからP2Pクライアントへの通信リンクを指し、P2PアップリンクはP2PクライアントからP2Pグループオーナーへの通信リンクを指す。いくつかの実施形態では、2つ以上のデバイスが、WAN技法を使用してP2P通信するのではなく、Wi-Fi、Bluetooth(登録商標)、またはWi-Fi Directなどの技法を使用してより小さいP2Pグループを形成してワイヤレスローカルエリアネットワーク(WLAN)上でP2P通信してもよい。たとえば、Wi-Fi、Bluetooth(登録商標)、Wi-Fi Direct、またはその他のWLAN技法を使用するP2P通信では、2つ以上のモバイルフォン、ゲームコンソール、ラップトップコンピュータ、またはその他の適切な通信エンティティ間のP2P通信を可能にすることができる。
【００６６】
図6は、様々な態様による、様々なデバイス610、620、630が通信するのに利用することができる近接度ベースの分散バス625を確立するために発見可能なP2Pサービスを使用し得る例示的な環境600を示す。たとえば、様々な実施形態では、ネットワーク化コンピューティング環境におけるアプリケーション間通信を有効化するのに使用されるソフトウェアバスを含んでもよい分散バス625を介したプロセス間通信プロトコル(IPC)フレームワークを使用して単一のプラットフォーム上でのアプリケーション同士などの間の通信を容易にすることができ、この場合、ネットワーク化コンピューティング環境におけるアプリケーション間通信では、各アプリケーションが分散バス625に登録して他のアプリケーションにサービスを提供し、他のアプリケーションが登録されているアプリケーションに関する情報を分散バス625に問い合わせる。そのようなプロトコルは、信号メッセージ(たとえば、通知)がポイントツーポイントメッセージであってもまたはブロードキャストメッセージであってもよく、メソッド呼出しメッセージ(たとえば、RPC)が同期メッセージであってもまたは非同期メッセージであってもよく、分散バス625が(たとえば、1つまたは複数のバスルータまたは「デーモン」あるいは分散バス625との接続を可能にする場合がある他の適切なプロセスを介して)様々なデバイス610、620、630間のメッセージルーティングに対処する場合がある、非同期通知およびリモートプロシージャ呼出し(RPC)を可能にしてもよい。
【００６７】
様々な実施形態では、分散バス625は、様々なトランスポートプロトコル(たとえば、Bluetooth(登録商標)、TCP/IP、Wi-Fi、CDMA、GPRS、UMTSなど)によってサポートされてもよい。たとえば、様々な態様によれば、第1のデバイス610は、分散バスノード612と1つまたは複数のローカルエンドポイント614とを含んでもよく、分散バスノード612は、第1のデバイス610に関連するローカルエンドポイント614と第2のデバイス620および第3のデバイス630に関連するローカルエンドポイント624および634との間の、分散バス625を通じた(たとえば、第2のデバイス620および第3のデバイス630上の分散バスノード622および632を介した)通信を容易にすることができる。図7を参照しながら以下にさらに詳細に説明するように、分散バス625は、対称的マルチデバイスネットワークトポロジーをサポートしてもよく、デバイスドロップアウトの存在下でロバストな動作を可能にしてもよい。したがって、仮想分散バス625は、概して任意の下位トランスポートプロトコル(たとえば、Bluetooth(登録商標)、TCP/IP、Wi-Fiなど)とは無関係であってもよく、非セキュア(たとえば、オープン)からセキュア(たとえば、認証または暗号化)まで様々なセキュリティオプションを実現することができ、セキュリティオプションは、第1のデバイス610、第2のデバイス620、および第3のデバイス630間の自発的な接続を容易にしつつ、様々なデバイス610、620、630が互いの範囲に入るかまたは互いに近接したときに介入せずに使用され得る。
【００６８】
図7は、様々な態様による、第1のデバイス(「デバイスA」)710および第2のデバイス(「デバイスB」)720が通信するのに利用することができる近接度ベースの分散バスを確立するために発見可能なP2Pサービスを使用し得る例示的なシグナリングフロー700を示す。概して、デバイスA 710は、デバイスB 720との通信を要求してもよく、デバイスAは、そのような通信を容易にするのを助けることができるバスノード712に加えて通信の要求を出し得るローカルエンドポイント714(たとえば、ローカルアプリケーション、サービスなど)を含んでもよい。さらに、デバイスB 720は、ローカルエンドポイント714が、デバイスA 710上のローカルエンドポイント714とデバイスB 720上のローカルエンドポイント724との間の通信を容易にするのを助けることができるバスノード722に加えて通信を試み得るローカルエンドポイント724を含んでもよい。
【００６９】
様々な実施形態では、754において、バスノード712および722は適切な発見機構を実行してもよい。たとえば、Bluetooth(登録商標)、TCP/IP、UNIX(登録商標)などによってサポートされる接続を発見するための機構が使用されてもよい。756において、デバイスA 710上のローカルエンドポイント714は、バスノード712を通じて利用可能なエンティティ、サービス、エンドポイントなどに接続することを要求してもよい。様々な実施形態では、この要求は、ローカルエンドポイント714とバスノード712との間の要求応答プロセスを含んでもよい。758において、分散メッセージバスが、バスノード712をバスノード722に接続し、それによってデバイスA 710とデバイスB 720との間のP2P接続を確立するように形成されてもよい。様々な実施形態では、バスノード712とバスノード722との間に分散バスを形成するための通信は、近接度ベースのP2Pプロトコル(たとえば、接続された製品間の相互運用性を実現するように設計されたAllJoyn(登録商標)ソフトウェアフレームワークおよび近位ネットワークを動的に作成し近位P2P通信を容易にするための様々な製造業者によるソフトウェアアプリケーション)を使用して容易にされてもよい。代替として、様々な実施形態では、サーバ(図示せず)はバスノード712とバスノード722との間の接続を容易にしてもよい。さらに、様々な実施形態では、バスノード712とバスノード722との間に接続を形成する前に適切な認証機構が使用されてもよい(たとえば、クライアントが認証コマンドを送って認証対話を開始することができるSASL認証)。さらに、758において、バスノード712および722は、利用可能な他のエンドポイント(たとえば、図6のデバイスC 630上のローカルエンドポイント634)に関する情報を交換してもよい。そのような実施形態では、バスノードが維持する各ローカルエンドポイントが他のバスノードに通知されてもよく、この通知は、一意のエンドポイント名、トランスポートタイプ、接続パラメータ、または他の適切な情報を含んでもよい。
【００７０】
様々な実施形態では、760において、バスノード712およびバスノード722は、それぞれローカルエンドポイント724および714に関連する得られた情報を使用して、様々なバスノードを通じて利用可能な得られた実エンドポイントを表すことのできる仮想エンドポイントを作成してもよい。様々な実施形態では、バスノード712上のメッセージルーティングでは、実エンドポイントおよび仮想エンドポイントを使用してメッセージを送信してもよい。さらに、リモートデバイス(たとえば、デバイスA 710)上に存在するあらゆるエンドポイントに1つのローカル仮想エンドポイントがあってもよい。さらに、そのような仮想エンドポイントは、分散バス(たとえば、バスノード712とバスノード722との間の接続)を介して送られたメッセージを多重化しならびに/あるいは多重化解除してもよい。様々な実施形態では、仮想エンドポイントは、実エンドポイントと同様にローカルバスノード712または722からメッセージを受信してもよく、分散バスを介してメッセージを転送してもよい。したがって、仮想エンドポイントは、エンドポイント多重化分散バス接続からローカルバスノード712および722へメッセージを転送してもよい。さらに、様々な実施形態では、リモートデバイス上の仮想エンドポイントに対応する仮想エンドポイントは、任意の時点で特定のトランスポートタイプの所望のトポロジーに対処するように再接続されてもよい。そのような実施形態では、UNIX(登録商標)ベースの仮想エンドポイントは、ローカルと見なされることがあり、したがって、再接続の候補とは見なされないことがある。さらに、TCPベースの仮想エンドポイントは、1つのホップルーティングに関して最適化されてもよい(たとえば、各バスノード712および722は互いに直接接続されてもよい)。さらに、Bluetooth(登録商標)ベースの仮想エンドポイントは、Bluetooth(登録商標)ベースのマスタがローカルマスタノードと同じバスノードであってもよい単一ピコネット(たとえば、1つのマスタおよびn個のスレーブ)に関して最適化されてもよい。
【００７１】
様々な実施形態では、バスノード712とバスノード722は、762においてバス状態情報を交換してバスインスタンス同士をマージし、分散バスを介した通信を可能にしてもよい。たとえば、様々な実施形態では、バス状態情報は、周知の一意のエンドポイント名マッピング、整合規則、ルーティンググループ、または他の適切な情報を含んでもよい。様々な実施形態では、状態情報は、分散バスベースのローカル名と通信するローカルエンドポイント714および724とのインターフェースを使用してバスノード712インスタンスとバスノード722インスタンスとの間で伝達されてもよい。別の態様では、バスノード712およびバスノード722の各々は、分散バスへのフィードバックを可能にする役割を果たすローカルバスコントローラを維持してもよく、バスコントローラは、グローバルメソッド、引数、信号、およびその他の情報を分散バスに関連する規格に変換してもよい。バスノード712およびバスノード722は、764において上述のようなバスノードノード接続の間に導入されるあらゆる変化に関してそれぞれのローカルエンドポイント714および724に通知する信号を伝達(たとえば、ブロードキャスト)してもよい。様々な実施形態では、新しいおよび/または削除されたグローバル名および/または変換後の名前が、名前オーナー変更後信号によって示されてもよい。さらに、(たとえば、名前衝突に起因して)ローカルに失われることがあるグローバル名が名前喪失信号によって示されてもよい。さらに、名前衝突に起因して転送されるグローバル名が名前オーナー変更後信号によって示されてもよく、バスノード712およびバスノード722が切り離された場合および/またはときに消える一意の名前が名前オーナー変更後信号によって示されてもよい。
【００７２】
上記に使用されたように、周知の名前を使用してローカルエンドポイント714および724を一意に記述してもよい。様々な実施形態では、デバイスA 710とデバイスB 720との間で通信が行われるとき、異なる周知の名前タイプが使用されてもよい。たとえば、バスノード712が直接接続されるデバイスA 710に関連するバスノード712上にのみデバイスローカル名が存在してもよい。別の例では、すべての既知のバスノード712および722上にグローバル名が存在してもよく、すべてのバスセグメント上に存在してもよい名前のオーナーは1人だけである。言い換えれば、バスノード712とバスノード722が連結され、衝突が起こると、オーナーのうちの1人がグローバル名を失うことがある。さらに別の例では、クライアントが仮想バスに関連する他のバスノードに接続されるときに変換後の名前が使用されてもよい。そのような実施形態では、変換後の名前はアペンデッドエンドを含んでもよい(たとえば、グローバルに一意の識別子「1234」を有する分散バスに接続された周知の名前「org.foo」を有するローカルエンドポイント714は「G1234.org.foo」と見なされてもよい)。
【００７３】
様々な実施形態では、バスノード712およびバスノード722は、766においてエンドポイントバストポロジーの変更について他のバスノードに通知するための信号を伝達(たとえば、ブロードキャスト)してもよい。その後、ローカルエンドポイント714からのトラフィックは、仮想エンドポイントを通過してデバイスB 720上の意図されるローカルエンドポイント724に達してもよい。さらに、動作中に、ローカルエンドポイント714とローカルエンドポイント724との間の通信はルーティンググループを使用してもよい。様々な実施形態では、ルーティンググループは、エンドポイントが信号、メソッド呼出し、またはエンドポイントのサブセットからの他の適切な情報を受信するのを可能にしてもよい。したがって、ルーティング名は、バスノード712または722に接続されたアプリケーションによって決定されてもよい。たとえば、P2Pアプリケーションは、アプリケーションに組み込まれた一意で周知のルーティンググループ名を使用してもよい。さらに、バスノード712および722は、ローカルエンドポイント714および724のルーティンググループへの登録および/または登録解除をサポートしてもよい。様々な実施形態では、ルーティンググループは、現在のバスインスタンスよりも後のインスタンスまで持続しなくてもよい。別の態様では、アプリケーションは、分散バスに接続するたびにアプリケーションの好ましいルーティンググループの登録をしてもよい。さらに、グループはオープンであっても(たとえば、任意のエンドポイントが参加してよい)またはクローズドであっても(たとえば、グループの作成者がグループを修正してもよい)よい。さらに、バスノード712または722は、他のリモートバスノードにルーティンググループエンドポイントの追加、削除、またはその他の変更を通知するための信号を送ってもよい。そのような実施形態では、バスノード712または722は、グループにメンバーが追加されならびに/あるいはグループからメンバーが削除されたときはいつでも他のグループメンバーにルーティンググループ変更信号を送ってもよい。さらに、バスノード712または722は、最初にルーティンググループから削除されることなく分散バスから切り離されるエンドポイントにルーティンググループ変更信号を送ってもよい。
【００７４】
様々な態様によれば、図8Aは、第1のホストデバイス810と第2のホストデバイス830との間に形成される場合がある近接度ベースの例示的な分散バスを示す。より詳細には、図6に関して上記に説明したように、近接度ベースの分散バスの基本構造は、別個の物理的ホストデバイス上に存在する複数のバスセグメントを備えてもよい。したがって、図8Aでは、近接度ベースの分散バスの各セグメントがホストデバイス810、830のうちの1つのホストデバイス上に配置されてもよく、ホストデバイス810、830の各々は、それぞれのホストデバイス810、830上に配置されたバスセグメントを実施する場合があるローカルバスルータ(または「デーモン」)を実行する。たとえば、図8Aでは、各ホストデバイス810、830は、それぞれのホストデバイス810、830上に配置されたバスセグメントを実施するバスルータを表すために丸で囲まれた「D」を含む。さらに、ホストデバイス810、830のうちの1つまたは複数はいくつかのバスアタッチメントを有してもよく、各バスアタッチメントはローカルバスルータに接続する。たとえば、図8Aでは、ホストデバイス810および830上のバスアタッチメントは、各々がサービス(S)またはサービスを要求する場合があるクライアント(C)に対応する六角形として示されている。
【００７５】
しかし、場合によっては、埋込みデバイスにはローカルバスルータを実行するのに十分なリソースがない場合がある。したがって、図8Bは、1つまたは複数の埋込みデバイス820、825がホストデバイス(たとえば、ホストデバイス830)に接続して近接度ベースの分散バスに接続することができる近接度ベースの例示的な分散バスを示す。したがって、埋込みデバイス820、825は概して、ホストデバイス830上で実行されているバスルータを「借用して」もよく、図8Bは、埋込みデバイス820、825が、埋込みデバイス820、825が存在する分散バスセグメントを管理する借用されたバスルータを実行するホストデバイス830から物理的に分離される構成を示す。概して、埋込みデバイス820、825とホストデバイス830との間の接続は、伝送制御プロトコル(TCP)に従って行われてもよく、埋込みデバイス820、825とホストデバイス830との間を流れるネットワークトラフィックは、上記に図6および図7に関してさらに詳細に説明したのと同様にそれぞれのセッションを介して流れるバスメソッド、バス信号、および特性を実現するメッセージを含んでもよい。特に、埋込みデバイス820、825は、クライアントとサービスとの間の発見および接続プロセスと概念的に同様であってもよい発見および接続プロセスに従ってホストデバイス830に接続してもよく、ホストデバイス830は、埋込みデバイス820、825をホストする能力または意志をシグナリングする周知の名前を通知してもよい(たとえば、「org.alljoyn.BusNode」)。一使用事例では、埋込みデバイス820、825は、単に、周知の名前を通知する「第1の」ホストデバイスに接続してもよい。しかし、埋込みデバイス820、825は、単に、周知の名前を通知する第1のホストデバイスに接続する場合、そのホストデバイスに関連する種類に関する知識(たとえば、ホストデバイス830がモバイルデバイスであるか、セットトップボックスであるか、アクセスポイントであるか、など)を有さない場合があり、またホストデバイスに関するロードステータスに関する知識を有さない可能性がある。したがって、他の使用事例では、埋込みデバイス820、825は、ホストデバイス810、830が、他のデバイス(たとえば、埋込みデバイス820、825)をホストする能力または意志を通知するときに提供する情報に基づいてホストデバイス830に適応的に接続してもよく、それによって、他のデバイスは、ホストデバイス810、830に関連する特性(たとえば、種類、ロードステータスなど)および/または埋込みデバイス820、825に関連する要件(たとえば、同じ製造業者から得られる、ホストデバイスに接続するための優先権を表すランキングテーブル)に従って近接度ベースの分散バスに参加してもよい。
【００７６】
上述のように、IPベースの技法およびサービスが成熟し、IPのコストを削減しIPの可用性を向上させており、それによって、インターネット接続性をますます多くの種類の日常の電子対象物に付加することが可能になっている。IoTは、コンピュータおよびコンピュータネットワークだけでなく、日常の電子的対象物が、インターネットを介して読取り可能、認識可能、位置特定可能、アドレス指定可能、および制御可能であり得るという発想に基づく。概して、IoTが開発され普及することによって、それぞれに異なる活動を実行しそれぞれに異なる方法で互いに相互作用する多数の近位異種IoTデバイスが、家庭、職場、車中、ショッピングセンター、および様々な他の場所を含む環境においてユーザを囲むようになる。したがって、アプリケーションプロバイダは、ユーザが、ユーザに関連するIoTネットワークおよびその他の適切な個人空間において有し、対話し、かつその他の方法で使用する場合があるいくつかのIoTデバイスおよびその他のものに関するクラウドベースサービスを開発しホストすることを望む場合がある。したがって、以下の説明では、ユーザに関連するIoTネットワークにおけるIoTデバイス用のクラウドベースサービスを動的に発見し、動的に発見されたクラウドベースサービスをユーザに提示するのに使用することができる様々な機構を提示する場合がある。
【００７７】
より詳細には、様々な態様によれば、図9は、ユーザに関連するIoTネットワーク960におけるIoTデバイス用のクラウドベースサービスを発見し発見されたクラウドベースサービスをユーザに提示する場合がある例示的なシステム900を示し、ユーザに関連するIoTネットワーク960は、様々な接続済みの(または能動)IoTネットワークおよび様々な受動IoTデバイスを含んでもよい。たとえば、図9において、IoTネットワーク960は、インターネット975に接続するIoTゲートウェイ940を介して互いに接続しならびに/あるいは通信する場合がある、モバイルフォンIoTデバイス910と、マイクロ波IoTデバイス912と、サーモスタットIoTデバイス914と、冷蔵庫IoTデバイス916とを含んでもよい。しかし、当業者には、図9に示すIoTデバイス910〜916が例示的なものに過ぎず、図9に示すIoTネットワーク960が任意の適切な数のIoTデバイスおよび/またはIoTデバイスの任意の適切な組合せを含んでもよいことが諒解されよう。いずれの場合も、各IoTデバイス910〜916は、IoTゲートウェイ940をピアとして扱い、適切なピアツーピアプロトコルに従ってIoTゲートウェイ940に属性/スキーマ更新を送信してもよく、各IoTデバイス910〜916は、ピアツーピアプロトコル(たとえば、図5〜図8に関連して上記で説明した近接度ベースのピアツーピアプロトコル)に従って他のIoTデバイスとピアとして通信するのに使用できる情報をIoTゲートウェイ940(たとえば、ポインタ)にさらに要求してもよい。したがって、様々な態様によれば、図9に示すIoTネットワーク960は概して、図1A〜図1Eに示すワイヤレス通信システム100A〜100Eに実装されてもよく、ならびに/あるいは図5〜図8に関して上記で説明したピアツーピア通信機構を実装してもよく、それによって、図9に示すシステム900は、図1〜図8に関して上記で説明した構成要素および機能と同じでありならびに/あるいは実質的に同様である様々な構成要素および機能を含んでもよい。したがって、説明を簡潔かつ容易にするために、本明細書では、図9に示すシステム900に実装されたいくつかの構成要素および機能に関する様々な細部は、同じ、または類似の細部がすでに先に提示されている限り省略される。
【００７８】
例示的な一態様によれば、1つまたは複数のクラウドサービスプロバイダ(たとえば、クラウドサービスプロバイダ990a、990b、990n)は、特定のIoTデバイス用の1つまたは複数のクラウドベースサービスを開発し、開発されたクラウドベースサービスに特定の基準をタグ付けしてもよい。より詳細には、様々な実施形態では、クラウドベースサービスには、クラウドベースサービスの開発対象であるIoTデバイスを示す1つまたは複数のデバイスクラスがタグ付けされてもよい。たとえば、様々な実施形態では、任意の特定のIoTデバイスが汎用デバイスクラスおよび/または1つまたは複数の特定のデバイスクラスに属してもよく、特定のデバイスクラスは、IoTデバイスに関連する特定の機能またはその他の特徴を示す場合がある(たとえば、図9に示すIoTネットワーク960では、冷蔵庫IoTデバイス916は汎用「冷蔵庫」デバイスクラスおよびより特定的な「フリーザーレス」デバイスクラスに属する場合がある)。さらに、各汎用デバイスクラスおよび各々の特定のデバイスクラスは、いくつかの機能をエクスポーズすることがある1つまたは複数の周知のインターフェースを有してもよく、クラウドサービスプロバイダ990a〜990nは、これらの機能を使用してある汎用デバイスクラスおよび/または特定のデバイスクラスに属するIoTデバイスをサポートするためのサービスを構築するかまたはその他の方法で開発してもよい。たとえば、様々な実施形態では、クラウドサービスプロバイダ990aは、冷蔵庫インベントリに基づいてレシピオプションを提供することのできるサービスを構築してもよく、このサービスは、ディスプレイ機能を有する冷蔵庫に使用することのできるさらなるオプションまたは機能を提供してもよい。
【００７９】
様々な実施形態では、クラウドサービスプロバイダ990a〜990nは次いで、開発したクラウドベースサービスを1つまたは複数のクラウドサービスパブリッシャに発表してもよい。たとえば、図9に示すように、クラウドサービスプロバイダ990a、990b、および990nは開発したクラウドベースサービスを第1のクラウドサービスパブリッシャ980aに発表してもよく、一方、他のクラウドサービスプロバイダ(図示せず)はそのクラウドベースサービスを別のクラウドサービスパブリッシャ980nに発表してもよい。したがって、IoTゲートウェイ940は、ユーザに関連するIoTネットワーク960における様々なIoTデバイス910〜916に関連する汎用デバイスクラスおよび/または特定のデバイスクラスを発見し、クラウドサービスパブリッシャ980a〜980nから発見された汎用デバイスクラスおよび/または特定のデバイスクラスに利用可能なホストされるクラウドベースサービスを発見し、次いで、発見されたクラウドベースサービスをユーザに提示してもよい。したがって、1つまたは複数のクラウドサービスパブリッシャ980がIoTゲートウェイ940においてプロビジョニングされてもよく、IoTゲートウェイ940は、プロビジョニングされたクラウドサービスパブリッシャ980からホストされるクラウドベースサービスを周期的に発見し、利用可能な最新のクラウドベースサービスを判定してもよい。さらに、IoTゲートウェイ940は、クラウドサービスパブリッシャ980との対話に基づいて同じ機能または実質的に同様な機能に関して提示される複数のクラウドベースサービスを発見してもよい(たとえば、特定のクラウドサービスパブリッシャ980は、IoTゲートウェイ940に応答する際に同様の機能を有するクラウドベースサービスをグループ分けし、クラウドベースサービスを診断サービス、分析サービス、ストリーミングサービスなどの様々な範疇にグループ分けし、それによって、クラウドサービスプロバイダ990から発表される新しいサービスが範疇のうちの1つまたは複数に割り当てられるようにしてもよい)。さらに、図9には別個のエンティティとして示されているが、当業者には、任意の特定のクラウドサービスパブリッシャ980がクラウドサービスプロバイダ990として働いてもよいことが諒解されよう。
【００８０】
様々な実施形態では、IoTゲートウェイ940は次いで、IoTネットワーク960における様々なIoTデバイス910〜916に関連する汎用デバイスクラスおよび/または特定のデバイスクラスならびに発見された汎用デバイスおよび/または特定のデバイスクラスに利用可能なホストされるクラウドベースサービスを適切に発見したことに応答して、発見されたクラウドベースサービスをIoTネットワーク960に関連するユーザに提示してもよい(たとえば、IoTゲートウェイ940は、冷蔵庫IoTデバイス916および/またはパントリーにおけるインベントリに基づくレシピオプションの提供、革張り家具に関する保証の確保、機器の予防的な監視および診断などのためのクラウドベースサービスを発見し提示してもよい)。たとえば、様々な実施形態において、クラウドベースの予防的な監視および診断サービスは、給湯器IoTデバイス(図示せず)に関連する状態情報を周期的に問い合わせ、経時的に収集された状態情報に基づいて考えられる問題を特定してもよく、このことは、早期のインシンデント検出によって給湯器IoTデバイスに対する重大な損傷を防止するうえで有用である場合がある。別の例において、クラウドベース使用状況分析サービスは、空調および加熱システムに関連する状態情報を周期的に問い合わせてもよく、このことは、水道光熱費を管理しまたは場合によっては使用パターンを監視するうえで有用である場合がある。さらに、IoTゲートウェイ940によってユーザに提示されるクラウドベースサービスは有料である場合も無料である場合もある。いずれの場合も、ユーザは、IoTゲートウェイ940によって提示される任意のクラウドベースサービスを要求するかまたはその他の方法で利用するかを決定してもよく、ユーザが任意のクラウドベースサービスを要求する場合、IoTゲートウェイ940は適切なクラウドサービスパブリッシャ980と対話して要求されたクラウドベースサービスを呼び出してもよい。たとえば、様々な実施形態では、IoTゲートウェイ940は、対応するデバイスクラスにおけるIoTデバイス910〜916から要求されたクラウドベースサービスを呼び出すために必要とされることがある任意のデータをフェッチしてもよく、クラウドベースサービスは、対応するデバイスクラスがエクスポーズするインターフェースを使用して、IoTデバイス910〜916がエクスポーズする特性/アクションに対する適切な取得/設定動作を実行してもよい。さらに、(たとえば、クラウドサービスパブリッシャ980とクラウドサービスプロバイダ990が異なるエンティティである)いくつかの使用事例では、クラウドサービスパブリッシャ980は、要求されたクラウドベースサービスを呼び出すために要求されたクラウドベースサービスをホストするクラウドサービスプロバイダ990に接続してもよい。
【００８１】
様々な実施形態では、IoTゲートウェイ940が実行するクラウドベースサービス発見は、汎用デバイスクラスおよび/または特定のデバイスクラスに加えて、IoTネットワーク960におけるIoTデバイス910〜916から取得される使用状況、コンテキスト、およびその他の状態情報、ユーザに関連するプロファイル、様々なユーザ間の関連付け(たとえば、様々なユーザとIoTネットワーク960、友人、またはその他のピアユーザとの関連付け)、場所またはその他の個人空間関連付け、時間的関連付け、ランキング、および/または集合的にN組の情報と呼ばれることもあるIoTネットワーク960に関する関連するリアルタイムの知識を提供する場合がある他の適切な情報源にさらに依存することがある。たとえば、N組の情報が、ユーザが通常(コーヒー豆ではなく)香辛料および種子をすり潰すのにIoTネットワーク960におけるコーヒーグラインダを使用することを示す使用状況情報を含む場合、IoTゲートウェイ940は、それらの香辛料および種子ならびにそれらの香辛料および種子を使用するレシピに関連する利点を提示する場合があるクラウドベースサービスを発見してもよい。別の例では、N組の情報が、頻繁に使用される革張りユニット式ソファを有することを示す使用状況情報を含む場合、IoTゲートウェイ940は、家具の保険を提示する場合があるクラウドベースサービスを発見してもよい。状態情報に関して、IoTゲートウェイ940は、電気掃除機が、カーペットを専門の業者に清掃してもらう必要があると報告したことに応答してユーザをカーペット清掃サービスに接続するか、または給湯器が漏れを報告したことに応答してユーザを地元の配管サービスに接続してもよい。ユーザプロファイルに関して、IoTゲートウェイ940は、ユーザが幼児を有することを示すユーザプロファイル情報に応答して、ユーザに関連する第1の言語における童謡を提示するクラウドベースオーディオストリーミングサービスまたはユーザの第1の言語における教育ビデオを提示するビデオストリーミングサービスにユーザを接続してもよい。さらに、クラウドサービスパブリッシャ980および/またはクラウドサービスプロバイダ990を通じて利用可能なクラウドベースサービスは、クラウドベースサービスを消費する予定のIoTデバイスに関連する特定の機種型式情報がタグ付けされてもよく、IoTゲートウェイ940は、デバイス機種型式タグを使用して、IoTネットワーク960に関連するユーザに提示すべき適切なクラウドベースサービスを発見してもよい。さらに、クラウドベースサービスには、(たとえば、クラウドベースサービスにタグ付けするのに使用されるデバイスクラスに加えてならびに/あるいはそのようなデバイスクラスの他に)クラウドベースサービスが必要とする任意の必要な機能および/または省略可能な機能がタグ付けされてもよい。したがって、IoTゲートウェイ940が実行するクラウドベースサービス発見はさらに、クラウドサービスパブリッシャ980および/またはクラウドサービスプロバイダ990を通じて利用可能なクラウドベースサービスに関連付けられたタグに基づいてもよい。
【００８２】
様々な実施形態では、IoTネットワーク960におけるクラウドサービスプロバイダ990、クラウドサービスパブリッシャ980、IoTゲートウェイ940、およびIoTデバイス910〜916は、共通のデバイスクラス辞書または他の適切なセマンティクスを使用してそれらの間の通信を容易にしかつ簡略化してもよく、共通のデバイスクラス辞書または他の適切なセマンティクスは、クラウドベースサービスの提供に関与する様々な当事者間で定義されかつ合意されてもよい。たとえば、様々な実施形態では、各クラウドベースサービスは、逆ドメイン形式サービス名に従って識別されてもよく、各サービス名は、同じサービスに対応する複数のインスタンス同士を区別するためのグローバル一意識別子(GUID)を端部に有してもよい(たとえば、Searsから利用可能な冷蔵庫診断サービスの各インスタンスは、com.sears.refrigerator.diagnostics.<service_GUID>syntaxに従って名前付けされてもよい)。したがって、様々な実施形態では、IoTゲートウェイ940は、発見されたクラウドベースサービスならびにデバイスクラス、機能、および/またはIoTネットワーク960に関連する他の適切なN組の情報をタグ付けするのに使用されるメタデータに従ってIoTネットワーク960におけるIoTデバイス910〜916ごとに関連するクラウドベースサービスをフィルタリングしてもよく、フィルタリングされたクラウドベースサービスは次いで、IoTネットワーク960におけるIoTデバイス910〜916に提示されてもよい。したがって、様々な実施形態では、IoTネットワーク960におけるIoTデバイス910〜916は、(ユーザが選択する関連するクラウドサービスではなくならびに/あるいはそのようなクラウドサービスに加えて)1つまたは複数の関連するクラウドサービスを選択してもよく、IoTデバイス910〜916は、特にデバイス製造業者、クラウドベースサービスを利用可能にするためのクラウドサービスプロバイダ990および/またはクラウドサービスパブリッシャ980、利用可能なクラウドベースサービスに関連する機能、ならびに/あるいは他のIoTデバイス910〜916との協働または共同に関する基準に基づく関連するクラウドサービスを選択してもよい。たとえば、様々な実施形態では、Sears洗濯機は、LGまたは他の何らかの製造業者ではなくSearsを通じて提示されるクラウドベース診断サービスを選択してもよい。別の例では、2つのクラウドベースサービスプロバイダ990が特定のIoTデバイス910〜916に関連する診断サービスを提示し、どちらのクラウドベースサービスプロバイダ990もIoTデバイス910〜916に関連する製造業者と一致しない場合、より頻繁に実行される診断サービスが選択されてもよい(たとえば、毎日の診断サービスまたは毎週の診断サービス)。
【００８３】
様々な実施形態では、IoTデバイス910〜916は、特定のクラウドベースサービスを選択した後、選択されたクラウドベースサービスをIoTゲートウェイ940を通じて要求してもよく、それによって、ユーザが要求したクラウドベースサービスに関して上記で説明した方法と類似の方法で要求されたクラウドベースサービスを呼び出してもよい。さらに、様々な実施形態では、特定のクラウドベースサービスは、IoTデバイス910〜916が要求したクラウドベースサービスをプロビジョニングするかまたは場合によってはアクティブ化する前にユーザからの明示的または暗黙的な承認を必要とすることがあり、その場合、IoTゲートウェイ940は、そのようなクラウドベースサービスをアクティブ化する前にユーザからの承認を要求し、ユーザが承認を示すか否かに応じてそのようなクラウドベースサービスの拒絶またはプロビジョニングを行ってもよい。代替的に(または追加的に)、特定のクラウドベースサービスは、IoTゲートウェイ940に関連する構成に基づいて自動的にアクティブ化されてもよい。たとえば、様々な実施形態では、ユーザは、無料であるかあるいはコストが特定のしきい値よりも低い、IoTデバイス910〜916によって選択されたクラウドベースサービス(たとえば、月当たり$Xまたは年当たり$Yなどの特定のしきい値よりも低い経常費を有するクラウドベースサービス、特定の値よりも低い一時的費用を有するクラウドベースサービスなど)を、自動的にアクティブ化することができるようにIoTゲートウェイ940を構成してもよい。
【００８４】
様々な実施形態では、上述のように、IoTネットワーク960において提示される関連するクラウドサービスを選択するのに使用される基準をIoTデバイス910〜916が協働または共同して決定することができるようにIoTデバイス910〜916間の協働または共同が有効化されてもよい。このコンテキストでは、各IoTデバイス910〜916は、IoTゲートウェイ940およびIoTネットワーク960におけるその他のIoTデバイス910〜916に通知側IoTデバイス910〜916に関する情報(たとえば、デバイス製造業者、機種、型式など、デバイス名、サポートされるインターフェース、サポートされる機能など)を伝えるために特定のサービスを通じて関連付けられた情報を通知してもよい。さらに、様々な実施形態では、通知される情報は、通知側IoTデバイス910〜916がすでに選択した特定のクラウドベースサービスを示してもよく、選択されたクラウドベースサービスに関連する名前、クラウドサービスプロバイダ990、およびメタデータ(たとえば、デバイスクラス、機種、型式など)を含んでもよい。したがって、新しいIoTデバイス910〜916は、IoTネットワーク960に登録されるかまたは他の方法で参加したときに、IoTネットワーク960における他のIoTデバイスから(たとえば、マルチキャストサービスを介して)通知される情報を取得し、通知された情報を使用して、新しいIoTデバイス910〜916自体のクラウドベースサービスを選択する際に使用される基準を(たとえば、同様のIoTデバイス910〜916がすでに選択しているクラウドベースサービスに基づいて)決定してもよい。たとえば、Sears洗濯機/乾燥機がSearsを通じて利用可能なクラウドベース診断サービスを選択している場合、KitchenAid食器洗い機は、すべての診断サービスが同じサービスプロバイダを通じて管理されるように製造業者の違いにかかわらず同じサービスを選択することを決定してもよい。
【００８５】
様々な態様によれば、図10は、ユーザに関連するIoTネットワークにおけるクラウドベースサービスを発見して提示するための例示的な方法1000を示す図である。特に、IoTネットワークは、IoTゲートウェイと1つまたは複数のIoTデバイスとを含んでもよく、IoTネットワークにおける各IoTデバイスは、IoTゲートウェイをピアと見なし、ブロック1010においてIoTゲートウェイがIoTデバイスに関する情報を発見できるように適切なピアツーピアプロトコルに従ってIoTゲートウェイに属性/スキーマ更新を送信してもよい。さらに、各IoTデバイスは、ピアツーピアプロトコルに従って他のIoTデバイスとピアとして通信するのに使用できる情報をIoTゲートウェイ(たとえば、ポインタ)にさらに要求してもよい。様々な実施形態では、各IoTデバイスは、汎用デバイスクラスおよび/または1つまたは複数の特定のデバイスクラスに属してもよく、特定のデバイスクラスは、そのIoTデバイスに関連する特定の機能または他の特徴を示してもよい。さらに、各汎用デバイスクラスおよび各々の特定のデバイスクラスは、いくつかの機能をエクスポーズすることがある1つまたは複数の周知のインターフェースを有してもよく、クラウドサービスプロバイダは、これらの機能を使用してある汎用デバイスクラスおよび/または特定のデバイスクラスに属するIoTデバイスをサポートするためのサービスを構築するかまたはその他の方法で開発してもよい。たとえば、様々な実施形態では、クラウドサービスプロバイダは、冷蔵庫インベントリに基づいてレシピオプションを提供することのできるサービスを構築してもよく、このサービスは、ディスプレイ機能を有する冷蔵庫に使用することのできるさらなるオプションまたは機能を提供してもよい。したがって、ブロック1010において、IoTゲートウェイは、ユーザに関連するIoTネットワークにおける様々なIoTデバイスに関連する汎用デバイスクラスおよび/または特定のデバイスクラスを発見し、ブロック1020において、クラウドサービスパブリッシャから発見された汎用デバイスクラスおよび/または特定のデバイスクラスに利用可能なホストされるクラウドベースサービスをさらに発見してもよい。たとえば、様々な実施形態では、1つまたは複数のクラウドサービスパブリッシャがIoTゲートウェイにおいてプロビジョニングされてもよく、IoTゲートウェイは、ブロック1020において、プロビジョニングされたクラウドサービスパブリッシャからホストされるクラウドベースサービスを周期的に発見し、利用可能な最新のクラウドベースサービスを判定してもよい。さらに、IoTゲートウェイ940は、クラウドサービスパブリッシャとの対話に基づいて同じ機能または実質的に同様の機能に関して提示される複数のクラウドベースサービスを発見してもよい。様々な実施形態では、IoTゲートウェイは、IoTネットワークにおける様々なIoTデバイスに関する情報およびIoTネットワークにおけるIoTデバイスに関する発見された情報がタグ付けされたクラウドベースサービスを発見した後、ブロック1030において、発見されたクラウドベースサービスをIoTネットワーク内で提示してもよい。
【００８６】
様々な態様によれば、図11は、IoTネットワークにおいて提示されたクラウドベースサービスを呼び出すための要求をサービスするための例示的な方法1100を示す図である。より詳細には、IoTゲートウェイまたはIoTネットワークにおける他の適切なデバイスがIoTネットワークにおいて提示すべき1つまたは複数のクラウドベースサービスを発見した後、IoTゲートウェイは、ブロック1110においてIoTネットワーク内で提示された発見されたクラウドベースサービスのうちの1つまたは複数を呼び出すかまたは他の方法で利用するための要求を受信してもよく、IoTネットワークに関連するユーザおよび/またはIoTネットワーク内のIoTデバイスが、IoTゲートウェイがブロック1110において受信する要求を開始してもよい。様々な実施形態では、IoTゲートウェイは次いで、ブロック1120において要求されたクラウドベースサービスを自動アクティブ化すべきかどうかを判定してもよい。たとえば、様々な実施形態では、IoTゲートウェイは、無料または特定のコストよりも安い料金で利用できる要求されたクラウドベースサービス(たとえば、月当たり$Xまたは年当たり$Yなどの特定のしきい値よりも低い経常費を有するクラウドベースサービス、特定の値よりも低い一時的費用を有するクラウドベースサービス)を、自動的にアクティブ化することができるように構成されてもよい。さらに、様々な実施形態では、IoTゲートウェイは、特定のクラウドベースサービス(たとえば、IoTデバイスが要求を開始する任意のクラウドベースサービス、自動アクティブ化しきい値以上の経常費および/または一時的費用を有するクラウドベースサービス)をプロビジョニングするかまたは他の方法でアクティブ化するうえで明示的または暗黙的な承認が必要になるように構成されてもよい。したがって、IoTゲートウェイは、要求されたクラウドベースサービスを自動的にアクティブ化できると判定したことに応答して、ブロック1130において、要求されたクラウドベースサービスを呼び出すのに必要になることがある任意のデータをIoTデバイスからフェッチし(たとえば、対応するデバイスクラスがエクスポーズするインターフェースを使用してIoTデバイスがエクスポーズする特性/アクションに対して適切な取得/設定動作を実行し)、ブロック1140において、フェッチされたデータを適切なクラウドベースサービスに渡し、それによって要求されたクラウドベースサービスを呼び出し、ブロック1150において、呼び出されたクラウドベースサービスからの結果をIoTネットワーク内のIoTデバイスに返してもよい。しかし、要求されたクラウドベースサービスがユーザからの暗黙的または明示的な承認を必要とする場合、ブロック1160は、要求されたクラウドベースサービスをアクティブ化するかまたは他の方法でクラウドベースサービスを呼び出すための手順を開始する前にユーザからの承認を要求することを含んでもよい。IoTゲートウェイは、ブロック1170において要求が承認されたと判定したことに応答して、上述のようにブロック1030、1040、1050において、適切なIoTデバイスに接続して、要求されたクラウドベースサービスを呼び出すのに必要なデータをフェッチし、フェッチされたデータを適切なクラウドベースサービスに渡して要求されたクラウドベースサービスを呼び出し、呼び出されたクラウドベースサービスからの結果をIoTネットワーク内のIoTデバイスに返してもよい。しかし、IoTゲートウェイは、ブロック1170において要求が承認されなかったと判定したことに応答して、ブロック1180において要求を拒絶してもよい。
【００８７】
様々な態様によれば、図12は、本明細書で開示する様々な態様および実施形態による、発見可能なP2Pサービスを使用して近接度ベースの分散バスを介して通信する場合がある例示的な通信デバイス1200を示す図である。たとえば、様々な実施形態では、図12に示す通信デバイス1200は、IoTネットワーク内のクラウドベースサービス、IoTネットワークにおける1つまたは複数のIoTデバイスなどを発見して提示するIoTゲートウェイに対応してもよい。図12に示すように、通信デバイス1200は、たとえば、受信アンテナ(図示せず)から信号を受信し、受信信号に典型的なアクション(たとえばフィルタ処理、増幅、ダウンコンバートなど)を実行し、条件付きの信号をデジタル化してサンプルを取得するレシーバ1202を備えてもよい。レシーバ1202は、受信されたシンボルを復調し、復調されたシンボルをチャネル推定のためにプロセッサ1206に提供することができる復調器1204を備えてもよい。プロセッサ1206については、レシーバ1202によって受信された情報の分析および/またはトランスミッタ1220によって送信される情報の生成専用に使用すること、通信デバイス1200の1つまたは複数の構成要素を制御すること、ならびに/あるいはそれらの任意の適切な組合せが可能であってもよい。
【００８８】
様々な実施形態では、通信デバイス1200は、プロセッサ1206に動作可能に結合されたメモリ1208をさらに備えることができ、メモリ1208は、受信されたデータ、送信すべきデータ、利用可能なチャネルに関連する情報、分析された信号および/または干渉強度に関連するデータ、割り当てられたチャネル、電力、レートなどに関連する情報、およびチャネルを推定し、チャネルを介して通信するための任意の他の適切な情報を記憶することができる。様々な実施形態では、メモリ1208は、1つまたは複数のローカルエンドポイントアプリケーション1210を含むことができ、ローカルエンドポイントアプリケーション1210は、分散バスモジュール1230を通じた通信デバイス1200および/または他の通信デバイス(図示せず)上のエンドポイントアプリケーション、サービスなどとの通信を求めてもよい。メモリ1208は、(たとえば、性能ベース、容量ベースなど)チャネルの推定および/またはチャネルの使用に関連付けられたプロトコルおよび/またはアルゴリズムをさらに記憶することができる。
【００８９】
当業者には、本明細書で説明するメモリ1208が、揮発性メモリもしくは不揮発性メモリであることが可能であり、または揮発性と不揮発性の両方のメモリを含むことが可能であることが諒解されよう。限定ではなく例として、不揮発性メモリは、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能PROM(EEPROM)、またはフラッシュメモリを含むことができる。揮発性メモリは、外部キャッシュメモリとして働くランダムアクセスメモリ(RAM)を含むことができる。限定ではなく例として、RAMは、同期RAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)、およびダイレクトRambus RAM(DRRAM（登録商標）)などの多くの形で使用可能である。対象のシステムおよび方法におけるメモリ1208は、それだけに限定されないが、これらの種類のメモリおよび任意の他の適切な種類のメモリを備えてもよい。
【００９０】
様々な実施形態では、通信デバイス1200に関連する分散バスモジュール1230は、他のデバイスとの接続を確立するのをさらに容易にすることができる。分散バスモジュール1230は、分散バスモジュール1230が複数のデバイス間の通信を管理するのを助けるためのバスノードモジュール1232をさらに備えてもよい。様々な実施形態では、バスノードモジュール1232は、バスノードモジュール1232が他のデバイスに関連するエンドポイントアプリケーションと通信するのを助けるためのオブジェクト命名モジュール1234をさらに含んでもよい。さらに、分散バスモジュール1230は、ローカルエンドポイントアプリケーション1210が確立された分散バスを通じて他のローカルエンドポイントおよび/または他のデバイス上のアクセス可能なエンドポイントアプリケーションと通信するのを助けるためのエンドポイントモジュール1236を含んでもよい。別の態様では、分散バスモジュール1230は、複数の利用可能なトランスポート(たとえば、Bluetooth（登録商標）、Unixドメインソケット、TCP/IP、Wi-Fiなど)を介したデバイス間通信および/またはデバイス内通信を容易にしてもよい。したがって、様々な実施形態では、分散バスモジュール1230およびエンドポイントアプリケーション1210を使用して、通信デバイス1200が直接デバイス間(D2D)通信を使用して通信デバイス1200に近接する他の通信デバイスと通信することができる近接度ベースの分散バスを確立しならびに/あるいはそのような近接度ベースの分散バスに参加してもよい。
【００９１】
さらに、様々な実施形態では、通信デバイス1200は、ユーザインターフェース1240を含んでもよく、ユーザインターフェース1240は、通信デバイス1200への入力を生成するための1つまたは複数の入力機構1242と、通信デバイス1200のユーザによって消費される情報を生成するための1つまたは複数の出力機構1244とを含んでもよい。たとえば、入力機構1242は、キーまたはキーボード、マウス、タッチスクリーンディスプレイ、マイクロフォンなどの機構を含んでもよい。さらに、たとえば、出力機構1244は、ディスプレイ、オーディオスピーカ、触覚フィードバック機構、パーソナルエリアネットワーク(PAN)送受信機などを含んでもよい。図示した態様では、出力機構1244は、メディアコンテンツをオーディオ形式にレンダリングするように動作可能なオーディオスピーカ、メディアコンテンツの画像フォーマットもしくはビデオフォーマットへのレンダリングおよび/または時限メタデータのテキスト形式または視覚形式へのレンダリングを行うように動作可能なディスプレイ、あるいは他の適切な出力機構を含んでもよい。しかし、様々な実施形態では、ヘッドレス通信デバイス1200は、一般にモニタ、キーボード、および/またはマウスなしで動作するように構成されたコンピュータシステムまたはデバイスを指すので、いくつかの入力機構1242および/または出力機構1244を含まなくてもよい。
【００９２】
情報および信号が多種多様な異なる技術および技法のいずれかを使用して表すことができることを、当業者は理解されよう。たとえば上記説明全体を通して参照することができるデータ、命令、指令、情報、信号、ビット、記号およびチップは、電圧、電流、電磁波、磁界または粒子、光学場または粒子、あるいはそれらの任意の組合せによって表すことができる。
【００９３】
さらに、本明細書で開示する態様に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者は理解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、一般的にそれらの機能性に関してこれまで説明されてきた。そのような機能性がハードウェアとして実現されるか、またはソフトウェアとして実現されるかは、具体的な適用例および全体的なシステムに課される設計制約によって決まる。当業者は、記載された機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本明細書に記載された態様および/または実施形態の範囲から逸脱するものと解釈されるべきではない。
【００９４】
本明細書に開示する態様と関連して説明する様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途用集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブルロジックデバイス、個別のゲートもしくはトランジスタロジック、個別のハードウェア部品、または本明細書に記載した機能を行うように設計されたこれらの任意の組合せを用いて、実装または実行され得る。汎用プロセッサを、マイクロプロセッサとすることができるが、代替案では、プロセッサを、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることができる。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成)として実装され得る。
【００９５】
本明細書において開示する態様に関連して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接具現され得る。ソフトウェアモジュールは、RAM、フラッシュメモリ、ROM、EPROM、EEPROM、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読取り、そこに情報を書込みできるようにプロセッサに結合される。代替案では、記憶媒体は、プロセッサに一体とされ得る。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICはIoTデバイス内に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別の構成要素として存在し得る。
【００９６】
1つまたは複数の例示的な態様では、述べられる機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで、実施され得る。ソフトウェアに実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、または、コンピュータ可読媒体を介して送信される場合がある。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできるすべての使用可能な媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク(disc)ストレージ、磁気ディスク(disk)ストレージもしくは他の磁気ストレージデバイス、あるいは命令もしくはデータ構造の形で所望のプログラムコードを担持しまたは記憶するのに使用でき、コンピュータによってアクセスできる任意の他の媒体を含むことができる。また、任意の接続は、適切にコンピュータ可読媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、CD、レーザディスク(disc)、光ディスク(disc)、DVD、フロッピーディスク(disk)およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。前述の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００９７】
上記の開示は、例示的な態様および実施形態を示しているが、添付の特許請求の範囲によって定義されるような本開示の範囲から逸脱することなく、本明細書において様々な変更および修正を施すことが可能であることが、当業者には諒解されよう。本明細書で説明した態様および実施形態による方法クレームの機能、ステップおよび/または動作は、特定の順序で実施される必要はない。さらに、要素は、単数形で上に記載または特許請求されている場合があるが、単数形に限定することが明示的に述べられていない限り、複数形が考えられる。
【符号の説明】
【００９８】
100A、100B、100C  ワイヤレス通信システム
105  受動IoTデバイス
108  エアインターフェース
109  直接有線接続
110  テレビジョン、IoTデバイス
112  屋外空調機、IoTデバイス
114  温度自動調整器、IoTデバイス
116  冷蔵庫、IoTデバイス
116A、116B  IoTデバイス
118  洗濯機および乾燥機、IoTデバイス
120  コンピュータ
122A、122B  IoTデバイス
124A、124B  IoTデバイス
125  アクセスポイント
130  IoTマネージャ、スーパーバイザデバイス
140、140A、140B  IoT SuperAgent
145  ゲートウェイ機能
152  アプリケーションレイヤ
154  CMPレイヤ
156  トランスポートレイヤ
158  物理レイヤ
160  IoTグループ、IoTデバイスグループ
160A、160B  IoTデバイス
170  IoTサーバ
175  インターネット
180  リソース
200A  IoTデバイス
202  プラットフォーム
206  トランシーバ
208  プロセッサ
210  カメラ
212  メモリ
214  入出力(I/O)インターフェース
222、224A、224B  ボタン
226  ディスプレイ
300  通信デバイス
305  論理
310  論理
315  論理
320  論理
325  論理
400  サーバ
401  プロセッサ
402  揮発性メモリ
403  ディスクドライブ
404  ネットワークアクセスポート
406  ディスクドライブ
407  ネットワーク
500  ワイヤレス通信ネットワーク、WAN、ワイヤレスネットワーク
510、510a、510b、510c  基地局
520  デバイス
530  ネットワークコントローラ
540  DHCPサーバ
600  例示的な環境
610  第1のデバイス
612  分散バスノード
614  ローカルエンドポイント
620  第2のデバイス
622  分散バスノード
624  ローカルエンドポイント
625  分散バス、仮想分散バス
630  第3のデバイス
632  分散バスノード
634  ローカルエンドポイント
700  例示的なメッセージシーケンス
710  第1のデバイス、デバイスA
712  バスノード
714  ローカルエンドポイント
720  第2のデバイス、デバイスB
722  バスノード
724  ローカルエンドポイント
810  ホストデバイス
820  埋込みデバイス
830  第2のホストデバイス
900  システム
910  モバイルフォンIoTデバイス
912  マイクロ波IoTデバイス
914  サーモスタットIoTデバイス
916  冷蔵庫IoTデバイス
940  IoTゲートウェイ
960  IoTネットワーク
980  クラウドサービスパブリッシャ
980a  クラウドサービスパブリッシャ
990  クラウドサービスプロバイダ
990a  クラウドサービスプロバイダ
1200  通信デバイス
1202  レシーバ
1204  変調器
1206  プロセッサ
1208  メモリ
1210  ローカルエンドポイントアプリケーション
1220  トランスミッタ
1230  分散バスモジュール
1232  バスノードモジュール
1234  オブジェクト命名モジュール
1236  ローカルエンドポイントモジュール
1240  ユーザインターフェース
1242  入力機構
1244  出力機構
【図１Ａ】
2017503243.tif 000003
【図１Ｂ】
2017503243.tif 000004
【図１Ｃ】
2017503243.tif 000005
【図１Ｄ】
2017503243.tif 000006
【図１Ｅ】
2017503243.tif 000007
【図２Ａ】
2017503243.tif 000008
【図２Ｂ】
2017503243.tif 000009
【図３】
2017503243.tif 000010
【図４】
2017503243.tif 000011
【図５】
2017503243.tif 000012
【図６】
2017503243.tif 000013
【図７】
2017503243.tif 000014
【図８Ａ】
2017503243.tif 000015
【図８Ｂ】
2017503243.tif 000016
【図９】
2017503243.tif 000017
【図１０】
2017503243.tif 000018
【図１１】
2017503243.tif 000019
【図１２】
2017503243.tif 000020
【手続補正書】
【提出日】平成28年5月31日(2016.5.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザに関連するモノのインターネット(IoT)ネットワークにおけるIoTデバイス用のクラウドベースサービスを発見するための方法であって、
IoTゲートウェイデバイスにおいて、前記ユーザに関連する前記IoTネットワークにおける前記IoTデバイスに関する情報を発見するステップであって、前記発見される情報は、前記IoTネットワークにおける前記IoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含むステップと、
前記IoTゲートウェイデバイスにおいて、1つまたは複数のクラウドベースサービスをホスティングする1つまたは複数のクラウドサービスパブリッシャとの対話を通じて、前記IoTネットワークにおける前記IoTデバイスに関連する前記1つまたは複数のデバイスクラスに利用可能な前記1つまたは複数のクラウドベースサービスを発見するステップと、
前記IoTゲートウェイデバイスによって、前記IoTネットワーク内で前記発見されたクラウドベースサービスを提示するステップとを含む方法。
【請求項２】
前記1つまたは複数のクラウドベースサービスは、前記1つまたは複数のクラウドベースサービスに必要な1つまたは複数の必要なデバイス機能、前記1つまたは複数のクラウドベースサービスに関する1つまたは複数の任意のデバイス機能、および前記1つまたは複数のクラウドベースサービスを消費することを目的として構成されたIoTデバイスに関連する特定の機種および型式を示すメタデータがさらにタグ付けされる、請求項1に記載の方法。
【請求項３】
前記IoTネットワークにおける前記IoTデバイスに関連する前記発見されたクラウドベースサービスおよび1つまたは複数の機能をタグ付けするのに使用されるメタデータに従って前記IoTネットワーク内で提示される前記発見されたクラウドベースサービスをフィルタリングするステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記IoTネットワーク内で提示された前記発見されたクラウドベースサービスのうちの第1の発見されたクラウドベースサービスを呼び出すための要求に応答して少なくとも前記第1のクラウドベースサービスを呼び出すステップをさらに含む、請求項1に記載の方法。
【請求項５】
前記第1のクラウドベースサービスを呼び出すステップは、
前記第1のクラウドベースサービスに関連する任意の必要なデータをフェッチするために前記IoTネットワークにおける前記IoTデバイスのうちの少なくとも1つに接続するステップと、
前記第1のクラウドベースサービスをホスティングする前記クラウドサービスパブリッシャ、前記第1のクラウドベースサービスを開発したクラウドサービスプロバイダ、またはそれらの組合せのうちの1つに前記フェッチされたデータを渡すステップとを含む、請求項4に記載の方法。
【請求項６】
前記ユーザは、前記IoTネットワークにおいて提示された前記第1のクラウドベースサービスを呼び出すための前記要求を開始する、請求項4に記載の方法。
【請求項７】
前記IoTネットワークにおける前記IoTデバイスのうちの少なくとも1つは、前記第1のクラウドベースサービスを呼び出すための前記要求を開始する、請求項4に記載の方法。
【請求項８】
前記少なくとも1つのIoTデバイスによって要求された前記第1のクラウドベースサービスをアクティブ化する前に前記ユーザからの承認を要求するステップをさらに含む、請求項7に記載の方法。
【請求項９】
前記第1のクラウドベースサービスが無料であるかまたはコストがしきい値よりも低いと判定したことに応答して前記少なくとも1つのIoTデバイスによって要求された前記第1のクラウドベースサービスを自動的にアクティブ化するステップをさらに含む、請求項7に記載の方法。
【請求項１０】
前記IoTネットワークにおける前記IoTデバイスに関する前記発見された情報は、少なくとも前記IoTネットワークにおける前記IoTデバイスに関連する使用状況情報、前記IoTネットワークにおける前記IoTデバイスに関連する状態情報、前記ユーザに関連するプロファイル、またはそれらの組合せをさらに含む、請求項1に記載の方法。
【請求項１１】
前記1つまたは複数のクラウドベースサービスは、前記IoTネットワークにおける前記IoTデバイスに関連する前記使用状況情報、前記IoTネットワークにおける前記IoTデバイスに関連する前記状態情報、前記ユーザに関連する前記プロファイル、またはそれらの組合せのうちの少なくとも1つに対応するメタデータがタグ付けされる、請求項10に記載の方法。
【請求項１２】
前記IoTネットワークにおいて提示された前記クラウドベースサービスを選択するのに使用される基準を決定するために前記IoTネットワークにおける前記IoTデバイスが互いに共同するのを可能にするステップをさらに含む、請求項1に記載の方法。
【請求項１３】
モノのインターネット(IoT)ゲートウェイデバイスであって、
IoTネットワークにおける1つまたは複数のIoTデバイスに関する情報を発見することであって、前記発見される情報は、前記IoTネットワークにおける前記IoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含むことと、1つまたは複数のクラウドベースサービスをホスティングするように構成された1つまたは複数のクラウドサービスパブリッシャとの対話を通じて、前記IoTネットワークにおける前記IoTデバイスに関連する前記1つまたは複数のデバイスクラスに利用可能な前記1つまたは複数のクラウドベースサービスを発見することと、前記IoTネットワーク内で前記発見されたクラウドベースサービスを提示することとを行うように構成された1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合されたメモリとを備えるIoTゲートウェイデバイス。
【請求項１４】
前記1つまたは複数のクラウドベースサービスは、前記1つまたは複数のクラウドベースサービスに必要な1つまたは複数の必要なデバイス機能、前記1つまたは複数のクラウドベースサービスに関する1つまたは複数の任意のデバイス機能、および前記1つまたは複数のクラウドベースサービスを消費することを目的として構成されたIoTデバイスに関連する特定の機種および型式を示すメタデータがタグ付けされる、請求項13に記載のIoTゲートウェイデバイス。
【請求項１５】
前記1つまたは複数のプロセッサは、前記IoTネットワークにおける前記IoTデバイスに関連する前記発見されたクラウドベースサービスおよび1つまたは複数の機能をタグ付けするのに使用されるメタデータに従って前記IoTネットワーク内で提示される前記発見されたクラウドベースサービスをフィルタリングするようにさらに構成される、請求項13に記載のIoTゲートウェイデバイス。
【請求項１６】
前記1つまたは複数のプロセッサは、前記IoTネットワーク内で提示された前記発見されたクラウドベースサービスのうちの第1の発見されたクラウドベースサービスを呼び出すための要求に応答して少なくとも前記第1のクラウドベースサービスを呼び出すようにさらに構成される、請求項13に記載のIoTゲートウェイデバイス。
【請求項１７】
前記1つまたは複数のプロセッサは、
前記第1のクラウドベースサービスに関連する任意の必要なデータをフェッチするために前記IoTネットワークにおける前記IoTデバイスのうちの少なくとも1つに接続することと、
前記第1のクラウドベースサービスをホスティングする前記クラウドサービスパブリッシャ、前記第1のクラウドベースサービスを開発したクラウドサービスプロバイダ、またはそれらの組合せのうちの1つに前記フェッチされたデータを渡すこととを行うようにさらに構成される、請求項16に記載のIoTゲートウェイデバイス。
【請求項１８】
前記IoTネットワークに関連するユーザが、前記IoTネットワークにおいて提示された前記第1のクラウドベースサービスを呼び出すための前記要求を開始する、請求項16に記載のIoTゲートウェイデバイス。
【請求項１９】
前記IoTネットワークにおける前記IoTデバイスのうちの少なくとも1つは、前記第1のクラウドベースサービスを呼び出すための前記要求を開始する、請求項16に記載のIoTゲートウェイデバイス。
【請求項２０】
前記1つまたは複数のプロセッサは、前記少なくとも1つのIoTデバイスによって要求された前記第1のクラウドベースサービスをアクティブ化する前に前記IoTネットワークに関連するユーザからの承認を要求するようにさらに構成される、請求項19に記載のIoTゲートウェイデバイス。
【請求項２１】
前記1つまたは複数のプロセッサは、前記第1のクラウドベースサービスが無料であるかまたはコストがしきい値よりも低いと判定したことに応答して前記少なくとも1つのIoTデバイスによって要求された前記第1のクラウドベースサービスを自動的にアクティブ化するようにさらに構成される、請求項19に記載のIoTゲートウェイデバイス。
【請求項２２】
前記IoTネットワークにおける前記IoTデバイスに関する前記発見された情報は、少なくとも前記IoTネットワークにおける前記IoTデバイスに関連する使用状況情報、前記IoTネットワークにおける前記IoTデバイスに関連する状態情報、ユーザに関連するプロファイル、またはそれらの組合せをさらに含む、請求項13に記載のIoTゲートウェイデバイス。
【請求項２３】
前記1つまたは複数のクラウドベースサービスは、前記IoTネットワークにおける前記IoTデバイスに関連する前記使用状況情報、前記IoTネットワークにおける前記IoTデバイスに関連する前記状態情報、前記ユーザに関連する前記プロファイル、またはそれらの組合せのうちの少なくとも1つに対応するメタデータがタグ付けされる、請求項22に記載のIoTゲートウェイデバイス。
【請求項２４】
前記1つまたは複数のプロセッサは、前記IoTネットワークにおいて提示された前記クラウドベースサービスを選択するのに使用される基準を決定するために前記IoTネットワークにおける前記IoTデバイスが互いに共同するのを可能にするようにさらに構成される、請求項13に記載のIoTゲートウェイデバイス。
【請求項２５】
モノのインターネット(IoT)ゲートウェイデバイスであって、
IoTネットワークにおける1つまたは複数のIoTデバイスに関する情報を発見するための手段であって、前記発見される情報は、前記IoTネットワークにおける前記IoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含む手段と、
1つまたは複数のクラウドベースサービスをホスティングするように構成された1つまたは複数のクラウドサービスパブリッシャとの対話を通じて、前記IoTネットワークにおける前記1つまたは複数のIoTデバイスに関連する前記1つまたは複数のデバイスクラスに利用可能な前記1つまたは複数のクラウドベースサービスを発見するための手段と、
前記発見されたクラウドベースサービスを前記IoTネットワーク内で提示するための手段とを備えるIoTゲートウェイデバイス。
【請求項２６】
前記IoTネットワークにおける前記IoTデバイスに関連する前記発見されたクラウドベースサービスおよび1つまたは複数の機能をタグ付けするのに使用されるメタデータに従って前記IoTネットワーク内で提示される前記発見されたクラウドベースサービスをフィルタリングするための手段をさらに備える、請求項25に記載のIoTゲートウェイデバイス。
【請求項２７】
前記IoTネットワーク内で提示された前記発見されたクラウドベースサービスのうちの少なくとも第1の発見されたクラウドベースサービスを呼び出すための要求を受信するための手段と、
前記第1のクラウドベースサービスに関連する任意の必要なデータをフェッチするために前記IoTネットワークにおける前記IoTデバイスのうちの少なくとも1つに接続するための手段と、
前記第1のクラウドベースサービスをホスティングする前記クラウドサービスパブリッシャ、前記第1のクラウドベースサービスを開発したクラウドサービスプロバイダ、またはそれらの組合せのうちの1つに前記フェッチされたデータを渡すための手段とをさらに備える、請求項25に記載のIoTゲートウェイデバイス。
【請求項２８】
前記第1のクラウドベースサービスをアクティブ化する前に前記IoTネットワークに関連するユーザからの承認を要求するための手段をさらに備える、請求項27に記載のIoTゲートウェイデバイス。
【請求項２９】
前記第1のクラウドベースサービスが無料であるかまたはコストがしきい値よりも低いことに応答して前記第1のクラウドベースサービスを自動的にアクティブ化するための手段をさらに備える、請求項27に記載のIoTゲートウェイデバイス。
【請求項３０】
コンピュータ実行可能命令が記録されたコンピュータ可読記憶媒体であって、モノのインターネット(IoT)ネットワークにおけるゲートウェイデバイス上で前記コンピュータ実行可能命令を実行することによって、前記ゲートウェイデバイスに、
前記IoTネットワークにおける1つまたは複数のIoTデバイスに関する情報を発見することであって、前記発見される情報は、前記IoTネットワークにおける前記1つまたは複数のIoTデバイスに関連する1つまたは複数のデバイスクラスを少なくとも含むことと、
1つまたは複数のクラウドベースサービスをホスティングするように構成された1つまたは複数のクラウドサービスパブリッシャとの対話を通じて、前記IoTネットワークにおける前記1つまたは複数のIoTデバイスに関連する前記1つまたは複数のデバイスクラスに利用可能な前記1つまたは複数のクラウドベースサービスを発見することと、
前記発見されたクラウドベースサービスを前記IoTネットワーク内で提示することとを行わせるコンピュータ可読記憶媒体。
【国際調査報告】
2017503243.tif 000021
2017503243.tif 000022