• Keine Ergebnisse gefunden

Abgrenzung klassischer und mobiler verteilter Systeme . 34

2. Grundlagen des mobilen Cloud Computings 13

2.2. Mobile Computing

2.2.7. Abgrenzung klassischer und mobiler verteilter Systeme . 34

Deutschland die ortsunabhängige Nutzung des Internets, zumindest in den Ballungsräumen, sinnvoll möglich. Im Bereich der WWANs ist damit eine in den vergangenen Jahren deutliche Steigerung der Übertragungsraten erzielt worden. Betrachtet man jedoch die in Abbildung 2.9 gezeigte exemplarische Abdeckung des LTE-Mobilfunkstandards durch einen Netzbetreiber, so zeigt sich, dass hohe Bandbreiten nur lokal begrenzt für mobile Nutzer verfügbar sind.

Abbildung 2.9.:Netzabdeckung des LTE Mobilfunkstandards (LTE 150) [Tel16]

Zusätzlich sind alle aus den vorhergehenden drei Abschnitten erwähnten Standards für die Mobilkommunikation anfällig für Störungen, was in Kombi-nation mit dem schnell wechselnden Nutzungskontext mobiler Geräte zu einer häufig wechselnden Verbindungsqualität führt. Damit soll festgehalten wer-den, dass die im Zusammenhang dieser Arbeit betrachteten mobilen Geräte, die sich mit ihrem Nutzer bewegen, einem schnell wechselnden Kontext ver-schiedener Standards für die Mobilkommunikation ausgesetzt sind, was es zu berücksichtigen gilt, wenn diese Geräte mit anderen Geräten oder der Infra-struktur interagieren. Inwieweit sich klassische und mobile verteilte Systeme durch die aufgezeigten Beschränkungen unterscheiden, soll im nun folgenden Abschnitt beschrieben werden.

2.2. Mobile Computing 35

„A distributed system is a collection of independent computers that ap-pears to its users as a single coherent system. “ [Tv08]

Ein wesentliches Ziel verteilter Systeme ist es, den Zugang zu entfernten Ressourcen zu ermöglichen und diese dabei effizient zwischen verschiedenen Nutzern und Anwendern aufzuteilen [Tv08]. Da die beteiligten Systeme oft eine hohe Heterogenität zueinander aufweisen, ist es notwendig, dass verteil-te Sysverteil-teme ihre bereitgesverteil-tellverteil-ten Diensverteil-te und Ressourcen über standardisierverteil-te Schnittstellen und Protokolle miteinander austauschen, was zu einer Offenheit verteilter Systeme führt. Nur auf dieser Basis können zentrale Eigenschaf-ten wie die gemeinsame Nutzung von Ressourcen, eine erhöhte Verfügbarkeit, Parallelverarbeitung und damit eine Skalierbarkeit des Gesamtsystems durch Hinzufügen weiterer Ressourcen sinnvoll realisiert werden [CDK12].

Ein grundlegendes Konzept zur Umsetzung dieser Eigenschaften ist es, die Kommunikation zwischen den beteiligten Systemen ausschließlich über den Austausch von Nachrichten zu realisieren. Der Grund hierfür liegt darin, dass es die Entwicklung eines verteilten Systems erfordert, zu berücksichtigen, dass die einzelnen Komponenten einer verteilten Anwendung oft auf die verschie-denen beteiligten Instanzen eines verteilten Systems verteilt sind. In diesem Zusammenhang wurden von Peter Deutsch Kriterien im Sinne falscher An-nahmen definiert, die es bei der Entwicklung einer verteilten Anwendung zu berücksichtigen gilt [RGO06]:

Das Netzwerk ist ausfallsicher.

Das Netzwerk ist sicher.

Das Netzwerk ist homogen.

Die Topologie (des Netzwerks) ändert sich nicht.

Die Latenz ist null.

Die Bandbreite ist unendlich.

Die Transportkosten (im Netzwerk) sind null.

Es existiert nur ein Administrator.

Wie auch in [Tv08] gezeigt stehen diese Aussagen und Eigenschaften im direkten Zusammenhang mit bereits aufgeführten spezifischen Eigenschaften verteilter Systeme in Bezug auf Zuverlässigkeit, Sicherheit und Heterogenität.

Vorwegzunehmen ist in diesem Zusammenhang mit Blick auf die Eigen-schaften mobiler Geräte und ihre Konnektivität, dass diese Restriktionen im Bereich mobiler verteilter Systeme noch deutlich ausgeprägter anzutreffen sind. Beispielsweise ändert sich die Topologie in Ad-hoc-Netzwerken ständig, und Bandbreite und Latenz mobiler Geräte sind einer weitaus stärkeren Dy-namik unterworfen als stationäre, nicht drahtlos angebundene Geräte.

2.2.8. Transparenzeigenschaften verteilter Systeme

Ein weiteres wesentliches Ziel aus der im vorhergehenden Abschnitt gezeigten Definition eines verteilten Systems nimmt Bezug darauf, wie ein Nutzer oder eine Anwendung eines verteilten Systems mit diesem interagiert. Verbirgt ein verteiltes System seine interne Struktur und damit die einzelnen Aspekte der Verteilung vor dem Nutzer oder der Anwendung, so verhält sich das System diesen gegenüber transparent, indem es sich nach außen hin als ein Gesamt-system darstellt [Tv08]. Transparenz meint in diesem Zusammenhang die Un-sichtbarkeit oder Durchsichtigkeit eines Systems gegenüber seinen Nutzern, von denen es nicht explizit wahrgenommen wird. Das Gegenteil von Transpa-renz in Bezug auf Middleware ist die Awareness [Tv08].

