Offloading is an advanced technique to improve the performance of mobile devices. In a mobile offloading system, richer functional applications are developed by migrating heavy computation from resource constrained thin clients like mobile devices to powerful cloud servers. Although today heavy computation can also be completed by most clients, it consumes much time and energy. Therefore, offloading heavy computation can sometimes effectively accelerate the processing speed and prolong battery lifetime for mobile devices. To guarantee the completion of such offloading tasks, strong connectivity between client and the server is essential. Generally, wireless networks are utilized to support the connectivity. However, a wireless network sometimes is not sufficiently qualified to provide a reliable communication between clients and servers. Task completion can be delayed by congestion or packet loss in the network, and execution continuity is always interrupted by network failures. In brief, the intermittent connectivity in wireless network constrains the advantage of offloading applications. To deal with this problem, restart is an efficient method that can reduce the task completion when the network quality is bad. In mobile offloading systems, besides retrying the same offloading task, jobs can be locally restarted and completed in the client device itself. Adaptively selecting the right option and automatically restarting at the appropriate moment can balance out undesired effects. While the mechanism of restart itself is very simple, deciding when to apply it is not easy at all. In this thesis, the optimal moment to launch restart is identified according to different metrics. For reaching a balance between energy consumption and throughput, the best restart time should be able to acquire a trade-off between the two aspects. Under unstable network qualities, the optimal moment is derived to minimize the expected task completion time. In addition, in order to reducing the burden of server, multiple clients should not launch restart at the same time.
Offloading ist eine fortschrittliche Technik um die Performance mobiler Endgeräte zu verbessern. In einem mobile offloading System werden funktional umfangreiche Applikationen durch Migration rechenintensiver Prozesse von ressourcentechnisch eingeschränkten Klienten, wie Mobilgeräten, auf leistungsstarke Server in der Cloud entwickelt. Auch wenn heute auch aufwendige Berechnungen auf Mobilgeräten durchgeführt werden können, kostet dies viel Zeit und Energie. Deshalb kann das Auslagern dieser Berechnungen manchmal effektiv die Ausführung auf Mobilgeräten beschleunigen und die Batterielebensdauer der Mobilger\"ate verl\"angern. Um das Beenden von offloading nutzenden Prozessen zu garantieren, ist eine sehr gute Verbindung zwischen Klient und Server erforderlich. \"Ublicherweise werden kabellose Netzwerke zur Bereitstellung der Verbindung genutzt. Ein kabelloses Netzwerk kann jedoch unter Umst\"anden nicht daf\"ur geeignet sein, eine zuverl\"assige Kommunikation zwischen Klient und Server zu bieten. Die Vollendung der Berechnungen kann durch \"Uberlastung oder Verlust von Paketen im Netzwerk verz\"ogert werden und die Ausf\"uhrung wird st\"andig durch Netzwerkfehler unterbrochen. Kurz, die instabile Verbindung in kabellosen Netzwerken schr\"ankt die Vorteile von Applikationen, die mobile offloading nutzen, ein. Das Neustarten der Berechnungen ist eine effektive Methode um dieses Problem anzugehen und kann die Ausführungszeit bei schlechter Verbindungsqualität verringern. In mobile offloading Systemen kann neben dem Versuch die selbe Berechnung erneut auszulagern auch die Berechnung auf dem Mobilgerät selbst neu gestartet und durchgeführt werden. Adaptiv die passende Option auszuwählen und das automatische Neustarten im richtigen Moment kann unerwünschte Effekte ausbalancieren. Während der Mechanismus des Neustartens an sich sehr einfach ist, ist die Entscheidungm, wann er angewandt werden soll ganz und gar nicht einfach. In dieser Arbeit wird der optimale Zeitpunkt zum Neustarten bez\"uglich unterschiedlicher Metriken identifiziert. Um ein Gleichgewicht zwischen Energieverbrauch und Durchsatz zu erreichen, sollte die beste Zeit zum Neustart einen Kompromiss zwischen diesen beiden Aspekten bieten. Unter stabiler Netzwerkqualit\"at wird der optimale Zeitpunkt durch die Minimierung der erwarteten Ausf\"uhrungszeit abgeleitet. Um die Belastung des Servers zu reduzieren, sollten zus\"atzlich nicht mehrere Klienten gleichzeitig ihre Berechnungen neu starten.