[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

GB2515730A - System and method for routing a message, and a computer program product - Google Patents

System and method for routing a message, and a computer program product Download PDF

Info

Publication number
GB2515730A
GB2515730A GB1310046.6A GB201310046A GB2515730A GB 2515730 A GB2515730 A GB 2515730A GB 201310046 A GB201310046 A GB 201310046A GB 2515730 A GB2515730 A GB 2515730A
Authority
GB
United Kingdom
Prior art keywords
message
application server
channel
delivery
delivery channel
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
GB1310046.6A
Other versions
GB201310046D0 (en
Inventor
David Baddeley
Paul Putman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dynmark International Ltd
Original Assignee
Dynmark International Ltd
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 Dynmark International Ltd filed Critical Dynmark International Ltd
Priority to GB1310046.6A priority Critical patent/GB2515730A/en
Publication of GB201310046D0 publication Critical patent/GB201310046D0/en
Publication of GB2515730A publication Critical patent/GB2515730A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The claims specify selecting a channel (e.g. SMS, XMPP) for delivering a message to a recipient based on the recipient devices preferences. Dependent claims specify considering delivery costs in channel selection, assessing channels using read receipts, harvesting source IDs from received messages and multicasting messages to multiple devices. The channels can include over the top (OTT) methods that utilise communication data allowances rather than messaging allowances. An advertising delivery system is also disclosed and includes opt-in/out procedures and assessing advert responsiveness with read receipts.

Description

SYSTEM AND METHOD FOR ROUTING A MESSAGE, AND A COMPUTER PROGRAM PRODUCT
TECHNICAL FIELD
The present disclosure relates to the field of communications, and more particularly, athough not exclusively, to the field of message routing using a telecommunication and/or data network.
BACKGROUND
In a telecommunication network or system, messaging service components can be used to allow messages to be exchanged between devices that are part of or otherwise using the network. Such messaging services include for example SMS (short messaging service) and MMS (multimedia messaging service) -the former enabling the transfer of text-based messages between devices, the latter providing a somewhat richer experience inasmuch as messages including multimedia content, such as images, can be exchanged. The use of the telecommunication network when using these messaging components 1 5 results in a cost to a user of a device from the service provider as a result of the necessary use of network resources to enable the message and any other associated content to traverse the network infrastructure between devices.
Recently, options for message-based communications have increased with the provision of a number of low-cost and free alternatives to the above-noted services. The alternatives are typically referred to as over-the-top (OTT) services, as they enable devices to exchange messages without recourse to the traditional methods of delivery associated with standard messaging services -that is, they operate over-the-top' of the telecommunication network and operate using a provider-independent platform.
An OTT application will typically be provided by way of application (app) on a user device or as a service that enables communication over the Internet or using a telecommunication data plan or connection associated with the device, and which therefore bypasses traditional distribution of such content.
Broadly speaking, there are currently two different OTT alternatives that have emerged: operating system (OS) specific systems and third-party applications, which are typically cross-platform. Both sets of applications enable a richer user experience, but at a reduced (or zero) price compared with traditional messaging services.
SUMMARY OF THE INVENTION
According to an aspect, there is provided a computer-implemented method for routing a message to a recipient user equipment device, comprising receiving data representing the message at a messaging application server, selecting a delivery channel for the message from multiple delivery channels on the basis of a set of delivery preferences associated with the recipient device, and forwarding the message using the selected delivery channel.
Selecting a delivery channel can include determining a notional cost to deliver the message using respective ones of the multiple delivery channels. A delivery channel can be selected from one of an SMS delivery channel for a telecommunication network and a data channel. A data channel can be selected in preference to an SMS delivery channel. A read receipt can be received from the recipient device at the application server for a forwarded message over a data channel, and the preferences associated with the device can be updated on the basis of the received receipt. Updating the preferences can include determining an elapsed period of time between forwarding of the message and receipt of the read receipt. On the first use of a data delivery channel an optional opt in message can be sent prior to forwarding the actual message seeking permission to use the data channel for messaging.
The opt in mechanism is configurable per data channel. If no opt in response is received within a defined time period it is assumed the user is not active on the data channel and the delivery channel selection process is repeated excluding the declined data channel.
A message can be forwarded over the selected delivery channel using an appropriate protocol e.g. the extensible messaging and presence protocol (XMPP). In an example, determining the identity of the device can include using metadata associated with the message to determine a contact number for the device. The set of preferences can be mapped to the identity of the device. The identity of a device can be determined using metadata from a message received at the application server from the recipient device. A device database stored on the application server can be augmented with details of the device including at least an identifier associated with the device. The message can be forwarded to multiple recipient user equipment devices.
According to an example, there is provided a system for routing a message to a recipient user equipment device, comprising a messaging application server to receive data representing the message, select a delivery channel for the message from multiple available delivery channels on the basis of a set of delivery preferences associated with the device, and forward the message using the selected delivery channel. The application server may be operable to select a dehvery channel based, at least in part, on a notional cost associated with forwarding the message using respective ones of the multiple delivery channels. The application server may be operable to receive a read receipt from the recipient device for a forwarded message over a data channel, and classify a delivery channel for the device on the basis of the received receipt. The application server may be operable to use metadata associated with a message received by it from a device to determine an identifier for the device. The application server may be operable to use the metadata to determine if the device is a known device, and if not to augment a device database stored on the application server with details of the device including at least an identifier associated with the device.
According to an aspect, there is provided a computer program product, comprising a computer usable medium having computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for routing a message to a recipient user equipment device as noted above.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments will now be described, by way of example only, with reference to the accompanying drawings, in which: Figure 1 is a schematic block diagram of a system according to an example; Figure 2 is a flowchart of a method according to an example; and Figure 3 is a schematic block diagram of an overview of a system according to an example.
DETAILED DESCRIPTION
Example embodiments are described below in sufficient detail to enable those of ordinary skill in the art to embody and implement the systems and processes herein described. It is important to understand that embodiments can be provided in many alternate forms and should not be construed as limited to the examples set forth herein.
Accordingly, while embodiments can be modified in various ways and take on various alternative forms, specific embodiments thereof are shown in the drawings and described in detail below as examples.
There is no intent to limit to the particular forms disclosed. On the contrary, all modifications, equivalents, and alternatives falling within the scope of the appended claims should be included.
Elements of the example embodiments are consistently denoted by the same reference numerals throughout the drawings and detailed description where appropriate.
The terminology used herein to describe embodiments is not intended to limit the scope. The articles "a," "an," and "the" are singular in that they have a single referent, however the use of the singular form in the present document should not preclude the presence of more than one referent. In other words, elements referred to in the singular can number one or more, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises," "comprising," "includes," and/or "including," when used herein, specify the presence of stated features, items, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, items, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein are to be interpreted as is customary in the art. It will be further understood that terms in common usage should also be interpreted as is customary in the relevant art and not in an idealized or overly formal sense unless expressly so defined herein.
Figure 1 is a schematic block diagram of a system according to an example. The system 100 includes a telecommunication carrier network 102, a messaging application server 104, a network 106 and a recipient user equipment device 110. Network 106 can include a networked system that includes several computer systems coupled together, such as a local area network (LAN) or wide area network (WAN) or the Internet for example. The messaging application server 104 is coupled to network 102 and 106.
Network 102 is a telecommunication network, such as a 3G network for example, capable of supporting voice and data transmission between multiple devices. A device used in the specification can be referred to as a device, terminal, mobile station (MS), a user equipment (UE), a user terminal (UT), a wireless terminal, an access terminal (AT), a terminal, a subscriber unit, a subscriber station (55), a wireless device, a wireless communication device, a wireless transmit/receive unit (WTRU), a mobile node, a mobile, or other terms. Various embodiments of the device can include a cellular phone, a smart phone having a wireless communication function, a personal digital assistant (PDA) having a wireless communication function, a wireless modem, a portable computer having a wireless communication function, a capturing device such as a digital camera having wireless communication function, a game device having a wireless communication function, a music storage and replay appliance having a wireless communication function, an Internet appliance enabling wireless Internet access and browsing, and terminals or a portable unit having combinations of the functions. Other alternatives are possible.
The messaging application server 104 receives data 105 representing a message to be forwarded.
According to an example, data 105 can include message data 105a and a list of recipient devices 105b.
For example, the data 105 can be provided by an individual or enterprise interested in relaying the message lOSa to multiple recipients lOSb. For example, the message could be a marketing message, which can include a URL or other marketing material such as embedded multimedia data for example.
Alternatively, data 105 can include only message data. One or more recipients for the message can be provided or otherwise known on the application server 104.
Data 105 is received at server 104, and a delivery channel for the message is selected from multiple delivery channels. In an example, data can be provided to the server 104 using an upload tool or system. A list of recipients, such as lOSb, for the message lOSa includes data associated with one or more devices. For example, the data can be a globally unique identifier to enable a message to be routed to a device. The identifier can be a phone number associated with the device, a device IMSI, or any other such identifier for example. Each identifier, and thus each ultimate device, has a set of delivery preferences associated with it. According to an example, the delivery preferences specify the means by which a message can be received by the device) and in the event that multiple such delivery channels are permitted or otherwise allowable channels for a device, they can specify a preferred channel for the device. In an example, as a recipient is identified according to the identifier, the routing of a message is largely device independent. That is, a unique identifier can be migrated from device to device, such as when a user ports their number to a new phone for example. Accordingly, in an example, an identifier can be a device independent identifier that more broadly defines a recipient for a message, rather than identifying a specific device for a message. As such references herein to a number' should be taken to include reference to an identifier, which can include an identifier as described above.
A delivery channel can include a channel for delivery of an SMS or MMS message using the network 102, and can also include a channel in which a message is sent using an OTT service over network 106 for example, or alternatively, using a data plan of a device over network 102. For example, anOU service can be used in which a message is sent using TCP/IP with data representing the message being sent over network 106, such as the internet if the device 110 is connected thereto, or being sent using a data plan of the device 110 using network 102. In the case that an OTT service is used, the cost to send the message to the device 110 will likely be considerably lower than the cost to send it using a carrier specific mechanism or channel.
Accordingly, intelligent routing ofa message to a recipient or multiple recipients a delivery channel can be dynamically selected in order to maximise deliverability and minimise the costs associated with delivery of a message. Using a combination of the availability of a device as identified using a phone number for example on a delivery channel, the recipients channels preferences (opt in) and a cost of delivery on that channel, a method and system according to an example selects a cost effective and available or preferred delivery channel to route a message based on preference options set by a customer for example.
Messaging application server 104 can therefore forward a message for a recipient device 110 over a telecommunication network 102, and in an example, the device 100 can send a message for receipt at the server 104 via the network 102. That is, the messaging application server 104 is connected to network 102 to enable and provide global two way messaging.
In an example, a channel/connection/link can be made open via OTT network providers using for example the extensible messaging and presence protocol (XMPP), and messages can be sent and received in a similar way as those sent and received via SMS for example. OTT networks use different protocols than SMPP which is used for SMS. Therefore, to gain a connection to an OTT network, server 104: 1) Connects via an API to the network; 2) Creates an equivalent message using the protocol associated with the selected OTT data channel 3) Creates an individual account within the OTT (if one does not already exist for the sender) network to correspond to the account information contained within the messaging application (104) (the customer name). In addition, the OTT network account may provide one or more of the following: a. Read receipts on -to track open rates and provide intelligence b. Account Status -to allow an enterprise to set their status c. Profile It is also assumed that there will be multiple OTT networks available for a potential enterprise to contact an end number/device.
In an example, an enterprise can also have the choice to select: * the networks are available to them * the terms of priority when trying to contact a user via an opt in process, such as which network is preferred (typically, whichever network a user accepts during an opt in process for example, will be set as the default network to contact that user on).
Due to the sensitivity enterprises have based on user acceptance an opt in/out process can be provided.
This can also form the proposition with OTT providers to ensure any communication received into their messaging application has been requested by the user removing the ability for spamming over OTT channels (a capability that is not manageable with the sending of SMS).
In an example, for a message to be sent via an OH delivery channel in the first instance the user/device/number must opt in. An opt in process can be provided as follows: 1) A set of preferences can be provided that detail the way in which an enterprise wishes messages to be sent on its behalf. If within these preferences, an enterprise has elected to send via OTT, an opt in process is instigated; 2) Before a message can be sent the number/device/user is sent an opt in message notification if the number is live on the OH network; 3) If the message cannot be sent, the message is stored until the preferred channel opt in process can be completed. If the preferred channel is SMS channel, the message will be sent immediately and not include the opt in process; 4) The opt in notification message is configurable by the enterprise; 5) The message contains the ability for users to send back a keyword or URL to click to respond,
such as for example:
a. yes (opt in) b. No (do not opt in) 6) Opt in information can be provided for analytical purposes in connection with the device/number; 7) If no opt in response has been received within a pre-selected timeframe e.g. 24hrs/ 48hrs/l2hrs and so on, the system can send another opt in message to the number allowing a follow up message to be sent. Again this is configurable as to the amount of time given for a response. If no response is received from a second message the OTT channel will be considered "uninterested for that enterprise" and will select the next available channel; 8) If a positive response is received the enterprise can be taken to have received permission to send communications via anOU application or service.
In order to opt out, the following process can be taken: 1) As a footer to all messages sent according to an example, there can be an option to opt out that is provided at the bottom for example. This can be a textual field for a stop' response, or a click through to enable a user to opt out via a webpage for example; 2) An opt out message can be configured as desired by the enterprise as in the case of the opt in message; 3) If the number chooses to opt out by clicking the link or responding, the number is added to an opt out list of the messaging application server 104.
User behaviour can change over time, and thus where a user may use one OTT channel at one point in time, they may cease to use that channel in the future. The use of a particular channel is classified as active or inactive depending on whether a number is active (or not) on the prescribed OTT network. In an example, active numbers are considered to be active if they have received a message and read it.
Based on OTT capabilities it is possible to report on "read messages". If a user does not read a message within a defined timeframe the number can be deemed "inactive" on that OTT network in question. If a number becomes "inactive" the system can revert to sending messages via an alternative channel, which can be an alternative OTT channel or an SMS channel for example.
If a number becomes inactive an enterprise can configure when and/or if they would like to try to contact that number again via the same OTT network or others. This provides a re-activation retry opt in, and can be instigated by sending a message for the number that seeks to determine if a user is interested in using the particular channel for receipt of messages. This process can rely on a passive or active opt in -for example, active would require a user to perform a task, such as replying, in order to opt in, with no reply resulting in a continuation of the inactive status. Alternatively, a user may have to perform a task, such as replying, in order not to opt in, with no reply resulting in an active status.
A message can be sent via another OTT network or service if the preferred one becomes inactive. For example, if an enterprise specifies according to a set of preferences for a number that a message is preferably to be sent via a first OTT network, but that network has been marked as inactive, a second OTT network can be used.
Figure 2 is a flowchart of a method according to an example. At block 201 an enterprise (or individual and so on) provides a message package in block 203 to be routed. The message can be composed of data 204 representing information to be relayed to a user of a device 213. In addition the message package can include a listing of recipients 204a for the message data 204. In an example the list of recipients is provided as a set of identifiers that are linked to multiple users, such as their phone numbers for example. This means that message data intended for relay to and consumption by a user can be independent of the device that a user is using since such things can and typically so change over time.
In block 205, the message package 203 is received at a messaging application server 206. In an example, server 206 provides, as far as enterprise 201 is concerned, a cloud-based repository and processing device to receive message package 203 and process the data associated with the package in order to route the message 204 to one or more recipients using a preselected or other appropriate method. The message data 204 can be routed or otherwise forwarded or sent as an SMS or MMS message for example, or as a message sent using an OTT service or application. The selection of a delivery channel can be based on the message content and/or on a set of preferences associated with the enterprise and/or the recipients of the message. For example) an enterprise may have a unilateral preference for any message to be sent using an OTT service or application and to not send a message if this is not possible, such as because a recipient does not have an active OTT service or application associated with them.
Alternatively, data 205 for recipients can include preference data for multiple (or all) recipients that specifies a desired delivery mechanism, and/or a set of delivery mechanism alternatives in the case of failure or inability to send a message using an initial preference for example.
According to an example, server 206 is operatively coupled to enable forwarding, routing or sending of messages using multiple delivery channels 207. For example) server 206 can have access to a telecommunication network infrastructure in order to enable the routing of messages for sending over the network in question. In addition, server 206 can be connected to the internet in order to enable to send data packets for an OTT network application or service.
At block 209 a delivery channel for recipient is selected according to the preferences 211 associated with device 213 (or more particularly the identifier associated with the recipient) and the sender 201's routing preferences. At block 215, a message is routed, sent or otherwise forwarded to the recipient using the selected delivery mechanism or channel.
In an example, data representing a read receipt can be received from the recipient device at the application server after it has received the message and provided such a receipt (for example, if a user permits this to be sent unless it is sent automatically). On the basis of the read receipt, the preferences associated with the device can be updated. For example, receipt at the server of receipt data can indicate that the device/user is active at the destination to which the message was sent, and preferences can be updated as appropriate to indicate that the recipient is active on a particular delivery channel. Preferences can further include determining an elapsed period of time between forwarding of the message and receipt of the read receipt. A relatively long period of time can indicate that the user is active but is likely less inclined to be receptive to messages received on the delivery channel in question due to the time taken to view the message. Conversely, a relatively short period of time can indicate that a user is active and receptive.
In some cases, a recipient may not have an active data connection because, for example, the device has no WiFi signal, is abroad with data roaming disabled, is outside of 3G, 4G or GPRS coverage, of a network etc. In such case, preferences associated with the sender 201 may indicate an alternative mechanism for the sending of a message, such as by SMS for example. In some instances, the preferences may preclude a message being sent if it cannot be sent using an OTT network service or application.
In an example, messaging application server 104, 206 can be implemented in a computer system including a processor, memory, non-volatile storage, and an interface for example. Peripheral devices can also be considered part of the computer system. Atypical computer system will include at least a processor, memory, and a device (e.g., a bus) coupling the memory to the processor. The processor can include, for example, a general-purpose central processing unit (CPU), such as a microprocessor, or a special-purpose processor, such as a microcontroller. The memory can include, by way of example but not limitation, random access memory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM).
The memory can be local, remote, or distributed. The term computer-readable storage medium" is intended to include physical media, such as memory.
The bus can couple the processor to non-volatile storage. The non-volatile storage is often a magnetic floppy or hard disk, a magnetic-optical disk, an optical disk, a read-only memory (ROM), such as a CD-ROM, EPROM, or EEPROM, a magnetic or optical card, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory during execution of software on the computer system. The non-volatile storage can be local, remote, or distributed. The non-volatile storage is optional because systems can be created with all applicable data available in memory.
A processor is considered to be "configured to execute a program" when at least one value associated with the program is stored in a register readable by the processor. The bus can also couple the processor to one or more interfaces. The interface can include one or more of a modem or network interface. It will be appreciated that a modem or network interface can be considered to be part of the computer system. The interface can include an analog modem, isdn modem, cable modem, token ring interface, satellite transmission interface (e.g. "direct PC"), or other interfaces for coupling a computer system to other computer systems. The interface can include one or more input and/or output (I/O) devices. The I/O devices can include, by way of example but not limitation, a keyboard, a mouse or other pointing device, disk drives, printers, a scanner, and other I/O devices, including a display device.
The display device can include, by way of example but not limitation) a cathode ray tube (CRT), liquid crystal display (LCD), or some other applicable known or convenient display device.
Figure 3 is a schematic block diagram of an overview of a system according to an example. A user 301 can interact with the system via an enterprise product at block 303 or using a desktop application in block 305. For example, a plug-in can be provided that can enable a user 301 to leverage the system of the present invention from within an existing application. A web user 307 can also use the system, and all are connected to the internet in block 309. Accordingly, interactions can be made with a platform of the system in block 311. For example, a messaging campaign can be set up in which a target set of numbers to message is generated based on an initial set that has been filtered using a template. Within the messaging platform a message can be forwarded for sending using multiple carriers. A message can be sent using XMPP (Extensible Messaging and Presence Protocol) for example in block 313 to recipients 317. Alternatively, a message can be sent in block 315 to recipients 319 using SMPP (Short Message Peer-to-Peer) for example as described above. Other alternatives are possible as will be appreciated.

