Upgrade to Pro — share decks privately, control downloads, hide ads and more …

E2E Observability for Connected Vehicle Servic...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for thatsdone thatsdone
December 06, 2023

E2E Observability for Connected Vehicle Services Including 5G Cellular Network U-Plane Troubles

I gave this talk at OSSJ2023 (Open Source Summit Japan 2023).
The primary distribution site of this presentation is:
https://sched.co/1Tyrm
Talk video is also available there.

Avatar for thatsdone

thatsdone

December 06, 2023
Tweet

More Decks by thatsdone

Other Decks in Technology

Transcript

  1. #OSSummit E2E Observability for Connected Vehicle Services including 5G Cellular

    Network U-Plane Troubles Masanori Itoh, Toyota Motor Corporation Kota Endo, KDDI Corporation
  2. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Contents

     Introduction – Overview of E2E Communication of Connected Vehicles –  Challenges & Motivation  Related Works / Former Works  Problem Statement  Resolutions and Ideas  POC  Future Works  Summary 2
  3. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Overview

    of E2E Communication of Connected Vehicles Trend : CASE – Connected, Autonomous, Shared/Service, Electric Data : Real-time/Batch processing, Data Accumulation CAN(Sensor data) , Camera data, … Server Side Architecture : Public Cloud, On-premise, Edge Offload… = Hybrid Cloud Connectivity : Cellular, WiFi, V2X, … 3 Internal Developers Customers Wi-Fi Cellular Mobile NW Backbone NW DynamicMap Data Processing(CAN/Camera) Data Accumulation Edge Offload Hybrid Cloud OTA, Center Driven Control, .. Edge Offload
  4. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Challenges

    and Motivation Challenges  We can address Issues/Troubles in Vehicle and/or Center side. But…  On Network Troubles, there are not many things we can do. We receive lots of customer calls claiming, but… It’s not easy to figure out even WHERE the network trouble occurred Motivation  If we work with Network Service Providers(MNO), we can: Make the Connected Vehicle Service more robust Reduce E2E Service Level Recovery Time 4
  5. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Requirements

    from Connected Vehicles Service side On a trouble, Connected Vehicle Service Providers want to identify:  Areas where vehicle communication is affected (Where)  Vehicles that get affected from the trouble (Which)  What kind of communication trouble? (What/How)  Intermittent or Persistent trouble, for example  When the trouble occurred and is expected to be resolved (When) 5 Excerpt from KubeConNA 2023 Presentation, “E2E Observability for Connected Vehicle Service via Distributed Tracing”  Requirements from Mobile Network Operator side Systems with large number of users constantly connected Provided for IoT devices such as connected car Accountability for the failure impact and the extent to which customers were affected when the failure occurred
  6. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Our

    Activities – Related Works/Former Works Various Collaborations 6 Open Collaboration Partner Collaboration Open Source AGL, OpenChain, etc. AECC, 3GPP/ETSI, ISO, ASAM, Academic Organizations… KDDI, various vendors/servicers
  7. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Related

    Works AECC : Automotive Edge Computing Consortium (https://aecc.org)  An Open Collaborative Activity for promoting Edge Computing focusing on Automotive Use Cases, with POCs 7 Vehicle System Connected Car Vehicle System Connected Car Vehicle System Connected Car Vehicle System Connected Car Cellular Network Edge Server Pre- processing Cloud Edge Server Pre- processing Moving logs Biometric Sensors Cameras Cruising Data Sensor Data Control Data Intelligent Driving Enterprise Network CAN
  8. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Former

    Works (1) – 5GS C-Plane Observability  “E2E Observability for Connected Vehicle Service via Distributed Tracing” (KubeCon NA 2023@Chicago)  Ref : https://kccncna2023.sched.com/event/1R2oh  Focus Points & Results  5GS C-Plane side Observability for Trouble Shooting using Distributed Tracing  Point: Correlate 5G UE Identifier and Vehicle Identifier in C-Plane  5GS Stack / Observability Stack / Infra – Free5GC / UERANSIM / ONAP » https://free5gc.org/ » https://github.com/aligungr/UERANSIM » https://www.onap.org/ – OpenTelemetry, Grafana Loki/Tempo… » https://opentelemetry.io/ » https://grafana.com/oss/tempo/ – kubernetes / OpenStack… 8
  9. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Former

    Works (2) – Application Layer Observability A POC System Overview of Connected Vehicles Service gNB#1 W A N Location #1 (on-premise) Location #2 (on-premise) Public Cloud #1 CAN Camera DynamicMap Others… LB Ops Subsystem Pseudo Vehicle Pseudo Vehicle (generator) Edge#1(Region #2) Auth GW Dispatcher Offload Process Slice#1 (Lat.) Auth GW For Fallback W A N Data Accumulation Edge#2(Region #2) Auth GW Dispatcher Offload Process UE#1 Slice#2 (B/W) UPF#2 UPF#1 Dedicated Line Pseudo Vehicle (generator) UE#1 Slice#1 (Lat.) Slice#2 (B/W) OCI /etc. Public Cloud#2 UPF#2 UPF#1 Fail Over gNB#2 gNB#2 gNB#1 Orchestr ation gNB#1 Dedicated Line/VPN Dedicated Line/VPN Dedicated Line 9
  10. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Former

    Works (2) – Application Layer Observability A POC System Overview of Connected Vehicles Service 10 gNB#1 W A N Location #1 (on-premise) Location #2 (on-premise) Public Cloud #1 CAN Camera DynamicMap Others… LB Ops Subsystem Peeudo Vehiclea Pseudo Vehicle (generator) Edge#1(Region #2) Auth GW Dispatcher Offload Process Slice#1 (Lat.) Auth GW For Fallback W A N Data Accumulation Edge#2(Region #2) Auth GW Dispatcher Offload Process UE#1 Slice#2 (B/W) UPF#2 UPF#1 Dedicated Line Pseudo Vehicle (generator) UE#1 Slice#1 (Lat.) Slice#2 (B/W) OCI /etc. Public Cloud#2 UPF#2 UPF#1 Fail Over gNB#2 gNB#2 gNB#1 Orchestr ation gNB#1 Dedicated Line/VPN Dedicated Line/VPN Dedicated Line Boxes with red dashed line are Subsystems in question
  11. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Former

    Works (2) – Application Layer Observability  A Simplified View of a part of the Upper Layer System: Object Detection for movie data from vehicle onboard cameras  Application : mTLS (NGINX) w/ OCSP + Spark + Kafka + TensorFlow + S3(compat. storage)  Infra: Kubernetes(1.27.x), OpenStack(Yoga), Ubuntu 22.04(LTS)  Ops Subsystem: Prometheus + ElasticSearch + Jaeger/OpenTelemetry object- detection-api movie-kafka divide-video image-kafka detect-image detect-service generator VMs pygen mTLS Front (ingress) Camera Data Processing Center Accumlation Center (*) Each pod is consists of multiple containers 11 Object Detection Subsystem (k8s) Ops Subsystem Metrics Log Trace Front Subsystem (k8s) Multiple Components running distributed manner  Not so easy to monitor
  12. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. 

    Observability Solution : OpenTelemetry  https://openetelemetry.io/  Conceptual Components  Aggregator, Collector, Pipeline, …  Trace/Span, …, Metrics, Log  Data Flow  North-South : Export Trace data – Application  Trace Aggregator (through Collectors)  East-West : Pass Caller Information: Context Propagation – Application (Caller)  Application (Callee) » A Span has to know its parent span (Caller) – ContextPropagation over HTTP is standardized at W3C (traceparent format)  Inter Trace Correlation : Links (Not directly making a span as a child of caller, but add reference)  Practical Design Point  How to Instrument: Emit Trace Span and Propagate Context Information – Manual (w/Modifications to Applications) or Automatic (w/o Modifications to Applications) Collector Former Works (2) – Application Layer Observability Collector Aggregator Application #1 (Emits Trace Spans) Aggregator (non OTEL) Application #2 (Emits Trace Spans) 12 Pipeline Receiver Exporter Processor Instrumentation Instrumentation Context Propagation
  13. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Former

    Works (2) – Application Layer Observability An example of Distributed Trace of a POC application to process Camera data 13 Object Detection Subsystem Camera Data Upload Event TRIP : from Engine Start to Stop Camera Data Upload Operation Camera Data Upload Completion handler Invokes Object Detection Subsystem Asynchronously Current Effort: Trace Based Anomaly Detection & Prediction (To Appear Somewhere in ‘24)
  14. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Problem

    Statement – Break Down  Problems to be Addressed  Application Layer Troubles are OK, But Need to address Network Troubles (including U-Plane)  Assumptions  MNO does health monitoring of C/U-Plane NFs  User (Connected Vehicle Servicer) Side knows:  Identifiers(IMSI(SUPI)…), Current Location, Route Plan (e.g., Destination, Schedule), …  Motivations/Reasons  Detailed Requirements  If we can get U-Plane trouble information with UE granularity earlier, we can take Proactive Actions, sending/retrieving necessary information/command in prior, for example.  Even if it’s difficult to forecast failures/troubles, failure location and vehicle location is normally apart. Thus, we can take Actions Proactively. Recap(slide5) : Requirements from Connected Vehicles Service side  On a trouble, Connected Vehicle Service Providers want to identify: Areas where vehicle communication is affected (Where) Vehicles that get affected from the trouble (Which) What kind of communication trouble? (What/How) When the trouble was happened and is expected to be resolved (When) 14
  15. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. 5GS

    U-Plane Quick Overview  Many NF (Network Function) components  NRF, AMF, SMF, UPF, gNodeB, UE, …  Two Phases until up/down link Traffic  (1) UE Registration  Mostly C-Plane  Addressed by the KDDI Team – Have a look at their slide deck  (2) PDU Session Establishment  U-Plane entities (UPF/gNodeB) are configured by C-Plane entities (AMF/SMF) 15 3GPP TS 23.502 version 15.3.0 Release 15
  16. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Ideas

    and Resolution  TODO  Get list of PDU Sessions per UPF/gNodeB basis, and extract affected our own SUPI(IMSI)s from them  Initial Ideas  (1) Get PDU Session Information (with SUPI(IMSI)) from NFs via REST API  Could be called this function as a kind of NEF?  (2) Use OpenTelemetry Automatic Instrumentation  Two choices – OpenTelemetry otel-go-instrumentation (https://github.com/open-telemetry/opentelemetry- go-instrumentation) – Grafana Labs Beyla Automatic Instrumentation (https://github.com/grafana/beyla)  KDDI Team took Manual Instrumentation approach to address non-HTTP 5GS communication(NGAP/PFCP) 16
  17. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Ideas

    and Resolution  Reality  (1) Free5GC NFs implementations do not return sufficient information   (2) Golang (in which Free5GC is written) Automatic Instrumentation has limitations   Even HTTP (not NGAP/PFCP) could not be instrumented enough  Current Status / (Work Around) Resolution  Monitor Log files of NFs (especially AMF and SMF), and extract necessary information in realtime  A custom Log Parser of Free5GC NFs which can emit trace data with SUPI(IMSI) and to be correlated later 17
  18. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. 

    5GS Stack  Free5GC v3.3.0 w/go 1.21.1 + gtp5g  UERANSIM git+3a96298 (’23/5/9)  Ubuntu 22.04.1(amd64)  Deployment  2 Slices per Tracking Area  2 Tracking Areas  Simple VM deployment  No containerization (for now) POC – Setup UPF#1-1 VM (free5gc-poc-up-11) 192.168.1.11) VM(free5gc-poc-ue-1) 192.168.63.1 uesimtun0 VM(free5gc-poc-cp-1) 192.168.0.11 NRF SMF#1 uesimtun1 SNAT boundary (iptables MASQUERADE) SMF#2 VM (free5gc- poc-cp-2) AMF UE#1 NRF Static NAT boundary (Floating IP) UPF#1-2 gNB#1-2 gNB#1-1 .1.211 upfgtp 18 upfgtp VM#3 (free5gc-poc-up-12) 192.168.1.12) .1.111 N11 : HTTP N3 : GTP-U (udp 2152) N4 : PFCP (udp 8805) N2 : NGAP (sctp 38412) Radio Link Simulation (udp 4997) Tracking Area #1 Tracking Area #2 Tracking Area #3 : : .1.212 .1.112 VM (free5gc- poc-cp-3)
  19. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. 

    Procedure(1)  Follow UERANSIM/Free5GC documentation  Procedure(2) (TIP 0)  (1) Create UEs without PDU Sessions (Initial Registration Only)  Use a configuration with NULL ‘sessions:’ and ‘default-nssai:’ section  (2) Initiate PDU Session Establishment Request (per slice)  Using nr-cli, invoke PDU Session Establishment request  TIP: Use double quotation(“) to group sub-command – https://github.com/aligungr/UERANSIM/wiki/Usage POC – Procedure 19 $ nr-cli imsi-208930000012345 --exec “ps-establish IPv4 0x01 0x010203 internet11” # 0x01 : sst (Slice and Service Type) # 0x010203 : sd (Slice Differenciator) # Internet11 : dnn UE configuration example --- supi: 'imsi- 208930000000003' mcc: '208' mnc: '93' (snip) gnbSearchList: - 192.168.1.211 (snip) sessions: configured-nssai: - sst: 0x01 sd: 0x010203 - sst: 0x01 sd: 0x112233 default-nssai: integrity: (snip) Make these sections empty Make these sections empty
  20. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. POC

    – Analysis  Analysis – Log Based Analysis  User Plane Function and UE association is managed by SMF 20 $ grep -E ¥(PduSess¥|GIN¥) 20231127-1-free5gc-pdu-session-success-smf.log time="2023-11-27T16:04:22.923623330+09:00" level="info" msg="Receive Create SM Context Request" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:22.927806025+09:00" level="info" msg="In HandlePDUSessionSMContextCreate" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:22.928808304+09:00" level="trace" msg="State[InActive] -> State[InActive]" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:22.930953619+09:00" level="trace" msg="State[InActive] -> State[ActivePending]" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:22.931518587+09:00" level="debug" msg="S-NSSAI[sst: 1, sd: 010203] DNN[internet11]" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:22.938366848+09:00" level="info" msg="Send NF Discovery Serving UDM Successfully" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:22.970142403+09:00" level="trace" msg="Send NF Discovery Serving AMF successfully" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:22.971051987+09:00" level="trace" msg="findPSAandAllocUeIP" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:22.975311711+09:00" level="info" msg="Allocated PDUAdress[10.241.0.1]" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:23.028520457+09:00" level="debug" msg="Install SessionRule[SessRuleId-1]: &{AuthSessAmbr:0xc00005ac80 AuthDefQos:0xc00005aca0 SessRuleId:SessRuleId-1 RefUmData: RefCondData:}" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:23.029753661+09:00" level="info" msg="Has no pre-config route" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:23.030725335+09:00" level="trace" msg="In AllocateLocalSEIDForDataPath" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.031665952+09:00" level="trace" msg="NodeIDtoIP: 192.168.1.111" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.032432749+09:00" level="trace" msg="In ActivateTunnelAndPDR" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.033283688+09:00" level="trace" msg="DataPath Meta Information¥nActivated: false¥nIsDefault Path: true¥nHas Braching Point: false¥nDestination IP: ¥nDestination Port: ¥nDataPath Routing Information¥n1th Node in the Path¥nCurrent UPF IP: 192.168.1.111¥nPrevious UPF IP: None¥nNext UPF IP: None¥n" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.035178231+09:00" level="trace" msg="Current DP Node IP: 192.168.1.111" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.037023448+09:00" level="warning" msg="No Create URR" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.038764297+09:00" level="trace" msg="Current DP Node IP: 192.168.1.111" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.039538734+09:00" level="trace" msg="Before DLPDR OuterHeaderCreation" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.041489662+09:00" level="info" msg="| 201 | 192.168.0.11 | POST | /nsmf-pdusession/v1/sm-contexts | " CAT="GIN" NF="SMF" time="2023-11-27T16:04:23.041964494+09:00" level="info" msg="Sending PFCP Session Establishment Request" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.043417128+09:00" level="trace" msg="[SMF] Send SendPfcpSessionEstablishmentRequest" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.043899656+09:00" level="trace" msg="Send to addr 192.168.1.111:8805" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.066085696+09:00" level="info" msg="Received PFCP Session Establishment Accepted Response" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.099668947+09:00" level="trace" msg="State[ActivePending] -> State[Active]" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:23.112868164+09:00" level="info" msg="Receive Update SM Context Request" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.114583438+09:00" level="trace" msg="State[Active] -> State[ModificationPending]" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:23.116560933+09:00" level="trace" msg="State[ModificationPending] -> State[PFCPModification]" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:23.117479738+09:00" level="trace" msg="In case PFCPModification" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:23.129293784+09:00" level="info" msg="Received PFCP Session Modification Accepted Response from AN UPF" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:23.130259009+09:00" level="trace" msg="In case SessionUpdateSuccess" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:23.131363584+09:00" level="trace" msg="State[PFCPModification] -> State[Active]" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" time="2023-11-27T16:04:23.132523645+09:00" level="info" msg="| 200 | 192.168.0.11 | POST | /nsmf-pdusession/v1/sm-contexts/urn:uuid:474a7f9e-f223-4981-a748-cbe82a1b5a06/modify | " CAT="GIN" NF="SMF"
  21. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. POC

    – Analysis  Analysis – TIPs for Log analysis  TIP 1  Common Tags: time, level, msg, CAT (CATegory), NF (Network Function)  TIP 2  Additional Tags: pdu_session, supi (=IMSI) for CATegory=“PDUSess” log lines  TIP 3  Category “GIN”? Is HTTP Access Log (GIN is a Golang REST API Framework) 21 time="2023-11-27T16:04:22.923623330+09:00" level="info" msg="Receive Create SM Context Request" CAT="PduSess" NF="SMF" time="2023-11-27T16:04:22.928808304+09:00" level="trace" msg="State[InActive] -> State[InActive]" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi- 208930000000003" time="2023-11-27T16:04:23.041489662+09:00" level="info" msg="| 201 | 192.168.0.11 | POST | /nsmf-pdusession/v1/sm-contexts | " CAT="GIN" NF="SMF"
  22. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. POC

    – Analysis  Analysis – Log Lines of Interest  UPF Facility Identifier (Name/IP) and UE Identifier (SUPI/IMSI) correspondence can be found in SMF logs 22 level="trace" msg="findPSAandAllocUeIP" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003" level="debug" msg="check start UPF: UPF1-1" CAT="CTX" NF="SMF" level="debug" msg="check start UEIPPool(10.241.0.0/17)" CAT="CTX" NF="SMF" level="info" msg="Allocated UE IP address: 10.241.0.1" CAT="CTX" NF="SMF" level="info" msg="Selected UPF: UPF1-1" CAT="CTX" NF="SMF" level="info" msg="Allocated PDUAdress[10.241.0.1]" CAT="PduSess" NF="SMF" pdu_session_id="1" supi="imsi-208930000000003“ level="trace" msg="NodeIDtoIP: 192.168.1.111" CAT="PduSess" NF="SMF" Selected UPF name for the UE An excerpt from SMF log with ‘log level = trace’. timestamp (time=“YYMM…”) column is omitted for simplicity. Allocated UE IP Address UE Identifier, SUPI (IMSI) (optional) UPF (Underlay) IP address
  23. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. 

    Monitoring System Prototype – Log Monitor + Trace Shipper  Watch SMF log files, extract PDU Session - UPF mapping and send it out as a Trace span. The mapping is queried to identify blast-radius (affected UEs) on U-Plane failures. POC – Monitoring System Prototype 23 Trace Aggregator / Analyzer Establish PDU Session Log Watch Tool (Trace Shipper) Vehicle Mobile Network SMF Send Trace (w/SUPI) Log Time Send Trace (w/UPF+SUPI) Watch Write AMF … PDU Session Setup (not online) Init Registration Correlate Traces using SUPI, and Identify Vehicle/Location etc. U-Plane Failure On U-Plane failures, Lookup Trace Aggregator and extract suffered UEs (=Vehicles) list DB: VIN IMEI/IMSI DB: Vehicle Loc. / etc. Keep Alive
  24. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. POC

    – Monitoring System Prototype  Log Watch Tool Example Output 24 {"time": "2023-12-05T07:48:25.411976661+09:00", "level": "info", "msg": "Allocated UE IP address: 10.241.0.6", "NF": "SMF", "CAT": "CTX"} {"time": "2023-12-05T07:48:25.412720710+09:00", "level": "info", "msg": "Selected UPF: UPF1-1", "NF": "SMF", "CAT": "CTX"} {"time": "2023-12-05T07:48:25.413436458+09:00", "level": "info", "msg": "Allocated PDUAdress[10.241.0.6]", "NF": "SMF", "CAT": "PduSess", "pdu_session_id": "2", "supi": "imsi-208930000000002"} # Found U-Plane/PDU Session mapping: UPF: UPF1-1 SUPI: imsi-208930000000002 pdu_session_id: 2 IP(UE): 10.241.0.6 { "name": null, "context": { "trace_id": "0x4419c8cca82561d8b52116276b202ee8", "span_id": "0x396829beeaa73eae", "trace_state": "[]" }, "kind": "SpanKind.INTERNAL", "parent_id": null, "start_time": "2023-12-05T02:35:34.698170Z", "end_time": "2023-12-05T02:35:34.698250Z", "status": { "status_code": "OK" }, "attributes": { "supi": "imsi-208930000000002", "pdu_session_id": "2", "ue_ip": "10.241.0.6", "selected_upf": "UPF1-1" }, "events": [], "links": [], "resource": { "attributes": { "service.name": "free5gc-parse.py" }, "schema_url": "" } } OpenTelemetry Trace/Span Data (By ConsoleExporter, normally exported to remote server) Mapping information of UE and UPF is exported as trace attributes. Processed (parsed) Free5GC SMF Log Lines
  25. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. POC

    – Evaluation  Result  After receiving a UPF failure, confirmed to receive a set of the failed UPF identifier and affected UE identifiers (SUPI/IMSI) mapping information within a second  Practically, this time lag should depend on heartbeat timeout of NFs  Current Limitations  Cannot handle gNodeB information (at the moment)  In case of Free5GC + UERANSIM: – gNodeB failure can be recovered via gNodeB Hand-Over – UPF failures require InitRegistration again  Cannot handle tiered UPF (w/I-UPF) topology (at the moment) 25
  26. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Works

    In-Progress & Next Step 1. (Work In-Progress) Blush-up Design and Implementation of the Prototype  Resolve restrictions, dashboard, Integration with other Observability Stack  Or try other 5GS stack implementations (OAI etc.) 2. (Middle Term) Explore more sophisticated Information Retrieval (& Workflow)  Best way is to rely on Standardized API of 3GPP/ETSI (if possible) 3. (Middle Term) Improve Performance & Scalability  Up to millions of vehicles out of tens of millions of MNO subscribers  Failure Notification Latency (less than a minute) 4. (Long Term) Propose to Telco Equipment Vendors/Integrators/MNOs  Explore 3GPP spec. and Contribute to Free5GC or try other 5GS Open Source Stacks 26
  27. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Summary

     Proved it’s possible to Notify Users UE granularity U-Plane Failure Information  With the notification, Connected Vehicle Service Providers can take actions Proactively if the failure is ahead of the of Vehicles  Without any modifications to 3GPP protocol  This time, watched log lines sequence and extracted UE/U-Plane Function mapping (but to be improved more)  In General  Observability via Distributed Tracing is quite Useful and Important  Contributed 5GS Open Source Stack (and others) via reporting & posting fixes 27
  28. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Appendix

     Span Links – Record Correlation across OpenTelemetry Spans  In case not a direct child, Links can be used to record indirect relationship (Such as Causal relationship)  https://opentelemetry.io/docs/concepts/signals/traces/#span-links 28 Trace (1) Trace (2) Point Other Trace(s) as Link(s) References (List of Links) Useful for aggregating traces across system domains (e.g. Network and Application)
  29. Copyright © 2023 TOYOTA MOTOR CORPORATION All rights reserved. Appendix

     RLS : Radio Link Simulation  An encapsulation of Cellular Traffic over UDP  UERANSIM internal protocol  Wireshark dissector bundled 29 https://github.com/louisroyer/RLS-wireshark-dissector RLS of UERANSIM (over UDP) is dissected and displayed Application Traffic through UE using the Assigned IP address from 5GS