--- /dev/null
+From: HADDAD MOHAMMED <mohammed.haddad@univ-lyon1.fr>
+Subject: Algo en message passing
+To: mourad hakem <mourad.hakem@univ-fcomte.fr>, Arnaud Giersch
+ <arnaud.giersch@univ-fcomte.fr>, Raphaël Couturier
+ <raphael.couturier@univ-fcomte.fr>
+Date: Fri, 6 Apr 2018 13:25:20 +0000 (35 weeks, 5 days, 19 hours ago)
+
+1. (*) text/plain ( ) text/html
+
+Bonjour à tous,
+
+
+Je vous propose (ci-dessous) une nouvelle version de l'algo à discuter (courant de la semaine prochaine si vous avez une petite demi heure de dispo). Le mode transaction n'est pas du tout géré et reste complètement libre dans les choix à prendre.
+
+
+Il se pourrait qu'il y est des bugs mais qu'on pourra corriger car maintenant l'idée est plus ou moins stabilisée.
+
+
+Bonne reception et bon week end à tous
+
+
+Mohammed
+
+
+---------
+
+Variables at node i:
+val : load value, values[] : array of values of neighbors, Center : pointer, Leaves : list.
+
+Events:
+* Init :
+Center = null, Leaves = \emptyset, Values[] ={0, ...., 0}.
+Send VAL(i, val) to each neighbor j.
+
+* On receive VAL(j, val):
+values[j] = val.
+
+if (j = Center) then Center = null
+
+* if Exists a neighbor j such that: values[j] - val > epsilone then
+ Center = i
+ Send Invitation to each neighbor j such that: values[j] - val
+ Set a "small" Timer
+ end_if
+
+* On receive Invitation from j
+ if Center != null AND val - values[j] > epsilone then
+ Center = j
+ Send Ack to j
+ end_if
+
+* On receive Ack from j
+Leaves = Leaves union j
+
+* On Timer
+ Enter Transaction mode and perform local equilibrium
+ Center = null, Leaves = \emptyset
+ Send VAL(i, val) to each neighbor j.
+
+
+