Music Everywhere BlueTooth project – MasterProxy
Albertin Marco
Music Everywhere BlueToothErogare 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 - ArchitetturaEntità 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
MUSE BT - MasterProxy - Albertin Marco
Server MasterProxy
Proxy Proxy Proxy
Rete LAN
Flusso RTP
Multicast RTP
Bluetooth
Dispositivo mobile
MasterProxy - Architettura
MUSE BT - MasterProxy - Albertin Marco
MasterProxy
RTP Strea
m
Stream Multicast
ProxyForwarder
ProxyListenerProxyListenerProxyListener
ReplicationSystem
ProxyConnections
To OtherMasterProxy
MasterProxy - ArchitetturaResponsabilità 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
MUSE BT - MasterProxy - Albertin Marco
ProxyForwarder
Servers
ProxyForwarder
ProxyForwarder
Proxy in
Rete Lan
Stream RTP Multicast
ProxyListenerManagement 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
MUSE BT - MasterProxy - Albertin Marco
Proxy
MasterProxy Application
MasterProxyThread
ProxyListener
1: AddProxyRequest
2: create
4: GetStreamsRequest
5: GetStreamsResponse
3: AddProxyResponse
Gli altri messaggi di richiesta presentano una dinamica del tuttoanaloga a quella del GetStreamRequest/Response
MasterProxy – Strutture dati
MUSE BT - MasterProxy - Albertin Marco
MasterProxy
• Lista degli Streams RTP;• Lista dei Servers;• Lista dei ProxyForwarders;• Lista dei Proxy;• Lista dei MasterProxy;• Lista dei ProxyListener;• Lista degli Antecessors;
• 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
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
MUSE BT - MasterProxy - Albertin Marco
Replication System
ReplicationControl
ActivenessControl
Si occupa della comunicazione
con gli altri MasterProxy: Attivazioni,
Checkpoint e risposte a
Discovery altrui.
Si occupa della comunicazione
con gli altri MasterProxy: Attivazioni,
Checkpoint e risposte a
Discovery altrui. Invia agli altri MasterProxy e
riceve i messaggi con semantica
IAmAlive, quando scade il timeout di un MasterProxy lo elimina dalla lista.
Invia agli altri MasterProxy e
riceve i messaggi con semantica
IAmAlive, quando scade il timeout di un MasterProxy lo elimina dalla lista.
ReplicationSystem
MUSE BT - MasterProxy - Albertin Marco
MasterProxynella rete
Master
Copia 1
Copia 2
Nuovo MasterProxy
MasterProxyThread
DISCOVERY
ReplicationControl
ActivenessControl
create
create
CHECKPOINT
update
ALIVE NOTIFICATION
delete
Copia 2
Copia 3
ReplicationControlMessaggi in entrata:
AdvertisementMessage;StateUpdateRequest (solo se Master):ProxyUpdateMessage (light checkpoint);ActivationMessage.
Messaggi in uscita:IdentificationMessage;StateUpdateResponse (se Master);ActivationMessage.
MUSE BT - MasterProxy - Albertin Marco
Checkpoint da soli non bastano per passare da
Slave a Master!!
Copie né calde nè fredde!
Meccanismo di TerminazioneProblema: 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
MUSE BT - MasterProxy - Albertin MarcoMasterProxy Application
ProxyForwarder
ProxyListener
MasterProxyThread
ReplicationControl
ActivenessControl
CATCH stopThread
stopThread stopThread
stopThread
Sviluppi FuturiReplicazione 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
Top Related