• Keine Ergebnisse gefunden

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)