(Non-)Linear Programming

2 downloads 0 Views 4MB Size Report
Proprietary An algebraic modeling language; provides graph- ical end-user environment; free academic license; unrestricted one month trail version. APMonitor.
Sustainable Communication Networks University of Bremen Prof. Dr. Anna Förster

Master Thesis Fair Multipath Capacity Allocation based on Mixed-Integer (Non-)Linear Programming of

Md Shahabuddin Matriculation Number: 2769329

Bremen, June 10, 2016

Supervised by: Prof. Dr. Anna Förster Amanpreet Singh, M.Sc. Dr.-Ing. Andreas Könsgen

This publication is meant for internal use only. All rights reserved. No liabilities with respect to its content are accepted. No part of it may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher.

I assure, that this work has been done solely by me without any further help from others except for the ocal support by the Chair of Communication Networks. The literature used is listed completely in the bibliography.

Bremen, June 10, 2016

(Md Shahabuddin)

Abstract The emergence of multihoming capable devices enable the use of multipath transport protocols such as MPTCP. Theoretical frameworks which resemble practical transport layer protocols in terms of eciency and fairness are essential in order to evaluate the network performance. To deal with the transport layer fairness, allocation algorithms based on resources (network/bottleneck capacity) and participants (subows, ows, taris, etc.) have been proposed in the literature. However, the formerly mentioned algorithms require the routes of the ows/subows to be known. In this work, a novel mathematical framework for fair multipath capacity allocation is presented which implements joint routing and allocation optimization based on mixed-integer (non-)linear programming (MILP/MINLP). In this regard, three fair capacity allocation methods named bottleneck subow fair, bottleneck ow fair and network ow fair are modeled by MILP/MINLP through dierent objective functions and set of constraints. By comparing with the respective algorithmic solution for more than 30 random scenarios, it is validated that the developed fair allocation models provide the optimum fair solution for each scenario. Finally, the methods are compared using dierent well known performance metrics. Among the allocation methods, it is shown that network ow fair demonstrates the best performance in terms of fairness, however it might yield less aggregated capacity allocation than bottleneck subow fair and/or bottleneck ow fair, depending on the topology. Since the known performance metrics for fairness are biased towards equal allocation to the participants (ow), the fairness policies for individual allocation methods are not justiable through those performance metrics. The proposed fair allocation methods enable the opportunity for the network operators to optimize the network performance by analyzing the theoretical impact of the transport layer protocols for a given demand scenario.

2

Kurzfassung Das Aufkommen von Multihoming-Geräten ermöglicht die Verwendung von MehrpfadeTransport-Protokollen wie MPTCP. Theoretische Frameworks, die sich in Bezug auf Efzienz und Fairness ähnlich wie Transportprotokolle verhalten, sind wesentlich für die Bewertung des Leistungsverhaltens im Netz. Zur Behandlung von Transportschicht-Fairness wurden in der Literatur Zuweisungsalgorithmen basierend auf Ressourcen (Netz- oder Engpasskapazität) und Teilnehmern (Daten-Teilüsse, Datenüsse, Tarife usw.) vorgeschlagen. Die zuvor beschriebenen Algorithmen setzen jedoch die Routen der Flüsse/Teilüsse als bekannt voraus. In dieser Arbeit wird ein neuartiges mathematisches Framework für die faire Zuweisung von Kapazität auf mehreren Pfaden vorgestellt, das eine kombinierte Optimierung von Routing und Zuweisung basierend auf Mixed-Integer (Nicht-)Linearer Programmierung (MILP/MINLP) implementiert. In diesem Zusammenhang werden drei Verfahren für die faire Kapazitätszuweisung mit MILP/MINLP durch eine Zielfunktion und einen Satz von Beschränkungen modelliert, nämlich Bottleneck Subow Fair, Bottleneck Flow Fair und Network Flow Fair. Durch den Vergleich mit der jeweiligen algorithmischen Lösung für mehr als 30 Zufallsszenarien wird validiert, dass die entwickelten Verfahren für die faire Zuweisung die optimale faire Lösung für jedes Szenario erzielen. Schlieÿlich werden die Verfahren mit Hilfe von verschiedenen wohlbekannten Leistungsmetriken verglichen. Es wird gezeigt, dass unter den Zuweisungsverfahren Network Flow Fair das beste Leistungsverhalten in Bezug auf Fairness aufweist, allerdings kann es abhängig von der Topologie zu einer geringeren aggregierten Kapazitätszuweisung als Bottleneck Subow fair und Bottleneck Flow Fair führen. Da die bekannten Leistungsmetriken für Fairness zu einer gleichen Zuweisung an die Teilnehmer (Flüsse) tendieren, können die Fairness-Regeln für einzelne Zuweisungsverfahren nicht durch diese Leistungsmetriken begründet werden. Die vorgeschlagenen fairen Zuweisungsverfahren ergeben eine Möglichkeit für Netzbetreiber, das Leistungsverhalten durch die Analyse des theoretischen Einusses auf die Transportschichtprotokolle für ein vorgegebenes Anforderungs-Szenario zu optimieren.

4

Contents Abstract

1

Kurzfassung

3

List of Figures

7

List of Tables

9

List of Abbreviations

11

1 Introduction

13

2 Linear and Non-linear Optimization Environment

15

1.1 1.2 2.1 2.2 2.3

2.4 2.5

Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Network Trac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Mathematical Optimization . . . . . . . . . . . . . . . . Optimization Types [31] . . . . . . . . . . . . . . . . . . Optimization Methods . . . . . . . . . . . . . . . . . . . 2.3.1 Linear Programming . . . . . . . . . . . . . . . . 2.3.2 Nonlinear Programming . . . . . . . . . . . . . . 2.3.3 Convex Optimization . . . . . . . . . . . . . . . . 2.3.4 Heuristic Method . . . . . . . . . . . . . . . . . . Optimization Applications in Communication Networks Linear & Non-linear Optimization Tools . . . . . . . . .

3 Fair Multipath Flow Allocation 3.1 3.2 3.3 3.4

Terminology [7] . . . . . . . . . . . . . . . . . . . . . . . Fairness-eciency Trade-o . . . . . . . . . . . . . . . . Multipath Transport Protocol Fairness . . . . . . . . . . Alternative Fairness denitions for Multipath Transport

4 Mathematical Model for Fair Multipath Flow Allocation 4.1 4.2

4.3

Multicomodity Flow Model . . . . . . . . . . . . . Mathematical Model for Multipath Flow Allocation 4.2.1 Bottleneck Subow Fair Allocation (BSF) . 4.2.2 Bottleneck Flow Fair Allocation (BFF) . . . 4.2.3 Network Flow Fair Allocation (NFF) . . . . Performance Metrics . . . . . . . . . . . . . . . . . 4.3.1 Aggregated Allocation (A) . . . . . . . . . . 4.3.2 Jain's Fairness Index (γJain ) . . . . . . . . . 4.3.3 Vardalis's Fairness Index (γV ardalis ) . . . . 4.3.4 Normalized Fairness Index (γN ) . . . . . . . 4.3.5 Eciency-Jain's Fairness Index Product . .

5 Performance Evaluation 5.1 5.2

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

15 15 17 17 17 18 18 19 19

23

23 24 25 26

29

29 29 35 38 40 48 48 48 48 48 49

51

Validation of the Fair Multipath Capacity Allocation Models . . . . . . . . 61 Performance Comparison of the Fair Multipath Capacity Allocation Models 63 5

Contents

6 Conclusion & Outlook 6.1 6.2

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Computational Complexity Consideration and Computational Time Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Tari Based Fair Allocation Model . . . . . . . . . . . . . . . . . . . 6.2.3 n-power Bottleneck Aware Fair Allocation . . . . . . . . . . . . . . . 6.2.4 Alternative Modeling Approach for Fair Multipath Capacity Allocation

Bibliography

67 67 68

68 68 68 69

71

6

List of Figures 2.1

Optimization taxonomy focused on deterministic optimization [6] . . . . . . 16

3.1 3.2

Fairness vs eciency example . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Fairness-eciency curve [42] . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10

Possible number of subows for multipath transport . . . . . . . . . . . . . Bottleneck subow fair example . . . . . . . . . . . . . . . . . . . . . . . . . Bottleneck subow fair allocation with objective function BSF-I . . . . . . Bottleneck subow fair allocation with objective function BSF-II . . . . . . Bottleneck subow fair example . . . . . . . . . . . . . . . . . . . . . . . . . Network ow fair example . . . . . . . . . . . . . . . . . . . . . . . . . . . . Network ow fair realization example . . . . . . . . . . . . . . . . . . . . . . Network ow fair realization problem with NFF-objective-II . . . . . . . . . Network ow fair realization example . . . . . . . . . . . . . . . . . . . . . . Network ow fair realization problem with objective function NFF-objectiveIII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11 Network ow fair realization example . . . . . . . . . . . . . . . . . . . . . . 4.12 Network ow fair realization problem with NFF-objective-IV . . . . . . . . 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9

Simulated network topology set 1 . . . . . . . . . . . . . . . . . . . . . . . . Simulated network topology set 2 . . . . . . . . . . . . . . . . . . . . . . . . Normalized performance metrics for bottleneck subow fair allocation (BSFI & BSF-II) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normalized performance metrics for bottleneck ow fair allocation (BFF-I & BFF-II) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normalized performance metrics for network fair allocation . . . . . . . . . Aggregated allocation comparison for dierent fair allocation methods . . . Jain's fairness index comparison for dierent fair allocation methods . . . . Vardalis's fairness index comparison for dierent fair allocation methods . . Eciency-Jain's fairness index product comparison for dierent fair allocation methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

30 35 36 37 39 40 42 42 44 44 46 46 52 53 62 62 62 64 65 65 65

List of Figures

8

List of Tables 2.1 2.2

Mathematical optimization software . . . . . . . . . . . . . . . . . . . . . . 20 Solvers for linear & nonlinear optimization . . . . . . . . . . . . . . . . . . . 21

3.1

Overview of dierent fair capacity allocation [7] . . . . . . . . . . . . . . . . 27

5.1 5.2 5.3 5.4 5.5 5.6 5.7

Scenario information's associated to the topologies . . . . Capacity allocation for dierent scenarios part 1 . . . . . . Capacity allocation for dierent scenarios part 2 . . . . . . Capacity allocation for dierent scenarios part 3 . . . . . . Performance metrics for bottleneck subow fair allocation Performance metrics for bottleneck ow fair allocation . . Performance metrics for network ow fair allocation . . .

9

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

54 55 56 57 58 59 60

List of Tables

10

List of Abbreviations BAFA

Bottleneck Aware Fairness Allocation

BSF BFF BTF BUF BLF BSrF NFF NTF NUF NSrF NLF IP

Bottleneck Subow Fair Bottleneck Flow Fair Bottleneck Tari Fair Bottleneck User Fair Bottleneck Locator Fair Bottleneck Source Fair Network Flow Fair Network Tari Fair Network User Fair Network Source Fair Network Locator Fair Integer Programming

LP MMF MNLP

Linear Programming

MILP NLP QoS QP QCQP

Mixed Integer Linear Programming

Max-min Fair Mixed Integer Nonlinear Programming Nonlinear Programming Quality of Service Quadratic Programming Quadratic Constrained Quadratic Programming

RTT Round-trip Time TCP Transport Control Protocol MPTCP Multipath Transport Control Protocol

UDP

11

User Datagram Protocol

List of Abbreviations

12

1 Introduction 1.1 Motivation Modern telecommunication network mainly consists of three main part: the internet cloud, the core network and the access network. The core network usually realizes the connection between the access networks. The access network can be considered as the edge network to which users are connected. Normally the core network has a mesh topology in contrast to tree topology in the access network. The users connected to the access network produce and consume trac that moves through the network. With the growing popularity of smartphones and the increasing use of applications designed to make use of their capabilities, trac is rising dramatically. It has been observed that the data-oriented services generate more network trac than the traditional voice-oriented services [29]. Traditional data-oriented services are mainly best eort type and may fail due to transmission bandwidth. The generation of the trac is entirely unknown in terms of duration, location and required capacity hence it is not possible to adopt the resources provisioned accordingly. This may lead to the resource provisioning through overdimensioning the network for satisfactory services. However, overdimensioning the network is economically questionable since sometimes it implies to poor resource utilization. On the other hand, the network will subject to overload if the capacity of the network does not match trac generated by the users. Overload causes congestion in the network resulting packet losses and higher end-to-end delay. As a result data transfer rate decreases and a poor Quality of Service (QoS) is perceived by the users [29]. The situation may cause congestion collapse to the network with higher number of dissatised users. So controlling overload is one of the major concerns for network operator because the guaranteed QoS is one of the major elements of the network operators success. To avoid the overload situation ensuring certain QoS to the users, the network operator must control the trac entering the network. The control process usually referred to as trac admission control which determines the amount of trac that can be served at a time. This trac admission control will deny some of the users trac partially or fully to avoid overload. The accepted trac by trac admission control should share the network capacity in a fair manner. However, the service acceptance rate is another criteria for QoS [40], so the admission control mechanism should employ some kind of fairness to access the network. Also trac routed through the network should share the network resources fairly. On the other hand it is also important to increase the network eciency with higher aggregated throughput [40]. The problem of the fair resource allocation with maximizing the network eciency is a challenging task in current telecommunication networks design. To ensure the best performance of the network, network trac assignment and resource allocation become an integral part of the network design and planning. Fairness has always been very important in case of resource allocation in a shared communication system. However, the term fairness is very subjective therefore have several ways of specifying it. The most common and probably the most well accepted fairness denition is to adopt equal amount of resource to each stream. Unfortunately, this approach is likely to result in poor network capacity utilization since it limits the opportunity to many streams which could use more capacity without eecting others. Therefore, a possible solution is to 13

1. Introduction use the network capacity as much as possible while maximizing the minimum resource to each stream. To realize such allocation, fairness mechanism termed as max-min fair (MMF) become very popular among the researchers. MMF is applicable in numerous areas where an equitable distribution of resources between the participants are desired [28]. MMF is extensively studied in literature with respect to the application of rate adaption, routing and load balancing in telecommunication networks [12], [27], [30], [10], [40]. In addition to MMF, proportional fair allocation and utility fair allocation are also widely studied in literature [32], [24], [38], [20]. However, all the above mentioned fair allocation methods are inconsistent to tackle transport layer fairness in case of multipath transfer. In order to deal with transport layer protocols fairness for multipath transfer, fairness denition based on resources (bottleneck/network capacity) and participants (ows/subows) have been introduced in [7]. Since, theoretical modeling is essential to understand the impact of a allocation method on network performance, required algorithms have proposed in [35]. However, the algorithms consider the routing information of the participants (ows/subows) to be known to nd the optimum allocation. To facilitate the multipath transport layer protocols performance, this work consist of joint routing and allocation optimization modelling of the fair allocation methods dened in [7].

1.2 Network Trac Trac generated in a network can be categorized mainly in two types: real time trac and elastic trac [29]. Real time trac is normally sensitive to bandwidth assignment and transmission delays. This type of trac often requires guaranteed Quality of Service (QoS) or atleast prioritized over other classes of trac. Voice over IP (VoIP), online gaming, video conferencing are the typical real time trac. Elastic trac is a type of best-eort trac which is not critical to QoS requirement and can adopt with any bandwidth allocation. File transfer, email applications are the typical elastic trac examples. TCP and UDP are the two widely used transport layer protocol in today's internet. TCP is the major used protocol to carry all the elastic trac as the trac is not that sensitive to the network delays. All the real time trac which are sensitive to network delays are normally transported through UDP protocol. However, sometimes some real time applications which are less critical to networks delays such as video streaming also transported through TCP protocol [9]. When both real time trac and elastic trac exist in same link, it is more likely that the real time trac will take out the necessary bandwidth from the link and then elastic trac will adopt accordingly. So, it is not the general case to assign bandwidth to real time trac according to some fairness criteria hence is not subject to this study. All the work in this report is based on the elastic trac which can adopt to any bandwidth allocation.

