Versions Compared

Key

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

References

Use case overview and impacted components are described in the 5G OOF PCI optimization main wiki page.

1. Architecture

The architecture below depicts the SON-Handler MS as a part of DCAE. Only the relevant interactions and components are shown.

...

This is a PostgreSQL DB, and is intended to persist information such as the following:

  • PCI-Handler MS Config information (e.g., thresholds, timer values, OOF algorithm name, etc.)
  • Pre-processing results and other related information (e.g., neighbor list)
  • Buffered notifications (i.e., notifications not yet processed at all)
  • State information
  • Association between pnf-name and CellId
  • PM/FM data

1.3. DMaaP Client

This is responsible for registering with the DMaaP client for the DMaaP notifications from SDN-R and VES-Collector, and to Policy.

2. Core Logic components and Pre-processing algorithm

...

The main actions in the various states are listed below:

Gliffy
namemain_thread
pagePin175

2.1.1. Initialization

In this state, the following actions are performed:

...

2.1.2.4. Policy response handling

...

  • Response from policy is handled by a separate thread. 
  • When positive acknowledgement is received from the policy the cells in the response are removed from the table and when negative acknowledgement is received the negative_ack count for the cell is increased and updated in the table. When no response is received no changes are made. 
  • When negative_ack count of a particular cell increases beyond a threshold, it is shifted to another table.  

2.1.2.5. Child Thread Status update handling

...

These child threads are spawned for handling PCI optimization primarily, though they may also trigger PCI-ANR joint optimization in some cases. The various states and associated actions are described below.

Gliffy
namechild_threadChildThread
pagePin20
|
2

2.2.1 Initialization

In this state, perform initialization, and based on the type of notification, go to either Section 2.2.1.1 or 2.2.1.2 for next actions.

...

  • Send a PCI_opt request to OOF with cells triggering the request along with the trigger type
  • Store details of request in DB.
  • Wait for OOF optimization result.
  • Upon trigger from main thread with OOF PCI optimization result, prepare and send DMaaP messages to Policy: for the cells whose PCI value has changed, as well as to all the neighbors of the cells whose PCI value has changed. The pnf-name corresponding to the cell-ids can be fetched from Config DB of SDN-R (using REST API). (Note: The layout of the message from SDN-R to RAN is available in the SDN-R sub-page).

  • Start Policy_rsp timer and wait for Policy response by going to "Wait for Policy Response" state (Section 2.2.6).

...

Prepare DMaaP messages to Policy for the cells whose PCI value has changed, as well as to all the neighbors of the cells whose PCI value has changed. The pnf-name corresponding to the cell-ids can be fetched from Config DB of SDN-R (using REST API). (Note: The layout of the message from SDN-R to RAN is available in the SDN-R sub-page)

fi

if response contains NRT updates (corresponding to ANR)

Update/prepare DMaaP messages to Policy for the cells whose neighbors have undergone updates (with indication "HO prohibited"). The pnf-name corresponding to the cell-ids can be fetched from Config DB of SDN-R (using REST API). (Note: The layout of the message from SDN-R to RAN is available in the SDN-R sub-page)

fi

  • Send prepared message(s) to Policy. 

  • Start Policy_rsp timer and wait for Policy response by going to "Wait for Policy Response" state (Section 2.2.6).

2.2.6.

...

Handling Policy Response

  • Response from policy is handled by a separate thread. 
  • When positive acknowledgement is received from the policy, the cells in the response are removed from the table and when negative acknowledgement is received the negative_ack count for the cell is increased and updated in the table. When no response is received no changes are made. 
  • When negative_ack count of a particular cell increases beyond a threshold, it is shifted to another table.  

2.2.7. Wait for RAN updates

...

This child thread perform all PM-related computations, and initiate autonomous ANR updates based on HO metrics.

Gliffy
namePM

...

ChildThread

...

pagePin

...

1

2.3.1. Initialization

In this state, all data structures are initialized. This includes any processing-pending PM data, processed PM data and populating details from DB.

...

When an indication that PCI-ANR child thread(s)' actions are completed is received, go to Step 2.3.2.2.1. If any PM inputs are received, go to Step 2.3.2.2

...

Upon reception of Policy response or Policy_rsp timeout, check if any pending ANR updates are to be sent to Policy. If any present, then go to Step 2.3.2.2, else update PM-based ANR actions are completed, and go to "Wait for PM inputs" state (Section 2.3.2)..

2.3.4. Handling Policy response

  • Response from policy is handled by a separate thread. 
  • When positive acknowledgement is received from the policy, the cells in the response are removed from the table and when negative acknowledgement is received the negative_ack count for the cell is increased and updated in the table. When no response is received no changes are made. 
  • When negative_ack count of a particular cell increases beyond a threshold, it is shifted to another table.