Music Everywhere BlueTooth project –
MasterProxy
Albertin Marco
Music Everywhere BlueTooth
 Erogare un servizio di audio streaming;
 Utilizzo della tecnologia Bluetooth;
 Utilizzo di strumenti Java.
Problemi:
 Continuità del servizio;
 Gestione degli spostamenti.
MUSE BT - MasterProxy - Albertin Marco
MUSE BT - Architettura
 Entità del sistema:
 Server;
 MasterProxy;
 Proxy;
 Dispositivo mobile (client).
 Responsabilità del MasterProxy:
 Ricevere e inoltrare streams dal Server ai Proxy;
 Gestire la rete di Proxy;
 Replicazione.
MUSE BT - MasterProxy - Albertin Marco
MUSE BT - Architettura
Rete LAN
Flusso RTP
Server
MasterProxy
Multicast RTP
Proxy
Proxy
Proxy
Bluetooth
Dispositivo mobile
MUSE BT - MasterProxy - Albertin Marco
MasterProxy - Architettura
RTP
Stream
Stream
Multicast
ProxyForwarder
MasterProxy
ProxyListener
ProxyListener
ProxyListener
To Other
MasterProxy
Proxy
Connections
Replication
System
MUSE BT - MasterProxy - Albertin Marco
MasterProxy - Architettura
 Responsabilità ProxyForwarder:
 Ricevere lo/gli streams dal/dai Server;
 Inoltrare gli streams ai Proxy.
 Responsabilità ProxyListener:
 Comunicare individualmente con il Proxy.
 Responsabilità Replication System:
 Comunicare con gli altri MasterProxy.
MUSE BT - MasterProxy - Albertin Marco
ProxyForwarder
ProxyForwarder
ProxyForwarder
Proxy in
Rete
Lan
ProxyForwarder
Servers
Stream RTP Multicast
MUSE BT - MasterProxy - Albertin Marco
ProxyListener
 Management dei Proxy:
 De/Registrazione Proxy;
 Supporto per handoff (neighbors);
 Gestione richieste di accesso dai dispositivi;
 Gestione richieste per l’elenco degli streams;
 Controllo runtime per la rimozione di proxy inattivi.
 Comunicazione basata su TCP/IP.
 Istanziazione by need da parte del MasterProxy.
MUSE BT - MasterProxy - Albertin Marco
ProxyListener
ProxyListener
2: create
Proxy
MasterProxy
Thread
Gli altri messaggi di richiesta
presentano una dinamica del tutto
analoga a quella del
GetStreamRequest/Response
MasterProxy Application
MUSE BT - MasterProxy - Albertin Marco
MasterProxy – Strutture dati
MasterProxy
• Lista degli Streams RTP;
• Lista dei Servers;
• Lista dei ProxyForwarders;
• Lista dei Proxy;
• Lista dei MasterProxy;
• Lista dei ProxyListener;
• Lista degli Antecessors;
Aggiornate a runtime
MUSE BT - MasterProxy - Albertin Marco
ReplicationSystem
 Più istanze presenti sulla rete;
 Modello di replicazione passiva master/slave:
 Una copia attiva (Master), più copie passive (Slave);
 Gerarchia degli Slave (Antecessors);
 Controllo della liveness dei MasterProxy;
 Protocollo di Discovery;
 Terminazione controllata dei MasterProxy.
MUSE BT - MasterProxy - Albertin Marco
ReplicationSystem
Si occupa della
comunicazione con
gli altri MasterProxy:
Attivazioni,
Checkpoint e risposte
a Discovery altrui.
ReplicationControl
Invia agli altri
MasterProxy e riceve i
messaggi con
semantica IAmAlive,
quando scade il
timeout di un
MasterProxy lo
elimina dalla lista.
ActivenessControl
Replication System
MUSE BT - MasterProxy - Albertin Marco
ReplicationSystem
Copia 23
ReplicationControl
create
Master
update
delete
MasterProxy
Thread
Copia 1
Copia 2
ActivenessControl
MasterProxy
nella rete
ALIVECHECKPOINT
DISCOVERY
NOTIFICATION
create
Nuovo MasterProxy
MUSE BT - MasterProxy - Albertin Marco
ReplicationControl
 Messaggi in entrata:
 AdvertisementMessage;
 StateUpdateRequest (solo se Master):
Checkpoint
da checkpoint);
 ProxyUpdateMessage
(light
soli non bastano
 ActivationMessage.
passare da
 Messaggi in per
uscita:
Slave a Master!!
 IdentificationMessage;
 StateUpdateResponse (se Master);
 ActivationMessage.
Copie né
calde nè
fredde!
MUSE BT - MasterProxy - Albertin Marco
Meccanismo di Terminazione
 Problema: se uno dei moduli del MasterProxy
termina inaspettatamente? Il recupero non sempre è
possibile!
 Soluzione: terminare tutto il MasterProxy in maniera
controllata.
 Esempio: eccezione in un ProxyForwarder. Termino tutti
i thread e lascio che la Copia 1 prenda il ruolo di Master.
MUSE BT - MasterProxy - Albertin Marco
Meccanismo di Terminazione
ProxyListener
stopThread
stopThread
MasterProxy
Thread
ProxyForwarder
CATCH
MasterProxy Application
stopThread
ReplicationControl
stopThread
ActivenessControl
MUSE BT - MasterProxy - Albertin Marco
Sviluppi Futuri
 Replicazione trasparente del MasterProxy;
 Sistema di accounting;
 Comunicazione Master/Master per scalabilità su più
reti LAN;
 Implementazione di nuove trascodifiche per il JMF.
MUSE BT - MasterProxy - Albertin Marco
Scarica

ProxyForwarder