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: NoCache SimpleCache SubscriptionCache

CacheEvictionStrategy

Determines how the cache is evicted. Possible values are: AccessTime WriteTime CacheSize NoEviction

CacheStrategy

Deprecated. Present for backwards compatibility. Use CacheEvictionStrategy and CacheTypeStrategy instead.

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 CacheEvictionStrategy is defined to AccessTime. This value is also used to set the subscription time out in the HSS when the CacheTypeStrategy is defined to SubscriptionCache.

CacheWriteTimeoutMillis

Determines the timeout period (in milliseconds) used by certain cache strategies. It will evict a cache entry after this value when the CacheEvictionStrategy is defined to WriteTime.

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 CacheTypeStrategy is set to SubscriptionCache the Sh Cache RA sends a Subscribe-Notifications-Request (SNR) message to the HSS. The SNR includes an optional parameter instructing the HSS to send the PNR just once.

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 CacheRetentionTimeoutMillis. They will also be evicted when the number of cache entries comes within approximately 20% of the CacheRetentionMaxEntries, the oldest entries will be evicted first.

WriteTime

Cache entries will be evicted when the time (in milliseconds) since they were last updated exceeds the value of CacheRetentionTimeoutMillis. They will also be evicted when the number of cache entries comes within approximately 20% of the CacheRetentionMaxEntries, the oldest entries will be evicted first.

CacheSize

Cache entries will begin to be evicted when the number of cache entries comes within approximately 20% of the CacheRetentionMaxEntries. The oldest entries will be evicted first.

NoEviction

It is equivalent of CacheSize with a defined CacheRetentionMaxEntries set to 100,000,000 (100 million). Manual intervention is required to evict the cache entries or the caches will be evicted after the limit is reached. See Manual invalidation.

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: ProfileTableName/ProfileName

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 1000 or greater; 0 to disable

40000

ShCacheDiameterConfiguration fields

Field Name Description Default Value
ProductVendorID

Vendor ID; must be 0 for IETF-specified applications, or an IANA-assigned private enterprise number.

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.

<![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE peer-table PUBLIC "-//Open Cloud Ltd.//DTD Diameter Peer Table Configuration 1.1.0//EN"
    "http://www.opencloud.com/dtd/diameter-peer-table-1.1.0.dtd">
<peer-table>
    <default-options>
        <option>
            <option-name>TCP_NODELAY</option-name>
            <option-type>java.lang.Boolean</option-type>
            <option-value>true</option-value>
        </option>
    </default-options>
    <peer connectAtStartup="true">
        <uri>aaa://ShHSS:3888;transport=tcp</uri>
        <address>127.0.0.1</address>
        <option>
            <option-name>TCP_NODELAY</option-name>
            <option-type>java.lang.Boolean</option-type>
            <option-value>false</option-value>
        </option>
    </peer>
</peer-table>]]>
Realm Table

A valid XML document for realm table configuration.

<![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE realm-table PUBLIC "-//Open Cloud Ltd.//DTD Diameter Realm Table Configuration 1.0//EN"
    "http://www.opencloud.com/dtd/diameter-realm-table-1.0.dtd">
<realm-table>
    <realm>
        <realm-name>example</realm-name>
        <application-route>
            <application>
                <application-id>4</application-id>
                <vendor-id>0</vendor-id> <!-- optional, default is zero -->
            </application>
            <action>LOCAL</action>
            <peer-ref>
                <hostname>ShHSS</hostname>
                <metric>1</metric>
            </peer-ref>
        </application-route>
    </realm>
    <default-route>
        <peer-ref>
            <hostname>ShHSS</hostname>
            <metric>1</metric>
         </peer-ref>
    </default-route>
</realm-table>]]>
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

Tip 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
Previous page Next page