Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Mobile Middleware Context Awareness vs. Transparenz

Ähnliche Präsentationen


Präsentation zum Thema: "Mobile Middleware Context Awareness vs. Transparenz"—  Präsentation transkript:

1 Mobile Middleware Context Awareness vs. Transparenz
Vortrag im Seminar „Informationsverwaltung in Netzen“ Uli Raffel Uli Raffel Mobile Middleware /22

2 Gliederung Mobile Systeme Anwendungen für Mobile Systeme
Zum Vergleich: Middleware f. Verteilte Systeme Bei Middleware f. Mobile Systeme: Entscheidung: Transparenz vs. Context Awareness Context Awareness bei Mobilen Systemen: Anwendungsspezifische Strategien zum Datenabgleich replizierter Daten (data reconciliation) Beispiel: verteilter Einkaufswagen Metadaten Reflection Beispiel: Route Aggegation Uli Raffel Mobile Middleware /22

3 Mobile Geräte Laptop Handy PDA Chips (ohne GUI) ...
Uli Raffel Mobile Middleware /22

4 => Ähnlichkeiten zu Peer-to-Peer-Netzen
Mobile Ad-hoc-Netze Mobile Geräte... haben begrenzte Reichweite bilden Ad-Hoc-Netze sind hochgradig mobil betreten und verlassen das Netz häufig haben knappe Ressourcen: Batterie, CPU, Speicher, Bandbreite Jeder Knoten ist zugleich Endpunkt und Router Keine Infrastruktur, die Routing unterstütz i.a. Broadcast nötig => Ähnlichkeiten zu Peer-to-Peer-Netzen Uli Raffel Mobile Middleware /22

5 Anwendungen für Mobile Systeme
Verkehrswarnsystem Spiele Militär Tauschbörsen Tierbeobachtung Katastrophenschutz Touristeninformationssystem: mobile Teilnehmer in begrenzter Umgebung (Stadt, Museum, Messe) Informationsanfrage zu Gegenständen (Gebäude, etc.) bei Näherung Direkte oder indirekte Antwort(en) von Teilnehmer(n) im räumlichen Umfeld Uli Raffel Mobile Middleware /22

6 Uli Raffel Mobile Middleware 6/22

7 Middleware für Mobile Systeme
soll helfen, mobile Anwendungen zu entwickeln muss leichtgewichtig sein soll asynchrone Kommunikation unterstützen soll technische Aspekte für die Anwendung transparent machen (?) Uli Raffel Mobile Middleware /22

8 Middleware für Verteilte Systeme
Zum Vergleich: Middleware für Verteilte Systeme soll helfen, verteilte Anwendungen zu entwickeln versteckt technische Aspekte vor der Anwendung Heterogenität Fehlertoleranz Ressourcenverteilung bietet dem Anwendungsentwickler das Bild eines großen zentralen Systems (-> Verteilungstransparenz) Uli Raffel Mobile Middleware /22

9 Verteilungstransparenz für Mobile Systeme (?)
Middleware wäre dann schwergewichtig Middleware müsste stabile Verbindung voraussetzen Middleware müsste dann Verteilungsentscheidungen für die Anwendung treffen hat aber keine applikationsspezifischen Informationen, wann wo welche Daten benötigt werden Anwendung könnte aber entscheidende Informationen haben Lösung: Context Awareness Uli Raffel Mobile Middleware /22

10 Context Awareness Es gibt keine sinnvolle statische Strategie, die eine Anwendung der Middleware mitteilen kann Anwendung muss also mit Middleware kommunizieren z.B. kann die Anwendung besser wissen, auf welchem Host Daten zu replizieren sind, damit sie nicht verloren gehen Anwendung kann wissen, wie mit Inkonsistenzen bei replizierten Daten umzugehen ist (siehe nachfolgendes Beispiel) Uli Raffel Mobile Middleware /22

11 Verteilter Einkaufswagen
3-Personen-Familie mit 1 PC und 3 PDAs PC enthält Produktpalette eines Shops und einen Einkaufswagen (Datenaustausch übers Internet) Daten werden auf PDAs repliziert Bei Verbindung PC <-> PDA oder PDA <-> PDA werden Daten abgeglichen (data reconciliation) Uli Raffel Mobile Middleware /22

12 Verteilter Einkaufswagen (2)
Daten auf PDA A Daten auf PDA C Daten auf PDA A nach lokalem Update des Einkaufswagens Uli Raffel Mobile Middleware /22

