Correlation RA Overview

What is the Correlation RA?

The Correlation RA provides a mechanism to allocate a routing number with correlation data. The routing number and associated correlation data is replicated across the Rhino cluster. All nodes in the cluster have access to read/write correlation data.

This is used in the IP-SM-GW in order to allocate a correlation IMSI as part of the MT Delivery flows. The feature that performs this function is the Generate MT Correlation Id feature.

Configuring a Correlation RA entity

A Correlation RA entity configuration consists of:

Note The Correlation Ra Configurer in the installer configures the GenerateMTCorrelationIdFeature which makes use of the CorrelationProvider. The generate mt correlation id feature in IPSMGW Configuration
Tip The Correlation resource adaptor supports live re-configuration, so the administrator may update the configuration properties of a Correlation resource adaptor entity that has already been created.

Correlation RA configuration properties

The Correlation RA configuration properties are:

Name

Type

Description

ConfigProfileTable

String

The SLEE profile table with an RA configuration profile for this RA entity.

ConfigProfile

String

The SLEE profile in the ConfigProfileTable with configuration for this RA entity.

CorrelationIdPoolProfileTable

String

The SLEE profile table with correlation ID pool definitions for this Correlation RA entity.

For example, the IPSMGW Correlation RA entity has the following configuration:

[Rhino@localhost (#9)] listraentityconfigproperties ipsmgw-correlation-ra
Configuration properties for resource adaptor entity ipsmgw-correlation-ra:
 ConfigProfile (java.lang.String): IPSMGWCorrelationConfigProfile
 ConfigProfileTable (java.lang.String): CorrelationConfigTable
 CorrelationIdPoolTable (java.lang.String): IPSMGWCorrelationIdPools

Correlation RA entity configuration profile

The Correlation RA configuration profile has the following attributes:

Name

Type

Description

RequestTimeout

Int

The maximum time (measured in ms) the Correlation RA will spend trying to allocate a correlation ID.

CorrelationIDExpiryTimerPeriod

Int

The maximum time (measured in ms) that an active correlation ID is considered to be still valid.

NumberOfThreadPool

Int

How many threads the Correlation RA entity should use.

For example, the IP-SM-GW Correlation RA entity has the following configuration:

[Rhino@localhost (#8)] listprofileattributes CorrelationConfigTable IPSMGWCorrelationConfigProfile
CorrelationIDExpiryTimerPeriod=55000
NumberOfThreadPool=5
RequestTimeout=5000
Note If a change is made to the profile, the following command to activate the changes:
rhino-console updateraentityconfigproperties ipsmgw-correlation-ra

Once a Correlation ID has been allocated it is returned to the pool either when the application returns it, or after CorrelationIDExpiryTimerPeriod milliseconds. Once returned to the pool a Correlation ID is available for subsequent allocation.

Correlation RA entity ID pools configuration

Each Correlation RA entity has one or more correlation ID pools.

  • a default ID pool (optional)

  • a set of named ID pools. Each named ID pool is identified by a set of prefixes for choosing/selecting the ID pool. From the Correlation RA standpoint, the prefixes can be any address string. The client to the RA provides an address that the RA uses via a longestPrefix match address list search to select the pool to use.

Each correlation ID pool is defined in a SLEE profile in an ID pools profile table. There is one correlation ID pools table per Correlation RA entity.

Tip The correlation resource adaptor entity will raise an alarm if there are no correlation ID pools configured, or if there are configuration errors with the correlation ID pools.
Field name Expected value

AddressPrefixes

The MCC and MNC. If deploying rhino as a cluster this should be one entry for each cluster.

NodeIds

The rhino cluster ids

IsPreconfiguredCorrelationIdSetUsed

false

PreconfiguredCorrelationIdSet

null

MinCorrelationIDInCluster

The first possible fake IMSI. The MCC and MNC (the first 5 or 6 digits) must be the same as defined in AddressPrefixes

MaxCorrelationIDInCluster

The last possible fake IMSI. The MCC and MNC (the first 5 or 6 digits) must be the same as defined in AddressPrefixes

CorrelationIDNumberOfDigits

The number of IMSI digits depending on the network. Maximum number is 15

CorrelationIDRangePerNode

Number of the fake IMSIs per cluster node

Note If a change is made to the profile, the following command to activate the changes:
rhino-console updateraentityconfigproperties ipsmgw-correlation-ra

Ensuring that Correlation IDs have the appropriate number of digits

The correlation RA will always return a value with the size specified in CorrelationIDNumberOfDigits by padding zeros. The proper configuration is to have the number of digits in MinCorrelationIDInCluster and MaxCorrelationIDInCluster to be equal to CorrelationIDNumberOfDigits. In the following example, the number of digits is 10, and both the min and max values have 10 digits.

  • AddressPrefixes = 64452

  • CorrelationIDNumberOfDigits = 10

  • MinCorrelationIDInCluster = 6445200000

  • MaxCorrelationIDInCluster = 6445299999

There are two possible configuration options for correlation ID pools.

A prescribed set of IDs for each node

Defines the prescribed correlation IDs for each node in the following way:

  • NodeIds[0] — PreconfiguredCorrelationIdSet[0] which is a ‘:’ separated string containing all the correlation IDs for NodeIds[0]

  • NodeIds[1] — PreconfiguredCorrelationIdSet[1] which is a ‘:’ separated string containing all the correlation IDs for NodeIds[1]

  • etc.

A range of correlation IDs (min, max) for each node

Defines the range of values used in each node in conjunction with the NodeIds attribute in the following way:

  • The node whose identifier is NodeIds[i] has a range of values of CorrelationIDRangePerNode[i]

  • Each cluster has a range of CorrelationIDs defined by: [MinCorrelationIDInCluster, MaxCorrelationIDInCluster]

These values are allocated to the different cluster nodes in the following way:

  • NodeIds[0] — [MinCorrelationIDInCluster …​ MinCorrelationIDInCluster + CorrelationIDRangePerNode[0]]

  • NodeIds[1] — [MinCorrelationIDInCluster + CorrelationIDRangePerNode[0] + 1 …​ MinCorrelationIDInCluster + +CorrelationIDRangePerNode[0] + 1 + CorrelationIDRangePerNode[1]]

  • etc.

The maximum number of correlation IDs defined in the range is 1,000,000.

Provisioning Interfaces

The Correlation RA configuration and ID pools are provisioned using the Sentinel REST API or web interface.

Monitoring Correlation RA entity statistics

Each Correlation RA entity collects the following statistics that may be monitored via the Rhino statistics client.

Counters

Name Description

correlationGets

Count of correlation IDs which have been requested via findCorrelationEntry()

localGets

Count of correlation queries which returned immediately (synchronous delivery) as the local RA had the data available.

remoteGets

Count of correlation queries which did not return immediately (asynchronous delivery) as the local RA did not have the data available.

remoteDelivery

Count of correlation queries which required delivering data to another correlation RA instance.

unknown

Count of correlation queries which could not be remotely delivered as the destination RA for a correlation ID was unknown.

In addition to the above statistics there are additional statistics use by Generate MT Correlation Id as the Generate MT Correlation Id feature uses the Correlation RA.

Caution The count correlationGets should equal the sum of localGets + remoteGets. These statistics can use used to create threshold-based alarms.
Previous page Next page
Sentinel IP-SM-GW Version 2.7.0