Besides lightweight Internet applications, there is an increasing demand from mobile users for computation-heavy and energy-hungry applications that are being deployed to mobile devices. Running complex applications on such devices is however challenging due to the strict constraints on their resources, e.g. limited computational capacity, battery lifetime and network connectivity. Offloading computation-intensive parts of mobile applications to a capable cloud server is an effective way to alleviate a tussle between resource- constrained mobile devices and resource-hungry mobile applications, and thus boosting the device’s performance. Offloading decisions may involve multiple factors such as resource and component availability, connectivity intermittence and network capacity. Potential benefits obtained from mobile cloud offloading include time and energy saving, which can be achieved by deciding what, where, how and when to offload correctly. Unlike previous works that only focus on some specific issues in the offloading process, our time- and energy-aware offloading decision process is based on multiple perspectives. For instance, what defines the name of the candidate tasks to be offloaded through application partitioning; where describes the type of surrogate and choosing the appropriate offloading target (e.g. local, cloudlet and cloud) in which the application has to be offloaded; how introduces offloading plans that enable the device to schedule offloading operations; when considers the offloading conditions and dynamic changes of context, since sometimes offloading may not be worthwhile at all. This work covers both the theoretical and practical sides of offloading decision making. Mathematical and queueing models are applied and evaluated by numerical simulations and real world experiments. Specifically, the contributions of this thesis can be summarized as follows: • Studying how to effectively and dynamically partition a given application into local and remote parts while keeping the total cost as small as possible. • Proposing static and dynamic methods based on multi- criteria decision making, in order to find out what resource is the most appropriate one for offloading. • Comparing different offloading operations of a mobile terminal equipped with multiple radio access technologies (e.g. 3G, LTE, Bluetooth, WLAN) and determining how to leverage the complementary strength of WLAN and cellular networks by choosing heterogeneous wireless interfaces for offloading. • Exploring the energy-delay tradeoffs for different types of applications (e.g. delay-tolerant and delay-sensitive applications) based on some combined metrics.
Neben leichtgewichtigen Internetanwendungen verwenden Besitzer mobiler Geräte immer stärker berechnungsintensive und energiehungrige Programme, die dafür nutzbar gemacht werden. Solche Anwendungen auf mobilen Geräten laufen zu lassen, erweist sich allerdings als schwierig, da sie in Bezug auf ihre Ressourcen stark limitiert sind: Sie verfügen über eine geringere Rechenleistung, eine begrenzte Akkulaufzeit und über eine schlechtere Netzanbindung. Um trotzdem komplexe Anwendungen auf mobilen Geräten laufen zu lassen, können deren berechnungsintensive Anteile auf einen performanten Cloud-Server ausgelagert werden (Computation Offloading). Dadurch können die Probleme durch ressourcenfordernde Anwendungen auf ressourcenbeschränkten mobilen Geräten drastisch gemildert und somit die Leistung dieser Geräte gesteigert werden. Offloading-Entscheidungen werden aufgrund diverser Faktoren getroffen: So werden unter anderem die Verfügbarkeit von Ressourcen und Komponenten, Verbindungsschwankungen und die Netzwerkauslastung berücksichtigt. Vorteile der Verwendung von Offloading sind reduzierte Anwendungslaufzeiten und ein geringerer Energieverbrauch des mobilen Gerätes. Um dies zu erreichen, werden korrekte Antworten für folgende Fragestellungen benötigt: Was wird was, wohin, wie und wann ausgelagert. Im Gegensatz zu vorherigen Arbeiten, die sich nur auf eine dieser Fragen des Offloading- Prozesses konzentriert haben, beruht unser Zeit und Strom berücksichtigender Offloading-Entscheidungsprozess auf mehreren dieser Aspekte. Was bestimmt mithilfe von Anwendungspartitionierung die auszulagernden Anwendungsteile; wohin beschreibt den Ort, wohin ein Anwendungsteil ausgelagert und ausgeführt wird (z.B.: mobiles Gerät, Cloudlet oder Cloud); wie erlaubt es dem mobilen Gerät, auszuführende Offloading-Operationen in ihrer Reihenfolge zu be- stimmen (Offloading-Pläne); wann berücksichtigt die kontinuierlichen Veränderungen der Umgebung, da Offloading sich unter bestimmten Bedingungen nicht lohnt. Diese Arbeit beschäftigt sich sowohl mit der theoretischen als auch mit der praktischen Seite der Offloading-Entscheidungsfindung. Zur Anwendung kommen mathematische Modelle und Warteschlangenmodelle, die durch numerische Simulationen und reale Experimente evaluiert werden. Genauer können die Beiträge dieser Arbeit wie folgt zusammengefasst werden: • Erforschung einer Methode, die eine gegebene Anwendung effektiv und dynamisch in lokal und remote berechnete Anteile partitioniert, während die totalen Kosten dabei so gering wie möglich bleiben. • Entwicklung statischer und dynamischer Methoden, die mithilfe von Multikriterien-Entscheidungsfindung diejenige Ressource bestimmen, die sich am besten für Offloading eignet. • Vergleich verschiedener Offloading-Operationen bei einem mobilen Gerät mit Zugriff auf mehrere Funk-Technologien (z.B.: 3G, LTE, Bluetooth, WLAN) und Ermittlung, wie die ergänzenden Stärken von WLAN und Mobilfunknetzen durch Nutzung heterogener FunkSchnittstellen für Offloading nutzbar gemacht werden können. •Untersuchung,inwiefern sich der Konflikt zwischen Energieeinsparung und Reduzierung Offloading-bedingter Verzögerung bei verschiedenen Anwendungsarten (z.B.: verzögerungstolerante und -sensitive Anwendungen) auswirkt. Dazu werden kombinierte Metriken verwendet.