ユビキタス時代に求められるアーキテクチャと技術

日本ユニシス 秋山功

はじめに

読者は,「ユビキタス」という語から何をイメージするだろうか。RFIDタグ,いろいろなセンサ,情報家電,携帯電話,などなど。確かに,周辺デバイス類は目に付きやすい部分である。一方,生活者視点で捉えれば,次のようなことが(あまり遠い夢物語ではない)ユビキタスの風景であろう。

  • お店でも自動販売機でも,どこでも携帯電話で支払いができる。
  • 食べ物について,生産者やアレルギーの情報がわかる。
  • 電車やバスの乗り継ぎがスムーズにでき,電車に乗る感覚で海外にも行ける。
  • 旅先で急に体調が悪くなっても,普段かかりつけの病院と同じように治療を受けることができる。
  • 社外でもオフィスと同じように仕事ができる。

身の回りのいたるところにコンピュータを組み込んだ機器が配置され,それらを意識することなく,だれもが利用し恩恵を受けることができる,それがユビキタスである。

このようなシステムがどのように構成されているかを考えれば,周辺デバイスの先には,ネットワークで結ばれた,膨大なコンピュータ群が存在することは想像に難くない。ユビキタス・コンピューティングを考える上では,周辺デバイスだけでなくシステム全体で捉える必要性があることを強調しておきたい。

ユビキタス・コンピューティングの特徴は,「多様」「大量」「複雑」「成長」であろう。日本ユニシスでは,ユビキタス社会の発展のためには,次世代のIT基盤が不可欠だと考え実現に取り組んでいる。本稿では,その取組みであるRinza(リンザ)*1を中心に解説する。

システム全体に関わる課題

ユビキタス社会の発展に向けた,システム全体に関わる課題は,以下のようにまとめられるだろう。

コンピューティング・リソースの利活用の容易化

IPネットワーク内には,さまざまな情報機器,データ,アプリケーションが存在する。ユビキタス社会の発展にともない,これらのコンピューティング・リソース(システムから利用できる資源)の多種多様化,大量化が進み,システムは複雑化していく。コンピューティング・リソースをアプリケーションから容易に利活用できることが要請される。

ITの社会基盤化とデータ流通

ITは,主に企業システムを支えてきた。しかし,さまざまな企業システムが接続され,個人とのインタラクションが増加していく今後,ITは個人,企業,官公庁,自治体などをつなぐ公共的な社会基盤となっていく。すなわち,通信や交通などと同様に社会生活を支える存在となる。そして,接続されたさまざまなシステム間での安全なデータ流通が求められる。

情報セキュリティの確保

昨今,個人情報の漏洩が社会問題となり,コンピュータウィルスの被害が発生するなど,情報セキュリティの重要性が増大している。セキュリティの確保は,コンピュータシステムにとってなくてはならない基礎である。

システム開発の迅速化と維持管理のコスト削減

ビジネスを支えるシステムも,ビジネス成長に応じ成長,変化し,長期にわたるライフタイム全般を支えていかなければならない。初期開発,ビジネスモデルの変化に合わせた変更,処理能力の向上など,迅速,容易に行えることが必要である。

データ処理面からの課題

システムが取り扱うデータについては,「質」と「量」の面から変化が進む。以下の課題について,対応が必要となる。

非構造データの処理

例えば,電子カルテを考えれば,病歴,検査結果の数値や画像,医師の所見,治療指示やその結果などをとりまとめなければならない。従来は,関係データベース(リレーショナル・データベース)やスプレッド・シートを利用して多くのデータが管理されてきた。今後は,表形式よりむしろネットワーク形式で管理したほうが自然なデータを扱う処理が増加していく。

大量データの処理

センサ等から供給されるデータは,従来と比較して爆発的に増大する(Data explosion)。それらをリアルタイムで処理しようとすると,データの抜けや到達遅延,一過性のトラフィック急増などへの対応が必要となる。また,一旦データベースに格納し,それらを解析(マイニング)するという方法では,十分な処理速度が得られない場合も発生してくる。

なお,RFIDについては,総務省による「ユビキタスネットワーク時代における電子タグの高度利活用に関する調査研究会」最終報告なども参考にされたい。

ユビキタス時代のIT基盤への取り組み


図1:Rinza構想におけるシステムの機能階層
(図をクリックすると拡大します)

図2:データ・セントリック・コンピューティング
(図をクリックすると拡大します)

