Back to results
US 11,570,117 B2Granted
Congestion control
AssigneeNetduma Software, LTD.
InventorIain Kibet Fraser
Life of this patent
Estimating the term…
Abstract
In an embodiment, header information of messages is altered to specify a window within which to receive information, so that the messages sent by a remote device will be sent at a rate that a network can receive messages. The sending of acknowledgements of messages are paced to control window growth. Bandwidth is allocated to a plurality of flows such that the satisfied flows require less bandwidth than an amount of bandwidth allocated to each unsatisfied flow.
Claims21
A network system comprising:
- a machine having a module that controls congestion, the machine that has the module including at least
- a processor system having at least one processor and
- a memory system storing one or more machine instructions, which when implemented by the machine that has the module causes the machine that has the module to implement a method including at least,
- determining, by the machine that has the module, a rate characterizing a fastest rate at which a first machine is capable of receiving messages from a second machine, without creating congestion and the determining being performed without relying on probing for congestion to determine the rate;
- automatically altering, by the machine that has the module, header information of a message from the first machine to the second machine, to specify a window within which information is to be sent by the second machine, the window being chosen so that the information will be sent at the rate that was determined;
- and
- sending the message, via the processor system, to the second machine at the rate determined, the sending occurring after the altering of the header information.
4 more elements
A network system comprising:
- a machine having a module that controls congestion, the machine that has the module including at least
- a processor system having at least one processor and
- a memory system storing one or more machine instructions, which when implemented by the machine that has the module cause the machine that has the module to implement a method including at least,
- determining, by the machine that has the module, a rate at which a first machine is capable of receiving messages from a second machine, without creating congestion;
- automatically altering, by the machine that has the module, header information of a message from the first machine to the second machine, to specify a window within which information is to be sent by the second machine, the window being chosen so that the information will be sent at the rate that was determined;
- and
- sending the message, via the processor system, to the second machine at the rate determined, the sending occurring after the altering of the header information;
- the first machine being associated with a first window size, which is an indication of a maximum number of messages the second machine will accept from the first machine prior to the second machine receiving an acknowledgement message from the first machine;
- the second machine being associated with a second window size, which is a maximum of messages the first machine will accept from the second machine prior to the first machine receiving an acknowledgement message from the second machine;
- and
- the automatically altering including at least setting a window size that is based on a minimum of the first window size and the second window size.
8 more elements
A network system comprising:
- a machine having a module that controls congestion, the machine that has the module including at least
- a processor system having at least one processor and
- a memory system storing one or more machine instructions, which when implemented by the machine that has the module cause the machine that has the module to implement a method including at least,
- determining, by the machine that has the module, a rate at which a first machine is capable of receiving messages from a second machine, without creating congestion;
- automatically altering, by the machine that has the module, header information of a message from the first machine to the second machine, to specify a window within which information is to be sent by the second machine, the window being chosen so that the information will be sent at the rate that was determined;
- and
- sending the message, via the processor system, to the second machine at the rate determined, the sending occurring after the altering of the header information,
- the first machine running Transmission Control Protocol (TCP) and the second machine running the TCP, the window set by the machine having the module, being different than a window that would have been set according to the TCP had the window not been set by the machine having the module altering the header information.
5 more elements
A network system comprising:
- a machine having a module that controls congestion, the machine that has the module including at least
- a processor system having at least one processor and
- a memory system storing one or more machine instructions, which when implemented by the machine that has the module cause the machine that has the module to implement a method including at least,
- determining, by the machine that has the module, a rate at which a first machine is capable of receiving messages from a second machine, without creating congestion;
- automatically altering, by the machine that has the module, header information of a message from the first machine to the second machine, to specify a window within which information is to be sent by the second machine, the window being chosen so that the information will be sent at the rate that was determined;
- and
- sending the message, via the processor system, to the second machine at the rate determined, the sending occurring after the altering of the header information;
- the window being associated with how many messages the first machine will accept prior to receiving an acknowledgment of a prior message, the method further comprising:
- the first machine receiving from the second machine an acknowledgement of a message that was sent to the second machine;
- and
- in response to receiving the acknowledgement, shifting the window forward to thereby allow more messages to be received by the first machine from the second machine prior to first machine receiving a next acknowledgement of another message sent from the first machine to the second machine.
8 more elements
A network method comprising:
- automatically determining, by a machine having a module for controlling congestion, a rate characterizing a fastest rate at which a first machine is capable of receiving messages from a second machine, without relying on probing for congestion for determining the rate, the machine having the module including at least a processor system having at least one processor and a memory system storing one or more machine instructions;
- automatically altering, by the machine that has the module, header information of a message from the first machine to the second machine, to specify a window within which information is to be sent by the second machine, the window being chosen so that the information will be sent at the rate that was determined;
- and
- sending the message, via the processor system, to the second machine at the rate determined, the sending occurring after the altering of the header information.
1 more element
Dependencies are inferred from the claim text.