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 MUSE BT - MasterProxy - Albertin Marco Server MasterProxy Proxy Rete LAN Flusso RTP Multicast RTP Bluetooth Dispositivo mobile
MasterProxy - Architettura MUSE BT - MasterProxy - Albertin Marco MasterProxy RTP Stream Stream Multicast ProxyForwarder ProxyListener Replication System Proxy Connections To Other MasterProxy
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 MUSE BT - MasterProxy - Albertin Marco ProxyForwarder Servers ProxyForwarder Proxy in Rete Lan Stream RTP Multicast
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 MUSE BT - MasterProxy - Albertin Marco Proxy MasterProxy Application MasterProxy Thread ProxyListener 1: AddProxyRequest 2: create 4: GetStreamsRequest 5: GetStreamsResponse 3: AddProxyResponse Gli altri messaggi di richiesta presentano una dinamica del tutto analoga 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. 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 MasterProxy nella rete Master Copia 1 Copia 2 Nuovo MasterProxy MasterProxy Thread DISCOVERY ReplicationControl ActivenessControl create CHECKPOINT update ALIVE NOTIFICATION delete Copia 2Copia 3
ReplicationControl Messaggi 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 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 MUSE BT - MasterProxy - Albertin Marco MasterProxy Application ProxyForwarder ProxyListener MasterProxy Thread ReplicationControl ActivenessControl CATCH stopThread
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