Location Based Services for Wireless Devices Kommunikation zwischen Diensten und Geräten Stephan Caldewei Projektgruppe WS 2004 / SS 2005 AG Kao Betriebssysteme und Verteilte Systeme Universität Paderborn
Übersicht Ziele Beispiele bestehender Lösungen Anwendungsszenario Auftretende Probleme Beispiele bestehender Lösungen Mobile People Architecture Jabber Auswahl einer geeigneten Lösung Stärken der dargestellten Lösungen Anforderungen an eine geeignete Lösung Vorschlag für die Projektgruppe
Ziele Möglichst viele Geräte unterstützen Möglichst nur ein Client für alle Dienste pro Gerät Content abhänging von den Fähigkeiten des Clients darstellen Möglichst geringen Aufwand für den Nutzer Möglichst geringen Entwicklungsaufwand
Anwendungsszenario - I Sie sind hier
Anwendungsszenario - II Sie sind hier
Auftretende Probleme Dienste nutzen unterschiedliche Protokolle Daten innerhalb eines Protokolls können von unterschiedlichem Typ sein Welche Daten überträgt welcher Dienst? Unterschiedlich leistungsstarke Geräte / Clients Speicherplatz Rechenleistung Darstellungsvermögen
Beispiele bestehender Lösungen ICQ – Instant Messenger mit proprietärem Protokoll Skype – Voice-Over-IP mit proprietärem Protokoll IRC – Internet Relay Chat Mobile People Architecture (MPA) – Ansatz für personenorientierte Kommunikation Jabber – Instant Messenger mit offenem Protokol
MPA - Überblick Fax Email Pager / Funkruf Instant-Messenger Mobiltelefon Telefon Pager / Funkruf Personal Proxy
MPA - Netzwerk-Layer-Modell
MPA – Personal Proxy – Kommunikationswege dienst Kommunikations- dienst Verzeichnis- dienst Personal Proxy
MPA – Personal Proxy
MPA – Personal Proxy Tracking Agent Hält Liste aller derzeit wahrscheinlich verfügbaren Kommunikationsdienste / -kanäle vor Registrierung: Manuelle An- und Abmeldung durch den Nutzer Automatische An- und Abmeldung durch den Dienst bzw. Kanal An- und Abmeldung durch zuvor definierte Zeitprofile
MPA – Personal Proxy
MPA – Personal Proxy Dispatcher
Jabber - Überblick Haupteinsatz als Instant-Messenger mit z.Zt. einigen Millionen Nutzern XML als Basis Paket von Protokollen Streaming von XML-Elementen zwischen 2 Punkten in einem Netzwerk
Jabber - Kommunikationswege Nachrichten werden über ein Servernetzwerk geleitet Clients liegen an den Kanten des Netzwerks und kommunizieren mit den Servern JID (Jabber ID) ist in der Form: user@server/resource
Jabber – Beispielnachricht
Jabber – Sichere Kommunikation Zusatzprotokoll „e2e“ End-to-End security Funktion analog zu PGP Signieren und Verschlüsseln Verwendung von üblichen PGP-Schlüsseln signieren verschlüsseln entschlüsseln Signatur prüfen
Jabber – unterstützte Clients Palm SMS RIM Pocket PC J2ME Symbian WAP Windows Linux Web
Stärken der dargestellten Lösungen MPA – Mobile People Architecture Clientabhängige Konvertierung von Content Modularer Aufbau Auch ohne Anpassungen am Client nutzbar Jabber Einfache Erweiterbarkeit dank XML Plattformübergreifend verfügbar Verschlüsselung vorgesehen
Anforderungen an eine geeignete Lösung Erweiterbare Struktur Gute Wartbarkeit und Erweiterbarkeit Unterstützung für verschieden leistungsstarke Clients Fähigkeit zur Konvertierung von Content Möglichst keine Notwendigkeit für spezielle Clientsoftware
Vorschlag für die Projektgruppe Eigene Lösung entwickeln XML als Basisprotokoll verwenden Kommunikation Dienst -> Client Kommunikation Dienst -> Dienst Konvertierungstechnologie aus MPA übernehmen Verschiedene Textstufen verschiedene Bilderstufen Mulitmedia nur auf leistungsstarken Clients Identifizierung der Clients während der Anmeldung
Transport via http XML verfügt über keinerlei Transportschicht HTTP ist sehr robust HTTP ist für nahezu jede Plattform verfügbar HTTP ist sehr schlank und erzeugt wenig Overhead Zur Erhöhung der Sicherheit ist alternativ auch HTTPS einsetzbar
Problem der Uneindeutigkeit <service=map> <body> <text> Sie befinden sich hier: </text> <image> 98475nf98gv75oijtn,mnkjhlkj8s </image> </body> <type=map> <content> <text/>Sie befinden sich hier: <map-tile> 98475nf98gv75oijtn,mnkjhlkj8s </map-tile> </content> Unterschiedlicher Inhalt – gleiche Bedeutung Zwei Lösungsmöglichkeiten: A) XML-Gateway mit div. Eingangsfiltern und definiertem Output B) Semantic-Web-Ansatz
Ausgabe auf verschiedenen Geräten Client für jede zu unterstützende Geräteklasse festlegen Möglichst Standard-Clients verwenden ggf. neu entwickeln und zum Download zur Verfügung stellen Contentanalyse auf dem Server Einteilung des Content in Contentkomplexitätsklasse Einteilung der Clients in Fähigkeitsklassen Falls Contentklasse > Clientklasse => Konvertierung des Content in „kompatible“ Klasse
Zusammenfassung MPA als auch Jabber zu umfangreich und zu weit weg von unserem Anwendungszenario XML als Protokoll der Wahl Ansatz zur Vermeidung von Mehrdeutigkeiten vorzugsweise via Semantikerkennung Anpassung der Daten an Clients auf Serverseite Möglichst keine Clients selbst entwickeln
Danke für die Aufmerksamkeit