移動体通信端末(平たく言えば“ケータイ”)によるインターネットアクセスの周辺事情がここのところ熱い。日本国内では、NTTドコモが独自に開発したiモードと、世界的な業界標準として開発され、日本移動通信(IDO)、セルラー、ツーカーの各社が導入したWAP(Wireless Application Protocol)の2方式が、覇権争いを繰り広げている。
今のところ、端末数400万台を超えたiモードが先頭を走る。ただし、WAP端末も各社合計で100万台と猛追を仕掛けている。多くのケータイ・インターネットユーザーは、この勝負の行方に大きな興味を持っていることだろう。
この両者には様々な差異がある。中でも大きな違いは公開仕様かどうかという点だ。NTTドコモ独自方式であるiモードは、現段階では詳しい仕様が公開されていない。一方、WAPの仕様については、WAPフォーラムによってWeb(http://www.wapforum.org/)上で仕様が公開されている。
言うまでもないが、端末メーカー、通信事業者、サービス開発ベンダーなど、移動体通信に注目する多くの事業者にとって、仕様の公開は極めて大きな意味を持つ。WAP方式のアドバンテージの1つは、まさにこの点にあるといって過言ではないだろう。
本稿では、現在、公開されているWAP1.2の仕様に基づいて、そのアーキテクチャを概説してゆく。細かい仕様や実装方法には触れないが、WAP方式の構成や技術的なポテンシャルの理解に役立ていただきたい。 WAP1.2の仕様書(PDF版)は、http://www.wapforum.org/what/technical.htmから入手できる。
WAP仕様の定義や利用推進活動はWAPフォーラムが行っている。WAPフォーラムは、1997年に米国のアンワイヤードプラネット、モトローラ、フィンランドのノキア、スウェーデンのエリクソンの4社で設立した業界団体。現在では200社以上が参加している(http://www.wapforum.org/who/members.htm)。
参加メンバーには、日本移動通信、セルラー、ツーカーなどの通信事業者、電機メーカー、商社、ソフト/ハードベンダ、など世界中の企業が名を連ねている。ちなみにiモードを主力商品とするNTTドコモもメンバーの1社だ。
もちろん、参加メンバ全社がWAPサービス/製品を提供しているわけではない。標準仕様策定時によく見られるように、情報収集とかウォッチのために参加する企業もある。そうは言いつつも、影響力のない仕様には参加企業も集まらないのが現実であり、この参加企業数は業界的な影響力を物語っていると考えるのが妥当だろう。
今後の動向を見ても、WAP vs iモードの単純な対立構造での競争が続くというより、両者の統合が広く進むとの見方が多い。WAPのオープンなフレームワーク、iモードで培った実用技術、それぞれの特長を融合させて、オープンで実用的な業界標準を目指した動きである。W3Cなどで策定されたインターネット標準も取り入れる方向であり、今後は、WAPという仕様ありきではなく、移動体インターネットのための標準化機関としての位置付けが強くなる可能性もあると思われる。
ケータイでのインターネット利用を考えるとき、第一には移動体通信ならではの制約をどうクリアするのかが焦点となる。そのあたりをWAP方式では、次のような捉え方をしている。
まず、移動体通信機器が持つ性質について。これについては、CPUの処理能力が低い、メモリが少ない、電池で駆動しなければならない、入出力デバイスが原始的である、という点を挙げている。これは移動体通信端末の物理サイズに依存する問題で、Internet in my pocketを実現するためには今のところ避けて通れない。
次は、移動体通信ネットワークの持つ性質だ。固定通信網と比較して、相対的に帯域幅が狭い、遅延が大きい、通信中の安定性が低い、サービスエリア外になると利用できない(圏外)などが挙げられている。例えば、同じ音声伝送媒体で1.5Mbpsの帯域を得ようと思うと、銅より線ならxDSL技術が、移動体通信ならW-CDMAの利用が、それぞれ基準となるだろう。これを技術の普及度で見ると、現段階ではxDSLは既に商用サービスとして提供されているが、W-CDMAは今年の秋くらいからのサービス開始が予定されている。ある時点での利用可能な帯域で比較すれば、やはり固定通信網に軍配があがる。
一方で、モダンな通信サービスに要求される特性として、WAP方式では次のような項目を強く意識している。相互運用性が高いこと、サービスの拡張性に優れること、移動体通信の特性を十分考慮て効率がよいこと、矛盾が発生せず信頼性が高いこと、通信内容や通信サービスのセキュリティが確保できること、といった点だ。
これらの条件や要求を合理的にフォローする形として、WAPのアーキテクチャでは次の点を仕様設計時の要求として定義している。これらは、前出の移動体通信の特性を考慮しつつ、モダンな通信サービスを提供するための、必須条件と見てよい。
なお、実際のWAP方式を策定するにあたっては、アンワイヤードプラネット社(現Phone.com社)が開発した、UP仕様と呼ばれるプロトコルや記述言語がベースになった。アンワイヤードプラネット社はWAPフォーラム設立メンバの1社だ。
iモードの基本思想には、既存標準を重視するスタンスが色濃い。一方、WAPについては、通信効率を特に重視する姿勢が強く、その様子はネットワーク構成にも現れている。
図1はWAP方式のネットワーク構成を模式的に表したものだ。インターネットと移動体ネットワークとは、WAP Proxyと呼ばれるゲートウェイによって接続されている。このマシンは、インターネットのWebサーバーからみると、通常のHTTP Proxyのように見えていて、移動体端末がこのProxyを利用してインターネットにアクセスする、というモデルだ。
また、WAP Proxyは単純なHTTP Proxyではない。これには大きく3つの働きがある。
インターネット標準を重視するiモードでは、移動体ネットワーク内でもTCP/IPやHTTPベースのプロトコルを利用している。そのため、インターネットとのゲートウェイが持つ機能は軽くて済む。一方、WAP方式では移動体ネットワーク内での通信をなるべく軽くするため、ゲートウェイには多くの機能を持たせなければならない。そのため、ゲートウェイがネットワーク上の重要な位置を占めることになる。
このような機能配分になった背景には次のような点が挙げられる。マルチベンダを意識しなければならないWAPには、なるべく端末機能を単純化して製品を作りやすくし、相互運用性を高める必要があった。また端末の仕様を実質的に単一化できるNTTドコモでは、端末に高機能化を求めることができ、特にインターネットとの接続性を重視した、ということだろう。ネットワーク構成には、その方式の持つ背景が強く現れるものだ。
移動体ネットワーク内でのWAPプロトコルスタックは図2のように定義されている。最下位のベアラサービスは、携帯電話の各方式(日本ではPDC、CdmaOne、PHSなど)が提供するビット透過な通信サービスを指す。そのため、この部分は実装する移動体ネットワークによって異なる。WAP方式として定義されているのは、ベアラサービスの上にある、WDPからWAEまでの部分である。
ベアラサービスは、回線交換、パケット交換、ショートメッセージなど、幅広い形態がサポートされている。また、ベアラサービスでPPP/IP/UDPを提供している場合、WDPの代わりにそちらのスタックを使ってもよい。ベアラサービスの持つセキュリティレベルや、上位のサービス内容によって、WTLSを省略することも可能となっている。 各レイヤの機能を簡単に説明する。
アプリケーションの実行環境がWAEにおいて定義されているのは前出のとおりである。図3はWAEの定義を図示したものだ。この中にWMLやWMLScriptの定義が含まれている。
なかでもWMLはWAPアプリケーションを作成する際にコアとなる要素だ。WMLはXMLをベースに定義されたマークアップ言語で、モバイル環境での利用にも考慮がなされている。たとえばWMLには、CardとDeckと呼ばれる概念がある。Cardは移動体端末に表示される1画面に相当するもの、またDeckは一度のダウンロード単位を表すもので、その中には複数のCardを含んでいる。
ダウンロードされた一群のCardは端末でキャッシュされる。そのため1つのDeckに含まれるCard間の移動では、ネットワークへのアクセスが発生しない。その結果、端末においてページ間の移動が高速化されるほか、アクセスが集中しがちなProxyの負荷低減や、ネットワークトラフィックの削減効果も期待できるというわけだ。
WMLのようなマークアップ言語に、ダウンロード単位の概念を含むことの是非は別として、こういった効率化の仕組みが用意されているのはWAP方式ならではだろう。
同じようにWMLのバイナリ表現も効率化に大きく寄与している。Webサーバー上にあるコンテンツは、テキスト表現のWMLで記述されているが、WAP Proxyを経由して以降、移動体ネットワーク内ではバイナリ表現が用いられている。
図4はWMLのバイナリ表現の例だ。Card定義に必要なデータサイズは、テキスト表現で30バイト。これをバイナリ表現にすると9バイトで済んでしまう。文字列部分はインライン文字列の識別子と文字列で表記されサイズ削減の効果は少ないが、エレメントやそのアトリビュートは1バイトで表現されるので、全体としてコンテンツサイズは小さくすることができる。
|
E7 | cardエレメント(コンテント、アトリビュートあり) | 9バイト |
---|---|---|
55 | id= | |
03 | インライン文字列 | |
'a','b','c',00 | 文字列"abc" | |
33 | ordered="true" | |
01 | 終了(card のアトリビュートリスト) | |
図4 WMLをバイナリで表現した例 |
同様な変換はWMLScriptに対しても行われる。WMLScriptはJavaScriptに相当するスクリプティング言語で、JavaScriptによく似た文法を採用している。サーバー上に配置されたWMLScriptは、WMLをバイナリ表現に変換するのと同時期に、バイトコードと呼ばれるバイナリ表記に変換される。端末に実装されたWMLScriptインタプリタは、そのバイトコードを実行することになる(図5)。
ここまでWAP方式を見ていて感じとれるのは、ありとあらゆるところに効率を重視する姿勢がにじみ出ている点である。ネットワークや端末の負荷を減らして、幅広いインフラで利用可能にする、そのスタンスは首尾一貫している。もっとも、効率を重視するあまり、WAP Proxyの負担が大きくなったり、WMLとHTMLの互換性がないなどデメリットも生まれている。今後は、こういった部分の改善が進み、さらにiモードなど外部技術との融合が進むことになるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.