the PACE platform rules engine

At its core, PACE is an efficient rules engine that mediates campaign display to the user.

The job of the rules engine in order to determine the order in which campaigns are shown to the user. It has to evaluate campaign rules quickly and efficiently regardless of whether there one or fifty campaigns installed on the handset.

many independent campaigns

The PACE client can manage many campaigns simultaneously. Campaigns can be conveniently grouped into related types called campaign channels. Every different campaign might have different purpose, be it advertising, providing a voicemail alert, or assisting roaming subscribers.

· PACE supports many independent campaigns and these can be grouped into content channels · PACE active campaign engine ·

The job of a the rules engine is to determine which of these campaign channels and campaign items are displayed to the user and in what order they are displayed.

Campaign display priority

PACE uses a priority based system to determine which items are displayed: a content item with a priority of greater than zero is ‘displayable’ to the user and the highest priority item is always shown first.

The rules engine has the job of determining the display priority for each campaign. It does this in three steps:

  1. It examines meta rules in the content channel to determine whether any campaigns in that channel are displayable.
  2. It examines rules in each campaign to determine individual campaign display priorities.
  3. It dispatches handset events to campaign rules so that they can dynamically change their priority as required.

The rules themselves are specified in XML and include one of more conditions that are evaluated using standard boolean operators. A rule that evaluates to true sets the display priority for its associated campaign.

The rules engine evaluates the complete rule set at system startup, when all of the items in the display carousel have been shown or three hours have passed, whichever comes sooner.

the campaign display carousel

Displayable idle screen and screensaver campaigns are are placed in the display ‘carousel’ and are shown sequentially to the user in order of their display priority.

· screensaver items are placed in the ‘display carousel’ and shown to the user in order of their ‘display-priority’ · PACE active campaign engine ·

This is the normal mode of operation for the client. Every screensaver campaign view is matched with a home screen view and these are always kept synchronised. Thus, if the user dismisses the screensaver, then a home-screen representation of the last screensaver campaign will always be shown, giving a clear context for interaction.

rules and event subscriptions

rules can subscribe to system events. For example, a rule can subscribe to notifications for when a new SMS message is delivered to the handset.

The rules engine keeps track of which campaigns subscribe to which events and runs only these rules in response to the event. In this way, campaigns can dynamically change their display priority without having to re-run the rules engine over every possible rule.

rules and Overlay campaigns

Overlay campaigns extend the idea of event subscriptions further. The rules engine only evaluates rules when the application bound to the Overlay is in the foreground.

technical benefits

The PACE rules engine works to prioritise which campaigns are displayed to the user. A simple system of display priorities coupled with event subscriptions makes it easy to build either static or active campaigns. The multi-layered approach employed by the rules engine ensures that the system is very efficient. For example, the overhead of having a campaign. that activates only when the handset is roaming is tiny.

Top of Page.