“Internet of Things” モノとモノが繋がるインターネットで広がる”Connected Life” May 30, 2014 Tohru Suzuki WebSphere, IBM Japan © 2014 IBM Corporation Mobile …ビジネス成長の新しいフロンティア Mobile B2C • コンシューマーにとって “anytime, anywhere”の銀 行手続きや保険手続き、 株取引などを実現するこ とによる高い満足度の実 現 • MobileやSMSを通した コンシューマーとの新しい コミュニケーションチャネ ルの実現 2 Mobile B2E & B2B • 現場作業者との効果的な連 携による大幅な生産性の向 上 • サプライ・チェーンの処理に おける効率と正確性の大幅 な向上 • ビジネス・パートナーとのセ キュアな情報交換・共有を 実現 (Mobile) M2M • Machine と machineをつな いでデータやイベントを伝 達・交換・発信し、 新たなビジネス機会を創出 する • “Internet of Things” – センサーやデバイスからの 大量の情報とその効果的な 活用が “smarter planet”の 実現を促進する © 2014 IBM Corporation なぜmobile/machine-to-machineには「メッセージング」か? HTTPはこれまでのデータ伝達をリードしてきました シンプルな要求/応答型モデル PC, ラップトップ, タブレット, スマートフォンなどさまざまなデバイス で使用可能 ワイヤレスやM2Mでの通信に最適化されていない Mobileネットワークでは低速かつ低信頼性が問題に MobileやM2Mでは新たな挑戦が表面化しています イベント起動型でリアルタイムのモデルが必要とされています イベント起動型 1 対 多のpublish型での情報伝達 イベントが発生するタイミングでのlistenが必要 小さいパケットのデータを大量・高頻度 大量・高頻度に送受信 大量・高頻度 装置への接続など低信頼性ネットワークでも 高い信頼性でのプッシュ通知が必要 高い信頼性 3 © 2014 IBM Corporation Internet of Things – BigDataの牽引力 モノ 500億 億 デジタル社会 持続可能な成長 一人ひとりの モバイル グローバルな グローバルな 接続性 4 変化 点 ヒト 50億 億 場所 10億 億 © 2014 IBM Corporation “Internet of Things” 物と物が繋がるインターネットでの新しい市場の予測 • 「人と人」、「人とモノ」から 「モノとモノ」へ • M2M: Machine-to-Machine のネットワーク 2020年の 年の”Connected Life”ビジネス予測 ビジネス予測 年の 1.“Connected Car” $6000億ドル 2.遠隔医療モニタリング $3500億ドル 3.住環境支援 $2700億ドル 4.家庭/ビルのセキュリティ $2500億ドル 5.「Pay-as-you-drive」自動車保険$2450億ドル 6.自動車の新しい用途・用法 $2250億ドル 7.スマートメーター $1050億ドル 8.交通制御・管理 $1000億ドル 9.電気自動車の充電・管理 $750億ドル 10.ビルの自動化 $400億ドル http://www.gsma.com/newsroom/gsma-announces-the-business-impact-of-connected-devices-could-be-worth-us4-5-trillion-in-2020/ 5 © 2014 IBM Corporation MessageSight お客様事例 - “Sprint Velocity” 1. オーナーが 「開錠」キーを押すと SPRINT VELOCITY℠ 3.クルマへ「アンロック」 コマンドが送付され、 クルマがアンロックされる • MessageSightの採用に より、レスポンスタイムが 30秒から→50ミリ秒 ミリ秒へ ミリ秒 改善された Connected car 6 2. Sprintがユーザー を認証し © 2014 IBM Corporation “Connected Pipeline” – リアルタイムでの制御と保守 • 17,000kmのパイプライン • 30,000個のセンサーで監視 Storage Temperature Pressure Refineries Spill location Pumps 従来は… • 数分間隔でのポーリング • 要員の派遣により対応 数秒で元栓を締める (保守要員の到着を 待つ必要がない) 7 パイプラインの センサーにおいて 油圧の急減が 検知されたら M2Mで送信された データを解析し 適切な対応を指示 © 2014 IBM Corporation “Connected City” – より安全な暮らしへ 救命ヘリ出動! 衝突の衝撃! 急ブレーキ! エアバッグの使用 警告! 警告! 警告! 警告! 警告! 8 © 2014 IBM Corporation 視聴者のチャ ンネルの変化 を即座に通知 “Connected TV” 本社 オフィス 視聴者の志向 に応じたコマー シャルを放送 視聴者の好み にあった コンテンツを 配信 多くのユーザー 双方向の通信 に登録 9 © 2014 IBM Corporation “Connected Patient” – よりよい生活へ St. Juda Medical病院では、心臓ペースメーカーを装着されている患者さんの体調を 遠隔監視 M2Mの仕組みにより、体調変化の予兆や来院回数の間隔から早期に異常を検知 患者さんの脈 拍、心拍数など を病院へ送信 患者さんの状 態をほぼリアル タイムで確認 source: sjm.com 10 © 2014 IBM Corporation モバイル・アプリケーション(個人投資家向けの例) 第三者との接続を必要としない、セキュアで信頼性の高いメッセージ交換 最適化されたストリーム・データ(株価, 市場ニュース…) 高速なレスポンスによる高次元の顧客体験 (準リアルタイムでの情報配信) 株価情報等を多数の ユーザーへ一斉同報配信 株価情報 顧客からの 株取引要求 株の売買要求を 高い信頼性で送受信 11 © 2014 IBM Corporation IBMのメッセージング・テクノロジー M2Mのトラフィックに最適化されたMQTTプロトコル 大量、高速なメッセージングを実現するハブとしてのMessageSight M2Mを実現する MQTTプロトコル IBM IBM Integration Integration Bus Bus 広範な接続性と柔軟な 広範な接続性と柔軟な 連携をサポートするESB 連携をサポートするESB MessageSight メッセージングハブ IBM Integration Bus MQTT Client Telemetry Service IBM MessageSight MQTT Client MQTT Client MQTTクライアント クライアント MQTTクライアント クライアント メッセージを送受信 メッセージを送受信 するクライアント機能 するクライアント機能 WebSphere MQ IBM IBM MessageSight MessageSight 大量のメッセージング 大量のメッセージング 処理に特化した 処理に特化した 「メッセージング・ハブ」 「メッセージング・ハブ」 豊富なバックエンド サーバー機能 12 InfoSphere Streams WebSphere WebSphere MQ MQ メッセージングの基盤を メッセージングの基盤を 提供 提供 © 2014 IBM Corporation MQTT: MQ Telemetry Transport 軽量、非同期、双方向、大量処理、m2mプロトコル 13 © 2014 IBM Corporation MQTTとは HTTPと比べて圧倒的に軽量なプロトコル と比べて圧倒的に軽量なプロトコル 1. • • 非同期、双方向通信: 2. • • 電話(HTTP)からメール・チャット( )からメール・チャット(MQTT)へ 電話( )からメール・チャット( )へ モバイルでのnativeなpush通知が可能に Pub/Subによる大量同報通知 オープン仕様: 3. • • 14 トラフィックが10分の1に ⇒ 10倍のスループット、電池の消費量が10分の1以下に MQTTのヘッダーは2バイト ベンダーロックインを回避 標準化によるデバイス開発コストの削減に寄与 通信が切れる事態を想定した機能など © 2014 IBM Corporation 非同期、双方向通信を実現するPublish / Subscribe型メッセージ通信 送信プログラムと受信プログラムが”topic”(トピック)を介して1対Nで通信 受信側 サブスクライバーA1 サブスクライバーA1 サブスクライバーA2 サブスクライバーA2 送信側 サブスクライブ(トピックA) トピックA パブリッシュ サブスクライブ(トピックA) トピックA パブリッシャーA パブリッシャーA トピックB パブリッシャーB パブリッシャーB トピックA サブスクライブ(トピックB) サブスクライバーB1 サブスクライバーB1 ・ ・ サブスクライバーB2 サブスクライバーB2 サブスクライバーBn サブスクライバーBn トピックB サブスクライブ(トピックB) トピックB MQTT MQTT サーバー サーバー パブリッシュ サブスクライブ(トピックB) トピックB Publish/Subscribe型メッセージ配信 型メッセージ配信 ① サブスクライバーが、受信したいトピックにサブスクライブ(購読)登録 ② パブリッシャーが、トピックに対してパブリッシュ(送信) ③ 該当トピックにサブスクライブ登録しているサブスクライバーにメッセージが配信さ れます 15 © 2014 IBM Corporation 接続が切れている間の配信メッセージ – “Clean セッション” •クライアントが切断された際に、サーバーがそのクライアントを「覚えている」かを指定します サブスクライバー1 Subscription Topic A Publish サブスクライバー2 Subscription Topic A CleanSession = true サブスクライバー3 MQTT サーバー Publish Topic A パブリッシャー1 Topic A パブリッシャー2 Subscription Topic A CleanSession = false CleanSession = true サーバーはクライアントを「覚えて」おらず、切断後には新たなCleanSessionが開始されます CleanSession = false サーバーはクライアントが切断した際にそのクライアントのことを「覚えて」います サーバーは当該クライアントのsubscriptionに該当するメッセージを保持し、当該クライアントが再接続 した時点で保持したメッセージを伝達します 16 © 2014 IBM Corporation 最新メッセージを常に保持 – “Retained メッセージ” •Publisherはメッセージを送出時に、そのメッセージを”retain”するかを指定します •その後subscribeしたクライアントへ、サーバーからメッセージが伝達されます サブスクライバー1 サブスクライバー2 Subscription Topic A Subscription Topic A MQTT サーバー (Pub/Sub ブローカー) Publish Topic A パブリッシャー Topic A サブスクライバー3 Subscription Topic A “Retained”の仕組みにより、サーバーは最新(最後)のメッセージを保持します クライアントが再接続した時点で、 “ retained”メッセージは伝達されます サーバーはトピック毎に「ひとつだけ」retainedメッセージを保持します “Retained”メッセージの使用ではpublisherはひとつだけであることが推奨されています “Retained”メッセージは長さがゼロのメッセージを送付することにより削除されます 17 © 2014 IBM Corporation MQTT の特徴: Last Will & Testament (LWT) / 遺言メッセージ 予期せずクライアントが切断された場合に、指定したトピックへ自動的にメッセージ送信 する機能 ネットワーク断線やデバイスの故障などで、接続が切れた場合に通知メッセージを送信できる クライアントは事前にLWTメッセージをMQTTサーバーに登録しておく(トピック名、メッセージを 指定) クライアントが切断された場合には、MQTTサーバーが登録されていたLWTメッセージの内容に したがってメッセージをパブリッシュ LWTメッセージを受け取ったアプリケーションが適切なアクションを実行できる クライアント・デバイスなど サブスクライバー1 LWT MQTT Server モニター・アプリケーション Subscription LWT 18 サブスクライバー2 © 2014 IBM Corporation © 2014 IBM Corporation PublisherとSubscriber – 非依存、非同期、双方向 19 Subscriberは、関心のある経路へsubscribeするだけで、、 © 2014 IBM Corporation Topic – 階層構造で指定 トピックの構造 地点座標 パブリッシュ 時刻 publisher カテゴリー サブスクライブ “35x139地域の 情報は?” “35x139/#” “2/26 午後2時の 情報は?” “+/201402261400/#” 20 “35x139/1402261400/ congestion” “35x139/1402261400/ weather” © 2014 IBM Corporation サービスレベルを指定可能 – “Quality of Service” QoS(Quality of Service) クライアントの不安定な稼働環境を想定し、クライアント⇔サーバー間のメッセージ 送達保証レベルを3段階で指定可能 QoS = 0 :メッセージは1回のみ送信される (最も速い、障害時には保証されない) QoS = 1:メッセージは最低1回は送信先に送られる (重複の可能性あり) QoS = 2:メッセージは必ず正確に1回だけ送信先に送られる (もっとも信頼性が高い) QoS 0 PUBLISH QoS 1 PUBLISH PUBACK パブリッシャー (送信側) MQTTサーバー (Pub/Subブローカー) パブリッシュ サブスクライバー (受信側) サブスクライブ QoS 2 PUBLISH PUBREC QoS 0/1/2 21 QoS 0/1/2 PUBREL PUBCOMP © 2014 IBM Corporation HTTPS と MQTT – パフォーマンス比較 HTTPS vs MQTT on Android. スループットと電池の使用量の顕著な差 3G Wifi HTTPS MQTT HTTPS MQTT messages / hour 1,708 160,278 3,628 263,314 % battery / msg 0.01709 0.00010 0.00095 0.00002 messages / hour 1,926 21,685 5,229 23,184 % battery / msg 0.00975 0.00082 0.00104 0.00016 receive send Source: http://stephendnicholas.com/archives/1217 22 © 2014 IBM Corporation MQTT: シンプルなコードで実装可能 import org.eclipse.paho.client.mqttv3.*; ・・・MQTT用のパッケージ public class MqttPubSync { public static void main(String[] args) { try { MqttClient client = new MqttClient("tcp://localhost:1883", “PubClient001"); ・・・クライアントの作成 MqttConnectOptions conOptions = new MqttConnectOptions(); conOptions.setCleanSession(false); client.connect(); ・・・接続オプションの設定 ・・・クリーン・セッション設定 ・・・接続の実施 MqttTopic topic = client.getTopic("/MQTT/Examples"); MqttMessage message = new MqttMessage("Hello World!".getBytes()); message.setQos(1); ・・・トピックの作成 ・・・メッセージの作成 ・・・QoSの設定 MqttDeliveryToken token = topic.publish(message); token.waitForCompletion(10000); ・・・パブリッシュの実施 ・・・確認応答待ち client.disconnect(); } catch (Exception e) { e.printStackTrace(); } ・・・接続の切断 } } 23 ※上記は簡略化したコード・イメージであり、稼動を保証するものではありません。 © 2014 IBM Corporation プログラミング例 – MQTT in JavaScript /* Sample connect function */ function connect(form) { try { client = new Messaging.Client(form.host.value, Number(form.port.value), form.clientId.value); } catch (exception) { alert("Exception: “ + exception); } client.onConnect = onConnect; client.onMessageArrived = onMessageArrived; client.onConnectionLost = connectionLostCallback; client.connect(); } /* Sample send function */ function send(form) { message = new Messaging.Message(form.textMessage.value); message.destinationName = form.topicName.value; client.send(message); } /* Sample subscribe function */ function subscribe(form) { client.subscribe(form.subscribeTopicName.value); } 24 © 2014 IBM Corporation MQTT over TCPとUDPの比較 MQTT over TCP 通信の信頼性 TCPの再送機能およびMQTTのQoS機能 UDP 一回送付するのみ(「送りっぱなし」) により実現 セキュリティ 一対多の通信 個別に接続先を認識して接続し、必要に IPアドレス・ポートへ送付するのみ。 応じて認証・認可を行ってから送受信を行 う 移動体通信においてIPアドレス・ポートの MQTTのPublish/Subscribeで実現。 Broadcastで実現。 Topicの構造化によりコンテンツに応じて コンテンツによる送付範囲の限定は困難。 使用者が変化する事態への対応が困難。 送付対象範囲を限定・特定することが可能。 スマートフォン との接続 25 クライアント側から接続してから通信が 開始されるため、ネイティブなpush通知が 可能 Network/Carrierにより、push通知が困難 な場合があると想定。 (サーバー側でクライアントのグローバルIP アドレスが不明・入手困難など) © 2014 IBM Corporation リクエスト/レスポンス型通信(HTTP)とリアルタイム・プッシュ型通信(MQTT) HTTPではリクエストに対するレスポンスとして情報が伝達される(擬似push) クライアントからの問い合わせが行われるまで、サーバーからの情報が伝達されない MQTTでは情報が発生する都度、リアルタイムのpushで情報が伝達される クライアント HTTP MQTT 接続の確立 問い合わせ(空振り) 送信したい 情報が発生 即時にpushで伝達 送信したい 情報が発生 即時にpushで伝達 送信したい 情報が発生 遅延 問い合わせ 情報が伝達される 問い合わせ(空振り) 送信したい 情報が発生 遅延 問い合わせ 26 情報が伝達される © 2014 IBM Corporation リクエスト/レスポンス型通信(HTTP)とリアルタイム・プッシュ型通信(MQTT) クライアントからの問い合わせの頻度を多くすることでHTTPのサーバーからクライアントへの情報伝達での 遅延を小さくすることができる 空振りに終わる「問い合わせ」リクエストが頻繁になり、通信コストが増大する HTTP MQTT 問い合わせ(空振り) 問い合わせ(空振り) 遅延 問い合わせ 情報が伝達される 接続の確立 送信したい 情報が発生 即時にpushで伝達 送信したい 情報が発生 即時にpushで伝達 送信したい 情報が発生 問い合わせ(空振り) 問い合わせ(空振り) 問い合わせ(空振り) 問い合わせ(空振り) 問い合わせ(空振り) 問い合わせ(空振り) 問い合わせ 遅延 情報が伝達される 送信したい 情報が発生 問い合わせ(空振り) 問い合わせ(空振り) 問い合わせ(空振り) 27 © 2014 IBM Corporation M2M – MobileFirstでのアプリ開発 Worklight Hybrid app – HTML5, CSS, JavaScript, Images m2m for JavaScript Worklight API Worklight Javascript API messaging javascript Common Controls Device API javascript/native Bridge (PhoneGap) m2m plugin Worklight API Device APIs m2m PhoneGap plugin built on IBM contributed eclipse paho eclipse.org/paho 28 © 2014 IBM Corporation 28 MQTTを使用したHTML5 web appのデモ Subscriber Publisher 29 AutoRemote/<name>/settings AutoRemote/<name> Publisher Subscriber © 2014 IBM Corporation IBMのメッセージング・テクノロジー M2Mのトラフィックに最適化されたMQTTプロトコル 大量、高速なメッセージングを実現するハブとしてのMessageSight M2Mを実現する MQTTプロトコル IBM IBM Integration Integration Bus Bus 広範な接続性と柔軟な 広範な接続性と柔軟な 連携をサポートするESB 連携をサポートするESB MessageSight メッセージングハブ IBM Integration Bus MQTT Client Telemetry Service IBM MessageSight MQTT Client MQTT Client MQTTクライアント クライアント MQTTクライアント クライアント メッセージを送受信 メッセージを送受信 するクライアント機能 するクライアント機能 WebSphere MQ IBM IBM MessageSight MessageSight 大量のメッセージング 大量のメッセージング 処理に特化した 処理に特化した 「メッセージング・ハブ」 「メッセージング・ハブ」 豊富なバックエンド サーバー機能 30 InfoSphere Streams WebSphere WebSphere MQ MQ メッセージングの基盤を メッセージングの基盤を 提供 提供 © 2014 IBM Corporation MessageSight M2Mとモバイルのための メッセージング・ゲートウェイ アプライアンス 31 © 2014 IBM Corporation Introducing IBM MessageSight IBM MessageSightはメッセージングに特化したアプライアンスです お客様のビジネスにおいて、MobileやM2M(machine-to-machine)の爆発的な増加・進 化への対応を実現します お客様の既存のメッセージング基盤をシンプルかつセキュアに強化し、インターネットへ のM2M接続を実現します リアルタイムの解析処理やイベント処理を可能にします 32 © 2014 IBM Corporation IBM MessageSight - M2Mに最適なメッセージング・アプライアンス 大量のメッセージング セキュリティと信頼性 容易な構築と運用 Massive Scale Secure and Reliable Easy to Use 1台あたりの能力 - 同時接続100万台 - 秒間1000万件以上のメッセージ HTTPSとの比較 - 93倍高速 - 1/10の消費電力 - 1/8の帯域使用 33 DMZに配置できるセキュリティー - 専用ハードウェア、ファームウェア - FIPS 140-2 対応、アクセス制御 信頼性の高い転送 - QoS(Quality of Service)オプション - High Availability 構成可能 構築 - 30分で稼動状態に構成可能 - WebGUIからタスクベースで設定 運用管理 - 自動的なモニターとGUI画面表示 - 最適化された管理機能 © 2014 IBM Corporation IBM MessageSightの特長 12のネットワークインターフェース DMZへの配置可能なアプライアンスとしてのセキュリティ - 専用ハードウェア、専用ファームウェア - 署名および暗号化されたファームウェア Secure and Reliable Firmware 1GbE ポート x 8 管理用ポート x 2 データ処理用ポート x 6 40GbE ポート x 4 Massive Scale Easy to Use ハードウェア - 2Uのアプライアンス - 専用ハードウェアによる最適化 - 4 x 900 GBのハードディスク 構成管理 構成管理: 管理 WebUI or CLI モニタリングも可能 34 © 2014 IBM Corporation IBM MessageSightの価値 アプライアンスとしてMQTTメッセージング機能に特化し最適化 パフォーマンス MQTTメッセージング処理に 最適化された桁違いの性能 セキュリティ DMZに配置できる高セキュリティ性 ポリシーベースのアクセス制御 高機能・容易性 容易、短期間での構築 HA機能、運用管理機能も充実 構成管理画面 運用管理 運用・管理機能 セキュリティー ポリシーベースの バックエンド 機能 構成管理 接続機能 (ポリシーベース) (効率的な (MQ、JMS) 高可用性 ・認証認可 構成、監視、管理) 機能 (HA機能) MQTTサーバーランタイム 構成管理 ランタイム MQTTに特化したパフォーマンス 最適化されたハードウェア ・高パフォーマンス ・高セキュリティ ハードウェア 汎用サーバーで 実現される部分 IBM MessageSight 35 © 2014 IBM Corporation IBM MessageSight パフォーマンスレポート WebサイトにてIBM MessageSightのパフォーマンス・レポートを公開 http://www-01.ibm.com/support/docview.wss?uid=swg24035590 • • • • • • 36 Key Result 毎秒40万以上のメッセージを不揮発性メディアにストア 100万のMQTT v3.1のデバイスが60秒以内に接続 35万のMQTT v3.1のアプリケーションから、毎秒1メッセージを処理 毎秒1500万のメッセージを大量のアプリケーションにパブリッシュ 毎秒1万メッセージの処理を平均遅延85マイクロ秒で処理 毎秒20万のMQTT QoS0のメッセージをWMQバックエンドに転送 © 2014 IBM Corporation IBM MessageSightの配置と構成 組込デバイス用のC/Java ライブラリーの提供 Java EEやESBと連携する ためのJMSサポート JavaScript APIによりHTMLベースの アプリケーションでも双方向通信を 容易に実現 シームレスなMQとの連携を サポートするMQ Connectivity機能 ブラウザ・ベースの管理WebUI Websocket: AjaxやComet などと違い、 サーバーとクライアント間で、一度接続が確立 すると双方向通信を行うことができる通信規格。 HTML5に追加されている。 37 © 2014 IBM Corporation MessageSight 初期設定 構成に必要な時間は30分程度 用意するもの MessageSight本体 Ethernetケーブル 2本 USB接続のキーボード VGA接続のモニター ブラウザが利用できるPC H/Wをラックに設置 をラックに設置 LANケーブルの接続 ケーブルの接続 ・管理用ポート(mgt0)を管理用ネットワークに接続 を管理用ネットワークに接続 ・管理用ポート ・データ通信用のポート(eth0)をデータ通信用ネットワークに接続 をデータ通信用ネットワークに接続 ・データ通信用のポート( 管理用CLIの起動とログイン の起動とログイン 管理用 ・モニターとキーボードを接続 ・電源を起動し、管理用CLIがプロンプトを待機 がプロンプトを待機 ・電源を起動し、管理用 ・初期パスワードでログイン(admin/admin) ) ・初期パスワードでログイン( 管理用ポートの設定 ・管理用ポートにIPアドレス GWの割り当て の割り当て ・管理用ポートに アドレス/Default アドレス 次頁へ 38 © 2014 IBM Corporation MessageSight 初期設定 Web UIにログイン にログイン ・PCを管理用ネットワークに接続し、ブラウザより下記 を管理用ネットワークに接続し、ブラウザより下記URLにアクセス にアクセス を管理用ネットワークに接続し、ブラウザより下記 https://<管理ポートのIPアドレス>:9087 ・ログイン画面より ユーザーID: 、パスワード:adminでログイン でログイン ユーザー :admin、パスワード: 、パスワード: ライセンスの承諾 管理ユーザーの設定変更 ・管理者のパスワードをデフォルトから変更 ・SSHログイン用の設定(オプション) ログイン用の設定(オプション) データ通信用ポートの設定 ・eth0に にIPアドレス、デフォルト アドレス、デフォルトGWの割り当て の割り当て アドレス、デフォルト ・接続のテスト 設定の保存 39 © 2014 IBM Corporation MessageSight 高可用性 Hot applianceとCold applianceのペアにより構成 Hot appliance(Primary) がメッセージを処理 Cold appliance (standby) はHot applianceと同一の構成 Primaryがダウンした場合に処理を引き継ぐ アプリケーションからはシングル構成の アプライアンスが再起動したように見える ノード間でのデータの複製は同期的に行われる メッセージと構成情報 ノード間の高速なデータ通信(RoCE) フェールオーバー実施後のデータの再同期中はメッセー ジングが一時的に利用できない 40 © 2014 IBM Corporation IBM MessageSightの管理オブジェクト Message Hub Endpoint やPolicyをグループ化する単位 構成、監視、管理の単位となりアプリケーションの特性に応じて分割可能 Endpoint 接続を受け付けるIPアドレス、ポート番号やクライアントの種類(MQTT、JMS)等を設定 Connection Policy Endpointへ接続するユーザーの認可に利用される Messaging Policy トピックへのPublish/Subscribeや、キューに対するsend/receive/browseの認可に利用される Message Hub Endpoint 1 Endpoint 2 Connection Policy1 Connection Policy2 Messaging Policy1 Messaging Policy2 Messaging Policy3 IBM MessageSightの管理オブジェクトの設定イメージ 41 © 2014 IBM Corporation MessageHubの構成 1.Web UIのメニューより、 「Messaging」 → 「Message Hubs」を選択 2.Message Hubの 追加アイコンをクリック 3.名前と説明を 記入して保存 42 © 2014 IBM Corporation ConnectionPolicyの構成 1.Web UIのメニューより、 「Messaging」→「Message Hubs」 を選び、作成した Message Hubの 編集アイコンをクリック 2.「Connection Policies」タブを 開き、追加アイコンをクリック 3.必要な項目を記入し、保存 43 © 2014 IBM Corporation MessagingPolicyの構成 1.Message Hubの編集画面より 「Messaging Policies」タブを選択 2.必要な項目を記入し、保存 44 © 2014 IBM Corporation MessageSight for Developers 以下のサイトから無償ダウンロード可能です “IBM MessageSight for Developers is here!” https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f607d87787327/entry/ibm_messagesight_for_developers_is_here?lang=en MQTTクライアント: 無償ダウンロード可能です 上記の”IBM MessageSight for Developers is here!” サイト内 MQTT.org Java版、JavaScript版、C版があります 45 © 2014 IBM Corporation IBM MessageSight無償版、MQTTクライアントのダウンロード 「IBM MessageSight for Developers」、Client Packを利用して、無償で利用可能 ダウンロードサイト https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-607d87787327/entry/download?lang=en MQTTクライアント・ダウンロード MQTTサーバー・ダウンロード 46 Mobile Messaging & M2M Client Pack IBM MessageSight JMS Client Pack WebSphere MQ ( Trial, Developers) IBM MessageSight for Developers © 2014 IBM Corporation Mobile Messaging & M2M Client Pack MQTTメッセージを送受信するブラウザベースのユーティリティ 47 © 2014 IBM Corporation YouTubeデモ: MessageSight + MQTT http://www.youtube.com/watch?v=kx6Pg5lqx04 48 © 2014 IBM Corporation “Internet of Things”を実現する WebSphereのメッセージング・テクノロジー 「MessageSightアプライアンス」およびWebSphereのM2Mテクノロジーの詳細については 弊社営業へご相談ください M2Mを実現する MQTTプロトコル MessageSight メッセージングハブ 豊富なバックエンド サーバー機能 IBM Integration Bus MQTT Client Telemetry Service IBM MessageSight WebSphere MQ MQTT Client MQTT Client 49 InfoSphere Streams © 2014 IBM Corporation 検証環境構成(案) MQTTクライアントライブラリーは、以下のサイトからダウンロード可能です https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f607d87787327/entry/download?lang=en ● MQTTクライアントライブ ラリーを使って実装 ● 実機器での検証、または PC上でシミュレーション用の アプリケーションによる検証 MQTT Client ● MQTT専用のゲートウェイ機能を もつ専用アプライアンスを利用 ● バックエンドとの接続や、 アプリケーションロジックは、 検証内容に応じて利用を検討 IBM IBM Integration Integration Bus Bus 広範な接続性と柔軟な 広範な接続性と柔軟な 連携をサポートするESB 連携をサポートするESB IBM MessageSight IBM Integration Bus MQTT Client MQTTクライアント クライアント MQTTクライアント クライアント メッセージを送受信 メッセージを送受信 するクライアント機能 するクライアント機能 50 IBM IBM MessageSight MessageSight MQTTメッセージング MQTTメッセージング 処理に特化した 処理に特化した 「メッセージング・ハブ」 「メッセージング・ハブ」 InfoSphere Streams © 2014 IBM Corporation MQTTクライアントの稼動条件 MQTTクライアントのシステム前提条件(詳細) System Requirements for IBM Mobile Messaging and M2M Client Pack MA9B http://www-01.ibm.com/support/docview.wss?rs=4043&uid=swg27036811 システム前提条件(抜粋) JavaScript RFC6455(WebSocket)に準拠しているブラウザ Java JSE 1.5 or higher that is "Java Compatible". C iOS 6.0 and future OS fix packs WebSphere MQ Telemetry v7.5でサポートされているCクライアントのプラットフォーム 51 © 2014 IBM Corporation ご参考リンク MQTT関連 MQTT V3.1 Protocol Specification http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html MQTT.org ホームページ http://mqtt.org/ Eclipse Paho project ホームページ http://eclipse.org/paho/ IBM Redbook「Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ Telemetry」 http://www.redbooks.ibm.com/abstracts/sg248054.html IBM MessageSight関連 IBM MessageSight パフォーマンスレポート http://www-01.ibm.com/support/docview.wss?uid=swg24035590 マニュアル IBM MessageSight Information Center(マニュアル) http://pic.dhe.ibm.com/infocenter/ism/v1r0m0/index.jsp MQTT クライアント プログラミング・リファレンス(マニュアル) http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/index.jsp?topic=%2Fcom.ibm.mm.tc.doc%2Ftc00200_.htm 発表レター IBM MessageSight発表レター http://www-01.ibm.com/common/ssi/rep_ca/0/760/JAJPJP13-0140/JAJPJP13-0140.PDF IBM MessageSight V1.1発表レター http://www-01.ibm.com/common/ssi/rep_ca/7/760/JAJPJP13-0637/JAJPJP13-0637.PDF ダウンロード 「IBM MessageSight for Developers」、Client Packダウンロードページ https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-607d87787327/entry/download?lang=en developerWorks MQTT、IBM MessageSightのご紹介 - IBM MessageSight for Developersを使ってMQTTを体験する https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-607d87787327/entry/download?lang=en 52 © 2014 IBM Corporation 53 © 2014 IBM Corporation ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目 的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありませ ん。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかな る保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責 任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすこ とを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むもので もありません。 本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するも のではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつで も変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資料に含ま れている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したもので も、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいて います。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレー ジ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと 同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたもの です。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、InfoSphere、WebSphere は、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。 他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。 現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。 JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。 54 © 2014 IBM Corporation 54
© Copyright 2024