“internet of things” -...

54
© 2014 IBM Corporation “Internet of Things” とが繋がで広が”Connected Life” May 30, 2014 Tohru Suzuki WebSphere, IBM Japan

Upload: tranthien

Post on 20-May-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

© 2014 IBM Corporation

“Internet of Things”

モノとモノが繋がるインターネットで広がる”Connected Life”

May 30, 2014

Tohru Suzuki

WebSphere, IBM Japan

© 2014 IBM Corporation2

� Mobile B2C

• コンシューマーにとって“anytime, anywhere”の銀行手続きや保険手続き、株取引などを実現することによる高い満足度の実現

• MobileやSMSを通したコンシューマーとの新しいコミュニケーションチャネルの実現

� Mobile B2E & B2B

•現場作業者との効果的な連携による大幅な生産性の向上

•サプライ・チェーンの処理における効率と正確性の大幅な向上

•ビジネス・パートナーとのセキュアな情報交換・共有を実現

� (Mobile) M2M

•Machine と machineをつないでデータやイベントを伝達・交換・発信し、新たなビジネス機会を創出する

• “Internet of Things” –

センサーやデバイスからの大量の情報とその効果的な活用が “smarter planet”の実現を促進する

Mobile …ビジネス成長の新しいフロンティア

© 2014 IBM Corporation3

�HTTPはこれまでのデータ伝達をリードしてきました�シンプルな要求/応答型モデル

�PC, ラップトップ, タブレット, スマートフォンなどさまざまなデバイス

で使用可能

�ワイヤレスやM2Mでの通信に最適化されていない

�Mobileネットワークでは低速かつ低信頼性が問題に

�MobileやM2Mでは新たな挑戦が表面化しています

�イベント起動型イベント起動型イベント起動型イベント起動型でリアルタイムのモデルが必要とされています

�1 対対対対 多多多多のpublish型での情報伝達

�イベントが発生するタイミングでのlistenが必要

�小さいパケットのデータを大量・高頻度大量・高頻度大量・高頻度大量・高頻度に送受信

�装置への接続など低信頼性ネットワークでも高い信頼性高い信頼性高い信頼性高い信頼性でのプッシュ通知が必要

なぜmobile/machine-to-machineには「メッセージング」か?

© 2014 IBM Corporation4

モノモノモノモノ

ヒトヒトヒトヒト

場所場所場所場所

ヒトヒトヒトヒト

10億億億億

50億億億億

500億億億億

変化変化変化変化点点点点

グローバルグローバルグローバルグローバルなななな接続性接続性接続性接続性

一人ひとりの一人ひとりの一人ひとりの一人ひとりのモバイルモバイルモバイルモバイル

デジタル社会デジタル社会デジタル社会デジタル社会持続可能な成長持続可能な成長持続可能な成長持続可能な成長

Internet of Things – BigDataの牽引力

© 2014 IBM Corporation5http://www.gsma.com/newsroom/gsma-announces-the-business-impact-of-connected-devices-could-be-worth-us4-5-trillion-in-2020/

“Internet of Things”物と物が繋がるインターネットでの新しい市場の予測

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億ドル

• 「人と人」、「人とモノ」から「モノとモノ」へ

• M2M: Machine-to-Machine

のネットワーク

© 2014 IBM Corporation6

3.クルマへ「アンロック」コマンドが送付され、

クルマがアンロックされる

1. オーナーが

「開錠」キーを押すと

2. Sprintがユーザー

を認証し

SPRINT VELOCITY℠℠℠℠

• MessageSightの採用に

より、レスポンスタイムが

30秒から→50ミリ秒ミリ秒ミリ秒ミリ秒へ

改善された

Connected car

MessageSight お客様事例 - “Sprint Velocity”

© 2014 IBM Corporation7

“Connected Pipeline” – リアルタイムでの制御と保守

• 17,000kmのパイプライン

PumpsSpill locationRefineriesPressureTemperatureStorage

• 30,000個のセンサーで監視

パイプラインのセンサーにおいて

油圧の急減が検知されたら

数秒で元栓を締める(保守要員の到着を待つ必要がない)

従来は…

• 数分間隔でのポーリング• 要員の派遣により対応

M2Mで送信された

データを解析し適切な対応を指示

© 2014 IBM Corporation8

“Connected City” – より安全な暮らしへ

衝突の衝撃!急ブレーキ!

エアバッグの使用

警告!

警告!

警告!

救命ヘリ出動!

警告!

警告!

© 2014 IBM Corporation9

“Connected TV”

本社オフィス

多くのユーザー双方向の通信

に登録

視聴者のチャンネルの変化を即座に通知

視聴者の志向に応じたコマーシャルを放送

視聴者の好みにあった

コンテンツを配信

© 2014 IBM Corporation10

� St. Juda Medical病院では、心臓ペースメーカーを装着されている患者さんの体調を遠隔監視

� M2Mの仕組みにより、体調変化の予兆や来院回数の間隔から早期に異常を検知

source: sjm.com

患者さんの脈拍、心拍数などを病院へ送信

患者さんの状態をほぼリアルタイムで確認

“Connected Patient” – よりよい生活へ

© 2014 IBM Corporation11

顧客からの顧客からの顧客からの顧客からの株取引要求株取引要求株取引要求株取引要求

� 第三者との接続を必要としない、セキュアで信頼性の高いメッセージ交換

� 最適化されたストリーム・データ(株価, 市場ニュース…)

� 高速なレスポンスによる高次元の顧客体験 (準リアルタイムでの情報配信)

モバイル・アプリケーション(個人投資家向けの例)

株価情報株価情報株価情報株価情報

株価情報等を多数のユーザーへ一斉同報配信

株の売買要求を高い信頼性で送受信

© 2014 IBM Corporation12

� M2Mのトラフィックに最適化されたMQTTプロトコル

� 大量、高速なメッセージングを実現するハブとしてのMessageSight

IBMのメッセージング・テクノロジー

MQTT Client

MQTT Client

MQTT Client

MQTTクライアントクライアントクライアントクライアント

メッセージを送受信するクライアント機能

MQTTクライアントクライアントクライアントクライアント

メッセージを送受信するクライアント機能

IBM MessageSight

IBM MessageSight

大量のメッセージング処理に特化した「メッセージング・ハブ」

IBM MessageSight

大量のメッセージング処理に特化した「メッセージング・ハブ」

M2Mを実現するMQTTプロトコル MessageSight

メッセージングハブ

IBM Integration Bus

WebSphere MQ

Telemetry Service

InfoSphere Streams

IBM Integration Bus

広範な接続性と柔軟な連携をサポートするESB

IBM Integration Bus

広範な接続性と柔軟な連携をサポートするESB

WebSphere MQ

メッセージングの基盤を提供

WebSphere MQ

メッセージングの基盤を提供豊富なバックエンド

サーバー機能

© 2014 IBM Corporation13

MQTT: MQ Telemetry Transport

軽量、非同期、双方向、大量処理、m2mプロトコル

© 2014 IBM Corporation14

1. HTTPと比べて圧倒的に軽量なプロトコルと比べて圧倒的に軽量なプロトコルと比べて圧倒的に軽量なプロトコルと比べて圧倒的に軽量なプロトコル• トラフィックが10分の1に ⇒ 10倍のスループット、電池の消費量が10分の1以下に

• MQTTのヘッダーは2バイト

2. 非同期、双方向通信:非同期、双方向通信:非同期、双方向通信:非同期、双方向通信: 電話(電話(電話(電話(HTTP)からメール・チャット()からメール・チャット()からメール・チャット()からメール・チャット(MQTT)へ)へ)へ)へ

• モバイルでのnativeなpush通知が可能に

• Pub/Subによる大量同報通知

3. オープン仕様:オープン仕様:オープン仕様:オープン仕様: ベンダーロックインを回避ベンダーロックインを回避ベンダーロックインを回避ベンダーロックインを回避

• 標準化によるデバイス開発コストの削減に寄与

• 通信が切れる事態を想定した機能など

MQTTとは

© 2014 IBM Corporation15

Publish/Subscribe型メッセージ配信型メッセージ配信型メッセージ配信型メッセージ配信

