Distributed Computing

Proof for question 1 of the first homework:

 

Proof:

 

By way of contradiction, assume the two matrices are equal at node V at time t but there are still messages in transit in the network at t.  For every node i, let t_i be the time at which node i sent the latest report to V which has arrived to V before time t (t_i = 0 if no report from node I reached V before time t).  Since at time t there is still a message in transit in the network (by the contradiction assumption) then there must be a message M from some node j to some node h in the network, such that M was sent from j before t_j and M is received by h after t_h.  From all such messages consider the message with the earliest such arrival time, i.e., the  message from the messages that were in transit at [t_1, t_2, ..., t_i, ... t_j, ..., t_h,...t_n], with the smallest arrival time to its destination.  Let M0 be this message that was sent from i to k and arrives at k at t0 (>t_k).  Since the accounting at V gave equality and did not account for M0's arrival but did account for M0's departure (M0 was sent before t_j) there must be another message M' from i to k, that arrives at k before t_k, and was sent from i after t_i.  M' has arrived at k at time t', and was sent from i at  t'', clearly t'' < t', and t'' > t_i (i.e., is after the report from i was sent to V).  M' was sent from i at t'' only because there was another message that arrived at i at t'' (because it is an event driven algorithm).  Thus a message in transit has arrived at node i at t'' < t' < t_k < t0, a contradiction to the assumption that t0 is the earliest arrival time of any message in transit at [t_1, t_2, ..., t_i, ... t_j, ..., t_h,...t_n].  QED