(セッション表へ)

マルチメディア,分散,協調とモバイル(DICOMO2008)シンポジウム

セッション 1F  分散処理(DPS)
日時: 2008年7月9日(水) 13:40 - 15:20
部屋: コスモ(2)
座長: 小林 真也 (愛媛大)

1F-1 (時間: 13:40 - 14:05)
題名JavaSpacesを用いた共有メモリ機構の構造化と操作
著者*富田 昌平 (湘南工科大学/工学研究科), 坂下 善彦, 大谷 真 (湘南工科大学/情報工学科)
Pagepp. 145 - 148
Keyword共有メモリ, 分散環境
Abstract目的・背景: 分散共有メモリ方式に基づくLindaシステムをベースとしJava言語で構築されたJavaSpacesによる分散共有空間とする情報空間を提供し,そこに存在するエントリを用いて木構造に構造化した情報場を構築した [情報処理学会第70回全国大会]。 本報告では、構造化のための情報量と実際に分散環境での使用に焦点を当て、in/out操作時における操作時間を計測し、構造との関係と特徴について報告する。 概要: ネットワーク環境上で利用することが可能で,ユーザはオブジェクトがどこに存在するのかを意識せずに位置フリーに扱うことができるものとしてLindaシステムがある。そこでは,オブジェクトがタプルという形でタプル空間と呼ばれる空間上に存在する。このタプル空間に置かれているタプルを操作するための“Linda Interface”が用意されていて,書込み,読込み,取出しの3つの操作を基本にして行う。Lindaシステムはタプル空間とLinda Interfaceによって,ネットワーク上にあたかも共有メモリ空間があるようにふるまう。この原理をJava上で使えるようにしたのがJavaSpacesである。JavaSpacesはJiniServerによって分散環境上に実装される。JavaSpacesではタプルのことをエントリ,タプル空間のことをJavaSpacesと呼ぶ。 JavaSpacesにエントリとしてオブジェクトを置く場合、このエントリの一部を構造化用の目的としたデータとして、木構造の管理制御の目的で使用する。このデータを読取って構造化データのついたエントリを操作する管理制御システムと、ユーザが管理制御システムに命令要求を出すためのユーザインターフェイスを使ってユーザがJavaSpacesを見ることによってユーザはあたかもJavaSpacesが木構造を成しているように見える。 しかし、構造化するためには構造化用データの追加、変更などの作業を行う為、ただオブジェクトをエントリとしてJavaSpaces上で操作するのと比べて明らかなオーバーヘッドが発生する。今回は、木構造が大きくなるだけ、構造化用データも大きいものになってしまう為、これがどれほどのオーバーヘッドになるのか。実際にこのシステムを分散環境で使用した場合、管理制御システムの台数が増えるにつれてどの程度処理時間を短縮できるか。この二つに焦点を絞って処理時間の測定を行い、測定結果と評価を行ったので報告する。

1F-2 (時間: 14:05 - 14:30)
題名P2Pオーバレイネットワーク上での協調サービス実行を支援する統合システムの設計と実装
著者*境 裕樹, 廣森 聡仁, 山口 弘純, 東野 輝夫 (大阪大学大学院情報科学研究科)
Pagepp. 149 - 160
Keyword分散処理, ペトリネット, P2P
Abstract 本論文ではノード間がそれぞれ論理的に直接結合されたオーバーレイネットワーク上において,逐 次,並列,分岐により結合された複数のコンポーネントで構成されるサービスを,複数のノードで分 散して実行するための自動分散化アルゴリズムの基本概念に基づき,P2P ネットワークにおける協 調サービス実行として実現するシステムを提案し,その設計および実装を行う.提案するシステムで は,サービス記述モデルとしてカラーペトリネットを利用し,コンポーネントの並列処理や同期処理 を容易かつ直感的に表現する.また,与えられたメトリクス(ネットワーク遅延など)に基づく最適 化方針に従い,ネットワークやピアに与える実行負荷を軽減するようなコンポーネントの最適配置を 決定する機能を備える.さらに,ノード(ピア)間のメッセージ交換やデータ移動の手順は与えられ たサービスから自動的に導出され,本システムが提供するピア制御プログラムにより,それに従った 通信ならびにデータ処理が,指定されたサービスが全体として正しくかつ低負荷で協調実行される. 本システムは,サービスの分散化及び実行のみならず,プログラムモジュールの配置や分析情報の取 得といった管理作業も自動化することで,サービスをシームレスにP2P ネットワーク上で実行する ために要する管理コストも軽減する.本論文では,フルメッシュP2P ネットワーク上での映像トラン スコードサービスの協調実行を通して,本システムの有用性を示す.

