IP Library › Granted Patent US 12,301,595
Granted Patent B2
US 12,301,595 · App. 18/670,541 · Granted May 13, 2025

Predictive DNS cache to improve security and performance

Inventors: Daiping Liu (Sunnyvale, CA); Jun Wang (Fremont, CA); Wei Xu (Cupertino, CA)
Assignee: Palo Alto Networks, Inc.
H04L63/1416G06N20/00H04L61/4511H04L61/58H04L63/0236H04L63/1425H04L63/20
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 12,301,595
App. No.
18/670,541
Granted
May 13, 2025
Kind
B2
Abstract

The present application discloses a method, system, and computer system for predicting responses to DNS queries. The method includes receiving a DNS query comprising a subdomain portion and a root domain portion from a client device, determining whether to obtain target address information corresponding to the DNS from a predictive cache, in response to determining to obtain the target address information from the predictive cache, obtaining the target address information from the predictive cache, and providing the target address information to the client device.

Claims (43)

1. A system, comprising:

one or more processors configured to:

receive an indication to obtain target address information for a domain;

generate a predicted target address information for the domain query based at least in part on querying a machine learning model; and

provide the predicted target address information as the target address information for the domain; and

a memory coupled to the processor and configured to provide the processor with instructions;

wherein: the one or more processors are further configured to: in response to receiving a DNS query, determine whether to obtain target information corresponding to the domain from a predictive cache; and

the determining whether to obtain the target address information corresponding to the DNS query from the predictive cache comprises:

determining a query frequency for a domain associated with the DNS query is queried; and comparing the query frequency to a frequency threshold;

in response to determining the query frequency satisfies the frequency threshold, query a corresponding authoritative DNS server for the target address information;

in response to determining the query frequency does not satisfy the frequency threshold, determine to obtain the target address information from the predictive cache.

2. The system of claim 1 , wherein: the one or more processors are further configured to: in response to receiving a DNS query, querying a predictive cache to obtain the predicted target information for the domain associated with the DNS query; and in response to determining that the predictive cache does not currently store the target address information, use the machine learning model to determine the predicted target address information; and the predicted target address information is provided to a client device.

3. The system of claim 1 , wherein the machine learning model determines the predicted target address information without sending a received DNS query to an authoritative server corresponding to the domain associated with the DNS query.

4. The system of claim 1 , wherein the using the machine learning model to determine a predicted target address information comprises: obtaining top-level domain information pertaining to the domain associated with a DNS query; and generating address information for one or more sub-level domains pertaining to the domain associated with the DNS query, wherein: address information for one or more sub-level domains is estimated based at least in part on the machine learning model.

5. The system of claim 4 , wherein the top-level domain information is obtained based at least in part on querying a database that stores registered users or assignees of an Internet resource.

6. The system of claim 1 , wherein the one or more processors are further configured to: in response to receiving a DNS query, query a predictive cache to obtain the predicted target information for the domain associated with the DNS query; and in response to determining that the predictive cache does not currently store the target address information, block the DNS query.

7. The system of claim 6 , wherein: the DNS query is blocked based at least in part on a configuration set by an administrative user.

8. The system of claim 1 , wherein the predicted target address information is stored in a predictive cache, and the predictive cache stores a set of target addresses that are estimated based at least in part on corresponding top-level domain information.

9. The system of claim 8 , wherein records comprised in the predictive cache are generated using a machine learning process.

10. The system of claim 1 , wherein in the event that the target address information provided in response to a DNS query is obtained from a predictive cache, the DNS query is not communicated to an authoritative server corresponding to a domain associated with the DNS query.

11. The system of claim 1 , wherein: the one or more processors are further configured to: in response to receiving a DNS query, determine whether to obtain target information corresponding to the DNS query from a predictive cache; and determining whether to obtain target address information corresponding to the DNS query from the predictive cache comprises: determining whether the DNS query corresponds to suspicious traffic; and in response to determining that the DNS query corresponds to suspicious traffic, determining that the target address information is to be obtained from the predictive cache.

