(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）による接続とし、プライベートクラウド４００と第一のドライバ２１０とはＷＡＮによる接続とするのが好ましい。
【００３１】
プライベートクラウド４００は、第一のデバイス４１０の事業者により提供されるものである。図１ではプライベートクラウド４００が一つである場合が示されているが、この数は一つに限られるものではなく、複数のプライベートクラウド４００がＩｏＴハブ２００に接続されることができる。また、ＩｏＴハブ２００は、複数の第一のドライバ２１０を有してもよい。
【００３２】
図２は、異なる事業者Ａ，Ｂにより提供される２つのプライベートクラウド４００Ａ，４００Ｂの詳細を示したものである。図２に示されるように、プライベートクラウド４００Ａは、事業者Ａが提供するアプリケーションＡ（以下、「アプリＡ」とする。）と接続され、第一のデバイス４１０に対してアプリＡによるサービスを提供するものである。
【００３３】
同様に、プライベートクラウド４００Ｂは、事業者Ｂが提供するアプリケーションＢ（以下、「アプリＢ」とする。）と接続され、第一のデバイス４１０に対してアプリＢによるサービスを提供するものである。
【００３４】
なお、図１、２ではプライベートクラウド４００に第一のデバイス４１０が一つだけ接続されている例が示されているが、図３に示すように、一つのプライベートクラウド４００に複数の第一のデバイス４１０が接続されてもよい。
【００３５】
第一のデバイス４１０は、事業者がプライベートクラウドを提供しているデバイスとすることができる。一例として、リモートロック機能を有する電子錠、ＡＩスピーカ、リモート操作が可能な介護ベッドなどが挙げられるが、特にこれらに限定されるものではない。
【００３６】
第二のドライバ２２０は、第二のデバイス５１０とＩｏＴハブ２００とを直接接続するためのものである。
【００３７】
一例として、第二のデバイス５１０と第二のドライバ２２０とはＬＡＮによる接続とするのが好ましい。
【００３８】
なお、図１では第二のドライバ２２０に第二のデバイス５１０が一つだけ接続されている例が示されているが、一つの第二のドライバ２２０に複数の第二のデバイス５１０が接続されてもよい。また、ＩｏＴハブ２００は複数の第二のドライバ２２０を有してもよい。
【００３９】
第二のデバイス５１０は、事業者がプライベートクラウドを提供していないデバイスとすることができる。一例として、扇風機、エアコン、窓、カーテン、照明などとすることができるが、特にこれらに限定されるものではない。
【００４０】
そして、ＩｏＴルータ３００は、第三のドライバ３１０を有する。また、ＩｏＴルータ３００は、複数の第三のドライバ３１０を有してもよい。
【００４１】
第三のドライバ３１０は、第三のデバイス６１０と当該ＩｏＴルータ３００とを接続するためのものである。
【００４２】
一例として、第三のデバイス６１０と第三のドライバ３１０とはＬＡＮによる接続とし、ＩｏＴルータ３００とＩｏＴハブ２００とはＷＡＮによる接続とするのが好ましい。
【００４３】
第三のデバイス６１０は、上述したとおり、宅内ネットワークなどインターネットに接続されていないＩｏＴデバイスとすることができる。また、第三のデバイス６１０は、セキュリティ、プライバシーおよびセーフティ上の観点で、直接ＩｏＴハブ２００と接続すべきでないデバイスとすることができる。一例として、ガスコンロ、顔認証デバイス、センサ情報収集用データロガーなどとすることができるが、特にこれに限定されるものではない。ただし、後述する災害時のリスク低減の観点から、どのようなデバイスであっても第三のデバイス６１０としてＩｏＴルータ３００へ接続させるようにしてもよい。
【００４４】
このように、本発明のＩｏＴ接続システム１００は、すべてのデバイスをクラウド上のＩｏＴハブ２００に直接的に接続させるものではなく、一部のデバイスをローカル上のＩｏＴルータ３００に接続させるハイブリッドタイプのＩｏＴ接続システムである。
【００４５】
以上によれば、直接接続されたＩｏＴデバイス同士のみならず、従来のプライベートクラウドに接続されたＩｏＴデバイス同士も、容易に相互接続させることが可能となる。
【００４６】
これにより、決まったメーカのＩｏＴデバイス同士しか繋がっていなかった従来とは異なり、様々なメーカのＩｏＴデバイスを容易に相互接続させることができる。また、様々なメーカのＩｏＴデバイスを相互接続させることにより、従来にはなかったユニークなサービスを創造することができるようになる。
【００４７】
例えば、本発明のＩｏＴ接続システム１００によれば、図４に示すように、外部のサーバからの緊急地震速報を受信したら、ガスコンロに消火信号を送り、玄関ドアのカギを解錠するといったサービスを実現することも容易に可能である。
【００４８】
そして、ＩｏＴルータ３００は、所定の基地局と通信可能な情報処理端末とするのが好ましい。
【００４９】
所定の基地局と通信可能な情報処理端末は、一例として、スマートフォンやタブレット端末などのＳＩＭカードを挿入して用いる情報処理端末である。ＩｏＴルータ３００とＩｏＴハブ２００との間の通信容量はひと月に１００Ｍバイト以下の低容量であることから、ＩｏＴルータ３００には通信容量が少ない低額なＳＩＭカードを挿入すれば足りる。
【００５０】
ここで、図５を用いて、上記情報処理端末３００（ＩｏＴルータ３００）のハードウェア構成について説明する。情報処理端末３００は、プロセッサ３０１と、メモリ３０２と、ストレージ３０３と、入出力インターフェース（入出力Ｉ／Ｆ）３０４と、通信インターフェース（通信Ｉ／Ｆ）３０５とを含む。各構成要素は、バスＢを介して相互に接続される。
【００５１】
情報処理端末３００は、プロセッサ３０１と、メモリ３０２と、ストレージ３０３と、入出力Ｉ／Ｆ３０４と、通信Ｉ／Ｆ３０５との協働により、本実施形態に記載される機能、方法を実現することができる。
【００５２】
プロセッサ３０１は、ストレージ３０３に記憶されるプログラムに含まれるコード又は命令によって実現する機能、及び／又は、方法を実行する。プロセッサ３０１は、例えば、中央処理装置（ＣＰＵ）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）、マイクロプロセッサ（microprocessor）、プロセッサコア（processor core）、マルチプロセッサ（multiprocessor）、ＡＳＩＣ（Application-Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等を含み、集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって各実施形態に開示される各処理を実現してもよい。また、これらの回路は、１又は複数の集積回路により実現されてよく、各実施形態に示す複数の処理を１つの集積回路により実現されることとしてもよい。また、ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩ等と呼称されることもある。
【００５３】
メモリ３０２は、ストレージ３０３からロードしたプログラムを一時的に記憶し、プロセッサ３０１に対して作業領域を提供する。メモリ３０２には、プロセッサ３０１がプログラムを実行している間に生成される各種データも一時的に格納される。メモリ３０２は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含む。
【００５４】
ストレージ３０３は、プログラムを記憶する。ストレージ３０３は、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリ等を含む。
【００５５】
通信Ｉ／Ｆ３０５は、ネットワークアダプタ等のハードウェアや通信用ソフトウェア、及びこれらの組み合わせとして実装され、ネットワーク１６００を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信Ｉ／Ｆ３０５は、ネットワークを介して、他の情報処理装置との通信を実行する。通信Ｉ／Ｆ３０５は、各種データをプロセッサ３０１からの指示に従って、他の情報処理装置に送信する。また、通信Ｉ／Ｆ３０５は、他の情報処理装置から送信された各種データを受信し、プロセッサ３０１に伝達する。
【００５６】
入出力Ｉ／Ｆ３０４は、情報処理端末３００に対する各種操作を入力する入力装置、及び、情報処理端末３００で処理された処理結果を出力する出力装置を含む。入出力Ｉ／Ｆ３０４は、入力装置と出力装置が一体化していてもよいし、入力装置と出力装置とに分離していてもよい。
【００５７】
入力装置は、ユーザからの入力を受け付けて、当該入力に係る情報をプロセッサ３０１に伝達できる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。入力装置は、例えば、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ（画像を介した操作入力）、マイク（音声による操作入力）を含む。
【００５８】
出力装置は、プロセッサ３０１で処理された処理結果を出力する。出力装置は、例えば、タッチパネル、スピーカ等を含む。
【００５９】
また、情報処理端末３００は、バッテリを含むものとする。かかるバッテリは、充電することにより電力を蓄えることができるものである。情報処理端末３００は、満充電から３日程度は、電源に接続せずに本開示における機能を実現することができる。平常時（後述する特定の状況下に無い場合）には、情報処理端末３００は、電源に接続して使用されるものとする。
【００６０】
そして、第三のデバイス６１０は、特定の状況下において、ＩｏＴルータ３００が備えるテザリング機能によりＩｏＴハブ２００に接続されるものとする。
【００６１】
特定の状況は、第三のデバイス６１０と所定の無線／有線ＬＡＮとの接続が途絶えた状況などとすることができるが、これに限られるものではない。
【００６２】
この特定の状況に陥る原因としては、停電が挙げられるが、これに限られるものではなく、Ｗｉ−Ｆｉ（登録商標）ルータの故障や接続不良等などが原因である場合もある。
【００６３】
また、テザリング機能としては公知の技術を用いることができ、Ｗｉ−Ｆｉテザリング、Ｂｌｕｅｔｏｏｔｈ（登録商標）テザリング、ＵＳＢテザリングなどの手法を用いることができる。
【００６４】
以上の構成によれば、プライベートクラウドごとにサイロ化状態になっている暮らしのＩｏＴを、インターネットを介して自由に相互接続して魅力的なサービスを提供することができる。
【００６５】
具体的には、本開示によれば、直接接続されたＩｏＴデバイス同士のみならず、従来のプライベートクラウドに接続されたＩｏＴデバイス同士も、容易に相互接続させることが可能となる。
【００６６】
また、以上の構成によれば、第三のデバイス６１０が、特定の状況下において、ＩｏＴルータ３００が備えるテザリング機能によりＩｏＴハブ２００に接続されることで、災害等においてＩｏＴデバイスがネットワークに接続できない状態であっても、サービスを継続して利用することができるようになる。
【００６７】
また、ＩｏＴルータ３００は、管理者装置によりＲｅｍｏｔｅ  Ｃｏｎｔｒｏｌ（遠隔操作）が可能なものとするのが好ましい。かかる構成によれば、ＩｏＴルータの一つ一つをフルサポートすることができるようになる。
【００６８】
なお、上記遠隔操作は、管理者装置およびＩｏＴルータ３００の双方に専用のアプリケーションをインストールしておくことで実現される。なお、遠隔操作のサポートのし易さを考慮して、ＩｏＴルータ３００としての情報処理端末は、Ａｎｄｒｏｉｄ端末を用いるのが好ましい。
【００６９】
また、ＩｏＴルータ３００は、管理者装置によりＶＤＭ（Various Device Management：多様なデバイス管理）されるものとするのが好ましい。かかるＶＤＭは、既知のＭＤＭ（Mobile Device Management）の手法を用いて実現されることができる。かかる構成によれば、膨大数の世帯に設置されるＩｏＴルータを即時に一元管理し、遠隔監視・更新することができるようになる。また、ＶＤＭにより、デバイスの設定やアプリの配布、更新を遠隔監視制御することができるようになる。これにより、コスト削減と業務効率化を実現することができる。
【００７０】
また、ＩｏＴハブ２００へは認証されたアプリやデバイスしか接続できないが、ＩｏＴルータ３００は、ＩｏＴハブ２００をローカル（宅内等）に延長し、ローカルでなければ実現できないリアルタイム性、セキュリティやプライバシーの確保、通信量の削減などに対応させることができる。
【００７１】
また、ＩｏＴルータ３００を情報処理端末とすることで、顧客のスマートフォンや家庭内のインターネット回線線を使用する必要がなくなり、想定外のトラブルが発生するリスクを低減させることができる。
【００７２】
また、本発明のＩｏＴ接続システム１００は、第一のドライバ２１０、第二のドライバ２２０および第三のドライバ３１０を作成するのにユーザが記述すべき情報は、デバイス定義およびコマンド定義に関する情報に限られてもよい。
【００７３】
ここで、第一のドライバ２１０、第二のドライバ２２０および第三のドライバ３１０を作成する方法について説明を行う。なお、作成者は、ＩｏＴデバイスの製造開発に関するユーザ、あるいは、本発明のＩｏＴ接続システムの提供に関するユーザとすることができる。
【００７４】
なお、第一のドライバ２１０および第二のドライバ２２０と、第三のドライバ３１０とは、同内容の情報が記述されればよく、プログラミング言語が異なるものであってもよい。
【００７５】
初めに、作成者は、デバイス定義として、利用機器一覧を定義する。一例として、利用機器として「気象センサ」、「屋内センサ」、「屋外センサ」、「不審者センサ」、「承認センサ」、「電力センサ」を定義する場合には、これらの名称およびそのＩＤとなる「weather」、「inhouse」、「outdoor」、「security」、「approve」、「power」を記述する。
【００７６】
続いて、作成者は、コマンド定義として、利用可能コマンドを定義する。一例として、「屋外センサ」の利用可能コマンドを定義する場合には、センサ値の観測コマンドを記述する。観測コマンドは、一例として、「観測」，「ゲット」，「屋外を観測します」などとすることができる。
【００７７】
以上のデバイス適宜およびコマンド定義に関する情報を、作成者が穴埋め形式でプログラムに埋めていくことにより、第一のドライバ２１０、第二のドライバ２２０、第三のドライバ３１０を完成させることができる。その他の部分については、ＳＤＫとして提供者から提供されることができる。
【００７８】
ＳＤＫ部分は、受信したコマンドでのデバイス操作処理に関する部分、収集したセンサデータ／操作結果データの前処理に関する部分、ＩｏＴハブへのデータ送信処理に関する部分を含むものとする。
【００７９】
以上の構成によれば、様々な形態のＩｏＴデバイスに対するドライバを簡易に完成させることができるため、ＩｏＴデバイスを柔軟にかつ容易に接続可能なＩｏＴ接続システムを実現することが可能となる。
【００８０】
通常、デバイスの開発に係るエンジニアは、Ｗｅｂ開発のエンジニアとは取得している技術の分野が異なり、デバイスをＩｏＴハブに繋ぐことができる技術レベルを有していない者も多い。
【００８１】
そのため、本開示のように、どのドライバ用プログラムに対しても共通の穴埋め形式の簡易な手法で作成が可能であることは、非常に有益である。これにより、ＩｏＴデバイスのＩｏＴハブへの接続に係る開発コストや開発期間を従来よりも抑えることができる。
【００８２】
また、開発コストの低減により、扇風機とエアコンのように掛けられるコストの許容値に差がある場合であっても、平等にＩｏＴハブへの接続を実現することができる。
【００８３】
続いて、本開示におけるＩｏＴ接続システム１００に係るＩｏＴハブ２００とＩｏＴアプリとの接続について説明する。
【００８４】
図１に示されているように、ＩｏＴハブ２００は、ＩｏＴアプリ７００を利用するためのＷｅｂＡＰＩ２３０を有することができる。なお、図１に示すように、ＩｏＴアプリ７００はサービスの数だけ接続されることができ、それぞれがＷｅｂＡＰＩ２３０を使用して接続されることができる。
【００８５】
ＩｏＴアプリ７００は、アプリ内にＩｏＴデバイス（センサ）からのデータ取得ロジックおよび／またはＩｏＴデバイスの操作ロジックを記述することで作成される。
【００８６】
データ取得ロジックは、取得したセンサデータの前処理を行う部分と、ＩｏＴハブ２００のＡＰＩへの送信を行う部分とで構成される。必要な情報は、ＩｏＴ接続システム１００の運営者から提供される接続先ＵＲＬ、運営者から提供されるＡＰＩキー、デバイス情報および実行コマンドである。
【００８７】
デバイスの操作ロジックは、操作したいデバイスコマンドの前処理を行う部分と、ＩｏＴハブ２００のＡＰＩへの送信を行う部分とで構成される。必要な情報は、ＩｏＴ接続システム１００の運営者から提供される接続先ＵＲＬ、運営者から提供されるＡＰＩキー、デバイス情報および実行コマンドである。
【００８８】
図６は、ＩｏＴサービス利用者（エンドユーザ）が、ＩｏＴデバイス事業者により提供されたＩｏＴデバイスを用いて、ＩｏＴサービス提供事業者からＩｏＴサービスの提供を受けるフローを示した図である。図６に示すように、初めに第一のデバイス４１０からイベントの通知があると、プライベートクラウド４００、第一のドライバ２１０、ＷｅｂＡＰＩ２３０、ＩｏＴアプリ７００を介してエンドユーザにイベントが通知される。
【００８９】
続いて、エンドユーザがアクションを決定すると、ＩｏＴアプリ７００、ＷｅｂＡＰＩ２３０、第二のドライバ２２０を介して第二のデバイス５１０にアクションの実行が指示される。
【００９０】
ＩｏＴデバイスの連携は、「〜がこうなったら〇〇する」といったイベント駆動型のプログラムで表現することができる。そして、この処理をマイクロサービスとして部品化し、共通化して使えるようにしたうえで、ＦａａＳ（Function as a Service）の関数として実装することができる。
【００９１】
また、図７に示すように、本発明のＩｏＴハブ２００は、関所エンジン８００と接続されることができる。この関所エンジン８００は、ＩｏＴハブ２００がデバイスに指示する内容をチェックし、不適切なアクションが実行されることを防ぐためのものである。
【００９２】
例えば、“外気が爽やかなら、エアコンを止めて窓を開ける”、といったＩｏＴサービスを提供する場合、直後にゲリラ豪雨に見舞われると室内が濡れてしまうおそれがあるが、上記関所エンジン８００は、このようなＩｏＴ由来の脅威を未然に防ぐためのものである。
【００９３】
また、本発明の第一のドライバ２１０、第二のドライバ２２０および第三のドライバ３１０の少なくとも一つは、仮想デバイス機能を実現することができる。
【００９４】
この仮想デバイス機能は、第一のデバイス４１０、第二のデバイス５１０または第三のデバイス６１０を仮想的に再現するものである。
【００９５】
図８は、本発明の第二のドライバ２２０が仮想デバイス機能を実現する例を示したものである。図８に示すように、第二のドライバ２２０に、第二のデバイス５１０のコマンドの送受信を再現可能な仮想デバイス９００を設けることにより、仮に第二のデバイス５１０が接続されていなくても、第二のデバイス５１０を用いるＩｏＴアプリの開発が可能となる。また、動作不良があった場合、現地に赴かずとも第二のデバイス５１０とＩｏＴハブ２００のどちらが故障しているのか故障切り分けを容易に行うことができる。
【００９６】
また、本発明では、図９に示すように、ドライバではなくＩｏＴハブ２００に仮想デバイス機能を実現させてもよい。これは、ローカルに存在するＩｏＴルータ３００に接続される第三のデバイス６１０の故障切り分けに有効な手段である。
【００９７】
また、本発明のＩｏＴ接続システム１００に係るＩｏＴハブ２００は、ディレクトリ機能を実現することができる。
【００９８】
ディレクトリ機能は、第一のデバイス４１０、第二のデバイス５１０および第三のデバイス６１０、ならびに、ＩｏＴハブ２００を介して利用可能なＩｏＴサービスを連携させるためのものである。
【００９９】
すなわち、ディレクトリ機能は、あるモノ（デバイス）からあるサービスへ、あるサービスからあるモノへ、あるモノからあるモノへ、モノまたはサービスを特定し、モノまたはサービスへ指示する機能を実現するものである。
【０１００】
具体的には、ディレクトリ機能は、第一のデバイス４１０、第二のデバイス５１０または第三のデバイス６１０あるいはＩｏＴサービスを特定する、あるいは、第一のデバイス４１０、第二のデバイス５１０または第三のデバイス６１０あるいはＩｏＴサービスに指示することができる。
【０１０１】
また、本発明のＩｏＴ接続システム１００において、第一のデバイス４１０、第二のデバイス５１０または第三のデバイス６１０から取得される情報は、ＩｏＴハブ２００では保存されないものとすることができる。
【０１０２】
本発明のＩｏＴ接続システム１００は、電気通信事業者により運営されることを想定している。電気通信事業者は、通信の秘密を遵守する義務が課せられるため、各種デバイスから取得される情報を、他の利活用を目的として保存することはしない。
【０１０３】
これら情報は有益な情報であるため、各社のプライベートクラウドではかかる情報を独占的に取得すべく、ＩｏＴデバイスの囲い込みを行うのが通常である。
【０１０４】
一方で、本発明のＩｏＴ接続システム１００は、運営を電気通信事業者が行うことにより、各ＩｏＴデバイスおよびＩｏＴアプリを中立の立場で相互接続させ、ＩｏＴビジネスを促進させることができる。
【０１０５】
また、ＩｏＴ相互接続サービスの継続性は利用する企業のＩｏＴサービスの継続性に影響するため、利用企業が共同で相互接続インフラを共有するのが好ましい。
【０１０６】
また、本発明のＩｏＴ接続システム１００において、ＩｏＴハブ２００に接続できるのはＡＰＩキーと認証スキームにより許可されたデバイスやＩｏＴアプリのみとすることができる。すなわち、本発明のＩｏＴ接続システム１００は、インターネット上にＩｏＴ通信専用の閉域網を構築することができる。また、通信経路も暗号化され、ＭＤＭ（Mobile Device Management）の手法を用いてＩｏＴルータも管理するため、新たな攻撃方法やＯＳやアプリの脆弱性対応も可能とする。
【０１０７】
また、ＩｏＴ化されていないデバイスをＩｏＴハブ２００に接続するには、ＢａａＳ（Backend as a service）やＳＤＫを活用することで、短期間での開発を行うことができる。
【０１０８】
また、ＩｏＴ接続システム１００の提供者は、ＩｏＴデバイスの相互接続支援サービスを提案することができる。具体的には、ビジネスマッチング、コンサルティングサービスを提供することができる。すなわち、付加価値を追加するために、必要な相手を探し、価値創出パターンとベストプラクティスを紹介するなどを行うことができる。
【０１０９】
また、他社のデバイスやアプリと組み合わせることで魅力的なサービスを創出し、付加価値を訴求することでビジネスを拡大することができる。
【０１１０】
続いて、本開示におけるコンピュータプログラムの実施形態について説明する。
【０１１１】
本開示におけるコンピュータプログラムは、図１に示したように、クラウド上で実現されるＩｏＴハブ２００、および、ローカルにありＩｏＴハブと接続されるＩｏＴルータ３００を備えるＩｏＴ接続システム１００において実行される。
【０１１２】
ＩｏＴハブ２００は、第一のデバイス４１０が接続可能なプライベートクラウド４００と当該ＩｏＴハブ２００とを接続するための第一のドライバ２１０、または、第二のデバイス５１０と当該ＩｏＴハブ２００とを接続するための第二のドライバ２２０の少なくとも一方を有し、ＩｏＴルータ３００は、第三のデバイス６１０と当該ＩｏＴルータ３００とを接続するための第三のドライバ３１０を有する。
【０１１３】
そして、本開示におけるコンピュータプログラムは、所定の基地局と通信可能な情報処理端末であるＩｏＴルータ３００に、判定機能と、接続機能とを実現させる。
【０１１４】
判定機能は、第三のデバイス６１０が特定の状況下にあるか否かを判定する。
【０１１５】
接続機能は、判定機能により第三のデバイス６１０が特定の状況下にあると判定された場合に、テザリング機能により第三のデバイス６１０をＩｏＴハブ２００に接続する。
【０１１６】
上記機能は、図１０（ｂ）に示す判定回路１３０７および接続回路１３０８により実現されることができる。判定回路１３０７および接続回路１３０８は、それぞれ上述した図１０（ａ）に示すＩｏＴルータ３００の判定部３０７および接続部３０８により実現されるものとする。
【０１１７】
以上の構成によれば、プライベートクラウドごとにサイロ化状態になっている暮らしのＩｏＴを、インターネットを介して自由に相互接続して魅力的なサービスを提供することができる。
【０１１８】
具体的には、本開示によれば、直接接続されたＩｏＴデバイス同士のみならず、従来のプライベートクラウドに接続されたＩｏＴデバイス同士も、容易に相互接続させることが可能となる。
【０１１９】
また、以上の構成によれば、第三のデバイス６１０が、特定の状況下において、ＩｏＴルータ３００が備えるテザリング機能によりＩｏＴハブ２００に接続されることで、災害等においてＩｏＴデバイスがネットワークに接続できない状態であっても、サービスを継続して利用することができるようになる。
【０１２０】
最後に、本開示における情報処理方法の実施形態について説明する。
【０１２１】
本開示における情報処理方法は、図１に示したように、クラウド上で実現されるＩｏＴハブ２００、および、ローカルにありＩｏＴハブと接続されるＩｏＴルータ３００を備えるＩｏＴ接続システム１００において実行される。
【０１２２】
ＩｏＴハブは、第一のデバイスが接続可能なプライベートクラウドと当該ＩｏＴハブとを接続するための第一のドライバ、または、第二のデバイスと当該ＩｏＴハブとを接続するための第二のドライバの少なくとも一方を有し、
【０１２３】
ＩｏＴハブ２００は、第一のデバイス４１０が接続可能なプライベートクラウド４００と当該ＩｏＴハブ２００とを接続するための第一のドライバ２１０、または、第二のデバイス５１０と当該ＩｏＴハブ２００とを接続するための第二のドライバ２２０の少なくとも一方を有し、ＩｏＴルータ３００は、第三のデバイス６１０と当該ＩｏＴルータ３００とを接続するための第三のドライバ３１０を有する。
【０１２４】
そして、本開示における情報処理装置は、図１１に示すように、所定の基地局と通信可能な情報処理端末であるＩｏＴルータ３００に、判定ステップと、接続ステップとを実行させる。
【０１２５】
判定ステップＳ３０８は、第三のデバイス６１０が特定の状況下にあるか否かを判定する。かかる判定ステップＳ３０８は、図１０（ａ）に示すように、ＩｏＴルータ３００が備える判定部３０７により実現されることができる。
【０１２６】
接続ステップＳ３０９は、判定ステップＳ３０８により第三のデバイス６１０が特定の状況下にあると判定された場合に、テザリング機能により第三のデバイス６１０をＩｏＴハブ２００に接続する。かかる接続ステップＳ３０９は、図１０（ａ）に示すように、ＩｏＴルータ３００が備える接続部３０８により実現されることができる。
【０１２７】
以上の構成によれば、プライベートクラウドごとにサイロ化状態になっている暮らしのＩｏＴを、インターネットを介して自由に相互接続して魅力的なサービスを提供することができる。
【０１２８】
具体的には、本開示によれば、直接接続されたＩｏＴデバイス同士のみならず、従来のプライベートクラウドに接続されたＩｏＴデバイス同士も、容易に相互接続させることが可能となる。
【０１２９】
また、以上の構成によれば、第三のデバイス６１０が、特定の状況下において、ＩｏＴルータ３００が備えるテザリング機能によりＩｏＴハブ２００に接続されることで、災害等においてＩｏＴデバイスがネットワークに接続できない状態であっても、サービスを継続して利用することができるようになる。
【０１３０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１３１】
また、実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラムとして、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。記憶部は、例えば主記憶装置、補助記憶装置、又はキャッシュメモリとして機能してもよい。
【符号の説明】
【０１３２】
１００    ＩｏＴ接続システム
２００    ＩｏＴハブ
２１０    第一のドライバ
２２０    第二のドライバ
２３０    ＷｅｂＡＰＩ
３００    ＩｏＴルータ
３１０    第三のドライバ
４００    プライベートクラウド
４１０    第一のデバイス
５１０    第二のデバイス
６１０    第三のデバイス
７００    ＩｏＴアプリ
８００    関所エンジン
９００    仮想デバイス
【要約】      （修正有）【課題】プライベートクラウドごとにサイロ化状態になっているＩｏＴを、インターネットを介して自由に相互接続するＩｏＴ接続システム、コンピュータプログラムおよび情報処理方法を提供する。【解決手段】クラウド上で実現されるＩｏＴハブおよびローカルにありＩｏＴハブと接続されるＩｏＴルータを備えるＩｏＴ接続システム１００であって、ＩｏＴハブは、第一のデバイスが接続可能なプライベートクラウドと当該ＩｏＴハブとを接続するための第一のドライバまたは第二のデバイスと当該ＩｏＴハブとを接続するための第二のドライバの少なくとも一方を有する。ＩｏＴルータは、第三のデバイスと当該ＩｏＴルータとを接続するための第三のドライバを有する。ＩｏＴルータは、所定の基地局と通信可能な情報処理端末であり、第三のデバイスは、特定の状況下において、ＩｏＴルータが備えるテザリング機能によりＩｏＴハブに接続する。【選択図】図１【図１】
0006771244.tif 000002
【図２】
0006771244.tif 000003
【図３】
0006771244.tif 000004
【図４】
0006771244.tif 000005
【図５】
0006771244.tif 000006
【図６】
0006771244.tif 000007
【図７】
0006771244.tif 000008
【図８】
0006771244.tif 000009
【図９】
0006771244.tif 000010
【図１０】
0006771244.tif 000011
【図１１】
0006771244.tif 000012