• Keine Ergebnisse gefunden

5. Entwicklung einer kontextadaptiven Anwendungsarchitektur 113

5.2. Adaptionsbedarfe kontextadaptiver mobiler Anwendungen

5.2.3. Ziele der Adaption

5.2. Adaptionsbedarfe kontextadaptiver mobiler Anwendungen 125

Vorziehen von Geschäftslogik: Eine Verbesserung der Performance kann in bestimmten Fällen auch dadurch erreicht werden, dass bestimmte Be-rechnungsschritte im Voraus ausgeführt werden. Dieses Vorziehen ist oft dann vorteilhaft, solange das mobile Gerät gut mit der Infrastruktur ver-bunden ist und über erweiterte Ressourcen verfügt. Die Anwendungsfäl-le, für die diese Form der Adaption eine Verbesserung der Performance ermöglicht, stellen jedoch nicht den Regelfall dar.

Entfernen von Geschäftslogik: Die Verbesserung der Performance kann ebenso über das Entfernen optionaler Teile der Geschäftslogik erfolgen, wenn diese einen relevanten Teil der gesamten Ausführungszeit einneh-men.

Austauschen von Geschäftslogik: Wenn der vorgenannte Fall des Entfer-nens der Geschäftslogik nicht möglich oder im Sinne der Verbesserung der Performance einer mobilen Anwendung nicht vorteilhaft erscheint, bietet es sich alternativ an, die Implementierung auszutauschen. Im Rah-men einer Fidelity-Adaptation ist es somit möglich, einen zeitintensiven Teil der Geschäftslogik durch eine beschleunigte Variante mit reduzierter Qualität zu ersetzen, um somit eine verkürzte Ausführungszeit zu errei-chen.

Einsparung von Energie Neben der Verbesserung der Performance stellt die Einsparung von Energie ein weiteres prominentes Ziel innerhalb des mobilen Cloud Computings dar, das ebenso häufig als Optimierungsziel existierender Forschungsarbeiten untersucht wurde, unter anderem in: [CBC+10,SSX+12, ESM14, TLH+16, MYHZ14, OKA+15, LT11,NMSH14, XDL+14]. Das Adap-tionsziel der Einsparung von Energie bezieht sich entsprechend auf den be-schränkten Energievorrat mobiler Geräte und die daraus resultierende Not-wendigkeit eines sparsamen Umgangs mit dieser Ressource, da sich die Ener-giedichte der Akkus mobiler Geräte pro Jahr nur um fünf bis zehn Prozent erhöht (vergleiche Abschnitt 2.2.4).

Die Einsparung von Energie hat damit primär zum Ziel, die Laufzeit ei-nes mobilen Geräts im Batteriebetrieb so weit wie möglich zu verlängern, und kann entweder ständig als Optimierungsziel festgelegt werden oder lediglich dann, wenn abzusehen ist, dass die verbleibende Betriebszeit des mobilen Ge-räts nicht bis zur nächsten Lademöglichkeit ausreicht, wie in [Mey16] und [CTSC11] gezeigt wird. Dieses Adaptionsziel kann mithilfe der folgenden Ad-aptionsformen erreicht werden:

Auslagern von Geschäftslogik: Wie bereits zuvor im Zusammenhang mit der Optimierung der Performance im Hinblick auf die Adaptionsform der Auslagerung beschrieben kann diese Adaptionsform ebenfalls zur Ein-sparung von Energie verwendet werden.

Allerdings steht auch in diesem Fall das Optimierungsziel der Einspa-rung von Energie oft in Konkurrenz mit weiteren

Ressourcenbeschrän-kungen oder Adaptionszielen. Entsprechend gilt es beispielsweise, die für die Durchführung der Auslagerung benötigte Energie zu berücksichtigen, die beim Senden und Empfangen der auszulagernden Geschäftslogik be-nötigt wird.

Verzögern von Geschäftslogik: Eine Einsparung von Energie kann ähn-lich wie eine Verbesserung der Performance ebenso dadurch realisiert werden, dass gewisse energieintensive Berechnungsschritte so lange ver-zögert werden, bis eine entsprechende Lademöglichkeit oder eine Verbin-dung zu einer externen Energiequelle verfügbar sind oder in Aussicht stehen, um so das Leerlaufen des Akkus zu verhindern, wie es in [Mey16]

gezeigt wurde.

Vorziehen von Geschäftslogik: Eine Einsparung von Energie kann ähn-lich wie eine Verbesserung der Performance darüber realisiert wer-den, dass gewisse energieintensive Berechnungsschritte vorab ausge-führt werden oder dass zu einem späteren Zeitpunkt benötigte Daten vorab eingelagert werden.

