Servizi continui su rete IEEE
802.11 – Music Everywhere
Presentazione di Alberto Mercati
Reti di Calcolatori LS
Scenario applicativo: adattamento di
servizi continui a reti wireless
 Servizi continui
 Problemi su reti IP: come garantire
QoS?
 Problemi delle reti wireless
 Perdita di pacchetti
 Handoff del client
 Caratteristiche dello scenario
 Servizio di streaming fornito da server
legacy
 Rete Wi-Fi con più Access Point
 Hard horizontal handoff
Architettura del sistema
RTP streaming
QoS monitoring
Proxy
Circular Buffer
RTP streaming
Internet
RTP streaming
Ritrasmissione
Circular Buffer
Mobile client
 Architettura a 3 livelli
 Server
 Client
 Proxy (intermediario)
 Due livelli di buffering
 Client
 Proxy
 Proxy fornisce supporto a:
Streaming Server
 Mobilità
 Ritrasmissione
…
Punti fondamentali
 RTP-Retransmission: è una proposta di estensione del protocollo
RTP (Real Time Protocol), studiata per la ritrasmissione di pacchetti
persi
 Non compromette il corretto funzionamento di RTP (compreso RTCP)
 Funziona anche con intermediari che non implementano RTP-R
 Adattamento in banda del servizio: transcodifica dinamica dello
stream audio per adattarsi a mutazioni delle condizioni operative
(congestioni, handoff prediction, ecc…)
 Cosa ho fatto io?
 Progetto e implementazione del sottosistema di buffering
(lettura/scrittura, riproduzione, ecc…)
 Progetto ed implementazione del Proxy
 Studio dell’adattamento in banda
 Cosa NON ho fatto: Server, Client, monitoring dello stato della rete lato
Client e predizione di handoff, implementazione del supporto a RTP-R
Buffering
 Il buffering sul Client è la
soluzione normalmente
adottata per risolvere:
 Funzionalità del buffer
 Proxy (finestra nascosta, reperimento
frame): ActiveRTPBuffer.
 Client (inserimento fuori seq,
riproduzione): PlayerBuffer.
 Utilizzo delle “metafore” proprie di JMF
(classe DataSource)
 Jitter
 Perdita di pacchetti
 Arrivo fuori sequenza
FrameWindow
write
DataSource
Parser
read
DynamicCircularBuffer
Multiplexer
DataSource
ActiveRTPBuffer
Disponibile
per utilizzo
tramite JMF
Ottenuta tramite il
supporto JMF ad
RTP
ActiveRTPBuffer
PlayChain
PlayerBuffer
Funzionamento del sistema MUSE
 Client Fisso
 Non si verifica handoff
 Ci possono essere occasionali perdite di pacchetti
Proxy buffer
3
2
1
Client buffer
0
NACK 2
2
1
Finestra nascosta
0
Funzionamento del sistema MUSE
 Client mobile
 Previsione di handoff
 Congestione
 Diminuzione di banda
Proxy buffer
5
Handoff prediction,
Congestione,
ecc…
45 43 3 22
Transcodifica dinamica del
payload dei pacchetti RTP
Client buffer
1
0
A parità di banda e memoria
impiegata, abbiamo una
durata maggiore della
riproduzione
Funzionamento del sistema MUSE
 Client mobile
 Handoff
 Ripristino sessione: impiego del supporto per RTP-R
Proxy buffer
5
5
4
3
2
4
1
Finestra nascosta
Client buffer
3
0
Handoff
2
1
0
Funzionamento del sistema MUSE
 Client mobile
 Handoff
 Ripristino sessione: impiego del supporto per RTP-R
Proxy buffer
8
7
Client buffer
6
2
1
0
NACK 3
5
4
3
2
1
Finestra nascosta
0
NACK 4
NACK 5
Funzionamento del sistema MUSE
 Al momento del ripristino dopo un handoff, ci si aspetta che:
 Il buffer del Client sia vicino allo svuotamento
 Il buffer del Proxy sia di grandi dimensioni e quasi completamente
occupato
 È necessario:
 “Scaricare” dati sul Client
 Liberare risorse sul Proxy
All’occorrenza i
buffer devono
comportarsi come
due “vasi
comunicanti”,
eventualmente
ridimensionandosi
Proxy buffer
Client buffer
Informazioni di contesto
 Per tutta la durata del servizio è necessario raccogliere informazioni
di contesto per:
 Conoscere lo stato del Client
 Valutare la QoS
 Gestire frame rate
 Informazioni comunicate dal Client al Proxy tramite opportuni
pacchetti KeepAlive:





Dimensione buffer del Client
Spazio libero e spazio occupato sul buffer
Numero di frame ricevuti dall’inizio della sessione
Numero di sequenza dell’ultimo frame correttamente ricevuto
Tempo equivalente ai dati mediali contenuti nel buffer
Test e risultati sperimentali (1)
Proxy Buffer
Number of frames
Buffer size
250
N° frames
I test riportati illustrano
i risultati della parte di
progetto di mia
competenza
200
150
100
50
0
0
5000
10000
15000
20000
25000
Test 1:
35000
40000
45000
50000
35000
40000
45000
50000
40000
45000
50000
Client Buffer
1. Ridimensionamento
del buffer
Number of frames
Buffer size
N° frames
300
250
200
150
100
50
0
0
5000
10000
15000
20000
25000
30000
ms
RTP-Retransmission
45520
Sequence Number
2. Gestione della
ritrasmissione dopo
un handoff
30000
ms
45510
45500
45490
45480
45470
0
5000
10000
15000
20000
25000
ms
30000
35000
Test e risultati sperimentali (2)
Test 2:
Proxy Buffer
Number of frames
250
N° frames
1. Ritrasmissione di
pacchetti persi con
RTP-R
Buffer size
200
150
100
50
0
0
2. Combinazione di
handoff e perdita di
pacchetti
10000
20000
30000
40000
50000
60000
70000
50000
60000
70000
50000
60000
70000
ms
Client Buffer
Number of frames
Buffer size
N° frames
400
300
200
100
0
0
10000
20000
30000
40000
ms
RTP-Retransmission
Sequence Number
21400
21200
21000
20800
20600
20400
20200
0
10000
20000
30000
40000
ms
Conclusioni
 Implementazione RTP-R e nuove opportunità offerte ()
 Efficacia della ritrasmissione basata su RTP-R
 Nuove opportunità, non solo per reti wireless ma anche per Internet
 Architettura a tre livelli ()
 Approccio efficace per adattare servizi continui a reti wireless
 Nessuna modifica da apportare al servizio originario
 Impiego di RTP-R per la ritrasmissione dei pacchetti persi
durante un handoff ()
 In tutti i test da noi effettuati, RTP-R si è sempre dimostrato in grado di
gestire anche la perdita di sequenze di pacchetti consecutivi
 Le note dolenti
 Adattamento in banda (): caratteristica non funzionante. Abbiamo
incontrato problemi che non siamo ancora riusciti a superare
 JMF ()
Servizi continui su rete IEEE
802.11 – Music Everywhere
Presentazione di Alberto Mercati
Reti di Calcolatori LS
FINE
Scarica

Servizi continui su rete IEEE 802.11 – Music Everywhere