ç§ãã¡ã®ããŒã ã¯3幎以äžã«ããããäºæ¥è
ã®ãããã¯ãŒã¯ã®éèŠãªã³ã³ããŒãã³ãã§ãã
PCRFãéçºããŠããŸãã Policy and Charging Rules FunctionïŒPCRFïŒ-LTEãããã¯ãŒã¯ïŒ3GPPïŒã§å å
¥è
ãµãŒãã¹ããªã·ãŒã管çããããã®ãœãªã¥ãŒã·ã§ã³ãããã«ãããç¹å®ã®ããªã·ãŒããªã¢ã«ã¿ã€ã ã§å²ãåœãŠãå å
¥è
ã«æ¥ç¶ããããµãŒãã¹ã圌ã®å Žæããã®å Žæã®ãããã¯ãŒã¯å質ãèæ
®ã«å
¥ããããšãã§ããŸãçŸåšã®ç¬éãæå»ãæ¶è²»ãã©ãã£ãã¯éãªã© ãã®ã³ã³ããã¹ãã§ã¯ãããªã·ãŒãšã¯ãå å
¥è
ãå©çšã§ãããµãŒãã¹ã®ãµãã»ãããšQoSïŒãµãŒãã¹å質ïŒãã©ã¡ãŒã¿ãŒãæå³ããŸãã ãã®åéã®ããŸããŸãªãµãã©ã€ã€ãŒããã®ããŸããŸãªè£œåã®äŸ¡æ Œå質æ¯ãåæãã補åãéçºããããšã«ããŸããã ãããŠã2幎以äžã«ããããPCRFã¯Yotaåçšãããã¯ãŒã¯ã§æ£åžžã«åäœããŠããŸãã ãœãªã¥ãŒã·ã§ã³ã¯å®å
šãªãœãããŠã§ã¢ã§ãããéåžžã®ä»®æ³ãµãŒããŒã«ãã€ã³ã¹ããŒã«ã§ããŸãã Red Hat Linuxã®åçšã§åäœããŸãããäžè¬çã«ã¯ä»ã®Linuxã·ã¹ãã ã®äžã«ã€ã³ã¹ããŒã«ã§ããŸãã
PCRFã®ãã¹ãŠã®æ©èœã®äžã§ãæãæåãããã®ãèªããããŸããã
- Luaèšèªã«åºã¥ããå å
¥è
ããªã·ãŒã«é¢ããçŽæ¥çãªæææ±ºå®ã®ããã®æè»ãªããŒã«ãããã«ãããéçšãµãŒãã¹ã¯ããªã·ãŒå²ãåœãŠã¢ã«ãŽãªãºã ãç°¡åãã€ãªã³ã¶ãã©ã€ã§å€æŽã§ããŸãã
- ããŸããŸãªPCEF ïŒããªã·ãŒããã³èª²éé©çšæ©èœ-å å
¥è
ã®ããªã·ãŒãçŽæ¥èšå®ããã³ã³ããŒãã³ãïŒã DPI ïŒè©³çްãã±ããæ€æ»-ç¹ã«ãã©ãã£ãã¯ãã±ãããåæããããã®ã³ã³ããŒãã³ããã«ããŽãªããšã«æ¶è²»ãã©ãã£ãã¯éãèšç®ã§ããã³ã³ããŒãã³ãïŒã AF ïŒã¢ããªã±ãŒã·ã§ã³æ©èœ-ãããŒãèšè¿°ããã³ã³ããŒãã³ããµãŒãã¹ããŒã¿ãšããµãŒãã¹ã«å¿
èŠãªãªãœãŒã¹ã«é¢ããæ
å ±ïŒã ãããã®ãããã¯ãŒã¯ããŒãã¯ãã¹ãŠä»»æã®æ°ã§ã€ã³ã¹ããŒã«ã§ããå€ãã®ã»ãã·ã§ã³ãå å
¥è
ããšã«ããŸããŸãªãããã¯ãŒã¯ã³ã³ããŒãã³ããããµããŒããããŸãã ãã®çš®ã®æ©åšã®å€ãã®å€§æã¡ãŒã«ãŒãšå€ãã®IOTã宿œããŸããã
- ãããã¯ãŒã¯äžã«ããã·ã¹ãã çšã®å€éšã€ã³ã¿ãŒãã§ã€ã¹ã®ãã¡ããªãŒå
šäœãããã³ã·ã¹ãã ã§çºçãããã¹ãŠã®ããã»ã¹ã説æããç£èŠã·ã¹ãã ã
- ã¹ã±ãŒã©ããªãã£ãšããã©ãŒãã³ã¹ã
å®éããã®èšäºã®åŸåã§ã¯ãåŸè
ã®å€ãã®åºæºã®1ã€ã«ã€ããŠèª¬æããŸãã
6ãæåã«ãã¹ãçšã®
ç»åãæçš¿ãããªãœãŒã¹ããããé©åãª
ã©ã€ã»ã³ã¹ ãIOTã宿œããæ©åšãµãã©ã€ã€ãŒã®
ãªã¹ã ã補å
ããã¥ã¡ã³ãã®ããã±ãŒãž ãéçºçµéšã«é¢ããããã€ãã®è±èªã®èšäºïŒLuaã«ã€ããŠïŒããŒã¹ã®
ãšã³ãžã³ ããŸãã¯ãããŸããŸãª
ãã¹ããªã© ïŒã
ããã©ãŒãã³ã¹ã«é¢ããŠã¯ãå€ãã®è©äŸ¡åºæºããããŸãã ãªãœãŒã¹ã®ãã¹ãã«é¢ããèšäºã§ã¯ã䜿çšããè² è·ãã¹ããšããŒã«ã«ã€ããŠè©³ãã説æããŠããŸãã ããã§ãCPUã®äœ¿çšãªã©ã®ãã©ã¡ãŒã¿ãŒã§åæ¢ããããšæããŸãã
ãã¹ãã§åŸãããçµæã1ç§ããã3000ãã©ã³ã¶ã¯ã·ã§ã³ããã³æ¬¡ã®åœ¢åŒã®ã·ããªãªãšæ¯èŒããŸãã
- CCR-I-å å
¥è
ã»ãã·ã§ã³ã®ã»ããã¢ããã
- CCR-U-å å
¥è
ãæ¶è²»ãããã©ãã£ãã¯éã«é¢ããæ
å ±ã§ã»ãã·ã§ã³æ
å ±ãæŽæ°ããŸãã
- CCR-T-å å
¥è
ãæ¶è²»ãããã©ãã£ãã¯ã®éã«é¢ããæ
å ±ãå«ãã»ãã·ã§ã³ã®çµäºã
æšå¹Žã®ç¬¬1ååæã«ãªãªãŒã¹ããããŒãžã§ã³3.5.2ã§ã¯ããã®ã·ããªãªã®CPUè² è·ã¯éåžžã«é«ãã
80ïŒ
ã«éããŸããã çŸåšåçšãããã¯ãŒã¯äžã«ããããŒãžã§ã³3.6.0ã§ã¯
35ïŒ
ã« ãçŸåšå®å®å段éã«ããããŒãžã§ã³3.6.1ã§ã¯æå€§
27ïŒ
ã«äžããããšãã§ããŸããã

ãã®ãããªå€§ããªéãã«ãããããããå¥è·¡ãèµ·ããããšã¯ãããåçŽã«7ã€ã®åçŽãªæé©åãå®è¡ããŸãããããã«ã€ããŠã¯ã以äžã§èª¬æããŸãã ã䜿ãã®è£œåã§ã¯ãäžèšã®ããããã䜿çšããŠãCPU䜿çšçãåäžãããããšãã§ããŸãã
ãŸã第äžã«ãæé©åã®ã»ãšãã©ã¯ããŒã¿ããŒã¹ãšã¢ããªã±ãŒã·ã§ã³ããžãã¯ã®çžäºäœçšã«é¢ä¿ããŠãããšèšããããšæããŸãã ã¯ãšãªã®ããææ
®æ·±ã䜿çšãšæ
å ±ã®ãã£ãã·ã³ã°ãããããããç§ãã¡ãè¡ã£ãäž»ãªããšã§ãã ããŒã¿ããŒã¹ã¯ãšãªã®æéãåæããã«ã¯ãç¬èªã®ãŠãŒãã£ãªãã£ãäœæããå¿
èŠããããŸããã å®éã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã¯æåã«Oracle TimesTenããŒã¿ããŒã¹ã䜿çšããŸããããããã«ã¯éçºãããç£èŠããŒã«ãçµã¿èŸŒãŸããŠããŸããã ãŸããPostgreSQLãå®è£
ããåŸã1ã€ã®ããŒã«ã䜿çšããŠ2ã€ã®ããŒã¿ããŒã¹ãæ¯èŒããããšãæ£ãããšå€æããããããŠãŒãã£ãªãã£ãæ®ããŸããã ããã«ããã®ãŠãŒãã£ãªãã£ã䜿çšãããšãããŒã¿ãçµ¶ããåéããã®ã§ã¯ãªããå¿
èŠã«å¿ããŠããŒã¿ããªã³/ãªãã«ããããšãã§ããŸããããšãã°ãCPUè² è·ããããã«å¢å ããåçšãããã¯ãŒã¯äžã§ãçŸæç¹ã§åé¡ãçºçããŠããèŠæ±ãããã«åæããæ©èœããããŸãã
ãã®ãŠãŒãã£ãªãã£ã¯
tt_perf_infoãåŒã³åºãããªã¯ãšã¹ãã®ããŸããŸãªæ®µéã§è²»ããããæéãåçŽã«æž¬å®ããŸãïŒãã§ãããçŽæ¥å®è¡ã1ç§ãããã®åŒã³åºãæ°ãåèšæéã®å²åã æéã¯ãã€ã¯ãç§åäœã§è¡šç€ºãããŸãã ããŒãžã§ã³3.5.2ããã³3.6.1ã®äžäœ15ã®ã¯ãšãªã¯ããªã³ã¯ã®è¡šã§ç¢ºèªã§ããŸãã
3.5.2ããã153.6.1äžäœ15 ïŒãã®ããŒãžã§ã³ã®ç©ºã®ã»ã«ã¯å€0ã«å¯Ÿå¿ïŒ
æé©å1ïŒã³ãããã®æžå°
ç°ãªãããŒãžã§ã³ã§
tt_perf_infoã®åºåãæ³šææ·±ãèŠããšãpcrf.commitåŒã³åºãã®åæ°ã12006
幎ãã
1199åãã€ãŸã
10åã«æžå°ããŠããããšãããããŸãã ç§ãã¡ã®é ã«æµ®ããã éåžžã«æçœãªæ±ºå®ã¯ãããŒã¿ããŒã¹ã«å®éã«å€æŽããã£ããã©ããã確èªããããšã§ãããã³ãããã«å¯Ÿããè¯å®çãªåçã®å Žåã®ã¿ã§ããã ããšãã°ãUPDATEã¯ãšãªã®å ŽåãPCRFã¯å€æŽãããã¬ã³ãŒãã®æ°ããã§ãã¯ããŸãã 0ã®å Žåãã³ãããã¯è¡ãããŸããã DELETEã§ãåæ§ã§ãã
æé©å2ïŒMERGEãªã¯ãšã¹ãã®åé€
Oracle TimesTenã«åºã¥ããŠãMERGEãªã¯ãšã¹ããããŒãã«å
šäœã«ããã¯ãèšå®ããããšãããããŸããã çµ¶ããç«¶åããããã»ã¹ããŒãã«ã®æ¡ä»¶ã§ã¯ãæãããªåé¡ãçºçããŸããã ãã®ããããã¹ãŠã®MERGEèŠæ±ãGET-UPDATE-INSERTã®çµã¿åããã«çœ®ãæããŸããã ã¬ã³ãŒããããå Žåã¯æŽæ°ããããªãå Žåã¯æ°ããã¬ã³ãŒãã远å ãããŸãã ãã®ãã¹ãŠããã©ã³ã¶ã¯ã·ã§ã³ã§ã©ããããããšããããŸããã§ãããã倱æããå Žåã«é¢æ°ãååž°çã«åŒã³åºããŸããã æ¬äŒŒã³ãŒãã§ã¯ã次ã®ããã«ãªããŸãã
our_db_merge_function() { if (db_get() == OK) { if (db_update() == OK) { return OK; } else { return out_db_merge_function(); } } else { if (db_insert() == OK) { return OK; } else { return out_db_merge_function(); } } }
å®éã«ã¯ã1ã€ã®ã¬ã³ãŒãã§ç«¶åãçºçããããšã¯ã»ãšãã©ãªããããããã¯ã»ãšãã©åžžã«ååž°åŒã³åºããªãã§è§£æ±ºããŸãã
æé©å3ïŒãµãã¹ã¯ã©ã€ããŒã«ãã£ãŠæ¶è²»ããããã©ãã£ãã¯ã®éãèšç®ããããã®æ§æãã£ãã·ã¥
3GPP仿§ã«åŸã£ãŠæ¶è²»ããããã©ãã£ãã¯ã®éãèšç®ããã¢ã«ãŽãªãºã ã¯ãããªãè€éãªæ§é ãããŠããŸãã ããŒãžã§ã³3.5.2ã§ã¯ãèšå®å
šäœãããŒã¿ããŒã¹ã«ä¿åãããå€å¯Ÿå€ã®é¢ä¿ãæã€ããŒãšããããªãŒã®ç£èŠããŒãã«ã§æ§æãããŠããŸããã ã·ã¹ãã ã¯ãç°ãªãå€éšã·ã¹ãã ããã®ãã©ãã£ãã¯ã¢ãã¥ã ã¬ãŒã¿ãŒãPCRFã®1ã€ã®å€ã«èç©ããããšããµããŒããããã®èšå®ã¯ããŒã¿ããŒã¹ã«ä¿åãããŸããã ãã®çµæã环ç©ããªã¥ãŒã ã®æ¬¡ã®ããŒã¿ãå°çãããšãããŒã¹ã§è€éãªãµã³ãã«ãååŸãããŸããã
3.6.1ã§ã¯ãã»ãšãã©ã®æ§æã¯xmlãã¡ã€ã«ã§åãåºããããã®ãã¡ã€ã«ã®å€æŽã«é¢ããããã»ã¹ã®éç¥ãšãæ§ææ
å ±ããã®ãã§ãã¯ãµã ã®èšç®ãè¡ãããŸããã ãŸããçŸåšã®ãã©ãã£ãã¯ç£èŠãµãã¹ã¯ãªãã·ã§ã³æ
å ±ã¯ãåãŠãŒã¶ãŒã»ãã·ã§ã³ã«æ¥ç¶ãããblobã«ä¿åãããŸãã BLOBã®èªã¿åããšæžã蟌ã¿ã¯ãå€å¯Ÿå€ã®ãªã¬ãŒã·ã§ã³ã·ãããæã€ããŒãã«ã®èšå€§ãªéžæãããééããªãé«éã§ããªãœãŒã¹ãããŸãæ¶è²»ããŸããã
æé©å4ïŒãšã¯ã¹ããŒãLuaãšã³ãžã³ã®æ°ãæžãã
Luaãšã³ãžã³ã¯ãPCRFã§åŠçãããã¿ã€ãCCR-IãCCR-Uãããã³RARã®åãªã¯ãšã¹ãã«å¯ŸããŠåŒã³åºããããªã¯ãšã¹ãããŒã¿ã®åŠçæã«ãµãã¹ã¯ã©ã€ãã®ããªã·ãŒã倿Žãããå¯èœæ§ãé«ããããããªã·ãŒéžæã¢ã«ãŽãªãºã ãèšè¿°ããLuaã¹ã¯ãªãããå®è¡ããŸãã ãããããã§ãã¯ãµã ã®ã¢ã€ãã¢ã¯ããã§ãã®å¿çšãèŠã€ããŸããã ããŒãžã§ã³3.6.1ã§ã¯ãå®éã®ããªã·ãŒå€æŽãäŸåããå¯èœæ§ããããã¹ãŠã®æ
å ±ãå¥ã®æ§é ã«ä¿åãããã®ãã§ãã¯ãµã ã®èšç®ãéå§ããŸããã ãããã£ãŠããšã³ãžã³ã¯å®éã®å€æŽã®å Žåã«ã®ã¿çæ£ãå§ããŸããã
æé©å5ïŒããŒã¿ããŒã¹ããã®ãããã¯ãŒã¯æ§æã®åé€
ãããã¯ãŒã¯æ§æã¯ãPCRFã®æãå€ãããŒãžã§ã³ããããŒã¿ããŒã¹ã«ä¿åãããŸãã ãªãªãŒã¹3.5.2ã§ã¯ãè«çã¢ãžã¥ãŒã«ãããŒã¿ããŒã¹ããæ¥ç¶ãã©ã¡ãŒã¿ãŒã宿çã«èªã¿åãããããã¯ãŒã¯ããŒãããã¹ãŠã®ãããã¯ãŒã¯æ
å ±ã®ãªããžããªãšããŠããŒã¿ããŒã¹ã䜿çšãããããã¢ããªã±ãŒã·ã§ã³ããžãã¯ãšãããã¯ãŒã¯ããŒãã¯ããŒãã«ã®ãããã¯ãŒã¯èšå®ãšããªãéè€ããŠããŸããã ããŒãžã§ã³3.6.1ã§ã¯ããããã¯ãŒã¯éšåã®æ
å ±ãå
±æã¡ã¢ãªã«è»¢éãããããŒã¿ããŒã¹ã«å€æŽãå ãããããšãã«ãããæŽæ°ãã宿çãªããã»ã¹ãã¡ã€ã³ããžãã¯ã«è¿œå ãããŸããã ããã«ãããããŒã¿ããŒã¹å
ã®å
±éããŒãã«ã®ããã¯ãåæžãããŸããã
æé©å6ïŒéžæççŽåŸè§£æ
PCRFã¯ãDiameterãããã³ã«ã䜿çšããŠå€éšã·ã¹ãã ãšéä¿¡ããåäœæéããšã«å€ãã®ã³ãã³ããåæããã³è§£æããŸãã ãããã®ã³ãã³ãã«ã¯éåžžãå€ãã®ãã£ãŒã«ãïŒavpïŒãå«ãŸããŠããŸããããã¹ãŠã®ã³ã³ããŒãã³ãããã¹ãŠã®ãã£ãŒã«ããå¿
èŠãšããããã§ã¯ãããŸããã å€ãã®å Žåãã³ãã³ãã®æåã®ïŒããããŒïŒéšåããã®ããã€ãã®ãã£ãŒã«ãã®ã¿ã䜿çšãããŸãïŒå®å
/èµ·ç¹ãã¹ã/ã¬ã«ã ãªã©ïŒããŸãã¯ãµãã¹ã¯ã©ã€ããŒãŸãã¯ã»ãã·ã§ã³ãã€ãŸãidïŒå€ãã®å Žåå
é ã«ããããŸãïŒãèå¥ã§ãããã£ãŒã«ãã§ãã ãŸãã1ã€ãŸãã¯2ã€ã®ã¡ã€ã³ããã»ã¹ã®ã¿ããã¹ãŠã®ã¡ãã»ãŒãžãã£ãŒã«ãã䜿çšããŸãã ãããã£ãŠãããŒãžã§ã³3.6.1ã§ã¯ããã®ã³ã³ããŒãã³ãã«ã€ããŠã©ã®ãã£ãŒã«ããèªã¿åãå¿
èŠããããã説æãããã¹ã¯ãå°å
¥ãããŸããã ãŸããã»ãšãã©ãã¹ãŠã®ã¡ã¢ãªã³ããŒæäœãåé€ãããŸããã å®éãå
ã®ã¡ãã»ãŒãžã®ã¿ãã¡ã¢ãªã«æ®ã£ãŠããããã¹ãŠã®ããã»ã¹ã¯å¿
èŠãªéšåãžã®ãã€ã³ã¿ãæã€æ§é ã䜿çšããããŒã¿ã¯ããã»ã¹å
ã§å³å¯ãªå¿
èŠæ§ã«ãã£ãŠãã§ã«ã³ããŒãããŠããŸãã
æé©å7ïŒã¿ã€ã ãã£ãã·ã¥
PCRFã1ç§éã«10,000ãè¶
ãããã©ã³ã¶ã¯ã·ã§ã³ã®åŠçãéå§ãããšããã®ã³ã°ããã»ã¹ãæéãšCPUã®ããªãã®éšåãå ããããšãæããã«ãªããŸããã çç£æ§ãé«ããããã«ãã°ãç ç²ã«ããããšãã§ããŸããããªãã¬ãŒã¿ãŒã¯ãããã¯ãŒã¯ããã³ç¹å®ã®ã³ã³ããŒãã³ãã§çºçããŠããããšã®å
šäœåãåçŸã§ããå¿
èŠããããŸãã ãããã£ãŠãç§ãã¡ã¯åæã®ããã«åº§ã£ãŠããã°å
ã®æãé »ç¹ãªãšã³ããªãæ¥æã¹ã¿ã³ãã§ããããšãçºèŠããŸããã ãã¡ããããã¹ãŠã®ãã°ãšã³ããªã«ååšããŸãã æ¬¡ã«ãæéã®ç²ŸåºŠã1ç§ã«å¶éããçŸåšã®æéã§ã©ã€ã³ããã£ãã·ã¥ããæ¬¡ã®1ç§ã ãæžãæããŸãã
ãããã®7ã€ã®æé©åã¯ãã¹ãŠãçµéšè±å¯ãªé«æ§èœéçºè
ã«ãšã£ãŠã¯ãåçŽæå¿«ã§ããããšã¯ééããããŸããã 圌ãããã®ããã«æããŸãããããããå®çŸãå®çŸãããšãã ãã§ãã æè¯ã®è§£æ±ºçã¯ãã°ãã°è¡šé¢ã«ãããŸãããèŠã«ããã§ãã ã ããç§ã¯èŠçŽããŸãïŒ
- ããŒã¿ãå®éã«å€åããŠããããšã確èªããŠãã ããã
- ããŒãã«å
šäœã®ããã¯æ°ãæå°éã«æããŠãã ããã
- ããŒã¿ããŒã¹ããæ§æããŒã¿ããã£ãã·ã¥ããŠåé€ããŸãã
- ãªã¹ãå
šäœãäœæããæ¹ãç°¡åã ãšæãããå Žåã§ããæ¬åœã«å¿
èŠãªã¢ã¯ã·ã§ã³ã®ã¿ãå®è¡ããŠãã ããã