Patent classifications
H04L47/50
Data transmission method and apparatus
This application provides a data transmission method and apparatus. The method includes: determining a first sending rate based on a network performance objective of first data and a network status of a first transmission control protocol (TCP) connection of a transport layer protocol, where the first TCP connection is used to send the first data; and sending the first data based on the first sending rate. In this way, network congestion control is more flexible, and TCP-based data transmission efficiency is improved.
Resource fairness enforcement in shared IO interfaces
Described are platforms, systems, and methods for resource fairness enforcement. In one aspect, a programmable input output (IO) device comprises a memory unit, the memory unit having instructions stored thereon which, when executed by the programmable IO device, cause the programmable IO device to perform operations comprising: receiving an input from a logical interface (LIF); determining, by at least one meter, a metric regarding at least one resource used during a processing of the input through a programmable pipeline; and regulating additional input received from the LIF based on the metric and a threshold for the at least one resource.
Resource fairness enforcement in shared IO interfaces
Described are platforms, systems, and methods for resource fairness enforcement. In one aspect, a programmable input output (IO) device comprises a memory unit, the memory unit having instructions stored thereon which, when executed by the programmable IO device, cause the programmable IO device to perform operations comprising: receiving an input from a logical interface (LIF); determining, by at least one meter, a metric regarding at least one resource used during a processing of the input through a programmable pipeline; and regulating additional input received from the LIF based on the metric and a threshold for the at least one resource.
Out of order packet scheduler
An example method may include identifying a first transmit identifier (TID) associated with a first node of a wireless network as ready to transmit and adding the first TID to a ready to transmit queue at a first point in time. The method may also include identifying a second TID associated with a second node of the wireless network as ready to transmit, and adding the second TID to the ready to transmit queue at a second point in time later than the first point in time. The method may additionally include selecting the second TID from the ready to transmit queue before selecting the first TID based on a projected increased overall throughput of packets within the wireless network when communicating with the second node before communicating with the first node.
Out of order packet scheduler
An example method may include identifying a first transmit identifier (TID) associated with a first node of a wireless network as ready to transmit and adding the first TID to a ready to transmit queue at a first point in time. The method may also include identifying a second TID associated with a second node of the wireless network as ready to transmit, and adding the second TID to the ready to transmit queue at a second point in time later than the first point in time. The method may additionally include selecting the second TID from the ready to transmit queue before selecting the first TID based on a projected increased overall throughput of packets within the wireless network when communicating with the second node before communicating with the first node.
Rate update engine for reliable transport protocol
A system includes a first processor configured to analyze packets received over a communication protocol system and determine one or more congestion indicators from the analysis of the data packets, the one or more congestion indicators being indicative of network congestion for data packets transmitted over a reliable transport protocol layer of the communication protocol system. The system also includes a rate update engine separate from the packet datapath and configured to operate a second processor to receive the determined one or more congestion indicators, determine one or more congestion control parameters for controlling transmission of data packets based on the received one or more congestion indicators, and output a congestion control result based on the determined one or more congestion control parameters.
Rate update engine for reliable transport protocol
A system includes a first processor configured to analyze packets received over a communication protocol system and determine one or more congestion indicators from the analysis of the data packets, the one or more congestion indicators being indicative of network congestion for data packets transmitted over a reliable transport protocol layer of the communication protocol system. The system also includes a rate update engine separate from the packet datapath and configured to operate a second processor to receive the determined one or more congestion indicators, determine one or more congestion control parameters for controlling transmission of data packets based on the received one or more congestion indicators, and output a congestion control result based on the determined one or more congestion control parameters.
Application-level network queueing
There is disclosed in one example a network interface card (NIC), comprising: an ingress interface to receive incoming traffic; a plurality of queues to queue incoming traffic; an egress interface to direct incoming traffic to a plurality of server applications; and a queuing engine, including logic to: uniquely associate a queue with a selected server application; receive an incoming network packet; determine that the selected server application may process the incoming network packet; and assign the incoming network packet to the queue.
Application-level network queueing
There is disclosed in one example a network interface card (NIC), comprising: an ingress interface to receive incoming traffic; a plurality of queues to queue incoming traffic; an egress interface to direct incoming traffic to a plurality of server applications; and a queuing engine, including logic to: uniquely associate a queue with a selected server application; receive an incoming network packet; determine that the selected server application may process the incoming network packet; and assign the incoming network packet to the queue.
METHOD AND APPARATUS FOR ORDER ENTRY IN AN ELECTRONIC TRADING SYSTEM
Orders received by an electronic trading system are processed in batches based on the instrument to which an order relates. An incoming order is assigned to a queue of a queue set that makes up the batch according to a random process. Where orders are received from related trading parties, they are assigned to the same queue set according to their time of receipt. The batch has a random duration within defined minimum and maximum durations and at the end of the batch, the orders held in the queues are transferred to a matching thread of the trading system sequentially with one order being removed from each queue and a number of passes of the queues completed until orders have been removed.