CONTENT SET BASED DELTACASTING
First Claim
1. A method for multicasting 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:
- intercepting a data block at the server side 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;
associating the data block with the content set identifier;
generating a fingerprint using byte-level information comprised by the content portion of the data block;
determining whether to multicast the data block over the communications path according to the fingerprint; and
when it is determined to multicast the data block;
multicasting the data block over the communications path; and
using the content set identifier to determine whether a client accepts the data block multicast over the communications path.
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
33 Claims
-
1. A method for multicasting 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:
-
intercepting a data block at the server side 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; associating the data block with the content set identifier; generating a fingerprint using byte-level information comprised by the content portion of the data block; determining whether to multicast the data block over the communications path according to the fingerprint; and when it is determined to multicast the data block; multicasting the data block over the communications path; and using the content set identifier to determine whether a client accepts the data block multicast over the communications path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. 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:
-
receiving a data block at a client of the communications system, the data block comprising a header portion and a content portion and having been multicast to the client over the communications path as a result of determining whether to multicast the data block according to a fingerprint generated using byte-level information comprised by the content portion of the data block, and the data block being associated with a content set identifier identifying a content set comprising a plurality of content objects; and determining, at the client, whether to store the data block in a client dictionary according to the content set identifier. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A server system for multicasting 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 server system comprising:
-
an optimizer module, located at the server side of the communications system, and configured to; intercept 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; associate the data block with the content set identifier; and generate a fingerprint using byte-level information comprised by the content portion of the data block; and a communications module, communicatively coupled with the optimizer module, and configured to; determine whether to multicast the data block over the communications path according to the fingerprint; and when it is determined to multicast the data block; multicast the data block over the communications path; and use the content set identifier to determine whether a client accepts the data block multicast over the communications path. - View Dependent Claims (24, 25, 26)
-
-
27. 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:
-
an optimizer module, located at a client of the communications system, and configured to receive a data block at the client of the communications system, the data block comprising a header portion and a content portion and having been multicast to the client over the communications path as a result of determining whether to multicast the data block according to a fingerprint generated using byte-level information comprised by the content portion of the data block, and the data block being associated with a content set identifier identifying a content set comprising a plurality of content objects; and a dictionary management module, communicatively coupled with the optimizer module and a client dictionary, and configured to determine whether to store the data block in the client dictionary according to the content set identifier. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
Specification