14

2 Linear and Non-linear Optimization Environment 2.1 Mathematical Optimization In a mathematical optimization problem, one seeks to minimize or maximize a real function of real or integer variables, subject to constraints on the variables. The term mathematical optimization refers to the study of these problems: their mathematical properties, the development and implementation of algorithms to solve these problems, and the application of these algorithms to real world problems. The objective of this chapter is not to explain in detail of the whole mathematical optimization method rather giving a rough idea about some of the optimization techniques that can be used in communication networks problem and later on to relate with those methods more specically to resource allocation in the network.

Optimization problem:

If x = x1 , . . . ,xn is the optimization variable, f0 : Rn → R is the objective function and fi : Rn → R, i = 1, . . . ,m is the constraint functions then the optimal solution x∗ has the largest value of f0 among all vectors that satisfy all the constraints. maximize f0 (x) subject to

fi (x) ≤ bi ,

i = 1, . . . ,m

(2.1) (2.2)

2.2 Optimization Types [31] Continuous and discrete optimization

In continuous optimization, the variables in the model are normally allowed to take on a continuous range of values, usually real numbers. On the other hand discrete optimization variables are often binary restricted to the values 0 and 1 or integer. However, both contentious and discrete variable may exist in a specic problem forming mixed integer optimization.Continuous optimization algorithms are important in discrete optimization because many discrete optimization algorithms generate a sequence of continuous subproblems.

Constrained and unconstrained optimization

Optimization problems may exist with or without constraints. In constrained problems objective variables are subject to the constraints whereas in unconstrained problems, there are no constraints on objective variables. Constrained optimization problems arise from applications in which there are explicit constraints on the variables. The constraints on the variables can vary widely from simple bounds to systems of equality and inequalities that model complex relationships among the variables. Constrained optimization problems can be furthered classied according to the nature of the constraints (e.g., linear, nonlinear, convex). Some constrained problems can be reformed into unconstrained problems with some penalty term with the objective functions. Many unconstrained optimization problems also arise in practical applications.

15

2. Linear and Non-linear Optimization Environment

Deterministic and stochastic Optimization

In deterministic optimization, it is assumed that the data for the given problem are known accurately. However, for many real problems, the data cannot be known accurately for a variety of reasons. The rst reason is due to simple measurement error. Another reason is that some data represent information about the future and cannot be known with certainty. In stochastic optimization, the uncertainty is incorporated into the model. Robust optimization techniques can be used when the parameters are known only within certain bounds; the goal is to nd a solution that is feasible for all data and optimal in some sense. Stochastic optimization model are based on the fact that probability distributions of the concerned data are known or can be estimated; the goal is to nd some policy that is feasible for all (or almost all) the possible data instances and optimizes the expected performance of the model.

One, none or many objectives

Most optimization problems have a single objective function. But problem may arise with multiple objective functions or with no objective functions. Multi-objective optimization problems arise when optimal decisions need to be taken in the presence of trade-os between two or more conicting objectives. In practice, problems with multiple objectives often are reformulated as single objective problems by either forming a weighted combination of the dierent objectives or by replacing some of the objectives by constraints. Optimization problems without objective function, the goal is to nd the feasibility of the value of the variables that satisfy some constraints. It is dicult to specify an optimization taxonomy as there are many sub-elds and also many of the sub-elds have multiple links. Nevertheless, one perspective, focused mainly on the sub-elds of deterministic optimization with a single objective function is specied in g 2.1.

Figure 2.1: Optimization taxonomy focused on deterministic optimization [6] 16

2.3. Optimization Methods

2.3 Optimization Methods 2.3.1 Linear Programming Linear programming (LP) is possibly the most natural mechanism for formulating a vast array of problems with modest eort. A linear programming is characterized by linear functions of the variables; the objective is linear variables, and the constraints are linear equality or linear inequalities. For the purposes of describing and analyzing algorithms, the problem is often stated in standard form as (2.3)

min cT x subject to

(2.4)

Ax = b

(2.5)

x≥0

where x is the vector of unknown variables, c is the cost vector, and A is the constraint matrix. Geometrically, the set of constraints form a feasible reason for the solution. The feasible region is a polyhedron determined by the set {x ∈ Rn |Ax = b, x ≥ 0}. Any specication of values for the optimization variables is a solution; a feasible solution is a solution for which all the constraints are satised. An optimal solution is a feasible solution that has the smallest value of the objective function for a minimization problem. An LP may have one, more than one or no optimal solutions. An LP has no optimal solutions if it has no feasible solutions or if the constraints are such that the objective function is unbounded. Simplex method is one of the widely used algorithm to solve LP optimization. Numerous number of solvers are available to compute a large scale LP problems. In a linear program, a variable can take on any continuous (fractional) value within its lower and upper bounds. For many applications, fractional values do not make sense. Integer programming (IP) problems are optimization problems in which the objective function and all of the constraint functions are linear but some or all of the variables are constrained to take integer values.

2.3.2 Nonlinear Programming Though numerous optimization applications are cast naturally as linear programs, nonlinearity in the form of either nonlinear objective functions or nonlinear constraints are crucial for representing an application properly as a mathematical program. The problem can be stated simply as (2.6)

min f (x) subject to

ci (x) = 0 ∀i ∈ E

(2.8)

ci (x) ≤ 0 ∀i ∈ I where each ci (x) is a mapping from inequality constraints, respectively.

Rn

to

R,

E

and

(2.7)

I

are index sets doe equality and

Geometrically, nonlinear programs can behave much dierently from linear programs even for problems with linear constraints. The optimum solution can occur [15]:

• at an interior point of the feasible region; • on the boundary of the feasible reason, which is not the extreme or corner point; or 17

2. Linear and Non-linear Optimization Environment • at the extreme point of the feasible reason The feasible region is bounded by the set of constraints where all the constraints are satised. For many general nonlinear programming problems, the objective function has many locally optimal solutions. Finding the best of all such minima, the global solution is often dicult. The smallest local minimum of an objective function is called the global minimum and the largest local maximum of an objective function is called the global maximum. An important special case of nonlinear programming is convex programming in which all local solutions are global solutions.

2.3.3 Convex Optimization Convex optimization is the method of optimizing a convex functions over a convex set. Convex optimization problems can be solved very eciently and reliably. However, recognizing a convex function is not always straightforward therefore realizing a practical problem as convex optimization problem or those that can be transformed to convex optimization problems can be challenging. A convex optimization problem is one of the form minimize f0 (x) subject to

fi (x) ≤ bi ,

(2.9)

i = 1, . . . ,m

(2.10)

where the functions f0 , . . . ,fm : R → R are convex, i.e, satisfy n

fi (αx + βy) ≤ αfi (x) + βfi (y)

(2.11)

such that ∀x,y ∈ R , ∀α, β ∈ R, α + β = 1, α ≥ 0, β ≥ 0. n

Geometrically, eq. 2.11 means that the line segment between (x, f (x)) and (y, f (y)), which is the chord from x to y , lies above the graph of f . Function f is concave if −f is convex. A set is convex if every pair of points in the set and every point on the straight line segment formed by any of those pair of points is also in the set [13]. Therefore, set C is convex if the line segment between any two points in C lies in C, i.e., if for any x1 , x2 ∈ C and any α, β with α + β = 1, α ≥ 0, β ≥ 0

αx1 + βx2 ∈ C

(2.12)

A convex optimization problem can be realized as a least square problem, linear programming problem or as nonlinear programming problem. Convex optimization problems can be easy to solve, both in theory and in practice. Convex optimization exploits the fact that a local minima is also a global minima. There are several algorithms available to solve a convex optimization problem. Interior point method, subgradient method are the well known convex optimization algorithms.

