Middleware per il Discovery Avanzato
Masini Simone Mat. 197130
in gruppo con
Tomaiuoli Giuseppe Mat. 196947
Riuscire a trovare risorse presenti
nell’ambiente
Quanti di noi in un nuovo ufficio vorrebbero poter stampare un articolo per
consultarlo velocemente e non possono perché prima devono configurare
il proprio portatile per la comunicazione con la stampante?

Il Discovery Avanzato permette di considerare informazioni aggiuntive
rispetto ai normali servizi di Discovery, come







preferenze dell’Utente
caratteristiche dei dispositivi
credenziali
località
…
Come descrivere le risorse disponibili?
Sistemi eterogenei


Sistemi operativi diversi, ma anche
Hardware diversi (palmari, portatili, stampanti, …)
Soluzioni da ambienti P2P

UPnP




JXTA




Open Source
Profili con caratteristiche più flessibili
Elementi XML
Architettura Unificante



Protocollo proprietario
Consorzio di Aziende
Rappresentazione informazioni di basso livello derivato dal suo obiettivo di utilizzo
Problemi di compatibilità
Overhead
Scelta

Protocollo JXTA con eventuali Bridge per altri protocolli
Architettura SW di JXTA
Sample JXTA Applications
JXTA
Applications
JXTA
Services
JXTA
Core
Instant
Messaging
MDA
File Sharing
Sample JXTA Services
Search
Peer Groups
Peer Advertisements
Indexing
Peer Pipes
Peer IDs
Discovery
Peer Monitoring
Security
Funzionamento (introduttivo)
Advertisement
Peer A
Advertisement


Peer B
Rendezvous
Peer
discovery
Possibilità di creare pipe tra un peer ed un altro per
scambiare informazioni
Advertisement
Architettura Logica del Middleware
GroupMDAFornitori
creaProfilo
getRemoteAdv(xml)
modificaProfilo
Utente
MDAUtente
PeerMDAFornitore
PeerMDAFornitore
Informazioni caratteristiche servizio
Informazioni dinamiche
Informazioni profilo fornitore
Informazioni
caratteristiche
servizio
GroupMDAInfrastruttura
PeerMDAInfrastruttura PeerMDAInfrastruttura
Informazioni caratteristiche servizio
Informazioni dinamiche
Informazioni profilo utente
creaProfilo
publishAdv(xml)
MDAFornitore modificaProfilo
…
GroupMDAUtenti
Fornitore
PeerMDAUtente
PeerMDAUtente
Informazioni
caratteristiche
servizio
Caratteristiche

Supporto Legacy JXTA e altri protocolli (UPnP)

Accesso al Middleware per il Discovery Avanzato



MDAUtente
MDAFornitore
Gestione Carico

Ordinamento risultati in base al carico dei fornitori


Frequenza aggiornamento libera
Liveness dei Servizi

Messaggio di “Alive” per confermare l’esistenza dei servizi
Gestione Profili (Fault Tolerance:
Persistenza, Replicazione)

Profili memorizzati su




PeerMDAUtente
PeerMDAFornitore
Profili distribuiti su più nodi
Profilo


Se presente in locale (Copia Attiva)
Se non presente in locale…
profilo in
locale
Utente
profilo
non
attivo
richiesta
profilo
PMDA1
PMDA2
profilo
profilo
attivo
non
attivo
PMDA3

Copia non presente

Traffico esente da
picchi

Copia a costo nullo
Personalizzazione della Richiesta
(località, dispositivo corrente,caratteristiche
HW e SW)

Ricerche complesse: più attributi di
descrizione del servizio
estensione advertisement
JXTA
<servizio type="servizio">
<DatiServizio>
<Servizio>
<Nome>Stampa</Nome>
<Attributi>
<Attributo>
<Nome>Colore</Nome>
<Valore>Bn</Valore>
</Attributo>
<Attributo>
<Nome>Tipo</Nome>
<Valore>Laser</Valore>
</Attributo>
<Attributo>
<Nome>Ppm</Nome>
<Valore>15</Valore>
</Attributo>
</Attributi>
</Servizio>
</DatiServizio>
</servizio>
Personalizzazione della Richiesta
(località, dispositivo corrente,caratteristiche
HW e SW)
 Ricerche complesse: più attributi di
<richiesta type="richiesta">
descrizione del servizio da cercare
<DatiServizio>
espressi dall’utente al
momento della richiesta
di un servizio
aggiunti dal sistema
perché presenti nel
profilo dell’utente


estensione advertisement
JXTA

JXTA ricerca solo al primo livello
<Servizio>
<Nome>Stampa</Nome>
<Attributi>
<Attributo>
<Nome>Colore</Nome>
<Valore>Bn</Valore>
</Attributo>
</Attributi>
</Servizio>
</DatiServizio>
<DatiProfilo>
<Profilo>
<Attributo>
<Nome>Tipo</Nome>
<Valore>Laser</Valore>
</Attributo>
</Profilo>
</DatiProfilo>
<IdentificativoPeer>
peer1
</IdentificativoPeer>
<IdentificativoRichiesta>
richiesta 1
</IdentificativoRichiesta>
</richiesta>
Implementazione della Metodologia di
Ricerca (matching)
Richiesta
Servizio
<richiesta type="richiesta">
<servizio type="servizio">
<DatiServizio>
<Servizio>
<Nome>Stampa</Nome>
<Attributi>
<Attributo>
<Nome>Colore</Nome>
<Valore>Bn</Valore>
</Attributo>
<Attributo>
<Nome>Tipo</Nome>
<Valore>Laser</Valore>
</Attributo>
<Attributo>
<Nome>Ppm</Nome>
<Valore>15</Valore>
</Attributo>
</Attributi>
</Servizio>
</DatiServizio>
</servizio>
<DatiServizio>
<Servizio>
<Nome>Stampa</Nome>
<Attributi>
<Attributo>
<Nome>Colore</Nome>
<Valore>Bn</Valore>
</Attributo>
</Attributi>
</Servizio>
</DatiServizio>
<DatiProfilo>
<Profilo>
<Attributo>
<Nome>Tipo</Nome>
<Valore>Laser</Valore>
</Attributo>
</Profilo>
</DatiProfilo>
<IdentificativoPeer>
peer1
</IdentificativoPeer>
<IdentificativoRichiesta>
richiesta 1
</IdentificativoRichiesta>
</richiesta>

Servizi divisi in categorie
Utente
Fornitore
creaProfilo
getRemoteAdv(xml)
modificaProfilo
…
Informazioni
caratteristiche
servizio
MDAFornitore
MDAUtente
creaProfilo
publishAdv(xml)
modificaProfilo
…
Informazioni
caratteristich
e servizio
Informazioni caratteristiche servizio
+
Informazioni dinamiche
GroupMAInfrastruttura
PeerMDAInfrastruttura
PeerMDAInfrastruttura
Informazioni
caratteristiche
servizio
+
Informazioni
dinamiche
GroupCategoria1
PeerMDAFornitore
PeerMDAInfrastruttura
GroupMAUtente
PeerMDAUtente
Informazioni caratteristiche servizio
+
Informazioni dinamiche
+
Informazioni profilo utente
PeerMDAUtente
PeerMDAUtente
GroupMDAFornitori
Informazioni caratteristiche servizio
+
Informazioni dinamiche
+
Informazioni profilo fornitore
PeerMDAFornitore
(bridge)
Conclusioni e sviluppi futuri
Realizzato:

Supporto legacy JXTA e altri protocolli (UPnP)

Gestione Profili (Persistenza, Replicazione e Fault Tolerance)

Personalizzazione della Richiesta (località, dispositivo corrente, caratteristiche
HW e SW)

Implementazione della Metodologia di Ricerca

Gestione Carico e Liveness dei Servizi
Da realizzare:

Sicurezza

Caching dei Servizi sul Lato Utente

Raccolta di Informazioni per Stilare Statistiche

Bridge per altri protocolli: PeerMDAFornitore (UPnP)
Scarica

presentazione