1. Field of the Invention
The present invention relates generally to online conference session presentation systems and methods and particularly, a novel method and system for conducting an online presentation including multiple speakers.
2. Description of the Prior Art
It often happens that online conference sessions are fraught with the complexity of coordinating the technical aspects of screen sharing and passing on the permissions of screen manipulation during an online conference session as well as aligning these controls according to a sequentially planned meeting. Transitioning from one phase of the sequence to another involves switching controls from one speaker to another and/or switching from one application to another in the course of a presentation. These transitions involve technical attention on the part of the presenter(s), typically disruptive to the presenter's message.
Many technical and graphical solutions have been developed which address these challenges. For instance, “Sametime Meeting”, a product of I.B.M./Lotus, is an online presentation solution that allows users to share their screens or applications to an online audience. When another member of the electronic or online meeting (“eMeeting”) would like to share their screen or application, the current presenter has to give up his or her control and the other member has to take the control. This change of control usually is accompanied by a disruptive discussion about coordinating the transition or a disruptive pause in the presentation. Also, Sametime Meeting does not have the ability to set up a sequence of control switches between users or between applications in a predetermined way. Similar to Sametime Meeting, the Multimedia and Multi-party Desktop Conference System (“MERMAID”) is a system allowing a group of remotely located users to conduct a meeting via their desktop computers. The user with the floor control determines that his or her inputs are sent to the audience while muting audiences' input controls. Floor control can also be passed in order of the requests for the floor. Although this invention provides a means to designate which user has control of the data flow, it does not provide a meeting agenda-based means to do this, nor does it provide a dynamically updated, meeting-phase-based user interface to pass this control.
U.S. Pat. No. 6,496,201 B1 entitled “System and User Interface for Multiparty Conferencing,” describes a system and GUI for teleconferencing. The invention describes modes, which allow the invention to incorporate other conferencing systems (e.g., a speed dialing menu, a directory server listing, or a call log history). The GUI focuses on the system modes and features, not on phases of a meeting, and the system does not provide a way to sequentially switch between the resources of the different speakers of a meeting depending on which phase is current.
Currently-pending, commonly-owned U.S. patent application Ser. No. ______ (Attorney Docket No. YOR9-2003-0090-US1) entitled “Agenda-Driven Meetings” relates to a system for structuring an “agenda-driven meeting” that allows a distributed work group, committee, or task force to have an online meeting to review the status of various ongoing projects. The feature of the invention described in commonly-owned U.S. patent application Ser. No. ______ is an “agenda” comprising a list of items that defines a meeting phase. Social interaction coherence through the use of awareness mechanisms is supported and a graphical interface depicting group activity is provided. Phases are distinct areas of interest within the meeting, but they need not be sequential, and the transition from one to another does not involve any passing of feeds or controls from one person to another.
Therefore, a need exists for a method of coordinating direct feed control manipulation based of the phase (or section) of a given meeting, where the feeds are automatically reconfigured when a new phase begins, and where these feed configurations can be specified (e.g., in an agenda) before the meeting beings. There also exists a need for an eMeeting graphical representation, which depicts both the current eMeeting phase and floor control.
The current invention provides a system and method that coordinates the data feeds of a given online meeting (an eMeeting) with the meeting's section or phases. In particular, it is the agenda of a given eMeeting to not only specify the phases of the given meeting, but additionally how the data feeds of the participants of the eMeeting will be directed. These feeds include the audio and video from each of the eMeeting's participants, as well external data source as well (e.g., an external video or audio feed).
In addition, the current invention also provides eMeeting participants with a dynamically updated, graphical user interface (GUI), and one that gives an abstract representation of the current meeting state. In addition to supporting the eMeeting's agenda and social coherence, this GUI acts an interface between the meeting's agenda and the data feed configurations. When the meeting chairperson or current speaker wants to switch the eMeeting's feed configuration from that of the current phase to the next, he or she can simply select (or “click on”) the relevant object in the graphic representation. The invention then automatically reconfigures the eMeeting's data feeds to those of the next phase. The current invention also enables eMeeting speakers and spectators to handle the feed reconfigurations associated with question and answer sessions, the inventive GUI functioning as the front-end.
Further features, aspects and advantages of the apparatus and methods of the present invention will become better understood with regard to the following description, appended claims, and the accompanying drawings where:
The present invention is implemented to support a meeting conducted online (eMeeting). According to this aspect invention, the various eMeeting feeds (data sources) are coordinated with the meeting's agenda, enhancing the eMeeting's flow of presentation by minimizing technical coordination from one agenda item (or speaker) to another. A further aspect of the invention provides a novel graphical user interface for illustrating the current eMeeting state and providing additional feed-management control. The current embodiment implements a web (HTTP) service model, with a web (HTTP) server (described in detail with reference to
This agenda 1000, including its phases, speakers and feed policies are all determined and specified at some point in time before the meeting begins. The agenda 1000 can be implemented as a simple text file, created with tools including, but not limited to, the Notepad applications included Microsoft Windows, or Vi distributed with the UNIX operating system. The current invention is additionally applicable to cases where the agenda is embodied in other ways, such as an instance of the software object (e.g., an instance of a Java-based object). When the meeting advances from one phase to the next, the associated speaker and feed policies will be triggered automatically without explicit technical adjustment of floor control during the meeting itself. One with ordinary skill in the art will appreciate that default feed policies can also be specified, e.g., that barring any other policy, no user will provide any feed, or that both the current speaker's audio and video are broadcast. Similarly, a default could specify that the current speaker have floor control (i.e., the right and ability to change the current meeting phase). Additionally, the agenda could specify a meeting leader (e.g., a chairperson, or emcee role) and give this role particular rights (e.g., the chairperson would always have their audio broadcast to everyone).
So, given this agenda 1000, when the meeting moves, for example, from phase 3 onto phase 4, the feed policy switches from phase 3's 1140, to phase 4's 1170. This means that the users see the shared screen switch from R. Doe's screen to K. Doe's as shown in
It is noted that, in the example online eMeeting scenario depicted in
Those skilled artisans will appreciate that multiple video feeds could be specified as well; the intention being that all active clients would receive all indicated feeds at once. The server device 2000 as shown in
The server device 2000 may be any computing node able to act as an HTTP server. This includes, but is not limited to, the products sold by IBM under the trademarks ThinkPad® or PowerPC®, running the operating system and server application suite sold by Microsoft under the trademark Windows NT®. Examples of the network 2010 include, but are not limited to, the Internet and private intranets. Each client 2020, 2030, 2040, 2050 may include any network node able to act as an HTTP client. Examples include, but are not limited to, an IBM ThinkPad® running Windows 95 and a web browser such as Microsoft's Internet Explorer®. Clients also include network-connectable mobile (i.e., portable) devices such as that sold under the trademark WorkPad® by IBM, as well as smart cellular telephones (i.e., devices which can act as a cellular telephone as well as run network applications, like web browsers), for instance, as those sold by Nokia such as the Nokia 90008.
In the preferred implementation, the client application includes an applet retrieved from the server 2000, and run via the client's HTTP client (web browser). This applet provides the following functions: 1) Allows a given user to connect to a given meeting and indicate their identity (especially important for users who are speakers); 2) Transmits the feeds generated by the client (2020-2050), including audio and video, to the server 2000; 3) Outputs this feeds transmitted from the server 2000 to the active user; and, 4) Transmits control signals (e.g., the request to ask a question, an action described in detail with reference to
Additionally, in the preferred implementation, this applet, in addition to handling data display and user interactions (e.g., data entry and mouse events), constantly polls the server (2000) for updated data, this data being the latest version available for the meeting instance currently being viewed. Those with ordinary skill in the art will appreciate that there are other methods of retrieving such data, including, but not limited to having the server push updates, whenever available down to the client, the client listening on a port known to the server (for details, see Douglas Corner, “Internetworking with TCP/IP, Vol. 1 Principles, Protocols and Architecture,” Prentice Hall, Englewood Cliffs, N.J., 1991, incorporated by reference herein).
The Multipresentation database 4070 may be any application providing access and persistent management of data, such as that sold by IBM under the trademark DB/2®. Those with ordinary skill in the art will also appreciate that the Multi-Speaker database 4070 may be run on another remote network connected node and accessed via the network 2010.
The Multipresentation Server Handler 4005 can include a standard HTTP Server, such as the product sold by the IBM under the trademark WebSphere®. In addition, the Multipresentation Server Handler 4005 must include facilities to respond to the multi-speaker presentation user control requests. Means for augmenting the standard HTTP server include, but are not limited the use of CGI-bin scripts and Java Servlets.
The multi-speaker presentation user control requests, include, but are not limited to, the following: 1) Requests to create new multi-speaker presentation instances, including the specification of the presentation's agenda; 2) Requests to join a meeting, possibly including identification of the user; 3) Requests to exit a meeting; 4) Requests to ask a question (discussed in detail with reference to
If the control signal request is one to create a new multi-speaker presentation instance, the Multipresentation Server Handler 4005 creates a new presentation entry in the Multipresentation Database 4070, parsing and storing the passed agenda in this new entry. If the request is one from a user asking to join an existing presentation, the Multipresentation Database 4070 takes the user ID for the requestor and stores it in applicable Multipresentation Database 4070 presentation entry, marking the user as active. If the request is one to leave a meeting, then the user's ID is deleted from the Multipresentation Database 4070 as being an active user. If the request is from an active user who wants to ask a question, then the user's entry in the applicable Multipresentation Database 4070 presentation is marked as requesting a question. One with ordinary skill in the art will appreciate that a given user can delete a request to ask a question in the same manner. If the input is an indication from the current speaker to a specified user that he or she may now ask their question, then the Multipresentation Database 4070 is first checked to verify that the specified user actually asked a question. If so, then that user is marked as the temporary current speaker in the applicable Multipresentation Database 4070 entry. According to the current invention, the current speaker may retain floor control to the extent that he or she may retract this temporary speaker status if necessary. One with ordinary skill in the art will appreciate that a presentation default could enable users with temporary speakers status to have their audio broadcast to all current active users.
Finally, if the request is one to change the presentation's current phase, the Multipresentation Server Handler 4005 first checks the agenda to verify that the user making the request has the privilege to do so. If so, the Multipresentation Server Handler 4005 checks the agenda to verify that the requested phase change is legal (e.g., moving on to the next phase listed in the agenda). If so, the Multipresentation Server Handler 4005 modifies the applicable Multipresentation Database 4070 presentation entry, marking the next phase as being the current one.
If the input is not a user control request, then, in step 6020, the input is checked to see whether it is a data feed. If not, then a miscellaneous handler, beyond the scope of the current invention, is invoked in step 6030, following which control continues at step 6000.
If the input is data feed, then the Multipresentation Broadcast Handler 4060 is invoked, following which control continues at step 6000. The Multipresentation Broadcast Handler 4060 is responsible for taking data that is fed from the clients 2020-2050 and data sources 2060, checking the current feed policy (1080, 1110, 1140, or 1170), combining the feeds as is specified, and then transmitting the resulting composite image and/or audio to the applicable clients 2020-2050.
The representation panel 7020 includes a depiction of the state of the presentation instance, including the current meeting agenda phases 7090, 7100, 7110, 7120; and all active users 7160, 7170, 7180, 7190 attending the meeting. The meeting agenda is depicted as a linear progression through phases, which are associated with the phases 7050-7080 in the agenda panel 7010.
All active users are depicted in the representation panel 7020 that graphically depicts an indication of the activity level of all active users. For instance,
The present invention provides a method by which data feed controls are created and activated, this activation tied to the current active phase of an online eMeeting. This process is depicted in
Although the preferred embodiment is a web service (i.e., HTTP-bases), one with ordinary skill in the art will appreciate that the current invention can also be implemented as a videoconference, or as a raw socket-based client/server application.
While the invention has been particularly shown and described with respect to illustrative and preformed embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention which should be limited only by the scope of the appended claims.