31.05.2013 Views

progettazione e realizzazione in java di una rete peer to peer ...

progettazione e realizzazione in java di una rete peer to peer ...

progettazione e realizzazione in java di una rete peer to peer ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2. LE COMPONENTI<br />

non <strong>di</strong>ano orig<strong>in</strong>e a deleteri fenomeni <strong>di</strong> overlapp<strong>in</strong>g. D’altra parte dataS<strong>to</strong>rage<br />

può <strong>in</strong>viare chunk su richiesta.<br />

Il vero pun<strong>to</strong> <strong>di</strong> forza <strong>di</strong> ques<strong>to</strong> ges<strong>to</strong>re è però da cercarsi non nelle sue attuali<br />

capacità, ma nei suoi sviluppi futuri. Infatti <strong>in</strong>serire dataS<strong>to</strong>rage tra il <strong>di</strong>sco loca-<br />

le e il plug-<strong>in</strong> equivale alla creazione <strong>di</strong> un nuovo layer <strong>in</strong>terme<strong>di</strong>o. Ques<strong>to</strong> layer<br />

permette ai plug-<strong>in</strong> <strong>di</strong> non dovere cambiare i loro meccanismi <strong>in</strong>terni <strong>di</strong> s<strong>to</strong>r<strong>in</strong>g,<br />

qualora cambiasse la natura del salvataggio. Quando sarà pronta l’<strong>in</strong>frastruttura<br />

per il salvataggio <strong>di</strong> dati su <strong>di</strong>versi no<strong>di</strong> della <strong>rete</strong>, il plug-<strong>in</strong> che vorrà sfruttare<br />

questa nuova feature dovrà semplicemente cambiare il valore <strong>di</strong> un parametro nel<br />

messaggio <strong>in</strong>via<strong>to</strong> a dataS<strong>to</strong>rage. D’altra parte, grazie alla <strong>progettazione</strong> modu-<br />

lare del ges<strong>to</strong>re stesso, l’aggiornamen<strong>to</strong> con la nuova caratteristica comporterà la<br />

riscrittura <strong>di</strong> solo un paio <strong>di</strong> righe <strong>di</strong> co<strong>di</strong>ce.<br />

Erasure cod<strong>in</strong>g<br />

Ques<strong>to</strong>, che è uno degli aspetti più <strong>in</strong>novativi <strong>di</strong> tut<strong>to</strong> il proget<strong>to</strong>, verrà qui solo<br />

accenna<strong>to</strong> senza alc<strong>una</strong> p<strong>rete</strong>sa <strong>di</strong> completezza. Sarà, <strong>in</strong>fatti, espos<strong>to</strong> nella tesi <strong>di</strong><br />

Federico Sogaro. Scopo dell’erasure cod<strong>in</strong>g è mo<strong>di</strong>ficare un file aggiungendo un<br />

piccolo overhead <strong>in</strong> modo tale che <strong>in</strong> caso <strong>di</strong> irrecuperabilità <strong>di</strong> alcune sue parti il<br />

file sia comunque ricostruibile. Uno schema <strong>di</strong> funzionamen<strong>to</strong> possibile, anche se<br />

descrit<strong>to</strong> <strong>in</strong> maniera volutamente mol<strong>to</strong> semplificata su un ipotetico file da 100<br />

MB, segue.<br />

1. Il file viene opport<strong>una</strong>mente mo<strong>di</strong>fica<strong>to</strong> aggiungendo un 10% <strong>di</strong> overhead<br />

arrivando ad occupare 110 MB;<br />

2. il file viene scompos<strong>to</strong> il 110 pacchetti da 1 MB l’uno;<br />

3. del file vengono recuperati 100 pacchetti qualsiasi;<br />

4. tramite opportune manipolazione si ricostruisce il file <strong>in</strong>iziale.<br />

Ques<strong>to</strong> sistema permette, con relativamente poco overhead, e con un’efficien-<br />

za mol<strong>to</strong> maggiore della semplice ridondanza, il backup <strong>di</strong> grossi file sulla <strong>rete</strong>.<br />

Esis<strong>to</strong>no, <strong>in</strong>oltre, alcune sue versioni mo<strong>di</strong>ficate, chiamate <strong>di</strong>gital fouta<strong>in</strong> la cui<br />

vocazione è la trasmissione e non lo s<strong>to</strong>rage. Le <strong>di</strong>gital fouta<strong>in</strong>, <strong>in</strong>fatti, applicano<br />

il pro<strong>to</strong>collo precedentemente descrit<strong>to</strong> per scomporre il file e poi procedono a<br />

spe<strong>di</strong>re i pacchetti su pro<strong>to</strong>colli veloci, ma <strong>in</strong>affidabili, sulla <strong>rete</strong>, senza aspettare<br />

mai ness<strong>una</strong> conferma <strong>in</strong>terme<strong>di</strong>a. I riceventi qu<strong>in</strong><strong>di</strong> recuperano <strong>una</strong> certa per-<br />

centuale <strong>di</strong> pacchetti; quando ne hanno ricevuti abbastanza per poter ricostruire<br />

20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!