Abstract:
Targeted messaging, for example advertisements, may be provided to an end user terminal connectable to a service node in a communications network, said network comprising a library node connected to the service node and comprising messages, such as advertisements, in different formats adapted to different access types, by the following steps: requesting the delivery of at least one message from the library node to the service node for distribution to the terminal, while specifying in the request the access type used by the terminal, and providing from the library node to the service node the appropriate version of the at least one message in dependence of the access type used by the terminal. One or more parameter, such as demographic data, may be specified for how to select a message from the library node.

Description:
TECHNICAL FIELD  
         [0001]    The present invention relates to a method and a computer program product for providing personalized messages to subscribers in a communications network.  
         DESCRIPTION OF RELATED ART  
         [0002]    There is a desire to provide services free of cost in all kinds of communication networks. One way of financing such services is for the subscriber receiving a service to accept a certain amount of advertisement. In this case, the advertisement must be added to the information requested by the subscriber, for example, by means of a push server in the network providing information to a corresponding push client in the subscriber&#39;s terminal. Preferably, also, the advertisement received should somehow match the subscriber&#39;s profile. Such a solution for use in the Internet is disclosed the international patent application PCT/SE99/01454.  
           [0003]    Another method for sending targeted information to selected groups of individuals, for example in dependence of demographic data, is known as narrowcast. Narrowcast today allows targeted messages, mainly advertisements, to be sent to the selected group of individuals through the traditional Internet, for example, in the form of banners.  
           [0004]    This solution works well in Internet type networks using HTTP and HTML. Most mobile terminals today do not comprise push clients and would therefore not be able to receive information from a push server based on the same client-server technology. For the same reason, also, no unified standard has evolved for providing Internet-like services in mobile networks. Instead, each service provider has developed a proprietary solution for providing such services.  
           [0005]    There are other applications, too, in which personal messages must be sent to mobile subscribers without having been requested, such as emergency information and distribution of work tasks for mobile service personnel.  
         OBJECT OF THE INVENTION  
         [0006]    It is an object of the present invention to enable the delivery of personal messages to a mobile subscriber regardless of the type of terminal, service and operator network used by the mobile subscriber.  
         SUMMARY OF THE INVENTION  
         [0007]    This object is achieved according to the invention by a method of providing at least one message to an end user terminal connectable to a service node in a communications network, said network comprising a library node connected to the service node and comprising at least a first and a second version of at least a first message connected to the service node, said versions being adapted for terminals using different access types,  
           [0008]    said method comprising the following steps:  
           [0009]    requesting the delivery of at least one message from the library node to the service node for distribution to the terminal, while specifying in the request the access type used by the terminal, and  
           [0010]    providing from the library node to the service node the appropriate version of the at least one message in dependence of the access type used by the terminal.  
           [0011]    With the solution according to the invention, messages, such as advertisements, can be provided to any type of end user terminal, service and operator network, including terminals not comprising a push client.  
           [0012]    According to a preferred embodiment, the method further comprises the steps of providing at least a first and a second version of a second message in the library node, specifying in said request at least one parameter to be used when selecting the message to be provided from the library node to the service node, and selecting a message from the library node in accordance with said at least one parameter.  
           [0013]    Each message can then be provided in different versions for different terminals, and the appropriate version can be selected and provided to a terminal upon request. No conversion is required to provide the appropriate format to each terminal.  
           [0014]    The requesting step is initiated by the step of requesting a service from the service node to the terminal. In this way, an advertisement of the appropriate format may be provided together with the requested service.  
           [0015]    Said at least one parameter may include information concerning the following:  
           [0016]    the service requested,  
           [0017]    the momentary geographical position of the mobile terminal,  
           [0018]    the capabilities of the terminal,  
           [0019]    the identity of the user of the terminal,  
           [0020]    the size of the advertisement  
           [0021]    the service provider identity  
           [0022]    and/or other parameters as found appropriate.  
           [0023]    This will enable selection of messages, for example to provide targeted personalized advertisements to a subscriber.  
           [0024]    According to a preferred embodiment, the terminal is a mobile terminal and the network is a communications network.  
           [0025]    The object is also achieved by a computer program product for use between a service node and a library node in a communications network, said library node comprising at least a first and a second version of at least a first message, said computer program product comprising software code means which, when run on a computer causes such a method to be performed.  
           [0026]    Although the method and program have primarily been developed to suit mobile terminals in mobile communications networks, they obviously work in exactly the same way with wired terminals. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0027]    In the following the invention will be described by way of example only, in terms of preferred embodiments, with reference to the appended drawings, in which,  
         [0028]    [0028]FIG. 1 is an overview of the basic components of a system employing the invention;  
         [0029]    [0029]FIG. 2 is a more detailed view of a system employing the invention.  
         [0030]    [0030]FIG. 3 shows the general principle for selecting the appropriate message for a particular subscriber. 
     
    
     DETAILED DESCRIPTION OF EMBODIMENTS  
       [0031]    [0031]FIG. 1 shows an overview of the basic components of a system in which the invention may be used A user of a mobile terminal  1  is a subscriber in a mobile communications network  3 . Through the network  3  he is able to retrieve, on request, information from one of a number of service providers  5 ,  7 ,  9 , to which he is subscribing. In this example, it will be assumed that the messages being provided to the subscriber are advertisements presented together with the information. Other examples will be given below.  
         [0032]    This information can be any type of information in which a subscriber may be interested, for example, a time scheduling function, weather information, or information about sports events. To receive such information, the subscriber has accepted to receive a certain amount of advertising with it. Therefore, when the subscriber requests the desired information, the service provider also provides one or more advertisements. These advertisements must be in a form that is readable on the type of mobile terminal used by the subscriber. Of course, a subscriber may have several terminals, of different types, and utilizing different networks, so that the information cannot always be given on the same form, even to the same subscriber.  
         [0033]    Statistics information may be collected as feedback to monitor the response to the message provided, for example, the result of an advertising campaign, in order to improve further advertising activities, and to improve targeting of advertisements in the future.  
         [0034]    To enable the provisioning of a large number of advertisements, in several different formats, according to the invention a node  11  called the mobile Internet advertiser node is provided, and an interface  13  is provided between the node  11  and each service provider node  5 ,  7 ,  9  in the network. The interface  13 , which will be referred to as the advertisement request interface, will be discussed in more detail below. Through the interface  13 , a service provider node  5 ,  7 ,  9  can specify to the Internet advertiser node  11  type of terminal used, i.e. the access type, and preferably other parameters, such as the user identity. The Internet advertiser node  11  then returns an advertisement matching a subscriber profile and having the appropriate format to be displayed on the subscriber&#39;s terminal. Each service provider node  5 ,  7 ,  9  in the network provides services to the subscribers of one or more mobile operators. In addition to the advertisement request interface  13 , a statistics interface (not shown in FIG. 1) through which statistical data may be communicated, may also be present between the Internet advertiser node  11  and the service provider nodes  5 ,  7 ,  9 .  
         [0035]    The subscriber&#39;s profile may comprise both static and dynamic data. The static data may relate to the type of service the subscriber is subscribing to, the subscriber&#39;s age, where he lives, information given about his hobbies, and other demographic parameters, and may be stored in a user profile database in the Internet advertiser. The dynamic data may be submitted each time the subscriber retrieves information from the service provider, and may include, for example, the type of terminal, the requested service and the subscriber&#39;s current geographical position.  
         [0036]    To be able to present an advertisement to a subscriber, therefore, the service provider  5  sends a request for an advertisement to the appropriate Internet advertiser node  11 , to fetch an advertisement based on certain targeting, or selection, parameters. The service provider handles the presentation (normally together with other service data) of the advertisement on the subscriber&#39;s terminal. At the same time, the service provider preferably collects events generated as a response to the advertisement. The responses are forwarded to the Internet advertiser node in a statistic request that builds up the advertiser&#39;s statistics. The service provider is responsible for opening and establishing the connection to the Internet advertiser node  11 , including sending requests, reading back responses and keeping the connection open until the Internet advertising node responds. For the connection between the service provider and the Internet advertising node HTTP may be used, or, if a secure connection is desired, HTTPS.  
         [0037]    The Internet advertiser node  11  can handle any type of advertisement, and stores and delivers advertisements in the format in which it should be displayed. Such advertisements are provided to the Internet advertiser node  11  by one or more content providers (not shown).  
         [0038]    The advertisement information and the statistical information may be specified in a document, for example, according to XML (Extensible Mark-up Language), which is a meta-language allowing a customized description of the content to be exchanged with user defined tags.  
         [0039]    The interface  13  is a specially developed external interface used by service providers to retrieve a correct advertisement based on various data entered into the system. The interface will include a number of parameters, most of which are optional, as will be discussed below. The Internet advertiser node  11  should provide the best-targeted advertisement based on these parameters.  
         [0040]    The interface  13  may be based on XML over HTTP. The XML document will include a number of tags, all defined by a Document Type Definition (DTD). The reason for using XML is that many existing message systems use XML.  
         [0041]    The following parameter must be supported by the interface:  
         [0042]    Access Type: For example, Wireless Mark-up Language (WEL), Hyper-Text Mark-up Language (HTML), compact HTML (C-HTML), XML, IP Telephony, Simple Mail Transfer Protocol (SMTP), Short Message Peer-to-Peer (SMPP). This data is necessary for the service provider to know which format may be used for this particular access. The Internet advertiser handles advertisements transparently and does not need to know anything about the actual format of the advertisement. An advertisement content provider can upload an advertisement of any format that is known to the advertisement request protocol and new formats could be added continuously as they are required.  
         [0043]    In addition, the interface may support, for example, the following parameters, which are dynamic and may be used to select appropriate advertisements to be sent to a particular subscriber, either with respect to content or format or both.  
         [0044]    Service provider: The identity of the service provider that entered the request.  
         [0045]    This is sent from the mobile service provider together with the other parameters in the advertisement request  
         [0046]    User identity: The identity of the user or of the user group  
         [0047]    Service: The identification of the service requested by the user  
         [0048]    Size: The service provider should check that the size of the advertisement does not exceed to limit stated in the request. This data should be set by the upload mechanism when the advertisement is registered in the system.  
         [0049]    Position: The momentary geographical position of the user. The position is also dynamic data received from the mobile service provider. The position is entered as a text criterion when an advertisement is uploaded. If the position received from the mobile service provider is a complex data structure it may have to be translated by the mobile advertisement scheduler (see below) to a zip code or similar postal code that may be used as the input data for position in the Internet advertiser node. Alternatively, co-ordinates may be retrieved by means of any known method such as Global Positioning System (GPS) or triangulation between base stations. Several ways of implementing a positioning service are well known in the art.  
         [0050]    Terminal type: Specifies the capability of the terminal. This parameter enables the service provider to choose an advertisement that is suitable for the type of terminal used by the subscriber. This can be handled automatically by a script for uploading an advertisement, if said script can set a category based on the size and the type of the advertisement. Instead of terminal type, an appropriate format for the advertisement may be stated.  
         [0051]    Dynamic targeting data: Preferences entered by the subscriber or service provider regarding the type of advertisement in which the subscriber might be interested.  
         [0052]    For collecting statistics a special interface may be provided between the service provider and the Internet advertiser node. TI-is statistics interface preferably supports the following parameters, in addition to customer defined data:  
         [0053]    Advertisement identity: the identity of the advertisement delivered to the subscriber  
         [0054]    User identity: the identity of the subscriber  
         [0055]    Time: the date and time for the interaction  
         [0056]    Interaction: the type of interaction, for example, if the subscriber who received an advertisement clicked on it. This information may be retrieved in some types of networks.  
         [0057]    Customer specific data: This may be any type of data wanted by the customer.  
         [0058]    All other dynamic parameters as defined in the advertisement request interface.  
         [0059]    Of course, it would also be possible to provide advertisements in one or more of the service providers&#39; nodes  5 ,  7 ,  9 , or in any other node in the network. An interface according to the invention would then have to be provided between each node comprising such advertisements, and each node  5 ,  7 ,  9  that is capable of retrieving advertisements and forward them to a subscriber.  
         [0060]    The Internet advertiser and how it worlds will be discussed in more detail in the following, with reference to FIG. 2. The Internet advertiser comprises a mobile advertisement scheduler  15 , which should be able to use the same program to execute requests from all access types. The DTD should be enough flexible to handle requests from all accesses using XML/HTTP. This interface should be possible to use for any external access without a push client that wants to fetch a correct targeted advertisement, not necessarily only for mobile terminals. The process serving the interface, here called the mobile advertisement scheduler, will communicate with the outside world using the advertisement request interface  13  and the statistics interface  17 . Alternatively, two processes may be used for the two different interfaces.  
         [0061]    To determine which advertisement should be provided to a particular user, upon request from a service provider node, the mobile advertisement scheduler  15  retrieves information from a user profile database  19  found in or in connection to the Internet advertiser  11 , which contains user profile data for each user. This information is matched with information found in an advertisement profile database  21  in or in connection to the Internet advertiser node  11 , to decide which advertisement, and which version of the advertisement, to present. In this embodiment an advertisement database  22  is provided for the advertisements. According to a preferred embodiment the Internet advertiser node  11  also comprises a statistics database  23  for storing statistical data as will be discussed below.  
         [0062]    It will be obvious to the skilled person that the information could be divided on more databases than described above, or that two or more of the databases shown in FIG. 2 could be combined.  
         [0063]    Since the terminal has no push client and since it is very rare that the mobile service provider saves the information regarding which advertisements have already been shown to a particular subscriber, the mobile Internet advertiser preferably stores this information in a separate “shown advertisements” database  24 . The mobile advertising scheduler will then be able to determine how many times an advertisement has been shown to a certain user.  
         [0064]    The following scenario is valid for the advertisement scheduler when receiving an advertisement request:  
         [0065]    1. The mobile advertisement scheduler receives an advertisement request from an external service provider. The received DTD defines the parameters that are valid for this specific request. The mobile advertisement scheduler takes these parameters and calls a method, the findNextAd method, arranged to select the next advertisement to send to the subscriber concerned. The findNextkd method processes the received dynamic parameters, the static user parameters and the static advertisement parameters to find a correctly targeted advertisement.  
         [0066]    2. The advertisement is returned together with a session identifier is also returned for later use for connecting external statistics information to the same session. The session identifier may simply be a counter that is stepped for each new request received. The advertisement scheduler also stores the statistical data that is available at this stage in the statistics database, i.e. dynamic data.  
         [0067]    The following scenario is valid for the Internet advertiser when receiving a statistics request:  
         [0068]    1. The mobile advertisement scheduler receives a StatisticsStoreRequest from an external system, normally the service provider, with parameters defined in the DTD. The mobile advertisement scheduler buffers the data for later storage in the database. This data indicates the session identity, in order to facilitate tying this transaction with other transactions related to the same session.  
         [0069]    2. With a defined interval or if the buffer is getting full, the data is flushed to the database.  
         [0070]    The findNextAd method should use as many parameters as possible to find the best choice of an advertisement. If, for example, the user identity is excluded it will only check against the enclosed dynamic parameters. Preferably, all dynamic parameters are handled in the same way as static parameters for advertisement matching and added as criteria in the advertisement upload page.  
         [0071]    All dynamic data should be handled as ordinary criteria except for the size parameter. This data may be added to the database by an upload script when the advertisement is registered in the Internet advertiser system. The upload script must check the size of the advertisement and set the data in the database so that the findNextAd function can check the size at targeting time. This means that data cannot be compressed prior to registration and that the upload script should compress the data if necessary.  
         [0072]    Interfaces should also be provided for storing advertisements and for registering new users. These are standard functions well known to the skilled person.  
         [0073]    [0073]FIG. 3 shows the general principle for selecting the appropriate message for a particular subscriber. A logical decision unit  30  receives three different types of input data: The first type is static data related to the subscriber profile or service profile, from the user profile database  19 , or from another database (not shown) comprising information about the service requested by the subscriber. The second type of data is dynamic data related to the subscriber or the service requested by the subscriber, received from the service provider when the advertisement is requested. The third type of information is related to the advertisement profiles, received from the advertisement profile database  21  and the “shown advertisements” database  24 . The data related to the subscriber or service profile is matched with the data related to the advertisement profile, to find the best match. The output data, represented by an arrow  31 , is the advertisement that constitutes the best match between the three different types of data. This advertisement is then retrieved from the advertisement database  22  and provided to the service provider to be forwarded to the subscriber.  
         [0074]    Although the invention was discussed in the above using advertising as an example, it should be understood that it can also be used for providing other types of information to subscribers. For example, it may be used to send information about new assignments to service personnel who may need to receive such information several times during the day, for example, depending on the geographical location. Such information could be prompted, for example, by a message from the service engineer stating that a previous task has been completed. The method and apparatus according to the invention could also be used to transmit information to emergency personnel about accidents etc., that need to be attended to. The message to be provided to the subscriber does not have to be added to other information or prompted in any other way.