(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-15
(45)【発行日】2023-09-26
(54)【発明の名称】IoT接続システム、情報処理方法およびコンピュータプログラム
(51)【国際特許分類】
G06F 8/60 20180101AFI20230919BHJP
H04L 45/00 20220101ALI20230919BHJP
H04M 11/00 20060101ALI20230919BHJP
G06F 8/20 20180101ALI20230919BHJP
G16Y 40/30 20200101ALI20230919BHJP
【FI】
G06F8/60
H04L45/00
H04M11/00 302
G06F8/20
G16Y40/30
(21)【出願番号】P 2020015979
(22)【出願日】2020-02-03
(62)【分割の表示】P 2019119447の分割
【原出願日】2019-06-27
【審査請求日】2022-06-06
【新規性喪失の例外の表示】特許法第30条第2項適用 ・令和1年5月29日、パレスホテル東京
(73)【特許権者】
【識別番号】509266125
【氏名又は名称】IoT-EX株式会社
(74)【代理人】
【識別番号】110004015
【氏名又は名称】弁理士法人IPmarche
(74)【代理人】
【識別番号】100185971
【氏名又は名称】高梨 玲子
(72)【発明者】
【氏名】松村 淳
(72)【発明者】
【氏名】小畑 至弘
【審査官】稲葉 崇
(56)【参考文献】
【文献】国際公開第2005/066808(WO,A1)
【文献】特開2014-059733(JP,A)
【文献】国際公開第2018/100687(WO,A1)
【文献】多様なサービス創出のためのインフラ"IoT-HUB"の社会実装~巨大な価値創造空間の構築に向けて~,日本,東京大学 生産技術研究所 [online],2019年06月06日,[検索日 2023.2.22], インターネット:<URL:https://www.iis.u-tokyo.ac.jp/ja/news/3110/>
【文献】IoT-EX 技術説明セミナー 2019年5月30日 於いて東京大学,IoT-EX 技術説明 20190530,日本,YouTube [online],2019年05月30日,[検索日 2023.2.22], インターネット:<URL:https://www.youtube.com/watch?v=MdTNJ9UyyyQ>
【文献】スマートシティニュース,東大発、宅内IoTをつなげるプラットフォームのサービス,日本,スマートシティ企画株式会社,2019年06月05日,[検索日 2023.2.22], インターネット:<URL:https://www.smartcity.jp/post/lot20190605_605/>
【文献】野城 智也,1.建築設備分野におけるDigital Transformationの可能性,冷凍 REFRIGERATION,冷凍2019年4月号 第94巻 第1098号,日本,公益社団法人日本冷凍空調学会,2019年03月15日,第3頁-第8頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/38
G06F 8/60-8/77
G06F 9/44-9/445,9/451
H04L 12/00-12/22
H04L 12/50-12/66
H04L 45/00-49/9057
H04M 3/00,3/16-3/20
H04M 3/38-3/58
H04M 7/00-7/16
H04M 11/00-11/10
G16Y 10/00-40/60
(57)【特許請求の範囲】
【請求項1】
クラウド上で実現されるIoTハブ、および、ローカルにあり前記IoTハブと接続されるIoTルータを備えるIoT接続システムであって、
前記IoTハブは、
第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、
第二のデバイスと当該IoTハブとを接続するための第二のドライバ
の少なくとも一方を有し、
前記IoTルータは、
第三のデバイスと当該IoTルータとを接続するための第三のドライバを有
し、
前記IoTハブは、
前記第一のデバイス、前記第二のデバイスおよび前記第三のデバイスならびに前記IoTハブを介して利用可能なIoTサービスを相互に連携させるためのディレクトリ機能を実現し、
前記ディレクトリ機能は、
前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスあるいは前記IoTサービスを特定し、かつ、前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスあるいは前記IoTサービスに指示するIoT接続システム。
【請求項2】
前記第一のデバイスは、事業者が前記プライベートクラウドを提供しているデバイスであり、
前記第二のデバイスは、事業者がプライベートクラウドを提供していないデバイスであり、
前記第三のデバイスは、単独ではインターネットに接続されないデバイスであることを特徴とする請求項1に記載のIoT接続システム。
【請求項3】
前記IoTハブは、
ユーザにより記述されたデバイス定義およびコマンド定義に関する情報を記憶する記憶機能と、
前記第一のデバイス、前記第二のデバイス、または、前記第三のデバイスの一のデバイスに対するコマンドを受信する受信機能と、
前記記憶機能が記憶した情報、および、前記受信機能が受信したコマンドに基づいて、前記一のデバイスへの操作指示を送信する送信機能と、
を実現することを特徴とする請求項1または2に記載のIoT接続システム。
【請求項4】
前記第一のドライバ、前記第二のドライバおよび前記第三のドライバの少なくとも一つは、
前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスを仮想的に再現する仮想デバイス機能を実現することを特徴とする請求項1、2または3に記載のIoT接続システム。
【請求項5】
前記IoTハブは、さらに、
IoTアプリケーションを利用するためのWebAPIを有することを特徴とする請求項1から
4のいずれか一項に記載のIoT接続システム。
【請求項6】
前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスから取得される情報は、前記IoTハブでは保存されないことを特徴とする請求項1から
5のいずれか一項に記載のIoT接続システム。
【請求項7】
クラウド上で実現されるIoTハブ、および、ローカルにあり前記IoTハブと接続されるIoTルータを備えるIoT接続システムにおいて実行されるコンピュータプログラムであって、
前記IoTハブは、
第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、
第二のデバイスと当該IoTハブとを接続するための第二のドライバ
の少なくとも一方を有し、
前記IoTルータは、
第三のデバイスと当該IoTルータとを接続するための第三のドライバを有し、
前記IoTハブが備える一又は複数のコンピュータプロセッサに、
前記第一のデバイス、前記第二のデバイスおよび前記第三のデバイスならびに前記IoTハブを介して利用可能なIoTサービスを相互に連携させるためのディレクトリ機能を実現させ、
前記ディレクトリ機能は、
前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスあるいは前記IoTサービスを特定し、かつ、前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスあるいは前記IoTサービスに指示するコンピュータプログラム。
【請求項8】
クラウド上で実現されるIoTハブ、および、ローカルにあり前記IoTハブと接続されるIoTルータを備えるIoT接続システムにおいて実行される情報処理方法であって、
前記IoTハブは、
第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバ、または、
第二のデバイスと当該IoTハブとを接続するための第二のドライバ
の少なくとも一方を有し、
前記IoTルータは、
第三のデバイスと当該IoTルータとを接続するための第三のドライバを有し、
前記IoTハブが備える一又は複数のコンピュータプロセッサに、
前記第一のデバイス、前記第二のデバイスおよび前記第三のデバイスならびに前記IoTハブを介して利用可能なIoTサービスを相互に連携させるステップを実現させ、
前記ステップでは、
前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスあるいは前記IoTサービスを特定し、かつ、前記第一のデバイス、前記第二のデバイスまたは前記第三のデバイスあるいは前記IoTサービスに指示する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、IoT接続システム、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【0002】
近年、インターネットに接続して様々なサービスを受けることが可能なデバイスが増加し始めている。このようなデバイスは、IoT(Internet of Things)デバイスと呼ばれる。
【0003】
このようなIoTデバイスは、それぞれが専用のプライベートクラウドに接続されるのが一般的であるため、通常、異なるメーカにより製造された、仕様の異なるIoTデバイスは同じプライベートクラウドには接続することができない。
【0004】
近年では、クラウドへの接続のためのAPI(Application Programing Interface)を公開したり、SDK(Software Development kit)等を提供したりすることで、様々なメーカのIoTデバイスを接続させることが可能なIoTハブと呼ばれるIoTクラウドサービスも提供されている(非特許文献1、非特許文献2等)。
【先行技術文献】
【非特許文献】
【0005】
【文献】“Azure IoT Hub”、Microsoft社、[令和1年6月2日検索]、インターネット<https://azure.microsoft.com/ja-jp/services/iot-hub/>
【文献】“AWS IoT”、Amazon Web Services社、[令和1年6月2日検索]、インターネット<https://aws.amazon.com/jp/iot/>
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のようなIoTクラウドサービスは存在するものの、各サービス間での連携は限られており、IoTデバイスの事業者はサービス毎に異なる専用の接続用プログラムを開発し、デバイスに組み込む必要があった。
【0007】
そのため、本発明の目的は、プライベートクラウドごとにサイロ化状態になっている暮らしのIoTを、インターネットを介して自由に相互接続して魅力的なサービスを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明のIoT接続システムは、クラウド上で実現されるIoTハブ、および、ローカルにありIoTハブと接続されるIoTルータを備えるIoT接続システムであって、IoTハブは、第一のデバイスが接続可能なプライベートクラウドと当該IoTハブとを接続するための第一のドライバと、第二のデバイスと当該IoTハブとを接続するための第二のドライバとを有し、IoTルータは、第三のデバイスと当該IoTルータとを接続するための第三のドライバを有し、第一のドライバ、第二のドライバおよび第三のドライバを作成するのにユーザが記述すべき情報は、デバイス定義およびコマンド定義に関する情報に限られることを特徴とする。
【0009】
第一のドライバ、第二のドライバおよび第三のドライバの少なくとも一つは、第一のデバイス、第二のデバイスまたは第三のデバイスを仮想的に再現する仮想デバイス機能を実現することができる。
【0010】
IoTハブは、第一のデバイス、第二のデバイスおよび第三のデバイスならびに、oTハブを介して利用可能なIoTサービスを相互に連携させるためのディレクトリ機能を実現することができる。
【0011】
ディレクトリ機能は、第一のデバイス、第二のデバイスまたは第三のデバイスあるいはIoTサービスを特定し、かつ、第一のデバイス、第二のデバイスまたは第三のデバイスあるいはIoTサービスに指示することができる。
【0012】
IoTハブは、さらに、IoTアプリケーションを利用するためのWebAPIを有することができる。
【0013】
第一のデバイス、第二のデバイスまたは第三のデバイスから取得される情報は、IoTハブでは保存されないことができる。
【0014】
本発明のコンピュータプログラムは、クラウド上で実現されるIoTハブ、および、ローカルにありIoTハブと接続されるIoTルータを備えるIoT接続システムにおいて、一又は複数のコンピュータプロセッサに、一又は複数のデバイスが接続可能なプライベートクラウドとIoTハブ、デバイスとIoTハブ、または、デバイスとIoTルータとを接続する接続機能と、ユーザにより記述されたデバイス定義およびコマンド定義に関する情報を記憶する記憶機能と、デバイスに対するコマンドを受信する受信機能と、記憶機能が記憶した情報、および、受信機能が受信したコマンドに基づいて、デバイスを操作する操作機能と、操作機能による操作の結果データを収集するための前処理を行う処理機能とを実現させることを特徴とする。
【0015】
本発明の情報処理方法は、クラウド上で実現されるIoTハブ、および、ローカルにありIoTハブと接続されるIoTルータを備えるIoT接続システムにおいて、一又は複数のコンピュータプロセッサに、一又は複数のデバイスが接続可能なプライベートクラウドとIoTハブ、デバイスとIoTハブ、または、デバイスとIoTルータとを接続する接続ステップと、デバイスに対するコマンドを受信する受信ステップと、ユーザにより記述されたデバイス定義およびコマンド定義に関する情報、および、受信ステップにおいて受信したコマンドに基づいて、デバイスを操作する操作ステップと、操作ステップにおける操作の結果に関するデータを収集するための前処理を行う処理ステップとを実行させることを特徴とする。
【発明の効果】
【0016】
本発明によれば、プライベートクラウドごとにサイロ化状態になっている暮らしのIoTを、インターネットを介して自由に相互接続して魅力的なサービスを提供することができる。
【0017】
具体的には、本発明によれば、直接接続されたIoTデバイス同士のみならず、従来のプライベートクラウドに接続されたIoTデバイス同士も、容易に相互接続させることが可能となる。
【0018】
また、本発明によれば、様々な形態のIoTデバイスを柔軟にかつ容易に接続することが可能となる。
【図面の簡単な説明】
【0019】
【
図1】本発明の実施形態に係るIoT接続システムの構成の一例を示したシステム構成図である。
【
図2】本発明の実施形態に係るIoT接続システムの複数のプライベートクラウドの一例を示したイメージ図である。
【
図3】本発明の実施形態に係るIoT接続システムのプライベートクラウドに接続される複数の第一のデバイスの一例を示したイメージ図である。
【
図4】本発明の実施形態に係るIoT接続システムで提供されるサービスの流れの一例を示したイメージ図である
【
図5】本発明の実施形態に係るIoT接続システムで提供されるサービスの流れの一例を示したイメージ図である
【
図6】本発明の実施形態に係るIoT接続システムで提供されるサービスの流れの他の例を示したイメージ図である
【
図7】本発明の実施形態に係るIoT接続システムで提供される仮想ドライバ機能の流れの一例を示したイメージ図である
【
図8】本発明の実施形態に係るIoT接続システムで提供される仮想ドライバ機能の流れの他の例を示したイメージ図である
【
図9】本発明の実施形態に係る情報処理方法のフローの一例を示したフロー図である
【発明を実施するための形態】
【0020】
初めに、本発明のIoT接続システムの実施形態について、図面を参照しながら説明する。
【0021】
図1に示すように、本発明のIoT接続システム100は、IoTハブ200およびIoTルータ300を備えるものとする。
【0022】
IoTハブ200は、クラウド上で実現されるものとする。具体的には、IoTハブ200は、クラウド内でホストされているマネージドサービスであり、IoTアプリケーション(以下「IoTアプリ」という。)とIoTデバイスとの間の双方向通信に対する中継器として機能する。
【0023】
IoTルータ300は、ローカルにあり、IoTハブ200とWAN(Wide Area Network)により接続されるものとする。
【0024】
具体的には、IoTルータ300は、宅内ネットワークなどインターネットに接続されていないIoTデバイスがIoTハブ200に接続することを実現するものである。
【0025】
そして、IoTハブ200は、第一のドライバ210と、第二のドライバ220とを有する。
【0026】
第一のドライバ210および第二のドライバ220は、各IoTデバイスのメーカごとの仕様の違いを吸収するものである。
【0027】
第一のドライバ210は、第一のデバイス410が接続可能なプライベートクラウド400と当該IoTハブ200とを接続するためのものである。
【0028】
一例として、第一のデバイス410とプライベートクラウド400とはLAN(Local Area Network)による接続とし、プライベートクラウド400と第一のドライバ210とはWANによる接続とするのが好ましい。
【0029】
プライベートクラウド400は、第一のデバイス410の事業者により提供されるものである。
図1ではプライベートクラウド400が一つである場合が示されているが、この数は一つに限られるものではなく、複数のプライベートクラウド400がIoTハブ200に接続されることができる。また、IoTハブ200は、複数の第一のドライバ210を有してもよい。
【0030】
図2は、異なる事業者A,Bにより提供される2つのプライベートクラウド400A,400Bの詳細を示したものである。
図2に示されるように、プライベートクラウド400Aは、事業者Aが提供するアプリケーションA(以下、「アプリA」とする。)と接続され、第一のデバイス400Aに対してアプリAによるサービスを提供するものである。
【0031】
同様に、プライベートクラウド400Bは、事業者Bが提供するアプリケーションB(以下、「アプリB」とする。)と接続され、第一のデバイス400Bに対してアプリBによるサービスを提供するものである。
【0032】
なお、
図1、2ではプライベートクラウド400に第一のデバイス410が一つだけ接続されている例が示されているが、
図3に示すように、一つのプライベートクラウド400に複数の第一のデバイス410が接続されてもよい。
【0033】
第一のデバイス210は、事業者がプライベートクラウドを提供しているデバイスとすることができる。一例として、リモートロック機能を有する電子錠、AIスピーカ、リモート操作が可能な介護ベッドなどが挙げられるが、特にこれらに限定されるものではない。
【0034】
第二のドライバ220は、第二のデバイス510とIoTハブ200とを直接接続するためのものである。
【0035】
一例として、第二のデバイス510と第二のドライバ220とはLANによる接続とするのが好ましい。
【0036】
なお、
図1では第二のドライバ220に第二のデバイス510が一つだけ接続されている例が示されているが、一つの第二のドライバ220に複数の第二のデバイス510が接続されてもよい。また、IoTハブ200は複数の第二のドライバ220を有してもよい。
【0037】
第二のデバイス220は、事業者がプライベートクラウドを提供していないデバイスとすることができる。一例として、扇風機、エアコン、窓、カーテン、照明などとすることができるが、特にこれらに限定されるものではない。
【0038】
そして、IoTルータ300は、第三のドライバ310を有する。また、IoTルータ300は、複数の第三のドライバ310を有してもよい。
【0039】
第三のドライバ310は、第三のデバイス610と当該IoTルータ300とを接続するためのものである。
【0040】
一例として、第三のデバイス610と第三のドライバ310とはLANによる接続とし、IoTルータ300とIoTハブ200とはWANによる接続とするのが好ましい。
【0041】
第三のデバイス610は、上述したとおり、宅内ネットワークなどインターネットに接続されていないIoTデバイスとすることができる。また、第三のデバイス610は、セキュリティ、プライバシーおよびセーフティ上の観点で、直接IoTハブ200と接続すべきでないデバイスとすることができる。一例として、ガスコンロ、顔認証デバイス、センサ情報収集用データロガーなどとすることができるが、特にこれに限定されるものではない。
【0042】
このように、本発明のIoT接続システム100は、すべてのデバイスをクラウド上のIoTハブ200に直接的に接続させるものではなく、一部のデバイスをローカル上のIoTルータ300に接続させるハイブリッドタイプのIoT接続システムである。
【0043】
以上によれば、直接接続されたIoTデバイス同士のみならず、従来のプライベートクラウドに接続されたIoTデバイス同士も、容易に相互接続させることが可能となる。
【0044】
これにより、決まったメーカのIoTデバイス同士しか繋がっていなかった従来とは異なり、様々なメーカのIoTデバイスを容易に相互接続させることができる。また、様々なメーカのIoTデバイスを相互接続させることにより、従来にはなかったユニークなサービスを創造することができるようになる。
【0045】
例えば、本発明のIoT接続システム100によれば、
図4に示すように、外部のサーバからの緊急地震速報を受信したら、ガスコンロに消火信号を送り、玄関ドアのカギを解錠するといったサービスを実現することも容易に可能である。
【0046】
そして、本発明のIoT接続システム100は、第一のドライバ210、第二のドライバ220および第三のドライバ310を作成するのにユーザが記述すべき情報は、デバイス定義およびコマンド定義に関する情報に限られることを特徴とする。
【0047】
ここで、第一のドライバ210、第二のドライバ220および第三のドライバ310を作成する方法について説明を行う。なお、作成者は、IoTデバイスの製造開発に関するユーザ、あるいは、本発明のIoT接続システムの提供に関するユーザとすることができる。
【0048】
なお、第一のドライバ210および第二のドライバ220と、第三のドライバ310とは、同内容の情報が記述されればよく、プログラミング言語が異なるものであってもよい。
【0049】
初めに、作成者は、デバイス定義として、利用機器一覧を定義する。一例として、利用機器として「気象センサ」、「屋内センサ」、「屋外センサ」、「不審者センサ」、「承認センサ」、「電力センサ」を定義する場合には、これらの名称およびそのIDとなる「weather」、「inhouse」、「outdoor」、「security」、「approve」、「power」を記述する。
【0050】
続いて、作成者は、コマンド定義として、利用可能コマンドを定義する。一例として、「屋外センサ」の利用可能コマンドを定義する場合には、センサ値の観測コマンドを記述する。観測コマンドは、一例として、「観測」,「ゲット」,「屋外を観測します」などとすることができる。
【0051】
以上のデバイス適宜およびコマンド定義に関する情報を、作成者が穴埋め形式でプログラムに埋めていくことにより、第一のドライバ210、第二のドライバ220、第三のドライバ310を完成させることができる。その他の部分については、SDKとして提供者から提供されることができる。
【0052】
SDK部分は、受信したコマンドでのデバイス操作処理に関する部分、収集したセンサデータ/操作結果データの前処理に関する部分、IoTハブへのデータ送信処理に関する部分を含むものとする。
【0053】
以上の構成によれば、様々な形態のIoTデバイスに対するドライバを簡易に完成させることができるため、IoTデバイスを柔軟にかつ容易に接続可能なIoT接続システムを実現することが可能となる。
【0054】
通常、デバイスの開発に係るエンジニアは、Web開発のエンジニアとは取得している技術の分野が異なり、デバイスをIoTハブに繋ぐことができる技術レベルを有していない者も多い。
【0055】
そのため、本発明のように、どのドライバ用プログラムに対しても共通の穴埋め形式の簡易な手法で作成が可能であることは、非常に有益である。これにより、IoTデバイスのIoTハブへの接続に係る開発コストや開発期間を従来よりも抑えることができる。
【0056】
また、開発コストの低減により、扇風機とエアコンのように掛けられるコストの許容値に差がある場合であっても、平等にIoTハブへの接続を実現することができる。
【0057】
続いて、本発明のIoT接続システム100に係るIoTハブ200とIoTアプリとの接続について説明する。
【0058】
図1に示されているように、IoTハブ200は、IoTアプリ700を利用するためのWebAPI230を有することができる。なお、
図1に示すように、IoTアプリ700はサービスの数だけ接続されることができ、それぞれがWebAPI230を使用して接続されることができる。
【0059】
IoTアプリ700は、アプリ内にIoTデバイス(センサ)からのデータ取得ロジックおよび/またはIoTデバイスの操作ロジックを記述することで作成される。
【0060】
データ取得ロジックは、取得したセンサデータの前処理を行う部分と、IoTハブ200のAPIへの送信を行う部分とで構成される。必要な情報は、IoT接続システム100の運営者から提供される接続先URL、運営者から提供されるAPIキー、デバイス情報および実行コマンドである。
【0061】
デバイスの操作ロジックは、操作したいデバイスコマンドの前処理を行う部分と、IoTハブ200のAPIへの送信を行う部分とで構成される。必要な情報は、IoT接続システム100の運営者から提供される接続先URL、運営者から提供されるAPIキー、デバイス情報および実行コマンドである。
【0062】
図5は、IoTサービス利用者(エンドユーザ)が、IoTデバイス事業者により提供されたIoTデバイスを用いて、IoTサービス提供事業者からIoTサービスの提供を受けるフローを示した図である。
図5に示すように、初めに第一のデバイス410からイベントの通知があると、プライベートクラウド400、第一のドライバ210、WebAPI230、IoTアプリ700を介してエンドユーザにイベントが通知される。
【0063】
続いて、エンドユーザがアクションを決定すると、IoTアプリ700、WebAPI230、第二のドライバ220を介して第二のデバイス510にアクションの実行が指示される。
【0064】
IoTデバイスの連携は、「~がこうなったら〇〇する」といったイベント駆動型のプログラムで表現することができる。そして、この処理をマイクロサービスとして部品化し、共通化して使えるようにしたうえで、FaaS(Function as a Service)の関数として実装することができる。
【0065】
また、
図6に示すように、本発明のIoTハブ200は、関所エンジン800と接続されることができる。この関所エンジン800は、IoTハブ200がデバイスに指示する内容をチェックし、不適切なアクションが実行されることを防ぐためのものである。
【0066】
例えば、“外気が爽やかなら、エアコンを止めて窓を開ける”、といったIoTサービスを提供する場合、直後にゲリラ豪雨に見舞われると室内が濡れてしまうおそれがあるが、上記関所エンジン800は、このようなIoT由来の脅威を未然に防ぐためのものである。
【0067】
また、本発明の第一のドライバ210、第二のドライバ220および第三のドライバ310の少なくとも一つは、仮想デバイス機能を実現することができる。
【0068】
この仮想デバイス機能は、第一のデバイス410、第二のデバイス510または第三のデバイス610を仮想的に再現するものである。
【0069】
図7は、本発明の第二のドライバ220が仮想デバイス機能を実現する例を示したものである。
図7に示すように、第二のドライバ220に、第二のデバイス510のコマンドの送受信を再現可能な仮想デバイス800を設けることにより、仮に第二のデバイス510が接続されていなくても、第二のデバイス510を用いるIoTアプリの開発が可能となる。また、動作不良があった場合、現地に赴かずとも第二のデバイス510とIoTハブ200のどちらが故障しているのか故障切り分けを容易に行うことができる。
【0070】
また、本発明では、
図8に示すように、ドライバではなくIoTハブ200に仮想デバイス機能を実現させてもよい。これは、ローカルに存在するIoTルータ300に接続される第三のデバイス610の故障切り分けに有効な手段である。
【0071】
また、本発明のIoT接続システム100に係るIoTハブ200は、ディレクトリ機能を実現することができる。
【0072】
ディレクトリ機能は、第一のデバイス410、第二のデバイス510および第三のデバイス610、ならびに、IoTハブ200を介して利用可能なIoTサービスを連携させるためのものである。
【0073】
すなわち、ディレクトリ機能は、あるモノ(デバイス)からあるサービスへ、あるサービスからあるモノへ、あるモノからあるモノへ、モノまたはサービスを特定し、モノまたはサービスへ指示する機能を実現するものである。
【0074】
具体的には、ディレクトリ機能は、第一のデバイス410、第二のデバイス510または第三のデバイス610あるいはIoTサービスを特定する、あるいは、第一のデバイス410、第二のデバイス510または第三のデバイス610あるいはIoTサービスに指示することができる。
【0075】
また、本発明のIoT接続システム100において、第一のデバイス410、第二のデバイス510または第三のデバイス610から取得される情報は、IoTハブ200では保存されないものとすることができる。
【0076】
本発明のIoT接続システム100は、電気通信事業者により運営されることを想定している。電気通信事業者は、通信の秘密を遵守する義務が課せられるため、各種デバイスから取得される情報を、他の利活用を目的として保存することはしない。
【0077】
これら情報は有益な情報であるため、各社のプライベートクラウドではかかる情報を独占的に取得すべく、IoTデバイスの囲い込みを行うのが通常である。
【0078】
一方で、本発明のIoT接続システム100は、運営を電気通信事業者が行うことにより、各IoTデバイスおよびIoTアプリを中立の立場で相互接続させ、IoTビジネスを促進させることができる。
【0079】
また、IoT相互接続サービスの継続性は利用する企業のIoTサービスの継続性に影響するため、利用企業が共同で相互接続インフラを共有するのが好ましい。
【0080】
また、本発明のIoT接続システム100において、IoTハブ200に接続できるのはAPIキーと認証スキームにより許可されたデバイスやIoTアプリのみとすることができる。すなわち、本発明のIoT接続システム100は、インターネット上にIoT通信専用の閉域網を構築することができる。また、通信経路も暗号化され、MDM(Mobile Device Management)によりIoTルータも管理するため、新たな攻撃方法やOSやアプリの脆弱性対応も可能とする。
【0081】
また、IoT化されていないデバイスをIoTハブ200に接続するには、BaaS(Backend as a service)やSDKを活用することで、短期間での開発を行うことができる。
【0082】
また、IoT接続システム100の提供者は、IoTデバイスの相互接続支援サービスを提案することができる。具体的には、ビジネスマッチング、コンサルティングサービスを提供することができる。すなわち、付加価値を追加するために、必要な相手を探し、価値創出パターンとベストプラクティスを紹介するなどを行うことができる。
【0083】
また、他社のデバイスやアプリと組み合わせることで魅力的なサービスを創出し、付加価値を訴求することでビジネスを拡大することができる。
【0084】
続いて、本発明に係るコンピュータプログラムの実施形態について説明する。
【0085】
本発明のコンピュータプログラムは、クラウド上で実現されるIoTハブ、および、ローカルにありIoTハブと接続されるIoTルータを備えるIoT接続システムにおいて、一又は複数のコンピュータプロセッサに、接続機能と、記憶機能と、受信機能と、操作機能と、処理機能とを実現させることを特徴とする。
【0086】
接続機能は、一又は複数のデバイスが接続可能なプライベートクラウド、または、一又は複数のデバイスとIoTハブとを接続する。かかる接続機能は、上述した第一のドライバ210、第二のドライバ220または第三のドライバ310により実現されることができる。これら第一のドライバ210、第二のドライバ220または第三のドライバ310の詳細については上述したとおりである。
【0087】
記憶機能は、ユーザにより記述されたデバイス定義およびコマンド定義に関する情報を記憶する。かかる記憶機能は、上述した第一のドライバ210、第二のドライバ220または第三のドライバ310により実現されることができる。これら第一のドライバ210、第二のドライバ220または第三のドライバ310の詳細については上述したとおりである。
【0088】
受信機能は、デバイスに対するコマンドを受信する。かかる受信機能は、上述した第一のドライバ210、第二のドライバ220または第三のドライバ310により実現されることができる。これら第一のドライバ210、第二のドライバ220または第三のドライバ310の詳細については上述したとおりである。
【0089】
操作機能は、記憶機能が記憶した情報、および、受信機能が受信したコマンドに基づいて、デバイスを操作する。かかる操作機能は、上述した第一のドライバ210、第二のドライバ220または第三のドライバ310により実現されることができる。これら第一のドライバ210、第二のドライバ220または第三のドライバ310の詳細については上述したとおりである。
【0090】
処理機能は、操作機能による操作の結果データを収集するための前処理を行う。かかる処理機能は、上述した第一のドライバ210、第二のドライバ220または第三のドライバ310により実現されることができる。これら第一のドライバ210、第二のドライバ220または第三のドライバ310の詳細については上述したとおりである。
【0091】
以上の構成によれば、直接接続されたIoTデバイス同士のみならず、従来のプライベートクラウドに接続されたIoTデバイス同士も、容易に相互接続させることが可能となる。
【0092】
また、以上の構成によれば、様々な形態のIoTデバイスを柔軟にかつ容易に接続することが可能となる。
【0093】
最後に本発明の実施形態にかかる情報処理方法について図面を参照しながら説明する。
【0094】
図9に示すように、本発明の情報処理方法は、クラウド上で実現されるIoTハブ、および、ローカルにありIoTハブと接続されるIoTルータを備えるIoT接続システムにおいて、一又は複数のコンピュータプロセッサに、接続ステップS110と、受信ステップS120と、操作ステップS130と、処理ステップS140とを実行させる。
【0095】
接続ステップS110は、一又は複数のデバイスが接続可能なプライベートクラウド、または、一又は複数のデバイスと当該IoTハブとを接続する。かかる接続ステップS110は、上述した第一のドライバ210、第二のドライバ220または第三のドライバ310により実行されることができる。これら第一のドライバ210、第二のドライバ220または第三のドライバ310の詳細については上述したとおりである。
【0096】
受信ステップS120は、デバイスに対するコマンドを受信する。かかる受信ステップS120は、上述した第一のドライバ210、第二のドライバ220または第三のドライバ310により実行されることができる。これら第一のドライバ210、第二のドライバ220または第三のドライバ310の詳細については上述したとおりである。
【0097】
操作ステップS130は、ユーザにより記述されたデバイス定義およびコマンド定義に関する情報、および、受信ステップにおいて受信したコマンドに基づいて、デバイスを操作する。かかる操作ステップS130は、上述した第一のドライバ210、第二のドライバ220または第三のドライバ310により実行されることができる。これら第一のドライバ210、第二のドライバ220または第三のドライバ310の詳細については上述したとおりである。
【0098】
処理ステップS140は、操作ステップにおける操作の結果に関するデータを収集するための前処理を行う。かかる処理ステップS140は、上述した第一のドライバ210、第二のドライバ220または第三のドライバ310により実行されることができる。これら第一のドライバ210、第二のドライバ220または第三のドライバ310の詳細については上述したとおりである。
【0099】
以上の構成によれば、直接接続されたIoTデバイス同士のみならず、従来のプライベートクラウドに接続されたIoTデバイス同士も、容易に相互接続させることが可能となる。
【0100】
また、以上の構成によれば、様々な形態のIoTデバイスを柔軟にかつ容易に接続することが可能となる。
【0101】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0102】
また、実施形態に記載した手法は、計算機(コンピュータ)に実行させることができるプログラムとして、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段(実行プログラムのみならずテーブルやデータ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。記憶部は、例えば主記憶装置、補助記憶装置、又はキャッシュメモリとして機能してもよい。
【符号の説明】
【0103】
100 IoT接続システム
200 IoTハブ
210 第一のドライバ
220 第二のドライバ
230 WebAPI
300 IoTルータ
310 第三のドライバ
400 プライベートクラウド
410 第一のデバイス
510 第二のデバイス
610 第三のデバイス
700 IoTアプリ
800 関所エンジン