add treefmt and jupyter lab

This commit is contained in:
2024-11-24 23:38:01 +01:00
parent 6b95d8632c
commit 5b0ae1e598
46 changed files with 6836 additions and 279 deletions

339
main.tex
View File

@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Masters/Doctoral Thesis
% Masters/Doctoral Thesis
% LaTeX Template
% Version 2.5 (27/8/17)
%
@@ -10,7 +10,8 @@
% Vel (vel@latextemplates.com)
%
% This template is based on a template by:
% Steve Gunn (http://users.ecs.soton.ac.uk/srg/softwaretools/document/templates/)
% Steve Gunn
% (http://users.ecs.soton.ac.uk/srg/softwaretools/document/templates/)
% Sunil Patel (http://www.sunilpatel.co.uk/thesis-template/)
%
% Template license:
@@ -19,181 +20,243 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------------------------------------------------
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------
\documentclass[
11pt, % The default document font size, options: 10pt, 11pt, 12pt
oneside, % Two side (alternating margins) for binding by default, uncomment to switch to one side
english, % ngerman for German
singlespacing, % Single line spacing, alternatives: onehalfspacing or doublespacing
%draft, % Uncomment to enable draft mode (no pictures, no links, overfull hboxes indicated)
%nolistspacing, % If the document is onehalfspacing or doublespacing, uncomment this to set spacing in lists to single
%liststotoc, % Uncomment to add the list of figures/tables/etc to the table of contents
%toctotoc, % Uncomment to add the main table of contents to the table of contents
%parskip, % Uncomment to add space between paragraphs
%nohyperref, % Uncomment to not load the hyperref package
headsepline, % Uncomment to get a line under the header
%chapterinoneline, % Uncomment to place the chapter title next to the number on one line
%consistentlayout, % Uncomment to change the layout of the declaration, abstract and acknowledgements pages to match the default layout
11pt, % The default document font size, options: 10pt, 11pt, 12pt
oneside, % Two side (alternating margins) for binding by default,
% uncomment to switch to one side
english, % ngerman for German
singlespacing, % Single line spacing, alternatives: onehalfspacing
% or doublespacing
%draft, % Uncomment to enable draft mode (no pictures, no links,
% overfull hboxes indicated)
%nolistspacing, % If the document is onehalfspacing or
% doublespacing, uncomment this to set spacing in lists to single
%liststotoc, % Uncomment to add the list of figures/tables/etc to
% the table of contents
%toctotoc, % Uncomment to add the main table of contents to the
% table of contents
%parskip, % Uncomment to add space between paragraphs
%nohyperref, % Uncomment to not load the hyperref package
headsepline, % Uncomment to get a line under the header
%chapterinoneline, % Uncomment to place the chapter title next to
% the number on one line
%consistentlayout, % Uncomment to change the layout of the
% declaration, abstract and acknowledgements pages to match the default layout
]{MastersDoctoralThesis} % The class file specifying the document structure
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage{mathpazo} % Use the Palatino font by default
\usepackage[backend=bibtex,style=authoryear,natbib=true]{biblatex} % Use the bibtex backend with the authoryear citation style (which resembles APA)
\usepackage{svg}
\usepackage[backend=bibtex,style=authoryear,natbib=true]{biblatex} %
% Use the bibtex backend with the authoryear citation style (which
% resembles APA)
\addbibresource{example.bib} % The filename of the bibliography
\addbibresource{master_citations.bib}
\usepackage[autostyle=true]{csquotes} % Required to generate language-dependent quotes in the bibliography
\usepackage[autostyle=true]{csquotes} % Required to generate
% language-dependent quotes in the bibliography
%----------------------------------------------------------------------------------------
% MARGIN SETTINGS
% MARGIN SETTINGS
%----------------------------------------------------------------------------------------
\geometry{
paper=a4paper, % Change to letterpaper for US letter
inner=2.5cm, % Inner margin
outer=3.8cm, % Outer margin
bindingoffset=.5cm, % Binding offset
top=1.5cm, % Top margin
bottom=1.5cm, % Bottom margin
%showframe, % Uncomment to show how the type block is set on the page
paper=a4paper, % Change to letterpaper for US letter
inner=2.5cm, % Inner margin
outer=3.8cm, % Outer margin
bindingoffset=.5cm, % Binding offset
top=1.5cm, % Top margin
bottom=1.5cm, % Bottom margin
%showframe, % Uncomment to show how the type block is set on the page
}
%----------------------------------------------------------------------------------------
% THESIS INFORMATION
% THESIS INFORMATION
%----------------------------------------------------------------------------------------
\thesistitle{Development and Verification of a Theoretical Model for the Clan Framework} % Your thesis title, this is used in the title and abstract, print it elsewhere with \ttitle
\supervisor{\textsc{Ber Lorke}} % Your supervisor's name, this is used in the title page, print it elsewhere with \supname
\examiner{Prof. Dr. \textsc{Stefan Schmid}} % Your examiner's name, this is not currently used anywhere in the template, print it elsewhere with \examname
\degree{Master of Computer Science} % Your degree name, this is used in the title page and abstract, print it elsewhere with \degreename
\author{\textsc{Luis Hebendanz}} % Your name, this is used in the title page and abstract, print it elsewhere with \authorname
\thesistitle{Development and Verification of a Theoretical Model for
the Clan Framework} % Your thesis title, this is used in the title
% and abstract, print it elsewhere with \ttitle
\supervisor{\textsc{Ber Lorke}} % Your supervisor's name, this is
% used in the title page, print it elsewhere with \supname
\examiner{Prof. Dr. \textsc{Stefan Schmid}} % Your examiner's name,
% this is not currently used anywhere in the template, print it
% elsewhere with \examname
\degree{Master of Computer Science} % Your degree name, this is used
% in the title page and abstract, print it elsewhere with \degreename
\author{\textsc{Luis Hebendanz}} % Your name, this is used in the
% title page and abstract, print it elsewhere with \authorname
\subject{Computer Science} % Your subject area, this is not currently used anywhere in the template, print it elsewhere with \subjectname
\keywords{Decentralized Networks} % Keywords for your thesis, this is not currently used anywhere in the template, print it elsewhere with \keywordnames
\university{\href{https://www.tu.berlin/}{TU Berlin}} % Your university's name and URL, this is used in the title page and abstract, print it elsewhere with \univname
\department{\href{https://www.tu.berlin/eninet}{Internet Architecture and Management}} % Your department's name and URL, this is used in the title page and abstract, print it elsewhere with \deptname
\group{\href{https://www.tu.berlin/eninet}{INET}} % Your research group's name and URL, this is used in the title page, print it elsewhere with \groupname
\faculty{\href{https://www.tu.berlin/eecs}{Faculty IV}} % Your faculty's name and URL, this is used in the title page and abstract, print it elsewhere with \facname
\subject{Computer Science} % Your subject area, this is not currently
% used anywhere in the template, print it elsewhere with \subjectname
\keywords{Decentralized Networks} % Keywords for your thesis, this is
% not currently used anywhere in the template, print it elsewhere
% with \keywordnames
\university{\href{https://www.tu.berlin/}{TU Berlin}} % Your
% university's name and URL, this is used in the title page and
% abstract, print it elsewhere with \univname
\department{\href{https://www.tu.berlin/eninet}{Internet Architecture
and Management}} % Your department's name and URL, this is used in
% the title page and abstract, print it elsewhere with \deptname
\group{\href{https://www.tu.berlin/eninet}{INET}} % Your research
% group's name and URL, this is used in the title page, print it
% elsewhere with \groupname
\faculty{\href{https://www.tu.berlin/eecs}{Faculty IV}} % Your
% faculty's name and URL, this is used in the title page and
% abstract, print it elsewhere with \facname
\AtBeginDocument{
\hypersetup{pdftitle=\ttitle} % Set the PDF's title to your title
\hypersetup{pdfauthor=\authorname} % Set the PDF's author to your name
\hypersetup{pdfkeywords=\keywordnames} % Set the PDF's keywords to your keywords
\hypersetup{pdftitle=\ttitle} % Set the PDF's title to your title
\hypersetup{pdfauthor=\authorname} % Set the PDF's author to your name
\hypersetup{pdfkeywords=\keywordnames} % Set the PDF's keywords to
% your keywords
}
\begin{document}
\frontmatter % Use roman page numbering style (i, ii, iii, iv...) for the pre-content pages
\frontmatter % Use roman page numbering style (i, ii, iii, iv...) for
% the pre-content pages
\pagestyle{plain} % Default to the plain heading style until the thesis style is called for the body content
\pagestyle{plain} % Default to the plain heading style until the
% thesis style is called for the body content
%----------------------------------------------------------------------------------------
% TITLE PAGE
% TITLE PAGE
%----------------------------------------------------------------------------------------
\begin{titlepage}
\begin{center}
\begin{center}
\vspace*{.06\textheight}
{\scshape\LARGE \univname\par}\vspace{1.5cm} % University name
\textsc{\Large Master Thesis}\\[0.5cm] % Thesis type
\vspace*{.06\textheight}
{\scshape\LARGE \univname\par}\vspace{1.5cm} % University name
\textsc{\Large Master Thesis}\\[0.5cm] % Thesis type
\HRule \\[0.4cm] % Horizontal line
{\huge \bfseries \ttitle\par}\vspace{0.4cm} % Thesis title
\HRule \\[1.5cm] % Horizontal line
\begin{minipage}[t]{0.4\textwidth}
\begin{flushleft} \large
\emph{Author:}\\
\href{http://www.johnsmith.com}{\authorname} % Author name - remove the \href bracket to remove the link
\end{flushleft}
\end{minipage}
\begin{minipage}[t]{0.4\textwidth}
\begin{flushright} \large
\emph{Supervisor:} \\
\href{http://www.jamessmith.com}{\supname} % Supervisor name - remove the \href bracket to remove the link
\end{flushright}
\end{minipage}\\[3cm]
\vfill
\HRule \\[0.4cm] % Horizontal line
{\huge \bfseries \ttitle\par}\vspace{0.4cm} % Thesis title
\HRule \\[1.5cm] % Horizontal line
\large \textit{A thesis submitted in fulfillment of the requirements\\ for the degree of \degreename}\\[0.3cm] % University requirement text
\textit{in the}\\[0.4cm]
\groupname\\\deptname\\[2cm] % Research group name and department name
\vfill
\begin{minipage}[t]{0.4\textwidth}
\begin{flushleft} \large
\emph{Author:}\\
\href{http://www.johnsmith.com}{\authorname} % Author name -
% remove the \href bracket to remove the link
\end{flushleft}
\end{minipage}
\begin{minipage}[t]{0.4\textwidth}
\begin{flushright} \large
\emph{Supervisor:} \\
\href{http://www.jamessmith.com}{\supname} % Supervisor name
% - remove the \href bracket to remove the link
\end{flushright}
\end{minipage}\\[3cm]
{\large \today}\\[4cm] % Date
% \includegraphics{./TU-Berlin-Logo.png} % University/department logo - uncomment to place it
\vfill
\end{center}
\vfill
\large \textit{A thesis submitted in fulfillment of the
requirements\\ for the degree of \degreename}\\[0.3cm] %
% University requirement text
\textit{in the}\\[0.4cm]
\groupname\\\deptname\\[2cm] % Research group name and department name
\vfill
{\large \today}\\[4cm] % Date
% \includegraphics{./TU-Berlin-Logo.png} % University/department
% logo - uncomment to place it
\vfill
\end{center}
\end{titlepage}
%----------------------------------------------------------------------------------------
% DECLARATION PAGE
% DECLARATION PAGE
%----------------------------------------------------------------------------------------
\begin{declaration}
\addchaptertocentry{\authorshipname} % Add the declaration to the table of contents
\noindent I, \authorname, declare that this thesis titled, \enquote{\ttitle} and the work presented in it are my own. I confirm that:
\addchaptertocentry{\authorshipname} % Add the declaration to the
% table of contents
\noindent I, \authorname, declare that this thesis titled,
\enquote{\ttitle} and the work presented in it are my own. I confirm that:
\begin{itemize}
\item This work was done wholly or mainly while in candidature for a research degree at this University.
\item Where any part of this thesis has previously been submitted for a degree or any other qualification at this University or any other institution, this has been clearly stated.
\item Where I have consulted the published work of others, this is always clearly attributed.
\item Where I have quoted from the work of others, the source is always given. With the exception of such quotations, this thesis is entirely my own work.
\item I have acknowledged all main sources of help.
\item Where the thesis is based on work done by myself jointly with others, I have made clear exactly what was done by others and what I have contributed myself.\\
\end{itemize}
\noindent Signed:\\
\rule[0.5em]{25em}{0.5pt} % This prints a line for the signature
\noindent Date:\\
\rule[0.5em]{25em}{0.5pt} % This prints a line to write the date
\begin{itemize}
\item This work was done wholly or mainly while in candidature
for a research degree at this University.
\item Where any part of this thesis has previously been submitted
for a degree or any other qualification at this University or
any other institution, this has been clearly stated.
\item Where I have consulted the published work of others, this
is always clearly attributed.
\item Where I have quoted from the work of others, the source is
always given. With the exception of such quotations, this
thesis is entirely my own work.
\item I have acknowledged all main sources of help.
\item Where the thesis is based on work done by myself jointly
with others, I have made clear exactly what was done by others
and what I have contributed myself.\\
\end{itemize}
\noindent Signed:\\
\rule[0.5em]{25em}{0.5pt} % This prints a line for the signature
\noindent Date:\\
\rule[0.5em]{25em}{0.5pt} % This prints a line to write the date
\end{declaration}
%----------------------------------------------------------------------------------------
% ABSTRACT PAGE
% ABSTRACT PAGE
%----------------------------------------------------------------------------------------
\begin{abstract}
\addchaptertocentry{\abstractname} % Add the abstract to the table of contents
This thesis explores Clan, an open-source machine configuration management framework designed to provide a single source of truth in decentralized environments.
Key to this investigation are the underlying Mesh VPN technologies, ZeroTier and Mycelium, which enable decentralized network connections, and "data-mesher," a decentralized domain name system.
The study begins with an in-depth analysis of fault tolerance mechanisms in these technologies, evaluating how robust they are against node failures and network disruptions.
Next, scalability is examined through both theoretical models and practical implementations.
Finally, the security of these technologies is evaluated through various attack scenarios.
By examining fault tolerance, scalability, and security, this thesis aims to evaluate how Clan and these supporting technologies contribute to the management of distributed systems.
\addchaptertocentry{\abstractname} % Add the abstract to the table of contents
This thesis explores Clan, an open-source machine configuration
management framework
designed to provide a single source of truth in peer-to-peer networks.
Key to this investigation are the underlying peer-to-peer technologies,
ZeroTier and Mycelium, which enable decentralized network connections,
and the "Data-Mesher" a decentralized conflict free replicated database.
The study begins with an in-depth analysis of fault tolerance
mechanisms in these technologies,
evaluating how robust they are against node failures and network disruptions.
Next, scalability is examined through both theoretical models and
practical implementations.
Finally, the security of these technologies is evaluated through
various attack scenarios.
By examining fault tolerance, scalability, and security, this
thesis aims to evaluate how Clan
and these supporting technologies contribute to the management of
peer-to-peer systems.
\end{abstract}
%----------------------------------------------------------------------------------------
% ACKNOWLEDGEMENTS
% ACKNOWLEDGEMENTS
%----------------------------------------------------------------------------------------
\begin{acknowledgements}
\addchaptertocentry{\acknowledgementname} % Add the acknowledgements to the table of contents
I am very grateful to my supervisor, Ber Lorke, for his guidance and support during my research. His advice and feedback have been invaluable.
I also want to thank my examiner, Prof. Stefan Schmidt, for his helpful comments and insights, which improved my thesis.
A big thank you to my family and friends for their support and encouragement throughout this journey.
Lastly, thanks to everyone at INET for creating a great learning environment.
\addchaptertocentry{\acknowledgementname} % Add the
% acknowledgements to the table of contents
I am very grateful to my team members Mic92, Lassulus, Hsjobeki,
DavHau, Kenji and Timo with whom
I worked together with to create the Clan framework.
As well as my supervisor, Ber Lorke, for his guidance and support
during my research.
His advice and feedback have been invaluable.
I also want to thank my examiner, Prof. Stefan Schmidt, for his
helpful comments and insights.
A big thank you to my family and friends for their support and
encouragement throughout this journey.
Lastly, thanks to everyone at INET for creating a great learning environment.
\end{acknowledgements}
%----------------------------------------------------------------------------------------
% LIST OF CONTENTS/FIGURES/TABLES PAGES
% LIST OF CONTENTS/FIGURES/TABLES PAGES
%----------------------------------------------------------------------------------------
\tableofcontents % Prints the main table of contents
@@ -203,23 +266,26 @@ Lastly, thanks to everyone at INET for creating a great learning environment.
\listoftables % Prints the list of tables
%----------------------------------------------------------------------------------------
% ABBREVIATIONS
% ABBREVIATIONS
%----------------------------------------------------------------------------------------
\begin{abbreviations}{ll} % Include a list of abbreviations (a table of two columns)
\begin{abbreviations}{ll} % Include a list of abbreviations (a table
% of two columns)
\textbf{LAH} & \textbf{L}ist \textbf{A}bbreviations \textbf{H}ere\\
\textbf{WSF} & \textbf{W}hat (it) \textbf{S}tands \textbf{F}or\\
\textbf{LAH} & \textbf{L}ist \textbf{A}bbreviations \textbf{H}ere\\
\textbf{WSF} & \textbf{W}hat (it) \textbf{S}tands \textbf{F}or\\
\end{abbreviations}
%----------------------------------------------------------------------------------------
% PHYSICAL CONSTANTS/OTHER DEFINITIONS
% PHYSICAL CONSTANTS/OTHER DEFINITIONS
%----------------------------------------------------------------------------------------
% \begin{constants}{lr@{${}={}$}l} % The list of physical constants is a three column table
% \begin{constants}{lr@{${}={}$}l} % The list of physical constants
% is a three column table
% % The \SI{}{} command is provided by the siunitx package, see its documentation for instructions on how to use it
% % The \SI{}{} command is provided by the siunitx package, see its
% documentation for instructions on how to use it
% % Speed of Light & $c_{0}$ & \SI{2.99792458e8}{\meter\per\second} (exact)\\
% %Constant Name & $Symbol$ & $Constant Value$ with units\\
@@ -227,29 +293,29 @@ Lastly, thanks to everyone at INET for creating a great learning environment.
% \end{constants}
%----------------------------------------------------------------------------------------
% SYMBOLS
% SYMBOLS
%----------------------------------------------------------------------------------------
\begin{symbols}{lll} % Include a list of Symbols (a three column table)
% $a$ & distance & \si{\meter} \\
% $P$ & power & \si{\watt} (\si{\joule\per\second}) \\
%Symbol & Name & Unit \\
% $a$ & distance & \si{\meter} \\
% $P$ & power & \si{\watt} (\si{\joule\per\second}) \\
%Symbol & Name & Unit \\
\addlinespace % Gap to separate the Roman symbols from the Greek
\addlinespace % Gap to separate the Roman symbols from the Greek
% $\omega$ & angular frequency & \si{\radian} \\
% $\omega$ & angular frequency & \si{\radian} \\
\end{symbols}
%----------------------------------------------------------------------------------------
% DEDICATION
% DEDICATION
%----------------------------------------------------------------------------------------
% \dedicatory{Dedicated to/To my\ldots}
% \dedicatory{Dedicated to/To my\ldots}
%----------------------------------------------------------------------------------------
% THESIS CONTENT - CHAPTERS
% THESIS CONTENT - CHAPTERS
%----------------------------------------------------------------------------------------
\mainmatter % Begin numeric (1,2,3...) page numbering
@@ -261,18 +327,19 @@ Lastly, thanks to everyone at INET for creating a great learning environment.
\include{Chapters/Introduction}
%\include{Chapters/Chapter1}
%\include{Chapters/Chapter2}
%\include{Chapters/Chapter2}
%\include{Chapters/Chapter3}
%\include{Chapters/Chapter4}
%\include{Chapters/Chapter5}
%\include{Chapters/Chapter4}
%\include{Chapters/Chapter5}
%----------------------------------------------------------------------------------------
% THESIS CONTENT - APPENDICES
% THESIS CONTENT - APPENDICES
%----------------------------------------------------------------------------------------
\appendix % Cue to tell LaTeX that the following "chapters" are Appendices
% Include the appendices of the thesis as separate files from the Appendices folder
% Include the appendices of the thesis as separate files from the
% Appendices folder
% Uncomment the lines as you write the Appendices
%\include{Appendices/AppendixA}
@@ -280,11 +347,11 @@ Lastly, thanks to everyone at INET for creating a great learning environment.
%\include{Appendices/AppendixC}
%----------------------------------------------------------------------------------------
% BIBLIOGRAPHY
% BIBLIOGRAPHY
%----------------------------------------------------------------------------------------
\printbibliography[heading=bibintoc]
%----------------------------------------------------------------------------------------
\end{document}
\end{document}