@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}, } @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}, } @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}, } @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{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}, } @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}, } @online{noauthor_isps_nodate, title = {{ISPs} - ethernodes.org - The Ethereum Network \& Node Explorer}, url = {https://ethernodes.org/networkType/Hosting}, urldate = {2024-12-02}, file = {ISPs - ethernodes.org - The Ethereum Network & Node Explorer:/home/lhebendanz/Zotero/storage/BH7E2FAL/Hosting.html:text/html}, }