BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di...

13
Sistema di Proximity Sistema di Proximity Marketing con QoS ed Marketing con QoS ed availability availability Progetto per il Corso di Reti di Calcolatori LS Progetto per il Corso di Reti di Calcolatori LS

Transcript of BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di...

Page 1: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

Sistema di Proximity Marketing Sistema di Proximity Marketing

con QoS ed availabilitycon QoS ed availability

Progetto per il Corso di Reti di Calcolatori LSProgetto per il Corso di Reti di Calcolatori LS

Nicola Bonoli - 27 Giugno 2007 Nicola Bonoli - 27 Giugno 2007

Page 2: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

ScenarioScenario

Affermazione e diffusione della Affermazione e diffusione della tecnologia Bluetooth ®tecnologia Bluetooth ®

Possibilità di inviare Possibilità di inviare contenuticontenuti di svariato genere ai dispositivi di svariato genere ai dispositivi consenzienti consenzienti a costo zero!a costo zero!

Page 3: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

ObiettiviObiettivi

Distribuire contenuti multimediali verso dispositivi abilitati Distribuire contenuti multimediali verso dispositivi abilitati alla ricezione Bluetooth ®alla ricezione Bluetooth ®

Permettere la corretta cooperazione di più trasmettitori Permettere la corretta cooperazione di più trasmettitori indipendentemente dalla posizioneindipendentemente dalla posizione

Evitare il “BlueSpam”Evitare il “BlueSpam”

Garantire l’availability del sistema a fronte di situazioni di Garantire l’availability del sistema a fronte di situazioni di guasto singologuasto singolo

““Occhio di riguardo” alla QoSOcchio di riguardo” alla QoS

Page 4: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

AttoriAttori Client(i)Client(i): dispositivo con Bluetooth ® attivato ed in stato “rilevabile”: dispositivo con Bluetooth ® attivato ed in stato “rilevabile”

Proxy(i)Proxy(i): : - Discovery dei dispositivi client- Discovery dei dispositivi client- verifica lo stato e gestisce la trasmissione dei contenuti. - verifica lo stato e gestisce la trasmissione dei contenuti. - Si coordina con gli altri proxy e deve poter garantire la continuità del servizio.- Si coordina con gli altri proxy e deve poter garantire la continuità del servizio.- Attenzione a gestione risorse e QoS. - Attenzione a gestione risorse e QoS.

ServerServer: : - Fornisce i contenuti ai proxy. - Fornisce i contenuti ai proxy. - Supporta richieste concorrenti- Supporta richieste concorrenti- Non è richiesta availability lato server- Non è richiesta availability lato server

Server

Client

Proxy i

Page 5: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

Macroscelte ProgettualiMacroscelte Progettuali

BlueMark Server

Bluetooth Bluetooth BlueCove (JSR-82) & Avetana OBEX Persistenza Persistenza database MySQL Comunicazione tra Proxy Comunicazione tra Proxy socket TCP Availability Availability replicazione decentralizzata e Token Ring (Load balancing) (Load balancing) Thread PoolBlueMark Proxy

Interazione server - proxy Interazione server - proxy CORBA Persistenza Persistenza database MySQL

Integrazione

Eterogeneità

