Computer Communications

Similar documents
Simulation Based Analysis of FAST TCP using OMNET++

Cluster Analysis of Electrical Behavior

Network Coding as a Dynamical System

An Optimal Algorithm for Prufer Codes *

On the Exact Analysis of Bluetooth Scheduling Algorithms

CS 268: Lecture 8 Router Support for Congestion Control

Mathematics 256 a course in differential equations for engineering students

Analysis of Collaborative Distributed Admission Control in x Networks

A Binarization Algorithm specialized on Document Images and Photos

Real-Time Guarantees. Traffic Characteristics. Flow Control

Virtual Machine Migration based on Trust Measurement of Computer Node

Helsinki University Of Technology, Systems Analysis Laboratory Mat Independent research projects in applied mathematics (3 cr)

Load Balancing for Hex-Cell Interconnection Network

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

RAP. Speed/RAP/CODA. Real-time Systems. Modeling the sensor networks. Real-time Systems. Modeling the sensor networks. Real-time systems:

Avoiding congestion through dynamic load control

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

Wishing you all a Total Quality New Year!

Efficient Distributed File System (EDFS)

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

Parallelism for Nested Loops with Non-uniform and Flow Dependences

GSLM Operations Research II Fall 13/14

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

X- Chart Using ANOM Approach

AADL : about scheduling analysis

DESIGNING TRANSMISSION SCHEDULES FOR WIRELESS AD HOC NETWORKS TO MAXIMIZE NETWORK THROUGHPUT

WIRELESS communication technology has gained widespread

Scheduling and queue management. DigiComm II

Concurrent Apriori Data Mining Algorithms

A New Approach For the Ranking of Fuzzy Sets With Different Heights

ARTICLE IN PRESS. Signal Processing: Image Communication

S1 Note. Basis functions.

Load-Balanced Anycast Routing

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Performance Analysis of Markov Modulated 1-Persistent CSMA/CA Protocols with Exponential Backoff Scheduling

Efficient QoS Provisioning at the MAC Layer in Heterogeneous Wireless Sensor Networks

Channel 0. Channel 1 Channel 2. Channel 3 Channel 4. Channel 5 Channel 6 Channel 7

Smoothing Spline ANOVA for variable screening

Some Advanced SPC Tools 1. Cumulative Sum Control (Cusum) Chart For the data shown in Table 9-1, the x chart can be generated.

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

Efficient Load-Balanced IP Routing Scheme Based on Shortest Paths in Hose Model. Eiji Oki May 28, 2009 The University of Electro-Communications

TECHNIQUE OF FORMATION HOMOGENEOUS SAMPLE SAME OBJECTS. Muradaliyev A.Z.

Support Vector Machines

An Entropy-Based Approach to Integrated Information Needs Assessment

Solving two-person zero-sum game by Matlab

Quality Improvement Algorithm for Tetrahedral Mesh Based on Optimal Delaunay Triangulation

Problem Set 3 Solutions

Evaluation of an Enhanced Scheme for High-level Nested Network Mobility

Related-Mode Attacks on CTR Encryption Mode

MobileGrid: Capacity-aware Topology Control in Mobile Ad Hoc Networks

Video Proxy System for a Large-scale VOD System (DINA)

Delay Variation Optimized Traffic Allocation Based on Network Calculus for Multi-path Routing in Wireless Mesh Networks

A fair buffer allocation scheme

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching

3. CR parameters and Multi-Objective Fitness Function

A Topology-aware Random Walk

Reducing Frame Rate for Object Tracking

Goals and Approach Type of Resources Allocation Models Shared Non-shared Not in this Lecture In this Lecture

Minimum Cost Optimization of Multicast Wireless Networks with Network Coding

A New Token Allocation Algorithm for TCP Traffic in Diffserv Network

THere are increasing interests and use of mobile ad hoc

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Buffer-aided link selection with network coding in multihop networks

Gateway Algorithm for Fair Bandwidth Sharing

QoS-aware routing for heterogeneous layered unicast transmissions in wireless mesh networks with cooperative network coding

Pricing Network Resources for Adaptive Applications in a Differentiated Services Network

Overview. Basic Setup [9] Motivation and Tasks. Modularization 2008/2/20 IMPROVED COVERAGE CONTROL USING ONLY LOCAL INFORMATION

Online Policies for Opportunistic Virtual MISO Routing in Wireless Ad Hoc Networks

A Sub-Critical Deficit Round-Robin Scheduler

Enhancing Class-Based Service Architectures with Adaptive Rate Allocation and Dropping Mechanisms

y and the total sum of

Quantifying Responsiveness of TCP Aggregates by Using Direct Sequence Spread Spectrum CDMA and Its Application in Congestion Control

Priority-Based Scheduling Algorithm for Downlink Traffics in IEEE Networks

Constructing Minimum Connected Dominating Set: Algorithmic approach

IP mobility support is becoming very important as the

Advanced Computer Networks

EFT: a high throughput routing metric for IEEE s wireless mesh networks

Meta-heuristics for Multidimensional Knapsack Problems

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices

Efficient Content Distribution in Wireless P2P Networks

Neural Network Control for TCP Network Congestion

Technical Report. i-game: An Implicit GTS Allocation Mechanism in IEEE for Time- Sensitive Wireless Sensor Networks

Analytic Evaluation of Quality of Service for On-Demand Data Delivery

Analysis of a Polling System Modeling QoS Differentiation in WLANs

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

On the Fairness-Efficiency Tradeoff for Packet Processing with Multiple Resources

Performance analysis of distributed cluster-based MAC protocol for multiuser MIMO wireless networks

Adaptive Network Resource Management in IEEE Wireless Random Access MAC

TECHNICAL REPORT AN OPTIMAL DISTRIBUTED PROTOCOL FOR FAST CONVERGENCE TO MAXMIN RATE ALLOCATION. Jordi Ros and Wei K Tsai

On Achieving Fairness in the Joint Allocation of Buffer and Bandwidth Resources: Principles and Algorithms

Internet Traffic Managers

Feature Reduction and Selection

On Maximizing the Lifetime of Delay-Sensitive Wireless Sensor Networks with Anycast

Classifier Selection Based on Data Complexity Measures *

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

Resource and Virtual Function Status Monitoring in Network Function Virtualization Environment

TN348: Openlab Module - Colocalization

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

Space-Optimal, Wait-Free Real-Time Synchronization

Transcription:

