特許第6286601号(P6286601)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社ウフルの特許一覧

<>
  • 特許6286601-IoTデバイス管理システム 図000002
  • 特許6286601-IoTデバイス管理システム 図000003
  • 特許6286601-IoTデバイス管理システム 図000004
  • 特許6286601-IoTデバイス管理システム 図000005
  • 特許6286601-IoTデバイス管理システム 図000006
  • 特許6286601-IoTデバイス管理システム 図000007
  • 特許6286601-IoTデバイス管理システム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6286601
(24)【登録日】2018年2月9日
(45)【発行日】2018年2月28日
(54)【発明の名称】IoTデバイス管理システム
(51)【国際特許分類】
   G06F 13/00 20060101AFI20180215BHJP
【FI】
   G06F13/00 530A
【請求項の数】6
【全頁数】14
(21)【出願番号】特願2017-112314(P2017-112314)
(22)【出願日】2017年6月7日
【審査請求日】2017年6月8日
【早期審査対象出願】
(73)【特許権者】
【識別番号】506042645
【氏名又は名称】株式会社ウフル
(74)【代理人】
【識別番号】230112852
【弁護士】
【氏名又は名称】森本 晋
(72)【発明者】
【氏名】古城 篤
(72)【発明者】
【氏名】竹之下 航洋
【審査官】 佐々木 洋
(56)【参考文献】
【文献】 特開2017−021521(JP,A)
【文献】 特開2014−078773(JP,A)
【文献】 IoTデータセキュリティ 機器組込み型データ保護ソリューション,Hitachi Social Innovation Forum 2016,2016年10月
【文献】 5Gを待っていたら遅い! IoT通信を巡り新旧対決,日経コミュニケーション 第627号,日経BP社,2016年 4月 1日,pp. 19-21
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
IoTデバイスの制御処理が記述された,処理定義を管理するIoTデバイス管理システムであって,
前記IoTデバイス管理システムは,
前記IoTデバイスの制御処理を記述する処理定義を管理する処理定義管理システムと,
複数のIoTデバイスを複数のグループごとに管理しており,前記処理定義管理システムから受け取った前記処理定義に基づいて前記グループに対応する差分を生成し,前記生成した差分を,対応するグループのIoTデバイスに対して送るメッセージブローカーと,
前記メッセージブローカーから取得した処理定義を実行するIoTデバイスと,を備えており,
前記IoTデバイスは,
前記メッセージブローカーから取得した差分と,すでに記憶している処理定義とを組み合わせて新たな処理定義を構成し,
前記新たな処理定義を解釈する処理定義解釈部と,
前記解釈した新たな処理定義を実行することで,前記制御処理を前記IoTデバイスで実行する処理実行部と,を備える,
ことを特徴とするIoTデバイス管理システム。
【請求項2】
IoTデバイスの制御処理が記述された,処理定義を管理するIoTデバイス管理システムであって,
前記IoTデバイス管理システムは,
前記IoTデバイスの制御処理を記述する処理定義を管理する処理定義管理システムと,
複数のIoTデバイスを複数のグループごとに管理しており,前記処理定義管理システムから受け取った前記処理定義に基づいて前記グループに対応する差分を生成し,前記生成した差分を,対応するグループのIoTデバイスに対して送るメッセージブローカーと,を備えており,
前記メッセージブローカーは,
前記IoTデバイスに対して差分を送ることで,前記IoTデバイスにおいて,前記差分と,すでに記憶している処理定義とを組み合わせて新たな処理定義を構成させて,前記新たな処理定義に基づいて前記IoTデバイスの制御処理を実行させる,
ことを特徴とするIoTデバイス管理システム。
【請求項3】
前記処理定義解釈部および前記処理実行部は,前記IoTデバイスのMCUに記憶されているファームウェアである,
ことを特徴とする請求項1に記載のIoTデバイス管理システム。
【請求項4】
前記IoTデバイスと,前記メッセージブローカーとは,低速通信方式による通信を行う,
ことを特徴とする請求項1から請求項3のいずれかに記載のIoTデバイス管理システム。
【請求項5】
IoTデバイスの制御処理が記述された,処理定義を管理するコンピュータシステムの処理方法であって,
前記コンピュータシステムは,
前記処理定義を管理する処理定義管理システムと,
複数のIoTデバイスを複数のグループごとに管理するメッセージブローカーと,
前記処理定義を記憶するIoTデバイスと,を備えており,
前記処理定義管理システムは,
前記処理定義の入力を受け付けて前記メッセージブローカーに送り,
前記メッセージブローカーは,
前記処理定義管理システムから受け取った前記処理定義に基づいて前記グループに対応する差分を生成し,
前記生成した差分を,対応するグループのIoTデバイスに対して送り,
前記IoTデバイスは,
前記メッセージブローカーから取得した差分と,すでに記憶している処理定義とを組み合わせて新たな処理定義を構成し,
前記新たな処理定義に基づいて前記IoTデバイスの制御処理を実行する,
ことを特徴とするコンピュータシステムの処理方法。
【請求項6】
IoTデバイスの制御処理が記述された,処理定義を管理するコンピュータシステムの処理方法であって,
前記コンピュータシステムは,
前記処理定義を管理する処理定義管理システムと,
複数のIoTデバイスを複数のグループごとに管理するメッセージブローカーと,を備えており,
前記処理定義管理システムは,
前記処理定義の入力を受け付けて前記メッセージブローカーに送り,
前記メッセージブローカーは,
前記処理定義管理システムから受け取った前記処理定義に基づいて前記グループに対応する差分を生成し,
前記生成した差分を,対応するグループのIoTデバイスに対して送ることで,前記IoTデバイスにおいて,前記差分と,すでに記憶している処理定義とを組み合わせて新たな処理定義を構成させて,前記新たな処理定義に基づいて前記IoTデバイスの制御処理を実行させる,
ことを特徴とするコンピュータシステムの処理方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,IoTデバイスに搭載される制御処理の記述がされた処理定義の管理システムに関する。
【背景技術】
【0002】
近年,特許文献1に開示されるように,IoT(Internet of Things)に関する技術が発達をしてきている。IoTとは,さまざまな物にセンサなどの各種検出装置を取り付け,その検出装置が収集したデータを,所定のサーバなどに送ることで,各種分析等を行う技術である。そしてデータを収集する検出装置がIoTデバイスと呼ばれている。
【0003】
IoTデバイスで収集したデータは,通常は,無線通信によりサーバに送られる。IoTデバイスは通常,小型化されているため,通常のコンピュータや携帯電話,スマートフォンなどと比較して,処理能力が貧弱である。また,バッテリーで長期間動作することが求められることもあるため,IoTデバイスで行われる処理は,省電力で行うことが求められている。そこで,近年,IoTデバイスとサーバとの間の通信方式として,LPWA(Low Power Wide Area)(省電力広域)が注目されている。LPWAは伝送速度が3G回線,4G回線などのセルラー回線と比較すると極めて遅いものの,広範囲に伝送でき,消費電力が極めて少ないという特性を有している。
【0004】
LPWAとしては,たとえば,SIGFOX(サブGHz帯(866MHz帯,915MHz帯・920MHz帯),最大伝送速度は100bps程度。伝送距離は最大50km程度),LoRA(サブGHz帯,最大伝送速度は250kbps程度。伝送距離は最大10km程度),Wi−Fi HaLow(サブGHz帯,最大伝送速度は150kbps程度。伝送距離は1km程度),Wi−SUN(サブGHz帯,最大伝送速度は800kbps。伝送距離は1km程度),RPMA(2.4GHz帯,最大伝送速度は40kbps。最大伝送距離は20km程度),Flexnet(280MHz帯,最大伝送速度は10kbps,最大伝送距離は20km程度)などがある。
【0005】
また,データの収集にセルラー回線を使用する場合でも,セルラー通信の利用料金は通信速度や単位時間あたりの通信量に応じた価格体系となっているため,IoTデバイスとサーバとの間の通信は,低速で少ない通信量で行えることが求められている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2016−45964号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
たとえば,LPWAによる通信方式を用いるIoTデバイスの場合,大容量のデータを送ることはできない。LPWAの一規格であるLoRAWANでは,最大でも11バイトの通信を4秒ごとに行う程度に過ぎない。LPWAや通信速度を低く設定したセルラー通信などの低速通信でも,センサで収集した情報をサーバに送るだけであれば十分である。
【0008】
しかし,IoTデバイスには,ファームウェアをはじめとしたソフトウェアが記憶されており,そのソフトウェアで定義される処理方法にしたがって,データの収集が行われている。セキュリティ対応や機能追加などのために,IoTデバイスに記憶しているソフトウェアを変更等したい場合もあるが,低速通信を利用しているIoTデバイスの場合,上述のように,伝送速度に制限があることから,更新するプログラム全体を送ることは容易ではない。また,送ったプログラムをIoTデバイスでコンパイルして実行するとしても,処理能力や消費電力の関係から容易ではない。そのため,従来は,IoTデバイスごと交換をしてしまう方法や,IoTデバイスのプログラムを更新しないで放置する方法が採られている。しかしIoTデバイスを交換することは作業の負担があり,プログラムの更新をしない場合にはセキュリティ上の懸念がある。
【課題を解決するための手段】
【0009】
そこで本発明者は上記課題に鑑み,以下の発明をした。
【0010】
第1の発明は,IoTデバイスの制御処理が記述された,処理定義を管理するIoTデバイス管理システムであって,前記IoTデバイス管理システムは,前記IoTデバイスの制御処理を記述する処理定義を管理する処理定義管理システムと,複数のIoTデバイスを複数のグループごとに管理しており,前記処理定義管理システムから受け取った前記処理定義に基づいて前記グループに対応する差分を生成し,前記生成した差分を,対応するグループのIoTデバイスに対して送るメッセージブローカーと,前記メッセージブローカーから取得した処理定義を実行するIoTデバイスと,を備えており,前記IoTデバイスは,前記メッセージブローカーから取得した差分と,すでに記憶している処理定義とを組み合わせて新たな処理定義を構成し,前記新たな処理定義を解釈する処理定義解釈部と,前記解釈した新たな処理定義を実行することで,前記制御処理を前記IoTデバイスで実行する処理実行部と,を備えるIoTデバイス管理システムである。
【0011】
第2の発明は,IoTデバイスの制御処理が記述された,処理定義を管理するIoTデバイス管理システムであって,前記IoTデバイス管理システムは,前記IoTデバイスの制御処理を記述する処理定義を管理する処理定義管理システムと,複数のIoTデバイスを複数のグループごとに管理しており,前記処理定義管理システムから受け取った前記処理定義に基づいて前記グループに対応する差分を生成し,前記生成した差分を,対応するグループのIoTデバイスに対して送るメッセージブローカーと,を備えており,前記メッセージブローカーは,前記IoTデバイスに対して差分を送ることで,前記IoTデバイスにおいて,前記差分と,すでに記憶している処理定義とを組み合わせて新たな処理定義を構成させて,前記新たな処理定義に基づいて前記IoTデバイスの制御処理を実行させる,IoTデバイス管理システムである。
【0012】
本発明のように構成することで,IoTデバイスに記憶される処理定義を,処理定義管理システムから適宜,変更可能なように制御することができる。そのため,IoTデバイス自体を交換せずとも,制御処理の変更が可能な処理定義をIoTデバイスで実現することができる。
また,IoTデバイスは,数千から数万の単位で使用されることもある。その場合,すべてのIoTデバイスについて制御処理の変更が必要なのではなく,対応するIoTデバイスのみの変更が求められることがある。そこで第1,第2の発明のように構成することで,変更が必要なIoTデバイスのみを変更することが可能となる。
【0013】
上述の発明において,前記処理定義解釈部および前記処理実行部は,前記IoTデバイスのMCUに記憶されているファームウェアである,IoTデバイス管理システムのように構成することもできる。
【0014】
MCUに記憶されているファームウェアの場合には,本発明の効果が一層発揮される。
【0015】
上述の発明において,前記IoTデバイスと,前記メッセージブローカーとは,低速通信方式による通信を行う,IoTデバイス管理システムである。
【0018】
第1の発明のコンピュータシステムは,本発明の処理方法をコンピュータシステムで実行することで実現できる。すなわち,IoTデバイスの制御処理が記述された,処理定義を管理するコンピュータシステムの処理方法であって,前記コンピュータシステムは,前記処理定義を管理する処理定義管理システムと,複数のIoTデバイスを複数のグループごとに管理するメッセージブローカーと,前記処理定義を記憶するIoTデバイスと,を備えており,前記処理定義管理システムは,前記処理定義の入力を受け付けて前記メッセージブローカーに送り,前記メッセージブローカーは,前記処理定義管理システムから受け取った前記処理定義に基づいて前記グループに対応する差分を生成し,前記生成した差分を,対応するグループのIoTデバイスに対して送り,前記IoTデバイスは,前記メッセージブローカーから取得した差分と,すでに記憶している処理定義とを組み合わせて新たな処理定義を構成し,前記新たな処理定義に基づいて前記IoTデバイスの制御処理を実行する,コンピュータシステムの処理方法である。
【0019】
第2の発明のコンピュータシステムは,本発明の処理方法をコンピュータシステムで実行することで実現できる。すなわち,IoTデバイスの制御処理が記述された,処理定義を管理するコンピュータシステムの処理方法であって,前記コンピュータシステムは,前記処理定義を管理する処理定義管理システムと,複数のIoTデバイスを複数のグループごとに管理するメッセージブローカーと,を備えており,前記処理定義管理システムは,前記処理定義の入力を受け付けて前記メッセージブローカーに送り,前記メッセージブローカーは,前記処理定義管理システムから受け取った前記処理定義に基づいて前記グループに対応する差分を生成し,前記生成した差分を,対応するグループのIoTデバイスに対して送ることで,前記IoTデバイスにおいて,前記差分と,すでに記憶している処理定義とを組み合わせて新たな処理定義を構成させて,前記新たな処理定義に基づいて前記IoTデバイスの制御処理を実行させる,コンピュータシステムの処理方法である。
【発明の効果】
【0020】
本発明のIoTデバイス管理システムによって,IoTデバイス自体を交換せずとも,制御処理の変更が可能なソフトウェアをIoTデバイスで実現することができる。
【図面の簡単な説明】
【0021】
図1】本発明のIoTデバイス管理システムの全体の概念の一例を示す模式図である。
図2】本発明のIoTデバイス管理システムの全体の概念のほかの一例を示す模式図である。
図3】本発明のコンピュータのハードウェア構成の一例を示す模式図である。
図4】本発明のIoTデバイス管理システムの処理プロセスの一例を示すフローチャートである。
図5】本発明のIoTデバイス管理システムの処理プロセスのほかの一例を示すフローチャートである。
図6】IoTデバイスが3軸加速度センサであり,牧場の牛に取り付けた場合の一例を示す模式図である。
図7】IoTデバイスが位置センサであり,病院の備品等に位置センサを取り付けた場合の一例を示す模式図である。
【発明を実施するための形態】
【0022】
本発明のIoTデバイス管理システム1(以下,「管理システム1」という)の全体の概念の一例を図1および図2に示す。図1は管理システム1において,後述する仲介システム3を用いた場合,図2は仲介システム3を用いない場合である。また,本発明の管理システム1で用いるコンピュータシステムのハードウェア構成の一例を図3に示す。
【0023】
管理システム1は,処理定義管理システム2と仲介システム3とIoTデバイス4とを備えている。なお,IoTデバイス4からのデータは,IoTデバイス4からデータ収集サーバ5に送られ,データ収集サーバ5で記憶する。
【0024】
管理システム1における処理定義管理システム2,仲介システム3を実現するコンピュータは,プログラムの演算処理を実行するCPUなどの演算装置70と,情報を記憶するRAMやフラッシュメモリなどの記憶装置71と,演算装置70の処理結果や記憶装置71に記憶する情報をLPWAやセルラー通信などのネットワークを介して送受信する通信装置72とを有している。
【0025】
コンピュータ上で実現する各機能(各手段)は,その処理を実行する手段(プログラムやモジュールなど)が演算装置70に読み込まれることでその処理が実行される。各機能は,記憶装置71に記憶した情報をその処理において使用する場合には,該当する情報を当該記憶装置71から読み出し,読み出した情報を適宜,演算装置70における処理に用いる。また,図1および図2では一台のコンピュータで実現される場合を示したが,複数のコンピュータに,その機能が分散配置されていてもよい。なお,コンピュータには,マイクロコントローラ,サーバ,パーソナルコンピュータ,ワークステーションなど各種の情報処理装置が含まれる。
【0026】
本発明における各手段は,その機能が論理的に区別されているのみであって,物理上あるいは事実上は同一の領域を為していても良い。または,物理上,分離されていてもよい。
【0027】
処理定義管理システム2と仲介システム3との間の通信は,インターネットなどの通常の通信方式が用いられる。
【0028】
処理定義管理システム2は,IoTデバイス4に記憶されて実行される処理定義を,仲介システム3またはIoTデバイス4に送信するコンピュータシステムである。また,処理定義管理システム2では,処理定義41の入力を受け付け,編集する手段を備えている。処理定義41の入力,編集は所定の制御プログラムに基づいて自動的に行われてもよいし,担当者が操作してもよい。処理定義41とは,IoTデバイス4をどのように実行させるか,その制御処理の一部または全部が記述された情報であり,たとえばモジュール,処理フロー,処理パラメータなどが含まれる。モジュールとは一定の処理が記述された情報であり,処理フローとはそれぞれのモジュールをどのような順番で実行するかが記述された情報であり,処理パラメータは,モジュールや処理フローにおける変数が記述された情報である。なお,本明細書において「送信」とは一対一での情報の送受信のほか,一対多での情報の送受信も含まれる。
【0029】
仲介システム3は,一または複数のIoTデバイス4を管理するコンピュータシステムであり,処理定義管理システム2から送信を受けた処理定義41を,所定のIoTデバイス4に反映させる。仲介システム3では,たとえば数千から数万のIoTデバイス4を管理する場合もある。そのため,IoTデバイス4を複数のグループごとに分けて管理をしておき,処理定義管理システム2から送信された処理定義41を,グループごと,またはIoTデバイス4ごとに反映させるように構成してもよい。仲介システム3としては,たとえばメッセージブローカーのコンピュータシステムを用いることができる。なお,仲介システム3を用いずに,処理定義管理システム2がIoTデバイス4に処理定義41を直接,送信するように構成することもできる(図2)。
【0030】
IoTデバイス4は,LPWA方式により処理定義管理システム2または仲介システム3との間でデータの送受信を行い,IoTデバイス4で収集したデータを,LPWA方式により所定のデータ収集サーバ5に送る。なお,IoTデバイス4と,処理定義管理システム2または仲介システム3との間でのデータの送受信は,省電力で広範囲に伝送する無線通信方式であることが好ましく,LPWA方式に限定するものではない。また,省電力で広範囲に伝送する方式であればその効果が大きいが,それに限定するものではない。
【0031】
IoTデバイス4は,処理定義41,処理定義解釈部42,処理実行部43を備えている。IoTデバイス4における処理定義41は,あらかじめIoTデバイス4に記憶されている処理フローなどの処理定義41のほか,処理定義管理システム2または仲介システム3から送信された処理定義41であってもよい。処理定義解釈部42は,IoTデバイス4に記憶する処理定義41を解釈し,後述する処理実行部43に実行させる。処理定義解釈部42における処理定義41の解釈は,当該処理定義41の実行時に行う。処理実行部43は,処理定義解釈部42において解釈した処理定義41を,IoTデバイス4において実行する。
【0032】
IoTデバイス4における処理定義解釈部42,処理実行部43の各機能は,MCU(Micro Controller Unit)でファームウェアとして実現されていてもよい。MCUとは,一つの集積回路にコンピュータシステムをまとめた,組み込み用のマイクロプロセッサである。MCUにはIoTデバイス4においてどのようなデータを収集するかを制御する処理定義41が記憶されており,その制御に基づいて,IoTデバイス4でデータの収集を行う。
【0033】
IoTデバイス4のMCUに記憶されている処理定義41は,IoTデバイス4の制御方法が記述されている。そして,IoTデバイス4は,新たな処理定義41がないかの問い合わせを,適宜,処理定義管理システム2または仲介システム3に行う。または,処理定義管理システム2または仲介システム3からIoTデバイス4に対して,新たな処理定義41が存在することを通知する。
【0034】
そして,新しい処理定義41が処理定義管理システム2または仲介システム3にある場合には,それらから新しい処理定義41の一部または全部の送信を受け,IoTデバイス4に記憶させる。IoTデバイス4においては,新たな処理定義41を展開して記憶すると,その実行時に,処理定義解釈部42が当該処理定義41を読み出して解釈を実行し,処理実行部43がその解釈にしたがって,処理を実行する。
【実施例1】
【0035】
つぎに本発明の管理システム1の処理プロセスの一例を図4のフローチャートを用いて説明する。本実施例においては,IoTデバイス4である3軸加速度センサ4aを牧場にいる牛に取り付けておき,牛の転倒を検知するための新たな処理定義41を,処理定義管理システム2が仲介システム3を介して当該3軸加速度センサ4aに送信することで,当該3軸加速度センサ4aを転倒センサとして機能させる場合を説明する。この場合の一例を図6に示す。なお,牛が転倒をして放置されると肺が圧迫されて死亡することがあるので,牛が転倒をしたか否かを監視しておくことは,牧場主にとって重要な課題である。また,データ収集サーバ5として転倒データ収集サーバ5aを用いる。
【0036】
IoTデバイス4である3軸加速度センサ4aのMCUには,X軸を牛の前後方向,Y軸を牛の左右方向,Z軸を牛の上下方向のそれぞれに対応させて,それらの加速度を検出する処理定義があらかじめ記憶されている。このときに,当該3軸加速度センサ4aの処理定義を変更して転倒センサとして機能させる場合には,まず,当該3軸加速度センサ4aについて,新たな処理定義41を処理定義管理システム2に登録する。
【0037】
処理定義管理システム2に登録する新たな処理定義41としては,「3軸加速度センサ4aで出力する加速度の値にローパスフィルタ処理を行い,Y軸の加速度の値が一定値以上となった場合に,転倒データ収集サーバ5aへ通知をする」がある。ローパスフィルタ処理とは,時系列データの低周波成分を取り出すデジタルフィルタ処理である。上述の新たな処理定義41は,実際には,3軸加速度センサ4aの処理定義解釈部42で解釈可能であり,処理実行部43で実行可能な言語などによって記述されている。たとえばJSONで記述されたデータフォーマットがバイナリ化されている。なお,処理定義管理システム2に新たな処理定義41を登録する場合には,上記新たな処理定義41を生成した者が利用したコンピュータなどから処理定義管理システム2で新たな処理定義41の情報を受け付けることで登録可能である。この際に,新たな処理定義41を送信する3軸加速度センサ4aを識別する情報として,特定のグループ(牧場)を識別する情報が対応付けられていてもよい。
【0038】
以上のようにして処理定義管理システム2に新たな処理定義41が登録されると,処理定義管理システム2は,登録された新たな処理定義41を仲介システム3に送信する(S100)。
【0039】
そして仲介システム3が新たな処理定義41と,牧場を識別する情報とを対応付けて記憶しておくと,当該牧場にいる牛に取り付けられたIoTデバイス4である3軸加速度センサ4aから,当該牧場を識別する情報と処理定義の変更の有無の問い合わせを受け付ける(S110)。この問い合わせを受け付けた仲介システム3は,当該牧場を識別する情報に基づいて新たな処理定義41があるかを判定し(S120),ここでは新たな処理定義41があるので,新たな処理定義41の情報を,当該問い合わせを行った3軸加速度センサ4aに送信する。
【0040】
仲介システム3から新たな処理定義41を取得した3軸加速度センサ4aは(S130),それを3軸加速度センサ4aで展開して,その実行時において,処理定義解釈部42が新たな処理定義41を解釈し(S140),処理実行部43が,解釈された新たな処理定義41に対応する処理を実行する(S150)。すなわち,処理実行部43は,新たな処理定義41の「3軸加速度センサ4aで出力する加速度の値にローパスフィルタ処理を行い,Y軸の加速度の値が一定値以上となった場合に,転倒データ収集サーバ5aへ通知をする」処理を実行する。
【0041】
以上のような処理を実行することで,牛に取り付けた3軸加速度センサ4aに新たな処理定義41に基づく処理を実行させることができ,3軸加速度センサ4aを転倒センサとして機能させることができる。
【0042】
つぎに,上述の実施例において,さらに,牛の柵などへの衝突も検出する機能を付加する場合,すなわち,3軸加速度センサ4aに転倒センサの機能に加え,衝突センサの機能も追加する場合を説明する。
【0043】
IoTデバイス4の処理定義41に,新たな追加の処理を行う場合に,あらかじめIoTデバイス4に記憶されている処理定義41に加え,追加の処理を含めた処理定義41’をIoTデバイス4に送信することとなる。この場合,すべての処理フローを含む処理定義41’の全部を処理定義管理システム2が仲介システム3を介してIoTデバイス4に送信するようにしてもよいが,その場合,同一部分については,通信量の無駄が生じる。そこで,新たな処理定義41’のうち差分のみを送信する場合を説明する。この場合の管理システム1の処理プロセスの一例を図5に示す。なお,新たな処理定義41’の差分としては,処理定義41’となるモジュールの更新,追加,削除,処理フローの更新,追加,削除,処理パラメータの更新などが該当する。
【0044】
3軸加速度センサ4aに新たな処理定義41’に基づく処理を実行させるためには,まず図4の場合と同様に,新たな処理定義41’を処理定義管理システム2に登録する。
【0045】
処理定義管理システム2に登録する新たな処理定義41’としては,「3軸加速度センサ4aで出力する加速度の値にローパスフィルタ処理を行い,Y軸の加速度の値が一定値以上となった場合に,転倒データ収集サーバ5aへ通知をする」,「3軸加速度センサ4asで出力する加速度の値にハイパスフィルタ処理を行い,X軸またはY軸の加速度の値が一定値以上となった場合に,転倒データ収集サーバ5aへ通知する」の各処理となる。そして,後者の処理が処理定義41の処理に追加された差分となる処理である。なお,ハイパスフィルタ処理とは,時系列データの高周波成分を取り出すデジタルフィルタ処理である。このように生成した処理定義41’を,処理定義管理システム2に,牧場を識別する情報に対応付けて登録させる。
【0046】
以上のようにして処理定義管理システム2に新たな処理定義41’が登録されると,処理定義管理システム2は,登録された新たな処理定義41’を仲介システム3に送信する(S200)。
【0047】
そして仲介システム3が新たな処理定義41’と,牧場を識別する情報とを対応付けて記憶しておくと,当該牧場にいる牛に取り付けられたIoTデバイス4である3軸加速度センサ4aから,当該牧場を識別する情報と処理定義の変更の有無の問い合わせを受け付ける(S210)。この問い合わせを受け付けた仲介システム3は,当該牧場を識別する情報に基づいて新たな処理定義41’があるかを判定し(S220),ここでは新たな処理定義41’があるので,処理定義41と処理定義41’との差分を生成する(S230)。すなわち,上述の処理定義41’のうち,後者の処理「3軸加速度センサ4asで出力する加速度の値にハイパスフィルタ処理を行い,X軸またはY軸の加速度の値が一定値以上となった場合に,転倒データ収集サーバ5aへ通知する」を差分として生成する。なお,差分の生成にあたっては,たとえば処理定義管理システム2,仲介システム3において,処理定義のバージョンの情報を管理し,そのバージョンごとの処理定義を比較することで,差分を生成することができる。なお,仲介システム3を用いない場合には上述の処理は処理定義管理システム2で行う。
【0048】
そして仲介システム3は,新たな処理定義41’のうち差分を,当該問い合わせを行った3軸加速度センサ4aに送信する。
【0049】
仲介システム3から新たな処理定義41’のうちの差分を取得した3軸加速度センサ4aは(S240),すでに記憶されている処理定義41と,新たに取得した差分の情報とを組み合わせて新たな処理定義41’を構成する(S250)。すなわちすでに3軸加速度センサ4aに処理定義41として記憶されている処理「3軸加速度センサ4aで出力する加速度の値にローパスフィルタ処理を行い,Y軸の加速度の値が一定値以上となった場合に,転倒データ収集サーバ5aへ通知をする」と,新たに取得した差分の処理「3軸加速度センサ4asで出力する加速度の値にハイパスフィルタ処理を行い,X軸またはY軸の加速度の値が一定値以上となった場合に,転倒データ収集サーバ5aへ通知する」とを組み合わせ,新たな処理定義41’として構成して,3軸加速度センサ4aにおいて展開をする。
【0050】
そして3軸加速度センサ4aは,新たな処理定義41’について,その実行時において,処理定義解釈部42が新たな処理定義41’を解釈し(S260),処理実行部43が,解釈された新たな処理定義41’に対応する処理を実行する(S270)。すなわち,処理実行部43は,新たな処理定義41’の「3軸加速度センサ4aで出力する加速度の値にローパスフィルタ処理を行い,Y軸の加速度の値が一定値以上となった場合に,転倒データ収集サーバ5aへ通知をする」,「3軸加速度センサ4aで出力する加速度の値にハイパスフィルタ処理を行い,X軸またはY軸の加速度の値が一定値以上となった場合に,転倒データ収集サーバ5aへ通知する」の各処理を実行する。
【0051】
以上のような処理を実行することで,牛に取り付けた3軸加速度センサ4aに新たな処理定義41’に基づく処理を実行させることができ,3軸加速度センサ4aを転倒センサおよび衝突センサとして機能させることができる。
【0052】
なお,上述においてはIoTデバイス4として3軸加速度センサ4aを用いた場合を説明したが,IoTデバイス4としてほかのデバイスを用いることは当然に可能であり,その状況に応じた処理定義41を,適宜,用いることが可能であることは言うまでもない。
【実施例2】
【0053】
つぎにIoTデバイス4として位置センサ4bの場合を説明する。位置センサ4bを病院の医薬品や備品(以下,「備品等」という)に取り付けておき,当該備品等がどこにあるかを監視するために用いる。この場合の一例を図7に示す。また,データ収集サーバ5として備品等位置データ収集サーバ5bを用いる。なお,本実施例においては,処理定義として処理パラメータの更新をする場合である。
【0054】
IoTデバイス4である位置センサ4bのMCUには,備品等の位置情報を検出し,検出した位置情報を所定の備品等位置データ収集サーバ5bに送る処理定義41が記憶されている。たとえば,「X秒おきに位置情報を備品等位置データ収集サーバ5bに送る」制御を実行する処理定義41が記憶されている。ここで「X」は変数であり,データの送信間隔を示す情報,つまり「X」に代入する値が,差分となる処理パラメータとして処理定義管理システム2から送信される。備品等位置データ収集サーバ5bは,備品等の位置を記憶するサーバであり,仮に備品等が見当たらない場合に,それがいつ紛失したかなどを特定するために用いることができる。
【0055】
処理定義41として当初,処理パラメータの初期値として「10」の情報を仲介システム3で記憶しており,それを各位置センサ4bの処理定義41で取得しているとする。そうすると,位置センサ4bは,処理パラメータとして「10」を含む処理定義41を位置センサ4bで展開して,その実行時において,処理定義解釈部42で処理定義41を解釈をして,その解釈に基づいて処理実行部43が,「10秒おきに位置情報を備品等位置データ収集サーバ5bに送る」処理を実行する。
【0056】
そして,処理定義管理システム2は,所定時刻,たとえば17時になった段階で,新たな処理定義41’「60秒おきに位置情報を備品等位置データ収集サーバ5bに送る」を登録する。そして,処理定義管理システム2は新たな処理定義41’を仲介システム3に送信する(S200)。この際に,位置センサ4bを識別する情報として,特定のグループ(たとえば病院,病棟,階数,診療科目など)を識別する情報に対応付けられていてもよい。
【0057】
仲介システム3が新たな処理定義41’の情報と,病院を識別する情報を対応付けて記憶しておくと,当該病院にある備品等に取り付けられたIoTデバイス4である各位置センサ4bから,当該病院を識別する情報と処理定義の変更の有無の問い合わせを受け付ける(S210)。この問い合わせを受け付けた仲介システム3は,当該病院を識別する情報に基づいて新たな処理定義41’があるかを判定し(S220),ここでは新たな処理定義41’があるので,処理定義41と処理定義41’との差分を生成する(S230)。すなわち,上述の処理定義41と処理定義41’とを比較すると,処理パラメータとして「60」を差分として生成する。
【0058】
そして仲介システム3は,新たな処理定義41’における「60」を当該位置センサ4bに送信する。仲介システム3から新たな処理定義41’における「60」を受け付けた各位置センサ4bは(S240),処理パラメータ「60」を処理定義41の変数「X」に代入することで,新たな処理定義41’として構成される(S250)。すなわち,新たな処理定義41’として,「60秒ごとにその備品等の位置情報を,備品等位置データ収集サーバ5bに送る」処理が位置センサ4bで実行される処理定義となる。
【0059】
そして,位置センサ4bにおいて,新たな処理定義41’が展開され,その実行時において,処理定義解釈部42が処理定義41’を解釈して(S260),その解釈に基づいて処理実行部43が,「60秒おきに位置情報を備品等位置データ収集サーバ5bに送る」処理を実行する(S270)。
【0060】
そして,処理定義管理システム2は,所定時刻,たとえば8時になった段階で,新たな処理定義41’’「10秒おきに位置情報を備品等位置データ収集サーバ5bに送る」を登録する。そして,処理定義管理システム2は新たな処理定義41’’を,病院を識別する情報に対応付けて仲介システム3に送信する(S200)。
【0061】
仲介システム3が新たな処理定義41’’の情報と,病院を識別する情報を対応付けて記憶しておくと,当該病院にある備品等に取り付けられたIoTデバイス4である各位置センサ4bから,当該病院を識別する情報と処理定義の変更の有無の問い合わせを受け付ける(S210)。この問い合わせを受け付けた仲介システム3は,当該病院を識別する情報に基づいて新たな処理定義41’’があるかを判定し(S220),ここでは新たな処理定義41’’があるので,処理定義41’と処理定義41’’との差分を生成する(S230)。すなわち,上述の処理定義41と処理定義41’とを比較すると,処理パラメータとして「10」の部分を差分として生成する。
【0062】
そして仲介システム3は,新たな処理定義41’’における「10」を当該位置センサ4bに送信する。仲介システム3から新たな処理定義41’’における「10」を受け付けた各位置センサ4bは(S240),処理パラメータ「10」を処理定義41’の変数「X」に代入することで,新たな処理定義41’’として構成される(S250)。すなわち,新たな処理定義41’’として,「10秒ごとにその備品等の位置情報を,備品等位置データ収集サーバ5bに送る」処理が位置センサ4bで実行される処理定義となる。
【0063】
そして,位置センサ4bにおいて,新たな処理定義41’’が展開され,その実行時において,処理定義解釈部42が処理定義41’を解釈して(S260),その解釈に基づいて処理実行部43が,「10秒おきに位置情報を備品等位置データ収集サーバ5bに送る」処理を実行する(S270)。
【0064】
このような処理を実行することで,8時から17時の間は,病院の備品等に取り付けられた位置センサ4bは,「10」秒ごとにその備品等の位置情報を備品等位置データ収集サーバ5bに送り,17時から8時の間は,病院の備品等に取り付けられた位置センサ4bは,「60」秒ごとにその備品等の位置情報を備品等位置データ収集サーバ5bに送ることができる。これによって,病院の活動時間にあわせた,備品等の位置情報を収集することができる。
【産業上の利用可能性】
【0065】
本発明のIoTデバイス管理システム1によって,IoTデバイス4自体を交換せずとも,制御処理の変更が可能なソフトウェアをIoTデバイス4で実現することができる。
【符号の説明】
【0066】
1:IoTデバイス管理システム
2:処理定義管理システム
3:仲介システム
4:IoTデバイス
4a:転倒センサ
4b:位置センサ
5:データ収集サーバ
5a:転倒データ収集サーバ
5b:備品等位置データ収集サーバ
41,41’:処理定義
42:処理定義解釈部
43:処理実行部
70:演算装置
71:記憶装置
72:通信装置
【要約】
【課題】
IoTデバイスに搭載される制御処理が記述された処理定義の管理システムを提供することを目的とする。
【解決手段】
IoTデバイスの制御処理が記述された,処理定義を管理するIoTデバイス管理システムであって,IoTデバイス管理システムは,IoTデバイスの制御処理を記述する処理定義を管理し,IoTデバイスに処理定義の一部または全部を送る処理定義管理システムと,処理定義管理システムから取得した処理定義を実行するIoTデバイスと,を備えており,IoTデバイスは,処理定義を解釈する処理定義解釈部と,解釈した処理定義を実行することで,制御処理をIoTデバイスで実行する処理実行部と,を備える,IoTデバイス管理システムである。
【選択図】 図1
図1
図2
図3
図4
図5
図6
図7