Dottorato di Ricerca in Tecnologie dell’Informazione XXIX Ciclo
DESIGN, IMPLEMENTATION AND OPTIMIZATION OF INNOVATIVE INTERNET ACCESS NETWORKS, BASED ON FOG COMPUTING AND SOFTWARE
Chiar.mo Prof. Marco Locatelli
Chiar.mo Prof. Gianluigi Ferrari
Dottorando: Nicola Iotti
and my family
1 Related Works 7
1.1 Architecture . . . 7
1.2 Fog - Cloud Interaction in IoT . . . 9
1.3 Resources Management and Infrastructure Design . . . 12
2 Validation Analysis of a Fog-Based Wireless Access Networks 13 2.1 Chapter Introduction . . . 13
2.2 Validation Analysis . . . 14
2.2.1 Experiment Description and Collected data . . . 14
2.2.2 Data Analysis and Traffic Optimization . . . 15
2.2.3 Resources Evaluation . . . 21
2.2.4 Bandwidth Management . . . 22
2.3 Chapter Conclusions . . . 23
3 Internet Access Networks based on Fog Computing, SDN, Containers and APIs 25 3.1 Chapter Introduction . . . 25
3.2 Architecture . . . 27
3.3 Lab Description . . . 32
3.4 Evaluation . . . 34
3.4.1 Test Description . . . 34
3.4.2 Experimental Data Analysis . . . 36
3.5 Chapter Conclusions . . . 39
4 Feasibility Analysis: Managing the Connection of Heterogeneous Smart Objects through Fog Nodes 41 4.1 Chapter Introduction . . . 41
4.2 IoT Hub Architecture . . . 44
4.2.1 Link-layer Functions . . . 45
4.2.2 Application-layer Functions . . . 46
4.2.3 Synchronization Protocol . . . 50
4.3 Resource access through the Fog . . . 52
4.4 Experimental Analysis . . . 53
4.4.1 Implementation and Evaluation of IoT Hub resources . . . . 54
4.4.2 Experimental Setup for the Evaluation of the Replica and Synchronization System . . . 56
4.4.3 Performance Evaluation . . . 59
4.5 Results Analysis . . . 65
4.6 Chapter Conclusions . . . 66
5 Real Cases Benefits Evaluation 69 5.1 Chapter Introduction . . . 69
5.2 Traditional WISP Approach . . . 70
5.3 Main Changes . . . 71
5.3.1 Fog Node: the Evolution of Wi-Fi Access Controller and the introduction of Mobile SDK . . . 72
5.3.2 Application Re-Design . . . 72
5.4 Main Consequences . . . 72
5.4.1 Authentication . . . 73
5.4.2 Hosting Applications on the Fog Node . . . 73
5.4.3 Resources Optimization . . . 75
5.5 Chapter Conclusions . . . 78
6 Fog Architecture Design 79
6.1 Chapter Introduction . . . 79
6.2 From End Devices to User Virtual Environments . . . 80
6.3 Models . . . 81
6.3.1 Model for User Virtual Environment . . . 82
6.3.2 Model for Application . . . 82
6.3.3 Model for Fog Node . . . 83
6.4 Design and Optimization Problem . . . 84
6.5 Clustering . . . 85
6.5.1 Static Clusters with Hierarchy . . . 85
6.5.2 Dynamic Overlapping Clusters . . . 87
6.6 Architectures Comparison . . . 89
6.7 Chapter Conclusions . . . 94
7 Conclusions 95 7.1 Design . . . 95
7.2 Validation . . . 96
7.3 Feasibility . . . 96
7.3.1 Wi-Fi Internet Access . . . 96
7.3.2 IoT Hub and the Interaction between Fog and Cloud . . . . 97
7.4 Benefits Evaluation in Real Deployments . . . 97
7.5 Architecture . . . 98
2.1 Average bandwidth utilization in 1 hour period, measured in hotel A,
hotel B and hotel C. . . 17
2.2 Manageable and non-Manageable traffic downloaded during the day 21 2.3 Possible downloaded traffic redistribution during the day, compared to the actual total traffic distribution . . . 22
3.1 Representation of the proposed architecture for Internet access net- works. . . 28
3.2 Specific Fog-based architecture for proactive caching described in Chapter 2, not including SDN-based network, VMs and containers deployed on the node. Data flow for dynamic content transfer is shown in blue, while local caching traffic flow in red. . . 31
3.3 Scheme of the lab architecture. . . 32
3.4 Starting configuration of the virtual network . . . 35
3.5 Final configuration of the virtual network . . . 36
3.6 Duration distribution of the following operations: (i) authentication only, (ii) authentication and disconnection of virtual network and (iii) authentication and deployment of virtual infrastructure includ- ing SDN-networking and containers . . . 38
4.1 Protocol stack and functional modules implemented by IoT Hub. . . 44
4.2 The border router function of the IoT Hub has the goal of creating a single all-IP network bridging different physical networks. . . 46 4.3 Modules and interactions of application-layer modules of the IoT Hub. 47 4.4 CoAP-based interaction between the Resource Discovery module and
the Resource Directory for resource registration and update. . . 49 4.5 The broker-based message flow between the IoT Hub and its replicas
is shown in (a), while the internal structure of the Replica Registry module of the IoT Hub is shown (b). . . 52 4.6 Interaction between clients and heterogeneous smart objects with the
mediation of the IoT Hub. . . 54 4.7 Performance evaluation: (a) Heap memory used (dimension: [MB]);
(b) CPU usage (adimensional). . . 55 4.8 (a) Average synchronization time (dimension: [ms]) respect to the
number of synchronized resources; (b) Average remote resource ac- cess time (dimension: [ms]) in different application scenarios. . . . 57 4.9 Average IoT Hub creation time (dimension: [s]) on different Cloud
platforms. . . 57 4.10 Synchronization procedure performed at startup of the replica of an
IoT Hub. . . 58 4.11 IoT Hub process CPU percentage usage (dimension: [adimensional])
on a local (Raspberry Pi node) and remote instance (Microsoft Azure VM). . . 61 4.12 Effect of replica management with respect to the increasing number
of requests per second on Microsoft Azure Infrastructure. . . 63 4.13 Average IoT Hub startup time (dimension: [ms]) on a Docker container. 64 5.1 Number of simultaneous connections on a country wide network of
Hotspot, during a period of three months. . . 71 5.2 Improvement in Wi-Fi network usage, in terms of number of connec-
tions, after the introduction of seamless mobile App-driven authenti- cation system. . . 74
5.3 (a) CPU usage on the considered Fog Node; (b) RAM usage on the considered Fog Node. . . 76 6.1 Graphical representation of the shift from end device to the concept
of User Virtual Environment. . . 81 6.2 Representation of the concept of static cluster with hierarchy. . . 86 6.3 Representation of the impossibility to deploy a User Virtual Environ-
ment in a static cluster, with Fog Nodes available outside the cluster. 87 6.4 Representation of the concept of dynamic overlapping cluster. . . . 88 6.5 Graphical representation of the situation where a User Virtual Envi-
ronment can not be deployed inside a static cluster, but there would be available Fog Nodes outside the cluster in order to make the de- ployment possible in an dynamic overlapping cluster. . . 90 6.6 Representation of the distribution of average round trip time, on 89,500,000
measurements,on links connecting 4,116 nodes deployed on field . . 92
2.1 Data related to the numbers of connected devices: maximum per day;
average per day; total, with at least one connection, during the en- tire monitoring period (one month) and total Internet traffic, in both download and upload. . . 16 2.2 Percentages of Manageable traffic in an average day. . . 20 3.1 Average duration and standard deviation of the distribution of dura-
tions of the following operations: (i) authentication only; (ii) authen- tication and disconnection of virtual network; and (iii) authentication and deployment of virtual infrastructure including SDN-networking and containers. . . 39 4.1 Average CPU and memory utilization percentages related to specific
IoT Hub procedures on both local and remote instances. . . 60 5.1 Average daily number of connections and users, before and after the
introduction of the seamless authentication based on mobile App, in a real location. . . 73 5.2 Data related to the workload locally managed and the traffic saved by
the version of provider’s analytics, able to leverage the Fog Comput- ing approach. . . 75
5.3 Data related to the experiment performed in order to show that Wi-Fi hotspot provider’s core applications, related to users and connections statistics, can be redesigned in order to locally perform their task on Fog Nodes, with the same capabilities of the access controllers al- ready deployed, fixing the lack of resources optimization of the tra- ditional approach. . . 77 6.1 Data gathered on field and deduced from the distribution of average
round trip time of considered links. . . 93
End devices, connected to the Internet, have experienced a significant evolution dur- ing the last ten years. Smartphones and tablets have been introduced, beside note- books, and the concept of mobile applications (App), running on user’s devices, has radically changed the behavior and expectation of Internet users. Data centers have also deeply evolved owing to the introduction of new technologies. The concept of virtualization brought a totally new generation of data center and opened the way to the evolution of the Cloud and to a new way to design applications and services.
However, access networks, that are in the middle, failed to support this revolution.
Internet access networks in public areas, such as hotels, retail shops or town centers, have witnessed a remarkable evolution in terms of performance, Authenti- cation Authorization and Accounting (AAA) features, registration options, and ca- pability to localize and engage users however, they are basically still relying on a traditional approach, where connectivity is provided by deploying network devices, such as switches, routers, access points or middleware, able to implement specific network functions. These functions are typically used to connect clients to applica- tions running on the web or in the Cloud. Also from the point of view of the business owners, that deploy Internet access networks in their locations for customers and guests (such as, for example, retailers or hotels), the network infrastructure remains a black box that just has to work. While these brands are developing highly specialized mobile App, web sites or core services, the access networks in their locations are far less specialized. If we consider two different types of business, such as stores and hotel chains, we can verify that they have very different mobile Apps, websites, cus-
tomer’s databases, but basically the same Wi-Fi access network with access points, switches, (Virtual Local Area Networks) VLANs and similar authentication systems.
This means that the network is still not optimized and the design of this network portion is totally different compared to the software elements.
Moreover, Internet access networks are now facing critical challenges related to the ever increasing number and type of connected devices and to the strict require- ments of new generation of services. The number of connected devices is rapidly growing and recent forecasts estimate an acceleration of this trend . Connected devices will be also more heterogeneous, including different types of users’ devices and all kinds of smart objects. The evolution of the Internet of Things (IoT), as well as the changing of users’ devices and habits, will increase the proliferation of ser- vices with different requirements, in terms of computation, storage, bandwidth, and real-time interaction capabilities.
In general, Internet access networks in public areas are exposed to critical issues, because of the rapid changes in connected devices and services, including the IoT revolution, because the Internet access technology did not evolve in parallel to end devices and the Cloud thus it failed to support the shift to a mobile lifestyle of the users. Access networks also lost the capability to play an active and specialized role in supporting the business of the locations owners. Building networks that are just able to provide more resources, or differentiating access networks to accommodate different types of services, is not the right approach to handle the workload and the complexity brought about by these new challenges. For this reason, academia and industry are putting significant efforts to develop new network architectures that take into account the very nature of these changes, rather than just blindly and naively boosting the underlying network bandwidth capabilities.
In this dissertation, we introduce a new approach to Internet access networks in public spaces, such as Wi-Fi network commonly known as Hotspots, based on Fog Computing (or Edge Computing), Software Defined Networking (SDN), and the deployment of Virtual Machines (VM) and Linux Containers on the edge of the network. The proposed infrastructure is based on these elements and exposes Rep- resentational State Transfer (REST) Application Programming Interfaces (APIs) in
order to make them able to interact with external applications, either running in the Cloud or on end-user devices, which can trigger and control the deployment of virtual environments.
Fog Computing, or Edge Computing, is a novel paradigm that aims at optimiz- ing networking, computing, storage resources and improving the quality of service brought to users (in terms of latency and throughput), by moving resources at the edge of access networks . This approach is set to avoid issues that affect tradi- tional Cloud-based solutions, such as low-bandwidth, congestion of Internet connec- tion, and infeasibility of real-time applications. In our approach, the consequence of the introduction of Fog Computing is the deployment of specific nodes in Internet ac- cess networks, called Fog Nodes, with virtualization and SDN capabilities. Recently, a specific consortium was created namely, the OpenFog Consortium . While Fog Computing is becoming a well investigated topic mainly related to IoT services, here we apply this approach to Internet access networks in general.
SDN is an emerging networking paradigm , that decouples the control plane from the data plane, thus unlocking the ability of dynamically deploying on-demand Virtual Network Functions (VNFs). This networking approach, was developed for data centers, where the huge deployment of servers virtualization imposed the vir- tualization of networking infrastructure as well, but the design of SDN solutions for Internet access networks is still limited to specific use cases. In particular, SDN does not involve Wi-Fi Internet access in public spaces or business locations, such as retail stores, hotels, enterprise offices.
Containers  are the result of an evolution of virtualization technologies that bring more lightweight environments for fast and dynamic application deployment.
The logical development of our work starts with an analysis of data collected on field in existing highly crowded Wi-Fi Internet access network, in order to iden- tify main issues in traditional deployments, and measure the potential benefit of an infrastructure based on Fog Computing, compared to a traditional approach. After this validation analysis, that has the important role of supporting and legitimate this approach, we focus on the design of the platform, describing the general vision and defining the details of the infrastructure of Internet access networks, based on this
vision. In order to prove the feasibility and extend the concept of Fog-based network infrastructure, we introduce two specific use cases: one related to Internet access ser- vices with users authentication and the second regarding a specific application of IoT.
In the first case, we analyze data collected from a testbed, replicating Internet access services commonly deployed in public areas, in a laboratory of an Italian company called Caligoo, in collaboration with the University of Parma and another company named PLUMgrid, based in USA. In the second case we introduce a specific plat- form for IoT, where, the envisioned approach allows to design advanced services, related to the interaction with smart objects. In both cases we collected data in order to prove the feasibility of solutions, based on the envisioned approach, evaluating in particular performance and needed resources. We then describe some real use cases of application of Fog-based approach to the access networks, deployed by a service provider in Italy, analyzing the benefits brought by this vision. In particular we fo- cus on three core services for Internet access service provirders: i) authentication; ii) location analytics; iii) computing resources optimization. After the validation anal- ysis, the description of the proposed platform, the description of specific use cases and real deployment, we close our dissertation, focusing on the Fog Computing layer.
This theoretical section aims to provide some advanced considerations on the design and optimization of the Fog-based platform, introducing the concept of static and dynamic overlapping clusters and identifying the elements that make one clustering method better than others.
This thesis was carried out in partnership with companies in Italy and in USA.
In particular this work is partially based on a 6-month internship at PLUMgrid and Nebbiolo Technologies, two companies based in Silicon Valley, California, USA. The work during this Ph.D has led to several scientific publications and to USA patent submissions.
The structure of this dissertation follows the logical development of our work.
In Chapter 1, we describe the state of the art analyzing the related works In Chap- ter 2, we validate our approach evaluating the potential benefit, analyzing real data collected on field, in traditional networks. In Chapter 3, we introduce our vision and evaluate feasibility considering a basic deployment of the envisioned infrastructure,
while in Chapter 4 we describe an advanced service for the IoT, made possible by the proposed architecture. In Chapter 5, we present some real use cases deployed by a Wireless Internet Service Provider (WISP) and in Chapter 6 we approach the prob- lem of the optimization of Fog-based access network, proposing some models for the structure of this new layer. Chapter 7 concludes the dissertation.
The evolution of wireless access networks is a topic that has been deeply investigated and is rapidly evolving from research to deployment on field. Fog Computing, or Edge Computing, is playing a key role in the design of future networks, introducing the capability to deploy and control storage and computing on the edge of the network and not only in the Cloud or on end devices. A well-defined description of Fog Com- puting architecture is introduced in , and, even if the concept of Fog Computing is general, the approach is mainly focused on IoT applications. Other works introduce an architecture, similar to the one we are envisioning, including a smart gateway or Hub deployed on the edge,focused on network management and data processing be- fore or instead of sending data directly to the Cloud,  and , but specifically for IoT networks. In , an example of storage functions dynamically deployed in se- lected network sections, in order to speed up data transfer, is provided. Other works are focused on specific topics related to Fog Computing, such as security  and reli- ability , but without introducing a specific architecture for users access networks.
In  Fog Computing architecture is applied to face performance issues on edge network, envisioning a very advanced platform to manage local servers in order to optimize web content rendering and formatting.
The possibility to use Fog-based Access Points and user equipment is envisioned in , in order to provide a very granular distribution and workload based on mem- ory sharing. Other works are mainly related to network resource management. In particular, clustering techniques of sharing data and hardware resources in order to implement a flexible management of distributed infrastructure, are proposed in .
 presents a method for placement and migration of virtual machines, for Cloud and fog providers and  introduces a system to predict future query regions for moving consumers, able to provide information in order to process events early. The definition of the technologies involved in the Fog layer, is an important point for the design of edge networks and numerous studies are proposing and experimenting different architectures.  provides a good description of Fog Computing and pos- sible applications with an introduction to SDN-based deployments, albeit limited to vehicular networks applications.
The deployment of dedicated nodes in a Fog Computing architecture is not new.
In , a Fog-based architecture for access network with SDN is introduced, but specifically for Evolved Packet Core (EPC) networks for cellular operators: here, we have a specific focus on wireless Internet access network in public spaces, such as Wi- Fi hotspots. This advanced approach includes the use of SDN solutions, without the interaction with containers and external applications we are envisioning, and it can not reuse existing infrastructure or devices, while our platform can introduce novel Fog Node-based features without changing the existing wireless access infrastructure and users’ devices. A method of moving computation from the Cloud to the network devices, deploying applications (mostly for data pre-processing) directly on network devices is described in : unlike our approach, no SDN solution for networking nor containers for the deployment of applications are used. A good introduction to Fog Computing technology and challenges is proposed in , including the use of SDN and the deployment of applications at the edge of the network.
Many of the envisioned infrastructures have common points with the one we are proposing. However, compared to other similar architectures, we are introducing the usage of Linux Containers and Software Defined Networking (SDN) on an inte- grated platform able to deploy virtualized environments, including applications and
networking. We are also introducing the interaction with external applications for a more flexible control of the infrastructure. In this dissertation, we started from the analysis of real data in order to estimate potential benefits of this approach. This part, focused more on leveraging storage capabilities, locally provided by Fog nodes, and migrating contents, according to users’ needs and connection resources, represents an important validation of the approach we are introducing. Then we focused on the evolution of the architecture including networking and applications deployment, as a result of the interaction with external services, and on a comparative performance analysis of the proposed platform with respect to a traditional platform.
1.2 Fog - Cloud Interaction in IoT
The interaction between the Fog infrastructure and the Cloud, is an important ele- ment in our analysis. In order to collect information about the performance of this interaction and about the resources needed by Fog nodes, in order to evaluate the fea- sibility of this approach, we studied a IoT-related application, developed introducing Fog Computing layer between smart objects and the Cloud.
The role of Cloud Computing in the IoT is gaining greater and greater attention.
Most research has been so far smart object-driven, focusing mainly on the defini- tion of IP-based, low-power, and efficient communication protocols and mechanisms.
Many of these aspects have now been significantly addressed.
Several IoT solutions have been deployed and brought to the market in several application scenarios, from Home Automation to Smart Cities. Most of these frag- mented and vertical solutions rely on the Cloud, in order to provide a centralized access to services exploiting data that are sent uplink from deployed sensors to Cloud storage. Typically, mobile apps “consuming” such services are made available to end- users. However, this approach, which is expedient to disseminate the concept of IoT, does not fully exploit the potential of the Cloud. As billions of smart objects are ex- pected to be deployed pervasively, efficient data processing has highlighted the need to rely on the Cloud. The Cloud of Things (CoT) refers to the interaction between IoT and the Cloud .
In , an architecture for integrating Cloud/IoT is proposed, based on a net- work element, denoted as “Smart Gateway,” which is intended to act as intermediary between heterogeneous networks and the Cloud. The role of the Smart Gateway is similar to that of the element we introduced in our lab experiment (see Chapter 4) called IoT Hub, in terms of supporting several heterogeneous networks. However, the role of the Cloud is mainly envisioned as a data storage and aggregator, which can be used by end-users to access data. According to this approach, data are sent uplink, making it impossible to directly address and act on smart objects, as the IoT is supposed to do. At the opposite, in our experiment, we envision that the Cloud, by hosting replicas of the IoT Hub, is also used as an enabler for direct and efficient access to resources, while providing desirable features, such as: seamless access by external clients; security; and high availability. Fog Computing aims at distributing and moving some Cloud-based computation and storage to the edge of the network.
The Fog is a Cloud close to the ground and, as such, provides end users with func- tionalities closer to themselves, thus improving performance, by fulfilling real-time and low-latency consumers requirements, and enabling new applications which can also take into account location-related context information. Characteristics features of Fog Computing applied to IoT are the following:
• geographical distribution, in contrast with the centralization envisioned by the Cloud;
• subscriber model employed by the players in the Fog;
• support for mobility.
Fog Computing brings a new approach to Internet access networks by making computation, storage, and networking resources available at the edge of access net- works. This improves the performance, by minimizing latency and availability, since resources are accessible even if Internet access is not available . Fog-based so- lutions aim at introducing an intermediate architectural layer where resources and applications are made available in the proximity of end devices, thus avoiding con- tinuous access to the Cloud. While Cloud-only architectures can provide a solution to
scalability and flexibility issues by distributing resources among multiple servers, this approach presents some weaknesses, such as: (i) latency; (ii) availability/dependence on Internet connectivity for operations; (iii) flexible networking; (iv) quality of ser- vice/experience; (v) security and privacy. Due to its benefits over Cloud-based archi- tectures, especially if time is a critical issue or Internet connectivity is poor or absent, Fog Computing is expected to play a key role in the deployment of IoT applications.
The Fog is not intended to replace the Cloud, but rather to complement it, in order to provide location-aware and real-time services, thus enabling new applica- tions that could have not been deployed otherwise. Fog-based access networks are based on the presence of highly specialized nodes, denoted as Fog Nodes, able to run distributed applications at the edge of the network. In particular, the deployment of computing resources on Internet access networks allows to dynamically activate Virtual Machines (VMs) dynamically on Fog Nodes. For this reason, the cloning and synchronization techniques of VMs, at the core of our IoT application (see Chapter 4), fit perfectly into Fog-based infrastructures. The proposed architecture can protect local resources by providing remote access to their replicas in a transparent way. Lo- cal resources are kept synchronized by multiple clones of the same machine, thus achieving a high level of reliability and load balancing. Smart management of the activation/deactivation of replicas and choice of the most appropriate Fog Node to run the clone allows to optimize the usage of CPU and memory available on the in- frastructure, according to the specific real-time resources requirements by running applications. A suitable lightweight alternative to VMs is represented by containers, which provide a more flexible environment for “disposable applications,” like the IoT Hub. Container platforms like Docker  are gaining increasing attention also for edge and Fog computing applications. In this challenging scenario, the possibility of moving from centralized to decentralized paradigm to offload the processing to the edge reducing application response time and improving overall user experience will play a fundamental role in Internet of Things. In , the authors present how a container-based architecture could be efficiently used for dynamic network- ing application. In , an interesting comparison about existing lightweight and hypervisor-based approaches for edge computing and efficient networking is pre-
sented. Furthermore, in  a novel approach for the application of a lightweight virtualization technology (such as Docker) to constrained devices with a negligible overhead is presented.
1.3 Resources Management and Infrastructure Design
Internet access network performance is an important topic, and it is possible to find many researches investigating different method of measurement.  introduces an interesting analysis about how different factors, from the modem chosen by the user, to the ISP’s traffic shaping policies, can affect performance. This study shows many important characteristics related to resource utilization in existing access networks, deploying measurement infrastructure directly in user’s home gateway. A more tra- ditional approach, based on passive traffic measurement from DSL provider network can be found in ,  and .
Resources optimization in the Cloud, is a well investigated topic, , for exam- ple, introduces server optimization techniques, based on load balancing design in the Cloud.
Techniques for resources and performance optimization, applied to Fog Comput- ing networks, are introduced in  and , and are mainly related to improving Internet access performance.
Our analysis is more focused on resources management and design of the Fog infrastructure, rather than on the performance, and the scenario we are describing is similar to the one introduced in , even if, in this case, SDN capabilities are used on residential Internet access networks, and mainly for the deployment of Virtual Network Functions (VNF) rather than environment, including applications, in public Internet access networks.
A very interesting presentation of a mathematical approach to network optimiza- tion is provided in  and it can be considered a generic method for modeling many different optimization problems in networking.
Validation Analysis of a Fog-Based Wireless Access Networks
2.1 Chapter Introduction
In this Chapter, we present a thorough analysis based on real data, in order to evaluate the potential benefits of a Fog-based approach to access networks. In particular we focus on Wi-Fi networks for Internet access in hotels and we investigate the benefits this approach brings, compared to traditional access networks, to the optimization of bandwidth usage and the improvement of user experience, due to a direct access to specific contents hosted in the Fog. The proposed model’s idea is to host appli- cations close to users by relying on virtual machines, in order to dynamically move Cloud or web contents to nodes located at the edge of access networks. This allows to perform proactive caching and to enforce traffic policies based on the interaction between access infrastructure and external applications. The goal of this analysis is to obtain information about the amount of traffic that could take advantage of this infrastructure, including an evaluation of the resources that need to be available. We analyze real data collected on field, in order to evaluate the benefits of Fog Comput- ing on bandwidth optimization, related to functions that would infeasible through a traditional approach. The results of this work represent an important validation of a
Fog-based model for Internet access networks, which is the first preliminary and es- sential step to legitimize the adoption of new generation Fog-based access networks.
This study brings a new meaning to Fog Computing, by transforming it from an effec- tive architecture for IoT applications to a powerful approach that can potentially have a disruptive impact on Wi-Fi Internet access services, in particular in those locations where the following are relevant issues: i) Internet bandwidth; ii) high user density;
or iii) shared infrastructure for Internet users and IoT nodes. Illustrative scenarios include cruise ships, trains, airplanes, hotels, and convention centers.
This preliminary evaluation of potential benefits on bandwidth optimization, aims to legitimate and justify the design of a new generation of Internet access networks, introduced in Chapter 2.
2.2 Validation Analysis
We analyze collected data in order to evaluate potential benefits introduced by the adoption of a Fog-based platform on quality of user experience, in terms of: i) how much data can be moved to the Fog Node for local access; ii) how it is possible to optimize the Internet bandwidth utilization, downloading data, for future local access, when the connection is underused, leveraging applications running locally on the Fog Node; iii) collect useful elements for a valid estimation of the storage, needed locally in a hotel, in order to deploy these services; iv) evaluate the impact of interactive bandwidth management.
2.2.1 Experiment Description and Collected data
We modified the Access Controller, that will play the role of Fog Node in the envi- sioned approach, in three large hotels, in order to collect data on the existing Wi-Fi Internet service, in the city of Milan, Italy, where Caligoo fully manages the Wi-Fi Internet access for hotel guests. We refer to the three hotels involved in this analysis as Hotel A, Hotel B and Hotel C. All used data are completely anonymous, in order to preserve users’ privacy and customers data is not collected and not considered as part of the analysis. We collected more than 50,000 connections from over 13,800
hotel guests in February 2015. Since these hotels are mainly for business travelers, February represents a reliable perspective of normal utilization. All three locations and guests were not aware about the data collection, in order to avoid biasing user behaviors with respect to usual Internet utilization. By analyzing the connections, we were able to collect the following data:
• connection start time: (t0);
• connection stop time: (t1);
• connection duration, derived as (t1-t0);
• the amount of downlink data (dimension: [bytes]) during the connection;
• the amount of uplink data (dimension: [bytes]) during the connection;
• the actual bandwidth consumption calculating the average value over 1-hour interval on the number of bytes received and transmitted on the Fog Node in- terface connected to the Internet router;
• the Internet traffic generated and received by each of the three locations;
• the number of connected users.
2.2.2 Data Analysis and Traffic Optimization
The most important data, for the purposes of our analysis, is related to (i) the number of users; (ii) the amount of traffic generated by the connections; (iii) the bandwidth usage; and (iv) the type of traffic. In our analysis, we consider all connected devices as users. Table 2.1 reports the following data:
• the maximum number of devices connected in a single day;
• the average number of devices connected in a single day;
• the total number of devices that activated at least one connection during the considered period;
Max Avg. Total Download [MB] Upload [MB]
Hotel A 767 607.76 9517 2285443 690781
Hotel B 297 180.48 1694 990151 91425
Hotel C 184 132.48 2609 379242 102130
Table 2.1: Data related to the numbers of connected devices: maximum per day; av- erage per day; total, with at least one connection, during the entire monitoring period (one month) and total Internet traffic, in both download and upload.
• the total download traffic (dimension: [MB]);
• the total upload traffic (dimension: [MB]).
We decided to compute the average bandwidth utilization in 1 hour-long intervals.
The results are shown in Figure 2.1.
Collected data clearly shows that the bandwidth consumption is not uniform but highly variable and it is possible to observe periodic oscillations with a period of 24 hours. The reason of this particular bandwidth utilization is due to the fact that during the day the largest part of hotel guests is not in the building, but in the evening, as they come back, a larger number of people in the hotel activate Internet connections.
This behavior leads to two relevant considerations: i) hotels need high bandwidth In- ternet connection in order to handle the heavy traffic peaks; ii) during a large portion of the day the Internet connection is underutilized. This is the main evidence that this specific scenario would greatly benefit from an intelligent system of content manage- ment, able to move contents when the connection is not used by guests, in order to reduce traffic when the connection is heavily loaded.
The main goal of this study is to evaluate the effect of the capability to run ap- plications on the network edge. For this reason, one of the key factors, is to estimate the amount of traffic that could be proactively cached (or, in general, managed) by applications running on the Fog Node, scheduling the download or upload, on the basis of the available bandwidth or the interaction with local or remote applications.
Figure 2.1: Average bandwidth utilization in 1 hour period, measured in hotel A, hotel B and hotel C.
We focus on the traffic that cannot be managed by traditional caching, based on the general idea of multiple access to the same content. We identify the traffic related to content that could be proactively moved on the local node, before the first request for this content has been issued, and sometimes even before the user, interested in this content, arrive at the hotel. We also detect traffic that could be avoided running applications on the local Fog Node. We refer to this traffic with the general term of Manageable Traffic. The capabilities to proactively move specific content or to avoid traffic are made possible by the Fog-based design of applications, such as the hotel room booking system or the Wi-Fi AAA service, that can run software modules in the Cloud as well as on the Fog Node, and trigger content download based on specific events. In order to perform the estimation of the Manageable Traffic, we analyzed the download traffic captured during one week, in one location, and then calculate the average over 24 hours in order to present meaningful results for an average day.
Since user’s data is not collected, it is not possible to associate traffic to users and all the analysis is performed in total respect of the privacy. Each user is associated to
unique anonymous identifier, in order to identify all the connections activated by the same user. The average amount of captured packets was more than 1200000 per day.
For our purposes, there is not an immediate or simple method to identify Manage- able Traffic by analyzing captured packets; we thus decided to start identifying DNS (Domain Name Server) queries and replies. On the basis of the resolved name, we classified all the traffic from the corresponding IP address as follows.
• Well-known: traffic from well known sources that is basically known in advance to be requested by users, such as popular non-real time multimedia contents platforms.
• Frequent: we detected specific source IP generating traffic to a large number of different users. In this group, we identify non real-time traffic related to the authentication system, that could be moved to the Fog Node, or to specific events that were occurring in the hotel. We can also envision systems able to automatically detect frequently downloaded content and automatically move it on the Fog Node.
• User-specific: large amount of non real-time traffic from a specific source to a specific user, such as multimedia or contents related to entertainment. This traffic could be moved in advance to the Fog Node for a local access, for ex- ample as part of the interaction between the fog-based infrastructure and the room booking system.
The first three categories are considered Manageable Traffic, whereas the last one unmanageable. In the case of traffic from IP addresses not corresponding to any DNS resolution, we contacted directly the IP, whenever possible, in order to classify the traffic as described before. This analysis is complicated because of the presence of traffic from Content Delivery Network (CDN) platforms, such as Akamai or Amazon, that expose their Domain Name hiding the real content and making impossible to classify the traffic. We approached this analysis in a conservative way considering all the unidentified traffic as unmanageable. In order to manage automatically the
highly variable amount of captured traffic, we decided to organize the obtained data in blocks including the same amount of captured traffic. Every block includes about 1.3 GB and it has different time extensions depending on the time needed to collect the 1.3 GB.
Table 2.2 shows the percentage of total traffic, identified as Manageable in every part of the day, classified for every category, total and per category. This analysis shows that an average amount corresponding to 28.89% of the total traffic, could be managed in a smart way by a Fog-based infrastructure, in order to optimize the available resources.
We also noted that the main part of this Manageable Traffic, is downloaded from well-known sites related to entertainment, mainly movies, that cause high bandwidth consumption during the evening. Another considerable part of the Manageable Traf- fic is received from the Cloud-based AAA system, that could be designed in order to leverage the availability of local resources provided by the Fog Node. Traffic re- lated to specific events is also a relevant part of the Manageable Traffic, and this also could be pre-loaded on the Fog Node when the bandwidth is available. We observed also a considerable amount of traffic related to specific well-known Cloud services or platforms such as Facebook, Skype or Microsoft Office 365. We did not consider this traffic as manageable, because part of these applications are real-time, encrypted, or, in general, out of control. But this traffic could be managed in collaboration with the service provider, leveraging the nature of Fog Node that could host third parties virtual machines. With this approach, all the entities that want to provide services could produce software agents able to run on the fog node in order to optimize the resources usage, mainly in terms of available bandwidth. We estimated this traffic, potentially manageable, as 29.74% of the traffic categorized as non-Manageable by the previous analysis. The manageable traffic could rise, thus, up to 50% of the total traffic.
Figure 2.2 shows the non-Manageable and the Manageable traffic, divided in classes, as part of the total traffic, distributed during the day, with the same approach of Ta- ble 2.2. Figure 2.3 shows a possible redistribution of the Manageable traffic, in order to improve bandwidth utilization, compared to the actual total traffic distribution dur-
Day part Well-known % Frequent % User Specific % Total %
Part 0 16.63 10.81 3.52 30.97
Part 1 27.24 7.35 0.647 35.24
Part 2 11.41 11.21 0.77 23.41
Part 3 5.05 12.48 8.76 26.30
Part 4 7.97 7.20 7.44 22.63
Part 5 19.61 7.95 0.96 28.53
Part 6 14.02 7.76 7.77 29.57
Part 7 11.39 6.27 7.827 25.49
Part 8 14.30 6.48 9.59 30.38
Part 9 10.46 5.12 7.91 23.50
Part 10 17.17 4.55 9.21 30.94
Part 11 16.43 3.97 9.82 30.23
Part 12 12.38 3.57 9.16 25.12
Part 13 15.29 3.54 9.32 28.16
Part 14 15.67 3.45 13.36 32.49
Part 15 17.82 6.00 9.10 32.94
Part 16 11.29 5.26 12.54 29.11
Part 17 18.21 7.09 9.76 35.07
Day total 14.62 6.67 7.59 28.89
Table 2.2: Percentages of Manageable traffic in an average day.
Figure 2.2: Manageable and non-Manageable traffic downloaded during the day
ing the day.
2.2.3 Resources Evaluation
Our captured data analysis allows to gather interesting information about the local storage capability, needed on the Fog Node, in order perform content management.
Considering an optimal bandwidth usage, i.e., using all the available bandwidth in order to download data to be cached on the Node, we can set a theoretical upper limit of 687 GB for the local storage capacity on Fog Node at Hotel A, 817 GB at Hotel B and 47 GB at Hotel C. Analyzing the captured traffic, as described in Section 2.2.2, we can estimate a more realistic value of 5.1 GB of Manageable Traffic that has to be cached per day. The time of persistence of these data on the storage of the Fog Node depends on the average time of persistence of a specific guest at the hotel, which is usually a known information for a specific hotel.
Figure 2.3: Possible downloaded traffic redistribution during the day, compared to the actual total traffic distribution
2.2.4 Bandwidth Management
Most hotels have conference or meeting rooms. This leads to violations of the 24- hour periodic pattern of bandwidth consumption, illustrated in Figure 2.1, because of specific events hosted in the hotel during the considered period of observation.
Conferences and meetings are particularly critical because of the high density of con- nected users and the specific needs of the speakers who require reserved bandwidth for presentation or product demo. This situation cannot be easily managed using pre- configured policies or rules based on traffic recognition. We include the management of this highly challenging situation, into the benefit brought by a Fog-based approach, because the envisioned Fog Node is able to dynamically enforce selective bandwidth limitations, to specific connected devices, as a consequence of the interaction with external applications through APIs. With this function, a speaker, simply using an application running on his/her device, such as a smartphone, can ask for reserved bandwidth calling an API exposed by the Fog Node. The same function can be used
by a Smart Object, such as a fire alarm during an emergency, on a shared network.
This approach makes Fog-based access networks able to locally manage network policies, as well as computation and storage, like a flexible and shared infrastructure.
2.3 Chapter Conclusions
In this dissertation, we are envisioning a new approach to the design and implemen- tation of access networks, based on the deployment of Fog Nodes able to: locally host virtual machines; provide storage resources; create SDN networks; and enforce dynamic and interactive bandwidth management. This architecture is described in Chapter 3.
In order to evaluated the potential benefits, brought by this approach and legiti- mate this model, we analyzed the traffic collected at three hotels (50,000 connections from over 13,800 guests).We identify that about the 28% of content download could be scheduled or avoided, in order to optimize bandwidth consumption and limit la- tency, with a proactive approach allowed by Fog-based design of applications such as hotel’s rooms booking system or Wi-Fi authentication. This portion could increase beyond 50% if also Cloud-based service providers were able to run agents on the Fog Node. Our analysis also leads to a realistic evaluation of the amount of data that could be cached per day. The interaction between Fog Node and local applications allows a dynamic and flexible management of the available bandwidth, which is expedient to deal with complex situations such as: conferences, with high density of connected users with different needs; and emergencies, when selected Smart Objects (i.e. fire alarms) may need to have priority in shared networks. The collected experimental re- sults show that this new approach to the design of access networks has great potential benefits, in terms of resources optimization and performance.
Internet Access Networks based on Fog Computing, SDN,
Containers and APIs
3.1 Chapter Introduction
The swift evolution of end-user devices, such as smartphones and tablets, and the widespread adoption of Cloud-based applications have deeply changed the charac- teristics and requirements of on-line applications, as well as the very nature of the Internet. However, Internet access networks, which are in between these evolving endpoints, are still based on traditional approaches and have failed to support this revolution. In this chapter we introduce the main vision of this dissertation, propos- ing a novel approach to public Internet access networks based on Fog Computing, Software Defined Networking (SDN), and lightweight virtualization technologies for local deployment of applications in Linux containers. SDN could give access net- works the flexibility needed by these new challenges, but the implementation seems really slow and complex, primarily in networks not managed by a single operator and highly diversified such as public Wi-Fi hotspot. The deployment of SDN-based solution outside the data center seems limited to specific operator’s cellular networks
or test environments, not involving Wi-Fi access networks in hotels, airports, retail shop, smart cities or even houses.
Just introducing SDN features by replacing the existing networks, is not an ef- fective approach so far, and SDN-based infrastructures on the edge probably needs a new design of the whole architecture of access networks. Fog Computing can pro- vide the new approach to access networks needed by SDN. This concept is based on the idea to deploy Fog Nodes on the edge networks, able to provide computing, storage and networking dynamically, to the applications as an intermediate layer be- tween users and Cloud. Fog Computing and SDN have extremely interesting and powerful interactions, basically because Fog needs SDN in order to offer a flexible and dynamic networking based on the interaction with applications, and SDN needs Fog Nodes to run VNF and virtual topologies, possibly without replacing the existing infrastructure.
A new generation of access networks based on Fog Computing can boost the im- plementation of SDN-based solution on the edge and provide a flexible and controlled infrastructure for the next generation of services and users. Fog Computing appears to be the right approach to leverage the flexibility of SDN and push the deployment of this technology. The union of Fog and SDN can generate innovative IoT-ready access networks, based on the interaction between the infrastructure and the applica- tions and able to tackle future challenges. In this chapter, we describe the architecture we developed for Internet access networks, that is the main focus of this dissertation, and introduce some experimental results based on a test implementation of this kind of networks. The main goal of the experimental evaluation, is to prove the feasibility of the envisioned approach, for this reason we considered a typical use case, involv- ing Internet access network, in public areas, with users authentication, such as Wi-Fi hotspots. A second feasibility analysis, considering a use case related to services for IoT, is described in the next Chapter.
The basic idea is to provide the flexibility, needed in access networks, using the ability to build networking and deploy application as a result of the interaction with exter- nal applications using Application Programming Interfaces (APIs). The architecture proposed here can be considered as an evolution of legacy Internet access network, typically deployed in Hotels, retail shops or cities. From the physical point of view, the infrastructure is based on nodes, called Fog Nodes, deployed on field. The Fog Node con be a physical appliance or a virtual machine and it is able to provide com- puting and storage to specific applications, through the activation of containers, and able to deploy SDN-based networks. This infrastructure also supports the activation of Virtual Machines (VM) on the Fog Node and the capability to connect VM to the mentioned SDN network, but we are more focused on containers because of their lightweight more useful to fast deployment on edge nodes.
Physical access devices, such as access points or switches, can be integrated in Fog Nodes or deployed using dedicated hardware and connected to the Fog Nodes.
All connections are performed through either switched or routed network. In order to enable the interaction with external applications, Fog Nodes are exposing REST APIs using standard technologies such as HTTP or HTTPS. THe envisioned platform includes two other elements. The first element are functions deployed in Cloud, such as centralized AAA services, analytics, statistics and monitoring. Basically we de- ploy in Cloud, non-real time applications, or in general without tight limitations on latency, or related to global functionalities, such as authentication roaming, statistics, analytics or Big Data. The second element is a Software Development Kit (SDK) for mobile applications (App).
The interaction with external application is a key point of the infrastructure, be- cause the flexibility needed by future services and expected by future mobile Inter- net users, can not be achieved with pre-set configuration or policies based on traf- fic recognition. In order to exploit the potential of Fog Computing at its fullest, we have developed the capability to trigger and control the deployment of full virtual environments, including networking and applications, directly at the edge of access
Figure 3.1: Representation of the proposed architecture for Internet access networks.
networks. The entire infrastructure, including virtual connections, Virtual Network Functions (VNFs) and containers, is deployed and managed automatically as a result of the interaction with external applications through Application Programming Inter- faces (APIs). This interaction can occur with external Cloud-based applications or in general with any kind of application. The interaction with applications running on de- vices connected to the Access Network, appears a very interesting and powerful case.
For this reason we developed the SDK for mobile App. The SDK, once embedded in the mobile App, makes the App, running on connected devices like spartphones, able to interact with the network infrastructure and control the deployment of environ- ment including VMs, containers and the SDN-based networking. The client device or in general the network user become an active part in the control of the Network.
Figure 4.3 shows the described architecture.
This approach allows external applications to call APIs in order to trigger and control the deployment, the modification and the destruction of virtual dedicated in- frastructure on the access network, connecting end devices, smart objects, containers
running on the Fog Node, and the Internet. External applications could be running in the Cloud or even on end devices: by calling proper APIs, they can provide a descrip- tion of the network topology and containers that have to be created on the Fog Node.
As consequence of the described interaction between external application and access network, it is possible to:
• build and deploy applications as containers;
• create and deploy network topologies with specific VNF, in order to connect selected clients, including smart objects, and dedicated applications;
• enforce specific QoS policies.
The envisioned platform is able to connect clients with applications running directly on the access network, implementing a very flexible infrastructure for a new genera- tion of services, compared to the traditional approach where applications are running in the Cloud and the access network is basically used to provide Internet connectivity.
The novelty of the proposed approach are the following:
• usage of technologies developed for different fields, such as data center (SDN) and IoT (Fog Computing), in Internet access network interconnecting human users and smart objects;
• considering the access network as a flat virtualized environment where to build the needed infrastructure in real-time, including Virtual Machines, Linux Con- tainers and SDN networks;
• giving the control of the deployment of virtual infrastructure to external ap- plication and in particular to the clients of the platform, through mobile App running on connected devices. This approach turns upside down the more com- mon vision of a centralized control layer above the infrastructure, introducing the idea of clients able to interact with the infrastructure directly, controlling the deployment of virtual environment on the Edge of the network, close to them.
The main advantages brought by the proposed approach can be summarized as follows: i) flexibility, as needed by the new generation of services; ii) security im- provement, especially in terms of the capability to isolating traffic creating dynam- ically different networks for different clients; iii) simplification of new service de- ployment, turning on containers and creating networking just as a result of the call to specific API; iv) capability to use the existing access devices and a simplified flat physical connectivity to implement more complex logical topologies. Leveraging the flexibility introduced by this platform, a new generation of services, which could be very challenging for a traditional approach, can be introduced. We now provide a few examples to highlight the foreseen advantages. Deploying this infrastructure on trains, planes or cruise ships, where constant and reliable connectivity to the Internet is a critical issue, it is possible to interact with the booking system in order to trans- fer to on-board Fog Nodes in advance, when the connectivity is good (such as at the airport or in stations or harbors), dedicated applications or contents for every single passenger. It is also possible to create dedicated networks connecting each passenger, or a group of passengers, with their applications or files. In hotels, it is possible to create dedicated network for each room in order to connect guests’ devices and smart objects in the room, as a consequence of the check-in process. This will allow guests to have Internet access but also to control their room’s door, cooling/heating system, TV, etc, for example with a mobile App, in an isolated network. Exposed APIs can also be used directly by smart objects or smart systems, such as security cameras or alarms. Any security application can be installed on Fog Nodes and a dedicated net- work can be created for every service. Camera or security systems can call APIs in order to have assigned traffic priority in the case of an alarm. In general, it is possible to dynamically deploy networks for IoT services, connecting end users’ devices and smart objects. This approach can also unlock the market of third parties applications to be installed on Fog Nodes, with the same approach used on Google Play Store or Apple App Store.
We are mainly focused on wireless access networks in public areas, such as re- tail shops, hotels or smart cities. For this reason, we consider the implementation of virtual infrastructures, on Fog Nodes, automatically triggered and controlled by
Figure 3.2: Specific Fog-based architecture for proactive caching described in Chap- ter 2, not including SDN-based network, VMs and containers deployed on the node.
Data flow for dynamic content transfer is shown in blue, while local caching traffic flow in red.
the authentication process. From this point of view, AAA services are the external applications able to trigger and control the automatic implementation of virtual envi- ronments as described in users’ profiles, including networking and applications. This platform also supports, in a very effective way, all the services where the Cloud plat- form is not necessary, such as the management of lights, heating or cooling systems, and it is able to deploy procative caching services evaluated in Chapter 2, leveraging the capability to dynamically move data in order to make them locally available, both for access and upload, introducing an important intermediate point of control, to the more common interaction between end devices and the Cloud platforms. In this case the Fog Node is also able to perform AAA functions, like any hotspot access con- troller. A simplified Fog-based architecture, not including SDN and virtualization, able to implement the proactive caching, described in Chapter 2, is shown in Figure 3.2.
Figure 3.3: Scheme of the lab architecture.
3.3 Lab Description
In order to test the capabilities of the described infrastructure and measure the im- pact on common operation performed using a traditional approach, we deployed a test infrastructure in our laboratory. In particular, we implemented an infrastructure based on three Fog Nodes connected over a flat Layer 2 (L2) network, as shown in Figure 3.3. These nodes indicate three different access locations, with the Fog Nodes having SDN capabilities provided by our industrial partner in this evaluation, PLUM- grid . PLUMgrid core product, ONS, provides a intra and inter-Cloud SDN Plat- form that is extensible, high performance, with security and micro-segmentation as the building blocks of its control infrastructure. While PLUMgrid has deep integra- tion with OpenStack Cloud infrastructure , it is architected to run over any dis- tributed infrastructure. While we implemented as L2, the PLUMgrid technology uses a VXLAN overlay and works seamlessly over any Layer 3 (L3) connectivity.
PLUMgrid, as an SDN solution has its control plane (CP) represented by a Di-
rector cluster. This cluster can be stationed in any of the Fog Nodes, or even a remote Cloud. PLUMgrid CP is accessible to create, deploy, modify, update, and delete vir- tual network topologies through RESTful APIs. In our case, the Director exists as a Linux container (LXC) running on one of the Fog Node. The data plane of PLUMgrid ONS exists in the form of a IOVisor   module installed on every Fog Node that makes the data-plane of the SDN connectivity overlay programmable rather than just configurable through flow-tables. Thus, PLUMgrid DP consists of a network of programmable network functions, like DNS, DHCP, NAT etc, that exist at each edge in the form of a connected graph created by the PG Director. This distributed ap- proach, i.e., pushing topologies to each Fog Node, significantly reduces CP packet punting and enables our deployment to remain scalable even across wide area de- ployments.
Fog Nodes also provide the computing and storage resources to specific appli- cations used by connected clients and dynamically deployed using linux containers based on the Docker platform , to provide containerized micro-service solutions.
The infrastructure includes an authentication system, based on RADIUS, that is the actual platform of one of our partner, namely Caligoo, which is a technology provider for one of the largest Wireless Internet service providers in Europe. This platform is able to provide AAA functions and consists of a centralized system, running in Cloud, and a node, acting as Access Controller for the clients and RADIUS client, running on-site. In our implementation, this node is basically a gateway used to manage Wi-Fi hotspots, running as Virtual Machine on a Fog Node and modified in order to make it able to call API, exposed by PLUMgrid Director, and to control activation and destruction of containers on the Docker engine running on Fog Nodes. Clients are simulated by Linux based hosts, are connected directly to Fog Nodes through layer 2 bridges. We also introduced Smart Objects, simulated by Linux hosts, directly con- nected to Fog Nodes through bridges as well. The whole infrastructure is connected to the Internet and is deployed using virtual machines on a Linux KVM (Kernel- based Virtual Machine) hypervisor, so that L2 connectivity is provided using Linux bridges.
The key point of this approach is the idea to perform an interaction between the
infrastructure and the authentication process in order to build a specific network for each client and connect to this network specific application dynamically deployed as result of the authentication process. The final result is that once a specific user is authenticated, we deploy on each Fog Node a specific environment , including net- working and applications for the specific user, according to the user’s profile provided by the authentication system.
3.4.1 Test Description
In this section we describe the sequence of operation executed during a single execu- tion of the testing process.
1. A client is physically connected to Fog Node A and an SDN-based network is deployed. Therefore, from the logical point of view the client is connected to the Access controller through a switch implemented as a PLUMgrid VNF.
Figure 3.4 shows this virtual network, in this starting configuration.
2. Like in any Internet public access network, the client tries to reach the Internet and triggers the authentication procedure, based on the redirection to a login page through a captive portal, with username and password verified by a remote RADIUS server. Once this process has successfully completed, the client is redirected to a welcome page on the Internet and the Access Controller knows the client’s profile by reading the attributes in the RADIUS response from the server.
3. On the basis of the client’s profile and an internal database, the Access Con- troller determines the network topology, the network functions and the appli- cations that have to be connected to the specific user.
4. The Access Controller sends instructions to the Fog Node, where a Docker Engine has been installed, in order to activate a Docker container. The type of container and the application running in it, are described in user’s profile and
Figure 3.4: Starting configuration of the virtual network
can be different for every user. These instructions could include a Dockerfile, with all the instructions required to assemble a container from scratch, or just the command to launch a script on the Fog Node to turn on a container already existing on the node. Instructions also include information about the virtual interface associated with the containers.
5. The Fog Node with Docker services receives the instructions and turns on the Docker container.
6. The Access Controller builds a description of the needed network in a JSON format and uses the PLUMgrid APIs to deploy the network.
7. The PLUMgrid Director deploys on each Fog Node, the network, defined by the Access Controller, interacting with the PLUMgrid API. At this point, the network, the client is connected to, has changed: it includes other VNFs, link to Smart Objects, physically connected to Fog Node, as shown in Figure 3.3, and it includes a virtual interface, ready to be connected to the Docker container.
Figure 3.5: Final configuration of the virtual network
8. The Access Controller launches a script on the Docker-enabled Fog Node, or- dering the PLUMgrid module to connect the Docker container, linking con- tainer’s interface to the virtual network.
An example of final network topology is shown in Figure 3.5, where the client is connected to a dedicated network infrastructure that provides connectivity to the Internet, to Smart Objects and to a specific application, dedicated and specifically created for this client, running in a container. All the dedicated infrastructure can be destroyed as a consequence of the logout process of the client.
3.4.2 Experimental Data Analysis
The purpose of this test is to prove the feasibility of the envisioned architecture, col- lecting data in order to verify if the deployment of dedicated virtual infrastructure introduces delays or, more generally, affects the quality of experience of Wi-Fi users.
We performed 500 authentication procedures, measuring the time interval between the starting instant of the authentication process and the redirection of the users to
a welcome page, after successful authentication, without the deployment of any vir- tual infrastructure; this is exactly what happens now in a common Wi-Fi hotspot. We also performed 500 authentication procedures where a specific virtual infrastructure, including network and containers, is deployed after a successful login, measuring the time interval between the starting instant of the authentication process and the ending instant of infrastructure deployment. In this set of measurements, we con- sidered the implementation of a virtual network infrastructure that actually causes the interruption of connectivity between two existing containers and the user. Then, we performed 500 authentication procedures where a different virtual infrastructure is deployed, measuring the time interval including the infrastructure deployment. In this case, the network infrastructure actually includes the activation of containers and the networking needed in order to connect them to the user and Linux hosts, repre- senting Smart Objects, such as sensors or actuators, in our deployment .
In all three cases, the measured time interval starts in correspondence to the au- thentication starts and ends, respectively: in the first case, when the user is redirected to a welcome page; in the second case, when the connectivity between containers is lost; in the third case, when the connectivity between containers and user is up. In order to test connectivity we considered the transmission of a ping command, with timestamp, every 0.1 sec, for this reason, 0.1 sec is also the maximum error in our measurements.
The distributions of the obtained time results are shown in Figure 3.6, whereas the average durations and standard deviations are shown in Table 3.1.
The authentication time is not always the same because some elements have vari- able effects, such as: the latency to the Cloud-based authentication system, the actual workload on the Fog Nodes. However, in our implementation these effects are very limited and, for this reason, the standard deviation is small, namely approximately equal to 0.75 sec. Data shows that the implementation of virtual topology increases the average duration of the authentication process, but without altering the distribu- tion in time. This means that the process of building a dedicated environment for the user, is stable and predictable, without introducing additional variability to the au- thentication process. The interruption of connectivity appears faster than deploying