SAMOA
A Semantic Context-aware Middleware-level Solution
to Support AnyTime and Anywhere Social Networks
Francesco Ferri
0000249016
Reti sociali.
“Nella teoria delle reti sociali (social network
theory) la società è vista e come rete di relazioni,
più o meno estese e strutturate. Il presupposto
fondante è che ogni individuo si relaziona con gli
altri e questa sua interazione plasma e modifica il
comportamento di entrambi.”
Reti sociali: cambio di contesto.
Peter Steiner, una vignetta
SAMOA e le reti sociali.
In SAMOA specifichiamo due ruoli: Manager
e utenti
.
Manager -> definisce la dimensione e stabilisce i criteri di appartenenza della rete sociale.
Utente -> può manifestare interesse ad entrare nella rete sociale; il manager lo
accoglierà se presenta i requisiti necessari.
1)
2)
Manager
3)
Manager
Manager
I profili.
SOMOA contempla l’uso di tre profili: User profile (UP), Place profile (PP) e Discovery
profile (DP).
1.Utenti
2.PP
3.DP
I profili.
!
<Attività: Arte>
<Preferenza: Leonardo>
Soggetto: uomo.
Tecnica: disegno.
</Preferenza>
</Attività>
<Attività: Degustazione>
<Preferenza: Vini>
Tipo: rosso.
% alcool: <10°.
</Preferenza>
<Preferenza: Formaggi>
Stagionatura: >1 anno.
</Preferenza>
</Attività>
UP
<Attività: Arte>
</Attività>
<Attività: Acquisto libri>
</Attività>
PP
<Attività: Arte>
<Preferenza: Leonardo>
Tecnica: disegno.
</Preferenza>
<Preferenza: Caravaggio>
Soggetto: storico.
Tecnica: olio su tela.
</Preferenza>
</Attività>
DP
Neighbours Table.
Cliente C
Cliente non
compatibile con
la rete sociale
Cliente D
Cliente B
Manager
Cliente A
CurrentTime > TimeStamp
UUID
UuidA
UuidB
…
UuidF
Add
133.99.75.11
112.88.75.10
…
180.17.75.13
Time
1212
1277
…
1579
Neighbours Table
Cliente E
Cliente F
Two matching algorithms.
1.Place Profile(PP)
2.User Matching Profile(UMP)
0.UP
1.UMP=PP+UP
3.Valid/invalid member
0.PP , DP
2.Y/N=UMP+DP
La galleria d’arte: un esempio.
<Attività: Musica>
<Preferenza: Classica>
Strumento: corno francese.
<Attività: Arte>
</Attività>
<Attività: Acquisto libri>
</Attività>
PP
</Preferenza>
NO MATCH
</Attività>
UP
<Attività: Arte>
<Preferenza: Leonardo>
Soggetto: uomo.
Tecnica: disegno.
</Preferenza>
</Attività>
<Attività: Degustazione>
<Preferenza: Vini>
Tipo: rosso.
% alcool: <10°.
</Preferenza>
<Preferenza: Formaggi>
Stagionatura: >1 anno.
</Preferenza>
</Attività>
UP
<Attività: Arte>
<Preferenza: Leonardo>
Tecnica: disegno.
</Preferenza>
<Preferenza: Caravaggio>
Soggetto: storico.
Tecnica: olio su tela.
</Preferenza>
</Attività>
DP
BLA
BLA
SAMOA: un’architettura a livelli
Gestione dei
profili.
Ricerca di affinità
tra utenti.
Supporto alla
persistenza.
Controllo
evoluzione rete.
Gestione della
comunicazione
Ricerca di
possibili utenti.
MTM
Message Transport Manager
Fornisce delle porte di input e di
output per trasmissioni broadcast.
MTM
Mette a disposizione per i servizi in
alto delle porte di input e output
per trasmissioni punto-punto.
Gestisce delle code per evitare
di perdere messaggi in arrivo
da più nodi.
L/PM
Location/Proximity Manager
Assegna un UUID all’utente, e lo
memorizza nel file personalID.
L/PM
Richiede una porta all’MTM per
trasmettere in broadcast il proprio
beacon di presenza per segnalare di
essere attivo in quella località.
Si pone in attesa di beacon di presenza altrui, occupandosi
di popolare una hashTable di vicini (NeighboursTable).
Inoltre gestisce la coda neighboursVariationQueue, per
segnalare ai servizi in alto l’entrata di un utente o la sua
uscita se viene oltrepassata una soglia di tempo senza
ricevere beacon da un nodo.
L/PM
assegna/recupera
L/PM
gestisce
comunica
PersonalID.txt
PM
UUID
UuidA
UuidB
…
UuidF
Add
133.99.75.11
112.88.75.10
…
180.17.75.13
Time
1212
1277
…
1579
Neighbours Table
PSNM
Place-dependent Social Network Manager
Si occupa di mantenere aggiornato
l’insieme degli utenti attivi in quel
momento, non gestisce la storia
globale della rete sociale stessa.
PSNM
In caso di variazione di profilo di
un utente, questo deve essere
sostituito al vecchio.
Coopera in stretto contatto con il
PM, il quale a fronte di variazioni
della rete sociale informa il PSNM.
Ottiene dal PM, l’UUID e l’UP degli
utenti attivi.
PSNM
Verde arrivato
Rosso arrivato
Giallo arrivato
GSNM
Global Social Network Manager
Gestisce la persistenza degli
utenti: mantiene uno storico di
tutti gli utenti entrati nella storia
della rete sociale.
GSNM
Mantiene l’informazione dei profili
degli utenti: UP, DP e PP.
Verifica la consistenza delle
informazioni contenute: tiene
traccia di quei profili per cui si
conosce l’UP, assegna PP e DP di
default se essi mancano.
GSNM – Struttura DB
../ProfileRepository/
DP1.txt PP1.txt UP1.txt
DP2.txt PP2.txt UP2.txt
DP3.txt PP3.txt UP3.txt
Identificativo
univoco
dell’utente
Profili coinvolti.
Hash.
PM
Profile Manager
E’ un servizio centrale in SAMOA,
coordina e comunica con tutti gli altri
servizi con l’obiettivo di costituire
correttamente la rete sociale.
PM
Ottiene dall’ LPM l’informazione di
possibili utenti osservando la
Neighbour Table.
Avvia e segue il protocollo per
inglobare un utente nella rete
sociale.
Segnala al PSNM ed al GSNM come
la rete sociale stà evolvendo: utenti
che si connettono/disconnettono, che
cambiano profilo, passano le
informazioni da memorizzare.
SME
Semantic Maching Engine
Si occupa del controllo di
compatibilità tra il place profile e
l’user profile, stabilendo se un utente
svolge attività legate al place.
SME
Verifica la compatibilità tra la parte di
profilo ottenuta dal precedente
controllo per osservare se le
preferenze del manager e dell’utente
hanno punti di contatto.
Scenari di funzionamento.
1.
3.
2.
Scarica

presentazione