Computer Communcatons 3 (22) 3 48 Contents lsts avalable at ScVerse ScenceDrect Computer Communcatons journal homepage: www.elsever.com/locate/comcom On the queueng behavor of nter-flow asynchronous network codng Y. Yuan a,,k.wu b, W. Ja c, Y. Peng a a Natonal Lab for Parallel and Dstrbuted Processng, Natonal Unversty of Defense Technology, Changsha, Chna b Dept. of Computer Scence, Unversty of Vctora, B.C., Canada c Dept. of Computer Scence, Cty Unversty of Hong Kong, Hong Kong SAR, Chna artcle nfo abstract Artcle hstory: Receved 7 March 2 Receved n revsed form 3 March 22 Accepted 24 Aprl 22 Avalable onlne 3 May 22 Keywords: Performance evaluaton Network codng Queueng analyss Congeston control Despte the substantal research efforts on network codng, ts real-world mplementaton s manly over wreless networks or peer-to-peer networks. The deployment of network codng n the Internet core stll largely lags behnd. Among the many challenges, one dffculty s the selecton of routers to perform network codng, whch reles on the understandng of the queueng behavor of network codng. Unfortunately, the ntrcate queueng behavor of network codng, even for a sngle node case, s stll unclear. In ths paper, we buld a generc queueng model to answer many fundamental questons, ncludng for example, under what condton s the system stable? How many packets could be possbly coded when multple stochastc traffc flows pass through a codng node? What s the quanttatve relatonshp among the traffc arrval rate, the servce rate, and the codng opportuntes under a general network confguraton? Based on our analytcal results, we propose a self-adjustable delay-based codng mechansm for better congeston control. Our work provdes network researchers and engneers wth nsghts on the queueng behavor of network codng, whch are helpful n future applcatons of network codng n the Internet core. Ó 22 Elsever B.V. All rghts reserved.. Introducton The concept of network nformaton flow was ntroduced n 2 [], and snce then network codng has trggered enormous research and development actvtes. In the exstng Internet archtecture, network devces such as routers and swtches manly functon as store-and-forward relay devces. Network codng technque changes the above fundamental desgn prncple and allows the algebrac combnaton of data packets at ntermedate network nodes by usng, for example, a bt-by-bt XOR operaton. Destnaton nodes perform decodng operatons to recover the orgnal data packets. In theory, t has been proved [] that network codng can acheve the maxmum nformaton flows for multcast, whch are otherwse mpossble for tradtonal store-and-forward networks. In practce, network codng has been mplemented and tested n dfferent systems, partcularly n wreless networks where rado transmsson s broadcast n nature and a node can overhear neghbors transmssons [2]. Network codng has also found ts success n peer-to-peer networks for content dstrbuton [3]. Extra benefts of network codng nclude reducng energy consumpton for Correspondng author. Tel.: +86 38783342. E-mal addresses: yuanyuan@nudt.edu.cn, kenyuan44@gmal.com (Y. Yuan), wku@cs.uvc.ca (K. Wu), we.ja@ctyu.edu.hk (W. Ja), pengyuxng@nudt.edu.cn (Y. Peng). wreless networks, enhancng network securty and relablty, reducng bandwdth cost for content dstrbuton over P2P networks, and much more. Wth the practcal success of network codng n wreless networks, t becomes a natural and mportant queston how network codng can be deployed n the Internet core. Ths queston cannot be smply answered because network codng requres substantal changes on current router archtecture and exstng protocols for traffc control. Among the many challenges, one dffculty reles on the subgraph selecton n large networks,.e., the selecton of routers to perform network codng. To llustrate ths, an example usng the broadly cted butterfly network n the Internet core s depcted as follows: Example. As llustrated n Fg., flow (S? D) and flow 2 (S2? D2) share the lnk from R to R2. Suppose every lnk s lossless. Due to the heavy traffcs from S and S2, router R may eventually get congested (Fg. (a)). To reduce the traffc load, R frst notfes S(S2) to route ts packets to D2(D) va redundant path (2), then XORs the buffered packet pars from each flow and transmts the coded packets to router R2 (Fg. (b)). Note that D or D2 can decode the coded packets by calculatng the XOR wth ts correspondng orgnal packets from the redundant path. However, snce the two flows arrvng at R may not be well synchronzed, R may only buffer packets from one of the two flows, such that the codng opportuntes among the two flows may not always exst. 4-3664/$ - see front matter Ó 22 Elsever B.V. All rghts reserved. http://dx.do.org/.6/j.comcom.22.4.2

36 Y. Yuan et al. / Computer Communcatons 3 (22) 3 48 Fg.. Example : Traffc control wth network codng n the Internet core. Suppose that k and k 2 denote the mean flow arrval rates, and l denotes the mean servce rate). Thus, to ncrease the codng opportuntes, a delay s ntroduced nto the codng mechansm of R. Specfcally, ths delay-based codng mechansm can be mplemented as follows: R mantans a separate queue for each flow. When R becomes dle, t checks whether the queue for flow and the queue for flow 2 both have packets. If both have packets, R XORs the packets at the head of each queue and sends out the coded packet. If not, R wats for a preset maxmum delay to ncrease the codng opportuntes. Durng ths perod, f both queues become non-empty, R performs network codng and transmts the coded packet as soon as possble. Otherwse, R transmts the head packet n the non-empty queue wthout network codng. We call the watng delay as opportunstc delay, and the preset maxmum delay as the maxmum opportunstc delay. However, ths smple scenaro leaves us many nterestng problems about network codng n the Internet core: Is the router competent for the traffc control? How should the router operate ts network codng mechansm? To answer these questons, we need a better understandng of the ntrcate queueng behavor at codng nodes to quanttatvely dsclose the relatonshp among traffc patterns, servce pattern, codng opportuntes, and codng gan. Ths analyss wll provde mportant gudance on the protocol desgn and the route selecton over the Internet core. Unfortunately, people s understandng on the queueng behavor of network codng s stll very lmted. The challenge comes from the complex correlaton among the queueng packets. Specfcally, as for Example, When the maxmum opportunstc delay s set to be nfnty, a codng node holds ts codng operaton untl all the requred packets from each flow arrve. Ths s referred as synchronous network codng, and s equvalent to an assembly-lke queueng system, whch has been comprehensvely studed by the queueng system communty. It has been proved that wth more than two nput Posson nput flows, the state space wll explode and the problem becomes ntractable to analyze [4]. The synchronous codng also has been proved to be unstable wth unbounded It s defned as the rato of the number of transmssons requred by forwardng, to the number of transmssons used by network codng to delver the same set of packets. buffer sze, unless the arrvals are determnstc and fully synchronzed []. When a codng node allows partal requred packets coded together or perform no codng durng a bounded maxmum opportunstc delay, ths s referred as asynchronous network codng. However, the queueng behavor of asynchronous network codng s more complex than synchronous one, snce the number of packets that can be coded s random. Many efforts have been devoted to the performance analyss of asynchronous network codng [6 8], but smple assumptons (e.g. memoryless traffcs) are generally posed and none deals wth a generc queueng model. We stress that ths hgh-level classfcaton of synchronous and asynchronous network codng s generc enough and dvdes exstng network codng strateges nto dfferent domans wth respect to queueng behavor. Unlke prevous network codng research focusng on code desgn [9] and optmal schedulng strateges [], n ths paper, we constran ourselves to the queueng behavor analyss of asynchronous network codng and ts applcatons. In ths paper, a generc queueng model wth arbtrary stochastc traffc arrvals and servce capacty s bult to descrbe the network codng system of a sngle router. By analyzng the codng opportuntes, we construct a matrx to decouple the correlaton among the queueng packets. Accordng to the codng opportunty matrx, we smplfy our analyss by reducng the DoF (degree of freedom) among the preset varables. Then based on the queue decomposton technque, we obtan an approxmaton soluton for the queueng model. We further dscuss the stablty condton and the codng gan for ths system. Fnally, a self-adjustable delay-based codng mechansm s proposed based on our analytcal results. Ths method controls the congeston effectvely and acheves a nearly optmal codng gan. To the best of our knowledge, exstng queueng modelng and analyss on asynchronous network codng all assumed the memoryless network confguratons. In ths paper, we are thus motvated to answer the followng questons: What s the quanttatve relatonshp between the average packet delay, the traffc arrval rate, the servce rate, and the maxmum opportunstc delay, when the traffc arrvals and the servce tmes are both stochastc and follow general dstrbutons? Under what condton the system s stable n the sense that the router s buffer wll not eventually overflow as sure? In a stable system, what s the maxmum codng gan at the codng node? How can we use network codng for better congeston control? 2. Related work Network codng was frst ntroduced by Ahlswede et al. n 2 []. Snce then, substantal research has been devoted to studyng the performance of network codng under varous applcaton contexts. Varous network codng schemes have been developed. They dffer from each other n schedulng strateges and/or network stacks where network codng s mplemented. Accordng to the code generaton scheme, network codng could be mplemented determnstcally [] or randomly [2]; accordng to the network stacks where network codng s mplemented, t could be dvded nto applcaton-layer network codng [3], network-layer network codng [4], MAC-layer network codng [], or physcal-layer network codng [6]; accordng to the operatons on flows, network codng could be classfed as nter-flow [7] and ntra-flow network codng [8]. In ths paper, we are nterested n the queueng analyss of network codng and group our dscusson nto synchronous network codng and asynchronous network codng from the vewpont of queueng behavor.

