Opportunistic content delivery using delta coding
US-9407355-B1 · Aug 2, 2016 · US
US9762635B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9762635-B2 |
| Application number | US-201313919861-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 17, 2013 |
| Priority date | Jan 13, 2009 |
| Publication date | Sep 12, 2017 |
| Grant date | Sep 12, 2017 |
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.
Methods, apparatuses, and systems are provided for improving utilization of the communications system through various “deltacasting” techniques for handling content sets (e.g., feeds or websites). In some embodiments, within a client-server context, content sets are anticipatorily pre-positioned in client dictionaries using multicasting techniques to share forward link capacity. Pre-positioning determinations are made according to byte-level data, set-level metadata, and/or user preferences. In some embodiments, when locally stored information from the content sets is requested by a user, deltacasting techniques are used to generate fingerprints for use in identifying and exploiting multicasting and/or other opportunities for increased utilization of links of the communications system.
Opening claim text (preview).
What is claimed is: 1. A method for pre-positioning content over a communications system having a communications path between a server side of the communications system and a plurality of clients, the communications path comprising a shared forward link over which bandwidth resources are shared during a multicast communication, the method comprising: receiving a data block at a client of the communications system, the data block comprising a header portion and a content portion and being communicated as part of a content set over the communications path, the content set comprising a plurality of content objects and being identified by a content set identifier, the content set identifier being associated with a set-level profile characterizing the content set, the data block having been multicast to the client in anticipation of a future request for the data block by the client according to generating an anticipatory content value (ACV) metric at least partially according to the set-level profile associated with the content set identifier by estimating a future compression gain achieved by pre-positioning the content set in anticipation of estimated future requests for the content set as a function of a percentage of the content set anticipated to change in relation to the estimated future requests for the content set, the future compression gain being estimated according to the set-level profile associated with the content set identifier, such that the ACV metric is functionally related to the future compression gain; determining whether to locally store the data block according to the ACV metric; and when it is determined to locally store the data block according to the ACV metric, locally storing the data block; wherein generating the ACV metric at least partially according to the set-level profile associated with the content set identifier comprises retrieving client preference information characterizing preferences of the client associated with the content set identifier or with at least one element of the set-level profile associated with the content set identifier, such that the ACV metric is generated at least according to the client preference information, and at least a portion of the client preference information is provided to the client by a user associated with the client. 2. The method of claim 1 , wherein locally storing the data block comprises: storing the data block in a client dictionary in association with the content set identifier. 3. The method of claim 1 , wherein generating the ACV metric further comprises: estimating the estimated future requests anticipated for the content set; estimating a cost of downloading the content set as pre-positioned content over the communications path in relation to the estimated future requests for the content set; and estimating the percentage of the content set anticipated to change in relation to the estimated future requests for the content set, such that the future compression gain is functionally related to the estimated number of future requests anticipated for the content set divided by the estimated cost of downloading the content set and the estimated percentage of the content set anticipated to change. 4. The method of claim 1 , wherein the content set identified by the content set identifier dynamically changes along with changes to the content objects comprised by the content set. 5. The method of claim 1 , wherein contents of the content set are defined according to contents of a content feed or a webpage. 6. The method of claim 1 , wherein the client is a first client and the data block is received in response to a request for the data block by a second client. 7. The method of claim 1 , further comprising: receiving a selection of one or more content sets via an interface of the client prior to receiving the data block, wherein determining whether to locally store the data block according to the ACV metric comprises determining whether the data block is part of one of the selected content sets according to the content set identifier. 8. A client system for handling content multicast over a communications system having a communications path between a server side of the communications system and a plurality of clients, the communications path comprising a shared forward link over which bandwidth resources are shared during a multicast communication, the client system comprising: a memory; a processor coupled with the memory; an optimizer module, located at a client of the communications system and executable by the processor to receive a data block at the client of the communications system, the data block comprising a header portion and a content portion and being communicated as part of a content set over the communications path, the content set comprising a plurality of content objects and being identified by a content set identifier, the content set identifier being associated with a set-level profile characterizing the content set, the data block having been multicast to the client in anticipation of a future request for the data block by the client according to an anticipatory content value (ACV) metric generated at least partially according to the set-level profile associated with the content set identifier by estimating a future compression gain achieved by pre-positioning the content set in anticipation of estimated future requests for the content set as a function of a percentage of the content set anticipated to change in relation to the estimated future requests for the content set, the future compression gain being estimated according to the set-level profile associated with the content set identifier, such that the ACV metric is functionally related to the future compression gain; and an dictionary management module, communicatively coupled with the optimizer module and a client dictionary, and executable by the processor to determine whether to store the data block in the client dictionary according to the ACV metric; wherein the ACV generator module is further communicatively coupled with a client preference data store that operates to store client preference information, and further operates to retrieve, from the client preference data store, a portion of the client preference information characterizing preferences of the client associated with the content set identifier or with at least one element of the set-level profile associated with the content set identifier, wherein the ACV generator module operates to generate the ACV metric at least according to the portion of the client preference information, and at least a portion of the client preference information is provided to the client by a user associated with the client. 9. The client system of claim 8 , wherein the dictionary management module operates to locally store the data block in the client dictionary in association with the content set identifier. 10. The client system of claim 8 , wherein the ACV generator module operates to generate the ACV metric further by: estimating the estimated future requests anticipated for the content set; estimating a cost of downloading the content set as pre-positioned content over the communications path in relation to the estimated future requests for the content set; and estimating the percentage of the content set anticipated to change in relation to the estimated future requests for the content set, such that the future compression gain is functionally related to the estimated number of future requests anticipated for the content set divided by the estimated cost of downloading the content set and the estimated percentage of the content set anticipated to change. 11. The client system of claim 8 , wher
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
Network streaming of media packets · CPC title
Space-based or airborne stations; {Stations for satellite systems}(H04B7/204 takes precedence) · CPC title
comprising mechanisms for improved reliability, e.g. status reports (arrangements for detecting or preventing errors by carrying supervisory signal the return channel H04L1/16) · CPC title
with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.