Sei sulla pagina 1di 35

Università Telematica Internazionale Uninettuno

DIPARTIMENTO DI INGEGNERIA INFORMATICA


Corso di Laurea Magistrale in Ingegneria Informatica

P ROGETTO IN D IGITAL I NNOVATION

Edge Computing

Studente: Docente:
Nicola Maiorano Prof. Michele Missikoff
Matricola 296HHHINGINFOR
Tutor:
Dott.ssa Eleonora Cappelli

Anno Accademico 2018–2019


Sommario

Un nuovo paradigma nel panorama tecnologico si pone l’obiettivo di ampliare le carat-


teristiche del Cloud. L’Edge Computing inserisce risorse sulla periferia della rete consen-
tendo di elaborare informazioni contestuali per gli utenti e i dispositivi stessi, riducendo
notevolmente la latenza e supportando la mobilità. Il modello che ne deriva permette
di soddisfare le richieste delle moderne applicazioni IoT, che necessitano di processare i
dati vicino alla sorgente per evitare frequenti connessioni con il Cloud, a cui ci si rivolge
soltanto per operazioni complesse, riducendo il traffico dati sulla rete.
INDICE

indice degli acronimi iv


elenco delle figure v
elenco delle tabelle v
introduzione 1
1 cloud computing 2
1.1 Cenni Storici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Architettura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Cloud Consumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Cloud Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3 Cloud Auditor, Broker e Carrier . . . . . . . . . . . . . . . . . . . . 7
1.3 Vantaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Svantaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 edge computing 10
2.1 Fog Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1 Caratteristiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Mobile Edge Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Architettura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Cloudlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Tecnologie a Confronto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5 Implementazioni Edge Computing e Vantaggi . . . . . . . . . . . . . . . . 19
2.6 Sicurezza e Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 applicazioni e piattaforme per l’edge computing 22
3.1 Architetture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Aree Applicative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Scenari Futuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
conclusioni 28
bibliografia 29

iii
INDICE DEGLI ACRONIMI

2FA Two Factor Authentication

3G Third Generation

5G Fifth Generation

CoAP Constrained Application Protocol

CoRE Constrained RESTFul Environments

ETSI European Telecommunications Standards Institute

HTTP Hyper Text Trasnfer Protocol

IaaS Infrastructure as a Service

IDC International Data Corporation

IETF Internet Engineering Task Force

IoT Internet of Things

LA Lambda Architecture

LTE Long Term Evolution

MEC Mobile Edge Computing

NIST National Institute of Standards and Technology

NFV Network Function Virtualization

OTP One Time Password

PaaS Platform as a Service

QoS Quality of Service

RAN Radio Access Network

iv
Saas Software as a Service

SDN Software Defined Network

SLA Service Level Agreement

SMART Specific Measurable Achievable Realistic Time-Constrained

SOA Service Oriented Architecture

ELENCO DELLE FIGURE

Figura 1 Architettura Cloud di Riferimento. . . . . . . . . . . . . . . . . . . 4


Figura 2 Livelli del Fog Computing. . . . . . . . . . . . . . . . . . . . . . . 11
Figura 3 Mobile Edge Computing. . . . . . . . . . . . . . . . . . . . . . . . 13
Figura 4 Architettura Cloudlet. . . . . . . . . . . . . . . . . . . . . . . . . . 14
Figura 5 Architettura multilivello per l’Edge Computing. . . . . . . . . . . 16
Figura 6 Albero decisionale per implementazioni Edge Computing. . . . . 18
Figura 7 Smart Gateway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

E L E N C O D E L L E TA B E L L E

Tabella 1 Implementazioni Edge Computing a Confronto . . . . . . . . . . 17

v
INTRODUZIONE

Nell’attuale scenario tecnologico il Cloud che offre un insieme di risorse di memoria e


di calcolo è l’infrastruttura più utilizzata. Una delle principali tecnologie abilitanti di
questa nuova architettura di rete è l’Internet of Things (IoT): dispositivi eterogenei (quali
ad esempio sensori e smart meter) che diventano Specific Measurable Achievable Realistic
Time-Constrained (SMART), ossia dotati di capacità di calcolo seppur limitate, e connessi
in rete per l’invio dei dati verso le piattaforme Cloud centralizzate.
Tale transizione ha generato un’enormità di dati nelle periferie delle reti. Queste tecno-
logie vengono largamente impiegate in settori specializzati, con la conseguente nascita
di nuove applicazioni che richiedono caratteristiche molto stringenti, in termini di inte-
razione e connessione tra i dispositivi stessi e le unità di elaborazione, riduzione della la-
tenza, supporto alla mobilità. Tali specifiche spesso non possono essere garantite lungo
il cammino verso il Cloud.
Il rapido sviluppo dei progetti IoT sta guidando la creazione di architetture decentra-
lizzate, in grado di elaborare i dati direttamente nei punti in cui vengono prodotti o,
almeno, il più vicino possibile. Un nuovo paradigma recentemente affermatosi si pone
l’obiettivo di ampliare le caratteristiche del Cloud e fornire una nuova architettura di
rete che risponda agli elevati requisiti delle applicazioni nascenti. Tale modello, definito
Edge Computing inserisce delle risorse nelle vicinanze dei dispositivi, consentendo ai si-
stemi di elaborarli ai margini della rete. Questo fa si che si possa avere una bassa latenza
e un efficiente supporto alla mobilità, rispondendo ai requisiti richiesti dalle moderne
applicazioni che necessitano di analisi real-time dei dati da inviare sulla rete.
Recenti ricerche di mercato hanno evidenziato e prontamente affermato che ben presto
si transiterà nella fase di "Cloud to the Edge": il Cloud ben presto lascerà spazio all’Ed-
ge. Alcuni hanno definito questa fase come una decentralizzazione del Cloud, come
conseguenza della dotazione dei dispositivi di risorse di calcolo per l’elaborazione dei
dati, in tempo reale, lì dove vengono prodotti.
Questo svincola i dispositivi dallo stretto legame con i data center, e fa si che sia possibile
ridurre la larghezza di banda necessaria a trasmettere i dati dai sensori periferici verso
i data center centralizzati.

1
1 CLOUD COMPUTING

L’evoluzione delle tecnologie informatiche ha attraversato diverse fasi, ognuna delle


quali ha contribuito in maniera originale alla definizione di architetture complesse che
hanno poi spianato la strada al Cloud Computing. In questo capitolo si analizzeranno i
punti di forza di questa nuova tecnologia, senza tralasciare le debolezze intrinseche.

1.1 cenni storici

Intorno agli anni 60’-70’ alcuni dei più importanti informatici della storia, tra cui John
McCarthy, iniziarono a teorizzare circa quello che poteva essere il panorama tecnologico
di lì a qualche decennio. Si iniziavano già a considerare dei modelli architetturali distri-
buiti, in cui si potesse mettere a disposizione degli utenti un insieme di risorse, in modo
che queste fossero di supporto alle loro attività. Nelle fasi iniziali erano sostanzialmente
due i paradigmi su cui si fondavano le ricerche e gli sviluppi [14]:

• Grid Computing, insieme di risorse di elaborazione per la generazione di servizi


fruibili dagli utenti. L’intera architettura era in possesso ad un provider che si
occupava dell’intera gestione di tale sistema, dalla produzione del servizio fino
alla sua dismissione, con problematiche legate ai costi e alle analisi delle diverse
aree di tale architettura per garantire un apporto di risorse adeguato e un servizio
efficiente;

• Utility Computing, costituisce l’evoluzione naturale della precedente architettura


soprattutto con l’avvento di Internet per le messa a disposizione pubblica delle
risorse. In tale sistema venivano inseriti dei dispositivi di misurazione dell’utilizzo
in modo che l’utente pagasse per il suo effettivo utilizzo delle risorse.

Si andava quindi definendo quello che oggi è riferito con il termine Cloud, che con-
sente la connessione e la comunicazione tra utenti, dislocati in diverse località, e servizi
presenti in sistemi a loro remoti.

2
1.2 architettura

La nascita del Cloud Computing (in italiano "nuvola informatica") indica la possibilità
di fornire agli utenti finali un insieme di servizi semplicemente attraverso l’utilizzo di
Internet, sfruttando risorse (reti per la trasmissione dei dati, server per l’elaborazione,
storage la memorizzazione) preesistenti, configurabili ad hoc e disponibili in remoto
all’interno di architetture distribuite [15].
Il National Institute of Standards and Technology (NIST) definisce il Cloud Computing
come "un modello che abilita disponibilità e accessibilità della rete per l’utilizzo di risorse facenti
parte di un pool condiviso" [14]. Ne deriva quindi un’architettura altamente scalabile che
permette un’efficiente configurazione delle risorse richieste dagli utenti ed una gestione
ottimale da parte dei provider.
Oltre a garantire una certa scalabilità, il Cloud offre anche altre caratteristiche:

• On-demand Self-Service, Resource Polling l’assegnazione delle risorse avviene


in maniera automatica, senza l’interazione diretta tra cliente e fornitore, in base
alle esigenze degli utenti e delle applicazioni;

• Broad Network Access, le funzionalità sono fornite attraverso la rete;

• Rapid Elasticity, la scalabilità e la gestione dinamica delle risorse avviene in


maniera del tutto automatizzata e trasparente all’utente;

• Measured Service, vengono adottati sistemi per il controllo sull’utilizzo delle ri-
sorse che viene effettuato in maniera trasparente all’utente ma comunque nota ai
fornitori; questo assicura un corretto sistema di fatturazione verso i clienti.

Il NIST ha anche definito un modello architetturale (si veda la Figura 1) per sistemi
Cloud in cui vengono definite tutte quelle che devono essere le componenti presenti
nel sistema e come queste devono interagire tra loro affinché si abbia conformità con il
modello.

3
Figura 1: Architettura Cloud di Riferimento.
[3]

Tale architettura definisce quelli che sono i requisiti e le caratteristiche standard che
i sistemi di Cloud Computing devono rispettare. E’ possibile rilevare la presenza di
cinque entità fondamentali, rappresentate da persone o organizzazioni, che si occupano
di eseguire, gestire e monitorare le attività sul sistema.

1.2.1 Cloud Consumer

Questa entità rappresenta la parte che fruisce dei servizi messi a disposizione sul
sistema. Un cliente può accedere direttamente ad un servizio offerto da un provider
oppure interfacciarsi con un broker (si veda il paragrafo 1.2.3). Il rapporto tra cliente e
fornitore di solito è regolamento da un contratto, definito Service Level Agreement (SLA) e
che definisce specifiche riguardanti Quality of Service (QoS), aspetti di sicurezza e rimedi
in caso di non rispetto dei requisiti da parte del fornitore. A seconda delle diverse
tipologie di Cloud (si veda il paragrafo 1.2.2) si hanno a disposizione servizi diversi; i
clienti potrebbero essere persone fisiche o organizzazioni, e per ognuna sono previste
diverse modalità di accesso e interazione.

4
1.2.2 Cloud Provider

Rappresenta l’entità che fornisce i servizi agli utenti finali, e costituisce il perno cen-
trale dell’intera architettura. Si occupa dell’acquisto delle risorse hardware e dell’im-
plementazione software dei servizi e delle applicazioni da mettere a disposizione degli
utenti attraverso la rete. Il Cloud Provider prevede al proprio interno una serie di entità
minori.

Service Orchestration

Di fondamentale importanza è l’entità Service Orchestration, suddivisa in:

• Service Layer, dichiara le interfacce messe a disposizione dal provider e si occupa


di gestire efficientemente l’interazione tra le diverse tipologie di Cloud;

• Risorse astratte e di controllo, servizi che assicurano efficienza, sicurezza e affida-


bilità a livello fisico, e si occupano di allocazione di risorse e monitoraggio;

• Risorse fisiche, computazionali, di rete e di memoria.

Esistono diverse tipologie di servizi che possono essere offerti, a cui corrisponde una
diversa categorizzazione dei sistemi Cloud [4]; in ordine a seconda della visibilità agli
utenti abbiamo:

• Software as a Service (Saas), applicazioni di proprietà del provider in esecuzione


sull’infrastruttura Cloud; il fornitore si occupa dell’installazione, configurazione e
aggiornamento del software;

• Platform as a Service (PaaS), piattaforme che poggiano su infrastrutture ben definite


e offrono strumenti necessari allo sviluppo e alla distribuzione di applicazioni in
modo sicuro; la gestione e la manutenzione dell’infrastruttura è effettuata total-
mente dal fornitore in maniera del tutto trasparente all’utente senza che questo
abbia piena visibilità;

• Infrastructure as a Service (IaaS), il provider acquisisce una serie di risorse e le


rende accessibili agli utenti attraverso interfacce e/o macchine virtuali, tenendo
sempre sotto controllo diretto l’utilizzo e lo stato dell’intero sistema, e fornendo
un’architettura altamente scalabile e automatizzata.

Tra queste tipologie di servizio potrebbero esistere relazioni di dipendenza, ma possono


anche essere utilizzati indipendentemente dalle altre. La combinazione dei vari livelli

5
può dare origine a diverse tipologie di piattaforma. Vi è una categorizzazione delle
tipologie di Cloud a seconda di quanto siano esclusive le risorse per gli utenti finali che
le richiedono:

• Public Cloud, le risorse di tale infrastruttura sono rese pubbliche agli utenti
attraverso la rete, ed è gestita dall’entità proprietaria;

• Private Cloud, un’entità proprietaria mette a disposizione le risorse soltanto per


un numero ben precisato di utenti e/o organizzazioni;

• Community Cloud, risorse messe a disposizione di diverse organizzazioni che


hanno in comune degli aspetti del proprio lavoro, come obiettivi di progetto,
sicurezza, privacy o specifiche contrattuali;

• Hybrid Cloud, rappresenta la composizione di due o più tipologie di Cloud sopra


presentate; le diverse tipologie rimangono comunque separate tra loro ma sono
previste delle forme di interazione e collegamento.

Service Management

I servizi che rientrano all’interno di questa entità facilitano la gestione dell’infrastrut-


tura e si dividono in tre gruppi fondamentali:

• Business Support, si occupa della gestione dei consumatori, dei contratti, del
catalogo dei servizi e dell’eventuale risoluzione di problemi tecnici; gestisce la
creazione, la modifica e la cancellazione delle utenze e le loro interconnessioni;

• Provisioning & Configuration, strumenti utili al deploy automatico del sistema,


alla modifica run-time della configurazione, al monitoraggio e alla fatturazione;

• Portability & Interoperability, gestisce il trasferimento dei dati verso un altro


sistema e l’adattabilità di un servizio a diverse piattaforme.

Sicurezza e Privacy

La sicurezza rappresenta un aspetto fondamentale in queste architetture e viene imple-


mentata in vari livelli a seconda del requisito che si vuole assicurare in ognuno, ma è
bene che questo aspetto sia esteso all’intero sistema.
Altro aspetto importante è la privacy, che anch’essa deve essere rispettata in tutti i
livelli dell’architettura, e deve tutelare i dati dei clienti posseduti dall’infrastruttura. Po-

6
trebbero essere memorizzate delle strutture dati che permettano di identificare, in ma-
niera univoca e certa, i singoli utenti. I fornitori devono porre attenzione alle modalità
con cui i dati sono condivisi e registrati sul sistema, per garantire agli utenti il massimo
livello di affidabilità e riservatezza [5].

1.2.3 Cloud Auditor, Broker e Carrier

Il Broker funge da intermediario tra fornitori e consumatori; indirizza gli utenti al


servizio richiesto, negoziando il collegamento e gestendo l’intero processo. Potrebbe
aggregare in un unico servizio, in maniera arbitraria, un insieme di servizi forniti da
diversi provider, e renderlo all’utente in maniera combinata.
Il Carrier rappresenta un intermediario per quel che riguarda il trasporto e la consegna
del servizio dal provider verso il consumatore. Trasmettere le informazioni e i servizi tra
le controparti, rispettando le specifiche quantitative e funzionali richieste dal servizio.
Gli Auditor svolgono un ruolo fondamentale: esaminano l’attività dell’intero sistema
al fine di garantire sicurezza, privacy e performance, nel rispetto dei requisiti.

1.3 vantaggi

Come facilmente intuibile sono molti i vantaggi apportati da tale architettura. Innan-
zitutto si ha un notevole abbattimento dei costi sia per gli utenti, che non sono più
costretti ad acquistare risorse fisiche, sia per i fornitori che possono adottare una più
efficiente gestione delle risorse proprietarie, con conseguente riduzione dell’impatto sul-
l’ambiente. Dal punto di vista puramente tecnologico l’architettura si evidenzia per la
sua scalabilità, che consente di adattarsi a diversi contesti in relazione alle esigenze [9].
Ancora gli utenti possono godere dell’utilizzo di risorse con capacità di calcolo netta-
mente superiori a quelle dei normali computer personali, traendo vantaggi dal punto di
vista delle performance. Non devono più interessarsi dell’installazione, aggiornamento
e manutenzione del software: tutto è sotto il diretto controllo dei fornitori; all’utente
spetta soltanto la scelta della soluzione più adatta alle proprie esigenze.
Anche le aziende possono trarre vantaggio dall’utilizzo di questa architettura: non
devono più possedere un’infrastruttura proprietaria, con i relativi costi di manutenzione
e aggiornamento; a questo ci penseranno i fornitori. Un risparmio in questo senso si
traduce in investimenti ulteriori nello specifico ambito produttivo dell’organizzazione.

