Internet TV
Sebbene YouTube sembra aver portato la TV nel computer, non è proprio così. In quel caso si tratta di Video on Demand, che consiste in una fruizione in differita, e che (a parte il media) può avvalersi di soluzioni di bilanciamento del carico già sperimentate nel caso di contenuti più classici, come le pagine web. Nel caso delle trasmissioni in diretta, invece, una volta scartato il multicast (adottabile ad esempio nell'ambito ristretto degli utenti serviti da uno stresso ISP), si possono adottare le strategie di
- dotare il server di banda sufficiente a tutte le connessioni previste
- dirottare la richiesta verso un nodo di replica aderente ad una CDN
- far ricorso a tecniche peer to peer e sfruttare la banda degli stessi spettatori
Il primo caso è tipicamente adottato dalle stesse reti televisive, che rendono disponibili i propri canali anche via Internet. Alcuni di essi possono anche far ricorso alla seconda soluzione, ed appoggiarsi ad una Content Delivery Network per spostare l'onere della trasmissione su di un server più vicino al richiedente, organizzato dal gestore della rete di accesso o da un fornitore di servizi a livello globale, in una Overlay network.
Peer to Peer TV
Come ben noto, il Peer to Peer è la metodica di condivisione files che permette di ripartire l'onere della distribuzione di oggetti (files) tra i detentori degli stessi. L'estensione di questa modalità di distribuzione al caso dello streaming non è per nulla banale, in quanto alla necessità di una fruizione in tempo reale si aggiungono vincoli di affidabilità. Alcuni links:
- Coolstreaming è stato una dei primi network di p2ptv, ora presso il suo domino troviamo un semplice aggregatore di feed unicast.
- PPLive è probabilmente il successore di Coolstreaming
- P2PNext è un progetto europeo che intende realizzare una CDN Peer to Peer
Pulse
Nasce da lavori di tesi realizzati in Francia. Quindi, è adottato dal progetto europeo Napa-Wine come base di partenza per una nuova architettura denominata Grapes. Allo stesso tempo, una parziale fork del codice di Pulse permette la realizzazione del portale di annuncio P2PMyLive.
Proposta di tesi
L'idea è di familiarizzare con il codice di Pulse (e dato che è scritto in Python, familiarizzare anche con quest'ultimo) e sperimentarne la funzionalità mediante un ambiente di virtualizzazione come Netkit. A quel punto, la tesi potrebbe prendere la direzione di
- eseguire misure volte a determinare la topologia dell'overlay ottenuto, e la reazione dello stesso ad eventi di flash crowd e churn, oppure
- investigare sull'integrazione di Pulse nell'ambito di un media center, come ad es. Boxee, oppure
- facilitare l'uso di Pulse da parte degli utenti posti dietro un dispositivo NAT, valutando gli approcci basati su UPnP e/o Hole Punching, oppure
- sviluppare un sito web di documentazione di Pulse e del suo utilizzo, cercando di stimolare la nascita di una comunità di interesse
Ma non solo
A riprova del grande dinamismo delle evoluzioni in questo settore, aggiungo i riferimenti ad alcuni sviluppi svelatisi di recente
IETF Peer to Peer Streaming Protocol
A quanto pare il tutto nasce dal lavoro svolto in P2PSIP per la decentralizzazione dei meccanismi di registrazione e localizzazione di uno UA SIP, che definisce il protocollo REsource LOcation And Discovery (RELOAD). Da un incontro di novembre 2009 nasce il gruppo di lavoro Peer to Peer Streaming Protocol, che sviluppa la segnalazione ed il controllo per un sistema di streaming peer to peer per contenuti in diretta o registrati, e che prevede oltre alla presenza di dispositivi tracker, anche l'esplicito supporto alla mobilità ed ai dispositivi nattati.
Anche se molto recente, il gruppo ha già al suo attivo diversi draft, tra i quali evidenzio la definizione del problema e la rassegna delle applicazioni note
GoalBit
Una piattaforma Open Source capace di distribuire contenuti live video a chiunque, e che si basa su di una architettura a due livelli di peer e super-nodi. E' molto attiva!