SARAH Shop Assistant in Reti Ad-Hoc Marco Montali.

Slides:



Advertisements
Presentazioni simili
WP2T2 DIST – Università di Genova
Advertisements

1 Introduzione ai calcolatori Parte II Software di base.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
STRUTTURA DEL PERSONAL COMPUTER
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Il Sistema Operativo.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
Progetto realizzato da: Francesco Seccia Matr Marco Spinelli Matr
Architettura Three Tier
Struttura dei sistemi operativi (panoramica)
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
SARAH Shop Assistant in Reti Ad-Hoc Presence Awareness, modalità disconnessa e dinamiche di update Antonio Gaetani.
Stefano Lama Stefano Maggiore Giacomo Tartari. Scenario applicativo Crescente diffusione di dispositivi dotati di connettivita wireless porta a… … possibilità
Progetto PERMESSO PERsistent MESSaging in ad hOc networks Presentazione di Vitalone Giuseppe.
Global Virtual Tuple Space
Stefano Lama Stefano Maggiore Giacomo Tartari. Scenario applicativo Crescente diffusione di dispositivi dotati di connettivita wireless porta a… … possibilità
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 Reti di Calcolatori LS Colombini Emanuele Tutor: Ing. Dario Bottazzi Gruppo: Emanuele Colombini, Francesco Ferri, Gianpiero Napoli Middleware.
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
Progetto di Reti di Calcolatori LS a cura di Gesualdi Marco Miniello Giuseppe Vukovic Veljko.
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.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Introduzione alla modellazione di sistemi interattivi
Emmebit Sistemi s.a.s. di Marco Bonafede & C. Via Mario Greppi, Robbiate (LC) - Tel: Fax:
Il sistema integrato per la sicurezza dei tuoi dati da attacchi interni alla rete Quanti software proteggono i tuoi dati dagli attacchi esterni alla rete?
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
GeoSoft BLU short presentation 1. GeoSoft BLU short presentation 2 Il software BLU è un prodotto software di tipo CRM (Customer Relationship Management)
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Obiettivi di Design Rappresentano, in un prodotto software, le basi del successivo sviluppo del prodotto, perché, su di esse, si fondano le scelte prese.
Lavori di gruppo sulla Mesopotamia
Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
I processi.
Music Everywhere BlueTooth project – MasterProxy Albertin Marco.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
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
Proxy-Based Infrastructure for LBS Tailoring Reti di Calcolatori LS – Prof. A. Corradi Presentazione di: Roberto Amici Gruppo: Roberto Amici Alessandro.
Supporto alla comunicazione di gruppo context aware per membri disconnessi.
Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli.
STUDIO SULLA REPLICAZIONE DEGLI AGENTI NEL SISTEMA SOMA Andrea Sambi.
Bonjour Post-It servizio di post-it distribuito di Elisa Rondini.
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori LS – AA Presentazione di Davide Sansovini Professore: Antonio Corradi.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
PERMESSO PERsistent MESSaging in ad hOc networks Presentazione di Valentina Bonsi Corso di Reti di Calcolatori L-S AA Progetto di Giuseppe Vitalone,
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.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Middleware per la sincronizzazione di ambienti eterogenei Progetto di Reti di Calcolatori LS Emanuele Crescentini matr Ingegneria Informatica LS.
1 GVTS Global Virtual TupleSpace Nicola Zanella. 2 Fornire un’astrazione di spazio di tuple condiviso Concetto di gruppo Presence awareness e gestione.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
Progetto PERMESSO Progetto PERMESSO PERsistent MESSagging in ad hOc networks Presentazione di Elisabetta Visciotti Progetto di Gruppo di: Manuela Bassetti,
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
JDICS Java Dynamic Infrastructure for C/S systems Laura Galli matr Reti di calcolatori LS, Prof. A.Corradi A.A
Mots, programmazione collaborativa di Ettore Ferranti.
Progetto MUSE MUSic Everywhere Presentazione di Leardini Francesco Reti di calcolatori LS.
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Progetto WELL-FIR Manuale Utente del Web GIS Versione 0.1.
Transcript della presentazione:

SARAH Shop Assistant in Reti Ad-Hoc Marco Montali

SARAH Obiettivo Software per il coordinamento di un gruppo di benefattori che aiutano un disabile a fare la spesa Condivisione della lista della spesa e sincronizzazione degli aggiornamenti

Scenario Necessità di mettere in comunicazione dispositivi –Mobili –Eterogenei In un contesto –In continua evoluzione –Senza infrastrutture di rete (niente cavi, access point, ecc. ecc.) Mobile Ad-Hoc Network Contesto dinamico e soggetto a perdita di messaggi, disconnessioni improvvise, partizionamenti...

Semplificazione Tipologia di rete molto difficile da gestire Semplificazione: utilizzo di un middleware Deleghiamo al middleware la gestione della rete e ci concentriamo sulle problematiche di livello applicativo La scelta di un middleware adatto, oltre a scaricarci da una serie di problematiche, può darci un supporto importante a livello applicativo

AGAPE Vogliamo che il middleware: –Gestisca la rete (comunicazione, routing, …) –Renda disponibile lastrazione del concetto di gruppo –Permetta di capire chi è presente attualmente in rete, qualificandolo attraverso un profilo (presence awareness) La scelta è caduta su AGAPE (Allocation and Group Aware Pervasive Environment) Possiamo dedicarci al livello applicativo Coordinamento a livello di gruppo = disabile + insieme di benefattori che hanno deciso di aiutarlo Ci interessa capire che un item è stato preso, ma anche da chi (attribuzione di responsabilità)

