Dopo avervi parlato dell’ultimo progetto realizzato per l’università, un semplice motore di ricerca che aggrega i risultati di Google, YouTube e Wikipedia, voglio condividere con voi il progetto che ho realizzato come Prova Finale per la Laurea Triennale. Si tratta di un sistema distribuito Client/Server applicato alla risoluzione di un Puzzle.

Il Puzzle Distribuito

Il Puzzle Distribuito è un progetto che simula quello che nella realtà è un puzzle, dalla sua origine (la creazione dei pezzi) al lavoro fatto dalle persone per riunire i pezzi e formare l’immagine originale. Un puzzle reale per essere risolto necessita, a volte, di tempi molto lunghi, i quali però si possono ridurre se nella risoluzione del puzzle partecipano più persone. Questo effetto nel Puzzle Distribuito è simulato attraverso l’uso dell’elaborazione distribuita.

L’elaborazione distribuita

L’elaborazione distribuita può essere facilmente descritta come lo sforzo di unire un complesso di macchine connesse in rete in modo che l’informazione o altre risorse possano essere condivise da tutte le macchine connesse. La speranza è che la divisione possa aver luogo su grandi aree, molte macchine e molti utenti, unificandoli in una consistente e coerente struttura. In questa particolare applicazione dell’elaborazione distribuita, sono presenti un sistema centrale, e molti sistemi decentralizzati che gestiscono i calcoli. In questo modo si può trarre vantaggio dalla potenza di calcolo e dalla memoria disponibile su una possibile vasta rete di computer. Il sistema centrale, invece, ha il compito di stabilire la connessione tra i nodi della rete e coordinare i risultati del calcolo.

Come il mio solito, vi rendo partecipi dei miei progetti attraverso un semplice video. Questa volta metto a disposizione anche la mia Relazione per la Prova Finale, che potete consultare per capire meglio il funzionamento del Puzzle Distribuito.

Per ulteriori informazioni non esitate a contattarmi. Durante lo sviluppo del progetto ho spesso ricorso ad Internet per dubbi o aiuti sulla programmazione, quindi mi fa piacere condividerlo con voi.