Questa è un idea che mi frulla in testa da un po’ di tempo e solo in questi momenti di calma esitva ho avuto modo di esplorarla più in profondità.
Il concetto di base è che ogni utente che naviga su internet utilizza un browser il cui scopo principale è quello di visualizzare le informazioni fornite dal web, ma il browser non si limita a questo, è molto più potente, infatti è in grado di eseguire dei piccoli programmi scritti in un linguaggio che si chiama Javascript.
Ora, è credo comune che Javascript possa essere usato solo per creare simpatici effetti grafici o aprire finestrelle popup, in realtà è un linguaggio molto potente con caratteristiche che possono far invidia a Java e C++.
In definitiva l’idea è questa, usare l’interprete javascript del browser per eseguire calcolo distribuito.
La struttura del sistema è decisamente semplice, uno script sul lato server distribuisce i blocchi di dati da elaborare associati allo script che verrà eseguito sul browser. Lo script stesso, una volta esauriti i calcoli invia il risultato al server e riceve un nuovo blocco da elaborare.
Ovviamente qualcun’altro ci ha già pensato.
Nonostante ciò credo che dedicherò un paio di serate d’Agosto per mettere in piedi qualcosa del genere, magari usando Rails come backend.