Transparenz wird in klassischen verteilten Systemen oft angestrebt und ist auch wünschenswert, da für die Nutzer des Systems die Details der Vertei-lung oft nicht relevant und gegebenenfalls sogar unerwünscht sind und sie verborgen werden sollten. Diese Eigenschaft wird als Verteilungstransparenz bezeichnet und gliedert sich nach [Tv08] und [CDK12] in die folgenden Arten:

Zugriffstransparenz: Sie beschreibt den gleichartigen Zugriff auf Res-sourcen, unabhängig von Unterschieden in der Datendarstellung oder dem tatsächlichen Ressourcenzugriff. Ein Beispiel ist der Zugriff über UNC-Pfade, unabhängig vom tatsächlichen Speicherort.

Ortstransparenz: Sie bezieht sich auf den gleichartigen Zugriff auf Res-sourcen innerhalb eines verteilten Systems, unabhängig von deren physi-scher Position, die durch eine logische Namenszuweisung der Ressourcen realisiert wird. Ein Beispiel hierfür ist das Domain Name System.

Migrationstransparenz: Sie verbirgt, dass ein Dienst an eine andere phy-sische Position verschoben werden kann. Ein Beispiel ist die Verschie-bung eines Namensdienstes innerhalb eines Netzwerkes.

Relokationstransparenz: Sie erlaubt Migrationstransparenz auch wäh-rend des Zugriffs auf eine Ressource durch eine Anwendung. Ein Beispiel ist die Migration eines laufenden Betriebssystemprozesses auf einen an-deren physischen Host.

Replikationstransparenz: Sie verbirgt, dass eine Ressource repliziert und damit mehrfach vorhanden ist.

Nebenläufigkeitstransparenz: Sie verbirgt den gleichzeitigen konkurrie-renden Ressourcenzugriff und stellt eine Konsistenz des Zugriffs sicher.

Fehlertransparenz: Sie verbirgt den Ausfall und die Wiederherstellung einer Ressource.

Skalierungstransparenz: Sie verbirgt, dass ein System durch das Hinzu-fügen von Ressourcen seine internen Strukturen anpasst.

2.2. Mobile Computing 37

Als die zwei wichtigsten Transparenzeigenschaften im Zusammenhang mit verteilten Systemen werden in [CDK12] die Zugriffs- und die Ortstransparenz genannt. Als Beispiel für die Relevanz eines orts- sowie zugriffstransparen-ten Dienstes wird dort die E-Mail aufgeführt, da es zum Senden einer E-Mail weder der Kenntnis des physischen noch des logischen Ortes des Empfängers im Netzwerk bedarf. Die Erfüllung der verschiedenen weiteren Transparen-zeigenschaften bestimmt dabei den Grad der Transparenz eines verteilten Sy-stems [CDK12].

Eine konkrete Technologie, die sich Transparenzeigenschaften zunutze macht, um heterogene Ressourcen nach außen hin als für den Nutzer gleichar-tig anzubieten, ist die Virtualisierung [CDK12]. Ziel der Virtualisierung ist es, eine Abstraktionsschicht zwischen einer Anwendung und einer Ressource zu etablieren, um beispielsweise heterogene Ressourcen wie spezielle Netzwerka-dapter nach außen hin als übliche Netzwerkschnittstellen erscheinen zu las-sen. Virtualisierung wird als eine der zentralen Technologien für Cloud Com-puting betrachtet [BVS13]. Im Cloud ComCom-puting findet sich oft die (Betriebs-) Systemvirtualisierung (system virtualization), die es zum Ziel hat, gleicharti-ge virtualisierte Betriebssystem-Instanzen auf heterogleicharti-gener Hardware bereit-zustellen, um die Skalierbarkeit zu erhöhen und die Austauschbarkeit der zu-grunde liegenden Ressourcen zu ermöglichen.

Hohe Transparenzgrade von stationären verteilten Systemen können jedoch auch nachteilig sein, wenn es beispielsweise um die Maskierung von Syste-mausfällen geht, die unter Umständen besser dem Nutzer explizit mitgeteilt werden und ihm die Möglichkeit zum Abbruch bieten [CDK12]. Weitere Bei-spiele betreffen unter anderem die Konsistenzbedingungen. Im Zusammen-hang mit Replikations- und Nebenläufigkeitstransparenz können diese zu län-geren Synchronisierungsphasen führen und sich negativ auf die Performan-ce des Gesamtsystems auswirken. Zusammen mit der noch höheren Hetero-genität der Geräte in verteilten mobilen Systemen kann es sinnvoll sein, ge-wisse Transparenzeigenschaften aufzugeben und eine konkrete Awareness be-stimmter Verteilungsaspekte den Anwendungen gegenüber explizit zu machen [Sat01]. Die Details hinsichtlich eines sinnvollen Transparenzgrades werden im Laufe der Konzeption einer adaptiven Anwendungsarchitektur weiter de-tailliert.