Teil 2 (Mobilfunksysteme): Kap. 7
12 Plattformen für Wireless Applications
12.1 Drahtloser Datenaustausch in mobilen Umgebungen (OBEX, SyncML, Versit)
Charakteristika mobiler Szenarien
Traditionell: drahtgebundene Netze, Infrastrukturnetze, Leitungs- und Paketvermittlung. Er-weiterung: drahtlose Netze, Ad-hoc-Netze, Sprach- und Datenkommunikation.
Unterschiede zu stationären Szenarien:
* Verbindung oft spontan aufgebaut und beendet.
* automatisches Aushandeln der Übertragungsparameter, Dienstsuche.
* Geräten unterschiedlicher Hersteller (Datenformat, Protokoll), z.T. proprietäre Lösungen.
Spezielle Charakteristiken mobiler Endgeräte (HW, SW, Betriebssysteme). Weiterhin auto-matische Konfigurierung, Datensynchronisierung, Sicherheitsaspekte.
Dazu verschiedene Anwendungsprotokolle der mobilen Datenkommunikation, u.a. OBEX, SyncML, Versit (vCard, vCalendar, vNote, vMessage), WAP (Datenstruktur WML), i-Mode (Datenstruktur cHTML).
OBEX (Object Exchange Protocol) Konzeption
OBEX für einfachen Datenaustausch zwischen mobilen Geräten. Basis-Idee: Übertragung von
“Objekten”, ohne konkrete Datenformate im Protokoll zu spezifizieren, u.a. Textnachrichten, Visitenkarten, Memos, Bilder einer Digitalkamera. Unzureichend für kontinuierliche Daten-ströme (wie Audio- und VideoDaten-ströme).
Unterlegte Infrastrukturen: Infrarot (Basis IrDA, sog. IrOBEX), Bluetooth (L2CAP), Inter-netprotokolle TCP/IP. OBEX-Unterstützung in verschiedenen Betriebssystemen: PalmOS, MS Windows (ab Version 2000), Windows CE bzw. Mobile, Pocket PC 2002, Aripos (von C-Technologies für elektronische Stifte), einige Mobiltelefone.
Einsatz in Palm-Geräten unter PalmOS. Mittels „Beamen“ können einzelne Datensätze ein-gebauter Standardanwendungen (z.B. Terminverwaltung, Adressen, Memos) an andere Palm-Nutzer per Infrarot übertragen werden. Bekannte Anwendung: Übertragung elektronischer Visitenkarten.
Struktur
OBEX auf Anwendungsebene auf Datei-Niveau (Put/Get) abgebildet. OBEX kann auf jedem zuverlässigem Transportprotokoll aufsetzen. Protokollstrukturen (Beispiele): Internetprotokoll TCP/IP, Bluetooth Transport-Protokoll L2CAP, OBEX-Variante IrOBEX von IrDA.
Beispiel: Integration von OBEX in die IrDA-Protokollhierarchie.
Abbildung 12.1: OBEX und IrDA-Protokollhierarchie
TinyTP: zuverlässiges Transportprotokoll;
IAS-Dienst: zum Ablegen näherer Informationen des Dienstes und für Abfrage von anderen Geräten.
123 SyncML (Synchronization Markup Language)
Konzeption
SyncML: Plattform-unabhängiger Standard zur Datensynchronisation zwischen Computern und zur Datenübertragung in mobilen Anwendungsszenarien. Daten: beliebige Info‘s, i.allg.
PIM-Daten (Adressen, Kalendereinträge) oder Emails.
SyncML ist auch Beschreibungssprache (Basis: XML) und Protokollvereinbarung.
Spezialform: SyncML-DM (SyncML for Device Management) für Fernwartungsfunktionen für mobile Endgeräte, u.a. Verwaltung von Konfigurationen und SW-Aktualisierungen über einen Server.
Plattformunabhängigkeit: Offener Standard (nichtproprietär) für Endgeräte unterschiedlicher Hersteller und allge-meiner Netzwerkarchitektur ~> erlaubt Synchronisation über Internet, Mobilfunknetz oder direkt verbundene Endgeräte: TCP/IP, WSP (Wireless Session Protocol im WAP) oder OBEX.
Aufgabenstellung
Grundaufgabe: Synchronisation der Datenbestände zwischen portablen Geräten über ein be-liebiges Netzwerk, z.B.
- zwischen zentraler Datenbank und Geräten mobiler Außendienstmitarbeiter, - zwischen Kalendern aus PDAs und zentralem Kalender einer Firma,
- Lesen von Emails über mobile Endgeräte, wobei zentrale Mailbox konsistent bleibt (Push-Dienst),
- Mitnahme von Dokumenten, Editierung auf Reise und spätere Synchronisation mit Heimbe-stand.
Jedes beliebige Gerät mit SyncML-konformen Client kann Daten mit SyncML-fähigen Server abgleichen, unabhängig von Betriebssystem und Hersteller. Typische Endgeräte: PC, Mobilte-lefone, Handcomputer (Laptop, PDA, Smartphone).
SyncML Konsortium (Anfang 2000): Initiative von Ericsson, IBM, Lotus, Motorola, Nokia, Palm Inc., Psion, Starfish, Symbian. Später in OMA (Open Mobile Alliance) angesiedelt, über 200 Firmen (nicht Microsoft). Für MS Pocket-PCs gibt es SyncML Clients von Drittan-bietern. Ende 2000: erste Spezifikationen und prototypische Implementationen verfügbar.
Datensynchronisation
Abgleichen der Datenbestände zwischen verschiedenen Endgeräten (PC, Notebook, ... Mobil-telefon). Dabei u.a. kontrolliert, welches Endgerät welche Daten hat, ob das andere Endgerät die anderen Daten will, ob bei unterschiedlichen Datenversionen Änderungen beibehalten werden sollen.
SyncML-Nachrichten in einer Client/Server-Kooperation ausgetauscht:
i.allg. Start einer Synchronisation durch Client,
ab SyncML Version 1.3 auch Push vom Server zum Client.
SyncML-Nachrichten ähnlich Email-Nachrichten strukturiert: Kopf mit Empfänger- / Sender-Informationen, sowie Synchronisations-IDs für Server, gefolgt von Synchronisationsbefehlen zum Hinzufügen, Löschen oder Ersetzen von Daten.
Konzepte zur funktionellen Datensynchronisation
- ID handling: zur eindeutigen Identifikation eines Datensatzes (z.B. Adresseintrag). Realisie-rung durch eindeutige ID (identification data – i.d.R. eine Nummer). Darüber auch Gerät ausweisbar.
- Change detection: definiert, ab wann ein Datensatz als geändert gilt. Meist mit timestamp (Datum inkl. Uhrzeit) kombiniert – damit Zeitpunkt der Änderung definiert.-Modification exchange: Definiert, wie eine Änderung durchgeführt wird: Löschung, Ersetzung oder Neuerstellung.
124 - Conflict detection: Erkennung der Konfliktfälle, z.B. gleichzeitiges Ändern, wessen Daten
sind zu synchronisieren.
- Conflict resolution: Hierbei entschieden, wie die erkannten Konfliktfälle zu lösen sind, z.B.
zuerst oder zuletzt geändert ~> Festlegung des Datensatzes als Referenz zur Aktualisierung.
- Slow and fast synchronization: Festlegung, ob alle Daten zu vergleichen sind oder nur die Daten, die sich seit dem letzten Synchronisationsvorgang geändert haben.
Architektur
SyncML als Client/Server-Architektur:
- Client: mobiles Gerät (Mobiltelefon, PDA, Notebook), Server: stationärer Rechner.
Auf beiden laufen die eigentlichen Anwendungen, zusätzlich Client- bzw. Server-Agents für das Synchronisationsprotokoll.
- Auf Server zusätzlich sog. Sync Engine zur Analyse und Modifikation der Daten.
Realisierung des SyncML-Konzepts durch 2 Protokolle:
- Synchronisationsprotokoll (SyncML Synchronization Protocol): Verständigung der an der Synchronisation beteiligten Partner und Ausführung der Synchronisation,
- Darstellungsprotokoll (SyncML Representation Protocol): Spezifikation der Kodierung für Datentransport und Festlegung der Grundoperationen zur Datensynchronisation.
Kommunikationsprotokolle:
- HTTP (für Web), WSP (Sitzungsprotokoll des WAP), OBEX (für Bluetooth und IrDA).
- ggf. weitere Protokolle, wie Email-Protokolle des Internet (SMTP, POP3, IMAP), TCP/IP, proprietäre drahtlose Transportprotokolle.
SyncML-Protokollaufbau:
SyncML sichert einheitliches Austauschprotokoll für alle Geräte, unabhängig vom Gerätetyp und Übertragungsweg:
- Verschiedene Gerätetypen: PDA, Handheld, Mobiltelefon, Digitalkamera, Laptop, PC.
- Etablierte Kommunikationsprotokolle, wie HTTP (für Web), WSP (Sitzungsprotokoll des WAP), OBEX (für Bluetooth und IrDA); ggf. weitere Protokolle, wie
Email-Protokolle des Internet (SMTP, POP3, IMAP), TCP/IP, proprietäre drahtlose Transport-protokolle.
- Datenaustausch über SyncML-Synchronisationsprotokoll.
Abbildung 12.2. SyncML Protokollaufabau Synchronisationsablauf zwischen Client und Server bei SyncML:
- Datenaustausch erfolgt über SyncML-Schnittstelle (Interface)
- SyncML-konvertierte Daten werden über beliebiges Protokoll zwischen Client und Server übertragen: HTTP (TCP/IP), WSP (WAP) oder OBEX (Bluetooth, Infrarot).
- Sync Client Agent leitet einen Synchronisationsvorgang auf Basis des SyncML-Protokolls ein und verwaltet die Übertragungsvorgänge auf Client-Seite.
125 - Auf der Gegenseite wartet der Sync Server Agent auf eine Synchronisationsanforderung.
- Die Sync Engine führt dabei eine Analyse durch und prüft, welche Daten zu verändern sind.
Dazu öffnet und modifiziert sie Datenbanken, reagiert auf Veränderungen im Ter-minkalender oder aktualisiert die Ordner des Email-Programms.
Abbildung 12.3: SyncML Infrastruktur Synchronisation von Datenbeständen
Datenbank hierbei als Sammlung von Dateien und Verzeichnissen; Identifikator gebildet aus Dateiname und Pfad. Verwenden Client und Server unterschiedliche Identifikatoren, so be-zeichnet man diese serverseitig als GUID (Global Unique Identifier) und clientseitig als LUID (Local Unique Identifier). Zuordnung GUID <-> LUID erfolgt über spezielle Tabelle.
7 verschiedene Synchronisationstypen, u.a.
- Einweg-Synchronisation Client (Client sendet Änderungen an Server), - Einweg-Synchronisation Server (Server sendet Änderungen an Client),
- Zweiwege-Synchronisation (Abgleich der Client- und Serverdaten durch Austausch).
SyncML-Nachrichten zwischen Client und Server:
Nachrichten besitzen Teilnachrichten, die auch eine Unterstruktur aufweisen können, Ver-schieden Tags, Anwendung XML als Beschreibungssprache, die beliebige Verschachtelungen erlaubt.
Anwendung (Auswahl)
- Synchronisation von PIM-Daten (Kalender, Aufgaben, Adressen, ...), z.B. für Microsoft Outlook.
- Daten-Synchronisation von Push Emails.
Bekanntes SW-Werkzeug: Funambol: Java OpenSource Server und SyncML-Clients, ehemals sync4j.
Formate des Versit-Konsortiums
Infrared Data Association (IrDA) erkannte Bedeutung zur Festlegung von Datenformaten für Datenaustausch zwischen mobilen Geräten ~> Gründung Versit-Konsortium: u.a. Apple, AT&T, IBM, Siemens, HP. Ziel: Spezifikation von Standards von Formaten für drahtlosen Datenaustauch ~> nach 1996 durch Internet Mail Consortium weitergeführt.
Durch Versit-Konsortium definierte Formate:
vCard: Format entspricht der elektronischen Visitenkarte. Neben dem Namen können Bilder, Logos, und Töne in einer vCard gespeichert werden.
vCalendar: Ein vCalendar-Eintrag definiert ein Ereignis aus einem Kalender: einfacher Ein-trag (z.B. 31.12.2006: “Silvesterparty”), komplexe, regelmäßig wiederkehrende Einträge (z.B.
jeden 1. Dienstag im Monat 17 - 20 Uhr: “Vorstandssitzung”).
126 vNote und vMessage: Format für kleine textuelle Notizen oder Nachrichten. Nur geringe An-wendungsverbreitung im Gegensatz zu vCard und vCalendar. Formate vCard und vCalendar von vielen Geräten unterstützt, insbesonders Organizern.
Über OBEX-Protokoll einfacher Datenaustausch möglich. 4 Formen der Unterstützung beim Austausch von Objekten:
1. Minimum Level: Nur Übertragung einzelner Datensätze (z.B. einzelne Visitenkarten).
2. Access Level: Mehrere Datensätze auf einmal übertragbar (z.B. ganzes Telefonbuch).
3. Index Level: Datensätze anhand eines Indexes identifiziert und gezielt übertragen.
4. Sync Level: Synchronisation der Datenbestände zweier Geräte.
Beispiel vCard:
BEGIN:VCARD VERSION:2.1
N;CHARSET=ISO-8859-1:Irmscher;Klaus ADR:;;Rechnernetze & Verteilte Systeme\
Augustusplatz 10-11;Leipzig;;04109;Germany ORG:Universität Leipzig
TEL;PREF;WORK;VOICE:+49 341 97 32 271 TEL;WORK;FAX:+49 341 97 32 289
EMAIL;WORK;INTERNET:irmscher@informatik.uni-leipzig.de X-PALM-CUSTOM;2;Interests:Mobile Computing
X-PALM-CUSTOM;3;Homepage:http://www.informatik.uni-leipzig.de/rnvs/
UID:1900581 END:VCARD
Elektronische Visitenkarte oder Eintrag im elektronischen Adressbuch, Einträge können mit vCard-Format zwischen portablen Geräten ausgetauscht werden, vCard-Format auch von Web-Browsern verstanden.
12.2 WAP (Wireless Application Protocol)