13 Verteilter Einkaufswagen (3)
Bspl. 1: Auf PC wird durchs Internet Preis für Käse aktualisiert (nur noch 3,25) PDA B übernimmt neuen Preis PDA A hat noch alten Preis (3,50) PDA A und PDA B begegnen sich Sinnvolles Verhalten beim Abgleich: Preis 3,25 Bspl. 2: Auf PDA A wird 1 Milch in den Einkaufswagen gelegt Auf PDA C werden 2 Milch in den Einkaufswagen gelegt PDA A und PDA C begegnen sich Sinnvolles Verhalten beim Abgleich: 3 Milch im Einkaufswagen => Abgleich von Daten vom Kontext abhängig Uli Raffel Mobile Middleware /22

14 Abgleich von replizierten Daten
... am Beispiel XMIDDLE bei Begegnung zweier Geräte: gemeinsam genutzte Daten werden ermittelt letzte gemeinsame Version dieser Daten wird ermittelt Änderungen seit dieser Version werden ermittelt Änderungen, die keinen Konflikt erzeugen, werden jeweils übernommen bei Änderungen, die Konflikt erzeugen (Änderung der gleichen Elemente/Attribute) wird Konflikt aufgelöst Uli Raffel Mobile Middleware /22

15 Abgleich von replizierten Daten (2)
Konfliktauflösung Anwendung kann Auflösungsstrategien vorgeben: add, last, random, first, greatest beide Anwendungen haben gleiche Strategie vorgegeben: sie wird verwendet beide Anwendungen haben unterschiedliche Strategien vorgegeben: dominante Strategie wird verwendet Anwendungen haben keine Strategie vorgegeben: Default-Strategie: last Uli Raffel Mobile Middleware /22

16 Metadaten Anwendung gibt der Middleware Informationen, wie sie sich zu verhalten hat Passive Information Middleware soll auf Veränderungen im Ausführungskontext reagieren z.B. Verbindung trennen bei niedrigem Batteriestand Aktive Information Middleware soll für jeden Dienst, den sie erbringt, bestimmte Policy verfolgen. z.B. bei viel verfügbarem Speicherplatz eine lokale Kopie von Daten anlegen, bei wenig Speicherplatz und guter Verbindung nicht. Uli Raffel Mobile Middleware /22

17 Reflection Reflection erlaubt es einem Programm, auf seine eigene Interpretation zuzugreifen, über sie nachzudenken und sie zu verändern. Reflection hier: Verbreitung von Umweltinformationen an Applikationsschicht erreichbare Hosts/Dienste Batteriestand Speicherplatz CPU-Auslastung Ort Relativer Ort zu Diensterbringern (z.B. Drucker) Bandbreite Uli Raffel Mobile Middleware /22

18 Route Aggregation Netzwerk wird in Gruppen organisiert
Gruppen werden von Aggregation Point (AP) verwaltet Anfragen gehen an AP AP kann cachen Uli Raffel Mobile Middleware /22

19 Route Aggregation (2) Voraussetzung: Jeder Peer kann jeden (über mehrere Hops) erreichen (Multihop-Konnektivität) bei mehr als N Nachbarn: Wahl eines AP Knoten neu im Netz: Auswahl eines geeigneten AP -> hier kann Reflection verwendet werden Uli Raffel Mobile Middleware /22

20 Route Aggregation (3) Anfrage an AP, AP liefert Adresse des Zielknotens Content direkt vom Zielknoten reguläre Abmeldung an AP Ausschluss bei Ausfall durch Heartbeat-Nachrichten Rücktritt eines AP bei zu vielen Knoten (-> Group Splitting) zu wenigen Knoten (-> Group Merging) „persönlichen Gründen“ (z.B. Batterie knapp, CPU-Überlastung) Uli Raffel Mobile Middleware /22

21 Route Aggregation - Kritik
Multihop-Konnektivität unrealistisch Rücktritt des AP bei Group Splitting unintuitiv problematisch bei homogenen Netzen bei hoher Dynamik/Mobilität ungeeignet AP selbst sollte nicht mobil sein Uli Raffel Mobile Middleware /22

22 Zusammenfassung Middleware für Mobile Systeme
Entscheidung: Transparenz vs. Context Awareness Bei Verteilten Systemen: Transparenz Bei Mobilen Systemen: Context Awareness Context Awareness: Anwendungsspezifische Strategien zum Datenabgleich replizierter Daten (data reconciliation) Beispiel: verteilter Einkaufswagen Metadaten Reflection Beispiel: Route Aggegation Uli Raffel Mobile Middleware /22


Herunterladen ppt "Mobile Middleware Context Awareness vs. Transparenz"

Ähnliche Präsentationen


Google-Anzeigen