IP Library Granted Patent US 9,288,731
Granted Patent B1
US 9,288,731 · App. 14/930,750 · Granted Mar 15, 2016

Techniques for determining a handoff profile between telecommunications networks

Inventors: Kyle White (Raleigh, NC); Jesse Stimpson (Raleigh, NC)
Assignee: Bandwidth.com, Inc.
H04W36/18H04W36/30
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,288,731
App. No.
14/930,750
Granted
Mar 15, 2016
Kind
B1
Abstract

Techniques are disclosed for evaluating an ongoing VoIP call over a combination of IP data communication network connections for purposes of determining when to hand it off to a circuit-switched cellular network connection. Multiple IP stream call quality values X1(i), X2(i), and Xb(i) are sampled over a time period (N) of (j) samples for an ongoing telephone call and stored. Instantaneous annoyance values a1(j), a2(j), and ab(j) for each of the stored call quality values for each of the IP streams within sampled time period (N) are calculated. Current accumulated annoyance values A1(i), A2(i), and Ab(i) are obtained by summing the instantaneous annoyance values a(j) for each IP network. The combined IP stream accumulated annoyance values Ab(i) is compared to a handoff threshold values Hb(i). A handoff of the telephone call a circuit-switched cellular communication link is initiated when the accumulated annoyance value Ab(i) is greater than the handoff threshold value Hb(i).

Claims (59)

1. At least one machine-readable non-transitory medium comprising a set of instructions that in response to being executed on a computing device cause the computing device to:

obtain IP stream call quality values X1(i) and X2(i) over a sampled time period (N) of (j) samples for an ongoing telephone call over (a) a first IP communication link carrying a first IP stream and (b) a second IP communication link carrying a second IP stream;

determine call quality values Xb(i) for a combined version of the first and second IP streams;

store the IP stream call quality values X1(i), X2(i), and Xb(i);

calculate a first instantaneous annoyance value a1(j), a2(j), and ab(j) for each of the stored call quality values X1(j), X2(j), and Xb(j) within sampled time period (N);

calculate a first current accumulated annoyance value for each IP stream A1(i), A2(i), and Ab(i) by summing the instantaneous annoyance values a1(j), a2(j), and ab(j);

initiate a handoff of the telephone call from the IP communication links to a circuit-switched cellular communication link if the accumulated annoyance value for the combined version of the IP streams, Ab(i), is greater than a handoff threshold value for the combined version of the IP streams, Hb(i);

otherwise

determine whether A2(i) is greater than a handoff threshold value for the second IP stream, H2(i);

determine whether the first IP stream over the first IP communication link is predicted to disconnect imminently; and if so

initiate a handoff of the telephone call from the combined IP stream communication links to a circuit-switched cellular communication link when the second accumulated annoyance value A2(i) is greater than a second handoff threshold value H2(i).

2. The at least one machine-readable non-transitory medium of claim 1 , the IP stream call quality values X1(i), X2(i) and Xb(i) comprise a combination of jitter, latency, dropped packets, link speed, and signal strength.

3. The at least one machine-readable non-transitory medium of claim 1 , comprising a first call quality threshold value (C 0 ) wherein call quality values for each IP stream X(j) less than or equal to C 0 indicate good call quality such that the first instantaneous annoyance a(j) for that IP stream is zero (0).

4. The at least one machine-readable non-transitory medium of claim 1 , comprising a set of instructions that in response to being executed on a computing device cause the computing device to:

create a first set of smoothed call quality values X1s(i) from the obtained set of first IP stream call quality values X1(i), the first set of smoothed call quality values X1s(i) determined by exponential smoothing that reduces the abruptness of call quality changes from sample index to sample index;

create a second set of smoothed call quality values X2s(i) from the obtained set of second IP stream call quality values X2(i), the first set of smoothed call quality values X2s(i) determined by exponential smoothing that reduces the abruptness of call quality changes from sample index to sample index; and

