Systems, devices, and methods for generating a domain name using a user in interface
11621940 · 2023-04-04
Assignee
Inventors
Cpc classification
H04L61/302
ELECTRICITY
G06F3/048
PHYSICS
International classification
G06F15/16
PHYSICS
G06F3/048
PHYSICS
Abstract
Embodiments relate to systems, devices, computer-readable media, and computer-implemented methods for generating domain name suggestions by receiving an input string via a user interface, determining an alternative of the input string, determining affixes of the input string, determining top level domains associated with the input string, determining registration availability of domain names including one-step string sequences from the input string based on the alternative input string, the affixes of the input string, and the top level domains associated with the input string, and generating a display for the user interface, where the display includes: the input string, the alternative of the input string, the affixes of the input string, and the top level domains associated with the input string; and indications of the registration availability of the domains names including the one-step string sequences.
Claims
1. A system comprising: a processor; and a computer-readable medium, wherein the computer-readable medium contains instructions that, when executed by the processor, cause the processor to perform operations comprising: receiving, via a user interface, an input string; tokenizing the input string into at least a first keyword and a second keyword; determining an alternative to the first keyword; determining an affix for at least the first keyword or the second keyword; generating a plurality of domain name suggestions based on the second keyword and one or both of the alternative to the first keyword and the affix; determining a registration availability status for at least one of the plurality of domain name suggestions; and providing, for display, the alternative to the first keyword, the second keyword, the affix, and the registration availability status for at least one of the plurality of domain name suggestions.
2. The system of claim 1, wherein determining the affix comprises at least one or more of: determining a prefix for the first keyword, determining a suffix for the first keyword, determining a prefix for the second keyword, or determining a suffix for the second keyword.
3. The system of claim 1, wherein the plurality of domain name suggestions comprises a plurality of one-step string sequences from the input string, wherein a one-step string sequence comprises a one keyword or affix difference from the input string, wherein providing the alternative to the first keyword, the second keyword, the affix, and the registration availability status for the plurality of domain name suggestions comprises: providing, separately from each other, the alternative to the first keyword, the second keyword, and the affix.
4. The system of claim 3, wherein the registration availability status of the plurality of domain name suggestions is indicated for at least two or more one-step string sequences.
5. The system of claim 1, wherein the operations further comprise: determining a top level domain associated with the input string.
6. The system of claim 1, wherein providing the plurality of domain name suggestions comprises providing a separate list comprising the affix before the first keyword, after the second keyword, or both before the first keyword and after the second keyword.
7. The system of claim 1, wherein the operations further comprise: receiving an initial top-level domain, wherein determining the registration availability status comprises determining registration availability status of at least one domain name suggestion with the initial top-level domain.
8. The system of claim 1, wherein the registration availability status comprises a typographical, graphical, or visual representation.
9. A method comprising: receiving, via a user interface, an input string; tokenizing the input string into at least a first keyword and a second keyword; determining an alternative to the first keyword; determining an affix for at least the first keyword or the second keyword; generating a plurality of domain name suggestions based on the second keyword and one or both of the alternative to the first keyword and the affix; determining a registration availability status for at least one of the plurality of domain name suggestions; and providing, for display, the alternative to the first keyword, the second keyword, the affix, and the registration availability status for at least one of the plurality of domain name suggestions.
10. The method of claim 9, wherein determining the affix comprises at least one or more of: determining a prefix for the first keyword, determining a suffix for the first keyword, determining a prefix for the second keyword, or determining a suffix for the second keyword.
11. The method of claim 9, wherein the plurality of domain name suggestions comprises a plurality of one-step string sequences from the input string, wherein a one-step string sequence comprises a one keyword or affix difference from the input string, wherein providing the alternative to the first keyword, the second keyword, the affix, and the registration availability status for the plurality of domain name suggestions comprises: providing, separately from each other, the alternative to the first keyword, the second keyword, and the affix.
12. The method of claim 11, wherein the registration availability status of the plurality of domain name suggestions is indicated for at least two or more one-step string sequences.
13. The method of claim 9, further comprising determining a top level domain associated with the input string.
14. The method of claim 9, wherein providing the plurality of domain name suggestions comprises providing a separate list comprising the affix before the first keyword, after the second keyword, or both before the first keyword and after the second keyword.
15. The method of claim 9, further comprising receiving an initial top-level domain, wherein determining the registration availability status comprises determining registration availability status of at least one domain name suggestion with the initial top-level domain.
16. The method of claim 9, wherein the registration availability status comprises a typographical, graphical, or visual representation.
17. A non-transitory computer readable storage medium comprising instructions for causing a processor to: receiving, via a user interface, an input string; tokenizing the input string into at least a first keyword and a second keyword; determining an alternative to the first keyword; determining an affix for at least the first keyword or the second keyword; generating a plurality of domain name suggestions based on the second keyword and one or both of the alternative to the first keyword and the affix; determining a registration availability status for at least one of the plurality of domain name suggestions; and providing, for display, the alternative to the first keyword, the second keyword, the affix, and the registration availability status for at least one of the plurality of domain name suggestions.
18. The non-transitory computer readable storage medium of claim 17, wherein determining the affix comprises at least one or more of: determining a prefix for the first keyword, determining a suffix for the first keyword, determining a prefix for the second keyword, or determining a suffix for the second keyword.
19. The non-transitory computer readable storage medium of claim 17, wherein the plurality of domain name suggestions comprises a plurality of one-step string sequences from the input string, wherein a one-step string sequence comprises a one keyword or affix difference from the input string, wherein providing the alternative to the first keyword, the second keyword, the affix, and the registration availability status for the plurality of domain name suggestions comprises: providing, separately from each other, the alternative to the first keyword, the second keyword, and the affix.
20. The non-transitory computer readable storage medium of claim 19, wherein the registration availability status of the plurality of domain name suggestions is indicated for at least two or more one-step string sequences.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the present teachings and together with the description, serve to explain the principles of the present teachings.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
DETAILED DESCRIPTION
(30) The following detailed description refers to the accompanying drawings. Wherever convenient, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several examples of embodiments and features of the present disclosure are described herein, modifications, adaptations, and other implementations are possible, without departing from the spirit and scope of the present disclosure. Accordingly, the following detailed description does not limit the present disclosure. Instead, the proper scope of the disclosure is defined by the appended claims.
(31) The present disclosure is directed to generating and displaying domain names that are available to be registered in a graphical user interface, which may be thought of as “alternatives” to a domain name that is desired by a user, but is unavailable to be registered. In various implementations, domain name alternatives can be generated by receiving an input string of one or more characters from a user (e.g., the desired domain name), tokenizing the input string into one or more keywords, generating relevant affixes for the one or more keywords, generating relevant keyword alternatives for the one or more keywords, generating TLD alternatives for the one or more keywords, determining one-step string sequences based on generated affixes and alternatives, and determining the availability of domain names corresponding to the one-step string sequences. Using a graphical user interface, as described and shown in the examples herein, indications of available and unavailable domain names corresponding to the one-step string sequences can be displayed to a user. Additionally, the graphical user interface can be dynamically updated (e.g., in real time) based on changes to the input string, selection of a one-step string sequence, changes to a domain name generation setting, and the like.
(32) As used herein, tokenizing can refer to a process of segmenting raw string input into one or more keywords. For example, raw string input can include multiple words as a single string with no spaces, and the process of tokenizing the raw string input can include determining the multiple words within the string and separating the words into multiple keywords.
(33) As further used herein, a one-step string sequence can represent a string sequence that is one change different than an input string. For example, the input string can be from a user (e.g., a domain name desired by the user), and a one-step string sequence can represent one change to the input string, such as a change by adding an affix to a first keyword in the input string or the last keyword in the input string, a change by replacing a keyword with an alternative, or a change by replacing the TLD in the input string. In various implementations, a graphical user interface may display the input string and a one-step string sequence(s), such that if the user selects a displayed representation of a one-step string sequence, the selected one-step string sequence can become the new input string, e.g., as shown or displayed by the graphical user interface.
(34) This disclosure provides a specific, structured graphical user interface that is paired with the described functionality, which is directly related to the graphical user interface's structure, that is addressed to and resolves several technical problems associated with domain name alternatives, such as problems related to displaying limited domain name alternatives, not displaying alternatives in real time, displaying domain name alternatives in a non-user friendly and/or static interface, and the like, which are problems in the prior state of the art. Additionally, this disclosure provides examples of graphical user interfaces that can be used with the larger screen areas of displays for desktop or laptop devices and examples of graphical user interfaces that can be used with the smaller screen areas of mobile device (e.g., smart phone or tablet) displays. The example graphical user interfaces additionally address and resolve problems related to how to efficiently and effectively display domain name alternatives using the available space of a desktop device display or a mobile device display.
(35)
(36)
(37) The dynamically generated display can include the current string “ME.COM.” Additionally, the domain name “ME.COM” may not be available to be registered, which is indicated to the user in an easily recognizable manner, for example, by the lighter color of the text “ME.COM” in the embodiment shown in
(38) The dynamically generated display can also include suggested affixes (e.g., zero or more prefixes 230 and/or suffixes 240) to the keyword, alternatives to the keyword 250, and alternatives to the TLD 260.
(39) As shown in the example in
(40) As also shown in the example in
(41) As further shown in the example in
(42) As additionally shown in the example in
(43) As also shown in the example in
(44)
(45) The dynamically generated display can include the current string “MEET.COM.” Additionally, the domain name “MEET.COM” may not be available to be registered, as is indicated in this example by the light color and dashed outlines of the letters displayed in “MEET.COM.”
(46) The dynamically generated display shown can also include zero or more suggested affixes (e.g., prefixes 320 and suffixes 330) to the keyword, zero or more alternatives to the keyword 340, and zero or more alternatives to the TLD 350, similar to the example shown in
(47)
(48) The dynamically generated display can include the current string “MEETADVISORS.COM.” Additionally, the domain name “MEETADVISORS.COM” may not be available to be registered.
(49) As in the example shown in
(50) The dynamically generated display can also include prefixes to the first keyword 420, suffixes to the second keyword 430, alternatives to either or both keywords 440, and alternatives to the TLD 450. In other implementations, the system may also generate and display possible suggested affixes (not shown) between the keywords “MEET” and “ADVISORS.”
(51) As shown in the example in
(52) If the user clicks on the bolded word “FOLLOW,” as shown in
(53) In other embodiments, the alternatives to the keywords 440 can be displayed within a list that allows a user to spin through the list by using a vertically swiping motion (e.g., with the mouse or with a finger on a touchscreen). In such embodiments, when the user vertically swipes the list, a three-dimensional effect can be used to spin the alternative keywords in the display, allowing the user to browse through the possibilities before making a selection.
(54)
(55) The dynamically generated display can include the current string “FOLLOWADVISORS.COM.” Additionally, the domain name “FOLLOWADVISORS.COM” may be available to be registered, as shown or indicated by the bolded letters.
(56) In the example shown in
(57) The dynamically generated display can also include prefixes to the first keyword 520, suffixes to the second keyword 530, alternatives to both keywords 540, and alternatives to the TLD 550.
(58) As shown in the examples in
(59) In this example, while the dynamically generated display shown in
(60)
(61) The dynamically generated display can include a “choose a language” selection box 620 that allows the user to select a language of domain name generation (e.g. English, Spanish, French, etc.). If the user selects a different language from a currently selected language, the dynamically generated display can update to include affixes and alternatives that correspond to the newly selected language.
(62) The dynamically generated display can include a “similarity of spinning suggestions” slider selector 630 that allows the user to select a value corresponding to the similarity of suggestions in the affixes and alternatives. For example, the higher this value is, the closer the suggestions will be to the initial input. This can correspond to the cosine distance in the continuous vector space generated by the projection layer of a neural network language model trained on domain name data.
(63) The dynamically generated display can include an “include suggestions leading to registered domains” checkbox 640 that allows the user to select to display only available domain names or to display available and unavailable domain names.
(64) The dynamically generated display can include a “suggest affixes” checkbox 650 that allows the user to select whether to display affixes in the dynamically generated display.
(65) The dynamically generated display can include a “suggest word alternatives” checkbox 660 that allows the user to select whether to display alternative keywords in the dynamically generated display.
(66) The dynamically generated display can include a “suggest TLDs” checkbox 670 that allows the user to select whether to display alternative TLDs in the dynamically generated display.
(67) The dynamically generated display can include a “segment input” checkbox 680 that allows the user to select whether to separate the input string into keywords or to use the entire input string as one keyword.
(68) As noted previously, the user may click on the settings button 560 anytime it is displayed (e.g., in
(69)
(70) The process can begin in 700 when the computing device receives a TLD selection, for example from the user. In some embodiments, the TLD selection can be based on a default TLD displayed in the graphical user interface presented to the user (e.g., .COM, as shown in
(71) In 710, the computing device can receive a current string. In some embodiments, the input string can include string input by the user via a user interface. The input string can be one or more characters, and can represent the input string being processed in 720-780. In various embodiments, 720-780, described below, can be performed for each input string that is received from the user. In some embodiments, an input string can be received from the user each time the user enters a character. In other words, if the user enters the input string “MEET” one character at a time, 720-780 can be performed four times. 720-780 can first be performed for the input string “M,” then for the input string “ME,” then for the input string “MEE,” and then for the input string “MEET.” In other embodiments, an input string can be received from the user each time the user enters new characters and then enters an end-of-string indicator, trigger signal, or character, for example, by pressing the enter key or the space key on a keyboard, clicking a search button using a mouse icon or a touchscreen, and the like. In various embodiments, an input string can also be received from the user when the user pastes a string into the user interface.
(72) In other embodiments and/or in subsequent iterations of 700-780, the input string can be a one-step string sequence selected by the user that then becomes the new input string. In further embodiments and/or in subsequent iterations, the input string can be the result of deleting one or more keywords or characters from the previous input string or from dragging and dropping (e.g., pasting) keywords into different positions within the input string.
(73) In 720, the computing device can tokenize the input string into one or more keywords (for example, as shown in
(74) In further embodiments, the input string can be tokenized, at least partially, by the user using an indicator, such as the space key, the mouse cursor, the touchscreen, and the like.
(75) In still further embodiments, the computing device can tokenize the input string based on recognized personal names.
(76) In 730, the computing device can determine alternatives to one or more of the keyword(s) (for instance, as shown in
(77) In 740, the computing device can determine affixes for one or more keywords in the input string. In some embodiments, one or more prefixes can be determined for the first keyword in the input string and one or more suffixes can be determined for the last keyword (or the same (first) keyword) in the input string, for example as shown in
(78) In 750, the computing device can determine one or more TLDs related to the current string. For example, the computing device can determine TLDs by accessing a predetermined list of known TLDs and identifying TLDs that are similar to synonyms and other related words for keywords in the input string using natural language toolkits known in the art and/or machine learning algorithms trained using domain name registration data.
(79) In 760, the computing device can determine one or more one-step string sequences using the determined alternative keywords, affixes, and TLDs. For example, each affix can be individually added to the input string and the input string plus the affix can represent a single one-step string sequence,
(80) In 770, the computing device can determine the availability of one or more domain names corresponding to each of the one-step string sequences by accessing a database of domain name registration information. For example, the computing device can be or have access to a device that maintains domain name registry information. Accordingly, the computing device can generate a query associated with each one-step string sequence to determine if the one-step string sequence is associated with an available domain name.
(81) In 780, the computing device can generate a display for the user interface that includes the input string, tokenized keywords, the TLD, the alternative keywords, the alternative TLDS, the affixes, and/or indications of domain name availability corresponding to the current input and/or to one-step string sequences based on the alternative keywords, the alternative TLDs, and the affixes. In various embodiments, some or all of these elements may be fully or partially hidden from view in the display. For example, the display may allow the user to hide one or more of these elements (e.g., the user can hide alternative keywords for one or more of the keywords by pressing a hide suggestions button). As a further example, one or more of these elements may be initially hidden from view to conserve screen space (e.g., for the smaller display of a mobile device), and the user can select to unhide one or more elements, resulting in their inclusion in the display. As a further example, one or more of these elements may be partially hidden from view to conserve screen space (e.g., only a partial list of alternatives, affixes, etc. may be listed), and the user can scroll through the element to reveal other parts of the element.
(82) In some implementations, using the generated display, the user can select a one-step string sequence by, for example, selecting a suggested affix, selected an alternative keyword, selecting a new TLD, deleting a token, and the like. In other implementations, the user can change the input string by, for example, deleting a keyword, rearranging the positions of the keyword (e.g., using drag and drop functionality, as described below), entering a new input string, and the like.
(83) When the user selects a one-step string sequence and/or changes the current string, the process can proceed back to 710 and a subsequent iteration of 710-780 can be performed.
(84) In various instances, the input string may correspond to an available domain name, and the user can end the process by supplying an indication via the user interface to register the available domain name. Subsequently, the user interface can be navigated to a webpage that allows the user to register the domain name (e.g., a webpage associated with a domain name registry or a domain name registrar), and the domain name can be registered at a domain name registry.
(85)
(86)
(87)
(88) The dynamically generated display can include the input string “DOGWALKER.” Accordingly, “DOGWALKER.COM” may be the current string. Additionally, the domain name “DOGWALKER.COM” may not be available to be registered, which is indicated by the “not available” indicator 1020 in the embodiment shown in
(89) In the embodiment shown in
(90) The dynamically generated display can also include suggested affixes (e.g., prefixes 1030 and suffixes 1040) for the keyword(s), alternatives to the tokens that make up the keyword 1050, and alternatives to the TLD 1060.
(91) As shown in the example in
(92) As also shown in the example in
(93) As further shown in the example in
(94) As also shown in the example in
(95) As additionally shown in the example in
(96) As also depicted in
(97) As further depicted in
(98)
(99) The dynamically generated display can include the input string “HAPPYDOGWALKER.” Accordingly, “HAPPYDOGWALKER.COM” may be the current string. Additionally, the domain name “HAPPYDOGWALKER.COM” may not be available to be registered, which is indicated by the “not available” indicator 1130 in the embodiment shown in
(100) In the embodiment shown in
(101) The dynamically generated display can also include suggested affixes (e.g., prefixes 1140 and suffixes 1150) to the keyword(s), alternatives to the keyword(s) 1160, and alternatives to the TLD 1170.
(102) As described above in other embodiments, some of the one-step string sequences using the prefixes 1140, affixes 1150, and alternatives 1160 may be available to register as a domain name, as indicated in this example by the bolder/darker color of the text, and some of the one-step string sequences may not be available, as indicated in this example by their light color and the dashed outline of their letters. For example, the suggested alternative “LUCKY” to the first keyword, “HAPPY” is not available: “LUCKYDOGWALKER.COM.”
(103) As shown in
(104) As further shown in
(105)
(106) In the embodiment shown in
(107)
(108) In the embodiment shown in
(109) Additionally, based on moving the “DOG” keyword box to the new location, the one-step string sequences may be updated from the one-step string sequences shown in
(110) In some embodiments, the availability of the current string and the one-step string sequences may be updated simply by moving the keyword box to the new location, while, in other embodiments, the availabilities may not be updated until the user drops the keyword box into place by releasing the mouse button after moving the keyword box to the new location.
(111)
(112)
(113)
(114)
(115) The dynamically generated display can include the input string “DOGWALKER.” Accordingly, “DOGWALKER.COM” may be the current string. Additionally, the domain name “DOGWALKER.COM” may not be available to be registered, which is indicated by the “not available” indicator 1620 in the embodiment shown in
(116) In the embodiment shown in
(117) The dynamically generated display can also include an add prefixes button 1630 and an add suffixes button 1640, which, when pressed (e.g., using a touchscreen) can result in a dynamically generated display of suggested affixes (e.g., prefixes and suffixes) to the keyword. In some embodiments, the add prefixes button 1630 or the add suffixes button 1640 may not be included in the dynamically generated display, and, instead, the dynamically generated display can include a list, which may be partial, of suggested prefixes and/or suggested suffixes (e.g., as shown in
(118) The dynamically generated display can also include other options buttons 1650 next to each of the keyword boxes (e.g., the boxes for “DOG” and “WALKER” in
(119) The dynamically generated display can also include a button 1660 to allow the display of alternatives to the TLD.
(120)
(121) The dynamically generated display can include the input string “HAPPYDOGWALKER.” Accordingly, “HAPPYDOGWALKER.COM” may be the current string. Additionally, the domain name “HAPPYDOGWALKER.COM” may not be available to be registered, which is indicated by the “not available” indicator 1730 in the embodiment shown in
(122) In the embodiment shown in
(123) As shown in
(124)
(125) In the embodiment shown in
(126)
(127) In the embodiment shown in
(128) In some embodiments, the availability of the current string may be updated simply by moving the keyword box to the new location, while, in other embodiments, the availability may not be updated until the user drops the keyword box into place by removing his/her finger from the touchscreen after moving the keyword box to the new location.
(129)
(130)
(131) The dynamically generated display can include the input string “DOGWALKER.” Accordingly, “DOGWALKER.COM” may be the current string. Additionally, the domain name “DOGWALKER.COM” may not be available to be registered, which is indicated by the “not available” indicator 2030 in the embodiment shown in
(132) In the embodiment shown in
(133) As shown in
(134)
(135) The dynamically generated display can include a list, which may be partial, of suggested prefixes 2130. In this example, some of the one-step string sequences using the prefixes are available for registration as domain names, such as “MADDOGWALKER.COM” and “ALPHADOGWALKER.COM.” This is indicated by the bolder/darker color of the text in the example of
(136) As further shown in
(137)
(138) The dynamically generated display can include a second partial list of suggested prefixes 2220 that is different from the partial list of suggested prefixes 2130 shown in
(139) As further shown in
(140)
(141) The dynamically generated display can include the current string “ALPHADOGWALKER.COM.” Accordingly, “ALPHADOGWALKER” now represents the input string. Additionally, the domain name “ALPHADOGWALKER.COM” may be available to be registered, which is indicated by the “register now” indicator 2320 in the embodiment shown in
(142)
(143)
(144) The dynamically generated display can include the input string “DOGWALKER.” Accordingly, “DOGWALKER.COM” may be the current string. Additionally, the domain name “DOGWALKER.COM” may not be available to be registered, which is indicated by the “not available” indicator 2430 in the embodiment shown in
(145) In the embodiment shown in
(146) As shown in
(147)
(148) The dynamically generated display can include a list, which may be partial, of suggested alternatives 2520 to the “DOG” keyword token. In this example, the one-step string sequence using the alternative “PUPPY” is available for registration as a domain name, “PUPPYWALKER.COM.” This is indicated by the bolder/darker color of the text in the example of
(149) As further shown in
(150)
(151) The dynamically generated display can include a second partial list of suggested alternatives 2620 that is different from the partial list of suggested alternatives 2520 shown in
(152) As further shown in
(153)
(154) The dynamically generated display can include the current string “PUPPYWALKER.COM.” Accordingly, “PUPPYWALKER” now represents the input string. Additionally, the domain name “PUPPYWALKER.COM” may be available to be registered, which is indicated by the “register now” indicator 2720 in the embodiment shown in
(155)
(156) Computer 2801 may include processor 2810, memory 2820, storage 2830, and input/output (I/O) devices (not pictured). The computer 2801 may be implemented in various ways and can be configured to perform any of the embodiments described above. In some embodiments, computer 2801 can be a computer of an end-user such as, for example, a desktop computer, a laptop, a mobile device (e.g., a smartphone or a tablet device), etc. In other embodiments, computer 2801 can be a networked computing device such as, for example, a database server (e.g., a domain name registry and/or name server), a web server, a mainframe computer, etc. Computer 2801 may be standalone or may be part of a subsystem, which may, in turn, be part of a larger system.
(157) The processor 2810 may include one or more known processing devices, such as a microprocessor from the Intel Core™ family manufactured by Intel™, the Phenom™ family manufactured by AMD™, or the like. Memory 2820 may include one or more storage devices configured to store information and/or instructions used by processor 2810 to perform certain functions and operations related to the disclosed embodiments. Storage 2830 may include a volatile or non-volatile, magnetic, semiconductor, tape, optical, removable, non-removable, or other type of computer-readable medium used as a storage device, including various types of non-transitory computer-readable media. In some embodiments, storage 2830 can include, for example, domain name records.
(158) In an embodiment, memory 2820 may include one or more programs or subprograms including instructions that may be loaded from storage 2830 or elsewhere that, when executed by computer 2801, perform various procedures, operations, or processes consistent with disclosed embodiments. For example, memory 2820 may include a domain name generation program 2825 for providing a graphical user interface, receiving user input, tokenizing strings into keywords, determining alternative keywords, determining affixes, determining alternative TLDs, determining one-step string sequences, determining availability of domain names associated with current strings and/or one-step string sequences, generating dynamic displays corresponding to generated domain names, etc. Memory 2820 may also include other programs that perform other functions, operations, and processes, such as programs that provide communication support, Internet access, etc. The domain name generation program 2825 may be embodied as a single program, or alternatively, may include multiple sub-programs that, when executed, operate together to perform the function of the domain name generation program 2825 according to disclosed embodiments. In some embodiments, domain name generation program 2825 can perform all or part of the process of
(159) Computer 2801 may communicate over a link with network 2840. For example, the link may be a direct communication link, a local area network (LAN), a wide area network (WAN), or other suitable connection. Network 2840 may include the Internet, as well as other networks, which may be connected to various systems and devices.
(160) Computer 2801 may include one or more input/output (I/O) devices (not pictured) that allow data to be received and/or transmitted by computer 2801. I/O devices may also include one or more digital and/or analog communication I/O devices that allow computer 2801 to communicate with other machines and devices. I/O devices may also include input devices such as a keyboard or a mouse, and may include output devices such as a display or a printer. Computer 2801 may receive data from external machines and devices and output data to external machines and devices via I/O devices. The configuration and number of input and/or output devices incorporated in I/O devices may vary as appropriate for various embodiments.
(161) Examples of uses of the system 2800 can be described by way of example with reference to the embodiments described above
(162) The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations can be made without departing from its spirit and scope, as will be apparent to those skilled in the art. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those enumerated herein, will be apparent to those skilled in the art from the foregoing descriptions. Such modifications and variations are intended to fall within the scope of the appended claims. The present disclosure is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled. It is also to be understood that the terminology used herein is for the purpose of describing examples of implementations, and is not intended to be limiting.
(163) With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
(164) It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.” In addition, where features or aspects of the disclosure are described in terms of Markush groups, those skilled in the art will recognize that the disclosure is also thereby described in terms of any individual member or subgroup of members of the Markush group.
(165) While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.