IP Library Granted Patent US 10,757,366
Granted Patent B1
US 10,757,366 · App. 16/373,757 · Granted Aug 25, 2020

Videoconferencing dynamic host controller

Inventors: Shikhar Kwatra (Durham, NC); Michael Bender (Rye Brook, NY); Craig M. Trim (Ventura, CA); Jeremy R. Fox (Georgetown, TX)
Assignee: International Business Machines Corporation
H04N7/152G06F11/3062G06F11/3423H04L67/1051H04L67/322
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,757,366
App. No.
16/373,757
Filed
Apr 3, 2019
Granted
Aug 25, 2020
Kind
B1
Art Unit
2651
USPC
348/14.08
Abstract

Aspects of the present invention generate a vector value representing a state of a host device hosting a videoconference that is attended by a plurality of participant videoconference devices, wherein the host device controls audio and video distributed for the videoconference to others of the participant videoconference devices, evaluate the vector value to determine a change in the vector value during the videoconference, identify a plurality of second host devices of the plurality of participant videoconference devices that are each enabled to control the audio and video distributed for the videoconference to others of the participant videoconference devices, and in response to determining that the change in the vector value exceeds a threshold, switch control of the videoconference from the host device to one of the second host devices.

Claims (78)

1. A computer-implemented method comprising:

determining a frequency of interruptions of a host device hosting a videoconference that is attended by a plurality of participant videoconference devices, wherein the host device controls audio and video distributed for the videoconference to others of the participant videoconference devices;

determining a network connectivity speed and throughput value for the host device that is indicative of a quality of connection for distributing the videoconference audio and video between the host device and one of the other participant videoconference devices;

estimating a time remaining for the host device before a power level of the host device is insufficient to control the audio and the video distributed for the videoconference to the participant videoconference devices;

determining a quality metric for the host device as a function of measuring signal loss of the videoconference audio and video distributed to the others of the participant videoconference devices;

generating a vector value for the host device representing a state of the host device as a function of the frequency of interruptions of the host device, the network connectivity speed and throughput value of the host device, the estimated time remaining for the host device and the quality metric of the host device;

evaluating the host device vector value to determine a change in the host device vector value during the videoconference;

identifying a plurality of second host devices of the plurality of participant videoconference devices that are each enabled to control the audio and video distributed for the videoconference to others of the participant videoconference devices; and

in response to determining that the change in the host device vector value exceeds a threshold, switching control of the videoconference from the host device to a selected one of the second host devices that is ranked higher than remaining others of the second host devices as a function of respective vector values generated for each of the second host devices.

2. The method of claim 1 , further comprising:

determining network speed and throughput connectivity values for each of the second host devices that are indicative of a quality of connection for distributing the videoconference audio and video between each of the second host devices and one of the other participant videoconference devices;

determining frequencies of interruptions for each of the second host devices during the videoconference;

estimating times remaining before power levels of each of the second host devices are insufficient to control the audio and video distributed for the videoconference to the participant videoconference devices;

determining quality metrics for each of the second host devices for the audio and video distributed for the videoconference to the others of the participant videoconference devices as a function of measuring signal loss of the videoconference audio and video; and

generating each of the respective vector values of the second host devices to each represent respective states of the second host devices as a function of respective ones of the determined second host device frequencies of interruptions, the second host device network connectivity speed and throughput values, the second host device estimated times remaining, and the second host device quality metrics.

3. The method of claim 2 , further comprising:

monitoring notices displayed on a display device of the host device and alerts sounded by a speaker of the host device during the videoconference; and

determining the frequency of interruptions of the host device during the videoconference as a function of incrementing a counter in response to each of said displayed notices and alerts sounded by the speaker of the host device during the videoconference.

4. The method of claim 2 , further comprising:

determining a power supply amount and a power consumption rate of the host device; and

determining the estimated time remaining before the power level of the host device is insufficient to control the audio and video distributed for the videoconference to the participant videoconference devices as a function of a scheduled end of the videoconference, the power supply, and the power consumption.

5. The method of claim 2 , further comprising:

identifying the plurality of second host devices in response to determining that information of respective participant inputs to access the videoconference by each of the second host devices originate from a same domain of the host device.

6. The method of claim 1 , further comprising:

integrating computer-readable program code into a computer system comprising a processor, a computer readable memory in circuit communication with the processor, and a computer readable storage medium in circuit communication with the processor; and

wherein the processor executes program code instructions stored on the computer readable storage medium via the computer readable memory and thereby performs the determining the frequency of interruptions of the host device, the determining the network connectivity value for the host device, the estimating the time remaining for the host device, the determining the quality metric for the host device, the generating the vector value representing the state of the host device hosting the videoconference, the evaluating the host device vector value to determine the change in the host device vector value during the videoconference, the identifying the plurality of second host devices of the plurality of participant videoconference devices, and the switching control of the videoconference from the host device to the selected one of the second host devices.

7. The method of claim 6 , wherein the computer-readable program code is provided as a service in a cloud environment.

8. A computer system comprising:

a computer processor;

a computer readable memory in circuit communication with the computer processor; and

a computer readable storage medium in circuit communication with the computer processor;

wherein the computer processor executes program instructions stored on the computer readable storage medium via the computer readable memory and thereby:

determines a frequency of interruptions of a host device hosting a videoconference that is attended by a plurality of participant videoconference devices, wherein the host device controls audio and video distributed for the videoconference to others of the participant videoconference devices;

determines a network connectivity speed and throughput value for the host device that is indicative of a quality of connection for distributing the videoconference audio and video between the host device and one of the other participant videoconference devices;

estimates a time remaining for the host device before a power level of the host device is insufficient to control the audio and the video distributed for the videoconference to the participant videoconference devices;

determines a quality metric for the host device as a function of measuring signal loss of the videoconference audio and video distributed to the others of the participant videoconference devices;

generates a vector value for the host device representing a state of the host device as a function of the frequency of interruptions of the host device, the network connectivity speed and throughput value of the host device, the estimated time remaining for the host device and the quality metric of the host device;

evaluates the host device vector value to determine a change in the host device vector value during the videoconference;

identifies a plurality of second host devices of the plurality of participant videoconference devices that are each enabled to control the audio and video distributed for the videoconference to others of the participant videoconference devices; and

in response to determining that the change in the host device vector value exceeds a threshold, switches control of the videoconference from the host device to a selected one of the second host devices that is ranked higher than remaining others of the second host devices as a function of respective vector values generated for each of the second host devices.

9. The system of claim 8 , wherein computer processor executes program instructions stored on the computer readable storage medium via the computer readable memory and thereby:

determines network connectivity speed and throughput values for each of the second host devices that are indicative of a quality of connection for distributing the videoconference audio and video between each the second host devices and one of the other participant videoconference devices;

determines frequencies of interruptions for each of the second host devices during the videoconference;

estimates times remaining before a-power levels of each of the second host devices are insufficient to control the audio and video distributed for the videoconference to the participant videoconference devices;

determines quality metrics for each of the second host devices for the audio and video distributed for the videoconference to the others of the participant videoconference devices as a function of measuring signal loss of the videoconference audio and video; and

generates each of the respective vector values of the second host devices to each represent respective states of the second host devices as a function of respective ones of the determined second host device frequencies of interruptions, the second host device network connectivity speed and throughput values, the second host device estimated times remaining, and the second host device quality metrics.

10. The system of claim 9 , wherein the computer processor executes program instructions stored on the computer readable storage medium via the computer readable memory and thereby:

monitors notices displayed on a display device of the host device and alerts sounded by a speaker of the host device during the videoconference; and

determines the frequency of interruptions of the host device during the videoconference as a function incrementing a counter in response to each of said displayed notices and alerts sounded by the speaker of the host device during the videoconference.

11. The system of claim 9 , wherein the computer processor executes program instructions stored on the computer readable storage medium via the computer readable memory and thereby:

determines a power supply amount and a power consumption rate of the host device; and

determines the estimated time remaining before the power level of the host device is insufficient to control the audio and video distributed for the videoconference to the participant videoconference devices as a function of a scheduled end of the videoconference, the power supply, and the power consumption.