Y. Yuan et al. / Computer Communcatons 3 (22) 3 48 37 2.. Synchronous network codng In synchronous network codng, a codng node holds the codng operaton untl all requred codng packets from dfferent flows arrve. In the early stage of network codng, most of the code desgn algorthms to acheve the maxmum network capacty are based on the mplct assumpton that the packets from dfferent nput flows can be well synchronzed. In real-world networks, however, stochastc property of the nput traffc makes the queueng behavor of network codng much more complex. In [9], Ma et al. studed a queueng model for synchronous network codng wth two dentcal Posson nput flows. They obtan the result that the output flow wll be an asymptotcally Posson flow wth the same parameter. In [2], Ma et al. extended ther prevous work, and found that wth synchronous network codng the system becomes unstable wth the queue sze ncreasng to nfnty. To handle ths, they then propose an COSE strategy wth synchronous codng stage and clearng stage, whch can be regarded as a scheme of asynchronous network codng. The queueng model of synchronous network codng can fnd ts root n assembly-lke manufacturng operatons. Early n 7s, the assembly-lke queueng model was frst studed n [4]. An mportant result s that when the buffer sze s nfntely large, the queueng system s unstable n the sense that the buffer wll eventually overflow unless the nput flows are determnstc and fully synchronzed [4]. An analytcal method for assembly-lke queue wth two Posson nput flows and fnte queue capacty was proposed n []. The author concluded that exact analyss became ntractable f the number of nput flows was large. In [2], the authors used the dfference between the accumulatve traffc amount of each class and the mnmum accumulatve traffc amount n these classes to fnd an approxmate soluton. Furthermore, the authors use a decomposton technque to obtan the approxmaton soluton for multple Posson flows. Another approxmate soluton was proposed n [22]. The approxmaton s based on the dea that a flow s turned off whenever t arrves too fast compared to other flows. In [23], the authors proved that the assembly-lke queue wth two nput flows s stochastcally equvalent to a transfer lne of tandem queues wth blockng. Albet ths approxmaton requres lttle computaton compared to those n [,22,2], t works only when there are two nput flows. 2.2. Asynchronous network codng In asynchronous network codng, a node may transmt uncoded packets or partal coded packets, f no codng opportuntes for all the requred packets could be found wthn a bounded tme wndow. The asynchronous network codng makes more practcal sense and was frst mplemented n COPE [2]. Its performance was manly evaluated wth measurements. Snce then, many schemes based on asynchronous network codng was proposed to acheve better performance [,24 26]. For example, n [], two practcal code constructon technques based on lnear optmzaton were proposed; n [24], Erylmaz et al. used dfferental backlogs to decde the codng opportunty for nter-flow network codng; n [2], An onlne scheme combnng the benefts of network codng and ARQ for lossy channels was proposed; n [26], Seferoglu et al. desgned a network-codng aware queue management scheme (NCAQM) at ntermedate nodes to fully explot the codng opportuntes. Although substantal efforts have been devoted to the performance analyss of asynchronous network codng [6,7,27 29], the problem was addressed wth dfferent assumptons or n dfferent contexts, e.g., n wreless networks wth random medum access [6], or n the study of energy consumpton of asynchronous network codng wth two Posson nput flows [7], or on the delvery of real-tme packets [27] from two Posson nput flows, or for r andom lnear codng over packet erasure channels [28]. In[29], the authors nvestgated the smlar problems usng stochastc network calculus. Ther results only dsclose the performance bounds n dealzed stuatons, whch may be practcally hard to acheve. Although the work n [3] bears some smlartes to our approach, t only consders the queueng behavor of synchronous network codng and the specal stuaton of asynchronous network codng that the maxmum opportunstc delay s set to zero. Up to now, we do not see any formal model and mathematcal analyss answerng the questons rased n Secton n a general settng. 3. Queueng model of asynchronous network codng In ths secton, we present a queueng model for asynchronous network codng. As shown n Fg. 2, packets from n flows arrve nto a router whch can perform network codng (codng node). Besdes the codng rules ntroduced n Example, we assume the followng confguratons: Traffc arrvals: Incomng flows are assumed to be ndependent. We assume that the packet nter-arrval tmes of flow (=,..., n) are ndependent dentcally dstrbuted (..d.) random varables wth mean arrval rate k. Denote the dstrbuton functon of packet nter-arrval tmes of flow (=,..., n) by A (t). Buffer: The codng node mantans a separate frst-n-frst-out (FIFO) queue wth a queue sze K(>) for each flow. The queue correspondng to flow (=,...,n) s labeled wth ndex. Servce: Assume that the servce tme for codng and transmttng the (coded) packets follows a general servce tme wth mean servce rate l. Denote the dstrbuton functon of the servce tme as B(t). Maxmum opportunstc delay: To ncrease codng opportuntes, the codng node may wat up to the maxmum opportunstc delay, D. When D?, the asynchronous network codng s equvalent to the synchronous network codng. In ths paper, we only focus on the asynchronous network codng,.e., 6 D <. Lnks: The lnks are assumed to be lossless and relable. Network code: We assume that the network code s properly desgned (random or determnstc lnear network codng). Extra bts are pggybacked n each coded packet for dentfyng ts orgnal components, such that the coded packets can be decoded at the ntended recever(s). Network codng can be performed on a group of k packets, where 6 k 6 n. The value of k s determned by the number of nonempty queues when the router performs network codng. A( t) A t 2( ) A t n( ) K Router Β( t) Fg. 2. Queueng model of asynchronous network codng.

