Patent ID: 8489672

Claim:
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; determining, at the server side of the communications system, that the data block is being communicated in response to a request by a requesting client for a content object that is part of a content set identified by a content set identifier, the content set being predetermined to be of interest to a plurality of clients; 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, at the server side of the communications system, whether to communicate the data block to at least the requesting client by determining whether the data block is not presently stored local to the requesting client as a function of the fingerprint and a server-side client dictionary; determining, when it is determined to communicate the data block to at least the requesting client, whether to multicast the data block over the communications path to at least the plurality of clients according to the content set identifier; multicasting the data block over the communications path when it is determined to multicast the data block; and using the content set identifier to determine whether a client of the plurality of clients accepts the data block multicast over the communications path.