Per-request control of DNS behavior
First Claim
1. A method for resolving domain name system (DNS) queries, the method comprising:
- configuring a second computer system to service DNS queries using a plurality of options for resolving domain names into IP addresses;
receiving a DNS query from a first computer system at the second computer system, the DNS query including control information provided by the first computer system that enables the second computer system to identify whether to use one or more of the plurality of options when resolving the DNS query;
parsing a domain name and the control information from the DNS query with the second computer system;
determining an IP address with the second computer system using the one or more options for resolving DNS queries based on the domain name and the control information; and
generating a DNS response for the DNS query with the second computer system using the determined IP address;
wherein receiving the DNS query from the first computer system comprises receiving the DNS query with the control information encoding one or more settings provided by a subscriber that enable or disable the one or more options, the one or more settings being controllable by the subscriber to provide per-query control for said determining the IP address when resolving the DNS query.
5 Assignments
0 Petitions
Accused Products
Abstract
In various embodiments, a user or subscriber of a domain name system (DNS) service that provides various DNS resolution options or features, such as misspelling redirection, parental filters, domain blocking, or phishing protection through the DNS process, can influence how requests for domain name (DNS) information are handled on a per-request basis. The user or subscriber may configure the DNS client software of their personal computer or configure their broadband router to provide control information to a DNS server with DNS resolution options that enables the DNS server to resolve DNS queries with the DNS resolution options on a per-request basis. As a result, the user can mitigate exposure to pop-ups, pop-unders, banner ads, fraudulent offers, malware, viruses, or the like, from websites using the domain name system.
-
Citations
19 Claims
-
1. A method for resolving domain name system (DNS) queries, the method comprising:
-
configuring a second computer system to service DNS queries using a plurality of options for resolving domain names into IP addresses; receiving a DNS query from a first computer system at the second computer system, the DNS query including control information provided by the first computer system that enables the second computer system to identify whether to use one or more of the plurality of options when resolving the DNS query; parsing a domain name and the control information from the DNS query with the second computer system; determining an IP address with the second computer system using the one or more options for resolving DNS queries based on the domain name and the control information; and generating a DNS response for the DNS query with the second computer system using the determined IP address; wherein receiving the DNS query from the first computer system comprises receiving the DNS query with the control information encoding one or more settings provided by a subscriber that enable or disable the one or more options, the one or more settings being controllable by the subscriber to provide per-query control for said determining the IP address when resolving the DNS query. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for resolving domain name system (DNS) queries, the system comprising:
-
a communications interface configured to receive DNS queries via a communications network; one or more storage devices maintaining a plurality of options for resolving DNS queries; and a processor configured to; receive subscriber information from a first subscriber of domain name resolution services, the subscriber information including one or more user-controllable settings that enable or disable one or more of the plurality of options; store the subscriber information in the one or more storage devices; receive a DNS query via the communications interface from a network device after storing the subscriber information, the DNS query including control information provided by the network device that encodes an index specifying a location of the subscriber information for the first subscriber; parse a domain name and the control information from the DNS query; determine an IP address based on the domain name and the one or more user-controllable settings for the one or more options; and generate a DNS response for the DNS query using the determined IP address. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A network device comprising:
-
a communications interface; one or more storage devices; and a processor configured to receive from a first subscriber one or more user-controllable settings having a correspondence to one or more options at a domain name server for resolving DNS queries, the processor further configured to store the one or more user-controllable settings in the one or more storage devices and thereafter, to receive a request from an application to resolve a domain name into an Internet Protocol (IP) address, to generate a DNS query based on the request, to modify the DNS query to encode the one or more user-controllable settings from the first subscriber, to send the modified DNS query to the domain name server, to receive a DNS response for the modified DNS query, and to forward an IP address associated with the DNS response to the application. - View Dependent Claims (13)
-
-
14. A tangible computer-readable storage memory configured to store a computer-executable program for resolving domain name system (DNS) queries, the computer-readable storage memory comprising:
-
code for receiving subscriber information from a first subscriber and a second subscriber of recursive domain name resolution services, the subscriber information including a first set of one or more user-controllable settings provided by the first subscriber for resolving domain names into IP addresses using one or more options at a second computer system and a second set of one or more user-controllable settings provided by the second subscriber for resolving domain names into IP addresses using the one or more options at the second computer system; code for storing the subscriber information; code for receiving a first DNS query from a first computer system, the first DNS query including first control information that enables the second computer system to identify a location of the first set of one or more user-controllable settings, the first computer system being associated with a first IP address; code for parsing a first domain name and the first control information from the first DNS query; code for determining a second IP address using at least one of the one or more options for resolving DNS queries based on the first domain name and the first set of one or more user-controllable settings; code for generating a first DNS response for the first DNS query using the second IP address; code for receiving a second DNS query from the first computer system, the second DNS query including second control information that enables the second computer system to identify a location of the second set of one or more user-controllable settings; code for parsing the first domain name and the second control information from the second DNS query; code for determining a third IP address using at least one of the one or more options for resolving DNS queries based on the first domain name and the second set of one or more user-controllable settings; and code for generating a second DNS response for the second DNS query using the third IP address. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification