autore: Simone Artesino (0000 248678) [email protected]

download autore:  Simone Artesino (0000 248678) simone.artesino@studio.unibo.it

If you can't read please download the document

description

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) [email protected]. l'idea. l'applicazione. - PowerPoint PPT Presentation

Transcript of autore: Simone Artesino (0000 248678) [email protected]

  • 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) [email protected]* Service Peer Simone Artesino Reti di Calcolatori LS

    Simone Artesino Reti di Calcolatori LS

  • l'idea* Simone Artesino Reti di Calcolatori LSil framework di partenzal'estensione al mondo tuple-p2pl'applicazione

    Simone Artesino Reti di Calcolatori LS

  • Il framework p2p* Simone Artesino Reti di Calcolatori LSpublic InetSocketAddress askForService(String serviceName)

    UniboEnv-p2ppublic void offerForService(String serviceName,String remoteIP,String port)Tuple (Tucson) / P2P (PGrid)SuperPeer & "localit"semantica Messaggi UniboEnv

    Simone Artesino Reti di Calcolatori LS

  • l'applicazione I* Simone Artesino Reti di Calcolatori LSidea mondo dove si offrono servizi di conversione servizio come richiesta di elaborazione differita Obiettivo : tolleranza ai guastifase di serviziofase di discovery

    Simone Artesino Reti di Calcolatori LS

  • l'applicazione II* Simone Artesino Reti di Calcolatori LS

    local execution thread(ie lame.exe)

    interactionPeer "Client"Peer "Server"

    ServiceNameaudioService -> mp3 to wav

    Simone Artesino Reti di Calcolatori LS

  • Discovery* Simone Artesino Reti di Calcolatori LS

    Simone Artesino Reti di Calcolatori LS

  • Scelte tecnologicheConnessione diretta Client-ServerTipi di dato scambiati(dati-configurazione-stringhe)Obiettivo : tolleranza ai guasti scambio di file di grandi dimensioni TCP vs UDP vs Middleware* Simone Artesino Reti di Calcolatori LS

    Simone Artesino Reti di Calcolatori LS

  • Scelte per la Tolleranza* Simone Artesino Reti di Calcolatori LSTolleranza nella fase di apertura della socketTolleranza nella fase di invio-ricezione Replicazione a copie passive-Fredde da parte del peerClient

    Simone Artesino Reti di Calcolatori LS

  • Tolleranza nella fase di apertura della socket* Simone Artesino Reti di Calcolatori LSTCP connection tentativeconnection refusepeer ProcessStubThreadrepeat timesSkeleton Threadpeer ProcesssoketsoketclientSocket.connect(serverAddress);

    Simone Artesino Reti di Calcolatori LS

  • Client_Hash

    Tolleranza nell'invio-ricezione* Simone Artesino Reti di Calcolatori LS=?config*Si/Noconfigdataesito dell'invio123data*

    Simone Artesino Reti di Calcolatori LS

  • Copie Passive Fredde* Simone Artesino Reti di Calcolatori LS123StubThreadPeerControlnew1Network-Server Faliure23creating new Stub & new ask for servicegetting configuration copyStubThread4new connection

    Simone Artesino Reti di Calcolatori LS

  • Testing I & II Scenario uno : Discovery statico (indirizzi specificati nel file di configurazione /config/ad.txt)Scenario due : Discovery dinamico supporto del framwork UniboEnv-p2p

    * Simone Artesino Reti di Calcolatori LSTesting dell'applicazione all'interno della stessa macchia(connessioni socket nella stessa localit)Testing dell'applicazione fra macchine diverse(connessioni socket fra host differenti)Fallimento manualel'utente termina il server durante le varie fasi di vita dell'applicazione : Fase di connessione delle socketFase di invio-ricezione dei dati e della configurazioneFase di elaborazione del server

    Fallimento automatico Peer Server con stub (ServerErrorStub) che crea faliure con TCP

    Simone Artesino Reti di Calcolatori LS

  • 192.168.0.47500(focus) Testing Copie Passive Fredde* Simone Artesino Reti di Calcolatori LS192.168.0.4 7500192.168.0.35688192.168.0.35688bd_small.mp3configurationbd_small.mp3configurationbd_small.wavsocket address :socket connect :socket connect :socket address :

    ServiceNameaudioService -> mp3 to wav

    Simone Artesino Reti di Calcolatori LS

    *unboEnv -> Il framework uniboEnv un MOM (Messagge Oriented Middleware) per lambiente JAVA. Nasce con lintento di superare la semantica della chiamata a procedura e realizzata i concetti di chiamata asincrona, di comunicazione a scambio di messaggi,di scatenamento e ricezione di eventi, al fine di fornire un sistema di supporto all'eterogeneit e all'interoperabilit di pi sistemi che comunicano tra loro attraverso uno scambio di messaggi.

    uniboEnv-p2p -> Il middleware UniboEnv-p2p realizza un mondo ibrido Server delle Tuple / peer to peer

    ServicePeer -> Service Peer, nasce come entit peer to peer in un mondo dove si offrono servizi di conversione

    *MessaggiUn mittente deposita nel sistema un messaggio, etichettandolo e poi si disinteressa dello stesso.Il messaggio pu permanere latente nel sistema per un tempo indefinito.

    CheckForMsg: cerciamo nello spazio delle tuple la template specifica per vedere se ci sta o meno. Usiamo rdp perch nel caso non ci sia la tupla,loperazione fallisce. sendMsg: creamo un messaggio con i parametri adeguati e lo inseriamo nello spazio delle tuple specifico attraverso out. ReceiveMsg: si cerca con in la tupla nello spazio delle tuple e si construisce il messaggio (IMessage) per restituirlo con i parametri che si sono cercati.

    **- Per questa motivazione si scartato lutilizzo di un MOM, in quanto avrei dovuto leggere, codificare ed impacchettare file di grosse dimensioni per poi ricostruirli dallaltro lato dellend-point. - Non stata considerata la tecnologia RMI poich non vi la necessit di grosse interazioni, e neanche lutilizzo di middleware pi complessi, quali CORBA, per linutili costi di overhead che comportano.

    Non stata utilizzata la tecnologia UDP poich :Non da garanzie rispetto alla perdita di pacchettiPer la tipologia di applicazione, non siamo interessati allo scambio in di piccoli pacchetti e non siamo orientati allutilizzo di stream , al contrario vi la necessit di aver ricevuto interamente il dato e la configurazione prima di eseguire. Loverhead della costruzione del canale rispetto all invio immediato di semplici messaggi UDP viene a giustificarsi per la qualit di servizio offerta . Inoltre la relativa lentezza del protocollo TCP viene ad annullarsi nel caso di invio di file di grandi dimensioni, poich nel caso di mittente e destinatario distanti (come che possibile trovare nelle rete peer) mi assicura lo stesso instradamento per tutto il flusso di dati.

    *tcp best effort ma pu essere la base per costruire sistema tollerante*