CPID aneb Cross Project Id tajemství zbavené
Napsal: pon črc 30, 2007 8:22 pm
Na tomtu vláknu se pracuje 
1/ Co je CPID
A/ Účty na různých BOINC projektech jsou považovány za shodné pokud mají stejnou emailovou adresu. Projekty ale nemohou, z důvodu ochrany soukromí, exportovat email. Také není žádané exportovat hash emailu.
Aby se tyto problémy vyřešili BOINC používá následující systém:
- každému novému účtu je přiděleno CPID - dlouhý náhodně generovaný řetězec znaků.
- odpověď scheduleru (serveru) na požadavek od klienta obsahuje toto CPID a hashovaný email
- Boinc manager uloží CPID a hashovaný email pro každý účet do souboru client_state.xml
- když boinc démon posílá následující požadavek na scheduler, posílá vždy nejstarší CPID, což brání neustálým změnám CPID při připojení k dalším projektům.
---:tento postup platil pro klienty do verze 4.3 -- >posílá se největší CPID ze všech uložených u projektů se stejným hashem pro email.
- pokud server obdrží CPID, které je jiné než to v jeho databázi, pak databázi updatuje s tímto CPID
- v uživatelově .xml souborech je pak pouze hashovaná verze CPID a emailu, toto "exportované" CPID služí jako jedinečný idntifikátor všech účtů s touto emailovou adresou.
Z toho plyne, že pokud chcete mít sjednocené účty ve statistikách, pak musíte mít stejný email pro všechny pojekty.
Doporučuji také mít stejné uživatelské jméno.
B/ Každé PC (host) daného uživatele připojené do projektu vygeneruje interní CPID, což je MD5 vypočtený z domainového jména, IP addresy, volného místa na disku a časové značky. Toto číslo je poté oznámeno danému projektu. Projekt potom z tohoto čísla vytvoří externí CPID (ten který nás zajímá) tím, že jeho vytvoří hash za pomoci emailové adresy uživatele. To slouží k identifikaci PC v rámci projektu a nás až tak nezajímá.
2/ K čemu je CPID
Slouží k jednoznačné identifikace daného uživatele napříč všemi projekty, ke kterým je připojen. Používá se hlavně pro různé statistické weby jako je
(boincsynergy,boincstats) a je tudíž exportován ve statistikách.
3/ Co kromě CPID je potřebné k synchronizaci účtů mezi projekty
Nejlépe mít stejný email a stejného uživatele. Stejného co do písmene a velikostí písmen. Dobré je se vyhnout mezerám v uživateli. Třeba WCG to nemá rád.
4/ Problémy
- Pokud ve svých celkových statistikách vidíte 2 účty, i když používáte stejný název účtu a email, pak stačí na chvíli počítat stejný projekt u obou účtů/počítačů.
Příklad :
1. PC projekty A a B
2. PC projekty C a D
...pokud přídáte k prvnímu PC projekt C či D nebo naopak ke druhému A nebo B, pak se vám oba účty ve statistikách po čase sjednotí a vše již bude ok.
- Druhý způsob je poněkud složitější ale rychlejší. Jedná se o přímou editaci souboru client_state.xml, který se nachází ve složce BOINC.
Stopněte Boinc klienta. Udělejte zálohu adresáře.
Editujte soubor client_state.xml třeba pomocí wordpadu a vyhledejte v něm cross_project_id čili např.
<cross_project_id>d07c390d12700c2531a129a922d1141f</cross_project_id>.
Právě tento údaj nakopírujte do všech cross_project_id na ostatních počítačích a ke všem projektům. Doplňte ho do všech projektů v záloze. Zaktualizujte všechny klienty přes update project.
- Specifický projekt je CPDN. Pokud ho počítáte pak nejlépe:
1) přihlašovat se k CPDN jako prvnímu projektu a až pak k dalším
2) kdyz nelze 1), tak editovat client_state.xml
V každém případě se synchronizace neprojeví hned. Je třeba počkat nejméně 24 hodin, ale může být i více.
1/ Co je CPID
A/ Účty na různých BOINC projektech jsou považovány za shodné pokud mají stejnou emailovou adresu. Projekty ale nemohou, z důvodu ochrany soukromí, exportovat email. Také není žádané exportovat hash emailu.
Aby se tyto problémy vyřešili BOINC používá následující systém:
- každému novému účtu je přiděleno CPID - dlouhý náhodně generovaný řetězec znaků.
- odpověď scheduleru (serveru) na požadavek od klienta obsahuje toto CPID a hashovaný email
- Boinc manager uloží CPID a hashovaný email pro každý účet do souboru client_state.xml
- když boinc démon posílá následující požadavek na scheduler, posílá vždy nejstarší CPID, což brání neustálým změnám CPID při připojení k dalším projektům.
---:tento postup platil pro klienty do verze 4.3 -- >posílá se největší CPID ze všech uložených u projektů se stejným hashem pro email.
- pokud server obdrží CPID, které je jiné než to v jeho databázi, pak databázi updatuje s tímto CPID
- v uživatelově .xml souborech je pak pouze hashovaná verze CPID a emailu, toto "exportované" CPID služí jako jedinečný idntifikátor všech účtů s touto emailovou adresou.
Z toho plyne, že pokud chcete mít sjednocené účty ve statistikách, pak musíte mít stejný email pro všechny pojekty.
Doporučuji také mít stejné uživatelské jméno.
B/ Každé PC (host) daného uživatele připojené do projektu vygeneruje interní CPID, což je MD5 vypočtený z domainového jména, IP addresy, volného místa na disku a časové značky. Toto číslo je poté oznámeno danému projektu. Projekt potom z tohoto čísla vytvoří externí CPID (ten který nás zajímá) tím, že jeho vytvoří hash za pomoci emailové adresy uživatele. To slouží k identifikaci PC v rámci projektu a nás až tak nezajímá.
2/ K čemu je CPID
Slouží k jednoznačné identifikace daného uživatele napříč všemi projekty, ke kterým je připojen. Používá se hlavně pro různé statistické weby jako je
(boincsynergy,boincstats) a je tudíž exportován ve statistikách.
3/ Co kromě CPID je potřebné k synchronizaci účtů mezi projekty
Nejlépe mít stejný email a stejného uživatele. Stejného co do písmene a velikostí písmen. Dobré je se vyhnout mezerám v uživateli. Třeba WCG to nemá rád.
4/ Problémy
- Pokud ve svých celkových statistikách vidíte 2 účty, i když používáte stejný název účtu a email, pak stačí na chvíli počítat stejný projekt u obou účtů/počítačů.
Příklad :
1. PC projekty A a B
2. PC projekty C a D
...pokud přídáte k prvnímu PC projekt C či D nebo naopak ke druhému A nebo B, pak se vám oba účty ve statistikách po čase sjednotí a vše již bude ok.
- Druhý způsob je poněkud složitější ale rychlejší. Jedná se o přímou editaci souboru client_state.xml, který se nachází ve složce BOINC.
Stopněte Boinc klienta. Udělejte zálohu adresáře.
Editujte soubor client_state.xml třeba pomocí wordpadu a vyhledejte v něm cross_project_id čili např.
<cross_project_id>d07c390d12700c2531a129a922d1141f</cross_project_id>.
Právě tento údaj nakopírujte do všech cross_project_id na ostatních počítačích a ke všem projektům. Doplňte ho do všech projektů v záloze. Zaktualizujte všechny klienty přes update project.
- Specifický projekt je CPDN. Pokud ho počítáte pak nejlépe:
1) přihlašovat se k CPDN jako prvnímu projektu a až pak k dalším
2) kdyz nelze 1), tak editovat client_state.xml
V každém případě se synchronizace neprojeví hned. Je třeba počkat nejméně 24 hodin, ale může být i více.