exploiting proxy-based transcoding to increase the user quality of experience in networked...
TRANSCRIPT
Exploiting Proxy-Based Transcoding to Increase the
User Quality of Experience in Networked Applications
Maarten WijnantsPatrick Monsieurs
Peter QuaxWim Lamotte
Overview Introduction Intelligent Proxy Architecture
Application and Network Awareness Video Transcoding Plug-in
Sample NVE application Experimental Results Conclusions Future Work Questions
Introduction Increasing heterogeneity in end-user
device space PC, PDA, smartphone, ... each with their own capabilities and constraints
Heterogeneity complicates multimedia content delivery i.e. displaying MM content on PC screen
vs PDA screen Possible solutions
Providing specialized versions of content On-the-fly content transcoding
Introduction Supplying specialized versions of content
users receive version that best suits the capabilities of their client device and network connection
lacks flexibility complicates content management
On-the-fly content transcoding content is transformed to a convenient
format before it reaches the end-user flexible solution only high quality content on server however: computational complex
Introduction Usability of transcoding is not confined to
content delivery scenarios We discuss the implementation of a novel
plug-in that adds transcoding functionality to our previously introduced intelligent proxy
Can our transcoding-enabled proxy positively affect the user Quality of Experience (QoE) in networked applications?
Intelligent Proxy Architecture Our intelligent proxies are application
aware client application is enhanced with a “Network
Intelligence Layer” the NILayer continuously queries the
application's awareness management model retrieved information about the relative
importance of different application data streams is sent to proxy
NILayer is highly reusable enables easy integration of our proxy
system in many networked applications
Intelligent Proxy Architecture Our intelligent proxies are also network
aware proxy periodically probes the network links
going to connected clients latency throughput packet loss rate
proxy records bandwidth usage of every data stream that passes through it
Intelligent Proxy Architecture Based on their compound awareness, our
proxies intelligently manage each client's available bandwidth suppose a client's downstream bandwidth no
longer suffices to receive all streams at maximum quality
proxy will determine which streams should be reduced in quality or even blocked
We position our proxies close to end-users Stream management complexity is
moved to the edge of the network
Video Transcoding Plug-in Our proxies are very generic
by default, the proxy can execute only basic operations on data streams
Proxies are equipped with a plug-in mechanism can be used to extend proxy performance and
functionality This approach ensures that our
proxies can be integrated in many networked applications and attain a high level of performance in all these situations
Video Transcoding Plug-in To add more fine-grained stream control to
our proxy architecture, we implemented a video transcoding plug-in plug-in enables the proxy to transcode video
streams to lower quality by reducing video bitrate spatial or temporal resolution
uses the cascaded pixel-domain transcoding approach
not very efficient best results in terms of image quality
Sample NVE application We tested our proxy architecture by
integrating it into our in-house developed multi-user NVE framework focuses on scalability
by maximizing client responsibilities by relying on direct client-to-client multicast
communication tries to increase the
immersive experience by supporting video-based avatars
Sample NVE application Technical details of the NVE framework
virtual world is divided into regions each region has a unique MC address event information is sent only to the MC address of the
originating region Area of Interest manager selects the regions a
user should be aware of limits the amount of information clients need to
receive and process virtual world is also divided into video
regions each video region has 3 MC addresses video-based avatars send out 3 distinct video
qualities (high, medium and low)
Sample NVE application Technical aspects of the NVE framework
video qualities used by the framework
like the AoI manager, the Video Area of Interest (VAoI) manager decides which video MC addresses the client should subscribe to
High Quality Medium Quality Low Quality
Codec H263 H263 H263
Resolution CIF (352x288) CIF (352x288) CIF (352x288)
FPS 25 15 15
Bitrate 200.000 100.000 50.000
Experimental Results Integrating our proxy architecture in the
NVE framework proved to be easy inserting the NILayer into the client software
was straightforward transcoding plug-in had to be tailored to the
framework
Experimental Results Description of the experiment
4 clients running the unmodified framework 2 clients connected through our transcoding-
enabled proxy clients C1, C2 and C3
were represented as video-based avatars
available downstream bandwidth of clients PA and PB was varied artificially over time
all clients remained stationary
Experimental Results Video network traffic received by client PA
Experimental Results Video network traffic received by client PB
Experimental Results Video network traffic received by client C4
Experimental Results What does this experiment learn us?
clients PA and PB both roughly stayed within their bandwidth limitations
proxy exploits its application awareness to intelligently decide which video streams should be transcoded to a lower quality
if the world is populated solely by clients connected through our proxy system, video-based clients only need to send HQ video
less client processor load asymmetric nature of most current Internet
subscriptions
Experimental Results Main drawback of the video transcoding
plug-in is its computational complexity transcoding performance was not one of our
main objectives we nonetheless wanted the number of clients
our proxy can support simultaneously to be as high as possible
Transcoding plug-in is equipped withan intelligent scaling mechanism if the proxy's average processor usage
exceeds a predefined threshold, MQ transcoding is disabled
Experimental Results The intelligent scaling mechanism can
decrease the proxy’s processor load by a factor of two approximately
Conclusions We have presented a proxy architecture
that is both application and network aware Our transcoding-enabled proxy at all times
exploits all available client bandwidth without ever exceeding it, and intelligently and dynamically distributes this bandwidth over all involved network streams in order to optimize the user QoE
scarce client upstream bandwidth is no longer wasted
Future Work Add device awareness to our intelligent
proxy architecture make more complex transcoding decisions distribute client bandwidth even more
efficiently Increase the performance and scalability of
our transcoding plug-in Add transcoding functionality for
data other than video (e.g. audio) Perform more elaborate experiments
Questions?
Additional Results
Additional Results