(5)アグリゲータでのコンピューティング環境
アグリゲータ側には、低レイテンシで高速に処理できるコンピューティング環境が要求されます。多くのエッジデバイスから転送されてきたデータに対して、複数のCPUを使用した並列処理や、アルゴリズムの種類によっては、GPUを利用した処理(GPGPU: General Purpose computing on GPU)が使用されます。
コンピューティング方式が決まり、IoTシステムとして運用に移す際には、開発したアグリゲータ側のアナリティクス部分をモジュール化し、ウェブサーバなどのIT側と統合します。
図11のようにウェブブラウザ経由でアグリゲータ側のアナリティクスモジュールと接続できるようにシステムを構成することで、さまざまなユーザーがモバイル端末やその他のデバイスからアクセスし、IoTを容易に活用できるようになります。 MATLABの場合は、MATLAB Compiler SDKとMATLAB Production Serverを利用することで、開発したアナリティクスのモジュール化、ウェブサーバとのインテグレーションを実施できます。
図11:Webブラウザからインタラクティブに操作出来るアナリティクスを実現した例
まとめ
IoTシステム構築にあたり、解決すべき課題と使われる技術、そして各フェーズにおいて考慮すべきことをMATLABでの実現例を用いて紹介しました。
MATLABは幅広いデータフォーマットやプロトコルに対応しているため、データの取得が容易です。また、データの処理及びデータの可視化のための様々な関数ライブラリも提供されています。アルゴリズム開発では統計解析、機械学習、最適化など、様々な分野別に関数ライブラリが用意され、開発されたアルゴリズムは個人利用から組織全体で利用できるアプリケーションやウェブサービスとの統合も可能です。
このように開発ツールを適切に組み合わせ利用することで、スケーラブルで高度なアナリティクスが搭載されたIoTシステムの開発へつなげることができます。
- 大谷卓也
- MathWorks Japan アプリケーションエンジニアリング部(テクニカルコンピューティング)部長
- 測定機器メーカにて半導体試験装置、プロトコル解析装置等の研究開発やプリセールス業務に従事した後、2010年よりMathWorks Japanにて、画像処理・コンピュータビジョンのアプリケーションエンジニア、2014年よりMATLABによるデータアナリティクス等を担当する、テクニカルコンピューティング部を担当。
- 竹本佳充
- MathWorks Japan アプリケーションエンジニアリング部(通信・信号処理) シニアアプリケーションエンジニア
- 放送/伝送機器メーカにて光送受信機等の高周波機器および、屋外機器遠隔状態監視装置等の製品開発を担当。転職後は、MATLAB/Simulinkの主に信号処理・通信系プロダクトおよび、ミックスドシグナルの領域に関するアプリケーションエンジニアを担当し現在に至る。