Patent classifications
H04L47/527
Arbitration of multiple-thousands of flows for convergence enhanced ethernet
In one embodiment, a method includes selecting a flow from a head of a first control queue or a second control queue. The method also includes providing service to the selected flow. Moreover, the method includes decreasing a service credit of the selected flow by an amount corresponding to an amount of service provided to the selected flow. In another embodiment, a computer program product includes a computer readable storage medium having program code embodied therewith. The embodied program code is readable/executable by a device to select, by the device, a flow from a head of a first control queue or a second control queue. The embodied program code is also readable/executable to provide, by the device, service to the selected flow, and decrease, by the device, a service credit of the selected flow by an amount corresponding to an amount of service provided to the selected flow.
System and method for supporting credit management for output ports in a networking device
A system and method can support efficient packet switching in a network environment. A networking device, such as a network switch, which includes a crossbar fabric, can be associated with a plurality of input ports and a plurality of output ports. Furthermore, the networking device operates to detect a link state change at an output port on the networking device. The output port can provide one or more credits to an output scheduler, and the output scheduler allows one or more packets targeting the output port to be dequeued from one or more virtual output queues, based on the one or more credits.
FEDERATED SCHEME FOR COORDINATING THROTTLED NETWORK DATA TRANSFER IN A MULTI-HOST SCENARIO
Embodiments relate to systems and methods that facilitate coordination amongst host devices that share network resources in order to use available bandwidth effectively. Embodiments can ensure the host devices themselves take responsibility for sending their data via shared network bandwidth, keeping access to bandwidth fair to all the host devices. Embodiments also include adapting to a continuously changing network bandwidth allocation policy for the shared network resource. In one embodiment, this includes using tokens (e.g., small chunk messages) to represent a grant to a host device to send a specified number of bytes over the network. Using a token generator module and a distributed queue, embodiments provide a unique and adaptive way to manage data transmissions among host devices within available resources.
Method for providing QOS differentiation in a multi-tenant network and networking device employing method
A method for providing a differentiation in terms of quality of service (QoS) for multiple tenants in a network, by a networking device receives a data packet from a transmitting tenant, and the networking device identifies the tenant and a priority class of the received packet. The networking device then determines one or more color markers to apply to the received packet according to the sending tenant and the priority to be associated with the packet. The networking device then transmits or does not transmit the packet onwards depending on one or more color markers applied to 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.
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.
Transmission apparatus and transmission method
There is provided a transmission apparatus including: a buffer provided with a queue for each of user flows, the buffer configured to store data in the queue for the user flow to which the data belongs; a storage unit configured to store a link list indicating an output order of the user flows; an issuing unit configured to issue a predetermined output permissible amount to the queue for the user flow by referring to the link list; and an output control unit configured to output data from the queue to which the output permissible amount is issued.
Method and system for managing port bandwidth in network devices
A method for managing port bandwidth in network devices. The method includes determining a first and a second ingress bandwidth of a first and a second network chip, respectively, determining an egress bandwidth of an egress port of a third network chip, determining a first and a second weight for the first and the second network chip, respectively, where the first and the second weight are determined based on a bandwidth including the first and second ingress bandwidth, processing a first data packet, received by a first ingress port administrated by the first network chip, based on the first weight and the egress bandwidth, and processing a second data packet, received by a second ingress port administrated by the second network chip, based on the second weight, and the egress bandwidth, where the destination of the first and the second data packet is the egress port.
Communication device and packet scheduling method
A communication device, includes: a plurality of queues each configured to accumulate a packet; a scheduler configured to provide a permissible readout amount to each of the plurality of queues in accordance with an order that is based on a priority of each queue; a read processor configured to read out the packet from the plurality of queues, the permissible readout amount being consumed according to amount of the packets read out; and an accumulation amount counter configured to count an accumulation amount of the packets accumulated in each of the plurality of queues, wherein the accumulation amount counter notifies the scheduler of a change in the accumulation amount, and wherein the scheduler adjusts the priority of, among the plurality of queues, the queue of which the accumulation amount has changed, in response to the notification from the accumulation amount counter.
Method for prioritizing network packets at high bandwidth speeds
The embodiments are directed to methods and appliances for scheduling a packet transmission. The methods and appliances can assign received data packets or a representation of data packets to one or more connection nodes of a classification tree having a link node and first and second intermediary nodes associated with the link node via one or more semi-sorted queues, wherein the one or more connection nodes correspond with the first intermediary node. The methods and appliances can process the one or more connection nodes using a credit-based round robin queue. The methods and appliances can authorize the sending of the received data packets based on the processing.