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