Lo streaming multimediale è un’opzione alternativa alla visualizzazione di programmi TV e altri contenuti video attraverso i servizi tradizionali come i canali terrestri, via cavo e via satellite.
Lo streaming multimediale utilizzando le tecnologie P2P - Introduzione
La prima architettura fu sviluppata su una architettura client-server, in cui lo spettatore decodifica il flusso di un programma da un server video.
Tuttavia, l'aumento del numero di spettatori con il crescente numero di altre applicazioni online ha reso questa architettura inefficace a causa di problemi legati alle limitazioni della larghezza di banda. Una soluzione intelligente introdotta per risolvere questo problema è la tecnologia peer to peer (P2P), in cui automaticamente dei peer (pari) trasmettono flussi ad altri peer. La rete P2P a cui si agganciano esegue un algoritmo che permette ai peer di trovare un relè per un determinato flusso a cui connettersi. Nell’implementare una rete multimediale di streaming, i parametri da prendere in considerazione sono il tempo di riproduzione e l'utilizzo della larghezza di banda della rete.
Varie topologie di streaming multimediale
La figura qui sotto mostra le diverse topologie usate nelle reti di streaming multimediale dalla topologia centralizzata client-server ai sistemi decentrati, che comprende multicast IP e soluzioni di P2P. Una rete client-server è costituita da un server centrale e da client dove ciascuno ha una connessione al server. Non esiste un meccanismo per garantire la distribuzione dei contenuti e diventa impraticabile non appena il numero di client collegati aumenta. Il multicast IP è un accessorio alla topologia client-server in cui lo stesso flusso multimediale viene inviato a un gruppo di client a ridurre il carico di rete. E’ l'ideale per le reti LAN private, ma potrebbe non essere più pratico in LAN multiple o reti pubbliche a causa di problemi legati alla sicurezza e al firewall. Nei sistemi P2P la rete può consistere in diversi server video e il contenuto viene inviato non solo dal server ai client, ma anche tra i client (peer). Il P2P può essere ulteriormente suddiviso in rete mesh, ad albero e ibridi.
Reti mesh
Ogni peer può accettare dati provenienti da più nodi-genitore, nonché fornire servizi a più nodi-figlio (sia il genitore sia il figlio sono termini relativi in sostituzione del rapporto schiavo-padrone). I vantaggi di questa soluzione sono: elevato utilizzo delle risorse e veloce scoperta di nuovi peer in un’unica rete a causa del passaparola. Gli svantaggi sono: la qualità del servizio che non può essere garantita a causa del passaparola tra peer e un grande spazio del buffer necessario per ridurre l'impatto di autonomia dei peer (in un ambiente dinamico). Esempi di applicazioni sono: Coolstreaming, Promise e GNUStream.
Reti ad albero
Ogni peer comunica con un solo nodo-genitore (per sovrapposizione) e fornisce servizi ad un numero di nodi-figli in modo che sia sempre mantenuta una topologia ad "albero" (in una sovrapposizione). I vantaggi di questa soluzione sono che l’estrema assomiglia alle idee originali del multicast IP e un basso overhead di gestione. Gli svantaggi sono: alta vulnerabilità alle perturbazioni in ambienti dinamici e un basso utilizzo delle risorse. Tra gli esempi di applicazioni possiamo citare ALMI, Nizza e ZigZag (protocollo ad albero singolo) e SplitStream, Bullet e MDC (protocollo ad albero multiplo).
Soluzioni P2P disponibili
Sono state sviluppate diverse tecniche P2P per risolvere i problemi sulla limitazione della larghezza di banda di solito sperimentata con reti client-server e streaming IP multicast. La tecnica di base di peercasting funziona se ha peer che automaticamente trasmettono flussi ad altri peer. Tuttavia, è stato dimostrato un degrado della qualità del servizio quando i peer si scollegano richiedendo ad altri peer di passare a relè diversi. Una buona soluzione è lo sciame di minuti in cui un flusso live è suddiviso in file che allungano i minuti che vengono poi messi a disposizione tramite l'applicazione P2P come per BitTorrent. Lo svantaggio è un eccessivo sovraccarico nel procedimento e nella larghezza di banda a causa della necessità di formare nuovo sciami ogni minuto. Un'altra soluzione consiste nel far confluire un flusso live in sottoflussi multipli. Sono stati necessari nel ricevitore al fine di ricostruire il flusso originale un’ulteriore correzione degli errori e tecniche sui tempi.
Altre soluzioni sviluppate si basavano su architetture di reti sovrapposte. Queste tecniche si concentrano sui seguenti temi: ritardo nell’avvio, ritardo sorgente-estremo e continuità della riproduzione. Questi parametri sono molto importanti per l'utente perché grandi ritardi nell’avvio esaurirebbero la pazienza dell’utente e le interruzioni dello streaming rovinerebbero l'esperienza visiva. La figura qui sotto mostra un esempio di intra-ottimizzazione con due sovrapposizioni logiche dello streaming. I peer A, B, C e D raggiungono il flusso proveniente da S1 e i peer E, F, G, H e K raggiungono il flusso proveniente da S2. Il numero su ogni edge dei collegamenti rappresenta il costo del collegamento tra due nodi.
Attenzione: questi sono valori relativi e sono stati utilizzati al solo fine di confrontare i costi di collegamento. Guardando al peer D, il costo di S1 al collegamento D è di 8, mentre quello per il percorso S1-S2 a D (intraottimizzato) è soltanto di 4. Si può ottenere un’efficienza dei costi, ma l'utilizzo delle risorse degli approcci tradizionali come questo tipo è relativamente basso.
Un'altra tecnica di sovrapposizione è lo schema basato sull’inter-ottimizzazione, in cui le risorse possono raggiungere più sovrapposizioni contemporaneamente. Gli obiettivi sono: (1) migliorare l'utilizzo delle risorse globali di una rete live di streaming e distribuire il traffico a tutti i collegamenti fisici in modo uniforme; (2) assegnare le risorse sulla base alle zone e i ritardi dei peer; (3) garantire la qualità del collegamento usando i peer più vicini, anche se appartenenti a sovrapposizioni diverse, e (4) bilanciare il carico tra i membri del gruppo. La figura seguente mostra lo schema basato sull’inter-ottimizzazione.
Conclusione
Abbiamo esaminato in questo articolo diverse soluzioni di streaming P2P multimediali e discusso dati importanti, come ad esempio il ritardo nell’avvio, il ritardo sorgente-estremo, la continuità di riproduzione, che sono vitali per un’esperienza visiva soddisfacente. La soluzione di base del peercasting ha risolto i problemi delle strozzature della rete, ma è diventata insufficiente a causa di problemi portati dalla connessione e disconnessione a random dei client della rete P2P. Nuove tecniche sono state sviluppate per risolvere questi problemi, come lo sciame dei minuti, la rimozione dei flussi multipli, l’intra- e inter-ottimizzazione. Non esiste una soluzione perfetta e definitiva, perché il numero di telespettatori continuerà a crescere e a chiedere per le applicazioni requisiti più sofisticati. Quindi aspettiamoci lo sviluppo di altre tecniche in futuro, con l'evoluzione delle tecnologie di lavorazione e l’ottimizzazione della rete.
Leggete la versione inglese: Lo streaming multimediale utilizzando le tecnologie P2P
——
Ionela
L’Elettronica Open Source