1F-3 (時間: 14:30 - 14:55)
題名セマンティックWeb技術を用いたJavaによる機器連携アーキテクチャの設計と実装
著者*石田 匠平, 門脇 恒平 (同志社大学大学院工学研究科情報工学専攻), 小板 隆浩 (同志社大学工学部情報システムデザイン学科), 佐藤 健哉 (同志社大学大学院工学研究科情報工学専攻)
Pagepp. 161 - 167
Keyword機器連携, セマンティックWeb, Java
Abstract 現在,ユビキタスネットワーク社会の実現に向けて,DVDの再生といった機器が提供する機能(以下サービス)を,様々な機器から利用するためのアーキテクチャが提案されている.よく知られているものとして,MicrosoftによるUPnPやSun MicrosystemsによるJiniが挙げられる.これらの仕様では,機器同士が目的のサービスを見つけ出し,連携して動作するために,サービスの提供者と利用者が,サービスの仕様を,何らかの形で事前に共有している必要がある.つまり,JiniにおいてはJava言語のインタフェースを共有する必要があり,UPnPにおいてはUPnP Forumによって策定されたインタフェースの仕様に従う必要がある.  これらの点は,サービスがアーキテクチャの仕様によって制約されることになるということである.そのため,仕様に定められていないサービスを利用することや,全く新しいサービスを導入することが難しい.また,アーキテクチャの仕様を定める段階でサービスの利用方法を考えなければならない.そのため,「MP3などの様々な音声データを再生するサービスに対して動画ファイルを渡し,音声データ部分だけを再生させる」といった複雑なサービス利用方法をサポートできない.  本研究は,Javaを利用し,サービスに関する情報を事前に共有する必要のない,すなわち,機器の連携やシステムの開発に制約を課すことのないアーキテクチャを構築することを目的とする.このアーキテクチャでは,既存のもののようにサービスが定められた仕様に従うのではなく,XMLを始めとするセマンティックWebの技術を用いてインタフェースなどの情報を意味的に解釈し,柔軟に対応することで,機器間の協調動作を実現する.  まず,提案するアーキテクチャの構成を述べる.このアーキテクチャは,サービスの利用者と提供者である2つの機器の他に,ネットワーク上のサービスを管理し,利用者と提供者の仲介する機器(以下サービスマネージャ)により構成される.サービスの提供者は,サービスの内容を端的に表す1個以上のキーワードと,サービスのメソッド名や引数などのインタフェース情報を記述したXMLファイル,RMI (Remote Method Invocation) によって制御を行うためのスタブやスケルトンを持つ.サービスの利用者は,探したいサービスのキーワードと,そのサービスが発見された場合に用いるインタフェースの情報を記述したXMLファイルを持つ.サービスマネージャは,サービスの利用者と提供者のインタフェースの違いを埋めるために,意味的な解釈を行う.この解釈の仕組みについては,同義語の対応などが考えられるが,その手段はアーキテクチャとして問わず,必要に応じて組み替えることができる.  次に,全体的な処理の概要を述べる.まず,サービスの提供者が,提供するサービスの内容を表すキーワードとインタフェースの情報を記述したXMLファイルをサービスマネージャに送ることで,サービスを登録する.次に,サービス利用者が,探し出したいサービスのキーワードと,そのサービスのためのインタフェースの情報を記載したXMLファイルをマネージャに送信することで,サービスの検索を依頼する.この時,サービスマネージャは両者から送られたキーワードを照合し,サービス利用者が求めているサービスが登録されているかを調べ,その後XMLファイルを読み込み,両者のインタフェース情報を照合する.サービス提供者側が求める引数などをサービス利用者側が全て満足できる場合,サービス提供者のIPアドレスと両者のインタフェースのメソッド名や引数などがどう対応しているのかを,サービスマネージャがサービス利用者に伝える.そして,サービス利用者が,サービス提供者のIPアドレスをもとに,RMIを利用してサービスを呼び出す.サービスを利用するためにメソッドを実行する際には,メソッド名の違いなどといったインタフェースの齟齬を解消するために,リフレクションを用いる.リフレクションとは,単なる文字列からオブジェクトの持つメソッドなどを呼び出すことができる機能である.これを用いることで,サービスマネージャより伝えられる文字列のみによってメソッドの呼び出しが可能となるため,サービス利用者がサービスの実際のインタフェースを予め知る必要がなくなる.つまり,アーキテクチャの仕様にとらわれないサービス構築が可能となるのである.  本研究では,柔軟な機器連携を行う上で重要となることは,インタフェースの意味的な解釈であると捉え,上記のアーキテクチャに基づいたシステムを実装し,「サービス利用者の想定する仕様と完全には一致しないサービスを利用できるか」などの面における有効性を検証する.

