IP Library Granted Patent US 9,866,610
Granted Patent B2
US 9,866,610 · App. 13/329,200 · Granted Jan 9, 2018

Methods, systems, and computer readable media for selecting a codec pair based on network conditions

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 9,866,610
App. No.
13/329,200
Granted
Jan 9, 2018
Kind
B2
Abstract

A method for selecting a codec pair includes obtaining a first performance metric indicating a condition of a first network connected to the network node via a first communication interface, the first network including a first endpoint. A second performance metric indicating a condition of a second network connected to the network node via a second communication interface is obtained. The second network includes a second endpoint. A codec selection model is generated or updated based on the first and second performance metrics. A first codec is selected from a plurality of codecs compatible with the first endpoint based on the codec selection model. A second codec is selected from a plurality of codecs compatible with the second endpoint based on the codec selection model. The first and second codecs are used to communicate a portion of a communication session between the first endpoint and the second endpoint.

Claims (58)

1. A method for selecting a codec pair based on network conditions, the method comprising:

at a network node including a first communication interface and a second communication interface:

obtaining a first performance metric indicating a condition of a first network connected to the network node via the first communication interface, the first network including a first endpoint;

obtaining a second performance metric indicating a condition of a second network connected to the network node via the second communication interface, the second network including a second endpoint;

modifying a first impairment value for the first network connection according to the first performance metric;

modifying a second impairment value for the second network connection according to the second performance metric;

generating or updating a codec selection model based on at least one of processing delay, algorithmic delay, and buffering delay and based on the first impairment value modified by the obtained first performance metric and the second impairment value modified by the obtained second performance metric;

selecting a first codec from a plurality of codecs compatible with the first endpoint based on the codec selection model;

selecting a second codec from a plurality of codecs compatible with the second endpoint based on the codec selection model; and

utilizing the first selected codec and the second selected codec to communicate a portion of a communication session between the first endpoint and the second endpoint.

2. A method for selecting a codec pair based on network conditions, the method comprising:

at a network node including a first communication interface and a second communication interface:

obtaining a first performance metric indicating a condition of a first network connected to the network node via the first communication interface, the first network including a first endpoint;

obtaining a second performance metric indicating a condition of a second network connected to the network node via the second communication interface, the second network including a second endpoint;

modifying a first impairment value for the first network connection according to the first performance metric;

modifying a second impairment value for the second network connection according to the second performance metric;

generating or updating a codec selection model based on the first impairment value modified by the obtained first performance metric and the second impairment value modified by the obtained second performance metric and based on a plurality of factors, at least one of the factors corresponding to available bandwidth or least cost routing, each of the factors assigned a weight and generating or updating the codec selection model includes taking into account each of the factors to the extent of its assigned weight;

selecting a first codec from a plurality of codecs compatible with the first endpoint based on the codec selection model;

selecting a second codec from a plurality of codecs compatible with the second endpoint based on the codec selection model; and

utilizing the first selected codec and the second selected codec to communicate a portion of a communication session between the first endpoint and the second endpoint.

3. The method of claim 1 wherein generating or updating the codec selection model includes computing a scalar value that corresponds to conversation quality for each combination of the plurality of codecs compatible with the first endpoint and the plurality of codecs compatible with the second endpoint.

4. The method of claim 1 wherein at least one of the first performance metric and the second performance metric corresponds to at least one of a measure of packet loss, a measure of end-to-end packet delay, and a measure of jitter.

5. The method of claim 1 wherein at least one of the plurality of codecs compatible with the first endpoint and the plurality of codecs compatible with the second endpoint is obtained as part of a session description protocol (SDP) offer message.

6. The method of claim 1 wherein the first communication interface is a packet interface and the second communication interface is a packet interface.

7. The method of claim 1 wherein the first communication interface is a packet interface and the second communication interface is a time-division multiplexing (TDM) interface.

8. The method of claim 1 wherein the network node comprises at least one of a session border controller (SBC) and a media gateway.

9. The method of claim 1 wherein the first selected codec and the second selected codec are different; and

wherein utilizing the first selected codec and the second selected codec to communicate the portion of the communication session between the first endpoint and the second endpoint comprises transcoding, from the first selected codec to the second selected codec, the portion of the communication session between the first endpoint and the second endpoint.

10. The method of claim 1 wherein the first selected codec and the second selected codec are the same, and wherein utilizing the first selected codec and the second selected codec to communicate the portion of the communication session between the first endpoint and the second endpoint comprises supporting tandem free operation (TFO) for the portion of the communication session between the first endpoint and the second endpoint.

11. A system for selecting a codec pair based on network conditions, the system comprising:

a first communication interface configured to interface with a first network including a first endpoint;

a second communication interface configured to interface with a second network including a second endpoint;

a network performance module configured to obtain a first performance metric indicating a condition of the first network and a second performance metric indicating a condition of the second network;

a codec selection module configured to generate a codec selection model based on the obtained first performance metric and the obtained second performance metric, select a first codec from a plurality of codecs compatible with the first endpoint based on the codec selection model, and select a second codec from a plurality of codecs compatible with the second endpoint based on the codec selection model, and update the codec selection model during a call in response to a change in the first performance metric or the second performance metric during the call; and

a transcoder configured to utilize the first selected codec and the second selected codec to communicate a portion of a communication session between the first endpoint and the second endpoint.

12. The system of claim 11 wherein the codec selection module is configured to generate or update the codec selection model by computing a scalar value that corresponds to conversation quality for each combination of the plurality of codecs compatible with the first endpoint and the plurality of codecs compatible with the second endpoint.

13. The system of claim 11 wherein the codec selection model is based on at least one of processing delay, algorithmic delay, and buffering delay.

14. The system of claim 11 wherein the codec selection model is based on a plurality of factors, at least one of the factors corresponding to available bandwidth or least cost routing.

15. The system of claim 14 wherein each of the factors is assigned a weight and wherein the codec selection module is configured to generate or update the codec selection model by taking into account each of the factors to the extent of its assigned weight.

16. The system of claim 11 wherein at least one of the first performance metric and the second performance metric corresponds to at least one of a measure of packet loss, a measure of end-to-end packet delay, and a measure of jitter.

17. The system of claim 11 wherein at least one of the plurality of codecs compatible with the first endpoint and the plurality of codecs compatible with the second endpoint is obtained as part of a session description protocol (SDP) offer message.

18. The system of claim 11 wherein the first communication interface is a packet interface and the second communication interface is a packet interface.

19. The system of claim 11 wherein the first communication interface is a packet interface and the second communication interface is a time-division multiplexing (TDM) interface.

20. The system of claim 11 wherein the memory, the first communication interface, the second communication interface, the network performance module, the codec selection module, and the transcoder comprise a network node, and wherein the network node comprises at least one of a session border controller (SBC) and a media gateway.

21. The system of claim 11 wherein the first selected codec and the second selected codec are different; and

wherein the transcoder is configured to transcode, from the first selected codec to the second selected codec, the portion of the communication session between the first endpoint and the second endpoint.

22. The system of claim 11 wherein the first selected codec and the second selected codec are the same, and wherein the transcoder is configured to support tandem free operation (TFO) for the portion of the communication session between the first endpoint and the second endpoint.

23. A method for selecting a codec pair based on network conditions, the method comprising:

at a network node including a first communication interface and a second communication interface:

obtaining a first performance metric indicating a condition of a first network connected to the network node via the first communication interface, the first network including a first endpoint;

obtaining a second performance metric indicating a condition of a second network connected to the network node via the second communication interface, the second network including a second endpoint;

modifying a first impairment value for the first network connection according to the first performance metric;

modifying a second impairment value for the second network connection according to the second performance metric;

generating or updating a codec selection model based on the first impairment value modified by the obtained first performance metric and the second impairment value modified by the obtained second performance metric;

selecting a first codec from a plurality of codecs compatible with the first endpoint based on the codec selection model;

selecting a second codec from a plurality of codecs compatible with the second endpoint based on the codec selection model;

utilizing the first selected codec and the second selected codec to communicate a portion of a communication session between the first endpoint and the second endpoint; and

updating the codec selection model during a call, in response to a change in the first impairment value or the second impairment value.

Assignments (13)
SHORT-FORM PATENTS SECURITY AGREEMENT Recorded Sep 5, 2024
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 068857/0290 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF FIRST SUPPLEMENT OT PATENT SECURITY AGREEMENT AT R/F 049035/0939 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058740/0265 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
MERGER Recorded Jul 15, 2020
From: GENBAND US LLC
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 053223/0260 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SCHEDULE PREVIOUSLY RECORDED ON REEL 049035 FRAME 0939. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST SUPPLEMENT TO PATENT SECURITY AGREEMENT. Recorded Aug 22, 2019
From: GENBAND US LLC; RIBBON COMMUNICATIONS OPERATING COMPANY, INC., FORMERLY KNOWN AS SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 050705/0001 →
FIRST SUPPLEMENT TO SECURITY AGREEMENT Recorded Apr 30, 2019
From: GENBAND US LLC; RIBBON COMMUNICATIONS OPERATING COMPANY, INC., FORMERLY KNOWN AS SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 049035/0939 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Dec 29, 2017
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: GENBAND US LLC
Reel/Frame 044986/0303 →
CORRECTIVE ASSIGNMENT TO CORRECT PATENT NO. 6381239 PREVIOUSLY RECORDED AT REEL: 039269 FRAME: 0234. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Jan 3, 2017
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041422/0080 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2016
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 039269/0234 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2012
From: POULIN, ERIC
To: GENBAND US LLC
Reel/Frame 027797/0891 →