Method and system for resource-aware dynamic bandwidth control
First Claim
1. A computer implemented methodtransmitting a specific data stream across a network from a first network node to a second network node according to a given output bandwidth;
- monitoring a network state of the network;
monitoring an input bandwidth of the second network node including;
receiving initial data packets corresponding to the specific data stream at the second network node;
inserting the initial data packets into a processing queue;
measuring a latency characteristic of the processing queue;
when the latency characteristic of the processing queue indicates that the initial data packets cannot be processed in a timely manner such that a processing task cannot be timely performed, sending an alarm signal from the second network node to the first network node;
dynamically adjusting the output bandwidth according to the network state and the input bandwidth such that the processing task for the second network node indicated by the specific data stream can be performed; and
upon receiving the alarm signal at the first network node, sending a specific packet from the first network node to the second network node, the specific packet intended to replace one or more of the initial data packets and enable the second network node to accomplish the processing task.
26 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.
-
Citations
18 Claims
-
1. A computer implemented method
transmitting a specific data stream across a network from a first network node to a second network node according to a given output bandwidth; -
monitoring a network state of the network; monitoring an input bandwidth of the second network node including; receiving initial data packets corresponding to the specific data stream at the second network node; inserting the initial data packets into a processing queue; measuring a latency characteristic of the processing queue; when the latency characteristic of the processing queue indicates that the initial data packets cannot be processed in a timely manner such that a processing task cannot be timely performed, sending an alarm signal from the second network node to the first network node; dynamically adjusting the output bandwidth according to the network state and the input bandwidth such that the processing task for the second network node indicated by the specific data stream can be performed; and upon receiving the alarm signal at the first network node, sending a specific packet from the first network node to the second network node, the specific packet intended to replace one or more of the initial data packets and enable the second network node to accomplish the processing task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for providing resource-aware dynamic bandwidth control comprising:
-
a server network node; a client network node coupled to the server network node via a communications network; wherein, the system is operable to monitor state information of the communications network, and state information of a data processor associated with the client network node; wherein, the server network node is operable to transmit data packets to the client network node according to an output bandwidth, and to dynamically adjust the output bandwidth based on state information of the communications network, and state information of the data processor associated with the client network node; wherein, the client network node is operable to process data packets received from the server network node according to an input bandwidth, wherein the input bandwidth corresponds to a data packet processing rate of the data processor associated with the client network node; wherein, the client network node is operable to; insert the data packets into a processing queue; measure a latency characteristic of the processing queue; when the latency characteristic of the processing queue indicates that the initial data packets cannot be processed in a timely manner such that a processing task cannot be timely performed, send an alarm signal to the server network node; wherein the client network node is further operable to identify a data packet processing spike; wherein the client network node is operable to send an alarm to the server network node responsive to identifying the data packet processing spike; and wherein the server network node is responsive to the alarm to generate an independent data packet corresponding to a workload indicated by data packets previously transmitted to the client network node, wherein the independent data packet can be processed independent of any other data packets. - View Dependent Claims (12, 16, 17)
-
-
13. A computer implemented method comprising:
-
transmitting a specific data stream across a network from a first network node to a second network node according to a given output bandwidth; monitoring an input bandwidth of the second network node, wherein the input bandwidth of the second network node is associated with a data processing rate of the second network node, the data processing rate of the second network node associated with processing the specific data received at the second network node; wherein monitoring the input bandwidth including; receiving initial data packets corresponding to the specific data stream at the second network node; inserting the initial data packets into a processing queue; measuring a latency characteristic of the processing queue; when the latency characteristic of the processing queue indicates that the initial data packets cannot be processed in a timely manner such that a processing task cannot be timely performed, sending an alarm signal from the second network node to the first network node; dynamically adjusting the output bandwidth with reference to the input bandwidth such that the processing task for the second network node indicated by the specific data stream can be performed; and upon receiving the alarm signal at the first network node, sending a specific packet from the first network node to the second network node, the specific packet intended to replace one or more of the initial data packets and enable the second network node to accomplish the processing task. - View Dependent Claims (14, 15, 18)
-
Specification