• No results found

Building Distributed Systems for Fresh and Low-latency Data Delivery for Internet of Things

N/A
N/A
Protected

Academic year: 2021

Share "Building Distributed Systems for Fresh and Low-latency Data Delivery for Internet of Things"

Copied!
62
0
0

Loading.... (view fulltext now)

Full text

(1)

IN

DEGREE PROJECT

COMPUTER SCIENCE AND ENGINEERING,

SECOND CYCLE, 30 CREDITS

,

STOCKHOLM SWEDEN 2019

Building Distributed Systems for

Fresh and Low-latency Data

Delivery for Internet of Things

ADNAN TOUTOUNJI ALKALLAS

KTH ROYAL INSTITUTE OF TECHNOLOGY

(2)

Building Distributed Systems for Fresh and

Low-latency Data Delivery for Internet of

Things

Adnan Toutounji Alkallas

Master of Science Thesis

Examiner: Seif Haridi

(3)

Abstract

Internet of Things (IoT) is a system of interrelated computing

de-vices with the ability to transfer data over the network and

col-lected by the applications that rely on fresh information, where

the freshness of data can be measured by a metric called Age of

Information (AoI). Age of Information is the time that is

mea-sured by the receiving node from the time the data has generated

at the source. It is an important metric for many IoT

applica-tions such as, collecting data from temperature sensors, pollution

rates in a specific city. However, the bottleneck problem occurs at

sensors because they are constrained devices in terms of energy

(power via battery), and also have limited memory and

compu-tational power. Therefore, they cannot serve many requests at

the same time and thus, it will decrease the information quality

which means more unnecessary aging. As a result, we suggest as

a solution a distributed system that takes into account the AoI

transmitted by the sensors so that IoT applications will receive

the expected information quality.

This thesis describes the three algorithms that can be used to

build and test three different topologies. The first algorithm builds

a Random graph while second and thirds algorithms shapes

Clus-tered and Hybrid graphs respectively.

For testing, we use Python based SimPy package which is a

process-based discrete-event simulation framework. Finally, we

compare Random, Clustered and Hybrid graphs results.

Over-all, the Hybrid graph delivers more fresh information than other

graphs.

Keywords

(4)

Sammanfattning

Internet of Things (IoT) ¨ar ett system med sammanh¨angande

da-torenheter med f¨orm˚agan att ¨overf¨ora data ¨over n¨atverket och

samlas in av applikationer som f¨orlitar sig p˚a ny information, d¨ar

datorns f¨arskhet kan m¨atas med en metrisk som kallas Age of

In-formation (AoI ). Age of InIn-formation ¨ar den tid som m¨ats av den

mottagande noden fr˚an den tid datan har genererat vid k¨allan.

Det ¨ar en viktig metrisk f¨or m˚anga IoT-applikationer, till

exem-pel att samla in data fr˚an temperatursensorer, f¨ororeningar i en

specifik stad. Flaskhalsproblemet uppst˚ar emellertid vid

senso-rer eftersom de ¨ar begr¨ansade enheter i termer av energi (str¨om

via batteri), och ocks˚a har begr¨ansat minne och ber¨akningskraft.

D¨arf¨or kan de inte betj¨ana m˚anga f¨orfr˚agningar samtidigt och det

kommer d¨arf¨or att minska informationskvaliteten vilket inneb¨ar

mer on¨odigt ˚aldrande. Som ett resultat f¨oresl˚ar vi som en l¨osning

ett distribuerat system som tar h¨ansyn till AoI som s¨ands av

sen-sorerna s˚a att IoT-applikationer f˚ar den f¨orv¨antade

informations-kvaliteten.

Den h¨ar avhandlingen beskriver de tre algoritmerna som kan

anv¨andas f¨or att bygga och testa tre olika topologier. Den f¨orsta

algoritmen bygger ett slumpm¨assigt diagram medan andra och

tredjedels algoritmer formar Clustered respektive hybriddiagram.

F¨or testning anv¨ander vi ett Python-baserat SimPy-paket som

¨ar en processbaserad diskret h¨andelsimuleringsram. Slutligen j¨amf¨or

vi slumpm¨assiga, klusterade och hybriddiagramresultat.

Samman-taget ger hybridgrafen mer ny information ¨an andra grafer.

Nyckelord

(5)

Contents

1 Introduction 5 1.1 Background . . . 5 1.2 Problem . . . 6 1.3 Purpose . . . 6 1.4 Goal . . . 6

1.5 Benefits, Ethics and Sustainability . . . 6

1.5.1 Benefits . . . 6 1.5.2 Ethics . . . 6 1.5.3 Sustainability . . . 7 1.6 Methodology / Methods . . . 8 1.7 Delimitations . . . 8 2 Theoretical Study 9 2.1 Background . . . 9 2.1.1 Distributed Systems . . . 9 2.1.2 Network Topology . . . 9 2.1.3 Euclidean Distance . . . 11 2.1.4 Internet of Things . . . 11 2.1.5 K-means Clustering . . . 11 2.2 Related Work . . . 12 3 Methodology 14 3.1 Data Collection . . . 14 3.2 Used Software . . . 14 3.2.1 NumPy . . . 15 3.2.2 Scikit-learn . . . 15 3.2.3 Networkx . . . 15 3.2.4 Matplotlib . . . 15 3.2.5 SimPy . . . 15 4 Implementation 17 4.1 System Design . . . 17

4.1.1 Phase 1- Initiate the Graph . . . 19

4.1.2 Phase 2- Random Request . . . 25

(6)

4.1.3 Metrics . . . 28

4.1.4 Phase 3- Pull vs Push . . . 32

5 Analysis and Results 34 5.1 Random & Clustered Graph . . . 34

5.1.1 Random Graph . . . 34

5.1.2 Clustered Graph . . . 39

5.2 Hybrid Graph . . . 43

5.3 Graphs Comparison . . . 47

6 Conclusion and Future Work 53 6.1 Conclusion . . . 53

(7)

List of Figures

2.1 Hybrid Topology. . . 10

3.1 The Overall of Simulation. . . 16

4.1 An overall implementation of system design. . . 18

4.2 Algorithm 1 illustration. . . 19

4.3 present 300 nodes generated and distributed randomly. . . 20

4.4 Shows the random connected graph with size 300. . . 20

4.5 Shows the Master and Super nodes of random graph. . . 21

4.6 Algorithm 2 illustration. . . 22

4.7 The three circles represent the center of it’s own cluster. . . 23

4.8 Clustered Random Graph. . . 24

4.9 Algorithm 3 illustration . . . 25

