IP Library Granted Patent US 9,319,292
Granted Patent B2
US 9,319,292 · App. 14/210,174 · Granted Apr 19, 2016

Client activity DNS optimization

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 9,319,292
App. No.
14/210,174
Granted
Apr 19, 2016
Kind
B2
Abstract

Client and user activity in an application or a browser are monitored to determine whether potential actions will result in a server being contacted. A DNS request to resolve the server's host name is generated to ensure the server's IP address is cached and available.

Claims (42)

1. A method comprising:

monitoring, by a monitoring module at a mobile device, mobile device user activity;

based on the monitored activity, determining that a potential action will trigger a call by an application program to contact at least one target server;

before occurrence of the potential action that will trigger the call by the application program to contact the at least one target server, generating a domain name system (DNS) request to resolve a host name associated with the at least one target server; and

at the mobile device, receiving an address corresponding to the host name in response to the DNS request, wherein the address is to be stored in a cache at the mobile device.

2. The method of claim 1 wherein the monitoring module is internal to an operating system of the mobile device.

3. The method of claim 1 wherein the monitoring module is in a browser.

4. The method of claim 1 wherein the monitoring module comprises built-in browser code, a browser add-in, a browser plug-in, a browser script, a browser macro, a browser extension, or a browser library.

5. The method of claim 1 wherein the determining that a potential action will trigger a call by an application program to contact the at least one target server comprises:

determining that after a prior launch of the application program, the application program called the at least one target server.

6. The method of claim 1 comprising:

upon detecting the call by the application program to contact the at least one target server, resolving the host name associated with the target server locally via the cached address.

7. The method of claim 6 comprising:

determining that the application program is unable to contact the at least one target server via the cached address; and

based on the application program being unable to contact the at least one target server via the cached address, expiring the cached address.

8. The method of claim 1 wherein the at least one target server is a first target server, the call is a first call, the DNS request is a first DNS request, and the method further comprises:

determining that after a prior launch of the application program, the application program made the first call to the first target server and made a second call to a second target server, different from the first target server; and

prior to the first and second calls being triggered and while the user is engaged in the activity, generating the first DNS request to resolve the host name associated with the first target server, and generating a second DNS request to resolve a host name associated with the second target server.

9. The method of claim 1 wherein the address comprises an Internet Protocol (IP) address.

10. The method of claim 1 wherein the step of determining that a potential action will trigger a call by an application program to contact the at least one target server comprises:

scanning code of a web page for any Uniform Resource Identifier (“URI”) strings.

11. A method comprising:

monitoring, by a monitoring module at a client device, client device user activity;

based on the monitored activity, determining that a potential action will trigger a call by an application program to contact at least one target server;

before occurrence of the potential action that will trigger the call by the application program to contact the at least one target server, generating a domain name system (DNS) request to resolve a host name associated with the at least one target server; and

at the client device, receiving an address corresponding to the host name in response to the DNS request, wherein the address is to be stored in a cache at the client device.

12. The method of claim 11 wherein the monitoring module is internal to an operating system of the client device.

13. The method of claim 11 wherein the monitoring module is in a browser.

14. The method of claim 11 wherein the monitoring module comprises built-in browser code, a browser add-in, a browser plug-in, a browser script, a browser macro, a browser extension, or a browser library.

15. The method of claim 11 wherein the determining that a potential action will trigger a call by an application program to contact the at least one target server comprises:

determining that after a prior launch of the application program, the application program called the at least one target server.

16. The method of claim 11 comprising:

upon detecting the call by the application program to contact the at least one target server, resolving the host name associated with the target server locally via the cached address.

17. The method of claim 16 comprising:

determining that the application program is unable to contact the at least one target server via the cached address; and

based on the application program being unable to contact the at least one target server via the cached address, expiring the cached address.

18. The method of claim 11 wherein the at least one target server is a first target server, the call is a first call, the DNS request is a first DNS request, and the method further comprises:

determining that after a prior launch of the application program, the application program made the first call to the first target server and made a second call to a second target server, different from the first target server; and

prior to the first and second calls being triggered and while the user is engaged in the activity, generating the first DNS request to resolve the host name associated with the first target server, and generating a second DNS request to resolve a host name associated with the second target server.

19. The method of claim 11 wherein the address comprises an Internet Protocol (IP) address.

20. The method of claim 11 wherein the step of determining that a potential action will trigger a call by an application program to contact the at least one target server comprises:

scanning code of a web page for any Uniform Resource Identifier (“URI”) strings.

Assignments (10)
SECURITY INTEREST Recorded Oct 7, 2025
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 073028/0189 →
SECURITY INTEREST Recorded Oct 2, 2025
From: LOOKOUT, INC.
To: CRESCENT COVE OPPORTUNITY LENDING, LLC, AS AGENT
Reel/Frame 072989/0675 →
SECURITY INTEREST Recorded Aug 10, 2024
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 068538/0177 →
RELEASE OF PATENT SECURITY INTEREST AT REEL 59909 AND FRAME 0764 Recorded Jun 2, 2023
From: ALTER DOMUS (US) LLC, AS ADMINISTRATIVE AGENT
To: LOOKOUT, INC.
Reel/Frame 063844/0638 →
SECURITY INTEREST Recorded May 9, 2022
From: LOOKOUT, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 059909/0764 →
RELEASE OF SECURITY INTEREST Recorded May 9, 2022
From: SILICON VALLEY BANK (THE "BANK")
To: LOOKOUT, INC.
Reel/Frame 059909/0668 →
RELEASE OF SECURITY INTEREST Recorded Nov 23, 2020
From: OBSIDIAN AGENCY SERVICES, INC.
To: LOOKOUT INC.
Reel/Frame 054716/0923 →
SECURITY INTEREST Recorded Jun 6, 2019
From: LOOKOUT, INC.
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 049408/0861 →
SECURITY INTEREST Recorded Oct 29, 2018
From: LOOKOUT, INC.
To: SILICON VALLEY BANK
Reel/Frame 048208/0947 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2014
From: WYATT, TIMOTHY MICHEAL; ANBALAGAPANDIAN, ANBU; MANDAL, AYAN
To: LOOKOUT, INC.
Reel/Frame 032700/0760 →