ユビキタス時代においては,情報システムが連携する情報機器/他情報システムの種類や数,取り扱うデータの種類や量が,短期間のサイクルで大きく変化していく。また,情報システムが保持するデータへのアクセス条件なども利用者の変化や利用方法の変化にともなって変わっていく。事前に予測することが難しいこのような将来の変化に対応できるシステムとしておくためには,変化を柔軟に反映できるモデリングに基づいたアプリケーション開発が必要となる。

では,どのようなモデリングであればそれが可能となるのだろうか。

この問いに対する一つの解として,「現実世界を情報システムすなわちコンピューティング空間の中にそのまま表現できるようにモデル化する」こと,言い換えるならば,「現実世界の変化に合わせて,コンピューティング空間においてもその変化を素直に反映することのできるモデリングを行える」ことであると考えた。

この「現実世界とコンピューティング空間との一体化」とも言うべき新たなコンピューティング・パラダイムである「データ・セントリック・コンピューティング」がRinzaの中心コンセプトである(第1・2図)。

データ・セントリック・コンピューティングとは

例として野菜の物流システムを考えてみよう。この物流システムでは野菜にRFIDタグが貼付されているものとする。

従来の情報システムは,RFIDタグから読み出されたデータ,すなわち野菜のIDを管理する。そして,集荷・輸送・小売などの管理サブシステムで個々にIDを管理し,必要であればシステム間連携を行うのが通常であろう。

データ・セントリック・コンピューティングでは, IDをアプリケーション・ロジックが直接扱うのではなく,現実世界の野菜に対応する「野菜像」を仮想的に設定しそれをIDに関連づけ,アプリケーション・ロジックではこの「野菜像」を扱えるようにするということである。つまり,実体の野菜に対応するものはIDではなく「野菜像」であり,IDは野菜の属性の一つとして扱うということである。流通の過程でひとつの野菜に対して複数のIDが付与されたとしても,「野菜像」に関係付けられているIDが複数あるということに過ぎない。主役はあくまでも「野菜像」である。

また,データ・セントリック・コンピューティングでは,モノとモノとの関係も表現する。生産者Aさんがその野菜を育てたとか,小売店Aに納品したといった情報である。

そして,これらモノや関係の「像」をシステム間で共有する。それにあたり,以下を実現する。


    図3:現実世界とコンピューティング空間をつなぐ
    (図をクリックすると拡大します)
  • 現実世界とつなげる
    現実世界で起こった事象は,コンピューティング空間に反映させる。ある野菜が集荷されてトラックに載せられれば,その状態をシステムに反映させるのである。逆に,コンピューティング空間での操作を現実世界に反映させることも考えられる。集荷場にある「野菜像」を「トラック像」に載せようと操作をした場合は,作業員に対して積込み指示が出るといったことである。 これらの連携ロジックはアプリケーションに依存するので,現実世界とコンピューティング空間をつなぐ「アダプタ」として記述できるフレームワークを用意する(第3図)。
  • 時間・位置も併せて管理
    情報機器から得られたデータについては,「いつ」「どこで」「誰(何)が」それを作ったか/受け取ったかといった付加情報やメタ情報(データの形式や意味を表す情報)を含めた管理が必要である。付加情報の中でも「いつ」「どこで」という情報は現実世界のモノを扱う場合の基本情報であると考え,基盤側がサポートする。これにより,情報の履歴管理やトレーサビリティを実現できる。
  • 安全な情報共有
    Rinzaのデータモデルに従って管理される情報に対して,「誰が」「何を」「どのように」アクセスしようとしているのか,きめ細かにアクセス制御することで安全な情報共有を行う。

Rinzaは,「ヒト・モノ・コト」などの現実世界のあらゆるものを時間・位置などのさまざまな情報とともに有機的に結合し管理することで,ユビキタス社会における情報流通を円滑に行えるアプリケーションを容易かつ拡張性をもって開発できるようにするためのミドルウェアとして位置づけられる。

技術標準とRinzaの実装

ここで,Rinzaで採用している技術をいくつか紹介する。


図4:RDF記述例
(図をクリックすると拡大します)

非構造データの表現方法として,Resource Description Framework(RDF)を採用している。RDFは,World Wide Web Consortium(W3C)にて標準化を進めているデータ表現の枠組みで,「リソース」「プロパティ」「値」の三つ組みでデータ構造を表す(第4図)。RDFで表現されたデータに対して,同じくW3Cにて標準化を進めているSPARQLという問合せ言語を用いた検索を可能とした。将来的には,プロパティ間における同義語や反対語などといった関係や推論規則を定義し(オントロジ),それに基づいて検索できるような機能拡張も視野に入れている。

