* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Document
Distributed firewall wikipedia , lookup
Computer network wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Network tap wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Airborne Networking wikipedia , lookup
Deep packet inspection wikipedia , lookup
FEC-Integrated Network Traffic Shaping Using the NIProxy Maarten Wijnants, Wim Lamotte Hasselt University – Expertise Centre for Digital Media (EDM) Wetenschapspark 2, BE-3590 Diepenbeek, Belgium {maarten.wijnants,wim.lamotte}@uhasselt.be Outline • Background and Motivation – Error Correction Techniques • Network Intelligence Proxy – Objectives & Methodology • FEC Integration in NIProxy • Evaluation – Experiment Description – Experimental Results & Findings • Conclusions 15/10/2009 EMERGING2009 2 Background and Motivation • Exchanging data over computer networks can lead to corruption – Data becomes (partly) unusable for receiver • Data corruption can be caused by – The loss of entire packets • E.g. insufficiently capacitated network infrastructure – The introduction of bit errors • E.g. signal interference and noise on the channel • Irrespective of its cause, data corruption is likely to degrade user experience – Effort should be made to minimize it! 15/10/2009 EMERGING2009 3 Error Correction Techniques • 2 data corruption countermeasure categories – Retransmission-based techniques : Receiver requests source to retransmit missing or corrupted data – Forward Error Correction (FEC) : Sender supplements source data with redundant info which allows receiver to repair, to a certain extent, errors introduced during transmission • FEC schemes enable lost or damaged data recovery without incurring RTT overhead introduced in retransmission-based solutions 15/10/2009 EMERGING2009 4 Error Correction Techniques • Example FEC scheme: XOR-Based Parity Coding – Input = Group of n media packets – Output = Single parity packet • Constructed by applying the XOR operator on the bits stored at identical locations in the n input packets – At decoding side, parity packet can be used to recover a singly lost/corrupted packet • By XOR-ing the (n - 1) correctly received media packets with the (also perfectly received) parity pack – Important advantage: Run-time adaptability: Trade off protection for BW (by changing n) 15/10/2009 EMERGING2009 5 Error Correction Techniques • Retransmission- and FEC-based schemes share a common disadvantage – Both introduce overhead in terms of the amount of data that needs to be transmitted • I.e. the BW requirements of data flows are raised • The surprising scenario might occur where the addition of error protection yields an increased instead of a decreased error rate • Deliberate decision making regarding the amount of protection to add to network traffic is advocated! 15/10/2009 EMERGING2009 6 Network Intelligence Proxy • Network intermediary (a “proxy”) – Can be incorporated in existing IP networks • Goal = Optimize QoE of users of distributed applications • Approach = Gather context and improve MM handling capabilities of transportation network to enable user QoE optimization – Network traffic shaping – Multimedia service provisioning • NOT transparent 15/10/2009 EMERGING2009 7 Network Intelligence Proxy Methodology • NIProxy introduces “intelligence” in the networking infrastructure – 2 distinct sources of contextual info are queried • Source 1: Transportation network – Contextual knowledge = Quantitative network-related measurements and statistics – Obtained through active network probing & monitoring • Source 2: Distributed application – Contextual knowledge = Any application-related knowledge that is deemed relevant – Needs to be provided by the application software 15/10/2009 EMERGING2009 8 Network Intelligence Proxy Network Traffic Shaping • Orchestrate bandwidth consumption by arranging flows in a stream hierarchy – Tree-like structure; expresses flow relationship – Internal nodes implement bandwidth distribution strategy • Mutex : Available bandwidth BW allotted to child with largest still satisfiable bandwidth requirement • Percentage : Each child i is granted its corresponding percentage value of the distributable bandwidth BW, i.e. – Leaf nodes correspond with actual flows • Discrete leaf : Switch BW usage of associated flow between discrete number of levels 15/10/2009 EMERGING2009 9 Network Intelligence Proxy Network Traffic Shaping • Sibling dependencies framework – Enables dependencies to be enforced between sibling nodes in the stream hierarchy – Currently only 1 type of dependency defined, namely SD_BW_ALLOC_CONSTRAINED • Set of supported sibling dependency types readily extensible – SD_BW_ALLOC_CONSTRAINED dependency between sibling nodes A and B specifies that B is allowed to consume bandwidth if and only if A’s bandwidth consumption is non-zero • Node A can “borrow” bandwidth assigned to B 15/10/2009 EMERGING2009 10 Network Intelligence Proxy Multimedia Service Provision • NIProxy acts as service provision platform – In-network execution of (context-aware) services on transported data • Implemented using a plug-in based design – Each service corresponds to a NIProxy plug-in • Service cooperation through chaining • NTS and MM service provision integrated in an interoperable manner! – Services can query/influence the bandwidth distribution strategy devised for clients – Unlocks extra QoE optimization possibilities 15/10/2009 EMERGING2009 11 FEC Integration in NIProxy • Given its negative impact on user experience, techniques to counter lost or damaged data are meaningful extensions of the NIProxy’s feature list • Adaptive XOR-Based Parity coding implemented as NIProxy service • Integrated approach with NIProxy NTS – FEC-generated network traffic might consume significant amounts of bandwidth • Should be reckoned with by NIProxy’s NTS mechanism • Necessitates FEC traffic inclusion in stream hierarchy 15/10/2009 EMERGING2009 12 FEC Integration in NIProxy • FEC incorporation in stream hierarchy – Redundant FEC parity data is represented as discrete stream hierarchy leaf node • Defines a discrete bandwidth consumption level for each supported input packet grouping size – FEC data also needs to be adequately related to the media stream it protects (JSCC) • Deliberately amortize BW that has been reserved for FECprotected traffic among the media data and its FEC overhead • In this paper: By using a Percentage node – Adjusting the percentage values assigned to both nodes allows the JSCC process to be controlled – SD_BW_ALLOC_CONSTRAINED dependency between the nodes representing the media and its FEC protection • FEC can consume BW if and only if associated media flow is enabled 15/10/2009 EMERGING2009 13 FEC Integration in NIProxy • Operation of the NIProxy FEC service – Performs 2 initialization tasks on discovery of network stream eligible for FEC protection: • Instantiate a XOR-based parity encoder • Inform NTS process of possibility to FEC protect the stream and the thereby associated BW requirements – Main processing loop: • Service exploits its interface with NTS to determine discrete level to which the FEC data for the media flow that is being processed is currently set • FEC encoder is switched to the input grouping size that is associated with this level • Packet is fed encoder (possibly producing parity packet) 15/10/2009 EMERGING2009 14 Evaluation Experimental Setup • FEC support advantageously influences NIProxy’s user QoE optimization capabilities? • Video streaming case study High capacity; Error-free 15/10/2009 Resource constrained; Error-prone EMERGING2009 15 Evaluation Experiment Description • MM server maintained 2 simultaneous RTP video sessions with client: VS1 and VS2 – Video data emitted in unprotected form – NIProxy had its FEC service loaded • Parity coding per 3 or per 6 input packets – Only video session VS2 was marked as being eligible for receiving FEC protection – Identical video fragment streamed over both sessions to allow meaningful comparison – NIProxy video transcoding service also loaded • To address bandwidth shortage on the access network 15/10/2009 EMERGING2009 16 Evaluation Experiment Description • Experiment was executed twice – Once without and once with the netem component introducing packet loss on last mile – Access network throughput artificially modified at predefined points in time (5 times in total) • Investigate effect on the way the NIProxy shaped the network traffic destined for the receiving client – All other conditions remained constant • Bandwidth modifications conceptually divided the experiment into 6 discrete intervals 15/10/2009 EMERGING2009 17 Evaluation Experiment Description • Stream hierarchy which steered the shaping of the network traffic Split access bandwidth equitably FEC protected Video Session VS2 Static JSCC (90%-10%) XOR disabled n = 3; n = 6 Unprotected Video Session VS1 15/10/2009 EMERGING2009 SD_BW_ALLOC_ CONSTRAINED 18 Evaluation Experimental Results • Execution 1: Error-free environment All streams at max quality FEC coding disabled VS2 transcoded to lower quality Access BW gradually more constrained Increasing flow BW reductions required 15/10/2009 EMERGING2009 19 Evaluation Experimental Results • Execution 2: 10% packet loss Playback VS2 less distorted! 15/10/2009 EMERGING2009 Video playback at destination no longer perfect! Residual vs original packet loss VS2 = 92 vs 210 20 Evaluation Experimental Results • Findings and observations – Capacity of client’s access connection respected – Delineated BW distribution strategy successfully enforced • Access bandwidth shared equitably among video sessions – Example of potential of supporting interoperation between NIProxy services and bandwidth brokering • E.g. JSCC process steered entirely by NIProxy’s NTS – JSCC might require quality of MM data to be reduced to accommodate its FEC protection • Therefore quality VS2 sometimes lower than VS1 • FEC overhead however enables packet loss recovery – Playback VS2 smoother and less perceptually degraded – Lower quality yet less distorted = More enjoyable viewing experience than high-quality distorted video (subjective) 15/10/2009 EMERGING2009 21 Conclusions • MM data might arrive in corrupted form during its propagation through error-prone networks – Typical outcome = Deteriorated media presentation – Likely source for user frustration • FEC schemes possess the ability to alleviate detrimental effects of data corruption – Enable receivers to repair compromised data • FEC incorporated in NIProxy (XOR parity code) – FEC operations directed by NTS Ensure XOR BW justified – Evaluated using video streaming case study – Results corroborate that FEC coding is valuable addition to NIProxy’s toolset to improve user QoE 15/10/2009 EMERGING2009 22