Enhanced caching of domain name system (DNS) and reverse DNS queries for traffic management for signaling optimization in a mobile network
Methods, systems, and non-transitory computer readable media for enhanced domain name system (DNS) caching are disclosed. According to one aspect, a method for enhanced DNS caching includes, at a mobile device for operating in a wireless network, providing, within the mobile device, a local DNS cache that stores DNS-related queries and their respective responses received from a DNS server for responding to DNS-related queries issued from applications hosted within the mobile device, where each response received from the DNS server is associated with a first time-to-live (TTL) value for that response, and assigning to each query/response pair in the local DNS cache a second TTL value that is larger than that response's first TTL value, where the second TTL value is used in place of the first TTL value.
1. A method for enhanced domain name system (DNS) caching, the method comprising:
at a server communicatively coupled between a wireless network and a DNS server:
storing a DNS record in a local cache, wherein the DNS record comprises a hostname, a first IP address, and a first time-to-live (TTL) value;
transmitting a query, associated with the DNS record, to the DNS server;
receiving a response, associated with the query, comprising a second IP address and a second TTL value;
determining the second IP address is different than the first IP address;
determining a third TTL value based on a status of a first mobile device;
updating the DNS record with the second IP address; and
transmitting the second IP address and the third TTL value to the first mobile device on the wireless network, wherein the first mobile device updates a corresponding DNS record with the second IP address and the third TTL value that is greater than the second TTL value.
2. The method of claim 1 , wherein the server is configured to reduce DNS related wireless transmissions of the first mobile device.
3. The method of claim 1 , further comprising transmitting the third TTL value to the first mobile device.
4. The method of claim 1 wherein the third TTL value is determined based on at least one of:
a traffic type or priority;
an application type or priority; and
a user profile, class, or location.
5. The method of claim 1 , further comprising determining to transmit the query based on the first TTL value.
6. The method of claim 5 , further comprising determining the second TTL value is different that the first TTL value and updating the DNS record with the second TTL value.
7. The method of claim 1 , further comprising transmitting the updated DNS record to a second mobile device in response to a DNS query from the second mobile device.
8. The method of claim 1 , wherein the query and the response are at least one of a hypertext transfer protocol (HTTP) transaction, a hypertext transfer protocol secure (HTTPS) transaction, and a file transfer protocol (FTP) transaction.
9. The method of claim 1 , wherein the wireless network is at least one of a Global System for Mobile Communications (GSM), Personal Communications Service (PCS), Bluetooth, WiFi, Fixed Wireless Data, 2G, 2.5G, 3G, 4G, IMT-Advanced, pre-4G, LTE Advanced, mobile WiMax, WiMax 2, WirelessMAN-Advanced networks, enhanced data rates for GSM evolution (EDGE), General packet radio service (GPRS), enhanced GPRS, iBurst, UMTS, HSPDA, HSUPA, HSPA, UMTS-TDD, 1×RTT, or EV-DO network.
10. The method of claim 1 , wherein the first mobile device is at least one of a notebook, a laptop computer, a handheld computer, a palmtop computer, a mobile phone, a cell phone, and a smart phone.
11. A server comprising:
a processor; and
memory storing instructions, wherein the instructions, when executed by the processor, cause the server to:
store a domain name system (DNS) record in a local cache, wherein the record comprises a hostname, a first IP address, and a first time-to-live (TTL) value;
transmit a query, associated with the DNS record, to a DNS server;
receive a response, associated with the query, comprising a second IP address and a second TTL value;
determine the second IP address is different than the first IP address;
update the DNS record with the second IP address;
determine a third TTL value based on a status of a first mobile device; and
transmit the second IP address and the third TTL value to the first mobile device over a wireless network, wherein the first mobile device updates a corresponding DNS record with the second IP address and the third TTL value that is greater than the second TTL value.