PLAINセンターニュース第113号
Page 1

仮想天文台 (Japanese Virtual Observatory) について

水本 好彦
国立天文台データベース天文学推進室

1. はじめに
2. JVOプロトタイプ
2.1. プロトタイプの目標
2.2 JVOQuery Language
2.3 システム構成
2.4 プロトタイプの評価
3. JVOの今後

1. はじめに

 様々な望遠鏡や観測装置で観測された宇宙の姿は、世界中の計算機の中に数値データ(これを観測された「数値宇宙」と呼ぶ)として記録されている。従って、これまでに観測された宇宙は計算機ネットワークを通して再観測を行うことができる。この数値宇宙を観測する望遠鏡を仮想望遠鏡(Virtual Telescope)といい、数値宇宙の一部と仮想望遠鏡をもつ天文台を仮想天文台(VO: Virtual Observatory)という。数値宇宙は、スローン・デジタル・スカイ・サーベイ(SDSS)のように専用望遠鏡による大規模なサーベイ観測が盛んに行われるようになり急速に拡大している。これら多波長のサーベイ観測データの比較研究によって、これまで見つけることが難しかった希な天体が発見できるようになり、データベース天文学という新たな天文学が誕生した。VO では観測波長に依存しない仮想望遠鏡によって容易に多波長の観測データの比較研究が行える。VO はデータベース天文学のための強力な道具であり、これによってデータベース天文学が発展すると期待している。

 国立天文台では日本版 VO (JVO) の開発を行っており、仮想天文台とデータベース天文学については、天文月報 2002年 6,7 月号のデータベース天文学特集で紹介されている。これらの記事はJVOのホームページ (http://jvo.nao.ac.jp/) に掲載されているので参照されたい。ここでは、国立天文台データベース天文学推進室で昨年から開発を進めている JVO プロトタイプについて紹介する。


2. JVOプロトタイプ

 JVO の開発ではオブジェクト指向開発手法のスパイラル方式を採用している。実証したい基本機能のみを実装したプロトタイプを作成し、採用した技術の有効性や機能の評価を行い、機能を追加し実装を改良した次のプロトタイプを作成する。これを何度か繰り返し、最終的に運用システムを構築する。現在は、最初のプロトタイプの作成が終わり評価を行っているところである。


2.1 プロトタイプの目標

 JVO の最初のプロトタイプを開発するにあたり、

  • 分散データベースを統一的に扱う方法を開発
  • 分散環境の基盤技術として GRID を採用

の2点を目標にした。概念設計にあたり、JVO を使って何をするのか実際の例(Use Case)を数え上げる。例えば、「2つ以上のバンドで取られている領域からバンド/カラーごとの star count を求め銀河系のモデルと比較する」といったものである。この Use Case の実際の処理を机上でシミュレーションして必要な処理を洗い出す。例の処理は、  

  1. 2つ以上のバンドで撮られている領域のリストアップ
  2. それぞれのデータの重なった領域の切り出し
  3. それぞれのデータでの天体検出
  4. 検出天体リストでの星、銀河の分類
  5. 各領域での天体リストのクロスマッチ  
  6. 天体リストから star count へ

といった手順に分解できる。この処理は大きく分けてデータベース機能と画像処理機能の2つに大別できる。VO は地理的に分散した天文データベース/データアーカイブを対象にするので、分散を考慮しなければならないのはデータベース機能である。中でも複数のデータベースにまたがる検索が本質的である。そこで、VO の分散データベースへの問い合わせ言語として JVO Query Language を定義し、RDB (Relational Data Base) を用いて Subaru と 2 MASS のデータベースを構築し、その有効性を実証することを第1の目的にした。

 天文データベースは世界中に分散しているため、インターネット接続された計算機間での連携を実現するミドルウェアが必要となる。世界の VO が連携するためにミドルウェアとして標準的な技術を使うことが重要である。現在ミドルウェアとして有望なのは唯一 GRID であり、世界の VO プロジェクトでも GRID が採用されている。GRID はGlobal Grid Forum(http://www.globalgridforum.org/L_About/about.htm 参照)で規格が制定されていれるが、昨年2月に GRID に Web service の機能を加える大きな拡張が提案された。 プロトタイプには GRID 環境を実現するために Globus Toolkit version 2 を採用し、GRID が実際に機能することを確認し機能を評価することを第2の目的とした。


2.2 JVO Query Language

 VO では様々な望遠鏡や観測装置で取得された観測データがアーカイブに保存され、データベース管理されていることを想定している。実際に使用されているデータベースシステム (DBMS) は RDB が一般的である。どのようなデータベースシステムが VO として必要かは慎重に検討する必要がある。画像データを扱える OODB (オブジェクト指向データベース)も候補であるが、先に述べた use case を分析した範囲では RDB で対応可能であると判断し、JVO プロトタイプでは RDB を内部システムとして採用することにした。  JVO では単一のインターフェイスで複数のデータサーバからカタログデータ、画像データを取得することができる。JVO システムに対するデータ請求要求を記述するインターフェイス言語となる JVO Query Language の文法として SQL (Structured Query Language) を拡張した。  

 図1にカタログデータを利用してそれらに対応する画像データを要求する検索の JVO-QL コマンドを示す。説明の詳細は省くが、主な拡張はwhere 節にある。XMATCH 演算子は複数のカタログをクロスマッチすることを意味し、 XMATCH(c1, c2, !c3...) < 3 arcsec [NEAREST | BRIGHTEST | ALL] はc1 と c2 を許容誤差 3秒角の positional matching を行い、さらにそれらのうち c3 には含まれていないものを選択することを意味する。

create [materialized] view mytable as
select c1.column1, c2.column1, c2.column2, ...,
d1.BOX(POINT(c1.ra, c1.dec), width1, height1) as BlueImage, ...
c1.column3 / c2.column5 as flux_ratio, c3.*, ...
from catalog1 c1, catalog2 c2, catalog3 c3, ..., data d1, ...
where XMATCH(c1, c2, !c3...) < 3 arcsec [NEAREST | BRIGHTEST | ALL]
and (c1.column1 - c2.column1) < 6.0 mag
and BOX(POINT(ra0, dec0), width0, height0)
and ...

図1. JVO-QL コマンドの例(1)

 また、(c1.column1 - c2.column1) < 6.0 mag は通常のSQL文と同様の条件式であるが、カタログのメタデータで指定されている単位に基づいて異なるカタログ間での単位変換を行った後に演算、比較を行う。

 簡単な例として、図2に2色のデータ(data1とdata2)があってその観測領域が重なっている部分のデータを取得する JVO-QL コマンドを示す。

select X.a, Y.a
from data1.wavelength1 X,
data2.wavelength2 Y
where (X.AREA() OVERLAP Y.AREA()) as a

図2. JVO-QL コマンドの例(2)

 ここで、X.AREA() = data1.wavelength1.AREA() は画像データアーカイブ data1 の波長 wavelength1 のデータがカバーしている領域を表す。

 検索結果は International Virtual Observatory のために開発されたカタログデータの標準フォーマットである VOTable (http://cdsweb.u-strasbg.fr/doc/VOTable/参照)で与えられる。


2.3 システム構成

 プロトタイプでは Solaris OS の WS と Linux OS の PC という異機種のハードウェアを組み合わせたテスト環境を用い、DBMS は Oracle と PostgreSQL の 2種類を使った。その他はフリーソフトウェアを使用した。GRID の実装としては Globus toolkit v2 に含まれている OpenSSL (Secure Socket Library)、OpenLDAP (LDAP Server)、wu-ftpd (ftp server) を使用した。Web サービスの機能は Globus toolkit v2 に含まれていないため SOAP (Simple Object Access Protocol) を採用した。

 図3に JVO プロトタイプのシステム構成を示す。 利用者は自分の好みの Web Browser で JVO Portal サーバにアクセスする。利用者認証後、JVO のメイン画面が現れる。この画面で JVO-QL で記述した仮想観測命令を JVO コントローラに送る。コントローラは命令を解析し、UDDI Registry を参照して要求されたサービスを提供するサーバを引き当て、各サーバの GSDL (WSDL の GRID 版:サービスのインターフェースが定義されている)を参照して、仮想観測命令の実行手順を作成する。この手順に従い、GRID 経由で各サーバに実行要求を送る。予定されたサーバが何らかの原因で実行に失敗すると、コントローラは同じサービスを提供する別のサーバを探し、それに実行要求を出し直す。これを繰り返し最終的な結果が JVO サーバに出来上がる。  


図3 JVOプロトタイプのシステム構成図

 このプロトタイプでは DB サーバとして、2MASS のカタログサーバと Subaru-SXDS のカタログ・画像サーバの2種類を実装した。一般に、天文 DB サーバは読み取り専用でデータ検索以外のサービスを期待できない。そのため、カタログの相互比較機能は JVO サーバの一つとして実装した。


2.4 プロトタイプの評価

 分散したデータベースを JVO-QL により統一的に扱い、複数の独立な DB 上のカタログデータの相互比較を行い、一致した天体の部分画像の取得ができることを JVO プロトタイプによって実証した。またソフトウェア技術の観点からは、GRID 準拠の分散処理システムとして動作することを実証した。ただし、プロトタイプの実装開始時点で利用可能だった GRID 基盤の Globus Toolkit v2 には Web サービス機能がないため、その機能は SOAP で実現した。

 大規模カタログの検索やカタログ間の相互比較にかかる処理時間は数秒で終わるものから何時間もかかるものまで予想がつかない。利用者は JVO に対する要求を出したら処理結果を待たずに操作を終了し、必要なときに処理経過を JVO に問い合わせるという使い方が望ましい。JVO プロトタイプでは Web ブラウザを用いてインターネットの世界から GRID の Portal サーバを通して GRID の世界の JVO システムを使うという方式によって、利用者の操作部分と JVO の実際の仕事をするサーバ部分の分離を実現した。

 実行性能は GRID を使用しないで既存のサーバクライアント技術でシステムを構築したほうが格段に良いと思われる。プロトタイプではサーバに実行要求を出してから実際に起動されるまで数秒かかる。この性能の悪さは Globus Toolkit に原因がある。GRID サービスの起動時の認証等のオーバーヘッドが一因となっており、起動時の認証を毎回行わず、キャッシュを利用するなどの改善策も知られている。プロトタイプによる GRID の評価としては、実行性能はまだまだ不十分であるが、機能として使えないものではない。


3. JVOの今後

 今回実装したのは分散したデータベースへの検索要求と、カタログ間の相互比較(クロスマッチ)機能だけで、そのほかのデータ解析機能は未実装である。実際の VO にはデータ解析機能が必須であり、これをどのように JVO システムに組み込むまたは、連携させるかが今後の大きな課題である。またプロトタイプには、セキュリティやデータ管理・エラー処理などといった機能は実装されていない。GRID の観点から見ると、実用システムに必須なこれらの機能を GRID によってどれだけ容易に実装できるかも課題である。

 この初めてのプロトタイプの開発は富士通との共同研究として行った。JVO-QL 関連の部分を国立天文台、GRID サービスの枠組み部分を富士通という役割分担で開発した。GRID という新しいネットワーク分散コンピューティング技術を基盤にした枠組みの上に、VO という数値宇宙の観測装置を構築するのが JVO プロジェクトである。データベース天文学の手法の確立とその道具となるシステムの開発という2つのテーマは相互依存性が強く、同時に研究開発を進めることが重要である。データベース天文学推進室の数名のメンバーだけではできることが限られてしまうが、ソフトウェア開発を専門とするメーカとの共同研究は非常に有効であった。

 VO の真髄は波長を越えた天文学にある。また、 JVO は GRID という次世代技術を採用したチャレンジングなプロジェクトである。電波からガンマ線まで広い範囲の天文研究者が VO に興味を持ち JVO の開発に協力しようと手を上げること、更に、ソフトウェア開発の面から JVO に協力しようという方が読者の中に現れることを期待してこの紹介を終わる。



この号の目次へ

新メンバー自己紹介へ


(1.6MB/ 4pages)

Next Issue
Previous Issue
Backnumber
Author Index
Mail to PLAINnewsPLAINnews HOME