Principle
1 Multimedia Networking Applications
1.1 Classifications
1) stored streaming2) live streaming3) interactive real-time
1.2 Characteristics
1) delay2) loss
1.3 Streaming
client playout begins all the data has arrived.
1.4 Stored Streaming
client can pause, rewind, and push the slider bar.1.5 Live Streaming
Much same as stored streaming, but forward fast!1.6 Real-Time
end-end delay requirement
1.7 QoS
Use application-level techniques to mitigate effect of delay and loss.
2 Multimedia need
2.1 Client-Side Buffering
As we can see, the streaming from server to client go through: transmission -> network delay -> client reception and buffering(playout delay) -> playout at clientI think, the buffer of client is like a list. The streaming fills in the list and client play out the files.
2.2 Use of UDP versus TCP
1. Client ratedifferent client receive rate -> server stores, transmits multiple copies of video encoded at different rates.2. Use UDP to avoid TCP congestion control for time-sensitive traffic
2.3 Encoding: RTSP - User Control of Streaming Media
C/S Application Layer Protocol
User Control: pause, rewind, fast forward, repositioning, etc.Example: the client request by HTTP GET method to server. Below I show some request types of RTSP Operations
SETUP: setup the connectionPLAY: play commandPAUSE: pause command
3 Best out of Best Effort Service
3.1 Playout delay
1. Goal: Minimize playout delay, keeping late loss rate low2. ApproachEstimate network delay, adjust playout delay at the beginning of each talk spurt.How determine whether a packet is first in a talkspurt1) successive time stamp > 20 ms2) sequence num without gapsTalk spurt begins.
3.2 Recovery from Packet Loss
1. Forward Error Correction(FEC)
1) idea: Except retransmit the error packet, the FEC can correct the error data and recover it.
3.3 Content Delivery Network (CDN)
1. Idea
Contents will exist on several servers.
4. Tricks of MM
1. Use UDP
2. client-side: adaptive playout delay
3. server-side: match bandwidth
4. FEC: recovery
5. CDN: bring content close to client
Protocols: Application-Level
1 Real-Time Protocol-RTP-Top of UDP in Transport Layer Protocol
Get the multimedia data encapsulated from Application layer, and it add some information for the data in its head.
1.1 RTP Header
1. Payload Type: data type - GSM, JPEG...2. Sequence Number: detect loss, and restore packet sequence3. Timestamp4. SSRC: each stream in RTP session should have distinct SSRC
1.2 Programming
1) grab video frame2) include RTP Seq num and time stamp3) form head and send segments to UDP socket.
2 Real-Time Control Protocol - RTCP
Add reports from sender and receiver as feedback to control performance, such as playout delay adjustment and bandwidth adjustment.
Report:
sender: time, seq num
receiver: last packet num, average delay...
Synchronization: in report packet
time stamp
wall-clock time
3 Session Initiation Protocol - SIP
Setting up a call and agree on media type and encoding(can build new encoder).
Can be sent on UDP or TCP
Service provided by SIP servers:
1. SIP registrar server
2. SIP Proxy server
1-8: register
9: communication
4 Providing Multiple Classes of Service
Principles:
1. Principle 1: router need packet marked to distinguish different classes: mixture need
2. Principle 2: provide protection for one class from others: bandwidth allocation
3. Principle 3: use resource as efficiently as possible: bandwidth is not used.
Scheduling:
1. FIFO:
discard policy: tail, priority, random
2. Priority:
3. Round Robin Scheduling: class round
Policing Mechanism:
limit traffic not to exceed some parameters
One minute sent packets
1. Average Rate
2. Peak Rate
3. Burst Size:
Implementation: token bucket
5 QoS Guarantees
1. block call if it cannot meet needs
2. resource reservation