Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
First Claim
1. A method for prioritizing content classes in multiplexed content streams, comprising:
- at a server system;
assigning a group of user sessions to a single modulator, wherein the user sessions comprise data in a plurality of classes, each class having a respective priority, wherein the plurality of classes includes, in order of priority from highest priority to lowest priority, audio data, video data, and user-interface graphical elements;
computing an aggregate bandwidth of the group of user sessions for a first frame time;
determining that the aggregate bandwidth for the first frame time exceeds a specified budget for the modulator;
in response to determining that the aggregate bandwidth for the first frame time exceeds the specified budget, allocating bandwidth for the group of user sessions during the first frame time in accordance with the class priorities;
using the modulator, multiplexing the group of user sessions onto a channel corresponding to the modulator, in accordance with the allocated bandwidth; and
transmitting the multiplexed group of user sessions over a managed network.
2 Assignments
0 Petitions
Accused Products
Abstract
Switched digital television programming for video-on-demand and other interactive television services are combined utilizing a class-based, multi-dimensional decision logic to simultaneously optimize video quality and audio uniformity while minimizing latency during user interactions with the system over managed networks such as cable and satellite television networks. A group of user sessions are assigned to a single modulator. The user sessions include data in a plurality of classes, each class having a respective priority. In response to a determination that an aggregate bandwidth of the group of user sessions for a first frame time exceeds a specified budget, bandwidth is allocated for the group of user sessions during the first frame time in accordance with the class priorities. The group of user sessions is multiplexed onto a channel corresponding to the modulator in accordance with the allocated bandwidth and transmitted over a managed network.
713 Citations
20 Claims
-
1. A method for prioritizing content classes in multiplexed content streams, comprising:
at a server system; assigning a group of user sessions to a single modulator, wherein the user sessions comprise data in a plurality of classes, each class having a respective priority, wherein the plurality of classes includes, in order of priority from highest priority to lowest priority, audio data, video data, and user-interface graphical elements; computing an aggregate bandwidth of the group of user sessions for a first frame time; determining that the aggregate bandwidth for the first frame time exceeds a specified budget for the modulator; in response to determining that the aggregate bandwidth for the first frame time exceeds the specified budget, allocating bandwidth for the group of user sessions during the first frame time in accordance with the class priorities; using the modulator, multiplexing the group of user sessions onto a channel corresponding to the modulator, in accordance with the allocated bandwidth; and transmitting the multiplexed group of user sessions over a managed network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
19. A server system, comprising:
-
a plurality of modulators to multiplex respective groups of user sessions onto respective channels for transmission over a managed network, in accordance with allocated bandwidth; one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for; assigning a group of user sessions to a single modulator of the plurality of modulators, wherein the user sessions comprise data in a plurality of classes, each class having a respective priority, wherein the plurality of classes includes, in order of priority from highest priority to lowest priority, audio data, video data, and user-interface graphical elements; computing an aggregate bandwidth of the group of user sessions for a first frame time; determining that the aggregate bandwidth for the first frame time exceeds a specified budget for the modulator; and in response to determining that the aggregate bandwidth for the first frame time exceeds the specified budget, allocating bandwidth for the group of user sessions during the first frame time in accordance with the class priorities.
-
-
20. A non-transitory computer-readable storage medium storing one or more programs configured for execution by one or more processors of a server system that further comprises a plurality of modulators to multiplex respective groups of user sessions onto respective channels for transmission over a managed network in accordance with allocated bandwidth, the one or more programs comprising instructions for:
-
assigning a group of user sessions to a single modulator of the plurality of modulators, wherein the user sessions comprise data in a plurality of classes, each class having a respective priority, wherein the plurality of classes includes, in order of priority from highest priority to lowest priority, audio data, video data, and user-interface graphical elements; computing an aggregate bandwidth of the group of user sessions for a first frame time; determining that the aggregate bandwidth for the first frame time exceeds a specified budget for the modulator; and in response to determining that the aggregate bandwidth for the first frame time exceeds the specified budget, allocating bandwidth for the group of user sessions during the first frame time in accordance with the class priorities.
-
Specification