Distance and Location-Aware Scheduling Assistance in a Calendar System

US 2012 150 580A1

drawing #0

Show all 15 drawings

A method and a system for providing scheduling assistance are described. A computer-implemented method includes extracting from a request for scheduling a meeting a meeting location and a meeting start time in response to the request from a requester. The method includes retrieving, from an event database, event information for a preceding event occurring before the meeting. The event information includes an event location and an event end time. Travel time from the event location to the meeting location is determined, and a potential travel time scheduling conflict is identified when the travel time exceeds a time difference between the event end time and the meeting start time. Notification of the potential travel time scheduling conflict is provided to the requester.

PatentSwarm provides a collaborative workspace to search, highlight, annotate, and monitor patent data.

Start free trial Sign in

Tip: Select text to highlight, annotate, search, or share the selection.

Claims

1. A computer-implemented method of providing scheduling assistance, performed on a system having one or more processors and memory storing one or more programs for execution by the one or more processors, comprising:
in response to a request from a requester for scheduling a meeting:
extracting from the request a meeting location and a meeting start time;
retrieving, from an event database, event information for a preceding event occurring before the meeting, including an event location and an event end time;
determining travel time from the event location to the meeting location; identifying a potential travel time scheduling conflict when the travel time exceeds a time difference between the event end time and the meeting start time; and
providing notification of the potential travel time scheduling conflict to the requester.

Show 11 dependent claims

13. A computer system for providing scheduling assistance, comprising:
one or more processors;
memory; and
one or more programs stored in the memory, the one or more programs comprising instructions executed by the one or more processors so as to:
respond to a request from a requester for scheduling a meeting by:
extracting from the request a meeting location and a meeting start time;
retrieving, from an event database, event information for a preceding event occurring before the meeting, including an event location and an event end time;
determining travel time from the event location to the meeting location; identifying a potential travel time scheduling conflict when the travel time exceeds a time difference between the event end time and the meeting start time; and
providing notification of the potential travel time scheduling conflict to the requester.

Show dependent claim

15. A non-transitory computer readable storage medium storing one or more programs configured for execution by one or more processors of a computer for providing scheduling assistance, the one or more programs comprising instructions to be executed by the one or more processors so as to:
respond to a request from a requester for scheduling a meeting by:
extracting from the request a meeting location and a meeting start time;
retrieving, from an event database, event information for a preceding event occurring before the meeting, including an event location and an event end time;
determining travel time from the event location to the meeting location;
identifying a potential travel time scheduling conflict when the travel time exceeds a time difference between the event end time and the meeting start time; and
providing notification of the potential travel time scheduling conflict to the requester.

Show dependent claim

17. A computer-implemented method of providing scheduling assistance, performed on a system having one or more processors and memory storing one or more programs for execution by the one or more processors, comprising:
in response to a meeting invitation to an invitee from a requester,
extracting from the meeting invitation a meeting location and a meeting start time;
retrieving, from an event database, event information for a preceding event occurring before the meeting, including an event location and an event end time, the preceding event comprising a calendar event in a calendar associated with the invitee;
determining travel time from the event location to the meeting location;
identifying a potential travel time scheduling conflict when the travel time exceeds a time difference between the event end time and the meeting start time; and
providing notification of the potential travel time scheduling conflict to the invitee.

Show dependent claim

19. A computer system for providing scheduling assistance, comprising:
one or more processors;
memory; and
one or more programs stored in the memory, the one or more programs comprising instructions executed by the one or more processors so as to:
respond to a meeting invitation to an invitee from a requester by:
extracting from the meeting invitation a meeting location and a meeting start time;
retrieving, from an event database, event information for a preceding event occurring before the meeting, including an event location and an event end time, the preceding event comprising a calendar event in a calendar associated with the invitee;
determining travel time from the event location to the meeting location;
identifying a potential travel time scheduling conflict when the travel time exceeds a time difference between the event end time and the meeting start time; and
providing notification of the potential travel time scheduling conflict to the invitee.

Show dependent claim

21. A non-transitory computer readable storage medium storing one or more programs configured for execution by one or more processors of a computer for providing scheduling assistance, the one or more programs comprising instructions to be executed by the one or more processors so as to:
respond to a meeting invitation to an invitee from a requester by:
extracting from the meeting invitation a meeting location and a meeting start time;
retrieving, from an event database, event information for a preceding event occurring before the meeting, including an event location and an event end time, the preceding event comprising a calendar event in a calendar associated with the invitee;
determining travel time from the event location to the meeting location;
identifying a potential travel time scheduling conflict when the travel time exceeds a time difference between the event end time and the meeting start time; and
providing notification of the potential travel time scheduling conflict to the invitee.

Show dependent claim

Description

This claims priority to U.S. Provisional Application Ser. No. 61/356,000, filed Jun. 17, 2010, entitled Distance and Location-Aware Reminders and Scheduling Assistance in a Calendar System, which is incorporated by reference herein in its entirety.

This application is related to U.S. patent application Ser. No. ______ (Attorney Docket Number 060963-5441), filed Jun. 16, 2011, entitled Distance and Location-Aware Reminders in a Calendar System, which is incorporated by reference herein in its entirety.

