GB2488976A - Dedicated message reply assistant, selected based upon analysis and classification of incoming message types - Google Patents
Dedicated message reply assistant, selected based upon analysis and classification of incoming message types Download PDFInfo
- Publication number
- GB2488976A GB2488976A GB1103763.7A GB201103763A GB2488976A GB 2488976 A GB2488976 A GB 2488976A GB 201103763 A GB201103763 A GB 201103763A GB 2488976 A GB2488976 A GB 2488976A
- Authority
- GB
- United Kingdom
- Prior art keywords
- message
- processing logic
- user
- executing
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000004458 analytical method Methods 0.000 title description 5
- 230000004044 response Effects 0.000 claims abstract description 58
- 238000000034 method Methods 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010295 mobile communication Methods 0.000 claims description 2
- 230000006855 networking Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 235000013550 pizza Nutrition 0.000 description 2
- 238000005057 refrigeration Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-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/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H04L12/58—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/222—Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A terminal (eg. computer, mobile phone, etc.) receives a message S11. The header/metadata and content/payload are examined (eg. using header flags, payload strings or semantically) and assigned to a type/category S12 where possible. The message type is used to call a handler program S14/S18, which may need to be downloaded S15-S17 subject to security checks. The handler program may extract data from the original message or a database, use GPS location data and/or present a user interface (Figs. 5a/b) for collecting user input when preparing the response message S19, which is then transmitted S20. Where a message cannot be classified or where a handler cannot be securely downloaded, the incoming message is processed normally S13. The invention may used with SMS, IM/chat or social networking website updates.
Description
Method and Apparatus for Responding to Messages This invention is in the field of messaging, and in particular relates to responding to data messages.
There are a number of systems that use data messages, and in particular, short text-based messages. Examples include SMS on mobile devices, status updates on social networking sites such as Twitter or Facebook, and instant messaging systems The short text-based messages may be addressed to a single recipient, a group of recipients, or broadcast to a social network.
A message recipient wishing to generate a response to a received message may have no option other than to begin from a blank message as a starting point for responding.
Alternatively, a device or application might offer a user a choice of several universal responses as a template, for example, "answer is yes".
A method embodying the present invention, for responding to a data message addressed to a user, comprises receiving the data message, classifying the received message content as a particular type of message content, downloading a handler associated with the particular type of message content, the handler including processing logic for generating a response to the received message, and executing The downloaded processing logic to generate a response to the received message.
Advantageously, embodiments of the present invention provide a way in which to simplify and make more efficient the process of responding to a data message.
Additionally, embodiments of the present invention provide a way of matching processing logic to the content type of the received message in a meaningful way.
Furthermore, embodiments of the present invention enable a response to be generated at a user terminal using relevant processing logic without having to dedicate storage space to the processing logic, by accessing downloadable processing logic.
The data message may be an electronic message. In particular, the data message may be a text-based message, a picture message, gesture message, audio message, video message, some other for of data message, or a combination of these formats.
The type of message content may be related to the format or may be independent of format, for example, a type of message content may be "weather report", regardless of format, or may be "video-based weather report". In either case, the handler may be format-specific or may be generic to the content type regardless of format.
In embodiments in which the data message is a text-based message, the text-based message may be a short text-based message. Short in this context means restricted in length in some way by the protocol, implementation, or environment in which the message is created and sent. For example, in Twitter a text-based message is limited to 140 characters Receiving the message may be performed at a user terminal, the user terminal being, for example, a mobile telephone, computer, PDA, or any client-level device in a client server architecture The received message may be addressed solely to the user or may be addressed to the user as part of a group of message recipients, or as part of a social network.
Classifying the received message can be performed at a user terminal, or can be a service performed at a higher level of a system architecture, the higher level being, for example, a gateway, server, or as an application in a cloud computing environment.
Downloading the handler and executing the processing logic may both be performed at a user terminal. The response generated by executing the downloaded processing logic may be sending or preparing a reply to the sender of the received message, or may be a processing action, or may be sending or preparing a message to send to a third party. Alternatively, the response may include a combination of more than one such processes.
Optionally, embodiments of the present invention include receiving input from the user, wherein downloading the handler is carried out in accordance with the input received from the user. A user terminal may present a user with an option of whether or not to download a handler associated with the particular type of processing logic.
Advantageously, the user is therefore able to choose which of a number of handlers to download and retains control over the downloading process.
Optionally, embodiments of the present invention include receiving input from the user, wherein executing the downloaded processing logic includes using the input received from the user to generate the response. Advantageously, such embodiments ensure that the response is in accordance with the wishes of the user. Furthermore, such embodiments provide the user with control over the content of the response, without consuming the time which the user would require to formulate a response from scratch (i.e. from a blank message).
Optionally, in embodiments of the present invention the processing logic defines an interface for receiving the input from the user, and the input from the user is received via the interface while carrying out the executing of the downloaded processing logic.
Advantageously, any such interface may further reduce the time required by the user to generate a response. In addition, an interface can constrain user choice to prevent unexpected content which could result in runtime errors.
Optionally, in embodiments of the present invention, executing the downloaded processing logic includes extracting information from the content of the received message in accordance with rules included in the processing logic. For example, the downloaded processing logic may include rules defining a semantic analysis procedure for extracting information from the content of the received message. Advantageously, extracting information in this way can reduce the degrees of freedom in generating a response to the message so that less user input is required. Furthermore, executing the downloaded processing logic may also include using the information extracted from the content of the received message in the response to the received message.
In data messaging it may be desirable to link a response to the received message. In embodiments of the present invention, executing the downloaded processing logic may also include inserting a correlation identifier into the generate. .d response.
Advantageously a correlation identifier can be used in a senes of receiving and responding to messages to identify conversations and streams of linked messages.
Furthermore, the correlation identifier may inform how a response is processed.
A number of other sources of information for the response are available, and optionally, when the message is received at a user terminal, executing the processing logic includes obtaining GPS positioning information representing a location of the user terminal, and executing the processing logic includes using the GPS positioning information in generating the response. GPS positioning data may inform a response, for example, if the received message is from a domestic appliance, the response may vary depending on if the GPS data indicates that the user terminal is at home or not.
Executing code on an apparatus requires processing resources, and may include other resources such as storage space. Optionally, embodiments of the present invention may include allocating, based on the handler, an execution environment with a set of resources for executing the downloaded processing logic, including determining the set of resources in accordance with a policy. The set of resources may be a restricted set of resources in relation to the full set resources available to the user apparatus.
Advantageously, allocating resources to the execution of the handler in this way can mitigate the negative effects of malicious code, hence improves security.
The policy according to which resources are allocated may be user-defined, and may be updated on a per-handler or per-response basis according to input from the user.
As a further example of information sources, executing the processing logic may * 20 include accessing a database to obtain user-defined input, and using the user-defined input obtained from the database in generating* the response, An.example* of such user-defined input may be calendar or diary entries, the database being the calendar or diary respectively. The database may be local or may be remote.
It may be that classifying the received message content includes simply extracting from the received message an indicator of the particular type of message content. This may be performed either at the recipient device, or at some higher level of the system architecture, such as in the cloud as a service. Alternatively, classifying the received message may include extracting an anonymised version of the message content from the received message at the user terminal, transmitting the anonymised version of the message content to a remote classification engine, and receiving an indicator of the particular type of message content at the user terminal. A remote classification engine can reduce the processing capability required at the user terminal, and may be particularly advantageous if there is a large number of possible content types, and hence a more complex classification procedure.
In another aspect of embodiments of the present invention, there is provided an apparatus for responding to a data message addressed to a user, the apparatus comprising a receiving unit operable to receive the data message, a classifying unit operable to classify the received message content as a particular type of message 1 5 content, a downloading unit operable to download a handler associated with the particular type of message content, the handler including processing logic for generating a reaction to the received message, and an executing environment operable to execute the downloaded processing logic to generate a response to the received message.
In anotheraspect of embodiments, there is provided a mobi.lecornmunication device comprising a receiving unit operable to receive the data message, a classifying unit operable to classify the received message content as a particular type of message content, a downloading unit operable to download a handler associated with the particular type of message content, the handler including processing logic for generating a reaction to the received message, and an executing environment operable to execute the downloaded processing logic to generate a response to the received message.
In another aspect of embodiments, there is provided a computing apparatus comprising a receiving unit operable to receive the data message, a classifying unit operable to classify the received message content as a particular type of message content, a downloading unit operable to download a handler associated with the particular type of message content, the handler including processing logic for generating a reaction to the received message, and an executing environment operable to execute the downloaded processing logic to generate a response to the received message.
In another aspect of embodiments, there is provided a computer program which, when executed by a processor, causes a method embodying the present invention to be performed. The computer program may be stored on a computer-readable storage medium.
Preferred features of the present invention will now be described, purely by way of example, with reference to the accompanying drawings, in which:-Figure 1 is a flowchart illustrating a method embodying the present invention; Figure 2 is a schematic illustration of an apparatus embodying the present invention; Figure 3 is a schematic illustration of an alternative apparatus embodying thepresent invention; Figure 4 is a flowchart illustrating the flow of control in an embodiment of the present invention; and Figures 5a and 5b illustrate snapshots from a user's perspective of a method embodying the present invention; Figure 6 illustrates an example of a hardware configuration for executing a program embodying the present invention Figure 1 illustrates the flow of operation in a method. At step Si, a data message in the form of a short text-based message is received. A short text-based message may be an SMS received by a mobile telephone, a status update on a social networking site such as Twitter or Facebook received by a mobile telephone or computing device, or an instant message received by a mobile telephone or computing device. The step Si may be performed by the receiving unit 12 of Figure 2.
The next step in the method is step S2, in which the content of the received message is classified as being of a particular content type. Step 52 may be performed by the classifying unit 18 of Figure 2 or the remote classifying unit 28 of Figure 3.
is The received message may comprise metadata and message content. Metadata may alternatively be referred to as a header' and may be largely invisible to a user.
Metadata may include a combination of source details; destination details, and transmission information, amongst other things. The message content, which may alternatively be referred to as the payload', is the rest of the message apart from the metadata. The message may be transmitted in order to transmit the message content from. the** source to the. recipient.
The metadata may include an indication of the particular type of message content, so that classifying the content of the received message can be performed simply by extracting the indication from the metadata.
A messaging convention may be used in order to embed an indication of the particular type of message content in the message content itseff. For example, a message may be transmitted including the content "linvitation!", and the recipient device, being aware of the convention, can recognise the use of exclamation marks at either end of a string of text as a tagging convention. Classifying the content of the received message in this case is simply a case of extracting the text string from between the exclamation marks.
Alternatively, for example in an embodiment involving multimedia or picture messaging, an indicator of content type may be embedded via a smart code or some other form of visual indication.
The recipient device may be operable to classify the message content as a particular type of message content by conducting a semantic analysis of the message content itself. For example, the recipient device may be operable to recognise certain phrases or words as indicating a particular type of message content.
Alternatively, the method may include extracting a summary of the message content at the recipient device, and sending a request including the summary to a classification engine at a higher level of the system architecture, the classification engine being operable to analyse the summary of the message content and return an indication of the particular type of message content to the. recipient device. Depending on the securi.. policy in.th.e.network,..the summary mayeanonymised. Tha entire message
content may be used in place of the summary.
As a further alternative to the classification engine example, the classification engine may analyse the message content or summary of the message content prior to the message being delivered to the recipient, so that the message recipient receives not only the message, but also an indication of the particular type of the message content.
The indication may be embedded into the message, or may be sent separately including some linking data. In such an embodiment, the step of classifying the content of the received message as a particular type of message content may be associating the indication with the message.
The next step in the method is step 53, in which a handler associated with the particular type of message content is downloaded. For example, there may be a central repository of handlers at a higher level of the system architecture. These handlers may be accessible via a simple HTTP request or some other request. The handlers include the instructions on how the message should be processed by the recipient device in order that the instructions do not need to be sent in the message.
The instructions are provided as processing logic, which may include, amongst other things, interface description and processing rules. Step S3 may be performed by the downloading unit 14 of Figure 2.
It may be that the availability of handlers dictates the classification of the type of message content in step S2. For example, when a handler is available the recipient device and/or classification may be made aware of the particular type of message content with which it is associated. Furthermore, the handler may be for a new classification of message content., in which case the recipient device and/or classification engine are made aware of the new classification and the conditions that the content of a message must fulfil in order to fall within that classification.
The flow then proceeds to step S4. At step S4 a response to the received message is generated by executing the processing logic from the downloaded handler. The response may be a data message such as a short text-based message sent to the source of the original message. Alternatively, the response may be sent to a group of recipients, or broadcast to a social network. The response is not necessarily a short-text based message, and may be a transaction with a retailer, an interaction with a website, or an interaction with an application (either local or remote), for example an application for controlling a user appliance.
The process of generating the response may be fully automated, or partially automated and partially manual. The process may make use of database lookups from local or remote (eg. cloud-based) databases. For example, the processing logic for generating a response to an "invitation" type message may, when executed, cause the recipient device to perform a database lookup in a user calendar to ascertain availability. The calendar may be stored in the recipient device, or may be stored remotely.
Alternatively, the database lookup may be to a contacts list, which includes a field for determining how to respond to an invitation from a particular message source. For example, a contacts entry corresponding to the message source may be flagged like', in which case, pending availability, executing the processing logic generates a positive response to an invitation from that source.
The process of generating a response by executing the processing logic may involve user interaction The detail or content of a response may be partially predetermined by the processing logic, and partially dependent upon user input. The user input may be constrained, or may be simply a blank text field. The processing logic may define a user interface and rules for interacting with the interface so that, when executed, it presents the user with a series of menus, text entry fields, or other input mechanisms, and the progression through the interface is determined by the rules.
Another optional source of data for use in generating a response which may be accessed by a recipient device executing processing logic is GPS data. Again, GPS data may be stored locally or remotely. The GPS data may be included as content or detail in the response, or may be used in conjunction with a processing rule to determine what form some other detail of the response should take.
Figure 2 is a schematic illustration of an apparatus 10 embodying the present invention. The apparatus 10 may be provided as part of a recipient device such as a mobile telephone or personal computing apparatus. On the basis of a received message and some downloaded processing logic, the apparatus 10 is operable to generate a response to the received message. The response may be in the form of a message itself.
The apparatus 10 comprises a receiving unit 12, a downloading unit 14, an executing environment 16 having resources, resource a 161 and resource b 162, and a classifying unit 18. The component parts: the receiving unit 12; downloading unit 14; executing environment 16; and classifying unit 18; are connected via an interconnection 11. The interconnection 11 is any single connection or plurality of connections between the components of the apparatus which enablesdata to be transferrEd from onecomponent to another.
The receiving unit 12 is a functional unit which may in fact be realised by a set of resources not necessarily co-located within the apparatus. For example, the receiving unit 12 may comprise some combination of the following: firmware or middleware; some software code; a network interface or the functionality to interact with a network interface; a receiver or transceiver or the functionality to interact with a receiver or transceiver; and/or some memory or storage space. Operationally, the receiving unit 12 is able to perform the step Si set out above, to receive a data message.
The downloading unit 14 is a functional unit which may in fact be realised by a set of resources not necessarily co-located within the apparatus 10. For example, the downloading unit 14 may comprise some combination of the following: firmware or middleware; some software code; a network interface or the functionality to interact with a network interface; a receiver or transceiver or the functionality to interact with a receiver or transceiver; and/or some memory or storage space. Operationally, the downloading unit 14 is able to perform the step S3 set out above, to download a handler associated with a particular type of message content.
The classifying unit 18 is a functional unit which may in fact be realised by a set of resources not necessarily co-located within the apparatus. For example, the classifying unit 18 may comprise some combination of the following: firmware or middleware; some software code; a network interface or the functionality to interact with a network interface; a receiver or transceiver or the functionality to interact with a receiver or transceiver; and/or some memory or storage space. Operationally, the classifying unit 18 is able to perform the step S2 set out above, to classify the content of the received message as a particuLar type of content.
As discussed above in relation to step S2, the classifying unit in the apparatus may be able to exchange data with a remote classification engine. The classifying unit 18 in such cases does not actively perform the classifying step, but is operable to associate a result received from the classification engine with a message received by the receiving unit 12, and to inform the downloading unit 14 of the particular message conent type with which a downloaded handler should be associated.
The executing environment 16 is a set of resources 161, 162, which may be a restricted set of resources, operable to perform the step S4 set out above, to generate a response to the received message by executing processing logic downloaded as part of the handler. The executing environment 16 includes resources which are not necessarily co-located within the apparatus 10. Although the executing environment 16 is illustrated with two resources, resource a 161 and resource b 162, this is merely illustrative, and the executing environment 16 is not limited in terms of the number and nature of resources. The executing environment 16 may comprise some combination of the following: firmware or middleware; some software code; a network interface or the functionality to interact with a network interface; a receiver or transceiver or the functionality to interact with a receiver or transceiver; and/or some memory or storage space. The executing environment also enables the receipt of input from a user, and database lookups. Furthermore, the executing environment 16 may be granted access to other applications and software functionality within the apparatus 10, or remotely.
The executing environment 16 should not be considered to be a fixed set of resources for all handlers or all responses. The user may be able to determine a level of access which processing logic of a particular handler should be granted, and this wilt determine the resources included in the executing environment 1, Alternatively, the processing logic of a particular handler may only require certain resources, and hence the executing environment 16 is tailored to contain the required resources on execution of the processing logic from a particular handler.
Figure 3 illustrates an alternative embodiment, which is functionally and structurally the same as Figure 2, with the exception of the classifying unit. In Figure 3, the classifying unit is a remote classifying unit 28, and is provided at a higher level of the system architecture, for example as a cloud service. The receiving unit 12, downloading unit 14, and executing environment 16 are still interconnected with the remote classifying unit 28, however data transmitted to and from the remote classifying unit 28 may be subject to network security. The remote classifying unit 28 may include the classification engine, or have access to the classification engine.
Furthermore, in Figure 3 the executing environment includes a control unit 160. The control unit 160 is operable to set up the set of resources required in the executing environment 16 for executing the processing logic of a particular handler. The control unit 160 may be operable to extract information from the handler, the handler metadata, the system data of the apparatus 10 or the device within which the apparatus 10 is realised, and a policy or policies governing access to resources in the apparatus 10.
The remote classifying unit 28 and the control unit 160 are optional features not dependent on one another, hence an embodiment of the present invention may * * 20 comprise one without the other.
Figure 4 is a flowchart illustrating the flow of control in an embodiment of the present invention.
The process begins at step SI I, when the data message is received. The data message in this example is a short message', for example a short text-based message. At step S12 it is determined whether or not the classifying unit 18 or remote classifying unit 28 can identify the type of message content. The sender of a message may explicitly associate the message with a particular type of content, by embedding an indicator of some sort. The sender of the message is effectively indicating appropriate handlers (plugins) that a user receiving the message may choose to process the received message and generate a response. However, this process may be entirely transparent to the sender, particularly in embodiments in which the type of message content is extracted from the message at the receiver side without requiring an explicit indicator in the message. If the message content type cannot be identified, then the flow proceeds to step Si 3, and the short message is dealt with in the usual manner by the recipient device.
If the message type can be identified, then the flow proceeds to S14 at which it is determined whether or not the message type is already known. Step 314 may be performed by the downloading unit 14, the classifying unit 18, or the remote classifying unit 28. Step S14 may involve a dictionary Iookup operation, in which the particular type of message content is compared with a dictionary of known message content types.
If, at step 314, it is determined that the message. content type is not already known, then the flow proceeds to step SI 5 At step S15, handler metadata is downloaded by the downloading unit 14. The handler metadata may be enough data to identify the origin of the handler (i.e. the provider of the handler), and other details such as required resources. The flow then proceeds to step 316 at which the handIer metadata is checked for conformance with a policy and offers the user an option to override or amend the policy. Alternatively, the policy may be fixed, so that a handler not conforming with the policy will not be fully downloaded and executed. At step S17 it is determined if it is ok to download and execute the rest of the handler, based on the handler metadata and in accordance with user input, the policy, or a combination of the two. Steps 515 to 517 may be performed by the downloading unit 14.
If step SiT confirms that the handler can be downloaded and executed, the flow proceeds to step S18. Otherwise the flow returns to step 513, and the short message is dealt with in the usual manner by the recipient device.
At step SIB, the resources of the execution environment 16 are set up by the control unit 160 according to agreed access for the handler. The downloading of the handler is completed by the downloading unit 14 if required, and the processing logic of the handler is executed using the resources of the executing environment 161, 162, the received message for specific context, and other information sources discussed above in accordance with step S4 of Figure 1 or the executing environment 16. Handlers may require privileged access in order to improve user experience, and there may be some associated risk of compromising the recipient device. Thus, the handler may be operated from within a sandbox', a restricted set of resources for executing code. If a handler requires additional privileges then these must be requested and approved by the user.
Step 519 is part of executing the processing logic, and includes receiving input from the user. At step S20, the response is finalised, and where appropriate, transmitted.
Even with a restricted set of resources (sandboxing), executing rogue handlers may result in a distorted response, or the user being deceived in some other way. The following optional features may be included in embodiments of the present invention: -upon downloading of the handler metadata at step S15, a user might be requested to approve a particular repository of content specific processing logic (a source of handlers), or to attach some kind of trustworthiness evaluation to that source or repository. The recipient device may be operable to store the trustworthiness evaluation; -a reputation system might be used to assess the trustworthiness of a specific handler, repository, or source of handlers, where the evaluations of multiple users are compiled to form judgments; -an authority, such as a network provider or other body, may take responsibility for maintaining an approved list of message types.
Figures 5a and Sb illustrate snapshots from a user's perspective of a method embodying the present invention.
In the first screen of Figure 5a, the user has received a data message in the form of an SMS reading Lunch tomorrow?', displayed in the received message display area 30.
The message has been identified as an "Invitation" as indicated underneath the received message area. The user has the choice of selecting Respond', which will begin the process of downloading a handler for generating a response to an "Invitation", or using the blank response area 40 to respond in the usual manner.
The second screen of Figure 5a illustrates the result of selecting Respond'. In this simple example, the handler includes processing logic which defines a menu interface giving the user the options of yes', no', or maybe' as a collection of radio buttons, and a click to respond' button.
Figure 5b illustrates an alternative example, in which the data message received in the received message display area 30 is an automated message from a refrigeration device. The refrigeration device may send this message as an update on a social networking site, or as an SMS. The message includes an inventory of contents and a temperature reading. The message is classified as an "Inventory", as indicated underneath the received message display area 30, and two different associated handlers have been identified, "Temperature Management" and "Reorder".
Upon selecting "Reorder", the appropriate handler is downloaded and its processing logic executed. The processing logic, when executed, sets up an interface 50 with either a food supply website or application, and the user is presented with options for ordering items, and a click to respond' button for transmitting the generated response.
As an alternative example (not illustrated), the received message might be shall we have a pizza tonight?'. The handler may include processing logic for extracting the meaning of tonight' in terms of calendar entries, and respond by checking availability in the user's calendar or diary, and if availability is confirmed, opening an interface for a transaction with a pizza company or a restaurant table reservation service In addition the response may be to send a counter invitation to the sender of the original message in order to confirm the arrangement.
Figure 6 illustrates an example hardware configuration 100 for executing a program embodying the present invention. A mobile communication device, computing apparatus, or apparatus embodying the present invention may comprise a hardware configuration as illustrated in Figure 6. The hardware configuration 100 may be realised as part of, for example, a smartphone, a personal computer, a tablet device, or a FDA. The hardware configuration 100 includes a network interface 102, a processor 104, a memory 106, a storage 108, and a storage medium reading unit 110, although certain of the hardware configurations or embodiments listed above could optionally be provided without a storage medium reading unit 110. The components are interconnected by a bus connection 112.
The network interface is operable to send and receive data to and from other network devices. It should be noted that a hardware configuration for executing a computer program embodying the present invention may further comprise additional components for transmission and receipt of data. The network interface 102 is operable to download a computer program embodying the invention as a signal, and may also be operable to download a handler when executing the computer program.
The processor (CPU) 104 is operable to carry out, or execute, the instructions of a computer program embodying the present invention.
The* memory 106 is operable to store data for processing such that it can be accessed quickly and possiblymodifieOythe processor 104.
The storage 108 provides storage for programs, such as a program embodying the present invention, and other data.
A computer program embodying the present invention may be stored on a hard disk, a flexible disk, a compact disc read-only memory (CD-ROM), a magneto-optical disk (MO) or a digital versatile disk (DVD). The program so stored may be read onto the hardware configuration 100 by the storage medium reading unit 110, optionally stored in the storage 108, and executed by the processor 104, optionally in conjunction with the memory 106 and/or the network interface 102.
The bus connection 112 is an interconnection which is operable to provide power to the above mentioned components of the hardware configuration 100, and to provide a pathway for the exchange of data between said components.
In any of the above aspects, the various features may be implemented in hardware, or as software modules running on one or more processors. Features of one aspect may be applied to any of the other aspects.
The invention also provides a computer program or a computer program product for carrying out any of the methods described herein, and a computer readable medium having stored thereon a program for carrying out any of the methods described herein.
A computer program embodying the invention may be stored on a computer-readable medium, or it could, for example, be in the form of a signal such as a downtoadable data*sinäIprO*dedftom an ttërnetwebsite,or it Could be:ayothrfor.m
Claims (18)
- CLAIMS1. A method for responding to a data message addressed to a user, the method comprising: receiving the data message; classifying the content of the received message as a particular type of message content; downloading a handler associated with the particular type of message content, the handler including processing logic for generating a response to the received message; and executing the downloaded processing logic to generate a response to the received message.
- 2. The method according to claim 1, further comprising: receiving input from the user, wherein downloading the handler is carried out in accordance with the input received from the user.
- 3. The method according to claim 1 or 2, further comprising: receiving input from the user, wherein executing the downloaded processing logic includes using the input received from the user to generate the response.
- 4 The method according to claim 3, wherein the processing logic defines an interface for receiving the input from the user, and the input from the user is received via the interface while carrying out the executing of the downloaded processing logic.
- 5. The method according to any of claims 1 to 4, wherein executing the downloaded processing logic includes extracting information from the content of the received message in accordance with rules included in the processing logic.
- 6. The method according to claim 5, wherein executing the downloaded processing logic also includes using the information extracted from the content of the received message in the response to the received message.
- 7. The method according to any of claims I to 6, wherein executing the downloaded processing logic includes inserting a correlation identifier into the generated response.
- 8. The method according to any of claims I to 7, wherein the message is received at a user terminal, and executing the processing logic includes obtaining GPS positioning information representing a location of the user terminal, and executing the processing logic includes using the GPS positioning information in generating the response
- 9. The method according to any of claims 1 to 8, further comprising allocating, based on the handler, an execution environment with a set of resources for executing the downloaded processing logic, including determining the set of resources in accordanCe with a policy.
- 10. The method according to claim 9, wherein the policy is userdefined.
- 11. The method according to any of claims 1 to 10, wherein executing the processing logic includes accessing a database to obtain user-defined input, and using the user-defined input obtained from the database in generating the response.
- 12. The method according to any of claims I to 11, wherein classifying the received message content includes extracting from the received message an indicator of the particular type of message content.
- 13. The method according to any of claims 1 to 12, wherein classifying the received message includes: extracting an anonymised version of the message content from the received message at the user terminal; transmitting the anonymised version of the message content to a remote classification engine; and 1 5 receiving an indicator of the particular type of message content at the user terminal.
- 14. An apparatus for responding to a data message addressed to a user, the apparatus comprising: a receiving unit operable to receive the data message; a classifying unit operable to classify the received message content as a particular type of message content; a downloading unit operable to download a handler associated with the particular type of message content, the handler including processing logic for generating a reaction to the received message; and an executing environment operable to execute the downloaded processing logic to generate a response to the received message.
- 15. A mobile communication device comprising the apparatus according to claim 14.
- 16. A computing apparatus comprising the apparatus according to claim 14.
- 17. A computer program which, when executed by a processor, causes the method according to any of claims 1 to 13 to be performed.
- 18. A computer readable storage medium storing the computer program according to claim 17.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1103763.7A GB2488976A (en) | 2011-03-07 | 2011-03-07 | Dedicated message reply assistant, selected based upon analysis and classification of incoming message types |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1103763.7A GB2488976A (en) | 2011-03-07 | 2011-03-07 | Dedicated message reply assistant, selected based upon analysis and classification of incoming message types |
Publications (2)
Publication Number | Publication Date |
---|---|
GB201103763D0 GB201103763D0 (en) | 2011-04-20 |
GB2488976A true GB2488976A (en) | 2012-09-19 |
Family
ID=43923245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB1103763.7A Withdrawn GB2488976A (en) | 2011-03-07 | 2011-03-07 | Dedicated message reply assistant, selected based upon analysis and classification of incoming message types |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2488976A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9705924B2 (en) | 2015-06-24 | 2017-07-11 | International Business Machines Corporation | Determining a number of users allowed to access message based on message objective |
US10367768B2 (en) | 2016-12-07 | 2019-07-30 | Microsoft Technology Licensing, Llc | Messaging system |
US10984387B2 (en) | 2011-06-28 | 2021-04-20 | Microsoft Technology Licensing, Llc | Automatic task extraction and calendar entry |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6718368B1 (en) * | 1999-06-01 | 2004-04-06 | General Interactive, Inc. | System and method for content-sensitive automatic reply message generation for text-based asynchronous communications |
US6816885B1 (en) * | 2000-09-21 | 2004-11-09 | International Business Machines Corporation | Method and system to handle large volume of E-mail received from a plurality of senders intelligently |
US20050228790A1 (en) * | 2004-04-12 | 2005-10-13 | Christopher Ronnewinkel | Coherent categorization scheme |
US20100293236A1 (en) * | 2009-05-14 | 2010-11-18 | Charles Michael Wisner | Electronic Communication Clarification System |
-
2011
- 2011-03-07 GB GB1103763.7A patent/GB2488976A/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6718368B1 (en) * | 1999-06-01 | 2004-04-06 | General Interactive, Inc. | System and method for content-sensitive automatic reply message generation for text-based asynchronous communications |
US6816885B1 (en) * | 2000-09-21 | 2004-11-09 | International Business Machines Corporation | Method and system to handle large volume of E-mail received from a plurality of senders intelligently |
US20050228790A1 (en) * | 2004-04-12 | 2005-10-13 | Christopher Ronnewinkel | Coherent categorization scheme |
US20100293236A1 (en) * | 2009-05-14 | 2010-11-18 | Charles Michael Wisner | Electronic Communication Clarification System |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10984387B2 (en) | 2011-06-28 | 2021-04-20 | Microsoft Technology Licensing, Llc | Automatic task extraction and calendar entry |
US11328259B2 (en) | 2011-06-28 | 2022-05-10 | Microsoft Technology Licensing, Llc | Automatic task extraction and calendar entry |
US9705924B2 (en) | 2015-06-24 | 2017-07-11 | International Business Machines Corporation | Determining a number of users allowed to access message based on message objective |
US10116606B2 (en) | 2015-06-24 | 2018-10-30 | International Business Machines Corporation | Determining a number of users allowed to access message based on message objective |
US11316899B2 (en) | 2015-06-24 | 2022-04-26 | International Business Machines Corporation | Determining a number of users allowed to access message based on message objective |
US10367768B2 (en) | 2016-12-07 | 2019-07-30 | Microsoft Technology Licensing, Llc | Messaging system |
Also Published As
Publication number | Publication date |
---|---|
GB201103763D0 (en) | 2011-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10645049B2 (en) | Proxy email server for routing messages | |
US20230015178A1 (en) | Techniques for messaging bot rich communication | |
US10938932B2 (en) | Presenting notifications to a user of a computing device | |
AU2012348048B2 (en) | Contextual and location awareness for device interaction | |
US8301701B2 (en) | Creating dynamic interactive alert messages based on extensible document definitions | |
US20170250935A1 (en) | Techniques for messaging bot app interactions | |
US9584989B2 (en) | System and method for crowd-sourcing mobile messaging spam detection and defense | |
US10447620B2 (en) | Structured communication framework | |
WO2017214212A1 (en) | Dynamic outgoing message modification | |
EP3541025B1 (en) | Techniques for messaging bot rich communication | |
US8886234B2 (en) | Techniques for unified messaging | |
US20150264095A1 (en) | Web service push method and web service push server and web service providing server performing same | |
US20110307565A1 (en) | Group messaging integration system, method and apparatus | |
US20130263014A1 (en) | Method and system for sending an interactive message | |
WO2015143933A1 (en) | Information sending method and information sending apparatus | |
US20230007449A1 (en) | System and method for rich short messaging service | |
US20170329945A1 (en) | Broker-based messaging through sql | |
GB2488976A (en) | Dedicated message reply assistant, selected based upon analysis and classification of incoming message types | |
US20140344372A1 (en) | Embedding actionable content in electronic communication | |
US8788638B2 (en) | Method and arrangement for registering a user | |
US20130137461A1 (en) | Method and apparatus for inserting location data into messages at a communication gateway | |
US20130086485A1 (en) | Bulk Categorization | |
CN113824625B (en) | Information interaction method and device | |
US20230029014A1 (en) | Method and apparatus for providing counseling service | |
EP4393176A1 (en) | A system and method for rich short messaging service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |