Skip to content
Browse files

Merge branch 'master' of github.com:bernardpaulus/sinf2345

  • Loading branch information...
2 parents c05a93f + 5a19812 commit 09c84e4670ffcc87789543c9e4cae22b2ddc3332 @bernardpaulus committed May 6, 2012
Showing with 29 additions and 3 deletions.
  1. BIN erlang/project/report/report.pdf
  2. +29 −3 erlang/project/report/report.tex
View
BIN erlang/project/report/report.pdf
Binary file not shown.
View
32 erlang/project/report/report.tex
@@ -45,12 +45,38 @@ \section*{Introduction}
This language handles also very well events and made easier the implementation of proposed algorithm in the reference book.
\section{Architecture}
-To realise the distributed system, we used the reference book ``Reliable and Secure Distributed Programming'' by C. Cachin, R. Guerraoui and L. Rodrigues.
+To realise the distributed system, we used the reference book ``Reliable and Secure Distributed Programming'' by C. Cachin, R. Guerraoui and L. Rodrigues second edition.
We used a architecture based on layers and encapsulation of messages.
+Each module is connected to other and behave upon events (recieved messages from other modules).
-\subsection*{Link}
-We used the \emph{perfect link} module\footnote{Module 2.3 in reference book} for basic point to point communication.
+\subsection*{Basic abstractions}
+We used the \textbf{perfect link} module\footnote{Module 2.3 p37 in reference book} for basic point to point communications.
These are at the lowest level of our architecture and simply transmit messages to above modules.
+The perfect link ensures \emph{reliability} and the \emph{no duplication} property.\\
+
+To handle failing nodes in a partially synchronous system, we used an \textbf{eventual failure detector} module\footnote{Module 2.8 p54 in reference book}.
+This was implemented using the \textbf{increasing timeout failure detector} algorithm\footnote{Algorithm 2.7 p55 in reference book}.
+
+\subsection*{Broadcasts}
+We used the \textbf{best effort broadcast} module\footnote{Module 3.1 p75 in reference book} for implement the broadcast messages between nodes.
+This module transmit messages to the adequate perfect links.
+As we want to handle failing nodes, we used a \textbf{reliable broadcast} algorithm\footnote{Module 3.2 p77 in reference book}.
+To ensure the \emph{agreeement} property, we implemented the \textbf{eager reliable broadcast} algorithm\footnote{Algorithm 3.3 p80 in reference book}.
+
+
+\subsection*{Leader detector}
+\textbf{monarchical eventual leader detector}
+\textbf{eventual leader detector}
+
+\subsection*{Consensus}
+\textbf{read write epoch change}
+\textbf{leader based epoch change}
+\textbf{leader driven consensus}
+\textbf{consensus}
+
+\subsection*{Total order broadcast}
+\textbf{consensus based total order broadcast}
+\textbf{total order broadcast}
\section{Manual}

0 comments on commit 09c84e4

Please sign in to comment.
Something went wrong with that request. Please try again.