TECHNICAL FIELD

The disclosed embodiments relate generally to reminders in a calendar system. More particularly, the disclosed embodiments relate to methods and systems for distance and location-aware reminders and scheduling assistance in an electronic calendar system.

BACKGROUND

Electronic calendars are increasingly used to organize our lives. Such calendars are accessed from both desktop computers and portable computing devices (e.g., laptop computers, personal digital assistants (PDAs), mobile phones, and wearable computers).

One problem with calendars is providing a timely reminder so that a respective user can prepare for an upcoming event. Providing a reminder at a fixed interval before the upcoming event is not always timely, because the fixed interval may not be effective for all situations. For example, a user may be at a location further away than usual from the location of the upcoming event, and the user would need a reminder earlier than usual to travel to the event location. On the other hand, if the user receives a reminder too soon, the user may ignore the reminder, and later miss or come late to the upcoming event. Therefore, there is a need for a new method and system for providing a timely reminder based on the location of the user and the distance to the event location.

Another problem with calendars is providing scheduling assistance that accounts for the known or predicted location of a requester or an invitee prior to a particular meeting and a distance to a meeting location. Scheduling a meeting without consideration for the travel time between meetings can result in the requester coming late to the meeting or sometimes abandoning the attendance. Therefore, there is a need for a new method and system for providing scheduling assistance that accounts for the location of the requester or the invitee and the distance to the meeting location.

SUMMARY

A number of embodiments (e.g., of server systems, client systems or devices, and methods of operating such systems or devices) that overcome the limitations and disadvantages described above are presented in more detail below. These embodiments provide methods, systems, and graphical user interfaces (GUIs) for responding to a predefined triggering event by retrieving event information for a respective event from an event database and obtaining an origin of the respective user. A travel time is determined from the origin to the event location. In accordance with the event start time and travel time, an event reminder time is determined, including a time at which the respective user is to be provided a reminder of the respective event.

As described in more detail below, some embodiments of the invention involve a computer-implemented method of determining a time to provide an event reminder for a respective event for a respective user including, in response to a predefined triggering event, retrieving event information for the respective event, including an event location and an event start time, from an event database. An origin of the respective user is obtained. A travel time is determined for the respective user to travel from the origin to the event location. In accordance with the event start time and travel time, an event reminder time is determined for the respective event, where the event reminder time includes a time at which the respective user is to be provided a reminder of the respective event.

A server system for determining a time to provide an event reminder for a respective event for a respective user comprises one or more processors for executing programs and memory storing one or more programs be executed by the one or more processors, the one or more programs comprising instructions executed by the one or more processors so as to perform the aforementioned method for determining a time to provide an event reminder for a respective event for a respective user.

A server system for determining a time to provide an event reminder for a respective event for a respective user comprises one or more processors, memory, and one or more programs stored in the memory, the one or more programs comprising instructions executed by the one or more processors so as to respond to a predefined triggering event by: retrieving, from an event database, event information for the respective event, including an event location and an event start time; and obtaining an origin of the respective user. The one or more programs include instructions to determine a travel time for the respective user to travel from the origin to the event location; and to determine, in accordance with the event start time and travel time, an event reminder time for the respective event, where the event reminder time includes a time at which the respective user is to be provided a reminder of the respective event.

A non-transitory computer readable storage medium stores one or more programs configured for execution by a computer, the one or more programs comprising instructions for performing the aforementioned method for determining a time to provide an event reminder for a respective event for a respective user.

A non-transitory computer readable storage medium stores one or more programs configured for execution by one or more processors of a computer for determining a time to provide an event reminder for a respective event for a respective user, and the one or more programs comprises instructions to be executed by the one or more processors so as to respond to a predefined triggering event by: retrieving, from an event database, event information for the respective event, including an event location and an event start time; and obtaining an origin of the respective user. The one or more programs include instructions to determine a travel time for the respective user to travel from the origin to the event location; and to determine, in accordance with the event start time and travel time, an event reminder time for the respective event, the event reminder time comprising a time at which the respective user is to be provided a reminder of the respective event.

Some embodiments involve a computer-implemented method of providing scheduling assistance, performed on a system having one or more processors and memory storing one or more programs for execution by the one or more processors. The method includes, in response to a request from a requester for scheduling a meeting, extracting from the request a meeting location and a meeting start time. The method also includes retrieving, from an event database, event information for a preceding event occurring before the meeting, including an event location and an event end time. The method includes determining travel time from the event location to the meeting location, and identifying a potential travel time scheduling conflict when the travel time exceeds a time difference between the event end time and the meeting start time. The method includes providing notification of the potential travel time scheduling conflict to the requester.

A server system for providing scheduling assistance comprises one or more processors for executing programs and memory storing one or more programs be executed by the one or more processors, the one or more programs comprising instructions executed by the one or more processors so as to perform the aforementioned method for providing scheduling assistance.

A non-transitory computer readable storage medium stores one or more programs configured for execution by a computer, the one or more programs comprising instructions for performing the aforementioned method for providing scheduling assistance.

