Peer-to-Peer Protocol in Webstructor


Interestingly, there is almost no any specific "protocol" enabling Webstructor servers/applications to talk one to another.

To make this issue clear, let us consider that any protocol has two components - content delivery (which is purpose of the protocol) and auxiliary services (like handshaking, flow control, authentication etc.).

Here is some policy specifying the way ORL statements are used when maintaining conversation between Webstructor peers.

Obviously, approach described above doesn't scale well for the case with enormous amount of data in knowledge base. From one hand, this may be solved adding "interrogative" component to ORL syntax (which currently has only "declarative" one). Then, each of the peers could send to another one an ORL request intended to retrieve only small subset of the knowledge base.

From the other hand, if we may assume that global shared knowledge may consist of many knowledge bases (maintained by peers) shared to small extent (due to limited data retrieved by rare and specific queries) only. This leads to complex problem of global inconsistency of shared knowledge. That is, if we want global knowledge to be consistent, we need to maximize identity of shared part of content across peers. If so, we need to assure that even if some of peers has been offline for a while, it receives complete set of recent changes when it gets online again.

The problem of efficient and consistent distribution of knowledge specific to every peer in the knowledge sharing network without of having entire set of knowledge duplicated by every peer is tough one. Some problems are discussed on page dedicated to knowledge distribution and some other are in current study.


(C) Copyright 1988-1998,2001 Anton Kolonin