7
Internet of Things

L’avvento dell’IoT ha aperto la strada ad una serie di prospettive di guadagno de-


rivanti dai più variegati campi di applicabilità, dalle Smart City all’ambito industriale.
Ormai una miriade di oggetti viene connessa alla rete: dai semplici smartphone, tablet e
portatili agli elettrodomestici e ai dispositivi wearable. Tutti questi dispositivi producono
una quantità immane di dati che potrebbe essere utilizzata a beneficio degli utenti in
relazione al contesto di utilizzo [10].
Il Cloud Computing risulta essere la tecnologia abilitante fondamentale per l’IoT1 per-
mettendo l’esecuzione di attività onerose per i singoli dispositivi, a causa delle loro ri-
dotte risorse computazionali. La crescente complessità dei dispositivi e l’onerosità delle
risorse creano una propensione a demandare la loro gestione alle piattaforme Cloud.
L’unione del Cloud e della tecnologia IoT si pone come una solida base per la ricerca di
nuovi metodi di ottimizzazione del lavoro e facilitazione della vita quotidiana. Tuttavia
tale realtà si scontra con quelli che sono i limiti tecnologici del Cloud (si veda il paragrafo
1.4).

1.4 svantaggi

Se da un lato abbiamo visto quelli che sono i principali punti di forza dell’architettura,
non possiamo nascondere che il Cloud presenta dei limiti che andrebbero superati. Il
rapido sviluppo di tale architettura ha ampliato i relativi scenari; di contro però sono
richiesti requisiti sempre più stringenti, che rendono tale architettura spesso inadeguata,
e necessitano di un nuovo paradigma.
Tale architettura non sposa adeguatamente l’IoT che richiede elaborazioni continue e
veloci di grandi quantità di dati, preferibilmente in real-time e senza interruzioni, con
tempi di risposta molto bassi. Altra principale problematica è legata alla sicurezza dei
dati dei servizi e degli utenti, che dovrebbero essere trattati in conformità con le norme
di sicurezza, ed eventualmente usati come indice per il miglioramento dei servizi. In
tale direzione ci sono stati tentativi di introduzione di regole e protocolli da adottare,
ma a livello legislativo sono necessarie delle normative standard. Importante è anche
il concetto di compatibilità che eviti lo stretto legame ad una particolare tecnologia e
consenta una facile migrazione dei clienti verso altri provider [11].

1 Si stima che nel 2020 il numero dei dispositivi mobili connessi dovrebbe aggirarsi intorno ai 20 miliardi,
per un patrimonio di circa 200 miliardi di dollari [6, 10].

8
In relazione all’IoT la vera limitazione del Cloud Computing deriva dalla tipologia di
rete per la quale era stato pensato: ci si sta dirigendo verso una convergenza di Mobile e
Cloud Computing, quindi l’attenzione dovrebbe spostarsi principalmente verso i dispo-
sitivi IoT. Molto spesso questi sono di dimensioni talmente ridotte che non consentono
di avere risorse di calcolo sufficienti, quindi ci si vede necessari a spostare grosse quanti-
tà di dati e relative computazioni sul Cloud. Ancora richiedono che ci sia una adeguata
larghezza di banda e che sia assicurata una ridotta latenza2 , requisiti che non possono
essere assicurati dalla classiche architetture Cloud, specie per servizi operanti in ambien-
ti ostili. L’IoT necessita anche di dover operare su una rete veloce che permette quindi
di fornire delle risposte in real-time. Purtroppo queste qualità non sono garantite dal
Cloud che non è stato concepito per la ricezione di dati con frequenze e velocità con le
quali vengono prodotti dai dispositivi. Questo implica anche lo spostamento continuo
di grosse moli di dati che potrebbero congestionare la rete e quindi renderlo addirittura
inutilizzabile. Gli apparati di rete potrebbe trovarsi nella situazione di gestire nume-
rose connessioni che potrebbero portare ad una interruzione dei servizi, data la loro
incapacità a gestire una tal situazione.
Requisiti molto stringenti, specie in termini di latenza, sono richiesti dalle applica-
zioni che operano analisi cognitive dell’ambiente, quali ad esempio quelle della realtà
aumentata3 . In questi contesti la latenza è stata definita come il requisito fondamen-
tale e abilitante di tale scenario. E’ necessario quindi porre rimedio e cercare soluzio-
ni alternative che siano maggiormente efficienti e affidabili. Sarebbe insensato fornire
all’infrastruttura capacità ulteriori che sarebbero inutilizzate in condizioni di normale
utilizzo.
In definitiva il Cloud non riesce a garantire, in qualsiasi situazione, il rispetto di questi
requisiti. E’ necessario prevedere una estensione di tale architettura che favorisca questo
tipo di applicazioni e abbassi la latenza della rete.

2 In informatica e telecomunicazioni è definita come l’intervallo di tempo che intercorre fra il momento in
cui arriva l’input/segnale (ad un sistema di elaborazione), e il momento in cui è disponibile il suo output.
In altre parole, la latenza non è altro che una misura della velocità di risposta di un sistema.
3 Applicazioni che grazie a sensori, microfoni e videocamere, inviano un flusso di informazioni verso un
server centrale che, dopo averle elaborate e averle arricchite di ulteriori dettagli, le invia al cliente.

9
2 EDGE COMPUTING

La presenza preponderante dei dispositivi intelligenti e del concetto di mobilità all’inter-


no dei moderni sistemi ha fatto si che si sia pensato un nuovo modello architetturale che
risolva le problematiche del Cloud, specie in aree delicate come l’IoT. In questo capitolo
sarà introdotto il concetto di Mobile Edge Computing che aspira a diventare il tassello
mancante che completa l’architettura Cloud per essere applicata in specifici scenari.
L’idea è quella di avvicinare le risorse computazionali alla zona della rete prossima alla
sorgente di produzione dei dati e limitrofa ai dispositivi, in modo da ridurre la latenza
della comunicazione e alleggerire il carico di trasmissioni verso la rete centrale.

2.1 fog computing

Il Fog Computing è stato pensato come una estensione del Cloud. Il termine "Fog"
è stato originariamente introddotto da Cisco nel tentativo di descrivere la necessità di
una piattaforma di abilitazione in grado di far fronte ai requisiti critici posti dall’IoT. Il
"Fog Computing" è stato definito come "una piattaforma altamente virtualizzata che fornisce
servizi di elaborazione, archiviazione e networking tra dispositivi terminali e data center di cloud
computing tradizionali, ma non esclusivamente situati ai margini della rete" [13]. Dispositivi
che cooperano tra loro e con i servizi di rete per supportare la memorizzazione dei dati
e i processi computazionali; i dispositivi stessi potrebbero diventare di supporto alle
infrastrutture di rete.

2.1.1 Caratteristiche

Il Fog Computing cerca di assicurare quelli che sono i requisiti stringenti dettati dal-
l’IoT, specie in contesti nei quali è necessario gestire dispositivi eterogenei. Uno dei prin-
cipali obiettivi di questa architettura è quello di ridurre al minimo la latenza, cercando
anche di ridimensionare la quantità dei dati da inviare sulla rete verso le piattaforme
centrali, in modo da ridurre il traffico sulla rete.

10
Come è possibile osservare dalla Figura 2 tutti gli apparati che rientrano in tale
architettura vengono posti in un livello intermedio tra i dispositivi e i data center.

Figura 2: Livelli del Fog Computing.


[9]

