IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特開2024-118971情報処理システム、情報処理方法およびプログラム
<>
  • 特開-情報処理システム、情報処理方法およびプログラム 図1
  • 特開-情報処理システム、情報処理方法およびプログラム 図2
  • 特開-情報処理システム、情報処理方法およびプログラム 図3
  • 特開-情報処理システム、情報処理方法およびプログラム 図4
  • 特開-情報処理システム、情報処理方法およびプログラム 図5
  • 特開-情報処理システム、情報処理方法およびプログラム 図6
  • 特開-情報処理システム、情報処理方法およびプログラム 図7
  • 特開-情報処理システム、情報処理方法およびプログラム 図8
  • 特開-情報処理システム、情報処理方法およびプログラム 図9
  • 特開-情報処理システム、情報処理方法およびプログラム 図10
  • 特開-情報処理システム、情報処理方法およびプログラム 図11
  • 特開-情報処理システム、情報処理方法およびプログラム 図12
  • 特開-情報処理システム、情報処理方法およびプログラム 図13
  • 特開-情報処理システム、情報処理方法およびプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118971
(43)【公開日】2024-09-02
(54)【発明の名称】情報処理システム、情報処理方法およびプログラム
(51)【国際特許分類】
   G06F 8/60 20180101AFI20240826BHJP
