RIC Applications | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PTL | ||||||||||||||||||||||
Summary | This includes open source sample xAPPs and platform applications that can we used for integration, testing, and demonstrations. | |||||||||||||||||||||
Project | ric-app/ad - Anomaly Detection xApp (C-D release - HCL) ric-app/bouncer - xApp for RIC performance benchmarking (D release - HCL) ric-app/hw - HelloWorld C++ demo xApp including a demo E2 SM (HelloWorld SM) (B-D releases - AT&T) ric-app/hw-go - HelloWorld go demo xApp (D release - Samsung) ric-app/hw-python - HelloWorld python demo xApp (D release - Samsung) ric-app/lp - Load Prediction xApp (D release - CCMC) ric-app/mc - Measurement Campaign xApp (B-D release - AT&T) - note: This xApp depends on input feed (X2 events in protobuf format) that is currently not provided by any open source xApp. (Note: com/gs-lite contains the GS-Lite stream processing library used by MC). ric-app/qp - QoE Prediction xApp (trivial versions in earlier releases, real ML in D release - AT&T, HCL) ric-app/ts - Traffic Steering xApp (B-E releases - AT&T, UTFPR) ric-app/kpimon-go - KPI Monitor xApp uses an extended version of the E2 KPM SM to collect metrics from E2 Node (C-D releases - Samsung) scp/ric-app/ssp - Signal Storm Protection xApp (on hold due to patent issue - Samsung) NOTES:
| |||||||||||||||||||||
Weekly Meeting | RIC project meetings are open to the public and held on Tuesdays at noon UTC. World Time Zone Map Zoom 1 Info:
| |||||||||||||||||||||
Demos | Pendulum Video of Near Real Time RIC in Action | |||||||||||||||||||||
MC-xAPP demo |
Recent space activity
Space contributors
RIC Applications | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PTL | Sunil Kumar Singh | |||||||||||||||||||||
Summary | This includes open source sample xAPPs and platform applications that can we used for integration, testing, and demonstrations. | |||||||||||||||||||||
Project | ric-app/ad - Anomaly Detection xApp (C-D release - HCL) ric-app/bouncer - xApp for RIC performance benchmarking (D release - HCL) ric-app/hw - HelloWorld C++ demo xApp including a demo E2 SM (HelloWorld SM) (B-D releases - AT&T) ric-app/hw-go - HelloWorld go demo xApp (D release - Samsung) ric-app/hw-python - HelloWorld python demo xApp (D release - Samsung) ric-app/lp - Load Prediction xApp (D release - CCMC) ric-app/mc - Measurement Campaign xApp (B-D release - AT&T) - note: This xApp depends on input feed (X2 events in protobuf format) that is currently not provided by any open source xApp. (Note: com/gs-lite contains the GS-Lite stream processing library used by MC). ric-app/qp - QoE Prediction xApp (trivial versions in earlier releases, real ML in D release - AT&T, HCL) ric-app/qp-driver -QP driver xApp - collects input data for QP from SDL layer (B-C releases - functionality merged in the QP xApp starting D Release - AT&T, HCL) ric-app/ts - Traffic Steering xApp (B-D releases - AT&T, Parana University) scp/ric-app/kpimon - KPI Monitor xApp uses an extended version of the E2 KPM SM to collect metrics from E2 Node (C-D releases - Samsung) scp/ric-app/ssp - Signal Storm Protection xApp (on hold due to patent issue - Samsung) NOTES:
| |||||||||||||||||||||
Weekly Meeting | RIC project meetings are open to the public and held on Tuesdays at noon UTC. World Time Zone Map Zoom 1 Info:
| |||||||||||||||||||||
Demos | Pendulum Video of Near Real Time RIC in Action | |||||||||||||||||||||
MC-xAPP demo |
Recent space activity
14 Comments
user-59b16
Uploading RICAPP progress report on behalf of Matti. He is having Confluence publishing issues.
sudipta singha
Hi
I am trying to deploy Admission control xapp . After cloning the ric-app/admin repo ,I have checked the installation_guide.rst that says " Pre-requisite software packages that must be installed prior to compiling are documented in the Dockerfile (and also in README under src/) in the repository ".
So instead of doing manually if I just run the Dockerfile sript it is showing following errors.
Please help me to understand how to proceed and in which path the following packages to be installed in the admin repository.
1. mdclog : a logging library
2. rmr : RIC message router (if installing on the deb package, next generation nano msg must be separately installed)
3. rapidjson : a header only file for manipulation of json.
4. libcurl : the libcurl header and library for posting to a web-server
5. gcc (version > 4.x) .. has not been tested with other compilers as of now
Matti Hiltunen
Hi Sudipta,
Thank you for your interest on the AC xApp. AC xApp was part of the OSC Amber release but it was not part of the Bronze release because it was not updated to the latest E2 specs. It is not currently part of any of the OSC use cases, so it has not been kept up to date. In case you are interested in updating the AC xApp for some purpose, let me know and we can discuss.
Matti
sudipta singha
Thanks for your quick reply. Yes I am interested .Please update the ACxapp .
What I understood is ric-app/admin is under amber release and it is not part of bronze. Is it possible to clone the it/dep repository with bronze release for installing near realtime RIC platform and subsequently clone ric-app/admin with amber release? can I deploy the admission control xapp like that?
sudipta singha
Also in the ric-app/admin Dockerfile , this path is mentioned which is empty
Siddeshi Revanasiddappa
I am trying to run kpimon from cherry release, RIC_SUB_REQ request is successfully reaching "submgr" from xapp and in submgr I can see unpacking and packing of this request is done.
However in i see below error logs, and the request is not reaching "e2term". Could anyone help me on this?
{"log":"{\"ts\":1610619597909,\"crit\":\"INFO\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:19:57\"},\"msg\":\"MSG to E2T: (retry 0) transsubs(trans(1/meid(RanName=gnb_734_733_b5c67788))) params(Src= Mtype=12010 SubId=1 Xid= Meid=meid(RanName=gnb_734_733_b5c67788) Paylens=44/44 Paymd5=34d7dae49e10500df8b53f6ecd4cd323)\"}\n","stream":"stdout","time":"2021-01-14T10:19:57.909856462Z"}
{"log":"{\"ts\":1610619597909,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:19:57\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:19:57.909864961Z"}
{"log":"{\"ts\":1610619597909,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:19:57\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:19:57.909872699Z"}
{"log":"{\"ts\":1610619598399,\"crit\":\"INFO\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:19:58\"},\"msg\":\"restapi: method=GET url=/ric/v1/health/ready\"}\n","stream":"stdout","time":"2021-01-14T10:19:58.399621586Z"}
{"log":"{\"ts\":1610619598410,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:19:58\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:19:58.410198922Z"}
{"log":"{\"ts\":1610619598910,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:19:58\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:19:58.910588192Z"}
{"log":"{\"ts\":1610619599410,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:19:59\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:19:59.410922693Z"}
{"log":"{\"ts\":1610619599911,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:19:59\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:19:59.911191444Z"}
{"log":"{\"ts\":1610619600411,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:20:00\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:20:00.41155312Z"}
{"log":"{\"ts\":1610619600911,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:20:00\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:20:00.911805894Z"}
{"log":"{\"ts\":1610619601411,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:20:01\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:20:01.412086377Z"}
{"log":"{\"ts\":1610619601912,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:20:01\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:20:01.912471762Z"}
{"log":"1610619602 1/RMR [DBUG] 1610619602 1/RMR [INFO] rmr_rtc: sending table state: (OK \u003cid-missing\u003e \n","stream":"stderr","time":"2021-01-14T10:20:02.147030332Z"}
{"log":") state=0 whid=0 table=(null)\n","stream":"stderr","time":"2021-01-14T10:20:02.14704402Z"}
{"log":"1610619602 1/RMR [DBUG] 1610619602 1/RMR [INFO] rmr_rtc: sending table state: (OK \u003cid-missing\u003e \n","stream":"stderr","time":"2021-01-14T10:20:02.147292151Z"}
{"log":") state=0 whid=0 table=(null)\n","stream":"stderr","time":"2021-01-14T10:20:02.147301498Z"}
{"log":"{\"ts\":1610619602412,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:20:02\"},\"msg\":\"rmrClient: SendBuf failed -\u003e [tp=6] 2 - send/call could not find an endpoint based on msg type\"}\n","stream":"stdout","time":"2021-01-14T10:20:02.41276409Z"}
{"log":"{\"ts\":1610619604913,\"crit\":\"DEBUG\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:20:04\"},\"msg\":\"SUBS-SubReq: Response handling event(NIL) transsubs(trans(1/meid(RanName=gnb_734_733_b5c67788))) subs(reqid(123:1)/meid(RanName=gnb_734_733_b5c67788)/service-ricxapp-xapp-pw-lb-rmr.ricxapp:4560) transxapp(trans(0/meid(RanName=gnb_734_733_b5c67788))/transkey(service-ricxapp-xapp-pw-lb-rmr.ricxapp:4560/)/1001)\"}\n","stream":"stdout","time":"2021-01-14T10:20:04.913239704Z"}
{"log":"{\"ts\":1610619604913,\"crit\":\"INFO\",\"id\":\"submgr\",\"mdc\":{\"time\":\"2021-01-14T10:20:04\"},\"msg\":\"SUBS-SubReq: internal delete due event(NIL) transsubs(trans(1/meid(RanName=gnb_734_733_b5c67788))) subs(reqid(123:1)/meid(RanName=gnb_734_733_b5c67788)/service-ricxapp-xapp-pw-lb-rmr.ricxapp:4560) transxapp(trans(0/meid(RanName=gnb_734_733_b5c67788))/transkey(service-ricxapp-xapp-pw-lb-rmr.ricxapp:4560/)/1001)\"}\n","stream":"stdout","time":"2021-01-14T10:20:04.913298247Z"}
{"log":"InitiatingMessage ::= {\n","stream":"stdout","time":"2021-01-14T10:20:04.913306378Z"}
Thanks
Siddesh
Wei-Chi Chen
Hi
I am trying to run the QP xApp + QP-Driver xApp + Traffic xApp and I get the error message in the qp xApp showing the connection error (host=r4-influxdb.ricplt, port=8086). Does it relate to ricplt-influx-meta-0 being in Pending state? Or there are other problems I have to deal with. Please help me because I want to run the QP xApp in v0.0.4.
Thanks for your help,
Wei-Chi
Matti Hiltunen
Is the inFlux DB running on your RIC platform?
FYI. If you are using the latest (Dawn) version, you do not need the QP-driver xApp any more since the functionality has been integrated in the QP xApp itself.
Wei-Chi Chen
Hi Matti
The inFlux DB pod is always in the pending state. I have looked for solutions in the o-ran wiki but still cannot let it run.
On the other hand, if I run in the Dawn version and I would like to run the traffic xapp, do I only need the ts xapp & qp xapp?
Thanks for your help,
Wei-Chi
Matti Hiltunen
In the Dawn Release, you do not need the QP-driver. However, the use case has been slightly modified in the Dawn use case in the sense that the AD (Anomaly Detection) xApp triggers the process when it detects an anomaly in a UE's performance. It will communicate the anomaly to TS, which will then request a throughput prediction from QP. Based on the prediction, the TS xApp will request a handover. However, we still do not have the E2SM RC implemented in the Dawn release, so for Dawn release, TS will issue a REST call to the Viavi simulator (which is not part of open source). I will see if I can find help for you on the inFlux issue.
Wei-Chi Chen
Hello Matti
The log messages after I type in "kubectl describe pod -n ricplt ricplt-influxdb-meta-0" are shown below. Please help me with this. I really appreciate for your help.
Thanks for your help,
Wei-Chi
tonkripton@gmail.com
Hi
May I know the reasoning of using Isolation Forest model in AD xApp? Also i want to ask why we have to do both anomaly detection and degradation classification too. I interested to improve the model in AD xApps
Matti Hiltunen
I will leave the detailed questions to the folks who designed and implemented the xApp (Deepanshu Karnwal ) - we could discuss supporting different models in this xApp (if it is easy to just plug in a different trained model in this xApp) or potentially creating a new repo for a different anomaly detection xApp (e.g., detecting different types of anomalies).
Deepanshu Karnwal
Reason behind using Isolation forest were : It has small memory requirement comparative to other models and computationally inexpensive. Since we are going to have huge amount of data in 5G(in mili-seconds) these points going to make difference. Also on the dataset we have used, Isolation Forest were outperforming other algorithms. Since latency is one of most important feature of 5G Anomaly detection algorithm(unsupervised in nature) filters anomalous samples. Also we are interested in to drill down to parameters(radio/throughput etc.) which are changing drastically or having problems to take action upon them, hence need of degradation type.
In Future release we can include functionality for supporting different/custom models.