Elementi fondamentali di tale livello vengono chiamati nodi Fog: questi sono lontani
dai data center ma molto prossimi ai dispositivi utente; sono in numero elevato e sparsi
sul territorio secondo una distribuzione geografica efficiente in modo da ricoprire il
maggior numero di utenti. Tali nodi, seppur avendo delle risorse computazionali ridotte
paragonate a quelle di una piattaforma Cloud centralizzata, sono in grado di svolgere
attività complesse e memorizzare dati a sufficienza.
Questi nodi, essendo di natura eterogenea (router, switch, access point, gateway) sup-
portano diversi dispositivi, risultano scalabili e adattabili a diverse tecnologie. Questa
eterogeneità è nascosta agli utenti finali attraverso uno strato di astrazione che espone
dei servizi per allocare, gestire e monitorare le risorse. L’Orchestrator riceve le richieste
dagli utenti e comunica con essi per allocare le risorse secondo le esigenze e i criteri
richiesti. Abbina i requisiti con i servizi esposti da ciascun nodo e restituisce un elenco
ordinato di nodi in termini di idoneità rispetto ai requisiti richiesti; i nodi più adatti
vengono scelti in base alla disponibilità.
I dati provenienti dai dispositivi utente passano attraverso il Fog che seleziona le
computazioni che richiedono tempi stringenti ed eseguono il lavoro localmente; per
operazioni più complesse il tutto è demandato al Cloud.
Questo assicura una riduzione della latenza e un aumento della banda disponibile. I
nodi riescono ad estrapolare informazioni in maniera più dettagliata; i servizi godono

11
di informazioni aggiuntive circa lo stato del canale radio, usato per la comunicazione, e
la locazione geografica della centrale e dei dispositivi che la utilizzano.
Tra i servizi che il Fog offre all’IoT c’è anche il supporto alla mobilità; quando un
nodo si accorge che la connessione con un device sta diventando troppo debole e la
latenza ne risente, può spostare l’applicazione verso un altro nodo Fog, in prossimità del
dispositivo che si sta spostando, di modo da non avere interruzioni di servizio rilevanti.

2.2 mobile edge computing

L’unione tra il Fog Computing e i dispositivi mobili ha creato un nuovo e vantaggioso


modello, il Mobile Edge Computing (MEC), che si presenta come un sistema distribuito
e decentralizzato. Attualmente è in corso una standardizzazione da parte dell’European
Telecommunications Standards Institute (ETSI) [7], per far si che questa nuova tecnologia
si diffonda rapidamente tra gli attuali sistemi mobili. L’idea che ne è alla base è quella
di spostare le capacità di calcolo e archiviazione del Cloud sull’edge della rete mobile,
rappresentato dalla Radio Access Network (RAN)1 per ridurre la latenza e migliorare la
consapevolezza del contesto (si veda la Figura 3a).
La International Data Corporation (IDC), società italiana di analisi di mercato, e l’ETSI
definiscono l’Edge Computing come "una rete di micro data center, ai margini della rete
mobile all’interno delle RAN, in grado di elaborare e memorizzare dati critici nelle vicinanze dei
dispositivi utente, e di trasmettere tutti i dati ricevuti e/o elaborati a un data center centrale,
o a un repository di cloud storage" [16]. Tale architettura permette di ridurre la mole di
dati da inviare al Cloud, elaborando dati critici e sensibili alla latenza nel punto di ori-
gine, oppure inviandoli ad un server intermedio, localizzato in prossimità; i dati meno
"time-sensitive" possono invece essere trasmessi all’infrastruttura Cloud per consentire
elaborazioni più complesse, come l’analisi di Big Data.
I server MEC eseguono istanze multiple di host su un’interfaccia virtualizzata. L’Or-
chestrator mantiene un catalogo dei servizi offerti da ciascun host e gestisce informazio-
ni, riceve aggiornamenti sulle risorse disponibili e sulla topologia di rete. Se un’appli-
cazione è già in esecuzione, la richiesta viene messa in attesa; se un’applicazione non è
in esecuzione viene istanziata e la richiesta viene accettata, altrimenti la richiesta viene
inoltrata per essere gestita dal Cloud. I server offrono informazioni sulla rete, compresi
il carico e la capacità della rete, ma anche info sui dispositivi finali come la posizione.

1 Porzione di rete che connette i dispositivi finali alla rete internet.

12
2.2.1 Architettura

Una piattaforma MEC, come è possibile osservare dalla Figura 3b, è composta da
un’infrastruttura affiancata da una piattaforma applicativa che offre un miglioramento
del sistema.

(a) Panoramica Mobile Edge Computing.

(b) Architettura Mobile Edge Computing.

Figura 3: Mobile Edge Computing.


[1, 13]

Vediamo ora nello specifico le funzionalità di ognuna delle componenti:

• MEC Hosting Infrastructure, componenti hardware e software per la virtualizza-


zione dei servizi;

• MEC Application Platform, servizi messi a disposizione tra cui:


– Virtualization Manager, crea una piattaforma virtuale IaaS che separa gli am-
bienti, garantendo indipendenza dei servizi e flessibilità delle applicazioni;
– Services, software di supporto alle applicazioni sovrastanti (questi sono realiz-
zate secondo i principi Service Oriented Architecture (SOA)):
1. Communication Services, rappresentano il punto di collegamento tra le ap-
plicazioni e i servizi sottostanti (abilitano le comunicazioni tra le macchi-
ne virtuali e l’ambiente MEC, e anche tra di loro);
2. Service Registry, fornisce una flessibilità al sistema dando una visibilità dei
servizi offerti dal MEC. Le applicazioni possono eseguire una ricerca dei

13
servizi e riceverne una locazione per usarli, o pubblicizzarne dei propri
esponendo gli end-point dove è possibile contattarli;
3. Radio Network Information, fornisce info dettagliate e in real-time sullo
stato del canale e della rete in genere. Le applicazioni fanno un uso ef-
ficiente di tale servizio adattando il proprio comportamento in relazione
alle condizioni attuali della rete. E’ possibile anche prevedere una fase di
analisti statistica delle performance e dell’utilizzo delle risorse;
4. Traffic Offload, si occupa di assegnare priorità ai vari flussi di informazioni
e tiene il controllo dell’autenticazione degli utenti.

• MEC Management System, offre interfacce usate dai provider per orchestrare le
componenti e il ciclo di vita. Vengono fornite delle regole per una gestione ottimale
delle macchine virtuali e della piattaforma, a seconda delle esigenze del sistema.

In conclusione il MEC abilita servizi e applicazioni all’esecuzione su server posti sul-


l’edge delle reti mobili. Trasforma le base-station delle reti mobili in piattaforme Cloud,
arricchendone le caratteristiche con informazioni contestuali. I provider provvederanno
all’evoluzione degli apparati RAN che arricchiranno le funzionalità dei servizi ospitati
fornendo supporto real-time e informazioni contestuali alla rete. I server MEC potran-
no essere eseguiti su centraline Long Term Evolution (LTE), o su apparati di rete Third
Generation (3G); servizi MEC potranno essere installati sugli Access Point Wi-Fi.

2.3 cloudlet

Obiettivo principale del Cloudlet è quello di portare il Cloud a stretto contatto con
l’utente finale e i dispositivi utilizzati. Seguendo il modello a tre livelli proposto dal
Fog Computing, tale tecnologia si pone l’obiettivo di fornire risorse ai device mobili
con una latenza molto bassa, e vuole essere di supporto alle applicazioni interattive che
consumano molte risorse.

Figura 4: Architettura Cloudlet.


[1]

14
Il Cloudlet incarna il livello intermedio di un’architettura a tre livelli (si veda la Figura
4), e si pone sull’edge della rete tra i dispositivi mobili e i servizi Cloud, in prossimità
degli utenti in modo da garantire affidabilità e disponibilità nella connessione, bassa
latenza e alta banda disponibile. E’ definito come un cluster di computer collegati a
Internet, che offre risorse adatte all’esecuzione di attività computazionali onerose. Può
essere pensato come un "data center in a box" che esegue una macchina virtuale in gra-
do di fornire risorse ai dispositivi e agli utenti in tempo reale. I servizi sono offerti
tramite accesso one-hop con elevata larghezza di banda, quindi bassa latenza. L’Agent
Cloudlet si interfaccia con i nodi sottostanti per effettuare una scelta ottimizzata quando
viene ricevuta una richiesta, in modo che le elaborazioni più complesse siano gestite da
nodi con capacità di elaborazione più elevate. Si possono fornire e allocare più risorse
istanziando nuove macchine virtuali.
Questo permette di accedere ai servizi del Cloud utilizzando risorse presenti sulla
rete locale, superando problemi di latenza e consumo energetico. Queste centrali sono
collegate al Cloud attraverso canali via cavo che garantiscono una connessione stabile e
veloce. Tali server mantengono uno stato temporaneo dell’intero sistema; tutto quello
che è significativo viene demandato al Cloud.
Tale modello è essenzialmente basato sull’utilizzo di macchine virtuali che permette
di realizzare specifici servizi a seconda del contesto, per poi essere dismessi, quando non
più necessari, facendo tornare il sistema allo stato iniziale. La transitorietà dei servizi è
di fondamentale supporto all’eterogeneità e alla mobilità dei dispositivi che il Cloudlet
può servire. Esistono due approcci tramite i quali una macchina virtuale viene messa in
esecuzione, e che vengono utilizzati dal Cloudlet per la fruizione e il trasferimento dei
servizi:

• Sintesi, un Cloudlet Host ospita una piattaforma di gestione delle macchine vir-
tuali, un’interfaccia per la comunicazione con gli utenti e le immagini base dei
sistemi operativi maggiormente utilizzati. Sui dispositivi mobili è presente un
Cloudlet Client: quando questo vuole utilizzare un servizio avvia la comunicazio-
ne dei dati all’host. Questi provvederà alla fornitura di una macchina virtuale,
segnalando la richiesta alla piattaforma che la gestisce e, quando questa sarà di-
sponibile, il cliente ne sarà informato e potrà demandare le proprie computazioni
alla macchina;

• Handoff, meccanismo trasparente alle applicazioni che avvicina il servizio utiliz-


zato ad una centralina più vicina all’utente, per rispondere alla sua mobilità, e
garantire sempre elevate prestazioni nelle sue applicazioni.

15
2.4 tecnologie a confronto

Si è visto come la rapida crescita dei servizi e delle applicazioni che sfruttano Inter-
net abbia portato alla nascita di un nuovo paradigma, l’IoT. Tutti i dispositivi connessi
richiedono risorse di elaborazione e memorizzazione dei dati che, in prima battuta, pote-
vano essere rispettati dalle semplici infrastrutture di Cloud Computing. Purtroppo però
questa tipologia di architettura si rivela essere un collo di bottiglia per le comunicazioni
con i singoli dispositivi, oltre che inadeguata alla mobilità di questi. Di qui la nascita
del nuovo paradigma Edge Computing che cerca di superare queste sfide sfruttando
le capacità di memorizzazione ed elaborazione dei dispositivi presenti nell’IoT e nelle
reti ad accesso radio, per cercare di fornire uno strato intermedio tra i dispositivi finali
e il Cloud. Questo fa si che sia possibile evitare di demandare l’elaborazione dei dati
verso le piattaforme Cloud centralizzate, sfruttando appunto le risorse locali; quindi
riducendo la latenza ed evitando una congestione della rete.
Come è stato precedentemente descritto esistono diversi modi per implementare uno
livello intermedio tra i dispositivi finali e il Cloud, a seconda dei dispositivi che fungono
da nodi intermedi, dei protocolli di comunicazione, delle reti utilizzate e dei servizi
offerti (si veda la Figura 5). Il Fog Computing utilizza dispositivi (come gateway e router
wireless), chiamati nodi Fog, allo scopo di elaborare e memorizzare localmente i dati
dei dispositivi utente prima di reindirizzarli verso il Cloud. Il MEC propone l’utilizzo
di nodi intermedi con capacità di elaborazione e memorizzazione nelle base station delle
RAN. I Cloudlet sono dispositivi dedicati con capacità simili a quelle di un data center,
ma su scala inferiore, presenti nelle vicinanze degli utenti.

Figura 5: Architettura multilivello per l’Edge Computing.


[6]

E’ evidente dalle rappresentazioni dettagliate di tali tecnologie date nei paragrafi pre-
cedenti che il Fog Computing offra una maggiore flessibilità nelle scelta dei dispositivi

16
da utilizzare come nodi Fog. Tuttavia però, dato che all’interno dei dispositivi vengono
aggiunte risorse di storage ed elaborazione, tali capacità sono ridotte rispetto a quelle
del Cloudlet e del MEC. D’altra parte data la richiesta di dispositivi dedicati per il MEC
e il Cloudlet, la loro implementazione è più lenta rispetto a quella del Fog Computing.
Ancora nel caso di Fog Computing il nodo Fog potrebbe non essere il primo punto di
accesso per il dispositivo finale, quindi è necessario anche un supporto per una eventua-
le comunicazione tra i diversi nodi; di contro però sfruttando i gateway come nodi Fog,
vi è la possibilità di supportare diversi protocolli, quindi connettersi ad una più ampia
gamma di dispositivi. Nel Cloudlet e nel MEC, invece, i dispositivi si collegano diret-
tamente ai nodi tramite Wi-Fi e rete mobile. In ognuna di queste architetture vi è una
entità che supervisiona le richieste secondo un approccio gerarchico, tranne per il Fog
Computing in cui la diversità e l’eterogeneità dei dispositivi richiede un certo livello di
astrazione. Il MEC ha il vantaggio di disporre di informazioni dettagliate sull’ubicazio-
ne dell’utente finale e sulla disponibilità delle risorse di rete. I Cloudlet invece creano
una copia di backup dei dati sul Cloud e, al termine dell’elaborazione la aggiornano,
con il vantaggio di poter utilizzare ogni volta una macchina virtuale differente poiché
questo effettua il provisioning personalizzato delle risorse.
Nella tabella seguente è possibile osservare quelle che sono le principali caratteristiche
di ogni architettura presentata, per effettuarne un confronto.

Tabella 1: Implementazioni Edge Computing a Confronto


Fog Computing Edge Computing Cloudlet Computing

Node devices Routers, Switches, Access Servers running in base Data Center in a box
Points, Gateways stations
Node location Varying between End Devi- Radio Network Controller/- Local/Outdoor installa-
ces and Cloud Macro Base Station tion
Software Architecture Fog Abstraction Layer ba- Mobile Orchestrator based Cloudlet Agent based
sed
Context awareness Medium High Low
Proximity One or Multiple Hops One Hop One Hop
Access Mechanisms Bluetooth, Wi-Fi, Mobile Mobile Networks Wi-Fi
Networks
Internode Communication Supported Partial Partial

Il paradigma Edge Computing offre notevole supporto ai diversi dispositivi e si pone


come tecnologia abilitante di numerosi scenari. Chiaramente ogni applicazione neces-
sita di requisiti caratteristici a cui corrisponde una implementazione differente di Edge

17
Computing; è quindi necessario valutare con criterio, a seconda dei casi, quale sia la
scelta ottimale.
E’ importante valutare la distanza dei dispositivi finali dal livello di Edge Computing,
sia in termini di distanza logica (nodi da attraversare per giungere a destinazione) sia di
distanza fisica (distanza effettiva che separa il dispositivo e il livello di calcolo). Bisogna
anche considerare la tipologia di connessione che deve essere utilizzata dai dispositivi
per accedere ai livelli di calcolo, e valutarne la disponibilità, affidabilità e larghezza di
banda di ognuna. E’ opportuno anche valutare in che misura sia necessario che i dispo-
sitivi abbiano conoscenza del contesto in cui operano2 . Ancora è necessario considerare
anche il consumo energetico dei dispositivi, soprattutto in relazione ai meccanismi di
accesso alla rete3 . Infine, ma non per importanza, bisogna considerare anche il tempo
necessario per l’esecuzione di attività e la fornitura di risultati all’utente4 .
E’ stato pensato e definito un albero decisionale multi-ingresso (si veda la Figura 6)
che, basandosi sui parametri di valutazione precedentemente definiti, e pensandoli come
input di questo albero in relazione ai requisiti di un particolare caso d’uso, permetta di
trovare la soluzione migliore.

Figura 6: Albero decisionale per implementazioni Edge Computing.


[6]

Fog Computing, Cloudlet e Mobile Edge Computing presentano caratteristiche diffe-

2 Nel MEC i server sono collocati sulle reti di accesso, hanno più informazioni sul carico e sulle capacità delle
reti. I nodi Fog hanno una visione ristretta della rete, quindi meno consapevolezza. I Cloudlet essendo
dispositivi pensate per lavorare in maniera autonoma hanno una minima consapevolezza del contesto.
3 A seconda delle modalità di accesso in rete il Cloudlet e il MEC consumano di più rispetto al Fog
Computing
4 MEC e Cloudlet si rivelano vantaggiosi in questo senso. Per i nodi Fog le tempistiche di elaborazione sono
leggermente più elevate.

18
renti, ognuna delle quali si adatta ad un particolare contesto. Sono state effettuate una se-
rie di studi e ricerche per cercare di sviluppare queste caratteristiche, ma sono necessari
ancora standardizzazioni per l’effettiva implementazione di queste architetture.

2.5 implementazioni edge computing e vantaggi

L’evoluzione tecnologica dei dispositivi mobili ha richiesto una livello intermedio tra
questi e le piattaforme Cloud centralizzate. Si sta gradualmente proponendo il Fog Com-
puting che si pone come un modello vantaggioso da adottare per estendere i vantaggi
del Cloud. Questo garantisce una migliore esperienza per gli utenti che vedono le loro
applicazioni arricchite da una latenza molto bassa e da informazioni contestuali.
Una delle implementazioni open source riguardanti l’architettura Cloudlet a tre livelli
è la piattaforma Elijah. Sono state messe a punto delle estensioni per il Cloudlet applican-
dole alla piattaforma Openstack che l’hanno resa Openstack++. Per incentivare l’utilizzo
di questa piattaforma sono state sviluppate una serie di applicazioni dimostrative.
Una delle più interessanti è sicuramente Gabriel, un servizio che sfrutta la possibilità
di catturare le immagini dai dispositivi indossabili per poi elaborarle in remoto e for-
nire una risposta in real-time all’utente. Questo progetto è stato pensato per fornire
assistenza cognitiva a persone che, a causa di gravi incidenti o malattie dovute anche
all’età avanzata, non possono svolgere regolarmente le funzioni quotidiane. Al solito
questi meccanismi richiedono sistemi che assicurino una latenza molto bassa legata alla
necessità di possedere strumentazioni remote per l’analisi e l’elaborazione dei dati.
Un’altra applicazione che usa le centrali Cloudlet è GigaSight: questo progetto, con-
testualizzato all’interno delle Smart City consente di condividere ed elaborare video
caricati da dispositivi indossabili, previo processo di denaturazione per la rimozione di
qualsiasi informazioni di tipo privato, come volti, targhe di veicoli o altro, per la tutela
della privacy. GigaSight basandosi sulla località e sulle informazioni contestuali fornite
da centraline e dispositivi condivide ed elaborare video interessanti per quella zona.
E’ facilmente intuibile come questa nuova tecnologia apporti numerosi vantaggi nel-
l’esecuzione di applicazioni dai requisiti elevati, specie in ambienti ostili, attraverso un
semplice ammodernamento delle infrastrutture esistenti. Anche nel campo delle tele-
comunicazioni si assiste ad una spinta dei servizi verso l’edge delle reti. Le previsioni
future ritengono che il Fog Computing, ed in particolare il MEC diventeranno una chiave
abilitante fondamentale per il nuovo standard di rete mobile Fifth Generation (5G).

19
2.6 sicurezza e privacy

Il rapido diffondersi dell’IoT ha aperto importanti sfide in merito alla gestione dei
dispositivi e alla trattazione dei dati da questi generati che, inviati a piattaforme Cloud
centralizzate, dopo essere stati elaborati fanno ritorno ai dispositivi. Questo andirivieni
di informazioni deve fare i conti con le performance delle reti utilizzate.
Ancora la vasta raccolta di dati degli utenti può sollevare notevoli preoccupazioni in
materia di sicurezza e privacy. E’ di fondamentale importanza che le informazioni che
circolano su una rete non siano sfruttate da potenziali attaccanti per rivelare l’identità
di un soggetto o svolgere azioni illecite.
Attualmente in parallelo all’affermarsi di nuove idee e architetture per il computing,
si stanno anche affrontando tematiche relative alla sicurezza in questi ambiti. Un’orga-
nizzazione che sviluppa applicazioni per l’IoT dovrebbe supervisionare le varie attivi-
tà e garantire sicurezza e privacy all’interno dei sistemi. Tra gli aspetti fondamentali
dovrebbero essere tutelati [2]:

• Pseudonimìa, ogni risorsa deve possedere un identificativo in modo che l’utente


che ne sta facendo uso non possa risalire all’identità propria;

• Inosservanza, bisogna assicurare che un individuo possa utilizzare una risorsa o


un servizio senza che un soggetto esterno posso tenerne traccia;

• Incorrelazione, non deve essere possibile risalire ad eventuali collegamenti tra due
o più risorse;

• Anonimato, un utente deve utilizzare le risorse senza rivelare la propria identità.

Per effettuare una valutazione complessiva della sicurezza dell’intero sistema bisogna
tener conto di alcuni aspetti. Non devono essere previsti meccanismi tali per cui l’acces-
so ai dati sia consentito anche a soggetti terzi: possono accedervi soltanto i proprietari
dei dati e dell’infrastruttura, nel rispetto delle normative vigenti. Deve assicurarsi anche
una certa integrità dei meccanismi di comunicazione e trasmissione delle informazioni,
senza correre il rischio che queste possano essere manipolate da soggetti non autoriz-
zati (potrebbero essere previste tecniche di cifratura delle informazioni e dei canali di
comunicazione). Gli utenti devono poter sempre accedere alle informazioni e ai servizi
richiesti, quindi deve essere assicurata la disponibilità dei sistemi.
Tutto questo deve sottostare ad una fase iniziale di identificazione e autenticazione del-
l’utente tramite specifiche tecniche di accesso e controllo per evitare situazioni anomale.

20
Devono essere previsti meccanismi di riconoscimento degli utenti tramite password5 , in
modo che sia garantita l’autenticità di chi svolge le operazioni. Le organizzazioni, a loro
volta, devono prevedere meccanismi di cifratura e protezione delle informazioni e dei ca-
nali di trasmissione, e stabilire regolari procedure di backup che possano essere utili in
caso di eventuali attacchi ai sistemi. Per garantire un certo livello di sicurezza aggiunti-
vo potrebbe essere utilizzato il meccanismo Two Factor Authentication (2FA), che consente
di verificare l’identità di un soggetto dopo che questo ha superato un primo controllo
(con l’inserimento di username e password), attraverso l’invio di un codice temporaneo
via SMS, oppure tramite Token per la generazione di One Time Password (OTP) [2].
Il mondo dell’IoT è in rapida evoluzione, sempre più sono i dispositivi e i sensori che
ne vengono a far parte. Questi prevedono una continua interazione con gli essere umani,
che molto spesso sono anche condizionati e influenzati dalla loro presenza. Oltre alle
questioni appena descritte sono necessari interventi che mirino a risolvere alcuni dei
principali problemi ancora presenti. Uno di questi è legato alla decisioni circa quello
che deve essere il livello al quale deve essere assegnato un certo carico di lavoro, in
relazione a latenza, consumo energetico, costi di manutenzione e larghezza di banda.
Le piattaforme di edge computing potrebbero risolvere in parte queste problematiche,
dal momento che i dati vengono elaborati su nodi periferici; tuttavia dovrebbero essere
pensate delle tecniche di automatizzazione per la distribuzione del carico sui dispositivi.
In definitiva requisiti di sicurezza e privacy sono ancora da soddisfare a pieno nelle
nuove tecnologie, specie nell’edge computing, che è ancora ai suoi albori e che quindi
necessita di ulteriori studi e approfondimenti. Tuttavia lo scenario applicativo lascia ben
sperare per una sua maggiore diffusione.

5 Sequenze di caratteri maiuscoli e minuscoli uniti a caratteri speciali, che devono rispettare determinate
policy; potrebbero essere utilizzati dei generatori di password.

21
3 A P P L I C A Z I O N I E P I AT TA F O R M E P E R
L’ E D G E C O M P U T I N G
L’Internet of Things è il risultato della combinazione di numerose tecnologie che ha
portato alla nascita di un vero e proprio ecosistema. Queste tecnologie si stanno diffon-
dendo rapidamente in diverse aree e settori, ma purtroppo devono fare i conti con l’ete-
rogeneità dei diversi dispositivi tra cui avvengono le comunicazioni. In questa direzione
quindi sono necessari degli interventi che risolvano questa problematica.

3.1 architetture

E’ ormai noto come negli anni a venire sempre più saranno i dispositivi intelligenti che
contribuiranno alla generazione di enormi moli di dati. Questi richiederanno analisi ed
elaborazioni efficienti e soprattutto in real-time, di modo da garantire servizi vantaggiosi
per gli utenti, che risulteranno essere complicate con le attuali infrastrutture esistenti.
Come si è visto l’introduzione del MEC ha apportato notevoli vantaggi in termini di
riduzione di tempi di risposta nelle comunicazioni, spostando le computazioni sull’edge
delle reti, e focalizzandosi sui singoli dispositivi.
Il gruppo di lavoro Constrained RESTFul Environments (CoRE), appartenente all’Internet
Engineering Task Force (IETF) si è occupato di questo problema e ha pubblicato il proto-
collo Constrained Application Protocol (CoAP), con l’obiettivo di portare i servizi su dispo-
sitivi a risorse limitate. Questo è di particolare interesse per tutte quelle applicazioni che
richiedono un monitoraggio continuo dei dispositivi IoT [8]. E’ stato anche pensato e
definito un nuovo modello architetturale, il Lambda Architecture (LA): diversi componen-
ti di cloud computing che forniscono funzionalità di elaborazione, analisi e consumo di
grandi quantità di dati arbitrari. Concetto chiave è la precomputazione, i cui risultati
possono essere utilizzati per ridurre i tempi di elaborazione. Questa architettura sud-
divide i dati in tre livelli, ognuno dei quali ha il compito fondamentale di ridurre la
latenza quando vengono elaborati e processati enormi quantità di dati.

• Real-Time Layer: elabora un flusso di dati e genera viste precomputazionate in


real-time;

22
• Batch Layer: genera viste precomputazionate attraverso l’elaborazione di dati
storici;

• Serving Layer: offre modalità di visualizzazione e accesso a tutti i dati generati.

L’unione di questi due aspetti ha portato alla definizione dell’architettura λ-CoAP.


Questa definisce uno Smart Gateway (si veda la figura 7) che interconnette la LA con i
dispositivi sottostanti e un proxy per abilitare le interazioni Hyper Text Trasnfer Protocol
(HTTP). E’ prevista anche un’interfaccia grafica che consenta di gestire e visualizzare
dati e dispositivi IoT. Quest’architettura consente ai dispositivi di lavorare in maniera
autonoma, ma l’elaborazione avviene in sistemi Cloud attraverso la LA.

Figura 7: Smart Gateway.


[8]

Questo approccio fornisce un’architettura che abilita l’analisi e l’elaborazione di gran-


di quantità di dati; tuttavia segue un approccio centralizzato, quindi è necessario che sia
integrata con un’architettura di edge computing.
La sostanziale differenza con l’edge computing è la presenza dello Smart Gateway che
gioca un ruolo fondamentale. Mentre nell’architettura λ-CoAP questo dispositivo agisce
da connettore tra la piattaforma Cloud, i servizi sottostanti e gli utenti, nell’architettura
edge computing consente anche di abilitare un dispositivo autonomo con capacità di
elaborazione, di modo da ridurre la latenza di comunicazione e alleggerire le reti [8].
Vediamo ora nel dettaglio quelli che sono gli aspetti vantaggiosi di tale approccio:

• Lightweight Virtualization, consente di creare servizi virtuali all’interno di un


sistema, garantendo una maggiore velocità nel processo di creazione e una net-

23
ta separazione tra di essi. Questo approccio abilita una gestione a run-time dei
processi e il loro riutilizzo;

• Web User Interface, consente la gestione dei dispositivi, dei container1 e dello
stesso gateway all’interno dell’infrastruttura, attraverso l’uso del protocollo CoAP.
La gestione dei container consente anche un controllo efficiente ed un eventuale
riutilizzo; nuovi container possono essere installati e resi disponibili;

• Framework, utilizzato per lo sviluppo di applicazioni per l’edge. E’ basato su


Node-RED2 , un editor che consente una programmazione visiva del flusso di dati.
Il programmatore deve solo interessarsi alla logica, i vari componenti decidono se
processare immediatamente i dati o demandarli alla piattaforma Cloud.

In definitiva è possibile affermare che tale architettura riesce ad essere molto vantaggio-
sa nello sviluppo di applicazioni per l’edge computing, grazie anche alla funzione di
virtualizzazione adottata che assicura un migliore controllo e isolamento dei processi
in esecuzione. Sono tuttavia ancora necessari degli sviluppi futuri che assicurino un
ancora più efficiente sviluppo dell’intera architettura.

3.2 aree applicative

La rapida crescita di applicazioni emergenti come i trasporti autonomi, le città intelli-


genti e il monitoraggio della sanità elettronica ha fatto sì che Edge Computing sia uno
dei principali enablers per queste applicazioni, sebbene l’architettura MEC stia emergen-
do soltanto ora e gli operatori di rete mobile non hanno raggiunto una certa maturità in
termini di efficienza. Di seguito saranno brevemente descritti quelli che sono gli ambiti
maggiormente influenzati da questa nuova tecnologia.

assistenza sanitaria Importanti ricerche si stanno avendo anche in questo ambito.


Le nuove tecnologie potrebbero essere di supporto ai medici per assistere i loro pa-
zienti indipendentemente dalla loro posizione geografica; raccogliere informazioni
sui pazienti attraverso sensori e strumenti intelligenti, memorizzarle e condividerle
attraverso piattaforme Cloud e utilizzarle per effettuare diagnosi e dare assistenza.

videosorveglianza Il MEC sarà ampiamente utilizzato anche per le applicazioni vi-


deo. I dati inviati da questi dispositivi intelligenti verso la rete saranno analizzati
1 Processi in esecuzione sul gateway.
2 Vedere https://nodered.org/.

24
in maniera più efficiente e rapida, quindi potranno essere previsti sistemi per il
rilevamento del movimento di utenti (riconoscimento facciale) e oggetti, o ancora
applicazioni per la gestione del traffico e il rilevamento di ingorghi e incidenti.

big data Riguarda dati generati da applicazioni, sensori e dispositivi. Sono necessa-
rie estrazioni e analisi intelligenti che possono fruire ulteriore informazioni di ca-
rattere aggregato, e che consentano alle realtà aziendali di prendere decisioni di
marketing o business, ed essere di supporto ai processi. Il MEC nelle vicinanze
dei dispositivi può essere d’aiuto garantendo elevata larghezza di banda e bassa
latenza.

smart vehicles Internet permette ai veicoli di connettersi con altri per comunicare,
in maniera bidirezionale, informazioni circa eventuali rischi nella circolazione,
ingorghi o presenze massive di pedoni, al fine di evitare situazioni problematiche.

smart grid Le reti elettriche intelligenti dotate di dispositivi all’avanguardia (anche


domestici, come ad esempio elettrodomestici e contatori) e risorse energetiche rin-
novabili consentiranno una gestione efficiente delle reti. Ci sarà uno scambio di in-
formazioni circa il consumo energetico e le condizioni delle reti che consentiranno
di prendere decisioni istantanee per evitare situazioni di ingorghi della rete.

sensor networks Sensori utilizzati per la videosorveglianza e il monitoraggio di si-


tuazioni ambientali, come ad esempio la pressione dell’aria e della temperatura.
In questo senso il MEC garantirà un consumo ridotto dell’energia e una maggiore
larghezza di banda.

smart building Sensori wireless impiegati in diverse parti degli edifici e responsabili
del monitoraggio e del controllo dell’ambiente circostante, come ad esempio la
temperatura, il livello di smog e l’umidità. In questo senso il MEC abiliterà la
comunicazione reciproca tra dispositivi vicini per stabilire eventuali reazioni a
situazioni anomale.

monitoraggio oceani Sono in corso ricerche in questa direzione per far fronte a qual-
siasi tipo di incidente oceanico in relazione al cambiamento climatico. In questo
ambito saranno utilizzati diversi sensori dislocati in diverse aree degli oceani che
genereranno dati e gli invieranno alle centrali per le relative elaborazioni. Il MEC
svolgerà un ruolo vitale per evitare perdite di dati e ritardi nella trasmissione.

25
3.3 scenari futuri

MEC è un nuovo concetto di architettura che fornisce funzionalità di cloud computing


