Abstract:
A method and system is provided for policy driven, online meeting updates during the course of an electronic meeting. The invention defines one or more groups of participants in an electronic meeting, and assigns a unique relative priority to each group of participants. Meeting events, such as slide changes or other data that is sent to the various participants for viewing, are transmitted to the various groups in a sequence ordered by the relative priorities assigned to the groups. Alternatively, the invention provides for randomly staggering the delivery of data to the various groups. Both embodiments alleviate the scalability problems that arise for electronic meetings having large numbers of participants.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Statement of the Technical Field  
         [0002]     The present invention relates to the field of electronic meetings and more particularly to a method and system for transmitting data to participants in larger scale electronic meetings.  
         [0003]     2. Description of the Related Art  
         [0004]     The rapid development of the Internet has led to advanced modes of communication and collaboration. Using the Internet as a backbone, individuals worldwide can converge in cyberspace to share ideas, documents and images in a manner not previously possible through conventional telephony and video conferencing. To facilitate collaboration over the Internet, a substantial collection of technologies and protocols have been assembled to effectively deliver audio, video and data over the single data communications medium of the Internet. These technologies include instant messaging, Internet telephony, application sharing, and electronic meetings.  
         [0005]     However, there is a significant scalability problem that can occur during electronic meetings which include a large number of participants. One problem is triggered when a meeting event, such as a slide change, causes all of the participants to make a request to the e-meeting server for the new slide at exactly the same time, thereby overloading the server. In such a case, the network around the server can also overload, causing significant packet losses at the network routers between the servers and client participants, as well as a poor overall meeting experience due to latency. Therefore, it would be desirable to conduct e-meetings in a manner that alleviates the difficulties presented by larger scale meetings.  
         [0006]     Furthermore, it should also be recognized that moderators of particular e-meetings are often tailoring their presentations towards a specific audience or group. In addition to this core group, certain ancillary participants may join the meeting to simply listen, or to add input on a smaller scale that makes a lesser impact on the meeting. Therefore it may not be as important to provide refreshes of meeting events to such ancillary participants at the same time as the main, targeted group of participants.  
         [0007]     It would desirable therefore, to provide a method and system for preventing the overload problems associated with large scale e-meetings, which also recognizes that varied nature of e-meeting participants, so as to more efficiently transmit data to the participants, and thereby improve the overall meeting experience.  
       SUMMARY OF THE INVENTION  
       [0008]     The present invention addresses the deficiencies of the art in respect to transmitting data to a large number of participants in an electronic meeting and provides a novel and non-obvious method, system and apparatus for policy driven, online meeting updates during the course of an electronic meeting. The invention defines one or more groups of participants in an electronic meeting, and assigns a unique priority to each group of participants. Meeting events, such as slide changes or other data that is sent to the various participants for viewing, are transmitted to the various groups in order of priority assigned to the groups. Alternatively, the invention provides for staggering the delivery of data to various groups of randomly selected participants. Both embodiments alleviate the scalability problems that arise for electronic meetings having large numbers of participants.  
         [0009]     Methods consistent with the present invention provide a method of conducting electronic meetings. First, one or more groups participating in an electronic meeting are defined, and a relative priority for each group is assigned. The relative priority assigned to each group is unique to the group. Next, after a meeting event is generated, logic is triggered to provide the meeting event to the groups in a sequence ordered by the relative priority for each group.  
         [0010]     In another embodiment of the present invention, a method of conducting electronic meeting is provided for meetings having a plurality of participants. A meeting event is generated. In addition, a first group of participants is selected at random from the plurality of participants. The first group has a pre-configured maximum number of participants. Logic is then triggered to provide the meeting event to the first group of participants.  
         [0011]     Systems consistent with the present invention include a system for conducting electronic meetings. A meeting server executing a meeting policy is configured to define one or more groups participating in an electronic meeting, and to assign a relative priority for each group. The relative priority for each group is unique to the group. Triggering logic is included to provide a meeting event generated by the server to the groups in a sequence ordered by the relative priority for each group.  
         [0012]     In another embodiment, the present invention provides for a system for conducting electronic meetings having a plurality of participants. A meeting server is provided which executes a meeting policy configured to select at random a group of participants from the plurality of participants. The group has a pre-configured maximum number of participants. The system also includes triggering logic to provide a meeting event generated by the server to the group of participants.  
         [0013]     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 DRAWINGS  
       [0014]     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:  
         [0015]      FIG. 1  is a conceptual illustration of a system configured to conduct an electronic meeting in accordance with the principles of the present invention;  
         [0016]      FIG. 2  is a flowchart illustrating the process of conducting an electronic meeting in accordance with the principles of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0017]     The present invention provides a method and system for conducting electronic meetings that alleviates the scalability problems arising from electronic meetings having a large number of participants. In accordance with the present invention, certain identified e-meeting participants or classes of e-meeting of participants can be prioritized for receiving e-meeting presentation updates sooner (or more frequently) than other e-meeting participants or other classes of e-meeting participants. Specifically, one or more groups of participants in a e-meeting can be defined. Subsequently, a unique relative priority can be assigned to each group of e-meeting participants. Meeting events able to trigger image updates can be transmitted to the various groups in an order of priority assigned to the groups. Additionally, in a preferred embodiment of the present invention, the delivery of triggering events can be randomly staggered to load balance the triggering of image updates.  
         [0018]     In further illustration,  FIG. 1  is a block diagram illustrating a system configured to conduct an electronic meeting in accordance with the principles of the present invention. The system of the present invention can include an e-meeting server  101  coupled to a number of e-meeting participants. The e-meeting server  101  can be configured to distribute e-meeting imagery to the e-meeting participants so as to provide a virtual conference room for the e-meeting participants. Notably, the e-meeting server  101  can include an e-meeting policy  108  defining a set of rules for how the electronic meetings are to be conducted by the server  101 . The policy  108  can be one static policy, a variant policy, or a number of static or variant policies, depending upon what is preferred.  
         [0019]     Notably, the e-meeting participants of the present invention, hereinafter referred to as “users”, can be organized into one or more groups as shown in  FIG. 1 . More particularly, in a first embodiment of the present invention, the meeting policy  108  can direct the e-meeting server  101  to identify and define one or more set of groups of participants in an e-meeting. As it will be apparent to the skilled artisan, the meeting policy  108  can define up to N different groups, each having any number of users. The meeting policy  108  further can direct the server  101  to identify and assign a “relative priority” to the defined groups. As used herein, the term “relative priority” shall mean a level of priority that distinguishes one group from another. The levels of priority can be hierarchical, such that a first group can have the highest priority, a second group can have the next highest priority, and the last group can have the lowest priority.  
         [0020]     The e-meeting server  101  can be configured to produce e-meeting events  120  which event can be made available to the users. As used herein, a “meeting event” can include any data created, generated, or transmitted in the course of an e-meeting. The meeting event can be generated within the e-meeting server  101  itself, or the meeting event  120  can be generated outside of the e-meeting server  101 , such as by any client machine or user coupled to the e-meeting server  101 . Examples of typical meeting events  120  can include slide show slide changes, text changes, and other audible or visual presentation changes that commonly occur within e-meetings to indicate that a screen update will be required by the users.  
         [0021]     The meeting policy  108  can be configured to dictate when a particular one of the meeting events  120  can be made available to the various groups of users in a sequence ordered by the relative priority for each group. In further illustration,  FIG. 1  depicts the transmission of a particular one of the meeting events  120  from the e-meeting server  101  to the various groups of users. Since Group 1 has been accorded the highest relative priority by the meeting policy  108  (for illustrative purposes only) the meeting event  120  can be transmitted first to Group 1. By comparison, since Group 2 has been accorded the next highest relative priority by the meeting policy  108 , the meeting event  120  can be transmitted next to Group 1. Finally, since Group N has been accorded the lowest relative priority by the meeting policy  108 , the meeting event  120  can be transmitted last to Group 1.  
         [0022]     It will be recognized by one or ordinary skill in the art that the transmittal of meeting events can be accomplished in a variety of ways. In another embodiment of the present invention, the e-meeting server  101  can be configured to send messages or commands to the various client machines of the users, indicating that the meeting event  120  is available for transmittal. The meeting event  120  then can be transmitted from whence it had been generated, which may include any machine in the network of machines coupled to the e-meeting server  101 .  
         [0023]     In each case however, logic can be triggered to make the meeting event  120  available, or to transmit the meeting event  120  to the various users in the electronic meeting in a time sequence ordered by the relative priority of the groups of users defined by the meeting policy  108 . In this manner, the meeting events can be staggered to users in stages, instead of being simultaneously distributed to all the users. Furthermore, the staggering can be executed in pre-configured time intervals.  
         [0024]     Alternatively, the meeting policy  108  may not be configured to set priorities for groups of users. When no such “priority policy” is available, the server  101  can be configured to instead select at random groups of users to receive meeting events. The meeting events can then be made available to each additional randomly selected groups of users in a staggered fashion. Again, the staggering can be executed in pre-configured time intervals.  
         [0025]      FIG. 2  is a flowchart illustrating the process of conducting an electronic meeting in accordance with the principles of the present invention. After starting at step  201 , it is determined in step  203  whether a priority policy is available as the meeting policy. If a priority policy is available, the groups of users are defined in step  205 , and a relative priority is assigned to each defined group in step  207 . After a meeting event is generated in step  209 , the meeting event is made available, transmitted, or distributed in some other fashion in step  211  to the defined groups in order of relative priority, which can be staggered by a pre-configured time interval.  
         [0026]     If no priority policy is available, the process proceeds to step  214 , where a pre-configured maximum number of participants is defined. Next, a random number of users are selected in step  216  to receive meeting events. The number can include up to the pre-configured maximum. After a meeting event is generated in step  218 , the meeting event is made available, transmitted, or distributed in some other fashion in step  220  to the randomly selected group. If desired, the process can also return to step  216  to randomly select additional groups of users, each group having users not previously included in any other group, such that meeting events can be made available, transmitted, or distributed to the additional groups of users in a staggered fashion. The staggering can be separated in time by a pre-configured time interval.  
         [0027]     The present invention can be realized in hardware, software, or a combination of hardware and software. An implementation of the method and system of the present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system, or other apparatus adapted for carrying out the methods described herein, is suited to perform the functions described herein.  
         [0028]     A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which, when loaded in a computer system is able to carry out these methods.  
         [0029]     Computer program or application in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form. Significantly, this invention can be embodied in other specific forms without departing from the spirit or essential attributes thereof, and accordingly, reference should be had to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.