CORRELATIVE ANTICIPATORY 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 over the communications path;
generating a fingerprint using byte-level information comprised by the content portion of the data block;
using the fingerprint to make a matching determination, the matching determination indicating whether the data block matches a logged data block having previously been communicated to at least one of the plurality of clients of the communications system;
determining whether a trigger event has occurred according to the matching determination; and
when the trigger event has occurred according to the matching determination, multicasting the data block from the server side of the communications system over the communications path.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatuses, and systems for improving utilization of a communications system (e.g., a satellite communications system) are provided through techniques referred to herein as “deltacasting.” Some embodiments use a server-side optimizer to intercept and create fingerprints of byte-level content data traversing links of the communications system. The content fingerprints are used to transparently identify communications patterns (e.g., repetitious downloads of the same content, correlations between users, etc.), which may then be used in exploiting multicasting and/or other opportunities for increased utilization of the communication links.
146 Citations
30 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 over the communications path; generating a fingerprint using byte-level information comprised by the content portion of the data block; using the fingerprint to make a matching determination, the matching determination indicating whether the data block matches a logged data block having previously been communicated to at least one of the plurality of clients of the communications system; determining whether a trigger event has occurred according to the matching determination; and when the trigger event has occurred according to the matching determination, multicasting the data block from the server side of the communications system over the communications path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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 to a requesting client over the communications path; updating a client usage model to indicate that the data block is being communicated to the requesting client, the client usage model being configured to represent which data blocks have been previously communicated and to which clients of the communications system the data blocks have been previously communicated; generating a user correlation model by calculating correlations between the data blocks communicated to the requesting client and the data blocks communicated to other clients of the communications system according to the client usage model; and multicasting the data block from the server side of the communications system to at least the requesting client over the communications path according to the user correlation model. - View Dependent Claims (12, 13, 14, 15)
-
-
16. 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, configured to; intercept 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 to a requesting client over the communications path; generate a fingerprint using byte-level information comprised by the content portion of the data block; use the fingerprint to make a matching determination, the matching determination indicating whether the data block matches a logged data block having previously been communicated to at least one of the plurality of clients of the communications system; and determine whether a trigger event has occurred according to the matching determination; and a multicaster module, communicatively coupled with the optimizer module, and configured to; multicast the data block from the server side of the communications system over the communications path when the trigger event has occurred according to the matching determination. - View Dependent Claims (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 configured to; intercept 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 to a requesting client over the communications path; update a client usage model to indicate that the data block is being communicated to the requesting client, the client usage model being configured to represent which data blocks have been previously communicated and to which clients of the communications system the data blocks have been previously communicated; and generate a user correlation model by calculating correlations between the data blocks communicated to the requesting client and the data blocks communicated to other clients of the communications system according to the client usage model; and a multicaster module, communicatively coupled with the optimizer module, and configured to; multicast the data block from the server side of the communications system to at least the requesting client over the communications path according to the user correlation model. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
Specification