① サブスクライバーが、受信したいトピックにサブスクライブ(購読)登録

② パブリッシャーが、トピックに対してパブリッシュ(送信)

③ 該当トピックにサブスクライブ登録しているサブスクライバーにメッセージが配信さ

れます

MQTT

サーバー

MQTT

サーバーサブスクライバーB2サブスクライバーB2

サブスクライブ(トピックA)

サブスクライバーB1サブスクライバーB1

サブスクライバーA2サブスクライバーA2

サブスクライバーA1サブスクライバーA1

・・・・・・・・

パブリッシャーAパブリッシャーAサブスクライブ(トピックA)

サブスクライブ(トピックB)

サブスクライブ(トピックB)

パブリッシャーBパブリッシャーB

パブリッシュトピックA

トピックA

トピックA

トピックB

トピックB

パブリッシュトピックB

送信側受信側

�送信プログラムと受信プログラムが”topic”(トピック)を介して1対Nで通信

サブスクライバーBnサブスクライバーBnサブスクライブ(トピックB)

トピックB

非同期、双方向通信を実現するPublish / Subscribe型メッセージ通信

© 2014 IBM Corporation16

接続が切れている間の配信メッセージ – “Clean セッション”

CleanSession = true

� サーバーはクライアントを「覚えて」おらず、切断後には新たなCleanSessionが開始されます

CleanSession = false

� サーバーはクライアントが切断した際にそのクライアントのことを「覚えて」います

� サーバーは当該クライアントのsubscriptionに該当するメッセージを保持し、当該クライアントが再接続

した時点で保持したメッセージを伝達します

MQTT

サーバー

Subscriptionサブスクライバー1

パブリッシャー1

パブリッシャー2

PublishTopic A

Topic A

PublishTopic A

•クライアントが切断された際に、サーバーがそのクライアントを「覚えている」かを指定します

サブスクライバー3Subscription

Topic A

サブスクライバー2Subscription

CleanSession = true

CleanSession = false

Topic A

© 2014 IBM Corporation17

最新メッセージを常に保持 – “Retained メッセージ”

� “Retained”の仕組みにより、サーバーは最新(最後)のメッセージを保持します

� クライアントが再接続した時点で、 “ retained”メッセージは伝達されます

� サーバーはトピック毎に「ひとつだけ」retainedメッセージを保持します

� “Retained”メッセージの使用ではpublisherはひとつだけであることが推奨されています

� “Retained”メッセージは長さがゼロのメッセージを送付することにより削除されます

MQTT

サーバー(Pub/Sub

ブローカー)

Subscriptionサブスクライバー1

パブリッシャーPublish

Topic A

Topic A

•Publisherはメッセージを送出時に、そのメッセージを”retain”するかを指定します

•その後subscribeしたクライアントへ、サーバーからメッセージが伝達されます

サブスクライバー3Subscription

Topic A

サブスクライバー2Subscription

Topic A

Topic A

© 2014 IBM Corporation18

� 予期せずクライアントが切断された場合に、指定したトピックへ自動的にメッセージ送信する機能

� ネットワーク断線やデバイスの故障などで、接続が切れた場合に通知メッセージを送信できる

� クライアントは事前にLWTメッセージをMQTTサーバーに登録しておく(トピック名、メッセージを

指定)

� クライアントが切断された場合には、MQTTサーバーが登録されていたLWTメッセージの内容に

したがってメッセージをパブリッシュ

� LWTメッセージを受け取ったアプリケーションが適切なアクションを実行できる

MQTT

Server

サブスクライバー1

サブスクライバー2Subscription

LWT

モニター・アプリケーション

© 2014 IBM Corporation

LWT

クライアント・デバイスなど

MQTT の特徴: Last Will & Testament (LWT) / 遺言メッセージ

© 2014 IBM Corporation19

PublisherとSubscriber – 非依存、非同期、双方向

� Subscriberは、関心のある経路へsubscribeするだけで、、

© 2014 IBM Corporation20

“35x139/1402261400/

weather”

publisher

トピックの構造

パブリッシュ

サブスクライブ

“35x139/1402261400/

congestion”

地点座標

時刻

カテゴリー

