diff options
Diffstat (limited to 'stage/slides.tex')
| -rw-r--r-- | stage/slides.tex | 143 |
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} |
