IP Library Granted Patent US 10,148,735
Granted Patent B1
US 10,148,735 · App. 14/206,344 · Granted Dec 4, 2018

Application layer load balancer

Inventor: Hariharan Kolam (Palo Alto, CA)
Assignee: Instart Logic, Inc.
H04L67/10G06F17/30902H04L43/10
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,735
App. No.
14/206,344
Granted
Dec 4, 2018
Kind
B1
Abstract

Responding to a request for network content is disclosed. The request for network content is received. A determination of whether delivery of the content can be improved by a prioritized content delivery system is determined. The determination is determined using application level data associated with the request. The request for network content is routed to the prioritized content delivery system or a normal content delivery system based at least in part on the determination.

Claims (41)

1. A system, comprising:

a communication interface configured to receive webpage content referring to a network content using a URI address;

a processor configured to:

receive a request for the network content referred in the webpage content by the URI address, wherein the request is received from a load balancer that has load balanced the request at least in part by analyzing network layer information associated with the request;

determine, using application level data associated with the request, whether delivery of the network content can be improved by a prioritized content delivery system, including:

identify a type of the requested network content; and

determine that, based on the type of the requested network content, the requested network content can be improved by the prioritized content delivery system; and

route the request for the network content to the prioritized content delivery system or a normal content delivery system based at least in part on the determination of whether delivery of the network content can be improved by a prioritized content delivery system, wherein routing the request for the network content to the prioritized content delivery system or the normal content delivery system includes using the same URI address regardless of whether the network content is to be routed to the prioritized content delivery system or the normal content delivery system and selecting between the prioritized content delivery system and the normal content delivery system to generate a modified URI address; and

a virtualization engine configured to at least one of: virtualize static and dynamic interactions and intercept static and dynamic interactions, with a document object model of a browser associated with the system.

2. The system of claim 1 , wherein determining whether delivery of the content can be improved by the prioritized content delivery system includes determining which application requested the network content.

3. The system of claim 1 , wherein the request for network content is routed to the prioritized content delivery system in the event the determination indicates that delivery of the network content can be improved by the prioritized content delivery system.

4. The system of claim 1 , wherein the request for network content is routed to the normal content delivery system in the event the determination indicates that delivery of the network content cannot be improved by the prioritized content delivery system.

5. The system of claim 1 , wherein the application level data includes OSI model layer 7 data.

6. The system of claim 1 , wherein the normal content delivery system includes an origin server of an original content source of the request.

7. The system of claim 1 , wherein the prioritized content delivery system is able to proxy content from the normal content delivery system.

8. The system of claim 1 , wherein the prioritized content delivery system optimizes delivery of a certain type of content that is also available via the normal content delivery system.

9. The system of claim 1 , wherein the request is associated with a virtualized document object model of a webpage attempted to be rendered by a requestor of the request.

10. The system of claim 1 , wherein routing the request includes using a received routing rule selected based at least in part on the determination of whether delivery of the network content can be improved by a prioritized content delivery system.

11. The system of claim 1 , wherein the determination of whether delivery of the network content can be improved by a prioritized content delivery system includes analyzing a content location address of the request.

12. The system of claim 1 , wherein the determination of whether delivery of the network content can be improved by a prioritized content delivery system includes analyzing a location address parameter encoded by a document object model virtualization client of a requestor of the request.

13. The system of claim 12 , wherein the document object model virtualization client is a nanovisor.

14. The system of claim 1 , wherein the determination of whether delivery of the network content can be improved by a prioritized content delivery system includes analyzing a web browser provided information.

15. The system of claim 1 , wherein the determination of whether delivery of the network content can be improved by a prioritized content delivery system includes analyzing an accept-encoding information.

16. The system of claim 1 , wherein in the event the request for network content is routed to the prioritized content delivery system based at least in part on the determination of whether delivery of the network content can be improved by a prioritized content delivery system, the prioritized content delivery system segments the requested content into a plurality of segments and provides a segment of the segments in response to the request.

17. The system of claim 1 , wherein the identification of the type of the requested network content includes classifying the requested network content as at least one of: an image file and an executable file.

18. A method, comprising:

receiving webpage content referring to a network content using a URI address;

receiving a request for the network content referred in the webpage content by the URI address, wherein the request is received from a load balancer that has load balanced the request at least in part by analyzing network layer information associated with the request;

using a processor to determine, using application level data associated with the request, whether delivery of the network content can be improved by a prioritized content delivery system, including:

identifying a type of the requested network content; and

determining that, based on the type of the requested network content, the requested network content can be improved by the prioritized content delivery system;

routing the request for the network content to the prioritized content delivery system or a normal content delivery system based at least in part on the determination of whether delivery of the network content can be improved by a prioritized content delivery system, wherein routing the request for the network content to the prioritized content delivery system or the normal content delivery system includes using the same URI address regardless of whether the network content is to be routed to the prioritized content delivery system or the normal content delivery system and selecting between the prioritized content delivery system and the normal content delivery system to generate a modified URI address; and

at least one of: virtualizing static and dynamic interactions and intercepting static and dynamic interactions, with a document object model of a browser associated with the system.

19. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving webpage content referring to a network content using a URI address;

receiving a request for the network content referred in the webpage content by the URI address, wherein the request is received from a load balancer that has load balanced the request at least in part by analyzing network layer information associated with the request;

determining, using application level data associated with the request, whether delivery of the network content can be improved by a prioritized content delivery system, including:

identifying a type of the requested network content; and

determining that, based on the type of the requested network content, the requested network content can be improved by the prioritized content delivery system;

routing the request for the network content to the prioritized content delivery system or a normal content delivery system based at least in part on the determination of whether delivery of the network content can be improved by a prioritized content delivery system, wherein routing the request for the network content to the prioritized content delivery system or the normal content delivery system includes using the same URI address regardless of whether the network content is to be routed to the prioritized content delivery system or the normal content delivery system and selecting between the prioritized content delivery system and the normal content delivery system to generate a modified URI address; and

at least one of: virtualizing static and dynamic interactions and intercepting static and dynamic interactions, with a document object model of a browser associated with the system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2020
From: INSTART LOGIC, INC.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 052121/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2014
From: KOLAM, HARIHARAN
To: INSTART LOGIC, INC.
Reel/Frame 032979/0812 →
Cited By (57)
US 12,192,026 US 12,200,038 US 12,200,083 US 12,200,084 US 12,218,776 US 12,218,777 US 12,229,210 US 12,231,253 US 12,231,519 US 12,250,089 US 12,250,090 US 12,261,712 US 12,277,187 US 12,277,188 US 12,277,189 US 12,278,878 US 12,278,880 US 12,284,069 US 12,289,383 US 12,294,481 US 12,301,401 US 12,309,123 US 12,309,241 US 12,323,287 US 12,323,500 US 12,323,501 US 12,332,960 US 12,341,860 US 12,355,855 US 12,368,789 US 12,375,582 US 12,411,902 US 12,413,648 US 12,425,492 US 12,438,956 US 12,445,511 US 12,457,273 US 12,483,635 US 12,511,342 US 12,517,972 US 12,524,490 US 12,524,491 US 12,536,243 US 12,542,764 US 12,549,645 US 12,563,130 US 12,587,429 US 12,587,430 US 12,587,579 US 12,603,809 US 12,652,330 US 12,659,218 US 12,671,750 US 12,706,984 US 12,719,734 US 12,719,735 US 12,719,945