AUTOMATICALLY SCHEDULE AND RE-SCHEDULE MEETINGS THROUGH SEARCH INTERFACE

US 2011 184 772A1

drawing #0

Show all 16 drawings

A method and system for scheduling or re-scheduling calendar events is described. One aspect of the invention involves: receiving a calendar search request to schedule a calendar event including at least one participant and a time of meeting constraint; obtaining information identifying one or more preferences associated with the at least one participant, at least one of the preferences based on the at least one participant's historical calendar activity over a predetermined period of time; 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; ranking the set of candidate calendar events based on the plurality of constraints and the one or more preferences; and preparing for presentation at least a subset of the ranked set of candidate calendar events, each candidate calendar event including a specified start time.

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, comprising:
receiving a calendar search request to schedule a calendar event including a plurality of constraints including at least one participant and a time of meeting constraint;
obtaining information identifying one or more preferences associated with the at least one participant, at least one of the preferences based on the at least one participant's historical calendar activity over a predetermined period of time;
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;
ranking the set of candidate calendar events based on the plurality of constraints and the one or more preferences; and
preparing for presentation at least a subset of the ranked set of candidate calendar events, each candidate calendar event including a specified start time.

Show 14 dependent claims

16. 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 to schedule a calendar event including a plurality of constraints including at least one participant and a time of meeting constraint;
obtaining information identifying one or more preferences associated with the at least one participant, at least one of the preferences based on the at least one participant's historical calendar activity over a predetermined period of time;
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;
ranking the set of candidate calendar events based on the plurality of constraints and the one or more preferences; and
preparing for presentation at least a subset of the ranked set of candidate calendar events, each candidate calendar event including a specified start time.

Show 4 dependent claims

21. 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 to schedule a calendar event including a plurality of constraints including at least one participant and a time of meeting constraint;
obtaining information identifying one or more preferences associated with the at least one participant, at least one of the preferences based on the at least one participant's historical calendar activity over a predetermined period of time;
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;
ranking the set of candidate calendar events based on the plurality of constraints and the one or more preferences; and
preparing for presentation at least a subset of the ranked set of candidate calendar events, each candidate calendar event including a specified start time.

Show 4 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-5476-US) entitled Automatically Schedule and Re-schedule Meetings using Reschedule Factors for Conflicting Calendar Events, 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.

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 graphical user interfaces (GUIs) for scheduling calendar events utilizing by means of performing a calendar search.

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. The request includes a plurality of constraints including at least one participant and a time of meeting constraint. Information identifying one or more preferences associated with the at least one participant is obtained. At least one of the preferences is based on the at least one participant's historical calendar activity over a predetermined period of time. 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. The set of candidate calendar events is ranked based on the plurality of constraints and the one or more preferences. Finally, at least a subset of the ranked set of candidate calendar events is prepared for presentation. Each candidate calendar event includes a specified start time.

Another aspect of the invention is 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. The request includes a plurality of constraints including at least one participant and a time of meeting constraint. Information identifying one or more preferences associated with the at least one participant is obtained. At least one of the preferences is based on the at least one participant's historical calendar activity over a predetermined period of time. 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. The set of candidate calendar events is ranked based on the plurality of constraints and the one or more preferences. Finally, at least a subset of the ranked set of candidate calendar events is prepared for presentation. Each candidate calendar event includes a specified start time.

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. The request includes a plurality of constraints including at least one participant and a time of meeting constraint. Information identifying one or more preferences associated with the at least one participant is obtained. At least one of the preferences is based on the at least one participant's historical calendar activity over a predetermined period of time. 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. The set of candidate calendar events is ranked based on the plurality of constraints and the one or more preferences. Finally, at least a subset of the ranked set of candidate calendar events is prepared for presentation. Each candidate calendar event includes a specified start time.

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