4.10 Hybrid Graph . . . 26

4.11 Example Graph of Six Nodes. . . 27

4.12 Example Hybrid Graph of Six Nodes . . . 28

4.13 Example simple graph with three nodes to show how Phase 3 with Pull/Push mode act. . . 32

5.1 Random Graph With 500 Nodes. . . 35

5.2 Normalized Average Age For Random Graph. . . 35

5.3 Normalized Average Latency For Random Graph. . . 36

5.4 CDF Represents Age for Random Graph with Size 50. . . 36

5.5 CDF Represents Age for Random Graph with Size 100. . . 37

5.6 CDF Represents Age for Random Graph with Size 500. . . 37

5.7 CDF Represents Latency for Random Graph with Size 50. . . 38

5.8 CDF Represents Latency for Random Graph with Size 100. . . . 38

5.9 CDF Represents Latency for Random Graph with Size 500. . . . 38

5.10 Clustered Random Graph With 500 Nodes. . . 39

5.11 Normalized Average Age For Clustered Graph. . . 40

5.12 Normalized Average Latency For Clustered Graph. . . 40

5.13 CDF Represents Age for Clustered Graph with Size 50. . . 41

5.14 CDF Represents Age for Clustered Graph with Size 100. . . 41

5.15 CDF Represents Age for Clustered Graph with Size 500 . . . 41

(8)

5.16 CDF Represents Latency for Clustered Graph with Size 50. . . . 42

5.17 CDF Represents Latency for Clustered Graph with Size 100. . . . 42

5.18 CDF Represents Latency for Clustered Graph with Size 500. . . . 43

5.19 Hybrid Graph With 500 Nodes. . . 43

5.20 Normalized Average Age For Hybrid Graph. . . 44

5.21 Normalized Average Latency For Hybrid Graph. . . 45

5.22 CDF Represents Age for Hybrid Graph with Size 50. . . 46

5.23 CDF Represents Age for Hybrid Graph with Size 100. . . 46

5.24 CDF Represents Age for Hybrid Graph with Size 500. . . 46

5.25 CDF Represents Latency for Hybrid Graph with Size 50. . . 46

5.26 CDF Represents Latency for Hybrid Graph with Size 100. . . 46

5.27 CDF Represents Latency for Hybrid Graph with Size 500. . . 46

5.28 Normalized Average Age For All Graphs in Random Phase. . . . 48

5.29 Normalized Average Age For All Graphs in Pull Phase. . . 48

5.30 Normalized Average Age For All Graphs in Push Phase. . . 48

5.31 Normalized Average Latency For All Graphs in Random Phase. . 48

5.32 Normalized Average Latency For All Graphs in Pull Phase. . . . 48

5.33 Normalized Average Latency For All Graphs in Push Phase. . . . 48

5.34 CDF Represents age for All Graph with Size 100 in Random. . . 49

5.35 CDF Represents age for All Graph with Size 100 in Pull. . . 49

5.36 CDF Represents age for All Graph with Size 100 in Push. . . 49

5.37 CDF Represents Latency for All Graph with Size 100 in Random. 49 5.38 CDF Represents Latency for All Graph with Size 100 in Pull. . . 49

5.39 CDF Represents Latency for All Graph with Size 100 in Push. . . 49

5.40 CDF Represents age for All Graph with Size 500 in Random. . . 49

5.41 CDF Represents age for All Graph with Size 100 in Pull. . . 49

5.42 CDF Represents age for All Graph with Size 500 in Push. . . 50

5.43 CDF Represents Latency for All Graph with Size 500 in Random. 50 5.44 CDF Represents Latency for All Graph with Size 500 in Pull. . . 50

5.45 CDF Represents Latency for All Graph with Size 500 in Push. . . 50

5.46 New Request time For Random and Clustered graphs with Size 50. . . 51

(9)

Chapter 1. Introduction Page 5

Chapter 1

Introduction

Internet of things (IoT) refers to the objects connected together

over the network including sensors and end-user devices such

as Smartwatch, Smarthome and Driverless cars. IoT applications

rely on fresh information where the freshness of data can be

mea-sured by a metric called Age of Information (AoI). This chapter

describes the specific problem that this thesis addresses, the

con-text of the problem, Purpose, the goals and methods of this thesis

project, and outlines the structure of the thesis.

1.1

Background

(10)

Chapter 1. Introduction Page 6

1.2

Problem

Sensors are constrained devices in terms of energy (power via batter), and have also limited memory and computational power. Therefore they cannot serve many requests at the same time and thus,the bottleneck problem occurs at sensors. Furthermore, in order to prolong the battery life they get duty cycled, meaning that they sleep most of the time and wake up only to sense and offload sensor reading to another device. For this reason, the price that applications have to pay is some ageing of the information transmitted. Where ageing is the time that has elapsed since the data generated at sensors until collected by the application [12]. Such ageing is prolonged due to the communication through the Internet. The research question we try to answer with this master thesis is whether it is possible to build a distributed system that takes into consider-ation the AoI transmitted by the sensors so that IoT applicconsider-ations will receive the expected information quality, meaning that they receive fresh information with less latency.

1.3

Purpose

The purpose of this work is to investigate the possibility of obtaining all the benefits of a distributed system such as, having a decentralized system that can assure the continuity of services while ensuring that the timing requirements of IoT applications are fulfilled.

1.4

Goal

The goal of this thesis is to Investigate the feasibility of a distributed sys-tem that is able to deliver the information quality expected by multiple geo-distributed applications. The work will include theoretical analysis, simula-tions, and experimental results.

1.5

Benefits, Ethics and Sustainability

1.5.1

Benefits

This project aims to improve the data delivery method, so the IoT applications can collect fresh updates generated by the sensors with less latency.

1.5.2

Ethics

(11)

Chapter 1. Introduction Page 7

Privacy

IoT-connected devices collect large amounts of data from various sources. There-fore, companies that control such devices will have access to that data and use tools to violate consumers rights by using the collected information and thus, they can achieve their own goals. There have started to be trends to protect consumers’ privacy, but much of the IoT is still unregulated [3]. The General Data Protection Regulation (GDPR) is a legal framework that sets guidelines for the collection and processing of personal information from individuals who live in the European Union (EU) [26]. in In mid-2018, GDPR just became acti-vated and aim to protect all EU citizens from privacy and data breaches. Information Security

The most common weakness from IoT is security. It has gained a high degree of importance because, many IoT-connected devices have lack of security which make them vulnerable to attack. An example of connected devices whose secu-rity can be compromised are Camera, Smart TV, and Smart Speakers. A major attack on IoT devices was Mirai botnet attack [2]. Moreover, these smart de-vices can even send data from people’s homes back to a manufacturer’s servers for analysis, without clear or obvious consent from users [3].

