View Single Post
Old 24-04-2005, 15:35   #13
GHz
Senior Member
 
L'Avatar di GHz
 
Iscritto dal: Sep 2001
Città: Vicopisano (PI)
Messaggi: 11652
Funzionamento BOINC e controllo remoto

La piattaforma BOINC comprende sia la parte server che quella client. Quella che utilizziamo tutti noi ovviamente è la parte client.
Ogni progetto è indipendente dagli altri ed ogniuno ha i propri server ed il proprio client che elabora i dati, che viene inviato agli utenti che partecipano.
Il client BOINC si occupa quindi di gestire i client dei vari progetti e ad effettuare le connessioni ed i trasferimenti dei dati con i rispettivi server.
Il programma che viene installato sui nostri computer è composto da due parti: il core client e l'interfaccia. Il core client è sostanzialmente "il motore" di tutte le operazioni che avvengono, mentre tramite l'iterfaccia è possibile visualizzare tali operazioni ed inviare i vari comandi (update, attach, reset, ecc).
Lo scambio di informazioni e l'invio dei comandi tra il core client e l'interfaccia avviene tutto tramite RPC (Remote Procedure Call).
Il core client quindi è indipendente dall'interfaccia utilizzata, ed è possibile utilizzarne più di una assieme. Con BOINC vengono forniti 2 tipi di interfacce: una grafica, chiamata BOINC MANAGER, ed una testuale, chiamata BOINC COMMAND-LINE CLIENT.
Il file del core client di boinc è il boinc.exe mentre quelli dell'interfaccia sono boincmgr.exe (BOINC manager), e boincccmd.exe (BOINC command-line client).
Oltre a quelle fornite con il client BOINC, è quindi possibile utilizzare altre interfacce di terze parti, come ad esempio BOINCVIEW.
Riassumo quanto detto fino ad ora con uno schema, che può chiarire meglio le idee:



Perciò, come si vede dall'immagine, quello che accede alla rete è il core client di BOINC, e quindi nel caso il PC sia protetto da firewall bisogna dare i permessi a boinc.exe (porta 80). Le interfaccie si connettono al core client e basta di default e non accedono alla rete.

Oltre a controllare il core client di BOINC locale (cioè del pc stesso), con le interfaccie è possibile connettersi anche ad altri su PC remoti (connessi via lan o internet).
Non c'è da allarmarsi comunque, nessuno può connettersi al vostro BOINC client senza le necessarie autorizzazioni: infatti di default, il core client di BOINC accetta connessioni solo da localhost (cioè da interfaccie presenti sul PC stesso).
Per abilitare le connessioni dall'esterno ci sono 2 modi:
  • Avviando il core client con il parametro "-allow_remote_gui_rpc": questo metodo, oltre che ad essere più complicato da implementare è sconsigliato, in quanto così vengono accettate le connessioni da qualsiasi computer e chiunque potrebbe entrare.
  • Creando dei file specifici che permettono l'accesso solo agli host autorizzati: è possibile specificare gli host che possono accedere inserendoli uno per ogni rigo in un file chiamato remote_hosts.cfg ed impostando una password per l'accesso inserendola in un file chiamato gui_rpc_auth.cfg. Questi 2 file devono stare nella cartella di BOINC e se vengono modificati è necessario riavviare BOINC per far prendere le modifiche.
    Nel file remote_hosts.cfg è possibile specificare gli ip oppure i nomi DNS dei vari host. Un esempio potrebbe essere il seguente (le righe che iniziano per # vengono ignorate da BOINC):
    Codice:
    #pc locale
    192.168.1.10
    #pc lavoro
    lavoro.no-ip.com
    #pc amico
    80.123.123.123
    In questo caso solamente quegli host specificati potranno accedere al core client.
    Se presente anche il file con la password, ogni client abilitato dalla lista precedente deve anche conoscere la password per potersi connettere.
    Questo metodo quindi è molto sicuro e flessibile, ed è quello più utilizzato.
La connessione al core client BOINC avviene tramite la porta 31416, che deve essere aperta nei PC protetti da firewall ai quali vogliamo connetterci in remoto (nel caso di router si deve forwardare tale porta all'ip locale del PC da controllare).
Nel BOINC Manager l'host a cui è connesso appare nel titolo della finestra ed in basso a destra nella barra di stato. Per connettersi ad un'altro host basta selezionare "Select computer" dal menù File, e digitare l'indirizzo (o nome) del PC e la password (se necessaria).
Ovviamente quando si fanno queste operazioni le interfacce accedono all'esterno e devono avere i permessi per farlo nel caso di PC protetti da firewall.
Tramite le interfacce fornite con il client BOINC è possibile connettersi e gestire un solo host alla volta, mentre tramite l'ottimo BOINCVIEW è possibile tenere sotto controllo più host contemporaneamente ed eseguire operazioni su tutti gli host tramite un solo click.
Per riassumere anche questa parte faccio un esempio con uno schema di una possibile situazione:

__________________
>>PARTECIPA AI PROGETTI DI CALCOLO DISTRIBUITO CON BOINC.Italy!<<
You may say I'm a dreamer - But I'm not the only one - I hope someday you'll join us - And the team will be the 1# one
BoincEmperor 1° Livello - Rotoloni DOCET!! Cactus rulez!!

Ultima modifica di GHz : 24-03-2007 alle 17:39.
GHz è offline