SAMOA Francesco Ferri 0000249016 A Semantic Context-aware Middleware-level Solution to Support AnyTime and Anywhere Social Networks
Mar 18, 2016
SAMOAFrancesco Ferri0000249016
A Semantic Context-aware Middleware-level Solution to Support AnyTime and Anywhere Social Networks
Reti sociali.
Peter Steiner, una vignetta
“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.
SAMOA e le reti sociali.
Manager
In SAMOA specifichiamo due ruoli: Manager e utenti .
Utente -> può manifestare interesse ad entrare nella rete sociale; il manager lo accoglierà se presenta i requisiti necessari.
Manager -> definisce la dimensione e stabilisce i criteri di appartenenza della rete sociale.
Manager
1) 2)
Manager
3)
I profili.SOMOA contempla l’uso di tre profili: User profile (UP), Place profile (PP) e Discovery profile (DP).
2.PP
3.DP
1.Utenti
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
PP
DP
<Attività: Arte></Attività><Attività: Acquisto libri></Attività>
<Attività: Arte> <Preferenza: Leonardo> Tecnica: disegno. </Preferenza> <Preferenza: Caravaggio> Soggetto: storico. Tecnica: olio su tela. </Preferenza></Attività>
!
Neighbours Table.
ManagerCliente A
Cliente BCliente D
Cliente E
Cliente F
Cliente C
TimeUUID Add
UuidBUuidA
UuidF… … …
12771212
1579
112.88.75.10
133.99.75.11
180.17.75.13
Cliente non compatibile con
la rete sociale
Neighbours Table
CurrentTime > TimeStamp
Two matching algorithms.
1.Place Profile(PP)
2.User Matching Profile(UMP)
3.Valid/invalid member0.UP 0.PP , DP
1.UMP=PP+UP 2.Y/N=UMP+DP
<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à>
<Attività: Musica> <Preferenza: Classica> Strumento: corno francese. </Preferenza></Attività> <Attività: Arte>
<Preferenza: Leonardo> Tecnica: disegno. </Preferenza> <Preferenza: Caravaggio> Soggetto: storico. Tecnica: olio su tela. </Preferenza></Attività>
UP
PP
DP
UP
<Attività: Arte></Attività><Attività: Acquisto libri></Attività>
NO MATCH
La galleria d’arte: un esempio.
BLA BLA
SAMOA: un’architettura a livelli
Supporto alla persistenza.
Ricerca di possibili utenti.
Gestione della comunicazione
Gestione dei profili.
Controllo evoluzione rete.
Ricerca di affinità tra utenti.
MTMMessage Transport Manager
MTM
Fornisce delle porte di input e di output per trasmissioni broadcast.
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/PMLocation/Proximity Manager
Richiede una porta all’MTM per trasmettere in broadcast il proprio beacon di presenza per segnalare di essere attivo in quella località.
Assegna un UUID all’utente, e lo memorizza nel file personalID.
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
PersonalID.txt
L/PM
TimeUUID Add
UuidBUuidA
UuidF… … …
12771212
1579
112.88.75.10
133.99.75.11
180.17.75.13
Neighbours Table
gestisce
comunica
PM
PSNMPlace-dependent Social Network Manager
PSNM
Si occupa di mantenere aggiornato l’insieme degli utenti attivi in quel momento, non gestisce la storia globale della rete sociale stessa.
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.
PSNMVerde arrivatoRosso arrivatoGiallo arrivato
GSNMGlobal Social Network Manager
GSNM
Gestisce la persistenza degli utenti: mantiene uno storico di tutti gli utenti entrati nella storia della rete sociale.
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
Identificativo univoco dell’utente
Profili coinvolti. Hash.
DP1.txtDP2.txtDP3.txt
PP2.txtPP1.txt
PP3.txt UP3.txtUP2.txtUP1.txt
../ProfileRepository/
PMProfile Manager
PM
E’ un servizio centrale in SAMOA, coordina e comunica con tutti gli altri servizi con l’obiettivo di costituire correttamente la rete sociale.
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.
SMESemantic Maching Engine
SME
Si occupa del controllo di compatibilità tra il place profile e l’user profile, stabilendo se un utente svolge attività legate al place.
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.
2.
3.