The present disclosure relates to online collaborative sessions, such as online video conferences.
Currently, remote work is on the rise, and it is expected that remote work will continue to expand for the foreseeable future. With a growing need to stay in touch with and manage distributed workforces, organizations have greatly increased their use of online collaboration technologies, including the use of video conferencing solutions.
Remote workers in online video conferences are generally limited in their ability to move around even when connected to audio streams through a wireless connected headset, such as a Bluetooth® wireless headset. For example, connectively for such wireless devices are often limited by the range that the wireless radio supports, which for Bluetooth is often limited to around 10 meters based on the obstacles between the transmitter and the receiver.
Briefly, presented herein are techniques for transitioning the providing of online collaborative session multimedia streams from a first endpoint device to a second endpoint device based upon the signal strength of a connection between the first endpoint device and a wireless device, such as wireless headset or other wireless audio device. A first connection is established between a meeting server and a first endpoint device associated with a user. At least one multimedia stream for an online collaborative session is provided from the meeting server to the first endpoint device. The meeting server obtains an indication that a first strength of a first short-range wireless communication connection between an audio device and the first endpoint device is less than a second strength of a second short-range wireless communication connection between the audio device and a second endpoint device associated with the user. A second connection is established between the meeting server and the second endpoint device. The at least one multimedia stream is provided from the meeting server to the second endpoint device via the second connection in response to obtaining the indication.
With reference first made to
Endpoint devices 110a-c may enable respective participants to participate in an online collaborative session (e.g., a video teleconference). To that end, endpoint devices 110a-110c respectively include cameras 130a-130c, microphones 135a-135c, displays 140a-140c, speakers 145a-145c, and collaborative session software 155a-155c.
In one example, server 105 may facilitate, via collaborative session server software 150, the distribution of a plurality of media streams 160a-160c (e.g., audio streams, video streams, application data streams, chat data streams, screen sharing data streams, etc.) sent via endpoint device 110c to endpoint device 110a as media streams 165a-165c. For example, camera 130c may capture video, which collaborative session software 155c transmits to server 105 as media steam 160a. Collaborative session server software 150 then distributes the video to endpoint device 110a as media stream 165a. The video may then be displayed on display 140a. Similarly, microphone 135c may capture audio (e.g., audio of the user associated with endpoint device 110c), which collaborative session software 155c transmits to server 105 as media steam 160b. Collaborative session server software 150 then distributes the audio to endpoint device 110a as media stream 165b. The audio may then be replayed via speaker 145a. Similarly, collaborative session software 155c may capture application data executing on endpoint device 110c, such as a shared document, and transmit this data to server 105 as data stream 160c. Collaborative session server software 150 then distributes the application data to endpoint device 110a as media stream 165c. The application data may then be displayed by collaborative session software 155a on display 140a.
Also included in system 100 is an audio device 115 that is configured to replay the audio received at one or more of endpoint devices 110a and 110b via short-range wireless communication connections 120a and 120b. For example, audio device 115 may be embodied as a personal speaker or personal audio device, such as a headset, earphones, an ear piece, or another audio device that may or may not include a microphone, that connects to endpoint devices 110a and 110b using a short-range wireless technology to form short-range wireless communication connections 120a and 120b. Short-range wireless technologies include Bluetooth®, Infrared Data Association (IrDA), Wi-Fi®/Wi-Fi6®, Near-Field Communication (NFC), Ultra-Wideband (UWB), Personal Area Network (PAN), Institute of Electrical and Electronics Engineers (IEEE) 802.15.4, and other technologies known to the skilled artisan. Audio device 115 connects to both of endpoint devices 110a and 110b using a Bluetooth wireless connection in the specific embodiment of
According to the techniques presented herein, both of endpoint devices 110a and 110b are associated with the same user. Furthermore, server 105 is configured to redirect multimedia data streams 165a-c from endpoint device 110a to endpoint device 110b depending on the relative strengths of short-range wireless communication connections 120a and 120b.
For example, endpoint device 110a may be embodied as a fixed endpoint device, such as a personal computer, and endpoint device 110b may be embodied as a mobile endpoint device, such as a smartphone or tablet computing device, both of which are associated with the same user. This user utilizes audio device 115, embodied as a Bluetooth headset, to consume the audio media stream 165b sent to endpoint device 110a from server 105. One or more of the illustrated devices (i.e., endpoint device 110a, endpoint device 110b, and/or server 105) may be configured to monitor the strength of Bluetooth connections 120a and 120b.
As illustrated in
In such a case, the techniques of the present disclosure may automatically trigger a handover/fallback of the meeting connection from endpoint device 110a to endpoint device 110b, as illustrated in
For simplicity of description, the techniques presented herein have been described with respect to media streams that have been provided to endpoint devices 110a and 110b by server 105. The skilled artisan will understand that the techniques presented herein also apply to media streams provided from endpoint devices 110a and 110b to server 105 for distribution as part of the online collaborative session. Accordingly, media streams 160a-c and 165a-c may be understood to be bidirectional media streams.
The handover/fallback may be implemented in a “make-before-break” fashion. For example, there may be an intermediate state/phase between
By implementing the techniques presented herein, a user simply has to have their mobile device with them when they are moving about, the transitioning of the online collaborative session streams from the fixed endpoint device to the mobile endpoint device may be implemented automatically and transparently. For example, messages exchanged between endpoint devices 110a and 110b and server 105 may auto-launch or otherwise fully enable collaborative session software 155b on endpoint device 110b, and media streams 165a-c may be provided to endpoint device 110b at the appropriate time without user intervention. Accordingly, the user is no longer restricted to the area within the transmission range between audio device 115 and endpoint device 110a during a meeting. Instead, the user can move much longer distances with ease and simplicity, as the media streams 165a-c will transition from fixed endpoint device 110a to mobile endpoint device 110b as the user moves out of the transmission range between audio device 115 and endpoint device 110a.
Furthermore, when the user comes back within range of fixed endpoint device 110a, the online collaborative session may transition back from mobile endpoint device 110b to fixed endpoint device 110a. For example, the user experience of the online collaborative session may be improved when experienced through fixed endpoint device 110a as fixed endpoint device 110a may be configured with a larger display 140a and include better user input devices, such as a physical keyboard. Accordingly, a user may set a level of priority for each of its associated endpoint devices. Such priorities may be set through collaborative session software 155a or 155b. Therefore, if fixed endpoint device 110a has a higher priority than mobile endpoint device 110b, when the signal strength for connection 120a increases sufficiently, such as above a predetermined threshold, the online collaborative session may transition from mobile endpoint device 110b back to fixed endpoint device 110a. The transition back to endpoint device 110a may be implemented in the same transparent and seamless manner as the transition from fixed endpoint device 110a to mobile endpoint device 110b. Accordingly, when the user is back at their preferred work location, they can resume working on their preferred choice of endpoint device without having to manually intervene through collaborative session software 155a or 155b.
In summary, the techniques may implement the following process:
With reference now made to
In operation 210, at least one multimedia stream for an online collaborative session is provided to the first endpoint device from the meeting server. For example, operation 210 may be embodied as media streams 165a-c being provided to endpoint device 110a, as illustrated in
In operation 215, an indication is obtained at the meeting server that indicates that a first strength of a first short-range wireless communication connection between an audio device and the first endpoint device is less than a second strength of a second short-range wireless communication connection between the audio device and a second endpoint device associated with the user. For example, operation 215 may be embodied as server 105 receiving an indication that the signal strength for connection 120a is weaker than the signal strength for connection 120b, as illustrated
Next, in operation 220, a second connection is established between the meeting server and the second endpoint device. Finally, in operation 225, the at least one multimedia stream is provided by the meeting server to the second endpoint device via the second connection in response to obtaining the indication. For example, operation 225 may be embodied as server 105 providing media streams 165a-c to endpoint device 110b, as illustrated in
In
Flowchart 200 is directed to a process flow in which media streams provided to the endpoint devices associated with the user are handed over from a first endpoint device to a second endpoint device. The skilled artisan will understand that the techniques presented herein also apply to media streams provided from the endpoint devices to the server. Accordingly, the techniques presented herein also provide for a process flow that includes the operations of: establishing a first connection between a meeting server and a first endpoint device associated with a user; obtaining at least one multimedia stream for an online collaborative session at the meeting server from the first endpoint device; obtaining, at the meeting server, an indication that a first strength of a first short-range wireless communication connection between an audio device and the first endpoint device is less than a second strength of a second short-range wireless communication connection between the audio device and a second endpoint device associated with the user; establishing a second connection between the meeting server and the second endpoint device; and obtaining the at least one multimedia stream at the meeting server from the second endpoint device via the second connection in response to obtaining the indication.
With reference now made to
As noted above, call flow diagram 300 illustrates a first example of operation 215 of
Call flow diagram 300 begins with operations 315, 320 and 325. In operation 315, a connection is established between endpoint device 310a and the server 305. In operation 320, a connection is established between endpoint device 310b and server 305. The establishment of the connections indicated in operations 315 and 320 may include providing server 305 with indications that endpoint device 310a and endpoint device 310b have both connected to the same audio device via respective short-range wireless communication connections. In operation 325, server 305 provides one or more media streams to endpoint device 310a. Accordingly, operation 325 may be embodied as server 105 of
In operation 330, endpoint device 310a monitors the signal strength of the short-range wireless communication connection between itself and the audio device. Similarly, in operation 335, endpoint device 310b monitors the signal strength of the short-range wireless communication connection between itself and the audio device.
In operation 340, endpoint device 310a detects a drop in the signal strength being monitored in operation 330. In response to the detection in operation 340, endpoint device 310a sends message 345 to server 305 that indicates the drop in signal strength. Message 345 may include an identifier for the audio device, such as a Bluetooth address (sometimes referred to as a Bluetooth media access control (MAC) address) so that server 305 is made aware of to which device the signal strength applies. In response to receiving message 345, server 305 sends request message 350 to other endpoint devices associated with the user. Message 345 requests the signal strength between the endpoint device receiving the message and the audio device. Request message 350 may also include the audio device identifier so that only endpoint devices with connections to that audio device respond to the request of message 350.
According to the example of
As discussed above, the indication to server 305 that the strength of the short-range wireless communication connection between endpoint device 310b and the audio device is greater than that of the short-range wireless communication connection between endpoint device 310a and the audio device is in response to a plurality of messages, mainly messages 345 and 355. Accordingly, the indication recited in operation 215 of
With reference now made to
Call flow diagram 400 illustrates a second example of operation 215 of
Call flow diagram 400 begins with operations 415, 420 and 425, which are analogous to operations 315, 320 and 325 of
Also similar to the operations illustrated in
Call flow diagram 400 includes message 440 provided from endpoint device 410b to server 405. Message 440 indicates to server 405 the current strength of the short-range wireless communication connection between endpoint device 410b and the audio device. Furthermore, because endpoint device 410b continuously monitors the strength of the connection between itself and the audio device, endpoint device 410b may send a plurality of messages 440 to server 405, each indicating the strength of the connection between endpoint device 410b and the audio device at different times. Similarly, endpoint device 410a sends message 445 to server 405. Message 445 indicates to server 405 the current strength of the short-range wireless communication connection between endpoint device 410a and the audio device. Furthermore, because endpoint device 410a continuously monitors the strength of the connection between itself and the audio device, endpoint device 410a may send a plurality of messages 445 to server 405, each indicating the strength of the connection between endpoint device 410a and the audio device at different times. Messages 440 and 445 may include identifiers, such as Bluetooth addresses, for the audio device so that server 405 can appropriately compare the signal strengths between endpoint devices connected to the same audio device.
Based upon the content of messages 440 and 445, server 405 determines in operation 450 that the short-range wireless communication connection between endpoint device 410b and the audio device is stronger than the short-range wireless communication connection between endpoint device 410a and the audio device. Accordingly, server 405 provides the one or more media streams to endpoint device 410b in operation 455. Operation 455 may also include the obtaining of multimedia streams from endpoint device 410b by server 405.
As discussed above, the indication to server 405 that the strength of the short-range wireless communication connection between endpoint device 410b and the audio device is greater than that of the short-range wireless communication connection between endpoint device 410a and the audio device is in response to a plurality of messages, mainly messages 440 and 445. Accordingly, the indication recited in operation 215 of
With reference now made to
Call flow diagram 500 illustrates a third example of operation 215 of
Call flow diagram 500 begins with operations 515, 520 and 525, which are analogous to operations 515, 520 and 525 of
Also similar to the operations illustrated in
In operation 540, endpoint device 510a determines that the signal strength of the short-range wireless communication connection between itself and the audio device deviates from a predetermined threshold. In response to this determination, endpoint device 510a sends message 545 to server 505 which indicates the deviation of the short-range wireless communication connection strength from the threshold. Message 545 may also be embodied as a request from endpoint device 510a to provide the multimedia streams to another device associated with the user. In response to receiving message 545, server 505 sends message 550 to the other endpoint devices associated with the user, which indicates the deviation from the threshold of the short-range wireless communication connection strength between endpoint device 510a and the audio device. According to the example of
Messages 545 and 550 may include identifiers, such as Bluetooth addresses, for the audio device so that endpoint device 510b can appropriately compare the signal strengths between endpoint devices connected to the same audio device.
As discussed above, the indication to server 505 that the strength of the short-range wireless communication connection between endpoint device 510b and the audio device is greater than that of the short-range wireless communication connection between endpoint device 510a and the audio device is in response to a plurality of messages, mainly messages 545 and 560. Accordingly, the indication recited in operation 215 of
With reference now made to
In response to receiving message 645, endpoint device 610b determines in operation 650 that its short-range wireless communication connection to the audio device is above the threshold. Accordingly, endpoint device 610b sends request message 655 to server 605 requesting the media streams for the online collaborative session associated with the user. Server 605 responds by providing the media streams to endpoint device 610b in operation 660. Operation 660 may also include the obtaining of multimedia streams from endpoint device 610b by server 605.
As discussed above, the indication to server 605 that the strength of the short-range wireless communication connection between endpoint device 610b and the audio device is greater than that of the short-range wireless communication connection between endpoint device 610a and the audio device is in response to message 655. Accordingly, the indication recited in operation 215 of
The examples described above with respect to
The techniques of the present disclosure also provide for the handing back of the multimedia streams of an online collaborative session to the previous endpoint device when the signal strength of a short-range wireless communication connection becomes sufficiently strong. Using the example discussed above of the user who leaves his or her workstation to get a cup of coffee, the techniques of the present disclosure allow for the handing back of the online collaborative session to the workstation when the user returns to it.
With reference now made to
Call flow diagram 700 begin in operation 715 where server 705 is providing the multimedia streams for an online collaborative session to mobile endpoint device 710b. Operation 715 may also include server 705 obtaining multimedia streams for the online collaborative session from mobile endpoint device 710b. In other words, call flow diagram 700 may be a continuation of any one of the call flows described with reference to
In operation 720, endpoint device 710a monitors the signal strength of the short-range wireless communication connection between itself and the audio device. Similarly, in operation 725, endpoint device 710b monitors the signal strength of the short-range wireless communication connection between itself and the audio device. In operation 730, endpoint device 710a determines that the signal strength between itself and the audio device has exceeded a predetermined threshold. This threshold may be significantly higher than the threshold described above with reference to operation 540 of
In response to the determination of operation 730, endpoint device 710a sends message 735 to server 705, which indicates to server 705 that the connection strength between endpoint device 710a and the audio device has exceeded the predetermined threshold. Upon receipt of message 735, server 705 determines in operation 740 if a priority associated with endpoint device 710a exceeds that of endpoint device 710b. If the priority for endpoint device 710a does, in fact, exceed that of endpoint device 710b, then server 705 provides the multimedia streams associated with the online collaborative session to endpoint device 710a in operation 745. Operation 745 may also include server 705 obtaining multimedia streams for the online collaborative session from endpoint device 710a. On the other hand, if the priority for endpoint device 710a does not exceed that of endpoint device 710b, server 705 may continue to provide/obtain the multimedia streams to/from endpoint device 710b.
With reference now made to
Upon receipt of message 835, server 805 determines in operation 840 if a priority associated with endpoint device 810a exceeds that of endpoint device 710b. If the priority for endpoint device 810a does, in fact, exceed that of endpoint device 810b, then server 805 provides the multimedia streams associated with the online collaborative session to endpoint device 810a in operation 845. Operation 845 may also include server 805 obtaining multimedia streams for the online collaborative session from endpoint device 810a. On the other hand, if the priority for endpoint device 810a does not exceed that of endpoint device 810b, server 805 may continue to provide/obtain the multimedia streams to/from endpoint device 810b.
With reference now made to
Based upon the indications provided in messages 930, server 905 determines in operation 940 if the signal strength of the short-range wireless communication connection between endpoint device 910a and the audio device exceeds a predetermined threshold. If the signal strength does exceed the threshold, server 905 then determines in operation 945 whether or not the priority of endpoint device 910a exceeds the priority of the endpoint device currently receiving the multimedia streams for the user, which is endpoint device 910b (as illustrated through operation 915). If the priority for endpoint device 910a does, in fact, exceed that of endpoint device 910b, then server 905 provides the multimedia streams associated with the online collaborative session to endpoint device 910a in operation 950. Operation 950 may also include server 905 obtaining multimedia streams for the online collaborative session from endpoint device 910a. On the other hand, if the priority for endpoint device 910a does not exceed that of endpoint device 910b, server 905 may continue to provide/obtain the multimedia streams to/from endpoint device 810b.
Referring to
In at least one embodiment, the computing device 1000 may be any apparatus that may include one or more processor(s) 1002, one or more memory element(s) 1004, storage 1006, a bus 1008, one or more network processor unit(s) 1010 interconnected with one or more network input/output (I/O) interface(s) 1012, one or more I/O interface(s) 1014, and control logic 1020. In various embodiments, instructions associated with logic for computing device 1000 can overlap in any manner and are not limited to the specific allocation of instructions and/or operations described herein.
In at least one embodiment, processor(s) 1002 is/are at least one hardware processor configured to execute various tasks, operations and/or functions for computing device 1000 as described herein according to software and/or instructions configured for computing device 1000. Processor(s) 1002 (e.g., a hardware processor) can execute any type of instructions associated with data to achieve the operations detailed herein. In one example, processor(s) 1002 can transform an element or an article (e.g., data, information) from one state or thing to another state or thing. Any of potential processing elements, microprocessors, digital signal processor, baseband signal processor, modem, PHY, controllers, systems, managers, logic, and/or machines described herein can be construed as being encompassed within the broad term ‘processor’.
In at least one embodiment, memory element(s) 1004 and/or storage 1006 is/are configured to store data, information, software, and/or instructions associated with computing device 1000, and/or logic configured for memory element(s) 1004 and/or storage 1006. For example, any logic described herein (e.g., control logic 1020) can, in various embodiments, be stored for computing device 1000 using any combination of memory element(s) 1004 and/or storage 1006. Note that in some embodiments, storage 1006 can be consolidated with memory element(s) 1004 (or vice versa), or can overlap/exist in any other suitable manner.
In at least one embodiment, bus 1008 can be configured as an interface that enables one or more elements of computing device 1000 to communicate in order to exchange information and/or data. Bus 1008 can be implemented with any architecture designed for passing control, data and/or information between processors, memory elements/storage, peripheral devices, and/or any other hardware and/or software components that may be configured for computing device 1000. In at least one embodiment, bus 1008 may be implemented as a fast kernel-hosted interconnect, potentially using shared memory between processes (e.g., logic), which can enable efficient communication paths between the processes.
In various embodiments, network processor unit(s) 1010 may enable communication between computing device 1000 and other systems, entities, etc., via network I/O interface(s) 1012 (wired and/or wireless) to facilitate operations discussed for various embodiments described herein. In various embodiments, network processor unit(s) 1010 can be configured as a combination of hardware and/or software, such as one or more Ethernet driver(s) and/or controller(s) or interface cards, Fibre Channel (e.g., optical) driver(s) and/or controller(s), wireless receivers/transmitters/transceivers, baseband processor(s)/modem(s), and/or other similar network interface driver(s) and/or controller(s) now known or hereafter developed to enable communications between computing device 1000 and other systems, entities, etc. to facilitate operations for various embodiments described herein. In various embodiments, network I/O interface(s) 1012 can be configured as one or more Ethernet port(s), Fibre Channel ports, any other I/O port(s), and/or antenna(s)/antenna array(s) now known or hereafter developed. Thus, the network processor unit(s) 1010 and/or network I/O interface(s) 1012 may include suitable interfaces for receiving, transmitting, and/or otherwise communicating data and/or information in a network environment.
I/O interface(s) 1014 allow for input and output of data and/or information with other entities that may be connected to computer device 1000. For example, I/O interface(s) 1014 may provide a connection to external devices such as a keyboard, keypad, a touch screen, and/or any other suitable input and/or output device now known or hereafter developed. In some instances, external devices can also include portable computer readable (non-transitory) storage media such as database systems, thumb drives, portable optical or magnetic disks, and memory cards. In still some instances, external devices can be a mechanism to display data to a user, such as, for example, a computer monitor, a display screen, or the like.
In various embodiments, control logic 1020 can include instructions that, when executed, cause processor(s) 1002 to perform operations, which can include, but not be limited to, providing overall control operations of computing device; interacting with other entities, systems, etc. described herein; maintaining and/or interacting with stored data, information, parameters, etc. (e.g., memory element(s), storage, data structures, databases, tables, etc.); combinations thereof; and/or the like to facilitate various operations for embodiments described herein.
The programs described herein (e.g., control logic 1020) may be identified based upon application(s) for which they are implemented in a specific embodiment. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience; thus, embodiments herein should not be limited to use(s) solely described in any specific application(s) identified and/or implied by such nomenclature.
In various embodiments, any entity or apparatus as described herein may store data/information in any suitable volatile and/or non-volatile memory item (e.g., magnetic hard disk drive, solid state hard drive, semiconductor storage device, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM), application specific integrated circuit (ASIC), etc.), software, logic (fixed logic, hardware logic, programmable logic, analog logic, digital logic), hardware, and/or in any other suitable component, device, element, and/or object as may be appropriate. Any of the memory items discussed herein should be construed as being encompassed within the broad term ‘memory element’. Data/information being tracked and/or sent to one or more entities as discussed herein could be provided in any database, table, register, list, cache, storage, and/or storage structure: all of which can be referenced at any suitable timeframe. Any such storage options may also be included within the broad term ‘memory element’ as used herein.
Note that in certain example implementations, operations as set forth herein may be implemented by logic encoded in one or more tangible media that is capable of storing instructions and/or digital information and may be inclusive of non-transitory tangible media and/or non-transitory computer readable storage media (e.g., embedded logic provided in: an ASIC, digital signal processing (DSP) instructions, software [potentially inclusive of object code and source code], etc.) for execution by one or more processor(s), and/or other similar machine, etc. Generally, memory element(s) 1004 and/or storage 1006 can store data, software, code, instructions (e.g., processor instructions), logic, parameters, combinations thereof, and/or the like used for operations described herein. This includes memory element(s) 1004 and/or storage 1006 being able to store data, software, code, instructions (e.g., processor instructions), logic, parameters, combinations thereof, or the like that are executed to carry out operations in accordance with teachings of the present disclosure.
In some instances, software of the present embodiments may be available via a non-transitory computer useable medium (e.g., magnetic or optical mediums, magneto-optic mediums, CD-ROM, DVD, memory devices, etc.) of a stationary or portable program product apparatus, downloadable file(s), file wrapper(s), object(s), package(s), container(s), and/or the like. In some instances, non-transitory computer readable storage media may also be removable. For example, a removable hard drive may be used for memory/storage in some implementations. Other examples may include optical and magnetic disks, thumb drives, and smart cards that can be inserted and/or otherwise connected to a computing device for transfer onto another computer readable storage medium.
Embodiments described herein may include one or more networks, which can represent a series of points and/or network elements of interconnected communication paths for receiving and/or transmitting messages (e.g., packets of information) that propagate through the one or more networks. These network elements offer communicative interfaces that facilitate communications between the network elements. A network can include any number of hardware and/or software elements coupled to (and in communication with) each other through a communication medium. Such networks can include, but are not limited to, any local area network (LAN), virtual LAN (VLAN), wide area network (WAN) (e.g., the Internet), software defined WAN (SD-WAN), wireless local area (WLA) access network, wireless wide area (WWA) access network, metropolitan area network (MAN), Intranet, Extranet, virtual private network (VPN), Low Power Network (LPN), Low Power Wide Area Network (LPWAN), Machine to Machine (M2M) network, Internet of Things (IoT) network, Ethernet network/switching system, any other appropriate architecture and/or system that facilitates communications in a network environment, and/or any suitable combination thereof.
Networks through which communications propagate can use any suitable technologies for communications including wireless communications (e.g., 4G/5G/nG, IEEE 802.11 (e.g., Wi-Fi/Wi-Fi6), IEEE 802.16 (e.g., Worldwide Interoperability for Microwave Access (WiMAX)), Radio-Frequency Identification (RFID), NFC, Bluetooth™, mm.wave, UWB, etc.), and/or wired communications (e.g., T1 lines, T3 lines, digital subscriber lines (DSL), Ethernet, Fibre Channel, etc.). Generally, any suitable means of communications may be used such as electric, sound, light, infrared, and/or radio to facilitate communications through one or more networks in accordance with embodiments herein. Communications, interactions, operations, etc. as discussed for various embodiments described herein may be performed among entities that may directly or indirectly connected utilizing any algorithms, communication protocols, interfaces, etc. (proprietary and/or non-proprietary) that allow for the exchange of data and/or information.
Communications in a network environment can be referred to herein as ‘messages’, ‘messaging’, ‘signaling’, ‘data’, ‘content’, ‘objects’, ‘requests’, ‘queries’, ‘responses’, ‘replies’, etc. which may be inclusive of packets. As referred to herein and in the claims, the term ‘packet’ may be used in a generic sense to include packets, frames, segments, datagrams, and/or any other generic units that may be used to transmit communications in a network environment. Generally, a packet is a formatted unit of data that can contain control or routing information (e.g., source and destination address, source and destination port, etc.) and data, which is also sometimes referred to as a ‘payload’, ‘data payload’, and variations thereof. In some embodiments, control or routing information, management information, or the like can be included in packet fields, such as within header(s) and/or trailer(s) of packets. Internet Protocol (IP) addresses discussed herein and in the claims can include any IP version 4 (IPv4) and/or IP version 6 (IPv6) addresses.
To the extent that embodiments presented herein relate to the storage of data, the embodiments may employ any number of any conventional or other databases, data stores or storage structures (e.g., files, databases, data structures, data or other repositories, etc.) to store information.
Note that in this Specification, references to various features (e.g., elements, structures, nodes, modules, components, engines, logic, steps, operations, functions, characteristics, etc.) included in ‘one embodiment’, ‘example embodiment’, ‘an embodiment’, ‘another embodiment’, ‘certain embodiments’, ‘some embodiments’, ‘various embodiments’, ‘other embodiments’, ‘alternative embodiment’, and the like are intended to mean that any such features are included in one or more embodiments of the present disclosure, but may or may not necessarily be combined in the same embodiments. Note also that a module, engine, client, controller, function, logic or the like as used herein in this Specification, can be inclusive of an executable file comprising instructions that can be understood and processed on a server, computer, processor, machine, compute node, combinations thereof, or the like and may further include library modules loaded during execution, object files, system files, hardware logic, software logic, or any other executable modules.
It is also noted that the operations and steps described with reference to the preceding figures illustrate only some of the possible scenarios that may be executed by one or more entities discussed herein. Some of these operations may be deleted or removed where appropriate, or these steps may be modified or changed considerably without departing from the scope of the presented concepts. In addition, the timing and sequence of these operations may be altered considerably and still achieve the results taught in this disclosure. The preceding operational flows have been offered for purposes of example and discussion. Substantial flexibility is provided by the embodiments in that any suitable arrangements, chronologies, configurations, and timing mechanisms may be provided without departing from the teachings of the discussed concepts.
As used herein, unless expressly stated to the contrary, use of the phrase ‘at least one of,’ one or more of, ‘and/or’, variations thereof, or the like are open-ended expressions that are both conjunctive and disjunctive in operation for any and all possible combination of the associated listed items. For example, each of the expressions ‘at least one of X, Y and Z’, ‘at least one of X, Y or Z’, ‘one or more of X, Y and Z’, ‘one or more of X, Y or Z’ and ‘X, Y and/or Z’ can mean any of the following: 1) X, but not Y and not Z; 2) Y, but not X and not Z; 3) Z, but not X and not Y; 4) X and Y, but not Z; 5) X and Z, but not Y; 6) Y and Z, but not X; or 7) X, Y, and Z.
Each example embodiment disclosed herein has been included to present one or more different features. However, all disclosed example embodiments are designed to work together as part of a single larger system or method. This disclosure explicitly envisions compound embodiments that combine multiple previously-discussed features in different example embodiments into a single system or method.
Additionally, unless expressly stated to the contrary, the terms ‘first’, ‘second’, ‘third’, etc., are intended to distinguish the particular nouns they modify (e.g., element, condition, node, module, activity, operation, etc.). Unless expressly stated to the contrary, the use of these terms is not intended to indicate any type of order, rank, importance, temporal sequence, or hierarchy of the modified noun. For example, ‘first X’ and ‘second X’ are intended to designate two ‘X’ elements that are not necessarily limited by any order, rank, importance, temporal sequence, or hierarchy of the two elements. Further as referred to herein, ‘at least one of’ and ‘one or more of’ can be represented using the ‘(s)’ nomenclature (e.g., one or more element(s)).
One or more advantages described herein are not meant to suggest that any one of the embodiments described herein necessarily provides all of the described advantages or that all the embodiments of the present disclosure necessarily provide any one of the described advantages. Numerous other changes, substitutions, variations, alterations, and/or modifications may be ascertained to one skilled in the art and it is intended that the present disclosure encompass all such changes, substitutions, variations, alterations, and/or modifications as falling within the scope of the appended claims.
In summary, provided for herein are techniques that tie the ability to connect headsets wirelessly to multiple devices with the radio signal strength to make smart and real time decisions to ensure that a video conference user's audio connection is not disturbed even when they are moving about.
In some aspects, the techniques described herein relate to a method including: establishing a first connection between a meeting server and a first endpoint device associated with a user; providing at least one multimedia stream for an online collaborative session from the meeting server to the first endpoint device; obtaining, at the meeting server, an indication that a first strength of a first short-range wireless communication connection between an audio device and the first endpoint device is less than a second strength of a second short-range wireless communication connection between the audio device and a second endpoint device associated with the user; establishing a second connection between the meeting server and the second endpoint device; and providing the at least one multimedia stream from the meeting server to the second endpoint device via the second connection in response to obtaining the indication.
In some aspects, the techniques described herein relate to a method, wherein obtaining the indication includes obtaining a request from the second endpoint device to provide the at least one multimedia stream to the second endpoint device via the second connection.
In some aspects, the techniques described herein relate to a method, wherein obtaining the indication includes: obtaining, at the meeting server, an indication of the first strength; obtaining, at the meeting server, an indication of the second strength; and determining from the indication of the first strength and the indication of the second strength that the first strength is less than the second strength.
In some aspects, the techniques described herein relate to a method, wherein obtaining the indication includes: obtaining, at the meeting server, an indication from the first endpoint device that the first strength has deviated from a threshold; providing, from the meeting server to the second endpoint device, the indication that the first strength has deviated from the threshold; and obtaining, at the meeting server, a request from the second endpoint device to provide the at least one multimedia stream from meeting server to the second endpoint device via the second connection.
In some aspects, the techniques described herein relate to a method, wherein obtaining the indication includes: obtaining, at the meeting server, an indication from the first endpoint device that the first strength has deviated from a threshold; providing, from the meeting server to the second endpoint device, the indication that the first strength has deviated from the threshold; obtaining, at the meeting server, an indication of the second strength from the second endpoint device; and determining that the first strength is less than the second strength in response to receiving the indication of the second strength.
In some aspects, the techniques described herein relate to a method, wherein the at least one multimedia stream includes an audio stream or a video stream.
In some aspects, the techniques described herein relate to a method, wherein the first short-range wireless communication connection includes a first Bluetooth connection and the second short-range wireless communication connection includes a second Bluetooth connection.
In some aspects, the techniques described herein relate to a method, wherein the audio device includes a personal speaker.
In some aspects, the techniques described herein relate to a method, wherein the first endpoint device includes a desktop or laptop computing device and second endpoint device include a smartphone or tablet computing device.
In some aspects, the techniques described herein relate to an apparatus including: one or more network interfaces; and one or more processors configured to perform operations on behalf of a meeting server, the operations including: establishing, via the one or more network interfaces, a first connection between the meeting server and a first endpoint device associated with a user; providing, via the one or more network interfaces, at least one multimedia stream for an online collaborative session from the meeting server to the first endpoint device; obtaining, at the meeting server via the one or more network interfaces, an indication that a first strength of a first short-range wireless communication connection between an audio device and the first endpoint device is less than a second strength of a second short-range wireless communication connection between the audio device and a second endpoint device associated with the user; establishing, via the one or more network interfaces, a second connection between the meeting server and the second endpoint device; and providing, via the one or more network interfaces, the at least one multimedia stream from the meeting server to the second endpoint device via the second connection in response to obtaining the indication.
In some aspects, the techniques described herein relate to an apparatus, wherein the one or more processors are configured to obtain the indication by obtaining a request from the second endpoint device to provide the at least one multimedia stream to the second endpoint device via the second connection.
In some aspects, the techniques described herein relate to an apparatus, wherein the one or more processors are configured to obtain the indication by: obtaining, at the meeting server via the one or more network interfaces, an indication of the first strength; obtaining, at the meeting server via the one or more network interfaces, an indication of the second strength; and determining from the indication of the first strength and the indication of the second strength that the first strength is less than the second strength.
In some aspects, the techniques described herein relate to an apparatus, wherein the one or more processors are configured to obtain the indication by: obtaining, at the meeting server via the one or more network interfaces, an indication from the first endpoint device that the first strength has deviated from a threshold; providing, from the meeting server to the second endpoint device via the one or more network interfaces, the indication that the first strength has deviated from the threshold; and obtaining, at the meeting server via the one or more network interfaces, a request from the second endpoint device to provide the at least one multimedia stream from meeting server to the second endpoint device via the second connection.
In some aspects, the techniques described herein relate to an apparatus, wherein the one or more processors are configured to obtain the indication by: obtaining, at the meeting server via the one or more network interfaces, an indication from the first endpoint device that the first strength has deviated from a threshold; providing, from the meeting server to the second endpoint device via the one or more network interfaces, the indication that the first strength has deviated from the threshold; obtaining, at the meeting server via the one or more network interfaces, an indication of the second strength from the second endpoint device; and determining that the first strength is less than the second strength in response to receiving the indication of the second strength.
In some aspects, the techniques described herein relate to an apparatus, wherein the first short-range wireless communication connection includes a first Bluetooth connection and the second short-range wireless communication connection includes a second Bluetooth connection.
In some aspects, the techniques described herein relate to one or more tangible non-transitory computer readable mediums encoded with instructions, wherein the instructions, when executed by one or more processors, are operable to perform operations including: establishing a first connection between a meeting server and a first endpoint device associated with a user; providing at least one multimedia stream for an online collaborative session from the meeting server to the first endpoint device; obtaining, at the meeting server, an indication that a first strength of a first short-range wireless communication connection between an audio device and the first endpoint device is less than a second strength of a second short-range wireless communication connection between the audio device and a second endpoint device associated with the user; establishing a second connection between the meeting server and the second endpoint device; and providing the at least one multimedia stream from the meeting server to the second endpoint device via the second connection in response to obtaining the indication.
In some aspects, the techniques described herein relate to one or more tangible non-transitory computer readable mediums, wherein the instructions operable to obtain the indication are further operable to obtain a request from the second endpoint device to provide the at least one multimedia stream to the second endpoint device via the second connection.
In some aspects, the techniques described herein relate to one or more tangible non-transitory computer readable mediums, wherein the instructions operable to obtain the indication are further operable to: obtain, at the meeting server, an indication of the first strength; obtain, at the meeting server, an indication of the second strength; and determine from the indication of the first strength and the indication of the second strength that the first strength is less than the second strength.
In some aspects, the techniques described herein relate to one or more tangible non-transitory computer readable mediums, wherein the instructions operable to obtain the indication are further operable to: obtain, at the meeting server, an indication from the first endpoint device that the first strength has deviated from a threshold; provide, from the meeting server to the second endpoint device, the indication that the first strength has deviated from the threshold; and obtain, at the meeting server, a request from the second endpoint device to provide the at least one multimedia stream from meeting server to the second endpoint device via the second connection.
In some aspects, the techniques described herein relate to one or more tangible non-transitory computer readable mediums, wherein the instructions operable to obtain the indication are further operable to: obtain, at the meeting server, an indication from the first endpoint device that the first strength has deviated from a threshold; provide, from the meeting server to the second endpoint device, the indication that the first strength has deviated from the threshold; obtain, at the meeting server, an indication of the second strength from the second endpoint device; and determine that the first strength is less than the second strength in response to receiving the indication of the second strength.
The above description is intended by way of example only. Although the techniques are illustrated and described herein as embodied in one or more specific examples, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made within the scope and range of equivalents of the claims.