アーキテクチャ・ジャーナル

デバイスの世界におけるアーキテクチャ上の検討事項

Atanu Banerjee
2008/08/25

デバイス上で実行されるソフトウェア

 デバイス上で実行されるソフトウェアは、次のカテゴリに含まれます。

  1. デバイス オペレーティング システム

  2. アプリケーション プラットフォーム - アプリケーション ランタイム ツールと設計ツールの両方

  3. モバイル ブラウザ - 消費者用デバイスでアプリケーション プラットフォームとして出現

  4. アプリケーション

 限定されたデバイス リソースの管理と、デバイス上で実行されるアプリケーションの豊富な機能との間には、暗黙のトレードオフがあるので、オペレーティング システムは、デバイスの用途に基づき選択する必要があります。デバイスには異なるニーズがあります。図 1 に示された各デバイスのソフトウェア スタックを検討しましょう。

 組み込みデバイスのソフトウェア スタック。Windows Embedded CE は、広範なプロセッサ アーキテクチャ (ARM、MIPS、x86、または SH4) をサポート可能な、ハードウェア用リアルタイムのメモリ保護機能付きの32 ビット オペレーティング システム カーネルです。約 700 のコンポーネント セットで構成されていますが、このセットからサブセットをカスタム イメージにパッケージすることができます。たとえば、約 300 KB のフットプリントで起動されるカーネルのみのイメージを組み立てることができますが、イメージに Web サーバー、ブラウザ、メディア プレーヤー、ネットワーク サポート .Net Compact Framework など、その他のテクノロジを追加することもできます。これらすべてのテクノロジは OS イメージのサイズの拡大につながります。Windows Embedded CE で構築されたデバイスは、ヘッドレスである場合も、なんらかのディスプレイを持っている場合もあります。さらにデバイスは、オープン ( アプリケーション API を公開) のものも、クローズド ( サードパーティ開発者の話がない)のものもあります。

 Windows CE は、汎用の組み込みシステム開発コミュニティで独自のデバイスの構築のために使用できます。また、Microsoft 社内でも Windows Mobile ソリューションおよび Microsoft Auto ソリューションの構築に使用されています。Windows Mobile は、スマートフォンおよび PDA に電源を提供するために使用しますが、Microsoft Auto は自動車産業が高度な車載ソリューションを構築するためのプラットフォームです。

 スマートフォンおよび PDA のソフトウェア スタック。Windows Mobile は、カスタム シェル、デバイス固有のテクノロジ ( 接続マネージャ)、および一部のアプリケーション (Office Mobile) と共に、Windows Embedded CE から独自のオペレーティング システム コンポーネントを選択します。Windows Mobile OEM では、イメージ ( 画面プラグイン、VoIP などのアプリケーション、ゲーム) に独自のアプリケーションを追加することがよくありますが、基本 WM イメージのコンポーネント セットはカスタマイズしません。結果は、一貫した API のセットがすべての Windows Mobileデバイスで共通して提供されます。理論的には、Windows Mobile デバイス用に作成されたアプリケーションは、すべての Windows Mobile デバイスで機能するはずです。現実には、モバイル デバイスはハードウェア機能 ( 接続オプション、画面サイズ、解像度、向き) において大きな差があり、基になる API が同じ場合でも、すべてのデバイスで共通して効果的に機能するアプリケーションを構築することが困難になっています。図 5 は、Windows Mobile スマートフォンのアプリケーション インターフェイスを構築するための開発オプションの範囲を示しています。

図 5 : Windows Mobile スマートフォンのアプリケーション インターフェイスを構築するための開発オプション

 ウルトラモバイル PC のソフトウェア スタック。UMPC デバイスには、Windows Vista オペレーティング システム、管理アプリケーションのランタイムとしての .Net Framework、およびブラウザとしての IE7 を含む、全機能を備えたソフトウェア スタックが提供されます。既存の PC アプリケーションは、UMPC での実行のために作成し直す必要はありませんが、タッチ機能とインク機能をサポートするために拡張することは可能です ( これらの機能は Windows Vista に組み込まれています)。ただし、UMPC では Windows Mobile のようにデバイス リソースを詳細レベルで管理しないため、これらはすべて電池寿命 ( 通常わずか 4 〜 6 時間) を犠牲にして実現されます。

