クラウド時代の組込みLinux

何年かぶりにCQ出版社インターフェース誌に記事の執筆を行った。9月25日発売のインターフェス 11月号の巻頭の記事2ページ。
実際の掲載では、図面との関係で文字数を随分削る必要が会ったので、校正前の文章を載せてる。(雑誌発売から1ヶ月たったということで)

Interface (インターフェース) 2010年 11月号 [雑誌]

Interface (インターフェース) 2010年 11月号 [雑誌]

クラウド時代の組込みLinux

組込みシステムでのオープンソースであるLinuxの利用は、この10年で急速進み、採用される標準的なOSの1つにまで成長した。組込みシステムでのオープンソースを利用する流れは、不可逆な進化であり、これからもより早いスピードで進んでいく。

コミュニティでのLinux開発は、趣味やボランティアで成長してきたのではない。多くの企業が戦略的にリソースを投入した結果、今日のような進化をとげてきたのである。
自社のデバイスやソフトウエアをコミュニティに公開する事によりデファクトの技術とし市場でのイニシアティブを取る、自社の技術をコミュニティで公開する事により自社の技術を進化させていく、自社が開発したソフトウエアをコミュニティに公開する事により将来のわたってそのソフトウエアのメンテナンス費用を分散させる、といった戦略のために多くの企業はオープン ソースに積極的に投資を続けてきている。
そのため多くの最新技術がオープンソースとして公開されている。最新技術を組込みシステムで採用するために、オープンソースを積極的に取り入れていく必要があるといっても過言ではない。

気がつけばあらゆるところでクラウドの利用が始まってきている。クラウドを利用する端末はパソコンだけではない。ネットブック、MID、スマートフォンなどのシン・クライアントが、クラウドを利用する端末としてとして広がりつつある。
今後、パブリッククラウドが広がり社会インフラとして成長していくことにより、シン・クライアントだけではなく、新たなデバイスや機器もクラウド環境に繋がっていく必要性が出てくる。
クラウドの進化は早く、今後も新しいサービスが次々に生まれてくるだろう。どのような新しい技術が今後必要になっていくかの方向性を先読みする事は難しい。
クラウドで利用できる技術の多くはオープンソースとして公開おりLinuxとの親和性が高い。そのためクラウドに繋がる組込みシステムにおいもLinuxを採用する事により急速に進化していく技術をいち早く利用していく事が出来る。

  • セキュリティ性

クラウドが広がっていく中で、1つ重要なキーワードはセキュリティ性の確保である。あらゆる情報があちらの世界(クラウド側)に保存されており、こちら側(端末側、組込み機器側)はあらゆる場所からこれらの情報やサービスを利用する事になる。保存されているデータ、ネットワーク伝送路、端末側など幅広い領域にわたりセキュリティ対策が必要となる。
新しいセキュリティ技術の多くもオープンソースとして公開されている。Linuxを使用する事によりクラウド時代に必要とされるセキュリティ技術を端末側である組込みシステムでも利用することが可能だ。
また、オープンソースでは次々にセキュリティホールが見つかり改修が続けられている。世界中の開発者の目にふれることにより、潜在的セキュリティホールが顕在化し改修されてきている。いわば、オープンソースコミュニティが、ニューヨークのガーディアン・エンジェルスのような犯罪防止自警団のような役目を果たしているといっても過言ではない。

クラウドコンピューティングに繋がる組込みシステムを考えた場合、ソフトウエア基盤となるOSとプラットフォームには次のような特徴を備えている必要がある。
・柔軟なカスタマイズ性
・最新のネットワーク技術の利用
・高度なセキュリティ技術と維持
・最新技術の進化への追従
・モバイルデバイスに必要とされる省電力、リアルタイム性
・安価、あるいは無料のOS、ミドルウエア、アプリケーション
Linuxは既に組込みシステムのOSとして成熟しておりこれらの特徴を全て満たしている。Linuxは携帯電話を始めとするモバイル機器、ネットワーク機器、デジタルコンシューマ機器、医療機器、OA機器等幅広い分野の製品に採用されてきている。
 

  • 組込みシステムの進化

かつての組込みシステムは、特定用途向けの製品であり、特定機能だけを実現するソフトウエアだけが実装されてきた。ネットワーク化が進み、ネットワークを通じて機器同士が相互接続する事により新たな製品としての付加価値を生んできた。それに伴い、あらゆるユーザーを想定して組込みシステムは、あらゆる機能を製品に搭載するようになった。分かりやすい例が日本の高性能な携帯電話だ。結果として、ソフトウエアは肥大化し開発コストも膨大になってしまった。
クラウド化が進む中で組込み機器はどのような進化を遂げていくのだろうか。おそらく、ユーザーが本当に必要な機能だけを選択して、クラウドから提供されるサービスで実現するといったことが実現可能になると予測している。つまり、Webプログラミングにおけるマッシュアップ的な発想だ。
組込み機器においてもクラウドから提供されるサービスをマッシュアップ的に組込み機器の1つの機能として使用していく。つまり、組込み機器自身で実装される機能とクラウドからのサービスにより実現される機能が混在したハイブリッドシステムに進化していくのではないか。
また、開発環境も大きく変わりつつある。グローバル開発化の波である。製品をグローバル化するということは、ユーザーインターフェースを言語対応するという事ではない。国や地域毎にその地域のニーズに適合した製品、機能、ビジネスモデルを展開していく事である。そのために、国内で開発して海外で生産、販売するのではなく、より開発機能の一部を海外拠点移し、国や地域毎にローカライズした製品開発を行っていく必要がより一層進むのではないかと予想している。そのときに必要なのはクローズな開発ではなく、世界中の開発者が一様に情報や技術を入手できるオープンソースを利用した開発だ。組込みシステム開発においては、技術のコアとしてLinux採用する動きがますます広がっていく考えられる。

2000年ごろから今日までは、Linuxをどのように組込みシステムで利用していくかと行ったところが主眼におかれてきた。多彩なデバイスへの対応、リアルタイム性確保、起動時間短縮、メモリサイズ削減、開発環境の整備といった、従来の組込みシステム開発と組込みLinux開発とのギャップを埋める事に重きがおかれていた。
 現在は、Linuxをベースにアプリケーションレベルまでのオープンソースプラットフォームを利用していく流れが進んできている。既にスマートフォンで広く採用が進んでいるAndroidやMeeGo、MIDやネットブックなどで広まっていく可能性があるMeGoo、自動車向けインフォテーメントプラットフォームの構築を進めているGENIVI アライアンスなどは、アプリケーション層まで含んだオープンソースのプラットフォームの代表的な物だ。コアとなるOSは全てLinuxである。
 これまでの10年を組込みLinux 1.0と呼ばせてもらうと、まさに組込みLinux 2.0というべき次のフェーズに差し掛かっている。より高い自由度(柔軟性)と開発スピードが求められる組込みシステム開発において、Linuxは今後ますます広まっていくと考えられる。

(CQ出版社インターフェース誌2010年11月号向け記事のオリジナル原稿)

追記:CQ出版が運営している組込みネットに掲載されていました。
クラウド時代の組み込みLinux|Tech Village (テックビレッジ) / CQ出版株式会社