後藤弘茂のWeekly海外ニュース

ARMがIoT向けにOSを無償提供開始

ARMがIoTのためのプラットフォームを提供する

 ARMがIoT(The Internet of Things)向けに、CPUコアだけでなく、ついにOSも提供する。それも、無償で。IoTの世界が、もしARM一色になった場合、CPUコアだけでなく、OSもARMが寡占するようになるかも知れない。言い換えれば、IoTの世界で、IntelとMicrosoftを合わせたような存在になる可能性がある。

 ARMは、IoTデバイスを開発するためのデバイスプラットフォームとして包括的なソフトウェアソリューションを含めた「ARM mbed」を提供する。そのための組み込み向けOS「mbed OS」も、無償で提供する。ARMは、米サンタクララで開催している同社の技術カンファレンス「ARM Techcon 2014」のキーノートスピーチで、同社のMike Muller(マイク ミュラー )氏(CTO, ARM)は、mbed戦略を大々的に発表した。また、mbed戦略の発表に合わせて、ARM Techconの直前に、新しいCortex-Mファミリコア「Cortex-M7」も発表されている。

Mike Muller(マイク ミュラー )氏(CTO, ARM)
ARMのmbed
ARM Techconで発表されたmbedの概念図
IoT向けのmbed OSは無償で提供される

 ARMのmbedプロジェクト自体は、すでに発表済みで以前から対応ボード製品や開発ツールが提供されている。今回は、mbedプロジェクトを拡張してOSの無償提供に踏み込む。mbed OSは、Cortex-MシリーズのCPUコア向け。IoT向けのコネクティビティソフトウェア層を揃え、セキュリティもサブシステムとしてビルトインする。mbedデバイスサーバーソフトウェアスタックもライセンスし、IoTデバイスからのリトルデータから、それをクラウドに集積するビッグデータに至るまでのエンドツーエンドのIoTソリューションを提供する。

昨年(2013年)のARM Techconでのmbedの説明スライド
mbedのプラットフォームで、IoTの包括的なソリューションを提供する

 従来のARMは、IPコアを提供する企業として、あまりソフトウェアには踏み込んでいなかった。しかし、昨年(2013年)あたりからIoT向けのソフトウェア提供を急速に充実させつつあった。その結実が、包括的なIoTデバイスプラットフォームとしてのmbedの提供だ。従来なら、IPをライセンスしたチップベンダーやソフトウェアベンダーに任せていた部分にまでARMが手を広げ始めた。IP企業だったARMが、ソフトウェア層を含めたトータルなソリューションを打ち出したことが、今回の拡張版mbedのポイントだ。また、昨年のARM Techconではビジョンの紹介が主体だったIoTが、今年のARM Techconではより現実的なソリューション提供に進化している。

それはインターネットトースターから始まった

 キーノートスピーチでは、Muller氏はまず2001年の『インターネットトースター』を紹介した。インターネットから天気予報情報を得て、“晴れ”や“曇り”といった空模様をトーストに焼き付ける。このインターネットトースターを出発点として、現代版に拡張したIoTデバイスとしてコーヒーメーカーを説明。コーヒーの使用頻度などを分析して、自動的にコーヒーを注文するといった例を紹介した。

初期のトースターと現在のコーヒーメーカーのIoT化

 コーヒーメーカーの例の具体的な流れでは、コーヒーメーカーからのデータをmbedデバイスサーバーが受け取り、それをクラウド側にコーヒーの発注として“m2m”で投げる。クライアントからも、ビッグデータ側にアクセスができる。

 mbed OSのモジュールの多くはオープンソースで提供される。部分的にバイナリのものもあるが、バイナリモジュールも無償で提供される点は変わりが無いという。ターゲットとするCPUコアはCortex-Mファミリで、最小のCortex-M0+もサポートされるという。モジュラー構造になっており、必要のないモジュールは外すことができるため、OSのメモリフットプリントは最小に抑えられる。IoT向けチップに多い、組み込みメモリにも充分に収まるという。

mbed OSのソフトウェアスタック
セキュリティはCryptoBoxとして提供される

 セキュリティ機能は、サブシステム「CryptoBox」として提供されるため、セキュリティ機能をポータブルで抽象化されたAPIで簡単に扱うことができるようになるという。OSカーネルはリアルタイムOSではないが、イベントドリブン型のOSで、ARMが自社で開発したという。ちなみに、Cortex-MファミリはMMU(Memory Management Unit)を実装したいないため、リッチOSは走らせることができない。

IntelのGalileoはmbedの対抗にならないと見るARM

 mbed OSは、コーヒーメーカーのようなコンシューマ向けIoTデバイス、社会インフラを担うIoTデバイス、そしてユーザーとインタラクトするウェアラブルデバイスなどを、横断的にカバーすることを狙う。そのための、各レイヤで標準的なコネクティビティソフトウェアスタックを実装する。さらに中継するサーバーサイドのmbedデバイスサーバーソフトウェアスタックもライセンスする。

ウェアラブルからインフラの中で見えないIoTデバイスまで横断的にカバー
mbedデバイスサーバーのソフトウェア層

 ARMは、このmbedプラットフォームを核に、チップを開発するシリコンバートナーだけでなく、システム及びチャネルのパートナーやクラウドのパートナーも集結させようとしている。

ARMは従来とは違う形のパートナーを求め始めている
クラウドパートナーのサービスとIoTを連結させる

 IoT向けの開発ボードとソフトウェアスタックの提供で思い浮かべるのは、Intelの「Galileo」や「Edison」のプラットフォームだ。ARMのmbedは、Intelとぶつかるように見える。それに対して、ARMでIoTを担当するKris Flautner氏は、次のように答える。

 「Intelのソリューションは、我々から見ると非常にハイエンドのモノで、ミニPCだ。それに対して、IoTで我々がフォーカスするのはもっと小さなモノだ。非常に安価で非常に小さく非常に低消費電力な、それが我々の側が見ている市場だ。両者は全く異なる」。

 ARMの方はIoTのローエンドデバイスまで全てをカバーするソリューションであり、Intelのように、大型のチップによる高コストなソリューションとは異なるというのがARMの見方だ。言い換えれば、ARMは、IntelがまだIoTの土俵の上に登ることができていないと考えているようだ。

(後藤 弘茂 (Hiroshige Goto)E-mail