The present invention relates to data processing, and more particularly, to a method and system for managing events in a multi-media system such as the scheduling of events in an electronic calendar application.
Today, many people use electronic calendar applications in data processing systems to schedule meetings. Thus, when a user wants to invite different people to a meeting, the user has to indicate different types of data in a specific request through a request module of the electronic calendar application. The data comprise the date, the time, and the duration of the one or more proposed meetings and the name of the different people required to attend the meeting, etc. Then, the request module has to search the date and the time matching the data of the request in the personal electronic calendars of the people concerned. When the date and the time match the data of the request for most of the people concerned for example except one, there are two alternatives in how electronic calendar application can handle this. The first alternative with a specific electronic calendar application is that the meeting can not be scheduled at all and the user has to suggest other dates, times, and duration. In the second alternative, the electronic calendar sends an invitation to all required attendees. Thus, each required attendee can see the invitation for the meeting on their own calendar and can reply with an acceptance or rejection of the invitation.
If one of the attendees already has a first scheduled meeting for the same time and date, this attendee may have to reject the invitation for the new scheduled meeting, i.e., the second meeting. Therefore, the invitation for this second meeting is deleted from the user's own calendar. However, it may occur that the first scheduled meeting is canceled for some reasons and then the attendee is then available to attend the second meeting that was previously rejected. However, as there is no history of the details and schedule of this second meeting retained in the calendar or elsewhere, the attendee is often unable to retrieve any information relating to the second meeting. Consequently, the attendee can not attend the second meeting if it is still scheduled.
US patent application 2006/095859 discloses a method for detecting an existing conflict between a new meeting invitation and an existing scheduled meeting. Thus, the user does not have to check the calendar for conflicts before entering or accepting a meeting. However, the method only provides such a check for two meetings. The method does not provide any management or any history of all meetings and possible conflicts
The present invention provides a method and system which alleviates these and other drawbacks of the prior art. To this extent, the present invention provides a method and system for managing the scheduling of meetings in electronic calendar applications.
According to an aspect of the present invention, there is provided a method of scheduling a meeting between a first electronic calendar application and at least a second electronic calendar application when a new meeting invitation relating to a new meeting occurs from the first electronic calendar application to the at least second electronic calendar application, wherein the new meeting is in conflict with at least one other existing meeting in the at least second calendar application, the at least one existing meeting having one or more priorities associated therewith, the method comprising: receiving the new meeting invitation in the at least second electronic calendar application; identifying a priority of the new meeting to define a priority ranking between the new meeting and the at least one other existing meeting in the at least second electronic calendar application; selecting the meeting with a highest priority ranking as that which should be entered into the at least second electronic calendar application; and storing any meeting that is not the highest priority ranking in a predetermined location for later use.
Another aspect of the present invention provides a computer program for performing the above described method.
A further aspect of the present invention provides a system for performing the steps of the above described method.
A still further aspect of the present invention provides a service deployed in a data processing system for performing the above described method.
The novel and inventive features and believed characteristics of the invention are set forth in the appended claims. The invention itself, however, as well as embodiments, further features and advantages thereof, will best be understood by reference to the following detailed description of an illustrative detailed embodiment when read in conjunction with the accompanying drawings.
a is a view of a calendar table according to an embodiment of the present invention.
b is a schematic view of a schedule associated with the calendar table according to an embodiment of the present invention.
The following description is presented to enable an ordinary skilled in the art person to make and use the invention. Various modifications to the embodiments and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
As disclosed in
These criteria refer to already stored meeting invitations in the meeting queue module. Each time the mail client system receives a new meeting invitation, a specific process has to occur to schedule the new invitation based on the one or more already stored meeting invitations. The priority manager module 114 is connected to the meeting queue module 119. The meeting queue module 119 stores a list, namely a meeting queue list, which is a list of meeting invitations already stored, each meeting invitation having a defined priority level as shown in
The mail client system 104 also comprises an SMTP stack 116. The stack 116 transfers information from the priority manager module 114 to the outside of the mail client system 104.
The mail client system 104 is connected to a Mail Transfer Agent (MTA) server 118 connected to a MTA deliver server 120. On a first route (1), the MTA deliver server 120 transfers information from the MTA server 118 to the mail client system 106 of the user 102 through the SMTP stack 117. On a second route (2), the MTA deliver server 120 transfers information from the MTA server 118 to the mail client system 104 of the user 100 through the SMTP stack 116. The mail client system 106 comprises the same components as the mail client system 104, i.e., a calendar application 111, a GUI 113, a priority manager module 115, a SMTP stack 117 and a meeting queue module 121. The user 102 owns a calendar or a meeting table such as the calendar 200. Each time a new meeting invitation reaches the mail client system 104 or 106, a specific process occurs to schedule the new invitation meeting based on the already stored meeting invitation as described below.
The process of the present invention will now be described with reference to the following steps.
At first, the user 100 sends a meeting invitation to the user 102 through the mail client system 104. Thus, the meeting invitation reaches the SMTP stack 117 of the mail client 106 of the user 102 through the MTA server 118 and the MTA deliver server 120. The MTA deliver server 120 or the receiving module receives and transfers the meeting invitation to the client mail system of the user 102 and puts the meeting invitation into the calendar application 111. As soon as the user 102 receives the meeting invitation on his mail client system 106, the priority manager module 115 begins a scheduling process.
As shown in
A conflict may occur for at least two meetings having the same date and the same starting time for example. If the user 102 does not want to attend the meeting, the priority manager module 115 sends a decline instruction to the mail client system 104 of the user 100 in step 302.
If the user wants to attend the meeting, the priority manager module 115 accepts the meeting and specifically checks any potential conflict with meeting invitations already stored in the meeting queue module 121 in a step 304.
If conflicts exist (Yes, 304), the priority manager module 115 uses a priority ranking module (not shown) belonging to the priority manager module to identify or list all the conflicting meeting invitations in a step 306. Then, in a step 308, in the list of the conflicting meetings the priority manager module 115 only selects with a priority selecting module belonging to the priority manager module the conflicting meetings having a priority number equal to 1, i.e., the master conflicting meeting. Then in a step 310, the user has to decide if the priority of 1 for the conflicting meeting should be kept to 1 or if a priority of 1 should be affected to the new received meeting invitation with a priority ranking module.
If the user does not want to change the priority of 1 already allocated to the previous stored meeting invitation (No, 310), then the priority manager module 115 processes the new meeting invitation as shown in step 312. The priority manager module 115 uses a priority storing module belonging to the priority manager module 115 to add the new meeting invitation in the meeting queue or the predetermined location 121 by allocating the first available invitation number to the new meeting invitation. Then the user has to choose the priority number of the new meeting invitation among values other than 1. Thus, the priority manager module uses a dependency ranking module belonging to the priority manager module 115 in order to attribute to the new meeting invitation the number of master conflicting meeting invitations as parents. After the step 312, the priority manager module 115 uses a decline notification module belonging to the priority manager module 115 to send a decline instruction to the user 100 in the step 302. The user 102 uses a decline instruction to indicate to the user 101 that the user 102 will not attend the corresponding meeting. The decline instruction also indicates that the user still wants to receive update information relating to the corresponding meeting in order to be able to attend the meeting in case of any cancellation of other meetings having a higher priority than the corresponding meeting. Thus, the user 102 declines the new meeting invitation from the user 100 and the user can exit the calendar database as shown in step 320. However, the user 102 still keeps all the details of the new meeting in the database. The use of the database allows the user 102 to keep an historic record of all meeting invitations. Therefore, if the master conflicting meeting is canceled, the priority number of the new meeting invitation may change and the new priority number may imply that the user 102 can send an acceptance instruction to the user 100 for the new invitation meeting as will be described later.
In step 310, if the user 102 wants to attribute a priority equal to 1 to the meeting invitation (Yes, 310), the priority manager module 115 allocates the priority of 1 to the new meeting invitation. As the priority number equals to 1, the meeting invitation does not depend on any other meeting invitation, therefore the priority manager module 115 does not attribute any parents number to this meeting invitation as shown in step 314.
Then, in step 316, the priority manager module 115 consequently updates the database by changing the priority of each already stored meeting invitation respective by incrementing with 1 their priority numbers. Therefore, the increment of the new priority number equals to 1 lowers the priority levels of the corresponding stored meeting invitations. The priority manager module 115 also updates the allocation of parent numbers to all the already stored meeting invitations.
In a step 318, the priority manager module 115 uses an acceptance notification module belonging to the priority manager module 115 to send an acceptance instruction to the user 100 regarding the new meeting invitation as an acknowledgment. Consequently, the priority module 115 also sends a decline instruction to the user 100 for meeting invitations having now a lower priority level as described above. Then the user can exit the calendar application.
In step 304, if the calendar application detects no existing conflicts (No, 304), then the priority manager module 115 adds the new meeting invitation to the meeting queue module 121 with a priority number of 1 and with no allocated parent number as shown in step 322. The calendar database is then updated.
Then, in step 324, the priority manager sends an acceptance instruction to the user 100. The user 102 exits the calendar application as shown in step 320.
Another situation may occur where the user 100 would like to reschedule a meeting already stored in the meeting queue of the calendar database of the user 102. Then the user 102 has to suppress the corresponding meeting as shown in step 326 before beginning the process of scheduling of step 301. The meeting invitation to suppress is called removed meeting invitation, i.e., RM invitation with a specific value i such as 1, 2, 3, etc., to define and identify the meeting invitation name or meeting invitation identifier to suppress. The RM invitation comprises a removed meeting priority number a removed meeting parent numbers.
The process of suppressing a meeting invitation is represented in
Priority modules 114 and 115 include the same following modules as described above: a receiving module, a priority ranking module, a priority selecting module, a priority storing module, an acceptance notification module, a decline notification module, a dependency ranking module, a meeting suppress module, a priority comparison module and a dependency comparison module.
Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the present invention is not limited to those precise embodiments, and that various other changes and modifications may be affected therein by one skilled in the art without departing from the scope or spirit of the invention. All such changes and modifications are intended to be included within the scope of the invention as defined by the appending claims.
Number | Date | Country | Kind |
---|---|---|---|
08305033.6 | Feb 2008 | EP | regional |