CS716
Advanced Computer Networks
By Dr. Amir Qayyum
1
1
Lecture No. 38
2
RealTimeApplications
ã Requiredeliverontimeassurances
Mustcomefrominsidethenetwork
Microphone
Sampler
A D
converter
Buffer
D A
Speaker
ã Exampleapplication(audio)
Samplevoiceonceevery125às
Eachsamplehasaplaybacktime
Packetsexperiencevariabledelayinnetwork
Addconstantfactortoplaybacktime:
playbackpoint
3
Real Time Application Example:
LiveSource Audio
• One byte per 125 microseconds
• Delay between speaker & listener
should be fixed
• Each packet has “playback time”
based on delay
• But network delay is variable
4
Real Time Application Example:
LiveSource Audio
• Solution
– Fix delay at 9599% mark on distribution
– i.e. delay by which 9599% of packets
arrive
• Some packets (15%) still lost, but tolerable
• Early packets are buffered until playback
time
5
Playback Buffer
Sequence number
Packet
arrival
Packet
generation
Playback
Network
delay
Buffer
Time
6
Example Distribution of Delays
90% 97% 98%
Packets (%)
3
99%
2
1
50
100
150
200
Delay (milliseconds)
7
Taxonomy of Applications
8
Taxonomy
Applications
Real time
Tolerant
Adaptive
Delayadaptive
Nonadaptive
Elastic
Intolerant
Rate-adaptive
Interactive
Interactive
bulk
Nonadaptive
Rateadaptive
9
Asynchronous
Elastic Applications
• Old data are useful, just not as good
– Interactive applications (e.g. ssh,
rlogin, telnet)
– Bulk transfers (e.g. http, ftp)
– Asynchronous interaction (e.g. email)
10
Realtime Applications
• Intolerant to loss
• Tolerant to loss
– Nonadaptive: quality fixed (sample delay and
throughput, then assume worstcase variation)
– Adaptive: adjust quality to current parameters
• Delay adaptive: adjust to achieved delay
• Rate adaptive: adjust to achieved throughput
11
Integrated Services :
Resource Reservation Protocol
(RSVP)
12
Integrated Services
• Service Classes
– Guaranteed
– Controlledload
• Mechanisms
– Signaling protocol
– Admission control
– Policing
– Packet scheduling
13
Three Classes of Service
• Guaranteed: specified maximum delay
• Controlled load
– For losstolerant, adaptive applications
– Network appears lightly loaded (via
weighted fair queuing)
• Best effort
14
Mechanisms to Support Integrated
Services
• Flow specification: delay requirements for flow
• Admission control: network decision to support
flow
• Resource reservation: protocol for exchanging
flowspecs, performing admission control, etc.
• Packet classification: mapping packets to flows
• Packet scheduling: forwarding policy
15
Integrated Services Example
• Flowspec: 100 ms guaranteed to www.nsf.gov
• Reservation: spec travels down path for approval
• Delay guarantee approved by all routers, so
admitted
• My packets marked as guaranteed
• EXAMPLE policy: guaranteed packets sent first
16
Flow Specification Components
• RSpec: describes service requested from network
– Controlleddelay: level of delay required
– Guaranteed/predictive: delay target
• TSpec: describe flow traffic characterization
– Characterized by token bucket filter
– Average throughput r
– Maximum buffering requirement B
17
Flowspec
• Rspec: describes service requested from network
– Controlledload: none
– Guaranteed: delay target
• Tspec: describes flow’s traffic characteristics
–
–
–
–
–
–
–
–
Average bandwidth + burstness: token bucket filter
Token rate r
Bucket depth B
Must have a token to send a byte
Must have n tokens to send n bytes
Start with no tokens
Accumulate tokens at rate of r per second
Can accumulate no more than B tokens
18
Flows with Equal Average Rates but
Different Token Bucket Descriptions
19
Unrealistic Expectations …
• Be explicit about requirements
• “In general, it is good to be as explicit
about the bandwidth needs of an
application as possible...”
• How much bandwidth does your
browser need? What about buffering?
Please be explicit!
20
Token Bucket Filters
r tokens/sec
Token Bucket,
Capacity B
Each byte needs a
token in order to
pass
Data
• Dropping filter: drops packets if token is not available
• Buffered filter: buffers data until tokens become
available
21
Token Bucket
• Given a rate r and a finite data trace, what
is minimum bucket capacity B such that the
filter has no effect?
• Simply observe the maximum buffer size
• Does this approach work? Why?
• For buffer of size b, the number of empty
buffer positions is equal to the number of
tokens in an (r,b) token bucket filter
22
Token Bucket
23
PerRouter (RouterCentric)
Mechanisms
• Admission Control
– Decide if a new flow can be supported
– Answer depends on service class
– Not the same as policing
• Packet Processing
– Classification: associate each packet with
the appropriate reservation
– Scheduling: manage queues so each packet
receives the requested service
24
Reservation Protocol
• Called signaling in ATM
• Proposed Internet standard: RSVP
– Consistent with robustness of today’s
connectionless model
– Uses soft state (refresh periodically)
– Designed to support multicast (can specify
number of speakers)
– Receiveroriented
• RSVP uses two messages
– PATH transmitted by source every 30 sec
– Destination responds with RESV message
• Requirements must be merged for multicast
25