38 Y. Yuan et al. / Computer Communcatons 3 (22) 3 48 Remark. There are many other factors that may mpact the codng opportunty of network codng, such as the unrelable transmssons [3,32], MAC layer contenton [6], the coordnaton between the senders [33], and whether the ncomng packets are nnovatve [34]. Nevertheless, takng nto consderaton of all these factors wll make the system ntractable. As shown n the paper, even wth the above smplfed confguraton, modelng the queueng behavor of network codng s already very dffcult. Remark 2. In some network codng mplementaton schemes (partcularly random network codng), codng decson may depend on the nnovatve ncomng packets. In ths case, nformaton of data packets s consdered and thus specal treatment s requred to brdge the gap between data traffc and ts nformaton [3]. Nevertheless, the abstract model n ths paper could be consdered as a specal case where ncomng packets are all consdered nnovatve, and t could be extended to deal wth other codng schemes by buldng a brdge between nformaton and packets [3]. We leave t as our future work. Remark 3. Our method could be extended to the stuaton when K s fnte, by ntroducng the steady-state blockng probablty of each queue n the followng analyss. However, to obtan the results, we need to solve a set of n equatons wth n unknown varables. When maxmum allowed delay s set on packets, sutable values for the maxmum opportunstc delay should be obtaned frst. Ths forms another nterestng queston whch needs to jontly consder the delay constrant and the maxmum opportunstc delay. We leave handlng these two stuatons as our future work. 4. Performance analyss of asynchronous network codng Exact soluton usng state transton dagram for synchronous network codng turn out to be extremely hard [29]. To say nothng of asynchronous network codng n the network wde, even for a sngle node, there s no closed-form answer for ts queueng behavor. The dffcultes come from the complex correlaton among the Table Man notatons. Symbols Meanng a The packet nter-arrval tme of flow (a random varable) A (t) The dstrbuton functon of a Var(a ) The varance of a k The mean arrval rate of flow B(t) The dstrbuton functon of the servce tme of the router l The mean servce rate of the router D The maxmum opportunstc delay Y The resdual arrval tme of the next ncomng packet of flow (a random varable) b F The dstrbuton functon of Y P j The probablty that the head packet of queue s j-level coded wthn the maxmum opportunstc delay D E j The steady state probablty that queue j s empty when queue has packets watng for servce, after a (coded) packet s sent E j The approxmaton of E j (Secton 4.2) Q n The ndex set of all queues excludng queue Q k A subset of Q n, formed by takng any k elements from Q n S (t),s() The dstrbuton functon and the pdf of the opportunstc delay n sub-system, respectvely D (t) The dstrbuton functon of the servce tme of the vrtual server n sub-system r (t) The total servce tme of sub-system (a random varable) R (t) The dstrbuton functon of r r ; Varðr Þ The mean and the varance of r, respectvely I The dle perod of sub-system (a random varable) I ; I 2 The frst and the second moments of I, respectvely packets from dfferent flows. In our queueng model, the packet s behavor depends on many aspects, ncludng the flow arrvals to the queue, the servce rate, the flow arrvals to other queues, the buffer sze and the maxmum opportunstc delay. The tradtonal queueng analyss approaches are not effectve for ths model. We therefore focus on the approxmate soluton n the followng and propose a new approxmaton method, based on the analyss of codng opportunty and queue decomposton. 4.. Analyss of codng opportuntes For ease of reference, the man notatons used n our analyss are lsted n Table. Let us frst formally defne codng opportunty n the context of queueng analyss of network codng. Defnton (Codng opportunty). Vewed from the tme nstances when a (coded) packet s sent out from the router, the head packet of a nonempty queue, f exsts, s sad to have a codng opportunty f there are other nonempty queues or f there are packet arrvals to other empty queues wthn the maxmum opportunstc delay D. Whenever a codng opportunty exsts, the head packet of a nonempty queue should be coded together wth the head packets n other nonempty queues. If a packet s coded wth other l packets, we call the packet s l-level coded. Defnton 2 (Codng opportunty matrx). The codng opportunty matrx of asynchronous network codng wth n nput flows s a n n matrx, denoted by h P ¼ P j nn 2 ¼ 6 4 P P... P n P 2 P 2... P n 2... P n P n... P n n where P j denotes the probablty that the head packet of queue s j-level coded (.e., t s coded wth exactly j packets from other flows). The matrx also can be wrtten as column vectors: P =[C,C,..., C n ], where C j ( 6 j 6 n ) equals to ½P j ; Pj 2 ;...; Pj n ŠT. We frst calculate the codng opportunty matrx, whch wll be used later to decompose the queueng model and to obtan the performance of nterests. In order to calculate P j, we need to obtan at the nstances when a (coded) packet s transmtted from the router, () the steady-state probablty that a queue s empty, and (2) the probablty that there are packet arrvals to the empty queue(s) wthn the tme perod of D. When consderng P j, we call queue the tagged queue, meanng that when the prevous servce s over (.e., a packet s sent out from the router), queue has packets to be served. From the pont of vew of the tagged queue, other n queues may ether have packets or empty at ths nstance. Let E j denote the steady state probablty that queue j s empty at ths nstance. We wll ntroduce ts calculaton n the next secton. Because the packet nter-arrval tmes follow a general..d. dstrbuton, the memoryless property of Markov arrval process may not hold. To calculate the probablty that there are packet arrvals to an empty queue wthn the tme perod of D, we need to consder the resdual arrval tme of the next ncomng packet to the empty queue. Let Y j denote the resdual arrval tme of the next ncomng packet of queue j. The probablty that there are packet arrvals to queue j wthn the perod of D; b F j, can be calculated as [36]: Z D ð A j ðyþþ bf j ¼ PrfY j 6 Dg ¼ dy: ðþ =k j 3 7 ;

Y. Yuan et al. / Computer Communcatons 3 (22) 3 48 39 Wth E j and b F j at hand, we can calculate P j as follows: 8 8 8 999 >< P j ¼ Xj X >< Y ð E l Þ Y X >< Y Y >= >= >= E l b F m ð b F m Þ >: >: >: >; >; >; ; lrq k k¼ Q k Q n l2q k Q j k Q n k m2q j k mrq j k where Q n denotes the set of ndex of the n queues except queue ; Q k denotes a subset of Q n by selectng any k elements from Q n ; Q n k denotes the set of ndex of the n k empty queues gven the number of nonempty queues s k, and Q j k denotes a subset of Q n k and represents those empty queues that have packet arrvals wthn the perod of D. The lengthy equaton (2) s actually a concse presentaton of all possble combnatons n the calculaton of P j. For easy understandng, we use an example to llustrate the calculaton. Example 2. Assume that a router has three ndependent nput flows. The correspondng queues are labeled by queue, 2, and 3, respectvely. We frst consder P. In ths case, k n the frst P of Eq. (2) can only be zero; Q 2 ¼f2; 3g; Q s an empty set. From Eq. (2), we thus obtan P ¼ E 2 E 3 ð b F 2 Þð b F 3 Þ: The meanng of Eq. (3) s clear: the probablty that the head packet of queue has no codng opportunty s equal to the probablty that the other two queues are empty and durng D, no packets arrve at the other two queues. Smlarly, we can obtan P and P2 as follows: P ¼ E 2 ð E 3 Þð b F 2 Þþð E 2 ÞE 3 ð b F 3 ÞþE 2 E 3 b F 2 ð b F 3 ÞþE 2 E 3 ð b F 2 Þ b F 3 P 2 ¼ E 2 E 3 b F 2 b F 3 þð E 2 ÞE 3 b F 3 þ E 2 ð E 3 Þ b F 2 þð E 2 Þð E 3 Þ: The calculaton of other values n P s smlar. Next, we dsclose some nterestng propertes of the codng opportunty matrx to help better understand the correlaton between flows and our later approxmaton method. Theorem. Codng opportunty matrx P has the followng propertes:. Completeness property: P n j¼ Pj ¼ ð 6 6 n; 6 j 6 n Þ. 2. Constrant on zero components: If z(j) s the number of zero components n vector C j, then max{z(j)} =n (j + ). Smlarly, f zðjþ s the number of nonzero components n vector C j, then mnfzðjþg ¼ j þ. 3. Equlbrum property: If z(j) = n (j + ) n vector C j, for any two non-zero components, P j and P j k, we have k P j ¼ k k P j k : Proof. Property () s obvous, because the events that a packet of flow s j-level coded (j =,,...,n ) are exclusve, and cover all possble processngs of the packet. To prove Property (2), assume that z(j)>n (j + ). We thus have zðjþ < j þ, whch means that at most j packets can be coded together. Ths s contradctory to the meanng of C j, snce a j-level coded packet means that there are j + packets coded together. So, max{z(j)} = n (j + ) and mnfzðjþg ¼ j þ. Regardng Property (3), f z(j)=n (j + ), then zðjþ ¼j þ. Snce the components n C j represent the probablty that j + packets are coded together. Ths requres the j + flows each to ð2þ ð3þ ð4þ ðþ contrbute one packet to the codng. The lmtng form of ths stuaton s that the product of the mean arrval rate of flow and P j must be equal to the product of the mean arrval rate of flow k and P j k, when Pj and Pj are both non zero. k h 4.2. The Calculaton of E j The exact calculaton of E j s very hard. To avod ths dffculty, we assume that E j s ndependent of. Ths approxmaton s based on the ntuton that from the vewpont of any tagged queue (except queue j), the probablty that queue j s empty should be roughly the same, snce flow arrvals are ndependent. Therefore, n the later dscusson, we replace E j wth E j, whch means the steady state probablty that queue j s empty. We would lke to pont out that ths approxmaton does not mply the mean arrval rate of flows s the same. Theorem 2. For any 6 6 n, E ¼ k g b F ; ð6þ where 6 g < mn k ; k 2 ;...; k n : ð7þ Proof 2. Let F stand for b F,.e., the probablty that no packet wll arrve to flow wthn D. Accordng to (2), t s easy to translate as: P n P n ¼ Y k ð E k F k Þ: ð8þ Based on Eq. (8) and the propertes of P, we have for any, k ( 6, k 6 n), ð E F Þ ¼ ð E kf k Þ : ð9þ k k k In order to decrease the number of unknown varables, we ntroduce a new parameter g nto Eq. (9), then we obtan that for any E F ¼ k g: ðþ We could gnore the case when F ¼, because for a stochastc arrval process, the probablty that no packets arrve wthn D(>), no matter how small, s not zero. We thus have E ¼ k g F ¼ k g b F : ðþ We could also gnore the case when E =, because E s the steady state probablty that queue s empty and should be non zero. 2 Snce E and F are probablty values and thus are no larger than, from () we have 6 k g <, and hence 6 g < k. Thus Equalty (7) holds naturally. h Theorem 2 mples that the degree of freedom of the n varables, E ( 6 6 n), turns out to be. To decde E, we only have to focus on the value g, whose calculaton s to be dsclosed n the next secton. 4.3. Approxmaton wth queue decomposton Queue decomposton has been broadly used before, e.g., n [2], to tackle the dffcultes n queueng analyss when multple 2 If E =, the utlzaton factor of queue wll equal to, whch contradcts the steady state probablty when a stochastc system s stable.

4 Y. Yuan et al. / Computer Communcatons 3 (22) 3 48 queues are entangled wth nterdependence. Based on the codng opportunty matrx P, we propose a new queue decomposton method to obtan the approxmate soluton to the performance of asynchronous network codng. Our method ncludes the followng three steps: Step : Decompose the orgnal queueng model (Fg. 2) nto n separate queues. Each queue (=,..., n) has ts own servce model, called sub-system (Fg. 3). Step 2: Analyze sub-system (=,...,n). Step 3: Obtan the approxmate soluton of the orgnal queueng model by ntegratng the analytcal results n Step 2. 4.3.. Step Decompose the orgnal queueng model of asynchronous network codng (Fg. 2) nto n separate GI/G// queues, wth each served by a sub-system. The nput flow to queue (=,..., n) remans the same as A (t). Clearly, n order to analyze each queue separately, we need specal treatment on ts servce, whch s ntroduced n Step 2. 4.3.2. Step 2 To analyze the sub-system (=,..., n), we treat the opportunstc delay as a knd of servce, whch s modeled by a vrtual server. As such, the sub-system could be further decomposed by a vrtual server followed by the actual servce (.e., codng and transmsson), as shown n Fg. 3. Therefore, the total servce tme of the sub-system ncludes the servce tme of the vrtual server plus the tme of the actual servce. To obtan the servce tme dstrbuton of the vrtual server, we fnd that the row of P llustrates the dependency between flow and other flows. Specfcally, the value of P j ndcates the probablty that a packet n flow s j-level coded. Accordng to the rules of asynchronous network codng, the packet needs to wat for the maxmum opportunstc delay D before beng actually served when j < n, and t wats for a random opportunstc delay no larger than D when j = n. Therefore, the vrtual server of sub-system can be further decomposed nto 2 exclusve, parallel components (Fg. 3), wth the probablty to each component as P n, respectvely. P n and As shown n Fg. 3, the upper component of the vrtual server has the entry probablty P n and has a determnstc servce tme D. The bottom component of the vrtual server has the entry probablty P n and has a random opportunstc servce tme no larger than D. Denote ts dstrbuton functon and pdf as S (t) and s (t), respectvely. The value of S (t) s the probablty that a packet of flow s (n )-level coded wthn the tme perod of t, condtonng on that the bottom component s used. Usng Eq. (2) and Theorem 2, we have S ðtþ ¼ Qk ð k k gþ ð b b F k ðtþþ F k ð Q k k kþg n ; ð2þ where the denomnator s the probablty that packets go nto the bottom component (.e., P n ) of the vrtual server, and the numerator s the probablty that the packets of flow s (n )-level coded wthn the tme perod of t. To smplfy notatons, we slghtly abuse the notaton of ^F k by usng b F k ðtþ to denote the probablty that there are packet arrvals to flow k wthn the perod of t. It s clear that S (t) = when t P D. Let D (t) denote the dstrbuton functon of the servce tme of the vrtual server n sub-system. We have 8 >< P n S ðtþ; t < D; D ðtþ ¼ ð3þ >: P n þ P n S ðtþ ¼; t P D: Let r denote the total servce tme of sub-system. Let R (t) be the dstrbuton functon of r. Then R (t) can be calculated as the convoluton ntegral between the servce tme of the vrtual server and the actual servce tme: R ðtþ ¼Probðd þ x 6 tþ ¼ Z t D ðt yþdbðyþ ð4þ where d and x denote the servce tme of the vrtual server and the actual servce tme. From the above results, t s easy to see that E ; P j ; S ðtþ, and R (t) all are a functon of g. Let r denote the expectaton of r. Then r s also a functon of g. Snce E s the steady state probablty that queue s empty, based on the steady state relatonshp n queueng theory [36] and wth Eq. (6) n Theorem 2, we can obtan another equaton on g: E ¼ ð k gþ b F ¼ q ¼ k r ; ðþ where q s the utlzaton factor of subsystem. Solvng (), we obtan the value of g. 4.3.3. Step 3 We can then obtan the approxmate soluton to the orgnal queueng model, by ntegratng the analytcal results n Step 2. We use the calculaton of the average delay as an example: (a) Choose any sub-system, say, sub-system. Use (6) and (8) to express E and P j ð 6 j 6 n Þ as a functon of g, respectvely. (b) Express R (t) wth (4). Calculate r, whch s a functon of g. (c) Solve () to obtan the value of g, whch wll be used n the rest of calculatons. (d) For each sub-system, say, sub-system, calculate the values of E and R (t) wth (6) and (4), respectvely. Calculate r, and Var(r ). (e) For each =,...,n, calculate the varance of the nter-arrval tmes of flow, denoted by Var(a ). Based on [36], the dstrbuton of the dle-perod, I, s the same as the resdual tme A( t) - P n- D Β( t) P n- S t ( ) Fg. 3. The queueng model to approxmate the processng of flow wthn a sub-system.

Y. Yuan et al. / Computer Communcatons 3 (22) 3 48 4 dstrbuton of the nput flow. The frst two moments of I, denoted by I and I 2, respectvely, can be calculated from bf ðtþ. (f) The mean queueng tme of flow before gong nto the vrtual server, W, can be calculated [36] as: W ¼ k2 ðvarða ÞþVarðr ÞÞ þ E 2 2 k E I2 2I The average delay of flow, T, s thus: T ¼ W þ r :. Further dscusson ð6þ ð7þ In ths secton, we frst dscuss the condton that the queueng system s stable (.e., no queue wll eventually overflow). Then we analyze how to calculate the codng gan on certan network confguratons... Stablty Snce our approxmaton method s based on the assumpton that the queue sze s nfnte, accordng to the well-known Stablty Theorem for GI/G// [36], whether the steady state probabltes of nterests (e.g., E ) exst s decded by the stablty of the queueng system. So, before applyng our approxmaton method, we need to know under what condtons our queueng system s stable. Theorem 3. The orgnal queueng system (Fg. 2) s stable, f and only f n each sub-system, the maxmum opportunstc delay D, the mean arrval rate k and the mean servce rate l satsfy: D þ l Pn Z D S ðtþdt < k : ð8þ Proof 3. Clearly, the orgnal queueng system s stable f and only f each sub-system s stable. In sub-system, the utlzaton factor q should be smaller than. Let r denote the expectaton of r. we frst have: Z r ¼ P n D þ P n t s ðtþdt þ l Z D ¼ D D P n þ P n ½t S ðtþš D S ðtþdt þ l ¼ D D P n ¼ D þ l Pn þ D P n Z D S ðtþdt: P n Z D S ðtþdt þ l ð9þ The theorem s proved snce the utlzaton factor must be less than,.e., q ¼ k r <. h Theorem 3 mples that by solvng Inequalty (8), we can obtan a upper bound on the maxmum opportunstc delay when other network confguratons are fxed. If the mean arrval rates of the n flows are not dentcal, we ntroduce a looser upper bound for the maxmum opportunstc delay to quckly check the stablty of the orgnal queueng system. Ths could avod ntensve computaton n solvng Inequalty (8). Corollary. If the orgnal queueng system s stable, the mean arrval rate k j, the mean servce rate l, and the maxmum opportunstc delay D should satsfy: k D < max l Q j mn ; k j k max ð2þ where k max and k mn denote the maxmum mean arrval rate and the mnmum mean arrval rate among the n flows, respectvely. Proof 4. Snce S (t) s a dstrbuton functon, we have R D S ðtþdt < D. Thus Inequalty (8) can be transformed as: > D þ Pn D ð2þ k l From Theorem 2, snce E cannot be zero and D s a bounded value n asynchronous network codng, we could gnore the case that ¼. Then we have P n k D < l : ð22þ P n Based on Theorem 2, we can obtan the upper bound of P n P n ¼ Y ðk j gþ < Y j j k j mn 66n k ¼ Y j k j k max, that s: : ð23þ If the orgnal system s stable, Inequalty (22) should hold for any sub-system. By consderng the sub-system wth the maxmum mean arrval rate, we can obtan a looser bound on D, whch s equal kmax to l Q. h k j j mnkmax Corollary gves a necessary condton for system stablty. It mples that f the dfferences between the mean arrval rates of the nput flows are small and the maxmum expected nter-arrval tme s much larger than the mean servce tme l, the maxmum opportunstc delay could be set to a large value. Otherwse, kmax t should be set small..2. Codng gan Codng gan s defned as the rato of the number of transmssons requred by forwardng, to the number of transmssons used by network codng to delver the same set of packets. For smplcty, suppose that packets have the same sze and delverng one (coded or uncoded) packet consumes the same bandwdth. The codng gan can be easly computed wth the followng theorem: Theorem 4. Assume that the orgnal queueng system s stable and the codng opportunty matrx s P, the codng gan, G c, can be expressed as: G c ¼ P n P n k¼ ¼ P n ¼ k n kþ : ð24þ k P n k Proof. We need to compute both the expected number of total packets delvered per tme unt and the expected number of coded packets delvered per tme unt. Snce the system s stable, the expected number of total packets delvered per tme unt s equal to the expected number of packets arrvng nto the system per tme unt, whch s P n ¼ k. Wth network codng, based on codng opportunty matrx P, the expected number of coded packets wth k-level codng opportunty per tme unt s: X k P k k þ : ð2þ where the factor means that the total number of delvered k-level coded packets has been counted k + tmes. By summng up kþ all

