DELTACASTING FOR LIVE CONTENT
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 traffic at the server side of the communications system, the traffic comprising a header portion and a content portion and being part of a first client session stream configured to communicate a content stream comprising the traffic to a first client over the communications path, the server side comprising a global stream model configured to maintain models of active session streams being communicated over the communications path;
generating a fingerprint using byte-level information comprised by the content portion of the traffic;
using the fingerprint to determine whether the traffic matches byte-level information from a second client session stream according to the global stream model, the second client session stream being an active session stream used to communicate the content stream between the server side of the communications system and at least a second client over the communications path; and
when the traffic matches the byte-level information from the second client session stream according to the global stream model, configuring a shared session stream to multicast at least a portion of the content stream from the server side of the communications system to the first client and the second client over the communications path.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatuses, and systems are provided for improving utilization of a communications system (e.g., a satellite communications system) when handling live content requests. Embodiments use various techniques (e.g., dictionary coding techniques) to create fingerprints of content traversing the links of the communications system. These fingerprints are used to identify and exploit opportunities for using multicasting to share forward-link capacity by collapsing multiple, substantially identical live content session streams into fewer shared session streams (e.g., a single shared session stream).
62 Citations
28 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 traffic at the server side of the communications system, the traffic comprising a header portion and a content portion and being part of a first client session stream configured to communicate a content stream comprising the traffic to a first client over the communications path, the server side comprising a global stream model configured to maintain models of active session streams being communicated over the communications path; generating a fingerprint using byte-level information comprised by the content portion of the traffic; using the fingerprint to determine whether the traffic matches byte-level information from a second client session stream according to the global stream model, the second client session stream being an active session stream used to communicate the content stream between the server side of the communications system and at least a second client over the communications path; and when the traffic matches the byte-level information from the second client session stream according to the global stream model, configuring a shared session stream to multicast at least a portion of the content stream from the server side of the communications system to the first client and the second client over the communications path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. 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:
-
a modeling module, configured to maintain a global stream model configured to represent models of active session streams being communicated over the communications path; a server optimization module, communicatively coupled with the modeling module, and configured to; intercept traffic at the server side of the communications system, the traffic comprising a header portion and a content portion and being part of a first client session stream configured to communicate a content stream comprising the traffic to a first client over the communications path; generate a fingerprint using byte-level information comprised by the content portion of the traffic; and use the fingerprint to determine whether the traffic matches byte-level information from a second client session stream according to the global stream model, the second client session stream being an active session stream used to communicate the content stream between the server side of the communications system and at least a second client over the communications path; and a stream management module, communicatively coupled with the server optimization module and the modeling module, and configured to; configure a shared session stream to multicast at least a portion of the content stream from the server side of the communications system to the first client and the second client over the communications path when the traffic matches the byte-level information from the second client session stream according to the global stream model. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A machine-readable medium for handling 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 machine-readable medium having instructions stored thereon which, when executed by a machine, cause the machine to perform steps comprising:
-
intercepting traffic at the server side of the communications system, the traffic comprising a header portion and a content portion and being part of a first client session stream configured to communicate a content stream comprising the traffic to a first client over the communications path, the server side comprising a global stream model configured to maintain models of active session streams being communicated over the communications path; generating a fingerprint using byte-level information comprised by the content portion of the traffic; using the fingerprint to determine whether the traffic matches byte-level information from a second client session stream according to the global stream model, the second client session stream being an active session stream used to communicate the content stream between the server side of the communications system and at least a second client over the communications path; and when the traffic matches the byte-level information from the second client session stream according to the global stream model, configuring a shared session stream to multicast at least a portion of the content stream from the server side of the communications system to the first client and the second client over the communications path. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification