Progressive consolidation of web page resources

US9785621B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9785621-B2
Application numberUS-201314081235-A
CountryUS
Kind codeB2
Filing dateNov 15, 2013
Priority dateNov 26, 2012
Publication dateOct 10, 2017
Grant dateOct 10, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Described herein are systems, method and devices for modifying web pages to enhance their performance. In certain non-limiting embodiments, improved resource consolidation techniques are described, which are sometimes referred to herein as ‘progressive’ consolidation. Such techniques can be used to consolidate page resources in a way that allows a client browser or other application to process each of the consolidated resources after it arrives, even if all the client has not fully retrieved all of the consolidated resources yet. The teachings hereof can be used, for example, to modify a markup language document (HTML) to consolidate CSS, JavaScript, images, or other resources referenced therein.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method implemented by a computer device for modifying web pages before delivery to client web browser, to enhance web page performance, the method comprising: receiving HTML associated with a web page; modifying the HTML by removing first and second references in the HTML, the first reference being to a first resource and the second reference being to a second resource, the first and second resources each being of a first type that a client processes only after the entire resource is received by the client web browser; wherein the first and second resources comprise one of: (i) first and second CSS files of type CSS, (ii) first and second image files of type image, and (iii) first and second scripts of type script; inserting content from the first resource and content from second resource into a container resource, wherein the container resource is of a second type in which content from the first resource will be processed by the client web browser to render the web page without waiting for content from the second resource to be received by the client web browser; wherein said processing to render the web page without waiting for content from the second resource to be received comprises: (iv) for the first and second resources comprising first and second CSS files, the client web browser applying at least part of the content of the first CSS file to render the web page before the content of the second CSS file finishes downloading to the client web browser; (v) for the first and second resources comprising first and second image files, the client web browser beginning to display the first image file before the second file finishes downloading to the client web browser; (vi) for the first and second resources comprising first and second scripts, the client web browser executing at least part of the first script to render the web page before the second script is finished downloading to the client web browser; modifying the HTML by inserting a reference to the container resource into the HTML, so as to have the client web browser process the content from the first resource and the content from the second resource that is in the container resource while processing the HTML; and, serve the modified HTML to the client web browser. 2. The method of claim 1 , further comprising inserting an iFrame into the HTML, and inserting the reference to the container resource within the iFrame. 3. The method of claim 1 , wherein the container resource is a file of type HTML. 4. The method of claim 1 , wherein any of the references to the first resource, second resource, and container resource are URIs. 5. The method of claim 1 , further comprising inserting code into the HTML, the code being executable at the client web browser to apply the content from the first resource and the content from the second resource when rendering the web page based on the HTML. 6. The method of claim 1 , further comprising: inserting an iFrame into the HTML, and inserting the reference to the container resource within the iFrame; inserting code into the HTML, the code being executable at the client web browser to apply the content from the first resource and the content from the second resource when rendering the web page based on the HTML; wherein the code is written in JavaScript and the code causes the client web browser to any of: (a) execute the contents of a JavaScript resource in a parent frameglobal context of the iFrame and (b) apply style rules from a CSS resource to a parent frame of the iFrame. 7. The method of claim 6 , where the code maintains an execution order of the JavaScript resource and a cascading order of the CSS resource. 8. The method of claim 1 , where the HTML and the container resource are served from the same hostname. 9. The method of claim 1 , where the HTML and container resource are served from different hostnames. 10. The method of claim 9 , comprising inserting code into the HTML, the code being executable at the client web browser to apply the content from the first resource and the content from the second resource when rendering the web page based on the HTML, and the code employs a cross-domain communication method. 11. The method of claim 1 , further comprising inserting an iFrame tag into the HTML, wherein the reference to the container resource is within the iFrame tag, and the container resource is a file of type HTML. 12. A proxy server machine comprising circuitry forming one or more processors and at least one storage device storing instructions for modifying web pages before delivery to client web browser, to enhance web page performance, the instructions, when executed by the one or more processors, causing the proxy server machine to: receive a request for HTML from web browser running on a client device, the HTML being associated with a web page; request the HTML from another server machine; receive the HTML from the another server machine; modify the HTML by removing first and second references in the HTML, the first reference being to a first resource and the second reference being to a second resource, the first and second resources each being of a first type that is processed by the web browser only after the entire resource is received by the web browser; wherein the first and second resources comprise one of: (i) first and second CSS files of type CSS, (ii) first and second image files of type image, and (iii) first and second scripts of type script; modify the HTML by: inserting a reference to a container resource into the HTML, so as to have the web browser process the content from the first resource and the content from the second resource that is in the container resource while processing the HTML; and, serve the modified HTML to the web browser; wherein the container resource comprises content from the first resource and content from second resource, and the container resource is of a second type in which content from the first resource will be processed by the web browser to render the web page without waiting for content from the second resource to be received by the web browser; wherein said processing to render the web page without waiting for content from the second resource to be received comprises: (iv) for the first and second resources comprising first and second CSS files, the client web browser applying at least part of the content of the first CSS file to render the web page before the second CSS file finishes downloading to the client web browser; (v) for the first and second resources comprising first and second image files, the client web browser beginning to display the first image file before the second file finishes downloading to the client web browser; (vi) for the first and second resources comprising first and second scripts, the client web browser executing at least part of the first script to render the web page before the second script is finished downloading to the client web browser. 13. The machine of claim 12 , wherein the another server machine comprises an origin server associated with a content provider. 14. The machine of claim 12 , wherein the instructions, when executed by the one or more processors, cause the proxy server to insert an iFrame into the HTML, and insert the reference to the container resource within the iFrame. 15. The machine of claim 12 , wherein the container resource is a file of type HTML. 16. The machine of claim 12 , wherein the instructions, when executed by the one or more processors, cause the proxy server to insert code into the HTML, the code being executable at the web browser

Assignees

Inventors

Classifications

  • Editing, e.g. inserting or deleting · CPC title

  • Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces · CPC title

  • Transformation · CPC title

  • Hyperlinking · CPC title

  • Tagging; Marking up (details of markup languages G06F40/143); Designating a block; Setting of attributes (style sheets, e.g. eXtensible Stylesheet Language Transformation [XSLT], G06F40/154) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9785621B2 cover?
Described herein are systems, method and devices for modifying web pages to enhance their performance. In certain non-limiting embodiments, improved resource consolidation techniques are described, which are sometimes referred to herein as ‘progressive’ consolidation. Such techniques can be used to consolidate page resources in a way that allows a client browser or other application to process …
Who is the assignee on this patent?
Akamai Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/2247. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 10 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).