CommServ2

Werbung
Kommunikations-Dienste 2
Priv.-Doz. Dr. Konrad Froitzheim ([email protected])
Vorlesungsunterlagen: http://jay.informatik.tu-freiberg.de
Konrad Froitzheim: Kommunikations-Dienste 2
1
• Kommunikationsdienste im Überblick
- Taxonomie aus Kommunikationsdienste 1
Kommunikationsdienste
Übertragungsdienste
Anwendungsdienste
…
Konsumtive Dienste
Kooperative Dienste
Steuerungsdienste
…
Anwendungselemente
Verzeichnisdienste
• Übung: praktische Arbeit am Webserver
• WebMedia
- Erweiterung von WebServern
- Datenquellen in Hilfsprogrammen
- Empfangsmodule im Klienten
- Video und Audio
Konrad Froitzheim: Kommunikations-Dienste 2
2
• Virtual Presence
- Nachbarschaft im Web
- synchrone Kommunikation mit den Nachbarn
- Metriken
- Serverarchitektur
- verteilte Server: virtual presence protocol vpp
• Video on Demand
- Individuelles PayTV
- Semantik des On-Demand
- =>Verteilprobleme in Kommunikationsdienste 1
- Optimierung der Verteilung
- Serveraufbau (RAID, Interfaces, …)
Konrad Froitzheim: Kommunikations-Dienste 2
3
1. WebMedia
1.1 Erweiterung des Webservers
• Normales Klient-Server-Modell
- Server implementiert einfaches Dateisystem
- Klient zeigt an
- integrierte Viewer für html, mime, GIF, JPEG, …
HTML/MIME
HTTP
Client
HTTP
Server
URL
Filesystem
Helper
Konrad Froitzheim: Kommunikations-Dienste 2
Filesystem
Authoring
Applikation
4
• Separate Erstellung der Webseiten
- Editor und html
- GoLive, Frontpage, Pagemill, …
- Photoshop, …
• Kennzeichnung mit MIME-Typen
- text/html, image/gif, image/jpeg
- video/quicktime, video/mpeg
- application/rtf
- Server-seitig konfiguriert bzw. abgeleitet
- Unix, Windows: nach Namenserweiterung (.htm, .gif)
- MacOS: Dateityp + Creator
- auch Heuristiken im Klienten: Namenserweiterung, Inhaltsanalyse
• Weitere Server-Funktionen
- Zugriffe aufzeichnen
- Zugriffsrechte überwachen
- mapping von Pfad- und Dateinamen
http://frodo.informatik.uni-ulm.de:80/test/Beispiel1.txt
Konrad Froitzheim: Kommunikations-Dienste 2
5
identifiziert Datei: /usr/local/www/htdocs/test/Beispiel1.txt auf frodo
Konrad Froitzheim: Kommunikations-Dienste 2
6
• Erweiterung des Servers
- Starten von Programmen
HTTP
request
HTTP server
Filesystem
HTTP
response
HTTP
request
HTTP
response
HTTP server
CGI
Data server
- Datenserver übergibt Daten an http-Server zum Übertragen
- Datenserver öffnet Direktverbindung
Konrad Froitzheim: Kommunikations-Dienste 2
7
1.2.1 WebVideo und CESC
• WebMedia: Problem
Heterogene Dienstegüte
LAN, T1/E1, ISDN, Modem
Durchsatz, Verzögerung
QoS veränderlich in der Zeit
 Individuelle Ströme
WebMedia: 1. Versuch
Individuelle Medienstromsteuerung
Konrad Froitzheim: Kommunikations-Dienste 2
8
ein Format
mehrere Ströme
verschiedene QoS
Netscape ohne Zusätze -> HTTP ->TCP
Stand der Technik
WebVideo [Frz, Wolf 1995]
Live-Media WWW-Server
individuelle Datenstrom-Steuerung
Konrad Froitzheim: Kommunikations-Dienste 2
9
JPEG-Server-Push, Differenz-GIF; H.261, MPEG
WebAudio
GSM, ADPCM
Java-Decoder
• RealNetworks
RealAudio [1996], RealVideo [1997]
spezielle Server und Klienten
• WebCams [Axis 1996; Rearden 1996]
Zoom, Drehkopf
• WebMedia: Verallgemeinerung
Component Encoding
Stream Construction
CESC: Neue Stromerzeuger
Durchsatzschätzung
Fehlerkorrektur
Neue Transportdienste
Dienstegüte (RSVP, ATM, …)
Konrad Froitzheim: Kommunikations-Dienste 2
10
Multicast (IPv6, RTP, …)
Neue Stromformate
MPEG-2, MPEG-4
MPEG-7
CESC: Kompression optimieren
JPEG-Strukturinformation
Dekompression [KF, Wolf; 1995]
DCT-Koeffizienten oft Null
M-JPEG: Kompression [KF, Boenisch; 1998]
Berechnungen vermeiden
Differenzerkennung
Komponenten wiederverwenden
D-JPEG [Wolf, KF, 1997]
conditional replenishment
Einbettung in JPEG
Konrad Froitzheim: Kommunikations-Dienste 2
11
Java-Applet
compression-toolkit
Stand der Implementierung
Component Encoder
RGB, YUV, DCT
Differenzkarte
LZW, Huffman, RLE
Stromformate
GIF
M-JPEG , D-JPEG (PlugIn)
H.261, MPEG-1 (streaming Decoder)
triviale Bewegungsvektoren
Leistung
Macintosh PPC 604e, 120 MHz
10 Klienten, 7 Mbit/s
Konrad Froitzheim: Kommunikations-Dienste 2
12
Anwendung: WebCam
WebCams
Bay-Bridge, Hardenbergplatz
OfficeCams
Kommunikationsseiten
parallel zum Telefonat
einfacher Anrufbeantworter
Video-Telefon
Anwendung: Virtuelle Präsenz
Nachbarschaft im WWW
selbe Seite, nahe Seite, …
Treffpunkt
Komunikationsseiten
Video-Icons
EU-Projekt CoBrow
Konrad Froitzheim: Kommunikations-Dienste 2
13
35 "Arbeits-Jahre" - 2,8 MEuro
Ulm, ETHZ, ULanc, Märklin, …
Anwendungen
E-Commerce
Teleteaching
Experimente in Übungen
WebMedia - schon fertig?
Component Encoding
Stream Construction
CESC: Neue Kompressionsverfahren
Verarbeitungskomponenten
Filter
Transformation
Redundanzunterdrückung
Differenzerkennung
Bewegungsvektoren
Konrad Froitzheim: Kommunikations-Dienste 2
14
Schnittstelle?
Abstraktion
QuickTime zu grob?
Beispiele
Wavelets
Arithmetische Kodierung
Basis für neue Ideen
Live-Icon
Präsenzdienste
mobile Videokonferenz
Icon-Strom mit WebMedia
Action-Tracking
Differenzerkennung
Bildausschnitt um Änderungen
Zoom, Schwenk
Konrad Froitzheim: Kommunikations-Dienste 2
15
Skalierung auf 32*32
Experimentalversion
Kameraführung optimieren
Ausschnittswahl
Ladbare Module
Klientengesteuerte Stromkonstruktion
Auflösung, …
Dienstegüte
Stromformat
CompressLets
[Bönisch,1998]
im Server ausgeführt
vom Klienten geladen
Java
Kompressions-Toolbox
Konrad Froitzheim: Kommunikations-Dienste 2
16
'hotspots'
'native' Methoden
Ergebnisse und Ausblick
PersonalWebMedia
Video (JPEG, D-GIF, D-JPEG, H.261, MPEG)
Audio (GSM, ADPCM)
http://www-vs.informatik.uni-ulm.de/soft/wv/
Macintosh, Windows, Linux
CESC
reduzierter Kompressionsaufwand
viele Stromformate
abstrakte Schnittstelle für Stream Constructor
Weitere Arbeiten
Beschleunigung: MMX, AltiVec, …
abstrakte Schnittstelle für Component Encoder
Konrad Froitzheim: Kommunikations-Dienste 2
17
CompressLets
Echtzeit-Medien im Internet
Datendurchsatz im Internet
Anschlußtechnik (Ethernet, T1, ISDN, Modem)
Beispiel: Interaktive Modellbahn
http://rr-vs.informatik.uni-ulm.de/rr
Fernsteuerung und Live-Video
1.200.000 Besucher seit April 1995
TeleExperiment
Virtuelles Labor (UNESCO, …)
Person-to-Person (chat, MBone, virtuelle Präsenz)
Metamachines
Person-Experiment
Fernsteuerung
Motoren, Schalter, Blende, …
Konrad Froitzheim: Kommunikations-Dienste 2
18
Beispiel: http://rr-vs.informatik.uni.-ulm.de
abstrakte Geräteschnittstelle
Rückkanäle
Feedback
Meßwerte
Konrad Froitzheim: Kommunikations-Dienste 2
19
1.2.2 Ausflug: JPEG-Optimierung
Color
Space
Converter
FDCT
Quantizer
Zigz ag Order
and Zero
Supp ression
Huffman
Coder
Compressed image data
Huffman
Decoder
DeZigzag:
Matrix
Reconstr.
DeQuantizer
IDCT
Color
Space
Converter
• JPEG-DCT
- 8*8 Punktematrix
- Pro 'Farbebene' (RGB, CMYK, YUV)
- Wert links/oben wird als Gleichstrom-Koeffizient bezeichnet
- Andere Werte 'Wechselstromkoeffizienten'
Konrad Froitzheim: Kommunikations-Dienste 2
20
Konrad Froitzheim: Kommunikations-Dienste 2
21
• Umquantisierung -> Kompression, Verlust an Genauigkeit
- Normalisierung
- Quantisierungschritt nimmt mit hohem Index zu
• Quantisierungsmatrizen:
Luminanz (Y)
Konrad Froitzheim: Kommunikations-Dienste 2
Chrominanz (U,V)
22
• Linearisierung
79; 0 -2 -1 -1 -1 0 0 -1 Blockende
• Statistische Betrachtungen
• Hohe Kompression  Viele Elemente = 0
Konrad Froitzheim: Kommunikations-Dienste 2
23
Y
U/V
Konrad Froitzheim: Kommunikations-Dienste 2
News 1 News 2 Office Movie Text
7.8 % 9.7 % 8.0 % 12.6 % 22.4 %
2.2 % 2.3 % 2.4 % 2.1 % 1.5 %
24
• Elemente ≠ 0 in der linken oberen Ecke
Luminanz (Y)
Konrad Froitzheim: Kommunikations-Dienste 2
Chrominanz (U, V)
25
• Leere Zeilen und Spalten
• Beispiele
Bit/Pixel
Telekonferenz
0,14
Video
0,23
Standbild
0,5
Konrad Froitzheim: Kommunikations-Dienste 2
Y
8
10
15
U/V
2
3
4
26
• Asymmetrien
Konrad Froitzheim: Kommunikations-Dienste 2
27
• IDCT algorithm:
- 1D (Chen)
- Multiplikationen ~ Additionen
• Erste Optimierung: IDCT nur in nichtleeren Spalten/Zeilen
Konrad Froitzheim: Kommunikations-Dienste 2
28
• Zweite Optimierung : 1D IDCT mit beschränkter Länge
- Grad r einer Transformation: Index des letzten Elementes ≠ 0
Konrad Froitzheim: Kommunikations-Dienste 2
29
• Dritte Optimierungsstufe: Matrix dünnbesiedelt halten
P = QTCQ = (QTC)Q = QT(CQ)
Konrad Froitzheim: Kommunikations-Dienste 2
30
• Wie erhält man die Struktur-Information?
- Nullen in der Matrix zählen ist teuer
- Compare kostet genauso wie Compute
- Konstanter Overhead
• Effizient: Huffman decode / matrix reconstruction
- Zeilen- und Spalten-Bitsets
- Overhead skaliert mit Kompression
1 1 1 0 1 0 0 0
1
1
1
1
0
1
0
0
Konrad Froitzheim: Kommunikations-Dienste 2
31
• revidierter Prozeß
• MC68040 und DSP AT&T 3210, heute: PPC 601
- JPEG Strombearbeitung in Pascal auf dem Hauptprozessor,
- Huffman, Matrix Rekonstruktion, und
- IDCT in 3210 Assembler auf 66 MHz AT&T 3210,
- YUV -> RGB in 68040 Assembler
Konrad Froitzheim: Kommunikations-Dienste 2
32
• DConly: 64 ops um vollständige Matrix zu erzeugen
• 1D IDCT auf leeren Spalten einsparen
• 1D IDCT mit Grad r implementieren
Grad
1 2 3 4 5 6 7 8
3210-Ops
12 27 33 37 42 44 46 48
PPC-Ops
17 28 33 38 40 43 46 49
• Information ist während der Matrix Rekonstruktion vorhanden:
C[i,j] := coefficient;
Set(rows[i]);
Set(cols[j]);
- skaliert mit Kompressionsfaktor
• Erste Richtung wählen
IF rows < cols THEN BEGIN
rowtransform; coltransform
END
ELSE BEGIN
coltransform; rowtransform
END;
Konrad Froitzheim: Kommunikations-Dienste 2
33
• Beschleunigung der IDCT
msecs
110
100
90
80
70
60
Text
Movie
50
Office
40
News anchor
basic
basic
algorithm
News woman
+DConly occupied
columns + reduced
IDCT best row/
column best row/column
+ DConly
Konrad Froitzheim: Kommunikations-Dienste 2
34
• Gesamtbeschleunigung
Framerate [frames/s]
News 1 News 2
Office
Movie
Text
Basis Algorithmus
7.6
7.3
7.5
7.0
6.1
Basis + DConly
9.9
9.0
10.8
8.9
7.9
Nur besetzte Spalten
9.7
9.2
9.6
8.6
7.0
Nur besetzte Spalten
+ reduziert IDCT
11.8
10.9
12.0
9.9
8.0
Auswahl Zeile/Spalte
12.6
11.5
12.6
10.6
8.1
Auswahl Zeile/Spalte
+ DConly
14.1
(86%)
12.5
(70%)
14.5
(92%)
11.5
(65%)
8.8
(45%)
• Auf 80 MHz PowerPC > 18 fps
Konrad Froitzheim: Kommunikations-Dienste 2
35
2.Schritt: Heuristische Beschleunigung der FDCT
• Reduzierte IDCT wird aus Entropiedekoderung abgeleitet
- Bitmap beschreibt Blockstruktur
- Blockstruktur als Ergebnis der FDCT
• Woher bekommt man Blockstrukturinformation bei der FDCT?
- garnicht bei der Einzelbildkodierung
- bei M-JPEG vom vorhergehenden Bild
- nicht immer zuverlässig
Konrad Froitzheim: Kommunikations-Dienste 2
36
• Einsparpotential
- FDCT (siehe IDCT)
- Quantisierung: ca. 50%
- Zig-Zag und Huffman geringfügig
• Experimentelle Ergebnisse
- Beschleunigung der gesamten Kompression (inkl. RGB -> YUV)
Mittel
45%
52%
27%
30%
Graustufen/Video
Graustufen/Konferenz
RGB/Video
RGB/Konferenz
- erzeugtes Rauschen < 2dB
• Blockstruktur
- Blockstruktur kann sich ändern
- Block zu klein => Bild verfälscht
- Block zu groß => Rechenzeit vergeudet
Konrad Froitzheim: Kommunikations-Dienste 2
Min
28%
Max
77%
22%
35%
37
- Überwachung einbetten in Entropiekodierphase
Konrad Froitzheim: Kommunikations-Dienste 2
38
• Überwachung mit Pufferzone: ein oder zwei Zeilen bzw. Spalten
- Block erweitern falls Pufferzone Zi, Si nicht leer
- Block schrumpfen, falls Zi-1, Si-1 leer
- Singuläre Koeffizienten?
Konrad Froitzheim: Kommunikations-Dienste 2
39
Konrad Froitzheim: Kommunikations-Dienste 2
40
Konrad Froitzheim: Kommunikations-Dienste 2
41
1.3 WebMovie
• Idee: iterierte Übertragung
- 'kurze' Clips, lange Übertragung
- mehrfache Präsentation begleitet Übertragung
• Mehrschicht-Übertragung
- Auflösung (räumlich, zeitlich) aufteilen
- Iterierte Übertragung
- Empfänger setzt Film zusammen
- Echtzeit-Präsentation in steigender Qualität
Konrad Froitzheim: Kommunikations-Dienste 2
42
Konrad Froitzheim: Kommunikations-Dienste 2
43
• Verfeinerbare Medienströme
- ähnlich scalable media streams
- filtern und verschieben
Konrad Froitzheim: Kommunikations-Dienste 2
44
• Eigenschaften verfeinerbarer Medienströme
- kompletter Strom bekannt
- Informations-'Atome'
• Segmentierung
- statisch oder dynamisch
- vertikale Segmentierung (Zeit)
- horizontale Segmentierung
(Genauigkeit)
- 2-Phasen: VF oder HF
Konrad Froitzheim: Kommunikations-Dienste 2
45
• Video
- Subsampling in der Zeit - einfach
- Subsampling im Bild
• Audio
- mp3-Bänder (allocation-bitmap)
- Band-Auflösung (scale-factors)
- GSM-Gitter
• Empfänger: kein gewöhnlicher Browser
- Netscape-Plugin oder Java-Applet
- meldet empfangene Pakete an WebMovie-Server
- mit Zeitinformation
Konrad Froitzheim: Kommunikations-Dienste 2
46
• Ungesicherter Übertragungsdienst
- UDP
- Empfängerberichte (Fehler, Bandbreite)
- Integration der Wiederübertragung in die Iteration
Konrad Froitzheim: Kommunikations-Dienste 2
47
• Resultate
Al Bundy Wallace & Gromit Music Video
Beginn der Präsentation
< 3 sec
< 5 sec
< 2 sec
30.4 sec
16.2 sec
60.8 sec
10
5
30
16
22
20
Dauer der ersten Iteration
Anzahl Frames in der
ersten Iteration
Anzahl Iterationen
Übertragungszeit
relativ zu MPEG/ftp
Konrad Froitzheim: Kommunikations-Dienste 2
125%
135%
48
2. Virtuelle Präsenz
2.1 Nachbarschaft
• Dokumentenraum
- Seiten mit Information
- 'Links' verknüpfen Seiten
- Benutzer sehen niemanden
• Virtuelle Nachbarschaft
- Nachbarn sehen
- Nachbarn treffen
• Nachbarn zur Kommunikation einladen
- Telefon, Videokonferenz
- gemeinsame Arbeit
• Hilfe bei der Informationssuche
- orthogonal zu Suchmaschinen
- eventuell mit Suchmaschineninformation
Konrad Froitzheim: Kommunikations-Dienste 2
49
• Wann ist ein Benutzer auf einer Seite?
- Seite wird am Arbeitsplatz angezeigt
- aber: WebServer "zustandslos"
• Was ist Nachbarschaft?
- selbe Seite, n-Links entfernt
- ähnlicher Inhalt
- Zeit
- Stärke der Präsenz
• Umgebung visualisieren?
- WWW-Topologie
- Benutzerattribute: Symbol, Name , Kommunikationadressen
• Kommunikation starten?
Präsenz
Präsenz messen
messen
Treffpunkt
Treffpunkt
Konrad Froitzheim: Kommunikations-Dienste 2
chat,
chat,50Telefon
Telefon
2.1.1 Nachbarschaftsmodelle
• Dynamische Verzeichnisdienste (DDS)
- z.B. AOL Buddylist
Meldung bei Änderungen
Text-Chat mit Freunden und Bekannten
• Virtueller Konferenzraum (VMR)
- Kommerzielle Dienste (chatrooms)
- statische Nachbarschaft
- einige WWW-Seiten
• Dynamische Nachbarschaft
- individuell
- temporär
- positionsabhängig
• Eigenschaften des Benutzers
- Interessen, besuchte Dokumente
- Präferenzen
- Sprache, Kommunikationsmittel
Konrad Froitzheim: Kommunikations-Dienste 2
51
- Adressen
• Enthält DDS und VMR
Konrad Froitzheim: Kommunikations-Dienste 2
52
2.1.2 Modellierung
• Modellierung: Dokumentengraph
• Knoten: Seiten
- HTML-Dokumente
- enthaltene Medien (Files, Bilder, Video, Audio)
• Kanten: HyperLinks
- <A HREF="Beispiel1.txt"> Hyperlink </A>
=> … Hyperlink …
- URL = DNSname+Pfad+Dateiname
- Kanten können Gewicht haben
• Einbettung von Konferenzräumen
- offen
- geschlossen: links besonders markieren
Konrad Froitzheim: Kommunikations-Dienste 2
53
• Modellierung: Personen
• Personen im WWW
- offen für Kommunikation
- verweilen auf Knoten (Seiten)
- folgen Hyperlinks
- Attribute: Sprache, Interessen, …
• Präsenzfunktion
- Zeit auf dem Knoten
- Topologie
• Sichtbarkeit
- Präsenz in Umgebung des Ortes
- Stärke der Präsenz
BenutzerInteressen
Zeit
Intervall
Zeitpunkt
automatisch
manuell
?
same page
different page
different server
Konrad Froitzheim: Kommunikations-Dienste 2
space
gewichtete
Links
Inhaltsdifferent page
analyse
same server
54
Inhalt
• URL-basierte Metriken
- Schluß vom Aufenthaltsort des Benutzers auf Interessen des Benutzers
- space: Linkdistanz < r
- Inhaltsbezug:
Gewichtete Links: ∑wi < r*;
Contentmatching: |Ci-Ck| < r'
- Auswertung mit Karte des WWW
• Benutzerbasierte Metriken
- Benutzerinteressen im CoBrow-Server registrieren
- manuell eingeben oder/und automatisch ermitteln (Browserfilter)
- Profile 'matchen'
Konrad Froitzheim: Kommunikations-Dienste 2
55
Konrad Froitzheim: Kommunikations-Dienste 2
56
2.2 Architektur
• Präsenz messen
- ortsbezogene Verbindung
• Nachbarschaft berechnen
- neben WWW-Server
• Treffpunkte
- Benutzungsschnittstelle
- Visualisierung
• Konferenzen
- Management
- CAL: Interface zu Tools
- Merci (MBone), WebMedia, …
- Web-Telepointer
Konrad Froitzheim: Kommunikations-Dienste 2
57
2.2.1 Komponenten: Server
• User Tracking
- Java-Applet meldet Position
- html-Verbindung
• Vicinity-Server
- Linkdatenbank
- Benutzerdatenbank
- berechnet Sichtbarkeitsfunktion
- O(n2) Probleme
• Verteiltes System
- serverübergreifende Links
- keine Lastverteilung
Konrad Froitzheim: Kommunikations-Dienste 2
58
2.2.2 Virtual Presence Protocol
• CoBrow Komponenten verbinden
- http kompatibel
- in http-get, http-post gekapselt
• Objekte und Operationen
- Benutzer, Dokument, ...
- get, put für Attribute der Objekte
- enter und leave
- link und unlink
• Asynchroner Mechanismus
- subscription
- Änderungssignal
- subscribe - notification - get
• IETF-Draft [Wolf 98]
Konrad Froitzheim: Kommunikations-Dienste 2
http
cbScout
vpp
user
interface
cbScout
cbScout
VICI
COMAS
user
interface
cbScout
CAL
59
2.2.3 Komponenten: Klienten
• Treffpunkt
- zeigt Nachbarn
- startet Kommunikationsdienste
- http://www.jeanswelt.de/
• User Interfaces
- Java Applet
- dynamische html-Seite
- VRML-Szene
Konrad Froitzheim: Kommunikations-Dienste 2
60
• Konferenz mit WebMedia
• WebVideo
- Live-Media WWW-Server
- viele Klienten
- individuelle VideoStröme
- JPEG, GIF, MPEG, H.261
• WebAudio
- GSM, ADPCM
- Java-Decoder
Heiner
Andreas
Konrad Froitzheim: Kommunikations-Dienste 2
Internet
61
• Anwendungen
• Studium
- Übungen und Lernen
- Präsenz auf Skript
- ad-hoc Arbeitsgruppen
• Virtuelles Labor
- große Forschergruppen
- lose Zusammenarbeit
- Tele-Experiment
• E-Commerce
- Beratung und Verkauf im CyberStore
- direct marketing
Projekt ShopAware
Konrad Froitzheim: Kommunikations-Dienste 2
62
2.2.4 Meetlets
• Nachbarschaft personalisieren
- Rollen
- Suche nach besonderen Partnern
- Ausschluß bestimmter Personen/Rollen
- Stimmung, …
• Mobile Agenten vertreten Benutzer
- werden in VP-Server geladen
- kommunizieren mit Klient
- filtern die Nachbarschaft
- Prototyp in Java
- Meetlet Wizard nötig
Meetlet Server
Agent1
Agent2
Agent3
Internet
User1
Konrad Froitzheim: Kommunikations-Dienste 2
User3
User2
63
2.2.5 Skalierbarkeit
• Vielbesuchte Seiten
- CNN, …
- Warenhäuser
• Meetlets
• Semantische Vicinity
- Dokumenteninhalt
- zusätzliche Metrik
- hohe Such-Komplexität
• Gute Algorithmen
• Skala der Parallelität
zentral
VP-Zentrale
VP-Zentrale
Vici
Vici
MLS
MLS
Vici
Vici
MLS
MLS
Vici
Vici
MLS
MLS
Vici
Vici
MLS
MLS
Pres
Pres
DB
DB
Pres
Pres
DB
DB
Pres
Pres
DB
DB
Pres
Pres
DB
DB
parallel
Konrad Froitzheim: Kommunikations-Dienste 2
64
2.3 Ergebnisse
• Virtuelle Präsenz
- Navigationshilfe, Zusammenarbeit, neue Freunde, …
- das Web als soziales Erlebnis
• Modellierung
- Orte, Personen und Kommunikation
- Präsenzfunktion
• Implementierung
- Klienten und (verteilte) Server
- Protkoll
• Meetlets
• Dynamische Seiten und Skalierbarkeit
• http://www.cobrow.com
• Start-Ups
- Cyland AG, Karlsruhe
- TeamUp AG, Zürich
Konrad Froitzheim: Kommunikations-Dienste 2
65
3. WAP - Wireless Application Protocol
• Datendienste im Mobiltelefon
- einfache Applikationen: bestellen, bezahlen, …
- Datentransportdienst
- Internet-Zugang: Telnet, E-mail, WWW?
• Besondere Randbedingungen
- kleines Display, DSP beschäftigt, wenig RAM
- Dienstegüte schlecht (Durchsatz, Fehler, Verbindung)
- verbindungsorientiert
• Basistechnologie
- GSM, GPRS, …
- XML, TCP, IP
• Protokolle und Inhalt 'optimieren'
• Links zum Thema
http://www.wapforum.org
http://www.lrz-muenchen.de/~findling/wap/
http://www.wapweb.de, http://www.wapsites.de
Konrad Froitzheim: Kommunikations-Dienste 2
66
Konrad Froitzheim: Kommunikations-Dienste 2
67
• HTML und http sind geschwätzig
- ASCII, Telnet-bedienbar, Grafiken, …
Internet
HT TP/HTML
<HTML>
<HEAD>
<TITLE>NNN Interactive</TITLE>
<META HTTP-EQUIV="Refresh" CONTENT="1800,
URL=/index. html ">
</HEAD>
<BODY BGCOLOR="#FFFFFF"
BACKGROUND="/images/9607/bgbar5.
gif " LINK="#0A3990"
ALINK="#FF0000" VLINK="#FF0000" TEXT="000000"
ONLOAD="if(parent.frames.length!=0)top.location=
'ht
tp :// nnn. com' ;">
<A NAME="#top"></A>
<TABLE WIDTH=599 BORDER="0">
<TR ALIGN=LEFT>
<TD WIDTH=117 VALIGN=TOP ALIGN=LEFT>
<HTML>
<HEAD>
<TITLE
>NNN
Intera
ctive<
/TITLE
>
<META
HTTPEQUIV=
"Refre
sh"
CONTEN
T="180
0,
URL=/i
ndex. h
tml ">
Konrad Froitzheim: Kommunikations-Dienste 2
Wireless network
<WML>
<CARD>
<DO TYPE="ACCEPT">
<GO URL="/submit?Name=$N"/>
</DO>
Enter name:
<INPUT TYPE="TEXT" KEY="N"/>
</CARD>
</WML>
WAP
Content encoding
010011
010011
110110
010011
011011
011101
010010
011010
68
• Wireless Application Einvirnment (WAE)
- netzwerkunabhängig
- Internet-Programmiermodel
- WML und WML-Script
- Wireless Telephony Architecture
- Inhaltsformate
- Push-Service
- User Agent Profile
WSP/HTTP Request {URL}
Client
Gateway
Network
Application
WSP/HTTP Reply {Content}
Konrad Froitzheim: Kommunikations-Dienste 2
69
• Web-Gateway
- Zugriff auf bestehende Inhalte bzw. Inhaltselemente
- Hyperlinkstruktur
- Forms auf Mobiltelefon abbilden
Web Server
WAP Gateway
WML
WML Encoder
WMLScript
WSP/WTP
WMLScript
Compiler
HTTP
WML Decks
with WML-Script
Client
CGI
Scripts
etc.
WTAI
Protocol Adapters
Content
Etc.
Konrad Froitzheim: Kommunikations-Dienste 2
70
Konrad Froitzheim: Kommunikations-Dienste 2
71
• WAP Applikationen
- Zahlen an der Kasse
- Formulare ausfüllen
- Datenbankabfrage
- Telnet, …
Client
WML
WMLScript
WTAI
WML Encoder
WSP/WTP
WMLScript
Compiler
Protocol Adapters
Application
Logic
Content
WML Decks
with WML-Script
WAP Application Server
Etc.
Konrad Froitzheim: Kommunikations-Dienste 2
72
• Im Schichtenmodell
Wireless Application Protocol
Internet
HTML
JavaScript
Wireless Application
Environment (WAE)
Other Services and
Applications
Session Layer (WSP)
HTTP
Transaction Layer (WTP)
Security Layer (WTLS)
TLS - SSL
Transport Layer (WDP)
TCP/IP
UDP/IP
Bearers:
SMS
Konrad Froitzheim: Kommunikations-Dienste 2
USSD
CSD
IS-136
CDMA
CDPD PDC-P
73
Etc..
• WAP über GSM-Daten-Verbindung
WAP
Proxy/Server
Mobile
WAE
WAE
WSP
IWF
ISP/RAS
Apps on
Other Servers
WSP
WTP
WTP
UDP
UDP
IP
PPP
CSD-RF
IP
IP
PSTN Subnetwork
Circuit
Subnetwork
PPP
CSDRF
PSTN
Circuit
RAS - Remote Access Server
IWF - InterWorking Function
Konrad Froitzheim: Kommunikations-Dienste 2
74
• WML: Wireless Markup Language
- XML-basiert
- Deck und Cards
- Menus, Texteingabe, …
<wml>
<card>
<do type="accept" label="Next">
<go href="#card2"/>
</do>
Acme Inc.<BR/>Directory
</card>
<card id="card2">
<do type="accept">
<go href="?send=$type"/>
</do>
Services
<select name="type">
<option value="em">Email</option>
<option value="ph">Phone</option>
<option value="fx">Fax</option>
</select>
</card>
</wml>
Konrad Froitzheim: Kommunikations-Dienste 2
Acme Inc.
Directory
_____________
Next
Services
1>Email
2 Phone
3 Fax
FaFax_______
OK
_____
75
• Deck
- entspricht ungefähr einer Seite
- enthält mehrere Cards
- Navigation zwischen Karten
- enthält XML und document type declaration
- <WML> Element
<?xml version="1.0"?>
<!doctype wml public "-//WAPFORUM//DTD WML 1.0//EN"
"http://www.wapforum.org/DTD/wml.xml">
<wml>
...
</wml>
• Besonderheiten
- Navigation im Deck ähnlich Anchor im Document
- Variablen
- Besondere Maßnahmen für Handy-UI
Konrad Froitzheim: Kommunikations-Dienste 2
76
• Task
- Verarbeitung
- Antwort auf einen Event
- Timer, Card betreten, …
- GO, PREV, REFRESH, NOOP
<do type="ACCEPT" label="Next">
<go href="http://www.mysite.com/myapp.wml"/>
</do>
• DO bindet einen Task an UI-event
- Aktionen: ACCEPT, OPTIONS, HELP, PREV, DELETE, RESET
- Label: Text string oderr image (optional)
-Ziel: URL
- METHOD=POST => Formular Posten
- Präsentation bestimmt durch User-Agent (Telefon)
Konrad Froitzheim: Kommunikations-Dienste 2
77
• User Input
- Select: Auswahl aus einer Liste
- Input: Eintippen
• Variablen
- Gesetzt durch SELECT und INPUT
- Übergabe von Eingaben an andere Karten bzw. Post-Message
•Select lists
- Auswahl aus Liste
<card>
<do type="accept" label="View">
<go href=" getcity.cgi?location=$city"/>
</do>
Forecast
<select name="city">
<option value=" ber">Berlin</option >
<option value=" rom">Rome</option>
<option value="Find" onclick="find. cgi">New
</select>
</card>
Konrad Froitzheim: Kommunikations-Dienste 2
Forecast
1 Berlin
2 Rome
3>New City
____________
Find
City</option>
78
• Input Felder
- Text- oder Zahleingabe
- Format zur Eingabekontrolle
Soc. Security:
<card>
<do type="accept">
<go href="?get=person"
method="post" postdata=" userid=$ssn"/>
</do>
Soc Security:
<input name=" ssn" format="NNN\-NN\-NNNN"/>
</card>
287-33- _
____________
NUM
Soc. Security:
287-33- 7629
____________
OK
- Bsp.: *N: beliebig viele Ziffern
Konrad Froitzheim: Kommunikations-Dienste 2
79
• WML-Script
- ähnlich Javascript
- Byte-Codes für stack-orientierte virtuelle Maschine
- Übersetzung im Netz (Server)
- kann in ROM gebrannt werden
Funktion
Variable
Statements
Konrad Froitzheim: Kommunikations-Dienste 2
function currencyConvertor (currency, exchRate ) {
return currency* exchangeRate ;
}
function myDay (sunShines ) {
var myDay ;
if ( sunShines ) {
myDay = ŅGoodÓ;
} else {
myDay = Ņeven betterÓ;
};
return myDay ;
}
80
Herunterladen