Architetture per la Distribuzione di Video su Internet

Transcript

Architetture per la Distribuzione di Video su Internet
Università degli Studi di Modena e Reggio Emilia
Dipartimento di Ingegneria dell’Informazione
Architetture per la
Distribuzione
di Video su Internet
Maria Luisa Merani
1
INDICE
Le soluzioni perseguibili
Per ciascuna, vantaggi e punti deboli
Architettura Client-Server tradizionale
Content Delivery Networks
IP Multicast
Peer-to-Peer (P2P)
Soluzioni maggiormente
gg
p
popolari
p
Caratteristiche salienti
Valutazioni sperimentali su diversi prototipi
– StreamerOne
– iGridMedia
Problemi aperti
2
A hit tt
Architettura
Client-Server
Cli t S
Vantaggi
Soluzione
S
l i
centralizzata,
t li
t ffacilmente
il
t
controllabile
Svantaggi
Le risorse
L
i
d
dell server rappresentano
t
il collo
ll di
bottiglia
– in termini di banda
R = streaming rate
Bserver = R X N
– … ma anche di
» risorse computazionali
» numero di connessioni
simultaneamente attive che è
possibile supportare
Se poi è la medesima informazione ad essere
distribuita simultaneamente a ciascun utente,
ulteriore inefficienza
3
Quali le p
possibili soluzioni?
4
C t t Di
Content
Distribution
t ib ti Network
N t
k
Fenomeno relativamente recente
Akamai fondata nel 1998
Server del
content
t t provider
id
Rete di server distribuiti a livello mondiale
sull’intera Internet
Piattaforma preposta alla distribuzione di contenuti
con ritardi minimi
Nodo di distribuzione
CDN
Alloggiati negli hosting center
La CDN replica il contenuto fornitole dai
clienti (i content provider) nei CDN server
Aggiornamento del contenuto da parte del content
provider immediatamente riflessi nei server della
p
CDN
La CDN fornisce all’utente un meccanismo per
CDN server …
recuperare il contenuto dal server che può fornirlo
il
più rapidamente possibile
CDN server Asia
CDN server Europa
Il server CDN più vicino
– spesso
Il server collegato all’utente via un percorso
congestion free
congestion-free
5
Q l è il CDN server più
Qual
iù adeguato?
d
t ?
La CDN company ridireziona la richiesta verso uno dei possibili
server basandosi sulla conoscenza
delle Internet routing table
dell’ISP dell’utente richiedente il contenuto (la destinazione)
dell’RTT tra q
quell’ISP e i diversi CDN server
Periodicamente attua e memorizza stime di RTT per un numero elevato di ISP
Obiettivo: individuazione – attraverso una stima - di quale CDN server
garantisce il tempo di risposta più basso
6
E l’utente
l’ t t finale?
fi l ?
Q. Come viene forzato a scaricare il contenuto desiderato da uno
specifico CDN server ?
R. Attraverso un meccanismo di ridirezione basato sul DNS
Vediamolo:
1. Operazione preliminare: modifica dei tag da parte del content provider
Da http://www.content.com/leisure/hawaii.gif a
http://www.cdn_company.com/www.content.com/leisure/hawaii.gif
2. Richiesta dell’oggetto base HTML da parte dell’utente al content provider
3. Replica dell’origin server/content provider con indicazione sul nuovo riferimento
4. Interrogazione da parte dell’utente al DNS per risolvere l’indirizzo simbolico e
5. Replica da parte di un authoritative server
1. fornisce l’IP del CDN server opportuno
(es. il più vicino all’IP address dell’utente che ha inviato la DNS query)
7
G fi
Graficamente
t
HTTP request
per il base object
Server del
content provider
d
1
DNS query per
www.cdn_company.com
2
DNS authoritative
server della CDN
company
HTTP request
per l’oggetto distribuito via CDN
3
CDN server
(più vicino all’utente)
8
IP Multicast
M lti
t
Inviare il medesimo p
pacchetto contemporaneamente
p
ap
più destinazioni
con un multicast a livello 3, anziché aprire tante connessioni unicast
quanti sono i client che richiedono il flusso video rappresenterebbe la
soluzione più naturale
9
IP Multicast
M lti
t
Efficiente
10
S
Svantaggi
t
i
IP Multicast non ha trovato ampia diffusione
Impiegato in alcune reti private, ma non sulla Public Internet
Complessità
Richiede una per
per-flow
flow information nei router attraversati dai flussi
multicast
Viola il principio stateless dei router attuali!
Assenza di scalabilità
A
l bili à
Controllo di flusso e di congestione – a livello trasporto - su flussi
multicast sono problematici
p
11
P2P
Ratio:
1. Perchè non spostare il multicast a livello applicazione? Inoltre …
2. ci sono tante risorse inutilizzate in rete e potenzialmente utili
Banda
B
d
Capacità di processing
Memoria
Perché non impiegarle per contribuire alla distribuzione di uno o più
contenuti di interesse per una certa community di utenti?
Collaborazione fattiva degli utenti nella distribuzione video
P2P overlay
Bvideo _ server + ∑ bupload = N × R
12
P2P
Nelle soluzioni P2P per il video streaming il flusso viene suddiviso in chunk
Tipicamente un chunk contiene alcuni secondi di video
I peer della overlay mettono a disposizione la propria banda di upload per passare ad
peer i video chunk che g
già p
possiedono
altri p
Sollecitazione sul video server fortemente ridotta ☺
Richieste infrastrutturali minimali ☺
P2P è già ampiamente diffuso nelle applicazioni di file sharing
Specificità rispetto a queste ultime
Vincolo del real-time (near real-time)
Es. IP-TV ed evento sportivo
Richiesta in banda può essere significativa
Ergo, la QoE garantita deve prevedere
Ritardi ((nel p
play-out,
y
, dopo
p lo “zapping”)
pp g ) modesti
Visione soddisfacente
13
Cl
Classificazione
ifi
i
Possibile distinzione dei sistemi P2P per lo streaming
Tree-based
Mesh-based
Tree-based
Albero a livello applicazione, ma connessioni unicast a livello IP!
Criteri per la formazione dell’albero
14
Quali gli svantaggi?
15
T
Tree-based:
b
d svantaggi
t
i
Approccio concettualmente semplice
semplice, ma
Prono a malfunzionamenti
1. Partenza di un peer che non occupa la posizione di foglia nell’albero
Inefficiente nell’impiego delle risorse (banda) condivise
1. La banda in upload dei peer foglia è completamente inutilizzata
Soluzione: overlay multi-tree
Vincolo: peer foglia in un albero NON sono tali negli altri alberi
Esempio con due sottoflussi
16
S l i
Soluzione
Multi
M lti Albero
Alb
Su ogni albero il video server provvede a diffondere un sottoflusso
Un peer esegue il “join” su più alberi
Lettura semplice: ogni peer deve recuperare tutti i sottoflussi originari
Alternative più sofisticate
– MDC Multiple Description Coding
– FGS Codifica video scalabile
Es. (un albero sufficientemente ridondato) convoglia il base layer, gli altri
distribuiscono gli enhancement layer
17
S l i
Soluzione
mesh-based
hb
d
Denominata anche pull
pull-based
based
È il peer interessato al contenuto che ne esegue il “PULL” dal parent
Nessuna topologia predefinita
Ciascun peer mantiene una lista di partners con cui periodicamente
scambia informazioni sui chunk video disponibili
I chunk desiderati (mancanti) vengono richiesti al peer che li ha in
precedenza pubblicizzati
Partnership
p aggiornate
gg
dinamicamente a frequenza
q
adeguata
g
così da g
garantire
– Robustezza (i peer nascono e muoiono nella overlay, dinamicamente)
– Efficienza nel processo di diffusione
» Es. sostituzione dei peer meno performanti
18
S l i
Soluzione
mesh-based
hb
d
Analogia con P2P per il file sharing (BitTorrent)
MA differenza significativa
I chunk video devono essere consegnati rispettando una deadline temporale
ERGO
scheduling significativamente diverso rispetto al P2P per il file sharing
Q. Quale soluzione è la migliore?
Push-based: confina i ritardi, ma il costo per mantenere alberi stabili e robusti è
elevato
l
t
complessità nella fase di design e di management (segnalazione)
Pull-based: semplice da implementare e mantenere, efficiente, poiché il processo di
diffusione dei dati non è vincolato a seguire specifiche direzioni
direzioni, robusto a
dinamiche veloci nell’ingresso/uscita dei peer dal sistema
Impiegato nella maggior parte dei prototipi e dei sistemi commerciali
Può esibire ritardi considerevoli in fase di start
start-up
up e nel cambio di canale
19
Ult i
Ulteriore
soluzione
l i
Albero e mesh presuppongono una topologia non gerarchica
Alternativa: peer organizzati in “tier”, o livelli
Tier di primo livello o backbone: peer più stabili, con sufficiente banda in
upload organizzati ad albero
Tier di secondo livello: raccoglie
g ip
peer maggiormente
gg
fluttuanti,,
organizzati su mesh (o alberi addizionali)
Dunque è possibile distinguere tra architetture
TIERED
P2P puro, ma anche
Soluzioni ibride: replication server sul tier di primo livello, P2P nel secondo tier
– Adeguate
Ad
t per TV b
broadcasters,
d
t
provider
id di contenuti
t
ti
FLAT
Architetture P2P pure
– Tipiche di small overlays di prosumers
20
Al
Alcuni
i prototipi/sistemi
t ti i/ i t i commerciali
i li
PPLive
Mesh-based
Principalmente TCP-based
M di giornaliera
Media
i
li
di 400K utentii per 200 canalili
Rate dei programmi televisivi distribuiti
Da 250 a 400 Kbit/s
Alcuni canali a 800 Kbit/s
Numero di partner nodes dipendente dalla popolarità del canale
Campus
p p
peer hanno 40 p
partners
Peer con accesso residenziale da 10 a 30
21
C ti
Continua
SopCast
Fornisce servizi
Live streaming ed anche
VoD
Architettura mesh-based
Principalmente UDP a livello trasporto
Tipicamente un peer SopCast esegue il dowload da 2-5 altri peer
UUSee
Ulteriore esempio di sistema P2P per lo streaming su larga scala
Architettura ibrida
Diversi streaming servers dislocati in tutto il mondo
Mesh-based,
M
hb
d iimpiega
i
TCP
Numero di partner per ciascun peer: circa 50
Offre circa 800 diversi canali con una media di 100K utenti simultanei
Streaming rate: 400 Kbit/s
22
C ti
Continua
GridMedia
Ulteriore esempio di sistema P2P su
larga scala cinese
Protocollo ibrido push-pull
Interessante …
Soluzioni europee P2P per il VoD
Joost
Mesh bashed, 95% dei peer riceve il
contenuto da circa altri 25 peer
UDP p
per i dati, TCP p
per il controllo
Babelgum
TCP
95% dei peer riceve il contenuto da una
media altri 8 peer
Entrambi esibiscono un’architettura
un architettura
ibrida, con streaming server dislocati in
tutto il mondo
23
P
Processo
di diffusione
diff i
neii sistemi
i t i a MESH
All’atto del join, un nuovo peer contatta l’origin server
Caso semplice:
l’origin server lo ridirige verso un tracker, che mantiene la membership list
Il tracker fornisce a peer una lista, sottoinsieme della precedente, di partner
potenziali che il peer contatta per ricevere le loro buffer map
– BUFFER MAP?
– Dimensione indicativa: stringhe di 120 bit => nel buffer il peer ha circa un
paio di minuti del video
Dalle buffer map ricevute, il peer identifica i suoi potenziali parent
24
C ti
Continua
Ricevute le buffer map, il peer richiede i chunk mancanti
Tutti, non appena è entrato nel sistema ☺
Esempio di scheduling nelle richieste:
Per ogni chunk si determinano tutti i potenziali fornitori
Quello con più banda è individuato come il migliore
Si comunica a ciascun fornitore selezionato quali chunk il fornitore deve
trasmettere al peer (PULL)
25
A t i d
Anatomia
dell’architettura
ll’ hit tt
SW di un peer
Presenza di
Streaming engine
Media player
Streaming engine
Si occupa
del recupero dei video chunk
della loro memorizzazione
temporanea
del loro trasferimento al media
player
Gestisce le buffer map
Richiede i chunk mancanti e
fornisce quelli desiderati dagli altri
peer
Esegue ll’update
update delle liste dei
partner
26
G ti
Gestione
dell’appartenenza
d ll’
t
alla
ll overlay
l
Overlay membership
Sistemi di dimensioni medio/piccole SOLUZIONE CENTRALIZZATA
un nuovo peer recupera la lista dei peer da contattare dal tracker server, che
conosce tutti i peer della overlay
– Come? …
Sistemi di grandi dimensioni SOLUZIONE DISTRIBUITA
Possibile alternativa alla precedente: il nuovo peer viene reindirizzato verso un
deputy peer, selezionato (ad es. in modo random) dalla lista presente nella
cache del video server – non esaustiva –
1 Il deputy fornisce al nuovo peer una lista di possibili contatti
1.
2. Il deputy aggiorna la membership list nella sua cache, inserendo una
entry per il nuovo peer
– Vantaggi:
a agg
» diminuzione dello stress sul tracker server
» scomparsa di un punto di vulnerabilità del sistema, repository di dati
che riguardano
g
la totalità dei p
peer nel sistema
27
Possibile mantenimento membership list
Perché una cache in ogni peer con una vista – parziale – della
membership list nell’ultima soluzione citata?
Necessaria per disseminare, quando il peer assume il ruolo di deputy, ad
altri peer tale vista
Inoltre
Ogni peer periodicamente consulta la sua membership cache per
sostituire
tit i partners
t
che
h llasciano
i
il sistema
i t
o che
h non sono sufficientemente
ffi i t
t
performanti
E come viene aggiornata?
Una possibilità è attraverso algoritmi di gossiping, o epidemici
Il peer invia un messaggio (gossip) ad un subset, tipicamente random, di altri
peer di cui conosce l’esistena
Al round successivo sono questi peer a farsi carico di rilanciare il messaggio
– Un messaggio viene ritrasmesso da un peer solo quando lo riceve per la
prima volta
28
C
Caratteristiche
tt i ti h dei
d i sistemi
i t i più
iù recenti
ti
Impiego di substream multipli
Soluzione ibrida push-pull
Adozione di server multipli
Collocazione g
geografica
g
strategica
g
No architettura P2P pura
29
S b t
Substream
multipli
lti li
Il video viene come in precedenza suddiviso in chunk
I chunk sono tuttavia ripartiti in substream distinti
Se K substream, il j-simo è costituito dai chunk j+i*K, i=0,1,2, … del
video originario
30
C ti
Continua
Il punto critico risiede nel mantenere la sincronizzazione tra i diversi
substream
Nel peer la struttura della cache per i chunk viene modificata
Un buffer di sincronizzazione precede il cache buffer
Struttura logica del buffer per K=4
Substream distinti
31
Ib id push-pull
Ibrido
h
ll
In una architettura a mesh
mesh, i peer eseguono il PULL dei chunk dagli
altri peer
Nella soluzione ibrida, il meccanismo di PULL è impiegato solo per il
primo chunk del generico substream
Una volta che si è identificato il peer fornitore per tale chunk, tale peer
automaticamente provvederà a fornire – in PUSH – anche i chunk
successivi al primo
Periodicamente si provvede ad aggiornare i peer fornitori, i parent
p
peer
Sostituzione dei peer
1. che hanno abbandonato la overlay
2. Che forniscono insufficiente contenuto video
32
M t i h di qualità
Metriche
lità
Start-up
Start
up delay
intervallo che intercorre dall’istante di selezione del canale video
(programma televisivo) desiderato e l’istante in cui inizia il playout sullo
schermo
Ritardo critico, influenza fortemente la soddisfazione dell’utente
Video playback continuity
Ciascun chunk video ha una propria deadline temporale di playback
Se il chunk non raggiunge il buffer del peer entro tale deadline e
1. non ci sono video chunk nel buffer del p
player
y => video FREEZING,, se si
esegue il payback dell’ultimo frame video
2. Sono presenti alcuni chunk video nel buffer, ma non contigui => video
SKIPPING
Operativamente, si misura in modo indiretto misurando la chunk miss
ratio
Ulteriore metrica importante nel caso di IP
IP-TV
TV su architettura P2P,
Video switching delay
33
Mi
Misure
sperimentali
i
t li
Possono essere realizzate
Network-edge, o client-side
Il singolo peer cattura il traffico di upload e di download
E/O
Server-side
Un log-server centralizzato ha una visione completa del sistema, e può
rilevare,, ad esempio
p
– Evoluzione del numero dei peer connessi
– Durata delle sessioni
– Contributo in upload fornito dai peer
» Peer “robusti” e peer “deboli”
– Indirizzo IP dei peer
» Utile per geolocalizzazione
Motivazione:
Monitoraggio delle prestazioni che il sistema P2P garantisce agli
utilizzatori
tili
t i
QoE alta, l’utente NON abbandonerà il sistema
34
E
Esempi
i di misure
i
network-edge
t
k d
Numero di pacchetti UDP e TCP scambiati tra il local peer ed i suoi
partner
SOPCAST
35
C ti
Continua
PPLIVE
CONCLUSIONI: …
36
Mi
Misure
network-edge
t
k d
Throughput in upload ed in download
Peer residenziale, connessione via ADSL
PPLIVE
37
C ti
Continua
Scorporo dei contributi
PPLIVE
38
U piattaforma
Una
i tt f
it
italiana
li
StreamerOne
Esempio di small overlay
Struttura a mesh
Un control
U
t l server e ttantiti streaming
t
i server quantiti sono i canalili
– Peer contatta control server e riceve le “reference” di tutti gli streaming
server
– individuato il canale,
canale peer riceve dallo streaming server lista di 50 peer
peer,
selezionati casualmente tra quelli che attualmente guardano il canale
– Periodicamente il peggior fornitore viene eliminato dalla lista e sostituito
da un altro peer
Diffusione di canali televisivi nazionali
Trasmissione video H.264 a 224 kbit/s
39
Mi
Misure
network-edge
t
k d
Evoluzione del numero di peer fornitori in StreamerOne
40
Mi
Misure
network-edge
t
k d
Distribuzione di probabilità cumulativa (CDF) per la dimensione dei
pacchetti
Bimodale
300 e 1500 b
byte
te
41
Mi
Misure
server-side
id
StreamerOne small overlay
StreamerOne,
Evoluzione numero di peer interessati ad un evento televisivo
– Europei di calcio
42
Mi
Misure
server-side
id
StreamerOne small overlay
StreamerOne,
Geolocalizzazione e free-rider
– Free-rider?
43
Mi
Misure
server-side
id
Start-up
p delay
y in una LARGE overlay
y
COOLSTREAMING
44
S l i
Selezione
del
d l protocollo
t
ll a livello
li ll trasporto
t
t
UDP rappresenta indubbiamente la scelta più adatta alle specificità
dei flussi multimediali
Tuttavia …
Oggi i servizi client-server più popolari per lo streaming video su Internet
impiegano TCP
???
Inefficienza che trova diverse giustificazioni – correlate – :
fruitori del servizio
inesperti,
p , poco
p
p
propensi
p
a scaricare applicativi
pp
non conosciuti
– SOLUZIONE
» streaming effettuato attraverso applicazioni (in Adobe FLASH©)
incorporate all’interno del sito del fornitore di contenuti, ergo
g fruibili
via web browser
risiedono su una rete protetta da firewall
45
P bl i con i firewall
Problemi
fi
ll
Sempre più diffusi
Presentano impostazioni di default piuttosto stringenti
Tecnica più semplice: “Ispeziona
Ispeziona per ogni singolo pacchetto IP: indirizzo
IP sorgente e destinazione, porta sorgente e porta destinazione,
protocollo di livello trasporto impiegato”
Classificazione in macrocategorie, ottenuta incrociando le convenzioni sulle
well-known ports con le precedenti informazioni
– Esempi: traffico su porta 80 + utilizzo TCP marcato come traffico HTTP
traffico su p
porta 21 + utilizzo TCP
traffico FTP
46
C ti
Continua
Il traffico di video streaming non impiega porte riconosciute per
convenzione!
Traffico di video streaming marcato come sconosciuto o generico e …
l regola
la
l di d
default
f lt è bloccare
bl
il ttraffico
ffi NON riconosciuto
i
i t
Tuttavia … un utente p
potrebbe mandare tale tipo
p di traffico sulla p
porta
21
SOLUZIONE
i firewall - più sofisticati - ispezionano ulteriormente il pacchetto
pacchetto,
spingendosi sino all’identificazione del protocollo di livello applicazione
Meglio: far interpretare il flusso multimediale come traffico web
Obbligo di impiego del TCP per la sessione Web
Impiego dell’HTTP a livello applicazione per operare con il flusso
multimediale erogato in streaming
47
Rif i
Riferimenti
ti bibli
bibliografici
fi i
J.K. Kurose, Keith W. Ross “Computer Networking - A Top-Down
Approach Featuring the Internet”, ed. Addison Wesley
M.L. Merani, D. Saladino “Live Video and IP-TV” Book Chapter in
Handbook of Peer
Peer-to-Peer
to Peer Networking, ed. Springer, 2010
48