IP Library Granted Patent US 11,445,001
Granted Patent B2
US 11,445,001 · App. 15/284,094 · Granted Sep 13, 2022

Synchronization of a media codec between network elements of a media communication session

Inventors: John Lynch (Belleville, CA); Paul Haig (Carrying Place, CA); Chris McArthur (Belleville, CA)
Assignee: AVAYA INC.
H04L65/80H04L65/65H04L65/403
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 11,445,001
App. No.
15/284,094
Granted
Sep 13, 2022
Kind
B2
Abstract

Embodiments disclosed herein provide systems, methods, and computer readable media for synchronizing a media codec between network elements of a media communication session. In a particular embodiment, a method provides designating a first network element to be a static-clock network element during the media communication session and designating at least a second network element to be a dynamic-clock network element during the media communication session. The method further provides determining that a difference in clock speed exists between a second clock speed for the media codec at the second network element and a first clock speed for the media codec at the first network element. Also, the method provides adjusting the second clock speed to account for the difference in clock speed.

Claims (59)

1. A method for synchronizing a media codec between network elements of a media communication session, the method comprising:

after initiation of the media communication session between a first network element and at least a second network element:

determining that a first clock speed for the media codec at the first network element comprises a most accurate clock speed relative to clock speeds of other network elements on the media communication session;

designating the first network element to be a static-clock network element during the media communication session and designating at least the second network element to be a dynamic-clock network element during the media communication session, wherein real-time user communications are exchanged between the first network element and at least the second network element during the media communication session, and wherein the real-time user communications comprise media encoded using the media codec;

determining that a difference in clock speed exists between a second clock speed for the media codec at the second network element and the first clock speed; and

adjusting the second clock speed to account for the difference in clock speed;

at a time after designating the first network element to be the static-clock network element:

determining that the first clock speed no longer comprises the most accurate clock speed;

designating the first network element as a dynamic-clock network element; and

designating another network element now having the most accurate clock speed to be the static-clock network element.

2. The method of claim 1 , wherein determining that the difference in clock speed exists comprises:

at the second network element, receiving a plurality of data packets for the media communication session from the first network element;

calculating an average frequency in which the plurality of data packets is received; and

determining that a difference in frequency exists between the average frequency and a frequency of the first clock speed.

3. The method of claim 2 , wherein calculating the average frequency comprises:

using the second clock speed to maintain a counter to calculate an arrival rate of the plurality of data packets.

4. The method of claim 2 , wherein adjusting the second first clock speed comprises:

increasing the second clock speed when the average frequency is determined to be lower than the frequency of the first clock speed; and

decreasing the second clock speed when the average frequency is determined to be higher than the frequency of the first clock speed.

5. The method of claim 2 , wherein the plurality of data packets is received in the Real-time Transport Protocol (RTP).

6. The method of claim 1 , wherein the first network element comprises a first endpoint to the media communication session that is operated by a first user, the second network element comprises a second endpoint to the media communication session that is operated by a second user, and the media communication session is initiated by a conference system that provides real-time media communication services to the first network element and at least the second network element.

7. The method of claim 1 , further comprising:

at the second network element, receiving a clock speed indication from the first network element indicating the first clock speed.

8. The method of claim 1 , wherein the first clock speed comprises a default clock speed for the media codec.

9. A network element to synchronize a media codec between network elements of a media communication session, the network element comprising:

one or more computer readable storage media;

a processing system operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the processing system to:

after initiation of the media communication session between a first network element and at least a second network element:

determine that a first clock speed for the media codec at the first network element comprises a most accurate clock speed relative to clock speeds of other network elements on the media communication session;

designate the first network element to be a static-clock network element during the media communication session and designate at least the second network element to be a dynamic-clock network element during the media communication session, wherein real-time user communications are exchanged between the first network element and at least the second network element during the media communication session, wherein the real-time user communications comprise media encoded using the media codec;

determine that a difference in clock speed exists between a second clock speed for the media codec at the second network element and the first clock speed; and

adjust the second clock speed to account for the difference in clock speed;

at a time after designating the first network element to be the static-clock network element:

determine that the first clock speed no longer comprises the most accurate clock speed;

designate the first network element as a dynamic-clock network element; and

designate another network element now having the most accurate clock speed to be the static-clock network element.

10. The network element of claim 9 , wherein the first network element comprises a first endpoint to the media communication session that is operated by a first user, the second network element comprises a second endpoint to the media communication session that is operated by a second user, and the media communication session is initiated by a conference system that provides real-time media communication services to the first network element and at least the second network element.

11. The network element of claim 9 , wherein the program instructions further direct the processing system to:

provide the second network element with a clock speed indication from the first network element indicating the first clock speed.

12. A network element to synchronize a media codec between network elements of a media communication session, the network element comprising:

one or more computer readable storage media;

a processing system operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the processing system to:

after initiation of the media communication session between a first network element and at least the network element:

designate the network element to be a dynamic-clock network element during the media communication session, wherein a first clock speed for the media codec at the first network element is determined to comprise a most accurate clock speed relative to clock speeds of other network elements on the media communication session, wherein the first network element is designated to be a static-clock network element during the media communication session, wherein real-time user communications are exchanged between the first network element and at least the network element during the media communication session, and wherein the real-time user communications comprise media encoded using the media codec;

determine that a difference in clock speed exists between a second clock speed for the media codec at the network element and the first clock speed; and

adjust the second clock speed to account for the difference in clock speed;

wherein at a time after designating the first network element to be the static-clock network element, the first clock speed is determined to no longer comprise the most accurate clock speed, first network element is designated as a dynamic-clock network element, and another network element now having the most accurate clock speed is designated to be the static-clock network element.

13. The network element of claim 12 , wherein to determine that the difference in clock speed exists, the program instructions direct the processing system to:

receive a plurality of data packets for the media communication session from the first network element;

calculate an average frequency in which the plurality of data packets is received; and

determine that a difference in frequency exists between the average frequency and a frequency of the first clock speed.

14. The network element of claim 13 , wherein to calculate the average frequency, the program instructions direct the processing system to:

use the second clock speed to maintain a counter to calculate an arrival rate of the plurality of data packets.

15. The network element of claim 13 , wherein to adjust the second clock speed, the program instructions direct the processing system to:

increase the second clock speed when the average frequency is determined to be lower than the frequency of the first clock speed; and

decrease the second clock speed when the average frequency is determined to be higher than the frequency of the first clock speed.

16. The network element of claim 13 , wherein the plurality of data packets is received in the Real-time Transport Protocol (RTP).

Assignments (14)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2016
From: LYNCH, JOHN; HAIG, PAUL; MCARTHUR, CHRIS
To: AVAYA INC.
Reel/Frame 039925/0037 →
Continuity (1)
Related Publication 20180097868A1 · Apr 5, 2018