LinuxWorld:MotorolaがLinuxフォンで得た教訓レポート

その携帯電話が鳴り出したのは、Mark VandenBrink氏によるプレゼンテーションの真っ最中であった。ところが同氏が携帯の持ち主を含めた聴衆に言ったのは、「構わないから携帯に出てください。私も電話中毒ですし、皆さんも遠慮しないで、携帯の電源は入れておいてください! 私は気にしないですから」という言葉であった。VandenBrink氏はMotorolaのモバイルデバイス用ソフトウェアの責任者であり、この時はLinuxWorldにおける火曜朝のアリーナにおいて、同社がLinux搭載モバイルデバイスで得た経験を基に、第1世代のLinuxフォンで学んだ教訓と、今後のプランに加えられる変更点の概要を説明している途中であった。

VandenBrink氏はMotorolaが携帯電話のプラットフォームにLinuxを採用した理由を列挙していたが、その中には、予想されるコストの削減やノンフリーの製品にはない柔軟性を始め、製品化までの開発時間の短縮や、すべてのハードウェアサプライヤーが共通に用いるプラットフォーム上で製品を構築したり、各種のドライバーを最初にまとめて開発することのメリットが挙げられていた。

Motorolaによる現行のLinux製品ラインは6つのモデルから構成されており、これらの共通のベースとして採用されているのが、2003年に同社が最初のLinuxモデルを立ち上げて以来使用し続けている“3レイヤー”プラットフォームである。この3つのレイヤーは、カーネル、サービスレイヤー、アプリケーションレイヤーに分かれている。なお同社の言う“サービス”とはセカンドパーティーレイヤーのことであり、通常は、工場出荷時に携帯電話へ搭載されてユーザによる交換はできないクローズドアプリケーションを意味する。

次にVandenBrink氏は言葉を切って、Javaのサポートについて同氏が語った2005ステートメントに対する補足をした。つまり、多くの人間が同氏のコメントの解釈として、Motorolaはサードパーティーによる同社の携帯電話用アプリケーション開発を奨励していないと受け取っているが、同氏が意図していたのはサービスレイヤーに関するものだけである、との説明である。一般に、携帯電話へのサービスレイヤーの搭載を求めているのはキャリアサイドであるが、その圧倒的多数がJavaプラットフォームを要求している。

Motorolaによると、これまでの経験は満足できるものであったが、次世代Linuxフォンでは4レイヤーアーキテクチャーへの書き換えが行われ、デーモンレベルのサービス(伝統的なUnixの用語に従えば3レイヤーアーキテクチャーの“サービス”とはならないが)とアプリケーションフレームワークとを明確に分離することになるだろう、とのことである。これはデーモンとアプリケーションフレームワークを分離することによって、APIをより整理された形でサードパーティーのデベロッパーに提供しようという目論見だ。

携帯電話市場におけるLinux固有の課題

VandenBrink氏は、携帯電話市場でLinuxを採用するにあたって携帯電話メーカーが遭遇するであろう課題についても分析している。短期的に生じるであろうLinuxフォン固有の技術的な課題の1つが、メモリ管理である。つまり現行のLinuxフォンはその大部分がハイエンドの“スマート”フォンであり、簡易版のモデルと比べてより多くのRAMを必要としている。そのためローエンドの携帯電話がLinuxに移行する場合、リソース面での制限や新たなバグが表面化して、カーネルおよび低レベルでのエラーモードの修正が必要となることが予想されるのである。またハイエンドフォンのほとんどは、アプリケーションプロセッサ(AP)と通信機能用のベースバンドプロセッサ(BP)という2種類のプロセッサを搭載しているので、リアルタイムサポートは必要とされていない。これを逆から見れば、ローエンドフォンへの移行とは、つまりはシングルプロセッサ搭載型ハードウェアへの移行であり、その場合はリアルタイムパフォーマンスが必要とされるようになるはずだ。

VandenBrink氏は、あらゆるレベルにおいて次に立ちはだかる大きな課題は、電力管理の問題であろうと指摘している。たとえば、BPなどの外部ハードウェアの電力管理は、現行のカーネル設計には織り込まれていない。そしてリソース不足のデバイスに対するインテリジェント電力管理用のインフラストラクチャーも存在しないため、たとえば実行プロセス数が減少して1つのメモリバンクだけあれば十分な状況になったら不要なバンクのメモリを停止させる、という管理は現状ではできない。

得られた教訓

VandenBrink氏によると、技術以外の側面においてLinuxは、すでに「こいつはまともに動くのか?」という段階を卒業して「次は何をさせよう?」という段階に入っている、ということになる。いずれのデバイスメーカーもLinuxを実証済みのメインストリームテクノロジーであると見なしている、というのが同氏の説明だ(むろんエンドユーザは、携帯電話の中で動いているのがLinuxであるかの識別はできないし、そもそも、そんなことは気にしない)。最後に残されているのは“製品化”とサポートの問題だ。つまり、Linuxに関する話はどこに持ちかければいいのかということであり、具体的な実装はどうすればいいのかということである。Motorolaの考えでは、Linuxの携帯電話用デバイスへの組み込みを促進するためには、多数の携帯端末メーカー、アプリケーションベンダ、電話サービスキャリアで共通に利用されるだけのプラットフォームに仕上げる必要がある。

技術革新を促進して開発速度を高めるには、こうしたレベルでの標準化が不可欠である、というのが同氏の説明だ。これ以外の選択肢として、分断的に開発を進めることも考えられるが、その場合は結果として何らの成果も上げられず、開発を停滞させるだけであろう。携帯端末メーカーのすべてが承知していることだが、消費者が携帯電話を選ぶ基準というのは、装備された機能と外見的なスタイルでしかない。つまり携帯市場への参入を促進させるために低レベルでのプラットフォーム統合を進めたとしても、携帯メーカーの間で自社製品を差別化する余地は依然として残されているはずなのである。

Vandenbrink氏が指摘するのは、“良きGPL市民”とは何を意味するのかについて、未だ共通した認識が確立されてはいない点だ。ハードウェアとソフトウェアのベンダは意見を異にし、それぞれが異なるレベルでの“オープン性”を主張している。Motorolaのスタンスは、オープン性の確立が非常に重要であるというものであり、これこそが第1世代のLinuxフォンで得られた経験なのである。次世代においてMotorolaが目指しているのは、GPLに則したソースコードの構築プロセスを簡素化し、デベロッパー達との意志疎通を図ることである。

原文