Safety

The safety in the IoT system should be highly considered since many devices include actuators that gives the ability to interact and make changes in the physical world. For example, an autonomous vehicle can sense the other cars, traffic light, or people who crosses the street and hence, it will act in response to the collected information from the sensors. But consider what may happen if the brakes did not respond, then it will cause harm, put physical world at risk and threaten its safety. Thus, it is important to take responsibility here to ensure safety of IoT components and eliminate or reduce the risk.

Trust

Trust the IoT applications and services rely on fulfillment of the previous keys. In other words, Trust will be established when users can trust IoT. Moreover, if user is confident that no one will use his or her private information to achieve their own goals, it means that privacy will be respected and hence, trust can be established. Another example in information security, users maintain con-fidence even if there is a violation happened as long as they can be notified and fixed.

1.5.3

Sustainability

(12)

mis-Chapter 1. Introduction Page 8

sion, and SDGs (UN’s sustainable development goals) [15]. With increasing resources consumption such as energy and water, goal 11 of the SDGs intend “make cities and human settlements inclusive, safe, resilient and sustainable.” [5]. Using technology especially IoT is a big challenge for worldwide, sustain-ability aspects can be obviously seen through many deployment projects such as the Smart Green Infrastructure Monitoring project in Chicago [15]. Further-more, the aim of this study is to deliver fresh information to geo-distributed applications and thus, this feature should help cut down on energy consump-tion on the sensors side. Since they will not generate informaconsump-tion for each ap-plication, but rather for a group and thus fulfilling the goal 12 Of SDGs which States that solutions should “Ensure sustainable productions and energy pat-terns” [5].

1.6

Methodology / Methods

Quantitative research method is appropriate for the analysis since judgments will be made based on numerical experiments by running several simulations on different types of graphs (e.g., Random graph, Star graph). The goal is to find and analyze the simulation results such as latency, and average age of information. This experiment includes data generated by sensor devices (mas-ter node in this case), processed and consumed data received by applications (nodes).

1.7

Delimitations

(13)

Chapter 2. Theoretical Study Page 9

Chapter 2

Theoretical Study

Decentralized system is a set of devices or nodes connected in a

way to represent a network that increased system reliability, scale,

and privacy. This chapter will provide brief details about the

ba-sic points, fundamentals aspects and technology needed to

ac-complish this work. In addition, we will discuss the related work,

how it managed to optimize both the age of information and

la-tency.

2.1

Background

This section will describe all concepts and technology, related to distributed systems, have been investigated and used during the experiments.

2.1.1

Distributed Systems

Distributed systems are a group of networks connected that have the same purpose, where network components can communicate and coordinate their actions by passing messages to one another. [24]

2.1.2

Network Topology

From the logical perspective, Network Topology is an arrangement of nodes connected in a way to create a type of network, often represented as a graph. There are various types of network topologies where each one has advantages and disadvantages. In this thesis, we focus on Random and Hybrid Topology [9].

Random Topology

(14)

Chapter 2. Theoretical Study Page 10

well the graph is connected. Usually, the random graph creation process de-pends on probability distribution (e.g., Erdos-R´enyi) [8].

Hybrid Topology

Hybrid Topology is a hybrid between a generic tree and Star topology. The tree has many children, each child represents the central node of Star topol-ogy which is called (Super-Node) and the root represents the Master-Node of Hybrid Topology.

Figure 2.1: Hybrid Topology.

Star Topology

Star Topology is a group of individual devices connected to a central point, where the central point acts as a conduit to transmit messages between these devices [19].

Generic Tree Topology

(15)

Chapter 2. Theoretical Study Page 11

2.1.3

Euclidean Distance

Euclidean Distance refers to the distance between any two points in Euclidean Space [20]. It is useful to find and connect the nearest nodes to create a graph.

D=

q

(x1−x2)2+ (y1−y2)2 (2.1)

2.1.4

Internet of Things

IoT is a system of interrelated computing devices with the ability to transfer data over the network. Examples of a thing can be a camera that monitors the traffic, smart tv, driverless car. [22, 1]

Age of Information

Age refers to the time measured by the received node since the data has gen-erated at the source. Many applications that need to be updated periodically with fresh information depend on this metric [12, 13].

Cloud Computing

Cloud computing is the type of services that used and delivered over the inter-net, which rely on shared resources rather than having local servers or devices. Cloud serves a main role in IoT as it provides high computational power and ability to deliver the data generated by sensors to destination in an efficient way [4] . Due to the significant communication latency between sensing de-vices and data centers, we aim to investigate several decentralized networks that can be placed between clouds and applications.

Edge Computing

Edge Computing is the concept of bringing the computing near to the sensors device or source of data which has many benefits such as, decrease latency, decrease in bandwidth use and resources [23]. In our network topology, we will introduce three types of node. Master-Node serves as the center of a graph which generates data. Super-Node acts as an edge server and has direct access to the Master. The third type of node is user applications, they query data from Super-Node.

2.1.5

K-means Clustering

(16)

Chapter 2. Theoretical Study Page 12

2.2

Related Work

In this section we give you an overview of the related work that has been done in the field of Age of Information and Internet of Things.

Age of Information (AoI) has been studied in many fields and for different context such as, authors propose average system age information to collect all applications requirement in order to preserve the current state information from the nodes with the same cluster nodes. The state that this metric will help to address all the vehicular broadcast problems like queuing delays, delays from packet losses [13]. Other work has done in the queueing theory field, where authors here adopt the Last-Come-First-Served (LCFS) while most of the AoI studies have been under First-Come-First-Served (FCFS) principle. To avoid delaying new update packets, they implement LCFS to allow the new packets to go first. This procedure helps deliver better AoI compared to FCFS. [6]. Other authors have been studied AoI in the domain of cloud gaming, they aim to optimize the timeliness of video frames based on an age of information metric [27].

Corneo et al. state that Many IoT applications rely on timely and fresh in-formation gathered from wide plethora of wide device. The authors contribute to improve the age of information as well as decrease latency. To this end, they put a cloud and fog computing near to the physical device at the network edge. Although, they develop a policy to group applications request based on freshness criterion to create a smart schedule which will reduce the number of sensor transmission and hence, saving the power consumption. For reducing Latency, they also use Push between sensor and edge server as well as between edge server and the cloud server [7] .

