Method and system for resource-aware dynamic bandwidth control
First Claim
1. A server comprising:
- a data encoder and a network engine, the data encoder and network engine operable to receive a data stream, and encode the data stream into I-packets or N-packets for transmission to a client according to an output bandwidth, wherein the data stream is encoded in N-packets during normal operation, and the data stream is encoded in I-packets only during an alarm state, the alarm state based on data processing state information received from the client and indicative of a data processing latency at the client, wherein encoded I-packets are intended to replace a portion of the previously transmitted N-packets that are in a processing queue at the client; and
wherein the network engine is operable to monitor network state information, and is responsive to the network state information and the data processing state information, to adjust the output bandwidth.
5 Assignments
0 Petitions
Accused Products
Abstract
Resource-aware dynamic bandwidth control uses information about current network state and receiver performance to avoid, minimize and/or recover from the effects of network spikes and data processing spikes. Linear models may be used to estimate a time required to process data packets in a data processing queue, and are thus useful to determine whether a data processing spike is occurring. When a data processing spike occurs, an alarm may be sent from a client to a server notifying the server that the client must drop packets. In response, the server can encode and transmit an independent packet suitable for replacing the queued data packets which can then be dropped by the client and the independent packet present to the processor instead.
25 Citations
12 Claims
-
1. A server comprising:
-
a data encoder and a network engine, the data encoder and network engine operable to receive a data stream, and encode the data stream into I-packets or N-packets for transmission to a client according to an output bandwidth, wherein the data stream is encoded in N-packets during normal operation, and the data stream is encoded in I-packets only during an alarm state, the alarm state based on data processing state information received from the client and indicative of a data processing latency at the client, wherein encoded I-packets are intended to replace a portion of the previously transmitted N-packets that are in a processing queue at the client; and wherein the network engine is operable to monitor network state information, and is responsive to the network state information and the data processing state information, to adjust the output bandwidth. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
receiving, by a server computer system, a data stream; encoding, by the server computer system, the data stream into I-packets or N-packets for transmission to a client according to an output bandwidth, wherein the data stream is encoded in N-packets during a normal processing state at the client, and the data stream is encoded in I-packets only during an alarm processing state at the client, the alarm processing state based on data processing state information received from the client and indicative of a data processing latency at the client, wherein encoded I-packets are intended to replace previously transmitted N-packets that are in a processing queue at the client; and dynamically adjusting, by the server computer system, the output bandwidth based on network state information and the data processing state information. - View Dependent Claims (6, 7, 8)
-
-
9. A non-transient computer-readable medium containing instructions for causing a computer system to:
-
receive a data stream; encode the data stream into I-packets or N-packets for transmission to a client according to an output bandwidth, wherein the data stream is encoded in N-packets during a normal processing state at the client, and the data stream is encoded in I-packets only during an alarm processing state at the client, the alarm processing state based on data processing state information received from the client and indicative of a data processing latency at the client, wherein encoded I-packets are intended to replace previously transmitted N-packets that are in a processing queue at the client; and dynamically adjust the output bandwidth based on network state information and the data processing state information. - View Dependent Claims (10, 11, 12)
-
Specification