Method and system for data packet queue recovery
First Claim
1. 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, the specific data stream including normal packets (N-packets) which are processed sequentially;
monitoring for an alarm signal from the second network node indicating a processing spike of the specific data stream, the alarm signal includes indication of an input bandwidth of the second network node;
dynamically adjusting the output bandwidth in response to receiving the alarm signal with reference to the input bandwidth; and
in response to receiving the alarm signal, transmitting an independent packet (I-packet) to the second network node, wherein the I-packet is a network packet processed independently of other packets at the second network node;
wherein transmitting the I-packet is for replacing remaining packets from a processing queue of the second network node and for enabling the second network node to accomplish a processing task; and
wherein dynamically adjusting the output bandwidth includes lowering the output bandwidth in order to decrease a processing queue latency of the processing queue.
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
12 Claims
-
1. 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, the specific data stream including normal packets (N-packets) which are processed sequentially; monitoring for an alarm signal from the second network node indicating a processing spike of the specific data stream, the alarm signal includes indication of an input bandwidth of the second network node; dynamically adjusting the output bandwidth in response to receiving the alarm signal with reference to the input bandwidth; and in response to receiving the alarm signal, transmitting an independent packet (I-packet) to the second network node, wherein the I-packet is a network packet processed independently of other packets at the second network node; wherein transmitting the I-packet is for replacing remaining packets from a processing queue of the second network node and for enabling the second network node to accomplish a processing task; and wherein dynamically adjusting the output bandwidth includes lowering the output bandwidth in order to decrease a processing queue latency of the processing queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer implemented method comprising:
-
receiving, from a server, a data stream including normal data packets (N-packets) at a client device; queuing the N-packets in a data processing queue for processing at the client device; estimating data packet processing latency of the N-packets; when the data packet processing latency corresponds to a data processing latency spike, sending an alarm signal from the client device to the server; and dropping a remaining portion of the N-packets in the data processing queue in response to receiving an independent network packet (I-packet) from the server; wherein the I-packet is independently processed at the client device asynchronous to previously received network packets; wherein estimating the data packet processing latency includes estimating data packet processing time for the queued N-packets based on a linear model; wherein the data packet processing time is computed as; T=C+S*B, where T is the estimated data packet processing time, C is a constant processing delay time independent of data packet size, B is a processing bandwidth, and S is a measure of packet size.
-
-
11. A processor-based server system for providing resource-aware dynamic bandwidth control comprising:
-
a non-transitory storage medium storing a server network module, the server network module operable when executed by a processor; wherein, the server network module is operable to; transmit a specific data stream across a network to a client network node according to a given output bandwidth, the specific data stream including normal packets (N-packets) which are processed sequentially; monitor for an alarm signal from the client network node indicating a processing spike of the specific data stream, the alarm signal includes indication of an input bandwidth of the client node; dynamically adjust the output bandwidth in response to receiving the alarm signal with reference to the input bandwidth; in response to receiving the alarm signal, transmit an independent packet (I-packet) to the client network node, wherein the I-packet is a network packet processed independently of other packets at the client network node; wherein the processing spike corresponds to data processing latency at the client network node as estimated based on a linear model by adding a constant processing delay time independent of data packet size with a processing bandwidth multiplied by a measure of packet size.
-
-
12. A network management processor-based system comprising:
-
a network engine stored on a non-transitory storage medium, the network engine operable when executed by a processor; wherein, the network engine is operable to; receive, from a server, a data stream including normal data packets (N-packets); queue the N-packets in a data processing queue for processing; estimate data packet processing latency of the N-packets; when the data packet processing latency corresponds to a data processing latency spike, send an alarm signal to the server; and drop a remaining portion of the N-packets in the data processing queue in response to receiving an independent network packet (I-packet) from the server; wherein the I-packet is independently processed asynchronous to previously received network packets wherein when the data packet spiked is detected, a state information of the data processing queue including the alarm signal is sent to the server, the alarm signal indicating that the network engine must drop packets due to the data processing spike; wherein the network engine is responsive to the I-packet to drop all packets in the data packet queue and present the I-packet to the processor, wherein the I-packet corresponds to a workload in the dropped packets; and wherein data packet processing latency is computed as; T=C+S*B, where T is the estimated data packet processing latency, C is a constant processing delay time independent of data packet size, B is a processing bandwidth, and S is a measure of packet size.
-
Specification