Distributed Multimedia Systems David Immordino Introduction A multimedia application is a real-time system responsible for the delivering and receiving audio and video data. Real-time because the audio and video streams must be consumed at the same rate as they are generated. QOS (Quality of Service) - The ability for a system to perform according to a strict schedule. QOS Management - “The planned allocation and scheduling of resources to meet the needs of multimedia and other applications.” Some Key Points Multimedia systems usually co-exist with many other systems. High competition with other systems for local and network resources. Dynamic resource requirements. The amount of data received may vary significantly. – Dynamic number and quality of video/audio streams. Local activities can occur while system is in use, also draining local resources. Incorporation of all this and then allocating resources and prioritizing events is the duty of a QOS management system. When QOS Management? Some systems can get away with little QOS Management. – Web-Based Multimedia that does not have to be synchronized. Buffering is used to hide jitter, or changes in latency. – Audio conferences do not send much data, however this is interactive, therefore timing is crucial. – Video on demand systems meet requirements when client and server are dedicated, and client buffering is in place. Interactive systems need significant QOS Management – Video conferencing transmits significant data (audio/video) and needs to be synchronized. – An online music rehersal where participants are in separate locations. Timing is very crucial. Requirements for interactive Apps. Low latency so interaction appears synchronous. Synchronous distributed state - if one user stops a video on a certain frame all others should see the same. Media synchronization - Audio and Video should be in sync. External Synchronization - Visual aids should be in sync with narrative in conference apps. Window of Scarcity Window of scarcity - The quality and quantity of audio/video a system can handle before resources are insufficient. Higher performance machines have a bigger window of scarcity. Characteristics of Multimedia Data Continuous – User views data as continuous. – System sees as continuous because the media is represented as sequential values corresponding with time. Time-based – The data must be encoded and decoded according to a time coefficient. – Without proper timing on both ends, the data has no meaning. Compression Necessary to reduce bandwidth usage. Heavy usage of resources so special purpose hardware is used. Video and audio codecs (Coders/decoders) are software containing the logic to perform these operations. Data rate (approximate) Sample or frame size rate Telephone speech 64 kbps 8 bits 8000/sec CD-quality sound 1.4 Mbps 16 bits 44,000/sec Standard TV video 120 Mbps up to 640 x 480 24/sec (uncompressed) pixels x 16 bits Standard TV video 1.5 Mbps variable 24/sec (MPEG-1 compressed) HDTV video 1000–3000 Mbps up to 1920 x 1080 24–60/sec (uncompressed) pixels x 24 bits HDTV video 10–30 Mbps variable 24–60/sec MPEG-2 compressed) QOS Management Needs to guarantee accurate processing of multimedia data. If the data is retrieved late, it is useless to the user. In order to accomplish this, the QOS Management system needs to properly allocate resources. QOS Subtasks Quality of service negotiation – Application states requirements. – QOS Manager evaluates requirements and responds with positive or negative. – If negative, the application needs to lower requirements Admission Control – If negotiation is positive, QOS system reserves resources for the app. – App may change requirements. If more resources are needed they must negotiate again, otherwise the resources not needed are released. Flow Chart Admissi on control QoS neg otiation Applic ation c omponents specify their QoS requirements to QoS manager Flow spec. QoS manager eval uates new requirements agains t the avai lable resources. Suffic ient? Yes Res erve the reques ted resources Resource contract Allow applic ationto proc eed Applic ation runs with res ourc es as per res ourc e contrac t No Negotiate reduced resource provis ion with applic ation. Agreement? Yes No Do not allow applic ationto proc eed Applic ationnoti fies QoS manager of increased resource requirements QOS Negotiation Parameters Negotiation is based on three parameters – Bandwidth - The rate at which data flows. – Latency - The time it takes for a bit to travel from one end of a system to another. A variation in latency is termed jitter. – Loss Rate - Percentage of data packets that are dropped or lost due to heavy network volume. This rate needs to be minimized so the user cannot notice the missing data. The parameters are said to be interdependent (A change in one effects another). Specification of Parameters Parameters specified in ranges Bandwidth: – Compression ratio is dynamic, therefore required bandwidth fluctuates. – Also burstiness changes bandwidth specs. (Different streams of data fluctuating quantities of data being transmitted). – A burst parameter may be specified. A buffer may be set aside, equivalent to the size of the burst parameter, in order to avoid loss of frames. – LBAP (Linear-Bounded Arrival Processes) model states: • during any time interval t the maximum number of messages in a stream is Rt + B where R is the rate and B is the max burst size. Specification of Parameters (cont.) Latency: – If frames do not get processed quick enough, the buffer will overflow and backlogging will occur. This will increase latency. – Video conference software may set a maximum only. – Jitter is another factor. Usually taken care of by buffering. This is difficult in the case of video conferencing. Specification of Parameters (cont.) Loss Rate: – Usually calculated through probabilities of overflowing buffers and delays. – Loss Rate calculations need to include time intervals to expect the losses. Traffic Shaping When buffering is used to control the speed at which data is transmitted. This is an attempt to match the transmission pattern with the description provided by the application. Leaky Bucket: – An algorithm buffering the output data and making sure it is not sent faster than the specified rate. – Bursts are completely eliminated (not necessary). Traffic Shaping (cont.) Token Bucket Algorithm: – Implementation of LBAP (Linear-Bounded Arrival Processes). – Avoids eliminating bursts. If a stream has been idle for a certain amount of time, it allows a burst of information to be transmitted. – Data is generated at rate R and stored in a buffer of size B. Data can be sent according to specification as long as the desired amount of data is in the buffer. – This will ensure that data is not sent faster than the LBAP equation Rt + B Traffic Shaping Algorithms (a) Leaky bucket (b) Token bucket Token g ener ator Flow Specifications (RFC 1363) Protocol version Maximum transmission unit Bandwidth: Token bucket rate Token bucket size Maximum transmission rate Delay: Minimum delay noticed Maximum delay variation Loss sensitivity Loss: Burst loss sensitivity Loss interval Quality of guarantee General Negotiation Procedures A QOS manager exists at each node of the system. A source node sends out a Flow Spec. to its QOS manager which checks to see if it can be met. The flow spec. is forwarded to all the necessary nodes in the system. When the spec reaches the final destination, the source is notified if the system can meet the specs. Admission Control Controls resource access. – Preventing resource overload – Refuse resource requests when QOS guarantees are violated. May allocate resources based on minimum and maximum values like the parameter specs. Bandwidth Reservation Reservation is usually made for the maximum bandwidth of a stream. This idea is simple in terms of network usage, because network capacity is easily calculated. However, calculations such as CPU capacity contain too many unknown variables and the margin of error is high. Problem: Often times the max bandwidth is not used resulting in unused resources that may be needed by other applications. Statistical Multiplexing Uses an overbooking strategy (allocates too many resources). This avoids the under-utilization of resources by providing these “soft” guarantees. Provides better resource utilization because it is mainly based on average case. When there are little or no resources left the system may lose quality. The idea behind this is the total bandwidth stays consistent even as the different media streams vary in usage.