Scheduled meetings often require more time to complete than originally scheduled. Ideally, the meeting can simply be completed by extending beyond the scheduled end time. However, participants in the meeting may have other obligations following the scheduled end time or a meeting room in which at least some of the participants are located may be reserved for other purposes after the scheduled end time. As such, there is no guarantee that the meeting can simply be extended past the originally scheduled end time. Moreover, in order for a meeting organizer to find out whether it is even possible to extend the meeting, the organizer must interrupt the meeting to discuss the potential extension with the meeting participants. That interruption is disruptive to the flow of the meeting and can be time consuming. Furthermore, some participants may not immediately know their availability to extend the meeting when asked, thereby adding to uncertainty about extending the meeting.
The technology disclosed herein enables a conferencing client operated by a meeting organizer to present the meeting organizer with information about the impact of extending a meeting past its scheduled end time. In a particular embodiment, a method provides, in a conferencing server, establishing a conferencing session for the meeting with an organizer conferencing client operated by the organizer. During the meeting, the method provides identifying participants in the meeting, accessing a schedule for each of the participants and determining an availability for each of the participants past the scheduled end time of the meeting from the respective schedules. The method further provides determining the impact based on the availability for each of the participants.
In some embodiments, the method provides presenting the impact to the organizer via the organizer conferencing client.
In some embodiments, identifying the participants comprises identifying one or more users associated with one or more conferencing clients also connected to the conferencing session.
In some embodiments, determining the availability for each of the participants comprises determining whether the participants have availability at each of a plurality of time thresholds beyond the scheduled end time and determining whether a location of one or more of the participants is available at each of the plurality of time thresholds beyond the scheduled end time. In those embodiments, determining the impact may comprise determining a percentage of the participants that have availability at each of the plurality of time thresholds, wherein the impact includes the percentages.
In some embodiments, determining the impact comprises, when the availability for one participant of the participants indicates that participant has another meeting scheduled within a threshold amount of time after the scheduled end time, determining a likelihood that the one participant will leave for the other meeting, wherein the impact includes the likelihood. In those embodiments, a basis for determining the likelihood that the one participant will leave for the other meeting may include one or more of historical meeting attendance information for the one participant and importance of the one participant to the other meeting.
In some embodiments, upon the organizer indicating, via the organizer conferencing client, that the meeting will extend past the scheduled end time, the method provides transferring a notification that the meeting will extend past the scheduled end time to each of one or more of the participants. In those embodiments, the method may further include receiving one or more responses to the notification from respective ones of the one or more of the participants indicating whether the respective ones of the one or more of the participants will remain on the meeting.
In some embodiments, the method provides, upon the organizer indicating, via the organizer conferencing client, that the meeting will extend past the scheduled end time, transferring a notification to one or more organizers of one or more meetings that one or more of the participants will be late to due to the meeting extending past the scheduled end time.
In another embodiment, an apparatus is provided having one or more computer readable storage media and a processing system operatively coupled with the one or more computer readable storage media. Program instructions stored on the one or more computer readable storage media, when read and executed by the processing system, direct the processing system to establish a conferencing session for the meeting with an organizer conferencing client operated by the organizer. During the meeting, the program instructions direct the processing system to identify participants in the meeting, access a schedule for each of the participants, and determine an availability for each of the participants past the scheduled end time of the meeting from the respective schedules. The program instructions further direct the processing system to determine the impact based on the availability for each of the participants.
A large percentage of modern organizations use calendar services to host the schedules of members of the organization (e.g., employees, contractors, etc.). This typically allows for the members to access and manipulate their schedules from any client (e.g., application) configured to access the calendar service. Meetings and appointments can be scheduled, moved, canceled, etc., using the client. As such, the schedules for various members of the organization may be accessed using this centralized calendar service. The examples provided below leverage this capability of a calendar service to determine the schedules of participants in a meeting, and possibly the schedule of a location where the meeting is being held, to determine an impact of extending a meeting should such an extension be desired by a meeting organizer. Information about the impact is provided to the meeting organizer and the meeting organizer can then make a more informed decision about whether to extend the meeting or take alternative action, such as rescheduling the meeting for another time.
In operation, conferencing server 101 schedules and facilitates meetings by connecting to one or more conferencing clients, such as organizer conferencing client 102. Organizer conferencing client 102 comprises a computing device that executes client software for directing the computing device to connect to conferencing server 101 for participating in meetings scheduled by conferencing server 101. Organizer conferencing client 102 may be a laptop, phone, tablet, workstation, conference room system, or some other type of computing device. Conferencing server 101 may maintain calendar service information as well or may interact with a separate calendar service system. When a meeting to be facilitated by conferencing server 101 is scheduled by a meeting organizer, the meeting will be placed in the schedules of the participants in the meeting to block off the requested meeting time period. For example, conferencing server 101 or the calendar service system may send a meeting invite that informs participants designated by the meeting organizer of the meeting. In some cases, the participants may be giving the opportunity to accept the meeting invite before it is placed into their respective schedules. Within each participants schedule, the meeting calendar item may include information about connecting a conferencing client to conferencing server 101 for the meeting, information for dialing into conferencing server 101 for the meeting, information about the meeting topic(s), or some other type of information pertinent to the meeting. Once the meeting begins, conferencing server 101 communicates with at least organizer conferencing client 102 to provide the organizer of the meeting, who operates organizer conferencing client 102, with information about the impact of the meeting going long. Likewise, conferencing server 101 may handle the transfer of user communication media (e.g., audio, video, and/or other type of media) between remotely connected conferencing clients operated by one or more participants in the meeting.
During the meeting, conferencing server 101 identifies participants in the meeting (202). The participants may be identified based on which participants logged into the meeting, or otherwise identified themselves, through their respective conferencing clients, through a conferencing client other than their own, such as through organizer conferencing client 102 or a conferencing room system. Alternatively, the organizer may identify the participants in the meeting, conferencing server 101 may recognize participants from the user communications of the conferencing session (e.g., using voice or image recognition to identify participants), conferencing server 101 may assume that whoever was invited to participate, or accepted the invite to participate, is in the meeting, or may identify the meeting participants in some other manner—including combinations thereof. In some cases, only those participants with schedules that are accessible by conferencing server 101 may be identified.
To provide impact information, conferencing server 101 accesses a schedule for each of the participants (203). The schedule of each participant may be maintained locally at conferencing server 101 or conferencing server 101 may access a separate calendar service system to obtain schedule information for each participant. In some cases, multiple calendar services may be used by the participants and conferencing server 101 may therefore need to access multiple calendar service systems to obtain schedule information. Conferencing server 101 may further access a schedule for one or more meeting location where participants, including the organizer, are located.
Conferencing server 101 uses information from the participant's schedules to determine an availability for each of the participants past the scheduled end time of the meeting from the participants' respective schedules (204). The schedule information at least indicates whether a participant has another obligation (e.g., another meeting, an appointment, etc.) scheduled immediately following the meeting but may further look at a participant's availability at times other than that immediately following the meeting to better indicate how long a participant may be able to attend an extended meeting (e.g., a participant may have another obligation 20 minutes after the meeting's scheduled end time). Essentially, the schedule information is used by conferencing server 301 to determine a likelihood that a participant is able to remain in the meeting. Furthermore, in addition to considering the timing of participants' other obligations, conferencing server 101 may consider other factors, such as the importance of the other obligation, either in total or relative to the current meeting, or a participant's value to that other obligation, either in total or relative to their importance to the current meeting. In some cases, the meeting organizer may indicate the importance of each respective participant at the time the meeting is scheduled or at some other time. Alternatively, conferencing server 101 may determine a participant's importance automatically. For example, conferencing server 101 may use a topic of the meeting, as indicated by the organizer or otherwise determined, along with the participant's role in the organization to determine whether the participant is important for the topic of the meeting. Conferencing server 101 may rate a person's importance on a scale (e.g., low, medium, high). If a participant is determined to be more important in another obligation that would overlap in time if the meeting is extended, then conferencing server 101 may determine that the participant is not available, or is likely not going to be available, past the time that other obligation is set to begin. In some examples, conferencing server 101 may also poll one or more of the participants to ask them whether they are available, and possibly for how long they are available, should the meeting organizer want to extend the meeting. If a participant is using a client device, then conferencing server 101 may poll the participant using that device. Otherwise, conferencing server 101 may use some other form of communication, such as sending the participant a text message or email.
Once the availability of the participants is determined, conferencing server 101 determines the impact based on the availability for each of the participants (205). The impact represents information pertaining to whether participants will likely be able to stay in the meeting past the meeting's scheduled end time. The impact may be greater if more participants are likely not able to stay in the meeting. Likewise, the impact may be greater if more important participants are not able to stay in the meeting. In some cases, conferencing server 101 may represent the impact as a metric, such as a scale of 1-10 with 10 being the greatest impact, while in other examples conferencing server 101 may include relevant information that a meeting organizer would find useful in making their own impact determination. Various thresholds may be used by conferencing server 101 to determine an impact metric or to determine what information may be relevant to the meeting organizer. For example, if all participants are considered of equal importance a percentage threshold may be used that relies on a certain percentage of the participants remaining to indicate a lower impact. In another example, if only a few participants are deemed to be important, the impact may still be low if other participants are not available as long as those few participants remain. Thus, weighing of factors, such as a participant's importance, against other factors, such as the percentage of participants that are available to remain in the meeting, may also be used by conferencing server 101 to determine the impact of extending the meeting. In further examples, conferencing server 101 may consider whether other meetings are scheduled in one or more of the meeting locations (e.g., conference room) in which participants are located. In those examples, conferencing server 101 may consider the importance of participants at a particular meeting location and whether those participants can join the meeting elsewhere when determining the impact severity of another meeting displacing the participants in that location.
Once the impact has been determined, conferencing server 101 may present the impact to the meeting organizer by sending impact information to organizer conferencing client 102, which can display, or otherwise indicate, a representation of the impact to the meeting organizer. The meeting organizer can then make a judgment call about whether to extend the meeting based on that presentation. For example, if the presented impact information indicates to the organizer that extending the meeting would have too great of an impact (either on other obligations of the participants or on the meeting itself from participant departures), then the organizer may choose not to extend the meeting. In some examples, if a participant chooses to stay in the meeting instead of going to another obligation, conferencing server 101 may send a notification (e.g., calendar event update, email, text, etc.) to an organizer of that other obligation to inform them that the participant will be staying longer in the current meeting.
In operation, conferencing server 301 facilitates a conferencing session over communication network 306 for a meeting scheduled between participants operating organizer conferencing client 302, participant conferencing client 303, participant conferencing client 304, and participant conferencing client 305. The conferencing session may be an audio conference or a videoconference between the participants and may include additional media, such as presentation slides, audio, video, animations, or some other type of media—including combinations thereof. In the scenarios below, conferencing server 101 further maintains schedules for the participants by acting as a calendar service, although may rely on a separate calendar service to maintain the schedules in other examples.
At the start time, a conference session for the scheduled meeting is established at step 3 by conferencing server 301 between organizer conferencing client 302, participant conferencing client 303, participant conferencing client 304, and participant conferencing client 305. It should be understood that each client need not be connected to the meeting at exactly the same time, as it is common for conference session participants to join a conference session in a staggered manner. After the conference session is started, conferencing server 301 identifies the participants in the meeting at step 4. The participants identified in this case are the participants who are respectively operating participant conferencing client 303, participant conferencing client 304, and participant conferencing client 305. In other examples, conferencing server 301 may further identify the organizer as being one of the participants for inclusion in the impact determination discussed below.
In this example, rather than automatically determining the impact of extending the meeting past its scheduled end time, conferencing server 301 determines that the meeting may be extended at step 5. For instance, the organizer may instruct organizer conferencing client 302 to notify conferencing server 301 that conferencing server 301 should provide the organizer with information regarding the potential impact of the meeting going long. Alternatively, conferencing server 301 may determine that the pace of the meeting indicates that the meeting will likely go long. For example, conferencing server 301 may determine that the amount of time needed to cover the remaining slides in a presentation (e.g., based on the amount of time used to cover previous slides) is greater than the amount of time until the scheduled end time for the meeting. In some cases, the identification of the participants from step 4 may wait until after it is determined that conferencing server 301 should determine the impact at step 5.
Conferencing server 301 accesses the schedules of each of the identified participants at step 6 to determine the likelihood that each respective participant will be able to remain on the conference session beyond the originally scheduled end time. The likelihood may include an amount of time the participant is likely to be able to remain on the conference session. The likelihood may depend on a time when each participant's next obligation is scheduled, if any exists, and a likelihood that the participant will need to leave the call for that obligation. The likelihood that a participant will leave for a subsequent obligation may depend on how that important that obligation is to the participant or how important the participant is to the obligation. Likewise, conferencing server 301 may be able to consider when the participant is actually needed for the subsequent obligation. For example, conferencing server 301 may know from information regarding the subsequent obligation (e.g., a meeting agenda) that the participant will not be needed for the obligation for a half hour after the obligation is scheduled to start. Additionally, when determining the likelihood that a participant will stay on the conference session, conferencing server 301 may consider a participant's past behavior regarding similar subsequent obligations. That is, if the participant historically does not usually participate in the subsequent obligation, then the likelihood of the participant staying on the conference session is greater. Thresholds may also be used by conferencing server 301 when analyzing a participant's historical behavior. For example, conferencing server 301 may use a threshold percentage of historical attendance for a particular meeting, or meeting having similar characteristics (e.g., same organizer, many of the same participants, same topics, etc.) to determine whether the participant is likely to leave the current meeting (e.g., if the participant attends the meeting at least 80% of the time, then the participant is likely to leave the current meeting to attend that meeting).
Conferencing server 301 then determines impact information at step 7 that will be provided to organizer conferencing client 302 for presentation to the organizer. The impact information may simply include an indication of each participant's likelihood of remaining in the meeting. Alternatively, the impact information may include additional metrics, including information used to determine the likelihood of a participant remaining in the meeting, or may be organized in a manner to make parsing the information easier on the organizer (e.g., separating important participants from non-important participants in the current meeting).
Upon determining the impact information, conferencing server 301 transfers the impact information at step 8 to organizer conferencing client 302 to notify organizer conferencing client 302 of the impact. Organizer conferencing client 302 then presents the impact information to the meeting organizer who can then use the information to determine whether to allow the meeting to extend beyond its scheduled end time. In some examples, the organizer may indicate to organizer conferencing client 302 how they want the impact information to be displayed (e.g., text, graphs, etc.) to best assist the organizer when making the meeting extension decision.
In some cases, the impact information may include information about a meeting location if the meeting is being held in a location that may be reserved for other purposes after the current meeting. In those cases, the impact information may indicate to the organizer whether the meeting room is available for extending the meeting and, if not, may provide suggestions for alternative locations in which the organizer may continue the meeting (e.g., another available conference room).
In response to the notification, each of participant conferencing client 303, participant conferencing client 304, and participant conferencing client 305 transfers a response at step 2 indicating each participants intent to remain in the meeting. The intent having been indicated to participant conferencing client 303, participant conferencing client 304, and participant conferencing client 305 by their respective participants. Of course, if a participant does not intend to stay or otherwise does not respond to the notification, then no response will be received from that participant. Upon receiving responses, conferencing server 301 updates the impact information previously determined in scenario 500 at step 3. For example, if scenario 400 determined that the participant operating participant conferencing client 305 is available for 10 minutes beyond the meeting end time but the response from participant conferencing client 305 indicates that the participant actually intends to stay for 25 minutes, then the impact information will be updated to indicate 25 minutes instead of 10 minutes.
After updating the impact information, conferencing server 301 transfers the updated impact information at step 4 to organizer conferencing client 302 and organizer conferencing client 302 presents the updated information at step 5 to the meeting organizer. The updated impact information may be presenting in a manner similar to the presentation of the original impact information in scenario 400. The updated impact information may replace the original information or may be presented in addition to the original information. In some examples, the polling performed by conferencing server 301 may be done before the original impact information is even sent to organizer conferencing client 302. As such, transferring separate updated information, as shown in scenario 500, would not be necessary.
Should the meeting organizer decide to extend the meeting, either by notifying conferencing server 301 of their intent to do so via organizer conferencing client 302 or by simply allowing the conferencing session to continue, conferencing server 301 transfers notifications that the meeting has been extended at step 6 to any interested parties outside of the meeting. An interested party may be someone involved in one of the meeting participant's other obligations that will be impacted if the meeting extends. For example, if a participant in the current meeting has a meeting immediately following the current meeting that the participant will be late to or miss entirely, then conferencing server 301 may notify the organizer of that following meeting that the participant's current meeting will affect the participant's ability to join.
It should be understood that impact window 801 is merely an example of how impact information may be presented to the organizer of meeting 621. In other examples, the impact information may be presented in some other manner, such as using graphs or a combination of graphs and text. For instance, participant 603, participant 604, and participant 605 may by listed in impact window 801 and highlighted, or otherwise color coded, with a color representing how long each respective participant can stay. Likewise, the impact information may include more or less information that what is shown in impact window 801 and may depend on what is used by conferencing server 301 to determine the impact information (e.g., whether a participant's importance to meeting 621 or other obligation is considered).
Communication interface 901 comprises components that communicate over communication links, such as network cards, ports, RF transceivers, processing circuitry and software, or some other communication devices. Communication interface 901 may be configured to communicate over metallic, wireless, or optical links. Communication interface 901 may be configured to use TDM, IP, Ethernet, optical networking, wireless protocols, communication signaling, or some other communication format—including combinations thereof.
User interface 902 comprises components that interact with a user. User interface 902 may include a keyboard, display screen, mouse, touch pad, or some other user input/output apparatus. User interface 902 may be omitted in some examples.
Processing circuitry 905 comprises microprocessor and other circuitry that retrieves and executes operating software 907 from memory device 906. Memory device 906 comprises a storage medium, such as a disk drive, flash drive, data storage circuitry, or some other memory apparatus. In no examples would memory device 906 be considered a propagated signal. Operating software 907 comprises computer programs, firmware, or some other form of machine-readable processing instructions. Operating software 907 includes conferencing module 908 and impact determination module 909. Operating software 907 may further include an operating system, utilities, drivers, network interfaces, applications, or some other type of software. When executed by processing circuitry 905, operating software 907 directs processing system 903 to operate conferencing server 900 as described herein.
In particular, conferencing module 908 directs processing system 903 to establish a conferencing session for the meeting with an organizer conferencing client operated by the organizer. During the meeting, impact determination module 909 directs processing system 903 to identify participants in the meeting, access a schedule for each of the participants, and determine an availability for each of the participants past the scheduled end time of the meeting from the respective schedules. Impact determination module 909 further directs processing system 903 to determine the impact based on the availability for each of the participants.
The descriptions and figures included herein depict specific implementations of the claimed invention(s). For the purpose of teaching inventive principles, some conventional aspects have been simplified or omitted. In addition, some variations from these implementations may be appreciated that fall within the scope of the invention. It may also be appreciated that the features described above can be combined in various ways to form multiple implementations. As a result, the invention is not limited to the specific implementations described above, but only by the claims and their equivalents.