Architettura di SARAH Livello di interazione con lutente separazione completa tra applicazione e presentazione Servizi di coordinamento e processori dei messaggi Entità e gerarchia dei messaggi

Presentation layer Interfaccia grafica –Pannello per inserire la propria lista e richiedere aiuto –Per ogni gruppo di lavoro un Tab Panel (identificato dal nick del disabile che ha chiesto aiuto e associato al corrispondente Group ID) –Ogni Tab Panel mostra la lista della spesa condivisa, con informazioni su chi ha preso cosa e possibilità di spuntare un elemento Lelenco dei partecipanti attualmente visibili Tecnologia JAVASpeech per comunicare levoluzione del lavoro di gruppo al disabile

Entità e messaggi Generica entità dell applicazione Elemento della spesa Lista della spesa Aggiornamento di un elemento della lista Richiesta del permesso per modificare un elemento Richiesta di aiuto ai benefattori Accettazione della richiesta daiuto Spedizione di un gruppo di elementi (lista) Richiesta di riconciliazione delle liste (dopo un partizionamento)

Servizi e processori Il layer dei servizi e dei processori dei messaggi è il cuore dellapplicazione –Realizza i protocolli di coordinamento –Si interfaccia con il middleware Compiti fondamentali dei servizi: –Filtrare le informazioni riguardanti la rete e rendere visibili quelle di interesse –Gestire la spedizione dei messaggi –Gestire la ricezione dei messaggi invocando il corrispondente processore I processori dei messaggi interpretano tipo e contenuto dei messaggi eseguendo una serie di azioni meccanismo double- dispatch per separare la logica di gestione dei messaggi dalle entità messaggio

Servizi Servizi principali –HelpService (lato disabile) Creazione gruppo di lavoro per il disabile e richiesta di aiuto Comunicazione ai benefattori degli aggiornamenti sulla lista –CharityService (lato benefattore) Gestione delle interazioni iniziali, per mettere il benefattore in condizioni di lavorare –ServantService (lato benefattore) Invio e ricezione messaggi relativi a modifiche sulla lista Inoltre, un servizio di presenza –Per capire chi ha preso cosa –Per modificare il protocollo di coordinamento in base al contesto Ogni gruppo rappresenta unarea di lavoro a sé stante Un servizio di presenza per ogni gruppo di lavoro Un singleton PresenceServicePooler restituisce il servizio di presenza dato un GID (o il PID del corrispondente disabile)

Comandi Comandi che il livello di presentazione usa per scatenare azioni nei layer sottostanti Comandi utilizzati dal livello dei servizi per dare delle informazioni allutente Linterazione con i servizi di presenza è differente Registrazione presso il servizio e notifica al cambiamento dellinsieme dei componenti del gruppo

Protocolli di coordinamento Obiettivo ideale Rilassamento Però Quando possibile, abbiamo bisogno di qualcuno che scelga uno dei contendenti, con il vantaggio che Sincronizzazione perfetta delle liste di ogni componente del gruppo Irrealizzabile! Siamo in una rete ad-hoc: semantica best-effort, perdita messaggi, partizionamenti, … Ammettiamo che due utenti prendano lo stesso elemento Vogliamo minimizzare il numero di tali inconsistenze Basta sceglierne uno, non ci sono mai criteri di preferenza Scegliamo il disabile come risolutore dei conflitti Ha > potere decisionale: tutti gli aggiornamenti devono essere approvati da lui E se perdiamo la sua visibilità?

Handshake iniziale help milk- eggs- milk- eggs- milk- eggs- AIUTO! ack send list Sono occupat o ack send list Tutti i benefattori che hanno accettato sono agganciati al gruppo e pronti per lavorare (possiedono copia della lista)

Aggiornamento milk eggs milk eggs milk eggs avverti (d, prende, milk) d b1 b2 prendo il latte milkXd eggs milkXd eggs avverti (d, prende, milk) Multicast come N unicast milkXd eggs

Aggiornamento milk eggs milk eggs milk eggs avverti (b2, prende, milk) d b1 b2 prendo il latte milkXb2 eggs milkXb2 eggs avverti (b2, prende, milk) milkXb2 eggs chiedi (b2, può prendere, milk)

Aggiornamento milk eggs milk eggs milk eggs avverti (b2, prende, milk) d b1 b2 prendo il latte milkXb2 eggs milkXb2 eggs avverti (b2, prende, milk) milkXb2 eggs chiedi (b2, può prendere, milk) chiedi (b1, può prendere, milk) prendo il latte b2 è arrivato prima...

Perdita di messaggi milk eggs milk eggs milk eggs avverti (b2, prende, milk) d b1 b2 prendo il latte milkXb2 eggs milkXb1 eggs avverti (b2, prende, milk) milkXb2 eggs chiedi (b2, può prendere, milk) chiedi (b1, può prendere, milk) prendo il latte b2 è arrivato prima... Il disabile non risponde… meglio essere conservativi

Sviluppi futuri Location awareness per mostrare solo gli elementi della lista che si trovano nei dintorni PRESENTATION INPUT COMMAND OUTPUT COMMAND SERVICES LOCATION SERVICE LOCATION FILTER