笹éšãŒããžããããïŒãã®ããŒãžã§ã¯ïŒãŒããžã®é å±åžæãæ€èšããŠããã¿ãªããã«åããŠïŒæçãšæãããæ å ±ããŸãšããŠããŸãïŒ ãªãã£ã¹ã¢ã¯ãŒãžã®åå åã«ãã²ç®ãéããŠã¿ãŠãã ããïŒïŒå 容ã¯éææŽæ°ããŠãããŸãïŒïŒ
質åçãããã°ïŒsasabe[at]kansai-u.ac.jpå®ã«ã¡ãŒã«ã§é£çµ¡ããŠãã ããïŒ
ãªãã£ã¹ã¢ã¯ãŒã¯ã¿ãªããããŒãã®ããšãç¥ãããã®éèŠãªæ©äŒã§ãïŒ ç ç©¶å 容ã ãã§ã¯ãªãïŒæå¡ã®æå°æ¹éãªã©ãå«ããŠïŒèªåã«åã£ãŠãããã©ããã確èªããå ŽãšããŠå©çšããŠãã ããïŒ
2024幎床ã®ãªãã£ã¹ã¢ã¯ãŒã¯çµäºããŸããïŒ
40åçšåºŠ/åãäºå®ããŠããŸãïŒç ç©¶å å®¹ïŒæå°æ¹éãªã©ããã¡ããã玹ä»ãïŒãã®åŸïŒè³ªåã«å¯Ÿå¿ããäºå®ã§ãïŒ
笹éšã®çµæŽã¯ãã¡ãã«èŒããŠããŸããïŒæ å ±ç§åŠã®åéïŒç¹ã«æ å ±ãããã¯ãŒã¯ãäžå¿ã«ç ç©¶ã«åãçµãã§ããŸãïŒ é¢è¥¿å€§åŠç·åæ å ±åŠéšã«ã¯2023幎4æããçä»»ããŠããŸãïŒ1幎çåãã®ãœãããŠã§ã¢å®ç¿ïŒå°å ¥ãŒã以å€ã«ïŒæ°å€ã»æ°éè§£æïŒ2幎çïŒïŒããŒãå¥ç ç©¶: æ°çæé©åã«ãããããã¯ãŒã¯èšèšïŒ2, 3幎çïŒïŒããŒããŠã§ã¢ã¢ãŒããã¯ãã£ïŒ3幎çïŒïŒãã€ããã©ãŒãã³ã¹ã»ãããã¯ãŒãã³ã°ïŒå士åæèª²çšïŒã®ç§ç®ãæ åœããŠããŸãïŒ
æè¿ã®äž»ãªããŒãã«é¢ããŠã¯ç ç©¶ã®ããŒãžã«ãŸãšããŠããŸãïŒãããŸã§ã«ãããããªç ç©¶ããŒãã«åãçµãã§ããŠããŸããïŒç§ã®èå³ã®æ¬è³ªã¯ïŒãè€éãªã·ã¹ãã ãã©ã®ããã«æé©åã§ããããïŒãæ§ã ãªææãæã£ã人ã ãååšããäžã§ïŒã©ã®ããã«ïŒç€ŸäŒããããã圢ã«å°ãïŒãããæç¶ã§ããããã«ãããŸãïŒãã®ãããªå顿èã«å¯ŸãïŒæé©åã»ã²ãŒã çè«ã»æ©æ¢°åŠç¿ãšãã£ãæ°ççææ³ãšæå 端ã®ããã°ã©ãã³ã°ã»ãããã¯ãŒã¯æè¡ãé§äœ¿ããããšã§ïŒã¹ããŒããªè§£æ±ºçãæš¡çŽ¢ããŠããŸãïŒ ç ç©¶ããŒãã«ãã£ãŠç ç©¶ãžã®åãçµã¿æ¹ïŒã¢ãããŒãïŒãç°ãªããŸããïŒããã€ãå ·äœäŸã瀺ããŸãïŒ
å€§èŠæš¡ã³ã³ãã³ãé ä¿¡ã®ããã®ãããã¯ãŒã¯æé©åã®ããŒãã®å ŽåïŒé ä¿¡ãµãŒãããåãŠãŒã¶ç«¯æ«ãžã®ã³ã³ãã³ãã®æµãæ¹ãæé©ååé¡ãšããŠã¢ãã«åãïŒãããPython + PuLPãçšããŠããã°ã©ãã³ã°ãïŒæ§ã ãªã·ããªãªã®äžã§è©äŸ¡ïŒèå¯ããïŒãšãããããªæµãã«ãªããŸãïŒæé©ååé¡ã¯ïŒãå¶çŽæ¡ä»¶ã®äžïŒæ±ºå®å€æ°ãå¶åŸ¡ããããšã§ç®ç颿°ãæå€§åïŒæå°åïŒããããšããæ çµã¿ã§ããïŒç§éã®ç€ŸäŒã«ãããå€ãã®åé¡ã¯ãããç°å¢ã«ãããŠïŒäœããå¶åŸ¡ããããšã§ç®çãéæããããšæããããšãã§ãïŒããã¯æé©ååé¡ã®æ çµã¿ã«åœãŠã¯ãŸããŸãïŒãã®ãããªèãæ¹ãçè§£ïŒå®è·µã§ããããã«ãªããšïŒèªåèªèº«ãèå³ã®ããæ§ã ãªåé¡ã«å¿çšã§ããããã«ãªããŸãïŒ
ã²ãŒã çè«ã«åºã¥ãå©å·±çæé©å¶åŸ¡ã®ããŒãã§ã¯ïŒåè¿°ã®æé©åãšã²ãŒã çè«ã®èãæ¹ãçµåããç ç©¶ãšãªããŸãïŒäŸãã°ïŒã«ãŒããã§ç®çå°ãŸã§ã®çµè·¯ãéžæããå ŽåïŒåã ã®ãŠãŒã¶ãšããŠã¯ïŒç®çå°ãŸã§ã®å°éæéãçãïŒãšæåŸ ã§ããïŒçµè·¯ãéžæãããªã©ïŒåççãªå€æãè¡ã£ããšããŠãïŒçµæçã«ç¹å®ã®éè·¯ã«ãã©ããã¯ãéäžãïŒæžæ»ãçããå¯èœæ§ããããŸãïŒãã®ããã«ïŒåã ã®æææ±ºå®ã瀟äŒãã·ã¹ãã å šäœã«ã©ã®ãããªäžããã®ããåæããããã«ã¯ïŒã²ãŒã çè«ã®æ çµã¿ãé©ããŠããŸãïŒããã§ïŒãŠãŒã¶ãç¥èŠããæ å ±ãå€ããããšã§ïŒåççãªå€æã«å€åãçããå¯èœæ§ããããŸãïŒå©å·±çæé©å¶åŸ¡ã§ã¯ïŒãŠãŒã¶ã®ç¥èŠããæ å ±ãé©åã«å¶åŸ¡ããããšã§ïŒãŠãŒã¶ã®åçç倿ã®äžïŒç€ŸäŒãã·ã¹ãã å šäœãšããŠæãŸããç¶æ³ãå®çŸããããšãç®æããŠããŸãïŒä»¥äžã®ãããªããšãå®çŸããããã«ã¯ïŒæé©åãã²ãŒã çè«ãšãã£ãæ°ççææ³ã«ããåé¡ã®ã¢ãã«åããããè©äŸ¡ããããã®èšç®æ©ã·ãã¥ã¬ãŒã·ã§ã³ãªã©ãå¿ èŠã«ãªããŸãïŒãªãïŒãã®ããã«ïŒå©å®³ã®ç°ãªã倿°ã®ãŠãŒã¶ãããªãã·ã¹ãã ã®æååæã»å¶åŸ¡ã«é¢ããŠã¯ïŒæ å ±ãããã¯ãŒã¯ãªã©ä»ã®åéã«ãããŠãéèŠãšãªãç ç©¶ããŒããšãªããŸãïŒ
Beyond 5Gãæ¯ããæç¶å¯èœãªNFVãããã¯ãŒã¯ã®ããŒãã§ã¯ïŒå€æ§åãããããã¯ãŒã¯ã»ãµãŒãã¹ãè¿ éãã€æè»ã«ïŒãŸãïŒæç¶å¯èœãªåœ¢ã§æäŸããããã®åºç€æè¡ã®æ€èšããããã¯ãŒã¯æ©èœä»®æ³å(Network Functions Virtualization: NFV)ãäžå¿ã«é²ããŠããŸãïŒãµãŒããéä¿¡ãªã³ã¯ãšãã£ãæéã®è³æºãæ§ã ãªãµãŒãã¹ã«é©åã«å²ãåœãŠãããã«ã¯æé©åã®èãæ¹ãéèŠãšãªããŸãïŒãŸãïŒãµãŒãã¹ã®éèŠã¯ãŠãŒã¶ã®æåã«ããæéçã»ç©ºéçã«å€åããããïŒããããç¹åŸŽãæ©æ¢°åŠç¿ã«ããæãïŒå¶åŸ¡ãžãšæŽ»çšããå¿ èŠããããŸãïŒããã«ã¯ïŒããããã¢ã€ãã¢ãå ·çŸåããããã«ïŒextended Berkeley Packet Filtere (BPF), eXpress Data Path (XDP), Cloud-native Network Function (CNF)ãªã©ã®æå 端ã®ãããã¯ãŒã¯æè¡ãšã®é£æºã«åãçµãã§ããŸãïŒLinuxã«ãŒãã«ã®å®è£ ãæ¡åŒµã«èå³ããããšããã³ã¢ãªäººãæè¿ããŸãïŒ
äººãšæ©åšã®èåã«åºã¥ããªã¹ã¯èæ ®åèªåé¿é£æ¯æŽã®ããŒãã§ã¯ïŒäººãšã¹ããŒããã©ã³ã®é£æºã«ããèªåé¿é£èªå°ã®å®çŸãå°çããã°ããŒã¿ã掻çšããé路網ã®ãªã¹ã¯åæãªã©ã«åãçµãã§ããŠããŸãïŒåè ã«ãããŠã¯ïŒã¹ããŒããã©ã³ã«ããèªå°ãšããã«å¯Ÿããé¿é£è ã®å¿çïŒç§»åè»è·¡ïŒãšã®äžèŽã»äžäžèŽããé路網ã®ç¶æ ãèªåçã«æšå®ãïŒãã®ç¥èŠããããã¯ãŒã¯ãä»ããŠé¿é£è éã§å ±æããããšã§é¿é£ãæ¯æŽããä»çµã¿ãææ¡ãããšãšãã«ïŒãã®æå¹æ§ãJavaã«ããèšç®æ©ã·ãã¥ã¬ãŒã·ã§ã³ãã¹ããŒããã©ã³ã»ã¢ããªã®éçºã»å®éšãéããŠè©äŸ¡ããŠããŸãïŒåŸè ã«é¢ããŠã¯ïŒåå€å±åžãªã©äžéšã®èªæ²»äœã«ããæäŸãããŠããïŒå€§èŠæš¡çœå®³ã«ããéè·¯æ¯ã®éå¡ãªã¹ã¯ã®ããŒã¿ãåºã«ïŒè¿ éãã€å®å šãªé¿é£ãå®çŸããããã®ïŒçµè·¯ãé¿é£æã®éžæåé¡ãªã©ãåãæ±ã£ãŠããŸãïŒé路網ãé ç¹ãšèŸºãããªãã°ã©ãæ§é ãšããŠæããããšã§ïŒPython + Graphillionã軞ã«ïŒçµè·¯ã®åæãä¿¡é Œæ§ã®èšç®ãªã©ãè¡ããããã«ãªããŸãïŒ
ãããã¯ãã§ãŒã³ã·ã¹ãã ã®ãããã¯ãŒã¯ã»ãã¥ãªãã£ã®ããŒãã§ã¯ïŒBitcoinã«ä»£è¡šãããæå·é貚ã·ã¹ãã ã«ãããŠæ¡çšãããŠããïŒäžç¹å®å€æ°ã®ãŠãŒã¶éã§ã®åæåœ¢æã¡ã«ããºã ã«çç®ããæ€èšãè¡ã£ãŠããŸãïŒBitcoinã§ã¯ïŒãã€ããŒãå ±é ¬ãç²åŸããããã«ã¯ïŒProof of work (PoW)ãšåŒã°ããïŒé«é£åºŠã®ããºã«çèšç®ã«ããæ£åœãªãããã¯ãçæããã ãã§ãªãïŒãã®ãããã¯ãè¿ éã«ãããã¯ãŒã¯å ã«æ¡æ£ãïŒä»è ããã®åæãåŸãå¿ èŠããããŸãïŒè¿å¹ŽïŒæ£èŠã®æ¡æ£ãããã³ã«ãæªçšããããšã§ïŒç«¶äºçæ¡æ£ã劚害ãããªã¹ã¯ãææãããŠããŸãïŒãã®ç ç©¶ã§ã¯ïŒæ¡æ£åŠšå®³ãªã¹ã¯ãææçäŒæã¢ãã«ã«çæ³ãåŸãstandby-interrupted-retrieved-attackable (SIRA)ã¢ãã«ãšããŠæ°ãã«ã¢ãã«åãïŒPythonã«ããæ°å€èšç®ã«ãããªã¹ã¯ãè©äŸ¡ãããšãšãã«ïŒæ»æã®åŠç¿ã«ããæ©ææ€ç¥ã»åé¿ææ³ã«ã€ããŠãæ€èšãïŒJavaã«ããèšç®ã·ãã¥ã¬ãŒã·ã§ã³ã«ãããã®å¹æãè©äŸ¡ããŠããŸãïŒ
äžèšã¯ãããŸã§ãããŸã§ã®ç ç©¶ããŒãã®äŸãšãªããŸãïŒå®éã«ã¿ãªãããåãçµãç ç©¶ããŒãã«ã€ããŠã¯ïŒåå¥ã«çžè«ã決ããŠããããšã«ãªããŸãïŒ è©³çŽ°ã«ã€ããŠã¯ïŒåæ¥ç ç©¶ã«ã€ããŠã埡芧ãã ããïŒ
ãããŸã§ã®ç ç©¶ææïŒéèªè«æïŒåœéäŒè°ïŒåœå ç ç©¶äŒã»å€§äŒãªã©ïŒãéå»ã®æå°åŠçã®åŠäœè«æïŒåå£«è«æïŒä¿®å£«è«æïŒåæ¥è«æïŒã®æ å ±ã«ã€ããŠã¯æ¥çžŸã®ããŒãžã«èŒããŠããŸãïŒ
åºæ¬çã«ã¯ïŒãèªèº«ã®éçã«ææŠãïŒãããè¶ ãããããšãç®æããæå°ãå¿ãããŠããŸãïŒããã¯ç§èªèº«ã®çµéšã«åºã¥ããã®ã§ãïŒ
4幎çã§åãçµã忥ç ç©¶ã¯ïŒãããŸã§ã®éåžžã®è¬çŸ©ãšã¯ç°ãªãïŒèª²é¡å 容ããã®è§£æ±ºæ³ãèªåèªèº«ã§èãïŒåãçµãå§¿å¢ãæ±ããããŸãïŒèªèº«ã®èªç±ãªçºæ³ã§1ã€ã®ããšã«ãã£ããåãçµããã®ã忥ç ç©¶ã®é åã§ããïŒäžæ¹ã§ïŒèª²é¡ã解決æ³ãèªãèãããšããããšã¯ïŒæç¢ºãªçããïŒãã®æç¹ã§ã¯ïŒååšããªãåé¡ã«åãçµããšããããšã§ããïŒæã«ã¯ïŒãšããããå€ãã®æéã¯ïŒãªããªãæãããã«é²ãŸãªãããšãããã§ãããïŒãã®ãããªç¶æ³ãä¹ãè¶ããããã«ã¯ïŒãšã«ãã詊è¡é¯èª€ãéèŠã§ãïŒãã¡ããç ç©¶ãå§ããæç¹ã§æ§ã ãªããšãçèãïŒããã®æç¹ã§ãé©åãšèãããã解決çãæ€èšããããã§ããïŒå®éã«ãã®è§£æ±ºçã詊ããŠã¿ããšïŒåœåã¯æãè³ããªãã£ããããªèª²é¡ãæ°ãã«çºèŠãããå¯èœæ§ããããŸãïŒãããããšïŒæ°ããªç¥èŠãå ã«ïŒèª²é¡ãšè§£æ±ºçã忀èšã»åè©äŸ¡ããïŒãšããããã«è©Šè¡é¯èª€ãæ±ããããŸãïŒãããç¹°ãè¿ãããšã§ïŒåŸã ã«ãèªåãªãã®çãããžãšè¿ã¥ããŠããããšãã§ããã®ã§ããïŒãŽãŒã«ãèŠããªãéã¯ïŒãã®è©Šè¡é¯èª€ã粟ç¥çãªè² æ ã«ãªãããšããããŸãïŒè¡ãè©°ãŸã£ããšãã«ã¯ïŒãã®ããšãæãåºããŠæ¬²ããã®ã§ããïŒãã®ãããªè©Šè¡é¯èª€ã¯æ±ºããŠç¡é§ãªããšã§ã¯ãªãïŒã¿ãªããã«ãšã£ãŠã®æé·ã®ç€ã«ãªããšããããšã§ãïŒ
人ã«ãã£ãŠäŸ¡å€èŠ³ã¯æ§ã ã§ãïŒãšãããã忥ã§ããã°ããã§ããïŒãšããèãæ¹ã®äººããããããããŸããïŒãã ïŒãŒãã«éããïŒè¥ããã¡ã«ã§ããã ãå€ãã®çµéšãç©ãã§ãããæ¹ãïŒèªåèªèº«ã®å°æ¥ã®éžæè¢ãåºããããšã¯ééããªããšæããŸãïŒèª°ãããè¥ãããšãããå¯èœæ§ããæã£ãŠããŸããïŒãè¥ããã«ã¯éããããïŒãŸãïŒãå¯èœæ§ãã磚ããªããã°ãæªæ¥ãã«ã¯ç¹ãããŸããïŒå€±æãæããïŒèªåã®éçã«ææŠããŠã¿ãŸãããïŒããããèãæ¹ã«å ±æã§ããåŠçã®çãããåŸ ã£ãŠããŸãïŒ
ç ç©¶ãé²ããã«ããã£ãŠã¯ïŒæç®èª¿æ»ãä»ããèæ¯ç¥èã®ç²åŸãããã°ã©ãã³ã°ã»ã¹ãã«ãªã©åºç€çãªåãšïŒç ç©¶ããŒãæ¯ã«æ±ãããã課é¡è§£æ±ºèœåãå¿ èŠã«ãªããŸãïŒ ãã®å ïŒåºç€çãªåã«é¢ããŠã¯ïŒ3幎çã®å°éæŒç¿ã«ãããŠïŒæå¡åŽã®ã¬ã€ãã®äžïŒãŒãçå šå¡ã§ååããªããåãçµã圢ãšãªããŸãïŒ äžæ¹ïŒèª²é¡è§£æ±ºèœåã«é¢ããŠã¯ããããã®ç ç©¶ããŒãã«æ²¿ã£ãå°éæ§ãæ±ããããããïŒç¬¹éšãšã®åå¥çžè«ãäžå¿ãšãªãäºå®ã§ãïŒ ïŒå°æ¥çã«ã¯ïŒããŒãéã®é¡äŒŒæ§ãå ã«ïŒåŠå¹Žéã§éå±€çãªçµç¹äœå¶ã圢æã§ããã°ãšèããŠããŸãïŒïŒ
3幎çã®å°éæŒç¿ã§ã¯ïŒåæ¥ç ç©¶ã«åããåºç€çãªåã身ã«ã€ããããšãåªå ããŸãïŒå ·äœçã«ã¯ïŒ(1)éçºç°å¢ïŒVS Code, ä»®æ³ç°å¢ïŒDockerïŒPython, LaTeXãªã©ïŒã®æ§ç¯ïŒ(2)èå³ã®ããè«æïŒåæã»è±æïŒã®èª¿æ»ïŒè«æã®ç²ŸèªïŒèª¿æ»ããå 容ã«ã€ããŠã®çºè¡šã»è°è«ïŒ(3) paizaãæŽ»çšããããã°ã©ãã³ã°ã»ã¹ãã«ã®åäžãªã©ãäžå¿ã«ïŒåèªãäž»äœçã«åæ¥ç ç©¶ã«åãçµããããã«ãªãããšãç®æããŸãïŒè«æã®èª¿æ»ãé²ããéçšã§ïŒèªèº«ã®èå³ãšèªåã®åŸæåéããããããããã«ç ç©¶åéãçµã蟌ãã§ããïŒ3幎çã®çµãããŸã§ã«åæ¥ç ç©¶ã®ããŒããæ±ºå®ããŸãïŒ
忥ç ç©¶ã¯åèªïŒåå¥ã®ããŒãã«åãçµãåœ¢ãæ³å®ããŠããŸãïŒ ç ç©¶ãšã¯ïŒããç©äºã«é¢ããŠæ·±ãèãïŒèª¿ã¹ïŒççãæããã«ããããšãªã®ã§ïŒèªåèªèº«ãèå³ãæãŠãå 容ã§ãªããšç¶ç¶ããããšãé£ããã§ãïŒ ãã®ããïŒ3幎çã®å°éæŒç¿ã«ãããŠïŒèªåèªèº«ãæã¡èŸŒããããªããŒããèŠã€ããããšãç®æšãšããŠããŸãïŒ ãã®éïŒãç ç©¶å 容ã»ã¢ãããŒãã«ã€ããŠãã§ç޹ä»ããŠããç ç©¶ããŒããšé¢é£ãäœãããªããŒãã§ãïŒãµããŒãã§ããå¯èœæ§ã¯ãããŸãã®ã§ïŒçããã®æè»ãªçºæ³ã«æåŸ ããŠããŸãïŒ
忥ç ç©¶ã¯ïŒã¿ãªããã®èªç±ãªçºæ³ã®äžïŒæéããããŠåãçµãããšãã§ãããšããç¹ã§è²Žéãªçµéšã«ãªããšæããŸãïŒ ãã®çµéšã¯å°æ¥ã®èªåã«ãšã£ãŠã®è²¡ç£ãšãªãã ãã§ãªãïŒåŠéšåã§ã®å°±è·ãèããŠãã人ã«ãšã£ãŠãïŒå°±è·æŽ»åã®éã®èªå·±PRãšããŠãå©çšã§ããŸãã®ã§ïŒåæ¥ç ç©¶ãã¿ãªããã®æé·ã®å ŽãšããŠç©æ¥µçã«æŽ»çšããŠããããã°ãšæããŸãïŒ ãŸãïŒãã®éçšã§æŽã«ç ç©¶ãé²ããŠã¿ãããšæã£ãå Žåã«ã¯ïŒå€§åŠé¢ãžã®é²åŠãæ€èšããŠã¿ãŠãã ããïŒ
ã©ã®ãããªç ç©¶ããŒãã«åãçµãã«ããŠãïŒå¥œããªã¿ã€ãã³ã°ã§æå ã§ãããããªããšã詊ãããšãã§ããããïŒèªåèªèº«ã®ããœã³ã³ãããããšãæãŸããã§ãïŒç¬¹éšã¯æ®æ®µããmacOSãäžå¿ãšããç°å¢ã§äœæ¥ãè¡ã£ãŠããŸãïŒïŒLinuxãWindowsãäžéšå©çšããŠããŸãïŒïŒOSã«ã€ããŠã¯æå®ããŸãããïŒmacOSã§ããã°ç ç©¶éçºç°å¢ã«é¢ããŠã¢ããã€ã¹ãåŸãããããåããããã¡ãªããã¯ãããŸãïŒ
å€§èŠæš¡ãªæ°å€èšç®ãã·ãã¥ã¬ãŒã·ã§ã³ïŒå®æ©ã«ããå®èšŒå®éšãªã©ïŒç¹å¥ãªæ©æãå¿ èŠã«ãªã£ãå Žåã¯ïŒäºç®ãèšçœ®å Žæã®å¶çŽãèæ ®ããäžã§ïŒã§ããéãç ç©¶èšåãçšæããäºå®ã§ãïŒ
以äžã®ããšã¯åžžã«å¿ãããããã«ããŠãã ããïŒ