データストラクチャ

さて、GLOBALBASE ARCHITECTUREの中身へ入っていこう。GLOBALBASE ARCHITECTURE は、発信される情報のデータ構造とそのデータ構造に則ったデータを分散環境上で交換し、前述したブラウジング機能を実現していくGLOBALBASE PROTOCOL からなる。まずは、GLOBALBASE DATA STRUCTURE から始めよう。

GLOBALBASE のにおける発信されるデータをリソースと呼んでいる。図1. がリソースの関係、つまりデータ構造を示している。

リソースは大きく分けて4種類に分類できる。まず、基本的なリソースは座標系リソース(Coordinate Resource) と呼ばれるリソースである。これは、発信するデータが、どのような座標系に載っているかを定義する。例えば、緯度経度という座標系であるとか、または、ある点を原点とした、xy座標系であるとか、あるいは将来3次元を取り扱えるようになると、xyz座標系である等と言った定義をする。また、座標系の範囲も重要な定義対象である。たとえば、x = 0 - 10km, y = 0 - 100km の範囲といった定義が出来る。

この座標系の中にラスタデータ(Luster Resource)や、ヴェクタデータ(Vector Resource)などの、実際に描画される図形や絵を定義するリソースを配置することが出来る。この二つのリソースをあわせて、Object Resource と呼ぶ。Object Resource は、それ自体、暗黙の座標系を持っている。たとえば、ラスタデータであれば、xとy方向のピクセル数の組が座標系を構成ししている。

最後に、各リソースの座標系の間の変換を定義するのがMapping Resource である。 Mapping Resource の中身は、変換元、変換先の座標系の座標値の組である。オブジェクトリソースも暗黙の座標を持っているので、同様にMapping Resource で対応させることが出来る。Mapping Resource で対応させることをマッピングすると呼ぶ。

実際には、システムの構成をシンプルにするため、オブジェクトリソース同士のマッピングは出来ないことにする。さらに、必ずオブジェクトリソースは何らかの座標系リソースにマッピングして使うことにする。こうすることによって、オブジェクトリソースがマッピングされた一つの座標系リソースは一固まりの地図と考えることが出来、便利である。

座標系リソース同士は、マッピングすることが出来る。これは、いわゆる地図の重ね合わせである。座標系リソースの縁同士をマッピングすると隣り合った座標系が構成できる。また、ほとんど大部分重なったマッピングを定義すると、重なり合った座標系が定義できる。

マッピングリソースは変換元から変換先へという方向性を持っているが、この方向性は変換の定義上必要なだけであり、事実上の双方向リンクである。ただし、オブジェクトリソースは必ず変換元になると約束している。

さて、例えば、自分の家の周りの地図情報を発信したい場合は、自分の家の周りの絵を描き、これをオブジェクトリソースとする。さらに、適当な大きさのxy 座標系リソースを作り、これにオブジェクトリソースをマッピングする。これらのリソースにタイトルや書誌情報、つまりメタデータを付ける。

GLOBALBASE ですでに発信されている地図情報の中で、自分の家の周りの情報が含まれるものを探し出す。自分の発信しようとしている情報より粗くてもよい。その地図の自分の家の周囲に対応する部分に、新しく作った座標系リソースをマッピングすればよい。

誰かが、ビューワで上述の発信された地図を見たとする。ビューワとサーバは分散協調動作し、新しく発信された自分の家の周りの地図と、その他、マッピングされている地図を同時に重ねて表示される。このとき、ビューワの検索条件に合致する座標系が必ずしも直接マッピングされている必要はない。サーバとビューワは、複数のマッピングをたどり、二つの座標系がどのように重なり合っているかをチェックし、重ね合わせる。

同様に、情報発信者は、発信したい情報が重なり得るすべての既存の地図を探してくる必要はない。少なくとも1つ、適当な地図を見つければ良いわけである。

  GLOBALBASEは、オープンソース・ソフトウェア支援プログラムSOURCEFORGE.JPに参加しています。 SourceForge.jp SourceForge.net Logo