130 likes | 247 Views
Corso di Laurea Specialistica in Ingegneria Informatica Reti di Calcolatori LS prof. Antonio Corradi Service Peer : un applicazione tollerante p2p per il framework uniboEnv-p2p. autore: Simone Artesino (0000 248678) simone.artesino@studio.unibo.it. l'idea. l'applicazione.
E N D
Corso di Laurea Specialistica in Ingegneria Informatica Reti di Calcolatori LS prof. Antonio Corradi Service Peer : un applicazione tollerante p2p per il framework uniboEnv-p2p autore: Simone Artesino (0000 248678)simone.artesino@studio.unibo.it Service Peer Simone Artesino Reti di Calcolatori LS
l'idea l'applicazione l'estensione al mondo tuple-p2p il framework di partenza <<Service Peer >> Simone Artesino Reti di Calcolatori LS
Il framework p2p Tuple (Tucson) / P2P (PGrid) semantica Messaggi UniboEnv SuperPeer & "località" Servizio di Discovery : publicvoidofferForService(String serviceName,String remoteIP,String port) • public InetSocketAddress askForService(String serviceName) UniboEnv-p2p <<Service Peer >> Simone Artesino Reti di Calcolatori LS
l'applicazione I fase di discovery idea • mondo dove si offrono servizi di conversione • servizio come richiesta di elaborazione differita • Obiettivo : tolleranza ai guasti fase di servizio <<Service Peer >> Simone Artesino Reti di Calcolatori LS
l'applicazione II configuration file Peer "Server" Peer "Client" Peer "Client" Peer "Server" <<launch>> local execution thread (ie lame.exe) <<capture>> interaction <<Service Peer >> Simone Artesino Reti di Calcolatori LS
Discovery <<Service Peer >> Simone Artesino Reti di Calcolatori LS
Scelte tecnologiche Peer "Client" Peer "Server" <<Service Peer >> Simone Artesino Reti di Calcolatori LS Connessione diretta Client-Server Tipi di dato scambiati (dati-configurazione-stringhe) Obiettivo : tolleranza ai guasti scambio di file di grandi dimensioni TCP vs UDP vs Middleware
Scelte per la Tolleranza • Tolleranza nella fase di apertura della socket • Tolleranza nella fase di invio-ricezione • Replicazione a copie passive-Fredde da parte del peer”Client” <<Service Peer >> Simone Artesino Reti di Calcolatori LS
Tolleranza nella fase di apertura della socket ClientStub peer Process peer Process Peer Control Peer "Client" Peer Control Peer "Server" TCP connection tentative repeat times clientSocket.connect(serverAddress); ServerStub soket soket StubThread connection refuse Skeleton Thread <<Service Peer >> Simone Artesino Reti di Calcolatori LS
Tolleranza nell'invio-ricezione esito dell'invio data data* Peer "Client" Peer "Server" 3 H H config config* =? Si/No <message> <serviceName></serviceName> <opParams></opParams> <inputFilename></inputFilename> <outputFilename></outputFilename> <inputFileLenght></inputFileLenght> <payload>Client_Hash</payload> </message> 2 1 <<Service Peer >> Simone Artesino Reti di Calcolatori LS
Copie Passive Fredde ClientStub ClientStub PeerControl creating new Stub & new ask for service 2 new Peer "Client" Peer "Server" Peer "Server" 1 StubThread Network-Server Faliure 3 getting configuration copy StubThread 1 2 3 4 new connection <<Service Peer >> Simone Artesino Reti di Calcolatori LS
Testing I & II Testing dell'applicazione all'interno della stessa macchia (connessioni socket nella stessa località) Testing dell'applicazione fra macchine diverse (connessioni socket fra host differenti) • Fallimento manuale • l'utente termina il server durante le varie fasi di vita dell'applicazione : • Fase di connessione delle socket • Fase di invio-ricezione dei dati e della configurazione • Fase di elaborazione del server • Fallimento automatico • Peer Server con stub (ServerErrorStub) che crea faliure con TCP <<Service Peer >> Simone Artesino Reti di Calcolatori LS Scenario uno : Discovery statico (indirizzi specificati nel file di configurazione /config/ad.txt) Scenario due : Discovery dinamico supporto del framwork UniboEnv-p2p
(focus) Testing Copie Passive Fredde socket address : 192.168.0.4 7500 Peer "Server" Peer "Server" Peer "Client" configuration bd_small.mp3 configuration socket address : socket connect : 192.168.0.4 7500 bd_small.mp3 192.168.0.3 5688 socket connect : bd_small.wav 192.168.0.3 5688 <<Service Peer >> Simone Artesino Reti di Calcolatori LS