ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

IoT,ビッグデータ,CEP,機械学習,SDN等の全体像をまとめてみた-概要

2014-11-19 09:20:00 | ネットワーク

IoTについて、全体像が見えない議論が多い気がしてきた。
そこで、まず、IoTと、これら周辺を取り巻くビッグデータ,CEP,機械学習,SDN等の全体像をまとめてみた。以下の図になる。

以下、説明




■従来システム

○ブラウザ・アプリ
 従来システムは、PCはブラウザ、スマホやタブレット等のモバイルではアプリ(を稼動させる環境)によって、端末からデータがサーバー側に送られる。サーバー側では、データを処理加工して、その結果をRDBに蓄える。
  ブラウザではHTML5+Javascriptでアプリケーションが作成され、
  端末側はHTML5+Javascript、Javascript(Android),Objective-C,swift(ios)等が使われる。
 HTML5で、スマホ、PC,どれにでも対応することが「レスポンシブウェブデザイン」であり、これら端末、さらにGoogleグラス、アップルウォッチ等のウェアラブルも含めて、様々なデバイスが、クライアント側に存在しても大丈夫なようにすることが「ユビキタス」となる。

○サーバーサイド
 各種端末から送られてきたデータは、サーブレット等のサーバーサイドのプログラムによって処理され、データベースに格納される。
  サーバーサイドのプログラムは、Java,PHP,Python,node.js様々な言語で、フレームワークを利用して記述され、
  (トランザクションが重要なので)RDBによって格納される




■IoT

○デバイス
 センサーデータを入力し、ネットワーク上にデータを流すまでの処理を行う。ボード上で行うものも多い。
 センサーデータは、アナログまたはデジタル信号であり、
  この信号をポートから受信し、OS等で利用できるようにする「デバイスドライバ」と
  デバイスドライバからの信号をもとに、データを送信する通信部分に分かれる。
 (この間にOSが入る場合、入らない場合がある)
 Windowsにおいて、デバイスドライバ部分はWindowsPK,通信部分はWindowsSDKにより記述する。

○データ収集
 センサーデータは、多くの地点から、短時間に発せられることがあり、このデータをデータウェアハウスで
直接反映させることは難しいので(データウェアハウスは挿入・更新に弱い)、いったんデータを保存する
処理を行う。この処理をデータ収集とここでは呼んでいる。リアルタイムストリーム処理と呼ばれるものの
一つの分野である(残りの分野はCEP,機械学習の一部)

 データは、上述のとおり、データウェアハウスには格納しにくく、RDBでは無駄があるので、NoSQL
やインメモリで処理される。

○CEP
 1つないしいくつかのセンサーデータ(ウィンドウ)をもとに、異常がおきているなどを判断し、
その旨を通知する等の、ストリームデータを元に処理を行うもの。リアルタイムストリーム処理の
一つの分野である。

○機械学習
 CEP同様、センサーデータ(ウィンドウ)をもとに、異常がおきているなどを判断するが、
その判断のアルゴリズムが良く分からないときなどに利用する(分かるのであればCEPでよい)
 大きく2つの分野がある。
  1つは、大量のデータを使って、学習をする分野
  もう一つは、学習結果と、センサーデータをもとに、異常等が起きているか判断する分野
 後者の判断する部分は、リアルタイムストリーム処理となるが、前者の学習部分は、
リアルタイムストリーム処理でも良いし、データウェアハウスのデータを利用しても良い。




■ビッグデータ解析

○データ蓄積
 ビッグデータを扱うデータウェアハウスは、検索スピードは高いが、編集によわい(時間がかかる)
 そこで、従来型のOLTPはRDBに、センサーデータはNoSQL等にいれ、定期的にバッチで
データウェアハウスに更新をかける。ここではそれを「データ蓄積」と呼んでいる。

○オープンデータ収集
 天気情報などは、データ解析を行う場合に必要になる。このような、データがオープンになっていて、
解析に必要なものは、あらかじめ取得しておく。ここではそれを「オープンデータ収集」と呼んでいる。

○データ解析
 データウェアハウスを検索して、対象データを取得し、処理加工(統計処理も含まれる)する。

○可視化
 データウェアハウスで解析した結果を、見やすいようにグラフ化したりする。




■ネットワーク
○既存ネットワーク+一部SDN
 上記をつなぐのにネットワークが必要。有線、無線/ REST,MQTT・・・様々あり、
特に、過去のセンサー、機械の通信を生かすのであれば、シリアル(RS-232C)などにも
対応しないといけなくなる。

 複数のネットワークが入り乱れ(192.168が様々なネットワークに違ったドメインで現れ)
それらの通信品質はいろいろである。これら通信品質を確保しながら、ネットワーク間で
調節するには、ソフトウェアで柔軟にネットワークを定義する(SDN)必要があると思われている。




今回は概要。
今度機会があったら、具体的な製品を書きたいと思う。
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 米MS、開発・実行環境をOSS化... | トップ | 次期iPhoneはデュアルレンズ... »
最新の画像もっと見る

ネットワーク」カテゴリの最新記事