Middleware di Discovery
Avanzato
Di
Giuseppe Tomaiuoli
Mat 0196947
Reti di Calcolatori LS 2005-06
Prof. Ing. Antonio Corradi
Team
Giuseppe Tomaiuoli mat 0196947
Email [email protected]
Simone Masini mat 0197130
Email [email protected]
Referente
Ing. Toninelli Alessandra
Visione e Collocazione
Un Middleware di Discovery che consenta di trovare il servizio che
realmente stai cercando in base alle caratteristiche esplicite ed
implicite di cui hai bisogno, sempre ed ovunque.
Obiettivo del progetto è la realizzazione di un Middleware per il
Discovery Avanzato di servizi messi a disposizione dai Fornitori. Il
Discovery è Avanzato in quanto tiene in considerazione informazioni
aggiuntive rispetto ai normali servizi di Discovery:
 le preferenze dell’Utente,
 le caratteristiche dei dispositivi,
 le credenziali,
 la località
 altro.
Il Progetto si colloca nell’ambito dell’ambiente Peer-to-Peer(P2P) che
presenta numerose soluzioni e diversi protocolli per
l’implementazione del Discovery. Tra queste soluzioni si sono rivelate
di particolare interesse JXTA e UPnP.
Agenda
Analisi e Studio di Fattibilità
Progetto JXTA
Architettura Logica del Middleware di Discovery
Avanzato (MDA)
Supporto Legacy JXTA e altri protocolli (UPnP)
Accesso al MDA
Bilanciamento del Carico del Middleware
(coordinamento e sincronizzazione)
Gestione Profili (Fault Tolerance: Persistenza,
Replicazione)
Personalizzazione della Richiesta (località, dispositivo
corrente, caratteristiche HW e SW)
Implementazione della Metodologia di Ricerca
(matching)
Access Control List o Capability List (Al Servizio del
Fornitore)
Publish/Subscribe
Gestione Carico e Liveness dei Servizi
Caching dei Servizi sul Lato Utente
Raccolta di Informazioni per Stilare Statistiche
Configurazione e Test
Conclusioni e Sviluppi Futuri
Analisi e Studio di Fattibilità
UPnP:
Protocollo proprietario;
Consorzio di Aziende;
Iter per la definizione di nuovi profili.
JXTA:
Open Source;
Profili con caratteristiche più flessibili;
Elementi XML.
Architettura Unificante:
Problemi di compatibilità;
Overhead;
Diversi Adattatori.
Scelta:
Protocollo JXTA con eventuali Bridge per gli altri protocolli.
JXTA
•Interoperability
•Platform Indipendence
•Ubiquity
Architettura Logica del Middleware
Supporto Legacy JXTA e altri protocolli
(UPnP)
Protocollo del progetto JXTA;
Linguaggio di programmazione: JAVA;
IDE: Eclipse;
Richieste Standard JXTA;
Profili JXTA preesistenti;
Bridge per altri protocolli: PeerMDAFornitore (UPnP)
Accesso al MDA
MDAUtente
MDAFornitore
Bilanciamento del Carico del Middleware
(coordinazione e sincronizzazione)
Struttura distribuita: Coordinazione e Sincronizzazione;
Politica di Bilanciamento del carico: nuovi compiti al meno carico;
Mezzo: PeerInfoService di JXTA e Monitor;
Come: Somma del traffico sui canali;
Dove:
MDAUtente fra i PeerMDAUtente;
MDAFornitore fra i PeerMDAFornitore;
PeerMDAUtente fra i PeerMDAInfrastruttura.
Gestione Profili (Fault Tolerance: Persistenza,
Replicazione)
Profili memorizzati da:
PeerMDAUtente;
PeerMDAFornitore.
Mezzo: direttori, Xindice (Apache).
Classe: XindiceManager;
Dove: Locale;
Copia Attiva;
Copia Non Attiva;
Politica:
Se presente in locale (Copia Attiva);
Se non presente in locale:
• Se trova Attiva;
• Se non trova Attiva:
– Se trova Non Attiva;
– Se non trova Non Attiva;
Access Control List o Capability List (Al
Servizio del Fornitore)
Politiche dei Diritti di Accesso:
FREE;
KEY;
PAY-PER-SERVICE;
Dove:
Profilo Servizio;
Profilo Utente, parte dinamica.
Publish/Subscribe
Caratterizzazione dei Servizi: Categorie;
Utente: richiesta di sottoscrizione ad una Categoria al MDAUtente;
Dove: GroupMDAUtente;
Mezzo: NewsADV;
Chi Pubblica: PeerMDAFornitore;
Sviluppati dai Colleghi
Personalizzazione della Richiesta (località, dispositivo
corrente, caratteristiche HW e SW)
Estensione delle caratteristiche della richiesta da JXTA (solo nome
Servizio) a Discovery Avanzato che tiene conto di informazioni
Statiche e Dinamiche (località, dispositivo) riguardanti le
preferenze dell’utente e altre caratteristiche HW e SW inglobate
nella richiesta sia in modo esplicito che implicito.
Implementazione della Metodologia di Ricerca (matching)
Estensione del confronto a tutte le caratteristiche definite nella
richiesta e nel profilo del Servizio. Tra queste ultime ci saranno
alcune ritenute necessarie e altre meno rilevanti. (Profilo e
Servizio).
Gestione Carico e Liveness dei Servizi
Controllo del carico del singolo Servizio per evitare di
sovraccaricare un servizio se c’è un’alternativa e dell’effettiva
presenza del Fornitore per evitare di presentare soluzioni non più
disponibili. Modalità Push/Pull.
Configurazione e Test
Sistema Distribuito
Rete Virtuale JXTA
Inizializzatore + Due entità di ogni tipo
Test in LAB2
Tempo di Risposta
LogFiles:
GroupCreator
TestFornitori
Utenti
TestPeerUtente
TestPeerFornitore
TestPeerInfrastruttura
creaProfilo
getRemoteAdv(xml)
modificaProfilo
…
Utent
e
GroupPublishSubscrib
e
Fornitore
Modifica
categoria1
Informazioni
caratteristiche
servizio
creaProfilo
publishAdv(xml)
modificaProfilo
…
Informazioni
caratteristiche
servizio
MDAFornitore
MDAUtente
Informazioni caratteristiche servizio
+
Informazioni dinamiche
GroupMDAInfrastruttura
GroupMDAFornitori
PeerMDAInfrastruttura
PeerMDAInfrastruttura
PeerMDAFornitore
PeerMDAFornitore
(bridge)
GroupCategoria
1
Informazioni
caratteristiche
servizio
+
Informazioni
dinamiche
PeerMDAInfrastruttura
Informazioni caratteristiche servizio
+
Informazioni dinamiche
+
Informazioni profilo fornitore
GroupMDAUtenti
PeerMDAUtente
PeerMDAUtente
PeerMDAUtente
Informazioni caratteristiche servizio
+
Informazioni dinamiche
+
Informazioni profilo utente
Altri JXTA Group
Servizi
descritti con
altri
protocolli
(UPnP)
Conclusioni e Sviluppi Futuri
Obiettivi proposti e realizzati:
Discovery Avanzato: Personalizzazione Esplicita, Implicita, Hardware e Software;
Profili;
JXTA;
Supporto Legacy e altri Protocolli (UPnP);
QoS: LoadBalancing;
Politica del meno carico.
Publish/Subscribe.
Da realizzare:
Sicurezza;
Caching dei Servizi sul Lato Utente;
Raccolta di Informazioni per Stilare Statistiche.
Any Questions?
Fine
Scarica

presentazione