IP Library Granted Patent US 11,190,636
Granted Patent B2
US 11,190,636 · App. 16/848,333 · Granted Nov 30, 2021

Telephone number selection

Inventors: Derek Ting (Waterloo, CA); Michael Kovacevic (Waterloo, CA); Jonathan Dennis Halk (Waterloo, CA)
Assignee: TEXTNOW, INC.
H04M3/42263H04L61/2061G06F16/90344H04L61/605H04M3/42306H04M2242/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 11,190,636
App. No.
16/848,333
Granted
Nov 30, 2021
Kind
B2
Abstract

An example method of assigning a telephone number to a user account in a communications system is provided. The method includes obtaining a mnemonic seed and obtaining a subset of telephone numbers filtered from a global telephone number pool based on the mnemonic seed. The alphanumeric representation of each telephone number in the subset is within a threshold Hamming distance of the mnemonic seed. The method further includes receiving an indication of a selected telephone number from the subset and assigning the selected telephone number to the user account.

Claims (63)

1. A communications system comprising:

a mobile network to provide communications for a plurality of mobile communications devices over a wide-area IP network, wherein each of the plurality of mobile communications devices is associated with a respective mobile directory numbers are associated with the plurality of mobile communications devices;

a wireless local-area network (WLAN) to provide communications for a plurality of communications devices over the wide-area IP network;

a voice over internet protocol (VoIP) service coupled to the mobile network and the WLAN via the wide-area IP network, wherein the plurality of communications devices are associated with VoIP telephone numbers;

a public switched telephone network (PSTN) coupled to the VoIP service; and

a communications routing system coupled to the plurality of communications devices and coupled to the VoIP service;

a server coupled to the communications routing system;

a processor coupled to the server: the processor configured to:

obtain a first subset of telephone numbers from a global telephone number pool;

compute respective similarity scores between each telephone number and a seed;

obtain a second subset of telephone numbers from the first subset, the second subset comprising the telephone numbers in the first subset having the highest respective similarity scores to the seed;

reserve the second subset of telephone numbers in the global telephone number pool and track a predetermined period of time;

determine if at least one VOIP telephone number is selected prior to an elapse of predetermined period of time; and

wherein if the VOIP telephone number is selected prior to the elapse of predetermined period of time, the processor assigns the selected VOIP telephone number to a user account and releases other telephone numbers in the second subset back to the global telephone number pool; and

if the VOIP telephone number is not selected prior to the elapse of predetermined period of time, the processor releases all the telephone numbers in the second subset back to the global telephone number pool upon expiration of the predetermined period of time.

2. The system of claim 1 , wherein the similarity score for a telephone number and the seed is computed based on a Hamming distance between an alphanumeric representation of the telephone number and the seed.

3. The system of claim 1 , wherein the second subset comprises a predefined number of telephone numbers.

4. The system of claim 1 , wherein the seed comprises one of: a functional mnemonic phrase, a selection of characters from a functional mnemonic phrase, a homophonic combination of a functional mnemonic phrase, and a predefined numerical pattern.

5. The system of claim 1 , wherein the seed comprises one or more of: a user's first name, a user's last name, a user's account username, a user's date of birth, a user's ZIP code, and a user's latitude and longitude pair.

6. The system of claim 1 , wherein the first subset is selected from the global telephone number pool based on location information for a mobile communications device associated with a user, wherein the telephone numbers have an area code for a geographic region determined based on the location information.

7. The system of claim 1 , wherein the communications routing system is further configured to:

obtain further seeds for the user account; and

compute further similarity scores between each telephone number and each of the further seeds; and

wherein the second subset comprises the telephone numbers in the first subset having the highest respective similarity scores to at least one of the seed and the further seeds.

8. The system of claim 7 , wherein each telephone number is displayed for selection by a user with the associated at least one of the seed and the further seeds.

9. A method of assigning a telephone number to a user account in a communications system, the method comprising:

