JP2016045964A - Iotデバイスコンフィギュレーションのための方法及び記憶媒体 - Google Patents

Iotデバイスコンフィギュレーションのための方法及び記憶媒体 Download PDF

Info

Publication number
JP2016045964A
JP2016045964A JP2015164904A JP2015164904A JP2016045964A JP 2016045964 A JP2016045964 A JP 2016045964A JP 2015164904 A JP2015164904 A JP 2015164904A JP 2015164904 A JP2015164904 A JP 2015164904A JP 2016045964 A JP2016045964 A JP 2016045964A
Authority
JP
Japan
Prior art keywords
iot
configuration
device configuration
devices
iot devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015164904A
Other languages
English (en)
Inventor
チェン・ウェイ−ペン
Wei-Peng Chen
モアザミ・ムハマド−マハディ
Moazzami Mohammad-Mahdi
マシマ・ダイスケ
Daisuke Mashima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2016045964A publication Critical patent/JP2016045964A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them

Abstract

【課題】モノのインターネット(IOT)のデバイスコンフィギュレーションを構成すること。
【解決手段】2つ以上のIOTデバイス間の特定の自動的な相互作用のデバイスコンフィギュレーションに関するソリューションテンプレートの選択を受け、完全なソリューションテンプレートが選択される場合、デバイスコンフィギュレーションを配備する。そうでない場合、IOTデバイスの選択を受け、選択されるIOTデバイスのIOTデータベース内のデバイス機能にアクセスし、選択されるIOTデバイス間にネットワークコネクションを設定し、IOTデータベース内でデバイスコンフィギュレーションをシミュレーションし、デバイスコンフィギュレーションが使用可能であるか否かを判定する。使用可能でない場合、代替的なIOTデバイスを含むようにデバイスコンフィギュレーションを再構成し、使用可能である場合、デバイスコンフィギュレーションを配備する。
【選択図】図1

Description

