アーキテクチャ

GLOBALBASE ARCHITECTURE は中心となるサーバがない、自律分散型アーキテクチャである。WWWのようにビューワが直接複数のサーバにアクセスし、サーバにある地図を閲覧する仕組みである。地図を重ね合わせる、つなぎ合わせる仕組みを実現するため、WWWと大きく異なるのは、サーバ同士もお互いの情報を交換し、局所的な地図情報の重なり具合、つながり具合を把握するメカニズムを持っていることである。

ビューワに向かっているユーザは地図の検索条件と最初に接続する地図情報を入れる。地図の検索条件とは、例えば、「現在の地図」で、「レストラン」の情報、といった条件。あるいは、「1800年から1900年」といった条件である。最初に接続する地図情報とは、いわば自分の家を表している地図情報である。まさにhomeである。

これだけそろえて、接続すると、ビューワはまずhome地図情報にアクセスする。そして、接続された地図情報の周辺にLump が無いか検索する。見つけたLumpに対して、与えられた検索条件で検索をすると、周辺の検索条件にマッチする地図情報が home以外にも検索されてくる。ビューワはこれらを重ねて表示する。
ビューワはユーザの視点の移動に備え、常に、見えている範囲より少し広い範囲の地図情報を把握している。また、その地図情報の近くにあるLumpの位置を把握しており、定期的に検索を掛けている。視点が移動するに従って、検索される地図情報が移動していき、これに伴い周辺のLump も異なったものになる。Lumpが異なれば検索される地理情報も異なってくる....、という具合に、どんどん地理情報の上を滑るように移動していくわけである。

これを続けていけば、地図情報がマッピングと呼ばれるリンクでつながっている限り、全世界の地図情報の上を移動していくことが可能になる。

マッピングは自由自在に張られているために、古代の地図に、現代の地図、そこからさらに江戸時代の地図がつながっているかも知れない。条件に合致し検索された地図同士が直接つながっているとは限らない。それでも、ビューワはネットワーク・ルーティングの技術を応用して、必要な地図同士を結びつけるマッピングを割り出すことが出来る。

一連の操作は、視点の横移動の場合だけでなく、拡大、縮小にも同様に働く。地図には広い範囲を描いた荒い地図と、狭い範囲を描いた細かい地図がある。この地図のLOD (Level Of Details) を移動するのが拡大縮小である。LODの違いによっても異なるLumpが割り当てられている。これらのLumpを渡り歩くことによって、条件を満たしながら荒い地図から細かい地図へズームインしたり、また逆に、細かい地図から荒い地図へズームアウトしたり出来る。

このようなサーバ間の通信、ビューワとサーバの間の通信規約をGLOBALBASE PROTOCOLと呼んでいる。

このように、複雑な分散メカニズムが動いているにもかかわらず、地図情報を発信する人も、ビューワを操るユーザも、このメカニズムを気に掛けることはない。地図情報発信者はドローソフトで地図情報を用意し、サーバにアップし、マッピングをどこかの地図へ張り、一つ、makeコマンドを打つだけで、Lumpへの登録などはすべてサーバが自動的にこなす。

一方、ビューワを操るユーザは、homeと検索条件を入れて、あとは、右へ左へ、または、拡大縮小を繰り返すだけで全世界どこへでも行くことが出来る。


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