Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Internet protocol suite wikipedia , lookup
Deep packet inspection wikipedia , lookup
Backpressure routing wikipedia , lookup
Computer network wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Airborne Networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Streaming media wikipedia , lookup
Fault-Tolerance of Capillary Multi-Path Routing for RealTime Multimedia Streaming with Forward Error Correction Emin Gabrielyan Switzernet Sàrl and Swiss Federal Institute of Technology (EPFL) [email protected] 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 1 Fault-Tolerance of Capillary Multi-Path Routing for RealTime Multimedia Streaming with Forward Error Correction ICTTA 2006 – 2nd IEEE International Conference on Information & Communication Technologies: from Theory to Applications April 24 - 28, 2006, Umayyad Palace, Damascus, Syria 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 2 Off-line streaming Digital Fountain Codes A file can be chopped into equally sized source packets … … … Digital fountain code can generate an unlimited number of different checksum packets of the size of the source packets 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 3 Off-line streaming Digital Fountain Codes … … … It is sufficient to collect almost as many checksum packets as there are source packets in the file – and the file can be recovered 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 4 Off-line streaming Digital Fountain Codes Exactly like in a fountain: you need to collect just a sufficient number of drops to fill your cup 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 5 Off-line streaming Application of large file transmission through a lossy network Delivery of a large data file to a motor vehicle through a satellite broadcast channel without a feedback – for example a recurrent updates of GPS maps 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 6 Off-line streaming Reliable data file transmission through a satellite channel As far as the car is permanently visible by the satellite there are no problems 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 7 Off-line streaming However the visibility of a car is usually fragmented and is arbitrary due to: Tunnels Whether conditions Underground parking 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 8 Off-line streaming Reliable data file transmission with digital fountain code - carousel One of the solutions is to broadcast the file in a carousel, so if the reception of the file is interrupted the car can retry it at the next go 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 9 Off-line streaming Large file transmission with carousel However with a sufficiently large file the probability that there will be interruption at every go is very high – there is a risk that the car never receives its file 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 10 Off-line streaming Large file broadcast with digital fountain code With digital fountain code everything is easy. The car just needs to collect a sufficient number of drops (any of transmitted checksum packets) to recover the file 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 11 Off-line streaming Digital fountain codes: Raptor Codes: satellite broadcast, MBMS in 3G communications Amin Shokrollahi, “Raptor codes”, International Symposium on Information Theory 2004, ISIT’04 LT codes: film footage transmission (Hollywood) Michael Luby, “LT codes”, Symposium on Foundations of Computer Science 2002, FOCS’02 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 12 Off-line streaming – unlimited buffering The benefice of off-line applications from FEC codes is spectacular The common thing in all off-line streaming applications: there is no hurry in receiving a piece of information and passing it further to the user Off-line applications using FEC employ Time Diversity: 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 13 Off-line streaming Time diversity: if data for information recovery is not collected at the present period of time… The remaining data can be collected later 2006-04-25 Later… ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan And later… 14 Real-time streaming In off-line streaming the receiver is permitted to hold data in a practically unlimited playback buffer In real-time streaming the situation is different: the fresh packets have a limited life time and must be delivered to the user ASAP 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 15 Real-time streaming In real-time streaming the receiver is not permitted to keep data too long in the playback buffer 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 16 Real-time streaming Several authors reported that: In real-time streaming FEC is applicable if the packet loss rate is below 5% Efficiency of FEC can be improved if combined with retransmissions FEC is not efficient during bursts The side effect from application of FEC (that is increase of congestion rates) is stronger than the improvements 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 17 Real-time streaming – references on application of FEC Several references on poor effect of FEC in real-time streaming : Ingemar Johansson, Tomas Frankkila, Per Synnergren, “Bandwidth efficient AMR operation for VoIP”, Speech Coding 2002 (FEC is efficient if losses are below 5%) Yicheng Huang, Jari Korhonen, Ye Wang, “Optimization of Source and Channel Coding for Voice Over IP”, Multimedia and Expo 2005, ICME’05 (combine FEC with retransmissions) Chinmay Padhye, Kenneth J. Christensen, Wilfrido Moreno, “A new adaptive FEC loss control algorithm for voice over IP applications”, Performance Computing and Communications Conference 2000, IPCCC’00 (not efficient during bursts) Eitan Altman, Chadi Barakat, Victor M. Ramos, “Queueing analysis of simple FEC schemes for IP telephony”, Twentieth Annual Joint Conference of the IEEE Computer and Communications Societies INFOCOM 2001 (not efficient for real-time streaming at all) 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 18 Real-time streaming versus Off-line streaming - résumé Application of FEC may result in slight performance … due to limited playback buffer In any case it is clear that: If a failure or a full congestion lasts longer than the playback buffer limit, even an infinite amount of redundant FEC packets cannot save the communication Failure time 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan Playback buffer 19 Real-time streaming – time diversity? Time diversity: that was turning FEC into a powerful method in off-line streaming Is useless for real-streaming 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 20 Real-Time streaming Playback buffer limit Reliable realTime streaming Path diversity Real-time streaming 2006-04-25 Data lost at the present period of time can be received at another period of time (buffering time scale) But it can be also received via another path (path diversity scale) All previous studies stressing the poor FEC performance assumed that the real-time communication follows a single path route Reliable Off-line streaming Time diversity ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 21 Path diversity Path diversity Buffering time is a scalar value – easy to imagine along an ax Path diversity depends on the multi-path routing topology … Time diversity 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 22 Path diversity Intuitively we imagine the path diversity ax as shown: zero Path diversity Single path routing 2006-04-25 Multi-path routing Multi-path routing Multi-path routing ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 23 Path diversity ax Single path routing 2006-04-25 zero There are already other studies showing that in real-time streaming FEC becomes applicable when an extra path is added to the single path Intuitively we imagine the path diversity ax as shown: The single path routing does not interest us and we remove it from our study Path diversity Multi-path routing Multi-path routing Multi-path routing ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 24 Applicability of FEC in twopath routes - references Qi Qu, Ivan V. Bajic, Xusheng Tian, James W. Modestino, “On the effects of path correlation in multi-path video communications using FEC over lossy packet networks”, GLOBECOM’04 Tawan Thongpook, “Load balancing of adaptive zone routing in ad hoc networks”, TENCON 2004 Rui Ma, Jacek Ilow, “Reliable multipath routing with fixed delays in MANET using regenerating nodes”, LCN’03 Rui Ma, Jacek Ilow, “Regenerating nodes for real-time transmissions in multi-hop wireless networks”, LCN'04 (coding at each intermediary node) Thinh Nguyen, Avideh Zakhor, “Protocols for distributed video streaming”, Image Processing 2002 (streaming from multiple servers) Thinh Nguyen, P. Mehra, Avideh Zakhor, “Path diversity and bandwidth allocation for multimedia streaming”, ICME’03 (transmission with Reed-Solomon codes via shortest path and an alternative – possibly corelated path) 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 25 Capillary routing As a method for obtaining multi-path routing patterns of various path diversity we relay on capillary routing algorithm For any given network and pair of nodes it produces layer by layer several multi-path routing patterns of increasing path diversity Path diversity = Layer of Capillary Routing 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 26 Capillary routing - introduction Capillary routing is constructed layer by layer First it offers a simple multi-path routing pattern At each successive layer it recursively spreads out the individual sub-flows of the previous layer The path diversity develops as the layer number increases 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 27 Capillary routing – definition Reduce the maximal load of all links 2006-04-25 Capillary routing is discovered by an iterative LP process First take the shortest path flow and minimize the maximum load of all links This will split the flow over a few main parallel routes ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 28 Capillary routing – second layer Reduce the load of the remaining links 2006-04-25 At the second layer identify the bottleneck links of the first layer …and minimize the flow of all links, except the bottleneck links of the first layer ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 29 Capillary routing – min-flow vs max-flow This LP formulation is completely valid, but is numerically instable We use another mathematically equivalent LP model to achieve the same results without numerical instabilities 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 30 Network samples The network samples for applying capillary routing are obtained from a random walk MANET Nodes are moving in a rectangular area If the nodes are sufficiently close and are within the range of the coverage there is a link between the nodes [diagram] 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 31 Capillary routing examples Here is an example of capillary routing on a small random walk ad-hoc network with 9 nodes [diagram] An example of capillary routing on a larger network with 130 nodes [diagram] 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 32 Redundancy Overall Requirement (ROR) To evaluate how good a given multipath routing pattern is for real-time streaming we measure the amount of adaptive FEC codes that the sender needs to transmit in order to combat non-simultaneous failures of all individual links in the given multi-path routing 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 33 ROR – static FEC We assume an application streaming the media with a little constant static tolerance for combating weak failures source packets redundant packets FEC block 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 34 source packets redundant packets ROR – static FEC FEC block The real-time streaming constantly tolerates packet loss rate 0<t<1 The FEC block length is FECt We assume Reed-Solomon MDS code 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 35 ROR – static FEC When the packet loss rate observed at the receiver exceeds the tolerable limit t … … the sender increases the FEC block size by adding more redundant packets and increasing the transmission rate 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 36 Redundancy Overall Requirement The overall amount of FEC packets during communication time is proportional: to the usual packet transmission rate of the sender to the duration of communication to the single link failure rate to the single link failure time and to a coefficient characterizing the given multi-path routing pattern 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 37 ROR - equation FECr (l ) ROR 1 lL | t r ( l )1 FECt This routing coefficient is computed according the above equation, where FECr(l) is the FEC transmission block size in case of the failure of link l FECt is the usual FEC block size of the real-time streaming 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 38 ROR coefficient Smaller the ROR coefficient of the multipath routing pattern, better the multi-path routing is suited for real-time streaming For a given pair of nodes, by measuring the ROR coefficient of different layers of the capillary routing – we can evaluate the benefice from the capilarization 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 39 ROR as a function of capilarization Average ROR rating 60 55 50 45 40 35 30 25 20 15 10 5 0 3.3% 3.9% 4.5% 5.1% 6.3% 7.5% capillarization 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan Here is ROR as a function of the capillarization level It is an average function over 25 different network samples (obtained from MANET) The constant tolerance of the streaming is 5.1% Here is ROR function for a stream with a static tolerance of 4.5% Here are ROR functions for static tolerances from 3.3% to 7.5% 40 ROR rating over 200 network samples 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan ROR function of the routing’s capillarization computed on several sets of network samples Except a few pathological cases capillarization of the routing results in reduction of overall FEC codes needed from the sender during the communication 41 Conclusions (1 of 2) Commercial real-time streaming applications do not relay on packet level FEC, since even heavy FEC cannot protect communication against a long failure on a single path Recent studies have shown applicability of FEC in real-time streaming if the media is streamed via two paths By studying a wide range of routing topologies we have shown that a proper choice of multi-path routing can make FEC extremely efficient 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 42 Conclusions (2 of 2) We introduced capillary routing algorithm offering steadily diversifying patterns We introduce ROR – a method for rating a routing pattern by a single scalar value Capillary routing can be applicable: 2006-04-25 to ad-hoc or sensor networks to mobile networks where the wireless content can be streamed to and from user via multiple base stations or to the public lossy internet (directly or with relay nodes) ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 43 Thank you ! Fault-Tolerance of Real-Time Streaming with Capillary Routing and FEC Emin Gabrielyan [email protected] Switzernet Sàrl and Swiss Federal Institute of Technology (EPFL) 2006-04-25 ICTTA 2006 – Capillary routing with FEC - Emin Gabrielyan 44