The present disclosure relates to engaging in online activities, such as online meetings.
Online meetings have become popular, due at least in part to the differences in locations between people as well as the use of mobile devices that facilitate engaging in such meetings while people are traveling and thus away from a main office.
When using an online meeting platform or service, at times certain meeting participants may join a meeting late due to a delay caused by slower network speeds (e.g., due to network bandwidth issues). For example, a meeting participant may be need to access an online meeting via a mobile device (e.g., laptop, note pad, smart phone, etc.) at a hotel or some public meeting place in which network conditions result in reduced network speeds. Conducting other online activities (e.g., accessing and/or downloading a software application online) can also be negatively affected by slower network speeds. In a scenario in which a meeting participant is important to an online meeting (e.g., the meeting participant may be the host or first presenter), other meeting participants will need to wait for the meeting participant to connect with the meeting, which can be considerably delayed when, shortly before the start time of the meeting, the meeting participant attempts to connect with a device to the network that supports the online meeting at a very slow network speed.
Techniques are presented herein for establishing a network connection between a client device and a server over a network, and determining a network condition associated with engaging in an online activity by the client device over the network. In response to the network condition meeting an indicator criterion, a notification is provided to the client device prior to facilitating engagement of the client device in the online activity.
An example embodiment of a system that supports online meetings and other types of communications and sharing or exchange of content between client devices, including PC client devices and mobile client devices, is depicted in the schematic diagram of
Referring to
As shown in the example embodiment of
Suitable server devices 30 can be any suitable types of stationary or other types of computing devices capable of hosting and managing online meetings and also, optionally, other types of communication sessions between client devices 10 (e.g., email, instant messaging or SMS communications, posting of content in blogs or other virtual environments, support of chat rooms, communities or other forms of social networking platforms) or any other types of online activities for one or more client devices 10.
The client devices and servers can utilize any suitable operating systems (e.g., Android, Windows, Mac OS, Symbian OS, RIM Blackberry OS, Linux, etc.) to facilitate interaction, communications, sharing of content between client devices 10 as well as engaging in any other types of online activities by client devices 10 over the network 4. In addition, the techniques described herein for enhancing the experience particularly for users of mobile devices during sharing of content in an online meeting can be implemented utilizing any suitable types of commercial software products and associated services that support such communications and sharing of content between client devices. Some examples of software products and associated services with which the techniques described herein can be integrated include, without limitation, WebEx (Cisco Systems, Inc.) and LotusLive (IBM Corporation).
An example embodiment of a client device 10 is depicted in the block diagram of
The network interface 26 of the client device 10 can be, for example, one or more of an Ethernet interface card or switch, a modem, a router or any other suitable hardware device that facilitates a wireless and/or hardwire connection over the network 4 with one or more server devices 30 and other client devices 10, where the network interface unit can be integrated within the device or a peripheral that connects with the device. As described herein, the network interface 26 can be configured with one or more suitable components to facilitate switching of the device 10 from one network (e.g., a wireless Ethernet connection via a connection site, such as a hotel, a meeting room, an office, etc.) to another (e.g., a broadband mobile network, such as a 3G or 4G broadband network).
The memory 14 of the client device 10 may comprise read only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices, and any combinations thereof. The processor 12 can comprise at least one microprocessor that executes control process logic instructions 16 stored within memory 14 including operational instructions and software applications stored within such memory (e.g., operation of an online activity software application module 18 as described herein). Thus, in general, the memory 10 may comprise one or more tangible (non-transitory) computer readable storage media (e.g., a memory device) encoded with software comprising computer executable instructions and when the software is executed (by the processor 12) it is operable to perform the operations described herein for automatic detection and tracking or monitoring of network conditions for a client device prior to engaging in an online activity such as an online meeting.
An example embodiment of a meeting server 30 that can be used in the system 2 of
The memory 14 of each client device 10 includes an online activity software application module 18 that comprises one or more software applications that facilitate online activities over the network, including downloading of online content, engaging in online activities (e.g., gaming or other activities) with one or more servers (e.g., servers 30) over the network, and engaging in online meetings and/or other types of communications with other client devices 10 over the network (where the online meetings are hosted by one or more host meeting servers 30). The term “online activity” as used herein refers to any activity that a client device 10 engages in over the network that includes exchange of content or information with one or more other computing devices in any context (e.g., engaging with other client devices and/or server devices within an online meeting, engaging with any other server device or other computing device in any other manner over the network, e.g., the Internet).
Each meeting server 20 also includes an online activity application software module 38 comprising one or more software applications that facilitate hosting by the server 30 of various online activities, including hosting of online meetings and related activities associated with such online meetings (e.g., sharing of content between client devices 10, as well as other types of communications) over a suitable software platform (e.g., via a Cisco WebEx software platform, a LotusLive software platform or any other suitable software platform).
The online activity software application modules 18, 38 stored in the memories 14, 34 of each client device 10 and each server 30 include a software module that facilitates detection and tracking or monitoring of network conditions for the client devices 10 in order to provide an indication to the client devices 10 in relation to upcoming or anticipated online activities (e.g., an anticipated online meeting) in accordance with techniques described herein. In particular, a client device 10 includes a network condition tracker module 20, while a server 30 includes a network condition module 39, where these modules 20, 39 facilitate detection and tracking of a current network condition associated with the client device 10 based upon communications between the client device 10 and the server 30 as described herein, and the detection and tracking/monitoring of the current network condition can be used to provide information to a user of the client device 10 prior to engaging in an online activity. The online activity software application module 18 of the client device 10 further includes any suitable software applications that facilitate various types of online communications and other activities between the client device 10 and other client devices over a network including, without limitation, emailing (e.g., utilizing email software that includes calendar functions), instant messaging, engaging in online social networking platforms that support a wide range of online activities (e.g., chat rooms, social groups or communities, social tagging of content, blogging, etc., generally depicted in
As previously noted herein, as computing devices become smaller and portable while providing the same or substantially similar capabilities as stationary computing devices, users of such computing devices can engage in many online activities, including the downloading of software content (e.g., plug-in or other software apps) and engaging in online activities hosted by one or more servers (e.g., online meetings, online gaming, etc.). However, the network at which a computing device must connect may not always be as reliable or as fast at some locations compared to others (e.g., depending upon the number of users connected with a particular network, as well as a number of other factors). For example, a user of a client device that wishes to engage in an online activity (e.g., an online meeting) utilizing an online network provided at a hotel or at some public location (e.g., a library, an airport, etc.) may not have network conditions that are as desirable in comparison to the network conditions associated with a network at the user's home or office. A slower network speed would slow down operation of the online activity for the user, thus impacting the user experience. This can further frustrate the online activity if, e.g., the user is engaging in an online meeting or other online activity with other participants and the user is an integral part of the activity (e.g., the user is a presenter or a required participant of an online meeting, and the meeting cannot progress until the user is sufficiently engaged in the online meeting).
The techniques described herein facilitate a detection and tracking/monitoring of a current network condition associated with a client device so as to provide an indication to the client device prior to engaging in an online activity, thus allowing the client device to take appropriate action (if desired) to mitigate any potential delays in relation to the online activity due to the current network condition. The example embodiments described herein are in relation to a client device engaging in an online meeting with other client devices over a network and that is hosted by one or more meeting servers. However, it is noted that the techniques and associated devices/products described herein are not limited to online meetings but instead can be implemented with any other types of online activities including, without limitation, uploading and/or downloading of online applications or other online content (e.g., audio content, video content, documents and/or any other types of content) or engaging in any other types of online services (e.g., online gaming services, social networking services, etc.).
An example embodiment is now described with reference to the figures, in particular the flow chart of
At 55, the client device 10 establishes a network connection (utilizing network interface 26) with a meeting server 30 over the network 4. It is noted that step 55 includes establishing a network connection at any point in time in relation to the online meeting invitation being processed. For example, a network connection may be established at the client device 10, where the online meeting invitation is processed (e.g., receipt of a meeting invitation by email at the client device, acceptance of the meeting invitation and a calendaring event that schedules the meeting in a calendar associated with the client device), and the same network connection exists up to a point in time at which a notification is provided that the meeting will soon commence (e.g., the meeting invite and scheduled meeting occur on the same day or even within hours or minutes of each other). In another example, a network connection may be established at the client device 10 after the processing of the online meeting invitation (e.g., meeting invite and meeting time are separated by one or more days, the online meeting invitation and online meeting occur using different client devices associated with the same user and/or the client device connects with separate networks when processing the online meeting invitation and engaging in the online meeting).
At 60, a network condition associated with the client device 10 is detected and tracked or monitored at some point in time prior to the scheduled online meeting. The network condition tracker module 20 and/or network condition module 39 can monitor the email calendar account associated with the user of the client device 10 to determine when a scheduled online meeting is approaching (e.g., in a manner similar to monitoring of other calendar events for providing reminder notifications to a client device), and the network condition can be detected and monitored or tracked at a selected or predetermined point in time prior to initiation or occurrence of the meeting event (e.g., within an hour or hours of the meeting event, within minutes of the meeting event, etc.).
An example embodiment is depicted in
In one example embodiment, a plug-in software tool can be implemented for an email software application such as Outlook email (Microsoft Corporation), which allows a user to schedule an online meeting as well as implement a number of other functions associated with an online meeting (e.g., join the meeting) for a meeting software platform (e.g., a WebEx meeting platform) within the email software application. The plug-in software tool includes a software application that continues to run on the client device 10 and is thus operational even when the email software application is not open or running.
Other example embodiments of software applications that can be implemented with modules 20 and 39 include unified communications applications that are used for determining presence, instant communication services and other services within a social networking/collaboration platform. Some non-limiting examples of unified communications applications that can be utilized to determine and monitor a network condition associated with a client device include Cisco Jabber unified communications applications, Cisco Connect applications and WebEx Social applications (Cisco Systems, Inc.).
A network condition, such as network speed, can be determined using modules 20 and 39 based upon communications between the client device 10 and server 30 and any suitable technique that is capable of measuring the network condition based upon such communications. In an example embodiment, the client device 10 communicates with the server 30 to request a download of content (e.g., an image file). The time it takes to download the content at the client device 10 is determined (e.g., from start or initiation time of the download request to completion time at which the content is downloaded to the client device), and this is used to determine a network speed associated with the client device 10. In another example embodiment, utilizing a plug-in and/or other type of application of the module 20 at the client device 10, a detect network speed function can be implemented in which the module 20 detects the network speed based upon one or more communications with server 30 (e.g., pinging a server to obtain a communication response time, such as a time at which a communication originating at the client device 10 is routed from the server 30 back to the client device 10). The module 20, utilizing one or more applications, can also utilize a suitable API that is known for an operating system (e.g., a Windows OS provided by Microsoft Corporation or a Mac OS provided by Apple, Inc.) for obtaining network status information including network operating speed.
The module 20 of the client device 10 determines a suitable time prior to the scheduled online meeting time (or other online activity) at which to determine the network condition associated with the client device. For example, detecting and monitoring of the network condition (e.g., network speed) can be implemented within 30 minutes of the scheduled online meeting time, within 1 hour or longer of the scheduled online meeting time, or at any other suitable time interval. The network condition can further be monitored at regular intervals (e.g., intervals over a period of seconds or minutes) to determine whether there is any significant change in the network condition over time.
At 65, a determination is made regarding whether the determined network condition meets at least one indicator criterion. In an example embodiment in which the determined network condition comprises the network speed, the network speed can be compared with one or more criteria that designate whether the network speed is acceptable (e.g., fast enough to be suitable for operation of the client device during the online meeting) or unacceptable (e.g., too slow to be suitable for operation of the client device during the online meeting).
In an example embodiment as previously described in which the network speed is based upon a connection time (e.g., time required from initiation of a communication message from the client device to the server to the time in which a response communication message is received at the client device from the server), a network speed can be determined as follows:
In this example, the indicator criterion would be satisfied if the network speed was detected as being slow.
Any other suitable mechanism for establishing a network speed and an indicator criterion for the network speed can also be utilized. For example, the network speed can be based upon a download and/or upload rate at which content is communicated between the client device 10 and server 30 (e.g., based upon a data transfer rate in kilobits/sec, megabits/sec, etc.), where the download and/or upload rate is compared with a threshold rate value that provides an indication as to whether the rate is acceptable (thus outside of the threshold criterion) or unacceptable (thus meeting the indicator criterion).
In response to a determination that the network condition meets the indicator criterion, at 70 an indicator is displayed by the client device 10 (via one or more applications of the module 20). The indicator display provides an indication to the user of the client device 10 that the network condition is poor and may be unacceptable for engaging in the online meeting that is scheduled in the near future. The indicator display may further provide one or more interactive control buttons or icons that provide input control for selection by the user (e.g., via a pointer or other icon that is user controlled with a mouse, input touch pad or touch screen, etc.) to control further operations of the client device 10 in relation to engaging in the scheduled online meeting.
An example embodiment of an indicator display is depicted in
For example, the user may select control icon 104 to join the online meeting immediately (i.e., in response to viewing the indicator display 102) in order to provide sufficient time to connect to the meeting due to the poor network condition.
Another control icon 106 is optionally provided (where icon 106 is provided in dashed lines to show it as optional) that allows a user to begin downloading a client application needed for the online meeting. For example, for certain client devices (depending upon what software applications may or may not already be loaded in the module 20 of a client device 10), a plug-in tool or other software application may be required to be downloaded from a remote location (e.g., from the meeting server) in order to enable the client device 10 to connect to the online meeting. In a scenario in which a participant may be using a client device 10 at some remote location (e.g., a participant may be joining an online meeting using a laptop device in a hotel room) and the participant has not yet downloaded the necessary software required for the client device 10 to connect to the online meeting, it may take some time for the client device 10 to join the meeting, particularly when the network connection meets the indicator criterion (e.g., network speed for the network at the hotel is very slow). The control icon 106 provides the user with the option of downloading the necessary software for the client device at a time period well before the start of the scheduled online meeting, where selecting icon 106 results in the client device immediately downloading such software.
A further control icon 108 provides the user with the option of switching the client device 10 to another network (assuming this is an option). For example, in a scenario in which a user is in a hotel room and has a client device 10 such as a laptop or note pad that is currently connected with the network for the hotel that has been detected as having a slow network speed, the client device 10 may also have the capability of connecting, via the network interface 26, to another network (e.g., over a broadband mobile network, such as a 3G or 4G broadband network). The user may be provided with the option of switching networks to ensure that the client device 10 can connect with the online meeting in a timely manner and be provided with sufficient functional operational features during the online meeting.
Another icon 110 allows the user to proceed without any further operation (e.g., by selecting the OK icon 110, the indicator display 102 is simply closed). Any other suitable interactive control icons can also be provided that allow the user to select any one or more other operations to be performed by the client device 10 in response to being notified that a network condition is poor and may impact performance of the online meeting that is scheduled to begin in the near future.
At 80, the online meeting commences at its scheduled time, and the client device joins the meeting. Based upon the poor network condition that was previously detected at 60 and 65 and the optional implementation of a previous operation by the client device at 75 (e.g., starting the online meeting earlier, pre-loading necessary software for the online meeting, switching networks, etc.), delayed access to the online meeting as well as potentially missing portions of the meeting can be minimized or avoided.
Thus, the techniques described herein facilitate early detection of poor network conditions associated with a client device prior to engaging in an online activity by a user so as to minimize the impact associated with such poor network conditions. In scenarios in which the online activity is a scheduled online meeting, a notice or indicator display provided to a user of the client device allows the user to mitigate the impact on the scheduled online meeting due to a poor network condition by either implementing operational steps associated with the online meeting at an earlier time period, switching to another network for connecting with the online meeting, etc. The techniques are also useful for implementing prior to any other online activity, such as downloading and/or uploading of content from the client device to a server or other computing device.
The above description is intended by way of example only.