QoS Requirements QoS Requirements of Multimedia of Multimedia Applications Applications Brett Berliner Brett Berliner Brian Clark Brian Clark Albert Hartono Albert Hartono
Jan 20, 2016
QoS Requirements QoS Requirements of Multimedia of Multimedia Applications Applications
Brett BerlinerBrett Berliner
Brian ClarkBrian Clark
Albert Hartono Albert Hartono
IntroductionIntroduction What does QoS mean?What does QoS mean?
Quality of ServiceQuality of Service probability of the network/protocol meeting a probability of the network/protocol meeting a
given traffic contract.given traffic contract. Who negotiates this contract?Who negotiates this contract?
SLA (Service Level Agreement)SLA (Service Level Agreement) Usually done by prioritizing trafficUsually done by prioritizing traffic Sender and receiverSender and receiver
Mutual agreementMutual agreement Improves reliability of contract by having both ends Improves reliability of contract by having both ends
agreeagree Like with any contract negotiation is the keyLike with any contract negotiation is the key
Introduction Con’tIntroduction Con’t Generally not used for most traffic in internetGenerally not used for most traffic in internet
Usually things are not dependant on time domainUsually things are not dependant on time domain Web browsing, e-mail, ftp, etc.Web browsing, e-mail, ftp, etc.
TCP takes care of this for usTCP takes care of this for us Mainly used for multimedia applicationsMainly used for multimedia applications
Time is of the essenceTime is of the essence Video, voice, games, etc.Video, voice, games, etc.
Always a trade-offAlways a trade-off Higher QoS (higher quality) -> More resourcesHigher QoS (higher quality) -> More resources Users of SLA must be fair and honestUsers of SLA must be fair and honest
Five basic parametersFive basic parameters
Dropped PacketsDropped Packets
A router must drop an incoming packet A router must drop an incoming packet because buffer is fullbecause buffer is full
No perfect solution to this problemNo perfect solution to this problem Some, none, or all might get droppedSome, none, or all might get dropped
Impossible to determine in advanceImpossible to determine in advance How to recover?How to recover?
Receiver must request packets to be sent Receiver must request packets to be sent againagain
Causes severe delayCauses severe delay Sometimes not worth it to request packet againSometimes not worth it to request packet again
DelayDelay QueuingQueuing
Time spent waiting in a queue at a routerTime spent waiting in a queue at a router Depends on congestion in the networkDepends on congestion in the network Usually in millisecondsUsually in milliseconds
Processing Delay (usually caused by software)Processing Delay (usually caused by software) At different layers, data must be processedAt different layers, data must be processed Usually in microsecondsUsually in microseconds
Propagation DelayPropagation Delay Time for data to travel from A->BTime for data to travel from A->B Depends on distance, usually in millisecondsDepends on distance, usually in milliseconds
Transmission DelayTransmission Delay Depends on bandwidth and length of message, usually Depends on bandwidth and length of message, usually
in microsecondsin microseconds
JitterJitter
A lack of synchronizationA lack of synchronization Caused by different delays in packetsCaused by different delays in packets
Result of packets taking different routesResult of packets taking different routes Directly related to congestionDirectly related to congestion
Extreme jitter can lead to out-of-Extreme jitter can lead to out-of-order deliveryorder delivery Packets need to be re-ordered at receiverPackets need to be re-ordered at receiver
Sometimes this is impossible due to time Sometimes this is impossible due to time constraintsconstraints
ErrorError
Packets do not always arrive in the Packets do not always arrive in the exact state they were sent out inexact state they were sent out in Can be misdirected (sent to wrong Can be misdirected (sent to wrong
destination)destination) Can get combined together by accidentCan get combined together by accident Can have bit(s) flipped.Can have bit(s) flipped.
Receiver must request information to Receiver must request information to be sent againbe sent again
Many times this is not practical for Many times this is not practical for multimedia applicationsmultimedia applications
BandwidthBandwidth
Amount of data that can be sent over a Amount of data that can be sent over a connection in a given amount of timeconnection in a given amount of time
Commonly measured in bits/secondCommonly measured in bits/second kbps or mbps insteadkbps or mbps instead
Sometimes a given connection is simply Sometimes a given connection is simply physically unable to fulfill a SLAphysically unable to fulfill a SLA Imagine trying to stream HDTV quality Imagine trying to stream HDTV quality
video over a 14.4 kbps modemvideo over a 14.4 kbps modem
What Happens When What Happens When QoS Fails?QoS Fails?
VoIP Example:VoIP Example: DelaysDelays followed by effect followed by effect
< 100 – 150 ms: < 100 – 150 ms: Delay is not detectable by humansDelay is not detectable by humans 150 – 250 ms: 150 – 250 ms: Acceptable quality, but delay and Acceptable quality, but delay and
hesitation is noticeablehesitation is noticeable > 250 – 300 ms: > 250 – 300 ms: Unacceptable. Normal conversation Unacceptable. Normal conversation
is impossibleis impossible Jitter Jitter followed by effectfollowed by effect
< 40 ms: < 40 ms: Jitter is not detectableJitter is not detectable 40-75 ms: 40-75 ms: Good quality, but occasional jumble is Good quality, but occasional jumble is
noticeablenoticeable > 75 ms: > 75 ms: Unacceptable. Too much jumble to carry a Unacceptable. Too much jumble to carry a
conversationconversation
What Happens When What Happens When QoS Fails?QoS Fails?
Video ExampleVideo Example Out of sync image Out of sync image
is a result of motion is a result of motion prediction. Result prediction. Result of loss of a P or B of loss of a P or B frameframe
Missing image Missing image parts result of a parts result of a missing I framemissing I frame
Summary of QoS Requirements For Specific Summary of QoS Requirements For Specific ApplicationsApplications
Application Dropped Packets Delay Jitter Bandwidth
VoIP < 3% packet loss ratio
150 – 200 ms < 30 ms 21 – 320 kbps
High Quality Audio & Video
< 1 % packet loss ratio
150 ms < 30 ms 768 kbps + 20% overhead = 921 kbps
Remote Visualization
None none 700 Mbps
Internet Gaming none 150 ms none 56 kbps
Web Browsing none 2 sec is preferred, 4 sec is acceptable
none 10 kbps
Streaming Video < 5% 4-5 seconds n/a Varies with encoding format
Uncompressed HDTV
1.5 Gbps
Who’s Responsibility Is Who’s Responsibility Is It? It?
Routers don’t know typically know Routers don’t know typically know what the data iswhat the data is Thus, it requires a lot of overhead to allow Thus, it requires a lot of overhead to allow
the routers to interpret the datathe routers to interpret the data The encoding and decoding of the data The encoding and decoding of the data
in the sender and the receiver(s) in the sender and the receiver(s) makes them a prime targetmakes them a prime target This is where most of the focus of ensuring This is where most of the focus of ensuring
that QoS requirements are met liesthat QoS requirements are met lies
Basic Types of QoS Basic Types of QoS TechnologiesTechnologies
Congestion/Traffic ControlCongestion/Traffic Control Examples: RED, FRED, DroptailExamples: RED, FRED, Droptail
Resource ManagementResource Management Examples: IntServ, DiffServExamples: IntServ, DiffServ
Queuing/BufferingQueuing/Buffering Priority Queuing, FRTSPriority Queuing, FRTS
Congestion Control Congestion Control MethodsMethods
RED/FREDRED/FRED DroptailDroptail BucketingBucketing QoS/BGPQoS/BGP
Congestion Control Congestion Control Methods (cont.)Methods (cont.)
RED, FRED and Droptail MethodsRED, FRED and Droptail Methods Already discussed extensively in classAlready discussed extensively in class Methods to improve congestion, but like Methods to improve congestion, but like
all methods, have their own drawbacks all methods, have their own drawbacks and benefitsand benefits
Important to note that these methods Important to note that these methods only help improve QoS on a very high only help improve QoS on a very high level. They improve congestion and level. They improve congestion and traffic, which helps the entire internet, traffic, which helps the entire internet, not just QoS issues.not just QoS issues.
Congestion Control Congestion Control Methods (cont.)Methods (cont.)
QoS / BGP (QoS Policy Propagation via QoS / BGP (QoS Policy Propagation via Border Gateway Protocol)Border Gateway Protocol) BGP is the core routing protocol of the BGP is the core routing protocol of the
internetinternet Instead of using BGP solely to determine Instead of using BGP solely to determine
where to send the packets, build on top of where to send the packets, build on top of BGP to classify the type of packets being BGP to classify the type of packets being sentsent
Allows other methods, like queuing or Allows other methods, like queuing or scheduling, to be used in conjunction to scheduling, to be used in conjunction to ensure QoS requirements are met ensure QoS requirements are met
Resource Management Resource Management MethodsMethods
IntServ (Integrated Services)IntServ (Integrated Services) A fine grained QoS systemA fine grained QoS system Individual applications must make indvidual Individual applications must make indvidual
reservations of resourcesreservations of resources By making reservations, the application is By making reservations, the application is
guaranteed a certain level of service – from guaranteed a certain level of service – from “best effort” to “100% guarantee”, and “best effort” to “100% guarantee”, and everything in betweeneverything in between
Uses RSVP (Resource ReSerVation Protocol) Uses RSVP (Resource ReSerVation Protocol) to help determine what resources to allocate to help determine what resources to allocate where.where.
Resource Management Resource Management Methods (cont.)Methods (cont.)
DiffServ (Differentiated Services)DiffServ (Differentiated Services) Much more coarse QoS systemMuch more coarse QoS system Reservations are done in bulk, usually Reservations are done in bulk, usually
from a single source (such as a university from a single source (such as a university or a single ISP)or a single ISP)
Policing of data is done completely at Policing of data is done completely at DiffServ clouds (individual systems of DiffServ clouds (individual systems of routers)routers)
Data with highest priority is given Data with highest priority is given highest priority, within clouds onlyhighest priority, within clouds only
Resource Management Resource Management Methods (cont.)Methods (cont.)
Weaknesses of these methods:Weaknesses of these methods: IntServIntServ
Similar to FRED, lots of data must be stored. Similar to FRED, lots of data must be stored. Thus, hard to scale for the entire internetThus, hard to scale for the entire internet
DiffServDiffServ Not a good system for most links. Not a good system for most links. Since the traffic comes in very large chunks Since the traffic comes in very large chunks
(e.g., all traffic from OSU as well as all from (e.g., all traffic from OSU as well as all from Otterbein), there is likely to be relatively steady Otterbein), there is likely to be relatively steady traffic. traffic.
If packets need to be dropped, more bandwidth If packets need to be dropped, more bandwidth is needed to fix the problem in most cases.is needed to fix the problem in most cases.
Queuing/Buffering Queuing/Buffering MethodsMethods
FRTS (Frame Relay Traffic Shaping)FRTS (Frame Relay Traffic Shaping) Excess traffic is delayed using a buffer or a Excess traffic is delayed using a buffer or a
queuequeue Idea is to shape the flow’s traffic, usually Idea is to shape the flow’s traffic, usually
when the data rate of the source is higher when the data rate of the source is higher than expected.than expected.
Works very well with a large queue or a Works very well with a large queue or a small scale. If the queue is too small, or small scale. If the queue is too small, or FRTS is run on a large scale (e.g., the whole FRTS is run on a large scale (e.g., the whole internet), a queue management algorithm internet), a queue management algorithm would be necessary.would be necessary.
Queuing/Buffering Methods Queuing/Buffering Methods (cont.)(cont.)
CSFQ (Core Stateless Fair CSFQ (Core Stateless Fair Queuing)Queuing) First step – edge nodes First step – edge nodes
estimate the incoming rate of estimate the incoming rate of packets being sent, then uses packets being sent, then uses that as a label for each of that that as a label for each of that flow’s packetflow’s packet
Next – all nodes (including Next – all nodes (including edge) repeatedly estimate the edge) repeatedly estimate the fair rate from the outgoing fair rate from the outgoing link. Upon arrival, the link. Upon arrival, the probability the packet will be probability the packet will be forwarded is calculated, based forwarded is calculated, based on the previously calculated on the previously calculated probability, as well as the probability, as well as the previous label.previous label.
When that packet is When that packet is forwarded, it is sent with that forwarded, it is sent with that probability, and the label is probability, and the label is replaced with the smaller replaced with the smaller value between its previous value between its previous value and the fair rate.value and the fair rate.
Queuing/Buffering Methods Queuing/Buffering Methods (cont.)(cont.)
Advantages of CSFQAdvantages of CSFQ Per flow management is performed, Per flow management is performed,
allowing each flow to get a fair rateallowing each flow to get a fair rate Stateless (less information stored, the Stateless (less information stored, the
better)better) Disadvantages of CSFQDisadvantages of CSFQ
Not a lot of room for allowing Not a lot of room for allowing prioritizationprioritization
Fair amount of calculation is necessary, Fair amount of calculation is necessary, and may be futile calculationand may be futile calculation
Queuing/Buffering Methods Queuing/Buffering Methods (cont.)(cont.)
Priority QueuingPriority Queuing Multiple queues in implementation, Multiple queues in implementation,
each representing a level of priority each representing a level of priority (high, low, and a differing number in (high, low, and a differing number in between)between)
Each queue gets only packets matching Each queue gets only packets matching its priority levelits priority level
Can change calculation equation on the Can change calculation equation on the flyfly
Queuing/Buffering Methods Queuing/Buffering Methods (cont.)(cont.)
Advantages of Priority QueuingAdvantages of Priority Queuing Simple implementationSimple implementation Very flexibleVery flexible
Disadvantages of Priority QueuingDisadvantages of Priority Queuing Starvation is still possibleStarvation is still possible If equation remains stagnant, traffic If equation remains stagnant, traffic
could be lost in the queuescould be lost in the queues
Queuing/Buffering Methods Queuing/Buffering Methods (cont.)(cont.)
Weighted Fair QueuingWeighted Fair Queuing An implementation of Priority QueuingAn implementation of Priority Queuing Classifies all traffic through a series of Classifies all traffic through a series of
qualifications to get the traffic in the qualifications to get the traffic in the best possible queuesbest possible queues
Examples – interactive traffic goes Examples – interactive traffic goes before non-interactive, low bandwidth before non-interactive, low bandwidth sessions go before high bandwidth sessions go before high bandwidth sessionssessions
Combing technologiesCombing technologies Right now, to ensure QoS, there are no Right now, to ensure QoS, there are no
‘magic bullets’‘magic bullets’ Each technology type has many methods Each technology type has many methods
for a reasonfor a reason The way to effectively ensure QoS The way to effectively ensure QoS
requirements best is to combine methods requirements best is to combine methods effectivelyeffectively
As a result, we see certain technologies As a result, we see certain technologies that we cannot implement fully because that we cannot implement fully because of the inability to meet the necessary QoS of the inability to meet the necessary QoS requirementsrequirements
TelesurgeryTelesurgery
Robotic and computer-aided surgery Robotic and computer-aided surgery across a distant location across a distant location
Time-critical (delay-oriented) Time-critical (delay-oriented) applicationapplication
Data to send: Data to send: surgical movementssurgical movements real-time medical images real-time medical images voice and video signalvoice and video signal
Telesurgery (cont.)Telesurgery (cont.)
QoS requirements: QoS requirements: reliability of the network linereliability of the network line low end-to-end delaylow end-to-end delay low data error ratelow data error rate data transfer from sources with various data transfer from sources with various
data ratesdata rates The acceptable limit of delay The acceptable limit of delay
requirement: 330 msrequirement: 330 ms
Telesurgery (cont.)Telesurgery (cont.)
The use of the Internet for The use of the Internet for telesurgery is not possibletelesurgery is not possible
ATM and SDH/SONET (optical ATM and SDH/SONET (optical network) meet the network network) meet the network requirements of telesurgery.requirements of telesurgery.
Telesurgery (cont.)Telesurgery (cont.)
On September 7th, 2002, the first On September 7th, 2002, the first human transoceanic (New York - human transoceanic (New York - Strasbourg, France) operation was Strasbourg, France) operation was successfully performedsuccessfully performed
Telesurgery (cont.)Telesurgery (cont.)
High-speed optical-fiber networkHigh-speed optical-fiber network Dedicated connection-oriented ATM Dedicated connection-oriented ATM
transporttransport Reserved bandwidth of 10 MbpsReserved bandwidth of 10 Mbps Measured mean-time of delays: 155 msMeasured mean-time of delays: 155 ms
ATM round trip delay: 78-80 msATM round trip delay: 78-80 ms Video coding and decoding: 70 msVideo coding and decoding: 70 ms Rate adaptation and Ethernet-to-ATM Rate adaptation and Ethernet-to-ATM
packet conversion: ~ 5 mspacket conversion: ~ 5 ms
No packet loss was detectedNo packet loss was detected
Remote VisualizationRemote Visualization
Interactive viewing of 3-D Interactive viewing of 3-D scientific data sets over scientific data sets over networksnetworks
Gigabyte size range of Gigabyte size range of data setsdata sets
Interactivity → tight delay Interactivity → tight delay requirementrequirement
Remote Visualization Remote Visualization (cont.)(cont.)
QoS requirements:QoS requirements: very high network bandwidthvery high network bandwidth low latencylow latency constant jitterconstant jitter
The use of Internet for remote The use of Internet for remote visualization is not feasiblevisualization is not feasible
Remote Visualization Remote Visualization (cont.)(cont.)
RealityGrid implements tools for RealityGrid implements tools for computational steering in the Open computational steering in the Open Grid Services Architecture (OGSA) Grid Services Architecture (OGSA)
Remote Visualization Remote Visualization (cont.)(cont.)
High bandwidth links → at least 700 High bandwidth links → at least 700 MbpsMbps
Compressed video sent to remote Compressed video sent to remote observers → 100 - 200 Mbps (with low observers → 100 - 200 Mbps (with low latency and constant jitter)latency and constant jitter)
These QoS requirements These QoS requirements increase linearly with #remote observers increase linearly with #remote observers doubled again if remote stereoscopic doubled again if remote stereoscopic
rendering is employedrendering is employed
Tele-ImmersionTele-Immersion
Enable individuals in different Enable individuals in different locations to interact with each other locations to interact with each other in a shared, computer-generated in a shared, computer-generated environment as if they were in the environment as if they were in the same physical room → Virtual Realitysame physical room → Virtual Reality
The same QoS requirements as The same QoS requirements as those of remote visualizationthose of remote visualization
ConclusionsConclusions Some benefits of QoS:Some benefits of QoS:
Control over which resources are being usedControl over which resources are being used Ensure time-critical and mission-critical applications Ensure time-critical and mission-critical applications
have their required resourceshave their required resources More efficient use of existing network resources, More efficient use of existing network resources,
rather than the need for expansion or upgradesrather than the need for expansion or upgrades Foundation for a fully-integrated multimedia network Foundation for a fully-integrated multimedia network
needed in the near futureneeded in the near future QoS of scientific-computation creates technical QoS of scientific-computation creates technical
challenges for designing the next generation of challenges for designing the next generation of networknetwork
The challenge of insuring QoS requirements is The challenge of insuring QoS requirements is a large part of what drives today’s interneta large part of what drives today’s internet