Comments
Description
Transcript
論文 - CSIS
モバイル環境におけるアクティブデータベースを用いた 地理情報システムについて 寺田 努† 塚本昌彦‡ 西尾章治郎‡ † 大阪大学サイバーメデ ィアセンターサイバーコミュニティ研究部門 ‡ 大阪大学大学院工学研究科情報システム工学専攻 † [email protected] ‡ {tuka, nishio}@ise.eng.osaka-u.ac.jp 近年,GPS 機器や携帯端末の普及により,屋外で自分の位置を基点とした地理情報システムを利用した いという要求が高まっている.屋外で,情報サーバが無線を用いて地理情報を発信していれば,地理情 報システムではそのような受信情報を端末の地図情報と統合し,ユーザに高度なサービスを提供できる. そこで,本研究では,データ管理基盤として AMDS( Active Mobile Database System )を用いた地理 情報システム ActiveGIS を構築した.AMDS は,移動体環境において移動体がもつデータを統合利用す るために,アクティブデータベースを拡張し,移動体の接続,切断,データ交換などを処理するシステ ムである.ActiveGIS は,データの到着や特定の建物への接近などの事象に対する処理をルールとして 記述しておくことで,システムにさまざ まな機能を付加できる. On a Geographic Information System Using an Active Database in Mobile Computing Environments Tsutomu TERADA† Masahiko TSUKAMOTO‡ Shojiro NISHIO‡ † ‡ Cybercommunity Division, Cybermedia Center, Osaka University Dept. of Information Systems Engineering, Graduate School of Engineering, Osaka University In recent years, the increasing popularity of mobile hosts and GPS equipments creates a great demand on location-aware geographic information systems(GIS). If information servers transmit geographic information with wireless communication equipments anywhere in the real world, a GIS running on a mobile computer can provide a high level service to users by integrating the information received from servers and the map information stored in the computer. To realize this kind of service, we proposed and implemented the ActiveGIS, a geographic information system based on the AMDS(Active Mobile Database System). The AMDS is a kernel system for data management in mobile computing environments such as integrating and using the data held by mobile host. ActiveGIS enables users to add their own functionalities by describing rules which express the prosesses for the events such as data arrival and user’s approach to a specific real-world situation. 1 はじめに 図ソフトも GPS と連携する機能を標準でもつように なった.さらに,OGC( Open GIS Consortium )[8] の活動や,G-XML[3],POIX( Point Of Interest eXchange Language )[9],RWML( Road Web Markup Language )[2] など ,地理情報記述の標準化活動がさ かんに行なわれている.このように,屋外で携帯端 末を用いて地理情報システムを利用できる環境が整っ てきたといえる. しかし ,従来のシステムには以下のような問題が ある. 近年,無線通信技術や計算機ハード ウェア技術の急 速な発展に伴って,無線通信機能をもつ携帯端末を用 いることにより場所を固定せずにネットワーク上の さまざまな資源を利用することが可能になった.この 新しい計算環境は移動体計算環境と呼ばれる.移動 体計算環境のモデルは固定ネットワークに無線通信 可能な携帯端末を含んだ形態である.このような移 動体計算環境が普及し ,ユーザが携帯端末を持ち歩 くことが一般的になってくると,携帯端末上で地理情 報システムを利用したいという要求が生じる. 実際の商品では,エプソン社のロカティオ [1] やソ ニー社の VAIO PCG-C2GPS[14] ,エンペックス社の ポケナビ [10] のように,GPS を搭載した携帯端末が すでに販売されており,位置情報を利用したサービス が行なわれている.また,GPS 機器の普及により,地 • 情報の統合利用が難しい. 従来のシステムやアプリケーションは相互に互 換性がないため,あるシステムで利用すること のできる情報が他のシステムでは利用できない という問題がある.地理情報システムでは,各 種のアプリケーションを連携動作させた柔軟な 1 目的とする.基盤システム上でアプリケーションを動 作させることで,データの統合利用を容易にするこ とを考える. • 多様な位置依存サービスへの要求に対応できない. 多様な位置依存サービ スを実現するためには,位 屋外での地理情報システムを利用する場合,以 置依存の情報や,周囲のオブジェクトデータを提供す 下のような位置依存サービ スへの要求がでて る移動体サーバを各地に設置した上で,移動体から, くる. または移動体上でデータを収集する必要がある.ま た,提案するシステムは,ユーザのオブジェクトへの – 遊園地などのアミューズメント施設で,各 接近やデータの到着といった突発的な事象を取り扱 アトラクションの待ち時間等の情報を端末 う必要がある.そこで,本研究ではイベント駆動型 で受信する.また,訪れたいアトラクショ データベースであるアクティブデータベースを用い ン情報を端末に入力しておくことで,効率 て地理情報システムを構築する.構築したシステム 的な順番にナビゲートしてくれる. を ActiveGIS と呼ぶ. – 買いたい本の情報を端末に入力しておくこ 以下,2 章では ActiveGIS の概要について述べ,3 とで,自分が本屋の近くに来たときに,自 章では ActiveGIS の設計について述べる.4 章でシス 動的にその本屋のデータベースを検索して テムの実装について述べ,5 章で考察および関連研究 本の在庫や価格などの情報を得る. について述べる.最後に 6 章で本研究のまとめと今後 – 近くにいる人を対象に,趣味情報などを交 の課題について述べる. 換することで,遊び相手や人探しを行なう. サービ スが要求されるため,アプリケーション 間の連携が必要となる. – 観光地などで,名所に近づくと,その詳細 を説明してくれたり,順路を教えてくれる. 2 ActiveGIS ActiveGIS は GPS 機器と無線通信機能および 電子 ここで示した例はいずれも,その時間,その場 地図を備えた携帯端末にアクティブデータベースを 所にいる人にとって役に立つ情報である.例え 組み込んだ地理情報システムである.アクティブデー ば,特定の場所に行ってオブジェクトを発見す タベースは,データベースの内界・外界で起こる事象 る実世界におけるアド ベンチャーゲームを提供 の発生に対して,あらかじめ定義された処理を行なう したり,特定の日時に特定の場所に行かなけれ データベースである [4].その動作は,発生する事象 ば見られないバーチャル花火のイベントを行う ( イベント ),ルールの発火条件(コンデ ィション ), といったサービ スは,位置依存だから行なえる 実行される操作(アクション )の 3 つの組で表わされ サービ スであり,位置依存であるから情報の価 る ECA ルールで記述される.アクティブデータベー 値が高まる [12].いくつかの位置依存サービ ス スはイベント駆動型であるため,データの受信やオ は既存の商品で実現されているが,例に挙げた ブジェクトへの接近など の突発的な事象を処理する ようなサーバとインタラクションを行なう複雑 のに適している. なサービ スは提供できていない. ActiveGIS には,従来のアクティブデータベースで 提供されているデータベースに関するイベント(挿入, • 柔軟なデータ管理機構をもっていない. 削除,更新,検索)に加えて,移動体の動作に関する 地図上のオブジェクトデータは膨大な量である イベント(移動体のセルへの接続・切断),ActiveGIS が,携帯端末の記憶容量は限られているため, 間や移動体サーバとの通信に関するイベント(デー 自分が今いる場所に近いオブジェクト情報だけ タの受信),および,地図オブジェクトに対するイベ を得ることが必要となる.ただし ,携帯端末の ント( オブジェクトへの近接・離脱)など を用意す 移動により近接するオブジェクトは変化するた る.アクションには ActiveGIS 間のデータ送信関数, め,ユーザの動きに合わせて近接するオブジェ データベースに対する問合せ関数などを提供する. クトのデータを,随時受け取り,更新する必要 ActiveGIS はシステム内にデータベースをもち,デ がある. ータベース内のオブジェクトテーブル内に存在する また,端末上で近辺の情報を取得したり,必要 オブジェクトを地図上に表示する機能をもつ.画面上 なデータを記録する,といったサービ スへの要 には現在地を中心とした地図を表示し ,表示してい 求が出てくるが,そのようなサービ スを実現す るオブジェクトをクリックすることで詳細データを得 るためには柔軟なデータ管理機構が必要となる. ることができるようにする.さらに,システム内に, ECA ルールを格納することで,さまざ まな機能を実 したがって,本研究ではこれらの問題点を解決する 現できる.以下に典型的な ECA ルールの利用例を挙 地理情報システムの基盤システムを構築することを 2 6. 動的なシステム拡張 げる. ECA ルールは,システム間で送受信すること が可能であり,その作業自体も ECA ルールで 行なうことができる.したがって,ユーザはあ らかじめ ECA ルールを格納しておかなくても, 移動体サーバから送られる ECA ルールを格納 することで,即座にアプ リケーションを更新で きる.このような機構を用いて,施設の入口で 必要な ECA ルールを受け取ることで,遊園地 では遊園地の,水族館では水族館の提供する独 自のアプ リケーションが利用できる. 1. 目的別地図作成 建物のデータを配信するサーバからデータを受 信したとき,建物の種類などの条件によってロー カルに蓄積するかど うかを決めるようなルール を用いることで,レストラン地図やショッピン グ地図など ,ユーザが要求するものだけを表示 できる. 2. ローカル情報の取得 建物に近づいたとき,特定種類の建物であった らサーバから情報を得るルールを用いることで, また,ActiveGIS では,地理情報記述言語とし て 例えば観光地において名所に近づいたときにそ G-XML を用いる.G-XML は XML 形式の記述仕様 の詳細を説明したり,観光のための順路を地図 に従った空間コンテンツ相互流通のためのプロトコ 上に表示するサービ スが実現できる. ルである.目的に応じて 4 種類の文書型定義が用意さ れており,柔軟に地理情報を表現できる.G-XML を 3. ローカルサービスの利用 用いることで,地理情報記述の互換性が実現できる. ローカル情報の取得だけでなく,サーバとやり 取りを行なうことで,サービ スを受けることが ActiveGIS の動作記述 できる.例えば,本屋に近づいたときに,ルー 3 ルにより自動的に個人情報から買いたい本の情 本章では,ActiveGIS の動作記述言語である ECA 報を検索して本屋のサーバに送信し,サーバ側 ルール記述言語 ECA-ML について述べる.まず ECAのルールにより,検索結果を返してもらう,と ML の概要について述べ,次に ECA-ML の言語仕様 いった複雑なサービ スが実現できる.このよう を説明する.最後に ECA-ML の記述例を示すことで, なルールを用いると,商店街を歩くだけで自動 ECA-ML で実現できるサービ ス例を示す. 的に自分が欲しい商品の特価情報が得られ,安 く売っている店の前に来たときに教えてくれる 3.1 ECA-ML ようなサービ スが実現できる. ActiveGIS の動作記述言語 ECA-ML は,アクティ ブデータベースにおける ECA ルール記述を XML 形 特定の場所に来たときに,自分のデータベース 式で表し たものである.ECA-ML を用いることで, の内容を更新するようなルールを用いることで, XML 形式でルールを送受信でき,また,G-XML 記 スタンプラリーやオリエンテーリングなどのよ 述に ECA-ML 記述を含めることも可能になる. うに,さまざ まな場所をまわってアイテムを集 ECA-ML は一般のアクティブデータベースにおけ めてまわるようなアミューズメントサービ スが る ECA ルール同様,イベント,コンデ ィション,ア 実現できる.また,通行証のようなデータを特 クションの 3 つの部分からなる.イベントには,従来 定の場所を通るたびに蓄積していけば,自分の のアクティブデータベースと同様のデータベース操 たど った道筋をあとから知ることができる. 作イベントに加え,オブジェクトの接近やデータパ ケット 受信など ,地理情報システムのためのイベン 5. 情報の共有 トを追加している.また,アクションとしては,デー ローカルデータベースが更新されたとき,その タベース操作アクションに加え,データパケットの送 内容によって,サーバに更新内容を送信するよ 信やタイマの設定などのアクションを提供している. うなルールを用いることで,情報の共有が可能 また,G-XML の要素を直接処理することで,目的別 になる.例えば,ローカルデータベースには自分 に地図を作り変えたり,動的にオブジェクトの色を変 だけが利用する建物情報や経路情報を自由に追 更したいという要求に応えるため,ECA-ML ではア 加し.ローカルデータベースの更新に対して,更 クション部に XML の文書変換言語である XSLT をサ 新データを移動体サーバに送信するようなルー ポートしている.XSLT を用いることで,G-XML 文 ルを用いることで,更新を移動体サーバに伝播 書を柔軟に処理できる. し,複数の人で経路などの情報が共有できるよ うになる. 4. 行動履歴の蓄積 3 ✏ <ECARULE id="[ルール ID]" scope="[ルール適用範囲]"> <EVENT type="[イベントタイプ ]" target="[イベント対象]" /> <CONDITION> (<AND> や <OR> などコンディション間制約) <ITEM type="[演算子]"> [コンディション記述] </ITEM> <ITEM>... </CONDITION> <ACTION> <ITEM type="[アクションタイプ ]" ret="[返り値格納変数]"> [アクション記述] <VARIABLE> [代入変数記述] </VARIABLE> </ITEM> <ITEM>... </ACTION> </ECARULE> ✒ 表 1: イベントタイプ一覧 名称 SELECT INSERT DELETE UPDATE RECEIVE CONNECT DISCONNECT TIMER CLOSE AWAY 表 2: アクションタイプ一覧 ✑ 図 1: ECA-ML の構文 3.2 内容 テーブルに対するデータ参照 テーブルに対するタップルの挿入 テーブルのタップル削除 テーブルのタップル更新 データパケットの受信 移動体のセルへの接続 移動体のセルからの退出 設定したタイマの発火 オブジェクトへの接近 オブジェクトから離れた ECA-ML 言語仕様 ECA-ML の記述構文を図 1に示す.ECA-ML は ECARULE タグで囲んで記述する.ECARULE タグには属 性として [ルール ID] と [ルール適用範囲] がある.[ルー ル ID] はルールを一意に識別できる識別子を記述し , [ルール適用範囲] にはルールが適用される範囲を記述 する.適用範囲に ‘internal’ を指定した場合,ルール が適用され る範囲はその文書だけとなる.したがっ て,G-XML 記述内に ‘internal’ を指定した ECA-ML 文書を含めておくことで,その文書における G-XML 記述だけに対するルールを記述できる. EVENT タグにはイベントを記述する.イベントの種 類を [ イベントタイプ ] に記述し ,イベントの対象を [ イベント対象] に記述する.ECA-ML で指定できる イベントタイプの一覧を表 1に示す.[ イベント対象] は,データベース関連のイベントでは対象データベー スやテーブルを記述し,オブジェクトへの近接などの イベントでは,G-XML 中のオブジェクト ID を指定 することで,特定のオブジェクトに対するイベントを 処理できる. CONDITION タグにはコンディションを記述する.コ ンディションの記述は ITEM タグで行なう.制約条件を 複数記述できるようにするため,ITEM タグは CONDITION タグ中に複数記述でき,また,それらを AND タグやOR タグで囲むことで複数コンデ ィション間の関係を記 述できる.コンデ ィションは ITEM タグの要素として ‘[左辺], [右辺]’ の形式で記述する.両辺には,データ ベース属性,受信パケット内容や定数を記述し,比較 演算子は [演算子] 属性に記述する. 4 名称 QUERY SEND INSERT ECA DELETE ECA ENABLE ECA DISABLE ECA SET TIMER KILL TIMER DISPLAY XML PROC 内容 データベース操作 データの送信 ECA ルール格納 ECA ルール削除 ECA ルール有効化 ECA ルール無効化 新たなタイマの設定 タイマの削除 画面表示 G-XML を処理 ACTION にはルールのアクションを記述する.各ア クションの記述は ITEM タグで行なう.アクションと してはデータベース操作アクションやパケット送信ア クションの他に,XML 記述の変換言語である XSLT 記述を利用できるようになっている.実際のアクショ ン内容はITEM タグの要素として記述する.type 属性 にはアクションの種類を記述し,ret 属性にはアクショ ンの実行結果が代入される変数名を記述する.ECAML で記述できるアクションを表 2に示す.アクショ ン内で変数を利用したい場合は,VARIABLE タグを利 用する.要素に ‘[置換文字名] : [変数名]’ と記述して おくことで,実際のアクションが実行されるときに変 数内容に置換される. また,ECA-ML を記述する場合, 「 挿入されたタッ プルに対して∼という処理を行なう」であるとか, 「削 除されたタップルが∼に関するものだった場合,関連 するタップルもすべて削除する」といったルールを書 きたい場合がある.このようなルールを記述するた めには,挿入されたタップルや削除されたタップルに 関する情報が必要になる.そこで,NEW データおよ び OLD データと呼ぶシステム変数を用意する.イベ ントが発生したときにはこれらの変数に必要な情報 が格納される.コンディション部やアクション部にお いて,これらの変数は自由に利用できる.各イベント が発生したときの NEW データ,OLD データの内容 を表 3に示す. 表 3: NEW データと OLD データの内容 イベント SELECT INSERT DELETE UPDATE RECEIVE CONNECT DISCONNECT TIMER CLOSE AWAY NEW 参照タップル 挿入タップル – 更新後タップル 到着パケット内容 接続移動体情報 – タイマ識別子 近接した地物情報 – ✏ <ECARULE id=”rule1” scope=”entire”> <EVENT type=”RECEIVE”/> <ACTION> <ITEM type=”XSLT” ret=”tempGXML”> <xsl:stylesheet xmlns:xsl=”http://www.w3.org/TR/WDxsl”> <xsl:template match=”/RW-GXML”> <RW-GXML> <xsl:for-each select=”Feature[@theme=’ 本屋’]”> <xsl:apply-templates select=”*—@*—comment()—pi()—text()”/> </xsl:for-each> </RW-GXML> </xsl:template> </xsl:stylesheet> </ITEM> <ITEM type=”XMLProc”> %s<VARIABLE>%s=tempGXML</VARIABLE> </ITEM> </ACTION> </ECARULE> OLD – – 削除タップル 更新前タップル – – 切断移動体情報 – – 離脱した地物情報 ✒ 3.3 図 2: ECA-ML 記述例 1 ECA-ML インスタンス例 本節では ECA-ML の記述例を示す.ActiveGIS に 以下のような機能を設定する場合を考える. 2. 自分から一定範囲内に指定した種類のオブジェ クトを見つけたとき,そのオブジェクトの色を 変化させて目立たせ,さらにユーザに通知する. 3. 自分の一定範囲内に本屋があったとき,自分の探 している本があるかど うかを本屋のデータベー スから検索して結果を表示する. これらの機能実現するための ECA-ML はそれぞれ 図 2,3,4に示す通りである.記述例 1 は,G-XML データを受信したときに発火するルールで,アクショ ン部で実行され る XSLT により,本屋に関するオブ ジェクトのみを抽出し て処理する ECA-ML である. 記述例 2 は,オブジェクトが接近したときに発火する ルールで,接近が 30 メートル以内で,さらにそのオ ブジェクトが本屋であった場合,XSLT により対象オ ブジェクトの前景色を黄色に変更し,DISPLAY アク ションによってユーザに通知する.ルール例 3 は,本 屋の建物データを受け取ったときに,自分のデータ ベースからほしい本の情報を検索して本屋に送信し (rule3-1) ,本屋においてデータベースを検索して本 の値段を返し (rule3-2) ,受け取った値段情報をユー ザに通知する (rule3-3) ルール群である. このように,ECA-ML を用いることでさまざ まな サービ スを提供する地理情報システムが構築できる. ✒ ✑ 図 3: ECA-ML 記述例 2 4.1 システム構成 ActiveGIS のシステム構成を図 5に示す.イベント 検出部では,データベース状態の変化や,外部から のデータパケットの到着などのイベントを検出する. 検出したイベントは ECA ルール検索部に渡される. ECA ルール検索部では,ECA ルールベースからイベ ントにマッチするルールを検索し,コンディションの 評価を行なう.ECA ルール処理部では,実際にアク ションの処理を行なう.インタフェース部では,GXML の表示やユーザからの入力の処理を行なう. 4.2 システムの設計と実装 ✏ <ECARULE id=”rule2” scope=”entire”> <EVENT type=”CLOSE”/> <CONDITION> <AND> <ITEM type=”LESS˙THAN” >NEW.DISTANCE, 30</ITEM> <ITEM type=”EQUAL” >NEW.TYPE, 本屋</ITEM> </AND> </CONDITION> <ACTION> <ITEM type=”XSLT”> <xsl:stylesheet xmlns:xsl=”http://www.w3.org/TR/WDxsl”> <xsl:template match=”/”> <xsl:apply-templates select=”*—@*—comment()—pi()—text()”/> </xsl:template> <xsl:template match=”PolygonStyle[@pffgcolor]”> <PolygonStyle plcolor=”–@plcolor˝” pffgcolor=”YELLOW” plwidth=”–@plwidth˝” /> </xsl:template> </xsl:stylesheet> </ITEM> <ITEM type=”DISPLAY”> Normal, ”近くに %s があります.” <VARIABLE>%s=NEW.TYPE</VARIABLE> </ITEM> </ACTION> </ECARULE> 1. 本屋専用の地図を作成する. 4 ✑ 実装 以上に述べた ActiveGIS のプロトタイプシステムを 実装した.実装は WindowsPC 上で,Visual Basic6.0 を用いて行ない,XML や XSL の処理には Microsoft XML2.6 を用いた.無線通信としては,メルコ社の無 線 LAN を用いた.システムの稼動画面を図 6に示す. 本章では,これまでに述べた機能をもつ地理情報 システムである ActiveGIS の設計と実装について述 べる.まず,ActiveGIS のシステム構成を説明し,次 にプロトタイプの実装について述べる. 5 ✏ <ECARULE id=”rule3-1” scope=”entire”> <EVENT type=”CLOSE”/> <CONDITION> <AND> <ITEM type=”<”>NEW.DISTANCE, 30</ITEM> <ITEM type=”=”>NEW.TYPE, ”本屋”</ITEM> </AND> </CONDITION> <ACTION> <ITEM type=”QUERY” ret=”QDATA”> ”SELECT BookName FROM RequestBookTBL” </ITEM> <ITEM type=”SEND”> %s1, ”BookRequest”, ”BookName:%s2” <VARIABLE>%s1=NEW.FROM, %s2=QDATA</VARIABLE> </ITEM> </ACTION> </ECARULE> <ECARULE id=”rule3-2” scope=”entire”> <EVENT type=”RECEIVE”/> <CONDITION> <ITEM type=”=”>NEW.HEADER, BookRequest</ITEM> </CONDITION> <ACTION> <ITEM type=”QUERY” ret=”QDATA”> ”SELECT Price FROM BookTBL WHERE BookName=%s” <VARIABLE>%s=NEW.BookName</VARIABLE> </ITEM> <ITEM type=”SEND”> %s1, ”Result”, ”PRICE:%s2” <VARIABLE>%s1=NEW.FROM, %s2=QDATA</VARIABLE> </ITEM> </ACTION> </ECARULE> 図 5: ActiveGIS のシステム構成 <ECARULE id=”rule3-3” scope=”entire”> <EVENT type=”RECEIVE”/> <CONDITION> <ITEM type=”=”>NEW.HEADER, Result</ITEM> </CONDITION> <ACTION> <ITEM type=”DISPLAY”> MsgBox, ”値段:%s” <VARIABLE>%s=NEW.PRICE</VARIABLE> </ITEM> </ACTION> </ECARULE> ✒ ✑ 図 4: ECA-ML 記述例 3 5 5.1 考察 ECA ルールの言語仕様について 図 6: プロトタイプ稼動画面 ActiveGIS で用いる ECA ルールにおいて記述でき るイベントおよびアクションは 1,2に示したが,地図 上のオブジェクトに対してのイベントは接近と離脱し か用意していない.現時点においても,2 章で述べた ようなさまざ まなサービスを提供できる.しかし,地 理情報システムのアプ リケーションには現状の ECA ルールでは実現できないサービ スもある.たとえば , ネットワーク分析やオーバレ イの制御を ECA ルール で行なうことができない.また,定期的な処理や災害 調査など においては,柔軟なタイマ処理を記述でき る必要がある.したがって,新たなイベントおよびア クションの追加を含め,言語仕様を再考することが今 後の課題となる. ティブデータベースの研究分野では,ECA ルールの 無限連鎖や矛盾の検出についてさまざ まなアプロー チがなされているが,本システムでは移動体が自由に 動き回るため,システム内のルールだけでなく,ネッ トワークトポロジの変化も考慮する必要がある.筆 者らの研究グループでは,移動体環境における ECA ルールの矛盾や無限連鎖を静的に検出する機構 [6] お よび動的に検出する機構 [13] に関する研究を行なって おり,ActiveGIS についても同様の手法が有効である と考えられる. 5.2 5.3 ECA ルールの一貫性維持について システムの規模増大について システムの規模が増大しても,移動体サーバの数 を比例して増加させれば ,スケール的な問題は起こ らない.しかし ,遊園地などで動作させる場合など , 1 つの移動体サーバに対して移動体の数が非常に多く なるような環境では,イベント発生の集中およびトラ フィックの増大が起こる可能性がある.現在のシステ ActiveGIS では,複数のアプ リケーションが ECA ルールの組として混在する.また,ECA ルールの送 受信や,有効化,無効化を自由に行なうことができ る.そのため,有効な ECA ルール群の構成は動的に 変化し,矛盾や無限連鎖を起こす可能性がある.アク 6 ムでは,移動体はすべて移動体サーバとの相互動作 的でないため,ECA ルールのオーサリングツールな によってサービスを受けるため,移動体の集中度合い どを提供する必要がある. に応じて移動体サーバに大きな負荷がかかる.さま ざ まなサービ スを想定し , どの程度の処理能力が必要 5.8 関連研究 とされるかを実測評価することが今後の課題となる. 本研究と同様に,GIS にアクティブデータベースの 機構を取り入れたものに,GIS ユーザインタフェース 5.4 位置の特定方法について の動的カスタマイズに関する研究 [7] がある.Oliveira 現在のシステムでは位置を特定する方法として GPS ら [7] は,ActiveGIS と同様,GIS にアクティブルール 機器を用いている.近年,GPS 精度の向上により誤 のメカニズムを盛り込んでいるが,ECA ルールはユー 差は数メートル程度に抑えられているため,位置の ザインタフェースをカスタマイズすることに用いて 特定に関しては GPS 機器で充分であると考えられる. いる.データ内容によってインタフェースを変化させ また,GPS に加えて,他のデバイスと組み合わせる ることで,ユーザにとってわかりやすいデータ処理が ことで,より柔軟な位置管理を行なえる.たとえば , 行なえるが ,追加されているイベントやアクション 移動体サーバから移動体に対して,今どのセルに入っ も,ユーザインタフェース構築用のものであり,アプ ているかという情報を送信することで,ど の移動体 リケーションの機能を制御することはできない.一 方,ActiveGIS では,ユーザインタフェースをルール サーバに属しているかといった情報を用いてサービ スを受けることができる. のみで制御することはできないが,アプリケーション の機能そのものが ECA ルールで表現されるように拡 張を行なっているため,ECA ルールを追加したりカ 5.5 移動体サーバの設置間隔について スタマイズすることで,アプリケーション自体をカス 本システムでは移動体サーバの規模や設置間隔に タマイズできる. ついては規定していない.すべてのサーバが対等に存 モバイル環境で GIS を利用するための研究として 在し ,一定間隔ごとに移動体サーバを設置する方法 は伊藤らのシステム [5] が挙げられる.文献で述べら の他に,セル範囲が広く,基本的なオブジェクトすべ れているモバイル GIS に求められる機能としては,図 てを管理する移動体サーバを広い間隔で設置し ,詳 形情報の入力や更新,データの整理や分析,出力など 細情報や位置依存サービ スを提供するサーバを特定 が挙げられているが,その目的は現地調査における各 の位置ごとに設置するような階層型の設置方法も考 種のデータ入力をその場で行なうことである.一方, えられる.階層型にすることで,大まかな情報は遠く ActiveGIS は,ECA ルールによるサーバとのインタ からでも取得でき,位置依存の情報は特定サーバの ラクションを用いて位置依存サービ スを受けること 近くに行かないと得られないようにできる. を主な目的としている. 位置依存サービスの研究例としては,SpaceTag[12] 5.6 蓄積するオブジェクト の量について や,モーバイルインフォサーチ [11] が挙げられる.SpaceTag は,時空間上にオブジェクトを配置し,その場, 一般に移動体が保持できるデータ量には制限があ その時間にいないとオブジェクトにアクセスできな る.ActiveGIS ではデータ取得の際に ECA ルールを いように制限を加えることで位置依存サービ スを実 用いたフィルタリングを行なうことで,必要なデータ 現する機構である.SpaceTag は,それ自体が時空間 のみを蓄積できる.一方,すでに大量のデータが蓄積 上の場所にあるのではなく,サーバにまとめて蓄積 されている場合,不要なデータを削除する操作が必要 されている位置情報をもったオブジェクトである.し となる.ECA ルールのイベント部分に蓄積データ量 たがって,端末はデータにアクセスする際には,ネッ の制限オーバーを記述できるようにするなど ,キャッ トワーク上に存在するサーバにアクセスするための シュを管理するルールを記述できるようにすること 機能をもつ必要がある.また,悪意をもったユーザに が今後の課題となる. よって,離れた場所からネットワーク越しにデータを 見られてしまう可能性がある.一方,ActiveGIS にお 5.7 ECA ルールの記述者について ける移動体サーバは,自分の周りにある情報を保持 ECA ルールの記述は一般にアプ リケーション作成 し,それを無線によって送信しているため,近くにい 者が行なう.しかし,一般ユーザがルールのカスタマ なければ受信できない.したがって,より強固な位置 イズを行なったり,ユーザ固有のルールを記述したい 依存サービ スを提供できるが,移動体サーバが各所 という要求もある.ECA ルールはシンプルな言語で に存在しているという前提が必要となる.モーバ イ あるが,一般ユーザがすべてを記述することは現実 ルインフォサーチでは,モバイルユーザの現在位置に 対して,時刻表や最寄の店など の情報を提供するこ 7 とで,実世界とネットワークの両方から情報を得る ことができるようにしたシステムである.移動体上 でデータ収集を行なう点で ActiveGIS との共通点が あるが,モーバイルインフォサーチでは,データ収集 をエージェントによって実現しようとしているのに対 し ,ActiveGIS では ECA ルールによってデータ収集 を行なっている. 6 おけるモバイル GIS 利用の試み (その 1), 地理情 報システム学会講演論文集, No. 7, pp. 137–140 (1998). [6] 村瀬亨, 塚本昌彦, 西尾章治郎: 移動体環境に おけるアクティブデータベースの安全性につい て, 情報処理学会研究報告 96-DBS-106, Vol. 96, No. 11, pp. 33–40 (1996). [7] Oliveira, J. L., Medeiros, C. B. and Cilia, M. A.: Active Customization of GIS User Interfaces, 13th International Conference on DATA ENGINEERING, pp. 487–496 (1997). おわりに 本稿では,ECA ルールによる拡張が可能な地理情報 システム ActiveGIS の構築について述べた.ActiveGIS を用いることで,さまざ まな位置依存サービスが利用 [8] 可能となる.今後は,さらにイベントやアクションを 追加し ,機能拡張を行なっていく予定である.また, G-XML 仕様はまだ検討段階であるが,現時点のα版 [9] においても多彩な表現が可能であり,今回実現したシ ステムではその一部にしか対応していない.そこで, G-XML 仕様のより多くの部分に対応し,ActiveGIS [10] の有効性を検証する予定である. 謝辞 Open GIS Consortium, Inc: http://www.opengis.org/. Point Of Interest eXchange Language: http://www.w3.org/TR/poix/. ポケナビ : http://www.empex.co.jp/sp gps/s gps.html. [11] 高橋克巳: モバイル環境下での情報収集を支援す るエージェント , 人工知能学会誌, Vol. 14, No. 4, pp. 14–21 (1999). 本研究を進めるにあたり,G-XML 標準化検討委員 会のプロトコル検討小委員会,プロトタイプ開発小委 員会での議論が大変参考になった.ここに,東京大学 [12] 垂水浩幸, 森下健, 中尾恵, 上林弥彦: 時空間限 の有川正俊助教授,中央大学の久保田光一助教授,財 定型オブジェクトシステム: SpaceTag, 日本ソフ 団法人データベース振興センターの天野清憲氏をはじ トウェア科学会 WISS’98, pp. 1–9 (1998). めとする関係者の皆様に感謝の意を示す.なお本研究 は,日本学術振興会未来開拓学術研究推進事業におけ [13] 寺田努, 莫君, 村瀬亨, 塚本昌彦, 西尾章治郎: 移 る研究プロジェクト「マルチメディア・コンテンツの高 動体計算環境におけるアクティブデータベースの 次処理の研究( Project No. JSPS-RFTF97P00501 ) ECA ルール実行監視機構の設計と実装, 情報処 の研究助成によるものである. 理学会研究報告 99-DBS-119, Vol. 99, No. 203, pp. 55–60 (1999). 参考文献 [14] VAIO PCG-C2GPS: http://www.sony.co.jp/sd/ProductsPark/ [1] CLUB Locatio: Consumer/PCOM/PCG-C2GPS/. http://www.i-love-epson.co.jp/locatio/. [2] 道路用 Web 記述言語 RWML の提案: http://www2.ceri.go.jp/its-win/RWML.htm. [3] G-XML ホームページ : http://gisclh.dpc.or.jp/gxml/contents/. [4] 石川博: ア クティブデ ータベース, 情報処理, Vol. 35, No. 2, pp. 120–129 (1994). [5] 伊藤悟, 岡部篤行, 奥貫圭一, 東明佐久良, 秋田義 一, 小坪宏則, 大喜多祐司, 後藤寛, 金子忠明, 足立 俊雅, エリックバーズリー: 都市計画基礎調査に 8