Skip to content
Really Awesome Distributed Internet Calendar
C# Other
Latest commit 559e20e May 7, 2011 @archie archie some additions + conclusion
Failed to load latest commit information.
radical.sln python script to generate reservations May 6, 2011
todo.txt updated todo list Apr 16, 2011


RADICAL - Really Awesome Distributed Internet Calendar

	This application is developed as a course project of PADI 
	(a Distributed Systems) course. 

	A client can without intervention from a central source schedule events
	with other clients. It uses a central server to locate other connected 
	clients, but the scheduling is fully decentralised. 

	The server runs in groups of three. Its data is replicated within
	the group. At most one server failure is tolerated. 

	To faciliate local testing, a so called Puppet Master is available. This
	runs a simplistic GUI which reads an instruction file (puppet/example.txt)
	and starts clients, sends instructions to them, and displays their results. 

	This has only been tested with Mono. 
	GTK# required for the Puppet Master.
	A bunch of free ports on 12000 and 14000 if you run the Puppet Master.

	Always start one server first, then two replicas. The servers will determine
	who is the master and do initial bootstrapping. Each server has its own 
	configuration file. Examples are provided for local usage. 

	Clients, Servers, and the Puppet Master all requires a configuration file. 
	They should be self-explanatory. Make sure that if you want to run the Puppet 
	Master you must specify the full path of the client executable and a special 
	"generic" configuration file. 

	Clients may be started manually and register with the Puppet Master. In this
	case, make sure the Puppet Master is started first. 

	It is possible to activate debugging through each configuration file. Add or 
	uncomment classes that you want to enable debugging for. 

	It is easiest to test the whole thing using the Puppet Master and an example
	script. There is also a mechanism to stress test the servers by running
	many many clients (client.exe --stress). Values for testing are hard coded though. 
	Check StressTestClient.cs if you're interested. 

	Use Monodevelop 2.2 or later. 
	Requires GTK# to compile and run the Puppet Master GUI.

	Lalith Suresh <>
	Marcus Ljungblad <>
	Bruno Pereira 
Something went wrong with that request. Please try again.