The present invention relates generally to data processing and, in particular, relates to methods and systems for providing a meeting scheduling service.
It is not easy to schedule meetings across organizational boundaries with conventional meeting scheduling and calendar services, because people use different calendar systems or do not have access to each other's calendar information. Conventional approaches require the use of the same calendar application to schedule a meeting. Each calendar application uses its own, often proprietary, way of exchanging calendar information. In addition, conventional approaches assume total access to calendar information, which is commonly not the case when scheduling meetings across organizational boundaries. No standard or convenient way of exchanging calendar information is available. This leads to the exchange of many telephone calls, e-mails, or other communication that is inconvenient to all parties involved and makes scheduling meetings a lengthy and tedious process.
Various deficiencies of the prior art are addressed by various exemplary embodiments of the present invention of a meeting scheduling service.
One embodiment is a method for providing a meeting scheduling service. A request to schedule a meeting is received along with at least one proposed date and time for the meeting, and at least one participant for the meeting. Invitations are sent to the participant(s). At least one best date and time for the meeting is determined and provided. Another embodiment is a computer readable medium storing instructions for performing this method.
Another embodiment is a system for providing a meeting scheduling service, including a processor and a storage device. The processor receives a request to schedule a meeting, at least one proposed date and time for the meeting, and at least one participant for the meeting. The processor sends invitations to the participant(s). The processor provides at least one best date and time for the meeting. The storage device is accessible by the processor and stores the proposed date and time for the meeting, the at least one participant for the meeting, the information from the at least one participant, and the at least one best data and time for the meeting.
The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
The invention is primarily described within the general context of exemplary embodiments of methods and systems for providing a meeting scheduling service. However, those skilled in the art and informed by the teachings herein will realize that the invention is applicable generally to scheduling any kind of appointments, reservations, or other scheduled events. The meeting scheduling service may be web-based (e.g., implemented using hypertext markup language (HTML) and hypertext transfer protocol (HTTP)), but can be implemented using many different technologies, such as e-mail (e.g., implemented using simple mail transfer protocol (SMTP), post office protocol (POP), internet message access protocol (IMAP) and the like). The meeting scheduling service may be client-based or server-based or may be implemented using any other kind of computer program application running on any kind of computing device.
One exemplary embodiment is a method of providing a meeting scheduling service. This meeting scheduling service is useful when a meeting organizer is unable to access all the calendar information for a number of participants in order to schedule a meeting conventionally. In this embodiment, the meeting scheduling service is provided on a website that provides space for the meeting organizer to enter information about the meeting (e.g., subject and description), to propose a number of dates and times, and to list the participants and their e-mail addresses. In one embodiment the service is provided through a user interface that is different than a website, such as a feature on a cell phone or through a telephone service. In one embodiment, the dates and times may be entered in many different ways, such as in ranges. In one embodiment, the contact information for participants and the meeting organizer may be entered in many different ways, such as postal mailing addresses.
In this exemplary embodiment, as part of the meeting scheduling service, each participant is sent an invitation for the proposed dates and times. In one embodiment, the invitations are sent in various different ways, such as by telephone. In one embodiment, there are various kinds of participants, such as mandatory, backup, or optional, and participants are invited at various times and in various ways, such as inviting a backup participant when the primary participant is unavailable during the proposed dates and times.
In this exemplary embodiment, as part of the meeting scheduling service, the meeting organizer is informed either when a match is found among the participants for a suitable time or when no suitable time is found for the meeting. The meeting scheduling service allows the meeting organizer to follow the progress of the scheduling process and may inform the participants of an agreed meeting time or receive proposed new meeting times.
In conventional applications, calendar information is exchanged to schedule a meeting across organizational boundaries when calendar information of at least one participant or the meeting organizer is not publicly available. Usually, this information is pulled from a calendar information store. By contrast, in this exemplary embodiment, information is pushed from the various parties in a convenient way. This exemplary embodiment provides a convenient way to exchange calendar information, enabling fast and convenient scheduling of meetings across organizational boundaries.
If not all of the participants are available at 506, several actions 510, 514, 518, 522 may be taken in various embodiments. At 510, a message is sent to the participants to ask them to reconsider and, at 512, the participant response process is repeated until everyone has responded or a date and time has been found. At 514, the meeting service proposes another date and time in the same time period and, at 516, the participant response process is repeated until everyone has responded or a date and time has been found. At 518, the meeting service notifies the meeting organizer to update the meeting request and, at 520, the method 300 for processing a request to organize a meeting (see
If all of the participants are available at 506, then it is determined at 526 whether there is more than one possible date and time. If there is not more than one possible date and time at 526, then at 528, the date and time on which all participants are available is selected. If there is more than one possible date and time at 526, then at 530, the date and time with the highest preference among the participants is selected or, otherwise, the first date and time is selected. At 532, all meeting participants are notified of the selected date and time. At 534, the exemplary embodiment of the method 500 for determining the best suitable date and time ends.
The processor 630 cooperates with conventional support circuitry 620 such as power supplies, clock circuits, cache memory and the like as well as circuits that assist in executing the software routines stored in the memory 640. As such, it is contemplated that some of the steps discussed herein as software methods may be implemented within hardware, for example, as circuitry that cooperates with the processor 630 to perform various method steps. The computer 600 also contains input/output (I/O) circuitry that forms an interface between the various functional elements communicating with the computer 600.
Although the computer 600 is depicted as a general purpose computer that is programmed to perform various functions in accordance with the present invention, the invention can be implemented in hardware as, for example, an application specific integrated circuit (ASIC) or field programmable gate array (FPGA). As such, the process steps described herein are intended to be broadly interpreted as being equivalently performed by software, hardware, or a combination thereof.
The present invention may be implemented as a computer program product wherein computer instructions, when processed by a computer, adapt the operation of the computer such that the methods and/or techniques of the present invention are invoked or otherwise provided. Instructions for invoking the inventive methods may be stored in fixed or removable media, transmitted via a data stream in a broadcast media or other signal bearing medium, and/or stored within a working memory within a computing device operating according to the instructions.
While the foregoing is directed to various embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. As such, the appropriate scope of the invention is to be determined according to the claims, which follow.