設計
4.1 サービスハンドオフフレームワーク
本節では,3.4節で述べたアプローチ方法に即し,SHを実現するサービスハンドオ フフレームワーク(以降,SHフレームワーク)について述べる.異種サービス発見機 能はSH管理機能とSH発見機能,SH支援機能,サービス情報管理機能により実現さ れる.SHデータ変換機能はSH支援機能とサービス情報管理機能により実現される.
本節では,まず,SHフレームワークの全体像について解説する.その後,各処理機 能とサービス情報記述言語について述べる.
4.1.1 サービスハンドオフフレームワークの全体像
本フレームワークは,SH管理機能とSH支援機能,サービス情報配信機能,サービ ス情報管理機能で構成される.図4.1に本フレームワークの全体像を示す.
図 4.1: サービスハンドオフフレームワーク
本フレームワークは複数存在するSH先候補サービスの中から,異種サービスを判定 することでSH先サービスを発見する.そしてSH元サービスからのSHデータをSH先
サービスが解釈できる形に変換し仲介することでSHを実現する.この際,SH先サー ビスを決定したり,SH先が解釈可能なデータ形式を本フレームワークが知るために,
サービス情報記述言語が必要となる.次項からは各処理機能について解説する.
4.1.2 サービスハンドオフ管理機能
SH管理機能はユーザモバイル端末上に実装され,SH自体を管理する.具体的には ユーザへSHインタフェースを提供し,ユーザのSH設定を可能にする.ゆえに,ユー ザにとってのリッチなサービス等も本機能が定義する.また,ユーザ利用中のサービ スや情報環境の移動を監視し,移動を確認した際はSH先候補となるサービスの情報 を収集する.そして,ユーザからの設定に従いSH先候補のサービス情報ファイルを フィルタリングしたうえで,SH支援機能に渡すことでSH自体を管理する.
4.1.3 サービスハンドオフ支援機能
SH支援機能はSH管理機能と同じくユーザモバイル端末上に実装され,SH管理機 能からSH先候補となるサービス情報を受け取り,SH先を決定する.そして,SH元 サービスからSHデータを取得し,SH先サービスが解釈できるよう変換しSHデータ を仲介することでSHを支援する.図4.2にSH支援機能のイメージを示す.
4.1.4 サービス情報配信機能
サービス情報配信機能は情報環境ごとに必要とされ,環境内のサービス情報を保持 する.そして環境内に新たに加わった端末に対してサービス情報を配信することで,
SH支援機能の処理を支援する.また新規にサービスが環境内に構築され,サービス情 報が追加された場合はサービス情報管理機能に新規サービス情報を通知する.
4.1.5 サービス情報管理機能
サービス情報管理機能は任意の範囲に一つ必要とされ,サービス情報配信機能に新 たなサービス情報が追加されると,その情報を取得,解析し他のサービス間との関係 性や継承を整理し,保存する.そして,SH支援機能からの情報要求に応え,処理を支 援する.
4.1.6 サービス情報記述言語
本フレームワークでは,各サービスが自サービス情報をサービス情報配信機能へ登 録する.サービス情報は,サービス提供サーバのIPアドレスやPort番号だけでなく,
図 4.2: SH支援機能イメージ
各サービスが独自定義したSHデータやSHプロトコル情報についても記述する必要が ある.SHデータについてはサービス内で独自定義したものなので,他のサービスが 解釈できるようにデータ内の情報の一つ一つの意味情報を記述する必要がある.また,
後述するが異種サービスの判定をするためにサービスの継承についても記述する必要 がある.
上記の記述要件を満たすことが可能なサービス情報記述言語は,現状存在しない.そ こで本研究では,サービス提供サーバのIPアドレスやPort番号,サービスの継承情 報を標準で記述可能であり,サービス情報を型と実体に分けて記述し型を継承するこ とで体系的に継承情報を整理可能な言語であるUSDL(Universal Service Description
Language)(A.4.5参照)を採用する.そして拡張記述法を新たに設計,定義すること
で記述要件を満たせるようにする.また,以降サービス情報はUSDLによってusdlファ イルに記述されるものとする.
4.1.7 本論文の対象機能
本研究では,SHフレームワークのコアである,SH支援機能に焦点を絞って研究を 進めた.ゆえに,以降ではSH支援機能を中心に述べる.しかし,サービス情報管理 機能はSH支援機能と通信し処理に大きく関わるため,SH支援機能への応答に必要な 処理部を中心に解説する.他の処理機能に関してはSH支援機能のテスト環境として の簡易実装のみを行ったので,本論文で詳細については述べない.