H04L47/6225

Request arbitration by age and traffic classes

Example implementations relate to hybrid arbitration of requests for access to a shared pool of resources. An example implementation includes receiving a set of requests for access to the shared pool of resources. The requests may each be from any number of traffic classes. A traffic class may be selected according to turn-based arbitration logic. Additionally, a request from each traffic class of a subset of received requests may be selected. A request selected by the age-based arbitration logic and of the selected traffic class may be granted access to the shared pool of resources.

Method and apparatus for providing a service with a plurality of service nodes

Some embodiments provide an elastic architecture for providing a service in a computing system. To perform a service on the data messages, the service architecture uses a service node (SN) group that includes one primary service node (PSN) and zero or more secondary service nodes (SSNs). The service can be performed on a data message by either the PSN or one of the SSN. However, in addition to performing the service, the PSN also performs a load balancing operation that assesses the load on each service node (i.e., on the PSN or each SSN), and based on this assessment, has the data messages distributed to the service node(s) in its SN group. Based on the assessed load, the PSN in some embodiments also has one or more SSNs added to or removed from its SN group. To add or remove an SSN to or from the service node group, the PSN in some embodiments directs a set of controllers to add (e.g., instantiate or allocate) or remove the SSN to or from the SN group. Also, to assess the load on the service nodes, the PSN in some embodiments receives message load data from the controller set, which collects such data from each service node. In other embodiments, the PSN receives such load data directly from the SSNs.

A Method of Communication between Nodes in a Network
20220123864 · 2022-04-21 ·

A method of communicating between nodes in a network where a node receives a sequence of symbols that will form a packet on a first communications channel and has a planned packet that it would send on a second communications channel. A destination is encoded into an arbitration portion of a header sequence of the packet, the header sequence comprising a sequence of symbols. The transmission on the second communications channel is as per the planned packet, for as long as the symbols of the planned packet match the symbols being received on the first channel. An arbitration decision is made when the symbols do not match, with the node either continuing to send the rest of the planned packet, or the rest of the packet being received on the first communications channel.

PACKET ARBITRATION FOR BUFFERED PACKETS IN A NETWORK DEVICE
20220124051 · 2022-04-21 ·

Devices and techniques for packet arbitration for buffered packets in a network device are described herein. A packet can be received at an input of the network device. The packet can be placed in a buffer for the input and a characteristic of the packet can be obtained. A record for the packet, that includes the characteristic, is written into a data structure that is independent of the buffer. Arbitration, based on the characteristic of the packet in the record, can then be performed among multiple packets to select a next packet from the buffer for delivery to an output.

BANDWIDTH CONTROL INSIDE A SHARED NETWORK INTERFACE CARD
20230300081 · 2023-09-21 · ·

A smart network interface card (smartNIC) may receive first traffic for a first process configured with a first bandwidth limit. The smartNIC may receive second traffic for a second process configured with a second bandwidth limit, the second bandwidth limit corresponding to a larger value between a second transmit limit and a second receive limit associated with the second process. The smartNIC may queue the received traffic associated with the first process and the second process in a scheduler, the scheduler having a first set of queues configured to store traffic from the first process, and a second set of queues configured to store traffic from the second process. The smartNIC may forward queued traffic from the first set of queues or the second set of queues, a maximum amount of forwarded first process traffic corresponding to the first bandwidth limit minus an amount of forwarded second process traffic.

METHOD FOR MEASURING A TRANSMISSION DELAY WITH CONTROL OF DEGREES OF CONTENTION APPLIED TO A DATA FRAME

The invention relates to a method for transmitting a target data frame (fA) on a path comprising at least one router (R) that has input ports (P1, P2, P3), at least one output port (PS) and an arbitration unit (UA) configured so as to select a data frame from a plurality of data frames each coming from a different input port and competing for transmission by one and the same output port. The method comprises specifying, for each of the access ports of the router, data frames (fB, fC) competing with the target data frame for transmission by a target output port of the router. An end-to-end transmission time of the target data frame on the path is then measured while the arbitration unit selects the competing data frame (fB) before the target data frame (fA) for transmission by the target output port (PS).

Adaptive load balancing between routers in wan overlay networks using telemetry information

Systems and methods for load balancing in a network are disclosed. An illustrative method includes receiving network telemetry data corresponding to network paths of a plurality of coexisting multipaths, performing an adaptive load balancing process by determining whether a network path from the plurality of coexisting multipaths is an adequate network path based on the network telemetry data, and in response to determining the network path is an adequate network path, selecting the network path for a network flow.

Local and global quality of service shaper on ingress in a distributed system

A distributed computing system, such as may be used to implement an electronic trading system, controls inbound message flow rates. Limiting a per-client or per-connection inbound message rate also helps ensure fair provisioning of computing resources, so that a single client's excessive use of resources cannot overwhelm the system to such an extent that it prevents other clients from interacting with the distributed system. It is also desirable to have system-wide control of the overall inbound message rate across all client connections. Such system-wide control ensures that the distributed system as a whole can maintain the required levels of service, including offering a predictable level of access for all clients.

Real-time data processing and storage apparatus
11178077 · 2021-11-16 · ·

A stream processor is disclosed, the stream processor includes: a first in first out memory FIFO, a calculation unit, and a cache. The FIFO receives current stream information, where the current stream information carries a target stream number and target data; when the FIFO receives a read valid signal, the FIFO sends the target stream number and the target data to the calculation unit, and sends the target stream number to the cache; the cache obtains, based on the target stream number, old data that corresponds to the target stream number, and sends the old data that corresponds to the target stream number to the calculation unit; and the calculation unit performs, based on the target data, calculation on the old data that corresponds to the target stream number to obtain new data, and sends the new data to the cache.

ADAPTIVE VIDEO STREAMING
20210350546 · 2021-11-11 ·

A method, system and apparatus for image capture, analysis and transmission are provided. A link aggregation method involves identifying controller network ports to a source connected to the same subnetwork; producing packets associating corresponding controller network ports selected by the source CPU for substantially uniform selection; and transmitting the packets to their corresponding network ports. An image analysis method involves producing by a camera an indication whether a region of an image differs by a threshold extent from a corresponding region of a reference image; transmitting the indication and image data to a controller via a communications network; and storing at the controller the image data and the indication in association therewith. The controller may perform operations according to positive indications. A transmission method involves receiving user input in respect of a video stream and transmitting, in accordance with the user input, selected data packets of selected image frames thereof.