Claims (18)

  1. CLAIMS1. A computer-implemented method for routing a message to a recipient user equipment device, comprising: receiving data representing the message at a messaging application server; selecting a delivery channel for the message from multiple delivery channels on the basis of a set of delivery preferences associated with the recipient device; and forwarding the message using the selected delivery channel.
  2. 2. A method as claimed in claim 1, wherein selecting a delivery channel includes determining a notional cost to deliver the message using respective ones of the multiple delivery channels.
  3. 3. A method as claimed in claim 1 or 2, wherein a delivery channel is selected from one of an SMS delivery channel for a telecommunication network and a data channel.
  4. 4. A method as claimed in claim 3, wherein a data channel is selected in preference to an SMS delivery channel.
  5. S. A method as claimed in any preceding claim, further comprising: receiving a read receipt from the recipient device at the application server for a forwarded message over a data channel; updating the preferences associated with the device on the basis of the received receipt.
  6. 6. A method as claimed in claim 5, wherein updating the preferences includes determining an elapsed period of time between forwarding of the message and receipt of the read receipt.
  7. 7. A method as claimed in any preceding claim, wherein a message is forwarded over the selected delivery channel using the extensible messaging and presence protocol (XMPP).
  8. 8. A method as claimed in any preceding claim, wherein determining the identity of the device includes using metadata associated with the message to determine a contact number for the device.
  9. 9. A method as claimed in any of claims 1 to 7, wherein the set of preferences is mapped to the identity of the device.
  10. 10. A method as claimed in claim 9, wherein the identity of a device is determined using metadata from a message received at the application server from the recipient device.
  11. 11. A method as claimed in caim 10, further including: augmenting a device database stored on the application server with details of the device including at least an identifier associated with the device.
  12. 12. A method as claimed in any preceding claim, wherein the message is forwarded to multiple recipient user equipment devices.
  13. 13. A system for routing a message to a recipient user equipment device, comprising: a messaging application server to: receive data representing the message; select a delivery channel for the message from multiple available delivery channels on the basis of a set of delivery preferences associated with the device; and forward the message using the selected delivery channel.
  14. 14. A system as claimed in claim 13, wherein the application server is operable to select a delivery channel based, at least in part, on a notional cost associated with forwarding the message using respective ones of the multiple delivery channels.
  15. 15. A system as claimed in caim 13 or 14, wherein the application server is operable to receive a read receipt from the recipient device for a forwarded message over a data channel; and classify a delivery channel for the device on the basis of the received receipt.
  16. 16. A system as claimed in any of claims 13 to 15, wherein the application server is operable to use metadata associated with a message received by it from a device to determine an identifier for the device.
  17. 17. A system as claimed in claim 16, wherein the application server is operable to use the metadata to determine if the device is a known device, and if not to augment a device database stored on the application server with details of the device including at least an identifier associated with the device.
  18. 18. A computer program product, comprising a computer usable medium having computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for routing a message to a recipient user equipment device as claimed in any of claims ito 12.
GB1310046.6A 2013-06-05 2013-06-05 System and method for routing a message, and a computer program product Withdrawn GB2515730A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1310046.6A GB2515730A (en) 2013-06-05 2013-06-05 System and method for routing a message, and a computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1310046.6A GB2515730A (en) 2013-06-05 2013-06-05 System and method for routing a message, and a computer program product

Publications (2)

Publication Number Publication Date
GB201310046D0 GB201310046D0 (en) 2013-07-17
GB2515730A true GB2515730A (en) 2015-01-07

Family

ID=48805803

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1310046.6A Withdrawn GB2515730A (en) 2013-06-05 2013-06-05 System and method for routing a message, and a computer program product

Country Status (1)

Country Link
GB (1) GB2515730A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2551170A (en) * 2016-06-08 2017-12-13 Ubisend Ltd A method and apparatus for communicating a message provided by a computer program to a remote mobile communication device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702739B1 (en) * 2002-10-01 2010-04-20 Bao Tran Efficient transactional messaging between loosely coupled client and server over multiple intermittent networks with policy based routing
US20130041956A1 (en) * 2011-08-08 2013-02-14 Benjamin Peter Davenport Rescinding Messages in a Messaging System With Multiple Messaging Channels

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702739B1 (en) * 2002-10-01 2010-04-20 Bao Tran Efficient transactional messaging between loosely coupled client and server over multiple intermittent networks with policy based routing
US20130041956A1 (en) * 2011-08-08 2013-02-14 Benjamin Peter Davenport Rescinding Messages in a Messaging System With Multiple Messaging Channels

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2551170A (en) * 2016-06-08 2017-12-13 Ubisend Ltd A method and apparatus for communicating a message provided by a computer program to a remote mobile communication device

Also Published As

Publication number Publication date
GB201310046D0 (en) 2013-07-17

Similar Documents

Publication Publication Date Title
US20140364082A1 (en) System And Method For Routing A Message, And A Computer Program Product
US11502985B1 (en) Device independent message distribution platform
ES2809237T3 (en) Content processing and network services for mobile or fixed devices
US11677878B2 (en) Methods and systems for notifications in communications networks
US8400961B1 (en) Wireless multimedia brokerage service for real time content provisioning
US8051057B2 (en) Processing of network content and services for mobile or fixed devices
US9117197B1 (en) Alert system for social network users
US9117203B2 (en) Method and apparatus for augmented social networking messaging
KR100650739B1 (en) Message broadcasting service system and method using open api
CN104301373B (en) Via the synchronous sending out notice of file-sharing service
US20120311045A1 (en) Notification services to one or more subscriber devices
US8645814B2 (en) System and method for displaying status of electronic messages
US10554762B2 (en) Mobile event notifications
US11303597B2 (en) Blockchain-based community messaging system and method thereof
US11570130B2 (en) System for delivering notification messages across different notification media
WO2011155996A2 (en) Group messaging integration system, method and apparatus
KR101586688B1 (en) Method, device and program of sharing contents
US9439049B2 (en) System and method for message service gateway
WO2021171125A1 (en) Messaging campaign manager, messaging campaign manager system, bulk or mass messaging system, method of bulk or mass messaging, computer program, computer-readable medium, graphical user interface.
GB2515730A (en) System and method for routing a message, and a computer program product
CN102187653B (en) Incoming message control server and incoming message control method
US20140364157A1 (en) Method And System For Providing A Set Of Target Recipients For A Message
US9596198B2 (en) Enabling and supporting a presence server cache
GB2516417A (en) Method and system for providing a set of target recipients for a message
KR20200021724A (en) System for providing message service using mobile general directory number and method therreof

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)