Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Reti di Calcolatori Sistemi e servizi scalabili per la Internet e Social Television Anno Accademico 2013/2014 Candidato: Fabio Festa matr.N46/384 Alla mia famiglia,agli amici,a tutti coloro che mi hanno accompagnato lungo questo percorso così angusto. A mio padre che da lassù spero sia fiero di me. Indice Introduzione ....................................................................................................................................... 4 Capitolo 1: Web TV .......................................................................................................................... 6 1.1 Cos’è la Web TV ........................................................................................................................ 7 1.1.1 I vantaggi della Web TV .................................................................................................... 8 1.2 Modalità di fruizione .................................................................................................................. 9 1.2.1 Modalità on demand ......................................................................................................... 10 1.2.2 Modalità live ..................................................................................................................... 12 1.3 Protocolli per lo streaming ....................................................................................................... 15 1.3.1 Protocollo RTSP ............................................................................................................... 16 1.4 Modalità di distribuzione.......................................................................................................... 20 1.4.1 Multicast ........................................................................................................................... 20 1.4.2 Unicast .............................................................................................................................. 21 1.5 Cosa offre il panorama italiano ................................................................................................ 21 Capitolo 2: P2P TV ......................................................................................................................... 23 2.1 Cos’è la P2P TV ....................................................................................................................... 24 2.2 QoS(Quality of service) nelle P2P TV ..................................................................................... 24 2.3 Protocollo BitTorrent ............................................................................................................... 26 2.4 SopCast ..................................................................................................................................... 29 Conclusioni ...................................................................................................................................... 31 Bibliografia ...................................................................................................................................... 32 Introduzione Per Web TV si intende un normale sito Internet che, oltre ad offrire contenuti composti di testi ed immagini, consente agli utenti connessi la riproduzione di contenuti in formato audio/video che si adattano in modo automatico alla capacità di ricezione di ogni singolo utente connesso. Nell’ultimo decennio il rapido sviluppo di Internet e l’avvento dei social network ha comportato una totale trasformazione del mondo televisivo. In questo nuovo contesto l’utente non si limita più a fruire i contenuti media in maniera passiva ma è coinvolto sempre più attraverso determinati servizi, instaurando un rapporto con il mezzo televisivo meno centralizzato e sempre più individualizzato. La diffusione della banda larga come ADSL e fibra ottica ha portato ad una vera e propria rivoluzione del concetto stesso di televisione: l’utente non sceglie più tra i palinsesti che le emittenti propongono ma costruisce da sé la propria programmazione. Tutti i contenuti potranno essere“manipolati” dal telespettatore nella maniera che ritiene più opportuna: si potrà decidere di stoppare il film (o l'episodio della serie TV) e riprendere la visione quando si avrà voglia o tempo, si potrà andare avanti e indietro liberamente, sino a raggiungere la parte che interessava. Insomma, come accade per un DVD o un disco Blu-ray, sarà l'utente ad avere il pieno controllo sui contenuti da vedere. Con la Web TV è possibile quindi, costruire una vera e 4 propria televisione fruibile via Internet utilizzando semplicemente il computer e dove lo spettatore diventa utente. Naturalmente maggiore è la banda disponibile e migliore è la qualità della ricezione, mentre può esservi un degrado notevole per connessioni di bassa qualità. Il primo capitolo dell’elaborato analizza proprio questo aspetto della Web TV descrivendo le modalità di fruizione e distribuzione e cosa offre attualmente il panorama italiano in termini di servizi per gli utenti,oltre a specificare nei dettagli il suo significato intrinseco. Il secondo capitolo invece tratta un'evoluzione della Web TV,ovvero la P2P TV, che si basa sulla condivisione di video in streaming tramite la tecnologia peer-to-peer,specificando in particolare il funzionamento di una sua applicazione,ovvero SopCast. Negli ultimi anni la P2P TV è diventata un tema molto dibattuto dai ricercatori e sempre più conosciuto anche da milioni di utenti che godono della possibilità di trasmettere canali tv, radio o condividere film e file. Il motivo è che è facile da usare e molto più veloce e robusto rispetto al tradizionale sistema di server-client. 5 Capitolo 1: Web TV L’Autorità per le garanzie nelle comunicazioni (AGCOM) definisce il termine Web Tv come : << la trasmissione di prodotti audiovisivi,ricevuti dagli utenti tramite terminali evoluti (PC,PDA,pocket evoluti,etc.) e fruiti in modalità on-line in modalità streaming o tramite “download” via Internet (“Big Internet” o rete not managed), e quindi con qualità di tipo non garantito o “best effort”. I contenuti erogati possono essere prodotti professionalmente oppure generati direttamente dagli utenti (c.d. User Generated Content) e si possono includere nei servizi Web Tv o Internet TV anche quelli P2P (Peer-to-peer) TV, ovvero quelle applicazioni software che consentono di ridistribuire il segnale video in tempo reale ad un network P2P . I servizi televisivi disponibili tramite la Web Tv sono basati su un modello aperto e fruibili anyway e anytime. La Web Tv è un “personal medium”, in cui la comunicazione si attua attraverso la trasmissione di contenuti audiovisivi, in diretta o on demand, ed in cui l’utente diventa soggetto attivo dell’esperienza fruitiva. La Web TV produce contenuti impiegando un linguaggio multimediale, per un utilizzo interattivo e personalizzato del servizio, considerando l’opportunità che l’utente ha di accedere a link, approfondimenti e news, esplorabili a sua discrezione». 6 1.1 Cos’è la Web TV La definizione fornita dall’AGCOM è a caratteri generali ed include sia la modalità del videostreaming (filmati visualizzabili on demand) che la tv vera e propria sul web (simulcast o palinsesto organizzato). Da un punto di vista strettamente tecnico la Web TV è definita come il servizio di televisione fruita attraverso il Web la cui tecnologia è basata sullo streaming. Grazie alla “rete”, quelle che in genere chiameremo “emittenti”, sono raggiungibili in tutto il mondo senza alcun vincolo tecnologico tradizionale (diffusione del segnale terrestre,copertura satellitare,etc.) con l’unica condizione di avere a disposizione un collegamento della stessa. Da un punto di vista tecnologico si distingue dall'IPTV(Internet Protocol Television) poiché mentre quest'ultima è realizzata con meccanismi di trasmissione che ne certificano la qualità del servizio a favore dell'utente attraverso meccanismi tipici di priorità, la Web TV è realizzata attraverso una comunicazione best-effort con l'utente. La Web TV si presenta come emblema di un modello di broadcasting alternativo, un vero personal medium caratterizzato dalla raggiungibilità globale dei servizi, in cui la comunicazione si realizza attraverso la trasmissione di contenuti audiovisivi, in diretta o on demand, associati alla potenza dell’ipertesto, ed in cui l’utente diventa soggetto attivo dell’esperienza fruitiva. Essa permette la fruizione di contenuti audiovisivi senza la necessità di avere come supporto alcun software specifico, se non quello di un normale visualizzatore di contenuti media come Real, Quick Time, Windows Media. 7 La Web TV può assumere molteplici forme: canali lineari e/o on demand; broadcaster televisivi: portali on demand e simulcast dei canali (podcast, voting e commenti); corporate TV; Net TV (semi-professionale); Web TV amatoriali; Web TV PA(Pubblica Amministrazione). I modelli di business che stanno avanzando nella Web TV tendono verso la gratuità per l’utente finale, in accordo col contesto comunicativo dove i contenuti vengono consumati, in cui le aspettative degli utenti convergono verso una fruizione libera da qualsiasi costo. La Web TV non necessita, infine, l’implementazione di nuove infrastrutture che permettono la fornitura di servizi agli utenti essendo capace di utilizzare le infrastrutture di reti già esistenti, quali reti ADSL, in fibra,wireless,satellitari,etc. 1.1.1 I vantaggi della Web TV Può trasmettere sia in diretta che in modalità on demand; la Web TV consente, sia la visione del palinsesto, sia la possibilità di crearne uno da zero in modo del tutto personalizzato; Multimediale ed integrata con la comunicazione web: i contenuti video “convivono” in modo integrato con tutte le altre forme mediali di comunicazione (Testi, documenti, ...); Forte interazione e comunicazione con il pubblico: la Web TV consente il dialogo bidirezionale con il cittadino attraverso la possibilità di fornire feedback, attivare forum, 8 newsletter, chat on-line, community e rappresenta una grande possibilità di comunicazione, sia con i cittadini che per tutti gli ambiti legati alla pubblicità del territorio. Non ha limiti di natura geografica: la Web TV permette l’internazionalizzazione della comunicazione ed ha un numero di spettatori virtualmente illimitato. Basso costo di produzione e gestione rispetto ai media tradizionali: la Web TV abbatte i costi di produzione e di trasmissione grazie soprattutto alle tecnologie innovative ed all’assenza di costo dell’infrastruttura di base (la rete Internet). 1.2 Modalità di fruizione Spesso vengono confuse le tecnologie con i metodi di diffusione dei contributi. La convinzione più diffusa è quella che per avere una buona visione della Web TV occorre disporre di una connessione a banda larga(meglio con cavo a fibre ottiche): in verità sono le emittenti che devono essere necessariamente essere dotate di larghezza di banda sufficiente per garantire il servizio, poiché più utenti si collegano e più banda è necessaria per la trasmissione. La tecnologia di base della Web TV è lo streaming dove il termine streaming individua un flusso di dati audio/video trasmessi da una sorgente a una o più destinazioni attraverso una rete telematica. Questi dati vengono riprodotti man mano che arrivano a destinazione. L’utente che desidera vedere un filmato della Web TV si collega semplicemente alla piattaforma che eroga tale servizio. Per avere una buona visione è preferibile avere una connessione a banda larga ADSL o meglio con cavo a fibre ottiche dove vengono utilizzati dei sistemi di compressione che hanno lo scopo di ridurre il numero di dati necessari alla visualizzazione dei filmati. I contenuti fruiti possono essere prodotti 9 professionalmente oppure generati direttamente dagli utenti (User Generated Content) e si possono includere nei servizi di Web TV. I servizi televisivi disponibili tramite la Web TV si basano quindi su un modello aperto e fruibili anytime e anywhere. 1.2.1 Modalità on demand La TV on demand è una soluzione client/server il cui trasporto dei dati avviene mediante una rete cablata con protocollo TCP/IP. La topologia della rete è tipicamente una rete centro stella gerarchica con stelle periferiche (anche detta stella estesa) ; tale topologia consente l'ottimizzazione dell'utilizzo della banda per singolo segmento. Una connessione Internet a banda larga è fondamentale per il funzionamento della TV on demand. I contenuti a richiesta, infatti, devono essere scaricati dai server che li ospitano per poter essere fruibili sul televisore di casa, sul computer o sui tablet. Ciò è reso possibile grazie all'utilizzo di reti CDN(Content Delivery Network), che permettono agli utenti di collegarsi, attraverso connessioni a banda larga, al server geograficamente più vicino. Per poter accedere ai servizi della TV on demand, naturalmente, è necessaria una smart TV o un decoder. Sono tre le modalità di trasmissione dei dati dal provider televisivo all’utente: streaming, download streaming e download. Nel primo caso il device dell'utente riceve e, allo stesso tempo, decodifica i dati audio-video del contenuto scelto; i contenuti audio/video sono inizialmente compressi e memorizzati su un server come file. I dati ricevuti vengono decompressi dal codec e riprodotti pochi secondi dopo l'inizio della ricezione. Questo ritardo serve a creare un buffer per rimediare a latenze o microinterruzioni della rete. Nel secondo caso, invece, la decodifica del segnale avviene solamente quando una certa parte del contenuto sarà stata ricevuta; nel terzo e ultimo caso la decodifica avrà inizio solo 10 quando il download del contenuto sarà terminato. Generalmente la trasmissione in streaming avviene utilizzando i protocolli RTP(Real Time Transfer Protocol) e RTSP(Real Time Streaming Protocol) a livello di applicazione mentre a livello di trasporto si utilizza prevalentemente il protocollo UDP(User Datagram Protocol). Per fornire il video on demand è fondamentale che la rete di telecomunicazioni con cui lo si fornisce stabilisca una connessione di tipo punto-punto bidirezionale tra il provider televisivo e l'utente, e che il canale di trasmissione sia a banda sufficientemente larga per trasportare un segnale televisivo con qualità accettabile. Per queste ragioni il video on demand è realizzabile più facilmente sulle reti per telecomunicazioni proprie della televisione via cavo e di Internet che sulle reti per telecomunicazioni proprie della televisione satellitare o terrestre, in virtù delle peculiarità di tali reti. Un esempio di Web TV trasmessa in modalità on demand è la catch-up TV che permette di accedere per un certo periodo di tempo ai programmi televisivi già messi in onda dai broadcaster; quindi la TV on demand non offre solo film in prima visione, serie TV e contenuti extra ma consente di rivedere ad esempio programmi televisivi andati in onda nei giorni precedenti. 11 Figura 1: Trasmissione in modalità on demand 1.2.2 Modalità live Simile alla tradizionale trasmissione radio o video in broadcast. Anche in questo caso i dati sono trasmessi utilizzando opportune compressioni per alleggerire più possibile il carico sulla rete. La compressione di tali contenuti introduce nel flusso un ritardo di circa dieci secondi. A differenza della modalità on demand il tempo assume grande rilevanza in quanto la cooperazione tra peer può avvenire solamente in seguito alla trasmissione dal server o in momenti successivi, ma mai a trasmissione completata. Ogni cliente comunica con gli altri per riuscire ad ottenere il file che ricerca. Il file non può essere memorizzato su hard disk poiché il suo contenuto è a disposizione una sola ed unica volta, ovvero nel momento in cui il video/audio viene trasmesso. Con la possibilità di utilizzare la tecnologia di “streaming” per diffondere un segnale live si è aperta la strada alla diffusione della vera Web TV. 12 Questa tecnologia permette di “inoltrare” un flusso audio/video verso un “mointing point”,cioè un punto predisposto su un server media su cui sono attivi servizi di streaming. Il processo è molto semplice e riassumibile in pochi passi: Il flusso video derivante dalla videocamera (dalla webcam o da un telefonino umts) viene trasmesso attraverso un personal computer, un notebook o un encoder hardware al "mointing point" via internet attraverso una linea adsl, xdsl od anche tramite pennette umts. Il segnale video viene codificato (digitalizzato) prima dell'inoltro dal pc/notebook/encoder/hardware assicurando ritardi di trasmissione minimi, il controllo della qualità, la continuità del flusso video. Il server media di streaming riceve il segnale video codificato e provvede alla sua diffusione ("broadcast") a tutti gli utenti che lo richiedono, garantendo un ritardo minimo (a seconda della linea adsl del "trasmittente" varia dai pochi secondi fino a meno di 1 minuto), la stabilità della connessione indipendentemente dal numero di utenti, la larghezza di banda che sarebbe impossibile disporre presso il luogo di trasmissione (si va da un minimo di 1000 Megabits = 1 Gigabits fino a centinaia di Gigabits). Lo "spettatore" riceve il video semplicemente collegandosi ad un portale web, esclusivamente utilizzando un browser web (Microsoft Explorer, Mozilla Firefox, etc.). Le possibilità di interazioni con la "trasmissione" sono dettate dall' "emittente" che può limitare le funzioni a quelle minime (play e stop), abilitare strumenti di interattività che comprendono la semplice chat in tempo reale fino ad un interazione video totale dell’ utente che attraverso una semplice webcam può essere "catapultato" nella trasmissione video e prenderne parte. 13 Utilizzando infine una tecnologia basata su interfaccia SOAP ed API si stanno realizzando applicazioni di regia che risiedono sul server media che fa l'encoding: questo consente di effettuare tutte le operazioni di regia da un'altro luogo (anche in un altro continente) senza ulteriori costi e con la possibilità di mandare in onda segnali video derivanti da più fonti, cioè trasmesse da luoghi diversi o dal medesimo luogo ma con inquadrature diverse. Figura 2: Trasmissione in modalità live 14 1.3 Protocolli per lo streaming In questo paragrafo sono introdotti alcuni protocolli che si stanno proponendo come standard nella distribuzione di contenuti multimediali attraverso la tecnologia di streaming; in particolare verrà analizzato nel dettaglio RTSP. Nella trasmissione di dati attraverso la rete si deve considerare che molti protocolli concorrono a realizzare tale servizio e in particolare la gestione della sessione è uno dei fattori di maggior rilevanza nell’architettura di comunicazione multimediale. Si tratta infatti, della parte fondamentale per scindere il controllo, di cui si ha bisogno durante il trasporto, dal trasporto stesso. Lo streaming audio/video necessita di vari protocolli per effettuare l’inizializzazione e il trasporto dei dati multimediali. Quelli più importanti sono: • RTSP (Real Time Streaming Protocol) protocollo di controllo per la consegna dei dati. • RTP (Real Time Transport Protocol) protocollo di trasporto dei dati e RTCP (Real Time Control Protocol) protocollo pensato per lavorare in collaborazione con RTP e che effettua un ritorno sulla qualità della distribuzione. • RSVP (Resource Reservation Protocol) è un protocollo di controllo della rete che permette di riservare le risorse che vengono utilizzate per il trasporto dei dati. • SDP (Session Description Protocol) descrizione della sessione. Generalmente si aggiunge a questi protocolli SIP (Session Initial Protocol) che è un protocollo per la creazione e la gestione delle conferenze multimediali. 15 Figura 3: Protocolli per lo streaming 1.3.1 Protocollo RTSP Il protocollo RTSP è un protocollo di livello applicativo per il controllo della consegna di singoli o molteplici flussi di dati multimediali. Il suo obbiettivo non è quello di consegnare i flussi di dati ma è stato sviluppato con lo scopo di fornire un insieme di comandi ad hoc per il controllo ed alla distribuzione di risorse multimediali attraverso la rete. I dati in questione possono essere sia semplici files audio/video oppure presentazioni, caratterizzate da uno o più files differenti. I campi di applicazione potenziali sono moltissimi: Video on Demand, trasmissione di eventi Live, distribuzione di presentazioni 16 multimediali, stazioni radio su internet o su Lan dedicate. Il compito principale di RTSP è quello di regolare il trasporto delle informazioni e non quello di effettuare il trasporto delle informazioni stesse che viene realizzato invece da altri protocolli, come ad esempio RTP. La tipologia di trasporto scelto per l’invio dei dati non influisce comunque l’esito delle operazioni possibili con RTSP. Il protocollo di RTSP è testuale e si basa sullo scambio di messaggi tra server e client; la sintassi è intenzionalmente simile a quella di HTTP in modo tale da fornire a RTSP gli stessi meccanismi di estensione di HTTP ma con le seguenti differenze: Un server RTSP ha la necessità di conservare delle informazioni di stato, in contrapposizione al funzionamento di HTTP che invece ne è privo. HTTP è definito stateless perché il server non ha la necessità di salvare lo stato della connessione con un determinato client. Ad ogni modo per avere informazioni di sessione viene utilizzata la tecnica dei cookie. Nel caso di RTSP utilizzando i protocolli TCP e UDP il server deve essere capace di mantenere lo stato di sessione per consentire la corretta esecuzione della richiesta effettuata da parte di un client. I dati sono portati fuori banda da un protocollo differente. HTTP è un protocollo asimmetrico e in-band. Il client effettua una richiesta al server ovvero attraverso il browser esegue una richiesta di una pagina web e il server risponde a tale richiesta restituendo la pagina se questa si trova nel server, altrimenti una pagina di errore (Error 404 – Page Not Found). Al contrario RTSP è un protocollo out-of-band poiché una parte del contenuto informativo come i dati dello streaming è contenuto nell’in-band stream, mentre il 17 contenuto informativo riguardante i messaggi di controllo, che non fanno parte del contenuto principale, viene definito out-of-band. RTSP per definizione utilizza lo standard ISO 10646 (UTF - 8) piuttosto che ISO 8859 - 1 (HTML). L’URL di richiesta è sempre definita in maniera assoluta e non relativa rispetto ad un percorso o all'indirizzo del server. Le operazioni supportate dal protocollo sono: Describe: il client usa questo metodo per avere una descrizione completa della risorsa, identificata tramite l’URL nella richiesta. In genere il client richiede un describe per poter inizializzare il playback di una sessione. Announce: il client usa questo metodo quando vuole registrare sul server una nuova sessione, per informarlo di tutti i dettagli riguardanti la sessione, necessari per eseguire con esito positivo la registrazione. Il server usa questo metodo quando vuole aggiornare in tempo reale la descrizione della sessione. Setup: il client, dopo aver ottenuto la descrizione di una sessione tramite un describe, oppure averla inviata al server con un announce, deve inviare una richiesta di setup per ogni media stream compreso nella sessione di cui vuole fare il playback o il recording. Get Parameter: questo metodo può essere usato per chiedere informazioni sul valore di parametri del server o del client. Set Parameter: questo metodo può essere usato per assegnare dei valori ad opportuni parametri che si riferiscono ad una sessione oppure ad un singolo media stream. 18 Redirect: questo metodo informa il client che deve connettersi ad un altro server. Options: il server implementa questo metodo per rispondere ad un client che voglia sapere quali metodi può supportare. Il server risponde inserendo un header con l’elenco di tutti i metodi che possono essere supportati. Pause: il client usa questo messaggio per chiedere al server una pausa nella riproduzione o nella registrazione della sessione. Play: il client invia una richiesta di questo genere quando vuole che il server inizi ad inviare i flussi multimediali, rispettando le specifiche di inizializzazione impostate nella fase di setup. Se la sessione è di tipo aggregato, il client deve inviare un solo play per richiedere la trasmissione di tutti i media stream che la compongono. Se la sessione è di tipo non aggregato, il client deve invece inviare un messaggio di play per ogni media stream che la compone. Record: il client usa questo messaggio per chiedere al server di iniziare a registrare i media stream della sessione appena inizializzata tramite la fase di setup. Teardown: questo messaggio è utilizzato dal client per chiedere la chiusura di una sessione: se la sessione è aggregata basta un solo messaggio di questo tipo; altrimenti il client deve chiedere il teardown per ogni media stream. Inoltre il server chiude la sessione e si disconnette dal client. 19 Figura 4: Automa del server e del client nel protocollo RTSP 1.4 Modalità di distribuzione 1.4.1 Multicast Un singolo stream viene condiviso dai client .Ogni client si collega ad un gruppo di multicast e riceve lo stream nello stesso modo in cui una radio si sintonizza per ricevere una normale trasmissione radio. Questa tecnica riduce la congestione di rete perché il server invia una sola copia dello stream attraverso la rete e le copie vengono create solo dove i collegamenti ai client si dividono. Questa tecnica non è molto diffusa per la distribuzione dei dati multimediali attraverso Internet, mentre viene utilizzata spesso per le reti locali. 20 1.4.2 Unicast Ogni client richiede e riceve uno specifico stream generando molte connessioni punto a punto tra il server e i client. Molti client connessi in questo modo in una rete locale possono generare un intenso traffico di rete, ma questa tecnica rimane comunque la più utilizzata per la consegna di dati attraverso Internet. Figura 5: Modalità Multicast e Modalità Unicast 1.5 Cosa offre il panorama italiano A dimostrare come il mercato della TV on demand italiano abbia raggiunto la sua piena maturità è il fatto che molti operatori stiano rimodellando la loro offerta, per renderla sempre più adatta ad un pubblico più esigente e cosciente delle possibilità del mezzo. Sono due i servizi di TV on demand legati alla piattaforma satellitare di Rupert Murdoch. Sky on demand mette a disposizione degli abbonati un database di oltre 2.500 titoli tra film, serie TV e spettacoli di vario genere. MySky, invece, permette di “interagire” direttamente con i 21 canali della piattaforma satellitare: si potrà decidere di interrompere uno spettacolo e riprendere la visione quando lo si vorrà, si potrà tornare indietro e rivedere il gol appena segnato oppure registrare il programma sul disco rigido del decoder e vederlo in un secondo momento. Tra i punti di forza troviamo la funzione Restart, che permette di far ripartire dall'inizio un film in cui ci si imbatte casualmente nel corso dello zapping televisivo. La risposta di Mediaset arriva sul digitale terrestre con il servizio Mediaset Premium Play. I contenuti dei due servizi di TV on demand si equivalgono ma il decoder Premium registra il 90% circa delle trasmissioni così da renderle disponibili in qualsiasi momento. Cubovision,Infinity TV,Chili TV,ITunes, rappresentano le alternative più emergenti ai due colossi precedentemente citati. In particolare con Chili TV gli utenti possono accedere da una grande varietà di dispositivi: possono, ad esempio, installare un'app sul loro smart oppure su tablet e smartphone iOS e Android. Chili TV è accessibile anche attraverso computer e smartkey TV Android. 22 Capitolo 2: P2P TV 2.1 Cos’è la P2P TV Il termine P2P TV indica una generica tecnologia peer-to-peer sviluppata per trasmettere flussi video (tipicamente canali televisivi); in particolare si riferisce ad applicazioni software che permettono di ridistribuire il segnale video in tempo “reale” ad un network peer to peer. La peculiarità di questa tecnologia è che basandosi sull'utilizzo di reti peer-to-peer non servono necessariamente server di elevate capacità per trasmettere i flussi video dato che i suddetti flussi vengono ritrasmessi dagli stessi utilizzatori della rete secondo il paradigma del peer-to-peer. Il server trasmette il flusso video a un certo numero di utenti (peer); questi a loro volta ritrasmettono il flusso video ad altri utenti (peer) generando una rete che può raggiungere anche milioni di utilizzatori. Il programma installato dall'utente si occupa di rintracciare e scaricare, tra gli altri utenti, i pezzi che mancano e di inviare quelli in proprio possesso ad altri. Il video viene ovviamente riprodotto con alcuni secondi di ritardo per permettere al numero maggiore possibile di peer di scaricare tutti i pezzi del filmato. Alcune delle più diffuse applicazioni di P2PTV sono SopCast, CoolStreaming, PPStream, PeerCast, LiveStation; in particolare verrà analizzata nel dettaglio l’applicazione SopCast. 23 2.2 Qos(Quality of service) nelle P2P TV Da quanto esposto il tempo e i problemi relativi al ritardo che questo introduce hanno una primaria importanza se si vuole garantire una QoS di buon livello. Estendendo il discorso ai sistemi p2p progettati per il live streaming è evidente che per questi tipi di architetture lo scopo principale è quello di aumentare il numero di peer che si connettono alla rete per utilizzare un certo servizio. Quindi una prima considerazione importante da fare è che il sistema ha l’esigenza di supportare un elevato numero di peer e ciò è evidenziato dal fatto che i programmi per lo streaming offrono servizi a migliaia e talvolta milioni di utenti dando massima importanza alla garanzia di una buona QoS a tutti i nodi connessi alla rete. Un secondo aspetto di rilievo è che qualora il sistema non fosse in grado di assicurare una sufficiente qualità del servizio gli utenti insoddisfatti hanno la facoltà di poter lasciare la rete. Tale fenomeno, caratterizzato dal comportamento dinamico degli utenti che accedono alla rete e/o la abbandonano, è noto col nome di Node Churn e contribuisce anch’esso al cambiamento dello stato della rete. Un altro importante aspetto riguardante il QoS di un sistema p2p live streaming è il tempo di start necessario al canale (Channel Startup Time), ovvero il tempo necessario al player video per iniziare la visualizzazione dei contenuti multimediali presenti sul buffer in memoria. In pratica si intende il ritardo complessivo che intercorre tra la rete p2p e i peer ad essa connessi. Il valore di tale ritardo può dipendere dalle condizioni differenti di network, dalle dinamiche degli algoritmi di connessione dei peer e dal fatto che la maggior parte degli utenti non ha un indirizzo IP diretto, bensì celato da un router NAT16 o un firewall. Un ulteriore aspetto riguardante il QoS è la qualità dello 24 stream video: il sistema p2p per rendere disponibile lo stream di un video, consente il download dei blocchi di stream ai vari peer ad esso relativi. La qualità dello stream video è misurata come il rapporto tra il numero dei blocchi a disposizione del client e il numero dei blocchi necessari per una perfetta codifica del video. L’ultima considerare da effettuare fa riferimento alla correzione degli errori. A causa della non prevedibile congestione del traffico Internet, nel flusso dei pacchetti, una frazione dei pacchetti stessi potrebbe essere persa. Se questa frazione diventa eccessivamente grande, la qualità audio/video che l’utente percepisce diventa insufficiente. Per questo motivo, molti sistemi di streaming cercano di recuperare queste perdite sia ricostruendo i pacchetti persi attraverso una ritrasmissione degli stessi (trasmissione ridondante), sia attraverso una richiesta di trasmissione esplicita da parte del nodo client, oppure nascondendo le perdite con l’interpolazione dei dati mancanti con quelli ricevuti. 25 Figura 6: Grafico relativo al rapporto fra blocchi ricevuti e blocchi necessari 2.3 Protocollo BitTorrent BitTorrent è uno dei più popolari protocolli P2P di file swarming specializzato nella distribuzione e condivisione di file nella rete. A differenza dei tradizionali sistemi di file sharing, lo scopo di BitTorrent è di produrre e fornire un sistema efficiente per distribuire lo stesso file verso il maggior numero di utenti disponibili, i quali possono sia scaricarlo (download), che inviarlo (upload). BitTorrent impone un meccanismo di coordinamento del lavoro di numerosi computer, ottenendo il massimo profitto possibile per tutti. Grazie a questo sistema, ogni nodo da il proprio contributo alla diffusione del file. Maggiore è 26 l'ampiezza di banda in uscita su quel nodo, maggiori sono le probabilità che il file venga diffuso verso altri nodi. Questo metodo ha anche il pregio di diminuire l'impatto della cosiddetta "leech resistance". Le principali entità in gioco sono fondamentalmente cinque: I Peers (Leech): Sono gli utenti che stanno scaricando un file ma non lo hanno scaricato completamente; i peers condividono i frammenti di quel file che in quel momento hanno in loro possesso. I Seed: Sono gli utenti che hanno diffuso il file originale o che sono riusciti a scaricarlo completamente; i seed sono fondamentali poiché solo loro possono fornire informazioni su tutti i frammenti che compongono quel file e ovviamente solo loro hanno tutti i frammenti. Il Tracker: Il tracker infatti gestisce le richieste degli utenti che stanno cercando di scaricare dei file e fornisce informazioni su chi ha i frammenti che servono, Il Tracker non contiene i file che vengono condivisi e i file non transitano attraverso di lui. I file .torrent: Sono dei piccoli file con estensione .torrent che non contengono il file da scaricare ma solamente delle informazioni su di esso, come ad esempio il nome del file, la sua dimensione, tutti i frammenti nel quale è stato diviso il file originale (in sostanza l’hash di ciascun blocco in cui il file è stato suddiviso) oppure l’indirizzo del Tracker da contattare identificandolo mediante URI (Uniform Resource Identifier). Client BitTorrent: è un programma installato nel pc dell’utente che permette di scaricare i file utilizzando il protocollo BitTorrent. Per iniziare il download di un file questo programma ha bisogno del suo file .torrent. 27 Figura 7: Comunicazione nel protocollo BitTorrent Quando i peer vogliono scaricare un file, devono prima di tutto avere il corrispondente file .torrent; da quest’ultimo ottengono l’URI del tracker e lo contattano. Il tracker risponde alle richieste dei peer e provvede a fornire l’indirizzo IP degli altri peer compresa la sorgente dei dati. Dopodiché il peer si connette agli altri peer mettendo a disposizione i proprio chunk a disposizione e infine scarica dagli altri peer le parti mancanti del file che desidera ottenere. I peer hanno la necessità di decodificare il codice hash quando scaricano un chunk e lo confrontano con il file .torrent per verificare se hanno scaricato il chunk corretto. Un aspetto da considerare è che molti peer usano le risorse di rete ma subito dopo aver completato il download del file la lasciano, non permettendo più agli altri leech di ottenere le parti mancanti dal peer che abbandona. Il principio di Equità (Fairness) di BitTorrent è garantito dal criterio di tit-for-tat secondo il quale un peer può partecipare 28 attivamente al sistema solo se disposto a condividere il proprio contenuto con gli altri peer della rete, possibilmente in modo equo. Tale criterio è realizzato dal meccanismo “interest /chock /unchock”. Ogni peer ha il compito di aggiornare la propria velocità di download: i peer cercano di scaricare dal maggiore numero possibile di peer, e forniscono dati ad i peer che garantiscono un’alta velocità di download mentre gli altri vengono scartati. Ciò significa che un peer fornisce servizi solo a peer che forniscono risorse ad esso. C'è un altro meccanismo chiamato optimistic unchoking dove ogni peer BitTorrent ha un elenco di peer preferiti ai quali fornire risorse. In optimistic unchoking un peer prende un altro peer che non sia nella lista dei suoi preferiti e lo aggiunge ad essa. Se questo nuovo nodo possiede maggiore velocità di upload rispetto ad uno appartenente alla lista, allora esso andrà a sostituire nella lista un nodo a minore velocità di upload. 2.4 SopCast SopCast è un classico esempio di sistema P2PTV proprietario: è un sistema di trasmissione live streaming basato sulla tecnologia P2P ed è una delle applicazioni P2PTV più usate. SopCast è stato sviluppato da un gruppo di studenti della Fudan University in Cina. Gli utenti possono utilizzarlo per guardare la TV via Internet o per trasmettere un proprio contenuto audio/video. Ciò comporta che un utente finale è autorizzato a costruire il suo sistema di trasmissione in diretta. Approssimativamente, con l’applicazione SopCast un PC può supportare fino a 10.000 peer simultaneamente. SoP è l'abbreviazione di "Streaming over P2P". Dal momento che SopCast è un sistema proprietario, non vi è alcun codice 29 sorgente a disposizione, per cui è importante comprendere le dinamiche di rete e la le modalità di distribuzione del traffico della rete SopCast, che attualmente mette a disposizione gratuitamente tutti i suoi servizi. I video nel sistema SopCast sono codificati in due formati differenti: Windows Media Video (WMV) e Real Video (RMVB). Per eseguire SopCast con esito positivo si dovrebbe avere disponibili almeno 512Kbps di larghezza di banda e si raccomanda 1Mbps per la connessione internet. La qualità video dei canali dipende dal numero di utenti che sono sintonizzati. L'architettura di molte reti P2PTV può essere considerata come versioni real-time di BitTorrent: se un utente vuole guardare un dato canale, il software P2PTV contatta il server tracker per quel canale al fine di ottenere gli indirizzi dei peer che distribuiscono il contenuto video. Sarà poi compito del tracker quello di mettersi in contatto con questi peer per effettuare il download delle parti del video; infatti registra l'indirizzo dell'utente in modo che possa essere agganciato ad altri utenti che desiderano visualizzare lo stesso canale. 30 Conclusioni L’elaborato è incentrato sui sistemi scalabili principali che regolano il funzionamento della Web TV ed i servizi che essa offre all’utente finale. Nella prima parte dell’elaborato si è introdotto il significato dal punto di vista tecnico della Web TV, i vantaggi che ne conseguono dal suo utilizzo e le due modalità principali di fruizione,ovvero lo streaming live e lo streaming on demand. Dopo aver fatto una breve panoramica sui tipi di protocolli utilizzati nello streaming,viene analizzato in particolar modo il protocollo RTSP evidenziando le differenze che sussistono nello scambio messaggi tra client e server rispetto al protocollo HTTP. Infine viene fatta una breve disamina sulle modalità di distribuzione della Web TV,unicast e multicast, ed un’analisi dei principali servizi offerti dalla Web TV in Italia. Nella seconda parte dell’elaborato invece è stata trattata nello specifico un’evoluzione della Web TV,cioè la P2P TV. In particolar modo è stata analizzata la Qos(Quality of Service) della P2P TV ed il meccanismo di funzionamento del principale protocollo P2P,ovvero BitTorrent. Infine è stata brevemente esposta un’applicazione P2P TV,ovvero SopCast. 31 Bibliografia [1] Luca Tomassini, [email protected] televisione alla retevisione, Franco Angeli,2011. [2] James F.Kurose,Keith W.Ross,Reti di Calcolatori e internet. Un approccio topdown, Pearson, 2013. [3] Agcom, Libro bianco su media e minori,2013. [4] Andrew S. Tanenbaum, David J. Weitherall, Reti di Calcolatori,Pearson,2013. [5] www.fastweb.it [6] http://www.telesystem-world.com [7] www.fondazionerosselli.it [8] www.quovando.it 32
© Copyright 2024 Paperzz