Abstract:
Disclosed is a method and a tracking system for tracking content in a mobile communication network. The method comprises maintaining predefined identifying information pertaining to content to be tracked, the identifying information being independent of user information associated with the content, intercepting a message originated from a user, comparing content of the message with said predefined identifying information, and responsive to obtaining at least partial match in said comparing, concluding that said message comprises content to be tracked.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention generally relates to content tracking in mobile communication networks. The invention relates particularly, though not exclusively, to tracking of advertising content. 
       BACKGROUND OF THE INVENTION 
       [0002]    There are currently various efforts ongoing in relation to advertising in mobile communication systems. For an advertiser it is advantageous to be able to follow up user response to the advertising content provided to the users, i.e. behaviour of the recipients after they have received some advertising content. One way to follow up the user response to digital advertising content is to track clickbacks on advertisement banners, tags or the like. This is commonly used in Internet advertising systems. Sometimes people however forward advertisements they received in a message (be it email, SMS, MMS, or some other message) to someone else. For this reason simple follow up of clickbacks results in that the advertiser may not know from where the user received the advertisement and therefore may not be able to optimally use the clickback information in adjustment user segmentation. That is, the advertiser may not know identity of the original recipient of the advertisement. As Internet is based on anonymity it is difficult to solve this problem in Internet environment. In mobile communication networks the network operator knows identities of the users whereby new opportunities arise for solving this problem. 
         [0003]    In other words, in a mobile advertising system the network operators (possibly acting as an advertisement aggregator) have the added benefit that they know identities of individual users receiving the advertising content. Hence, the advertising content delivered to a particular recipient can be tracked, user reaction to it can be logged as well as the eventual forwarding of such content to other users can be monitored and acted upon. In currently known systems such tracking is based on maintaining mappings between recipients of certain content and the actual content. This type of tracking may be referred to as Superdistribution, For example OMA (Open Mobile Alliance) DRM 2 (Digital Rights Management) defines a complex set of tokens to be used for maintaining such mappings, which can then be used for tracking whether certain recipient of content forwards the content to someone else. Also other systems that are based on maintaining similar mappings exist. 
       SUMMARY 
       [0004]    Now an alternative solution for tracking content is provided. 
         [0005]    According to a first aspect of the invention there is provided a method for tracking content in a mobile communication network, the method comprising 
         [0006]    maintaining predefined identifying information pertaining to content to be tracked, 
         [0007]    the identifying information being independent of user information associated with the content, 
         [0008]    intercepting a message originated from a user, 
         [0009]    comparing content of said message with said predefined identifying information, and 
         [0010]    responsive to obtaining at least partial match in said comparing, concluding that said message comprises content to be tracked. 
         [0011]    In an embodiment of the invention the method further comprises 
         [0012]    distributing content to one or more recipients, 
         [0013]    storing identifying information pertaining to said distributed content, and 
         [0014]    using said stored identifying information as said predefined identifying information. 
         [0015]    Still further the method may comprise 
         [0016]    responsive to not obtaining a match in said comparing, storing identifying information pertaining to the content of the message. 
         [0017]    In another embodiment of the invention the method further comprises 
         [0018]    responsive to concluding that said message comprises the content to be tracked, 
         [0019]    extracting from said message user information pertaining to the sender and/or receiver of the message, and 
         [0020]    using said user information for updating one or more user profiles. 
         [0021]    In yet another embodiment of the invention the content to be tracked is advertising content and the method further comprises 
         [0022]    responsive to concluding that said message comprises the content to be tracked, 
         [0023]    attaching into said message additional advertising content that suits the content to be tracked. 
         [0024]    The identifying information may comprise for example one or more of the following: text length, a string indicating word lengths, a watermark, metadata, a checksum, and a full copy of the content to be tracked. 
         [0025]    According to a second aspect of the invention there is provided a tracking system for tracking content in a mobile communication network, the tracking system comprising 
         [0026]    a storage configured to maintain predefined identifying information pertaining to content to be tracked, the identifying information being independent of user information associated with the content, and 
         [0027]    a processing unit configured to 
         [0028]    intercept a message originated from a user, 
         [0029]    compare content of said message with said predefined identifying information, and 
         [0030]    responsive to obtaining at least partial match in said comparing, conclude that said message comprises content to be tracked. 
         [0031]    According to a third aspect of the invention there is provided a memory medium comprising computer executable program code adapted to enable an apparatus to perform the method of the first aspect or any related embodiment. 
         [0032]    Any foregoing memory medium may be a digital data storage such as a data disc or diskette, optical storage, magnetic storage, holographic storage, phase-change storage (PCM) or opto-magnetic storage. The memory medium may be formed into a device without other substantial functions than storing memory or it may be formed as part of a device with other functions, including but not limited to a memory of a computer, a chip set, and a sub assembly of an electronic device. 
         [0033]    An advantage that may be achieved by some embodiments of various aspects of the invention is that there is no need to maintain persistent mappings between recipients of certain content and the actual content. Another advantage that may be achieved is that the mechanism of various embodiments of the invention may be terminal independent, that is, there is no need to implement specific functionality in terminals and the tracking system does not necessarily need to be aware of capabilities of the terminals (the system may have this knowledge for other purposes, though). By being terminal independent, the tracking system may be more resistant to malicious use of the system. 
         [0034]    Various embodiments of the present invention have been illustrated only with reference to certain aspects of the invention. It should be appreciated that corresponding embodiments may apply to other aspects as well. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0035]    The invention will be described, by way of example only, with reference to the accompanying drawings, in which: 
           [0036]      FIG. 1  shows a block diagram of a system according to an embodiment of the invention; 
           [0037]      FIG. 2  shows logical components of a system according to an embodiment of the invention; 
           [0038]      FIG. 3  shows a flow diagram according to an embodiment of the invention; 
           [0039]      FIG. 4  shows a flow diagram according to another embodiment of the invention; 
           [0040]      FIG. 5  shows a flow diagram according to still another embodiment of the invention; and 
           [0041]      FIG. 6  shows a block diagram of a device suited for implementing various embodiments of the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0042]    In the following description, like numbers denote like elements. 
         [0043]    In many of the following examples the content that is tracked is advertising content, but the embodiments of the invention may be equally applicable to tracking some other content as well. The content that is tracked may be originally received or obtained by the sender of the content by any means. As an example, the content may be received by means of an SMS message and then forwarded in an MMS message, or an already forwarded content may be again forwarded. 
         [0044]    The messages, whose contents are tracked, may be for example SMS or MMS messages or some other type of messages that are transferred in mobile communication networks. Typically the messages are peer-to-peer messages. 
         [0045]      FIG. 1  shows a block diagram of a system according to an embodiment of the invention. The system comprises two end users, user A  101  and user B  102 , which are connected to a communication network  103  for example via an air interface offered by base stations and other network elements of the communication network (not shown in the figure). Further the system comprises a tracking system  104 , which is connected to the communication network  103  or part of the communication network  103 . The tracking system  104  is configured to intercept messages transferred between the end users  101  and  102  and to track, whether the messages comprise forwarded content. 
         [0046]    It must be noted that the system of  FIG. 1  may, and usually does, comprise various additional components offering different types of functionalities or services needed in the communication network, but those additional components are not shown herein for the sake of simplicity. 
         [0047]      FIG. 2  shows logical components of a system according to an embodiment of the invention. The system comprises three processing layers: design  201 , execution  202 , and delivery  203 . The processing layers co-operate with a profile database  204  and an identifying information database  205 . Further the system comprises two end users: user A  101  and user B  102 . 
         [0048]    It must be noted that for example the processing layers of  FIG. 2  are logical components and that each of them may involve one or more physical components. They may be processes running in the same physical device or in two or more separate physical devices. Also the databases of  FIG. 2  may reside in the same physical device with the processing layers or alternatively they may reside in different physical devices. 
         [0049]    In an embodiment of the invention the system of  FIG. 2  operates as follows. 
         [0050]    First an advertising campaign is designed in the design layer  201 . For finding suitable target group for the campaign, profile information  2 - 1  is pulled from the profile database  204 . Then the advertising campaign  2 - 2  is input to the execution layer. The execution layer may for example instantiate the advertising campaign, reserve delivery resources and map the campaign to individual users (e.g. based on their segmentation parameters). The campaign (consisting of the target group (segment) and the individual the advertisement(s) of the campaign) is then ready for delivery. 
         [0051]    The execution layer provides advertising content  2 - 3  to the delivery layer. The delivery layer stores identifying information  2 - 4  pertaining to the advertising content in the identifying information database  205  and then delivers the advertising content  2 - 5  to user A for example in an SMS or MMS message. The advertising content may be attached into some peer-to-peer message that is on its way to the user A, or a dedicated message originating from the advertising campaign may be used for delivering the advertising content. The advertising content may be delivered to more than one user although only one recipient is shown. However, only one piece of identifying information needs to be stored for one piece of advertising content. It must be noted though that there may be a plurality of variants of the content relating to the same advertising campaign. As an example one variant may be text only, while another one may contain pictures and still another one may contain audio and/or video. Different variants may then be selected to be delivered to different users depending on their network connection, device capabilities or some other parameters. In such case separate identifying information is typically stored for each variant of the content. Different types of identifying information that may be used are discussed in more detail further below. 
         [0052]    Let&#39;s then assume that the user A forwards the advertising content it received to the user B in a message  2 - 6 . The delivery layer intercepts this message and compares  2 - 7  the message content to the identifying information stored in the identifying information database. If there is a match (a partial match may suffice), it is concluded that the message comprises forwarded content. 
         [0053]    In an embodiment of the invention, the delivery layer is part of or integrated to functionality that provides transfer of messages, which is typically a messaging center such as SMSC or MMSC, and the delivery layer intercepts and examines all messages that are transmitted through the message transfer functionality. Alternatively the delivery layer may intercept and examine only messages that fulfill some predefined criteria. Additionally or alternatively, messages may be intercepted also in case the messaging protocol that is used supports separate forward operation. For example if user A forwards certain MMS message to user B without editing the message, the terminal of the user A may use a “MM1_Forward.REQ” operation defined in 3GPP TS 23.140 V6.9.0, in which only identifier of the message is actually forwarded from user A to user B and the content is delivered to user B from the messaging system on the basis of the forwarded identifier. In this case the intercepting may happen between the messaging center and the user. Still another possibility is to have the intercepting functionality integrated directly to the network without any messaging center. An example of such integrated intercepting functionality is SMS interception on SS7 (Signaling System #7) telecom signaling level. 
         [0054]    Now, if it is concluded that the message does not comprise forwarded (advertising) content, the delivery layer proceeds with its “normal” operating instructions and for example requests  2 - 8  advertising content from the execution layer or performs any other operations as instructed. The execution layer responds with suitable advertising content  2 - 9  and the delivery layer attaches the advertising content to the message and forwards the message  2 - 9  to the user B. 
         [0055]    If it is concluded that the message does comprise forwarded (advertising) content, it depends on the implementation how such message is handled. One option is that the message is forwarded to the user B as such, without any modification or additional content pertaining to any advertising campaign. Another option is that any advertising content that is attached to the message before forwarding to the user B is adapted to the forwarded advertising content. This means that the advertising content that is attached to the message is selected so that it suits the forwarded advertising content. Any suitable method can be used for finding a suitable additional advertising content. 
         [0056]    Additionally, the execution and delivery layers may update  2 - 11  the profile database  204  in various phases of the procedure. For example, if certain advertising content is forwarded to a certain user, profile information pertaining to that particular user may be updated to reflect interest in that advertisement or other similar advertisements and/or the recipient may be scheduled as target for automatic advertising message for example in case the forwarded advertising content comprised personal information, such as promotion code. Additionally, the information relating to the sender and receiver of the forwarded content can be used as a driver for dynamic user profiling. For example, if a user belonging to a user segment A forwards an advertisement to another user, then this second user can be assumed to be associated with the user segment A with a reasonable probability. 
         [0057]    The processing of the messages in  FIG. 2  may also comprise some billing activities, e.g. writing respective CDRs (call data record) or performing a prepaid charging transaction. Also some external system may be notified of the forwarding event. 
         [0058]      FIG. 3  shows a flow diagram according to an embodiment of the invention. The method may be used for example in the system of  FIG. 1  or  2 . In phase  301  a peer-to-peer (P2P) message is intercepted. In phase  302 , it is checked, if content of the intercepted message matches identifying information pertaining to advertising content that is to be tracked. If there is no match, it is concluded in phase  303  that advertising content is not being forwarded and the message is processed and forwarded normally in phase  304 . What exactly is included in normal processing depends on the implementation, but it may involve for example attaching advertising content into the message. 
         [0059]    If there is a match or a partial match in phase  302 , it is concluded in phase  305  that advertising content is being forwarded. This may result is that no additional advertising content is attached into the message in phase  306  or in that only additional advertising content that suits the forwarded advertising content may be attached into the message in phase  307 . The latter means that the procedure may for example verify that the two advertisements eventually included in the message are not conflicting or that they do not involve directly competing products. 
         [0060]    Then in phase  308  the procedure may proceed to update user profile(s) in a profile database. User information pertaining to the sender and/or receiver of the message may be extracted from the intercepted message and used for identifying the respective user profile. Additionally or alternatively forwarding of the advertising content may be logged in phase  309 . The information that is logged does not necessarily need to comprise information about the sender or the receiver of the message, but it is possible to include also that information. This logged information may be used for example for identifying usage patterns or general user response to particular advertising content. 
         [0061]    Finally the message that was intercepted is forwarded to its intended recipient in phase  310 . 
         [0062]    It must be noted that the order of the phases shown in  FIG. 3  is not restrictive. Instead, the phases may be conducted in different order and moreover some of the phases may be left out from a certain implementation and some of the phases may be repeated a plurality of times. The same applies to the flow charts of  FIGS. 4 and 5  discussed below. 
         [0063]      FIG. 4  shows a flow diagram according to another embodiment of the invention. The method of this embodiment may be used for example for recognizing certain phrases or patterns that are repeatedly used in peer-to-peer communication. Like in  FIG. 3 , first a peer-to-peer (P2P) message is intercepted in phase  301  and in phase  302 , it is checked, if content of the intercepted message matches identifying information pertaining to content that is to be tracked. Also here the content may be advertising content or some other content. 
         [0064]    If there is a match or a partial match, it is concluded in phase  403  that content is being forwarded. Then in phase  404 , forwarding of the content is logged. Also profile information pertaining to the sender and/or receiver of the message may be updated if desired (not shown in  FIG. 4 ). Then the message is forwarded to its intended recipient in phase  405 . 
         [0065]    If there is no match in phase  302 , it is concluded in phase  406  that content is not being forwarded. After that, identifying information pertaining to the message content is stored in phase  407 . In this way the system may later notice if the content of the message is repeatedly used in peer-to-peer communication. Next the procedure proceeds to phase  405  to forward the message to its intended recipient. 
         [0066]      FIG. 5  shows a flow diagram according to still another embodiment of the invention. In phase  501  content that is to be tracked is received. The content is destined to certain recipient(s). The content may be received from a higher level application (e.g. advertising content) or the content may be received in a message originating from an end user. In the latter case, the system may be used for example for recognizing certain phrases or patterns that are repeatedly used in peer-to-peer communication. 
         [0067]    Then in phase  502  identifying information pertaining to the content is derived and stored. Different types of identifying information are further discussed below. After this, the content is forwarded to the intended recipient(s)/end user(s). The identifying information that is stored is independent of any user information associated with the content, that is, one piece of identifying information per one piece of content is enough irrespective of the number of the recipients of the content. There is no need to store information pertaining to the recipients of the content. That is, there is no need to maintain mapping between MSISDN of the recipient (or the like identifier) and the content sent to respective recipient. In this way one may achieve minimal overhead and storage requirements. 
         [0068]    In the following some examples of possible identifying information types and associated mechanisms that may be used for comparing the content (be it advertising content or some other content) with the identifying information are discussed. 
         [0069]    If the content that is to be tracked is text only, the whole text is stored as the identifying information in an embodiment of the invention. If the content that is to be tracked comprises one or more pictures (for example in JPG, PNG or GIF format) one may include an identifier in metadata of the picture and then use this identifier as the identifying information according to various embodiments of the invention. If an identifier in some metadata field is not suitable solution also a watermark included in the picture can be used in the same way as an identifier in some metadata field. Additionally or alternatively, a checksum (e.g. MD5) may be calculated for the whole picture and then used as the identifier. Yet another option may be to add an additional transparent layer in the picture and embed the metadata to be used as the identifier in this transparent layer. Any audio or video files included in the content to be tracked may be treated in the same way. If content that includes pictures/audio/video includes text as well, the text can be stored as identifying information as well. 
         [0070]    In an embodiment of the invention the full text is not stored as identifying information. Instead some characteristics of the text are stored as identifying information. One may store for example a numbers indicating length of the words of the text. By storing only some characteristics of the content one achieves that any privacy issues can be avoided as the actual content that may be private is not stored. 
         [0071]    In an embodiment of the invention the content to be tracked is text, and the text content is stored as identifying information. In that case the comparing of intercepted text content with previously stored identifying information is conducted as follows:
       1. Check length of the intercepted text. If it&#39;s less than length of identifying information, return failure.   2. If length of the intercepted text is the same as length of identifying information, compute checksum for the intercepted text. If the computed checksum matches checksum of the identifying information, return success, else go to step 3.   3. For each identifying information (that is, for each text in an identifying information database), compute word-levenshtein distance for the intercepted text. If match is found within predefined tolerance, return success, else go to step 4.   4. Return failure.       
 
         [0076]    In an embodiment of the invention the content to be tracked comprises pictures, audio and/or video, and an identifier that is used as the identifying information is stored in some metadata field of the picture/audio/video file. In that case the comparing of intercepted content with previously stored identifying information is conducted as follows:
       1. Extract an identifier from metadata comprised in the intercepted content and compare with stored identifying information. If match is found, return success, else go to step 2.   2. If the intercepted content comprises text part, use for example the method discussed above for comparing text, else go to step 3.   3. Return failure.       
 
         [0080]    Herein it must be noted that if the content comprises more than one type of content one may examine all types of content against previously stored identifying information or only one or some of them. 
         [0081]    Furthermore, in some embodiments of the invention, a partial match with the previously stored identifying information may suffice. In this way the system may be take into account that the user that forwards some content may make minor modifications or additional notes to the content (or message comprising the content) before forwarding it. For example, if users forward interesting advertisements to friends, they may add in the beginning of the message a note saying “check this” or something similar. 
         [0082]    The invention may be implemented by means of a computer program running on a suitable hardware platform or by means of any other suitable combination of hardware, software, special purpose circuits and/or logic. 
         [0083]      FIG. 6  shows a block diagram of an apparatus  600  suited for implementing various embodiments of the invention. The apparatus  600  may be a typical computer, such as a general-purpose computer or a server, with possibly distributed functions. The apparatus comprises a processor  601  for controlling the apparatus and a memory  602  including a computer program code or software  603  and a database  604 . The processor  601  is typically a central processing unit (CPU) or a master control unit MCU. Alternatively, the processor may be a microprocessor, a digital signal processor, an application specific integrated circuit, a field programmable gate array, a microcontroller or a combination of such elements. 
         [0084]    The software  603  includes instructions for the CPU  601  to control the apparatus  600  such as an operating system and different computer applications. The software  603  may comprise instructions for controlling the apparatus to provide some functionality of the invention. The instructions may for example control the apparatus to operate as a tracking system according to some embodiments of the invention. The database  604  includes identifying information used for tracking messages and/or content. As an alternative to being part of the device  600  the database  604  may reside in a physically separate element. In addition to the database  604  the device may comprise separate profile database (not shown) discussed above in connection with various embodiments of the invention. 
         [0085]    The apparatus  600  further comprises a network interface unit N_INF  605  such as a LAN (Local Area Network), Ethernet or WLAN (Wireless LAN) unit. The apparatus  600  could also comprise a user interface (not shown), such as a display and a keyboard, but the user interface may be implemented also by means of a remote connection through the network interface unit. 
         [0086]    It should be appreciated that in this document, words comprise, include and contain are each used as open-ended expressions with no intended exclusivity. 
         [0087]    The foregoing description has provided by way of non-limiting examples of particular implementations and embodiments of the invention a full and informative description of the best mode presently contemplated by the inventors for carrying out the invention. It is however clear to a person skilled in the art that the invention is not restricted to details of the embodiments presented above, but that it can be implemented in other embodiments using equivalent means without deviating from the characteristics of the invention. 
         [0088]    Furthermore, some of the features of the above-disclosed embodiments of this invention may be used to advantage without the corresponding use of other features. As such, the foregoing description shall be considered as merely illustrative of the principles of the present invention, and not in limitation thereof. Hence, the scope of the invention is only restricted by the appended patent claims.