2.3.4 Heuristic Method A lot of problems appear piratically where the conventional optimization methods fail to give the optimum solution. Computational time is also critical in some applications. Heuristic method is used when computational time is critical or when the conventional optimization method fails to give the exact solution. Heuristics, in contrast to the classical optimization methods, does not necessarily provide the optimum solution, rather try to approximate a reasonable solution close to the optimum one. In addition to nd a good solution in a reasonable time frame, there are other reasons to use heuristic methods, such as [26]: 18

2.4. Optimization Applications in Communication Networks • No known method is available for a problem to nd a optimum solution • If a method exists for the problem, it can not be implemented because of hardware unavailability • Heuristics provide more exibility than a classical optimization method allowing incorporation of conditions that are dicult to model Heuristics can be used as a optimization method or can be incorporated to a conventional optimization method to improve eciency. However, a good heuristic algorithm should fulll the following properties [26]:

• A solution can be obtained within a reasonable time frame • The solution should be close to the optimum solution • The likelihood for obtaining a bad solution (far from optimal) should be low There are many heuristic methods available. Many of them are very dierent in nature and many of them have been developed to solve a specic problem without generalizing to similar application or even similar types of problem [26]. Reduction methods, inductive methods, constructive methods, local search methods are some of the widely known heuristic methods.

2.4 Optimization Applications in Communication Networks Optimization is a integral part of network design and planning. Optimization problem arises at the beginning of the network deployment where the operators need to compromise between the cost and the capacity of the network. In fact optimization problem appears in various network technologies such as routing, load balancing, resource allocation, congestion control, scheduling, queuing, spectrum management etc. Modeling a network problem in a optimization method can be very dierent depending on the problem denition and applications. For example, many of the congestion control and routing problem can be modeled as convex optimization problem [29]. Nonconvex optimization may appear in congestion control for inelastic trac, where a nonconcave utility functions needs to be maximized [19]. Resource allocation problem in communication networks can be modeled as convex optimization which in terms can be solved by linear and nonlinear programming. Many of the nonlinear programming problem can be transformed into linear programming to reduce the computation eort. However, some problem which are restricted to nonlinear programming, may end up with unfeasible computational time or even with no solutions. In this cases, researchers seek for a suitable heuristics to solve the problem.

2.5 Linear & Non-linear Optimization Tools Extensive number of simulation tools are available for linear and nonlinear optimization problem. The simulation procedure requires to model the problem using a suitable modeling language. Most of the modeling language supports several solvers to nd the optimum solution. An incomplete list of the optimization modeling language and solvers are listed in table 2.1 and table 2.2. 19

2. Linear and Non-linear Optimization Environment Modeling Tools AMPL

Licence Proprietary

AIMMS

Proprietary

APMonitor CMPL

Open source

Coopr

Open source

GAMS

Proprietary

CVX

Proprietary

CVXOPT

Free

JuMP

Open source

LINDO

Proprietary

OPL

Proprietary

MPL OptimJ PICOS

Proprietary Proprietary Free

Notes An algebraic modeling for linear, mixed-integer and nonlinear optimization; unrestricted one month trail version; free student version available for limited number of constraints; An algebraic modeling language; provides graphical end-user environment; free academic license; unrestricted one month trail version Mathematical programming for linear optimization problems Collection of optimization-related python software packages High-level modeling system for solving linear, nonlinear, and mixed-integer optimization problems. Matlab-based modeling system for convex optimization; free academic licence Convex optimization based on the Python programming language An algebraic modeling language for linear, quadratic, and nonlinear constrained optimization problems embedded in Julia. Software package for linear programming, integer programming, nonlinear programming, stochastic programming and global optimization; trial version with limited problem capacities Optimization modeling system for mathematical programming and constraint programming. Free academic license Java based modeling language for optimization A user-friendly python interface to many linear and conic optimization

Table 2.1: Mathematical optimization software

20

2.5. Linear & Non-linear Optimization Tools Solvers ABACUS

License Open Source

APOPT

Proprietary

BCP

Open Source

BPMPD CLP CBC CPLEX Gurobi KNITRO

Free Open Source Open Source Proprietary Proprietary Proprietary

LINDO

Proprietary

Minos

Proprietary

IPOPT

Open Source

Notes Provides a framework for the implementation of branch-and-bound algorithms using linear programming relaxations Solver package for large scale LP, QP, QCQP, NLP, MIP, MILP, MINLP Algorithms for solving mixed integer programs (MIPs) solver for linear and convex quadratic problems Linear Programming Solver Mixed-integer Programming Solver Large Scale Linear Programming Solver Solver for LP, QP, QCP, MILP, MIQP, MIQCP Solver package for Mixed-integer Linear and Nonlinear Programming, Quadratic Programming Software package for LP, IP, NP and Stochastic Programming Linear, Nonlinear and Quadratic Programming Solver Software package for large-scale nonlinear optimization

Table 2.2: Solvers for linear & nonlinear optimization

21

2. Linear and Non-linear Optimization Environment

22

3 Fair Multipath Flow Allocation 3.1 Terminology [7] Several terminologies have been used through out the report. A formal denition of all those terminologies is required to understand the fairness aspect in the network.

Network: G = (L,V,A) is the directed graph representing the network where L is the nite locator set, V is the set of nodes and A is the set of links. A locator could be a Network Interface Card (NIC) or an IP address. A node might have multiple locator providing the opportunities of using multipath for a ow. The link set A is the connectivity matrix between the locators. Node:

A node is a device that is used for end-to-end communication. A node could be a source terminal, a destination terminal or a router. A node might have multiple interfaces.

User:

Generally, network tracs are generated by the users. A user might use multiple terminal node simultaneously.

Flow: A ow is consist of all Protocol Data Units (PDU) transferred from a source node

to a destination node within a communication session e.g. a le transfer between two end host. Let, K represents set of demands for each source-destination node pair (s,t) ∈ K . A ow might take multiple paths to reach the destination node from the source node. ϕst is the end-to-end ow allocation vector for each source-destination pair (s,t) ∈ K .

Subow: A multipath ow exchanges PDUs through multiple paths. All PDUs belonging to a specic ow traveled through a specic path is considered as a subow. Each subow is equivalent to a single path ow. Bottlenecks: A bottleneck link is the fully utilized link that limits the allocation to a ow

or subow. If cij ≥ 0 is the capacity of the link (i,j) ∈ A then the link (i,j) ∈ A is said to be congested when

X

fijst = cij

(3.1)

(s,t)∈K

where fijst is the capacity allocation of the ow (s,t) ∈ K on link (i,j) ∈ A. Though a bottleneck link is a congested link, all congested links might not be the bottleneck links for a specic ow. However, in this work, any congested link can be identied as bottleneck link for linear programming simplicity. There are two types of bottlenecks:

• A simple bottleneck where only one ow is congested • A shared bottleneck where more than one ow is congested

Tari: Tari is dened by the cost for using any services provided by a network operator. The cost of services are charged by the operator according to the requirements of the customers. 23

3. Fair Multipath Flow Allocation

3.2 Fairness-eciency Trade-o Ecient network utilization is essential to avoid overdimensioning the network hence network operator are more concerned about network eciency. It is also important to measure the network eciency for network planning. However, the actual utilization of the network resources is hard to measure as it changes rapidly over time hence is not easy to predict conclusively. Nevertheless predicting the network utilization is a crucial step to optimize the network and is therefore important both from operations point of view as well as cost saving [22]. There are two ways to observe network eciency: the link view and the ow view. Link eciency refers to the ratio of the allocated resources to the capacity of that link. On the other hand ow view considers aggregated ow capacity maximization. Traditionally link eciency is the main parameter to describe network utilization [22]. However, link utilization does not necessarily reect network performance and also neglect the ow perceptive so it is important to consider both the link and ow utilization at the same time. Though fairness and eciency both are very important metric for resource allocation, it is not always possible to acquire both at the same time. As a result it is common to trade-o between fairness and eciency. Dierent network operator may have their own choice of this trade-o: one may emphasis more on fairness and others on eciency. Consider the concept of α − f airness to relate between fairness and eciency. An allocation is said to be α−f air if no ow receives less than α times its fair allocation for 0 ≤ α ≤ 1 [42]. Consider the scenario in g. 3.1 to understand network utilization both for link and ow view as well as the relation with fairness. The network composed of three nodes a, b and c and two links (a,b) and (b,c). All links are assumed identical in length and the capacity on each link is unity. Assume that two end-to-end demands (a,c) and (b,c) exist in the network. Now if there is no fairness criterion and if eciency is the only performance metric then ow (a,c) will be assigned to the full link capacity of the link (a,b) and link (b,c) as it it utilizes both of the links and ow (b,c) will be nullied. It satisfy maximum resource utilization as well as ow view eciency as it is not possible to maximize the total allocated ow further. On the other hand if ow (a,c) is nullied and ow (b,c) gets the rate of the total (b,c) link capacity, the network is less utilized than previous case though the ow allocation is same.

Figure 3.1: Fairness vs eciency example Now if the allocation follows the max-min fairness criterion then each of the ows (a,c) and (b,c) will be assigned to the rate of 1/2. Assuming all links are equal, this will mean that the utilization is 3/4 as link (b,c) is fully utilized and link ab is only half utilized. However, if we relax the fairness constraint to α-fairness then for maximum link utilization ow (b,c) will be assigned the rate of α/2 and ow (a,c) will be assigned to 1 − α/2. This will lead to total utilization of 1 − α/4 [42]. 24

3.3. Multipath Transport Protocol Fairness

Figure 3.2: Fairness-eciency curve [42]

3.3 Multipath Transport Protocol Fairness Transmission control protocol (TCP) is the core transmission protocol for the trac based on best eort services. Some real time applications which are less critical to transmission delays such as video streaming also use TCP as the transmission protocol. Today's Internet is dominated by single path TCP [35]. So the common denition of fairness in the Internet is called TCP friendliness. TCP friendliness means TCP compatible ows which are responsive to congestion notication and use same amount of bottleneck capacity that a TCP ow uses [14]. Thus a transport layer protocol is said to be fair if capacity distribution complies with the TCP streams. Being a connection oriented reliable protocol, the performance of TCP is highly dependent on round trip time (RTT). Resource allocation between multiple TCP connections are higly dependent on network delay conditions. Flows with higher RTT are not able to achieve same throughput sharing the same bottleneck links with other ows with lower RTT. This is caused by the sliding windows algorithm adopted by TCP. So for fairness measures between multiple TCP session, a comparable condition is essential. In a comparable condition, during congestion the bottleneck link capacity (resource) is shared equally by the competing ows (participants). Equal bottleneck resource distribution between competing ows can be called as Bottleneck Flow Fair (BFF) allocation [7]. With the emergence of multipath transport protocol like CMT-SCTP and MPTCP, facilitating simultaneous use of multiple paths for the multi-homing capable endpoints, a multipath ow are able to achieve higher throughput than a single path session. Because of simultaneous utilization of multiple paths, a multipath ow can have several subows. In any standard TCP congestion control method (e.g. New Reno), each subow is equivalent to a single path TCP ow. So a single path TCP ow can be considered as single subow. In that case, bottleneck capacities are shared fairly (equally) among the competing subows. This fairness mechanism is said to be the Bottleneck Subow Fair (BSF) allocation as the bottleneck resource is shared fairly among the competing participants (subows) [7]. The multipath transport standardization group at the IETF suggested that the principle of designing a multipath transport layer protocol should be "do no harm" to a existing single path ow [18]. However, Bottleneck Subow Fair (BSF) is aggressive when more than one subow of a ow share the same bottleneck with a single path ow. For example if two subows of a multipath ow share the same bottleneck link with a single path 25

3. Fair Multipath Flow Allocation ow, the multipath ow receives twice capacity in contrast to the single path ow. In that case, Bottleneck Flow Fair (BFF) is probably the desired solution as both the multipath ow and the single path ow will receive equal share from the bottleneck link irrespective of number of subows present on that bottleneck link. To achieve Bottleneck Flow Fair (BFF) allocation, all subows from a ow on a shared bottleneck link should not get a combined share more than a single path ow can get from that link. Dynamic Window Coupling (DWC) and it's variant have been proposed to achieve bottleneck ow fair allocation [21][37]. Dynamic Window Coupling algorithm couples the subows congestion window belonging to the same ow sharing the same bottleneck link. Because of having multiple subows, a ow might have multiple bottlenecks. In that case, the aggregated allocation is not limited by single bottleneck. Also subows belonging to a specic ow might experience dierent degree of congestion in their respective paths. Subows with higher degree of congestion might inuence overall performance of multipath ows. Resource Pooling (RP) algorithm exploits the idea of pooling whole network resources as a single pooled resource for shifting trac from more congested paths to less congested path and balancing the load between participants [41]. The consequences of balancing the load between participants using resource pooling based congestion control are decreased overall network congestion, increased eciency and reliability [34]. The idea of resource pooling brings the new fairness aspect of using whole network capacity as the resource and ows as participant. This fairness mechanism is called as Network Flow Fair (NFF) allocation. In network ow fair allocation, the whole network capacity is allocated fairly between all the ows that exist in the network. Based on resource pooling principle, several congestion control algorithms have been proposed such as Linked Increases Algorithm (LIA) [33], Opportunistic Linked Increases Algorithm (OLIA) [25] or Adapted OLIA [37] for MPTCP and Resource Pooling Multipath version 2 (RP-MPv2) for CMT-SCTP [17].

3.4 Alternative Fairness denitions for Multipath Transport Issues related to current fairness methods have been described in previous works [7] [8] [11]. In order to deal with those issues fairness methods based on new participants which not only tackle the transport layer fairness but also consider the higher layer aspect have been proposed in [7]. For multipath ows it is highly likely that not all the corresponding subows have the same end locator. A new fair allocation method based on locator can be achieved where each locator get the fair share of the resource (network/bottleneck). For Network Locator Fairness (NLF) all the (sub)ows initiated from the same locator are coupled together and for Bottleneck Locator Fairness (BLF) all (sub)ows that share the same bottleneck and locator are coupled together even if they belong to dierent ows. A user may use multiple taris, e. g. one for LTE and one for WLAN. Now-a-days operators also provides facility of using same tari in multiple devices through partner sim card. Fair allocation method based on tari can be achieved by distributing bottleneck/network capacity fairly among dierent taris. Thus, Network Tari Fairness (NTF) coupling all the (sub)ows initiated from the same tari and being part of the same network and Bottleneck Tari Fairness (BTF) is based on coupling all (sub)ows that share the same bottleneck and tari. However, dierent tari oers dierent capacity access on a link. In order to exploit this feature, a weighting factor can be used. In that case each tari 26

3.4. Alternative Fairness denitions for Multipath Transport is assigned to a capacity share from the bottleneck/network capacity proportional to its weighting factor. In addition weighting factors can be introduced by other participants as well e. g. by ows to prioritize dierent types of applications or subows to prioritize an interface. Considering source node as the participant fairness can be achieved where all the ows or subows initiated from the same source are coupled together. For Bottleneck Source Fair (BSrF) ows or subows initiated from the same source and sharing the same bottleneck link are coupled together. In Network Source Fair (NSrF) ows or subows inside the same network and initiated from the same source. A user may have multiple devices and may access the network from multiple devices simultaneously. Fairness can be dened considering user as a participant where all ows or subows are coupled together. Depending on the resource Network User Fair (NUF) and Bottleneck User Fair (BUF) can be achieved. A complete list of fair allocation methods based on dierent resources and participants have been listed in table 3.1. Table 3.1: Overview of dierent fair capacity allocation [7] Resources/Participants Subow Flow Tari Locator Source User

Network Network Network Network Network Network Network

(N) Subow Fair (NSF) Flow Fair (NFF) Tari Fair (NTF) Locator Fair (NLF) Source Fair (NSrF) User Fair (NUF)

27

Bottleneck Bottleneck Bottleneck Bottleneck Bottleneck Bottleneck Bottleneck

(B) Subow Fair (BSF) Flow Fair (BFF) Tari Fair (BTF) Locator Fair (BLF) Source Fair (BSrF) User Fair (BUF)

3. Fair Multipath Flow Allocation

28

4 Mathematical Model for Fair Multipath Flow Allocation Theoretical analysis of fair allocation methods is required to understand the impact of different allocation methods independent where and how a allocation method can be deployed [35]. Among all the fair allocation method dened in previous chapter bottleneck subow fair, bottleneck ow fair and network ow fair express the behavior of implemented transport layer protocol for multipath transfer. It can be seen in [7] even for a simple scenario nding the theoretical allocation or network capacity is not a obvious task. In this chapter, mathematical model has been presented to analysis the impact of bottleneck subow fair, bottleneck ow fair and network ow fair allocation in dierent network scenario. This chapter consist of (non-)linear optimization formulation in order to deal with fair capacity allocation problem.

4.1 Multicomodity Flow Model Let, G = (V,A) is the directed graph representing the network where V is the set of nodes and A is the set of links. cij ≥ 0 is the capacity of the link (i,j) ∈ A and K be the set of elastic demands for each source-destination pairs (s,t) ∈ K . For bandwidth allocation optimization problem, ϕst is the end-to-end capacity allocation vector for each pair (s,t) ∈ K and fijst is the allocation for the ow (s,t) ∈ K in the link (i,j) ∈ A. xst ij is the binary variable which is 1 if the link (i,j) ∈ A is in the path for st which is 1 if the link (i,j) ∈ A the ow (s,t) ∈ K . Consider another binary variable yij is fully utilized for the ow (s,t) ∈ K [10]. Also consider snd_intst is the number of interfaces connected to the each sending node s for each ow (s,t) ∈ K . Finally, the variable rcv _intst counts the number of incoming paths at the destination t that is used for each ow (s,t) ∈ K .

rcv _intst =

X

xst jt

∀(s,t) ∈ K

(4.1)

(j,t)∈A

4.2 Mathematical Model for Multipath Flow Allocation Multipath ow allocation model seeks the solution of allocating capacities to the ows utilizing whole network capacity. As discussed earlier ecient network utilization and fairness may not be achieved always at the same time. The model of allocating ows utilizing whole network capacity is known as Max-ow allocation among the researchers. The goal is to derive a mathematical model that allocates ow capacities achieving maximum aggregated allocation for a given demand-network scenario. The developed model should be able to deal with multipath ows as well as single path ows. A multipath ow can be seen as several single path ows which is termed as subows for corresponding multipath ow. However, the maximum number of subows that can be created for a ow is dependent on the number of interfaces of the source and destination and the topological interlinks between them. Practically, a transport protocol can create subow for each source-destination interface pair provided there is connectivity between them. For example, the maximum number of subow that can be created between host A 29

4. Mathematical Model for Fair Multipath Flow Allocation

(a) 2-source & 2-destination interfaces

(b) 2-source & 1-destination interfaces

(c) 1-source & 2-destination interfaces

(d) 1-source & 1-destination interfaces

Figure 4.1: Possible number of subows for multipath transport and host B in g. 4.1a is four as both the host has two interfaces connected to the mesh network. But in g. 4.1b and g. 4.1c, it is only possible to have maximum two subows because of only two possible sets of source-destination interface connectivity. However, in g. 4.1d, it is not possible to have a multipath connection because both the sender and receiver has only one interface connected to each other even though they are connected with a mesh network. For this case, though the ow has multiple routing paths, it is only possible to allocate capacity in one path. For g. 4.1a it is possible to create two subows only neglecting the cross connection between the interfaces. The Multipath TCP working group facilitates both the cases in their implementation of multipath TCP in Linux operating system. The group has developed a module to control the subows creation considering source and destination interfaces addresses. One has to enable path-managers module through "MPTCP: advanced path-manager control" in compilation time and then in runtime "sysctl" can be used to congure the correct path manager[5]. The mathematical model needs to comply with the practicality of subow creation. It is also important to identify the subows for each ow to interlink subow bottlenecks with the individual subow and later on use it for fair capacity allocation model. Let, A be the aggregated allocation for the ows and no_of _pathst i counts the number of path used by the ow (s,t) ∈ K from the node i. Also consider β is a constant factor and the value of the β must be much higher than the aggregated allocation A.

Aggregated allocation of all ows : X

A=

(4.2)

ϕst

(s,t)∈K

no_of _pathst i =

X

xst ij

∀i ∈ V, (s,t) ∈ K

(4.3)

(i,j)∈A

The objective function in eq. 4.4 along with all the constraints described in this section provides the maximum ow allocation.

Max-ow allocation objective: maximize : A

(4.4)

Flow conservation constraint [10]: The net amount of incoming ow is equal to the net amount of outgoing ow at every node except the source and destination node for each 30

4.2. Mathematical Model for Multipath Flow Allocation end-to-end session. At any time the ow conservation constraint is satised at every node.  st if i = s  ϕ X X st −ϕst if i = t ∀i ∈ V, (s,t) ∈ K (4.5) fji = fijst −  0 else (j,i)∈A (i,j)∈A

Capacity limitation constraints [10]: As the link capacity is limited, the aggregated ow allocation for each link can not be greater than the capacity of that link. X

fijst ≤ cij

∀(i,j) ∈ A

(4.6)

(s,t)∈K

Equation 4.7 encloses the relation between the capacity of a link, link usability and the ow allocation on that link. If the link (i,j) ∈ A is on the path for the ow (s,t) ∈ K then the capacity allocation for the ow (s,t) ∈ K on the link (i,j) ∈ A can not be larger than the capacity of that link. However, if the link (i,j) ∈ A is not on the path for that ow, the capacity allocation of the ow on that link can not be greater than 0.

fijst ≤ cij xst ij

∀(i,j) ∈ A, (s,t) ∈ K

(4.7)

Path constraints: The path constraints limit the number of paths that can be used from

a specic node to reach out to a specic destination. This constraint (Eq. 4.8) is also used to limit number of subows that are created for a specic session. Eq. 4.9 links the relationship between ow allocation on a specic link for a specic session and the link usability for that ow. If the ow (s,t) ∈ K does not get any allocation on (i,j) ∈ A then the path variable should be zero for that ow on that link i,e xst ij = 0. In other word, the ow should take some capacity from the link if the ow is routed through that link.

X

st st xst ij ≤ snd_int · rcv _int

∀i ∈ V, (s,t) ∈ K

(4.8)

(i,j)∈A st xst ij ≤ β · fi,j

∀i,j ∈ A, (s,t) ∈ K

(4.9)

Multipath ow identier constraints:

A set of constraints has been introduced to identify whether the ow (s,t) ∈ K is a multipath ow or a single path ow. A ow should be identied as a multipath ow if the ow uses two paths to reach its destination. Let, f low_typest is a binary variable that identies whether the ow (s,t) ∈ K is a single path ow or multipath ow. f low_typest = 1 if the ow (s,t) ∈ K is a multipath ow otherwise it is 0. Also consider a helping binary variable f low_id_binst i which is 1 if from any node i the ow (s,t) ∈ K takes atleast one path otherwise it is 0. In other word, f low_id_binst i = 1 only if the node i is on the path for the ow (s,t) ∈ K . The variable no_of _pathst i (eq. 4.3) counts the number of path that has been used from a certain node i for the ow (s,t) ∈ K . Eq. 4.10 sets the helping variable f low_id_binst i = 0 if the the ow (s,t) ∈ K does not take any path from the node i and eq. 4.11 makes f low_id_binst i = 0 if the ow (s,t) ∈ K takes atleast one route from the node i. Eq. 4.12 makes sure that the variable f low_typest = 0 if the ow (s,t) ∈ K does not take multipath from any node i. Eq. 4.13 identies the multipath ow i,e f low_typest = 1 if the ow (s,t) ∈ K takes multipath from any node i. st f low_id_binst i ≤ no_of _pathi

31

∀i ∈ V, (s,t) ∈ K

(4.10)

4. Mathematical Model for Fair Multipath Flow Allocation

st β · f low_id_binst i ≥ no_of _pathi

f low_typest ≤

∀i ∈ V, (s,t) ∈ K

X st (no_of _pathst i − f low _id_bini )

∀(s,t) ∈ K

(4.11) (4.12)

i∈V

β · f low_typest ≥

X

st (no_of _pathst i − f low _id_bini )

∀(s,t) ∈ K

(4.13)

i∈V

Multipath subow identication constraints: Let, sf _idstohij is a binary variable that

identies subow (o,h) ∈ A on link (i,j) ∈ A for the ow (s,t) ∈ K . The binary variable sf _idst ohij = 1 if there exists a subow (o,h) ∈ A on link (i,j) ∈ A for the ow (s,t) ∈ K . There is no subow for the single path ow (s,t) ∈ K so sf _idst ohij = 0. Eq. 4.14 implies that there can not be a subow on link (i,j) ∈ A for the ow (s,t) ∈ K i,e sf _idst ohij = 0 if st the ow (s,t) ∈ K does not use (xij = 0) that link. Eq. 4.15 generates atleast one subow for the multipath ow (f low_typest = 1) (s,t) ∈ K on the link (i,j) ∈ A if the multipath ow (s,t) ∈ K uses that path. Eq. 4.16 makes sure that for the subow (o,h) ∈ A the subow identier sf _idst ohij is not set to more than one link from a certain node i for the ow (s,t) ∈ K . st sf _idst ohij ≤ xij

X

∀h 6= s, (o,h) ∈ A, (i,j) ∈ A, (s,t) ∈ K

st st sf _idst ohij ≥ xij + 1 − f low _type

∀h 6= s, (i,j) ∈ A, (s,t) ∈ K

(4.14) (4.15)

(o,h)∈A

X

sf _idst ohij ≤ 1

∀i ∈ V, i 6= t, h 6= s, (o,h) ∈ A, (s,t) ∈ K

(4.16)

(i,j)∈A st which is 1 if there exists a subow (o,h) ∈ A on link Consider a helping binary variable zoh st (o,h) ∈ A for the ow (s,t) ∈ K . zoh identies the subow (o,h) ∈ A for the ow (s,t) ∈ K not considering the routing path for the subow. So, the information through which links st which can be found through subow the subow is routed can not be identied from zoh identier sf _idst ohij . st = sf _idst zoh ohoh

∀h 6= s, (o,h) ∈ A, (s,t) ∈ K

(4.17)

Eq. 4.18 initializes the variable sf _idst ihih to zero if the ow does not split into subows from node i. In other words, eq. 4.18 restricts subow creation from a node if the ow does not take multiple path from that link. Eq. 4.19 signies that if there is no subow st = 0, the subow identier sf _idst (o,h) ∈ A for the ow (s,t) ∈ K i,e the zoh ohij should be set to zero for any link (i,j) ∈ A. Once a subow is initialized from a certain node i,e sf _idst ohij is set to 1, eq. 4.20 extends the subow id over the path it takes to reach the destination. Eq. 4.20 ensures that if there is a incoming subow (o,h) ∈ A on link (i,j) ∈ A to any node j which is not a source or destination node, the subow (o,h) ∈ A also exists on the link (j,m) ∈ A to complete the subow path. st st sf _idst ihih ≤ no_of _pathi − f low _id_bini

st zoh ≥ sf _idst ohij

∀i ∈ V, h 6= s, (i,h) ∈ A, (s,t) ∈ K (4.18)

∀h 6= s, (o,h) ∈ A, (i,j) ∈ A, (s,t) ∈ K 32

(4.19)

4.2. Mathematical Model for Multipath Flow Allocation

X (i,j)∈A

sf _idst ohij =

X

sf _idst ohjm

∀j ∈ V, j 6= s, j 6= t, h 6= s, (o,h) ∈ A, (s,t) ∈ K

(j,m)∈A

(4.20) So far all above equations only limit the unexpected subow creation but do not give any information about the maximum number of subows that can be created for a ow. It is very important to map the subow id sf _idst ohij to exact number of expected subow depending on the demand-network scenario. For that purpose, consider a variable spliting _nodest which counts the total number of paths used by the ow (s,t) ∈ K .

spliting _nodest = 1 +

X st (no_of _pathst i − f low _id_bini )

∀(s,t) ∈ K

(4.21)

i∈V

Eq. 4.22 limits the total number of paths for the ow (s,t) ∈ K depending on the source and destination interfaces. A ow can not take more paths than the multiplication factor between the number of interferes of the source and destination.

spliting _nodest ≤ snd_intst · rcv _intst

∀(s,t) ∈ K

(4.22)

Consider a helping variable n_sf st to map the total number of subow to the total number of paths used for a multipath ow. n_sf st counts the total subows for the ow P number of st st when (s,t) ∈ K . Eq. 4.23-4.25 results spliting _nodest = sf _ id ijij = n_sf (i,j)∈A f low_typest = 1 which means for a multipath ow, the number of subows are exactly equal to the total number of paths used by that multipath ow.

X

spliting _nodest ≤

st sf _idst ijij + 1 − f low _type

∀(s,t) ∈ K

(4.23)

(i,j)∈A

1 − f low_typest + n_sf st ≤ spliting _nodest X

st sf _idst ijij ≤ n_sf

∀(s,t) ∈ K

∀j 6= s, (s,t) ∈ K

(4.24) (4.25)

(i,j)∈A

Eq. 4.26-4.28 helps to avoid unnecessary subow creation when the source as well as the destination has one interfaces only. The equations also make sure that only one subow can be created using one source-destination interface pair. Eq. 4.26 means that for the ow (s,t) ∈ K , both subows (m,n) ∈ A and (m,p) ∈ A can not be created from the node m using the same source interface (s,j) ∈ A and destination interface (i,t) ∈ A pair. Eq. 4.27 implies that there can not be two incoming subows (m,p) ∈ A and (o,p) ∈ A on the link p for the ow (s,t) ∈ K using the same source interface (s,j) ∈ A and destination interface (i,t) ∈ A pair. Eq. 4.28 refers both subows (m,p) ∈ A and (o,n) ∈ A can not be created from two dierent node using the same source interface (s,j) ∈ A and destination interface (i,t) ∈ A pair for the ow (s,t) ∈ K . st st st sf _idst mnsj + sf _idmpsj + sf _idmnit + sf _idmpit ≤ 3

∀i ∈ V, j ∈ V, (i,t) ∈ A, (s,j) ∈ A, (m,n) ∈ A, (m,p) ∈ A, n 6= p, (s,t) ∈ K st st st sf _idst opsj + sf _idmpsj + sf _idopit + sf _idmpit ≤ 3

∀i ∈ V, j ∈ V, (i,t) ∈ A, (s,j) ∈ A, (o,p) ∈ A, (m,p) ∈ A, o 6= m, (s,t) ∈ K 33

(4.26)

(4.27)

4. Mathematical Model for Fair Multipath Flow Allocation

st st st sf _idst onsj + sf _idmpsj + sf _idonit + sf _idmpit ≤ 3

