IP Library Granted Patent US 11,171,875
Granted Patent B2
US 11,171,875 · App. 16/904,277 · Granted Nov 9, 2021

Systems and methods of communications network failure detection and remediation utilizing link probes

Inventors: Karl Osterlund (San Jose, CA); Tobin E. Farrand (Pacific Grove, CA); William M. Gillon (San Mateo, CA); David A. Bryan (Cedar Park, TX); Arvind Vasudev (Sunnyvale, CA); Douglas E. Hart (San Jose, CA)
Assignee: Ooma, Inc.
H04L47/74H04L12/2801H04L12/2863H04L12/2865H04L41/12H04L41/5019H04L43/0882H04L45/22H04L45/28H04L45/74H04L47/283H04L47/765H04L67/141H04L67/2838H04L69/14
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,171,875
App. No.
16/904,277
Granted
Nov 9, 2021
Kind
B2
Abstract

Systems and methods for communications network failure detection and remediation utilizing link probes are disclosed. Exemplary methods include: receiving first communications from a first client; authenticating the first user of the first client; creating a registration for the first client in a registration database; establishing a connection to the first client; detecting the connection to the first client has failed, the detecting comprising using a link probe to test connectivity of the first client and utilizing a voting scheme, based on the plurality of connectivity test results, to determine that the connection to the first client has failed; receiving second communications from the second client; authenticating the first user of the second client using the telephone number and the security credential; removing the registration for the first client from the registration database; creating a registration for the second client; and establishing a connection to the second client.

Claims (92)

1. A computer-implemented method for communications network failure detection and remediation comprising:

receiving first communications using a network from a first client, the first communications including a telephone number, location, and security credential, the telephone number, location, and security credential each being associated with a first user of the first client;

authenticating the first user of the first client using the telephone number and the security credential associated with the first user of the first client;

creating, responsive to the authenticating, a registration for the first client in a registration database, the registration including the location from the first communications from the first client, the registration being used to route second communications directed to the telephone number of the first client from a second client;

establishing, responsive to the authenticating of the first user of the first client, a connection to the first client;

detecting the connection to the first client has failed, the detecting comprising:

using a link probe to test connectivity of the first client, resulting in a plurality of connectivity test results of the first client; and

utilizing a voting scheme, based on the plurality of connectivity test results, to determine that the connection to the first client has failed;

receiving third communications using the network from the second client, the third communications including a telephone number, location, and security credential, the telephone number, location, and security credential each being associated with a first user of the second client;

authenticating the first user of the second client using the telephone number and the security credential associated with the first user of the second client;

removing the registration for the first client from the registration database;

creating a registration for the second client in the registration database; and

establishing, responsive to the authenticating of the first user of the second client, a connection to the second client within the network.

2. The computer-implemented method of claim 1 , wherein the first client has a highest priority on a prioritized list of network connections.

3. The computer-implemented method of claim 1 , wherein the second client has a second highest priority on a prioritized list of network connections.

4. The computer-implemented method of claim 1 , wherein the voting scheme comprises a n/m voting scheme, where n is a number of link probes that provide a failing test result, and m is a total number of link probes used for testing connectivity.

5. The computer-implemented method of claim 1 , wherein the voting scheme utilizes weighted detection to determine that the connection to the first client has failed.

6. The computer-implemented method of claim 1 , wherein the detecting further comprises:

measuring a time period during which the first client does not send communications traffic.

7. The computer-implemented method of claim 6 , wherein detecting further comprises:

determining the measured time period exceeds a limit, the limit being an amount of time after which it is unlikely a valid connection is idle, the limit being produced by a statistical model.

8. The computer-implemented method of claim 6 , wherein detecting further comprises:

determining the measured time period exceeds a limit, the limit being a pre-determined value received from a system administrator.

9. The computer-implemented method of claim 1 , the method further comprising at least one of:

notifying a user of the detected connection failure using at least one of email, text message, telephone call, and push notification;

notifying a monitoring center of the detected connection failure; and

notifying the first client.

10. The computer-implemented method of claim 1 , the method further comprising:

determining that a third client is available for connection;

receiving fourth communications using the network from the third client, the fourth communications including a telephone number, location, and security credential, the telephone number, location, and security credential each being associated with a first user of the third client;

authenticating the first user of the third client using the telephone number and the security credential associated with the first user of the third client;

removing the registration for the second client from the registration database;

creating a registration for the third client in the registration database; and

establishing, responsive to the authenticating of the first user of the third client, a connection to the third client within the network.

11. A system for communications network failure detection and remediation comprising:

a server, the server including:

a processor; and

a memory communicatively coupled to the processor, the memory storing instructions executable by the processor to perform a method comprising:

receiving first communications using a network from a first client, the first communications including a telephone number, location, and security credential, the telephone number, location, and security credential each being associated with a first user of the first client;

authenticating the first user of the first client using the telephone number and the security credential;

creating, responsive to the authenticating, a registration for the first client in a registration database, the registration including the telephone number, location, and security credential, the telephone number, location, and security credential each being associated with the first user of the first client, the registration being used to route second communications directed to the telephone number of the first client from a second client;

establishing, responsive to the authenticating of the first user of the first client, a connection to the first client;

detecting the connection to the first client has failed, the detecting comprising:

using a link probe to test connectivity of the first client, resulting in a plurality of connectivity test results of the first client; and

utilizing a voting scheme, based on the plurality of connectivity test results, to determine that the connection to the first client has failed;

receiving second communications using the network from the second client, the second communications including a telephone number, location, and security credential, the telephone number, location, and security credential each being associated with a first user of the second client;

authenticating the first user of the second client using the telephone number and the security credential;

removing the registration for the first client from the registration database;

creating a registration for the second client in the registration database;

establishing, responsive to the authenticating of the first user of the second client, a connection to the second client within the network;

after a measured period of time, determining that the first client is available for connection;

receiving third communications using the network from a third client, the third communications including a telephone number, location, and security credential, the telephone number, location, and security credential each being associated with a first user of the third client;

authenticating the first user of the third client using the telephone number and the security credential associated with the first user of the third client;

removing the registration for the second client from the registration database;

creating a registration for the third client in the registration database; and

establishing, responsive to the authenticating of the first user of the third client, a connection to the third client within the network.

12. The system of claim 11 , wherein the first client and the third client are the same.

13. The system of claim 11 , wherein the first client has a highest priority on a prioritized list of network connections.

14. The system of claim 11 , wherein the second client has a second highest priority on a prioritized list of network connections.

15. The system of claim 11 , wherein the third client has a third highest priority on a prioritized list of network connections.

16. The system of claim 11 , wherein the voting scheme comprises a n/m voting scheme, where n is a number of link probes that provide a failing test result, and m is a total number of link probes used for testing connectivity.

17. The system of claim 11 , wherein the voting scheme utilizes weights to determine that the connection to the first client has failed.

18. The system of claim 11 , wherein the detecting further comprises:

measuring a time period during which the first client does not send communications traffic.

19. The system of claim 18 , wherein detecting further comprises:

determining the measured time period exceeds a limit, the limit being an amount of time after which it is unlikely a valid connection is idle, the limit being produced by a statistical model.

20. The system of claim 18 , wherein detecting further comprises:

determining the measured time period exceeds a limit, the limit being a pre-determined value received from a system administrator.

21. The system of claim 11 , the method further comprising at least one of:

notifying a user of the detected connection failure using at least one of email, text message, telephone call, and push notification;

notifying a monitoring center of the detected connection failure; and

notifying the first client.

22. A system for communications network failure detection and remediation comprising:

means for receiving first communications using a network from a first client, the first communications including a telephone number, location, and security credential, the telephone number, location, and security credential each being associated with a first user of the first client;

means for authenticating the first user of the first client using the telephone number and the security credential;

means for creating, responsive to the authenticating, a registration for the first client in a registration database, the registration including a telephone number, location, and security credential, the telephone number, location, and security credential each being associated with the first user of the first client, the registration being used to route second communications directed to the telephone number of the first client from a second client;

means for establishing, responsive to the authenticating of the first user of the first client, a connection to the first client;

means for detecting the connection to the first client has failed, the detecting comprising:

means for using a link probe to test connectivity of the first client, resulting in a plurality of connectivity test results of the first client; and

means for utilizing a voting scheme, based on the plurality of connectivity test results, to determine that the connection to the first client has failed;

means for receiving third communications using the network from the second client, the third communications including a telephone number, location, and security credential, the telephone number, location, and security credential each being associated with a first user of the second client;

means for authenticating the first user of the second client using the telephone number and the security credential associated with the first user of the second client;

means for removing the registration for the first client from the registration database;

means for creating a registration for the second client in the registration database; and

means for establishing, responsive to the authenticating of the first user of the second client, a connection to the second client within the network.

23. The system of claim 22 , further comprising:

means for determining that a third client is available for connection;

means for receiving fourth communications using the network from the third client, the fourth communications including a telephone number, location, and security credential, the telephone number, location, and security credential each being associated with a first user of the third client;

means for authenticating the first user of the third client using the telephone number and the security credential associated with the first user of the third client;

means for removing the registration for the second client from the registration database;

means for creating a registration for the third client in the registration database; and

means for establishing, responsive to the authenticating of the first user of the third client, a connection to the third client within the network.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jun 9, 2023
From: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: OOMA, INC.
Reel/Frame 063910/0866 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 11, 2021
From: OOMA, INC.
To: KEYBANK NATIONAL ASSOCIATION
Reel/Frame 054959/0756 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: OSTERLUND, KARL; FARRAND, TOBIN E.; GILLON, WILLIAM M.; BRYAN, DAVID A.; VASUDEV, ARVIND; HART, DOUGLAS E.
To: OOMA, INC.
Reel/Frame 053735/0790 →
Continuity (5)
Continuation In Part 16011479 · Jun 18, 2018
Continuation In Part 15974308 · May 8, 2018
Continuation 15251977 · Aug 30, 2016
Continuation In Part 14708132 · May 8, 2015
Related Publication 20200322283A1 · Oct 8, 2020
Cited By (4)
US 12,190,702 US 12,212,450 US 12,250,339 US 12,634,789