Methods and apparatus for predictive delivery of content over a network
First Claim
1. A network apparatus adapted to determine which of a plurality of content elements to distribute over a content delivery network at a given future time, said apparatus comprising:
- a storage element; and
a processor, said processor configured to execute at least one computer program thereon, said computer program comprising a plurality of instructions which are adapted to when executed;
collect viewership data from a plurality of devices;
determine individual ones of said plurality of content elements that are predicted to be requested by said plurality of devices at said future time based at least in part upon said viewership data;
at said future time, generate a multiplexed stream comprising said individual ones of said plurality of content elements predicted to be requested by said plurality of devices at said future time equal to an available bandwidth;
receive a request for content from at least one of said plurality of devices;
determine whether said requested content is within said multiplexed stream currently being delivered to said plurality of devices; and
when said requested content is within said multiplexed stream currently being delivered to said plurality of devices, provide a requesting device information to tune thereto, otherwise, selectively switch said requested content into said multiplexed stream.
7 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for optimizing bandwidth utilization in a cable network. In one embodiment, the method comprises predicting which content will be requested by a set of users based upon the exhibited viewing habits of those users (and/or others). A server process gathers viewership data comprising a listing of programs requested by users at various times of the day. The server process aggregates the viewership data, identifies patterns within the aggregated data, and extrapolates a schedule of programs likely to be requested. In certain embodiments, the server process additionally gathers the capabilities of each cable device in an associated subnetwork. Based upon these capabilities, and based upon the total bandwidth predicted to remain available in the network over a target broadcast period, the server process may also select an optimal compression scheme and video quality level before broadcasting a certain program.
-
Citations
40 Claims
-
1. A network apparatus adapted to determine which of a plurality of content elements to distribute over a content delivery network at a given future time, said apparatus comprising:
-
a storage element; and a processor, said processor configured to execute at least one computer program thereon, said computer program comprising a plurality of instructions which are adapted to when executed; collect viewership data from a plurality of devices; determine individual ones of said plurality of content elements that are predicted to be requested by said plurality of devices at said future time based at least in part upon said viewership data; at said future time, generate a multiplexed stream comprising said individual ones of said plurality of content elements predicted to be requested by said plurality of devices at said future time equal to an available bandwidth; receive a request for content from at least one of said plurality of devices; determine whether said requested content is within said multiplexed stream currently being delivered to said plurality of devices; and when said requested content is within said multiplexed stream currently being delivered to said plurality of devices, provide a requesting device information to tune thereto, otherwise, selectively switch said requested content into said multiplexed stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of operating a content distribution network, comprising:
-
at a service node of said network, predicting based at least in part on historical data collected from each of a group of client devices serviced by said service node a plurality of content elements to be requested by said group of client devices at a given point in time; and at said given point in time, delivering a multiplex comprising said predicted plurality of content elements to said group of client devices, an available bandwidth of said multiplex being filled via said predicted plurality of content elements; wherein operation of at least one of said group of client devices to receive said plurality of content elements from said service node occurs without communicating a selection of said plurality of content elements from said at least one of said group of client devices to said network; and wherein when a selection of a particular content element by a particular one of said group of client devices comprises selection of a content element not within said predicted plurality of content elements is received, dynamically adjusting said multiplex to include said particular one content elements not previously predicted to be requested. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. A method of providing content in a bandwidth constrained network having a broadcast switched architecture, said method comprising:
-
delivering via a first content multiplex a first subset of available programming to a plurality of client devices in a service group, each of said first subset of available programming comprising only programming particularly requested by at least one of said plurality of client devices; delivering via said first content multiplex a second subset of available programming to said plurality of client devices in said service group to fill an available bandwidth thereof, each of said second subset of available programming comprising only programming which is predicted to be requested by at least one of said plurality of client devices at a particular time, said prediction based at least in part upon aggregation and analysis of viewership data collected from all of said plurality of client devices in said service group; receiving a request for programming not previously requested from a first one of said plurality of client devices; determining whether said requested programming is within said second subset; when said requested programming is within said second subset, providing said first one of said plurality of client devices information to cause said device to tune to said requested programming; and when said requested programming is not within said second subset, adding said requested programming to said first content multiplex.
-
-
31. A non-transitory computer readable medium comprising a plurality of instructions, which, when executed, cause delivery of a plurality of content elements over a content delivery network via at least:
-
evaluation of historical viewership data from each of a group of client devices serviced by a service node; prediction, based at least in part on said historical viewership data, of a first subset of said plurality of content elements which have a threshold likelihood of being requested for delivery at a future time by at least one of said group of client devices; at said future time and in an absence of a user request for any of said first subset of said plurality of content elements, delivery of a multiplex comprising said first subset of said plurality of content elements to fill an available bandwidth thereof; and upon receipt of a user request for a particular one of said plurality of content elements not predicted to have a threshold likelihood of being requested for delivery at said future time, addition of said particular one of said plurality of content elements to said multiplex for delivery simultaneously with said first subset of said plurality of content elements. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification