Tecnologie

Cos’è il Fog computing e quale ruolo ha nell’Internet of Things

Il Fog Computing è l’architettura di rete per l’IoT, consente il monitoraggio e la risposta in tempo reale del sistema in base all’elaborazione dei dati ricevuti dai dispositivi e dai sensori collegati tra loro e con il cloud. L’IoT genera volumi di dati che non possono essere caricati totalmente in cloud né elaborati in modo totalmente centralizzato

Pubblicato il 23 Ott 2020

fog computing

La nebbia, come una nuvola, è formata da piccole particelle d’acqua. Ma, rispetto a una nuvola, è più vicina alla terra. Sta precisamente nel mezzo, le separa e le collega. Nebbia in inglese si dice “fog”, nuvola “cloud”. Il Fog Computing è la soluzione che collega l’architettura cloud, di archiviazione ed elaborazione dati, con le macchine, i terminali, i sensori IoT posti “a terra”. Ma come?

Cos’è il Fog computing

Il Fog Computing è un’architettura di rete distribuita che collega il Cloud alle sorgenti di dati generate dai dispositivi IoT. È composta da nodi di calcolo (nodi Fog) che costituiscono dei mini data center decentralizzati: i nodi Fog pre-elaborano i dati ricevuti dai dispositivi IoT e smistano le informazioni che devono “salire sulla nuvola” per ulteriori analisi e quelle che invece possono essere analizzate localmente, ai “margini” (“edge”, in inglese) della rete.

Un’architettura Fog Computing è composta da tre livelli, o layer:

– in “basso”, l’Edge-Layer, che comprende i dispositivi smart IoT. A questo livello, i dati vengono elaborati localmente, direttamente dal dispositivo (Edge Computing) oppure trasmessi dal nodo Fog al livello successivo;

– al centro, generalmente sulla rete LAN, il Fog-Layer, in cui i nodi Fog pre-elaborano, gestiscono e smistano i dati provenienti dall’Edge;

– “sulla nuvola”, il Cloud-Layer, il punto di arrivo finale dei dati che necessitano di essere archiviati o elaborati in profondità.

Immagine tratta da “Open Fog Reference Architecture” – OpenFog Consortium https://www.iiconsortium.org

Differenze con il Cloud computing

Il Cloud Computing si basa su data center centralizzati, così come centralizzati sono i server che gestiscono la potenza di calcolo e la memoria: un’architettura pensata per l’archiviazione e l’analisi approfondita più che per la gestione dei dati in tempo reale.

“Elaborazione centralizzata dei dati” significa che tutti i terminali e i sensori devono collegarsi al server del data center e mettersi “in coda” per attendere sia che venga presa in carico la domanda di elaborazione sia che le venga data una risposta (la generazione dell’output). Questi tempi di “attesa” vengono detti tempi di latenza e in un’architettura puramente cloud si allungano, non consentendo una reazione in tempo reale del sistema.

Ma il monitoraggio e la reazione in tempo reale in seguito alle analisi dei dati sono le caratteristiche degli ambienti smart, specialmente industriali, in cui si verifica un continuo scambio di dati tra dispositivi connessi. Volumi di dati che, caricati direttamente su Cloud, rischiano di saturare la banda di comunicazione.

Il Fog Computing invece è una soluzione distribuita, ma gestita centralmente: accorcia i percorsi di comunicazione e di latenza e riduce il flusso di dati caricati sul Cloud.

Differenze con l’Edge computing

L’Edge Computing deriva dal Fog Computing: per ridurre ulteriormente i tempi di latenza, la pre-elaborazione viene effettuata direttamente dal dispositivo, ai margini (in inglese, edge) della rete. In un’architettura di Edge Computing, il dispositivo “smart” ha al proprio interno microcontrollori o sistemi embedded che ne consentono la pre-elaborazione localizzata.

Nel Fog Computing, invece, l’elaborazione avviene al livello della rete LAN, con i nodi Fog, che gestiscono anche il networking, lo storage, il controllo e l’accelerazione dei diversi dispositivi: l’architettura Fog è quindi multifunzionale, oltre che più complessa, e consente una gestione dinamica delle risorse.

Utilizzo pratico del Fog computing

Il Fog Computing può essere usato in tutti quegli ambienti che richiedono connessioni tra dispositivi e il Cloud con tempi di latenza ridotti, riduzione del consumo di banda per l’elaborazione, risposte in tempo reale dall’analisi e il monitoraggio dei dati.

Un esempio sono i sistemi di produzione industriali 4.0: i dispositivi IoT posti sulle linee degli impianti generano dati che necessitano di essere elaborati nel minor tempo possibile per consentire una migliore gestione degli asset, della manutenzione, della sicurezza aziendale.

Un altro esempio sono le connected car, le automobili connesse a Internet e dotate di dispositivi IoT che consentono loro di comunicare e interagire con l’ambiente circostante. Le connected car si basano sul “Vehicle-to-Everything” (V2X), la tecnologia WLAN (o, da cellulare, LTE) che supporta lo scambio dei dati, sia con un altro veicolo (V2V), una infrastruttura stradale (V2I), un pedone (V2P) o un’intera rete di trasporti (V2N). Dotate di sistemi avanzati di assistenza alla guida (ADAS), di cruscotti virtuali (virtual cockpit), di assistenti vocali e di chiavi digitali (digital key), le “connected car” generano quantità di dati che soluzioni di Fog Computing potrebbero consentire di analizzare sia all’interno del veicolo che all’esterno, nelle case di produzione sempre più focalizzate sui servizi post-vendita.

Un’altra applicazione sono le smart grid, le reti elettriche intelligenti che consentono un modello reticolare, diffuso, a generazione distribuita dell’energia. Una smart grid comprende: sistemi di controllo automazione e sensoristica IoT per ricevere le informazioni delle diverse componenti dell’impianto e monitorarle; Demand Response Management System per ottimizzare i carichi della rete; Advanced Metering Infrastructure per la comunicazione bidirezionale tra l’impianto e la rete di distribuzione; Home Management System per il controllo automatizzato dei consumi. Sistemi che possono usufruire del Fog Computing per una elaborazione dei dati più veloce e una reazione più tempestiva che ottimizzino domanda e offerta di elettricità.

Non ultima, la videosorveglianza, con singole telecamere che possono generare anche 1TB di dati al giorno e sistemi che necessitano di tempi di risposta immediati in caso di intrusioni all’interno di edifici o impianti: nelle soluzioni di fog computing, gli algoritmi di analisi video possono essere installati direttamente sui nodi fog, alleggerendo il carico verso il cloud e riducendone i percorsi di comunicazione con i dispositivi.

Pro e contro del Fog computing

I vantaggi del Fog Computing vengono definiti dall’OpenFog Consortium, fondato nel 2015 da Cisco Systems, Intel, Microsoft, Princeton University, Dell e ARM Holdings, con l’acronimo SCALE: Security, Cognition, Agility, Latency, Efficiency.

La sicurezza (Security) nel Fog Computing è garantita dall’architettura decentralizzata: i dati sensibili vengono pre-elaborati nella rete locale da nodi distribuiti, e possono essere anonimizzati o criptati prima di passare al Cloud. Tuttavia, la stessa architettura decentralizzata comporta l’investimento in ulteriori requisiti di sicurezza, per evitare, ad esempio, gli attacchi “man in the middle” in cui viene intercettata o alterata la comunicazione tra dispositivi.

Il Fog Computing avvicina l’elaborazione ai dispositivi “a terra” e consente quindi una maggiore cognizione (Cognition) sulla quantità e tipologia dei dati da parte dell’utente proprietario, nonché sul loro percorso e sui tempi di latenza. Tuttavia, un’elaborazione decentralizzata necessita spese di manutenzione più elevate, perché i dispositivi sono distribuiti sull’intera rete.

