[Spread-users] Tracking network down event [SEC=UNCLASSIFIED]
Michael.Pilling at dsto.defence.gov.au
Sun Feb 21 23:00:22 EST 2010
The receiving side will be notified when it, or some other party in the fragment it is now a member of, attempts to send a message.
To ensure this happens,
We wrote a ping function that is quite instructive on how the symettry of eVS can be used to make application functions very simple.
This can be done as a separate process per node as we did, or it can be integrated into the application logic.
The algorythm in pseudo code is:
// Everyone calculates the next time they will send a ping:
Mynextpingsend = now + inter_ping_gap + random_integer_between(0, (number_of_parties_in_my_partition - 1)) * separation_time;
On_alarm( Mynextpingsend) -> spread_send( ping_message );
On_receive(): Normal Message -> recalculate next ping; reset ping alarm timer;
handle application message; // do nothing for pings
Spread_change_message: handle it; note new number of parties in our partition;
Basically, the random separation time ensures that usually everyone is not pinging at once.
When a ping or any other application message is heard the current wave of pings are surpressed, so there is no extra load during active periods.
No matter how many partitions the network breaks into, some party in the partition in guaranteed to be first at sending a ping message no more than inter_ping_gap + (number_of_parties_in_my_partition - 1) * separation_time after the last message got through. At this point it will force spread to recalculate connectivity and notify all parties within that partition of configuration changes.
PO BOX 1500
Att: Dr Michael Pilling
Edinburgh SA 5111
Ph +61 8 8259 7017
Fx +61 8 8259 5589
Important: This document remains the property of the Australian Defence
Organisation and is subject to the jurisdiction of the Crimes Act Section
70. If you have received this document in error, you are requested to
contact the sender and delete the document.
From: Guo, Yanchao [mailto:Yanchao.Guo at sac.com]
Sent: Friday, 19 February 2010 17:57
To: Pilling, Michael; spread-users at lists.spread.org
Subject: RE: Tracking network down event [SEC=UNCLASSIFIED]
So from your description, can I say that my application will be notified only when it tries to send data? How about the receiving side?
IMPORTANT: This email remains the property of the Australian Defence Organisation and is subject to the jurisdiction of section 70 of the Crimes Act 1914. If you have received this email in error, you are requested to contact the sender and delete the email.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Spread-users