Il [['''Fog computing]]''' (o Fog, o Edge computing) è un'architettura orizzontale, a livello di sistema, utile a distribuire senza soluzione di continuità risorse e servizi di calcolo, immagazzinamento di dati, controllo e funzionalità di rete sull'infrastruttura che connette il [[Cloud computing|Cloud]] all'[[Internet delle cose|Internet delle Cose (IoT)]]<ref name=":0">{{Cita web|url=https://www.openfogconsortium.org/wp-content/uploads/OpenFog_Reference_Architecture_2_09_17-FINAL.pdf|titolo=OpenFog Reference Architecture for Fog Computing|accesso=5 aprile 2017|dataarchivio=6 aprile 2017|urlarchivio=https://web.archive.org/web/20170406023404/https://www.openfogconsortium.org/wp-content/uploads/OpenFog_Reference_Architecture_2_09_17-FINAL.pdf|urlmorto=sì}}</ref>.
Il Fog rappresenta al tempo stesso un'estensione e un miglioramento del paradigma Cloud in supporto ad applicazioni [[IoT]] che debbano rispettare precisi parametri di [[Qualità di servizio|Qualità di Servizio (QoS)]] per essere processati<ref name=":1">{{Cita pubblicazione|autore=Flavio Bonomi et al.|titolo=Fog computing and its role in the internet of things.|rivista=Proceedings of the first edition of the MCC workshop on Mobile cloud computing. ACM, 2012.|volume=|numero=}}</ref>, quali [[latenza]] e [[Banda larga|banda]] disponibili per una certa connessione<ref>{{Cita pubblicazione|nome=Antonio|cognome=Brogi|titolo=How to place your apps in the fog: State of the art and open challenges|rivista=Software: Practice and Experience|volume=n/a|numero=n/a|lingua=en|accesso=2019-12-17|doi=10.1002/spe.2766|url=https://onlinelibrary.wiley.com/doi/abs/10.1002/spe.2766|nome2=Stefano|cognome2=Forti|nome3=Carlos|cognome3=Guerrero}}</ref><ref>{{Cita pubblicazione|autore=Antonio Brogi and Stefano Forti|nome=Antonio|cognome=Brogi|data=2017|titolo=QoS-aware Deployment of IoT Applications Through the Fog|rivista=IEEE Internet of Things Journal|volume=PP4|numero=995|pp=1–11185-1192|accesso=2017-05-06|doi=10.1109/JIOT.2017.2701408|url=http://ieeexplore.ieee.org/document/7919155/}}</ref><ref name=":4">{{Cita pubblicazione|nome=Michele|cognome=Zanella|data=2018|titolo=Back to the Future: Resource Management in Post-cloud Solutions|rivista=Proceedings of the Workshop on INTelligent Embedded Systems Architectures and Applications|editore=ACM|pp=33-38|accesso=2019-10-24|doi=10.1145/3285017.3285028|url=http://doi.acm.org/10.1145/3285017.3285028|nome2=StefanoGiuseppe|cognome2=FortiMassari|nome3=Andrea|cognome3=Galimberti}}</ref>.
== Motivazione ==
Come previsto da [[Mark Weiser]] nel 1991<ref>{{Cita pubblicazione|autore=Mark Weiser|titolo=The computer for the 21st century.|rivista=Scientific american|volume=265|numero=3}}</ref>, la tecnologia sta scomparendo, confondendosi nel tessuto stesso della nostra quotidianità fino a divenire indistiguibile da essa. Entro il 2020, [[Cisco Systems|CISCO]] prevede la presenza di oltre 50 miliardi di dispositivi connessi <ref name=":2">{{Cita web|url=httphttps://www.cisco.com/c/dam/en_us/solutions/trends/iot/docs/computing-overview.pdf|titolo=Fog Computing and the Internet of Things: Extend the Cloud to Where the Things Are}}</ref>, con una media di 7 per persona (es. veicoli a guida autonoma, sistemi [[Domotica|domotici]], dispositivi di [[e-health]]). Ciascuno di questi dispositivi, continuativamente raccogliendo dati costantemente, andrà ad accrescere la quantità di informazione da immagazzinare nei [[Centro elaborazione dati|datacentredatacenter]], in attesa di una successiva elaborazione.
Se da un lato la quantità di dati raccolti continua ad aumentare ([[Big data|Big Data]]), così come la capacità di calcolo necessaria per processarli, dall'altro la connettività disponibile per trasportare l'informazione dall'IoT verso i [[Centro elaborazione dati|datacentredatacenter]] non si rivela sempre adeguata allo scopo. In particolare, applicazioni con requisiti stringenti in termini di tempo di risposta o sicurezza non sono supportate al meglio dall'attuale paradigma Cloud che richiede lo spostamento dei dati dai confini della rete verso strutture di elaborazione centralizzate<ref>{{Cita pubblicazione|autore=Shi, Weisong e Schahram Dustdar.|titolo=The promise of edge computing|rivista=Computer|volume=49.5 (2016): 78-81|numero=}}</ref><ref>{{Cita pubblicazione|nome=Stefano|cognome=Forti|data=2020-01-01|titolo=Secure Cloud-Edge Deployments, with Trust|rivista=Future Generation Computer Systems|volume=102|pp=775-788|accesso=2019-12-17|doi=10.1016/j.future.2019.08.020|url=http://www.sciencedirect.com/science/article/pii/S0167739X19301268|nome2=Gian-Luigi|cognome2=Ferrari|nome3=Antonio|cognome3=Brogi}}</ref>. Si pensi ad esempio a sistemi di controllo per impianti industriali o edifici pubblici, a dispositivi medici connessi, a infrastrutture per la gestione efficiente del traffico veicolare.
Il Fog computing, sfruttando capacità di calcolo, immagazzinamento dati e rete fisicamente vicini all'IoT e altamente distribuiti, si propone di risolvere questi problemi. I nodi Fog, nel duplice ruolo di capacità di calcolo e filtri da e verso il Cloud, renderanno possibile il supporto ad applicazioni ''time-sensitive'', con elevato consumo di banda o con particolari requisiti di sicurezza informatica (che non consentono di spostare i dati sull'infrastruttura Cloud pubblica)<ref name=":4" />.
== Definizioni ==
Nonostante lo spostamento paradigmatico e tecnologico verso il Fog si renda sempre più necessario, una definizione precisa e condivisa di Fog computing deve ancora essere data. Si tenta, in questa sede, di illustrare il dibattito scientifico corrente riportando criticamente alcune delle definizioni messe a punto sinora.
Il primo tentativo di definizione di Fog computing risale al 2012 e si deve a Flavio Bonomi et al.:<blockquote>''Il Fog computing è una piattaforma altamente virtualizzata che offre capacità di calcolo, immagazzinamento dati e servizi di rete tra i dispositivi terminali e i tradizionali datacentre del Cloud computing. Tutto ciò, in genere, ma non esclusivamente è offerto al limitare (Edge) della rete.''<ref name=":1" /></blockquote>Gli autori sottolineano inoltre che la [[Piattaforma (informatica)|piattaforma]] Fog debba godere di una distribuzione geografica capillare e debba essere organizzata gerarchicamente per garantire che l'analisi immediata (o di medio termine) dell'informazione raccolta avvenga quanto più possibile vicino alle sorgenti IoT, mentre l'analisi storica dei dati possa essere eseguita a livello Cloud. Secondo Bonomi, Le caratteristiche del Fog includono: consapevolezza della posizione geografica (''___location awareness''), basse latenze, distribuzione capillare dell'infrastruttura, elevato numero e mobilità dei nodi Fog, interazione in tempo reale, predominanza dell'accesso [[wireless]] alla rete, interoperabilità e federazione tra gestori diversi. In generale, questa prima definizione è in linea con quella data da CISCO<ref name=":2" /> nello stesso anno:<blockquote>''Il Fog estende il Cloud per essere più vicino a sensori e attuatori dell'IoT. I nodi Fog possono essere installati dovunque ci sia connettività a Internet [...]. Qualunque dispositivo capace di calcolo, immagazzinamento dati e connettività di rete può essere un nodo Fog (es., controllori industriali, switch, router, server dedicati e videocamere di sorveglianza). [...] Analizzare dati IoT vicino a dove sono generati minimizza la latenza. Riduce il carico della Rete internet di gigabyte di traffico; mantiene dati sensibili all'interno della rete privata.''</blockquote>Nel 2014, Vaquero et al.<ref name=":3">{{Cita pubblicazione|autore=Vaquero, Luis M., and Luis Rodero-Merino|titolo=Finding your way in the fog: Towards a comprehensive definition of fog computing|rivista=ACM SIGCOMM Computer Communication Review 44.5 (2014): 27-32|volume=|numero=}}</ref> hanno sostanzialmente esteso la definizione di Fog, a favore di un concetto più fluido, composto da:<blockquote>''dispositivi decentralizzati e ubiqui [che] comunicano e, potenzialmente, cooperano tra loro e con la rete al fine di eseguire immagazinamento dati o elaborazioni [...] per supportare funzioni di base della rete o nuovi servizi e applicazioni che eseguono in un ambiente [[sandbox]].''</blockquote>Inoltre, secondo Vaquero et al.<ref name=":3" />, gli utenti possono cedere parte dei loro dispositivi per ospitare tali servizi in cambio di incentivi per alla condivisione. Questa ampia definizione rivela di più sul potenziale del Fog come paradigma in cui gli utenti della rete e i loro dispositivi sono parte fondante e integrante nella profferta di servizi agli utenti stessi. Nella stessa direzione "umano-centrica" vanno i sostenitori dell'''Edge-centric computing''<ref>{{Cita pubblicazione|autore=Garcia Lopez, Pedro, et al.|titolo=Edge-centric computing: Vision and challenges.|rivista=ACM SIGCOMM Computer Communication Review 45.5 (2015): 37-42.|volume=|numero=}}</ref>, secondo i quali il Fog dovrebbe incoraggiare la partecipazione umanaaumana, cogliendo al balzo l'opportunità mancata di utilizzare l'enorme quantità di risorse inutilizzate sui moderni dispositivi personali.
In linea con le precedenti è la definizione proposta da [[Mung Chiang]]<ref>{{Cita pubblicazione|autore=Chiang, Mung|titolo=Fog networking: An overview on research opportunities|rivista=arXiv preprint arXiv:1601.00835 (2016)|volume=|numero=}}</ref> nel 2016:<blockquote>''Il Fog è un'architettura che usa uno o molti dispositivi utente, o situati vicini all'utente al limitare della rete, per eseguire una quantità sostanziale di operazioni di immagazzinamento dati, comunicazione e gestione.''</blockquote>Chiang sottolinea chiaramente la transizione paradigmatica dal Cloud fino (o il più vicino possibile) all'utente finale. Laddove l'immagazzinamento dati è prerogativa dei datacentre, la comunicazione avviene attraverso la rete dorsale e la gestione è eseguita dai gateway, il Fog si propone di distribuirla su dispositivi cooperanti nella Rete.
<references />
{{Controllo di autorità}}
<noinclude></noinclude>
{{Portale|internet}}
[[Categoria:Informatica]]
[[Categoria:Internet]]
[[Categoria:Cloud computing]]
|