“2/26 午後2時の情報は?”

“+/201402261400/#”

“35x139地域の情報は?”

“35x139/#”

Topic – 階層構造で指定

© 2014 IBM Corporation21

QoS(Quality of Service)

�クライアントの不安定な稼働環境を想定し、クライアント⇔サーバー間のメッセージ送達保証レベルを3段階で指定可能

� QoS = 0 :メッセージは1回のみ送信される

(最も速い、障害時には保証されない)

� QoS = 1:メッセージは最低1回は送信先に送られる

(重複の可能性あり)

� QoS = 2:メッセージは必ず正確に1回だけ送信先に送られる

(もっとも信頼性が高い)

サブスクライブ

サブスクライバー(受信側)

MQTTサーバー(Pub/Subブローカー)

QoS 0/1/2 QoS 0/1/2

PUBLISH

QoS 0

PUBLISH

QoS 1

PUBACK

PUBLISH

QoS 2

PUBREC

PUBREL

PUBCOMP

サービスレベルを指定可能 – “Quality of Service”

パブリッシャー(送信側)

パブリッシュ

© 2014 IBM Corporation22

Source: http://stephendnicholas.com/archives/1217

3G Wifi

HTTPS MQTT HTTPS MQTT

receive

messages / hour 1,708 160,278 3,628 263,314

% battery / msg 0.01709 0.00010 0.00095 0.00002

send

messages / hour 1,926 21,685 5,229 23,184

% battery / msg 0.00975 0.00082 0.00104 0.00016

HTTPS と MQTT – パフォーマンス比較

� HTTPS vs MQTT on Android.

� スループットと電池の使用量の顕著な差

© 2014 IBM Corporation23

import org.eclipse.paho.client.mqttv3.*;

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);

MqttDeliveryToken token = topic.publish(message);

token.waitForCompletion(10000);

client.disconnect();

} catch (Exception e) {

e.printStackTrace();

}

}

}

・・・MQTT用のパッケージ

・・・クライアントの作成

・・・接続オプションの設定・・・クリーン・セッション設定・・・接続の実施

・・・トピックの作成・・・メッセージの作成・・・QoSの設定

・・・パブリッシュの実施・・・確認応答待ち

・・・接続の切断

※上記は簡略化したコード・イメージであり、稼動を保証するものではありません。

MQTT: シンプルなコードで実装可能

© 2014 IBM Corporation24