Dieses Vorziehen bietet sich an, solange das Gerät energetisch gün-stig mit der Infrastruktur verbunden ist und kommunizieren kann, bei-spielsweise kabelgebunden statt drahtlos, oder solange eine Verbindung zu einer externen Energiequelle besteht und der verbleibende Ener-gievorrat des mobilen Geräts hierdurch nicht beeinträchtigt wird. Da die Nutzung einer mobilen Anwendung in einem zukünftigen Zeitin-tervall jedoch nur unter Unsicherheit vorhergesagt werden kann, wird diese Adaptionsform nur in bestimmten Fällen als hilfreich angesehen [SKK+14,SHD12,KMYI09,DGP10].

Entfernen von Geschäftslogik: Ebenso wie bei einer Verbesserung der Performance kann ein Entfernen energieintensiver Berechnungsschrit-te der Geschäftslogik auch zu einer Reduktion der benötigBerechnungsschrit-ten Energie genutzt werden.

Austauschen von Geschäftslogik: Können energieintensive Berechnungs-schritte nicht entfernt werden, so bietet es sich alternativ an, diese im Hinblick auf die Verbesserung der Energieeffizienz gegen eine alterna-tive Implementierung auszutauschen. Hierdurch kann die Dienstverfüg-barkeit aufrechterhalten und gleichzeitig eine Energieeinsparung umge-setzt werden.

Einsparung von Bandbreite Die Bandbreite eines mobilen Gerätes stellt un-ter mehreren Gesichtspunkten eine beschränkte und gleichzeitig teure Res-source eines mobilen Geräts dar. Einerseits belastet die Verwendung der Netz-werkschnittstellen, insbesondere der drahtlosen, das energetische Budget ei-nes mobilen Geräts. Andererseits gilt es in Bezug auf die Nutzung der ver-schiedenen Standards zur Mobilkommunikation zu berücksichtigen, dass de-ren Nutzung im Bereich der WWANs oft volumenabhängig abgerechnet wird,

5.2. Adaptionsbedarfe kontextadaptiver mobiler Anwendungen 127

hingegen im Bereich der WLANs üblicherweise ein kostengünstiger oder ko-stenloser Zugang zum Internet bereitgestellt wird. Entsprechend haben sich eine Reihe existierender Arbeiten mit der Einsparung von Bandbreite und der Verschiebung von Datentransfers sowohl zeitlich als auch im Hinblick auf die verwendeten Schnittstellen für die Mobilkommunikation beschäftigt [LBLX13, GJM+12, LLY+10, SA13, MS14, NNH+14, ZTC14, XLC15]. Hin-sichtlich der vorgestellten Adaptionsformen ergeben sich hieraus die folgenden Varianten zur Einsparung von Bandbreite:

Einlagerung von Geschäftslogik: Welche Herausforderungen der Um-gang mit einer drahtlosen Verbindung zur Infrastruktur, die einer wech-selnden Konnektivität und Bandbreite unterworfen ist, mit sich brin-gen, wurde bereits im Zusammenhang mit dem mobilen Dilemma (ver-gleiche Abschnitt 2.2.9) beschrieben. Die dort beschriebene Einlagerung von Geschäftslogik zur Reduktion der Abhängigkeit von der Infrastruk-tur und einer damit einhergehenden Erhöhung der Dienstverfügbarkeit kann ebenso dazu benutzt werden, das zu übertragende Datenvolumen zwischen einem mobilen Gerät und seiner Infrastruktur zu reduzieren.

Wie ebenfalls im mobilen Dilemma erwähnt wird, steht diese Einlage-rung von Geschäftslogik jedoch oft im direkten Konflikt zu den begrenz-ten Ressourcen eines mobilen Gerätes, wodurch es sich bei diesem Adap-tionszielen ebenfalls oft um ein mit anderen Optimierungszielen konkur-rierendes handelt.

Auslagerung von Geschäftslogik: Im Zusammenhang mit dem mobilen Dilemma wurde ebenso diskutiert, inwiefern die Auslagerung von Ge-schäftslogik vorteilhaft sein kann, insbesondere mit Blick auf die effizi-ente Nutzung der beschränkten Ressourcen eines mobilen Gerätes.

Beispielsweise kann eine mobile Anwendung zum Durchsuchen und Fil-tern von Nachrichtenportalen so aufgeteilt werden, dass der für den Download und das Filtern verantwortliche Teil der Geschäftslogik in die Infrastruktur verlagert werden kann. Hierdurch müssen nicht länger alle Informationen auf das mobile Gerät transferiert werden, sondern ledig-lich die im Rahmen der Suchkriterien als relevant identifizierten. Eine Form der Adaption, die dazu dienen kann, dass zu übertragende Daten-volumen zwischen einem mobilen Gerät und seiner Infrastruktur zu re-duzieren und damit das Adaptionsziel der Einsparung von Bandbreite zu realisieren.

Verzögern von Geschäftslogik: Das Verzögern von bandbreitenintensiven Teilen der Geschäftslogik kann ebenso dazu genutzt werden, den Bedarf an Bandbreite auf bestimmten drahtlosen Schnittstellen wie der WWAN-Schnittstelle zu reduzieren. In diesem Zusammenhang lässt sich prinzipi-ell durch ein sehr langes Verzögern stets eine Optimierung erreichen. Vor dem Hintergrund der durch den Nutzer wahrgenommenen eingeschränk-ten Dienstqualität gilt es jedoch maximal akzeptable Verzögerungszeieingeschränk-ten

zu berücksichtigen, die je nach Anwendungsszenario individuell festzule-gen sind.

Vorziehen von Geschäftslogik: Als Gegenstück zur Verzögerung von Ge-schäftslogik können ebenso Teile der GeGe-schäftslogik vorgezogen ausge-führt werden, solange eine kostengünstige und zuverlässige Verbindung zur Infrastruktur besteht.

Exemplarisch für diesen Anwendungsfall ist insbesondere das verteilte DateisystemCoda[SKK+90] zu erwähnen, welches die zuvor genannten Phasen zuverlässiger Konnektivität nutzt, um zukünftig benötigte Daten einzulagern. Es bedarf allerdings einer guten Prognose der zukünftigen Zugriffe auf diese Daten, um dieses Adaptionsziel sinnvoll zu realisieren.

Entfernen von Geschäftslogik: Das Entfernen von Geschäftslogik kann nicht nur der Optimierung der Ausführungszeit oder der Einsparung der benötigten Energie dienen, sondern, wenn es sich um optionale bandbrei-tenintensive Anwendungen handelt, auch dem Optimierungsziel der Ein-sparung von Bandbreite.

Austauschen von Geschäftslogik: Sollte der vorgenannte Fall des Ent-fernens der Geschäftslogik nicht möglich oder nicht vorteilhaft im Sin-ne der Reduktion des Bandbreitenbedarfs eiSin-ner mobilen Anwendung er-scheinen, so kann im Rahmen einer Fidelity-Adaptation ein Austausch eines bandbreitenintensiven Teils der Geschäftslogik hin zu einer Vari-ante erfolgen, deren Bedarf an Bandbreite geringer ist.

Erhöhung der Dienstverfügbarkeit Neben den zuvor vorgestellten drei Vari-anten zur Entlastung einzelner Ressourcen eines mobilen Gerätes existiert ein weiteres Optimierungsziel, welches sich auf die Verfügbarkeit eines Dienstes bezieht. In diesem Fall ist davon auszugehen, dass auf eine Reduktion der Dienstqualität vom Nutzer einer mobilen Anwendung akzeptiert wird, um im Gegenzug die Verfügbarkeit dieses Dienstes aufrechtzuerhalten. Auch dieses Adaptionsziel wurde bereits in einer Reihe existierender Arbeiten untersucht [NSN+97,SKK+90,GCGBDRD16,SVHVV15]; es stellt jedoch im Hinblick auf das mobile Cloud Computing einen weniger prominenten Anwendungsfall dar.

Realisiert werden kann dieser durch die folgenden Adaptionsformen:

Einlagerung von Geschäftslogik: Wie im Zusammenhang mit der Opti-mierung der Bandbreite beschrieben kann die Einlagerung von Daten wie im Coda-Dateisystem gezeigt oder von Geschäftslogik nicht nur die Be-anspruchung mobiler Datenverbindung verringern, sondern führt gleich-zeitig zu einer ständigen Verfügbarkeit der entsprechenden Daten oder der entsprechenden Funktionalität auf dem mobilen Gerät. Die Einlage-rung steht jedoch häufig im Konflikt mit den begrenzten Speicher- und Rechenressourcen mobiler Geräte.

5.2. Adaptionsbedarfe kontextadaptiver mobiler Anwendungen 129

Vorziehen von Geschäftslogik: Eine Verbesserung der Performance kann in bestimmten Fällen ebenso dadurch erreicht werden, dass gewisse Be-rechnungsschritte ausgeführt werden, solange das mobile Gerät mit der Infrastruktur verbunden ist und auf die dortigen Ressourcen zugreifen kann. Auf diesem Weg kann ebenso die Einlagerung bestimmter vorbe-reiteter Ergebnisse ermöglicht werden.

