Mobilkommunikation Kapitel 10: Mobilitätsunterstützung Dateisysteme Datenbanken WWW und Mobilität WAP (Wireless Application Protocol), i-mode & Co. Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.1 Mobile, tragbare Multimedia-Ausstattung … Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.2 WWW und Mobilität Protokoll (HTTP, Hypertext Transfer Protocol) und Sprache (HTML, Hypertext Markup Language) des Web wurden nicht für mobile Anwendungen entworfen, daraus resultieren zahlreiche Probleme! Typische Datengrößen HTTP request: 100-350Byte Antworten typ. <10kByte, Kopf 160Byte, GIF 4,1kByte, JPEG 12,8kByte, HTML 5,6kByte aber auch viele sehr große Dateien, nicht vernachlässigbar Das Web ist kein Dateisystem! Web-Seiten sind nicht nur einfach Dateien, die geladen werden statische und dynamische Inhalte, Interaktion mit Servern über Formulare, Inhaltstransformation, push-Strategien zahlreiche Querverweise, kein transparenter Datenstrom, automatisches Nachladen ein Klick auf eine Datei kann große Konsequenzen haben! Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.12 WWW-Beispiel Request to port 80: or: GET / HTTP/1.0 GET / HTTP/1.1 Host: www.inf.fu-berlin.de Response from server non persistent HTTP/1.1 200 OK Date: Wed, 30 Oct 2002 19:44:26 GMT Server: Apache/1.3.12 (Unix) mod_perl/1.24 Last-Modified: Wed, 30 Oct 2002 13:16:31 GMT ETag: "2d8190-2322-3dbfdbaf" Accept-Ranges: bytes Content-Length: 8994 Connection: close Content-Type: text/html <DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>FU-Berlin: Institut f&uuml;r Informatik</TITLE> <base href="http://www.inf.fu-berlin.de"> <link rel="stylesheet" type="text/css" href="http://www.inf.fuberlin.de/styles/homepage.css"> <!--script language="JavaScript" src="fuinf.js"--> <!--/script--> </head> <body onResize="self.location.reload();"> ... Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.13 HTTP 1.0 und Mobilität I Eigenschaften zustandslos, Client/Server, Anfrage/Antwort erfordert verbindungsorientiertes Protokoll, eine Verbindung pro Anfrage (meist TCP eingesetzt) – Verbesserungen in HTTP/1.1 primitive Caching- und Sicherheitsmodelle Probleme entworfen für große Bandbreiten und geringe Verzögerungen große und redundante Protokollköpfe (lesbar für Menschen, kein gespeicherter Zustand erfordert stets umfangreiche Köpfe) unkomprimierte Übertragung von Inhalten mit TCP großer Overhead pro Anfrage durch 3-Wege-Handshake verglichen mit dem eigentlichen Inhalt (z.B. GET request) slow-start Problematik DNS-lookup durch Client erzeugt zusätzlichen Verkehr Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.14 HTTP 1.0 und Mobilität II Caching oftmals von Dienstanbietern verhindert damit Benutzungsstatistiken erstellt werden können dynamische Objekte können nicht im Cache abgelegt werden zahlreiche Zähler, Datum, Personalisierungen, ... Mobilität macht oft Caches unmöglich Sicherheitsproblematik wie verhält sich SSL im Zusammenhang mit Proxys Sehr viele Seiten werden erst nach Anforderung nutzerabhängig erstellt (CGI, ASP, ...) POST (d.h. Senden zum Server) kann i.allg. nicht gepuffert werden, damit problematisch falls gerade abgekoppelt Genügend ungelöste Fragen! Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.15 HTML und mobile Endgeräte HTML entworfen für Endgeräte höherer Leistung, Farbdisplay, Maus Optimierung der „Ästhetik“, nicht des Kommunikationsaufwandes Mobile Endgeräte haben oft nur kleine Anzeigen niedriger Auflösung und sehr eingeschränkte Eingabemöglichkeiten weitere „Features“ animierte GIFs, Java AWT, Frames, ActiveX Controls, Shockwave, Filmclips, Audio, ... heute schon werden Echtfarbendarstellung, Multimedia-Unterstützung, hohe Auflösungen beim Entwurf von Web-Seiten vorausgesetzt Die Mehrzahl der HTML-Seiten enthält Fehler Browser müssen sehr leistungsfähig sein, um diese Fehler „auszugleichen“ Heterogenität der Endgeräte wird weitgehend ignoriert! also werden z.B. auch große Bilder automatisch zum Mobiltelefon mit geringer Auflösung unter hohen Kosten übertragen ! Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.16 Ansätze in Richtung Web für mobile Endgeräte Anwendungs-Gateways, erweiterte Server einfache Clients, Vorberechnungen im Festnetz Kompression, Filterung, Inhaltsextraktion automatische Anpassung an Netzwerkgegebenheiten Beispiele Skalierung von Grafiken, Farbreduktion, Änderung des Dokumentenformats (z.B. PS nach TXT) Detailbetrachtungen, Ausschnitte, Zoom Extraktion von Überschriften, Zusammenfassung des Textes HDML: einfache, HTML-ähnliche Sprache mit speziellem Browser HDTP: passendes Protokoll, entwickelt von Unwired Planet Probleme proprietäre Ansätze, erfordern eine Menge spezieller Zusätze für Browser große Geräteheterogenität erschwert Ansätze Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.17 Neue Techniken, die der Mobilität helfen? Push-Technik echtes push, kein Client-Pull, channels etc. HTTP/1.1 client/server nutzen die selbe Verbindung für mehrere Anfragen/Antworten mehrere Anfragen zu Beginn einer Sitzung möglich, die Antworten kommen dann in der Anfragereihenfolge erweiterte Zwischenspeicherung von Antworten möglich (falls Antworten identisch) semantische Transparenz ist nicht immer machbar: abgetrennt, geringe Leistung, Verfügbarkeit neue tags und Optionen um das Caching besser zu steuern (public/private, max-age, no-cache etc.) Konsistenz kann auf Nutzerwunsch abgeschwächt werden Kodierung/Kompression, Integritätsprüfung, Sicherheit von Proxies, Authentisierung, Authentifikation... Cookies: nun..., Sitzungen mit Zustand, nicht richtig integriert Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.18 WAP - Wireless Application Protocol Ziele Internet-Inhalte und erweiterte Dienste sollen zu mobilen Endgeräten (Telefone, PDA, ...) geliefert werden Unabhängigkeit von Standards drahtloser Netze offen für alle, Vorschläge („weltweite Protokollspezifikation“) werden Standardisierungsgremien vorgelegt Anwendungen sollen über aktuelle Transportmedien, Gerätetypen hinweg skalieren und auch auf zukünftige Entwicklungen anwendbar sein Plattformen beispielsweise GSM (900, 1800, 1900), CDMA IS-95, TDMA IS-136, Systeme der 3. Generation wie IMT-2000, UMTS, W-CDMA, cdma2000 1x EV-DO Forum Früher: WAP-Forum, mitgegründet von u.a. Ericsson, Motorola, Nokia, Unwired Planet, weitere Informationen unter www.wapforum.org Jetzt: Open Mobile Alliance www.openmobilealliance.org (Open Mobile Architecture + WAP Forum + SyncML + …) Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.22 WAP - Standardisierungsinhalte Browser „Micro-Browser“, ähnlich der bekannten Browser vom Internet Script-Sprache ähnlich zu Java-Script, angepasst an das mobile Umfeld WTA/WTAI Wireless Telephony Application (Interface): Zugriff auf Telefonfunktionalitäten Inhaltsformate z.B. Visitenkarten (vCard), Kalenderereignisse (vCalender) Protokollstapel Transport-, Sicherheits- und Sitzungsschicht Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.23 WAP 1.x - Schichtenarchitektur und Protokolle Internet HTML, Java A-SAP WAP Weitere Dienste und Anwendungen Application Layer (WAE) S-SAP Session Layer (WSP) HTTP TR-SAP Transaction Layer (WTP) SEC-SAP SSL/TLS Security Layer (WTLS) T-SAP TCP/IP, UDP/IP, Medien Transport Layer (WDP) WCMP Trägerdienste (GSM, CDPD, ...) WAE beinhaltet z.B. WML (Wireless Markup Language), WML Script, WTAI Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.24 Wireless Markup Language (WML) WML folgt einer Stapel/Blatt (Skat) [deck] und Karten [card] Metapher WML-Dokumente bestehen aus vielen Karten, Karten werden zu Stapeln gruppiert ein Stapel ist einer HTML-Seite ähnlich und stellt eine Übertragungseinheit dar WML beschreibt nur die Absicht einer Interaktion in einer abstrakten Art die Umsetzung/Präsentation hängt dann von den Gerätefähigkeiten ab Eigenschaften Texte, Bilder Benutzerinteraktion Navigation Inhaltsverwaltung Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.52 WML – Beispiel I <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="Karte_eins" title="Einfaches Beispiel"> <do type="accept"> <go href="#Karte_zwei"/> </do> <p> Dies ist eine einfache erste Karte! <br/> Auf der folgenden Karte kann eine ... </p> </card> Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.53 WML – Beispiel II <card id="Karte_zwei" title="Pizzawahl"> <do type="accept" label="weiter"> <go href="#Karte_drei"/> </do> <p> ... Pizza bestellt werden! <select value="Mar" name="PIZZA"> <option value="Mar">Margherita</option> <option value="Fun">Funghi</option> <option value="Vul">Vulcano</option> </select> </p> </card> <card id="Karte_drei" title="Die Pizza!"> <p> Ihr Pizzaparameter ist <b>$(PIZZA)</b>! </p> </card> </wml> Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.54 WMLScript Ergänzung zu WML Stellt allgemeine Skript-Fähigkeiten zur Verfügung Eigenschaften Gültigkeitsüberprüfung von Benutzereingaben Zugriff auf Gerätefunktionen Hardware und Software (Telefonanruf, Adressbuch etc.) lokale Benutzerinteraktion Überprüfung der Eingabe bevor diese an einen Server gesendet wird Interaktion ohne Verzögerung (RTT) Erweiterung der Geräte-Software Gerätekonfiguration, Laden neuer Funktionen nach der Auslieferung Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.55 WMLScript - Beispiel function pizza_test(pizza_typ){ var geschmack="unbekannt"; if (pizza_typ="Mar") { geschmack="Na ja ..."; } else { if (pizza_typ="Vul") { geschmack="Gut scharf"; }; }; return geschmack; }; Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.56 Wireless Telephony Application (WTA) Sammlung telefonspezifischer Erweiterungen Erweiterung des Standard-WAE-Anwendungsmodells content push ein Server kann Inhalte direkt auf einen Client schieben der Client kann nun evtl. bisher unbekannte Ereignisse verarbeiten Behandlung von Netzereignissen eine Tabelle zeigt auf, wie auf bestimmte Ereignisse vom Netz zu reagieren ist Zugang zu Telefonfunktionen jede Anwendung auf dem Client kann auf Telefonfunktionen zugreifen Beispiel Rufen einer Nummer (WML) wtai://wp/mc;07216086415 Rufen einer Nummer (WMLScript) WTAPublic.makeCall("07216086415"); Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.57 Push/Pull-Dienste in WAP I Service Indication Kurze Mitteilung über einen Dienst durch einen Push Nutzung des Dienstes durch einen Pull Identifikation durch URI <?xml version="1.0"?> <!DOCTYPE si PUBLIC "-//WAPFORUM//DTD SI 1.0//EN" "http://www.wapforum.org/DTD/si.dtd"> <si> <indication href="http://www.piiiizza4u.de/angebot/salat.wml" created="2000-02-29T17:45:32Z" si-expires="2000-02-29T17:50:31Z"> Salat-Spezial: Das 5-Minuten-Angebot </indication> </si> Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.64 Push/Pull-Dienste in WAP II Service Loading Kurze Push-Nachricht an den Client mit URI Nutzeragent entscheidet über Nutzung der URI durch Pull Transparent für einen Nutzer, sieht immer wie ein Push aus <?xml version="1.0"?> <!DOCTYPE sl PUBLIC "-//WAPFORUM//DTD SL 1.0//EN" "http://www.wapforum.org/DTD/sl.dtd"> <sl href="http://www.piiiizza4u.de/angebot/salat.wml"> </sl> Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.65 i-mode – vor allem ein Geschäftsmodell! Zugang zu Internet-Diensten in Japan/NTT DoCoMo Dienste Sehr großer Erfolg, über 30 Mio. Nutzer Email, Kurznachrichten, Web, Austausch von Bildern, Horoskope, ... Für viele ist dies ein PC-Ersatz, PC-Dichte in Japan „relativ“ niedrig Ermöglichte für viele ersten Internet-Kontakt Sehr einfach und bequem in der Handhabung Technik 9,6 kbit/s (Erweiterungen bis zu 28,8 kbit/s), paketorientiert (PDC-P) Compact HTML plus proprietäre tags, spezielle Transportschicht (stop&go, ARQ, push, verbindungsorientiert) Mobiles Endgerät Mobilnetz cHTML + tags HTTP(S) TL TL PDC-P PDC-P TCP IP L2 L1 Gateway TCP IP L2 L1 Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ TCP IP L2 L1 Inhalteanbieter cHTML + tags HTTP(S) TCP IP L2 L1 MC SS05 10.67 i-mode push mit SMS Anwendung WSP WTP Häufiges Missverständnis: WAP war kein Erfolg, i-mode ist unterschiedlich und ein Erfolg – falsch aus technischer Sicht, richtig aus wirtschaftlicher Sicht… WDP SMS Netzbetreiber schickt eine SMS mit Push-Nachricht falls eine email vorliegt. Danach erfolgt ein HTTPGet mit der email als Antwort, falls ein Nutzer die email lesen möchte. Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ i-mode ist ein Geschäftsmodell: - Inhalteanbieter bekommen >80% der Gebühren. - technologieunabhängig (GSM/GPRS in Europa, PDC-P in Japan – aber auch UMTS!) MC SS05 10.68 i-mode Protokollstapel auf WAP 2.0 basierend Endgerät Gateway Server cHTML cHTML HTTP HTTP SSL SSL WTCP WTCP TCP TCP IP IP IP IP L2 L2 L2 L2 L1 L1 L1 L1 i-mode kann WAP –Protokolle nutzen (z.B.: i-mode in Deutschland über GSM/GPRS) Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.69 i-mode – Technische Anforderungen Functions Descriptions WEB Access Portal Site / Internet Access M i-mode HTML (cHTML+tags) E-mail Internet e-mail and inter-terminal email M HTTP 1.1 Security End-End security O SSL (Version 2, 3), TLS 1 Java Java application made available O Compatible i-mode JAVA Ringing tone download Ringing melody download M SMF based Image download Stand-by screen download M GIF (O: JPEG) Voice call notification during imode session Voice termination notified and responded during i-mode communications M 3GPP standard system Content charge billing Per content charge billed to user M Specifications depend on each operator’s billing system Third party payment collection Content charge collection on behalf of Content Provider M Specifications depend on each operator’s billing system Reverse billing Packet usage charges can be billed to third party O Specifications depend on each operator’s billing system Subscriber ID transmission Hashed subscriber ID from the operator’s portal to the CP transmission on each content access M The ID generation algorithm should be determined by each operator and has to be secret Number of characters per email Number of characters (byte) per e-mail M To be defined by operators (e.g. 500 byte, 1K byte, 10K byte) Character code set supported Character code set supported by browser and used to develop content M To be defined by operators User Agent Browser specifications to be notified M HTTP 1.1 i-mode button Dedicated button O Hard or soft key Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ Status MC SS05 Requirement 10.70 i-mode Beispiele I Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.71 i-mode Beispiele II Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.72 i-mode Beispiele III Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.73 WAP 2.0 (Juli 2001) Neu für Entwickler XHTML TCP mit „Wireless Profile“ HTTP Neue Anwendungen Farbgrafik Animation Laden großer Dateien Ortsabhängige Dienste Synchronisation mit PIMs Pop-up/kontextsensitive Menüs Ziel: Integration von WWW, Internet, WAP, i-mode Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.74 Externe Dienste EFI KryptoBibliotheken WAE/WTA User Agent (WML, XHTML) Push Provisioning Authentifizierung Service Lookup Identifikation PKI Gesicherter Transport Gesicherte Träger Push OTA Cookies Synchronisation Hypermedia Transfer (WTP+WSP, HTTP) Verbindungen (TCP mit wireless profile) Datagramme (WDP, UDP) IPv4 CSD IPv6 MMS Nachrichten Streaming Transport Navigation Discovery Capability Negotiation USSD SMS GUTS FLEX Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ ... MPAK MC SS05 ... 10.75 Protokollrahmenwerk Inhaltsformate Sitzung Multimedia Messaging (Email) Transfer Sicherheitsdienste Träger Dienstelokalisierung Anwendungsrahmenwerk WAP 2.0 Architektur WAP 2.0 Protokollstapel WAP-Gerät WAE WSP WTP WTLS WDP Träger WAP-Gateway WSP WTP WTLS WDP Träger Web-Server WAE HTTP HTTP TLS TCP IP TLS TCP IP WAP-Gerät WAE HTTP TCP‘ IP WAP 1.x Server/Gateway/Client WAP-Gerät WAE HTTP TLS TCP‘ IP WAP-Proxy TCP‘ IP TCP IP Web-Server WAE HTTP TLS TCP IP WAP-Proxy HTTP TCP‘ IP HTTP TCP IP Web-Server WAE HTTP TCP IP WAP HTTP Proxy mit angepasstem TCP WAP-Gerät WAE HTTP TCP‘ IP WAP Proxy mit TLS-Tunneling Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ IP-Router IP IP WAP Direkter Zugriff MC SS05 10.76 Web-Server WAE HTTP TCP IP Java 2 Platform Micro Edition „Java-Boom erwartet“ (?) Desktop-Bereich: über 90% Standard-PC-Architektur, Intel-x86-kompatibel, meist MS-Windows-Systeme Was soll hier Plattformunabhängigkeit helfen? ABER: Heterogene, „kleine“ Geräte Internet Appliances, Mobilfunktelefone, eingebettete Steuerungen, Autoradios, ... Aus technischer Notwendigkeit (Temperatur, Platz, Leistungsaufnahme, ...) und Kostengründen unterschiedliche Hardware benötigt J2ME Bereitstellung einer einheitlichen Plattform Teilweise eingeschränkter Funktionsumfang im Vergleich zu StandardJava-Plattform Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.77 Anwendungen von J2ME Beispiel Mobiltelefone NTT DoCoMo führt ippli ein Anwendungen auf PDA, Handy, ... Laden von Spielen, Multimedia-Anwendungen, Verschlüsselung, Systemaktualisierungen Zusatzfunktionen gegen Geld auf Knopfdruck laden Eingebettete Steuerungen Hausgeräte, Fahrzeuge, Überwachungssysteme, Gerätesteuerungen Vorrangig Systemaktualisierung Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.78 Zusammenfassung J2ME Idee geht über WAP 1.x oder i-mode hinaus Vollständige Anwendungen auf Mobiltelefonen, nicht nur Browser Auch Systemaktualisierungen, Ende-zu-EndeVerschlüsselung Plattformunabhängigkeit durch Virtualisierung Solange bestimmte Schnittstellen eingehalten werden Nicht bei Hardware-spezifischen Funktionen Eingeschränkte Funktionalität im Vergleich zu JVM Übergangslösung, bis auch eingebettete Systeme/Mobiltelefone etc. gleiche Leistungsfähigkeit wie heutige Desktopsysteme besitzen Prof. Dr.-Ing. Jochen Schiller, http://www.jochenschiller.de/ MC SS05 10.81