電子図書館システムNetLibraの広域コンテンツ流通支援への適用検討
杉山主税,高橋克則,爰川知宏,由比藤光宏
西日本電信電話株式会社 研究開発センタ
〒180-8585 東京都武蔵野市緑町3-9-11
Tel:0422-59-5156
Fax:0422-56-7498
E-mail:{c.sugiyama,takahashi,t.kokogawa,m.yuito}@rdc.west.ntt.co.jp
概要
我々は分散ネットワーキング技術CORBAを用いて,複数の電子図書館等を相互連携さ
せ,情報流通の仕組みを提供するプロトタイプシステムであるネットワーキングライ
ブラリシステム(NetLibra)を提案し,機能確認および評価を行ってきた.本稿では,
その結果を踏まえ,(1)性能向上(2)運用管理(3)ユーザインタフェースの観
点からNetLibraの機能拡張を行ったことについて記述する.
キーワード
横断検索,地図検索,ファイアーウォール,電子図書館,マルチメディアアーカイブ, CORBA
Support for the Wide Area Contents Distribution of "Digital Library Systems NetLibra "
Chikara SUGIYAMA, Katsunori TAKAHASHI,Tomohiro KOKOGAWA, Mitsuhiro YUITOU
NTT West Research & Development Center 3-9-11,Midori,Msashino,Tokyo,180-8585,JAPAN
Phone:+81 422-59-5156
Fax:+81 422-56-7498
E-mail:{c.sugiyama,takahashi,t.kokogawa,m.yuito}@rdc.west.ntt.co.jp
Abstract
We developed a prototype of an advanced digital library system called NetLibra,
which was able to integrate some digital libraries using distributed objects
technology and networks.From the results of evaluation of NetLibra,we got some
requirements to use such kind of system effectively.To satisfy these requirements,
from the viewpoint of (1)high performance,(2)operation management,and(3)user interface,
we expanded the prototype.
Keywords
Cross Domain Search , Map Retrieval, Firewall , Digital Library ,
Multimedia Archives , CORBA
1. はじめに
近年,インターネットの普及により,ネットワークを介したディジタルコンテンツ
の流通が一般化してきた.図書館のように膨大かつ多様な情報を集め発信するこ
とが目的の施設等では,マルチメディアアーカイブ(マルチメディアコンテンツの格
納庫)相互をネットワークを介して接続し,情報の発信/流通/共有を扱う仕組みが
必要となる.我々のグループでは,分散処理技術であるCORBA(Common Object Request
Broker Architecture)[1]をベースとして,複数の電子図書館等を連携動作させるネ
ットワーキングライブラリシステムNetLibraを開発し[2],[3],[4],プロトタイプシス
テムによる機能確認および評価を行ってきた.
本稿では,NetLibraの機能概要とその評価について述べ,そこから得られた課題お
よび実運用時に想定される要求条件を整理した.その結果を踏まえ,性能,運用,ユ
ーザインタフェースの観点からNetLibraの機能拡張を行ったことについて記述する.
2. NetLibraのシステム概要
2.1 システムアーキテクチャ
NetLibraは,ネットワークで接続された複数電子図書館等を相互連携させるシステ
ムであり,プラットフォームとしてCORBAを採用することにより,複数の電子図書館に
分散しているコンテンツ資源を一元的に検索/閲覧することができる横断検索機能を
実現しており,また優れた拡張性を有している.
NetLibraは以下の三層のソフトウェア群で構成される.図1にNetLibraのソフトウェ
ア構成を示す.
(1)分散プラットフォーム
CORBAによる分散オブジェクト処理を用いたネットワーキング機能により,上位アプ
リケーションからネットワークを意識することなく,スケーラビリティを確保し,シ
ステムの拡張や相互連携が容易に行える.NetLibraでは,CORBA共通サービスで規定さ
れているトレーディングサービスを用いることで,電子図書館の自律運用および相互
連携機能を実装した.トレーディングサービスは,クライアントからの要求に対して,
該当するサービスを実現するオブジェクトレファレンス(位置情報)を返すサービス
であり,本サービスを実現する機能がトレーダである.
(2)情報流通ミドルウェア
検索などの基本処理や著作権管理等の情報流通機能群をミドルウェア化することで,
上位アプリケーションに対する統一的なシステムインタフェースが提供できるととも
に,アプリケーション開発効率を向上できる.
また,分散プラットフォームに対応しない従来のアプリケーションや別の電子図書館
システムに対しても,個別のインタフェースミドルウェアを仲介することで,一体の
サービスとして見せることができる.
(3)アプリケーション
分散プラットフォームや情報流通ミドルウェアの機能を共通に利用することで検索
/閲覧といった基本的なサービスにとどまらず,司書や利用者支援のためのサービス
といった図書館ごとに独自のサービスが容易に構築可能である.
2.2 システム構成
NetLibraのシステム構成を図2に示す.
利用者端末からは,ゲートウェイ上に実装したCGI(Common Gateway Interface)プ
ログラムを介して,通常のWWWブラウザによるアクセスで図書館サービスを利用するこ
とができる.NetLibraは,分散する電子図書館のもつ各サービスを1つのオブジェク
トとして扱い,図書館サービスのオブジェクトレファレンスをトレーダにより管理し
ている.
3. NetLibraの評価から得られた課題および要求条件
実験システムとして構築したプロトタイプは地理的に離れた3拠点に4つの電子図
書館サーバを分散配置し,ATMネットワーク(帯域2Mbps)にて接続し,地理的にも
分散環境を構築した[5].
本システム構成による書籍横断検索の性能評価を行った結果として,CORBA による
処理のオーバーヘッドはそれほど問題ではなく,実用的な性能を確保できることが示
された.その一方で、横断検索対象の図書館が増えたときの検索レスポンスの低下,
および,検索処理によるヒット件数が増えた場合の検索レスポンスの低下が見られた.
前者は同時に検索を行うサーバが増えることによる,ネットワーク上のトラヒック
の集中が要因の一つであり,評価結果からも,検索処理程度の負荷では深刻な影響は
生じにくいと考えられるものの,サーバ数および同時利用者数がさらに増加すること
で,ネットワーク環境によってはさらなる性能低下が懸念される.
後者については,サーバ(データベース)側で処理される検索結果リストが膨大に
なることによる負荷増大が主な要因と考えられる.また,検索結果リストでなくコン
テンツそのものの取得の場合は,検索時に比べて格段にデータ量が増大するため,サ
ーバ負荷の増大は避けられない.
以上より,特にサーバおよびネットワークの負荷低減,負荷分散の観点で,横断検
索,コンテンツ取得といった基本処理の効率化をはかる必要がある.
4. NetLibraの実運用を想定した場合の要求条件
4.1 ファイアーウォールを超えた通信の必要性
複数の電子図書館相互を連携する上では,電子図書館の本館や分館を同一LAN内で運
用する場合もあるが,地理的に離れた他の図書館や分館とをネットワークを介して接
続する場合,ネットワークの経済性や利便性の面から,インターネットを経由して接
続することが考えられる.
この場合,インターネットを経由して別のLAN内にあるCORBAサーバと通信を行う場
合には,CORBA通信に使用される通信プロトコルIIOP(Internet Inter-ORB Protocol)
が既存のFirewallを通過することができないという問題が生ずる.
IIOPは使用するポート番号が動的に割り当てられるため,ある特定のポート番号を
IIOP用に割り当てて,IIOPのフィルタをかけてセキュリティを確保するといったこと
が困難である.つまり,Firewallの外部から,Firewall内の1つのCORBAサーバに対す
る通信を許可しようとすれば,Firewall内の全てのサーバに対して,アクセスを許可
することになるため,セキュリティ上問題が生ずる.
上記の理由により,インターネットを介した本システムの実運用を可能とするため
にも,Firewallを越えたCORBAのサーバ間通信を実現する必要がある.
4.2 運用上の課題
4.2.1 分散データベースサーバにおける障害把握
実運用では,サーバのトラブルや休館によるサービス停止といった場合においても,
利用者からのサービス利用要求に対しては,その影響を極力少なくする必要がある.
ネットワーク上に分散配置された複数のデータベースサーバの稼動状況を定期的に監
視し,稼動状況の把握や障害復旧を効率的に行える必要がある.
4.2.2 信頼性の向上
トレーダ上のサーバ管理情報や利用者情報といったシステム横断的に使用される機
能,情報は,常時,正常動作していることが前提条件となるため,個別のサーバ以上
に信頼性の向上と,トラブルの回避が必要である.
4.3 検索サービスの多様化
NetLibraの書誌情報(二次情報)による検索やインターネット等で使用されている
検索エンジンでは,キーワード等を入力することによって,検索を行っている.
広く一般の利用者に受け入れられる検索方法の一つとして,キーボードからの入力
を不要としたインタフェースが考えられる.例として,目的のコンテンツを,地図や
リストをクリックすることで階層的に検索するサービス等が挙げられる.
5. NetLibraの機能拡張
3章,4章での課題および要求条件をもとに,以下の機能拡張を行った.
5.1 評価結果を考慮した性能面の機能拡張
5.1.1 負荷分散機能
サーバの負荷状態を監視する機能を追加することにより,各図書館のサービスが稼
動するサーバの負荷情報と,ゲートウェイとデータベースサーバとの間のネットワー
ク負荷情報を常に収集しておき,利用者からのサービス利用要求に対して,これらの
情報をもとに最も負荷の小さいサーバに優先的にアクセスをさせることを実現した.
●負荷情報の取得方法
トレーダでは,サーバのオブジェクトリファレンスから,各サーバのCPU使用率と
CPUクロックを取得する.また,全てのサーバに対して,同時にアクセスを行い,各
サーバのレスポンス時間を測定する.CPU使用率とレスポンス時間からサーバの優先
順位を決定し,定期的に監視を行う.
5.1.2 属性情報(分野情報)の管理
トレーダで管理する電子図書館サーバの属性として,そのサーバで扱われるコンテ
ンツの分野等を持たせることにより,利用者側で分野を選択した場合,その分野に該
当するコンテンツの存在するサーバのみを対象として検索を行うことを実現した.こ
れにより横断検索処理の効率化を図る.
5.1.3 検索結果取得単位および上限数の設定
データベースサーバからゲートウェイに対して,一度に転送される検索結果の件数
を抑えるため,データベースにて一度に取得する件数に変更可能な上限値を設けるこ
ととし,検索結果の件数に対しても,同様に上限数を設けた.これにより,データベ
ースの必要以上のパフォーマンス低下を抑えた.
5.1.4 キャッシュ機能
ゲートウェイにおいて,利用者からの検索要求に対する結果,あるいはコンテンツ
の表示に対して保持期間を設けたキャッシュを行うこととした.同一の検索条件でア
クセス対象のサーバから検索結果がキャッシュされていれば,キャッシュの内容を読
み込み,キャッシュされていなければ検索要求を発行して,得られた結果をキャッシ
ュする機能を実現した(図3).これにより,横断検索時のデータベース,ネットワ
ーク負荷の低減を図った.
5.2 実運用を想定した要求機能の実現
5.2.1 ファイアウォールトンネリング機能
インターネットを介してFirewallを越えた別のLAN内にあるCORBAサーバへ通信を行
う時に,CORBAの通信プロトコルIIOPをWWWで主として使用される通信プロトコルHTTP
に変換をすることにより,固定ポートによるCORBAのサーバ間通信を実現した.
Firewallを越えてNetLibraの各電子図書館サーバ連携を実現するシステムの構成を
図4に示す.図4ではサーバA〜Cは同一LAN上にあるが,サーバDはFirewallを介してイ
ンターネット経由で接続されている.相互のFirewall内にはIIOPをHTTPに変換するプ
ロキシサーバを設置する.プロキシサーバによりIIOPがHTTPに変換され,相手側の
Firewallを通過して,目的のCORBAサーバに到達する.CORBAサーバ側では,HTTPを
IIOPに復元するAPIを実装しており,このAPIにより取り出されたIIOPリクエストによ
り,一連の通信を実現する.
5.2.2 運用面の機能拡張
5.2.2.1 サービスの稼動状態監視
トレーダの情報から,定期的に稼動状況を監視し,サーバからの応答が無い場合は
自動的にサービスの再起動を行うことを実現した.なお,サーバからの応答が無い場
合は応答がないサーバが提供するサービスの情報をトレーダから削除することで,利
用者からの検索要求に対して,常にサービスが稼動しているサーバのみへ横断検索を
行うことを可能とした.
5.2.2.2 トレーダ,利用者サービスの2重化
トレーダおよび利用者情報を管理する機能を2重化し,1つ目のサーバがアクセス
エラーとなった場合に,2つ目のサーバへの切替えを行うことで,システムの信頼性
向上を図った(図5).
5.3 階層型地図検索サービスの実現
5.3.1 階層型地図検索サービスの概要
新機能として,キーボードレスでコンテンツを選択/表示できる階層型地図検索サ
ービスを設けた.具体的には,一般利用者にコンテンツを提供するサービスの一例と
して,日本地図や世界地図をクリックすることにより地域を特定し,さらに時代と分
野により絞り込むことによって,コンテンツを導き出すサービスである.本地図検索
サービスによって導かれた検索結果はサムネイルによって表示され,サムネイルをク
リックすることにより,コンテンツを参照することができ,また,そのコンテンツに
関連する情報を参照することができる(図6).
階層型地図検索サービスで使用するクリッカブルマップは,利用者側で自由に作成
することができる.
検索結果の一覧表示でのサムネイル画像ファイルは,データベースではなくファイ
ルとして持っているため,その表示速度は,データベースから表示するよりも高速化
が図られている.しかしサムネイル画像の表示数が増えることによって,その表示速
度や表示イメージに影響が及ぼされるため,設定ファイルをゲートウェイ上に設ける
ことによって,サムネイル画像ファイルのTイズや表示数等を常時変更が行えるよう
にした.階層型地図検索サービスでの検索結果の一覧表示画面イメージを図7に示す.
5.3.2 階層型地図検索サービスの応用例
本サービスでは,クリッカブルマップの階層を自由に変更することができるため,
地図の地域指定を店舗単位まで細かく指定することによって,電子図書館における地
域情報の閲覧だけでなく,特定の映画館の上映内容や上映時間等の情報,スーパーや
デパートの値引き商品等の情報を動画や音声にて簡単に紹介するといった広範囲のマ
ルチメディアアーカイブサービスへの応用が挙げられる.
6. おわりに
性能,運用,ユーザインタフェースの観点から,電子図書館システムとしての課題
および要求条件を整理し,機能拡張を行った.
本システムはインターネットでの分散配置されたサーバ間を相互に連携動作させる
ことができる分散アーカイブシステムであり,負荷分散機能,運用管理機能の高度化,
利用者にキーボードレスでコンテンツを提供する階層型地図検索サービスを実現した.
現在その評価中であるが,同時アクセス等の高負荷時や大容量のデータベースを接
続したときの性能検証,システムの信頼性といった部分を中心に行っていく予定であ
る.ユーザインタフェースの部分は,内部での検証が難しいため,電子図書館システ
ムの利用実験等を通して,利用評価を行う予定である.
本評価試験から得られた結果に基づき,次世代電子図書館システムとしての要求条
件を精査し,コンテンツ流通の促進に寄与できるよう努めていきたい.
7. 参考文献
[1]Object Management Group: "The Common Object Request Broker Architecture and Specification"
,CORBA Version 2.0,1995
[2]吉開,西野,萱野,若原:"分散オブジェクト環境におけるネットワーキングライブラリの検討,"
情報処理学会,情処研報 Vol.97,No.104,pp.219-224,1997.
[3]萱野,西野,関,爰川:"分散ネットワーキング電子図書館NetLibraの提案,"
第57回 情報処理学会全国大会,3-1,1998.10
[4]由比藤,西野,爰川,杉山,萱野:"分散ネットワーク図書館NetLibraの機能構成の検討,"
1999年信学会総合大会,1999.
[5]Kokogawa,T., Yuitou,M., Nishino,M., and Seki,Y. : NetLibra: Toward Networking Library Systems,
International Symposium on Digital Libraries 1999(ISDL'99), Tsukuba, Japan, September, 1999.