Differential dictionary compression of network-accessible content

US9973597B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9973597-B1
Application numberUS-201414566419-A
CountryUS
Kind codeB1
Filing dateDec 10, 2014
Priority dateDec 10, 2014
Publication dateMay 15, 2018
Grant dateMay 15, 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.

Server systems are disclosed that retrieve content on behalf of client devices and compress the retrieved content based on information known to be available to the client devices. The server systems may use server-side copies of compression dictionaries stored on the client devices. The compression dictionaries may be based on content portions, scripts, formatting data, and other byte sequences typically found in content. In some embodiments, device-specific, browser-specific, or user-specific compression dictionaries may be used based on content requested by the respective devices/browsers/users, and the server systems may maintain server-side copies of each dictionary. During compression, the server systems may generate additional compression information, such as new compression dictionary entries, and may provide information to the clients about the differences between the server-side and client-side compression dictionaries to so that the client devices can update the client-side compression dictionaries.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a server system configured to act as an intermediary between user devices and content servers, the server system comprising one or more server computing devices, wherein the server system is programmed to at least: compress content, retrieved on behalf of a user device, using a server-side copy of a compression dictionary that corresponds to a client-side copy of the compression dictionary on the user device, the compression dictionary generated based at least partly on compressing requested content, wherein the compression dictionary comprises byte sequences used in compressing requested content, and wherein an additional compression dictionary entry is generated during compression of the content retrieved on behalf of the user device; and provide to the user device, in response to a request from the user device for the content, both (1) the compressed content and (2) data regarding a difference between the server-side copy and the client-side copy of the compression dictionary, the difference corresponding to the additional compression dictionary entry; and a browser application that runs on the user devices, the browser application configured to at least: decompress the compressed content using the client-side copy of the compression dictionary; and update the client-side copy of the compression dictionary using the data regarding the difference between the server-side copy and the client-side copy of the compression dictionary. 2. The system of claim 1 , wherein the browser application is further configured to at least synchronize the client-side copy of the compression dictionary with the server-side copy of the compression dictionary by merging, into the client-side copy, at least a portion of the data regarding the difference between the server-side copy and client-side copy. 3. The system of claim 1 , wherein the server system is further configured to at least: maintain a plurality of different server-side copies of compression dictionaries; and select the server-side copy of the compression dictionary from the plurality of different server-side copies of compression dictionaries based at least partly on a characteristic of content requested by the browser application. 4. The system of claim 2 , wherein the browser application is further configured to at least provide a notification to the server system regarding the merging. 5. Non-transitory computer-readable storage having stored thereon computer-executable instructions comprising: a browser module configured to cause a user computing device to at least: transmit, to a network-accessible server, a request for content, the content comprising at least a first portion and a second portion; receive, from the network-accessible server in response to the request from the browser module for the content: the first portion of the content; a reference to data in a client-side copy of a content data collection on the user computing device, the referenced data corresponding to the second portion of the content; and data regarding a difference between a server-side copy of the content data collection and the client-side copy of the content data collection, wherein the difference corresponds to a byte sequence used in decompressing content received from the network-accessible server; and generate a representation of the requested content based at least partly on the referenced data in the client-side copy of the content data collection. 6. The non-transitory computer-readable storage of claim 5 , wherein the browser module comprises one of: a browser application; a browser add-on; a browser extension; or a stand-alone application separate from a browser application. 7. The non-transitory computer-readable storage of claim 5 , wherein the network-accessible server is configured to act as an intermediary between user devices and content servers. 8. The non-transitory computer-readable storage of claim 5 , wherein the content data collection is previously generated based at least partly on portions of commonly requested content. 9. The non-transitory computer-readable storage of claim 5 , wherein the content data collection comprises a compression dictionary generated based at least partly on content requested by one of: the user computing device; the browser module; or a user of the browser module. 10. The non-transitory computer-readable storage of claim 5 , the process further comprising synchronizing the client-side copy of the content data collection with the server-side copy of the content data collection by merging, into the client-side copy, at least a portion of the data regarding the difference between the server-side copy and client-side copy. 11. The non-transitory computer-readable storage of claim 5 , the process further comprising: maintaining a plurality of different client-side copies of content data collections; and selecting the client-side copy of the content data collection from the plurality of different client-side copies of content data collection based at least partly on the content. 12. The non-transitory computer-readable storage of claim 9 , the process further comprising decompressing the content based at least partly on additional data stored on the user computing device prior to transmitting the request. 13. The non-transitory computer-readable storage of claim 10 , the process further comprising providing a notification to the server system regarding the merging. 14. A computer-implemented method comprising: as implemented by a server system comprising one or more server computing devices configured to execute specific instructions, compressing content, retrieved on behalf of a user device, using a server-side copy of a compression dictionary on the server system that corresponds to a client-side copy of the compression dictionary on the user device, wherein the compression dictionary comprises compression dictionary data regarding byte sequences used in compressing content, and wherein additional compression dictionary data is generated during compression of the content; and in response to a request from the user device for the content, providing, to the user device; the compressed content; and data regarding a difference between the server-side copy and the client-side copy of the compression dictionary, the difference corresponding to the additional compression dictionary data. 15. The computer-implemented method of claim 14 , wherein the one or more server computing devices are part of a system that acts as an intermediary between user devices and content servers. 16. The computer-implemented method of claim 14 , wherein the compression dictionary is a previously-generated compression dictionary based at least partly on compressing commonly requested content. 17. The computer-implemented method of claim 14 , further comprising selecting, from a plurality of compression dictionaries comprising a separate device-specific compression dictionary for each of a plurality of user devices, the server-side copy of the compression dictionary based at least partly on data identifying the user device. 18. The computer-implemented method of claim 14 , further comprising: receiving, from the user device, an identifier of the client-side copy of the compression dictionary; and selecting, from a plurality of server-side copies of compression dictionaries, the server-side copy of the compression dictionary to use when compressing the content, the server-side copy selected based at least partly on the identifier.

Assignees

Inventors

Classifications

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • H04L69/04Primary

    Protocols for data compression, e.g. ROHC · CPC title

  • Electricity · 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 US9973597B1 cover?
Server systems are disclosed that retrieve content on behalf of client devices and compress the retrieved content based on information known to be available to the client devices. The server systems may use server-side copies of compression dictionaries stored on the client devices. The compression dictionaries may be based on content portions, scripts, formatting data, and other byte sequences…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L69/04. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 15 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).