US-12621259-B2 - Intelligent domain name service (DNS) pre-cache
Abstract
A gateway router is provisioned with network access by a service provider computing system associated with a service provider. The service provider computing system generates a domain name service (DNS) profile for a user of the gateway router based on customer profile data associated with the user. The DNS profile includes a predicted fully qualified domain name (FQDN). During an initialization process, the gateway router receives the DNS profile from the service provider computing system and stores the DNS profile in a DNS cache. Subsequently, the gateway router obtains an internet protocol (IP) address corresponding to the predicted FQDN in the DNS profile and stores the IP address in the DNS cache. Subsequently, the gateway router implements a local area network (LAN) and establishes connection to one or more client computing devices.
Inventors
- Leonard Gerald Rosenbeck
- Stephen Christopher Opferman
Assignees
- CHARTER COMMUNICATIONS OPERATING, LLC
Dates
- Publication Date
- 20260505
- Application Date
- 20240725
Claims (20)
- 1 . A method, comprising: during an initialization process of a gateway router, receiving, by the gateway router from a service provider computing system, a domain name system (DNS) profile associated with a user of the gateway router, the DNS profile comprising a predicted fully qualified domain name (FQDN), the predicted FQDN being determined based on customer profile data associated with the user; querying, by the gateway router, a DNS service to obtain an internet protocol (IP) address corresponding to the predicted FQDN; and storing, by the gateway router, the IP address corresponding to the predicted FQDN in a DNS cache of the gateway router.
- 2 . The method of claim 1 , wherein the DNS profile is received prior to the gateway router establishing a connection to any client computing device.
- 3 . The method of claim 1 , wherein receiving the DNS profile associated with the user comprises: during the initialization process, obtaining, by the gateway router from the service provider computing system, an IP address for the gateway router; connecting, by the gateway router, to a service provider network associated with the service provider computing system; and obtaining, by the gateway router, the DNS profile associated with the user.
- 4 . The method of claim 1 , wherein querying the DNS service to obtain the IP address corresponding to the predicted FQDN comprises: in response to receiving the DNS profile associated with the user, providing, by the gateway router to a DNS server of the service provider computing system, a DNS lookup request for the predicted FQDN; and subsequent to providing the DNS lookup request, receiving, by the gateway router from the DNS server, the IP address corresponding to the predicted FQDN.
- 5 . The method of claim 1 , further comprising: subsequent to storing the IP address corresponding to the predicted FQDN in the DNS cache, implementing, by the gateway router, a local area network (LAN); and facilitating, by the gateway router, a connection between a client computing device on the LAN and a wide area network (WAN), wherein the client computing device is associated with the user.
- 6 . The method of claim 5 , further comprising: subsequent to implementing the LAN, receiving, by the gateway router from the client computing device, a resource request associated with a web-browsing transaction initiated by the user, the resource request comprising a uniform resource locator (URL) address; determining, by the gateway router, the URL address corresponds to the IP address corresponding to the predicted FQDN that is stored in the DNS cache of the gateway router; and providing, by the gateway router to the client computing device, an IP address corresponding to the URL address to resolve the web-browsing transaction without querying the DNS service.
- 7 . The method of claim 5 , further comprising: subsequent to implementing the LAN, receiving, by the gateway router from the client computing device, a resource request associated with a web-browsing transaction initiated by the user, the resource request comprising a uniform resource locator (URL) address; determining, by the gateway router, the URL address does not correspond to the IP address corresponding to the predicted FQDN that is stored in the DNS cache of the gateway router; querying, by the gateway router, the DNS service to obtain an IP address corresponding to the URL address; and providing, by the gateway router to the client computing device, the IP address corresponding to the URL address to resolve the web-browsing transaction.
- 8 . The method of claim 7 , further comprising: storing, by the gateway router, a FQDN associated with the URL address in the DNS cache; and subsequent to storing the FQDN associated with the URL address in the DNS cache, providing, by the gateway router, feedback data to the service provider computing system, the feedback data comprising the FQDN associated with the URL address.
- 9 . The method of claim 1 , wherein the DNS profile associated with the user comprises a plurality of predicted FQDNs.
- 10 . A gateway router, comprising: a memory; and one or more processors operable to: during an initialization process, receive, from a service provider computing system, a domain name system (DNS) profile associated with a user of the gateway router, the DNS profile comprising a predicted fully qualified domain name (FQDN), the predicted FQDN being determined based on customer profile data associated with the user; query a DNS service to obtain an internet protocol (IP) address corresponding to the predicted FQDN; and store the IP address corresponding to the predicted FQDN in the memory.
- 11 . The gateway router of claim 10 , wherein the gateway router is operable to provide layer 3 connectivity to a client computing device operating on a local area network (LAN) implemented by the gateway router.
- 12 . The gateway router of claim 11 , wherein the one or more processors are further operable to: subsequent to storing the IP address corresponding to the predicted FQDN in the memory, receive, from the client computing device, a resource request associated with a web-browsing transaction initiated by the user, the resource request comprising a uniform resource locator (URL) address; determine the URL address corresponds to the IP address corresponding to the predicted FQDN that is stored in the memory; and provide, to the client computing device, an IP address corresponding to the URL address to resolve the web-browsing transaction without querying the DNS service.
- 13 . The gateway router of claim 11 , wherein the one or more processors are further operable to: subsequent to storing the IP address corresponding to the predicted FQDN in the memory, receive, from the client computing device, a resource request associated with a web-browsing transaction initiated by the user, the resource request comprising a uniform resource locator (URL) address; determine the URL address does not correspond to the IP address corresponding to the predicted FQDN that is stored in the memory; query the DNS service to obtain an IP address corresponding to the URL address; and provide, to the client computing device, the IP address corresponding to the URL address to resolve the web-browsing transaction.
- 14 . The gateway router of claim 10 , wherein the DNS profile associated with the user comprises a plurality of predicted FQDNs.
- 15 . A method, comprising: provisioning, by a service provider computing system comprising one or more computing devices, a gateway router associated with a user; determining, by the service provider computing system, a domain name system (DNS) profile for the user associated with the gateway router based on customer profile data associated with the user, the DNS profile comprising a predicted fully qualified domain name (FQDN); and providing, by the service provider computing system, the DNS profile to the gateway router.
- 16 . The method of claim 15 , wherein determining the DNS profile for the user comprises: providing, by the service provider computing system, the customer profile data associated with the user of the gateway router to a machine-learned model of the service provider computing system; determining, by the service provider computing system, a plurality of predicted FQDNs for the user based on an output of the machine-learned model; and determining, by the service provider computing system, the DNS profile for the user, the DNS profile comprising the plurality of predicted FQDNs.
- 17 . The method of claim 15 , wherein providing the DNS profile to the gateway router comprises: receiving, by the service provider computing system from the gateway router, a DNS profile request; and in response to receiving the DNS profile request, providing, by the service provider computing system to the gateway router, the DNS profile for the user.
- 18 . The method of claim 15 , wherein the user is a first user and the gateway router is a first gateway router, and wherein determining the DNS profile for the user comprises: determining, by the service provider computing system, the DNS profile for the first user of the first gateway router; subsequent to determining the DNS profile for the first user, receiving, by the service provider computing system from a second gateway router, feedback data comprising a plurality of FQDNs corresponding to a plurality of web-browsing transactions initiated by a second user associated with the second gateway router; determining, by the service provider computing system, customer profile data associated with the second user matches the customer profile data associated with the first user; and determining, by the service provider computing system, an updated DNS profile for the first user based on the customer profile data associated with the first user and the feedback data.
- 19 . The method of claim 15 , further comprising: subsequent to providing the DNS profile to the gateway router, receiving, by the service provider computing system from the gateway router, a DNS lookup request corresponding to a web-browsing transaction initiated by the user; in response to receiving the DNS lookup request from the gateway router, providing, by the service provider computing system to the gateway router, an IP address corresponding to the DNS lookup request; subsequent to providing the IP address corresponding to the DNS lookup request, receiving, by the service provider computing system from the gateway router, feedback data comprising a FQDN associated with the DNS lookup request; and training, by the service provider computing system, a machine-learned model of the service provider computing system with the feedback data, the machine-learned model operable to generate DNS profiles for a plurality of users of a plurality of gateway routers associated with the service provider computing system.
- 20 . The method of claim 15 , wherein the customer profile data comprises one or more of: demographic data associated with the user; or geographic data associated with a premises serviced by the gateway router.
Description
BACKGROUND Internet Protocol (IP)-based networks are implemented with a wide variety of network devices, such as network infrastructure devices (e.g., network routers, network switches, etc.), user devices (e.g., smartphones, laptops, etc.), customer premises equipment (e.g., gateway routers, cable modems, etc.), and/or the like. Many of the largest wireless networks are implemented by network service providers, who use such networks to provision users with network services. A subscriber (e.g., user, customer, etc.) may obtain network access from the service provider. To provide the network access service, the service provider may install and/or provision a customer premises equipment (CPE) (e.g., a gateway router, a cable modem, etc.) at the customer's premises (e.g., home, business, etc.) that implements a local area network (LAN). In some examples, client devices (e.g., computers, mobile devices, smart appliances, etc.) may connect to the LAN, thereby obtaining internet services provided by the service provider. SUMMARY The examples disclosed herein pre-resolve domain name system (DNS) queries and store the corresponding internet protocol (IP) addresses in a DNS cache of a gateway router during an initialization process of the gateway router. In one implementation, a method is provided. The method includes, during an initialization process of a gateway router, receiving, by the gateway router from a service provider computing system, a domain name system (DNS) profile associated with a user of the gateway router, the DNS profile comprising a predicted fully qualified domain name (FQDN), the predicted FQDN being determined based on customer profile data associated with the user. The method further includes querying, by the gateway router, a DNS service to obtain an internet protocol (IP) address corresponding to the predicted FQDN. The method further includes storing, by the gateway router, the IP address corresponding to the predicted FQDN in a DNS cache of the gateway router. In another implementation, a gateway router is provided. The gateway router includes a memory and one or more processors. The one or more processors are operable to, during an initialization process, receive, from a service provider computing system, a domain name system (DNS) profile associated with a user of the gateway router, the DNS profile comprising a predicted fully qualified domain name (FQDN), the predicted FQDN being determined based on customer profile data associated with the user. The one or more processors are further operable to query a DNS service to obtain an internet protocol (IP) address corresponding to the predicted FQDN. The one or more processors are further operable to store the IP address corresponding to the predicted FQDN in the memory. In another implementation, a method is provided. The method includes provisioning, by a service provider computing system comprising one or more computing devices, a gateway router associated with a user. The method further includes determining, by the service provider computing system, a domain name system (DNS) profile for the user associated with the gateway router based on customer profile data associated with the user, the DNS profile comprising a predicted fully qualified domain name (FQDN). The method further includes providing, by the service provider computing system, the DNS profile to the gateway router. Individuals will appreciate the scope of the disclosure and realize additional aspects thereof after reading the following detailed description of the examples in association with the accompanying drawing figures. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure. FIG. 1 is a block diagram suitable for dynamically upgrading a modem according to one implementation; FIG. 2 is a data flow diagram for training the machine-learned model of FIG. 1 according to one implementation; FIGS. 3A-3D are sequence diagrams illustrating messages communicated between and actions taken by certain components illustrated in FIG. 1 to resolve web-browsing transactions according to one implementation; FIG. 4 is a flowchart of a method for pre-configuring a memory of a gateway router according to one implementation; FIG. 5 is a flowchart of a method for providing a domain name system (DNS) profile to a user of a gateway router according to one implementation; and FIG. 6 is a block diagram of a gateway router suitable for implementing examples disclosed herein. DETAILED DESCRIPTION The examples set forth below represent the information to enable individuals to practice the examples and illustrate the best mode of practicing the examples. Upon reading the following description in light of the accompanying drawing figures, individuals will understand the concepts of the disclosure and w