XMLをモバイルデバイスなどでも高速処理可能にした新フォーマット「EXI」をW3Cが勧告

2011年3月15日

XMLをバイナリ化して効率的に圧縮することで転送速度や処理に必要なメモリ容量を小さくし、モバイルデバイスなどでも扱いやすくした「Efficient XML Interchange」(EXI)を、W3Cが3月10日に勧告しました(記事末にリンクしたEXIワーキンググループチェア 上谷卓己氏のビデオによると「エクシィ」と読むようです。)。

W3C Extends Reach of XML to New Devices, Applications

XMLは、表現したい値にタグ付けをして意味を示すというマークアップ言語の性格上、XML文書が肥大化しがちで、XML文書から値を取り出すためのパース処理も重くなるという課題を抱えていました。

例えばXMLで「20歳」という年齢を表現しようとすると<age>20</age>となり、20という2文字の値に対して11文字ものタグが付くことになります。そのためXMLによるデータ交換は効率が悪く、性能が出にくいものでした。その結果、JSONのようにシンプルなフォーマットに人気を奪われています(参考:JSONに押されるXMLの存在)。

EXIはこうしたXMLの課題を解決すべく、XML文書を効率化したバイナリフォーマットです。XMLの情報をバイナリによってコンパクトな表現に置き換え、さらに圧縮をかけることで、元のXML文書と比較して非常に小さく(XML文書によって異なるがおおむね1/10から1/100以上)なるため、高速な転送とパース処理に必要なメモリの軽減などを実現します。

XMLを用いてサービスの高速な提供を実現するほか、モバイルデバイスのような低い性能のデバイスでのXMLの取り扱いを容易にするなどの利点があります。

100倍以上の性能向上でモバイルデバイスへ

EXIは基本的に、終了タグのように頻繁にあらわれる情報を短いビットに、コメントのようにまれにしかあらわれない情報は長めのビットに割り当てることで、全体として効率よくコンパクトなバイナリ表現を実現します。また、そうした単純なルールだけでなく、XMLスキーマの情報があればそれも利用して要素の出現パターンなどを解析し、さらにコンパクトな表現にしています。

そのうえでDEFLATEアルゴリズムによる圧縮を行いますが、効率よく圧縮できるようバイナリ表現に対して前処理を行うことで、XML文書を単純にZIP圧縮するよりもずっと高い圧縮率を実現しています。圧縮にかかるCPU負荷はGZIPの1/2から1/3だそうです。

EXI仕様のエディタであるJohn Schneiderはプレスリリースの中でEXIのメリットを次のように説明しています。

“They’ve achieved over 100-fold performance improvements and expanded their data networks to high speed aircraft, automobiles, mobile devices and sensor networks.

これらは100倍以上の性能向上を実現し、そして高速なデータ通信を飛行機、自動車、モバイルデバイス、センサーネットなどへ拡大していく。

EXIをサポートするには、XMLパーサではなくEXIプロセッサの実装が必要となります。今後EXIプロセッサがXMLプロセッサのようにさまざまなソフトウェアに標準で搭載されるようになるかどうかがEXI普及のカギとなりそうです。

以下のURLで、EXIワーキンググループチェア 上谷卓己氏(米国富士通研究所)によるEXIの詳しい解説を見ることができます。http://netfish.halfmoon.jp/pub/EXI/2009-05-12.html

関連記事

Tags: Web技術 Web標準 XML モバイル

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本