Elaborato Festa Fabio N46000384

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