252 lines
13 KiB
TeX
252 lines
13 KiB
TeX
\documentclass[aspectratio=169]{beamer}
|
||
|
||
\usetheme{Madrid}
|
||
\usefonttheme{professionalfonts}
|
||
|
||
\usepackage[utf8]{inputenc}
|
||
\usepackage[T1]{fontenc}
|
||
\usepackage[french]{babel}
|
||
\usepackage{mathtools,amssymb}
|
||
\usepackage{microtype}
|
||
\usepackage{pgfgantt}
|
||
\usepackage{adjustbox}
|
||
% Réduire la densité verticale par défaut
|
||
% \ganttset{y unit chart=0.45cm, y unit title=0.6cm, bar height=0.35}
|
||
|
||
% Acronymes utiles
|
||
\newcommand{\EC}{\textsc{EC}}
|
||
\newcommand{\CRDT}{\textsc{CRDT}}
|
||
\newcommand{\PCDO}{\textsc{PCDO}}
|
||
\newcommand{\RB}{\textsc{RB}}
|
||
\newcommand{\ARB}{\textsc{ARB}}
|
||
\newcommand{\BFT}{\textsc{BFT}}
|
||
\newcommand{\DL}{\textsc{DL}}
|
||
\newcommand{\AL}{\textsc{AL}}
|
||
\newcommand{\ZT}{\textsc{ZT}}
|
||
|
||
|
||
% =====================
|
||
% Paramétrage générique et macros d'usage
|
||
% ---------------------
|
||
% Définir la fenêtre temporelle du diagramme (ISO 8601)
|
||
\newcommand{\GanttSetup}[2]{% #1 = YYYY-MM-DD (début), #2 = YYYY-MM-DD (fin)
|
||
\def\GanttStart{#1}%
|
||
\def\GanttEnd{#2}%
|
||
}
|
||
% Evénement sur période
|
||
% Usage : \Period[<opts pgfgantt>]{<label>}{<YYYY-MM-DD>}{<YYYY-MM-DD>}
|
||
\newcommand{\Period}[4][]{\ganttbar[#1]{#2}{#3}{#4}}
|
||
% Evénement ponctuel (jalon)
|
||
% Usage : \Event[<opts pgfgantt>]{<label>}{<YYYY-MM-DD>}
|
||
\newcommand{\Event}[3][]{\ganttmilestone[#1]{#2}{#3}}
|
||
% Groupe (optionnel)
|
||
% Usage : \Block[<opts>]{<label>}{<YYYY-MM-DD>}{<YYYY-MM-DD>}
|
||
\newcommand{\Block}[4][]{\ganttgroup[#1]{#2}{#3}{#4}}
|
||
|
||
% Style par défaut (sobre, lisible en salle)
|
||
\ganttset{
|
||
calendar week text={},
|
||
time slot format=isodate,
|
||
vgrid, hgrid,
|
||
x unit=0.42cm, % densité horizontale
|
||
y unit chart=0.45cm, y unit title=0.6cm, bar height=0.35,
|
||
bar/.append style={fill=blue!35},
|
||
group/.append style={fill=black!10},
|
||
milestone/.append style={fill=red!60},
|
||
bar label font=\scriptsize, group label font=\scriptsize, milestone label font=\scriptsize,
|
||
title label font=\footnotesize, title/.style={fill=black!5}
|
||
}
|
||
|
||
\title{2ème Comité de Suivi Individuel 2024-2025}
|
||
\subtitle{Thèse CIFRE - Cohérence Faible pour le cloud zero-trust}
|
||
\institute[AMU - LIS - Scille]{Université Aix-Marseille - LIS \and Scille}
|
||
% \logo{\includegraphics[height=0.5cm]{logo-lis.png} \hspace{2em} \includegraphics[height=0.5cm]{parsec.png}}
|
||
\author[Amaury JOLY]{Amaury JOLY \\ \vspace{1em} \textbf{Encadrement :} Emmanuel GODARD, Corentin TRAVERS \\ \vspace{1em} \textbf{Comité de suivi :} Arnaud LABOUREL, Achour MOSTEFAOUI}
|
||
\date{\today}
|
||
|
||
\begin{document}
|
||
|
||
\begin{frame}
|
||
\titlepage
|
||
\end{frame}
|
||
|
||
% Rajouter nombre d'heure recherche industrielle formation OK
|
||
% Dire que le model CRDT et PCDO implique du RB OK
|
||
% Usage de RB+DL=>ARB dans le cloud zero-trust
|
||
% Etre plus claire sur les missions en cours avec Scille OK
|
||
|
||
% Se renseigner sur l'état de l'art sur RB+DL=>ARB et PCDO
|
||
|
||
% Voir avce Scille pour la poursuite de these
|
||
|
||
% =======================
|
||
\begin{frame}{Contexte de thèse (CIFRE)}
|
||
\begin{itemize}
|
||
\item Démarrage administratif : \textbf{janvier 2024}.
|
||
\item Sujet : \emph{Cohérence Faible pour le cloud zero-trust}.
|
||
\item Cadre : thèse \textbf{CIFRE} avec l’entreprise \textbf{Scille} (logiciel \texttt{parsec.cloud}).
|
||
\item Répartition d’activités : \textbf{70\% recherche} / \textbf{30\% entreprise}.
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{Contexte industriel — partage de fichiers \ZT{}}
|
||
\begin{itemize}
|
||
\item Produit : logiciel de partage de fichiers \textbf{zero-trust}.
|
||
\item Modèle \ZT{} : le \textbf{serveur ne voit que des données chiffrées} et ne connaît pas l’identité des utilisateurs.
|
||
\item Model de communication : \textbf{serveur centralisé unique} pour tous les clients.
|
||
\item Hypothèses : confiance pour la \textbf{redistribution des messages} et la \textbf{disponibilité} ; serveur \textbf{honnête mais curieux}.
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{Bilan des formations et divers (oct. 2024 — oct. 2025)}
|
||
\begin{itemize}
|
||
\item \textbf{REDOCS 2024} : 14 au 19 octobre 2024
|
||
\item \textbf{PEPR Trust in Cloud 2024} (Grenoble) : novembre 2024.
|
||
\item \textbf{PEPR Trust in Cloud 2025} (Massy) : octobre 2025.
|
||
\item \textbf{Séminaires entreprise} : 3 séances en présentiel.
|
||
\item \textbf{Reunion avancement produit et R\&D} : toutes les 2 semaines.
|
||
\item \textbf{Enseignement} : 30 h en M1 (24h TP + 6h TD) + Soutenances de stage M2 FSI
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{Missions en entreprise (résumé)}
|
||
\begin{itemize}
|
||
\item \textbf{Document BPI} : état de l’art et \textbf{valeur ajoutée} des fonctionnalités d’\emph{édition collaborative} de l’équipe R\&D Parsec.
|
||
\item \textbf{État de l’art} sur \textbf{\ZT{}} et \textbf{Data-Centric Security} pour une réponse à appel d’offres \textbf{OTAN}.
|
||
\item \textbf{Conseil} : stratégie de \textbf{sauvegarde} dans un contexte \textbf{pair-à-pair distribué} pour l’édition collaborative.
|
||
\item \textbf{CIR} : rédaction en cours d’un \textbf{document consolidé} couvrant les projets R\&D (état de l’art, besoins spécifiques, caractère innovant, avancées annuelles).
|
||
\vspace{1em}
|
||
\item Développement de \textbf{fonctionnalités} experimentales dans \texttt{parsec}
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{CRDT (Shapiro et al., 2011) - Rappel}
|
||
\begin{itemize}
|
||
\item Un \CRDT{} est une \textbf{spécification de type de donnée répliqué} qui permet d’\textbf{atteindre la cohérence éventuelle} (\EC) \textbf{sans imposer d’ordre total} entre les opérations (sous hypothèse de \textbf{Reliable Broadcast} (RB)).
|
||
\item L’idée clé est de \textbf{converger par construction} : les opérations (ou les jointures d’états) sont \textbf{commutatives} (souvent aussi associatives et idempotentes), garantissant que tout ordre de livraison mène au même état.
|
||
\pause
|
||
\item \textbf{Contrepartie} : la \textbf{structure commutative} restreint les usages aux applications dont les mises à jour sont naturellement commutatives; elle est moins adaptée lorsque des \textbf{invariants globaux non commutatifs} ou des \textbf{contraintes d’ordre} sont requis.
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{PCDO (Frey et al., 2023)}
|
||
\begin{itemize}
|
||
\item Les \PCDO{} étendent les \CRDT{} mais \textbf{ajoute une notion de légalité d’état} : un prédicat caractérise quels états sont \emph{légaux}.
|
||
\item Alors que, dans les \CRDT, \textbf{toutes les opérations sont éventuellement traitées par tous les nœuds} (sans ordre global), un \PCDO{} autorise d’\textbf{exiger un ordre pour certaines opérations}.
|
||
\pause
|
||
\item Pour \textbf{atteindre} cela sans sacrifier l’asynchronisme, la \textbf{contrainte d’ordre est restreinte \emph{par processus}} : seules les opérations \textbf{émises par le même processus} doivent être \textbf{émises et exécutées dans un certain ordre}.
|
||
\item Les opérations inter-processus restent commutatives (au sens requis par le prédicat de légalité), préservant la \EC{}.
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{\PCDO{} ?= \RB{} \BFT{}}
|
||
\begin{itemize}
|
||
\item \textbf{Question de recherche} : une implémentation \BFT{} d’un \PCDO{} est-elle \textbf{équivalente} à l’implémentation \BFT{} d’un \textbf{Reliable Broadcast} (\RB)?
|
||
\item Intuition : si un \PCDO{} impose un \textbf{ordre par émetteur}, et que \RB{}-BFT assure \textbf{livraison fiable/consistante}, peut-on \textbf{réduire} l’un à l’autre~?
|
||
\item \textbf{Travail en cours} : exploration d’algorithmes visant à \textbf{montrer l’équivalence} (ou une réduction bidirectionnelle). \textbf{À ce stade}, pas de résultat concluant.
|
||
\item Points de blocage actuels : \textbf{interaction entre la légalité d’état locale au processus} et les \textbf{garanties globales} de \RB{}-\BFT{} (accord, intégrité, terminaison).
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{AllowList et DenyList (Frey et al., 2023)}
|
||
\begin{itemize}
|
||
\item Présentation de travaux de \textbf{Mathieu Gestin} : spécification d’\AL{} et de \DL{} comme \textbf{registre partagé} dans un système \textbf{asynchrone} sujet aux \textbf{crashs}.
|
||
\item Interface fondée sur \textbf{trois primitives} :
|
||
\begin{itemize}
|
||
\item \texttt{APPEND(x)} : ajout d’un élément à l'\AL{}/\DL{}.
|
||
\item \texttt{PROVE(x)} : fournir une \textbf{preuve vérifiable} de présence/absence.
|
||
\item \texttt{READ()} : obtenir une \textbf{vue cohérente} du registre.
|
||
\end{itemize}
|
||
\item L’objectif est d’\textbf{atteindre les garanties attendues} d’une \AL{}/\DL{} distribuée (sécurité, auditabilité, progression sous asynchronisme avec crashs).
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{\RB{} + \DL{} $\Rightarrow$ \ARB{} (intuition)}
|
||
\begin{itemize}
|
||
\item Idée : utiliser la \textbf{\DL{} comme mécanisme de verrou/élection} pour \textbf{ordonner} des messages livrés via \RB{}, et ainsi passer à l’\textbf{Atomic Reliable Broadcast} (\ARB{}).
|
||
\item \textbf{Par rounds} :
|
||
\begin{enumerate}
|
||
\item À chaque round, un \textbf{ensemble non vide de vainqueurs} est sélectionné (via \DL{}) et \textbf{détient le droit d’émettre}.
|
||
\item Quand le round est \textbf{fermé}, les autres processus tentent d’être élus au \textbf{round suivant}.
|
||
\end{enumerate}
|
||
\item \textbf{Processus lents} : un mécanisme de \textbf{dissémination des messages en attente} force les nœuds corrects à \textbf{relayer/émettre} pour leur compte afin d’éviter les blocages.
|
||
\item L’ordonnancement par rounds permet d’\textbf{établir un ordre total} entre les messages.
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{\RB{} + \DL{} $\Rightarrow$ \ARB{} (contexte industriel \& ZT)}
|
||
\begin{itemize}
|
||
\item \textbf{Contraintes industrielles (CIFRE)} : les \CRDT{}\ \PCDO{} ne couvrent pas tous les cas d’usage — certaines applications requièrent un \textbf{ordre total} global malgré l’asynchronisme.
|
||
\item \textbf{Hypothèse architecturale} : un \textbf{serveur « proxy » ZT} ne voyant que des \textbf{chiffrés}, chargé de \textbf{dispatcher} et de \textbf{synchroniser} les messages; aucune logique métier ni accès au clair.
|
||
\item \textbf{Levier} : combiner \RB{} avec \DL{} pour sérialiser les tours d’émission; le proxy n’est qu’un \textbf{médiateur d’ordonnancement}, pas une source de confiance.
|
||
\item \textbf{Pertinence} : solution adaptée aux environnements contraints où la \textbf{centralisation de l’ordonnancement} est acceptable mais où la \textbf{confiance} reste minimisée.
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{\RB{} + \DL{} $\Rightarrow$ \ARB{} (état d’avancement)}
|
||
\begin{itemize}
|
||
\item \textbf{Algorithme} : spécifié et en cours de \textbf{finalisation de la preuve} dans un \textbf{modèle crash}.
|
||
\item \textbf{Propriété visée} : \ARB{} (accord, validité, intégrité, \textbf{ordre total}).
|
||
\item \textbf{Perspectives} : extension au \textbf{modèle byzantin} (\BFT{}). Implémentation d'une \DL{} \ZT{} (e.g. calcul homomorphe).
|
||
\item \textbf{Implémentation} : prototype intégré à \texttt{parsec} pour la fonctionnalités de chat collaboratif (en cours).
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
% =====================
|
||
|
||
\begin{frame}[t]{Gantt 2024-2025}
|
||
\scriptsize
|
||
% Fenêtre temporelle
|
||
\GanttSetup{2024-10-01}{2025-10-15}
|
||
|
||
% Limiter à la largeur et à 80% de la hauteur de la slide
|
||
\begin{adjustbox}{max totalsize={\textwidth}{0.8\textheight},center}
|
||
\begin{ganttchart}[
|
||
expand chart=\textwidth,
|
||
y unit chart=0.45cm,
|
||
y unit title=0.6cm,
|
||
bar height=0.35,
|
||
]{\GanttStart}{\GanttEnd}
|
||
\gantttitlecalendar{year, month}\\
|
||
|
||
\Period{REDOCS}{2024-10-14}{2024-10-18}\\
|
||
% Plusieurs jalons sur une même ligne pour gagner de la place
|
||
\Event{Séminaire Parsec}{2024-11-19}\ \Event{}{2025-03-20}\ \Event{}{2025-07-12}\\
|
||
\Event{PEPR TrustInCloud}{2024-12-05}\ \Event{}{2025-10-07}\\
|
||
|
||
\Period[bar/.append style={fill=green!40}]{Livrable BPI}{2025-01-01}{2025-02-01}\\
|
||
\Period[bar/.append style={fill=green!40}]{État de l'art OTAN}{2025-04-01}{2025-04-30}\\
|
||
\Period[bar/.append style={fill=green!40}]{Conseil sauvegarde P2P}{2025-08-01}{2025-08-15}\\
|
||
\Period[bar/.append style={fill=green!40}]{Rédaction CIR}{2025-09-01}{2025-10-15}\\
|
||
|
||
\Period[bar/.append style={fill=orange!70}]{Cours M1}{2024-10-01}{2024-12-31}\\
|
||
|
||
\Period[bar/.append style={fill=blue!35}]{PCDO BFT vs RB BFT}{2024-10-01}{2025-01-01}\\
|
||
\Period[bar/.append style={fill=blue!35}]{Spécification RB+DL=>ARB (crash)}{2025-02-01}{2025-10-15}\\
|
||
\end{ganttchart}
|
||
\end{adjustbox}
|
||
\end{frame}
|
||
|
||
% =======================
|
||
\begin{frame}{Perspectives Académiques 2025-2026}
|
||
\begin{itemize}
|
||
\item \textbf{Publication} : soumission d’un article sur \RB{} + \DL{} $\Rightarrow$ \ARB{} en modèle \BFT{} (\textbf{printemps 2026}).
|
||
\item \textbf{Soumission de la thèse} : rédaction \textbf{fin 2026}, soutenance \textbf{1er semestre 2027}.
|
||
\begin{itemize}
|
||
\item Implique une 4ème année de thèse (financement à confirmer avec Scille).
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
\end{document}
|
||
|