Generic Timer Microservice

gtms overview

The Generic Timer Microservice (GTMS) provides a simple, generic timer that can be used by the Subscription Manager for tasks such as delayed promotional activity browsing or repeat purchase suppression; although it is, of course, not limited to this. The Subscription Manager can provide event data and a consumer address that is then stored in the GTMS database through the Generic Database Component (GDC).

GTMS features

The GTMS provides the following features where the Subscription Manager can:

  • …​start a timer identified by event name and a key.

  • …​provide event data and a consumer address that is stored with the timer.

  • …​query the status of the timer.

  • …​stop the timer.

  • …​receive alerts from the GTMS, which contain event data, to the provided consumer address upon timer expiry.

In the event of a process or node failure, the GTMS timer data is not persisted to a disk or replicated to another a node and hence, the timer will be lost.


GTMS components

gtms components

The table below outlines the GTMS components.

Component Description

Generic Database Component (GDC)

The GDC provides a generic in‐memory database function.

The GDC uses a hash table to store database records and no persistence or replication of data is provided by the GDC.

GDC Access

This is the API for accessing the GDC.

GDC Codec

The Generic Database codec.

UTL TMR

This is the timer utility.

Input

The input is a single‐instance state machine that handles inputs to the GTMS such as:

  • Start/Restart timer requests

  • Query timer requests

  • Stop timer requests

Output

The output is a single‐instance state machine that handles output from the GTMS such as timer expiry.

Tick

Runs a tick timer for checking the expiry of timers.

OAM

This is a single‐instance state machine that provides a monitor interface into the process for OAM.

Statistics

Manages the statistics of the GTMS.

Configuration

Manages the configuration of the GTMS.

Resource Allocation API

This is an optional API that the application can use to resolve resource addresses based on the Resource Manager configuration and event key.

GTMS SSRV SIBB

A process that provides an SSRV interface into the GTMS for use via Service Interpreter service definitions.


GTMS SSRV SIBB

The GTMS SSRV SIBB is a SIBB (Service Independent Building Block) process that allows the USSD Service Interpreter (SI) to initiate requests to the GTMS using the server request interface as shown in graphic above. The SIBB receives the request from the USSD SI via the Service Environment SIBB interface and converts them to a GTMS request to be sent to the GTMS process.