Entfernen von Geschäftslogik: Das Weglassen optionaler Teile der Ge-schäftslogik kann in bestimmten Fällen dazu genutzt werden, die Ver-fügbarkeit eines Dienstes zu erhöhen. Insbesondere ressourcenintensive Teile der Geschäftslogik bieten sich hierfür an, um im Gegenzug die Ver-fügbarkeit eines Dienstes aufrechtzuerhalten oder zu verlängern.

Austauschen von Geschäftslogik: Analog dem vorgenannten Fall kann statt des Weglassens auch ein Austausch der Geschäftslogik im Sinne einer Fidelity-Adaptation durchgeführt werden, um die Dienstverfügbar-keit aufrechtzuerhalten.

Erhöhung der Dienstqualität Im Hinblick auf die in Abschnitt 2.2.4 vorge-stellten Restriktionen mobiler Geräte und die gleichzeitig steigenden Anforde-rungen der Nutzer dieser Geräte bietet eine Kooperation mobiler Geräte mit der Infrastruktur jedoch nicht nur die Möglichkeit, bestimmte Teile der für ein mobiles Gerät konzipierten Geschäftslogik zu beschleunigen oder den verblei-benden Energievorrat zu schonen. Eine Kooperation kann ebenso dazu genutzt werden, die von stationären Geräten bereitgestellte Dienstqualität zu realisie-ren.

Austauschen von Geschäftslogik: Ein Beispiel findet sich in den Dockingstationen von Laptops oder Spielekonsolen, die eine (Hardware)-Erweiterung der Ressourcen mobiler Geräte bereitstellen, mithilfe derer das mobile Gerät in die Lage versetzt wird, eine mit stationären Gerä-ten vergleichbare Dienstqualität bereitzustellen. Ein Teil der Geschäfts-logik kann in diesem Fall gegen eine Variante ausgetauscht werden, die von den zusätzlichen Ressourcen gebrauch macht. So kann beispielsweise durch zusätzliche Hardware zur Beschleunigung der Grafikausgabe eine erhöhte Auflösung oder Bildwiederholrate bereitgestellt werden. Im Sin-ne der hier vorgestellten Adaptionsformen entspricht dies weitestgehend einer Fidelity-Adaptation, die mithilfe des Austauschens der Geschäfts-logik realisiert wird.

Zusammenfassung der Adaptionsziele Wie in Tabelle 5.2 zusammenfassend gezeigt wird, ergibt sich für die sieben betrachteten Adaptionsformen eine un-gefähr gleich hohe Relevanz und damit Anwendbarkeit im Hinblick auf die identifizierten Optimierungsziele.

Auch wenn es nach dieser Auswertung so scheint, als ob die Hinzunahme optionaler Komponenten in keinem Fall von Vorteil ist, so ist jedoch

anzumer-Einsparung von Zeit

Einsparung von Energie

Einsparung von Bandbreite

Erhöhung der Dienstverfügbarkeit

Erhöhung der Dienstqualität

Auslagerung ++ ++ ++ - +

Einlagerung - - ++ ++

-Verzögerung - ++ + -

-Vorziehen + + + + +

Hinzufügen - - - - +

Weglassen ++ ++ + ++

-Austauschen ++ ++ ++ ++ ++

++ vollständig erfüllt + teilweise erfüllt - nicht erfüllt 0 nicht adressiert Tabelle 5.2.:Bewertung der Adaptionsformen im Hinblick auf die Adaptionsziele

ken, dass diese zwar nicht im Sinne der genannten Einsparungs- und Optimie-rungsziele vorteilhaft erscheint, jedoch insgesamt, alle diese Optimierungszie-le auf eine erhöhte oder verbesserte Dienstqualität mobiOptimierungszie-ler Anwendungen auf mobilen Geräten abzielen. In diesem Zusammenhang ist die optionale Hin-zunahme weiterer Teile der Geschäftslogik dann ebenfalls als vorteilhaft im Sinne der Erhöhung der Servicequalität zu betrachten.

Wie die Ziele der Adaption mithilfe der verschiedenen Adaptionsformen soft-waretechnisch realisiert werden können, soll im Folgenden untersucht werden.

Die Untersuchung orientiert sich dabei an den von Geihs in [GRWK09] als wesentlich definierten Anforderungen an Adaptionsprozesse. Hiernach gilt es insbesondere, die Fähigkeit zur Rekonfiguration und damit die generelle Ad-aptionsfähigkeit, die dynamische Dienstsuche, den Umgang mit Heterogenität sowie die Integration von Kontextinformationen in die Planung der Adaption zu berücksichtigen. Entsprechend werden diese Aspekte in den nun folgenden Abschnitten dieses Kapitels näher vorgestellt.