obtaining a seed for the telephone number;

obtaining a first subset of telephone numbers selected from a global telephone number pool;

sorting the first subset based on respective similarity scores between each telephone number in the first subset and the seed;

selecting a second subset of telephone numbers filtered from the first subset, the second subset comprising the telephone numbers in the first subset having the highest respective similarity scores to the seed;

reserving, in the global telephone number pool, the telephone numbers in the second subset; and

responsive to reserving the telephone numbers in the second subset, tracking a predetermined period of time;

receiving an indication of a selected telephone number from the second subset;

if the indication of the selected telephone number is prior to the predetermined period of elapsing:

assigning the selected telephone number to the user account; and

releasing other telephone numbers in the second subset back to the global telephone number pool; and

if the selected telephone number is not received prior to the predetermined period of time elapsing:

expiring the predetermined period of time; and

releasing all the telephone numbers in the second subset back to the global telephone number pool.

10. The method of claim 9 , wherein the similarity score for a telephone number and the seed is computed based on a Hamming distance between an alphanumeric representation of the telephone number and the seed.

11. The method of claim 9 , wherein the second subset comprises a predefined number of telephone numbers.

12. The method of claim 9 , wherein the seed comprises one of: a functional mnemonic phrase, a selection of characters from a functional mnemonic phrase, a homophonic combination of a functional mnemonic phrase, and a predefined numerical pattern.

13. The method of claim 9 , wherein the seed comprises one or more of: a user's first name, a user's last name, a user's account username, a user's date of birth, a user's ZIP code, and a user's latitude and longitude pair.

14. The method of claim 9 , wherein the first subset is selected from the global telephone number pool based on location information for a mobile communications device associated with a user, wherein the telephone numbers have an area code for a geographic region determined based on the location information.

15. The method of claim 9 , further comprising:

obtaining further seeds for the user account; and

computing further similarity scores between each telephone number and each of the further seeds; and

wherein the second subset comprises the telephone numbers in the first subset having the highest respective similarity scores to at least one of the seed and the further seeds.

16. The method of claim 9 , further comprising displaying the subset of telephone numbers at a communications device with the respective mnemonic seeds used to generate the telephone numbers.

17. A server for assigning a telephone number to a user account in a communications system, the server comprising:

a memory;

a communications interface;

a processor interconnected with the memory and the communications interface, the processor configured to:

obtain a seed for the telephone number;

obtain a first subset of telephone numbers selected from a global telephone number pool;

sort the first subset based on respective similarity scores between each telephone number in the first subset and the seed;

select a second subset of telephone numbers filtered from the first subset, the second subset comprising the telephone numbers in the first subset having the highest respective similarity scores to the seed;

reserve the telephone numbers in the second subset in the global telephone number pool and track a predetermined period of time;

receive an indication of a selected telephone number from the second subset;

wherein if the indication of the selected telephone number is received prior to an elapse of predetermined period of time;

the processor is configured to assign the selected telephone number to the user account and release other telephone numbers in the second subset back to the global telephone number pool;

wherein if the indication of selected telephone number is not received prior to the elapse of predetermined period of time;

the processor is configured to release all the telephone numbers in the second subset back to the global telephone number pool upon expiration of the predetermined period of time.

Assignments (2)
SECURITY INTEREST Recorded Aug 29, 2025
From: TEXTNOW, INC.
To: JPMORGAN CHASE BANK, N.A., TORONTO BRANCH
Reel/Frame 072749/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: HALK, JONATHAN DENNIS; KOVACEVIC, MICHAEL; TING, DEREK
To: TEXTNOW, INC.
Reel/Frame 052635/0931 →
Continuity (4)
Continuation 16549288 · Aug 23, 2019
Continuation 16366744 · Mar 27, 2019
Provisional Application 62649921 · Mar 29, 2018
Related Publication 20200244798A1 · Jul 30, 2020