Concorrenza{(…WS )

Page 6: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

Architettura FinaleArchitettura Finale

BlueMark Proxy

BlueMark Proxy

BlueMark Proxy

BlueMark Server

Page 7: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

BlueMark ServerBlueMark Server

Database dei contenuti (una tabella per ogni contenuto)

Tipo di dispositivo Tipo di dispositivo (Tailoring…)(Tailoring…) Nome del fileNome del file Tipo di contenuto (Mp3,Gif…)Tipo di contenuto (Mp3,Gif…) Percorso localePercorso locale Contenuto statico / dinamicoContenuto statico / dinamico

Corba Server IDL

interface FileInterface { typedef sequence<octet> Data; Data downloadFile(in string ID,in string DeviceType); string getFileName(in string ID); string getFileType(in string ID);};

Configurazione del Server

Naming

Service!!!

Page 8: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

BlueMark Proxy: configurazione BlueMark Proxy: configurazione e strutturae struttura

Configurazione di BlueMarkProxyConfigurazione di BlueMarkProxy

Identificativo, IP e porta di ascolto del nodo Identificativo, IP e porta di ascolto del nodo Nodo precedente nel ring logico (recovery)Nodo precedente nel ring logico (recovery) Nodo successivo (forwarding)Nodo successivo (forwarding) Secondo nodo successivo (recovery)Secondo nodo successivo (recovery) Naming Service Naming Service Database ServerDatabase Server Identificativo del contenutoIdentificativo del contenuto Contenuto statico / dinamicoContenuto statico / dinamico

BlueMark CorbaClient

BluetoothUtils

BMProxyDB

Core

Remote Devices

ThreadPool

TokenRing.Message

TokenRing.Recovery

TokenRing.Socket

Utilities

Buffering del contenuto (se contenuto statico)

TCP MailboxInit

(Entry Point & INIT)

Page 9: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

BlueMark Proxy: funzionamento BlueMark Proxy: funzionamento principaleprincipale

UUIDUUID

OBEXPortOBEXPort

Stato associato al dispositivo:Stato associato al dispositivo:– SendingSending

– SentSent

– DeniedDenied

– TimeoutTimeout

(Stato ‘Discovered’ non tracciato…)(Stato ‘Discovered’ non tracciato…)

ProxyProxy

Politica di invio invia se non presente o in stato timeout

(1) Discovery del dispositivi (continuo)

(2) Ricezione del Token (BMToken)

(3) Verifica dello stato ed eventuali tentativi di invio

(4) Forwarding del Token

Page 10: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

Proxy AvailabilityProxy Availability

Procedura di recovery per far fronte a Procedura di recovery per far fronte a guasto singologuasto singolo

Funzionamento del sistema anche in Funzionamento del sistema anche in modalità modalità standalonestandalone

Rilevamento del guasto basato sulle Rilevamento del guasto basato sulle primitive TCP primitive TCP

Mailbox con Mailbox con buffer buffer durante il recoverydurante il recovery Nodo successivo al guasto diventa Nodo successivo al guasto diventa

CoordinatoreCoordinatore

BlueMark Proxy 2

BlueMark Proxy 1

BlueMarkProxy 5

BlueMark Proxy 4 BlueMark Proxy3(coordinator)

Page 11: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

Procedura di RecoveryProcedura di Recovery

BlueMark Proxy 2

BlueMark Proxy 1

BlueMarkProxy 5

BlueMark Proxy 4 BlueMark Proxy3(coordinator)

1 1 BMELECTIONTOKEN BMELECTIONTOKEN Avvio coordinatore. Avvio coordinatore. Comunicazione del nodo cadutoComunicazione del nodo caduto

22 BMRECOVERYTOKEN BMRECOVERYTOKEN Individuazione di: Individuazione di: - possessore del BMTOKEN- possessore del BMTOKEN- nuovo precedente al coordinatore- nuovo precedente al coordinatore- nuovo secondo successivo - nuovo secondo successivo

33 BMUPDATETOKENBMUPDATETOKEN Ripristino del ring logicoRipristino del ring logico Riattivazione della mailboxRiattivazione della mailbox Aggiornamento del database Aggiornamento del database ( Sending(downproxy)( Sending(downproxy)Timeout )Timeout )

44 RiattivazioneRiattivazione(BMTOKEN rigenerato dal coordinatore (BMTOKEN rigenerato dal coordinatore se smarrito ) se smarrito )

Page 12: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

Testing & DemoTesting & Demo

BlueMark Server BlueMark Proxy

• Test #1: Esecuzione base (un unico Proxy)

• Test #2: Esecuzione (due Proxy su due nodi differenti)

• Test #3: Esecuzione con timeout nell’invio (due Proxy su due nodi differenti)

• Test #4: Esecuzione (cinque Proxy complessivi su due nodi diversi)

• Test#5: Esecuzione e fase di recovery (cinque Proxy complessivi su due nodi diversi)

Page 13: BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.

Conclusioni e sviluppi futuriConclusioni e sviluppi futuri

Il sistema BlueMark raggiunge gli obiettivi prefissati garantendo in particolare Il sistema BlueMark raggiunge gli obiettivi prefissati garantendo in particolare availability e il rispetto delle politiche richieste. Supporto per eventuale QoS.availability e il rispetto delle politiche richieste. Supporto per eventuale QoS.

Sviluppi futuri:Sviluppi futuri:

Calibrazione timeout sul canale di input Calibrazione timeout sul canale di input token token BMRINGALIVE BMRINGALIVE

Impostazione dei parametri (timeouts, thread pool…) Impostazione dei parametri (timeouts, thread pool…) interfaccia grafica interfaccia grafica

Soluzione di problemi di gestione delle connessioni BluetoothSoluzione di problemi di gestione delle connessioni Bluetooth

Invio di più contenuti allo stesso client dallo stesso proxyInvio di più contenuti allo stesso client dallo stesso proxy

Tailoring dei contenutiTailoring dei contenuti

Test del sistema in condizioni di alto caricoTest del sistema in condizioni di alto carico