Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

17
Music Everywhere BlueTooth project – MasterProxy Albertin Marco

Transcript of Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

Page 1: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

Music Everywhere BlueTooth project – MasterProxy

Albertin Marco

Page 2: 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

Page 3: Music Everywhere BlueTooth project – 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

Page 4: Music Everywhere BlueTooth project – 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

Page 5: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

MasterProxy - Architettura

MUSE BT - MasterProxy - Albertin Marco

MasterProxy

RTP Strea

m

Stream Multicast

ProxyForwarder

ProxyListenerProxyListenerProxyListener

ReplicationSystem

ProxyConnections

To OtherMasterProxy

Page 6: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

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

Page 7: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

ProxyForwarder

MUSE BT - MasterProxy - Albertin Marco

ProxyForwarder

Servers

ProxyForwarder

ProxyForwarder

Proxy in

Rete Lan

Stream RTP Multicast

Page 8: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

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

Page 9: Music Everywhere BlueTooth project – 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

Page 10: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

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

Page 11: Music Everywhere BlueTooth project – 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

Page 12: Music Everywhere BlueTooth project – 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.

Page 13: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

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

Page 14: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

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!

Page 15: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

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

Page 16: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

Meccanismo di Terminazione

MUSE BT - MasterProxy - Albertin MarcoMasterProxy Application

ProxyForwarder

ProxyListener

MasterProxyThread

ReplicationControl

ActivenessControl

CATCH stopThread

stopThread stopThread

stopThread

Page 17: Music Everywhere BlueTooth project – MasterProxy Albertin Marco.

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