Cache Lookup Call Flow

This section describes the Cache Lookup call flow.

NRF-LIB (in smf-rest-ep/SBI) maintains a local cache and updates the external cache (cache-pod). The key for a cache is a combination of nfType and filter (a string that is prepared from multiple filter parameters in "key1=value, key2=value2" format).

Caching Support Call Flow
Caching Support Call Flow Description
Step

Description

1

On Startup, NRF-LIB (in smf-rest-ep/SBI):

  1. Retrieves all the cache entries that were modified since epoch from cache-pod so that it can build the local cache. Once the local cache is built, the same cache is used in the sendmessage flow for lookup.

  2. A periodic refresh routine is initiated to refresh the local cache using the cache-pod.

2

Periodic Refresh, NRF-LIB (in smf-rest-ep/SBI):

Local cache is periodically refreshed by getting all records from the cache-pod that were modified since last refresh. The resultant record list is traversed, and the local cache is updated.

3

Send Message NRF-LIB (in smf-rest-ep/SBI):

  1. When smf-rest-ep (SBI) triggers a send message (say to UDM), NRF-LIB looks up the local cache for the cache entry with the nfType and filter key:

    1. When a cache lookup miss occurs, a discovery query is sent to NRF to fetch NF profiles from NRF. If NRF responds with NF profiles, then these NF profiles are stored in a local cache and updated in cache-pod.

    2. On a successful lookup, the cached entry is used to send a message for endpoint selection.

  2. The NF profiles are load-balanced, and a message is sent to the selected endpoint.