Upgrade to Pro — share decks privately, control downloads, hide ads and more …

sensor overlay

Avatar for sn0wnight sn0wnight
July 06, 2013
78

sensor overlay

Avatar for sn0wnight

sn0wnight

July 06, 2013

Transcript

  1. ࢓༷ ߏ଄ԽΦʔόʔϨΠ - Kademlia DHTΛར༻ ೋ෼໦ϕʔεͷDHT (֬཰తΦʔμʔ: O(log n)) ←DHTͷதͰ΋࣮૷͕༰қ,

    γϯϓϧ ڑ཭͸ϊʔυIDಉ࢜ͷXORͰఆٛ͞ΕΔ (XORͷରশੑΛར༻) ϧʔςΟϯάςʔϒϧͷอ࣋ൣғ͸2^i <= node_xor(x,y) < 2^{i+1} (0 <= i < 160) 13೥7݄6೔౔༵೔
  2. ࢓༷ - Kademliaͷ4ͭͷRPC ඇಉظRPCͱͯ͠ಈ࡞ (͍͍ͪͪ଴ͬͯͨΒ஗ͯ͘͠ΐ͏͕ͳ͍) RPCΛ࣮ߦ͢Δ౓ʹϧʔςΟϯάςʔϒϧ(k-bucket)͕ߋ৽͞ΕΔ ping - ର৅ͷϊʔυ͕ੜ͖͍ͯΔ͔Λ໰͍߹ΘͤΔ find_node

    (k) - kʹ͍ۙϊʔυΛݟ͚ͭͯϦετΛฦ͢ find_value(k) - kʹ͍ۙϊʔυΛݟ͚ͭͯkʹରԠ͢Δv͕͋Ε͹vΛฦ৴ store (k, v) - ର৅ͷϊʔυʹkey-valueϖΞΛอ࣋ͤ͞Δ 13೥7݄6೔౔༵೔
  3. ࢓༷ - Kademliaͷ4ͭͷRPC ping - ର৅ͷϊʔυ͕ੜ͖͍ͯΔ͔Λ໰͍߹ΘͤΔ find_node (k) - kʹ͍ۙϊʔυΛݟ͚ͭͯϦετΛฦ͢

    find_value(k) - kʹ͍ۙϊʔυΛݟ͚ͭͯkʹରԠ͢Δv͕͋Ε͹vΛฦ৴ store (k, v) - ର৅ͷϊʔυʹkey-valueϖΞΛอ࣋ͤ͞Δ ඇಉظRPCͱͯ͠ಈ࡞ (͍͍ͪͪ଴ͬͯͨΒ஗ͯ͘͠ΐ͏͕ͳ͍) RPCΛ࣮ߦ͢Δ౓ʹϧʔςΟϯάςʔϒϧ(k-bucket)͕ߋ৽͞ΕΔ → ࣗવͱϊʔυͱͯ͠໾ʹཱͨͳౕ͍͕࢖ΘΕͳ͘ͳΔ 13೥7݄6೔౔༵೔
  4. ࢓༷ - Kademliaͷ4ͭͷRPC ping - ର৅ͷϊʔυ͕ੜ͖͍ͯΔ͔Λ໰͍߹ΘͤΔ find_node (k) - kʹ͍ۙϊʔυΛݟ͚ͭͯϦετΛฦ͢

    find_value(k) - kʹ͍ۙϊʔυΛݟ͚ͭͯkʹରԠ͢Δv͕͋Ε͹vΛฦ৴ store (k, v) - ର৅ͷϊʔυʹkey-valueϖΞΛอ࣋ͤ͞Δ ඇಉظRPCͱͯ͠ಈ࡞ (͍͍ͪͪ଴ͬͯͨΒ஗ͯ͘͠ΐ͏͕ͳ͍) RPCΛ࣮ߦ͢Δ౓ʹϧʔςΟϯάςʔϒϧ(k-bucket)͕ߋ৽͞ΕΔ → ࣗવͱϊʔυͱͯ͠໾ʹཱͨͳౕ͍͕࢖ΘΕͳ͘ͳΔ Churn଱ੑΛߟྀͯ͠ϊʔυ΁ͷkey-valueϖΞͷ֨ೲʹ͍ͭͯ͸ɺ ෳ਺ͷۙྡϊʔυʹରͯ͠storeΛߦ͏ͱ͍͏ํ๏Λ࢖͏ (= publish) 13೥7݄6೔౔༵೔
  5. ࢓༷ - Kademliaͷ4ͭͷRPC ping - ର৅ͷϊʔυ͕ੜ͖͍ͯΔ͔Λ໰͍߹ΘͤΔ find_node (k) - kʹ͍ۙϊʔυΛݟ͚ͭͯϦετΛฦ͢

    find_value(k) - kʹ͍ۙϊʔυΛݟ͚ͭͯkʹରԠ͢Δv͕͋Ε͹vΛฦ৴ store (k, v) - ର৅ͷϊʔυʹkey-valueϖΞΛอ࣋ͤ͞Δ ඇಉظRPCͱͯ͠ಈ࡞ (͍͍ͪͪ଴ͬͯͨΒ஗ͯ͘͠ΐ͏͕ͳ͍) RPCΛ࣮ߦ͢Δ౓ʹϧʔςΟϯάςʔϒϧ(k-bucket)͕ߋ৽͞ΕΔ → ࣗવͱϊʔυͱͯ͠໾ʹཱͨͳౕ͍͕࢖ΘΕͳ͘ͳΔ Churn଱ੑΛߟྀͯ͠ϊʔυ΁ͷkey-valueϖΞͷ֨ೲʹ͍ͭͯ͸ɺ ෳ਺ͷۙྡϊʔυʹରͯ͠storeΛߦ͏ͱ͍͏ํ๏Λ࢖͏ (= publish) 13೥7݄6೔౔༵೔
  6. جຊతͳࣄ - ॲཧͷ୯Ґ WorkUnitͱݺͿࣄͱ͠·͢ɻzipͰݻΊΒΕͨσʔλͰதʹ ॲཧର৅σʔλ(d), ॲཧΛߦ͏ϓϩάϥϜ(f), ग़ྗܗࣜͳͲΛ·ͱΊͨJSONͱ͍͏جຊతʹ͸3ͭͰߏ੒ - ϊʔυͷ۠ผ 3ͭͷϊʔυͷ۠ผΛߦ͍·͢ɻ

    Master (ϓϩδΣΫτΛཱͯͨϊʔυ) Worker (࣮ࡍʹWorkUnitΛॲཧ͢Δϊʔυ) Tracker (Workerͷঢ়ଶΛ؂ࢹͯ͠, ॲཧ݁Ռͷਖ਼ޡ൑ఆͳͲΛߦ͏) ※ Master͸TrackerͷTrackerͱ͍͏໾ׂ΋Ռͨ͢ 13೥7݄6೔౔༵೔
  7. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) tracker Node r tracker Node QSPK QSPK hash(hash(data_i)+”:tracker”) ۙྡϊʔυΛTrackerͱ͢Δɻhash(Wu)ͷ஋΋ૹ৴ͯ͠΋Β͏ hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  8. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) tracker Node r tracker Node QSPK QSPK hash(hash(data_i)+”:tracker”) ۙྡϊʔυΛTrackerͱ͢Δɻhash(Wu)ͷ஋΋ૹ৴ͯ͠΋Β͏ hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  9. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) tracker Node r tracker Node QSPK QSPK hash(hash(data_i)+”:tracker”) ۙྡϊʔυΛTrackerͱ͢Δɻhash(Wu)ͷ஋΋ૹ৴ͯ͠΋Β͏ hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  10. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) tracker Node r tracker Node QSPK QSPK hash(hash(data_i)+”:tracker”) ۙྡϊʔυΛTrackerͱ͢Δɻhash(Wu)ͷ஋΋ૹ৴ͯ͠΋Β͏ hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  11. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) tracker Node r tracker Node QSPK QSPK hash(hash(data_i)+”:tracker”) ۙྡϊʔυΛTrackerͱ͢Δɻhash(Wu)ͷ஋΋ૹ৴ͯ͠΋Β͏ hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  12. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK Tracker Node QSPK tracker Node QSPK hash(hash(data_2)+”:tracker”) tracker Node QSPK hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  13. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK Tracker Node QSPK tracker Node QSPK hash(hash(data_2)+”:tracker”) tracker Node QSPK hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  14. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK Tracker Node QSPK tracker Node QSPK hash(hash(data_2)+”:tracker”) tracker Node QSPK hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  15. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK Tracker Node QSPK tracker Node QSPK hash(hash(data_2)+”:tracker”) tracker Node QSPK hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  16. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK Tracker Node QSPK tracker Node QSPK hash(hash(data_2)+”:tracker”) tracker Node QSPK hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  17. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK Tracker Node QSPK tracker Node QSPK hash(hash(data_2)+”:tracker”) tracker Node QSPK hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  18. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK Tracker Node QSPK tracker Node QSPK hash(hash(data_2)+”:tracker”) tracker Node QSPK hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  19. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ʹWorkUnitϑΝΠϧ(.sunit)Λ౤͛Δ QSPK tracker Node QSPK hash(hash(data_3)+”:tracker”) hash(hash(data_2)+”:tracker”) 13೥7݄6೔౔༵೔
  20. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ʹWorkUnitϑΝΠϧ(.sunit)Λ౤͛Δ QSPK tracker Node QSPK hash(hash(data_3)+”:tracker”) hash(hash(data_2)+”:tracker”) 13೥7݄6೔౔༵೔
  21. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ʹWorkUnitϑΝΠϧ(.sunit)Λ౤͛Δ QSPK tracker Node QSPK hash(hash(data_3)+”:tracker”) hash(hash(data_2)+”:tracker”) 13೥7݄6೔౔༵೔
  22. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ʹWorkUnitϑΝΠϧ(.sunit)Λ౤͛Δ QSPK tracker Node QSPK hash(hash(data_3)+”:tracker”) hash(hash(data_2)+”:tracker”) 13೥7݄6೔౔༵೔
  23. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ʹWorkUnitϑΝΠϧ(.sunit)Λ౤͛Δ QSPK tracker Node QSPK hash(hash(data_3)+”:tracker”) hash(hash(data_2)+”:tracker”) 13೥7݄6೔౔༵೔
  24. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE QSPK tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ʹWorkUnitϑΝΠϧ(.sunit)Λ౤͛Δ QSPK tracker Node QSPK hash(hash(data_3)+”:tracker”) hash(hash(data_2)+”:tracker”) 13೥7݄6೔౔༵೔
  25. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ΛDHT্Ͱ୳ࡧɻ.sunitϑΝΠϧΛೖखɻ QSPK QSPK hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  26. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ΛDHT্Ͱ୳ࡧɻ.sunitϑΝΠϧΛೖखɻ QSPK QSPK hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  27. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ΛDHT্Ͱ୳ࡧɻ.sunitϑΝΠϧΛೖखɻ QSPK QSPK hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  28. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ΛDHT্Ͱ୳ࡧɻ.sunitϑΝΠϧΛೖखɻ QSPK QSPK hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  29. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ΛDHT্Ͱ୳ࡧɻ.sunitϑΝΠϧΛೖखɻ QSPK QSPK hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  30. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node hash(hash(proj)+”:suint:”+hash(hash(Wu)+”:tracker”)) ΛDHT্Ͱ୳ࡧɻ.sunitϑΝΠϧΛೖखɻ QSPK QSPK hash(hash(data_2)+”:tracker”) hash(hash(data_3)+”:tracker”) 13೥7݄6೔౔༵೔
  31. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ 13೥7݄6೔౔༵೔
  32. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ 13೥7݄6೔౔༵೔
  33. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ 13೥7݄6೔౔༵೔
  34. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ 13೥7݄6೔౔༵೔
  35. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ 13೥7݄6೔౔༵೔
  36. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ 13೥7݄6೔౔༵೔
  37. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ 13೥7݄6೔౔༵೔
  38. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ 13೥7݄6೔౔༵೔
  39. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ 13೥7݄6೔౔༵೔
  40. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  41. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  42. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  43. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  44. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  45. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  46. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  47. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  48. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  49. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Worker͸suintϊʔυ͔Β WorkUnitϑΝΠϧΛೖख QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  50. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Worker͸suintϊʔυ͔Β WorkUnitϑΝΠϧΛೖख QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  51. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Worker͸suintϊʔυ͔Β WorkUnitϑΝΠϧΛೖख QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  52. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Worker͸suintϊʔυ͔Β WorkUnitϑΝΠϧΛೖख QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  53. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Worker͸suintϊʔυ͔Β WorkUnitϑΝΠϧΛೖख QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  54. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Worker͸suintϊʔυ͔Β WorkUnitϑΝΠϧΛೖख QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  55. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Worker͸suintϊʔυ͔Β WorkUnitϑΝΠϧΛೖख QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  56. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Worker͸suintϊʔυ͔Β WorkUnitϑΝΠϧΛೖख QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  57. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Worker͸suintϊʔυ͔Β WorkUnitϑΝΠϧΛೖख QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  58. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  59. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  60. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  61. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  62. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  63. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  64. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  65. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  66. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) 13೥7݄6೔౔༵೔
  67. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU 13೥7݄6೔౔༵೔
  68. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU 13೥7݄6೔౔༵೔
  69. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU 13೥7݄6೔౔༵೔
  70. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU 13೥7݄6೔౔༵೔
  71. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU 13೥7݄6೔౔༵೔
  72. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU 13೥7݄6೔౔༵೔
  73. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU 13೥7݄6೔౔༵೔
  74. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU 13೥7݄6೔౔༵೔
  75. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node Tracker͸zipΛల։, hash(hash(Wu_i)+”:worker”)Λ Workerͱ͢Δ QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU 13೥7݄6೔౔༵೔
  76. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Tracker͸Workerʹରͯ͠σʔλΛૹ৴ɻ ͜ͷ࣌ɺWorkUnit͕30MBҎ্ͷ࣌ BitTorrentͷΑ͏ͳWorkerؒͰ͞Βʹ ෼ׂͯ͠μ΢ϯϩʔυ͢Δ 13೥7݄6೔౔༵೔
  77. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Tracker͸Workerʹରͯ͠σʔλΛૹ৴ɻ ͜ͷ࣌ɺWorkUnit͕30MBҎ্ͷ࣌ BitTorrentͷΑ͏ͳWorkerؒͰ͞Βʹ ෼ׂͯ͠μ΢ϯϩʔυ͢Δ 13೥7݄6೔౔༵೔
  78. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Tracker͸Workerʹରͯ͠σʔλΛૹ৴ɻ ͜ͷ࣌ɺWorkUnit͕30MBҎ্ͷ࣌ BitTorrentͷΑ͏ͳWorkerؒͰ͞Βʹ ෼ׂͯ͠μ΢ϯϩʔυ͢Δ 13೥7݄6೔౔༵೔
  79. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Tracker͸Workerʹରͯ͠σʔλΛૹ৴ɻ ͜ͷ࣌ɺWorkUnit͕30MBҎ্ͷ࣌ BitTorrentͷΑ͏ͳWorkerؒͰ͞Βʹ ෼ׂͯ͠μ΢ϯϩʔυ͢Δ 13೥7݄6೔౔༵೔
  80. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Tracker͸Workerʹରͯ͠σʔλΛૹ৴ɻ ͜ͷ࣌ɺWorkUnit͕30MBҎ্ͷ࣌ BitTorrentͷΑ͏ͳWorkerؒͰ͞Βʹ ෼ׂͯ͠μ΢ϯϩʔυ͢Δ 13೥7݄6೔౔༵೔
  81. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Tracker͸Workerʹରͯ͠σʔλΛૹ৴ɻ ͜ͷ࣌ɺWorkUnit͕30MBҎ্ͷ࣌ BitTorrentͷΑ͏ͳWorkerؒͰ͞Βʹ ෼ׂͯ͠μ΢ϯϩʔυ͢Δ 13೥7݄6೔౔༵೔
  82. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Tracker͸Workerʹରͯ͠σʔλΛૹ৴ɻ ͜ͷ࣌ɺWorkUnit͕30MBҎ্ͷ࣌ BitTorrentͷΑ͏ͳWorkerؒͰ͞Βʹ ෼ׂͯ͠μ΢ϯϩʔυ͢Δ 13೥7݄6೔౔༵೔
  83. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Tracker͸Workerʹରͯ͠σʔλΛૹ৴ɻ ͜ͷ࣌ɺWorkUnit͕30MBҎ্ͷ࣌ BitTorrentͷΑ͏ͳWorkerؒͰ͞Βʹ ෼ׂͯ͠μ΢ϯϩʔυ͢Δ 13೥7݄6೔౔༵೔
  84. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Tracker͸Workerʹରͯ͠σʔλΛૹ৴ɻ ͜ͷ࣌ɺWorkUnit͕30MBҎ্ͷ࣌ BitTorrentͷΑ͏ͳWorkerؒͰ͞Βʹ ෼ׂͯ͠μ΢ϯϩʔυ͢Δ 13೥7݄6೔౔༵೔
  85. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Worker͸WorkUnitʹఴ෇͞Ε͍ͯΔσʔλ ʹԊͬͯॲཧΛߦ͍Trackerʹૹ৴ 13೥7݄6೔౔༵೔
  86. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Worker͸WorkUnitʹఴ෇͞Ε͍ͯΔσʔλ ʹԊͬͯॲཧΛߦ͍Trackerʹૹ৴ 13೥7݄6೔౔༵೔
  87. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Worker͸WorkUnitʹఴ෇͞Ε͍ͯΔσʔλ ʹԊͬͯॲཧΛߦ͍Trackerʹૹ৴ 13೥7݄6೔౔༵೔
  88. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Worker͸WorkUnitʹఴ෇͞Ε͍ͯΔσʔλ ʹԊͬͯॲཧΛߦ͍Trackerʹૹ৴ 13೥7݄6೔౔༵೔
  89. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Worker͸WorkUnitʹఴ෇͞Ε͍ͯΔσʔλ ʹԊͬͯॲཧΛߦ͍Trackerʹૹ৴ 13೥7݄6೔౔༵೔
  90. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Worker͸WorkUnitʹఴ෇͞Ε͍ͯΔσʔλ ʹԊͬͯॲཧΛߦ͍Trackerʹૹ৴ 13೥7݄6೔౔༵೔
  91. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Worker͸WorkUnitʹఴ෇͞Ε͍ͯΔσʔλ ʹԊͬͯॲཧΛߦ͍Trackerʹૹ৴ 13೥7݄6೔౔༵೔
  92. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Worker͸WorkUnitʹఴ෇͞Ε͍ͯΔσʔλ ʹԊͬͯॲཧΛߦ͍Trackerʹૹ৴ 13೥7݄6೔౔༵೔
  93. WorkUnit౤ೖ Master node Tracker Node TVOJU QSPK QSPK TIPS shor-project.org

    hash(hash(data_1)+”:tracker”) SUNiT NODE hash(hash(proj)+”:suint:”+ hash(hash(Wu)+”:tracker”)) TVOJU QSPK Tracker Node r tracker Node QSPK QSPK hash(hash(data_2)+”:tracker”) TVOJU TVOJU TVOJU hash(hash(data_3)+”:tracker”) Worker Node Worker Node Worker Node QSPK QSPK QSPK hash(hash(Wu_1)+”:worker”) hash(hash(Wu_2)+”:worker”) hash(hash(Wu_3)+”:worker”) TVOJU TVOJU TVOJU Worker͸WorkUnitʹఴ෇͞Ε͍ͯΔσʔλ ʹԊͬͯॲཧΛߦ͍Trackerʹૹ৴ 13೥7݄6೔౔༵೔
  94. WUͷࣦޮ৘ใ ɾWorkUnit͸Masterͷ౎߹ʹΑͬͯ࡟আ͞ΕΔࣄ͕͋Δɻ ɾWorkUnitϑΝΠϧ(.sunit)Λ഑৴͢Δϊʔυʹࣦޮ৘ใΛ؅ཧͤ͞Δ → PKIͰೝূہ͕ൃߦ͢ΔCRLΈ͍ͨͳ → crl.shor-project.orgͰWorkUnitͷCRLͷΑ͏ͳ΋ͷΛ؅ཧͤ͞Δ ɾWorkUnitϑΝΠϧΛ഑৴͢Δϊʔυ͕αʔόͱ3͙࣌ؒΒ͍ͷִؒͰ௨৴ ɾࠩ෼͚ͩΛcrl.shor-project.org͸഑৴ (delta-CRLͷΑ͏ͳ)

    ɾWorkUnitϑΝΠϧ഑৴ϊʔυ͸hash(hash(proj)+”:sunit:”+hash(hash(Wu)+”:tracker”))ͷ ۙྡϊʔυͳͷͰɺࣦޮ৘ใͷऔಘʹࠩ෼͕ੜ͡ΔࣄΛར༻ͯۙ͠ྡϊʔυʹରͯ͠ ͦͷࣦޮ৘ใΛ഑৴ɻଞͷۙྡϊʔυ͸ͦͷ৘ใΛऔಘͨ͠Βαʔό͔ΒͷऔಘΛ Ԇ௕͢Δɻ(औಘ೔͔࣌ΒͷࠩͰܭࢉ) → αʔό΁ͷࣦޮ৘ใͷऔಘͷෛՙΛͳΔ΂ܰ͘ݮͤ͞ΔͨΊͷ࢓૊Έ 13೥7݄6೔౔༵೔