$30 off During Our Annual Pro Sale. View Details »

IoTデバイス内アプリケーションの開発効率向上のためにコードの変更を動的に適用する方式の提案と実装 / IPSJ SIGSE 207

IoTデバイス内アプリケーションの開発効率向上のためにコードの変更を動的に適用する方式の提案と実装 / IPSJ SIGSE 207

第207回SE研究発表会-情報処理学会 http://www.ipsj.or.jp/kenkyukai/event/se207.html

Kentaro Kuribayashi

March 02, 2021
Tweet

More Decks by Kentaro Kuribayashi

Other Decks in Technology

Transcript

  1. ܀ྛ ݈ଠ࿠(GMOϖύϘגࣜձࣾ ϖύϘݚڀॴ/๺཮ઌ୺Պֶٕज़େֶӃେֶ), ࢁ࡚ ਐ(๺۝भࢢཱେֶ) ,
    ྗ෢ ݈࣍(ྗ෢݈ٕ࣍ज़࢜ࣄ຿ॴ/GMOϖύϘגࣜձࣾ ϖύϘݚڀॴ). ୮ ߁༤ (๺཮ઌ୺Պֶٕज़େֶӃେֶ)
    ൃදऀ: ܀ྛ݈ଠ࿠ / Pepabo R&D Institute, GMO Pepabo, Inc.
    2021.03.01-02 ୈ207ճιϑτ΢ΣΞ޻ֶݚڀൃදձ
    IoTσόΠε಺ΞϓϦέʔγϣϯͷ։ൃޮ཰޲্ͷͨΊ
    ʹίʔυͷมߋΛಈతʹద༻͢ΔํࣜͷఏҊͱ࣮૷

    View Slide

  2. 1. ͸͡Ίʹ
    2. ઌߦݚڀ
    3. ఏҊํࣜͱ࣮૷
    4. ࣮ݧͱධՁ
    5. ·ͱΊ
    2
    ໨࣍

    View Slide

  3. 1.
    ͸͡Ίʹ

    View Slide

  4. • IoTσόΠε਺͸૿ՃͷҰ్Ͱ͋Δɽ
    • ͞Βʹ͸ɼίϯγϡʔϚ޲͚ʹՃ͑
    ͯɼҩྍɾ࢈ۀ༻్ɾࣾձΠϯϑϥج
    ൫΁ͱɼ༻్͕ଟ༷Խ͍ͯ͠Δɽ
    • IoTσόΠε΁ͷ૿͑ଓ͚Δଟ༷ͳधཁ
    Λຬͨ͢ʹ͸ɼ։ൃޮ཰ͷ޲্͕ٻΊ
    ΒΕΔɽ
    IoTσόΠεͷ૿Ճɾଟ༷Խ
    4
    ग़ॴ<>૯຿ল৘ใ௨৴നॻྩ࿨೥൛ IUUQTXXXTPVNVHPKQKPIPUTVTJOUPLFJ
    XIJUFQBQFSSIUNM

    View Slide

  5. • ։ൃޮ཰޲্ͷͨΊIoTσόΠεͷ։
    ൃϓϥοτϑΥʔϜ͕ଟ਺ଘࡏ͢Δɽ
    • ϋʔυ΢ΣΞ: ESP8688ʹΑΔ։ൃ
    ΩοτɼArduinoɼRaspberry Pi౳
    ʢӈਤத[2-6]ʣ
    • ιϑτ΢ΣΞ: Arduino IDEɼESP-
    IDFɼ Platform.io౳ʢӈਤத[7-9]ʣ
    ։ൃPFʹΑΔ։ൃޮ཰޲্
    5

    View Slide

  6. • IoTσόΠεΛߏ੒͢Διϑτ΢ΣΞ͸ӈ
    ਤͷ௨ΓͰ͋Δ[2]ɽຊݚڀ͕ର৅ͱ͢Δ
    ͷ͸IoTΞϓϦέʔγϣϯͰ͋Δɽ
    • IoTͷจ຺Ͱ͸ɼIoTΞϓϦέʔγϣϯ͸Τ
    ϯυϢʔβ޲͚ͷΞϓϦέʔγϣϯΛࢦ͢
    ͕ɼ͜͜Ͱ͸IoT σόΠε಺ΞϓϦέʔ
    γϣϯΛIoTΞϓϦέʔγϣϯͱݺͿɽ
    ຊݚڀͷର৅
    6
    ग़ॴ<>#BVXFOT + 13VDLFCVTDI 4(JBOOPVMJT *.PFSNBO BOE&%1PPSUFSl0WFSUIF"JS4PGUXBSF6QEBUFTJOUIF*OUFSOFUPG5IJOHT
    "O0WFSWJFXPG,FZ1SJODJQMFTz*&&&$PNNVOJDBUJPOT.BHB[JOF
    r
    ຊݚڀͷର৅

    View Slide

  7. • IoTσόΠε͸ݻ༗ͷϋʔυ΢ΣΞΛ༻͍ΔͨΊɼ։ൃͨ͠಺༰Λݕূ͢Δʹ
    ͸࣮σόΠε΁ͷίʔυมߋͷద༻ϓϩηε͕ඞਢͱͳΔɽ
    • IoTΞϓϦέʔγϣϯͷ։ൃޮ཰޲্ͷͨΊɼద༻ϓϩηεʹ͔͔Δ࣌ؒΛ୹
    ॖ͍ͨ͠ɽ
    7
    ຊݚڀ͕औΓ૊Ή՝୊
    ։ൃ ద༻ ݕূ
    ຊݚڀͷண໨఺มߋΛσόΠε΁ͷద༻͢Δ࣌ؒ
    ΠςϨʔγϣϯ

    View Slide

  8. 2.
    ઌߦݚڀ

    View Slide

  9. • IoTσόΠε͸ɼҰ౓഑උ͞Εͨޙ΋ܧଓతʹΞϓϦέʔγϣϯͷߋ৽͕ඞཁ
    Ͱ͋ΔɽҰํͰɼిݯ༰ྔ΍֬อɼϋʔυ΢ΣΞεϖοΫɼωοτϫʔΫଳҬ
    ౳ʹ੍͓͍ͯ໿ͷݫ͍͠؀ڥԼͰಈ࡞Λܧଓ͢Δඞཁ͕͋Δ[3]ɽ
    • ·ͨɼIoTσόΠε͸௚઀తʹΞΫηε͢Δ͜ͱ͕೉͍͠৔ॴʹ഑ஔ͞ΕΔ͜
    ͱ΋ଟ͍ͨΊɼϦϞʔτ͔Βͷߋ৽ͱݕূ͕ՄೳͰ͋Δඞཁ͕͋Δ[4]ɽ
    9
    IoTσόΠε΁ͷίʔυมߋͷద༻ʹؔ͢Δ՝୊
    <>/BSHFT:PVTFGOF[IBE "WMFFO.BMIJ BOE,BSZ'S
    „BNMJOH4FDVSJUZJOQSPEVDUMJGFDZDMFPGJPUEFWJDFT"TVSWFZ+PVSOBMPG/FUXPSLBOE
    $PNQVUFS"QQMJDBUJPOT 7PM Q %FDFNCFS
    <>4UFQIFO#SPXOBOE$PSNBD+4SFFOBO4PGUXBSFVQEBUJOHJOXJSFMFTTTFOTPSOFUXPSLT"TVSWFZBOEMBDVOBF+PVSOBMPG4FOTPSBOE
    "DUVBUPS/FUXPSLT 7PM /P QQr /PWFNCFS

    View Slide

  10. • ઌߦݚڀ͸ɼ։ൃऀʹΑΔίʔυͷมߋΛIoTσόΠεʹద༻͢Δํࣜͱͯ͠ɼҎԼͷදͷ௨
    Γ੔ཧ͍ͯ͠Δʢ[5-6]ΑΓචऀ͕·ͱΊͨʣɽ
    • ϋʔυ΢ΣΞ΍ωοτϫʔΫ੍໿ͷڧ͍IoTσόΠεͷ࣮؀ڥ΁ͷ഑උޙͷߋ৽ํࣜʹண໨͠
    ͍ͯΔͨΊɼಈతݴޠʹΑΔํࣜΛ࠾༻ෆՄͱ͍ͯ͠Δɽ
    10
    ઌߦݚڀʹΑΔίʔυมߋͷద༻ํࣜͷ੔ཧ
    ߋ৽ର৅ ֓ཁ ࠾༻Մ൱
    εΫϦϓτݴޠʹΑΔίʔυ
    εΫϦϓτݴޠͷ࣋ͭಈతͳੑ࣭Λར༻ͯ͠ɼچ͍ίʔυΛ։ൃऀʹΑΔมߋޙͷ
    ৽͍͠ίʔυͰஔ͖׵͑Δɽ

    Ծ૝ػցͰಈ࡞͢ΔݴޠʹΑΔίʔυ
    Ծ૝ػցͰಈ࡞͢Δݴޠͷ࣋ͭಈతͳੑ࣭Λར༻ͯ͠ɼچ͍ίʔυΛ։ൃऀʹΑΔ
    มߋޙͷ৽͍͠ίʔυͰஔ͖׵͑Δɽ

    ϑΝʔϜ΢ΣΞΠϝʔδ
    ΞϓϦέʔγϣϯίʔυΛຒΊࠐΜͩϑΝʔϜ΢ΣΞΠϝʔδΛೖΕସ͑Δ͜ͱͰɼ
    ։ൃऀʹΑΔมߋޙͷ৽͍͠ίʔυΛద༻͢Δɽ
    ̋
    ωΠςΟϒίʔυ΁ͷಈతϦϯΫ
    ։ൃऀʹΑΔมߋޙͷ৽͍͠ίʔυΛωΠςΟϒίʔυͱͯ͠഑ஔ͠ɼطଘͷίʔυ
    ͷϦϯΫઌΛಈతʹॻ͖׵͑Δɽ
    ̋
    <>1FUFS3VDLFCVTDI &MJ%F1PPSUFS $BSPMJOB'PSUVOB BOE*OHSJE.PFSNBO(JUBS(FOFSJDFYUFOTJPOGPSJOUFSOFUPGUIJOHTBSDIJUFDUVSFTFOBCMJOHEZOBNJDVQEBUFTPGOFUXPSLBOEBQQMJDBUJPONPEVMFT"E)PD/FU
    XPSLT 7PM QQr +BOVBSZ
    <>1FUFS3VDLFCVTDI 4QJMJPT(JBOOPVMJT *OHSJE.PFSNBO +FSPFO)PFCFLF BOE&MJ%F1PPSUFS.PEFMMJOHUIFFOFSHZDPOTVNQUJPOGPSPWFSUIFBJSTPGUXBSFVQEBUFTJOMQXBOOFUXPSLT4JHGPY MPSBBOEJFFFH
    *OUFSOFUPG5IJOHT 7PM QQr

    View Slide

  11. • ຊݚڀͷ໨త͸ɼIoTΞϓϦέʔγϣϯͷ։ൃޮ཰ͷ޲্Ͱ͋Δɽ
    • IoTσόΠεͷϓϩτλΠϐϯά΍։ൃ࣌ʹ͓͍ͯ͸ɼ࣮؀ڥͰ༻͍ΒΕΔ௿
    ফඅిྗΛಛ௃ͱ͢Δϋʔυ΢ΣΞΛ༻͍Δ͜ͱ͸ɼඞਢ৚݅Ͱ͸ͳ͍ɽ
    • ͦͷͨΊɼRaspberry Pi΍Beagle Bone౳ͷΑ͏ͳɼ૬ରతʹߴੑೳͷϋʔυ
    ΢ΣΞΛ༻͍Δ͜ͱ͕ՄೳͰ͋Δɽ
    • ΑͬͯɼͦͷΑ͏ͳϋʔυ΢ΣΞͷར༻Λલఏͱͯ͠ɼಈతͳੑ࣭Λ࣋ͭϓϩ
    άϥϛϯάݴޠΛར༻ՄೳͰ͋Δɽ
    11
    ຊݚڀͷ؍఺

    View Slide

  12. • ϑΝʔϜ΢ΣΞΠϝʔδͷߋ৽ʹ͍ͭͯ͸ɼϑΝʔϜ΢ΣΞͷసૹʹ͔͔ΔωͱϫʔΫసૹྔ
    ͷ࡟ݮ΍ɼେ͖ͳΠϝʔδΛॲཧ͢Δ͜ͱʹΑΔσόΠεͷిྗফඅͷ࡟ݮ͕ݕ౼͞Ε͍ͯΔ
    [6-7]ɽͦͷͨΊɼํࣜͱͯ͠2ͭʹ෼ׂ͢Δɽ
    • ίʔυͷಈతͳߋ৽ʹ͍ͭͯ͸ɼίʔυͷܗࣜʹؔΘΒͣಉҰͰ͋ΔͱΈͳͤΔͨΊɼ౷߹͠
    ͯѻ͏ɽ
    12
    ຊݚڀʹΑΔίʔυมߋͷద༻ํࣜͷ੔ཧ
    ߋ৽ର৅ ૢ࡞ ຊݚڀʹΑΔํࣜͷ੔ཧ
    ϑΝʔϜ΢ΣΞΠϝʔδ ෼ׂ
    ʢʣϑΝʔϜ΢ΣΞΠϝʔδͷશମΛద༻͢Δํࣜ
    ʢʣϑΝʔϜ΢ΣΞΠϝʔδͷࠩ෼Λద༻͢Δํࣜ
    εΫϦϓτݴޠʹΑΔίʔυ
    ݁߹ ʢʣΞϓϦέʔγϣϯίʔυΛಈతʹద༻͢Δํࣜ
    Ծ૝ػցͰಈ࡞͢ΔݴޠʹΑΔίʔυ
    ωΠςΟϒίʔυ΁ͷಈతϦϯΫ
    <>,POTUBOUJOPT"SBLBEBLJT 1BWMPT$IBSBMBNQJEJT "OUPOJT.BLSPHJBOOBLJT BOE"MFYBOESPT'SBHLJBEBLJT'JSNXBSFPWFSUIFBJSQSPHSBNNJOHUFDIOJRVFTGPSJPUOFUXPSLTrBTVSWFZ
    4FQUFNCFS
    <>0OESFK,BDINBO .BSDFM#BMB[ BOE1FUFS.BMJL6OJWFSTBMGSBNFXPSLGPSSFNPUFpSNXBSFVQEBUFTPGMPXQPXFSEFWJDFT$PNQVU$PNNVO 7PM QQr .BZ

    View Slide

  13. 3.
    ఏҊํࣜͱ࣮૷

    View Slide

  14. • લड़ͷ௨ΓɼํࣜΛҎԼͷ௨Γ੔ཧͨ͠ɽ
    1. ϑΝʔϜ΢ΣΞΠϝʔδͷશମΛద༻͢Δํࣜ
    2. ϑΝʔϜ΢ΣΞΠϝʔδͷࠩ෼Λద༻͢Δํࣜ
    3. ΞϓϦέʔγϣϯίʔυΛಈతʹద༻͢Δํࣜ
    • ઌߦݚڀʹ͓͍ͯ͸ɼϦιʔε੍໿ͷڧ͍ঢ়گʹ͓͚ΔσόΠεͷ഑උޙͷద
    ༻Λ՝୊ͱ͍ͯ͠ΔͨΊɼ্هͷ3.ʹ͍ͭͯ͸े෼ʹݕ౼͞Εͯ͜ͳ͔ͬͨɽ
    • ຊݚڀ͸ɼઌߦݚڀͰ͸ѻΘΕͯ͜ͳ͔ͬͨεΫϦϓτݴޠ΍Ծ૝ػցʹΑΔ
    ݴޠΛ༻͍Δํ๏ΛؚΊɼIoTΞϓϦέʔγϣϯͷ։ൃޮ཰ͷ޲্Λ໨తͱ͠
    ͨ3.ͷํࣜΛ͋ΒͨΊͯఏҊ͢Δɽ
    14
    ఏҊํࣜ

    View Slide

  15. • ํࣜʢ1ʣ͓Αͼʢ2ʣʹ͓͚Δద༻
    ϓϩηεͷγʔέϯεਤ͸ӈਤͷ௨
    ΓͰ͋Δɽ
    • ίʔυͷมߋʹج͍ͮͯϑΝʔϜ
    ΢ΣΞΛੜ੒͠ɼσόΠε΁ద༻͢
    Δʢӈਤ1ʙ2ʣɽ
    • ͞Βʹɼ৽ͨͳϑΝʔϜ΢ΣΞʹ
    ΑͬͯσόΠεΛ࠶ىಈ͢Δඞཁ͕
    ͋Δʢӈਤ3ʣ
    ํࣜʢ1ʣ͓Αͼʢ2ʣ
    15

    View Slide

  16. • ίʔυͷมߋ͸ஞ࣍తʹૹ৴ɾద༻
    ͞ΕΔʢӈਤ1ʣ
    • มߋ͞ΕͨίʔυʹؔΘΔΞϓϦ
    έʔγϣϯͷߏ੒ཁૉʢ͜͜Ͱ͸ϓ
    ϩηεʣΛ࠶ىಈ͢Δʢӈਤ2ʣɽ
    • લϖʔδͷํࣜͱҟͳΓɼσόΠε
    ͷ࠶ىಈ͸ඞཁͳ͍ɽ
    ํࣜʢ3ʣ: ఏҊํࣜ
    16

    View Slide

  17. • ఏҊํࣜͷ࣮૷ʹ͸ɼϓϩάϥϛϯάݴޠͱͯ͠Elixir[9]
    ΛɼIoTσόΠεͷ։ൃϓϥοτϑΥʔϜͱͯ͠Nerves[10]
    Λ༻͍ͨɽ
    • Elixir͸େن໛ͳฒߦϓϩηεΛՄೳͱ͢ΔErlang/OTPͷԾ
    ૝ػցͰಈ࡞͢ΔݴޠͰ͋Δɽ
    • Nerves͸ɼElixirΛಉVM্Ͱಈ࡞͢Δͷʹඞཁे෼ʹখ͞
    ͳLinuxʹΑΔϑΝʔϜ΢ΣΞΛఏڙ͢ΔϓϥοτϑΥʔϜ
    Ͱ͋Δɽ
    ࣮૷ʢ1/2ʣ
    17
    <>l5IF&MJYJS1SPHSBNNJOH-BOHVBHFzIUUQTFMJYJSMBOHPSH
    <>l/FSWFT1MBUGPSNzIUUQTXXXOFSWFTQSPKFDUPSH

    View Slide

  18. • Elixirͷ࣮ߦج൫ͱͳΔErlang/OTPͷԾ૝ػցʢErlang VMʣ͸ɼ࣮ߦ࣌ʹΦ
    ϒδΣΫτίʔυΛಈతʹஔ͖׵͑ΒΕΔػೳΛఏڙ͍ͯ͠Δɽ
    • ίʔυͷஔ͖׵͑͸ɼErlang VM্Ͱಈ࡞͢Δϊʔυͱݺ͹ΕΔϓϩηεΛ௨
    ͯ͡ߦΘΕΔɽϊʔυ͸ԕִखଓ͖ݺͼग़͠ʢRPCʣʹରԠ͍ͯ͠Δɽ
    • ԕִͷϗετ্ʢ͜ͷ৔߹͸IoTσόΠεʣͰಈ࡞͢Δϊʔυʹରͯ͠ɼچ͍
    ίʔυΛ৽͍͠ίʔυʹஔ͖׵͑ΔRPCΛ࣮ߦ͢Δ͜ͱͰɼ։ൃऀʹΑΔίʔ
    υͷมߋΛIoTσόΠε΁ద༻ͨ͠ɽ
    18
    ࣮૷ʢ2/2ʣ

    View Slide

  19. 4.
    ࣮ݧͱධՁ

    View Slide

  20. • ͦΕͧΕͷํࣜΛൺֱ͢ΔͨΊͷࢦඪͱͯ͠ɼίʔυͷมߋΛσόΠεʹద༻
    ্ͨ͠ͰɼIoTΞϓϦέʔγϣϯ͕มߋΛऔΓࠐΜͩঢ়ଶͰಈ࡞͢Δ·Ͱʹཁ
    ͢Δ࣌ؒΛ༻͍ͨɽ
    • ίʔυͷมߋΛద༻͢Δର৅ͱͳΔIoTΞϓϦέʔγϣϯͱͯ͠ɼTCPιέο
    τܦ༝ͰΫϥΠΞϯτ͔Βड͚औͬͨจࣈྻΛͦͷ··ฦ٫͢Δɼ͍ΘΏΔ
    EchoαʔόΛ࣮૷ͯ͠༻͍ͨɽ
    • લड़ͷ௨ΓɼσόΠε࠶ىಈͷ༗ແʹؔΘΒͣɼIoTΞϓϦέʔγϣϯࣗମͷ
    ௨৴͕࠶։͢Δ·Ͱͷ࣌ؒΛࢦඪͱͯ͠ܭଌ͢ΔͨΊͰ͋Δɽ
    20
    ࣮ݧͷର৅ͱํ๏ʢ1/2ʣ

    View Slide

  21. • ͦΕͧΕͷํࣜʹ͍ͭͯɼίʔυมߋͷద༻
    ʹ͓͚ΔϑΣʔζ͝ͱʹɼӈਤͷ௨ΓͦΕͧ
    ΕίϚϯυΛ༻͍ͯ࣌ؒΛܭଌͨ͠ɽ
    • pingίϚϯυ͓ΑͼncatίϚϯυʹ͍ͭͯ
    ͸ɼIoTσόΠε΍ΞϓϦέʔγϣϯ΁ͷ઀ଓ
    ͕ःஅ͞Ε͍ͯΔؒ͸܁Γฦ࣮͠ߦ͠ɼ઀ଓ
    ཱ͕֬͞ΕΔ·Ͱͷ࣌ؒΛܭଌͨ͠ɽ
    ࣮ݧͷର৅ͱํ๏ʢ2/2ʣ
    21

    View Slide

  22. • ࣮ݧ݁Ռ͸ɼԼදͷ௨ΓͰ͋ΔɽఏҊํࣜΛ࣮૷ͨ͠ʢ3ʣ͕࠷΋଎͘ɼܭଌͨ͠ࢦඪʹ͓͍
    ͯʢ1ʣͱൺֱͯ͠95%ͷվળ͕ݟΒΕͨɽ
    • ʢ3ʣͷApplication Reboot͸ɼ਺msecҎԼͰ͋ΔͨΊຊ࣮ݧͰ͸ܭଌͰ͖ͳ͔ͬͨɽ
    • ʢ2ʣʹ͍ͭͯ͸ɼࠩ෼Λద༻͢ΔաఔʹϘτϧωοΫ͕͋ΓɼΉ͠Ζ஗͘ͳͬͯ͠·ͬͨͱ
    ߟ͑ΒΕΔɽ
    22
    ࣮ݧ݁Ռ

    View Slide

  23. • ຊݚڀʹ͓͚ΔఏҊํࣜͷ࣮૷͸ɼมߋର৅ͷίʔυͷґଘؔ܎Λߟྀ͢Δ͜ͱͳ͘ಈతͳॻ
    ͖׵͑Λߦ͍ͬͯΔɽͦͷͨΊɼίʔυؒʹෳࡶͳґଘؔ܎͕͋Δ৔߹͸ෆ੔߹Λى͜͢Մೳ
    ੑ͕͋Δɽ͔ͦ͠͠ͷ৔߹͸ϑΝʔϜ΢ΣΞΛߋ৽͢Δ͜ͱͰ༰қʹ෮چՄೳͰ͋Δɽ
    • ఏҊํ͓ࣜΑͼ࣮૷ͷҰൠੑʹ͍ͭͯ͸ɼIoTΞϓϦέʔγϣϯͷ։ൃޮ཰޲্Λલఏʹ૬ର
    తʹεϖοΫͷߴ͍ϋʔυ΢ΣΞΛ༻͍Δ͜ͱ͕Ͱ͖ΔͨΊɼຊ࣮૷ͱ͸ผͷݴޠΛ༻͍ͯ΋
    ࣮ݱՄೳͰ͋ΔͱࢥΘΕΔɽ
    • ·ͨɼErlang VMޓ׵ͷVMΛ։ൃ͢Δ͜ͱͰɼΑΓ௿εϖοΫͷϋʔυ΢ΣΞͰಈ࡞ͤ͞Δ
    औΓ૊Έ΋ਐΈͭͭ͋Δ[11]ɽ
    23
    ٞ࿦
    <>#FUUJP %BWJEFOEl"UPN7.zIUUQTHJUIVCDPNCFUUJP"UPN7.

    View Slide

  24. 5.
    ·ͱΊ

    View Slide

  25. • IoTΞϓϦέʔγϣϯͷ։ൃޮ཰ͷ޲্Λ໨తͱͨ͠ɼ։ൃऀʹΑΔίʔυͷ
    มߋΛಈతʹద༻͢ΔํࣜͷఏҊͱ࣮૷Λߦͬͨɽ
    • ઌߦݚڀʹج͍ͮͯํࣜΛ੔ཧ্ͨ͠ͰɼఏҊํࣜͱطଘํࣜͱΛ࣮ݧʹΑΓ
    ൺֱݕ౼ͨ͠ɽ
    • ͦͷ݁Ռͱͯ͠ɼIoTΞϓϦέʔγϣϯ΁ͷίʔυมߋͷద༻ʹཁ͢Δ࣌ؒʹ
    ͍ͭͯɼఏҊํࣜͷ࣮૷͸95%ͷվળΛ࣮ݱͰ͖ͨɽ
    • ఏҊํࣜͷ࠾༻͸ɼIoTσόΠεͷ։ൃϓϥοτϑΥʔϜʹͱͬͯ༏Ґੑͱͳ
    ΓಘΔͱߟ͑Δɽ
    25
    ·ͱΊ

    View Slide

  26. 1. ૯຿ল. ৘ใ௨৴നॻྩ࿨2೥൛, https://www.soumu.go.jp/johotsusintokei/whitepaper/r02.html, 2020.
    2. Bauwens, J., P. Ruckebusch, S. Giannoulis, I. Moerman, and E. D. Poorter. 2020. “Over-the-Air Software Updates in the Internet of Things: An Overview
    of Key Principles.” IEEE Communications Magazine 58 (2): 35–41.
    3. Narges Yousefnezhad, Avleen Malhi, and Kary Fr ̈amling. Security in product lifecycle of iot devices: A survey. Journal of Network and Computer
    Applications, Vol. 171, p. 102779, December 2020.
    4. Stephen Brown and Cormac J Sreenan. Software updat- ing in wireless sensor networks: A survey and lacunae. Journal of Sensor and Actuator
    Networks, Vol. 2, No. 4, pp. 717–760, November 2013.
    5. Peter Ruckebusch, Eli De Poorter, Carolina Fortuna, and Ingrid Moerman. Gitar: Generic extension for internet-of-things architectures enabling
    dynamic up- dates of network and application modules. Ad Hoc Net- works, Vol. 36, pp. 127–151, January 2016.
    6. Peter Ruckebusch, Spilios Giannoulis, Ingrid Moerman, Jeroen Hoebeke, and Eli De Poorter. Modelling the energy consumption for over-the-air
    software updates in lp- wan networks: Sigfox, lora and ieee 802.15.4g. Internet of Things, Vol. 3-4, pp. 104–119.
    7. Konstantinos Arakadakis, Pavlos Charalampidis, An- tonis Makrogiannakis, and Alexandros Fragkiadakis. Firmware over-the-air programming
    techniques for iot networks – a survey. September 2020.
    8. Ondrej Kachman, Marcel Balaz, and Peter Malik. Universal framework for remote firmware updates of low-power devices. Comput. Commun., Vol.
    139, pp. 91–102, May 2019.
    9. “The Elixir Programming Language.” https://elixir-lang.org/.
    10. “Nerves Platform.” https://www.nerves-project.org/.
    11. Bettio, Davide. n.d. “AtomVM.” https://github.com/bettio/AtomVM.
    26
    ࢀߟจݙ

    View Slide

  27. View Slide