Maarten Wijnants Wim Lamotte Outline

Sizin üçün oyun:

Google Play'də əldə edin

Yüklə 546 b.
ölçüsü546 b.

The NIProxy: a Flexible Proxy Server Supporting Client Bandwidth Management and Multimedia Service Provision

  • Maarten Wijnants

  • Wim Lamotte



  • 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
      • Also encompasses knowledge of the bandwidth requirements of network streams
    • Application awareness

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
      • Accept
      • Drop
      • Block
    • 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
  • 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
    • 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


  • 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
    • 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

    • 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?

Dostları ilə paylaş:
Orklarla döyüş:

Google Play'də əldə edin

Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur © 2017
rəhbərliyinə müraciət

    Ana səhifə