Client-controlled QoS Management in Networked Virtual Environments Patrick Monsieurs, Maarten...
-
Upload
amanda-farmer -
Category
Documents
-
view
221 -
download
2
Transcript of Client-controlled QoS Management in Networked Virtual Environments Patrick Monsieurs, Maarten...
Client-controlled QoS Client-controlled QoS Management in Networked Management in Networked
Virtual EnvironmentsVirtual Environments
Patrick Monsieurs, Maarten Wijnants, Patrick Monsieurs, Maarten Wijnants, Wim LamotteWim Lamotte
Expertise Center for Digital MediaExpertise Center for Digital MediaLimburgs Universitair CentrumLimburgs Universitair Centrum, Belgium, Belgium
OverviewOverview
IntroductionIntroduction Related WorkRelated Work Network Intelligence ArchitectureNetwork Intelligence Architecture Distribution of Available BandwidthDistribution of Available Bandwidth Experimental ResultsExperimental Results Conclusions and Future WorkConclusions and Future Work
IntroductionIntroduction
Multimedia streams consume large amounts Multimedia streams consume large amounts of bandwidthof bandwidth
Networked multimedia applications do Networked multimedia applications do not scale well with large amounts of users not scale well with large amounts of users that transmit multimedia contentthat transmit multimedia content
Reduce downstream bandwidth usage Reduce downstream bandwidth usage while maintaining QoEwhile maintaining QoE
NVE ApplicationNVE Application
Related WorkRelated Work
Reducing sender’s qualityReducing sender’s quality Spatial subdivisionSpatial subdivision Quality selectionQuality selection
Reducing Sender’s QualityReducing Sender’s Quality
Receivers notify senders when downstream Receivers notify senders when downstream capacity is exceededcapacity is exceeded
Senders reduce quality of stream to reduce Senders reduce quality of stream to reduce bandwidthbandwidth
Bandwidth and quality of Bandwidth and quality of allall receivers of receivers of the stream is reducedthe stream is reduced
Spatial SubdivisionSpatial Subdivision
Users in Networked Virtual Environments Users in Networked Virtual Environments have a position in the environmenthave a position in the environment
The environment can be subdivided in The environment can be subdivided in spatial regionsspatial regions
Each user is part of a single region and is Each user is part of a single region and is only aware of users in nearby regionsonly aware of users in nearby regions
Associate a multicast address to each regionAssociate a multicast address to each region Join or leave multicast addresses to reduce Join or leave multicast addresses to reduce
or increase bandwidth usageor increase bandwidth usage
Spatial SubdivisionSpatial Subdivision
Player A PositionPlayer B Position
Player A AOI
Player B AOI
Quality SelectionQuality Selection
Spatial subdivisionSpatial subdivision Senders transmit several qualities of streamsSenders transmit several qualities of streams Each quality in a region is associated with a Each quality in a region is associated with a
multicast addressmulticast address Receivers select one quality for each nearby Receivers select one quality for each nearby
regionregion Quality determined by distance and Quality determined by distance and
available bandwidthavailable bandwidth
Quality SelectionQuality Selection
High Quality
Medium Quality
Low Quality
Split by quality
0
200000
400000
600000
800000
1000000
1200000
1 12 23 34 45 56 67 78 89 100
111
122
133
144
155
166
177
188
199
210
221
232
time
bit
s
high
medium
low
Per-stream Quality SelectionPer-stream Quality Selection
Receivers select the quality of every Receivers select the quality of every multimedia streammultimedia stream
Selection based on interest manager of Selection based on interest manager of client applicationclient application
Streams must be blocked or received inside Streams must be blocked or received inside the network before reaching the receiverthe network before reaching the receiver
Use intelligent proxies inside the network Use intelligent proxies inside the network near receiversnear receivers
Network Intelligence Network Intelligence Architecture: ProxiesArchitecture: Proxies
Intelligent proxies are placed in the network Intelligent proxies are placed in the network near clientsnear clients
Intelligent proxies can transcode network Intelligent proxies can transcode network streamsstreams
Reduces or blocks network streams when Reduces or blocks network streams when more bandwidth is requested then availablemore bandwidth is requested then available
Network Intelligence Network Intelligence Architecture: ProxiesArchitecture: Proxies
Bandwidth of streams is reduced based on Bandwidth of streams is reduced based on the importance of each stream and the importance of each stream and consumed bandwidthconsumed bandwidth
Importance of streams is application Importance of streams is application specific and is determined by the client specific and is determined by the client application (e.g.. Nearby avatars’ audio application (e.g.. Nearby avatars’ audio streams are more important)streams are more important)
Network Intelligence Network Intelligence Architecture: ClientsArchitecture: Clients
Clients have network intelligence layer Clients have network intelligence layer between transport and application layerbetween transport and application layer
Separates application logic (such as interest Separates application logic (such as interest management) from networking logic (such management) from networking logic (such as bandwidth consumption)as bandwidth consumption)
Network Intelligence Network Intelligence ArchitectureArchitecture
Interest manager
Video Audio Position
Stream3 Stream4Stream2Stream1 Stream6Stream5
Weights of streams
Class1 Class2 Class3
Transcoder1 Transcoder2 Transcoder3
Client-proxy communication
Application layer
Network intelligence layer
Proxy/router
Network
Interest manager
Video Audio Position
Interest manager
Video Audio Position
Stream3 Stream4Stream2Stream1 Stream6Stream5
Weights of streams
Class1 Class2 Class3
Transcoder1 Transcoder2 Transcoder3
Client-proxy communication
Application layer
Network intelligence layer
Proxy/router
Network
Intelligent ProxyIntelligent Proxy
Content-based “transcoders” (block/pass, lower Content-based “transcoders” (block/pass, lower quality, validation, …)quality, validation, …)
Located near end-users (eg. DSLAM)Located near end-users (eg. DSLAM) complexity of network management located at complexity of network management located at edge of networkedge of network
Measures bandwidth of managed streams and Measures bandwidth of managed streams and available bandwidth of link to clientavailable bandwidth of link to client
When available bandwidth to a client is exceeded, When available bandwidth to a client is exceeded, determines which streams to block or transcodedetermines which streams to block or transcode
Network Intelligence LayerNetwork Intelligence Layer
Replaces standard networking operationsReplaces standard networking operations Provides interface with client’s interest manager, Provides interface with client’s interest manager,
which periodically requests the importance of the which periodically requests the importance of the managed network streamsmanaged network streams
Communicates with intelligent proxies in the Communicates with intelligent proxies in the networknetwork
Separates application logic from networkingSeparates application logic from networking Associates correct transcoder to network stream Associates correct transcoder to network stream
(type of content is specified on creation of the (type of content is specified on creation of the socket)socket)
Communication Between Proxy Communication Between Proxy and Network Intelligence Layerand Network Intelligence Layer
Admission control: specify which streams Admission control: specify which streams must be managed (filter by destination port must be managed (filter by destination port on proxy)on proxy)
Creation of a stream hierarchy (next slide)Creation of a stream hierarchy (next slide) Communicating importance of streamsCommunicating importance of streams Multicast tunneling: NI layer monitors Multicast tunneling: NI layer monitors
which multicast addresses are joined by which multicast addresses are joined by clientsclients
Distribution of Available Distribution of Available BandwidthBandwidth
Hierarchy of Hierarchy of available streamsavailable streams
Relative QoSRelative QoS Components:Components:
– PriorityPriority– MutexMutex– Weighted Weighted
collectioncollection
Priority
Weight
Mutex
Weight
Weight
Weight Weight
Weight
Mutex Mutex
Position updates
3D models
Audio data
Video dataVideo data Video data
1 2
0.5 0.5
0.5 0.5
wi wi wiwi wi
wi wi
Distribution of Weighted Distribution of Weighted CollectionsCollections
Stream Stream ssii has weight has weight wwii between 0 and 1 between 0 and 1
Stream Stream ssii consumes bandwidth consumes bandwidth mmii
Total bandwidth Total bandwidth MM = = iimmii
Reduce bandwidth if Reduce bandwidth if MM > available > available bandwidth bandwidth BB
hh((ii, , bb) := highest transcoded bandwidth of ) := highest transcoded bandwidth of stream stream ssii that is less than bandwidth that is less than bandwidth bb
Weighted bandwidth Weighted bandwidth WW = = iiwwiimmii
Distribution of Weighted Distribution of Weighted CollectionsCollections
Initial estimate Initial estimate t t ((ii) for stream ) for stream ssii: :
t t ((ii) = ) = hh((ii, , wwiimmiiBB//WW))
iitt ( (ii) ) BB
Remaining bandwidth Remaining bandwidth RR00 = = BB - - iitt ( (ii))
Distribute remaining bandwidth: Distribute remaining bandwidth: – Assume streams ordered by Assume streams ordered by wwii, , ww00 highest: highest:
– Target bandwidth Target bandwidth TT((ii) = ) = hh((ii, , tt ( (ii) + ) + RRii))
where where RRii = = RRii-1-1 – ( – (TT((ii-1) – -1) – t t ((ii-1)) for -1)) for ii > 0 > 0
Experimental SetupExperimental Setup
Intelligent client
Intelligent proxy
Network
Clients
Clients
Experiment 1Experiment 1
Maximum available bandwidth is reduced Maximum available bandwidth is reduced over timeover time
Clients remain stationary in the worldClients remain stationary in the world Nearby clients have higher weightsNearby clients have higher weights
Experiment 1Experiment 1
0
100000
200000
300000
400000
500000
6000000 19
38
57
76
95
114
133
152
171
190
209
228
247
266
285
304
323
342
Time (sec)
Bit
s
C:4 Q:2
C:4 Q:1
C:4 Q:0
C:3 Q:2
C:3 Q:1
C:3 Q:0
C:2 Q:2
C:2 Q:1
C:2 Q:0
C:1 Q:2
C:1 Q:1
C:1 Q:0
Max
Experiment 2Experiment 2
Fixed maximum available bandwidthFixed maximum available bandwidth Bandwidth is not sufficient to transmit all Bandwidth is not sufficient to transmit all
video streams at highest qualityvideo streams at highest quality First, client 3 moves away from the First, client 3 moves away from the
intelligent client (reducing its weight), and intelligent client (reducing its weight), and later returns quicklylater returns quickly
Experiment 2Experiment 2
0
100000
200000
300000
400000
500000
600000
1 18 35 52 69 86 103 120 137 154 171 188
Time (sec)
Bits
C:9 Q:2
C:9 Q:1
C:9 Q:0
C:7 Q:2
C:7 Q:1
C:7 Q:0
C:5 Q:2
C:5 Q:1
C:5 Q:0
C:1 Q:2
C:1 Q:1
C:1 Q:0
Max
ConclusionsConclusions
Bandwidth of managed streams is adapted Bandwidth of managed streams is adapted to maximum available bandwidthto maximum available bandwidth
Distribution of bandwidth is dynamic, Distribution of bandwidth is dynamic, based on the client’s interest in each streambased on the client’s interest in each stream
Separation of application logic and network Separation of application logic and network logiclogic
Intelligent proxy architecture is useful for Intelligent proxy architecture is useful for mobile devices such as PDA’smobile devices such as PDA’s