IoTプラットフォームとは何か?

IoTについて日々記事を書いていると、最近「IoTプラットフォーム」界隈があついなと感じる。

 IoTプラットフォーム

ニュースを見ているとよく出てくる言葉だが、正直意味が分からないと思うヒトも多いのではないだろうか?

そもそも何ができるのか、何がいいのかからわからない。今回の「IoTをゼロベースで考える」は、IoTプラットフォームって何なのか?ということに迫る。

おさらい:IoTとはなにか?

今更だが、IoTの定義を考える。センサーで取得した情報をインターネットを経由して、クラウドにアップロードする。そこには学習済みの人工知能が待ち構えていて、なんらかの判断をする。判断結果に基づいてモノに行動をする指示を返す。というものだ。

「センサー」といっているのは、なにも温度センサーや加速度センサーといった部品だけではない。カメラかもしれないし、マイクかもしれない。なんらかの状態を取得するのが「センサー」のレイヤーだ。

IoTプラットフォームとは

電気信号を運動に変える、「アクチュエーター」部分は、実際の「動き」である場合もあるし、「スマートフォンの画面への表示」などである場合もある。

おおむねこの流れを実現するモノをIoTと呼んでいる。

クラウドに100万個のモノが接続してきたときをイメージする

先ほどの図で、クラウドに100万個のモノが接続して来たらどうなるだろう?

例えば、自動運転ができるクルマのビーコンが、前後との車両間隔を取得して、問題があればブレーキを自動的に踏むという例を見てみる。

まず、センサー(ビーコン)は、問題がなければ「問題なし」、問題があれば「問題あり」というステータスをクラウドシステムにアップロードする。

IoTプラットフォーム

「問題あり」となった場合だけ、アクチュエーターを作動させて(この場合だとブレーキを自動的に踏むということになる)、クルマが事故を起こさないようにするという動きをするのだ。

つまり、上の例では「クルマC」だけブレーキを踏ませるということになる。

つまり、このクラウドシステムでは、この一連の流れを100万個分、常に見張っていないといけないという状態であるということがわかるだろう。

プログラムを書いたことがないヒトはわかりづらいかもしれないが、実はこの常時見張っているというのが簡単ではないのだ。しかも、精度よく、スピーディーに処理をしなければならないので、クラウドシステムに使っているサーバの性能も要求される。つまり、費用的にもそれなりの設備投資が必要となるというのだ。

こんなことをやれるサービスは、どこにでもあるわけではない。もちろん、「10個だけしかモノが接続してこないようなクラウドサービス」は比較的簡単に作ることができると思われるが、数が増え、管理すべきパラメーターが多くなるとこの処理は非常に大変なものになる。

クラウド側でやりたいことは似通ってくる

センサーからクラウドに多くのデータは、次にクラウド上で何らかの処理を加えられ、アクチュエーターに指示が伝えられる。

クルマの例だと、「問題あり」ときたら、「ブレーキを踏め」とアクチュエーター(この場合、ブレーキ作動システム)に通知するという処理だ。

クルマの例では、

1.センサーが「問題あり」という状態を察知する(前後のクルマと近いことを知る)
2.クラウドで「問題なし」というステータスが「問題あり」というステータスに変わる
3.あらかじめ準備されたプログラムが、「問題あり」となったら「ブレーキを踏めというステータス」に変える
4.ブレーキ作動システムに「ブレーキを踏め」という情報が伝わり、ブレーキが自動的に踏まれる

という流れができるのだ。

この例をよく見ると、クラウド側の処理は2と3の部分が関係するが、2のところはあらかじめ準備されている枠にデータが入るだけ。3についてもあらかじめ準備されたプログラムでステータスが変わるだけ、ということがわかるだろう。

センサーの状態 クラウド上での状態 クラウド上でのステータス ブレーキの状態
問題なし 問題なし ブレーキ不要 ブレーキはなにもしない
問題あり 問題あり ブレーキ必要 ブレーキ作動!!

上の表を見るとわかるように、センサーの状態が「問題あり」となったとたん、クラウドに伝わり、クラウド経由でブレーキが踏まれれば事故は起きない。

IoTプラットフォームとは

ここまでの流れは、実はクルマでなくても使えるのだ。

例えば、スマートロックの場合、スマートフォンで「開ける」という指示をすると、クラウドにその指示がわたり、状態が「開ける」という状態になる。そうするとカギを管理するステータスが「カギをあけろ」という風に変わり、カギは自動的に開けられる。という風にだ。