Tripathi et al. aim to solve two main problems to minimize the peak and av-erage age of information. The problem statement that the authors mentioned is the timely exchange of updates between a central station and the ground terminals during the gathering and dissemination of information. However, to accomplish the goal, they design the trajectory of the mobile agent. They test the performance of the proposed trajectory on three different kinds of graphs: Random geometric, grid, and ring graphs. The authors seek to find the opti-mal trajectory for the mobile agent on the given graph to minimize AoI. They consider, for information gathering problem, random walk to move between nodes as a randomized trajectory.

In the information dissemination problem, the central terminal generates updates for each ground terminal. The generated updates are then transmitted to the mobile agent. This work inspires us to develop a similar way to their trajectory to disseminate fresh information to all nodes. But, in our work, the central will generate new updates and send it to the neighbors [25].

(17)

Chapter 2. Theoretical Study Page 13

(18)

Chapter 3. Methodology Page 14

Chapter 3

Methodology

The research methodology used for this project is the

Experimen-tal research approach, which is used to investigate our systems’

performances. We run a set of numerical experiments that

de-pend on multiple variables. One variable such as the size of the

graph is manipulated while the other stays constant, for instance,

Time and Nodes Periodic Request. In the end, we use the results

for analyses purpose to see, understand and do a comparison

be-tween multiple systems behavior.

3.1

Data Collection

In this project, we collect two types of data, age of information and latency. When we run an experiment on a graph, we measure the age of information and latency at each node N times and use the results later for evaluation. The evaluation process will show the difference between the age of information and latency at each node while the graph is growing. We collect enough samples (e.g., 1000) of age of information per node to see whether the results are Statis-tical relevance by observing the frequency of age of information at each node.

3.2

Used Software

(19)

Chapter 3. Methodology Page 15

3.2.1

NumPy

Numpy is an APIs accessible via Python to help with scientific computing. We used for generating the periodic requests, nodes positions and N-dimensional array [17].

3.2.2

Scikit-learn

Scikit-learn is a simple and efficient tool for data mining and data analysis. It is an opensource and accessible via Python. We use it to cluster the graph by K-Means algorithm [18].

3.2.3

Networkx

Networkx is a Software for complex networks written in python. Networkx has many features such as, Network structure and analysis measures. We use it for multiple types of graph creation and weighted edges [10].

3.2.4

Matplotlib

Matplotlib is 2D plotting library for the Python programming language. It can be used to generate plots, bar and errorbar charts and more. We use it to plot our results such as, average latency, average age of information and cumulative distribution function (CDF) [11].

3.2.5

SimPy

(20)

Chapter 3. Methodology Page 16

(21)

Chapter 4. Implementation Page 17

Chapter 4

Implementation

This chapter describes the implementation work of the degree

project. It focuses on defining the algorithms that we have used

to build our distributed system. In addition, we will show phases

that have considered to do further improvement.

4.1

System Design

(22)

Chapter 4. Implementation Page 18

(23)

Chapter 4. Implementation Page 19

4.1.1

Phase 1- Initiate the Graph

In this phase we initiate 3 types of graphs by three different algorithms, Ran-dom, Random Clustered and Hybrid Graph.

Algorithm 1- Random Graph

As can be seen in Figure 4.2, the following steps are executed to generate a Random graph

Figure 4.2: Algorithm 1 illustration. Here follow the steps of how we build the Random Graph:

(24)

Chapter 4. Implementation Page 20

Figure 4.3: present 300 nodes generated and distributed randomly.

Second, we connect each node with the first four nearest nodes by calculating the Euclidean distance between each two nodes. The reason behind chosen the degree here equal to 4, is just to make sure that there is always a path be-tween any two random nodes and to avoid node isolation. See Figure 4.4.

(25)

Chapter 4. Implementation Page 21

At this step, the graph is random and connected as seen in Figure 4.4. Now we need to select the master node (center of the graph) which acts as the source of generating and serving data to Super Nodes in this study. Master Node can be selected by finding the node with the highest degree (number of edges). Finally, the Master Node’s neighbors are elected to be the Super-Nodes (an edge device or server). Super-Nodes’ purpose is to provide the data generated by the Master to the rest of the nodes. See Figure 4.5, Red node and Blue node represent the Master and Super respectively.

(26)

Chapter 4. Implementation Page 22

Algorithm 2- Random Clustered Graph

As can be seen in Figure 4.6, the following steps are executed to generate a Random Clustered graph.

(27)

Chapter 4. Implementation Page 23

Here follow the steps of how we build the Random Graph: First, we generate the nodes similarly as the Algorithm 1.

In second step, we run K-means which is also referred to as Lloyd’s algorithm (described in Chapter 2). We use the nodes position as an initial input to-gether with the number of clusters (ex. cluster = 3). It will return the center position of each cluster which will help to elect the Super-Nodes. Figure 4.7, shown the clusters of the graph.

Figure 4.7: The three circles represent the center of it’s own cluster.

In this Algorithm, we choose the Master and Super Nodes before establishing the connection between the nodes. Master-Node is randomly elected, Super-Nodes are chosen by measuring the distance between each centroid (center of cluster) and other nodes. So, three clusters mean we have 3 Super Nodes where Super is the closest one to the centroid.

The Master-Node in this Algorithm just connected with Super-Nodes and thus, nodes don’t have direct access to the Master.

(28)

Chapter 4. Implementation Page 24

Figure 4.8: Clustered Random Graph.

Algorithm 3- Hybrid Graph

As can be seen in Figure 4.9, the following steps are executed to generate a Hybrid graph.

(29)

Chapter 4. Implementation Page 25

Figure 4.9: Algorithm 3 illustration

4.1.2

Phase 2- Random Request

(30)

Chapter 4. Implementation Page 26

Figure 4.10: Hybrid Graph

request to get a new update to its neighbor in random time as we do not have yet the best request time the node can send a request to the best neighbor to get the fresh data.

Phase 2 aims to find the best neighbor the node can request from and measure the most likely time for the request to be sent.

We assume in our study the data has generated at Master-Node, whereas in the real network the cloud server is the source. Super-Node will serve as an edge device or server, it will feed the nearest Nodes with fresh information. In the next chapter, we will see how Super-Nodes contribute to reduce the latency and preserve the quality of information (AoI).

(31)

Chapter 4. Implementation Page 27

Figure 4.11: Example Graph of Six Nodes.

Send Request scenario

(32)

Chapter 4. Implementation Page 28

Receive New Information Scenario

Assume node (1) received new data from Super. Node (1) will measure three types of metric, age of Information, Latency and Request Time (“we call it Event metric”). Then, node (1) replies with the received data to all nodes that added to the queue. Each node will calculate the same metrics whenever it receives new information and reply to its queued neighbors.