12. The system of claim 11 , wherein the determining whether the DNS query corresponds to suspicious traffic comprises providing the DNS query to a suspicious traffic detector.

13. The system of claim 11 , wherein the DNS query is determined to correspond to suspicious traffic based at least in part on whether a corresponding DNS is trusted or untrusted.

14. The system of claim 1 , wherein the predictive cache is comprised in a DNS resolver.

15. The system of claim 1 , wherein the predicted target address information is provided as the target address information for the domain in response to a DNS query.

16. A method, comprising:

receiving an indication to obtain target address information for a domain;

generating a predicted target address information for domain based at least in part on querying a machine learning model; and

providing the predicted target address information as the target address information for the domain;

in response to receiving a DNS query, determining whether to obtain target information corresponding to the domain from a predictive cache; and

the determining whether to obtain the target address information corresponding to the DNS query from the predictive cache comprises:

determining a query frequency for a domain associated with the DNS query is queried; and comparing the query frequency to a frequency threshold;

in response to determining the query frequency satisfies the frequency threshold, query a corresponding authoritative DNS server for the target address information;

in response to determining the query frequency does not satisfy the frequency threshold, determine to obtain the target address information from the predictive cache.

17. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving an indication to obtain target address information for a domain;

generating a predicted target address information for domain based at least in part on querying a machine learning model; and

providing the predicted target address information as the target address information for the domain;

in response to receiving a DNS query, determining whether to obtain target information corresponding to the domain from a predictive cache; and

the determining whether to obtain the target address information corresponding to the DNS query from the predictive cache comprises:

determining a query frequency for a domain associated with the DNS query is queried; and comparing the query frequency to a frequency threshold;

in response to determining the query frequency satisfies the frequency threshold, query a corresponding authoritative DNS server for the target address information;

in response to determining the query frequency does not satisfy the frequency threshold, determine to obtain the target address information from the predictive cache.

Continuity (2)
Continuation 17511390 · Oct 26, 2021
Related Publication 20240314144A1 · Sep 19, 2024
References Cited (23)
US 7343397B2 · Kochanski · 2008 [cited by applicant]
US 11153330B1 · Antoniewicz · 2021 [cited by examiner]
US 20030187746A1 · Kochanski · 2003 [cited by applicant]
US 20060112176A1 · Liu · 2006 [cited by applicant]
US 20160065611A1 · Fakeri-Tabrizi · 2016 [cited by applicant]
US 20160294773A1 · Yu · 2016 [cited by applicant]
US 20160294859A1 · Choi · 2016 [cited by applicant]
US 20160359887A1 · Yadav · 2016 [cited by applicant]
US 20180278633A1 · Brutzkus · 2018 [cited by applicant]
US 20180351974A1 · Baughman · 2018 [cited by applicant]
US 20190164071A1 · Paugh · 2019 [cited by applicant]
US 20220294757A1 · Khasanova · 2022 [cited by examiner]
US 20220400099A1 · Feldpusch · 2022 [cited by applicant]
US 20220407870A1 · Vega · 2022 [cited by examiner]
US 20230291715A1 · Barnett · 2023 [cited by applicant]
CN 111885216 · 2020 [cited by applicant]
CN 111901319 · 2020 [cited by applicant]
CN 111935136 · 2020 [cited by applicant]
WO 2008112770 · 2008 [cited by applicant]
WO 2010027794 · 2010 [cited by applicant]
Cohen et al. Proactive Caching of DNS Records: Addressing a Performance Bottleneck. Published Jan. 8, 2001. Computer Science. Proceedings 2001 Symposium on Applications and the Internet. [cited by applicant]
DNS Prefetching, https://web.archive.org/web/20210123084953/https://www.chromium.org/developers/design-documents/dns-prefetching. Jan. 23, 2021. [cited by applicant]
Krishnan et al. DNS Prefetching and Its Privacy Implications: When Good Things Go Bad. LEET ' 2010. [cited by applicant]