SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi 172653 Reti di calcolatori LS – Prof. A.Corradi.

Slides:



Advertisements
Presentazioni simili
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Advertisements

Unità D1 Architetture di rete.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Nel ventesimo secolo ci fu la nascita dellinformatica il termine telematica nasce dalla fusione di due termini telecomunicazione e informatica una rete.
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
DNS.
APPLICAZIONI E BASI DATI DISTRIBUITE
CD ROM Library. Descrizione generale del sistema La soluzione di CD ROM Library sviluppata permette la condivisione di rete di CD ROM (qualunque numero)
Concetti introduttivi
Di Carrera Marco Anno scolastico Cosa è un server di scambio? Sistema (software e hardware) che permette di scambiare file tra computer Esistono.
Modelli ed Applicazioni di Reti di Calcolatori L-S Anno Accademico Università degli Studi di Bologna Ing. Fabio Tarantino –
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito1 Reti di Calcolatori LS REALIZZAZIONE DI UN SERVIZIO DI ANNUNCI DISTRIBUITO Studente:
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Reti di Calcolatori LS Universitá degli Studi di Bologna Remotizzazione del Framework Unibo-env Autrice: Leticia Riestra Ainsua.
Proxy-based infrastructure for LBS availability Reti di Calcolatori L-S Andrea Licastro
Progetto PERMESSO PERsistent MESSaging in ad hOc networks Presentazione di Vitalone Giuseppe.
1 Packet Manager Sistema di gestione di pacchetti software per il progetto dell'esame di Reti di Calcolatori LS Progetto realizzato da Fabio Parisini.
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.
High-Available Service Manager Diego Costantini Università degli studi di Bologna Corso di Laurea Specialistica.
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
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
1 Reti di Calcolatori LS Prof. Antonio Corradi Progetto: Giombi Giorgio e Soffritti Luca Presentazione: Giombi Giorgio FotoContest Il primo servizio interamente.
Middleware di Discovery Avanzato Di Giuseppe Tomaiuoli Mat Reti di Calcolatori LS Prof. Ing. Antonio Corradi.
Canale Alfa Srl – Copyright 2013
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
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à.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
Progetto di un Agente per l’Apprendimento mediante Alberi Decisionali in ambito distribuito Studente: Luca Monaco Anno Accademico
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 1 - Domain Name System Ernesto Damiani Lezione 2 – Caratteristiche.
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
STUDIO SULLA REPLICAZIONE DEGLI AGENTI NEL SISTEMA SOMA Andrea Sambi.
Bonjour Post-It servizio di post-it distribuito di Elisa Rondini.
Search Engine Distribuito e Replicato Corso di Reti di Calcolatori LS Andrea Boari –
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.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Servizi Internet Claudia Raibulet
R.E.V.E.N.G.E. RELIABLE AND VERSATILE NEWS DELIVERY SUPPORT FOR AGENCIES Corso di Reti di Calcolatori LS – AA Professore: Antonio Corradi Referente.
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.
Corso di Reti di Calcolatori LS Progetto di un server FTP in grado di coordinarsi con altri mirror per garantire QoS di Marco Buccione.
Muse2: MUSic Everywhere with WI-FI Progetto realizzato da: Bambini Stefano Bergamini Andrea Pierangeli Diego Bologna C.d.L.S. Ingegneria Informatica.
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
Proxy based infrastructure for LBS availability Reti di Calcolatori LS Serena Agresti.
Università degli Studi di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Scienze dell’Informazione Università degli Studi.
Progetto PERMESSO Progetto PERMESSO PERsistent MESSagging in ad hOc networks Presentazione di Elisabetta Visciotti Progetto di Gruppo di: Manuela Bassetti,
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
1 High Available Instant Messaging Service Fabio Bombardi
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
Mots, programmazione collaborativa di Ettore Ferranti.
Reti di Calcolatori L-S Professor Antonio Corradi A.A Sistema Publish-Subscribe per la Gestione degli Eventi della Provincia di Rimini Provincia.
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
30 agosto Progetto Quarantena Gateway Security Appliance.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
LA GESTIONE TELEMATICA DEI CERTIFICATI DI ORIGINE presentazione WebCO IBSsas.
Transcript della presentazione:

SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi

Cosa sono gli snippet? Uno snippet non è altro che del semplice codice in un qualsiasi linguaggio di programmazione. Solitamente molto riutilizzabile, anche in contesti molto diversi tra loro. Uno snippet può essere un semplice ciclo foreach, un if…then…else o anche un codice molto lungo, come quello per la serializzazione di un oggetto o l’invio di una .

Introduzione Gli snippet sono stati da poco introdotti negli editor IDE più noti, ma sono disponibili già da anni, sotto forma di plugin o scaricabili via web. Quello che manca è la centralizzazione e la standardizzazione del servizio: le interfacce dei tanti siti web sono non standard e inserire o ricercare uno snippet su tutta rete internet è un’operazione che richiede un certo tempo.

Obiettivi Realizzare un servizio che permetta di cercare o inserire su un server lo snippet desiderato Efficienza: Il servizio deve essere load balanced Affidabilità: Il servizio deve essere replicato Correttezza: I dati forniti dal server devono essere affidabili Trasparenza: La gestione del collegamento e del recovery deve essere trasparente al client

Modello lato client I vari client non si conoscono tra loro, ma inviano il codice su un server unico che provvede a salvarlo in memoria e renderlo disponibile per tutti gli altri. L’architettura scelta è quindi quella di client/server tradizionale. La scelta di reti peer to peer, non era adatta in quanto sarebbe stato necessario implementare un file system distribuito su cui salvare gli snippet.

Modello lato server Efficienza: Per garantire velocità di risposta ai client connessi è necessario smistare le richieste su più server, questo introduce però un problema di sincronizzazione al momento dell’aggiornamento del database. Affidabilità: Per garantire tolleranza ai guasti i server devono essere in grado di controllarsi ed effettuare rielezioni in modo trasparente. Per rispondere al client anche in caso di caduta del server è necessario che tutti i server si sincronizzino ad ogni richiesta da parte del client. È stato implementato un modello di replicazione a copie attive. Correttezza: Per garantire la correttezza delle risposte i server di uno stesso gruppo si coordinano tra loro prima di fornire una risposta ai client. Trasparenza: Le operazioni di riconnessione avvengono in maniera trasparente sia in fase di connessione (bilanciamento) del client, sia in caso di rielezione del master.

Descrizione del sistema Il sistema è diviso in client che si connettono ad un server centrale che li smista verso il master meno carico. I vari master comunicano con degli slave per sincronizzare lo stato e verificare la correttezza delle risposte prima di inviarle al client.

Architettura La replicazione è a copie attive, ciò significa che master e slave eseguono contemporaneamente tutte le operazioni richieste dai client. Il dialogo tra master e slave è del tipo client/server, così pure come quello tra client e master server. Sono previsti due protocolli di recovery degli slave in caso di caduta del master: se il DNS è ancora attivo la rielezione avviene in modo centralizzato, altrimenti gli slave si coordinano tra loro.

Master e slave Il sistema è diviso in gruppi coordinati da un server centrale denominato DNS. Ogni gruppo risponde ad un master che raccoglie le richieste degli utenti Gli slave si registrano presso il master I client inviano richieste al master che le invia a sua volta agli slave registrati presso di lui Successivamente il master e i vari slave iniziano a computare la richiesta e registrano presso il master il risultato. Il master provvede a inviare al client la risposta esatta dopo aver verificato che tutte le risposte coincidano.

Coordinamento tra server Il DNS controlla continuamente che i server master siano online I master controllano il loro gruppo di slave e i client registrati Gli slave controllano (più raramente) che il DNS sia ancora attivo.

Registrazione client Il client si registra presso il DNS che, in modo trasparente, lo redirige verso il master con meno client connessi. Il master comunica agli slave che è entrato un nuovo client.

Ricerca nel database Il client invia una Search al master Il master invia la Search agli slave e inizia a eseguire il calcolo Gli slave eseguono la ricerca e registrano il risultato sul master Dopo che tutti gli slave hanno comunicato il risultato del calcolo si controlla che tutte le risposte coincidano e si invia la risposta al client

Invio di snippet Il client invia uno snippet di codice Il master invia la notifica di update agli slave e al DNS Il DNS invia la notifica di update a tutti i master dei vari gruppi

Rielezione con DNS ? Il DNS controlla periodicamente i master. Se il master va offline elegge un nuovo master Quando uno slave viene eletto come master lo comunica agli altri slave del suo gruppo che provvedono a registrarsi presso di lui

Rielezione distribuita ? ? Gli slave controllano che il DNS sia ancora attivo, in caso contrario, se il master va offline si coordinano per la rielezione del master.

Conclusioni Lo sviluppo del software ha messo in evidenza la complessità del coordinamento e sincronizzazione in ambito distribuito e la necessità di una progettazione molto approfondita Ci si è resi conto della necessità di compromessi tra affidabilità e efficienza e dell’importanza di tenere sempre presente la reale fattibilità di una certa soluzione in un dato contesto

Sviluppi futuri Bilanciamento dinamico dei client  Se il server a cui un client è connesso è molto carico deve essere possibile redirigere dinamicamente il client su un altro server Configurazione automatica dei gruppi  La scelta di quali e quanti server tra quelli disponibili lavorino in bilanciamento (per garantire maggiore efficienza) e quanti in replicazione attiva deve essere automatizzabile Possibilità di decidere se un server deve collegarsi come slave o come master Gestione dell’autenticazione degli utenti Implementazione di servizi aggiuntivi quali votazione degli script, numero di download effettuati, ecc.