• Keine Ergebnisse gefunden

Die vorliegende Arbeit n¨ahert sich dem Thema Mobile Cloud Computing zun¨achst aus Sicht des Anwenders, der auf mobilen Endger¨aten Applikationen nutzt. Mobile Applikationen k¨

on-6Laut www.geizhals.at waren am 8. M¨arz 2013 ca. 40% aller in der Europ¨aischen Union angebotenen Han-dys ohne Vertrag mit UMTS und WLAN ausger¨ustet. Bei den Smartphones (Touchscreen, Aufl¨osung ab 320x240 und GPS) sind es sogar ca. 92%. Notebooks mit WLAN machen ¨uber 99% aller Ger¨ate aus. Da-gegen sind nur ca. 10% aller Notebooks mit UMTS ausger¨ustet. Tablets ohne WLAN gibt es nicht und ca.

28% aller in der EU angebotener Tablets sind mit UMTS ausger¨ustet.

1.2 Problemstellung und Zielsetzung

nen nach ihrem Einsatzzweck in zwei Gruppen unterteilt werden:

1. Anwender m¨ochten die kabellosen Ger¨ate nutzen, um ihre vormals station¨ar genutzten Programme auch mobil zu verwenden,

2. Anwender m¨ochten neue Anwendungen nutzen, die die F¨ahigkeiten der mobilen Senso-ren nutzbar machen.

Einsatzzweck 1 leitet sich aus dem aktuellen Trend in den Absatzzahlen von PCs, Notebooks und Mobilger¨aten wie Tablets und Smartphones ab. Dieser l¨asst erkennen, dass zunehmend mehr Mobilger¨ate und weniger PCs und Notebooks gekauft werden. Dies legt die Vermutung nahe, dass diese neuartigen Mobilger¨ate zunehmend auch als Ersatz f¨ur PCs und Notebooks dienen. Einsatzzweck 2 macht sich den Unterschied zu Nutze, den diese Ger¨ate gegen¨uber station¨aren PCs und Notebooks haben. Nutzer stellen demnach an mobile Anwendungen die Anforderung, dass diese sich ¨ahnlich bedienen lassen wie station¨are Anwendungen und dass diese auch ¨ahnlich fl¨ussig und schnell arbeiten.

Bei der Realisierung von Anwendungen, die diesen Anforderungen entsprechen, kommt es jedoch zu verschiedenen Konflikten. Die gegen¨uber station¨aren PCs ver¨anderte Hardware, bei-spielsweise geringere CPU Leistung, Hauptspeicher, Display-Aufl¨osung und unterschiedliche Betriebssysteme lassen eine einfache Portierung von Applikationen station¨arer PCs oft nicht zu. F¨ur die mobile Nutzung ist eine komplexe Anpassung der Applikation an die jeweiligen Ger¨ate notwendig. Dies f¨uhrt nicht selten dazu, dass der Funktionsumfang der vormals sta-tion¨ar genutzten Anwendungen auf dem Mobilger¨at geringer ausfallen muss. Weiterhin sind neue Applikationen, die die auf Mobilger¨aten vorhandenen Sensoren zur Laufzeit auswerten, schwierig zu realisieren, da die Auswertung oft mit komplexen Berechnungen verbunden ist.

Diese Berechnungen k¨onnen aufgrund der geringen Hardware-Ausstattung mobiler Ger¨ate h¨aufig nicht schnell genug ausgef¨uhrt werden, um einen nutzbaren Mehrwert f¨ur den Anwen-der zu generieren.

Manche dieser Probleme lassen sich durch Optimierungen, wie die Nutzung von Prozes-sorinstruktionserweiterungen des Mobilprozessors, direkt l¨osen, so etwa die Decodierung von HD-Videostr¨omen. Andere Anwendungen, wie etwa speicherintensive Bildverarbeitungsrou-tinen k¨onnen davon nicht profitieren. Manche Anwendungen k¨onnen jedoch vom Einsatz von Mobile Cloud Computing profitieren. Bei der Bereitstellung einer Infrastruktur f¨ur Mobile Cloud Computing sind verschiedene Aspekte von Bedeutung. Dabei fokussiert sich diese Ar-beit auf die Nutzung von weitgehend ¨offentlich verf¨ugbaren Technologien, um eine breite An-wendbarkeit der Technologie zu erreichen. Will man f¨ur eine große Anzahl von MCC-Nutzern entfernt verf¨ugbare Serverressourcen ¨offentlich zur Verf¨ugung stellen, so sind nachfolgende Aspekte besonders zu betrachten.

Mobile Netzwerkverbindung

Problematisch ist bei Mobilen Server-unterst¨utzten Anwendungen zun¨achst immer die Be-wertung der verf¨ugbaren Netzwerkverbindung. Die zuverl¨assige Kenntnis ¨uber die

Daten-¨ubertragungsgeschwindigkeit und die Gr¨oße der zu ¨ubertragenden Daten sind notwendig, um die erwarteten ¨Ubertragungszeiten absch¨atzen zu k¨onnen. Hierbei ist die verf¨ugbare kabellose Internetanbindung der mobilen Ger¨ate besonders zu beachten, da je nach verwendeter Technik und Empfangsst¨arke die Geschwindigkeit stark variieren kann. Die ¨Ubertragungstechnologie selbst hat ebenfalls Einfluss auf die ¨Ubertragungsgeschwindigkeit. Zus¨atzlich beeinflusst die

Codierung der Daten und die H¨aufigkeit von Sendeoperationen die Performance der Kommu-nikation. Diese Parameter haben damit auch Einfluss auf den Speedup, der durch die Ausla-gerung von Berechnungen auf entfernte Server erreicht werden kann. Je kleiner das Verh¨altnis aus Daten¨ubertragungszeit und Berechnungszeit ist, desto besser eignet sich ein Programm f¨ur die Auslagerung. Es ist demnach notwendig, die potenziell geringe verf¨ugbare Bandbreite durch geeignete Kommunikationsmuster und Codierungen bestm¨oglich auszunutzen. Dabei k¨onnen aufgrund beispielsweise der h¨oheren Latenz und teilweise fehlenden Duplexf¨ahigkeit nur bedingt Technologien aus der kabelgebundenen Kommunikation ¨ubernommen werden.

Auswahl der Cloud-Ressource

Eine weitere Problemstellung ist die situationsabh¨angige Auswahl einer geeigneten Cloud-Ressource zur Unterst¨utzung der mobilen Applikation. Da Cloud-Anbieter ihre Ressourcen in verschiedenen Qualit¨atsstufen anbieten, ist es sinnvoll, eine bedarfsgerechte Auswahl zu treffen, die mit den geforderten QoS Eigenschaften wie beispielsweise Verarbeitungszeit in Einklang steht. Die Auswahl h¨angt zun¨achst wieder direkt von den Daten¨ubertragungszeiten ab. Es ist beispielsweise un¨okonomisch, bei geringer Netzwerkperformance eine schnelle und teure Ressource auszuw¨ahlen, die dann nur zu einem geringen Prozentsatz ausgelastet werden kann. Hierbei ist zu beachten, dass verschieden schnelle Ressourcen auch verschiedene Kosten haben. Neben der Verarbeitungsgeschwindigkeit und Auslastung einer Ressource spielt also auch die Kostenoptimierung bei der Auswahl eine Rolle. Um die Verarbeitungsgeschwindig-keit absch¨atzen zu k¨onnen, ist es notwendig, das Applikationsverhalten (insbesondere die Ska-lierbarkeit) f¨ur eine bestimmte Eingabe auf den zur Verf¨ugung stehenden Cloud-Ressourcen zu kennen. Insbesondere das Herstellen eines Zusammenhangs zwischen einer Eingabegr¨oße und der Verarbeitungszeit ist nicht immer einfach, da eine Abh¨angigkeitsfunktion gefunden werden muss, von der nicht bekannt ist, ob sie ¨uberhaupt existiert.

Verbesserung der Granularit¨at der Abrechnungsperiode

Eine dritte Problemstellung ist die Verbesserung der Granularit¨at bez¨uglich der Abrech-nungsperiode f¨ur den Endkunden. Mobile Cloud-unterst¨utzte Anwendungen haben oft zeit-lich begrenzte Anforderungen an entfernt verf¨ugbare Ressourcen, die je nach Anwendung und Nutzerverhalten zwischen wenigen Sekunden bis Minuten betragen k¨onnen. Cloud-Anbieter hingegen rechnen die Nutzung im Stundentakt ab. Hier bedarf es einer geeigneten Wieder-verwendungsstrategie, um Cloud-Ressourcen zwischen Nutzern zu teilen und m¨oglichst gut auszulasten. Dabei muss jedoch trotzdem sichergestellt werden, dass jeder Nutzer die Perfor-mance, f¨ur die er zahlt, auch nutzen kann. Um zudem noch die Abrechnung auf feingranularer Basis zu erm¨oglichen, bedarf es der Entwicklung eines Cloud-Nutzungs-Zyklus. Da Tests mit vielen Nutzern auf einer realen Cloud-Infrastruktur kaum zu finanzieren sind, muss eine Si-mulation durchgef¨uhrt werden, die mit m¨oglichst real gemessenen Daten arbeitet.

Weitere Nebenproblemstellungen

Eine weitere Herausforderung ist der allgemeine Schutz der ¨ubertragenen Daten und auch der Schutz von Fremdzugriffen auf die bereitgestellten Ressourcen. Dies ist notwendig, weil jede Nutzung der Infrastruktur Kosten f¨ur den Nutzer verursacht. Die Verschl¨usselung der Verbindung sowie geeignete Mechanismen zur Authentifizierung sind deshalb obligatorisch.

Dies erfordert eine geeignete Modellierung des Lebenszyklus der Verbindung zwischen Nutzer