From: rtrimana Date: Mon, 8 Aug 2016 16:47:23 +0000 (-0700) Subject: Fixing case 2.2.1 that we store the collision winners, not all the rejected messages X-Git-Url: http://plrg.eecs.uci.edu/git/?p=iotcloud.git;a=commitdiff_plain;h=1777896529565a74cbb35f3d9a03c2310d160f68 Fixing case 2.2.1 that we store the collision winners, not all the rejected messages --- diff --git a/doc/iotcloud.tex b/doc/iotcloud.tex index ad52a69..3d71c11 100644 --- a/doc/iotcloud.tex +++ b/doc/iotcloud.tex @@ -1040,13 +1040,23 @@ therefore the first one that $\mathsf{C}$ receives after $\mathsf{t}$. Therefore $\mathsf{C}$ could not have seen a message after $\mathsf{t}$ with sequence number less than $\mathsf{s_p}$. In the $\mathsf{PutDataEntries}$ subroutine, $\mathsf{J}$ adds every %TODO: Check with Thomas about this part -rejected message to $\mathsf{CR(p)}$; so for every $\mathsf{s}$, $\mathsf{1 \leq s < |X|}$, -the $\mathsf{s}$-th element of $\mathsf{X}$ will be recorded in the rejected message list -$\mathsf{CR}$ of all further elements of $\mathsf{X}$; and every element of -$\mathsf{X}$ will be recorded in $\mathsf{CR_C(p)}$. Since every rejected message in -$\mathsf{CR(p)}$ will be in $\mathsf{CR_C(u)}$, ${r_1}$ will be recorded in -$\mathsf{CR_C(p)}$. When $\mathsf{C}$ receives $\mathsf{u}$, $\mathsf{C}$ will throw -an error from the match $\mathsf{\tuple{s_q+1, id_J}}$ in $\mathsf{CR_C(p)}$. +%rejected message to $\mathsf{CR(p)}$; so for every $\mathsf{s}$, $\mathsf{1 \leq s < |X|}$, +%the $\mathsf{s}$-th element of $\mathsf{X}$ will be recorded in the rejected message list +%$\mathsf{CR}$ of all further elements of $\mathsf{X}$; and every element of +%$\mathsf{X}$ will be recorded in $\mathsf{CR_C(p)}$. Since every rejected message in +%$\mathsf{CR(p)}$ will be in $\mathsf{CR_C(u)}$, ${r_1}$ will be recorded in +%$\mathsf{CR_C(p)}$. When $\mathsf{C}$ receives $\mathsf{u}$, $\mathsf{C}$ will throw +%an error from the match $\mathsf{\tuple{s_q+1, id_J}}$ in $\mathsf{CR_C(p)}$. +$\mathsf{cr}$ entry that contains sequence number $\mathsf{s}$ and machine ID +$\mathsf{id}$ of the messsages that win in the collisions before $\mathsf{p}$ into +$\mathsf{CR}$; $\mathsf{CR}$ keeps the collection of live $\mathsf{cr}$ entries, namely +those which not all clients have seen. Hence, for every $\mathsf{s}$, $\mathsf{1 \leq s < |X|}$, +the collision winner that has collided with $\mathsf{s}$-th element of $\mathsf{X}$ +will be recorded in $\mathsf{CR}$. Since all the $\mathsf{cr}$ entries before +$\mathsf{p}$ will also be seen when $\mathsf{u}$ is received, ${l_1}$ will be recorded +in $\mathsf{CR_C}$ as the winner in the collision against ${r_1}$. When $\mathsf{C}$ +receives $\mathsf{u}$, $\mathsf{C}$ will throw an error from the match +$\mathsf{\tuple{s_q+1, id_K}}$ in $\mathsf{CR_C}$. \item Case 2.2.2.1: \end{itemize} \end{itemize}