Děkuji za odezvu...
vkliber píše:
- ovládat vzdáleně několik BOINC klientů v rámci jedné sítě lze i nyní z BOINC Managera (více
zde)
- ovládat vzdáleně několik BOINC klientů v několika různých sítích lze i nyní z BOINC Managera (více
zde poslední odstavec) ... nutnost nakonfigurovat router
- ovládat více BOINC klientů z jednoho GUI najednou lze i nyní (více
zde)
O tom vím, ale žádné řešení nebylo pod Linux
a klasický Boinc manager neumí ovládat víc PC najednou. (Chci třeba 5 počítačům říct aby nepočítali projekt A a začali s projektem B) Nemluvě o tom jaký je problém se dostat skrz NAT, (Pro každý pc se musí mapovat port a pak si je hlavně člověk musí pamatovat
)
vkliber píše:
Určitě bych byl rád jedním z prvních testerů, tvoje řešení se mi zamlouvá. Největší problém zřejmě budeš mít s implementací různých verzí BOINC a tím nemyslím jenom změny v 7 oproti 6, ale např. tuším od verze 6.12 je jiná syntaxe boinccmd (nevím jestli používáš na nodech boinccmd, nebo čteš přímo client_state.xml, nebo používáš přímo interní port 31416). V každém případě velice zajímavý počin a rád budu testovat.
Používám ten interní port, a protokol jsem získal reverzním inženýrstvím (čistější by bylo použít knihovnu od BOINC, ale nemam nervy na to jí začleňovat do svého programu...
). Zatím to vyvíjím pro verzi 7, ale mělo by to fungovat i na starších. Nepředpokládám, že se ten protokol bude zásadně měnit. (většinou dělají změny takové, aby byly zpětně kompatibilní) V nejhorším případě ale není problém zjistit co je jinak a opravit to.
Mělo by pak stačit updatovat jen Klienta (GUI), protože server a Node ty zprávy jen přeposílají (tedy kromě zadání hesla, to si řeší Node sám).
Ještě to není ve stavu, kdy to můžu vydat. (např. konfigurace IP je natvrdo ve zdrojácích...
) Ale až to bude, zajímala by tě verze pro Win nebo Linux?
vkliber píše:
Jiná varianta jak pohodlně ovládat své klienty přes celý internet by byla vytvořit speciální projekt (obdoba WUProb) kdy by na všech klientech běžela nci aplikace tohoto projektu (v tvém řešení to je ta Node aplikace) a pak by byla možnost ovládat všechny klienty ze všech klientů nebo z webu z účtu tohoto projektu (obdoba BAM!). Oproti BAM! by byla ta výhoda, že by nedocházelo ke zpoždění (čekání na timeout jak je to u BAM!), protože projekty už dnes umí vynutit komunikaci s klientem.
Tak todle je vskutku originální řešení...
Ale asi chtělo nějaký webový frontend a s tím bohužel nemám žádné zkušenosti, tak to bude muset realizovat někdo jiný...
Mimochodem jak funguje ta vynucená komunikace? To jako BOINC klient udržuje aktivní spojení na servery projektů, aby ho mohly kontaktovat?
vkliber píše:
Možná trochu OT, ale určitě to k tomu patří :
- myslím že více zajímavý nástroj by byl tzv. BOINC Master Client, který jsem už tady na fóru někde popisovat, jednalo by se o jeden hlavní BOINC v síti (Master), který by měl pod sebou několik BOINC (Slave) clientů (libovolných Windows/Linux/...) a tito Slave klienti by byli připojeni k Master klientu, který by znal jejich konfigurace a byl by připojen ke všem projektům daného účtu a stahoval by práci pro všechny své podřízené klienty a tuto práci by jim plynule přiděloval. Tedy jakási forma třívrstvé architektury, kdy koncoví klienti by ani nemuseli mít přímý přístup na internet. NA ten by byl připojen jen Master client. To by ale samozřejmě znamenalo použít zdrojáky oficiálního BOINC klienta a celé to překopat aby vznikli 2 různé distibuce : Master a Slave Client.
No určitě by to udělat šlo...
. Teoreticky by stačilo modifikovat jen tu serverovou část tak, aby se pro klienty tvářila jako další server s projektem. A server by se choval jako proxy. Pro projekty by se tvářil jako několik počítačů a stahoval vy práci a přeposílal ji...
Kdyby k tomu protokolu byla pořádná dokumentace, tak by to ani nemuselo být těžký napsat
Otázka, jestli ta práce za to stojí a není lepší používat standardní klienty a ovládat je všechny najednou přes síť...