Proposal for GPN/GPV of transient objects

This commit is contained in:
Suvendhu Hansa 2024-08-22 12:38:37 +05:30
parent be6712567f
commit b6138e0575

View file

@ -0,0 +1,70 @@
# Proposal for GPN and GPV of transient object
## Proposal 1
Expose the transient nature data elements on USP only, thus it will restrict
these DM object's visibility on ACS.
### Cons
Customer need to switch to USP to access these DM parameters.
### Effort
Low
## Proposal 2
Maintain a cache of whole DM (Device.) each time a session is started and for
GPV and GPN create the response based on the data available in the cache.
For SPV and Add/Delete object request perform the operation at lower layer first
and on success from lower layer update the cache for the effected elements.
Delete the cache to session end.
### Cons
1. Lot of string processing required and hence the solution will be time taking.
2. Due to the cache mechanism it will increase memory utilization.
### Effort
High
## Proposal 3
A json file will be introduced which will contain the DM path of all transient
natured objects.
At the time of session start icwmp will perform GPN for all DM objects declared
in the json file and store the results in cache.
When GPN request will come from ACS, icwmp will first perform the operation at
lower layer. Upon receiving the response from lower layer if there exist any
transient DM parameter then it will validate that path against the cache. If
that instance is not present in the cache then drop that parameter from final
result.
If GPN of any sub object of a transient DM object fails at lower layer but the
path exist in the cache then instead of error icwmp will return an empty GPN
response to the ACS but if not exist in cache then will return error.
When GPV request will come from ACS, icwmp will first perform the operation at
lower layer. Upon failure from lower layer icwmp will validate the path in the
cache. If the parameter exist in the cache it will return GPV response with
empty value otherwise will return error.
Delete the cache at session end.
### Cons
1. String processing is required here too but will be optimized by caching only
the transient natured DM parameters. Still it will increase the operation time
to some extend.
2. Memory utilization will also increase to some extend.
3. In some cases it may return empty value for some parameter's GPV request and
which may not be a correct value for e.g such parameters which can have value in
specific range or specific enum types.
### Effort
Medium