IP Library Granted Patent US 9,148,466
Granted Patent B2
US 9,148,466 · App. 12/898,655 · Granted Sep 29, 2015

Presenting modules in a browser

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,148,466
App. No.
12/898,655
Granted
Sep 29, 2015
Kind
B2
Abstract

Module management software receives a request from the browser for a presentation composed of at least one module. The module management software transmits a request for module data associated with the module to a first server that caches the module data after retrieving the module data from a website. The module management software then receives the requested module data from the first server and transmits a request for each of the resource files described in the module data to a second server that caches each of the resource files after retrieving the resource file from an external (or internal) website. Each request for a resource file can be handled by a corresponding thread. The module management software delays transmission of the module data to the browser, if any requested resource file is not received within a time limit derived at least in part from a service level agreement.

Claims (52)

1. A method for managing a presentation in a browser executing on a client device, comprising:

receiving a request from the browser for a presentation composed of at least one module;

transmitting a request for data associated with the module to a first server that caches module data after retrieving module data from a website;

receiving the requested module data from the first server;

transmitting a request for each of the resource files described in the module data to a second server that caches each of the resource files after retrieving the resource file from a website;

receiving each of the requested resource files and discarding each of the received resource files without transmission to the browser;

modifying the module data so that the module data indicates that each of the resource files is located on the second server; and

delaying transmission of the module data to the browser, if any requested resource file is not received within a time limit derived at least in part from a service level agreement, wherein each operation of the method is executed by a processor.

2. The method of claim 1 , further comprising the method operation of:

returning a proxy script to the browser instead of the module data, wherein the proxy script, when executed by the browser, transmits a subsequent network request for the module.

3. The method of claim 1 , further comprising the method operation of:

causing the browser to move the at least one module below the fold.

4. The method of claim 1 , wherein the resource files described in the module data are rich media.

5. The method of claim 1 , further comprising the method operation of:

transmitting a request to the first server for a more recent version of the module data if the module data is expired.

6. The method of claim 1 , wherein the module data includes a statement in a markup language.

7. The method of claim 1 , wherein the module data includes a statement in a style sheet language.

8. The method of claim 1 , further comprising the method operation of:

transmitting substitute module data to the browser.

9. The method of claim 2 , wherein the proxy script is a JavaScript.

10. The method of claim 1 , wherein a parallel thread is used for the network request to the second server for the resource file.

11. The method of claim 1 , further comprising the method operation of:

causing the browser to enlarge displays to hide the at least one module that is missing.

12. A computer-readable storage medium with an executable program persistently stored thereon, wherein the program, when executed, instructs a processor to perform the following operations:

receive a request from the browser for a presentation composed of at least one module;

transmit a request for module data associated with the module to a first server that caches module data after retrieving module data from a website;

receive the requested module data from the first server;

transmitting a request for each of the resource files described in the module data to a second server that caches each of the resource files after retrieving the resource file from a website;

receive each of the requested resource files and discard each of the received resource files without transmission to the browser;

modify the module data so that the module data indicates that each of the resource files is located on the second server; and

delay transmission of the module data to the browser, if any requested resource file is not received within a time limit derived at least in part from a service level agreement.

13. The computer-readable storage medium of claim 12 , further comprising the operation of:

return a proxy script to the browser instead of the module data, wherein the proxy script, when executed by the browser, transmits a subsequent network request for the module.

14. The computer-readable storage medium of claim 12 , further comprising the operation of:

cause the browser to move the at least one module below the fold.

15. The computer-readable storage medium of claim 12 , further comprising the operation of:

transmit a network request for a more recent version of the module data to a website if the module data is expired.

16. The computer-readable storage medium of claim 12 , further comprising the operation of:

transmit substitute module data to the browser.

17. The computer-readable storage medium of claim 13 , wherein the proxy script is a JavaScript.

18. The computer-readable storage medium of claim 12 , wherein a parallel thread is used for the network request to the second server for the resource file.

19. A method for managing a presentation in a browser executing on a client device, comprising:

receiving a request from the browser for a presentation composed of at least one module;

transmitting a request for data associated with the module to a first server that caches module data after retrieving module data from an external website;

receiving the requested module data from the first server;

transmitting a request for each of the resource files described in the module data to a second server that caches each of the resource files after retrieving the resource file from an external website;

receiving each of the requested resource files and discarding each of the received resource files without transmission to the browser;

modifying the module data so that the module data indicates that each of the resource files is located on the second server;

discarding the resource file rather than transmitting the resource file to the browser; and

delaying transmission of the module data to the browser, if any requested resource file is not received within a time limit derived at least in part from a service level agreement, wherein each operation of the method is executed by a processor.

20. The method of claim 19 , further comprising the method operation of:

causing the browser to enlarge displays to hide the at least one module that is missing.

Assignments (5)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →