DataReference cache configuration
The feature or SBB creating a cache ultimately decides its configuration; but it can choose from a series of default cache configurations
that the Sh Cache RA provides. These include configurations for each of the possible non-transparent data fields, plus a default configuration
for transparent data (listed as “Repository Data”).
The configurations are stored in a profile table with the name: ShCacheDataReferenceConfigTable
.
Each Data Reference may have zero or more Cache’s in the Sh Cache RA.
These following table provides the attributes and their definition.
Attribute name | Description |
---|---|
Data Reference name (profile name) |
Identifies what data is stored in the cache. The supported values are: REPOSITORY_DATA, IMS_PUBLIC_IDENTITY, IMS_USER_STATE, S_CSCFNAME, INITIAL_FILTER_CRITERIA, PS_LOCATION_INFORMATION, CS_LOCATION_INFORMATION, PS_USER_STATE, CS_USER_STATE, CHARGING_INFORMATION, MSISDN, PSIACTIVATION, DSAI, SERVICE_LEVEL_TRACE_INFO, IP_ADDRESS_SECURE_BINDING_INFORMATION, SERVICE_PRIORITY_LEVEL, SMS_REGISTRATION_INFO, UE_REACHABILITY_FOR_IP, TADS_INFORMATION,STN_SR, UE_SRVCC_CAPABILITY, EXTENDED_PRIORITY, CSRN, REFERENCE_LOCATION_INFORMATION. See Sh DataReference for more information. |
CacheTypeStrategy |
Determines the behaviour of the cache.
The possible values are:
|
CacheEvictionStrategy |
Determines how the cache is evicted. Possible values are:
|
CacheStrategy |
Deprecated. Present for backwards compatibility. Use |
CacheRetentionMaxEntries |
Determines the maximum number of entries allowed in the cache. |
CacheRetentionTimeoutMillis |
Determines the timeout period (in milliseconds) used by certain cache strategies.
It will evict a cache entry after this value when the |
CacheWriteTimeoutMillis |
Determines the timeout period (in milliseconds) used by certain cache strategies.
It will evict a cache entry after this value when the |
CacheFirePushNotification |
If set to true the Sh Cache Resource Adaptor Entity will fire a SLEE event on receipt of an Sh Push Notification Request. |
OneTimeNotification |
Indicates to the HSS to send just one Push Notification Request (PNR) for a subscribed cache.
When the |
SendDataIndicatorAllowedInSNR |
Indicates to the HSS to include the stored Data for a Data Reference on a response to a Subscribe-Notifications-Request message (SNR). |
InvalidationMessageActive |
When set to true, a cluster-wide invalidation protocol is enabled on receipt of a PNR message. For further information please see Cache invalidation. |
Caching strategy
The caching retention strategy has two major effects on a cache’s behaviour:
-
It determines how and when an entry in the cache should be marked as invalid and no longer visible to applications using the Resource Adaptor
-
It determines whether the cache should request the HSS to send notifications of data being changed in the HSS
The caching strategies is divided in two sets of parameters: CacheTypeStrategy
and CacheEvictionStrategy
.
Cache Type Strategy
Value | Description |
---|---|
NoCache |
The cache functionality will not be used; every read and write will always query the HSS for the requested information. Subscription is not applicable. |
SimpleCache |
Results from HSS queries will be cached. Updates will always write through to the HSS. The cache will not receive updates from the HSS. |
SubscriptionCache |
Results from HSS queries will be cached. Updates will always write through to the HSS. Cache entries will be updated if the data is changed in the HSS. |
Cache Eviction Strategy
Value | Description |
---|---|
AccessTime |
Cache entries will be evicted when the time (in milliseconds) since they were last updated or read exceeds the value of |
WriteTime |
Cache entries will be evicted when the time (in milliseconds) since they were last updated exceeds the value of |
CacheSize |
Cache entries will begin to be evicted when the number of cache entries comes within approximately 20% of the |
NoEviction |
It is equivalent of |
Diameter configuration
The Diameter configuration for the Sh Cache RA works in a similar way to other OpenCloud Diameter RAs.
The configuration data is stored in two places: most of it is in the ShCacheDiameterConfiguration
profile table;
the rest is in the properties of the Sh Cache RA.
For more information see Configuring Diameter Resource Adaptors.
Sh Cache RA properties
Property Name | Description | Default Values |
---|---|---|
DestinationHost |
A default destination host that is used when a cache config is created without an explicit destination host. |
ShHSS |
DestinationRealm |
A default destination realm that is used when a cache config is created without an explicit destination realm. |
example |
ConfigurationProfile |
The name of the profile table and profile where the RA’s Diameter configuration is stored. Has the format: |
ShCacheDiameterConfiguration/client |
ConnectTimeout |
Timeout in milliseconds for waiting for outgoing transport connection establishment |
30000 |
RequestTimeout |
Timeout in milliseconds for waiting for responses before firing a Timeout event |
30000 |
ReconnectDelay |
Delay in milliseconds before reconnecting (RFC6733 timer Tc) |
30000 |
WatchdogTimeout |
Timeout in milliseconds for waiting for watchdog responses (RFC3539 timer Tw) |
30000 |
ForceReconnectAfterDPR |
if true, always attempt to reconnect even if the server sent a DPR with Disconnect-Cause set to DO_NOT_WANT_TO_TALK_TO_YOU |
false |
ThreadPoolSize |
Size of thread pool for decoding incoming diameter messages |
0 |
WorkQueueSize |
Size of the task queue of thread pool for decoding incoming diameter messages |
0 |
IOServerWorkers |
Number of IO threads serving incoming connections |
0 |
IOClientWorkers |
Number of IO threads serving outgoing connections |
0 |
ConfigurationProfilePollTime |
Time in milliseconds between polling for changes to ConfigurationProfile, in milliseconds. Values |
40000 |
ShCacheDiameterConfiguration fields
Field Name | Description | Default Value |
---|---|---|
ProductVendorID |
Vendor ID; must be |
19808 |
ApplicationVendorID |
Diameter Application ID. |
0 |
Host |
Host to use in all Origin-Host AVPs; must be resolvable. |
diameterclient |
Realm |
Realm to use in all Origin-Realm AVPs. |
example |
Peer Table |
A valid XML document for peer table configuration. |
|
Realm Table |
A valid XML document for realm table configuration. |
|
Product |
Product name to use in Product-Name AVPs generated by the stack. |
OpenCloud Diameter |
Version |
Version number to use in all Firmware-Revision AVPs generated by the stack; must be a positive integer. |
1 |
For details of the XML structure of the peer and realm tables, see Configuring Peer and Realm Tables. |
Data Reference default configuration
The following table shows the default configurations available in the Sh Cache RA:
Data Reference | CacheTypeStrategy | CacheEvictionStrategy | CacheRetentionMaxEntries | CacheRetentionTimeoutMillis | CacheWriteTimeoutMillis | CacheFirePushNotification | OneTimeNotification | SendDataIndicatorAllowedInSNR | InvalidationMessageActive |
---|---|---|---|---|---|---|---|---|---|
REPOSITORY_DATA |
SimpleCache |
WriteTime |
100000 |
30000 |
30000 |
true |
false |
true |
true |
IMS_PUBLIC_IDENTITY |
SimpleCache |
WriteTime |
100000 |
30000 |
30000 |
true |
false |
true |
false |
IMS_USER_STATE |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
S_CSCFNAME |
SimpleCache |
WriteTime |
100000 |
30000 |
30000 |
true |
false |
true |
false |
INITIAL_FILTER_CRITERIA |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
PS_LOCATION_INFORMATION |
NoCache |
NoEviction |
100000 |
20000 |
20000 |
true |
false |
true |
false |
CS_LOCATION_INFORMATION |
NoCache |
NoEviction |
100000 |
20000 |
20000 |
true |
false |
true |
false |
PS_USER_STATE |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
CS_USER_STATE |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
CHARGING_INFORMATION |
SimpleCache |
WriteTime |
100000 |
30000 |
30000 |
true |
false |
true |
false |
MSISDN |
SimpleCache |
WriteTime |
100000 |
30000 |
30000 |
true |
false |
true |
false |
PSIACTIVATION |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
DSAI |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
SERVICE_LEVEL_TRACE_INFO |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
SERVICE_PRIORITY_LEVEL |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
SMS_REGISTRATION_INFO |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
UE_REACHABILITY_FOR_IP |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
false |
true |
false |
false |
TADS_INFORMATION |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
STN_SR |
SimpleCache |
WriteTime |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
UE_SRVCC_CAPABILITY |
SimpleCache |
WriteTime |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
EXTENDED_PRIORITY |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
CSRN |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |
REFERENCE_LOCATION_INFORMATION |
NoCache |
NoEviction |
100000 |
20000 |
20000 |
true |
false |
true |
false |
IP_ADDRESS_SECURE_BINDING_INFORMATION |
NoCache |
NoEviction |
100000 |
3600000 |
3600000 |
true |
false |
true |
false |