US20190050821A1 - Reminder Creation for Tasks Associated with a User Event - Google Patents

Reminder Creation for Tasks Associated with a User Event Download PDF

Info

Publication number
US20190050821A1
US20190050821A1 US16/025,636 US201816025636A US2019050821A1 US 20190050821 A1 US20190050821 A1 US 20190050821A1 US 201816025636 A US201816025636 A US 201816025636A US 2019050821 A1 US2019050821 A1 US 2019050821A1
Authority
US
United States
Prior art keywords
event
information
reminder
request
task
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.)
Abandoned
Application number
US16/025,636
Inventor
Swapnil Dave
Devrim Varoglu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Priority to US16/025,636 priority Critical patent/US20190050821A1/en
Publication of US20190050821A1 publication Critical patent/US20190050821A1/en
Abandoned legal-status Critical Current

Links

Images

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/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment
    • 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/109Time management, e.g. calendars, reminders, meetings or time accounting
    • 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/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1095Meeting or appointment
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • G08B21/24Reminder alarms, e.g. anti-loss alarms

Definitions

  • This disclosure relates generally to the generation of reminders by a device in accordance with an identified user event. More particularly, the disclosure relates to the generation of multiple inter-related reminders for tasks associated with an event.
  • Devices such as mobile phones, personal music players, tablet computers, and other similar devices have become an integral part of many users' lives. Because such devices are so commonly in the possession of a user, they are often utilized to provide reminders for upcoming events to a user. For example, a user may configure reminders for future events (e.g., a doctor's appointment, a meeting, a flight, etc.) such that the user will be provided with a notification as the event approaches. Notifications generated by these existing applications occur based on fixed trigger conditions provided by a user. That is, a reminder may be configured to occur at a specified time or when the user arrives at a specified location.
  • future events e.g., a doctor's appointment, a meeting, a flight, etc.
  • Notifications generated by these existing applications occur based on fixed trigger conditions provided by a user. That is, a reminder may be configured to occur at a specified time or when the user arrives at a specified location.
  • existing reminder applications merely notify a user when the specified trigger conditions are satisfied and are incapable of adjusting to changes in the underlying event for which the reminder was configured.
  • many types of events may be associated with multiple tasks for which the user would desire a notification (e.g., a notification to obtain a dinner reservation, a notification to depart for the restaurant, etc.)
  • a user may typically create a single reminder having a single trigger condition for an event. It would therefore be desirable to provide an application with an awareness of the tasks associated with different types of events and that was capable of identifying changes in event conditions and, in response, modify the trigger conditions for one or more reminders related to the event.
  • a method is provided to identify a user event and to generate one or more task-based reminders associated with the user event based on the type of the event and underlying conditions of the event.
  • the method may include receiving, at a device, information that is representative of the user event. Based on the received information, a type of event may be determined. One or more tasks that are associated with the determined type of event may then be identified, and each of the tasks may be associated with a reminder having presentation conditions that are based on information specific to the task. The information that is specific to each of the tasks may be retrieved by the device and the reminder associated with each task may be presented based on the task-specific information.
  • the method may be embodied in program code and stored on a non-transitory storage medium. The stored program code may be executed by a processor that is part of, or controls, the device.
  • FIG. 1 is a flowchart that illustrates an operation to generate one or more reminders in accordance with one embodiment.
  • FIG. 2 is a block diagram that illustrates the interactions of an event analysis engine in accordance with one embodiment.
  • FIG. 3 is a block diagram that illustrates the components of an event analysis engine in accordance with one embodiment.
  • FIG. 4 illustrates example reminders associated with a user event in accordance with one embodiment.
  • FIG. 5 is a block diagram of an illustrative electronic device in accordance with one embodiment.
  • This disclosure pertains to systems, methods, and computer readable media for identifying a user event and creating reminders for various tasks associated with the user event.
  • techniques are disclosed for identifying a user event, determining the type of the event, identifying one or more tasks associated with the event, and generating reminders for the tasks associated with the event.
  • changes to aspects of the event may be detected and, based on those changes, the generated reminders may be modified.
  • reminder creation operation 100 may begin when information representing a user event is received by an event analysis engine executing on the user's device (block 105 ).
  • the event analysis engine may function as a stand-alone application or may be integrated with the device's operating system.
  • the received information may be representative of any type of event for which the user may desire to receive one or more reminders.
  • the user event may be a meeting, a dinner, a scheduled flight, a doctor's appointment, etc.
  • the event analysis engine may receive information describing the event in a number of different manners.
  • the information may be received based on direct user input. For example, the user may request that the device generate a reminder for an upcoming appointment.
  • the request may be received as a voice command, text input, menu selection, or other input recognizable by the device.
  • the information may be received based on the utilization of an application executing on the device. For example, the user may purchase a movie ticket utilizing an application on the device and the event analysis engine may retrieve information describing the purchase from the application and may determine that the information is representative of an event for which the user may desire the generation of a reminder.
  • the information may be received based on a communication received or transmitted by the device. For example, an email from an airline confirming a flight reservation may be retrieved by the event analysis engine and the event analysis engine may determine that the communication is representative of an event for which the user may desire the generation of a reminder.
  • the type of event may be determined by the event analysis engine (block 110 ).
  • the event analysis engine may utilize the received information to determine whether it is representative of a type of event from a group of predefined event types. Such predefined event types may include doctor's appointments, business meetings, dinners, movies, etc.
  • the event analysis engine may extract data from the received information to determine the type of event. For example, information from a received email that is identified as corresponding to a known airline confirmation email address may be utilized to determine that the received information is representative of a scheduled flight event type. Similarly, payment information received from an application that corresponds to a movie theater may be utilized to determine that the payment information is representative of a movie event type.
  • the event analysis engine may request information from the user to determine an event type. For example, upon receiving information that is potentially associated with a user event, the event analysis engine may present some or all of the information to the user and may then prompt the user to indicate whether the information is associated with an event for which a reminder should be generated, and, if so, to specify the type of event.
  • Additional information related to the event may be retrieved based on the determined type of event (block 115 ).
  • the determined type of event may be associated with the generation of reminders for tasks related to the event. For example, an event identified as a dinner event without a confirmed reservation may be associated with a reminder to obtain a reservation (if the restaurant accepts reservations) or to call ahead and be placed on a waiting list (if the restaurant accepts call-ahead seating), a reminder to depart for the restaurant (e.g., based on a desired dinner time, the user's location, the location of the restaurant, traffic, etc.), a reminder associated with available parking (e.g., presented as the user approaches the location of the restaurant), etc.
  • the received information i.e., the information received at block 105 .
  • the information received at block 105 may be determined that a received email includes information for a dinner reservation type of event and identifies all of the information necessary to create task reminders for the determined event type (e.g., the time of the reservation, the name of the restaurant, and the location of the restaurant).
  • information contained within the received information may be utilized to retrieve the additional information necessary to create task-based reminders for the determined event type.
  • an airline, reservation date, and flight number may be extracted from information retrieved from an application on the user's device utilized to make a reservation for a flight.
  • the airline, date, and flight number may then be utilized to retrieve the additional information necessary to create task-based reminders for the flight event (e.g., domestic/international flight, departure airport and time, arrival airport and time, connecting flights, etc.).
  • the additional required information may be retrieved either directly or indirectly by the event analysis engine.
  • the event analysis engine may submit a direct request for the desired information to a web server associated with an airline or may request the information indirectly through an application installed on the user's device (e.g., a travel management application).
  • the event type may be identifiable from the received information but information necessary to create the task-based reminders associated with the determined event type (or to retrieve the necessary information) may be absent in the received information.
  • the event analysis engine may prompt the user to provide the necessary information for the determined event type (or information that would allow the analysis engine to retrieve the necessary information).
  • the retrieved information may be utilized in the content of task-based reminders and to calculate target reminder conditions (i.e., target conditions for the presentation of the reminder) for the task-based reminders associated with the event.
  • reminders may be created for multiple tasks based on the type of event (block 120 ).
  • reminders for tasks associated with a scheduled flight may include a general reminder to be presented a certain time period prior to the scheduled departure time, a reminder to depart for the airport, a reminder to proceed to the appropriate gate (presenting the most current departure gate information) when the user arrives at the departure airport, a reminder to proceed to the appropriate baggage claim location (presenting the most current baggage claim information) when the user arrives at the destination airport, and/or any other appropriate reminders.
  • reminders for tasks associated with a dinner event may include a reminder to call the restaurant before the desired dinner time to be placed on a wait list (the timing for such a reminder may be based on historical wait times for the restaurant based on the day of the week for the dinner event) and a reminder to depart for the restaurant.
  • the event analysis engine may monitor changing conditions in order to calculate target conditions (e.g., timing, location, etc.) for the presentation of the reminders (block 125 ).
  • Target conditions for some tasks may be based solely on static properties. For example, a general reminder for a flight may be presented a predetermined time period prior to the flight departure time (e.g., 24 hours prior to the original scheduled departure time regardless of variations in the estimated actual departure time). These types of reminders may be created with a fixed time and may not be subject to changing conditions. However, other target reminder conditions may be based solely on dynamic properties or on a combination of static and dynamic properties and may therefore need to be updated according to current information.
  • a reminder that presents gate information may be based solely on the arrival of the user at the airport (i.e., a dynamic location property).
  • a reminder may be created with no associated time and may be presented when the tracked dynamic condition matches the target condition (e.g., the device is located within a certain range of a coordinate corresponding to the airport).
  • the calculation of target reminder conditions for a reminder to begin driving to the airport to catch a domestic flight may be based on a static property that describes a recommended time of arrival prior to a domestic flight departure time (e.g., one hour) and dynamic properties that describe a current departure time for the flight, the device location, and a travel time based on traffic conditions between the device location and the airport.
  • the dynamic properties utilized to calculate target conditions for a particular task may be based on device parameters or may be retrieved from a remote source. For example, many electronic devices on which the event analysis engine may be executed regularly identify their location and store the identified location as a device parameter. Accordingly, device location and other similar dynamic properties may be retrieved as a local device parameter. Other dynamic properties utilized to calculate target reminder conditions may be retrieved from a remote source. For example, a departure time for a scheduled flight may be retrieved from an application executing on a remote server device that is regularly updated to provide estimated flight departure times (e.g., a web server operated by an airline or a travel management organization).
  • estimated flight departure times e.g., a web server operated by an airline or a travel management organization
  • a travel time may be retrieved from an application executing on a remote server device that provides estimated travel times between given locations based on current or historical traffic conditions.
  • the event analysis engine may retrieve dynamic properties from remote sources either directly or indirectly. For example, the event analysis engine may request the information directly from the remote source or may request the information though an application executing on the device (which thereafter retrieves the information from the remote source).
  • the dynamic properties necessary to calculate target reminder conditions may be retrieved more frequently as existing conditions approach the target conditions (e.g., device location or time).
  • the target conditions associated with a particular reminder may be tied to the completion of a prior task associated with the event (e.g., the arrival at a destination location associated with a first task may trigger the presentation of a reminder associated with a subsequent task).
  • the reminder for the particular task may be presented on a display element of the device.
  • a notification e.g., an audible tone
  • the notification may be repeated according to a predefined frequency (e.g., every five minutes) until the task upon which the reminder is based is completed (block 130 ). For certain reminders, it may be determined that a task has been completed when the user acknowledges the reminder for the task.
  • a task For other reminders, it may be determined that a task has been completed when a certain activity in accordance with the task is recognized (e.g., the device location moves towards a destination location associated with the task).
  • the completion conditions associated with a particular task may be updated (similarly to the target reminder conditions) based on changing retrieved information associated with the task.
  • reminder creation operation 100 a recognized user event may be separated into individual tasks and reminders may be created for the individual tasks and presented based on current conditions.
  • event analysis engine 200 receives information representative of a user event, determines a type of event, retrieves information pertaining to the event according to the determined type, generates task-based reminders based on the type of event, and monitors changing conditions in order to update the presentation of generated reminders.
  • event analysis engine 200 may receive information from and provide information to other entities, both internal and external to the device on which event analysis engine 200 executes.
  • information representative of a user event may be received by event analysis engine 200 based on a direct user input 205 , user communications 210 received by or initiated from the device (e.g., emails, short message service (SMS) text messages, instant messages, social network messages, etc.) or the utilization of device applications (e.g., calendar application 215 , reminder application 220 , or other third party applications 225 ).
  • event analysis engine 200 may regularly request information from device communication and other applications executing on the device. Once it has been determined that received information represents an event of a particular type, additional information may be requested by event analysis engine 200 in order to construct one or more task-based reminders.
  • This information may be retrieved by prompting the user to provide additional information 205 , by requesting the information from another application executing on the device ( 215 , 220 , and 225 ), by querying a website 235 using known information, etc.
  • event analysis engine 200 may continue to retrieve information to update the reminders.
  • Such information may include location information 230 , information retrieved from a website 235 associated with the event, and information retrieved from another application 225 executing on the device.
  • the reminders may be presented to the user of the device as an output from event analysis engine 200 to a calendar application 215 , a reminder application 220 , an alarm application 240 , or another similar application on the device.
  • information 305 representative of a user event is received by event analysis engine 200 .
  • Information 305 may initially be processed using type detector engine 310 of event analysis engine 200 .
  • Type detector engine 310 may include a data store that maintains records that relate different types of predetermined events to information representing the types of events.
  • the data store may contain an entry for a “movie” event that includes keywords that may be extracted from a communication confirming the purchase of tickets for a movie, identifiers of theaters or other parties that are known to be included in payment processing information (which may be received by event analysis engine 200 ) related to the purchase of movie tickets, and/or designations used by software applications related to the purchase and/or electronic delivery of movie tickets.
  • data may be extracted from information 305 and processed by type detector engine 310 in order to identify a type of event that information 305 represents.
  • Event type engine 315 may include a data store that relates event types to one or more tasks associated with the event type.
  • event type engine 315 may identify information that needs to be retrieved in order to create task-based reminders for the specified tasks and the conditions that must be satisfied before a task is to be identified as complete.
  • the data store associated with event type engine 315 may identify a “general” reminder and a “depart for theater” reminder for a movie event type and may identify the information necessary to provide content and to calculate target conditions for such reminders as the movie name, the device location, the theater location, the movie start time, the drive time between the device location and the theater location (e.g., based on current or historical traffic conditions) and the amount of time prior to the start of the movie that the user should arrive at the theater.
  • the data store may additionally provide algorithms for calculating target conditions (i.e., the target time, location, etc. that a reminder is presented) for the specified task-based reminders using the retrieved information.
  • event type engine 315 may identify a full set of tasks that may apply for a particular event type and the retrieved information may be utilized to determine which of the tasks apply for a specific event. For example, a dinner event type may be associated with a reminder to call a certain time period prior to the scheduled event in order to obtain a reservation for restaurants that accept reservations. However, the reminder may not be valid for a restaurant that does not accept reservations. In another embodiment, certain reminders may be contingent upon the calculated reminder time of another reminder.
  • the properties of the particular event may determine which of the set of reminders associated with the determined event type (as identified by event type engine 315 ) apply to a particular event.
  • the data store associated with event type engine 315 may additionally include information related to alternative options for a particular event. For example, if a user is unable to secure reservations at a desired restaurant, the event analysis engine may generate a reminder to call other restaurants (provided by event type engine 315 ) of a similar type and at a similar location.
  • Information 305 and the list of required information needed to generate the task-based reminders identified by event type engine 315 may be passed to information retrieval engine 320 ( 335 ).
  • Information retrieval engine 320 may be utilized to obtain information needed to generate the reminders identified by event type engine 315 . As described briefly above, some or all of the information needed to generate the identified task-based reminders may be included in information 305 . Therefore, information retrieval engine 320 may be configured to extract information identified by event type engine 315 from information 305 . In many cases, however, information 305 will not contain all of the required information identified by event type engine 315 .
  • information retrieval engine 320 may be configured to prompt the user of device 300 for the required information (or information necessary to retrieve the required information) or to interact with other applications executing on device 300 or directly with a remote source via a network connection of device 300 to obtain the required information.
  • the network connection may take any form including, but not limited to, a local area network (LAN), a wide area network (WAN) such as the Internet or a combination of local and wide-area networks.
  • LAN local area network
  • WAN wide area network
  • the network may use any desired technology, or combination of technologies (wired, wireless or a combination thereof) and protocol (e.g., transmission control protocol, TCP).
  • information retrieval engine 320 may include a data store that maintains records that guide the information retrieval process.
  • the data store may describe a source (e.g., local application, third party website, local device parameter, etc.) to be utilized to obtain information of a certain type.
  • the data store may define the structure of a request and any additional information to be included in such a request so as to obtain the specified type of information from the particular source. For example, in response to an indication from event type engine 315 that departure time information is needed to construct one or more task-based reminders for a flight event, information retrieval engine 320 may identify a departure time record in the data store.
  • the departure time record may indicate that the source from which departure time information can be obtained is dependent upon airline information and that any request for departure time information will include flight number and flight date information. If any of the airline, flight number, or flight date information is not known by information retrieval engine 320 (e.g., has not been extracted from information 305 ), records for those information types may be identified in the data store. Such records may indicate a source for obtaining those types of information (e.g., a user prompt having a certain structure). Upon receiving the airline, flight number, and flight date information, the source and structure of a request to be utilized to obtain the departure time information may be retrieved from the data store.
  • the data store may indicate that, for the particular identified airline, a request including the flight number and flight date should be presented to a particular website associated with the airline. Therefore, upon receipt from event type engine 315 of information 305 and a list of information required to generate task-based reminders for the event represented by information 305 , information retrieval engine 320 may obtain the required information from various sources.
  • reminder/update engine 325 may utilize algorithms for the task-based reminders identified by event type engine 315 in addition to the information provided by information retrieval engine 320 to calculate target reminder conditions for the task-based reminders. Moreover, reminder/update engine 325 may request updated information from information retrieval engine 320 in order to update the content and target reminder conditions for the identified task-based reminders. As noted above, the update frequency for the calculation of target reminder conditions may be increased as current conditions (e.g., current location or time) approach the target reminder conditions. This update frequency may be controlled by reminder/update engine 325 . In addition, reminder/update engine 325 may be responsible for utilizing the completion properties provided by event type engine 315 to identify a particular task as completed.
  • reminder/update engine 325 may interface with a reminder application executing on device 300 to create the task-based reminders. That is, reminder/update engine 325 may provide reminder content information (e.g., a restaurant phone number, flight gate status, etc.) as well as target reminder conditions to a reminder application that is separate from event analysis engine 200 . In such an embodiment, reminder/update engine 325 may provide updated reminder content and target conditions to the reminder application based on updated information received from information retrieval engine 320 . In an alternate embodiment, reminder/update engine 325 may include a reminder user interface and the task-based reminders may be generated and presented using the included user interface.
  • reminder content information e.g., a restaurant phone number, flight gate status, etc.
  • reminder/update engine 325 may provide updated reminder content and target conditions to the reminder application based on updated information received from information retrieval engine 320 .
  • reminder/update engine 325 may include a reminder user interface and the task-based reminders may be generated and presented using the included user interface.
  • event analysis engine 200 may be implemented as client-side components of event analysis engine 200 that interface with corresponding remote server-side components that perform some or all of the functions described above. Accordingly, event information 305 may be processed using the identified components of event analysis engine 200 to generate task-based reminders for an event represented by information 305 .
  • information representative of the user event may be received by an event analysis engine executing on device 400 . Based on the received information it may be determined that the information is representative of a flight event. The event analysis engine may further determine that the user's flight is a domestic flight from San Francisco International Airport to Phoenix Sky Harbor International Airport and that the flight is scheduled to depart from San Francisco on Monday, July 9 at 11:45 AM. Utilizing this information, the event analysis engine on device 400 may generate several task-based reminders customized for a flight event to present the most current information associated with the flight to the user.
  • a first general reminder 405 associated with the flight may be presented 24 hours prior to the scheduled departure time for the flight.
  • reminder 405 may be a static reminder in that its target conditions (i.e., the conditions according to which the reminder is presented) are not subject to change. That is, reminder 405 may be presented at a fixed time that corresponds to a certain time period prior to the scheduled departure time for the flight.
  • the user of device 400 may customize static property reminders. For example, the user may specify whether or not a general reminder such as reminder 405 should be presented for a flight event and, if so, the amount of time prior to the scheduled departure time that the reminder should be presented.
  • reminder 405 may be a dynamic reminder that is updated based on changing departure conditions.
  • reminder 405 may be presented a certain amount of time prior to the most up-to-date departure time for the flight event.
  • the content of reminder 405 may include general information such as the flight number, the airline, and the scheduled departure time to remind the user about the upcoming flight.
  • the user may receive reminder 405 when the device is at location 425 (e.g., the user's home). While the device location may not be included in the calculation of the target reminder condition for reminder 405 , it will be recognized that device location may influence the presentation of the additional reminders for the flight. While a user may generally be aware of the upcoming flight, general reminder 405 may prompt the user to begin preparing for the flight (e.g., packing, making arrangements for the time the user will be away from home, etc.). As described above, each reminder may be associated with reminder completion properties. Because reminder 405 is not associated with a specific user action, it may be marked as completed upon the user's acknowledgment of the reminder.
  • the event analysis engine may regularly update the target reminder condition (i.e., the target time) for presentation of a reminder to begin traveling to the airport.
  • the target reminder condition i.e., the target time
  • the event analysis engine may determine that the flight is on schedule (i.e., scheduled to depart at 11:45 AM), that the drive time between device 400 's location 430 and the airport location 435 is 45 minutes based on the current traffic conditions, and that the user should arrive one hour prior to the departure time. Accordingly, reminder 410 may be presented at 10:00 AM to prompt the user to depart for the airport. The content of reminder 410 may include information such as a departure terminal and/or parking information to allow the user to proceed to the appropriate location. Although not depicted, an additional reminder may be presented if the event analysis engine determines that the departure time has been delayed by more than a threshold value.
  • Such a reminder may allow the user to be confident that the device is continuing to monitor the flight conditions and that the user does not need to worry about departing for the airport.
  • the user may be able to customize the properties of reminder 410 .
  • the user may be able to adjust static properties such as the amount of time prior to a flight to arrive at the airport, the threshold change in departure time according to which the event analysis engine should present a delayed flight reminder, etc.
  • the user may be able to customize the content of reminder 410 .
  • a user that will be taking a taxi to the airport may desire terminal drop off information in reminder 410 whereas a user that is driving to the airport may desire parking information in reminder 410 .
  • reminder 410 may have associated completion conditions.
  • the task associated with reminder 410 may be marked as completed when the user acknowledges the reminder. In another embodiment, the task associated with reminder 410 may be marked as completed when the distance between device 400 's location and the airport location decreases by a certain predefined value. Until the task is marked as completed, reminder 410 may continue to be presented on device 400 according to a predefined frequency, which may also be customizable by the user.
  • the target reminder condition for reminder 415 may be satisfied when device 400 's location is within a certain range of the airport location.
  • reminder 415 may present current departure gate information for the flight.
  • Reminder 415 may allow the user to proceed to the correct security area and then to the correct departure gate.
  • the task associated with reminder 415 may be marked as completed based on user acknowledgment of reminder 415 , when the device location is within a certain range of the departure gate, when the current time is later than the departure time, etc.
  • the target reminder condition for reminder 420 may be based on device location.
  • reminder 420 may display current baggage claim information.
  • Reminder 420 may allow the user to proceed to the correct baggage claim location to retrieve their luggage.
  • the completion conditions for the task associated with reminder 420 may be satisfied by user acknowledgment, when the device location is within a certain range of the correct baggage claim location, when the device is more than a specified distance away from the destination airport, etc. Because reminder 420 is the last reminder associated with the flight event, when reminder 420 is marked as complete, the event analysis engine might also mark the flight event as complete.
  • FIG. 4 has provided example reminders associated with a flight event, it will be recognized that the techniques disclosed herein may apply to any number of events for which a user may desire task-based reminders.
  • a type of event may be identified and one or more predefined reminders associated with the identified type of event may be presented to the user.
  • the event analysis engine may monitor changing conditions such that the reminders may present the most current information at the most appropriate time. Moreover, reminders may be repeated until completion conditions indicate that the user has completed a task associated with the reminder.
  • Electronic device 500 may include processor 505 , display 510 , user interface 515 , graphics hardware 520 , device sensors 525 (e.g., proximity sensor/ambient light sensor, accelerometer and/or gyroscope), microphone 530 , audio codec(s) 535 , speaker(s) 540 , communications circuitry 545 , digital image capture unit 550 , video codec(s) 555 , memory 560 , storage 565 , and communications bus 570 .
  • Electronic device 500 may be, for example, a personal digital assistant (PDA), personal music player, mobile telephone, notebook, laptop or tablet computer. More particularly, the event analysis engine may be executed on a device that takes the form of device 500 .
  • PDA personal digital assistant
  • the event analysis engine may be executed on a device that takes the form of device 500 .
  • Processor 505 may execute instructions necessary to carry out or control the operation of many functions performed by device 500 .
  • Processor 505 may, for instance, drive display 510 and receive user input from user interface 515 .
  • User interface 515 can take a variety of forms, such as a button, keypad, dial, a click wheel, keyboard, display screen and/or a touch screen.
  • Processor 505 may also, for example, be a system-on-chip such as those found in mobile devices and include a dedicated graphics processing unit (GPU).
  • GPU graphics processing unit
  • Processor 505 may be based on reduced instruction-set computer (RISC) or complex instruction-set computer (CISC) architectures or any other suitable architecture and may include one or more processing cores.
  • Graphics hardware 520 may be special purpose computational hardware for processing graphics and/or assisting processor 505 to process graphics information.
  • graphics hardware 520 may include a programmable graphics processing unit (GPU).
  • Sensor and camera circuitry 550 may capture still and video images that may be processed, at least in part, by video codec(s) 555 and/or processor 505 and/or graphics hardware 520 , and/or a dedicated image processing unit incorporated within circuitry 550 . Images so captured may be stored in memory 560 and/or storage 565 .
  • Memory 560 may include one or more different types of media used by processor 505 and graphics hardware 520 to perform device functions.
  • memory 560 may include memory cache, read-only memory (ROM), and/or random access memory (RAM).
  • Storage 565 may store media (e.g., audio, image and video files), computer program instructions or software, preference information, device profile information, and any other suitable data.
  • Storage 565 may include one or more non-transitory storage mediums including, for example, magnetic disks (fixed, floppy, and removable) and tape, optical media such as CD-ROMs and digital video disks (DVDs), and semiconductor memory devices such as Electrically Programmable Read-Only Memory (EPROM), and Electrically Erasable Programmable Read-Only Memory (EEPROM).
  • Memory 560 and storage 565 may be used to tangibly retain computer program instructions or code organized into one or more modules and written in any desired computer programming language. When executed by, for example, processor 505 such computer program code may implement one or more of the methods (such as operation 100 ) described herein.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Emergency Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

An event analysis engine on a user device may be configured to receive information representative of a user event and to determine a type of the event according to the received information. One or more tasks associated with the determined type of event may be identified. Each of the identified tasks may be associated with a reminder having a trigger condition that is a function of information specific to the task. The task-specific information may be retrieved and the reminders associated with the tasks may be displayed when a device condition matches a calculated trigger condition for the reminder. Each task may be identified as completed when a completion condition associated with the task is satisfied.

Description

    BACKGROUND
  • This disclosure relates generally to the generation of reminders by a device in accordance with an identified user event. More particularly, the disclosure relates to the generation of multiple inter-related reminders for tasks associated with an event.
  • Devices such as mobile phones, personal music players, tablet computers, and other similar devices have become an integral part of many users' lives. Because such devices are so commonly in the possession of a user, they are often utilized to provide reminders for upcoming events to a user. For example, a user may configure reminders for future events (e.g., a doctor's appointment, a meeting, a flight, etc.) such that the user will be provided with a notification as the event approaches. Notifications generated by these existing applications occur based on fixed trigger conditions provided by a user. That is, a reminder may be configured to occur at a specified time or when the user arrives at a specified location. Therefore, existing reminder applications merely notify a user when the specified trigger conditions are satisfied and are incapable of adjusting to changes in the underlying event for which the reminder was configured. Moreover, although many types of events may be associated with multiple tasks for which the user would desire a notification (e.g., a notification to obtain a dinner reservation, a notification to depart for the restaurant, etc.), due to the limited flexibility of existing reminder applications, a user may typically create a single reminder having a single trigger condition for an event. It would therefore be desirable to provide an application with an awareness of the tasks associated with different types of events and that was capable of identifying changes in event conditions and, in response, modify the trigger conditions for one or more reminders related to the event.
  • SUMMARY
  • In one embodiment, a method is provided to identify a user event and to generate one or more task-based reminders associated with the user event based on the type of the event and underlying conditions of the event. The method may include receiving, at a device, information that is representative of the user event. Based on the received information, a type of event may be determined. One or more tasks that are associated with the determined type of event may then be identified, and each of the tasks may be associated with a reminder having presentation conditions that are based on information specific to the task. The information that is specific to each of the tasks may be retrieved by the device and the reminder associated with each task may be presented based on the task-specific information. The method may be embodied in program code and stored on a non-transitory storage medium. The stored program code may be executed by a processor that is part of, or controls, the device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a flowchart that illustrates an operation to generate one or more reminders in accordance with one embodiment.
  • FIG. 2 is a block diagram that illustrates the interactions of an event analysis engine in accordance with one embodiment.
  • FIG. 3 is a block diagram that illustrates the components of an event analysis engine in accordance with one embodiment.
  • FIG. 4 illustrates example reminders associated with a user event in accordance with one embodiment.
  • FIG. 5 is a block diagram of an illustrative electronic device in accordance with one embodiment.
  • DETAILED DESCRIPTION
  • This disclosure pertains to systems, methods, and computer readable media for identifying a user event and creating reminders for various tasks associated with the user event. In general, techniques are disclosed for identifying a user event, determining the type of the event, identifying one or more tasks associated with the event, and generating reminders for the tasks associated with the event. In another embodiment, changes to aspects of the event may be detected and, based on those changes, the generated reminders may be modified.
  • In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the inventive concept. As part of this description, some of this disclosure's drawings represent structures and devices in block diagram form in order to avoid obscuring the invention. In the interest of clarity, not all features of an actual implementation are described in this specification. Moreover, the language used in this disclosure has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter. Reference in this disclosure to “one embodiment” or to “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention, and multiple references to “one embodiment” or “an embodiment” should not be understood as necessarily all referring to the same embodiment.
  • It will be appreciated that in the development of any actual implementation (as in any development project), numerous decisions must be made to achieve the developers' specific goals (e.g., compliance with system- and business-related constraints), and that these goals will vary from one implementation to another. It will also be appreciated that such development efforts might be complex and time-consuming, but would nevertheless be a routine undertaking for those of ordinary skill in the art of electronic device operations having the benefit of this disclosure.
  • Referring to FIG. 1, reminder creation operation 100 may begin when information representing a user event is received by an event analysis engine executing on the user's device (block 105). The event analysis engine may function as a stand-alone application or may be integrated with the device's operating system. The received information may be representative of any type of event for which the user may desire to receive one or more reminders. For example, the user event may be a meeting, a dinner, a scheduled flight, a doctor's appointment, etc. As will be described in greater detail below, the event analysis engine may receive information describing the event in a number of different manners. In one embodiment, the information may be received based on direct user input. For example, the user may request that the device generate a reminder for an upcoming appointment. In such an embodiment, the request may be received as a voice command, text input, menu selection, or other input recognizable by the device. In another embodiment, the information may be received based on the utilization of an application executing on the device. For example, the user may purchase a movie ticket utilizing an application on the device and the event analysis engine may retrieve information describing the purchase from the application and may determine that the information is representative of an event for which the user may desire the generation of a reminder. In still another embodiment, the information may be received based on a communication received or transmitted by the device. For example, an email from an airline confirming a flight reservation may be retrieved by the event analysis engine and the event analysis engine may determine that the communication is representative of an event for which the user may desire the generation of a reminder.
  • Upon receiving information that represents (or potentially represents) a user event, the type of event may be determined by the event analysis engine (block 110). In one embodiment, the event analysis engine may utilize the received information to determine whether it is representative of a type of event from a group of predefined event types. Such predefined event types may include doctor's appointments, business meetings, dinners, movies, etc. In one embodiment, the event analysis engine may extract data from the received information to determine the type of event. For example, information from a received email that is identified as corresponding to a known airline confirmation email address may be utilized to determine that the received information is representative of a scheduled flight event type. Similarly, payment information received from an application that corresponds to a movie theater may be utilized to determine that the payment information is representative of a movie event type. In another embodiment, the event analysis engine may request information from the user to determine an event type. For example, upon receiving information that is potentially associated with a user event, the event analysis engine may present some or all of the information to the user and may then prompt the user to indicate whether the information is associated with an event for which a reminder should be generated, and, if so, to specify the type of event.
  • Additional information related to the event may be retrieved based on the determined type of event (block 115). The determined type of event may be associated with the generation of reminders for tasks related to the event. For example, an event identified as a dinner event without a confirmed reservation may be associated with a reminder to obtain a reservation (if the restaurant accepts reservations) or to call ahead and be placed on a waiting list (if the restaurant accepts call-ahead seating), a reminder to depart for the restaurant (e.g., based on a desired dinner time, the user's location, the location of the restaurant, traffic, etc.), a reminder associated with available parking (e.g., presented as the user approaches the location of the restaurant), etc. It will be understood that in order to properly construct reminders for tasks associated with a determined type of event, it may be necessary to identify additional information related to the event. In one embodiment, some or all of the information needed based on the determined type of event may be contained in the received information (i.e., the information received at block 105). For example, it may be determined that a received email includes information for a dinner reservation type of event and identifies all of the information necessary to create task reminders for the determined event type (e.g., the time of the reservation, the name of the restaurant, and the location of the restaurant). In another embodiment, information contained within the received information may be utilized to retrieve the additional information necessary to create task-based reminders for the determined event type. For example, an airline, reservation date, and flight number may be extracted from information retrieved from an application on the user's device utilized to make a reservation for a flight. The airline, date, and flight number may then be utilized to retrieve the additional information necessary to create task-based reminders for the flight event (e.g., domestic/international flight, departure airport and time, arrival airport and time, connecting flights, etc.). In such an embodiment, the additional required information may be retrieved either directly or indirectly by the event analysis engine. For example, the event analysis engine may submit a direct request for the desired information to a web server associated with an airline or may request the information indirectly through an application installed on the user's device (e.g., a travel management application). In yet another embodiment, the event type may be identifiable from the received information but information necessary to create the task-based reminders associated with the determined event type (or to retrieve the necessary information) may be absent in the received information. In such an embodiment, the event analysis engine may prompt the user to provide the necessary information for the determined event type (or information that would allow the analysis engine to retrieve the necessary information). As will be described in greater detail below, the retrieved information may be utilized in the content of task-based reminders and to calculate target reminder conditions (i.e., target conditions for the presentation of the reminder) for the task-based reminders associated with the event.
  • After the necessary information has been retrieved by the event analysis engine, reminders may be created for multiple tasks based on the type of event (block 120). By way of example, reminders for tasks associated with a scheduled flight may include a general reminder to be presented a certain time period prior to the scheduled departure time, a reminder to depart for the airport, a reminder to proceed to the appropriate gate (presenting the most current departure gate information) when the user arrives at the departure airport, a reminder to proceed to the appropriate baggage claim location (presenting the most current baggage claim information) when the user arrives at the destination airport, and/or any other appropriate reminders. Similarly, reminders for tasks associated with a dinner event may include a reminder to call the restaurant before the desired dinner time to be placed on a wait list (the timing for such a reminder may be based on historical wait times for the restaurant based on the day of the week for the dinner event) and a reminder to depart for the restaurant.
  • After the reminders have been created for the various tasks associated with a particular type of event, the event analysis engine may monitor changing conditions in order to calculate target conditions (e.g., timing, location, etc.) for the presentation of the reminders (block 125). Target conditions for some tasks may be based solely on static properties. For example, a general reminder for a flight may be presented a predetermined time period prior to the flight departure time (e.g., 24 hours prior to the original scheduled departure time regardless of variations in the estimated actual departure time). These types of reminders may be created with a fixed time and may not be subject to changing conditions. However, other target reminder conditions may be based solely on dynamic properties or on a combination of static and dynamic properties and may therefore need to be updated according to current information. For example, a reminder that presents gate information may be based solely on the arrival of the user at the airport (i.e., a dynamic location property). In such an embodiment, a reminder may be created with no associated time and may be presented when the tracked dynamic condition matches the target condition (e.g., the device is located within a certain range of a coordinate corresponding to the airport). The calculation of target reminder conditions for a reminder to begin driving to the airport to catch a domestic flight may be based on a static property that describes a recommended time of arrival prior to a domestic flight departure time (e.g., one hour) and dynamic properties that describe a current departure time for the flight, the device location, and a travel time based on traffic conditions between the device location and the airport.
  • The dynamic properties utilized to calculate target conditions for a particular task may be based on device parameters or may be retrieved from a remote source. For example, many electronic devices on which the event analysis engine may be executed regularly identify their location and store the identified location as a device parameter. Accordingly, device location and other similar dynamic properties may be retrieved as a local device parameter. Other dynamic properties utilized to calculate target reminder conditions may be retrieved from a remote source. For example, a departure time for a scheduled flight may be retrieved from an application executing on a remote server device that is regularly updated to provide estimated flight departure times (e.g., a web server operated by an airline or a travel management organization). Similarly, a travel time may be retrieved from an application executing on a remote server device that provides estimated travel times between given locations based on current or historical traffic conditions. The event analysis engine may retrieve dynamic properties from remote sources either directly or indirectly. For example, the event analysis engine may request the information directly from the remote source or may request the information though an application executing on the device (which thereafter retrieves the information from the remote source). In one embodiment, the dynamic properties necessary to calculate target reminder conditions may be retrieved more frequently as existing conditions approach the target conditions (e.g., device location or time). In another embodiment, the target conditions associated with a particular reminder may be tied to the completion of a prior task associated with the event (e.g., the arrival at a destination location associated with a first task may trigger the presentation of a reminder associated with a subsequent task).
  • When a device parameter such as time or location matches the target condition for a reminder (e.g., the current time matches the target reminder time, the current location matches the target reminder location, etc.), the reminder for the particular task may be presented on a display element of the device. In addition, a notification (e.g., an audible tone) may be generated to alert the user of the device to the display of the reminder. After a reminder is presented, the notification may be repeated according to a predefined frequency (e.g., every five minutes) until the task upon which the reminder is based is completed (block 130). For certain reminders, it may be determined that a task has been completed when the user acknowledges the reminder for the task. For other reminders, it may be determined that a task has been completed when a certain activity in accordance with the task is recognized (e.g., the device location moves towards a destination location associated with the task). In one embodiment, the completion conditions associated with a particular task may be updated (similarly to the target reminder conditions) based on changing retrieved information associated with the task. According to reminder creation operation 100, a recognized user event may be separated into individual tasks and reminders may be created for the individual tasks and presented based on current conditions.
  • Referring to FIG. 2, the interactions of event analysis engine 200 according to one embodiment are illustrated. As described above with respect to operation 100, event analysis engine 200 receives information representative of a user event, determines a type of event, retrieves information pertaining to the event according to the determined type, generates task-based reminders based on the type of event, and monitors changing conditions in order to update the presentation of generated reminders. In order to perform these functions, event analysis engine 200 may receive information from and provide information to other entities, both internal and external to the device on which event analysis engine 200 executes.
  • As described briefly above, information representative of a user event may be received by event analysis engine 200 based on a direct user input 205, user communications 210 received by or initiated from the device (e.g., emails, short message service (SMS) text messages, instant messages, social network messages, etc.) or the utilization of device applications (e.g., calendar application 215, reminder application 220, or other third party applications 225). In one embodiment, event analysis engine 200 may regularly request information from device communication and other applications executing on the device. Once it has been determined that received information represents an event of a particular type, additional information may be requested by event analysis engine 200 in order to construct one or more task-based reminders. This information may be retrieved by prompting the user to provide additional information 205, by requesting the information from another application executing on the device (215, 220, and 225), by querying a website 235 using known information, etc. After the task-based reminders have been created, event analysis engine 200 may continue to retrieve information to update the reminders. Such information may include location information 230, information retrieved from a website 235 associated with the event, and information retrieved from another application 225 executing on the device. The reminders may be presented to the user of the device as an output from event analysis engine 200 to a calendar application 215, a reminder application 220, an alarm application 240, or another similar application on the device.
  • Referring to FIG. 3, the functionality of various components of event analysis engine 200 is described in accordance with one embodiment. As described above with respect to operation 100, information 305 representative of a user event is received by event analysis engine 200. Information 305 may initially be processed using type detector engine 310 of event analysis engine 200. Type detector engine 310 may include a data store that maintains records that relate different types of predetermined events to information representing the types of events. For example, the data store may contain an entry for a “movie” event that includes keywords that may be extracted from a communication confirming the purchase of tickets for a movie, identifiers of theaters or other parties that are known to be included in payment processing information (which may be received by event analysis engine 200) related to the purchase of movie tickets, and/or designations used by software applications related to the purchase and/or electronic delivery of movie tickets. Thus, data may be extracted from information 305 and processed by type detector engine 310 in order to identify a type of event that information 305 represents.
  • After an event type is determined, the determined type and the information 305 may be provided to event type engine 315 (330). Event type engine 315 may include a data store that relates event types to one or more tasks associated with the event type. In addition, event type engine 315 may identify information that needs to be retrieved in order to create task-based reminders for the specified tasks and the conditions that must be satisfied before a task is to be identified as complete. For example, the data store associated with event type engine 315 may identify a “general” reminder and a “depart for theater” reminder for a movie event type and may identify the information necessary to provide content and to calculate target conditions for such reminders as the movie name, the device location, the theater location, the movie start time, the drive time between the device location and the theater location (e.g., based on current or historical traffic conditions) and the amount of time prior to the start of the movie that the user should arrive at the theater. The data store may additionally provide algorithms for calculating target conditions (i.e., the target time, location, etc. that a reminder is presented) for the specified task-based reminders using the retrieved information.
  • In one embodiment, event type engine 315 may identify a full set of tasks that may apply for a particular event type and the retrieved information may be utilized to determine which of the tasks apply for a specific event. For example, a dinner event type may be associated with a reminder to call a certain time period prior to the scheduled event in order to obtain a reservation for restaurants that accept reservations. However, the reminder may not be valid for a restaurant that does not accept reservations. In another embodiment, certain reminders may be contingent upon the calculated reminder time of another reminder. For example, if a calculated reminder time for a reminder pertaining to a user action (e.g., a reminder to begin traveling to an event) occurs during a certain time period (e.g., early morning), an additional wake up reminder may be generated a certain time prior to the related reminder. Therefore, the properties of the particular event may determine which of the set of reminders associated with the determined event type (as identified by event type engine 315) apply to a particular event. The data store associated with event type engine 315 may additionally include information related to alternative options for a particular event. For example, if a user is unable to secure reservations at a desired restaurant, the event analysis engine may generate a reminder to call other restaurants (provided by event type engine 315) of a similar type and at a similar location.
  • Information 305 and the list of required information needed to generate the task-based reminders identified by event type engine 315 may be passed to information retrieval engine 320 (335). Information retrieval engine 320 may be utilized to obtain information needed to generate the reminders identified by event type engine 315. As described briefly above, some or all of the information needed to generate the identified task-based reminders may be included in information 305. Therefore, information retrieval engine 320 may be configured to extract information identified by event type engine 315 from information 305. In many cases, however, information 305 will not contain all of the required information identified by event type engine 315. In such cases, information retrieval engine 320 may be configured to prompt the user of device 300 for the required information (or information necessary to retrieve the required information) or to interact with other applications executing on device 300 or directly with a remote source via a network connection of device 300 to obtain the required information. The network connection may take any form including, but not limited to, a local area network (LAN), a wide area network (WAN) such as the Internet or a combination of local and wide-area networks. Moreover, the network may use any desired technology, or combination of technologies (wired, wireless or a combination thereof) and protocol (e.g., transmission control protocol, TCP).
  • In one embodiment, information retrieval engine 320 may include a data store that maintains records that guide the information retrieval process. The data store may describe a source (e.g., local application, third party website, local device parameter, etc.) to be utilized to obtain information of a certain type. In addition, the data store may define the structure of a request and any additional information to be included in such a request so as to obtain the specified type of information from the particular source. For example, in response to an indication from event type engine 315 that departure time information is needed to construct one or more task-based reminders for a flight event, information retrieval engine 320 may identify a departure time record in the data store. The departure time record may indicate that the source from which departure time information can be obtained is dependent upon airline information and that any request for departure time information will include flight number and flight date information. If any of the airline, flight number, or flight date information is not known by information retrieval engine 320 (e.g., has not been extracted from information 305), records for those information types may be identified in the data store. Such records may indicate a source for obtaining those types of information (e.g., a user prompt having a certain structure). Upon receiving the airline, flight number, and flight date information, the source and structure of a request to be utilized to obtain the departure time information may be retrieved from the data store. For example, the data store may indicate that, for the particular identified airline, a request including the flight number and flight date should be presented to a particular website associated with the airline. Therefore, upon receipt from event type engine 315 of information 305 and a list of information required to generate task-based reminders for the event represented by information 305, information retrieval engine 320 may obtain the required information from various sources.
  • Once the required information has been retrieved by information retrieval engine 320, the information may be provided to reminder/update engine 325 (340). Reminder/update engine 325 may utilize algorithms for the task-based reminders identified by event type engine 315 in addition to the information provided by information retrieval engine 320 to calculate target reminder conditions for the task-based reminders. Moreover, reminder/update engine 325 may request updated information from information retrieval engine 320 in order to update the content and target reminder conditions for the identified task-based reminders. As noted above, the update frequency for the calculation of target reminder conditions may be increased as current conditions (e.g., current location or time) approach the target reminder conditions. This update frequency may be controlled by reminder/update engine 325. In addition, reminder/update engine 325 may be responsible for utilizing the completion properties provided by event type engine 315 to identify a particular task as completed.
  • In one embodiment, reminder/update engine 325 may interface with a reminder application executing on device 300 to create the task-based reminders. That is, reminder/update engine 325 may provide reminder content information (e.g., a restaurant phone number, flight gate status, etc.) as well as target reminder conditions to a reminder application that is separate from event analysis engine 200. In such an embodiment, reminder/update engine 325 may provide updated reminder content and target conditions to the reminder application based on updated information received from information retrieval engine 320. In an alternate embodiment, reminder/update engine 325 may include a reminder user interface and the task-based reminders may be generated and presented using the included user interface. Although each of the components of the event analysis engine are illustrated within event analysis engine 200 on device 300 for purposes of clarity, certain component functionality may be performed remotely. In one embodiment, the illustrated components may be implemented as client-side components of event analysis engine 200 that interface with corresponding remote server-side components that perform some or all of the functions described above. Accordingly, event information 305 may be processed using the identified components of event analysis engine 200 to generate task-based reminders for an event represented by information 305.
  • Referring to FIG. 4, several example task-based reminders associated with a user event are illustrated. As described above, information representative of the user event may be received by an event analysis engine executing on device 400. Based on the received information it may be determined that the information is representative of a flight event. The event analysis engine may further determine that the user's flight is a domestic flight from San Francisco International Airport to Phoenix Sky Harbor International Airport and that the flight is scheduled to depart from San Francisco on Monday, July 9 at 11:45 AM. Utilizing this information, the event analysis engine on device 400 may generate several task-based reminders customized for a flight event to present the most current information associated with the flight to the user.
  • A first general reminder 405 associated with the flight may be presented 24 hours prior to the scheduled departure time for the flight. In one embodiment, reminder 405 may be a static reminder in that its target conditions (i.e., the conditions according to which the reminder is presented) are not subject to change. That is, reminder 405 may be presented at a fixed time that corresponds to a certain time period prior to the scheduled departure time for the flight. In one embodiment, the user of device 400 may customize static property reminders. For example, the user may specify whether or not a general reminder such as reminder 405 should be presented for a flight event and, if so, the amount of time prior to the scheduled departure time that the reminder should be presented. In another embodiment, reminder 405 may be a dynamic reminder that is updated based on changing departure conditions. For example, reminder 405 may be presented a certain amount of time prior to the most up-to-date departure time for the flight event. The content of reminder 405 may include general information such as the flight number, the airline, and the scheduled departure time to remind the user about the upcoming flight. The user may receive reminder 405 when the device is at location 425 (e.g., the user's home). While the device location may not be included in the calculation of the target reminder condition for reminder 405, it will be recognized that device location may influence the presentation of the additional reminders for the flight. While a user may generally be aware of the upcoming flight, general reminder 405 may prompt the user to begin preparing for the flight (e.g., packing, making arrangements for the time the user will be away from home, etc.). As described above, each reminder may be associated with reminder completion properties. Because reminder 405 is not associated with a specific user action, it may be marked as completed upon the user's acknowledgment of the reminder.
  • On the morning of the flight, the user may stop by their office location 430 before driving to the airport. Utilizing a known typical airport arrival time for domestic flights (e.g., one hour prior to departure) in conjunction with retrieved information regarding the current flight departure time, device 400's location, and the travel time between device 400's location and the departure airport location based on current traffic conditions, the event analysis engine may regularly update the target reminder condition (i.e., the target time) for presentation of a reminder to begin traveling to the airport. When the current time matches the calculated target time, reminder 410 may be presented. In the illustrated embodiment, the event analysis engine may determine that the flight is on schedule (i.e., scheduled to depart at 11:45 AM), that the drive time between device 400's location 430 and the airport location 435 is 45 minutes based on the current traffic conditions, and that the user should arrive one hour prior to the departure time. Accordingly, reminder 410 may be presented at 10:00 AM to prompt the user to depart for the airport. The content of reminder 410 may include information such as a departure terminal and/or parking information to allow the user to proceed to the appropriate location. Although not depicted, an additional reminder may be presented if the event analysis engine determines that the departure time has been delayed by more than a threshold value. Such a reminder may allow the user to be confident that the device is continuing to monitor the flight conditions and that the user does not need to worry about departing for the airport. In one embodiment, the user may be able to customize the properties of reminder 410. For example, the user may be able to adjust static properties such as the amount of time prior to a flight to arrive at the airport, the threshold change in departure time according to which the event analysis engine should present a delayed flight reminder, etc. Additionally, the user may be able to customize the content of reminder 410. For example, a user that will be taking a taxi to the airport may desire terminal drop off information in reminder 410 whereas a user that is driving to the airport may desire parking information in reminder 410. As described above, reminder 410 may have associated completion conditions. In one embodiment, the task associated with reminder 410 may be marked as completed when the user acknowledges the reminder. In another embodiment, the task associated with reminder 410 may be marked as completed when the distance between device 400's location and the airport location decreases by a certain predefined value. Until the task is marked as completed, reminder 410 may continue to be presented on device 400 according to a predefined frequency, which may also be customizable by the user.
  • The target reminder condition for reminder 415 may be satisfied when device 400's location is within a certain range of the airport location. When the user arrives at airport location 435, reminder 415 may present current departure gate information for the flight. Reminder 415 may allow the user to proceed to the correct security area and then to the correct departure gate. The task associated with reminder 415 may be marked as completed based on user acknowledgment of reminder 415, when the device location is within a certain range of the departure gate, when the current time is later than the departure time, etc.
  • Like reminder 415, the target reminder condition for reminder 420 may be based on device location. When device 400's location corresponds to arrival airport location 440, reminder 420 may display current baggage claim information. Reminder 420 may allow the user to proceed to the correct baggage claim location to retrieve their luggage. The completion conditions for the task associated with reminder 420 may be satisfied by user acknowledgment, when the device location is within a certain range of the correct baggage claim location, when the device is more than a specified distance away from the destination airport, etc. Because reminder 420 is the last reminder associated with the flight event, when reminder 420 is marked as complete, the event analysis engine might also mark the flight event as complete.
  • While FIG. 4 has provided example reminders associated with a flight event, it will be recognized that the techniques disclosed herein may apply to any number of events for which a user may desire task-based reminders. For any event, a type of event may be identified and one or more predefined reminders associated with the identified type of event may be presented to the user. The event analysis engine may monitor changing conditions such that the reminders may present the most current information at the most appropriate time. Moreover, reminders may be repeated until completion conditions indicate that the user has completed a task associated with the reminder.
  • Referring to FIG. 5, a simplified functional block diagram of illustrative electronic device 500 is shown according to one embodiment. Electronic device 500 may include processor 505, display 510, user interface 515, graphics hardware 520, device sensors 525 (e.g., proximity sensor/ambient light sensor, accelerometer and/or gyroscope), microphone 530, audio codec(s) 535, speaker(s) 540, communications circuitry 545, digital image capture unit 550, video codec(s) 555, memory 560, storage 565, and communications bus 570. Electronic device 500 may be, for example, a personal digital assistant (PDA), personal music player, mobile telephone, notebook, laptop or tablet computer. More particularly, the event analysis engine may be executed on a device that takes the form of device 500.
  • Processor 505 may execute instructions necessary to carry out or control the operation of many functions performed by device 500. Processor 505 may, for instance, drive display 510 and receive user input from user interface 515. User interface 515 can take a variety of forms, such as a button, keypad, dial, a click wheel, keyboard, display screen and/or a touch screen. Processor 505 may also, for example, be a system-on-chip such as those found in mobile devices and include a dedicated graphics processing unit (GPU). Processor 505 may be based on reduced instruction-set computer (RISC) or complex instruction-set computer (CISC) architectures or any other suitable architecture and may include one or more processing cores. Graphics hardware 520 may be special purpose computational hardware for processing graphics and/or assisting processor 505 to process graphics information. In one embodiment, graphics hardware 520 may include a programmable graphics processing unit (GPU).
  • Sensor and camera circuitry 550 may capture still and video images that may be processed, at least in part, by video codec(s) 555 and/or processor 505 and/or graphics hardware 520, and/or a dedicated image processing unit incorporated within circuitry 550. Images so captured may be stored in memory 560 and/or storage 565. Memory 560 may include one or more different types of media used by processor 505 and graphics hardware 520 to perform device functions. For example, memory 560 may include memory cache, read-only memory (ROM), and/or random access memory (RAM). Storage 565 may store media (e.g., audio, image and video files), computer program instructions or software, preference information, device profile information, and any other suitable data. Storage 565 may include one or more non-transitory storage mediums including, for example, magnetic disks (fixed, floppy, and removable) and tape, optical media such as CD-ROMs and digital video disks (DVDs), and semiconductor memory devices such as Electrically Programmable Read-Only Memory (EPROM), and Electrically Erasable Programmable Read-Only Memory (EEPROM). Memory 560 and storage 565 may be used to tangibly retain computer program instructions or code organized into one or more modules and written in any desired computer programming language. When executed by, for example, processor 505 such computer program code may implement one or more of the methods (such as operation 100) described herein.
  • It is to be understood that the above description is intended to be illustrative, and not restrictive. The material has been presented to enable any person skilled in the art to make and use the inventive concepts described herein, and is provided in the context of particular embodiments, variations of which will be readily apparent to those skilled in the art (e.g., some of the disclosed embodiments may be used in combination with each other). Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention therefore should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.”

Claims (21)

1.-3. (canceled)
4. A non-transitory program storage device, readable by one or more processors and comprising instructions stored thereon to cause the one or more processors to:
receive a request that corresponds with an event from a user input;
generate, to be displayed, first information associated with the request;
determine, based on the request, whether additional information is needed for the request;
generate, to be displayed, a user prompt that requests additional information for identifying a task related to the event based on a determination that additional information is needed;
receive user input indicative of a response to the user prompt that requests additional information;
determine the task related to the event based on the request and the additional information; and
generate, to be displayed, the task related to the event.
5. The non-transitory program storage device of claim 4, wherein the instructions further cause the one or more processors to:
retrieve a second information for determining the task related to the event; and
determine the task related to the event based further on the second information.
6. The non-transitory program storage device of claim 5, wherein the instructions to retrieve the second information comprise instructions that cause the one or more processors to retrieve the second information from a remote server.
7. The non-transitory program storage device of claim 4, wherein the instructions further cause the one or more processors to trigger a reminder based on the task related to the event.
8. The non-transitory program storage device of claim 7, wherein the instructions further cause the one or more processors to display the reminder on a display device.
9. The non-transitory program storage device of claim 7, wherein the instructions further cause the one or more processors to generate an audible notification in response to triggering the reminder.
10. The non-transitory program storage device of claim 4, wherein the instructions further cause the one or more processors to display the task on a display device.
11. The non-transitory program storage device of claim 4, wherein the instructions to determine the task related to the event comprises instructions that cause one or more processors to:
determine a set of tasks that apply to the event; and
automatically filter out one task from the set of tasks based on the additional information.
12. The non-transitory program storage device of claim 4, wherein the event is associated with an event type, and wherein the first information corresponds to information for the event type.
13. The non-transitory program storage device of claim 12, wherein the instructions further cause the one or more processors to:
access a data store of records that maintains a record that relates to the event type; and
identify a source for the data store.
14. An apparatus, comprising:
at least on processor;
memory operatively coupled to the at least one processor, wherein the memory stores instructions that cause the at least one processor to:
receive a request that corresponds with an event from a user input;
evaluate, based on the request, whether additional information is needed for the request;
generate, to be displayed, a user prompt that requests additional information for identifying a task related to the event based on an evaluation that additional information is needed;
receive user input indicative of a response to the user prompt that requests additional information;
determine the task related to the event based on the request and the additional information; and
generate, to be displayed, the task related to the event.
15. The apparatus of claim 14, wherein the instructions further cause the at least one processor to generate, to be displayed and after receiving the request, first information associated with the request.
16. The apparatus of claim 14, wherein the event is associated with an event type, and wherein the first information corresponds to information for the event type.
17. The apparatus of claim 16, wherein the instructions further cause the at least one processor to:
access a data store of records that maintains a record that relates to the event type; and
identify a source for the data store.
18. The apparatus of claim 14, wherein the instructions further cause the at least one processor to:
retrieve a first information for determining the task related to the event; and
determine the task related to the event based further on the first information.
19. The apparatus of claim 18, wherein the instructions to retrieve the first information comprise instructions that cause the at least one processor to retrieve the first information from a remote server.
20. The apparatus of claim 14, wherein the instructions to evaluate the task related to the event comprises instructions that cause one or more processors to:
determine a set of tasks that apply to the event; and
automatically filter out at least one task from the set of tasks based on the additional information.
21. A method comprising:
receiving a request that corresponds with an event from a user input;
generating, to be displayed, first information associated with the request;
evaluating, based on the request, whether additional information is needed for the request;
generating, to be displayed, a user prompt that requests additional information for identifying a task related to the event based on an evaluation that additional information is needed;
receiving user input indicative of a response to the user prompt that requests additional information;
determining the task related to the event based on the request and the additional information; and
generating, to be displayed, the task related to the event.
22. The method of claim 21, further comprising generating a reminder based on the task related to the event.
23. The method of claim 21, wherein the event is an appointment.
US16/025,636 2012-09-13 2018-07-02 Reminder Creation for Tasks Associated with a User Event Abandoned US20190050821A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/025,636 US20190050821A1 (en) 2012-09-13 2018-07-02 Reminder Creation for Tasks Associated with a User Event

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/613,586 US9460608B2 (en) 2012-09-13 2012-09-13 Reminder creation for tasks associated with a user event
US15/280,236 US10026063B2 (en) 2012-09-13 2016-09-29 Reminder creation for tasks associated with a user event
US16/025,636 US20190050821A1 (en) 2012-09-13 2018-07-02 Reminder Creation for Tasks Associated with a User Event

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/280,236 Continuation US10026063B2 (en) 2012-09-13 2016-09-29 Reminder creation for tasks associated with a user event

Publications (1)

Publication Number Publication Date
US20190050821A1 true US20190050821A1 (en) 2019-02-14

Family

ID=49004039

Family Applications (3)

Application Number Title Priority Date Filing Date
US13/613,586 Active 2034-05-20 US9460608B2 (en) 2012-09-13 2012-09-13 Reminder creation for tasks associated with a user event
US15/280,236 Active US10026063B2 (en) 2012-09-13 2016-09-29 Reminder creation for tasks associated with a user event
US16/025,636 Abandoned US20190050821A1 (en) 2012-09-13 2018-07-02 Reminder Creation for Tasks Associated with a User Event

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US13/613,586 Active 2034-05-20 US9460608B2 (en) 2012-09-13 2012-09-13 Reminder creation for tasks associated with a user event
US15/280,236 Active US10026063B2 (en) 2012-09-13 2016-09-29 Reminder creation for tasks associated with a user event

Country Status (2)

Country Link
US (3) US9460608B2 (en)
WO (1) WO2014042798A2 (en)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150200892A1 (en) * 2012-09-25 2015-07-16 Google Inc. Systems and methods for automatically presenting reminders
US9854084B2 (en) * 2013-03-06 2017-12-26 Google Llc Contextual alarm and notification management
US20160027044A1 (en) * 2013-12-19 2016-01-28 Google Inc. Presenting information cards for events associated with entities
CN103699643A (en) * 2013-12-25 2014-04-02 三星电子(中国)研发中心 Transaction recording implementation method and device in mobile terminal
US20150188876A1 (en) * 2013-12-27 2015-07-02 Runaway Plan Llc Calendaring systems and methods
US9787822B1 (en) * 2014-06-02 2017-10-10 Amazon Technologies, Inc. Tracking text messages with reminders
US10783166B2 (en) 2014-06-24 2020-09-22 Google Llc List accumulation and reminder triggering
US9659480B2 (en) * 2014-07-14 2017-05-23 Lenovo (Singapore) Pte. Ltd. Reminders based on virtual locations
US10104028B2 (en) 2014-08-29 2018-10-16 Google Llc Systems and methods for improved processing of message queries
KR20160027419A (en) * 2014-08-29 2016-03-10 삼성전자주식회사 Method for Providing Additional Functions based on information
CN105530285B (en) * 2014-10-15 2019-11-29 松下电器(美国)知识产权公司 Information notice method, information notifying system and recording medium
DE112015005293T5 (en) * 2014-11-26 2017-08-17 Google Inc. Presentation of information cards for events associated with entities
CN112152904B (en) 2015-02-16 2022-12-09 钉钉控股(开曼)有限公司 Network interaction method
US9602975B2 (en) * 2015-05-22 2017-03-21 Microsoft Technology Licensing, Llc Intelligent surfacing of reminders
US10642843B2 (en) 2015-05-28 2020-05-05 Google Llc World knowledge triggers
US20170011345A1 (en) * 2015-07-08 2017-01-12 Xerox Corporation Automated goal oriented messaging using chains of messages
CN105681056B (en) 2016-01-13 2019-03-19 阿里巴巴集团控股有限公司 Object distribution method and device
WO2017128437A1 (en) * 2016-01-31 2017-08-03 深圳市博信诺达经贸咨询有限公司 Reminding method and system based on mobile internet big data
CN107305459A (en) 2016-04-25 2017-10-31 阿里巴巴集团控股有限公司 The sending method and device of voice and Multimedia Message
CN107368995A (en) * 2016-05-13 2017-11-21 阿里巴巴集团控股有限公司 Task processing method and device
KR102274739B1 (en) * 2017-03-06 2021-07-09 삼성전자주식회사 Method and electronic device for setting alram
US10382613B2 (en) * 2017-06-30 2019-08-13 Acintyo, Inc. Social alarms and reminders
CN109983458B (en) * 2017-09-18 2024-02-09 华为技术有限公司 Recommendation method and terminal
TWI661401B (en) * 2017-12-29 2019-06-01 拓連科技股份有限公司 Management methods and systems for suitcase reminder, and related computer program products
CN108319486B (en) * 2018-01-31 2023-08-15 努比亚技术有限公司 Screen locking notification regulation method, device and computer readable storage medium
US10877784B1 (en) * 2018-05-30 2020-12-29 Facebook, Inc. Determining and servicing user intent with a virtual assistant
US11301819B2 (en) 2018-09-07 2022-04-12 International Business Machines Corporation Opportunistic multi-party reminders based on sensory data
US10686931B1 (en) * 2018-12-04 2020-06-16 Ncr Corporation Smartphone messaging apps interaction with airport smart artificial intelligence
US10867286B2 (en) * 2019-01-13 2020-12-15 Acintyo, Inc. Social alarms and reminders
KR20210097563A (en) * 2020-01-30 2021-08-09 삼성전자주식회사 Electronic device for supporting a task management service
CN111461200B (en) * 2020-03-30 2023-11-21 科大讯飞股份有限公司 Event reminding method and device, electronic equipment and computer readable storage medium
CN111859944B (en) * 2020-07-17 2022-12-13 维沃移动通信有限公司 Information display method and device and electronic equipment
CN111784312B (en) * 2020-08-20 2022-07-05 支付宝(杭州)信息技术有限公司 Reminding method and device
US20220165265A1 (en) * 2020-11-24 2022-05-26 Arris Enterprises Llc Context-sensitive actions within client device
CN114579026A (en) * 2020-11-30 2022-06-03 上海擎感智能科技有限公司 Method for information processing, electronic equipment and computer storage medium
CN115328377A (en) * 2021-04-23 2022-11-11 中兴通讯股份有限公司 Intelligent reminding method, intelligent reminding terminal and computer readable storage medium
CN113992429B (en) * 2021-12-22 2022-04-29 支付宝(杭州)信息技术有限公司 Event processing method, device and equipment
US20230267819A1 (en) * 2022-02-21 2023-08-24 International Business Machines Corporation Adaptive alert messaging
US20230368633A1 (en) * 2022-05-13 2023-11-16 Capital One Services, Llc Systems and methods for intelligent alerting

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8254558B2 (en) * 2007-10-02 2012-08-28 Incontact, Inc. Contact handling systems including automated return contact response reminders
US20120311583A1 (en) * 2011-06-03 2012-12-06 Apple Inc. Generating and processing task items that represent tasks to perform

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039596B1 (en) * 2002-01-18 2006-05-02 America Online, Inc. Calendar overlays
GB0202373D0 (en) * 2002-02-01 2002-03-20 Symbian Ltd Location bookmarks
US7925525B2 (en) 2005-03-25 2011-04-12 Microsoft Corporation Smart reminders
US7400229B2 (en) * 2005-04-04 2008-07-15 International Business Machines Corporation Method, system, and computer program product for providing an intelligent event notification system
KR101189444B1 (en) * 2005-09-29 2012-10-09 엘지전자 주식회사 Mobile terminal and schedule management method therefor
US20080004926A1 (en) 2006-06-30 2008-01-03 Microsoft Corporation Methods and architectures for context-sensitive reminders and service facilitation
US8799954B1 (en) * 2006-07-31 2014-08-05 Rovi Guides, Inc. Systems and methods for providing custom media content flipping
US8631448B2 (en) * 2007-12-14 2014-01-14 Stratosaudio, Inc. Systems and methods for scheduling interactive media and events
US20100273460A1 (en) * 2009-04-27 2010-10-28 Dorbie Angus Macdonald Integrated alert system
US8639719B2 (en) * 2011-02-02 2014-01-28 Paul Tepper Fisher System and method for metadata capture, extraction and analysis
US8832301B2 (en) * 2011-07-21 2014-09-09 Parlant Technology System and method for enhanced event participation
KR102006741B1 (en) * 2011-08-24 2019-09-02 삼성전자 주식회사 Method and system sharing activity of a device
US9830050B2 (en) * 2011-11-23 2017-11-28 Salesforce.Com, Inc. Computer implemented methods and apparatus for providing a reminder regarding a feed item of a feed of an online social network
US20140067455A1 (en) * 2012-08-30 2014-03-06 Palo Alto Research Center Incorporated Method and apparatus for automatically managing user activities using contextual information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8254558B2 (en) * 2007-10-02 2012-08-28 Incontact, Inc. Contact handling systems including automated return contact response reminders
US20120311583A1 (en) * 2011-06-03 2012-12-06 Apple Inc. Generating and processing task items that represent tasks to perform

Also Published As

Publication number Publication date
US9460608B2 (en) 2016-10-04
US20140070945A1 (en) 2014-03-13
US10026063B2 (en) 2018-07-17
US20170178086A1 (en) 2017-06-22
WO2014042798A2 (en) 2014-03-20
WO2014042798A3 (en) 2015-02-19

Similar Documents

Publication Publication Date Title
US10026063B2 (en) Reminder creation for tasks associated with a user event
US11803819B2 (en) System and method of providing to-do list of user
US9712643B2 (en) Method and device for calling a taxi
EP2847978B1 (en) Calendar matching of inferred contexts and label propagation
US20180084104A1 (en) Contextual alarm and notification management
US20170004126A1 (en) Information display method and device
US8838412B2 (en) Systems and methods for providing warning of anomalous alarm clock settings
CN107967154B (en) Reminding item generation method and device
US20150143281A1 (en) Notifications and reminders based on user states
CN105139185B (en) Schedule reminding method and terminal
US20180260819A1 (en) Systems and methods for real time message processing using an event driven framework
US20160026978A1 (en) Method and device for agenda management
US20190050775A1 (en) Configuring an application feature using event records
US20160117202A1 (en) Prioritizing software applications to manage alerts
US20150149232A1 (en) Method and system for scheduling an event at a computing device
JP2017532531A (en) Business processing method and apparatus based on navigation information, and electronic device
US20180089372A1 (en) Identifying non-routine data in provision of insights
US11659094B2 (en) Scheduling automatically initiated call between users
WO2019133155A1 (en) Time impact indication system
US9506773B1 (en) Automatic navigation assistance based on calendar data
US20170329287A1 (en) System and program
WO2017004346A1 (en) Information display method and device
KR101857904B1 (en) Method for providing appointment managing service based on appointment information expressed one or more division area and computer program stored recoding medium for executing the same
KR102373530B1 (en) Method for providing appointment managing service based on appointment information expressed one or more division area
KR102665642B1 (en) Method for managing schedule and electronic device supporting the same

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION