The scheduling application 1 can access the individual electronic calendars 27 of potential meeting attendees using the provided criteria 2 to determine whether or not each of them are available to attend. If a common proposed meeting date, time and duration has been found for all intended participants, the scheduling application places the meeting schedule on the individual electronic calendar of each participant. However, if the calendar of any potential attendee shows that he or she is unavailable because of a conflicting event on the proposed date and time of the meeting, the scheduling application advises the affected user(s) that the proposed meeting cannot be scheduled as requested.
In one preferred embodiment of the invention, the intelligent software “scheduling agent” 19 receives request(s) from a user 23 to schedule a “presentation-style” meeting, along with a description of meeting criteria 2; including a list of presentations along with the presenters and audience members participating in each presentation, and the start date/time and duration for each presentation. The scheduling agent 19 uses this information to generate one or more possible proposed (or “candidate”) agendas 3 based on the availability of each participant to attend a given presentation as well as on other possible criteria 2; such as scheduling different presentations given by the same presenter(s) in contiguous period(s) of time instead of at separate times, or scheduling certain presentations only during certain periods of time and/or on certain dates (for example 9:00 a.m.-5:00 p.m. Monday through Friday).
After generating one or more possible candidate agendas 3 for a meeting, the scheduling agent 19 sends them to each of the presenters and audience members or other users 23 who may be interested in the meeting schedule. Based on an affirmative response from all of the participants indicating their common availability for at least one of the presentation date(s) and time(s) proposed in a candidate agenda 3, the scheduling agent 19 chooses one or more “optimal agenda(s)” 4 ordering the sequence of presentation times for the meeting using standard optimization techniques (such as those disclosed in the prior art incorporated by reference herein) which are then sent to each of the meeting presenters and audience members, optionally with an invitation requesting confirmation of their attendance. An intelligent software “calendaring agent” 27 then automatically updates the individual electronic calendars of each of the meeting participants with the optimal agenda(s) 4, or it optionally sends a confirmation request seeking an acceptance of the meeting invitation from a participant before updating his or her calendar with the agenda(s). In the case that no possible agenda can be chosen due to one or more negative responses to each of the candidate agendas (indicating a lack of availability of one or more participants at each proposed date and time of a presentation) the scheduling agent notifies the meeting participants and other interested scheduler users of this discrepancy.
It may not always be possible for the scheduling agent 19 to satisfy all of the criteria 2 input by a user 23. An example is the situation where three different presentations are provided to the scheduling agent for the same meeting, requiring Presentation I to be conducted by Presenter A and Presenter B; while also requiring Presentation II to be conducted by Presenter B and Presenter C; and additionally requiring Presentation III to be conducted by Presenter A and Presenter C. In that case, there is no possible agenda that satisfies the rule for scheduling different presentations given by the same presenter(s) in contiguous time period(s). In cases where the scheduling agent is unable to generate a single agenda that satisfies all required criteria for a meeting, it will generate one or more agenda(s) that individually (or in combination) fulfill the greatest (and violate the smallest) number of rules possible. There are still other situations in which the scheduling agent may not be able to generate any possible agenda, as for example in the case of the unavailability of an essential presenter and/or audience member. In such cases, the scheduling agent can again notify the meeting participants and other interested scheduler users of the discrepancy.
A solution to the above problem is to allow the scheduling agent to act upon additional rules (such as “Presentation I must be conducted before Presentation II and Presentation II must be conducted before Presentation III”) in a way that optionally overrides those criteria creating the problem (such as requiring different presentations by the same presenter(s) to occur contiguously or holding the meeting during fixed time(s), i.e., between 9:00 a.m.-noon on Monday or Wednesday). Another possible solution is to allow the attendance of some nonessential participants to be optional; or requiring the attendance of only a minimum number of essential participants at a given presentation; or to allow some participants to attend only a certain subset (but not all) of the presentations; or to allow certain group presentations to be conducted by some (but not all) of the presenters for that presentation. Another solution is to allow the scheduling agent to choose the presentations to be scheduled only from a predefined list rather than receiving criteria input by a user. For example, in the case of a review board where individuals and groups submit items to be reviewed on an on-going basis, the scheduling agent can generate possible candidate agendas only from the list of items submitted for review, by choosing presentations on a “first-come first-serve” basis or by employing a more advanced prioritization scheme for choosing those presentations to be scheduled.
Another feature of the invention is the ability to manage a meeting agenda after it has been finalized. An example is the situation of a finalized agenda for a presentation-style meeting scheduled for 1:00-3:00 p.m. with the first presentation set for 1:00-1:15 p.m., where the first presenter subsequently informs the scheduling agent that he or she is no longer available from 1:00-2:00 p.m. on the scheduled meeting date. Upon receiving this information, the scheduling agent can check the availability of those presenters scheduled to conduct their presentations between 2:00-3:00 p.m. on that date, and send a “switch request” to any presenters that are available from 1:00-1:15 p.m. If the scheduling agent receives an affirmative response accepting the change, it will send an updated agenda to all presenters and audience members confirming the change. If the scheduling agent is unable to accommodate the change, it will again notify the meeting participants and other interested scheduler users of the discrepancy. Another example of managing a meeting agenda after it has been finalized arises from a presentation-style meeting generated from a list of review items as previously described, where one of the presenters or audience members informs the scheduling agent that he or she is no longer available to attend the meeting at the scheduled date(s) and time(s). The scheduling agent can search the list of scheduled review items for a replacement presentation, and when one is found it will generate a switch request as described previously. Upon receiving acceptance of the change, the scheduling agent will again generate an updated agenda confirming the change. If the scheduling agent is unable to find a replacement presentation, it will again notify the meeting participants and other interested scheduler users of the discrepancy.
While certain preferred features of the invention have been shown by way of illustration, many modifications and changes can be made that fall within the true spirit of the invention as embodied in the following claims, which are to be interpreted as broadly as the law permits to cover the full scope of the invention, including all equivalents thereto.