WO2003049368A2 - Message processing system - Google Patents

Message processing system Download PDF

Info

Publication number
WO2003049368A2
WO2003049368A2 PCT/GB2002/005445 GB0205445W WO03049368A2 WO 2003049368 A2 WO2003049368 A2 WO 2003049368A2 GB 0205445 W GB0205445 W GB 0205445W WO 03049368 A2 WO03049368 A2 WO 03049368A2
Authority
WO
WIPO (PCT)
Prior art keywords
message
data
user
presentation
terminal
Prior art date
Application number
PCT/GB2002/005445
Other languages
French (fr)
Other versions
WO2003049368A3 (en
Inventor
Matteo Berlucchi
Luke Michael Reid
Original Assignee
Skinkers Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Skinkers Limited filed Critical Skinkers Limited
Priority to AU2002349151A priority Critical patent/AU2002349151A1/en
Publication of WO2003049368A2 publication Critical patent/WO2003049368A2/en
Publication of WO2003049368A3 publication Critical patent/WO2003049368A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • This invention relates to a message processing system, computer software for use therein, and methods relating to the communication of messages to users of data processing terminals capable of performing data communication via a data communications link.
  • a large number of message processing systems are known, including electronic mail (“e-mail”) and instant messaging used on the internet, the short message service (“SMS”) used in the GSM mobile communications system, etc.
  • SMS short message service
  • These message processing systems have in the past been used not only for personal messaging but also for marketing purposes, whereby a marketeer is able to send messages using the systems to users in numbers.
  • one problem lies in that the users must be connected via data communications link in order to have a message presented to them.
  • these messages are difficult to differentiate from other kinds of messages, such as those from personal contacts, which are delivered through the same channels.
  • these systems have drawbacks relating to the privacy of the user.
  • a method of presenting messages to a user of a user data processing terminal capable of performing data communication via a data communications network comprising: a. providing a message processing application on the user terminal; b. receiving a message in at least one part at the user terminal via the data communications network from at least one message distribution entity, said message comprising message data capable of being presented by said message presentation application and message presentation data defining one or more parameters specifying one or more conditions under which the message may be presented to the user; c. using the message processing application to selectively present the message data to the user by monitoring a time variable on the user terminal, and presenting the message to the user in response to detecting that the timing variable meets a condition specified by the message presentation data.
  • a message may therefore be presented by the message processing application selectively in dependence on whether specified presentation parameters are met.
  • the message presentation data defines a time parameter relating to a timing condition under which a message may be presented to the user.
  • the message may therefore be presented to the user at an intended time, or within an intended time period, without being dependent upon the time of receipt of the message.
  • messages may be transmitted to the user terminals well in advance of the intended time of presentation of the message. If the user terminals do not have constant network connectivity, the messages may be presented even during periods in which there is no network connectivity.
  • the timing of the messages may be chosen so as to have an increased impact depending on factors not related to the time of receipt of the message.
  • the timing may be based on absolute date and/or time, or on an event occurring on the user terminal, such as the switching on of the user terminal, the installation of a messaging agent, or the presentation of a previous message on the user terminal. Further aspects of the invention are set out in the appended claims.
  • Figure 1 is a schematic illustration of elements of a message presentation system in accordance with an embodiment of the invention
  • Figure 2 is a flow diagram showing steps carried out by a message generation application
  • Figure 3 is a flow diagram showing message generation steps carried out by a broadcast administration;
  • Figures 4 to 8 show display screens provided by a message generation application;
  • Figure 9 is a flow diagram showing steps carried out by a broadcast server
  • Figures 10 and 11 are flow diagrams showing steps carried out by a messaging agent
  • Figures 12 and 13 show messages being presented to a user of the system.
  • Figure 1 illustrates a system of data processing devices running software applications and interconnected via data communications links, in accordance with an embodiment of the invention.
  • the system is designed to allow pre- scheduled messages to be presented under desired presentation conditions to specifically targeted users of data processing terminals.
  • a user data processing terminal 2 includes a messaging agent application 4, which may be installed by the user from one of a number of different sources, such as by download from a Web site or from a data record carrier, such as a compact disk.
  • the messaging agent 4 stores messages received via a data communications network 7 in a terminal-side store 5, and, when determining that specified presentation conditions specified in presentation parameters contained in the message have been met, presents content from the message to the user via a user interface 6, such as a graphical display device.
  • Messages are received from a broadcast data processing system 8, which includes a message store 10 and a message server 12 whereby messages are transmitted to potentially large numbers of messaging agents similar to the messaging agent 4 described herein.
  • the broadcast system 8 includes a remote input server 14 for receiving message data from a broadcast administrator at a remote data processing terminal 16.
  • the data processing terminal 16 includes a remote input client 18 for presenting message generation functions provided by a message generation application via a user interface 20, such as a graphical display device.
  • Log records are received from a messaging agent 4 via the data communications network 7 using log upload server 26 and stored in log store 24.
  • Log record data may be viewed from a remote data processing terminal 30 using an interface provided by remote log viewing server 28.
  • the log administrator terminal 30 includes a remote viewing client 32, whereby log records provided by the remote log viewing server 28 are presented via a user interface 34, such as a graphical display device.
  • Each messaging agent 4 is responsive to commands written in an agent programming language, for example a language written in extensible Mark-up Language (XML) code.
  • the remote input interface application 14 or the remote input client 18 includes a message generation application, whereby the agent language file can be generated by means of natural language interactions with a user interface.
  • the message generation application first conducts interactions with the broadcast administrator to define the content of a message to be broadcast, step 100, and once the message content has been defined to the satisfaction of the broadcast administrator, the message generation application conducts a procedure to generate the agent language file, step 102. Following generation of the agent language file, the message generation application performs an encryption-based digital signature procedure, whereby a digital signature authenticating the message data as having been generated by an authorised source, is added to the message data, step 104, and the generated message is then transmitted to the message server 12, step 106.
  • the message generation application takes the form of a software application running either at the broadcast system 8 or on the broadcast administrator terminal 16. If the message generation application is included in the remote input server 14 run at the broadcast system 8, the application may be accessed using a remote input client such as a standard Web browser such as Microsoft Internet ExplorerTM, and password-based authentication is used to validate the identity of the broadcast administrator. Once the message content and message presentation parameters have been specified by the administrator, the message is transmitted internally in the broadcast system for publication via the message server 12.
  • the application forms a remote input client which is accessed by running it on the terminal 16.
  • the terminal 16 preferably holds a unique identifier, such as a hard disk identifier, which is used in the digital signature generating procedure as an input key for the encryption algorithm. This allows the source of a message uploaded to the broadcast system 8 to be verified to be a message generation application on a particular terminal associated with an authorised broadcast administrator.
  • FIG. 3 illustrates the steps carried out under the control of the message generation application.
  • the broadcast administrator is prompted to enter a time parameter or parameters, which define when a message should be presented to a user.
  • Each message sent to a messaging agent will include such time parameters, defining when execution of the messaging event should take place.
  • the time parameter or parameters may include absolute times and dates, relative time parameters based on timing since installation of the message agent on the user terminal 2, and/or other relative time parameters, such as ones based on timing since the messaging agent 4 has been running during its current, or subsequent, activation period.
  • An activation period timing will generally correspond to the time since the terminal was last switched on, as the messaging agent is preferably arranged to run from start up of the terminal.
  • the time parameters may include a unique date and/or time, or a time period defined by a start date and/or time and an end date and/or time.
  • the message generation application allows the broadcast administrator to specify non-user-specific target user parameters to define a target user subset for a particular message. This is performed by selection from response options users have been presented with in questions transmitted in messages previously sent to the messaging agents.
  • the messaging agent 4 maintains a user profile, held in terminal-side store 5, consisting of data identifying questions answered and the corresponding responses given, in messages presented to the user.
  • the terminal-side user profile is used to perform filtering of the messages to reach a targeted selection of users, without needing to perform user profile-based processing in the broadcast system 8.
  • the message generation application allows the broadcast administrator to define the message content.
  • the message content may include one of various types of multimedia content, including still image files, video image files, audio files, text data, and interactive data such as data defining a question in combination with a plurality of response options (i.e. a multiple choice question).
  • the message generation application presents a summary of the message presentation parameters, i.e. the time and user targeting parameters, and generates a demonstration of the messaging agent 4 presenting the message content, which are displayed on user interface 20 to the broadcast administrator.
  • Figures 4 to 8 illustrate one embodiment of data entry screens presented on the user interface 20 by the message generation application.
  • the broadcast administrator is able to select which of three message types the message should become, using selection buttons 302, 304 and
  • the message includes data indicating that the message is an instant message, to be presented by the messaging agent 4 via the user interface 6 immediately on receipt thereof by the messaging agent 4.
  • the message includes a time parameter by which the messaging agent 4 is instructed to determine the time at which the message should be presented via user interface 6 relative to a cumulative timing period, monitored by the messaging agent 4, over which messaging agent 4 has been actively running on the user terminal 2.
  • the message may be used as a "storyboard" message, i.e. one which is timed to be presented within a message presentation sequence of consecutively timed messages.
  • Data input boxes 308 and 310 allow the broadcast administrator to enter data indicating the number of hours and minutes of run time, since the messaging agent application 4 was installed on the user terminal 2, which should elapse before the message is presented.
  • buttons 306 are selected, one or more time parameters are included in the message instructing the messaging agent 4 to present the message to the user via user interface 6 at an absolute time, i.e. on a specified date and or at a specified time.
  • a data entry box 312 is provided to allow the broadcast administrator to select a date on which the message should be presented.
  • a further option button 313 allows the broadcast administrator to specify that the message should be presented at an exact time, or within an exact time period, on the selected date.
  • a 24-hour time entry box 314 allows the broadcast administrator to select a start of an exact time period, and a 24-hour time entry box 316 allows the broadcast administrator to specify the end of the exact time period.
  • the message will be displayed at the specified time. If two times are entered, the message will be presented via the user interface 6 at a time between the two specified times. If the message is defined to be of the type to be displayed at an absolute date and/or time, the broadcast administrator is further provided with an option button 318 and a date entry box 318 allowing the administrator to define an expiry date following which, if the message has not yet been presented to the user, for example if the user does not switch on terminal 2 during a desired message presentation period, the messaging agent 4 discards the message and does not present it to the user.
  • each of the timing parameters relates to a time variable which is unrelated to the time of receipt of a message; namely the scheduling of the presentation of a message is not dependent upon the time of receipt, with the exception of the case in which the message is an instant message.
  • Figure 6 shows a data entry screen 320, allowing target user parameters to be specified.
  • Targeting option button 321 allows the broadcast administrator to select whether or not the message should be targeted. If button 321 is selected, a selection list 322 is presented to the administrator, the list consisting of entries generated from questions contained in messages previously sent to messaging agent 4. On selection of a particular question in selection list 322, the administrator is provided with a further list selection box 324, containing entries consisting of all possible responses previously specified for the previously presented question. The administrator selects one of the possible responses, thereby defining the target users in terms of the responses they have entered to questions previously presented. A messaging agent 4 will only present the message content to users who have previously answered the specified question with the specified response.
  • the target users may be further refined on selection of target refining button 326, whereby one or more further question and response combinations may be specified, thereby defining further subsets of target users which in combination can be used to further define the target user parameters in terms of multiple specified question and response combinations.
  • Figure 7 shows a data entry screen 340 allowing message text to be added to message content to be presented to a user by the messaging agent 4.
  • the administrator is presented with text entry box 342 to add message text to the message content, and a hyperlink entry box 344 to add a hyperlink, containing a Uniform Resource Locator (URL) of a Web page, to the message content.
  • URL Uniform Resource Locator
  • Figure 8 shows a data entry screen 350 allowing the broadcast administrator to define a question to be added to the message content.
  • the administrator is able to enter text defining a question and two or more possible responses thereto.
  • Text entry box 352 allows the administrator to give the question a title, whereby future reference may be made to the same question.
  • Box 354 allows the administrator to enter the question text.
  • Box 356 allows the administrator to enter two or more possible responses, in the form of a list containing two or more entries corresponding to each possible response.
  • the broadcast administrator After completing data entry screens such as those illustrated in Figures 4 to 8, the broadcast administrator, after viewing the presentation parameter summary and the demonstration of the message presentation, authorises the broadcast of the message to the messaging agents.
  • the message agent 4 has a class identity. Namely, there is a plurality of different sets of message agents 4 in the system having different messaging characteristics. Messages are addressed to a class identity, and all agents within the set having that class identity respond to the broadcast of messages having the same class identity. Thus, in the message generation procedure, the broadcast administrator also selects the class identity of the messaging agents selected to be broadcast to.
  • different administrator authority levels may be defined, such that a first administrator authority level allows a message or messaging sequence to be created, whereas a higher administrator authority level is required in order to begin the message broadcast.
  • the message generation application generates the agent language file, adds its digital signature and transmits the encrypted message to the broadcast server, as described above in relation to Figure 2.
  • Figure 9 is a flow diagram showing steps carried out by the broadcast server on receipt of a message from the message generation application.
  • the message is received from the message generation application.
  • the broadcast server 12 authenticates the message by checking the validity of the digital signature in the message.
  • the broadcast server performs an authorisation check.
  • the broadcast server stores permission tables specifying the permissions corresponding to each broadcast administrator identity, corresponding to the received digital signature, specifying access permissions for generating broadcasts. For example, the number of broadcasts produced by a certain broadcast administrator may be restricted in number or frequency.
  • the broadcast server checks that the identity of the messaging agent class to which the message is addressed corresponds with a permission set for the broadcast administrator in the broadcast server 12.
  • the broadcast server 12 adds its own, different encryption-based digital signature, step 406, to allow messaging agents 4 to authenticate the broadcast messages as originating exclusively from an authorised source.
  • the broadcast server also adds a message sequence number, which is incremented for every message addressed to the same class of messaging agent.
  • the broadcast server 12 publishes the message on a publicly available network resource, such as a Web site, so that the message may be received by all messaging agents 4 having a corresponding agent class identity by means of a client-server communication via the communications network 7.
  • Figure 10 is a flow diagram illustrating steps carried out by a messaging agent 4 in performing its message presentation procedures.
  • the messaging agent 4 periodically, at regular intervals, attempts to establish a connection with the broadcast server 12 via the data communications network 7.
  • Messaging agent 4 stores one or more network addresses of allowed broadcast servers from which new messages may be downloaded. If more than one broadcast server is used, corresponding to more than one such network address, the functions of the broadcast server may be distributed to increase scalability and reliability.
  • the messaging agent checks whether network access is available, step 500.
  • the network access may for example be provided in the form of a dial-up circuit-switched connection, which is periodically active. Alternatively, access may be available via an "always on" connection, such as a digital subscriber line (DSL) connection, or in the case of a mobile terminal, a General Packet Radio Service (GPRS) connection.
  • DSL digital subscriber line
  • GPRS General Packet Radio Service
  • the messaging agent 4 waits a predetermined interval, step 502, and re-tries. If network access is available, the messaging agent 4 establishes a connection, for example a TCP/IP type connection, with the broadcast server 12, step 504.
  • the messaging agent checks whether any published messages are available under its agent class identity having a message sequence number which exceeds that of its last downloaded message, step 506. If the current message sequence number exceeds that of the last downloaded message, the messaging agent 4 retrieves the next newly published message, step 508.
  • messaging agent 4 may not have connectivity with the data communications network 7 at all times when running. For example, if connectivity is established by means of a dial-up internet connection, the messaging agent 4 detects when a new dial-up connection is made, and regularly polls the broadcast server during the subsequent communications session. Since messages may be stored in the data store 5 following receipt for later execution of the message presentation, even when network connectivity is infrequent, messages can be presented under desired presentation conditions even at times when no network access is available.
  • messaging agent 4 On receipt of a new message from broadcast server 12, messaging agent 4 checks the digital signature to authenticate the message, step 510, as being originated from broadcast server 12. On authentication of a new message, the messaging agent 4 schedules presentation of a message in accordance with the time parameters set out in the message, step 512, and returns to step 500 to begin monitoring for the publication of new messages on broadcast server 14.
  • Figure 11 shows procedures carried out by the messaging agent 4 following scheduling of the message presentation and leading up to presentation of the message.
  • Messaging agent 4 uses an internal date and time clock, step 550, in the user terminal to determine whether the timing condition scheduled to meet the time parameter set out in the message is met, step 552. If the timing condition has not been met, the agent waits a predetermined interval, step 554, before once again checking the current date/time.
  • the agent 4 carries out a continual monitoring of the current date/time on the terminal.
  • the time parameter or parameters for a message are relative time parameters
  • messaging agent continually updates a cumulative time period using the current date/time on the terminal, and continually monitors the cumulative time period on the terminal.
  • the messaging agent 4 retrieves user profile data stored in the user terminal, step 556 to determine whether or not the user is within the target audience of the message. As stated above, the filtering is carried out in accordance with target user parameters set out in the message and user profile data stored by the messaging agent 4 on the terminal side data store 5. The user profile data identifies responses to questions asked in previous messages. By waiting until the timing condition is met before carrying out the filtering operation, the agent 4 allows for the presentation of any targeting questions in previous messages between receipt of a targeted message and its scheduled presentation.
  • the messaging agent executes message presentation, step 560, whereby the content of the message is presented to the user via the user interface 6. If the targeting conditions are not met, the messaging agent 4 discards the message.
  • a log record for the message is completed in step 510. Every time a message is retrieved, and at each processing step for the message, the messaging agent 4 writes data to a log record for the message, even if the message is not in fact presented to the user.
  • the log record contains data indicating the processing steps carried out at each stage. Namely, the log record includes data indicating the time at which each of steps 508 to 512, 552, 558 and 560 are carried out by the messaging agent 4. If the message contains a targeting question as part of the message data, the agent 4 monitors whether the question is answered by the user, and if so which response is given, and writes corresponding data to the log record indication whether the hyperlink was selected during message presentation.
  • the agent 4 monitors whether the hyperlink is clicked by the user, i.e. whether the network resource corresponding to the hyperlink is accessed by the user, and writes data to the log record indication whether the hyperlink was selected during message presentation.
  • the log record contains data detailing when the message was received, whether it was authenticated, when the scheduling according to the received time parameters was made, which filtering stages the message passed, whether the message was presented in accordance with the scheduling (for example, if the user terminal 2 is switched off when the message was scheduled to be presented, the message may not have been presented at all), when the message was in fact presented (since the scheduling may be in the form of a scheduling period window), and data indicating whether or not targeting questions were answered, if so what the response was, and data indicating whether the hyperlink was accessed during message presentation.
  • a log record for each received message is then stored in data store 5, and the messaging agent 4 periodically, with less frequency than the broadcast message polling, transmits the log records to log server 26.
  • the messaging agent 4 periodically, with less frequency than the broadcast message polling, transmits the log records to log server 26.
  • log records itself does not contain data identifying the user, for example it does not include a network address such as an e-mail address, or other personal details identifying the user. This serves to enhance privacy in use of the system.
  • log records contain data which is valuable to the broadcasting party. For example, if the message presentation system is used for marketing purposes, the log record contains statistics indicating the effectiveness of any marketing campaign in terms of the number of target users for each, the time and date of display of the messages, the proportion of users not falling into the target user profile, etc. The logged statistics are viewable on the remote log of viewing terminal
  • log viewing terminal 30 by means of interactions between the log viewing client 32 and the log viewing server 28.
  • the log viewing terminal 30 and the broadcast administrator terminal 16 may in fact be the same terminal.
  • Both the message generation application and the log viewing server application may be embodied to provide Web-based content, in which case remote input client 18 and remote log viewing client 32 may take the form of a Web browser.
  • Log records are stored in a database log store 24, and log viewing application 28 generates reports, viewable via log viewing client 32, providing aggregate information both on activity status of the messaging agents 4 in the system, and messages received by the messaging agents and their various processing stages.
  • the server 28 allows the log record database to be accessed through a user interface which allows predefined queries to be executed to provide desired statistical analysis of the usage of the system.
  • Figures 12 and 13 illustrate the presentation of a message in the form of graphics displayed on the user interface 6 by messaging agent 4 when a message is presented to the user.
  • an animated character AC is used which appears on the user interface as a means of attracting the user's attention when a message is about to be displayed.
  • the animations of the character AC may themselves be programmed in the agent language, and the program code generated using the message generation application described above.
  • Animations are performed by the messaging agent with reference to a corresponding animation library stored on the user terminal. Animations which may be carried out include an "attract attention” animation, which provides a predetermined animation used to attract the attention of the user prior to message contents being presented.
  • the position of the appearance of the animated character AC on the user interface may also be controlled by commands in the message, along with the appearance of the animated character, gestures made by the animated character towards a specified point, defined by screen coordinates, on the user interface, displaying a dialogue box containing text, and a "disappear” animation, whereby the animated character is removed from the user interface after presentation of a message until a subsequent message presentation operation is to be performed.
  • FIG. 12 shows the animated character AC presenting a dialogue box 600 containing message text 602 and an associated hyperlink 604 to the user.
  • a confirmation button 606 is provided to allow the user to acknowledge viewing of the message content, at which time the appropriate log record element is created indicating that the desired message content has been presented to the user.
  • Figure 13 illustrates a further dialogue box 620 in which an interactive multiple choice question is presented to the user in the form of question text 621 and response options list 622.
  • the user selects one of the response options 622, and then uses its confirmation button 624 to confirm the response.
  • the messaging agent 4 Upon confirmation of the response, the messaging agent 4 generates the appropriate log record element and stores the information its user profile to allow subsequent user profile-based filtering of messages at the user terminal 2. After a predetermined period, the "disappear animation is run, to remove the animated character from the desktop pending the next message presentation operation.
  • the message presentation conditions used are time-related conditions and user profile related conditions.
  • Other presentation conditions based on variables detectable on the user terminal, may also be used, including monitoring of user activity, for example keystroke frequency, to present the message outside a period of intense user activity (the condition being that user activity is below a predetermined threshold.)
  • keystroke frequency monitoring of user activity
  • any combination of two or more of the different presentation conditions as described may be defined in combination for the selective presentation of a message.
  • the term “broadcast” has been used to describe the interaction between the broadcast server 12 and the messaging agent 4.
  • the actual mechanism used is a pull-based mechanism, whereby the messaging agent 4 regularly polls the broadcast server 12 for updates.
  • the messaging agent 4 may receive new messages by means of other mechanisms, including more typical broadcast mechanisms in which the message is transmitted in a common channel available to all messaging agents, such as via digital television broadcast in a digital television system, cell broadcast in a cellular radio communications system, etc.
  • the term “broadcast” as used herein is not limited to such typical broadcast mechanisms, but used to indicate a mechanism whereby a message may be distributed to large numbers of messaging agents on different user terminals. A message may further more be received in one or more different parts.
  • the user terminal 2 may be embodied as various different types of terminal, including a computer workstation terminal, a wireless communications terminal such as a mobile telephone, a personal digital assistant, a digital television receiver, a digital radio receiver, etc.
  • data communications network 7 may be a corresponding network type, including network types such as the Internet, a television broadcasting network, a cellular radio communications network, a satellite communications network, etc.

Abstract

A message processing system allows for pre-scheduled messages to be presented under desired presentation conditions to specifically targeted users of user data processing terminal (2) includes a messaging agent application (4) installed by the user. The messaging agent (4) stores messages received via a data communications network (7) in a terminal-side store (5), and, when determining that specified presentation conditions specified in presentation parameters contained in the message have been met, presents content from the message to the user via a user interface (6), such as a graphical display device.

Description

Message Processing System
This invention relates to a message processing system, computer software for use therein, and methods relating to the communication of messages to users of data processing terminals capable of performing data communication via a data communications link.
A large number of message processing systems are known, including electronic mail ("e-mail") and instant messaging used on the internet, the short message service ("SMS") used in the GSM mobile communications system, etc. These message processing systems have in the past been used not only for personal messaging but also for marketing purposes, whereby a marketeer is able to send messages using the systems to users in numbers. However, one problem lies in that the users must be connected via data communications link in order to have a message presented to them. Also, these messages are difficult to differentiate from other kinds of messages, such as those from personal contacts, which are delivered through the same channels. Furthermore, these systems have drawbacks relating to the privacy of the user.
In accordance with one aspect of the present invention there is provided a method of presenting messages to a user of a user data processing terminal capable of performing data communication via a data communications network, said method comprising: a. providing a message processing application on the user terminal; b. receiving a message in at least one part at the user terminal via the data communications network from at least one message distribution entity, said message comprising message data capable of being presented by said message presentation application and message presentation data defining one or more parameters specifying one or more conditions under which the message may be presented to the user; c. using the message processing application to selectively present the message data to the user by monitoring a time variable on the user terminal, and presenting the message to the user in response to detecting that the timing variable meets a condition specified by the message presentation data. A message may therefore be presented by the message processing application selectively in dependence on whether specified presentation parameters are met. The message presentation data defines a time parameter relating to a timing condition under which a message may be presented to the user. The message may therefore be presented to the user at an intended time, or within an intended time period, without being dependent upon the time of receipt of the message. In this way, messages may be transmitted to the user terminals well in advance of the intended time of presentation of the message. If the user terminals do not have constant network connectivity, the messages may be presented even during periods in which there is no network connectivity. The timing of the messages may be chosen so as to have an increased impact depending on factors not related to the time of receipt of the message. The timing may be based on absolute date and/or time, or on an event occurring on the user terminal, such as the switching on of the user terminal, the installation of a messaging agent, or the presentation of a previous message on the user terminal. Further aspects of the invention are set out in the appended claims.
Further features and advantages of the invention will become apparent from the following description of preferred embodiments of the invention, made with reference to the accompanying drawings, wherein:
Figure 1 is a schematic illustration of elements of a message presentation system in accordance with an embodiment of the invention;
Figure 2 is a flow diagram showing steps carried out by a message generation application;
Figure 3 is a flow diagram showing message generation steps carried out by a broadcast administration; Figures 4 to 8 show display screens provided by a message generation application;
Figure 9 is a flow diagram showing steps carried out by a broadcast server; Figures 10 and 11 are flow diagrams showing steps carried out by a messaging agent; and
Figures 12 and 13 show messages being presented to a user of the system.
Figure 1 illustrates a system of data processing devices running software applications and interconnected via data communications links, in accordance with an embodiment of the invention. The system is designed to allow pre- scheduled messages to be presented under desired presentation conditions to specifically targeted users of data processing terminals.
A user data processing terminal 2, in accordance with the invention, includes a messaging agent application 4, which may be installed by the user from one of a number of different sources, such as by download from a Web site or from a data record carrier, such as a compact disk. The messaging agent 4 stores messages received via a data communications network 7 in a terminal-side store 5, and, when determining that specified presentation conditions specified in presentation parameters contained in the message have been met, presents content from the message to the user via a user interface 6, such as a graphical display device.
Messages are received from a broadcast data processing system 8, which includes a message store 10 and a message server 12 whereby messages are transmitted to potentially large numbers of messaging agents similar to the messaging agent 4 described herein. The broadcast system 8 includes a remote input server 14 for receiving message data from a broadcast administrator at a remote data processing terminal 16. The data processing terminal 16 includes a remote input client 18 for presenting message generation functions provided by a message generation application via a user interface 20, such as a graphical display device.
Also included in the system is a log data processing system 22. Log records are received from a messaging agent 4 via the data communications network 7 using log upload server 26 and stored in log store 24. Log record data may be viewed from a remote data processing terminal 30 using an interface provided by remote log viewing server 28. The log administrator terminal 30 includes a remote viewing client 32, whereby log records provided by the remote log viewing server 28 are presented via a user interface 34, such as a graphical display device.
Each messaging agent 4 is responsive to commands written in an agent programming language, for example a language written in extensible Mark-up Language (XML) code. The remote input interface application 14 or the remote input client 18 includes a message generation application, whereby the agent language file can be generated by means of natural language interactions with a user interface.
As shown in Figure 2, the message generation application first conducts interactions with the broadcast administrator to define the content of a message to be broadcast, step 100, and once the message content has been defined to the satisfaction of the broadcast administrator, the message generation application conducts a procedure to generate the agent language file, step 102. Following generation of the agent language file, the message generation application performs an encryption-based digital signature procedure, whereby a digital signature authenticating the message data as having been generated by an authorised source, is added to the message data, step 104, and the generated message is then transmitted to the message server 12, step 106.
The message generation application takes the form of a software application running either at the broadcast system 8 or on the broadcast administrator terminal 16. If the message generation application is included in the remote input server 14 run at the broadcast system 8, the application may be accessed using a remote input client such as a standard Web browser such as Microsoft Internet Explorer™, and password-based authentication is used to validate the identity of the broadcast administrator. Once the message content and message presentation parameters have been specified by the administrator, the message is transmitted internally in the broadcast system for publication via the message server 12.
If the message generation application is located on the broadcast administrator terminal 16, the application forms a remote input client which is accessed by running it on the terminal 16. In this case, the terminal 16 preferably holds a unique identifier, such as a hard disk identifier, which is used in the digital signature generating procedure as an input key for the encryption algorithm. This allows the source of a message uploaded to the broadcast system 8 to be verified to be a message generation application on a particular terminal associated with an authorised broadcast administrator.
Figure 3 illustrates the steps carried out under the control of the message generation application. In a first step, 200, the broadcast administrator is prompted to enter a time parameter or parameters, which define when a message should be presented to a user. Each message sent to a messaging agent will include such time parameters, defining when execution of the messaging event should take place. The time parameter or parameters may include absolute times and dates, relative time parameters based on timing since installation of the message agent on the user terminal 2, and/or other relative time parameters, such as ones based on timing since the messaging agent 4 has been running during its current, or subsequent, activation period. An activation period timing will generally correspond to the time since the terminal was last switched on, as the messaging agent is preferably arranged to run from start up of the terminal. The time parameters may include a unique date and/or time, or a time period defined by a start date and/or time and an end date and/or time. In a second step, 202, the message generation application allows the broadcast administrator to specify non-user-specific target user parameters to define a target user subset for a particular message. This is performed by selection from response options users have been presented with in questions transmitted in messages previously sent to the messaging agents. The messaging agent 4 maintains a user profile, held in terminal-side store 5, consisting of data identifying questions answered and the corresponding responses given, in messages presented to the user. The terminal-side user profile is used to perform filtering of the messages to reach a targeted selection of users, without needing to perform user profile-based processing in the broadcast system 8.
In a third step, 204 of the message generation process, the message generation application allows the broadcast administrator to define the message content. The message content may include one of various types of multimedia content, including still image files, video image files, audio files, text data, and interactive data such as data defining a question in combination with a plurality of response options (i.e. a multiple choice question).
In a fourth step, 206, the message generation application presents a summary of the message presentation parameters, i.e. the time and user targeting parameters, and generates a demonstration of the messaging agent 4 presenting the message content, which are displayed on user interface 20 to the broadcast administrator.
Figures 4 to 8 illustrate one embodiment of data entry screens presented on the user interface 20 by the message generation application. In a first data input screen 300, the broadcast administrator is able to select which of three message types the message should become, using selection buttons 302, 304 and
306.
If button 302 is selected, the message includes data indicating that the message is an instant message, to be presented by the messaging agent 4 via the user interface 6 immediately on receipt thereof by the messaging agent 4. If button 304 is selected, the message includes a time parameter by which the messaging agent 4 is instructed to determine the time at which the message should be presented via user interface 6 relative to a cumulative timing period, monitored by the messaging agent 4, over which messaging agent 4 has been actively running on the user terminal 2. The message may be used as a "storyboard" message, i.e. one which is timed to be presented within a message presentation sequence of consecutively timed messages. Data input boxes 308 and 310 allow the broadcast administrator to enter data indicating the number of hours and minutes of run time, since the messaging agent application 4 was installed on the user terminal 2, which should elapse before the message is presented.
If button 306 is selected, one or more time parameters are included in the message instructing the messaging agent 4 to present the message to the user via user interface 6 at an absolute time, i.e. on a specified date and or at a specified time. As shown in Figure 5, a data entry box 312 is provided to allow the broadcast administrator to select a date on which the message should be presented. A further option button 313 allows the broadcast administrator to specify that the message should be presented at an exact time, or within an exact time period, on the selected date. A 24-hour time entry box 314 allows the broadcast administrator to select a start of an exact time period, and a 24-hour time entry box 316 allows the broadcast administrator to specify the end of the exact time period. If only one time is entered in boxes 314, 316, the message will be displayed at the specified time. If two times are entered, the message will be presented via the user interface 6 at a time between the two specified times. If the message is defined to be of the type to be displayed at an absolute date and/or time, the broadcast administrator is further provided with an option button 318 and a date entry box 318 allowing the administrator to define an expiry date following which, if the message has not yet been presented to the user, for example if the user does not switch on terminal 2 during a desired message presentation period, the messaging agent 4 discards the message and does not present it to the user.
Note that each of the timing parameters relates to a time variable which is unrelated to the time of receipt of a message; namely the scheduling of the presentation of a message is not dependent upon the time of receipt, with the exception of the case in which the message is an instant message.
Figure 6 shows a data entry screen 320, allowing target user parameters to be specified. Targeting option button 321 allows the broadcast administrator to select whether or not the message should be targeted. If button 321 is selected, a selection list 322 is presented to the administrator, the list consisting of entries generated from questions contained in messages previously sent to messaging agent 4. On selection of a particular question in selection list 322, the administrator is provided with a further list selection box 324, containing entries consisting of all possible responses previously specified for the previously presented question. The administrator selects one of the possible responses, thereby defining the target users in terms of the responses they have entered to questions previously presented. A messaging agent 4 will only present the message content to users who have previously answered the specified question with the specified response. The target users may be further refined on selection of target refining button 326, whereby one or more further question and response combinations may be specified, thereby defining further subsets of target users which in combination can be used to further define the target user parameters in terms of multiple specified question and response combinations.
Figure 7 shows a data entry screen 340 allowing message text to be added to message content to be presented to a user by the messaging agent 4. In response to selection of text option button 341, the administrator is presented with text entry box 342 to add message text to the message content, and a hyperlink entry box 344 to add a hyperlink, containing a Uniform Resource Locator (URL) of a Web page, to the message content. Although not illustrated, it should be noted that other message content, including multimedia message content, may also be added via a similar interface allowing for the inclusion of data files in the message content.
Figure 8 shows a data entry screen 350 allowing the broadcast administrator to define a question to be added to the message content. In response to selection of question option button 351, the administrator is able to enter text defining a question and two or more possible responses thereto. Text entry box 352 allows the administrator to give the question a title, whereby future reference may be made to the same question. Box 354 allows the administrator to enter the question text. Box 356 allows the administrator to enter two or more possible responses, in the form of a list containing two or more entries corresponding to each possible response.
After completing data entry screens such as those illustrated in Figures 4 to 8, the broadcast administrator, after viewing the presentation parameter summary and the demonstration of the message presentation, authorises the broadcast of the message to the messaging agents. Note that the message agent 4 has a class identity. Namely, there is a plurality of different sets of message agents 4 in the system having different messaging characteristics. Messages are addressed to a class identity, and all agents within the set having that class identity respond to the broadcast of messages having the same class identity. Thus, in the message generation procedure, the broadcast administrator also selects the class identity of the messaging agents selected to be broadcast to.
In one embodiment, different administrator authority levels may be defined, such that a first administrator authority level allows a message or messaging sequence to be created, whereas a higher administrator authority level is required in order to begin the message broadcast. In any case, once the message broadcast has been authorised, the message generation application generates the agent language file, adds its digital signature and transmits the encrypted message to the broadcast server, as described above in relation to Figure 2.
Figure 9 is a flow diagram showing steps carried out by the broadcast server on receipt of a message from the message generation application. In a first step, 400, the message is received from the message generation application. In a second step, 402, the broadcast server 12 authenticates the message by checking the validity of the digital signature in the message. In a third step, 404, the broadcast server performs an authorisation check. The broadcast server stores permission tables specifying the permissions corresponding to each broadcast administrator identity, corresponding to the received digital signature, specifying access permissions for generating broadcasts. For example, the number of broadcasts produced by a certain broadcast administrator may be restricted in number or frequency. Furthermore, the broadcast server checks that the identity of the messaging agent class to which the message is addressed corresponds with a permission set for the broadcast administrator in the broadcast server 12. On confirming authorisation, the broadcast server 12 adds its own, different encryption-based digital signature, step 406, to allow messaging agents 4 to authenticate the broadcast messages as originating exclusively from an authorised source. The broadcast server also adds a message sequence number, which is incremented for every message addressed to the same class of messaging agent. In a fifth step, the broadcast server 12 publishes the message on a publicly available network resource, such as a Web site, so that the message may be received by all messaging agents 4 having a corresponding agent class identity by means of a client-server communication via the communications network 7. Figure 10 is a flow diagram illustrating steps carried out by a messaging agent 4 in performing its message presentation procedures. The messaging agent 4 periodically, at regular intervals, attempts to establish a connection with the broadcast server 12 via the data communications network 7. Messaging agent 4 stores one or more network addresses of allowed broadcast servers from which new messages may be downloaded. If more than one broadcast server is used, corresponding to more than one such network address, the functions of the broadcast server may be distributed to increase scalability and reliability.
In order to contact the broadcast server 12, the messaging agent checks whether network access is available, step 500. The network access may for example be provided in the form of a dial-up circuit-switched connection, which is periodically active. Alternatively, access may be available via an "always on" connection, such as a digital subscriber line (DSL) connection, or in the case of a mobile terminal, a General Packet Radio Service (GPRS) connection. If no network access is currently available, or if the server is currently not responding, the messaging agent 4 waits a predetermined interval, step 502, and re-tries. If network access is available, the messaging agent 4 establishes a connection, for example a TCP/IP type connection, with the broadcast server 12, step 504. On connection, the messaging agent checks whether any published messages are available under its agent class identity having a message sequence number which exceeds that of its last downloaded message, step 506. If the current message sequence number exceeds that of the last downloaded message, the messaging agent 4 retrieves the next newly published message, step 508.
As noted above, messaging agent 4 may not have connectivity with the data communications network 7 at all times when running. For example, if connectivity is established by means of a dial-up internet connection, the messaging agent 4 detects when a new dial-up connection is made, and regularly polls the broadcast server during the subsequent communications session. Since messages may be stored in the data store 5 following receipt for later execution of the message presentation, even when network connectivity is infrequent, messages can be presented under desired presentation conditions even at times when no network access is available.
On receipt of a new message from broadcast server 12, messaging agent 4 checks the digital signature to authenticate the message, step 510, as being originated from broadcast server 12. On authentication of a new message, the messaging agent 4 schedules presentation of a message in accordance with the time parameters set out in the message, step 512, and returns to step 500 to begin monitoring for the publication of new messages on broadcast server 14. Figure 11 shows procedures carried out by the messaging agent 4 following scheduling of the message presentation and leading up to presentation of the message. Messaging agent 4 uses an internal date and time clock, step 550, in the user terminal to determine whether the timing condition scheduled to meet the time parameter set out in the message is met, step 552. If the timing condition has not been met, the agent waits a predetermined interval, step 554, before once again checking the current date/time. Hereby the agent 4 carries out a continual monitoring of the current date/time on the terminal. In the case that the time parameter or parameters for a message are relative time parameters, messaging agent continually updates a cumulative time period using the current date/time on the terminal, and continually monitors the cumulative time period on the terminal.
Once the messaging agent determines that the timing condition has been met, i.e. it is time to carry out a message presentation operation, the messaging agent 4 retrieves user profile data stored in the user terminal, step 556 to determine whether or not the user is within the target audience of the message. As stated above, the filtering is carried out in accordance with target user parameters set out in the message and user profile data stored by the messaging agent 4 on the terminal side data store 5. The user profile data identifies responses to questions asked in previous messages. By waiting until the timing condition is met before carrying out the filtering operation, the agent 4 allows for the presentation of any targeting questions in previous messages between receipt of a targeted message and its scheduled presentation. If the new message is targeted, and if the user fits the target profile, step 558, or if the message is "untargeted", i.e. targeted at all users having agents of the same agent class, the messaging agent executes message presentation, step 560, whereby the content of the message is presented to the user via the user interface 6. If the targeting conditions are not met, the messaging agent 4 discards the message.
After execution of the message presentation, a log record for the message is completed in step 510. Every time a message is retrieved, and at each processing step for the message, the messaging agent 4 writes data to a log record for the message, even if the message is not in fact presented to the user. The log record contains data indicating the processing steps carried out at each stage. Namely, the log record includes data indicating the time at which each of steps 508 to 512, 552, 558 and 560 are carried out by the messaging agent 4. If the message contains a targeting question as part of the message data, the agent 4 monitors whether the question is answered by the user, and if so which response is given, and writes corresponding data to the log record indication whether the hyperlink was selected during message presentation. Furthermore, if the message contains a hyperlink as part of the message data, the agent 4 monitors whether the hyperlink is clicked by the user, i.e. whether the network resource corresponding to the hyperlink is accessed by the user, and writes data to the log record indication whether the hyperlink was selected during message presentation. Thus, the log record contains data detailing when the message was received, whether it was authenticated, when the scheduling according to the received time parameters was made, which filtering stages the message passed, whether the message was presented in accordance with the scheduling (for example, if the user terminal 2 is switched off when the message was scheduled to be presented, the message may not have been presented at all), when the message was in fact presented (since the scheduling may be in the form of a scheduling period window), and data indicating whether or not targeting questions were answered, if so what the response was, and data indicating whether the hyperlink was accessed during message presentation. A log record for each received message is then stored in data store 5, and the messaging agent 4 periodically, with less frequency than the broadcast message polling, transmits the log records to log server 26. The messaging agent
4 detects when network connectivity is available and uploads its log records at a time selected by it in accordance with a log transmission schedule.
Note that a log record itself does not contain data identifying the user, for example it does not include a network address such as an e-mail address, or other personal details identifying the user. This serves to enhance privacy in use of the system. At the same time, log records contain data which is valuable to the broadcasting party. For example, if the message presentation system is used for marketing purposes, the log record contains statistics indicating the effectiveness of any marketing campaign in terms of the number of target users for each, the time and date of display of the messages, the proportion of users not falling into the target user profile, etc. The logged statistics are viewable on the remote log of viewing terminal
30 by means of interactions between the log viewing client 32 and the log viewing server 28. Note that the log viewing terminal 30 and the broadcast administrator terminal 16 may in fact be the same terminal. Both the message generation application and the log viewing server application may be embodied to provide Web-based content, in which case remote input client 18 and remote log viewing client 32 may take the form of a Web browser. Log records are stored in a database log store 24, and log viewing application 28 generates reports, viewable via log viewing client 32, providing aggregate information both on activity status of the messaging agents 4 in the system, and messages received by the messaging agents and their various processing stages. The server 28 allows the log record database to be accessed through a user interface which allows predefined queries to be executed to provide desired statistical analysis of the usage of the system. Figures 12 and 13 illustrate the presentation of a message in the form of graphics displayed on the user interface 6 by messaging agent 4 when a message is presented to the user. In a preferred embodiment of the messaging agent 4, an animated character AC is used which appears on the user interface as a means of attracting the user's attention when a message is about to be displayed. The animations of the character AC may themselves be programmed in the agent language, and the program code generated using the message generation application described above.
Animations are performed by the messaging agent with reference to a corresponding animation library stored on the user terminal. Animations which may be carried out include an "attract attention" animation, which provides a predetermined animation used to attract the attention of the user prior to message contents being presented. The position of the appearance of the animated character AC on the user interface may also be controlled by commands in the message, along with the appearance of the animated character, gestures made by the animated character towards a specified point, defined by screen coordinates, on the user interface, displaying a dialogue box containing text, and a "disappear" animation, whereby the animated character is removed from the user interface after presentation of a message until a subsequent message presentation operation is to be performed.
Before a message presentation operation, the animated character is absent from the desktop user interface. When a message presentation operation begins, after the animated character appears on the desktop, the "attract attention" animation is run and the message is presented shortly afterwards. Figure 12 shows the animated character AC presenting a dialogue box 600 containing message text 602 and an associated hyperlink 604 to the user. A confirmation button 606 is provided to allow the user to acknowledge viewing of the message content, at which time the appropriate log record element is created indicating that the desired message content has been presented to the user. Figure 13 illustrates a further dialogue box 620 in which an interactive multiple choice question is presented to the user in the form of question text 621 and response options list 622. In order to interact with the dialogue box 620, the user selects one of the response options 622, and then uses its confirmation button 624 to confirm the response. Upon confirmation of the response, the messaging agent 4 generates the appropriate log record element and stores the information its user profile to allow subsequent user profile-based filtering of messages at the user terminal 2. After a predetermined period, the "disappear animation is run, to remove the animated character from the desktop pending the next message presentation operation.
In the above, the message presentation conditions used are time-related conditions and user profile related conditions. Other presentation conditions, based on variables detectable on the user terminal, may also be used, including monitoring of user activity, for example keystroke frequency, to present the message outside a period of intense user activity (the condition being that user activity is below a predetermined threshold.) Furthermore, whilst only a single presentation condition may be defined for the selective presentation of a message, any combination of two or more of the different presentation conditions as described may be defined in combination for the selective presentation of a message.
In the above, the term "broadcast" has been used to describe the interaction between the broadcast server 12 and the messaging agent 4. Note, however, that the actual mechanism used is a pull-based mechanism, whereby the messaging agent 4 regularly polls the broadcast server 12 for updates. In other embodiments, the messaging agent 4 may receive new messages by means of other mechanisms, including more typical broadcast mechanisms in which the message is transmitted in a common channel available to all messaging agents, such as via digital television broadcast in a digital television system, cell broadcast in a cellular radio communications system, etc. It should however be understood that the term "broadcast" as used herein is not limited to such typical broadcast mechanisms, but used to indicate a mechanism whereby a message may be distributed to large numbers of messaging agents on different user terminals. A message may further more be received in one or more different parts.
Note furthermore that the user terminal 2 may be embodied as various different types of terminal, including a computer workstation terminal, a wireless communications terminal such as a mobile telephone, a personal digital assistant, a digital television receiver, a digital radio receiver, etc. Similarly, data communications network 7 may be a corresponding network type, including network types such as the Internet, a television broadcasting network, a cellular radio communications network, a satellite communications network, etc.
The above embodiments are to be understood as illustrative examples of the invention. Further embodiments of the invention are envisaged. It is to be understood that any feature described in relation to one embodiment may also be used in other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.

Claims

Claims:
1. A method of presenting messages to a user of a user data processing terminal capable of performing data communication via a data communications network, said method comprising: a. providing a message processing application on the user terminal; b. receiving a message in at least one part at the user terminal via the data communications network from at least one message distribution entity, said message comprising message data capable of being presented by said message presentation application and message presentation data defining one or more parameters specifying one or more conditions under which the message may be presented to the user; c. using the message processing application to selectively present the message data to the user by monitoring a time variable on the user terminal, and presenting the message to the user in response to detecting that the timing variable meets a condition specified by the message presentation data.
2. A method according to claim 1, comprising using the message processing application to selectively present the message data to the user by scheduling the presentation of the message in accordance with the message presentation data and presenting the message to the user in response to detecting that the timing variable meets the scheduling of the message.
3. A method according to claim 1 or 2, wherein the time variable is unrelated to the time of receipt of the message.
4. A method according to claim 1, 2 or 3, wherein said time variable is monitored using an internal date and time clock in the user terminal.
5. A method according to any preceding claim, comprising periodically transmitting requests from said data processing terminal to download a message from the message distribution entity.
6. A method according to any preceding claim, comprising authenticating the message using an encryption-based authenticator to validate the source of the message.
7. A method according to any preceding claim, wherein said message presentation data comprise data defining a time parameter specifying an absolute date and/or time.
8. A method according to any preceding claim, wherein said message presentation data comprise data defining a time parameter specifying a relative time measured in relation to an event occurring on said user terminal.
9. A method according to claim 8, wherein said event relates to installation of the message processing application on the user terminal.
10. A method according to any preceding claim, comprising receiving a message during a period of network connectivity, and presenting the message outside a period of network connectivity.
11. A method according to any preceding claim, comprising logging data relating to the processing of the message on the user terminal, and transmitting said log data to a remote data processing entity via a data communications network.
12. A method according to any preceding claim, wherein said message presentation parameters comprise user targeting parameters, and selectively determining whether to present said message to the user using said targeting data.
13. A method according to claim 12, comprising detecting user profile data stored on the user terminal to selectively determine whether to present said message to the user using said targeting data.
14. A method of monitoring the presentation of messages to a user received from a message distribution entity via a data communications network, said method comprising receiving a message, said message comprising message data, selectively determining whether to present said message to said user, generating log data relating to the presentation of the, and transmitting said log data to a remote data processing entity via a data communications network.
15. A method of presenting messages to a user received at a user data processing terminal from a message distribution entity via a data communications network, said method comprising receiving a message, said message comprising message data and non-user-specific targeting data, and selectively determining whether to present said message to the user using said targeting data.
16. A method according to claim 15, comprising detecting user profile data stored on the user terminal to selectively determine whether to present said message to the user using said targeting data.
17. Computer software adapted to carry out the method of any preceding claim.
18. A user terminal adapted to carry out the method of any of claims 1 to 16.
19. A network entity adapted to transmit and/or receive messages used in the method of any of claims 1 to 16.
20. A data processing system comprising a user terminal according to claim 18 and one or more network entities according to claim 19.
21. A message processing application for installation on a user data processing terminal capable of performing data communication via a data communications network, said application being adapted to: a. receive a message in at least one part at the user terminal via the data communications network from at least one message distribution entity, said message comprising message data capable of being presented by said message presentation application and message presentation data defining one or more parameters specifying one or more conditions under which the message may be presented to the user; and b. selectively present the message data to the user by monitoring a time variable on the user terminal, and presenting the message to the user in response to detecting that the timing variable meets a condition specified by the message presentation data.
22. A method of communicating messages to a user of a user data processing terminal capable of performing data communication via a data communications network, said method comprising: a. providing a message processing application for installation on the user terminal; b. transmitting a message in at least one part to the user terminal via the data communications network from at least one message distribution entity, said message comprising message data capable of being presented by said message presentation application and message presentation data defining one or more timing parameters specifying one or more timing conditions, the message presentation data being adapted to be processed by said message presentation application to determine a time of selective presentation of a message to the user in response to detecting that the timing variable meets a condition specified by the message presentation data.
23. A method of communicating messages to a user of a user data processing terminal capable of performing data communication via a data communications network, said method comprising: a. providing a message processing application on the user terminal; b. receiving a message from a message distribution entity at the user terminal, said message comprising message data capable of being presented by said message presentation application and message presentation data defining one or more parameters relating to one or more conditions under which the message may be presented to the user; c. detecting in the user terminal whether the one or more conditions are met; and d. using the message processing application to selectively present the message data to the user in accordance with the message presentation data, such that the message data is selectively presented to the user on the basis of the step of detecting whether the one or more conditions are met.
PCT/GB2002/005445 2001-12-03 2002-12-03 Message processing system WO2003049368A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002349151A AU2002349151A1 (en) 2001-12-03 2002-12-03 Message processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0128883.6 2001-12-03
GB0128883A GB2382683A (en) 2001-12-03 2001-12-03 A message processing system

Publications (2)

Publication Number Publication Date
WO2003049368A2 true WO2003049368A2 (en) 2003-06-12
WO2003049368A3 WO2003049368A3 (en) 2003-09-25

Family

ID=9926890

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2002/005445 WO2003049368A2 (en) 2001-12-03 2002-12-03 Message processing system

Country Status (3)

Country Link
AU (1) AU2002349151A1 (en)
GB (1) GB2382683A (en)
WO (1) WO2003049368A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005029381A1 (en) * 2003-09-15 2005-03-31 Sap Aktiengesellschaft Data conveyance management
WO2005076654A1 (en) 2004-02-03 2005-08-18 Nokia Corporation Method and apparatus for providing end-to-end quality of service (qos)
US20140366091A1 (en) * 2013-06-07 2014-12-11 Amx, Llc Customized information setup, access and sharing during a live conference
KR102553672B1 (en) * 2022-10-13 2023-07-10 주식회사 마이링크 Method for processing data through a distributed messaging server, and distributed messaging system including the same
WO2024048858A1 (en) * 2022-09-02 2024-03-07 주식회사 마이링크 Data processing method using distributed messaging server, and distributed messaging system comprising same

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US7657234B2 (en) 2004-02-05 2010-02-02 Qualcomm Incorporated Transparent broadcast services for a multi-mode wireless device
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
GB2417402A (en) 2004-08-19 2006-02-22 Hutchison Whampoa Three G Ip Providing information to clients on different "channels", the information including channel identifiers to enable filtering by the clients
JP3980603B2 (en) * 2005-03-30 2007-09-26 株式会社日立製作所 Digital content distribution method and digital content distribution apparatus
WO2007021209A1 (en) * 2005-08-11 2007-02-22 Motorola, Inc. System for controlling a device over a communication channel
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0375138A2 (en) * 1988-12-22 1990-06-27 International Business Machines Corporation Restricting electronic message traffic
US20010042104A1 (en) * 1998-09-01 2001-11-15 Donoho David Leigh Inspector for computed relevance messaging

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3491397A (en) * 1996-06-24 1998-01-14 Mci Communications Corporation System and method for delayed delivery of a telephone message
US5999932A (en) * 1998-01-13 1999-12-07 Bright Light Technologies, Inc. System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing
CA2298274A1 (en) * 1999-02-22 2000-08-22 Lucent Technologies, Inc. Specifiable delete times for email messages
JP2000324158A (en) * 1999-05-12 2000-11-24 Shigeki Kobayashi System for automatically transferring message
JP2001325194A (en) * 2000-05-12 2001-11-22 Hisao Goto Future mail network system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0375138A2 (en) * 1988-12-22 1990-06-27 International Business Machines Corporation Restricting electronic message traffic
US20010042104A1 (en) * 1998-09-01 2001-11-15 Donoho David Leigh Inspector for computed relevance messaging

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005029381A1 (en) * 2003-09-15 2005-03-31 Sap Aktiengesellschaft Data conveyance management
US7945691B2 (en) 2003-09-15 2011-05-17 Sap Ag Data conveyance management
WO2005076654A1 (en) 2004-02-03 2005-08-18 Nokia Corporation Method and apparatus for providing end-to-end quality of service (qos)
US9065739B2 (en) 2004-02-03 2015-06-23 Nokia Technologies Oy Method and apparatus for providing end-to-end quality of service (QoS)
US20140366091A1 (en) * 2013-06-07 2014-12-11 Amx, Llc Customized information setup, access and sharing during a live conference
WO2024048858A1 (en) * 2022-09-02 2024-03-07 주식회사 마이링크 Data processing method using distributed messaging server, and distributed messaging system comprising same
KR102553672B1 (en) * 2022-10-13 2023-07-10 주식회사 마이링크 Method for processing data through a distributed messaging server, and distributed messaging system including the same

Also Published As

Publication number Publication date
GB2382683A (en) 2003-06-04
AU2002349151A8 (en) 2003-06-17
WO2003049368A3 (en) 2003-09-25
AU2002349151A1 (en) 2003-06-17
GB0128883D0 (en) 2002-01-23

Similar Documents

Publication Publication Date Title
WO2003049368A2 (en) Message processing system
US8407482B2 (en) User session dependent URL masking
US9559994B2 (en) Systems and methods for previewing communications sessions
US9143572B2 (en) Method and system for providing content to users based on frequency of interaction
US9055122B2 (en) Collecting and associating profile data of a user of a mobile device to events of the mobile device using a unique individual identification number
US6697792B2 (en) Method for distributing information
ES2744551T3 (en) Engine, system and method of content, traffic and advertising
US9432425B2 (en) Method and system for downloading content
US20040176995A1 (en) Method and apparatus for anonymous data profiling
US9332082B2 (en) System and method for instantaneously deploying packetized alert data
KR101565276B1 (en) Method and system for communications and computer storage medium
AU2008242564A1 (en) Ad serving system, apparatus and methologies used therein
EP1127315A1 (en) Method and apparatus for delivering electronic advocacy messages
US8806378B2 (en) Mobile client application for managing display of messages to users
JPH0981473A (en) Spontaneous service providing method and system
KR20000058606A (en) Method and system for supplying various program of the web casting
US20040243584A1 (en) Control of access to computers in a computer network
US20090150833A1 (en) Screen saver with customized content, time of activation capture and reporting for the purpose of providing a usage incentive
US8230011B2 (en) Networked computer alert system
RU2457631C2 (en) Method of transmitting data stored in data base
US20100077215A1 (en) Method for transmitting information with a semantic acknowledgement of receipt
US20040117400A1 (en) Method and apparatus for requesing information
JP2003296278A (en) System and method for data management, program for the data management system, and recording medium for the data management system
CN112732659A (en) Application program sharing method and device
CN113610581A (en) Advertisement monitoring method and device and terminal

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP