130 55 3MB
English Pages 124 [119] Year 2021
SPRINGER BRIEFS IN COMPUTER SCIENCE
Dariusz Gasior
Resource Allocation for Software Defined Networks 123
SpringerBriefs in Computer Science Series Editors Stan Zdonik, Brown University, Providence, RI, USA Shashi Shekhar, University of Minnesota, Minneapolis, MN, USA Xindong Wu, University of Vermont, Burlington, VT, USA Lakhmi C. Jain, University of South Australia, Adelaide, SA, Australia David Padua, University of Illinois Urbana-Champaign, Urbana, IL, USA Xuemin Sherman Shen, University of Waterloo, Waterloo, ON, Canada Borko Furht, Florida Atlantic University, Boca Raton, FL, USA V. S. Subrahmanian, Department of Computer Science, University of Maryland, College Park, MD, USA Martial Hebert, Carnegie Mellon University, Pittsburgh, PA, USA Katsushi Ikeuchi, Meguro-ku, University of Tokyo, Tokyo, Japan Bruno Siciliano, Dipartimento di Ingegneria Elettrica e delle Tecnologie dell’Informazione, Università di Napoli Federico II, Napoli, Italy Sushil Jajodia, George Mason University, Fairfax, VA, USA Newton Lee, Institute for Education, Research, and Scholarships, Los Angeles, CA, USA
SpringerBriefs present concise summaries of cutting-edge research and practical applications across a wide spectrum of fields. Featuring compact volumes of 50 to 125 pages, the series covers a range of content from professional to academic. Typical topics might include: • A bridge between new research results, as published in journal articles, and a contextual literature review • A snapshot of a hot or emerging topic • An in-depth case study or clinical example • A presentation of core concepts that students must understand in order to make independent contributions Briefs allow authors to present their ideas and readers to absorb them with minimal time investment. Briefs will be published as part of Springer’s eBook collection, with millions of users worldwide. In addition, Briefs will be available for individual print and electronic purchase. Briefs are characterized by fast, global electronic dissemination, standard publishing contracts, easy-to-use manuscript preparation and formatting guidelines, and expedited production schedules. We aim for publication 8–12 weeks after acceptance. Both solicited and unsolicited manuscripts are considered for publication in this series. **Indexing: This series is indexed in Scopus and zbMATH **
More information about this series at http://www.springer.com/series/10028
Dariusz Gasior
Resource Allocation for Software Defined Networks
Dariusz Gasior Computer Science and Systems Engineering Wroclaw University of Science and Technology Wroclaw, Poland
ISSN 2191-5768 ISSN 2191-5776 (electronic) SpringerBriefs in Computer Science ISBN 978-3-030-59100-7 ISBN 978-3-030-59098-7 (eBook) https://doi.org/10.1007/978-3-030-59098-7 © The Author(s), under exclusive license to Springer Nature Switzerland AG 2020 This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
To my beloved Wife, Sons and Parents.
Contents
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Software Defined Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 OpenFlow Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Quality of Service in SDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Software Defined Wide Area Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Virtual SDN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Software Defined Information-Centric Networks . . . . . . . . . . . . . . . . . . . . . 1.7 Book Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 1 4 4 6 7 8 10 10
2
Basic SDNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Introduction to the Resource Allocation Problems in SDNs . . . . . . . . . 2.2 Basic Mathematical Model for SDNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Network Structure Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Resource Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Traffic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Quality of Service Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.5 Objective. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.6 Notation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Capacity Allocation Problem Formulation for Basic SDNs . . . . . . . . . . 2.4 Capacity Allocation Algorithms for Basic SDNs . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15 15 15 16 17 17 17 18 19 19 21 25
3
SD-WAN as Interdomain Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Introduction to Interdomain and Multi-Domain SDNs . . . . . . . . . . . . . . . 3.2 Mathematical Model for Interdomain SDNs . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Notation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Capacity Allocation Problem Formulation for Interdomain SDNs . . 3.4 Properties of the Capacity Allocation Game . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Capacity Allocation Algorithms for Interdomain SDNs . . . . . 3.4.2 Capacity Allocation Algorithms for Interdomain SDNs Without QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27 27 28 31 31 34 36 36 vii
viii
Contents
3.4.3
Capacity Allocation Algorithms for Interdomain SDNs with QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Simulation of Allocation Algorithm for Interdomain SDNs . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39 41 44
4
SD-WAN as Multi-Domain Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Mathematical Model for Multi-Domain Network . . . . . . . . . . . . . . . . . . . . 4.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Properties of Multi-Domain Capacity Allocation Game . . . . . . . . . . . . . 4.4 Capacity Allocation Algorithms for Multi-Domain SDNs . . . . . . . . . . . 4.4.1 Algorithm for PNE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Algorithm for Pareto-Optimal Solution . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Methods for Finding Other PNEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Simulation Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.2 Simulation Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Statistical Properties of the Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45 45 45 49 50 50 52 54 55 55 56 56 60
5
Virtual SDNs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Introduction to Virtual SDNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Mathematical Model for Virtual SDNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Capacity Allocation Algorithms for Virtual SDNs . . . . . . . . . . . . . . . . . . . 5.4.1 Augmented Lagrangian Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Heuristic Algorithm Based on Game-Theoretic Approach . . . . . . . . . . . 5.6 Simulation Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61 61 62 64 67 67 71 75 89
6
Multi-Domain Virtual SDNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Mathematical Model for Multi-Domain Virtual SDNs . . . . . . . . . . . . . . . 6.2 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Capacity Allocation Algorithm for Multi-Domain Virtual Software-Defined Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91 91 91
Information-Centric SDNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Introduction to Information-Centric SDNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Mathematical Model for Basic Software Defined Information Centric Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Problem Formulation for Resource Allocation in IC-SDN . . . . . . . . . . . 7.4 Resource Allocation Heuristic Algorithm for IC-SDN . . . . . . . . . . . . . . . 7.4.1 Initialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.2 Algorithm for Capacity Allocation Subproblem. . . . . . . . . . . . . . 7.4.3 Algorithm for Data Placement Subproblem . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99 99
7
95
100 102 104 106 106 106 106
Contents
8
ix
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
A Fundamentals of Game Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1 Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3 Basic Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
111 111 112 113
Chapter 1
Introduction
1.1 Software Defined Networks The software-defined network (SDN) is a concept of network technology which involves in decoupling two planes of network operation, namely the control plane and the data plane [16, 18, 21, 27, 34, 51]. While the first is responsible for the managing of network resources [24, 54], the latter [8, 44] only executes the determined decision by appropriately forwarding packets. This simple idea gives enormous possibilities. It is expected that the network performance may be significantly improved this way. The network monitoring and management should become easier and faster. The calculations behind network configuration may be performed in the other nodes than the one they concern. Particularly, the algorithms do not have to be executed in a distributed manner, instead, it is possible to optimise a network centrally. It also means that a network administrator manages the network as the single entity instead of on a device-by-device basis. But also, the SDN concept allows separation between software and hardware. While the software takes care of the control plane which determines where to send traffic, the hardware is only responsible for the data plane which consists of proper packet forwarding. Thus, on the one hand, the hardware compatibility should increase, but on the other hand, the new challenges arise concerning network management. In considering a basic SDN architecture, the three parts can be indicated: application, controller and network device as it is shown in Fig. 1.1. The process of data transmission begins when there is a resource request from the application. This passes to the controller, which determines how best to respond. An appropriate configuration of network devices may be required to enable adequate routing of the data throughout the whole network. Let us now explain the functioning of the architectural components in more detail.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2020 D. Gasior, Resource Allocation for Software Defined Networks, SpringerBriefs in Computer Science, https://doi.org/10.1007/978-3-030-59098-7_1
1
2
1 Introduction
Fig. 1.1 Basic concept of the SDN
• Application—programs that can take advantage of the opportunities which are offered by the SDN. To do so, they must be able to send the request concerning their network requirements to the SDN Controller. Such communication is performed via a so-called ‘Northbound’ interface. This interface is also used to send an abstract view of the network to the program. It enables better application management. • SDN Controller—a network entity that operates in the control plane. It is responsible for resource management based on the application requirements and the current state of the network. It also delivers an abstract view of the network to the application. It should be centralised or at least behave as if it were. Thus, in practice, it may be implemented as a set of controllers organised in different structures (e.g. hierarchical or distributed). As mentioned above the communication between application and controller takes place via the Northbound interface while the communication between controller and networking devices takes place via the ‘Southbound’ interface which is also referred to as CDPI—Control to Data Plane Interface. If many SDN Controllers behave like a central entity, communication takes place between them via ‘East-/Westbound’ interfaces. • SDN Networking Device—this is sometimes referred to as the SDN Datapath, and is a device that is responsible for executing the forwarding process according to the rules computed by the SDN Controller. Such devices communicate with the controllers assigned to them by the Southbound interface. There are four indicated SDN interfaces: Northbound, Southbound, Eastbound, and Westbound, as shown in Fig. 1.2. It is crucial for SDN that these interfaces are implemented in an open, vendor-neutral and interoperable way [5, 43]. There are some key proposals concerning SDN which should be taken into consideration: • • • •
centralised traffic control; automatic network device management and configuration; per-flow traffic control; Quality of Service at any level of traffic granulation—even per flow. The crucial SDN features are as follows [18]:
1.1 Software Defined Networks
3
Fig. 1.2 SDN interfaces
• it is programmable network—all the network configuration and optimisation is made by the programs, taking into consideration the whole network state; • system flexibility—the network configuration may be easily and quickly adjusted according to the current state and requirements which are changing continuously; • centrally managed—each SDN Controller should know the current state of the whole network; • based on open standards—the configuration of the network nodes is independent of device manufacturer. There are four main approaches to the realisation of the SDN concepts. While all are based on the assumption that the data flow is controlled in a centralised manner, they differ in practical implementation. The primary SDN model is based on open protocols like OpenFlow, used to control the switches and routers at the data plane level [43]. It is easy to implement in emerging networks, but other models should be introduced for existing infrastructures. So the second model is considered to enable programming interfaces using the devices vendor’s API. The third type of SDN uses the concept of virtual networks. So, the SDN becomes a virtual network embedded in the existing physical infrastructure. The last approach to the SDN is a combination of SDN nodes and traditional devices across one infrastructure. The SDN based part of the network gradually takes control of the traffic, so the standard network may migrate to the SDN step by step.
4
1 Introduction
1.2 OpenFlow Protocol The development of software-defined networking is possible thanks to the open protocols, which enable remote communication with network devices and setting their configuration concerning traffic control. The very first such protocol which created the fundaments for SDN was OpenFlow Protocol [28]. It was developed by the Open Networking Foundation (ONF) which now aims to promote the idea of software-defined networking. This organisation must unite the most important companies related to networking, such as Deutsche Telekom, Facebook, Google, Microsoft, Verizon, and Yahoo! A lot of network device manufacturers declared device support for OpenFlow, e.g. Alcatel-Lucent, HP, NEC, Radisys et al. However, for now, the OpenFlow protocol is not the only solution for SDN. Many companies have implemented their solutions like Cisco Systems’ Open Network Environment or Nicira’s network virtualisation platform. The OpenFlow’s main task is to enable the remote configuration of the forwarding plane in SDN switches and routers. It works in physical but also in a virtual environment as well. The primary purpose of this protocol is to support path determination. That is why it operates at layer 3 of the ISO/OSI model [46, 59]. It allows modifying forwarding tables in SDN devices by adding, updating or removing appropriate forwarding rules.
1.3 Quality of Service in SDN The performance of network services may be seen in terms of their behavior expected by a user. Once, we try to describe a service in terms of the values corresponding to the particular network parameters like packet loss, transmission delays, jitter, bit rate, et al., we refer to as Quality of Service [7]. Meanwhile, the qualitative and subjective description of the provided service concerning e.g. its utility is called Quality of Experience (QoE) [40]. The expectation concerning the quality varies with different types of service. We may propose the following classification of the modern network services which differs in QoS and QoE requirements [9]: • Telepresence: – – – –
teleconferences, videoconferences, messaging, remote control (machines and process), eHealth, eLearning, eGaming.
• Cloud services: – cloud storage (e.g. Dropbox, iCloud, Google Drive), – remote desktops (e.g. Citrix Xen Desktops, VMWare Views),
1.3 Quality of Service in SDN
5
– remote applications (e.g. MsOffice 365, Salesforce.com). • Content providing: – Static content providing (e.g. www), – Content streaming: audio (e.g. Spotify), video (e.g. Netflix) or games (e.g. Steam). Some of them are loss-sensitive (like e.g. cloud storage or static content providing) while the other is delay-sensitive (like e.g. teleconferences or videoconferences). The current network should take into consideration these requirements and assure adequate network configuration and provide appropriate network resources to serve the particular traffic flows related to the particular application. Otherwise, the users’ expectations may not be fulfilled and it may result in losses of the application owner. Recently, there were two well-known cases that the users’ demands were not met. The first was the premiere of the final episode of the 7th series of the Game of Thrones series in HBO GO video-on-demand service. On 19th June of 2016, about 15,000 users tried to view the episode and the service became out of order. The second case was the premiere of the “Pokemon GO” augmented reality game. At the very beginning of the game operation, it was impossible to play the game since it was hard even to log in. For now, the Ultra High Definition video streaming or augmented and virtual reality online are the so-called killer application for current networks due to their limitation in the possibility of the Quality of Service assuring. But the most crucial is to fulfill the requirements of autonomic driving and remote medical treatment (especially for using remotely controlled operation robots). The current Internet works on the best effort basis [20]. It means that it delivers as good service quality as it can regardless of actual demand. To ensure proper working, the network owners over-provision their resources such that even most demanding user’s met their expectation all the time. However, it usually means the waste of resources most of the time. Especially, such protocols like TCP tends to utilize the whole available resources. Which means, the QoS parameters of all transmission flows deteriorate. Moreover, there is still an insufficient amount of resources in the networks in comparison with the requirements. So it is crucial to efficiently manage the resource. Thus, the two approaches of QoS assuring are currently under consideration [30, 39, 53]: • Hard QoS [17], (e.g. Integrated Services, IntServ for short [42])—the QoS parameters of each transmission flow meet the given requirements (thresholds). Such a concept is hardly scalable and due to a great number of flows in the largescale networks almost impossible to be implemented. • Soft QoS [50] (e.g. Differentiated Services, DiffServ for short [32])—the QoS parameters for each type of transmission meet the given requirements. The number of transmission types (classes) is much lower than the number of flows. Usually, from a few to several classes are indicated. Furthermore, the number of classes does not depend on the number of flows, which means the solution
6
1 Introduction
is easily scalable. On the other hand, the QoS requirements are met for the aggregation of the flows of the same type, while the transmissions in aggregates are served in the best effort manner (without any guarantees). It means that for a particular transmission flow the quality constraints may be violated. The mechanisms enabling the QoS may be divided into the following groups: • admission control [31, 36, 38]—mechanisms that determine if there is a sufficient amount of resource to fulfill service needs and accepting or rejecting the transmission requests, • QoS routing [2, 52, 55]—methods that find the path (routes) with enough resource to serve the traffic with the acceptable values of the network parameters, • resource allocation [23, 37, 45]—mechanisms that are responsible for making appropriate resource reservation of accepted flows along the determined routes. There is number of algorithms which support the QoS in a single domain software-defined network, namely: HiQoS [57], ARVS [58] for QoS routing, NCL [6], FlowQoS [41] for resource reservation, OpenQFlow [25] for packet scheduling and OpenNetMon [48] for QoS network parameters monitoring. However, there is hardly any method of QoS guarantees for multi-domain SDN up to now. However, to properly assess the quality of the network service it is crucial to determine quality perceived by the end-user which we refer to as Quality of Experience (QoE). The perceived quality depends on the Quality of Service parameters like bit rate, transmission delays, jitter or loss probability.
1.4 Software Defined Wide Area Networks The idea of the Software-Defined Wide Area Networks (SD-WAN) emerged in 2014 [49]. Currently, it is one of the hot topic in network engineering [12]. It may be shortly defined as the extensions of the software-defined networking idea to the wide-area networks (WAN). Thus, it combines the well known WAN technologies with SDN concepts. The main advantage of this approach is that the interoperability between many network domains is transparent for the application. There are four fundamental requirements for SD-WAN defined by Gartner [13]: • supporting different connection types known in WANs, namely: MPLS, frame relay, LTE, etc.; • enabling easy and fast path switching for load balancing and resiliency purposes; • having easily managed interfaces; • supporting network virtualisation. It is expected that SD-WAN will be very flexible and easy to manage and configure. It is believed that the QoS supporting will be easier while the overall performance will increase, especially thanks to real-time dynamic traffic control.
1.5 Virtual SDN
7
Fig. 1.3 Exemplary structure of the centralized SD-WAN
Fig. 1.4 Exemplary structure of the decentralized SD-WAN
SD-WANs may be seen as a set of interoperating networks. Usually, each of the networks has its controller but the whole SD-WAN should operate as though it has the one SDN controller (see Fig. 1.3). Thus even there is no central entity which manages the system, each of local SDN controller should communicate with others to obtain the network state and to be able to configure networks for particular application requirements as it is shown in Fig. 1.4. Such communication is performed with so-called East-/Westbound interfaces.
1.5 Virtual SDN The network virtualisation is the conception of creating parallel networks existing among one physical infrastructure [10, 11]. It means diving the resources of the network into separated entities called virtual networks that coexist but do not affect each other. The virtualisation process is supported by hardware as well as by software. The basic concept assumes that each virtual network created in this way is the subject of further virtualisation. It means that in the virtualisation process may appear hierarchical structures of overlapping networks as it is presented in Fig. 1.5. During the virtualisation, many nodes may be combined into one virtual node, but also in one network node may appear many virtual nodes connected.
8
1 Introduction
Fig. 1.5 Exemplary structure of the hierarchical virtual networks
It is very important that each virtual network may be based on the differ network paradigm. For example, the QoS network may exist in parallel to the InformationCentric Network among the same infrastructure. While the SDN concept is ready to operate in a virtual environment [14, 22], it may enable creating the virtual network on demand [35], e.g. for specific application usage. The example of such utilization of the virtualisation is depicted in Fig. 1.6. We have a physical network with three end nodes attached as it is presented in Fig. 1.6a. The application scenario implies the necessity of establishing three connections, each for different purposes described in Fig. 1.6b. So, using the virtualisation paradigm, the virtual network presented in Fig. 1.6c may be created to perform the scenario. This virtual network may be created over the underlying network resources as it is depicted in Fig. 1.6d.
1.6 Software Defined Information-Centric Networks The classic approach to networking assumes that the transmission is made between two indicated nodes. Meanwhile, the Information-Centric Networking (ICN) [1, 19, 56] also referred to as Content-Aware Networking (CAN) [4] is an approach basing
1.6 Software Defined Information-Centric Networks Fig. 1.6 Exemplary scenario of the creation of virtual network on demand. (a) Physical network. (b) Virtual network request. (c) Virtual network. (d) Virtual network mapping on physical resources
9
10
1 Introduction
on the assumption that the connection is between a user and an information object (content) placed somewhere in the network. The same information object may be replicated among the whole network. It means that when the user declares which content they want to obtain but not from which node. It is the network task to find the best node containing the desirable data object and to establish an appropriate connection. The information-centric approach to the network of the future has recently been and is being explored by many research projects, in Poland (FIE [3]), in Europe (PSIRP [47], 4WARD [33]) and in the US (CCN [29], DONA [26]). While these approaches differ concerning their specific architecture, they share some assumptions, objectives and certain structuring architectural properties. Recently it has been noticed, that applying the SDN framework to support the ICN concept may significantly simplify the management and operating of the network [15]. Thus, a lot of works are devoted to developing the architecture called Software-Defined Information-Centric Networks.
1.7 Book Organization This book is devoted to the selected resource allocation problems in SoftwareDefined Networks and is organized as follows. In Chap. 2, the basic mathematical model for SDN is introduced. The problems presented in the next chapters are based on this model. In Chaps. 3 and 5, the multi-domain SDN is considered. This result applies directly to the SD-WANs. In Chap. 5 we introduce the resource allocation problem for virtual software-defined networks, while in Chap. 6 we extend this idea for multi-domain SDNs which utilizes the idea of virtualisation. Chapter 7 concerns the allocation problem for Information-Centric SDNs. Since most of the presented ideas utilise the Game Theory concepts, some basics of this formalism are given in Appendix A.
References 1. B. Ahlgren, C. Dannewitz, C. Imbrenda, D. Kutscher, B. Ohlman, A survey of informationcentric networking. IEEE Commun. Mag. 50(7), 26–36 (2012) 2. G. Apostolopoulos, D. Williams, S. Kamat, R. Guerin, A. Orda, T. Przygienda et al., QoS Routing Mechanisms and OSPF Extensions (1999). Technical report, RFC 2676 3. A. Beben, P. Wisniewski, P. Krawiec, M. Nowak, P. Pecka, J.M. Batalla, L. Lopatowski, Content aware network based on virtual infrastructure, in Proceedings of the 13th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (IEEE, New York, 2012), pp. 643–648 4. E. Borcoci, D. Negru, C. Timmerer, A novel architecture for multimedia distribution based on content-aware networking, in Proceedings of the 2010 Third International Conference on Communication Theory Reliability, and Quality of Service (IEEE, New York, 2010), pp. 162– 168
References
11
5. W. Braun, M. Menth, Software-defined networking using openflow: protocols, applications and architectural design choices. Future Internet 6(2), 302–336 (2014) 6. I. Bueno, J.I. Aznar, J. Escalona, E. nad Ferrer, J.A. Garcia-Espin, An opennaas based SDN framework for dynamic qos control, in Proceedings of the 2013 IEEE SDN for Future Networks and Services (SDN4FNS) (IEEE, New York, 2013) 7. A. Campbell, G. Coulson, D. Hutchison, A quality of service architecture. ACM SIGCOMM Comput. Commun. Rev. 24(2), 6–27 (1994) 8. C. Cascone, L. Pollini, D. Sanvito, A. Capone, Traffic management applications for stateful SDN data plane, in Proceedings of the 2015 Fourth European Workshop on Software Defined Networks (IEEE, New York, 2015), pp. 85–90 9. Y. Chen, T. Farley, N. Ye, QoS requirements of network applications on the internet. Inf. Knowl. Syst. Manage. 4(1), 55–76 (2004) 10. N.M.K. Chowdhury, R. Boutaba, Network virtualization: state of the art and research challenges. IEEE Commun. Mag. 47(7), 20–26 (2009) 11. N.M.K. Chowdhury, R. Boutaba, A survey of network virtualization. Comput. Netw. 54(5), 862–876 (2010) 12. M. Cooney, CISCO: 5 hot networking trends for 2020. https://www.networkworld.com/article/ 3505883/cisco-5-hot-networking-trends-for-2020.html. Accessed: 2020-02-10 13. M. Cooney, SD-WAN: what it means for enterprise networking, security, cloud computing. Network World (2019). https://www.networkworld.com/article/ 3031279/sd-wan-what-it-isand-why-you-ll-use-it-one-day.html. Accessed: 2020-02-10 14. D. Drutskoy, E. Keller, J. Rexford, Scalable network virtualization in software-defined networks. IEEE Internet Comput. 17(2), 20–27 (2012) 15. S. Eum, M. Jibiki, M. Murata, H. Asaeda, N. Nishinaga, A design of an ICN architecture within the framework of SDN. in Proceedings of the 2015 Seventh International Conference on Ubiquitous and Future Networks (IEEE, New York, 2015), pp. 141–146 16. H. Farhady, H.Y. Lee, A. Nakao, Software-defined networking: A survey. Comput. Netw. 81, 79–95 (2015) 17. I. Foster, M. Fidler, A. Roy, V. Sander, L. Winkler, End-to-end quality of service for high-end applications. Comput. Commun. 27(14), 1375–1388 (2004) 18. O.N. Fundation, Software-defined networking: the new norm for networks. ONF White Paper 2(2–6), 11 (2012) 19. A. Ghodsi, S. Shenker, T. Koponen, A. Singla, B. Raghavan, J Wilcox, Information-centric networking: seeing the forest for the trees, in Proceedings of the 10th ACM Workshop on Hot Topics in Networks (ACM, New York, 2011) 20. S. Gorlatch, T. Humernbrum, F. Glinka, Improving qos in real-time internet applications: from best-effort to software-defined networks, in Proceedings of the 2014 International Conference on Computing, Networking and Communications (ICNC) (IEEE, New York, 2014), pp. 189– 193 21. F. Hu, Q. Hao, K. Bao, A survey on software-defined network and openflow: from concept to implementation. IEEE Commun. Surv. Tutorials 16(4), 2181–2206 (2014) 22. R. Jain, S. Paul, Network virtualization and software defined networking for cloud computing: a survey. IEEE Commun. Mag. 51(11), 24–31 (2013) 23. D. Julian, et al., QoS and fairness constrained convex optimization of resource allocation for wireless cellular and ad hoc networks, in Proceedings of the Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE, New York, 2002) 24. M. Karakus, A. Durresi, A survey: control plane scalability issues and approaches in softwaredefined networking (SDN). Comput. Netw. 112, 279–293 (2017) 25. N.S. Ko, H. Heo, J.D. Park, H.S. Park, Openqflow: scalable openflow with flow-based QOS. IEICE Trans. Commun. 96(2), 479–488 (2013) 26. T. Koponen, M. Chawla, B.G. Chun, A. Ermolinskiy, K.H. Kim, S. Shenker, I. Stoica, A dataoriented (and beyond) network architecture. ACM SIGCOMM Comput. Commun. Rev. 37(4), 181–192 (2007)
12
1 Introduction
27. D. Kreutz, F. Ramos, P. Verissimo, C.E. Rothenberg, S. Azodolmolky, S. Uhlig, Softwaredefined networking: a comprehensive survey (2014). arXiv preprint:1406.0440 28. A. Lara, A. Kolasani, B. Ramamurthy, Network innovation using openflow: a survey. IEEE Commun. Surv. Tutorials 16(1), 493–512 (2013) 29. P. Mahadevan, E. Uzun, S. Sevilla, J.J. Garcia-Luna-Aceves. CCN-KRS: A key resolution service for CCN, in Proceedings of the 1st ACM Conference on Information-Centric Networking (ACM, New York, 2014), pp. 97–106 30. Z. Mammeri. Framework for parameter mapping to provide end-to-end qos guarantees in intserv/diffserv architectures. Comput. Commun. 28(9), 1074–1092 (2005) 31. M. Naghshineh, M. Schwartz, Distributed call admission control in mobile/wireless networks. IEEE J. Sel. Areas Commun. 14(4), 711–717 (1996) 32. K. Nichols, S. Blake, F. Baker, D. Black, RFC 2474: Definition of the differentiated services field (ds field) in the IPv4 and IPv6 headers. Obsoletes RFC1455 [47] (1998) 33. N. Niebert, S. Baucke, I. El-Khayat, M. Johnsson, B. Ohlman, H. Abramowicz, L.M. Correia, The way 4ward to the creation of a future internet, in Proceedings of the IEEE 19th International Symposium on Personal, Indoor and Mobile Radio Communications (IEEE, New York, 2008) 34. B.A.A. Nunes, M. Mendonca, X.-N. Nguyen, K. Obraczka, T. Turletti, A survey of softwaredefined networking: Past, present, and future of programmable networks. IEEE Commun. Surv. Tutorials 16(3), 1617–1634 (2014) 35. P. Papadimitriou, O. Maennel, A. Greenhalgh, A. Feldmann, L. Mathy, Implementing network virtualization for a future internet, in 20th ITC Specialist Seminar on Network Virtualization Proceedings (2009) 36. H.G. Perros, K.M. Elsayed, Call admission control schemes: a review. IEEE Commun. Mag. 34(11), 82–91 (1996) 37. R. Rajkumar et al. A resource allocation model for qos management, in Proceedings Real-Time Systems Symposium (IEEE, New York, 1997) 38. R. Ramjee, D. Towsley, R. Nagarajan, On optimal call admission control in cellular networks. Wireless Netw. 3(1), 29–41 (1997) 39. N. Rouhana, E. Horlait, Differentiated services and integrated services use of MPLS, in Proceedings of the Fifth IEEE Symposium on Computers and Communications (ISCC 2000) (IEEE, New York, 2000), pp. 194–199 40. R. Schatz, T. Hossfeld, L. Janowski, S. Egger, From packets to people: quality of experience as a new measurement challenge, in Data Traffic Monitoring and Analysis (Springer, New York, 2013), pp. 219–263 41. M.S. Seddiki, M. Shahbaz, S. Donovan, S. Grover, M. Park, N. Feamster, Y.Q. Song, FLOWQOS: QoS for the rest of US, in Proceedings of the Third Workshop on Hot Topics in Software Defined Networking (ACM, New York, 2014) 42. S. Shenker, J. Wroclawski, General Characterization Parameters for Integrated Service Network Elements (RFC 2215) (1997) 43. M.-K. Shin, K.-H. Nam, H.-J. Kim, Software-defined networking (SDN): A reference architecture and open APIS, in Proceedings of the 2012 International Conference on ICT Convergence (ICTC) (IEEE, New York, 2012), pp. 360–361 44. A. Sivaraman, K. Winstein, S. Subramanian, H. Balakrishnan, No silver bullet: extending SDN to the data plane, in Proceedings of the Twelfth ACM Workshop on Hot Topics in networks (ACM, New York, 2013), p. 19 45. W. Song et al., Resource management for qos support in cellular/wlan interworking. IEEE Netw. 19(5), 12–18 (2005) 46. A.S. Tanenbaum et al., Computer Networks, 4th edn. (Prentice Hall, New York, 2003) 47. S. Tarkoma, M. Ain, K. Visala, The publish/subscribe internet routing paradigm (PSIRP): designing the future internet architecture, in Future Internet Assembly (2009) 48. N.L. Van Adrichem, C. Doerr, F.A. Kuipers, Opennetmon: network monitoring in openflow software-defined networks, in Proceedings of the 2014 IEEE Network Operations and Management Symposium (NOMS) (IEEE, New York, 2014)
References
13
49. L. Vdovin, P. Likin, A. Vilchinskii, Network utilization optimizer for SD-WAN, in Proceedings of the 2014 International Science and Technology Conference (Modern Networking Technologies)(MoNeTeC) (IEEE, New York, 2014) 50. W.K. Wong, H. Zhu, V.C.M. Leung, Soft QOS provisioning using the token bank fair queuing scheduling algorithm. IEEE Wireless Commun. 10(3), 8–16 (2003) 51. W. Xia, Y. Wen, C.H. Foh, D. Niyato, H. Xie, A survey on software-defined networking. IEEE Commun. Surv. Tutorials 17(1), 27–51 (2014) 52. F. Xiang et al. QoS routing based on genetic algorithm. Comput. Commun. 22(15), 1392–1399 (1999) 53. X. Xiao, L.M. Ni, Internet QoS: a big picture. IEEE Netw. 13(2), 8–18 (1999) 54. J. Xie, D. Guo, Z. Hu, T. Qu, P. Lv, Control plane of software defined networks: a survey. Comput. Commun. 67, 1–10 (2015) 55. Q. Xue, A. Ganz, Ad HOC QoS on-demand routing (AQOR) in mobile ad hoc networks. J. Parallel Distrib. Comput. 63(2), 154–165 (2003) 56. G. Xylomenos, C.N. Ververidis, V.A. Siris, N. Fotiou, C. Tsilopoulos, X.C., Vasilakos, G.C. Polyzos, A survey of information-centric networking research. IEEE Commun. Surv. Tutorials 16(2), 1024–1049 (2013) 57. J. Yan, H. Zhang, Q. Shuai, B. Liu, X Guo, HIQOS: an SDN-based multipath QOS solution. China Commun. 12(5), 123–133 (2015) 58. T.F. Yu, K. Wang, Y.H. Hsu, Adaptive routing for video streaming with QOS support over SDN networks, in Proceedings of the 2015 International Conference on Information Networking (IEEE, New York, 2015) 59. H. Zimmermann, OSI reference model-the ISO model of architecture for open systems interconnection. IEEE Trans. Commun. 28(4), 425–432 (1980)
Chapter 2
Basic SDNs
2.1 Introduction to the Resource Allocation Problems in SDNs The network resource allocation tasks usually are formulated as optimization problems. When the whole network performance can be expressed in terms of the total utility, the network utility maximisation framework is often applied [13, 15]. For traditional networks, the obtained solution has to be implemented in a distributed manner [8, 17]. Unfortunately, it usually results in problems related to the convergence of algorithms [6]. Introducing the SDN concept has resulted in an increasing number of the network resource allocation schemas which can be now applied thanks to the centralised control of the traffic and the available global view of the network state [3, 5, 11, 12, 16, 21]. Now, the allocation problem may be solved in a centralised manner which allows applying more optimisation methods to be applied that are difficult when decentralised, especially when the quality of service requirements are to be taken into account.
2.2 Basic Mathematical Model for SDNs In this book, a fluid flow model [9, 10] of the network is adopted. This means the traffic is considered in terms of flow between origin and destination, as though it were a fluid and the network was a structure of interconnected pipes. In this chapter, the basic model for a single domain software-defined network is introduced. An example structure for such a network is shown in Fig. 2.1 and the corresponding architecture concept is shown in Fig. 2.2.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2020 D. Gasior, Resource Allocation for Software Defined Networks, SpringerBriefs in Computer Science, https://doi.org/10.1007/978-3-030-59098-7_2
15
16
2 Basic SDNs
Fig. 2.1 Example of a single domain software defined network Fig. 2.2 Architecture of a single domain software defined network
2.2.1 Network Structure Model The logical network structures can be modelled with graphs. The nodes correspond to the network elements which process data during transmission (e.g. routers processing data packets to redirect them properly) to a group of elements or even to whole subnetworks. The links represent the possibility of communication between nodes. The maximum amount of data that may be transmitted from one node to another is limited by the available resources.
2.2 Basic Mathematical Model for SDNs
17
2.2.2 Resource Model The network resource usually considered is as follows [20]: • networking device CPU—affects the speed of the packet service, the appropriate header information must be read and processed, so the packet is redirected properly, • networking device memory—affects the speed of the packet service, • networking device storage—affects the possibility of the router’s buffer sizes, it implies the amount of data that may be stored before the next incoming packets of data will have to be discarded, • link bandwidth—limits the maximum amount of data that may be transmitted. When the fluid flow model is considered, all the aforementioned resources corresponding to the capability of transmission between nodes are mapped to the one parameter, called link capacity [2]. Furthermore, we may treat the transmission process as a fluid flow. The transmissions are equivalent to flows, while the links are similar to pipes with limited cross-sectional areas which are analogous to the link capacities. Here we also refer to the resource allocation task also as a capacity allocation problem.
2.2.3 Traffic Model The transmission of data in a network from the source to the destination is realised through a sequence of links which is known as a route. The transmitted packets travel one by one along the determined path. However, if we consider the longer time horizon, the whole transmission begins to resemble fluid flow. The idea of this basic fluid flow model of the network is shown in Fig. 2.3 and in Fig. 2.4.
2.2.4 Quality of Service Model There are several parameters characterizing transmission, which affect the quality of the service, namely: latency, jitter, loss probability and transmission rates. Depending on the application, there are different requirements concerning these parameters. For instance, when we consider voice calls, the latency is crucial and the appropriate transmission rate must be met while some losses are acceptable. On the other hand, when a file is transmitted, there must be no loss, but the transmission time which results from transmission rate and latency is negligible. Nevertheless, it is indicated (e.g. in [19]) that for the capacity allocation problem the crucial Quality of Service parameter is the transmission rate, while other parameters result from it.
18
2 Basic SDNs
Fig. 2.3 Packet-based network model against the fluid flow model. (a) Packet-based model. (b) Fluid flow model
Fig. 2.4 Basic SDN model
2.2.5 Objective Network performance may be measured in a number of ways. It may be measured by the amount of data which is transmitted through the whole network per unit time. So, the resource allocation problem leads to network throughput maximization. On the other hand, we may expect that the network resources are allocated fairly. The two basic fairness concepts usually taken into consideration are proportional fairness and max-min fairness. However, in this book, we adopt the network utility maximisation framework [15]. This concept combines all the above-mentioned approaches, and gives a good economic interpretation.
2.3 Capacity Allocation Problem Formulation for Basic SDNs
19
The most common choice to model user’s preferences is the iso-elastic utility. This function of the transmission rate is twice differentiable, increasing, and concave. It is clear why the utility function representing a user’s experience will increase when the rate increases (the better quality can be obtained), the last property needs more explanation. So, let us consider the following example. Example 2.1 Assume there is a file transmission in the network. The size of the file is 1 GB. Thus, the user’s utility is related to the time of the whole file transmission. Let the transmission rate be equal to 10 Mbps at the beginning. Consider the situation when the rate is increased by 10 Mbps, so the final value is 20 Mbps. The transmission time has decreased by 400 s (from 800 s to 400 s). It is a noticeable difference. Now, let the transmission rate be equal to 1 Gbps at the beginning. Consider the situation when the rate is increased by the same amount as in the previous case, i.e. 10 Mbps. So, the final value is 1.01 Gbps. It means the transmission time has decreased by 0.08 s. Which is negligible. It is clear that even though the rate’s change was the same in both cases, the utility change was probably greater in the first case. That is why the iso-elastic functions which were adopted from the economy are suitable for modeling the user’s experience. That is why it is sometimes used to reflect user’s Quality of Experience (QoE) [7]. Moreover, different values of the α parameter result in different network behavior. For α = 0 the network aims to maximize the throughput. When α = 1 the network resources are divided in a proportional fair manner and when α →∞ then the max-min fairness of the resource allocation is obtained. Finally, if α = 2, the potential delay of transmissions will be minimised. The utility of each single transmissions comprises the utility of the whole network. The natural and economically justified composition is the weighted sum of the utilities.
2.2.6 Notation It is useful to introduce the notation, which is summarized in Tables 2.1, 2.2, and 2.3. The network is represented by a graph with L links and there are R flows. The lth link capacity is given by Cl , while the rth flow transmission rate is given by xrl . The route of the rth transmission is denoted by matrix a.
2.3 Capacity Allocation Problem Formulation for Basic SDNs Now we may formulate the capacity allocation problem for a single domain SDN.
20
2 Basic SDNs
Table 2.1 Notation: network parameters
L R Cl arl
wr xmin,r
Number of links Number of transmissions (flows) Capacity of lth link (for l = 1, 2, . . . , L) Routing variable: arl = 1, if rth flow traverses lth link arl = 0, otherwise Willigness-to-pay’ parameter for rth transmission QoS parameter defining minimal transmission rate for rth transmission for network without QoS: xmin,r = 0
Table 2.2 Notation: decision variables xrl ≥ 0 xl x
Amount of lth link capacity allocated to rth transmission lth link allocation vector: xl = [xrl ]r=1,2, . . . ,R Allocation matrix x = [xl ]l=1,2, . . . ,L
Table 2.3 Notation: objective f (x r ; wr ) = wr ϕ(x r )
xr ≥ 0 Q(x) =
R
r=1 f (x r ; wr )
Utility function for rth transmission (1−α) xr α ≥ 0 ∧ α = 1 ϕ(x r ) = (1−α) ln x r α=1 rth transmission rate: x r = minl:arl =1 xrl Total utility
Given: • network structure characterised by a number of links and link capacities, • transmission characterised by the number of flows, their routes, QoS requirements (minimal transmission rates) and utilities. Find: • capacity allocation which maximizes total utility of the network, such that: • no link capacity is not exceeded, • QoS requirements concerning minimal transmission rates are met.
It may be formally introduced as follows.
2.4 Capacity Allocation Algorithms for Basic SDNs
21
Resource Allocation for Single Domain Software Defined Network— Formal Problem Statement Given: L, Cl , R, arl , wr , α Find: x∗ = arg max Q(x) x
(2.1)
such that: R
∀l=1,2,...,L
arl xrl ≤ Cl
(2.2)
r=1
∀l=1,2,...,L ∀r=1,2,...,R xrl ≥ arl xmin,r
(2.3)
2.4 Capacity Allocation Algorithms for Basic SDNs Since, there is no need to allocate to any link more resources than it is required, we may state the following remark: Remark 2.1 Optimal allocation of the problem fulfils: ∀l=1,2,...,L xrl = x r In consequence, we may notice the following. Remark 2.2 Transmission rates (x r ) for an optimal solution to the considered problem are also optimal solution of the corresponding Network Utility Maximization (NUM). Thus, we may reformulate the Problem 2.1 as the following NUM problem. Given: L, Cl , R, arl , wr , α Find: x∗ = arg max x
R r=1
f (x r ; wr )
(2.4)
22
2 Basic SDNs
such that: R
∀l=1,2,...,L
arl x r ≤ Cl
(2.5)
r=1
∀r=1,2,...,R x r ≥ xmin,r
(2.6)
where x = [x r ]r=1,2,...,R . Therefore, we may apply any algorithm for NUM [13, 14, 18] to solve the formulated problem for basic SDN usually based on the Lagrange function and Karush–Kuhn–Tucker conditions [4]. So, let us introduce the Langrange function. L(x, λ) =
R r=1
f (x r ; wr ) −
L
λl (Cl −
l=1
R
arl x r ) −
r=1
L+R
λl (xmin,r − x r )
l=1+1
(2.7) Now, the KKT conditions for this problem may be formulated as follows. ∀r∈{1,2,...R}
∂L(x, λ) =0 ∂x r
∀l∈{1,2,...L+R}
∂L(x, λ) ≤0 ∂λl
∀l∈{1,2,...L+R} λl
∂L(x, λ) =0 ∂λl
(2.8)
(2.9)
(2.10)
x≥0
(2.11)
λ≥0
(2.12)
For the iso-elastic utility functions these conditions may be rewritten it as follows: ∀r∈{1,2,...R} wr x −α r −
L l=1
λl arl + λL+r = 0
(2.13)
2.4 Capacity Allocation Algorithms for Basic SDNs
∀l∈{1,2,...L}
R
arl x r − Cl ≤ 0
23
(2.14)
l=1
∀r∈{1,2,...R} xmin,r − x r ≤ 0
∀l∈{1,2,...L} λl (
R
(2.15)
arl x r − Cl ) = 0
(2.16)
∀r∈{1,2,...R} λL+r (xmin,r − x r ) = 0
(2.17)
x≥0
(2.18)
λ≥0
(2.19)
l=1
Note that (2.13)–(2.19) constitutes the system of L + 2R equations and 2L + 3R inequalities with L + 2R variables, which is nonlinear in general. For some cases, we may find the analytical solution of such system. For example, for single link allocation and iso-elastic objective (utility) functions, we may give an analytical solution, which is as follows. ar (wr )1/α C 1/α q∈{1,2,...,R} aq (wq )
xr =
(2.20)
However, in general solving the system (2.8)–(2.12) even in central manner may be analytically intractable. So, usually the decomposition methods are applied to solve this problem numerically. Notice that each of (2.13), (2.15), (2.17), and (2.19) depends only on the variable related to transmission r, i.e. x r , λL+r and the sum of Langrange mutlipliers λl related to the linksalong the transmission route. Assuming each transmission source knows this sum ( L l=1 λl arl ) for the optimal solution, the transmission rates could be easily calculated. On the other hand, each of (2.14), (2.16), and (2.18) depends only on the variable relate to link l, i.e. λl and the aggregated flow traversing the link (sum of all
24
2 Basic SDNs
Fig. 2.5 Idea of decomposition for solving NUM problem
transmission rates) R l=1 arl x r . So, if the sources transmitted with optimal rates, the optimal Lagrange multipliers could be easily determined. However, neither sources know the needed sum nor they transmit with optimal rates. Thus, the sources determine transmission rates for current values of λ, then the links update their Lagrange mutlipliers according to the current transmission rates. These calculations are made alternately as it is shown in Fig. 2.5. While, the current aggregated flow may be easily determined by the link, it requires more explanation how the Lagrange multipliers may be communicated. They may be broadcasted as some kind of the network signals. In SDN it may done with network controller as it is shown in Fig. 2.6. In traditional networks however, the most common concept is based on the loss rates. Let us assume that each link may drop some packets with the 1 − pl probability. So, the probability of successful transmission of the packet to its destination may be calculated with the following formula: pˆ r = l:arl =1 pl
(2.21)
Let us assume that the loss probability pl is set by link according to the estimated λl in the following way: pl = e−λl .
(2.22)
Finally, we obtain succesful packet transmission probability: pˆ r = l:arl =1 e−λl = e−
L
l=1 arl λl
(2.23)
While the source knows the loss rate, assuming it is equal to pˆ r , the sum of Langrage multipliers may be easily estimated as −ln(pˆ r ). Moreover, we may take into consideration that according to the SDN paradigm, the solution methods do not need to be distributed [1], so the centralised algorithms may also be used. Especially, the approaches which do not rely on KKT conditions like the penalty function method or barrier function method are again worth considering.
References
25
Fig. 2.6 Network signal propagation in: (a) traditional computer networks, (b) SDNs
References 1. S. Boyd, S.P. Boyd, L. Vandenberghe, Convex Optimization (Cambridge University, Cambridge, 2004) 2. P. Chimento, J. Ishac, RFC 5136: Defining Network Capacity (2008) 3. S. Das, G. Parulkar, et al., Packet and circuit network convergence with OpenFlow, in Proceedings of Optical Fiber Communication 2010 (2010) 4. G. Gordon, R. Tibshirani, Karush-kuhn-tucker conditions. Optimization 10(725/36), 725 (2012)
26
2 Basic SDNs
5. V. Gudla, S. Das, A. Shastri, G. Parulkar, N. McKeown, L. Kazovsky, Experimental demonstration of openflow control of packet and circuit switches, in Proceedings of Optical Fiber Communication 2010 (2010) 6. F.P. Kelly, A.K. Maulloo, D.K. Tan, Rate control for communication networks: shadow prices, proportional fairness and stability. J. Oper. Res. Soc. 49(3), 237–252 (1998) 7. M.A. Khan, U. Toseef, User utility function as quality of experience (QOE), in Proceedings of the ICN, vol. 11 (Citeseer, Princeton, 2011), pp. 99–104 8. J.W. Lee, M. Chiang, A.R. Calderbank, Price-based distributed algorithms for rate-reliability tradeoff in network utility maximization. IEEE J. Sel. Areas Commun. 24(5), 962–976 (2006) 9. B. Liu, Y. Guo, J.F. Kurose, D.F. Towsley, W. Gong, Fluid simulation of large scale networks: Issues and tradeoffs. PDPTA 99, 2136–2142 (1999) 10. Y. Liu, F. Lo Presti, V. Misra, D. Towsley, Y. Gu, Fluid models and solutions for large-scale ip networks. ACM SIGMETRICS Perform. Eval. Rev. 31(1), 91–101 (2003) 11. L.T. Liu et al., Openflow-based wavelength path control in transparent optical networks: a proof-of-concept demonstration, in Proceedings of European Conference and Exhibition on Optical Communication 2011 (2011) 12. L. Liu, D. Zhang, T. Takehiroet, et al., First field trial of an openflow-based unified control plane for multi-layer multigranularity optical networks, in Proceedings of Optical Fiber Communication 2012 (2012) 13. D.P. Palomar, M. Chiang, A tutorial on decomposition methods for network utility maximization. IEEE J. Sel. Areas Commun. 24(8), 1439–1451 (2006) 14. D.P. Palomar, M. Chiang, Alternative distributed algorithms for network utility maximization: framework and applications. IEEE Trans. Autom. Control 52(12), 2254–2269 (2007) 15. S. Shakkottai, R. Srikant, Network Optimization and Control vol. 2(3) (2008), pp. 271–379 16. H.A. Tran, D. Tran, L.G. Nguyen, A. Mellouk, H. Mac, V. Tong, A novel SDN controller based on ontology and global optimization for heterogeneous iot architecture, in Proceedings of the Eighth International Symposium on Information and Communication Technology (ACM, New York, 2017) 17. E. Wei, A. Ozdaglar, A. Jadbabaie, A distributed newton method for network utility maximization, in Proceedings of the 49th IEEE Conference on Decision and Control (CDC) (IEEE, New York, 2010) 18. E. Wei, A. Ozdaglar, A. Jadbabaie, A distributed newton method for network utility maximization–i: Algorithm. IEEE Trans. Autom. Control 58(9), 2162–2175 (2013) 19. B. Wydrowski, M. Zukerman, Qos in best-effort networks. IEEE Commun. Mag. 40(12), 44– 49 (2012) 20. D.K. Yau, X. Chen, Resource management in software-programmable router operating systems. IEEE J. Sel. Areas Commun. 19(3), 488–500 (2001) 21. Z. Yongli, Y. Hui, Z. Jie, et al., Experimental demonstration of optical as a service (OAAS) based on openflow, in Proceedings of OECC2012 (2012)
Chapter 3
SD-WAN as Interdomain Network
3.1 Introduction to Interdomain and Multi-Domain SDNs While many works have been devoted to solving emerging challenges in local software-defined networks, today the leading topic is to extend this paradigm to the wide-area networks (SD-WAN) [6]. These SD-WANs may be seen as a set of interconnected networks, each of them we known as a domain. Each domain usually has its SDN controller. Some potential approaches to the architectures enabling cooperation between SDN controllers have been proposed. The hierarchical orchestration model for the software-defined networks [14] enables scalability and security for the SDN orchestration. The proposed architecture has been evaluated with the simulations. In [5] the author proposes an Eastbound/Westbound communication protocol and interface for the SDN controllers, allowing the software-defined networks to be easily scaled and applied in large networks like the Internet. The introduced protocol, called INT, is used to exchange information about network capabilities and to set up the path through the whole SD-WAN. The operation of the proposed architecture was formally verified with the Petri networks. In [10] the authors propose the DISCO distributed multi-domain SDN control plane, which enables the delivery of end-to-end network services. The presented DISCO controller is responsible not only for intra-domain functionalities but also for the inter-domain cooperation. The latter goal is achieved by using a developed communication bus that enables the interchange of network information. The messages are sent and received by the special agents. Some of the agents are responsible for making an appropriate reservation on the path, while others monitor network status. The performance of this architecture has been examined experimentally.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2020 D. Gasior, Resource Allocation for Software Defined Networks, SpringerBriefs in Computer Science, https://doi.org/10.1007/978-3-030-59098-7_3
27
28
3 SD-WAN as Interdomain Network
All the proposed approaches give the technical solutions to realising the concept of software-defined networks in wide area networks but do not provide any solution on how to determine the adequate configuration of the network. In [1] the authors formulate the resource allocation problem as integer linear programming used to determine the route for the transmissions within the given constant rates. However, this approach is based on the centralised computation for the whole SD-WAN and does not take into account QoE. In this and next chapter, we will present the QoE and QoS capacity allocation algorithms for the multi-domain structures without central coordination. In this chapter, we limit exploration to the case where the local resource of the domain is enough to serve traffic according to any quality requirements. In the next chapter we will consider the case where the local resources are also strictly limited but must be taken into consideration while the resource allocation in the WAN is performed.
3.2 Mathematical Model for Interdomain SDNs While the single domain SDN cases have been well examined and many resource managing methods are proposed, the case of the interconnecting multiple SDNs has yet to be fully investigated. This is especially important for so-called software-defined wide-area networks comprising a set of independent SDNs each administrated by a separate operator. The multi-domain software-defined networks (multi-domain SDNs) or softwaredefined wide area network (SD-WANs) may be treated as a set of D interconnected networks. Each of them is managed by at least one independent SDN controller. We adapt the fluid flow model introduced in Chap. 2. In consequence, we assume that each network consists of nodes and links. If the local resources for each SDN domain in the multi-domain environment are sufficient to serve not only internal traffic but also to transit external traffic properly, it becomes crucial to allocate the shared resources correctly to enable connection between domains. Thus, we may propose a simplified model for such a case called interdomain SDN. Since the node represents a network element, it may reflect a single device as a group of devices or even a subnetwork at any level of aggregation. So, for our purpose, we may assume that the node represents the whole domain of SDN. The idea of such aggregation is shown in Fig. 3.1, while the graph model of such a network is shown in Fig. 3.2. There are L links in total between all SDN domains in the whole wide area network. Each link l is characterised by its capacity Cl . The flow between a pair of nodes represents the interdomain data transmission. We assume that there are R transmissions and their routes are given with the binary variable arl which indicates if lth link is used for rth transmission. The capacity allocation xrl is made on each link l traversed by the rth flow. The capacity allocations are determined in each network independently by its SDN controller. The rth transmission rate x r results from the capacity allocations made
3.2 Mathematical Model for Interdomain SDNs
Fig. 3.1 Aggregation of SDN domains (subnetworks) into one node
29
30
3 SD-WAN as Interdomain Network
Fig. 3.2 Example of interdomain software defined network (without internal structure). (a) Interdomain SDN with a central coordinator. (b) Interdomain SDN without a central coordinator
3.3 Capacity Allocation Problem Formulation for Interdomain SDNs
31
on all links along its route. The rate must be greater than the minimum acceptable value of xr,min due to the QoS constraints. As mentioned earlier we limit the QoS parameters under consideration to the transmission rate, which is believed to be the most crucial one [16]. Fulfilling other QoS requirements may be achieved with other network mechanisms (e.g. appropriate routing algorithms, scheduling algorithms on nodes, etc.). The allocations must not exceed the link capacities. We also assume that there are utility functions f (x r ; wr ) defined for every transmission which reflects also the quality of experience perceived when the transmission rate is x r . In the most common approach, it is assumed to be an iso-elastic function where parameter α corresponds to the particular transmission requirements. If there exists the central coordinator the allocation as shown in Figs. 3.2a and 3.3a problem reduces to the one presented in Chap. 2. However, in this chapter, we focus on the case when no central entity may be used. Thus, each SDN controller aims to maximise the total utility experienced from all transmissions traversing the corresponding network. We also introduce parameter β r which denotes how the utility translates to the potential income for each network. The notation is summarised in Table 3.1. An example structure for such a system is shown in Fig. 3.2b and its logical architecture is shown in Fig. 3.3b.
3.2.1 Notation Now we may complement the notation from Chap. 2 with the auxiliary notation given in Table 3.1
3.3 Capacity Allocation Problem Formulation for Interdomain SDNs Taking into account that each link interconnecting two different SDN domains is managed separately (and may be implemented as an IPX for SDN, for example [15]), allows us to formulate the capacity allocation problem.
Given: • A network structure of interconnected SDNs—characterised by a number of links and link capacities, • transit transmission characterised by a number of flows, their routes, QoS requirements (minimal transmission rates) and utilities (continued)
32
3 SD-WAN as Interdomain Network
Fig. 3.3 Architecture of the interdomain software defined network (neglecting internal structure). (a) Interdomain SDN with central coordinator. (b) Interdomain SDN without central coordinator
3.3 Capacity Allocation Problem Formulation for Interdomain SDNs
33
Table 3.1 Auxiliary notation for the capacity allocation problem for interdomain SDNs Ql (xl , x−l )
βr ≥ 0
x−l
Objective for a particular link (payoff): Ql (xl , x−l ) = R r=1 arl βr f (x r ; wr ) = R = r=1 arl βr wr ϕ(minj :arj =1 xrj ) Given the coefficient representing the importance of the rth transmission for particular links (domains) −1 e.g. β r = 1 or βr = ( L l=1 arl ) Allocation matrix x excluding lth link’s allocation, we accept: x = [xl , x−l ]
Each link finds: • its capacity allocation which maximises the utility of this link, such that: • link capacity is not exceeded, • QoS requirements concerning minimal transmission rates are met.
Hence the formal problem formulation is as follows.
Resource Allocation for Interdomain Software Defined Network— Formal Problem Statement Given: R, L, arl , Cl , wr , βr , α ∀l=1,2, . . . ,L find: x∗l = arg max Ql (xl , x−l ) xl
(3.1)
such that: R
arl xrl ≤ Cl
(3.2)
r=1
∀r=1,2,...,R xrl ≥ xmin,r
(3.3)
It is easy to notice that it is not a single optimisation problem, rather a set of problems affecting each other. The following statements hold.
34
3 SD-WAN as Interdomain Network
• Each link solves (3.1) independently. • In such a case, we adapt a game theory framework [13]. This problem may be treated as the game and will be referred to as ‘Capacity Allocation Game’. • We define ‘Capacity Allocation Game’: – Players: links l = 1, 2, . . . , L – Strategies: link allocations ∀r xrl ≥ xmin,r fulfilling: R r=1 arl xrl ≤ Cl – Payoffs: given by functions Ql (xl , x−l ) • For given x−l , the solution to the problem (3.1) is equivalent to finding the best response for the game. • The allocation matrix which fulfills the above property for every l is the PNE [9]. Since the considered problem is a noncooperative game, the equilibria (i.e. stable solutions) are perceived to be its solution. There are many ideas of the game equilibria, but in this chapter, we consider the pure Nash Equilibrium (PNE) (for more details see Appendix A or [8]). If all SDN Controllers choose PNE as their strategy, it ensures that no entity will change the strategy if the network state changes (e.g. when a new transmission appears or when a transmission disappears or when a new link is established or when a link is broken).
3.4 Properties of the Capacity Allocation Game The game properties stated in the following remarks were proven in [3]. Remark 3.1 There exists at least one PNE for the considered game (CAG). This remark may be justified with Rosen’s theory [12] since the formulated game is convex. Now, we depart from the initial problem of determining Nash equilibria in the formulated game, and consider a reversed problem of game design: given an optimal solution of the NUM problem, does it constitute a Nash equilibrium of some game variant? To evaluate the equilibria points the concepts of Social Welfare, Price of Anarchy (PoA), and Price of Stability (PoS) are exploited (for definitions of these concepts see Appendix A or [7]). Remark 3.2 If the Social Welfare is defined as: SW Q(x) then POA may be unbounded while PoS may be equal to 1. Remark 3.3 For the uniform payoff matrix (i.e. ∀r β r = 1) the global optimum of the problem (3.1) is a Nash equilibrium. This immediately implies that the strategy giving an optimal solution is also the best possible equilibrium: Remark 3.4 For the uniform payoff matrix, the Price of Stability is 1.
3.4 Properties of the Capacity Allocation Game
35
Fig. 3.4 The network structure for the Example 3.1
Unfortunately, uniform payoffs only upper-bound social welfare. The following example shows that the variant of the game with weights reflecting the social welfare has an optimal solution which occurs at a non-equilibrium point. Example 3.1 Consider the game with weights βr = 1/ L k=1 akr , with L ≥ 2 links (players), each has the equal capacity, c1 = c2 = . . . = cN = C. There are 2 flows (transmissions): one that passes through all links, with weight parameter w1 = 1 and the second one passes only the first link, with weight parameter w2 = 1, the utility function parameter is α = 1. The network structure of this example is given in Fig. 3.4 It may be easily calculated that the global optimum is x ∗1 = C/2 and x ∗2 = C/2. The payoff of the 1st player for allocations x11 = C/2 and x12 = C/2 is: Q1 (x1 ) = (
1 + 1)ln(C/2) L
However, changing the strategy of player 1 to x11 = 1 1 L L )ln( L+1 C) > L+1 ln( L+1 C. a higher payoff: ( L+1
1 L+1 C
(3.4) and x12 =
L L+1 C
gives
Remark 3.5 For the payoff matrix given by ∀r βr = 1/ L k=1 akr the global optimum of problem (3.1) is not a Nash equilibrium in general. One may observe that, provided there are no local flows (i.e. between two neighboring SDN domains), it is easy to characterise strategies giving pure Nash equilibria, even for a more general class of games (including the one considered in this chapter, see Remark 3.1). Remark 3.6 If there are no local flows, i.e. for all r ∈{1, . . . , R}, L l=1 alr > 1, any strategy such that: ∀l1 ,l2 ∀r:al1 r =al2 r =1 xl1 r = xl2 r constitutes a PNE of the considered game.
(3.5)
36
3 SD-WAN as Interdomain Network
It may be easily justified. In such a case, if any single link increases the capacity allocated to any flow, it does not result in increasing its transmission rate. Thus, the payoff cannot increase. In consequence, any the strategies characterised in Remark 3.6 are points of pure Nash Equilibrium of the considered game. So, they can be arbitrarily bad in terms of the players’ outcomes. For instance, the following allocation (∀l,r xlr = 0) is a Nash Equilibrium when there are no local flows. This leads to the unbounded Price of Anarchy.
3.4.1 Capacity Allocation Algorithms for Interdomain SDNs In this section, we give the capacity allocation for two cases. First, we consider the simpler case, when there are no QoS constraints. Then we present a more generalised version of the method which takes into account the requirements concerning the minimal transmission rates.
3.4.2 Capacity Allocation Algorithms for Interdomain SDNs Without QoS If there are no QoS requirements (i.e. ∀r xmin,r = 0) we may solve the problem with the Algorithm 1. Algorithm 1 Bottleneck utility-based rate allocation algorithm (BURA) ˜ ← {1, 2, . . . , L}, ∀ ˜ C˜ l ← Cl 1: R˜ ← {1, 2, . . . , R}, L l∈L ˜ 2: while L = ∅ do ˜ 3: ∀r∈R˜ x r ← minj ∈L:a ˜ =1 x˜ rj (C), where x˜ rj (Cj ) is a single link allocation rj
4: 5: 6: 7: 8: 9: 10:
which can be calculated from (2.20) for the link capacity C˜ j and the set of ˜ transmissions given by R.
˜ ˜ Find: L = {l ∈ L : r∈R˜ arl xrl = C˜ l ∨ r∈R˜ arl = 0} For all l ∈ L˜ and l ∈ L˜ update: C˜ l ← C˜ l − r∈R˜ arl arl xrl ˜ For all l ∈ L˜ Update: R˜ ← R/{r ∈ R˜ : arl = 1}
˜ ˜ For all l ∈ L For all r ∈ {r ∈ R ∃l ∈L:l ˜ ∈L˜ arl = 1} Update: xr l ← x r
Update: L˜ ← L˜ \ L˜ end while Return x.
The idea of the algorithm is quite simple. At the beginning all links are active (L˜ is a set of active links) and there is no saturated flow (R˜ is a set of non-saturated flows), the maximal links’ capacities are available (C˜ l is an available capacity of lth
3.4 Properties of the Capacity Allocation Game
37
Fig. 3.5 The network structure for the Example 3.2
link). In each iteration, all active links allocate their available capacity among nonsaturated flows. When the sources start transmission, in some cases the rates are less than allocations made. But, at least in one link rates for all transmissions are equal to the allocated capacity. Such a link is now filled and becomes inactive (L˜ represents a set of inactive links). All transmission traversing such a link are saturated, their rates become fixed and cannot be changed any further. The available capacities of active links are decreased by the total rates of all saturated transmissions traversing them. This procedure is repeated until there is at least one active link. For better illustration of the Algorithm, let us consider the following example. Example 3.2 The whole network consists of 4 nodes interconnected with L = 3 links and there are R = 4 transmissions as it is shown in Fig. 3.5. The routing variables arl may be taken from the figure. The utility coefficient α = 1 and weight parameters are equal for all transmissions, i.e. w1 = w2 = w3 = w4 = 1. The links’ capacities are as follows: C1 = 10 Mbps, C2 = 50 Mbps, C3 = 100 Mbps. All the game parameters β r are equal to 1. In the first iteration all links are active L˜ = {1, 2, 3}, there is no saturated flow, i.e. R˜ = 1, 2, 3, 4 and the available capacities are (in Mbps): C˜ 1 = 10, C˜ 2 = 50, C˜ 3 = 100. The allocations obtained in the step 3 are as follows (in Mbps): x11 = 5, x21 = 5, x12 = 16.67, x22 = 16.67, x32 = 16.67, x13 = 33.33, x33 = 33.33, x43 = 33.33. It means that the transmission rates are (in Mbps): x1 = 5, x2 = 5, x3 = 16.67, x4 = 33.33. Thus, the only filled link is l = 1, i.e. L˜ = {1}. The saturated flows are r = 1 and r = 2. We update the set of the active links: L˜ = {2, 3}, available capacities (in Mbps): C˜ 1 = 0, C˜ 2 = 40, C˜ 3 = 95. and non-saturated flows: R˜ = {3, 4}. Since the set of active links is not empty, we start the second iteration. The allocations obtained in step 3 are now as follows (in Mbps): x32 = 40, x33 = 47.5, x43 = 47.5. It means that the transmission rates are (in Mbps): x1 = 5, x2 = 5, x3 = 40, x4 = 47.5. Thus, in this iteration the filled link is l = 2, i.e. L˜ = {1, 2}. The saturated flow is r = 3. We update the set of the active links: L˜ = {3}, available capacities (in Mbps): C˜ 1 = 0, C˜ 2 = 0, C˜ 3 = 55. and non-saturated flows: R˜ = {4}. Since the set of active links is not empty, we start the third iteration. The allocation obtained in the step 3 is now as follows (in Mbps): x43 = 55. It means
38
3 SD-WAN as Interdomain Network
Fig. 3.6 The illustration of the consecutive iteration of the Algorithm BURA for the Example 3.2
that the transmission rates are (in Mbps): x1 = 5, x2 = 5, x3 = 40, x4 = 55. Thus, in this iteration the filled link is l = 3, i.e. L˜ = {1, 2, 3}. The saturated flow is r = 4. We update the set of the active links: L˜ = ∅, available capacities (in Mbps): C˜ 1 = 0, C˜ 2 = 0, C˜ 3 = 0. and non-saturated flows: R˜ = ∅. Since the set of active is empty, we start the algorithm stops. The final allocations are as follows (in Mbps): x11 = 5, x21 = 5, x12 = 5, x22 = 5, x32 = 40, x13 = 5, x33 = 40, x43 = 55. The objective is equal to 10.91. The consecutive iterations of the algorithms are also shown in Fig. 3.6. Theorem 3.1 The Algorithm 1 finds strong PNE. Theorem 3.2 The Algorithm 1 finds strong Pareto-optimal strategy profile. The proofs of the Theorems 3.1 and 3.2 have been given in [3].
3.4 Properties of the Capacity Allocation Game
39
3.4.3 Capacity Allocation Algorithms for Interdomain SDNs with QoS Now let us consider the case with QoS, i.e. when x ≥ xmin . To solve the considered problem, we propose the QBURA algorithm (Algorithm 2) which should be implemented by each agent (on each interdomain link). The rate allocation algorithm (QBURA) is similar to the Algorithm 1. However, it uses a different procedure to determine the allocation for a single link. The applied method finds the best allocation from the local link’s point of view, while the QoS requirements are preserved. The further idea is the same. In each iteration, all active links determine their allocation. When the sources start transmissions at least one link becomes filled and corresponding flows become saturated and they are no longer considered in the computation. The procedure is repeated until at least one link remains active. Algorithm 2 Bottleneck utility-based rate allocation algorithm with quality of service (QBURA) [H] ˜ ← {1, 2, . . . , L}, ∀ ˜ C˜ l ← Cl 1: R˜ ← {1, 2, . . . , R}, L l∈L
˜ = ∅ do 2: while L 3: Enumerate the transmissions in R in order of non-decreasing value of 1
(wr βr ) α xmin,r
4:
. Find such a1/αtransmission r for which: arl (wr βr ) ˜ l − rq=1 xmin,q ) ≥ xmin,r ( C |R| ˜ 1/α q=r
aql (wq βq )
and
a(r−1)l (wr−1 βr−1 )1/α ˜ (C l |R| ˜ 1/α q=r−1 aql (wq βq )
5:
−
r−1
q=1 xmin,q )
< xmin,r−1
For each transmission v < r: x˜vl ← xmin,v and for each transmission v ≥ r: x˜ql ←
6: 7: 8: 9: 10: 11: 12:
avl (wv βv )1/α ˜ l − rq=1 xmin,q ) ( C |R| ˜ 1/α q=r aql (wq βq )
˜ ∀r∈R˜ x r ← minj ∈L:a ˜ rj =1 x˜ rj (C), where x˜ rj (Cj ). Find: L˜ = {l ∈ L˜ : r∈R˜ arl xrl = C˜ l ∨ r∈R˜ arl = 0} Update: L˜ ← L˜ \ L˜ For all l ∈ L˜ and l ∈ L˜ update: C˜ l ← C˜ l − r∈R˜ arl arl xrl ˜ For all l ∈ L˜ Update: R˜ ← R/{r ∈ R˜ : arl = 1} and ∀r:arl =1 xrl ← x r end while Return x.
For better illustration of the Algorithm, let us consider the following example. Example 3.3 Let us consider the examplel for the same input data as the Example 3.2, together with the following QoS requirements: xmin,1 = 1, xmin,1 = 1, xmin,1 = 9, xmin,4 = 90.
40
3 SD-WAN as Interdomain Network
Fig. 3.7 The illustration of the consecutive iteration of the Algorithm BURA for the Example 3.3
In the first iteration all links are active L˜ = {1, 2, 3}, there is no saturated flow, i.e. ˜ R = 1, 2, 3, 4 and the available capacities are (in Mbps): C˜ 1 = 10, C˜ 2 = 50, C˜ 3 = 100. The allocations obtained in the step 3 are as follows (in Mbps): x11 = 5, x21 = 5, x12 = 16.67, x22 = 16.67, x32 = 16.67, x13 = 1, x33 = 9, x43 = 90. It means that the transmission rates are (in Mbps): x1 = 1, x2 = 5, x3 = 9, x4 = 90. Thus, the only filled link is l = 3, i.e. L˜ = {3}. The saturated flows are r = 1, r = 3 and r = 4. We update the set of the active links: L˜ = {2, 3}, available capacities (in Mbps): C˜ 1 = 9, C˜ 2 = 40, C˜ 3 = 0. and non-saturated flows: R˜ = {2}. Since the set of active links is not empty, we start the second iteration. The allocations obtained in step 3 are now as follows (in Mbps): x21 = 9, x22 = 40. It means that the transmission rates are (in Mbps): x1 = 1, x2 = 9, x3 = 9, x4 = 90. Thus, in this iteration the filled link are l = 1 and l = 2, i.e. L˜ = {1, 2}. The saturated flow is r = 2. We update the set of the active links: L˜ = ∅, available capacities (in Mbps): C˜ 1 = 0, C˜ 2 = 31, C˜ 3 = 0. and non-saturated flows: R˜ = ∅. Since the set of active is empty, we start the algorithm stops. The final allocations are as follows (in Mbps): x11 = 1, x21 = 9, x12 = 1, x22 = 9, x32 = 9, x13 = 1, x33 = 9, x43 = 90.. The objective is equal to 8.89. The consecutive iterations of the algorithms are also shown in Fig. 3.7. The following properties of the Algorithm 2 occur. Theorem 3.3 Algoritm QBURA (Algorithm 2) finds the strategy profile xQBURA which constitutes PNE. The Theorem 3.3 holds since the allocation obtained in 2 (QBURA) fulfils the necessity condition for PNE given in [4].
3.5 Simulation of Allocation Algorithm for Interdomain SDNs
41
Theorem 3.4 Algoritm QBURA (Algorithm 2) finds weak Pareto-optimal PNE. Proof It is enough to show, that we cannot improve the payoff of at least one player. If we consider the allocation obtained for the link saturated in the first iteration (n = 1), it is clear that its payoff is the maximal since it is the optimal solution for the allocation problem for this single link (calculated with the SQRA algorithm). Theorem 3.5 For any game instance, there exist such coefficients β r forr = 1, 2, . . . , R that QBURA (Algorithm 2) finds maximal value of SW. Proof Let us denote by x∗ the rates vector that maximizes SW. Now, we consider coefficients β r given as follows. βr =
(xr∗ )α wr
(3.6)
The QBURA algorithm finds the following allocation in the first iteration: (x ∗ )α
( wr r wr )α (βr wr )α x∗ xrl = C = Cl = r ∗ Cl l ∗ )α α (x q α q aql (βq wq ) q aql xq q aql ( wq wq )
(3.7)
Since, the q aql xq∗ ≤ Cl then xrl ≥ xr∗ . Thus for each transmission and for each link the following inequality holds QBU RA
xrl
≥ xr∗ .
(3.8)
However, since x∗ maximizes SW, for each transmission the inequality 3.8 holds with equality at least for one link.
3.5 Simulation of Allocation Algorithm for Interdomain SDNs Now, we present the results of some simulations. The main objective was to evaluate the developed allocation algorithm. The algorithm was implemented using the Python 2.7 programming language. The simulations were run three times for each pair (N, ) where N ∈{15, 16, 17, 18, 19, 20} was number of nodes and ∈{2.0, 2.1, 2.2, 2.3, 2.4} was the average node degree. The remaining problem parameters values are given in Table 3.2. The uniform distribution on the interval [c, d] is denoted by U(c, d). The network topologies were generated with the method described in [2]. The considered network instances correspond to the small real-life backbone networks [11]. The quality criterion is defined as follows:
42
3 SD-WAN as Interdomain Network
Table 3.2 Simulation parameters Parameter Cl R
arl wr α xmin,r
Value Uniformly randomly chosen from the interval [1000, 10, 000) Uniformly randomly chosen from the interval [ 12 θn(n − 1); 12 θn(n − 1)) θ = 0.3, θ = 0.7 for each flow r the pair of nodes (i, j) (source, destination) was randomly selected Calculated as the shortest path (from source to destination), Uniformly randomly chosen from the interval [1, 10) 0.5 Uniformly randomly chosen from the interval [0.3Cˆ r ; 0, 5Cˆ r ) where Cˆ r = minl:arl =1 Cla . q
βr
ql
1.0
Table 3.3 Simulation results
Statistics for γ Average Median Variance min max
γ =
SW (xBU RAQ ) , maxx∈Dˆ x SW (x)
QBURA 0.9 0.92 0.006 0.67 1.0
(3.9)
where SW (x) =
R
f (x r ; wr ), Dˆ x = {x : ∀l
r=1
R
arl xrl ≤ Cl
∧
∀r xrl ≥ arl xmax,r }
r=1
(3.10) and xBURAQ is the solution found by the algorithm. One may notice that: P oS ≤
1 ≤ P oA γ
(3.11)
The optimal value of the social welfare function SW(x) was found with a primaldual projected gradient method. The statistical results of the simulations are shown in Table 3.3. Representative charts of the average values of the quality criterion for different numbers of network nodes (domains) and different average node degrees are given in Figs. 3.8 and 3.9. It may notices, that for the considered network, the higher node degree (the more links in the network) the QBURA gives better results. In the worst case, the SW for the solution obtained with the proposed algorithm was 67% of the best. However,
3.5 Simulation of Allocation Algorithm for Interdomain SDNs
43
Fig. 3.8 Average value of the quality criterion depending on number of nodes for different average node degrees
Fig. 3.9 Average value of the quality criterion depending on average node degrees for network sizes (number of nodes)
44
3 SD-WAN as Interdomain Network
in almost 10% of cases QBURA, finds the strategy resulting in the optimal value of SW. It seems to be no relationship between the criterion value and the size of the network (number of nosed N). Since the variance is very low, so we may expect that for such networks we will usually get good results.
References 1. I. Fajjari, N. Aitsaadi, D.E. Kouicem, A novel SDN scheme for QoS path allocation in wide area networks, in Proceedings of the IEEE Global Communications Conference (GLOBECOM 2017–2017) (IEEE, New York, 2017), pp. 1–7 2. M. Faloutsos, P. Faloutsos, C. Faloutsos, On power-law relationships of the internet topology. ACM SIGCOMM Comput. Commun. Rev. 29(4), 251–262 (1999) 3. D. G asior, ˛ Nash equilibrium of capacity allocation game for autonomic multi-domain software defined networks, in International Conference on Information Systems Architecture and Technology (Springer, Berlin, 2017), pp. 219–228 4. D. Gasior, Bottleneck utility-based rate allocation for autonomic networks with quality of service, in Proceedings of the International Conference on Information Systems Architecture and Technology (Springer, Berlin, 2018), pp. 54–64 5. P. Helebrandt, I. Kotuliak, Novel SDN multi-domain architecture, in Proceedings of the 2014 IEEE 12th IEEE International Conference on Emerging eLearning Technologies and Applications (ICETA) (IEEE, New York, 2014), pp. 139–143 6. S. Jain, A. Kumar, S. Mandal, J. Ong, L. Poutievski, A. Singh, J. Zolla, B4: experience with a globally-deployed software defined wan. ACM SIGCOMM Comput. Commun. Rev. 43(4), 3–14 (2013) 7. E. Koutsoupias, C. Papadimitriou, Worst-case equilibria. Comput. Sci. Rev. 3(2), 65–69 (2009) 8. J. Nash, Non-cooperative games. Annals Math., 286–295 (1951) 9. M.J. Osborne et al. An Introduction to Game Theory, vol. 3 (Oxford University, New York, 2004) 10. K. Phemius, M. Bouet, J. Leguay, Disco: distributed multi-domain SDN controllers, in Proceedings of the 2014 IEEE Network Operations and Management Symposium (NOMS) (IEEE, New York, 2014), pp. 1–4 11. Reference Networks. Accessed: 2020-02-10. http://www.av.it.pt/anp/on/refnet2.html 12. J.B. Rosen, Existence and uniqueness of equilibrium points for concave n-person games. Econometrica J. Econometric Soc. 33(3), 520–534 (1965) 13. T. Roughgarden, Algorithmic game theory. Commun. ACM 53(7), 78–86 (2010) 14. R. Vilalta, A. Mayoral, J. Baranda, J. Nuñez, R. Casellas, R. Martínez, R. Muñoz, Hierarchical SDN orchestration of wireless and optical networks with e2e provisioning and recovery for future 5g networks, in Proceedings of the 2016 Optical Fiber Communications Conference and Exhibition (IEEE, New York, 2016) 15. X. Wu, K. Lu, G. Zhu, A survey on software-defined wide area networks. J. Commun. 13(5), 253–258 (2018) 16. B. Wydrowski, M. Zukerman, QoS in best-effort networks. IEEE Commun. Mag. 40(12), 44– 49 (2002)
Chapter 4
SD-WAN as Multi-Domain Network
4.1 Mathematical Model for Multi-Domain Network In contrary to the interdomain SDNs discussed in Chap. 3, now we will consider the case where the in-domain resources are limited and their allocation must be taken into consideration as well. An example structures of the network is shown in Fig. 4.1 and the corresponding architecture is shown in Fig. 4.2. We still utilise the mathematical model introduced in Chap. 2, but this time we must take into consideration that the whole network (e.g. SD-WAN) is divided into domains. Each domain has its SDN controller. In the previous chapter, the whole domain was treated as the single entity (single node). Thus, an auxiliary notation is introduced, as shown in Table 4.1. The mapping between links and domains is made (link) with variable eld . The routing may be also seen from the link perspective (defined (req) with arl but also from the domains point of view (defined with erd ) (Fig. 4.3).
4.2 Problem Formulation Now we may formulate the capacity allocation problem for multi-domain SDNs.
Given: • a network structure of interconnected SDN domains, with the structure of each domain—characterised by a number of links and link capacities, • transmission flows characterised by a number of flows, their routes, QoS requirements (minimal transmission rates) and utilities (continued) © The Author(s), under exclusive license to Springer Nature Switzerland AG 2020 D. Gasior, Resource Allocation for Software Defined Networks, SpringerBriefs in Computer Science, https://doi.org/10.1007/978-3-030-59098-7_4
45
46
4 SD-WAN as Multi-Domain Network
Fig. 4.1 Example of a multi-domain SDN including internal structure: (a) with central coordination, (b) without central coordination
4.2 Problem Formulation
47
Fig. 4.2 Architecture of the multi-domain SDN: (a) with central coordination, (b) without central coordination
Each domain finds: • its capacity allocation which maximises the utility of this domain, such that: • link capacities in the domain are not exceeded, • QoS requirements concerning minimal transmission rates are met
Such a problem may be formally stated as follows.
48
4 SD-WAN as Multi-Domain Network
Table 4.1 Auxiliary notation for multi-domain SDN resource allocation problems D (link) eld (req)
erd
xd
Number of domains (networks) Variable indicating if the lth link belongs to the dth network Variable indicating if the rth transmission is performed link in the dth network by any L (link) arl ≥ 1 1 gdy (req) l=1 eld erd = 0 otherwise The allocation matrix for the dth domain, xd = [ˆxl ]l:e(link) =1 , ld
x−d βr ≥ 0 Qd (xd , x−d )
x = [xd ]d=1,2, . . . ,D The allocation matrix x without the dth component, it is assumed: x = [xd , x−d ] Given coefficient for the rth flow (req) −1 e.g. β r = 1 or βr = ( D d=1 erd ) The objective of the dth network (payoff): (req) Qd (xd , x−d ) = R r=1 erd βr f (x r ; wr ) = R (req) = r=1 erd βr wr ϕ(minl:arl =1 xrl )
Fig. 4.3 Fluid flow model for interdomain SDN
4.3 Properties of Multi-Domain Capacity Allocation Game
49
Resource Allocation for Multidomain Software Defined Network— Formal Problem Statement (link) (req) Given: R, L, arl , eld , erd , Cl , wr , βr , α ∀d=1,2, . . . ,D find: x∗d = arg max Qd (xd , x−d ) xd
(4.1)
such that: ∀l:e(link) =1 ld
R
arl xrl ≤ Cl
∧
∀r=1,2,...,R xrl ≥ xmin,r
(4.2)
r=1
The following remarks hold: • Each domain solves (4.1) independently. • The problem is a game which we refer to as the ‘Multi-domain Capacity Allocation Game’, defined as follows. – Players: domains d = 1, 2, . . . , D – Strategies: link allocations xd ≥0 fulfilling: ∀l:e(link) =1 R r=1 arl xrl ≤ Cl ld – Payoffs: given by functions Qd (xd , x−d ) • For fixed x−d the problem (4.1) solution is equivalent to finding the best response in the game. • An allocation matrix fulfilling the above property is PNE.
4.3 Properties of Multi-Domain Capacity Allocation Game Further remarks are limited to cases where α ∈ (0, 1). Remark 4.1 In some instances of the Multi-domain Capacity Allocation Game, the Price of Anarchy (PoA) is unbounded. It is enough to consider the problem with no QoS requirements. The strategy profile such that∀r,l xr,l = 0 is the Nash equilibrium. The value of social welfare (SW(x)) for such a strategy profile is 0. So, PoA tends to infinity. Remark 4.2 There exist instances of the Capacity Allocation Game, that the Price of Stability (PoS) is equal to 1. Let us consider a network without any transmission traversing more than one domain and to assume that ∀r β r = 1. Then optimising problem (4.1) for each
50
4 SD-WAN as Multi-Domain Network
domain is independent and all solutions to these problems constitute a strategy profile for which SW(x) is maximal. Now, we give an approximation of PoA and PoS for special cases. Let us consider the linear structure of the network (i.e. the domains are interconnected in a linear sequence and the nodes among the domain are also interconnected in a linear sequence) with the same link capacity (C). Assume that there are L local transmissions (using only one link) and there is one global transmission (traversing all the domains and nodes). Then we obtain: 1 ≤ P oS ≤ γ ≤ P oA < ∞
(4.3)
where: w0 γ =
1−α
1/α
w0
1/α
w0
w0 +w 1/α 1/α
w0
+W
1−α
1/α
w0 +W 1/α
+W
w1/α 1/α w0 +w 1/α W 1/α 1/α w0 +W 1/α
1−α 1−α
(4.4)
where 0 ≤ α < 1 is an iso-elastic function parameter a wr is a weight parameter (socalled “willigness-to-pay”), i.e. QoEr = wr (1 − α)(−1) xˆr1−α . Moreover: W = L (link) w,e determines if the lth link belongs (link) r=1 wr and w = maxd l:eld =1 l ld to the dth domain. Let W = n ∗ w0 and w = m ∗ w0 , n, m ≥ 0. PoS = 1 if and only if m = n
4.4 Capacity Allocation Algorithms for Multi-Domain SDNs 4.4.1 Algorithm for PNE The SD-WAN structure under consideration may be seen as the hierarchical one. We have interconnected domains as it was introduced in Chap. 3, but this time each SDN domain is not considered as the single entity but rather as the whole network as the one described in Chap. 2. So, let us first define the problem for the single domain, which we refer to as a Local Capacity Allocation Problem: (req)
(link) Given: R, L, arl , eld , erd Find:
x∗d = arg max xd
, Cl , wr , βr , α, xr,max
R r=1
(req)
erd
βr f (
min
(link)
l:eld
=1 ∧ arl =1
xrl ; wr )
(4.5)
4.4 Capacity Allocation Algorithms for Multi-Domain SDNs
51
such that: R
arl xrl ≤ C˜ l
(4.6)
∀r=1,2,...,R xrl ≥ xr,min
(4.7)
∀r=1,2,...,R xr,max ≥ xrl
(4.8)
∀l:e(link) =1 ld
∀r=1,2,...,R ∀l
r=1
(link) =1} 1 ,l2 ∈{l:eld
arl2 xrl2 = arl1 xrl1
(4.9)
where xr,max are given upper bounds of transmission rates. It differs from the one considered in Chap. 2 since there are additional constraints (4.8). These rates limitation results from the allocations made by other domains. However, this is still a convex optimisation problem and it may be solved with methods given in the previous chapter. Notice that for the given domain d, if we assume that allocations for all other domains have been determined and we put xr,max = minl:a =1∧e(link) =0 xrl , the rl ld solution obtained in (4.5) is the best response in the considered Capacity Allocation Game. It was used to elaborated the allocation Algorithm 1 [2] which provable stops at the Nash equilibrium [4]. Algorithm 1 Multi-domain utility-based rate allocation algorithm (MURA) 1: Initialize δ ← ∞ and ∀r∈{1,2,...,R} xmax,r ← ∞. 2: while δ > 0 do 3: For each domain d solve the local problem (4.5) for current values of
4: 5: 6:
parameters: xmax,r , r = 1, 2, . . . , R. Denote such an allocation vy xd = [xl ]l:e(link) . ld Calculate current transmission rates: x r ← minj :arj =1 xrj . R Calculate δ ← L l=1 r=1 |xrl − x r |. In each domain update the maximal allocation for transmissions traversing more than one domain, i.e.: ∀r∈{1,2,...,R}:D e(req) >1 xmax,r ← x r .
7: end while 8: Return x.
d=1 rd
The following properties of Algorithm 1 occur. Theorem 4.1 The Algorithm 1 finds a PNE for any initial value of xr,max in a step 1 fulfilling the following condition xr,max ≥ minl:arl =1 Cl .
52
4 SD-WAN as Multi-Domain Network
Proof It is enough to justify that any domain’s allocation obtained with the Algorithm 1 is the best response to the other domains’ allocations. It must be stressed, that the d domain’s payoff is affected only by transmissions (req) = 1). The stop condition traversing it (i.e. the transmissions for which erd guarantees that the transmission rates are equal to xmax,r obtained in the penultimate step. Thus, the last iteration consists in finding the best response to the final strategies of all domains. In consequence, one may replace ∞ in a step 1 with sufficiently large finite nonnegative value and Algorithm 1 still finds PNE. Remark 4.3 For the special case, when each domain consists of one node then Algorithm 1 is equivalent to the Algorithm QBURA shown in Chap. 3. Therefore, Algorithm 1 may also find Pareto-optimal equilibrium in some special cases. Especially, when there are no QoS constraints.
4.4.2 Algorithm for Pareto-Optimal Solution Now, we focus on the Pareto-optimal equilibrium since we find it even more suitable for the considered problem. The idea of weak and strong Pareto-optimality is given in Appendix A. The advantage of using such an equilibrium is that we cannot change the allocation so to improve any domain’s payoff without worsening others. The resource allocation algorithm presented as Algorithm 2 provable stops at strong Pareto-optimal equilibrium. The idea of the proposed solution method was presented in [3] and may be briefly descried as follows. The domains make their allocation sequentially in an arbitrary given order (it may be generated randomly). It is needed only to indicate the next network which is to determine its allocation. This is made by SDN controllers using Eastbound/Westbound interfaces. Each domain solves local optimization problems and finds the allocation taking into account only transmissions whose rates have not been computed yet.
4.4 Capacity Allocation Algorithms for Multi-Domain SDNs
53
Algorithm 2 Pareto optimal multi-domain utility-based resource allocation algorithm (POMUR) [H] 1: Initialize auxiliary variables, i.e.:
d−1 (req) (req) = 0} ∀d∈{1,2,...,D} R d = {r ∈ {1, 2, . . . , R} : erd = 1 ∧ q=1 erq and ∀l∈{1,2,...,L} C˜ l ← Cl − r∈{1,2,...,R} arl xr,min . Let us also denote: yd = [xl ]l:e(link) . ld 2: for d = 1, 2, . . . , D do 3: Solve the following problem: (link) (req) Given: R d , L, arl , eld , erd , C˜ l , wr , βr , α Find: βr f (x r ; wr ) (4.10) y∗d = arg max yd
r∈R d
such that: ∀l∈{1,2,...,L}
arl xrl ≤ C˜ l +
r∈R d
4:
arl xr,min
(4.11)
r∈R d
∀r∈R d xrl ≥ xr,min
(4.12)
∀r∈R d ∀l1 ,l2 ∈{1,2,...,L} arl2 xrl2 = arl1 xrl1
(4.13)
∀l∈{1,2,...,L} ∀r∈R d
5: ∀l∈{1,2,...,L} 6: end for 7: Return x.
Update: xrl ← minj :e(req) a =1 xrj rj rd update: C˜ l ← Cl − r∈R d arl xrl .
The following properties of Algorithm 2 occur. Theorem 4.2 Algorithm 2 (POMUR) finds a strong Pareto-optimal strategy profile of Multi-domain Capacity Allocation Game for any order of domains. Proof It is clear, that one cannot increase the payoff of the first domain since the allocation is the result of solving the optimization problem. Now let us consider the second domain. We cannot decrease the allocation for any transmission which has been set by the first domain since we reduce the previous domain’s payoff and it contradicts the definition of strong Pareto-optimality. Increasing this allocation will not result in increasing the transmission rate and will not increase any domain’s payoff. The allocation for the transmissions that were not set in the previous domain
54
4 SD-WAN as Multi-Domain Network
gives the best payoff since it is the optimal solution of the allocation problem for this domain. The above reasoning applies to each subsequent domain. Thus, we cannot change any domain’s allocation without worsening the payoff to at least one other domain. From Theorem 4.2 we conclude the following remark. Remark 4.4 Algorithm 2 (POMUR) may find up to D! Pareto-optimal strategy profiles. This remark may be easily justified. Since the Algorithm 2 finds Pareto-optimal strategy for any order of domains and the domains can be arranged in D! ways. However, one must remember that the solution for the particular arrangement of domains does not have to be unique. On the other hand, one may easily check the following remark. Remark 4.5 Strategy profiles found by Algorithm 2 (POMUR) may not constitute a Nash equilibrium.
4.4.3 Methods for Finding Other PNEs Now, we consider the cases when the transmission rates may be less than minimal allocation along the path, i.e. we make the following assumption: The rate xˆr of the rth transmission along the path is not given by a trivial minimal capacity allocation (xrl ) on the route, but is defined by φ r which is an analytical function with the following properties: xˆr = φr (x)
(4.10)
xˆr ≤ min xrl ,
(4.11)
l:arl =1
where arl is a routing matrix and x = [xrl ]r=1,2, . . . ,R,l=1,2, . . . ,R is an allocation matrix. Examples of such functions: φr (x) = −ln(
L
arl e−xrl ),
(4.12)
l=1
φr (x) = (
L l=1
−1 −1 arl xrl )
(4.13)
4.5 Simulation
55
Table 4.2 Simulation parameters Parameter Cl R
arl wr α xmin,r
Value Uniformly randomly chosen from the interval [1000, 10, 000) Uniformly randomly chosen from the interval [ 12 θN (N − 1); 12 θ N (N − 1)) θ = 0.3, θ = 0.7 for each flow r the pair of nodes (i, j) (source, destination) was randomly selected Calculated as the shortest path (from source to destination), Uniformly randomly chosen from the interval [1, 10) 0.5 Uniformly randomly chosen from the interval [0.3Cˆ r ; 0, 5Cˆ r ) where Cˆ r = minl:arl =1 Cla . q
βr
ql
1.0
In such a case one may find the PNE by solving (for non-negative xrl and λl ) the following system of equations: ∀l ∀r
βd(l)
R ∂fq ∂φq (x) − arl λl = 0 ∂φq (x) ∂xrl
(4.14)
q=1
∀l
R
arl xrl = Cl
(4.15)
r=1
where: fq —utility function for the qth transmission, Cl —lth link capacity β d(l) is a coefficient related to the payoff of the domain (player) comprising the lth link.
4.5 Simulation 4.5.1 Simulation Plan Simulations were performed to evaluate the proposed algorithm. The algorithm was implemented using the Python 2.7 programming language. The simulations were conducted for small networks consisted of N ∈{5, 6, 7, 8, 9, 10} nodes and medium-size networks consisted of N ∈{15, 16, 17, 18, 19, 20}. Both parts were run for domains number D ∈{2, 3, 4, 5} and node degrees ∈{2.0, 2.2, 2.4, 2.6, 2.8, 3.0}. The simulation has been run three times for each triple (N, D, ). The remaining problem parameters values are given in Table 4.2. The uniform distribution on the interval [c, d] is denoted by U(c, d). The network topologies were generated with the method described in [1].
56 Table 4.3 Simulation results
4 SD-WAN as Multi-Domain Network Statistics for γ Average Median Variance min max
MURA 0.83 0.83 0.01 0.56 1.0
POMUR 0.96 0.97 0.02 0.0 1.0
The simulation was run three times for each set of parameter values (N, D). The considered network instances corresponded to the real-life small backbone networks [5]. SW (xMU RA ) MURA is The quality criterion is defined as follows: γ = max SW (x) , where x x∈Dˆ x
the solution found by the proposed algorithm. One may notice that P oS ≤ γ1 ≤ P oA. The optimal value of the social welfare function SW(x) was found with a primal-dual projected gradient method.
4.5.2 Simulation Experiments The statistical results of the simulations are given in Table 4.3. One may notice that the Algorithm 1 gives the average solution which deviates no more than 20% from the socially optimal (i.e. optimal in terms of the social welfare). In the worst case, this deviation is not greater than 50%, while in best cases one may obtain a socially optimal solution (i.e. γ = 1). Figures 4.4 and 4.5 show there is not much difference in the average value of the quality criterion for different sizes of networks when the POMUR algorithm is applied. On the other hand, the MURA algorithm is doing better for smaller networks. Nevertheless, for every network size, the POMUR is on average better than MURA. A similar observation applies also to the dependency between the quality criterion and number of domains (see Figs. 4.6 and 4.7). One may also notice in Figs. 4.8 and 4.9 that the higher the average node degree the better the results achieved with the MURA algorithm. However, still, the POMUR algorithm remains better on average for every average node degree.
4.6 Statistical Properties of the Algorithms To verify the observations made in the previous section, the algorithms were checked with the statistical tests (at significance level α = 0.05). We have mostly applied the non-parametric testing methods since we expected that the distribution of the quality criterion is not normal neither for MURA nor for POMUR algorithms. The Shappiro-Wilk test confirmed our expectations.
4.6 Statistical Properties of the Algorithms
57
Fig. 4.4 Criterion index γ for the MURA and POMUR algorithms versus the network size (number of nodes N) for small networks
Fig. 4.5 Criterion index γ for the MURA and POMUR algorithms versus the network size (number of nodes N) for medium networks
58
4 SD-WAN as Multi-Domain Network
Fig. 4.6 Criterion index γ for the MURA and POMUR algorithms versus the number of domains D for small networks
Fig. 4.7 Criterion index γ for the MURA and POMUR algorithms versus the number of domains D for medium networks
4.6 Statistical Properties of the Algorithms
59
Fig. 4.8 Criterion index γ for the MURA and POMUR algorithm versus the average node degree for small networks
Fig. 4.9 Criterion index γ for the MURA and POMUR algorithms versus the average node degree for medium networks
60
4 SD-WAN as Multi-Domain Network
First, we checked the upper bounds of the average value of the criterion for both algorithms. For this purpose, we have applied the Z-test. It turned out that the average quality criterion for MURA does not exceed 0.6 while for POMUR it is not greater than 0.95. For the comparison of the algorithms, the Wilcoxon’s test has been used. The POMUR gives better results than MURA on average. This conclusion confirms the observations from the charts. But there is also a positive correlation between results obtained with MURA and POMUR which has been confirmed by the Spearman’s rank test. The dependency between the quality of MURA and POMUR algorithms and the number of domains has been confirmed with the Kruskal-Wallis test. The quality of MURA depends also on the network size, average vertex degree and the number of domains according to Kruskal-Wallis test. Meanwhile, the same dependencies are not valid for POMUR. It was verified with Jonckheere-Terpstra test that for MURA and for POMUR the quality criterion decreases as the number of domains increases.
References 1. M. Faloutsos, P. Faloutsos, C. Faloutsos, On power-law relationships of the internet topology. ACM SIGCOMM Comput. Commun. Rev. 29(4), 251–262 (1999) 2. D. G asior, ˛ Nash equilibrium of capacity allocation game for autonomic multi-domain software defined networks, in International Conference on Information Systems Architecture and Technology (Springer, Berlin, 2017), pp. 219–228 3. D. G asior, ˛ Resource management for SD-WANS, in International Conference on Information Systems Architecture and Technology (Springer, New York, 2019), pp. 305–315 4. J. Nash, Non-cooperative games, in Annals of Mathematics (1951), pp. 286–295 5. Reference Networks. Accessed: 2020-02-10. http://www.av.it.pt/anp/on/refnet2.html
Chapter 5
Virtual SDNs
5.1 Introduction to Virtual SDNs An extensive overview and current research directions in the area of network virtualisation may be found, i.a., in [2, 6–8, 12, 14, 27] and [20]. Most of the papers concerning resource allocation problems in virtualisation environments involve the process of virtual network embedding (e.g., [5, 9, 11]). This issue consists in determining how to create virtual networks and map their resources onto the physical ones. In this paper, we consider the problem of managing the resources of virtual and physical networks, in response to traffic changes, with all the virtual networks are established. The adaptation of the utility theory approach to the analysis of control laws and the design of algorithms for the rate and capacity allocation in virtual networks appeared for the first time in [17]. In this chapter, we share the conceptual background, and extend the results, and provide new control algorithms which may be applied in virtual SDNs. The first method is obtained via two-level decomposition (for primal and dual variables) of the optimisation problem (in contrast to [17], where three-level decomposition is applied). In [10] we provided a rate control and capacity allocation algorithms for the special case of a network with one level of virtualisation. Compared to the previous works [10, 17, 25], instead of the classic Lagrange function, we use augmented Lagrangian, such as the one shown in [23]. As a result, it is possible to achieve a faster convergence rate. For instance, our method improves on the results reported in [22]. The presented result is similar to the primal-dual algorithm given in [16]. However, the projected subgradient is used instead of the Newton method for the step calculation. This approach allows for easy implementation also in a distributed manner; however, the trade-off is that generally more iterations are needed to obtain a satisfactory approximation of the optimal solution.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2020 D. Gasior, Resource Allocation for Software Defined Networks, SpringerBriefs in Computer Science, https://doi.org/10.1007/978-3-030-59098-7_5
61
62
5 Virtual SDNs
The second approach presented in this chapter is based on the game theory [21]. It has been already shown that the application of the game-theory mechanisms gives good results for the self-managing computer networks without virtualisation [1, 15, 19]. The game theory approaches to the resource allocation in the virtual network were introduced e.g., in [24, 26] and [18]. However, the only works that address a similar problem to the one considered in this paper are [17] (where the problem was first introduced) and [26]. Nevertheless, in contrast to this approach, the calculations of the transmission rates were not taken into account. An algorithm which provably achieves the PNE is presented in this chapter. Moreover, it is shown using simulation experiments that for some problem instances this method finds solutions very close to the optimal ones.
5.2 Mathematical Model for Virtual SDNs In this chapter, we consider the resource allocation problem for virtual SDNs. It is assumed that the physical SDN divides its resources, namely link capacities creating the virtual links. Each virtual network has the same structure as the physical one and links are mapped one to one between the physical and virtual networks as it is shown in Fig. 1.5. So, there are no tunnels (virtual links using more than one physical link) and no interior links (there is no virtual link connecting two virtual nodes located on the same physical node). Each virtual network may either virtualise further (then it behaves as though it is the physical network) or serve the traffic. Virtual networks pay for the obtained capacities (resources). The networks which virtualize obtain the receive the payment from the embedded networks (for the capacities it assigned to the particular networks). The networks which serve the traffic receive the payment which results from the users’ utilities. To incorporate all these network aspects we extend the notation from Chap. 2. The updated notation is shown in Tables 5.1, 5.2 and 5.3. If we consider the whole system as a single domain SDN, one controller determines the solution to capacity allocation. Such a system may be perceived as the one shown in Fig. 5.1 with a logical architecture as shown in Fig. 5.2.
5.2 Mathematical Model for Virtual SDNs Table 5.1 Notation—virtual networks—parameters K L c0l dvk
ckl zkl Rk arkl
wrk
Number of virtual networks Number of links (equal in every network—in physical as well as in each virtual) Capacity allocation of the lth physical link Variable defining virtualisation, i.e.: dvk = 1 if the vth virtual network is embedded in kth network (k = 0 for physical network) dvk = 0 otherwise The lth virtual link’s capacity in the kth virtual network ‘willingness-to-pay’ for additional capacity assigned in the lth link in the kth network Number of transmissions (flows) in kth virtual networks (if it serves traffic) Routing variable: arkl = 1, if the rth flow traverse the lth virtual link in kth virtual network (serving traffic) arkl = 0, otherwise ‘willingness-to-pay’ parameter for the rth transmission in the kth virtual network
Table 5.2 Notation—virtual networks—decision variables ckl ≥ 0 ck c skl ≥ 0 sk
s xrkl ≥ 0 xkl
xk x
lth link’s capacity in the kth virtual network Capacity allocation vector for the kth virtual network: ck = [ckl ]l=1,2,...,Lk Capacity allocation matrix: c = [ck ]k=1,2, . . . ,K Additional capacity allocation for the lth link in the kth virtual network: sk = [skl ]l=1,2, . . . ,L Vector of additional capacity allocations kth network: sk = [skl ]l=1,2,...,Lk Additional allocation matrix: s = [sk ]k=0,1,2, . . . ,K Capacity allocation of the lth link in the kth virtual network for rth transmission Vector of capacity allocations for transmissions in lth link in kth network: xl = [xrkl ]r=1,2,...,Rk Capacity allocation matrix for transmissions in kth network: xk = [xkl ]l=1,2, . . . ,L Capacity allocation matrix for transmissions (for all networks): x = [xk ]k=1,2, . . . ,K
63
64
5 Virtual SDNs
Table 5.3 Notation—virtual networks—objectives f (x rk ; wrk ) = wrk ϕ(x rk )
Utility function for the rth⎧ transmission in the kth network ⎨ x (1−α) rk α ≥ 0 ∧ α = 1 ϕ(x rk ) = (1−α) ⎩ ln x α=1 rk
x rk ≥ 0
The rth transmission rate in the kth virtual network: x rk = minl:arkl =1 xrkl Total income the kth virtual network serving traffic Total income kth network enabling further virtualisation Total income of the physical network Total income of kth network (in general) Total income of the whole system
k Fk (xk , ck , sk ) = R f (x ; w )+ r=1 L rk rk ˆ + l=1 g(skl ; zkl ) − L l=1 g(ckl ; bkl ) L Fk (xk , ck , sk ) = K d g(c ; b )+ v=1 L L l=1 vk vl vk + l=1 g(skl ; zkl ) − l=1 g(ckl ; bˆkl ) L F0 (x0 , c0 , s0 ) = K v=1 l=1 dv0 g(cvl ; bv0 )+ L + l=1 g(skl ; zkl ) k Fk (xk , ck , sk ) = R r=1 f (x rk ; wrk )+ K L + v=1 l=1 dvk g(cvl ; bvk )+ ˆ + L ; zkl ) − L l=1 g(skl l=1 g(ckl ; bkl ) K Q(x, c, s) = k=0 Fk (xk , ck , sk )
5.3 Problem Formulation Now we may formulate the capacity allocation problem for virtual SDNs.
Given: • physical network structure—characterised by a number of links and link capacities, • virtual networks dependencies, • transmission flows characterised by a number of flows, their routes, QoS requirements (minimal transmission rates) and utilities Find: • capacity allocation and rate allocation in all networks which maximises the total income of the whole system such that: • link capacities in any virtual network and physical network are not exceeded.
5.3 Problem Formulation
Fig. 5.1 Example of a single domain virtual software defined network
65
66
5 Virtual SDNs
Such a problem may be formally stated as follows.
Capacity Allocation in Virtual SDNs—Formal Problem Statement Given: L, K, Rk , c0l , arkl , dvk , wrk , bˆkl , bkl , zkl , α, φ Find: x∗ , c∗ , s∗ = arg
max
x≥0,c≥0,s≥0
ˆ c, s) Q(x,
(5.1)
such that: f orallk=0,1,2,...,K ∀l=1,2,...,L
Rk r=1
arkl x rk +
K
dvk cvl + skl = ckl
v=1
(5.2)
Fig. 5.2 Architecture of a single domain virtual software defined network
5.4 Capacity Allocation Algorithms for Virtual SDNs
67
5.4 Capacity Allocation Algorithms for Virtual SDNs 5.4.1 Augmented Lagrangian Algorithm In order to derive the rate control and capacity allocation algorithm, the HestenesPowell augmented Lagrangian relaxation method may applied (see, e.g., [23]). The vectors of multipliers λ, μ are introduced, which correspond, respectively to the congestion and between-network capacity depletion signalling. They should be read as: λ = [λ1 , . . . , λK ]T , λk = [λk1 , λk2 , . . . , λkL ], μ = [μ1 , μ2 , . . . , μL ]. The augmented Lagrange function corresponding to the optimisation problem (5.1) can be written as: L(x, c, v, t; λ, μ, σ ) =
Rk K
L K Urk (x rk ) − γ kl ckl + k=1 r=1 ⎛ k=1 l=1 ⎛ ⎞2 Rk L K σ ⎜ ⎝ arkl x rkl + vkl − ckl ⎠ + − ⎝ 2 l=1 k=1 r=1 K 2 ⎞ ckl + tl − Cl ⎠ + +
+ +
k=1 K L
⎛
Rk
λkl ⎝ arkl x rkl + vkl l=1 k=1 r=1 K L
⎞ − ckl ⎠ +
ckl + tl − Cl ,
μl
l
(5.3)
k=1
where v = [v1 , . . . , vK ], vk = [v1 , v2 , . . . , vL ] and t = [t1 , t2 , . . . , tL ]] are the slack variables. The optimum of the objective function (5.1) can be approximated by the solution of the associated maximisation-minimisation problem (saddle-point problem) for sufficiently large σ > 0: max min L(x, c, s, t; λ, μ, σ )
[x,c,s,t] [λ,μ]
(5.4)
The rate and capacity allocations [x, c] are the primal variables, [s, t] are the slack variables and [λ, μ] are the corresponding dual variables. Note that the constraints of problem (5.1) are omitted in the Lagrange function, and the objective function is implicitly maximised with respect to variables x and c only inside the feasible regions.
68
5 Virtual SDNs
The partial derivatives of Lagrangian are: ∂ frk (x rk ) − λkl arkl + ∂x rk l=1 ⎛ ⎞ Rk L arkl ⎝ aikl x rk + vkl − ckl ⎠ , −σ L
∂L ∂xi
=
l=1
(5.5)
i=1
⎛ ⎞ Rk ∂L = −σ ⎝ arkl x rk + vkl − ckl ⎠ + λkl , ∂vkl
(5.6)
r=1
K ∂L = −σ ckl + tl − Cl + μl , ∂tl
(5.7)
k=1
∂L ∂ckl
⎛ ⎞ Rk = −γkl + σ ⎝ arkl x rk + vkl − ckl ⎠ + ⎛ −σ ⎝
r=1 K
⎞
(5.8)
cql + tl − Cl ⎠ − λkl + μl ,
q=1 k ∂L = arkl x rk + vkl − ckl , ∂λkl
R
(5.9)
r=1
∂L = ckl + tl − Cl . ∂μl K
(5.10)
k=1
Unfortunately, it is hard (or impossible) to derive the general solutions analytically, independent of the assumed form of utility and cost functions frk and gjk . To gather all the necessary interdependent values into one processing unit and solve this optimisation problem directly we can take the advantage of the SDN controller. This concept should serve us almost instant information propagation from any point in the network as well as perfect synchronisation. However, to minimise network signals traffic, we may propose the following distributed algorithms with SDN controller coordination. Distributed implementation of the algorithm requires a special method of communication between nodes. To propagate the information about dual variables and slack variables between network and users, their physical interpretation is used. With the use of active queue management techniques (AQM, see e.g.: [3]), it is possible to shape the packet loss rate and queueing delay in the desired way. This can be used to carry the signalling information. Thus, the probability pkl of packet
5.4 Capacity Allocation Algorithms for Virtual SDNs
69
loss on a link l in the kth network is given as: pkl = 1 − exp(−λkl ).
(5.11)
Measuring the rate of successful packet delivery on a path allows computing of the sum of dual variables corresponding to any rth packet flow in the kth virtual network: L L (5.12) − arkl λkl = log (1 − arkl pkl ) . l=1
l=1
The information about delays between nodes on a flow path, i.e., for the lth link in kth network: δkl ≈
ckl −
Rk
1
r=1 arkl x rkl
+ vkl
(5.13)
This can be obtained by measuring the delay with the use of a probing packet. The slack variables vkl correspond to the idle time generated by a node (e.g., introducing random interrupts in handling the packet queue). Consequently, assuming that such a packet can gather a sequence of delays on its path and return this information to the sender, the sum of delays on the ith flow path can be calculated as: L
⎛ arkl ⎝
l=1
Rk
⎞ aikl x ik + vkl − ckl ⎠ = −
i=1
L
−1 arkl δkl .
(5.14)
l=1
It is assumed that network nodes implement appropriate mechanisms allowing the measurement of the aforementioned quantities, i.e., packet loss rate and time delays of transmitting packets between hops. The SDN controller is now responsible only for synchronization and broadcasting new σ . The summary of the augmented Lagrangian projected gradient method summarised in Algorithm 1 consists of routines in Algorithms 2, 3 and 4. Algorithm 1 Management system routine The following routine is executed by the network management system. 1: Set σ > 0. 2: Run Algorithm 2 for all users, Algorithm 3 and Algorithm 4 for all links,
simultaneously. 3: Update penalty parameter σ ← 2σ . 4: If the value of the objective function is not improved then STOP. 5: Goto 2.
70
5 Virtual SDNs
Algorithm 2 User’s routine The following routine is executed by the rth user. 1: Set constants κ > 0, > 0. Set n = 0. L 2: Estimate successful packet delivery rate and compute l=1 arkl λkl , according to the formula (5.12). 3: Measure the packet delays on each link on the path and calculate the expression given by the formula (5.14). 4: Using the obtained values, compute the value of derivative ∂x∂L according to rkl (5.5). 5: Update transmission rate x rkl [n + 1] ← x rkl [n] + κ ∂x∂L . rkl 6: If |x rkl [n + 1] − x rkl [n]| < then STOP. 7: Set n ← n + 1. Goto 2. Algorithm 3 The physical router’s routine The following routine is executed by the physical router’s interface associated with the lth link. 1: Set constants κ > 0, > 0. Set n = 0. 2: Send current physical link’s slack variable tl and between-network capacity depletion signal μl to all embedded links. 3: Using the obtained values, compute the values of the following derivatives: ∂L ∂tl ∂L according to (5.7), ∂μ according to (5.10). l 4: Update slack variables: tl [n + 1] ← tl [n] + κ ∂L ∂tl .
∂L 5: Update between-network capacity depletion signal: μl [n + 1] ← μl [n] − κ ∂μ . l 6: If the all absolute values of the updated parameters’ changes are less than then
STOP. 7: Set n ← n + 1. Goto 2.
Algorithm 4 The virtual router’s routine The following routine is executed by the router’s interface associated with the lth link in the kth virtual network. 1: Set constants κ > 0, > 0. Set n = 0. 2: Send current virtual link’s capacity ckl to all parallel links (with the same parent link). Rk 3: Estimate the current total flow in the link, i.e., r=1 arkl x rk (virtual networks). 4: Receive the parent links’ slack variables tl and the current between-network capacity depletion signals μl . 5: Receive the capacities ckl of the parallel links’ (with the same parent link). ∂L 6: Using the obtained values, compute the values of the following derivatives: ∂v kl ∂L ∂L according to (5.6), ∂c according to (5.8), according to (5.9). ∂λkl kl
5.5 Heuristic Algorithm Based on Game-Theoretic Approach
71
∂L 7: Update link’s capacity ckl [n + 1] ← ckl [n] + κ ∂c . lk
∂L 8: Update slack variables: vkl [n + 1] ← vkl [n] + κ ∂v . kl
∂L 9: Update congestion signal: λkl [n + 1] ← λkl [n] − κ ∂λ . Set the loss probability kl
according to (5.11). 10: If the all absolute values of the updated parameters’ changes are less than then STOP. 11: Set n ← n + 1. Goto 2.
We do not provide a detailed convergence analysis of the presented algorithm. Nevertheless, according to [4], it can be shown that for an appropriately chosen value of κ (e.g., sufficiently small or descending in each iteration at an adequate rate) the proposed algorithm converges to the optimal solution of the problem (5.1). Moreover, as it was shown in [22], optimisation algorithms using augmented Lagrangian deliver good convergence rates.
5.5 Heuristic Algorithm Based on Game-Theoretic Approach Let us define the following capacity allocation game for the virtual network environment. Each link in the physical network and any virtual network is associated with one player. Thus there are (K + 1)L players. The players must decide how they allocate their capacities. The decision of a player is called the player’s strategy. The strategy s0l of the lth physical link player consists in dividing the available capacity among the virtual links, i.e., s0l = [c1l , c2l , . . . , cKl ], where ckl denotes the maximal capacity which may be used by the lth link in the kth virtual network. The physical link player’s choice is restricted only to the feasible decisions, that is, satisfying: S0l = {s0l :
K
ckl ≤ Cl ∧ ∀k ckl ≥ 0}.
(5.15)
k=1
The strategy skl of the lth virtual link in the kth virtual network consists of the rate allocation, i.e., skl = (ckl , [ϕ1kl , ϕ2kl , . . . , ϕRk kl ]), where cˆkl is the maximal capacity acceptable for the lth virtual link in the kth network and ϕrkl denotes the fraction of the capacity allocated by the lth link in the kth network to the transmission of the rth flow. However, the transmission rate x rk depends on the minimal allocation made on the flow’s route, that is: x rk = min ϕrkl min{ckl , ckl }. l:arkl =1
and the final capacity of the lth link in the kth virtual network is:
(5.16)
72
5 Virtual SDNs
ckl = min{ckl , ckl }
(5.17)
The set of the feasible strategies of the lth link in the kth virtual network is defined as follows: Skl = {skl :
Rk K
arkl ϕrkl ≤ 1 ∧ ∀r ϕrkl ≥ 0 ∧ ckl ≥ 0}.
(5.18)
k=1 r=1
The vector of all players decisions, referred to as the strategy profile, is defined as follows: s = [s00 , s01 , . . . , s0L, s10 , s11 , . . . s1L , . . . , sK1 , sK2 , . . . , sKL ].
(5.19)
The payoff of the lth physical link player is as follows: ˆ 0l (s) = Q
K
γˆkl min{ckl , ckl }
(5.20)
k=1
and the payoff of the lth virtual link player of the kth network is as follows: ˆ kl (s) = Q
Rk
βrk frk ( min {ϕrkl min{ckl , ckl }})
r=1
−
L
l:arkl =1
(5.21)
(γˆkl min{ckl , ckl } + γ kl min{ckl , ckl }),
l=1
−1 where βrk = ( L l=1 arkl ) . Let us define Social Welfare (SW) as the sum of all players’ payoffs, i.e., SW (s) =
Rk K k=1 r=1
Urk ( min {ϕrkl min{ckl , ckl }}) − l:arkl =1
K L
γ kl min{ckl , ckl }.
l=1 k=1
(5.22) Observe that SW(s) given in (5.22) is equal to the objective function if transmission rates are calculated according to the (5.16) and the virtual links capacities results from (5.17). Now, the Algorithm 5 may be introduced to compute certain feasible strategy profiles. One may notice that no specific routine for the end-user (flow) is required. It is enough that the flow rate increases when there are enough resources on its path. All steps of the Algorithm 5 may be performed locally on the lth physical link
5.5 Heuristic Algorithm Based on Game-Theoretic Approach
73
and associated virtual links (in practice it means that the calculations may be made locally on the physical router and associated virtual routers). In the beginning, all virtual links obtain an equal amount of capacity (step 2). Then they determine the allocation using the Algorithm 6 (steps 2–4). The physical link chooses the capacity allocation among the virtual networks resizing them in step 5. According to the changes in the allocation, the virtual links scale their capacity allocation, so the flow rates also vary (step 9). The resize factor determination performed in steps 7–11 should be done in the SDN controller so the results can be immediately distributed to all the devices (links). This procedure could be also distributed. It could be done in two ways. The first method is the direct one and it needs additional signalling between links. The second one is indirect and assumes making the measurements of the flow rates traversing link each time the resize factor is changed. Algorithm 5 Game-theoretical capacity allocation algorithm for virtual network environment 1: Set constants κ > 0, > 0. Set n = 0. 2: For every virtual network k: find the capacity allocation xrkl for all links
using Rate Allocation Algorithm summarized in Algorithm 6 assuming that virtual link capacity is given by: ckl = K1 min{Cl , cˆkl }, where cˆkl = R k )1/α . r=1 arkl (wrk /γkl R k 3: Calculate: kl = r=1 arkl xrkl for every virtual link l in every virtual network k. x 4: Calculate: ϕrkl = rkl for every transmission flow r in every virtual link l in kl every virtual network k. 5: For every physical link l solve the following linear programming problem: ∗ ∗ ∗ (ψ1l , ψ2l , . . . , ψKl ) = arg
max
(ψ1l ,ψ2l ,...,ψKl )
K
ψkl γkl
(5.23)
k=1
subject to: K
ψkl kl ≤ Cl
(5.24)
∀k ψkl ∈ [0, K]
(5.25)
k=1
∗ 6: For every virtual link l in every virtual network k set: ψ kl = ψkl 7: For every virtual link l in every virtual network k calculate temporary capacity:
=ψ ckl kl kl ˆ kl = ψ kl 8: For every virtual link l in every virtual network k set: ψ
74
5 Virtual SDNs
. 9: Calculate temporary transmission rates: x rk = minl:arkl =1 ϕrkl ckl
= minr {x rk (ϕkl ckl )−1 } If ∃k ∃l (ψ kl − ψˆ kl ) = 0 Goto 7 For every virtual link l in every virtual network k calculate: ckl = ψk kl For every physical link l calculate: ckl = min{ckl , cˆkl } The virtual link players strategies are obtained in Step 4 and Step 12, while the physical link players strategies are determined in Step 13
10: For every virtual link l in every virtual network k update: ψ kl 11: 12: 13: 14:
Algorithm 6 Rate Allocation Algorithm The following routine is executed by all virtual routers’ interfaces associated with the kth virtual network. 1: Set n ← 1. 2: Set R˜ ← {1, 2, . . . , Rk }. ˜ ← {1, 2, . . . , L}. 3: Set L ˜ set c˜kl ← ckl 4: For all l ∈ L 5: While n ≤ L: 1/α
(wrk βrk ) 6: For all r ∈ R˜ set: xrk ← minl∈L:a ˜ rkl =1 arkl ( 1/α ckl r∈R˜ arkl wrk βrk )
˜ 7: Find: l = min{l ∈ L
r∈R˜ arkl xrk
˜ ← L/{l ˜ } 8: Update: L ˜ update: ckl ← ckl − 9: For all l ∈ L
= c˜kl }
r∈R˜ arkl arkl xrk
˜ 10: Update: R˜ ← R/{r ∈ R˜ : arkl = 1} 11: Update n ← n + 1. 12: Return xk = [x1k , x2k , . . . , xRk k ].
From the practical point of view, the link strategies are calculated by the corresponding router interfaces. The computations can be carried out independently by all players since the only constraints imposed on player strategies are local. This makes this algorithm suitable for implementation as a decentralised protocol. Moreover, the obtained solution constitutes PNE. This fact can be simply justified. It is clear that all the players use their best response. Any physical link player cannot increase the value of payoff by changing his strategy for other fixed strategies. This is because increasing the value of ckl for fixed ckl does not increase the value of min{ckl , ckl }. The strategies of virtual link players calculated with Algorithm 6 are the best responses for the fixed strategies of physical links which results from the theorem given in [15].
5.6 Simulation Experiments
75
In consequence, it would be pointless to change the capacity allocation algorithm in any network router, since it would result in a deterioration of those device payoffs. It is useful especially when the new appliance becomes connected to the network. The procedure mentioned above is summarised as Algorithm 5.
5.6 Simulation Experiments The summary of properties of both elaborated algorithms in comparison to DaVinci [17] is given in Table 5.4. The experiments were conducted to compare the values of the objective for the solutions obtained with the heuristic algorithm to the ones found with the augmented Lagrangian method and DaVinci algorithm. The two latter algorithms run until the improvement of the objective function is less than a given threshold. First, the objective values obtained at the end of each algorithm were used for comparison. Next, the objective values obtained at a certain time point of algorithms’ operation were compared. The time point was set to be equal to the heuristic algorithm run time. The experiments were conducted for the environments for which the physical network consisted of N ∈{7, 8, 9, 10} nodes which correspond to small size networks and N ∈{17, 18, 19, 20} (medium size networks). Both parts were run for node degrees ∈ {2.1, 2.2, 2.3}. The considered number of virtual networks is also limited, i.e., K ∈{10, 12, 14}. All possible tuples of network parameters are considered, generating at random 10 instances of networks for each tuple (N, K, ) ∈{7, 8, 9, 10}×{10, 12, 14}×{2.1, 2.2, 2.3} and (N, K, ) ∈{17, 18, 19, 20}×{10, 12, 14}×{2.1, 2.2, 2.3}. Each of the network instance’s structures was generated using the method shown in [13]. The flows were generated by randomly choosing pairs of nodes. The routing matrix A was calculated using the shortest
Table 5.4 Comparison of capacity allocation algorithm for virtual networks Property Value of the objective Convergence
DAVINCI Converges to optimal
ALA Converges to optimal
CAVE Suboptimal
Subject to the choice of parameter κ
No converge issues (always limited number of iterations) Any end user’s method for increasing the transmission rate in the absence of congestion signals is acceptable Only local information needs to be exchanged
End user’s (flow’s) control routine
Part of algorithm needs to be implemented on the end user’s device
Subject to the choice of parameter κ (faster than DaVinci) Algorithm 2 needs to be implemented on the end user’s device
Signaling
One type of congestion signal is used
Two types of congestion signals are used
76
5 Virtual SDNs
Table 5.5 Simulation parameters Parameter α wrk γ kl Rk Cl
Value 0.5 Uniformly randomly chosen from the interval [3, 5] Uniformly randomly chosen from the interval [1, 2] Uniformly randomly chosen from the interval [0.05N(N − 1), 0.25N(N − 1)] for every k Uniformly randomly chosen from the interval [1000, 10000] for every l
path algorithm. The values of the rest of the parameters were set as it is shown in Table 5.5. To evaluate the performance of the algorithms, let us introduce the following indices: (A) =
QTA − Qmin , QTDAV I N CI − Qmin
(5.23)
T (A) =
QTA − Qmin , QTDAV I N CI − Qmin
(5.24)
where QA is the value of the objective function obtained using algorithm A, i.e. either the heuristic or augmented Lagrangian method, while QTA is the value of the objective function obtained using those algorithms up to the specific time point, QDAVINCI is the value of the objective function achieved by the DaVinci method, while QTDAVINCI is the value of the objective function achieved by the DaVinci method run-up to a specific time point, and Qmin is the lowest possible value of the objective function. The obtained results are presented in Figs. 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.10, 5.11, 5.12, 5.13, 5.14, 5.15, 5.16, 5.17, 5.18, 5.19, 5.20, 5.21, 5.22, 5.23, 5.24, 5.25, 5.26. The resulting values are the averages from the calculations made for all instances of each tuple (N, K, ). First, the results obtained for the case when algorithms may work indefinitely (shown in Figs. 5.3 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.10, 5.11, 5.12, 5.13, 5.14) are discussed. As it may be seen on the Figs. 5.3, 5.4, 5.5 and 5.9, 5.10, 5.11, the proposed heuristic algorithm may give a solution that is very close to the optimum. This makes the method especially useful for dense networks (see solid lines in Figs. 5.3, 5.4, 5.5 and 5.9, 5.10, 5.11), where the average value of the evaluation index was about 87%. It must be stressed that in the individual cases, the value of the index was over 97%. The average value of the evaluation index for all the considered cases was 64%, which is quite a satisfying result, given that the calculation time may be considerably reduced, and the implementation of the algorithm as the network protocol is much easier. However, for the sparse networks, the DaVinci method was significantly better (see dotted lines in Figs. 5.3, 5.4, 5.5 and 5.9, 5.10, 5.11).
5.6 Simulation Experiments
77
Fig. 5.3 Evaluation index (A) for CAVE algorithm versus the size of a small network (number of nodes N) for different values of the average vertex degree for K = 10
Fig. 5.4 Evaluation index (A) for CAVE algorithm versus the size of a small network (number of nodes N) for different values of the average vertex degree for K = 12
78
5 Virtual SDNs
Fig. 5.5 Evaluation index (A) for CAVE algorithm versus the size of the small network (number of nodes N) for different values of the average vertex degree for K = 14
Fig. 5.6 The evaluation index (A) for ALA algorithm against the size of the small network (number of nodes N) for different values of links’ density for K = 10
5.6 Simulation Experiments
79
Fig. 5.7 Evaluation index (A) for ALA algorithm versus the size of the small network (number of nodes N) for different values of the average vertex degree for K = 12
Fig. 5.8 Evaluation index (A) for ALA algorithm versus the size of the small network (number of nodes N) for different values of the average vertex degree for K = 14
80
5 Virtual SDNs
Fig. 5.9 Evaluation index (A) for CAVE algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 10
Fig. 5.10 Evaluation index (A) for CAVE algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 12
5.6 Simulation Experiments
81
Fig. 5.11 Evaluation index (A) for CAVE algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 14
Fig. 5.12 Evaluation index (A) for ALA algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 10
82
5 Virtual SDNs
Fig. 5.13 Evaluation index (A) for ALA algorithm against the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 12
Fig. 5.14 Evaluation index (A) for ALA algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 14
5.6 Simulation Experiments
83
Fig. 5.15 Evaluation index T (A) for CAVE algorithm versus the size of the small network (number of nodes N) for different values of the average vertex degree for K = 10
Fig. 5.16 Evaluation index − T(A) for CAVE algorithm versus the size of the small network (number of nodes N) for different values of the average vertex degree for K = 12
84
5 Virtual SDNs
Fig. 5.17 Evaluation index T (A) for CAVE algorithm versus the size of the small network (number of nodes N) for different values of the average vertex degree for K = 14
Fig. 5.18 Evaluation index T (A) for ALA algorithm versus the size of the small network (number of nodes N) for different values of the average vertex degree for K = 10
5.6 Simulation Experiments
85
Fig. 5.19 Evaluation index T (A) for ALA algorithm versus the size of the small network (number of nodes N) for different values of the average vertex degree for K = 12
Fig. 5.20 Evaluation index T (A) for ALA algorithm versus the size of the small network (number of nodes N) for different values of the average vertex degree for K = 14
86
5 Virtual SDNs
Fig. 5.21 Evaluation index T (A) for CAVE algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 10
Fig. 5.22 Evaluation index T (A) for CAVE algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 12
5.6 Simulation Experiments
87
Fig. 5.23 Evaluation index T (A) for CAVE algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 14
Fig. 5.24 Evaluation index T (A) for ALA algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 10
88
5 Virtual SDNs
Fig. 5.25 Evaluation index T (A) for ALA algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 12
Fig. 5.26 Evaluation index T (A) for ALA algorithm versus the size of the medium network (number of nodes N) for different values of the average vertex degree for K = 14
References
89
In all cases, the Augmented Lagrangian Algorithm gave slightly better results than DaVinci (see Figs. 5.6, 5.7, 5.8 and 5.12, 5.13, 5.14). In Figs. 5.15, 5.16, 5.17, 5.18, 5.19, 5.20, 5.21, 5.22, 5.23, 5.24, 5.25, 5.26 the results for the case when all algorithms must terminate when the heuristic stops are introduced. It may be seen that CAVE method is much better in such a case than both the DaVinci and Augmented Lagrangian Algorithm. Moreover, even Augmented Lagrangian Algorithms give undoubtedly better results than DaVinci.
References 1. O.G. Aliu, A. Imran, M.A. Imran, B. Evans, A survey of self organisation in future cellular networks. IEEE Commun. Surv. Tutorials 15(1), 336–361 (2012) 2. T. Anderson, L. Peterson, S. Shenker, J. Turner, Overcoming the internet impasse through virtualization. Computer 38(4), 34–41 (2005) 3. S. Athuraliya, S.H. Low, V.H. Li, Q. Yin, Rem: Active queue management. IEEE Network 15(3), 48–53 (2001) 4. Z. Bubnicki, Modern Control Theory, vol. 2005925392 (Springer, 2005) 5. M. Chowdhury, M.R. Rahman, Vineyard: Virtual network embedding algorithms with coordinated node and link mapping. IEEE/ACM Trans. Networking 34(3), 206–219 (2012) 6. N.M.K. Chowdhury, R. Boutaba, Network virtualization: state of the art and research challenges. IEEE Commun. Mag. 47(7), 20–26 (2009) 7. N.M.K. Chowdhury, R. Boutaba, A survey of network virtualization. Computer Networks 54(5), 862–876 (2010) 8. M. Creeger, Moving to the edge: a cto roundtable on network virtualization. Commun. ACM 53(8), 55–62 (2010) 9. J. Ding, T. Huang, J. Liu, Y.-J. Liu, Virtual network embedding based on real-time topological attributes. Front. Inf. Technol. Electron. Eng. 16(2), 109–118 (2015) 10. M. Drwal, D. Gasior, Utility-based rate control and capacity allocation in virtual networks, in Proceedings of the 1st European Teletraffic Seminar, pp. 176–181 (2011) 11. F. Esposito, D. Di Paola, I. Matta, On distributed virtual network embedding with guarantees. IEEE/ACM Trans. Networking 24(1), 569–582 (2014) 12. R.P. Esteves, L.Z. Granville, R. Boutaba, On the management of virtual networks. IEEE Commun. Mag. 51(7), 80–88 (2013) 13. M. Faloutsos, P. Faloutsos, C. Faloutsos, On power-law relationships of the internet topology. ACM SIGCOMM Comput. Commun. Rev. 29(4), 251–262 (1999) 14. A. Fischer, J.F. Botero, M.T. Beck, H. De Meer, X. Hesselbach, Virtual network embedding: A survey. IEEE Commun. Surv. Tutorials 15(4), 1888–1906 (2013) 15. D. G asior, ˛ M. Drwal, Pareto-optimal nash equilibrium in capacity allocation game for selfmanaged networks. Computer Networks 57(14), 2817–2832 (2013) 16. P.E. Gill, D.P. Robinson, A primal-dual augmented lagrangian. Comput. Optim. Appl. 51(1), 1–25 (2012) 17. J. He, R. Zhang-Shen, Y. Li, C.-Y. Lee, J. Rexford, M. Chiang, Davinci: Dynamically adaptive virtual networks for a customized internet, in Proceedings of the 2008 ACM CONEXT Conference, pp. 1–12 (2008) 18. X. Lv, A. Xiong, S. Zhang, X.-S. Qiu, Vcg-based bandwidth allocation scheme for network virtualization, in 2012 IEEE Symposium on Computers and Communications (ISCC) (IEEE, 2012), pp. 000744–000749 19. A.B. MacKenzie, S.B. Wicker, Game theory and the design of self-configuring, adaptive wireless networks. IEEE Commun. Mag. 39(11), 126–131 (2001)
90
5 Virtual SDNs
20. R. Mijumbi, J. Serrat, J.-L. Gorricho, Self-managed resources in network virtualisation environments, in 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM) (IEEE, 2015), pp. 1099–1106 21. N. Nisan et al., Introduction to mechanism design (for computer scientists). Algorithmic Game Theory 9, 209–242 (2007) 22. R.A. Polyak, On the local quadratic convergence of the primal–dual augmented lagrangian method. Optim. Methods Softw. 24(3), 369–379 (2009) 23. R.T. Rockafellar, The multiplier method of hestenes and powell applied to convex programming. J. Optim. Theory Appl. 12(6), 555–562 (1973) 24. M.S. Seddiki, M. Frikha, A non-cooperative game theory model for bandwidth allocation in network virtualization, in 2012 15th International Telecommunications Network Strategy and Planning Symposium (NETWORKS) (IEEE, 2012), pp. 1–6 25. T. Trinh, H. Esaki, C. Aswakul, Dynamic virtual network allocation for openflow based cloud resident data center. IEICE Trans. Commun. 96(1), 56–64 (2013) 26. Y. Zhou, Y. Li, G. Sun, D. Jin, L. Su, L. Zeng, Game theory based bandwidth allocation scheme for network virtualization, in 2010 IEEE Global Telecommunications Conference GLOBECOM 2010 (IEEE, 2010), pp. 1–5 27. Y. Zhu, M.H. Ammar, Algorithms for assigning substrate network resources to virtual network components, in INFOCOM, vol. 1200 (Citeseer, 2006), pp. 1–12
Chapter 6
Multi-Domain Virtual SDNs
6.1 Mathematical Model for Multi-Domain Virtual SDNs Let us now consider the case where each virtual network constitutes a domain with its SDN controller. Such a system may be perceived as the one shown in Fig. 6.1 with a logical architecture as shown in Fig. 6.2. For convenience let us introduce the auxiliary notation given in Table 6.1 (it applies only to this chapter). Now we may indicate the correlation to the decision variables introduced in the previous chapter. The capacity of lth link in kth network: ckl = min{γvkl cvl , ckl } The capacity allocated to the rth transmission flow in lth link of kth network: xrkl = γˆrkl ckl . The additional capacity allocation for lth link in kth network: skl = ckl − R k K v=1 dvk cvl . r=1 arkl x rk − Now, we may determine the form of the objective function for the lth link in kth network. For virtualizing networks the objective is as follows: Qkl (σkl , σ−(kl) ) = R k ˆ serving traffic r=1 f (x rk ; wrk ) + g(skl ; zkl ) − g(ckl ; bkl ) and for networks K the objective may be calculated as: Qkl (σkl , σ−(kl) ) = v=1 dvk g(cvl ; bkl ) + g(skl ; zkl ) − g(ckl ; bˆkl )
6.2 Problem Formulation Now, we may formulate the capacity allocation problem for multi-domain SDNs.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2020 D. Gasior, Resource Allocation for Software Defined Networks, SpringerBriefs in Computer Science, https://doi.org/10.1007/978-3-030-59098-7_6
91
92
6 Multi-Domain Virtual SDNs
Fig. 6.1 Example of a single domain virtual software defined network
6.2 Problem Formulation
93
Fig. 6.2 Architecture of a single domain virtual software defined network
Given: • physical network structure—characterised by a number of links and link capacities, • virtual networks (domain) dependencies, • transmission flows characterised by a number of flows, their routes, QoS requirements (minimal transmission rates) and utilities. Each link in each virtual network finds: (continued)
94
6 Multi-Domain Virtual SDNs
Table 6.1 Auxiliary notation for resource allocation problems in multi-domain virtual networks γ vkl ≥ 0
Allocation made for the lth link of the vth network in terms of the fraction of the lth link capacity of the kth network γ kl = [γvkl ]v:dvk =1 Rate allocation made for the rth transmission as a fraction of the lth link capacity of the kth network γˆ kl = [γˆrkl ]r=1,2,...,Rk Acceptable capacity for lth link in the kth network Objective function of the lth link of the kth network for virtualizing networks: σkl = (γ kl , ckl ) σ −(kl) = [σ vj ]v=0,1,2, . . . ,k−1,k+1, . . . ,K;j=1,2, . . . ,l−1,l+1, . . . ,L for networks serving traffic: σkl = (γˆ kl , ckl ) σ −(kl) = [σ vj ]v=0,1,2, . . . ,k−1,k+1, . . . ,K;j=1,2, . . . ,l−1,l+1, . . . ,L
γˆrkl ≥ 0 ck l ≥ 0 Qkl (σ kl , σ −(kl) )
• capacity allocation which maximises its local income such that: • link capacity is not exceeded.
It may be formally stated as follows.
Capacity Allocation Problem for Virtual SD-WANs Given: L, K, Rk , c0l , arkl , dvk , wrk , bˆkl , bkl , zkl , α, φ ∀k=0,1,2,...,K:K dvk ≥1 ∀l=1,2,...,L find: v=1
σkl∗ = arg max Qkl (σkl , σ−(kl) ) σkl
such that: K v=1 dvk γvkl ≤ 1 ∀k=1,2,...,K:K dvk =0 ∀l=1,2,...,L v=1
find:
σkl∗ , c∗kl = arg max Qkl (σkl , σ−(kl) ) σkl
such that:
R k
r=1 arkl γˆrkl
≤1
(6.1)
(6.2)
6.3 Capacity Allocation Algorithm for Multi-Domain Virtual Software-. . .
95
We may make the following remarks • Each link of each network solves (6.1) independently. • The considered problem is a game: ‘Capacity Allocation of Virtual Links’. – Players: links in networks (k, l) = (0, 1), (0, 2), . . . , (0, L), (1, 1), (1, 2), . . . (1, L) . . . (K, 1), (K, 2), . . . , (K, L) – Strategies: link capacity allocations σ kl – Payoffs: Given by functions Qkl (σ kl , σ −(kl) ) • For given σ −(kl) the problem (6.1) solution is equivalent to finding the best response of the game. • The allocation for which the above property if fulfilled for every k, l is PNE.
6.3 Capacity Allocation Algorithm for Multi-Domain Virtual Software-Defined Networks Let us now consider only the case where b