Randpeer - Background

Background

Just for fun, in 1997 at our local computer club we were designing a routing system for a global ad hoc radio network. During that work we realised it is possible to make millions or even billions of computers work together in an organised manner without any central servers, without any computer being a boss over the others. That is, it is possible to make fully distributed, totally serverless, fully scalable peer-to-peer systems. We also realised this could be done both over huge ad hoc radio networks and over the normal Internet. Note that Randpeer is about Internet based p2p systems, not about radio based p2p systems.

In the autumn 2000 our head developer started working full-time researching p2p algorithms. We wanted to figure out how to do what we wanted to do in p2p networking, and how to do that well. Not just rush away and build some p2p application based on primitive algorithms just like most others were doing. Nothing wrong with that, but since everyone else were already doing that we thought we would do things our way.

The good news is that our research was finished in the summer of 2006. As with any research there are always more things that would be interesting to investigate, but we now have the algorithms we need for what we set out to do.

Today

During the research we decided that instead of building an application or two we should share our knowledge with others in some way. We decided to package our knowledge into a p2p-programming library. So that many other programmers can build advanced p2p applications easily, without having to spend years on research first. (Note: A "library" in computer science is not a set of books, instead it is a building block, a part of a program. Like an engine is a part of a car.)

We often get the question why we don't publish our algorithms? Well, our own compact description of the algorithms is more than 150 pages of text, in Swedish. Publishing our algorithms would mean translating and rewriting all that into something that is comprehensible for others. We much rather spend our time building a programming library that others can use.

However since we do like to share our knowledge we will publish some information on our technology on these pages.

Why we do this

First of all because it's fun! Secondly because "we have to", we just could not let such nice ideas and technology go to waste. Thirdly because we believe p2p technology will benefit humanity in many ways. For instance, already today distributed calculation systems are used to design safer more energy efficient aircrafts and to search for better medicines against HIV.


2007-05-07
Copyright © 1997-2007 The Randpeer development team - team@randpeer.com