Middleware Samoa
(Socially-Aware and MObile Architecture)
Tutor:
Ing. Dario Bottazzi
Gruppo:
Emanuele Colombini, Francesco Ferri, Gianpiero Napoli
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Reti sociali
Rete sociale:
• Rete di utenti legati mediante relazioni sociali
• Amicizia
• Lavoro
• Interessi comuni
• Conoscenza
Strumenti internet based
• Strumenti utilizzati per costruire reti sociali sfruttando il web. Permettono la creazione di comunità di utenti
aventi i medesimi interessi
• vantaggi:
1. Slegati dalla località: permettono di andare oltre i limiti spaziali
2. Molto variegati: esistono soluzioni diverse per adattarsi ai vari interessi degli utenti
3. Semplici da usare: gli utenti non devono far altro che specificare i propri interessi in profili
• limiti:
1. Conoscenza limitata: il compito di conoscere altre persone è a carico degli utenti
2. Slegati dalla località: non tengono in considerazione il contesto dell’utente
3. Soluzioni special purpose: solitamente sono difficilmente adattabili ad altre applicazioni
Esempi:
• Myspace: 107 milioni di utenti
• Facebook: 73 milioni di utenti
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Samoa
Definizione: Middleware per creare reti sociali semantiche in ambienti mobili, in qualsiasi
momento e luogo.
Obiettivo: semplificare la creazione delle applicazioni senza preoccuparsi degli aspetti legati
alla gestione della rete sociale
Anytime & Anywhere computing
• Non è necessaria la presenza della rete internet.
• La rete sociale che viene a crearsi è fortemente dipendente dal luogo in cui si sviluppa.
Soluzione a Middleware
• Rende facile la prototipazione delle applicazioni per il social computing
• Permette al programmatore di trascurare la gestione della rete sociale
• E’ riutilizzabile per altre applicazioni solamente cambiandone la configurazione
Prossimità
• La rete è popolata dalle entità presenti nella medesima località in cui si trova l’utente
Mobilità
• Sfrutta la tecnologia dei nuovi dispositivi portatili
• La rete segue l’utente aggiornando automaticamente la sua struttura
Approccio semantico
• Usa algoritmi di matching semantico per identificare gli utenti di una rete sociale
• A differenza delle soluzioni internet based, non è necessario conoscere a priori i partecipanti della rete
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Entità Samoa
Ego-User
Utilizzatore del sistema, specifica i propri interessi e le relative preferenze
• La rete sociale SAMOA è formata dal gruppo di utenti che si trovano tutti nella località dell’ego-user e ne
condividono gli interessi
• Ogni ego-user può costruire e/o essere membro di una rete sociale. Egli può pertanto interpretare uno o
più dei seguenti ruoli previsti:
Manager
• Ego-user intenzionato a costruire una propria rete sociale, per la quale deve specificare i criteri
• Non ci sono limitazioni alla figura del manager: può essere un utente o una macchina, mobile o
fisso.
Clients
• Generico utente SAMOA, potenziale membro della rete.
Member
• Utente SAMOA che ha superato il test semantico ed è entrato a far parte della rete sociale
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Profili Samoa
Indipendentemente dal ruolo, ogni utente deve fornire le seguenti informazioni:
Personal Identifier
• identificatore che rappresenta univocamente l’utente
User Profile
• contiene la lista degli interessi dell’ego-user e le attività da lui svolte, specificando ove necessario
le preferenze
Ogni Manager deve inoltre specificare i criteri per costruire la propria rete sociale:
Place Profile
• descrive la località in cui si sviluppa la rete sociale.
• contiene la lista delle attività scelte dal manager per la propria rete sociale
• agisce come primo filtro per l’individuazione dei membri della rete
Discovery Profile
• indica i criteri scelti dal manager per popolare la propria rete sociale
• contiene le preferenze sulle attività specificate nel PlaceProfile
• agisce come secondo filtro per l’individuazione dei membri della rete
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Modello della rete sociale
Manager
Place Profile
Clients
Località
Discovery Profile
Members
Rete sociale
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Architettura del Middleware
APPLICATION
profile manager
semantic
matching engine
Social Network
Management Layer
place-dependent
social network
manager
global social
network manager
message
transport
manager
location/proximity
manager
Basic Service
Layer
JVM – OS – HW – Network
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Basic Service Layer
Message Transport Manager (MTM)
• Effettua le comunicazioni con le altre entità SAMOA
 punto – punto: unicast
 punto – multipunto: broadcast
• Per le comunicazioni broadcast in ambienti ad hoc viene usato un
protocollo di flooding controllato
Location/Proximity Manager (LPM)
• Percepisce la presenza di altri utenti SAMOA
 memorizza PID ed indirizzo IP degli utenti riconosciuti
• Riconosce quando un utente esce dal raggio d’azione del manager
• Rende nota la presenza dell’ego-user alle altre entità SAMOA
 gestisce la dimensione del raggio d’azione della rete
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Social Network Management Layer
Profile Manager (PM)
• Gestisce i profili dell’ego-user
• Si coordina con il LPM per riconoscere l’ingresso o l’uscita degli utenti
• Gestisce le comunicazioni per il protocollo semantico di inserimento nella rete sociale
 Collabora con lo SME per l’uso degli algoritmi semantici
Semantic Matching Engine (SME)
• Fornisce gli algoritmi semantici utilizzati dal protocollo del PM
 Algoritmo 1: le attività dell’utente sono confrontate con quelle dell’ego-user. L’output dell’algoritmo è
composto dalle attività che utente ed ego-user hanno in comune.
 Algoritmo 2: sono confrontate le preferenze dell’utente con quelle indicate dall’ego-user. L’output
dell’algoritmo è un booleano che indica se l’utente è idoneo ad entrare nella rete sociale
Place-dependent Social Network Manager (PSNM)
• Contiene i dati relativi a tutti gli attuali utenti della rete sociale
• Ha il compito di informare il livello applicativo dell’ingresso o dell’uscita di un utente dalla rete sociale
Global Social Network Manager (GSNM)
• Memorizza i profili degli utenti che hanno fatto parte di una rete sociale del manager
• Memorizza anche i PP ed i DP che hanno portato all’inserimento dell’utente
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Implementazione
Profile Manager (PM)
• Servizio attivo
• Rimane in ascolto per l’ingresso di nuovi clienti nel
raggio d’azione della rete dal LPM
• Comunica con i servizi PM delle altre entità SAMOA con
le quali entra in contatto
• Utilizza i canali di comunicazione messi a disposizione
dal MTM
• Ritrasmissioni nel caso il protocollo di comunicazione
non termini in modo corretto
• Invio dei soli dati necessari. Utilizzo dei profili
memorizzati dal GSNM quando possibile
PM
net
MTM
GSNM
LPM
PM
Semantic Matching Engine (SME)
•Servizio attivo per accesso in mutua esclusione
• Implementazione degli algoritmi 1 e 2 provvisoria
PSNM
SME
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Profile Manager
PM: Protocollo di inserimento utente
PM: ricezione
nuovo utente
PM: Invio PP al
nuovo utente
PM: Ricezione PP
PM: Ricezione
UMP
PM: Invio UMP
Client
Manager
SME: Algoritmo1
(PP, UP)
SME: Algoritmo2
(UMP, DP)
PSNM: Aggiungi
nuovo utente alla
rete sociale
Si
Entrato nella
rete sociale?
No
PM: Invia risposta
a utente
Progetto di Reti di Calcolatori LS
PM: Ricezione
risposta
Colombini Emanuele
SME algoritmo 1
SME algoritmo 1:
Vengono confrontate le attività richieste dal manager
con quelle indicate dal cliente nel proprio UP. Le due
attività sono in relazione quando:
• l’attività del manager è la stessa attività del cliente
Client
Algoritmo1:
Creazione nuovo
UMP
Altre Attività?
(PlaceProfile)
No
No
Algoritmo1:
Restituzione UMP
• l’attività del cliente è dipendente dall’attività specificata
dal manager
Si
Relazione
attività?
PP
UP
manager
client
SI
Aggiunta
preferenze utente
ad UMP
Progetto di Reti di Calcolatori LS
UMP
client
Colombini Emanuele
SME algoritmo 2
SME algoritmo 2:
Nell’ambito delle attività in comune contenute nel
UMP, vengono confrontate le preferenze dell’utente
con quelle del manager. Le preferenze sono in
relazione quando:
• manager e utente specificano la stessa preferenza
Manager
Algoritmo2
(UMP, DP)
UMP vuoto?
Si
Return False
• la preferenza del client specifica quella indicata dal
manager
• la preferenza del client è una generalizzazione di
quella specificata dal manager
No
Altre Attività?
Si
No
Return True
No
Return False
DP
UMP
manager
client
Si
Match ok?
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Caso di studio: Viral Marketing
Caso di studio: Viral Marketing
Per mostrare le capacità di SAMOA è stato realizzato un caso di studio
di viral marketing. Gli utenti, passando vicino ai negozi delle vie del
centro, vengono informati con un messaggio pubblicitario quando i loro
interessi combaciano con i prodotti venduti dal negozio stesso. Oltre a
questo scambio, le applicazioni realizzate mantengono in memoria le
pubblicità e le inviano ad altri utenti SAMOA che entrano a far parte
delle loro reti sociali. Questo mostra come un informazione possa
passare attraverso persone che hanno gli stessi interessi, anche senza
che questi si conoscano preventivamente.
Applicazione: SoNet
Per simulare le capacità di SAMOA è stata realizzata un’applicazione
pensata apposta per i dispositivi wireless portatili.
• visualizza gli utenti che fanno parte della propria rete sociale
• permette di entrare in contatto con loro mediante l’invio e la ricezione di messaggi
• invia messaggi informativi ai nuovi entranti della rete sociale
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Caso di studio: iterazione
1) Un passante entra nel raggio
d’azione di un negozio ed invia il
suo PresenceBeacon
PP
manager
presence
UMP
beacon
client
2) Inizia il protocollo gestito dal PM
per decidere se l’utente può entrare
a far parte della rete sociale o
meno
Manager
Client
Client
Manager
Negozio
Progetto di Reti di Calcolatori LS
Passante
3) Al termine del protocollo, se
l’esito è stato positivo, il negozio
invia la pubblicità al passante e lo
inserisce nella propria rete sociale
4) Contemporaneamente anche il
passante esamina il negozio. Di
norma i negozi sono rappresentati
da entità SAMOA automatiche e
non entrano nelle reti sociali altrui
Colombini Emanuele
Fine
Grazie della cortese attenzione
Progetto di Reti di Calcolatori LS
Colombini Emanuele
Scarica

presentazione