本願で開示される実施形態はIOT(Internet of Things)デバイスコンフィギュレーションに関連する。
モノのインターネット(IOT)はコンピューティング装置(IoTデバイス)の相互接続に関連する。IOTデバイスは、一意に識別可能であり、コンピューティングネットワークを介して1つ以上の他のIOTデバイスと通信し、デバイスコンフィギュレーション(device configuration)を形成する。複数のプロトコル、ドメイン及びアプリケーションがIOTデバイスに実装されてよい。(複数の)IOTデバイスの中で使用されるプロトコル、ドメイン及びアプリケーションは他のIOTデバイスとコンパチブルでないかもしれず、このことは、デバイスコンフィギュレーションの構築及び全てのIOTデバイス間の通信を困難にするかもしれない。
本願で対象とする事項は、如何なる問題点をも解決する実施形態や上述したような環境でしか動作しない実施形態には限定されない。むしろ、この背景技術は、ここで説明される何らかの実施形態が実施されてよい技術分野の一例を説明することのみのために与えられる。
実施の形態によれば、モノのインターネット(IOT)のデバイスコンフィギュレーションを構成する方法は、2つ以上のIOTデバイス間の特定の自動的な相互作用のデバイスコンフィギュレーションに関するソリューションテンプレートを選択するのに有効なユーザ入力を受けることを含む。本方法は、デバイスコンフィギュレーションに関する完全なソリューションテンプレートが選択されるか否かを判定することを含む。完全なソリューションテンプレートが選択されることに応じて、本方法はデバイスコンフィギュレーションを配備することを含む。部分的なソリューションテーブルが選択されることに応じて、本方法は、部分的なソリューションテンプレートに組み込まれる2つ以上のIOTデバイスを選択するのに有効な追加的なユーザ入力を受け、IOTデータベース内の選択されるIOTデバイスのデバイス機能にアクセスし、選択されるIOTデバイス間にネットワークコネクションを設定し、2つ以上のIOTデバイスに対するIOTデータベース内でアクセスされるデバイス機能を利用してデバイスコンフィギュレーションをシミュレーションし、シミュレーションに基づいて、デバイスコンフィギュレーションが使用可能であるか否かを判定することを含む。デバイスコンフィギュレーションが使用可能でない場合、本方法は、1つ以上の代替的なIOTデバイスを含むようにデバイスコンフィギュレーションを再構成することを含む。デバイスコンフィギュレーションが使用可能である場合、本方法はデバイスコンフィギュレーションを配備することを含む。
実施形態の課題及び利点は本願で特に指摘される要素、特徴及び組み合わせにより少なくとも実現及び達成される。
上記の一般的な説明及び以下の詳細な説明の双方は例示的及び説明的であり、本願の限定ではないことが理解されるべきである。
例示的な実施形態は、添付図面を利用することにより、追加的な特殊性及び詳細とともに記述及び説明される。
モノのインターネット(IOT)システムの一例を示す図である。 図1のIOTシステムに実装されてよい例示的なコンピュータサーバを示す図である。 図1のIOTシステムに実装されてよい例示的なIOTデータベースを示す図である。 デバイスコンフィギュレーションを構成する方法例のフローチャートを示す図である。 デバイスコンフィギュレーションを構成する方法例のフローチャートを示す図である。 デバイスコンフィギュレーションをシミュレーションする方法例のフローチャートを示す図である。 デバイスコンフィギュレーションを配備する方法例のフローチャートを示す図である。 本願で説明される少なくとも1つの実施形態により配置されるデバイスコンフィギュレーションを確認する方法例のフローチャートを示す図である。
ハードウェア及び通信システムにおける技術進歩は、小型装置をより強力にし、互いに適切に通信できるようにする。モノのインターネット(IOT)はそのような技術進歩とともに出現した。IOTはオートメーションや監視などのような多くの有用な機能を生み出す。しかしながら、IOTは本来的に多様であり、細分化され、分野に特有である。多くのベンダは、他のベンダのデバイスの組み込みを禁止する独立したエコシステムを作成する傾向がある。その結果、第1タイプのデバイスを有するユーザは、第1タイプのデバイスを利用する他のタイプのデバイスに限定される。従って、ここで開示される実施形態は、ユーザの好みに応じてデバイスコンフィギュレーションの構成を可能にしかつ複数のタイプのデバイスが通信及び相互作用することを許容する環境をユーザに提供する。一実施形態では、デバイスコンフィギュレーションの構成プロセスにおいてIOTデータベースが使用される。IOTデータベースは、複数のデバイスの能力又は機能、デバイス間の相互運用性(インターオペラビリティ)、デバイス間のリンクの制約、様々なアプリケーションについての検討事項などを含んでよい。
あるシステムではユーザインタフェースが提供され、そのユーザインタフェースにより、複数のデバイスがデバイスコンフィギュレーションに組み込まれる。しかしながら、これらのシステムでは、セントラル化されるシステムが全てのデバイスをセントラルサーバに接続し、及び/又は、これらのシステムは限られた数のプロトコルで通信するデバイスをサポートするに過ぎない。例えば、これらのうち或る種のシステムは、パーソナルコンピュータ(PC)のような構成又は機構を提供する。デバイス(複数)はペリフェラルとして見え、これらの装置によるタスクはアプリケーションとして見える。従って、新たなデバイスを追加することは、ペリフェラルに組み込む(プラグインする)ことに類似し、タスクを追加することはアプリケーションをインストールすることに類似する。
ここで説明されるある種の実施形態は、複数のプロトコルで通信するIOT装置の統合を可能にする。さらに、いったんデバイスコンフィギュレーションに組み込まれると、デバイスは、セントラルシステムを経由する必要なしに、ピアツーピアで通信してもよい。一実施形態では、ユーザ入力に基づいてデバイスコンフィギュレーションを行使するコンフィギュレーションコントローラが提供される。コンフィギュレーションコントローラはユーザ入力を受信し、ユーザ入力は、2つ以上のIOTデバイス間の特定の自動的なやり取りに関し、特定のデバイスコンフィギュレーションに対するユーザの好みを提供する。ユーザ入力はソリューションテンプレート(solution template)の選択を含んでよい。選択されるテンプレートは、ユーザがデバイスコンフィギュレーションにおける好みを更に指定することを可能にする部分的なソリューションテンプレートを含んでもよい。
ユーザは2つ以上のIOTデバイスの選択を与えてもよい。コンフィギュレーションコントローラは、選択されたIOTデバイスに対するIOTデータベース中のデバイス機能(device capability)にアクセスし、選択されたIOTデバイス間にネットワークコネクション(ネットワーク接続)を設定してもよい。一実施形態において、デバイスコンフィギュレーションは、デバイスコンフィギュレーションが使用可能(又はオペレーショナル)であるか否かを判断するためにコンフィギュレーションコントローラによりシミュレーションされてもよい。デバイスコンフィギュレーションが使用可能でない場合、コンフィギュレーションコントローラは、代替的なIOTデバイスを含めるようにデバイスコンフィギュレーションを設定し直してもよい。デバイスコンフィギュレーションが使用可能である場合、コンフィギュレーションコントローラはそのデバイスコンフィギュレーションを配備してもよい。デバイスコンフィギュレーションを配備することは、IOTデバイスの各々に対してだけでなく、設定されるネットワークコネクションに含まれる他の任意のコンポーネントに対してもコンフィギュレーションパラメータを伝達することを含んでよい。
図1は例示的なIOTシステム100を示す。IOTシステム100では、システムサーバ126が、ユーザ102から受信されるユーザ入力に基づいて、IOTデバイスコンフィギュレーション118A及び/又は118B(一般的に、デバイスコンフィギュレーション118或いはデバイスコンフィギュレーション群118と言及される)を構成してよい。一実施形態において、ユーザ102は、デバイスコンフィギュレーション118の構成に使用されるユーザ入力を提供するために、コンフィギュレーションコントローラ104と相互作用する。
デバイスコンフィギュレーション118は、IOTデバイス106A-106C(一般に、IOTデバイス又はIOTデバイス群と言及される)、物理ハブ(physical hub)120、クラウドサーバ108、ゲートウェイモジュール110、それらの組み合わせ、或いは、他の電子装置との何らかの組み合わせの間の特定の自動的な相互作用(又はやりとり)に関して構成されてもよい。特定の自動的な相互作用は、IOTデバイス106又はIOTデバイス群106のうちの任意の一部分についての任意の機能又は機能群のうちの任意の一部分を含んでもよい。例えば、デバイスコンフィギュレーション118は、自動化されるホームセキュリティ、睡眠中の自動化される寝心地調整、自動化されるエネルギ節約、自動化される料理、緊急事態に対する自動化される対応、自動化される高齢者の監視及び介護、自動化される健康管理、自動化されるリマインダ、及び、自動化される子供の世話などに関して構成されてもよい。ホームセキュリティの構成についての幾つかの追加的な詳細が以下に示される。
特定の自動化される相互作用及びIOTデバイス106は、ユーザ102の好みに従って決定されてもよい。従って、コンフィギュレーションコントローラ104はユーザ102の好みを受信するように構成されてもよい。ユーザ入力に基づいて、コンフィギュレーションコントローラ104は、その好みを取り込むデバイスコンフィギュレーション118を構成してもよい。
図1に示されるように、IOTシステム100は、システムサーバ126、ユーザ装置112、IOTデバイス106、物理ハブ120、クラウドサーバ108及びベンダサーバ130を含んでよい。更に、IOTシステム100において、ベンダ128はベンダサーバ130に関連付けられ、ユーザ102はユーザ装置112に関連付けられてもよい。
IOTシステム100において、システムサーバ126、ユーザ装置112、IOTデバイス106、物理ハブ120、クラウドサーバ108及びベンダサーバ130は、ネットワーク124を介して通信してよい。
ネットワーク124は、IOTシステム100の任意の構成要素(例えば、126、112、130、108、106及び120)の間で信号を通信するように構成される任意の通信ネットワークを含んでよい。第1デバイスコンフィギュレーション118A、第1のIOTデバイス106A、物理ハブ120及び第2のIOTデバイス106Bのような構成要素は、ネットワーク124を介して通信してよい。従って、デバイスコンフィギュレーション118の構成要素の一部分は、ネットワーク124の一部分のコンフィギュレーションコントローラ104による構成を含んでもよい。更に、デバイスコンフィギュレーション118の構成中の少なくとも一部分において、ユーザ装置112はネットワーク124を介してシステムサーバ126と通信してよい。更に、ベンダ128は、ネットワーク124を介して、システムサーバ126及び/又はユーザ装置112にベンダソリューションテンプレートを伝達してもよい。
従って、ネットワーク124は有線であってもよいし或いは無線であってもよい。ネットワーク124は、スター(星状)構成、トークンリング構成又は他の適切な構成を含む様々な構成を有してもよい。更に、ネットワーク124は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えば、インターネット)、及び/又は、複数の装置が通信するその他の相互接続されるデータ経路を含んでもよい。一実施形態において、ネットワーク124はピアツーピア(P2P)ネットワークを含んでもよい。ネットワーク124は、様々な通信プロトコルでデータを通信可能にする電気通信ネットワークに結合されてもよいし或いはその一部を含んでいてもよい。
一実施形態において、ネットワーク124は、ブルートゥース(登録商標)通信ネットワーク、Z-Wave(登録商標)通信ネットワーク、ワイヤレスフィデリティ(WiFi)通信ネットワーク、ZigBee通信ネットワーク、HomePlug通信ネットワーク、電力線通信(PLC)通信ネットワーク、メッセージキューテレメトリトランスポート(MQTT)通信ネットワーク、MQTTセンサ(MQTT-S)通信ネットワーク、制約されたアプリケーションプロトコル(CoAP)通信ネットワーク、代表ステートトランスファアプリケーションプロトコルインタフェース(REST API)通信ネットワーク、拡張可能メッセージングプレゼンスプロトコル(XMPP)通信ネットワーク、セルラ通信ネットワーク、何らかの同様な通信ネットワーク、或いは、データを送受信するためのそれらの任意の組み合わせ等を含んでもよいし或いは含むように構成されてもよい。ネットワーク124で通信されるデータは、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキストトランスファプロトコル(HTTP)、ダイレクトデータコネクション、ワイヤレスアプリケーションプロトコル(WAP)、電子メール(email)、スマートエネルギプロファイル(SEP)、ECHONET Lite、OpenADR等を介して通信されるデータを含んでよいし、或いは、IOTデバイス106、物理ハブ(例えば、物理ハブ120)、クラウドサーバ通信或いはゲートウェイモジュール(例えば、ゲートウェイモジュール110)とともに実現される何らかの他のプロトコルを介して通信されるデータを含んでよい。
IOTシステム100において、ベンダサーバ130は、プロセッサ、メモリ及び通信機能を含むハードウェアサーバを含んでもよい。説明される実施形態では、ベンダサーバ130は、ユーザ装置112、システムサーバ126、IOTデバイス106、物理ハブ120及びクラウドサーバ108のうちの1つ以上との間でネットワーク124を介して情報を送受信するためにネットワーク124に結合される。
ベンダサーバ130はベンダ128に関連付けられてもよい。一般に、ベンダ128は、IOTデバイス106、物理ハブ120、クラウドサーバ108、ゲートウェイモジュール110、そこで使用される通信プロトコル、又は、それらの任意の組み合わせのうちの1つ以上を提供する任意の装置を含んでよい。例えば、一実施形態において、ベンダ128は、何れかのIOTデバイス106を開発及び販売する企業を含んでもよい。他の実施形態において、ベンダ128は、1つ以上のIOTデバイス106とともに使用する通信プロトコルを開発及び販売する者(又は個人)であってもよい。
ベンダ128により通信される情報及びデータの中に、ベンダサーバ130により、ベンダソリューションテンプレートが含まれてもよい。ベンダソリューションテンプレートは、特定の自動的な相互作用に対する命令(又は指示)を含んでもよい。例えば、ベンダソリューションテンプレートは、特定の自動的な相互作用に関わるIOTデバイス106、物理ハブ120及びゲートウェイモジュール110のリストを含んでもよい。更に、ベンダソリューションテンプレートは、IOTデバイス106、物理ハブ120及びゲートウェイモジュール110の情報及び機能を含み、情報及び機能は、例えば、特定の自動的な相互作用に関する、他のIOTデバイスとの相互運用性、制限及び理想的な状態などである。制限及び理想的な状態の具体例は、互いの近接性、見通し線に関する検討事項、他の機器に対する近接性、建物内の位置などを含んでもよい。
更に、ベンダ128は、ベンダサーバ130及びネットワーク124を介して、システムサーバ126、ユーザ装置112及びゲートウェイモジュール110と通信してもよい。例えば、ベンダ128は、デバイスコンフィギュレーション118の構成に使用される通信プロトコル間のパッチ(patch)を伝達してもよい。追加的又は代替的に、ベンダ128は、進行中の情報をシステムサーバ126及び/又はユーザ装置112に伝達してもよい。例えば、ベンダ128は、IOTデバイス106の機能に関連する更新、新たなIOTデバイスに関する情報などを伝達してもよい。それに応じてシステムサーバ126及び/又はユーザ装置112は更新情報を利用してデバイスコンフィギュレーション118の構成を可能にする。
更に、ある状況では、ベンダ128は、ベンダ128に関連するIOTデバイス106にクラウドサーバ(例えば、クラウドサーバ108)を介してしかアクセスが許可されないポリシを有してもよく、そのクラウドサーバもベンダ128に関連付けられる及び/又はベンダサーバ130でホストされる。これら及び他の状況において、ベンダ128に関連付けられていないIOTデバイス106、ゲートウェイモジュール110、物理ハブ120又はクラウドサーバ108のうちの1つ以上は、ベンダサーバ130を介して、ベンダ128に関連付けられるIOTデバイスと相互作用するために通信してもよい。ベンダ128に関連付けられていないIOTデバイス106、ゲートウェイモジュール110、物理ハブ120又はクラウドサーバ108のうちの1つ以上は、ベンダサーバ130を介して通信してもよい。
ユーザ102は、IOTシステム100において相互作用(やり取り)を行う任意の者又は装置を含んでよい。ユーザ102は、一般に、デバイスコンフィギュレーション118に含まれるIOTデバイス106が特定の自動的な相互作用を実行するように、1つ以上のデバイスコンフィギュレーション118を実現することを望んでいる。
ユーザ102はユーザ装置112に関連付けられてよい。例えば、ユーザ装置112から伝達されるデータがユーザ102に帰属し、ユーザ装置112に伝達されるデータがユーザ102を意図するように、ユーザ102はユーザ装置112を所有する又は定期的に操作してもよい。ユーザ装置112は、プロセッサ、メモリ及びネットワーク通信機能を含むコンピュータ装置を含んでよい。IOTシステム100において、ユーザ装置112は、システムサーバ126、IOTデバイス106、物理ハブ120、クラウドサーバ108及びベンダサーバ130のうちの1つ以上と通信するためにネットワーク124に結合される。
例えば、ユーザ装置112は、ユーザ102から入力を受け取り、受け取った入力をシステムサーバ126に伝える。一実施形態において、ユーザ装置112は、ユーザ入力をシステムサーバ126に伝えるブラウザベースのインタフェースにアクセスすることにより、システムサーバ126との通信を可能にしてもよい。
追加的又は代替的に、ユーザ装置112はユーザモジュール114を含む。ユーザモジュール114は、ウェブサービス、クラウドアプリケーション、ローカルに保存されたアプリケーション等を含んでよい。一実施形態において、ユーザモジュール114は、フィールドプログラマブルゲートアレイ(FPGA)又は特定用途向け集積回路(ASIC)を含むハードウェアを用いて実現されてもよい。他の場合において、ユーザモジュール114はハードウェア及びソフトウェアの組み合わせを用いて実現されてもよい。
ユーザモジュール114は、ユーザ装置112でローカルに受けた入力をシステムサーバ126に伝達するように構成されてもよい。更に、一実施形態において、ユーザモジュール114は、コンフィギュレーションコントローラ104に帰属する本願で説明される1つ以上の機能を提供してもよい。例えば、ユーザモジュール114は本願で説明されるようにデバイスコンフィギュレーション118の構築を可能にするように構成されてもよい。
ユーザ装置112の具体例は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、モバイル電話機、パーソナルディジタルアシスタント(PDA)、モバイル電子メール装置、携帯用ゲームプレーヤ、携帯用音楽プレーヤ、内蔵又は結合される1つ以上のプロセッサを備えるテレビジョン、或いは、ネットワークを介してアクセス及び通信することが可能なその他の電子装置などを含む。
物理ハブ120は、IOTデバイス106、ユーザ装置112、システムサーバ126、クラウドサーバ108又はそれらの任意の組み合わせのうちの1つ以上を無線又は有線により接続する任意のシステムを含んでよい。一実施形態において、物理ハブ120は、ルーティング機能を含んでもよく、及び/又は、デバイスコンフィギュレーション118の何れかに含まれる他の物理ハブ、ルータ又はスイッチと通信するための機能を含んでもよい。物理ハブ120は、何れのIOTデバイス106が何れと通信するかだけでなく、IOTデバイス106との通信を可能にするために実行される1つ以上のステップをも指示する1つ以上の構成パラメータを含んでもよい。構成パラメータ(コンフィギュレーションパラメータ)は、例えば、1つ以上のIOTデバイス106のインターネットプロトコル(IP)アドレス、送信側又は受信側の装置に基づくルーティングの指示、優先度情報、或いは、1つ以上のデバイスコンフィギュレーション118で使用される他の任意のパラメータを含んでもよい。
クラウドサーバ108は、インターネットで提供されるサービスをホストする(又はホストとなる)ように構成される任意のシステムを含んでよい。クラウドサーバ108は、プロセッサ、メモリ及び通信機能を含み、ネットワーク124を介してアクセス可能なハードウェアサーバを含んでよい。クラウドサーバ108は、デバイスコンフィギュレーション118に対する「仮想的な」サービス及び仮想的な装置を提供してもよい。例えば、クラウドサーバ108は、仮想的な装置の具体例であるゲートウェイモジュール110を含んでもよい。
ゲートウェイモジュール110は、ネットワーク124を介してアクセス可能であり、従って、物理的には遠隔的に設けられてもよい。ゲートウェイモジュール110は、異なる通信プロトコルを用いるIOTデバイス106の間で通信を可能にする任意のシステム又は装置を含んでよい。ゲートウェイモジュール110は、IOTデバイス106間の通信に使用される他の装置を含んでもよい。例えば、ゲートウェイモジュール110は、プロトコル及び/又は信号変換部、インピーダンス整合部、レート変換部、障害分離部などを含んでもよい。ゲートウェイモジュール110は、例えば、ゲートウェイモジュール110が何れのIOTデバイス106と通信してよいか、及び、IOTデバイス106との通信を可能にするために実行される1つ以上のステップを指示する1つ以上の構成パラメータを更に含んでもよい。図1の実施形態では示されていないが、IOTシステム100は、ゲートウェイモジュール110と実質的に類似し、ローカルにアクセスされてもよい(すなわち、非クラウドベースの)物理ゲートウェイを含んでもよい。
一実施形態において、クラウドサーバ108は、何れかのデバイスコンフィギュレーション118に対する他の機能を更に提供してもよい。例えば、クラウドサーバ108は、コンピューティングサービス、アグリゲーション(又は統合)サービス、データベースへのアクセス、或いは、適切な他の何らかのクラウドベースのサービス又はシステムを提供してもよい。クラウドサーバ108は1つ以上の構成パラメータを含んでもよい。構成パラメータは、クラウドサーバ108により提供されるサービス及び/又はクラウドサーバ108が通信するIOTデバイス106を指示してもよい。
IOTデバイス106は、プロセッサ、メモリ及び通信機能を含むコンピュータベースのハードウェアデバイスを含んでもよい。各々のIOTデバイス106は、ユーザ装置112、システムサーバ126、ベンダサーバ130、他のIOTデバイス106、クラウドサーバ108及び物理ハブ120のうちの1つ以上と通信するためにネットワーク124に結合されてもよい。IOTデバイス106の具体例は、電球、照明システム、ドアロック、温水器(湯沸かし器)、スプリンクラーシステム、空調機(エアコン)、サーモスタット、アラームクロック、窓の日よけ、スイッチ、煙報知器、カメラ、エッグマインダ(egg minder)、電気差し込み口、パーソナル(例えば、ピギー)バンク(貯金箱)、プロパン(ガス)タンク、アラーム、対人近接センサ、ドアセンサ、バイオメトリックセンサ(生体情報センサ)、マットレス、モバイル装置、車両センサ、時計、調理装置、電気遮断機、防犯警報機、動きセンサ、カレンダ、テレビジョン、ラジオ、無線周波数識別(RFID)タグ/RFID検出器、乗物、電気車両充電器、分散される発電機(例えば、ソーラーパネル)、分散される蓄電池(例えば、バッテリ)、及び、サーモメータ等を含む。
デバイスコンフィギュレーション118は、IOTデバイス106が1つ以上の特定のタイプのデータを通信するように、ユーザ102の入力に基づいてコンフィギュレーションコントローラ104により構成される。例えば、センサとして配備されるIOTデバイス106は測定された状態を表す信号を通信してもよいし、特定の処理を実行するように配備されるIOTデバイス106は制御信号を受信するように構成されてもよいし、コントローラとして配備されるIOTデバイス106は、機器の動作が変更される基礎となる状態(又は条件)を把握してもよい。
IOTデバイス106は1つ以上の通信プロトコルを介して通信してもよい。例えば、一実施形態において、IOTデバイス106又はそれらの一部分はベンダ128により供給されてもよい。IOTデバイス106は、特定の機能のために及び/又は1つ以上の他のIOTデバイス106とともに使用するために提供されてもよい。ベンダ128により提供されるIOTデバイス106は、特定の通信プロトコルにより通信してもよい。
ある通信プロトコルは他の通信プロトコルとコンパチブル(両立可能)であるかもしれない。例えば、第1のIOTデバイス106Aの第1プロトコルは、第2のIOTデバイス106Bの第2プロトコルに変換されてもよい。しかしながら、他のプロトコルは、他の全てのIOTデバイス106及び/又は他の通信プロトコルとコンパチブルでないかもしれない。2つのIOTデバイス106が相違してはいるがコンパチブルである2つの通信プロトコルを用いて通信する状況では、物理ハブ120、適切な通信アプリケーションを有するユーザ装置112、ゲートウェイモジュール110、又は、何らかの組み合わせが、それらの間で通信できるように配備されてもよい。
システムサーバ126は、プロセッサ、メモリ及び通信機能を含むハードウェアサーバを含んでよい。説明される実施形態では、システムサーバ126は、ユーザ装置112、ベンダサーバ130、クラウドサーバ108、IOTデバイス106及び物理ハブ120のうちの1つ以上と通信するためにネットワーク124に結合される。
システムサーバ126はIOTデータベース116を含んでもよい。一般に、IOTデータベース116は、1つ以上のIOTデバイス106の機能及びそれらの間の相互運用性(インターオペラビリティ)を含んでもよい。例えば、図3を参照すると、例示的なIOTデータベース116が示されている。IOTデータベース116は、デバイス機能データベース310とデバイス相互運用性データベース312とを含む。デバイス機能データベース310は、IOTデバイス106の各々に対するデバイス機能304を含む。例えば、図3のIOTデータベース116において、第1のIOTデバイス106Aは第1デバイス機能304Aを含む。第1デバイス機能304Aは、「スマートエネルギプロファイル1.1」及び「ZigBee」通信プロトコルを利用して通信する機能を含む。更に、第2のIOTデバイス106Bは第2デバイス機能304Bを含む。第2デバイス機能304Bは、「XMPP」及び「Z-Wave」通信プロトコルを用いて通信する機能を含む。
図3のIOTデータベース116には示されていないが、デバイス機能データベース310は、1つ以上のアプリケーションインタフェースプロトコル(API)に関する情報を含んでもよい。例えば、デバイス機能データベース310は、APIの名称、APIのための引数(argument)等を含んでもよい。
デバイス相互運用性データベース312は、IOTデバイス106の1つ以上のデバイスの組み合わせ306についてのデバイス相互運用性を含む。例えば、デバイスの組み合わせ306は、第1のIOTデバイス106Aと第2のIOTデバイス106Bとの第1組み合わせ306A、第2のIOTデバイス106Bと第3のIOTデバイス106Cとの第2組み合わせ306B、及び、第3のIOTデバイス106Cと第1のIOTデバイス106Aとの第3組み合わせ306Cを含む。各々のデバイスの組み合わせ306に関し、通信ソリューション(「ソリューション308」)がデバイス相互運用性データベース312に含まれてよい。例えば、第1組み合わせ306Aの場合、第1ソリューション308Aは「クラウドにおけるXMPP及びSEP1.1間のトランスレータゲートウェイアプライアンス」及び/又は「ZigBee及びZ-Waveを使用する物理ハブ」を含んでよい。従って、図3の例示的なIOTデータベースにおいて、第1のIOTデバイス106A及び第2のIOTデバイス106Bの間の通信は、「クラウドにおけるXMPP及びSEP1.1間のトランスレータゲートウェイアプライアンス」及び/又は「ZigBee及びZ-Waveを使用する物理ハブ」を利用する。
図3のIOTデータベース116は、3つのIOTデバイス106A-106Cに関する情報を含む。一実施形態において、IOTデータベース116は、3つより多い数のIOTデバイス106に関する情報を含んでよい。更に、図3のIOTデータベース116は、デバイス機能304、デバイスの組み合わせ306及びソリューション308を含む。一実施形態において、IOTデータベース116は、1つ以上のIOTデバイス106間のリンクに関する情報(例えば、制約)を含んでもよい。
図1を再び参照すると、システムサーバ126はコンフィギュレーションコントローラ104を含んでいる。コンフィギュレーションコントローラ104は、デバイスコンフィギュレーション118の構成を可能にするためのコード及びルーチンを含む。図1において、コンフィギュレーションコントローラ104はシステムサーバ126内に含まれる。一実施形態において、コンフィギュレーションコントローラ104は、部分的に、ユーザ装置112に保存されるシンクライアントアプリケーション(例えば、ユーザモジュール114)として、及び、部分的に、システムサーバ126に保存されるコンポーネントとして動作してもよい。一実施形態において、コンフィギュレーションコントローラ104は、システムサーバ126、物理ハブ120、クラウドサーバ108、ゲートウェイモジュール110、ユーザ装置112又はそれらの任意の組み合わせのうちの組み合わせの中に保存されてもよい。例えば、コンフィギュレーションコントローラ104は、ウェブサーバ、クラウドアプリケーション、ローカルに保存されるアプリケーション等を含んでもよい。一実施形態において、コンフィギュレーションコントローラ104は、フィールドプログラマブルゲートアレイ(FPGA)又は特定用途向け集積回路(ASIC)を含むハードウェアを用いて実現されてもよい。他の場合において、コンフィギュレーションコントローラ104は、ハードウェア及びソフトウェアの組み合わせを用いて実現されてもよい。
一般に、コンフィギュレーションコントローラ104は、ユーザ102からの入力に基づいてデバイスコンフィギュレーション118を構成するように、ユーザ102により構成されてもよい。デバイスコンフィギュレーション118は、1つ以上のユーザ102の好みに従って及び/又は完全なソリューションテンプレート(complete solution template)に従って構成されてもよい。ユーザの好みは、ソリューションテンプレートの選択、1つ以上のIOTデバイス106の選択、IOTデバイス106の1つ以上の利用可能なパラメータの選択、IOTデバイス106の1つ以上の制約の選択などを含むユーザ入力を含んでもよい。
一実施形態において、デバイスコンフィギュレーション118の構築を開始するために、ユーザ102はソリューションテンプレートを選択してもよい。ソリューションテンプレートは、完全なソリューションテンプレート又は部分的な(不完全な)ソリューションテンプレート(partial solution template)を含んでよい。完全なソリューションテンプレートは、特定の自動的な相互作用に対する全ての情報又はほとんど全ての情報を含む。完全なソリューションテンプレートは検査され、その検査は、完全なソリューションテンプレートに関連するデバイスコンフィギュレーション118をコンフィギュレーションコントローラ104が簡易に配備できるようにする。追加的又は代替的に、完全なソリューションテンプレートは、予め選択されるIOTデバイス106を含んでもよい。完全なソリューションテンプレートは、マークされてもよいし、或いは、コンフィギュレーションコントローラ104がソリューションテンプレートを完全なソリューションテンプレートとして特定することを許容する旨の指示を含んでもよい。
部分的なソリューションテンプレート(完全ではないソリューションテンプレート)を利用することは、ユーザ102からの追加的な入力を伴う。例えば、部分的なソリューションテンプレートは、IOTデバイス106の間の特定の自動的な相互作用のアウトライン又は概要を含んでよい。部分的なソリューションテンプレートは、何らかの示唆(又は提案)されるIOTデバイス106、何らかの示唆される構成パラメータ、1つ以上のIOTデバイス106とともに達成される1つ以上の関連する機能、及び、特定の自動的な相互作用を達成するために実現されるIOTデバイス106のカテゴリを含んでもよい。
ソリューションテンプレートは、ホームオートメーション、エネルギ利用、ホームセキュリティ等のような1つ以上の利用形態に応じた論理(例えば、分岐、if/elseステートメント(条件分岐)、及び、ループ等)を含んでもよい。更に、ソリューションテンプレートは、分岐における条件のような論理に含まれる1つ以上の条件を含んでもよい。論理のうちの一部はユーザ102によって修正可能であってもよい。更に、ユーザ102は、コンフィギュレーションコントローラ104に入力するユーザの好みに従って、ソリューションテンプレートにおける論理を変更できてもよい。ベンダソリューションテンプレートは、完全なソリューションテンプレート又は部分的な(不完全な)ソリューションテンプレートを含んでもよい。
ユーザ102が完全なソリューションテンプレートを選択する場合に、コンフィギュレーションコントローラ104はそのデバイスコンフィギュレーション118を配備してもよい。しかしながら、ユーザ102が部分的なソリューションテンプレートを選択する場合、ユーザ102は、デバイスコンフィギュレーション118において使用のための2つのIOTデバイス106を選択してもよい。コンフィギュレーションコントローラ104は、選択されたIOTデバイス106に関連する、IOTデータベース116に保存された情報にアクセスしてもよい。
例えば、コンフィギュレーションコントローラ104はIOTデバイス106の機能及び/又はデバイス相互運用性にアクセスしてもよい。コンフィギュレーションコントローラ104は、IOTデータベース116内でアクセスされた関連情報、選択されたIOTデバイス106及び部分的なソリューションテンプレートを利用して、選択されたIOTデバイス106間のネットワークコネクションを構成してもよい。
更に、ベンダソリューションテンプレートが提供される状況において、コンフィギュレーションコントローラ104は、ベンダソリューションテンプレートに含まれるIOTデバイス106に関連する、IOTデータベース116内の情報にアクセスしてもよい。コンフィギュレーションコントローラ104は、ベンダソリューションテンプレート及びIOTデータベース116からのアクセスされた情報を利用して、ベンダソリューションテンプレートに含まれるIOTデバイス106間のネットワークコネクションを構成してもよい。IOTデバイス106間のネットワークコネクションは、IOTデバイス106間の直接的な1つ以上のコネクションを含んでもよい。追加的又は代替的に、ネットワークコネクションはIOTデバイス間の間接的な1つ以上のコネクションを含んでもよい。例えば、IOTデバイス106間の間接的なコネクションは、物理ハブ120、ゲートウェイモジュール110、ユーザ装置112及びクラウドサーバ108等のような1つ以上の他のコンポーネントを介してもよい。
一実施形態において、コンフィギュレーションコントローラ104は、ネットワークコネクションがランナブル(runnable)であるか否かを検出してもよい。例えば、ソリューションテンプレートがある条件を有し、第1のIOTデバイス106Aにより充足される場合に、第2のIOTデバイス106Bで処理を開始してもよい。コンフィギュレーションコントローラ104は、デバイスコンフィギュレーション118に有用な条件に合致しない場合に、第2のIOTデバイス106Bにおける他の処理を決定してもよい。追加的又は代替的に、コンフィギュレーションコントローラ104は、デバイスコンフィギュレーション118における競合する状況(conflicting scenario)を検出してもよい。例えば、第1のIOTデバイス106Aで判断される第1状態(条件)が第2のIOTデバイス106Bにおける第1アクションのトリガを与え、第3のIOTデバイス106Cにおける第2状態(条件)が、第2のIOTデバイス106Bにおける第2の競合するアクションを引き起こすかもしれない。第1アクション及び第2アクションは競合(又はコンフリクト)として識別される。
IOTデータベース116からの情報に基づいて、コンフィギュレーションコントローラ104はデバイスコンフィギュレーション118をシミュレーションしてもよい。シミュレーションに基づいて、コンフィギュレーションコントローラ104はデバイスコンフィギュレーション118が使用可能であるか否かを判断してもよい。デバイスコンフィギュレーション118が使用可能でないことに応じて、コンフィギュレーションコントローラ104は、1つ以上の代替的なIOTデバイス(例えば、106)を含めるようにデバイスコンフィギュレーション118を構成し直してもよい。デバイスコンフィギュレーション118が使用可能であることに応じて、コンフィギュレーションコントローラ104はそのデバイスコンフィギュレーション118を配備してもよい。配備は、IOTデバイス106及び/又はデバイスコンフィギュレーション118に含まれるIOTシステムの他の構成要素に、構成パラメータを伝達することを含んでもよい。
更に、一実施形態において、デバイスコンフィギュレーション118が使用可能であることに応じて、コンフィギュレーションコントローラ104はユーザ102にマーケットプレイス(marketplace)を表示してもよい。マーケットプレイスは、デバイスコンフィギュレーション118の特定の自動的な相互作用について使用される物理IOTデバイス106及び仮想的な装置のリストを提供してもよい。マーケットプレイスは、更に、1つ以上のIOTデバイス106及び仮想的な装置の購入を可能にしてもよい。
一実施形態において、マーケットプレイスは、デバイスコンフィギュレーション118を構築することとは異なる時間にユーザ102に表示されてもよい。例えば、マーケットプレイスは、ユーザがソリューションテンプレートを選択できるようにする構築の初期段階の間に表示されてもよい。追加的又は代替的に、マーケットプレイスは、ユーザがIOTデバイス106を選択した後に表示されてもよい。例えば、IOTデバイス106のユーザ102による選択は、マーケットプレイスを介してなされてもよく、ネットワークコネクションを設定するために使用されてもよい。
デバイスコンフィギュレーション118を配備した後に、コンフィギュレーションコントローラ104はデバイスコンフィギュレーション118を確認してもよい。例えば、デバイスコンフィギュレーション118は、トリガ信号を用いて確認されてもよい。一実施形態において、トリガ信号は、生成されてもよいし、或いは、デバイスコンフィギュレーション118のトリガする状態又は起動状態(triggering condition)をマニュアルでエミュレートするようにユーザ102により入力されてもよい。例えば、ユーザ102は、部屋を暖めること、IOTデバイス106のうちの何れかを操作すること等を行ってもよい。
コンフィギュレーションコントローラ104は、トリガ状態からの結果のデバイス入力、及び/又は、デバイスコンフィギュレーション118の配備の後に生じるデバイス入力を記録してもよい。コンフィギュレーションコントローラ104は、IOTデータベース116内の情報に基づいて予想されるパフォーマンスとデバイス入力とを比較してもよい。ミスマッチ(不整合)が存在する場合、コンフィギュレーションコントローラ104は、そのミスマッチを示すチケットメッセージを生成してもよい。生成されるチケットは、IOTデータベース116における情報を更新又は変更するアドミニストレータに通知されてもよい。IOTデータベース116における情報は、そのミスマッチを反映するように更新されてもよい。
一実施形態において、コンフィギュレーションコントローラ104は、ユーザがユーザ入力を伝えるユーザインタフェースを含む及び/又は提供してもよい。ユーザインタフェースは、ドラッグアンドドロップ入力、居場所又は位置についてのインタラクティブな地図、利用可能なパラメータを設定するための右マウスクリック機能、利用可能なパラメータを設定するためのポップアップメニュー、ドロップダウンメニュー内に制限される選択肢、(高度なユーザによる)プログラミング言語のようなテキストベースの入力(文字入力)、それらの何らかの組み合わせ、或いは、適切な任意の他のユーザ入力を含んでもよい。
IOTシステム100には2つのデバイスコンフィギュレーション118が存在する。別の実施形態では、IOTシステム100は複数のデバイスコンフィギュレーション118を含んでもよい。例えば、デバイスコンフィギュレーション118の具体例は、ホームセキュリティコンフィギュレーションを含んでよい。ホームセキュリティコンフィギュレーションでは、IOTデバイス106はドアセンサを含んでもよいし、別のIOTデバイス106はカメラを含んでもよいし、クラウドサーバ108は顔認識サービスを提供するように実現されてもよい。ある個人がドアセンサにトリガを与えると、カメラがトリガを受ける。その人の写真が顔認識サービスに伝達され、顔認識サービスはその人の身元を確認してもよい。その人が(違法な)侵入者として確認されると、顔認識サービスは、ユーザ装置112の所有者及び/又はコンピューティング装置の近所(又は隣人)にメッセージを伝達してもよい。その人が所有者(オーナー)として確認されると、オーナーが帰宅していることを示すように設定が変更され、カメラにトリガを与えるドアセンサを停止してもよい。更に、そのような設定は、メディアレコーダ又はスプリンクラーのような他のIOTデバイスを起動してもよい。
ホームセキュリティコンフィギュレーションの状況において、コンフィギュレーションコントローラ104は、ユーザ102からユーザ入力を受信するように構成されてもよい。入力は、「セキュリティ」テンプレートのようなセンサテンプレートの選択を含んでもよい。セキュリティテンプレートが部分的なソリューションテンプレートを含む状況において、セキュリティテンプレートの選択の後に、ユーザ102は、ドアセンサ、カメラ、顔認識サービス、隣人、アラートタイプ(警報の種類)を選択し、顔認識サービスで使用するために自身の写真を提供すること等を行ってもよい。コンフィギュレーションコントローラ104は、カメラ、ドアセンサ、顔認識、及び、メッセージに関わる要素に関するIOTデータベース116の中でアクセスされる機能を利用して、ドアセンサ、カメラ、顔認識センサ等の間の特定の自動的な相互作用(例えば、侵入者が家に入ること及びオーナーが家に入ること)に対するデバイスコンフィギュレーションをシミュレートしてもよい。
シミュレーションに基づいて、コンフィギュレーションコントローラ104は、ホームセキュリティコンフィギュレーションが使用可能であるか否かを判断してもよい。デバイスコンフィギュレーションが使用可能でないことに応じて、コンフィギュレーションコントローラ104は、1つ以上の代替的なIOTデバイスを包含するようにホームセキュリティコンフィギュレーションを設定し直してもよい。例えば、カメラが顔認識サーバに写真を伝達できない場合、コンフィギュレーションコントローラ104は、別のカメラ又は別のタイプのカメラを示唆するメッセージを通知してもよい。ホームセキュリティコンフィギュレーションが使用可能であることに応じて、或いは、セキュリティテンプレートが完全なソリューションテンプレートを含むことに応じて、コンフィギュレーションコントローラ104はホームセキュリティコンフィギュレーションを配備してもよい。例えば、コンフィギュレーションコントローラ104は、ドアセンサ、カメラ、顔認識サービス、及び、メッセージに含まれる要素の各々に構成パラメータを伝達してもよい。ユーザ102は、ドアから家に入り、他者を家に入らせることにより、トリガ信号を生成してもよい。トリガ信号の結果によるデータに基づいて、コンフィギュレーションコントローラ104はホームセキュリティコンフィギュレーションを確認してもよい。
デバイスコンフィギュレーションの別の例は、快適性調整コンフィギュレーションを含む。快適性調整コンフィギュレーションでは、IOTデバイス106は、バイオメトリックセンサ、分析サービス、サーモスタット、及び、マットレス調整システムを含んでもよい。個人の測定される生体状態(条件)が分析サービスにおける設定をトリガする場合、サーモスタットが室温を調整してもよいし、或いは、マットレス調整システムがマットレスの堅さを調整してもよい。バイオメトリックセンサは分析サービスに信号を伝達し、分析サービスは、その調整が個人の睡眠を改善するか否かを示す。
快適性調整コンフィギュレーションの状況において、コンフィギュレーションコントローラ104は、ユーザ102からユーザ入力を受けるように構成されてもよい。入力は、「快適性」テンプレートのようなセンサテンプレートの選択を含んでもよい。快適性テンプレートが部分的なソリューションテンプレートを含む状況において、その快適性テンプレートの選択の後に、ユーザ102は、サーモスタット、バイオメトリックセンサ、分析サービス、及び、マットレス調整システムを選択してもよい。コンフィギュレーションコントローラ104は、IOTデータベース116の中でアクセスされる機能を利用して、選択されたIOTデバイス間の特定の自動的な相互作用に対するデバイスコンフィギュレーションをシミュレートしてもよい(例えば、温度が過剰に高くされてもよいし、或いは、ベッドが過剰に硬くされてもよい)。
シミュレーションに基づいて、コンフィギュレーションコントローラ104は、快適性調整コンフィギュレーションが使用可能であるか否かを判断してもよい。快適性調整コンフィギュレーションが使用可能でないことに応じて、コンフィギュレーションコントローラ104は、1つ以上のIOTデバイス(例えば、別のタイプのサーモスタット)を包含するように快適性調整コンフィギュレーションを設定し直してもよい。快適性調整コンフィギュレーションが使用可能であることに応じて、或いは、快適性テンプレートが完全なソリューションテンプレートを含むことに応じて、コンフィギュレーションコントローラ104はその快適性調整コンフィギュレーションを配備してもよい。例えば、コンフィギュレーションコントローラ104は、IOTデバイス106の各々に構成パラメータを伝達してもよい。ユーザ102は、部屋を暖めることや、ユーザが起きている間にバイオメトリックセンサを取り付けること等によって、トリガ信号を生成してもよい。トリガ信号に起因するデータに基づいて、コンフィギュレーションコントローラ104は快適性調整コンフィギュレーションを確認してもよい。
デバイスコンフィギュレーション118の別の具体例は、エネルギ節約コンフィギュレーションを含んでもよい。エネルギ節約コンフィギュレーションにおいて、IOTデバイス106は機器(例えば、テレビジョン)及びユーザ装置112を含んでもよい。ある人が機器を動作させたまま家を出る場合に、ユーザ装置112にメッセージが伝達され、機器が遠隔的にターンオフにされてもよい。
エネルギ節約コンフィギュレーションの状況において、入力は、「エネルギ節約」テンプレートのようなセンサテンプレートの選択を含む。エネルギ節約テンプレートが部分的なソリューションテンプレートを含む状況において、そのエネルギ節約テンプレートの選択の後に、ユーザ102は機器及びユーザ装置112を選択してもよい。コンフィギュレーションコントローラ104は、IOTデータベース116内でアクセスされる機能を利用して、選択されるIOTデバイス106間の特定の自動的な相互作用に対するデバイスコンフィギュレーションをシミュレーションしてもよい(例えば、その人が機器を動作させたまま立ち去る)。シミュレーションに基づいて、上述したように、コンフィギュレーションコントローラ104は、エネルギ節約コンフィギュレーションが使用可能であるか否かを判断し、ユーザ装置112及び機器に構成パラメータを伝達してもよい。
本開示の範囲から逸脱することなく、IOTシステム100に対して修正、付加又は削除がなされてもよい。例えば、図1は、1人のユーザ102に関連する1つのユーザ装置112、3つのIOTデバイス106、1つの物理ハブ120、1つのクラウドサーバ108、1つのベンダサーバ130、2つのデバイスコンフィギュレーション118、1つのゲートウェイモジュール110、及び、1つのシステムサーバ126を示しているが、本開示は、1人以上のユーザ102に関連する1つ以上のユーザ装置112、1つ以上のIOTデバイス106、1つ以上の物理ハブ120、1つ以上のクラウドサーバ108、1つ以上のベンダサーバ130、1つ以上のデバイスコンフィギュレーション118、1つ以上のゲートウェイモジュール110、1つ以上のシステムサーバ126、或いは、それらの任意の組み合わせに適用されてもよい。更に、ここで説明される実施形態における様々な要素及びサービスの区分けは、全ての実施形態でそのような区分けがなされることを示すようには意図されてない。開示される要素及びサーバは、一般に、単独の要素又はサーバに一緒に統合されてもよいし、或いは、複数の要素又はサーバに分離されてもよいことは、本開示の恩恵とともに理解される。
IOTシステム100において、メモリは、ここで説明される機能を提供するためのデータを保存する一時的でないメモリを含んでよい。メモリはストレージに含まれてもよく、ストレージは、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリ、或いは、何らかの他のメモリデバイスであってもよい。一実施形態において、ストレージは、不揮発性メモリ又は類似する永続的なストレージデバイス及び媒体を含んでよく、例えば、ハードディスクドライブ、フロッピディスクドライブ、CD-ROMデバイス、DVD-ROMデバイス、DVD-RAMデバイス、DVD-RWデバイス、フラッシュメモリデバイス、或いは、より永続的な形態で情報を保存する何らかの他の大容量ストレージデバイスを含んでもよい。
図2は例示的なシステムサーバ126のブロック図を示し、システムサーバ126は、例示的に、コンフィギュレーションコントローラ104、IOTデータベース116、プロセッサ212、メモリ216、及び、通信ユニット214を含む。システムサーバ126の構成要素(例えば、104、116、212、214、216)はバス218により通信可能に結合される。
図2において、コンフィギュレーションコントローラ104はシステムサーバ126内に含まれる。別の実施形態では、コンフィギュレーションコントローラ104又はそのうちの一部分又はそれに帰属する機能は、ユーザ装置112又は図1のIOTシステム100の1つ以上の他の構成要素内に含まれてもよい。
プロセッサ212は、算術演算論理ユニット(ALU)、マイクロプロセッサ、汎用コントローラ、又は、演算を実行するように構成される何らかの他のプロセッサアレイを含んでもよい。プロセッサ212は他の要素と通信するためのバス218に結合されてもよい。プロセッサ212は、一般に、データ信号を処理し、様々なコンピューティングアーキテクチャを含んでもよく、コンピューティングアーキテクチャは、復号命令セット(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、又は、命令セットの組み合わせを実現するアーキテクチャを含む。図2は1つのプロセッサ212を含んでいるが、複数のプロセッサがシステムサーバ126に含まれてもよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ及び物理的な構成も可能である。
メモリ216は、プロセッサ212により実行される命令及び/又はデータを保存するように構成される。メモリ216は、他の要素と通信するためのバス218に結合される。命令及び/又はデータは、ここで説明される技術又は方法を実行するためのコードを含んでよい。メモリ216は、DRAMデバイス、SRAMデバイス、フラッシュメモリ又は何らかの他のメモリバイスを含んでもよい。一実施形態において、メモリ216は、不揮発性メモリ又は類似する永続的なストレージデバイス及び媒体を含んでよく、例えば、ハードディスクドライブ、フロッピディスクドライブ、CD-ROMデバイス、DVD-ROMデバイス、DVD-RAMデバイス、DVD-RWデバイス、フラッシュメモリデバイス、或いは、より永続的な形態で情報を保存する何らかの他の大容量ストレージデバイスを含んでもよい。
通信ユニット214は、ユーザ装置112、ベンダサーバ130及びIOTデバイス106に対して及びそれらからデータを送信及び受信するように構成される。通信ユニット214はバス218に結合される。一実施形態において、通信ユニット214は、図1のネットワーク124に対する又は他の通信チャネルに対する直接的な物理的なコネクションのためのポートを含む。例えば、通信ユニット214は、IOTシステム100の要素と有線通信するためのUSB、SD、CAT-5又は類似するポートを含んでもよい。一実施形態において、通信ユニット214は1つ以上の無線通信方法を利用して通信チャネルを介してデータを送受信する無線トランシーバを含み、1つ以上の通信方法は、IEEE802.11、IEEE802.15、IEEE802.16、BLUETOOTH(登録商標)、ZigBee、Z-Wave、Home Plug、GSM(登録商標)(global system for mobile)、GPRS(general packet radio service)、EDGE(enhanced data rates for GSM evolution)、符号分割多重アクセス(CDMA)、UMTS(universal mobile telecommunications system)、LTE(long-term evolution)、LTE-A(LTE-Advanced)、MQTT、MQTT-S、CoAP、REST API、XMPP、或いは、その他の適切な有線及び/又は無線通信方法等を含む。
一実施形態において、通信ユニット214は、SMS、MMS、HTTP、ダイレクトデータコネクション、WAP、電子メール又は適切な他のタイプの電子通信を介することを含むセルラ通信ネットワークを介してデータを送信及び受信するセルラ通信トランシーバを含む。一実施形態において、通信ユニット214は有線ポート及び無線トランシーバを含む。通信ユニット214は、TCP/IP、HTTP、HTTPS及びSMTP等を含む標準的なネットワークプロトコルを利用してファイル及び/又はメディアオブジェクトを配布するために、図1のネットワーク124に対する従来の他のコネクションを提供してもよい。
図2の実施形態において、コンフィギュレーションコントローラ104は、確認モジュール202、シミュレーションモジュール204、コンフィギュレーションモジュール206、配備モジュール208、通信モジュール252、及び、マーケットプレイスモジュール210(まとめてIOTモジュール270と言及される)を含む。各々のIOTモジュール270は、1つ以上の処理を実行するように構成される1つ以上のルーチンを含むソフトウェアとして実現されてもよい。IOTモジュール270は、以下に説明される機能を提供するようにプロセッサ212により実行可能な一群の命令を含んでよい。一例において、IOTモジュール270は、システムサーバ126のメモリ216に保存されていてもよいし或いは少なくとも一時的にロードされてもよく、プロセッサ212によりアクセス可能でありかつ実行可能である。IOTモジュール270のうちの1つ以上は、バス218を介して、プロセッサ212及びシステムサーバ126の要素と協調及び通信するように構成されてもよい。
通信モジュール252は、コンフィギュレーションコントローラ104とシステムサーバ126の他の要素(例えば、116、212、214、216及び218)との間の通信を処理するように構成される。通信モジュール252は、ユーザ装置112、ベンダサーバ130及びIOTデバイス106のうちの1つ以上に対して及びそれらから、通信ユニット214を介して、データを送信及び受信するように構成される。一例において、通信モジュール252は、図1のIOTシステム100の要素からのデータを、通信ユニット214を介して、受信及び/又は転送するように他のモジュール(例えば、202、204、206、208及び210)と協調してもよい。
一実施形態において、通信モジュール252は、ベンダ130からベンダソリューションテンプレート228(図2のベンダテンプレート228)を受信又はアクセスするように構成されてよい。ベンダソリューションテンプレート228は、特定の自動的な相互作用に適切な又は提案される1つ以上のIOTデバイス(例えば、IOTデバイス106)を含んでもよい。更に、ベンダソリューションテンプレート228は、特定の自動的な相互作用に関連する情報(例えば、コンフィギュレーションパラメータ226、IOTデバイスの限定的制約など)を含んでもよい。通信モジュール252は、IOTデータベース116及び/又は確認モジュール202にベンダソリューションテンプレート228を伝達してもよい。ベンダソリューションテンプレート228は、完全なソリューションテンプレート又は部分的なソリューションテンプレートを含んでよい。
通信モジュール252は、ユーザ装置112からユーザ入力234を受信するように構成されてよい。ユーザ入力234は、テンプレート選択232及び/又はIOTデバイス選択230を含んでよい。通信モジュール252は確認モジュール202にユーザ入力234を伝達してもよい。
テンプレート選択232は、IOTデータベース116又は適切な他のロケーションに保存される部分的なソリューションテンプレート又は完全なソリューションテンプレート(図2のソリューションテンプレート224)を参照してよい。ソリューションテンプレート224は、1つ以上のIOTデバイス106の特定の自動的な相互作用に関する情報を含んでよい。
デバイスコンフィギュレーション118又はここで説明されるような何らかのデバイスコンフィギュレーションを構成するために、確認モジュール202は、デバイスコンフィギュレーション118について完全なソリューションテンプレートが選択されるか否かを確認してもよい。例えば、確認モジュール202は、ユーザ装置112を利用するユーザが、完全なソリューションテンプレートであるベンダソリューションテンプレート228を選択したか、或いは、完全なソリューションテンプレートである何れかのソリューションテンプレート224を選択したかを確認してもよい。
完全なソリューションテンプレートが選択されたことを確認モジュール202が確認したことに応じて、確認モジュール202は、その旨を示す信号を配備モジュール208に伝達する。配備モジュール208は、完全なソリューションテンプレートに従ってデバイスコンフィギュレーション118を配備するように構成される。
部分的なソリューションテンプレートの選択に応じて、通信モジュール252は、2つ以上のIOTデバイス106を選択するのに有効なユーザ入力234(例えば、IOTデバイス選択230)を受信してもよい。IOTデバイス106及び部分的なソリューションテンプレートを選択することにより、ユーザは、選択されるIOTデバイス106が部分的なソリューションテンプレートに組み込まれるべきことを指示してもよい。確認モジュール202はコンフィギュレーションモジュール206にユーザ入力234を伝達する。コンフィギュレーションモジュール206は、IOTデータベース116中のデバイス機能にアクセスしてもよい。アクセスされるデバイス機能に基づいて、コンフィギュレーションモジュール206は、選択されたIOTデバイス106間にネットワークコネクションを設定してもよい。
一実施形態において、ネットワークコネクションを設定するために、コンフィギュレーションモジュール206は、IOTデバイス106が互いに通信できるか否か及びどのように通信できるかを確認してもよい。IOTデバイス106が互いに(直接的には)通信しない場合、ネットワークコネクションは、ゲートウェイモジュール又は物理ゲートウェイ等のような物理ハブ及び/又はゲートウェイを包含するように構築されてもよい。例えば、IOTデバイス106が通信できることに応じて、コンフィギュレーションモジュール206は、選択されたIOTデバイス106間の通信を可能にするパラメータを生成してもよい。選択されたIOTデバイス106が(直接的には)通信できないことに応じて、コンフィギュレーションモジュール206は、物理ハブ又はゲートウェイモジュールを介して、IOTデバイス106間の通信を可能にするパラメータを生成してもよい。
一実施形態において、ネットワークコネクションの1つ以上の部分がIOTデータベース116に保存されてもよい。これら及び他の実施形態において、コンフィギュレーションモジュール206は、IOTデータベース116中の1つ以上の部分にアクセスし、それらの部分を組み合わせてネットワークコネクションを構成してもよい。IOTデータベース116からの情報に基づいて、コンフィギュレーションモジュール206は、IOTデバイス106及び/又は物理ハブ及びゲートウェイに伝達されるコンフィギュレーションパラメータ226を生成してよい。例えば、図2及び図3の組み合わせに関し、コンフィギュレーションモジュール206は、IOTデータベース116のうちの1つ以上についてのデバイス機能にアクセスしてもよい。特定のIOTデバイス106及びデバイスコンフィギュレーション118に組み込まれるIOTデバイスの配置に基づいて、コンフィギュレーションモジュール206は、IOTデバイス106が互いに通信してよいか否かを示すデバイス機能304にアクセスする。IOTデバイス106が互いに通信しない状況において、コンフィギュレーションモジュール206は1つ以上のソリューション308にアクセスし、ソリューションは、2つ以上のIOTデバイス106間のネットワークコネクションの特定の部分に関する情報を含む。コンフィギュレーションモジュール206は、デバイス機能304及び/又はソリューション308に基づいて、IOTデバイス106間の通信をイネーブルにするコンフィギュレーションパラメータ226を生成してもよい。
コンフィギュレーションモジュール206は、ネットワークコネクションを表す信号をシミュレーションモジュール204に伝達する。シミュレーションモジュール204は、IOTデバイス106間の特定の自動的な相互作用に対するデバイスコンフィギュレーション118をシミュレートするように構成される。シミュレーションは、IOTデータベース116中のアクセスされるデバイス機能及び/又はそれらの間のネットワークコネクションを利用してもよい。一実施形態において、シミュレーションは、動画又は一連の2次元又は3次元的な図形を含んでもよい。シミュレーションはユーザ装置112において眺められてもよい。
シミュレーションの間に、シミュレーションモジュール204は、IOTデバイス106間の相互作用の実現可能性を確認し、相互作用が安全性の問題を招かないことを確認し、相互作用がプライバシの問題を招かないことを確認し、或いは、それらの任意の組み合わせを確認してもよい。追加的又は代替的に、シミュレーションモジュール204は、デバイスコンフィギュレーション118をデバッグするために、IOTデバイス106がネットワークコネクションに従って適切に通信するか否かを含むステップバイステップの(又は段階的な)検査を実行してもよい。例えば、シミュレーションモジュール204は、トリガ信号に関する少なくとも一部のシミュレーションに基づいてもよい。トリガ信号は、1つ以上のIOTデバイス106が応答する状態をトリガする状態をシミュレートするように構成されてもよい。一実施形態において、シミュレーションモジュール204はトリガ信号を生成及び/又は通信してもよい。一実施形態において、ユーザは、シミュレーションモジュール204により使用されるトリガ信号を提供してもよい。
トリガ条件を伴うシミュレーションにおいて、トリガ条件の入力に続いて、デバイス入力250が受信されてもよい。デバイス入力250は、デバイスコンフィギュレーション118が使用可能(operational)であるか否かを示してもよい。例えば、シミュレーションモジュール204はデバイス入力250とIOTデータベース116の情報とを比較し、デバイス入力250が、デバイスコンフィギュレーション118の予想されるパフォーマンスに合致するか否かを確認する。デバイス入力250が予想されるパフォーマンスに合致しないことに応じて、シミュレーションモジュール204は、そのデバイスコンフィギュレーション118が使用可能でないと判断してもよい。
シミュレーションに基づいて、確認モジュール202は、デバイスコンフィギュレーション118が使用可能であるか否かを確認してもよい。例えば、デバイスコンフィギュレーション118が使用可能であるか否かを確認する場合に、確認モジュール202は、ランナブルなコンフィギュレーションが存在するか否かを判定し、デバイスコンフィギュレーション118における競合する状況を判定してもよい。
デバイスコンフィギュレーション118が使用可能でないことに応じて、確認モジュールは、コンフィギュレーションモジュール206に信号を伝達してもよい。コンフィギュレーションモジュール206は、1つ以上の代替的なIOTデバイス(例えば、IOTデバイス106)を含めるようにデバイスコンフィギュレーション118を再構成し及び/又は代替的なIOTデバイス間のネットワークコネクションを更新してもよい。ネットワークコネクションが更新された後に、シミュレーションモジュール204は、代替的なIOTデバイス及び/又はネットワークコネクション情報に関するIOTデータベース116内の情報を利用して、デバイスコンフィギュレーション118を改めてシミュレートしてもよい。
デバイスコンフィギュレーション118が使用可能であることに応じて、確認モジュール202は、その旨を表す信号をマーケットプレイスモジュール210に伝達する。マーケットプレイスモジュール210は、マーケットプレイスを表示するように構成される。一実施形態において、マーケットプレイスはユーザ装置112に伝えられる。別の実施形態において、ユーザ装置112(のユーザ)は、コンフィギュレーションコントローラ104及び/又はシステムサーバ126にアクセスすることにより、マーケットプレイスを見てやり取りを行ってもよい。
マーケットプレイスは、IOTデバイス及び/又は仮想的な機器(例えば、ゲートウェイモジュール及びクラウドサービス)の1つ以上のリストを提供し、物理的なIOTデバイス、ソリューションテンプレート、仮想的な機器又はそれらの何らかの組み合わせの購入を可能にする。追加的又は代替的に、マーケットプレイスは、ユーザがIOTデバイス及び/又は仮想的な機器を購入する1つ以上の商用サイトとのインタフェースとなってもよいし或いはそこへのリンクを提供してもよい。
一実施形態では、コンフィギュレーションモジュール206がネットワークコネクションを設定する前に、マーケットプレイスモジュール210は、IOTデバイス、ソリューションテンプレート及び仮想的な機器のリストを提供してもよい。一実施形態において、マーケットプレイスモジュール210は或るリストを提供し、そのリストから、IOTデバイス選択230及び/又はテンプレート選択232がなされる。例えば、IOTデバイス選択230は、リストに含まれる1つ以上のIOTデバイス106の選択を含んでよい。これら及び他の実施形態において、ネットワークコネクションは、マーケットプレイスモジュール210により提供されるリストから選択される特定のIOTデバイス106を含むようにそれに応じて構成される。
更に、デバイスコンフィギュレーション118が使用可能であることに応じて、確認モジュール202は、その旨を表す信号を配備モジュール208に伝達する。配備モジュール208はデバイスコンフィギュレーション118を配備するように構成される。
一実施形態において、配備モジュール208は、IOTデバイス106についての提案される配備の場所を、ユーザ装置112によりユーザに伝えるように構成されてもよい。例えば、配備モジュール208は、第1のIOTデバイス106Aと第2のIOTデバイス106Bとの間の具体的な距離を伝達してもよい。追加的又は代替的に、配備モジュール208は、例えば、「エントリホールの天井に、正面ドアから3フィート離れて第1のIOTデバイス106Aを配置する」というように、第1のIOTデバイス106Aの正確な場所を伝達してもよい。
配備モジュール208は、コンフィギュレーションパラメータ226をIOTデバイスに伝達することを開始するために、ユーザ入力234を受信してもよい。コンフィギュレーションパラメータ226の伝達を開始するためのユーザ入力234は、図2において、開始メッセージ254により表現されている。例えば、配備モジュール208は、IOTデバイス106の配備位置をユーザに伝えてもよい。ユーザは、配備位置に従ってIOTデバイス106を配置してもよい。そして、ユーザは、IOTデバイス106が配備されることを示す指示メッセージ254をユーザ装置112を介して伝達してもよい。
配備モジュール208は、コンフィギュレーションパラメータ226を、IOTデバイス106にアップロードし及びデバイスコンフィギュレーション118に含まれる任意の仮想的な機器、物理ハブ、ゲートウェイ等にアップロードしてもよい。コンフィギュレーションパラメータ226は、デバイスコンフィギュレーション118に従って動作するようにIOTデバイスをプログラムする或いは構成するのに十分な情報を含む。配備モジュール208は、コンフィギュレーションパラメータ226がIOTデバイス106に適切に伝達されたことをユーザに通知してもよい。
配備モジュール208はその後にデバイスコンフィギュレーション118を確認してもよい。配備モジュール208は、トリガ信号を利用してデバイスコンフィギュレーション118を確認(又は承認)してもよい。一実施形態において、トリガ信号は、デバイスコンフィギュレーション118におけるトリガ状態(条件)をマニュアルでシミュレートするために十分なユーザ入力を含んでよい。例えば、ユーザは1つ以上のIOTデバイス106にマニュアルでトリガを与えてもよい。これに応答して、IOTデバイス106は通信モジュール252にデバイス入力250を伝達してもよい。配備モジュール208は、トリガ状態からの結果のデバイス入力250を記録する。そして、配備モジュール208は、IOTデータベース116内の機能に基づいて予想されるパフォーマンスとデバイス入力250とを比較する。ミスマッチが存在する場合、配備モジュール208は、ミスマッチを示すチケットメッセージを生成してもよい。
配備モジュール208は、更に、デバイスコンフィギュレーション118の実際の使用中にデバイス入力を記録してもよい。例えば、デバイスコンフィギュレーション118が使用される場合に、1つ以上の実際のトリガ状態が生じるかもしれない。配備モジュール208は、実際のトリガ状態から生成されるデバイス入力250を受信する。配備モジュール208は、実際のトリガ状態からのデバイス入力250と、IOTデータベース116内の機能に基づく予想されるパフォーマンスとを比較する。ミスマッチが存在する場合、配備モジュール208は、ミスマッチを示すチケットメッセージを生成し、例えば、チケットメッセージをアドミニストレータに伝える。
図4A及び図4Bは、本願で開示される少なくとも1つの実施形態により構成されるデバイスコンフィギュレーションを構築する方法例400のフローチャートである。一実施形態において、方法400は図1及び図2に関連して説明されるシステムサーバ126によりプログラム可能に実行されてよい。システムサーバ126は1つ以上の一時的でないコンピュータ読み取り可能な媒体(例えば、図2のメモリ216)を含んでもよいし或いはそれに通信可能に結合されてもよく、媒体は、媒体に保存される又は媒体にエンコードされるプログラミングコード又は命令を有し、プログラミングコード又は命令は、方法400を実行する又は実行を引き起こすためにプロセッサにより実行可能である。追加的又は代替的に、システムサーバ126は1つ以上のプロセッサ(例えば、図2のプロセッサ212)を含み、プロセッサは方法400の実行を引き起こす又は制御するためにコンピュータ命令を実行するように構成される。個々のブロックとして示されるが、所望の実現手段に依存して、様々なブロックは、追加的なブロックに分割されてもよいし、より少ない数のブロックに統合されてもよいし或いは削除されてもよい。
図4Aに関し、方法400はブロック402から始まってもよい。ブロック402ではユーザ入力が受け取られる。ユーザ入力はユーザ装置から受信されてもよい。ユーザ入力は、デバイスコンフィギュレーションのソリューションテンプレートに有効である。デバイスコンフィギュレーションは、2つ以上のIOTデバイス間の特定の自動的な相互作用に対するものであってよい。一実施形態では、システムサーバがユーザ入力を受けてもよい。例えば、図2に関し、システムサーバ126はユーザ装置112からユーザ入力234を受信してもよい。例えば、図2に関し、ユーザ入力234はテンプレート選択232を含んでもよい。ユーザ入力234はシステムサーバ126の通信ユニット214により受信されてもよい。
ブロック404において、デバイスコンフィギュレーションに対する完全なソリューションテンプレートが選択されたか否かが判定される。一実施形態では、確認モジュールが、デバイスコンフィギュレーションについて完全なソリューションテンプレートが選択されたか否かを判定してもよい。一実施形態では、判定(又は確認)がなされるように、完全なソリューションテンプレートはマークされてもよい(印が付けられてもよい)。例えば、確認モジュールは、テンプレート選択232が完全なソリューションテンプレートを含むか否かを判定してもよい。完全なソリューションテンプレートが選択されることに応じて(ブロック404で「YES」)、本方法はブロック420に進む。部分的なソリューションテンプレートが選択されることに応じて(ブロック404で「NO」)、本方法はブロック406に進む。
ブロック406において、追加的なユーザ入力が受け取られる。追加的なユーザ入力は、部分的なソリューションテンプレートに組み込まれる2つ以上のIOTデバイスを選択するのに有効である。一実施形態では、システムサーバがユーザ入力を受け取ってもよい。例えば、通信ユニット214はユーザ装置112から伝達されるIOTデバイス選択230を受信してもよい。ブロック408において、IOTデータベース内のデバイス機能がアクセスされる。特に、選択されるIOTデバイスのデバイス機能がアクセスされる。一実施形態では、コンフィギュレーションモジュールがデバイス機能にアクセスしてもよい。例えば、図2のコンフィギュレーションモジュール206が、IOTデバイス106に関し、IOTデータベース116内のデバイス機能にアクセスしてもよい。
ブロック410において、選択されたIOTデバイス間にネットワークコネクションが設定される。一実施形態では、コンフィギュレーションモジュールがネットワークコネクションを構築してもよい。例えば、コンフィギュレーションモジュール206は、第1のIOTデバイス106Aと第2のIOTデバイス106Bとの間にネットワークコネクションを構築してもよい。図1に関し、ネットワークコネクションはネットワーク124の一部分を含んでもよい。一実施形態において、ネットワークコネクションを構築することは、選択されたIOTデバイスが互いに通信できるか否かについての判定を含んでもよい。選択されたデバイスが互いに通信できることに応じて、選択されたIOTデバイス間の通信を可能にする1つ以上のコンフィギュレーションパラメータが生成されてもよい。選択されたデバイスが互いには(直接的には)通信できないことに応じて、物理ハブ及びゲートウェイモジュールの1つ以上を用いることで、選択されたIOTデバイス間の通信を可能にするコンフィギュレーションパラメータが生成されてもよい。
図4Bに関し、ブロック412において、デバイスコンフィギュレーションがシミュレートされる。一実施形態において、デバイスコンフィギュレーションは、IOTデバイスに対するIOTデータベース中のアクセスされる機能を利用してシミュレートされる。例えば、図2のシミュレーションモジュール204のようなシミュレーションモジュールは、IOTデータベース116中のアクセスされるデバイス機能を利用して、デバイスコンフィギュレーション118をシミュレートしてもよい。ブロック414において、デバイスコンフィギュレーションは使用可能であるか否かが判定される。例えば、確認モジュール202のような確認モジュールが、デバイスコンフィギュレーションは使用可能であるか否かを判定してもよい。一実施形態において、デバイスコンフィギュレーションが使用可能であるか否かの判定は、ランナブルコンフィギュレーションが存在するか否かを確認すること、及び、デバイスコンフィギュレーションにおける競合する状況を確認することを含む。デバイスコンフィギュレーションが使用可能でないことに応じて(414において「NO」)、本方法400はブロック416に進む。デバイスコンフィギュレーションが使用可能であることに応じて(414において「YES」)、本方法400はブロック418に進む。
ブロック416において、デバイスコンフィギュレーションは再構成される。一実施形態において、デバイスコンフィギュレーションは、1つ以上の代替的なIOTデバイスを含むように再構成されてもよい。例えば、図2に関し、デバイスコンフィギュレーション118は、当初は、第1のIOTデバイス106Aを含むとする。確認モジュール202は、デバイスコンフィギュレーション118が使用可能でない旨の判定を行うとする。すると、コンフィギュレーションモジュール206は、第2のIOTデバイス106Bを含むようにデバイスコンフィギュレーションを再構成してもよい。ブロック416に続いて、本方法400はブロック410又はブロック402に進んでよい。例えば、デバイスコンフィギュレーションが代替的なIOTデバイスを含むように再構成される場合、本方法400はブロック410に進んでよい。追加的又は代替的に、例えば特定の状況では不適切であるような大きな(又は重要な)問題に起因して、デバイスコンフィギュレーションが使用可能でない場合、本方法400はブロック402に進む。
ブロック418において、マーケットプレイスが表示されてもよい。マーケットプレイスは、物理的なIOTデバイス、ソリューションテンプレート、仮想的な機器、或いは、それらの何らかの組み合わせについての1つ以上のリストを提供してもよい。更に、マーケットプレイスは、物理的なIOTデバイス及び/又は仮想的な機器の購入を可能にしてもよい。例えば、図2のマーケットプレイスモジュール210のようなマーケットプレイスモジュールは、ユーザ装置112にマーケットプレイスを表示してもよい。マーケットプレイスは、第1のIOTデバイス106Aを含むリストを含んでもよい。マーケットプレイスは、第1のIOTデバイス106Aの購入を可能にしてもよい。一実施形態において、方法400のブロック418は、ブロック402に先行して及び/又はブロック406に先行して行われてもよい。例えば、ユーザは、マーケットプレイスを利用して、(ブロック402において)ソリューションテンプレートを選択してもよいし、及び/又は、(ブロック406において)1つ以上のIOTデバイスを選択してもよい。
ブロック420において、デバイスコンフィギュレーションが配備されてもよい。例えば、図2の通信ユニット214及び配備モジュール208のような通信ユニット及び配備モジュールは、コンフィギュレーションパラメータとともにIOTデバイス106を更新してもよい。ブロック422において、デバイスコンフィギュレーションが確認されてもよい。デバイスコンフィギュレーションは、トリガ信号を用いて確認されてもよい。例えば、配備モジュール208のような配備モジュールは、デバイスコンフィギュレーション118を確認(又は承認)してもよい。デバイスコンフィギュレーションが確認(又は承認)されない状況では、本方法400はブロック402又はブロック410に進む。方法400がブロック402に進むのか或いはブロック410に進むのかについての判断は、デバイスコンフィギュレーションが確認(又は承認)されない理由に基づいてもよい。例えば、未知のソリューションテンプレートに起因してデバイスコンフィギュレーションが確認されない場合、方法400はブロック402に進んでもよい。追加的又は代替的に、実行不可能なネットワークコネクションに起因してデバイスコンフィギュレーションが確認されない場合、方法400はブロック410に進んでもよい。
本願で説明されるこれら及び他のプロセス及び方法に関し、プロセス及び方法で実行される機能は異なる順序で実現されてもよいことを、当業者は認めるであろう。更に、説明されるステップ及び処理は具体例として与えられているに過ぎず、開示される実施形態から逸脱することなく、何らかのステップ及び処理は、選択的であってもよいし、より少ない数のステップ及び処理に統合されてもよいし、或いは、追加的なステップ及び処理に拡張されてもよい。
図5は、本願で説明される少なくとも1つの実施形態により構成されるデバイスコンフィギュレーションをシミュレーションする方法例500のフローチャートである。一実施形態において、方法500は図1及び図2に関連して説明されるシステムサーバ126によりプログラム可能に実行されてよい。システムサーバ126は1つ以上の一時的でないコンピュータ読み取り可能な媒体(例えば、図2のメモリ216)を含んでもよいし或いはそれに通信可能に結合されてもよく、媒体は、媒体に保存される又は媒体にエンコードされるプログラミングコード又は命令を有し、プログラミングコード又は命令は、方法500を実行する又は実行を引き起こすためにプロセッサにより実行可能である。追加的又は代替的に、システムサーバ126は1つ以上のプロセッサ(例えば、図2のプロセッサ212)を含み、プロセッサは方法500の実行を引き起こす又は制御するためにコンピュータ命令を実行するように構成される。個々のブロックとして示されるが、所望の実現手段に依存して、様々なブロックは、追加的なブロックに分割されてもよいし、より少ない数のブロックに統合されてもよいし或いは削除されてもよい。
方法500はブロック502から始まる。ブロック502において、IOTデバイス間の相互作用の実現可能性が確認される。例えば、図2のシミュレーションモジュール204のようなシミュレーションモジュールが、第1のIOTデバイス106Aと第2のIOTデバイス106Bとの間の相互作用の実現可能性を確認してもよい。ブロック504において、相互作用は安全性の問題を招かないことが確認される。例えば、シミュレーションモジュール204のようなシミュレーションモジュールは、デバイスコンフィギュレーション118が、火事や靱帯損傷などのような安全性の懸念を招かないことを保証してもよい。
ブロック506において、相互作用はプライバシの問題を招かないことが確認される。例えば、図2に関し、シミュレーションモジュール204は、デバイスコンフィギュレーション118がプライバシの問題を招かないことを保証してもよい。プライバシの問題は、個人情報を公のサイトに公表することを含んでもよい。ブロック508において、デバイスコンフィギュレーションをデバッグするために、ステップバイステップの検査が実行されてもよい。例えば、シミュレーションモジュール204は、デバイスコンフィギュレーション118のステップバイステップ検査(又は段階的な検査)を行ってもよい。一実施形態において、シミュレーションは1つ以上のトリガ状態を含んでもよい。トリガ状態は、図2のシミュレーションモジュール204のようなシミュレーションモジュールにより提供されてもよい。追加的又は代替的に、トリガ状態(又は条件)は、シミュレーションに関わるIOTデバイスに対するユーザによる入力であってもよい。例えば、第1のデバイスコンフィギュレーション118Aのシミュレーションの際に、ユーザ102は、第1のIOTデバイス106Aに対するトリガ条件を入力してもよい。トリガ条件を含むシミュレーションにおいて、トリガ条件の入力に続いて、デバイス入力が受信されてもよい。デバイス入力は、デバイスコンフィギュレーションが使用可能であるか否かを示す。例えば、デバイス入力がデバイスコンフィギュレーションの予想されるパフォーマンスに合致するか否かを確認するために、デバイス入力は、IOTデータベースにおける情報と比較されてもよい。
図6は、本願で説明される少なくとも1つの実施形態により構成されるデバイスコンフィギュレーションを配備する方法例600のフローチャートである。一実施形態において、方法600は図1及び図2に関連して説明されるシステムサーバ126によりプログラム可能に実行されてよい。システムサーバ126は1つ以上の一時的でないコンピュータ読み取り可能な媒体(例えば、図2のメモリ216)を含んでもよいし或いはそれに通信可能に結合されてもよく、媒体は、媒体に保存される又は媒体にエンコードされるプログラミングコード又は命令を有し、プログラミングコード又は命令は、方法600を実行する又は実行を引き起こすためにプロセッサにより実行可能である。追加的又は代替的に、システムサーバ126は1つ以上のプロセッサ(例えば、図2のプロセッサ212)を含み、プロセッサは方法600の実行を引き起こす又は制御するためにコンピュータ命令を実行するように構成される。個々のブロックとして示されるが、所望の実現手段に依存して、様々なブロックは、追加的なブロックに分割されてもよいし、より少ない数のブロックに統合されてもよいし或いは削除されてもよい。
方法600はブロック602から始まる。ブロック602において、提案される配備場所が伝達される。提案される配備場所は、デバイスコンフィギュレーションに含まれる1つ以上のIOTデバイスに対するものであってよい。提案される配備場所はユーザに伝えられる。例えば、図1に関し、提案される配備場所は、コンフィギュレーションコントローラ104により、ネットワーク124を介してユーザ装置112に伝えられてもよい。
ブロック604において、ユーザ入力が受信されてもよい。ユーザ入力は、コンフィギュレーションパラメータをIOTデバイスに通知することを開始するように構成されてもよい。例えば、図1に関し、ユーザ102は、コンフィギュレーションパラメータをIOTデバイス106に通知することを開始するように構成されるユーザ入力を伝達してもよい。一実施形態において、ユーザ入力は、提案される配備場所にユーザ102が1つ以上のIOTデバイス106を配置することに応じていてもよい。
ブロック606において、コンフィギュレーションパラメータはIOTデバイスにアップロードされてもよい。例えば、図1に関し、コンフィギュレーションパラメータはシステムサーバ126からIOTデバイス106へネットワークを介してアップロードされてもよい。コンフィギュレーションパラメータは、クラウドサーバ108、ゲートウェイモジュール110、物理ハブ120又はそれらの何らかの組み合わせにアップロードされてもよい。ブロック608において、ユーザは、コンフィギュレーションパラメータがIOTデバイスに適切にアップロードされたことの通知を受ける。例えば、システムサーバ126はユーザ装置112を介してユーザ102に通知してもよい。
図7は、本願で説明される少なくとも1つの実施形態により構成されるデバイスコンフィギュレーションを確認する方法例700のフローチャートである。一実施形態において、方法700は図1及び図2に関連して説明されるシステムサーバ126によりプログラム可能に実行されてよい。システムサーバ126は1つ以上の一時的でないコンピュータ読み取り可能な媒体(例えば、図2のメモリ216)を含んでもよいし或いはそれに通信可能に結合されてもよく、媒体は、媒体に保存される又は媒体にエンコードされるプログラミングコード又は命令を有し、プログラミングコード又は命令は、方法700を実行する又は実行を引き起こすためにプロセッサにより実行可能である。追加的又は代替的に、システムサーバ126は1つ以上のプロセッサ(例えば、図2のプロセッサ212)を含み、プロセッサは方法700の実行を引き起こす又は制御するためにコンピュータ命令を実行するように構成される。個々のブロックとして示されるが、所望の実現手段に依存して、様々なブロックは、追加的なブロックに分割されてもよいし、より少ない数のブロックに統合されてもよいし或いは削除されてもよい。
方法700はブロック702から始まる。ブロック702において、デバイス入力が受信される。デバイス入力は、デバイスコンフィギュレーションにおいてトリガ状態をマニュアルでエミュレートするIOTデバイスに対するユーザ入力から生じてもよい。例えば、図1に関し、第1のIOTデバイス106Aが第1のデバイスコンフィギュレーション118Aに含まれるとする。ユーザ102は第1のIOTデバイス106Aにおけるトリガ状態をマニュアルでエミュレートする。これに応じて、第1のIOTデバイス106Aはデバイス入力をシステムサーバ126に伝達する。
ブロック704において、エミュレートされたトリガ状態から生じるデバイス入力が記録される。例えば、図2に関し、配備モジュール208は、第1のIOTデバイス106Aから伝達されるデバイス入力250を記録してもよい。ブロック706において、デバイス入力は、IOTデータベース内の機能に基づいて予想されるパフォーマンスと比較される。例えば、図2に関し、配備モジュール208は、IOTデータベース116内の第1のIOTデバイス106Aの機能に基づいて、予想されるパフォーマンスとデバイス入力250とを比較してもよい。
ブロック708において、ミスマッチが存在する場合に、ミスマッチを示すチケットメッセージが生成される。例えば、配備モジュール208は、第1のIOTデバイス106Aからのデバイス入力250と第1のIOTデバイス106Aの予想されるパフォーマンスとの間のミスマッチ(不一致又は不整合)を発見してもよい。第1のIOTデバイス106Aの予想されるパフォーマンスは、IOTデータベース116内の機能に少なくとも部分的に基づいてよい。
ここで説明される実施形態は、本願で詳細に説明されるように、コンピュータハードウェア又はソフトウェアモジュールを含む専用又は汎用のコンピュータを利用することを含む。
ここで説明される実施形態は、媒体に保存されるコンピュータ実行可能な命令又はデータ構造を担う又は有するコンピュータ読み取り可能な媒体を用いて実現されてよい。そのようなコンピュータ読み取り可能な媒体は、汎用又は専用のコンピュータによりアクセスされる利用可能な任意の媒体であってもよい。限定ではない具体例として、そのようなコンピュータ読み取り可能な媒体は非一時的なコンピュータ読み取り可能な記憶媒体を含み、記憶媒体は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的に消去可能でプログラム可能なリードオンリメモリ(EEPROM)、コンパクトディスクリードオンリメモリ(CD-ROM)又は他の光ディスクストレージ、磁気ディスクストレージ又は他の磁気ストレージデバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)を含み、或いは、コンピュータ実行可能な命令又はデータ構造の形式で所望のプログラムコードを担う又は保存するために使用され及び汎用又は専用のコンピュータによりアクセスされる他の任意のストレージ媒体を含んでよい。上述したものの組み合わせもコンピュータ読み取り可能な媒体の範囲に包含されてよい。
コンピュータ実行可能な命令は、例えば、汎用コンピュータ、専用コンピュータ又は専用の処理装置(例えば、1つ以上のプロセッサ)に、所定の機能又は機能群を実行させる命令及びデータを含んでよい。対象の内容は構造的な特徴及び/又は方法的な処理に特化した言葉で説明されているが、本願で規定される対象の内容は上述の具体的な特徴や処理に限定される必要はないことが、理解されるべきである。むしろ、上述の具体的な特徴及び処理は実施の具体的な形態として開示されている。
本願で使用されるように、「モジュール」又は「コンポーネント(要素)」等の用語は、コンピューティングシステムの汎用ハードウェア(例えば、コンピュータ読み取り可能な媒体、処理装置、等々)により保存及び/又は実行されるモジュール又はコンポーネント及び/又はソフトウェアオブジェクト又はソフトウェアルーチンの処理を実行するように構成される具体的なハードウェア実現手段を指してもよい。一実施形態では、本願で説明される様々なコンポーネント、モジュール、エンジン及びサービスは、コンピューティングシステムで実行されるオブジェクト又はプロセス(例えば、個別的なスレッド)として実現されてもよい。ここで説明されるいくつかのシステム及び方法は(汎用ハードウェアによって保存及び/又は実行される)ソフトウェアで実現されるように一般的に説明されるが、特定のハードウェア実現手段、或いは、ソフトウェア及び特定のハードウェアの実現手段の組み合わせも使用可能であり、それらも本願で想定されている。本説明において、「コンピューティング装置(エンティティ)」は、上記に規定されるような何らかのコンピューティングシステム、或いは、コンピューティングシステムで動作する何らかのモジュール又はモジュールの組み合わせであってもよい。
本願で言及される全ての具体例及び条件付けの言葉は、技術進歩に対して発明者が貢献した技術思想及び概念を読者が理解することを促す教示的な目的を意図しており、そのように具体的に言及される具体例や条件に限定することなく解釈されるべきである。本願の実施形態は詳細に説明されてきたが、それらに対する様々な変形、置換及び代替が、本願の精神及び範囲から逸脱することなく可能であることが、理解されるべきである。
以上の実施の形態に関し、更に以下の付記を開示する。
(付記1)
2つ以上の「モノのインターネット」(IOT)デバイス間の特定の自動的な相互作用のデバイスコンフィギュレーションに関するソリューションテンプレートを選択するのに有効なユーザ入力を受ける工程;
前記デバイスコンフィギュレーションに関する完全なソリューションテンプレートが選択されるか否かを判定する工程;
部分的なソリューションテンプレートが選択されることに応じて:
前記部分的なソリューションテンプレートに組み込まれる2つ以上のIOTデバイスを選択するのに有効な追加的なユーザ入力を受けること;
IOTデータベース内の選択されるIOTデバイスのデバイス機能にアクセスすること;
前記選択されるIOTデバイス間にネットワークコネクションを設定すること;
前記選択されるIOTデバイスに対する前記IOTデータベース内でアクセスされる前記デバイス機能を利用してデバイスコンフィギュレーションをシミュレーションすること;
前記シミュレーションに基づいて、前記デバイスコンフィギュレーションが使用可能であるか否かを判定すること;
前記デバイスコンフィギュレーションが使用可能でないことに応じて、1つ以上の代替的なIOTデバイスを含むように前記デバイスコンフィギュレーションを再構成すること;及び
前記デバイスコンフィギュレーションが使用可能であることに応じて、前記デバイスコンフィギュレーションを配備すること;
を行う工程;並びに
前記完全なソリューションテンプレートが選択されることに応じて、前記デバイスコンフィギュレーションを配備する工程;
を有する方法。
(付記2)
トリガ信号に基づいて前記デバイスコンフィギュレーションを確認する工程を更に有する付記1に記載の方法。
(付記3)
前記確認する工程は、
前記デバイスコンフィギュレーションにおけるトリガ状態をマニュアルでエミュレートする何れかの選択されるIOTデバイスに対するユーザ入力から生じるデバイス入力を受信する工程;
エミュレートされるトリガ状態から生じるデバイス入力を記録する工程;
前記IOTデータベースにおける前記デバイス機能に少なくとも部分的に基づいて予想されるパフォーマンスと前記デバイス入力とを比較する工程;及び
ミスマッチが存在する場合に、前記ミスマッチを示すチケットメッセージを生成する工程;
を有する、付記2に記載の方法。
(付記4)
前記ネットワークコネクションを設定することが:
前記選択されるIOTデバイスが互いに通信できることに応じて、前記選択されるIOTデバイス間の通信を可能にするコンフィギュレーションパラメータを生成すること;
前記選択されるIOTデバイスが互いには通信できないことに応じて、物理ハブ及びゲートウェイモジュールの1つ以上を利用して、前記選択されるIOTデバイス間の通信を可能にするコンフィギュレーションパラメータを生成すること;
を含む、付記1に記載の方法。
(付記5)
前記デバイスコンフィギュレーションが使用可能であることに応じて、物理的なIOTデバイス及び仮想的な機器のリストを提供し及び前記物理的なIOTデバイス及び前記仮想的な機器のうちの1つ以上の購入を可能にするマーケットプレイスを表示する工程を更に有する付記1に記載の方法。
(付記6)
前記シミュレーションすることが:
前記IOTデバイス間の相互作用の実現可能性を確認すること;
前記相互作用は安全性の問題を招かないことを確認すること;
前記相互作用はプライバシの問題を招かないことを確認すること;及び
前記デバイスコンフィギュレーションをデバッグするためにステップバイステップの検査を実行すること;
を含む、付記1に記載の方法。
(付記7)
前記配備することが:
提案される前記IOTデバイスの配備場所をユーザに伝えること;
ユーザ入力を受信し、コンフィギュレーションパラメータを前記IOTデバイスに伝えることを開始すること;
前記コンフィギュレーションパラメータをIOTデバイスにアップロードすること;及び
前記コンフィギュレーションパラメータがIOTデバイスに適切にアップロードされたことを前記ユーザに通知すること;
を含む、付記1に記載の方法。
(付記8)
前記IOTデータベースが:
1つ以上の前記IOTデバイスの通信プロトコルを保存するデバイス機能データベース;及び
2つ以上の前記IOTデバイス間の通信を可能にするソリューションを保存するデバイス相互運用性データベース;
を含む、付記1に記載の方法。
(付記9)
前記判定する工程が:
ランナブルなコンフィギュレーションが存在するか否かを検出する工程;及び
前記デバイスコンフィギュレーションにおける競合する状況を検出する工程;
を含む、付記1に記載の方法。
(付記10)
前記IOTデバイスは、電球、照明システム、ドアロック、温水器、スプリンクラーシステム、空調機、サーモスタット、アラームクロック、窓の日よけ、スイッチ、煙報知器、カメラ、エッグマインダ、電気差し込み口、パーソナル(例えば、ピギー)バンク、プロパンタンク、アラーム、対人近接センサ、ドアセンサ、バイオメトリックセンサ、マットレス、モバイル装置、車両センサ、時計、調理装置、電気遮断機、対人警報センサ、動きセンサ、カレンダ、テレビジョン、ラジオ、無線周波数識別(RFID)タグ/RFID検出器、乗物、電気車両充電器、分散される発電機(例えば、ソーラーパネル)、分散される蓄電池(例えば、バッテリ)、及び、サーモメータのうちの1つ以上を含み;及び
前記IOTデバイスの前記デバイス機能は、メッセージキューテレメトリトランスポート(MQTT)、MQTTセンサ(MQTT-S)、制約されたアプリケーションプロトコル(CoAP)、代表ステートトランスファアプリケーションプロトコルインタフェース(REST API)、及び、拡張可能メッセージングプレゼンスプロトコル(XMPP)を含む接続プロトコルを含む、付記1に記載の方法。
(付記11)
非一時的なコンピュータ読み取り可能な媒体であって、当該媒体にエンコードされるプログラミングコードを有し、前記プログラミングコードは処理を実行するようにプロセッサにより実行可能であり、前記処理は、
2つ以上の「モノのインターネット」(IOT)デバイス間の特定の自動的な相互作用のデバイスコンフィギュレーションに関するソリューションテンプレートを選択するのに有効なユーザ入力を受ける工程;
前記デバイスコンフィギュレーションに関する完全なソリューションテンプレートが選択されるか否かを判定する工程;
部分的なソリューションテンプレートが選択されることに応じて:
前記部分的なソリューションテンプレートに組み込まれる2つ以上のIOTデバイスを選択するのに有効な追加的なユーザ入力を受けること;
IOTデータベース内の選択されるIOTデバイスのデバイス機能にアクセスすること;
前記選択されるIOTデバイス間にネットワークコネクションを設定すること;
前記選択されるIOTデバイスに対する前記IOTデータベース内でアクセスされる前記デバイス機能を利用してデバイスコンフィギュレーションをシミュレーションすること;
前記シミュレーションに基づいて、前記デバイスコンフィギュレーションが使用可能であるか否かを判定すること;
前記デバイスコンフィギュレーションが使用可能でないことに応じて、1つ以上の代替的なIOTデバイスを含むように前記デバイスコンフィギュレーションを再構成すること;及び
前記デバイスコンフィギュレーションが使用可能であることに応じて、前記デバイスコンフィギュレーションを配備すること;
を行う工程;並びに
前記完全なソリューションテンプレートが選択されることに応じて、前記デバイスコンフィギュレーションを配備する工程;
を有する、媒体。
(付記12)
前記処理が、トリガ信号に基づいて前記デバイスコンフィギュレーションを確認する工程を更に有する、付記11に記載の媒体。
(付記13)
前記確認する工程は、
前記デバイスコンフィギュレーションにおけるトリガ状態をマニュアルでエミュレートする何れかの選択されるIOTデバイスに対するユーザ入力から生じるデバイス入力を受信する工程;
エミュレートされるトリガ状態から生じるデバイス入力を記録する工程;
前記IOTデータベースにおける前記デバイス機能に少なくとも部分的に基づいて予想されるパフォーマンスと前記デバイス入力とを比較する工程;及び
ミスマッチが存在する場合に、前記ミスマッチを示すチケットメッセージを生成する工程;
を有する、付記12に記載の媒体。
(付記14)
前記ネットワークコネクションを設定することが:
前記選択されるIOTデバイスが互いに通信できることに応じて、前記選択されるIOTデバイス間の通信を可能にするコンフィギュレーションパラメータを生成すること;
前記選択されるIOTデバイスが互いには通信できないことに応じて、物理ハブ及びゲートウェイモジュールの1つ以上を利用して、前記選択されるIOTデバイス間の通信を可能にするコンフィギュレーションパラメータを生成すること;
を含む、付記11に記載の媒体。
(付記15)
前記デバイスコンフィギュレーションが使用可能であることに応じて、物理的なIOTデバイス及び仮想的な機器のリストを提供し及び前記物理的なIOTデバイス及び前記仮想的な機器のうちの1つ以上の購入を可能にするマーケットプレイスを表示する工程を更に有する付記11に記載の媒体。
(付記16)
前記シミュレーションすることが:
前記IOTデバイス間の相互作用の実現可能性を確認すること;
前記相互作用は安全性の問題を招かないことを確認すること;
前記相互作用はプライバシの問題を招かないことを確認すること;及び
前記デバイスコンフィギュレーションをデバッグするためにステップバイステップの検査を実行すること;
を含む、付記11に記載の媒体。
(付記17)
前記配備することが:
提案される前記IOTデバイスの配備場所をユーザに伝えること;
ユーザ入力を受信し、コンフィギュレーションパラメータを前記IOTデバイスに伝えることを開始すること;
前記コンフィギュレーションパラメータをIOTデバイスにアップロードすること;及び
前記コンフィギュレーションパラメータがIOTデバイスに適切にアップロードされたことを前記ユーザに通知すること;
を含む、付記14に記載の媒体。
(付記18)
前記IOTデータベースが:
1つ以上の前記IOTデバイスの通信プロトコルを保存するデバイス機能データベース;及び
2つ以上の前記IOTデバイス間の通信を可能にするソリューションを保存するデバイス相互運用性データベース;
を含む、付記11に記載の媒体。
(付記19)
前記判定する工程が:
ランナブルなコンフィギュレーションが存在するか否かを検出する工程;及び
前記デバイスコンフィギュレーションにおける競合する状況を検出する工程;
を含む、付記11に記載の媒体。
(付記20)
前記IOTデバイスは、電球、照明システム、ドアロック、温水器、スプリンクラーシステム、空調機、サーモスタット、アラームクロック、窓の日よけ、スイッチ、煙報知器、カメラ、エッグマインダ、電気差し込み口、パーソナル(例えば、ピギー)バンク、プロパンタンク、アラーム、対人近接センサ、ドアセンサ、バイオメトリックセンサ、マットレス、モバイル装置、車両センサ、時計、調理装置、電気遮断機、対人警報センサ、動きセンサ、カレンダ、テレビジョン、ラジオ、無線周波数識別(RFID)タグ/RFID検出器、乗物、電気車両充電器、分散される発電機(例えば、ソーラーパネル)、分散される蓄電池(例えば、バッテリ)、及び、サーモメータのうちの1つ以上を含み;及び
前記IOTデバイスの前記デバイス機能は、メッセージキューテレメトリトランスポート(MQTT)、MQTTセンサ(MQTT-S)、制約されたアプリケーションプロトコル(CoAP)、代表ステートトランスファアプリケーションプロトコルインタフェース(REST API)、及び、拡張可能メッセージングプレゼンスプロトコル(XMPP)を含む接続プロトコルを含む、付記11に記載の媒体。
100 IOTシステム
102 ユーザ
104 コンフィギュレーションコントローラ
106 IOTデバイス
108 クラウドサーバ
110 ゲートウェイモジュール
112 ユーザ装置
114 ユーザモジュール
116 IOTデータベース
118 デバイスコンフィギュレーション
120 物理ハブ
124 ネットワーク
126 システムサーバ
128 ベンダ
130 ベンダサーバ

Claims (20)

  1. 2つ以上の「モノのインターネット」(IOT)デバイス間の特定の自動的な相互作用のデバイスコンフィギュレーションに関するソリューションテンプレートを選択するのに有効なユーザ入力を受ける工程;
    前記デバイスコンフィギュレーションに関する完全なソリューションテンプレートが選択されるか否かを判定する工程;
    部分的なソリューションテンプレートが選択されることに応じて:
    前記部分的なソリューションテンプレートに組み込まれる2つ以上のIOTデバイスを選択するのに有効な追加的なユーザ入力を受けること;
    IOTデータベース内の選択されるIOTデバイスのデバイス機能にアクセスすること;
    前記選択されるIOTデバイス間にネットワークコネクションを設定すること;
    前記選択されるIOTデバイスに対する前記IOTデータベース内でアクセスされる前記デバイス機能を利用してデバイスコンフィギュレーションをシミュレーションすること;
    前記シミュレーションに基づいて、前記デバイスコンフィギュレーションが使用可能であるか否かを判定すること;
    前記デバイスコンフィギュレーションが使用可能でないことに応じて、1つ以上の代替的なIOTデバイスを含むように前記デバイスコンフィギュレーションを再構成すること;及び
    前記デバイスコンフィギュレーションが使用可能であることに応じて、前記デバイスコンフィギュレーションを配備すること;
    を行う工程;並びに
    前記完全なソリューションテンプレートが選択されることに応じて、前記デバイスコンフィギュレーションを配備する工程;
    を有する方法。
  2. トリガ信号に基づいて前記デバイスコンフィギュレーションを確認する工程を更に有する請求項1に記載の方法。
  3. 前記確認する工程は、
    前記デバイスコンフィギュレーションにおけるトリガ状態をマニュアルでエミュレートする何れかの選択されるIOTデバイスに対するユーザ入力から生じるデバイス入力を受信する工程;
    エミュレートされるトリガ状態から生じるデバイス入力を記録する工程;
    前記IOTデータベースにおける前記デバイス機能に少なくとも部分的に基づいて予想されるパフォーマンスと前記デバイス入力とを比較する工程;及び
    ミスマッチが存在する場合に、前記ミスマッチを示すチケットメッセージを生成する工程;
    を有する、請求項2に記載の方法。
  4. 前記ネットワークコネクションを設定することが:
    前記選択されるIOTデバイスが互いに通信可能であることに応じて、前記選択されるIOTデバイス間の通信を可能にするコンフィギュレーションパラメータを生成すること;
    前記選択されるIOTデバイスが互いには通信可能でないことに応じて、物理ハブ及びゲートウェイモジュールの1つ以上を利用して、前記選択されるIOTデバイス間の通信を可能にするコンフィギュレーションパラメータを生成すること;
    を含む、請求項1に記載の方法。
  5. 前記デバイスコンフィギュレーションが使用可能であることに応じて、物理的なIOTデバイス及び仮想的な機器のリストを提供し及び前記物理的なIOTデバイス及び前記仮想的な機器のうちの1つ以上の購入を可能にするマーケットプレイスを表示する工程を更に有する請求項1に記載の方法。
  6. 前記シミュレーションすることが:
    前記IOTデバイス間の相互作用の実現可能性を確認すること;
    前記相互作用は安全性の問題を招かないことを確認すること;
    前記相互作用はプライバシの問題を招かないことを確認すること;及び
    前記デバイスコンフィギュレーションをデバッグするためにステップバイステップの検査を実行すること;
    を含む、請求項1に記載の方法。
  7. 前記配備することが:
    提案される前記IOTデバイスの配備場所をユーザに伝えること;
    ユーザ入力を受信し、コンフィギュレーションパラメータを前記IOTデバイスに伝えることを開始すること;
    前記コンフィギュレーションパラメータをIOTデバイスにアップロードすること;及び
    前記コンフィギュレーションパラメータがIOTデバイスに適切にアップロードされたことを前記ユーザに通知すること;
    を含む、請求項1に記載の方法。
  8. 前記IOTデータベースが:
    1つ以上の前記IOTデバイスの通信プロトコルを保存するデバイス機能データベース;及び
    2つ以上の前記IOTデバイス間の通信を可能にするソリューションを保存するデバイス相互運用性データベース;
    を含む、請求項1に記載の方法。
  9. 前記判定する工程が:
    ランナブルなコンフィギュレーションが存在するか否かを検出する工程;及び
    前記デバイスコンフィギュレーションにおける競合する状況を検出する工程;
    を含む、請求項1に記載の方法。
  10. 前記IOTデバイスは、電球、照明システム、ドアロック、温水器、スプリンクラーシステム、空調機、サーモスタット、アラームクロック、窓の日よけ、スイッチ、煙報知器、カメラ、エッグマインダ、電気差し込み口、パーソナル(例えば、ピギー)バンク、プロパンタンク、アラーム、対人近接センサ、ドアセンサ、バイオメトリックセンサ、マットレス、モバイル装置、車両センサ、時計、調理装置、電気遮断機、対人警報センサ、動きセンサ、カレンダ、テレビジョン、ラジオ、無線周波数識別(RFID)タグ/RFID検出器、乗物、電気車両充電器、分散される発電機(例えば、ソーラーパネル)、分散される蓄電池(例えば、バッテリ)、及び、サーモメータのうちの1つ以上を含み;及び
    前記IOTデバイスの前記デバイス機能は、メッセージキューテレメトリトランスポート(MQTT)、MQTTセンサ(MQTT-S)、制約されたアプリケーションプロトコル(CoAP)、代表ステートトランスファアプリケーションプロトコルインタフェース(REST API)、及び、拡張可能メッセージングプレゼンスプロトコル(XMPP)を含む接続プロトコルを含む、請求項1に記載の方法。
  11. 非一時的なコンピュータ読み取り可能な媒体であって、当該媒体にエンコードされるプログラミングコードを有し、前記プログラミングコードは処理を実行するようにプロセッサにより実行可能であり、前記処理は、
    2つ以上の「モノのインターネット」(IOT)デバイス間の特定の自動的な相互作用のデバイスコンフィギュレーションに関するソリューションテンプレートを選択するのに有効なユーザ入力を受ける工程;
    前記デバイスコンフィギュレーションに関する完全なソリューションテンプレートが選択されるか否かを判定する工程;
    部分的なソリューションテンプレートが選択されることに応じて:
    前記部分的なソリューションテンプレートに組み込まれる2つ以上のIOTデバイスを選択するのに有効な追加的なユーザ入力を受けること;
    IOTデータベース内の選択されるIOTデバイスのデバイス機能にアクセスすること;
    前記選択されるIOTデバイス間にネットワークコネクションを設定すること;
    前記選択されるIOTデバイスに対する前記IOTデータベース内でアクセスされる前記デバイス機能を利用してデバイスコンフィギュレーションをシミュレーションすること;
    前記シミュレーションに基づいて、前記デバイスコンフィギュレーションが使用可能であるか否かを判定すること;
    前記デバイスコンフィギュレーションが使用可能でないことに応じて、1つ以上の代替的なIOTデバイスを含むように前記デバイスコンフィギュレーションを再構成すること;及び
    前記デバイスコンフィギュレーションが使用可能であることに応じて、前記デバイスコンフィギュレーションを配備すること;
    を行う工程;並びに
    前記完全なソリューションテンプレートが選択されることに応じて、前記デバイスコンフィギュレーションを配備する工程;
    を有する、媒体。
  12. 前記処理が、トリガ信号に基づいて前記デバイスコンフィギュレーションを確認する工程を更に有する、請求項11に記載の媒体。
  13. 前記確認する工程は、
    前記デバイスコンフィギュレーションにおけるトリガ状態をマニュアルでエミュレートする何れかの選択されるIOTデバイスに対するユーザ入力から生じるデバイス入力を受信する工程;
    エミュレートされるトリガ状態から生じるデバイス入力を記録する工程;
    前記IOTデータベースにおける前記デバイス機能に少なくとも部分的に基づいて予想されるパフォーマンスと前記デバイス入力とを比較する工程;及び
    ミスマッチが存在する場合に、前記ミスマッチを示すチケットメッセージを生成する工程;
    を有する、請求項12に記載の媒体。
  14. 前記ネットワークコネクションを設定することが:
    前記選択されるIOTデバイスが互いに通信可能であることに応じて、前記選択されるIOTデバイス間の通信を可能にするコンフィギュレーションパラメータを生成すること;
    前記選択されるIOTデバイスが互いには通信可能でないことに応じて、物理ハブ及びゲートウェイモジュールの1つ以上を利用して、前記選択されるIOTデバイス間の通信を可能にするコンフィギュレーションパラメータを生成すること;
    を含む、請求項11に記載の媒体。
  15. 前記処理が、前記デバイスコンフィギュレーションが使用可能であることに応じて、物理的なIOTデバイス及び仮想的な機器のリストを提供し及び前記物理的なIOTデバイス及び前記仮想的な機器のうちの1つ以上の購入を可能にするマーケットプレイスを表示する工程を更に有する、請求項11に記載の媒体。
  16. 前記シミュレーションすることが:
    前記IOTデバイス間の相互作用の実現可能性を確認すること;
    前記相互作用は安全性の問題を招かないことを確認すること;
    前記相互作用はプライバシの問題を招かないことを確認すること;及び
    前記デバイスコンフィギュレーションをデバッグするためにステップバイステップの検査を実行すること;
    を含む、請求項11に記載の媒体。
  17. 前記配備することが:
    提案される前記IOTデバイスの配備場所をユーザに伝えること;
    ユーザ入力を受信し、コンフィギュレーションパラメータを前記IOTデバイスに伝えることを開始すること;
    前記コンフィギュレーションパラメータをIOTデバイスにアップロードすること;及び
    前記コンフィギュレーションパラメータがIOTデバイスに適切にアップロードされたことを前記ユーザに通知すること;
    を含む、請求項14に記載の媒体。
  18. 前記IOTデータベースが:
    1つ以上の前記IOTデバイスの通信プロトコルを保存するデバイス機能データベース;及び
    2つ以上の前記IOTデバイス間の通信を可能にするソリューションを保存するデバイス相互運用性データベース;
    を含む、請求項11に記載の媒体。
  19. 前記判定する工程が:
    ランナブルなコンフィギュレーションが存在するか否かを検出する工程;及び
    前記デバイスコンフィギュレーションにおける競合する状況を検出する工程;
    を含む、請求項11に記載の媒体。
  20. 前記IOTデバイスは、電球、照明システム、ドアロック、温水器、スプリンクラーシステム、空調機、サーモスタット、アラームクロック、窓の日よけ、スイッチ、煙報知器、カメラ、エッグマインダ、電気差し込み口、パーソナル(例えば、ピギー)バンク、プロパンタンク、アラーム、対人近接センサ、ドアセンサ、バイオメトリックセンサ、マットレス、モバイル装置、車両センサ、時計、調理装置、電気遮断機、対人警報センサ、動きセンサ、カレンダ、テレビジョン、ラジオ、無線周波数識別(RFID)タグ/RFID検出器、乗物、電気車両充電器、分散される発電機(例えば、ソーラーパネル)、分散される蓄電池(例えば、バッテリ)、及び、サーモメータのうちの1つ以上を含み;及び
    前記IOTデバイスの前記デバイス機能は、メッセージキューテレメトリトランスポート(MQTT)、MQTTセンサ(MQTT-S)、制約されたアプリケーションプロトコル(CoAP)、代表ステートトランスファアプリケーションプロトコルインタフェース(REST API)、及び、拡張可能メッセージングプレゼンスプロトコル(XMPP)を含む接続プロトコルを含む、請求項11に記載の媒体。
