携帯電話も仮想化? 携帯電話向け仮想化プラットフォーム「VMware MVP」をみる


 VMwareはサーバーだけでなく、携帯電話向けの仮想化プラットフォームも提供している。それが、「VMware MVP(Mobile Virtualization Platform)」だ。VMware MVPは、2008年10月に同社が買収した仏Trango Virtual Processorsが開発していたテクノロジーで、2008年11月より携帯電話端末メーカーに提供が開始されている。今回は、このVMware MVPにフォーカスしてみる。


ハードとソフトを分離するVMware MVP

VMware MVPのコードサイズは30KBと非常に小さい。サポートしているCPUは、ARMシリーズ。サポートOSは、Android、Symbian、Windows CE、μ-ITRONなどがある

 VMware MVPは、ARMプロセッサを対象とした仮想化ハイパーバイザーだ。ARMv4、v5、v6、v7アーキテクチャーをサポートしている(ARMのマルチコアアーキテクチャーにも対応)。

 現在、多くの携帯電話は、ARMアーキテクチャーのプロセッサを使用している。例えば、携帯電話に数多く採用されているテキサス・インスツルメンツ(TI)のOMAPプロセッサも、CPUコアとしてARMアーキテクチャーを採用している。ARMアーキテクチャーは、携帯電話にとって標準的なプロセッサということができる。アップルのiPhoneでもARMコアが使用されている。

 VMware MVPは、コードサイズが30KBのハイパーバイザーと非常にコンパクトだ。特徴的なのは、各種デバイス(CPU、メモリ、LCD、キーボードなど)などをコントロールするデバイスドライバがハイパーバイザー上の別プロセスとして動作する点だ。このため、携帯電話のOSが直接ドライバなどを取り扱うのではなく、ハイパーバイザー経由で扱うことになる。

VMware MVPでは、デバイスドライバをさまざまなOSから利用できるようにする

 一見すると、デバイスの仮想化は、携帯電話といった非力なCPUパワーしかないデバイスにとって不利と思われるだろう。パフォーマンス面で見れば、OSから直接サポートする方がパフォーマンス的にはメリットは大きい。しかし、デバイスドライバの開発や携帯電話のアプリケーション開発といった面からみれば、ハイパーバイザーのメリットが出てくる。ハイパーバイザーを利用することで、デバイスドライバの開発とOSの開発を分けることができる。また、一度開発したデバイスドライバは、ほかのOSからも利用できるため、OSが変わったとしても、ハードウェアに依存している部分はそのまま利用することができるのだ。

 実際、国内の携帯電話端末メーカーは、携帯電話に使用するプラットフォームを統一化しようとしている。これは、ソフトウェア開発にかかる費用が、携帯電話のハードウェアの開発費よりも上回るようになってきたからだ。また、新しい携帯電話のハードが完成してから、ソフトウェア開発にかかっていると、製品発売に間に合わなくなる。このため、多くのメーカーでは、ハードの完成を待たずに、ソフトウェアの開発を進めている。このため、ハードウェア開発の途中で仕様が変更されると、アプリケーション側に影響が及ぶことも非常に多くなっている。このことが、端末リリース後のバグや開発の遅れなどにつながっている。

 こういった事を考えれば、ハードウェアとソフトウェアをきちんと分離する仮想化のメリットは、非常に大きい。

ハイパーバイザーにより、複数OSを同時に動かすこともできる。これにより、ビジネス環境とパーソナル環境を分けて利用することが可能だ

 もう一つ重要なのは、ハイパーバイザーを導入することで、1つの携帯電話でプライベートと仕事の2つの環境をサポートするなど、携帯電話の機能自体を分けることができる。仕事環境には、仕事用の電話帳やメールボックスだけが使えるようになり、プライベート環境からはプライベート用の電話帳やメールボックスにしかアクセスできないといった使い方が可能になるというわけだ。実際、7月21日に行われたVMware MVPの記者説明会では、NOKIA N800上でWindows CEとAndroidの2つのOSを同時に起動し、ビジネスではWindows CEを使ってExchange Serverなどの企業用の電子メールにアクセスし、プライベートはAndroidを使うといったデモを行っていた。このようにすれば、仕事とプライベートの環境をきちんと区別して利用することができる。

 また、NTTドコモが提供している2in1サービスのように、仕事用とプライベート用の電話番号を2つ利用することも可能だ。2in1サービスは、NTTドコモのネットワーク上で2つの電話番号を処理するようにしているが、VMware VMPを利用すれば、携帯電話側で同じような機能を処理できる。ただし、SIMカードを2枚挿すのか、仮想化するのかなど、乗り越えなければならない課題はある。

 そのほか、ハイパーバイザーを利用することで、セキュアな環境を別に用意して、おサイフケータイなど電子マネーサービスを構築することも可能だ。


携帯電話のキャリア側(ネットワーク側)から、必要な機能をOSごとダウンロードして利用することもできるユーザー固有のデータ(電話帳など)は、ネットワーク側にバックアップすることも可能だ。これにより、端末を変えても、必要なときに個人データに簡単にアクセスできるネットワーク側にポリシー制御機能を組み込めば、IT管理者が細かなポリシーにより携帯電話を管理することもできる

家電的な携帯電話から、PC的な携帯電話へ

 携帯電話にハイパーバイザーが必要とされるのには、2つの理由がある。


携帯電話は、高機能化により、さまざまなニーズが出てきている。これを一つのモデルだけでカバーするのは難しい携帯電話の端末メーカーは、ソフトウェアの開発コストの増大に苦しんでいる携帯電話用のOSとしては、Android、Linux、Symbianなど、多岐にわたっている。これらのOSそれぞれにアプリケーションを開発しているとコストがかかる

 まず、メーカー側の事情というものがある。携帯電話の機能が複雑化したため、きちんとした開発プラットフォームが必要になっているのだ。

 例えば、デジカメに匹敵するような機能を持つカメラ、ワンセグテレビ視聴、フルブラウザ、JavaアプレットやFlashによるアプリケーション動作など、どんどんと高機能化している。また、携帯電話の機種も、エントリー向けから、PCと同じような機能を持つものまで、幅広くなっている。

 このように多機種化している携帯電話においても、一度開発したソフトウェアを再利用することで、開発コストを抑えたり、開発期間を短縮したり、バグのないソフトウェアを作りたいという考えがある。ただ、携帯電話のハードウェアプラットフォームは、コスト面から、すべて同じプロセッサや周辺デバイスが利用できるわけではない。

 そこで、ハイパーバイザーが役に立つのだ。ハイパーバイザーを使ってデバイスの仮想化を行っておけば、携帯電話のハードウェアが変わっても、アプリケーションが利用できる。

 VMware MVPは、デバイスドライバをハイパーバイザー上でOSとは別に動かしているため、OSがWindows CEからAndroidに変わっても、OS側の変更も最小限で済む。メーカーにとって、ハイパーバイザーは、単なる仮想化ではなく、携帯電話のソフトウェア開発にとって大きな力を発揮するだろう。

 もう一つ、携帯電話の機能が大きく変化していることも、ハイパーバイザーを必要とする理由だ。iPhoneの登場により、携帯電話はPCのようにアプリケーションを携帯電話購入後に、ユーザーが追加していくようになった。これにより、個人が利用するプライベートなソフトやゲームから、ビジネス向けのCRMや電子メールソフトなど、さまざまなジャンルのソフトがオンラインマーケットで提供されている。同じようにAndroidやWindows Mobileなども携帯用のオンラインマーケットを開設して、アプリケーションの流通を目指している。

 携帯端末メーカーでは、携帯電話のすべての機能を最初から提供するのではなく、ユーザーのニーズに合わせて、カスタマイズして使えるようにしていこうと考えている。例えば、ハードウェアやOSなどは、同じモデルだが、UIをビジネス用やキャラクターモノに変更することができたり、カメラ機能はいらないが、QRコード機能は必要といったようカスタマイズできるようにする。また、オンラインマーケットを利用することで、新しい機能を追加するごとにオプション料金を取ることも可能になる。

 さらに、今までは、携帯電話を購入した時点で機能の大幅なアップグレードはできなかった。しかし、オンラインマーケットなどを利用することで、バージョンアップして、新機能を追加することも可能になる。

 ハイパーバイザーにより仮想化することで、新たな機能を既存の環境と干渉することなく提供できるようになるだろう。

 日本国内では、おサイフケータイなど、電子マネーが普及している。お金を扱うため、セキュリティ面で非常に苦労して開発している。もし、AndroidやWindows CEに電子マネー機能を移植するには、同じような開発時間とコストがかかる。こういった場合でも、VMware MVP上にセキュアな環境を作り、限定された環境で電子マネーソフトを動かし、AndroidやWindows CEなどのOSとインターフェイスができるようにすれば、新しいOS環境でも電子マネーといった日本独自のサービスを提供することができる。

 VMware VMPは、単に複数のOSを動かすためのハイパーバイザーではなく、開発プラットフォーム、携帯電話の新しいビジネスモデルを作るための大きなターニングポイントになるだろう。

VMware MVPは、NOKIA N800でデモされていた。AndroidとWindows CEがハイパーバイザー上で同時に動作しているのを見ると感動する

 ただ、ハイパーバイザーを搭載して、十分なパフォーマンスで動かすためには、携帯電話のハードウェアもある程度のパフォーマンスが必要となる。ARMコアに関しても、最新のARMv7コアがベストだ。また、メモリに関しても今までのようにぎりぎりのメインメモリではなく、大容量のメインメモリを最初から搭載する必要があるだろう。また、データの保存領域として、microSDなどの外部フラッシュメモリも大容量なものが必要になる。

 なおVMwareでは、数カ月後には日本メーカーでの採用事例が発表できることを期待しているとコメントしている。






(山本 雅史)

2009/7/27/ 00:00