IP Library Granted Patent US 10,880,342
Granted Patent B2
US 10,880,342 · App. 15/922,140 · Granted Dec 29, 2020

Dynamically controlling communication channels during a communication session

Inventors: Simon Perreault (Québec, CA); Michael Sharp (Pleasant Grove, UT)
Assignee: JIVE COMMUNICATIONS, INC.
H04L65/1083H04L65/4015H04L65/80H04L67/104H04L67/145H04L67/2871
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,880,342
App. No.
15/922,140
Granted
Dec 29, 2020
Kind
B2
Abstract

This disclosure relates to a communication network within which devices participating in a communication session dynamically switch between sending media streams to a participating network device through one of multiple communication channel options. For instance, when establishing a communication session (e.g., a video conference), a sending network device establishes two potential communication channels with a receiving network device participating in the communication session. The sending network device determines which of the two potential communication channels is best suited for providing a media stream related to the communication session (e.g., an audio and/or video media stream), and assigns that communication channel as an active communication channel over which the sending network device provides the media stream to the receiving network device.

Claims (69)

1. A method comprising:

providing, by a first network device and to a second network device participating in a communication session, a media stream via an active communication channel between the first network device and the second network device;

receiving, by the first network device and via the active communication channel between the first network device and the second network device within the communication session, active channel receiver reports, wherein the active communication channel is associated with a first communication mode;

determining, by the first network device, a first communication characteristic by analyzing the active channel receiver reports;

receiving, by the first network device, and via an alternative communication channel between the first network device and the second network device, alternative channel receiver reports, wherein the alternative communication channel is associated with a second communication mode, wherein receiving the alternative channel receiver reports comprises:

sending, by the first network device and via the alternative communication channel, test data packets to the second network device; and

receiving, at the first network device, the alternative channel receiver reports from the second network device based on the second network device generating the alternative channel receiver reports in response to receiving the test data packets;

determining, by the first network device, a second communication characteristic by analyzing the alternative channel receiver reports;

determining, by the first network device, to switch from the active communication channel associated with the first communication mode to the alternative communication channel associated with the second communication mode based on the first communication characteristic and the second communication characteristic, wherein one of the second communication mode or the first communication mode comprises a relay communication mode utilizing a forwarding unit; and

activating, during the communication session and by the first network device, the alternative communication channel to provide the media stream to the second network device via the alternative communication channel associated with the second communication mode.

2. The method of claim 1 , wherein:

the first communication mode comprises a peer-to-peer communication mode between the first network device and the second network device; and

the second communication mode comprises the relay communication mode between the first network device and the second network device.

3. The method of claim 1 , further comprising maintaining the alternative communication channel by sending periodic maintenance data traffic through the alternative communication channel to the second network device.

4. The method of claim 3 , wherein the periodic maintenance data traffic preserves an encrypted state of the alternative communication channel.

5. The method of claim 1 , wherein determining to switch from the active communication channel to the alternative communication channel based on the first communication characteristic and the second communication characteristic comprises:

comparing the first communication characteristic to the second communication characteristic; and

determining that the alternative communication channel is superior to the active communication channel based on comparing the first communication characteristic to the second communication characteristic.

6. The method of claim 1 , further comprising:

generating a channel score for the active communication channel based at least in part on the first communication characteristic; and

generating a channel score for the alternative communication channel based at least in part on the second communication characteristic.

7. The method of claim 6 , wherein determining to switch from the active communication channel to the alternative communication channel based on the first communication characteristic and the second communication characteristic comprises determining the channel score for the active communication channel is less than the channel score for the alternative communication channel.

8. The method of claim 6 , further comprising:

identifying a difference between the channel score for the active communication channel and the channel score for the alternative communication channel; and

determining whether the difference between the channel score for the active communication channel and the channel score for the alternative communication channel meets a predefined threshold, wherein determining to switch from the active communication channel to the alternative communication channel is based on the difference meeting the predefined threshold.

9. The method of claim 1 ,

deactivating the active communication channel between the first network device and the second network device; and

maintaining availability of the deactivated communication channel between the first network device and the second network device by sending periodic maintenance data traffic through the deactivated communication channel.

10. The method of claim 1 , further comprising:

detecting a trigger event subsequent to determining to switch from the active communication channel to the alternative communication channel; and

wherein activating the alternative communication channel to provide the media stream to the second network device via the alternative communication channel associated with the second communication mode is in response to detecting the trigger event.

11. A system comprising:

at least one processor; and

at least one non-transitory computer-readable storage medium storing instructions there on that, when executed by the at least one processor, cause the system to:

provide, from a first network device and to a second network device participating in a communication session, a media stream via an active communication channel between the first network device and the second network device;

receive, by the first network device and via an active communication channel between the first network device and the second network device within the communication session, active channel receiver reports, wherein the active communication channel is associated with a first communication mode;

determine, by the first network device, a first communication characteristic by analyzing the active channel receiver reports;

receive, by the first network device, and via an alternative communication channel between the first network device and the second network device, alternative channel receiver reports, wherein the alternative communication channel is associated with a second communication mode, wherein receiving the alternative channel receiver reports comprises:

sending, by the first network device and via the alternative communication channel, test data packets to the second network device; and

receiving, at the first network device, the alternative channel receiver reports from the second network device based on the second network device generating the alternative channel receiver reports in response to receiving the test data packets;

determine, by the first network device, a second communication characteristic by analyzing the alternative channel receiver reports;

determine, by the first network device, to switch from the active communication channel associated with the first communication mode to the alternative communication channel associated with the second communication mode based on the first communication characteristic and the second communication characteristic, wherein one of the second communication mode or the first communication mode comprises a relay communication mode utilizing a forwarding unit; and

activate, during the communication session and by the first network device, the alternative communication channel to provide the media stream to the second network device via the alternative communication channel associated with the second communication mode.

12. The system of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the system to maintain the alternative communication channel by sending periodic maintenance data traffic through the alternative communication channel to the second network device.

13. The system of claim 12 , wherein the periodic maintenance data traffic preserves an encrypted state of the alternative communication channel.

14. The system of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the system to:

compare the first communication characteristic to the second communication characteristic; and

determine that the alternative communication channel is superior to the active communication channel based on comparing the first communication characteristic to the second communication characteristic, wherein determining to switch from the active communication channel to the alternative communication channel is based on the determination that the alternative communication channel is superior to the active communication channel.

15. The system of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the system to:

generate a channel score for the active communication channel based at least in part on the first communication characteristic; and

generate a channel score for the alternative communication channel based at least in part on the second communication characteristic.

16. The system of claim 15 , wherein determining to switch from the active communication channel to the alternative communication channel based on the first communication characteristic and the second communication characteristic comprises determining the channel score for the active communication channel is less than the channel score for the alternative communication channel.

17. A non-transitory computer readable storage medium comprising instructions that, when executed by at least one processor, cause a computer device to:

provide, from a first network device and to a second network device participating in a communication session, a media stream via an active communication channel between the first network device and the second network device;

receive, by the first network device and via an active communication channel between the first network device and the second network device within the communication session, active channel receiver reports, wherein the active communication channel is associated with a first communication mode;

determine, by the first network device, a first communication characteristic by analyzing the active channel receiver reports;

receive, by the first network device, and via an alternative communication channel between the first network device and the second network device, alternative channel receiver reports, wherein the alternative communication channel is associated with a second communication mode, wherein receiving the alternative channel receiver reports comprises:

sending, by the first network device and via the alternative communication channel, test data packets to the second network device; and

receiving, at the first network device, the alternative channel receiver reports from the second network device based on the second network device generating the alternative channel receiver reports in response to receiving the test data packets;

determine, by the first network device, a second communication characteristic by analyzing the alternative channel receiver reports;

determine, by the first network device, to switch from the active communication channel associated with the first communication mode to the alternative communication channel associated with the second communication mode based on the first communication characteristic and the second communication characteristic, wherein one of the second communication mode or the first communication mode comprises a relay communication mode utilizing a forwarding unit; and

activate, during the communication session and by the first network device, the alternative communication channel to provide the media stream to the second network device via the alternative communication channel associated with the second communication mode.

18. The non-transitory computer readable storage medium of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the computer device to:

generate a channel score for the active communication channel based at least in part on the first communication characteristic; and

generate a channel score for the alternative communication channel based at least in part on the second communication characteristic.

19. The non-transitory computer readable storage medium of claim 18 , further comprising instructions that, when executed by the at least one processor, cause the computer device to:

identify a difference between the channel score for the active communication channel and the channel score for the alternative communication channel; and

determine whether the difference between the channel score for the active communication channel and the channel score for the alternative communication channel meets a predefined threshold, wherein determining to switch from the active communication channel to the alternative communication channel is based on the difference meeting the predefined threshold.

20. The non-transitory computer readable storage medium of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the computer device to detect a trigger event subsequent to determining to switch from the active communication channel to the alternative communication channel; and wherein activating the alternative communication channel to provide the media stream to the second network device via the alternative communication channel associated with the second communication mode is in response to detecting the trigger event.

Assignments (11)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 053666/0956) Recorded Mar 15, 2024
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: GOTO COMMUNICATIONS, INC. (F/K/A JIVE COMMUNICATIONS, INC.)
Reel/Frame 066800/0104 →
SECURITY INTEREST Recorded Feb 16, 2024
From: GOTO COMMUNICATIONS, INC.; GOTO GROUP, INC.; LASTPASS US LP
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS THE NOTES COLLATERAL AGENT
Reel/Frame 066614/0355 →
SECURITY INTEREST Recorded Feb 16, 2024
From: GOTO COMMUNICATIONS, INC.,; GOTO GROUP, INC., A; LASTPASS US LP,
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS THE NOTES COLLATERAL AGENT
Reel/Frame 066614/0402 →
SECURITY INTEREST Recorded Feb 7, 2024
From: GOTO GROUP, INC.,; GOTO COMMUNICATIONS, INC.; LASTPASS US LP
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 066508/0443 →
CHANGE OF NAME Recorded Apr 15, 2022
From: LOGMEIN COMMUNICATIONS, INC.
To: GOTO COMMUNICATIONS, INC.
Reel/Frame 059723/0622 →
CHANGE OF NAME Recorded Apr 15, 2022
From: JIVE COMMUNICATIONS, INC.
To: LOGMEIN COMMUNICATIONS, INC.
Reel/Frame 059723/0173 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (SECOND LIEN) Recorded Feb 16, 2021
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: LOGMEIN COMMUNICATIONS, INC.
Reel/Frame 055306/0220 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: JIVE COMMUNICATIONS, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 053666/0956 →
NOTES LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: JIVE COMMUNICATIONS, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 053666/0970 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: JIVE COMMUNICATIONS, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 053667/0009 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2018
From: PERREAULT, SIMON; SHARP, MICHAEL
To: JIVE COMMUNICATIONS, INC.
Reel/Frame 045235/0978 →
Continuity (1)
Related Publication 20190289042A1 · Sep 19, 2019
Cited By (2)
US 12,328,345 US 12,683,892