AUTOMATICALLY SCHEDULE AND RE-SCHEDULE MEETINGS USING RESCHEDULE FACTORS FOR CONFLICTING CALENDAR EVENTS

US 2011 184 943A1

drawing #0

Show all 16 drawings

A method for scheduling calendar events includes receiving a search request with a plurality of constraints, searching the calendaring system databases to obtain a set of candidate calendar events that meet at least some of the constraints, calculating event reschedule factors for each candidate calendar event for which at least one participant has a conflicting calendar event, ranking the set of candidate calendar events based in part of the event reschedule factors, and preparing them for presentation. In various embodiments and circumstances, event reschedule factors correspond to one or more of: the ease of rescheduling a conflicting calendar event, an ease of overwriting a conflicting calendar event, the response status of the participants, the number of participants in the conflicting calendar event.

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 scheduling calendar events, performed on a system having one or more processors and memory storing one or more programs for execution by the one or more processors so as to perform the method, the method comprising:
receiving a calendar search request from a user to schedule a calendar event including a plurality of constraints including one or more participants and a time of meeting constraint;
searching one or more databases in a calendaring system to obtain a set of candidate calendar events that meet at least a subset of the plurality of constraints;
calculating one or more event reschedule factors, including an event reschedule factor for each candidate calendar event for which at least one participant has a conflicting calendar event, based on one or more metrics corresponding to the conflicting calendar event;
ranking the set of candidate calendar events based on the one or more event reschedule factors; and
preparing for presentation the ranked set of candidate calendar events, each candidate calendar event including a specified start time and information corresponding to available participants.

Show 15 dependent claims

17. A calendar system, for scheduling calendar events, comprising:
one or more central processing units for executing programs;
memory storing one or more programs be executed by the one or more central processing units;
the one or more programs comprising instructions for:
receiving a calendar search request from a user to schedule a calendar event including a plurality of constraints including one or more participants and a time of meeting constraint;
searching one or more databases in a calendaring system to obtain a set of candidate calendar events that meet at least a subset of the plurality of constraints;
calculating one or more event reschedule factors, including an event reschedule factor for each candidate calendar event for which at least one participant has a conflicting calendar event, based on one or more metrics corresponding to the conflicting calendar event;
ranking the set of candidate calendar events based on the one or more event reschedule factors; and
preparing for presentation the ranked set of candidate calendar events, each candidate calendar event including a specified start time and information corresponding to available participants.

Show 6 dependent claims

24. A computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions for:
receiving a calendar search request from a user to schedule a calendar event including a plurality of constraints including one or more participants and a time of meeting constraint;
searching one or more databases in a calendaring system to obtain a set of candidate calendar events that meet at least a subset of the plurality of constraints;
calculating one or more event reschedule factors, including an event reschedule factor for each candidate calendar event for which at least one participant has a conflicting calendar event, based on one or more metrics corresponding to the conflicting calendar event;
ranking the set of candidate calendar events based on the one or more event reschedule factors; and
preparing for presentation the ranked set of candidate calendar events, each candidate calendar event including a specified start time and information corresponding to available participants.

Show 6 dependent claims

Description

This application claims the benefit of U.S. Provisional Application No. 61/298,900, filed Jan. 27, 2010, entitled Automatically Schedule and Re-schedule Meetings through Search Interface, U.S. Provisional Application No. 61/298,902, filed Jan. 27, 2010, entitled Automatically Schedule and Re-schedule Meetings using Reschedule Factors for Conflicting Calendar Events, and U.S. Provisional Application No. 61/298,903, filed Jan. 27, 2010, entitled Automatically Determine Suggested Meeting Locations Based on Previously Booked Calendar Events.

This application is related to U.S. patent application Ser. No. 12/695,142, filed Jan. 27, 2010, (Attorney Docket No. 060963-5440-US) entitled Just-In-Time Conference Room Scheduling, which application is incorporated by reference herein in its entirety.

This application is related to U.S. patent application Ser. No. ______, filed ______, (Attorney Docket No. 060963-5424-US) entitled Automatically Schedule and Re-schedule Meetings through Search Interface, which application is incorporated by reference herein in its entirety.

This application is related to U.S. patent application Ser. No. ______, filed ______, (Attorney Docket No. 060963-5477-US) entitled Automatically Determine Suggested Meeting Locations Based on Previously Booked Calendar Events, which application is incorporated by reference herein in its entirety.

TECHNICAL FIELD

The disclosed embodiments relate generally to electronic calendars. More particularly, the disclosed embodiments relate to methods, systems, and graphical user interfaces for scheduling meetings with a plurality of constraints through a search interface utilizing reschedule factors.

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 calendaring is that a plurality of constraints should be met, such as finding an open time slot for all of the participants, and finding a meeting room that is large enough, includes any needed equipment, and is located generally nearby most of the participants. Often no meeting time and location exists within a beneficial schedule range which meets all of the constraints, so certain concessions must be made on particular constraints. For example, a meeting organizer may manually determine which participants are critical and which participants are optional or can be replaced by other participants. Meeting even most of the constraints often involves manually hunting for open time slots, available conference rooms, and manually determining the time slots during which the most critical participants and a desirable conference room are available. Therefore, there is a need for an automated search system for assisting a user in scheduling and re-scheduling meetings with a plurality of constraints.

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 computer program products for determining suggested meeting locations based on previously booked calendar events.

