IP Library Granted Patent US 9,723,057
Granted Patent B2
US 9,723,057 · App. 14/694,787 · Granted Aug 1, 2017

Reducing web page load latency by scheduling sets of successive outgoing HTTP calls

Inventors: David Abraham Wiener (Cupertino, CA); David Scott Gardner (San Jose, CA); John Patrick Connelly (Santa Cruz, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L67/02G06F17/30893H04L67/1095H04L67/32H04L67/325G06F17/30861
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,723,057
App. No.
14/694,787
Granted
Aug 1, 2017
Kind
B2
Abstract

A system, method, and computer program product for reducing web page load latency by scheduling sets of successive outgoing HTTP calls. Some embodiments commence upon receiving from a requesting client device, a request for content of a web page, wherein the content comprises two or more portions of dynamic content. Operations are performed to determine that the two or more portions of dynamic content are to be processed separately. A scheduling script to be executed by the requestor is generated and sent to the client device. The scheduling script comprises instructions to process a first subset of the two or more dynamic portions of content and also comprises instructions to process a second subset of the two or more portions of dynamic content. The scheduling script, when executed by requesting client device, causes the first subset of dynamic content and the second subset of dynamic content to be processed separately.

Claims (35)

1. A method comprising:

receiving, by a server, a first request from a client device for content of a web page, wherein the content comprises a static portion and two or more portions of dynamic content, and wherein the static portion includes content having been previously determined to be displayed for each rendering of the web page and dynamic content is configured to be identified at each rendering based on browsing activities corresponding to a session;

determining, by the server in response to the first request, that the two or more portions of dynamic content are to be processed separately; and

generating, in response to the first request and based at least in part on the determining, a scheduling script to be executed by the client device,

wherein the scheduling script is configured to be executed after the static portion of the web page has rendered and includes first instructions to process a first portion of the two or more portions of dynamic content and second instructions to process at least a second portion of dynamic content of the two or more portions of dynamic content; and

wherein the scheduling script, when executed by the client device, causes the first instructions to render a first portion of dynamic content of the two or more portions of dynamic content at a first time after the static portion of the web page has rendered and causes the second instructions to render at least the second portion of dynamic content at a second time, the second time following a delay after the first time.

2. The method of claim 1 , wherein determining that the two or more portions of dynamic content are to be processed separately comprises accessing one or more policies.

3. The method of claim 2 , wherein the one or more policies comprise at least one of an auction limit per page load, a content time on page, a list of selected advertiser partners, and a web page load time.

4. The method of claim 3 , wherein one or more of the policies are selected at a management user interface.

5. The method of claim 1 , wherein processing at least the second portion of dynamic content is deferred when the client device navigates away from the web page.

6. The method of claim 5 , wherein processing at least the second portion of dynamic content is canceled based on a DOM event.

7. The method of claim 1 , wherein processing the first portion of dynamic content and at least the second portion of dynamic content are related by at least one of a time interval and a DOM event.

8. The method of claim 1 , wherein at least one of the first portion of dynamic content and at least the second portion of dynamic content comprises at least one beacon that invokes an HTTP call when processed by the client device.

9. The method of claim 1 , wherein at least one least one of the first portion of dynamic content and at least the second portion of dynamic content comprises a scheduling function to be executed by the client device.

10. The method of claim 1 , wherein processing of at least the second portion of dynamic content is invoked by a DOM event.

11. A computer program product, embodied in a non-transitory computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a process, the process comprising:

receiving, by a server, a first request from a client device for content of a web page, wherein the content comprises a static portion and two or more portions of dynamic content, and wherein the static portion includes content having been previously determined to be displayed for each rendering of the web page and dynamic content is configured to be identified at each rendering based on browsing activities corresponding to a session;

determining, by the server in response to the first request, that the two or more portions of dynamic content are to be processed separately; and

generating, in response to the first request and based at least in part on the determining, a scheduling script to be executed by the client device,

wherein the scheduling script is configured to be executed after the static portion of the web page has rendered and includes first instructions to process a first portion of the two or more portions of dynamic content and second instructions to process at least a second portion of dynamic content of the two or more portions of dynamic content; and

wherein the scheduling script, when executed by the client device, causes the first instructions to render a first portion of dynamic content of the two or more portions of dynamic content at a first time after the static portion of the web page has rendered and causes the second instructions to render at least the second portion of dynamic content at a second time, the second time following a delay after the first time.

12. The computer program product of claim 11 , wherein determining that the two or more portions of dynamic content are to be processed separately comprises accessing one or more policies.

13. The computer program product of claim 12 , wherein the one or more policies comprise at least one of an auction limit per page load, a content time on page, a list of selected advertiser partners, and a web page load time.

14. The computer program product of claim 13 , wherein one or more of the policies are selected at a management user interface.

15. The computer program product of claim 11 , wherein processing at least the second portion of dynamic content is deferred when the client device navigates away from the web page.

16. The computer program product of claim 11 , wherein at least one of the first portion of dynamic content and at least the second portion of dynamic content comprises at least one beacon that invokes an HTTP call when processed by the client device.

17. The computer program product of claim 11 , wherein at least of the first portion of dynamic content and at least the second portion of dynamic content comprises a scheduling function to be executed by the client device.

18. The computer program product of claim 11 , wherein processing of at least the second portion of dynamic content is invoked by a DOM event.

19. A system comprising:

a server including at least one processor and at least one memory, wherein the server includes a request processing module to receive, from a client device, a first request for content of a web page, wherein the content comprises a static portion and two or more portions of dynamic content, and wherein the static portion includes content having been previously determined to be displayed for each rendering of the web page and dynamic content is configured to be identified at each rendering based on browsing activities corresponding to a session;

a content scheduling engine to determine, in response to the first request, that the two or more portions of dynamic content are to be processed separately; and

a content delivery module to generate a scheduling script to be executed by the client device, wherein generation of the scheduling script is responsive to the first request and based at least in part on the determination that the two or more portions of dynamic content are to be processed separately, and

wherein the scheduling script is configured to be executed after the static portion of the web page has rendered and includes first instructions to process a first portion of the two or more portions of dynamic content and second instructions to process at least a second portion of dynamic content of the two or more portions of dynamic content; and

wherein the scheduling script, when executed by the client device, causes the first instructions to render a first portion of dynamic content of the two or more portions of dynamic content at a first time after the static portion of the web page has rendered and causes the second instructions to render at least the second portion of dynamic content at a second time, the second time following a delay after the first time.

20. The system claim 19 , further comprising a content schedule storage area to provide access to one or more policies.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2015
From: WIENER, DAVID ABRAHAM; GARDNER, DAVID SCOTT; CONNELLY, JOHN PATRICK
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 035484/0280 →
Continuity (2)
Provisional Application 62055505 · Sep 25, 2014
Related Publication 20160094615A1 · Mar 31, 2016