IP Library Granted Patent US 10,467,536
Granted Patent B1
US 10,467,536 · App. 14/568,447 · Granted Nov 5, 2019

Domain name generation and ranking

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 10,467,536
App. No.
14/568,447
Granted
Nov 5, 2019
Kind
B1
Abstract

Systems and methods of the present invention provide for one or more server computers communicatively coupled to a network and configured to: aggregate a plurality of knowledge base data comprising a plurality of tokens; identify a plurality of available domain names based on a difference between the plurality of tokens within the knowledge base data; eliminate from the plurality of available domain names, at least one grammatically incorrect domain name; rank the plurality of available domain names according to a machine learning algorithm; and transmit the plurality of available domain names to a client computer communicatively coupled to the network.

Claims (112)

1. A method comprising the steps of:

aggregating, by a server hardware computing device communicatively coupled to a network and comprising at least one processor executing specific computer-executable instructions within a memory, within a database coupled to the network, a plurality of knowledge base data records, the aggregation further comprising the steps of:

identifying, within an Internet web page content, a domain name search session, or a domain name zone file, a plurality of tokens;

executing a database query to store, within a token co-occurrence data record within the database, an incremented counter total for each co-occurrence of at least two of the plurality of tokens; and

identifying, within the specific computer-executable instructions, or within the database, a defined co-occurrence percentage;

receiving, by the server hardware computing device, from a user interface control within a graphical user interface (GUI) displayed on a client hardware computing device coupled to the network, a request, comprising a search character string, for an available domain name;

identifying, by the server hardware computing device, a plurality of available domain names based on a difference between the plurality of tokens within the plurality of knowledge base data;

eliminating, by the server hardware computing device, from the plurality of available domain names, at least one grammatically incorrect domain name, the elimination comprising the steps of:

identifying, within a domain name candidate in the plurality of available domain names:

a first token common to the domain name candidate and the search character string; and

a second token within the co-occurrence data record including a co-occurrence with the first token;

selecting, from the knowledge base data records, the co-occurrence data record including the first token and the second token;

executing a calculation dividing the incremented total counter in the co-occurrence data record by a total number of co-occurrences in the knowledge base data records, the calculation resulting in a resulting quotient;

responsive to a determination that the resulting quotient is less than the defined co-occurrence percentage, removing the domain name candidate from the plurality of available domain names;

ranking, by the server hardware computing device, the plurality of available domain names according to a machine learning algorithm; and

transmitting, by the server hardware computing device, the plurality of available domain names to a client computer communicatively coupled to the network.

2. The method of claim 1 , wherein aggregating the plurality of knowledge base data records further comprises the steps of:

scraping, by the server hardware computing device, a plurality of content from at least one Internet crawl;

utilizing, by the server hardware computing device, a log of at least one domain name search session; or

downloading and parsing, by the server hardware computing device, at least one domain name zone file.

3. The method of claim 2 , wherein the plurality of knowledge base data records are organized into a data dictionary comprising:

at least one tokenization dictionary;

at least one domain name search transformation dictionary;

at least one language model; and

a plurality of training data for the machine learning algorithm.

4. The method of claim 3 , wherein utilizing the log of the at least one domain name search session comprises the steps of:

detecting, by the server hardware computing device, a domain name search;

identifying, by the server hardware computing device, at least one action performed by the user executing the domain name search; and

storing, by the server hardware computing device, at least one data record of the at least one action performed by the user.

5. The method of claim 4 , wherein the at least one domain name search session comprises:

a domain name search string; and

a modified domain name search string.

6. The method of claim 4 , wherein the at least one data record comprises:

a session id;

a user input received during the at least one action performed by the user;

a time stamp indicating when the user input was received;

a sequential order for the user input relative to at least one other user input; or

a result of the user input.

7. The method of claim 6 , wherein utilizing the log of the at least one domain name search session comprises the steps of:

retrieving, by the server hardware computing device, a plurality of data records sharing the session id;

tokenizing, by the server hardware computing device, the user input for each of the plurality of data records into at least one token;

ordering, by the server hardware computing device, each of the data records according to the time stamp or the sequential order;

identifying, by the server hardware computing device, a token common to the user input in each of the plurality of data records;

determining, by the server hardware computing device, a position of at least one additional token relative to the common token in each of the user input;

identifying, by the server hardware computing device, at least one domain name transformation between each of the user input; and

generating, by the server hardware computing device, a matrix of frequency occurrences for each of the domain name transformations.

8. The method of claim 7 , wherein the at least one domain name transformation comprises:

a replacement of the at least one additional token;

a translation of the at least one additional token;

a drop of the at least one additional token;

a swap of the at least one additional token;

an addition of the at least one additional token;

a geographic addition of the at least one additional token

a date addition of the at least one additional token; or

a co-occurrence of the at least one additional token.

9. The method of claim 7 , wherein identifying the at least one domain name transformation comprises the steps of updating, by the server hardware computing device:

a transformation type data record comprising a running total of at least one domain name transformation type;

a transformation order data record comprising a running total of an order of each of the at least one domain name transformations; and

a transformation frequency data record comprising a running total of transformations between the token and the at least one additional token.

10. The method of claim 2 , wherein downloading and parsing the at least one domain name zone file comprises the steps of:

downloading, by the server hardware computing device, the at least one zone file;

identifying, by the server hardware computing device, within the at least one zone file, at least one domain name; and

tokenizing, by the server hardware computing device, the at least one domain name.

11. The method of claim 1 , wherein identifying the plurality of available domain names comprises:

receiving, by the server hardware computing device, a query, comprising a domain name search string, to determine the plurality of available domain names;

tokenizing, by the server hardware computing device, the domain name search string; and

generating, by the server hardware computing device, the plurality of available domain names comprising the steps of:

identifying, by the server hardware computing device, the plurality of available domain names comprising a highest frequency, of a domain name transformation type; and

identifying, by the server hardware computing device, the plurality of available domain names comprising a highest frequency of common tokens between the same domain name search string and the plurality of available domain names.

12. The method of claim 1 , wherein eliminating the at least one grammatically incorrect domain name comprises:

tokenizing, by the server hardware computing device, a domain name search string used to determine the plurality of available domain names;

identifying, by the server hardware computing device, within the domain name search string, the plurality of tokens;

comparing, by the server hardware computing device, the plurality of tokens against a co-occurrence library comprising the plurality of tokens; and

eliminating, by the server hardware computing device, the plurality of available domain names comprising the plurality of tokens with a co-occurrence frequency below the defined co-occurrence percentage.

13. The method of claim 1 , wherein the machine learning algorithm comprises a set of features based on a domain name query and at least one domain name suggestion.

14. The method of claim 13 , wherein the set of features comprises:

an edit distance between the domain name query and the at least one domain name suggestion;

a term overlap, using a Jaccard distance, between the domain name query and the at least one domain name suggestion;

a rewrite strength comprising a corresponding frequency of a transformation;

a category strength;

a score of a language model; or

a length of the at least one domain name suggestion.

15. A system comprising a server hardware computing device communicatively coupled to a network and comprising at least one processor executing specific computer-executable instructions within a memory, that, when executed, cause the system to:

aggregate within a database coupled to the network, a plurality of knowledge base data records, the aggregation further comprising the specific computer-executable instruction causing the system to:

identify, within an Internet web page content, a domain name search session, or a domain name zone file, a plurality of tokens;

execute a database query to store, within a token co-occurrence data record within the database, an incremented counter total for each co-occurrence of at least two of the plurality of tokens; and

identify, within the specific computer-executable instructions, or within the database, a defined co-occurrence percentage;

identify a plurality of available domain names based on a difference between the plurality of tokens within the plurality of knowledge base data;

eliminate, from the plurality of available domain names, at least one grammatically incorrect domain name, the elimination further comprising the specific computer-executable instructions causing the system to:

identify, within a domain name candidate in the plurality of available domain names:

a first token common to the domain name candidate and the search character string;

a second token within the co-occurrence data record including a co-occurrence with the first token;

select, from the knowledge base data records, the co-occurrence data record including the first token and the second token;

execute a calculation dividing the incremented total counter in the co-occurrence data record by a total number of co-occurrences in the knowledge base data records, the calculation resulting in a resulting quotient;

responsive to a determination that the resulting quotient is less than the defined co-occurrence percentage, removing the domain name candidate from the plurality of available domain names;

rank the plurality of available domain names according to a machine learning algorithm; and

transmit the plurality of available domain names to a client computer communicatively coupled to the network.

16. The system of claim 15 , wherein the specific computer-executable instructions further cause the system to:

scrape a plurality of content from at least one Internet crawl;

utilize a log of at least one domain name search session; or

download and parse at least one domain name zone file.

17. The system of claim 16 , wherein the plurality of knowledge base data records are organized into a data dictionary comprising:

at least one tokenization dictionary;

at least one domain name search transformation dictionary;

at least one language model; and

a plurality of training data for the machine learning algorithm.

18. The system of claim 15 , wherein the specific computer-executable instructions further cause the system to:

tokenize a domain name search string used to determine the plurality of available domain names;

identify, within the domain name search string, a plurality of tokens;

compare the plurality of tokens against a co-occurrence library comprising the plurality of tokens; and

eliminate the plurality of available domain names comprising the plurality of tokens with a co-occurrence frequency below the defined co-occurrence percentage.

19. The system of claim 15 , wherein the machine learning algorithm comprises a set of features based on a domain name query and at least one domain name suggestion.

Assignments (3)
SECURITY AGREEMENT Recorded Feb 17, 2023
From: GO DADDY OPERATING COMPANY, LLC; GD FINANCE CO, LLC; GODADDY MEDIA TEMPLE INC.; GODADDY.COM, LLC; LANTIRN INCORPORATED; POYNT, LLC
To: ROYAL BANK OF CANADA
Reel/Frame 062782/0489 →
SECURITY AGREEMENT Recorded Oct 12, 2020
From: GO DADDY OPERATING COMPANY, LLC; GD FINANCE CO., INC.
To: BARCLAYS BANK PLC
Reel/Frame 054045/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2014
From: JHEETA, MONINDER; KAMDAR, TAPAN; LAI, WEI-CHENG; ZHAO, YANG
To: GO DADDY OPERATING COMPANY, LLC
Reel/Frame 034579/0253 →