Content set based pre-positioning
First Claim
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.
5 Assignments
0 Petitions
Accused Products
Abstract
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.
167 Citations
15 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium disposed in a client system of a communications system and having instructions stored thereon which, when executed by a processor, cause the processor to perform steps comprising:
-
receiving a 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 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 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 a set-level profile associated with the content set identifier, such that the ACV metric is functionally related to the future compression gain; and determining whether to locally store the data block according to the ACV metric;
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.
-
Specification