Troppo spesso articoli e interviste sul metaverso si concentrano su elementi superficiali, tralasciando gli aspetti tecnici. Ma l’informatica ci ha insegnato che questi giocano un ruolo essenziale: la tecnologia, gli standard ed i protocolli sono l’affascinante universo nascosto dietro le nostre interfacce grafiche, siano esse immersive, tridimensionali o bidimensionali. Ma soprattutto sono la differenza sostanziale che permette di ottimizzare la comunicazione e l’interazione uomo-macchina.
Il sistema di comunicazione di internet
L’avvento di Internet ha ribaltato il paradigma di utilizzo dei computer. Quelli che in italiano vengono definiti elaboratori non sono solo preziosi strumenti per il calcolo matematico, ma sofisticati sistemi per la comunicazione, per la trasmissione e la ricezione di informazioni. La rete Internet è il mezzo essenziale per permettere la comunicazioni in tempo reale tra i diversi utenti all’interno di un metaverso. Senza un sistema di networking appositamente progettato non sarebbe possibile sentire la voce degli utenti, oppure vedere all’istante il movimento degli Avatar o modificare posizione, rotazione e scala di un qualsiasi oggetto nell’ambiente simulato. Per questo motivo la nostra attenzione deve focalizzarsi maggiormente sui miglioramenti e sul come questo possa avvenire, perché abbiamo la necessità per il metaverso di portare questi sistemi al loro limite estremo. Non è possibile infatti utilizzare la normale suite che tutti gli altri protocolli di comunicazione Internet usano, quella famosa sigla TCP/IP, che siamo stati ormai abituati ad associare a protocolli come l’HTTP o la posta elettronica.
Il sistema di comunicazione di Internet è stato rappresentato come una pila (stack), una torta a strati potremo dire, con i livelli inferiori che parlano con i superiori e viceversa. Un’astrazione, dicevamo, che parte dal livello hardware (cavo di rete, WiFi, scheda di rete) fino al livello più alto “applicativo” e che definisce i protocolli e gli standard, ad esempio, per la comunicazione Web come l’HTTP 1.1 o HTTP/2, ecc. Per potersi parlare le diverse applicazioni hanno bisogno di un linguaggio comune aperto, libero ed usato da tutti.
La condivisione aperta, libera e gratuita di standard e protocolli, come il World Wide Web di Tim Berners-Lee , a livello accademico ed industriale, ha permesso la diffusione capillare del Web come lo conosciamo oggi, un enorme piattaforma su cui innumerevoli attori hanno costruito il proprio impero. Uno strato comune che, a livello applicativo, non è attualmente condiviso dai diversi mondi virtuali, immersivi e non. Un muro che non permette l’interoperabilità tra i sistemi e la loro intercomunicazione quasi sempre basato sul fratello UDP/IP. La necessità tecnica di avere un protocollo veloce e resiliente ha portato ad implementazioni tra di loro diverse (una necessità tecnica inderogabile e che si differenzia sostanzialmente dal normale uso che fanno gli altri protocolli del TCP/IP, ma anche una diversità parzialmente voluta a livello commerciale così da creare “preziosi giardini dalle alte mura della differenziazione tecnologica”), ma ha avuto anche degli evidenti effetti collaterali.
Eppure, guardando al passato, ci sono stati periodi in cui l’idea di creare diversi protocolli proprietari era stata abbandonata in favore di un protocollo comune che ne permettesse una sua larga diffusione. Si guardi, ad esempio, al tentativo del progetto MMOX nato dopo l’avvento di Second Life e del suo omologo open source OpenSim. Ma, ancora più indietro, agli studi pionieristici sul VRTP (Virtual Reality Transfer Protocol) che, tuttavia per nostra sfortuna, non è mai andato oltre lo stadio di sviluppo iniziale.
Quali standard di networking per il Metaverso?
Con l’arrivo del Metaverse Standards Forum si è appena avviato il processo di standardizzazione del formato degli asset 3D per una prima precaria interoperabilità tra i diversi mondi virtuali del futuro metaverso. Tuttavia, nulla é stato detto per una vera interoperabilità a livello di comunicazione, come nel passato per quasi ogni altro servizio Internet. È questa una grande, profonda sconfitta sia a livello tecnico che economico/organizzativo. Una grave lacuna, una sfida che é stata già data per persa e dunque dimenticata ed abbandonata. Eppure molte società si sono poste almeno l’ambizioso obiettivo di permettere una presenza in tempo reale per un numero molto alto e contemporaneo di utenti e stanno cercando di combattere l’intrinseco problema del ritardo delle comunicazioni sulla rete.
Le proposte al riguardo sono molte, basate tuttavia su tecnologie proprietarie di cui si hanno pochi dettagli. Due società sembrano al momento spiccare nelle loro sperimentazioni soprattutto in numero contemporaneo di utenti collegati in uno stesso ambiente virtuale: l’azienda Improbable, con la sua implementazione di Otherside, ed RP1.
I test e le dimostrazioni effettuate da entrambe le aziende hanno portato a superare la soglia dei circa 4.000 utenti contemporanei (l’ultima demo di Improbable parla di oltre 20.000 utenti), anche se non è chiaro, dalle dichiarazioni fatte, quanti di questi utenti si interfacciano al sistema in VR. Il tracciamento VR infatti prevede almeno tre diversi punti nello spazio tridimensionale con 6 gradi di libertà (3 di posizione e 3 di rotazione) da ricevere e trasmettere con una frequenza molto alta. Moltiplicare questa quantità di dati per migliaia di utenti vuol dire raggiungere molto velocemente i limiti di banda e velocità odierni costringendo così i progettisti ad adottare nuovi sistemi di serializzazione e compressione dei dati (con il termine di serializzazione si intende genericamente come rappresentare i dati per la trasmissione). Se state pensando ad esempio al formato JSON sappiate che è un sistema di serializzazione possibile, ma assolutamente sconsigliato per i bisogni del metaverso. Abbiamo infatti la fondamentale necessità di minimizzare al massimo lo spazio dei dati cercando di comunicare usando pacchetti di singoli bit e non interi byte (si veda. ad esempio, lo sviluppo di NetStack). Anche l’invio successivo di dati (molto frequente in un contesto come quello di un metaverso) può essere ottimizzato identificando l’ordine cronologico degli invii e ricezioni e trasmettendo solo e soltanto la differenza con il dato precedente. L’uso combinato di più strategie permette di ottimizzare al massimo la quantità di dati da trasmettere rendendo il tutto più veloce ed efficiente.
Sullo stesso tema del metworking ottimizzato, società come Network Next stanno pensando alla minimizzazione del ritardo di comunicazione (lag) attraverso un rete che costantemente monitora il traffico Internet identificando i nodi con minore latenza e re-indirizzando il traffico attraverso questi percorsi. Un sistema in evoluzione, ma che presto diventerà un bisogno insostituibile da integrare nelle applicazioni per il Metaverso.
Nella realtà, molte società stanno comunque proponendo diverse soluzioni innovative che si spera presto entreranno a far parte del panorama di tecnologie fondamentali per l’utilizzo in un metaverso. Riporto di seguito due esempi su tutti:
- La società che ha sviluppato Photon, una delle librerie più utilizzate nell’ecosistema del motore grafico 3D Unity (di cui fa parte Rec Room), sta testando un nuovo sistema chiamato Fusion con prestazioni ed efficienza nettamente superiore, come è possibile osservare dal loro stesso specchietto riepilogativo.
- Sempre per la piattaforma Unity, Coherence sta tentando di semplificare lo sviluppo ed integrazione di un sistema di gestione multiutente così da permettere una facile creazione di nuovi mondi virtuali ed MMO. Un nuovo interessante concorrente nell’agone del metworking del nostro futuro metaverso.
[…] Per approfondire leggi “L’importanza delle tecnologie di networking per la costruzione del metaverso“. […]
[…] difficile avere più di 100 utenti in uno stesso momento in uno stesso spazio di realtà virtuale (abbiamo approfondito questo tema in un articolo specifico, […]