From 0bfd7e82911a90a980afc59b8af3b8714a4f6001 Mon Sep 17 00:00:00 2001 From: Qubasa Date: Mon, 25 Nov 2024 14:48:21 +0100 Subject: [PATCH] add acronym --- .gitignore | 7 +- Chapters/Introduction.tex | 61 ++++++--- MastersDoctoralThesis.cls | 27 ++-- flake.nix | 2 +- kernels.nix | 7 +- main-blx.bib | 2 +- main.tex | 23 ++-- master_citations.bib | 275 ++++++++++++++------------------------ 8 files changed, 191 insertions(+), 213 deletions(-) diff --git a/.gitignore b/.gitignore index be07e5b..43f8eb8 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,10 @@ *.lof *.lot *.run.xml - +*.acn +*.glo +*.glsdefs +*.ist # SyncTeX files *.synctex.gz *.synctex(busy) @@ -35,6 +38,8 @@ *.DS_Store .direnv .jupyter +svg-inkscape +.ipynb_checkpoints/ # Directory for auxiliary files created by latexmk latexmk/ diff --git a/Chapters/Introduction.tex b/Chapters/Introduction.tex index c90e124..c6f3157 100755 --- a/Chapters/Introduction.tex +++ b/Chapters/Introduction.tex @@ -5,21 +5,53 @@ \label{Introduction} % Change X to a consecutive number; for % referencing this chapter elsewhere, use \ref{ChapterX} -\begin{figure}[h!] - \centering - \includesvg[width=\textwidth]{Figures/clan_thesis_argumentation_tree.drawio.svg} - \caption{Argumentation Tree for the Clan Thesis} - \label{fig:clan_thesis_argumentation_tree} -\end{figure} - %---------------------------------------------------------------------------------------- % SECTION 1 %---------------------------------------------------------------------------------------- \section{Methodology} -In this chapter, we will discuss the methodology used in this -research. We will discuss the research design, and the research limitations. +This chapter outlines the methodology employed in the present +research to evaluate and analyze the Clan framework. A visual +representation of the argumentation flow central to the Clan Thesis +is provided in Figure \ref{fig:clan_thesis_argumentation_tree}. + +\begin{figure}[H] + \centering + \includesvg[width=1\textwidth, + keepaspectratio]{Figures/clan_thesis_argumentation_tree.drawio.svg} + \caption{Argumentation Tree for the Clan Thesis} + \label{fig:clan_thesis_argumentation_tree} +\end{figure} + +The structure of this thesis adopts a multi-problem-oriented approach +rather than focusing on a single isolated problem. Specifically, it +addresses a set of interrelated challenges within the context of +enhancing the reliability and manageability of \ac{P2P} +networks. The primary objective of this research is to investigate +how the Clan framework provides effective solutions to these challenges. + +To achieve this goal, the research is divided into two main components: +\begin{enumerate} + \item \textbf{Development of a Theoretical Model} \\ +A theoretical model of the Clan framework will be constructed. This +model will consist of a formal specification of the foundational +axioms of the system, including the properties and principles that +govern its design. From these base axioms, the research will derive +key theorems and explore their corresponding boundary conditions. The +theoretical analysis will aim to elucidate the underlying mechanisms +of the framework and provide a concrete foundation for its evaluation. + +\item \textbf{Empirical Verification of the Theoretical Model} \\ +To validate the theoretical model, a series of experiments will be +conducted on various components of the Clan framework. These +experiments will assess how the theoretical predictions align with +practical observations. This step is essential to determine the +extent to which the theoretical model holds under real-world +conditions and to identify its limitations, if any. +\end{enumerate} + +TODO \section{Related Work} @@ -36,21 +68,18 @@ the development and positioning of the Clan framework. Nix addresses significant issues in software deployment by utilizing a technique that employs cryptographic -hashes to ensure unique paths for component instances[1]. +hashes to ensure unique paths for component instances \cite{dolstra_nix_2004}. The system is distinguished by its features, such as concurrent installation of multiple versions and variants, atomic upgrades, and safe garbage collection. These capabilities lead to a flexible deployment system that harmonizes source and binary deployments. Nix conceptualizes deployment without imposing rigid policies, -thereby offering adaptable strategies for component management[2]. +thereby offering adaptable strategies for component management. This contrasts with many prevailing systems that are constrained by policy-specific designs, -making Nix an agile choice for modern deployment needs[3]. The -insights gained from Nix's approach -to non-interference and de-risking upgrades through atomic -transactions highlight the potential -for deploying software components seamlessly in decentralized networks[4]. +making Nix an easily extensible, safe and versatile deployment solution +for configuration files and software. \subsection{NixOS: A Purely Functional Linux Distribution} diff --git a/MastersDoctoralThesis.cls b/MastersDoctoralThesis.cls index bdf2e1f..7de6c01 100644 --- a/MastersDoctoralThesis.cls +++ b/MastersDoctoralThesis.cls @@ -338,20 +338,19 @@ KOMA-script documentation for details.}]{fancyhdr} %---------------------------------------------------------------------------------------- % ABBREVIATIONS PAGE DESIGN %---------------------------------------------------------------------------------------- - -\newcommand{\abbrevname}{List of Abbreviations} -\providecaptionname{english,british,american}{\abbrevname}{List of -Abbreviations} -\providecaptionname{ngerman,german,austrian,naustrian}{\abbrevname}{Abk\"urzungsverzeichnis} -\NewDocumentEnvironment{abbreviations}{ m }{% - \ifbool{nolistspace}{\begingroup\singlespacing}{} - \ifbool{listtoc}{\addchap{\abbrevname}}{\addchap*{\abbrevname}} - \begin{longtable}{#1} - }{% - \end{longtable} - \addtocounter{table}{-1}% Don't count this table as one of the document tables - \ifbool{nolistspace}{\endgroup}{} -} +% \newcommand{\abbrevname}{List of Abbreviations} +% \providecaptionname{english,british,american}{\abbrevname}{List of +% Abbreviations} +% \providecaptionname{ngerman,german,austrian,naustrian}{\abbrevname}{Abk\"urzungsverzeichnis} +% \NewDocumentEnvironment{abbreviations}{ m }{% +% \ifbool{nolistspace}{\begingroup\singlespacing}{} +% \ifbool{listtoc}{\addchap{\abbrevname}}{\addchap*{\abbrevname}} +% \begin{longtable}{#1} +% }{% +% \end{longtable} +% \addtocounter{table}{-1}% Don't count this table as one of the document tables +% \ifbool{nolistspace}{\endgroup}{} +% } %---------------------------------------------------------------------------------------- % ABSTRACT PAGE DESIGN diff --git a/flake.nix b/flake.nix index b08dd72..d65a7b6 100644 --- a/flake.nix +++ b/flake.nix @@ -45,7 +45,7 @@ { devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ - + python3 ]; }; packages = { diff --git a/kernels.nix b/kernels.nix index 8520463..102a5b3 100644 --- a/kernels.nix +++ b/kernels.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { kernel.python.minimal = { enable = true; @@ -10,5 +10,10 @@ kernel.bash.minimal = { enable = true; + runtimePackages = [ + pkgs.python3 + pkgs.nix + pkgs.git + ]; }; } diff --git a/main-blx.bib b/main-blx.bib index 3134c23..286c489 100644 --- a/main-blx.bib +++ b/main-blx.bib @@ -7,5 +7,5 @@ % required. @Control{biblatex-control, - options = {3.10:0:0:1:0:1:1:0:0:1:0:2:3:1:3:1:0:0:3:1:79:+:+:nyt}, + options = {3.10:0:0:1:0:1:1:0:0:0:0:1:3:1:3:1:0:0:3:1:79:+:+:nty}, } diff --git a/main.tex b/main.tex index 4e9ea66..bc00703 100644 --- a/main.tex +++ b/main.tex @@ -49,10 +49,11 @@ \usepackage[utf8]{inputenc} % Required for inputting international characters \usepackage[T1]{fontenc} % Output font encoding for international characters - +\usepackage{float} \usepackage{mathpazo} % Use the Palatino font by default \usepackage{svg} -\usepackage[backend=bibtex,style=authoryear,natbib=true]{biblatex} % +\usepackage{acronym} +\usepackage[backend=bibtex,style=numeric,natbib=true]{biblatex} % % Use the bibtex backend with the authoryear citation style (which % resembles APA) @@ -220,7 +221,7 @@ and Management}} % Your department's name and URL, this is used in 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 + This thesis 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 @@ -269,13 +270,19 @@ and Management}} % Your department's name and URL, this is used in % 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\\ +% \textbf{P2P} & \textbf{P}eer \textbf{T}o \textbf{P}eer\\ -\end{abbreviations} +% \end{abbreviations} + +\section*{Abbreviations} +\begin{acronym}[P2P] % [P2P] aligns entries to the longest label + \acro{P2P}{Peer to Peer} +\end{acronym} %---------------------------------------------------------------------------------------- % PHYSICAL CONSTANTS/OTHER DEFINITIONS diff --git a/master_citations.bib b/master_citations.bib index 4209cc2..1fb5d9c 100644 --- a/master_citations.bib +++ b/master_citations.bib @@ -108,75 +108,6 @@ {Attachment:/home/lhebendanz/Zotero/storage/W44Z4XEE/inet_ipv6_vpn.pdf:application/pdf}, } -@report{shukla_navigating_2019, - location = {Rochester, {NY}}, - title = {Navigating the Landscape of Programmable Networks: Looking - beyond the Regulatory Status Quo}, - url = {https://papers.ssrn.com/abstract=3427455}, - shorttitle = {Navigating the Landscape of Programmable Networks}, - abstract = {Digital transition processes are transforming - industries, economies, and societies. On the one hand, the number - of connected end-users and things is growing rapidly. On the other - hand, the range of applications is continuously evolving. As - applications like {IoT}, the Tactile Internet, or Immersive User - Interfaces gain traction, the demands for traffic delivery, - privacy, and security become highly diverse and complex. In meeting - these demands, programmable networks gain importance. They - introduce a new networking paradigm and provide an evolved spectrum - of capabilities. In this paper, we conduct a cross-disciplinary - study to navigate the landscape of programmable networks. We - provide a comprehensive overview of the evolution and the growing - complexity of this new networking paradigm and, based on a horizon - scanning approach, elucidate associated opportunities and - challenges. From this, we derive and discuss insights for the - design of appropriate policies and regulatory frameworks for the - future Internet.}, - number = {3427455}, - author = {Shukla, Apoorv and Stocker, Volker}, - urldate = {2024-09-23}, - date = {2019-07}, - langid = {english}, - doi = {10.2139/ssrn.3427455}, - keywords = {P4, Policy, Programmable Networks, Regulations, {SDN}}, - file = {PDF:/home/lhebendanz/Zotero/storage/B768VLZ3/Shukla and - Stocker - 2019 - Navigating the Landscape of Programmable Networks - Looking beyond the Regulatory Status Quo.pdf:application/pdf}, -} - -@report{moghaddam_decentralized_2015, - title = {A Decentralized Approach to Software-Defined Networks ({SDNs})}, - url = {http://arxiv.org/abs/1504.07933}, - abstract = {Redistribution of the intelligence and management in - the software defined networks ({SDNs}) is a potential approach to - address the bottlenecks of scalability and integrity of these - networks. We propose to revisit the routing concept based on the - notion of regions. Using basic and consistent definition of - regions, a region-based packet routing called {SmartRegion} Routing - is presented. The flexibility of regions in terms of naming and - addressing is then leveraged in the form of a region stack among - other features placed in the associated packet header. In this way, - most of complexity and dynamicity of a network is absorbed, and - therefore highly fast and simplified routing at the inter-region - level along with semi-autonomous intra-region routing will be - feasible. In addition, multipath planning can be naturally realized - at both inter and intra levels. A basic form of {SmartRegion} - routing mechanism is provided. Simplicity, scalability, and - manageability of the proposed approach would also bring future - potentials to reduce energy consumption and environmental footprint - associated to the {SDNs}. Finally, various applications, such as - enabling seamless broadband access, providing beyond {IP} - addressing mechanisms, and also address-equivalent naming - mechanisms, are considered and discussed.}, - institution = {{arXiv}}, - author = {Moghaddam, Reza Farrahi and Lemieux, Yves and Cheriet, Mohamed}, - urldate = {2024-09-23}, - date = {2015-04}, - doi = {10.48550/arXiv.1504.07933}, - keywords = {Computer Science - Networking and Internet Architecture}, - file = - {Attachment:/home/lhebendanz/Zotero/storage/SENCWZZ4/decent_sdn.pdf:application/pdf}, -} - @article{bakhshi_state_2017, title = {State of the Art and Recent Research Advances in Software Defined Networking}, @@ -288,27 +219,6 @@ under high churns a survey.pdf:application/pdf}, } -@article{dolstra_nix_nodate, - title = {Nix: A Safe and Policy-Free System for Software Deployment}, - abstract = {Existing systems for software deployment are neither - safe nor sufficiently flexible. Primary safety issues are the - inability to enforce reliable specification of component - dependencies, and the lack of support for multiple versions or - variants of a component. This renders deployment operations such as - upgrading or deleting components dangerous and unpredictable. A - deployment system must also be flexible (i.e., policy-free) enough - to support both centralised and local package management, and to - allow a variety of mechanisms for transferring components. In this - paper we present Nix, a deployment system that addresses these - issues through a simple technique of using cryptographic hashes to - compute unique paths for component instances.}, - author = {Dolstra, Eelco and de Jonge, Merijn and Visser, Eelco}, - langid = {english}, - file = {PDF:/home/lhebendanz/Zotero/storage/FVVZ628U/Dolstra et al. - - Nix A Safe and Policy-Free System for Software - Deployment.pdf:application/pdf}, -} - @inproceedings{guilloteau_painless_2022, location = {Heidelberg, Germany}, title = {Painless Transposition of Reproducible Distributed @@ -388,86 +298,6 @@ - 2010 - NixOS A Purely Functional Linux Distribution.pdf:application/pdf}, } -@inproceedings{zhang_towards_2023, - location = {Birmingham United Kingdom}, - title = {Towards Dynamic and Reliable Private Key Management for - Hierarchical Access Structure in Decentralized Storage}, - isbn = {9798400701245}, - url = {https://dl.acm.org/doi/10.1145/3583780.3615090}, - doi = {10.1145/3583780.3615090}, - abstract = {With the widespread development of decentralized - storage, it is increasingly popular for users to store their data - to the decentralized database systems for the well-understood - benefits of outsourced storage. To ensure the data privacy, systems - commonly require users to securely keep their private keys. Thus, - the secure storage of private keys is an important issue in these - systems. However, existing key-management schemes commonly rely on - a Trusted Third Party ({TTP}), which raises critical security - concerns such as the single point of failure and Distributed Denial - of Service ({DDoS}) attacks. In this paper, we propose {HasDPSS}, a - secure and efficient blockchain-based key-management scheme for - decentralized storage systems. It uses secret sharing, a - lightweight cryptographic technique, to build the decentralized - key-management scheme. Considering that the reliability of managing - participants has inherent heterogeneity, we introduce the - hierarchical access structure to achieve fine-grained key - management. Meanwhile, to adapt the node churn of decentralized key - management, {HasDPSS} enables a dynamic management committee to - provide reliable services with a proactive refresh mechanism while - protecting the integrity and security of private keys. In our - design, we use the dimension switch method of polynomials in the - evolving process to achieve the committee change of the - hierarchical access structure. The reliability of participants is - guaranteed by the customized commitment protocol and the immutable - property of the blockchain. We thoroughly analyze security - strengths and conduct extensive experiments to demonstrate the - practicality of our design.}, - eventtitle = {{CIKM} '23: The 32nd {ACM} International Conference - on Information and Knowledge Management}, - pages = {3371--3380}, - booktitle = {Proceedings of the 32nd {ACM} International Conference - on Information and Knowledge Management}, - publisher = {{ACM}}, - author = {Zhang, Yifang and Wang, Mingyue and Guo, Yu and Guo, Fangda}, - urldate = {2024-11-24}, - date = {2023-10-21}, - langid = {english}, - file = {PDF:/home/lhebendanz/Zotero/storage/WI8JTTIS/Zhang et al. - - 2023 - Towards Dynamic and Reliable Private Key Management for - Hierarchical Access Structure in Decentraliz.pdf:application/pdf}, -} - -@inproceedings{ryeng_robust_2008, - location = {New York, {NY}, {USA}}, - title = {Robust aggregation in peer-to-peer database systems}, - isbn = {978-1-60558-188-0}, - url = {https://doi.org/10.1145/1451940.1451946}, - doi = {10.1145/1451940.1451946}, - series = {{IDEAS} '08}, - abstract = {Peer-to-peer database systems (P2PDBs) aim at providing - database services with node autonomy, high availability and loose - coupling between participating nodes by building the {DBMS} on top - of a peer-to-peer network. A key feature of current peer-to-peer - systems is resilience to churn in the overlay network layer. A - major challenge in P2PDBs is to provide similar robustness in the - data and query processing layer. In this paper we in particular - describe how aggregation queries in P2PDBs can be handled in order - to reduce the impact of churn on accuracy of results. We perform a - formal study of data loss and accuracy of such queries, and - describe new approaches that increase the accuracy of aggregation - queries in P2PDBs under churn.}, - pages = {29--37}, - booktitle = {Proceedings of the 2008 international symposium on - Database engineering \& applications}, - publisher = {Association for Computing Machinery}, - author = {Ryeng, Norvald H. and Nørvåg, Kjetil}, - urldate = {2024-11-24}, - date = {2008-09-10}, - file = {PDF:/home/lhebendanz/Zotero/storage/3KC9AG7C/Ryeng and - Nørvåg - 2008 - Robust aggregation in peer-to-peer database - systems.pdf:application/pdf}, -} - @article{tatarinov_piazza_2003, title = {The Piazza peer data management project}, volume = {32}, @@ -566,5 +396,108 @@ keywords = {Databases, {IP} networks, Linux, Production, Servers, Software, Testing}, file = {IEEE Xplore Abstract - Record:/home/lhebendanz/Zotero/storage/LDFB982I/6607691.html:text/html}, + Record:/home/lhebendanz/Zotero/storage/LDFB982I/6607691.html:text/html;PDF:/home/lhebendanz/Zotero/storage/6VBUL8L5/Dolstra + et al. - 2013 - Charon Declarative provisioning and + deployment.pdf:application/pdf}, +} + +@article{laddad_keep_2022, + title = {Keep {CALM} and {CRDT} On}, + volume = {16}, + issn = {2150-8097}, + url = {https://doi.org/10.14778/3574245.3574268}, + doi = {10.14778/3574245.3574268}, + abstract = {Despite decades of research and practical experience, + developers have few tools for programming reliable distributed + applications without resorting to expensive coordination + techniques. Conflict-free replicated datatypes ({CRDTs}) are a + promising line of work that enable coordination-free replication + and offer certain eventual consistency guarantees in a relatively + simple object-oriented {API}. Yet {CRDT} guarantees extend only to + data updates; observations of {CRDT} state are unconstrained and + unsafe. We propose an agenda that embraces the simplicity of + {CRDTs}, but provides richer, more uniform guarantees. We extend + {CRDTs} with a query model that reasons about which queries are + safe without coordination by applying monotonicity results from the + {CALM} Theorem, and lay out a larger agenda for developing {CRDT} + data stores that let developers safely and efficiently interact + with replicated application state.}, + pages = {856--863}, + number = {4}, + journaltitle = {Proc. {VLDB} Endow.}, + author = {Laddad, Shadaj and Power, Conor and Milano, Mae and + Cheung, Alvin and Crooks, Natacha and Hellerstein, Joseph M.}, + urldate = {2024-11-24}, + date = {2022}, + file = {PDF:/home/lhebendanz/Zotero/storage/SEGUKMKS/Laddad et al. + - 2022 - Keep CALM and CRDT On.pdf:application/pdf}, +} + +@inproceedings{jeffery_amc_2023, + location = {New York, {NY}, {USA}}, + title = {{AMC}: Towards Trustworthy and Explorable {CRDT} + Applications with the Automerge Model Checker}, + isbn = {9798400700866}, + url = {https://dl.acm.org/doi/10.1145/3578358.3591326}, + doi = {10.1145/3578358.3591326}, + series = {{PaPoC} '23}, + shorttitle = {{AMC}}, + abstract = {Conflict-free Replicated Data Types ({CRDTs}) enable + local-first operations and asynchronous collaboration without the + need for always-on centralised services. {CRDTs} can have a high + overhead, so implementations need to be optimised, but this + optimisation can lead to bugs despite the use of test suites and + fuzzing. Furthermore, using {CRDTs} in applications is complex, + observing unexpected conflict resolution, issues synchronising + documents and difficulties implementing appropriate data models. + Automerge is a library, exposing a {JSON} {CRDT}, that sees users + having difficulties in modelling their problems, understanding + their edge cases and implementing applications correctly. We + introduce the Automerge Model Checker ({AMC}), empowering + application developers to check properties about their + implementations and explore them dynamically. {AMC} can check a + range of applications as well as being able to check properties + about the core of Automerge itself, helping to make more + trustworthy Automerge applications.{AMC} is available open-source + at github.com/jeffa5/automerge-model-checker.}, + pages = {44--50}, + booktitle = {Proceedings of the 10th Workshop on Principles and + Practice of Consistency for Distributed Data}, + publisher = {Association for Computing Machinery}, + author = {Jeffery, Andrew and Mortier, Richard}, + urldate = {2024-11-24}, + date = {2023}, + file = {Full Text + PDF:/home/lhebendanz/Zotero/storage/EEMPQUIR/Jeffery and Mortier - + 2023 - AMC Towards Trustworthy and Explorable CRDT Applications + with the Automerge Model Checker.pdf:application/pdf}, +} + +@inproceedings{dolstra_nix_2004, + location = {{USA}}, + title = {Nix: A Safe and Policy-Free System for Software Deployment}, + series = {{LISA} '04}, + shorttitle = {Nix}, + abstract = {Existing systems for software deployment are neither + safe nor sufficiently flexible. Primary safety issues are the + inability to enforce reliable specification of component + dependencies, and the lack of support for multiple versions or + variants of a component. This renders deployment operations such as + upgrading or deleting components dangerous and unpredictable. A + deployment system must also be flexible (i.e., policy-free) enough + to support both centralised and local package management, and to + allow a variety of mechanisms for transferring components. In this + paper we present Nix, a deployment system that addresses these + issues through a simple technique of using cryptographic hashes to + compute unique paths for component instances.}, + pages = {79--92}, + booktitle = {Proceedings of the 18th {USENIX} conference on System + administration}, + publisher = {{USENIX} Association}, + author = {Dolstra, Eelco and de Jonge, Merijn and Visser, Eelco}, + urldate = {2024-11-25}, + date = {2004-11-19}, + file = {PDF:/home/lhebendanz/Zotero/storage/FVVZ628U/Dolstra et al. + - Nix A Safe and Policy-Free System for Software + Deployment.pdf:application/pdf}, }