the niproxy: a flexible proxy server supporting client bandwidth management and multimedia service...
TRANSCRIPT
The NIProxy:a Flexible Proxy Server Supporting
Client Bandwidth Management and Multimedia Service Provision
Maarten WijnantsWim Lamotte
21/06/2007 WoWMoM2007 2
Outline
• Introduction• System Overview• Software Architecture• Bandwidth Distribution Algorithm• An Example Service: Video Transcoding• Evaluation
– Test Application– Experimental Results
• Conclusions & Future Work
21/06/2007 WoWMoM2007 3
Introduction
• Popularization of multimedia content and real-time multimedia streaming– E.g. multiplayer games: verbal communication
through voice streaming– E.g. academic applications: also video
communication
• Multimedia streaming requires considerable amount of bandwidth– Client downstream bw does not always suffice– Mechanisms are needed to maximize clients’
Quality of Experience (QoE)
21/06/2007 WoWMoM2007 4
NIProxy: System Overview
• The NIProxy– Network intermediary (a “proxy”)– Abbreviation for Network Intelligence Proxy– Goal = introduce more intelligence in the
network so that it can deliver MM content to clients more intelligently and efficiently
– Outcome = improved QoE for users
21/06/2007 WoWMoM2007 5
NIProxy: System Overview
• NIProxy introduces 2 kinds of intelligence in the transportation network– Network awareness
• NIProxy has knowledge of the client’s network link– Is acquired through periodic network probing– Current end-to-end throughput, latency, packet loss
rate, … • Also encompasses knowledge of the bandwidth
requirements of network streams
– Application awareness• NIProxy is aware of the application it is serving• Is acquired through support library called the NILayer• E.g. relative importance of streams
21/06/2007 WoWMoM2007 6
NIProxy: System Overview
• The NIProxy provides 2 QoE-increasing mechanisms– Automatic client bandwidth management– Multimedia service provision
• NIProxy == MM service provision platform
• Both mechanisms can exploit the NIProxy’s dual awareness/intelligence
• The mechanisms are– Complementary– NOT isolated entities (i.e. they can collaborate)
21/06/2007 WoWMoM2007 7
Software Architecture
21/06/2007 WoWMoM2007 8
Software Architecture
• Bandwidth Manager– Responsible for managing the proxy client's
available downstream bandwidth– Has access to the NIProxy's bandwidth
distribution algorithm– Computes verdicts for the network packets it
receives• Accept• Drop• Block
– Only packets for which an accept verdict is computed are transmitted to the proxy client
21/06/2007 WoWMoM2007 9
Software Architecture
• Service Manager– Applies services on MM streams on behalf of proxy
clients– Hands intercepted network packets to the currently
loaded (and interested) services– Service traversing order == load order– Services are allowed to alter the contents of the
packets they receive– Multiple services can collaborate on a single stream– Each client has its own Service Manager instance
• Services are implemented as NIProxy plug-ins
21/06/2007 WoWMoM2007 10
Bandwidth Distribution Algorithm
• Manages/distributes proxy client downstream bandwidth by arranging MM streams in a stream hierarchy– Leaf nodes: actual network streams– Internal nodes: implement a certain bandwidth
distribution technique• Mutex (e.g. group multiple qualities of same stream)• Priority (e.g. distinguish between different types of
network streams)• Weight (e.g. distinguish between individual network
streams of the same type)
• Stream hierarchy is maintained by client
21/06/2007 WoWMoM2007 11
An Example Service:Video Transcoding
• NIProxy video transcoding service– Enables NIProxy to reduce bandwidth
requirements of video streams– Is implemented using the cascaded pixel-
domain approach to transcoding– For each received video stream, a new node is
added to the proxy client’s stream hierarchy• Is linked to the transcoded video stream• Is added as sibling of original video stream
21/06/2007 WoWMoM2007 12
An Example Service:Video Transcoding
• Mode of operation– Registers interest for video streams with
Service Manager– Consults proxy client’s stream hierarchy
• Transcode only if Bandwidth Manager computes an accept verdict for transcoded version of video stream
– If transcoding took place, original video frame is replaced by its transcoded counterpart
• Subsequent services will receive transcoded frame
• Notice collaboration between services and bandwidth distribution algorithm!
21/06/2007 WoWMoM2007 13
Evaluation:Test Application
• Test application– Simple in-house developed NVE– Provides users with a top-down 2D view of the
shared virtual world– Supports voice and video communication
• Required modifications– Provide NIProxy with application awareness
• Voice: stream importance inversely proportional to virtual distance
• Video: virtual orientation is also considered• Maybe more meaningful for 3D NVEs
– “Easy” thanks to availability NILayer library
21/06/2007 WoWMoM2007 14
Evaluation:Experimental Results
• Experiment– 1 proxy client, 3 “regular” clients (C1, C2, C3)– Goal = register MM experience provided to the
sole proxy client– Only 1 type of MM was considered video
• Places largest load on network• Allows demonstration of video transcoding plug-in
– Consisted of 3 intervals• Within each interval, all conditions remained constant• Transition between intervals was triggered by
changing conditions
21/06/2007 WoWMoM2007 15
Evaluation:Experimental Results
21/06/2007 WoWMoM2007 16
Evaluation:Experimental Results
21/06/2007 WoWMoM2007 17
Evaluation:Experimental Results
• Findings– NIProxy respects client downstream bandwidth
• Packet loss and packet latency are kept to a minimum
• Improved playback of MM streams at client-side
– Client receives MM streams that are most important to it in the highest quality possible
• Has a positive impact on the user QoE
– Video transcoding service enables NIProxy to forward lower-quality video to a proxy client
• Alternative = drop video all together• NIProxy's service provision mechanism is also
capable of improving the user QoE
21/06/2007 WoWMoM2007 18
Conclusions
• Increasing use of MM content & streaming– If done improperly, can result in deterioration
of user QoE instead of an improvement
• NIProxy– Introduces more intelligence in the network
• Both application- and network awareness
– Complementarily leverages this awareness to• Intelligently manage client downstream bandwidth• Apply services on MM streams on behalf of clients
– Important feature: collaboration possible– Outcome = improved MM experience for users
• Confirmed by the presented experimental results
21/06/2007 WoWMoM2007 19
Future Work
• NIProxy still lacks knowledge of the client terminal and the end-user's preferences– Third kind of awareness
• Process of (un)loading services is at the moment directed entirely by proxy client– Migrate (some) of this control to NIProxy
• Bandwidth distribution algorithm is optimized for continuous streams– Provide support for bursty, short-lived streams
• Make video transcoding service dynamic– Transcode to range of output qualities
Thank you for your attention!Any questions?