The Circle is a decentralized peer to peer application written in Python. It currenly runs on Linux, but porting should not be too difficult.
Features:
At the core of the Circle is a decentralized hashtable. This is used to allow things like keyword searching. The use of the decentralized hashtable should mean that it won't have the scalability problems of a Gnutella style network, while also avoiding the need for a central server and therefore a single point of failure. Details of its operation are given in the "Technical Details" section below.
The searching mechanism should scale to millions of nodes. Well, that's the theory. In practice, I have no idea: that's where you come in :-) Help me find out!
The Circle is somewhat beta at the moment, but it's improving all the time.
Or available by anonymous CVS:
export CVSROOT=:pserver:anonymous@bowman.csse.monash.edu.au:/home/cvsroot cvs login # Password is `anonymous'. cvs checkout circle
Here are two similar projects:
For an overview of how the Circle works see these slides for a talk I will be giving at linux.conf.au 2002.
There is also some documentation in the Circle code itself. To see this, run the Circle and select the "Help/Developer Documentation" menu item. There is currently documentation for node.py, and I plan to add documentation for other modules in the not-too-distant future.
Back to Paul Harrison's home page