Some embodiments involve a computer-implemented method of providing scheduling assistance, performed on a system having one or more processors and memory storing one or more programs for execution by the one or more processors. The method includes, in response to a meeting invitation to an invitee from a requester, extracting from the meeting invitation a meeting location and a meeting start time. The method also includes retrieving, from an event database, event information for a preceding event occurring before the meeting, including an event location and an event end time, the preceding event comprising a calendar event in a calendar associated with the invitee. The method includes determining travel time from the event location to the meeting location, and identifying a potential travel time scheduling conflict when the travel time exceeds a time difference between the event end time and the meeting start time. The method includes providing notification of the potential travel time scheduling conflict to the invitee.

A server system for providing scheduling assistance comprises one or more processors for executing programs and memory storing one or more programs be executed by the one or more processors, the one or more programs comprising instructions executed by the one or more processors so as to perform the aforementioned method for providing scheduling assistance.

A non-transitory computer readable storage medium stores one or more programs configured for execution by a computer, the one or more programs comprising instructions for performing the aforementioned method for providing scheduling assistance.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the aforementioned aspects of the invention as well as additional aspects and embodiments thereof, reference should be made to the Description of Embodiments below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.

FIG. 1 is a block diagram illustrating an exemplary distributed computer system in accordance with some embodiments.

FIG. 2 is a block diagram illustrating a calendar system in accordance with some embodiments.

FIG. 3 is a block diagram illustrating a client, in accordance with some embodiments.

FIG. 4 is a block diagram illustrating an exemplary event database and an exemplary entry in the event database, in accordance with some embodiments.

FIG. 5 is a block diagram illustrating an exemplary travel time database and exemplary travel time records, in accordance with some embodiments.

FIGS. 6A and 6B are flowcharts representing a method of determining a time to provide an event reminder, in response to a predefined triggering event, in a calendar system, in accordance with some embodiments.

FIG. 7 is a high-level flowchart illustrating processes performed by a client and a server system, in accordance with some embodiments.

FIGS. 8A-8C are flowcharts representing a method of providing scheduling assistance, in response to a request from a requester for scheduling a meeting.

FIGS. 9A-9C are high-level flowcharts illustrating processes performed by client(s) and a server system, for providing notification of potential scheduling conflicts, in accordance with some embodiments.

Like reference numerals refer to corresponding parts throughout the drawings.

DESCRIPTION OF EMBODIMENTS

Methods and systems for determining a time to provide an event reminder are described. Reference will be made to certain embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the embodiments, it will be understood that it is not intended to limit the invention to these particular embodiments alone. On the contrary, the invention is intended to cover alternatives, modifications and equivalents that are within the spirit and scope of the invention as defined by the appended claims.

Moreover, in the following description, numerous specific details are set forth to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these particular details. In other instances, methods, procedures, components, and networks that are well-known to those of ordinary skill in the art are not described in detail to avoid obscuring aspects of the present invention.

It will also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact could be termed a second contact, and, similarly, a second contact could be termed a first contact, without departing from the scope of the present invention. The first contact and the second contact are both contacts, but they are not the same contact.

The terminology used in the description of the embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms a, an, and the are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term and/or as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms comprises and/or comprising, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

As used herein, the term if may be construed to mean when or upon or in response to determining or in response to detecting, depending on the context. Similarly, the phrase if it is determined or if [a stated condition or event] is detected may be construed to mean upon determining or in response to determining or upon detecting (the stated condition or event) or in response to detecting (the stated condition or event), depending on the context.

As used herein, the term, requester is used to mean a person scheduling, initiating, or organizing a meeting.

As used herein, the terms, meeting and event are used interchangeably to mean a calendar event involving one or more participants. As used herein, meetings can include both single-participant meetings (e.g., a person reserving a conference room to work alone on a confidential matter), and multiple-participant meetings. As used herein, the terms meeting location and event location refer to the physical location of a meeting or event, respectively, such as a conference room, other room, physical address, city, campus, campus sub-region, building, floor, and/or building sub-region.

As used herein, the terms invitee and potential participant have been used interchangeably to mean people invited to an event, irrespective of whether they have accepted, declined, or not yet responded to the invitation. Furthermore, as used herein, the invitees of a meeting include the requester of the meeting.

As used herein, the term required attendee is used to mean invitees whose attendance a requester has identified as required, irrespective of whether they have accepted, declined, or not yet responded to the invitation. As used herein, the term, optional attendee has been used to mean invitees whose attendance a requester has identified as optional, irrespective of whether they have accepted, declined, or not yet responded to the invitation.

FIG. 1 is a block diagram illustrating an exemplary distributed computer system 100, according to certain embodiments. In FIG. 1, system 100 includes one or more client computers 102, a communications network 106, and a calendar system 108 (sometimes called server system 108). Various embodiments of calendar system 108 implement the reminder time determination methods described in this document.

PatentSwarm provides a collaborative workspace to search, highlight, annotate, and monitor patent data.

Start free trial Sign in