【文献】
奥野 通貴, 伊藤 大輔, 宮本 啓生, 青木 秀貴, 對馬 雄次, 矢崎 武己,次世代クラウドシステムに向けた分散情報通信処理アーキテクチャに関する検討,電子情報通信学会技術研究報告 NS2009-162〜NS2009-260,日本,社団法人電子情報通信学会,2010年 2月25日,第109巻, 第448号,pp.241-246
【文献】
鹿野 裕明, 緒方 祐次, 高田 芽衣, 中代 浩樹, 山田 雅毅, 村中 延之,センサ情報高効率集約技術の提案と評価,電子情報通信学会技術研究報告 CS2009-73〜CS2009-136,日本,社団法人電子情報通信学会,2010年 2月22日,第109巻, 第436号,pp.47-52
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態を図面を参照しながら説明する。
本実施形態では建設機械など産業用車両に設置された多数のセンサからのデータ収集を、工事現場等に設定された拠点サーバと分散して実施する例を取り上げる。
図1は、システム全体の構成を示した図である。
工事現場等の拠点の内部で、車両110が複数台稼動している。本実施形態では、車両A、B、Cの3台が稼動しているとする。拠点の内部に拠点サーバ130が設置されており、WiFiネットワーク120にて車両110と接続されている。
車両110にはセンサ群111が取り付けられており、冷却水温度、エンジン回転数などのデータを取得できるようになっている。
【0012】
センサ群111で取得されたデータは、CANネットワーク112を通して、ゲートウェイ装置113(ゲートウェイデバイス)で集約される。ゲートウェイ装置113の構成は
図2で後述する。ゲートウェイ装置113は、集約されたデータを予め搭載された変換・加工ルールに従って変換・加工し、WiFi120を通じて拠点サーバ130に送信する。
【0013】
拠点サーバ130は、車両110から受け取ったデータを予め搭載された変換・加工ルールに従って変換・加工し、インターネット140を通して、M2Mサーバ150に送る。M2Mサーバ150は、ゲートウェイ装置113、拠点サーバ130に搭載されている変換・加工ルールを編集・配信する機能を持つと共に、ゲートウェイ装置113から送信されたデータを蓄積する機能を備えている。詳細な構成は
図4に示す。業務システム170では、M2Mサーバ
150に蓄積されたデータを使って例えばデータを地図と重ね合わせて可視化する等の業務支援機能を提供する。
【0014】
図2はゲートウェイ装置113の構成を示した図である。
ゲートウェイ装置のハードウェアとしては、CPU、RAM、フラッシュROM等の永続化ストレージおよびCANネットワーク112やWiFi120と通信するためのインタフェース装置から成り立っており、さらにLinux(登録商標)などのオペレーティングシステムが搭載されており、その上に
図2のようなソフトウェアおよびデータが存在している。
【0015】
データ取得手段210は、センサ群111からCANネットワーク112を通じてセンサデータを取得するものである。ここで、センサデータはセンサ群111から任意のタイミングでCANネットワーク112にブロードキャストされる。データフォーマットとしては、CAN IDとセンサデータのバイナリデータが連結されたものとなっている。データ取得手段210は、ブロードキャストされたデータを全て受信する。
変換・加工手段220は、データ取得手段211によって取得されたセンサデータをルール250に記載された変換・加工ルールに従ってデータを変換・加工するものである。
データアップ手段230は、変換・加工手段220によって変換・加工されたデータをWiFi120を通じて拠点サーバ130に送信するものである。
ルール取得手段240は、ルール250に格納される変換・加工ルールをM2Mサーバ
150から取得・更新するものである。
ルール250は、変換・加工手段220で使われる変換・加工ルールであり、詳細な構成は例を使って
図4で説明する。デバイス情報260には、デバイスを識別するデバイスIDおよび、デバイスのハードウェアをあらわす種別が予め格納されている。
【0016】
図3は、拠点サーバ130の構成を示した図である。
拠点サーバのハードウェアとしては、CPU、RAM、フラッシュROM等の永続化ストレージおよびWiFi120やインターネット
140と通信するためのインタフェース装置から成り立っており、さらにLinux(登録商標)などのオペレーティングシステムが搭載されており、その上に
図3のようなソフトウェアおよびデータが存在している。
データ取得手段310は、車両110からWiFi 120を通じて送信されるデータを取得するものである。
変換・加工手段320は、データ取得手段310によって取得されたセンサデータをルール350に記載された変換・加工ルールに従ってデータを変換・加工するものである。
データアップ手段330では、変換・加工手段
320によって変換・加工されたデータをインターネット140を通じてM2Mサーバ150に送信するものである。
ルール取得手段340は、ルール350に格納される変換・加工ルールをM2Mサーバ150から取得・更新するものである。
ルール350は、変換・加工手段220で使われる変換・加工ルールであり、詳細な構成は例を使って
図6で説明する。デバイス情報360には、デバイスを識別するデバイスIDおよび、デバイスのハードウェアをあらわす種別が予め格納されている。
【0017】
図4は、M2Mサーバ150の構成を示した図である。M2Mサーバのハードウェアとしては、CPU、RAM、HDDおよび社内ネットワーク160、インターネット140と通信するためのインタフェース装置から成り立っており、さらにLinux(登録商標)などのオペレーティングシステムが搭載されており、その上に
図4のようなソフトウェアおよびデータが存在している。
データ収集手段410は、拠点サーバ130から送信されるデータを受信し、センサデータテーブル440に保存するものである。センサデータテーブル440の構成は
図8で説明する。デバイス管理手段420は、拠点サーバ130や車両110の親子関係を管理するものである。本機能で使われるデータはデバイス管理テーブル450にて管理されている。デバイス管理テーブルの構成は
図7で説明する。
ルール編集・配信手段430は、ルール管理テーブル460で管理される変換・加工ルールを外部から社内ネットワーク160を通じて登録するものである。ルール管理テーブル460の構成は、
図9で説明する。
加工演算・計算リソーステーブル470は、ルール編集・配信手段430で使われるテーブルであり、構成は
図10で説明する。
【0018】
以上、
図2,3,4で示したゲートウェイ装置113、拠点サーバ130、M2Mサーバ
150がどのように実際に用いられるかについては、一連の処理例を用いて
図11で説明されるものである。以降の
図5から
図10ではデータ構造について説明する。
【0019】
図5は、ゲートウェイ装置113上の変換・加工手段220で用いられるルール250の例を示したものである。この実施例では、車両A、車両B、車両Cの全てのゲートウェイ装置において、本図と同じルールが格納されているとする。511〜525で示される表は変換ルールを表している。
511は、CANネットワーク112に流れるCAN IDを表している。512は対応するデータ種別、513はバイトオーダー、514,515はデータ位置、516は変換したいデータ型をあらわす。例えば、521は、CANネットワークに流れるデータのCAN IDが「AAA」である場合にマッチし、0バイト目から8バイト目のデータを「エンジン冷却水温度」として識別、リトルエンディアンで配置されているデータをint16型に変換する、というルールである。
522の例は、CANネットワーク112に流れるデータのCAN IDが「AAA」である場合にマッチし、8バイト目から16バイト目のデータを「エンジン回転数」として識別、リトルエンディアンで配置されているデータをuint16型に変換する、というルールである。
【0020】
541、544は、変換ルールに従って識別・変換されたデータを加工する加工ルールである。例えば、541は、変換ルールにより「エンジン冷却水温度」と識別・変換されたデータについての加工ルールが示されている。該当するデータの「600秒」の間の「最大値」を取得し、「1バイト」のデータ長で保存し、加工データID「D01」で識別する、という意味である。複雑な処理の例では、543のようにヒストグラムを取得する処理もある。543には、変換ルールにより「エンジン冷却水温度」として識別・変換されたデータについての加工ルールが示されている。「温度0度から20度幅、区間数5」の「ヒストグラム」を作成し、「15バイト」の領域に保存し、データID「D03」として識別する、という意味である。
544は、拠点サーバ130にて加工されるべきデータを表し、「エンジン回転数」として識別されたデータをそのまま拠点サーバ130に転送することを意味する。
【0021】
図6は、拠点サーバ130の中のルール350の例である。
図5の加工ルールと構成が異なる部分は列616のデバイスIDである。こちらは、対応するデバイスIDの車両から送信されてきたデータのみを加工対象とするということを意図したものである。
【0022】
図7は、デバイス管理テーブル450の構成を示した図である。
デバイスID711は、デバイス情報260およびデバイス情報360にて管理された情報を元にしている。親デバイス713は、デバイスの親子関係を管理している。
図7の例の親子関係は、M2Mサーバ150の下に拠点サーバ130が接続されており、その下に車両A,B,Cが接続されているという
図1で示された関係を元にしている。計算リソース714はCPU周波数やRAMの容量などから計算された計算力を定量化した数値である。
【0023】
図8はセンサデータテーブル440の構成である。拠点サーバ130を介してゲートウェイ装置113より送信されたデータが、時刻、デバイスID,加工データID、データの組で保存されている。具体的にどうデータが保存されるかは
図11の一連の処理の中で説明する。
【0024】
図9はルール管理テーブル460の構成である。911から922は、デバイスIDとそれに対応するゲートウェイデバイスもしくは拠点サーバ130に格納されている変換・加工ルールが格納されている。912には、前述の
図5、
図6で例示したような変換・加工ルールが例えばXMLのようなテキスト表現で格納されている。
【0025】
図10は、加工演算・ 計算リソーステーブル470の構成例である。
図5、
図6で用いられるような、加工演算がどの程度の計算リソースを要するかを、CPU時間や消費メモリ等の尺度から定量化した指標を管理している。列1011に加工演算種別、列1012に計算リソース量が示されている。
【0026】
図11は、センサデータをゲートウェイデバイス(ゲートウェイデバイス装置)113および拠点サーバ130で収集、変換・加工し、M2Mサーバ150に蓄積されるまでの一連の処理の流れを説明した図である。
<ステップ1110>
ゲートウェイ
装置113は、データ取得手段210を使って、CANネットワーク112を流れるセンサ群からのデータを取得する。
<ステップ1120>
ルール250の変換ルールに従って取得したデータを処理する。例えば、CAN ID AAAというデータを受信したならば、行421・行422のルールにマッチした処理を行う。すなわち、受信データの0−8ビットをリトルエンディアンとしてint16型に変換し、「エンジン冷却水温度」を示す識別子とペアでRAMに保存し、さらに受信データの8−16ビットをリトルエンディアンとしてuint16型に変換し、「エンジン回転数」と示す識別子とペアでRAM上に保存する。
<ステップ1130>
ステップ1120で保存されたRAM上のデータに対して、ルール250の加工ルールに従って加工処理を行う。例えば「エンジン冷却水温度」で識別されるデータについては、行541、543に示した処理が行われる。つまり、600秒に渡るデータの最大値を取得1バイトのデータ長で、D01というIDとペアでRAM上に保存、かつヒストグラムを100時間にわたって取得した後に、D03というIDとペアでRAM上に保存する。ここで、最大値を取るロジック、ヒストグラムを取るロジックなど加工処理に必要なロジックは予め変換・加工手段220に内蔵されているとする。
なお、行544のように、加工データIDが「スルー」となっている行にマッチするデータ種別のデータ(本実施例では、「エンジン回転数」で識別されるデータ)については、そのままステップ1140に渡す。
<ステップ1140>
ステップ1130で保存されたRAM上のデータに対し、デバイス情報260に格納されるデバイスIDと送信時刻を付与して拠点サーバ130に送信する。つまり、デバイスID、送信時刻、加工データID、加工されたデータが送信されることになる。
なお、ステップ1130にて、加工データIDが「スルー」になっている行にマッチするデータ種別のデータについては、デバイスID、送信時刻、データ種別を付与して拠点サーバ130に送信する。
【0027】
<ステップ1150>
ステップ1140にて送信されたデータを受信する処理である。デバイスID、送信時刻、加工データID、加工されたデータの組でステップ1140にて送信されたデータについては、そのままM2Mサーバ150に送信する。
ステップ1140にて、デバイスID、送信時刻、データ種別、データの組で送信されたデータについて、ステップ1160の処理に渡す。
<ステップ1160>
図6で例示されるルール350の加工ルールに従って加工処理を行う。この例では、列616で指定されるデバイスID毎に、「エンジン回転数」で識別されるデータについて、600秒間蓄積を続け、周波数0から10000hz、区間幅100hzにて、高速フーリエ変換演算を行い、D04という加工データID、ステップ1140で送信元となったデバイスID、演算終了後の時刻とペアで、演算結果をRAM上に保存する。
<ステップ1170>
ステップ1160にてRAMに保存された、デバイスID、時刻、加工データID、加工後データを、M2Mサーバ150に送信する。
<ステップ1180>
M2Mサーバ150は、ステップ1150,1170で送信されたデータを受信し、
図8で示したようなセンサデータテーブル440に保存する。このようにして蓄積されたセンサデータを、業務システム170が活用することとなる。
【0028】
図12は、M2Mサーバ150におけるルール編集・配信手段430の主要機能を示した図である。
図7のデバイス管理テーブル450で示される親子関係に基づき、ツリーを表示し、残り計算力を、加工演算計算リソーステーブル470に基づき表示する。この残り計算力を、ルール編集者が見ることで、デバイスの計算余力を大まかに知ることができ、編集の参考にすることができる。
残り計算力の計算方式の例を、以下記す。
1220の車両Aの残り計算力は、「デバイス管理テーブルの計算リソース−ルール中の計算リソースの和」で求められている。デバイス管理テーブルの計算リソースは、
図7によると500である。ルール中の計算力の和は、行541、542、543の計算リソースは
図9を参照すると、それぞれ50,100、200であるため、和は350であり、1220に記される計算力は「500−350」で「150」と記される。1210の拠点サーバAの残り計算力は、「デバイス管理テーブルの計算リソース−ルール中の計算力の和」となる。これも同様に、「5000−1500=3500」となる。1210,1220,1230,1240を選択すると、
図5、
図6のような表に対して、追加削除操作を行うことができる。編集結果は
図9のルール管理テーブルにテキスト表現として保存され、また編集後は
図9のルール管理テーブルに保存されたデータが対応するデバイスIDのデバイスに配信され、対応するルール250、ルール350に保存される。
【0029】
以上のように上記した実施形態によれば、ルールに基づいた加工演算を拠点サーバ、車両という複数のデバイスで分割連携して処理できるようになり、また、ルールの編集や設定も複数のデバイスをまたがって一括して行うことができる。かつ、
図12のように計算力を表示することで、例えば、加工ルールを車両Aに追加し続けた結果、車両Aの残り計算力が少なくなって来たら、ルールを車両Aから削除し、削除したルールを拠点サーバAに追加することで、分散して処理させるという判断をすることができる。