1F-4 (時間: 14:55 - 15:20)
題名情報統合サービスのための分散型情報統合アーキテクチャ及びジョイン方式の提案
著者*須賀 啓敏 (日本電信電話株式会社 NTTサイバースペース研究所), 寺本 純司 (日本電信電話株式会社 NTTサーバースペース研究所), 日高 東潮, 小谷 尚也, 星 隆司 (日本電信電話株式会社 NTTサイバースペース研究所)
Pagepp. 168 - 176
Keyword情報統合, 異種情報源, 統合インデックス, ジョイン, 分散
Abstract 近年のインターネット上における情報源(WebAPI等)の増加に伴い,一つの情報源を利用したサービスだけでなく,マッシュアップと呼ばれるような複数の情報源を統合して一つのサービスとして提供することでユーザの利便性をより高めたサービスが提供されている.しかも今後は,情報源の提供は企業主体であったものが個人主体の提供も増加されていくなど,多種多様な情報源が爆発的に増加していくことが予想される.  そこで本報告では,上述の状況に適した分散型アーキテクチャにおいて,その欠点である参照・更新性能,特にジョイン処理性能の向上を目的とした,情報統合サービスのための分散型情報統合アーキテクチャ及びジョイン方式を提案する.提案するアーキテクチャのポイントは,情報源と独立し、かつ1対1に対応するインデクスユニットのみをメモリ上に保持することと,ジョイン処理はインデックスユニット間で行うことにある.このアーキテクチャの利点は,メモリ上のインデックス間だけでジョインすることにより,性能向上が図れることである.本報告では,上述のアーキテクチャ上でのジョイン処理性能の向上方式として,ブロック単位ソートマージジョインを提案するとともに,その有効性確認結果を報告する.  一般に分散データベースにおける適したジョイン方式としては,セミジョインがある.この方式では片系に全てのキー値を送信し,ジョインに成功したキー値を送信元の系に返信する.しかし,片系に全てのキー値を送信するので送信された系は一時的に両系のキー値を全てメモリ上に保持することになり、特に全てのキー値の合計サイズが数GBに及ぶ場合には、各インデックスユニットで常に数GBの空き容量を用意する必要がある。さらに複数のインデックスユニット間で複数のジョイン処理が同時平行に発生する状況では、ひとつのインデックスユニットへ同時に複数のインデックスユニットから全キー値が送信されることも考えられ,より大きな空きメモリ領域を確保しておく必要がある.一方,キー値がソート済みの状態で格納されているインデックスを使用することを想定すると、ソートマージジョインの採用も考えられる.キー値を一個ずつ互いに送信しあいながらジョイン処理を進めることになるので,セミジョンのように大量のメモリ領域の確保は必要がない.しかし,キー値の送受信回数がセミジョインと比較して非常に多くなり,通信時間が増大するため性能では著しく不利である.  そこで,セミジョインのキー値の送信の効率性とソートマージジョインの省メモリ性を両立可能とする,ブロック単位ソートマージジョインを提案する.インデックスユニット間の通信プロトコルとしてTCP/IPを前提とすると,インデックスユニット間の通信帯域幅は最大TCPウィンドウサイズの制約を受ける.よって全キー値のサイズが少なくとも最大TCPウィンドウサイズ以上のサイズになると,全部を一度に送信する場合と分割して複数回で送信する場合において通信時間が変わらなくなってくることが予想される,そこで本方式では,分割して送信しても通信時間が変わらないサイズに複数個のキー値をブロックとしてまとめて送信をすることで,セミジョインと比べてメモリ使用量を削減し,かつ通信時間を増加を防ぐ.本方式の処理フローは以下の通りである.ソートマージジョインがキー値を1個ずつ他系に送信するのに対して,ソートされたキー値の上位からn個を1つのブロックとしてまとめて他系に送信する,以降,最初にn個のキー値を送信する系を0系,受信する系を1系と呼ぶ,1系において受信したn個のキー値と1系のキー値とのジョイン処理をおこなう.そしてn個のキー値の中の最大値より大きい1系のキー値を取得し,そのキー値以降のn個を1つのブロックとしてまとめる,そのブロックをジョインが成功したキー値とともに1系に送信する,上述の処理を0,1系にて交互に繰り返しキー値列の最後のキー値の処理が完了したときジョイン処理が完了する.このブロック単位ソートマージジョインは,n=1のときはソートマージジョイン,n=(全キー値数)のときはセミジョインと同じ処理となる.  本方式の有効性の確認のため、全キー値数が1億個のインデックスをメモリ上に構築して検証をおこなった.なおインデックスとしてはB-treeを使用した.この結果、n=5千〜5万の場合でもジョイン処理時間がn=1億の場合と同等となる結果が得られ、本方式の有効性を確認した。