Request–Receive New Information Scenario in Hybrid Graph As an example for Hybrid graph, seen in Figure 4.12

Figure 4.12: Example Hybrid Graph of Six Nodes

In this scenario, nodes directly request and receive a reply from Super. Each node will calculate the same three metrics in the same way.

4.1.3

Metrics

Age Metric

(33)

Chapter 4. Implementation Page 29

AT si = T n − T s + ε (4.1)

Where :

• AT si is the age of information for Timestamp Ts at node i.

• Ts is the Timestamp for the received information. • Tn denotes the time the node received the information.

• ε is a small constant global value represent the communication delay. Average Age Metric

Defined as the average time of all age of information received by all nodes in the system. The average age at node (i) can be written as:

Aavgi =1

s

X

T s∈T

AT si (4.2)

Now, the total average for all nodes

Aavg= 1 N N X i=0 Aavgi (4.3)

From (2) and (3) we get

Aavg= 1 N S N X i=0 X T s∈T AT si (4.4) Where :

• Aavgi is the average age of information at node (i).

• T denotes all Timestamps at node (i). • N refers to the total number of nodes.

• S is the total number of all Timestamps of information received by all nodes.

(34)

Chapter 4. Implementation Page 30

Latency Metric

Defined the time interval between send a request and receive a reply at node i:

LatencyiT s= T n − Rt + ε (4.5)

Where :

• LatencyiT sis the latency at node i for Timestamp Ts.

• Ts is the Timestamp for the received information. • Tn is the time the node received the information. • Rt denotes the time when node sent the request.

• ε is a small constant global value represent the communication delay. Average Latency Metric

Defined as the average time of all latency in the system. The average latency at node i can be written as:

Latencyiavg=1

s

X

T s∈T

LatencyT si (4.6)

Now, the total average for all nodes

Latencyavg= 1 N N X i=0 Latencyavgi (4.7)

From (6) and (7) we get

Latencyavg= 1 N S N X i=0 X T s∈T LatencyT si (4.8) Where :

• Latencyiavg is the latency at node i for Timestamp Ts.

• T denotes all Timestamps at node (i). • N refers to the total number of nodes.

• S is the total number of all Timestamps of information received by all nodes.

(35)

Chapter 4. Implementation Page 31

Event Metric

Event metric or Request Time denotes the most likely time the node should send a request to get more fresh information with less latency. When a node receives new information, it will measure the age, latency, and event (Request Time) in Phase 2 as seen in the following pseudo-code:

Result:event for nodei

#Calculate the age of information at node i

Agei = T n – T s

#Calculate the latency at node i

Latencyi = T n – Rt

#Calculate the new Request Time (Event) for node i and store it

event = Agei – Latencyi

ifevent > 0 then

#Compare Event with last stored value ifevent < oldevent then

store new value; else

Keep the old value; end

else

Event = 0 as this node is connected directly to the Super . Store Event for node i

end

(36)

Chapter 4. Implementation Page 32

In Phase 3, we implement the Request Time (Event) so the node will peri-odically send a request after each time a new data generated by Master. The final equation can be written as:

eventi=       

agei− latencyi, otherwise

0, if agei<latencyi

(4.9) We store Request Time (Event) value for each node, then when a node wants to send a request to get the new update with Timestamp Ts:

eventT si = eventi+ T s (4.10)

Where:

• eventiT sis the request time for node i at timestamp Ts.

• Ts is the Timestamp for the new update generated by the Master.

4.1.4

Phase 3- Pull vs Push

This is the final stage where each node knows the time and neighbor will send the request to. In this phase we implement the Event metric, we expect that Nodes will receive more fresh information and less latency.

See Figure 4.13, an example to show the different scenarios between using Pull or Push.

Assume the time between each two nodes is T and T=10. The Master-Node generates update at time (10) and Push it directly to Super-Node. In Phase 2-Pull, Node 1 requests in random time (ex. 50) from Super-Node. Phase 3-2-Pull, it sends at the new time request that calculated from previous phase to Super-Node. Finally in Phase 3-Push, Super-Node pushes directly the update to all it’s neighbors once received from Master. So, the results for age and latency at Node 1 as seen in Table 4.1.

(37)

Chapter 4. Implementation Page 33

Table 4.1: Show results at Node1.

Scenario Age Latency

Phase 2-Pull age = 2T + Rt - Ts, age = 60 L= 2T, L = 20

Phase 3-Pull age = 50 L = 20

(38)

Chapter 5. Analysis and Results Page 34

Chapter 5

Analysis and Results

In this chapter, we present the collected results from our

experi-ments on each graph based on the algorithms described in

Chap-ter 4. As a comparison between the results, we plot the average

age of information and average latency to determine the

perfor-mance between them. Besides, we show the CDF (Cumulative

Distributed Function) as an analysis of the whole system.

5.1

Random & Clustered Graph

This study discusses two types of random graphs that we have explained in previous chapter. We run an experiments on multiple graphs sizes (50, 100, 200, 400, 500) with the three different algorithms (Random request, Pull re-quest, Push request).

5.1.1

Random Graph

The random graph with 8 Super-Nodes is demonstrated in Fig 5.1.The results shown in Fig 5.2 are the trade-off between the normalized average age of infor-mation and the number of nodes. Whereas Fig 5.3 is the trade-off between the normalized average latency and the number of nodes.

The results in Figure 5.2 and 5.3, show the difference performance between Several Random graph sizes. We normalize the average age of information and average latency by the result we collect from running the simulation in Push mode to make the comparison understandable and clear.

(39)

Chapter 5. Analysis and Results Page 35

The result in Figure 5.3, shows the average Latency in Random is increasing with more nodes. The reason is the nodes here send the request at a random time, so the delay will increase as the request should reach the nearest Super. Likewise, in Push and Pull mode, we will have a small latency for the same reason we explain before that the nodes will send a request at the right time and it will get response directly from the neighbor.

Figure 5.1: Random Graph With 500 Nodes.

(40)

Chapter 5. Analysis and Results Page 36

Figure 5.3: Normalized Average Latency For Random Graph.

In Figure 5.4, 5.5 and 5.6 we show the cumulative distribution function (CDF) for the age of information for the whole system. For example, Figures 1.5 shows that there is an 80% chance that the age does not exceed 140 ms in Random, 90 ms in Pull and 75 ms in Push with graph size 50. As a perfor-mance comparison, Figure 1.9 shows that in 80% of the observed values, the age did not exceed 140 ms in Random, 110 ms in Pull and 80 ms in Push with graph size 500. Thus, joining more nodes may affect the delivery of more fresh information due to the delay happen at each node.

(41)

Chapter 5. Analysis and Results Page 37

Figure 5.5: CDF Represents Age for Random Graph with Size 100.

Figure 5.6: CDF Represents Age for Random Graph with Size 500.

(42)

Chapter 5. Analysis and Results Page 38

Figure 5.7: CDF Represents Latency for Random Graph with Size 50.

Figure 5.8: CDF Represents Latency for Random Graph with Size 100.

(43)

Chapter 5. Analysis and Results Page 39

5.1.2

Clustered Graph

The random graph with clustering (3 clusters) is demonstrated in Fig 5.10. The results shown in Fig 5.11 are the trade-off between the average age of informa-tion and the number of nodes. Whereas Fig 5.12 is the trade-off between the average latency and the number of nodes.

Figure 5.10 shows that a Clustered graph works similar to a Random graph. In a Clustered graph, we choose the Super-Nodes based on clustering results while the Master is elected randomly. Next, in Figure 5.11, we see that the average age is maximum at size 50 while it shows better performance when more nodes join the graph. Since we have distributed Super-Nodes around the graph that can deliver fresh information for nodes which are far from the Master with less delay. Also, it can be seen in graph that the average age in Random mode is almost the same at size 200 and 400 due to node position, i.e., how far the node is from the nearest Super and latency between two neighbors. In Figure 5.12 shows the average Latency in a Clustered graph, where Ran-dom scores a higher average than Pull and Push. The reason as we explained earlier, is Super-Nodes have distributed around the graph, so nodes send the request at a random time to the neighbor that shares the shortest path to the nearest Super. Since more nodes joining the network, possible delay happens at each node due to the time needed for processing the request. Moreover, Pull and Push show remarkable improvement due to the small latency and fast re-sponse between nodes.

(44)

Chapter 5. Analysis and Results Page 40

Figure 5.11: Normalized Average Age For Clustered Graph.

(45)

Chapter 5. Analysis and Results Page 41

Figure 5.13: CDF Represents Age for Clustered Graph with Size 50.

Figure 5.14: CDF Represents Age for Clustered Graph with Size 100.

(46)

Chapter 5. Analysis and Results Page 42

In Figure 5.16, 5.17 and 5.18 we show the cumulative distribution function (CDF) for the Latency represents the whole system. As seen in Figure 5.16, shows that there is a high chance that the latency will reach more than 160 ms in Random, 80 ms in Pull and 40 ms in Push with graph size 50. Figure 5.17 shows that the latency will exceed 400 ms in Random, 50 ms in Pull and about 20 ms in Push with graph size 100. Finally, we can see how this algorithm improves latency in Figure 5.18 where latency in Random becomes at most 350 ms. Although in Pull and Push, the graph performs better since the nodes will directly get the information from the best candidate neighbor with a potential minor delay.

Figure 5.16: CDF Represents Latency for Clustered Graph with Size 50.

(47)

Chapter 5. Analysis and Results Page 43

Figure 5.18: CDF Represents Latency for Clustered Graph with Size 500.

5.2

Hybrid Graph

In Fig 5.19, show the Hybrid graph with size 500. The results shown in Figure 5.20, is the trade-off between the average age of information metric and the number of nodes. Whereas Fig 5.21 is the trade-off between the average latency metric and the number of nodes.

(48)

Chapter 5. Analysis and Results Page 44

In Figure 5.20 we show that the average age in Pull is around 50% better than Random due to the periodic request time we implement in the Pull phase. Although, the nodes in this topology are connected directly to Super-Nodes which has a positive effect on the fresh information delivery process. Moreover, the Pull phase shows almost the same performance since the node request time is not affected by any other node

In Figure 5.21 we show the average Latency in a Hybrid graph where Pull scores 25% more than Random. The reason is that some nodes may send a request before a new update received by Super-Node. So, Super-Node will delay the reply till getting a new update from Master and thus, it will increase latency.

(49)

Chapter 5. Analysis and Results Page 45

Figure 5.21: Normalized Average Latency For Hybrid Graph.

In Figures 5.22, 5.23 and 5.24 we show the cumulative distribution func-tion (CDF) that represents the age of informafunc-tion to the system. For example, Figures 5.22 shows that there is an 80% chance that the age does not exceed 140 ms in Random, 65 ms in Pull and 45 ms in Push.

In Figures 5.25, 5.26 and 5.27, we show the cumulative distribution func-tion (CDF) for the Latency to the system. In Figure 5.25, we show that the latency in Pull will reach a little more than in Random. Although in Pull and Push, the graph performs better since the nodes will directly get the informa-tion from the Super-Node they belong to with a potential minor delay.

(50)

Chapter 5. Analysis and Results Page 46

Figure 5.22: CDF Represents Age for Hybrid Graph with Size 50.

Figure 5.23: CDF Represents Age for Hybrid Graph with Size 100.

Figure 5.24: CDF Represents Age for Hybrid Graph with Size 500.

Figure 5.25: CDF Represents Latency for Hybrid Graph with Size 50.

Figure 5.26: CDF Represents Latency for Hybrid Graph with Size 100.

(51)

Chapter 5. Analysis and Results Page 47

5.3

Graphs Comparison

In this section we compare between Random, Clustered and Hybrid graphs performance. For fair comparison, we create each graph with 3 Super-Node. In Figure 5.29 we show the average age of information between the three graphs in Random phase. Next, in Figure 5.30 and Figure 1.31 we again show the average of information in Pull phase and Push phase respectively. For Latency, in Figure 5.32 we plot the average in Random phase, where the average in Pull and Push phase can be seen in Figure 5.33 and Figure 5.34. Table 5.1 describes the graphs comparison results for all three phases. In Random request phase, Hybrid graph can deliver better fresh information than Random and Clustered graph with less latency. While in Pull and Push phases, Hybrid graph can still deliver data with less age of information, but higher latency than other graphs as Nodes here are connected directly with Super-Node and maybe far from Super.

Table 5.1: Show Comparison Result.

Phase Age of Information Latency

Random Hybrid graph then Random graph Hybrid graph then Clustered graph

Pull Hybrid graph then Random graph Random and Clustered graph almost same

(52)

Chapter 5. Analysis and Results Page 48

50 100 200 400 500

Graph size in Random Phase

0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 Normalized Av erage Age (ms) Random Graph Clustered Graph Hybrid Graph

Figure 5.28: Normalized Average Age For All Graphs in Random Phase.

50 100 200 400 500

Graph size in Pull Phase

0.0 0.5 1.0 1.5 2.0 Normalized Av erage Age (ms) Random Graph Clustered Graph Hybrid Graph

Figure 5.29: Normalized Average Age For All Graphs in Pull Phase.

50 100 200 400 500

Graph size in Push Phase

0.0 0.5 1.0 1.5 2.0 2.5 Normalized Av erage Age (ms) Random Graph Clustered Graph Hybrid Graph

Figure 5.30: Normalized Average Age For All Graphs in Push Phase.

50 100 200 400 500

Graph size in Random Phase

0.0 0.5 1.0 1.5 2.0 2.5 3.0 Normalized Av erage Latency

(ms) Random GraphClustered Graph Hybrid Graph

Figure 5.31: Normalized Average Latency For All Graphs in Random Phase.

50 100 200 400 500

Graph size in Pull Phase

0.0 0.2 0.4 0.6 0.8 1.0 1.2 Normalized Av erage Latency

(ms) Random GraphClustered Graph Hybrid Graph

Figure 5.32: Normalized Average La-tency For All Graphs in Pull Phase.

50 100 200 400 500

Graph size in Push Phase

0.0 0.2 0.4 0.6 0.8 1.0 1.2 Normalized Av erage Latency

(ms) Random GraphClustered Graph Hybrid Graph

(53)