create a combined set of smoothed call quality values Xbs(i) from the obtained set of combined IP stream call quality values Xb(i), the combined set of smoothed call quality values Xbs(i) determined by exponential smoothing that reduces the abruptness of call quality changes from sample index to sample index.

5. The at least one machine-readable non-transitory medium of claim 4 , comprising a second call quality threshold value (C 1 ) wherein the smoothed call quality values Xs(i) greater than C 1 indicate impaired call quality enough to lower the handoff threshold value H(i).

6. The at least one machine-readable non-transitory medium of claim 1 , the first IP communication link carrying the first IP stream comprising an 802.11 WiFi communication link and the second IP communication link carrying the second IP stream comprising a cellular data IP communication link.

7. An apparatus, comprising:

a processor component;

communication link handoff (CLH) logic to be executed by the processor component to:

obtain IP stream call quality values X1(i) and X2(i) over a sampled time period (N) of (j) samples for an ongoing telephone call over (a) a first IP communication link carrying a first IP stream and (b) a second IP communication link carrying a second IP stream;

determine call quality values Xb(i) for a combined version of the first and second IP streams;

store the IP stream call quality values X1(i), X2(i), and Xb(i);

calculate a first instantaneous annoyance value a1(j), a2(j), and ab(j) for each of the stored call quality values X1(j), X2(j), and Xb(j) within sampled time period (N);

calculate a first current accumulated annoyance value for each IP stream A1(i), A2(i), and Ab(i) by summing the instantaneous annoyance values a1(j), a2(j), and ab(j);

initiate a handoff of the telephone call from the IP communication links to a circuit-switched cellular communication link if the accumulated annoyance value for the combined version of the IP streams, Ab(i), is greater than a handoff threshold value for the combined version of the IP streams, Hb(i);

otherwise

determine whether A2(i) is greater than a handoff threshold value for the second IP stream, H2(i);

determine whether the first IP stream over the first IP communication link is predicted to disconnect imminently; and if so

initiate a handoff of the telephone call from the combined IP stream communication links to a circuit-switched cellular communication link when the second accumulated annoyance value A2(i) is greater than a second handoff threshold value H2(i).

8. The apparatus of claim 7 , the IP stream call quality values X1(i), X2(i) and Xb(i) comprise a combination of jitter, latency, dropped packets, link speed, and signal strength.

9. The apparatus of claim 7 , comprising a first call quality threshold value (C 0 ) wherein call quality values for each IP stream X(j) less than or equal to C 0 indicate good call quality such that the first instantaneous annoyance a(j) for that IP stream is zero (0).

10. The apparatus of claim 7 , the communication link handoff (CLH) logic to be executed by the processor component to:

create a first set of smoothed call quality values X1s(i) from the obtained set of first IP stream call quality values X1(i), the first set of smoothed call quality values X1s(i) determined by exponential smoothing that reduces the abruptness of call quality changes from sample index to sample index;

create a second set of smoothed call quality values X2s(i) from the obtained set of second IP stream call quality values X2(i), the first set of smoothed call quality values X2s(i) determined by exponential smoothing that reduces the abruptness of call quality changes from sample index to sample index; and

create a combined set of smoothed call quality values Xbs(i) from the obtained set of combined IP stream call quality values Xb(i), the combined set of smoothed call quality values Xbs(i) determined by exponential smoothing that reduces the abruptness of call quality changes from sample index to sample index.

11. The apparatus of claim 10 , comprising a second call quality threshold value (C 1 ) wherein the smoothed call quality values Xs(i) greater than C 1 indicate impaired call quality enough to lower the handoff threshold value H(i).

12. The apparatus of claim 7 , the first IP communication link carrying the first IP stream comprising an 802.11 WiFi communication link and the second IP communication link carrying the second IP stream comprising a cellular data IP communication link.

13. A computer implemented method operative on a processor component, the method comprising:

obtaining IP stream call quality values X1(i) and X2(i) over a sampled time period (N) of (j) samples for an ongoing telephone call over (a) a first IP communication link carrying a first IP stream and (b) a second IP communication link carrying a second IP stream;

determining call quality values Xb(i) for a combined version of the first and second IP streams;

storing the IP stream call quality values X1(i), X2(i), and Xb(i);

calculating a first instantaneous annoyance value a1(j), a2(j), and ab(j) for each of the stored call quality values X1(j), X2(j), and Xb(j) within sampled time period (N);

calculating a first current accumulated annoyance value for each IP stream A1(i), A2(i), and Ab(i) by summing the instantaneous annoyance values a1(j), a2(j), and ab(j);

initiating a handoff of the telephone call from the IP communication links to a circuit-switched cellular communication link if the accumulated annoyance value for the combined version of the IP streams, Ab(i), is greater than a handoff threshold value for the combined version of the IP streams, Hb(i);

otherwise

determining whether A2(i) is greater than a handoff threshold value for the second IP stream, H2(i);

determining whether the first IP stream over the first IP communication link is predicted to disconnect imminently; and if so

initiating a handoff of the telephone call from the combined IP stream communication links to a circuit-switched cellular communication link when the second accumulated annoyance value A2(i) is greater than a second handoff threshold value H2(i).

14. The computer implemented method of claim 13 , the IP stream call quality values X1(i), X2(i) and Xb(i) comprising a combination of jitter, latency, dropped packets, link speed, and signal strength.

15. The computer implemented method of claim 13 , comprising a first call quality threshold value (C 0 ) wherein call quality values for each IP stream X(j) less than or equal to C 0 indicate good call quality such that the first instantaneous annoyance a(j) for that IP stream is zero (0).

16. The computer implemented method of claim 13 , comprising a set of instructions that in response to being executed on a computing device cause the computing device to:

create a first set of smoothed call quality values X1s(i) from the obtained set of first IP stream call quality values X1(i), the first set of smoothed call quality values X1s(i) determined by exponential smoothing that reduces the abruptness of call quality changes from sample index to sample index;

create a second set of smoothed call quality values X2s(i) from the obtained set of second IP stream call quality values X2(i), the first set of smoothed call quality values X2s(i) determined by exponential smoothing that reduces the abruptness of call quality changes from sample index to sample index; and

create a combined set of smoothed call quality values Xbs(i) from the obtained set of combined IP stream call quality values Xb(i), the combined set of smoothed call quality values Xbs(i) determined by exponential smoothing that reduces the abruptness of call quality changes from sample index to sample index.

17. The computer implemented method of claim 16 , comprising a second call quality threshold value (C 1 ) wherein the smoothed call quality values Xs(i) greater than C 1 indicate impaired call quality enough to lower the handoff threshold value H(i).

18. The computer implemented method of claim 13 , the first IP communication link carrying the first IP stream comprising an 802.11 WiFi communication link and the second IP communication link carrying the second IP stream comprising a cellular data IP communication link.

Assignments (5)
CHANGE OF NAME Recorded May 27, 2021
From: REPUBLIC WIRELESS, INC.
To: RELAY, INC.
Reel/Frame 056753/0703 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NO. 9,014,138 SHOULD BE PATENT NO. 9,014,038 PREVIOUSLY RECORDED ON REEL 041030 FRAME 0123. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 17, 2020
From: BANDWIDTH.COM, INC.
To: REPUBLIC WIRELESS, INC.
Reel/Frame 053583/0771 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2016
From: BANDWIDTH.COM, INC.
To: REPUBLIC WIRELESS, INC.
Reel/Frame 041030/0123 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: BANDWIDTH.COM, INC.
To: REPUBLIC WIRELESS, INC.
Reel/Frame 040821/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2015
From: WHITE, KYLE; STIMPSON, JESSE
To: BANDWIDTH.COM, INC.
Reel/Frame 036943/0710 →