JP2015164904A 2014-08-26 2015-08-24 Iotデバイスコンフィギュレーションのための方法及び記憶媒体 Pending JP2016045964A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/469,402 2014-08-26
US14/469,402 US20160065653A1 (en) 2014-08-26 2014-08-26 Internet of things (iot) device configuration construction

Publications (1)

Publication Number Publication Date
JP2016045964A true JP2016045964A (ja) 2016-04-04

Family

ID=55403938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015164904A Pending JP2016045964A (ja) 2014-08-26 2015-08-24 Iotデバイスコンフィギュレーションのための方法及び記憶媒体

Country Status (2)

Country Link
US (1) US20160065653A1 (ja)
JP (1) JP2016045964A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170119098A (ko) * 2016-04-18 2017-10-26 한국전자통신연구원 블루투스 통신을 위한 장치 및 방법
KR101834837B1 (ko) 2016-11-14 2018-03-06 충북대학교 산학협력단 MQTT와 KAFKA를 이용한 IoT 센서 시뮬레이터 시스템
WO2018134937A1 (ja) 2017-01-19 2018-07-26 株式会社セゾン情報システムズ IoTデータ収集システム、IoTデータ収集方法、管理装置、管理プログラム、エージェント装置及びエージェントプログラム
KR20190042548A (ko) 2016-06-15 2019-04-24 엠크레스트 리미티드 원격 모니터링 시스템용 단말, 원격 모니터링용 프로그램 및 원격 모니터링 시스템
CN110493034A (zh) * 2018-07-26 2019-11-22 宇曜智能股份有限公司 模拟对象、装置及其管理系统
WO2019224697A1 (es) * 2018-05-23 2019-11-28 Inversiones Tecnológicas De America S.A. Bridge multi-biometrico iot
US11561908B2 (en) 2017-02-14 2023-01-24 Sony Semiconductor Solutions Corporation Electronic device, processing proxy requesting method of electronic device, and information processing system
US11785012B2 (en) 2021-06-07 2023-10-10 Bank Of America Corporation Data processing for internet of things (IoT) devices based on recorded user behavior
WO2023234694A1 (en) * 2022-06-01 2023-12-07 Samsung Electronics Co., Ltd. Method and system for replacing pin element with gateway capability in personal iot network

Families Citing this family (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US20160065414A1 (en) 2013-06-27 2016-03-03 Ken Sundermeyer Control system user interface
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US10127802B2 (en) 2010-09-28 2018-11-13 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US20050216302A1 (en) 2004-03-16 2005-09-29 Icontrol Networks, Inc. Business method for premises management
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US10530839B2 (en) 2008-08-11 2020-01-07 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US10929907B1 (en) * 2014-04-25 2021-02-23 PetroCloud LLC Automation platform for the internet of things
US20160128043A1 (en) * 2014-10-30 2016-05-05 Qualcomm Incorporated Dynamic mobile ad hoc internet of things (iot) gateway
US9923769B2 (en) * 2014-11-19 2018-03-20 Candi Controls, Inc. Methods and systems for verifying installation of a device
US20160156614A1 (en) * 2014-11-28 2016-06-02 Hcl Technologies Limited Provisioning a device over an internet of things
US9774497B2 (en) * 2015-01-06 2017-09-26 Afero, Inc. System and method for implementing internet of things (IOT) remote control applications
US20160198536A1 (en) * 2015-01-06 2016-07-07 Kiban Labs, Inc. Internet-of-things (iot) hub apparatus and method
US9774507B2 (en) 2015-01-06 2017-09-26 Afero, Inc. System and method for collecting and utilizing user behavior data within an IoT system
US9860681B2 (en) 2015-01-06 2018-01-02 Afero, Inc. System and method for selecting a cell carrier to connect an IOT hub
US10816944B2 (en) 2015-01-06 2020-10-27 Afero, Inc. System and method for using data collected from internet-of-things (IoT) sensors to disable IoT-enabled home devices
US9729340B2 (en) * 2015-01-06 2017-08-08 Afero, Inc. System and method for notifying a user of conditions associated with an internet-of-things (IoT) hub
US9933768B2 (en) 2015-01-06 2018-04-03 Afero, Inc. System and method for implementing internet of things (IOT) remote control applications
US9900382B2 (en) * 2015-02-18 2018-02-20 Anna Mazor Promotion of internet-of-things (IOT) connectivity
US10594831B2 (en) * 2015-03-26 2020-03-17 Raymond Francis St. Martin Social identity of objects
US9619985B2 (en) * 2015-04-08 2017-04-11 Vivint, Inc. Home automation communication system
US20160323143A1 (en) * 2015-05-02 2016-11-03 Hyeung-Yun Kim Method and apparatus for neuroplastic internet of things by cloud computing infrastructure as a service incorporating reconfigurable hardware
US10503484B2 (en) * 2015-06-08 2019-12-10 Cisco Technology, Inc. Virtual replication of physical things for scale-out in an internet of things integrated developer environment
US10140191B2 (en) * 2015-07-24 2018-11-27 Accenture Global Services Limited System for development of IoT system architecture
US11720571B2 (en) * 2015-08-17 2023-08-08 Comcast Cable Communications, Llc Unified description scheme for controlling and operating network connected devices
US10742739B2 (en) 2015-08-18 2020-08-11 Comcast Cable Communications, Llc Platform for controlling and operating network connected devices
US20170063611A1 (en) * 2015-08-28 2017-03-02 Stringify Inc. User Configuration Mechanism for Internet-of-Things (IOT)
WO2017052632A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Heterogeneous distributed runtime code that shares iot resources
KR102400233B1 (ko) * 2015-10-16 2022-05-23 주식회사 바이클립 가상화 서비스 플랫폼 제공 장치 및 방법
US10175666B2 (en) * 2015-10-30 2019-01-08 International Business Machines Corporation Managing internet of things collection having different capabilities
US10063640B2 (en) * 2015-10-30 2018-08-28 Verizon Patent And Licensing Inc. Internet of things communication and control system
US20170126489A1 (en) * 2015-11-02 2017-05-04 Nimbus 9, Inc. Auto-Commissioning of Lighting Resources
US10418933B2 (en) 2015-12-08 2019-09-17 Alta Devices, Inc. Versatile flexible circuit interconnection for flexible solar cells
US10310832B2 (en) 2016-02-19 2019-06-04 Intel Corporation Internet-of-things device blank
CN105827691B (zh) * 2016-03-08 2019-08-13 中国联合网络通信集团有限公司 物联网设备控制方法及装置
CN105678647A (zh) * 2016-03-26 2016-06-15 成都秦川科技发展有限公司 可用于智慧城市体系的智慧家用能源物联网系统
CN105847908A (zh) * 2016-04-08 2016-08-10 微鲸科技有限公司 基于电力线系统的分体显示系统与分体显示方法
WO2017183817A1 (en) * 2016-04-22 2017-10-26 Samsung Electronics Co., Ltd. Electronic device and method for controlling external device thereof
US10674357B2 (en) * 2016-06-16 2020-06-02 T-Mobile Usa, Inc. Single interface for activating IoT devices to network data plans
US10054919B2 (en) * 2016-06-21 2018-08-21 Abl Ip Holding Llc Integrated lighting and building management control gateway
US10181978B1 (en) * 2016-06-29 2019-01-15 Amazon Technologies, Inc. Discovery of device capabilities
US10481925B2 (en) * 2016-07-01 2019-11-19 Intel Corporation Dynamic user interface in machine-to-machine systems
CN106027319B (zh) * 2016-07-22 2019-05-07 中国科学院计算技术研究所 一种仿真物联网资源服务系统及方法
US10547469B2 (en) * 2016-07-29 2020-01-28 International Business Machines Corporation System, method, and recording medium for adjusting ambience of a room
US10834586B2 (en) * 2016-07-29 2020-11-10 Amzetta Technologies, Llc System and method for controlling heterogeneous internet of things (IoT) devices using single application
US10805115B2 (en) * 2016-08-18 2020-10-13 Sap Se Internet of things (IoT) gateway
US10568524B2 (en) * 2016-08-25 2020-02-25 Intel Corporation Compliance checker for service agreement
US10623240B2 (en) * 2016-08-25 2020-04-14 Intel Corporation IoT solution sizing
US11463526B2 (en) 2016-08-25 2022-10-04 Intel Corporation Future proofing and prototyping an internet of things network
US20200364525A1 (en) * 2016-09-19 2020-11-19 Tego, Inc. Rf tag operating system with iot connector core
US10827450B2 (en) * 2016-09-20 2020-11-03 Qualcomm Incorporated Wireless device registration
US10425242B2 (en) * 2016-10-14 2019-09-24 Microsoft Technology Licensing, Llc IoT provisioning service
US10530665B2 (en) 2016-10-14 2020-01-07 Cisco Technology, Inc. Device management for isolation networks
US10255067B2 (en) * 2016-11-22 2019-04-09 Sap Se Development of internet of things (IoT) applications
US10574764B2 (en) 2016-12-09 2020-02-25 Fujitsu Limited Automated learning universal gateway
CN106850397A (zh) * 2016-12-13 2017-06-13 深圳市智物联网络有限公司 物联网中消息传递方法和装置
CN106603565A (zh) * 2016-12-30 2017-04-26 上海浦东软件园汇智软件发展有限公司 一种数据传输、显示的方法及设备
US20200065123A1 (en) * 2017-01-04 2020-02-27 Intel Corporation Simulation of internet of things systems
US10708265B2 (en) * 2017-03-13 2020-07-07 Amazon Technologies, Inc. Batch registration and configuration of devices
CN107391983B (zh) * 2017-03-31 2020-10-16 创新先进技术有限公司 一种基于物联网的信息处理方法及装置
CN108810051A (zh) * 2017-05-03 2018-11-13 西门子公司 数据传输方法和装置
WO2018203301A1 (en) * 2017-05-04 2018-11-08 Clearone, Inc. An internet of things architecture for controlling devices and objects
US10754673B2 (en) * 2017-05-08 2020-08-25 Google Llc Smart device configuration guidance via automated assistant interface of separate client device
US11204816B2 (en) * 2017-05-09 2021-12-21 Microsoft Technology Licensing, Llc Deployment of modular applications from the cloud to local devices
US11025627B2 (en) * 2017-07-10 2021-06-01 Intel Corporation Scalable and secure resource isolation and sharing for IoT networks
WO2019045745A1 (en) 2017-08-31 2019-03-07 Kimberly-Clark Worldwide, Inc. TOILET DEVICE INSTALLATION SYSTEM
CN107835445B (zh) * 2017-11-01 2020-06-16 海信视像科技股份有限公司 基于mqtt协议的电视控制方法、移动终端及电视
US11671325B1 (en) * 2017-11-01 2023-06-06 Amazon Technologies, Inc. Determining IoT device compatibility with deployments
US10868895B2 (en) 2017-11-16 2020-12-15 Intel Corporation Distributed dynamic architecture for error correction
CN108062230B (zh) * 2018-01-04 2019-08-30 安徽大学 一种因特网范围内串口透传和程序更新系统及其方法
CN107948333A (zh) * 2018-01-05 2018-04-20 青岛亿云物联科技有限公司 一种物联网系统
US10728340B2 (en) * 2018-03-29 2020-07-28 Servicenow, Inc. Internet of things (IOT) platform for device configuration management and support
CN108762824A (zh) * 2018-04-18 2018-11-06 青岛海尔科技有限公司 一种基于配置文件的设备逻辑处理方法及装置
CN108810086A (zh) * 2018-04-27 2018-11-13 电子科技大学中山学院 一种基于mqtt消息协议的智能设备通讯平台
US10838710B2 (en) 2018-05-15 2020-11-17 International Business Machines Corporation Dynamically updating security preferences in an Internet of Things (IoT) environment
EP3788771A4 (en) * 2018-05-15 2021-12-29 Vicat-Blanc, Pascale Systems and methods for modeling and simulating an iot system
US10693795B2 (en) * 2018-06-01 2020-06-23 Fujitsu Limited Providing access to application program interfaces and Internet of Thing devices
US10904078B2 (en) 2018-07-12 2021-01-26 Honeywell International Inc. Systems and methods for autonomous creation of a domain specific industrial internet of things gateway using a conversational interface
US11228481B2 (en) 2018-08-29 2022-01-18 Fathym, Inc. Method for communicating and debugging across IoT systems
US10996964B2 (en) 2018-09-27 2021-05-04 Hewlett Packard Enterprise Development Lp Virtual endpoint software system
CN109413182A (zh) * 2018-10-29 2019-03-01 济南浪潮高新科技投资发展有限公司 一种物联网平台终端事件交互方法
CN109361753A (zh) * 2018-11-02 2019-02-19 上海帆尚行科技有限公司 一种物联网系统架构与加密方法
US11706314B2 (en) * 2018-11-26 2023-07-18 Amazon Technologies, Inc. Configuration of workflows for coordinated device environments
DE102018009911A1 (de) 2018-12-17 2020-06-18 Giesecke+Devrient Mobile Security Gmbh Konnektierung eines Endgeräts
US11533222B2 (en) * 2019-01-16 2022-12-20 Vmware, Inc. Auto-enrollment of IoT endpoints
CN109830017B (zh) * 2019-02-01 2022-02-22 深圳市汇顶科技股份有限公司 智能锁的数据管理方法、装置、设备、系统及存储介质
CN109688053A (zh) * 2019-02-27 2019-04-26 山东普奥智能软件科技有限公司 通用网关设备以及物联网系统
CN110224972A (zh) * 2019-04-19 2019-09-10 凯通科技股份有限公司 一种面向多协议多类型设备接入系统、方法及装置
EP3972202A4 (en) * 2019-05-16 2022-06-08 Shenzhen Heytap Technology Corp., Ltd. SMART HOME SYSTEM CONTROL APPARATUS AND METHOD, ELECTRONIC DEVICE AND STORAGE MEDIA
CN110113359A (zh) * 2019-05-28 2019-08-09 济南浪潮高新科技投资发展有限公司 一种物联网平台协议适配方法
US11341485B2 (en) 2019-08-06 2022-05-24 Bank Of America Corporation Machine learning based system for authorization of autonomous resource transfers between distributed IOT components
US10921787B1 (en) 2019-08-06 2021-02-16 Bank Of America Corporation Centralized resource transfer engine for facilitating resource transfers between distributed internet-of-things (IoT) components
US11405414B2 (en) 2019-08-06 2022-08-02 Bank Of America Corporation Automated threat assessment system for authorizing resource transfers between distributed IoT components
US11102064B2 (en) 2019-08-28 2021-08-24 International Business Machines Corporation Dynamically adapting an internet of things (IOT) device
CN112468527B (zh) 2019-09-06 2022-07-15 比亚迪股份有限公司 联动控制系统及联动控制方法
JP6771243B1 (ja) 2019-11-01 2020-10-21 IoT−EX株式会社 サポート方法、サポートシステムおよびコンピュータプログラム
US11550636B2 (en) * 2019-11-14 2023-01-10 Vmware, Inc. Internet of things solution deployment in hybrid environment
US11445572B2 (en) * 2019-11-14 2022-09-13 FW Murphy Production Controls, LLC IoT gateway for remote natural gas compression systems
CN111092767B (zh) * 2019-12-20 2022-10-18 北京百度网讯科技有限公司 用于调试设备的方法及装置
CN111314108B (zh) * 2019-12-31 2023-07-25 远景智能国际私人投资有限公司 数据传输方法、装置、设备、存储介质及前置系统
CN111953733A (zh) * 2020-07-14 2020-11-17 许昌许继软件技术有限公司 一种基于mqtt协议的配电物联系统
CN111935028B (zh) * 2020-09-21 2021-01-08 浙江百应科技有限公司 一种基于路由模式、mqtt协议的iot集群通讯方法
CN114363313A (zh) * 2020-09-27 2022-04-15 中兴通讯股份有限公司 设备控制方法、服务器及存储介质
US11924037B2 (en) * 2021-02-25 2024-03-05 Insight Direct Usa, Inc. IoT deployment configuration template
CN113242534B (zh) * 2021-06-11 2022-05-10 合肥工业大学 一种基于wi-fi的通用型多协议数字仪表物联模块
CN113472584A (zh) * 2021-07-07 2021-10-01 青岛海尔科技有限公司 设备配置方法、装置和物联网设备
WO2023030664A1 (en) * 2021-09-06 2023-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Configuring one or more iot devices
CN114546528A (zh) * 2022-02-24 2022-05-27 新奥数能科技有限公司 一种物联网设备的云端部署方法、装置及存储介质
KR20230158291A (ko) * 2022-05-11 2023-11-20 엘지전자 주식회사 무선통신시스템에서 홈 어플라이언스 장치의 등록 방법 및 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3705255B2 (ja) * 2002-08-27 2005-10-12 セイコーエプソン株式会社 半導体装置及びそれを用いたインサーキットエミュレータ
US7653696B2 (en) * 2005-07-29 2010-01-26 Research In Motion Limited Method and apparatus for processing digitally signed messages to determine address mismatches
US8464168B2 (en) * 2005-10-05 2013-06-11 Invensys Systems, Inc. Device home page for use in a device type manager providing graphical user interfaces for viewing and specifying field device parameters
US7680906B2 (en) * 2006-02-22 2010-03-16 Microsoft Corporation Configuring devices using context histories
US8001219B2 (en) * 2006-03-16 2011-08-16 Exceptional Innovation, Llc User control interface for convergence and automation system
US20100138007A1 (en) * 2008-11-21 2010-06-03 Qwebl, Inc. Apparatus and method for integration and setup of home automation
EP2630770A4 (en) * 2010-10-20 2017-08-16 Nokia Technologies Oy Method and apparatus for facilitating machine gateway operation
US20120131197A1 (en) * 2010-11-23 2012-05-24 Sensormatic Electronics, LLC Method and apparatus for automatically resolving conflicting devices on a network
US9853826B2 (en) * 2013-02-25 2017-12-26 Qualcomm Incorporated Establishing groups of internet of things (IOT) devices and enabling communication among the groups of IOT devices
US9451462B2 (en) * 2014-08-10 2016-09-20 Belkin International Inc. Setup of multiple IoT network devices
US9781189B2 (en) * 2014-07-22 2017-10-03 Sap Se Managed device-to-device communication in business computing systems
US20160036638A1 (en) * 2014-07-29 2016-02-04 Allied Telesis Holdings Kabushiki Kaisha Provisioning

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170119098A (ko) * 2016-04-18 2017-10-26 한국전자통신연구원 블루투스 통신을 위한 장치 및 방법
KR102503257B1 (ko) * 2016-04-18 2023-02-24 한국전자통신연구원 블루투스 통신을 위한 장치 및 방법
KR20190042548A (ko) 2016-06-15 2019-04-24 엠크레스트 리미티드 원격 모니터링 시스템용 단말, 원격 모니터링용 프로그램 및 원격 모니터링 시스템
KR101834837B1 (ko) 2016-11-14 2018-03-06 충북대학교 산학협력단 MQTT와 KAFKA를 이용한 IoT 센서 시뮬레이터 시스템
WO2018134937A1 (ja) 2017-01-19 2018-07-26 株式会社セゾン情報システムズ IoTデータ収集システム、IoTデータ収集方法、管理装置、管理プログラム、エージェント装置及びエージェントプログラム
US11140144B2 (en) 2017-01-19 2021-10-05 Saison Information Systems Co., Ltd. IoT data collection system, IoT data collection method, management device, management program, agent device, and agent program
US11561908B2 (en) 2017-02-14 2023-01-24 Sony Semiconductor Solutions Corporation Electronic device, processing proxy requesting method of electronic device, and information processing system
WO2019224697A1 (es) * 2018-05-23 2019-11-28 Inversiones Tecnológicas De America S.A. Bridge multi-biometrico iot
US11843677B2 (en) 2018-05-23 2023-12-12 Inversiones Tecnologicas De America S.A. Multi-biometric IoT bridge
CN110493034A (zh) * 2018-07-26 2019-11-22 宇曜智能股份有限公司 模拟对象、装置及其管理系统
US11785012B2 (en) 2021-06-07 2023-10-10 Bank Of America Corporation Data processing for internet of things (IoT) devices based on recorded user behavior
WO2023234694A1 (en) * 2022-06-01 2023-12-07 Samsung Electronics Co., Ltd. Method and system for replacing pin element with gateway capability in personal iot network

Also Published As

Publication number Publication date
US20160065653A1 (en) 2016-03-03

Similar Documents

Publication Publication Date Title
JP2016045964A (ja) Iotデバイスコンフィギュレーションのための方法及び記憶媒体
US9716675B2 (en) Method and system for controlling internet of things (IoT) device
CN109219943B (zh) 机器对机器系统的自动化配置
CN105981443B (zh) 云认证的场所资源管理设备、装置、方法和系统
US10133443B2 (en) Systems and methods for smart home automation using a multifunction status and entry point icon
US10296301B2 (en) Thing discovery and configuration for an internet of things integrated developer environment
CN109313543B (zh) 机器对机器系统中的动态用户界面
EP3447744B1 (en) Hazard detection unit facilitating user-friendly setup experience
US20200065123A1 (en) Simulation of internet of things systems
EP3314338A1 (en) Home automation (ha) system including desired scene implementation based upon user-selectable list of addressable ha devices and related methods
CN107003836B (zh) 用于所连接的消费者设备的灵活设备模板
WO2017004200A1 (en) Home automation system including security controller for terminating communication with abnormally operating addressable devices and related methods
US10574764B2 (en) Automated learning universal gateway
CN112653710A (zh) 通过使硬件执行联动操作来实现功能的方法和系统
US10962947B2 (en) Device for remotely controlling an appliance
Kumar et al. Challenges in the design and implementation of iot testbeds in smart-cities: A systematic review
Lin et al. DormTalk: edge computing for the dormitory applications on campus
Zeyad et al. A Smart Home Appliances Controlling Application (HACA-App) with Highly Secretive System
US11262711B2 (en) Home automation (HA) system including virtual assistant audible notification based upon learned device operational pattern and related methods
Luntovskyy et al. Technologies and Solutions for Smart Home and Smart Office
WO2020190581A1 (en) Home automation system determining deviated operation device pattern and related methods
US11112762B2 (en) Universal programming station with orientable blocks
Khan et al. Smart Android Based Home Automation System Using Internet of Things (IoT). Sustainability 2022, 14, 10717
San Implementation of IoT-based Home Control and Monitoring System using Raspberry Pi and NodeMCUs
Alvarez Rojano Home Automation System for Rental Properties