デバイスをサポートするチャネルへのアクセス

 携帯電話のようなモバイル デバイスは、主に通信に使用されます。今日そのほとんどが通話ですが、電子メール、インスタント メッセージ (IM)、SMS など、その他の形式のメッセージングもあります。将来デバイスは、これらの基本的な通信サービスを超えて、さらに豊富なアプリケーション サービスのセットに接続することが予測されます。そのようなサービスには比較的大きな市場が存在しますが、それらのサービスのユーザーが、必ずしも通信事業者のデータ プラン付き、または WiFi 対応の高機能インターネット対応デバイスを持っていると想定することはできません。このことは、他のチャネル ( 前述したケニアでのモバイル支払のための SMS ベースのサービスの例のように、SMS または音声) を介したデバイスへのサービスの提供へとつながります。

 アプリケーションおよびサービスの提供に使用できるネットワーク チャネルの例には、次のものがあります。

  1. 音声
    1. 音声認識 : これらのサービスは、通話によってアクセスされます。受信側で音声認識ソフトウェアが実行されています。図 6 は、Microsoft OfficeCommunications Server を使用して、テレフォニーアプリケーション サービスまたは代替チャネルを介してアクセスできる音声認識アプリケーションを配布する方法を示しています。
        そのようなモバイル アプリケーションの例として、Windows Mobile デバイスにおける Live Search を考えてください。Live Search は米国では音声インターフェイスを介してアクセス可能です。音声認識ソフトウェアにより、ユーザーの声が検索クエリ文字列に変換されます。検索結果は通常どおり表示されます。
図 6 : 音声対応サービスをインターネットで提供するための Microsoft Office Communications Server の音声認識技術の使用
  1. メッセージング
    1. SMS : 株の最新情報、警告、国によってはインターネット検索など、一部の基本的なサービスは SMS を介して提供されるようになりました。たとえば、Microsoft Research はインドでサトウキビの共同組合のために SMS 対応ソリューションを構築するプロジェクトを実施しました。農家は、電話を使用して SMS メッセージとしてリクエストを送信することにより、情報 ( 市場価格情報など) を取得できます。応答も SMS で返信されます。Microsoft Research は、このプロジェクトで使用したツールキットを CodePlex で共有ソリューションとして利用できるようにしました。( 参考資料 :「 SMS Server Toolkit (SMS サーバー ツールキット)」を参照。)
  1. インターネット
    1. WiFi : WiFi 対応のデバイスの場合、アクセス可能なワイヤレス ホットスポットの近辺で効果的に機能します。
    2. モバイル データ プラン : 通常、モバイル ネットワーク オペレータによって提供されるプレミアム サービスで、オペレータ独自のセルラー ネットワークを介してインターネット アクセスが提供されます。
  1. P2P ( ピア ツー ピア) テクノロジを使用した他のデバイスへの接続。
    1. 一部のデバイスは、中央のサーバーを介さずに、別のデバイスと情報を直接交換できます。検出やハンドシェイクなどのアーキテクチャ上の検討事項は、次の 2 つの方法で処理できます。
      1. 中央のインデックス サーバーによる接続の仲介 : たとえば、XBox 360 および XBox Live を取り上げます。XBox 360 にログインしたユーザーは、1 つのセッション内でプレーする最高 16 人までのプレーヤーのグループに参加できます。Live サービスは、オンラインのユーザーを追跡し、グループへの最初の接続を仲介しますが、XBox 360 コンソール間でのそれ以降のメッセージングは、P2P テクノロジによりサーバーを介さずに直接行われます。
      2. 中央のインデックス サーバーを介さない接続 : 近隣デバイスの検出、およびそれらの間のハンドシェイクは、中央のサーバーを介さずに直接行われます。たとえば、Zune 音楽プレーヤーは現在再生中の音楽を P2P テクノロジにより、最大 3 つまでの近隣の Zune と共有することができます。

 INDEX
  [アーキテクチャ・ジャーナル]
  デバイスの世界におけるアーキテクチャ上の検討事項
    1.デバイスがもたらす新しいチャンス
    2.ユーザー エクスペリエンスとは
    3.モビリティ ソリューション アーキテクチャ
  4.デバイス上で実行されるソフトウェア
    5.デバイスをサポートするサービス
    6.まとめ

インデックス・ページヘ  「アーキテクチャ・ジャーナル」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間