WO2014049378A1 - Method of processing data in a data processing engine - Google Patents

Method of processing data in a data processing engine Download PDF

Info

Publication number
WO2014049378A1
WO2014049378A1 PCT/GB2013/052546 GB2013052546W WO2014049378A1 WO 2014049378 A1 WO2014049378 A1 WO 2014049378A1 GB 2013052546 W GB2013052546 W GB 2013052546W WO 2014049378 A1 WO2014049378 A1 WO 2014049378A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
data
mobile
processing engine
data processing
Prior art date
Application number
PCT/GB2013/052546
Other languages
French (fr)
Inventor
Nicola PERO
Paul Wolf
Original Assignee
Brainstorm Mobile Solutions Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brainstorm Mobile Solutions Limited filed Critical Brainstorm Mobile Solutions Limited
Publication of WO2014049378A1 publication Critical patent/WO2014049378A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0239Online discounts or incentives
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0252Targeted advertisements based on events or environment, e.g. weather or festivals

Definitions

  • the field of the invention relates to methods of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, and to related uses, systems and computer program products.
  • EP0953173B1 there are disclosed a method of and a system (1) for distributed data processing, the system (1) comprising multi-processing platforms (2, 3, 4, 5) interconnected by a communication network (6).
  • a platform (2, 3, 4, 5) comprises processor capability (7) for providing service to a plurality of processes, control capability (8) for controlling process and data handling by a platform (2, 3, 4, 5) and storage capability (A, B, C, D) for storage and retrieval of system data.
  • the storage capability (A, B, C, D) of a platform (2, 3, 4, 5) are arranged for storage and retrieval of part (a, b, c, d) of the system data for processing by a platform and a duplicated portion (al, a2, c!3) of the system data of other platforms.
  • Prior art Figure 25 is reproduced from EP0953173Bl .
  • EP1610519B1 there is disclosed a process involving registering a web service provider (WSP) near a mediation platform (PFM) connected to a network (RC), and configuring a web service.
  • WSP web service provider
  • PFM mediation platform
  • RC network
  • a group of services accessible to a web service client (WSC) is presented.
  • a web service is selected based on a selection information from the client.
  • a connection between the client and the selected service is established through the platform for monitoring the exploitation of service.
  • a platform for mediating between a web service provider and a web service client Prior art Figure 26 is reproduced from EP1610519B1.
  • a method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, the method comprising the steps of:
  • An advantage of the method is customization of rules and outcomes or actions as a result of processing data in a data processing engine in a unified platform system, such as the ability to receive a variety of user-defined rules in the data processing engine, where the user-defined rules are then applied to data received in the data processing engine to generate customized outcomes or actions.
  • the method may be one wherein the data received in the data processing engine is received from a plurality of mobile devices.
  • a mobile device may be a smartphone, a tablet computer, a portable navigation system, a mobile phone, or a GPS-enabled laptop, for example.
  • the method may be one wherein the customized outcomes or actions include sending a message to a mobile device.
  • the method may be one including the step of defining at least one Trigger in the user- defined rules.
  • the method may be one wherein a Trigger includes Manual activation.
  • the method may be one wherein a Trigger includes Remote Activation.
  • the method may be one wherein Remote Activation includes Activation by an external application.
  • the method may be one wherein Remote Activation includes Activation by an external Application programming interface.
  • the method may be one wherein Remote Activation includes setting a password for activation by an external Application programming interface.
  • the method may be one wherein defining a Remote Activation Trigger includes defining a URL and password for use by an external application.
  • the method may be one wherein a Trigger includes a Geo-Fence.
  • the method may be one wherein the Geo-Fence includes a geo-fence zone.
  • the method may be one wherein configuration of a Geofence trigger results in the establishment of a custom communications channel with a third party mobile user location tracking system.
  • the method may be one wherein defining user-defined rules include the step of presenting a map on which a geolocation zone is selectable.
  • the method may be one wherein defining user-defined rules include the step of presenting a map on which a geolocation zone is importable.
  • the method may be one wherein the data processing engine is configured to receive resulting third party mobile user location tracking data each time a mobile user enters the defined geolocation zone.
  • the method may be one wherein the data processing engine is configured to receive resulting third party mobile user location tracking data each time a mobile user leaves the defined geolocation zone.
  • receiving resulting third party mobile user location tracking data includes receiving one or more of: a value of LeaveZone or EnterZone, an ID of a tracked user list that a mobile user belongs to, an internal ID of the Geofence Trigger, an ID assigned by a third party specialised network to the Geofence trigger, or a reference to a geographic information record stored by a third party specialized network.
  • the method may be one wherein an International Roaming Trigger interfaces with a third party service in order to receive data on when a mobile user enters an international roaming zone.
  • the method may be one wherein an International Roaming Trigger provides data for building/improving a mobile user profile based on their location.
  • the method may be one wherein a Trigger includes a Click-Through trigger.
  • the method may be one wherein a Trigger includes a Redirection trigger.
  • the method may be one wherein a Redirection trigger tracks and responds to an activity of a mobile user who has been sent a message containing an external web link.
  • the method may be one wherein the data processing engine is configured to receive externally generated redirection variables which are generated in response to the redirection trigger.
  • the method may be one wherein a redirection variable provides one or more of: a unique ID of a click, an ID of a message in which a redirection link was embedded, a URL used as a link in a message, or an ID of the unified platform system which sent the message with the embedded redirection link.
  • a Trigger includes a message activation trigger, which is triggered by receipt of an incoming message, eg. receipt of an SMS message.
  • the method may be one wherein a Trigger includes a Timed activation trigger.
  • the method may be one wherein configuration of a Timed activation Trigger indicates a frequency at which a service will be activated.
  • the method may be one wherein the Timed activation Trigger includes a particular user list.
  • the method may be one wherein user-defined rules include configuration of a Trigger.
  • the method may be one wherein user-defined rules include a created and configured message to be sent to mobile users.
  • the method may be one wherein the created and configured message is personalised by incorporating mobile user data into the message itself.
  • the method may be one wherein for the message, the text to be sent can be entered, or content can be chosen from an external source, or a piece of content held within the unified platform system.
  • the method may be one wherein for the message, the text to be sent is a piece of content held within the unified platform system which is a most recent piece of content.
  • the method may be one wherein for the message, the text to be sent is a piece of content held within the unified platform system which is a selected specific piece of content.
  • the method may be one wherein the Message includes one or both of: Unicode text, or a name of the message sender.
  • the method may be one wherein the Message has associated attributes which include one or more of: channel for sending an SMS or email message, validity period, from, subject, message category.
  • the method may be one wherein user-defined rules provide a 360 degree view of a customer.
  • the method may be one wherein user-defined rules include a redirection variable.
  • the method may be one wherein user-defined rules include checking a mobile user is in a defined list.
  • the method may be one wherein user-defined rules include a conditional rule.
  • the method may be one wherein user-defined rules are visual rules.
  • the method may be one wherein user-defined rules include an incoming interaction, an external application, or a time of day.
  • the method may be one wherein user-defined rules include a 'Communicate with a Web server' rule which is provided with a function of connecting to an application running outside the unified platform system.
  • the method may be one wherein user-defined rules include an 'Add/Remove the user from a list' rule which includes a function of adding or removing a user's record from a list.
  • the method may be one wherein a user is added to a list depending on input received by the data processing engine from an external application.
  • the method may be one wherein user-defined rules include a 'Check if the user is in a user list' rule which includes a function of checking to see if a user is in a list.
  • the method may be one wherein the include a 'Check if the user is in a user list' rule includes checking to see if a user is in a list as a security measure for privileged users.
  • the method may be one wherein user-defined rules include a 'Set a Field' rule which allows placement of at least one of a string, a result of arithmetic calculation or a system information value in a particular user record field.
  • user-defined rules include a 'Set a temporary field' rule which allows placement of at least one of a string, a result of arithmetic calculation or a system information value in a particular temporary field, which exists only for a duration of a service.
  • the method may be one wherein user-defined rules include a 'Check a field or value' rule which provides for checking values in a mobile user record or in a temporary field.
  • the method may be one wherein user-defined rules include a 'Check a field or value' rule which provides for comparing two arbitrary values and a resulting branch depending on the result of the comparison.
  • the method may be one wherein the 'Check a field or value' rule provides for comparing two arbitrary values via any of the options: Check a field in the mobile user record, Check a temporary field, Check System Information and Compare two values.
  • the method may be one wherein user-defined rules include a 'Log an Event' rule which provides for storing details of rules stages.
  • the method may be one wherein user-defined rules include a 'Wait for a While' rule which provides for delaying further processing for a predefined time period.
  • the method may be one wherein user-defined rules are definable via a graphical interface.
  • the method may be one wherein the graphical interface provides a rules tree which provides the user-defined rules and their inter-relationships.
  • the method may be one wherein the user-defined rules restrict a number of messages a user will receive in a defined time period.
  • the method may be one wherein the data processing engine is configured to receive a message indicating if an external website's goal was fulfilled.
  • the method may be one wherein the data processing engine is configured to report metrics relating to success of a marketing campaign.
  • the method may be one wherein the method includes the step of activation in response to a mobile user clicking a link.
  • the method may be one wherein received data in the data processing engine is received mobile user data.
  • the method may be one wherein received data in the data processing engine is a mobile customer's profile, a mobile customer's buying habits, or weather data.
  • the method may be one wherein received data in the data processing engine is mobile user records which are kept up-to-date by synchronising them with an external database upon a specified event or on a regular basis.
  • the method may be one wherein application in the data processing engine of the received user-defined rules to the received data leads to receipt of information in the data processing engine.
  • the method may be one wherein application in the data processing engine of the received user-defined rules to the received data leads to more effective and compelling interaction with mobile end-users and between systems.
  • the method may be one wherein application in the data processing engine of the received user-defined rules to the received data leads to performance of a series of checks in order to single out only those mobile user records that answer all required conditions.
  • the method may be one including the step of the data processing engine sending or receiving at least one of XML documents, JavaScript Object Notation data, or URL encoded data.
  • the method may be one wherein the unified platform system provides one or more of: analysis and data optimisation, interactive real time campaigns, reporting and tracking, and segmentation and targeting.
  • the method may be one wherein the unified platform system provides one or more of: marketing, connectivity, social interaction, location, and rewards.
  • the method may be one wherein the unified platform system is connected to or interacts with one or more of: a rewards portal, multi-channel delivery, subscriber events, and operator systems.
  • the method may be one wherein the data processing engine is located in a core platform of the unified platform system.
  • the method may be one wherein the data processing engine is a 'big data' processing engine.
  • the method may be one including the step of a platform user creating a series of customised outcomes /actions based on each end-user/system interaction.
  • the method may be one wherein the Customized outcomes or actions include selecting and serving a suitable promotion.
  • the method may be one wherein a suitable promotion is served via MMS.
  • the method may be one wherein a SMS message is sent to a mobile user with a promotion.
  • the method may be one wherein customized outcomes or actions include data transfer between databases.
  • the method may be one wherein the unified platform system comprises networks, servers and storage.
  • a system for processing data including a unified platform system comprising a platform as a service and a software as a service, the system comprising networks, servers and storage, and a data processing engine in the unified platform system, the system operable to: (i) receive user-defined rules in the data processing engine;
  • the system may be operable to perform the method of any of the above statements according to a first aspect of the invention.
  • the system may be one wherein the system is operable to run a plurality of jobs in real time.
  • a computer program product embodied on a computer-readable medium, the computer program product operable to perform a method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, comprising the steps of:
  • Location data is used in this document to mean data which enables a location to be determined, such as mobile network location data, mobile device GPS location data, data from mobile device accelerometer sensors, and the like.
  • Figure 1 shows an example of a Dragon Core Platform as a Service (PaaS) which provides analysis and data optimisation, interactive real time campaigns, reporting and tracking, and segmentation and targeting.
  • a Spider feature resides in the core platform.
  • Figure 2 shows an example of a complete Spider Rules tree, highlighting one possible combination of a trigger, rules and outcomes for achieving a particular user interaction.
  • Figure 3 shows a first example step in a user interface.
  • Figure 4 shows an example of a second step in a user interface.
  • Figure 5 shows a further example step 2a (create Trigger) .
  • Figure 6 shows a further example step 2b (configure Trigger type) .
  • Figure 7 shows a further example step 3a (select pre-defined rules).
  • Figure 8 shows a further example step 4a (rule example 1) .
  • Figure 9 shows a further example step 5 (configure message).
  • Figure 10 shows a further example step 6a (rule completed to flow).
  • Figure 11 shows a further example step 3b (rule example 2).
  • Figure 12 shows a further example step 4b (configure rule query).
  • Figure 13 shows a further example step 6b (rule completed to flow).
  • Figure 14 shows a general example and a more specific example of a formula for executing a Spider job.
  • Figure 15 shows an example of Created campaigns with a 360° view of your customers (i.e. which provide an enhanced customer profile).
  • Figure 16 shows an example Spider Formula.
  • Figure 17 shows an example in which the platform user is presented with the URL and password that should be used by the external application when a Remote Activation Trigger is created.
  • Figure 18 shows an example of redirection variables that may be available.
  • Figure 19 shows an example in which the platform user is presented with a map on which a geolocation zone may be selected.
  • Figure 20 shows an example of information that may be received each time the Spider Service is triggered.
  • Figure 21 shows an example in which SMS and Email messages may be personalised by incorporating user data into the message itself.
  • Figure 22 shows an example in which it is checked if a user is in the list 'Colour Unknown'.
  • Figure 23 shows an example in which a Spider tree is arranged to save time and tree 'space'.
  • Figure 24 shows an example of rules with use of Comments.
  • Figure 25 shows a prior art Figure from EP0953173B1.
  • Figure 26 shows a prior art Figure from EP1610519B1.
  • Figure 27 shows an example of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service.
  • Figure 28 shows an example of Dragon, in which a Core unified platform, including Software as a Service and including Platform as a Service (SaaS/PaaS), is hosted in a private cloud environment, which provides Service Creation (multi-channel, location etc.), Interactivity Management, Reporting/ Analytics, and Data Enrichment (Spider feature).
  • the Spider feature resides in the core unified platform.
  • the unified platform interacts with Trigger Events and with 3 rd Party System(s).
  • the unified platform interacts with Multi-Channel, Mobile Web and Apps, Enterprise Systems and Rewards Portal.
  • the unified platform has a Dragon Web user interface (UI).
  • UI Dragon Web user interface
  • Brainstorm is a leading provider of mobile and web based solutions designed to connect brands with customers and to automate enterprise communications. Brainstorm is also a leading provider of mobile solutions that drive positive engagement with end-users through highly targeted, relevant and contextually rich experiences.
  • Our technology is powered by Dragon, a Core unified platform, including Software as a Service and including Platform as a Service (SaaS/PaaS), hosted in a private cloud environment enabling us to offer the latest standards in technology to clients and partners who work with us. See Figure 28 for example.
  • Appendix 1 describes aspects of computing platforms. Appendix 2 describes aspects of Platform as a Service. Appendix 3 describes aspects of Software as a Service.
  • Dragon powers the full suite of Brainstorm solutions including marketing, connectivity, social interaction, location, rewards and more. See Figure 1 for example.
  • the Dragon Core Platform as a Service (PaaS) provides analysis and data optimisation, interactive real time campaigns, reporting and tracking, and segmentation and targeting.
  • the Spider feature resides in the core platform.
  • the Dragon Core Platform as a Service (PaaS) is connected to or interacts with a rewards portal, multi-channel delivery, subscriber events, and operator systems.
  • a primary function of Dragon is to drive engagement by sending and receiving interactive messages to users' mobile devices. All messaging formats are supported; SMS, MMS, email, WAP link, push notifications etc. 2. Complex solutions.
  • Dragon also uses mobile network location data to establish recipient presence.
  • location data By combining location data with profile and behavioural information— a term we describe as 'live insight'— we can empower brands with richer consumer insight to facilitate more intuitive campaigns, right at the point of desire.
  • Dragon's geolocation functionality comprises a range of powerful system features, which allow you to target specific groups of recipients based on their current geographic location. It is possible to geofence areas such as airports, shopping centres, retail stores, or even entire countries and Dragon will be alerted when a consumer enters or leaves that geofence. It can then activate Spider to trigger campaigns based on a whole variety of variables. Other advantageous features of examples of Dragon
  • Ease of integration easily plugs into other systems, databases, API's and other third party systems in real-time to import & export data and build live insight.
  • Quick set-up ability to create customised campaigns without any platform development.
  • Campaigns can be set up and executed within seconds.
  • Scalable can facilitate the set up of campaigns from the very simple to the incredibly complicated.
  • Multi-channel it supports SMS, MMS, email, push notifications and many more.
  • International we support messages in any language, and our platform UI can be translated in any language, and we have advanced support for multiple time zones.
  • Secure & flexible It is an always-on, unified platform, hosted securely in resilient and fully-redundant data centres across six worldwide locations and is securely accessed using permission-based, password protected web access.
  • Reporting & analytics Dragon provides reporting in the form of a visual dashboard with graphical views on activities i.e. total sent, failed, delivered etc. These reports can be further manipulated by searching exact parameters such as dates.
  • SMS SMS, MMS (text, image, audio, video, java), email, WAP push.
  • Geolocation push schedule push services that will target only those users who are located in a certain area.
  • Spider Geofence trigger activate spider services when users leave or enter a geolocation zone.
  • Spider is an advanced 'big data' processing engine that has been rolled out as a new feature in the Dragon platform. Spider is an intelligent rules engine used for building and running customer driven services. This ground-breaking technology allows platform users to apply sophisticated (visual) rules (eg. through an intuitive user interface) to data (user data etc.) and events (CRM data, locational movements etc.) resulting in more effective and compelling interaction with end-users and between systems.
  • visual rules e. through an intuitive user interface
  • Spider uses sophisticated queries to check, cross-reference and update records from multiple sources, including location or situational factors, to build live insight. Up to date, accurate and relevant insight on consumers means campaigns can be more relevant and highly targeted. Instead of simply pushing a message to a recipient list, or responding to an incoming message, Spider services can use a whole set of triggers including geofences, time events (eg. more than one per day), and the arrival of new content to begin campaigns.
  • the Spider (visual) rules engine is a configurable tool that allows a platform user to define a series of customised outcomes /actions based on each end-user/system interaction eg. a trigger. Spider is capable of running multiple data queries (Spider Jobs) in real time meaning that a single service can result in a very large number of outcomes based on the data being processed. An example is shown in Figure 2.
  • Spider can query the customer's profile, buying habits, weather etc. and then select and serve a suitable promotion via MMS. Spider can process a wide range of variables and situational factors inside a query.
  • An example of an outcome/action in this case is an SMS message being sent to a mobile user with a promotion.
  • the trigger (Start) point of a Spider campaign can be initiated in a number of ways ie. Incoming interaction, an external application, time of day etc.
  • Spider services can be triggered using:
  • Activation by an external API Application programming interface
  • the Remote Activation trigger type requires setting a password for activation by an API.
  • Timed activation use the Add Trigger submenu option to configure regular triggers, for example, to activate the service daily at 10.00 am. To utilise this trigger type, you need to indicate the frequency, at which the service will be activated, and include more specific details, if necessary.
  • a Spider Service is selected in Create New Service.
  • create Spider flow there is a Project assignment to Project/Schedule/Set Live, followed by beginning to build a Spider rules tree/ flow.
  • create Trigger eg. shown in Figure 5
  • a trigger is assigned based on geo-fence, or click-through (redirect), or remote activation, timed activation or message activation.
  • step 2b configure Trigger type
  • step 6 'remote activation' was selected requiring an external URL (uniform resource locator) call.
  • step 3a select pre-defined rules
  • step 4a select pre-defined rules
  • step 4a select pre-defined rules
  • step 4a select pre-defined rules
  • step 4a select pre-defined rules
  • step 4a select pre-defined rules
  • step 4a select pre-defined rules
  • step 4a select pre-defined list of rules.
  • step 4a (rule example 1) (eg. shown in Figure 8)
  • a 'Create Message' rule was selected, which prompts a platform user to create an SMS (Short Message Service) or Email message.
  • step 5 configure message
  • step 6a (rule completed to flow) (eg. shown in Figure 10), an outcome/action is completed.
  • step 3b (rule example 2), (see eg. Figure 11) a 'Check if the user is in a list' rule has been selected, presenting the user with an option to select a list name.
  • step 4b configure rule query
  • step 6b (rule completed to flow), (see eg. Figure 13) an 'if rule (a conditional rule) is added.
  • Spider rules may include the following.
  • a send message rule is provided with a function of defining an SMS or Email message to be sent to users. One can enter the text to be sent or choose the content obtained from an external source, and select the routing on which to send the message.
  • a 'send message from content area' rule is provided with a function of sending users an SMS, MMS or Email message that is held in the Dragon Content area.
  • a 'Communicate with a Web server' rule is provided with a function of connecting to an application running outside of Dragon.
  • the application can process the information and then return either an http response code or an XML (Extensible Markup Language) response back into the Spider tree.
  • An 'Add/Remove the user from a list' rule is provided with a function of adding the user's record to a list in the Dragon Users area or removing the record from a specified list.
  • a 'Check if the user is in a user list' rule is provided with a function of checking for the user's data in the Dragon Users area to see if it is in a list.
  • a 'Set a Field” rule is provided. This step offers a choice between two options. "Set a field in the user record” allows you to place a string, a result of arithmetic calculation or a system information value in a particular user record field. "Set a temporary field” offers the same options for a temporary field existing for the duration of the service, but not permanently anywhere in Dragon.
  • a 'Check a field or value' rule is provided. This step is intended for checking values in a user record or a temporary field, as well as for comparing two arbitrary values via the four respective options: "Check a field in the user record”, “Check a temporary field”, “Check System Information” and "Compare two values”.
  • the options can be used to check if a value is/is not equal, earlier or later (for dates), less or greater than the other value and then branch the tree accordingly. It's also possible to check whether a user record field or a temporary field is empty/ not set or set to a non-empty value.
  • An 'Add a comment' rule is provided.
  • the function is to add a comment box to the service tree. Comments can be used to add informative notes for either yourself or other people who will be working with the service.
  • a 'Log an Event' rule is provided.
  • the function is to store essential details of the Rules stages that can be referred to later in the service or passed to external applications.
  • a 'Wait for a While' rule is provided.
  • the function is to delay the execution of the Rules branch following this operation for a predefined time eg. up to 24 hours.
  • Spider is an advanced data processing engine that has been rolled out as a new feature in the Dragon platform. See for example Figure 1. See for example Figure 28.
  • a data source provides data which if it satisfies a trigger (eg. event etc.) and if a particular query or rule is satisfied, this results in an outcome or action.
  • a trigger eg. event etc.
  • MSISDN Mobile Subscriber Integrated Services Digital Network-Number
  • a situational factor e.g. geo-zone
  • a variable factor e.g. weather
  • the Spider Formula is defined within the Dragon platform as a Spider Service. This is done by configuring Rules via a graphical interface that defines the combinations of the Triggers, Queries/Rules and Outcomes that are required for a particular objective to be met.
  • Figure 2 shows an example of a complete Spider Rules tree, highlighting one possible combination of a trigger, rules and outcomes for achieving a particular user interaction.
  • the power and flexibility offered by the Spider feature is as a result of the range and combination of supported triggers, queries/rules and outcomes, which act upon user data that may reside internally within the Dragon platform or which may be received from external systems.
  • These triggers, queries/rules and outcomes are defined via a graphical interface through the configuration of Rules, making it possible to perform a vast range of functions for the following purposes: ⁇ Create campaigns with a 360° view of your customers (i.e. which provide an enhanced customer profile). See for example Figure 15.
  • Spider Triggers Spider services may be triggered by: Manual activation
  • the Spider Service is activated immediately for a specified User List.
  • the configured rules/ queries are executed against the user data and the defined outcomes are performed.
  • An example of a scenario that may be achieved that is triggered using a manual activation trigger is as follows: A music company wants to profile their customer database into users between 20-25yrs of age who buy HipHop albums in store. Spider initiates a manual query that searches from multiple data sources (POS: Point of sale, CRM: Customer relationship management) to collect customers in age brackets and check for those buying in the HipHop category. This data is combined to create a new customer segment for future marketing campaigns
  • An example Spider Formula for this example is as shown in Figure 16.
  • user data Customer database, POS, CRM etc
  • a manual trigger is used to begin the process, and then the input user data is checked for customer age (20-25 years old) and for purchase of HipHop tracks. Those customer records which satisfy these conditions are used to create a new user list for use in future marketing campaigns.
  • the Remote Activation option allows an external application to call the system and activate a Spider service.
  • This trigger type can be used, for instance, if an external system is expected to send in some user record data, either independently or as part of Spider's web communication requests. Having received the data, the Rules can then process it: for example, update the respective user records in the Dragon user database.
  • a URL is automatically created to which an external system may send messages in accordance with the Spider API set.
  • the platform user is presented with the URL and password that should be used by the external application when a Remote Activation Trigger is created, as shown for example in Figure 17.
  • the Spider API enables XML documents to be sent between the Spider Service and external systems. Data may be posted in various formats such as XML (SOAP), JSON or as URL encoded data.
  • SOAP originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks. It relies on Extensible Markup Language (XML) for its message format, and usually relies on other Application Layer protocols, most notably Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.
  • HTTP Hypertext Transfer Protocol
  • SMTP Simple Mail Transfer Protocol
  • JavaScript Object Notation is a text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects. Despite its relationship to JavaScript, it is language - independent, with parsers available for many languages.
  • the Redirect Activation trigger (or Redirector trigger) tracks and responds to the activity of users who have been sent a message containing an external web link. Once a user has clicked the link, the trigger activates the Spider service, and the user in question will be processed according to the configured Rules.
  • the Dragon can not only determine whether the message has been delivered and the embedded link clicked, but also check if the external website's goal has been fulfilled (for example, a product has been purchased) by the tracked user. The successful result of the user's activity on the external website will be reflected in the Fulfilled message.
  • the Spider service can be configured with a condition on this message status and thus obtain precise data about your Dragon campaigns and only target specific groups of users.
  • a Spider service with an enabled Redirector trigger can "watch" one or more Dragon campaigns that send users messages with embedded external URLs. Once a user has followed the link, the Spider trigger will also obtain a range of variables, which you can subsequently use in your service.
  • the Redirect Activation essentially provides the ability to track "click- through”. " This enables the detailed reporting of metrics that can measure the success of a marketing campaign, such as the number of users who have actively clicked on the links that have been provided in the communication to the customer.
  • a variable value may provide for redirection (eg. if a user clicks a link), or it may provide for fulfillment (if a user completed a target process at an external website).
  • a variable may provide for redirection.
  • a variable may provide for a unique ID of a click, in redirection.
  • a variable may provide an ID of a message in which a redirection link was embedded.
  • a variable may provide a URL used as a link in a message.
  • a variable may provide an ID of the Dragon service which sent the message with the embedded redirection link.
  • the Geofence trigger activates the Spider service when a tracked user crosses the boundaries of a specific geographic zone.
  • the service then automatically creates a Job, which processes the user in question according to the currently configured Rules.
  • the Geofence trigger requires the platform user to select a user list containing the tracked users who are to be "watched" by this Spider Service. Once the user list is selected, the platform user is presented with a map on which a geolocation zone may be selected. An example is shown in Figure 19, which shows a polygonal geolocation zone including Greater London in the UK.
  • the geolocation zone selection may be defined using the map provided within the Dragon User Interface, or it may be imported/exported from/to a file eg. a KML (Keyhole Markup Language) format file. This is an XML notation for expressing geographic annotation and visualization compatible with applications including Google Maps and Google Earth.
  • the configuration of the Geofence trigger results in the establishment of a custom communications channel with a third party user location tracking system, resulting in information being received by the Spider Service each time a user enters or leaves the defined geolocation zone. The information that is received each time the Spider Service is triggered may be as shown for example in Figure 20.
  • a variable may provide a returned value of LeaveZone or EnterZone.
  • a variable may provide the ID of the tracked user list that the user belongs to.
  • a variable may provide the name of the tracked user list that the user belongs to.
  • a variable may provide an internal ID of the Geofence Trigger.
  • a variable may provide an ID assigned by the external specialised network to the Geofence trigger.
  • a variable may provide a reference to the geographic information record stored by the external specialized network.
  • Spider runs multiple queries on the location zone, the customer's demographic profile, the closest retail outlet offering vouchers d. Spider serves a voucher to the end-user
  • Spider runs a query to establish the month and then determines the monthly special offer to present the customer for the local Tesco store
  • Spider runs a query to establish the Season (Summer) and matches this to the profile of customer stored on Topshop's CRM database. Spider then combines this information to serve the customer with a promotion on Summer sandals
  • Rules may be defined to also restrict the number of messages received by the user should they enter and leave a defined Geolocation frequently.
  • This trigger is activated by a custom back-end process within the Dragon platform that interfaces with a third party service in order to receive data on when a mobile user enters an international roaming zone. For example, when a user travels to France for example, indication of this is received by the Dragon platform that is then used to trigger a Spider Service that is configured with the International Roaming Trigger. The rules and outcomes that are defined for the Spider service are then executed for those users that are defined in the selected user list for the service.
  • VLRID the VLR (Visitor Location Register) ID for the country that the handset has entered
  • a message is sent to the customer's credit card company CRM system to indicate the customer's location.
  • the credit card company may use this information to aid them in authorising any credit card transactions that may be made by the customer whilst abroad
  • the Timed Activation trigger can be used to launch your service regularly at a specified interval for a particular user list.
  • the Timed Activation Trigger may be configured to activate the service for a given user list once per day at a specified time, weekly on specific days at a particular time or monthly on specific days during the month.
  • An example of how Timed Activation Triggers may be used is as follows:
  • Spider is configured to start a query at 8am for a retail brand to capture all new customers who have recently made a purchase and entered a point of sale prize draw.
  • a new customer database is populated with this data for entry to a prize draw at the end of the month.
  • the Message Activation Trigger may be used to launch the service on receipt of an incoming message arriving to an incoming route.
  • the service is triggered when a user sends an SMS to a short code which is configured as an incoming route within the Dragon platform.
  • Spider Triggers it is possible to add multiple Spider Triggers to a Spider Service. For example, it is possible to add a Timed Activation Trigger to a Spider Service in order to send rail travel information to a user each morning at 7am.
  • the same service may also be configured with a Remote Activation Trigger so that a third party travel information system may send updates to the travel information to the Spider Service as they become available. These travel updates may then be forwarded via SMS to the end user as and when received and based on the user preferences that are stored.
  • a 'Send message' rule with a function of defining an SMS or Email message to be sent to users. You can enter the text to be sent or choose the content obtained from an external source, and select the routing on which to send the message.
  • a 'Send message from content area' rule with a function of sending users an SMS, MMS or Email message that is held in the Dragon Content area. You can send either the most recent piece of content held there or select a specific piece of content based on reference number or subtype.
  • 'Set a field' rule. This step offers a choice between two options. 'Set a field in the user record' allows you to place a string, a result of arithmetic calculation or a system information value in a particular user record field. 'Set a temporary field' offers the same options for a temporary field existing for the duration of the service, but not permanently anywhere in Dragon for example, if you are doing a web communication with an external application and that application needs to receive a field such as 'id number', you can create and set this field in the tree before initiating the post to the external application. Please note that in a Spider version, you cannot use temporary fields in a SMS or Email message body. Only user record fields are supported in that version for that purpose. In another Spider version, you can use temporary fields in a SMS or Email message body.
  • a 'Check a field or value' rule This step is intended for checking values in a user record or a temporary field, as well as for comparing two arbitrary values via the four respective options: Check a field in the user record, Check a temporary field, Check System Information and Compare two values.
  • the options can be used to check if a value is/is not equal, earlier or later (for dates), less or greater than the other value and then branch the tree accordingly. It's also possible to check whether a user record field or a temporary field is empty/not set or set to a non-empty value.
  • There is an 'Add a comment' rule This can be used to add a comment box to the service tree. Comments can be used to add informative notes for either yourself or other people who will be working with the service.
  • 'Log an event' rule. This can be used to enable the storage of essential details of the Rules states that can be referred to later in the service or passed to external applications.
  • a 'Wait for a while' rule This can be used to enable the delay of the execution of the Rules branch following this operation for up to a predefined duration eg. 24 hours.
  • Email SMS and Email messages may be personalised by incorporating user data into the message itself. This is illustrated by the Rules shown in Figure 21 by way of example. This example is: if the user field VotedCountry has a particular value, then set the user field VotedCountry to 'Bulgaria', and in all other cases send an SMS "You have already voted, thanks”.
  • the following information may be required for defining an SMS to send to the user:
  • SecondNamePthere ⁇ means that, if the FirstName field is set in respective user record field, the user's first name will be inserted into the message body. If the field is not available or empty, the variable will be substituted by "there" - an alternative variant specified after the question mark. • May Use Unicode - select Yes, if the message will use Unicode character sets (e.g. Chinese, Hindi or Arabic characters).
  • Max segments in a long message set the maximum number of segments a long SMS message can be split into. Each segment counts as one SMS. Please note the commercial implications of sending long messages with more than one segment.
  • Originator - enter the name of the message sender, which you want to be displayed to the recipient.
  • the originator can also be a phone number (a short code or a long number) to allow the user to reply to the message.
  • Validity period - indicate how long the message centre will continue attempts to deliver the message to a user, before it expires.
  • a Spider service can grab an SMS, MMS or email message stored in Dragon's Content area and send it to the user.
  • This function is similar to the Send Message function in its outcome, but offers additional flexibility to define and store the content to be sent to users within a central repository which may be shared between Spider Services, rather than define the message on a per service basis. Similar to the Send Message option, user fields may be substituted into the message in order to personalize it for each user. Communicate with a Web server
  • Spider service One of the most flexible features of a Spider service is its ability to communicate with external web applications located either somewhere else in the local environment or anywhere on the Internet.
  • This functionality opens various possibilities to obtain and share user data, and, in this way, keep Dragon user records up-to-date or set up intelligent data transfers between various destinations.
  • the Communicate with a Web server option sends information about the user to an external web application and receives a response.
  • the data contained in the response can be stored permanently in a user record or can be held and used as a variable in any Rules box that follows this web communication operation in the tree. Using such a variable in subsequent operations allow the value returned to be operated on or to be tested to control the flow through the remainder of the tree.
  • Check/Add/Remove User from User List Spider services are designed to serve as a flexible user data processing tool. By setting up Rules correspondingly, you can check if the user is a member of a particular user list, and add or remove users who meet specific criteria to and from user lists. These operations can be particularly helpful for tracking and grouping users during or following a massive campaign, and thus enable automated background systematisation of your Dragon user records.
  • FIG. 22 An example of Rules for Checking/Adding/Removing Users from lists is shown in Figure 22.
  • it is checked if a user is in the list 'Colour Unknown'. If not, the colour is known. If yes, then it is checked if the Colour quantity is red. If no, check for other colours. If yes, add the user to the list 'Colour Red' and remove the user from the list 'Colour Unknown'.
  • the function to check if a user belongs to a particular list is particularly useful in determining if the user has participated in previous campaigns for example, or as a security measure for privileged users. Apart from the user lists currently held in a Dragon database, Spider user list selection box features the ⁇ ListName ⁇ option.
  • the ⁇ ListName ⁇ option allows the checking, removal or addition of the user to an existing user list, whose name is determined in the course of the Rules execution by means of extracting it from a custom field.
  • the Set a field function is one of the most essential operations in Spider. It allows the modification of existing user record fields, as well the ability to create and update temporary fields that hold data for the duration of the service, but not permanently anywhere in Dragon. This step offers a choice between two options:
  • • 'Set a field in the user record' allows you to set a particular user record field to a string, a result of arithmetic calculation or a system information value.
  • • 'Set a temporary field' offers the same options as above for a temporary field, which exists only for the duration of the service.
  • the 'Set a field in the user record' option may be used to modify user database records in the course of Spider Rules execution.
  • Updating a user record can be particularly useful, for example, if you want Dragon to automatically update user account balances or change their profile data like name, postcode, age fields, etc. based on the information received from an external source.
  • a temporary field can be used as a local variable and store a piece of information for the duration of the service, but not permanently in the system. Fields in the user record should be used if the data is to be stored permanently. Temporary fields can be created and referred to at any point in the Spider tree. If an operation refers to a field name and that field isn't a configured field in the user record, the Spider service will create and use it as a temporary field. This field content may then be referred to and modified at any later stage in the Spider service tree. Fields values may be defined as being of the following types:
  • String A string variable can be manipulated using string functions, for instance, calculate the number of characters in a field value, convert upper to lower case and vice versa, and so on.
  • System Information allows for the utilisation of system information variables, such as current date and time, user's mobile network, as well as a range of Dragon's system entities (e.g. Spider Job IDs, client name, etc.) as field values.
  • system information variables such as current date and time, user's mobile network, as well as a range of Dragon's system entities (e.g. Spider Job IDs, client name, etc.) as field values.
  • Dragon's system entities e.g. Spider Job IDs, client name, etc.
  • the 'Check a field or value' action box enables the inspection of the content of a temporary or user field. This essentially means that the service will compare the field value to a value of your choice. It's also possible to check two arbitrary values and branch the Spider service tree depending on the result of their comparison.
  • Checking a user field or a variable is an inseparable part of user screening and segmentation via a Spider service. For example, to ensure that a message reaches only the right user group in the current database, a Spider service can be set up to perform a series of checks in order to single out only those user records that answer all required conditions.
  • a Spider service can be set up to perform a series of checks in order to single out only those user records that answer all required conditions.
  • Geozones are defined surrounding Waterstones stores and a Spider Service is activated which is triggered when the user enters the geozone.
  • the Spider Service may be defined to send the user an SMS providing the address of the nearby Waterstones store as well as a personalized promotional offer based on their reading preferences (crime fiction, biography etc.) against the current set of relevant promotional offers available at the time in-store. This outcome is achieved through the use of a Geofence activation trigger combined with Queries and Rules to establish the user's reading preferences against available offers, which are used to deliver an SMS with the relevant promotional offer to the user.
  • the Add a comment box can be used to add an informative note to your Spider service tree. Comments do not affect any service stages and are only meant to contain hints about a particular stage. Adding comments can be useful, as they help to make large service trees easier to read and navigate. An example of rules with use of Comments is shown in Figure 24. Log an Event
  • the 'Log an event' box is intended for storing essential details of the Rules stages and may be referred to later in the service or passed to external applications. It may also be used to debug complex services. For example, by assigning a system information variable (e.g. Reason for most recent error) to a temporary field in a Spider service and logging that field, the information variable value may be viewed quickly and directly from the Spider service itself to determine the reason for error. Wait for a While
  • a system information variable e.g. Reason for most recent error
  • the 'Wait for a while' operation delays further processing of the user by the current service for a particular period of time eg. up to 24 hours in the future.
  • the delay may be specified in one of the three following ways:
  • variable may be in one of the three formats listed above or the operation may be ignored.
  • Spider Use Cases The following provides examples of use scenarios that may be met by Spider services, with an explanation of the triggers, Rules and Outcomes that may be combined to achieve the use scenario.
  • a customer travels to a foreign destination.
  • Spider receives an alert that the customer has travelled to place x on date y and begins to store this behavioural data to build up a trend pattern on the customer.
  • the rules involve Internal storage of information relating to the customers' travel pattern, and/or external Web Server calls to pass on the travel data to other system(s).
  • Outcomes are a build-up of travel data per customer and/ or sending of this information to an external system. This data may then be used by the company for any purpose as required.
  • a company has two CRM databases that need to be merged to make a single master database (passing data to a third new database).
  • the company uses Spider to create rules to filter the data from the original two databases to subsequently populate a new database.
  • the rules involve Rules for checking/filtering/storing data received from each Customer relationship management (CRM) system and sending of data based on the defined criteria to a third database.
  • the rules for performing this merging may also use data that is stored internally within Dragon as well as the data received from each CRM system.
  • Outcomes are storage of merged data and/ or sending of filtered data as required to an external system.
  • a music company wants to profile their customer database into users between 20-25yrs of age who buy Hip Hop albums in store.
  • Spider initiates a manual query that searches from multiple data sources (POS, CRM) to collect customers in age brackets and check for those buying in the Hip Hop category. This data is combined to create a new customer segment for future marketing campaigns.
  • POS, CRM data sources
  • the rules involve Calls to multiple external applications as required to extract information and create a list of users matching the defined customer segment.
  • Outcomes are Creation of a user list which may be used for future marketing campaigns.
  • the Spider service itself may also send SMS/MMS/email communication(s) to the identified users if required. An example is shown in Figure 16.
  • a Customer enters a geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs multiple queries on the location zone, the customer's demographic profile and the closest retail outlet offering vouchers. Spider serves a voucher to the end-user. There is a Geofence Trigger when the user enters a defined Geofence zone.
  • the rules involve querying of data from either external applications through external system calls and/ or checking of the internally held user profile data and information on retail outlet data. Outcomes are sending of SMS/MMS/email to the end user to deliver the voucher(s) determined as appropriate/ relevant based on the Rules that are defined.
  • a Customer walks into a supermarket chain (eg. Tesco) geo-fenced zone.
  • Spider runs a query to establish the month and then determines the monthly special offer to present the customer for the local supermarket chain (eg. Tesco) store.
  • the rules involve a query to identify special offers matching the current month. Outcomes are SMS/Email/MMS sent to the user containing the special offer details for the current month.
  • a customer walks into a fashion chain (eg. Topshop) geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs a query to establish the Season (here, Summer) and matches this to the profile of customer stored on fashion chain's CRM database. Spider then combines this information to serve the customer with a promotion on summer sandals. There is a Geofence Trigger when the user enters a defined Geofence zone.
  • the rules involve Query of information relating to seasonal promotions, matching the current season as well as information from the user profile to determine their preferences, combined to determine the relevant promotion(s) for the user. Outcomes are SMS/MMS/Email sent to the customer with the promotion details that were identified by the Rules.
  • Spider is configured to start a query at 8am for a retail brand to capture all new customers who have recently made a purchase and entered a point of sale prize draw. Spider queries the retail stores POS and withdraws details of customers who have entered the prize draw within the last 24hrs. A new customer database is populated with this data for entry to a prize draw at the end of the month. There is a Timed Activation Trigger to start the Spider service at 8am.
  • the rules involve a Call to External System point of sale (POS) to extract the customers who have entered the prize draw in the last 24 hours. This list of customers is stored either internally or sent to another external system for storage. Outcomes are the storage of users who have been identified as entrants to the prize draw. The storage may be internal or passed to an external system.
  • the Spider Service may also be defined to execute the prize draw at the end of the month and inform the users of their success via an SMS/MMS or email message.
  • a customer enters a geo-fenced zone.
  • Spider initiates a query to check the local weather. Result returned as hot and sunny, so Spider selects a retail voucher from a retail chain (eg. Sunglass Hut) and presents to customer.
  • a Geofence Trigger when user enters a defined Geofence location.
  • the rules involve Querying of local weather through external system call based on the location of the user. Matching of the result with internal (or external) data corresponding to retail vouchers matching the users location and current weather for that location. Outcomes are the sending of an SMS/MMS/ email to deliver the retail voucher as identified by the Rules.
  • a user has a meeting across the other side of town and there is heavy traffic and raining.
  • a Spider Service integrated with the users calendar can be set to send an alert 30mins before the meeting giving the user sufficient time to leave and perhaps buy an umbrella along the way.
  • the rules involve Checking of internal and/ or external data to determine users present location, travel time to meeting also considering traffic conditions and also determining the weather conditions in order to establish when to send alert to user as well as additional content such as retail outlets on-route selling umbrellas. Outcomes are the sending of an SMS/MMS/Email alert as determined by the Rules.
  • a Spider Service triggers an alert to activate the central heating at home within 5 minutes of the user approaching home and also serving a voucher for a winter car check-up' and 10% off snow chains at your local garage.
  • There is a Geofence Trigger when user enters a defined Geofence location with a radius around the customer's home of a distance equating to a 5 minute journey home.
  • the rules involve Checking of internal/ external data for weather conditions and relevant promotions to send to the user.
  • a customer travels abroad.
  • a Spider service is triggered when the customer has left their home country resulting in a travel insurance policy being activated immediately on a pay as you go basis (with no need to inform the travel insurance company beforehand directly).
  • the rules involve checking the user profile to determine if the customer has a pre-agreed pay-as-you-go travel policy and if so an alert is sent to the travel insurance company informing them that their customer is abroad and therefore their pay-as-you-go travel insurance policy should be activated.
  • Outcomes are sending of an alert to a remote travel agency system informing it of the need to activate the pay-as-you-go travel insurance policy for the customer.
  • a customer travels abroad.
  • a Spider service is triggered when the customer arrives at their destination.
  • a notification is sent to the customer's bank automatically resulting in a travel marker being activated on the customer's account to make sure that their card is not blocked.
  • There is an International Roaming Trigger when the customer enters a foreign country.
  • the rules involve Rules for establishing the customer's bank account details in order to inform the bank that their customer is abroad. Outcomes are sending of an alert to the customer bank so as to set a marker on the customer's account ensuring that their card is not blocked.
  • a supermarket chain (eg. Tesco) customer purchases items on-line for collection in-store.
  • a Spider service is triggered when the customer enters a geo-fenced zone around the supermarket chain (eg. Tesco) store.
  • An alert is sent to the store informing the customer service staff that the customer is approaching so that they can prepare the items and serve the customer more efficiently.
  • There is a Geofence Trigger when the customer enters the Geofence location surrounding the supermarket chain (eg. Tesco) store.
  • the rules involve Rules for checking the customer's user profile on entering the Geo-fence and determining if the customer has orders awaiting collection. This information is used to send an alert to the supermarket chain (eg. Tesco) staff if the customer is expected to pick up an order.
  • Outcomes are sending of an alert to supermarket chain (eg. Tesco) staff informing them of the imminent arrival of a customer picking up an order.
  • a customer has signed up for a traffic alerts service. Whilst driving, they enter a geo-fence zone in which there is heavy traffic. An alert is sent to them informing of the heavy traffic and possible alternative route suggestions as well as any promotional offers at nearby retail stores the customer has signed up for. There is a Geofence Trigger when the customer enters a predefined Geofence Zone which is marked as having heavy traffic. The rules are used to determine possible alternative routes that may reduce the journey time for the user as well as promotions at nearby retail stores that the customer may be interested in. Outcomes are sending of an alert to inform the customer of the heavy traffic and alternative route as well as information of nearby promotions. The alert may be received as a voice message via the customer's phone/ car kit.
  • a bank sends out a monthly SMS based account statement/balance/payment reminder to Credit Card Banking customers.
  • Customers with a history of non-payment or late -payment can be siphoned into a 'call connect' process flow.
  • a successful delivery receipt (issued at the network operator layer) is triggered to instruct Spider to automatically dial a stealth call between a bank call centre operative and the customer.
  • Trigger which is a Network Delivery Receipt (if failed, then no action; if delivered, then initiate Spider job or other sequence).
  • a Spider job initiates a Gateway API request (with the Call Connect IVR system) with the MSISDN value of the customers mobile handset in order for the call to be established between the bank call center operative and the customer.
  • Outcomes are that a call is established between the call center operative and the bank's customer as soon as it is known that the customer's handset is active, as it has received the monthly informational SMS.
  • a customer enters a geo-fenced zone. Spider initiates a query to check the current pollen count. A result returned is a high pollen count, so Spider selects a retail voucher from a medicine store (eg. Boots) offering 10% off anti-allergy products and presents to customer.
  • a medicine store eg. Boots
  • Geofence Trigger when user enters a defined Geofence location.
  • the rules are that a Spider job makes a Web Communications call to an external 3rd party supplier of pollen count information. Depending on the pollen count returned, and a set of predefined ranges for Low, Medium and High pollen count ranges, the Spider job serves the appropriate retail voucher to the customer.
  • Outcomes are that a customer receives the medicine store (eg. Boots) 10% discount for anti -allergy products voucher via Email/MMS/SMS which they can present to the store when purchasing said products.
  • the medicine store eg. Boots
  • a customer survey is broadcast via SMS to an audience.
  • the survey contains a five answerable questions flow.
  • Customers who respond with negative feedback are provided an SMS text option to receive a call back to discuss their feedback. If customer responds e.g. ⁇ - for yes call me back' this triggers a call connect between service provider and customer.
  • the rules are that a Spider job initiates a Gateway API request (with the Call Connect IVR system) with the MSISDN value of the customer's mobile handset in order for the call to be established between the service provider and the customer.
  • Outcomes are that a call is established between the service provider and the customer immediately on receipt of the " 1- yes call me back" SMS from the customer.
  • a customer is navigated through a voice command driven telephone line service. Based on voice responses, Spider can be triggered to initiate a sequence i.e. resulting in call back, SMS confirmation etc.
  • Spider can be triggered to initiate a sequence i.e. resulting in call back, SMS confirmation etc.
  • a customer makes an automated telephone line payment, and at the end of the call they are asked if they would like email and/ or SMS confirmation of purchase summary.
  • a positive response would trigger Spider to query an invoicing receipt system and to send an automated SMS and/or email to a customer.
  • a Trigger is based on a voice command. Voice command outcomes are predefined in Spider to generate a specific action.
  • the rules are that a Spider job is triggered by the IVR platform via a Gateway API call.
  • the API call contains the information relating to the selection made by the customer during the voice command driver telephone call.
  • the Spider process Based on the information received into Dragon in this call, the Spider process initiates Gateway API calls to an invoicing receipt system to determine the customer's purchase summary, and sends an SMS or email to the customer containing the details of the purchase summary as retrieved from the invoicing receipt system.
  • Outcomes are that the customer receives information relating to their purchase via email and/or SMS following a call to an IVR platform which determines what their request is via voice command prompts.
  • a customer inbound SMS text message contains a statement (eg. "This is a bad service” is recognised as a negative sentiment due to keyword 'bad').
  • Spider Upon receipt Spider initiates a pre-defined action i.e. initiating a call connect to the customer to facilitate a direct conversation to enhance customer experience.
  • a Trigger is based on a sentiment keyword that falls into a particular category eg. "this service is rubbish” implies a negative action, or "I loved this campaign” implies a positive action.
  • the rules are that a set of "sentiments” are configured within the Spider job that is receiving the incoming SMS messages. The incoming message is parsed and compared against the set of predefined "sentiments” in order to determine its negativity or positivity.
  • the Spider job makes an API call to the Call Connect IVR platform to initiate a call between the service provider and the customer.
  • Outcomes are that an SMS message is evaluated for sentiment and if it is determined to be "negative", a call is established between the service provider and the customer.
  • a customer purchases an item online and selects in-store collection as the delivery option.
  • Spider is triggered resulting in an email/SMS to the store's customer service department informing them to prepare the order for the customer who will collect it shortly.
  • a trigger is a Geofence trigger when the customer crosses a geofence defined around the stores premises. The rules are that the user record containing the customer's details including their order details and mobile phone number is passed to Dragon during the order creation when in- store delivery option is selected.
  • Spider is initiated resulting in an email/SMS to the store customer services team containing the order details informing them that the customer is nearby.
  • Outcomes are that the customer order is ready for the customer to collect as they approach the collection desk. The customer experience is made more efficient and the collection desk is more able to manage the influx of customer collections effectively.
  • Use scenarios described in this document may be implemented using the Dragon platform, or they may be implemented in other ways.
  • the use scenarios are inventions which are distinct from other inventions such as the methods, systems and computer program products described herein.
  • a customer travels to a foreign destination. Spider receives an alert that the customer has travelled to place x on date y and begins to store this behavioural data to build up a trend pattern on the customer. This trend data is used by Travel Companies to share special offers etc.
  • a company has two CRM databases that need to be merged to make a single master database (passing data to a third new database).
  • the company uses Spider to create rules to filter the data from the original two databases subsequently to populate a new database.
  • Spider + Data Processing and Segmentation In an example, a music company wants to profile their customer database into users between 20-25yrs of age who buy HipHop albums in store. Spider initiates a manual query that searches from multiple data sources (POS, CRM) to collect customers in age brackets and check for those buying in the HipHop category. This data is combined to create a new customer segment for future marketing campaigns. An example is shown in Figure 16.
  • a customer enters a geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs multiple queries on the location zone, the Customer's demographic profile, the closest retail outlet offering vouchers. Spider serves a voucher to the end-user.
  • Spider + Month In an example, a customer walks into a Tesco geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs a query to establish the month and then determines the monthly special offer to present the customer for the local Tesco store.
  • a customer walks into a Topshop geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs a query to establish the Season (here, Summer) and matches this to the profile of customer stored on Topshop's CRM database. Spider then combines this information to serve the customer with a promotion on Summer sandals.
  • Season here, Summer
  • Spider + Time of Day is configured to start a query at 8am for a retail brand to capture all new customers who have recently made a purchase and entered a point of sale prize draw. Spider queries the retail stores POS and withdraws details of customers who have entered the prize draw within the last 24hrs. A new customer database is populated with this data for entry to a prize draw at the end of the month.
  • a customer enters a geo-fenced zone. Spider initiates a query to check the local weather. Result returned as hot and sunny, so Spider selects a retail voucher from the Sunglass Hut and presents to customer.
  • Spider captures information/ data and processes this by using rule functionality to determine the outcome action.
  • a pre-defined list of built-in triggers, queries and customisable outcomes can be leveraged in the platform to create an exchange and interaction of information/ data i.e. if x is received then send y and update system S.
  • Spider allows for a 'pluggable architecture' environment where very unique rules scripts specific to a client requirements can be plugged in to drive more custom interactions i.e. if site x is visited then match customer y to content category C.
  • Figure 15 shows an example of how Spider can leverage different data such as a customer profile, customer location data and customer behavior awareness to provide an enhanced customer profile, or a 360 degree view of a customer.
  • Spider 'queries' can be checked against a range of variables. These variables can be added through a pluggable architecture framework which allows new/ additional Spider boxes to be incorporated in the UI (user interface) to run Spider campaigns eg. weather box, time box etc.
  • Dragon is a single unified core platform that encompasses all communication channels ranging from SMS, Email, Web Communication etc. This means Spider can generate an action/ outcome that can lead to any communication type included in the platform and not have to call an external system to carry out the communication.
  • Mobile apps are an integral part of a brand's mobile strategy as consumers have realised that apps can be valuable tools for them when they're on the go. But how do you make sure that your mobile app will drive additional sales or facilitate self-service, as well as adding real value to your consumers? How do you ensure your app is built on the right infrastructure (native apps, html 5 Web apps, or hybrids) for your business and budget? We are different to other app providers because we don't just build you an app. We work in a consultative way to create a strategy and an approach that will suit your consumers because its success will be driven by their appetite to engage with it. And we have Dragon. Dragon is our unified cloud platform that acts as a middleware engine for powering enterprise grade apps. It is a comprehensive and feature rich platform that seamlessly transfers information from your systems across a wide range of different UI's (user interfaces), devices and platforms.
  • Our platform creates 'live insight', a powerful combination of profile, behaviour and location information so we can begin to build a picture of exactly how, when and where each consumer is engaging with you. When are they accessing your app, what are they doing on it, how long are they spending on it, how are they moving from one device app to another, and a whole host of other options. This information is critical if you're looking to build up the functionality within your app, continuously improve it, and be progressive.
  • Live insight can be used to turn your mobile app into a real channel for your business. You can sell through it, capture information on consumers, inform consumers of different promotions, products or services, and turn it into something incredibly meaningful for you and your consumers.
  • a computing platform includes a hardware architecture and a software framework (including application frameworks), where the combination allows software, particularly application software, to run.
  • Typical platforms include a computer architecture, operating system, programming languages and related user interface (run-time system libraries or graphical user interface).
  • a platform is a crucial element in software development.
  • a platform might be simply defined as a place to launch software.
  • the platform provider offers the software developer an undertaking that logic code will run consistently as long as the platform is running on top of other platforms.
  • Logic code includes bytecode, source code, and machine code. It actually means execution of the program is not restricted by the type of operating system provided.
  • Java The Java platform runs programs written in the Java language. Java source code is "compiled" to an intermediate-language bytecode which is then interpreted by an interpreter, the Java Virtual Machine (JVM), which then interfaces that program with the Java software libraries. In smartphones, personal digital assistants (PDAs) and other wireless mobile devices, these libraries are the Java ME. Some phones, even without a full operating system, enable Java programs such as games to operate. Java and the bytecode are said to be platform-independent. But this is because Java is the platform as well as a programming language. Software really cannot operate without a platform or be platform independent. The programming language is referred to here, meaning the programmer need not be concerned about the hardware or operating system platform, nor will the language change with a different platform.
  • SAP NetWeaver is SAP's integrated technology computing platform and is the technical foundation for many SAP applications since the SAP Business Suite. SAP NetWeaver is marketed as a service-oriented application and integration platform. SAP NetWeaver provides the development and runtime environment for SAP applications and can be used for custom development and integration with other applications and systems. SAP NetWeaver is built using primarily the ABAP programming language, but also uses C (programming language), C++, and Java EE. It also employs open standards and industry de facto standards and can be extended with, and interoperate with, technologies such as Red Hat's JBoss, Microsoft .NET, Java EE, and IBM WebSphere.
  • C programming language
  • Java EE Java EE
  • Wintel that is, Intel x86 or compatible personal computer hardware with Windows operating system
  • Video game consoles any variety
  • Apple Pippin a Multimedia player platform for video game console development RISC processor based machines running Unix variants
  • Midrange computers with their custom operating systems such as IBM OS/ 400 Mainframe computers with their custom operating systems, such as IBM z/ OS Supercomputer architectures
  • PaaS Platform as a service
  • SaaS software as a service
  • IaaS infrastructure as a service
  • PaaS the consumer creates the software using tools and/or libraries from the provider.
  • the consumer also controls software deployment and configuration settings.
  • the provider provides the networks, servers, storage and other services.
  • PaaS offerings facilitate the deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities.
  • PaaS vendor offers application hosting and a deployment environment, along with various integrated services. Services offer varying levels of scalability and maintenance.
  • PaaS offerings may also include facilities for application design, application development, testing and deployment as well as services such as team collaboration, web service integration and marshalling, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation. These services are generally provisioned as an integrated solution over the web. Key characteristics
  • PaaS offerings typically attempt to support use of the application by many concurrent users, by providing concurrency management, scalability, fail-over and security.
  • the architecture enables defining the "trust relationship" between users in security, access, distribution of source code, navigation history, user (people and device) profiles, interaction history, and application usage. Integration with web services and databases
  • SaaS Software as a service
  • On-demand software supplied by Independent software vendors or “Application-Service-Providers” (ASPs)
  • ASPs Application-Service-Providers
  • SaaS is a software delivery model in which software and associated data are centrally hosted on the cloud.
  • SaaS is typically accessed by users using a thin client via a web browser.
  • SaaS has become a common delivery model for many business applications, including Office & Messaging software, DBMS software, Management software, CAD software, Development software, Gamification, Virtualization, accounting, collaboration, customer relationship management (CRM), management information systems (MIS), enterprise resource planning (ERP), invoicing, human resource management (HRM), content management (CM) and service desk management.
  • CRM customer relationship management
  • MIS management information systems
  • ERP enterprise resource planning
  • HRM human resource management
  • CM content management
  • SaaS software as a service
  • IaaS infrastructure as a service
  • PaaS platform as a service
  • DaaS desktop as a service
  • BaaS backend as a service
  • ITMaaS information technology management as a service
  • SaaS applications similarly support what is traditionally known as application customization.
  • a single customer can alter the set of configuration options (a.k.a., parameters) that affect its functionality and look-and-feel.
  • Each customer may have its own settings (or: parameter values) for the configuration options.
  • the application can be customized to the degree it was designed for based on a set of predefined configuration options. For example: to support customers' common need to change an application's look-and- feel so that the application appears to be having the customer's brand (or— if so desired— co-branded), many SaaS applications let customers provide (through a self service interface or by working with application provider staff) a custom logo and sometimes a set of custom colors. The customer cannot, however, change the page layout unless such an option was designed for.
  • SaaS applications are often updated more frequently than traditional software, in many cases on a weekly or monthly basis. This is enabled by several factors:
  • the application vendor has access to all customer data, expediting design and regression testing.
  • Accelerated feature delivery is further enabled by agile software development methodologies. Such methodologies, provide a set of software development tools and practices to support frequent software releases. Open integration protocols
  • SaaS applications cannot access a company's internal systems (databases or internal services), they predominantly offer integration protocols and application programming interfaces (APIs) that operate over a wide area network. Typically, these are protocols based on HTTP, Representational state transfer (REST), SOAP and JSON.
  • HTTP HyperText Transfer Protocol
  • REST Representational state transfer
  • SOAP SOAP
  • JSON JSON
  • SaaS applications and other Internet services and the standardization of their API technology has spawned development of mashups, which are lightweight applications that combine data, presentation and functionality from multiple services, creating a compound service. Mashups further differentiate SaaS applications from on- premises software as the latter cannot be easily integrated outside a company's firewall.
  • SaaS applications offer features that let its users collaborate and share information.
  • many project management applications delivered in the SaaS model offer— in addition to traditional project planning functionality— collaboration features letting users comment on tasks and plans and share documents within and outside an organization.
  • Several other SaaS applications let users vote on and offer new feature ideas.
  • Method of processing data in a data processing engine in a unified platform system Method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, comprising the steps of:
  • the customized outcomes or actions include sending a message to a mobile device.
  • a Trigger includes Manual activation.
  • a Trigger includes Remote Activation.
  • Remote Activation includes Activation by an external application.
  • Remote Activation includes Activation by an external Application programming interface.
  • Remote Activation includes setting a password for activation by an external Application programming interface.
  • defining a Remote Activation Trigger includes defining a URL and password that to be used by an external application.
  • a Trigger includes a Geo-Fence.
  • the Geo-Fence includes a geo-fence zone.
  • Geofence trigger results in the establishment of a custom communications channel with a third party mobile user location tracking system
  • defining user-defined rules include the step of presenting a map on which a geolocation zone is selectable.
  • defining user-defined rules include the step of presenting a map on which a geolocation zone is importable.
  • the data processing engine is configured to receive resulting third party mobile user location tracking data each time a mobile user enters the defined geolocation zone.
  • the data processing engine is configured to receive resulting third party mobile user location tracking data each time a mobile user leaves the defined geolocation zone.
  • receiving resulting third party mobile user location tracking data includes receiving one or more of: a value of LeaveZone or EnterZone, an ID of a tracked user list that a mobile user belongs to, an internal ID of the Geofence Trigger, an ID assigned by a third party specialised network to the Geofence trigger, or a reference to a geographic information record stored by a third party specialized network.
  • an International Roaming Trigger interfaces with a third party service in order to receive data on when a mobile user enters an international roaming zone.
  • an International Roaming Trigger provides data for building/ improving a mobile user profile based on their location.
  • a Trigger includes a Click-Through trigger.
  • a Trigger includes a Redirection trigger.
  • a Redirection trigger tracks and responds to an activity of a mobile user who has been sent a message containing an external web link.
  • a redirection variable provides one or more of: a unique ID of a click, an ID of a message in which a redirection link was embedded, a URL used as a link in a message, or an ID of the unified platform which sent the message with the embedded redirection link,
  • a Trigger includes a Timed activation trigger.
  • Timed activation Trigger indicates a frequency at which a service will be activated.
  • the Timed activation Trigger includes a particular user list.
  • a Trigger includes a message activation trigger, which is triggered by receipt of an incoming message, eg. receipt of an SMS message,
  • user-defined rules include configuration of a Trigger.
  • user-defined rules include a created and configured message to be sent to mobile users.
  • the created and configured message is personalised by incorporating mobile user data into the message itself.
  • the text to be sent can be entered, or content can be chosen from an external source, or a piece of content held within the unified platform system.
  • the text to be sent is a piece of content held within the unified platform system which is a most recent piece of content.
  • the text to be sent is a piece of content held within the unified platform system which is a selected specific piece of content.
  • the Message includes one or both of: Unicode text, or a name of the message sender.
  • the Message has associated attributes which include one or more of: channel for sending an SMS or email message, validity period, from, subject, message category.
  • user-defined rules provide a 360 degree view of a customer.
  • user-defined rules include a redirection variable.
  • user-defined rules include checking a mobile user is in a defined list.
  • user-defined rules include a conditional rule.
  • user-defined rules are visual rules.
  • user-defined rules include an incoming interaction, an external application, or a time of day.
  • user-defined rules include a 'Communicate with a Web server' rule which is provided with a function of connecting to an application running outside the unified platform system.
  • user-defined rules include an 'Add/Remove the user from a list' rule which includes a function of adding or removing a user's record from a list,
  • a user is added to a list depending on input received by the data processing engine from an external application.
  • user-defined rules include a 'Check if the user is in a user list' rule which includes a function of checking to see if a user is in a list.
  • the include a 'Check if the user is in a user list' rule includes checking to see if a user is in a list as a security measure for privileged users.
  • user-defined rules include a 'Set a Field' rule which allows placement of at least one of a string, a result of arithmetic calculation or a system information value in a particular user record field.
  • user-defined rules include a 'Set a temporary field' rule which allows placement of at least one of a string, a result of arithmetic calculation or a system information value in a particular temporary field, which exists only for a duration of a service
  • user-defined rules include a 'Check a field or value' rule which provides for checking values in a mobile user record or in a temporary field
  • user-defined rules include a 'Check a field or value' rule which provides for comparing two arbitrary values and a resulting branch depending on the result of the comparison.
  • the 'Check a field or value' rule provides for comparing two arbitrary values via any of the options: Check a field in the mobile user record, Check a temporary field, Check System Information and Compare two values.
  • user-defined rules include a 'Log an Event' rule which provides for storing details of rules stages.
  • user-defined rules include a 'Wait for a While' rule which provides for delaying further processing for a predefined time period
  • user-defined rules are definable via a graphical interface.
  • the graphical interface provides a rules tree which provides the user-defined rules and their inter-relationships.
  • the user-defined rules restrict a number of messages a user will receive in a defined time period.
  • the data processing engine is configured to receive a message indicating if an external website's goal was fulfilled.
  • the data processing engine is configured to report metrics relating to success of a marketing campaign.
  • the method includes the step of activation in response to a mobile user clicking a link.
  • received data in the data processing engine is received mobile user data.
  • received data in the data processing engine is a mobile customer's profile, a mobile customer's buying habits, or weather data.
  • received data in the data processing engine is mobile user records which are kept up-to-date by synchronising them with an external database upon a specified event or on a regular basis.
  • application in the data processing engine of the received user-defined rules to the received data leads to receipt of information in the data processing engine, application in the data processing engine of the received user-defined rules to the received data leads to more effective and compelling interaction with mobile end-users and between systems.
  • the unified platform system provides one or more of: analysis and data optimisation, interactive real time campaigns, reporting and tracking, and segmentation and targeting.
  • the unified platform system provides one or more of: marketing, connectivity, social interaction, location, and rewards.
  • the unified platform system is connected to or interacts with one or more of: a rewards portal, multi-channel delivery, subscriber events, and operator systems.
  • the data processing engine is located in a core platform of the unified platform system.
  • the data processing engine is a 'big data' processing engine.
  • Customized outcomes or actions include selecting and serving a suitable promotion.
  • a suitable promotion is served via MMS.
  • a SMS message is sent to a mobile user with a promotion.
  • customized outcomes or actions include data transfer between databases.
  • the unified platform system comprises networks, servers and storage.
  • MMS Multimedia Messaging
  • Use of the method wherein use of a Geofence activation trigger combined with Queries and Rules to establish a mobile user's reading preferences against available offers, are used to deliver an SMS with the relevant promotional offer to the mobile user.
  • Use of the method wherein the data processing engine receives an alert that a mobile customer has travelled to place x on date y and begins to store this behavioural data to build up a trend pattern on the customer.
  • the rules involve querying of local weather through an external system call based on a location of a mobile user, matching of a querying result with internal or external data corresponding to retail vouchers matching the mobile user's location and current weather for that location, and an outcome is the sending of an SMS, MMS or email to deliver the retail voucher as identified by the Rules.
  • rules involve checking of internal/external data for weather conditions and relevant promotions to send to a mobile user, and rules for sending an alert to a remote system responsible for activating a central heating at a mobile user's home, and outcomes are a sending of an alert to a remote system responsible for activating the central heating unit at the mobile user's home as well as a sending of an SMS, MMS or Email to the user containing promotional vouchers corresponding to the weather conditions.
  • an International Roaming Trigger is activated when a mobile customer leaves their home zone; the rules involve checking a mobile user profile to determine if the mobile customer has a pre -agreed pay-as-you-go travel policy and if so an alert is sent to a travel insurance company informing them that their mobile customer is abroad and therefore their pay-as-you-go travel insurance policy should be activated, and outcomes are sending of an alert to a remote travel agency system informing it of the need to activate the pay-as- you-go travel insurance policy for the mobile customer.
  • a system for processing data including a data processing engine in a unified platform system comprising a platform as a service and a software as a service, the system operable to:
  • the system may further be:
  • a computer program product embodied on a computer- readable medium, the computer program product operable to perform a method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, comprising the steps of: (i) receiving user-defined rules in the data processing engine;
  • Method of receiving user-defined rules in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, comprising the steps of: (i) providing a user interface operable to receive user-defined rules;
  • the above may include additionally any of the following, alone or in combination:
  • the step of providing a graphical user interface includes providing a rules tree which is operable to receive the user-defined rules and their inter-relationships.
  • Triggers include Manual activation, Remote Activation, Geo-Fence, Click- Through, Redirection, message activation or Timed activation.
  • the step of providing an option to create a Remote Activation Trigger includes setting a password for activation by an external Application programming interface.
  • the step of providing an option to create a Remote Activation Trigger includes defining a URL and password that should be used by an external application.
  • the step of providing an option to create a Geo-Fence Trigger includes presenting a map on which a geolocation zone is selectable.
  • the step of providing an option to create a Geo-Fence Trigger includes presenting a map on which a geolocation zone is importable.
  • the step of providing an option to create a Timed activation Trigger includes receiving an indication of a frequency at which the service will be activated.
  • Message is an SMS (Short Message Service) or Email message.
  • the data processing engine is a 'big data' processing engine.
  • a system for receiving user-defined rules including a user interface and a data processing engine in a unified platform system comprising a platform as a service and a software as a service, the system operable to:
  • the system may further be: • operable to perform the method of any of the above method statements of concept B.
  • Method of serving a voucher to a mobile phone user via a message comprising the steps of: (i) receiving at a server data from a mobile phone user (MSISDN: Mobile Subscriber Integrated Services Digital Network-Number);
  • Method of serving special offers to a mobile end-user comprising the steps of: (i) receiving at a server location data corresponding to a mobile end-user device;
  • Method of serving promotions to a mobile end-user comprising the steps of:
  • Method of sending rail travel information to a mobile user comprising the steps of:
  • Method of providing regular information on user interests comprising the steps of:
  • Method of providing information on service/utility usage and reaching defined thresholds comprising the steps of: (i) receiving at a server a data set of service/utility users, including a mobile device MSISDN associated with each user, and a predefined service/utility usage threshold associated with each user;
  • Method of delivering a message (eg. a SMS) with a promotional reading offer to a user comprising the steps of:
  • Method of building up a trend pattern on a mobile customer comprising the steps of:
  • Method of using user-defined rules to filter data from two original databases to subsequently populate a new database comprising the steps of: (i) at a server, receiving a set of user-defined rules;
  • Method of generating the service of a voucher to a mobile end-user comprising the steps of: (i) receiving at a server location data corresponding to a mobile end-user device;
  • Method of generating a service of a fashion-related seasonal promotional offer to a mobile end-user comprising the steps of:
  • Method of delivering a retail voucher comprising the steps of:
  • Method of delivering a retail voucher and activating a central heating unit comprising the steps of:
  • the server sending an alert to a remote system to activate a central heating at a mobile user's home, and the server querying a database of promotional vouchers for promotional vouchers corresponding to the weather conditions, and the server sending an SMS, MMS or Email to the mobile end- user device containing promotional vouchers corresponding to the weather conditions.
  • Method of activating a pay-as-you-go travel policy comprising the steps of: (i) receiving at a server location data corresponding to a mobile end-user device;
  • Method of avoiding the blocking of a mobile user's bank card comprising the steps of: (i) receiving at a server location data corresponding to a mobile end-user device;
  • Method of creating a new user list comprising the steps of:

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

There is provided a method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, the method comprising the steps of: (i) receiving user-defined rules in the data processing engine; (ii) receiving data in the data processing engine; (iii) applying in the data processing engine the received user-defined rules to the received data, and (iv) generating in the data processing engine customized outcomes or actions using the user-defined rules. There are further provided uses of the method, systems suitable for performing the method, and a related computer program product.

Description

METHOD OF PROCESSING DATA IN A DATA PROCESSING ENGINE
BACKGROUND OF THE INVENTION 1. Field of the Invention
The field of the invention relates to methods of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, and to related uses, systems and computer program products.
2. Technical Background
In the field of data processing, systems are known which store large amounts of data and which process such data to obtain information or outcomes. Examples are customer bank records stored at a bank, which are processed to provide customer bank statements and to generate accountancy data for the bank, such as profit/loss data, balance sheet data and data on cash flow. The architecture and programs for such systems are usually custom-created in a lengthy process due to the highly individual nature of such systems, and because of security issues, for example. It is desirable to provide an alternative to this approach to data processing which is more readily customisable to particular circumstances. Approaches for distributed data processing are known, such as are described for example in EP0953173B1 referenced below, but improved ease of customisation applicable to a wide variety of applications is desirable. 3. Discussion of Related Art
In EP0953173B1, there are disclosed a method of and a system (1) for distributed data processing, the system (1) comprising multi-processing platforms (2, 3, 4, 5) interconnected by a communication network (6). In EP0953173B1, a platform (2, 3, 4, 5) comprises processor capability (7) for providing service to a plurality of processes, control capability (8) for controlling process and data handling by a platform (2, 3, 4, 5) and storage capability (A, B, C, D) for storage and retrieval of system data. The storage capability (A, B, C, D) of a platform (2, 3, 4, 5) are arranged for storage and retrieval of part (a, b, c, d) of the system data for processing by a platform and a duplicated portion (al, a2, c!3) of the system data of other platforms. Prior art Figure 25 is reproduced from EP0953173Bl .
In EP1610519B1, there is disclosed a process involving registering a web service provider (WSP) near a mediation platform (PFM) connected to a network (RC), and configuring a web service. A group of services accessible to a web service client (WSC) is presented. A web service is selected based on a selection information from the client. A connection between the client and the selected service is established through the platform for monitoring the exploitation of service. In EP1610519B1, there is also disclosed a platform for mediating between a web service provider and a web service client. Prior art Figure 26 is reproduced from EP1610519B1.
SUMMARY OF THE INVENTION
According to a first aspect of the invention, there is provided a method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, the method comprising the steps of:
(i) receiving user-defined rules in the data processing engine;
(ii) receiving data in the data processing engine;
(iii) applying in the data processing engine the received user-defined rules to the received data, and
(iv) generating in the data processing engine customized outcomes or actions using the user-defined rules.
An advantage of the method is customization of rules and outcomes or actions as a result of processing data in a data processing engine in a unified platform system, such as the ability to receive a variety of user-defined rules in the data processing engine, where the user-defined rules are then applied to data received in the data processing engine to generate customized outcomes or actions.
The method may be one wherein the data received in the data processing engine is received from a plurality of mobile devices. A mobile device may be a smartphone, a tablet computer, a portable navigation system, a mobile phone, or a GPS-enabled laptop, for example.
The method may be one wherein the customized outcomes or actions include sending a message to a mobile device.
The method may be one including the step of defining at least one Trigger in the user- defined rules. The method may be one wherein a Trigger includes Manual activation. The method may be one wherein a Trigger includes Remote Activation. The method may be one wherein Remote Activation includes Activation by an external application.
The method may be one wherein Remote Activation includes Activation by an external Application programming interface.
The method may be one wherein Remote Activation includes setting a password for activation by an external Application programming interface. The method may be one wherein defining a Remote Activation Trigger includes defining a URL and password for use by an external application.
The method may be one wherein a Trigger includes a Geo-Fence. The method may be one wherein the Geo-Fence includes a geo-fence zone.
The method may be one wherein configuration of a Geofence trigger results in the establishment of a custom communications channel with a third party mobile user location tracking system.
The method may be one wherein defining user-defined rules include the step of presenting a map on which a geolocation zone is selectable.
The method may be one wherein defining user-defined rules include the step of presenting a map on which a geolocation zone is importable.
The method may be one wherein the data processing engine is configured to receive resulting third party mobile user location tracking data each time a mobile user enters the defined geolocation zone.
The method may be one wherein the data processing engine is configured to receive resulting third party mobile user location tracking data each time a mobile user leaves the defined geolocation zone. The method may be one wherein receiving resulting third party mobile user location tracking data includes receiving one or more of: a value of LeaveZone or EnterZone, an ID of a tracked user list that a mobile user belongs to, an internal ID of the Geofence Trigger, an ID assigned by a third party specialised network to the Geofence trigger, or a reference to a geographic information record stored by a third party specialized network.
The method may be one wherein an International Roaming Trigger interfaces with a third party service in order to receive data on when a mobile user enters an international roaming zone.
The method may be one wherein an International Roaming Trigger provides data for building/improving a mobile user profile based on their location.
The method may be one wherein a Trigger includes a Click-Through trigger.
The method may be one wherein a Trigger includes a Redirection trigger.
The method may be one wherein a Redirection trigger tracks and responds to an activity of a mobile user who has been sent a message containing an external web link.
The method may be one wherein the data processing engine is configured to receive externally generated redirection variables which are generated in response to the redirection trigger. The method may be one wherein a redirection variable provides one or more of: a unique ID of a click, an ID of a message in which a redirection link was embedded, a URL used as a link in a message, or an ID of the unified platform system which sent the message with the embedded redirection link. The method may be one wherein a Trigger includes a message activation trigger, which is triggered by receipt of an incoming message, eg. receipt of an SMS message.
The method may be one wherein a Trigger includes a Timed activation trigger. The method may be one wherein configuration of a Timed activation Trigger indicates a frequency at which a service will be activated.
The method may be one wherein the Timed activation Trigger includes a particular user list.
The method may be one wherein user-defined rules include configuration of a Trigger.
The method may be one wherein user-defined rules include a created and configured message to be sent to mobile users.
The method may be one wherein the created and configured message is personalised by incorporating mobile user data into the message itself. The method may be one wherein for the message, the text to be sent can be entered, or content can be chosen from an external source, or a piece of content held within the unified platform system.
The method may be one wherein for the message, the text to be sent is a piece of content held within the unified platform system which is a most recent piece of content.
The method may be one wherein for the message, the text to be sent is a piece of content held within the unified platform system which is a selected specific piece of content.
The method may be one wherein the Message includes one or both of: Unicode text, or a name of the message sender.
The method may be one wherein the Message has associated attributes which include one or more of: channel for sending an SMS or email message, validity period, from, subject, message category.
The method may be one wherein user-defined rules provide a 360 degree view of a customer. The method may be one wherein user-defined rules include a redirection variable.
The method may be one wherein user-defined rules include checking a mobile user is in a defined list.
The method may be one wherein user-defined rules include a conditional rule. The method may be one wherein user-defined rules are visual rules.
The method may be one wherein user-defined rules include an incoming interaction, an external application, or a time of day.
The method may be one wherein user-defined rules include a 'Communicate with a Web server' rule which is provided with a function of connecting to an application running outside the unified platform system.
The method may be one wherein user-defined rules include an 'Add/Remove the user from a list' rule which includes a function of adding or removing a user's record from a list.
The method may be one wherein a user is added to a list depending on input received by the data processing engine from an external application. The method may be one wherein user-defined rules include a 'Check if the user is in a user list' rule which includes a function of checking to see if a user is in a list.
The method may be one wherein the include a 'Check if the user is in a user list' rule includes checking to see if a user is in a list as a security measure for privileged users.
The method may be one wherein user-defined rules include a 'Set a Field' rule which allows placement of at least one of a string, a result of arithmetic calculation or a system information value in a particular user record field. The method may be one wherein user-defined rules include a 'Set a temporary field' rule which allows placement of at least one of a string, a result of arithmetic calculation or a system information value in a particular temporary field, which exists only for a duration of a service.
The method may be one wherein user-defined rules include a 'Check a field or value' rule which provides for checking values in a mobile user record or in a temporary field.
The method may be one wherein user-defined rules include a 'Check a field or value' rule which provides for comparing two arbitrary values and a resulting branch depending on the result of the comparison.
The method may be one wherein the 'Check a field or value' rule provides for comparing two arbitrary values via any of the options: Check a field in the mobile user record, Check a temporary field, Check System Information and Compare two values.
The method may be one wherein user-defined rules include a 'Log an Event' rule which provides for storing details of rules stages.
The method may be one wherein user-defined rules include a 'Wait for a While' rule which provides for delaying further processing for a predefined time period.
The method may be one wherein user-defined rules are definable via a graphical interface.
The method may be one wherein the graphical interface provides a rules tree which provides the user-defined rules and their inter-relationships.
The method may be one wherein the user-defined rules restrict a number of messages a user will receive in a defined time period.
The method may be one wherein the data processing engine is configured to receive a message indicating if an external website's goal was fulfilled. The method may be one wherein the data processing engine is configured to report metrics relating to success of a marketing campaign.
The method may be one wherein the method includes the step of activation in response to a mobile user clicking a link.
The method may be one wherein received data in the data processing engine is received mobile user data. The method may be one wherein received data in the data processing engine is a mobile customer's profile, a mobile customer's buying habits, or weather data.
The method may be one wherein received data in the data processing engine is mobile user records which are kept up-to-date by synchronising them with an external database upon a specified event or on a regular basis.
The method may be one wherein application in the data processing engine of the received user-defined rules to the received data leads to receipt of information in the data processing engine.
The method may be one wherein application in the data processing engine of the received user-defined rules to the received data leads to more effective and compelling interaction with mobile end-users and between systems. The method may be one wherein application in the data processing engine of the received user-defined rules to the received data leads to performance of a series of checks in order to single out only those mobile user records that answer all required conditions. The method may be one including the step of the data processing engine sending or receiving at least one of XML documents, JavaScript Object Notation data, or URL encoded data. The method may be one wherein the unified platform system provides one or more of: analysis and data optimisation, interactive real time campaigns, reporting and tracking, and segmentation and targeting.
The method may be one wherein the unified platform system provides one or more of: marketing, connectivity, social interaction, location, and rewards.
The method may be one wherein the unified platform system is connected to or interacts with one or more of: a rewards portal, multi-channel delivery, subscriber events, and operator systems.
The method may be one wherein the data processing engine is located in a core platform of the unified platform system.
The method may be one wherein the data processing engine is a 'big data' processing engine.
The method may be one including the step of a platform user creating a series of customised outcomes /actions based on each end-user/system interaction.
The method may be one wherein the Customized outcomes or actions include selecting and serving a suitable promotion.
The method may be one wherein a suitable promotion is served via MMS.
The method may be one wherein a SMS message is sent to a mobile user with a promotion.
The method may be one wherein customized outcomes or actions include data transfer between databases.
The method may be one wherein the unified platform system comprises networks, servers and storage. According to further aspects of the invention, there are provided uses of any of the above statements according to a first aspect of the invention, as defined by any of Claims 77 to 94. According to a further aspect of the invention, there is provided a system for processing data including a unified platform system comprising a platform as a service and a software as a service, the system comprising networks, servers and storage, and a data processing engine in the unified platform system, the system operable to: (i) receive user-defined rules in the data processing engine;
(ii) receive data in the data processing engine;
(iii) apply in the data processing engine the received user-defined rules to the received data, and
(iv) generate in the data processing engine customized outcomes or actions using the user-defined rules.
The system may be operable to perform the method of any of the above statements according to a first aspect of the invention. The system may be one wherein the system is operable to run a plurality of jobs in real time.
According to a further aspect of the invention, there is provided a use of the system to perform the uses of any of Claims 77 to 94.
According to a further aspect of the invention, there is provided a computer program product embodied on a computer-readable medium, the computer program product operable to perform a method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, comprising the steps of:
(i) receiving user-defined rules in the data processing engine;
(ii) receiving data in the data processing engine; (iii) applying in the data processing engine the received user-defined rules to the received data, and
(iv) generating in the data processing engine customized outcomes or actions using the user-defined rules.
"Location data" is used in this document to mean data which enables a location to be determined, such as mobile network location data, mobile device GPS location data, data from mobile device accelerometer sensors, and the like.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other aspects of the invention will now be described, by way of example only, with reference to the following Figures, in which:
Figure 1 shows an example of a Dragon Core Platform as a Service (PaaS) which provides analysis and data optimisation, interactive real time campaigns, reporting and tracking, and segmentation and targeting. A Spider feature resides in the core platform.
Figure 2 shows an example of a complete Spider Rules tree, highlighting one possible combination of a trigger, rules and outcomes for achieving a particular user interaction.
Figure 3 shows a first example step in a user interface.
Figure 4 shows an example of a second step in a user interface.
Figure 5 shows a further example step 2a (create Trigger) .
Figure 6 shows a further example step 2b (configure Trigger type) .
Figure 7 shows a further example step 3a (select pre-defined rules).
Figure 8 shows a further example step 4a (rule example 1) .
Figure 9 shows a further example step 5 (configure message).
Figure 10 shows a further example step 6a (rule completed to flow).
Figure 11 shows a further example step 3b (rule example 2).
Figure 12 shows a further example step 4b (configure rule query).
Figure 13 shows a further example step 6b (rule completed to flow).
Figure 14 shows a general example and a more specific example of a formula for executing a Spider job.
Figure 15 shows an example of Created campaigns with a 360° view of your customers (i.e. which provide an enhanced customer profile).
Figure 16 shows an example Spider Formula.
Figure 17 shows an example in which the platform user is presented with the URL and password that should be used by the external application when a Remote Activation Trigger is created.
Figure 18 shows an example of redirection variables that may be available.
Figure 19 shows an example in which the platform user is presented with a map on which a geolocation zone may be selected.
Figure 20 shows an example of information that may be received each time the Spider Service is triggered. Figure 21 shows an example in which SMS and Email messages may be personalised by incorporating user data into the message itself.
Figure 22 shows an example in which it is checked if a user is in the list 'Colour Unknown'.
Figure 23 shows an example in which a Spider tree is arranged to save time and tree 'space'.
Figure 24 shows an example of rules with use of Comments.
Figure 25 shows a prior art Figure from EP0953173B1.
Figure 26 shows a prior art Figure from EP1610519B1.
Figure 27 shows an example of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service.
Figure 28 shows an example of Dragon, in which a Core unified platform, including Software as a Service and including Platform as a Service (SaaS/PaaS), is hosted in a private cloud environment, which provides Service Creation (multi-channel, location etc.), Interactivity Management, Reporting/ Analytics, and Data Enrichment (Spider feature). The Spider feature resides in the core unified platform. The unified platform interacts with Trigger Events and with 3rd Party System(s). The unified platform interacts with Multi-Channel, Mobile Web and Apps, Enterprise Systems and Rewards Portal. The unified platform has a Dragon Web user interface (UI).
DETAILED DESCRIPTION
About Brainstorm Brainstorm is a leading provider of mobile and web based solutions designed to connect brands with customers and to automate enterprise communications. Brainstorm is also a leading provider of mobile solutions that drive positive engagement with end-users through highly targeted, relevant and contextually rich experiences. Our technology is powered by Dragon, a Core unified platform, including Software as a Service and including Platform as a Service (SaaS/PaaS), hosted in a private cloud environment enabling us to offer the latest standards in technology to clients and partners who work with us. See Figure 28 for example. Appendix 1 describes aspects of computing platforms. Appendix 2 describes aspects of Platform as a Service. Appendix 3 describes aspects of Software as a Service.
By adding location information into the mix, we are able to add a new dimension to mobile campaigns and understand the target consumer on both a static profile level and a dynamic real-time behavioural level. We can begin to predict buyer behaviour and patterns in a far more advanced way than before and present more intuitive campaigns.
Hosted in the cloud, Dragon powers the full suite of Brainstorm solutions including marketing, connectivity, social interaction, location, rewards and more. See Figure 1 for example. In Figure 1, the Dragon Core Platform as a Service (PaaS) provides analysis and data optimisation, interactive real time campaigns, reporting and tracking, and segmentation and targeting. The Spider feature resides in the core platform. The Dragon Core Platform as a Service (PaaS) is connected to or interacts with a rewards portal, multi-channel delivery, subscriber events, and operator systems.
In an example of Dragon, there are three elements to Dragon:
1. Direct engagement.
A primary function of Dragon is to drive engagement by sending and receiving interactive messages to users' mobile devices. All messaging formats are supported; SMS, MMS, email, WAP link, push notifications etc. 2. Complex solutions.
Dragon goes beyond being a messaging platform. Our 'Spider' technology is a sophisticated rules management engine that builds well-defined and highly targeted services based upon real-time profile and behaviour insight tracked from many sources.
3. Location.
Dragon also uses mobile network location data to establish recipient presence. By combining location data with profile and behavioural information— a term we describe as 'live insight'— we can empower brands with richer consumer insight to facilitate more intuitive campaigns, right at the point of desire.
In an example, Dragon's geolocation functionality comprises a range of powerful system features, which allow you to target specific groups of recipients based on their current geographic location. It is possible to geofence areas such as airports, shopping centres, retail stores, or even entire countries and Dragon will be alerted when a consumer enters or leaves that geofence. It can then activate Spider to trigger campaigns based on a whole variety of variables. Other advantageous features of examples of Dragon
Ease of integration: easily plugs into other systems, databases, API's and other third party systems in real-time to import & export data and build live insight. Quick set-up: ability to create customised campaigns without any platform development. Campaigns can be set up and executed within seconds.
Scalable: can facilitate the set up of campaigns from the very simple to the incredibly complicated.
High performance: it can process extremely high volumes of transactions very quickly. Multi-channel: it supports SMS, MMS, email, push notifications and many more. International: we support messages in any language, and our platform UI can be translated in any language, and we have advanced support for multiple time zones.
Secure & flexible: It is an always-on, unified platform, hosted securely in resilient and fully-redundant data centres across six worldwide locations and is securely accessed using permission-based, password protected web access.
Reporting & analytics: Dragon provides reporting in the form of a visual dashboard with graphical views on activities i.e. total sent, failed, delivered etc. These reports can be further manipulated by searching exact parameters such as dates.
Example Dragon Platform features & benefits
Example of Dragon
· Cross browser support.
• Multiple languages and timezone support.
• Intuitive web interface for ease of use.
• Configurable dashboard to see at a glance what's important to you.
• Self service or fully managed models.
· Can be white -labelled.
Examples of Messaging
• SMS, MMS (text, image, audio, video, java), email, WAP push.
• Inbuilt content editors / template libraries.
• Wizard services: vote, quiz, classifieds, feedback.
· Special services: auction, SMS chat, gateway, virtual SMS, alerts.
• Simple push, advanced push, dynamic A/B split testing push.
• Message validity and throughput control.
• Message status: queued, sent, delivered.
• Message rates management.
Examples of Spider services
• Connect to external API's to extract data.
• Check, compare, update user records.
• Personalise interactions and store customer specific data for each recipient. • Service flow using Interaction Tree or Spider Tree.
• Triggered at a specified frequency, using an API based on recipient location or response to a message.
• Analyse key words in incoming messages allowing for mis-spellings and abbreviations.
• Recognition of STOP commands.
• Forecasting & booking campaign tools.
• Priori tisation of campaigns.
• Create campaigns based on your own set of business rules.
Examples of Location
• User list tracking to establish location.
• Create, store and manage custom geofences.
• Adjust geofence radius and add area exclusions.
• Support multiple geofences.
· Geolocation push— schedule push services that will target only those users who are located in a certain area.
• Spider Geofence trigger— activate spider services when users leave or enter a geolocation zone.
• Goal driven location campaigns.
Introducing Spider
Spider is an advanced 'big data' processing engine that has been rolled out as a new feature in the Dragon platform. Spider is an intelligent rules engine used for building and running customer driven services. This ground-breaking technology allows platform users to apply sophisticated (visual) rules (eg. through an intuitive user interface) to data (user data etc.) and events (CRM data, locational movements etc.) resulting in more effective and compelling interaction with end-users and between systems.
In an example, Spider uses sophisticated queries to check, cross-reference and update records from multiple sources, including location or situational factors, to build live insight. Up to date, accurate and relevant insight on consumers means campaigns can be more relevant and highly targeted. Instead of simply pushing a message to a recipient list, or responding to an incoming message, Spider services can use a whole set of triggers including geofences, time events (eg. more than one per day), and the arrival of new content to begin campaigns.
Describing the Spider Rules Engine
As more and more complex information is being collected on consumers, which may sit in different layers and across different parts of an organisation's systems, it is becoming more essential to handle and optimise it effectively.
We can integrate our platform with any other applications or third party systems to collate multiple data sources from multiple locations and build a single source of insight. Using our Spider technology, we are able to bring this data together and build sets of business rules to segment it and apply meaningful actions to it.
There are an infinite number of possibilities, actions and data sources so we can create and automate compelling and highly targeted campaigns and actions dependent upon a variety of situational factors. There are many types of campaigns that Spider can be used to deliver, from the simple through to the complex. They can be set up easily and quickly.
The Spider (visual) rules engine is a configurable tool that allows a platform user to define a series of customised outcomes /actions based on each end-user/system interaction eg. a trigger. Spider is capable of running multiple data queries (Spider Jobs) in real time meaning that a single service can result in a very large number of outcomes based on the data being processed. An example is shown in Figure 2.
As shown for example in Figure 2, if a customer walks into a geo-fence zone, then Spider can query the customer's profile, buying habits, weather etc. and then select and serve a suitable promotion via MMS. Spider can process a wide range of variables and situational factors inside a query. An example of an outcome/action in this case is an SMS message being sent to a mobile user with a promotion. The trigger (Start) point of a Spider campaign can be initiated in a number of ways ie. Incoming interaction, an external application, time of day etc.
Spider Triggers
Spider services can be triggered using:
• Manual activation - This option only becomes available once the service has been made live. Click the Activate Now button to activate a Spider service immediately for a specific user list.
· Activation by an external API (Application programming interface)- you can set up the Service to be triggered by an external application via the Add Trigger submenu option. The Remote Activation trigger type requires setting a password for activation by an API.
• Timed activation - use the Add Trigger submenu option to configure regular triggers, for example, to activate the service daily at 10.00 am. To utilise this trigger type, you need to indicate the frequency, at which the service will be activated, and include more specific details, if necessary.
• Message Activation— you can set up the Service to be activated if a message comes in to the system via one or more inbound routes which the service is "watching". Further trigger types are possible in other releases of Spider.
In a first example step in a user interface (see eg. Figure 3) a Spider Service is selected in Create New Service. In an example of a second step in a user interface (eg. shown in Figure 4): create Spider flow, there is a Project assignment to Project/Schedule/Set Live, followed by beginning to build a Spider rules tree/ flow. In a further example step 2a (create Trigger) (eg. shown in Figure 5), a trigger is assigned based on geo-fence, or click-through (redirect), or remote activation, timed activation or message activation. In a further example step 2b (configure Trigger type) (eg. shown in Figure 6), 'remote activation' was selected requiring an external URL (uniform resource locator) call. In a further example step 3a (select pre-defined rules) (eg. shown in Figure 7) a 'query' rule is created by selecting from a pre-defined list of rules. In a further example step 4a (rule example 1) (eg. shown in Figure 8), a 'Create Message' rule was selected, which prompts a platform user to create an SMS (Short Message Service) or Email message. In a further example step 5 (configure message) (eg. shown in Figure 9), a message is created and configured. In a further example step 6a (rule completed to flow) (eg. shown in Figure 10), an outcome/action is completed.
In a further example step 3b (rule example 2), (see eg. Figure 11) a 'Check if the user is in a list' rule has been selected, presenting the user with an option to select a list name. In a further example step 4b (configure rule query) (see eg. Figure 12), the name of a field containing the list name is entered. In a further example step 6b (rule completed to flow), (see eg. Figure 13) an 'if rule (a conditional rule) is added. Rule Categories
Spider rules may include the following.
A send message rule is provided with a function of defining an SMS or Email message to be sent to users. One can enter the text to be sent or choose the content obtained from an external source, and select the routing on which to send the message.
A 'send message from content area' rule is provided with a function of sending users an SMS, MMS or Email message that is held in the Dragon Content area. One can send either the most recent piece of content held there or select a specific piece of content based on reference number or subtype.
A 'Communicate with a Web server' rule is provided with a function of connecting to an application running outside of Dragon. The application can process the information and then return either an http response code or an XML (Extensible Markup Language) response back into the Spider tree.
An 'Add/Remove the user from a list' rule is provided with a function of adding the user's record to a list in the Dragon Users area or removing the record from a specified list.
A 'Check if the user is in a user list' rule is provided with a function of checking for the user's data in the Dragon Users area to see if it is in a list. A 'Set a Field" rule is provided. This step offers a choice between two options. "Set a field in the user record" allows you to place a string, a result of arithmetic calculation or a system information value in a particular user record field. "Set a temporary field" offers the same options for a temporary field existing for the duration of the service, but not permanently anywhere in Dragon. For example, if you are doing a web communication with an external application and that application needs to receive a field such as 'id number', you can create and set this field in the tree before initiating the post to the external application. A 'Check a field or value' rule is provided. This step is intended for checking values in a user record or a temporary field, as well as for comparing two arbitrary values via the four respective options: "Check a field in the user record", "Check a temporary field", "Check System Information" and "Compare two values". The options can be used to check if a value is/is not equal, earlier or later (for dates), less or greater than the other value and then branch the tree accordingly. It's also possible to check whether a user record field or a temporary field is empty/ not set or set to a non-empty value.
An 'Add a comment' rule is provided. The function is to add a comment box to the service tree. Comments can be used to add informative notes for either yourself or other people who will be working with the service.
A 'Log an Event' rule is provided. The function is to store essential details of the Rules stages that can be referred to later in the service or passed to external applications. A 'Wait for a While' rule is provided. The function is to delay the execution of the Rules branch following this operation for a predefined time eg. up to 24 hours.
Spider - Example Use Case Scenarios By way of introduction, Spider is an advanced data processing engine that has been rolled out as a new feature in the Dragon platform. See for example Figure 1. See for example Figure 28. Here we provide some examples of some use scenarios that may be met by the Spider feature. A general example and a more specific example of a formula for executing a Spider job are shown in Figure 14. In a general example, a data source provides data which if it satisfies a trigger (eg. event etc.) and if a particular query or rule is satisfied, this results in an outcome or action. In a more specific example, data from a mobile phone user (MSISDN: Mobile Subscriber Integrated Services Digital Network-Number), if it satisfies a situational factor (eg. geo-zone) and a variable factor (eg. weather), results in a voucher being served to the mobile phone user via MMS (Multimedia Messaging Service).
The benefits of mobile coupons and vouchers are clear. It is much cheaper and quicker to eliminate coupons, plastic cards and paper offers in favour of mobile solutions, and it's far easier for the consumer to use.
Driving SMS and MMS based loyalty campaigns is simple using our Dragon platform. Dragon pushes PIN codes, barcodes, vouchers and quick response (QR) codes (eg. a barcode or a two dimensional bar code) to consumer devices that can be validated and redeemed in-store, online or on the device. Points can be associated to the value of the purchase, and redeemed against goods and services beyond the point of sale, with the added ability to record and track a conversion ensuring real-time and accurate measurement of key performance indicators (KPI's) and return on investment (ROI).
We can build mobile apps or mobile wallets, and provide a consumer facing web based portal to complete the fulfilment.
The Spider Formula is defined within the Dragon platform as a Spider Service. This is done by configuring Rules via a graphical interface that defines the combinations of the Triggers, Queries/Rules and Outcomes that are required for a particular objective to be met.
Figure 2 shows an example of a complete Spider Rules tree, highlighting one possible combination of a trigger, rules and outcomes for achieving a particular user interaction.
The power and flexibility offered by the Spider feature is as a result of the range and combination of supported triggers, queries/rules and outcomes, which act upon user data that may reside internally within the Dragon platform or which may be received from external systems. These triggers, queries/rules and outcomes are defined via a graphical interface through the configuration of Rules, making it possible to perform a vast range of functions for the following purposes: · Create campaigns with a 360° view of your customers (i.e. which provide an enhanced customer profile). See for example Figure 15.
• Keep your Dragon user records up-to-date by synchronising them with an external database upon a specified event or on a regular basis.
• Set up intelligent data transfers between various databases.
• Segment your user database by various criteria and target SMS/MMS/Email campaigns more effectively.
• Deliver external content to segmented users. Spider Triggers Spider services may be triggered by: Manual activation
The Spider Service is activated immediately for a specified User List. The configured rules/ queries are executed against the user data and the defined outcomes are performed.
An example of a scenario that may be achieved that is triggered using a manual activation trigger is as follows: A music company wants to profile their customer database into users between 20-25yrs of age who buy HipHop albums in store. Spider initiates a manual query that searches from multiple data sources (POS: Point of sale, CRM: Customer relationship management) to collect customers in age brackets and check for those buying in the HipHop category. This data is combined to create a new customer segment for future marketing campaigns
An example Spider Formula for this example is as shown in Figure 16. In an example (see eg. Figure 16), user data (Customer database, POS, CRM etc) is input. A manual trigger is used to begin the process, and then the input user data is checked for customer age (20-25 years old) and for purchase of HipHop tracks. Those customer records which satisfy these conditions are used to create a new user list for use in future marketing campaigns.
Remote Activation
The Remote Activation option allows an external application to call the system and activate a Spider service. This trigger type can be used, for instance, if an external system is expected to send in some user record data, either independently or as part of Spider's web communication requests. Having received the data, the Rules can then process it: for example, update the respective user records in the Dragon user database.
When a Remote Activation Trigger is created as part of a Spider Service, a URL is automatically created to which an external system may send messages in accordance with the Spider API set.
The platform user is presented with the URL and password that should be used by the external application when a Remote Activation Trigger is created, as shown for example in Figure 17. The Spider API enables XML documents to be sent between the Spider Service and external systems. Data may be posted in various formats such as XML (SOAP), JSON or as URL encoded data. SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks. It relies on Extensible Markup Language (XML) for its message format, and usually relies on other Application Layer protocols, most notably Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission. JavaScript Object Notation (JSON) is a text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects. Despite its relationship to JavaScript, it is language - independent, with parsers available for many languages.
Redirect Activation
The Redirect Activation trigger (or Redirector trigger) tracks and responds to the activity of users who have been sent a message containing an external web link. Once a user has clicked the link, the trigger activates the Spider service, and the user in question will be processed according to the configured Rules.
Dragon can not only determine whether the message has been delivered and the embedded link clicked, but also check if the external website's goal has been fulfilled (for example, a product has been purchased) by the tracked user. The successful result of the user's activity on the external website will be reflected in the Fulfilled message. The Spider service can be configured with a condition on this message status and thus obtain precise data about your Dragon campaigns and only target specific groups of users.
A Spider service with an enabled Redirector trigger can "watch" one or more Dragon campaigns that send users messages with embedded external URLs. Once a user has followed the link, the Spider trigger will also obtain a range of variables, which you can subsequently use in your service. The Redirect Activation essentially provides the ability to track "click- through". "This enables the detailed reporting of metrics that can measure the success of a marketing campaign, such as the number of users who have actively clicked on the links that have been provided in the communication to the customer.
The redirection variables that are available may be as shown for example in Figure 18. A variable value may provide for redirection (eg. if a user clicks a link), or it may provide for fulfillment (if a user completed a target process at an external website). A variable may provide for redirection. A variable may provide for a unique ID of a click, in redirection. A variable may provide an ID of a message in which a redirection link was embedded. A variable may provide a URL used as a link in a message. A variable may provide an ID of the Dragon service which sent the message with the embedded redirection link. A variable may provide that if another variable value is 'Fulfilled', the variable will contain the result fields supplied by the external website. For instance, if the external system sends 'Status =Success', this variable will be set to 'Success'.
Geofence Activation
The Geofence trigger activates the Spider service when a tracked user crosses the boundaries of a specific geographic zone. The service then automatically creates a Job, which processes the user in question according to the currently configured Rules.
The Geofence trigger requires the platform user to select a user list containing the tracked users who are to be "watched" by this Spider Service. Once the user list is selected, the platform user is presented with a map on which a geolocation zone may be selected. An example is shown in Figure 19, which shows a polygonal geolocation zone including Greater London in the UK.
The geolocation zone selection may be defined using the map provided within the Dragon User Interface, or it may be imported/exported from/to a file eg. a KML (Keyhole Markup Language) format file. This is an XML notation for expressing geographic annotation and visualization compatible with applications including Google Maps and Google Earth. The configuration of the Geofence trigger results in the establishment of a custom communications channel with a third party user location tracking system, resulting in information being received by the Spider Service each time a user enters or leaves the defined geolocation zone. The information that is received each time the Spider Service is triggered may be as shown for example in Figure 20. A variable may provide a returned value of LeaveZone or EnterZone. A variable may provide the ID of the tracked user list that the user belongs to. A variable may provide the name of the tracked user list that the user belongs to. A variable may provide an internal ID of the Geofence Trigger. A variable may provide an ID assigned by the external specialised network to the Geofence trigger. A variable may provide a reference to the geographic information record stored by the external specialized network.
A vast range of scenarios may be achieved through the use of geo-location triggers. The following are some examples of what may be achieved by Spider services that are triggered based on Geofence Activation:
1. Serving Vouchers /Promotions to the end-user based on their location and information on nearby retail outlets.
a. Customer enters a geo-fenced zone
b. This triggers an alert to initiate a Spider query
c. Spider runs multiple queries on the location zone, the customer's demographic profile, the closest retail outlet offering vouchers d. Spider serves a voucher to the end-user
2. Serving special offers to the customer based on their location and special offers for the given month
a. Customer walks into a Tesco geo-fenced zone
b. This triggers an alert to initiate a Spider query
c. Spider runs a query to establish the month and then determines the monthly special offer to present the customer for the local Tesco store
3. Serving promotions based on the customer's location and specific information stored in their user profile
a. Customer walks into a Topshop geo-fenced zone
b. This triggers an alert to initiate a Spider query
c. Spider runs a query to establish the Season (Summer) and matches this to the profile of customer stored on Topshop's CRM database. Spider then combines this information to serve the customer with a promotion on Summer sandals
Rules may be defined to also restrict the number of messages received by the user should they enter and leave a defined Geolocation frequently.
International Roaming Trigger This trigger is activated by a custom back-end process within the Dragon platform that interfaces with a third party service in order to receive data on when a mobile user enters an international roaming zone. For example, when a user travels to France for example, indication of this is received by the Dragon platform that is then used to trigger a Spider Service that is configured with the International Roaming Trigger. The rules and outcomes that are defined for the Spider service are then executed for those users that are defined in the selected user list for the service.
When a mobile user enters a roaming zone, the following information is received from the third party system that may be used by the Spider Service to determine the outcome:
• CountryCode - the country specific dial prefix for the mobile number
• Timestamp - the date/ time at which the handset changed country
• VLRID - the VLR (Visitor Location Register) ID for the country that the handset has entered
• CountryNames - a list of country names corresponding to the CountryCode.
An example use for a Spider Service triggered by the International Roaming Trigger is as follows:
1. Building/improving a user profile based on their location
a. The customer travels to France on a business trip
b. This triggers an alert to initiate a Spider query
c. A message is sent to the customer's credit card company CRM system to indicate the customer's location. The credit card company may use this information to aid them in authorising any credit card transactions that may be made by the customer whilst abroad
Timed Activation Trigger
The Timed Activation trigger can be used to launch your service regularly at a specified interval for a particular user list.
The Timed Activation Trigger may be configured to activate the service for a given user list once per day at a specified time, weekly on specific days at a particular time or monthly on specific days during the month. An example of how Timed Activation Triggers may be used is as follows:
1. Spider is configured to start a query at 8am for a retail brand to capture all new customers who have recently made a purchase and entered a point of sale prize draw.
2. Spider queries the retail stores POS and withdraws details of customers who have entered the prize draw within the last 24 hrs.
3. A new customer database is populated with this data for entry to a prize draw at the end of the month.
Message Activation
The Message Activation Trigger may be used to launch the service on receipt of an incoming message arriving to an incoming route. For example, the service is triggered when a user sends an SMS to a short code which is configured as an incoming route within the Dragon platform.
It is possible to add multiple Spider Triggers to a Spider Service. For example, it is possible to add a Timed Activation Trigger to a Spider Service in order to send rail travel information to a user each morning at 7am. The same service may also be configured with a Remote Activation Trigger so that a third party travel information system may send updates to the travel information to the Spider Service as they become available. These travel updates may then be forwarded via SMS to the end user as and when received and based on the user preferences that are stored.
Spider Rules/ Queries and Outcomes
The following pre-defined Rules/Queries and outcomes form a part of the Spider Rules Engine.
There is a 'Send message' rule with a function of defining an SMS or Email message to be sent to users. You can enter the text to be sent or choose the content obtained from an external source, and select the routing on which to send the message. There is a 'Send message from content area' rule with a function of sending users an SMS, MMS or Email message that is held in the Dragon Content area. You can send either the most recent piece of content held there or select a specific piece of content based on reference number or subtype.
There is a 'Communicate with a Web server' rule with a function of connecting to an application running outside of Dragon. The application can process the information and then return either an http response code or an XML response back into the Spider tree. There is a 'Add/Remove the user from a list' rule with a function of adding the user's record to a list in the Dragon Users area or remove the record from a specified list.
There is a 'Check if the user is in a user list' with a function of checking for the user's data in the Dragon Users area to see if it is in a list.
There is a 'Set a field' rule. This step offers a choice between two options. 'Set a field in the user record' allows you to place a string, a result of arithmetic calculation or a system information value in a particular user record field. 'Set a temporary field' offers the same options for a temporary field existing for the duration of the service, but not permanently anywhere in Dragon for example, if you are doing a web communication with an external application and that application needs to receive a field such as 'id number', you can create and set this field in the tree before initiating the post to the external application. Please note that in a Spider version, you cannot use temporary fields in a SMS or Email message body. Only user record fields are supported in that version for that purpose. In another Spider version, you can use temporary fields in a SMS or Email message body.
There is a 'Check a field or value' rule. This step is intended for checking values in a user record or a temporary field, as well as for comparing two arbitrary values via the four respective options: Check a field in the user record, Check a temporary field, Check System Information and Compare two values. The options can be used to check if a value is/is not equal, earlier or later (for dates), less or greater than the other value and then branch the tree accordingly. It's also possible to check whether a user record field or a temporary field is empty/not set or set to a non-empty value. There is an 'Add a comment' rule. This can be used to add a comment box to the service tree. Comments can be used to add informative notes for either yourself or other people who will be working with the service.
There is a 'Log an event' rule. This can be used to enable the storage of essential details of the Rules states that can be referred to later in the service or passed to external applications. There is a 'Wait for a while' rule. This can be used to enable the delay of the execution of the Rules branch following this operation for up to a predefined duration eg. 24 hours.
Send Message There are two types of messages you can send via a Spider tree:
SMS
• Email SMS and Email messages may be personalised by incorporating user data into the message itself. This is illustrated by the Rules shown in Figure 21 by way of example. This example is: if the user field VotedCountry has a particular value, then set the user field VotedCountry to 'Bulgaria', and in all other cases send an SMS "You have already voted, thanks".
The following information may be required for defining an SMS to send to the user:
• Text - enter the message text. You can use variables to personalise the message.
In the example above, using the variable { FirstNamePthere} means that, if the FirstName field is set in respective user record field, the user's first name will be inserted into the message body. If the field is not available or empty, the variable will be substituted by "there" - an alternative variant specified after the question mark. • May Use Unicode - select Yes, if the message will use Unicode character sets (e.g. Chinese, Hindi or Arabic characters).
• Max segments in a long message - set the maximum number of segments a long SMS message can be split into. Each segment counts as one SMS. Please note the commercial implications of sending long messages with more than one segment.
• Originator - enter the name of the message sender, which you want to be displayed to the recipient. The originator can also be a phone number (a short code or a long number) to allow the user to reply to the message.
• Channel - choose a channel you wish to be used for sending this SMS message.
• Validity period - indicate how long the message centre will continue attempts to deliver the message to a user, before it expires.
• Message Category - choose the required message policy to apply to this message.
Similarly, the following information is required when sending an Email message:
• Channel - select an email channel to be used for sending this message.
• From - enter the name of the message sender that you want to be shown to the recipient.
• Subject - enter the message subject.
• Text - enter the message body.
• Validity period - specify the length of time, during which delivery attempts will continue, should the email bounce back. • Message Category - choose the required message policy to apply to this message. The possibilities for sending personalised SMS, MMS and email messages to a user are endless. For example, users may receive messages based on their personal preferences as defined in their user profile for a varied range of purposes such as:
• Personalised discount vouchers/ promotions
· Regular information on interests such as horoscopes, sports results and travel updates
• Information on service/utility usage and reaching defined thresholds such as service caps and/ or limits
• Information about forthcoming events that may be of interest to the user
Send message from content area
A Spider service can grab an SMS, MMS or email message stored in Dragon's Content area and send it to the user. This function is similar to the Send Message function in its outcome, but offers additional flexibility to define and store the content to be sent to users within a central repository which may be shared between Spider Services, rather than define the message on a per service basis. Similar to the Send Message option, user fields may be substituted into the message in order to personalize it for each user. Communicate with a Web server
One of the most flexible features of a Spider service is its ability to communicate with external web applications located either somewhere else in the local environment or anywhere on the Internet.
This functionality opens various possibilities to obtain and share user data, and, in this way, keep Dragon user records up-to-date or set up intelligent data transfers between various destinations. The Communicate with a Web server option sends information about the user to an external web application and receives a response. The data contained in the response can be stored permanently in a user record or can be held and used as a variable in any Rules box that follows this web communication operation in the tree. Using such a variable in subsequent operations allow the value returned to be operated on or to be tested to control the flow through the remainder of the tree.
Check/Add/Remove User from User List Spider services are designed to serve as a flexible user data processing tool. By setting up Rules correspondingly, you can check if the user is a member of a particular user list, and add or remove users who meet specific criteria to and from user lists. These operations can be particularly helpful for tracking and grouping users during or following a massive campaign, and thus enable automated background systematisation of your Dragon user records.
For example, imagine a voting campaign that has been run to determine favourite colours of users in the list "Colour Unknown". Once the voting is over, a Spider service can be set up which scans the user list "Colour Unknown" for users whose field Colour is Red and then add all such users to the list called "Colour Red". The same service can be configured to remove the users that have been added to list "Colour Red" from the original list.
An example of Rules for Checking/Adding/Removing Users from lists is shown in Figure 22. In the example of Figure 22, it is checked if a user is in the list 'Colour Unknown'. If not, the colour is known. If yes, then it is checked if the Colour quantity is red. If no, check for other colours. If yes, add the user to the list 'Colour Red' and remove the user from the list 'Colour Unknown'. The function to check if a user belongs to a particular list is particularly useful in determining if the user has participated in previous campaigns for example, or as a security measure for privileged users. Apart from the user lists currently held in a Dragon database, Spider user list selection box features the {ListName} option.
The {ListName} option allows the checking, removal or addition of the user to an existing user list, whose name is determined in the course of the Rules execution by means of extracting it from a custom field.
For example, a custom validated field Hobby exists, which has three possible values: Pets, Sport and Other. Imagine you would like to add users to one of the three respective user lists you have preliminarily created (Pets, Sport or Other), depending on the user hobby information that an external application sends to Dragon. To store this information for the duration of the service, the external system will create temporary field Interest. You need the service to check this incoming parameter for each user and place them into corresponding lists.
In an example, you can arrange your Spider tree (eg. as shown in Figure 23) to save time and tree 'space'. In Figure 23, it is checked if {Interest} is equal to {Hobby} . If yes, the user is added to the list " {Hobby} ". The above service will add any user whose field Interest matches one of the three Hobby field values to one of the corresponding Dragon user lists.
Set a field The Set a field function is one of the most essential operations in Spider. It allows the modification of existing user record fields, as well the ability to create and update temporary fields that hold data for the duration of the service, but not permanently anywhere in Dragon. This step offers a choice between two options:
• 'Set a field in the user record' allows you to set a particular user record field to a string, a result of arithmetic calculation or a system information value. • 'Set a temporary field' offers the same options as above for a temporary field, which exists only for the duration of the service.
The 'Set a field in the user record' option may be used to modify user database records in the course of Spider Rules execution.
Updating a user record can be particularly useful, for example, if you want Dragon to automatically update user account balances or change their profile data like name, postcode, age fields, etc. based on the information received from an external source.
A temporary field can be used as a local variable and store a piece of information for the duration of the service, but not permanently in the system. Fields in the user record should be used if the data is to be stored permanently. Temporary fields can be created and referred to at any point in the Spider tree. If an operation refers to a field name and that field isn't a configured field in the user record, the Spider service will create and use it as a temporary field. This field content may then be referred to and modified at any later stage in the Spider service tree. Fields values may be defined as being of the following types:
• String— A string variable can be manipulated using string functions, for instance, calculate the number of characters in a field value, convert upper to lower case and vice versa, and so on.
• Result of arithmetic operation - allows an update to be made to a user or temporary field with a numeric value obtained as a result of a calculation (add, deduct, multiply, divide, "mod" and "div" operations are available).
• System Information - The System Information option allows for the utilisation of system information variables, such as current date and time, user's mobile network, as well as a range of Dragon's system entities (e.g. Spider Job IDs, client name, etc.) as field values.
Check a Field or Value The 'Check a field or value' action box enables the inspection of the content of a temporary or user field. This essentially means that the service will compare the field value to a value of your choice. It's also possible to check two arbitrary values and branch the Spider service tree depending on the result of their comparison.
Checking a user field or a variable is an inseparable part of user screening and segmentation via a Spider service. For example, to ensure that a message reaches only the right user group in the current database, a Spider service can be set up to perform a series of checks in order to single out only those user records that answer all required conditions. To illustrate the functionality offered further, imagine that a user is signed up to a Waterstones Bookshop User List that is marked for geographical tracking. Geozones are defined surrounding Waterstones stores and a Spider Service is activated which is triggered when the user enters the geozone. The Spider Service may be defined to send the user an SMS providing the address of the nearby Waterstones store as well as a personalized promotional offer based on their reading preferences (crime fiction, biography etc.) against the current set of relevant promotional offers available at the time in-store. This outcome is achieved through the use of a Geofence activation trigger combined with Queries and Rules to establish the user's reading preferences against available offers, which are used to deliver an SMS with the relevant promotional offer to the user.
Add a Comment
The Add a comment box can be used to add an informative note to your Spider service tree. Comments do not affect any service stages and are only meant to contain hints about a particular stage. Adding comments can be useful, as they help to make large service trees easier to read and navigate. An example of rules with use of Comments is shown in Figure 24. Log an Event
The 'Log an event' box is intended for storing essential details of the Rules stages and may be referred to later in the service or passed to external applications. It may also be used to debug complex services. For example, by assigning a system information variable (e.g. Reason for most recent error) to a temporary field in a Spider service and logging that field, the information variable value may be viewed quickly and directly from the Spider service itself to determine the reason for error. Wait for a While
The 'Wait for a while' operation delays further processing of the user by the current service for a particular period of time eg. up to 24 hours in the future. The delay may be specified in one of the three following ways:
• Delay for a particular period of time in seconds (from 60 seconds to 24 hours).
• Delay until a particular time of the day today (or, if already passed, tomorrow) in the HH:MM format.
• Delay until a particular time of the day today using the full timestamp in the YYYYMM-DD HH:MM:SS + /-zzzz format
It is also possible to define the period of time using a variable and have its value substituted at the service runtime. The variable may be in one of the three formats listed above or the operation may be ignored.
The service will resume running after the delay period has expired. Spider Use Cases The following provides examples of use scenarios that may be met by Spider services, with an explanation of the triggers, Rules and Outcomes that may be combined to achieve the use scenario.
In a use scenario, a customer travels to a foreign destination. Spider receives an alert that the customer has travelled to place x on date y and begins to store this behavioural data to build up a trend pattern on the customer. There is a Geofence Trigger on entrance/exit of predefined geolocations and/or International Roaming Trigger if travel to be monitored is international. The rules involve Internal storage of information relating to the customers' travel pattern, and/or external Web Server calls to pass on the travel data to other system(s). Outcomes are a build-up of travel data per customer and/ or sending of this information to an external system. This data may then be used by the company for any purpose as required. In a use scenario, a company has two CRM databases that need to be merged to make a single master database (passing data to a third new database). The company uses Spider to create rules to filter the data from the original two databases to subsequently populate a new database. There is a Manual Trigger activated when this process is to be performed, or a Remote Activation Trigger if the external system is to initiate the process. The rules involve Rules for checking/filtering/storing data received from each Customer relationship management (CRM) system and sending of data based on the defined criteria to a third database. The rules for performing this merging may also use data that is stored internally within Dragon as well as the data received from each CRM system. Outcomes are storage of merged data and/ or sending of filtered data as required to an external system.
In a use scenario, a music company wants to profile their customer database into users between 20-25yrs of age who buy Hip Hop albums in store. Spider initiates a manual query that searches from multiple data sources (POS, CRM) to collect customers in age brackets and check for those buying in the Hip Hop category. This data is combined to create a new customer segment for future marketing campaigns. There is a Manual Activation Trigger executed by the system user when the process is to be performed. The rules involve Calls to multiple external applications as required to extract information and create a list of users matching the defined customer segment. Outcomes are Creation of a user list which may be used for future marketing campaigns. The Spider service itself may also send SMS/MMS/email communication(s) to the identified users if required. An example is shown in Figure 16.
In a use scenario, a Customer enters a geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs multiple queries on the location zone, the customer's demographic profile and the closest retail outlet offering vouchers. Spider serves a voucher to the end-user. There is a Geofence Trigger when the user enters a defined Geofence zone. The rules involve querying of data from either external applications through external system calls and/ or checking of the internally held user profile data and information on retail outlet data. Outcomes are sending of SMS/MMS/email to the end user to deliver the voucher(s) determined as appropriate/ relevant based on the Rules that are defined. In a use scenario, a Customer walks into a supermarket chain (eg. Tesco) geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs a query to establish the month and then determines the monthly special offer to present the customer for the local supermarket chain (eg. Tesco) store. There is a Geofence Trigger when the user enters a defined Geofence zone. The rules involve a query to identify special offers matching the current month. Outcomes are SMS/Email/MMS sent to the user containing the special offer details for the current month.
In a use scenario, a customer walks into a fashion chain (eg. Topshop) geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs a query to establish the Season (here, Summer) and matches this to the profile of customer stored on fashion chain's CRM database. Spider then combines this information to serve the customer with a promotion on summer sandals. There is a Geofence Trigger when the user enters a defined Geofence zone. The rules involve Query of information relating to seasonal promotions, matching the current season as well as information from the user profile to determine their preferences, combined to determine the relevant promotion(s) for the user. Outcomes are SMS/MMS/Email sent to the customer with the promotion details that were identified by the Rules.
In a use scenario, Spider is configured to start a query at 8am for a retail brand to capture all new customers who have recently made a purchase and entered a point of sale prize draw. Spider queries the retail stores POS and withdraws details of customers who have entered the prize draw within the last 24hrs. A new customer database is populated with this data for entry to a prize draw at the end of the month. There is a Timed Activation Trigger to start the Spider service at 8am. The rules involve a Call to External System point of sale (POS) to extract the customers who have entered the prize draw in the last 24 hours. This list of customers is stored either internally or sent to another external system for storage. Outcomes are the storage of users who have been identified as entrants to the prize draw. The storage may be internal or passed to an external system. The Spider Service may also be defined to execute the prize draw at the end of the month and inform the users of their success via an SMS/MMS or email message.
In a use scenario, a customer enters a geo-fenced zone. Spider initiates a query to check the local weather. Result returned as hot and sunny, so Spider selects a retail voucher from a retail chain (eg. Sunglass Hut) and presents to customer. There is a Geofence Trigger when user enters a defined Geofence location. The rules involve Querying of local weather through external system call based on the location of the user. Matching of the result with internal (or external) data corresponding to retail vouchers matching the users location and current weather for that location. Outcomes are the sending of an SMS/MMS/ email to deliver the retail voucher as identified by the Rules.
In a use scenario, a user has a meeting across the other side of town and there is heavy traffic and raining. A Spider Service integrated with the users calendar can be set to send an alert 30mins before the meeting giving the user sufficient time to leave and perhaps buy an umbrella along the way. There is a Timed Activation Trigger starting at predefined time in advance of the planned meeting, or a Remote Activation Trigger from an external calendar system informing of the forthcoming meeting. The rules involve Checking of internal and/ or external data to determine users present location, travel time to meeting also considering traffic conditions and also determining the weather conditions in order to establish when to send alert to user as well as additional content such as retail outlets on-route selling umbrellas. Outcomes are the sending of an SMS/MMS/Email alert as determined by the Rules. In a use scenario, a user is approaching home in wintery conditions. A Spider Service triggers an alert to activate the central heating at home within 5 minutes of the user approaching home and also serving a voucher for a winter car check-up' and 10% off snow chains at your local garage. There is a Geofence Trigger when user enters a defined Geofence location with a radius around the customer's home of a distance equating to a 5 minute journey home. The rules involve Checking of internal/ external data for weather conditions and relevant promotions to send to the user. Also there are Rules for sending an alert to the remote system responsible for activating the central heating at the users home. Outcomes are the sending of an alert to a remote system responsible for activating the central heating unit at the customer's home as well as the sending of an SMS /MMS /Email to the user containing promotional vouchers corresponding to the weather conditions.
In a use scenario, a customer travels abroad. A Spider service is triggered when the customer has left their home country resulting in a travel insurance policy being activated immediately on a pay as you go basis (with no need to inform the travel insurance company beforehand directly). There is an International Roaming Trigger activated when the customer leaves their home zone. The rules involve checking the user profile to determine if the customer has a pre-agreed pay-as-you-go travel policy and if so an alert is sent to the travel insurance company informing them that their customer is abroad and therefore their pay-as-you-go travel insurance policy should be activated. Outcomes are sending of an alert to a remote travel agency system informing it of the need to activate the pay-as-you-go travel insurance policy for the customer. In a use scenario, a customer travels abroad. A Spider service is triggered when the customer arrives at their destination. A notification is sent to the customer's bank automatically resulting in a travel marker being activated on the customer's account to make sure that their card is not blocked. There is an International Roaming Trigger when the customer enters a foreign country. The rules involve Rules for establishing the customer's bank account details in order to inform the bank that their customer is abroad. Outcomes are sending of an alert to the customer bank so as to set a marker on the customer's account ensuring that their card is not blocked.
In a use scenario, a supermarket chain (eg. Tesco) customer purchases items on-line for collection in-store. A Spider service is triggered when the customer enters a geo-fenced zone around the supermarket chain (eg. Tesco) store. An alert is sent to the store informing the customer service staff that the customer is approaching so that they can prepare the items and serve the customer more efficiently. There is a Geofence Trigger when the customer enters the Geofence location surrounding the supermarket chain (eg. Tesco) store. The rules involve Rules for checking the customer's user profile on entering the Geo-fence and determining if the customer has orders awaiting collection. This information is used to send an alert to the supermarket chain (eg. Tesco) staff if the customer is expected to pick up an order. Outcomes are sending of an alert to supermarket chain (eg. Tesco) staff informing them of the imminent arrival of a customer picking up an order.
In a use scenario, a customer has signed up for a traffic alerts service. Whilst driving, they enter a geo-fence zone in which there is heavy traffic. An alert is sent to them informing of the heavy traffic and possible alternative route suggestions as well as any promotional offers at nearby retail stores the customer has signed up for. There is a Geofence Trigger when the customer enters a predefined Geofence Zone which is marked as having heavy traffic. The rules are used to determine possible alternative routes that may reduce the journey time for the user as well as promotions at nearby retail stores that the customer may be interested in. Outcomes are sending of an alert to inform the customer of the heavy traffic and alternative route as well as information of nearby promotions. The alert may be received as a voice message via the customer's phone/ car kit. In a use scenario, a bank sends out a monthly SMS based account statement/balance/payment reminder to Credit Card Banking customers. Customers with a history of non-payment or late -payment can be siphoned into a 'call connect' process flow. When customers in the call connect process flow receive and view their SMS reminder, a successful delivery receipt (issued at the network operator layer) is triggered to instruct Spider to automatically dial a stealth call between a bank call centre operative and the customer. There is a Trigger which is a Network Delivery Receipt (if failed, then no action; if delivered, then initiate Spider job or other sequence). The rules are that a Spider job initiates a Gateway API request (with the Call Connect IVR system) with the MSISDN value of the customers mobile handset in order for the call to be established between the bank call center operative and the customer. Outcomes are that a call is established between the call center operative and the bank's customer as soon as it is known that the customer's handset is active, as it has received the monthly informational SMS. In a use scenario, a customer enters a geo-fenced zone. Spider initiates a query to check the current pollen count. A result returned is a high pollen count, so Spider selects a retail voucher from a medicine store (eg. Boots) offering 10% off anti-allergy products and presents to customer. There is a Geofence Trigger when user enters a defined Geofence location. The rules are that a Spider job makes a Web Communications call to an external 3rd party supplier of pollen count information. Depending on the pollen count returned, and a set of predefined ranges for Low, Medium and High pollen count ranges, the Spider job serves the appropriate retail voucher to the customer. Outcomes are that a customer receives the medicine store (eg. Boots) 10% discount for anti -allergy products voucher via Email/MMS/SMS which they can present to the store when purchasing said products.
In a use scenario, a customer survey is broadcast via SMS to an audience. The survey contains a five answerable questions flow. Customers who respond with negative feedback are provided an SMS text option to receive a call back to discuss their feedback. If customer responds e.g. Ί - for yes call me back' this triggers a call connect between service provider and customer. There is a trigger which is texting in with a positive request to receive a call back to initiate a call connect sequence. The rules are that a Spider job initiates a Gateway API request (with the Call Connect IVR system) with the MSISDN value of the customer's mobile handset in order for the call to be established between the service provider and the customer. Outcomes are that a call is established between the service provider and the customer immediately on receipt of the " 1- yes call me back" SMS from the customer. In a use scenario, a customer is navigated through a voice command driven telephone line service. Based on voice responses, Spider can be triggered to initiate a sequence i.e. resulting in call back, SMS confirmation etc. In an example, a customer makes an automated telephone line payment, and at the end of the call they are asked if they would like email and/ or SMS confirmation of purchase summary. A positive response would trigger Spider to query an invoicing receipt system and to send an automated SMS and/or email to a customer. A Trigger is based on a voice command. Voice command outcomes are predefined in Spider to generate a specific action. The rules are that a Spider job is triggered by the IVR platform via a Gateway API call. The API call contains the information relating to the selection made by the customer during the voice command driver telephone call. Based on the information received into Dragon in this call, the Spider process initiates Gateway API calls to an invoicing receipt system to determine the customer's purchase summary, and sends an SMS or email to the customer containing the details of the purchase summary as retrieved from the invoicing receipt system. Outcomes are that the customer receives information relating to their purchase via email and/or SMS following a call to an IVR platform which determines what their request is via voice command prompts.
In a use scenario, a customer inbound SMS text message contains a statement (eg. "This is a bad service" is recognised as a negative sentiment due to keyword 'bad'). Upon receipt Spider initiates a pre-defined action i.e. initiating a call connect to the customer to facilitate a direct conversation to enhance customer experience. A Trigger is based on a sentiment keyword that falls into a particular category eg. "this service is rubbish" implies a negative action, or "I loved this campaign" implies a positive action. The rules are that a set of "sentiments" are configured within the Spider job that is receiving the incoming SMS messages. The incoming message is parsed and compared against the set of predefined "sentiments" in order to determine its negativity or positivity. Based on this outcome, the Spider job makes an API call to the Call Connect IVR platform to initiate a call between the service provider and the customer. Outcomes are that an SMS message is evaluated for sentiment and if it is determined to be "negative", a call is established between the service provider and the customer.
In a use scenario, a customer purchases an item online and selects in-store collection as the delivery option. When the customer approaches the store, Spider is triggered resulting in an email/SMS to the store's customer service department informing them to prepare the order for the customer who will collect it shortly. A trigger is a Geofence trigger when the customer crosses a geofence defined around the stores premises. The rules are that the user record containing the customer's details including their order details and mobile phone number is passed to Dragon during the order creation when in- store delivery option is selected. When the customer crosses the geofence around the store they have selected to collect the order from, Spider is initiated resulting in an email/SMS to the store customer services team containing the order details informing them that the customer is nearby. Outcomes are that the customer order is ready for the customer to collect as they approach the collection desk. The customer experience is made more efficient and the collection desk is more able to manage the influx of customer collections effectively.
Use scenarios described in this document may be implemented using the Dragon platform, or they may be implemented in other ways. The use scenarios are inventions which are distinct from other inventions such as the methods, systems and computer program products described herein.
Spider + Behavioural Trends
In an example, a customer travels to a foreign destination. Spider receives an alert that the customer has travelled to place x on date y and begins to store this behavioural data to build up a trend pattern on the customer. This trend data is used by Travel Companies to share special offers etc.
Spider + Data Exchange and Processing
In an example, a company has two CRM databases that need to be merged to make a single master database (passing data to a third new database). The company uses Spider to create rules to filter the data from the original two databases subsequently to populate a new database.
Spider + Data Processing and Segmentation In an example, a music company wants to profile their customer database into users between 20-25yrs of age who buy HipHop albums in store. Spider initiates a manual query that searches from multiple data sources (POS, CRM) to collect customers in age brackets and check for those buying in the HipHop category. This data is combined to create a new customer segment for future marketing campaigns. An example is shown in Figure 16.
Spider + Location
In an example, a customer enters a geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs multiple queries on the location zone, the Customer's demographic profile, the closest retail outlet offering vouchers. Spider serves a voucher to the end-user.
Spider + Month In an example, a customer walks into a Tesco geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs a query to establish the month and then determines the monthly special offer to present the customer for the local Tesco store.
Spider + Season
In an example, a customer walks into a Topshop geo-fenced zone. This triggers an alert to initiate a Spider query. Spider runs a query to establish the Season (here, Summer) and matches this to the profile of customer stored on Topshop's CRM database. Spider then combines this information to serve the customer with a promotion on Summer sandals.
Spider + Time of Day In an example, Spider is configured to start a query at 8am for a retail brand to capture all new customers who have recently made a purchase and entered a point of sale prize draw. Spider queries the retail stores POS and withdraws details of customers who have entered the prize draw within the last 24hrs. A new customer database is populated with this data for entry to a prize draw at the end of the month.
Spider + Weather
In an example, a customer enters a geo-fenced zone. Spider initiates a query to check the local weather. Result returned as hot and sunny, so Spider selects a retail voucher from the Sunglass Hut and presents to customer.
Communication strategies powered by intelligent decision making
A powerful enablement technology in the Dragon platform is the management of information/data in a more intelligent and sophisticated way. Spider captures information/ data and processes this by using rule functionality to determine the outcome action. A pre-defined list of built-in triggers, queries and customisable outcomes can be leveraged in the platform to create an exchange and interaction of information/ data i.e. if x is received then send y and update system S. Spider allows for a 'pluggable architecture' environment where very unique rules scripts specific to a client requirements can be plugged in to drive more custom interactions i.e. if site x is visited then match customer y to content category C. Figure 15 shows an example of how Spider can leverage different data such as a customer profile, customer location data and customer behavior awareness to provide an enhanced customer profile, or a 360 degree view of a customer.
Competitive Difference: Dragon's Spider capability not available with other platform providers.
Spider 'queries' can be checked against a range of variables. These variables can be added through a pluggable architecture framework which allows new/ additional Spider boxes to be incorporated in the UI (user interface) to run Spider campaigns eg. weather box, time box etc.
Dragon is a single unified core platform that encompasses all communication channels ranging from SMS, Email, Web Communication etc. This means Spider can generate an action/ outcome that can lead to any communication type included in the platform and not have to call an external system to carry out the communication.
Apps
Mobile apps are an integral part of a brand's mobile strategy as consumers have realised that apps can be valuable tools for them when they're on the go. But how do you make sure that your mobile app will drive additional sales or facilitate self-service, as well as adding real value to your consumers? How do you ensure your app is built on the right infrastructure (native apps, html 5 Web apps, or hybrids) for your business and budget? We are different to other app providers because we don't just build you an app. We work in a consultative way to create a strategy and an approach that will suit your consumers because its success will be driven by their appetite to engage with it. And we have Dragon. Dragon is our unified cloud platform that acts as a middleware engine for powering enterprise grade apps. It is a comprehensive and feature rich platform that seamlessly transfers information from your systems across a wide range of different UI's (user interfaces), devices and platforms.
Our platform creates 'live insight', a powerful combination of profile, behaviour and location information so we can begin to build a picture of exactly how, when and where each consumer is engaging with you. When are they accessing your app, what are they doing on it, how long are they spending on it, how are they moving from one device app to another, and a whole host of other options. This information is critical if you're looking to build up the functionality within your app, continuously improve it, and be progressive.
Live insight can be used to turn your mobile app into a real channel for your business. You can sell through it, capture information on consumers, inform consumers of different promotions, products or services, and turn it into something incredibly meaningful for you and your consumers.
Note
It is to be understood that the above-referenced arrangements are only illustrative of the application for the principles of the present invention. Numerous modifications and alternative arrangements can be devised without departing from the spirit and scope of the present invention. While the present invention has been shown in the drawings and fully described above with particularity and detail in connection with what is presently deemed to be the most practical and preferred example(s) of the invention, it will be apparent to those of ordinary skill in the art that numerous modifications can be made without departing from the principles and concepts of the invention as set forth herein.
APPENDIX 1 - Computing platform
A computing platform includes a hardware architecture and a software framework (including application frameworks), where the combination allows software, particularly application software, to run. Typical platforms include a computer architecture, operating system, programming languages and related user interface (run-time system libraries or graphical user interface).
A platform is a crucial element in software development. A platform might be simply defined as a place to launch software. The platform provider offers the software developer an undertaking that logic code will run consistently as long as the platform is running on top of other platforms. Logic code includes bytecode, source code, and machine code. It actually means execution of the program is not restricted by the type of operating system provided.
Some software platforms emulate entire hardware platforms as in systems virtualization. Operating system examples · AmigaOS, AmigaOS 4
• FreeBSD, NetBSD, OpenBSD
• Linux
• Mac OS
• Microsoft Windows
· OS/2
• Solaris
• Unix
• VM Mobile examples
Android
Bada • BlackBerry OS
• iOS
• Embedded Linux
• Palm OS
• Symbian
• WebOS
• Windows Mobile
• Windows Phone
Software framework examples
• Adobe AIR
• Adobe Flash
• Adobe Shockwave
• Binary Runtime Environment for Wireless (BREW)
• Java platform
• Java Platform, Micro Edition
• Java Platform, Standard Edition
• Java Platform, Enterprise Edition
• JavaEX
• JavaEX Mobile
• Microsoft XNA
• Mono
• Mozilla Prism, XUL and XULRunner
• .NET Framework
• Silverlight
• Oracle Database
• Smartface
• Vexi
Java The Java platform runs programs written in the Java language. Java source code is "compiled" to an intermediate-language bytecode which is then interpreted by an interpreter, the Java Virtual Machine (JVM), which then interfaces that program with the Java software libraries. In smartphones, personal digital assistants (PDAs) and other wireless mobile devices, these libraries are the Java ME. Some phones, even without a full operating system, enable Java programs such as games to operate. Java and the bytecode are said to be platform-independent. But this is because Java is the platform as well as a programming language. Software really cannot operate without a platform or be platform independent. The programming language is referred to here, meaning the programmer need not be concerned about the hardware or operating system platform, nor will the language change with a different platform.
SAP NetWeaver
SAP NetWeaver is SAP's integrated technology computing platform and is the technical foundation for many SAP applications since the SAP Business Suite. SAP NetWeaver is marketed as a service-oriented application and integration platform. SAP NetWeaver provides the development and runtime environment for SAP applications and can be used for custom development and integration with other applications and systems. SAP NetWeaver is built using primarily the ABAP programming language, but also uses C (programming language), C++, and Java EE. It also employs open standards and industry de facto standards and can be extended with, and interoperate with, technologies such as Red Hat's JBoss, Microsoft .NET, Java EE, and IBM WebSphere.
Hardware examples
Ordered roughly, from more common types to less common types: · Commodity computing platforms
• Wintel, that is, Intel x86 or compatible personal computer hardware with Windows operating system
• ARM architecture used in mobile devices
o Gumstix full function miniature computers with Linux • x86 with Unix-like systems such as BSD variants
• CP/M computers based on the S-100 bus, maybe the earliest microcomputer platform
Video game consoles, any variety
Macintosh, custom Apple Computer hardware and Mac OS operating system, now migrated to x86
• Newton devices running the Newton OS, also from Apple
Apple Pippin, a Multimedia player platform for video game console development RISC processor based machines running Unix variants
• SPARC architecture computers running Solaris operating systems
• DEC Alpha cluster running OpenVMS
Midrange computers with their custom operating systems, such as IBM OS/ 400 Mainframe computers with their custom operating systems, such as IBM z/ OS Supercomputer architectures
APPENDIX 2 - Platform as a service
Platform as a service (PaaS) is a category of cloud computing services that provides a computing platform and a solution stack as a service. Along with software as a service (SaaS) and infrastructure as a service (IaaS), it is a service model of cloud computing. In this model, the consumer creates the software using tools and/or libraries from the provider. The consumer also controls software deployment and configuration settings. The provider provides the networks, servers, storage and other services. PaaS offerings facilitate the deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities.
There are various types of PaaS vendor; however, all offer application hosting and a deployment environment, along with various integrated services. Services offer varying levels of scalability and maintenance.
PaaS offerings may also include facilities for application design, application development, testing and deployment as well as services such as team collaboration, web service integration and marshalling, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation. These services are generally provisioned as an integrated solution over the web. Key characteristics
Multi-tenant architecture
PaaS offerings typically attempt to support use of the application by many concurrent users, by providing concurrency management, scalability, fail-over and security. The architecture enables defining the "trust relationship" between users in security, access, distribution of source code, navigation history, user (people and device) profiles, interaction history, and application usage. Integration with web services and databases
Support for SOAP and REST interfaces allow PaaS offerings to create compositions of multiple web services, sometimes called "mashups" as well as access databases and re -use services maintained inside private networks. Support for keeping the user/relationships (if multiple users)/device context and profile through the mashup across web services, databases and networks.
APPENDIX 3 - Software as a service
Software as a service (SaaS) sometimes referred to as "on-demand software" supplied by Independent software vendors or "Application-Service-Providers" (ASPs), is a software delivery model in which software and associated data are centrally hosted on the cloud. SaaS is typically accessed by users using a thin client via a web browser. SaaS has become a common delivery model for many business applications, including Office & Messaging software, DBMS software, Management software, CAD software, Development software, Gamification, Virtualization, accounting, collaboration, customer relationship management (CRM), management information systems (MIS), enterprise resource planning (ERP), invoicing, human resource management (HRM), content management (CM) and service desk management.
The term "software as a service" (SaaS) is considered to be part of the nomenclature of cloud computing, along with infrastructure as a service (IaaS), platform as a service (PaaS), desktop as a service (DaaS), backend as a service (BaaS), and information technology management as a service (ITMaaS).
Architecture
The vast majority of SaaS solutions are based on a multi-tenant architecture. With this model, a single version of the application, with a single configuration (hardware, network, operating system), is used for all customers ("tenants"). To support scalability, the application is installed on multiple machines (called horizontal scaling). In some cases, a second version of the application is set up to offer a select group of customers with access to pre-release versions of the applications (e.g., a beta version) for testing purposes. This is contrasted with traditional software, where multiple physical copies of the software — each potentially of a different version, with a potentially different configuration, and often customized— are installed across various customer sites.
While an exception rather than the norm, some SaaS solutions do not use multi-tenancy, or use other mechanisms— such as virtualization— to cost-effectively manage a large number of customers in place of multi-tenancy. Configuration and customization
SaaS applications similarly support what is traditionally known as application customization. In other words, like traditional enterprise software, a single customer can alter the set of configuration options (a.k.a., parameters) that affect its functionality and look-and-feel. Each customer may have its own settings (or: parameter values) for the configuration options. The application can be customized to the degree it was designed for based on a set of predefined configuration options. For example: to support customers' common need to change an application's look-and- feel so that the application appears to be having the customer's brand (or— if so desired— co-branded), many SaaS applications let customers provide (through a self service interface or by working with application provider staff) a custom logo and sometimes a set of custom colors. The customer cannot, however, change the page layout unless such an option was designed for.
Accelerated feature delivery
SaaS applications are often updated more frequently than traditional software, in many cases on a weekly or monthly basis. This is enabled by several factors:
• The application is hosted centrally, so an update is decided and executed by the provider, not by customers.
• The application only has a single configuration, making development testing faster.
• The application vendor has access to all customer data, expediting design and regression testing.
• The solution provider has access to user behavior within the application (usually via web analytics), making it easier to identify areas worthy of improvement.
Accelerated feature delivery is further enabled by agile software development methodologies. Such methodologies, provide a set of software development tools and practices to support frequent software releases. Open integration protocols
Since SaaS applications cannot access a company's internal systems (databases or internal services), they predominantly offer integration protocols and application programming interfaces (APIs) that operate over a wide area network. Typically, these are protocols based on HTTP, Representational state transfer (REST), SOAP and JSON.
The ubiquity of SaaS applications and other Internet services and the standardization of their API technology has spawned development of mashups, which are lightweight applications that combine data, presentation and functionality from multiple services, creating a compound service. Mashups further differentiate SaaS applications from on- premises software as the latter cannot be easily integrated outside a company's firewall.
Collaborative (and "social") functionality
Inspired by the success of online social networks and other so-called web 2.0 functionality, many SaaS applications offer features that let its users collaborate and share information. For example, many project management applications delivered in the SaaS model offer— in addition to traditional project planning functionality— collaboration features letting users comment on tasks and plans and share documents within and outside an organization. Several other SaaS applications let users vote on and offer new feature ideas.
While some collaboration-related functionality is also integrated into on-premises software, (implicit or explicit) collaboration between users or different customers is only possible with centrally hosted software. Note
It is to be understood that the above-referenced arrangements are only illustrative of the application for the principles of the present invention. Numerous modifications and alternative arrangements can be devised without departing from the spirit and scope of the present invention. While the present invention has been shown in the drawings and fully described above with particularity and detail in connection with what is presently deemed to be the most practical and preferred example(s) of the invention, it will be apparent to those of ordinary skill in the art that numerous modifications can be made without departing from the principles and concepts of the invention as set forth herein.
CONCEPTS
There are multiple concepts, described as concepts Ά-Τ, in this disclosure. The following may be helpful in defining these concepts. Aspects of the concepts may be combined.
A. Method of processing data in a data processing engine in a unified platform system Method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, comprising the steps of:
(i) receiving user-defined rules in the data processing engine;
(ii) receiving data in the data processing engine;
(iii) applying in the data processing engine the received user-defined rules to the received data, and
(iv) generating in the data processing engine customized outcomes or actions using the user-defined rules. The above may include additionally any of the following, alone or in combination:
• the data received in the data processing engine is received from a plurality of mobile devices.
• the customized outcomes or actions include sending a message to a mobile device.
• including the step of defining at least one Trigger in the user-defined rules.
• a Trigger includes Manual activation.
• a Trigger includes Remote Activation.
• Remote Activation includes Activation by an external application.
· Remote Activation includes Activation by an external Application programming interface.
• Remote Activation includes setting a password for activation by an external Application programming interface. defining a Remote Activation Trigger includes defining a URL and password that to be used by an external application.
a Trigger includes a Geo-Fence.
the Geo-Fence includes a geo-fence zone.
configuration of a Geofence trigger results in the establishment of a custom communications channel with a third party mobile user location tracking system, defining user-defined rules include the step of presenting a map on which a geolocation zone is selectable.
defining user-defined rules include the step of presenting a map on which a geolocation zone is importable.
the data processing engine is configured to receive resulting third party mobile user location tracking data each time a mobile user enters the defined geolocation zone.
the data processing engine is configured to receive resulting third party mobile user location tracking data each time a mobile user leaves the defined geolocation zone.
receiving resulting third party mobile user location tracking data includes receiving one or more of: a value of LeaveZone or EnterZone, an ID of a tracked user list that a mobile user belongs to, an internal ID of the Geofence Trigger, an ID assigned by a third party specialised network to the Geofence trigger, or a reference to a geographic information record stored by a third party specialized network.
an International Roaming Trigger interfaces with a third party service in order to receive data on when a mobile user enters an international roaming zone.
an International Roaming Trigger provides data for building/ improving a mobile user profile based on their location.
a Trigger includes a Click-Through trigger.
a Trigger includes a Redirection trigger.
a Redirection trigger tracks and responds to an activity of a mobile user who has been sent a message containing an external web link.
the data processing engine is configured to receive externally generated redirection variables which are generated in response to the redirection trigger. a redirection variable provides one or more of: a unique ID of a click, an ID of a message in which a redirection link was embedded, a URL used as a link in a message, or an ID of the unified platform which sent the message with the embedded redirection link,
a Trigger includes a Timed activation trigger.
configuration of a Timed activation Trigger indicates a frequency at which a service will be activated.
the Timed activation Trigger includes a particular user list.
a Trigger includes a message activation trigger, which is triggered by receipt of an incoming message, eg. receipt of an SMS message,
user-defined rules include configuration of a Trigger.
user-defined rules include a created and configured message to be sent to mobile users.
the created and configured message is personalised by incorporating mobile user data into the message itself.
for the message, the text to be sent can be entered, or content can be chosen from an external source, or a piece of content held within the unified platform system.
for the message, the text to be sent is a piece of content held within the unified platform system which is a most recent piece of content.
for the message, the text to be sent is a piece of content held within the unified platform system which is a selected specific piece of content.
the Message includes one or both of: Unicode text, or a name of the message sender.
the Message has associated attributes which include one or more of: channel for sending an SMS or email message, validity period, from, subject, message category.
user-defined rules provide a 360 degree view of a customer.
user-defined rules include a redirection variable.
user-defined rules include checking a mobile user is in a defined list.
user-defined rules include a conditional rule.
user-defined rules are visual rules. user-defined rules include an incoming interaction, an external application, or a time of day.
user-defined rules include a 'Communicate with a Web server' rule which is provided with a function of connecting to an application running outside the unified platform system.
user-defined rules include an 'Add/Remove the user from a list' rule which includes a function of adding or removing a user's record from a list,
a user is added to a list depending on input received by the data processing engine from an external application.
user-defined rules include a 'Check if the user is in a user list' rule which includes a function of checking to see if a user is in a list.
the include a 'Check if the user is in a user list' rule includes checking to see if a user is in a list as a security measure for privileged users.
user-defined rules include a 'Set a Field' rule which allows placement of at least one of a string, a result of arithmetic calculation or a system information value in a particular user record field.
user-defined rules include a 'Set a temporary field' rule which allows placement of at least one of a string, a result of arithmetic calculation or a system information value in a particular temporary field, which exists only for a duration of a service, user-defined rules include a 'Check a field or value' rule which provides for checking values in a mobile user record or in a temporary field,
user-defined rules include a 'Check a field or value' rule which provides for comparing two arbitrary values and a resulting branch depending on the result of the comparison.
the 'Check a field or value' rule provides for comparing two arbitrary values via any of the options: Check a field in the mobile user record, Check a temporary field, Check System Information and Compare two values.
user-defined rules include a 'Log an Event' rule which provides for storing details of rules stages.
user-defined rules include a 'Wait for a While' rule which provides for delaying further processing for a predefined time period,
user-defined rules are definable via a graphical interface. the graphical interface provides a rules tree which provides the user-defined rules and their inter-relationships.
the user-defined rules restrict a number of messages a user will receive in a defined time period.
the data processing engine is configured to receive a message indicating if an external website's goal was fulfilled.
the data processing engine is configured to report metrics relating to success of a marketing campaign.
the method includes the step of activation in response to a mobile user clicking a link.
received data in the data processing engine is received mobile user data.
received data in the data processing engine is a mobile customer's profile, a mobile customer's buying habits, or weather data.
received data in the data processing engine is mobile user records which are kept up-to-date by synchronising them with an external database upon a specified event or on a regular basis.
application in the data processing engine of the received user-defined rules to the received data leads to receipt of information in the data processing engine, application in the data processing engine of the received user-defined rules to the received data leads to more effective and compelling interaction with mobile end-users and between systems.
application in the data processing engine of the received user-defined rules to the received data leads to performance of a series of checks in order to single out only those mobile user records that answer all required conditions,
including the step of the data processing engine sending or receiving at least one of XML documents, JavaScript Object Notation data, or URL encoded data, the unified platform system provides one or more of: analysis and data optimisation, interactive real time campaigns, reporting and tracking, and segmentation and targeting.
the unified platform system provides one or more of: marketing, connectivity, social interaction, location, and rewards.
the unified platform system is connected to or interacts with one or more of: a rewards portal, multi-channel delivery, subscriber events, and operator systems. the data processing engine is located in a core platform of the unified platform system.
the data processing engine is a 'big data' processing engine.
including the step of a platform user creating a series of customised outcomes /actions based on each end-user/system interaction.
the Customized outcomes or actions include selecting and serving a suitable promotion.
a suitable promotion is served via MMS.
a SMS message is sent to a mobile user with a promotion.
customized outcomes or actions include data transfer between databases.
the unified platform system comprises networks, servers and storage.
Use of the method wherein data from a mobile phone user (MSISDN: Mobile
Subscriber Integrated Services Digital Network-Number), if it satisfies a situational factor (eg. geo-zone) and a variable factor (eg. weather), results in a voucher being served to the mobile phone user via MMS (Multimedia Messaging
Service) .
Use of the method, wherein Vouchers /Promotions are Served to a mobile end- user based on their location and information on nearby retail outlets.
Use of the method, wherein special offers are sent to a mobile customer based on their location and special offers for a calendar month.
Use of the method, wherein promotions are sent based on a mobile customer's location and specific information stored in their user profile.
Use of the method, wherein all new customers who have recently made a purchase are entered a point of sale prize draw.
Use of the method, wherein rail travel information is sent to a mobile user each morning at a selectable time.
Use of the method, wherein regular information on user interests is provided. Use of the method, wherein information on service/utility usage and reaching defined thresholds such as service caps and/ or limits is provided.
Use of the method, wherein use of a Geofence activation trigger combined with Queries and Rules to establish a mobile user's reading preferences against available offers, are used to deliver an SMS with the relevant promotional offer to the mobile user. Use of the method, wherein the data processing engine receives an alert that a mobile customer has travelled to place x on date y and begins to store this behavioural data to build up a trend pattern on the customer.
Use of the method, wherein the user-defined rules are used to filter data from two original databases to subsequently populate a new database.
Use of the method, wherein when a mobile end-user enters a geo-fenced zone, this triggers an alert for the data processing engine to run multiple queries on the location zone, the end-user demographic profile and the closest retail outlet offering vouchers, following which the data processing engine generates the service of a voucher to the mobile end-user.
Use of the method, wherein when a mobile end-user enters a fashion store geo- fenced zone, this triggers an alert for the data processing engine to query the season, and the end-user profile, following which the data processing engine generates the service of a fashion-related seasonal promotional offer to the mobile end-user.
Use of the method, wherein the rules involve querying of local weather through an external system call based on a location of a mobile user, matching of a querying result with internal or external data corresponding to retail vouchers matching the mobile user's location and current weather for that location, and an outcome is the sending of an SMS, MMS or email to deliver the retail voucher as identified by the Rules.
Use of the method, wherein rules involve checking of internal/external data for weather conditions and relevant promotions to send to a mobile user, and rules for sending an alert to a remote system responsible for activating a central heating at a mobile user's home, and outcomes are a sending of an alert to a remote system responsible for activating the central heating unit at the mobile user's home as well as a sending of an SMS, MMS or Email to the user containing promotional vouchers corresponding to the weather conditions.
Use of the method, wherein an International Roaming Trigger is activated when a mobile customer leaves their home zone; the rules involve checking a mobile user profile to determine if the mobile customer has a pre -agreed pay-as-you-go travel policy and if so an alert is sent to a travel insurance company informing them that their mobile customer is abroad and therefore their pay-as-you-go travel insurance policy should be activated, and outcomes are sending of an alert to a remote travel agency system informing it of the need to activate the pay-as- you-go travel insurance policy for the mobile customer.
• Use of the method, wherein an International Roaming Trigger is activated when a mobile customer enters a foreign country; the rules establish the mobile customer's bank account details in order to inform a customer's bank that their mobile customer is abroad, and outcomes are sending of an alert to the customer's bank so as to set a marker on the mobile customer's account ensuring that their card is not blocked.
• Use of the method, wherein user data is input, a manual trigger is used to begin the process, and then the input user data is checked for a customer attribute and for a customer purchase such that those customer records which satisfy these conditions are used to create a new user list.
There is further provided a system for processing data including a data processing engine in a unified platform system comprising a platform as a service and a software as a service, the system operable to:
(i) receive user-defined rules in the data processing engine;
(ii) receive data in the data processing engine;
(iii) apply in the data processing engine the received user-defined rules to the received data, and
(iv) generate in the data processing engine customized outcomes or actions using the user-defined rules. The system may further be:
• operable to perform the method of any of the above method statements.
• operable to run a plurality of jobs in real time.
• Used to perform the uses of any of the above use statements. There is further provided a computer program product embodied on a computer- readable medium, the computer program product operable to perform a method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, comprising the steps of: (i) receiving user-defined rules in the data processing engine;
(ii) receiving data in the data processing engine;
(iii) applying in the data processing engine the received user-defined rules to the received data, and
(iv) generating in the data processing engine customized outcomes or actions using the user-defined rules.
B. Method of receiving user-defined rules in a data processing engine in a unified platform
Method of receiving user-defined rules in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, comprising the steps of: (i) providing a user interface operable to receive user-defined rules;
(ii) receiving the user-defined rules in the user interface, and
(iii) providing the user-defined rules to the data processing engine in the unified platform system.
The above may include additionally any of the following, alone or in combination:
• The step of providing an option in a user interface to initiate user input.
• The step of providing an option to define a Project within which the user-defined rules will be received.
• The step of providing a graphical user interface within which user-defined rules are user definable.
• The step of providing a graphical user interface includes providing a rules tree which is operable to receive the user-defined rules and their inter-relationships.
• The step of providing an option to create a Trigger.
• Triggers include Manual activation, Remote Activation, Geo-Fence, Click- Through, Redirection, message activation or Timed activation.
• The step of providing an option to create a Remote Activation Trigger includes setting a password for activation by an external Application programming interface. • The step of providing an option to create a Remote Activation Trigger includes defining a URL and password that should be used by an external application.
• The step of providing an option to create a Geo-Fence Trigger includes presenting a map on which a geolocation zone is selectable.
· The step of providing an option to create a Geo-Fence Trigger includes presenting a map on which a geolocation zone is importable.
• The step of providing an option to create a Timed activation Trigger includes receiving an indication of a frequency at which the service will be activated.
• The step of providing an option to configure a Trigger type.
· The step of providing pre-defined rules for selection.
• The step of providing pre-defined rules in a list for selection.
• The step of providing a Create Message rule for selection, which prompts a platform user to create a message.
• Message is an SMS (Short Message Service) or Email message.
· The step of providing an option to create and configure a message.
• The step of providing an option to select the routing to be used for a message.
• The step of providing an option to select a rule to check a user is in a list.
• The step of providing an option to select a rule to check a user is in a list, and then providing an option to select a list name.
· The step of providing an option to add a conditional rule.
• the data processing engine is a 'big data' processing engine.
There is further provided a system for receiving user-defined rules, the system including a user interface and a data processing engine in a unified platform system comprising a platform as a service and a software as a service, the system operable to:
(i) provide the user interface operable to receive user-defined rules;
(ii) receive the user-defined rules in the user interface, and
(iii) provide the user-defined rules to the data processing engine in the unified platform system.
The system may further be: • operable to perform the method of any of the above method statements of concept B.
C. Method of serving a voucher to a mobile phone user via a message eg. a MMS (Multimedia Messaging Service) message
Method of serving a voucher to a mobile phone user via a message comprising the steps of: (i) receiving at a server data from a mobile phone user (MSISDN: Mobile Subscriber Integrated Services Digital Network-Number);
(ii) analysing the data at the server to determine if it satisfies a situational factor (eg. geo- zone);
(iii) analysing the data at the server to determine if it satisfies a variable factor (eg. weather), and
(iv) if both factors are satisfied, serving a voucher to the mobile phone user via a message eg. a MMS (Multimedia Messaging Service) message.
D. Method of serving Vouchers/Promotions to a mobile end-user
Method of serving Vouchers /Promotions to a mobile end-user comprising the steps of:
(i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device;
(iii) querying a database of retail outlets which offer Vouchers /Promotions, wherein the database is accessible from the server, to form at the server a data set of retail outlets within a predefined distance of the determined location of the mobile end-user device; (iv) obtaining the Vouchers /Promotions corresponding to the retail outlets in the data set, and
(v) serving the Vouchers /Promotions to the mobile end-user device.
E. Method of serving special offers to a mobile end-user
Method of serving special offers to a mobile end-user comprising the steps of: (i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device;
(iii) determining at the server a present time;
(iv) querying a database of retail outlets which offer special offers at the present time, wherein the database is accessible from the server, to form at the server a data set of retail outlets which offer special offers at the present time within a predefined distance of the determined location of the mobile end-user device;
(v) obtaining the special offers corresponding to the retail outlets in the data set, and (vi) sending the special offers to the mobile end-user device.
F. Method of serving promotions to a mobile end-user
Method of serving promotions to a mobile end-user comprising the steps of:
(i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device;
(iii) retrieving at the server specific information stored in a user profile of the mobile end-user device user;
(iv) querying a database of promotions with associated locations, wherein the database is accessible from the server, to form at the server a data set of promotions whose locations are within a predefined distance of the determined location of the mobile end- user device, and wherein a data field associated with each promotion matches the specific information stored in the user profile;
(v) obtaining the promotions corresponding to the data set, and
(vi) sending the promotions to the mobile end-user device.
G. Method of entering new customers into a prize draw Method of entering new customers into a prize draw comprising the steps of:
(i) initiating at a server a search of a customer list for customers who have joined the list within a predefined time interval and forming a data set of those customers, and (ii) informing those customers via their mobile devices that they have been entered in a point of sale prize draw.
H. Method of sending rail travel information to a mobile user
Method of sending rail travel information to a mobile user comprising the steps of:
(i) receiving at a server a request from a mobile user device for rail travel information to be sent to the mobile device at a selectable time;
(ii) receiving at the server a selection of the time at which rail travel information is to be sent;
(iii) the server requesting rail travel information from a rail travel information provider at the selected time, and
(iv) the server sending the rail travel information to the mobile user device.
I. Method of providing regular information on user interests
Method of providing regular information on user interests comprising the steps of:
(i) receiving at a server a request from a mobile user device for providing regular information on user interests to be sent to the mobile device;
(ii) receiving at the server a selection of the user interests;
(iii) the server requesting information corresponding to the user interests from an information provider at a predetermined time, and
(iv) the server sending the information corresponding to the user interests to the mobile user device.
J. Method of providing information on service/utility usage and reaching defined thresholds
Method of providing information on service/utility usage and reaching defined thresholds comprising the steps of: (i) receiving at a server a data set of service/utility users, including a mobile device MSISDN associated with each user, and a predefined service/utility usage threshold associated with each user;
(ii) at the server, for each user in the data set, searching a database of service/utility usage to determine the service/utility usage of each user;
(iii) at the server, for each user in the data set, determining if the usage of each user has reached the predefined service/utility usage threshold associated with the user, and
(iv) at the server, for each user in the data set, sending to the MSISDN associated with each user a message reporting service/utility usage and reporting if the predefined service/utility usage threshold associated with the user has been reached.
K. Method of delivering a message (eg. a SMS) with a promotional reading offer to a user Method of delivering a message (eg. a SMS) with a promotional reading offer to a user comprising the steps of:
(i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device;
(iii) retrieving reading preferences of the user of the mobile end-user device;
(iv) searching a database of offers relating to reading to determine a set of offers which match the reading preferences of the user, and
(vi) if the location of the mobile end-user device is within a Geofence stored at the server, delivering a message (eg. a SMS) with the relevant promotional offers to the mobile user.
L. Method of building up a trend pattern on a mobile customer
Method of building up a trend pattern on a mobile customer comprising the steps of:
(i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device;
(iii) if the location of the mobile end-user device is within a Geofence stored at the server, the server creating a file for storing behavioural data of the user, and (iv) receiving at the server behavioural data relating to the mobile end-user device activity and storing the behavioural data in the file for storing behavioural data.
M. Method of using user-defined rules to filter data from two original databases to subsequently populate a new database
Method of using user-defined rules to filter data from two original databases to subsequently populate a new database comprising the steps of: (i) at a server, receiving a set of user-defined rules;
(ii) identifying a first original database;
(iii) identifying a second original database;
(iv) applying the set of user-defined rules to the first original database such that those entries in the first original database which satisfy the set of user-defined rules are used to populate a new database, and
(v) applying the set of user-defined rules to the second original database such that those entries in the second original database which satisfy the set of user-defined rules are added to the new database. N. Method of generating the service of a voucher to a mobile end-user
Method of generating the service of a voucher to a mobile end-user comprising the steps of: (i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device;
(iii) determining if the location corresponds to the mobile end-user device having entered a Geofenced zone, and if yes
(iv) querying a database of retail outlets which offer Vouchers, wherein the database is accessible from the server, to identify at the server a closest outlet which offers Vouchers to the location of the mobile end-user device;
(v) obtaining a data set of vouchers corresponding to the identified closest retail outlet offering vouchers; (vi) determining a best match voucher between the vouchers in the data set of vouchers and an end-user demographic profile, and
(vii) serving the best match Voucher to the mobile end-user device. O. Method of generating a service of a fashion-related seasonal promotional offer to a mobile end-user
Method of generating a service of a fashion-related seasonal promotional offer to a mobile end-user comprising the steps of:
(i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device;
(iii) determining if the location corresponds to the mobile end-user device having entered a fashion store Geofenced zone, and if yes
(iv) determining at the server the season;
(v) obtaining a data set of fashion store promotional offers corresponding to the determined season;
(vi) determining a best match promotional offer between the set of fashion store promotional offers corresponding to the determined season and an end-user profile, and (vii) serving the best match promotional offer to the mobile end-user device.
P. Method of delivering a retail voucher
Method of delivering a retail voucher comprising the steps of:
(i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device;
(iii) determining the weather at the location using an external system call from the server;
(iv) querying a database of retail outlets which offer Vouchers, wherein the database is accessible from the server, to identify at the server a closest outlet to the location of the mobile end-user device which offers a Voucher which matches the weather at the location, and
(v) sending an SMS, MMS or email to deliver the voucher to the mobile end-user device. Q. Method of delivering a retail voucher and activating the central heating
Method of delivering a retail voucher and activating a central heating unit comprising the steps of:
(i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device;
(iii) determining the weather at the location using an external system call from the server;
(iv) if the location of the mobile end-user device is within a predefined distance of a home location of the mobile end-user device, the server sending an alert to a remote system to activate a central heating at a mobile user's home, and the server querying a database of promotional vouchers for promotional vouchers corresponding to the weather conditions, and the server sending an SMS, MMS or Email to the mobile end- user device containing promotional vouchers corresponding to the weather conditions.
R. Method of activating a pay-as-you-go travel policy
Method of activating a pay-as-you-go travel policy comprising the steps of: (i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device;
(iii) determining at the server if the mobile end-user device has left the home country of the mobile end-user device and if yes, activating an International Roaming Trigger, and querying a database of mobile customer profiles to determine a pay-as-you-go travel policy associated with the mobile end-user device, and
(iv) if the International Roaming Trigger is activated, and if a pay-as-you-go travel policy is associated with the mobile end-user device, sending an alert to a provider of the pay- as-you-go travel policy informing the provider that the mobile end-user device has left its home country.
S. Method of avoiding the blocking of a mobile user's bank card
Method of avoiding the blocking of a mobile user's bank card comprising the steps of: (i) receiving at a server location data corresponding to a mobile end-user device;
(ii) determining at the server a location of the mobile end-user device, including a location country;
(iii) determining at the server if the mobile end-user device has left the home country of the mobile end-user device and if yes, activating an International Roaming Trigger, and querying a database of mobile customer profiles to determine the mobile customer's bank, and
(iv) if the International Roaming Trigger is activated, sending an alert to the mobile customer's bank informing the bank that the mobile end-user device has left its home country, and informing the bank of the location country.
T. Method of creating a new user list
Method of creating a new user list comprising the steps of:
(i) receiving at a server an instruction to begin a process of creating a new user list;
(ii) creating the new user list;
(iii) the server accessing a file of customer attributes and customer purchases, and
(iv) if a customer attribute and a customer purchase each satisfies a respective predefined condition, adding the said customer attribute and customer purchase to the new user list.

Claims

1. Method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, the method comprising the steps of:
(i) receiving user-defined rules in the data processing engine;
(ii) receiving data in the data processing engine;
(iii) applying in the data processing engine the received user-defined rules to the received data, and
(iv) generating in the data processing engine customized outcomes or actions using the user-defined rules.
2. Method of Claim 1, wherein the data received in the data processing engine is received from a plurality of mobile devices.
3. Method of Claims 1 or 2, wherein the customized outcomes or actions include sending a message to a mobile device. 4. Method of any previous Claim, including the step of defining at least one Trigger in the user-defined rules.
5. Method of Claim 4, wherein a Trigger includes Manual activation. 6. Method of any of Claims 4 to 5, wherein a Trigger includes Remote Activation.
7. Method of Claim 6, wherein Remote Activation includes Activation by an external application. 8. Method of any of Claims 6 to 7, wherein Remote Activation includes Activation by an external Application programming interface.
9. Method of any of Claims 6 to 8, wherein Remote Activation includes setting a password for activation by an external Application programming interface.
10. Method of any of Claims 6 to 9, wherein defining a Remote Activation Trigger includes defining a URL and password for use by an external application.
11. Method of any of Claims 4 to 10, wherein a Trigger includes a Geo-Fence.
12. Method of Claim 11, wherein the Geo-Fence includes a geo-fence zone.
13. Method of any of Claims 11 to 12, wherein configuration of a Geofence trigger results in the establishment of a custom communications channel with a third party user location tracking system.
14. Method of any of Claims 11 to 13, wherein defining user-defined rules include the step of presenting a map on which a geolocation zone is selectable.
15. Method of any of Claims 11 to 14, wherein defining user-defined rules include the step of presenting a map on which a geolocation zone is importable.
16. Method of any of Claims 11 to 15, wherein the data processing engine is configured to receive resulting third party mobile user location tracking data each time a mobile user enters the defined geolocation zone.
17. Method of any of Claims 11 to 16, wherein the data processing engine is configured to receive resulting third party mobile user location tracking data each time a mobile user leaves the defined geolocation zone.
18. Method of any of Claims 16 to 17, wherein receiving resulting third party mobile user location tracking data includes receiving one or more of: a value of LeaveZone or EnterZone, an ID of a tracked user list that a mobile user belongs to, an internal ID of the Geofence Trigger, an ID assigned by a third party specialised network to the Geofence trigger, or a reference to a geographic information record stored by a third party specialized network.
19. Method of any of Claims 11 to 18, wherein an International Roaming Trigger interfaces with a third party service in order to receive data on when a mobile user enters an international roaming zone.
20. Method of any of Claims 11 to 19, wherein an International Roaming Trigger provides data for building/improving a mobile user profile based on their location.
21. Method of any of Claims 4 to 20, wherein a Trigger includes a Click-Through trigger.
22. Method of any of Claims 4 to 20, wherein a Trigger includes a Redirection trigger.
23. Method of Claim 22, wherein a Redirection trigger tracks and responds to an activity of a mobile user who has been sent a message containing an external web link.
24. Method of Claim 22 or 23, wherein the data processing engine is configured to receive externally generated redirection variables which are generated in response to the redirection trigger.
25. Method of Claim 24, wherein a redirection variable provides one or more of: a unique ID of a click, an ID of a message in which a redirection link was embedded, a URL used as a link in a message, or an ID of the platform as a service which sent the message with the embedded redirection link.
26. Method of any of Claims 4 to 25, wherein a Trigger includes a message activation trigger, which is triggered by receipt of an incoming message, eg. receipt of an SMS message.
27. Method of any of Claims 4 to 26, wherein a Trigger includes a Timed activation trigger.
28. Method of Claim 27, wherein configuration of a Timed activation Trigger indicates a frequency at which a service will be activated.
29. Method of any of Claims 27 to 28, wherein the Timed activation Trigger includes a particular user list.
30. Method of any previous Claim, wherein user-defined rules include configuration of a Trigger.
31. Method of any previous Claim, wherein user-defined rules include a created and configured message to be sent to mobile users.
32. Method of Claim 31, wherein the created and configured message is personalised by incorporating mobile user data into the message itself.
33. Method of Claims 31 or 32, wherein for the message, the text to be sent can be entered, or content can be chosen from an external source, or a piece of content held within the unified platform system.
34. Method of Claims 31 or 32, wherein for the message, the text to be sent is a piece of content held within the unified platform system which is a most recent piece of content.
35. Method of Claims 31 or 32, wherein for the message, the text to be sent is a piece of content held within the unified platform system which is a selected specific piece of content.
36. Method of any of Claims 31 to 35, wherein the Message includes one or both of: Unicode text, or a name of the message sender.
37. Method of any of Claims 31 to 36, wherein the Message has associated attributes which include one or more of: channel for sending an SMS or email message, validity period, from, subject, message category.
38. Method of any previous Claim, wherein user-defined rules provide a 360 degree view of a customer.
39. Method of any previous Claim, wherein user-defined rules include a redirection variable. 40. Method of any previous Claim, wherein user-defined rules include checking a mobile user is in a defined list.
41. Method of any previous Claim, wherein user-defined rules include a conditional rule.
42. Method of any previous Claim, wherein user-defined rules are visual rules.
43. Method of any previous Claim, wherein user-defined rules include an incoming interaction, an external application, or a time of day.
44. Method of any previous Claim, wherein user-defined rules include a 'Communicate with a Web server' rule which is provided with a function of connecting to an application running outside the unified platform system. 45. Method of any previous Claim, wherein user-defined rules include an 'Add/Remove the user from a list' rule which includes a function of adding or removing a user's record from a list.
46. Method of Claim 45, wherein a user is added to a list depending on input received by the data processing engine from an external application.
47. Method of any previous Claim, wherein user-defined rules include a 'Check if the user is in a user list' rule which includes a function of checking to see if a user is in a list. 48. Method of Claim 47, wherein the include a 'Check if the user is in a user list' rule includes checking to see if a user is in a list as a security measure for privileged users.
49. Method of any previous Claim, wherein user-defined rules include a 'Set a Field' rule which allows placement of at least one of a string, a result of arithmetic calculation or a system information value in a particular user record field.
50. Method of any previous Claim, wherein user-defined rules include a 'Set a temporary field' rule which allows placement of at least one of a string, a result of arithmetic calculation or a system information value in a particular temporary field, which exists only for a duration of a service.
51. Method of any previous Claim, wherein user-defined rules include a 'Check a field or value' rule which provides for checking values in a mobile user record or in a temporary field.
52. Method of any previous Claim, wherein user-defined rules include a 'Check a field or value' rule which provides for comparing two arbitrary values and a resulting branch depending on the result of the comparison.
53. Method of Claim 52, wherein the 'Check a field or value' rule provides for comparing two arbitrary values via any of the options: Check a field in the mobile user record, Check a temporary field, Check System Information and Compare two values.
54. Method of any previous Claim, wherein user-defined rules include a 'Log an Event' rule which provides for storing details of rules stages.
55. Method of any previous Claim, wherein user-defined rules include a 'Wait for a While' rule which provides for delaying further processing for a predefined time period.
56. Method of any previous Claim, wherein user-defined rules are definable via a graphical interface.
57. Method of Claim 56, wherein the graphical interface provides a rules tree which provides the user-defined rules and their inter-relationships.
58. Method of any previous Claim, wherein the user-defined rules restrict a number of messages a user will receive in a defined time period.
59. Method of any previous Claim, wherein the data processing engine is configured to receive a message indicating if an external website's goal was fulfilled.
60. Method of any previous Claim, wherein the data processing engine is configured to report metrics relating to success of a marketing campaign.
61. Method of any previous Claim, wherein the method includes the step of activation in response to a mobile user clicking a link.
62. Method of any previous Claim, wherein received data in the data processing engine is received mobile user data.
63. Method of any previous Claim, wherein received data in the data processing engine is a mobile customer's profile, a mobile customer's buying habits, or weather data.
64. Method of any previous Claim, wherein received data in the data processing engine is mobile user records which are kept up-to-date by synchronising them with an external database upon a specified event or on a regular basis.
65. Method of any previous Claim, wherein application in the data processing engine of the received user-defined rules to the received data leads to receipt of information in the data processing engine.
66. Method of any previous Claim, wherein application in the data processing engine of the received user-defined rules to the received data leads to more effective and compelling interaction with mobile end-users and between systems.
67. Method of any previous Claim, wherein application in the data processing engine of the received user-defined rules to the received data leads to performance of a series of checks in order to single out only those mobile user records that answer all required conditions.
68. Method of any previous Claim, including the step of the data processing engine sending or receiving at least one of XML documents, JavaScript Object Notation data, or URL encoded data.
69. Method of any previous Claim, wherein the unified platform system provides one or more of: analysis and data optimisation, interactive real time campaigns, reporting and tracking, and segmentation and targeting. 70. Method of any previous Claim, wherein the unified platform system provides one or more of: marketing, connectivity, social interaction, location, and rewards.
71. Method of any previous Claim, wherein the unified platform system is connected to or interacts with one or more of: a rewards portal, multi-channel delivery, subscriber events, and operator systems.
72. Method of any previous Claim, wherein the data processing engine is located in a core platform of the unified platform system. 73. Method of any previous Claim, wherein the data processing engine is a 'big data' processing engine.
74. Method of any previous Claim, including the step of a platform user creating a series of customised outcomes /actions based on each end-user/system interaction.
75. Method of Claim 74, wherein the Customized outcomes or actions include selecting and serving a suitable promotion.
76. Method of Claim 75, wherein a suitable promotion is served via MMS.
77. Method of Claim 75, wherein a SMS message is sent to a mobile user with a promotion.
78. Method of any previous Claim, wherein customized outcomes or actions include data transfer between databases.
79. Method of any previous Claim, wherein the unified platform system comprises networks, servers and storage.
80. Use of the method of any previous Claim, wherein data from a mobile phone user (MSISDN: Mobile Subscriber Integrated Services Digital Network-Number), if it satisfies a situational factor (eg. geo-zone) and a variable factor (eg. weather), results in a voucher being served to the mobile phone user via MMS (Multimedia Messaging Service).
81. Use of the method of any of Claims 1 to 79, wherein Vouchers/Promotions are Served to a mobile end-user based on their location and information on nearby retail outlets.
82. Use of the method of any of Claims 1 to 79, wherein special offers are sent to a mobile customer based on their location and special offers for a calendar month. 83. Use of the method of any of Claims 1 to 79, wherein promotions are sent based on a mobile customer's location and specific information stored in their user profile.
84. Use of the method of any of Claims 1 to 79, wherein all new customers who have recently made a purchase are entered a point of sale prize draw.
85. Use of the method of any of Claims 1 to 79, wherein rail travel information is sent to a mobile user each morning at a selectable time.
86. Use of the method of any of Claims 1 to 79, wherein regular information on user interests is provided.
87. Use of the method of any of Claims 1 to 79, wherein information on service/utility usage and reaching defined thresholds such as service caps and/or limits is provided. activation trigger combined with Queries and Rules to establish a mobile user's reading preferences against available offers, are used to deliver an SMS with the relevant promotional offer to the mobile user.
89. Use of the method of any of Claims 1 to 79, wherein the data processing engine receives an alert that a mobile customer has travelled to place x on date y and begins to store this behavioural data to build up a trend pattern on the mobile customer.
90. Use of the method of any of Claims 1 to 79, wherein the user-defined rules are used to filter data from two original databases to subsequently populate a new database.
91. Use of the method of any of Claims 1 to 79, wherein when a mobile end-user enters a geo-fenced zone, this triggers an alert for the data processing engine to run multiple queries on the location zone, the end-user demographic profile and the closest retail outlet offering vouchers, following which the data processing engine generates the service of a voucher to the mobile end-user. 92. Use of the method of any of Claims 1 to 79, wherein when a mobile end-user enters a fashion store geo-fenced zone, this triggers an alert for the data processing engine to query the season, and the end-user profile, following which the data processing engine generates the service of a fashion-related seasonal promotional offer to the mobile end-user.
93. Use of the method of any of Claims 1 to 79, wherein the rules involve querying of local weather through an external system call based on a location of a mobile user, matching of a querying result with internal or external data corresponding to retail vouchers matching the mobile user's location and current weather for that location, and an outcome is the sending of an SMS, MMS or email to deliver the retail voucher as identified by the Rules.
94. Use of the method of any of Claims 1 to 79, wherein rules involve checking of internal/external data for weather conditions and relevant promotions to send to a mobile user, and rules for sending an alert to a remote system responsible for activating a central heating at a mobile user's home, and outcomes are a sending of an alert to a remote system responsible for activating the central heating unit at the mobile user's home as well as a sending of an SMS, MMS or Email to the user containing promotional vouchers corresponding to the weather conditions.
95. Use of the method of any of Claims 1 to 79, wherein an International Roaming Trigger is activated when a mobile customer leaves their home zone; the rules involve checking a user profile to determine if the mobile customer has a pre -agreed pay-as-you- go travel policy and if so an alert is sent to a travel insurance company informing them that their mobile customer is abroad and therefore their pay-as-you-go travel insurance policy should be activated, and outcomes are sending of an alert to a remote travel agency system informing it of the need to activate the pay-as-you-go travel insurance policy for the mobile customer.
96. Use of the method of any of Claims 1 to 79, wherein an International Roaming Trigger is activated when a mobile customer enters a foreign country; the rules establish the mobile customer's bank account details in order to inform a customer's bank that their mobile customer is abroad, and outcomes are sending of an alert to the customer's bank so as to set a marker on the mobile customer's account ensuring that their card is not blocked.
97. Use of the method of any of Claims 1 to 79, wherein user data is input, a manual trigger is used to begin the process, and then the input user data is checked for a customer attribute and for a customer purchase such that those customer records which satisfy these conditions are used to create a new user list.
98. System for processing data including a unified platform system comprising a platform as a service and a software as a service, the system comprising networks, servers and storage, and a data processing engine in the unified platform system, the system operable to:
(i) receive user-defined rules in the data processing engine;
(ii) receive data in the data processing engine; (iii) apply in the data processing engine the received user-defined rules to the received data, and
(iv) generate in the data processing engine customized outcomes or actions using the user-defined rules.
99. System of Claim 98, operable to perform the method of any of Claims 1 to 76.
100. System of Claims 98 or 99, wherein the system is operable to run a plurality of jobs in real time.
101. Use of the system of any of Claims 98 to 100, to perform the uses of any of Claims 80 to 97.
102. Computer program product embodied on a computer-readable medium, the computer program product operable to perform a method of processing data in a data processing engine in a unified platform system comprising a platform as a service and a software as a service, the method comprising the steps of:
(i) receiving user-defined rules in the data processing engine;
(ii) receiving data in the data processing engine;
(iii) applying in the data processing engine the received user-defined rules to the received data, and
(iv) generating in the data processing engine customized outcomes or actions using the user-defined rules.
PCT/GB2013/052546 2012-09-28 2013-09-30 Method of processing data in a data processing engine WO2014049378A1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
GB201217418A GB201217418D0 (en) 2012-09-28 2012-09-28 System
GB1217418.1 2012-09-28
GBPCT/GB2013/050638 2013-03-14
PCT/GB2013/050638 WO2014049322A1 (en) 2012-09-28 2013-03-14 Method of processing data for marketing and advertising purposes
GB201309335A GB201309335D0 (en) 2012-09-28 2013-05-23 Updated system
GB1309335.6 2013-05-23

Publications (1)

Publication Number Publication Date
WO2014049378A1 true WO2014049378A1 (en) 2014-04-03

Family

ID=47225396

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/GB2013/050638 WO2014049322A1 (en) 2012-09-28 2013-03-14 Method of processing data for marketing and advertising purposes
PCT/GB2013/052546 WO2014049378A1 (en) 2012-09-28 2013-09-30 Method of processing data in a data processing engine

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/GB2013/050638 WO2014049322A1 (en) 2012-09-28 2013-03-14 Method of processing data for marketing and advertising purposes

Country Status (2)

Country Link
GB (2) GB201217418D0 (en)
WO (2) WO2014049322A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170180289A1 (en) * 2015-12-18 2017-06-22 Amazon Technologies, Inc. Publish-Subscribe Message Transformation

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10264113B2 (en) 2014-01-10 2019-04-16 Onepin, Inc. Automated messaging
US10298740B2 (en) 2014-01-10 2019-05-21 Onepin, Inc. Automated messaging
EP3269159A4 (en) 2015-03-09 2019-01-16 OnePin, Inc. Automatic event-based network monitoring
WO2016179197A1 (en) 2015-05-04 2016-11-10 Onepin, Inc. Automatic aftercall directory and phonebook entry advertising
CN109344392B (en) * 2018-08-23 2023-02-03 广州市万隆证券咨询顾问有限公司 Intelligent message pushing method, system and device for security customer service consultation
CN109271160B (en) * 2018-09-29 2022-04-26 京东科技控股股份有限公司 Activity rule establishing method, activity rule establishing device, computer system and medium
CN112486964B (en) * 2020-11-26 2024-04-26 中国人寿保险股份有限公司 Target identification method and device
CN112988814B (en) * 2021-03-16 2022-02-08 北京时代凌宇信息技术有限公司 System and method for realizing rule engine of flood control internet of things sensing equipment
CN112988828B (en) * 2021-04-25 2024-03-12 北京致趣科技有限公司 Message pushing method and electronic equipment
CN114697694A (en) * 2022-03-24 2022-07-01 上海哔哩哔哩科技有限公司 Interactive processing method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0953173B1 (en) 1997-01-20 2001-08-22 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Data partitioning and duplication in a distributed data processing system
EP1610519B1 (en) 2004-06-22 2010-08-18 France Telecom Method and platform for mediation between web services applications.
US20110106606A1 (en) * 2009-10-30 2011-05-05 Thordsen James A Methods and systems for coordinated coupon delivery
US20110208788A1 (en) * 2010-02-19 2011-08-25 Sap Ag Service Integration Modeling and Execution Framework
US20120143951A1 (en) * 2010-12-07 2012-06-07 Nec Laboratories America, Inc. System and method for providing a platform as a service (paas) with a materialized shared space

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0953173B1 (en) 1997-01-20 2001-08-22 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Data partitioning and duplication in a distributed data processing system
EP1610519B1 (en) 2004-06-22 2010-08-18 France Telecom Method and platform for mediation between web services applications.
US20110106606A1 (en) * 2009-10-30 2011-05-05 Thordsen James A Methods and systems for coordinated coupon delivery
US20110208788A1 (en) * 2010-02-19 2011-08-25 Sap Ag Service Integration Modeling and Execution Framework
US20120143951A1 (en) * 2010-12-07 2012-06-07 Nec Laboratories America, Inc. System and method for providing a platform as a service (paas) with a materialized shared space

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NN: "Brainstorm unveils V10 of Dragon Platform", 13 June 2012 (2012-06-13), XP055078935, Retrieved from the Internet <URL:http://web.archive.org/web/20120918101826/http://www.brainstorm.co.uk/news/news_dragonlaunch.php> [retrieved on 20130912] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170180289A1 (en) * 2015-12-18 2017-06-22 Amazon Technologies, Inc. Publish-Subscribe Message Transformation
US11863509B2 (en) * 2015-12-18 2024-01-02 Amazon Technologies, Inc. Publish-subscribe message transformation

Also Published As

Publication number Publication date
GB201217418D0 (en) 2012-11-14
GB201309335D0 (en) 2013-07-10
WO2014049322A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
WO2014049378A1 (en) Method of processing data in a data processing engine
Aaltonen et al. The making of data commodities: Data analytics as an embedded process
EP2803214B1 (en) Platform for the delivery of content and services to networked connected computing devices
US20220215123A1 (en) Specifying characteristics of an output dataset of a data pipeline
US20170149912A1 (en) Method and system for collecting and providing application usage analytics
US20100023952A1 (en) Platform for data aggregation, communication, rule evaluation, and combinations thereof, using templated auto-generation
US20110185354A1 (en) Mobile Application Delivery Management System
JP7455252B2 (en) Method and system for segmentation as a service
CN103270527A (en) System and method for rewarding application installs
US20190102791A1 (en) Target user estimation for dynamic assets
EP2447831A1 (en) Apparatus and method for generating applications automatically
US9442745B2 (en) Business-to-consumer extendable base application
US20130060811A1 (en) System and Method for Operating Mobile Applications According to Activities and Associated Actions
US20200160381A1 (en) Cognitive generation of dynamic promotions on unpurchased items and inventory associated with an upcoming event
KR101905012B1 (en) Sns managed system for integrated management of social network services
US20220351237A1 (en) A computer implemented platform for advertisement campaigns and method thereof
Bano et al. Users' voice and service selection: An empirical study
De Prato et al. The next wave:" big data"?
Boucouvalas et al. Integrating retail and e-commerce using Web Analytics and intelligent sensors
US20220036298A1 (en) Systems and methods for obtaining information from a digital message
US20120310997A1 (en) Customizing language for organization application installation
Shaikh et al. M-commerce recommendation with mobile cloud architecture
KR102215083B1 (en) Method for providing integrated marketing service using device connection between franchisee and user based on game playing point
Liu A taxonomy and business analysis for mobile web applications
Panigrahi Business Intelligence at Bharti Airtel Ltd

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13783622

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13783622

Country of ref document: EP

Kind code of ref document: A1