ai margini della rete. Questa tecnologia può offrire servizi con bassissima latenza, eleva-
ta larghezza di banda e accesso diretto alle informazioni. Due delle caratteristiche più
importanti del MEC sono la vicinanza e la consapevolezza della posizione, che possono
essere sfruttate da fornitori di servizi per portare applicazioni avanzate e innovative.
E’ stata sviluppata una piattaforma, chiamata WiCloud [12], che cercare di elevare il
livello di fruibilità dei servizi innovativi. E’ basato sul concetto di Network Function
Virtualization (NFV) che permette di fornire servizi semplicemente sostituendo elementi
di rete tradizionale con risorse di calcolo adatte al Cloud Computing; l’infrastruttura di
rete è basata su Software Defined Network (SDN).
In realtà però prima della messa in esercizio dell’architettura MEC è ancora necessario
uno sforzo che risolva le problematiche di cui tale sistema è affetto. Uno degli aspetti
fondamentali è legato alla gestione delle reti da parte degli operatori, e alla loro "apertu-
ra" verso fornitori di terze parti che vorranno sviluppare applicazioni proprie. Saranno
necessarie delle policy che regolino il rapporto reciproco tra i vari fornitori e consentano
una gestione efficiente ed ottimale della complessità dei sistemi. E’ necessario rivolge-
re attenzione nei confronti dei server MEC che, integrati in stazioni radio, necessitano
di robustezza e integrità al fine di garantire disponibilità nei servizi, con riguardo alla
protezione da eventuali minacce, alla sicurezza e alla privacy.
Sono richiesti interventi in merito alla gestione del carico delle attività sulla rete per
demandare l’elaborazione a risorse esterne, quali Fog Computing o Cloud Computing,
o per assicurare una allocazione di risorse sufficienti all’attività. Sempre più la richiesta
di risorse sarà maggiore, quindi è necessario valutare attentamente modalità di gestione
efficienti e automatizzate. E’ necessario anche continuare a ricercare nuove soluzioni
per ridurre al minimo la latenza nella trasmissione ed elaborazione delle informazioni,
adottando tecnologie di rete wireless o integrando sistemi MEC con LTE o 5G. Questa
farà si che gli utenti possano avere in tempo reale risposte dai dispositivi utilizzati; ma
non solo gli utenti, anche l’ambiente se si pensa al contesto delle Smart Cities.
Uno degli aspetti fondamentali parzialmente risolto dall’architettura MEC è quello
relativo al consumo energetico. Bisogno considerare il consumo energetico non solo le-
gato ai dispositivi mobili, che hanno risorse energetiche limitate, ma anche dei server
che spesso sono inattivi, ma consumano comunque energia. Questa problematica è lega-
ta anche ad una inefficiente distribuzione dei server sul territorio, quindi sono necessari
interventi per la definizione di tecniche di ottimizzazione per l’utilizzo di tali risorse.

26
Uno degli interessanti ambiti applicativi sarà sicuramente il retail, ossia il commercio
al dettaglio. Molti retailer stanno investendo in tecnologie per offrire ai propri clienti
esperienze d’acquisto innovative all’interno degli store, riuscendo al contempo a mante-
nere un elevato grado di semplicità. Tra le tecnologie utilizzate molte hanno a che fare
con il mondo dell’IoT: i sensori connessi alla rete possono essere utilizzati per monito-
rare e tracciare le merci in consegna al negozio, oltre che per gestire con più efficacia
i magazzini. All’interno degli store, invece, i sensori IoT possono essere estremamente
utili per prevedere il comportamento dei consumatori, aiutando i retailer a ottimizza-
re gli spazi. L’IoT abilita la possibilità di offrire servizi personalizzati sulla base della
geolocalizzazione. Lo scenario del retail del futuro è quindi quello di un cliente che
entra in un negozio fisico con il suo smartphone e che, grazie alla connessione wi-fi,
riceve messaggi di promozioni e nuovi prodotti. Nel frattempo, le telecamere di ricono-
scimento facciale identificano l’acquirente, attivando ulteriori soluzioni per visualizzare
gli elementi di possibile interesse. L’edge computing soddisfa queste esigenze creando
una rete di micro data center che elaborano i dati appena fuori dal punto in cui i dati
vengono generati. Ciò elimina i problemi di latenza, aumenta l’affidabilità e consente di
prendere decisioni in tempo reale. I micro data center basati sull’edge computing sono
dunque la tecnologia preferita per supportare questa nuova ondata di applicazioni nel
retail, offrendo un’infrastruttura innovativa.

27
CONCLUSIONI

Le moderne applicazioni hanno dettato l’introduzione di tecnologie complementari al


Cloud e abilitanti per nuovi scenari.
Una soluzione proposta è stata quella di spostare la computazione sull’edge delle reti
per abbattere i ritardi nella comunicazione, quindi ridurre la latenza. Il Mobile Edge
Computing ha tutte le potenzialità per divenire la tecnologia del futuro, che sarà in grado
di offrire larghezza di banda, durata della batteria e spazio di memorizzazione per i
dispositivi con vincoli di risorse e che richiedono attività ad alta intensità di calcolo.
I modelli implementativi che seguono il paradigma del Fog Computing non solo per-
mettono un rapida ed efficiente allocazione delle risorse, ma favoriscono anche la mo-
bilità degli utenti mantenendo bassi i tempi di sospensione del servizio durante il tra-
sferimento delle risorse. Si è riusciti a trasferire macchine virtuali tra due centrali con
caratteristiche intrinseche molto diverse, identificando un sottoinsieme di risorse simu-
labili, tramite virtualizzazione, in modo che sia possibile trasferire tutto il contenuto
computazionale su centrali temporanee in caso di guasto o di connessione mancante, in
maniera del tutto automatizzata. Al Cloud potranno in futuro essere affidate mansioni
di gestione, ad esempio politiche di failover e manutenzione automatica delle centrali.

A valle delle considerazioni effettuate nel seguente trattato, è lecito affermare che se co-
munque da un lato l’Edge Computing sia una tecnologia ancora agli albori, ci si auspica
che possa arrivare ben presto un’adozione pervasiva da parte dei fornitori di infrastrut-
ture di rete. L’abbattimento dei costi della componentistica hardware utile ad eseguire
servizi sull’edge delle reti aiuterà i Service Provider a commercializzare apparati in gra-
do di soddisfare le esigenze dei clienti mobili, senza eccedere nelle loro capacità hard-
ware, quindi nel loro costo. La qualità del servizio aggiunta che potrà essere proposta
ai clienti e l’attitudine ad un impiego in settori come la sicurezza pubblica e l’intratte-
nimento promettono un immediato ritorno sugli investimenti da parte di tutte le entità
che si faranno portavoce di questa necessaria evoluzione del Cloud, la quale ne amplierà
il ventaglio di utilizzo. Tuttavia non bisogna soffermarsi soltanto sui vantaggi di tale tec-
nologia, sono da valutare anche e soprattutto le problematiche che questa innovazione
porta con sé, considerandole non come ostacoli alla ricerca, bensì come sfide che portino
a nuove soluzioni per la continua innovazione.

28
BIBLIOGRAFIA

Riferimenti bibliografici

[1] Nasir Abbas et al. «Mobile edge computing: A survey». In: IEEE Internet of Things
Journal 5.1 (2018), pp. 450–465.
[2] Mohammed Alrowaily e Zhuo Lu. «Secure Edge Computing in IoT Systems: Re-
view and Case Studies». In: 2018 IEEE/ACM Symposium on Edge Computing (SEC).
IEEE. 2018, pp. 440–444.
[3] Yanuarizki Amanatullah et al. «Toward cloud computing reference architecture:
Cloud service management perspective». In: International Conference on ICT for
Smart Society. IEEE. 2013, pp. 1–4.
[6] Koustabh Dolui e Soumya Kanti Datta. «Comparison of edge computing imple-
mentations: Fog computing, cloudlet and mobile edge computing». In: 2017 Global
Internet of Things Summit (GIoTS). IEEE. 2017, pp. 1–6.
[8] Cristian Martin Fernandez, Manuel Diaz Rodriguez e Bartolome Rubio Munoz.
«An edge computing architecture in the internet of things». In: 2018 IEEE 21st
International Symposium on Real-Time Distributed Computing (ISORC). IEEE. 2018,
pp. 99–102.
[12] Hongxing Li et al. «Mobile edge computing: Progress and challenges». In: 2016
4th IEEE international conference on mobile cloud computing, services, and engineering
(MobileCloud). IEEE. 2016, pp. 83–84.
[13] Syed Noorulhassan Shirazi et al. «The extended cloud: Review and analysis of
mobile edge computing and fog from a security and resilience perspective». In:
IEEE Journal on Selected Areas in Communications 35.11 (2017), pp. 2586–2595.
[14] William Voorsluys, James Broberg e Rajkumar Buyya. «Introduction to cloud com-
puting». In: Cloud computing: Principles and paradigms (2011), pp. 1–41.

29
Sitografia

[4] ComputerWorld Italia. 2018. url: https://www.cwi.it.


[5] CorCom - Economia Digitale. 2018. url: https://www.corrierecomunicazioni.it.
[7] Etsi. 2019. url: https://www.etsi.org.
[9] Innovation Post. 2018. url: https://www.innovationpost.it.
[10] Internet of Things. 2017. url: https://it.emcelettronica.com.
[11] Internet4Things. 2019. url: https://www.internet4things.it/.
[15] Wikipedia. 2018. url: https://it.wikipedia.org.
[16] ZeroUno Web. 2018. url: https://www.zerounoweb.it.

30