先ほどの表に当てはめると、やっていることは変わらないことに気づくだろう。

センサーの状態 クラウド上での状態 クラウド上でのステータス ブレーキの状態
何もしない 問題なし カギ動作不要 カギはなにもしない
カギ開けボタンを押す カギ開け必要 カギ開け必要 カギを開ける!!

このように、IoTにおいてクラウド側の処理は、似通った処理をするケースが多い。一方で、前述したとおり、高速性や信頼性は非常に問われるという特徴もある。同時に世界中からすごい数のモノが接続してくる可能性だってあり得るのだ。

そういう利用シーンでも耐えられる、クラウドサービスをゼロから作るのはかなり大変だ。そこで、IoTプラットフォームという概念が登場する。

IoTプラットフォームというのは、IoTの流れ(系)の中で、主にクラウド側で必要な処理はあらかじめ準備して置き、簡単に利用できるサービスのことを呼ぶのだ。

センサー側まで面倒を見るIoTプラットフォーム

2016年2月、さくらインターネットは、モバイル通信ができる通信モジュールも含めたIoTプラットフォームを2016年中にリリースするということを宣言した。これまで通信料やモノにいれる通信モジュール、クラウドサービスはそれぞれ費用が発生していたが、これを一連の流れが何回起きたかという利用回数ベースでの課金をするというビジネスモデルを発表したのだ。(まだ実現されていないので、今後変わる可能性がある)

これは、モノ側が、センサーで取得した情報をクラウドに情報をアップロードする処理を作るのが大変なので、そこはある程度簡単にできるようにしますということなのだ。

また、さくらインターネットは通信などの設備部分のレイヤーを担当し、この記事で書いているようなことはアライアンスパートナーである、ウフルが提供するmilkcocoaと組み合わせることで実現できる。

モノを作るメイカーズからすると、モノづくりに専念でき、通信部分の心配をあまりしなくてもよくなるのだ。

人工知能が利用できるIoTプラットフォーム

Microsoft Azureは、そのプラットフォームの中で、Azure Machine Learningというモジュールを提供している。その名の通り、機械学習プラットフォームなので、クラウドにあげたデータを人工知能を使って解釈・指示することができるというのだ。

他のプラットフォームの場合、人工知能は自作するか、IBMのWatsonのような人工知能サービスと連携する必要があるのだが、Microsoftのサービスではそのプラットフォームの中で人工知能(機械学習)が利用可能なのだ。

課金ができるIoTプラットフォーム

Nifty Cloudが提供するIoTプラットフォームは、ニフティ会員に対して課金をすることができるというのだ。例えば月額1,000円のIoTサービスを作ったとしても、どうやって決済するのか、与信などはどうするのか?といった問題が発生する。そこで、ニフティでは課金プラットフォームを一定解放するというのだ。

他にも、Kiiが提供するIoTプラットフォームでは、販売店を紹介し、サポートまで対応するというのだ。主に米国と中国で展開するということだが、海外拠点などないスタートアップには心強い。

課題はアクチュエーターへの通知部分

これらのIoTプラットフォームがある中で、アクチュエーターへの指示までできることが特徴になっていないことは課題だ。

理由は、アクチュエーターに当たる部分まで考慮されているモノがまだ少ないからだ。スマートフォンやパソコンでセンシングデータを可視化したグラフを見るようなモノが多いという現状もあって、アクチュエータへの通知部分が充実しているというIoTプラットフォームが目立ってこない。

もちろん、対応していないというわけではないのだが、どの程度できるのか、についてはモノ側の対応も必要となるため、「アクチュエーターへの指示が特徴だ」というIoTプラットフォームが目立ってくるのはもう少し時間がかかるかもしれない。

IoTプラットフォームはぜひ使いこなしてほしい

IoTNEWSでも、IoT技術部で、Amazon AWS IoTを使って、いくつもの実験を行っている。

比較的安価で高度なことをやってのけるIoTプラットフォームをぜひ使いこなして、面白いIoT製品が生まれてほしい。

Previous

富士通ソーシアルサイエンスラボラトリ、VRディスプレイ「zSpace」向け多機能汎用ビューアー「FZViewer」を販売開始

ジェイアイエヌ、スポーツ・フィットネス領域におけるJINS MEMEの活用メソッドを発信するオウンドメディア「JINS-MEME .Fit」をスタート

Next