Protocol

The GLOBALBASE protocol provides the following three main functions in a distributed environment without central server in order to make it possible to superimpose browsing results dynamically while searching for resources matching the area the browser is currently displaying and the selected criteria.

  1. Functionality for configuration and maintenance of information for tracking bi-directional links given by mapping resources (mapping protocol layer)
  2. Functionality for obtaining knowledge about how two arbitrary given coordinate systems overlap. In other words, functionality that makes it possible to obtain a list of consecutive mappings connecting these two coordinate systems from the browser (routing protocol layer)
  3. Functionality for searching for meta-data assigned to the delivered resources (PSE: Pertial Search Engine)
Figure 2 shows the protocol stack that constitutes the GLOBALBASE architecture. This protocol stack is explained in the following, starting from the bottom layer.

Configuration of the Entire Protocol

Everything is implemented based on TCP/IP. Moreover, a server-server protocol is provided so that servers can mutually exchange information.

(1) XL layer (XLSession)
Regardless of clients or servers, all information exchange in the GLOBALBASE is implemented using a protocol called the XL protocol. XL stands for XML LISP and is a language that interprets XML syntax as S-statements of LISP. It is an executable language that has a high affinity with documents written in XML.

Moreover, it is equipped with a remote execution function; it is possible to execute parts of a program in another server. With this function, data transfer from servers etc. can be realized.

(2) Mapping
The mapping protocol layer manages mappings, which are bi-directional links between the GLOBALBASE maps. The mapping protocol operates with links connecting two resources on different servers in a bidirectional manner, as well as is independent data that can be stored in a different server than where the resources at both ends are stored. Thus, the mapping protocol provides means for exchanging information in such a way that two of these three mappings, including the mapping protocol, can be derived from any of the mappings.

Each of the resources at both ends has a mapping database attached, which manages a collection of information that describes to which other resource the resource in question is connected through which mapping. When a mapping is registered to a server by an information provider, the server registers the information of the mapping in the mapping databases of the mappings on both ends. The information registered to a mapping database has an expiration date; it is deleted when this expiration date is due. This means that a server maintaining the mapping must poll the mapping databases at both ends of the mapping before the expiration date and update the expiration date. The mapping layer deals with the execution of registration of mappings to mapping databases and the polling.

(3) (4) Routing
The presence of mapping databases allows surfing from one map (resource) to another map (resource). In order to overlap or connect two arbitrary maps (resources), however, one problem must be solved: it must be possible to trace multiple successive mappings between the two maps. A list of successive mappings that connect two arbitrary maps is called a mapping path. Finding a mapping path is called routing.

The routing protocol layer is employed to solve the problem of finding a list of consecutive mappings to a target location. First, addresses must be allocated to all the coordinate resources, among other resources. To explain this, we refer to the Internet. Coordinate resources correspond to individual computers and routers, while mappings that link coordinate resources correspond to networks that link computers and routers. By allocating addresses similar to IP addresses that allow routing to coordinate resources, it must be possible to route mappings in the same way as for networks.

The problem here is how to allocate the addresses. In case of the Internet, accurate IP addresses are allocated by network administrators all over the world. In case of GLOBALBASE, however, it is almost impossible to allocate accurate addresses because multitudes of information providers deliver resources one after another. This necessitates a technology that allows automatic allocation of routing addresses similar to IP addresses. This technology is called ACRP (Auto-Configurated Routing Protocol).

In Figure 2, both ACRP and routing are used for the server-server protocol (3) while (4) is a protocol with routing only.

(5) (6) PSE (Partial Search Engine)
In the GLOBALBASE system, a client obtains resources that match with desired search criteria, overlap or connect the obtained resources with currently displayed resources, and display them. A server must store meta-data of resources in areas slightly larger than the vicinity, so that it can provide a client that sends a request containing search criteria to it with the resources matching these criteria. This means that a client must have a mechanism to search for resources according to search criteria, as well as to be able to access databases (lumps) that contain information of the areas it is displaying.

Firstly, in the server-server protocol (5), each coordinate resource accumulates information about how many mapping hops from the coordinate resource that must be traced in the mapping networks maintained in the mapping layer in order to find a given lump. If no lumps are found in the vicinity of a coordinate resoure, or there are only hops that would have to cover a very large distance, one lump is created at the position of the coordinate resource. Conversely, if there are many lumps in the vicinity of a coordinate resource with its own lump, the lump is eliminated.

Secondly, in the server-server protocol (5), each resource regularly registers its own meta-data to several lumps in the vicinity. At this point, the meta-data on the coverage and resolution of each resource are converted to the coordinate system at the position of a lump, and the resulting values are registered. The information exchange is performed using the mapping path obtained in the lower routing layer.

In the client-server protocol (6), a protocol is provided such that lumps in the vicinity of the coordinate resource a client is currently displaying are found and a conditional search is performed on these lumps.

Moreover, a client is equipped with functions to send out inqueries to lumps regularly according to the changes of point of observation and zooming in and out of the display range, add new coordinate resources to the cache, and delete resources that are outside the displaying range from the cache. Thus, the lumps to which a client sends inqueries will vary according to the changes of coordinate resources. The radar layer handles these functions.

(7) Resource Access Mechanism
The resource access mechanism (7) obtains the resource to be displayed based on the information obtained by the radar layer. If the resource is a single file that cannot be divided, this operation is close to that of HTTP and GET. On the other hand, there are cases where the resource has a hierarchical structure and where it is possible to search for and obtain partial information matching the resolution and display range.

The resource searched for this way, is displayed on the screen by the graphic module.

This is the end of the essential information about the GLOBALBASE protocol of the GLOBALBASE architecture

  GLOBALBASE has particated in the open source software support program SORCE FORGE SourceForge.jp SourceForge.net Logo