16
Progetto di Reti di Calcolatori LS Colombini Emanuele Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli Middleware Samoa (S ocially-A ware and MO bile A rchitecture)

Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Embed Size (px)

DESCRIPTION

Middleware Samoa ( S ocially- A ware and MO bile A rchitecture). Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli. Reti sociali. Rete sociale: Rete di utenti legati mediante relazioni sociali Amicizia Lavoro Interessi comuni Conoscenza. - PowerPoint PPT Presentation

Citation preview

Page 1: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Tutor:

Ing. Dario Bottazzi

Gruppo:

Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Middleware Samoa(Socially-Aware and MObile Architecture)

Page 2: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Reti socialiReti socialiRete 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 spaziali2. Molto variegati: esistono soluzioni diverse per adattarsi ai vari interessi degli utenti3. 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 utenti2. Slegati dalla località: non tengono in considerazione il contesto dell’utente3. Soluzioni special purpose: solitamente sono difficilmente adattabili ad altre applicazioni

Esempi:• Myspace: 107 milioni di utenti• Facebook: 73 milioni di utenti

Page 3: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

SamoaSamoa

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

Mobilità• Sfrutta la tecnologia dei nuovi dispositivi portatili• La rete segue l’utente aggiornando automaticamente la sua struttura

Prossimità• La rete è popolata dalle entità presenti nella medesima località in cui si trova l’utente

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

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.

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

Page 4: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Entità SamoaEntità SamoaEgo-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:

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

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.

Page 5: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Profili SamoaProfili Samoa

User Profile• contiene la lista degli interessi dell’ego-user e le attività da lui svolte, specificando ove necessario le preferenze

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

Personal Identifier• identificatore che rappresenta univocamente l’utente

Indipendentemente dal ruolo, ogni utente deve fornire le seguenti informazioni:

Ogni Manager deve inoltre specificare i criteri per costruire la propria rete sociale:

Page 6: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Modello della rete socialeModello della rete sociale

Località

Rete sociale

Place Profile

Discovery Profile

Clients

Members

Manager

Page 7: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Architettura del MiddlewareArchitettura del Middleware

JVM – OS – HW – Network

APPLICATION

location/proximity manager

message transport manager

semantic matching engineprofile manager

global social network manager

place-dependent social network

manager

Social NetworkManagement Layer

Basic ServiceLayer

Page 8: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Basic Service LayerBasic Service LayerMessage 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

Page 9: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Social Network Management LayerSocial Network Management LayerProfile 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

Page 10: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

ImplementazioneImplementazioneProfile 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

Semantic Matching Engine (SME)•Servizio attivo per accesso in mutua esclusione• Implementazione degli algoritmi 1 e 2 provvisoria

LPM PM

GSNM

PSNM

SME

MTM

PM

net

Page 11: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Profile ManagerProfile Manager

PM: ricezione nuovo utente

PM: Invio PP al nuovo utente

PM: Ricezione PP

SME: Algoritmo1(PP, UP)

PM: Invio UMPPM: Ricezione

UMP

SME: Algoritmo2 (UMP, DP)

Entrato nella rete sociale?

PSNM: Aggiungi nuovo utente alla

rete sociale

PM: Invia risposta a utente

PM: Ricezione risposta

No

Si

Ma

na

ger

Clie

nt

PM: Protocollo di inserimento utente

Page 12: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

SME algoritmo 1SME algoritmo 1C

lien

t

Algoritmo1: Creazione nuovo

UMP

Altre Attività?(PlaceProfile)

Relazione attività?

Si

Algoritmo1: Restituzione UMP

No

No

Aggiunta preferenze utente

ad UMP

SI

PP manager

UP client

UMP client

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• l’attività del cliente è dipendente dall’attività specificata dal manager

Page 13: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

SME algoritmo 2SME algoritmo 2

Algoritmo2(UMP, DP)

UMP vuoto? Return False

Altre Attività?

Si

No

Match ok?

Si

Return FalseNo

Return TrueNo

Si

Ma

na

ger

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• la preferenza del client specifica quella indicata dal manager• la preferenza del client è una generalizzazione di quella specificata dal manager

DP manager

UMP client

Page 14: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Caso di studio: Viral MarketingCaso di studio: Viral Marketing

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

Caso di studio: Viral MarketingPer 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.

Page 15: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

Caso di studio: iterazioneCaso di studio: iterazione

PP manager

presence beaconUMP client

Manager Client

ManagerClient

1) Un passante entra nel raggio d’azione di un negozio ed invia il suo PresenceBeacon

2) Inizia il protocollo gestito dal PM per decidere se l’utente può entrare a far parte della rete sociale o meno

3) Al termine del protocollo, se l’esito è stato positivo, il negozio invia la pubblicità al passante e lo inserisce nella propria rete sociale

Negozio Passante

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

Page 16: Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli

Progetto di Reti di Calcolatori LS Colombini Emanuele

FineFine

Grazie della cortese attenzione