|
Maarten Wijnants Wim Lamotte Outline
|
tarix | 08.04.2018 | ölçüsü | 546 b. | | #47815 |
|
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
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)
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
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
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)
Software Architecture
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
- Only packets for which an accept verdict is computed are transmitted to the proxy client
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
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
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
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!
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
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
Evaluation: Experimental Results
Evaluation: Experimental Results
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
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
Future Work NIProxy still lacks knowledge of the client terminal and the end-user's preferences 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?
Dostları ilə paylaş: |
|
|