JDICS Java Dynamic Infrastructure for C/S systems Laura Galli matr.180699 Reti di calcolatori LS, Prof. A.Corradi A.A 2004-05.

Slides:



Advertisements
Presentazioni simili
Amministrazione dei servizi di stampa. Sommario Introduzione ai servizi di stampa Introduzione ai servizi di stampa Terminologia della stampa Terminologia.
Advertisements

Progetto Mini di Sistemi Distribuiti – AA 2007/08 Secure Group Communication with GDH.1 Alessandro Licata Caruso Matr:
Come programmare servizi di rete?
Reti di Calcolatori Domande di riepilogo Quarta Esercitazione
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
Delay Tolerant Networking Service per SAMOA. Il framework SAMOA SAMOA è un framework che consente di gestire e popolare la rete sociale e propagare a.
Reti di Calcolatori LS Universitá degli Studi di Bologna Remotizzazione del Framework Unibo-env Autrice: Leticia Riestra Ainsua.
Qualità di servizio in ambiente wireless Progetto per il corso di Reti di Calcolatori L-S Prof. Antonio CorradiValentina Maraldi.
Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S Gozzi Daniele
Proxy-based infrastructure for LBS availability Reti di Calcolatori L-S Andrea Licastro
autore: Simone Artesino ( )
BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.
Replicazione delle risorse: UN CASO DI STUDIO
JARS JavaActiveReplicationSupport Anno Accademico Bellocchi Marco Maria.
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
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.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Corso di Informatica per Giurisprudenza Lezione 7
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
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.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Distributed System ( )7 TCP/IP four-layer model.
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Reti di calcolatori LS Enrico Pirazzini SSB un middleware basato su JMS per l'invocazione di servizi remoti.
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.
Progetto di: Daniele De Angelis Corso di: Reti di Calcolatori LS Un sistema fault tolerance per protocollo Diffie-Hellman.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
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
Progetto e prototipazione di una infrastruttura di comunicazione per il supporto al monitoraggio distribuito del traffico di rete Progetto di Reti di Calcolatori.
Proxy-Based Infrastructure for LBS Tailoring Reti di Calcolatori LS – Prof. A. Corradi Presentazione di: Roberto Amici Gruppo: Roberto Amici Alessandro.
STUDIO SULLA REPLICAZIONE DEGLI AGENTI NEL SISTEMA SOMA Andrea Sambi.
Bonjour Post-It servizio di post-it distribuito di Elisa Rondini.
P2P Reliable Multicast Messenger Progetto e realizzazione di un software peer to peer per comunicazioni di gruppo.
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
Sistema di Replicazione di Risorse Distribuite Ring-Based Reti di Calcolatori LS Alessio Bonfietti.
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.
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.
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.
Proxy-based infrastructure for LBS availability Bucco Nicola matr
Middleware per la sincronizzazione di ambienti eterogenei Progetto di Reti di Calcolatori LS Emanuele Crescentini matr Ingegneria Informatica LS.
1 RE.VE.N.GE CORBA REliver and VErsatile News delivery support for aGEncies. Sistema per la creazione di notizie e la loro trasmissione sul sistema di.
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
Proxy based infrastructure for LBS availability Reti di Calcolatori LS Serena Agresti.
TXJA --- Reti logiche fuzzy distribuite --- Reti di Calcolatori LS Davide Sottara.
Bacheca: Supporto alla creazione e diffusione di annunci basato su CORBA Corso di Reti di Calcolatori LS Prof. Antonio Corradi Progetto di Elisa Addimanda.
Proxy Based Infrastructure for LBS tailoring Paolo Lutterotti matr Reti di Calcolatori LS, A.A. 2005/06.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Mots, programmazione collaborativa di Ettore Ferranti.
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
GESTIONE RETI TCP/IP l troubleshooting è necessario per risolvere molti problemi che si possono verificare all'interno di una rete, una delle aspirazioni.
Protocolli di rete. Sommario  Introduzione ai protocolli di rete  Il protocollo NetBEUI  Il protocollo AppleTalk  Il protocollo DLC  Il protocollo.
Raccogliere informazioni ALCUNE DOMANDE FONDAMENTALI È stato modificato qualche componente HW o SW? Il sintomo si presenta regolarmente o ad intermittenza?
Transcript della presentazione:

JDICS Java Dynamic Infrastructure for C/S systems Laura Galli matr Reti di calcolatori LS, Prof. A.Corradi A.A

Agenda JDICS Architecture Client Proxy Broker Server JDICS Interaction protocols Client-Proxy Proxy-Broker Server-Broker Broker-Broker JDICS QoS (fault tolerance, load balancing)

JDICS architecture

Architecture L’architettura di JDICS consiste di quattro entità fondamentali : Client Proxy Broker Server Tali entità si trovano su due livelli logici distinti : livello applicativo livello middleware proxybrokers server clients

Server I server di JDICS sono oggetti remoti, referenziabili via RMI da applicazioni Java disposte fisicamente su nodi distinti. Nell’ottica di una architettura fault tolerant, il supporto prevede la possibilità di gestire la replicazione a livello server, introducendo il concetto di servizio o (cluster di servizio) e copia server.

Server architecture Un servizio è disponibile se esiste almeno una copia server attiva in grado di implementarlo. Counter service Un servizio può essere con o senza stato, ma la presenza del cluster non deve modificare la semantica RMI : lo stato deve essere condiviso da tutte le copie server server service cluster cluster state manager

Client In JDICS i client sono applicazioni Java, che per realizzare la propria logica applicativa necessitano di servizi via RMI Un client può conoscere a priori il nome di un servizio (staticamente), oppure può scoprire i servizi disponibili run-time (dinamicamente). s1 s2 s3 RMI Remote objects (services) Dynamic or static ?

Client requests… Un client può richiedere : i servizi al momento disponibili sulla rete l’interfaccia di un particolare servizio (metodo e parametri) il riferimento ad un particolare servizio Quali servizi ? counter echo counter, echo… Quale intefaccia per echo ? String echo(String) Riferimento a echo ! Ecco !

Proxy Chi risponde alle richieste dei client ? I client devono poter uscire dalla loro località per esplorare la rete… oppure possono delegare questo compito ad una entità apposita : il proxy. Il proxy è una entità locale al nodo ed è condiviso da tutti i client dello stesso host. Il proxy incapsula la capacità di un host di conoscere lo stato della rete ??? net info… But how do they know ?

Broker I broker sono i punti di riferimento assoluti per una rete JDICS. Lo scopo dei broker è quello di creare un link tra mondo client e mondo server raccogliendo la conoscenza (dinamica) sullo stato della rete. counter billing accounting echo ??? counter service is available with 2 copies at …. info…

JDICS interaction protocols

Server Insertion Protocol Un server può essere la prima copia del cluster, oppure può inserirsi in un cluster già esistente billing Ogni server conosce un indirizzo di multicast con cui raggiungere tutti i broker della rete per inviare la propria richiesta di registrazione multicast new server/ billing service/acer-150 datagram socket acer-150 Il broker che gestisce la registrazione (server-token) risponde al server inviando alla socket datagram un pacchetto con l’ID Il broker che gestisce la registrazione avverte tutti gli altri broker via multicast, affinchè sappiano dell’esistenza del nuovo server. ID=2 new server/ billingservice/ID=2 multicast

Proxy Insertion Protocol Un proxy che voglia entrare nella rete ed esplorarla deve avere il riferimento ad un broker. Essendo i broker noti solo a run-time, deve prima effettuare una registrazione per ottenere un ID e un riferimento (remoto) ad una entità broker. Ogni proxy conosce un indirizzo di multicast con cui raggiungere tutti i broker della rete per inviare la propria richiesta di registrazione. multicast new proxy/acer-150 datagram socket acer-150 Il broker che gestisce la registrazione risponde al proxy inviando alla socket datagram un pacchetto con l’ID del proxy, il suo ID e il suo indirizzo RMI. Il proxy recupera il riferimento al broker all’indirizzo RMI fornitogli. Il broker che gestisce la registrazione avverte tutti gli altri broker via multicast, affinché sappiano dell’esistenza del nuovo proxy a lui legato. ID=123/RMiadd r… new proxy/ ID=123 multicast

Broker Insertion Protocol Un broker può essere il primo del sistema ed in quel caso è l’iniziatore del sistema, oppure deve inserirsi nel ring dei broker. Nel caso in cui il ring sia già formato, il protocollo di inserimento prevede : invio in multicast della richiesta di inserimento attesa di un numero di risposte pari alla cardinalità del ring selezione del proprio predecessore determinazione del proprio ID invio del proprio ID al predecessore scelto (via RMI) e raccolta delle informazioni sullo stato della rete fase di informazione (via multicast) della nuova configurazione del ring agli altri broker new broker/RMI addr…/ acer-150 Id=…/ RMI addr/ #=3 Id=1 Id=3 Id=4 Id=5 Id =1 Id =3 Id =4 Id =5

JDICS QoS Fault tolerace, Load balancing

Broker failure Se il server che vuole registrarsi non riceve risposta da nessuno (time-out) invia (in multicast) un messaggio di richiesta di aiuto a tutti i broker. I broker attivano una procedura di identificazione del guasto : ogni broker controlla il proprio successore nel ring il broker che rileva il guasto gestisce la richiesta di registrazione (il broker guasto ha portato alla perdita del server-token), avvia un processo di riconfigurazione del ring rimuovendo il nodo guasto e ripristina il token server sul nuovo successore S.O.S

Broker failure Un broker può accorgersi del fallimento del proprio successore nel momento in cui tenta di passargli il token Il broker attiva una procedura di riconfigurazione dell’anello ripristinando il token sul nuovo successore

Broker failure Un broker nuovo che vuole inserirsi nel ring può accorgersi di un guasto nel momento in cui riceve un numero di answers inferiore alla cardinalità dell’anello comunicatagli. Il nuovo broker avverte uno dei pari che gli ha risposto indicandogli da chi ha ricevuto answers. Il broker informato individua il broker che non ha risposto, verifica il guasto e attiva una procedura di riconfigurazione in cui il nuovo broker prende il posto di quello fallito (compresi gli eventuali token). !

Broker failure Un proxy può accorgersi del fallimento del proprio broker nel momento in cui lo referenzia (via RMI )per ottenere dei servizi. Errore ! Il proxy invia una richiesta di aiuto (via multicast) indicando il broker che non gli ha risposto. Help ! Broker 1 failed Il predecessore del broker fallito, risponde al proxy via socket datagram e si propone come nuovo riferimento. Il predecessore del broker fallito avvia la procedura di riconfigurazione del ring avvertendo i suoi peer. Il predecessore fa la stessa cosa per tutti i proxy che erano legati al broker fallito id=5/RMIaddr … 2 5

Server failure Il guasto di un server può essere rilevato da un client che lo utilizza. Il client infatti può riceve una eccezione nel momento in cui lo riferisce. Errore ! Il client avverte il suo proxy, che a sua volta avverte il suo broker Il broker consegna al proxy un nuovo riferimento e il proxy a sua volta provvede a passare il nuovo riferimento al client. Errore !

Load balancing Il load balancing è implementato mediante la tecnica del reference-counting. E’ compito del broker realizzare la politica di load balancing nell’ambito di ciascun cluster, provvedendo ad assegnare (come riferimento) ad ogni richiesta la copia più “libera.” echo