(57)【特許請求の範囲】
【請求項１】
クラウド上で実現されるＩｏＴハブ、および、ローカルにあり前記ＩｏＴハブと接続されるＩｏＴルータを備えるＩｏＴ接続システムであって、
前記ＩｏＴハブは、
第一のデバイスが接続可能なプライベートクラウドと当該ＩｏＴハブとを接続するための第一のドライバと、
第二のデバイスと当該ＩｏＴハブとを接続するための第二のドライバと
を有し、
前記ＩｏＴルータは、
第三のデバイスと当該ＩｏＴルータとを接続するための第三のドライバを有し、
前記第一のドライバ、前記第二のドライバおよび前記第三のドライバを作成するのにユーザが記述すべき情報は、デバイス定義およびコマンド定義に関する情報に限られるＩｏＴ接続システム。
【請求項２】
前記第一のドライバ、前記第二のドライバおよび前記第三のドライバの少なくとも一つは、
前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスを仮想的に再現する仮想デバイス機能を実現することを特徴とする請求項１に記載のＩｏＴ接続システム。
【請求項３】
前記ＩｏＴハブは、
前記第一のデバイス、前記第二のデバイスおよび前記第三のデバイスならびに前記ＩｏＴハブを介して利用可能なＩｏＴサービスを相互に連携させるためのディレクトリ機能を実現することを特徴とする請求項１または２に記載のＩｏＴ接続システム。
【請求項４】
前記ディレクトリ機能は、
前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスあるいは前記ＩｏＴサービスを特定し、かつ、前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスあるいは前記ＩｏＴサービスに指示することを特徴とする請求項３に記載のＩｏＴ接続システム。
【請求項５】
前記ＩｏＴハブは、さらに、
ＩｏＴアプリケーションを利用するためのＷｅｂＡＰＩを有することを特徴とする請求項１から４のいずれか一項に記載のＩｏＴ接続システム。
【請求項６】
前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスから取得される情報は、前記ＩｏＴハブでは保存されないことを特徴とする請求項１から５のいずれか一項に記載のＩｏＴ接続システム。
【請求項７】
クラウド上で実現されるＩｏＴハブ、および、ローカルにあり前記ＩｏＴハブと接続されるＩｏＴルータを備えるＩｏＴ接続システムにおいて、
前記ＩｏＴハブが有する一又は複数のコンピュータプロセッサに、
デバイスが接続可能なプライベートクラウドと前記ＩｏＴハブ、デバイスと前記ＩｏＴハブ、または、デバイスと前記ＩｏＴルータとを接続する接続機能と、
ユーザにより記述されたデバイス定義およびコマンド定義に関する情報を記憶する記憶機能と、
前記デバイスに対するコマンドを受信する受信機能と、
前記記憶機能が記憶した情報、および、前記受信機能が受信したコマンドに基づいて、前記デバイスを操作する操作機能と、
前記操作機能による操作の結果データを収集し、該収集したデータの前処理を行う処理機能と
を実現させるコンピュータプログラム。
【請求項８】
クラウド上で実現されるＩｏＴハブ、および、ローカルにあり前記ＩｏＴハブと接続されるＩｏＴルータを備えるＩｏＴ接続システムにおいて、
前記ＩｏＴハブが有する一又は複数のコンピュータプロセッサに、
デバイスが接続可能なプライベートクラウドと前記ＩｏＴハブ、デバイスと前記ＩｏＴハブ、または、デバイスと前記ＩｏＴルータとを接続する接続ステップと、
前記デバイスに対するコマンドを受信する受信ステップと、
ユーザにより記述されたデバイス定義およびコマンド定義に関する情報、および、前記受信ステップにおいて受信したコマンドに基づいて、前記デバイスを操作する操作ステップと、
前記操作ステップにおける操作の結果に関するデータを収集し、該収集したデータの前処理を行う処理ステップと
を実行させる情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩｏＴ接続システム、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、インターネットに接続して様々なサービスを受けることが可能なデバイスが増加し始めている。このようなデバイスは、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）デバイスと呼ばれる。
【０００３】
このようなＩｏＴデバイスは、それぞれが専用のプライベートクラウドに接続されるのが一般的であるため、通常、異なるメーカにより製造された、仕様の異なるＩｏＴデバイスは同じプライベートクラウドには接続することができない。
【０００４】
近年では、クラウドへの接続のためのＡＰＩ（Application Programing Interface）を公開したり、ＳＤＫ（Software Development kit）等を提供したりすることで、様々なメーカのＩｏＴデバイスを接続させることが可能なＩｏＴハブと呼ばれるＩｏＴクラウドサービスも提供されている（非特許文献１、非特許文献２等）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“Azure IoT Hub”、Microsoft社、［令和１年６月２日検索］、インターネット＜https://azure.microsoft.com/ja-jp/services/iot-hub/＞
【非特許文献２】“AWS IoT”、Amazon Web Services社、［令和１年６月２日検索］、インターネット＜https://aws.amazon.com/jp/iot/＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のようなＩｏＴクラウドサービスは存在するものの、各サービス間での連携は限られており、ＩｏＴデバイスの事業者はサービス毎に異なる専用の接続用プログラムを開発し、デバイスに組み込む必要があった。
【０００７】
そのため、本発明の目的は、プライベートクラウドごとにサイロ化状態になっている暮らしのＩｏＴを、インターネットを介して自由に相互接続して魅力的なサービスを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のＩｏＴ接続システムは、クラウド上で実現されるＩｏＴハブ、および、ローカルにありＩｏＴハブと接続されるＩｏＴルータを備えるＩｏＴ接続システムであって、ＩｏＴハブは、第一のデバイスが接続可能なプライベートクラウドと当該ＩｏＴハブとを接続するための第一のドライバと、第二のデバイスと当該ＩｏＴハブとを接続するための第二のドライバとを有し、ＩｏＴルータは、第三のデバイスと当該ＩｏＴルータとを接続するための第三のドライバを有し、第一のドライバ、第二のドライバおよび第三のドライバを作成するのにユーザが記述すべき情報は、デバイス定義およびコマンド定義に関する情報に限られることを特徴とする。
【０００９】
第一のドライバ、第二のドライバおよび第三のドライバの少なくとも一つは、第一のデバイス、第二のデバイスまたは第三のデバイスを仮想的に再現する仮想デバイス機能を実現することができる。
【００１０】
ＩｏＴハブは、第一のデバイス、第二のデバイスおよび第三のデバイスならびに、ｏＴハブを介して利用可能なＩｏＴサービスを相互に連携させるためのディレクトリ機能を実現することができる。
【００１１】
ディレクトリ機能は、第一のデバイス、第二のデバイスまたは第三のデバイスあるいはＩｏＴサービスを特定し、かつ、第一のデバイス、第二のデバイスまたは第三のデバイスあるいはＩｏＴサービスに指示することができる。
【００１２】
ＩｏＴハブは、さらに、ＩｏＴアプリケーションを利用するためのＷｅｂＡＰＩを有することができる。
【００１３】
第一のデバイス、第二のデバイスまたは第三のデバイスから取得される情報は、ＩｏＴハブでは保存されないことができる。
【００１４】
本発明のコンピュータプログラムは、クラウド上で実現されるＩｏＴハブ、および、ローカルにありＩｏＴハブと接続されるＩｏＴルータを備えるＩｏＴ接続システムにおいて、一又は複数のコンピュータプロセッサに、一又は複数のデバイスが接続可能なプライベートクラウドとＩｏＴハブ、デバイスとＩｏＴハブ、または、デバイスとＩｏＴルータとを接続する接続機能と、ユーザにより記述されたデバイス定義およびコマンド定義に関する情報を記憶する記憶機能と、デバイスに対するコマンドを受信する受信機能と、記憶機能が記憶した情報、および、受信機能が受信したコマンドに基づいて、デバイスを操作する操作機能と、操作機能による操作の結果データを収集するための前処理を行う処理機能とを実現させることを特徴とする。
【００１５】
本発明の情報処理方法は、クラウド上で実現されるＩｏＴハブ、および、ローカルにありＩｏＴハブと接続されるＩｏＴルータを備えるＩｏＴ接続システムにおいて、一又は複数のコンピュータプロセッサに、一又は複数のデバイスが接続可能なプライベートクラウドとＩｏＴハブ、デバイスとＩｏＴハブ、または、デバイスとＩｏＴルータとを接続する接続ステップと、デバイスに対するコマンドを受信する受信ステップと、ユーザにより記述されたデバイス定義およびコマンド定義に関する情報、および、受信ステップにおいて受信したコマンドに基づいて、デバイスを操作する操作ステップと、操作ステップにおける操作の結果に関するデータを収集するための前処理を行う処理ステップとを実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、プライベートクラウドごとにサイロ化状態になっている暮らしのＩｏＴを、インターネットを介して自由に相互接続して魅力的なサービスを提供することができる。
【００１７】
具体的には、本発明によれば、直接接続されたＩｏＴデバイス同士のみならず、従来のプライベートクラウドに接続されたＩｏＴデバイス同士も、容易に相互接続させることが可能となる。
【００１８】
また、本発明によれば、様々な形態のＩｏＴデバイスを柔軟にかつ容易に接続することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係るＩｏＴ接続システムの構成の一例を示したシステム構成図である。
【図２】本発明の実施形態に係るＩｏＴ接続システムの複数のプライベートクラウドの一例を示したイメージ図である。
【図３】本発明の実施形態に係るＩｏＴ接続システムのプライベートクラウドに接続される複数の第一のデバイスの一例を示したイメージ図である。
【図４】本発明の実施形態に係るＩｏＴ接続システムで提供されるサービスの流れの一例を示したイメージ図である
【図５】本発明の実施形態に係るＩｏＴ接続システムで提供されるサービスの流れの一例を示したイメージ図である
【図６】本発明の実施形態に係るＩｏＴ接続システムで提供されるサービスの流れの他の例を示したイメージ図である
【図７】本発明の実施形態に係るＩｏＴ接続システムで提供される仮想ドライバ機能の流れの一例を示したイメージ図である
【図８】本発明の実施形態に係るＩｏＴ接続システムで提供される仮想ドライバ機能の流れの他の例を示したイメージ図である
【図９】本発明の実施形態に係る情報処理方法のフローの一例を示したフロー図である
【発明を実施するための形態】
【００２０】
初めに、本発明のＩｏＴ接続システムの実施形態について、図面を参照しながら説明する。
【００２１】
図１に示すように、本発明のＩｏＴ接続システム１００は、ＩｏＴハブ２００およびＩｏＴルータ３００を備えるものとする。
【００２２】
ＩｏＴハブ２００は、クラウド上で実現されるものとする。具体的には、ＩｏＴハブ２００は、クラウド内でホストされているマネージドサービスであり、ＩｏＴアプリケーション（以下「ＩｏＴアプリ」という。）とＩｏＴデバイスとの間の双方向通信に対する中継器として機能する。
【００２３】
ＩｏＴルータ３００は、ローカルにあり、ＩｏＴハブ２００とＷＡＮ（Wide Area Network）により接続されるものとする。
【００２４】
具体的には、ＩｏＴルータ３００は、宅内ネットワークなどインターネットに接続されていないＩｏＴデバイスがＩｏＴハブ２００に接続することを実現するものである。
【００２５】
そして、ＩｏＴハブ２００は、第一のドライバ２１０と、第二のドライバ２２０とを有する。
【００２６】
第一のドライバ２１０および第二のドライバ２２０は、各ＩｏＴデバイスのメーカごとの仕様の違いを吸収するものである。
【００２７】
第一のドライバ２１０は、第一のデバイス４１０が接続可能なプライベートクラウド４００と当該ＩｏＴハブ２００とを接続するためのものである。
【００２８】
一例として、第一のデバイス４１０とプライベートクラウド４００とはＬＡＮ（Local Area Network）による接続とし、プライベートクラウド４００と第一のドライバ２１０とはＷＡＮによる接続とするのが好ましい。
【００２９】
プライベートクラウド４００は、第一のデバイス４１０の事業者により提供されるものである。図１ではプライベートクラウド４００が一つである場合が示されているが、この数は一つに限られるものではなく、複数のプライベートクラウド４００がＩｏＴハブ２００に接続されることができる。また、ＩｏＴハブ２００は、複数の第一のドライバ２１０を有してもよい。
【００３０】
図２は、異なる事業者Ａ，Ｂにより提供される２つのプライベートクラウド４００Ａ，４００Ｂの詳細を示したものである。図２に示されるように、プライベートクラウド４００Ａは、事業者Ａが提供するアプリケーションＡ（以下、「アプリＡ」とする。）と接続され、第一のデバイス４００Ａに対してアプリＡによるサービスを提供するものである。
【００３１】
同様に、プライベートクラウド４００Ｂは、事業者Ｂが提供するアプリケーションＢ（以下、「アプリＢ」とする。）と接続され、第一のデバイス４００Ｂに対してアプリＢによるサービスを提供するものである。
【００３２】
なお、図１、２ではプライベートクラウド４００に第一のデバイス４１０が一つだけ接続されている例が示されているが、図３に示すように、一つのプライベートクラウド４００に複数の第一のデバイス４１０が接続されてもよい。
【００３３】
第一のデバイス２１０は、事業者がプライベートクラウドを提供しているデバイスとすることができる。一例として、リモートロック機能を有する電子錠、ＡＩスピーカ、リモート操作が可能な介護ベッドなどが挙げられるが、特にこれらに限定されるものではない。
【００３４】
第二のドライバ２２０は、第二のデバイス５１０とＩｏＴハブ２００とを直接接続するためのものである。
【００３５】
一例として、第二のデバイス５１０と第二のドライバ２２０とはＬＡＮによる接続とするのが好ましい。
【００３６】
なお、図１では第二のドライバ２２０に第二のデバイス５１０が一つだけ接続されている例が示されているが、一つの第二のドライバ２２０に複数の第二のデバイス５１０が接続されてもよい。また、ＩｏＴハブ２００は複数の第二のドライバ２２０を有してもよい。
【００３７】
第二のデバイス２２０は、事業者がプライベートクラウドを提供していないデバイスとすることができる。一例として、扇風機、エアコン、窓、カーテン、照明などとすることができるが、特にこれらに限定されるものではない。
【００３８】
そして、ＩｏＴルータ３００は、第三のドライバ３１０を有する。また、ＩｏＴルータ３００は、複数の第三のドライバ３１０を有してもよい。
【００３９】
第三のドライバ３１０は、第三のデバイス６１０と当該ＩｏＴルータ３００とを接続するためのものである。
【００４０】
一例として、第三のデバイス６１０と第三のドライバ３１０とはＬＡＮによる接続とし、ＩｏＴルータ３００とＩｏＴハブ２００とはＷＡＮによる接続とするのが好ましい。
【００４１】
第三のデバイス６１０は、上述したとおり、宅内ネットワークなどインターネットに接続されていないＩｏＴデバイスとすることができる。また、第三のデバイス６１０は、セキュリティ、プライバシーおよびセーフティ上の観点で、直接ＩｏＴハブ２００と接続すべきでないデバイスとすることができる。一例として、ガスコンロ、顔認証デバイス、センサ情報収集用データロガーなどとすることができるが、特にこれに限定されるものではない。
【００４２】
このように、本発明のＩｏＴ接続システム１００は、すべてのデバイスをクラウド上のＩｏＴハブ２００に直接的に接続させるものではなく、一部のデバイスをローカル上のＩｏＴルータ３００に接続させるハイブリッドタイプのＩｏＴ接続システムである。
【００４３】
以上によれば、直接接続されたＩｏＴデバイス同士のみならず、従来のプライベートクラウドに接続されたＩｏＴデバイス同士も、容易に相互接続させることが可能となる。
【００４４】
これにより、決まったメーカのＩｏＴデバイス同士しか繋がっていなかった従来とは異なり、様々なメーカのＩｏＴデバイスを容易に相互接続させることができる。また、様々なメーカのＩｏＴデバイスを相互接続させることにより、従来にはなかったユニークなサービスを創造することができるようになる。
【００４５】
例えば、本発明のＩｏＴ接続システム１００によれば、図４に示すように、外部のサーバからの緊急地震速報を受信したら、ガスコンロに消火信号を送り、玄関ドアのカギを解錠するといったサービスを実現することも容易に可能である。
【００４６】
そして、本発明のＩｏＴ接続システム１００は、第一のドライバ２１０、第二のドライバ２２０および第三のドライバ３１０を作成するのにユーザが記述すべき情報は、デバイス定義およびコマンド定義に関する情報に限られることを特徴とする。
【００４７】
ここで、第一のドライバ２１０、第二のドライバ２２０および第三のドライバ３１０を作成する方法について説明を行う。なお、作成者は、ＩｏＴデバイスの製造開発に関するユーザ、あるいは、本発明のＩｏＴ接続システムの提供に関するユーザとすることができる。
【００４８】
なお、第一のドライバ２１０および第二のドライバ２２０と、第三のドライバ３１０とは、同内容の情報が記述されればよく、プログラミング言語が異なるものであってもよい。
【００４９】
初めに、作成者は、デバイス定義として、利用機器一覧を定義する。一例として、利用機器として「気象センサ」、「屋内センサ」、「屋外センサ」、「不審者センサ」、「承認センサ」、「電力センサ」を定義する場合には、これらの名称およびそのＩＤとなる「weather」、「inhouse」、「outdoor」、「security」、「approve」、「power」を記述する。
【００５０】
続いて、作成者は、コマンド定義として、利用可能コマンドを定義する。一例として、「屋外センサ」の利用可能コマンドを定義する場合には、センサ値の観測コマンドを記述する。観測コマンドは、一例として、「観測」，「ゲット」，「屋外を観測します」などとすることができる。
【００５１】
以上のデバイス適宜およびコマンド定義に関する情報を、作成者が穴埋め形式でプログラムに埋めていくことにより、第一のドライバ２１０、第二のドライバ２２０、第三のドライバ３１０を完成させることができる。その他の部分については、ＳＤＫとして提供者から提供されることができる。
【００５２】
ＳＤＫ部分は、受信したコマンドでのデバイス操作処理に関する部分、収集したセンサデータ／操作結果データの前処理に関する部分、ＩｏＴハブへのデータ送信処理に関する部分を含むものとする。
【００５３】
以上の構成によれば、様々な形態のＩｏＴデバイスに対するドライバを簡易に完成させることができるため、ＩｏＴデバイスを柔軟にかつ容易に接続可能なＩｏＴ接続システムを実現することが可能となる。
【００５４】
通常、デバイスの開発に係るエンジニアは、Ｗｅｂ開発のエンジニアとは取得している技術の分野が異なり、デバイスをＩｏＴハブに繋ぐことができる技術レベルを有していない者も多い。
【００５５】
そのため、本発明のように、どのドライバ用プログラムに対しても共通の穴埋め形式の簡易な手法で作成が可能であることは、非常に有益である。これにより、ＩｏＴデバイスのＩｏＴハブへの接続に係る開発コストや開発期間を従来よりも抑えることができる。
【００５６】
また、開発コストの低減により、扇風機とエアコンのように掛けられるコストの許容値に差がある場合であっても、平等にＩｏＴハブへの接続を実現することができる。
【００５７】
続いて、本発明のＩｏＴ接続システム１００に係るＩｏＴハブ２００とＩｏＴアプリとの接続について説明する。
【００５８】
図１に示されているように、ＩｏＴハブ２００は、ＩｏＴアプリ７００を利用するためのＷｅｂＡＰＩ２３０を有することができる。なお、図１に示すように、ＩｏＴアプリ７００はサービスの数だけ接続されることができ、それぞれがＷｅｂＡＰＩ２３０を使用して接続されることができる。
【００５９】
ＩｏＴアプリ７００は、アプリ内にＩｏＴデバイス（センサ）からのデータ取得ロジックおよび／またはＩｏＴデバイスの操作ロジックを記述することで作成される。
【００６０】
データ取得ロジックは、取得したセンサデータの前処理を行う部分と、ＩｏＴハブ２００のＡＰＩへの送信を行う部分とで構成される。必要な情報は、ＩｏＴ接続システム１００の運営者から提供される接続先ＵＲＬ、運営者から提供されるＡＰＩキー、デバイス情報および実行コマンドである。
【００６１】
デバイスの操作ロジックは、操作したいデバイスコマンドの前処理を行う部分と、ＩｏＴハブ２００のＡＰＩへの送信を行う部分とで構成される。必要な情報は、ＩｏＴ接続システム１００の運営者から提供される接続先ＵＲＬ、運営者から提供されるＡＰＩキー、デバイス情報および実行コマンドである。
【００６２】
図５は、ＩｏＴサービス利用者（エンドユーザ）が、ＩｏＴデバイス事業者により提供されたＩｏＴデバイスを用いて、ＩｏＴサービス提供事業者からＩｏＴサービスの提供を受けるフローを示した図である。図５に示すように、初めに第一のデバイス４１０からイベントの通知があると、プライベートクラウド４００、第一のドライバ２１０、ＷｅｂＡＰＩ２３０、ＩｏＴアプリ７００を介してエンドユーザにイベントが通知される。
【００６３】
続いて、エンドユーザがアクションを決定すると、ＩｏＴアプリ７００、ＷｅｂＡＰＩ２３０、第二のドライバ２２０を介して第二のデバイス５１０にアクションの実行が指示される。
【００６４】
ＩｏＴデバイスの連携は、「〜がこうなったら〇〇する」といったイベント駆動型のプログラムで表現することができる。そして、この処理をマイクロサービスとして部品化し、共通化して使えるようにしたうえで、ＦａａＳ（Function as a Service）の関数として実装することができる。
【００６５】
また、図６に示すように、本発明のＩｏＴハブ２００は、関所エンジン８００と接続されることができる。この関所エンジン８００は、ＩｏＴハブ２００がデバイスに指示する内容をチェックし、不適切なアクションが実行されることを防ぐためのものである。
【００６６】
例えば、“外気が爽やかなら、エアコンを止めて窓を開ける”、といったＩｏＴサービスを提供する場合、直後にゲリラ豪雨に見舞われると室内が濡れてしまうおそれがあるが、上記関所エンジン８００は、このようなＩｏＴ由来の脅威を未然に防ぐためのものである。
【００６７】
また、本発明の第一のドライバ２１０、第二のドライバ２２０および第三のドライバ３１０の少なくとも一つは、仮想デバイス機能を実現することができる。
【００６８】
この仮想デバイス機能は、第一のデバイス４１０、第二のデバイス５１０または第三のデバイス６１０を仮想的に再現するものである。
【００６９】
図７は、本発明の第二のドライバ２２０が仮想デバイス機能を実現する例を示したものである。図７に示すように、第二のドライバ２２０に、第二のデバイス５１０のコマンドの送受信を再現可能な仮想デバイス８００を設けることにより、仮に第二のデバイス５１０が接続されていなくても、第二のデバイス５１０を用いるＩｏＴアプリの開発が可能となる。また、動作不良があった場合、現地に赴かずとも第二のデバイス５１０とＩｏＴハブ２００のどちらが故障しているのか故障切り分けを容易に行うことができる。
【００７０】
また、本発明では、図８に示すように、ドライバではなくＩｏＴハブ２００に仮想デバイス機能を実現させてもよい。これは、ローカルに存在するＩｏＴルータ３００に接続される第三のデバイス６１０の故障切り分けに有効な手段である。
【００７１】
また、本発明のＩｏＴ接続システム１００に係るＩｏＴハブ２００は、ディレクトリ機能を実現することができる。
【００７２】
ディレクトリ機能は、第一のデバイス４１０、第二のデバイス５１０および第三のデバイス６１０、ならびに、ＩｏＴハブ２００を介して利用可能なＩｏＴサービスを連携させるためのものである。
【００７３】
すなわち、ディレクトリ機能は、あるモノ（デバイス）からあるサービスへ、あるサービスからあるモノへ、あるモノからあるモノへ、モノまたはサービスを特定し、モノまたはサービスへ指示する機能を実現するものである。
【００７４】
具体的には、ディレクトリ機能は、第一のデバイス４１０、第二のデバイス５１０または第三のデバイス６１０あるいはＩｏＴサービスを特定する、あるいは、第一のデバイス４１０、第二のデバイス５１０または第三のデバイス６１０あるいはＩｏＴサービスに指示することができる。
【００７５】
また、本発明のＩｏＴ接続システム１００において、第一のデバイス４１０、第二のデバイス５１０または第三のデバイス６１０から取得される情報は、ＩｏＴハブ２００では保存されないものとすることができる。
【００７６】
本発明のＩｏＴ接続システム１００は、電気通信事業者により運営されることを想定している。電気通信事業者は、通信の秘密を遵守する義務が課せられるため、各種デバイスから取得される情報を、他の利活用を目的として保存することはしない。
【００７７】
これら情報は有益な情報であるため、各社のプライベートクラウドではかかる情報を独占的に取得すべく、ＩｏＴデバイスの囲い込みを行うのが通常である。
【００７８】
一方で、本発明のＩｏＴ接続システム１００は、運営を電気通信事業者が行うことにより、各ＩｏＴデバイスおよびＩｏＴアプリを中立の立場で相互接続させ、ＩｏＴビジネスを促進させることができる。
【００７９】
また、ＩｏＴ相互接続サービスの継続性は利用する企業のＩｏＴサービスの継続性に影響するため、利用企業が共同で相互接続インフラを共有するのが好ましい。
【００８０】
また、本発明のＩｏＴ接続システム１００において、ＩｏＴハブ２００に接続できるのはＡＰＩキーと認証スキームにより許可されたデバイスやＩｏＴアプリのみとすることができる。すなわち、本発明のＩｏＴ接続システム１００は、インターネット上にＩｏＴ通信専用の閉域網を構築することができる。また、通信経路も暗号化され、ＭＤＭ（Mobile Device Management）によりＩｏＴルータも管理するため、新たな攻撃方法やＯＳやアプリの脆弱性対応も可能とする。
【００８１】
また、ＩｏＴ化されていないデバイスをＩｏＴハブ２００に接続するには、ＢａａＳ（Backend as a service）やＳＤＫを活用することで、短期間での開発を行うことができる。
【００８２】
また、ＩｏＴ接続システム１００の提供者は、ＩｏＴデバイスの相互接続支援サービスを提案することができる。具体的には、ビジネスマッチング、コンサルティングサービスを提供することができる。すなわち、付加価値を追加するために、必要な相手を探し、価値創出パターンとベストプラクティスを紹介するなどを行うことができる。
【００８３】
また、他社のデバイスやアプリと組み合わせることで魅力的なサービスを創出し、付加価値を訴求することでビジネスを拡大することができる。
【００８４】
続いて、本発明に係るコンピュータプログラムの実施形態について説明する。
【００８５】
本発明のコンピュータプログラムは、クラウド上で実現されるＩｏＴハブ、および、ローカルにありＩｏＴハブと接続されるＩｏＴルータを備えるＩｏＴ接続システムにおいて、一又は複数のコンピュータプロセッサに、接続機能と、記憶機能と、受信機能と、操作機能と、処理機能とを実現させることを特徴とする。
【００８６】
接続機能は、一又は複数のデバイスが接続可能なプライベートクラウド、または、一又は複数のデバイスとＩｏＴハブとを接続する。かかる接続機能は、上述した第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０により実現されることができる。これら第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０の詳細については上述したとおりである。
【００８７】
記憶機能は、ユーザにより記述されたデバイス定義およびコマンド定義に関する情報を記憶する。かかる記憶機能は、上述した第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０により実現されることができる。これら第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０の詳細については上述したとおりである。
【００８８】
受信機能は、デバイスに対するコマンドを受信する。かかる受信機能は、上述した第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０により実現されることができる。これら第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０の詳細については上述したとおりである。
【００８９】
操作機能は、記憶機能が記憶した情報、および、受信機能が受信したコマンドに基づいて、デバイスを操作する。かかる操作機能は、上述した第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０により実現されることができる。これら第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０の詳細については上述したとおりである。
【００９０】
処理機能は、操作機能による操作の結果データを収集するための前処理を行う。かかる処理機能は、上述した第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０により実現されることができる。これら第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０の詳細については上述したとおりである。
【００９１】
以上の構成によれば、直接接続されたＩｏＴデバイス同士のみならず、従来のプライベートクラウドに接続されたＩｏＴデバイス同士も、容易に相互接続させることが可能となる。
【００９２】
また、以上の構成によれば、様々な形態のＩｏＴデバイスを柔軟にかつ容易に接続することが可能となる。
【００９３】
最後に本発明の実施形態にかかる情報処理方法について図面を参照しながら説明する。
【００９４】
図９に示すように、本発明の情報処理方法は、クラウド上で実現されるＩｏＴハブ、および、ローカルにありＩｏＴハブと接続されるＩｏＴルータを備えるＩｏＴ接続システムにおいて、一又は複数のコンピュータプロセッサに、接続ステップＳ１１０と、受信ステップＳ１２０と、操作ステップＳ１３０と、処理ステップＳ１４０とを実行させる。
【００９５】
接続ステップＳ１１０は、一又は複数のデバイスが接続可能なプライベートクラウド、または、一又は複数のデバイスと当該ＩｏＴハブとを接続する。かかる接続ステップＳ１１０は、上述した第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０により実行されることができる。これら第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０の詳細については上述したとおりである。
【００９６】
受信ステップＳ１２０は、デバイスに対するコマンドを受信する。かかる受信ステップＳ１２０は、上述した第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０により実行されることができる。これら第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０の詳細については上述したとおりである。
【００９７】
操作ステップＳ１３０は、ユーザにより記述されたデバイス定義およびコマンド定義に関する情報、および、受信ステップにおいて受信したコマンドに基づいて、デバイスを操作する。かかる操作ステップＳ１３０は、上述した第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０により実行されることができる。これら第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０の詳細については上述したとおりである。
【００９８】
処理ステップＳ１４０は、操作ステップにおける操作の結果に関するデータを収集するための前処理を行う。かかる処理ステップＳ１４０は、上述した第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０により実行されることができる。これら第一のドライバ２１０、第二のドライバ２２０または第三のドライバ３１０の詳細については上述したとおりである。
【００９９】
以上の構成によれば、直接接続されたＩｏＴデバイス同士のみならず、従来のプライベートクラウドに接続されたＩｏＴデバイス同士も、容易に相互接続させることが可能となる。
【０１００】
また、以上の構成によれば、様々な形態のＩｏＴデバイスを柔軟にかつ容易に接続することが可能となる。
【０１０１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１０２】
また、実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラムとして、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。記憶部は、例えば主記憶装置、補助記憶装置、又はキャッシュメモリとして機能してもよい。
【符号の説明】
【０１０３】
１００    ＩｏＴ接続システム
２００    ＩｏＴハブ
２１０    第一のドライバ
２２０    第二のドライバ
２３０    ＷｅｂＡＰＩ
３００    ＩｏＴルータ
３１０    第三のドライバ
４００    プライベートクラウド
４１０    第一のデバイス
５１０    第二のデバイス
６１０    第三のデバイス
７００    ＩｏＴアプリ
８００    関所エンジン
【要約】
【課題】  プライベートクラウドごとにサイロ化状態になっている暮らしのＩｏＴを、インターネットを介して自由に相互接続して魅力的なサービスを提供する。
【解決手段】  本発明のＩｏＴ接続システムは、クラウド上で実現されるＩｏＴハブ、および、ローカルにありＩｏＴハブと接続されるＩｏＴルータを備えるＩｏＴ接続システムであって、ＩｏＴハブは、第一のデバイスが接続可能なプライベートクラウドと当該ＩｏＴハブとを接続するための第一のドライバと、第二のデバイスと当該ＩｏＴハブとを接続するための第二のドライバとを有し、ＩｏＴルータは、第三のデバイスと当該ＩｏＴルータとを接続するための第三のドライバを有し、第一のドライバ、第二のドライバおよび第三のドライバを作成するのにユーザが記述すべき情報は、デバイス定義およびコマンド定義に関する情報に限られることを特徴とする。
【選択図】    図１【図１】
0006667861.tif 000002
【図２】
0006667861.tif 000003
【図３】
0006667861.tif 000004
【図４】
0006667861.tif 000005
【図５】
0006667861.tif 000006
【図６】
0006667861.tif 000007
【図７】
0006667861.tif 000008
【図８】
0006667861.tif 000009
【図９】
0006667861.tif 000010