eprints (HSR Hochschule für Technik Rapperswil)
Not a member yet
    1196 research outputs found

    Graph properties of a telecommunication network

    No full text
    Objective: Every telecommunication network has a different topology. Additionally, the topology is often complex and unstructured. In the current telecommunications industry, graph properties are not broadly used for network capacity planning or network comparisons. The goal of this thesis is to create a system that conveys the structure of a graph in an understandable way. This is achieved through the visualization of a multitude of graph properties. Included explanations provide context and link to additional sources. Furthermore, it should be possible to obtain network topology data from the Jalapeño API Gateway, which is an ongoing project by the INS. Approach: The system is composed of three separate applications that interact with each other. The Data Collector is responsible for reading network topology data, be it from the Jalapeño API Gateway via gRPC or from an alternative source. The read data is persisted in a graph database. Calculations of the graph properties are triggered by requests to the API. These calculations are performed based on the graph that is kept in the graph database, the results are exposed via a REST API. The Frontend consumes data from the API and displays the various graph properties. In order to provide context, explanations are provided for each property. Conclusion: A system composed of multiple applications was created that allows network administrators to analyze a provided network based on graph properties. Additional features like querying for cut edges and vertices have also been implemented. The system is developed in a cloud-native way in order to achieve a high scalability and availability. It currently supports the import of network topology data from the Jalapeño API Gateway and files in the GEXF format. The system is designed in an extensible way so that other data sources can be added in the future. It also acts as a platform for future works in the area of network topology analysis

    Build-your-own-[grep, Redis] in Haskell

    No full text
    "How can one write a 'real' application in Haskell" is a common question by students after completing a functional programming course. Following the 'build-your-own-x' concept, we provide two partial, but fully working implementations of the grep and Redis applications in Haskell. The principle of algebra-driven design, also known as denotational design, is closely followed for these implementations. Both code bases are accompanied with detailed and reviewed explanations which serve as a tutorial for experienced software engineers and students alike. All code, along with the explanations are released open-source and, in addition, are used at OST as part of the functional programming lecture

    Neue Netzwerkarchitektur für Infrastrukturanlagen des EW Buchs

    No full text
    Der Bereich Infrastruktur des Elektrizitäts- und Wasserwerk der Stadt Buchs (EWB) betreibt zurzeit mehrere physisch komplett separierte Netzwerke, um ihre Kraftwerksanlagen, Trafostationen und verschiedenen weiteren Standorte und Dienste untereinander zu verbinden. Die physischen Leitungen sind teilweise stark veraltet und entsprechen keinem einheitlichen Standard. Gleichzeitig wurde vom EWB in den letzten Jahren der Neubau eines FTTx Glasfasernetzwerks in ganz Buchs vorangetrieben. Dieses Grossprojekt ist aktuell in der Abschlussphase. Auf Basis dieser neuen physikalischen Grundlage analysiert die vorliegende Arbeit mögliche Varianten eines neuen Netzwerkdesigns für die bestehenden Anwendungsfälle der Infrastruktur. Dabei wurde auch die potentielle Zusammenarbeit mit dem internen Provider ``Rii Seez Net'' geprüft, welcher bereits Nutzer des Glasfasernetzes ist. Dies wurde jedoch aus technischen und organisatorischen Gründen ausgeschlossen. Für folgende drei providerunabhängige Varianten wurde ein Designentwurf erstellt: - VLAN-basiert: Virtuelle Isolation der bestehenden mehreren Netzwerke auf einer physikalischen Grundlage - L2 over L3 Ansatz BGP EVPN (MPLS / VXLAN): Optimierung der grossen Layer 2 Netzwerke mittels Overlay auf einer gerouteten Layer 3 Basis - Cisco Software Defined Access: Zur Basis von Variante 2 zusätzliche Funktionalität im Bereich Automatisierung, Analyse und Sicherheit Unsere Analyse ergibt, dass besonders mit Augenmerk auf Funktionalität, Einfachheit im Betrieb und Sicherheit die Variante 3: Cisco Software Defined Access am besten abschneidet. Als offensichtlicher Nachteil dieser Variante den beiden anderen gegenüber können die höheren einmaligen und wiederkehrenden Kosten genannt werden. Variante 1: VLANs dagegen ist eine kostengünstige Alternative, welche aber viel weniger Funktionalität und Sicherheit bietet und somit wenig zukunftsorientiert ist. Variante 2: BGP EVPN bietet auch gewisse erweiterte Funktionalität, welche jedoch auf Kosten von hoher Betriebskomplexität erreicht wird. Aus diesen Gründen empfehlen wir, in einer Pilotphase vor Ort in Buchs mit Cisco Software Defined Access weiterzufahren, um das Zusammenspiel der Infrastrukturanlagen mit diesem Design zu testen. Der Aufbau eines Proof of Concept der Variante 3 in Rapperswil und das ausgearbeitete Testkonzept bieten die Grundlage, damit die Pilotphase erfolgreich durchgeführt werden kann

    Visualtraining in der digitalen Transformation

    No full text
    Das Sehzentrum Zürich bietet an seinen drei Standorten Dienstleistungen für die ganzheitliche Gesundheit der Augen an. Dazu gehören unter anderem das Ausmessen und Korrigieren von Brillen und Linsen. Mit schweizweitem Ansehen haben sie sich primär auf das Visualtraining spezialisiert. Dabei trainieren die Optometristinnen mit spezifisch zusammengestellten Übungen ihre Patienten. Ausgerichtet nach dem Vorgehensmodell Goal-Directed-Design (GDD) [Goodwin 2009] werden mit passenden Methoden, unter anderem Interviews und Contextual Inquries, die Anforderungen und Bedürfnisse der Benutzenden erhoben. Bei den Beobachtungen zeigte sich, dass eine standortübergreifende Möglichkeit zur Erstellung und Dokumentation von Trainingseinheiten mit den Patienten fehlt. Das Projektteam erarbeitete gemeinsam mit den Optometristinnen eine User-Journey-Map und ana- lysierte dabei den bestehenden Prozess des Visualtrainings. Damit entsteht ein wichtiges Werkzeug für das spätere Lösungsdesign. Mittels detailliert ausgearbeiteten Personas wird ein Verständnis für die Anwendenden geschaffen, welches innerhalb des iterativen Projektverlaufs zunehmend geschärft wird. Es kristallisieren sich zwei primäre und eine sekundäre Persona heraus. In einem Stakeholder-Workshop wird entschieden, dass die Persona «Olivia Optik» mit Blick auf die Geschäftsstrategie am wichtigsten ist. Anhand der gesammelten Anforderungen werden laufend Annahmen formuliert und auf einer Annahmen-Map nach Collaborative UX Design [Steimle und Wallach 2018] eingeordnet. Mit den Stakeholdern werden diese in einem weiteren Workshop validiert. Diese validierten Anforderungen werden schliesslich in einer User-Story-Map visualisiert und für eine erste Lösungsiteration priorisiert. Mit der Phase Framework Design nach GDD [Goodwin 2009] startet das Projektteam mit dem Lösungsdesign. Es werden Keypath-Szenarien erarbeitet und daraus funktionelle Elemente abgeleitet. Diese werden schliesslich in den Wireframes platziert und angeordnet. Mittels zwei kurzer User-Tests werden die grundlegenden Elemente in einer frühen Phase validiert, die in die nächste Design-Iteration einfliessen. Auf der Basis der getesteten Wireframes pflegt das Projektteam die neuen Erkenntnisse mit der Applikation Figma in einen klickbaren Prototyp ein. Dabei entsteht ein interaktives Benutzerinterface, welches den zentralen Funktionsumfang, vom Erfassen einer einzelnen Übung bis zur Erstellung kompletter Trainingspläne, umfasst. Das Ergebnis wird durch fünf Userstests mit den Mitarbeitenden des Sehzentrums Zürich überprüft, vom Projektteam bewertet und weitere Erkenntnisse daraus gezogen. Anhand weiterer Methoden wie Design-Studio und einem Expert-Review wird der klickbare Prototyp optimiert, wobei weitere iterative Tests sicherstellen, dass die benutzerzentrierte Lösungsentwicklung im Fokus steht. Dem Projektteam ist es mit dieser Masterthesis gelungen, einen bedürfnisspezifischen Vorschlag einer benutzer- zentrierten Lösung zu erarbeiten. Die positiven Rückmeldungen der Auftraggeberin mit der Aussicht, die Applikation nach einer detaillierten Spezifikationsphase umsetzen zu lassen, sprechen für den Projekterfolg

    Optimierung der Präventionsplattform von ZURZACH Care

    No full text
    Diese Masterarbeit schliesst das Studium zum Master of Advanced Studies in Human Computer Interaction Design ab und befasst sich mit der Frage: Wie lässt sich die User Experience strukturell, funktional und visuell verbessern, damit die Abbruchrate reduziert und eine höhere Conversion bei der Buchung von Angeboten der ZURZACH Care erzielt wird? In der Pilot-Kampagne wurde an mehreren neuralgischen Stellen eine hohe Absprungrate gemessen, in der Folge kam es zu weniger Buchungen der Angebote und die Conversion Rate der Pilot-Anwendung lag hinter den Erwartungen. Der ZURZACH Care wird durch eine Neukonzipierung der Präventionsplattform aufgezeigt, wie sie die Attraktivität und Sichtbarkeit der Corporate-Health Angebote mit einer nutzerzentrierten User Experience verbessern können. Diese Masterarbeit orientiert sich am 5S-Modell von Jesse James Garrett und es werden im Verlauf des Projekts weitere Methoden und Techniken angewandt. Die Erforschung der Ursache geschieht durch eine qualitative Analyse der Ist-Situation auf der Basis bestehender Daten aus der ZURZACH Care Prävention-Kampagne sowie durch verschiedene Methoden wie Walkthroughs und einem Expert Review der Pilot-App. Der Fokus liegt auf der Identifikation der Schwachstellen und Hürden. Die Lösungsansätze stützen sich auf den Hypothesen, welche sich aus der Forschungsfrage ableiten. Die Ergebnisse aus der Research-Phase werden zu Problem Statements umformuliert. Daraus ergeben sich Anforderungen und Features, die wiederum den Scope bilden. Durch Ideation werden potenzielle Lösungen generiert und mithilfe einer Informationsarchitektur und konzipierten Wireflows die Struktur festgelegt. Die darauf erstellten Wireframes werden zu einem klickbaren Prototyp zusammengefügt, mit Nutzerinnen und Nutzern validiert und im Anschluss zu einem Visual-Design umgewandelt. Als Resultat liegt ein validierter Mid-Fidelity Wireframe-Prototyp und ein finales Screendesign vor, welche eine deutliche Verbesserung hinsichtlich der Features und der User Experience bietet. Die vorliegenden Erkenntnisse aus der Research sowie die finalen Ergebnisse sollen der Auftraggeberin als Anregung und Inspiration dienen

    FlatFeeStack Go-Live

    No full text
    The FlatFeeStack platform offers a convenient and transparent way for individuals and companies to show their support for open-source projects. It operates on a simple model where users pay a fixed fee of $125 annually. Through FlatFeeStack, contributors to open-source projects receive funds based on their contribution level, measured by analyzing Git commits. Payments can be made using credit cards, and the platform supports payouts using cryptocurrencies. The platform has been in development for several years now. The platform is primarily feature-complete, so it should be opened to the public. A platform-as-a-provider was evaluated as part of the thesis, and a continuous deployment strategy leveraging GitHub Actions was implemented. The platform uses Prometheus and Grafana for monitoring, which allows to observe both infrastructure and application-relevant metrics. The existing decentralized autonomous organization (DAO) is now accompanied by a forum where members can discuss proposals before they are written onto the blockchain. A complete overview of all the functionality was created, and bugs were fixed that were discovered during the creation of this overview. On June 2nd, the platform was silently launched, and initial contributions to open-source projects were distributed on the same day

    LTB Operator

    No full text
    Lab Topology Builder (LTB) is an application developed by the Institute for Network and Security for research and teaching purposes. It allows the creation of emulated network topologies, comprised of interconnected nodes, such as servers, switches, routers, etc. LTB serves as a vital tool in various courses at the OST, enabling students to gain hands-on experience and understanding of cloud computing, networking, and security concepts. Currently, LTB relies on a ReactJS frontend and a Django Python backend, utilizing KVM/Docker for lab deployment. However, due to accumulated technical debt and the lack of documentation, maintaining the application has become increasingly challenging. The primary goal of this project is to create an LTB-inspired Kubernetes operator - short LTB Operator, which simplifies the deployment and management of LTB labs. Furthermore, the labs should run completely inside a Kubernetes cluster, which enables effortless scaling, orchestration and monitoring. This is possible by leveraging the capabilities of Kubernetes including automation, dynamic resource allocation, and seamless integration with a wide range of tools. The LTB Operator is implemented using the Go-based Operator-SDK framework, that provides a set of tools and libraries for building Kubernetes operators. This allows for a streamlined development process and integration with the Kubernetes API. The deployment of VMs in Kubernetes is provided by the KubeVirt project, which extends Kubernetes with virtualization capabilities. KubeVirt allows the deployment and management of KVM based VMs as Kubernetes resources, accessible via the Kubernetes API. The LTB Operator has the ability to deploy labs consisting of pods (containers) and KubeVirt VMs defined using a YAML file. Lab templates, lab instances, and node types are utilized as custom resources (CRs) to define the lab topology, configuration, and available node options. A simple Layer 3 network between the nodes is implemented using Multus-CNI. In addition to that, out-of-band management access to the lab nodes is provided using a web-based terminal and a freely configurable port. The lab's status and remote access details can be obtained via a command-line interface (kubectl). Even though access control is not implemented in this project, the current implementation lays the groundwork for future development, such as defining basic RBAC policies, by deploying labs within their own namespace. In conclusion, the LTB Operator offers users a streamlined approach to deploy and effectively manage network emulation labs within a Kubernetes cluster. This integration bridges the gap between network emulation and container orchestration, enhancing the flexibility and scalability of lab environments for research and teaching purposes

    CuSharp - A GPU Compute Framework for .NET

    No full text
    The number of computationally intensive applications is growing. For many easily parallelizable problems, GPUs offer better performance than CPUs. As a result, GPUs are now used not only for graphical applications, but also for machine learning and cryptography. GPU-accelerated programs have traditionally been written in C, C++ for high-performance applications such as physics simulations and graphical applications and more recently in Python to optimize machine learning algorithms. Most GPU-APIs, including Nvidia CUDA, restrict their developers to using C, C++ or Python to write programs targeting those APIs. In this thesis a framework called CuSharp has been developed that allows developers to build and run GPU-executable kernels directly in C#. This is achieved by using existing toolchains complemented by a specifically developed cross-compiler. In a first step, the Roslyn compiler is used to compile the C# kernel to Microsoft Intermediate Language (MSIL). Subsequently, the CuSharp compiler cross-compiles MSIL to NVVM IR, which is a low-level but platform-independent intermediate representation. Finally, NVVM IR is translated to PTX ISA, an assembly-like language for Nvidia GPUs, using the NVVM compiler library (libNVVM). By further encapsulating all device-specific compiler settings, we allow future development efforts to add support for devices other than those manufactured by Nvidia. CuSharp supports the compilation of static methods, written in a specific C# subset, either just-in-time or ahead-of-time. The resulting PTX ISA kernels’ performance was benchmarked and compared to kernels compiled by the Nvidia CUDA Compiler (NVCC). For a kernel that computes matrix multiplications, a performance slowdown between 1.4% and 4.8% was measured for CuSharp-compiled kernels compared to NVCC-compiled kernels. The measurements refer to the execution time of the kernel on the graphics card, excluding the compilation process and the data transfers. This thesis shows the challenges of interfacing with the LLVM compiler infrastructure and the Nvidia CUDA API. In addition, it provides an overview of the complex landscape of APIs that can be used to interface with GPU devices in general, by comparing their toolchains and languages. Furthermore, it demonstrates that GPU kernels can be written in a high-level language such as C#, which is widely used in the industry, while suffering only minor performance degradation

    3D-Visualization of Utility Lines in the Browser Using Augmented Reality on Tablets

    No full text
    Locating underground utility lines such as water tubes or gas pipes is a complex task due to the fact that they are mostly hidden. The aim of this project is to create a solution which represents an innovative, cost-effective alternative to current solutions. Current solutions are dependent on expensive hardware and native applications. This thesis introduces a web-based augmented reality (AR) application for visualizing under- ground utility lines on Android tablets. Thereby, addressing the challenge of locating such lines. It utilizes WebXR and WebGL to integrate Building Information Modeling (BIM) data, specifically Industry Foundation Classes (IFC), into a 3D web environment. This process involves converting IFC data for compatibility with WebGL, using Blender with the BlenderBIM add-on. The appli- cation’s frontend was developed using Vue.js with Typescript, and the backend with Python Flask. Besides the already mentioned technologies, the application utilizes PostgreSQL, Post- GIS, Three.js, Turf.js and Vuetify. A key aspect of this project was the application’s ability to approximate the positioning of utility lines. Using the device’s geolocation and the lines’ coordinates, the relative distance is calcu- lated and applied in the virtual space. Additionally, the virtual space has to be aligned with the real world, which is achieved by rotating the virtual coordinate system based on the device’s compass. This thesis identifies a challenge in aligning the virtual and real-world coordinate sys- tems, due to the compass inaccuracy on mobile devices. These compass inaccuracies lead to a wrongly rotated virtual coordinate system and therefore imprecise placement of the utility lines

    Buchungs-App für einen Reiseanbieter

    No full text
    Einleitung: Das Bedürfnis nach Erlebnissen in der Natur ist für viele eine Möglichkeit die persönliche Freiheit zu entfalten. Viele Vanlifer würden gerne in ihren Camper einsteigen, unbeschwert drauflosfahren und spontan irgendwo Übernachten. Da Wildcampen vielfach verboten ist und sich die Suche nach einem Stellplatz oft schwierig gestaltet, tritt häufig bereits vor dem Reisestart der erste Frust auf. Die Vanlife Travel GmbH hat sich zum Ziel gesetzt, das Planen eines Campingausflugs einfacher zu machen. Dafür soll eine Webapplikation erstellt werden, welche Anbieter und Kunden zusammenbringt und den Kunden während der ganzen Reise begleitet. Aufgrund des Umfangs der Studienarbeit arbeiten zwei Teams daran, die Arbeit wurde in Frontend und Backend aufgeteilt. Diese Arbeit umfasst den gesamten Backend-Teil des Systems. Ergebnis: Das Backend sollte für viele Benutzeranfragen ausgelegt sein, da der Kunde plant, den gesamten europäischen Mark zu bedienen. Deshalb fiel der Architekturentscheid im Backend zugunsten einer Microservice-Architektur aus, mit dem Ziel die einzelnen Services möglichst unabhängig voneinander zu gestalten und nach Bedarf mehrere Instanzen starten zu können. Die Microservices werden dazu nach Geschäftsbereichen aufgeteilt und durch unterstützende Services ergänzt, dadurch kann die Entwicklung auch auf mehrere Entwicklerteams aufgeteilt werden, welche nur geringe Abhängigkeiten voneinander haben. Für das Frontend soll dabei nicht ersichtlich sein, welche Microservices im Backend aufgerufen werden. Weiter soll durch die Architektur keine merkbare Verzögerung zwischen Request und Response auftreten. Um diesen Anforderungen gerecht zu werden, wurde auf das gRPC Framework gesetzt, da dessen Nachrichten schlank sind und effizient übertragen werden. gRPC hat zudem den Vorteil, dass es technologisch Unabhängig ist. Alle Microservices wurden in Java unter Verwendung des Spring Boot Frameworks implementiert. Für die Automatisierung des Build-Prozesses wird Gradle mit Kotlin DSL eingesetzt. Als Datenbank wurde PostgreSQL und für die Persistenz JPA verwendet. Die Datenbanken werden dabei mithilfe von Docker Compose automatisiert erstellt und beim Start der Applikation wird automatisch eine Datenbankmigration mit Flyway durchgeführt, das garantiert die Kompatibilität zwischen Applikationen und Datenbank. Für das Login wurde auf OAuth 2.0 gesetzt, um dem User grösstmögliche Sicherheit und einen einfachen Login-Prozess zu bieten. Als Standard für die Beschreibung des HTTP API wird OpenAPI verwendet. Fazit: Aufgrund der umfangreichen Anforderungen wurden die wesentlichen Anforderungen identifiziert und implementiert, wodurch die technische Machbarkeit nachgewiesen werden konnte. Dank der Microservice-Architektur ist das System gut skalierbar und die Modularisierung ermöglicht es neue Anforderungen mit geringem Aufwand zu implementieren

    549

    full texts

    1,196

    metadata records
    Updated in last 30 days.
    eprints (HSR Hochschule für Technik Rapperswil)
    Access Repository Dashboard
    Do you manage Open Research Online? Become a CORE Member to access insider analytics, issue reports and manage access to outputs from your repository in the CORE Repository Dashboard! 👇