Patent Publication Number: US-2017372267-A1

Title: Contextual model-based event rescheduling and reminders

Description:
TECHNICAL FIELD 
     Embodiments described herein generally relate to scheduling and communication functions implemented on electronic devices and, for some examples, the control and operation of scheduling and communication software features for event rescheduling and reminders provided on devices such as mobile smartphones, wearable devices, and related data communication systems. 
     BACKGROUND 
     The emergence of personal electronic devices with feature-limited screens and input controls has introduced a number of user-experience challenges. Such devices, such as wearable devices linked or tethered to smartphones, often include very small display output areas and input controls (for example, in the small screens and buttons provided by wristwatch and headset wearable devices). As a result, many user interfaces of wearable devices are able to only display abbreviated or summarized parts of the most relevant information, and such devices provide limited options to respond to events generated by communication and scheduling applications. 
     With limited-feature output devices, such as wearables, it is difficult (or not possible) to present a user with a long list of response options to view, select, or interact with. This often degrades in the user experience provided by the wearable device. When a user desires to delay or reschedule an event (such as a phone call, a meeting, or the like) based on specific time and schedule constraints, the user may spend a large amount of time attempting to input the desired response to the event on the wearable device, or use another device to more effectively provide the input. 
     Some current software products provide basic “snooze” options, to allow a subsequent reminder of a meeting, call, or other event. Available snooze options are typically based on fixed time intervals (such as to snooze the notification for 5, 10, 30 minutes), and do not provide assistance if the user&#39;s schedule is variable or requires specific planning. As a result, many events become further delayed or skipped entirely. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. Some embodiments are illustrated by way of example, and not limitation, in the figures of the accompanying drawings in which: 
         FIG. 1  illustrates an overview of a communications environment including processing and interactions among a computing device, a wearable device, and an event scheduling service, for implementing event scheduling reminders and controls, according to an example; 
         FIG. 2  illustrates a use case scenario of performing scheduling functions in a machine learning model with online and offline logic, according to an example; 
         FIG. 3  illustrates a sequence diagram of communications performed to support a machine learning model of scheduling functions using offline logic, according to an example; 
         FIG. 4  illustrates a further sequence diagram of communications performed with event rescheduling using a machine learning model implementing online and offline logic, according to an example; 
         FIG. 5  illustrates a histogram representing data used in machine learning model rescheduling operations, according to an example; 
         FIG. 6  illustrates a visualization of a schedule implemented with model rescheduling operations, according to an example; 
         FIG. 7  illustrates a chart representing data used in machine learning model rescheduling operations, according to an example; 
         FIG. 8  illustrates a flowchart of a method performed by an event scheduling service for performing contextual event rescheduling with a user device using a machine learning model, according to an example; 
         FIG. 9  illustrates a flowchart of a method performed by a user device for contextual event rescheduling with an event scheduling service, according to an example; 
         FIG. 10  illustrates a block diagram for an example system including a client computing device, a wearable device, and a server, configured to implement client-side and server-side features of an event rescheduling service, according to an example; and 
         FIG. 11  illustrates a block diagram for an example computer system architecture upon which any one or more of the techniques (e.g., operations, processes, methods, and methodologies) discussed herein may be performed, according to an example. 
     
    
    
     DETAILED DESCRIPTION 
     In the following description, methods, configurations, device components, and related apparatuses are disclosed that provide contextual event rescheduling and modifications using data processed at an event scheduling service, based on the use of a machine learning model. This data is processed based on offline data training of the model and online data provided to the model from various user-specific and user-generic (e.g., external) data sources. As a result, a logic rules-learning model may be applied to identify and apply an appropriate event rescheduling option, including time and parameters, for an electronic communication event, based on historical and real-time data inputs from user devices. 
     In an example, the presently described techniques and configurations are applied to enable a virtual computerized assistant, scheduling program, communication program, or other software utility, to consider a context, calendar availability, calling patterns and routines for the scheduling and rescheduling of an electronic communication event. Such functionality is not provided in current digital assistant products such as Google® Now, Apple® Siri, Microsoft® Cortana, or in phone or voice-over-IP applications Skype™, Viber™, Tango™, and the like. Rather, current digital assistant products do little more than display availability from a user&#39;s calendar (if calendar information is available), or offer limited snooze or reminder options. The presently described techniques describe the technical infrastructure used to perform intelligent and context-sensitive rescheduling of an electronic communication event, with the context being determined from a combination of real-time and online data, and processing of such data from historical data trained models. 
     In an example, a contextual action option may be generated for a wearable device to represent the most relevant timing for activing a reminder or snoozing option to fulfil a user&#39;s intent. The contextual action may include a personalized option for rescheduling a communication event based on the specific user behavior and user context, enabling a recommendation of a relevant reminder that may be activated by a single action. This may assist users (and the electronic devices operated by the users) to identify and utilize a best contextual and semantic time to reschedule a communication event such as a phone call, videoconference, chat session, or the like, particularly with use of devices with limited input or output capabilities. Further, providing such assistance enables the selection of the most relevant option for activating a reminder (or snoozing a communication), with the use of a single action that may be output even where the user interface display area is limited. 
     The suggested personalized option for rescheduling a communication event may be determined from the use of an offline pre-trained data model, and an online logic engine that is invoked to use the pre-trained data model. For example, the offline pre-trained data model may apply the inputs for a training process from: a detected pattern of the user&#39;s usual action to a given intent; the user&#39;s context given an identification from the device (e.g. in a meeting, running, driving, etc.); the user&#39;s location (e.g. at work, at home, at the movie theater, etc.); and the user&#39;s calendar availability—offering available time slots based on the user&#39;s agenda. The online logic engine may be used to generate a recommended (and personalized) option in response to user activation of a reminder, snooze, or rescheduling option. This recommended option may be produced from a ranking of the most relevant action options, where the top N options may be suggested to the user, based on user interface and device limitations, the user context, and the intent itself. 
     Compared to the existing state of the art, the techniques described herein enable improvements to the operation of scheduling and communication software operating in computing devices, telecommunication networks, and data processing systems. These improvements also provide accuracy and performance benefits to the logic, search, and analytic functions performed in such devices, networks, and systems. Such features also improve the functioning of the hardware and software within the respective devices, networks, and systems, through reduced processing from an improved accuracy in scheduling operations, reduced bandwidth and hardware usage by electronic communications, reduced (data-driven) user interactions, and improved success and accuracy of electronic communication sessions. 
     Existing programs do not provide the capability or logic for activating quick and personalized (e.g., contextual and behavioral dependent) reminders or snoozing options to an intent with a single (or a contextual) user action. Such existing programs thus are not able to accept input in the form of single click, tap, or voice activation, or respond with a semantic concept to indicate the notion of “handle this later”. Thus, with existing programs, the user may spend long periods of time to input and respond to a communication event, which results in distraction from user activities and wasted resources. 
       FIG. 1  illustrates an overview of an example communications environment  100  including processing and interactions among a computing device  110  (e.g., a smartphone), a wearable device  130  (e.g., a smartwatch), and an event scheduling service  150  (e.g., a cloud-based server), for implementing the presently described event rescheduling techniques. It will be understood that additional components and circuitry not depicted in  FIG. 1  may be used to implement the following data processing and communication techniques. 
     The computing device  110  is depicted as a smartphone, but in other examples, may be a desktop or notebook personal computer (PC), a tablet, a thin client device, or other form factor including an integrated or separate display screen. As shown, electronic communications with the computing device  110  may include communications  111  between the computing device  110  and the wearable device  130  (e.g., wireless communications using Bluetooth, Wi-Fi, near field communications (NFC), etc.), and communications  112  between the computing device  110  and the Internet/WAN (wide area network)  120 . The computing device  110  may be communicatively coupled to other devices (not shown) via wired or wireless connections that communicate a digital signal. 
     The wearable device  130  is depicted as a smartwatch, but in other examples, may be provided in a smart bracelet, clothing, accessories, or in a standalone device form factor that is not necessarily wearable. The wearable device  130  may include or be coupled to at least one sensor (e.g., integrated within the housing, assembly, or unit of the wearable device  130 ), including sensors to detect physiological characteristics of the user (e.g., through a heart rate monitor, temperature sensor, activity sensor) or environmental characteristics of the user&#39;s environment (e.g., through an accelerometer, gyroscope, etc.). The wearable device  130  may also include at least one output medium, such as a touchscreen display  132 , and at least one input medium, such as buttons exposed from an exterior of the wearable device  130  or touch input locations recognized by the touchscreen display  132 . Other types of sensors and input/output mechanisms not depicted in  FIG. 1  may be included in or coupled to the wearable device  130 . 
     The sensor data produced from among the respective sensors of the wearable device  130  may be communicated to the computing device  110  via the communications  111 . This sensor data may be used indicate real-time context information and user state that is relevant to scheduling and rescheduling operations. In certain examples, based on the number of sensors and the data processing involved, the wearable device  130  may perform electronic operations to process the sensor data directly at the wearable device  130 . In other examples, the wearable device  130  may relay the sensor data to the computing device  110  for processing (including in scenarios where the computing device  110  further transmits the sensor data to a remote service for analysis). 
     The computing device  110  utilizes the communications  112  with the Internet/WAN  120  to connect to data services offered by the event scheduling service  150 . The event scheduling service  150  may host and train scheduling models, process scheduling data with the scheduling models, and generate a proposed schedule/reschedule or proposed communication parameters (including time/date and medium characteristics) for an electronic communication event. The event scheduling service  150  may include features of a server computing system  154  to execute logic and perform analysis of event scheduling data models, a data store  156  to store the event scheduling data models and collect information related to the event scheduling functions, and machine learning models  158  that are stored, hosted, or persisted to facilitate the evaluation of scheduling data. Other features of the event scheduling service  150  not shown may include server management features, application programming interfaces, network data and processing balancing features, and other aspects of a server-/cloud-based processing system. 
     The computing device  110  is depicted as being connectable to a plurality of other communication devices associated with other users  140 , with such other communication devices accessible via respective types of electronic communication mediums. The proposed electronic event scheduling operations, implemented with the event scheduling service  150 , are performed to facilitate communications between the computing device  110  and the other communication devices ( 142 ,  144 ,  146 ) via these electronic communication mediums. For example, the other communication devices may include a mobile phone  142  accessible via a connection  113  with mobile phone (e.g., cellular) wide area voice and data networks; a phone  144  accessible via a connection  114  with landline (e.g., Plain Old Telephone System (POTS)) phone networks; and a computing device  146  accessible via a connection  115  with a wide area network (e.g., wired or wireless Internet connection). 
       FIG. 2  illustrates an example use case scenario  200  performing scheduling functions in a machine learning model with online and offline logic. In an example, the use case scenario  200  for scheduling or rescheduling an electronic communication event (such as a phone call) between two or more people may be used to locate a best fit for respective users&#39; routine, needs, context and availability constraints. The operation of the use case scenario  200  may be facilitated by user interaction with an event scheduling service that operates machine learning models and logic, based on the following example. 
     As shown, the use case scenario  200  of  FIG. 2  includes a series of data flows occurring from external state sources  210  and user state sources  250 , which provide data for use with offline logic  220  (e.g., historical data model training through behavioral learning) and online logic  240  (e.g., real-time data model evaluation). The logic  220 ,  240  uses the information that is stored for two or more people to schedule or reschedule an electronic communication event (e.g., phone call) between them, at time slots that fit with each user&#39;s planned day. The logic  220 ,  240  evaluates the elements in the user&#39;s day and evaluates the user&#39;s common behavior for performing the communication with other people (the callees). From this logic, the scheduling system generates identified schedule characteristics  270  that indicate optimal times for the electronic communication event based on one (or both) party&#39;s availability characteristics. These availability characteristics may include schedule availability (based on calendar meetings), planned locations, nature of relationship (e.g. family, friends, colleagues, etc.), planned activity (e.g. driving, running), routine behavior (e.g. usually talk during work hours), and the like. 
     The offline logic  220  may be implemented in a scheduling system to perform user-customized machine learning training  222 , such as to refine and improve the user-based machine learning models  232 . These machine learning models may be stored in a database system  230  within the scheduling system. The offline logic  220  operates as a behavioral learning component that is adapted to a particular user through the use of the machine learning training  222 . Such training takes into account the historical behavior of each user and the user&#39;s co-behavior of establishing a communication (e.g., a call) and the different contexts and states for making such communication. This data is processed and input to a personalized machine learning model (one of the user-based machine learning models  232 ) that is used by the online logic  240  for predicting an optimal time to make or reschedule a communication based on past behavior. 
     The offline logic  220  may be further customized for purposes of contextual reminders and rescheduling. The offline logic  220  gathers data and creates a supervised machine learning model that implicitly analyzes user&#39;s actions to a given intent for a rescheduling communications made by the user (e.g. when and how to return phone calls) while taking into account the user&#39;s context at the time. For example, the module recognizes communication event rescheduling patterns such as: “the user tends to call back when leaving work”, “the user is not likely to call back while driving”, or “Alice always calls Bob back immediately”. This output is then stored in the user-based machine learning models  232  for use with the online logic  240 . 
     The online logic  240  performs functions to identify a schedule or schedule characteristics  270  for an electronic communication event. The online logic  240  may operate to compute recommended “optimal” timeslots for the intent of the communication (e.g., to reschedule an attempted communication after a particular activity). In an example, an optimal timeslot for the rescheduled event may be automatically “anchored” on the user&#39;s timeline (timeline  242 ). This may be performed with an “anchoring” component that considers a current user context, calendar availability of all involved users, planned activity of all involved users, and a prediction of the pre-trained machine learning model (data  244 ) for a future user context. 
     The online logic  240  also may be further customized for purposes of contextual reminders and rescheduling. Once an intent to reschedule is established by a user (or a reminder or snooze feature is activated), one or more optional time slots (based on clock or semantic times) for anchoring the intent are evaluated by the online logic  240 . The online logic may rank these options according to the pre-trained offline model inputs of the offline logic  220 . The most suitable time (as ranked) to fulfill the intent for rescheduling may be communicated and output to the user as part of the identified schedule characteristics  270 . The suggested time slot for the proposed rescheduled event may correspond to a specific time (“16:30”) or a semantic text string (“after the meeting”) that has a contextual, relative, or temporal meaning. 
     The offline and online logic modules  220 ,  240  receive data from mobile devices  252  and wearable sensors  254 , as well as external data sources  210  that provide global data (e.g., applicable to multiple users). The data from a mobile device  252  and wearable sensor  254  of a particular user may include calendar appointments, tasks, phone calls, text messages, emails, location, connectivity (e.g., Wi-Fi/cellular, Bluetooth) information, activity (driving, running, etc.) information, environment noise, physiological data (e.g., pulse, body temperature, stress, sleep), and the like. This user-specific data is enhanced with the addition of data from external data sources such as weather data  212 , public traffic data  214  or like transportation schedules (e.g., transit, flight schedule and locations), and known event data  216  that indicates events for the user or in proximity to the user. For example, if a user is driving in a traffic jam, the user may be able to immediately talk on a phone call; if weather conditions near a user are inclement, then a user may not be able to talk for a period of time (or may arrive late to a meeting); if a user is scheduled to attend an event that is busy, then the user may not be able to schedule a phone call immediately prior to or after the event. 
     Aspects of the previously described offline logic  220  and online logic  240  may be implemented as part of an event scheduling service, such as the event scheduling service  150  depicted in  FIG. 1 . However, other aspects of the offline logic  220  and online logic  240  may be integrated for use with an intermediate computing device, software programs and logic executed on the mobile devices and wearable sensors  254 , or directly into communication services (e.g., information services provided by communication or internet service providers). 
       FIG. 3  illustrates an example sequence diagram  300  of communications performed to support a machine learning model using offline logic, according to an example. The sequence diagram  300  specifically illustrates a sequence of communications performed to support a machine learning model of scheduling and rescheduling functions based on offline logic. 
     In an example, the sequence diagram  300  may integrate the features of the offline logic, online logic, database, and external sources depicted in  FIG. 2 . As depicted, the sequence diagram  300  includes a first user, User A  302 , operating one or more devices, User A Devices  304 ; and a second user, User B  312 , operating one or more devices, User B Devices  314 ; online logic  320 , a database  330 , and offline logic  340 ; and external data sources  350 . 
     Further to the examples of offline logic discussed above, the offline logic  340  in the sequence diagram  300  is used to obtain data and train a supervised machine learning model based on past behavior, activity, and context. For example, the machine learning model produced by the offline logic  340  may reflect patterns in the user&#39;s behavior regarding voice call events, by evaluating the actual voice calls that the user has performed in the past. This model may identify concepts such as: a user tends to answer calls from the user&#39;s workplace while driving; a user calls a specific phone number when leaving a work place; User A talks to user B on the phone every work day between 10:00 and 10:30 am; User C immediately returns calls from User D; and the like. The model and data needed to use it is stored in the database  330  for online use (e.g., for access and consumption by the online logic  320 ). 
     As a further example, the offline logic  340  and its inputs may also be used to assess the historical behavior of a user related to a communication event and the context of the communication event. For instance, if user Bob receives a phone call from his friend John while exercising on Wednesday evening, then the offline logic  320  may record the context of the communication (Wednesday, Evening, at the Gym, Exercising) and the specific caller (John). The historical contextual information for user Bob may indicate, however, that user Bob prefers to take calls from other callers (Mary, Joe, unknown callers) after exercising, as determined from a prior recorded behavior—such as from a Wednesday night where Bob chose to call Mary immediately after exercising and a Thursday night where Bob chose to call Joe  10  minutes after exercising. 
     Data is reported to the offline logic  340  by User A devices  304  (e.g., mobile/wearable sensors) through the use of online user data/state reporting  352 , and by User B devices  314  (e.g., mobile/wearable sensors) through the use of online user data/state reporting  354 . The offline logic  340  also requests data  356  and receives external data  358  from external data sources  350 . Based on the data inputs from the reporting  352 ,  354  and external data  358 , a machine learning model is calculated, trained, and stored  360  in the database  330 . This training process may occur periodically to keep the model updated. 
     In an example, the online logic  320  operates to assist a rescheduling scheduling operation in response to user input or a user request to reschedule an electronic communication event with another party. Current and future time slots for the communication event are evaluated by the model generated from offline logic  340  and ranked by their suitability for the type and characteristics of the event (e.g., a phone call). A scheduled time slot may be suggested to the user by order of suitability or the best time slot may be chosen automatically. The time slots may be either a specific hour (“16:30”) or a semantic text string (“After this meeting”). Thus, the use of a user-specific data model by the online logic  320  may generate the timeline of a user&#39;s day, in which a user may anchor different intents and actions over time, different times or locations, or different contexts. 
     In contrast to this approach, existing solutions today for scheduling events only take into account a user&#39;s calendar availability. Many types of communication events such as phone calls have constraints that do not apply to face-to-face meetings, such as: required duration for the call, tendency to talk during another activity (e.g. while driving), preferred locations for the call (work, home, car) and environmental constraints (such as noise). Existing digital assistants enable users to set up call reminders but require specifying the exact time for the call reminder. The online logic  320  and the use of a trained data model operates to evaluate the relevant information regarding all required attendees of the event and schedules (or re-schedule) the event accordingly to a machine-adaptive process. The online logic  320  operates to seamlessly coordinate the event taking into account necessary constraints and behavioral inputs, in a data-driven approach. 
       FIG. 4  illustrates a further sequence diagram  400  of communications performed with event rescheduling using a machine learning model implementing online and offline logic, according to an example. As shown, the sequence diagram  400  includes features of the sequence diagram  300  described above for  FIG. 3 , including the users ( 302 ,  312 ), user devices ( 304 ,  314 ), and elements of the event scheduling services ( 320 ,  330 ,  340 ) and external data source  350 . 
     In the example sequence diagram  400  depicted in  FIG. 4 , User B  302  operates one or more of the User B devices  314  to attempt a contact  452  to User A  304 . The contact attempt  454  to User A  304 , however, goes unanswered (or is declined, or otherwise unsuccessful). The User A device  304  responds with a request  456  to request a rescheduled event time from online logic  320 . 
     In response to the request to schedule the event with User B  312 , the online logic  320  gathers more information from User B  312 . This information may be collected via a request  462  for a user state from one or more User B devices  314 , and a response  464  that returns the current state data. Additionally, in response to the request to reschedule the event with User B  312 , the online logic  320  operates to request data  458  from one or more of the external data sources  350 , such as weather, traffic, or event data types. The external data sources  350  return a data response  460  including current and future (e.g., projected) data for these data types. 
     The online logic  320  operates to provide a data model request  466  from a database  330  or other data store that hosts user-based machine learning models. Based on the characteristics of the users, the type of event, or state characteristics, the database  330  or data store returns a machine learning model and calculated data values  468  to consume the model. The online logic  320  then applies the calculated data, state data, and current and future data for the users and user activities into machine learning model, to determine schedule recommendations and predictions. 
     The schedule recommendations and predictions determined by the online logic  320  may be used to produce a plurality of identified times (e.g., ranked times) for rescheduling of a communication event, with such times being communicated to the User B devices  314  with a communication  470  and output to the User B  312  with a data output  472 . The plurality of identified times for the rescheduling of the event may be interacted with by the User B  312 , to receive a selection of a time slot  474  with the User B devices  314 . 
     In response to the selection of the time slot and other characteristics of the scheduled event, the User B devices  314  may communicate reschedule event details  476  for the upcoming event to User A devices  304 , such as via electronic communication (including email, SMS, instant message, or like communication forms). In some examples, the rescheduled event details  476  may be communicated in whole or in part to the User A devices  304  via the event scheduling service, an internet provider, or data service. Finally, based on the receipt of the reschedule event details  476  at the User A devices  304  or the User B devices  312 , a re-attempt of the communication event  478  may occur at the scheduled time. This may include a notification at the rescheduled time from the user B devices  314  to re-attempt the event with user A  302 ; or a notification at the scheduled time from the user A devices  304  to re-attempt the event with user B. 
     In contrast to these reschedule techniques, current techniques for event rescheduling do not take into account the user&#39;s context or behavioral pattern, and therefore result in an incomplete experience when using devices that offer with user interface limitations. In addition, the current techniques offer a generic experience across different users for rescheduling (“one size fits all”). The techniques described herein provide an adaptive learning of a contacting and a contacted user&#39;s actions over time to a given intent, to suggest the most relevant and personalized action option(s) for that intent given the changing context of event rescheduling. Accordingly, the use of the techniques indicated in sequence diagram  400  may be used for: contextual snoozing (e.g., a user wishes to conduct the communication event at a later time); reminders (e.g., to fulfill a particular intent, such as a phone conversation or meeting); and re-attempts (e.g., to retry communication with another user based on the users&#39; behavior and availability of what time is projected to be successful). 
       FIG. 5  illustrates an example histogram  500  representing data used in machine learning model scheduling and rescheduling operations. For example, the histogram  500  depicts a modeling of the combined distribution of phone-calls that occur between two users, by hour of day. As shown, the two users tend to talk to each other between the working hours of 9 AM to 7 PM; with a majority of calls centered in mid-morning and late afternoons. This communication event activity between two users will be collected and analyzed as part of the offline data collection (e.g., depicted in  FIG. 3 ), and integrated into a scheduling model of the user-based machine learning models. 
       FIG. 6  illustrates an example visualization  600  of a schedule implemented with model scheduling operations. This visualization corresponds a combined schedule of the users involved in the histogram  500  of  FIG. 5 . The visualization  600  of the schedule shows important meetings from 8 AM to 11 AM (indications  604 ,  606 ) and travel prior to these meetings (indications  602 ). As an assumption for this scenario, the users are unavailable or prefer to not to talk on the phone during a meeting. 
     In this scenario, the time slot 11:00-12:00 will be ranked high for a mutual phone call since the users tend to talk at this time and are available to talk. The 08:00-11:00 slot will be ranked low due to lack of availability in meetings, and 07:00-08:00 will be ranked low due to travel time and low incidence of calls between the users. Times between 12:00-15:00 will be ranked low since the users tend to talk less at these hours. As result, a proposed call may be automatically scheduled at 11:15 (indication  608 ), to allow conclusion of the prior meeting, and a schedule opening for the user during a lunch hour (indication  610 ). 
     The schedule openings may be used for rescheduling operations, including in scenarios where a semantic selection option is presented. For example, a semantic option with text labeled “After Meeting” would be ranked high for a return phone call in the schedule of the visualization  600 . Another semantic option might be “During Lunch Hour” or “During Travel”. A suggested time for a reminder to could be output directly on a user&#39;s wearable device, and the caller will be reminded to call once the user the activity is suitable (e.g., the user begins driving). Additionally, based on this automatic ranking and rescheduling, a smart events timeline may be constructed and output to the user. A user may perform interaction functions such as adding reminders, updating events, and adjusting and recalculating a timeline, using time-based and activity-based semantic recommendations. 
     As another example of a contextual reminder, consider a user case where a user&#39;s spouse sends a message asking the user to visit a pharmacy in the evening. When the message is received in the computing device, a contextual option for “Remind me later” may be presented. If the user selects that option, a scheduling system will locate the relevant pharmacy, plan the best time to stop at the pharmacy, and initiate reminders regarding the visit to the pharmacy; all while taking into account the user&#39;s routine and time constraints for the day. 
       FIG. 7  illustrates an example chart representing data used in machine learning model scheduling operations. The chart specifically shows a user&#39;s distribution of phone calls by Activity/Means-of-Transport: 80% of the phone calls are performed while the user is In-Vehicle (indication  710 ), whereas 20% are performed while the user is Stationary (indication  720 ). In the scenario visualized by the chart, a semantic concept associated with the identified activity, such as “Next Drive”, will be ranked high for a phone call. In a further example, an unsuccessful caller may be notified that the call will be scheduled to the next drive (without a specific hour). The caller will be reminded to call once beginning the activity. 
       FIG. 8  illustrates a flowchart  800  of a method performed by an event scheduling service for performing contextual event rescheduling using a machine learning model. In an example, the method of flowchart  800  is executed by a system including a remote computing device (e.g., server computing device), which comprises processing circuitry to perform the respective operations. However, it will be understood that the following techniques may be modified for additional or substitute processing actions at another data processing system or service, or a client user-operated device (e.g., smartphone or wearable device). 
     As shown, the flowchart  800  includes operations for programming offline logic used in a data model. These may include operations that collect data from external state sources (operation  810 ) and collect data from one or more user devices (operation  820 ), used as training data. Based on the training data, the machine learning model may be modified based on user and event availability, and the modifications to this machine learning model may be updated and stored (operation  830 ). These operations for training may occur prior to a request for scheduling or rescheduling of a particular communication event (or, after the performance of a particular communication event, to provide updated training data for use in processing future requests). 
     The flowchart  800  further includes the depiction of operations at the event scheduling service (operations  840 - 890 ) for processing of an event rescheduling request. The processing of the event rescheduling request may be initiated with the receipt of an indication of an event rescheduling for a particular user communication event (operation  840 ), such as with a reschedule indication triggered by a missed phone call or meeting. In response to the indication of the event rescheduling, the event scheduling service operates to determine constraints and behavioral inputs of the contacting (e.g., initiating) user, the contacted user, and other users to be involved in the electronic communication event (operation  850 ). The constraints and behavior inputs that are determined for the users are used to determine a set of action options for event rescheduling (operation  860 ), including action options to be displayed and output as a contextual or semantic option for a reminder or rescheduling. 
     A ranking for the action options may be determined based on the number, type, and form of the action options, and the device output characteristics of the device that will output a reminder or rescheduling option (operation  870 ). For example, a user device that has limited input selection options and output screen area, may provide a top-ranked “snooze” option that is determined by the event scheduling service. The description, text, icon, or graphic for this snooze option may be customized to characteristics of the device (such as output screen size or input choices). The ranked action options (or a top ranked action option) and a time for the event rescheduling is then communicated to the contacting or contacted users (or both users), or other users to be involved in the electronic communication event (operation  880 ). Finally, in some examples, the scheduling service may facilitate the electronic communication event between the users via one or more electronic communication mediums (operation  890 ). 
       FIG. 9  illustrates a flowchart  900  of a performed by a user device for contextual event rescheduling with an event rescheduling service. In an example, the method of flowchart  900  is executed by a system including a user-operated device (e.g., mobile computing device), which comprises processing circuitry to perform the respective operations. However, it will be understood that the following techniques may be modified for additional or substitute processing actions at the user-operated device, another user-operated device (e.g., wearable device), or a remote computing device (e.g., an event scheduling service or server). 
     As shown, the flowchart  900  begins with the receipt, at a user device, of an indication of an event unavailability or a missed communication event with another user (operation  910 ). This indication may be provided from a missed call or ignored communication, a notification from a scheduling service, or like attempted communication. In response to this indication, the user device requests event rescheduling time and action options from a scheduling service (operation  920 ). The request for the event rescheduling time and action options to the scheduling service may be accompanied by the transmission of user contextual information and device characteristics (operation  930 ). 
     In response to the request, the user device receives an event rescheduling time and one or more ranked action options from the scheduling service (operation  940 ). This may correspond to the scheduling service communication (operation  880 ) discussed in  FIG. 8 . Based on the received event rescheduling time and the one or more ranked action options, at least one of the event action options are output to the user via the user device (operation  950 ). The user device then may receive a selection of the top ranked event action option (e.g., “Call Back after Meeting”, if it is determined that the user is in a meeting), or the selection of an alternate event action option (e.g., “Call Back in Evening”) (operation  960 ). The communication event may then be performed at the reschedule time, based on the conditions and characteristics of the selected event action option (operation  970 ). 
       FIG. 10  is a block diagram illustrating an example system  1000  including a user computing device  1010 , a wearable device  1030 , and a server  1040 , implementing circuitry and structural electronic components that may be configured for implementation of the techniques described herein. In accordance with the previous described configurations, the system  1000  may have these devices operably coupled (e.g., communicatively coupled) with one another, but it will be understood that additional components (other wearable devices, sensors, databases, and processing components) may be integrated at a variety of locations in the system. Further, the capabilities of the user computing device  1010  and the wearable device  1030  may be integrated in some examples into a single apparatus (e.g., a smartphone with built-in sensors). 
     The user computing device  1010  is depicted as including a contextual scheduling processing component  1020 , in addition to a display  1012 , a speaker  1014 , a microphone  1016 , a wireless transceiver  1017 , a processor  1018  (e.g., a CPU), and a memory  1019  (e.g., volatile or non-volatile memory). In an example, the contextual scheduling processing component  1020  may be provided from specialized hardware operating independent from the processor  1018  and the memory  1019 ; in other examples, the contextual scheduling processing component  1020  may be software-configured hardware that is implemented with use of the processor  1018  and the memory  1019  (e.g., by instructions executed by the processor  1018  and the memory  1019 ). Further, the display  1012  may be used to generate a user interface to reschedule the electronic communication event, the speaker  1014  may be used to output audio related to the electronic communication event; the microphone  1016  may be used to receive audio related to the prospective electronic communication even, and the wireless transceiver  1017  may be used to receive the sensor data from the wearable device  1030  (or perform wireless communications with communication networks). 
     The wearable device  1030  is depicted as including: a wireless transceiver  1032 , sensor logic circuitry  1034 , a sensor  1036 , processing circuitry  1037  (e.g., a processor and memory, system-on-chip (SoC), etc.), an input control component  1038  (e.g., a button, touchscreen input), and a display component  1039  (e.g., a touchscreen output, LED, etc.). For example, the sensor logic circuitry  1034  may be used to collect activity data from the sensor  1036 ; the wireless transceiver  1032  may be used to communicate the activity data (e.g., to the wireless transceiver  1017 ); the input control component  1038  may be used to receive input relating to selection of a contextual action option; and the display component  1039  may be used to provide output relating to selection of the contextual action option. In accordance with the techniques discussed herein other information items for rescheduling the electronic communication event via the wearable device  1030  may be output with the display component  1039  and interacted with using the input control user  1038 . Although the wearable device  1030  is depicted as being wearable (e.g., a wristwatch, wristband, integrated into clothing or shoes, etc.), these features may also be provided by other form factors of a sensor device (e.g., integrated into the user computing device  1010 , integrated into another electronic device, or operating as a standalone device). 
     The contextual scheduling processing component  1020  of the user computing device  1010  may include respective processing components, such as implemented through specially configured hardware (including with specialized circuitry or with software executed with use of the processor  1018  and memory  1019 ), to perform sensor data processing  1022  (e.g., to determine activity of the user based on the activity data received from the wearable device), user state processing  1026  (e.g., to generate contextual information related to a state of the user), and event model data processing  1024  (e.g., to transmit, to an event scheduling service that provides an trained machine learning model, a request to reschedule an electronic communication event, and to receive a contextual action option, proposed rescheduling time, and proposed scheduling parameters in response). 
     The server  1040  may include storage  1041 , a processor  1042 , a memory  1043 , and operate to host and operate the event scheduling service. server  1040  may further include a database system  1044  to store a trained machine learning model; schedule data processing component  1046  to receive a request to reschedule the electronic communication event, and operate the trained machine learning model to determine the contextual action option, proposed rescheduling time, and proposed scheduling parameters for the prospective electronic communication event; and an external data processing component  1048  to obtain external state data used by the trained machine learning model to determine constraints for the proposed time and proposed scheduling parameters. 
     Although many of the previous examples were provided with reference to a client-server configuration, it will be understood that features of the presently described event rescheduling and management functions may be as part of other consumed cloud-based services, data processing services, personal assistance service, or the like. Additionally, the scheduling functions discussed herein may be integrated into a variety of configurations of audio, visual, and electronic-interactive agents involved in establishing and scheduling communications. 
       FIG. 11  is a block diagram illustrating a machine in the example form of a computing system (e.g., computing device)  1100 , within which a set or sequence of instructions may be executed to cause the machine to perform any one of the methodologies discussed herein, according to an example embodiment. The machine may be a personal computer (PC), a tablet PC, a hybrid tablet/notebook PC, a personal digital assistant (PDA), a mobile telephone or smartphone, a wearable computer, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. Similarly, the term “processor-based system” shall be taken to include any set of one or more machines that are controlled by or operated by a processor (e.g., a computer) to individually or jointly execute instructions to perform any one or more of the methodologies discussed herein. 
     Example computer system  1100  includes at least one processor  1102  (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both, processor cores, compute nodes, etc.), a main memory  1104  and a static memory  1106 , which communicate with each other via an interconnect  1108  (e.g., a link, a bus, etc.). The computer system  1100  may further include a video display unit  1110 , an alphanumeric input device  1112  (e.g., a keyboard), and a user interface (UI) navigation device  1114  (e.g., a mouse). In one embodiment, the video display unit  1110 , input device  1112  and UI navigation device  1114  are incorporated into a touch screen display. The computer system  1100  may additionally include a storage device  1116  (e.g., a drive unit), a signal generation device  1118  (e.g., a speaker), an output controller  1132 , a network interface device  1120  (which may include or operably communicate with one or more antennas  1128 , transceivers, or other wireless communications hardware), and one or more sensors  1130 , such as a global positioning system (GPS) sensor, compass, accelerometer, location sensor, or other sensor. 
     The storage device  1116  includes a machine-readable medium  1122  on which is stored one or more sets of data structures and instructions  1124  (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. The instructions  1124  may also reside, completely or at least partially, within the main memory  1104 , static memory  1106 , and/or within the processor  1102  during execution thereof by the computer system  1100 , with the main memory  1104 , static memory  1106 , and the processor  1102  also constituting machine-readable media. 
     While the machine-readable medium  1122  is illustrated in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions  1124 . The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including but not limited to, by way of example, semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. 
     The instructions  1124  may further be transmitted or received over a communications network  1126  via an antenna  1128  using a transmission medium via the network interface device  1120  utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, mobile telephone networks, plain old telephone (POTS) networks, and wireless data networks (e.g., Wi-Fi, 2G/3G, and 4G LTE/LTE-A or WiMAX networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software. 
     Embodiments used to facilitate and perform the techniques described herein may be implemented in one or a combination of hardware, firmware, and software. Embodiments may also be implemented as instructions stored on a machine-readable storage device, which may be read and executed by at least one processor to perform the operations described herein. A machine-readable storage device may include any non-transitory mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a machine-readable storage device may include read-only memory (ROM), random-access memory (RAM), magnetic disk storage media, optical storage media, flash-memory devices, and other storage devices and media. 
     It should be understood that the functional units or capabilities described in this specification may have been referred to or labeled as components or modules, in order to more particularly emphasize their implementation independence. Such components may be embodied by any number of software or hardware forms. For example, a component or module may be implemented as a hardware circuit comprising custom very-large-scale integration (VLSI) circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A component or module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, or the like. Components or modules may also be implemented in software for execution by various types of processors. An identified component or module of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions, which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified component or module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the component or module and achieve the stated purpose for the component or module. 
     Indeed, a component or module of executable code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within components or modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network. The components or modules may be passive or active, including agents operable to perform desired functions. 
     Additional examples of the presently described method, system, and device embodiments include the following, non-limiting configurations. Each of the following non-limiting examples may stand on its own, or may be combined in any permutation or combination with any one or more of the other examples provided below or throughout the present disclosure. 
     Example 1 is a communication device, comprising processing circuitry to: perform a determination to reschedule an electronic communication event, wherein the electronic communication event is to be rescheduled from a prior time to a future time, and wherein the electronic communication event is to occur between the communication device operated by a user and another communication device operated by another user; transmit, to an event scheduling service, a request for rescheduling the electronic communication event, wherein the request for the rescheduling includes contextual information related to a state of the user, and wherein the contextual information indicates a state of the communication device and activity of the user; and receive, from the event scheduling service, a contextual action option for rescheduling the electronic communication event, wherein the event scheduling service provides a proposed event reschedule time and event scheduling parameters in the contextual action option in response to processing of the contextual information; wherein the event scheduling service uses a trained machine learning model to determine the proposed event reschedule time and the event scheduling parameters based on the contextual information related to the state of the user. 
     In Example 2, the subject matter of Example 1 optionally includes the processing circuitry further to: receive a selection of the contextual action option from the user to confirm the proposed event reschedule time and the event scheduling parameters; and conduct the electronic communication event at the proposed event reschedule time based on the event scheduling parameters, wherein the electronic communication event is performed by establishing an electronic communication session from the communication device to the another communication device. 
     In Example 3, the subject matter of Example 2 optionally includes the processing circuitry further to: output the contextual action option in a listing of a plurality of proposed contextual action options, wherein the contextual action option is ranked in the plurality of proposed contextual action options by the event scheduling service; wherein operations to receive the selection of the contextual action option include operations to receive a selection of the contextual action option from the listing of the plurality of proposed contextual action options. 
     In Example 4, the subject matter of any one or more of Examples 2-3 optionally include wherein the contextual action option includes a semantic text string that corresponds to a description of the proposed event reschedule time and the event scheduling parameters. 
     In Example 5, the subject matter of any one or more of Examples 1-4 optionally include wherein the event scheduling service further evaluates contextual information of the another user and external state data to determine the proposed event reschedule time and the event scheduling parameters, wherein the external state data evaluated by the event scheduling service includes at least one of: weather data, traffic data, and event data, and wherein the weather data, the traffic data, and the event data are obtained from respective external data sources. 
     In Example 6, the subject matter of any one or more of Examples 1-5 optionally include output a semantic text string corresponding to the contextual action option on a display screen of a wearable device, wherein the wearable device is wirelessly connected to the communication device; and receive a selection of the contextual action option from the wearable device, wherein the selection of the contextual action option confirms the proposed event reschedule time and the event scheduling parameters. 
     In Example 7, the subject matter of Example 6 optionally includes the processing circuitry further to: output a reminder of the electronic communication event at the proposed event reschedule time, wherein the reminder corresponds to the contextual action option. 
     In Example 8, the subject matter of any one or more of Examples 1-7 optionally include the processing circuitry further to: communicate the proposed event reschedule time and the event scheduling parameters to the another communication device. 
     In Example 9, the subject matter of Example 8 optionally includes the processing circuitry further to: collect activity data from a sensor operating in a wearable activity sensor device of the user, wherein the contextual information that indicates the activity of the user includes at least a portion of the activity data; wherein the activity data is used by the trained machine learning model to determine availability of the user for the electronic communication event; and wherein the communication device is a network-connected mobile computing device used by the user. 
     In Example 10, the subject matter of any one or more of Examples 1-9 optionally include wherein the electronic communication event is: a telephone call, a voice-over-IP call, a videoconference, or an online communication session. 
     Example 11 is a method, comprising electronic operations executed in processing circuitry of a communication device, wherein the electronic operations include: performing a determination to reschedule an electronic communication event, wherein the electronic communication event is to be rescheduled from a prior time to a future time, and wherein the electronic communication event is to occur between the communication device operated by a user and another communication device operated by another user; transmitting, to an event scheduling service, a request for rescheduling the electronic communication event, wherein the request for the rescheduling includes contextual information related to a state of the user, and wherein the contextual information indicates a state of the communication device and activity of the user; and receiving, from the event scheduling service, a contextual action option for rescheduling the electronic communication event, wherein the event scheduling service provides a proposed event reschedule time and event scheduling parameters in the contextual action option in response to processing of the contextual information; wherein the event scheduling service uses a trained machine learning model to determine the proposed event reschedule time and the event scheduling parameters based on the contextual information related to the state of the user. 
     In Example 12, the subject matter of Example 11 optionally includes: receiving a selection of the contextual action option from the user to confirm the proposed event reschedule time and the event scheduling parameters; and conducting the electronic communication event at the proposed event reschedule time based on the event scheduling parameters, wherein the electronic communication event is performed by establishing an electronic communication session from the communication device to the another communication device. 
     In Example 13, the subject matter of Example 12 optionally includes: outputting the contextual action option in a listing of a plurality of proposed contextual action options, wherein the contextual action option is ranked in the plurality of proposed contextual action options by the event scheduling service; wherein receiving the selection of the contextual action option includes receiving a selection of the contextual action option from the listing of the plurality of proposed contextual action options. 
     In Example 14, the subject matter of any one or more of Examples 12-13 optionally include wherein the contextual action option includes a semantic text string that corresponds to a description of the proposed event reschedule time and the event scheduling parameters. 
     In Example 15, the subject matter of any one or more of Examples 11-14 optionally include wherein the event scheduling service further evaluates contextual information of the another user and external state data to determine the proposed event reschedule time and the event scheduling parameters, wherein the external state data evaluated by the event scheduling service includes at least one of: weather data, traffic data, and event data, and wherein the weather data, the traffic data, and the event data are obtained from respective external data sources. 
     In Example 16, the subject matter of any one or more of Examples 11-15 optionally include: outputting a semantic text string corresponding to the contextual action option on a display screen of a wearable device, wherein the wearable device is wirelessly connected to the communication device; and receiving a selection of the contextual action option from the wearable device, wherein the selection of the contextual action option confirms the proposed event reschedule time and the event scheduling parameters. 
     In Example 17, the subject matter of any one or more of Examples 11-16 optionally include: outputting a reminder of the electronic communication event at the proposed event reschedule time, wherein the reminder corresponds to the contextual action option. 
     In Example 18, the subject matter of any one or more of Examples 11-17 optionally include: communicating the proposed event reschedule time and the event scheduling parameters to the another communication device. 
     In Example 19, the subject matter of Example 18 optionally includes: collecting activity data from a sensor operating in a wearable activity sensor device of the user, wherein the contextual information that indicates the activity of the user includes at least a portion of the activity data; wherein the activity data is used by the trained machine learning model to determine availability of the user for the electronic communication event; and wherein the communication device is a network-connected mobile computing device used by the user. 
     In Example 20, the subject matter of any one or more of Examples 11-19 optionally include wherein the electronic communication event is: a telephone call, a voice-over-IP call, a videoconference, or an online communication session. 
     Example 21 is at least one machine readable medium including instructions, which when executed by a computing system, cause the computing system to perform any of the methods of Examples 11-20. 
     Example 22 is an apparatus comprising means for performing any of the methods of Examples 11-20. 
     Example 23 is an apparatus, comprising: means for performing a determination to reschedule an electronic communication event, wherein the electronic communication event is to be rescheduled from a prior time to a future time, and wherein the electronic communication event is to occur between a communication device operated by a user and another communication device operated by another user; means for transmitting, to an event scheduling service, a request for rescheduling the electronic communication event, wherein the request for the rescheduling includes contextual information related to a state of the user, and wherein the contextual information indicates a state of the communication device and activity of the user; and means for receiving, from the event scheduling service, a contextual action option for rescheduling the electronic communication event, wherein the event scheduling service provides a proposed event reschedule time and event scheduling parameters in the contextual action option in response to processing of the contextual information; wherein the event scheduling service uses a trained machine learning model to determine the proposed event reschedule time and the event scheduling parameters based on the contextual information related to the state of the user. 
     In Example 24, the subject matter of Example 23 optionally includes means for receiving a selection of the contextual action option from the user to confirm the proposed event reschedule time and the event scheduling parameters; and means for conducting the electronic communication event at the proposed event reschedule time based on the event scheduling parameters, wherein the electronic communication event is performed by establishing an electronic communication session from the communication device to the another communication device. 
     In Example 25, the subject matter of Example 24 optionally includes means for outputting the contextual action option in a listing of a plurality of proposed contextual action options, wherein the contextual action option is ranked in the plurality of proposed contextual action options by the event scheduling service; means for receiving a selection of the contextual action option from the listing of the plurality of proposed contextual action options. 
     In Example 26, the subject matter of any one or more of Examples 24-25 optionally include wherein the contextual action option includes a semantic text string that corresponds to a description of the proposed event reschedule time and the event scheduling parameters. 
     In Example 27, the subject matter of any one or more of Examples 23-26 optionally include wherein the event scheduling service further evaluates contextual information of the another user and external state data to determine the proposed event reschedule time and the event scheduling parameters, wherein the external state data evaluated by the event scheduling service includes at least one of: weather data, traffic data, and event data, and wherein the weather data, the traffic data, and the event data are obtained from respective external data sources. 
     In Example 28, the subject matter of any one or more of Examples 23-27 optionally include means for outputting a semantic text string corresponding to the contextual action option on a display screen of a wearable device, wherein the wearable device is wirelessly connected to the communication device; and means for receiving a selection of the contextual action option from the wearable device, wherein the selection of the contextual action option confirms the proposed event reschedule time and the event scheduling parameters. 
     In Example 29, the subject matter of any one or more of Examples 23-28 optionally include means for outputting a reminder of the electronic communication event at the proposed event reschedule time, wherein the reminder corresponds to the contextual action option. 
     In Example 30, the subject matter of any one or more of Examples 23-29 optionally include means for communicating the proposed event reschedule time and the event scheduling parameters to the another communication device. 
     In Example 31, the subject matter of Example 30 optionally includes means for collecting activity data from a sensor operating in a wearable activity sensor device of the user, wherein the contextual information that indicates the activity of the user includes at least a portion of the activity data; wherein the activity data is used by the trained machine learning model to determine availability of the user for the electronic communication event; and wherein the communication device is a network-connected mobile computing device used by the user. 
     In Example 32, the subject matter of any one or more of Examples 23-31 optionally include wherein the electronic communication event is: a telephone call, a voice-over-IP call, a videoconference, or an online communication session. 
     Example 33 is a server computing system, comprising: an electronic storage; a processor and memory; a database system implemented with the processor, the memory, and the electronic storage; and a schedule data processing component to: receive a request to reschedule an electronic communication event, wherein the electronic communication event is to be rescheduled from a prior time to a future time, and wherein the electronic communication event is to occur between a first communication device operated by a first user and a second communication device operated by a second user; receive contextual information related to a state of the first user, and wherein the contextual information indicates a state of the first communication device and activity of the first user; and operate a trained machine learning model to determine a contextual action option for rescheduling the electronic communication event, based on the contextual information related to the state of the first user; and transmit, in response to the request and the contextual information, the contextual action option, a proposed event reschedule time, and event scheduling parameters for the electronic communication event. 
     In Example 34, the subject matter of Example 33 optionally includes wherein the schedule data processing component is further to: receive additional contextual information related to a state of the second user, wherein the additional contextual information indicates a state of the second communication device and activity of the second user; wherein operation of the trained machine learning model to determine the proposed event reschedule time and the event scheduling parameters for the electronic communication event is further based on the additional contextual information related to the state of the second user. 
     In Example 35, the subject matter of any one or more of Examples 33-34 optionally include wherein operation of the trained machine learning model to determine the proposed event reschedule time and the event scheduling parameters includes an evaluation of constraints and behavioral inputs for the first user and the second user. 
     In Example 36, the subject matter of any one or more of Examples 33-35 optionally include an external data processing component to obtain external state data, wherein the external state data is used by the trained machine learning model to determine constraints for the proposed event reschedule time and event scheduling parameters for the electronic communication event. 
     In Example 37, the subject matter of Example 36 optionally includes wherein the external state data evaluated includes at least one of: weather data, traffic data, and event data; and wherein the weather data, the traffic data, and the event data are obtained from respective external data sources. 
     In Example 38, the subject matter of any one or more of Examples 33-37 optionally include wherein the contextual information further indicates location data of the first communication device and the second communication device. 
     In Example 39, the subject matter of any one or more of Examples 33-38 optionally include wherein the schedule data processing component is further to: generate a listing of a plurality of proposed contextual action options, wherein the plurality of proposed contextual action options includes the contextual action option; wherein the contextual action option is ranked in the plurality of proposed contextual action options, and wherein the contextual action option is transmitted with the listing of the plurality of proposed contextual action options; and wherein the contextual information related to the state of the first user is used by the trained machine learning model to generate a ranking of the plurality of proposed contextual action options. 
     In Example 40, the subject matter of any one or more of Examples 33-39 optionally include a data model training component, to: collect external data from external state sources; collect user data of the first user from the first communication device; and train the machine learning model for the first user, based on the external data and the user data, to predict schedule availability of the first user. 
     In Example 41, the subject matter of any one or more of Examples 33-40 optionally include wherein the trained machine learning model is trained for the first user based on prior contextual information obtained from historical activities of the first user. 
     In Example 42, the subject matter of any one or more of Examples 33-41 optionally include wherein the electronic communication event is: a telephone call, a voice-over-IP call, a videoconference, or an online communication session. 
     Example 43 is a method, comprising electronic operations executed in processing circuitry of a server computing system, wherein the electronic operations include: receiving a request to reschedule an electronic communication event, wherein the electronic communication event is to be rescheduled from a prior time to a future time, and wherein the electronic communication event is to occur between a first communication device operated by a first user and a second communication device operated by a second user; receiving contextual information related to a state of the first user, and wherein the contextual information indicates a state of the first communication device and activity of the first user; operating a trained machine learning model to determine a contextual action option for rescheduling the electronic communication event, based on the contextual information related to the state of the first user; and transmitting, in response to the request and the contextual information, the contextual action option, a proposed event reschedule time, and event scheduling parameters for the electronic communication event. 
     In Example 44, the subject matter of Example 43 optionally includes: receive additional contextual information related to a state of the second user, wherein the additional contextual information indicates a state of the second communication device and activity of the second user; wherein operation of the trained machine learning model to determine the proposed event reschedule time and the event scheduling parameters for the electronic communication event is further based on the additional contextual information related to the state of the second user. 
     In Example 45, the subject matter of any one or more of Examples 43-44 optionally include: determining the proposed event reschedule time and the event scheduling parameters using an evaluation of constraints and behavioral inputs for the first user and the second user. 
     In Example 46, the subject matter of any one or more of Examples 43-45 optionally include: obtaining external state data, wherein the external state data is used by the trained machine learning model to determine constraints for the proposed event reschedule time and event scheduling parameters for the electronic communication event. 
     In Example 47, the subject matter of Example 46 optionally includes wherein the external state data evaluated includes at least one of: weather data, traffic data, and event data; and wherein the weather data, the traffic data, and the event data are obtained from respective external data sources. 
     In Example 48, the subject matter of any one or more of Examples 43-47 optionally include wherein the contextual information further indicates location data of the first communication device and the second communication device. 
     In Example 49, the subject matter of any one or more of Examples 43-48 optionally include: generating a listing of a plurality of proposed contextual action options, wherein the plurality of proposed contextual action options includes the contextual action option; wherein the contextual action option is ranked in the plurality of proposed contextual action options, and wherein the contextual action option is transmitted with the listing of the plurality of proposed contextual action options; and wherein the contextual information related to the state of the first user is used by the trained machine learning model to generate a ranking of the plurality of proposed contextual action options. 
     In Example 50, the subject matter of any one or more of Examples 43-49 optionally include: collecting external data from external state sources; collecting user data of the first user from the first communication device; and training the machine learning model for the first user, based on the external data and the user data, to predict schedule availability of the first user. 
     In Example 51, the subject matter of any one or more of Examples 43-50 optionally include wherein the trained machine learning model is trained for the first user based on prior contextual information obtained from historical activities of the first user. 
     In Example 52, the subject matter of any one or more of Examples 43-51 optionally include wherein the electronic communication event is: a telephone call, a voice-over-IP call, a videoconference, or an online communication session. 
     Example 53 is at least one machine readable medium including instructions, which when executed by a computing system, cause the computing system to perform any of the methods of Examples 43-52. 
     Example 54 is an apparatus comprising means for performing any of the methods of Examples 43-52. 
     Example 55 is an apparatus, comprising: means for receiving a request to reschedule an electronic communication event, wherein the electronic communication event is to be rescheduled from a prior time to a future time, and wherein the electronic communication event is to occur between a first communication device operated by a first user and a second communication device operated by a second user; means for receiving contextual information related to a state of the first user, and wherein the contextual information indicates a state of the first communication device and activity of the first user; means for operating a trained machine learning model to determine a contextual action option for rescheduling the electronic communication event, based on the contextual information related to the state of the first user; and means for transmitting, in response to the request and the contextual information, the contextual action option, a proposed event reschedule time, and event scheduling parameters for the electronic communication event. 
     In Example 56, the subject matter of Example 55 optionally includes means for receiving additional contextual information related to a state of the second user, wherein the additional contextual information indicates a state of the second communication device and activity of the second user; wherein operation of the trained machine learning model to determine the proposed event reschedule time and the event scheduling parameters for the electronic communication event is further based on the additional contextual information related to the state of the second user. 
     In Example 57, the subject matter of any one or more of Examples 55-56 optionally include means for determining the proposed event reschedule time and the event scheduling parameters using an evaluation of constraints and behavioral inputs for the first user and the second user. 
     In Example 58, the subject matter of any one or more of Examples 55-57 optionally include means for obtaining external state data, wherein the external state data is used by the trained machine learning model to determine constraints for the proposed event reschedule time and event scheduling parameters for the electronic communication event. 
     In Example 59, the subject matter of Example 58 optionally includes wherein the external state data evaluated includes at least one of: weather data, traffic data, and event data; and wherein the weather data, the traffic data, and the event data are obtained from respective external data sources. 
     In Example 60, the subject matter of any one or more of Examples 55-59 optionally include wherein the contextual information further indicates location data of the first communication device and the second communication device. 
     In Example 61, the subject matter of any one or more of Examples 55-60 optionally include means for generating a listing of a plurality of proposed contextual action options, wherein the plurality of proposed contextual action options includes the contextual action option; wherein the contextual action option is ranked in the plurality of proposed contextual action options, and wherein the contextual action option is transmitted with the listing of the plurality of proposed contextual action options; and wherein the contextual information related to the state of the first user is used by the trained machine learning model to generate a ranking of the plurality of proposed contextual action options. 
     In Example 62, the subject matter of any one or more of Examples 55-61 optionally include means for collecting external data from external state sources; means for collecting user data of the first user from the first communication device; and means for training the machine learning model for the first user, based on the external data and the user data, to predict schedule availability of the first user. 
     In Example 63, the subject matter of any one or more of Examples 55-62 optionally include wherein the trained machine learning model is trained for the first user based on prior contextual information obtained from historical activities of the first user. 
     In Example 64, the subject matter of any one or more of Examples 55-63 optionally include wherein the electronic communication event is: a telephone call, a voice-over-IP call, a videoconference, or an online communication session. 
     Example 65 is a system, comprising: a wearable device, comprising: a sensor; sensor logic circuitry to obtain activity data from the sensor, the activity data indicating activity of a user of the wearable device that is sensed by the sensor; a touchscreen to output a user interface and receive input of an indication to reschedule an electronic communication event; and a wireless transceiver to communicate the activity data and the indication to reschedule the electronic communication event; and a computing device, comprising: a processor and memory; a wireless transceiver to receive the activity data and the indication from the wearable device to reschedule the electronic communication event; a sensor data processing component implemented with the processor and the memory, the sensor data processing component to determine activity of the user based on the activity data received from the wearable device; a user state processing component implemented with the processor and the memory, the user state processing component to generate contextual information related to a state of the user, wherein the contextual information indicates a state of the computing device and the activity of the user; and an event model data processing component implemented with the processor and the memory, the event model data processing component to: transmit, to an event scheduling service, a request to reschedule the electronic communication event, wherein the request includes the contextual information related to a state of the user; and receive, from the event scheduling service, a contextual action option for rescheduling the electronic communication event; wherein the electronic communication event is to occur between the computing device operated by the user and another communication device operated by another user; wherein the event scheduling service provides a proposed event reschedule time and event scheduling parameters in the contextual action option in response to processing of the contextual information; wherein the event scheduling service uses a trained machine learning model to determine the proposed event reschedule time and the event scheduling parameters based on the contextual information related to the state of the user; and wherein the activity data is used by the trained machine learning model to determine availability of the user to reschedule the electronic communication event. 
     In Example 66, the subject matter of Example 65 optionally includes a server to host the event scheduling service, the server comprising: electronic storage; a processor and memory; a database system implemented with the processor, the memory, and the electronic storage of the server, the database system to store the trained machine learning model; a schedule data processing component to: receive the request to reschedule the electronic communication event; receive contextual information related to a state of the user, wherein the contextual information indicates a state of the computing device and activity of the user; and operating the trained machine learning model to determine the contextual action option for rescheduling the electronic communication event, based on the contextual information related to the state of the user; and transmit, in response to the request and the contextual information, the contextual action option, the proposed event reschedule time, and the event scheduling parameters for the electronic communication event. 
     In Example 67, the subject matter of Example 66 optionally includes wherein the contextual information further indicates location data of the user computing device operated by the user. 
     In Example 68, the subject matter of any one or more of Examples 66-67 optionally include wherein the schedule data processing component is further to: generate a listing of a plurality of proposed contextual action options, wherein the plurality of proposed contextual action options includes the contextual action option; wherein the contextual action option is ranked in the plurality of proposed contextual action options, and wherein the contextual action option is transmitted with the listing of the plurality of proposed contextual action options; and wherein the contextual information related to the state of the user is used by the trained machine learning model to generate a ranking of the plurality of proposed contextual action options. 
     In Example 69, the subject matter of Example 68 optionally includes the server further comprising: an external data processing component to obtain external state data, wherein the external state data is used by the trained machine learning model to determine constraints for the proposed event reschedule time and event scheduling parameters for the electronic communication event. 
     In Example 70, the subject matter of Example 69 optionally includes wherein the external state data evaluated by the event scheduling service includes at least one of: weather data, traffic data, and event data; and wherein the weather data, the traffic data, and the event data are obtained from respective external data sources. 
     In Example 71, the subject matter of any one or more of Examples 69-70 optionally include wherein the schedule data processing component is further to: receive additional contextual information related to a state of the another user, wherein the additional contextual information indicates a state of the another communication device and activity of the another user; wherein operating the trained machine learning model to determine the proposed event reschedule time and the event scheduling parameters for the electronic communication event are further based on the additional contextual information related to the state of the another user. 
     In Example 72, the subject matter of any one or more of Examples 65-71 optionally include wherein the touchscreen is further to output a semantic text string corresponding to the contextual action option in the user interface, and wherein the user interface includes features to receive the request to reschedule the electronic communication event. 
     In Example 73, the subject matter of Example 72 optionally includes the user computing device further comprising: a speaker to output audio related to the electronic communication event; and a microphone to receive audio related to the electronic communication event. 
     In Example 74, the subject matter of any one or more of Examples 65-73 optionally include wherein the electronic communication event is: a telephone call, a voice-over-IP call, a videoconference, or an online communication session. 
     Example 75 is a computing device, comprising: a user state processing component implemented with a processor and memory, the user state processing component to: generate contextual information related to a state of a user, wherein the contextual information indicates a state of the computing device and user activity determined by the computing device; and an event model data processing component implemented with the processor and the memory, the event model data processing component to: transmit, to an event scheduling service, a request to reschedule an electronic communication event, wherein the request includes the contextual information related to a state of the user; and receive, from the event scheduling service, a contextual action option for rescheduling the electronic communication event. 
     In Example 76, the subject matter of Example 75 optionally includes wherein the electronic communication event is to occur between the computing device operated by the user and another communication device operated by another user. 
     In Example 77, the subject matter of Example 76 optionally includes wherein the event scheduling service provides a proposed event reschedule time and event scheduling parameters in the contextual action option in response to processing of the contextual information. 
     In Example 78, the subject matter of Example 77 optionally includes wherein the event scheduling service uses a trained machine learning model to determine the proposed event reschedule time and the event scheduling parameters based on the contextual information related to the state of the user. 
     In Example 79, the subject matter of any one or more of Examples 75-78 optionally include wherein the electronic communication event is: a telephone call, a voice-over-IP call, a videoconference, or an online communication session. 
     In the above Detailed Description, various features may be grouped together to streamline the disclosure. However, the claims may not set forth every feature disclosed herein as embodiments may feature a subset of said features. Further, embodiments may include fewer features than those disclosed in a particular example. Thus, the following claims are hereby incorporated into the Detailed Description, with a claim standing on its own as a separate embodiment.