WO2015152879A1 - Rule based delayed message delivery - Google Patents

Rule based delayed message delivery Download PDF

Info

Publication number
WO2015152879A1
WO2015152879A1 PCT/US2014/032388 US2014032388W WO2015152879A1 WO 2015152879 A1 WO2015152879 A1 WO 2015152879A1 US 2014032388 W US2014032388 W US 2014032388W WO 2015152879 A1 WO2015152879 A1 WO 2015152879A1
Authority
WO
WIPO (PCT)
Prior art keywords
rule
message
context data
messages
triggered
Prior art date
Application number
PCT/US2014/032388
Other languages
French (fr)
Inventor
Adi Kidron
Oded KERET
Erez Yaary
Original Assignee
Hewlett-Packard Development Company, L.P.
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 Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2014/032388 priority Critical patent/WO2015152879A1/en
Publication of WO2015152879A1 publication Critical patent/WO2015152879A1/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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Definitions

  • Communications sent using such services are delivered in reai time or in near real time allowing senders and recipients to quickly exchange information and engage in conversations.
  • ⁇ 00023 ig. 1 is a block diagram depicting an example environment in which various embodiments may be implemented.
  • [O003J 3 ⁇ 4s. 2 and 3 depict example screen views of use interfaces for interacting with a rule based delayed message delivery system.
  • FIG. 4 is a block diagram depicting an example of a ruie based delayed message delivery system.
  • Fig. 5 is a block diagram depicting a memory resource and a processing resource according to an example.
  • Fig. 8 is a flow diagram depicting actions taken to implement an example.
  • Various examples described below can be used to delay the delivery of messages based on a rule selected by the message sender or the message's intended recipient.
  • the rule is selected to delay message delivery until a time when it is expected to have increased Impact or benefit to the recipient. More specifically, various embodiments described below provide a service thai can queue messages from multiple senders indented for multiple recipients. Each message is associated with a rule thai when triggered causes the message to be delivered via a selected one of a number of possibl messaging services such as email, SMS and the like.
  • COMPONENTS Fig. 1 depicts an example environment 10 in which embodiments may be implemented as rule based delayed message delivery system 12.
  • Environment 10 Is shown to include rule based delayed message delivery system 2, message senders and intended recipients depicted as user devices 14-18, and messaging services depicted as server devices 20-26.
  • Each user device 14-18 represents a computing device configured to communicate with system 12 and send and receive messages via messaging services implemented by server devices 20-28.
  • user devices are depicted as tablet device 14, laptop cornputer 16, and smart phone 18.
  • Server devices 20-26 represent computing devices capable of implementing messaging services for communicating messages between user devices 14-18.
  • a given server device 20-26 may implement multiple messaging services, A given messaging service may require two or more of server devices 20-28.
  • a messaging service refers to any service designed to communicate electronic data between a sender and a recipient via a given communication protocol. Examples include email messages, SMS messages, X PP (Extensible, Messaging & Presence Protocol) messages and the like.
  • Link 28 represents generall any infrastructure or combination of infrastructures, wired and wireless, configured to enable electronic communication between components 28-34.
  • link 38 may represent the internet, one or more intranets, and any intermediate routers, switches, and other interfaces.
  • System 1 represents a combination of hardware and programming configured to implement rule based delayed message delivery. More specifically, system 12 is responsible for receiving or intercepting messages from senders via user devices 14-16, associating each message with a rule, holding each message in a queue until it ' s associated rule is triggered, and then causing that message to be communicated to its intended recipient via a selected messaging service.
  • system 12 may be integrated within one or ail of user devices 14-18, System 12 may be integrated in one or more of server devices 20-26 or anothe server device or user device not shown. System 12 may be distributed across any number of server devices 20-26, user devices 14-18 and other devices not shown.
  • FIGS. 2 and 3 are example screen views depicting a user interface for interacting with a rule based delayed message deliver system such as system 12 of Fig. 1.
  • screen view 30 depicts a user interface of a messaging application including controls 32-38.
  • Control 32 is used to identity intended recipients.
  • Control 34 is used to enter a message, and control 36 is used to cause that message to be immediately delivered via a specified messaging service associated with the messaging
  • Screen view 30 also depicts delayed send control 38 that, in this example, is used to initiate a process fo queuing the message and associating it with a delayed send rule.
  • Selection of control 38 causes the display of the user interface depicted in screen view 40 of Fig. 3,
  • Control 38 may be provided by the developer of the messaging application or it may be an integration supplied by a third party.
  • a user interface for a delayed send application is displayed as depicted in screen view 40 of Fig, 3. in this example, the user interface includes a series of controls 42-50 for selecting or creating a ruie to associate with the message.
  • Time ruie control 42 a!io s the sende to select a time at which the message is to be delivered.
  • Such a rule may, for example be based on a current time fo the sender or intended recipient.
  • Location ruie control 44 allows the sender to specify a rule that delays delivery until location criteria are met. That criteria may require that the sender or intended recipient arrive at or depart from a specified geographic location, in another example, that criteria may require the sender and the intended recipient to be within a specified proximity of one another or that either be in a specified proximity of a third party.
  • ⁇ 00161 Recipient rule control 48 allows the sender to select a rul specified by the intended recipient.
  • a rule may delay the delivery of a message based on the intended recipient's current location or status.
  • a recipient specified rule may indicate that only messages from sender's having a particular relationship with the recipient are to be delivered when the recipient is in a specified location or has a status indicating the recipient is busy, away, or on vacation.
  • a recipient rule may aiso specify a preferred messaging service for use in delivering a message. The preference of service may change based on a relationship with the sender as well as the current time of day, location or status of the recipient.
  • Event rule control 48 allows the sender to select an event, the occurrence of which will trigger the message to be sent.
  • An example includes the occurrence of a meeting or appointment reflected in the sender's, the intended recipient's, or a third party's calendar. The occurrence of a meeting may also be reflected in a sende or intended recipient's caii tog or message data.
  • New rule control 50 allows th sender to create a new rule to be associated with the message.
  • a message can be associated with a single rule or multiple rules selected using controls 42-50. Where multiple rules are used, the rules may be prioritized with respect to one another. In other words, a recipient specified rule may take priority over a time rule selected by the sender. Ultimately, the sender selects schedule control 52 which causes the message to be placed in a queue where it is associated with selected rule or rules. As mentioned with respect to recipient rule control 46, rules selected using the other controls may specify a messaging servic to be used. In other words, rather than sending the message using the service associated with the messaging application of Fig, 2, the message may be forwarded via a different service.
  • each rule specifies context data that is to be used to determine if thai rule is triggered.
  • a time rule wili specify time context data such as the current time of the intended recipient or of the sender.
  • a location rule may specify location context data such as the current geographic location of the intended recipient or sender or the proximity of the intended recipient or sender to a target.
  • Event context data may specify event context data such as a calendar that can be used to track the occurrence of a specified event.
  • FIG. 4 depict examples of physical and logical components for implementing rule based delayed message delivery system 12,
  • various components are identified a engines 56-82. in describing engines 56-82, focus is on each engine's designated function.
  • the term engine refers to a combination of hardware and
  • each engine may include one or both of a processor and a memory device, while the programing is code stored on that memory device and executable by the processor to perform the designated function.
  • Fig. 4 is a block diagram depicting components of aile based delayed message delivery system 12.
  • system 12 includes queue engine 58, tracking engine 58, rule engine 80, and messaging engine 82. in performing their respective functions, engines 58-62 may access data repository 64.
  • Repository 64 represents generally any memory accessible to system 12 to which data can be stored and from which data can be retrieved.
  • Queue engine 56 is configured to maintain a queue of a plurality of messages and to associate each of a plurality of messages with a rule for us in determining when the associated message is to be delivered to its intended recipient.
  • Each rule associated with a message specifies context data for at least one of a sender and an intended recipient of that message.
  • queue engine 56 may use data repository 84. I the example of Fig. 4.
  • repository 64 is depicted to include sender data store 66 for each of a plurality of senders.
  • Sende data store 66 for a given sender includes message queue 68 and rule data 70.
  • Queue engine S6 can then, for each of a plurality of senders, add messages to message queue 88 of sender data store 66 for that sender. Queue engine 56 then associates each message added to message queue 68 with a ruie defined or otherwise specified in rule data 70. Queue engine 56 may then hold each message in its corresponding message queu 68 until it is determined that the message's associated rule is triggered.
  • Queue engine 56 also associates each message with a messaging service via which the message is to be communicated.
  • that associated messaging service may be a messaging service via which the message would have been immediately delivered if not delayed by system 12.
  • An indirect association may be established by queue engine 56 associating the message with t a ruie that specifies a messaging service, in this fashion some messages may be delivered via a messaging service associated with those messages and others rnay be delivered by messaging services specified by associated aiies.
  • Tracking engine 58 is configured to track context data for senders and intended recipients of queued messages, in performing its function, tracking engine 58 may access or otherwise receive relevant context data from the user devices of the senders and intended recipients of queued messages.
  • Context data refers to data reflecting a current context of the subject of a rule.
  • subjects of rules can include the geographic location of a sender or intended recipient, the proximity of a sender and intended recipient to one another, and the proximity of the sender or intended recipient to a third party.
  • Subjects of rules can include the current time of senders and recipients.
  • Subjects can also include the occurrence of scheduled events such as meetings or communications as reflected in a sender or intended recipient's calendar, call logs, and messaging data.
  • tracking engine 58 may store the context data it tracks with respect to a rule associated with a given senders message as tracking data 72.
  • Rule engin 80 is configured to, for each of th plurality of messages, determine if that message's associated rule is triggered. To do so, rule engine 80 processes a message's associated rule against the context data specified by that rule. For example, a location rule may specify that the message is to be sent when its intended recipient leaves home or reaches work. Tracking engine 58 then tracks location context data for the indented recipient storing at data indicative of the intended recipient's current location in tracking data 72. Rule engine 60 then processes the rule by comparing the location specified by the rule with a location of the intended recipient reflected in tracking data 72. When that comparison reveals that the intended recipient has left home or has reached work, rule engine informs messaging engine 62 that the rule is triggered.
  • a location rule may specify that the message is to be sent when its intended recipient leaves home or reaches work.
  • Tracking engine 58 tracks location context data for the indented recipient storing at data indicative of the intended recipient's current location in tracking data 72.
  • Rule engine 60 then processes the rule by comparing the
  • Messaging engine 62 is configured to, for each rule determined by rule engine 80 to be triggered, cause the rule's associated message to be delivered from the queue to its intended recipient via a selected messaging service.
  • Messaging engine 82 can cause delivery by communicating the message to the selected messaging service or otherwise indicating that the message is to be communicated to the selected messaging service for delivery to the intended recipient.
  • Sender data store 66 is aiso shown to include service data store 74 which may be used to associate a message in queue 88 with a messaging service to be used to communicate the message to its intended recipient.
  • Messaging engine 82 may select the messaging service based the message itself , For example, a queued message may be an SMS message, and messaging engine 82 can then select the SMS messaging service that would have been used had the sender not seiected a delayed delivery.
  • Data repository 84 is also shown to include recipient data store 74 for each of a number of intended recipients of messages queued messages maintained by queue engine 56.
  • Recipient data store 74 for a given intended recipient can include recipient rule data 88 and service data 88.
  • Recipient rule data 88 represents recipient specified rules affecting message delivery.
  • Queue engine 56 in maintaining a message queue 88, may examine recipient data store 74 for an intended recipient of a queued message and associate that message with a ruie defined in or otherwise specified by recipient rule data 78 for the intended recipient.
  • a recipient specified rule may take precedence over sender specified rules. For example a recipient may specify a rule to delay th deliver of a message based on the intended recipient's current location or status.
  • Another recipient specified ruie may delay delivery based on the senders identity or relationshi with the intended recipient.
  • a recipient rule may also specify a referred messaging service for use in delivering a message. The preference of service ma change based on a relationship with the sender as well as the location, status, or current time for the recipient.
  • Recipient data store 74 is also shown to include service data 78 representing data for use by messaging engine 82 in forwarding a queued message via an alternate messaging service. Such data may simpl include a messaging address for the recipient, in an example, a sender may send a delayed message to an intended recipient via e-mail.
  • a rule specified by the intended recipient may specify that messages are to b communicated via SMS when the intended recipient is off working hours, in this case service data 78 will include an address messaging engine 82 can use to cause the original email message to be forwarded via an SMS messaging service.
  • FIG. 4 depicts data repository partitioned into separate sender and recipient data stores 66 and 74, it need not be partitions or it may be partitioned in other fashions.
  • repository 84 may include an individual user data store containing data used by system 12 regardless of whether the user is a sender or an intended recipient.
  • Repository may include additional data not shown such as privacy data restricting context data that can be tracked for a given sender or intended recipient.
  • engines 56-58 were described as combinations of hardware and programming. Engines 56-58 may be implemented in a number of fashions. Looking at Fig. 5, the programming may be processor executable instructions stored on tangible memory resource 80 and the hardware may include processing resource 82 for executing those instructions. Thus memory resource 80 can be said to store program instructions that when executed by processing resource 82
  • Memory resource 80 represents generally any number of m emory components capable of storing instructions that can be executed by processing resource 82.
  • Memory resource 80 i non-transitory in the sense that it does not encompass a transitory signal but instead is made up of more or more memory components configured to store the relevant
  • Memory resource 80 may be implemented in a single device or distributed across devices.
  • processing resource 82 represents any number of processors capable of executing instructions stored by memory resource 80.
  • Processing resource 82 ma be integrated in a single device o distributed across devices.
  • memory resource 80 may be full or partially integrated in the same device as processing resource 82, or if may be separate but accessible to that device and processing resource 82. [80313 * n one e ample, the program instructions can be part of an installation package that when installed can be executed by processing resource 82 to implement system 12.
  • memory resource 80 may be a portable medium such as a CD, DVD, or flash drive or a memory maintained by a server from which the installation package can be downloaded and installed, in another example, the program instructions may be part of an application or applications already installed .
  • memory resource 82 can include integrated memory such as a hard drive, solid state drive, or the like.
  • the executable program instructions stored in memory resource 80 are depicted as queue, tracking, rule, and messaging modules 84-90 respectively.
  • Queue module 84, tracking module 86, rule module 88, and messaging module represent program instructions that, when executed, cause processing resource 80 to implement includes queue engine 56, tracking engine 58, rule engine 80, and messaging engine 82 respectively.
  • Fig. 6 is a flow diagram of actions taken to implement a method for rule based delayed message delivery, in discussing Fig. 8, reference may be made directly or indirectly to components depicted in Figs, 1-5. Such reference is made to provide contextual examples and not to limit the manner in which the method depicted b Fig. 8 may be implemented.
  • a queue is maintained for a plurality of messages (block 92 ⁇ .
  • Each queued message is from a one of a plurality of senders and is intended for one of a plurality of recipients.
  • a given message may be intended for multiple recipients.
  • Each message is associated with a rule or rules specified one or both of the message's sender and intended recipient.
  • queue engine 56 may be responsible fo block 92.
  • Queue engine 56 receives messages from the plurality of senders, queues those messages and associates them with corresponding rules.
  • Context data is tracked (block 94),
  • the context data can be for any number of the plurality of senders and any number of the plurality of intended recipients.
  • the tracked context data is specified by any number of the rules associated with the queued messages.
  • tracking engine 58 may be responsible for block 94, Tracking engine 58 may access or otherwise receive the tracking data from a corresponding sender or recipient.
  • a location or time rule may specify context data that includes a geographic position or a local time indicated by a geographic position reported by a sender or intended recipient's smart phone.
  • a location rule may specify context data that includes an indication of proximity between a sender and an intended recipient as reported by eithers smart phone.
  • An event ruie may specify context data that includes the occurrence of a specified event such as a meeting as reflected in a sender or intended recipient's calendar or messaging data and ca!! logs.
  • the message's associated rule is processed against tracked context data specified by that rule to determine if that rule is triggered.
  • a ruie may specify a particular state of a subject of that rule. The rule is triggered, if the specified context data for that subject matches the state specified by the ruie. it is noted that a given rule may specify any number of subjects and
  • a given message may be associated with multiple rules all or any of which may be re uired to be triggered for the message to be released from the queue. Some ru!es may take priorit over others. For example a ruie specified recipient may take precedence over a sender specified rule. A given rule may require that any number of such states be satisfied for the rule to be triggered. For example, a rule may specify a time associated with an intended recipient (such as not before 8:00 AM) and a location associated with the sender (when the sender arrives at work), in this example, the rule may require one or both states be satisfied by tracked context data for the sender and the intended recipient. Referring to Fig, 4, rule engine 80 may be responsible for block 96.
  • Block 98 may also include identifying the selected messaging service.
  • the messaging service may be associated with the queued message or it may be specified by a rule associated with the message. Referring to Fig. 4 S messaging engine 82 may be responsible for block 98.
  • messages associated with triggered ruies may be caused to be delivered vie varying messaging services.
  • the messaging service selected may be indicated by a given message or by a rule associated with thai message.
  • a given message may be intended for muttipie recipients.
  • the rule associated with that message ma be triggered at different times for different recipients. For example, a sender may specify a ruie to deiay delivery unit! a recipient arrives at a location such as a hotel or conference room. Th message may then be caused to be delivered to each intended recipient at different times as t at ruie is triggered with respect to a given one of the intended recipients.
  • FIG. 1 depicts an example environment in which embodiment may be implemented, Implementation is not limited to the example of Fig. 1.
  • Figs. 2 and 3 depict example screen views of user interfaces for interacting delaying message delivery according to a seiected rule. The design of the user interfaces is intended only as an example.
  • Figs. 4-5 aid in depicting the architecture, functionality, and operation of various embodiments.
  • Figs. 4-5 depict various physical and logical components.
  • Various components are defined at least in part as programs or programming. Each such component, portion thereof, or various combinations thereof may represent in whole or in part a module, segment, or portion of code that comprises one or more executable instructions to Implement any specified logical function(s).
  • Each component or various combinations thereof may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).
  • Embodiments can be realized in any memory resource for use by or in connection with processing resource.
  • a ''processing resource is an instruction execution system such as a computer/processor based system or an ASIC (Application Specific integrated Circuit) o other system that can fetch or obtain instructions and data from computer-readable media and execute the instructions contained therein.
  • a "memory resource” is any non- transitory storage media that can contain, store, or maintain programs and data for use by or in connection with the instruction execution system. The term “non-transitory is used onfy to clarify that the term media, as used herein, does not encompass a signal Thus, the memor resource can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable computer-readable media include, but are not limited to, hard drives, solid state drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory, flash drives, and portable compact discs.
  • RAM random access memory
  • FIG. 8 shows a specific order of execution
  • the order of execution may differ from that which is depicted.
  • the order of execution of two o more blocks or arrows may be scrambled relative to the order shown.
  • two or more blocks shown in succession may be executed concurrently or with partial concurrence. Ail such variations are within the scope of the present invention.

Abstract

Rule based delayed message delivery includes maintaining a queue for a plurality of messages from a plurality of senders. Each message is intended for a specified one of a plurality of recipients and is associated with a rule specified by at least one of the sender and the intended recipient of that message. Context data is tracked for a number of the plurality of senders and a number of the plurality of recipients. The tracked context data is specified by a number of the rules. For each of a number of the messages in the queue. The message's associated rule is processed against the tracked context data specified by that rule to determine if the associated rule is triggered. For each rule determined to have been triggered, the rule's associated message is caused to be delivered via a selected messaging service.

Description

RULE BASED DELAYED MESSAGE DELIVERY
BACKGROUND
{0001] individuals have come io rely on multiple messaging services to communicate with others. These include email, SMS, and others.
Communications sent using such services are delivered in reai time or in near real time allowing senders and recipients to quickly exchange information and engage in conversations.
DRAWINGS
{00023 ig. 1 is a block diagram depicting an example environment in which various embodiments may be implemented.
[O003J ¾s. 2 and 3 depict example screen views of use interfaces for interacting with a rule based delayed message delivery system.
[000 3 Fig. 4 is a block diagram depicting an example of a ruie based delayed message delivery system.
{0005} Fig. 5 is a block diagram depicting a memory resource and a processing resource according to an example.
{0008} Fig. 8 is a flow diagram depicting actions taken to implement an example.
DETAILED DESCRIPTION
[0007} INTRODUCTION: Today's messaging services provides for near rea! time communication between a sender and a recipient. The speed allows individuals to quickl exchange information and engage in conversations. While the quick delivery of messages proves beneficial in many instances, iit can also cause headaches. For example, a message recipient may not presently be in a position to act on a message. When the time comes to act, the recipient may have forgotten about the message that is now buried in a list of messages. Existing tools allow messages to be sorted and flagged to draw a recipient's attention. The embodiments below take another approach by timing message delivery to increase a message's impact and usefulness based on factors such as the location, the time of day or the occurrence of a specified event for the sender or intended recipient.
|00O8] Various examples described below can be used to delay the delivery of messages based on a rule selected by the message sender or the message's intended recipient. The rule is selected to delay message delivery until a time when it is expected to have increased Impact or benefit to the recipient. More specifically, various embodiments described below provide a service thai can queue messages from multiple senders indented for multiple recipients. Each message is associated with a rule thai when triggered causes the message to be delivered via a selected one of a number of possibl messaging services such as email, SMS and the like. {00033 COMPONENTS Fig. 1 depicts an example environment 10 in which embodiments may be implemented as rule based delayed message delivery system 12. Environment 10 Is shown to include rule based delayed message delivery system 2, message senders and intended recipients depicted as user devices 14-18, and messaging services depicted as server devices 20-26. Each user device 14-18 represents a computing device configured to communicate with system 12 and send and receive messages via messaging services implemented by server devices 20-28. In this example, user devices are depicted as tablet device 14, laptop cornputer 16, and smart phone 18.
[00103 Server devices 20-26 represent computing devices capable of implementing messaging services for communicating messages between user devices 14-18. A given server device 20-26 may implement multiple messaging services, A given messaging service may require two or more of server devices 20-28. A messaging service, as used herein, refers to any service designed to communicate electronic data between a sender and a recipient via a given communication protocol. Examples include email messages, SMS messages, X PP (Extensible, Messaging & Presence Protocol) messages and the like.
[0011] Components 12-26 are interconnected via link 28. Link 28 represents generall any infrastructure or combination of infrastructures, wired and wireless, configured to enable electronic communication between components 28-34. For example, link 38 may represent the internet, one or more intranets, and any intermediate routers, switches, and other interfaces.
[0012] System 1 , discussed in more detail below, represents a combination of hardware and programming configured to implement rule based delayed message delivery. More specifically, system 12 is responsible for receiving or intercepting messages from senders via user devices 14-16, associating each message with a rule, holding each message in a queue until it's associated rule is triggered, and then causing that message to be communicated to its intended recipient via a selected messaging service.
[0013] While show as a separate component in environment 10. system 12 may be integrated within one or ail of user devices 14-18, System 12 may be integrated in one or more of server devices 20-26 or anothe server device or user device not shown. System 12 may be distributed across any number of server devices 20-26, user devices 14-18 and other devices not shown.
[G014J Figures 2 and 3 are example screen views depicting a user interface for interacting with a rule based delayed message deliver system such as system 12 of Fig. 1. In the example of Fig. 2. screen view 30 depicts a user interface of a messaging application including controls 32-38. Control 32 is used to identity intended recipients. Control 34 is used to enter a message, and control 36 is used to cause that message to be immediately delivered via a specified messaging service associated with the messaging
application. Screen view 30 also depicts delayed send control 38 that, in this example, is used to initiate a process fo queuing the message and associating it with a delayed send rule. Selection of control 38, in this example, causes the display of the user interface depicted in screen view 40 of Fig. 3, Control 38 may be provided by the developer of the messaging application or it may be an integration supplied by a third party.
{001 S] Assuming a sender has identified a recipient, entered a message and selected the delay send control 38, a user interface for a delayed send application is displayed as depicted in screen view 40 of Fig, 3. in this example, the user interface includes a series of controls 42-50 for selecting or creating a ruie to associate with the message. Time ruie control 42 a!io s the sende to select a time at which the message is to be delivered. Such a rule may, for example be based on a current time fo the sender or intended recipient. Location ruie control 44 allows the sender to specify a rule that delays delivery until location criteria are met. That criteria may require that the sender or intended recipient arrive at or depart from a specified geographic location, in another example, that criteria may require the sender and the intended recipient to be within a specified proximity of one another or that either be in a specified proximity of a third party.
{00161 Recipient rule control 48 allows the sender to select a rul specified by the intended recipient. Such a rule may delay the delivery of a message based on the intended recipient's current location or status. Such a ruie ma aiso delay delivery based on the sender's identity or relationship with the intended recipient. For example, a recipient specified rule may indicate that only messages from sender's having a particular relationship with the recipient are to be delivered when the recipient is in a specified location or has a status indicating the recipient is busy, away, or on vacation. A recipient rule may aiso specify a preferred messaging service for use in delivering a message. The preference of service may change based on a relationship with the sender as well as the current time of day, location or status of the recipient.
[Q01?l Event rule control 48 allows the sender to select an event, the occurrence of which will trigger the message to be sent. An example includes the occurrence of a meeting or appointment reflected in the sender's, the intended recipient's, or a third party's calendar. The occurrence of a meeting may also be reflected in a sende or intended recipient's caii tog or message data. New rule control 50 allows th sender to create a new rule to be associated with the message.
{00183 A message can be associated with a single rule or multiple rules selected using controls 42-50. Where multiple rules are used, the rules may be prioritized with respect to one another. In other words, a recipient specified rule may take priority over a time rule selected by the sender. Ultimately, the sender selects schedule control 52 which causes the message to be placed in a queue where it is associated with selected rule or rules. As mentioned with respect to recipient rule control 46, rules selected using the other controls may specify a messaging servic to be used. In other words, rather than sending the message using the service associated with the messaging application of Fig, 2, the message may be forwarded via a different service.
[0019J S is noted, that each rule specifies context data that is to be used to determine if thai rule is triggered. A time rule wili specify time context data such as the current time of the intended recipient or of the sender. A location rule may specify location context data such as the current geographic location of the intended recipient or sender or the proximity of the intended recipient or sender to a target. Event context data may specify event context data such as a calendar that can be used to track the occurrence of a specified event.
[00203 R&s- 4-5 depict examples of physical and logical components for implementing rule based delayed message delivery system 12, In Fig. 4 various components are identified a engines 56-82. in describing engines 56-82, focus is on each engine's designated function. However, the term engine, as used herein, refers to a combination of hardware and
programming configured to perform a designated function. As is illustrated later with respect to Fig, 5, the hardware of each engine, for example, may include one or both of a processor and a memory device, while the programing is code stored on that memory device and executable by the processor to perform the designated function.
[0021] Fig. 4 is a block diagram depicting components of aile based delayed message delivery system 12. In this example, system 12 includes queue engine 58, tracking engine 58, rule engine 80, and messaging engine 82. in performing their respective functions, engines 58-62 may access data repository 64. Repository 64 represents generally any memory accessible to system 12 to which data can be stored and from which data can be retrieved.
|0022] Queue engine 56 is configured to maintain a queue of a plurality of messages and to associate each of a plurality of messages with a rule for us in determining when the associated message is to be delivered to its intended recipient. Each rule associated with a message specifies context data for at least one of a sender and an intended recipient of that message. In performing its function, queue engine 56 may use data repository 84. I the example of Fig. 4. repository 64 is depicted to include sender data store 66 for each of a plurality of senders. Sende data store 66 for a given sender includes message queue 68 and rule data 70. Queue engine S6 can then, for each of a plurality of senders, add messages to message queue 88 of sender data store 66 for that sender. Queue engine 56 then associates each message added to message queue 68 with a ruie defined or otherwise specified in rule data 70. Queue engine 56 may then hold each message in its corresponding message queu 68 until it is determined that the message's associated rule is triggered.
[0023] Queue engine 56 also associates each message with a messaging service via which the message is to be communicated. By default, that associated messaging service may be a messaging service via which the message would have been immediately delivered if not delayed by system 12. An indirect association may be established by queue engine 56 associating the message with t a ruie that specifies a messaging service, in this fashion some messages may be delivered via a messaging service associated with those messages and others rnay be delivered by messaging services specified by associated aiies.
[0024] Tracking engine 58 is configured to track context data for senders and intended recipients of queued messages, in performing its function, tracking engine 58 may access or otherwise receive relevant context data from the user devices of the senders and intended recipients of queued messages. Context data, as used herein, refers to data reflecting a current context of the subject of a rule. In line wiih examples previously described, subjects of rules can include the geographic location of a sender or intended recipient, the proximity of a sender and intended recipient to one another, and the proximity of the sender or intended recipient to a third party. Subjects of rules can include the current time of senders and recipients. Subjects can also include the occurrence of scheduled events such as meetings or communications as reflected in a sender or intended recipient's calendar, call logs, and messaging data. In performing its function, tracking engine 58 may store the context data it tracks with respect to a rule associated with a given senders message as tracking data 72.
[O02S1 Rule engin 80 is configured to, for each of th plurality of messages, determine if that message's associated rule is triggered. To do so, rule engine 80 processes a message's associated rule against the context data specified by that rule. For example, a location rule may specify that the message is to be sent when its intended recipient leaves home or reaches work. Tracking engine 58 then tracks location context data for the indented recipient storing at data indicative of the intended recipient's current location in tracking data 72. Rule engine 60 then processes the rule by comparing the location specified by the rule with a location of the intended recipient reflected in tracking data 72. When that comparison reveals that the intended recipient has left home or has reached work, rule engine informs messaging engine 62 that the rule is triggered.
[Q0281 Messaging engine 62 is configured to, for each rule determined by rule engine 80 to be triggered, cause the rule's associated message to be delivered from the queue to its intended recipient via a selected messaging service. Messaging engine 82 can cause delivery by communicating the message to the selected messaging service or otherwise indicating that the message is to be communicated to the selected messaging service for delivery to the intended recipient. Sender data store 66 is aiso shown to include service data store 74 which may be used to associate a message in queue 88 with a messaging service to be used to communicate the message to its intended recipient. Messaging engine 82 may select the messaging service based the message itself , For example, a queued message may be an SMS message, and messaging engine 82 can then select the SMS messaging service that would have been used had the sender not seiected a delayed delivery.
[0027} Data repository 84 is also shown to include recipient data store 74 for each of a number of intended recipients of messages queued messages maintained by queue engine 56. Recipient data store 74 for a given intended recipient can include recipient rule data 88 and service data 88. Recipient rule data 88 represents recipient specified rules affecting message delivery. Queue engine 56, in maintaining a message queue 88, may examine recipient data store 74 for an intended recipient of a queued message and associate that message with a ruie defined in or otherwise specified by recipient rule data 78 for the intended recipient. A recipient specified rule may take precedence over sender specified rules. For example a recipient may specify a rule to delay th deliver of a message based on the intended recipient's current location or status. Another recipient specified ruie may delay delivery based on the senders identity or relationshi with the intended recipient. A recipient rule may also specify a referred messaging service for use in delivering a message. The preference of service ma change based on a relationship with the sender as well as the location, status, or current time for the recipient. Recipient data store 74 is also shown to include service data 78 representing data for use by messaging engine 82 in forwarding a queued message via an alternate messaging service. Such data may simpl include a messaging address for the recipient, in an example, a sender may send a delayed message to an intended recipient via e-mail. A rule specified by the intended recipient may specify that messages are to b communicated via SMS when the intended recipient is off working hours, in this case service data 78 will include an address messaging engine 82 can use to cause the original email message to be forwarded via an SMS messaging service.
[0028] While Fig. 4 depicts data repository partitioned into separate sender and recipient data stores 66 and 74, it need not be partitions or it may be partitioned in other fashions. For example, repository 84 may include an individual user data store containing data used by system 12 regardless of whether the user is a sender or an intended recipient. Repository may include additional data not shown such as privacy data restricting context data that can be tracked for a given sender or intended recipient.
0029J In the foregoing discussion, engines 56-58 were described as combinations of hardware and programming. Engines 56-58 may be implemented in a number of fashions. Looking at Fig. 5, the programming may be processor executable instructions stored on tangible memory resource 80 and the hardware may include processing resource 82 for executing those instructions. Thus memory resource 80 can be said to store program instructions that when executed by processing resource 82
implements system 12 of Fig. 4.
[0030J Memory resource 80 represents generally any number of m emory components capable of storing instructions that can be executed by processing resource 82. Memory resource 80 i non-transitory in the sense that it does not encompass a transitory signal but instead is made up of more or more memory components configured to store the relevant
instructions. Memory resource 80 may be implemented in a single device or distributed across devices. Likewise, processing resource 82 represents any number of processors capable of executing instructions stored by memory resource 80. Processing resource 82 ma be integrated in a single device o distributed across devices. Further, memory resource 80 may be full or partially integrated in the same device as processing resource 82, or if may be separate but accessible to that device and processing resource 82. [80313 *n one e ample, the program instructions can be part of an installation package that when installed can be executed by processing resource 82 to implement system 12. In this case, memory resource 80 may be a portable medium such as a CD, DVD, or flash drive or a memory maintained by a server from which the installation package can be downloaded and installed, in another example, the program instructions may be part of an application or applications already installed . Here, memory resource 82 can include integrated memory such as a hard drive, solid state drive, or the like.
{00323 In Fig. 5, the executable program instructions stored in memory resource 80 are depicted as queue, tracking, rule, and messaging modules 84-90 respectively. Queue module 84, tracking module 86, rule module 88, and messaging module represent program instructions that, when executed, cause processing resource 80 to implement includes queue engine 56, tracking engine 58, rule engine 80, and messaging engine 82 respectively.
[00333 OPERATION: Fig. 6 is a flow diagram of actions taken to implement a method for rule based delayed message delivery, in discussing Fig. 8, reference may be made directly or indirectly to components depicted in Figs, 1-5. Such reference is made to provide contextual examples and not to limit the manner in which the method depicted b Fig. 8 may be implemented.
[0034} A queue is maintained for a plurality of messages (block 92}. Each queued message is from a one of a plurality of senders and is intended for one of a plurality of recipients. A given message may be intended for multiple recipients. Each message is associated with a rule or rules specified one or both of the message's sender and intended recipient.
Referring to Fig, 4, queue engine 56 may be responsible fo block 92.
Queue engine 56 receives messages from the plurality of senders, queues those messages and associates them with corresponding rules.
[0035} Context data is tracked (block 94), The context data can be for any number of the plurality of senders and any number of the plurality of intended recipients. The tracked context data is specified by any number of the rules associated with the queued messages. Referring to Fig, 4, tracking engine 58 may be responsible for block 94, Tracking engine 58 may access or otherwise receive the tracking data from a corresponding sender or recipient. A location or time rule may specify context data that includes a geographic position or a local time indicated by a geographic position reported by a sender or intended recipient's smart phone. A location rule may specify context data that includes an indication of proximity between a sender and an intended recipient as reported by eithers smart phone. An event ruie may specify context data that includes the occurrence of a specified event such as a meeting as reflected in a sender or intended recipient's calendar or messaging data and ca!! logs.
|0038] For each of a number of messages in the queue, the message's associated rule is processed against tracked context data specified by that rule to determine if that rule is triggered. For example, a ruie may specify a particular state of a subject of that rule. The rule is triggered, if the specified context data for that subject matches the state specified by the ruie. it is noted that a given rule may specify any number of subjects and
corresponding states. A given message may be associated with multiple rules all or any of which may be re uired to be triggered for the message to be released from the queue. Some ru!es may take priorit over others. For example a ruie specified recipient may take precedence over a sender specified rule. A given rule may require that any number of such states be satisfied for the rule to be triggered. For example, a rule may specify a time associated with an intended recipient (such as not before 8:00 AM) and a location associated with the sender (when the sender arrives at work), in this example, the rule may require one or both states be satisfied by tracked context data for the sender and the intended recipient. Referring to Fig, 4, rule engine 80 may be responsible for block 96.
[0037} For each rule determined to have been triggered, the rule's associated message is caused to be delivered via a selected messaging service {block 98). Block 98 may also include identifying the selected messaging service. The messaging service may be associated with the queued message or it may be specified by a rule associated with the message. Referring to Fig. 4S messaging engine 82 may be responsible for block 98.
[0038] This as the method depicted in Fig. Θ is processed, messages associated with triggered ruies may be caused to be delivered vie varying messaging services. The messaging service selected may be indicated by a given message or by a rule associated with thai message. A given message may be intended for muttipie recipients. The rule associated with that message ma be triggered at different times for different recipients. For example, a sender may specify a ruie to deiay delivery unit! a recipient arrives at a location such as a hotel or conference room. Th message may then be caused to be delivered to each intended recipient at different times as t at ruie is triggered with respect to a given one of the intended recipients.
(00393 CONCLUSION: FIG. 1 depicts an example environment in which embodiment may be implemented, Implementation is not limited to the example of Fig. 1. Figs. 2 and 3 depict example screen views of user interfaces for interacting delaying message delivery according to a seiected rule. The design of the user interfaces is intended only as an example. Figs. 4-5 aid in depicting the architecture, functionality, and operation of various embodiments. In particular, Figs. 4-5 depict various physical and logical components. Various components are defined at least in part as programs or programming. Each such component, portion thereof, or various combinations thereof may represent in whole or in part a module, segment, or portion of code that comprises one or more executable instructions to Implement any specified logical function(s). Each component or various combinations thereof may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).
{00403 Embodiments can be realized in any memory resource for use by or in connection with processing resource. A ''processing resource" is an instruction execution system such as a computer/processor based system or an ASIC (Application Specific integrated Circuit) o other system that can fetch or obtain instructions and data from computer-readable media and execute the instructions contained therein. A "memory resource" is any non- transitory storage media that can contain, store, or maintain programs and data for use by or in connection with the instruction execution system. The term "non-transitory is used onfy to clarify that the term media, as used herein, does not encompass a signal Thus, the memor resource can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable computer-readable media include, but are not limited to, hard drives, solid state drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory, flash drives, and portable compact discs.
[00411 Although the flow diagram of Fig, 8 shows a specific order of execution, the order of execution may differ from that which is depicted. For example, the order of execution of two o more blocks or arrows may be scrambled relative to the order shown. Also, two or more blocks shown in succession may be executed concurrently or with partial concurrence. Ail such variations are within the scope of the present invention,
[00421 The present invention has been shown and described with reference to the foregoing exemplary embodiments, it is to be understood, however, that other forms, details and embodiments may be made without departing from the spirit and scope of the invention that is defined in the following claims.

Claims

What is claimed is: 1, A ruie based delayed message delivery method, comprising; maintaining a queue for a plurality of messages from a plurality of senders, each message intended for a specified one of a piura!ity of recipients and associated with a ruie specified by at least one of the sender and the intended recipient of that message;
tracking context data fo a number of the plurality of senders and a number of ihe plurality of recipients, the tracked context data specified by a number of the rules;
for each of a number of the messages in the queue, processing the message's associated rule against the tracked context data specified by that rule to determine if the associated rule is triggered; and
for each ruie determined to have been triggered, causing th rule's associated message to be delivered via a selected messaging service,
2, The method of Claim 1 , wherein causing comprises;
for a fist of the number of the rules determined to be triggered, causing the first rule's associated message to be delivered via a first messaging service selected from a plurality of messaging services; and for a second of the number of the rules determined to be triggered, causing the second rule's associated message to be delivered via a second messaging service selected from the plurality of messaging services, the second messaging service being different from the first messaging service,
3, The method of Claim 1 , comprising for each of a number of the rules determined to have been triggered, seiecting the messaging service to which the rule's associated message is to be delivered according to at least one of:
a messaging service indicated by thai message; and
a messaging service indicated b the triggered rule.
4. The method of Claim 1 , wherein:
a particular one of the maintained piuraiiiy of messages is intended for multiple ones of the plurality of recipients;
tracking comprises tracking context data for each of the multiple ones of the plurality of red pients;
processing comprises, for each of the multiple ones of the plurality of recipients, processing the particular message's associated rul against the context data tracked for that recipient to determine if the associated ruie is triggered for that recipient; and
causing comprises, for each of the multiple ones of the plurality of recipients causing the particular message to be sent to that recipient only upon a determination that the particular message's associated rule has been triggered for that reci ient.
5. The method of Claim 1. wherein:
a first one of the plurality of messages is associated with a location rule, a second one of the plurality of messages is associated with a time based rule, and a third one of the plurality of messages is associated with an event ruie;
tracking comprises tracking location context data for at least one of the sender and the intended recipient of the first message, tracking time context data for at least one of a sender and an intended recipient of the second message, and tracking event context data for at least one of a sender and an intended recipient of the third message;
processing comprises processing the location rule against the location context data, processing the time rule against the time context data, and processing the event ruie against the event context data; and
for each of the location, time, and event rules determined to have been triggered, causing the rule's associated message to be delivered via a selected messaging service.
6. A memory resource storing instructions that when executed cause a processing resource to implement a system for rule based delayed message delivery, the instructions comprising:
a tracking modu!e executable to track context data for intended recipients of a plurality queued messages, each queued message originating from one of a plurality of senders and associated with a rule, the tracked context data specified by a number of the rules;
a rule module executable to, for each of the plurality of queued messages, processing the message's associated rule against tracked context data specified by that rule to determine if the rule is triggered;
a messaging module executable to, for each rule determined to have been triggered, causing the triggered rule's associated message to be communicated to its Intended recipient.
7. The memory resource of Claim 6, further comprising a queue module executable to associate, within a queue, each of the plurality of messages with a rule, each rule being specified by at least one of a sender of th rule's associated message and an intended recipient of that message.
8. The memory resource of Claim 8, wherein:
the plurality of queued messages include at least one of a first message associated with a location rule specifying location context data, a second message associated with a time rule specifying time context data. and a third message is associated with an event rule specifying event context data;
the tracking module is executable to track location, time, and event context data for a number of the intended recipients; and
the rule module is executable to process rules specifying tracked location, time, and event context data against that context data to determine which, if any, of those rules are triggered.
9. The memory resource of Claim 8, wherein the rule module is executable to:
process the location ruie by comparing a location specified by the location rule with a location indicated by tracked location context data; process the time rule by comparing a time specified by the time ruie with a location indicated by tracked time context data;
process the event ruie by comparing an event specified by the location ruie with an event indicated by tracked event context data.
The memory resource of Claim 6, wherein the messaging module is executable to, for each of a number of the rules determined to be triggered, select a messaging service via which the triggered rule's associated message is to be delivered based on at least one of the triggered rule, the message, and a ruie specified by the intended recipient.
11. A ruie based message delivery system comprising:
a queue engine configured to maintain a queue of a plurality of messages and associate each of a plurality of messages with a rule for use in determining when the associated message to be deiivered to an intended recipient, each associated rule specifying context data for at least one of a sender and an intended recipient;
a rule engine configured to, for each of the plurality of messages, determine if that message's associated rule is triggered by processing that associated rule against the context data specified by the associated rule; a messaging engine configured to, for each rule determined to be triggered, cause the rule's associated message to be deiivered from the queue to its intended recipient via a selected messaging service,
12. The system of Claim 11 , wherein:
the queue engine is configured to: associate each of a first number of the plurality of messages with a messaging service via which the message is to be delivered;
associate each of a second number of the plurality of messages with a rule configured to be processed against context data to identify a messaging service via which thai rule's associate message is to be delivered,
the messaging engine is configured to:
for each triggered rule associated with one of the first number of the plurality of messages, cause that rule's associated message to be communicated via the messaging service associated with that message; and
for each triggered rule associated with one of the second number of the plurality of messages, cause that rule's associated message for be delivered via a messaging service identified by the processing of that rule,
13. The system of Claim 11 , wherein the queue engine is configured to associate each of a number of the messages with a ruie specified by at least one of a sender and an intended recipient of that message.
14. The system of Claim 11 , comprising a tracking engine configured to, for each of a number of the plurality of messages, track context data specified by the ruie associated with that message, context data specified by each rule being for at least one of a sender and an intended recipient of that rules associated message, 5. The system of Claim 14, wherein the rules associated with the plurality of messages include at ieast one of a location rule specify ing location context data, a time rule specifying time context data, and an event rule specifying event context data .
PCT/US2014/032388 2014-03-31 2014-03-31 Rule based delayed message delivery WO2015152879A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2014/032388 WO2015152879A1 (en) 2014-03-31 2014-03-31 Rule based delayed message delivery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/032388 WO2015152879A1 (en) 2014-03-31 2014-03-31 Rule based delayed message delivery

Publications (1)

Publication Number Publication Date
WO2015152879A1 true WO2015152879A1 (en) 2015-10-08

Family

ID=54241011

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/032388 WO2015152879A1 (en) 2014-03-31 2014-03-31 Rule based delayed message delivery

Country Status (1)

Country Link
WO (1) WO2015152879A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019152198A1 (en) * 2018-02-02 2019-08-08 Microsoft Technology Licensing, Llc Delaying sending and receiving of messages
WO2019182838A1 (en) * 2018-03-22 2019-09-26 Microsoft Technology Licensing, Llc Contextual message delivery

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493692A (en) * 1993-12-03 1996-02-20 Xerox Corporation Selective delivery of electronic messages in a multiple computer system based on context and environment of a user
US20090150489A1 (en) * 2007-12-10 2009-06-11 Yahoo! Inc. System and method for conditional delivery of messages
KR20100019046A (en) * 2008-08-08 2010-02-18 김영훈 A message delivery system and a method
US20110289162A1 (en) * 2010-04-02 2011-11-24 Furlong Wesley J Method and system for adaptive delivery of digital messages
KR20120034907A (en) * 2010-10-04 2012-04-13 에스케이플래닛 주식회사 System and method for transmitting message conditionally

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493692A (en) * 1993-12-03 1996-02-20 Xerox Corporation Selective delivery of electronic messages in a multiple computer system based on context and environment of a user
US20090150489A1 (en) * 2007-12-10 2009-06-11 Yahoo! Inc. System and method for conditional delivery of messages
KR20100019046A (en) * 2008-08-08 2010-02-18 김영훈 A message delivery system and a method
US20110289162A1 (en) * 2010-04-02 2011-11-24 Furlong Wesley J Method and system for adaptive delivery of digital messages
KR20120034907A (en) * 2010-10-04 2012-04-13 에스케이플래닛 주식회사 System and method for transmitting message conditionally

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019152198A1 (en) * 2018-02-02 2019-08-08 Microsoft Technology Licensing, Llc Delaying sending and receiving of messages
US20190245820A1 (en) * 2018-02-02 2019-08-08 Microsoft Technology Licensing, Llc Delaying sending and receiving of messages
US10728199B2 (en) 2018-02-02 2020-07-28 Microsoft Technology Licensing, Llc Delaying sending and receiving of messages
WO2019182838A1 (en) * 2018-03-22 2019-09-26 Microsoft Technology Licensing, Llc Contextual message delivery
US10992607B2 (en) 2018-03-22 2021-04-27 Microsoft Technology Licensing, Llc Contextual message delivery

Similar Documents

Publication Publication Date Title
US11388208B2 (en) Virtual agent communication for electronic device
US10620785B2 (en) Device for displaying electronic communications received from communications services
US8909724B2 (en) Performing actions in response to message notifications
US20150178626A1 (en) Method for predicting reactiveness of users of mobile devices for mobile messaging
US10361983B2 (en) Message queue manager
US20200004877A1 (en) Methods and systems for intelligent automated task assessment and list generation
US20160117202A1 (en) Prioritizing software applications to manage alerts
US9882849B2 (en) Action assignment and tracking functionality for email
KR101361265B1 (en) Method of alerting of mobile terminal using a plarality of alert modes and mobile terminal thereof
US9565300B2 (en) Prioritizing multiple callers with a suggested time for a caller to call back
US10728199B2 (en) Delaying sending and receiving of messages
US20160173422A1 (en) Message delivery via preferred communications applications
US9942732B2 (en) Triggering actions with mobile messages
WO2015152879A1 (en) Rule based delayed message delivery
US20200382367A1 (en) Systems and methods for configuring a device action based on one or more events
US9699121B2 (en) Instant text message conductor
US9992033B2 (en) Selection of communication channel based on channel selection data
US20140173000A1 (en) System and method for handling message delivery
US11864067B2 (en) Systems and methods for sending and receiving messages as reminders
US20170041283A1 (en) Prioritizing and handling of messages across multiple communication systems
WO2014178819A1 (en) Recording unstructured events in context
US20080258908A1 (en) Systems and Methods for Communications Activity Status
CN103970600A (en) General notification system and notification sending method for program scheduling as well as scheduling method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14888265

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase
122 Ep: pct application non-entry in european phase

Ref document number: 14888265

Country of ref document: EP

Kind code of ref document: A1