Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.

Slides:



Advertisements
Presentazioni simili
Gestione di un Sistema di Talk multiutente
Advertisements

Socket Java Alberto Ferrari.
Come programmare servizi di rete?
Progetto realizzato da: Francesco Seccia Matr Marco Spinelli Matr
Concetti introduttivi
Presentazione del progetto di: Reti di calcolatori L-S Matteo Corbelli.
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Un sistema software per la vendita di prodotti on-line Università degli studi di Bologna Facoltà di ingegneria Reti di calcolatori L-S Studente: Rinaldi.
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.
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
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.
Replicazione delle risorse: UN CASO DI STUDIO
PERMESSO PERsistent MESSaging in ad hOc networks Alessio Franco Matr Corso di Reti di Calcolatori LS A.A. 2005/2006.
MUSE BT Reti di Calcolatori LS A.A. 2006/2007 Manservisi Alberto Music Everywhere with BlueTooth.
1 Packet Manager Sistema di gestione di pacchetti software per il progetto dell'esame di Reti di Calcolatori LS Progetto realizzato da Fabio Parisini.
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.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Modulo 7 – reti informatiche u.d. 2 (syllabus – )
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
66. Rubrica La Rubrica vi consente di raccogliere gli indirizzi di posta elettronica. Potete accedere dalla rubrica dallinterno del programma di posta.
File system distribuito transazionale con replicazione
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à.
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.
Tipi e topologie di LAN Lezione 2.
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.
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.
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Reti di calcolatori Modulo 2 -Protocolli di rete TCP/IP Unità didattica 2 – Il protocollo TCP/IP Ernesto Damiani Università degli Studi di Milano - SSRI.
Progetto e prototipazione di una infrastruttura di comunicazione per il supporto al monitoraggio distribuito del traffico di rete Progetto di Reti di Calcolatori.
Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli.
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
Overlay network strutturate per applicazioni peer to peer Lorenzo Castelli.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori LS – AA Presentazione di Davide Sansovini Professore: Antonio Corradi.
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.
INTRODUZIONE A INTERNET
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.
Proxy-based infrastructure for LBS availability Bucco Nicola matr
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
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.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Mobile Agent and Enterprise Architecture Integration Il Gestore di Librerie e Servizi Lambertini Riccardo.
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.
CORSO INTERNET la Posta elettronica
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
PPT- Postecert PEC – 05/2009 Postecert Posta Elettronica Certificata.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Conoscersi online: la Rete diventa una grande piazza oppure un insieme di tante stanze in cui parlarsi o esprimsi. Ambienti accoglienti, interfacce funzionali:
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Transcript della presentazione:

Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S

Obiettivi Realizzare una applicazione basata su un modello di comunicazione più evoluto del Client/Server in particolare: Comunicazione via CHAT di utenti P2P

Requisiti Ogni utente deve avere la possibilità di:  Collegarsi ad un gruppo di utenti che comunicano via chat,  Inviare messaggi a tutti gli utenti in chat,  Ricevere messaggi da tutti gli utenti in chat,  Uscire da un gruppo di chat. Inoltre…  Realizzare un Server che gestisca l’elenco degli utenti attualmente in chat

Struttura del sistema Comunicazione UNO a MOLTI:  Come interconnettere gli utenti? Multicast Ogni utente con tutti gli altri Anello

Struttura del sistema Messaggi PrivatiOgni nodo ha visibilità totale dell’anello  Tutti conoscono tutti  Possibilità di invio di Messaggi Privati Connessioni TCP Preservano l’ordine dei messaggiCanali punto-punto come Connessioni TCP  Possibili messaggi di conferma ricezione  Preservano l’ordine dei messaggi

Inizializzazione  utente può entrare e uscire dalla chat  Anello fortemente dinamico   nodo deve poter accettare richieste di connessione Per inserire nuovi utenti che si vogliono unire alla chat Per richiudere l’anello dopo l’uscita di un utente dalla chat

Inizializzazione Server Gruppo 1: …. Gruppo 2: …. Client Gruppo XIP:Porta Necessità di un Server che fornisca all’utente che vuole inserirsi l’indirizzo di uno degli utenti in chat da contattare

Protocolli Client Server info Ci sono n gruppi: 1: ……… 2: ………. ……….. n: ……….. Client Server Gruppo X Nome: Tizio IP: Porta:2563 Server Richiesta informazioni Iscrizione a un gruppo

Protocolli Ingresso nel gruppo Uscita dal gruppo Tizi o Caio Client Semproni o Ip: ….. Porta: … Tizio: Inserito Sempronio Ip: …. Porta:…. Tizio: Inserito Sempronio Ip: …. Porta:…. Caio, Ip, porta siamo in n Tizio ip porta, …….. fine TizioCaio Semproni o fine

Tolleranza ai guasti Canali punto-punto Bidirezionali  Ad ogni invio di messaggio si attende la conferma di avvenuta ricezione per un certo tempo Se scatta il Timeout  rilevata caduta del nodo  Apertura connessione con il successivo (chiusura anello)  Invio messaggio di notifica  Cancellazione dal Server dell’utente caduto

Scalabilità Introduzione di un servizio di Nomi per poter avere diversi Server reperibili dagli utenti attraverso nomi logici Gestore Nomi Server Client Registra IP : Porta OK Cerca IP : Porta

Implementazione in Java Utilizzo del package java.net Utilizzo del servizio di Nomi di Ambra Molesini paralleloServer parallelo ServerSocket in attesa di connessioni e un Thread generato per ogni Cliente Multithreaded un thread in ascolto sulla ServerSocket, uno sulla socket di ingresso, e uno sull’interfaccia graficaClient Multithreaded un thread in ascolto sulla ServerSocket, uno sulla socket di ingresso, e uno sull’interfaccia grafica

Implementazione del singolo nodo 2 uscite dove accedere in scrittura in mutua esclusione (Socket e Pannello) ed elenco ordinato degli utenti in chat.

Messaggi Tutti i messaggi devono avere: Nome del Mittente Flag di Visibilità Contenuto testuale messaggi Privati devono inoltre avere: Nome del Destinatario messaggi di Sistema (Notifica eventi) devono avere come contenuto: Keyword distintiva Informazioni aggiuntive: Ingresso: IP, Porta, e Nome dell’utente che entra Caduta: Nome dell’utente andato in crash Ogni nodo elimina i propri messaggi dopo un giro dell’anello Messaggio Pubblico o Privato

Possibili sviluppi futuri Utenti in chat che potrebbero RIFIUTARE l’ingresso di un nuovo utente L’utente che entra potrebbe esprimere PREFERENZE sulla sua posizione nell’anello Messaggi di contenuto non solo testuale: Scambio di file, oppure dati Multimediali (gli utenti si Vedono tramite webcam) Crittografia per aumentare sicurezza dei messaggi privati

Conclusioni Sistema Efficiente, Funzionale, e Semplice da usare Nodi Autonomi, che funzionano Senza distinzioni di ruolo Possibile realizzare con questa struttura applicazioni Complesse, Dinamiche, Flessibili ed Affidabili