Dissertation
MOCCAA - MObile Cloud Computing AdaptAble
Abstract
The primary objective of Mobile Cloud Computing (MCC) is the support of resource-constrained mobile devices by means of Cloud or nearby computing resources. In general, this is achieved by outsourcing or offloading computational intensive tasks of mobile applications. This allows, for instance, to virtually extend the processing power of mobile devices and, indirectly, to save battery life. In case remote resources are not available or the communication link is broken, still a local execution is possible.
The challenges and issues that arise in such a scenario are manifold. The essential ones, which are also addressed in this thesis, can be summarized with the following four questions. Which part of a mobile application should be offloaded to the Cloud to accelerate, for example, its execution or to relieve the mobile device with respect to the battery consumption? Therefore, those parts of an application have to be identified that have a high resource need, but whose offloading would only lead to a small communication overhead. The decision where to run which part of the application has to take into account the current latencies to the remote resources and the dynamics of their availability and usage. This requires a Resource Management System that is able to discover matching remote resources fast and efficiently without delaying the offloading procedure too much. Subsequently, we have to determine when or under which conditions which parts shall be offloaded. This decision-making requires a monitoring on client side and a prediction about the future resource consumption of the given application parts. The final question addresses the procedure of offloading itself and the applied communication protocol. It can be summarized with how to offload.
In the last few years, several approaches for MCC have been developed and examined in the research community. Most of them deal with one or two of the aforementioned aspects, but do not consider the positive and negative effects for the other dimensions. The key point of this thesis is that a comprehensive solution for MCC must handle all core questions listed above in an integrated fashion. With our framework MOCCAA we did not only strive for just another partitioning and offloading technique that is additionally equipped with a standard Resource Management System and further modules. Instead, the single modules of MOCCAA shall cooperate and interact with each other in such a way that all dimensions can benefit and are improved a little bit further.
The challenges and issues that arise in such a scenario are manifold. The essential ones, which are also addressed in this thesis, can be summarized with the following four questions. Which part of a mobile application should be offloaded to the Cloud to accelerate, for example, its execution or to relieve the mobile device with respect to the battery consumption? Therefore, those parts of an application have to be identified that have a high resource need, but whose offloading would only lead to a small communication overhead. The decision where to run which part of the application has to take into account the current latencies to the remote resources and the dynamics of their availability and usage. This requires a Resource Management System that is able to discover matching remote resources fast and efficiently without delaying the offloading procedure too much. Subsequently, we have to determine when or under which conditions which parts shall be offloaded. This decision-making requires a monitoring on client side and a prediction about the future resource consumption of the given application parts. The final question addresses the procedure of offloading itself and the applied communication protocol. It can be summarized with how to offload.
In the last few years, several approaches for MCC have been developed and examined in the research community. Most of them deal with one or two of the aforementioned aspects, but do not consider the positive and negative effects for the other dimensions. The key point of this thesis is that a comprehensive solution for MCC must handle all core questions listed above in an integrated fashion. With our framework MOCCAA we did not only strive for just another partitioning and offloading technique that is additionally equipped with a standard Resource Management System and further modules. Instead, the single modules of MOCCAA shall cooperate and interact with each other in such a way that all dimensions can benefit and are improved a little bit further.
Das Hauptanliegen von Mobile Cloud Computing (MCC) ist die Unterstützung mobiler
ressourcenlimitierter Endgeräte mittels Cloud-Ressourcen oder umliegender Rechenressourcen.
Im Allgemeinen wird dies durch Auslagerung rechenintensiver Prozesse mobiler
Anwendungen erreicht. Dies ermöglicht beispielsweise eine virtuelle Erweiterung der
Rechenkapazität des mobilen Endgeräts und, auf indirektem Wege, eine Entlastung der
Batterie. Im Fall fehlender entfernter Ressourcen oder einer unterbrochenen Kommunikationsverbindung
ist weiterhin eine lokale Ausführung möglich.
Die Herausforderungen und Probleme, die sich in einem solchen Szenario ergeben, sind
vielfältig. Die wesentlichen Punkte, die auch in dieser Arbeit behandelt werden, lassen
sich mit den folgenden vier Fragen zusammenfassen. Welcher Teil einer mobilen Anwendung
sollte in die Cloud verlagert werden, um beispielsweise die Gesamtausführzeit
zu reduzieren oder das mobile Endgerät hinsichtlich des Batterieverbrauchs zu entlasten?
Hierzu müssen jene Bereiche einer Anwendung identifiziert werden, die über einen
hohen Ressourcenbedarf verfügen, deren Auslagerung jedoch nur zu einem geringen
Kommunikationsaufwand führen würde. Die Entscheidung wo welcher Teil der Anwendung
ausgeführt werden soll, muss die aktuellen Latenzen zu den entfernten Ressourcen
und die Dynamik ihrer Verfügbarkeit und Last berücksichtigen. Dies erfordert ein
Ressourcenverwaltungssystem, das in der Lage ist, passende Ressourcen schnell und
effizient zu ermitteln, ohne den Auslagerungsprozess zu stark zu verzögern. Anschließend
muss bestimmt werden, wann oder unter welchen Bedingungen welche Teile ausgelagert
werden sollen. Diese Entscheidung erfordert ein Monitoring auf Client-Seite und eine
Vorhersage über den zukünftigen Ressourcenverbrauch der gegebenen Anwendungsteile.
Die finale Frage befasst sich mit dem Auslagerungsverfahren und dem angewandten
Kommunikationsprotokoll. Es kann mit Wie auszulagern zusammengefasst werden.
In den letzten Jahren wurden in der Forschungsgemeinschaft mehrere Ansätze für MCC
entwickelt und untersucht. Die meisten von ihnen befassen sich mit einem oder zwei
der oben genannten Aspekte, berücksichtigen jedoch nicht die positiven und negativen
Auswirkungen auf die anderen Dimensionen. Der Standpunkt dieser Arbeit ist, dass
eine umfassende Lösung für MCC alle oben aufgeführten Kernfragen auf integrierte
Weise behandeln muss. Mit unserem Framework MOCCAA haben wir nicht nur ein
weiteres Partitionierungs- und Auslagerungsverfahren angestrebt, welches zusätzlich mit
einem Standard-Ressourcenverwaltungssystem und weiteren Modulen ausgestattet worden
ist. Stattdessen sollen die einzelnen Module von MOCCAA so zusammenarbeiten und
miteinander interagieren, dass alle Dimensionen davon profitieren und weiter verbessert
werden.
ressourcenlimitierter Endgeräte mittels Cloud-Ressourcen oder umliegender Rechenressourcen.
Im Allgemeinen wird dies durch Auslagerung rechenintensiver Prozesse mobiler
Anwendungen erreicht. Dies ermöglicht beispielsweise eine virtuelle Erweiterung der
Rechenkapazität des mobilen Endgeräts und, auf indirektem Wege, eine Entlastung der
Batterie. Im Fall fehlender entfernter Ressourcen oder einer unterbrochenen Kommunikationsverbindung
ist weiterhin eine lokale Ausführung möglich.
Die Herausforderungen und Probleme, die sich in einem solchen Szenario ergeben, sind
vielfältig. Die wesentlichen Punkte, die auch in dieser Arbeit behandelt werden, lassen
sich mit den folgenden vier Fragen zusammenfassen. Welcher Teil einer mobilen Anwendung
sollte in die Cloud verlagert werden, um beispielsweise die Gesamtausführzeit
zu reduzieren oder das mobile Endgerät hinsichtlich des Batterieverbrauchs zu entlasten?
Hierzu müssen jene Bereiche einer Anwendung identifiziert werden, die über einen
hohen Ressourcenbedarf verfügen, deren Auslagerung jedoch nur zu einem geringen
Kommunikationsaufwand führen würde. Die Entscheidung wo welcher Teil der Anwendung
ausgeführt werden soll, muss die aktuellen Latenzen zu den entfernten Ressourcen
und die Dynamik ihrer Verfügbarkeit und Last berücksichtigen. Dies erfordert ein
Ressourcenverwaltungssystem, das in der Lage ist, passende Ressourcen schnell und
effizient zu ermitteln, ohne den Auslagerungsprozess zu stark zu verzögern. Anschließend
muss bestimmt werden, wann oder unter welchen Bedingungen welche Teile ausgelagert
werden sollen. Diese Entscheidung erfordert ein Monitoring auf Client-Seite und eine
Vorhersage über den zukünftigen Ressourcenverbrauch der gegebenen Anwendungsteile.
Die finale Frage befasst sich mit dem Auslagerungsverfahren und dem angewandten
Kommunikationsprotokoll. Es kann mit Wie auszulagern zusammengefasst werden.
In den letzten Jahren wurden in der Forschungsgemeinschaft mehrere Ansätze für MCC
entwickelt und untersucht. Die meisten von ihnen befassen sich mit einem oder zwei
der oben genannten Aspekte, berücksichtigen jedoch nicht die positiven und negativen
Auswirkungen auf die anderen Dimensionen. Der Standpunkt dieser Arbeit ist, dass
eine umfassende Lösung für MCC alle oben aufgeführten Kernfragen auf integrierte
Weise behandeln muss. Mit unserem Framework MOCCAA haben wir nicht nur ein
weiteres Partitionierungs- und Auslagerungsverfahren angestrebt, welches zusätzlich mit
einem Standard-Ressourcenverwaltungssystem und weiteren Modulen ausgestattet worden
ist. Stattdessen sollen die einzelnen Module von MOCCAA so zusammenarbeiten und
miteinander interagieren, dass alle Dimensionen davon profitieren und weiter verbessert
werden.
Citation
@phdthesis{doi:10.17170/kobra-20191217884,
author={Baraki, Harun},
title={MOCCAA - MObile Cloud Computing AdaptAble},
school={Kassel, Universität Kassel, Fachbereich Elektrotechnik / Informatik},
month={08},
year={2019}
}
0500 Oax 0501 Text $btxt$2rdacontent 0502 Computermedien $bc$2rdacarrier 1100 2019$n2019 1500 1/eng 2050 ##0##http://hdl.handle.net/123456789/11401 3000 Baraki, Harun 4000 MOCCAA - MObile Cloud Computing AdaptAble / Baraki, Harun 4030 4060 Online-Ressource 4085 ##0##=u http://nbn-resolving.de/http://hdl.handle.net/123456789/11401=x R 4204 \$dDissertation 4170 5550 {{Cloud computing}} 5550 {{Verteiltes System}} 5550 {{Mobiles Endgerät}} 7136 ##0##http://hdl.handle.net/123456789/11401
2019-12-18T07:36:22Z 2019-12-18T07:36:22Z 2019-08 doi:10.17170/kobra-20191217884 http://hdl.handle.net/123456789/11401 eng Urheberrechtlich geschützt https://rightsstatements.org/page/InC/1.0/ Mobile Cloud Computing Distributed Resource Management System Graph Partitioning Delta Synchronization Semantic-aware Middleware Computation Offloading Execution Time Prediction 004 MOCCAA - MObile Cloud Computing AdaptAble Dissertation The primary objective of Mobile Cloud Computing (MCC) is the support of resource-constrained mobile devices by means of Cloud or nearby computing resources. In general, this is achieved by outsourcing or offloading computational intensive tasks of mobile applications. This allows, for instance, to virtually extend the processing power of mobile devices and, indirectly, to save battery life. In case remote resources are not available or the communication link is broken, still a local execution is possible. The challenges and issues that arise in such a scenario are manifold. The essential ones, which are also addressed in this thesis, can be summarized with the following four questions. Which part of a mobile application should be offloaded to the Cloud to accelerate, for example, its execution or to relieve the mobile device with respect to the battery consumption? Therefore, those parts of an application have to be identified that have a high resource need, but whose offloading would only lead to a small communication overhead. The decision where to run which part of the application has to take into account the current latencies to the remote resources and the dynamics of their availability and usage. This requires a Resource Management System that is able to discover matching remote resources fast and efficiently without delaying the offloading procedure too much. Subsequently, we have to determine when or under which conditions which parts shall be offloaded. This decision-making requires a monitoring on client side and a prediction about the future resource consumption of the given application parts. The final question addresses the procedure of offloading itself and the applied communication protocol. It can be summarized with how to offload. In the last few years, several approaches for MCC have been developed and examined in the research community. Most of them deal with one or two of the aforementioned aspects, but do not consider the positive and negative effects for the other dimensions. The key point of this thesis is that a comprehensive solution for MCC must handle all core questions listed above in an integrated fashion. With our framework MOCCAA we did not only strive for just another partitioning and offloading technique that is additionally equipped with a standard Resource Management System and further modules. Instead, the single modules of MOCCAA shall cooperate and interact with each other in such a way that all dimensions can benefit and are improved a little bit further. Das Hauptanliegen von Mobile Cloud Computing (MCC) ist die Unterstützung mobiler ressourcenlimitierter Endgeräte mittels Cloud-Ressourcen oder umliegender Rechenressourcen. Im Allgemeinen wird dies durch Auslagerung rechenintensiver Prozesse mobiler Anwendungen erreicht. Dies ermöglicht beispielsweise eine virtuelle Erweiterung der Rechenkapazität des mobilen Endgeräts und, auf indirektem Wege, eine Entlastung der Batterie. Im Fall fehlender entfernter Ressourcen oder einer unterbrochenen Kommunikationsverbindung ist weiterhin eine lokale Ausführung möglich. Die Herausforderungen und Probleme, die sich in einem solchen Szenario ergeben, sind vielfältig. Die wesentlichen Punkte, die auch in dieser Arbeit behandelt werden, lassen sich mit den folgenden vier Fragen zusammenfassen. Welcher Teil einer mobilen Anwendung sollte in die Cloud verlagert werden, um beispielsweise die Gesamtausführzeit zu reduzieren oder das mobile Endgerät hinsichtlich des Batterieverbrauchs zu entlasten? Hierzu müssen jene Bereiche einer Anwendung identifiziert werden, die über einen hohen Ressourcenbedarf verfügen, deren Auslagerung jedoch nur zu einem geringen Kommunikationsaufwand führen würde. Die Entscheidung wo welcher Teil der Anwendung ausgeführt werden soll, muss die aktuellen Latenzen zu den entfernten Ressourcen und die Dynamik ihrer Verfügbarkeit und Last berücksichtigen. Dies erfordert ein Ressourcenverwaltungssystem, das in der Lage ist, passende Ressourcen schnell und effizient zu ermitteln, ohne den Auslagerungsprozess zu stark zu verzögern. Anschließend muss bestimmt werden, wann oder unter welchen Bedingungen welche Teile ausgelagert werden sollen. Diese Entscheidung erfordert ein Monitoring auf Client-Seite und eine Vorhersage über den zukünftigen Ressourcenverbrauch der gegebenen Anwendungsteile. Die finale Frage befasst sich mit dem Auslagerungsverfahren und dem angewandten Kommunikationsprotokoll. Es kann mit Wie auszulagern zusammengefasst werden. In den letzten Jahren wurden in der Forschungsgemeinschaft mehrere Ansätze für MCC entwickelt und untersucht. Die meisten von ihnen befassen sich mit einem oder zwei der oben genannten Aspekte, berücksichtigen jedoch nicht die positiven und negativen Auswirkungen auf die anderen Dimensionen. Der Standpunkt dieser Arbeit ist, dass eine umfassende Lösung für MCC alle oben aufgeführten Kernfragen auf integrierte Weise behandeln muss. Mit unserem Framework MOCCAA haben wir nicht nur ein weiteres Partitionierungs- und Auslagerungsverfahren angestrebt, welches zusätzlich mit einem Standard-Ressourcenverwaltungssystem und weiteren Modulen ausgestattet worden ist. Stattdessen sollen die einzelnen Module von MOCCAA so zusammenarbeiten und miteinander interagieren, dass alle Dimensionen davon profitieren und weiter verbessert werden. open access Baraki, Harun 2019-08-21 ix, 158 Seiten Kassel, Universität Kassel, Fachbereich Elektrotechnik / Informatik Geihs, Kurt (Prof. Dr.) Eliassen, Frank (Prof. Dr.) Cloud computing Verteiltes System Mobiles Endgerät publishedVersion
The following license files are associated with this item:
Urheberrechtlich geschützt