1 / 22

Mobile Middleware Context Awareness vs. Transparenz

Mobile Middleware Context Awareness vs. Transparenz. Vortrag im Seminar „Informationsverwaltung in Netzen“ Uli Raffel 19.06.2003. Gliederung. Mobile Systeme Anwendungen für Mobile Systeme Zum Vergleich: Middleware f. Verteilte Systeme

weylin
Download Presentation

Mobile Middleware Context Awareness vs. Transparenz

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mobile MiddlewareContext Awareness vs. Transparenz Vortrag im Seminar „Informationsverwaltung in Netzen“ Uli Raffel 19.06.2003 Uli Raffel Mobile Middleware 1/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 2/22

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

  4. 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 4/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 5/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 7/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 8/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 9/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 10/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 11/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 12/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 13/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 14/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 15/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 16/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 17/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 18/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 19/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 20/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 21/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/22

More Related