@article{kjorveziroski_full-mesh_2024, title = {Full-mesh {VPN} performance evaluation for a secure edge-cloud continuum}, volume = {54}, rights = {© 2024 The Authors. Software: Practice and Experience published by John Wiley \& Sons Ltd.}, issn = {1097-024X}, url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/spe.3329}, doi = {10.1002/spe.3329}, abstract = {The recent introduction of full-mesh virtual private network ({VPN}) solutions which offer near native performance, coupled with modern encryption algorithms and easy scalability as a result of a central control plane have a strong potential to enable the implementation of a seamless edge-cloud continuum. To test the performance of existing solutions in this domain, we present a framework consisted of both essential and optional features that full-mesh {VPN} solutions need to support before they can be used for interconnecting geographically dispersed compute nodes. We then apply this framework on existing offerings and select three {VPN} solutions for further tests: Headscale, Netbird, and {ZeroTier}. We evaluate their features in the context of establishing an underlay network on top of which a Kubernetes overlay network can be created. We test pod-to-pod {TCP} and {UDP} throughput as well as Kubernetes application programming interface ({API}) response times, in multiple scenarios, accounting for adverse network conditions such as packet loss or packet delay. Based on the obtained measurement results and through analysis of the underlying strengths and weaknesses of the individual implementations, we draw conclusions on the preferred {VPN} solution depending on the use-case at hand, striking a balance between usability and performance.}, pages = {1543--1564}, number = {8}, journaltitle = {Software: Practice and Experience}, author = {Kjorveziroski, Vojdan and Bernad, Cristina and Gilly, Katja and Filiposka, Sonja}, urldate = {2024-09-19}, date = {2024}, langid = {english}, keywords = {edge-cloud continuum, Kubernetes, orchestration, virtual private networks, Wireguard, {ZeroTier}}, file = {Attachment:/home/lhebendanz/Zotero/storage/BGJCY48V/Softw Pract Exp - 2024 - Kjorveziroski - Full‐mesh VPN performance evaluation for a secure edge‐cloud continuum.pdf:application/pdf}, } @inproceedings{hugerich_no-hop_2022, location = {New York, {NY}, {USA}}, title = {No-hop: In-network Distributed Hash Tables}, isbn = {978-1-4503-9168-9}, url = {https://doi.org/10.1145/3493425.3502757}, doi = {10.1145/3493425.3502757}, series = {{ANCS} '21}, shorttitle = {No-hop}, abstract = {We make a case for a distributed hash table lookup in the network data plane. We argue that the lookup time performance of distributed hash tables can be further improved via an in-network data plane implementation. To this end, we introduce No-hop, an in-network distributed hash table implementation, which leverages the data plane programmability at line rate gained from P4. Our initial results of transporting distributed hash table logic from hosts' user space to the fast path of switches in the network data plane are promising. We show that No-hop improves the performance of locating the responsible host and maintains the properties of distributed hash tables while outperforming two baselines.}, pages = {80--87}, booktitle = {Proceedings of the Symposium on Architectures for Networking and Communications Systems}, publisher = {Association for Computing Machinery}, author = {Hügerich, Lily and Shukla, Apoorv and Smaragdakis, Georgios}, urldate = {2024-09-23}, date = {2022-01}, file = {Attachment:/home/lhebendanz/Zotero/storage/WCI9PCTE/inet_nohop_decen_hashtable.pdf:application/pdf}, } @inproceedings{tiesel_multi-homed_2016, location = {New York, {NY}, {USA}}, title = {Multi-Homed on a Single Link: Using Multiple {IPv}6 Access Networks}, isbn = {978-1-4503-4443-2}, url = {https://doi.org/10.1145/2959424.2959434}, doi = {10.1145/2959424.2959434}, series = {{ANRW} '16}, shorttitle = {Multi-Homed on a Single Link}, abstract = {Small companies and branch offices often have bandwidth demands and redundancy needs that go beyond the commercially available Internet access products in their price range. One way to overcome this problem is to bundle existing Internet access products. In effect, they become multi-homed often without running {BGP} or even getting an {AS} number.Currently, these users rely on proprietary L4 load balancing routers, proprietary multi-channel {VPN} routers, or sometimes {LISP}, to bundle their "cheaper" Internet access network links, e.g., via (v){DSL}, {DOCSIS}, {HSDPA}, or {LTE}. While most products claim transport-layer transparency they add complexity via middleboxes, map each {TCP} connection to a single interface, and have limited application support. Thus, in this paper we propose an alternative: Auto-configuration of multiple {IPv}6 prefixes on a single L2 link. We discuss how this enables applications to take advantage of combining multiple access networks at with minimal system changes.}, pages = {16--18}, booktitle = {Proceedings of the 2016 Applied Networking Research Workshop}, publisher = {Association for Computing Machinery}, author = {Tiesel, Philipp S. and May, Bernd and Feldmann, Anja}, urldate = {2024-09-23}, date = {2016-07}, file = {Attachment:/home/lhebendanz/Zotero/storage/W44Z4XEE/inet_ipv6_vpn.pdf:application/pdf}, } @article{bakhshi_state_2017, title = {State of the Art and Recent Research Advances in Software Defined Networking}, volume = {2017}, rights = {Copyright © 2017 Taimur Bakhshi.}, issn = {1530-8677}, url = {https://onlinelibrary.wiley.com/doi/abs/10.1155/2017/7191647}, doi = {10.1155/2017/7191647}, abstract = {Emerging network services and subsequent growth in the networking infrastructure have gained tremendous momentum in recent years. Application performance requiring rapid real-time network provisioning, optimized traffic management, and virtualization of shared resources has induced the conceptualization and adoption of new networking models. Software defined networking ({SDN}), one of the predominant and relatively new networking paradigms, seeks to simplify network management by decoupling network control logic from the underlying hardware and introduces real-time network programmability enabling innovation. The present work reviews the state of the art in software defined networking providing a historical perspective on complementary technologies in network programmability and the inherent shortcomings which paved the way for {SDN}. The {SDN} architecture is discussed along with popular protocols, platforms, and existing simulation and debugging solutions. Furthermore, a detailed analysis is presented around recent {SDN} development and deployment avenues ranging from mobile communications and data centers to campus networks and residential environments. The review concludes by highlighting implementation challenges and subsequent research directions being pursued in academia and industry to address issues related to application performance, control plane scalability and design, security, and interdomain connectivity in the context of {SDN}.}, pages = {7191647}, number = {1}, journaltitle = {Wireless Communications and Mobile Computing}, author = {Bakhshi, Taimur}, urldate = {2024-09-23}, date = {2017}, langid = {english}, file = {Attachment:/home/lhebendanz/Zotero/storage/TXFJ8DJB/Wireless Communications and Mobile Computing - 2017 - Bakhshi - State of the Art and Recent Research Advances in Software.pdf:application/pdf}, } @article{han_distributed_2015, title = {Distributed hybrid P2P networking systems}, volume = {8}, issn = {1936-6450}, url = {https://doi.org/10.1007/s12083-014-0298-7}, doi = {10.1007/s12083-014-0298-7}, pages = {555--556}, number = {4}, journaltitle = {Peer-to-Peer Netw. Appl.}, author = {Han, Jungsoo}, urldate = {2024-11-19}, date = {2015-07-01}, langid = {english}, file = {Full Text PDF:/home/lhebendanz/Zotero/storage/XVFPW4CM/Han - 2015 - Distributed hybrid P2P networking systems.pdf:application/pdf}, } @online{noauthor_sci-hub_nodate, title = {Sci-Hub}, url = {https://sci-hub.usualwant.com/}, abstract = {Sci-Hub,{SciHub}: Contains the latest literature in 2024,world where everyone has free access to knowledge.}, urldate = {2024-11-19}, file = {Snapshot:/home/lhebendanz/Zotero/storage/Q6ZNWGBH/sci-hub.usualwant.com.html:text/html}, } @article{shukla_towards_2021, title = {Towards software defined low maintenance structured peer-to-peer overlays}, volume = {14}, issn = {1936-6442, 1936-6450}, url = {https://link.springer.com/10.1007/s12083-021-01112-7}, doi = {10.1007/s12083-021-01112-7}, pages = {1242--1260}, number = {3}, journaltitle = {Peer-to-Peer Netw. Appl.}, author = {Shukla, Nitin and Datta, Dipmalya and Pandey, Mayank and Srivastava, Shashank}, urldate = {2024-11-19}, date = {2021-05}, langid = {english}, file = {PDF:/home/lhebendanz/Zotero/storage/GTPSJRYK/Shukla et al. - 2021 - Towards software defined low maintenance structured peer-to-peer overlays.pdf:application/pdf}, } @article{naik_next_2020, title = {Next level peer-to-peer overlay networks under high churns: a survey}, volume = {13}, issn = {1936-6442, 1936-6450}, url = {http://link.springer.com/10.1007/s12083-019-00839-8}, doi = {10.1007/s12083-019-00839-8}, shorttitle = {Next level peer-to-peer overlay networks under high churns}, pages = {905--931}, number = {3}, journaltitle = {Peer-to-Peer Netw. Appl.}, author = {Naik, Ashika R. and Keshavamurthy, Bettahally N.}, urldate = {2024-11-19}, date = {2020-05}, langid = {english}, file = {PDF:/home/lhebendanz/Zotero/storage/PWMXVDES/Naik and Keshavamurthy - 2020 - Next level peer-to-peer overlay networks under high churns a survey.pdf:application/pdf}, } @inproceedings{guilloteau_painless_2022, location = {Heidelberg, Germany}, title = {Painless Transposition of Reproducible Distributed Environments with {NixOS} Compose}, rights = {https://doi.org/10.15223/policy-029}, isbn = {978-1-66549-856-2}, url = {https://ieeexplore.ieee.org/document/9912715/}, doi = {10.1109/CLUSTER51413.2022.00051}, abstract = {Development of environments for distributed systems is a tedious and time-consuming iterative process. The reproducibility of such environments is a crucial factor for rigorous scientific contributions. We think that being able to smoothly test environments both locally and on a target distributed platform makes development cycles faster and reduces the friction to adopt better experimental practices. To address this issue, this paper introduces the notion of environment transposition and implements it in {NixOS} Compose, a tool that generates reproducible distributed environments. It enables users to deploy their environments on virtualized (docker, {QEMU}) or physical (Grid’5000) platforms with the same unique description of the environment. We show that {NixOS} Compose enables to build reproducible environments without overhead by comparing it to state-of-the-art solutions for the generation of distributed environments ({EnOSlib} and Kameleon). {NixOS} Compose actually enables substantial performance improvements on image building time over Kameleon (up to 11x faster for initial builds and up to 19x faster when building a variation of an existing environment).}, eventtitle = {2022 {IEEE} International Conference on Cluster Computing ({CLUSTER})}, pages = {1--12}, booktitle = {2022 {IEEE} International Conference on Cluster Computing ({CLUSTER})}, publisher = {{IEEE}}, author = {Guilloteau, Quentin and Bleuzen, Jonathan and Poquet, Millian and Richard, Olivier}, urldate = {2024-11-24}, date = {2022-09}, langid = {english}, file = {PDF:/home/lhebendanz/Zotero/storage/SEEITEJA/Guilloteau et al. - 2022 - Painless Transposition of Reproducible Distributed Environments with NixOS Compose.pdf:application/pdf}, } @inproceedings{dolstra_nixos_2008, location = {New York, {NY}, {USA}}, title = {{NixOS}: a purely functional Linux distribution}, isbn = {978-1-59593-919-7}, url = {https://doi.org/10.1145/1411204.1411255}, doi = {10.1145/1411204.1411255}, series = {{ICFP} '08}, shorttitle = {{NixOS}}, abstract = {Existing package and system configuration management tools suffer from an imperative model, where system administration actions such as upgrading packages or changes to system configuration files are stateful: they destructively update the state of the system. This leads to many problems, such as the inability to roll back changes easily, to run multiple versions of a package side-by-side, to reproduce a configuration deterministically on another machine, or to reliably upgrade a system. In this paper we show that we can overcome these problems by moving to a purely functional system configuration model. This means that all static parts of a system (such as software packages, configuration files and system startup scripts) are built by pure functions and are immutable, stored in a way analogously to a heap in a purely function language. We have implemented this model in {NixOS}, a non-trivial Linux distribution that uses the Nix package manager to build the entire system configuration from a purely functional specification.}, pages = {367--378}, booktitle = {Proceedings of the 13th {ACM} {SIGPLAN} international conference on Functional programming}, publisher = {Association for Computing Machinery}, author = {Dolstra, Eelco and Löh, Andres}, urldate = {2024-11-24}, date = {2008-09-20}, file = {PDF:/home/lhebendanz/Zotero/storage/GGG3BB3V/Dolstra et al. - 2010 - NixOS A Purely Functional Linux Distribution.pdf:application/pdf}, } @article{tatarinov_piazza_2003, title = {The Piazza peer data management project}, volume = {32}, issn = {0163-5808}, url = {https://doi.org/10.1145/945721.945732}, doi = {10.1145/945721.945732}, abstract = {A major problem in today's information-driven world is that sharing heterogeneous, semantically rich data is incredibly difficult. Piazza is a peer data management system that enables sharing heterogeneous data in a distributed and scalable way. Piazza assumes the participants to be interested in sharing data, and willing to define pairwise mappings between their schemas. Then, users formulate queries over their preferred schema, and a query answering system expands recursively any mappings relevant to the query, retrieving data from other peers. In this paper, we provide a brief overview of the Piazza project including our work on developing mapping languages and query reformulation algorithms, assisting the users in defining mappings, indexing, and enforcing access control over shared data.}, pages = {47--52}, number = {3}, journaltitle = {{SIGMOD} Rec.}, author = {Tatarinov, Igor and Ives, Zachary and Madhavan, Jayant and Halevy, Alon and Suciu, Dan and Dalvi, Nilesh and Dong, Xin (Luna) and Kadiyska, Yana and Miklau, Gerome and Mork, Peter}, urldate = {2024-11-24}, date = {2003-09-01}, file = {PDF:/home/lhebendanz/Zotero/storage/MRK3XWJG/Tatarinov et al. - 2003 - The Piazza peer data management project.pdf:application/pdf}, } @article{van_der_burg_disnix_2014, title = {Disnix: A toolset for distributed deployment}, volume = {79}, issn = {0167-6423}, url = {https://www.sciencedirect.com/science/article/pii/S0167642312000639}, doi = {10.1016/j.scico.2012.03.006}, series = {Experimental Software and Toolkits ({EST} 4): A special issue of the Workshop on Academic Software Development Tools and Techniques ({WASDeTT}-3 2010)}, shorttitle = {Disnix}, abstract = {The process of deploying a distributed system in a network of machines is often very complex, laborious and time-consuming, while it is hard to guarantee that the system will work as expected and that specific non-functional deployment requirements from the domain are supported. In this paper we describe the Disnix toolset, which provides system administrators or developers with automatic deployment of a distributed system in a network of machines from declarative specifications and offers properties such as complete dependencies, atomic upgrades and rollbacks to make this process efficient and reliable. Disnix has an extensible architecture, allowing the integration of custom modules to make the deployment more convenient and suitable for the domain in which the system is to be used. Disnix has been under development for almost four years and has been applied to several types of distributed systems, including an industrial case study.}, pages = {52--69}, journaltitle = {Science of Computer Programming}, author = {van der Burg, Sander and Dolstra, Eelco}, urldate = {2024-11-24}, date = {2014-01-01}, keywords = {Distributed systems, Service-oriented systems, Software deployment}, file = {PDF:/home/lhebendanz/Zotero/storage/XSWZ95UU/van der Burg and Dolstra - 2014 - Disnix A toolset for distributed deployment.pdf:application/pdf;ScienceDirect Snapshot:/home/lhebendanz/Zotero/storage/VHPTLVMW/S0167642312000639.html:text/html}, } @inproceedings{dolstra_charon_2013, title = {Charon: Declarative provisioning and deployment}, url = {https://ieeexplore.ieee.org/abstract/document/6607691}, doi = {10.1109/RELENG.2013.6607691}, shorttitle = {Charon}, abstract = {We introduce Charon, a tool for automated provisioning and deployment of networks of machines from declarative specifications. Building upon {NixOS}, a Linux distribution with a purely functional configuration management model, Charon specifications completely describe the desired configuration of sets of “logical” machines, including all software packages and services that need to be present on those machines, as well as their desired “physical” characteristics. Given such specifications, Charon will provision cloud resources (such as Amazon {EC}2 instances) as required, build and deploy packages, and activate services. We argue why declarativity and integrated provisioning and configuration management are important properties, and describe our experience with Charon.}, eventtitle = {2013 1st International Workshop on Release Engineering ({RELENG})}, pages = {17--20}, booktitle = {2013 1st International Workshop on Release Engineering ({RELENG})}, author = {Dolstra, Eelco and Vermaas, Rob and Levy, Shea}, urldate = {2024-11-24}, date = {2013-05}, keywords = {Databases, {IP} networks, Linux, Production, Servers, Software, Testing}, file = {IEEE Xplore Abstract 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}, }