UNIVERSITA’ DEGLI STUDI DI ROMA
“SAPIENZA”
Dipartimento di Informatica e Sistemistica
Progetto e Sviluppo di un algoritmo
per la gestione della Federazione
Interdominio in un’architettura di
Service Discovery
Relatore:
Prof. Francesco Delli Priscoli
Correlatore:
Ing. Vincenzo Suraci
Candidato:
XXX
Roma, Febbraio 2008
Concetti Fondamentali

Federazione

Una associazione comprendente qualsiasi numero di generici domini
DAIDALOS che cooperano in un determinato aspetto (Amministrazione,
Tariffazione, Diritti e Obblighi tra i membri).

Dominio DAIDALOS
Dominio con funzioni di Authorization, Authentication, Accounting, Auditing and
Charging (A4C).

Query

Specifica dei requisiti che i servizi desiderati da un utente devono
possedere.
 Diversi tipi di informazioni aggregate in una query:




Keywords per il servizio richiesto
Descrizione semantica
Informazioni di personalizzazione
Informazioni di contesto
BASIC
SEMANTIC
PRIVACY
CONTEXT
Maggiore informazione scambiata = Maggiore qualità per i risultati della query
2
Service Discovery in DAIDALOS II
Caso Inter-dominio
Intra-dominio
SDS
?
BASIC
SEMANTIC
PRIVACY
CONTEXT
SDS
?
Domain D
Domain B
SDS
?
?
Domain A
?
?
SDS
SDS
Domain E
Domain C

Classe di Federazione
“Misura” del livello di fiducia tra due Operatori di Rete
 Maggiore la classe di Federazione, maggiore è il numero delle informazioni
sensibili che si possono scambiare

F-class 1
F-class 2
F-class 3
F-class 4
F-class 5
NONE
BASIC
SEMANTIC
BASIC
SEMANTIC
PRIVACY
BASIC
SEMANTIC
PRIVACY
CONTEXT
BASIC
SEMANTIC
PRIVACY
CONTEXT
3
Federazione Interdominio
FG3
BASIC
SEMANTIC
PRIVACY
3
SDS
BASIC
SEMANTIC
PRIVACY
CONTEXT
BASIC
SEMANTIC
PRIVACY
CONTEXT
4
FG4
SDS
Domain D
Domain B
SDS
3
3
SDS
BASIC
SEMANTIC
PRIVACY
Domain C

4
Domain A
4
BASIC
SEMANTIC
PRIVACY
CONTEXT
SDS
Domain E
Gruppi di Federazione (FGi)
Stabiliscono i “limiti” di ricerca per una query (Scope)
 Tutti i membri di un gruppo hanno rapporti di Federazione reciproci k ≥ i

Scopo della Tesi
Creazione di moduli software basati su tecnologie p2p e loro integrazione nel Service
Discovery Server di ogni Dominio DAIDALOS per permettere:
La comunicazione tra essi (segnalazione e inoltro query)
La creazione dei Gruppi di Federazione, basati sui rapporti di Federazione Interdominio
4
Il monitoraggio dei membri di ogni gruppo
Problema di ricerca su grafo
5 domain B 3
domain A
4
2
5
5
domain E
4
5
domain C
domain D 2
4
domain F
Esempio
(B, C, E) (C, E, F) massimali
(A, B, C, D) massimale e massima
Grafo semplice, non orientato, pesato
I nodi rappresentano i domini
NODO = PEER dell’architettura p2p
Gli archi le relazioni di Federazione tra essi
ARCO = Classe di Federazione tra PEER
Alcune definizioni. G=(V, E)
Completo, se ogni coppia di vertici è unita
da un arco
Per un sottoinsieme S di V, G(S) è il sottografo
indotto da S. G(S)=(S, E’)
S è una clique(cricca), se G(S) è completo e
non è contenuto in nessun altro sottografo
completo di G.
Una clique è massimale se non è contenuta in
nessun’altra clique.
Una clique è massima, se è massimale e di
dimensione massima.
Una clique non considera i valori dei pesi.
Creazione dei gruppi di Federazione
=
Calcolo di tutte le clique massimali sul grafo di Federazione filtrato sui pesi
5
degli archi con valori decrescenti 5  2
Algoritmo – Grafo completo
3
B
5
A
E
4
4
2
5
D
filtro = 5
filtro = 4
5
C
5
4
2
filtro = 3
F
filtro = 2
FG_5(A, B, D), FG_5(E, F)
FG_4(B, C), FG_4(C, E, F)
FG_3(B, C, E)
FG_2(A, B, C, D)
PROCEDURE
int filtro = 5;
Insieme<Gruppi> federationGroups = {}
BEGIN
WHILE(filtro ≥ 2) {
Elimina dal grafo tutti gli archi con peso w < filtro;
Sul grafo risultante calcola tutte le clique massimali;
Per ogni clique (p1,..,pn) trovata {
IF(non esiste in federationGroups un insieme che ha
come membri tutti e soli i nodi della clique)
aggiungi FG_filtro(p1,..,pn) a federationGroups;
}
filtro- -;
}
RETURN federationGroups;
END
Calcolo di tutte le clique massimali = Algoritmo di Bron-Kerbosch(1973)
Calcola tutte le clique in un grafo in tempo lineare (relativamente al numero
delle clique)
Ancora ampiamente usato e considerato uno dei più veloci algoritmi
6
Algoritmo – Ottimizzazione
3
B
5
A
E
4?
4
2
5
D
5
C
?
5
4
?
2
Un peer risale alle informazioni mancanti (archi) tramite
scambio di messaggi con gli altri peer di interesse
A
X
F
Il precedente approccio
Si basa sulla conoscenza completa del grafo di
Federazione
Un peer non conosce i rapporti di Federazione tra
tutti i domini della rete, ma solo i suoi rapporti con i
suoi vicini!
Un nodo (che rappresenta un peer) deve solamente
conoscere il valore dei pesi degli archi tra tutti i nodi a lui
adiacenti
Ogni nodo costruisce un grafo parziale relativo al suo
“vicinato” -> Su esso applica l’algoritmo
Y
Problema del triangolo
Richiesta di A (Y ≥ X)
Il richiedente chiede il valore di Z al peer con cui ha Classe di
Federazione (FC) maggiore (B)
C
Z
B
Risposta di B
Il peer invia il valore minimo della propria conoscenza sui valori
degli archi del triangolo
Z ≤ Y = invia Z (valore esatto)
7
Z > Y = invia Y (nasconde la maggiore FC -> PRIVACY)
Jxta
 Requisiti dell’architettura peer-to-peer
 Agevole scambio di messaggi tra peers
 Possibilità di creazione di aree private virtuali (Gruppi di Federazione)
 Monitoraggio tra i membri di un gruppo
 JXTA (SUN Microsystems)
 Protocolli che standardizzano il modo in cui i peers





Si scoprono nella rete
Si auto-organizzano in gruppi (Peergroups)
Pubblicano e scoprono le risorse messe a disposizione della rete
Comunicano tra loro
Monitorano la loro attività all’interno di un gruppo
 Concetti fondamentali
Advertisement ogni risorsa della rete Jxta è
rappresentata da un Adv. Si scopre una risorsa
cercando per il relativo advertisement.
Peer entità che implementa uno o più protocolli
Jxta
PeerGroup collezione di peers che si uniscono per
interessi comuni.
Pipe meccanismo per la comunicazione tra peers.
8
Scelte di progetto



Linguaggio di programmazione JAVA 2 Standard Edition
Infrastruttura peer-to-peer JXTA
Librerie di gestione dell’oggetto “Grafo”


JUNG, JGRAPHT opensource (Visualizzazione e algoritmo di Bron-Kerbosch)
Scelte architetturali
NetworkPeergroup
Peergroup
Network
Federation Peergroup
Rendezvous+Relay Peer
Rendezvous+Relay peer
•Peer di infrastruttura. Aiuta nella
propagazione dei messaggi e archivia gli
advertisement usati dagli edge peer per
comunicare.
•Fornisce connettività ad edge peers
vincolati dietro Firewall e/o NAT.
Edge peer
Edge peer
•Implementa il DAIDALOS domain.
Comunica con gli altri edge peers per
ricostruire il proprio grafo parziale.
•A ricostruzione ultimata ricava i Gruppi di
Federazione e vi si unisce.
Tutti i peer allo startup appartengono al gruppo di default Network peergroup.
All’interno del Net peergroup viene creato un ulteriore Federation peergroup accessibile solo ai
peers che implementano i DAIDALOS domains.
Federation peergroup è il gruppo base per la comunicazione tra peers.
9
Scarica

F-class 5