Method and system for increasing speed of domain name system resolution within a computing device
Abstract
A system for resolving domain name system (DNS) queries, contains a communication device for resolving DNS queries, wherein the communication device further contains a memory and a processor that is configured by the memory, a cache storage for use by the communication device, and a network of authoritative domain name servers, where in a process of the communication device looking up a DNS request within the cache storage, if the communication device views an expired DNS entry within the cache storage, the communication device continues the process of looking up the DNS request in the cache storage while, in parallel, sending out a concurrent DNS request to an authoritative domain name server that the expired DNS entry belongs to.
Claims
exact text as granted — not AI-modified1 . A method by a client device for use with a memory storing content items where each of the content items is associated with a memory stored content query and a memory stored expiration time, and for use with a server operative to provide content items over the Internet in response to received queries, the method comprising:
executing an operating system; executing a software application that uses the operating system; receiving or intercepting by the operating system from the software application a query for a content item; checking if a content item that corresponds to the query is found in the memory and has not expired using the associated expiration time; in response to the found content item being found and being valid:
fetching the found content item from the memory, and providing, by the operating system, the fetched content to the software application and using the fetched content item by the software application; and
in response to the found content item not being found or not being valid:
sending the query to the server over the Internet and receiving the corresponding content item and the associated expiration time over the Internet from the server;
providing, by the operating system, the received content item to the software application and using the received content item by the software application; and
storing, in the memory, the received content item and the associated expiration time.
2 . The method according to claim 1 , wherein each of the content items comprises an Internet Protocol (IP) address.
3 . The method according to claim 2 , for resolving Domain Name System (DNS) queries, wherein each of the queries comprises a DNS query.
4 . The method according to claim 3 , wherein the Internet Protocol (IP) address results from a DNS resolution over the Internet.
5 . The method according to claim 4 , wherein the server is a DNS recursor server.
6 . The method according to claim 5 , wherein the server is an authoritative domain name server.
7 . The method according to claim 1 , wherein the memory is a local cache memory in the client device.
8 . The method according to claim 1 , wherein the client device comprises a network interface, and wherein the communication with the server is via the network interface.
9 . The method according to claim 8 , wherein the network interface comprises a wired network interface.
10 . The method according to claim 9 , wherein the wired network interface comprises Local Area Network (LAN) interface.
11 . The method according to claim 10 , wherein the wired network interface comprises a physical Ethernet connection.
12 . The method according to claim 8 , wherein the network interface comprises a wireless network interface.
13 . The method according to claim 12 , wherein the wireless network interface comprises a cellular Internet connection.
14 . The method according to claim 12 , wherein the wireless network interface comprises a WiFi connection.
15 . The method according to claim 1 , for use with an additional server operative to provide content items over the Internet in response to received queries, the method further comprising sending the query to the additional server over the Internet in parallel to sending the query to the server over the Internet.
16 . The method according to claim 15 , further comprising receiving the corresponding content item and the associated expiration time over the Internet from the servers.
17 . The method according to claim 16 , wherein the providing, using, and storing of the received content item comprise respectively providing, using and storing of the first received content item from the servers.
18 . The method according to claim 1 , wherein in response to the found content item being found and not being valid, fetching the found content item from the memory, and providing, by the operating system, the fetched content to the software application and using the fetched content item by the software application.
19 . The method according to claim 18 , wherein in parallel to fetching and providing further comprising sending the query to the server over the Internet and receiving the corresponding content item and the associated expiration time over the Internet from the server.
20 . The method according to claim 18 , wherein in response to the received content item being different from the fetched content, providing, by the operating system, the received content to the software application and using the received content item by the software application.
21 . The method according to claim 1 , wherein the client device comprises a network interface, further preceded by:
querying, via the network interface, for detecting all relevant servers connected thereto; storing identifiers of the detected servers; selecting the server from the detected servers; and using the selected server.
22 . A non-transitory computer readable medium having computer executable instructions stored thereon, wherein the instructions include the method according to claim 1 .Join the waitlist — get patent alerts
Track US2019081923A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.