PROFILI Un sistema distribuito e decentralizzato di profile-matching Lorenzo Moretti Maggio 2004.

Slides:



Advertisements
Presentazioni simili
Informatica Modulo 6 – Voce via internet. VoIP Con Voice over IP (Voce tramite protocollo Internet), acronimo VoIP, si intende una tecnologia che rende.
Advertisements

Gestione del processore
5-1 Protocolli ad accesso multiplo Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
Moving Moving Young Young Turin Turin Hydrogen Hydrogen Olympic Olympic Safe RETE MANET informazioni in movimento.
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Reti di Calcolatori Domande di riepilogo Quarta Esercitazione
Algoritmi Paralleli e Distribuiti a.a. 2008/09
IDUL 2010 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2012 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Reti di Calcolatori IL LIVELLO RETE.
JXTA: Protocols JXTA definisce una formati per messaggi XML (aka protocolli) per la comunicazione fra peer: Peer Discovery Protocol (PDP) utilizzato dai.
SARAH Shop Assistant in Reti Ad-Hoc Presence Awareness, modalità disconnessa e dinamiche di update Antonio Gaetani.
Delay Tolerant Networking Service per SAMOA. Il framework SAMOA SAMOA è un framework che consente di gestire e popolare la rete sociale e propagare a.
Qualità di servizio in ambiente wireless Progetto per il corso di Reti di Calcolatori L-S Prof. Antonio CorradiValentina Maraldi.
P ROGETTO PERMESSO PER SISTENT MESS AGING IN AD H O C NETWORKS Presentazione di Manuela Bassetti Corso di Reti di Calcolatori L-S AA Progetto.
BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.
Progetto PERMESSO PERsistent MESSaging in ad hOc networks Presentazione di Vitalone Giuseppe.
SARAH Shop Assistant in Reti Ad-Hoc Marco Montali.
PERMESSO PERsistent MESSaging in ad hOc networks Alessio Franco Matr Corso di Reti di Calcolatori LS A.A. 2005/2006.
M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori L-S AA Presentazione di Roberto Gamboni Progetto di Giuseppe Vitalone,
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa
1 Caratteristiche Reti Wireless ad Estensione Limitata WiFi Bluetooth ZigBee AUREL SPA – November 2008 ZigBee by AUREL.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Reti di Calcolatori LS Professor Antonio Corradi Ingegner Dario Bottazzi Presentazione di Francesco Fiori.
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
L’architettura a strati
Internet: una panoramica
Questo modello può essere utilizzato come file iniziale per la presentazione di materiale didattico per la formazione in gruppo. Sezioni Fare clic con.
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
Energy efficient sensor networks Rome University “La Sapienza” Dipartimento di Informatica Gruppo di Reti Dott.ssa Chiara Petrioli.
Un sistema per la replicazione ottimistica in una rete di pari Progetto di Reti di calcolatori LS Federico Grassi a.a. 2004/2005.
IDUL 2013 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto ‘logico’ della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Reti di computer Condivisione di risorse e
Mobile Agent and Enterprise Architecture Integration Il gestore della mobilità degli agenti Raffaelli Massimo matricola
Support for Emulation of Services and Applications in Mobile Environments with Bluetooth Gruppo: Davide Bonomo Salvatore Baglieri Referente: Ing. Dario.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
Livello 3 Network (Rete)
Supporto alla comunicazione di gruppo context aware per membri disconnessi. Reti di Calcolatori LS aa 2005/2006 Bruno Docimo
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
Supporto alla comunicazione di gruppo context aware per membri disconnessi.
Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli.
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
Overlay network strutturate per applicazioni peer to peer Lorenzo Castelli.
Java Distributed Event Service Bringing events to J2EE platform Università degli studi di Bologna Corso di Laurea Specialistica in Ingegneria Informatica.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
MUSE 2 WIFI MUSic Everywhere with WIFI presentazione di Pierangeli Diego Membri del gruppo: Bambini Stefano Bergamini Andrea Pierangeli Diego AA 2006/2007.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
B3Discovery: Infrastruttura di Discovery distribuita utilizzando l’architettura JXTA Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2005/2006.
Realizzazione e integrazione della sicurezza nell’emulatore di reti BlueSesame D’Ascanio Amedeo Tutor: Dario Bottazzi.
Progetto RE.VE.N.GE. MQ REliable and VErsatile News delivery support for aGEncies Sistema di Distribuzione Reti di Calcolatori LS – Prof. Antonio Corradi.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 4 – OSPF.
Progetto PERMESSO Progetto PERMESSO PERsistent MESSagging in ad hOc networks Presentazione di Elisabetta Visciotti Progetto di Gruppo di: Manuela Bassetti,
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
Trasmissione. Codifica Elettrica I segnali si propagano su un mezzo fisico modulando onde elettromagnetiche variando voltaggi I dati binari devono essere.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Il Sistema Operativo Processi e Risorse
Transcript della presentazione:

