Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Jtf2015 edison consul_cluster

4,494 views

Published on

【JTF 2015】IoT時代のデバイスクラスタ - Hashicorp consulを用いたIntel Edisonクラスタの構成 -

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Jtf2015 edison consul_cluster

  1. 1. Copyright © 2015 TIS Inc. All rights reserved. IoT時代のデバイスクラスタ - Hashicorp consulを用いたIntel Edisonクラスタの構成 - 2015年7月26日 TIS株式会社 戦略技術センター 松井暢之
  2. 2. Copyright © 2015 TIS Inc. All rights reserved. 2 松井 暢之(まつい のぶゆき) TIS株式会社 戦略技術センター ~2003 2003~2008 2009 2010~2012 2013~ 2015~ 現場PJでアーキテクト兼モデラー兼プログラマ兼…を歴任 基盤技術センター(現戦略技術センター)で不芳PJの火消しに奔走 全社生産性向上の企画策定に従事 オープンでエッジな技術を活用した事業企画に従事 Cloud Orchestrator “CloudConductor®” の企画開発とOSS化開始 IoTオーケストレーション関連の研究開発を開始 http://cloudconductor.org nbyk.matsui nmatsui nbyk.matsui@n_matsui
  3. 3. Copyright © 2015 TIS Inc. All rights reserved. Agenda 1. IoT市場の急拡大 2. fog & cloud 3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ ~Wasted energy of TV~ 4. Wasted energy of TVの fog に関する技術要素 5. まとめ 3
  4. 4. Copyright © 2015 TIS Inc. All rights reserved. そもそも「IoT」とはなんだ?  いま一歩イメージがわかない。結局「IoT」とは具体的に何だろう? 4 Question! by Stefan Baudy, on Flickr 一意に識別可能な「もの」がインターネット/クラウドに接続され、情報交換する ことにより相互に制御する仕組みである。 「Internet of Everything」や「Smart Everything」、「サービスのモノ化」 ともいう。 モノのインターネット(Internet of Things、IoT) 出展:ウィキペディア , https://ja.wikipedia.org/wiki/モノのインターネット
  5. 5. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」市場の急拡大  なんだかよくわからないが、「IoT」市場は急拡大するようだ。  IoT業界で生み出される収益の予測  2020年には最大で7兆ドル(IDC)の収益がIoT市場で生み出される 5 出展:IoT Analytics, "IoT Market – Forecasts at a glance“, 2014-10, http://iot-analytics.com/iot-market-forecasts-overview/
  6. 6. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」市場の急拡大  なんだかよくわからないが、「IoT」市場は急拡大するようだ。  相互接続されるデバイス数の予測  2020年には最大で500億個(CiscoやEricsson)のデバイスが 相互に接続される 6 出展:IoT Analytics, "IoT Market – Forecasts at a glance“, 2014-10, http://iot-analytics.com/iot-market-forecasts-overview/
  7. 7. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」市場の急拡大  なんだかよくわからないが、「IoT」市場は急拡大するようだ。  接続されるデバイス数の内訳の予測  2018年には、相互接続されるデバイスのうち半分程度は「IoT」 (BI Intelligence) 7 出展:Business Insider, "THE INTERNET OF EVERYTHING: 2014 “, 2014-02, http://www.businessinsider.com.au/the-internet-of-everything-2014-slide-deck-sai-2014-2
  8. 8. Copyright © 2015 TIS Inc. All rights reserved. デバイスが接続されていれば「IoT」なのだろうか?  「M2M」と「IoT」は同じ?違う? 8 Question! by Stefan Baudy, on Flickr コンピュータネットワークに繋がれた機械同士が人間を介在せずに相互に情報交換し、 自動的に最適な制御が行われるシステムを指す。 マシンツーマネジメント(Machine-to-Management)とも呼ばれる。 マシンツーマシン(Machine-to-Machine、M2M) 出展:ウィキペディア , https://ja.wikipedia.org/wiki/マシンツーマシン
  9. 9. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」とは(個人的見解)  個人的には「IoT」を以下のように捉えている。 9 ヒトやモノが相互連携して 営まれる現実世界の活動を 「データ」として映し出し、 様々な種類の「データ」を 組み合わせて分析・学習し、 得られた知見を現実世界へ フィードバックすることで、 現実世界の活動へ新たな 価値を生み出すこと。 IoTとは 現実世界 データ 分析・学習 現実世界へフィードバック
  10. 10. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」とは(個人的見解) 10  個人的には「IoT」を以下のようには捉えていない。  モノをインターネットにつなげばIoTである?  つないだだけでは意味が無いし、ヒトやモノが相互に連携してデータ を収集できるのであれば、すべてのモノを直接インターネットに接続 しなくても良い。  IoTとはセンサーから得た情報を機械にフィードバックして無人 運転することである?  センサーと機械をつないでフィードバックするだけではもったいない。 ヒトの行動やソーシャルの情報など、センサーだけでは得られない 様々なデータも組み合わせて新たな価値を提供することが肝心。
  11. 11. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」と「IoE」  シスコは「人」「プロセス」「データ」「モノ」をつなぐことで新た な価値を生み出すことを、「Internet of Everything」と呼んでいる。 11 出展:第15回 八子クラウド座談会, シスコシステムズ合同会社 シスココンサルティングサービス シニアパートナー 八子知礼, “IoE(Internet of Everything)元年2014 ~新設シスココンサルティングサービスが創る新クラウドビジネス~“, 2014-12, http://www.slideshare.net/tomokyun85/yako-presen-141213
  12. 12. Copyright © 2015 TIS Inc. All rights reserved. 「IoT」と「IoE」  モノの接続とデータ活用という「IoT(狭義のIoT)」と、より 広範囲に接続して価値を創造する「IoE(広義のIoT)」(by シスコ) 12 出展:第15回 八子クラウド座談会, シスコシステムズ合同会社 シスココンサルティングサービス シニアパートナー 八子知礼, “IoE(Internet of Everything)元年2014 ~新設シスココンサルティングサービスが創る新クラウドビジネス~“, 2014-12, http://www.slideshare.net/tomokyun85/yako-presen-141213
  13. 13. Copyright © 2015 TIS Inc. All rights reserved. Agenda 1. IoT市場の急拡大 2. fog & cloud 3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ ~Wasted energy of TV~ 4. Wasted energy of TVの fog に関する技術要素 5. まとめ 13
  14. 14. Copyright © 2015 TIS Inc. All rights reserved. インターネットトラフィックの急拡大  グローバルなIPトラフィック量は年平均23%で急拡大し、2019年に は2014年の2.8倍となる160EB/月と予測されている。 14 出展:Cisco, " Cisco VNI Global IP Traffic Forecast, 2014–2019“, 2015-03, http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/VNI_Hyperconnectivity_WP.pdf
  15. 15. Copyright © 2015 TIS Inc. All rights reserved. IoTのセキュリティリスク  現実世界に近いIoTがハッキングを受けると、直接的で深刻な被害が 発生する可能性がある。例えば以下のような事例が報告されている。  シャワートイレを遠隔操作するBluetoothアプリに脆弱性がある というセキュリティアドバイザリが公表された(2013.08)  ベビーモニターがクラックされ、子どもや夫婦に暴言を吐く男の 声が聞こえた(2013.08)  テレビや冷蔵庫等のスマート家電がクラッキングを受け、大量の 不正メールを送信する「Thingbots」化した(2014.01)  ハッキングコンテストで、動作中の電気自動車のドアやサンルー フを遠隔開閉できた(2014.07) 15 出展:Proofpoint, "More than 750,000 Phishing and SPAM emails Launched from "Thingbots" Including Televisions, Fridge“, 2014-01, https://www.proofpoint.com/us/proofpoint-uncovers-internet-things-iot-cyberattack 出展:Trustwave, “Trustwave SpiderLabs Security Advisory TWSL2013-020: Hard-Coded Bluetooth PIN Vulnerability in LIXIL Satis Toilet“, 2014-01, https://www.trustwave.com/spiderlabs/advisories/TWSL2013-020.txt 出展:CNN, “Foul-mouthed hacker hijacks baby‘s monitor“, 2013-08, http://edition.cnn.com/2013/08/14/tech/web/hacked-baby-monitor/ 出展:ESET, "Tesla Model S hacked to open doors while in motion “, 2014-07, http://www.welivesecurity.com/2014/07/23/tesla-model-s-hacked-open-doors-motion/
  16. 16. Copyright © 2015 TIS Inc. All rights reserved. fog computing  「IoT」全体の中で、ヒトやモノに近い場所(エッジ)で行う処理と クラウドで行う処理を分割し、それらが分散協調して動作する仕組み  fog computingの概念はシスコシステムズ発祥 16 A distributed computing infrastructure in which some application services are handled at the network edge in a smart device and some application services are handled in the cloud. fog computing(fogging) 出展:WhatIs.com, http://whatis.techtarget.com/definition/fog-computing-fogging designed by Freepik.com fog cloud
  17. 17. Copyright © 2015 TIS Inc. All rights reserved. fogの特徴とcloudとの役割分担  雲の向こうの(多分土地と電気が安い)どこかにあるcloudではなく、 fogはヒトやモノに近い「その場」にある。  リアルタイム性が重要な処理はfogで行い、大量データの蓄積や 分析・学習はcloudで行う。  fogの中だけで完結できる、完結すべき処理はfogで行い、帯域や セキュリティ的に必要なデータのみをcloudと送受信する。  広く点在し移動するヒトやモノが動的にfogに参加し、cloudからの メンテナンスが無くてもfogが自律的に最適動作する。  fogに参加するヒトやモノの死活状態や、fog内やcloudとの通信 の正当性をfog自体が自律的にチェックし、不正なヒトやモノを 排除する。 17 After the rain - 2 by Randi Hausken on Flickr
  18. 18. Copyright © 2015 TIS Inc. All rights reserved. Agenda 1. IoT市場の急拡大 2. fog & cloud 3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ ~Wasted energy of TV~ 4. Wasted energy of TVの fog に関する技術要素 5. まとめ 18
  19. 19. Copyright © 2015 TIS Inc. All rights reserved.  fog : EdisonとRaspberry Piを用いたIoTデバイスクラスタ  cloud : IBM Bluemix fogとcloudのプロトタイプ ~ Wasted energy of TV ~ 19 MongoDB Intel Edison Intel Edison Intel Edison Raspberry Pi B+ USBカメラ Internet 赤外線 リモコン IoT Foundation Local Network Wi-Fi Mesh Network Internet Gateway Internet Gateway Network fog Node-REDアプリ Consul Cluster赤外線センサー 赤外線LED Webブラウザ テレビ cloud GUIアプリ
  20. 20. Copyright © 2015 TIS Inc. All rights reserved.  日常生活において「点いているけれど見ていないテレビ」に費やされ ている時間を可視化するアプリである。  カラーチャートによってテレビの視聴状態が可視化される。  赤色に近ければ近い時間ほど、集中してテレビを見ている  青色に近ければ近い時間ほど、テレビに視線を向けていない  灰色の時間は、テレビが点いていない Wasted energy of TVとは 20
  21. 21. Copyright © 2015 TIS Inc. All rights reserved.  クラウドのデータ分析ロジックが「テレビは点いているけれど集中し て見ていない」と判断すると、自動的にテレビが消える。  この機能は有効化/無効化することができる。  有効化した場合、テレビがONかつテレビを見ていない状態が設定 した時間(分)以上連続すると、自動的にテレビがOFFになる。 Wasted energy of TVとは 21
  22. 22. Copyright © 2015 TIS Inc. All rights reserved. 22 Wasted energy of TVの動作 テレビ試聴状況の送信
  23. 23. Copyright © 2015 TIS Inc. All rights reserved.  赤外線リモコンを用いてテレビをONにする。  赤外線センサーがリモコンの赤外線パルスを傍受しテレビの ON/OFFを捉える。 テレビ試聴状況の送信 23 赤外線 リモコン Local Network Wi-Fi Mesh Network Consul Cluster赤外線センサー ① 赤外線センサーが テレビのONを認識する ② Consul KVSへテレビ がONであることを登録 テレビ fog cloud Intel Edison Raspberry Pi B+
  24. 24. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  赤外線パルスを認識する赤外線センサーと、現在の認識状態を 表示するLED(テレビがONだと認識していると点灯)。 24 赤外線センサー テレビON/OFF 認識表示LED
  25. 25. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  赤外線センサーがうまく認識できない場合に用いる、強制的にテレビ のON/OFF認識を変更するスイッチ。 25 強制スイッチ
  26. 26. Copyright © 2015 TIS Inc. All rights reserved.  テレビを見る。  USBカメラの画像を解析し、テレビに顔の正面が向いていれば 「テレビを見ている」と判断。 テレビ試聴状況の送信 26 USBカメラ Wi-Fi Mesh Network Consul Cluster ② Consul KVSへテレビが 見られていることを登録 ① USBカメラの映像フレームを解析し、 「正面の顔」の有無を認識する テレビ fog cloud Intel Edison
  27. 27. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  テレビを見ているかを認識するためのUSBカメラ。 27 顔認識を行う USBカメラ
  28. 28. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  現在テレビを見ているかを表示するLED(テレビを見ていると認識し ていると点灯)。 28 テレビの視聴状態 認識表示LED
  29. 29. Copyright © 2015 TIS Inc. All rights reserved.  現在の状態をクラウドへ送る。  定期的にテレビのON/OFFをチェックし、テレビが点いていれば 顔認識の情報をクラウドへpublishする。 IoT Foundation テレビ試聴状況の送信 29 Internet Wi-Fi Mesh Network Internet Gateway Internet Gateway Network Consul Cluster ② テレビがONであれば、正面顔の 認識状態をMQTTでpublishする ① Consul KVSからテレビのON/OFF と正面顔の認識状態を取得する ③ IoTデバイスクラスタからのpublish された情報をsubscribeする fog cloud Intel Edison
  30. 30. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  現在データを送信中かを表示するLED(データ送信中は点滅)。 30 データ送信 表示LED
  31. 31. Copyright © 2015 TIS Inc. All rights reserved.  IoTデバイスクラスタから受信した情報を蓄積する。  IoT Foundationがsubscribeした情報をMongoDBに蓄積する。 MongoDB IoT Foundation Node-REDアプリ テレビ試聴状況の送信 31 ② IoT Foundationから送られてた 情報をMongoDBに蓄積する ① subscribeした情報をNode-RED アプリへ転送する fog cloud
  32. 32. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の送信  Wasted energy of TVのIoTデバイスクラスタの動画  https://youtu.be/RDPD21L8voM 32
  33. 33. Copyright © 2015 TIS Inc. All rights reserved. 33 Wasted energy of TVの動作 テレビ試聴状況の可視化
  34. 34. Copyright © 2015 TIS Inc. All rights reserved.  テレビの視聴状況を可視化する。  ブラウザからGUIアプリにアクセスし、指定した日付 のテレビ視聴状況を可視化する。 テレビ試聴状況の可視化 34 IBM Bluemix MongoDB Node-REDアプリ GUIアプリ Webブラウザ ① GUIアプリのNginxから HTMLやJS等を取得 ② AJAXを用いてNode-RED アプリのREST APIから情報取得 fog cloud
  35. 35. Copyright © 2015 TIS Inc. All rights reserved. テレビ試聴状況の可視化  テレビの視聴状況を可視化する。  http://wasted-energy-of-tv-gui.mybluemix.net/  赤色に近ければ近いほど、集中してテレビを見ている。  青色に近ければ近いほど、テレビに視線を向けていない。  灰色はテレビが点いていない。 35 集中してテレビを見ている ほとんどテレビを見ていない テレビを見たり見なかったり テレビが点いてない
  36. 36. Copyright © 2015 TIS Inc. All rights reserved. 36 Wasted energy of TVの動作 テレビ自動OFF
  37. 37. Copyright © 2015 TIS Inc. All rights reserved.  テレビ自動OFFを登録する。  ブラウザからGUIアプリにアクセスし、テレビの 自動OFFを登録する。 テレビ自動OFF 37 IBM Bluemix MongoDB Node-REDアプリ GUIアプリ Webブラウザ ① AJAXを用いてNode-RED アプリのREST APIから登録 fog cloud
  38. 38. Copyright © 2015 TIS Inc. All rights reserved. テレビ自動OFF  テレビ自動OFFを登録する。  「Change」リンクをクリックすると、テレビ自動OFF機能の 登録画面が表示される。  初期値として現在の登録状況が設定されている。 38
  39. 39. Copyright © 2015 TIS Inc. All rights reserved. テレビ自動OFF  テレビ自動OFFを登録する。  テレビ自動OFFを無効化する場合、トグルボタンをOFFにする。  テレビ自動OFFを有効化する場合、トグルボタンをONにして、 テキストボックスに自動OFFになるまでの時間(分)を入力する。 39
  40. 40. Copyright © 2015 TIS Inc. All rights reserved.  テレビが自動で消える。  テレビ自動OFFが有効の場合、テレビが点いており、かつ設定さ れた時間連続してテレビを見てないと、cloud からイベントが送出される。 テレビ自動OFF 40 MongoDB Node-REDアプリ IoT Foundation ① MongoDBに蓄積されている情報 を定期的にチェック ② テレビが点いているのに、設定された 時間連続してテレビを見ていなければ、 IoT Foundationへイベントを送出を依頼 fog cloud
  41. 41. Copyright © 2015 TIS Inc. All rights reserved.  テレビが自動で消える。  IoTデバイスクラスタがイベントを受信すると、赤外線LEDから 赤外線パルスが照射され、テレビが自動的に OFFになる。 テレビ自動OFF 41 Internet IoT Foundation Internet Gateway テレビ Local Network Wi-Fi Mesh Network Internet Gateway Network Consul Cluster 赤外線LED ① MQTTでsubscribeしている イベントの受信を検知 ② Consul Clusterへ イベントを発火 ③ watchしているイベントが 発生したことを検知 ④ 赤外線LEDから登録済みの 赤外線パルスを発信 fog cloud Intel Edison Intel Edison Raspberry Pi B+
  42. 42. Copyright © 2015 TIS Inc. All rights reserved.  「テレビを見る」というヒトとモノの相互作用をfogでデータ化し、 cloudで分析して現実世界へフィードバックすることで、次のような 価値が生まれる。  テレビを見ていたつもりでもテレビに集中しておらず、無駄に費 やしてしまった時間に気づくことで、生活にメリハリがつく。  集中してテレビを見ていないならばテレビが消えてしまうため、 家庭での無駄な電力消費を削減できる。 Wasted energy of TVが生み出す価値 42Psssst!! I'm watching you... by ..::Fluckr You::.. on Flickr
  43. 43. Copyright © 2015 TIS Inc. All rights reserved. 現在のWasted energy of TVの課題  セキュリティが全く考慮されていない!  GUIに認証認可を付けていないため、現時点では私の部屋の テレビを誰でも自動OFFにできます。。。(笑  fogとcloud間で送受信されるMQTTパケットも、ユーザ認証は しているものの平文なので盗聴・詐称し放題。。。  cloudでのデータ分析が甘い!  過去の同じ曜日の視聴データ、同じ日の視聴データ、などを分析 学習すれば、「テレビを点けたようですが、どうせあなた、今の 時間はテレビ見てないでしょ?」とcloudが言ってくれたり?  複数人での利用は考慮されていない!  似たような傾向の人がテレビを見ていれば、「あなたこの番組、 好きそうですよね」とcloudが点けてくれたり? 43
  44. 44. Copyright © 2015 TIS Inc. All rights reserved. Agenda 1. IoT市場の急拡大 2. fog & cloud 3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ ~Wasted energy of TV~ 4. Wasted energy of TVの fog に関する技術要素 5. まとめ 44
  45. 45. Copyright © 2015 TIS Inc. All rights reserved.  Wi-Fiメッシュネットワーク  Consulクラスタ  MQTTプロトコル Wasted energy of TVの fog に関する技術要素 45 Internet IoT Foundation Wi-Fi Mesh Network Internet Gateway fog Consul Cluster cloud MQTT Protocol Intel Edison Intel Edison Intel Edison Raspberry Pi B+
  46. 46. Copyright © 2015 TIS Inc. All rights reserved. Wasted energy of TVのプロトコルスタック  Wasted energy of TVは、以下のようなプロトコルスタックで動作 している。 46 Layer1: Physical Layer2: Data Link Layer3: Network Layer4: Transport Layer5: Session Layer6: Presentation Layer7: Application MAC LLC IEEE 802.2 IP(v4、v6)、ICMP RIP、OSPF等 IEEE 802.3 Ethernet IEEE 802.11 Wireless LAN (Infrastructure) TCP、UDP、SCTP等 HTTP、FTP、SMTP等 OSI参照モデル 有線LAN 無線LAN IEEE 802.2 IP(v4とv6) B.A.T.M.A.N.-adv IEEE 802.11 Wireless LAN (ad-hoc) TCP MQTT HTTP Gossip 一般的なプロトコルスタック 今回利用したプロトコルスタック クラウドとの通信 ConsulのREST API操作 ConsulのNode間通信 メッシュネットワーク用 ルーティングプロトコル の一種 Consulについては 15:15~17:00に H40でハンズオンが 行われます
  47. 47. Copyright © 2015 TIS Inc. All rights reserved. メッシュネットワークとは 47 ノード間のデータや音声のルーティングの一種。故障などで使えなくなった経路が 発生しても継続的に接続・再構成を繰り返し、送信先に達するまでノードから ノードへ転送を行う。 メッシュネットワークの最大の特徴は、各ノードがトラフィックを転送する 「ホップ (hop)」という動作をする点で、それによって各ノードから任意の ノードへ接続する。 メッシュネットワークには自己修復性がある。1つのノードがダウンしたり、 1つの接続が不良となっても、ネットワーク全体は運用可能である。 結果として、非常に信頼性の高いネットワークとなる。 メッシュネットワーク(mesh network) 出展:ウィキペディア , https://ja.wikipedia.org/wiki/メッシュネットワーク Ad-hocなWi-Fi上でメッシュネットワークを動作させれば 各IoTデバイスがパケットをバケツリレーしてくれるため、 電波が直接届かないIoTデバイスとも通信が可能となる。
  48. 48. Copyright © 2015 TIS Inc. All rights reserved. Wi-Fiメッシュネットワークのメリット  普通のWi-Fiチップが利用できる。  Edisonに内蔵されているWi-Fiだけで利用できる。  IPスタックが利用できる。  Zigbee等のセンサーネットワーク規格とは異なり、IPスタック用 に作られたミドルウェアやノウハウをそのまま利用できる。  Wi-Fiアクセスポイントの設置が必要ない。  電波が届く距離に別のIoTデバイスがあれば、バケツリレーです べてのIoTデバイスと連携することができる。  ネットワーク的な単一障害点が無いように実装できる。  メッシュネットワークとクラスタのヘルスチェック機構を連携さ せることで、ネットワーク的な単一障害点を無くすことができる。 48
  49. 49. Copyright © 2015 TIS Inc. All rights reserved. Wi-Fiメッシュネットワークのデメリット  Edisonのデフォルトカーネルでは利用できない。  カーネルの再構築が必要な場合がある。  http://qiita.com/nmatsui/items/cb7020929654a128cf84 を参 照  IoTデバイスの電力を消費する。  IoTデバイスは通常、無線通信をしていないときは無線モジュー ルへの給電を停止するが、メッシュネットワークがパケットをバ ケツリレーしなければならないため、常時電力を消費してしまう。  障害時のメンテナンスが大変。  IoTデバイスクラスタ内でのパケット経路が静的に特定できない ので、何かあった場合に追跡するのが大変。  メッシュルーティングプロトコルは研究余地が多い。  通常のルーティングよりも帯域をうまく活用できない(らしい)。49
  50. 50. Copyright © 2015 TIS Inc. All rights reserved. これからのIoTのプロトコルスタック  電力消費を極力押さえ、かつメッシュネットワークを実現する以下の ようなプロトコルが着目されている。 50 Layer1: Physical Layer2: Data Link Layer3: Network Layer4: Transport Layer5: Session Layer6: Presentation Layer7: Application MAC LLC OSI参照モデル IEEE 802.2 IP(v4とv6) B.A.T.M.A.N.-adv IEEE 802.11 Wireless LAN (ad-hoc) TCP MQTT HTTP Gossip 今回利用したプロトコルスタック 6LowPAN [2] RPL [3] IEEE 802.15.4 [1] WPAN TCP、UDP HTTP、CoAP等 低消費電力なプロトコルスタック [1] IEEE 802.15.4 : Zigbeeなどで利用されている近距離無線通信規格。伝送速度は速くないが消費電力が少ない [2] 6LowPAN(IPv6 over Low power Wireless Personal Area Networks):IETFが策定中のIPv6を用いる低消費電力の無線技術 [3] RPL(IPv6 Routing Protocol for Low power and Lossy Networks):IETFが策定中のIPv6上でマルチホップルーティングを実現する技術
  51. 51. Copyright © 2015 TIS Inc. All rights reserved. Consulとは  Hashicorp社が提供するオーケストレーションツール  運用の自律化に有用な多数の機能を提供  ノードやサービスの死活管理  障害や環境構成の変化、外部から発火させたイベント等に応じた 処理の自動実行  分散KVSや分散DNSなど  単一障害点が無く、リーダーノードがダウンした場合は生存して いるノードが自動的に処理を引き継ぐ  Go言語で開発されており、OSを問わずどの環境でもバイナリを 一つ置くだけで実行可能なため、導入が簡単  2014年4月に提供開始 51
  52. 52. Copyright © 2015 TIS Inc. All rights reserved. メッシュネットワークとConsulを併用するメリット  IoTデバイスへの導入が簡単  Go 1.4以上があれば、簡単に動作させることができる。 (Edisonであれば、x86 32bit用バイナリを置けば良いだけ)  IoTデバイスの障害時に、fogに自律的な対処を行わせることができる。  IoTデバイスに障害が起きた場合、生きている他のIoTデバイスが障 害を検知して、fogとして適切に動作するように自律的な対処を行 うことができる。  fog内での情報共有が簡単に行える。  Consul KVSを利用すれば、IoTデバイス間で簡単に情報共有できる。  fogへ到達するイベントに対するアクションを簡単に定義できる。  Consulのユーザーイベントを用いることで、適切なIoTデバイスが 自律的にイベントに対応することができる。 52
  53. 53. Copyright © 2015 TIS Inc. All rights reserved. Consulを利用するライブラリ  プログラミング言語ごとにConsulを利用するライブラリが準備され ているので、簡単に利用できる。 53 import consul … class ConsulWrapper(object): FACEDETECT_KEY = "face_detected" POWERDETECT_KEY = "power_detected" LASTPOWERTIME_KEY = "last_power_time" POWER_EVENT = "power" def __init__(self): self.c = consul.Consul() self.errcount = 0 def kv_put(self, key, value): def _f(): return self.c.kv.put(key, str(value)) self.__retry(_f) def kv_get(self, key): def _f(): return self.c.kv.get(key) i, v = self.__retry(_f) return v def ev_fire(self, event): def _f(): return self.c.event.fire(event) self.__retry(_f) def __retry(self, f): # Consulに接続できなかった場合のリトライ処理 class WatchRatePublisher(object): … def __init__(self, bluemix): self.consul = cw.ConsulWrapper() def check_state(self): while True: face = self.consul.kv_get(cw.ConsulWrapper.FACEDETECT_KEY) power = self.consul.kv_get(cw.ConsulWrapper.POWERDETECT_KEY) class NotifySubscriber(object): … def __init__(self, bluemix): self.consul = cw.ConsulWrapper() def notify(self): def callback(msg): self.consul.ev_fire(cw.ConsulWrapper.POWER_EVENT) self.bluemix.notify(NotifySubscriber.TOPIC, callback) class FaceDetector(object): … def __init__(self, cascade_file_name): self.consul = cw.ConsulWrapper() def __notify_detect(self, num_of_faces): if num_of_faces == 0: self.consul.kv_put(cw.ConsulWrapper.FACEDETECT_KEY, False) else: self.consul.kv_put(cw.ConsulWrapper.FACEDETECT_KEY, True)
  54. 54. Copyright © 2015 TIS Inc. All rights reserved. MQTTとは 54 A machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium. MQTT 出展:MQTT.org, http://mqtt.org/ MQTT Broker MQTT Client publish(TOPIC) message MQTT Client subscribe(TOPIC) message delivery MQTT Client subscribe(TOPIC) message delivery
  55. 55. Copyright © 2015 TIS Inc. All rights reserved. MQTTを利用するメリット  ブローカーを仲立ちにしたpublish/subscribe型の プロトコルのため、クライアント間を疎結合にできる。  ヘッダが小さく(固定長ヘッダは2バイト)プロトコル自体が軽いため、 小さなデータを大量に送る場合は効果が大きい。  クライアントが異常切断した場合、指定しておいた「Last Will & Testament(遺言状)」メッセージが送られる。  クライアントから送ったメッセージのQoSを定義できる。  QoS0 At most once:ベストエフォート。消失や重複の可能性あり。  QoS1 At least once:必ず到着するが、重複の可能性あり。  QoS2 Exactly once:必ず1回到着することを保証。  クライアントが異常切断していた間のQoS1,2のメッセージを再配信 してくれる。 55
  56. 56. Copyright © 2015 TIS Inc. All rights reserved. MQTTを利用するライブラリ  プログラミング言語ごとにMQTTを利用するライブラリが準備されて いるので、簡単に利用できる。 56 import paho.mqtt.client as paho class BluemixWrapper(object): def __init__(self, conf): self.mqttc = paho.Client(client_name) self.mqttc.username_pw_set(USER, token) def notify(self, topic, func): def on_connect(client, userdata, flags, rc): client.subscribe(topic) def on_message(client, userdata, msg): func(str(msg.payload)) self.mqttc.on_connect = on_connect self.mqttc.on_message = on_message def publish(self, topic, msg): self.mqttc.publish(topic, msg) def connect(self): self.mqttc.connect(self.url, PORT, 60) self.mqttc.loop_start() class NotifySubscriber(object): TOPIC = "iot-2/cmd/notify/fmt/json" def __init__(self, bluemix): self.bluemix = bluemix def notify(self): def callback(msg): self.consul.ev_fire(cw.ConsulWrapper.POWER_EVENT) self.bluemix.notify(NotifySubscriber.TOPIC, callback) class WatchRatePublisher(object): TOPIC = "iot-2/evt/status/fmt/json" def __init__(self, bluemix): self.bluemix = bluemix def __publish(self, msg): self.bluemix.publish(WatchRatePublisher.TOPIC, msg) if __name__ == "__main__": try: bluemix = bw.BluemixWrapper(sys.argv[1]) NotifySubscriber(bluemix).notify() bluemix.connect() WatchRatePublisher(bluemix).check_state() except KeyboardInterrupt as err: print "watch_rate_publish end"
  57. 57. Copyright © 2015 TIS Inc. All rights reserved. Agenda 1. IoT市場の急拡大 2. fog & cloud 3. Edison(とRaspberry Pi)を使ったIoTデバイスクラスタ ~Wasted energy of TV~ 4. Wasted energy of TVの fog に関する技術要素 5. まとめ 57
  58. 58. Copyright © 2015 TIS Inc. All rights reserved. まとめ  なんだかよくわからないけれど、今後「IoT」は流行るらしい。  「IoT」は明確に定義された言葉ではないが、「ヒトとモノをつない で得られたデータを分析・学習し、現実世界にフィードバックするこ とで新たな価値を生むもの」と捉えると良い(と思う)。  「IoT」のアーキテクチャを考える際には、fogとcloudの協調動作を 意識すると良い(と思う)。  fogにとって、メッシュネットワークやConsulクラスタは相性が良い (電力消費まわりが解決できれば・・・)。  fogのセキュリティまわりは、まだ調査中。。。ご存知の方はいろい ろと教えてくだい。 58 「IoT」関連技術は、無線技術からデータ分析・学習まで 多岐にわたり、今まさに発展している最中である。 だからこそ熱く面白い。
  59. 59. Copyright © 2015 TIS Inc. All rights reserved. ソースコードなど  Wasted energy of TVのソースコードはgithubで公開中。  https://github.com/nmatsui/wasted_energy_of_tv_iot  https://github.com/nmatsui/wasted_energy_of_tv_gui  https://github.com/nmatsui/wasted_energy_of_tv_nodered  動画  https://youtu.be/RDPD21L8voM  環境構築手順と操作手順  https://github.com/nmatsui/wasted_energy_of_tv_iot/wiki /docs/construction.pdf  https://github.com/nmatsui/wasted_energy_of_tv_iot/wiki /docs/operation.pdf 59

×