42 Y. Yuan et al. / Computer Communcatons 3 (22) 3 48 levels, we obtan the expected number of coded packets delvered per tme unt as: X n k P n þ X n n n ¼ ¼ ¼ Xn X n n k þ k¼ ¼ k P n 2 þþ Xn k P ¼ k P n k : ð26þ Accordng to the above analyss and the meanng of codng gan, the codng gan can be calculated wth Eq. (24). h 6. Model valdaton and performance evaluaton We have used a large amount of dverse network confguratons to compare the performance (e.g. codng gan, average packet delay, and codng opportunty) calculated wth our analytcal model to that obtaned wth smulaton. To save space, however, we only use three representatve cases to llustrate the results,.e., a smple case wth memoryless traffc and servce, a complex case wth saturate non-memoryless traffc, and a more complex case wth heavy-taled traffc and adjustable servce rate. Both the numercal calculatons and the smulatons were mplemented n Matlab. Snce the network codng n the consderaton of ths paper only touches the network layer, we bult an event-drven smulator to smulate the network layer operatons and gnored the detals of the physcal layer and the MAC layer. Smulaton results are obtaned by takng average over runs, each of whch ends at, tme unts. 6.. A smple case: memoryless traffc and servce capacty We frst consder our approxmaton method n a smple case: the servce tme of the router follows an exponental dstrbuton wth the mean of (tme unts), and that two nput flows follow Posson arrvals wth the mean nter-arrval tmes of and 2 (tme unts), respectvely. Wth Theorem 3 and Corollary, the threshold value of D s equal to 3.8 (a tghter bound) and 2 (a looser bound), respectvely. As shown n Fg. 4, when the system s stable, our analytcal results are very close to those from the smulatons. In Fg. 4, wth the ncrease of D, the codng gan, the average packet delay and the codng opportunty ncrease steadly. Under the constrant of a stable system, we may ncrease the maxmum opportunstc delay to get a larger codng opportunty. Ths Codng gan 2.8.6.4.2 Smulaton Calculaton Average packet delay 4 3 3 2 2 Flow (smulaton) Flow (calculaton) Flow 2 (smulaton) Flow 2 (calculaton) 2 4 6 8 2 Maxmum opportunstc delay (a) Codng gan 2 4 6 8 2 Maxmum opportunstc delay (b) Average packet delay.8 2 level codng opportunty.6.4.2 Flow (smulaton) Flow (calculaton) Flow2 (smulaton) Flow2 (calculaton) 2 4 6 8 2 Maxmum opportunstc delay (c) The -level codng opportunty Fg. 4. Memoryless traffc and servce capacty.

Y. Yuan et al. / Computer Communcatons 3 (22) 3 48 43 operaton brngs a larger codng gan but also ncreases the average packet delay of the faster flow, as we can see from Fg. 4(b). See also, n Fg. 4(c), when D approaches ts threshold value, the -level codng opportunty of flow 2 s close to. At ths stuaton, f we ncrease D further, the system becomes unstable: the packets from flow wll be accumulated n the buffer, eventually resultng n buffer overflow no matter how large the buffer sze s. Ths has been verfed n our smulaton. 6.2. A complex case: saturated traffc wth balanced flow arrvals Case assumes Posson traffc and exponental servce. Our queueng model covers much beyond ths smple case, and our analytcal results hold for general dstrbutons. To valdate, we use a complex system confguraton. Assume that the system has three ndependent nput flows and ther packet nter-arrval tmes all follow the Erlang-2 dstrbuton wth the same mean of (tme unts). The servce tme of the router follows Gamma dstrbuton wth the shape parameter 2 and the scale parameter /. The mean servce tme s derved from the Gamma-(2,/), whch s equal to (tme unts). Note that both Erlang and Gamma dstrbutons have been broadly used n network traffc modelng [37]. Ths model has two features. Frst, the traffc load s nearly saturated, snce the mean rate of each flow s very close to the servce rate. Second, the flow arrvals are balanced,.e., the mean arrval rates of flows are the same. We omt results of flow 2 and flow 3 n the fgure, because the result s very smlar to that of flow. As shown n Fg. (c), even f D s set to be, the sum of -level and 2-level codng opportuntes exceeds.9. Wth the ncrease of D, the 2-level codng opportunty of flow ncreases steadly. Wth Theorem 3, the threshold value of D n ths case s about 4. From the fgures, we can see that the analytcal results match the smulaton results ncely when the maxmum opportunstc delay D s smaller than ts threshold. However, as n Fg. (b), after D approaches and exceeds ts threshold, the system becomes unstable and the average packet delays fluctuate severely. Our analytcal average delays become meanngless. 6.3. A more complex case: heavy-taled traffc wth adjustable servce rate To further valdate our analytcal model for practcal and more complex cases, we consder a system wth heavy-taled traffc arrvals of heterogeneous mean rates. It has been shown that the Codng gan 3 2.9 2.9 2.8 2.8 2.7 Smulaton Calculaton 2.7 2 4 6 8 2 4 Maxmum opportunstc delay (a) Average packet delay 2 2 Smulaton Calculaton 2 4 6 8 2 4 Maxmum opportunstc delay (b) Codng opportunty.8.6.4 level (smulaton) level (calculaton) level (smulaton) level (calculaton) 2 level (smulaton) 2 level (calculaton).2 2 4 6 8 2 4 Maxmum opportunstc delay (c) Fg.. Saturated traffc wth balanced flow arrvals.

44 Y. Yuan et al. / Computer Communcatons 3 (22) 3 48 Average packet delay Smulaton Calculaton Maxmum opportunstc delay Mean servce tme 3 2 level codng opportunty.8.6.4.2 Smulaton Calculaton Maxmum opportunstc delay Mean servce tme 3 (a) Average packet delay (b) The 2-level codng opportunty of flow 2 level codng opportunty.8.6.4.2 Smulaton Calculaton Maxmum opportunstc delay Mean servce tme 3 2 level codng opportunty.8.6.4.2 Smulaton Calculaton Maxmum opportunstc delay Mean servce tme 3 (c) The 2-level codng opportunty of flow 2 (d) The 2-level codng opportunty of flow 3 Fg. 6. Heavy-taled traffc wth adjustable servce rate. network flows n Internet core may exhbt the self-smlar nature, and ther packet nter-arrval tmes could be approxmated by a log-normal dstrbuton [38], denoted by Log-N-(m,r 2 ), where m and r are the mean and the standard devaton of the nter-arrval tme natural logarthm. Assume that there are three ndependent nput flows followng log-normal dstrbuton wth mean packet nter-arrval tmes of 2, 3, and 2, respectvely. For smplcty, we set m to, through calculaton, the log-normal expresson of these three dstrbutons can be descrbed as Log-N-(,2.4477 2 ), Log-N-(,2.68 2 ), and Log-N-(,2.373 2 ), respectvely. Assume that the servce tme of the router follows an exponental dstrbuton wth the parameter l. We change l and the maxmum opportunstc delay D to study ther mpact on the performance. As shown n Fg., the analytcal results match the smulaton results very well when the mean servce tme and D are both small. However, the gap between the two becomes a bt larger when the mean servce tme and D ncrease. Ths s because a faster server (.e., a smaller mean servce tme) and a smaller maxmum opportunstc delay both mply less codng opportuntes. Wth less codng opportuntes, the multple flows are less dependent on each other and our queueng decomposton method works better. As we can see n Fg. 6(b), (c), and (d), when l and D are set to and, respectvely, the codng opportuntes for 2-level codng are all very close to zero and the average packet delay s also at ts lowest pont, as n Fg. 6(a). From Fg. 6(a), we can also see that the average packet delay s more senstve to the servce tme than to the maxmum opportunstc delay. Ths s because the servce tme has a drect mpact on the packet delay, whle the maxmum opportunstc delay mght not. Note that the maxmum opportunstc delay s only an upper bound on the watng tme for better codng opportuntes. Packets do not have to wat to ths bound before beng processed. 7. Self-adjustable delay-based codng mechansm In ths secton, we llustrate how to use our analytcal results to desgn an adaptve network codng mechansm for effcent congeston control. Most tradtonal IP layer congeston control mechansms use Actve Queue Management (AQM) polces [39], such as BLUE [4], to keep queue length small. However, these polces share a common drawback that there s a tme lag between the congeston notfcatons ssued by the router to the end hosts rate control actons beng n effect. Durng ths lag, the congeston may become even worse, and more packets are dropped.

Y. Yuan et al. / Computer Communcatons 3 (22) 3 48 4 Network codng technque brngs a new soluton for IP congeston control [24]. As shown n Example, once the congeston s detected, the router actvates network codng mechansm, and nforms ts end hosts to transmt orgnal packets through redundant paths. Wth network codng, more than one buffered packets can be removed from the congested router smultaneously, whch may sgnfcantly reduce the packet losses. However, how to maxmze the codng opportuntes and the codng gans whle controllng the congeston s not trval. Snce n real-world deployment, the traffc loads are tme-varyng, a fxed value of the maxmum opportunstc delay s very hard to determne and may not work well. To address ths problem, we desgn a Self-Adjustable Delaybased Codng Mechansm, called SADCM. By usng our analytcal results and the perodc network measurements, SADCM can quckly fnd out the near optmal values for the maxmum opportunstc delay, whch help to mantan hgh-level codng gans. To guarantee congeston control effectvely, SADCM can also adjust the maxmum opportunstc delay dynamcally and senstvely as the nput traffc loads are changng. The detals of SADCM are descrbed as follows: Measurements collecton: Suppose that the congeston control operates perodcally wth equal length tme ntervals, each of whch are set to T tme unts. Durng each nterval, the SADCM router measures arrval rates for the nput flows and ts servce rate by usng Exponental Weghted Movng Average (EWMA) approach [39]. For nstance, flow s EWMA arrval rate at the sth nterval, k ðsþ, can be calculated as: k ðsþ ¼ak þð aþk ðs Þ; ð27þ where a s the weghtng factor, and k (s) s the measurement of the arrval rate at the sth nterval. A hgher a dscounts older observatons faster. Congeston detecton: To evaluate congeston, the router needs to estmate the queue length threshold for each flow at the end of each nterval. Let d (s) denotes the threshold of the flow at the sth nterval, Suppose that there are n nput flows, whch can be estmated as: d ðsþ ¼Kð P rsv Þ T max k ðsþ lðsþk ðsþ P n ¼ k ðsþ ;!!; ð28þ where K s the maxmum queue sze and P rsv s the reserved porton of the queue space for traffc bursty. If the aggregated EWMA arrval rate of the nput flows s larger than the EWMA servce rate, that s, P n ¼ k ðsþ > lðsþ, and f there s one queue, say k, ts length L k exceeds d k (s), the router actvates SADCM for congeston control. Self-adjustable mechansm: After beng actvated, SADCM frst marks output packets as the congeston notfcatons. Then, by usng Corollary, t calculates a regon [D mn,d max ] to bound the optmal value of D at the recent tme ntervals. As shown n Algorthm, a bnary search s used to quckly refne the regon sze to an error nterval, denoted by. As we can see from the algorthm, SADCM perodcally counts the codng gan, denoted by G c ðgþ, whch s used to compute the servce rate under network codng. If the aggregate EWMA arrval rate s smaller than the servce rate under network codng, SADCM regards that the congeston s beng allevated. If the nput traffc loads are changed or the router s fed by new nput flows, SADCM wll reset the bnary search process. The pseudo-code of the self-adjustable mechansm s shown n Algorthm. Congeston release: At the begnnng of another tme nterval, say t, f P n ¼ k ðtþ < lðtþ, and for any, L < h (t), the router swtches SADCM back to the store-and-forward routng, whch reduces the complextes brought by the codng operatons. Algorthm. Self-adjustable mechansm Intalze D max ¼ kmaxðgþ lðgþ = Q j mn Intalze D mn ¼ mn ; k ðgþ lðgþ f D max D mn 6 then f P n ¼ k ðgþ < lðgþg c ðgþ then D = mn (D + M D,D max ); else D = D mn ; else f P n ¼ k ðgþ < lðgþg c ðgþ then D mn = D; else D max = D; D ¼ Dmax D mn 2 ; k j ðgþ kmaxðgþ ; To evaluate the performance of SADCM, we modfy Case n Secton 6. as follows: assume that ntally the router has only one nput flow wth the mean nter-arrval tme of (tme unts). After, tme unts, a flow wth the mean nter-arrval tme of 2 (tme unts) s fed nto the router. At the smulaton tme of 4, tme unts, the second nput flow wth mean nter-arrval tmes of 2 fnshes ts transmsson. The specfc confguraton of ths case study s descrbed n Table 2. As shown n Fg. 7, at the tme perod between, and, tme unts, the router fnds that the aggregated EWMA arrval rate becomes larger than the EWMA servce rate, and both the queue lengths and the packet delays of the two nput flows ncrease rapdly. At the begnnng of next perod (.e., between and, tme unts), the queue length of flow 2 exceeds ts threshold, the router thus actvates SADCM for congeston control. As we can see from Fg. 7(a), the router can quckly fnd a tght regon to bound the maxmum opportunstc delay to approach the maxmum codng gan. As shown n Fg. 7(c) and (b), wth network codng, flow 2 mantans relatvely stable queue length and stable packet delay, snce newly-joned packets of flow 2 can be mmedately coded wth the queueng packets of flow. However, the opportunstc delay enlarges both the queue length and the packet delay of flow. Fg. 7(d) llustrates that SADCM mantans a hgh codng gan. We also mplement the BLUE [4] for comparson. The BLUE router mantans a probablty p m, whch decdes the chance of droppng or markng the packets when they arrve. If the packets are dropped due to overflow, the router ncreases p m by h ; n contrast, f the downstream lnks are dle, the router decreases p m by h 2. Usually h s much larger than h 2. BLUE also uses a parameter Table 2 Case confguraton. Parameters Settngs Mean arrval rate of flow (k ) / Mean arrval rate of flow 2 (k 2 ) /2 Maxmum buffer sze (K) 2 Mean servce rate (l) / Length of tme perod (T) Addtve ncrement of D (D D ).2 Bounded regon sze of D () EWMA weghtng factor (a).8 Reserved porton of the queue space (P rsv ) /4