Class-based intelligent multiplexing over unmanaged networks
First Claim
1. A method of adapting content-stream bandwidth, comprising:
- generating a content stream for transmission over an unmanaged network with varying capacity;
sending the content stream, via the unmanaged network, toward a client device;
monitoring the capacity of the unmanaged network;
determining whether an aggregate bandwidth of an upcoming portion of the content stream fits the capacity, wherein the upcoming portion of the content stream includes video content and user-interface data;
in response to a determination that the aggregate bandwidth of the upcoming portion of the content stream does not fit the capacity;
when the user-interface data is the result of a user interaction;
prioritizing low latency for the user-interface data over maintaining a frame rate of the video content; and
reducing a size of the upcoming portion of the content stream in accordance with the prioritizing, the reducing comprising decreasing the frame rate of the video content;
determining whether decreasing the frame rate of the video content sufficiently reduces the aggregate bandwidth of the upcoming portion of the content stream; and
in response to determining that decreasing the frame rate of the video content does not sufficiently reduce the aggregate bandwidth of the upcoming portion of the content stream, decreasing a frame rate of the user-interface data.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of adapting content-stream bandwidth includes generating a content stream for transmission over an unmanaged network with varying capacity and sending the content stream toward a client device. The method includes monitoring the capacity of the unmanaged network and determining whether an aggregate bandwidth of an upcoming portion of the content stream fits the capacity. The upcoming portion of the content stream includes video content and user-interface data. The method further includes, in response to a determination that the aggregate bandwidth of the upcoming portion of the content stream does not fit the capacity, prioritizing low latency for the user-interface data over maintaining a frame rate of the video content when the user-interface data is the result of a user interaction and reducing a size of the upcoming portion of the content stream in accordance with the prioritizing. The reducing comprises decreasing the frame rate of the video content.
784 Citations
13 Claims
-
1. A method of adapting content-stream bandwidth, comprising:
-
generating a content stream for transmission over an unmanaged network with varying capacity; sending the content stream, via the unmanaged network, toward a client device; monitoring the capacity of the unmanaged network; determining whether an aggregate bandwidth of an upcoming portion of the content stream fits the capacity, wherein the upcoming portion of the content stream includes video content and user-interface data; in response to a determination that the aggregate bandwidth of the upcoming portion of the content stream does not fit the capacity; when the user-interface data is the result of a user interaction; prioritizing low latency for the user-interface data over maintaining a frame rate of the video content; and reducing a size of the upcoming portion of the content stream in accordance with the prioritizing, the reducing comprising decreasing the frame rate of the video content; determining whether decreasing the frame rate of the video content sufficiently reduces the aggregate bandwidth of the upcoming portion of the content stream; and in response to determining that decreasing the frame rate of the video content does not sufficiently reduce the aggregate bandwidth of the upcoming portion of the content stream, decreasing a frame rate of the user-interface data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 11, 12, 13)
-
-
9. An electronic device, comprising:
-
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; generating a content stream for transmission over an unmanaged network with varying capacity; monitoring the capacity of the unmanaged network; determining whether an aggregate bandwidth of an upcoming portion of the content stream fits the capacity, wherein the upcoming portion of the content stream includes video content and user-interface data; in response to a determination that the aggregate bandwidth of the upcoming portion of the content stream does not fit the capacity; when the user-interface data is the result of a user interaction; prioritizing low latency for the user-interface data over maintaining a frame rate of the video content; and reducing a size of the upcoming portion of the content stream in accordance with the prioritizing, the reducing comprising decreasing the frame rate of the video content; determining whether decreasing the frame rate of the video content sufficiently reduces the aggregate bandwidth of the upcoming portion of the content stream; and in response to determining that decreasing the frame rate of the video content does not sufficiently reduce the aggregate bandwidth of the upcoming portion of the content stream, decreasing a frame rate of the user-interface data.
-
-
10. A non-transitory computer-readable storage medium storing one or more programs configured for execution by an electronic device, the one or more programs comprising instructions for:
-
generating a content stream for transmission over an unmanaged network with varying capacity; monitoring the capacity of the unmanaged network; determining whether an aggregate bandwidth of an upcoming portion of the content stream fits the capacity, wherein the upcoming portion of the content stream includes video content and user-interface data; in response to a determination that the aggregate bandwidth of the upcoming portion of the content stream does not fit the capacity; when the user-interface data is the result of a user interaction; prioritizing low latency for the user-interface data over maintaining a frame rate of the video content; and reducing a size of the upcoming portion of the content stream in accordance with the prioritizing, the reducing comprising decreasing the frame rate of the video content; determining whether decreasing the frame rate of the video content sufficiently reduces the aggregate bandwidth of the upcoming portion of the content stream; and in response to determining that decreasing the frame rate of the video content does not sufficiently reduce the aggregate bandwidth of the upcoming portion of the content stream, decreasing a frame rate of the user-interface data.
-
Specification