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 client side of the communications system, the communications path comprising a shared forward link over which bandwidth resources are shared during a multicast communication, the method comprising:
- intercepting traffic using a server optimizer located at the server side of the communications system between a content source and a plurality of client optimizers, the traffic comprising a header portion and a content portion and being communicated from the content source to a content destination associated with a first client optimizer, the first client optimizer being communicatively coupled with a first client dictionary;
generating a fingerprint as a function of byte-level information comprised by the content portion of the traffic;
determining whether to multicast the traffic by using the fingerprint to determine whether the traffic is currently stored in the first client dictionary; and
when it is determined to multicast the traffic, multicasting the traffic over the communications path from the server side of the communications system to at least the content destination associated with the first client optimizer.
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, using techniques referred to herein as “deltacasting.” Embodiments operate in a client-server context, in which the server-side of the communication link intercepts requests and responses using a client-server optimizer (e.g., a transparent proxy or in-line optimizer between a client web browser and an Internet content provider). The optimizer uses techniques, such as dictionary coding techniques, to create fingerprints of content traversing the links of the communications system. These fingerprints are used to identify and exploit multicasting and/or other opportunities for increased utilization of the communications links.
80 Citations
29 Claims
-
1. A method for multicasting over a communications system having a communications path between a server side of the communications system and a client side of the communications system, the communications path comprising a shared forward link over which bandwidth resources are shared during a multicast communication, the method comprising:
-
intercepting traffic using a server optimizer located at the server side of the communications system between a content source and a plurality of client optimizers, the traffic comprising a header portion and a content portion and being communicated from the content source to a content destination associated with a first client optimizer, the first client optimizer being communicatively coupled with a first client dictionary; generating a fingerprint as a function of byte-level information comprised by the content portion of the traffic; determining whether to multicast the traffic by using the fingerprint to determine whether the traffic is currently stored in the first client dictionary; and when it is determined to multicast the traffic, multicasting the traffic over the communications path from the server side of the communications system to at least the content destination associated with the first client optimizer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A server system for multicasting to a plurality of user systems via a communications link, each user system comprising a client optimizer, the server system comprising:
-
a server optimizer, in communication with a content source, in communication with the client optimizers via a communications path, and configured to; intercept traffic coming from the content source and destined for a user associated with a first client optimizer, the traffic comprising a header portion and a content portion, the content portion representing content being communicated from the content source to the user, the first client optimizer being communicatively coupled with a first client dictionary; and generate a fingerprint using byte-level information comprised by the content portion of the traffic; and a multicaster module, communicatively coupled with the server optimizer, and configured to; determine whether to multicast the traffic by using the fingerprint to determine whether the traffic is currently stored in the first client dictionary; and when the multicaster module determines to multicast the traffic, multicast the traffic over the communications path from the server optimizer to at least the first client optimizer. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A system for deltacasting comprising:
-
a plurality of user systems, each user system comprising; a client dictionary configured to store data local to the respective user system as an indexed set of data blocks; and a client optimizer, configured to receive traffic and control data, and to determine whether to store the received traffic at the respective client dictionary according to the control data; and a server system, in communication with a content source and in communication with the plurality of user systems over a communications path, and comprising; a server optimizer in communication with the client optimizers comprised by the plurality of user systems via the communications path, the server optimizer being configured to; intercept traffic coming from the content source and destined for a first client optimizer associated with a respective first client dictionary, the traffic comprising a header portion and a content portion, the content portion representing content being communicated from the content source to a user associated with the first client optimizer; and generate a fingerprint from byte-level information comprised by the content portion of the traffic; a modeling module configured to store dictionary models indicating contents of the client dictionaries; and a multicaster module, communicatively coupled with the server optimizer and the modeling module, and configured to; determine whether to multicast the traffic by using the fingerprint to determine whether the traffic is currently stored in the first client dictionary; and when the multicaster module determines to multicast the traffic, multicast the traffic over the communications path from the server optimizer to at least the user system associated with the first client optimizer. - View Dependent Claims (27, 28, 29)
-
Specification