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

キャッシュによる状態管理のアーキテクチャ / Cache-based state management architecture

rockname
September 12, 2022

キャッシュによる状態管理のアーキテクチャ / Cache-based state management architecture

rockname

September 12, 2022
Tweet

More Decks by rockname

Other Decks in Programming

Transcript

  1. ΩϟογϡʹΑΔ

    ঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    ؠ໊༐ً!SPDLOBNF
    J04%$

    View full-size slide


  2. 4NBSU#BOL *OD
    J04"OESPJE"QQMJDBUJPO%FWFMPQFS
    ؠ໊༐ًϩΫωϜ
    !@SPDLOBNF
    ࣗݾ঺հ
    !SPDLOBNF

    View full-size slide


  3. ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    w 8FCϑϩϯτΤϯυΛத৺ʹ޿͕ͬͨΩϟογϡʹΑΔঢ়ଶ؅ཧ
    ͱ͍͏ߟ͑ํʹڵຯ͕͋Δ
    w J04ΞϓϦʹ͓͚Δঢ়ଶ؅ཧͷΞʔΩςΫνϟબఆʹ೰ΜͰ͍Δ
    PS೰Μͩ͜ͱ͕͋Δ
    ૝ఆ͢Δฉ͖ख

    View full-size slide


  4. ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    ঢ়ଶ؅ཧʹ͓͚ΔΞʔΩςΫνϟͷඞཁੑ
    ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    ঢ়ଶ؅ཧख๏ͷબఆج४
    ·ͱΊ
    "HFOEB

    View full-size slide

  5. ঢ়ଶ؅ཧʹ͓͚ΔΞʔΩςΫνϟͷඞཁੑ

    View full-size slide


  6. ঢ়ଶ؅ཧʹ͓͚ΔΞʔΩςΫνϟͷඞཁੑ
    w ྫ͑͹ɺҰൠతͳ4/4ΞϓϦͷҰཡৄࡉը໘ʹ͓͚Δঢ়ଶ؅ཧʹ͍ͭͯߟ͑ͯΈ·͠ΐ͏
    w ৄࡉը໘Ͱ͍͍ͶϘλϯΛλοϓͨ͠ࡍʹɺҰཡը໘ʹ͋Δಉ͡౤ߘ΋͍͍ͶࡁΈͰ͋Δඞཁ͕͋Γ·͢
    Ұཡৄࡉը໘ؒͰͷঢ়ଶ؅ཧ

    View full-size slide


  7. ঢ়ଶ؅ཧʹ͓͚ΔΞʔΩςΫνϟͷඞཁੑ
    w ୯७ͳղܾࡦͱͯ͠͸ɺৄࡉը໘Ͱͷ͍͍ͶϘλϯͷΠϕϯτΛҰཡը໘΁఻೻͢Δํ๏͕ߟ͑ΒΕ·͢
    w ͜ΕͰlͻͱ·ͣ͸zҰཡը໘ͱৄࡉը໘Ͱঢ়ଶΛಉظ͢Δ͜ͱ͕Ͱ͖͍ͯ·͢
    Ұཡৄࡉը໘ؒͰͷঢ়ଶ؅ཧ

    View full-size slide


  8. ঢ়ଶ؅ཧʹ͓͚ΔΞʔΩςΫνϟͷඞཁੑ
    w ͔͠͠ɺଞͷλϒʹ͋ΔಉҰͷ౤ߘʹ͍ͭͯ͸Ͳ͏Ͱ͠ΐ͏͔ɺ౰વ͍͍Ͷ͸൓ө͞Ε͍ͯ·ͤΜ
    w ͜͜ͰɺҰཡৄࡉը໘ؒͰͷঢ়ଶ؅ཧͰ্͛ͨΑ͏ͳɺΠϕϯτͷ఻೻ʹΑΔঢ়ଶͷಉظΛࢼΈ·͢
    λϒΛ௒͑ͨঢ়ଶ؅ཧ

    View full-size slide


  9. ঢ়ଶ؅ཧʹ͓͚ΔΞʔΩςΫνϟͷඞཁੑ
    w ਤΛݟͯ໌Β͔ͳ௨ΓɺΠϕϯτͷ఻೻͕ը໘ͷ૊Έ߹Θͤ෼ൃੜ͠ɺҰؾʹෳࡶ౓͕૿͠·͢
    w ͜ͷΑ͏ʹΠϕϯτۦಈͰ֤ը໘ʹอ࣋͞Εͨঢ়ଶͷಉظΛਤΔͷ͸ࢸ೉ͷۀͰɺσʔλͷෆ੔߹ʹΑΔ
    όάͷൃੜΛট͖͔Ͷ·ͤΜ
    λϒΛ௒͑ͨঢ়ଶ؅ཧ

    View full-size slide


  10. ঢ়ଶ؅ཧʹ͓͚ΔΞʔΩςΫνϟͷඞཁੑ
    w σʔλͷෆ੔߹Λ๷͙ͨΊʹ͸ɺಉظΛඞཁͱ͢Δঢ়ଶΛ֤ը໘Ͱݸผʹ؅ཧ͢ΔͷͰ͸ͳ͘ɺ(MPCBM4UBUFͱͯ͠ٵ্͍֤͛ͯ
    ը໘΁఻೻ͤ͞ΔΑ͏ʹ͢Δͷ͕ྑ͍ղܾࡦͰ͢
    w ͜ͷΑ͏ʹɺ৴པͰ͖Δ།Ұͷ৘ใݯ 4JOHMF4PVSDFPG5SVUI
    Λங͘͜ͱ͕੔߹ੑͷऔΕͨঢ়ଶΛҡ্͍࣋ͯ͘͠Ͱ͸ॏཁͰ͢
    w ͔͠͠ɺྫ͑͹͜ͷ(MPCBM4UBUFΛඞཁͱ͢Δը໘͕͔ͳΓωετͷਂ͍7JFX֊૚ʹҐஔ͍ͯͨ͠৔߹ɺ਌͔Βࢠ΁όέπϦ
    ϨʔͰ(MPCBM4UBUFΛ఻೻͍ͤͯ͘͞ඞཁ͕͋Γɺίʔυ͕ෳࡶԽ͍͖ͯ͠·͢
    w ͜ͷΑ͏ͳཧ༝͔Βɺঢ়ଶ؅ཧʹ͓͍ͯద੾ͳΞʔΩςΫνϟͷબఆ͕ඞཁͱͳ͖ͬͯ·͢
    4JOHMF4PVSDFPG5SVUI

    View full-size slide


  11. ঢ়ଶ؅ཧʹ͓͚ΔΞʔΩςΫνϟͷඞཁੑ
    w 3FEVY͸ɺ4JOHMF4PVSDFPG5SVUIʹଇͬͯ(MPCBM4UBUFΛݎ࿚ʹ؅ཧ͢ΔΞʔΩςΫνϟͱͯ͠༗໊ͳ+BWB4DSJQUͷϥΠϒϥϦͰ͢
    w ֤Πϕϯτ͸"DUJPOͱͯ͠EJTQBUDI͞Εɺ3FEVDFS͕"DUJPOʹԠͯ͡୯Ұͷ4UPSFͰ؅ཧ͞ΕΔ(MPCBM4UBUFΛߋ৽͢ΔΑ͏ʹͳ͍ͬͯ
    ·͢
    w ਤͷΑ͏ʹσʔλͷྲྀΕ͕୯ํ޲ʹͳΔ͜ͱͰɺ6*ͱঢ়ଶΛ෼཭͠ɺঢ়ଶߋ৽ͷϩδοΫΛ؅ཧ͠΍͘͢ͳΓ·͢
    w ೥ʹొ৔ͨ͠3FEVY͸ɺ(MPCBM4UBUFͷ؅ཧʹർฐ͍ͯͨ͠౰࣌ͷ8FCϑϩϯτΤϯυ։ൃʹ͓͍ͯɺ޿͘࠾༻͞ΕΔΑ͏ʹͳͬͯ
    ͍͖·ͨ͠
    3FEVYʹΑΔ(MPCBM4UBUFͷ؅ཧ

    View full-size slide


  12. ঢ়ଶ؅ཧʹ͓͚ΔΞʔΩςΫνϟͷඞཁੑ
    w ౰ॳ͸ͦͷચ࿅͞ΕͨΞʔΩςΫνϟσβΠϯ͔Βਓʑ͸ͧͬͯ͜3FEVYΛ࠾༻͠·͕ͨ͠ɺ͕࣌ܦͭʹͭΕ͍ͯ
    ͔ͭ͘ͷ՝୊͕ݟ͖͑ͯ·ͨ͠
    w ·ͣɺγϯϓϧͳཁ݅ͷΞϓϦʹ͓͍ͯ3FEVY͸΍΍ΦʔόʔΩϧͳΞʔΩςΫνϟͰͨ͠
    w ຊདྷͰ͋Ε͹খ͘͞ରԠͰ͖ΔΑ͏ͳػೳ΋ɺ3FEVYͷཁ͢Δଟ͘ͷϘΠϥʔϓϨʔτ͸։ൃͷ޻਺Λ૿େͤ͞
    ·ͨ͠
    w ·ͨɺେ͖ͳن໛ͷΞϓϦʹ͓͍ͯ΋ɺଟ͘ͷҟͳΔछྨͷ4UBUF͕୯Ұͷ4UPSFʹ٧Ίࠐ·ΕΔ͜ͱʹΑͬͯɺ
    ੔߹ੑͷऔΕͨ(MPCBM4UBUFΛ؅ཧ͍ͯ͘͠ͷ͕೉͘͠ͳ͍͖ͬͯɺ։ൃ଎౓ΛಷԽͤ͞ΔཁҼͱͳ͍ͬͯ·ͨ͠
    3FEVYͷ՝୊

    View full-size slide

  13. ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ

    View full-size slide


  14. ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    w ΞϓϦ։ൃʹ͓͍ͯ؅ཧ͢΂͖ঢ়ଶʹ͍ͭͯվΊͯ੔ཧͯ͠ΈΔͱɺͦͷେ൒͸αʔόʔ͔Βऔಘ
    ͢ΔσʔλͰ͋Δ͜ͱʹؾ͕͖ͭ·͢
    w ͨͩͷ"1*ϨεϙϯεͰ͋Δαʔόʔσʔλͷঢ়ଶ؅ཧʹ3FEVYͷΑ͏ͳΞʔΩςΫνϟΛ༻͍Δͷ
    ͸΍΍ա৒Ͱ͋Δͱ͍͏ߟ͔͑Βɺ3FBDU2VFSZ΍483ͷΑ͏ͳʮΩϟογϡʹΑΔঢ়ଶ؅ཧʯͷ
    ػೳΛఏڙ͢ΔϑϨʔϜϫʔΫ͕࣍ୈʹ୆಄͍͖ͯ͠·ͨ͠
    ΩϟογϡʹΑΔঢ়ଶ؅ཧख๏ͷ୆಄

    View full-size slide


  15. ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    w 3FRDU2VFSZ 5BO4UBDL2VFSZ
    ͸ΩϟογϡʹΑΔঢ়ଶ؅ཧͷػೳΛఏڙ͢Δ3FBDUͷϥΠϒϥϦͰ͢
    w σʔλऔಘॲཧΛXSBQͯ͠ɺͦͷঢ়ଶ͓ΑͼσʔλͷΩϟογϡ؅ཧΛΑ͠ͳʹऔΓѻ͏ػೳΛఏڙ͍ͯ͠·͢
    w ֤σʔλऔಘϦΫΤετ 2VFSZ
    ୯ҐͰɺରԠ͢ΔσʔλΛΩϟογϡʹอଘ͠·͢
    w 7JFX͸ΩϟογϡΛ؂ࢹ͠ɺมߋ͕͋ͬͨ৔߹ʹը໘Λ࠶ϨϯμϦϯά͠·͢
    3FBDU2VFSZ

    View full-size slide


  16. ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    w ྫ͑͹7JFX"Ͱද͍ࣔͯ͠Δσʔλ͕ݹ͘ͳ͓ͬͯΓɺ7JFX#Ͱಉ͡σʔλΛऔಘ͢Δ2VFSZΛ౤͛ͯ࠷৽
    ͷσʔλΛऔಘͰ͖ͨ৔߹ʹɺ7JFX"͸ͦͷ࠷৽ͷσʔλ͕Ωϟογϡ͔Β఻೻͞Εͯ࠶ϨϯμϦϯά͞Ε
    ·͢
    3FBDU2VFSZ

    View full-size slide


  17. ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    w ·ͨɺ1045΍%&-&5&ͱ͍ͬͨॻ͖ࠐΈ .VUBUJPO
    Λཁ͢ΔϦΫΤετʹ͍ͭͯ͸ɺ.VUBUJPOޙʹؔ࿈͢ΔΩϟογϡΛ
    JOWBMJEBUF͢Δ͜ͱͰɺσʔλͷ࠶औಘΛߦ͍ɺ࠷৽ͷঢ়ଶΛอͪ·͢
    w ྫ͑͹ɺ7JFX#ͰϢʔβʔ৘ใߋ৽ͷ.VUBUJPO͕ൃੜͨ͠৔߹ʹɺ7JFX"Ͱද͍ࣔͯ͠ΔϢʔβʔ৘ใ΋ߋ৽͢΂͘ɺ

    Ϣʔβʔ৘ใऔಘ2VFSZʹରԠ͢ΔΩϟογϡΛJOWBMJEBUF͠·͢
    3FBDU2VFSZ

    View full-size slide

  18. #ΛςʔϚͱ࣮ͨ͠૷ྫ

    View full-size slide

  19. 7JTBϓϦϖΠυΧʔυʹνϟʔδͯ͠
    ࢧ෷͏ͱࢧग़͕ϦΞϧλΠϜʹՄࢹԽ͞Εͯ
    ʮ͋ͱ͍͘Β࢖͑Δʯ͕ͻͱ໨Ͱ෼͔Δ
    ͓ޓ͍ͷࢧ෷͍͸શͯ
    νϟʔδΛͨ͠ڞಉ࢒ߴ͔ΒҾ͖མͱ͞ΕΔͷͰ
    ύʔτφʔͱ;ͨΓͷڞಉՈܭ؅ཧΛ࣮ݱ

    View full-size slide


  20. #ͱ͸
    w #ΧʔυͰܾࡁΛߦ͏ͱɺΞϓϦ্ͷϗʔϜλϒʹ
    ͋ΔλΠϜϥΠϯʹଈ࣌൓ө͞Ε·͢
    w ͜ͷλΠϜϥΠϯʹ͸ɺࢧग़ΧςΰϦΛࣔ͢ΞΠίϯ
    ͱళ໊ ܾࡁֹ͕ۚදࣔ͞ΕͨΞΠςϜ͕Ұཡ͞Ε·͢
    w ΞΠςϜΛλοϓ͢Δͱৄࡉը໘΁ભҠ͠ɺࢧग़Χς
    ΰϦͷมߋͳͲ͕Մೳͱͳ͍ͬͯ·͢

    View full-size slide


  21. #ͱ͸
    w ݄·ͱΊλϒͰ͸֤݄ʹ͓͚Δࢧग़ΧςΰϦ͝ͱ
    ͷܾࡁֹ͕ۚҰ໨ͰΘ͔ΔΑ͏ʹͳ͍ͬͯ·͢
    w ྫ͑͹ϗʔϜλϒͷλΠϜϥΠϯ͔Βৄࡉը໘΁
    ભҠͯ͠ࢧग़ΧςΰϦΛมߋͨ͠৔߹ɺ݄·ͱΊ
    λϒͷࢧग़ΧςΰϦ͝ͱͷܾࡁֹۚ΋ߋ৽͞Εͯ
    ͍Δඞཁ͕͋Γ·͢

    View full-size slide


  22. #ΛςʔϚͱ࣮ͨ͠૷ͷํ਑
    w ࠓճ͸͜ͷ#ΛςʔϚʹɺ3FBDU2VFSZͷΑ͏ͳϦΫΤετ୯ҐͷΩϟογϡʹΑΔঢ়ଶ؅ཧͷ
    ΞʔΩςΫνϟͷ࣮૷ྫΛ͝঺հ͠·͢
    w J04ΞϓϦ։ൃʹ͓͍ͯ͸3FBDU2VFSZͷΑ͏ͳελϯμʔυͳϥΠϒϥϦ͸ଘࡏ͠ͳ͍ͨΊɺ

    ϦϙδτϦύλʔϯΛ༻͍࣮ͨ૷ํ๏Λ࠾༻͠·͢
    w ϦϙδτϦύλʔϯͱ͸ɺ8FC"1*΍σʔλϕʔεͷΑ͏ͳ֤σʔλιʔε΁ͷΞΫηεٴͼͦΕʹ෇
    ਵ͢Δσʔλૢ࡞ͷॲཧΛΧϓηϧԽ͢ΔσβΠϯύλʔϯͰ͢

    View full-size slide


  23. #ΛςʔϚͱ࣮ͨ͠૷ྫ
    w ·ͣ͸ɺϗʔϜͷλΠϜϥΠϯΛΠϯϝϞϦͰΩϟογϡ͢Δ*O.FNPSZ)PNF5JNFMJOF$BDIF4UPSFΛ࡞੒͠·͢
    w ࠓճ͸؆୯ͷͨΊʹγϯάϧτϯύλʔϯΛར༻ͯ͠ΠϯϝϞϦΩϟογϡΛΞϓϦέʔγϣϯશମͰڞ༗Ͱ͖ΔΑ
    ͏ʹ࣮૷͍ͯ͠·͢
    w λΠϜϥΠϯͷมߋΛ؂ࢹͰ͖ΔΑ͏ʹ͢΂͘ɺ"OZ1VCMJTIFS5JNFMJOF /FWFSͱͯ͠ެ։͠·͢

    View full-size slide


  24. #ΛςʔϚͱ࣮ͨ͠૷ྫ
    w ࣍ʹɺ)PNF5JNFMJOF3FQPTJUPSZΛ࡞੒͠ɺλΠϜϥΠϯΛαʔόʔ͔Βऔಘͯ͠Ωϟογϡʹอଘ͢Δ
    GFUDI5JNFMJOFϝιουΛ௥Ճ͠·͢ ؆୯ͷͨΊʹϖʔδωʔγϣϯ౳ͷ࣮૷͸ׂѪ͠·͢

    w ͦͯ͠ɺ"OZ1VCMJTIFS5JNFMJOF /FWFSܕͷUJNFMJOFQSPQFSUZΛએݴ͠ɺ
    *O.FNPSZ)PNF5JNFMJOF$BDIF4UPSFͷอ࣋͢ΔλΠϜϥΠϯΛฦ͢Α͏ʹ͠·͢

    View full-size slide


  25. #ΛςʔϚͱ࣮ͨ͠૷ྫ
    w ϗʔϜλϒͷ6*ଆͰ͸ɺ)PNF5JNFMJOF3FQPTJUPSZͷ
    UJNFMJOFQSPQFSUZ௨ͯ͠λΠϜϥΠϯͷΩϟογϡΛ؂
    ࢹ͠·͢
    w ը໘දࣔ࣌ʹ)PNF5JNFMJOF3FQPTJUPSZGFUDI5JNFMJOF
    Λݺͼग़͢Α͏ʹͯ͠ɺ࠷৽ঢ়ଶͷλΠϜϥΠϯ͕දࣔ
    ͞ΕΔΑ͏ʹ͠·͢

    View full-size slide


  26. #ΛςʔϚͱ࣮ͨ͠૷ྫ
    w ͜͜·ͰͰɺϗʔϜλϒʹλΠϜϥΠϯΛදࣔ͢Δ
    ͱ͜Ζ·Ͱ࣮૷Ͱ͖·ͨ͠

    View full-size slide


  27. #ΛςʔϚͱ࣮ͨ͠૷ྫ
    w ݄·ͱΊλϒʹ͍ͭͯ΋ɺϗʔϜλϒͱಉ༷ʹ$BDIF4UPSF
    ͓Αͼ3FQPTJUPSZΛ࣮૷͠ɺ6*ଆ͔Β؂ࢹͯ͋͛͠·͢

    View full-size slide


  28. #ΛςʔϚͱ࣮ͨ͠૷ྫ
    w ͜͜ͰɺϗʔϜλϒͷλΠϜϥΠϯ͔Βৄࡉը໘΁ભҠ͠ɺࢧग़
    ΧςΰϦΛมߋͨ͠ͱ͠·͢
    w ݄·ͱΊλϒͷΧςΰϦ͝ͱͷܾࡁֹۚΛ࠷৽ͷঢ়ଶʹߋ৽͢Δ
    ͨΊʹ.POUIMZ4VNNBSZ3FQPTJUPSZGFUDI.POUIMZ4VNNBSZ

    Λݺͼग़ͯ͋͛͠·͠ΐ͏
    w ݄·ͱΊͷΩϟογϡ͕ߋ৽͞ΕɺͦΕΛ؂ࢹ͍ͯ͠Δ݄·ͱΊ
    λϒ΁σʔλ͕఻ൖ͞Εɺ࠷৽ঢ়ଶ΁ߋ৽͞Ε·͢

    View full-size slide


  29. #ΛςʔϚͱ࣮ͨ͠૷ྫ
    w ৄࡉը໘Ͱͷࢧग़ΧςΰϦมߋʹ൐͍ɺϗʔϜͷλΠϜϥΠϯ΋࠷৽ঢ়ଶʹߋ৽͢Δඞཁ͕͋Γ·͢
    w ͔͠͠ɺλΠϜϥΠϯ͸ϖʔδϯά৘ใΛ൐͏ͨΊɺ҆қʹλΠϜϥΠϯશମΛ࠶औಘ͢ΔΘ͚ʹ͸͍͖·ͤΜ
    w ͦ͜Ͱɺࢧग़ΧςΰϦͷมߋ͞ΕͨΞΠςϜͷΈΛߋ৽͢Δ͜ͱΛߟ͑·͢
    w ·ͣ͸ɺ*O.FNPSZ)PNF5JNFMJOF$BDIF4UPSFʹλΠϜϥΠϯͷΩϟογϡʹΞΠςϜΛ্ॻ͖ͯ͠อଘ͢ΔॲཧΛ௥Ճ
    ͠·͢

    View full-size slide


  30. #ΛςʔϚͱ࣮ͨ͠૷ྫ
    w ࣍ʹɺ)PNF5JNFMJOF3FQPTJUPSZʹɺλΠϜϥΠϯશମͰ͸ͳ͘ҰͭͷΞΠςϜͷΈΛαʔόʔ͔Βऔಘͯ͠
    ΩϟογϡΛߋ৽͢ΔϝιουΛ࣮૷͠·͢

    View full-size slide


  31. #ΛςʔϚͱ࣮ͨ͠૷ྫ
    w ͋ͱ͸݄·ͱΊλϒͷߋ৽ͱಉ༷ʹɺࢧग़ΧςΰϦมߋ
    ࣌ʹ)PNF5JNFMJOF3FQPTJUPSZGFUDI5JNFMJOF*UFN JE

    Λݺͼग़ͯ͠ϗʔϜͷλΠϜϥΠϯʹදࣔ͞Ε͍ͯΔ֘౰
    ΞΠςϜͷΈΛߋ৽͠·͢
    w ͜ΕʹΑΓɺϖʔδωʔγϣϯͷϖʔδϯά৘ใΛϦ
    ηοτ͢Δ͜ͱͳ͘ɺ࠷খݶͷϦΫΤετ਺Ͱ৘ใΛ࠷
    ৽ʹอͭ͜ͱ͕Ͱ͖·͢

    View full-size slide


  32. ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    w 3FBDU2VFSZͷΑ͏ͳϦΫΤετ୯ҐͷΩϟογϡʹ΋ɺ՝୊͸ଘࡏ͠·͢
    w ྫ͑͹4/4ΞϓϦͷΑ͏ʹɺ౤ߘ΍ϢʔβʔͷΑ͏ͳ֤ΦϒδΣΫτ͕ਂ͘ωετ͞Εͨσʔλߏ଄Λ͍࣋ͬͯͯɺͦΕͧΕ͕ଟ͘ͷ
    ը໘Ͱදࣔ͞Ε͏ΔέʔεΛ૝ఆͯ͠Έ·͠ΐ͏
    w ౤ߘ΁ͷ͍͍Ͷ΍Ϣʔβʔ໊มߋ౳ʹΑΔ.VUBUJPOΛൃੜͤͨ͞৔߹ʹɺؔ࿈͢Δ౤ߘ͢΂ͯΛద੾ʹߋ৽͢Δͱ͍͏ઓུ͸ɺߟྀ࿙
    Εͳ͘׬શʹ࣮ߦ͢Δ͜ͱ͕೉͘͠ɺ͋·Γݱ࣮తͰ͸ͳ͍͜ͱ͕૝૾Ͱ͖·͢
    w ͜ͷΑ͏ʹɺϦΫΤετ୯ҐͷΩϟογϡʹ͓͚Δ.VUBUJPOʹ൐͏ؔ࿈σʔλͷ࠶औಘͱ͍͏ઓུ͚ͩͰ͸ɺσʔλͷ੔߹ੑΛҡ࣋͢
    Δ͜ͱ͕೉͘͠ͳͬͯ͘Δέʔε͕ଘࡏ͠·͢
    ϦΫΤετ୯ҐͷΩϟογϡʹ͓͚Δ՝୊

    View full-size slide


  33. ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    w ͜ͷ՝୊Λղܾ͢ΔͨΊʹ͸ɺؔ࿈σʔλϕʔεͷΑ͏ʹΩϟογϡͷσʔλΛਖ਼نԽͯ͋͛͠Δඞཁ͕͋Γ·͢
    w Ωϟογϡͷਖ਼نԽͱ͸ɺαʔόʔ͔Βऔಘͨ͠σʔλΛݸผͷΦϒδΣΫτ΁෼ׂ͠ɺ֤ΦϒδΣΫτ΁࿦ཧతʹҰҙͳࣝผࢠΛ෇༩
    ͠ɺϑϥοτͳσʔλߏ଄Ͱ֨ೲ͢Δ͜ͱΛࢦ͠·͢
    w ͜ΕʹΑΓɺྫ͑͹ઌ΄ͲͷྫͷΑ͏ͳ4/4ΞϓϦʹ͓͚Δέʔε΋ɺΩϟογϡ͕ద੾ʹਖ਼نԽ͞Ε͍ͯΕ͹ɺΘ͟Θؔ͟࿈͢Δ
    ΩϟογϡΛखଓతʹ࠶औಘ͍ͯ͘͠ඞཁ͸͋Γ·ͤΜ
    w ॏෳͳ͘ਖ਼نԽ͞Ε֤ͨ౤ߘ ϢʔβʔͷΩϟογϡʹର͢ΔมߋΛ6*ଆ͔Β؂ࢹ͢Δ͜ͱͰɺؔ࿈͢Δ6*ͷΈ͕ద੾ʹࠩ෼ߋ৽͞Ε͍ͯ
    ͖·͢
    ਖ਼نԽ͞ΕͨΩϟογϡ

    View full-size slide


  34. ਖ਼نԽ͞ΕͨΩϟογϡ
    w ਖ਼نԽ͞ΕͨΩϟογϡ͸ɺ"QPMMP΍3FMBZͷΑ͏ͳ(SBQI2-ͷΫϥΠΞϯτϥΠϒϥϦͰঢ়ଶ؅ཧͷػೳͱͯ͠
    ఏڙ͞Ε͍ͯ·͢
    w ܕͷ͋Δάϥϑߏ଄ͷεΩʔϚΛఏڙ͢Δ(SBQI2-ͱ૬ੑͷྑ͍ػೳͱͳ͍ͬͯ·͢

    View full-size slide

  35. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ

    View full-size slide


  36. NBTUPEPOͱ͸
    w NBTUPEPOͱ͸ɺ5XJUUFSͷΑ͏ͳ୹จ౤ߘܕͷ4/4Ͱ͢
    w ؅ཧऀ΋ઃஔ৔ॴ΋ҟͳΔଟ਺ͷαʔόʔͰӡ༻͞Ε͓ͯΓɺར༻ऀ͸ࣗ෼ࣗ਎ͰαʔόʔΛબͿ͔ɺࣗ਎
    ͰαʔόʔΛ։ઃ͢ΔͳΓͯ͠ɺΞΧ΢ϯτΛ࡞੒ ϩάΠϯͯ͠ར༻͢Δɺඇதԝूݖܕͷ4/4ͱͯ͠༗໊
    Ͱ͢

    View full-size slide


  37. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ͷํ਑
    w NBTUPEPOΛςʔϚʹɺਖ਼نԽ͞ΕͨΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟͷ࣮૷ྫΛ͝঺հ͠·͢
    w #ΛςʔϚͱ࣮ͨ͠૷ྫͱಉ༷ʹɺϦϙδτϦύλʔϯΛ༻͍࣮ͯ૷͍͖ͯ͠·͢
    w αʔόʔ͔Βऔಘͨ͠σʔλΛϑϥοτͳσʔλߏ଄΁෼ׂͯ͠Ωϟογϡ͢ΔͨΊʹɺσʔλϕʔεΛ࢖༻͠·͢
    w ࠓճɺσʔλϕʔεʹ͸$PSF%BUBΛ࠾༻͠·͢
    w લఏͱͯ͠ɺঢ়ଶ؅ཧΛ໨తͱ͍ͯ͠ΔͨΊɺσʔλͷӬଓԽ͸ߦΘͣʹΠϯϝϞϦͰ$PSF%BUB͸࢖༻͠·͢

    View full-size slide


  38. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ͷํ਑
    w NBTUPEPOͰ͸ɺ౤ߘΛ4UBUVT ϢʔβʔΛ"DDPVOUͷ&OUJUZͰද͍ͯ͠·͢

    View full-size slide


  39. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ͷํ਑
    w ྫ͑͹ɺϗʔϜͷλΠϜϥΠϯͷϨεϙϯε͸ҎԼͷΑ͏ʹΦϒδΣΫτ͕ωετߏ଄ʹͳͬͯฦ͖ͬͯ·͢

    View full-size slide


  40. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ͷํ਑
    w ਖ਼نԽ͞ΕͨΩϟογϡͰ͸ɺ֤ΦϒδΣΫτʹରͯ͠ҰҙͳࣝผࢠΛ෇༩͠ɺωετ͞ΕͨΦϒδΣΫτΛϑϥοτͳσʔλ
    ߏ଄΁ͱஔ͖׵͑ͯ؅ཧ͍ͯ͘͜͠ͱʹͳΓ·͢

    View full-size slide


  41. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ
    w ·ͣ͸4UBUVTͱ"DDPVOUʹରԠ͢Δ$PSF%BUBͷ.PEFMΛ࡞੒͠·͢
    w 4UBUVTͷSFMBUJPOTIJQʹ"DDPVOUΛઃఆ͍ͯ͠·͢

    View full-size slide


  42. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ
    w ࣍ʹɺ4UBUVT&OUJUZΛ$PSF%BUB΁Ωϟογϡ͢Δ$PSF%BUB4UBUVT$BDIF4UPSFΛ࡞੒͠·͢

    View full-size slide


  43. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ
    w ଓ͍ͯɺΩϟογϡ͢ΔΦϒδΣΫτ΁ׂΓৼΔࣝผࢠΛอଘ͢Δ*O.FNPSZ$BDIF,FZ4UPSFΛ࡞੒͠·͢
    w ΩϟογϡΩʔͷมߋΛ؂ࢹͰ͖ΔΑ͏ʹɺ"OZ1VCMJTIFS$BDIF,FZ /FWFSͱͯ͠DBDIF,FZQSPQFSUZΛެ։
    ͍ͯ͠·͢

    View full-size slide


  44. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ
    w ͦͯ͠ɺ)PNF5JNFMJOF3FQPTJUPSZΛ࡞੒͠ɺϗʔϜͷλΠϜϥΠϯΛαʔόʔ͔Βऔಘͯ͠Ωϟογϡʹอଘ͢Δϝιου
    GFUDI5JNFMJOFΛ௥Ճ͠·͢
    w औಘͨ͠Ϩεϙϯε͸$PSF%BUB4UBUVT$BDIF4UPSFܦ༝Ͱ$PSF%BUB΁อଘ͞ΕɺλΠϜϥΠϯʹදࣔ͢Δ4UBUVTͷ*%ͷ഑ྻ͸
    *O.FNPSZ$BDIF,FZ4UPSF΁อଘ͞Ε·͢

    View full-size slide


  45. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ
    w ଓ͍ͯɺ$PSF%BUBʹอଘ͍ͯ͠Δ4UBUVTͷมߋΛ؂ࢹͰ͖ΔΑ͏ʹɺ$PSF%BUB4UBUVT$BDIF4UPSFʹ࣮૷
    Λ௥Ճ͍͖ͯ͠·͢
    w ࣮૷ͷৄࡉ͸ׂѪ͠·͕͢ɺ$PSF%BUBͷมߋΠϕϯτΛ؂ࢹ͢Δ$PNCJOFͷΧελϜ1VCMJTIFSΛฦ͢
    XBUDIϝιουΛ௥Ճ͠·͢

    View full-size slide


  46. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ
    w ͦͯ͠ɺ͜ͷ1VCMJTIFSΛฦ͢XBUDIϝιουΛɺ)PNF5JNFMJOF3FQPTJUPSZ΁௥Ճ͠·͢
    w ͜ͷ࣌ɺϖʔδϯά౳ʹΑΓΩϟογϡΩʔ͕ߋ৽͞Εͨͱ͖ʹ4UBUVTͷ؂ࢹॲཧ΋ߋ৽Ͱ͖ΔΑ͏ʹ$PNCJOFͷ
    NBQͱTXJUDI5P-BUFTUͷPQFSBUPSΛ࢖༻ͯ͠$BDIF4UPSFͷXBUDIϝιουΛݺͼग़͠·͢

    View full-size slide


  47. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ
    w 6*ଆͰ͸ɺ)PNF5JNFMJOF3FQPTJUPSZXBUDIΛݺͼग़
    ͯ͠λΠϜϥΠϯͷΩϟογϡΛ؂ࢹ͠·͢
    w ը໘දࣔ࣌ʹ
    )PNF5JNFMJOF3FQPTJUPSZGFUDI5JNFMJOFΛݺͼग़͢
    Α͏ʹͯ͠ɺ࠷৽ঢ়ଶͷλΠϜϥΠϯ͕දࣔ͞ΕΔΑ
    ͏ʹ͠·͢

    View full-size slide


  48. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ
    w ͜͜Ͱɺ֤౤ߘʹର͍͍ͯ͠ͶΛߦͬͨͱ͠·͢
    w 3FQPTJUPSZͷ͍͍ͶͷϝιουͰ͸ɺ֘౰͢Δ4UBUVTͷΩϟογϡΛద੾ʹߋ৽͠·͢
    w ͜ΕʹΑΓɺ͜ͷ4UBUVTΛ؂ࢹ͍ͯ͠Δ7JFX͸ࣗಈతʹ͍͍Ͷঢ়ଶ͕൓ө͞ΕΔΑ͏ʹͳΓ·͢
    w "DDPVOU΁ͷߋ৽ॲཧʹ͍ͭͯ΋ಉ༷ͷ࣮૷Λߦ͍·͢

    View full-size slide


  49. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ
    w Ҏ্͕ɺ$PSF%BUBΛ༻͍ͨਖ਼نԽ͞ΕͨΩϟογϡ
    ʹΑΔঢ়ଶ؅ཧͷ࣮૷ྫͰ͢
    w ͜ΕʹΑΓɺखଓ͖తʹؔ࿈͢ΔΩϟογϡΛߋ৽͢
    Δ͜ͱͳ͘ɺ֤ը໘ͷ6*͕ద੾ʹ࠷৽ঢ়ଶʹอͨΕΔ
    Α͏ʹͳΓ·ͨ͠

    View full-size slide


  50. NBTUPEPOΛςʔϚͱ࣮ͨ͠૷ྫ
    w ࠓճͷ࣮૷͸(JU)VC্ͰιʔείʔυΛެ։͍ͯ͠ΔͷͰΑ͚Ε͹͝ཡ͍ͩ͘͞
    IUUQTHJUIVCDPNSPDLOBNF.BTUPEPO/PSNBMJ[FE$BDIF4BNQMF

    View full-size slide


  51. ΩϟογϡʹΑΔঢ়ଶ؅ཧͷΞʔΩςΫνϟ
    w ਖ਼نԽ͞ΕͨΩϟογϡ͕ສೳͱ͍͏Θ͚Ͱ͸ͳ͘ɺ͍͔ͭ͘՝୊͸ଘࡏ͠·͢
    w σʔλΛ෼ׂͯ͠ฏʹͳΒ͢෼ɺਖ਼نԽ͞ΕͨΩϟογϡͷํ͕Ωϟογϡ΁ͷಡΈ
    ॻ͖ͷύϑΥʔϚϯε͸ѱ͘ͳΓ·͢
    w ·ͨɺϦΫΤετ୯ҐͷΩϟογϡʹൺ΂ͯ؅ཧίετ͸૿ͨ͢ΊɺΩϟογϡىҼ
    ͷԿΒ͔ෆ۩߹͕ൃੜͨ͠ࡍͷݪҼಛఆ΍ϦΧόϦͷίετ͸ߴ͖ͭ͘·͢
    ਖ਼نԽ͞ΕͨΩϟογϡʹ͓͚Δ՝୊

    View full-size slide

  52. ঢ়ଶ؅ཧख๏ͷબఆج४

    View full-size slide


  53. ঢ়ଶ؅ཧख๏ͷબఆج४
    w 4UBUF͸ɺzڞ༗͞ΕΔൣғzͱ͍͏จ຺Ͱɺ-PDBM4UBUFͱ(MPCBM4UBUFͷछྨʹ෼ྨͰ͖·͢
    w -PDBM4UBUF7JFXͷதͰดͨ͡ঢ়ଶ
    w (MPCBM4UBUFΞϓϦέʔγϣϯશମ ͋Δ͍͸ෳ਺ͷ7JFXͰڞ༗͞ΕΔঢ়ଶ
    -PDBM4UBUFPS(MPCBM4UBUF

    View full-size slide


  54. -PDBM4UBUFPS(MPCBM4UBUF
    w ΞϓϦʹ͓͍ͯදݱ͢Δঢ়ଶͷ΄ͱΜͲ͕-PDBM4UBUFͰ͋Ε͹ɺಛผͳΞʔΩςΫνϟΛ࠾༻
    ͢Δඞཁ͸͋Γ·ͤΜɺͦͷ7JFXͷதͰద੾ʹ4JOHMF4PVSDFPG5SVUIΛୡ੒Ͱ͖ΔΑ͏ʹ࠷
    খݶͷ4UBUF)PMEFSΛ༻ҙ͢Δͷ͕ྑ͍Ͱ͠ΐ͏
    w (MPCBM4UBUF͕ଘࡏ͢Δ৔߹͸ɺ·ͣ͸ͦͷ4UBUFΛڞ༗͢Δ7JFXͷڞ௨ͷ਌7JFX·Ͱঢ়ଶΛ
    Ҿ্͖͛ͯɺࢠ7JFX΁఻೻͢Δख๏Λݕ౼ͯ͠Έ͍ͯͩ͘͞
    w ͦͷ্Ͱɺѻ͏(MPCBM4UBUFͷେ͖͞΍఻೻ର৅ͷ7JFXͷଟ͞Λڐ༰Ͱ͖͘ͳ͖ͬͯͨ৔߹
    ͸ɺ࣍ͷબఆج४Λ࣋ͬͯΞʔΩςΫνϟΛબఆ͠·͠ΐ͏

    View full-size slide


  55. ঢ়ଶ؅ཧख๏ͷબఆج४
    w (MPCBM4UBUF͸z؅ཧ͢Δओମzͱ͍͏จ຺Ͱɺ4FSWFS4UBUFͱ$MJFOU4UBUFͷछྨʹ෼ྨͰ͖·͢
    w 4FSWFS4UBUF"1*͔ΒͷϨεϙϯεʹΑͬͯऔಘ͞ΕΔɺαʔόʔ͕ओମͱͳͬͯ؅ཧ͍ͯ͠Δঢ়ଶ
    w $MJFOU4UBUFΞϓϦʹద༻͢ΔςʔϚͷछྨ΍ݱࡏબ୒தͷΞΧ΢ϯτͷΑ͏ͳɺΫϥΠΞϯτ͕ओ
    ମͱͳͬͯ؅ཧ͍ͯ͠Δঢ়ଶ
    4FSWFS4UBUFPS$MJFOU4UBUF

    View full-size slide


  56. 4FSWFS4UBUFPS$MJFOU4UBUF
    w (MPCBM4UBUFͷ΄ͱΜͲ͕4FSWFS4UBUFͰߏ੒͞Ε͍ͯΔ৔߹ɺΩϟογϡʹΑΔঢ়ଶ؅ཧख๏
    Λݕ౼͠·͠ΐ͏
    w ֤ը໘Ͱදࣔ͞ΕΔ&OUJUZ͕͋Δఔ౓ಠཱ͍ͯ͠Δ৔߹͸ϦΫΤετ୯ҐͷΩϟογϡΛɺ4/4
    ͷΑ͏ʹಉ͡&OUJUZ͕ଟ͘ͷը໘Ͱදࣔ͞ΕΔ৔߹͸ਖ਼نԽ͞ΕͨΩϟογϡΛݕ౼͠·͠ΐ͏

    View full-size slide


  57. 4FSWFS4UBUFPS$MJFOU4UBUF
    w ΠϯϝϞϦͰ΋Γ΋Γঢ়ଶ͕มԽ͢ΔΑ͏ͳ$MJFOU4UBUFΛ؅ཧ͢Δඞཁ͕
    ͋ΔͳΒ͹ɺ3FEVY͔Β೿ੜͨ͠5IF$PNQPTBCMF"SDIJUFDUVSF 5$"
    ͷ
    Α͏ͳΞʔΩςΫνϟͷ࠾༻Λݕ౼͠·͠ΐ͏
    w 5$"͸1PJOU'SFFʹΑͬͯ։ൃ͞ΕͨΞʔΩςΫνϟͰɺ࣮ࡍʹ1PJOU
    'SFF͸5$"Λ༻͍ͯJTPXPSETͱ͍͏044ͷJ04ΞϓϦΛ։ൃ͍ͯ͠·͢
    w JTPXPSET͸ɺΩϡʔϒʹݱΕΔ୯ޠΛݟ͚ͭͯফ͍ͯ͘͠ήʔϜΞϓϦ
    ͰɺසൟʹมԽ͢Δେ͖ͳ$MJFOU4UBUFΛѻ͏ΞϓϦͱͳ͍ͬͯ·͢

    View full-size slide


  58. ঢ়ଶ؅ཧख๏ͷબఆج४

    View full-size slide


  59. ·ͱΊ
    w ΠϕϯτۦಈʹΑΔ֤ը໘ͷঢ়ଶͷಉظΛྫʹঢ়ଶ؅ཧʹ͓͚ΔΞʔΩςΫνϟͷඞཁੑΛઆ໌͠ɺ3FEVYʹΑΔ
    (MPCBM4UBUFͷ؅ཧख๏͔ΒɺΩϟογϡʹΑΔ4FSWFS4UBUFͷ؅ཧɺ֤ͦͯ͠ঢ়ଶ؅ཧख๏ͷબఆج४ʹ͍ͭͯ
    ͓࿩͍͖ͤͯͨͩ͠͞·ͨ͠
    w ΞϓϦ಺Ͱѻ͓͏ͱ͍ͯ͠Δঢ়ଶͷछྨ΍ن໛ʹΑͬͯ࠷దͳΞʔΩςΫνϟͱ͍͏΋ͷ͸มΘΓ·͢ɺྲྀߦ͍ͬͯ
    ΔΞʔΩςΫνϟ͕ඞͣ͠΋ͲͷΞϓϦʹ΋ద߹͢Δͱ͸ݶΓ·ͤΜ
    w ຊτʔΫ͕গ͠Ͱ΋ɺঢ়ଶ؅ཧͷΞʔΩςΫνϟΛબఆ͢Δ্ͰͷࢀߟʹͳΕ͹޾͍Ͱ͢

    View full-size slide


  60. ࢀߟจݙ
    w એݴత6*ͷঢ়ଶ؅ཧͱΞʔΩςΫνϟ4XJGU6*ͱ(SBQI2-ʹΑΔ࣮ફ
    w IUUQTTQFBLFSEFDLDPNTPOBUBSETXJGUVJHSBQIRM
    w 5IFOFXXBWFPG3FBDUTUBUFNBOBHFNFOU
    w IUUQTGSPOUFOENBTUFSZDPNQPTUTUIFOFXXBWFPGSFBDUTUBUFNBOBHFNFOU
    w $PEFMBCϦϙδτϦύλʔϯ
    w IUUQTEFWFMPQFSBOESPJEDPNDPEFMBCTCBTJDBOESPJELPUMJOUSBJOJOHSFQPTJUPSZQBUUFSO
    w (SBQI2-$PODFQUT7JTVBMJ[FE
    w IUUQTXXXBQPMMPHSBQIRMDPNCMPHHSBQIRMCBTJDTUIFDPODFQUTPGHSBQIRM
    w %FNZTUJGZJOH$BDIF/PSNBMJ[BUJPO
    w IUUQTXXXBQPMMPHSBQIRMDPNCMPHBQPMMPDMJFOUDBDIJOHEFNZTUJGZJOHDBDIFOPSNBMJ[BUJPO
    w ͋ͳͨͷϓϩμΫτʹ"QPMMP$MJFOU͸ඞཁͳ͍͔΋͠Εͳ͍
    w IUUQTVTFS
    fi
    STUJLZVDPKQFOUSZ
    w είʔϓͱϥΠϑλΠϜͰߟ͑Δ3FBDU4UBUF࠶ߟ
    w IUUQT[FOOEFWBLGNBSUJDMFTSFBDUTUBUFTDPQF

    View full-size slide

  61. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

    View full-size slide