JP7021136B2 - デバイス、システム、制御方法及びコンピュータプログラム - Google Patents
デバイス、システム、制御方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP7021136B2 JP7021136B2 JP2019018755A JP2019018755A JP7021136B2 JP 7021136 B2 JP7021136 B2 JP 7021136B2 JP 2019018755 A JP2019018755 A JP 2019018755A JP 2019018755 A JP2019018755 A JP 2019018755A JP 7021136 B2 JP7021136 B2 JP 7021136B2
- Authority
- JP
- Japan
- Prior art keywords
- agent
- sensor
- profile
- policy
- acquired
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
Description
従来のデバイス制御技術として、例えば特許文献1に記載の従来技術が知られている。特許文献1の従来技術では、計算機にCDドライブを接続し、ドライバの情報を含むOSインストールメディアを読み込ませることで、デバイス制御に必要となるドライバの自動インストールを実現する。
つまり、デバイスの種類が膨大となった場合に、上述した特許文献1の技術では、多種多様なOSやセンサの組み合わせが生じ、インストールメディア側の更新対応の管理コストが増大するおそれがある。具体的には、デバイスの種類が多岐にわたることから、複数種類のインストールメディアがあることが予想され、対象誤りなどが生じるおそれがある。
また、山間部などの人が直接アクセスすることが困難な環境に、ドローンなどを使用して、デバイスを設置するだけでは、インストールできないため、作業コストが増大するおそれがある。
デバイスにインストールした構成情報の中央(クラウド上)での管理コストが増大するおそれがある。
本発明は、このような事情を考慮してなされたものであり、その目的は、複数のデバイスの制御にかかる負担を軽減させることにある。
(2)本発明の一態様は、前記デバイスエージェントは、前記デバイス用ポリシに基づいて、前記ゲートウェイエージェントに、前記デバイスコアから取得した前記トポロジを示す情報と、前記センサの前記プロファイルを示す情報とを、デバイスに関する情報を管理する管理データベースに登録することを要求する、上記(1)に記載のデバイスである。
(3)本発明の一態様は、前記デバイスエージェントは、前記デバイスに対応するソフトウェアを示す情報の一覧を要求する情報であるソフトウェア情報一覧要求を、前記ゲートウェイエージェントへ送信し、送信した前記ソフトウェア情報一覧要求に対して、前記ゲートウェイエージェントが送信したソフトウェア情報一覧応答を取得し、取得した前記ソフトウェア情報一覧応答に含まれる一又は複数のソフトウェアを示す情報に基づいて、ソフトウェアを配布する配布サーバから、一又は複数の前記ソフトウェアをダウンロードし、ダウンロードした一又は複数の前記ソフトウェアのインストールを要求する情報であるインストール要求を、前記デバイスコアへ出力し、前記デバイスコアは、前記デバイスエージェントが出力した前記インストール要求に基づいて、インストールを要求された一又は複数の前記ソフトウェアをインストールする、上記(1)又は(2)に記載のデバイスである。
(4)本発明の一態様は、前記デバイスコアは、インストールした一又は複数の前記ソフ
トウェアを設定する、上記(3)に記載のデバイスである。
(5)本発明の一態様は、前記デバイスエージェントは、前記デバイスに接続されているセンサが変更されていることを検知した場合に、変更された前記センサのプロファイルを、前記デバイスコアへ要求し、前記デバイスコアは、前記デバイスエージェントからの要求に基づいて、変更された前記センサからプロファイルを取得し、取得した前記プロファイルを、前記デバイスエージェントへ出力し、前記デバイスエージェントは、前記デバイスコアが出力した前記センサの前記プロファイルを取得する、上記(1)から(4)のいずれか一項に記載のデバイスである。
(6)本発明の一態様は、前記デバイスエージェントは、前記デバイス用ポリシに基づいて、前記ゲートウェイエージェントに、前記デバイスコアから取得した前記センサの前記プロファイルを示す情報を、デバイスに関する情報を管理する管理データベースに登録することを要求する、上記(5)に記載のデバイスである。
(9)本発明の一態様は、管理サーバが備える管理エージェントが、デバイス用ポリシを配布するステップと、ゲートウェイ装置が備えるゲートウェイエージェントが、前記管理エージェントが配布した前記デバイス用ポリシを取得し、取得した前記デバイス用ポリシを配布するステップと、デバイスが備えるデバイスエージェントが、前記ゲートウェイエージェントから、前記デバイス用ポリシを取得するステップと、前記デバイスエージェントが、取得した前記デバイス用ポリシに基づいて、プロビジョニングを行うステップと、前記デバイスエージェントが、前記プロビジョニングを行う際に、前記デバイスのトポロジと、前記デバイスに接続されているセンサのプロファイルとを、前記デバイスが備えるデバイスコアに要求するステップと、前記デバイスコアが、前記デバイスエージェントからの要求に基づいて、前記デバイスの前記トポロジと、前記センサの前記プロファイルとを取得し、取得した前記デバイスの前記トポロジを示す情報と、前記センサの前記プロファイルを示す情報とを、前記デバイスエージェントへ出力するステップとを実行する、制御方法である。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
(デバイスシステム)
図1は、本発明の実施形態に係るデバイスシステムの構成例を示す図である。図1において、デバイスシステムSは、管理サーバ1と、IoTゲートウェイ(IoT-GW)2と、デバイス3と、デバイス4と、デバイス5と、認証サーバ6と、配布サーバ7と、管理DB(データベース)8とを備える。図1の例では、3個のデバイス3と、デバイス4と、デバイス5とが示されている。デバイス3と、デバイス4と、デバイス5とは、同じセンサレイヤ11に属するデバイスである。
管理サーバ1と、認証サーバ6と、配布サーバ7と、管理DB8とは、クラウドレイヤ9に属する。
IoT-GW2は、エッジ/IoT GWレイヤ10に属する。
IoT-GW2は、自IoT-GW2の管理下のセンサレイヤ11に属するデバイス3と、デバイス4と、デバイス5と通信を行う。例えば、IoT-GW2は、有線又は無線のLAN(Local Area Network)等の通信ネットワークを介して、デバイス3と、デバイス4と、デバイス5と通信を行う。
GWエージェント200は、デバイス3と、デバイス4と、デバイス5とを管理する。
デバイス3では、デバイスエージェント300と、デバイスコア310と、センサ320からセンサ322とが動作する。デバイス4では、デバイスエージェント400と、デバイスコア410と、センサ420からセンサ422とが動作する。デバイス5では、デバイスエージェント500と、デバイスコア510と、センサ520からセンサ522とが動作する。デバイスコア310と、デバイスコア410と、デバイスコア510とは、OS(Operating System)、APP(Application software)、ドライバ-などのソフトウェア部である。
管理エージェント100とGWエージェント200との間は、ブローカ110を用いてメッセージングを行う。GWエージェント200と、デバイスエージェント300とデバイスエージェント400とデバイスエージェント500との間はブローカ210を用いてメッセージングを行う。
管理サーバ1は、センサレイヤ11に属するデバイス3と、デバイス4と、デバイス5とを管理する。管理サーバ1は、管理エージェント100と、ブローカ110とを備える。管理サーバ1の機能は、例えば、管理サーバ1が備えるCPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。管理サーバ1の機能のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。なお、管理サーバ1として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
ポリシ管理・配布機能は、管理サーバ1の管理下のエッジ/IoT GWレイヤ10に対して配布するGW用ポリシを保持する。ポリシ管理・配布機能は、管理者から配布されたGW用ポリシを取得する。管理者は、管理端末(admin)を使用して管理サーバ1にアクセスし、GW用ポリシを配布する。ポリシ管理・配布機能は、取得したGW用ポリシを、管理サーバ1が管理するエッジ/IoT GWレイヤ10に属するIoT-GW2へ配布する。本実施形態の一例として、GW用ポリシは、GWエージェントに関するポリシである。管理エージェント100は、新規に設置されたデバイスからの接続要求があった際にGW用ポリシを配布する。
本実施形態の一例として、デバイス用ポリシは、デバイスエージェントに関するポリシである。デバイス用ポリシは、初期プロビジョニングに関する記述部と、初期プロビジョニング完了後の定常動作に関する記述箇所とを有する。デバイスは、ポリシに記述された内容に沿って初期プロビジョニングを実施し、プロビジョニングが正常に完了した後に、定常動作に関するポリシに基づいて動作する。
初期プロビジョニングには、以下に示す2つに関するポリシが少なくとも記述される。
一つ目は、デバイスのトポロジと、デバイスに接続されているセンサのプロファイルとを取得し、GWエージェントに通知することである。つまり、デバイスのトポロジを示す情報と、デバイスに接続されているセンサのプロファイルを示す情報とを含むDB登録要求を作成し、作成したDB登録要求を、GWエージェントへ通知する。ここで、デバイスのトポロジとは、デバイスの基盤、デバイスにインストールされているOS、デバイスに使用されているCPU、デバイスに実装されているメモリ、デバイスに実装されているディスク容量などのデバイスの構成を示す情報である。センサのプロファイルとは、センサの型番又は認証ID、センサのメーカ(製造元)、センサの種別などのセンサの属性を示す情報である。
二つ目は、デバイスに通知された構成要件(ソフトウェア情報一覧)に基づいて、必要なパッケージを取得し、取得したパッケージをインストールすることである。
事業者の運用形態に沿って、初期プロビジョニングの処理内容をカスタマイズすることは可能である。例えば、デバイスから、GWエージェントを経由することなく、管理DB8に直接登録要求するための接続先を設定することなどが可能である。定常動作では、デバイスの構成情報を定期的に監視し、センサ等の構成変更が生じた際に、能動的にGWエージェント200に通知する。
ゲートウェイ管理機能は、GWエージェント200から、デバイスに対応するソフトウェアを示す情報の一覧を通知することを要求する情報である構成要件通知要求を取得し、取得した構成要件通知要求に基づいて、管理DB8から一又は複数のソフトウェアを示す情報とその取得先を示す情報とを取得する。ここで、構成要件とは、BIOS(Basic Input / Output System)、OS/カーネル、ソフトウェア、ドライバなどのプログラムを示す情報を含む。ゲートウェイ管理機能は、取得した一又は複数のソフトウェアを示す情報とその取得先を示す情報とを含む構成要件通知応答を作成し、作成した構成要件通知応答を、エッジ/IoT GWレイヤ10に属するIoT-GW2へ送信する。
クラウド管理機能は、クラウドレイヤ9に配置された認証サーバ6と連携してデバイス3と、デバイス3が搭載するセンサ320からセンサ322と、デバイス4と、デバイス4が搭載するセンサ420からセンサ422と、デバイス5と、デバイス5が搭載するセンサ520からセンサ522とを認証する。
ブローカ110は、管理サーバ1が管理するセンサレイヤ11に対応するIoT-GW2との間で、メッセージの交換を行う。図1の例では、ブローカ110は、管理サーバ1が管理するセンサレイヤ11に対応するIoT-GW2との間で、メッセージの交換を行う。
IoT-GW2は、ゲートウェイエージェント(GWエージェント)200と、ブローカ210とを備える。IoT-GW2の機能は、例えば、IoT-GW2が備えるCPUなどのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。IoT-GW2の機能のうち一部または全部は、LSIやASIC、FPGA、GPUなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDDやフラッシュメモリなどの記憶装置に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。なお、IoT-GW2として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
メッセージ管理機能は、IoT-GW2が通信相手と交換するメッセージの管理を行う。メッセージ管理機能は、管理サーバ1から配布されるポリシ(GW用ポリシ、デバイス用ポリシ)を取得する。メッセージ管理機能は、ポリシ処理機能が保持しているデバイス用ポリシを、デバイスエージェントへ送信する。
メッセージ管理機能は、新規に設置されたデバイスが送信した接続要求を取得し、取得した接続要求に対する応答として、そのデバイスへ、デバイス用ポリシを送信する。メッセージ管理機能は、ポリシの送信先のデバイスが送信したDB登録要求を取得し、取得したDB登録要求に対して、管理DB8への登録が完了した場合に、DB登録が完了したことを通知するための登録完了通知を、そのデバイスへ送信する。
メッセージ管理機能は、新規に設置されたデバイスが送信したDB更新要求を取得し、取得したDB更新要求に対して、管理DB8への更新が完了した場合に、DB更新が完了したことを通知するためのDB更新完了通知を、そのデバイスへ送信する。
デバイス管理機能は、IoT-GW2の管理下のセンサレイヤ11に属するデバイス3と、デバイス4と、デバイス5との管理を行う。
デバイス管理機能は、メッセージ管理機能が取得したDB登録要求に基づいて、クラウドレイヤ9の管理DB8に、デバイスの情報を登録する。デバイス管理機能は、管理DB8に、デバイスの情報を登録する場合に、管理エージェント100と連携して、認証サーバに、デバイスを認証させてもよい。この場合、デバイス管理機能は、認証が成功したデバイスの情報を、管理DB8に登録する。
デバイス管理機能は、メッセージ管理機能が取得したDB更新要求に基づいて、クラウドレイヤ9の管理DB8に含まれるデバイスの情報を更新する。デバイス管理機能は、管理DB8に含まれるデバイスの情報を更新する場合に、管理エージェント100と連携してもよい。この場合、デバイス管理機能は、認証が成功した場合に、管理DB8に含まれるデバイスの情報を更新する。
デバイス状態解析機能は、IoTGW11の管理下のセンサレイヤ11に属するデバイス3と、デバイス4と、デバイス5との状態を通知するメッセージに基づいて、デバイス3と、デバイス4と、デバイス5との状態について所定の判断を行う。
ブローカ210は、IoT-GW2の管理下のセンサレイヤ11に属するデバイス3と、デバイス4と、デバイス5との間で、メッセージの交換を行う。
デバイスは、IoTデバイスである。IoTデバイスとは、機器同士やローカルのネットワーク、またはインターネットで接続し、情報や制御のやりとりを実行する。デバイスは、自デバイスが属するセンサレイヤに対応するIoT-GWとの間で通信により相互に情報を交換する。図1の例では、デバイス3と、デバイス4と、デバイス5とは、同じセンサレイヤ11に属し、センサレイヤ11に対応するIoT-GW2との間で通信により相互に情報を交換する。デバイスは、デバイスエージェントと、デバイスコアとを備える。
図1の例では、デバイス3はデバイスエージェント300と、デバイスコア310とを備え、デバイス4はデバイスエージェント400と、デバイスコア410とを備え、デバイス5はデバイスエージェント500と、デバイスコア510とを備える。各デバイスエージェント300と、デバイスエージェント400と、デバイスエージェント500とは同じ機能を有する。各デバイスコア310と、デバイスコア410と、デバイスコア510とは同じ機能を有する。以下、デバイス3と、デバイス4と、デバイス5とを特に区別しないときはデバイスxと称する。また、デバイスエージェント300と、デバイスエージェント400と、デバイスエージェント500とを特に区別しないときはデバイスエージェントx00と称する。また、デバイスコア310と、デバイスコア410と、デバイスコア510とを特に区別しないときはデバイスコアx10と称する。
メッセージ管理機能は、IoT-GW2を検知し、検知したIoT-GW2へ接続要求を送信し、送信した接続要求に対して、GWエージェント200が送信したデバイス用ポリシを取得する。メッセージ管理機能は、IoT-GW2へ、DB登録要求を送信し、送信したDB登録要求に対して、GWエージェント200が送信した登録完了通知を取得する。メッセージ管理機能は、IoT-GW2へ、デバイスに対応するソフトウェアを示す情報の一覧を通知することを要求する情報である構成要件通知要求を送信し、送信した構成要件通知要求に対して、IoT-GW2が送信した構成要件通知応答を取得する。メッセージ管理機能は、配布サーバ7からパッケージファイルをダウンロードする。メッセージ管理機能は、IoT-GW2へ、DB更新要求を送信し、送信したDB要求に対して、GWエージェント200が送信したDB更新完了通知を取得する。
デバイス管理機能は、GWエージェント200を検知し、検知したGWエージェントに対して接続要求を行う。
デバイス管理機能は、デバイスxのトポロジと、デバイスxに接続されているセンサのプロファイルとを、デバイスコアに取得させる。デバイス管理機能は、デバイスコアから、デバイスxのトポロジと、デバイスxに接続されているセンサのプロファイルとを取得する。デバイス管理機能は、GWエージェント200に対して、取得したデバイスxのトポロジと、デバイスxに接続されているセンサのプロファイルとを、管理DB8に登録することを要求する情報であるDB登録要求を作成し、作成したDB登録要求を、メッセージ管理機能で、送信する。
デバイス管理機能は、構成要件通知要求を作成し、作成した構成要件通知要求を、メッセージ管理機能で、IoT-GW2へ送信する。構成要件通知要求には、デバイスのトポロジを示す情報と、デバイスに接続されているセンサのプロファイルを示す情報とが含まれる。
デバイス管理機能は、メッセージ管理機能がGWエージェント200から取得した構成要件通知応答に含まれる内容(デバイスに対応するソフトウェアを示す情報の一覧)を確認し、同一ファイル名のバージョン等を整理する。例えば、デバイス管理機能は、論理積(AND)を使用して、同一ファイル名のバージョンなどを整理する。デバイス管理機能は、デバイスx上のデバイスコアx10と連携し、メッセージ管理機能がダウンロードし
たパッケージに含まれるファイルと、設定情報とに基づいて、デバイスコアx10に、自律的に、インストールと、インストールしたソフトウェアの設定とを行わせる。
ポリシ処理機能は、取得したデバイス用ポリシを自デバイスxに適用する。
センサ状態解析機能は、デバイスxのトポロジと、デバイスxに接続されているセンサのプロファイルとを、デバイスx上のデバイスコアx10と連携して取得する。
センサ状態解析機能は、センサ構成の変更を検知する。
デバイスコアx10は、OS、APP、ドライバ-などのソフトウェア部である。デバイスコアx10は、デバイスエージェントx00が出力したデバイス情報要求に基づいて、デバイスxのトポロジと、デバイスxに接続されているセンサのプロファイルとを取得する。デバイスコアx10は、取得したデバイスxのトポロジを示す情報と、デバイスxに接続されているセンサのプロファイルを示す情報とを含むデバイス情報応答を作成し、作成したデバイス情報応答を、デバイスエージェントx00へ出力する。
デバイスコアx10は、デバイスエージェントx00がダウンロードしたパッケージに含まれるファイルと、設定情報とに基づいて、自動でソフトウェアのインストールと、インストールしたソフトウェアの設定とを行う。
[初期準備とポリシ配布段階]
図2を参照して、本実施形態に係るデバイスシステムの制御方法における初期準備とポリシ配布段階とを説明する。図2は、本実施形態に係るデバイスシステムの制御方法における初期準備とポリシ配布段階の手順の例を示すシーケンスチャートである。図2に示される例では、デバイス3からデバイス5のうち、デバイス3が故障し、交換待ちである場合について説明する。この場合、IoT-GW2の管理対象に、デバイス3は含まれていない。
管理者は、管理端末を使用して、配布パッケージを、配布サーバ12に展開する。配布パッケージの一例には、OS/Kernelと、Appricationと、Driverなどが含まれている。
(ステップS2)
管理者は、管理端末を使用して、GW用ポリシを、管理エージェント100へ配布する。管理サーバ1の管理エージェント100は、管理端末が配布したGW用ポリシを設定する。
(ステップS3)
管理エージェント100は、設定しているGW用ポリシ含むGW用ポリシ配布メッセージをブローカ110へ送信する。ブローカ110は、GW用ポリシ配布メッセージを保持する。
(ステップS4)
IoT-GW2のGWエージェント200は、一定の周期でブローカ110にアクセスし、自己が取得する購読対象のメッセージをブローカ110から取得するメッセージ取得処理を実行する。GWエージェント200は、メッセージ取得処理を実行して、GW用ポリシ配布メッセージをブローカ110から取得する。GWエージェント200は、GW用ポリシ配布メッセージに含まれるGW用ポリシを保持する。
(ステップS5)
GWエージェント200は、保持しているポリシがGW用であるかデバイス用であるかを判定する。保持しているポリシがGW用である場合には、GWエージェント200は、GW用ポリシを適用する。ここで、GWエージェント200は、既にGW用ポリシが適用されている場合には、適用されているGW用ポリシを、保持しているGW用ポリシで更新する。保持しているポリシがデバイス用である場合には、GWエージェント200は、そのデバイス用ポリシを保持するとともに、そのデバイス用ポリシを含むデバイス用ポリシ配布メッセージをブローカ210へ送信する。ここでは、GWエージェント200が、保持しているポリシがGW用である場合について説明を続ける。
管理者は、管理端末を使用して、デバイス用ポリシを、管理エージェント100へ配布する。管理サーバ1の管理エージェント100は、管理端末が配布したデバイス用ポリシを設定する。
(ステップS7)
管理エージェント100は、設定しているデバイス用ポリシ含むデバイス用ポリシ配布メッセージをブローカ110へ送信する。ブローカ110は、デバイス用ポリシ配布メッセージを保持する。
(ステップS8)
IoT-GW2のGWエージェント200は、一定の周期でブローカ110にアクセスし、自己が取得する購読対象のメッセージをブローカ110から取得するメッセージ取得処理を実行する。GWエージェント200は、メッセージ取得処理を実行して、デバイス用ポリシ配布メッセージをブローカ110から取得する。
(ステップS9)
GWエージェント200は、取得したデバイス用ポリシ配布メッセージに含まれるデバイス用ポリシを保持する。
(ステップS10)
GWエージェント200は、保持しているポリシがGW用であるかデバイス用であるかを判定する。保持しているポリシがGW用である場合には、GWエージェント200は、GW用ポリシを適用する。ここで、GWエージェント200は、既にGW用ポリシが適用されている場合には、適用されているGW用ポリシを、保持しているGW用ポリシで更新する。保持しているポリシがデバイス用である場合には、GWエージェント200は、そのデバイス用ポリシを保持するとともに、そのデバイス用ポリシを含むデバイス用ポリシ配布メッセージをブローカ210へ送信する。ここでは、GWエージェント200が、保持しているポリシがデバイス用である場合について説明を続ける。ブローカ210は、デバイス用ポリシ配布メッセージを保持する。
デバイス4のデバイスエージェント400は、一定の周期でブローカ210にアクセスし、自己が取得する購読対象のメッセージをブローカ210から取得するメッセージ取得処理を実行する。デバイスエージェント400は、メッセージ取得処理を実行して、デバイス用ポリシ配布メッセージをブローカ210から取得する。デバイスエージェント400は、デバイス用ポリシ配布メッセージに含まれるデバイス用ポリシを保持する。
(ステップS12)
デバイス5のデバイスエージェント500は、一定の周期でブローカ210にアクセスし、自己が取得する購読対象のメッセージをブローカ210から取得するメッセージ取得処理を実行する。デバイスエージェント500は、メッセージ取得処理を実行して、デバイス用ポリシ配布メッセージをブローカ210から取得する。デバイスエージェント500は、デバイス用ポリシ配布メッセージに含まれるデバイス用ポリシを保持する。
(ステップS13)
デバイスエージェント400は、保持しているデバイス用ポリシを適用する。
(ステップS14)
デバイスエージェント500は、保持しているデバイス用ポリシを適用する。
図3を参照して、本実施形態に係るデバイスシステムの制御方法におけるデバイス初期起動時のDB登録を説明する。図3は、本実施形態に係るデバイスシステムの制御方法におけるデバイス初期起動時のDB登録の手順の例を示すシーケンスチャートである。図3に示される例では、故障対応のために、新規に、デバイス3を設置するケースで、自律的に、プロビジョニングを行う場合における電源投入からDB登録までの処理について説明する。デバイス3には、センサ320と、センサ321と、センサ322とが接続されている。
(ステップS21)
デバイス3に電源が投入されることによって起動する。
(ステップS22)
デバイス3のデバイスエージェント300は、自身を管理するIoT-GW2を発見し、デバイスエージェントIDなどのデバイスエージェントの識別情報を含む接続要求を作成し、作成した接続要求をブローカ210へ送信する。ブローカ210は、接続要求を保持する。ここで、デバイスエージェントIDは、デバイス3の認証に使用される。
(ステップS23)
IoT-GW2のGWエージェント200は、一定の周期でブローカ210にアクセスし、自身が取得する購読対象のメッセージをブローカ210から取得するメッセージ取得処理を実行する。GWエージェント200は、メッセージ取得処理を実行して、接続要求をブローカ210から取得する。
GWエージェント200は、取得した接続要求に含まれるデバイスエージェントIDを取得し、取得したデバイスエージェントIDを含む認証要求を作成する。GWエージェント200は、作成した認証要求を、認証サーバ6へ送信する。認証サーバ6は、GWエージェント200が送信した認証要求を取得し、取得した認証要求に含まれるデバイスエージェントIDに基づいて、デバイス3が正当であることを確認する。認証サーバ6は、デバイス3が正当であることの確認結果を、GWエージェント200へ送信する。
例えば、認証サーバ6は、正当であるデバイスのデバイスエージェントIDを予め記憶しており、記憶しているデバイスエージェントIDに、GWエージェント200が送信した認証要求に含まれるデバイスエージェントIDが含まれる場合には正当であるとし、含まれない場合には正当でないとする。認証サーバ6が正当でないとした場合には、GWエージェント200は、所定のエラー処理を実行してもよい。ここでは、認証サーバ6が正当であることを確認した場合について説明を続ける。
(ステップS25)
GWエージェント200は、認証サーバ6が正当であるとしたデバイス3を管理対象に追加する。
(ステップS26)
GWエージェント200は、保持しているデバイス用ポリシ配布メッセージをブローカ210へ送信する。ブローカ210は、デバイス用ポリシ配布メッセージを保持する。
(ステップS27)
デバイス3のデバイスエージェント300は、メッセージ取得処理を実行して、デバイス用ポリシ配布メッセージをブローカ210から取得する。デバイスエージェント300は、デバイス用ポリシ配布メッセージに含まれるデバイス用ポリシを保持する。
デバイスエージェント300は、保持しているデバイス用ポリシを確認することによって、初期プロビジョニングを行う。ここで、デバイス用ポリシは、デバイスエージェント300の状態などに沿った複数の記述部を有する。前述したように、例えば、デバイス用ポリシは、初期プロビジョニングに関する記述部と、初期プロビジョニングが完了した後の定常動作に関する記述箇所とを有する。
(ステップS29)
デバイスエージェント300は、デバイス3をDBに登録すると判定する。
(ステップS30)
デバイスエージェント300は、デバイス3のトポロジを示す情報と、デバイス3に接続されているセンサのプロファイルを示す情報とを要求するデバイス情報要求を作成し、作成したデバイス情報要求を、デバイスコア310へ出力する。
(ステップS31)
デバイスコア310は、デバイスエージェント300が出力したデバイス情報要求を取得し、取得したデバイス情報要求に基づいて、デバイス3のトポロジを確認する。デバイスコア310は、デバイス3のトポロジを示す情報を保持する。
(ステップS32)
デバイスコア310は、センサ320のプロファイル情報を要求するセンサプロファイル要求を作成し、作成したセンサプロファイル要求を、センサ320へ送信する。センサ320は、デバイスコア310が送信したセンサプロファイル要求を受信し、取得したセンサプロファイル要求に基づいて、センサ320のプロファイルを含むセンサプロファイル応答を作成する。ここでは、プロファイルに、センサ320の認証IDと、センサ320のメーカと、センサ320のセンサ種別とが含まれる場合について説明を続ける。センサ320は、作成したセンサプロファイル応答を、デバイスコア310に送信する。デバイスコア310は、センサ320が送信したセンサプロファイル応答を受信し、受信したセンサ320のセンサプロファイル応答を保持する。
デバイスコア310は、センサ321のプロファイル情報を要求するセンサプロファイル要求を作成し、作成したセンサプロファイル要求を、センサ321へ送信する。センサ321は、デバイスコア310が送信したセンサプロファイル要求を受信し、取得したセンサプロファイル要求に基づいて、センサ321のプロファイルを含むセンサプロファイル応答を作成する。ここでは、プロファイルに、センサ321の認証IDと、センサ321のメーカと、センサ321のセンサ種別とが含まれる場合について説明を続ける。センサ321は、作成したセンサプロファイル応答を、デバイスコア310に送信する。デバイスコア310は、センサ321が送信したセンサプロファイル応答を受信し、受信したセンサ321のセンサプロファイル応答を保持する。
(ステップS34)
デバイスコア310は、センサ322のプロファイル情報を要求するセンサプロファイル要求を作成し、作成したセンサプロファイル要求を、センサ322へ送信する。センサ322は、デバイスコア310が送信したセンサプロファイル要求を受信し、取得したセンサプロファイル要求に基づいて、センサ322のプロファイルを含むセンサプロファイル応答を作成する。ここでは、プロファイルに、センサ322の認証IDと、センサ322のメーカと、センサ322のセンサ種別とが含まれる場合について説明を続ける。センサ322は、作成したセンサプロファイル応答を、デバイスコア310に送信する。デバイスコア310は、センサ322が送信したセンサプロファイル応答を受信し、受信したセンサ322のセンサプロファイル応答を保持する。
デバイスコア310は、保持しているセンサ320のセンサプロファイル応答に含まれるセンサ320のプロファイルと、センサ321のセンサプロファイル応答に含まれるセンサ321のプロファイルと、センサ322のセンサプロファイル応答に含まれるセンサ322のプロファイルとを取得する。デバイスコア310は、取得したセンサ320のプロファイルと、センサ321のプロファイルと、センサ322のプロファイルと、保持しているデバイス3のトポロジ情報とを含むデバイス情報応答を作成し、作成したデバイス情報応答をデバイスエージェント300へ出力する。
(ステップS36)
デバイスエージェント300は、デバイスコア310が出力したデバイス情報応答を取得し、取得したデバイス情報応答に含まれるデバイス3のトポロジを示す情報と、センサ320のプロファイルを示す情報と、センサ321のプロファイルを示す情報と、センサ322のプロファイルを示す情報とを取得する。デバイスエージェント300は、取得したデバイス3のトポロジ情報と、センサ320のプロファイルを示す情報と、センサ321のプロファイルを示す情報と、センサ322のプロファイルを示す情報とを含み、DBに登録することを要求するためのDB登録要求を作成し、作成したDB登録要求をブローカ210へ送信する。ブローカ210は、DB登録要求を保持する。
(ステップS37)
IoT-GW2のGWエージェント200は、メッセージ取得処理を実行して、DB登録要求をブローカ210から取得する。
(ステップS38)
GWエージェント200は、取得したDB登録要求に含まれるセンサ320の認証IDと、センサ321の認証IDと、センサ322の認証IDとを含む認証要求を作成する。GWエージェント200は、作成した認証要求を、認証サーバ6へ送信する。認証サーバ6は、GWエージェント200が送信した認証要求を取得し、取得した認証要求に含まれる認証IDに基づいて、センサ320と、センサ321と、センサ322とが正当であることを確認する。認証サーバ6は、センサ320と、センサ321と、センサ322とが正当であることの確認結果を、GWエージェント200へ送信する。
例えば、認証サーバ6は、正当であるセンサの認証IDを予め記憶しており、記憶している認証IDに、GWエージェント200が送信したDB登録要求に含まれる認証IDが含まれる場合には正当であるとし、含まれない場合には正当でないとする。GWエージェント200は、正当でないと確認した場合に、所定のエラー処理を実行してもよい。認証サーバ6が正当であることを確認した場合について説明を続ける。
GWエージェント200は、取得したDB登録要求に含まれるデバイス3のトポロジを示す情報と、センサ320のプロファイルを示す情報と、センサ321のプロファイルを示す情報と、センサ322のプロファイルを示す情報とを含み、DB登録を要求する情報を含むDB登録要求を作成する。GWエージェント200は、作成したDB登録要求を、管理DB8へ送信する。管理DB8は、GWエージェント200が送信したDB登録要求を取得し、取得したDB登録要求に含まれるデバイス3のトポロジを示す情報と、センサ320のプロファイルを示す情報と、センサ321のプロファイルを示す情報と、センサ322のプロファイルを示す情報とを登録する。管理DB8は、デバイス3のトポロジを示す情報と、センサ320のプロファイルを示す情報と、センサ321のプロファイルを示す情報と、センサ322のプロファイルを示す情報との登録が完了した場合に、登録が完了したことを、GWエージェント200へ通知する。
(ステップS40)
GWエージェント200は、管理DB8から登録が完了したことが通知された場合に、登録が完了したことを示す情報である登録完了通知を作成し、作成した登録完了通知を、ブローカ210へ送信する。ブローカ210は、登録完了通知を保持する。
(ステップS41)
デバイスエージェント300は、メッセージ取得処理を実行して、登録完了通知をブローカ210から取得する。
図3において、ステップS24の処理と、ステップS38の処理とが省略されてもよい。
図4を参照して、本実施形態に係るデバイスシステムの制御方法における初期インストールを説明する。図4は、本実施形態に係るデバイスシステムの制御方法における初期インストールの手順の例を示すシーケンスチャートである。図4に示される例では、デバイス3が新規に設置された場合で、自律的に、プロビジョニングを行う場合におけるDB登録完了から定常運用開始までの処理について説明する。
(ステップS51)
デバイス3のデバイスエージェント300は、管理DB8への登録が完了した後、デバイス用ポリシを確認する。デバイスエージェント300は、デバイス用ポリシに沿って初期プロビジョニングを開始する。
(ステップS52)
デバイスエージェント300は、デバイス3のトポロジを示す情報と、デバイス3に接続されているセンサのプロファイルを示す情報とを含み、デバイスに対応するソフトウェアを示す情報の一覧を通知することを要求する情報である構成要件通知要求を作成し、作成した構成要件通知要求をブローカ210へ送信する。ブローカ210は、デバイスエージェント300が送信した構成要件通知要求を保持する。
(ステップS53)
GWエージェント200は、メッセージ取得処理を実行して、構成要件通知要求をブローカ210内の自身の購読対象である領域から取得する。
(ステップS54)
GWエージェント200は、取得した構成要件通知要求をブローカ110へ送信する。ブローカ110は、GWエージェント200が送信した構成要件通知要求を保持する。
管理エージェント100は、メッセージ取得処理を実行して、構成要件通知要求をブローカ110内の自身の購読対象である領域から取得する。
(ステップS56)
管理エージェント100は、取得した構成要件通知要求に含まれるデバイス3のトポロジを示す情報と、デバイス3に接続されているセンサのプロファイルを示す情報とに基づいて、管理DB8から、デバイス3に対応するソフトウェアを示す情報の一覧と、そのソフトウェアの取得先を示す情報とを取得する。
(ステップS57)
管理エージェント100は、デバイス3に対応するソフトウェアを示す情報の一覧と、そのソフトウェアの取得先を示す情報とを含む構成要件通知応答を作成し、作成した構成要件通知応答を、ブローカ110へ通知する。ブローカ110は、構成要件通知応答を保持する。
(ステップS58)
GWエージェント200は、メッセージ取得処理を実行して、構成要件通知応答をブローカ110内の自身の購読対象である領域から取得する。
(ステップS59)
GWエージェント200はブローカ210に構成要件通知応答を通知する。ブローカ210は、構成要件通知応答を保持する。
デバイスエージェント300は、メッセージ取得処理を実行して、構成要件通知応答をブローカ210内の自身の購読対象である領域から取得する。
(ステップS61)
デバイスエージェント300は、取得した構成要件通知応答に含まれるソフトウェアを示す情報の一覧に含まれる一又は複数のソフトウェアを整理する。例えば、デバイスエージェント300は、構成要件通知応答に含まれるソフトウェアが重複する場合に、重複するソフトウェアの一方を排除するようにしてもよい。また、デバイスエージェント300は、構成要件通知応答に含まれるソフトウェアのバージョンが重複する場合に、重複するソフトウェアのバージョンの一方を排除するようにしてもよい。
(ステップS62)
デバイスエージェント300は、デバイスコア310と連携して現在のソフトウェアの構成を取得し、取得した現在のソフトウェアの構成と、ソフトウェアを示す情報の一覧とを比較することで、ソフトウェアを示す情報の一覧からインストール済みのソフトウェアを排除する。
(ステップS63)
デバイスエージェント300は、ソフトウェアを示す情報の一覧から、ダウンロードが必要なソフトウェアを、選定する。
(ステップS64)
デバイスエージェント300は、配布サーバ7から、ダウンロードが必要なソフトウェアをダウンロードする。
デバイスエージェント300は、デバイスコア310へ、ダウンロードしたソフトウェアのインストールと、設定とを要求する情報を出力する。
(ステップS66)
デバイスコア310は、デバイスエージェント300が出力したダウンロードしたソフトウェアのインストールと、設定とを要求する情報を取得し、取得した情報に基づいて、ダウンロードしたソフトウェアのインストールと、設定とを実施する。
(ステップS67)
デバイスコア310は、ダウンロードしたソフトウェアのインストールと、設定とが完了した場合に、デバイスエージェント300へ、初期プロビジョニングが完了したことを示す情報である完了通知を出力する。
(ステップS68)
デバイスエージェント300は、デバイスコア310が出力した完了通知を取得し、取得した完了通知に基づいて、DB更新要求を作成し、作成したDB更新要求を、ブローカ210へ送信する。DB更新要求には、デバイス3のトポロジを示す情報と、デバイス3に接続されているセンサのプロファイルを示す情報とが含まれる。ブローカ210は、DB更新要求を保持する。
(ステップS69)
GWエージェント200は、メッセージ取得処理を実行して、DB更新要求をブローカ210内の自身の購読対象である領域から取得する。
GWエージェント200は、取得したDB更新要求に基づいて、デバイス3の構成情報を更新するためのDB構成情報更新要求を、管理DB8へ送信する。管理DB8は、GWエージェント200が送信したDB構成情報更新要求を受信し、受信したDB構成情報更新要求に基づいて、管理DB8を更新する。管理DB8は、更新が完了した場合に、更新が完了したことを通知する情報であるDB構成情報更新完了通知を、GWエージェント200へ送信する。
(ステップS71)
GWエージェント200は、管理DB8が送信したDB構成情報更新完了通知を受信し、受信したDB構成情報更新完了通知に基づいて、DBの更新が完了したことを通知する情報であるDB更新完了通知を作成し、作成したDB更新完了通知を、ブローカ210へ送信する。ブローカ210は、DB更新完了通知を保持する。
(ステップS72)
デバイスエージェント300は、メッセージ取得処理を実行して、DB更新完了通知をブローカ210内の自身の購読対象である領域から取得する。初期プロビジョニング完了後、ポリシに沿って通常動作状態に遷移する。
図5Aと図5Bとを参照して、本実施形態に係るデバイスシステムの制御方法における新規センサ装着を説明する。図5Aは、本実施形態に係るデバイスシステムの制御方法における新規にセンサを装着した場合の手順の例1を示すシーケンスチャートである。図5Bは、本実施形態に係るデバイスシステムの制御方法における新規にセンサを装着した場合の手順の例2を示すシーケンスチャートである。図5Aと図5Bとに示される例では、デバイス3に新規にセンサ423が装着された場合の処理について説明する。
(ステップS81)
デバイス3に、新規にセンサ423が装着される。
(ステップS82~S84)
定常動作状態において、デバイスエージェント300は、ポリシに従って、一定の間隔で構成状態の更新有無を監視するデバイスコア310に対して、環境のチェックを行う。
(ステップS85)
デバイスエージェント300は、新規にセンサ423が装着されたことを検知する。
(ステップS86)
デバイスエージェント300は、デバイス3に接続されているセンサのプロファイル情報を要求するセンサ情報要求を作成し、作成したセンサ情報要求を、デバイスコア310へ出力する。
(ステップS87)
デバイスコア310は、デバイスエージェント300が出力したセンサ情報要求を取得し、取得したセンサ情報要求に基づいて、センサ423のプロファイルを要求するセンサプロファイル要求を作成し、作成したセンサプロファイル要求を、センサ423へ出力する。センサ423は、デバイスコア310が出力したセンサプロファイル要求を取得し、取得したセンサプロファイル要求に基づいて、センサ423のプロファイルを示す情報を含むセンサプロファイル応答を作成する。ここでは、プロファイルに、センサ423の認証IDと、センサ423のメーカと、センサ423のセンサ種別とが含まれる場合について説明を続ける。センサ423は、作成したセンサプロファイル応答を、デバイスコア310に送信する。デバイスコア310は、センサ423が送信したセンサプロファイル応答を受信し、受信したセンサ423のセンサプロファイル応答を保持する。
デバイスコア310は、保持しているセンサ423のセンサプロファイル応答に含まれるセンサ423のプロファイルを示す情報を取得する。
デバイスコア310は、取得したセンサ423のプロファイルを示す情報を含むデバイス情報応答を作成し、作成したデバイス情報応答をデバイスエージェント300へ出力する。
(ステップS89)
デバイスエージェント300は、デバイスコア310が出力したデバイス情報応答を取得し、取得したデバイス情報応答に含まれるセンサ423のプロファイルを示す情報を取得する。デバイスエージェント300は、取得したセンサ321のプロファイルを示す情報を含み、管理DB8に登録することを要求するためのDB登録要求を作成し、作成したDB登録要求をブローカ210へ送信する。ブローカ210は、DB登録要求を保持する。
(ステップS90)
GWエージェント200は、メッセージ取得処理を実行して、DB登録要求をブローカ210から取得する。
(ステップS91)
GWエージェント200は、取得したDB登録要求に含まれるセンサ423の認証IDを含む認証要求を作成する。GWエージェント200は、作成した認証要求を、認証サーバ6へ送信する。認証サーバ6は、GWエージェント200が送信した認証要求を取得し、取得した認証要求に含まれる認証IDに基づいて、センサ423が正当であることを確認する。認証サーバ6は、センサ423が正当であることの確認結果を、GWエージェント200へ送信する。認証サーバ6が正当であることを確認した場合について説明を続ける。
GWエージェント200は、取得したDB登録要求に含まれるセンサ423のプロファイルを含み、DB登録を要求する情報を含むDB登録要求を作成する。GWエージェント200は、作成したDB登録要求を、管理DB8へ送信する。管理DB8は、GWエージェント200が送信したDB登録要求を取得し、取得したDB登録要求に含まれるセンサ423のプロファイルを登録する。管理DB8は、センサ423のプロファイルの登録が完了した場合に、登録が完了したことを、GWエージェント200へ通知する。
(ステップS93)
GWエージェント200は、管理DB8から登録が完了したことが通知された場合に、登録が完了したことを示す情報である登録完了通知を作成し、作成した登録完了通知を、ブローカ210へ送信する。ブローカ210は、登録完了通知を保持する。
(ステップS94)
デバイスエージェント300は、メッセージ取得処理を実行して、登録完了通知をブローカ210から取得する。以降インストールが開始される。
(ステップS95)
デバイスエージェント300は、デバイス3のトポロジと、デバイス3に接続されているセンサ423のプロファイルを示す情報を含む構成要件通知要求を作成し、作成した構成要件通知要求をブローカ210へ送信する。ブローカ210は、デバイスエージェント300が送信した構成要件通知要求を保持する。
GWエージェント200は、メッセージ取得処理を実行して、構成要件通知要求をブローカ210内の自身の購読対象である領域から取得する。
(ステップS97)
GWエージェント200は、取得した構成要件通知要求をブローカ110へ送信する。ブローカ110は、GWエージェント200が送信した構成要件通知要求を保持する。
(ステップS98)
管理エージェント100は、メッセージ取得処理を実行して、構成要件通知要求をブローカ110内の自身の購読対象である領域から取得する。
(ステップS99)
管理エージェント100は、取得した構成要件通知要求に含まれるデバイス3のトポロジと、デバイス3に接続されているセンサ423のプロファイルを示す情報とに基づいて、管理DB8から、デバイス3に対応するソフトウェアを示す情報の一覧と、そのソフトウェアの取得先とを取得する。
(ステップS100)
管理エージェント100は、取得したデバイス3に対応するソフトウェアを示す情報の一覧と、そのソフトウェアの取得先を示す情報とを含む構成要件通知応答を作成し、作成した構成要件通知応答を、ブローカ110に送信する。ブローカ110は、構成要件通知応答を保持する。
(ステップS101)
GWエージェント200は、メッセージ取得処理を実行して、構成要件通知応答をブローカ110内の自身の購読対象である領域から取得する。
(ステップS102)
GWエージェント200は、ブローカ210に構成要件通知応答を送信する。ブローカ210は、構成要件通知応答を保持する。
(ステップS103)
デバイスエージェント300は、メッセージ取得処理を実行して、構成要件通知応答をブローカ210内の自身の購読対象である領域から取得する。
デバイスエージェント300は、取得した構成要件通知応答に含まれるソフトウェアを示す情報の一覧に含まれる一又は複数のソフトウェアを整理する。例えば、デバイスエージェント300は、構成要件通知応答に含まれるソフトウェアが重複する場合に、重複するソフトウェアの一方を排除するようにしてもよい。また、デバイスエージェント300は、構成要件に含まれるソフトウェアのバージョンが重複する場合に、重複するソフトウェアのバージョンの一方を排除するようにしてもよい。
(ステップS105)
デバイスエージェント300は、デバイスコア310と連携して現在のソフトウェアの構成を取得し、取得した現在のソフトウェアの構成と、ソフトウェアを示す情報の一覧とを比較することで、ソフトウェアを示す情報の一覧からインストール済みのソフトウェアを排除する。
(ステップS106)
デバイスエージェント300は、ソフトウェアを示す情報の一覧から、ダウンロードが必要なソフトウェアを、選定する。
(ステップS107)
デバイスエージェント300は、配布サーバ7から、ダウンロードが必要なソフトウェアをダウンロードする。
(ステップS108)
デバイスエージェント300は、デバイスコア310へ、ダウンロードしたソフトウェアのインストールと、設定とを要求する情報を出力する。
(ステップS109)
デバイスコア310は、デバイスエージェント300が出力したダウンロードしたソフトウェアのインストールと、設定とを要求する情報を取得し、取得した情報に基づいて、ダウンロードしたソフトウェアのインストールと、設定とを実施する。
デバイスコア310は、ダウンロードしたソフトウェアのインストールと、設定とが完了した場合に、デバイスエージェント300へ、初期プロビジョニングが完了したことを示す情報である完了通知を出力する。
(ステップS111)
デバイスエージェント300は、デバイスコア310が出力した完了通知を取得し、取得した完了通知に基づいて、DB更新要求を作成し、作成したDB更新要求を、ブローカ210へ送信する。ブローカ210は、DB更新要求を保持する。
(ステップS112)
GWエージェント200は、メッセージ取得処理を実行して、DB更新要求をブローカ210内の自身の購読対象である領域から取得する。
(ステップS113)
GWエージェント200は、取得したDB更新要求に基づいて、デバイス3の構成情報を更新するためのDB構成情報更新要求を、管理DB8へ送信する。管理DB8は、GWエージェント200が送信したDB構成情報更新要求を受信し、受信したDB構成情報更新要求に基づいて、管理DB8を更新する。管理DB8は、更新が完了した場合に、更新が完了したことを通知する情報であるDB構成情報更新完了通知を、GWエージェント200へ送信する。
(ステップS114)
GWエージェント200は、管理DB8が送信したDB構成情報更新完了通知を受信し、受信したDB構成情報更新完了通知に基づいて、DBの更新が完了したことを通知する情報であるDB更新完了通知を作成し、作成したDB更新完了通知を、ブローカ210へ送信する。ブローカ210は、DB更新完了通知を保持する。
(ステップS115)
デバイスエージェント300は、メッセージ取得処理を実行して、DB更新完了通知をブローカ210内の自身の購読対象である領域から取得する。初期プロビジョニング完了後、ポリシに沿って通常動作状態に遷移する。
[本実施形態の適用例1]
図6は、本実施形態に係るデバイスシステムの例1を示す図である。図6に示される例では、センサとデバイスとのいずれか一方又は両方が故障し、ハードウェア(HW)を交換する場合について示す。ここでは、デバイスを交換する場合について説明する。
従来は、新規にデバイスを設置することで、デバイス(HW)を交換する場合には、デバイスが工場から出荷されるとき、現地で作業するときに適宜手動で、デバイスの初期構築作業が行われる。デバイスの初期構築作業には、OS、APP、ドライバなどのソフトウェアの初期インストール、初期設定、動作検証などが含まれる。
本実施形態によれば、設置されたデバイスにソフトウェアが自動的にダウンロード、インストール、設定されるため、手動で初期構築作業を行うことなく、デバイスを交換できる。
具体的には、図6に示すように、大気センサと、湿度センサと、温度センサとを搭載したデバイス上では、OSの他に、各センサから情報を収集するために、各々に対応したドライバ(ドライバ1、ドライバ2、ドライバ3)及びAPP(APP1、APP2、APP3)がインストールされている。故障が発生し、HWの交換が必要となった場合に、従来は、作業者が、現地のデバイスを交換し、HW交換後、故障前と同じとするため、作業員が現地でOS及び各センサに対応するドライバ、APPを手動でインストールする必要があった。本実施形態によれば、現地にデバイスを設置することで、デバイスにソフトウェアが自動的にダウンロード、インストール、設定されるため、作業員が現地でOS及び各センサに対応するドライバ、APPを手動でインストールすることなく、デバイスを交換できる。
図7は、本実施形態に係るデバイスシステムの例2を示す図である。図7に示される例では、デバイスのHWが故障したことでセンサの交換が必要になった場合や、既存センサのEoS(End of Support)や試験的に最新型のセンサを搭載したものに交換することが必要になった場合について示す。このような場合には、センサを交換したときに、プロビジョニングする必要があるデバイスコア(OS、APP、ドライバ)のバージョンが変更されていることがある。
従来は、現地作業員、もしくは管理者が、デバイスに搭載されるセンサ種別を管理し、適切なデバイスコアを事前に選定した上で交換作業を実施し、手動でこれらをプロビジョニングする必要があった。このため、今後デバイスの数が膨大に膨れる中で、センサ種別とデバイスコアの情報を逐次人手で管理するにはコストが膨大となり、また、HE(Human Error)のリスクが発生するおそれがある。
本実施形態では、デバイスが、自律的に、デバイスに搭載されているセンサ情報のDB登録、対応するデバイスコアの取得、及びプロビジョニングを実施できるため、管理コストの低減およびHEのリスク回避が可能である。
具体的には、図7に示すように、温度センサが故障したため、HWを交換することが必要になった。また、既存の温度センサは、EoSを迎えたため、温度センサver2を搭載したモデルに交換することが必要になった。温度センサver2を活用するためには、従来のAPP3とドライバ3ではなく、新規にリリースされたAPP4とドライバ4とが必要であり、それに付随して、OS/Kernelも、OS2/Kernel2へ更新することが必要になった。
本実施形態では、デバイスが、自律的に、デバイスに搭載されているセンサを示す情報を管理DBへ登録し、対応するデバイスコアを取得し、プロビジョニングをできるため、管理コストの低減およびHEのリスク回避が可能である。
図8は、本実施形態に係るデバイスシステムの例3を示す図である。図8に示される例では、運用中のデバイスに新規にセンサを追加する場合について示す。この場合に、プロビジョニングする必要があるデバイスコアのバージョンが変更されることがある。
従来は、現地作業員、もしくは管理者が手動で、デバイス及びセンサの情報を管理し、適切なデバイスコアを事前に選定した上で追加作業を実施する。このため、今後デバイス数が膨大に増加する中で管理コストが課題となる。更に、HEに起因する管理DBの誤りや作業誤りのリスクがある。
本実施形態によれば、追加されたセンサに必要となるデバイスコアのダウンロードからプロビジョニングまでを、デバイスに、自律的に行わせることができるため、管理コストの課題を解決できると同時に、HEのリスク回避が可能である。
具体的には、図8に示すように、既に運用中のデバイスに照明センサを追加する。つまり、大気センサ、温度センサ、湿度センサが搭載され、既に運用中のデバイスに、サービス拡張として、スマート照明の機能を拡張する。照明センサを扱うためには、新規にAPP4、ドライバ4、それらが動作するために必要なOS2/Kernel2の環境をプロビジョニングする必要がある。本実施形態によれば、追加されたセンサに必要となるデバイスコアのダウンロードからプロビジョニングまでを、デバイスが自律的に行うため、管理コストの課題を解決できると同時に、HEのリスク回避が可能となる。
本実施形態によれば、管理者や作業者が一つ一つのIoTデバイスに対して実施している初期プロビジョニング処理を自動化できるため、IoTデバイスの導入にかかるコストを低減できる。
本実施形態によれば、管理者が手動で追加、修正しているIoTデバイスの構成情報を、デバイスが、自律的に、新規に登録すること、更新することができるため、管理コストを削減できる。
本実施形態によれば、管理エージェント、GWエージェント、デバイスエージェントの三層構造で構成されており、各エージェントの改修、機能追加において相互影響を受けづらくできるため、柔軟な機能改修を実行できる。
本実施形態によれば、デバイスに、センサを新規に搭載した場合に、デバイスは、ドライバの更新又は新規取得を、自律的に行い、管理DBに自動反映できるため、センサを新規に搭載した場合にかかるコストと、センサの管理コストとを低減できる。
本実施形態によれば、GWエージェントの動作をGW用ポリシの記述部に定義し、デバイスエージェントの動作をデバイス用ポリシの記述部に定義しているため、各記述部に定義されている処理内容のカスタマイズを容易にできる。また、新規にポリシ(GW用ポリシ、デバイス用ポリシ)を配布することによって動作変更ができるため、動作変更の展開にかかる保守コストを低減できる。
例えば、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Claims (10)
- デバイスであって、
ゲートウェイが備えるゲートウェイエージェントから、デバイス用ポリシを取得し、
取得した前記デバイス用ポリシに基づいて、プロビジョニングを行うデバイスエージェント
を備え、
前記デバイスエージェントは、前記プロビジョニングを行う際に、前記デバイスのトポロジと、前記デバイスに接続されているセンサのプロファイルとを、前記デバイスが備えるデバイスコアに要求し、
前記デバイスコアは、前記デバイスエージェントからの要求に基づいて、前記デバイスの前記トポロジと、前記センサの前記プロファイルとを取得し、取得した前記デバイスの前記トポロジを示す情報と、前記センサの前記プロファイルを示す情報とを、前記デバイスエージェントへ出力する、デバイス。 - 前記デバイスエージェントは、前記デバイス用ポリシに基づいて、前記ゲートウェイエージェントに、前記デバイスコアから取得した前記トポロジを示す情報と、前記センサの前記プロファイルを示す情報とを、デバイスに関する情報を管理する管理データベースに登録することを要求する、請求項1に記載のデバイス。
- 前記デバイスエージェントは、前記デバイスに対応するソフトウェアを示す情報の一覧を要求する情報であるソフトウェア情報一覧要求を、前記ゲートウェイエージェントへ送信し、送信した前記ソフトウェア情報一覧要求に対して、前記ゲートウェイエージェントが送信したソフトウェア情報一覧応答を取得し、取得した前記ソフトウェア情報一覧応答に含まれる一又は複数のソフトウェアを示す情報に基づいて、ソフトウェアを配布する配布サーバから、一又は複数の前記ソフトウェアをダウンロードし、ダウンロードした一又は複数の前記ソフトウェアのインストールを要求する情報であるインストール要求を、前記デバイスコアへ出力し、
前記デバイスコアは、前記デバイスエージェントが出力した前記インストール要求に基づいて、インストールを要求された一又は複数の前記ソフトウェアをインストールする、請求項1又は請求項2に記載のデバイス。 - 前記デバイスコアは、インストールした一又は複数の前記ソフトウェアを設定する、請求項3に記載のデバイス。
- 前記デバイスエージェントは、前記デバイスに接続されているセンサが変更されていることを検知した場合に、変更された前記センサのプロファイルを、前記デバイスコアへ要求し、
前記デバイスコアは、前記デバイスエージェントからの要求に基づいて、変更された前記センサからプロファイルを取得し、取得した前記プロファイルを、前記デバイスエージェントへ出力し、
前記デバイスエージェントは、前記デバイスコアが出力した前記センサの前記プロファイルを取得する、請求項1から請求項4のいずれか一項に記載のデバイス。 - 前記デバイスエージェントは、前記デバイス用ポリシに基づいて、前記ゲートウェイエージェントに、前記デバイスコアから取得した前記センサの前記プロファイルを示す情報を、デバイスに関する情報を管理する管理データベースに登録することを要求する、請求項5に記載のデバイス。
- デバイス用ポリシを配布する管理エージェントを備える管理サーバと、
前記管理エージェントが配布した前記デバイス用ポリシを取得し、取得した前記デバイス用ポリシを配布するゲートウェイエージェントを備えるゲートウェイと、
前記ゲートウェイエージェントから、前記デバイス用ポリシを取得し、取得した前記デバイス用ポリシに基づいて、プロビジョニングを行うデバイスエージェントを備えるデバイスと
を備え、
前記デバイスエージェントは、前記プロビジョニングを行う際に、前記デバイスのトポロジと、前記デバイスに接続されているセンサのプロファイルとを、前記デバイスが備えるデバイスコアに要求し、
前記デバイスコアは、前記デバイスエージェントからの要求に基づいて、前記デバイスの前記トポロジと、前記センサの前記プロファイルとを取得し、取得した前記デバイスの前記トポロジを示す情報と、前記センサの前記プロファイルを示す情報とを、前記デバイスエージェントへ出力するシステム。 - デバイスが実行する制御方法であって、
デバイスが備えるデバイスエージェントが、ゲートウェイが備えるゲートウェイエージェントから、デバイス用ポリシを取得するステップと、
前記デバイスエージェントが、取得した前記デバイス用ポリシに基づいて、プロビジョニングを行うステップと、
前記デバイスエージェントが、前記プロビジョニングを行う際に、前記デバイスのトポロジと、前記デバイスに接続されているセンサのプロファイルとを、前記デバイスが備えるデバイスコアに要求するステップと、
前記デバイスコアが、前記デバイスエージェントからの要求に基づいて、自デバイスの前記トポロジと、前記センサの前記プロファイルとを取得し、取得した前記自デバイスの前記トポロジを示す情報と、前記センサの前記プロファイルを示す情報とを、前記デバイスエージェントへ出力するステップと
を有する、制御方法。 - 管理サーバが備える管理エージェントが、デバイス用ポリシを配布するステップと、
ゲートウェイが備えるゲートウェイエージェントが、前記管理エージェントが配布した前記デバイス用ポリシを取得し、取得した前記デバイス用ポリシを配布するステップと、
デバイスが備えるデバイスエージェントが、前記ゲートウェイエージェントから、前記デバイス用ポリシを取得するステップと、
前記デバイスエージェントが、取得した前記デバイス用ポリシに基づいて、プロビジョニングを行うステップと、
前記デバイスエージェントが、前記プロビジョニングを行う際に、前記デバイスのトポロジと、前記デバイスに接続されているセンサのプロファイルとを、前記デバイスが備えるデバイスコアに要求するステップと、
前記デバイスコアが、前記デバイスエージェントからの要求に基づいて、前記デバイスの前記トポロジと、前記センサの前記プロファイルとを取得し、取得した前記デバイスの前記トポロジを示す情報と、前記センサの前記プロファイルを示す情報とを、前記デバイスエージェントへ出力するステップと を実行する、制御方法。 - デバイスのコンピュータに、
デバイスエージェント機能を実現させるためのコンピュータプログラムであって、
前記デバイスエージェント機能は、
ゲートウェイが備えるゲートウェイエージェントから、デバイス用ポリシを取得するステップと、
取得した前記デバイス用ポリシに基づいて、プロビジョニングを行うステップと、
前記プロビジョニングを行う際に、前記デバイスのトポロジと、前記デバイスに接続されているセンサのプロファイルとを、前記デバイスが備えるデバイスコアに要求するステップと、
前記デバイスコアが、デバイスエージェントからの要求に基づいて、前記デバイスの前記トポロジと、前記センサの前記プロファイルとを取得し、取得した前記デバイスの前記トポロジを示す情報と、前記センサの前記プロファイルを示す情報とを、前記デバイスエージェントへ出力するステップと
を実行させる、コンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019018755A JP7021136B2 (ja) | 2019-02-05 | 2019-02-05 | デバイス、システム、制御方法及びコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019018755A JP7021136B2 (ja) | 2019-02-05 | 2019-02-05 | デバイス、システム、制御方法及びコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020126463A JP2020126463A (ja) | 2020-08-20 |
JP7021136B2 true JP7021136B2 (ja) | 2022-02-16 |
Family
ID=72084956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019018755A Active JP7021136B2 (ja) | 2019-02-05 | 2019-02-05 | デバイス、システム、制御方法及びコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7021136B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006309516A (ja) | 2005-04-28 | 2006-11-09 | Sony Ericsson Mobilecommunications Japan Inc | ソフトウェア更新システムおよびソフトウェア更新管理装置 |
JP2011175391A (ja) | 2010-02-24 | 2011-09-08 | Hitachi Ltd | 管理コンピュータおよびデプロイ方法 |
US20170060567A1 (en) | 2015-08-27 | 2017-03-02 | Samsung Electronics Co., Ltd. | Wireless terminal communicable with external device and server and software updating method thereof |
-
2019
- 2019-02-05 JP JP2019018755A patent/JP7021136B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006309516A (ja) | 2005-04-28 | 2006-11-09 | Sony Ericsson Mobilecommunications Japan Inc | ソフトウェア更新システムおよびソフトウェア更新管理装置 |
JP2011175391A (ja) | 2010-02-24 | 2011-09-08 | Hitachi Ltd | 管理コンピュータおよびデプロイ方法 |
US20170060567A1 (en) | 2015-08-27 | 2017-03-02 | Samsung Electronics Co., Ltd. | Wireless terminal communicable with external device and server and software updating method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP2020126463A (ja) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7788350B2 (en) | Software distribution application supporting operating system installations | |
KR101954480B1 (ko) | 클라우드-컴퓨팅 스탬프의 자동화된 구축 | |
US7448034B2 (en) | Build time determination and installation of drivers on cloned systems | |
US20140075438A1 (en) | Method, server, and system for starting an application | |
JP2011113391A (ja) | 機器管理システム、機器管理装置、管理対象機器、ソフトウェア更新方法、ソフトウェア更新プログラム、及びそのプログラムを記録した記録媒体 | |
US11256544B2 (en) | Redistributing update resources during update campaigns | |
TW200301048A (en) | Configuration and management systems for mobile and embedded devices | |
EP3617875B1 (en) | Method for improved automated software update upon deployment of a networking apparatus | |
CN109981350B (zh) | 一种云服务不间断的升级方法及系统 | |
US11868787B2 (en) | Managing persistent enrollment of a user device | |
JP2019101866A (ja) | アプリケーションの更新方法およびプログラム | |
JP2015138297A (ja) | 配信システム及びその制御方法 | |
US20200267004A1 (en) | On-Demand Emergency Management Operations in a Distributed Computing System | |
WO2007028521A1 (en) | Software module installation and automatic memory release using external repositories | |
KR101074886B1 (ko) | 소프트웨어 컴포넌트를 설치하기 위한 방법, 시스템, dm 클라이언트 및 dm 서버 | |
CN112583630B (zh) | 设备管理方法、装置、系统、设备及存储介质 | |
JP7021136B2 (ja) | デバイス、システム、制御方法及びコンピュータプログラム | |
JP6042125B2 (ja) | 情報処理装置およびプログラム | |
JP6834825B2 (ja) | 管理システムおよび管理方法 | |
US20070261045A1 (en) | Method and system of configuring a directory service for installing software applications | |
JP2016207111A (ja) | 制御プログラム、情報処理端末、及び制御方法 | |
KR101901802B1 (ko) | IoT 기반의 다운로드 OTA 서비스 시스템 및 방법 | |
US20220350629A1 (en) | Update management for managed virtual machines | |
US11556324B2 (en) | Management apparatus and management method | |
Stackowiak et al. | Azure iot hub |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210831 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7021136 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |