Opportunistic content delivery using delta coding
US-2019379726-A1 · Dec 12, 2019 · US
US2023328131A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2023328131-A1 |
| Application number | US-202318152730-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jan 10, 2023 |
| Priority date | Oct 25, 2011 |
| Publication date | Oct 12, 2023 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods are described for avoiding redundant data transfers using delta coding techniques when reliably and opportunistically communicating data to multiple user systems. According to embodiments, user systems track received block sequences for locally stored content blocks. An intermediate server intercepts content requests between user systems and target hosts, and deterministically chucks and fingerprints content data received in response to those requests. A fingerprint of a received content block is communicated to the requesting user system, and the user system determines based on the fingerprint whether the corresponding content block matches a content block that is already locally stored. If so, the user system returns a set of fingerprints representing a sequence of next content blocks that were previously stored after the matching content block. The intermediate server can then send only those content data blocks that are not already locally stored at the user system according to the returned set of fingerprints.
Opening claim text (preview).
1 .- 32 . (canceled) 33 . A method for communication of content data over a communication network, the method comprising: receiving, at a client device over the communication network, an identifier that identifies a content chunk of content data from an intermediate server; generating a response at the client device that indicates the content chunk and other content chunks of the content data are cached at the client device; sending the response to the intermediate server over the communication network; and receiving, at the client device over the communication network, additional content chunks of the content data from the intermediate server, wherein the additional content chunks do not include the content chunk or the other content chunks indicated as being cached at the client device. 34 . The method of claim 33 , further comprising: requesting the content data at the client device. 35 . The method of claim 34 , wherein the requesting the content data comprises: sending a request for the content data from the client device that is received at the intermediate server. 36 . The method of claim 35 , wherein the intermediate server intercepts the request sent from the client device. 37 . The method of claim 33 , wherein the intermediate server chunks the content data into a plurality of content chunks, the content chunk comprises one of the plurality of content chunks, and the other content chunks comprise different content chunks of the plurality of content chucks other than the content chunk. 38 . The method of claim 37 , wherein the plurality of content chunks are determined to ensure that the identifier for a given content chunk can be repeatably identified with the identifier. 39 . The method of claim 33 , wherein the content chunk comprises at least one of a byte sequence, a file, or a set of files. 40 . The method of claim 33 , wherein the other content chunks are sequential content chunks that was sequentially received at the client device after the content chunk. 41 . The method of claim 33 , wherein the identifier identifies candidate matches between the content chunk and a cached content chunk at the client device. 42 . The method of claim 41 , wherein the identifier is created from a content portion of the content chunk. 43 . The method of claim 41 , wherein the identifier comprises a fingerprint of the content chunk. 44 . The method of claim 33 , wherein the identifier comprises header information from a header portion. 45 . The method of claim 44 , wherein the header information indicates that the content data comprises a content stream. 46 . The method of claim 33 , wherein the communication network comprises a cellular communication network. 47 . The method of claim 46 , wherein the communication network comprises a client-server communication link comprising a cellular link. 48 . The method of claim 33 further comprising playing the content data on a media player at the client device, wherein the playing comprises: playing the content chunk and the other content chunks from a cache at the client device; and playing the additional content chunks as received from the intermediate server. 49 . A client device for receipt of content data over a communication network, the client device comprising: a client cache storing cached content chunks; an object processor subsystem that receives an identifier that identifies a content chunk of content data from an intermediate server and generates a response that indicates the content chunk and other content chunks of the content data are included in the cached content chucks stored in the client cache; and a communications subsystem that sends the response to the intermediate server over the communication network and receives additional content chunks of the content data from the intermediate server, wherein the additional content chunks do not include the content chunk or the other content chunks. 50 . The client device of claim 49 , wherein the communications subsystem requests the content data at the client device. 51 . The client device of claim 50 , wherein the communications subsystem sends a request for the content data from the client device that is received at the intermediate server. 52 . The client device of claim 51 , wherein the intermediate server intercepts the request sent from the client device. 53 . The client device of claim 49 , wherein the intermediate server chunks the content data into a plurality of content chunks, the content chunk comprises one of the plurality of content chunks, and the other content chunks comprise different content chunks of the plurality of content chucks other than the content chunk. 54 . The client device of claim 53 , wherein the plurality of content chunks are determined to ensure that the identifier for a given content chuck can be repeatably identified with the identifier. 55 . The client device of claim 49 , wherein the content chunk comprises at least one of a byte sequence, a file, or a set of files. 56 . The client device of claim 49 , wherein the other content chunks are sequential content chunks that were sequentially received at the client device after the content chunk. 57 . The client device of claim 49 , wherein the identifier identifies candidate matches between the content chunk and a cached content chunk stored in the client cache. 58 . The client device of claim 57 , wherein the identifier is created from a content portion of the content chunk. 59 . The client device of claim 57 , wherein the identifier comprises a fingerprint of the content chunk. 60 . The client device of claim 49 , wherein the identifier comprises header information from a header portion. 61 . The client device of claim 60 , wherein the header information indicates that the content data comprises a content stream. 62 . The client device of claim 49 , wherein the communication network comprises a cellular communication network. 63 . The client device of claim 62 , wherein the communications subsystem comprises a client-server communication link comprising a cellular link. 64 . The client device of claim 49 , further comprising: a media player at the client device that plays the content data by playing the content chunk and the other content chunks from the client cache, and playing the additional content chunks as received from the intermediate server.
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
Arrangements for adapting broadband applications to satellite systems · CPC title
Protocols for data compression, e.g. ROHC · CPC title
specially adapted for file transfer, e.g. file transfer protocol [FTP] · CPC title
with schedule organisation, e.g. priority, sequence management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.