Content set based deltacasting
First Claim
1. A method for handling content multicast over a communications system having a communications path between a serverside 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:
- communicating a first request for a first content set of a plurality of content sets from a first client of the plurality of clients to the serverside at a first time instance, each content set of the plurality of content sets comprising a plurality of associated content objects, and each content set identified by a respective content set identifier including the first content set being identified by a first content set identifier that is associated with a set-level profile configured to characterize the first content set;
receiving at a second time instance after the first time instance a data block at the first client from the server side, the receiving of the data block not being responsive to a request by the first client prior to the receiving the data block at the second time instance, the data block comprising a header portion and a content portion and having been multicast to the first client over the shared forward link as a result of the server side intercepting the data block in association with a second request by a second client for the data block after the first time instance, and as a result of the server side determining to multicast the data block according to a fingerprint generated using only byte-level information comprised by the content portion of the data block, the data block being associated at the server side of the communications system with an associated content set identifier of a corresponding one of the plurality of content sets;
determining, at the first client after the receiving, whether to store the data block in a client dictionary according to whether the associated content set identifier associated with the received data block is the first content set identifier associated with the first requested first content set, wherein the wherein the determining comprises determining whether to store the data block according to at least a portion of the set-level profile; and
when it is determined to store the data block in the client dictionary according to the associated content set identifier being the first content set identifier, storing the data block in the client dictionary in association with the first content set identifier, the first content set identifier being associated with the set-level profile configured to characterize the first content set.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatuses, and systems are provided for improving utilization of the satellite communications system through various “deltacasting” techniques for handling content sets (e.g., feeds or websites). Embodiments operate in a client-server context, including a server optimizer, a client optimizer, and, in some embodiments, a pre-positioning client. Within this client-server context, content sets are multicast (e.g., anticipatorily pre-positioned in a local dictionary) to end users of the communications system and are handled at the content set level, according to 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 exploit multicasting and/or other opportunities for increased utilization of links of the communications system.
-
Citations
17 Claims
-
1. A method for handling content multicast over a communications system having a communications path between a serverside 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:
-
communicating a first request for a first content set of a plurality of content sets from a first client of the plurality of clients to the serverside at a first time instance, each content set of the plurality of content sets comprising a plurality of associated content objects, and each content set identified by a respective content set identifier including the first content set being identified by a first content set identifier that is associated with a set-level profile configured to characterize the first content set; receiving at a second time instance after the first time instance a data block at the first client from the server side, the receiving of the data block not being responsive to a request by the first client prior to the receiving the data block at the second time instance, the data block comprising a header portion and a content portion and having been multicast to the first client over the shared forward link as a result of the server side intercepting the data block in association with a second request by a second client for the data block after the first time instance, and as a result of the server side determining to multicast the data block according to a fingerprint generated using only byte-level information comprised by the content portion of the data block, the data block being associated at the server side of the communications system with an associated content set identifier of a corresponding one of the plurality of content sets; determining, at the first client after the receiving, whether to store the data block in a client dictionary according to whether the associated content set identifier associated with the received data block is the first content set identifier associated with the first requested first content set, wherein the wherein the determining comprises determining whether to store the data block according to at least a portion of the set-level profile; and when it is determined to store the data block in the client dictionary according to the associated content set identifier being the first content set identifier, storing the data block in the client dictionary in association with the first content set identifier, the first content set identifier being associated with the set-level profile configured to characterize the first content set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A client system for handling content multicast over a communications system having a communications path between a serverside of the communications system and a plurality of clients, the client system being implemented in a first client of the 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;a machine-implemented optimizer module stored in the memory and executable by the processor to; communicate to the server side a first request for a first content set of a plurality of content sets at a first time instance, each of the plurality of content sets comprising a plurality of associated content objects, each of the plurality of content sets being identified by a respective content set identifier including the first content set being identified by a first content set identifier that is associated with a set-level profile configured to characterize the first content set; and receive a data block from the server side at a second time instance after the first time instance, the data block not being responsive to a request by the first client prior to the data block being received, the data block comprising a header portion and a content portion and having been received via a multicast over the shared forward link as a result of the serverside intercepting the data block in association with a second request by a second client for the data block after the first time instance, and as a result of the server side determining to multicast the data block according to a fingerprint generated using only byte-level information comprised by the content portion of the data block, the data block being associated at the serverside of the communications system with an associated content set identifier of a corresponding one of the plurality of content sets; and a machine-implemented dictionary management module that is stored in the memory and executable by the processor and is communicatively coupled with the optimizer module and a client dictionary, to determine whether to store the data block in the client dictionary according to whether the associated content set identifier associated with the received data block is the first content set identifier associated with the first requested content set, wherein the dictionary management module operates to determine whether to store the data block in the client dictionary according to at least a portion of the set-level profile, and to store the data block in the client dictionary in association with the first content set identifier when it is determined to store the data block in the client dictionary according to the associated content set identifier being the first content set identifier, the first content set identifier being associated with the set-level profile configured to characterize the first content set. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method 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 method comprising:
-
communicating a first request for a first content set of a plurality of content sets from a first client of the plurality of clients to the serverside at a first time instance, each content set of the plurality of content sets comprising a plurality of associated content objects, and each content set identified by a respective content set identifier including the first content set being identified by a first content set identifier; receiving at a second time instance after the first time instance a data block at the first client from the server side, the receiving of the data block not being responsive to a request by the first client prior to the receiving the data block at the second time instance, the data block comprising a header portion and a content portion and having been multicast to the first client over the shared forward link as a result of the server side intercepting the data block in association with a second request by a second client for the data block after the first time instance, and as a result of the serverside determining to multicast the data block according to a fingerprint generated using only byte-level information comprised by the content portion of the data block, the data block being associated at the server side of the communications system with an associated content set identifier of a corresponding one of the plurality of content sets; and determining, at the first client after the receiving, whether to store the data block in a client dictionary according to whether the associated content set identifier associated with the received data block is the first content set identifier associated with the first requested first content set; and calculating a compression gain metric for the requested content set as a function of content set identifiers stored in association with contents of the client dictionary.
-
Specification