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

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

▶ 富士通株式会社の特許一覧

特許6805784情報処理装置、情報処理方法及び情報処理プログラム
<>
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000002
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000003
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000004
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000005
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000006
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000007
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000008
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000009
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000010
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000011
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000012
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000013
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000014
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000015
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000016
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000017
  • 特許6805784-情報処理装置、情報処理方法及び情報処理プログラム 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6805784
(24)【登録日】2020年12月8日
(45)【発行日】2020年12月23日
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
   G08C 15/00 20060101AFI20201214BHJP
   G08C 17/02 20060101ALI20201214BHJP
   G08C 17/00 20060101ALI20201214BHJP
   H04L 12/28 20060101ALI20201214BHJP
   G08C 25/00 20060101ALI20201214BHJP
【FI】
   G08C15/00 D
   G08C17/02
   G08C17/00 Z
   H04L12/28 200Z
   G08C25/00 F
【請求項の数】11
【全頁数】27
(21)【出願番号】特願2016-240532(P2016-240532)
(22)【出願日】2016年12月12日
(65)【公開番号】特開2018-97527(P2018-97527A)
(43)【公開日】2018年6月21日
【審査請求日】2019年9月10日
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【弁理士】
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】矢野 愛
(72)【発明者】
【氏名】松倉 隆一
(72)【発明者】
【氏名】西口 侑希
【審査官】 榮永 雅夫
(56)【参考文献】
【文献】 特開2007−233941(JP,A)
【文献】 特開2010−96549(JP,A)
【文献】 特開2010−20504(JP,A)
【文献】 特開2008−42458(JP,A)
【文献】 国際公開第2015/107574(WO,A1)
【文献】 米国特許出願公開第2008/0301513(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G08C 13/00 − 25/04
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
センサノードを用いたデータ取得についての取得方式を決定するデータ取得方式決定部と、
前記データ取得方式決定部が決定した取得方式に従って、前記センサノードで計測された計測データ及び前記センサノードの性能に関連する性能データを取得するデータ取得部と、
前記データ取得部が取得した前記計測データ及び/又は前記性能データに基づいて、異常発生の有無を判定する異常判定部と、
前記データ取得部が取得した前記性能データに基づいて、前記性能データのデータ値の出現範囲をデータ値の良否の度合ごとに複数のレベル範囲に区分けし、記憶部に記憶する区分け部と、を備え、
前記データ取得方式決定部は、前記データ取得部が取得した前記性能データのデータ値が含まれるレベル範囲を前記記憶部を参照して決定し、決定したレベル範囲と前記異常発生の有無との組み合わせに基づいて、前記取得方式を決定することを特徴とする情報処理装置。
【請求項2】
前記取得方式は、前記センサノードにおいて前記計測データ及び/又は前記性能データを取得するためのコマンド、前記センサノードにおける前記計測データ及び/又は前記性能データのサンプリング間隔、前記センサノードからの前記計測データ及び/又は性能データの送信間隔、の少なくとも1つを含むことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記区分け部は、予め定められたタイミングで前記区分けを繰り返し実行することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記データ取得方式決定部は、決定した取得方式を前記データ取得部が用いる前と用いた後の前記性能データのデータ値を取得し、取得した前記データ値が含まれるレベル範囲の異同に基づいて、前記取得方式を調整する、ことを特徴とする請求項1〜3のいずれか一項に記載の情報処理装置。
【請求項5】
前記区分け部は、前記異常判定部により異常ありと判定された時点を含む所定期間内に前記データ取得部が取得した前記性能データのデータ値に基づいて区分けを実行する、ことを特徴とする請求項1〜4のいずれか一項に記載の情報処理装置。
【請求項6】
前記区分け部は、前記異常判定部により異常ありと判定されたときの性能データのデータ値を取得し、各データ値の取得数に基づいて、区分けを実行することを特徴とする請求項1〜5のいずれか一項に記載の情報処理装置。
【請求項7】
前記データ取得方式決定部は、ユーザが希望する取得方式の入力を受け付け、前記ユーザが希望する取得方式に基づいて、前記センサノードを用いたデータ取得についての取得方式を決定する、ことを特徴とする請求項1〜6のいずれか一項に記載の情報処理装置。
【請求項8】
前記取得方式に前記センサノードにおける前記性能データのサンプリング間隔が含まれる場合には、
前記データ取得方式決定部は、前記性能データが補間可能なデータであるかを判定し、補間可能な場合に前記性能データのサンプリング間隔を長く調整する、ことを特徴とする請求項1〜7のいずれか一項に記載の情報処理装置。
【請求項9】
前記データ取得方式決定部は、第1のセンサノードの第1の性能データの取得方式を決定した場合に、前記第1のセンサノードと関連する機器の前記第1の性能データの取得方式及び/又は前記第1のセンサノードの前記第1の性能データに関連する第2の性能データの取得方式を、前記第1のセンサノードの前記第1の性能データの取得方式と同一の取得方式に決定する、ことを特徴とする請求項1〜8のいずれか一項に記載の情報処理装置。
【請求項10】
センサノードを用いたデータ取得についての取得方式を決定し、
決定した前記取得方式に従って、前記センサノードで計測された計測データ及び前記センサノードの性能に関連する性能データを取得し、
取得した前記計測データ及び/又は前記性能データに基づいて、異常発生の有無を判定し、
取得した前記性能データに基づいて、前記性能データのデータ値の出現範囲をデータ値の良否の度合ごとに複数のレベル範囲に区分けし、記憶部に記憶する、処理をコンピュータが実行し、
前記取得方式を決定する処理では、取得した前記性能データのデータ値が含まれるレベル範囲を前記記憶部を参照して決定し、決定したレベル範囲と前記異常発生の有無との組み合わせに基づいて、前記取得方式を決定する、ことを特徴とする情報処理方法。
【請求項11】
センサノードを用いたデータ取得についての取得方式を決定し、
決定した前記取得方式に従って、前記センサノードで計測された計測データ及び前記センサノードの性能に関連する性能データを取得し、
取得した前記計測データ及び/又は前記性能データに基づいて、異常発生の有無を判定し、
取得した前記性能データに基づいて、前記性能データのデータ値の出現範囲をデータ値の良否の度合ごとに複数のレベル範囲に区分けし、記憶部に記憶する、処理をコンピュータに実行させ、
前記取得方式を決定する処理では、取得した前記性能データのデータ値が含まれるレベル範囲を前記記憶部を参照して決定し、決定したレベル範囲と前記異常発生の有無との組み合わせに基づいて、前記取得方式を決定する、ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
最近、IoT(Internet of Things)の拡大に伴い、情報処理装置に対して、多種多様なデバイスが多種多様な通信方式で接続されるようになっている。このような状況においては、接続されるデバイスの種別、通信方式、周辺の無線状況、利用アプリ等により、発生する障害(例えば、デバイスのハードウェア障害やソフトウェア障害、通信障害)は様々となる。このため、時々刻々と変化するIoT環境においては、デバイスのハードウェア性能、ソフトウェア性能、通信性能等を監視し、障害判定を実行することが重要である。
【0003】
この場合、障害判定を高精度に実行するために高頻度で各種性能データを収集すると、ハードウェアや通信の負荷が高くなる。一方、ハードウェアや通信の負荷にならない程度の頻度で各種性能データを収集すると、障害判定に不十分となるおそれがある。
【0004】
従来、通信量の履歴に基づいて、データ収集に伴うネットワーク負荷を平準化しつつ送信期限内のデータ収集を実現する技術が知られている(例えば、特許文献1等参照)。また、ルータノードにおいて、CPUや通信装置の処理性能に応じた速度(制限転送レート)を予め設定し、制限転送レートに基づいて測定間隔や送信間隔を設定する技術が知られている(例えば、特許文献2等参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2015/107574号
【特許文献2】特開2008−42458号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、住宅やオフィス等の一般の環境では、外乱(外からの電波侵入や遮蔽、干渉など)が不特定に発生し、通信量が毎日同じように変化するわけではないため、上述した従来の技術では適切にデータ収集を行うことができない。
【0007】
1つの側面では、本発明は、異常判定を適切に行うことが可能な情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
一つの態様では、情報処理装置は、センサノードを用いたデータ取得についての取得方式を決定するデータ取得方式決定部と、前記データ取得方式決定部が決定した取得方式に従って、前記センサノードで計測された計測データ及び前記センサノードの性能に関連する性能データを取得するデータ取得部と、前記データ取得部が取得した前記計測データ及び/又は前記性能データに基づいて、異常発生の有無を判定する異常判定部と、前記データ取得部が取得した前記性能データに基づいて、前記性能データのデータ値の出現範囲をデータ値の良否の度合ごとに複数のレベル範囲に区分けし、記憶部に記憶する区分け部と、を備え、前記データ取得方式決定部は、前記データ取得部が取得した前記性能データのデータ値が含まれるレベル範囲を前記記憶部を参照して決定し、決定したレベル範囲と前記異常発生の有無との組み合わせに基づいて、前記取得方式を決定する、情報処理装置である。
【発明の効果】
【0009】
異常判定を適切に行うことができる。
【図面の簡単な説明】
【0010】
図1】第1の実施形態に係る情報処理システムの構成を概略的に示す図である。
図2図2(a)は、ゲートウェイのハードウェア構成を示す図であり、図2(b)は、ユーザ端末のハードウェア構成を示す図である。
図3】センサノードとゲートウェイの機能ブロック図である。
図4】性能値DBのデータ構造の一例を示す図である。
図5図5(a)は、第1の実施形態に係る性能値取得部の処理を示すフローチャートであり、図5(b)は、第1の実施形態に係るセンサ計測値取得部の処理を示すフローチャートである。
図6】計測値DBのデータ構造の一例を示す図である。
図7図7(a)、図7(b)は、異常判定部による異常判定について説明するための図である。
図8図8(a)は、性能レベルテーブルのデータ構造の一例を示す図であり、図8(b)は、性能値の正規分布の例を示す図である。
図9】第1の実施形態に係る性能レベルテーブル策定部の処理を示すフローチャートである。
図10】取得方式テーブルのデータ構造の一例を示す図である。
図11】第2の実施形態におけるデータ取得方式決定部の処理を示すフローチャートである。
図12】第3の実施形態における性能レベルテーブル策定部の処理を示すフローチャートである。
図13】第4の実施形態における性能レベルテーブル策定部の処理を示すフローチャートである。
図14】性能値と異常発生回数の関係を示す図である。
図15】第5の実施形態の入力画面の一例を示す図である。
図16】第6の実施形態におけるデータ取得方式決定部の処理を示すフローチャートである。
図17】第7の実施形態におけるデータ取得方式決定部の処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
≪第1の実施形態≫
以下、情報処理システムの第1の実施形態について、図1図10に基づいて詳細に説明する。
【0012】
図1には、第1の実施形態に係る情報処理システム100の構成が概略的に示されている。情報処理システム100は、多数のセンサノード70と、情報処理装置としてのゲートウェイ10と、ユーザ端末60と、を備える。ゲートウェイ10とユーザ端末60とは、ネットワーク80に接続されている。
【0013】
センサノード70は、センサと、データ処理機能や無線通信機能を実装した装置である。例えば、センサノード70は、温度、湿度、マンホール内の下水の水位やガス濃度などを計測し、計測値をゲートウェイ10に対して無線通信にて送信する。また、センサノード70は、センサノード70自体の性能(ハードウェア性能、ソフトウェア性能、通信性能)を示すデータ(性能値)を計測する。なお、性能の種別(ハードウェア性能、ソフトウェア性能、通信性能)を、以下においては、カテゴリとも呼ぶものとする。
【0014】
図3には、センサノード70とゲートウェイ10の機能ブロック図が示されている。図3に示すように、センサノード70は、1又は複数のセンサ72と、制御部74と、を備える。
【0015】
センサ72は、温度や湿度などを計測するセンサや、水位やガス濃度などを計測するセンサを含む。
【0016】
制御部74は、CPU(Central Processing Unit)がプログラムを実行することにより、性能値計測部75、センサ計測部76、通信部77の機能を有する。性能値計測部75は、通信部77を介してゲートウェイ10(性能値取得部12)から通知されたサンプリング間隔と取得コマンドに基づいて、センサノード70のハードウェアやソフトウェアの性能を示す性能データの値(性能値)を計測する。なお、ハードウェアやソフトウェアの性能を示す性能データ、すなわちカテゴリが「ハードウェア性能」や「ソフトウェア性能」である性能データには、例えば、CPU使用率、メモリ使用率、HDD(Hard Disk Drive)使用率、バッテリ残量、センサノード内温度、内部処理時間などが含まれる。
【0017】
また、性能値計測部75は、ゲートウェイ10(性能値取得部12)から通信性能を示す性能データの値(性能値)を取得するためのコマンド(サンプリングコマンド)を受信したときに、通信性能を示す性能データの値を計測する。なお、通信性能を示す性能データ、すなわちカテゴリが「通信性能」である性能データには、電波強度(RSSI:Received Signal Strength Indicator)、リンク品質(LQ:Link Quality)、パケットエラー率(PER:Packet Error Rate)、ビットエラー率(BER:Bit Error Rate)、応答時間、再送回数、チャネル利用率、アクティブノード数などが含まれる。
【0018】
センサ計測部76は、ゲートウェイ10(センサ計測値取得部13)から通知されたサンプリング間隔と取得コマンドで、センサ72による計測値(センサ計測値)を取得する。
【0019】
性能値計測部75及びセンサ計測部76は、性能値取得部12やセンサ計測値取得部13から通知されたデータ送信間隔ごとに、未送信のデータをまとめて通信部77を介して送信する。なお、性能値計測部75及びセンサ計測部76は、性能値取得部12やセンサ計測値取得部13からデータ要求コマンドを受信したときに、未送信のデータをまとめて、通信部77を介してゲートウェイ10に送信することとしてもよい。
【0020】
ゲートウェイ10は、例えば、電柱などに設置される装置である。ゲートウェイ10は、センサノード70において計測された性能値やセンサ計測値を受信し、受信した値に基づいて、センサノードを用いた性能値やセンサ計測値の取得方式(以下、「データ取得方式」と呼ぶ)を決定する。また、ゲートウェイ10は、センサ計測値に基づいて異常(障害)の有無を判定し、異常(障害)に関する情報をネットワーク80を介してユーザ端末60に通知する。
【0021】
図2(a)には、ゲートウェイ10のハードウェア構成が示されている。図2(a)に示すように、ゲートウェイ10は、CPU90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD)96、通信部97、及び可搬型記憶媒体用ドライブ99等を備えている。通信部97は、センサノード70の通信部77と無線通信する機能、及びネットワーク80を介してユーザ端末60と通信する機能を有する。ゲートウェイ10の構成各部は、バス98に接続されている。ゲートウェイ10では、ROM92あるいはHDD96に格納されているプログラム(情報処理プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラム(情報処理プログラムを含む)をCPU90が実行することにより、図3に示す各部の機能が実現される。なお、図3の各部の詳細については、後述する。
【0022】
ユーザ端末60は、ゲートウェイ10から異常(障害)に関する情報を受信し、ユーザに報知する装置である。図2(b)には、ユーザ端末60のハードウェア構成が示されている。ユーザ端末60は、図2(b)に示すように、ゲートウェイ10と同様、CPU190、ROM192、RAM194、記憶部(HDD)196、通信部197、表示部193、入力部195、及び可搬型記憶媒体191の読み取りが可能な可搬型記憶媒体用ドライブ199等を備えている。ユーザ端末60の構成各部は、バス198に接続されている。表示部193は、液晶ディスプレイ等を含み、入力部195は、キーボード、マウス、タッチパネル等を含む。
【0023】
次に、ゲートウェイ10の機能について、図3に基づいて詳細に説明する。図3に示すように、ゲートウェイ10は、CPU90がプログラムを実行することで、通信部11、性能値取得部12、センサ計測値取得部13、異常判定部14、区分け部としての性能レベルテーブル策定部15、データ取得方式決定部16、障害判定部17、判定結果通知部18、として機能する。なお、図3において図示されている、性能値DB30、計測値DB32、性能レベルテーブル34、取得方式テーブル36は、HDD96等に格納されている。
【0024】
通信部11は、センサノード70の通信部77との間で無線通信を行う。
【0025】
性能値取得部12は、後述するデータ取得方式決定部16から通知されたデータの取得方式(取得コマンド、サンプリング間隔、データ送信間隔)を、通信部11を介してセンサノード70(性能値計測部75)に通知する。この場合、センサノード70は、通知されたデータ送信間隔で、ゲートウェイ10とセンサノード70との間の通信性能を示す複数の性能データや、センサノード70のハードウェアやソフトウェアの性能を示す複数の性能データを性能値取得部12に送信する。性能値取得部12は、センサノード70から送信されてきた各種性能データを取得し、性能値DB30に格納する。また、性能値取得部12は、性能値DB30を更新した場合には、異常判定部14に対して性能値DB30の更新を通知する。
【0026】
なお、性能値取得部12は、センサノード70との間にアクセスポイントやルータのような無線通信用の中継器が存在している場合に、中継器によって観測できる通信性能を示す複数の性能データや、中継器のハードウェアやソフトウェアの性能を示す複数の性能データを、中継器から受信して取得し、性能値DB30に格納してもよい。また、性能値取得部12は、ゲートウェイ10自身のハードウェアやソフトウェアの性能を示す複数の性能データを、取得してもよい。
【0027】
性能値DB30は、図4に示すようなデータ構造を有する。具体的には、性能値DB30は、「ノードID」、「タイムスタンプ」のフィールドの他、各種性能データの値を格納するフィールド(例えば、「RSSI」、「LQ」、…等のフィールド)を有する。性能値DB30には、各センサノード70で得られる性能値(例えば、RSSIやLQの値など)がセンサノード70の識別情報であるノードIDと、性能値の取得日時を示すタイプスタンプとともに格納される。
【0028】
なお、性能値取得部12が、データ取得方式決定部16から通知されたデータ送信間隔で性能データの送信をセンサノード70に要求する場合には、性能値取得部12はセンサノード70にデータ送信間隔を通知しないものとする。また、性能値に変化があるときだけセンサノード70が性能値取得部12に対して性能値を送信する場合には、性能値取得部12は、センサノード70にデータ送信間隔を通知しないものとする。
【0029】
(性能値取得部12の処理)
ここで、性能値取得部12の処理について、図5(a)のフローチャートに沿って詳細に説明する。なお、図5(a)の処理は、データ取得方式決定部16からデータ取得方式が送信されてきた段階で開始される処理である。
【0030】
図5(a)の処理では、まず、ステップS10において、性能値取得部12が、データ取得方式決定部16からデータ取得方式(取得コマンド、サンプリング間隔、データ送信間隔)を受信する。次いで、ステップS12では、性能値取得部12は、通信部11を介して、センサノード70に、取得コマンド、サンプリング間隔、データ送信間隔を通知する。センサノード70では、性能値計測部75が、取得コマンド及びサンプリング間隔に基づいて、性能値を取得し、取得した性能値を通信部77を介してゲートウェイ10に送信する。
【0031】
次いで、ステップS14では、性能値取得部12は、センサノード70から性能値が送信されてくるまで待機する。性能値が送信されてきた場合、性能値取得部12は、ステップS16に移行し、送信されてきた性能値を取得し、性能値DB30に格納する。
【0032】
次いで、ステップS18では、性能値取得部12は、性能値DB30に性能値を格納した旨を異常判定部14に通知する。その後は、ステップS14〜S18の処理を繰り返すが、データ取得方式決定部16から新たなデータ取得方式が送信されてきた段階で、性能値取得部12は、図5(a)の処理を一旦終了し、図5(a)の処理を最初から実行しなおす。
【0033】
ここで、通信性能を示す性能データには、何らかの通信パケットを送受信しないと取得できないデータがある。このため、性能値取得部12がデータ取得方式決定部16から受信するデータ取得方式には、通信性能を示す性能データをサンプリングするためのコマンド(サンプリングコマンド)が含まれる場合がある。性能値取得部12は、サンプリングコマンドを取得した場合には、図5(a)の処理とは別に、サンプリングコマンドをサンプリング間隔に基づいてセンサノード70に送信する。これにより、データ取得方式決定部16が決定したサンプリング間隔で、すべての通信性能を示す性能データを取得することが可能となる。
【0034】
図3に戻り、センサ計測値取得部13は、データ取得方式決定部16から通知された取得コマンド、サンプリング間隔、データ送信間隔をセンサノード70(センサ計測部76)に通知し、センサノード70から、センサ72が計測したデータ(センサ計測値)を受信する。また、センサ計測値取得部13は、受信したセンサ計測値を計測値DB32に格納するとともに、計測値DB32の更新を異常判定部14に通知する。
【0035】
図6には、計測値DB32のデータ構造の一例が示されている。図6に示すように、計測値D32は、「ノードID」及び「タイムスタンプ」のフィールドと、各種センサ計測値を格納するフィールド(「温度」、「湿度」、…等のフィールド)と、を有する。計測値DB32においては、各センサノード70で得られるセンサ計測値(例えば、温度、湿度、水位、ガス濃度など)がセンサノード70の識別情報であるノードIDと、センサ計測値の取得日時を示すタイプスタンプとともに格納される。
【0036】
なお、センサ計測値取得部13が、データ取得方式決定部16から通知されたデータ送信間隔でセンサ計測値の送信をセンサノード70に要求する場合には、センサ計測値取得部13はセンサノード70にデータ送信間隔を通知しないものとする。また、センサ計測値に変化があるときだけセンサノード70がセンサ計測値取得部13に対してセンサ計測値を送信する場合には、センサ計測値取得部13は、センサノード70にデータ送信間隔を通知しないものとする。
【0037】
(センサ計測値取得部13の処理)
ここで、センサ計測値取得部13の処理について、図5(b)のフローチャートに沿って詳細に説明する。
【0038】
図5(b)の処理では、まず、ステップS110において、センサ計測値取得部13が、データ取得方式決定部16からデータ取得方式(取得コマンド、サンプリング間隔、データ送信間隔)を受信する。次いで、ステップS112では、センサ計測値取得部13は、通信部11を介して、センサノード70に、取得コマンド、サンプリング間隔、データ送信間隔を通知する。センサノード70では、センサ計測部76が、取得コマンド及びサンプリング間隔に基づいて、センサ72を用いてセンサ計測値を取得し、取得したセンサ計測値を通信部77を介してゲートウェイ10に送信する。
【0039】
次いで、ステップS114では、センサ計測値取得部13は、センサノード70からセンサ計測値が送信されてくるまで待機する。センサ計測値が送信されてきた場合、センサ計測値取得部13は、ステップS116に移行し、送信されてきたセンサ計測値を取得し、計測値DB32に格納する。
【0040】
次いで、ステップS118では、センサ計測値取得部13は、計測値DB32にセンサ計測値を格納した旨を異常判定部14に通知する。その後は、ステップS114〜S118の処理を繰り返すが、データ取得方式決定部16から新たなデータ取得方式が送信されてきた段階で、センサ計測値取得部13は、図5(b)の処理を一旦終了し、図5(b)の処理を最初から実行しなおす。
【0041】
図3に戻り、異常判定部14は、センサ計測値取得部13から計測値DB32の更新の通知を受信した場合、又は性能値取得部12から性能値DB30の更新の通知を受信した場合に、計測値DB32又は性能値DB30から直近のデータを取得し、異常の有無を判定する。そして、異常判定部14は、判定した異常の有無をデータ取得方式決定部16に通知する。また、異常判定部14は、異常発生を検知した場合、異常発生と判定した元データ(ノードID、タイムスタンプ、データ名及びデータ値)を障害判定部17に通知する。
【0042】
ここで、異常判定部14は、例えば、図7(a)において太線枠で示すように、センサ計測値や性能値の取得に失敗した場合に異常有りと判定することができる。また、異常判定部14は、図7(b)において太線枠で示すように、性能値と閾値の比較結果が異常を示す結果となった場合に異常有りと判定することができる。また、異常判定部14は、エラーメッセージを受信したかなどに基づいて異常の発生有無を判定することができる。また、異常判定部14は、計測値DB32や性能値DB30から直近データを複数個取得し、取得した複数個のデータの平均値や分散値等の特徴量が閾値を超えるか否かに基づいて異常の発生有無を判定してもよい。
【0043】
性能レベルテーブル策定部15は、性能値DB30から、各種性能値をそれぞれ取得し、各性能値の取りうる範囲(出現範囲)を2つ以上のレベル範囲(例えば、「良」と「悪」の2つのレベル範囲や、「良」と「普通」と「悪」の3つのレベル範囲など)に区分けし、区分けに用いた閾値で記憶部としての性能レベルテーブル34を更新する。性能レベルテーブル34は、図8(a)に示すようなデータ構造を有する。なお、性能レベルテーブル34は、基本的には、センサノード70毎に策定されるが、例えば、同一の場所に同一の通信方式の同種のセンサノード70が複数存在している場合には、これらのセンサノード70をまとめて、1つの性能レベルテーブル34を策定するようにしてもよい。また、例えば、無線通信状況等は、平日や休日、日中や夜間などによっても変化するため、曜日や時間ごとに性能レベルテーブル34を策定するようにしてもよい。また、収集可能な性能データすべてについて性能レベルを策定してもよいが、取得コマンド、サンプリング間隔、データ送信間隔を調整するために必要な性能データのみに限定して、性能レベルテーブル34を策定するようにしてもよい。
【0044】
性能レベルテーブル策定部15は、例えば、性能値の平均値や最頻値を基準にレベル範囲「良」、「悪」や「普通」を策定することができる。また、性能レベルテーブル策定部15は、性能値の正規分布からレベル範囲「良」、「悪」や「普通」を策定することとしてもよい。例えば、図8(b)に示すように、正規分布の端10%を「悪」、その他を「良」としてもよいし、中心80%を「普通」とし、「普通」の両隣を「良」、「悪」としてもよい。
【0045】
なお、性能レベルテーブル策定部15による性能レベルテーブル34の更新処理は、新たに性能値が性能値DB30に登録されるたびに行ってもよいし、一定時間(例えば1時間)毎に行ってもよい。また、性能レベルテーブル策定部15は、異常判定部14によって異常が有ると判定されたタイミングで性能レベルテーブル34の更新処理を実行することとしてもよい。
【0046】
(性能レベルテーブル策定部15の処理)
ここで、性能レベルテーブル策定部15の処理について、図9のフローチャートに沿って詳細に説明する。図9の処理は、前述したような更新処理のタイミングで実行される処理である。なお、図9の説明では、各性能データ(性能値)の出現範囲を「良」レベルと「悪」レベルの2つのレベル範囲に分ける場合を例にとり説明する。
【0047】
図9の処理では、まず、ステップS150において、性能レベルテーブル策定部15が、性能値DB30から各性能データ(直近X個の性能値)を取得する。次いで、ステップS152では、性能レベルテーブル策定部15が、各性能データを正規分布化する(図8(b)参照)。
【0048】
次いで、ステップS154では、性能レベルテーブル策定部15が、各性能データの正規分布から「悪」レベルと「良」レベルに区分けする閾値を算出する。次いで、ステップS156では、性能レベルテーブル策定部15が、算出した閾値が既に性能レベルテーブル34に登録されているか否か(すなわち、算出した閾値を格納する欄が空でないか否か)を判断する。このステップS156の判断が否定された場合には、ステップS158に移行し、性能レベルテーブル策定部15は、ステップS154で算出した閾値を性能レベルテーブル34に登録する。その後は、図9の全処理を終了する。
【0049】
一方、ステップS156の判断が肯定された場合には、ステップS160に移行し、性能レベルテーブル策定部15は、新たに算出された閾値と登録済みの閾値との差分が所定値(δ)以上であるか否かを判断する。このステップS160の判断が肯定された場合、すなわち、新たに算出された閾値と登録済みの閾値との差分が極端に大きい場合には、新たに算出された閾値の信頼性が低いと考えられるため、ステップS162に移行し、性能レベルテーブル策定部15は、性能データをより多く取得し、再度閾値を算出する。その後は、ステップS160に戻る。
【0050】
一方、ステップS160の判断が否定された場合には、ステップS164に移行し、性能レベルテーブル策定部15が、新たに算出された閾値と登録済み閾値の平均値で、性能レベルテーブル34の閾値を更新する。その後は、図9の全処理を終了する。
【0051】
性能レベルテーブル策定部15は、以上のような処理を実行することで、性能レベルテーブル34の閾値を適宜更新することが可能となっている。
【0052】
図3に戻り、データ取得方式決定部16は、異常判定部14から受信した異常の有無と、性能値DB30から取得した最新の性能データ(性能値)とを取得し、性能レベルテーブル34と、取得方式テーブル36とを参照して、異常有無と性能データ(性能値)とに応じたデータ取得方式を決定する。ここで、取得方式テーブル36は、図10に示すようなデータ構造を有する。なお、取得方式テーブル36の「性能値」の各項目は、性能レベルDB34の「性能値」の各項目と一致している。
【0053】
図10に示すように、取得方式テーブル36には、異常の「有」、「無」、性能レベルの「良」、「悪」に対応して、取得コマンド、サンプリング間隔、データ送信間隔が予め登録されている。以下、取得方式テーブル36について詳細に説明する。
【0054】
(1)異常が「無」で、性能レベルが「良」のとき
性能データを取得するための取得コマンドは、パケットサイズが大きいが詳細情報が取得できるコマンド(取得コマンドA,C,E)とする。
サンプリング間隔は、悪化傾向が判定できる程度に、間隔を長めとする(例えば、サンプリング間隔:1s)。
データ送信間隔は、通信負荷をあまり上げない程度に頻繁な間隔とする(例えば、データ送信間隔:1s)。
【0055】
(2)異常が「無」で、性能レベルが「悪」のとき
性能データを取得するための取得コマンドは、情報としての精度が下がるが障害が判定できる程度の情報が取得できるコマンド(取得コマンドB,D,E)にして、パケットサイズを小さくし、通信負荷を下げる。
サンプリング間隔は、障害が判定できる程度にするため、(1)の場合よりも間隔を短くする(例えば、サンプリング間隔:500ms又は100ms)。なお、これにより、センサノード70やゲートウェイ10の負荷は上がる。
データ送信間隔は、通信負荷をあまり上げず、かつ判定タイミングが遅れない程度まで伸ばし(例えば、データ送信間隔:5s又は1s)、通信負荷を下げる。
【0056】
(3)異常が「有」で、性能レベルが「良」のとき
(2)の場合と同様とする。
【0057】
(4)異常が「有」で、性能レベルが「悪」のとき
性能データを取得するための取得コマンドは、情報としての精度が下がるが障害が判定できる程度の情報を取得できるコマンド(取得コマンドB,D,E)にして、パケットサイズを小さくし、通信負荷を下げる。
サンプリング間隔は、障害が判定できる程度にするため、間隔を短くする(例えば、サンプリング間隔:500ms又は100ms)。なお、これにより、センサノード70やゲートウェイ10の負荷は上がる。
データ送信間隔は、即座に障害が判定できる程度まで短くする(例えば、データ送信間隔:1s)。なお、これにより、通信負荷は上がる。
【0058】
なお、前述のように、通信性能データには、何らかの通信パケットを送受信しないと取得できないデータも含まれるため、図10の取得方式テーブル36には、サンプリングコマンドも格納されている。なお、サンプリングコマンドについても、(1)の場合には、パケットサイズが大きいが詳細情報が取得できるコマンド(サンプリングコマンドX)であり、(2)〜(4)の場合には、情報としての精度が下がるが障害が判定できる程度の情報を取得できるコマンド(サンプリングコマンドY)となっている。
【0059】
ここで、図10の取得方式テーブル36において、カテゴリ「ハードウェア性能」の性能データについては、1つのコマンドで、複数の性能データを取得することが可能である。したがって、例えば、CPU負荷は性能レベルが「悪」で、メモリ使用率等他の性能レベルが「良」の場合のように、1つでも「悪」レベルがある場合には、ハードウェア性能レベルを「悪」と判定してもよい。あるいは、各性能レベルの平均を求め、求めた平均を性能レベルとして用いてもよい。
【0060】
図3に戻り、障害判定部17は、異常判定部14から異常が発生したことの通知を受信すると、異常発生したセンサノード70において計測された直近データ(タイムスタンプが異常判定の時刻から近いデータ)を性能値DB30から1個以上(X個)取得する。そして障害判定部17は、取得したデータを分析し、障害内容(障害が発生したセンサノード70のノードID、障害発生日時、障害内容)を特定し、特定した障害内容を判定結果通知部18に通知する。
【0061】
ここで、直近データをX個取得する場合、異常発生と判定したデータのタイムスタンプの直前X個を取得してもよいし、異常発生と判定したデータのタイムスタンプの前後X個を取得してもよい。
【0062】
また、データが変化する周期や変化量等に基づいて個数Xを変更するようにしてもよい。たとえば、通信性能を示す性能データの場合はアトランダムに大きく変化するため、個数Xを大きく(例えばX=50)し、ハードウェアやソフトウェアの性能を示す性能データの場合は線形に変化することが多いので個数Xを小さく(例えばX=10)してもよい。
【0063】
なお、障害判定部17による判定手法としては、例えば、平均値、中央値、分散値等の特徴量の比較や、特徴量と閾値との比較、クラスタ分析やトレンド分析、正常時の学習パターンやクラスタとの比較等を利用することができる。
【0064】
判定結果通知部18は、障害判定部17から受信した障害内容(ノードID、障害発生日時、障害内容)をユーザ端末60に通知する。なお、判定結果通知部18は、ユーザ端末60に限らず、システム運用アプリ、見える化アプリ、システム管理者が利用する端末に対して、判定結果を通知することとしてもよい。
【0065】
本第1の実施形態においては、性能レベルテーブル策定部15によって適宜更新される性能レベルテーブル34に基づいて、データ取得方式決定部16が性能値の性能レベルを決定し、決定した性能レベルと、異常判定部14の判定結果(異常発生有無)と、に基づいて、データ取得方式決定部16がデータ取得方式を決定する。そして、性能値取得部12及びセンサ計測値取得部13は、決定されたデータ取得方式に基づいて、性能値やセンサ計測値を取得するようになっている。
【0066】
以上の説明からわかるように、本実施形態では、性能値取得部12とセンサ計測値取得部13とにより、データ取得方式に従って性能値やセンサ計測値を取得するデータ取得部としての機能が実現されている。また、本実施形態では、障害判定部17と判定結果通知部18とにより、障害を判定し、出力する出力部としての機能が実現されている。
【0067】
以上、詳細に説明したように、本第1の実施形態によると、性能値取得部12及びセンサ計測値取得部13は、データ取得方式決定部16が決定したデータ取得方式に従って、センサノード70で計測されたセンサ計測値及び性能値を取得し、異常判定部14は、センサ計測値や性能値に基づいて、異常発生の有無を判定する。また、性能レベルテーブル策定部15は、性能値の出現範囲を、性能値の良否に応じて複数のレベル範囲に適宜区分けして性能レベルテーブル34を策定し、データ取得方式決定部16は、直近の性能値が含まれるレベル範囲と、異常発生有無との組み合わせに基づいて、取得方式テーブル36からデータ取得方式を決定する。これにより、本第1の実施形態では、実際に取得された性能値に基づいて適宜策定される性能レベルテーブル34を用い、直近の性能値と異常有無とに応じて、データ取得方式(取得コマンド、サンプリング間隔、データ送信間隔)を最適化することができる。これにより、時々刻々と変化するIoT環境において、ハードウェアや通信の負荷をあまり上げることなく、高精度に性能の悪化や障害の検知及び判定が可能となる。
【0068】
また、本第1の実施形態のゲートウェイ10は、センサノード70とゲートウェイ10との間の通信方式や通信機能によらず適用可能であるため、様々な現場において展開することが可能である。
【0069】
なお、上記第1の実施形態では、ゲートウェイ10が有する各機能や各DB、各テーブルを、ネットワーク80に接続されたサーバ(クラウド)が有していてもよい。
【0070】
なお、上記第1の実施形態では、異常判定部14が、センサ計測値及び性能値に基づいて異常の有無を判定する場合について説明したが、これに限らず、センサ計測値と性能値のいずれかに基づいて異常の有無を判定してもよい。
【0071】
≪第2の実施形態≫
以下、第2の実施形態について、図11に基づいて説明する。本第2の実施形態では、データ取得方式決定部16がデータ取得方式(取得コマンド、サンプリング間隔、データ送信間隔)を決定した後、決定後のデータ取得方式を適用した後の各種性能データ(ハードウェア、ソフトウェア、通信性能)の性能値をデータ取得方式決定部16が監視し、性能レベルに変化があった場合に、サンプリング間隔とデータ送信間隔のいずれかを調整する。
【0072】
図11は、本第2の実施形態における、データ取得方式決定部16の処理を示すフローチャートである。図11の処理では、まず、ステップS200において、データ取得方式決定部16が、データ取得方式を新たに決定するまで待機する。データ取得方式を新たに決定すると、ステップS202に移行し、データ取得方式決定部16は、性能値取得部12やセンサ計測値取得部13にデータ取得方式を通知する。
【0073】
次いで、ステップS204では、データ取得方式決定部16は、データ取得方式を通知した後に性能値取得部12が取得した性能データ(性能値)を性能値DB30から取得する。次いで、ステップS206では、データ取得方式決定部16が、データ取得方式を通知する前の性能レベルと通知した後の性能レベルとを比較する。
【0074】
次いで、ステップS208では、データ取得方式決定部16が、データ取得方式を通知する前の性能レベルと通知した後の性能レベルとの間に変化があるか否かを判断する。例えば、データ取得方式を通知する前が「良」で、データ取得方式を通知した後の性能レベルが「悪」であれば、変化があったと判断する。ステップS208の判断が否定された場合(変化がなかった場合)には、データ取得方式決定部16は、ステップS200に戻る。すなわち、性能レベルの変化がなかった場合には、データ取得方式(サンプリング間隔、データ送信間隔)は変更しない。一方、ステップS208の判断が肯定された場合(変化があった場合)には、ステップS210に移行する。
【0075】
ステップS210に移行すると、データ取得方式決定部16は、変化が悪化であったか否かを判断する。このステップS210の判断が否定された場合(良化であった場合)には、ステップS200に戻る。すなわち、性能レベルが良くなった場合には、データ取得方式(サンプリング間隔、データ送信間隔)は変更しない。一方、ステップS210の判断が肯定された場合(悪化であった場合)には、ステップS212に移行する。
【0076】
ステップS212に移行すると、データ取得方式決定部16が、悪化した性能データのカテゴリが通信性能か否かを判断する。このステップS212の判断が否定された場合、ステップS214に移行し、データ取得方式決定部16は、サンプリング間隔を延ばす。すなわち、ハードウェア性能もしくはソフトウェア性能が悪化した場合には、サンプリング間隔を延ばすことにより、センサノード70やゲートウェイ10の負荷を軽減する。なお、サンプリング間隔は、一定時間(例えば10ms)ずつ延ばしてもよいし、変更前のサンプリング間隔と変更後のサンプリング間隔の平均に設定するようにしてもよい。その後は、ステップS202に戻り、サンプリング間隔を延ばした後のデータ取得方式を性能値取得部12やセンサ計測値取得部13に通知し、ステップS204以降の処理を実行する。
【0077】
一方、ステップS212の判断が肯定された場合には、ステップS216に移行し、データ取得方式決定部16は、サンプリングコマンドの送信間隔を延ばす。すなわち、通信性能が悪化した場合には、サンプリングコマンドの送信間隔を延ばすことにより、通信負荷を軽減する。その後は、ステップS202に戻り、サンプリングコマンドの送信間隔を延ばした後のデータ取得方式を性能値取得部12やセンサ計測値取得部13に通知し、ステップS204以降の処理を実行する。
【0078】
以上、説明したように、本第2の実施形態によると、データ取得方式決定部16は、データ取得方式を変更した後の性能値の性能レベルが変更前から悪化した場合に、データ取得方式の少なくとも1つを調整する(S214、S216)。これにより、IoT環境に合わせて、ハードウェアや通信の負荷をより軽減することが可能となる。
【0079】
なお、上記第2の実施形態では、性能レベルが良化した場合には、データ取得方式を調整しない場合について説明したが、これに限られるものではない。例えば、性能レベルが良化した場合に、サンプリング間隔及びサンプリングコマンドの送信間隔を短くするようにしてもよい。
【0080】
≪第3の実施形態≫
以下、第3の実施形態について、図12に基づいて説明する。本第3の実施形態では、性能レベルテーブル策定部15において、異常判定部14から異常が有りと通知された際の性能値の範囲を「悪」レベルと策定する。具体的には、本第3の実施形態では、第1の実施形態の図9の処理に代えて、図12の処理を実行する。
【0081】
図12の処理では、まず、ステップS300において、性能レベルテーブル策定部15は、異常判定部14から異常の有無を受信する。次いで、ステップS302では、性能レベルテーブル策定部15は、異常ありか否かを判断する。ステップS302の判断が否定された場合には、ステップS300に戻るが、肯定された場合には、ステップS304に移行する。
【0082】
ステップS304に移行すると、性能レベルテーブル策定部15は、性能値DB30から異常ありの直近X個(1個以上)の性能値を取得する。なお、ステップS304では、性能レベルテーブル策定部15は、異常ありと判定された時点を含む所定期間内に性能値取得部12が取得した性能データの値(性能値)を取得しているといえる。次いで、ステップS306では、性能レベルテーブル策定部15が、取得した性能値を正規分布化する。
【0083】
次いで、ステップS308では、性能レベルテーブル策定部15は、正規分布において、異常ありのときの性能値の範囲を「悪」とみなして、閾値を算出する。次いで、ステップS310では、性能レベルテーブル策定部15は、算出した閾値と既に登録されている閾値とを比較し、良い方の値を性能レベルテーブル34に登録する。このように、良い方の値を性能レベルテーブル34に登録することで、過去に異常ありとなった際の性能値も含めて「悪」レベルにすることができる。その後は、ステップS300に戻る。
【0084】
以上、説明したように、本第3の実施形態によると、性能レベルテーブル策定部15は、異常判定部14により異常ありと判定された時点を含む所定期間内に性能値取得部12が取得した性能データの値(性能値)に基づいて、性能レベルテーブル34を策定する。これにより、実際に異常ありと判定された時点を含む所定期間内の性能値(X個の性能値)を「悪」レベルに属する性能値として扱い、閾値を決定するので、性能レベルテーブル34を適切に策定できる。また、データ取得方式決定部16は、上記のようにして策定された性能レベルテーブル34を用いることで、データ取得方式を適切に決定することができる。
【0085】
なお、上記第3の実施形態では、ステップS304で取得された性能値の最大値又は最小値を閾値に設定してもよい。
【0086】
≪第4の実施形態≫
次に、第4の実施形態について、図13図14に基づいて説明する。本第4の実施形態では、性能値の正規分布において「悪」レベルの占める割合が所定割合以上の場合に、性能レベルテーブル策定部15が、異常発生回数に基づいて「悪」レベルの範囲を調整する。
【0087】
図13には、第4の実施形態における性能レベルテーブル策定部15の処理がフローチャートにて示されている。なお、ステップS400〜S410までの処理は、図12のステップS300〜310までの処理と同様となっている。
【0088】
ステップS400〜S410の処理が終了し、新たな閾値が性能レベルテーブル34に登録されると、ステップS412に移行し、性能レベルテーブル策定部15は、正規分布において、「悪」レベルの占める割合を算出する。
【0089】
次いで、ステップS414では、性能レベルテーブル策定部15が、「悪」レベルの占める割合が所定割合(例えば15%)以上であるか否かを判断する。このステップS414の判断が否定された場合(所定割合未満であった場合)には、なにもせずに、ステップS400に戻る。一方、ステップS414の判断が肯定された場合(所定割合以上であった場合)には、ステップS416に移行する。
【0090】
ステップS416に移行すると、性能レベルテーブル策定部15は、異常ありのときの性能値と、異常発生回数を算出する。この場合、例えば、図14に示すような性能値と異常発生回数の関係を得ることができる。
【0091】
次いで、ステップS418では、性能レベルテーブル策定部15は、異常発生回数が一定数を超えた値を「悪」レベルの閾値とし、正規分布における「悪」レベルの占める割合を算出する。例えば、性能レベルテーブル策定部15は、図14において、異常発生回数を右側(大きい方)から見ていき、一定数(5回とする)を超えたときの値を「悪」レベルの閾値(図14参照)とする。そして、閾値よりも小さい範囲が、正規分布において占める割合を算出する。
【0092】
次いで、ステップS420では、正規分布における「悪」レベルの占める割合が所定割合(例えば15%)以上であるか否かを判断する。このステップS420の判断が肯定された場合には、性能レベルテーブル策定部15は、ステップS422に移行し、一定数を変更(例えば5から6に増加)して、ステップS416に戻る。
【0093】
一方、ステップS420の判断が否定された場合、すなわち、正規分布における「悪」レベルの占める割合が所定割合(例えば15%)未満である場合には、性能レベルテーブル策定部15は、ステップS424に移行する。ステップS424では、性能レベルテーブル策定部15は、「悪」レベルの閾値を性能レベルテーブル34に登録する。なお、ステップS424の処理が終了した後は、ステップS400に戻る。
【0094】
以上説明したように、本第4の実施形態によると、ステップS400〜S410において求めた閾値(「悪」レベルの閾値)では、正規分布において「悪」レベルが占める割合が所定割合以上になる場合に、異常発生回数に基づいて「悪」レベルを設定しなおすこととしている。これにより、データ取得方式決定部16は、適切な閾値が設定された性能レベルテーブル34に基づいてデータ取得方式を決定することが可能である。
【0095】
なお、上記第4の実施形態では、ステップS400〜S410が、図12のステップS300〜S310と同様である場合について説明したが、これに限られるものではない。例えば、ステップS400〜S410に代えて、図9の処理(第1の実施形態の処理)を実行することとしてもよい。
【0096】
≪第5の実施形態≫
次に、第5の実施形態について、図15に基づいて説明する。
【0097】
本第5の実施形態では、データ取得方式決定部16が、運用管理アプリ等に対してユーザが入力したサンプリング間隔やデータ送信間隔を受け付け、受け付けた間隔に基づいて、データ取得方式(取得コマンド、サンプリング間隔、データ送信間隔)を調整する。
【0098】
図15には、運用管理アプリ等でユーザが入力に用いる入力画面の一例が示されている。図15の入力画面には、ゲートウェイの種別や通信種別、センサノードの種別を入力することができる。また、入力画面にはサンプリング間隔及びデータ送信間隔を入力することができる。データ取得方式決定部16は、図15の入力画面に対してユーザが入力したサンプリング間隔やデータ送信間隔を受け付ける。そして、データ取得方式決定部16は、受け付けたサンプリング間隔を上限値として、性能レベル毎のサンプリング間隔を策定する。また、データ取得方式決定部16は、受け付けたデータ送信間隔を上限値として、性能レベル毎のデータ送信間隔を策定する。
【0099】
以下、サンプリング間隔について説明する。
【0100】
(1)異常が「無」で、性能レベルが「良」のとき
悪化傾向が判定できる程度でよいため、上限値である受け付けたサンプリング間隔を採用する。ただし、受け付けたサンプリング間隔で悪化傾向が判定できない場合は、悪化傾向が判定できる程度にサンプリング間隔を短くする。
【0101】
(2)異常が「無」で、性能レベルが「悪」のとき
障害が判定できる程度の性能値が必要であるため、受け付けたサンプリング間隔より一定時間(例えば100ms)だけ短い時間を採用する。ただし、受け付けたサンプリング間隔で障害を十分判定できる場合は、受け付けたサンプリング間隔を採用する。あるいは、受け付けたサンプリング間隔より一定時間短くしても障害が判定できない場合は、障害が判定できる程度にサンプリング間隔を短くする。
【0102】
(3)異常が「有」で、性能レベルが「良」のとき
上記(2)の場合と同様とする。
【0103】
(4)異常が「有」で、性能レベルが「悪」のとき
上記(2)の場合と同様とする。
【0104】
なお、(1)〜(4)のいずれの場合においても、受け付けたサンプリング間隔で各種性能データを収集し、異常が有りと判定された際に、悪化傾向の判定又は障害の判定ができるか否かに基づいて、サンプリング間隔を調整することになる。
【0105】
次に、データ送信間隔について説明する。
【0106】
(1)異常が「無」で、性能レベルが「良」のとき
通信負荷をあまり上げない程度までデータ送信間隔を短くする。ただし、受け付けたデータ送信間隔で通信性能が悪化した場合は、通信性能が悪化しない程度に長くしたままの値を登録する。
【0107】
(2)異常が「無」で、性能レベルが「悪」のとき
通信負荷をあまり上げずかつ判定タイミングが遅れない程度であればよいため、受け付けたデータ送信間隔を採用する。
【0108】
(3)異常が「有」で、性能レベルが「良」のとき
上記(2)の場合と同様とする。
【0109】
(4)異常が「有」で、性能レベルが「悪」のとき
即座に障害を判定できる程度までデータ送信間隔を短くする必要があるため、受け付けたデータ送信間隔より一定時間(例えば100ms)短い間隔をデータ送信間隔として採用する。
【0110】
なお、上記(1)〜(4)のいずれの場合においても、受け付けたデータ送信間隔に変更後、通信性能についての性能値を監視し、性能レベルが悪化するか否かで、データ送信間隔を調整することになる。
【0111】
なお、本第5の実施形態では、取得コマンドと、サンプリングコマンドについては、基本的には、ユーザは入力できないものとする。ただし、サンプリング間隔によっては使えない(応答時間がサンプリング間隔を超える)コマンドも存在するので、そのような場合には、サンプリング間隔に合うコマンドに変更するようにする。なお、サンプリング間隔に合うコマンドが存在しない場合には、応答時間に合わせて、サンプリング間隔を延ばすようにすればよい。
【0112】
上記のような調整において、受け付けたサンプリング間隔やデータ送信間隔を採用できなかった場合には、データ取得方式決定部16は、その旨と、登録できなかった理由をユーザに対して通知する。
【0113】
以上、説明したように、本第5の実施形態によると、データ取得方式決定部16は、ユーザが希望するサンプリング間隔とデータ送信間隔の入力を受け付け、受け付けたサンプリング間隔とデータ送信間隔を上限として、実際に用いるサンプリング間隔とデータ送信間隔を決定する。これにより、ユーザの希望を考慮したうえで、適切なサンプリング間隔とデータ送信間隔を決定することができる。
【0114】
なお、上記第5の実施形態は、第1〜第4の実施形態のいずれとも組み合わせることができる。
【0115】
≪第6の実施形態≫
次に、第6の実施形態について、図16に基づいて説明する。本第6の実施形態は、データ取得方式決定部16が、性能データそれぞれが補間可能なデータか否かを適宜判定し、補間可能な場合には、サンプリング間隔を調整する。
【0116】
図16は、第6の実施形態に係るデータ取得方式決定部16の処理を示すフローチャートである。図16の処理は、性能値が性能値DB30に新規登録されるたびに行われてもよいし、一定時間(例えば1時間)毎に行われてもよい。
【0117】
図16の処理では、まず、ステップS600において、データ取得方式決定部16は、間引き率を初期値(=0)に設定する。次いで、ステップS602では、データ取得方式決定部16は、性能値DB30から各性能データ(直近X個の性能値)を取得する。
【0118】
次いで、ステップS604では、データ取得方式決定部16は、各性能データ(直近X個の性能値)の近似曲線を求め、決定係数を算出する。近似曲線としては、例えば、線形近似曲線、対数近似曲線、多項式近似曲線等を用いることができる。決定係数は、R−2乗値と呼ばれる数値であり、あてはまりの良さを示す係数である。決定係数は、0から1の間の数値であり、1に近いほどあてはまりが良いことを示す。
【0119】
次いで、ステップS606では、データ取得方式決定部16は、決定係数>閾値となる性能データがあるか否かを判断する。この場合の閾値は、例えば、0.9とすることができる。このステップS606の判断が肯定された場合には、ステップS610に移行し、データ取得方式決定部16は、補間可能な性能データとする。そして、次のステップS612では、データ取得方式決定部16は、新たな間引き率を定め(間引き率を引き上げ)、保存する。なお、新たな間引き率は、ステップS612が行われる度に、1/2→1/3→1/4→…と、定めるようにしてもよいし、その他の方法で新たな間引き率を定めるようにしてもよい。その後は、ステップS602に戻る。なお、間引き率が例えば1/4になった場合、サンプリング間隔は、データ取得方式決定部16が決定したサンプリング間隔の4倍に設定される。
【0120】
一方、ステップS606の判断が否定された場合、すなわち、補間ができない場合には、ステップS608に移行し、データ取得方式決定部16は、元の間引き率(初期値=0)に戻す。なお、ステップS608では、前回ステップS612を行った直前の間引き率に戻すようにしてもよい。その後は、ステップS602に戻る。
【0121】
以上、説明したように、本第6の実施形態によると、データ取得方式決定部16は、直近X個の性能値に基づいて、補間可能なデータであるかを判定し(S606)、補間可能と判定された場合には性能値のサンプリング間隔を長く調整する(S612)。このように、補間可能な場合には、サンプリング間隔を長くとり、なるべく少ない性能値を取得して、取得した性能値を補間するようにしているので、ハードウェアや通信の負荷を軽減することが可能となる。
【0122】
なお、上記第6の実施形態は、上述した第1〜第5の実施形態と組み合わせることが可能である。
【0123】
≪第7の実施形態≫
次に、第7の実施形態について、図17に基づいて説明する。
【0124】
図17には、本第7の実施形態のデータ取得方式決定部16による処理がフローチャートにて示されている。図17の処理では、まず、ステップS700において、データ取得方式決定部16は、異常判定部14から、異常ありのセンサノード70の性能データのデータ取得方式を決定する。なお、この場合のデータ取得方式決定方法は、上述した第1の実施形態と同様である。
【0125】
次いで、ステップS702では、データ取得方式決定部16は、データ取得方式を決定した性能データと同じカテゴリの他の性能データのデータ取得方式も同様に(合わせて)決定する。例えば、ステップS700において、あるセンサノード(第1のセンサノードとする)のカテゴリ「通信性能」に属する性能データ(例えばRSSI)のデータ取得方式を決定した場合には、データ取得方式決定部16は、第1のセンサノードのカテゴリ「通信性能」に属するRSSI以外の性能データ(例えばLQ、応答時間など)のデータ取得方式をRSSIのデータ取得方式と同一のデータ取得方式に決定する。
【0126】
次いで、ステップS704では、データ取得方式決定部16は、性能データのカテゴリが通信性能か否かを判断する。このステップS704の判断が肯定された場合、ステップS706に移行し、否定された場合、ステップS708に移行する。
【0127】
ステップS706に移行した場合(カテゴリが通信性能の場合)、データ取得方式決定部16は、センサノードが接続しているゲートウェイや無線中継器から同時に接続している他のセンサノードIDを取得する。その後は、ステップS710に移行する。一方、ステップS708に移行した場合(カテゴリが通信性能以外の場合)、データ取得方式決定部16は、不図示のセンサノード管理情報から同時に接続している同スペックの他のセンサノードIDを取得する。その後は、ステップS710に移行する。
【0128】
ステップS706又はS708を経て、ステップS710に移行すると、データ取得方式決定部16は、ステップS706又はS708で取得したセンサノードIDの同じカテゴリの性能データのデータ取得方式も同様に(合わせて)決定する。例えば、ステップS700において、第1のセンサノードのカテゴリ「通信性能」に属するRSSIのデータ取得方式を決定したとする。この場合、データ取得方式決定部16は、第1のセンサノードと同時に接続されている第2のセンサノードのカテゴリ「通信性能」の性能データのデータ取得方式を、第1のセンサノードのデータ取得方式と同一のデータ取得方式に決定する。また、例えば、ステップS700において、第1のセンサノードのカテゴリ「ハードウェア性能」に属する性能データのデータ取得方式を決定したとする。この場合、データ取得方式決定部16は、第1のセンサノードと同スペックの第2のセンサノードのカテゴリ「ハードウェア性能」の性能データのデータ取得方式を第1のセンサノードのデータ取得方式と同一のデータ取得方式に決定する。
【0129】
以上のようにすることで、異常のあったセンサノードにおいて決定したデータ取得方式を、同じカテゴリの性能データのデータ取得方式や、異常のあったセンサノードと同様の異常が発生する可能性のあるセンサノードにおけるデータ取得方式にも流用するので、IoT環境に合わせて、より高精度に性能の悪化や障害の検知及び判定が可能となる。
【0130】
なお、本第7の実施形態は、上述した第1〜第6の実施形態の少なくとも1つと組み合わせることが可能である。
【0131】
なお、上記第1〜第7の実施形態では、センサノード70が下水に関するデータを計測する場合について説明したが、これに限らず、センサノード70は、その他の様々なデータを計測することとしてもよい。
【0132】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
【0133】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0134】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0135】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0136】
なお、以上の第1〜第7の実施形態の説明に関して、更に以下の付記を開示する。
(付記1) センサノードを用いたデータ取得についての取得方式を決定するデータ取得方式決定部と、
前記データ取得方式決定部が決定した取得方式に従って、前記センサノードで計測された計測データ及び前記センサノードの性能に関連する性能データを取得するデータ取得部と、
前記データ取得部が取得した前記計測データ及び/又は前記性能データに基づいて、異常発生の有無を判定する異常判定部と、
前記データ取得部が取得した前記性能データに基づいて、前記性能データのデータ値の出現範囲をデータ値の良否の度合ごとに複数のレベル範囲に区分けし、記憶部に記憶する区分け部と、を備え、
前記データ取得方式決定部は、前記データ取得部が取得した前記性能データのデータ値が含まれるレベル範囲を前記記憶部を参照して決定し、決定したレベル範囲と前記異常発生の有無との組み合わせに基づいて、前記取得方式を決定する、ことを特徴とする情報処理装置。
(付記2) 前記取得方式は、前記センサノードにおいて前記計測データ及び/又は前記性能データを取得するためのコマンド、前記センサノードにおける前記計測データ及び/又は前記性能データのサンプリング間隔、前記センサノードからの前記計測データ及び/又は性能データの送信間隔、の少なくとも1つを含むことを特徴とする付記1に記載の情報処理装置。
(付記3) 前記区分け部は、予め定められたタイミングで前記区分けを繰り返し実行することを特徴とする付記1又は2に記載の情報処理装置。
(付記4) 前記異常判定部の判定結果に基づいて、障害を判定し、出力する出力部を更に備える付記1〜3のいずれかに記載の情報処理装置。
(付記5) 前記データ取得方式決定部は、決定した取得方式を前記データ取得部が用いる前と用いた後の前記性能データのデータ値を取得し、取得した前記データ値が含まれるレベル範囲の異同に基づいて、前記取得方式を調整する、ことを特徴とする付記1〜4のいずれかに記載の情報処理装置。
(付記6) 前記データ取得方式決定部は、決定した取得方式を前記データ取得部が用いた後の前記性能データのデータ値が含まれるレベル範囲が、用いる前の前記性能データのデータ値が含まれるレベル範囲よりも悪化した場合に、前記取得方式を調整することを特徴とする付記5に記載の情報処理装置。
(付記7) 前記区分け部は、前記異常判定部により異常ありと判定された時点を含む所定期間内に前記データ取得部が取得した前記性能データのデータ値に基づいて区分けを実行する、ことを特徴とする付記1〜6のいずれかに記載の情報処理装置。
(付記8) 前記区分け部は、前記異常判定部により異常ありと判定されたときの性能データのデータ値を取得し、各データ値の取得数に基づいて、区分けを実行することを特徴とする付記1〜7のいずれかに記載の情報処理装置。
(付記9) 前記データ取得方式決定部は、ユーザが希望する取得方式の入力を受け付け、前記ユーザが希望する取得方式に基づいて、前記センサノードを用いたデータ取得についての取得方式を決定する、ことを特徴とする付記1〜8のいずれかに記載の情報処理装置。
(付記10) 前記取得方式に前記センサノードにおける前記性能データのサンプリング間隔が含まれる場合には、
前記データ取得方式決定部は、前記性能データが補間可能なデータであるかを判定し、補間可能な場合に前記性能データのサンプリング間隔を長く調整する、ことを特徴とする付記1〜9のいずれかに記載の情報処理装置。
(付記11) 前記データ取得方式決定部は、所定期間内に取得された前記性能データのデータ値の近似曲線を求め、該近似曲線の決定係数が閾値以上か否かに基づいて、前記性能データが補間可能なデータであるかを判定する、ことを特徴とする付記10に記載の情報処理装置。
(付記12) 前記データ取得方式決定部は、第1のセンサノードの第1の性能データの取得方式を決定した場合に、前記第1のセンサノードと関連する機器の前記第1の性能データの取得方式及び/又は前記第1のセンサノードの前記第1の性能データに関連する第2の性能データの取得方式を、前記第1のセンサノードの前記第1の性能データの取得方式と同一の取得方式に決定する、ことを特徴とする付記1〜11のいずれかに記載の情報処理装置。
(付記13) センサノードを用いたデータ取得についての取得方式を決定し、
決定した前記取得方式に従って、前記センサノードで計測された計測データ及び前記センサノードの性能に関連する性能データを取得し、
取得した前記計測データ及び/又は前記性能データに基づいて、異常発生の有無を判定し、
取得した前記性能データに基づいて、前記性能データのデータ値の出現範囲をデータ値の良否の度合ごとに複数のレベル範囲に区分けし、記憶部に記憶する、処理をコンピュータが実行し、
前記取得方式を決定する処理では、取得した前記性能データのデータ値が含まれるレベル範囲を前記記憶部を参照して決定し、決定したレベル範囲と前記異常発生の有無との組み合わせに基づいて、前記取得方式を決定する、ことを特徴とする情報処理方法。
(付記14) センサノードを用いたデータ取得についての取得方式を決定し、
決定した前記取得方式に従って、前記センサノードで計測された計測データ及び前記センサノードの性能に関連する性能データを取得し、
取得した前記計測データ及び/又は前記性能データに基づいて、異常発生の有無を判定し、
取得した前記性能データに基づいて、前記性能データのデータ値の出現範囲をデータ値の良否の度合ごとに複数のレベル範囲に区分けし、記憶部に記憶する、処理をコンピュータに実行させ、
前記取得方式を決定する処理では、取得した前記性能データのデータ値が含まれるレベル範囲を前記記憶部を参照して決定し、決定したレベル範囲と前記異常発生の有無との組み合わせに基づいて、前記取得方式を決定する、ことを特徴とする情報処理プログラム。
【符号の説明】
【0137】
10 ゲートウェイ(情報処理装置)
12 性能値取得部(データ取得部の一部)
13 センサ計測値取得部(データ取得部の一部)
14 異常判定部
15 性能レベルテーブル策定部(区分け部)
16 データ取得方式決定部
17 障害判定部(出力部の一部)
18 判定結果通知部(出力部の一部)
34 性能レベルテーブル(記憶部)
70 センサノード
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17