Cluster = 

Master + Slave

Config File :
	<MYNAME></MYNAME>
	<MYSHAREDDIR></MYSHAREDDIR>
	<CURRENTMASTER></CURRENTMASTER>
	<MEMBERS>
		<NAME></NAME>
		<IPADDRESS></IPADDRESS>
		<PRIORITY></PRIORITY>
		<CYPHERKEY></CYPHERKEY>
		<LASTSTATUS></LASTSTATUS>
		<TIMESTAMP></TIMESTAMP>
		<TIMEOUT></TIMEOUT>
	</MEMBERS>

Master algorithme :
	every 1 minute  : call : Slave->AreYouThere()
				expect : YES, UPTIME, SWAPSIZE, USEDSWAP, MEMSIZE
	every 1 minute :
			 - Calculate the schedule
			 - Logical Dispatch of jobs based on the latest AreYouThere
			 - Pysical Dispatch : Slave->StartJob(JobId)
					- If failed        : push JobId in @FAILED
			 - if @FAILED is not empty : Goto 'Logical Dispatch'

Slave algoritme   :
	every 5 minutes : Call : Master->AreYouMaster();
				expect : YES,ActiveMemeberList,
				Save ActiveMemebersList
	if Failed :
		- Choose Another Master :
			Calculate the Min (Priority) of all running Members
			if MyPriority = Min(Priority) = Call : Memebers->ImTheMaster();
				expect : YES,
				if Failed, GoTo 'every 5 minutes'
			else the Master = Memeber with Mriority = Min (Priority)
					goto 'every 5 minutes'
			
