H04L47/527

Selective token clash checking for a data write

A first request may be received to write a first set of data to a first storage device of a first storage node. The first storage device may be capable of transferring or receiving data directly to or from a second storage device without transferring the data to or from a host device mapped to the first storage node. It may be determined that a first token clash check does not need to occur for the first request. The first token clash check may include determining whether the first request is requesting to write to one or more addresses that are associated with one or more tokens owned by one or more transactions. The one or more tokens may be a proxy for a set of data within one or more particular address ranges of the first storage device.

Multicast to unicast conversion technique
10205604 · 2019-02-12 · ·

A technique allows stations to utilize an equal share of resources (e.g., airtime or throughput). This prevents slow stations from consuming too many resources (e.g., using up too much air time). Fairness is ensured by selective dropping after a multicast packet is converted to unicast. This prevents slow stations from using more than their share of buffer resources. Multicast conversion aware back-pressure into the network layer can be used to prevent unnecessary dropping of packets after multicast to unicast (1:n) conversion by considering duplicated transmit buffers. This technique helps achieve airtime/resource fairness among stations.

Method and apparatus for adding token in traffic shaping
10205671 · 2019-02-12 · ·

A method and an apparatus for adding tokens in traffic shaping are provided. According to the method, a weight of each data stream is configured, and each data stream is added to corresponding token schedulers based on the weight of the each data stream. Based on a weight of each token scheduler, each token scheduler is sequentially added to corresponding token scheduler groups, and all the token scheduler groups are aggregated into a token scheduler of a total data stream. The token scheduler of the total data stream is added to a top token scheduler. Based on a preset cycle, a token is assigned to the token scheduler of the total data stream in the top token scheduler, and the assigned token is delivered to each token scheduler group or to a respective data stream.

Dropping or admitting packets to an output queue using policy-based scheduling and virtual destination queue occupancy values

One embodiment is associated with dropping or admitting packets to an output queue using occupancy values of virtual destination queues which are updated according to different independent disciplines upon the enqueuing of a packet to an output queue, and the dequeuing of that packet from an output queue. In one embodiment, a virtual destination queue is determined for a packet. A policing decision is made whether to drop the packet or admit the packet to the output queue based on the occupancy level of the determined virtual destination queue, which is updated upon admission. Packets are dequeued in first-in-first-out order from the output queue. For a dequeued one or more packets, one or more of the occupancy values of the virtual destination queues are updated based a scheduling policy that is independent of the particular virtual destination queue(s) associated with the dequeued packets.

TECHNOLOGIES FOR INFLIGHT PACKET COUNT LIMITING IN A QUEUE MANAGER ENVIRONMENT

Technologies for inflight packet count limiting include a network device. The network device is to receive a packet from a producer application. The packet is configured to be enqueued into a packet queue as a queue element to be consumed by a consumer application. The network device is also to increment, in response to receipt of the packet, an inflight count variable, determine whether a value of the inflight count variable satisfies an inflight count limit, and enqueue, in response to a determination that the value of the inflight count variable satisfies the inflight count limit, the packet.

SELECTIVE TOKEN CLASH CHECKING FOR A DATA WRITE

A first request may be received to write a first set of data to a first storage device of a first storage node. The first storage device may be capable of transferring or receiving data directly to or from a second storage device without transferring the data to or from a host device mapped to the first storage node. It may be determined that a first token clash check does not need to occur for the first request. The first token clash check may include determining whether the first request is requesting to write to one or more addresses that are associated with one or more tokens owned by one or more transactions. The one or more tokens may be a proxy for a set of data within one or more particular address ranges of the first storage device.

SYSTEMS AND METHODS FOR QUEUE CONTROL BASED ON CLIENT-SPECIFIC PROTOCOLS

The present disclosure generally relates to controlling access to resources by selectively processing requests stored in a task queue to prioritize certain requests over others, thereby preventing automated scripts from accessing the resources. More specifically, the present disclosure relates to a normalization and prioritization system for controlling access to resources by queuing resource requests based on a client-defined normalization process that uses one or more data sources.

System and method for latency critical quality of service using continuous bandwidth control

A system and method are provided for a bandwidth manager for packetized data designed to arbitrate access between multiple, high bandwidth, ingress channels (sources) to one, lower bandwidth, egress channel (sink). The system calculates which source to grant access to the sink on a word-to-word basis and intentionally corrupts/cuts packets if a source ever loses priority while sending. Each source is associated with a ranking that is recalculated every data word. When a source buffer sends enough words to have its absolute rank value increase above that of another source buffer waiting to send, the system cuts the current packet by forcing the sending buffer to stop mid-packet and selects a new, lower ranked, source buffer to send. When there are multiple requesting source buffers with the same rank, the system employs a weighted priority randomized scheduler for buffer selection.

Self-timed router with virtual channel control

Systems, apparatuses, and methods for implementing an asynchronous router with virtual channel (VC) control. The asynchronous router may support multiple VCs for connections to other routers. The asynchronous router may include an interface unit on each switch boundary, with each interface unit including a data merge unit. The data merge unit may include a full detector unit for each VC, with the full detector unit counting the number of flits sent out on a respective VC and counting the number of credits released by the successor router. Whenever the successor router has no credits available, the full detector unit will assert the full signal to prevent any input requests from requesting to transmit over that particular VC. When the full signal is asserted, a timer unit may be activated to repeatedly check if any credits have been released in the successor router.

ALLOCATING BANDWIDTH BETWEEN BANDWIDTH ZONES ACCORDING TO USER LOAD
20180159788 · 2018-06-07 ·

A bandwidth management system includes a plurality of queues respectively corresponding to a plurality of zones. An enqueuing module receives network traffic from one or more incoming network interfaces, determines a belonging zone to which the network traffic belongs, and enqueues the network traffic on a queue corresponding to the belonging zone. A dequeuing module selectively dequeues data from the queues and passes the data to one or more outgoing network interfaces. When dequeuing data from the queues the dequeuing module dequeues an amount of data from a selected queue, and the amount of data dequeued from the selected queue is determined according to user load of a zone to which the selected queue corresponds.