\@writefile{toc}{\contentsline{subsubsection}{\numberline{2.1.1}Actions initi\IeC{\'e}es par les sites}{4}{subsubsection.2.1.1}}
\@writefile{toc}{\contentsline{paragraph}{\numberline{2.1.1.1}Acquisition de la ressource}{4}{paragraph.2.1.1.1}}
\@writefile{loa}{\contentsline{algorithm}{\numberline{1}{\ignorespaces Acquisition de la ressource par le site $i$}}{4}{algorithm.1}}
\newlabel{algoResourceAcquisition}{{1}{4}{Acquisition de la ressource}{algorithm.1}{}}
\@writefile{toc}{\contentsline{paragraph}{\numberline{2.3.1.2}Lib\IeC{\'e}ration de la ressource}{4}{paragraph.2.3.1.2}}
\@writefile{toc}{\contentsline{paragraph}{\numberline{2.1.1.2}Lib\IeC{\'e}ration de la ressource}{4}{paragraph.2.1.1.2}}
\@writefile{loa}{\contentsline{algorithm}{\numberline{2}{\ignorespaces Lib\IeC{\'e}ration de la ressource par le site $i$}}{4}{algorithm.2}}
\newlabel{algoResourceRelease}{{2}{4}{Libération de la ressource}{algorithm.2}{}}
\@writefile{toc}{\contentsline{subsubsection}{\numberline{2.3.2}\IeC{\'E}v\IeC{\'e}nements reconnus par les sites}{5}{subsubsection.2.3.2}}
\newlabel{sec:evenements}{{2.3.2}{5}{Événements reconnus par les sites}{subsubsection.2.3.2}{}}
\@writefile{toc}{\contentsline{paragraph}{\numberline{2.3.2.1}R\IeC{\'e}ception d'un message \texttt{REQ}}{5}{paragraph.2.3.2.1}}
\@writefile{toc}{\contentsline{subsubsection}{\numberline{2.1.2}\IeC{\'E}v\IeC{\'e}nements reconnus par les sites}{4}{subsubsection.2.1.2}}
\newlabel{sec:evenements}{{2.1.2}{4}{Événements reconnus par les sites}{subsubsection.2.1.2}{}}
\@writefile{toc}{\contentsline{paragraph}{\numberline{2.1.2.1}R\IeC{\'e}ception d'un message \texttt{REQ}}{4}{paragraph.2.1.2.1}}
\@writefile{loa}{\contentsline{algorithm}{\numberline{3}{\ignorespaces R\IeC{\'e}ception d'un message \texttt{REQ} par le site $i$ envoy\IeC{\'e} par le site $j$ accompagn\IeC{\'e} de la date $H$}}{5}{algorithm.3}}
\newlabel{algoOnReq}{{3}{5}{Réception d'un message \texttt{REQ}}{algorithm.3}{}}
\@writefile{toc}{\contentsline{paragraph}{\numberline{2.3.2.2}R\IeC{\'e}ception d'un message \texttt{REL}}{5}{paragraph.2.3.2.2}}
\@writefile{toc}{\contentsline{paragraph}{\numberline{2.1.2.2}R\IeC{\'e}ception d'un message \texttt{REL}}{5}{paragraph.2.1.2.2}}
\@writefile{loa}{\contentsline{algorithm}{\numberline{4}{\ignorespaces R\IeC{\'e}ception d'un message \texttt{REL} par le site $i$ envoy\IeC{\'e} par le site $j$ accompagn\IeC{\'e} de la date $H$}}{5}{algorithm.4}}
\newlabel{algoOnRel}{{4}{5}{Réception d'un message \texttt{REL}}{algorithm.4}{}}
\@writefile{toc}{\contentsline{paragraph}{\numberline{2.3.2.3}R\IeC{\'e}ception d'un message \texttt{ACK}}{5}{paragraph.2.3.2.3}}
\@writefile{toc}{\contentsline{paragraph}{\numberline{2.1.2.3}R\IeC{\'e}ception d'un message \texttt{ACK}}{5}{paragraph.2.1.2.3}}
\@writefile{loa}{\contentsline{algorithm}{\numberline{5}{\ignorespaces R\IeC{\'e}ception d'un message \texttt{ACK} par le site $i$ envoy\IeC{\'e} par le site $j$ accompagn\IeC{\'e} de la date $H$}}{5}{algorithm.5}}
\newlabel{algoOnAck}{{5}{5}{Réception d'un message \texttt{ACK}}{algorithm.5}{}}
\@writefile{toc}{\contentsline{section}{\numberline{3}Impl\IeC{\'e}mentation avec RabbitMQ}{6}{section.3}}
@@ -63,6 +63,7 @@ Notre travail consiste ici à protéger une ressource dans un système contenant
\section{L'algorithme de Lamport}
\label{sec:lamport}
\iffalse
\subsection{Horloges logiques de Lamport}
Chaque processus possède un entier appelé estampille. Il est mis à jour selon les règles suivantes :
...
...
@@ -73,6 +74,8 @@ Chaque processus possède un entier appelé estampille. Il est mis à jour selon
\item lors de la réception d'un message, l'estampille prend la valeur 1 + max(estampille du message, estampille courante du récepteur).
\end{itemize}
\fi
\subsection{Structure}
\label{sec:structure}
...
...
@@ -84,17 +87,16 @@ Chaque site possède les attributs suivant :
\begin{itemize}
\item$Voisins$ : Ensemble des identifiants de tous les autres sites ;
\item$T_i$ : Estampille de $i$;
\item$Times$ : Tableau indiquant pour chaque site l'estampille accompagnant le dernier message envoyé.
\item$Times$ : Structure indiquant pour chaque site l'estampille accompagnant le dernier message envoyé.
\end{itemize}
\subsubsection{Actions initiées par les sites}
\paragraph{Acquisition de la ressource}
Lorsque le site souhaite acquérir la ressource, il le signale aux autres sites en diffusant un message \texttt{REQ}, accompagné de son horloge logique.
Il attend ensuite la réponse des autres sites, sous la forme de messages \texttt{ACK} accompagnés des horloges logiques respectives.
Lorsque le nœud sait que sa requête est la plus ancienne, c'est-à-dire une fois que tous les autres sites lui ont fait parvenir soit un \texttt{ACK}, soit un \texttt{REL} ultérieur %
à sa requête, il s'empare de la ressource.
Lorsque le site \texttt{i} souhaite acquérir la ressource, il le signale aux autres sites en diffusant un message \texttt{REQ}, accompagné de son instant d'émission texttt{ti}.
Il attend ensuite la réponse des autres sites, sous la forme de messages \texttt{VAL} accompagnés des instants correspondants.
Lorsque le nœud sait que sa requête est la plus ancienne, c'est-à-dire une fois que tous les autres sites lui ont fait parvenir un message ultérieur à sa requête, il s'empare de la ressource.