As described in more detail below, one aspect of the invention is a computer implemented method that schedules calendar events. A calendar search request to schedule a calendar event is received from a user. The request includes a plurality of constraints including one or more participants and a time of meeting constraint. One or more databases in a calendaring system are searched to obtain a set of candidate calendar events that meet at least a subset of the plurality of constraints. One or more event reschedule factors are calculated. They include an event reschedule factor for each candidate calendar event for which at least one participant has a conflicting calendar event, based on one or more metrics corresponding to the conflicting calendar event. The set of candidate calendar events is ranked based on the one or more event reschedule factors. Then the ranked set of candidate calendar events is prepared for presentation. Each candidate calendar event includes a specified start time and information corresponding to available participants.

Another aspect of the invention includes a calendar system for scheduling calendar events. The system includes one or more central processing units for executing programs, and memory storing one or more programs be executed by the one or more central processing units. The one or more programs comprise instructions for scheduling calendar events as follows. A calendar search request to schedule a calendar event is received from a user. The request includes a plurality of constraints including one or more participants and a time of meeting constraint. One or more databases in a calendaring system are searched to obtain a set of candidate calendar events that meet at least a subset of the plurality of constraints. One or more event reschedule factors are calculated. They include an event reschedule factor for each candidate calendar event for which at least one participant has a conflicting calendar event, based on one or more metrics corresponding to the conflicting calendar event. The set of candidate calendar events is ranked based on the one or more event reschedule factors. Then the ranked set of candidate calendar events is prepared for presentation. Each candidate calendar event includes a specified start time and information corresponding to available participants.

Yet another aspect of the invention is a computer readable storage medium storing one or more programs configured for execution by a computer. The computer readable storage medium includes program instructions for scheduling calendar events as follows. A calendar search request to schedule a calendar event is received from a user. The request includes a plurality of constraints including one or more participants and a time of meeting constraint. One or more databases in a calendaring system are searched to obtain a set of candidate calendar events that meet at least a subset of the plurality of constraints. One or more event reschedule factors are calculated. They include an event reschedule factor for each candidate calendar event for which at least one participant has a conflicting calendar event, based on one or more metrics corresponding to the conflicting calendar event. The set of candidate calendar events is ranked based on the one or more event reschedule factors. Then the ranked set of candidate calendar events is prepared for presentation. Each candidate calendar event includes a specified start time and information corresponding to available participants.

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.

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

FIG. 2 is a block diagram illustrating an exemplary calendar server system, in accordance with some embodiments.

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

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

FIG. 5 is a block diagram illustrating an exemplary user information database and an exemplary user record in the user information database, in accordance with some embodiments.

FIG. 6 is a block diagram illustrating exemplary relationships in a social networking database and an exemplary user record in the social network database, in accordance with some embodiments.

FIG. 7 is a block diagram illustrating an exemplary communications database and an exemplary user record in the communications database, in accordance with some embodiments.

FIG. 8 is a block diagram illustrating an exemplary conference room database, an exemplary conference room record in the conference room database, and exemplary scheduling information in the conference room record, in accordance with some embodiments.

FIG. 9 is a block diagram illustrating an exemplary request queue or request log and an exemplary request queue/log record, in accordance with some embodiments.

FIG. 10 is a flowchart representing a method of scheduling a calendar event, in accordance with some embodiments.

FIG. 11 is a flowchart representing a server client interaction when scheduling a calendar event, in accordance with some embodiments.

FIG. 12 is a schematic screen shot of an exemplary graphical user interface for displaying a set of candidate calendar events, in accordance with some embodiments.

FIG. 13 is a schematic screen shot of exemplary graphical user interface for displaying details associated with a respective calendar event, in accordance with some embodiments.

FIG. 14 is a flowchart representing a method of determining suggested meeting locations, in accordance with some embodiments.

FIG. 15 is a flowchart representing another method of scheduling a calendar event, in accordance with some embodiments.

Like reference numerals refer to corresponding parts throughout the drawings.

DESCRIPTION OF EMBODIMENTS

Methods and systems for scheduling a calendar event in an electronic calendar 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.

The terminology used in the description of the invention 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 for a video or audio conference), and multiple-participant meetings.

As used herein, the terms invitee and potential participant have been used interchangeably to mean people who have been invited to an event, irrespective of whether they have accepted, declined, or not yet responded to the invitation. 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.

As used herein, the term conference room amenities is used to mean furnishings, equipment, and/or functions in conference rooms, such as one or more of: tables, chairs, desks, podium, blackboard, whiteboard, electronic whiteboard, overhead projector, slide projector, video monitor, video camera, video conferencing equipment, television, video cassette recorder (VCR), digital video disc (DVD) player, compact disc (CD) player, tape player, tape recorder, computer, network lines, phone, fax, sound system, flip charts, telecommunication equipment, window, and access to a wireless network.

As used herein, the term time-of-meeting constraints is used to mean meeting start date, start time, end date, end time, meeting duration, and/or schedule range.

As used herein, the term plurality of constraints is used to mean a plurality of the constraints mentioned above or discussed below. For example, a plurality of constraints could include at least one potential participant, a time-of-meeting constraint, conference room amenities, a schedule range, a requested location, a preferred proximity to a potential participant, a participant's base location, and a participant's working hours.

FIG. 1 is a block diagram illustrating an exemplary distributed computer system 100, according to certain embodiments of the invention. System 100 may include one or more client computers 102, a communications network 106, and a calendar system 108.

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

Start free trial Sign in