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

Webサーバの高集積マルチテナント アーキテクチャに関する研究 / Studies on Highly Integrated Multi-Tenant Architecture for Web Servers

Webサーバの高集積マルチテナント アーキテクチャに関する研究 / Studies on Highly Integrated Multi-Tenant Architecture for Web Servers

松本亮介
2017年4月25日
2017年度 京都大学大学院 情報学研究科 博士課程 公聴会

MATSUMOTO Ryosuke
PRO

May 23, 2017
Tweet

More Decks by MATSUMOTO Ryosuke

Other Decks in Research

Transcript

  1. 4UVEJFTPO)JHIMZ*OUFHSBUFE.VMUJ5FOBOU"SDIJUFDUVSF GPS8FC4FSWFST দຊ྄հ ೥݄೔ ೥౓ژ౎େֶେֶӃ৘ใֶݚڀՊത࢜՝ఔެௌձ 8FCαʔόͷߴूੵϚϧνςφϯτ ΞʔΩςΫνϟʹؔ͢Δݚڀ

  2. ໨࣍ʢʣ  ݚڀͷ໨తͱҐஔ͚ͮ  جຊ֓೦ͱؔ࿈ݚڀ  ߴूੵ8FCϗεςΟϯάج൫ͷηΩϡϦςΟͱӡ༻ٕज़Λߟྀ ͨ͠ΞΫηε੍ޚΞʔΩςΫνϟ  εϨου୯ҐͰߴ଎ʹݖݶ෼཭Λߦ͏8FCαʔόͷΞΫηε੍

    ޚΞʔΩςΫνϟ 
  3. ໨࣍ʢʣ  εΫϦϓτݴޠͰߴ଎͔ͭܰྔʹ֦ுՄೳͳ8FCαʔόͷػೳ ֦ுࢧԉΞʔΩςΫνϟ  ϦΫΤετ୯ҐͰίϯϐϡʔλϦιʔεΛ෼཭͢ΔϦιʔε੍ ޚΞʔΩςΫνϟ  ·ͱΊ 

  4. ୈষ ݚڀͷ໨తͱҐஔ͚ͮ

  5. ݚڀͷഎܠ wΫϥ΢υ΍֤छ8FCαʔϏεͷීٴͱݸਓͷར༻ w8FCαʔϏεͷ௿Ձ֨Խͱ඼࣭ͷڝ૪ wӡ༻ٕज़ͷݚڀͱγεςϜͷ҆ఆԽ͕՝୊ w8FCαʔόͷߴूੵϚϧνςφϯτํࣜʹ஫໨ wηΩϡϦςΟͱϗετͷऩ༰ޮ཰޲্͕ॏཁ 

  6. ݚڀͷ໨త wߴूੵϚϧνςφϯτํࣜͷ՝୊Λ੔ཧɾղܾ wಛʹςφϯτ಺ͷίϯςϯπΛࣄۀऀ͕؅ཧͰ͖ͳ͍৔߹  ߴूੵϚϧνςφϯτؒͰͷݖݶ෼཭ͷ՝୊ղܾ  ߴूੵϚϧνςφϯτํࣜͷػೳ֦ுͷ՝୊ղܾ  ߴूੵϚϧνςφϯτؒͰͷϦιʔε෼཭ͷ՝୊ղܾ 

  7. ݚڀͷҐஔ͚ͮ w8FCαʔόͷߴूੵϚϧνςφϯτํࣜʹ͓͍ͯίϯςϯ π੍͕ޚग़དྷͳ͍৔߹ͷෳ਺ͷ՝୊Λ੔ཧͯ͠ղܾ wߴूੵϚϧνςφϯτํࣜͷ8FCϗεςΟϯάʹண໨ wମܥతʹϚϧνςφϯτํࣜͷैདྷख๏ͷ՝୊Λ੔ཧ wੑೳɾηΩϡϦςΟɾϦιʔε੍ޚɾӡ༻ٕज़ͷ؍఺Ͱղܾ w044ͱͯ͠ӡ༻ʹ଱͑͏Δ࣮૷Λߦ͍෯޿͘ར༻ͯ͠௖͘ 

  8. ୈষ جຊ֓೦ͱؔ࿈ݚڀ

  9. ߴूੵϚϧνςφϯτํࣜͷ՝୊Λ੔ཧ جຊ֓೦ ӡ༻ٕज़ͱηΩϡϦςΟͱੑೳͷ՝୊ 8FCαʔόػೳ֦ுͷ՝୊ 8FCαʔόͷϦιʔε੍ޚͷ՝୊ 

  10. جຊ֓೦

  11. Ϛϧνςφϯτํࣜ

  12. 8FCαʔόͷϚϧνςφϯτํࣜ w୯Ұͷαʔόʹෳ਺ͷϢʔβ؀ڥΛߏங͢Δํࣜ wӡ༻ίετͱऩ༰ʢϋʔυ΢ΣΞʣίετΛ௿ݮՄೳ w8FCίϯςϯπΛ؅ཧՄೳͳ৔߹͸࠾༻͠΍͍͢ wࣄۀऀ͕ίϯςϯπΛ؅ཧͰ͖ͳ͍৔߹ӡ༻͕ࠔ೉ ߴूੵԽʹ൐͏ϗετؒͷϦιʔεڝ߹΍ੑೳͷ՝୊ 

  13. 8FCίϯςϯπͷ؅ཧͱϚϧνςφϯτ w8FCίϯςϯπΛࣄۀऀ͕؅ཧͰ͖Δ৔߹ 8FCίϯςϯπ͔ΒϦιʔε΍ݖݶͷ෼཭Λ૝ఆՄೳ w8FCίϯςϯπΛࣄۀऀ͕؅ཧͰ͖ͳ͍৔߹ ͋ΒΏΔίϯςϯπ͕ಈͨ͘Ίऩ༰ઃܭɾӡ༻͕ࠔ೉ ੬ऑͳίϯςϯπ͕͋ΔલఏͰϦιʔεɾݖݶ෼཭͕ඞཁ 

  14. 8FCϗεςΟϯάαʔϏε

  15. 8FCϗεςΟϯάαʔϏεͷಛ௃ wࣄۀऀ͸͓٬༷ͷ8FCίϯςϯπΛ੍ޚͰ͖ͳ͍ wϛυϧ΢ΣΞɾ04Ͱ੍ޚ͢Δඞཁ͕͋Δ wͰ͖Δ͚ͩฏ౳ʹϢʔβମݧΛఏڙ͢΂͖ wڞ༗ͷ৔߹͸Ϧιʔε੍ޚ΍ηΩϡϦςΟ͕ॏཁ wੑೳͱऩ༰਺Λ͍͔ʹόϥϯεΛͱΔ͔΋ॏཁ 

  16. ݸਓ޲͚ͷ8FCαʔϏεͷ૿Ճͱ௿Ձ֨Խ wֶੜ΍ओ්ͱ͍ͬͨݸਓ͕झຯͰ࢖͏༻్ͷ૿Ճ wϋʔυ΢ΣΞ΁ͷϗετऩ༰཰ͷ࠷େԽ͕ॏཁ wηΩϡϦςΟΛ୲อͭͭ͠ੑೳͱϋʔυ΢ΣΞϦιʔ εޮ཰Λ࠷େԽ͢ΔͨΊʹιϑτ΢ΣΞٕज़Λ׆༻ ➜ɹຊݚڀͷ໘ന͍ͱ͜Ζ 

  17. ϚϧνςφϯτํࣜͷΞʔΩςΫνϟ

  18. ϚϧνςφϯτํࣜͷΞʔΩςΫνϟ֓ཁ  ߴूੵϚϧνςφϯτํࣜ8FCαʔόͷΞʔΩςΫνϟ  ಈతίϯςϯπͷ࣮ߦํࣜ

  19. ߴूੵϚϧνςφϯτํࣜͷ 8FCαʔόͷΞʔΩςΫνϟ

  20. ϓϩηε਺ͱऩ༰ϗετ਺͕ॏཁ wϓϩηε਺͕ϗετ਺ʹґଘ͠ͳ͍ߏ੒ wෳ਺αΠτڞ༗ͷ8FCαʔόϓϩηε͕ϦΫΤετ ͞Εͨϗετ໊͔ΒಈతʹίϯςϯπΛݕग़ͯ͠ॲཧ ͢Δํ͕ࣜߴूੵϚϧνςφϯτʹ͸ඞཁ ྫɿ"QBDIFͷ7JSUVBM)PTUػೳ 

  21. 8FCαʔόͷجຊతͳϞσϧ 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF $IJMEIUUQEQSPDFTT PXOFSBQBDIF $IJMEIUUQEQSPDFTT PXOFSBQBDIF $MJFOU

    ϦΫΤετ Ϩεϙϯε 6/*9ܥ04ͷ৔߹ࣄલʹϦΫΤετΛड͚Δ ϓϩηεΛෳ਺GPSL ͯ͠ϓʔϧ͓ͯ͘͠ ʢ͜ΕΒશͯΛؚΊͯʮ୯Ұͷαʔόϓϩηεʯͱఆٛʣ  ϦΫΤετ Ϩεϙϯε ϦΫΤετ Ϩεϙϯε
  22. ߴूੵͷͨΊͷΞʔΩςΫνϟ IUUQE Ϣʔβ" IUUQE Ϣʔβ# IUUQE Ϣʔβ$ IUUQE Ϣʔβ" Ϣʔβ#

    Ϣʔβ$ ޮ཰ྑ͘࢒ϦιʔεΛ࢖͑Δ ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁͳϦιʔε ߴूੵ͕ཁٻ͞ΕΔ৔߹ͷ Ϛϧνςφϯτʢຊݚڀʣ ϚϧνςφϯτͷผΞϓϩʔν 
  23. ಈతίϯςϯπͷ࣮ߦํࣜ

  24. ಈతίϯςϯπͷ࣮ߦํࣜ  $(*ʢ$PNNPO(BUFXBZ*OUFSGBDFʣ࣮ߦํࣜ  %40ʢ%ZOBNJD4IBSFE0CKFDUʣ࣮ߦํࣜ 

  25. $(*࣮ߦํࣜ $(*QSPDFTT QIQDHJJOEFYQIQ $(*QSPDFTT GPSL UFSNJOBUFQSPDFTT FYFDWF 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT

    PXOFSBQBDIF ϦΫΤετຖʹϓϩηεͷੜ੒ɾഁغͱ ൺֱతେ͖ͳόΠφϦʢ1)1ͩͱQIQDHJόΠφϦʣͷ FYFDWF ͕ඞཁ 
  26. %40࣮ߦํࣜ 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF JOEFYQIQ QBSTF SVO  αʔόϓϩηεʹΠϯλϓϦλΛϥΠϒϥϦ

    ͱͯ͠௚઀૊ΈࠐΜͰ͓͘
  27. ಈతίϯςϯπͷ࣮ߦํࣜ w$(*࣮ߦํࣜ ΠϯλϓϦλͷෳ਺όʔδϣϯΛ࣮ߦͰ͖Δ w%40࣮ߦํࣜ ੑೳ͸ߴ͍͕جຊతʹ͸୯Ұͷ8FCαʔόʹΠϯλ ϓϦλΛෳ਺όʔδϣϯ࣋ͯͳ͍ 

  28. ߴूੵϚϧνςφϯτํࣜͷ՝୊ wߴूੵΛ࣮ݱ͢Δ"QBDIFͷ7JSUVBM)PTUػೳͷΑ͏ͳ ΞʔΩςΫνϟ͸Ϧιʔεޮ཰͕ྑ͍͕ෳ਺՝୊͕࢒Δ  ӡ༻ٕज़ͱηΩϡϦςΟͱੑೳͷ՝୊➜  8FCαʔόͷػೳ֦ுͱ՝୊➜  8FCαʔόͷϦιʔε੍ޚͱ՝୊➜

  29. ӡ༻ٕज़ͱηΩϡϦςΟͱੑೳͷ՝୊

  30. ӡ༻ٕज़ͱੑೳͷ՝୊ wϗετ୯ҐʹઃఆΛ௥Ճͯ͠؅ཧɾ੍ޚ͢Δӡ༻ wϗετͷ੩తઃఆʹΑΔϝϞϦͱಡࠐΈෛՙ૿େ ϖʔδςʔϒϧΤϯτϦ 15& ͷංେԽʹΑΓGPSL ͷ࣮ ߦॲཧ͕ඇৗʹ஗͍ ϓϩηεͷϦϩʔυ΋௕͔͔࣌ؒΔ৔߹΋༗Γ 

  31. ηΩϡϦςΟͱੑೳͷ՝୊ w$(*ํࣜͷΞΫηε੍ޚʹΑΔ੩తઃఆͷڧ੍ ϗετ୯ҐͰ੩తʹΦʔφ໊Λઃఆ͢Δඞཁ༗Γ ϗετ਺ʹґଘͨ͠ઃఆ਺ͱϝϞϦ࢖༻ྔͷ૿Ճ wैདྷͷ%40ͷΞΫηε੍ޚͰ͸$(*ํࣜҎԼͷੑೳ wϗετͷ্ҐσΟϨΫτϦͷγεςϜྖҬͷӾཡ 

  32. $(*QSPDFTT PXOFSVTFS $(*QSPDFTT PXOFSSPPU QIQDHJJOEFYQIQ PXOFSVTFS $(*QSPDFTT PXOFSVTFS ੩తʹઃఆ͞ΕͨVJEΛݩʹTFUVJE TFUHJE

    GPSL  FYFDWF TVFYFDQSPHSBN TFUVJESPPU UFSNJOBUFQSPDFTT FYFDWF 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF ˞$(* ैདྷͷΞΫηε੍ޚख๏ ϦΫΤετຖʹ$(*༻ϓϩηεͷ ੜ੒ഁغ͕ඞཁ
  33. 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSSPPU JOEFYQIQ PXOFSVTFS TFUVJE TFUHJE QBSTF SVO

    $IJMEIUUQEQSPDFTT PXOFSVTFS $IJMEIUUQEQSPDFTT PXOFSVTFS UFSNJOBUFQSPDFTT ϦΫΤετຖʹࢠIUUQEϓϩηεͷੜ੒ഁغ͕ඞཁ ˞%40 ैདྷͷΞΫηε੍ޚख๏
  34. ఏҊख๏

  35. ӡ༻ٕज़ͱηΩϡϦςΟΛղܾ wͭͷΞΫηε੍ޚΞʔΩςΫνϟΛఏҊ w$(*ํࣜͰηΩϡϦςΟͱӡ༻ٕज़Λཱ྆͢ΔΞΫ ηε੍ޚΞʔΩςΫνϟ➜ষ w%40ํࣜͰηΩϡϦςΟͱੑೳΛཱ྆͢ΔΞΫηε ੍ޚΞʔΩςΫνϟ➜ষ 

  36. 8FCαʔόͷػೳ֦ுͱ՝୊

  37. 8FCαʔϏεͷ҆ఆੑ޲্ͷ՝୊ wηΩϡϦςΟ΍Ϧιʔε؅ཧͷॏཁੑͷߴ·Γ wαʔϏεͷӡ༻ɾ؅ཧίετͷ௿ݮ͕ඞཁ wαʔϏεܗଶʹΑͬͯ8FCαʔόͷ࠷దԽ͕ඞཁ w8FCαʔόͷ֦ுػೳͷඞཁੑ͕૿Ճ 

  38. 8FCαʔόͷػೳ֦ு͕ॏཁ wϨεϙϯεੜ੒ॲཧલޙʹॲཧΛࠩ͠ࠐΉ w8FCίϯςϯπʹґଘ͠ͳ͍ޮ཰ͷྑ͍ΞΫηε੍ ޚ΍Ϧιʔε෼཭Λ࣮ݱՄೳ w8FCαʔϏεͷӡ༻ɾ؅ཧΛޮ཰ԽՄೳ w8FCαʔόͷઃఆ͚ͩͰ͸ղܾͰ͖ͳ͍՝୊ͷ૿Ճ 

  39. ैདྷͷ8FCαʔόͷػೳ֦ுख๏ w$ݴޠʹΑΔ࣮૷͕ఆ൪ ߴ଎͔ͭলϝϞϦ㱻อकੑ΍ੜ࢈ੑ͕௿͍ wεΫϦϓτݴޠʹΑΔ࣮૷ อकੑ΍ੜ࢈ੑ͕ߴ͍㱻௿ੑೳɾ҆શੑͷ໰୊ 

  40. ఏҊख๏

  41. εΫϦϓτͰߴ଎͔ͭ҆શʹ֦ுՄೳ w8FCαʔόϓϩηε΁ͷΠϯλϓϦλ૊ΈࠐΈΛ࠷దԽ wߴूੵϚϧνςφϯτํࣜͰ͸ӡ༻อकΛߟྀͨ͠ػೳ ֦ுΞʔΩςΫνϟ͕ॏཁͰ͋Δ wੑೳ໘ͱ҆શੑΛཱ྆ͨ͠ΞʔΩςΫνϟͷઃܭͱੜ ࢈ੑΛߴΊΔ࣮૷➜ষ 

  42. 8FCαʔόͷϦιʔε੍ޚͱ՝୊

  43. ैདྷͷ8FCαʔόͷϦιʔε੍ޚ wϋʔυ΢ΣΞϦιʔε΍ಉ࣌઀ଓ਺ͳͲΛ୯७ͳᮢ஋ ॲཧͰ੍ݶ wᮢ஋Λ௒͑ΔͱϦΫΤετॲཧΛڧ੍੾அɾڋ൱ wϦΫΤετΛड͚Δ͔ड͚ͳ͍͔ͷ୯७ͳ੍ޚ 

  44. ैདྷͷϦιʔε੍ޚͷ՝୊  αʔόͷෛՙΛ௿ݮ͢Δ͜ͱΛॏࢹ͢Δ͋·ΓϢʔβ ମݧΛେ͖͘ଛͳ͍ͬͯΔ  ࠷େಉ࣌઀ଓ਺ҎԼͰ΋ҰͭͷϦΫΤετͰେྔʹϦ ιʔεΛ࢖༻͢ΔίϯςϯπΛߟྀͰ͖͍ͯͳ͍  ੍ݶͷཻ౓͕ߥ͘ϗετؒͷϦιʔεڝ߹ʹΑΓշద ʹ࢖͑ΔϢʔβͱ࢖͑ͳ͍Ϣʔβͷ͕ࠩେ͖͍

    
  45. ఏҊख๏

  46. ϦΫΤετ୯ҐͰϦιʔεΛ෼཭ wϦΫΤετͷதஅͰ͸ͳ͘ܧଓతʹॲཧ͢Δख๏ wϦΫΤετ୯ҐͰϦΫΤετͷଐੑʹج͍ͯϦιʔε੍ޚ w؅ཧऀ͕ෳࡶͳઃఆΛϓϩάϥϚϒϧʹදݱՄೳ wಛఆͷίϯϐϡʔλϦιʔεൣғ಺Ͱॲཧ͢ΔΞʔΩς Ϋνϟ➜ষ 

  47. ୈষ ߴूੵ8FCϗεςΟϯάج൫ͷηΩϡϦςΟ ͱӡ༻ٕज़Λߟྀͨ͠ΞΫηε੍ޚΞʔΩςΫνϟ

  48. ষͷ՝୊ͷ·ͱΊ wಈతίϯςϯπ͸$(*ํࣜΛ࢖͏ඞཁ͕͋Δ ෳ਺όʔδϣϯͷΠϯλϓϦλΛѻ͍͍ͨ %40ํࣜͷΞΫηε੍ޚ͸$(*ఔ౓ͷੑೳʹͳΔ w੩తઃఆͷ૿ՃʹΑΔϝϞϦ࢖༻ྔͷ૿େ wγεςϜྖҬͷӾཡෆՄͷͨΊͷઃఆίετ͕ߴ͍ 

  49. ӡ༻໘ͱηΩϡϦςΟΛཱ྆͢ΔఏҊख๏ wϦΫΤετ͞ΕͨϑΝΠϧ͔ΒಈతʹPXOFSΛऔಘ ઃఆΛϗετͷ਺ʹ߹Θͤͯ૿΍͢ඞཁ͕ͳ͍ ϗετͷऩ༰਺ʹґଘͯ͠ϝϞϦ࢖༻ྔ͕૿େ͠ͳ͍ 15&͕ංେԽͤͣGPSL ͷ࣮ߦॲཧ͕஗͘ͳΒͳ͍ wϑΝΠϧͷPXOFSʹΑΔݖݶ෼཭ͷࡍʹϑΝΠϧγεςϜΛ ߹Θִͤͯ཭ 

  50. 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSSPPU JOEFYQIQ PXOFSVTFS TFUVJE TFUHJE QBSTF SVO

    ˞%40 ैདྷͷΞΫηε੍ޚख๏ $IJMEIUUQEQSPDFTT PXOFSVTFS $IJMEIUUQEQSPDFTT PXOFSVTFS UFSNJOBUFQSPDFTT ϦΫΤετຖͷࢠIUUQEϓϩηεͷੜ੒ഁغ͕ඞཁ
  51. $(*QSPDFTT PXOFSVTFS $(*QSPDFTT PXOFSSPPU QIQDHJJOEFYQIQ PXOFSVTFS $(*QSPDFTT PXOFSVTFS ੩తʹઃఆ͞ΕͨVJEΛݩʹTFUVJE TFUHJE

    GPSL  FYFDWF TVFYFDQSPHSBN TFUVJESPPU UFSNJOBUFQSPDFTT FYFDWF 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF ϦΫΤετຖʹ$(*༻ϓϩηεͷ ੜ੒ഁغ͕ඞཁ ˞$(* ैདྷͷΞΫηε੍ޚख๏ 
  52. $(*QSPDFTT PXOFSVTFS $(*QSPDFTT PXOFSSPPU QIQDHJJOEFYQIQ PXOFSVTFS $(*QSPDFTT PXOFSVTFS DISPPU 

    ϦΫΤετϑΝΠϧ͔ΒVJEऔಘޙ TFUVJE TFUHJE GPSL  FYFDWF TVFYFDQSPHSBN TFUVJESPPU UFSNJOBUFQSPDFTT FYFDWF 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF DISPPU&OWJSPONFOU ˞$(* ఏҊ͢ΔΞʔΩςΫνϟ 
  53. ੑೳධՁ w"QBDIFIUUQEʹରͯ͠ఏҊΞʔΩςΫνϟΛ࣮૷ wಉ࣌઀ଓ਺ΛมԽͤ͞ͳ͕ΒඵؒͷϨεϙϯε਺Λܭଌ w1)1ͰจࣈྻΛग़ྗ͢Δ͚ͩͷ$(*ϓϩάϥϜΛར༻ wैདྷख๏ͱఏҊख๏ͷੑೳΛධՁ 

  54. ࣮ݧ؀ڥ 

  55. 

  56. ̏ষ·ͱΊ wӡ༻ٕज़ͱηΩϡϦςΟΛߟྀͨ͠$(*ͷ৽͍͠ΞʔΩςΫνϟΛఏҊ wैདྷͷΞʔΩςΫνϟͱಉ౳ͷੑೳͰΑΓηΩϡΞͰѻ͍΍͍͢࢓༷  ߴूੵ࣌ʹ͓͍ͯ΋ઃఆ਺ʹԠͨ͡ϝϞϦ૿Ճ͕ੜ͡ͳ͍ͨΊ࣮ӡ༻ ্͸ߴ଎ʹಈ࡞Մೳ  DISPPU͢ΔͨΊͷϢʔβ؀ڥͷߏங͸ผ్Ϣʔβຖʹඞཁ wߴूੵϚϧνςφϯτͷςφϯτ਺૿ՃΛߟྀͨ͠ΞʔΩςΫνϟ 

  57. ୈষ εϨου୯ҐͰߴ଎ʹݖݶ෼཭Λߦ͏ WebαʔόͷΞΫηε੍ޚΞʔΩςΫνϟ

  58. ষͷ՝୊ͷ·ͱΊ wষͷΞΫηε੍ޚΞʔΩςΫνϟ͸ӡ༻ੑʹண໨ $(*ͷར఺ʢෳ਺όʔδϣϯͷఏڙʣΛߟྀ w%40൛ͷੑೳΛ׆͔͢ΞΫηε੍ޚख๏͕ແ͍ w࣮ߦํࣜ΍ΠϯλϓϦλ͕ಠࣗʹΞΫηε੍ޚख๏Λ ࣮૷͓ͯ͠Γ൥ࡶ 

  59. ߴूੵϚϧνςφϯτͱ$(*ɾ%40ͷੑೳ wੑೳ໘ʹ͓͍ͯ$(*͸ຊདྷద͍ͯ͠ͳ͍  ऩ༰਺͕૿͑ΔͱϓϩηεͷϝϞϦ࢖༻ྔ͕૿͑GPSL ͷޮ཰௿Լ  ͦ΋ͦ΋ϦΫΤετ୯ҐͰGPSL ͢ΔͷͰ஗͍ w%40͸ຊདྷGPSL Λ࣮ߦ͠ͳ͍ͨΊߴ଎ʹಈ࡞͢Δ͕

     ैདྷͷ%40ͷΞΫηε੍ޚ͸ϦΫΤετຖʹGPSL Λ࣮ߦ͢Δ 
  60. 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSSPPU JOEFYQIQ PXOFSVTFS TFUVJE TFUHJE QBSTF SVO

    ˞%40 ैདྷͷΞΫηε੍ޚख๏ $IJMEIUUQEQSPDFTT PXOFSVTFS $IJMEIUUQEQSPDFTT PXOFSVTFS UFSNJOBUFQSPDFTT ϦΫΤετຖͷࢠIUUQEϓϩηεͷੜ੒ഁغ͕ඞཁ 
  61. ఏҊ͢ΔΞΫηε੍ޚΞʔΩςΫνϟ w%40ํࣜͷੑೳΛ׆͔͢ΞʔΩςΫνϟ wಈతίϯςϯπ࣮ߦ௚લʹΦʔφมߋͷಛݖͷΈΛ༩ ੍͑ͨޚ༻ͷεϨουΛ࡞੒ wΦʔφΛมߋͨ͠εϨου্ͰίϯςϯπΛॲཧ wίϯςϯπ࣮ߦޙ͸εϨουͷΈΛ࡟আ 

  62. -JOVYεϨουͱ-JOVY$BQBCJMJUJFT w-JOVY,FSOFMҎ߱ͷಠࣗͷηΩϡϦςΟϞσϧ wSPPUಛݖΛࡉ෼Խͯ͠εϨου୯ҐͰ෇༩Մೳ wΦʔφʔͷมߋɾXFMMLOPXOQPSUͷMJTUFO౳໿ݸ w-JOVYલఏͰ͋Ε͹ఏҊख๏͕࣮ݱՄೳ 

  63. 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF UISFBE PXOFSVTFS UISFBE PXOFSBQBDIF JOEFYQIQ PXOFSVTFS

    TFUVJE TFUHJE ʜ VOTFUDBQT DSFBUFUISFBE TFUDBQT EFTUSPZUISFBE QBSTF SVO QSDUM TFUVJETFUHJEDBQT UISFBE PXOFSVTFS ˞%40 ఏҊ͢ΔΞΫηε੍ޚΞʔΩςΫνϟ 
  64. 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF UISFBE PXOFSVTFS UISFBE PXOFSBQBDIF TFUVJE TFUHJE

    ʜ VOTFUDBQT DSFBUFUISFBE TFUDBQT EFTUSPZUISFBE QSDUM TFUVJETFUHJEDBQT UISFBE PXOFSVTFS ˞$(* ఏҊ͢ΔΞΫηε੍ޚΞʔΩςΫνϟ $(*QSPDFTT PXOFSVTFS QIQDHJJOEFYQIQ PXOFSVTFS $(*QSPDFTT PXOFSVTFS GPSL UFSNJOBUFQSPDFTT FYFDWF 
  65. 8FCαʔόϞσϧͱ੍ޚ༻εϨουͷߟ࡯ wϦΫΤετϓϩηε઎༗͢ΔαʔόϞσϧલఏ w%40͸εϨουͷ༗ແʹؔΘΒͣαʔόϓϩηεʹ ૊Έࠐ·ΕͨΠϯλϓϦλ͕௚઀ϓϩάϥϜΛ࣮ߦ wεϨουΛҰ࣌తʹ࡞Δ͜ͱʹΑΔηΩϡϦςΟϨϕ ϧͷ௿Լ͸ੜ͡ͳ͍

  66. -JOVYͰ"QBDIFϞδϡʔϧͱ࣮ͯ͠૷ wNPE@QSPDFTT@TFDVSJUZϞδϡʔϧ wઃఆ͸ҎԼͷΑ͏ʹγϯϓϧ 

  67. ੑೳධՁ w"QBDIFIUUQEʹରͯ͠ఏҊΞʔΩςΫνϟΛ࣮૷ wඵؒͷϦΫΤετ਺ΛมԽͤ͞Ϩεϙϯε਺Λܭଌ wQIQJOGP Λग़ྗ͢Δ͚ͩͷ؆୯ͳϓϩάϥϜΛ༻ҙ wैདྷख๏ͱఏҊख๏ͷੑೳΛධՁ 

  68. ࣮ݧ؀ڥ 

  69. %40࣮ߦํࣜͷΞΫηε੍ޚੑೳൺֱ w ඵؒϦΫΤετ਺Λ૿Ճͤ͞ͳ͕Βඵ ؒϨεϙϯε਺Λܭଌ w ྘ͷैདྷͷΞΫηε੍ޚ͸΄ͱΜͲੑ ೳ͕Ͱ͍ͯͳ͍ w ੺ͷఏҊ͢ΔΞΫηε੍ޚ͸ΞΫηε ੍ޚແ͠ͷ৔߹ͱൺ΂ͯ΋΄ͱΜͲΦʔ

    όʔϔου͸ແ͠ ੨ɿΞΫηε੍ޚແ͠ ੺ɿఏҊ͢ΔΞΫηε੍ޚ ྘ɿैདྷͷΞΫηε੍ޚ 
  70. $(*࣮ߦํࣜͷΞΫηε੍ޚੑೳൺֱ w ඵؒϦΫΤετ਺Λ૿Ճͤ͞ͳ͕ΒඵؒϨ εϙϯε਺Λܭଌ w $(*ͷΞΫηε੍ޚͷ༗ແʹؔΘΒͣ$(* ͷ࣮ߦํࣜͷΦʔόʔϔου͕େ͖͍ͨΊɺ ΞΫηε੍ޚʹΑΔΦʔόʔϔου͸ແ͍ w ষͷ$(*ͷΞΫηε੍ޚ͸TVFYFDͱಉ

    ౳ͷੑೳͰ͋Δ͜ͱ͕ষͰ࣮ݧࡁΈ ੨ɿΞΫηε੍ޚແ͠ ੺ɿैདྷͷΞΫηε੍ޚ ྘ɿఏҊ͢ΔΞΫηε੍ޚ 
  71. ষ·ͱΊ wߴूੵϚϧνςφϯτํࣜʹ͓͚ΔੑೳΛߟྀͨ͠Ξ Ϋηε੍ޚΞʔΩςΫνϟͷఏҊ w%40࣮ߦํࣜͷΞΫηε੍ޚͱͯ͠େ෯ʹੑೳվળ wఏҊख๏͸$(*࣮ߦํࣜʹ΋ద༻Մೳ 

  72. ষͷ$(*ͷΞΫηε੍ޚͱͷҧ͍ wষͷΞΫηε੍ޚ͸҆શʹDISPPUͰ͖ͳ͍ wεϨου্ͰDISPPU͢ΔͱಉҰϓϩηε্ʹଐ͢Δ શͯͷεϨου͕DISPPU͞ΕΔ wεϨουΛੜ੒ͨ͠ϓϩηεࣗମ΋DISPPU͞ΕΔͨ Ί৔߹ʹΑͬͯ͸ҙਤ͠ͳ͍ಈ࡞Λ͢ΔՄೳੑ͕͋Δ

  73. $(*ํࣜͷΞΫηε੍ޚͷ࢖͍෼͚ wDISPPUʹΑΔִ཭·Ͱߦ͍͍ͨ৔߹➜ষ wಉҰͷΞΫηε੍ޚͰ౷Ұతʹ෼཭͍ͨ͠৔߹➜ষ wੑೳ͸ಉఔ౓

  74. ୈষ εΫϦϓτݴޠͰߴ଎͔ͭܰྔʹ֦ுՄೳͳ 8FCαʔόͷػೳ֦ுࢧԉΞʔΩςΫνϟ

  75. ষͷ՝୊ͷ·ͱΊ w8FCαʔόͷػೳ֦ுʹ͓͍ͯੑೳΛߟྀͨ͠৔߹ ͸$ݴޠʹΑΔ࣮૷͕ఆ൪ wैདྷͷ8FCαʔόͷεΫϦϓτݴޠʹΑΔ֦ு͸ੑ ೳ໘ͱ҆શੑʹ՝୊ wαʔόϓϩηε΁ͷΠϯλϓϦλ૊ΈࠐΈͷΞʔΩς ΫνϟͷఏҊ͕ॏཁ 

  76. ैདྷͷεΫϦϓτʹΑΔػೳ֦ுํࣜʢ̍ʣ wΠϯλϓϦλڞ༗ํࣜʢNPE@QFSMɺNPE@SVCZʣ αʔόϓϩηεىಈ࣌ʹ୯ҰͷΠϯλϓϦλ֬อ ϦΫΤετॲཧ࣌ʹෳ਺ͷεΫϦϓτͰΠϯλϓϦλڞ༗ άϩʔόϧͷঢ়ଶ΋ڞ༗ ߴػೳ͔ͭن໛ͷେ͖͍ΠϯλϓϦλʹ࠷ద 

  77. ैདྷͷεΫϦϓτʹΑΔػೳ֦ுํࣜʢ̎ʣ wෳ਺ΠϯλϓϦλํࣜʢNPE@MVBʣ εΫϦϓτ࣮ߦʢϦΫΤετॲཧʣ୯ҐͰΠϯλϓϦλ֬อ άϩʔόϧͳঢ়ଶ͸ಠཱͰ҆શ ΠϯλϓϦλ͕֬อ͢Δঢ়ଶ΋౎౓։์ͯ͠লϝϞϦ ௿ػೳͰߴ଎ɾলϝϞϦͳ૊ΈࠐΈεΫϦϓτݴޠͳͲʹ࠷ద 

  78. ैདྷख๏ͷ՝୊ wΠϯλϓϦλڞ༗ํࣜͷ՝୊ άϩʔόϧঢ়ଶ͕ෳ਺εΫϦϓτͰׯব ࣮ߦ࣌ͷόΠτίʔυ૿ՃʹΑΔϝϞϦͷ૿Ճ wෳ਺ΠϯλϓϦλํࣜͷ՝୊ ϦΫΤετຖͷΠϯλϓϦλ֬อɾ։์ͷίετ͕ߴ͍ 

  79. VM •  •  •  

  80. ఏҊ͢ΔΞʔΩςΫνϟ wੑೳ͕ཁٻ͞ΕΔՕॴ͸ΠϯλϓϦλڞ༗ wੑೳ͕ཁٻ͞Εͳ͍Օॴ͸ݸผʹΠϯλϓϦλ֬อ wϝϞϦ૿ՃͷݪҼͰ͋ΔόΠτίʔυͷΈΛ։์ w҆શੑͷ໘Ͱάϩʔόϧͷঢ়ଶͷΈΛ։์Մೳ wόΠτίʔυΩϟογϡʹΑΔߴ଎Խ΋Մೳ 

  81. ਌αʔόϓϩηε ࢠαʔόϓϩηε" ϦΫΤετॲཧ༻ΠϯλϓϦλ ىಈ࣌ॲཧ༻ΠϯλϓϦλ ϦΫΤετҎ֎ͷॲཧ༻ΠϯλϓϦλ εΫϦϓτ εΫϦϓτ εΫϦϓτ εΫϦϓτ εΫϦϓτ

    ੑೳ͕ཁٻ͞ΕΔϑοΫ ͸ΠϯλϓϦλΛڞ༗ ɾ ɾ ɾ  
  82. w αʔόϓϩηεىಈ࣌ʹΠϯλϓ ϦλΛ֬อ w ϦΫΤετॲཧ࣌ʹΠϯλϓϦλ Λڞ༗ͯ͠εΫϦϓτΛίϯύΠϧ ͔ͯ͠Β࣮ߦ ߏจ໦ղੳ όΠτίʔυੜ੒ 7.্Ͱ࣮ߦ

    ϦΫΤετຖʹαʔόϓϩηε͕εΫϦϓτΛϑοΫ εΫϦϓτಡΈࠐΈ ΠϯλϓϦλͱ ϥΠϒϥϦΛڞ༗ όΠτίʔυɺάϩʔόϧม਺ɾΫϥεɺྫ֎ϑϥάΛ։์ ഉଞॲཧ ϚϧνεϨου8FC αʔόΞʔΩςΫνϟ ʹରԠ 
  83. ߏจ໦ղੳ όΠτίʔυੜ੒ 7.্Ͱ࣮ߦ ϦΫΤετຖʹαʔόϓϩηε͕εΫϦϓτΛϑοΫ εΫϦϓτಡΈࠐΈ ΠϯλϓϦλͱ ϥΠϒϥϦΛڞ༗ άϩʔόϧม਺ɾΫϥεɺྫ֎ϑϥάΛ։์ όΠτίʔυ ςʔϒϧ

    w όΠτίʔυΩϟογϡʹΑͬͯαʔ όϓϩηεىಈޙʹίʔυมߋ͕ඞ ཁͳ͍৔߹͸ߴ଎Խ w αʔόىಈ࣌ʹίϯύΠϧͯ͠όΠ τίʔυςʔϒϧʹอଘ͓͖ͯ͠ɺ ϦΫΤετ࣌ʹऔಘ࣮ͯ͠ߦ 
  84. ΞʔΩςΫνϟͷ࣮૷ w"QBDIFϞδϡʔϧͷNPE@NSVCZͱ࣮ͯ͠૷ wOHJOYϞδϡʔϧͷOHY@NSVCZͱͯ͠΋࣮૷ wNSVCZͱ͍͏ܰྔ3VCZΠϯλϓϦλΛར༻ w3VCZͰ8FCαʔόͷৼΔ෣͍Λ֦ுՄೳ wదࡐదॴͱͯ͠ैདྷͷ$ݴޠͷ࣮૷ͱڞଘՄೳ 

  85. NPE@NSVCZͷػೳ֦ுͷ֓ཁਤ 

  86. NPE@NSVCZઃఆྫ # Normal hook <Location /mruby-test> mrubyHandlerMiddle /path/to/test.rb </Location> #

    ByteCode Caching at Start up <Location /mruby-test-cache> mrubyHandlerMiddle /path/to/test.rb cache </Location> 
  87. NPE@NSVCZͰͷ3FWFSTF1SPYZ # mrubyTranslateNameFirst “/path/to/proxy.rb” backends = [ "http://192.168.0.101:8888/", "http://192.168.0.102:8888/", "http://192.168.0.103:8888/",

    ] r = Apache::Request.new backend = backends[rand(backends.length)] r.reverse_proxy backend + r.unparsed_uri 
  88. ࣮ݧ wੑೳධՁ )FMMP8PSMEग़ྗͷ୯७ͳϓϩάϥϜʢΠϯλϓϦλͷੑೳͰ ͸ͳ͘૊ΈࠐΈΞʔΩςΫνϟͷੑೳΛ࠷େԽ͢ΔͨΊʣ ैདྷɾఏҊख๏Ͱ࣮ߦ͠ඵؒͷϨεϙϯε਺Λܭଌ ಉ࣌઀ଓ਺ɾ૯઀ଓ਺ສ 

  89. ࣮ݧ؀ڥ 

  90. ैདྷख๏ͱͷੑೳൺֱ ैདྷͷػೳ֦ ு NPE@QFSM NPE@SVCZ NPE@MVB NPE@NSVCZ NPE@NSVCZ Ωϟογϡ ݴޠ

    $ 1FSM 3VCZ -VB NSVCZ NSVCZ ΠϯλϓϦλ ॳظԽॲཧ ࣄલ ౎౓ ࣄલ ࣄલ ϥΠϒϥϦ ಡΈࠐΈ ࣄલ ౎౓ ࣄલ ࣄલ ίϯύΠϧ ࣄલ ౎౓ ౎౓ ౎౓ ࣄલ ίʔυͷมߋ ෆՄ Մ Մ Մ ෆՄ άϩʔόϧঢ়ଶ ڞ༗ ڞ༗ ඇڞ༗ ඇڞ༗ ඇڞ༗ ੑೳ 3FTQPOTFTFD       
  91. ষͷ·ͱΊ wεΫϦϓτݴޠͰߴ଎͔ͭ҆શʹಈ࡞͢Δ8FCαʔόػೳ֦ ுࢧԉΞʔΩςΫνϟΛఏҊ wैདྷݚڀΑΓ΋ߴ଎Ͱ8FCαʔό׆༻έʔεͰ͸$ݴޠͰͷ࣮ ૷ʹḮ৭ͳ͍ΞʔΩςΫνϟΛ࣮ݱ w޿͘࢖ΘΕ͍ͯΔ8FCαʔόιϑτ΢ΣΞͷϞδϡʔϧͱͯ͠ ࣮૷͠Φʔϓϯιʔειϑτ΢ΣΞͱͯ͠ެ։ 

  92. ষͷࠓޙͷ՝୊ wάϩʔόϧม਺ྖҬͷࣗಈ։์ػೳ wݱࡏ͸खಈ։์Ͱ͋Δ͕ಛఆͷάϩʔόϧม਺Ҏ֎ ͸ࣗಈͰ։์Ͱ͖ΔॲཧʢઃఆͰ੾Γସ͑ՄೳʣΛ ௥Ճ༧ఆ

  93. ୈষ ϦΫΤετ୯ҐͰίϯϐϡʔλϦιʔεΛ ෼཭͢ΔWebαʔόͷ Ϧιʔε੍ޚΞʔΩςΫνϟ

  94. ষͷ՝୊ͷ·ͱΊ   αʔόͷෛՙΛ௿ݮ͢Δ͜ͱΛॏࢹ͢Δ͋·ΓϢʔβ ମݧΛେ͖͘ଛͳ͍ͬͯΔ  ࠷େಉ࣌઀ଓ਺ҎԼͰ΋ҰͭͷϦΫΤετͰେྔʹϦ ιʔεΛ࢖༻͢ΔίϯςϯπΛߟྀͰ͖͍ͯͳ͍  ੍ݶͷཻ౓͕ߥ͘ϗετؒͷϦιʔεڝ߹ʹΑΓշద

    ʹ࢖͑ΔϢʔβͱ࢖͑ͳ͍Ϣʔβͷ͕ࠩେ͖͍
  95. ࣮ݱ͍ͨ͠Ϧιʔε੍ޚʢ̍ʣ 8FCαʔό 8FCαʔό Ϛϧνςφϯτํࣜͷαʔόશମͷ$16Ϧιʔε͕ṧഭͨ͠ঢ়ଶʹ͓͍ͯɺ ࢖༻Ͱ͖Δ$16Ϧιʔε͸ʹ੍ݶ͞ΕΔ͕ɺར༻Ͱ͖ΔΫϥΠΞϯτ਺͸ഒ ΞΫηεෆՄ ΞΫηεՄʂ ΞΫηεՄ  $16ˋ࢖༻͢Δ

    ͭͷϓϩάϥϜΛॲཧ $16ˋ࢖༻͢Δ ͭͷϓϩάϥϜΛॲཧ ఏҊख๏ ैདྷख๏ ΑΓཻ౓ͷ ࡉ੍͔͍ݶ
  96. ࣮ݱ͍ͨ͠Ϧιʔε੍ޚʢ̎ʣ wϦΫΤετʹؚ·ΕΔ༷ʑͳଐੑΛݩʹ੍ޚ͍ͨ͠ ߴूੵϚϧνςφϯτํࣜͰ͸ϦΫΤετͷଐੑͰ ϗετΛ۠ผ͠ϓϩηεΛڞ༗͢ΔͨΊ ϦΫΤετ୯ҐͰͷϦιʔε෼཭͕ඞཁ wෳࡶͳઃఆΛϓϩάϥϚϒϧʹهड़Մೳʹ͍ͨ͠ 

  97. ఏҊ͢ΔϦιʔε੍ޚΞʔΩςΫνϟ w04ͷϓϩηεϦιʔε෼཭ٕज़Λ8FCαʔόͷϦΫ Τετ୯ҐͰ׆༻੍͠ޚ wষͷػೳ֦ுࢧԉػߏNPE@NSVCZΛԠ༻ ϓϩάϥϚϒϧͰΦʔόʔϔουগͳ͍ࢧԉػߏͰ ϦΫΤετ୯ҐʹϦιʔεΛ੍ޚՄೳ 

  98. -JOVYಠࣗͷϦιʔε੍ޚDHSPVQ wϓϩηε୯ҐͰ$16ɾϝϞϦɾ*0౳Λ੍ޚ -JOVY,FSOFMҎ߱ͷػೳ ಛఆͷϓϩηε͸ίΞ$16·Ͱׂ౰ͳͲ $16ΛׂΓ౰ͯͨϦιʔεάϧʔϓΛ࡞੒ άϧʔϓʹࢀՃ͍ͯ͠ΔϓϩηεͰϦιʔε෼഑ 

  99. ϦΫΤετ୯ҐͰͷϦιʔε੍ޚ 8FCαʔό ϓϩηε ΫϥΠΞϯτ ϦΫΤετ Ϩεϙϯε Ϩεϙϯεੜ੒ͷॲཧͷؒͷΈ ϓϩηεΛಛఆͷDHSPVQʹΞλον ʢ$16ͳͲʣ DHSPVQΞλον

    DHSPVQσλον 
  100. Ϧιʔε੍ޚͷઃఆྫ r = Apache::Request.new if r.filename == “/path/to/cpu.cgi” cpu =

    Cgroup::CPU.new “cpu_group” # CPU 10 cpu.cfs_quota_us = 10000 cpu.create cpu.attach end  ݫີʹ͸NTதNTͷ$16࢖༻࣌ؒΛ RVPUBͱͯ͠εέδϡʔϧ͢Δઃఆ
  101. Ϧιʔε੍ޚͷઃఆྫ r = Apache::Request.new if r.hostname == “example.com” cpu =

    Cgroup::CPU.new “cpu_group” # CPU 10 cpu.cfs_quota_us = 10000 cpu.create cpu.attach end 
  102. ਫ਼౓ͱΦʔόʔϔουͷධՁ wϦιʔε੍ޚಋೖʹΑΔΦʔόʔϔουධՁ wϦιʔε੍ޚͷਫ਼౓ධՁ 

  103. ࣮ݧ؀ڥ 

  104. ΦʔόʔϔουͷධՁ w)FMMP8PSME͢Δ͚ͩͷ)5.-ϑΝΠϧ wϦιʔε੍ޚಋೖ੍͠ݶΛ͠ͳ͍৔߹ͷΦʔόʔϔου wಉ࣌઀ଓ਺ɾ૯઀ଓ਺ສϦΫΤετ ະಋೖ࣌ɿSFTQPOTFTFD ɹಋೖ࣌ɿSFTQPOTFTFD 

  105. Ϧιʔε੍ޚͷਫ਼౓ධՁ w$16࢖༻͢Δ$(*΁ϦΫΤετ w$16ʹϦιʔε੍ޚ w$(*ͷ$16࢖༻࣌ؒΛมߋͯ͠ਫ਼౓Λൺֱ wੑೳ੍ޚ཰Λఆٛɿ wϨεϙϯε࣌ؒʢ੍ݶແ͠ʣϨεϙϯε࣌ؒʢ੍ݶ༗Γʣ wੑೳ੍ޚ཰͕ʹ͚ۙΕ͹ਖ਼੍͘͠ޚ͞Ε͍ͯΔ 

  106. 

  107. ষͷ·ͱΊ wϦΫΤετ୯ҐͰίϯϐϡʔλϦιʔεΛ෼཭ wϚϧνςφϯτํࣜͷΑ͏ʹϦΫΤετͰςφϯτΛಛ ఆ͠ॲཧ͢Δϓϩηε͸ڞ༗͢ΔΞʔΩςΫνϟʹ༗༻ wߴूੵϚϧνςφϯτํࣜʹ͓͍ͯैདྷݚڀΑΓ΋ཻ౓ ͷࡉ͔͍Ϧιʔε੍ݶΛద༻Ͱ͖Δ 

  108. ୈষ ·ͱΊ

  109. ·ͱΊ w8FCαʔόͷߴूੵϚϧνςφϯτํࣜʹؔ͢Δݚڀ ষͰηΩϡϦςΟͱӡ༻໘Λཱ྆ͨ͠ΞΫηε੍ޚͷݚڀ ষͰੑೳͱηΩϡϦςΟΛཱ྆ͨ͠ΞΫηε੍ޚͷݚڀ ষͰ8FCαʔόػೳ֦ுࢧԉػߏͷݚڀ ষͰ8FCαʔόͷϦιʔε੍ޚͷݚڀ 

  110. ߩݙ w8FCαʔόͷߴूੵϚϧνςφϯτํࣜͷجຊ֓೦ͱ՝୊ Λମܥతʹ੔ཧ͠ΞʔΩςΫνϟΛఏҊͯ͠ղܾ ηΩϡϦςΟɾੑೳɾϦιʔε੍ޚɾӡ༻ٕज़ͷ؍఺ wಛʹ8FCϗεςΟϯάαʔϏεΛର৅ʹΞʔΩςΫνϟͷ ࣮૷Λߦͬͯ044ͱͯ͠ެ։͠αʔϏε΁൓өɾվળ -JOVYΛ׆༻֤ͨ͠छ8FCαʔϏεͷߴ౓Խʹد༩ 

  111. 044ͱͯ͠ެ։ wୈষNPE@QSPDFTT@TFDVSJUZ wୈষNPE@NSVCZOHY@NSVCZͱ֤छNSVCZϞδϡʔϧ wୈষNSVCZDHSPVQ wੈքத͔Β֤छࣄྫΛ࿈བྷ௖͍͓ͯΓ·͢ 

  112. ࠓޙͷల๬ wࣗ཯తʹߴෛՙର৅Λಛఆ͠ద੾ͳ੍ݶΛߦ͏ػೳ w)551ͱ5-4ʹ࠷దͳΞʔΩςΫνϟͷݕ౼ wߴूੵϚϧνςφϯτͷେن໛ূ໌ॻ؅ཧ wඇಉظॲཧͷݖݶɾϦιʔε෼཭ΞʔΩςΫνϟ wNSVCZʹΑΔαʔό֦ுͷҰൠར༻ͷଅਐ

  113. ຊ࿦จʹؚ·ΕΔൃදจݙ ࿦จࢽ࿦จ 1 দຊ྄հ, Ԭ෦ णஉ, mod_mruby: εΫϦϓτݴޠͰߴ଎͔ͭলϝϞϦʹ֦ுՄೳͳWebαʔ όͷػೳ֦ுࢧԉػߏ, ৘ใॲཧֶձ࿦จࢽɼVol.55,

    No.11, pp.2451-2460, Nov 2014. 2 দຊ྄հ, Ԭ෦णஉ,εϨου୯ҐͰݖݶ෼཭Λߦ͏WebαʔόͷΞΫηε੍ޚΞʔΩςΫνϟ, ిࢠ৘ใ௨৴ֶձ࿦จࢽ Vol.J96-B, No.10, pp.1122-1130, Oct 2013. 3 দຊ྄հ, ઒ݪক࢘, দԬً෉, େن໛ڞ༗ܕWebόʔνϟϧϗεςΟϯάج൫ͷηΩϡϦςΟ ͱӡ༻ٕज़ͷվળ, ৘ใॲཧֶձ࿦จࢽ, Vol.54, No.3, pp.1077-1086, Mar. 2013. 
  114. ຊ࿦จʹؚ·ΕΔൃදจݙ ࠃࡍձٞൃදʢࠪಡ෇͖ʣ 1 Ryosuke Matsumoto, Yasuo Okabe, Access Control Architecture

    Separating Privilege by a Thread on a Web Server, The 12th IEEE/IPSJ International Symposium on Applications and the Internet (SAINT2012), pp.178-183, July 2012. 
  115. ຊ࿦จʹؚ·ΕΔൃදจݙ ޱ಄ൃද 1 দຊ྄հɾԬ෦णஉ, ϦΫΤετ୯ҐͰԾ૝తʹίϯϐϡʔλϦιʔεΛ෼཭͢ΔWebαʔό ͷϦιʔε੍ޚΞʔΩςΫνϟ, ৘ใॲཧֶձݚڀใࠂ Vol.2013-IOT-23, No.4, 2013೥9݄.