200 likes | 384 Views
SAMOA. A Semantic Context-aware Middleware-level Solution to Support AnyTime and Anywhere Social Networks. Francesco Ferri 0000249016. Reti sociali.
E N D
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) 3) Manager 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à> <Attività: Arte> </Attività> <Attività: Acquisto libri> </Attività> <Attività: Arte> <Preferenza: Leonardo> Tecnica: disegno. </Preferenza> <Preferenza: Caravaggio> Soggetto: storico. Tecnica: olio su tela. </Preferenza> </Attività> PP DP UP
Neighbours Table. Cliente C Cliente non compatibile con la rete sociale Cliente B Cliente D Manager Cliente A CurrentTime > TimeStamp UUID Add Time Cliente E UuidA 1212 133.99.75.11 UuidB 1277 112.88.75.10 … … … UuidF 1579 180.17.75.13 Cliente F Neighbours Table
Two matching algorithms. 1.Place Profile(PP) 2.User Matching Profile(UMP) 0.UP 0.PP , DP 1.UMP=PP+UP 2.Y/N=UMP+DP 3.Valid/invalid member
La galleria d’arte: un esempio. <Attività: Arte> </Attività> <Attività: Acquisto libri> </Attività> <Attività: Musica> <Preferenza: Classica> Strumento: corno francese. </Preferenza> </Attività> PP NO MATCH <Attività: Arte> <Preferenza: Leonardo> Tecnica: disegno. </Preferenza> <Preferenza: Caravaggio> Soggetto: storico. Tecnica: olio su tela. </Preferenza> </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à> DP BLA BLA UP
SAMOA: un’architettura a livelli Gestione dei profili. Ricerca di affinità tra utenti. Supporto alla persistenza. Controllo evoluzione rete. Ricerca di possibili utenti. Gestione della comunicazione
MTM Message Transport Manager 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. MTM 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 gestisce L/PM comunica UUID Add Time UuidA 1212 133.99.75.11 UuidB 1277 PersonalID.txt 112.88.75.10 PM … … … UuidF 1579 180.17.75.13 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. In caso di variazione di profilo di un utente, questo deve essere sostituito al vecchio. PSNM 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 UP2.txt PP2.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. Ottiene dall’ LPM l’informazione di possibili utenti osservando la Neighbour Table. PM 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.