280 likes | 524 Views
CS 414 – Multimedia Systems Design Lecture 16 – Multimedia Transport (Part 1). Klara Nahrstedt Spring 2012. Administrative . HW1 on – due March 1 @ 11:59pm. Covered Aspects of Multimedia. Audio/Video Presentation Playback. Image/Video Capture. Audio/Video Perception/ Playback.
E N D
CS 414 – Multimedia Systems DesignLecture 16 – Multimedia Transport (Part 1) Klara Nahrstedt Spring 2012 CS 414 - Spring 2012
Administrative • HW1 on – due March 1 @ 11:59pm CS 414 - Spring 2012
Covered Aspects of Multimedia Audio/Video Presentation Playback Image/Video Capture Audio/Video Perception/ Playback Image/Video Information Representation Transmission Transmission Compression Processing Audio Capture Media Server Storage Audio Information Representation A/V Playback
Investigation of Resource Managements in Distributed Multimedia Systems Multimedia Transport Systems and Network Resource Management (next 3 weeks) Multimedia Buffer Management and Caching Multimedia File Systems and Multimedia Servers Multimedia CPU Management CS 414 - Spring 2012
Overview - Multimedia Transport • Requirements of transport subsystems • User/application requirements, Processing and protocol constraints, Mapping to OSI layers • Network QoS and Resource Management Concepts • Negotiation, translation, admission • Traffic shaping, rate control, error control • Monitoring, adaptation • Case Studies for multimedia transport systems (protocols, network technologies) • Streaming Protocols in P2P Overlay Networks • Streaming Support in Internet and Internet2 CS 414 - Spring 2012
User and Application Requirements on Transport Subsystems Data Throughput – need to support application data with stream-like behavior and in real time Fast data forwarding – the faster the transport system can move packets the fewer packets have to be buffered Service Guarantees – need appropriate resource management Multicasting – need service for efficient resource sharing and reaching groups of users in applications such as video conferencing CS 414 - Spring 2012
QoS Requirements on Transport Subsystems Audio/video communication needs to be bounded by deadlines End-to-end jitter must be bounded End-to-end guarantees are required Synchronization mechanisms for different data streams are required Variable bit rate traffic support is required Services and protocols should make sure that no starvation occurs CS 414 - Spring 2012
OSI (Open System Internconnection) Layering Standard VOD Services (Video Retrieval And Video Playback) Peer-to-Peer Streaming Network QoS/Resource Management CS 414 - Spring 2012
Network QoS and Resource Management • Network QoS parameters: • End-to-end delay, jitter, packet rate, burst, throughput, packet loss • Establishment Protocol to establish Multimedia Call: • Application/user defines QoS parameters (e.g., video stream parameters) • QoS parameters are distributed and negotiated among participating parties • QoS parameters are translated between different layers • QoS parameters are mapped to resource requirements • Required resources are admitted, reserved and allocated along the path between sender and receiver(s) CS 414 - Spring 2012
Negotiation and Translation • For negotiation of network QoS we may use • Peer-to-peer negotiation and triangular negotiation (if service provider allows for negotiation) • Translation between network and application QoS CS 414 - Spring 2012
Negotiation Protocol (P2P Receiver-Initiated Negotiation – Example1) time 0 time 0 Setup Socket Communication Setup Socket Communication Wait Send User/Receiver requested QoS (video rate 20fps) Requested Video rate (e.g.,20fps) • - Receive Requested • rate • Check with Recorded • rate • If requested > recorded • Then decrease rate, else O.K. • Translate QoS param. • -Perform Resource • Admission/Reservation • If admission O.K, else • Decrease rate, redo • Admission/reservation • - Send resulting rate Wait Resulting video rate (e.g.,10 fps) • -Receive resulting rate • -Translate QoS param. • Perform admission, If admission O.K, , then Reserve resources, else • Decrease resulting rate • - Send agreed/final rate Wait Final video rate (5 fps) • Receive final rate • Adjust reservation • Start streaming Wait Streaming Data at final rate Sender (Server) CS 414 - Spring 2012 Receiver (Client)
Negotiation Protocol (P2P Receiver-Initiated Negotiation – Example2) time 0 time 0 Setup Socket Communication Setup Socket Communication • Get QoS (video rate) from user • Translate QoS • Perform admission, if admission O.K., then reserve local resources, else decrease requested rate, redo admission/reservation Wait • - Receive Requested • rate • Check with Recorded • rate • If requested > recorded • Then decrease rate, else O.K. • Translate QoS param. • -Perform Resource • Admission/Reservation • If admission O.K, else • Decrease rate, redo • Admission/reservation • Send resulting rate • Start streaming Requested Video rate (e.g.,20fps) Wait Resulting video rate (e.g.,10 fps) • -Receive resulting rate • -Translate QoS param. • Adjust reservation if needed • Start receiving steam Streaming Data at resulting rate Sender (Server) CS 414 - Spring 2012 Receiver (Client)
Negotiation Protocol (P2P Sender-Initiated Negotiation - Example) time 0 time 0 Setup Socket Comm, get movie name Setup Socket Communication (also send server requested video file/movie name) • -Get recorded rate as the requested rate from the recorded video file • Perform admission, if admission O.K, reserve resources, else decrease rate • Send requested QoS (video rate 20fps) Wait Requested Video rate (e.g.,25ps) • -Receive requested rate • -Translate QoS param. • Perform admission, If admission O.K, , then Reserve resources, else • Decrease rate • - Send agreed/final rate Wait Final video rate (20 fps) • Receive final rate • Adjust reservation • Start streaming Wait Streaming Data at final rate Sender (Server) CS 414 - Spring 2012 Receiver (Client)
Example of Translation • Consider application QoS (frame size MA, frame rate RA) and network QoS (throughput BN, packet rate RN) • Assume • MA = (320x240 pixels, 1 pixel = 8 bits), • RA = 10 fps, packet size • MN = 4KBytes • Application Throughput: • BA = MA x RA = (320 x 240 x 8) x 10 = 6,144,000 bps • Packet rate: • = 190 packets per second • Network Throughput: • BN = MN x RN = 6,225,920 bps CS 414 - Spring 2012
Bandwidth Admission Test • Consider • bi – reserved bandwidth for the ‘i’ connection • Bmax– maximal bandwidth at the network interface • Admission test (if all connections declare their bandwidth requirements bi at the same time): • ∑(i=1,…n) bi ≤ Bmax CS 414 - Spring 2012
Bandwidth Admission • Admission Test (if requests come in iterative fashion) : • Consider • bialloc – bandwidth already admitted, allocated and promised to connection ‘i’ • bjreq – bandwidth requested by connection‘j’ • Bavail = Bmax - ∑(i=1,..n) bialloc, where i ≠ j • Admission Test: • bjreq ≤ Bavail CS 414 - Spring 2012
Packet Scheduling Admission • At switches/routers – packet scheduling decision needs to be made when admitting new streams of packets • Need packet schedulability tests • Note that in networking only NON-PREEMPTIVE scheduling exists!!! CS 414 - Spring 2012
Packet Scheduling Admission ei– processing of a packet ‘i’ in network node Admission Test: ei ≤ deadline (within a switch) ∑(i=1,…,n) servei/ (1/r) ≤ 1 serve– packet service time at the processors – constant time due to hardware implementation q_in and q_out are queuing times q = N/λ (Little Theorem) r– service rate of the switch CS 414 - Spring 2012
Network Resource Reservation/Allocation • Bandwidth reservation • Pessimistic reservation with maximal bandwidth allocation: Given (MN, RA, and MA) • if then CS 414 - Spring 2012
Pessimistic Resource Reservation (Example) • Example: Consider sequence of MPEG video frames of size 80KB, 60 KB, 20KB, 20 KB, 60KB, 20 KB, 20 KB (Group of Pictures I, P, B, B, P, B, B ), • Pessimistic frame size calculation: • MA= max(80, 60, 20, 20, 60, 20, 20) = 80KB • Given video frame rate RA = 20 fps • If Given MN = 10 KB (network packet size, e.g., packet size for the transport layer like TCP/UDP), then need to consider bandwidth/ throughput reservation for • BN = 10KB x (8 network packets per application frame) x 20 application frames per second= 1600 KB/second = 12800 Kbps CS 414 - Spring 2012
Optimistic Resource Reservation/Allocation • Optimistic reservation considers average bandwidth allocation • Given MA, RA, MN, where • Then CS 414 - Spring 2012
Optimistic Resource Reservation (Example) • Example: Consider sequence of MPEG video frames of size 80KB, 60 KB, 20KB, 20 KB, 60KB, 20 KB, 20 KB (Group of Pictures I, P, B, B, P, B, B, ), • Optimistic frame size calculation: • MA = 280/7 = 40 KB • Given video frame rate RA = 20 fps • If Given MN = 10 KB (network packet size, e.g., packet size for the transport layer like TCP/UDP), then need to consider bandwidth/ throughput reservation for • BN = 10KB x (4 network packets per application frame) x 20 application frames per second= 800 KB/second = 6400 Kbps CS 414 - Spring 2012
Sender-Oriented Reservation Protocol CS 414 - Spring 2012
Receiver-Oriented Reservation Protocol CS 414 - Spring 2012
Reservation Styles • IETF (Internet Engineering Task Force) standard defines three types of reservation styles • Wildcard • Allows receiver to create a single reservation along each link shared among all senders for the given session • Fixed filter • Allows each receiver to create a single reservation from a particular sender whose packets it wants to receive • Dynamic filter • Allows each receiver to create N reservations to carry flows from up to N different senders. This style allows the receiver to do channel switching (similar to TV channel switching) CS 414 - Spring 2012
Reservation Styles CS 414 - Spring 2012
Conclusion Multimedia System/networking designer must be clear about the requirements coming from the applications and users Multimedia system/networking designer must be also clear about the constraints, what underlying protocols, services and networks can and cannot do and promise what’s possible to guarantee and deliver CS 414 - Spring 2012