Rinzaは,個々のデータ単位にアクセス制御を行う。アクセス制御のポリシの記述には,eXtended Access Control Markup Language(XACML)を採用している。XACMLは,Organization for the Advancement of Structured Information Standards(OASIS)にて標準化を進めているアクセス制御のための言語仕様であり,アクセス要求(「主体」「対象」「手段」の組)に対して,許可・不許可の規則を設定する。

システムの形態の変遷


図5:システム・アーキテクチャの変遷
(図をクリックすると拡大します)

第5図に,システムの形態の変遷を模式的に示した。ここで,「基幹系」とは,金銭の決済をしたり,商品の発注をしたりと,正確性を要するトランザクション処理を担う部分である。過去からの変遷を見ると,ユビキタス時代のポイントが見えてくる。

  • 上段:メインフレーム時代
    端末と基幹系が直結していて,取引データがそのまま基幹系で処理される。ユーザは,直接取引データを投入する。
  • 中段:インターネット時代
    クライアント・サーバ型や,Webによる処理の形態で,最終的な取引データが発生するまでに,ユーザとのやり取りが発生する。例えば,Webで商品を購入する場合,商品を検索・閲覧し「買い物かご」に入れ,最後に取引内容を確定する。
  • 下段:ユビキタス・コンピューティング時代
    ユーザはコンピュータを使っている感覚はないが,情報システムから恩恵を受けている。さまざまな情報機器からデータが発生し,最終的な取引データが発生するまでに,従来に比べ非常に大量のデータのやり取りが発生する。

基幹系については,それ自体の構築技術は進歩しているものの,ここでの観点からはそれほど大きな変化があるわけではない。むしろ大きく変化しているのは,「!」をつけたフロントエンド部分である。この部分が情報システムの新たなプラットフォームになっていく。

多様・大量データへの対応


図6:データ処理アーキテクチャ

第6図にデータ処理のコンポーネントとデータ流を示した。基幹系を中心に使われてきた関係データベースや,データ分析に使われてきた多次元データベースに加え,多様・大量データへの対応として以下のものが必要となると考えている。

  1. 拡張RDFデータベース(RDFDB)*2
    電子カルテ,商品カタログ,部品管理などに見られるような非構造データを扱い,柔軟で拡張性のあるアクセス制御を行う。データ・セントリック・コンピューティングの基盤である。
  2. ストリーム処理エンジン(SPE)
    センサからのデータなど絶え間なく発生する大量なデータを,リアルタイムに処理し変化や特徴を検出する。ここでいう「ストリーム」とは,連続的に発生したデータが流れるさまを指している。データを一旦蓄積してから解析するのではなく,流れているデータを逐次解析していく。
  3. 大容量データロギング(HV-Log)
    大量のストリームデータを時刻などのインデックスを付加しつつ集積する。事後解析などの入力として,必要なデータのみを高速に供給する。

これらを互いに連携させて,ユビキタス時代のデータ処理を実現する。Rinzaでは,これらの技術に対しても取り組んでいる。

おわりに


図7:防災/災害対策システム
(図をクリックすると拡大します)

第7図は,ユビキタス時代の防災/災害対策システムのイメージである。災害に関わる情報は,多様かつ大量である。災害発生状況,被害状況,市民の安否,被害者支援情報,ボランティア情報など,現在は,個別に管理されているであろう。今後は,これらの情報を統合して利活用することが重要になってくる。Rinzaは,このように部門や企業の壁を越えて社会のさまざまなところで使われ情報システムを支える「社会プラットフォーム」を目指している。

Rinzaは,産学官連携で技術や知見を蓄積し,また,社会で広く適用していただくため,オープン・ソース・ソフトウェアとして公開予定である(執筆時点)。Tyzoh(タイゾウ)というコミュニティ*3にて活動中であり,Rinzaの詳細な説明も公開してあるので,ぜひともご覧いただきたい。Tyzohでは,熱意のある方々の参加を歓迎する。

脚注

  1. Rinza」は構想の名称でもあり,実装であるソフトウェアの名称でもある。
  2. RDFは現在採用している技術であり,実現したいことや機能性を表しているわけではない。ネーミングについては苦慮している。よい名前があったらぜひご教示願いたい。
  3. http://www.tyzoh.jp/