References
...
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
1.3. DMaaP Client
This is responsible for registering with the DMaaP client for the DMaaP notifications from SDN-R, and to Policy.
2. Core Logic components and Pre-processing algorithm
...
Upon receiving a terminate request clean up all resources.
2.2. Child Thread(s)
...
2.2.1 Initialization
In this state, perform initialization, and transition to Cluster formation state.
...
- Start notif_timer and wait for more notifications
- If a new notification is received, transition to Cluster expansion statemodification state. If notif_timer expires, transition to Trigger OOF state.
2.2.4. Cluster
...
modification
- If a cell that already exists in the cluster has sent a notification (for neighbor-list change), update the cell's neighbors appropriately in the existing cluster. Otherwise, 'attach' the cell appropriately in the existing cluster, and update the cell's neighbors.
- For each of the neighbors, fetch the neighbor list (via REST API) from SDN-R Config DB (i.e., fetch neighbor of neighbors of the cell that sent the neighbor list change notification).
- Extend Modify/extend the cluster appropriately.
- Determine collision/confusion by calling method determine_collision_confusion.
- Based on number of collisions/confusions and config policy, determine if OOF has to be triggered or more notifications should be awaited (handle also timeout case).
...
- If the main thread triggers a buffered notification to be handled, start buf_timer (if not started already) to buffer the notification (pre-configured value), if not already started (Note), and store the notification contents.
- Upon expiry of buf_timer, process the received (and stored) notifications by transitioning to Cluster ExpansionModification state.
- If new notifications are received when in this state, then simply store the notifications check on whether a notification was received and buffered for the same cell earlier, and if yes, discard the earlier notification (i.e., retain only the latest unprocessed notification for a cell). Simply store the notification and remain in this state.
...