IP Library Granted Patent US 8,804,758
Granted Patent B2
US 8,804,758 · App. 13/760,709 · Granted Aug 12, 2014

System and method of media over an internet protocol communication

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 8,804,758
App. No.
13/760,709
Granted
Aug 12, 2014
Kind
B2
Abstract

A real-time bandwidth monitor (RTBM) for VoIP applications are disclosed having a media streaming function to sense the available bandwidth between two endpoints of a VoIP communication (herein, a “call path”) utilizing the media streaming function and to adapt in real-time the transmission rate of the media stream to utilize that bandwidth. The media stream may include voice content, video content, or other media content.

Claims (45)

1. A method of streaming media content between endpoints during a VoIP communication, comprising the steps of:

a. Monitoring a packet loss measure during a VoIP communication including a media streaming function between a first endpoint and a second endpoint, wherein the first endpoint and the second endpoint use a first CODEC set to conduct the media streaming function, wherein the first CODEC set comprises at least one CODEC;

b. determining whether a current frames per packet value used by the at least one CODEC of the first CODEC set is greater than or equal to a maximum frames per packet threshold associated with the at least one CODEC of the first CODEC set;

c. when the monitored packet loss measure exceeds a maximum packet loss threshold and when the current frames per packet value used by the at least one CODEC of the first CODEC set is greater than or equal to the maximum frames per packet threshold associated with the at least one CODEC of the first CODEC set, negotiating use of a substitute CODEC set having a substitute nominal data rate that is lower than an in-use nominal data rate of the first CODEC set, wherein the substitute CODEC set comprises at least one CODEC; and

d. continuing the media streaming using the substitute CODEC set.

2. The method of claim 1 , further comprising determining a starting bandwidth measure to select the first CODEC set before beginning to monitor the packet loss measure.

3. The method of claim 2 , wherein determining the starting bandwidth measure comprises:

sending a starting probe packet from the first endpoint to a network device;

receiving an echoed starting probe packet from the network device at the first endpoint; and

determining the bandwidth of the path from the first endpoint to the network device.

4. The method of claim 3 , wherein the network device is selected from a STUN server, a SIP server, and an echo server.

5. The method of claim 2 , further comprising negotiating the first CODEC set based on a plurality of CODECs available at the first endpoint, a plurality of CODECs available at the second endpoint, and the starting bandwidth measure.

6. The method of claim 5 , wherein negotiating the first CODEC set includes determining a bit rate and a frames per packet value to be used by the first endpoint and the second endpoint.

7. The method of claim 5 , wherein negotiating the first CODEC set comprises:

accessing an optimization database, wherein the optimization database lists a plurality of CODECs and a bandwidth range associated with each of the plurality of CODECs; and

selecting as the first CODEC set at least one CODEC associated with a particular bandwidth range within which the starting bandwidth measure falls.

8. The method of claim 1 , further comprising, before negotiating use of the substitute CODEC set:

determining a packet loss ratio of a media packet stream of the communication;

determining whether the packet loss ratio exceeds a maximum packet loss ratio associated with the at least one CODEC of the first CODEC set;

when the packet loss ratio exceeds the maximum packet loss ratio, determining the in-use nominal data rate of the at least one CODEC of the first CODEC set;

determining whether the at least one CODEC of the first CODEC set is associated with an alternate nominal data rate that is lower than the in-use nominal data rate; and

when the at least one CODEC of the first CODEC set is associated with an alternate nominal data rate that is lower than the in-use nominal data rate, substituting the alternate nominal data rate for the in-use nominal data rate.

9. The method of claim 8 , further comprising:

when the at least one CODEC of the first CODEC set is not associated with an alternate nominal data rate that is lower than the in-use nominal data rate, determining whether the current frames per packet value is less than the maximum frames per packet measure associated with the at least one CODEC of the first CODEC set; and

when the current frames per packet measure is less than the maximum frames per packet measure associated with the at least one CODEC of the first CODEC set, increasing the number of frames per packet used by the at least one CODEC of the first CODEC set.

10. The method of claim 1 , wherein the packet loss measure includes a ratio of a media packet stream between the first endpoint and the second endpoint.

11. A system, comprising:

a communications endpoint, the communications endpoint adapted to:

monitor a packet loss measure between the communications endpoint and a second communications endpoint during a communication using a first CODEC set, wherein the first CODEC set comprises at least one CODEC;

determine whether a current frames per packet value used by the at least one CODEC of the first CODEC set is greater than or equal to a maximum frames per packet threshold associated with the at least one CODEC of the first CODEC set; and

negotiate with the second communications endpoint to select a substitute CODEC set having a nominal data rate that is lower than an in-use nominal data rate of the at least one CODEC of the first CODEC set when the monitored packet loss measure exceeds a maximum packet loss threshold and when the frames per packet value used for the communication is greater than or equal to the maximum frames per packet threshold, wherein the substitute CODEC set comprises at least one substitute CODEC.

12. The system of claim 11 , further comprising a telephone coupled to the communications endpoint.

13. The system of claim 11 , wherein the communications endpoint comprises a telephone.

14. The system of claim 11 , wherein the at least one CODEC of the substitute CODEC set and a frames per packet value for the at least one CODEC of the substitute CODEC set are selected from a plurality of available CODEC and frames per packet value combinations, wherein the at least one CODEC of the substitute CODEC set and the frames per packet value are selected to provide an enhanced quality of service.

15. The system of claim 11 , wherein the communications endpoint is further adapted to determine a measurement of available bandwidth between the communications endpoint and the second communications endpoint, and to adjust a transmission rate of the communication based on the measurement of available bandwidth.

16. The system of claim 15 , wherein the communication is routed via a network including a plurality of network elements, and wherein the communications endpoint determines the measurement of available bandwidth by sending one or more probe packets to one or more of the plurality of network elements.

17. The system of claim 16 , wherein the one or more probe packets are sent during a period of silence of the communication.

18. The system of claim 11 , wherein the communications endpoint is further adapted to echo a probe packet received from the second communications endpoint.

19. The system of claim 11 , wherein the communications endpoint has access to an optimization database, wherein the optimization database includes at least one frames per packet value for each of a plurality of available CODECs.

20. The system of claim 19 , wherein the optimization database further includes a minimum bandwidth for each of the plurality of available CODECs and frames per packet value combinations.

21. The system of claim 19 , wherein the optimization database further includes a maximum tolerable packet loss ratio for each of the plurality of available CODECs and frames per packet value combinations.

22. The system of claim 11 , wherein negotiating with the second communications endpoint to select the substitute CODEC set occurs after the monitored packet loss measure has exceeded the maximum packet loss threshold for a predetermined amount of time.

23. The system of claim 11 , wherein the communications endpoint negotiates with the second communications endpoint to return to the first CODEC set when conditions are suitable.

24. The system of claim 11 , wherein at least one of the communications endpoint and the second communications endpoint comprises a computer.

25. The system of claim 11 , wherein at least one of the communications endpoint and the second communications endpoint comprises a mobile communication device.

Assignments (18)
PARTIAL RELEASE OF SECURITY INTERESTS IN PATENTS AT REEL/FRAME 050002/0536 Recorded Jul 24, 2025
From: JEFFERIES FINANCE LLC
To: UPLAND SOFTWARE, INC.
Reel/Frame 072248/0588 →
PARTIAL RELEASE REEL/FRAME 050002/0536 Recorded Jul 24, 2025
From: JEFFERIES FINANCE LLC
To: UPLAND SOFTWARE, INC.
Reel/Frame 072126/0001 →
SECURITY INTEREST Recorded Mar 25, 2025
From: UPLAND SOFTWARE INC.; UPLAND SOFTWARE VII, LLC; OMTOOL, LTD.; WATERFALL INTERNATIONAL, INC.; QVIDIAN CORPORATION; REFERENCES- ONLINE, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 070626/0779 →
SECURITY INTEREST Recorded Aug 8, 2019
From: UPLAND SOFTWARE, INC.; UPLAND SOFTWARE I, INC.; UPLAND SOFTWARE IV, LLC; UPLAND SOFTWARE V, INC.; UPLAND SOFTWARE VI, INC.; UPLAND SOFTWARE VII, INC.; UPLAND IX, LLC; ULTRIVA, LLC; ADVANCED PROCESSING & IMAGING, INC.; OMTOOL, LTD.; RIGHTANSWERS, INC.; WATERFALL INTERNATIONAL INC.; QVIDIAN CORPORATION; REFERENCES-ONLINE, INC.; ADESTRA INC.; POSTUP HOLDINGS, LLC; POSTUP DIGITAL, LLC; DAILY INCHES, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050002/0536 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
To: UPLAND SOFTWARE, INC.
Reel/Frame 049990/0019 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
To: UPLAND SOFTWARE, INC.
Reel/Frame 049989/0307 →
SECURITY INTEREST Recorded Feb 24, 2017
From: UPLAND SOFTWARE, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 041370/0411 →
CHANGE OF NAME Recorded Jan 23, 2017
From: UPLAND SOFTWARE III, LLC
To: UPLAND SOFTWARE, INC.
Reel/Frame 041047/0411 →
SECURITY INTEREST Recorded Jul 15, 2016
From: UPLAND SOFTWARE III, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 039163/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2016
From: HIPCRICKET, INC.
To: UPLAND SOFTWARE III, LLC
Reel/Frame 038091/0314 →
RELEASE OF SECURITY INTEREST Recorded Oct 7, 2015
From: SILICON VALLEY BANK
To: HIPCRICKET, INC.
Reel/Frame 036810/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2013
From: I2 TELECOM INTERNATIONAL, INC.
To: I2 TELECOM IP HOLDINGS, INC.
Reel/Frame 031782/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2013
From: GEOS COMMUNICATIONS IP HOLDINGS, INC.
To: AUGME TECHNOLOGIES, INC.
Reel/Frame 031782/0523 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2013
From: BENDER, DOUGLAS F.
To: AUGME TECHNOLOGIES, INC.
Reel/Frame 031782/0629 →
CHANGE OF NAME Recorded Dec 13, 2013
From: I2 TELECOM IP HOLDINGS, INC.
To: GEOS COMMUNICATIONS IP HOLDINGS, INC.
Reel/Frame 031816/0507 →
CHANGE OF NAME Recorded Dec 13, 2013
From: AUGME TECHNOLOGIES, INC.
To: HIPCRICKET, INC.
Reel/Frame 031816/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2013
From: ALI, AWAIS
To: I2 TELECOM INTERNATIONAL, INC.
Reel/Frame 031782/0346 →
SECURITY AGREEMENT Recorded Nov 22, 2013
From: HIPCRICKET, INC.
To: SILICON VALLEY BANK
Reel/Frame 031713/0155 →