Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Table of Contents

Scope

This page provides information around gNMI and its possible usage for efficient data steaming from network-functions to data-consumers (e.g. SMO-OAM).

Sequence

PlantUML Macro
formatPNG
width600
exportNameo-ran-gnmi-proposal-for-streaming
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
' Copyright 2021 highstreet technologies GmbH
' This work is licensed under a Creative Commons Attribution 4.0 International License.
' SPDX-License-Identifier: CC-BY-4.0
' https://creativecommons.org/licenses/by/4.0/deed.en

@startuml data-streaming-with-gnmi

' Diagram 
title 
  Data Streaming with gNMI: Usage proposal for dicussiondiscussion
  gNMI -> yang based gRPC -> HTTP2, protobuf/yang
  (https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md) 
end title

box "SMO" #gold 
  participant "data-collector\ngNMI-client" as client 
end box 

box “O-RAN” #lightpink 
  participant "network-function\ndata-provider\ngNMI-server\ntarget" as server 
end box 

autonumber 1 1 "<b>[00]" 

== Subscription ==

client -> server: RPC subscribe\nwith SubscribeRequest
activate server
note right
  SubscribeRequest: {
    subscribe: [
      {
        mode: STREAM,
        subscription:[
          {
            path: <xPath0>,
            mode: ON_CHANGE
          }, 
          ...
        ],
        allow_aggregation: TRUE,
        updates_only: TRUE,
  }
end note
server -> client: RESPONSE SubscribeResponse
note left
SubscribeResponse: {
  timestamp: <timestamp>,
  update: [{<xPath>, <value>}, ...]
}
The first response with including an error message acts a bases for all later updates.
end note


== Data StremaingStreaming ==

loop ON_CHANGE
  server -> client: RESPONSE SubscribeResponse
  note left
  SubscribeResponse: {
    timestamp: <timestamp>,
    update: [{<xPath>, <value>}, ...]
  }
  end note
end loop

== The End ==

client -> server: cancel the HTTP2 session
deactivate server


' End Diagram
' Format
left footer 
  <img:https://media-exp1.licdn.com/dms/image/C560BAQH0qSJJi67N4g/company-logo_200_200/0/1606867328974?e=2159024400&v=beta&t=OybMqHsK24YCp_WeGC10qJWJp-tsHu2GnjuF5gEeGSM{scale=0.2}>  Copyright 2021 highstreet technologies USA Corp.
  .              This work is licensed under a Creative Commons Attribution 4.0 International License.
  .              SPDX-License-Identifier: CC-BY-4.0
  .              2021-10-1001 | o-ran-sc.org oam project | Thanks to PlantUML!
end footer

skinparam backgroundColor #fefefe
'skinparam handwritten true
skinparam roundcorner 15

skinparam database  {
    BorderColor #444444
    BackgroundColor #ffffdd
    FontColor #444444
}

skinparam note  {
    BorderColor #444444
    BackgroundColor #ffff88
    FontColor #444444
}

skinparam sequence {
  MessageAlign left
  ArrowColor #2277dd
  ArrowFontColor #444444
  ArrowThickness 2
  ActorBorderColor #444444
  LifeLineBorderColor #444444
  LifeLineBackgroundColor #eeeeee
  LifeLineBackgroundColor #eeeeee
 
  BoxBorderColor #444444
    
  GroupBorderColor #444444
  GroupBackgroundColor #eeeeee
  
  ParticipantBorderColor #444444
  ParticipantBackgroundColor #ffffdd
  ParticipantFontColor #444444
    
  ActorBackgroundColor #ffffdd
  'ActorFontColor DeepSkyBlue
  'ActorFontSize 17
  'ActorFontName Aapex
}

@enduml