【FI】
G06F8/60
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023025598
(22)【出願日】2023-02-21
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】藤井 裕行
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AA25
5B376AB06
5B376AB11
5B376AB17
(57)【要約】
【課題】サービスに関する者がプラグインを明示的に選択せずとも、サービスで使用されるゲートウェイ機器に自動的にプラグインをインストールすることができる情報処理システム、情報処理方法およびプログラムを提供する。
【解決手段】デバイスに関する第1情報の設定入力を受けた場合、第1情報をサービスに関連付けて第1記憶部に登録する連携部と、ゲートウェイ機器を識別する第2情報を利用者と関連付けて第2記憶部に登録する機器管理部と、ゲートウェイ機器の状態を管理する状態管理部と、を含み、連携部は、第2情報が登録された場合、第2情報に関連付けられた利用者が利用するサービスに対応する第1情報を、状態管理部に通知し、状態管理部は、連携部から通知された第1情報を、ゲートウェイ機器が第1情報に対応するプラグインを配信サーバからダウンロードするために、ゲートウェイ機器に送信する。
【選択図】図3
【特許請求の範囲】
【請求項1】
サービスで使用されるデバイスに関する第1情報の設定入力を受けた場合、該第1情報を該サービスに関連付けて第1記憶部に登録する連携部と、
サービスで使用されるゲートウェイ機器を識別する第2情報を該サービスの利用者と関連付けて第2記憶部に登録する機器管理部と、
前記ゲートウェイ機器の状態を管理する状態管理部と、
を含み、
前記連携部は、前記機器管理部により前記第2情報が前記第2記憶部に登録された場合、該第2情報に関連付けられた利用者が利用するサービスに対応する第1情報を、前記状態管理部に通知し、
前記状態管理部は、前記連携部から通知された前記第1情報を、前記ゲートウェイ機器が該第1情報に対応するプラグインであって該第1情報が示すデバイスとデータ通信するためのプラグインを配信サーバからダウンロードするために、該ゲートウェイ機器に送信する情報処理システム。
【請求項2】
前記ゲートウェイ機器は、前記状態管理部から前記第1情報を受信した場合、該第1情報に対応する前記プラグインを前記配信サーバからダウンロードし、該プラグインを該ゲートウェイ機器にインストールする請求項1に記載の情報処理システム。
【請求項3】
利用者を識別する第3情報をサービスに関連付けて第3記憶部に登録する利用者管理部を、さらに含み、
前記連携部は、前記機器管理部により前記第2情報が前記第2記憶部に登録された場合、該第2情報に関連付けられた利用者を識別する前記第3情報に関連付けられたサービスに対応する前記第1情報を、前記状態管理部に通知する請求項1または2に記載の情報処理システム。
【請求項4】
前記連携部は、
既に利用されているサービスに対して追加する新たなデバイスに関する前記第1情報の設定入力を受けた場合、該第1情報を該サービスに関連付けて前記第1記憶部に登録し、
登録した該第1情報を前記状態管理部に通知する請求項1または2に記載の情報処理システム。
【請求項5】
前記連携部は、
既に利用されているサービスで使用されているデバイスに関する前記第1情報の削除設定を受けた場合、該第1情報を前記第1記憶部から削除し、
削除した該第1情報を前記状態管理部に通知する請求項1または2に記載の情報処理システム。
【請求項6】
前記第1情報は、少なくともサービスで使用されるデバイスの種別、および該デバイスが処理するデータの様式を示すデータタイプを含む請求項1または2に記載の情報処理システム。
【請求項7】
前記デバイスは、検出した情報を前記ゲートウェイ機器に送信する入力デバイス、または、該ゲートウェイ機器からの指令に応じて所定の出力動作を行う出力デバイスのうち少なくともいずれか一方である請求項1または2に記載の情報処理システム。
【請求項8】
連携部が、サービスで使用されるデバイスに関する第1情報の設定入力を受けた場合、該第1情報を該サービスに関連付けて第1記憶部に登録するステップと、
機器管理部が、サービスで使用されるゲートウェイ機器を識別する第2情報を該サービスの利用者と関連付けて第2記憶部に登録するステップと、
状態管理部が、前記ゲートウェイ機器の状態を管理するステップと、
前記連携部が、前記機器管理部により前記第2情報が前記第2記憶部に登録された場合、該第2情報に関連付けられた利用者が利用するサービスに対応する第1情報を、前記状態管理部に通知するステップと、
前記状態管理部が、前記連携部から通知された前記第1情報を、前記ゲートウェイ機器が該第1情報に対応するプラグインであって該第1情報が示すデバイスとデータ通信するためのプラグインを配信サーバからダウンロードするために、該ゲートウェイ機器に送信するステップと、
を有する情報処理方法。
【請求項9】
コンピュータに、
サービスで使用されるデバイスに関する第1情報の設定入力を受けた場合、該第1情報を該サービスに関連付けて第1記憶部に登録する連携部と、
サービスで使用されるゲートウェイ機器を識別する第2情報を該サービスの利用者と関連付けて第2記憶部に登録する機器管理部と、
前記ゲートウェイ機器の状態を管理する状態管理部と、
として実行させ、
前記連携部は、前記機器管理部により前記第2情報が前記第2記憶部に登録された場合、該第2情報に関連付けられた利用者が利用するサービスに対応する第1情報を、前記状態管理部に通知し、
前記状態管理部は、前記連携部から通知された前記第1情報を、前記ゲートウェイ機器が該第1情報に対応するプラグインであって該第1情報が示すデバイスとデータ通信するためのプラグインを配信サーバからダウンロードするために、該ゲートウェイ機器に送信するプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
IoT(Internet of Things)はモノのインターネットと呼ばれ、スマートフォン、デジタル家電、各産業機器等様々な情報機器がインターネットに接続するようになり、複合的にデータを収集し、分析できるようになってきている。
【0003】
このような情報機器がインターネットに接続するシステムとして、情報機器からアプリケーションの配信要求があった場合に、情報機器の性能および動作環境に適したアプリケーションを配信するために、情報機器から性能および動作環境の情報を取得し、その情報に適したアプリケーションを生成するサーバを有するアプリケーション配信システムが開示されている(例えば特許文献1)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、サービスと連携した情報機器がサービスの利用開始において、当該情報機器に導入するプラグインを明示的に選択する必要があり、プラグインを当該情報機器へ自動的にインストールすることができないという問題がある。
【0005】
本発明は、上記に鑑みてなされたものであって、サービスに関する者がプラグインを明示的に選択せずとも、サービスで使用されるゲートウェイ機器に自動的にプラグインをインストールすることができる情報処理システム、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明は、サービスで使用されるデバイスに関する第1情報の設定入力を受けた場合、該第1情報を該サービスに関連付けて第1記憶部に登録する連携部と、サービスで使用されるゲートウェイ機器を識別する第2情報を該サービスの利用者と関連付けて第2記憶部に登録する機器管理部と、前記ゲートウェイ機器の状態を管理する状態管理部と、を含み、前記連携部は、前記機器管理部により前記第2情報が前記第2記憶部に登録された場合、該第2情報に関連付けられた利用者が利用するサービスに対応する第1情報を、前記状態管理部に通知し、前記状態管理部は、前記連携部から通知された前記第1情報を、前記ゲートウェイ機器が該第1情報に対応するプラグインであって該第1情報が示すデバイスとデータ通信するためのプラグインを配信サーバからダウンロードするために、該ゲートウェイ機器に送信することを特徴とする。
【発明の効果】
【0007】
本発明によれば、サービスに関する者がプラグインを明示的に選択せずとも、サービスで使用されるゲートウェイ機器に自動的にプラグインをインストールすることができる。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係るIоTシステムの全体構成の一例を示す図である。
図2図2は、実施形態に係るサービス提供システム等のハードウェア構成の一例を示す図である。
図3図3は、実施形態に係るIоTシステムの機能ブロックの構成の一例を示す図である。
図4図4は、実施形態に係るサービス提供システムのデバイス連携設定画面の一例を示す図である。
図5図5は、デバイス連携テーブルの一例を示す図である。
図6図6は、ユーザ管理テーブルの一例を示す図である。
図7図7は、機器管理テーブルの一例を示す図である。
図8図8は、実施形態に係るデバイスシャドウシステムでゲートウェイ機器の状態を管理するコードの一例を示す図である。
図9図9は、実施形態に係るIоTシステムにおけるデバイス連携設定処理の流れの一例示すシーケンス図である。
図10図10は、実施形態に係るIоTシステムにおいて利用者がサービスの利用を申請する処理の流れの一例を示すシーケンス図である。
図11図11は、実施形態に係るIоTシステムにおいてカスタマーエンジニアがゲートウェイ機器を設定する処理の流れの一例を示すシーケンス図である。
図12図12は、実施形態に係るIоTシステムにおいて利用者がゲートウェイ機器を登録してサービスを受けるまでの処理の流れの一例を示すシーケンス図である。
図13図13は、実施形態に係るIоTシステムにおいて開発者がデバイス種別およびデータタイプを追加した場合の処理の流れの一例を示すシーケンス図である。
図14図14は、実施形態に係るIоTシステムにおいて開発者がデバイス種別およびデータタイプを削除した場合の処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【0009】
以下に、図面を参照しながら、本発明に係る情報処理システム、情報処理方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【0010】
(IоTシステムの全体構成)
図1は、実施形態に係るIоTシステムの全体構成の一例を示す図である。図1を参照しながら、実施形態に係るIоTシステム1の全体構成について説明する。
【0011】
図1に示すIоTシステム1(情報処理システムの一例)は、デバイスとの間でデータを入出力するゲートウェイ機器に対するプラグインのインストール等を管理するためのシステムである。IоTシステム1は、図1に示すように、クラウドサービスを提供する側(クラウド側)として、サービス提供システム11と、ユーザ管理システム12と、機器管理システム13と、デバイスシャドウシステム14と、配信サーバ15と、を有する。また、IоTシステム1は、利用者が利用するエッジ側として、ゲートウェイ機器20と、入力デバイス31と、出力デバイス32と、を有する。上述のクラウド側の装置およびシステムと、エッジ側の機器とは、ネットワークNを介して互いにデータ通信を行う。なお、図1では、入力デバイス31および出力デバイス32が1つずつ含まれた構成を示しているが、これに限定されるものではなく、少なくともいずれか一方が含まるものとしてもよく、または、少なくともいずれか一方が複数含まれるものとしてもよい。
【0012】
サービス提供システム11は、ゲートウェイ機器20から送信された入力デバイス31のデータを処理し、出力デバイス32への制御命令をゲートウェイ機器へ送信するサービスを提供するシステムである。また、サービス提供システム11は、エッジ側の入力デバイス31および出力デバイス32のデバイス種別、および、これらが処理するデータのデータタイプを、提供するサービスに連携する。
【0013】
ユーザ管理システム12は、サービス提供システム11のサービスを利用するユーザを管理するシステムである。ユーザ管理システム12は、サービス提供システム11が提供するサービスと、当該サービスを利用する利用者とを関連付けて管理する。
【0014】
機器管理システム13は、サービス提供システム11が提供するサービスの媒介となるゲートウェイ機器20を管理するシステムである。機器管理システム13は、ゲートウェイ機器20と、サービスを利用する利用者とを関連付けて管理する。
【0015】
デバイスシャドウシステム14は、ゲートウェイ機器20の現在の状態、およびサービス提供システム11から要求される状態の変更を管理するシステムである。例えば、ゲートウェイ機器20が電源オフの状態から電源オンの状態になった場合に、ゲートウェイ機器20は、デバイスシャドウシステム14にアクセスし、現在の状態(または要求されている状態の変更)を確認し、状態の変更が要求されている場合には、当該状態と一致するように状態を更新する。ここで、ゲートウェイ機器20の状態とは、例えば、ゲートウェイ機器20自身の状態、および、ゲートウェイ機器20と通信するデバイス(図1に示す入力デバイス31および出力デバイス32等)の接続状態等を示す。
【0016】
配信サーバ15は、ゲートウェイ機器20からの要求に応じて、プラグインを配信するサーバである。
【0017】
なお、サービス提供システム11、ユーザ管理システム12、機器管理システム13
デバイスシャドウシステム14および配信サーバ15は、それぞれ単一の情報処理で構成されていてもよく、または複数の情報処理装置が複合的に処理する情報処理システムによって構成されているものとしてもよい。また、サービス提供システム11、ユーザ管理システム12、機器管理システム13、デバイスシャドウシステム14および配信サーバ15は、それぞれ独立した装置またはシステムとして構成されていることに限定されるものではなく、少なくともいずれかが同一の装置またはシステムとして構成されているものとしてもよい。例えば、図3ではユーザ管理システム12および機器管理システム13が、別個のシステムで図示されているが、ユーザ管理システム12および機器管理システム13のそれぞれの機能が同一のシステム内で実現されているものとしてもよい。
【0018】
ゲートウェイ機器20は、入力デバイス31用のプラグインにより入力デバイス31からのデータをサービス(サービス提供システム11)へ送信し、サービスで処理された結果を制御命令として、出力デバイス32用のプラグインにより出力デバイス32へ送信する、データを中継する機器である。後述するように、サービスがどのようなデバイス(例えばゲートウェイ機器20)と関連付けられているのかを識別するための情報として、例えばデバイス種別およびデータタイプがある。なお、デバイス情報およびデータタイプは、本発明の「第1情報」の一例である。また、ゲートウェイ機器20は、後述するように、入力デバイス31および出力デバイス32と通信するためのプラグイン、および、サービス(サービス提供システム11)と通信し、プラグインを管理するためのゲートウェイアプリケーションがインストールされている。
【0019】
入力デバイス31は、センサ等の何らかのデータを入力または検出するデバイスである。出力デバイス32は、何らかの情報またはデータを出力または表示等したりするデバイス(例えば警告灯等)である。
【0020】
(サービス提供システム等のハードウェア構成)
図2は、実施形態に係るサービス提供システム等のハードウェア構成の一例を示す図である。図2を参照しながら、本実施形態に係るサービス提供システム11等のハードウェア構成について説明する。ここでは、サービス提供システム11を例にしてハードウェア構成を説明するが、ユーザ管理システム12、機器管理システム13、デバイスシャドウシステム14および配信サーバ15も図2に示すハードウェア構成に準じる。また、ここでは、サービス提供システム11等が単一の情報処理装置であるものとしてハードウェア構成を説明するが、上述したように、複数の情報処理装置が複合的に処理する情報処理システムとして構成されていてもよい。
【0021】
図2に示すように、サービス提供システム11は、CPU(Central Processing Unit)601と、ROM(Read Only Memory)602と、RAM(Random Access Memory)603と、補助記憶装置605と、メディアドライブ607と、ディスプレイ608と、ネットワークI/F609と、キーボード611と、マウス612と、DVD(Digital Versatile Disc)ドライブ614と、を備えている。
【0022】
CPU601は、サービス提供システム11全体の動作を制御する演算装置である。ROM602は、サービス提供システム11用のプログラムを記憶している不揮発性記憶装置である。RAM603は、CPU601のワークエリアとして使用される揮発性記憶装置である。
【0023】
補助記憶装置605は、各種データおよびプログラム等を記憶するHDD(Hard Disk Drive)またはSSD(Solid State Drive)等の記憶装置である。メディアドライブ607は、CPU601の制御に従って、フラッシュメモリ等の記録メディア606に対するデータの読み出しおよび書き込みを制御する装置である。
【0024】
ディスプレイ608は、カーソル、メニュー、ウィンドウ、文字または画像等の各種情報を表示する液晶または有機EL(Electro Luminescence)等によって構成された表示装置である。
【0025】
ネットワークI/F609は、ネットワークNを利用してゲートウェイ機器20等の外部装置とデータ通信するためのインターフェースである。ネットワークI/F609は、例えば、Ethernet(登録商標)に対応し、TCP(Transmission Control Protocol)/IP(Internet Protocol)等に準拠した通信が可能なNIC(Network Interface Card)等である。
【0026】
キーボード611は、文字、数字、各種指示の選択、およびカーソルの移動等を行う入力装置である。マウス612は、各種指示の選択および実行、処理対象の選択、ならびにカーソルの移動等を行うための入力装置である。
【0027】
DVDドライブ614は、着脱自在な記憶媒体の一例としてのDVD-ROMまたはDVD-R(Digital Versatile Disk Recordable)等のDVD613に対するデータの読み出しおよび書き込みを制御する装置である。
【0028】
上述のCPU601、ROM602、RAM603、補助記憶装置605、メディアドライブ607、ディスプレイ608、ネットワークI/F609、キーボード611、マウス612およびDVDドライブ614は、アドレスバスおよびデータバス等のバス610によって互いに通信可能に接続されている。
【0029】
なお、図2に示したサービス提供システム11のハードウェア構成は一例を示すものであり、図2に示した構成要素を全て含む必要はなく、または、その他の構成要素を含むものとしてもよい。
【0030】
(IоTシステムの機能ブロックの構成および動作)
図3は、実施形態に係るIоTシステムの機能ブロックの構成の一例を示す図である。図4は、実施形態に係るサービス提供システムのデバイス連携設定画面の一例を示す図である。図5は、デバイス連携テーブルの一例を示す図である。図6は、ユーザ管理テーブルの一例を示す図である。図7は、機器管理テーブルの一例を示す図である。図8は、実施形態に係るデバイスシャドウシステムでゲートウェイ機器の状態を管理するコードの一例を示す図である。図3図8を参照しながら、本実施形態に係るIоTシステム1の機能ブロックの構成および動作について説明する。
【0031】
図3に示すように、サービス提供システム11は、デバイス連携部111(連携部の一例)と、デバイス連携DB112(第1記憶部の一例)と、を有する。
【0032】
デバイス連携部111は、提供するサービスと、エッジ側で使用されるデバイスのデバイス種別およびデータタイプとを連携する(関連付ける)機能部である。デバイス連携部111は、例えば図2に示したCPU601によりプログラムが実行されることによって実現される。
【0033】
具体的には、デバイス連携部111は、サービスの開発者の操作に応じて、例えば図4に示すデバイス連携設定画面1000をディスプレイ608に表示させる。図4に示すデバイス連携設定画面1000は、所定のサービスを利用するために、エッジ側で使用されるデバイス(ここでは入力デバイス31、出力デバイス32)の種別であるデバイス種別と、当該デバイスが処理するデータの様式を示すデータタイプとを設定する画面である。デバイス連携設定画面1000は、図4に示すように、入力デバイス設定領域1010と、出力デバイス設定領域1020と、決定ボタン1031と、キャンセルボタン1032と、を有する。
【0034】
入力デバイス設定領域1010は、チェックボックス1011a、1011bと、データタイプ入力領域1012a、1012bと、を含む。
【0035】
チェックボックス1011aは、使用する入力デバイスのデバイス種別として「デバイス種別A」を選択するためのチェックボックスである。データタイプ入力領域1012aは、デバイス種別が「デバイス種別A」である入力デバイスのデータタイプを入力するための領域である。
【0036】
チェックボックス1011bは、使用する入力デバイスのデバイス種別として「デバイス種別B」を選択するためのチェックボックスである。データタイプ入力領域1012bは、デバイス種別が「デバイス種別B」である入力デバイスのデータタイプを入力するための領域である。
【0037】
なお、データタイプ入力領域1012a、1012bは、例えば、所定の選択肢から選択するリストボックスであってもよく、さらに直接入力を許容するコンボボックスであってもよい。
【0038】
出力デバイス設定領域1020は、チェックボックス1021a、1021bと、データタイプ入力領域1022a、1022bと、を含む。
【0039】
チェックボックス1021aは、使用する出力デバイスのデバイス種別として「デバイス種別C」を選択するためのチェックボックスである。データタイプ入力領域1022aは、デバイス種別が「デバイス種別C」である出力デバイスのデータタイプを入力するための領域である。
【0040】
チェックボックス1022aは、使用する出力デバイスのデバイス種別として「デバイス種別D」を選択するためのチェックボックスである。データタイプ入力領域1022bは、デバイス種別が「デバイス種別D」である出力デバイスのデータタイプを入力するための領域である。
【0041】
なお、データタイプ入力領域1022a、1022bは、例えば、所定の選択肢から選択するリストボックスであってもよく、さらに直接入力を許容するコンボボックスであってもよい。
【0042】
決定ボタン1031は、所定のサービスと、入力デバイス設定領域1010および出力デバイス設定領域1020に入力されたデバイス種別およびデータタイプと、を関連付けるためのボタンである。具体的には、デバイス連携部111は、決定ボタン1031が押下されると、所定のサービスを識別するサービスIDと、入力されたデバイス種別およびデータタイプと、を関連付け、デバイス連携DB112に記憶された図5に示すデバイス連携テーブルに登録する。この際、デバイス連携部111は、関連付けたサービスIDと、デバイス種別およびデータタイプとを、レコードを識別するIDを発行したうえで、レコードとして登録する。
【0043】
図5に示すように、デバイス連携テーブルは、レコードを識別するIDと、サービスを識別するサービスIDと、当該サービスで使用されるデバイスの種別を示すデバイス種別と、当該デバイスが処理するデータの様式および内容等を示すデータタイプとを関連付けて管理するテーブルである。例えば、図5に示すデバイス連携テーブルの例の場合、ID「ID0002」と、サービスID「SID0001」と、デバイス種別「DeviceTypeC」と、データタイプ「devices.measurements.warningLight.v1」とが関連付けられている。ここで、データタイプは、図5の例では、「{データの種類}.{スキーマ名称}.{スキーマバージョン}」のフォーマットとなっている。例えば、{データの種類}として「devices.measurements」は、デバイスの状態を示すデータを表し、「devices.actions」は、データの制御を示すデータを表す。また、{スキーマ名称}として「warningLight」は、警告灯を示し、「temperature」は、温度を示す。
【0044】
キャンセルボタン1032は、デバイス連携設定画面1000で入力された各種設定内容をキャンセルするためのボタンである。
【0045】
デバイス連携DB112は、図5に示すデバイス連携テーブルを記憶・管理するためのデータベースである。デバイス連携テーブルについては、上述した通りである。デバイス連携DB112は、図2に示した補助記憶装置605によって実現される。
【0046】
なお、図3に示すサービス提供システム11のデバイス連携部111は、ソフトウェア(プログラム)の実行により実現されることに限定されず、FPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)等のハードウェア回路によって実現されてもよい。
【0047】
また、図3に示すサービス提供システム11の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3に示すサービス提供システム11で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図3に示すサービス提供システム11で1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0048】
図3に示すように、ユーザ管理システム12は、ユーザ管理部121(利用者管理部の一例)と、ユーザ管理DB122(第3記憶部の一例)と、を有する。
【0049】
ユーザ管理部121は、利用者が利用するサービスと、当該利用者を識別するユーザID(第3情報の一例)とを関連付けて管理する機能部である。ユーザ管理部121は、例えば図2に示したCPU601によりプログラムが実行されることによって実現される。
【0050】
具体的には、ユーザ管理部121は、利用者によるサービスの利用申請を行う操作に応じて、申請対象のサービスのサービスIDと、当該利用者を識別するユーザIDと、を関連付けて、ユーザ管理DB122に記憶された図6に示すユーザ管理テーブルに登録する。
【0051】
図6に示すように、ユーザ管理テーブルは、利用者を識別するユーザIDと、当該利用者が利用するサービスを識別するサービスIDとを関連付けて管理するテーブルである。例えば、図6に示すユーザ管理テーブルの例の場合、ユーザID「UID0001」と、サービスID「SID0001」とが関連付けられている。
【0052】
ユーザ管理DB122は、図6に示すユーザ管理テーブルを記憶・管理するためのデータベースである。ユーザ管理テーブルについては、上述した通りである。ユーザ管理DB122は、図2に示した補助記憶装置605によって実現される。
【0053】
なお、図3に示すユーザ管理システム12のユーザ管理部121は、ソフトウェア(プログラム)の実行により実現されることに限定されず、FPGAまたはASIC等のハードウェア回路によって実現されてもよい。
【0054】
また、図3に示すユーザ管理システム12の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3に示すユーザ管理システム12で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図3に示すユーザ管理システム12で1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0055】
図3に示すように、機器管理システム13は、機器管理部131と、機器管理DB132(第2記憶部の一例)と、を有する。
【0056】
機器管理部131は、サービスを利用する利用者が使用するゲートウェイ機器20と、当該利用者とを関連付けて管理する機能部である。機器管理部131は、例えば図2に示したCPU601によりプログラムが実行されることによって実現される。
【0057】
具体的には、機器管理部131は、利用者のためにゲートウェイ機器20、入力デバイス31および出力デバイス32についてキッティングしたカスタマーエンジニアの操作に応じて、当該ゲートウェイ機器20を識別するデバイスID(第2情報の一例)と、当該利用者に送付するために発行した登録コードとを関連付けて、機器管理DB132に記憶された図7に示す機器管理テーブルに登録する。また、機器管理部131は、ゲートウェイ機器20、入力デバイス31、出力デバイス32および登録コードの送付を受けた利用者による機器登録の操作に応じて、機器管理テーブルにおける、入力された登録コードに対応するデバイスIDとユーザIDとを関連付けて登録する。
【0058】
図7に示すように、機器管理テーブルは、ゲートウェイ機器(ゲートウェイ機器20等)を識別するデバイスIDと、利用者を識別するユーザIDと、機器管理部131により発行された登録コードとを関連付けて管理するテーブルである。例えば、図7に示す機器管理テーブルの例では、カスタマーエンジニアの操作に応じて、キッティングした対象となるゲートウェイ機器のデバイスID「DID0002」と、その際に機器管理部131により発行された登録コード「YYYYYY」とが関連付けられて登録されている。このレコードについては、利用者からの機器登録がまだ行われていない状態のため、ユーザIDのカラムはNull値となっている。一方、カスタマーエンジニアの操作に応じて、キッティングした対象となるゲートウェイ機器のデバイスID「DID0001」と、その際に機器管理部131により発行された登録コード「XXXXXX」とが関連付けられて登録された後、利用者による機器登録の操作によって、さらにユーザID「UID0001」が関連付けられて登録されている。
【0059】
機器管理DB132は、図7に示す機器管理テーブルを記憶・管理するためのデータベースである。機器管理テーブルについては、上述した通りである。機器管理DB132は、図2に示した補助記憶装置605によって実現される。
【0060】
なお、図3に示す機器管理システム13の機器管理部131は、ソフトウェア(プログラム)の実行により実現されることに限定されず、FPGAまたはASIC等のハードウェア回路によって実現されてもよい。
【0061】
また、図3に示す機器管理システム13の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3に示す機器管理システム13で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図3に示す機器管理システム13で1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0062】
また、図5図7に示した各種テーブルは、テーブル形式であることに限定されるものではなく、各データ要素を関連付けて管理することができればどのような形式であってもよい。
【0063】
図3に示すように、デバイスシャドウシステム14は、状態管理部141と、状態管理DB142と、を有する。
【0064】
状態管理部141は、ゲートウェイ機器20の現在の状態、およびサービス提供システム11から要求される状態の変更を管理する機能部である。状態管理部141は、例えば図2に示したCPU601によりプログラムが実行されることによって実現される。
【0065】
具体的には、状態管理部141は、状態管理DB142に記憶された図8に示すゲートウェイ機器(例えばゲートウェイ機器20)の状態を管理するコード(以下、状態管理オブジェクトと称する)に基づいて、ゲートウェイ機器の状態を管理する。
【0066】
図8に示すように、状態管理オブジェクトは、例えば、Reportedオブジェクト部2001と、Desiredオブジェクト部2002と、Deltaオブジェクト部2003と、を含む。
【0067】
Reportedオブジェクト部2001は、ゲートウェイ機器20の現在の状態を示すオブジェクト部分である。図8に示す例では、Reportedオブジェクト部2001が示すゲートウェイ機器20の現在の状態が、「SID0001」で識別されるサービスを利用しており、デバイス種別「DeviceTypeA」およびデータタイプ「devices.measurements.temperature.v1」のデバイス(入力デバイス)用、ならびに、デバイス種別「DeviceTypeB」およびデータタイプ「devices.actions.warningLight.v2」のデバイス(出力デバイス)用のプラグインがインストールされている状態であることを示している。例えば、ゲートウェイ機器20が、電源オン時および定期的に、現在の状態を示す情報をデバイスシャドウシステム14に送信し、状態管理部141が、当該情報をReportedオブジェクト部2001に反映するものとすればよい。
【0068】
Desiredオブジェクト部2002は、サービス提供システム11から要求される状態の変更を示すオブジェクト部分である。図8に示す例では、Desiredオブジェクト部2002が示すゲートウェイ機器20に対して要求されている状態の変更が、デバイス種別「DeviceTypeA」およびデータタイプ「devices.measurements.temperature.v1」のデバイス(入力デバイス)用、デバイス種別「DeviceTypeB」およびデータタイプ「devices.actions.warningLight.v2」のデバイス(出力デバイス)用、ならびに、デバイス種別「DeviceTypeC」およびデータタイプ「devices.measurements.photo.v1」のデバイス(入力デバイス)用のプラグインがインストールされる状態であることを示している。例えば、状態管理部141は、サービス提供システム11から要求された状態の変更に基づいて、Desiredオブジェクト部2002に反映する。
【0069】
Deltaオブジェクト部2003は、Reportedオブジェクト部2001とDesiredオブジェクト部2002との差分を示すオブジェクト部分である。図8に示す例では、Deltaオブジェクト部2003が示すReportedオブジェクト部2001とDesiredオブジェクト部2002との差分を示す部分が、デバイス種別「DeviceTypeC」およびデータタイプ「devices.measurements.photo.v1」のデバイス(入力デバイス)用のプラグインがインストールされる状態であることを示している。すなわち、ゲートウェイ機器20には、まだデバイス種別「DeviceTypeC」およびデータタイプ「devices.measurements.photo.v1」のデバイス(入力デバイス)用のプラグインがインストールされておらず、当該プラグインのインストールがサービス提供システム11から要求されていることを示している。状態管理部141は、適宜、Reportedオブジェクト部2001とDesiredオブジェクト部2002との差分を算出して、Deltaオブジェクト部2003に反映する。そして、状態管理部141は、Deltaオブジェクト部2003、すなわちReportedオブジェクト部2001とDesiredオブジェクト部2002との差分が発生した場合、当該差分の内容をゲートウェイ機器20へ送信する。
【0070】
状態管理DB142は、図8に示す状態管理オブジェクトを記憶・管理するためのデータベースである。状態管理オブジェクトについては、上述した通りである。状態管理DB142は、図2に示した補助記憶装置605によって実現される。
【0071】
なお、図3に示すデバイスシャドウシステム14の状態管理部141は、ソフトウェア(プログラム)の実行により実現されることに限定されず、FPGAまたはASIC等のハードウェア回路によって実現されてもよい。
【0072】
また、図3に示すデバイスシャドウシステム14の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3に示すデバイスシャドウシステム14で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、図3に示すデバイスシャドウシステム14で1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0073】
配信サーバ15は、IоTシステム1で利用されるゲートウェイ機器にインストールされる各種プラグインを、当該ゲートウェイ機器からの要求に応じて配信する。
【0074】
図3に示すように、ゲートウェイ機器20は、ゲートウェイアプリケーション201と、プラグイン211と、プラグイン212と、を有する。ただし、プラグイン211およびプラグイン212は、デバイスシャドウシステム14から受信した上述のDeltaオブジェクト部2003の差分の内容に応じて、配信サーバ15からダウンロードおよびインストールされたものである。
【0075】
ゲートウェイアプリケーション201は、デバイスシャドウシステム14から受信した上述のDeltaオブジェクト部2003の差分の内容に応じて、配信サーバ15に当該差分の内容に対応するプラグインの有無を問い合わせ、対応するプラグインをダウンロードし、インストールするアプリケーションである。また、ゲートウェイアプリケーション201は、プラグインとサービス提供システム11との間でデータ通信の中継を行う。
【0076】
プラグイン211は、入力デバイス31とデータ通信するためのプラグインである。具体的には、プラグイン211は、入力デバイス31により入力または検出等されたデータを受信し、ゲートウェイアプリケーション201へ送る。ゲートウェイアプリケーション201は、プラグイン211から受け取ったデータをサービス提供システム11へ送信する。
【0077】
プラグイン212は、出力デバイス32とデータ通信するためのプラグインである。具体的には、プラグイン212は、サービス提供システム11からゲートウェイアプリケーション201を介して受信した制御指令等を、出力デバイス32へ送信する。出力デバイス32は、受信した制御指令等に基づいて動作を行う。
【0078】
ここで、図3を参照しながら、サービスの開発者によるデバイスの設定から、エッジ側で利用者が当該デバイスの使用が可能となるまでの一連の処理の流れの概要を説明する。まず、サービスの開発者は、当該サービスを利用させるために、サービス提供システム11に対して、デバイス連携設定画面1000を介して。エッジ側で使用されるデバイスの種別であるデバイス種別と、当該デバイスが処理するデータの様式および内容等を示すデータタイプとを設定する(図3の「(1)設定」)。次に、サービスの利用者は、ユーザ管理システム12に対してサービスの利用申請を行うことにより、ユーザ管理システム12において、申請対象のサービスのサービスIDと、当該利用者を識別するユーザIDと、が関連付けられる(図3の「(2)サービス利用申請」)。
【0079】
次に、サービスの利用申請を確認したカスタマーエンジニアは、利用者のために当該サービスで使用するゲートウェイ機器20、入力デバイス31および出力デバイス32についてキッティングを行う。次に、カスタマーエンジニアは、機器管理システム13に対する操作により、当該ゲートウェイ機器20を識別するデバイスIDと、当該利用者に送付するために発行された登録コードとを関連付けさせる(図3の「(3)キッティング」)。そして、カスタマーエンジニアは、機器管理システム13に対する登録を終えたゲートウェイ機器20、入力デバイス31および出力デバイス32、ならびに登録コードを、利用者に送付する(図3の「(4)ゲートウェイ機器・デバイス・登録コードの送付」)。
【0080】
次に、ゲートウェイ機器20、入力デバイス31および出力デバイス32、ならびに登録コードの送付を受けた利用者は、当該ゲートウェイ機器20、入力デバイス31および出力デバイス32の設置を行う。そして、利用者は、機器管理システム13に対する機器登録の操作により、入力した登録コードに対応するデバイスIDとユーザIDとを関連付けさせる(図3の「(5)機器登録」)。そして、機器管理システム13の機器管理部131は、機器管理テーブルに登録されたデバイスID、ユーザIDおよび登録コードの情報を、サービス提供システム11へ通知する(図3の「(6)通知」)。
【0081】
次に、サービス提供システム11のデバイス連携部111は、機器管理システム13から通知された利用者が利用申請しているサービスに対応するデバイス種別およびデータタイプをデバイス連携DB112から読み出し、ゲートウェイ機器20に対する状態の変更の要求として、読み出したデバイス種別およびデータタイプをデバイスシャドウシステム14へ送信する(図3の「(7)同期」)。次に、デバイスシャドウシステム14の状態管理部141は、サービス提供システム11から要求されたゲートウェイ機器20の状態の変更を、ゲートウェイ機器20の現在の状態からの差分(Deltaオブジェクト部2003)として認識し、当該差分の内容をゲートウェイ機器20へ送信する(図3の「(8)同期」)。
【0082】
ゲートウェイ機器20は、デバイスシャドウシステム14から受信した差分の内容(デバイス種別およびデータタイプ)に基づいて、配信サーバ15に当該差分の内容に対応するプラグインの有無を問い合わせる(図3の「(9)問合せ」)。そして、配信サーバ15は、受信した差分の内容に対応するプラグインをゲートウェイ機器20へ送信する(図3の「(10)ダウンロード」)。そして、ゲートウェイ機器20は、ダウンロードしたプラグインをインストールする。これによって、ゲートウェイ機器20は、プラグインを介したデバイスとのデータ通信が可能となり、利用者はサービスの提供を受けることができる。
【0083】
(デバイス連設定処理の流れ)
図9は、実施形態に係るIоTシステムにおけるデバイス連携設定処理の流れの一例示すシーケンス図である。図9を参照しながら、本実施形態に係るIоTシステム1におけるデバイス連携設定処理の流れについて説明する。図9に示すデバイス連携設定処理は、図3に示した「(1)設定」の処理に相当する。
【0084】
<ステップS11>
まず、サービス提供システム11のデバイス連携部111は、サービスの開発者の操作に応じて、上述の図4に示すデバイス連携設定画面1000をディスプレイ608に表示させる。
【0085】
<ステップS12>
開発者は、デバイス連携設定画面1000において、使用する入力デバイスおよび出力デバイスのうち少なくとも一方についてのデバイス種別およびデータタイプを設定する。
【0086】
<ステップS13>
そして、開発者によってデバイス連携設定画面1000の決定ボタン1031が押下されると、デバイス連携部111は、所定のサービスを識別するサービスIDと、入力されたデバイス種別およびデータタイプとを関連付け、デバイス連携DB112に記憶された図5に示すデバイス連携テーブルに登録する。これによって、サービスで使用するデバイス(入力デバイス、出力デバイス)が設定登録される。
【0087】
(利用者がサービスの利用を申請する処理の流れ)
図10は、実施形態に係るIоTシステムにおいて利用者がサービスの利用を申請する処理の流れの一例を示すシーケンス図である。図10を参照しながら、本実施形態に係るIоTシステム1において利用者がサービスの利用を申請する処理の流れについて説明する。図10に示す処理は、図3に示した「(2)サービス利用申請」の処理に相当する。
【0088】
<ステップS21>
サービスの利用者は、所有する情報処理装置等を介してサービスの利用申請の操作を行う。これによって、当該情報処理装置は、当該利用者のユーザID、および申請対象のサービスのサービスIDを、ユーザ管理システム12へ送信する。
【0089】
<ステップS22>
ユーザ管理システム12のユーザ管理部121は、受信した申請対象のサービスのサービスIDと、当該利用者を識別するユーザIDと、を関連付けて、ユーザ管理DB122に記憶された図6に示すユーザ管理テーブルに登録する。
【0090】
(カスタマーエンジニアがゲートウェイ機器を設定する処理の流れ)
図11は、実施形態に係るIоTシステムにおいてカスタマーエンジニアがゲートウェイ機器を設定する処理の流れの一例を示すシーケンス図である。図11を参照しながら、本実施形態に係るIоTシステム1においてカスタマーエンジニアがゲートウェイ機器を設定する処理の流れについて説明する。図11に示す処理は、図3に示した「(3)キッティング」および「(4)ゲートウェイ機器・デバイス・登録コードの送付」の処理に相当する。
【0091】
<ステップS31>
サービスの利用申請を確認したカスタマーエンジニアは、利用者のために当該サービスで使用するゲートウェイ機器20、入力デバイス31および出力デバイス32についてキッティングを行う。
【0092】
<ステップS32>
カスタマーエンジニアは、所有する情報処理装置等を介して、当該ゲートウェイ機器20を識別するデバイスIDと、当該利用者に送付するために発行した登録コードと、を機器管理システム13へ送信する。
【0093】
<ステップS33、S34>
機器管理システム13の機器管理部131は、カスタマーエンジニアによりキッティングが行われたゲートウェイ機器20を識別するデバイスIDと、利用者に送付するために発行された登録コードとを関連付けて、機器管理DB132に記憶された図7に示す機器管理テーブルに登録する。なお、登録コードは、機器管理部131が機器管理テーブルに登録する際に発行されるものとしてもよい。そして、機器管理部131は、機器管理テーブルへの登録が完了した旨を、カスタマーエンジニアの情報処理装置へ送信する。
【0094】
<ステップS35>
そして、カスタマーエンジニアは、機器管理システム13に対する登録を終えたゲートウェイ機器20、入力デバイス31および出力デバイス32、ならびに登録コードを、利用者に送付する。
【0095】
(利用者がゲートウェイ機器を登録してサービスを受けるまでの処理の流れ)
図12は、実施形態に係るIоTシステムにおいて利用者がゲートウェイ機器を登録してサービスを受けるまでの処理の流れの一例を示すシーケンス図である。図12を参照しながら、本実施形態に係るIоTシステム1において利用者がゲートウェイ機器を登録してサービスを受けるまでの処理の流れについて説明する。図11に示す処理は、図3に示した「(5)機器登録」、「(6)通知」、「(7)同期」、「(8)同期」、「(9)問合せ」および「(10)ダウンロード」の処理に相当する。
【0096】
<ステップS41>
ゲートウェイ機器20、入力デバイス31および出力デバイス32、ならびに登録コードの送付を受けた利用者は、当該ゲートウェイ機器20、入力デバイス31および出力デバイス32の設置を行う。次に、利用者は、所有する情報処理装置等を介して機器管理システム13に対する機器登録の操作により、ユーザIDおよび登録コードを機器管理システム13に送信する。
【0097】
<ステップS42、S43>
機器管理システム13の機器管理部131は、ゲートウェイ機器20、入力デバイス31、出力デバイス32および登録コードの送付を受けた利用者による機器登録の操作に応じて、機器管理DB132に記憶された図7に示す機器管理テーブルにおける、入力された登録コードに対応するデバイスIDとユーザIDとを関連付けて登録する。そして、機器管理部131は、機器管理テーブルへの登録が完了した旨を、利用者の情報処理装置へ送信する。
【0098】
<ステップS44>
機器管理部131は、機器管理テーブルに登録されたデバイスID、ユーザIDおよび登録コードの情報を、サービス提供システム11へ通知する。
【0099】
<ステップS45>
サービス提供システム11のデバイス連携部111は、機器管理システム13から通知された利用者が利用申請しているサービスに対応するデバイス種別およびデータタイプをデバイス連携DB112から読み出し、ゲートウェイ機器20に対する状態の変更の要求として、当該サービスのサービスID、ならびに読み出したデバイス種別およびデータタイプをデバイスシャドウシステム14へ送信(同期)する。
【0100】
具体的には、例えば、デバイス連携部111は、機器管理システム13から受信したユーザIDから、対応するサービスIDをユーザ管理システム12に問合せて取得する。次に、デバイス連携部111は、デバイス連携DB112のデバイス連携テーブルを参照し、取得したサービスIDに対応するデバイス種別およびデータタイプを読み出す。そして、デバイス連携部111は、当該サービスID、ならびに、デバイス連携テーブルから読み出したデバイス種別およびデータタイプをデバイスシャドウシステム14へ送信(同期)する。
【0101】
<ステップS46>
デバイスシャドウシステム14の状態管理部141は、サービス提供システム11から受信したゲートウェイ機器20に対する状態の変更の要求としての、サービスID、デバイス種別およびデータタイプを、図8に示す状態管理オブジェクトのDesiredオブジェクト部2002へ反映する。そして、状態管理部141は、ゲートウェイ機器20の現在の状態を示すReportedオブジェクト部2001と、Desiredオブジェクト部2002との差分であるDeltaオブジェクト部2003を算出し、当該差分の内容をゲートウェイ機器20へ送信(同期)する。
【0102】
<ステップS47>
ゲートウェイ機器20のゲートウェイアプリケーション201は、デバイスシャドウシステム14から差分の内容(Deltaオブジェクト部2003の内容)を受信すると、ゲートウェイ機器20のOS(Operating System)およびCPUアーキテクチャ等の情報(以下、ゲートウェイ機器情報と称する場合がある)を取得する。
【0103】
<ステップS48>
ゲートウェイアプリケーション201は、デバイスシャドウシステム14から受信した上述のDeltaオブジェクト部2003の差分の内容およびゲートウェイ機器情報に基づいて、配信サーバ15に当該差分の内容に対応するプラグインのダウンロード要求を行う。
【0104】
<ステップS49>
ゲートウェイアプリケーション201は、上述のダウンロード要求により、配信サーバ15からゲートウェイ機器20で使用するデバイスとデータ通信を行うためのプラグインをダウンロードする。
【0105】
<ステップS50>
ゲートウェイアプリケーション201は、ダウンロードしたプラグインをゲートウェイ機器20にインストールする。
【0106】
以上の処理によって、ゲートウェイ機器20は、インストールしたプラグインによりデバイスとのデータ通信が可能となり、サービス提供システム11が提供するサービスを受けることが可能となる。
【0107】
このように、IоTシステム1において利用者が利用することができるサービスとして、例えば、入力デバイスとしての環境センサが検出した環境データ(温度、湿度等)が所定の閾値を超えるとアラートをメールで送信するサービスが挙げられる。このサービスの開発者は、サービス提供システム11に対して入力デバイスとしての環境センサのデバイス種別およびデータタイプを登録する。サービスの利用者が当該サービスの利用申請を行い、上述の機器登録の操作を行うと、入力デバイスとしての環境センサのデバイス種別およびデータタイプが、デバイスシャドウシステム14を介してゲートウェイ機器20のゲートウェイアプリケーション201へ同期される。そして、ゲートウェイアプリケーション201は、受信したデバイス種別およびデータタイプを用いて、配信サーバ15から環境センサ用のプラグインをダウンロードし、ゲートウェイ機器20へインストールする。このプラグインにより、環境センサとゲートウェイ機器20との通信が可能となり、環境センサが検出した環境データをゲートウェイ機器20へ送信することができるようになる。
【0108】
また、IоTシステム1において利用者が利用することができるサービスとして、オフィスまたは工場等の入館時に人の体温を測定するサーマルカメラで取得した体温データと、顔認証で取得したユーザ識別情報とから、ユーザの体温および入館時間を記録するサービスが挙げられる。このサービスの開発者は、サービス提供システム11に対して入力デバイスとしてのサーマルカメラのデバイス種別およびデータタイプを登録する。サービスの利用者のサービスの利用申請からサーマルカメラがサービスへデータを送信できるようになるまでの処理は、上述の環境センサを用いたサービスの場合と同様である。
【0109】
(開発者がデバイス種別およびデータタイプを追加した場合の処理の流れ)
図13は、実施形態に係るIоTシステムにおいて開発者がデバイス種別およびデータタイプを追加した場合の処理の流れの一例を示すシーケンス図である。図13を参照しながら、本実施形態に係るIоTシステム1において開発者がデバイス種別およびデータタイプを追加した場合の処理の流れについて説明する。
【0110】
<ステップS61>
まず、サービス提供システム11のデバイス連携部111は、サービスの開発者の操作に応じて、上述の図4に示すデバイス連携設定画面1000をディスプレイ608に表示させる。
【0111】
<ステップS62>
開発者は、デバイス連携設定画面1000において、入力デバイスおよび出力デバイスのうち追加する少なくとも一方についてのデバイス種別およびデータタイプを設定する。
【0112】
<ステップS63>
そして、開発者によってデバイス連携設定画面1000の決定ボタン1031が押下されると、デバイス連携部111は、所定のサービスを識別するサービスIDと、追加されたデバイス種別およびデータタイプとを関連付け、デバイス連携DB112に記憶された図5に示すデバイス連携テーブルに登録する。これによって、サービスで使用するデバイス(入力デバイス、出力デバイス)を追加設定することができる。
【0113】
<ステップS64>
サービス提供システム11のデバイス連携部111は、追加されたデバイス種別およびデータタイプをデバイス連携DB112から読み出し、ゲートウェイ機器20に対する状態の変更の要求として、当該デバイス種別およびデータタイプに対応するサービスのサービスID、ならびに読み出したデバイス種別およびデータタイプをデバイスシャドウシステム14へ送信(同期)する。
【0114】
<ステップS65>
デバイスシャドウシステム14の状態管理部141は、サービス提供システム11から受信したゲートウェイ機器20に対する状態の変更の要求としての、サービスID、デバイス種別およびデータタイプを、図8に示す状態管理オブジェクトのDesiredオブジェクト部2002へ反映する。そして、状態管理部141は、ゲートウェイ機器20の現在の状態を示すReportedオブジェクト部2001と、Desiredオブジェクト部2002との差分であるDeltaオブジェクト部2003を算出し、当該差分の内容をゲートウェイ機器20へ送信(同期)する。
【0115】
<ステップS66>
ゲートウェイ機器20のゲートウェイアプリケーション201は、デバイスシャドウシステム14から差分の内容(Deltaオブジェクト部2003の内容)を受信すると、ゲートウェイ機器20のゲートウェイ機器情報を取得する。
【0116】
<ステップS67>
ゲートウェイアプリケーション201は、デバイスシャドウシステム14から受信した上述のDeltaオブジェクト部2003の差分の内容およびゲートウェイ機器情報に基づいて、配信サーバ15に当該差分の内容に対応するプラグインのダウンロード要求を行う。
【0117】
<ステップS68>
ゲートウェイアプリケーション201は、上述のダウンロード要求により、配信サーバ15からゲートウェイ機器20で使用するデバイスとデータ通信を行うためのプラグインをダウンロードする。
【0118】
<ステップS69>
ゲートウェイアプリケーション201は、ダウンロードしたプラグインをゲートウェイ機器20にインストールする。
【0119】
以上の処理によって、サービスの利用者がプラグインを追加することなく、ゲートウェイ機器20は、追加してインストールしたプラグインにより、追加されたデバイスとのデータ通信が可能となる。
【0120】
例えば、上述したIоTシステム1において利用者が利用することができるサービスの一例としての、入力デバイスとしての環境センサが検出した環境データ(温度、湿度等)が所定の閾値を超えるとアラートをメールで送信するサービスにおいて、ゲートウェイ機器に接続した出力デバイスとしての警告灯でもアラートを表示したいという要求があったものとする。この場合、サービスの開発者は、サービスの出力デバイスとしての警告灯のデバイス種別およびデータタイプを追加することにより、デバイスシャドウシステム14を介して、ゲートウェイ機器20のゲートウェイアプリケーション201へ警告灯のデバイス種別およびデータタイプが同期される。サービス提供システム11から同期された警告灯のデバイス種別およびデータタイプを用いて、ゲートウェイ機器20にプラグインが自動でインストールされる。これによって、サービスの利用者がプラグインを追加することなく、ゲートウェイ機器20で警告灯が利用できるようになる。
【0121】
(開発者がデバイス種別およびデータタイプを削除した場合の処理の流れ)
図14は、実施形態に係るIоTシステムにおいて開発者がデバイス種別およびデータタイプを削除した場合の処理の流れの一例を示すシーケンス図である。図14を参照しながら、本実施形態に係るIоTシステム1において開発者がデバイス種別およびデータタイプを削除した場合の処理の流れについて説明する。
【0122】
<ステップS71>
まず、サービス提供システム11のデバイス連携部111は、サービスの開発者の操作に応じて、上述の図4に示すデバイス連携設定画面1000をディスプレイ608に表示させる。
【0123】
<ステップS72>
開発者は、デバイス連携設定画面1000において、入力デバイスおよび出力デバイスのうち削除対象となる少なくとも一方についてのデバイス種別のチェックボックスのチェックを外す。
【0124】
<ステップS73>
そして、開発者によってデバイス連携設定画面1000の決定ボタン1031が押下されると、デバイス連携部111は、削除対象として選択されたデバイス種別およびデータタイプとを含むレコードを、デバイス連携DB112に記憶された図5に示すデバイス連携テーブルから削除する。
【0125】
<ステップS74>
サービス提供システム11のデバイス連携部111は、デバイス連携DB112から削除したサービスID、デバイス種別およびデータタイプを、ゲートウェイ機器20に対する状態の変更の要求としてデバイスシャドウシステム14へ送信(同期)する。
【0126】
<ステップS75>
デバイスシャドウシステム14の状態管理部141は、サービス提供システム11から受信したゲートウェイ機器20に対する状態の変更の要求としての、削除したサービスID、デバイス種別およびデータタイプを、図8に示す状態管理オブジェクトのDesiredオブジェクト部2002へ反映する。具体的には、状態管理部141は、ゲートウェイ機器20の現在の状態を示すReportedオブジェクト部2001から、受信したサービスID、デバイス種別およびデータタイプを削除した内容のDesiredオブジェクト部2002を生成する。そして、状態管理部141は、ゲートウェイ機器20の現在の状態を示すReportedオブジェクト部2001と、Desiredオブジェクト部2002との差分であるDeltaオブジェクト部2003を算出し、当該差分の内容をゲートウェイ機器20へ送信(同期)する。
【0127】
<ステップS76>
そして、ゲートウェイ機器20のゲートウェイアプリケーション201は、受信した差分の内容、すなわち削除対象を示すサービスID、デバイス種別およびデータタイプに対応するプラグインをアンインストールする。
【0128】
以上の処理によって、サービスの利用者がプラグインを削除することなく、ゲートウェイ機器20は、削除対象となるプラグインをアンインストールすることができる。
【0129】
以上のように、本実施形態に係るIоTシステム1では、デバイス連携部111は、サービスで使用されるデバイスに関するデバイス種別およびデータタイプの設定入力を受けた場合、当該デバイス種別およびデータタイプを当該サービスに関連付けてデバイス連携DB112に登録し、機器管理部131は、サービスで使用されるゲートウェイ機器20を識別するデバイスIDを当該サービスの利用者(ユーザID)と関連付けて機器管理DB132に登録し、状態管理部141は、ゲートウェイ機器20の状態を管理し、デバイス連携部111は、機器管理部131によりデバイスIDが機器管理DB132に登録された場合、当該デバイスIDに関連付けられた利用者が利用するサービスに対応するデバイス種別およびデータタイプを、状態管理部141に通知し、状態管理部141は、デバイス連携部111から通知されたデバイス種別およびデータタイプを、ゲートウェイ機器20が当該デバイス種別およびデータタイプに対応するプラグインであって当該デバイス種別およびデータタイプが示すデバイスとデータ通信するためのプラグインを配信サーバ15からダウンロードするために、当該ゲートウェイ機器20に送信するものとしている。すなわち、プラグインの配信(ダウンロード)に必要な情報(デバイス種別およびデータタイプ)と、デバイス連携部111で設定する情報とが同じであるため、ゲートウェイ機器20がデバイスシャドウシステム14から、サービス提供システム11で登録されたデバイス種別およびデータタイプを取得すれば、ゲートウェイ機器20はプラグインを配信サーバ15からダウンロードできる。したがって、サービスに関する者がプラグインを明示的に選択せずとも、サービスで使用されるゲートウェイ機器20に自動的にプラグインをインストールすることができる。
【0130】
また、本実施形態に係るIоTシステム1では、ゲートウェイ機器20は、状態管理部141からデバイス種別およびデータタイプを受信した場合、当該デバイス種別およびデータタイプに対応するプラグインを配信サーバ15からダウンロードし、当該プラグインを当該ゲートウェイ機器20にインストールするものとしている。すなわち、ゲートウェイ機器20は、状態管理部141からデバイス種別およびデータタイプを受信することによって、対応するプラグインを自動でダウンロードし、かつインストールすることができる。
【0131】
また、本実施形態に係るIоTシステム1では、デバイス連携部111は、既に利用されているサービスに対して追加する新たなデバイスに関するデバイス種別およびデータタイプの設定入力を受けた場合、当該デバイス種別およびデータタイプを当該サービスに関連付けてデバイス連携DB112に登録し、登録した当該デバイス種別およびデータタイプを状態管理部141に通知するものとしている。これによって、開発者によって追加するデバイスのデバイス種別およびデータタイプがサービス提供システム11に登録されるだけで、ゲートウェイ機器20は自動的に対応するプラグインを追加でダウンロードし、インストールすることができるため、利用者の手間を省くことができる。
【0132】
また、本実施形態に係るIоTシステム1では、デバイス連携部111は、既に利用されているサービスで使用されているデバイスに関するデバイス種別およびデータタイプの削除設定を受けた場合、当該デバイス種別およびデータタイプをデバイス連携DB112から削除し、削除した当該デバイス種別およびデータタイプを状態管理部141に通知するものとしている。これによって、開発者によって削除するデバイスのデバイス種別およびデータタイプがサービス提供システム11に設定されるだけで、ゲートウェイ機器20は自動的に削除対象のプラグインをアンインストールするため、利用者の手間を省くことができる。
【0133】
なお、上述の実施形態において、サービス提供システム11、ユーザ管理システム12、機器管理システム13、デバイスシャドウシステム14および配信サーバ15の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM等に予め組み込まれて提供される。また、上述の実施形態において、サービス提供システム11、ユーザ管理システム12、機器管理システム13、デバイスシャドウシステム14および配信サーバ15で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk-Recordable)、またはDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の実施形態において、サービス提供システム11、ユーザ管理システム12、機器管理システム13、デバイスシャドウシステム14および配信サーバ15で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態において、サービス提供システム11、ユーザ管理システム12、機器管理システム13、デバイスシャドウシステム14および配信サーバ15で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の実施形態において、サービス提供システム11、ユーザ管理システム12、機器管理システム13、デバイスシャドウシステム14および配信サーバ15で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPU601が上述の記憶装置(例えば、ROM602、補助記憶装置605等)からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置(ROM602)上にロードされて生成されるようになっている。
【0134】
本発明の態様は、以下の通りである。
<1>サービスで使用されるデバイスに関する第1情報の設定入力を受けた場合、該第1情報を該サービスに関連付けて第1記憶部に登録する連携部と、
サービスで使用されるゲートウェイ機器を識別する第2情報を該サービスの利用者と関連付けて第2記憶部に登録する機器管理部と、
前記ゲートウェイ機器の状態を管理する状態管理部と、
を含み、
前記連携部は、前記機器管理部により前記第2情報が前記第2記憶部に登録された場合、該第2情報に関連付けられた利用者が利用するサービスに対応する第1情報を、前記状態管理部に通知し、
前記状態管理部は、前記連携部から通知された前記第1情報を、前記ゲートウェイ機器が該第1情報に対応するプラグインであって該第1情報が示すデバイスとデータ通信するためのプラグインを配信サーバからダウンロードするために、該ゲートウェイ機器に送信する情報処理システムである。
<2>前記ゲートウェイ機器は、前記状態管理部から前記第1情報を受信した場合、該第1情報に対応する前記プラグインを前記配信サーバからダウンロードし、該プラグインを該ゲートウェイ機器にインストールする前記<1>に記載の情報処理システムである。
<3>利用者を識別する第3情報をサービスに関連付けて第3記憶部に登録する利用者管理部を、さらに含み、
前記連携部は、前記機器管理部により前記第2情報が前記第2記憶部に登録された場合、該第2情報に関連付けられた利用者を識別する前記第3情報に関連付けられたサービスに対応する前記第1情報を、前記状態管理部に通知する前記<1>または<2>に記載の情報処理システムである。
<4>前記連携部は、
既に利用されているサービスに対して追加する新たなデバイスに関する前記第1情報の設定入力を受けた場合、該第1情報を該サービスに関連付けて前記第1記憶部に登録し、
登録した該第1情報を前記状態管理部に通知する前記<1>~<3>のいずれか一項に記載の情報処理システムである。
<5>前記連携部は、
既に利用されているサービスで使用されているデバイスに関する前記第1情報の削除設定を受けた場合、該第1情報を前記第1記憶部から削除し、
削除した該第1情報を前記状態管理部に通知する前記<1>~<4>のいずれか一項に記載の情報処理システムである。
<6>前記第1情報は、少なくともサービスで使用されるデバイスの種別、および該デバイスが処理するデータの様式を示すデータタイプを含む前記<1>~<5>のいずれか一項に記載の情報処理システムである。
<7>前記デバイスは、検出した情報を前記ゲートウェイ機器に送信する入力デバイス、または、該ゲートウェイ機器からの指令に応じて所定の出力動作を行う出力デバイスのうち少なくともいずれか一方である前記<1>~<6>のいずれか一項に記載の情報処理システムである。
<8>連携部が、サービスで使用されるデバイスに関する第1情報の設定入力を受けた場合、該第1情報を該サービスに関連付けて第1記憶部に登録するステップと、
機器管理部が、サービスで使用されるゲートウェイ機器を識別する第2情報を該サービスの利用者と関連付けて第2記憶部に登録するステップと、
状態管理部が、前記ゲートウェイ機器の状態を管理するステップと、
前記連携部が、前記機器管理部により前記第2情報が前記第2記憶部に登録された場合、該第2情報に関連付けられた利用者が利用するサービスに対応する第1情報を、前記状態管理部に通知するステップと、
前記状態管理部が、前記連携部から通知された前記第1情報を、前記ゲートウェイ機器が該第1情報に対応するプラグインであって該第1情報が示すデバイスとデータ通信するためのプラグインを配信サーバからダウンロードするために、該ゲートウェイ機器に送信するステップと、
を有する情報処理方法である。
<9>コンピュータに、
サービスで使用されるデバイスに関する第1情報の設定入力を受けた場合、該第1情報を該サービスに関連付けて第1記憶部に登録する連携部と、
サービスで使用されるゲートウェイ機器を識別する第2情報を該サービスの利用者と関連付けて第2記憶部に登録する機器管理部と、
前記ゲートウェイ機器の状態を管理する状態管理部と、
として実行させ、
前記連携部は、前記機器管理部により前記第2情報が前記第2記憶部に登録された場合、該第2情報に関連付けられた利用者が利用するサービスに対応する第1情報を、前記状態管理部に通知し、
前記状態管理部は、前記連携部から通知された前記第1情報を、前記ゲートウェイ機器が該第1情報に対応するプラグインであって該第1情報が示すデバイスとデータ通信するためのプラグインを配信サーバからダウンロードするために、該ゲートウェイ機器に送信するプログラムである。
【符号の説明】
【0135】
1 IоTシステム
11 サービス提供システム
12 ユーザ管理システム
13 機器管理システム
14 デバイスシャドウシステム
15 配信サーバ
20 ゲートウェイ機器
31 入力デバイス
32 出力デバイス
111 デバイス連携部
112 デバイス連携DB
121 ユーザ管理部
122 ユーザ管理DB
131 機器管理部
132 機器管理DB
141 状態管理部
142 状態管理DB
201 ゲートウェイアプリケーション
211、212 プラグイン
601 CPU
602 ROM
603 RAM
605 補助記憶装置
606 記録メディア
607 メディアドライブ
608 ディスプレイ
609 ネットワークI/F
610 バス
611 キーボード
612 マウス
613 DVD
614 DVDドライブ
1000 デバイス連携設定画面
1010 入力デバイス設定領域
1011a、1011b チェックボックス
1012a、1012b データタイプ入力領域
1020 出力デバイス設定領域
1021a、1021b チェックボックス
1022a、1022b データタイプ入力領域
1031 決定ボタン
1032 キャンセルボタン
2001 Repоrtedオブジェクト部
2002 Desiredオブジェクト部
2003 Deltaオブジェクト部
【先行技術文献】
【特許文献】
【0136】
【特許文献1】特開2003-173261号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14