Abstract:
Embodiments of the present invention address deficiencies of the art in respect to C&amp;S e-meeting scheduling and provide a method, system and computer program product for dynamic agenda updating in a C&amp;S system. In an embodiment of the invention, a method for dynamic agenda updating based upon presenter participation in an e-meeting can be provided. The method can include creating a new e-meeting in a collaborative computing environment for attendees and presenters selected from amongst the attendees. The method also can include generating an invite with an agenda for the new e-meeting including a time block and time slots for presentations by different ones of the presenters. Finally, the method can include dynamically changing a view to the agenda for viewing ones of the attendees to reflect changes in the time slots resulting from replies to the invite received by individual ones of the presenters.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to the field of computer based calendaring and scheduling (C&amp;S) and more particularly to meeting agenda generation in a C&amp;S system. 
     2. Description of the Related Art 
     Calendaring systems have formed the core component of personal information management software and firmware applications for decades. Initially, a mere calendar display, modem calendaring systems provide scheduling and alarm functions in addition to full integration with contact management, time entry, billing and project management applications. The typical calendaring application minimally provides a mechanism for scheduling an event to occur on a certain date at a certain time. Generally, the event can be associated with a textual description of the event. More advanced implementations also permit the association of the scheduled event with a particular contact, a particular project, or both. Furthermore, most calendar applications provide functionality for setting an alarm prior to the occurrence of the event, as well as archival features. 
     Several software products include support for Calendaring &amp; Scheduling (C&amp;S). Known C&amp;S products include Lotus Notes, Microsoft Outlook, and web-based products like Yahoo! Calendar. These products allow one to manage personal events including appointments and anniversaries. C&amp;S products also typically allow one to manage shared events, referred to generally as e-meetings. 
     E-meetings scheduled within a C&amp;S system often provide for several e-meeting presenters. An e-meeting presenter is a participant to a meeting who leads at least a portion of the e-meeting by presenting content, either through real-time communications and messaging, conferencing, application sharing/screen sharing or white-boarding. Oftentimes, presenters upload content to the e-meeting room in advance of the e-meeting for e-meeting participants to review asynchronously. Thus, as presenters drive the nature of an e-meeting, knowing for certain the identity of those presenters guaranteed to attend an e-meeting can be critical. 
     At the time of scheduling an e-meeting in a C&amp;S system, the e-meeting chairperson through a user interface provided by the C&amp;S system can select a block of time for the e-meeting and can create an agenda that spans the block of time. Of note, though, the agenda often can be dependent upon the participation of others—namely the presenters. To the extent that the number and identity of the presenters to a meeting change, so too must the agenda. 
     For example, in some circumstances, a presenter may decline an invitation to an e-meeting, or the presentation of one presenter may exceed an allotted time preventing subsequent presenters from participating in the e-meeting. At present, however, the agenda to an e-meeting cannot be updated based upon changes in the number and identity of presenters participating. Rather, agendas are fixed and immovable once set at the outset irrespective of the number and identity of presenters to an e-meeting. 
     BRIEF SUMMARY OF THE INVENTION 
     Embodiments of the present invention address deficiencies of the art in respect to C&amp;S e-meeting scheduling and provide a novel and non-obvious method, system and computer program product for dynamic agenda updating in a C&amp;S system. In an embodiment of the invention, a method for dynamic agenda updating based upon presenter participation in an e-meeting can be provided. The method can include creating a new e-meeting in a collaborative computing environment for attendees and presenters selected from amongst the attendees. The method also can include generating an invite or an update to an invite with an agenda for the new e-meeting including a time block and time slots for presentations by different ones of the presenters. Finally, the method can include dynamically changing a view to the agenda for viewing ones of the attendees to reflect changes in the time slots resulting from replies to the invite received by individual ones of the presenters. 
     In one aspect of the embodiment, dynamically changing a view to the agenda for viewing ones of the attendees to reflect changes in the time slots resulting from replies to the invite received by individual ones of the presenters can include providing an initial view to the agenda for viewing ones of the attendees through the invite, receiving a reply from a presenter requiring a change to at least one of the time slots of the time block in the agenda, revising the agenda to reflect the change to the at least one of the time slots of the time block, and providing a new view of the revised agenda for viewing ones of the attendees through the invite. By way of example, receiving a reply from a presenter requiring a change to at least one of the time slots of the time block in the agenda can include receiving a reply such as an acceptance to the invite, a declination to the invite, and a delegation of the invite to an alternative presenter. 
     Optionally, revising the agenda to reflect the change to the at least one of the time slots of the time block can include determining that the reply is a declination to the invite and removing a time slot associated with the declination from the time block. Also, revising the agenda to reflect the change to the at least one of the time slots of the time block can include determining that the reply is a delegation of the invite to an alternative presenter and assigning a time slot associated with the delegation to the alternative presenter. Yet further, revising the agenda to reflect the change to the at least one of the time slots of the time block can include determining that the reply is an acceptance of the invite, assigning a time slot associated with the acceptance of the invite to the presenter, marking the assigned time slot as flexible, and subsequently re-assigning a different time slot to the presenter to accommodate a different presenter. 
     In another embodiment of the invention, a C&amp;S data processing system can be provided. The system can include a collaborative environment executing in a collaborative server and communicatively coupled to collaborative client hosts hosting respective collaborative clients providing C&amp;S services. The system also can include a data store of e-meetings scheduled in the collaborative environment, each e-meeting including an agenda, the agenda including a selection of presenters amongst attendees to the e-meeting, the agenda further including a topic and allotted time for each of the presenters. Finally, the system can include dynamic agenda management logic coupled to the collaborative environment. The logic can include program code enabled to create a new e-meeting in the data store, to generate an invite with an agenda for the new e-meeting including a time block and a plurality of time slots for presentations by different presenters, and to dynamically change a view to the agenda for viewing attendees to reflect changes in the time slots resulting from replies to the invite received by the different presenters. 
     Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
       The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein: 
         FIG. 1  is a pictorial illustration of a process for dynamic agenda updating based upon presenter participation in an e-meeting; 
         FIG. 2  is a schematic illustration of a C&amp;S system configured for dynamic agenda updating based upon presenter participation in an e-meeting; and, 
         FIG. 3  is a flow chart illustrating a process for dynamic agenda updating based upon presenter participation in an e-meeting. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Embodiments of the present invention provide a method, system and computer program product for dynamic agenda updating based upon presenter participation in an e-meeting. In accordance with an embodiment of the present invention, an agenda can be established for an e-meeting with one or more attendees designated to present in respective time slots for the agenda. Invitations to the e-meeting including a contemporaneous form of the agenda can be forwarded to the attendees and, subsequently, the agenda can dynamically change as different ones of the presenters accept or decline attending the e-meeting and as different ones of the time slots are designated for presentation by different ones of the presenters. Accordingly, whenever the invitation is viewed by the attendees, a contemporaneous form of the dynamically changing agenda can be provided. 
     In further illustration,  FIG. 1  pictorially depicts a process for dynamic agenda updating based upon presenter participation in an e-meeting. As shown in  FIG. 1 , an e-meeting organizer  110  can prepare an invitation  140  to invite a group of attendees  130  to attend an e-meeting  120 . The invitation  140  can specify the nature of the e-meeting along with an agenda  150 . In this regard, one or more of the attendees  130  can be designated to present in corresponding time slots in a block of time set forth in the agenda  150 . The designation of the presenting ones of the attendees  130  can be set forth in the invitation  140 . 
     Once the invitation  140  has been provided to the attendees  130 , each of the attendees  130  designated to present can review a suggested time slot in the agenda  150 . In response, each of the attendees  130  designated to present can accept the suggested time slot in the agenda  150 , propose one or more different time slots in the agenda  150 , decline to present entirely, delegate the presentation responsibility to a different one of the attendees  130 , or any combination thereof. Optionally, alternative time slots in the agenda  150  further can be provided. Yet further, different time slots can be marked flexible such that other attendees  130  designated to present can select a flexible time slot for presenting and attendees  130  marking the time slot flexible can be rescheduled for a different time slot in the agenda  150 . 
     Notably, the block of time can be modified dynamically depending upon the behavior of the presenting ones of the attendees  130 . In this regard, when a presenting one of the attendees  130  declines the invitation  140 , the time slot in the block of time intended for the declining one of the attendees  130  can be removed from the block of time effectively shortening the e-meeting  120 . The actual times for remaining time slots in the block of time can change accordingly. During the course of time between the invitation  140  and the conduct of the e-meeting  120 , at any given time, any of the attendees  130  can review the invitation  140  referencing a contemporary form of the agenda  150  in which presenting ones of the attendees  130  and corresponding time slots can be provided. In this way, the dynamic nature of the agenda  150  will be recognized by the attendees  130 . 
     The process shown in  FIG. 1  can be implemented in C&amp;S data processing system. To that end,  FIG. 2  schematic illustrates a C&amp;S data processing system configured for dynamic agenda updating based upon presenter participation in an e-meeting. The system can include a collaborative server  230  communicatively coupled to one or more collaborative client hosts  210  over a computer communications network  220 . The collaborative server  230  can support the operation of a collaborative environment  250  providing a collaborative interface for a C&amp;S system to different collaborative clients  240  executing in respective ones of the collaborative client hosts  210 . 
     The collaborative environment  250  can include a data store  260  of different scheduled e-meetings  270 , each of the e-meetings  270  including a corresponding agenda  280 . Each agenda  280  can include a set of presenters scheduled to present a topic during a time slot in a block of time for the e-meeting  270 . Notably, dynamic agenda management logic  300  further can be provided in connection with the collaborative environment  250  to support dynamic agenda updating based upon presenter participation in an e-meeting. 
     Specifically, the dynamic agenda management logic  300  can include program code enabled to dynamically change the agenda  280  for an e-meeting  270  according to invited presenter responses to an invite  290  for the e-meeting  270 . Initially, before any presenters scheduled to present respond to the invite  290 , the agenda  280  can reflect the invited presenters and a specified topic along with an allotted period of time in a time slot for each of the presenters. No order of presentation need be specified. Thereafter, as invited presenters respond to the invite  290 , a more detailed form of the agenda  280  can be provided on request. 
     Specifically, the program code of the dynamic agenda management logic  300  can be enabled to change the assignment of different time slots to different presenters in the agenda  280  as different presenters accept the invitation to present, decline the invitation to present, accept the invitation present but in a different time slot, or request a substitute presenter as a proxy for a time slot. Additionally, the program code can be enabled to modify the time block for the e-meeting  270  to accommodate fewer time slots than initially required. In this way, the agenda  280  as viewed through the invite  290  can dynamically change leading up to the e-meeting  270  dependent upon the responses of the presenters to the invite  290 . 
     In further illustration of the operation of the dynamic agenda management logic  300 ,  FIG. 3  is a flow chart illustrating a process for dynamic agenda updating based upon presenter participation in an e-meeting. Beginning in block  305 , a new e-meeting can be created and in block  310  a selection of attendees can be specified for the e-meeting. In block  315 , a time block can be defined for the e-meeting and in block  320 , different ones of the selection of attendees can be selected to present within time slots in the time block. Thereafter, in block  325  an agenda for the e-meeting can be generated for the e-meeting to include the presenters, corresponding topics and allotted time for each presentation. Finally, in block  330  the invite can be transmitted to each of the attendees. 
     In block  335 , a reply can be received from a presenting one of the attendees. In decision block  340 , if the reply is an acceptance to the invite, then in block  345  a time slot within the time block can be mapped to the presenting one of the attendees. In this regard, within the reply, the presenting one of the attendees can accept the originally proposed time slot, or the presenting one of the attendees can request a different time slot in the time block. Optionally, the presenting one of the attendees can specify multiple different acceptable time slots with our without an order of preference for the different time slots. Yet further, the presenting one of the attendees can indicate whether a preference for a time slot is flexible such that the time slot can be re-assigned to a different presenter as need be. 
     By comparison, if in decision block  340  the reply is not an acceptance to the invite, in decision block  350  it can be determined if the reply is a request to delegate the presentation to a different presenter. If so, in block  355  an alternate presenter can be specified for association with a time slot in the time block. Otherwise, it can be presumed that the reply is a declination of the invite. In all three circumstances, in block  360  the time block and corresponding time slots can be adjusted for the reply of the presenting one of the attendees. 
     In this regard, in the event of a declination, the time slot can be removed from the time block and the time block can be shortened, or the time slot can be left open for assignment to a different presenting one of the attendees. In contrast, in the event that reply of the presenting one of the attendees specifies a time slot already flexibly assigned to a different presenter, the time slot can be associated with the presenting one of the attendees and an alternate time slot can be associated with the different presenter. Finally, in block  365  a revised agenda can be prepared to reflect the newly adjusted time block and the replies of the presenters and the process can repeat through block  335  until the occurrence of the e-meeting. 
     Embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like. Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. 
     For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk—read only memory (CD-ROM), compact disk—read/write (CD-R/W) and DVD. 
     A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.