Thursday, June 18, 2009

Gourami - Project Overview

Gourami is a project which aims to build a dynamic peer to peer network on top of existing technology. Gourami uses the current TCP/IP stack but merges 'servers' with 'clients' to create seamless peers. These peers can then connect to each other and send messages to each other or though each other. Such a network is aimed at decentralising networking.

One of the main benefits for Gourami is its ability to encapsulate protocols. While it may be the case that not all protocols can be accommodated inside Gourami it is envisaged that it will be possible to encapsulate protocols such as HTTP so that peer to peer computing can be used to rout HTTP traffic on the web. This is especially important for those who live in countries where there are restriction on what pages can be accessed.

Why decentralise?
There are a number of shortcomings that are associated with centralised networks that can be avoided in decentralised networks. Decentralised networks do not solve all problems and they are not meant to replace centralised networks but rather as a supplementary alternative.
The main problems associated with decntralised networks:
  • Centralised Control - Networks that have a central hub (such as a single server) usually are controlled by some central authority. This is especially worying if that authority cannot be trusted.
  • Low Fault Tolerance - Networks that have a central hub often fail when this hub fails.
Decentralised networks overcome can overcome these problems. Gourami aims to overcome these problems though the following systems:
  • By using multiple (many) peers for routing traffic on the network is not controlled by any one authority.
  • If one peer fails the network does not collapse as traffic can be potentially re-routed around the problem.
These comaprisons are quite vague and I hope to build on these in the future, but it is my beleif that decentralised netowkrs could be especially usefull when trust cannot be placed in a central body. Gourami aims to make it technically and legaly difficult to "control" the system so as to avoid undue interferance.

Note
"Centralised and decentralised networks" are terms that I have really invented out of thin air. To explain what I mean I would consider the use of a single server or server cluster for the provision of services, exempli gratia messaging. I am aiming to avoid this by developing the Gourami framework.

No comments:

Post a Comment