12. The system of claim 8 , wherein the computer processor executes program instructions stored on the computer readable storage medium via the computer readable memory and thereby:

identifies the plurality of second host devices in response to determining that information of respective participant inputs to access the videoconference by each of the second host devices originate from a same domain of the host device.

13. A computer program product comprising:

a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising instructions for execution by a computer processor that causes the computer processor to:

determine a frequency of interruptions of a host device hosting a videoconference that is attended by a plurality of participant videoconference devices, wherein the host device controls audio and video distributed for the videoconference to others of the participant videoconference devices;

determine a network connectivity speed and throughput value for the host device that is indicative of a quality of connection for distributing the videoconference audio and video between the host device and one of the other participant videoconference devices;

estimate a time remaining for the host device before a power level of the host device is insufficient to control the audio and the video distributed for the videoconference to the participant videoconference devices;

determine a quality metric for the host device as a function of measuring signal loss of the videoconference audio and video distributed to the others of the participant videoconference devices;

generate a vector value for the host device representing a state of the host device as a function of the frequency of interruptions of the host device, the network connectivity speed and throughput value of the host device, the estimated time remaining for the host device and the quality metric of the host device;

evaluate the host device vector value to determine a change in the host device vector value during the videoconference;

identify a plurality of second host devices of the plurality of participant videoconference devices that are each enabled to control the audio and video distributed for the videoconference to others of the participant videoconference devices; and

in response to determining that the change in the host device vector value exceeds a threshold, switch control of the videoconference from the host device to a selected one of the second host devices that is ranked higher than remaining others of the second host devices as a function of respective vector values generated for each of the second host devices.

14. The computer program product of claim 13 , wherein the instructions for execution by the computer processor further causes the computer processor to:

determine network connectivity speed and throughput values for each of the second host devices that are indicative of a quality of connection for distributing the videoconference audio and video between each of the second host devices and one of the other participant videoconference devices;

determine frequencies of interruptions for each of the second host devices during the videoconference;

an estimate times remaining before a-power levels of each of the second host devices are insufficient to control the audio and video distributed for the videoconference to the participant videoconference devices;

determine quality metric s for each of the second host devices for the audio and video distributed for the videoconference to the others of the participant videoconference devices as a function of measuring signal loss of the videoconference audio and video; and

generate each of the respective vector values of the second host devices to each represent respective states of the second host devices as a function of respective ones of the determined second host device frequencies of interruptions, the second host device network connectivity speed and throughput values, the second host device estimated times remaining, and the second host device quality metrics.

15. The computer program product of claim 14 , wherein the instructions for execution by the computer processor further causes the computer processor to:

monitor notices displayed on a display device of the host device and alerts sounded by a speaker of the host device during the videoconference; and

determining the frequency of interruptions of the host device during the videoconference as a function of incrementing a counter in response to each of said displayed notices and alerts sounded by the speaker of the host device during the videoconference.

16. The computer program product of claim 14 , wherein the instructions for execution by the computer processor further causes the computer processor to:

determine a power supply amount and a power consumption rate of the host device; and

determine the estimated time remaining before the power level of the host device is insufficient to control the audio and video distributed for the videoconference to the participant videoconference devices as a function of a scheduled end of the videoconference, the power supply, and the power consumption.

17. The computer program product of claim 13 , wherein the instructions for execution by the computer processor further causes the computer processor to:

identify the plurality of second host devices in response to determining that information of respective participant inputs to access the videoconference by each of the second host devices originate from a same domain of the host device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2019
From: KWATRA, SHIKHAR; BENDER, MICHAEL; TRIM, CRAIG M.; FOX, JEREMY R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048778/0115 →
Cited By (22)
US 12,201,435 US 12,242,702 US 12,260,059 US 12,265,696 US 12,267,622 US 12,284,410 US 12,301,958 US 12,301,979 US 12,302,035 US 12,323,560 US 12,335,559 US 12,368,762 US 12,368,946 US 12,381,924 US 12,395,553 US 12,449,961 US 12,452,389 US 12,483,434 US 12,541,338 US 12,563,299 US 12,578,837 US 12,620,155