∀i ∈ V, j ∈ V, (i,t) ∈ A, (s,j) ∈ A, (o,n) ∈ A, (m,p) ∈ A, o 6= m, n 6= p, (s,t) ∈ K (4.28) Congested links identier constraints for ows: It is intuitive to fully utilize the links to increase the overall network utilization as well as to increase the aggregated capacity allocation to the ows. Equation 4.29 implies that there exist atleast one congested link for each ow. Equation 4.30 makes sure that the link identied to be congested is fully utilized i.e, the ow allocations uses the full capacity. If the link (i,j) ∈ A is congested st = 1) for the demand (s,t) ∈ K , the sum of allocated capacity to the ows sharing the (yij link (i,j) ∈ A is equal to the capacity of the link (i,j) ∈ A. It has already been concluded that the aggregated ow allocation on a link cannot be larger than the capacity of that st link. Eq 4.31 relates the two binary variable xst ij and yij . It expresses that the link (i,j) ∈ A can be on the path for the ow (s,t) ∈ K even though the link (i,j) ∈ A is not fully utilized. It also ensures that the identied bottleneck link (i,j) ∈ A for the ow (s,t) ∈ K is on the st can be 1 only when xst = 1. allocated path of the ow (s,t) ∈ K i.e., yij ij X

st yij ≥1

∀(s,t) ∈ K

(4.29)

(i,j)∈A

X

st fijod ≥ cij yij

∀(i,j) ∈ A, (s,t) ∈ K

(4.30)

(o,d)∈K st yij ≤ xst ij

∀(i,j) ∈ A, (s,t) ∈ K

(4.31)

Congested links identier constraints for multipath subows: Each subow of a

ow can be seen as individual single path ow, so each subow should be a part of atleast one congested link. However, multiple subows of a ow can be congested on the same link. st which To identify the congested link for a subow, consider a binary variable sf _bneckohij is 1 if the subow (o,h) ∈ A of the ow (s,t) ∈ K is congested on link (i,j) ∈ A. Eq. 4.32 refers that the link (i,j) ∈ A can be identied as congested link for the subow (o,h) ∈ A of the ow (s,t) ∈ K only if the subow (o,h) ∈ A exists on that link. Eq. 4.33 makes sure that atleast one congested link (i,j) ∈ A for the subow (o,h) ∈ A of the ow (s,t) ∈ K . Eq. 4.34 implies that the subow (o,h) ∈ A of the ow (s,t) ∈ K can not be congested on st (i,j) ∈ A if the ow (s,t) ∈ K itself is not congested on that link i,e sf _bneckohij =0 st when yij = 0. st sf _bneckohij ≤ sf _idst ohij

X

∀h 6= s, (o,h) ∈ A, (i,j) ∈ A, (s,t) ∈ K

st st sf _bneckohij ≥ zoh

∀h 6= s, (o,h) ∈ A, (s,t) ∈ K

(4.32) (4.33)

(i,j)∈A st st sf _bneckohij ≤ yij

∀h 6= s, (o,h) ∈ A, (i,j) ∈ A, (s,t) ∈ K

st st β · (1 − f low_typest ) + sf _bneckohij ≥ yij − β · (1 − sf _idst ohij )

∀h 6= s, (o,h) ∈ A, (i,j) ∈ A, (s,t) ∈ K 34

(4.34)

(4.35)

4.2. Mathematical Model for Multipath Flow Allocation

4.2.1 Bottleneck Subow Fair Allocation (BSF) Bottleneck Subow Fair (BSF) allocation considers bottleneck capacities as resources and subows as the participants. An allocation is said to be the bottleneck subow fair if all the competing subows get equal share from the respective shared bottleneck links. In bottleneck subow fair, all the subows act as individual single path ow on the bottleneck links. Consider the following network scenario in g. 4.2. There are 6 nodes a, b, c, d, e and m and two ows (a,e) and (m,e) inside the network. All the link capacities are given in Mbps. Multipath ow (a,e) has two subows (a,b,d,e) and (a,c,d,e) in this scenario. Both subows share the same bottleneck link (d,e) with the single path ow (m,e). So for bottleneck subow fair allocation each subow should get equal allocation as the single path (10 Mbps) ow on the bottleneck link (d,e). This corresponds the ow allocation (a,e) = 20 Mbps and (m,e) = 10 Mbps.

Figure 4.2: Bottleneck subow fair example In order to formulate bottleneck subow fair allocation, let mst is the end-to-end capacity allocation to a multipath ow (s,t) ∈ K . mst = 0 if the ow (s,t) ∈ K is a single path ow. In contrast to mst , ϕst provides the end-to-end allocation to any ow (s,t) ∈ K irrespective st whether the ow is a single path ow or a multipath ow. Let, sfohij is the allocation of st =0 the subow (o,h) ∈ A on the link (i,j) ∈ A for the multipath ow (s,t) ∈ K . sfohij if the ow (s,t) ∈ K is a single path ow as there is no subow for a single path ow. The variable M provides the aggregated allocation of all the multipath ows (no single path ows) for a given demand-network scenario where as variable A is the aggregated allocation of all the ows (multipath + single path) for that scenario.

Aggregated allocation of all multipath ows : M=

X

mst

(4.36)

(s,t)∈K

Consider the following two objective functions (BSF-I and BSF-II) for bottleneck subow fair allocation. Objective function BSF-I (eq. 4.37) maximizes the aggregated allocation of all the ows. Though multipath routing is an option, there is no constraint that ensures of using multiple paths for multipath capable ows. The constraint sets allow to create subows according to the available paths for a specic ow and the objective function decides whether to use multipath or not to have the optimum solution. Though objective function BSF-I provides an maximized theoretical allocation, use of multiple paths are not ensured for multipath capable ows. However, BSF-I will surely use multipath when using 35

4. Mathematical Model for Fair Multipath Flow Allocation multipath increases the aggregated allocation. But in many cases, when multiple optimum solution exists, the model with objective function BSF-I might end up giving only single path solution though some ows are multipath capable. However, practical transport layer protocol corresponds to the bottleneck subow fair allocation (e.g. New Reno) make sure of using multipath for multipath capable ows. Objective function BSF-II makes sure of using multiple paths for all the multipath capable ows which maps the behavior of practical transport layer protocol. However, with objective function BSF-II, in some cases specially when a subow shares multiple bottleneck links with dierent (sub)ows, guaranteed multipath usage might hamper the allocation of all those competing (sub)ows. This will reduce the aggregated allocation compared to the objective function BSF-I.

BSF-I : maximizes the aggregated allocation of all ows maximize : A

(4.37)

BSF-II : maximizes the aggregated allocation of all ows ensuring multipath maximize : A + β · M

(4.38)

where β is the constant multiplication factor to prioritize the use of multiple paths. Imposing both the objective functions BSF-I and BSF-II inside the same network scenario for bottleneck subow fair allocation impact on the aggregated allocation can be seen in g. 4.3 and g. 4.4. There are three ows (a,e), (m,d) and (d,n) inside the network. All the link capacities are given in Mbps. Links (a,b), (c,d) and (d,e) are the bottleneck links for this demand-network scenario. In case of objective function BSF-II (g. 4.4) which ensures the use of multipath of the multipath capable ow (a,e), subow (a,c,d,e) of the ow (a,e) shares the bottleneck link (c,d) with the single path ow (m,d) and the bottleneck link (d,e) with the single path ow (d,n). So for bottleneck subow fair allocation, the capacity of the shared bottleneck links (c,d) and (d,e) are allocated equally among the competing subows (considering a single path ow as one subow). This implies the ow allocation of (a,e) = 15 Mbps, (m,d) = 5 Mbps and (d,n) = 5 Mbps with the aggregated allocation of 25 Mbps. It is clearly visible that the subow (a,c,d,e) is limiting two single path ows (m,d) and (d,n) to get higher allocation. Removing the subow (a,c,d,e) of the ow (a,e) would allow each single path ow (m,d) and (d,n) to get 5 Mbps more which would increase overall eciency. Bottleneck subow fair allocation with objective BSF-I (g. 4.3) increases the aggregated allocation by not utilizing multipath for the ow (a,e) in this scenario.

Figure 4.3: Bottleneck subow fair allocation with objective function BSF-I

Constraints for identifying the allocation of multipath ows: Objective function

BSF-II (eq. 4.38) uses the allocation of multipath ows (mst ), so it is important to identify the allocation mst of the multipath ow (s,t) ∈ K . ϕst is the allocation of any ow (s,t) ∈ K irrespective whether the ow is a multipath ow or a single path ow. Eq. 4.39 sets the 36

4.2. Mathematical Model for Multipath Flow Allocation

Figure 4.4: Bottleneck subow fair allocation with objective function BSF-II value of mst = 0 for the single path ow (s,t) ∈ K . Eq. 4.40 and Eq. 4.41 make sure that for the multipath ow (s,t) ∈ K , mst is the end-to-end capacity allocation for that ow i,e mst = ϕst when f low_typest = 1.

mst