Peer-to-peer wiki

From AmericolaWiki

Jump to: navigation, search
Image:Circle-question.svg This article may contain original research or unattributed claims.
Please help Wikipedia by adding references. See the talk page for details.

Peer-to-peer wiki is a server-less system that allows wiki sites to be shared between peers. It is based on a peer-to-peer version control system, which takes care of sharing, transmitting the updates, and storing the history of pages. The first (and, as of 2006, the only) P2P wiki system was designed and implemented by Reliable Software as part of their P2P version control system, Code Co-op.

Contents

[edit] The Architecture

Rather than using an internet server, P2P wiki site is stored directly on each user's computer as a collection of wiki files. This forbids "write locks" on files designed to maintain file consistency during contention for writing. Many people can read a file even while it is being written: they may be reading different versions of the same file. However, if more than one person can write a file at any given time, and they are working from different versions, then a wiki file stored on many servers can be structurally inconsistent: the data being written can only hav one length. Wikipedia, itself, solves this problem by letting one editor, the latest, edit the former submission.

Enter clock wars. Who would disable Network Time Protocol on their machine and advance their clock into the future to get an advantage?

[edit] Viewer

A special viewer is used to display local wiki files in the form of web pages. The viewer also takes care of resolving wiki links. When the user clicks on a wiki link, the wiki page to which the link points to is loaded into the viewer and displayed. If the page doesn't exist, a new page is created and the user may start editing it with a text editor. What if the page exists on some other site? Should the viewer look for it on a central site?

[edit] Version Control System

A P2P wiki site is shared with peers using a P2P version control system. Such system can replicate the wiki site on multiple computers. The peers collaborate on the development of the site by modifying wiki files and checking them into the version-controlled project. The version control system then takes care of distributing and merging the changes. It also keeps a history of each file and allows the restoration of earlier versions.

[edit] External links

Personal tools