L’agilità (Agility) di un’architettura Fog Computing è dovuta alla sua scalabilità a partire da un’infrastruttura comune. Tuttavia, alla rapidità di reazione dovuta alla pre-elaborazione dei dati corrisponde un limite dovuto alla stessa condizione “periferica”: ogni dispositivo interviene solo sulla base dei dati “settoriali” che ha raccolto.

Uno dei maggiori punti di forza, come già sottolineato, è la riduzione dei tempi di latenza (Latency), con la conseguente accelerazione sui processi di analisi e decisione.

Se, però, la riduzione del traffico dati verso il cloud consente un notevole risparmio sui costi, anche di banda, la stessa architettura necessita di maggiori costi hardware, perché l’IoT deve avere unità di calcolo supplementari per pre-elaborare e gestire localmente i dati.

Attraverso il collegamento dei dispositivi “a terra” con il Cloud, il Fog Computing consente una maggiore efficienza (Efficiency) nell’ottimizzazione di risorse altrimenti localmente inutilizzate. I dispositivi IoT di un’architettura Fog Computing lavorano anche offline: tuttavia, occorre investire in formazione per proteggerli da malfunzionamenti o usi impropri.

Che ruolo ha il Fog computing nell’Internet of Things

Il Fog Computing è l’architettura di rete per l’IoT, proprio perché consente il monitoraggio e la risposta in tempo reale del sistema in base all’elaborazione dei dati ricevuti dai dispositivi e dai sensori collegati tra loro e con il cloud. L’IoT genera volumi di dati che non possono essere caricati totalmente in cloud né elaborati in modo totalmente centralizzato.

Il Fog Computing abiliterà l’implementazione dello standard 5G nel settore industriale: già adesso, i dati generati dalle applicazioni aziendali possono essere elaborati localmente, attivando in tempo reale output importanti come lo spegnimento di emergenza di una linea di produzione, mentre restano al cloud i dati che necessitano approfondimento o analisi più dettagliate, come i valori anomali che potrebbero portare alla manutenzione anticipata di un macchinario.

Il Fog Computing e il Cloud possono combinarsi in diversi modi per supportare l’IoT: a seconda delle esigenze, elementi di “fogging” e di “cloud” possono inserirsi in un’unica infrastruttura fisica. In una fabbrica intelligente, ad esempio, la gerarchia dei nodi fog può essere divisa per linee di assemblaggio, celle di produzione e macchine.

L’OpenFog Consortium presenta quattro modelli:

Nella figura 1, la gerarchia di distribuzione dei nodi fog è indipendente dal cloud: può essere utilizzata nei casi in cui il cloud centrale non sia disponibile, o ci siano tempi di latenza troppo lunghi, o sia richiesto un livello di privacy di tipo militare. Ad esempio, nei sistemi di combattimento delle forze armate, nelle operazioni con i droni, in alcuni sistemi sanitari e ospedalieri, nei sistemi ATM.

Nella figura 2, il cloud è utilizzato per elaborare solo le informazioni utili a supportare le decisioni che possono permettersi una finestra temporale ampia, dalle ore ai mesi. I nodi fog sono posizionati in prossimità del processo da gestire. Il modello è utilizzato, ad esempio, per il monitoraggio dei pannelli solari commerciali.

Nella figura 3, i nodi fog servono per elaborazioni che richiedono velocità, mentre il cloud è utilizzato per creare un bilanciamento tra le informazioni operative e quelle relative al business. Come nei casi di monitoraggio dei gruppi di continuità e di accelerazione della rete mobile.

La figura 4 rappresenta il modello maggiormente usato per le connected car: i nodi fog vengono usati solo in parte, nel monitoraggio e controllo relativi alla sicurezza del veicolo. Il resto sfrutta il cloud, perché più pratico e/o economico.

L’architettura di rete distribuita e decentralizzata del Fog computing, simile alle reti peer-to-peer, consente la distribuzione dei dati nei dispositivi di “prossimità”, facilitando la distribuzione delle risorse e “alleggerendo” il carico del cloud. L’Internet delle Cose non potrà fare a meno della nebbia, per collegare la nuvola alla terra.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2