IP Library Granted Patent US 10,148,617
Granted Patent B2
US 10,148,617 · App. 15/362,020 · Granted Dec 4, 2018

Enhanced thread handling in security handshakingdomain name system bypass in user applications

Inventors: Artur Bergman (San Francisco, CA); Simon Wistow (Oakland, CA); Tyler McMullen (San Francisco, CA)
Assignee: Fastly Inc.
H04L61/6009G06F17/30902H04L43/0852H04L45/34H04L61/1511H04L67/2833H04L67/2852
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 10,148,617
App. No.
15/362,020
Granted
Dec 4, 2018
Kind
B2
Abstract

Disclosed herein are methods, systems, and software for bypassing a domain name system. In one example, a method of operating a user communication device includes receiving a user instruction requesting content within a user application of the user communication device. The method further provides, in response to the user instruction, processing at least a domain name system bypass data structure on the user communication device to identify a network address for retrieving the content. The method further includes, requesting the content from a content node using the network address.

Claims (20)

1. A method of operating a user communication device, the method comprising: maintaining a domain name system bypass data structure on the user communication device, wherein the domain name system bypass data structure comprises network addresses for content servers, the content servers configured to store content for a user application on the user communication device, and wherein the network addresses are prioritized based on accessibility factors for the network addresses from the user communication device; receiving a user instruction requesting new content within the user application of the user communication device; in response to the user instruction, processing at least the domain name system bypass data structure on the user communication device to identify a network address in the network addresses for retrieving the new content; and requesting the new content from a content server using the network address.

2. The method of claim 1 , wherein the accessibility factors for the network addresses are tested at least partially at the user communication device.

3. The method of claim 1 , wherein the accessibility factors comprise at least latency and availability for each of the network addresses.

4. The method of claim 1 , wherein identifying the network address comprises identifying the network address with highest priority of the network addresses.

5. The method of claim 1 , wherein maintaining the domain name system bypass data structure comprises: receiving domain name system bypass information from a bypass system, wherein the domain name system bypass information comprises the network addresses for the content servers; storing the domain name system bypass information into the domain name system bypass data structure; and prioritizing the domain name system bypass data structure based on at least a testing of latency and availability of the network addresses.

6. The method of claim 1 , wherein maintaining the domain name system bypass data structure on the user communication device comprises receiving at least a portion of the accessibility factors for each of the network addresses from a bypass system.

7. The method of claim 1 , wherein maintaining the domain name system bypass data structure on the user communication device comprises generating tests of latency and availability for each of the network addresses and prioritizing the network addresses based on the tests.

8. The method of claim 1 , wherein the accessibility factors comprise at least geographic location information for each of the network addresses.

9. A system for domain name system bypass, the system comprising: a memory that stores program instructions; and a processor coupled to the memory configured to execute the program instructions to: maintain a domain name system bypass data structure on a user communication device, wherein the domain name system bypass data structure comprises network addresses for content servers, the content servers configured to store content for a user application on the user communication device, and wherein the network addresses are prioritized based on accessibility factors for the network addresses from the user communication device; receive a user instruction requesting new content within the user application of the user communication device; in response to the user instruction, process at least the domain name system bypass data structure on the user communication device to identify a network address in the network addresses for retrieving the new content; and request the new content from a content server using the network address.

10. The system of claim 9 , wherein the accessibility factors for the network addresses are tested at least partially at the user communication device.

11. The system of claim 9 , wherein the accessibility factors comprise at least latency and availability for each of the network addresses.

12. The system of claim 9 , wherein the processor configured to execute the program instructions to process at least the domain name system bypass data structure on the user communication device to identify the network address in the network addresses for retrieving the new content is configured to execute the program instructions to identify the network address with a highest priority of the network addresses.

13. The system of claim 9 , wherein the content request does not comprise a user entry of a domain name.

14. The system of claim 9 , wherein the processor configured to execute the program instructions to maintain the domain name system bypass data structure on the user communication device is configured to execute the program instructions to receive at least a portion of the accessibility factors for each of the network addresses from a bypass system.

15. The system of claim 9 , wherein the processor configured to execute the program instructions to maintain the domain name system bypass data structure on the user communication device is configured to execute the program instructions to generate tests of latency and availability for each of the network addresses and prioritize the network addresses based on the tests.

16. An apparatus to assist in routing communications on a user communication device, the apparatus comprising: one or more non-transitory computer readable storage media; program instructions stored on the one or more non-transitory computer readable storage media that, when executed by a processor, direct the processor to: maintain a domain name system bypass data structure on a user communication device, wherein the domain name system bypass data structure comprises network addresses for content servers, the content servers configured to store content for a user application on the user communication device, and wherein the network addresses are prioritized based on accessibility factors for the network addresses from the user communication device; receive a user instruction requesting new content within the user application of the user communication device; in response to the user instruction, process at least the domain name system bypass data structure on the user communication device to identify a network address in the network addresses for retrieving the new content; and request the new content from a content server using the network address.

17. The apparatus of claim 16 , wherein the accessibility factors comprise at least latency and availability factors for each of the network addresses.

18. The apparatus of claim 16 , wherein the program instructions to process at least the domain name system bypass data structure on the user communication device to identify the network address in the network addresses for retrieving the new content direct the processor to identify the network address with the highest priority of the network addresses.

19. The apparatus of claim 16 , wherein the program instructions to maintain the domain name system bypass data structure on the user communication device direct the processor to receive at least a portion of the accessibility factors for each of the network addresses from a bypass system.

20. The apparatus of claim 16 , wherein the program instructions to maintain the domain name system bypass data structure on the user communication device direct the processor to generate tests of latency and availability for each of the network addresses on the user communication device and prioritize the network addresses based on the tests.

Assignments (2)
SECURITY INTEREST Recorded Feb 17, 2021
From: FASTLY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AND COLLATERAL AGENT
Reel/Frame 055316/0616 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2016
From: BERGMAN, ARTUR; WISTOW, SIMON; MCMULLEN, TYLER
To: FASTLY, INC.
Reel/Frame 040432/0113 →
Continuity (3)
Continuation 14297098 · Jun 5, 2014
Provisional Application 61832604 · Jun 7, 2013
Related Publication 20170078246A1 · Mar 16, 2017