H04L47/60

Packet scheduling using hierarchical scheduling process with priority propagation

System and method of data routing according to a hierarchical scheduling process. Incoming data traffic is allocated to various queues of a buffer. A scheduling tree has a top level for queues, a bottom level for egress ports, and a plurality of intermediate levels corresponding to different granularities with respect to service categories. Each queue is assigned to a particular node in each intermediate level of the scheduling tree. The scheduling tree traverses through multiple scheduling stages from the bottom to the top level to select a winner node in each level based on a variety of fairness and differentiating variables. A queue associated with the winner nodes in various levels is selected for outgoing transmission at the selected egress port. Priority information is dynamically propagated from upper nodes to lower nodes such that a subsequent scheduling process uses the updated priority information.

TECHNIQUES TO FACILITATE A HARDWARE BASED TABLE LOOKUP

Techniques to facilitate a hardware based table look of a table maintained in or more types of memories or memory domains include examples of receiving a search request forwarded from a queue management device. Examples also include implementing table lookups to obtain a result and sending the result to an output queue of the queue management device for the queue management device to forward the result to a requestor of the search request.

Hierarchical queue scheduler
10412018 · 2019-09-10 · ·

Some embodiments provide a method for scheduling a packet to be dequeued to a processing pipeline of a hardware forwarding element. The method selects a node representing one of multiple ports associated with the processing pipeline. For each of one or more layers of logical queues, the method (i) identifies a set of logical queue nodes associated with a previously selected node based on a configuration that maps multiple physical queues to the multiple ports via the one or more layers of logical queues and (ii) selects one of the identified logical queue nodes based on properties of the identified logical queue nodes. The method selects one of a set of physical queues associated with a selected logical queue node of the last layer of logical queues. The method dequeues a next packet from the selected physical queue for processing by the processing pipeline.

SENSOR-BASED HUMAN AUTHORIZATION EVALUATION
20190273741 · 2019-09-05 ·

A resource-access management system detects whether a user is authorized to access resources. The system may include a user device being configured to include a sensor that detects sensor data associated with the user. Further, the system includes a client qualification engine that determines whether or not a client is authorized to access the resources by comparing the sensor data with a plurality of patterns for evaluating whether or not the user is an authorized user. User scores are generated based on the compared sensor data and the plurality of patterns. Further, a composite score corresponding to the user is generated using the sensor data, plurality of patterns, and one or more additional criteria. Whether the user is granted access to the resources, presented with unauthorized user tests, or blocked from access to the resources depends on the composite score and threshold values.

TECHNOLOGIES FOR PACING NETWORK PACKET TRANSMISSIONS
20190273693 · 2019-09-05 ·

Technologies for pacing network packet transmissions include a computing device. The computing device includes a compute engine and a network interface controller (NIC). The NIC is to select a first transmit descriptor from a window of transmit descriptors. The first transmit descriptor is associated with a packet stream. The NIC is also to identify a node of a plurality of nodes of a hierarchical scheduler. The node is associated with the selected first transmit descriptor. The NIC is also to determine whether the identified node has a target amount of transmission credits available and transmit, in response to a determination that the identified node has a target amount of transmission credits available, the network packet associated with the first transmit descriptor to a target computing device.

High performance connection scheduler

Aspects of the disclosure are directed to a high performance connection scheduler for reliable transport protocols in data center networking. The connection scheduler can handle enqueue events, dequeue events, and update events. The connection scheduler can include a connection queue, scheduling queue, and quality of service arbiter to support scheduling a large number of connections at a high rate.

Apparatus and method for collective communication in a parallel computer system
10361886 · 2019-07-23 · ·

A parallel computer system includes a plurality of network switches that are all connected to each other, and a plurality of nodes each connected to one of the plurality of network switches, where each network switch is connected to two or more nodes of the plurality of nodes. Each node determines a first destination node of data to be transmitted by the each node at a given time so that a first network switch connected to the first destination node is different from a second network switch connected to a second destination node of data transmitted by any node, other than the each node, which is connected to a network switch to which the each node is connected, and transmits data to the determined first destination node.

SCALABLE TRAFFIC MANAGEMENT FOR MULTIPLE LEVELS OF QUALITY OF SERVICE

Packets are differentiated based on their traffic class. A traffic class is allocated bandwidth for transmission. One or more core or thread can be allocated to process packets of a traffic class for transmission based on allocated bandwidth for that traffic class. If multiple traffic classes are allocated bandwidth, and a traffic class underutilizes allocated bandwidth or a traffic class is allocated insufficient bandwidth, then allocated bandwidth can be adjusted for a future transmission time slot. For example, a higher priority traffic class with excess bandwidth can share the excess bandwidth with a next highest priority traffic class for use to allocate packets for transmission for the same time slot. In the same or another example, bandwidth allocated to a traffic class depends on an extent of insufficient allocation or underutilization of allocated bandwidth such that a traffic class with insufficient allocated bandwidth in one or more prior time slot can be provided more bandwidth in a current time slot and a traffic class with underutilization of allocated bandwidth can be provided with less allocated bandwidth for a current time slot.

Hierarchal Maximum Information Rate Enforcement
20190132376 · 2019-05-02 ·

A communication system may be configured to transmit information from one or more information sources to a plurality of users over limited capacity media while enforcing one or more Quality of Service policies, such as maximum information rate (MIR) policies. Methods are presented herein for enforcing maximum information rate on two or more levels in a hierarchal and extendable manner, for at least the purposes of maximizing utilization of available capacity over said media and of fair distributing said capacity between all users. Also presented herein is a method for estimating load over said media.

Flow scheduling device and method

A method for traffic scheduling includes: authorizing a transmitting module to generate total authorization, allocating the total authorization to each stream queue according to weights preconfigured for each port and a stream queue mounted to each port, and transmitting the allocated authorization to a stream queue management module; the stream queue management module receiving data packets and storing the data packets in each stream queue, maintaining an authorization surplus barrel for each stream queue, storing the received authorization in the authorization surplus barrel of the stream queue, and if the authorization surplus and the queue depth in the authorization surplus barrel are greater than a preset threshold, notifying a scheduling module to output a data packet in the stream queue; and after receiving the notification from the stream queue management module, the scheduling module outputting a data packet in the stream queue according to a preset scheduling policy.