Split browser architecture capable of determining whether to combine or split content layers based on the encoding of content within each layer

US9922007B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9922007-B1
Application numberUS-201414285442-A
CountryUS
Kind codeB1
Filing dateMay 22, 2014
Priority dateMay 22, 2014
Publication dateMar 20, 2018
Grant dateMar 20, 2018

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.

An intermediary system operates as an intermediary between content servers and user devices, and provides services for improving page load times as seen by end users. One such service involves converting a retrieved content page (e.g., web page) into a number of encoded layers that can be decoded and rendered by the user device. The intermediary system determines a suitable encoding technique for each of the layers. The intermediary system sends the encoded layers to a browser component running on the user device for rendering by the GPU.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for providing access to network-accessible content, the system comprising: a browser component adapted to run on a user device, the browser component configured to provide a user interface on a display of the user device; and an intermediary system responsive to a request from the user device for a content page by retrieving the content page from a host system, the intermediary system comprising one or more computing devices and further comprising: a content processing module configured to generate a render tree representation of the content page; and a graphics processing module configured to: generate, based at least partly on the render tree representation, a layer tree including content data and layout data for each of a plurality of layers usable for rendering a visual representation of the content page; analyze the plurality of layers to determine whether to combine or split at least a portion of the content data of any of the plurality of layers, wherein determining whether to combine or split is based on an encoding technique determined for the portion of the content data; combine or split the plurality of layers based on analyzing the plurality of layers such that a different encoding technique of a plurality of different encoding techniques is selected for each layer of the plurality of layers, wherein the selected encoding technique decreases bandwidth usage in sending the layer to the user device relative to sending the content of the layer without encoding; and generate, for each layer of the plurality of layers of the layer tree, encoded layer data by encoding the layer according to the selected encoding technique; wherein the intermediary system is further configured to send the encoded layer data to the user device; wherein the browser component is configured to render the visual representation of the content page on the display of the user device based at least partly on the encoded layer data. 2. The system of claim 1 , wherein one of the intermediary system or the browser component configured to run on the user device is configured to assess, for the content page, whether sending the encoded layer data to the user device will reduce a perceived page load time relative to at least one content delivery technique. 3. The system of claim 1 , wherein the graphics processing module is further configured to select a different encoding technique for at least two of the plurality of layers. 4. The system of claim 1 , wherein the graphics processing module is configured to: analyze one or both of the content data and layout data for the plurality of layers and determine one layer of the plurality of layers to split into two or more additional layers; and split the determined layer into the two or more additional layers. 5. The system of claim 4 , wherein the determined layer is associated with two or more encoding techniques and wherein the two or more additional layers each are associated with a different encoding technique. 6. The system of claim 1 , wherein the graphics processing module is configured to: analyze one or both of the content data and layout data for the plurality of layers and determine two or more layers of the plurality of layers to combine into an additional layer; and combine the determined two or more layers into the additional layer. 7. The system of claim 6 , wherein the determined two or more layers are associated with a single encoding technique and wherein the additional layer is associated with the single encoding technique. 8. The system of claim 1 , wherein the browser component comprises a remote graphics module configured to decode and composite the plurality of layers. 9. A method of providing access to network-accessible content system, the method comprising, by an intermediary system that operates as an intermediary between user devices and content servers: receiving, from a browser component running on a user device, a request for a content page; retrieving the content page from a host system; generating a render tree representation of the content page; generating, based at least partly on the render tree representation, a layer tree including content data and layout data for a plurality of layers for rendering a visual representation of the content page; analyzing the plurality of layers to determine whether to combine or split at least a portion of the content data of any of the plurality of layers, wherein determining whether to combine or split is based on a type of encoding determined for the portion of the content data; combining or splitting the plurality of layers based on the analyzing such that a different type of encoding of a plurality of different types of encoding is selected for each layer of the plurality of layers, the selected type of encoding decreasing bandwidth usage in sending the layer to the user device relative to relative to sending the content of the layer without encoding; encoding the layer according to the selected type of encoding; and sending the layer tree, including the content data and the layout data for the plurality of layers, wherein the content data and the layout data include the encoded layer, over a network to the browser component running on the user device for rendering the visual representation of the content page on a display associated with the user device; wherein the intermediary system comprises one or more computing devices and is separate from the user device and the host system. 10. The method of claim 9 , further comprising selecting a type of encoding for each of the plurality of layers. 11. The method of claim 10 , further comprising encoding each of the plurality of layers according to the selected type of encoding. 12. The method of claim 10 , further comprising selecting a different type of encoding for at least two of the plurality of layers. 13. The method of claim 10 , further comprising determining, based on the selected type of encoding for each of the plurality of layers, whether to split or combine any of the plurality of layers. 14. The method of claim 9 , further comprising determining, based on an analysis of relative motion of layers to one another indicated by the layout data, whether to split or combine any of the plurality of layers. 15. The method of claim 9 , further comprising assessing, for the content page, whether sending the layers to the browser component will reduce a perceived page load time relative to at least one alternative content delivery technique. 16. The method of claim 9 , further comprising determining an update indication including one or both of an indication of user interaction with the visual representation of the content page or identifying a programmatic initiated update. 17. The method of claim 16 , further comprising assessing whether the plurality of layers are sufficient for the user device to render an update to the visual representation of the content page responsive to the update indication. 18. The method of claim 17 , further comprising generating an update to one or both of the content data and layout data for at least one of the plurality of layers in response to determining that the layers are not sufficient to render the update. 19. The method of claim 18 , further comprising sending the update to the user device. 20. A non-transitory computer-readable medium storing computer executable instructions that direct a user device to perform operations comprising: sending a request for a content page to an inte

Assignees

Inventors

Classifications

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • Optimising the visualization of content, e.g. distillation of HTML documents · CPC title

  • H04W4/18Primary

    Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals · CPC title

  • Physics · mapped topic

  • Physics · mapped topic

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 US9922007B1 cover?
An intermediary system operates as an intermediary between content servers and user devices, and provides services for improving page load times as seen by end users. One such service involves converting a retrieved content page (e.g., web page) into a number of encoded layers that can be decoded and rendered by the user device. The intermediary system determines a suitable encoding technique f…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04W4/18. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 20 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).