Design and Implementation of an Android Compatible Distributed Multi-Access Edge Computing Platform

Total Page:16

File Type:pdf, Size:1020Kb

Design and Implementation of an Android Compatible Distributed Multi-Access Edge Computing Platform DESIGN AND IMPLEMENTATION OF AN ANDROID COMPATIBLE DISTRIBUTED MULTI-ACCESS EDGE COMPUTING PLATFORM Alexei Belikov Mogilny Master’s Thesis presented to the Telecommunications Engineering School Master’s Degree in Telecommunications Engineering Supervisor Felipe Gil Castiñeira 2020 Abstract While mobile device performance continues to increase, they are still behind servers or desktop computers in terms of computational capacity, storage or memory. Broad availability of high-bandwidth wireless communications and computational resources allows mobile devices to leverage the features of cloud computing by using remote systems to perform the most complex operations. Nevertheless, there are different use cases where the time to provide results is critical, but the multi-access edge computing paradigm proposes to move the cloud resources closer to the user (for example, by installing a small data center near the cellular base station). This master thesis covers the design and implementation of a system capable of running Android applications in a cloud environment, and more particularly at the edge of the network, in order to reduce the latency between user interaction and results, and provides a brief analysis of the performance. Key words: Google Android, Virtualization, 5G, Multi-access edge computing iii Contents Abstract iii List of figures vii 1 Introduction1 1.1 Motivation....................................1 1.2 Objectives....................................2 2 State of the art3 2.1 Android internal architecture.........................3 2.1.1 Android graphics............................3 2.1.2 Input devices..............................5 2.2 Running Android on a PC...........................6 2.2.1 Anbox..................................7 2.2.2 Anbox Cloud..............................8 2.3 Related work..................................9 3 Android Edge Platform 11 3.1 Architecture overview............................. 11 3.2 Remote rendering................................ 12 3.3 Event injection................................. 13 4 Results 15 4.1 Prototype client................................. 15 4.2 Benchmarks................................... 15 4.3 Latency..................................... 17 5 Conclusions and future work 21 5.1 Future work................................... 22 Bibliography 24 v List of Figures 2.1 Render process diagram............................4 2.2 SurfaceFlinger managing layers for a display.................5 2.3 Android Input stack components.......................7 3.1 Android Edge Platform architecture...................... 11 3.2 Remote rendering architecture......................... 12 3.3 Event forwarding................................. 14 4.1 Prototype application.............................. 16 4.2 RealPi benchmark results............................ 16 4.3 Geekbench 5 results............................... 17 4.4 Latency measurements............................. 18 vii 1 Introduction 1.1 Motivation Wireless communications have been increasing in capacity and reliability at a steady pace for years and it is expected that the arrival of 5G will be the next step forward. One of the core ideas of this next generation of communications is the multi-access edge computing (MEC) paradigm: to bring the compute, storage and networking resources closer to the users [1]. 5G networks offer flexibility for accommodating different applications with varied quality- of-service profiles. This flexibility stems from a new architecture based on the virtualization of most of the components of the network. This allows increased efficiency in distributing the resources to optimise the throughput taking into account the requirements of the data [2]. Furthermore, cloud computing has great success because it offers on-demand resources with reliability and cost savings, for example in terms of maintenance. Many applications developed nowadays leverage the cloud capacity to perform tasks that are not practical to be executed locally (because of the lack of resources in terms of computing power, memory, storage, etc.). However, there are few large cloud providers and their data centres are located in a few select locations. This is a limiting factor for certain low latency applications. Nevertheless, 5G networks plan to include distributed clouds in locations near the users. This is the edge computing paradigm, which aims to provide most of the advantages of the cloud with the pros of physical proximity of the hardware to the users. Apart from that, it has other advantages such as a reduction of the back-haul transmissions as the data has to travel across less networks [3]. New use cases for high mobility devices such as smartwatches, glasses, and phones are getting traction. Among those it is worth mentioning AR/VR applications used in industrial scenarios and in gaming [4]. Such applications have strong computing 1 Chapter 1. Introduction requirements to generate images in real time. Even though mobile devices have increased in performance in the last years they’re still behind more stationary equipment such as desktops and servers where power limits are less of a concern [5]. These new uses call for a shift in the usual client-server style of programming previously used to offload computationally heavy tasks such as speech analysis or image recognition. A new concept of offloading is being developed where even the user interface is executed in the remote server, and the local device is just used for displaying the rendered user interface and to capture interaction. This approach requires low latency, so that users don’t perceive any lag between their interaction and the results displayed on the screen. By using edge computing locations, it is possible to achieve this objective. In this thesis, we propose to offload the computing of Android applications by directly executing them in cloud or edge locations, and using the phone just for showing the rendered interface and capturing the user interaction. Most cloud servers use Intel or AMD processors with the x86-64 architecture, thus to achieve this objective we take advantage of the possibility to execute Android in different architectures, ranging from ARM smartphones to the mentioned x86-64 servers. 1.2 Objectives The main objective of this thesis is the development of an architecture for the virtualization of Android applications in a cloud/edge environment and the remote execution from a simple Android smartphone. This architecture will be validated with a “Proof of Concept” implementation. This work will lay the foundations for a platform that will be able to allow applications to be typically executed in a smartphone or a wearable, but transparently migrated to a cloud platform when the requirements increase (for example, when the application requires hardware acceleration, more memory or CPU power). Thus, in this thesis we develop a system that will enable Android smart devices, such as phones or smart glasses, to allow users to interact with a applications that are really running at the edge. To build this solution we used an open source project, Anbox, as the basis to run Android applications at the cloud. 2 2 State of the art This project uses functions and ideas from existing software and proposes modifications to explore a new use of those technologies to build an architecture for the remote execution of Android applications. For a better understanding of the solution it is important to establish a common ground and know the limitations and possibilities of this components as well as to mention alternatives that partially had influence in the design of the architecture. 2.1 Android internal architecture Android is an operating system running a kernel based on Linux, that was adapted to run on mobile devices, initially phones and later other hardware such as watches or TVs. This project uses this OS because of its widespread adoption and its open nature making it possible to implement modifications at the operating system level. To achieve the goals of this project some key components of Android have been modified. In order to capture the application output a section of the rendering process has been altered. To forward the interaction from the client to the service, some changes were needed in parts of the input stack. The sections that follow provide a brief overview of how the graphics and input stacks work on an Android device to understand where the capture and injection occurs. 2.1.1 Android graphics The way that Android handles the user interface has evolved throughout the different versions of the operating system. These changes introduced performance enhancements in forms of render flow optimisations, hardware acceleration from the GPU to draw using low level APIs or the composition of the elements coming from different sources using 3 Chapter 2. State of the art hardware acceleration [6]. This section describes how UI elements are generated on a modern Android version. The process of generating output on a display starts at the choreographer that periodically generates VSync events. At this point in the UI (user interface) thread, the input events get processed. This might trigger some changes at the UI such as starting animations, changing dimensions, etc. [7]. The components that have changed in the content hierarchy are marked as “dirty” in a process called invalidation. This goes through all the containers and other elements that are implicated (for example the entire list when one item of it is pressed). This later triggers a traversal code that
Recommended publications
  • Android in the Cloud on Arm Native Servers
    Android in the cloud on Arm native servers December 2020 Executive summary All the chatter about Arm servers and the role of Android in the cloud in recent years generates questions about what these things could mean for a largely mobile based platform like Arm/Android. This whitepaper examines the practical and commercial use cases that are driving a new paradigm linking the primary mobile and embedded computing platform in the world today with its new cousin in cloud infrastructure: Arm servers + virtualisation + native Android execution. While detailing the use cases driving a mobile platform migration to cloud infrastructure, this whitepaper also showcases the solution that Ampere, Canonical, and NETINT Technologies have partnered to produce addressing this migration. The solution is an example of how a service provider or developer can take advantage of Arm native computing in a cloud context to bring together an ecosystem of over 3 million primarily mobile apps integrated with benefits from a cloud enabled infrastructure. A case study around cloud gaming fills in the practical real-world considerations of this new paradigm. Cloud gaming really showcases the advantages of all the solution components the partners have integrated to make a scalable, efficient cloud resource available to a new class of cloud-native applications catering to the billions of users with Arm based devices worldwide. The whitepaper concludes with thoughts and predictions about the evolution of this new paradigm as hardware and software components mature in the coming years. A new paradigm The Arm architecture has dominated the mobile processor market with its unrivaled ability to maximise power-efficiency.
    [Show full text]
  • Lightest Android Emulator for Linux
    Lightest android emulator for linux Continue More than 2.5 billion devices run Android, so it's clear that companies are more focused on creating Android apps. But what if you have a low-powered device but still want to use high-quality software? Would you buy an expensive phone or go for an Android emulator that is free to use? Well, if you don't know about the Android emulator, let me briefly explain that this is a software application that acts like a real Android device. You can install it on your desktop to run Android apps. The best part is that you don't even have to buy additional hardware components for it. So, are you interested to know that all the paid and free Android emulators that you can use? Okay, then. Here we bring a compiled list of the top 5 Android emulators for Linux operating systems. If you want an Android emulator for other platforms, you can read our article about the best Android emulators for Windows PC and Mac.5 the best Android Emulators for Linux (2020)Android-x86AVD (Android Virtual Device)GenymotionBliss OSAnbox1. Android-x86Price: FreeIf you want to run Android games or apps, Android-x86 is one of the best alternatives to other phone emulators. Instead of installing on top of a specific OS, it has a separate ISO to download as a standalone Android operating system. As the name suggests, Android-x86 is aimed at the x86 architecture. You can also run it without installing it with the Live CD option.
    [Show full text]
  • Android Open Source Project in Docker Containers in a Nutshell
    Android Open Source Project in Docker Containers in a Nutshell Khasim Syed Mohammed [email protected] AOSP on ARM servers Just like any other distribution Android Open Source Project (AOSP) can be run in & as single or multiple instances on ARM Servers : Two ways to do that AOSP on Virtual machines AOSP on Docker Containers Scope : Discuss AOSP on Docker Containers. Where do we begin Third : “Host machine” to/from “thin client” - Means: We need a UI renderer that streams the AOSP UI to thin clients and pass on user inputs to Host. Second : “Fit AOSP in container” and allow access to “host machine” - Means: We need a software interface block that interfaces peripherals on host machine to AOSP in container and vice versa. First : The software should runs on the device - “to make it run inside a container” - on the same device. - Means: We should port AOSP on the server platform First: Port AOSP to Server Platform - AOSP lunch doesn’t support the device. Hence add it. - If you have experience in AOSP bringup on new hardware this step is easy. - Just few folders and makefile entries, can follow any AOSP supported hardware like Hikey. - Kernel provided for server platform should have Android AOSP patches - AFAIK, if the kernel is current mainline then the required patches are all in there. - @mywork on 4.1 and 4.9 I had to back port few patches on SELinux, Alarm, etc. - The kernel configs should include SELinux, fb, Android Configs, etc. - Support for display, USB HID drivers - AOSP doesn’t boot without display.
    [Show full text]
  • Canonical Sings Praises for Platform Putting Android in the Cloud 23 January 2020, by Nancy Cohen
    Canonical sings praises for platform putting Android in the cloud 23 January 2020, by Nancy Cohen As TechCrunch's Lardinois put it, "On Anbox Cloud, Android becomes the guest operating system that runs containerized applications." Tuesday's announcement from Canonical said its platform enabled enterprises to distribute applications from the cloud, and enterprises and service providers to deliver mobile applications "at scale, more securely and independently of a device's capabilities." This would be a suitable way to present cloud gaming, enterprise workplace applications, Credit: Canonical software testing and mobile device virtualization. Stephan Fabel, director of product at Canonical, said, "Enterprises are now empowered to deliver high performance, high density computing to any Android is all up in the clouds, just where device remotely, with reduced power consumption Canonical thought it could be, in working up its and in an economical manner." service called Anbox Cloud, announced earlier this week. Meanwhile, TechCrunch noticed that "Outside of the enterprise, one of the use cases that Canonical The result: you can host Android apps in the cloud. seems to be focusing on is gaming and game The service will work on x86-based architectures streaming." and ARM-based architectures. Canonical was promoting the advantages of Anbox Canonical, the publisher of Ubuntu, the Linux Cloud for graphic and memory-intensive mobile distribution, is going after the business crowd with games. These can "be scaled to vast amounts of this introduction. Frederic Lardinois in TechCrunch: users while retaining the responsiveness and ultra- "Anbox runs the full Android system in a container, low latency demanded by gamers." Anbox Cloud which in turn allows you to run Android application could create "an on-demand experience" for on any Linux-based platform...it allows enterprises gamers.
    [Show full text]
  • Compilation and Installation Guide (Robox Container)
    Kunpeng BoostKit for ARM Native Compilation and Installation Guide (Robox Container) Issue 11 Date 2021-07-05 HUAWEI TECHNOLOGIES CO., LTD. Copyright © Huawei Technologies Co., Ltd. 2021. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means without prior written consent of Huawei Technologies Co., Ltd. Trademarks and Permissions and other Huawei trademarks are trademarks of Huawei Technologies Co., Ltd. All other trademarks and trade names mentioned in this document are the property of their respective holders. Notice The purchased products, services and features are stipulated by the contract made between Huawei and the customer. All or part of the products, services and features described in this document may not be within the purchase scope or the usage scope. Unless otherwise specified in the contract, all statements, information, and recommendations in this document are provided "AS IS" without warranties, guarantees or representations of any kind, either express or implied. The information in this document is subject to change without notice. Every effort has been made in the preparation of this document to ensure accuracy of the contents, but all statements, information, and recommendations in this document do not constitute a warranty of any kind, express or implied. Issue 11 (2021-07-05) Copyright © Huawei Technologies Co., Ltd. i Kunpeng BoostKit for ARM Native Compilation and Installation Guide (Robox Container) Contents Contents 1 Robox Android Container Security Description................................................................1
    [Show full text]
  • Ubports Documentation Marius Gripsgard
    UBports Documentation Marius Gripsgard 23 Eyl 2021 Hakkında 1 Başlangıç 3 2 Süreçler 5 3 Install Ubuntu Touch 11 4 Daily use 15 5 Advanced use 27 6 Contributing to UBports 35 7 Uyguluma geliştime 47 8 Human interface guidelines 89 9 System software development 125 10 Introduction 145 11 Building and booting 153 12 Configuring, testing and fixing 169 13 Finalizing the port 181 i ii UBports Documentation UBports projesinin resmi dökümanlarına hoş geldiniz! UBports cep telefonu işletim sistemi olan Ubuntu Touch’u geliştiriyor. Ubuntu Touch, kullanım kolaylığı, mahremiyet ve yakınsama üzerine odaklanmış bir mobil işletim sistemidir. On this website you find guides to install Ubuntu Touch on your mobile phone, use Ubuntu Touch, develop Ubuntu Touch apps, port Ubuntu Touch to an Android handset and learn more about system components. If this is your first time here, please consider reading our introduction. Bu belgelerin geliştirilmesine yardımcı olmak istiyorsanız, Dokümantasyon katkı sayfası iyi bir başlangıç olacaktır. Bu dokümanları aşağıdaki dillerde görüntüleyebilirsiniz: • English • Català • Français • Deutsch • Italiano • Română • • Türkçe • Español • Simplified Chinese Hakkında 1 UBports Documentation 2 Hakkında BÖLÜM 1 Başlangıç Our goal is to create a copylefted libre mobile operating system. One you can use, study, change and share; with all. 1.1 UBports Hakkında The project was founded by Marius Gripsgard in 2015 and in its infancy a place where developers could share ideas and educate each other in hopes of bringing the Ubuntu Touch platform to more mobile devices. After Canonical suddenly announced plans to terminate support for Ubuntu Touch in April of 2017, UBports and its sister projects began work on the source code; maintaining and expanding its possibilities for the future.
    [Show full text]
  • 2021 Year of the Linux Phone? by Aaron Grothe & Raul Ochoa
    2021 Year of the Linux Phone? By Aaron Grothe & Raul Ochoa August 03, 2021 2021 Year of the Linux Phone? A common joke amongst Linux people is that XXXX is the year of the Linux Desktop. So we’ve decided to lift that for our presentation. Options There are 3 major Linux phones currently available Pine Phone Purism Librem5 F(x)tec Pro1-X smartphone Aquarius BQ (discontinued) Ubuntu Touch can also run on a bunch of phones as well: Nexus, Oneplus, Meizu, Pixel 3a - check their website We both own Pine Phones as we’re poor :-( Quick Pine Phone overview There are two major versions of the Pinephone available Base version 2gb ram/16gb storage - $149 Convergence edition 3gb ram/32gb storage/usb-c hub - $199 They are now up to the Beta edition. They have had previous editions: Braveheart, bunch of community editions (UBports, PostmarketOS, Manjaro, KDE, Mobian) - my phone is from the Manjaro edition Used to be only be available in batches, can order now but you might be waiting a while :-( Quick Pine Phone overview Spare parts may be purchased You can upgrade your 2gb/16gb mainboard to a 3gb/32gb mainboard for $105.00 Replacement batteries are $10 LCD panel with touch screen is $35 Other pieces are available (back cover, usb-c side boards, etc..) Quick Pine Phone overview Can turn off hardware via DIP Switches - 6th switch converts headphone into UART serial port Hardware Switches (Quick Aside) If you ever see Snowden in an interview on his phone he will always be wearing his earphones.
    [Show full text]
  • Anbox - Android En Una Caja  November 1, 2019
    Reajustando el ODROID-XU4: Un Conjunto de Conocidas Modicaciones November 1, 2019 Este artículo es una traducción autorizada del artículo alemán " ODROID-XU4: Tweaks unter Ubuntu 18.04 und Kernel 4.14". Recreando un Mac Plus: Usando ODROID-GO como un Emulador Macintosh November 8, 2019 Para los fanáticos de Macintosh Plus, ¡ahora existe una forma de ejecutar un emulador en ODROID-GO! Basado en el trabajo de spritesmods.com minimacplus, este proyecto aprovecha el hecho de que tanto el proyecto original como el GO usan un microcontrolador ESP32. Módulos de Memoria eMMC: Una Simple Guía November 9, 2019 Alguna vez te has preguntado cómo usar todo el potencial del módulo eMMC en tu dispositivo ODROID, quizás hayas pensado que es demasiado complicado para ti. Puede resultar un poco espeluznante si eres nuevo en estos dispositivos. Además, ¿cómo usas uno? ¿Qué herramientas necesitas? Ogo Shell November 1, 2019 La utilidad ogo-shell es un explorador de archivos, reproductor de audio y visor de imágenes para ODROID-GO. Principalmente lo uso para escuchar música usando los auriculares odroig-go de backoceshow. Puede consultar el Proyecto Github y la publicación del foro si quieres probarlo. La siguiente es la historia de su desarrollo Escritorios Multipantalla con VNC November 1, 2019 Hace unos dos años tuve una idea algo descabellada: ¿Sería posible crear un sistema de escritorio de "doble pantalla" utilizando dos ODROID, cada uno con una pantalla diferente, pero que actuasen como un escritorio unicado? Monku R3: Desarrollando la Mejor Consola de Juegos ODROID- XU4/XU4Q - Parte 2 November 1, 2019 Este artículo te mostrará en detalle cómo pulir tu consola de videojuegos Monku Retro 3 (ODROID-XU4).
    [Show full text]
  • Ubports Documentation
    UBports Documentation Marius Gripsgard sept. 23, 2021 About 1 Introducere 3 2 Procese 5 3 Install Ubuntu Touch 11 4 Daily use 15 5 Advanced use 27 6 Contributing to UBports 35 7 App development 47 8 Human interface guidelines 89 9 System software development 125 10 Introduction 145 11 Building and booting 153 12 Configuring, testing and fixing 169 13 Finalizing the port 181 i ii UBports Documentation Welcome to the official documentation of the UBports project! UBports develops the mobile phone operating system Ubuntu Touch. Ubuntu Touch is a mobile operating system focused on ease of use, privacy, and convergence. On this website you find guides to install Ubuntu Touch on your mobile phone, use Ubuntu Touch, develop Ubuntu Touch apps, port Ubuntu Touch to an Android handset and learn more about system components. If this is your first time here, please consider reading our introduction. If you want to help improving this documentation, the Documentation contribute page will get you started. You may view this documentation in the following languages: • English • Català • Français • Deutsch • Italiano • Română • • Türkçe • Español • Simplified Chinese About 1 UBports Documentation 2 About CAPITOLUL 1 Introducere Our goal is to create a copylefted libre mobile operating system. One you can use, study, change and share; with all. 1.1 Despre UBports The project was founded by Marius Gripsgard in 2015 and in its infancy a place where developers could share ideas and educate each other in hopes of bringing the Ubuntu Touch platform to more mobile devices. After Canonical suddenly announced plans to terminate support for Ubuntu Touch in April of 2017, UBports and its sister projects began work on the source code; maintaining and expanding its possibilities for the future.
    [Show full text]
  • Yocto on the ODROID-C2: Using Yocto with Kernel 5.0  July 1, 2019
    GO Green with “Envi”: A Qwiic Environmental Combo Sensor for Your Beloved Game Machine July 1, 2019 A venerable sensor for providing ambient temperature and humidity is the integrated digital environmental sensor BME280 by Bosch Sensortec. Do It Yourself 6-bay Network Access Storage (NAS): Leveraging the Power of the ODROID-H2 July 1, 2019 How to build a 6-Bay NAS server with ODROID-H2. The G Spot: Your Go-to Destination for all Things Android Gaming July 1, 2019 The upcoming summer months could be very exciting for Android gamers. Google Stadia, E3, and some long-awaited, big-name game releases have all been penciled into my calendar. One of these major game releases is Elder Scrolls: Blades. I’ve been singing the praises of this title for the last couple of Kodi and Advanced Mame on ODROID-XU4 - Part 2 July 1, 2019 This is a continuation of a guide for setting up Kodi with Mame, which details how to install the joystick. Ideally, playing with MAME requires a nice joystick. Here are two examples of joystick I've built myself. It's a good exercise of woodwork, painting, designing and electronics and a fun Zoneminder - Part 2: Building the Package From Source on the ODROID-XU4 July 1, 2019 ZoneMinder is an integrated set of applications that provide a complete surveillance solution allowing capture, analysis, recording, and monitoring of any CCTV or security cameras. How to Build a Monku Retro Gaming Console - Part 2: Building The Case July 1, 2019 This is a continuation of the Retro Gaming Console article from last month, where we learned how to build the inside of a retro gaming console.
    [Show full text]
  • VCD21 Manjaro
    Manjaro A simple to use Operating System for Desktop and Mobile 2 Features X86_64 & ARM Aarch64 ➔ Simple ➔ Safe ➔ Reliable 3 What is Manjaro? History Manjaro Project History Manjaro ARM Started as a passion project 2016 Manjaro on ARM was by five ambitious guys back started. It got some in 2011, Manjaro has attention, but was stalled in evolved rapidly to establish 2017. It took one year to itself as one of the most reboot the project in 2018. popular and well-known Since 2019 we merged the Linux distributions available project into Manjaro and today. support it since fully. In September 2019 we founded our GmbH & Co. KG to have a legal entity for the project. 4 Some Team Members Philip Müller Bernhard Furkan Kardame Dan Johansen CEO / Project Lead Landauer ARM Developer Project Lead ARM Started the project COO / Community Lead Collaborates on ARM Works on ARM editions together with Roland, editions, tools and involved in our including tools and Guillaume, Wlad and infrastructure. development tools, infrastructure. Allesandro back in 2011 package maintaining and optimisation within our hardware projects 5 For whom is Manjaro? Users and Community New to Linux Advanced Commercial We aim to With our Our company keep the OS enhanced Wiki adjusts the OS simple and and Forums, as needed and easy to use as Experts find finds the possible. This the needed perfect match we achieve documents per use cases. with familiar fast. We also look and feel don’t restrict and lots of you on This includes graphical changing the development tools. settings. and support.
    [Show full text]
  • Undersökning Av Alternativ För Virtualisering Av Android På Sailfishos
    EXAMENSARBETE INOM TEKNIK, GRUNDNIVÅ, 15 HP STOCKHOLM, SVERIGE 2019 Undersökning av alternativ för virtualisering av Android på SailfishOS AMANDA NEE KTH SKOLAN FÖR ELEKTROTEKNIK OCH DATAVETENSKAP Abstract This report documents the result of an attempt to port the virtual android environment Anbox to the smart phone operating system SailfishOS. The purpose of the project is to see if such a solution can make SailfishOS and similar operating systems useful in a society that indirectly requires you to be able to run Android or iOS applications on your phone. The result of the project makes a number of short comings clear in the SailfishOs platform which hindered an actual attempt to evaluate the compatibility between Anbox and SailfishOS. 2 Sammanfattning Denna rapport redovisar resultatet från ett försök att portera den virtuella androidmiljön Anbox till det telefoninriktade operativsystemet SailfishOS. Detta görs för att uppskatta om en sådan lösning kan få SailfishOS och liknande operativsystem användbara i dagligt bruk i dagens samhälle som har ett indirekt krav på att man ska kunna köra Android eller iOS appar. Resultatet visar på begränsningar som SailfishOS-plattformen har idag vilket hindrade en ordentligt granskning av kompatibiliteten mellan Anbox och SailfishOS att genomföras. 2 Innehåll 1 Introduktion 5 1.1 Bakgrund ......................................... 5 1.2 Problem .......................................... 6 1.3 Syfte ............................................ 6 1.4 Mål ............................................ 6 1.5 Fördelar,
    [Show full text]