PROFILI Un sistema distribuito e decentralizzato di profile-matching Lorenzo Moretti Maggio 2004

Profile-Matching Realizzazione di un sistema di profile-matching  Dispositivo: entità fisica mobile con capacità di calcolo (anche ridotta) e capacità di formare reti spontanee  Profilo: coppia attributo valore in cui si esplicita una qualità attuale del dispositivo ed una qualità attesa in un dispositivo col quale fare coppia Proprietà P1 AttualeAtteso Val_AVal_B Proprietà P1 AttualeAtteso Val_BVal_A Match

Applicazioni Moltissime possibili applicazioni, per lo più inesplorate  Applicazioni di intrattenimento, come chat, incontri di persone con gusti affini...  Ricerca di servizi in ambienti “nomadic user”  Ricerca di risorse in ambienti ostili ... Tutto in un contesto di massimo dinamismo! Enfasi più sull’infrastruttura necessaria per creare il servizio che sui possibili servizi (aspetti algoritmici ed implementativi)

L’infrastruttura necessaria Necessità di un supporto base per la creazione dell’infrastruttura necessaria  Inquiry: possibilità di ricercare dispositivi nei paraggi  Discovery: capacità di rilevare l’applicazione/servizio di profiling su un dispositivo  Send: capacità di iviare dati  Receive: capacità di ricevere dati  Naming Service: dispositivi con identificativi univoci Sopra questa struttura, costruzione del supporto per il routing e per il broadcast. Sopra supporto per il profile- matching.

Routing Il primo servizio di cui abbiamo bisogno è il servizio di routing. Ogni dispositivo deve avere la propria tabella Possibilità di raggiungere dispositivi passando attraverso altri dispositivi Necessità di fare fronte ad una rete dinamica

Ogni dispositivo come router Ogni dispositivo deve contenere una tabella di routing che consenta di determinare il percorso per raggiungere un altro dispositivo. Tabella aggiornata dinamicamente grazie al meccanismo di inquiry/discovery. Struttura tabella: ROUTINGTABLE ::= [DEVICES] DEVICE ::= {ID ROUTINGTABLE} DEVICES ::= DEVICE, DEVICES | empty Struttura ricorsiva

Creazione/Aggiornamento RT Ogni oggetto conosce i propri vicini (inquery/discovery)... Ma non conosce le loro routing table! Le routing-table dei vicini vengono richieste e inviate (serializzate in testo e ricostruite). Aggiornamento periodico per mantenere aggiornato il sistema (fare fronte all’arrivo e alla partenza di dispositivi).

Calcolo dei percorsi Ogni dispositivo conosce così tutti i dispositivi raggiungibili. Possibilità calcolare a priori il percorso per raggiungere un destinatario. Percorso allegato al messaggio ed utilizzato ad ogni hop nel raggiungimento del destinatario. Il percorso è calcolato una sola volta dal mittente.

Broadcast Operazione utile a livelli superiori (non utilizzata nel routing). Realizzata con TTL (Time To Live). Possibilità di dimensionare il TTL opportunamente osservando le routing-table. Possibilità di creare sottogruppi (locali) dimensionando opportunamente il TTL. Algoritmo:  se viene ricevuto un messaggio broadcast con TTL > 0 lo si propaga a tutti i vicini (eventualmente non al mittente) dopo avere decrementato TTL.  se TTL = 0 non lo si propaga.

Il sistema di profile-matching Necessità di esaminare i profili e di segnalare le affinità alla coppia di dispositivi che fanno match Scelta di un solo gestore, eletto tra i partecipanti alla rete:  Limitazione dei messaggi per il coordinamento  Limitazioni dei conflitti nella gestione dei match

L’algoritmo di elezione del gestore/1 Algoritmo decentralizzato, pessimista-reattivo Algoritmo:  ognuno aspetta richieste di profilo dal gestore alle quali risponde inviando il proprio profilo.  se un nodo non riceve richieste per più di un certo periodo, il nodo si auto-proclama gestore.  se il dispositivo è un gestore, invia ogni intervallo di tempo predefinito un broadcast di richiesta del profilo (si noti che è possibile, giocando sul time-to-live del messaggio, dimensionare l'area di influenza del gestore).  se un gestore ottiene una richiesta di profilo da un'altro gestore (caso di conflitto), la periferica corrente si disattiva dallo stato di gestore solo se l'id del gestore in conflitto è lessicograficamente maggiore della propria.

L’algoritmo di elezione del gestore/2

Test su J2SE Per testare gli algoritmi è stata implementata un ambiente di simulazione in J2SE:  Possibilità di testare il routing  Possibilità di testare l’algoritmo di elezione

Implementazione J2ME Il sistema è stato realizzato per funzionare su dispositivi telefoni cellulari che supportino Java (micro edition) e Bluetooth. Il supporto di rete Bluetooth è stato sfruttato tramite le API JSR-82:  Sistema non proprietario per Java  Necessita implementazioni sui telefoni dei produttori Il sistema è stato sviluppato per sistemi Nokia (con SDK Nokia), ma dovrebbe essere compatibile con qualsiasi altra implementazione JSR-82 di altri produttori.

BasicService Astrazione dei servizi di base per implementare il sistema di profile-matching Dov’è necessaria implementazione specifica per una tecnologia di rete, si sono definite solo le interfaccie

Cenni sulla tecnologia Bluetooth Struttura a stack, in gran parte implementata on-chip Comunicazione radio nella frequenza 2.4GH ISM (Industriale- Scientifica-Medica), a 1MB Studiata per bassi consumi e dispositivi a basso potenza computazionale Supporto integrato per inquiry e discovery, per favorire la nascita di PAN (personal area network) Possibilità di creare reti spontanee secondo il modello PICONET e SCATTERNET Fornisce sia protocolli a basso livello (L2CAP) sia protocolli evoluti come RFCOMM (emulazione di comunicazione seriale)

Utilizzo del Bluetooth Implementazione di BasicService basata sulla tecnologia Bluetooh:  Supporto built-in per inquiry e discovery.  Utilizzo di L2CAP, protocollo di comunicazione leggerissimo.  Sfruttato per funzionare senza connessione: una connessione viene stabilita sono quando è necessaria una comunicazione, dopodichè viene chiusa per non occupare risorse, evitando così le limitazioni di PICONET e SCATTERNET.

J2MEBasicService Struttura basata sulle API JSR-82 Il componente è un direttore dei lavori che incapsula al suo interno il funzionamento di JSR-82, offrendo una nuova semantica:  Send e receive con un delegato, non più semantica bloccante  Inquiry/Discovery secondo un modello non più publish-subscribe (JSR- 82) ma non bloccante in polling. Funzionamento del tutto trasparente all’esterno, politiche interne nascoste Modello ad oggetto-attivo

Inquiry/Discovery

Invio e ricezione dei messaggi Vari tipi di messaggi supportati:  BCAST, RT_REQ, RT_SEND, USER Il sistema di base fornisce il supporto per la comunicazione delle routing-table alle altre periferiche

Trasferimento degli oggetti Necessità di trasferire le routing-table dei vari dispositivi per formarne ricorsivamente di nuove. Necessità di una semantica di riferimento remoto non fornita dal sistema. Si è ovviato al problema creando copie locali delle tabelle dei dispositivi, sfruttando un meccanismo di serializzazione/deserializzazione creato ad-hoc. Si ovvia al problema della desincronizzazione con un oggiornamento periodico continuo (un errore è comunque tollerabile, in quanto il sistema offre una semantica di invio may-be).