summaryrefslogtreecommitdiffstats
path: root/stage/slides.tex
diff options
context:
space:
mode:
Diffstat (limited to 'stage/slides.tex')
-rw-r--r--stage/slides.tex143
1 files changed, 87 insertions, 56 deletions
diff --git a/stage/slides.tex b/stage/slides.tex
index ef7b03a..57666dd 100644
--- a/stage/slides.tex
+++ b/stage/slides.tex
@@ -14,21 +14,12 @@
-\title[Pacemaker]{Pacemaker : preuves et mesures de disponibilité dans les réseaux pair-à-pair}
+\title[Pacemaker]{Pacemaker : preuves de présence dans les réseaux pair-à-pair}
\author{Thibaut Horel}
\institute[stage INRIA Saclay]{Stage de MPRI sous la direction de Fabrice Le Fessant}
\setbeamercovered{transparent}
\begin{document}
-\AtBeginSection[]
-{
-\begin{frame}
-\frametitle{Plan}
-\tableofcontents[currentsection]
-\end{frame}
-}
-
-
\begin{frame}
\maketitle
\end{frame}
@@ -38,13 +29,29 @@
\end{frame}
\section{Cadre d'étude}
-\begin{frame}{Réseau}
+\begin{frame}{Objectifs}
+\begin{enumerate}
+\item Disponibilité
+\begin{block}{Définition}
+Fraction du temps passé par le pair sur le réseau.
+\end{block}
+\alert{Quelle utilité ?}
+\begin{itemize}
+\item<2-> structurer le réseau, super-pairs
+\item<3-> prédire le comportement futur
+\item<4-> obliger les pairs à coopérer (donnant-donnant)
+\end{itemize}
+\item<5-> Horodatage de documents (brevets)
+\end{enumerate}
+\end{frame}
+
+\begin{frame}{Hypothèses}
On suppose donné un \alert{réseau} :
\begin{itemize}
\item pair-à-pair, connaissance partielle
\item asynchrone, communication de nœud à nœud
-\item pannes, déconnexion
+\item pannes, déconnexion, perte de paquets
\item potentiellement beaucoup d'utilisateurs
\end{itemize}
\vfill
@@ -55,34 +62,12 @@ On suppose donné un \alert{réseau} :
\end{itemize}
\end{frame}
-\begin{frame}{Disponibilité}
-\begin{block}{Définition : \alert{disponibilité}}
-Fraction du temps passé par le pair sur le réseau.
-\end{block}
-\vfill
-\alert{Quelle utilité ?}
-\begin{itemize}
-\item<2-> structurer le réseau, super-pairs
-\item<3-> prédire le comportement futur
-\item<4-> obliger les pairs à coopérer (donnant-donnant)
-\end{itemize}
-\end{frame}
-
-\begin{frame}{Disponibilité : profil}
-\begin{center}
-\begin{figure}
-\includegraphics[scale=0.42]{avail.eps}
-\caption{Répartition de la disponibilité de 1469 pairs sur Overnet}
-\end{figure}
-\end{center}
-\end{frame}
-
-\begin{frame}{Objectif}
+\begin{frame}{Critères}
\alert{Protocole} :
\begin{itemize}
-\item décentralisé : nécessaire pour le passage à l'échelle
+\item passage à l'échelle
\item résistant à la collusion
-\item simple (bande passante, calcul)
+\item peu coûteux (bande passante, calcul)
\end{itemize}
\vfill
@@ -95,15 +80,24 @@ Fraction du temps passé par le pair sur le réseau.
\end{itemize}
\end{frame}
+\begin{frame}{Disponibilité : profil}
+\begin{center}
+\begin{figure}
+\includegraphics[scale=0.42]{avail.eps}
+\caption{Répartition de la disponibilité de 1469 pairs sur Overnet}
+\end{figure}
+\end{center}
+\end{frame}
+
\section{Le protocole}
\begin{frame}{Principe}
Système de \alert{preuve} :
\begin{itemize}
\item Le pair reçoit une preuve de sa présence et la stocke
-\item La preuve est fournie plus tard à la demande
+\item Le pair peut fournit la preuve ultérieurement
\end{itemize}
-Fonctionement par \alert{ronde} :
+Fonctionnement par \alert{ronde} :
\begin{itemize}
\item Le pair reçoit une preuve à intervalles réguliers
\item La preuve certifie la présence au cours de la ronde
@@ -114,7 +108,7 @@ Fonctionement par \alert{ronde} :
\begin{column}{0.45\textwidth}
\begin{block}{Avantages}<2->
\begin{itemize}
-\item décentralisation
+\item passage à l'échelle
\item durabilité temporelle
\end{itemize}
\end{block}
@@ -158,6 +152,10 @@ $1$ choisit un secret $S$ et le diffuse.
\end{columns}
\end{frame}
+\begin{frame}{Fonctionnement (suite)}
+À FAIRE
+\end{frame}
+
\begin{frame}[fragile]{Spécification}
\begin{columns}[t]
\begin{column}{0.48\textwidth}
@@ -262,36 +260,72 @@ end if
\end{columns}
\end{frame}
+\begin{frame}{Utilisation du protocole}
+\begin{itemize}
+\item mesure de disponibilité :
+\begin{itemize}
+\item chaque pair garde l'historique des preuves reçues
+\item système de requête/réponse pour contrôler les pairs
+\end{itemize}
+\vfill
+\item horodatage :
+\begin{itemize}
+\item on prouve la présence sur le réseau en ajoutant un nœud dans un arbre
+\item le nœud peut également contenir des informations !
+\end{itemize}
+\end{itemize}
+\end{frame}
+
+\begin{frame}{Étude du protocole}
+
+\begin{itemize}
+\item Non falsifiabilité
+\vfill
+\item Précision et passage à l'échelle
+\begin{itemize}
+\item simulation
+\item déploiement sur un réseau réel
+\end{itemize}
+\end{itemize}
+\end{frame}
\section{Résultats}
\begin{frame}{Non falsifiabilité}
À FAIRE
\end{frame}
-\begin{frame}{Simulation}
+\begin{frame}{Simulateur}
Fonctionnement par étapes. À chaque étape :
\begin{itemize}
\item connexions et déconnexions des pairs
\item réception et envoi des messages
\end{itemize}
\onslide<2->
+\vfill
Approximation de l'asynchronisme :
\begin{itemize}
\item ordre d'exécution aléatoire
\item délai d'une étape entre l'envoi et la réception
\item une étape représente 30 secondes de temps réel
\end{itemize}
-\onslide<3->
-Structure du réseau, selon les applications. \alert{Ici} :
+\end{frame}
+\begin{frame}{Obtention de la topologie du réseau}
+Topologie du réseau, selon les applications. \alert{Ici} :
\begin{itemize}
\item degré constant égal à \alert{10}
\item recherche de voisins depuis la racine en descendant progressivement
\item on stoppe la recherche à \alert{8} voisins
\end{itemize}
-\onslide<4->
+
+On fait tourner sur le simulateur :
+\begin{itemize}
+\item le protocole pacemaker
+\item le protocole de construction de la topologie
+\end{itemize}
+
\begin{block}{}
-$\simeq$ \alert{800} lignes en OCaml
+simulateur + pacemaker + topologie $\simeq$ \alert{800} lignes en OCaml
\end{block}
\end{frame}
@@ -314,7 +348,7 @@ $\simeq$ \alert{800} lignes en OCaml
\onslide<2->
En pratique :
\begin{itemize}
-\item \alert{167} ordinateurs\ldots
+\item \alert{167} ordinateurs à travers le monde
\item machines surchargées (virtualisation)
\item perte de nombreux paquets réseaux
\end{itemize}
@@ -323,7 +357,7 @@ Implémentation :
\begin{itemize}
\item sans la cryptographie asymétrique
\item communication en UDP
-\item même structure du réseau que dans le simulateur
+\item même topologie que dans le simulateur
\end{itemize}
\onslide<4->
@@ -345,22 +379,19 @@ $\simeq$ \alert{800} lignes en OCaml
\begin{frame}{Conclusion}
Robustesse :
\begin{itemize}
-\item jusqu'à 40\,000 nœuds
-\item au-delà ? l'instabilité du réseau pénalise les pairs éloignés
+\item testé jusqu'à 40\,000 nœuds
+\item l'instabilité pourrait pénaliser les pairs éloignés
\end{itemize}
\alert{Solution :} utiliser plusieurs serveurs
\onslide<2->
\vfill
-Application :
+Perspectives :
\begin{itemize}
-\item on prouve la présence sur le réseau en ajoutant un nœud dans un arbre
-\item le nœud peut également contenir des informations !
+\item essayer d'autres topologies (Chord, \ldots)
+\item tester le protocole sur un réseau réel
+\item empêcher la racine de réécrire l'histoire en chaînant les graines
\end{itemize}
-\onslide<3->
-\begin{block}{}
-$\Rightarrow$ Certification temporelle de documents (brevets)
-\end{block}
\end{frame}
\end{document}