200 likes | 303 Views
The NIProxy: a Flexible Proxy Server Supporting Client Bandwidth Management and Multimedia Service Provision. Maarten Wijnants Wim Lamotte. Outline. Introduction System Overview Software Architecture Bandwidth Distribution Algorithm An Example Service: Video Transcoding Evaluation
E N D
The NIProxy:a Flexible Proxy Server Supporting Client Bandwidth Management and Multimedia Service Provision Maarten Wijnants Wim Lamotte
Outline • Introduction • System Overview • Software Architecture • Bandwidth Distribution Algorithm • An Example Service: Video Transcoding • Evaluation • Test Application • Experimental Results • Conclusions & Future Work WoWMoM2007
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) WoWMoM2007
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 WoWMoM2007
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 WoWMoM2007
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) WoWMoM2007
Software Architecture WoWMoM2007
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 WoWMoM2007
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 WoWMoM2007
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 WoWMoM2007
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 WoWMoM2007
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! WoWMoM2007
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 WoWMoM2007
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 WoWMoM2007
Evaluation:Experimental Results WoWMoM2007
Evaluation:Experimental Results WoWMoM2007
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 WoWMoM2007
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 WoWMoM2007
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 WoWMoM2007