The present invention relates to the field of messaging and more particularly to the transmission of a message comprising an advertisement component.
Today, messaging is omnipresent. The quantity of Short Message Service (SMS), Multimedia Messaging Service (MMS), emails and other multimedia content exchanged between users of mobile user devices is very important and is still growing.
The availability of this multitude of messaging means opens the door to multimedia advertisement and content targeting. Advertisements (Ads) for displaying in a mobile device, for example, can be targeted as the identity and the location of a user device can be inferred. Further, the content of messages communicated through the mobile device offers a great source of information useful for targeted advertising.
It is therefore possible today to receive Ads that are targeted according to message content or to a user's profile or location, for example. However, while a mobile device is roaming, the costs of receiving these messages increase dramatically.
It is therefore a general object of this invention to provide a method and network node for overcoming at least some of the prior art drawbacks.
According to an aspect of the invention, a method, executed in a network node, for deferring a transmission of a message comprising an advertisement (Ad) component is provided. The method comprises the steps of detecting that a target device for the message is roaming and that a deferring option is active for the target device and storing the message with the Ad component. The method comprises, after the step of storing, receiving a notification indicating that the target device is not roaming and if the Ad component is valid, sending the message to the target device, else if the Ad component is not valid, retrieving a new Ad, updating the message with the new Ad and sending the message to the target device.
According to another aspect of the invention, a method executed in a network node, for deferring a transmission of a message comprising an advertisement (Ad) component is provided. The method comprises the steps of detecting that a first target device for the message is roaming and that a deferring option is active for the first target device and storing the message with the Ad component. The method comprises, after the step of storing, receiving a notification indicating that a second target device is not roaming, and if the Ad component is valid, sending the message to the second target device, else if the Ad component is not valid, retrieving a new Ad, updating the message with the new Ad and sending the message to the second target device.
According to another aspect of the invention, a network node for deferring a transmission of a message comprising an advertisement (Ad) component is provided. The network node comprises a first interface in communication with other network nodes, said first interface detecting if a target device for the message is roaming, detecting if a deferring option is active for the target device and receiving a notification indicating that the target device is not roaming. The network node further comprises a database for storing the message with the Ad component, when the first interface detects that the target device is roaming and that the deferring option is active for the target device. The network node further comprises a second interface in communication with an Ad server, for retrieving a new Ad and a processing module for verifying if the Ad component stored in the database is valid, for retrieving a new Ad using the second interface and for updating the message with the new Ad if the Ad component stored in the database is not valid, when a notification indicating that the target device is not roaming is received by the first interface. The network node further comprises a third interface, in communication with the target device, for sending the message with the Ad component to the target device.
According to another aspect of the invention, a network node for deferring a transmission of a message comprising an advertisement (Ad) component is provided. The network node comprises a first interface in communication with other network nodes, said first interface detecting if a first target device for the message is roaming, detecting if a deferring option is active for the first target device and receiving a notification indicating that a second target device is not roaming. The network node further comprises a database for storing the message with the Ad component, when the first interface detects that the first target device is roaming and that the deferring option is active for the first target device. The network node further comprises a second interface in communication with an Ad server, for retrieving a new Ad and a processing module for verifying if the Ad component stored in the database is valid, for retrieving a new Ad using the second interface and for updating the message with the new Ad if the Ad component stored in the database is not valid, when a notification indicating that the second target device is not roaming is received by the first interface. The network node further comprises a third interface, in communication with the second target device, for sending the message with the Ad component to the second target device.
The objects and advantages of the invention will be understood by reading the detailed description in conjunction with the figures, wherein:
The various features of the invention will now be described with reference to the figures. These various aspects are described hereafter in greater detail in connection with exemplary embodiments and examples to facilitate an understanding of the invention, but should not be construed as limited to these embodiments. Rather, these embodiments are provided so that the disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
The embodiments according to the present invention are described with reference to block diagrams and/or operational illustrations of methods, servers, and computer program products. It is to be understood that each block of the block diagrams and/or operational illustrations, and combinations of blocks in the block diagrams and/or operational illustrations, can be implemented by radio frequency, analog and/or digital hardware, and/or computer program instructions. Thus, the various aspects of the invention may be embodied in many different forms, and all such forms are contemplated to be within the scope of the invention. The computer program instructions may be provided to a processor circuit of a general purpose computer, special purpose computer, ASIC, and/or other programmable data processing apparatus, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block diagrams and/or operational block or blocks. In some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Furthermore, in some illustrations, some blocks may be optional and may or may not be executed.
When a user has subscribed to an advertisement (Ad) service, he usually receives a messages as originally sent by a sender, accompanied with an Ad component which has been inserted by the Ad service, after the message was sent. This happens regardless of whether the recipient is roaming or not. Generally, a user has no control of the content of the Ads received in terms of their sizes. Therefore, expensive costs from downloading large Ad messages, while roaming, may be incurred.
The present invention proposes an Ad service which may be set-up such that the user receives messages with their Ads components, sent while the user was roaming, at a later time when he is not roaming anymore.
The present invention therefore proposes to store the message with the original Ad in a database while a user is roaming. When the recipient is not roaming anymore, the message is retrieved from the database and sent to the user. However, before the message is sent, the validity of the Ad component is verified and, if necessary a new Ad is fetched and incorporated to the message, thus replacing the original Ad.
In order to do that, the message is first stored, with its AD component, when the recipient is roaming, unavailable or unwilling to take the message. Then, a verification of the Ad is made to determine if it is still valid, when the recipient comes online and is not roaming anymore. The verification consists of revisiting the integrity of the AD in terms of content and time criteria and also to select the appropriate AD in reference to the user device, in the case where the recipient has registered multiple user devices and uses a device different from the one to which the message was originally directed to, to receive the stored message.
The present invention proposes to re-use existing mobile notification mechanisms such as Home Location Register (HLR) Alert-SC, Location Based Service Spatial Triggers and SIP REGISTER Event packages, to notify a node of the network when the recipient has just entered the network i.e. the user is no longer roaming or unavailable. The present invention also introduces a new notification function to initiate a process to send out any deferred messages along with an “updated” AD component, if necessary. This new notification indicator indicates to a network node to fetch the message and also to fetch an updated Ad component to be sent with the message. For the user, this should be done in a transparent way.
Reference is now being made to
After the step 16 of storing, the steps 22 and 24, of receiving a notification indicating that the target device is not roaming are executed. This notification may be generated, for example, when a user enters an area covered by the operator of the cellular network to which he subscribes, and where no roaming fees are charged. At step 26, optionally, it is verified if a message is stored and the message with its Ad component are retrieved at step 28. At step 30, it is verified if the Ad component is valid. If the Ad is invalid or outdated or if the device connected is not of the same type as the type identified by the flag indicating a device type, then step 32 of retrieving a new Ad is executed. Step 34 of updating the message with the new Ad is then executed. On the other hand, if the Ad is valid and a device has the same type as the flag indicating a device type, the step 36 of sending the message to the target device is executed.
Other optional steps 38 to 44 of verifying if the message transmission was a success and of taking corrective measures otherwise may also be executed.
In order to verify if an Ad is valid, various verifications may be executed. Among these, a verification of the validity period of the Ad, compared with the current date may be executed. Therefore, if the current date is outside the validity period of the original Ad component of the message, this Ad may be replaced with an Ad which is valid at the current date and time. Similarly, if the devices to which the original message was sent was a mobile device, for instance, and the device on which the message is retrieved is a fixed device, the Ad may be replaced by an Ad directed to users of fixed device instead of an Ad directed to users of mobile devices. One of ordinary skills in the art will readily understand that many different verifications may be made and all these verifications, such as of the location of the device, the history of message downloads on the device, etc. are meant to be included in the present invention.
Reference is now being made to
The network node 50 further comprises a database 54 for storing the message with the Ad component, when the first interface 52 detects that the target device is roaming and that the deferring option is active for the target device. The network node 50 further comprises a second interface 56 in communication with an Ad server 72, for retrieving a new Ad. The network node 50 comprises a processing module 58 for verifying if the Ad component stored in the database 54 is valid, for retrieving a new Ad using the second interface 56 and for updating the message with the new Ad if the Ad component stored with the message in the database 54 is not valid, when a notification indicating that the target device is not roaming is received by the first interface. The network node 50 further comprises a third interface 60, in communication with the target device 80, for sending the message with the Ad component to the target device 80.
Still referring to
Reference is now being made to
At step 105, the IMS-M 232 issues a request to the Ad Server 72 to retrieve an Ad component to be inserted into the message, for example when a recipient is roaming or not currently available. The IMS-M 232 sends the request to the Notification function 250 at step 106 to verify if the recipient has the Ad deferring option. It has to be understood that the Notification function 250 may be implemented in software or hardware and that it can be collocated with another node of the network. If the recipient has the Ad deferring option, the Notification function 250 sets a “Notify Flag” to TRUE (this flag is set by default to FALSE). In addition, the Notification function 250 verifies if the IMS message was sent by a mobile device or by a fixed device and set the “Mobile Flag” accordingly (this flag is set by default to TRUE). In this example, the “Mobile Flag” is set to TRUE because the Notification function 250 is configured to use the type of device of the device used to send the message, to set the type of the recipient device, assuming that they are both of the same type. However, it should be noted that the system can be configured in many different ways and that a preferred type of device for the recipient could be used to set the “Mobile Flag” or the flag could also be set to a fixed value. As a person skilled in the art would readily understand this is totally configurable.
At step 107, in the case where an enabler has to be triggered for the notification service in order to tell IMS-M 232 that the user has just registered i.e., in the HLR case using the Alert-SC or in the LBS case using the Spatial Trigger, the Notification function 250 also sends a notify message out to the enabler 260, 261, 262. This step is not necessary in the IMS case since the CSCF 220 also receives the register event when the IMS user registers.
At step 108, the IMS-M 232 receives the Notification flag data from the Notification function 250. At step 109, the IMS-M 232 stores the message with the Ad component and the notification flag data that was set in step 6, in the database 54 through a Defer function 270. It has to be understood that the Defer function 270 may be implemented in software or hardware and that it can be collocated with another node of the network. At steps 110, 111, 112, 113 and 114, once the message is successfully stored, a “202 Accepted” message is sent back to the originating CSCF 220.
Reference is now being made to
At step 303, the IMS-M 232 uses the new Notification function 250 to determine if the retrieved message(s) which also contain Ad component(s) need to be updated or not from an Ad component perspective. This means that the Notification function 250 verifies if the “Notify Flag” is set to TRUE and may also issue a request to the Ad server 72, at step 303.1, to verify the Ad validity. The step 303.1 is optional. Once this verification is done, the Notification function 250 also verifies the value of the “Mobile Flag”. In this example, the Ad component is still applicable from content and time perspectives, so no new Ad should be retrieved from the Ad server 72. However, the original message was stored and set for a mobile device 210 and not for a fixed device 210′. User B has now registered with his fixed device 210′. As a result, the Notification function 250 determines if a new Ad for the fixed device has to be retrieved. At step 304, the Notification function 250 returns a “Retrieve New Fixed AD” response to the IMS-M 232, including the recipient's URL and any other pertinent information.
At step 305 the IMS-M 232 receives the response from the Notification function 250 and immediately proceed to fetch a new Ad for User B 210′, from the Ad Server 72, which is specific to User B's fixed device 210′. It is assumed that the Ad Server 72 contains multiple versions of Ads and more specifically, different Ads for mobile and fixed devices.
Once the IMS-M 232 successfully receives the new Ad, it removes the old Ad from the message and replaces it with the new Ad. The message is then send to the CSCF 222. At step 306, the CSCF 222 receives the new message and forwards it to the User B fixed device 210′. At step 307, User B receives the new message with the Ad component. User B's fixed device 210′ then returns a 200 OK response at step 308. Once the IMS-M 232 receives positive acknowledgement of message reception, the IMS-M 232 removes the message from the database 54 via Defer function 270, at step 309.
The invention has been described with reference to particular embodiments. However, it will be readily apparent to those skilled in the art that it is possible to embody the invention in specific forms other than those of the embodiments described above. The described embodiments are merely illustrative and should not be considered restrictive in any way. The scope of the invention is given by the appended claims, rather than the preceding description, and all variations and equivalents that fall within the range of the claims are intended to be embraced therein.