Un server che invia i dati da elaborare ai client [chiuso]

-1

Circa un anno fa avevo un'idea in testa che utilizzava i computer dei miei amici per aiutarmi a elaborare i miei dati, quindi ho programmato un'applicazione server socket con boost::asio e ne ho dato una parte ai miei amici.

Quando si collegano, inviano al server (la mia macchina) un messaggio contenente le specifiche del computer (nuclei disponibili, memoria), in base al fatto che l'applicazione server decide quanti dati possono gestire contemporaneamente e quando terminano l'elaborazione di un batch inviano un "pronto per altri messaggi" al mio server, e le applicazioni client continuano a inviare dati sullo stato del processo, e c'è un sacco di gestione in background, qualunque cosa accada sulle macchine client è fino al server per prendere la decisione giusta, se la connessione con una macchina client è persa e non è rientrata in 5 minuti, il server tiene traccia dei dati che sono stati inviati a quella macchina e chiede informazioni al riguardo quando il client si riconnette.

Ho iniziato questo progetto e avevo solo alcune conoscenze di base nella programmazione di rete e non ho letto alcun pattern che potesse essere usato e ho usato solo il mio coraggio ma l'ho trovato davvero utile, mi piacerebbe espanderlo ma Voglio sapere se esiste un pattern noto per fare la stessa cosa usando i socket TCP, se sì, qual è il nome di quel pattern?

Lo considero un super computer con i suoi componenti sparsi in tutto il mondo.
Quindi apprezzerei alcune risorse su questo genere di cose.

    
posta user1590636 24.01.2014 - 02:42
fonte

1 risposta

1

Il concetto generale a cui ti riferisci è calcolo distribuito . Più in particolare, sembra che tu stia facendo una sorta di calcolo volontario . Suggerirei di effettuare ricerche su calcolo volontario (sulla magia googlebox) e di esaminare un progetto esistente come BOINC .

    
risposta data 24.01.2014 - 03:37
fonte

Leggi altre domande sui tag