/* 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);

}

プログラミング例 – MQTT in JavaScript

© 2014 IBM Corporation25

�Broadcastで実現。

�コンテンツによる送付範囲の限定は困難。

�MQTTのPublish/Subscribeで実現。

�Topicの構造化によりコンテンツに応じて

送付対象範囲を限定・特定することが可能。

一対多の通信

�Network/Carrierにより、push通知が困難

な場合があると想定。(サーバー側でクライアントのグローバルIP

アドレスが不明・入手困難など)

�クライアント側から接続してから通信が開始されるため、ネイティブなpush通知が

可能

スマートフォンとの接続

�IPアドレス・ポートへ送付するのみ。

�移動体通信においてIPアドレス・ポートの

使用者が変化する事態への対応が困難。

�個別に接続先を認識して接続し、必要に応じて認証・認可を行ってから送受信を行う

セキュリティ

�一回送付するのみ(「送りっぱなし」)�TCPの再送機能およびMQTTのQoS機能

により実現通信の信頼性

UDPMQTT over TCP

MQTT over TCPとUDPの比較

© 2014 IBM Corporation26

� HTTPではリクエストに対するレスポンスとして情報が伝達される(擬似push)� クライアントからの問い合わせが行われるまで、サーバーからの情報が伝達されない

� MQTTでは情報が発生する都度、リアルタイムのpushで情報が伝達される

HTTP MQTT

送信したい情報が発生

送信したい情報が発生

問い合わせ(空振り)

問い合わせ

情報が伝達される

遅延

即時にpushで伝達

接続の確立

問い合わせ(空振り)

問い合わせ

情報が伝達される

遅延

送信したい情報が発生即時にpushで伝達

送信したい情報が発生

クライアント

リクエスト/レスポンス型通信(HTTP)とリアルタイム・プッシュ型通信(MQTT)

© 2014 IBM Corporation27

� クライアントからの問い合わせの頻度を多くすることでHTTPのサーバーからクライアントへの情報伝達での遅延を小さくすることができる

� 空振りに終わる「問い合わせ」リクエストが頻繁になり、通信コストが増大する

HTTP MQTT

送信したい情報が発生

送信したい情報が発生

問い合わせ(空振り)

情報が伝達される

遅延 即時にpushで伝達

接続の確立

送信したい情報が発生即時にpushで伝達

送信したい情報が発生

情報が伝達される

遅延

問い合わせ(空振り)

問い合わせ

問い合わせ(空振り)

問い合わせ(空振り)

問い合わせ(空振り)

問い合わせ(空振り)

問い合わせ(空振り)

問い合わせ

問い合わせ(空振り)

問い合わせ(空振り)

問い合わせ(空振り)

問い合わせ(空振り)

リクエスト/レスポンス型通信(HTTP)とリアルタイム・プッシュ型通信(MQTT)

© 2014 IBM Corporation28

M2M – MobileFirstでのアプリ開発

Worklight API

Worklight Hybrid app –

HTML5, CSS, JavaScript, Images

Device APIs

Worklight

Javascript

API

Common

ControlsDevice API

Worklight

API

messagingjavascript

m2m plugin

m2m PhoneGap plugin built on IBM contributed eclipse paho eclipse.org/paho

m2m for JavaScript

javascript/native Bridge (PhoneGap)

28

© 2014 IBM Corporation29

MQTTを使用したHTML5 web appのデモ

PublisherSubscriber

Publisher SubscriberAutoRemote/<name>

AutoRemote/<name>/settings

© 2014 IBM Corporation30

� M2Mのトラフィックに最適化されたMQTTプロトコル

� 大量、高速なメッセージングを実現するハブとしてのMessageSight

IBMのメッセージング・テクノロジー

MQTT Client

MQTT Client

MQTT Client

MQTTクライアントクライアントクライアントクライアント

メッセージを送受信するクライアント機能

MQTTクライアントクライアントクライアントクライアント

メッセージを送受信するクライアント機能

IBM MessageSight

IBM MessageSight

大量のメッセージング処理に特化した「メッセージング・ハブ」

IBM MessageSight

大量のメッセージング処理に特化した「メッセージング・ハブ」

M2Mを実現するMQTTプロトコル MessageSight

メッセージングハブ

IBM Integration Bus

WebSphere MQ

Telemetry Service

InfoSphere Streams

IBM Integration Bus

広範な接続性と柔軟な連携をサポートするESB

IBM Integration Bus

広範な接続性と柔軟な連携をサポートするESB

WebSphere MQ

メッセージングの基盤を提供

WebSphere MQ

メッセージングの基盤を提供豊富なバックエンド

サーバー機能

© 2014 IBM Corporation31

MessageSight

M2Mとモバイルのためのメッセージング・ゲートウェイ アプライアンス

© 2014 IBM Corporation32

�IBM MessageSightはメッセージングに特化したアプライアンスです

�お客様のビジネスにおいて、MobileやM2M(machine-to-machine)の爆発的な増加・進

化への対応を実現します

�お客様の既存のメッセージング基盤をシンプルかつセキュアに強化し、インターネットへのM2M接続を実現します

�リアルタイムの解析処理やイベント処理を可能にします

Introducing IBM MessageSight

© 2014 IBM Corporation33

IBM MessageSight - M2Mに最適なメッセージング・アプライアンス

MassiveScale

Secureand

Reliable

Easyto Use

大量のメッセージング大量のメッセージング大量のメッセージング大量のメッセージング セキュリティと信頼性セキュリティと信頼性セキュリティと信頼性セキュリティと信頼性 容易な構築と運用容易な構築と運用容易な構築と運用容易な構築と運用

1台あたりの能力- 同時接続100万台- 秒間1000万件以上のメッセージ

HTTPSとの比較- 93倍高速- 1/10の消費電力- 1/8の帯域使用

DMZに配置できるセキュリティー- 専用ハードウェア、ファームウェア- FIPS 140-2 対応、アクセス制御

信頼性の高い転送- QoS(Quality of Service)オプション- High Availability 構成可能

構築- 30分で稼動状態に構成可能- WebGUIからタスクベースで設定

運用管理- 自動的なモニターとGUI画面表示- 最適化された管理機能

© 2014 IBM Corporation34

Firmware

12のネットワークインターフェース

1GbE ポート x 8

�管理用ポート x 2

�データ処理用ポート x 6

40GbE ポート x 4

構成構成構成構成管理管理管理管理: WebUI or CLI

モニタリングも可能モニタリングも可能モニタリングも可能モニタリングも可能

DMZへの配置可能なアプライアンスとしてのセキュリティ- 専用ハードウェア、専用ファームウェア- 署名および暗号化されたファームウェア

MassiveScale

Secureand

Reliable

Easyto Use

ハードウェア- 2Uのアプライアンス- 専用ハードウェアによる最適化- 4 x 900 GBのハードディスク

IBM MessageSightの特長

© 2014 IBM Corporation35

最適化されたハードウェア・高パフォーマンス

・高セキュリティ

バックエンド接続機能

(MQ、JMS) 高可用性機能

(HA機能)MQTTサーバーランタイム

運用・管理機能

MQTTに特化したパフォーマンス

セキュリティー機能(ポリシーベース)・認証認可

ポリシーベースの構成管理(効率的な

構成、監視、管理)

汎用サーバーで実現される部分

ランタイム

ハードウェア

構成管理

運用管理

IBM MessageSight

構成管理画面

セキュリティセキュリティセキュリティセキュリティパフォーマンスパフォーマンスパフォーマンスパフォーマンス 高機能・容易性高機能・容易性高機能・容易性高機能・容易性

MQTTメッセージング処理に

最適化された桁違いの性能

DMZに配置できる高セキュリティ性

ポリシーベースのアクセス制御

容易、短期間での構築HA機能、運用管理機能も充実

IBM MessageSightの価値

アプライアンスとしてMQTTメッセージング機能に特化し最適化

© 2014 IBM Corporation36

� WebサイトにてIBM MessageSightのパフォーマンス・レポートを公開

http://www-01.ibm.com/support/docview.wss?uid=swg24035590

Key Result

• 毎秒40万以上のメッセージを不揮発性メディアにストア

• 100万のMQTT v3.1のデバイスが60秒以内に接続

• 35万のMQTT v3.1のアプリケーションから、毎秒1メッセージを処理

• 毎秒1500万のメッセージを大量のアプリケーションにパブリッシュ

• 毎秒1万メッセージの処理を平均遅延85マイクロ秒で処理

• 毎秒20万のMQTT QoS0のメッセージをWMQバックエンドに転送

IBM MessageSight パフォーマンスレポート

© 2014 IBM Corporation37

Websocket:AjaxやComet などと違い、

サーバーとクライアント間で、一度接続が確立すると双方向通信を行うことができる通信規格。HTML5に追加されている。

� 組込デバイス用のC/Java

ライブラリーの提供

� Java EEやESBと連携するためのJMSサポート

� JavaScript APIによりHTMLベースの

アプリケーションでも双方向通信を容易に実現

� シームレスなMQとの連携をサポートするMQ Connectivity機能

� ブラウザ・ベースの管理WebUI

IBM MessageSightの配置と構成

© 2014 IBM Corporation38

� 構成に必要な時間は30分程度

� 用意するもの

� MessageSight本体

� Ethernetケーブル 2本

� USB接続のキーボード

� VGA接続のモニター

� ブラウザが利用できるPC

H/Wをラックに設置をラックに設置をラックに設置をラックに設置H/Wをラックに設置をラックに設置をラックに設置をラックに設置

LANケーブルの接続ケーブルの接続ケーブルの接続ケーブルの接続LANケーブルの接続ケーブルの接続ケーブルの接続ケーブルの接続

・管理用ポート・管理用ポート・管理用ポート・管理用ポート(mgt0)を管理用ネットワークに接続を管理用ネットワークに接続を管理用ネットワークに接続を管理用ネットワークに接続・データ通信用のポート(・データ通信用のポート(・データ通信用のポート(・データ通信用のポート(eth0)をデータ通信用ネットワークに接続をデータ通信用ネットワークに接続をデータ通信用ネットワークに接続をデータ通信用ネットワークに接続

管理用管理用管理用管理用CLIの起動とログインの起動とログインの起動とログインの起動とログイン管理用管理用管理用管理用CLIの起動とログインの起動とログインの起動とログインの起動とログイン・モニターとキーボードを接続・モニターとキーボードを接続・モニターとキーボードを接続・モニターとキーボードを接続・電源を起動し、管理用・電源を起動し、管理用・電源を起動し、管理用・電源を起動し、管理用CLIがプロンプトを待機がプロンプトを待機がプロンプトを待機がプロンプトを待機・初期パスワードでログイン(・初期パスワードでログイン(・初期パスワードでログイン(・初期パスワードでログイン(admin/admin))))

管理用ポートの設定管理用ポートの設定管理用ポートの設定管理用ポートの設定管理用ポートの設定管理用ポートの設定管理用ポートの設定管理用ポートの設定・管理用ポートに・管理用ポートに・管理用ポートに・管理用ポートにIPアドレスアドレスアドレスアドレス/Default GWの割り当ての割り当ての割り当ての割り当て

次頁へ次頁へ次頁へ次頁へ

MessageSight 初期設定

© 2014 IBM Corporation39

MessageSight 初期設定

Web UIにログインにログインにログインにログインWeb UIにログインにログインにログインにログイン

・・・・PCを管理用ネットワークに接続し、ブラウザより下記を管理用ネットワークに接続し、ブラウザより下記を管理用ネットワークに接続し、ブラウザより下記を管理用ネットワークに接続し、ブラウザより下記URLにアクセスにアクセスにアクセスにアクセスhttps://<管理ポートのIPアドレス>:9087

・ログイン画面より・ログイン画面より・ログイン画面より・ログイン画面より ユーザーユーザーユーザーユーザーID::::admin、パスワード:、パスワード:、パスワード:、パスワード:adminでログインでログインでログインでログイン

管理ユーザーの設定変更管理ユーザーの設定変更管理ユーザーの設定変更管理ユーザーの設定変更管理ユーザーの設定変更管理ユーザーの設定変更管理ユーザーの設定変更管理ユーザーの設定変更

データ通信用ポートの設定データ通信用ポートの設定データ通信用ポートの設定データ通信用ポートの設定データ通信用ポートの設定データ通信用ポートの設定データ通信用ポートの設定データ通信用ポートの設定

・管理者のパスワードをデフォルトから変更・管理者のパスワードをデフォルトから変更・管理者のパスワードをデフォルトから変更・管理者のパスワードをデフォルトから変更・・・・SSHログイン用の設定(オプション)ログイン用の設定(オプション)ログイン用の設定(オプション)ログイン用の設定(オプション)

・・・・eth0ににににIPアドレス、デフォルトアドレス、デフォルトアドレス、デフォルトアドレス、デフォルトGWの割り当ての割り当ての割り当ての割り当て

・接続のテスト・接続のテスト・接続のテスト・接続のテスト

ライセンスの承諾ライセンスの承諾ライセンスの承諾ライセンスの承諾ライセンスの承諾ライセンスの承諾ライセンスの承諾ライセンスの承諾

設定の保存設定の保存設定の保存設定の保存設定の保存設定の保存設定の保存設定の保存

© 2014 IBM Corporation40

� Hot applianceとCold applianceのペアにより構成

� Hot appliance(Primary) がメッセージを処理

� Cold appliance (standby) はHot applianceと同一の構成

� Primaryがダウンした場合に処理を引き継ぐ

� アプリケーションからはシングル構成のアプライアンスが再起動したように見える

� ノード間でのデータの複製は同期的に行われる

� メッセージと構成情報

� ノード間の高速なデータ通信(RoCE)

� フェールオーバー実施後のデータの再同期中はメッセージングが一時的に利用できない

MessageSight 高可用性

© 2014 IBM Corporation41

� 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の管理オブジェクトの設定イメージ

IBM MessageSightの管理オブジェクト

© 2014 IBM Corporation42

MessageHubの構成

1.Web UIのメニューより、「Messaging」 →

「Message Hubs」を選択

2.Message Hubの

追加アイコンをクリック

3.名前と説明を

記入して保存

© 2014 IBM Corporation43

ConnectionPolicyの構成

1.Web UIのメニューより、「Messaging」→「Message Hubs」

を選び、作成した Message Hubの

編集アイコンをクリック

2.「Connection Policies」タブを

開き、追加アイコンをクリック

3.必要な項目を記入し、保存

© 2014 IBM Corporation44

MessagingPolicyの構成

1.Message Hubの編集画面より「Messaging Policies」タブを選択

2.必要な項目を記入し、保存

© 2014 IBM Corporation45

�以下のサイトから無償ダウンロード可能です�“IBM MessageSight for Developers is here!”

https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-

607d87787327/entry/ibm_messagesight_for_developers_is_here?lang=en

�MQTTクライアント: 無償ダウンロード可能です

�上記の”IBM MessageSight for Developers is here!”

サイト内

�MQTT.org

�Java版、JavaScript版、C版があります

MessageSight for Developers

© 2014 IBM Corporation46

� 「IBM MessageSight for Developers」、Client Packを利用して、無償で利用可能

� ダウンロードサイトhttps://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-607d87787327/entry/download?lang=en

� MQTTクライアント・ダウンロード

� Mobile Messaging & M2M Client Pack

� IBM MessageSight JMS Client Pack

� MQTTサーバー・ダウンロード

� WebSphere MQ ( Trial, Developers)

� IBM MessageSight for Developers

IBM MessageSight無償版、MQTTクライアントのダウンロード

© 2014 IBM Corporation47

� MQTTメッセージを送受信するブラウザベースのユーティリティ

Mobile Messaging & M2M Client Pack

© 2014 IBM Corporation48

YouTubeデモ: MessageSight + MQTT

� http://www.youtube.com/watch?v=kx6Pg5lqx04

© 2014 IBM Corporation49

� 「MessageSightアプライアンス」およびWebSphereのM2Mテクノロジーの詳細については

弊社営業へご相談ください

“Internet of Things”を実現するWebSphereのメッセージング・テクノロジー

MQTT Client

MQTT Client

MQTT Client

IBM MessageSight

M2Mを実現するMQTTプロトコル

MessageSight

メッセージングハブ

IBM Integration Bus

WebSphere MQ

Telemetry Service

InfoSphere Streams

豊富なバックエンドサーバー機能

© 2014 IBM Corporation50

● MQTTクライアントライブ

ラリーを使って実装● 実機器での検証、またはPC上でシミュレーション用の

アプリケーションによる検証

MQTT Client

MQTT Client

MQTTクライアントクライアントクライアントクライアント

メッセージを送受信するクライアント機能

MQTTクライアントクライアントクライアントクライアント

メッセージを送受信するクライアント機能

IBM MessageSight

IBM MessageSight

MQTTメッセージング

処理に特化した「メッセージング・ハブ」

IBM MessageSight

MQTTメッセージング

処理に特化した「メッセージング・ハブ」

IBM Integration Bus

InfoSphere Streams

IBM Integration Bus

広範な接続性と柔軟な連携をサポートするESB

IBM Integration Bus

広範な接続性と柔軟な連携をサポートするESB

● MQTT専用のゲートウェイ機能を

もつ専用アプライアンスを利用

● バックエンドとの接続や、アプリケーションロジックは、検証内容に応じて利用を検討

� MQTTクライアントライブラリーは、以下のサイトからダウンロード可能です

https://www.ibm.com/developerworks/community/blogs/c565c720-fe84-4f63-873f-

607d87787327/entry/download?lang=en

検証環境構成(案)

© 2014 IBM Corporation51

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クライアントのプラットフォーム

© 2014 IBM Corporation52

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

ご参考リンク

© 2014 IBM Corporation53

© 2014 IBM Corporation54 54

ワークショップ、セッション、および資料は、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やその関連会社の米国およびその他の国における商標または登録商標です。