Title: Wireless IP Multimedia
1Wireless IP Multimedia
- Henning Schulzrinne
- Columbia University
- MOBICOM Tutorial, September 2002
2Overview
- Types of wireless multimedia applications
- streaming
- interactive
- object delivery
- Properties of multimedia content
- loss resiliency
- delay
- reordering
- 3G and WLAN MM-related channel properties
- effective bandwidth
- packet loss
- delay
- Header and signaling compression
- cRTP
- ROHC
- signaling compression
- Packet FEC
- UMTS multimedia subsystem (IMS)
- QoS
- Session setup
- Fast handoff mechanisms
- Multimodal networking
3Types of wireless multimedia applications
- Interactive
- VoIP
- multimedia conferences
- multiplayer games
- Streaming
- video/audio on demand
- broadcast TV/radio
- may be cached at various places, including end
system - Object retrieval
- peer-to-peer
- user may be waiting for result
- Messaging
- store-and-forward (e.g., MMS)
- can be batched
4IETF (multimedia) protocols
media encap (H.261. MPEG)
Media Transport
Signaling
SAP
SDP
MGCP
DHCPP
SIP
H.323
RTSP
RSVP
RTCP
RTP
DNS
Application
LDAP
TCP
UDP
CIP
MIPv6
IDMP
Network
MIP
ICMP
IGMP
MIP-LR
IPv4, IPv6, IP Multicast
Kernel
PPP
AAL3/4
AAL5
PPP
Physical
CDMA 1XRTT /GPRS
SONET
ATM
Ethernet
802.11b
Heterogeneous Access
5Common wired wireless audio codecs
codec name standards org. sampling rate (Hz) frame size bit rate (kb/s)
G.711 (µ/A-law) ITU 8,000 any 64
G.723.1 ITU 8,000 20 ms 5.3, 6.3
G.729 (CS-ACELP) ITU (1996) 8,000 10 ms 8
AMR (adaptive multi-rate) ETSI 26.090 (1999) 8,000 20 ms 4.75 12.2 (8) 6.7 PDC-EFR 7.4 IS 641 12.2 GSM-EFR
GSM-HR GSM 06.20 8,000 20 ms 5.6
GSM-FR GSM 06.10 8,000 20 ms 13
AMR-WB (wideband) ETSI 16,000 20 ms 6.6 23.85 (9)
6Audio codecs, cont'd.
codec name standards org. sampling rate (Hz) frame size bit rate (kb/s)
EVRC (RCELP) TIA/EIA (1996) 8,000 20 ms 8.55, 4, 0.8
G.726 (ADPCM) ITU 8,000 sample 16, 24, 32, 40
G.728 (LD-CELP) ITU 8,000 20 ms 16
7Audio codecs
- MP3 and AAC delay gt 300 ms ? unsuitable for
interactive applications - GSM and AMR are speech (voiceband) codecs ? 3.4
kHz analog designed for circuit networks with
non-zero BER - Wideband split into two bands, code separately
? conferencing - AMR is not variable-rate (dependent on speech
content) - receiver sends Codec Mode Request (CMR) to
request different codec, piggy-backed on reverse
direction - trade-off codec vs. error correction
8Audio codecs
- Typically, have algorithmic look-ahead of about 5
ms ? additional delay - G.728 has 0.625 ms look-ahead
- AMR complexity 15-25 MIPS, 5.3 KB RAM
original
4
6
8
10
12
14
18
20
22
24
16
G.723.1
G.729
G.729A
AMR-NB
AMR-WB
www.voiceage.com
9Audio codecs - silence
- Almost all audio codecs support Voice Activity
Detection (VAD) comfort noise (CN) - comfort noise rough approximation in energy and
spectrum ? avoid "dead line" effect - G.729B
- AMR built-in CN periodically in Silence
Indicator (SID) frames discontinuous
transmission (DTX) ? saves battery power - or source controlled rate (SCR)
10Audio codecs - silence
- silence periods depend on
- background noise
- word vs. sentence vs. alternate speaker
- particularly useful for conferences
- small ratio of speakers to participants
- avoid additive background noise
11Video codecs
JPEG
common code words ? shorter symbols Huffman,
arithmetic coding
e.g., DCT spatial ? frequency
Transform, Quantization, Zig- Zag Scan
Run- Length Encoding
Motion Estimation Compensation
Symbol Encoder
Frames of Digital Video
Bit Stream
predict current frame from previous
Quantization changes representation size for each
symbol ?adjust rate/quality trade-off
Run-length encoding long runs of zeros ?
run-length symbol
courtesy M. Khansari
MPEG, H.26x
12History of video codecs
H.261
H.263
H.263
H.263L
H.263
ITU-T
MPEG 4
MPEG 1
ISO
MPEG 2
MPEG 7
1990
1996
2002
1992
1994
1998
2000
courtesy M. Khansari
13H.263L example
64 kb/s, 15 fps
courtesy of Siemens CT
14Delay requirements
- In many cases, channel is delay constrained
- ARQ mechanisms
- FEC
- low bandwidths
- ITU G.114 Recommendation
- 0..150 ms one way delay acceptable to most users
- 150..400 ms acceptable with impairments
- Other limits
- telnet/ssh limit 100-200 ms Shneiderman 1984,
Long 1976? - reaction time 1-2 s for human in loop Miller
1968 - web browser response
- VCR control for streaming media
- ringback delay for call setup
- can often be bridged by application design
15802.11 architecture
ESS
Existing Wired LAN
AP
AP
STA
STA
STA
STA
BSS
BSS
Infrastructure Network
STA
STA
Ad Hoc Network
Ad Hoc Network
BSS
BSS
STA
STA
Mustafa Ergen
16802.11b hand-off
Kanter, Maguire, Escudero-Pascual, 2001
17802.11 delay
channel
idle
is busy
Data
ACK
idle slots
slots
time
DIFS
SIFS
DIFS
(short IFS)
(DCF interframe space)
idle
idle
RTS CTS Data ACK
slots
slots
time
DIFS
SIFS
SIFS
SIFS
DIFS
IFS (µs) FHSS DSSS OFDM
SIFS 28 10 13
PIFS 78 30 19
DIFS 128 50 25
M. Zukerman
18802.11 delay
802.11 1, 2 Mb/s DSSS
802.11b 11 Mb/s FHSS, DSSS
802.11a 2, 11, 24, 54 Mb/s OFDM
- 802.11b 192 bit PHY headers ? 192 µs (sent at 1
Mb/s) - 802.11a 60 µs
- three MAC modes
- DCF
- DCF RTS
- PCF AP-mode only
19802.11 delay
20802.11 delay
21802.11a delay for VoIP
22802.11b channel access delay
Köpsel/Wolisz
- 12 mobile data nodes, 4 mobile with on/off audio
- 6 Mb/s load
23802.11b VoIP delay
- Köpsel/Wolisz WoWMoM 2001 add priority and PCF
enhancement to improve voice delay
DCF
Köpsel/Wolisz
24802.11b PCFpriority
- poll only stations with audio data
- move audio flows from PCF to DCF and back after
talkspurts
Köpsel/Wolisz
- IEEE 802.11 TGe working on enhancements for MAC
(PCF and DCF) - multiple priority queues
25802.11e enhanced DCF
HC hybrid controller
TC traffic categories
AIFS arbitration IFS
TXOP transmission opportunity
Mustafa Ergen
26802.11e back-off
27Metric of VoIP quality
- Mean Opinion Score (MOS) ITU P.830
- Obtained via human-based listening tests
- Listening (MOS) vs. conversational (MOSc)
Grade Quality
5 Excellent
4 Good
3 Fair
2 Poor
1 Bad
28FEC and IP header overhead
- An (n,k) FEC code has (n-k)/k overhead
- Typical IP/UDP/RTP header is 40 bytes
codec media pkt size (T30ms) rmedia rIP
iLBC (4,2) FEC 54 bytes 14.4 kb/s 25.1 kb/s
iLBC (4,2) FEC 108 bytes 28.8 kb/s 39.5 kb/s
G.729 (4,2) FEC 30 bytes 8 kb/s 18.7 kb/s
G.729 (4,2) FEC 60 bytes 16 kb/s 26.7 kb/s
G.723.1 (4,2) FEC 24 bytes 6.4 kb/s 17.1 kb/s
G.723.1 (4,2) FEC 48 bytes 12.8 kb/s 23.5 kb/s
29Predicting MOS in VoIP
- The E-model an alternative to human-based MOS
estimation - Do need a first-time calibration from an existing
human MOS-loss curve - In VoIP, the E-model simplifies to two main
factors loss (Ie) and delay (Id) - A gross score R is computed and translated to
MOS. - Loss-to-Ie mapping is codec-dependent and
calibrated
30Predicting MOS in VoIP, contd
- Example mappings
- From loss and delay to their impairment scores
and to MOS
31Predicting MOS under FEC
- Compute final loss probability pf after FEC
Frossard 2001 - Bursty loss reduces FEC performance
- Increasing the packet interval T makes FEC more
efficient under bursty loss Jiang 2002 - Plug pf into the calibrated loss-to-Ie mapping
- FEC delay is nT for an (n,k) code
- Compute R value and translate to MOS
32Quality Evaluation of FEC vs. Codec Robustness
- Codecs under evaluation
- iLBC a recent loss-robust codec proposed in
IETF frame-independent coding - G.729 a near toll quality ITU codec
- G.723.1 an ITU codec with even lower bit-rate,
but also slightly lower quality. - Utilize MOS curves from IETF presentations for
FEC MOS estimation - Assume some loss burstiness (conditional loss
probability of 30) - Default packet interval T 30ms
33G.729(5,3) FEC vs. iLBC
- Ignoring delay effect, a larger T improves FEC
efficiency and its quality - When considering delay, however, using a 60ms
interval is overkill, due to higher FEC delay
(560 300ms)
34G.729(5,2) vs. iLBC(3,2)
- When iLBC also uses FEC, and still keeping
similar gross bit-rate - G.729 still better, except for low loss
conditions when considering delay
35G.729(7,2) vs. iLBC(4,2)
- Too much FEC redundancy (e.g., for G.729)
- ? very long FEC block and delay
- ? not always a good idea
- iLBC wins in this case, when considering delay
36G.729(3,1) vs. iLBC(4,2)
- Using less FEC redundancy may actually help, if
the FEC block is shorter - Now G.729 performs similar to iLBC
37Comparison with G.723.1
- MOS(G.723.1) lt MOS(iLBC) at zero loss
- ? iLBC dominates more low loss areas compared
with G.729, whether delay is considered or not
38G.723.1(3,1) vs. iLBC(3,2)
- iLBC is still better for low loss
- G.723.1 wins for higher loss
39G.723.1(4,1) vs. iLBC(4,2)
- iLBC dominates in this case whether delay is
considered or not, - (4,2) code already suffices for iLBC
- (4,1) codes performance essentially saturates
40The best of both worlds
- Observations, when considering delay
- iLBC is usually preferred in low loss conditions
- G.729 or G.723.1 FEC better for high loss
- Example max bandwidth 14 kb/s
- Consider delay impairment (use MOSc)
41Max Bandwidth 21-28 kb/s
42Effect of max bandwidth on achievable quality
- 14 to 21 kb/s significant improvement in MOSc
- From 21 to 28 kb/s marginal change due to
increasing delay impairment by FEC
43UMTS and 3G wireless
- Staged roll-out with "vintages" ? releases
- Release 3 ("1999") ? GPRS data services
- Multimedia messaging service (MMS) SMS
successor MIME email - RAN via evolved CDMA
- Release 4 March 2001
- Release 5 March-June 2002
- Release 6 June 2003 ? all-IP network
- Main future new features (affecting packet
services) - All-IP transport in the Radio Access and Core
Networks - Enhancements of services and service management
- High-speed Downlink Packet Access (HSDPA)
- Introduces additional downlink channels
- High-Speed Downlink Shared Channel (HS-DSCH)
- Shared Control Channels for HS-DSCH
44UMTS
macrocell 2 km 144 kb/s
microcell 1 km 384 kb/s
picocell 60 m 2 Mb/s
- Follow-on to GSM, but WCDMA physical layer
- new () spectrum around 2 GHz
- radio transmission modes
- frequency division duplex (FDD) 2 x 60 MHz
- time division duplex (TDD) 15 20 MHz
- Chip rate 3.84 Mcps ? channel bandwidth 4.4 5
MHz
451G-3G air interface
2G
2.5G
1G
3G/ IMT-2000 Capable
Existing Spectrum New Spectrum
IS-95-A/ cdmaOne
IS-95-B/ cdmaOne
Analog AMPS
1XEV DO HDR (1.25 MHz)
IS-136 TDMA
136 HS EDGE
TACS
GSM GPRS
EDGE
GSM
WCDMA
HSCSD
Ramjee
46The mysterious 4G
- Fixes everything that's wrong with 3G ?
- Convergence to IP model treat radio access as
link layer that carries IP(v6) packets - not necessarily new radio channel
- no new spectrum available
- all-IP radio access network (RAN)
- common mobility management
- AAA and roaming
- user identifiers
- roaming across wired networks
47UMTS 3GPP and 3GGP2
- Divided regionally/historically
- both from ITU IMT-2000 initiative
- GSM ? 3GPP (ETSI) WCDMA
- US (CDMA) ? 3gpp2 (TIA) CDMA2000
- 3GPP2 different PHY, but similar applications
(not completely specified) - cdma2000
48UMTS
W. Granzow
493GPP network architecture
AS
Jalava
503GPP network architecture - gateways
Legacy Mobile Signaling Networks
Multimedia IP Networks
Roaming Signaling Gateway (R-SGW)
Mm
Ms
Mh
HSS
Gi
CSCF
Cx
Mg
Mr
MRF
Gi
Media Gateway Control Function (MGCF)
Transport Switching Gateway (T-SGW)
GGSN
SGSN
Gi
Mc ( H.248)
PSTN/Legacy/External
Media Gateway (MGW)
Media Gateway (MGW)
Gi
Alves
513GPP networks call control
-View on CALL CONTROL -
Applications Services
CAP
Call State Control Function (CSCF)
Home Subscriber Server (HSS) (HLR )
Cx
Mr
Multimedia Resource Function (MRF)
Gi
Gc
Gr
Gi
SGSN
GGSN
access
Gn
to other networks
Iu
Gf
EIR
Alves
52UMTS network architecture
MSC Mobile Services Switching Center GSN GPRS
Support Node
Node B
W. Granzow
53Aside some 3G/UMTS terminology
CS circuit-switched
GERAN GSM/EDGE Radio Access Network
GGSN Gateway GPRS Support Node. A router between the GPRS network and an external network (i.e., the Internet).
PDP Packet Data Protocol
PDP context A PDP connection between the UE and the GGSN.
PS packet-switched
SGSN Serving GPRS Support Node
UTRAN Universal Terrestrial Radio Access Network
See RFC 3114 for brief introduction.
54UTRA transport channels categories
- Common channels
- Multiplexed users (user ID in the MAC header)
- Forward Access Channel (FACH)
- Random Access Channel (RACH)
- Common Packet Channel (CPCH)
- Dedicated channels (DCH)
- Assigned to a single user (identified by the
spreading code) - Shared channels
- Sharing of code resource by several users by
fast re-assignment scheduling - Downlink Shared Channel (DSCH)
55Transmission Format UTRA FDD
56UMTS/3G QoS classes
conversational voice, video conferencing low delay, strict ordering
streaming video streaming modest delay, strict ordering
interactive web browsing, games modest delay
background email download no delay guarantees
57QoS class requirements
- Excerpt from 3GPP TS 23.107
Traffic class Conversational Streaming Interactive Background
Residual BER 510-2, 10-2, 510-3, 10-3, 10-4, 10-6 510-2, 10-2, 510-3, 10-3, 10-4, 10-5, 10-6 410-3, 10-5, 610-8 410-3, 10-5, 610-8
SDU error rate 10-2, 710-3, 10-3, 10-4, 10-5 10-1, 10-2, 710-3, 10-3, 10-4, 10-5 10-3, 10-4, 10-6 10-3, 10-4, 10-6
Transfer delay ? 100 ms ? 250 ms
Guaranteed bit rate 2,048 kb/s 2,048 kb/s
Traffic handling priority 1,2,3
Allocation/retention priority 1,2,3 1,2,3 1,2,3 1,2,3
58GPRS delay
Gurtov, PWC 2001
59UMTS transport
60UMTS Release 4/5 Architecture
Kulkarni
61QoS in UMTS
- Short term signaling ? tell network elements
about QoS requirements - RSVP (IntServ)
- DiffServ with DSCPs
- PDP context
- Longer term provisioning ? allocate resources to
QoS classes - low network utilization (overprovisioning)
- DiffServ
- IntServ (possibly for DiffServ classes, RFC xxxx)
- MPLS
- Mechanisms can be heterogeneous
- DSCP translation
- localized RSVP
62QoS signaling in UMTS
- UMTS R5 two end-to-end QoS signaling scenarios
- QoS provisioning left vague
- RSVP currently not in standard
- additional scenario featuring RSVP may be added
to a later release of the standard - QoS connected to application layer signaling
(SIP)SIP - Session Initiation Protocol - necessary for IP telephony, not streaming or data
- SIP allows applications to agree on address,
port, codec, ... - standardized by IETF
- but UMTS-specific SIP dialect
- additional functionality compared to IETF SIP
63Session setup SIP
INVITE
INVITE sipbob_at_biloxi.com SIP/2.0 Via
SIP/2.0/UDP pc33.atlanta.com branchz9 Max-Forw
ards 70 To Bob ltsipbob_at_biloxi.comgt From Alice
ltsipalice_at_atlanta.comgt tag1928301774 Call-ID
a84b4c76e66710_at_pc33.atlanta.com CSeq 314159
INVITE Contact ltsipalice_at_pc33.atlanta.comgt Conte
nt-Type application/sdp Content-Length 142
REGISTER
BYE
64Session setup SIP
- Creates, modifies, terminates sessions
- sessions audio, video, text messages,
- IETF RFC 3261-3266
- UTF-8 text, similar to HTTP
- request line
- headers
- body ( session description SDP), not touched
by proxies - URLs for addresses
- sipalice_at_example.com
- tel1-212-555-1234
Client 2
Client 1
INVITE
INVITE
100 Trying
180 Ringing
180 Ringing
200 OK
200 OK
ACK
ACK
Media streams
BYE
BYE
200 OK
200 OK
Jalava
65SIP request routing
- SIP proxies route all SIP requests
- don't care about method (INVITE, REGISTER,
DESTROY, ) - use location server based on registrations
- e.g., sipsales_at_example.com ? sipalice_at_204.198.76
.66 - route to one or more destinations
- parallel forking
- sequential forking
- use Via header to track proxies visited ? loop
prevention - normally, only during first request in dialog
- but proxy can request visits on subsequent
requests via Record-Route - user agent copies into Route header
- also used for service routing ? preloaded routes
663GGP Internet Multimedia Subsystem
- services (call filtering, follow-me, ) provided
in home network, via Home Subscriber Server (HSS) - may use CAMEL for providing services, but also
- Call Processing Language (CPL)
- SIP Common Gateway Interface (sip-cgi, RFC 3050)
- SIP Servlets (JAIN)
- VoiceXML for voice interaction (IVR)
- use ENUM (DNS) to map E.164 numbers to SIP URIs
- 46-8-9761234 becomes 4.3.2.1.6.7.9.8.6.4.e164.arp
a - mechanisms and roles
- proxy servers ? call routing, forking
- user agents (UA) ? voice mail, conferencing, IM
- back-to-back UA (B2BUA) ? 3rd party call control
67UMTS IP multimedia
68IMS session overview
Jalava
693GPP Internet Multimedia Subsystem
Call State Control Function (CSCF)
Home
Application Server
Subscriber
Subscription
Server
Location Function
Interrogating-CSCF
Sh
SLF
HSS
AS
- Accesspoint to domain
- Hides topology and configuration
Diameter
Diameter
ISC
SIP
Cx
Cx
UE
Dx
Gm
Mw
Mw
UA
P-CSCF
I-CSCF
S-CSCF
(User Agent)
SIP
SIP
SIP
Visited Domain
Home Domain
Serving-CSCF
Proxy-CSCF
- Session control services
- Registration, AS usage, charging, etc
Jalava
70Locating the P-CSCF
2 mechanisms
713GPP SIP registration
sip23415098765_at_15.234.IMSI.3gppnetwork.org
TS 23.228/5.1
723GPP IMS call setup
73IMS call setup with QoS
74SIP for mobility
- Terminal mobility
- same device, different attachment point
- nomadic/roaming user change between sessions
- mid-session mobility
- Personal mobility
- same person, multiple devices
- identified by SIP address-of-record
- Service mobility
- configuration information
- address book, speed dial, caller preferences,
- Session mobility
- hand-over active session to different device
- e.g., cell phone to office PC
75SIP for terminal mobility
- For most UDP applications, no need to keep
constant source IP address at CH - e.g., RTP uses SSRC to identify session
- others typically single request-response (DNS)
- TCP see Dutta et al. (NATs, proxies) or
Snoeren/Balakrishnan TCP migration
CH
REGISTER IP1
registrar
INVITE
re-INVITE IP2
REGISTER IP2
76SIP mobility vs. mobile IP
- Mobility at different layers
- permanent identifier
- rendezvous point identified by that identifier
- forwarding of messages
mobile IP SIP
permanent identifier IP address SIP AOR
temporary address care-of-address Contact header
rendezvous point home agent (? permanent address) registrar (? host part of AOR)
HA/FA discovery ICMP not needed (name)
binding update UDP message REGISTER
in visited network foreign agent (FA) none/outbound proxy
77SIP hierarchical registration
1
From alice_at_NY
Contact 193.1.1.1
2
From alice_at_NY
Contact alice_at_CA
NY
CA
San Francisco
registrar
proxy
4
From alice_at_NY
Contact 192.1.2.3
3
REGISTER
INVITE
Los Angeles
78SIP personal mobility
793GPP IETF SIP differences
- SIP terminal authentication 3GPP terminal
- signaling as covert channel? ? death of SMS?
- CSCFs are not quite proxies, not quite B2BUAs
- modify or strip headers
- initiate commands (de-registration, BYE)
- edit SDP ? violate end-to-end encryption
- modify To/From headers
80NSIS Next Steps in Signaling
- IETF WG to explore alternatives (or profiles?) of
RSVP - currently, mostly requirements and frameworks
- RSVP complexity ? multicast support
- forwarding state
- killer reservations
- receiver orientation not always helpful
- better support for mobility
- pre-reserve
- tear down old reservations
- layered model (Braden/Lindell, CASP)
- signaling base layer, possibly on reliable
transport (CASP) - applications/clients, e.g., for resources,
firewall, active networks - proposals
- trim RSVP
- CASP (Cross-Application Signaling Protocol)
Columbia/Siemens
81Header compression
- Wireless access networks
- high latency 100-200ms
- bit errors 10-3, sometimes 10-2
- non-trivial residual BER
- low bandwidth
- IP ? high overhead compared with specialized
circuit-switched applications - speech frame of 15-20 octets
- IPv4UDPRTP 40 bytes of header, 60 with IPv6
- SIP session setup 1000 bytes
82Header compression
3GPP Architecture for all IP networks
83Header compression
- Pure use of dictionary-based compression (LZ,
gzip) not sufficient - Similar to video/audio coding ? remove "spatial"
and "temporal" redundancy - Usually, within some kind of "session"
- Access network (one IP hop) only
- Layering violation view IP, UDP, RTP as whole
- see also A Unified Header Compression Framework
for Low-Bandwidth Links, Lilley/Yang/Balakrishnan/
Seshan, Mobicom 2000
84Compressed RTP (CRTP)
- VJ header compression for TCP ? uses TCP-level
retransmissions to updated decompressor - RFC 2508 First attempt at RTP header compression
- 2 octets without UDP checksum, 4 with
- explicit signaling messages (CONTEXT_STATE)
- out-of-sync during round trip time ? packet loss
due to wrong/unknown headers - Improvement TWICE
- if packet loss ? decompressor state out of sync
- use counter in CRTP to guess based on last known
packet verify using UDP checksum - only works with UDP checksum ? at least 4 octets
85Robust header compression (ROHC)
- Avoid use of UDP checksums
- most speech codecs tolerate bit errors
- not very strong ?
- payload errors cause spurious header prediction
failures - may accept wrong header
- Loss before compression point may make compressed
RTP header behavior less regular - 100 ms of loss exceeds loss compensation ability
- ROHC primarily for RTP streams
- header field f(RTP seq. no)
- communicate RTP seq. no reliably
- if prediction incorrect, send additional
information
86ROHC
- Channel assumptions
- does not reorder (but may before compressor)
- does not duplicate packets
- Negotiated via PPP
- ROHC profiles uncompressed, main (RTP), UDP
only, ESP only
Initialization and Refresh
First Order
Second Order
87Header classification
inferred can be deduced from other values (e.g., length of frame) not transmitted
static constant through lifetime of packet stream communicate once
static-def values define packet stream like static
static-known well-known values not transmitted
changing randomly or within range compress by 1st/2nd order "differentiation"
88Example IPv6
Field Size (bits) type
Version 4 static
Traffic Class 8 changing
Flow Label 20 static-def
Payload Length 16 inferred
Next Header 8 static
Hop Limit 8 changing
Src/Dest address 2x128 static-def
inferred 2
static 1.5
static-def 34.5
changing 2
89Example RTP
Field Size (bits) type
Version 2 static-known
Padding 1 static
Extension 1 static
CSRC Counter, Marker, PT 12 changing
Sequence Number 16 changing
Timestamp 32 changing
SSRC 32 static-def
CSRC 0(-480) changing
inferred 2 bits
static-def 4
static-known 2 bits
changing 7.5 (-67.5)
90Behavior of changing fields
static additional assumptions for multimedia
semi-static occasionally changes, then reverts
rarely changing (RC) change, then stay the same
alternating small number of values
irregular no pattern
91Classification of changing fields
Field Value/Delta Class Knowledge
IP TOS/Traffic Class value RC unknown
IP TTL / Hop Limit value alternating limited
UDP checksum value irregular unknown
RTP CSRC, no mix value static known
RTP CSRC, mix value RC limited
RTP marker value semi-static known
RTP PT value RC unknown
RTP sequence number delta static known
RTP timestamp delta RC limited
92ROHC modes
- Unidirectional (U)
- compressor ? decompressor only
- periodic timeouts only
- starting state for all modes
- Bidirectional Optimistic (O)
- feedback channel for error recovery requests
- optional acknowledgements of significant context
updates - Bidirectional Reliable (R)
- more intensive usage of feedback channel
- feedback for all context updates
93ROHC encoding methods
- Least significant bits (LSB)
- header fields with small changes
- k least significant bits
- interpretation interval
- f(vref,k) vref p, vref (2k 1) p
- p picked depending on bias of header field
- window-based LSB (W-LSB)
- compressor maintains candidates for decompressor
reference value
94ROHC encoding methods, cont'd
- Scaled RTP timestamp encoding
- RTP increases by multiple of TS_STRIDE
- e.g., 20 ms frames ? TS_STRIDE160
- downscale by TS_STRIDE, then W-LSB
- Timer-based compression of RTP timestamp
- local clock can provide estimate of TS
- if jitter is bounded
- works well after talkspurts
- Offset IP-ID encoding
- compress (IP-ID RTP SN)
- Self-describing variable length encoding
- prefix coding 0 1o, 10 2o, 110 3o, 1110
4o
95ROHC
duplicate, reorder, lose packets
compressor
de- compressor
ACK NACK
- typically, multiple streams for each channel
- identified by channel identifier (CID)
- protected by 3-8 bit CRC
96ROHC CRC
- Qiao add one-bit correction CRC
- helps with BER of 4-5
Qiao
97Signaling compression (SigComp)
- Textual signaling protocols like SIP, RTSP and
maybe HTTP - long signaling messages (? kB)
- signaling delays ? call setup delays (56 ms/1 kB
_at_ 144 kb/s) - less of an issue total overhead
- long packets ? header overhead not a major issue
- unlike ROHC, assume reliable transport
SigComp
ROHC
SIP proxy
98Signaling compression
compartment identifier
application message compartment id
decompressed message
compressor dispatcher
decompressor dispatcher
state handler
compressor 1
state 1
de- compressor (UDVM)
SigComp message
SigComp message
compressor 2
state 2
SigComp layer
transport layer (TCP, UDP, SCTP)
99SigComp
- Messages marked with special invalid UTF-8 bit
sequence (11111xxx) - State saved across messages in compartment
- memory size is limited (gt 2 KB)
- CPU expenditure is limited, measured in cycles
per bit - Universal Decompressor Virtual Machine (UDVM)
- compressor can choose any algorithm to compress
- upload byte code as state
100SigComp UDVM bytecode
- virtual machine with registers and stack
- single byte opcode literal, reference,
multitype and address
request compressed data
UDVM
decompressor dispatcher
provide compressed data
output decompressed data
indicate end of message
provide compartment identifier
state handler
request state information
provide state information
make state creation request
forward feedback information
101SigComp virtual machine
- arithmetic and, or, not, left/right shift,
integer add/subtract/multiply/divide, remainder
on 16-bit words - sort 16-bit words ascending/descending
- SHA-1, CRC
- load, multiload, copy, memset, push, pop
- jump, call, return, switch
- input, output
- state create and free
102Example SIP compression
- SIP compression most likely will use a static
dictionary - e.g., "sip", "INVITE ", "CRLFVia SIP/2.0/UDP
" - referenced as state
- works best with default-formatted messages (e.g.,
single space between and header field) - permanently defined
- used with a variety of algorithms, such as
DEFLATE, LZ78, - Capability indicated using NAPTR records and
REGISTER parameter
order pref flags service regexp replacement
IN NAPTR 100 100 "s" "SIPD2T" ""
_sip._tcp.school.edu IN NAPTR 100 100 "s"
"SIPD2U" "" _sip._udp.example.com IN NAPTR 100
100 "s" "SIPD2CU" "" comp-udp.example.com
103RTP unequal error protection
- Provide generic protection of RTP headers and
payload against packet loss - may also handle uncorrected bit errors
- RFC 2733 XOR across packets ? FEC packet
- ULP (uneven level protection) higher protection
for bits at beginning of packet - higher protection smaller group sizes
- common for most codecs closer to sync marker
- H.263 video macroblock header, motion vectors
- modern audio codecs
- stretching of existing audio codecs
104RTP unequal error protection
RTP seq. number base
length recovery
bit mask (packets after SN base)
PT recovery
E
RTP timestamp recovery
- separate FEC packets or piggy-backed
- multiple FEC in one packet
- ULP header adds protection length and mask
- recovery bytes are XOR(packet headers)
- negotiated via SDP
105Unequal erasure protection (UXP)
- Alternative to ULP, with different properties
- uses interleaving Reed-Solomon codes (GF(28))
to recover from packet loss (erasure) - allows unequal protection of different parts of
payload - allows arbitrary packet size ? optimize for
channel - interleaving adds delay
- ULP only incurs delay after packet loss (but this
may introduce gaps)
106UDPLite
- Proposal by LarzonDegermark
- partial checksum coverage
- at least UDP header bytes
107Fast handoff hand-off latency
- Allow only a few lost packets ? lt 100 ms hand-off
delay - detect new network from AP MAC address
- maybe use other packets listened to?
- scan different frequencies
- may need to scan both 2.4 and 5 GHz regions
(802.11a, b, g) - passive scanning wait for AP beacon
- 802.11 beacon interval 100 kµs 100 ms
- active scanning Probe Request Frame Probe
Response - associate with new network
- 802.11i authentication
- IETF PANA WG L2-independent access control
108Handoff latency
- duplicate address detection (DAD)
- DHCP
- DHCPDISCOVER, DHCPOFFER, DHCPREQUEST, DHCPACK ?
multiple RTT, plus possible retransmissions - IPv6 stateless autoconfiguration (RFC 2461, 2462)
- delay first Neighbor Solicitation in
0,MAX_RTR_SOLICITATION_DELAY, where
MAX_RTR_SOLICITATION_DELAY 1s - wait for RetransTimer (1s) for answer
- AAA (authentication, authorization, accounting)
- usually, RADIUS or (future) DIAMETER
- server may be far away
109MIPv6 delays
Internet
Internet
CH
BU HA, CoA
BU HA, CoA
1
1
Site1
Site1
CoA
Castelluccia/Bellier
110Micro-mobility
- Separate local (intra-domain, frequent) movement
from inter-domain movement (rare) - ? 3 mobility protocol layers L2 (e.g., 802.11,
3G RAN), micro, macro - also offer paging (usefulness with chatty UEs?)
- assumption may not be correct
- Examples
- hierarchical foreign agents (Nokia, 1996)
- Cellular IP (Columbia/Ericsson, 1998)
- Hierarchical IPv6 (INRIA, 1998)
- HAWAII (Lucent, 1999)
- THEMA (Lucent/Nokia, 1999)
- TeleMIP (Telcordia, IBM, 2001)
ISP1
ISP2
100'
111Micro-mobility design goals
- Scalability
- process updates locally
- Limit disruption
- forward packets if necessary
- Efficiency
- avoid tunneling where possible
- Quality of Service (QoS) support
- local restoration of reservations
- Reliability
- leverage fault detection mechanisms in routing
protocols - Transparency
- minimal impact at the mobile host
Ramjee
112Micro-mobility
- Methods based on re-addressing
- "keep routes, change address"
- typically, tunnels within domain
- hierarchical FAs
- MIP with CoA to world at large
- e.g.,
- regional registration, region-aware foreign
agents, Dynamics, hierarchical MIPv6, - Routing-based
- "keep address, change routes"
- no tunnels within domain
- host-based (mobile-specific) routes
- e.g.,
- Cellular IP, HAWAII
Hartenstein et al.
113Cellular IP
114Cellular IP
- base station routes IP routes ? cellular IP
routing - gateway support MIP macro mobility
- provides CoA
- inside micro mobility domain, packets identified
by H_at_ - no tunneling, no address conversion
- MH data packets establish location and routing
"soft state" - no explicit signaling
- empty IP packets
- discarded at border
- symmetric paths
- uplink establishes shortest path to MH
- per-host routes, hop-by-hop
Gomez/Campbell
115Cellular IP Hard handoff
Gomez/Campbell
116Cellular IP downlink HO loss
117HAWAII Enhanced Mobile IP
Internet
Domain Router
MD
Local mobility
Local mobility
Mobile IP
- Distributed control Reliability and scalability
- host-based routing entries in routers on path to
mobile - Localized mobility management Fast handoffs
- updates only reach routers affected by movement
- Minimized or Eliminated Tunneling Efficient
routing - dynamic, public address assignment to mobile
devices -
Ramjee
118Power-up
Ramjee
119Design Principle IIISoft-state
Soft-State
- Host-based routing entries maintained as
soft-state - Base-stations and mobile hosts periodically
refresh the soft-state - HAWAII leverages routing protocol failure
detection and recovery mechanisms to recover from
failures - Recovery from link/router failures
Ramjee
120Failure Recovery
Domain Root Router 2
Domain Root Router 1
1
1
1.1.1.100-gt port 4, 239.0.0.1
2
R
R
4
2
4
3
3
1.1.1.100-gtport 3, 239.0.0.1
3
5
1
4
R
3
2
2
BS1
BS2
BS3
BS4
1.1.1.100-gtwireless, 239.0.0.1
1
MY IP 1.1.1.100 BS IP1.1.1.5
Ramjee
121Path Setup Schemes
- Host-based routing within the domain
- Path setup schemes selectively update local
routers as users move - Path setup schemes customized based on user,
application, or wireless network characteristics - Micro-mobility handled locally with limited
disruption to user traffic
Ramjee
122Micro-Mobility
Ramjee
123Macro-Mobility
Domain Root Router 2
Domain Root Router 1
Mobile IP Home Agent 1.1.1.100-gt 1.1.2.200
1
1
2
R
R
4
2
4
3
3
1.1.2.200-gt port 3, 239.0.0.1
3
5
4
1.1.2.200-gtport 2, 239.0.0.1
6
5
1
4
R
3
2
2
BS2
BS3
BS4
1.1.2.200-gtwireless, 239.0.0.2
1
7
MY IP 1.1.1.100 BS IP1.1.2.1 COA IP1.1.2.200
Ramjee
124Simulation Topology
Ramjee
125Performance Audio and Video
Ramjee
126TORA
- O'Neill/Corson/Tsirtsis
- "make before break"
- hierarchical
core
interior
edge
access
127Hierarchical Mobility Agents
GMA
RMA
Home Agent
LMA
- Localize signaling to visited domain
- Regional Registration/Regional Binding Update
- uses IP tunnels (encapsulation)
- only, only one level of hierarchy
Perkins
128Example hierarchical FA(Dynamics, HUT)
HA
CN
Location update latencies for some transitions
HFA
FA2
FA1
FA11
FA12
FA3
FA29
FA14
FA15
FA13
FA13
FA32
FA31
Forsberg et al
129Hierarchical FA with soft hand-off
Data stream 100kB/s, 1kB packets (100 packets/s)
OLD
NEW
Lost packets/
FA
FA
update
FA11
FA31
0.00
FA31
FA29
0.00
FA29
FA32
0.00
HA
CN
OLD
NEW
Lost packets/
FA31
FA13
0.00
FA
FA
update
FA11
FA31
0.27
FA12
FA15
0.00
HFA
FA31
FA29
0.27
FA15
FA31
0.03
FA12
FA11
FA29
FA32
0.00
FA32
FA11
0.07
FA31
FA13
0.15
FA13
FA12
0.10
FA12
FA15
0.14
Data stream CN --gt MN
FA3
FA29
FA14
FA15
FA3
FA3
FA13
FA15
FA31
0.00
FA32
FA11
0.00
FA31
FA32
FA13
FA12
0.00
HUT Dynamics 802.11
Data stream MN --gt CN
130INRIA HMIPv6
- inter-site (global, macro) vs. intra-site (local,
micro) - CH only aware of inter-site mobility
- MIPv6 used to manage macro and micro mobility
- define MN as LAN connected to border router, with
gt 1 MS - use site-local IPv6 addresses?
Internet
MN
MS
BR
Site1
Castelluccia/Bellier
131INRIA HMIPv6
- MH gets 2 CoA
- VCoA in the MN ? stays constant within site
- PCoA (private CoA) ? changes with each micromove
- MH registers
- (H_at_,VCoA) ? external CH
- (H_at_,PCoA) ? local CHs
- (VCoA, PCoA) ? MS
- MH obtains MS address and MN prefix via router
advertisements
Internet
132INRIA HMIPv6 packet delivery
- External CH sends to VCoA
- MS in MN intercepts and routes to MH
- Local CH sends to PCoA
Internet
MN
MS
Site1
133INRIA HMIPv6 micro mobility registration
- MH moves and gets new PCoA (PCoA1)
- sends BU (VCoA, PCoA1) to its MS
- sends BU (H_at_, PCoA1) to local CHs
Internet
(VCoA,PCoA)
MS
(HA,PCoA)
PCoA1
134Other approaches to latency reduction
- IP-based soft handoff
- buffering of in-flight data in old FA
- forward to new CoA or new BS
- multicast to multiple base stations
- unicast ? multicast ? unicast
- often, down some hierarchy
- multicast address assignment?
- UMTS / 802.11 "vertical" hand-off
- UMTS as "background radiation"
Hartenstein et al.
135Comparison of CIP, HAWAII, HMIP
Cellular IP HAWAII HMIP
OSI layer L3 L3 "L3.5"
Nodes all CIP nodes all routers FAs
Mobile host ID home address care-of-address home address
Intermediate nodes L2 switches L2 switches L3 routers
Means of update data packet signaling msg. signaling msg.
Paging implicit explicit explicit
Tunneling no no yes
L2 triggered hand-off optional optional no
MIP messaging no yes yes
Campbell/Gomez-Castellanos
136Network-assisted hand-off
- Network makes hand-off decision, rather than UE
- network sets up resources (QoS) to new FA/BS
- simultaneous bindings kept and destroyed by
network - allows seamless handoff
- IP nodes may need to report PHY measurements
(like GSM) - e.g., Hartenstein et al., Calhoun/Kempf
(FA-assisted hand-off) - may need to be able to predict next access point
137Cost of networking
Modality mode speed /MB ( 1 minute of 64 kb/s videoconferencing or 1/3 MP3)
OC-3 P 155 Mb/s 0.0013
Australian DSL (512/128 kb/s) P 512/128 kb/s 0.018
GSM voice C 8 kb/s 0.66-1.70
HSCSD C 20 kb/s 2.06
GPRS P 25 kb/s 4-10
Iridium C 10 kb/s 20
SMS (160 chars/message) P ? 62.50
Motient (BlackBerry) P 8 kb/s 133
138Spectrum cost for 3G
Location what cost
UK 3G 590/person
Germany 3G 558/person
Italy 3G 200/person
New York Verizon (20MHz) 220/customer
Generally, license limited to 10-15 years
139Multimodal networking
- use multiple types of networks, with
transparent movement of information - technical integration (IP) ? access/business
integration (roaming) - variables ubiquity, access speed, cost/bit,
- 2G/3G rely on value of ubiquity immediacy
- but demise of Iridium and other satellite
efforts - similar to early wired Internet or some
international locations - e.g., Australia
140Multimodal networking
- expand reach by leveraging mobility
- locality of data references
- mobile Internet not for general research
- Zipf distribution for multimedia content
- short movies, MP3s, news,
- newspapers
- local information (maps, schedules, traffic
radio, weather, tourist information)
141Multimedia data access modalities
delay
high low
high 7DS 802.11 hotspots
low satellite SMS? voice (2G, 2.5G)
bandwidth (peak)
142A family of access points
1437DS options
- Many degrees of cooperation
- server to client
- only server shares data
- no cooperation among clients
- fixed and mobile information servers
- peer-to-peer
- data sharing and query forwarding among peers
1447DS options
Query Forwarding
FW
query
query
Host C
Host A
Host B
time
Querying active (periodic) passive
145Dataholders () after 25 min
high transmission power
P2P
Mobile Info Server
Fixed Info Server
2
146Message relaying with 7DS
WAN
Gateway
WLAN
Message relaying
Host B
Host A
147Conclusion and outlook
- First packet-based wireless multimedia networks
going into production - encumbered by legacy technology and business
model ("minutes") - what is 4G?
- store-and-forward beats interactive
- SMS, email vs. phone calls
- cost and complexity remain the major challenges
- interworking across generations, from 1876
- role of multimedia in ad-hoc networks?
- ad hoc access (small hop count) backbone
148Credits
- Figures and results (with permission) from
- Emmanuel Coelho Alves
- Andrew Campbell
- Ashutosh Dutta
- Mustafa Ergen
- Javier Gomez
- Wolfgang Granzow
- Teemu Jalava
- Wenyu Jiang
- Andreas Koepsel
- Maria Papadopouli
- Charles Perkins
- Zizhi Qiao
- Ramachandran Ramjee
- Henning Sanneck
- Adam Wolisz
- Moshe Zukerman
- Kanter, Maguire, Escudero-Pascual
- and others
149UMTS IP multimedia