IP Library Granted Patent US 9,319,346
Granted Patent B2
US 9,319,346 · App. 14/710,412 · Granted Apr 19, 2016

Web access performance enhancement

Inventors: Per Hedbor (Mantorp, SE); Johan Schon (Linköping, SE); Markus Johansson (Linköping, SE); Jens Widell (Solna, SE)
Assignee: Opera Software ASA
H04L47/70G06F17/30902H04L67/02H04L67/42
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,346
App. No.
14/710,412
Granted
Apr 19, 2016
Kind
B2
Abstract

Systems and methods described herein may provide web access performance enhancement. A proxy server comprising a processor and a database may receive request data associated with a URL and store the request data in the database. The proxy server may receive a request for the URL from a client, identify commonly requested data in the request data, and send the commonly requested data to the client before receiving a request for the commonly requested data from the client.

Claims (51)

1. A method comprising:

receiving, with a proxy server comprising a processor and a database, request data associated with a URL;

storing, with the proxy server, the request data in the database;

receiving, with the proxy server, a request for the URL from a client;

identifying, with the proxy server, commonly requested data in the request data;

receiving, with the proxy server, client cache data from the client;

determining, with the proxy server, whether the commonly requested data is in the client cache data;

when the commonly requested data is not in the client cache data, sending, with the proxy server, the commonly requested data to the client before receiving a request for the commonly requested data from the client;

receiving, with the proxy server, an indication from the client that the commonly requested data was not needed; and

storing, with the proxy server, the indication in the database so that the commonly requested data will no longer be sent in response to a request for the URL.

2. The method of claim 1 , wherein the commonly requested data comprises data requested as a result of a script execution by the client.

3. The method of claim 2 , wherein the script is a JavaScript element.

4. The method of claim 1 , wherein the commonly requested data is associated with a different URL from the URL.

5. The method of claim 1 , further comprising synchronizing, with the proxy server, a client cache with a proxy server cache.

6. The method of claim 5 , wherein the synchronizing comprises:

receiving, with the proxy server, client cache data from the client; and

storing, with the proxy server, the client cache data in the database.

7. The method of claim 1 , further comprising synchronizing, with the proxy server, a client cookie with a proxy server cookie.

8. The method of claim 7 , wherein the synchronizing comprises:

receiving, with the proxy server, client cookie data from the client; and

storing, with the proxy server, the client cookie data in the database.

9. The method of claim 7 , further comprising:

verifying that the client cookie data matches the server cookie data; and

when the client cookie data does not match the server cookie data, fetching the commonly requested data directly from a web server.

10. The method of claim 5 , further comprising compression and delta encoding of request results with the client cache as base of delta encoding.

11. A system comprising:

a proxy server comprising a processor and a database, the proxy server constructed and arranged to:

receive request data associated with a URL;

store the request data in the database;

receive a request for the URL from a client;

identify commonly requested data in the request data;

receive client cache data from the client;

determine whether the commonly requested data is in the client cache data;

when the commonly requested data is not in the client cache data, send the commonly requested data to the client before receiving a request for the commonly requested data from the client;

receive an indication from the client that the commonly requested data was not needed; and

store the indication in the database so that the commonly requested data will no longer be sent in response to a request for the URL.

12. The system of claim 11 , wherein the commonly requested data comprises data requested as a result of a script execution by the client.

13. The system of claim 12 , wherein the script is a JavaScript element.

14. The system of claim 11 , wherein the commonly requested data is associated with a different URL from the URL.

15. The system of claim 11 , wherein the data is compressed and delta encoded with a client cache as a base of delta encoding.

16. The system of claim 11 , wherein the proxy server is further constructed and arranged to synchronize a client cache with a proxy server cache.

17. The system of claim 16 , wherein the synchronizing comprises:

receiving client cache data from the client; and

storing the client cache data in the database.

18. The system of claim 11 , wherein the proxy server is further constructed and arranged to synchronize a client cookie with a proxy server cookie.

19. The system of claim 18 , wherein the synchronizing comprises:

receiving client cookie data from the client; and

storing the client cookie data in the database.

20. The system of claim 18 , wherein:

the proxy server is further constructed and arranged to receive verification that the client cookie data matches the server cookie data; and

when the client cookie data does not match the server cookie data, the commonly requested data is fetched directly from a web server.

Assignments (3)
CHANGE OF NAME Recorded Apr 20, 2020
From: OPERA SOFTWARE AS
To: OPERA NORWAY AS
Reel/Frame 052446/0290 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2016
From: OPERA SOFTWARE ASA
To: OPERA SOFTWARE AS
Reel/Frame 039605/0041 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2016
From: HEDBOR, PER; SCHON, JOHAN; JOHANSSON, MARKUS; LINDSTOM, JENS
To: OPERA SOFTWARE ASA
Reel/Frame 037780/0093 →
Continuity (2)
Provisional Application 61992761 · May 13, 2014
Related Publication 20150334041A1 · Nov 19, 2015