Chapter 5. Analysis and Results Page 49 0 50 100 150 200 250 Age of Information (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

Figure 5.34: CDF Represents age for All Graph with Size 100 in Random.

0 25 50 75 100 125 150 175 Age of Information (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

Figure 5.35: CDF Represents age for All Graph with Size 100 in Pull.

0 20 40 60 80 100 120 140 Age of Information (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

Figure 5.36: CDF Represents age for All Graph with Size 100 in Push.

0 100 200 300 400 500 Latency (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

Figure 5.37: CDF Represents Latency for All Graph with Size 100 in Ran-dom. 0 100 200 300 400 500 Latency (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

Figure 5.38: CDF Represents Latency for All Graph with Size 100 in Pull.

5 10 15 20 25 Latency (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

Figure 5.39: CDF Represents Latency for All Graph with Size 100 in Push.

0 50 100 150 200 250 300 Age of Information (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

Figure 5.40: CDF Represents age for All Graph with Size 500 in Random.

0 25 50 75 100 125 150 175 Age of Information (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

(54)

Chapter 5. Analysis and Results Page 50 0 20 40 60 80 100 120 140 Age of Information (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

Figure 5.42: CDF Represents age for All Graph with Size 500 in Push.

0 100 200 300 400 500 Latency (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

Figure 5.43: CDF Represents Latency for All Graph with Size 500 in Ran-dom. 0 10 20 30 40 50 60 Latency (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

Figure 5.44: CDF Represents Latency for All Graph with Size 500 in Pull.

5 10 15 20 25 30 Latency (ms) 0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph Hybrid Graph

(55)

Chapter 5. Analysis and Results Page 51

In Figures 5.47, 5.48, we plot the cumulative distribution function (CDF) that represents the new request time for Random, Clustered graphs. We just want to show how periodic time for Nodes in Clustered graphs are less than in Random which means, Clustered graph can decrease latency more than Ran-dom graph.

0 20 40 60 80 100

New Request Time (ms)

0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph

Figure 5.46: New Request time For Random and Clustered graphs with Size 50.

0 20 40 60 80 100 120 140

New Request Time (ms)

0.0 0.2 0.4 0.6 0.8 1.0 Lik eliho o d of Occurrences Random Graph Clustered Graph

Figure 5.47: New Request time For Random and Clustered graphs with Size 100.

we ran an experiment on three types of graphs, Random, Clustered and Hybrid graph. The experiment considered three phases, Random, Pull and Push. When we started the experiment, we expected to see an improvement in delivering fresh information with lower latency in Pull Phase and better performance in the Push phase as well. So from the results, we found that all graphs can perform better in Pull and Push phases than in Random due to the new request time we calculate for each node in Random phase. However, some graph can perform better than others such as Hybrid graph can deliver better fresh information as nodes here are connected directly to Super-Node. Clustered graph performed better in terms of latency as we have Super-Nodes distributed around the graph but with less fresh information due to the long distance between Super and Master. In addition, we collected 1000 samples per node (age of information) and found that results are statistically relevant in Pull and Push phases as node always get the same age of information due to the event metric we implemented. While in Random it is not statistically relevant, as node sends request at random time and hence different age of information each time.

(56)

Chapter 5. Analysis and Results Page 52

(57)

Chapter 6. Conclusion and Future Work Page 53

Chapter 6

Conclusion and Future Work

6.1

Conclusion

The goal of this paper was to investigate the feasibility of distributed systems to deliver fresh updates generated by the sensors with less latency while pre-serving the age of information to geo-distributed applications. We developed three different algorithms and presented in detail. Each one includes three phases, Initiate the graph, Random request, and Pull/Push request. The first algorithm is a way to build a Random graph. The second and the third are for the Clustered and Hybrid graph respectively. We developed an experiment to simulate nodes’ interaction by sending a request and receiving a reply. In phase two, we ran an experiment on these graphs where nodes send a request at random time to its neighbor to get a new update generated at Master-Node. Next, we gathered the age of information and latency results at each node to measure the event metric (new request time). In phase three, we ran the exper-iment again with Pull and Push request respectively where nodes knew its best time and neighbor to query the update from which had an impact on results for delivering fresh information and low latency.

(58)

Chapter 6. Conclusion and Future Work Page 54

6.2

Limitation and Future Work

(59)

Bibliography

[1] ”Internet of Things Global Standards Initiative”. url: https://www.itu.

int/en/ITU-T/gsi/iot/Pages/default.aspx(visited on 11/10/2019).

[2] ”The Mirai Botnet Attack”. url: https://www.cloudflare.com/learning/

ddos/glossary/mirai-botnet/(visited on 11/10/2019).

[3] Fritz Allhoff and Adam Henschke. “The Internet of Things:

Founda-tional ethical issues”. In:Internet of Things 1.IEEE Comput. 49.4 2016

(2018), pp. 55–66. doi: 10 . 1016 / j . iot . 2018 . 08 . 005. url: https : / / app . dimensions . ai / details / publication / pub . 1107232325 % 20and%20https://doi.org/10.1016/j.iot.2018.08.005.

[4] Michael Armbrust et al.Above the Clouds: A Berkeley View of Cloud

Com-puting. Tech. rep. 2009.

[5] UN General Assembly.Transforming our world : the 2030 Agenda for

Sus-tainable Development. url: https://susSus-tainabledevelopment.un.org/

sdg11(visited on 10/07/2019).

[6] Kun Chen and Longbo Huang. “Age-of-Information in the Presence of

Error”. In:CoRR abs/1605.00559 (2016). arXiv: 1605.00559. url: http:

//arxiv.org/abs/1605.00559.

[7] L. Corneo, C. Rohner, and P. Gunningberg. “Age of Information-Aware

Scheduling for Timely and Scalable Internet of Things Applications”. In:

IEEE INFOCOM 2019 - IEEE Conference on Computer Communications.

Apr. 2019, pp. 2476–2484. doi: 10.1109/INFOCOM.2019.8737497.

[8] P. Erdos and A. R´enyi. “On Random Graphs I”. In:Publicationes

Mathe-maticae 6 (1959), pp. 290–297.

[9] David Groth and Toby Skandier.Network+ Study Guide. 4th ed. Sybex,

2005. isbn: 0782144063.

[10] Aric A. Hagberg, Daniel A. Schult, and Pieter J. Swart. “Exploring

Net-work Structure, Dynamics, and Function using NetNet-workX”. In:

Proceed-ings of the 7th Python in Science Conference. Ed. by Ga¨el Varoquaux, Travis

Vaught, and Jarrod Millman. Pasadena, CA USA, 2008, pp. 11–15.

[11] J. D. Hunter. “Matplotlib: A 2D graphics environment”. In:Computing in

Science & Engineering 9.3 (2007), pp. 90–95. doi: 10.1109/MCSE.2007.

55.

(60)

Chapter 6. Conclusion and Future Work Page 56

[12] S. Kaul, R. Yates, and M. Gruteser. “Real-time status: How often should

one update?” In:2012 Proceedings IEEE INFOCOM. Mar. 2012, pp. 2731–

2735. doi: 10.1109/INFCOM.2012.6195689.

[13] S. Kaul et al. “Minimizing age of information in vehicular networks”. In:

2011 8th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks. June 2011, pp. 350–358. doi:

10.1109/SAHCN.2011.5984917.

[14] Klaus G. M ¨uller, Tony Vignaux.Simpy: Discrete event simulation for Python.

[15] Knud Lueth, Abhay Rastogi, and Rodrigo Arias. “The World Economic

Forum”. In:The effect of the Internet of Things on sustainability (21 Jan

2018). url: https : / / www . weforum . org / agenda / 2018 / 01 / effect

-technology-sustainability-sdgs-internet-things-iot/.

[16] Nitinder Mohan et al. “Anveshak: Placing Edge Servers In The Wild”.

In: Proceedings of the 2018 Workshop on Mobile Edge Communications.

MECOMM’18. Budapest, Hungary: ACM, 2018, pp. 7–12. isbn: 978-1-4503-5906-1. doi: 10.1145/3229556.3229560. url: http://doi.acm. org/10.1145/3229556.3229560.

[17] Travis E Oliphant.A guide to NumPy. Vol. 1. Trelgol Publishing USA,

2006.

[18] F. Pedregosa et al. “Scikit-learn: Machine Learning in Python”. In:

Jour-nal of Machine Learning Research 12 (2011), pp. 2825–2830.

[19] Lawrence G. Roberts and Barry D. Wessler. “Computer Network

Devel-opment to Achieve Resource Sharing”. In:Proceedings of the May 5-7,

1970, Spring Joint Computer Conference. AFIPS ’70 (Spring). Atlantic City,

New Jersey: ACM, 1970, pp. 543–549. doi: 10.1145/1476936.1477020.

url: http://doi.acm.org/10.1145/1476936.1477020.

[20] Allan Robinson.”How to Calculate Euclidean Distance”, sciencing.com. url:

https://sciencing.com/how- to- calculate- euclidean-

distance-12751761.html(visited on 10/07/2019).

[21] Scott Robinson. K-Means Clustering with Scikit-Learn. url: https : / /

stackabuse.com/k- means- clustering- with- scikit- learn(visited

on 11/07/2019).

[22] Margaret Rouse.”internet of things (IoT)”. url: https://internetofthingsagenda.

techtarget . com / definition / Internet - of - Things - IoT(visited on

11/10/2019).

[23] W. Shi et al. “Edge Computing: Vision and Challenges”. In:IEEE Internet

of Things Journal 3.5 (Oct. 2016), pp. 637–646. doi: 10.1109/JIOT.2016.

2579198.

[24] M. van Steen and A.S. Tanenbaum.Distributed Systems. 3rd ed.

(61)

Chapter 6. Conclusion and Future Work Page 57

[25] V. Tripathi, R. Talak, and E. Modiano. “Age Optimal Information

Gath-ering and Dissemination on Graphs”. In:IEEE INFOCOM 2019 - IEEE

Conference on Computer Communications. Apr. 2019, pp. 2422–2430. doi:

10.1109/INFOCOM.2019.8737642.

[26] Paul Voigt and Axel von dem Bussche.The EU General Data Protection

Regulation (GDPR): A Practical Guide. 1st. Springer Publishing Company,

Incorporated, 2017. isbn: 3319579584, 9783319579580.

[27] R. D. Yates et al. “Timely cloud gaming”. In:IEEE INFOCOM 2017 - IEEE

Conference on Computer Communications. May 2017, pp. 1–9. doi: 10 .

(62)

TRITA-EECS-EX-2019:713

References

Related documents

Figure 5-8 shows that with 2 % symmetric Poisson distributed packet drops, all three protocols never suffer more than 0.0008 % loss rate. SRT performed the best with three iterations

The results of this work were an application that communicates with the simulator to receive signal data, which is used together with 3D graphics to visualize the movements of

o LV Anterior Subepicardium, apical plane (Marker#2), equatorial plane (Marker#3), basal plane (Marker#4), inserted before the pump run. o LV Septal Subendocardium, apical

Affischen baserad på tema behov var den affisch som påverkade flest personer till att kunna tänka sig att bli månadsgivare vilket kan kopplas till att problemet var

• Output Operation :- Spark Streaming supports many output operations that make sure the processed streams and data are stored in an external storage such as HDFS, or file

Given the results in Study II (which were maintained in Study III), where children with severe ODD and children with high risk for antisocial development were more improved in

Rantzer (2008): “State estimation for Markov jump linear systems using approximate dynamic programming.” Submitted to IEEE Transactions on Automatic Control.. Presents a

För att ta reda på hur jämställdhet konstrueras inom institutionerna vid Örebro universitet menar vi, i likhet med Berger och Luckmann (2010:48), att dessa konstruktioner sker genom