Patent ID: 7782869
Filing Date: 2010-08-24
Classification: G06F,H04L

Abstract:
1. An apparatus, comprising a memory operative to maintain a plurality of queues, each queue corresponding to a virtual input/output (I/O) subsystem interface; one or more processors; an I/O fabric interface comprising a plurality of transmit buffers operative to store packets for transmission, and a packet scheduler operative to arbitrate among the plurality of transmit buffers to select packets for transmission; a plurality of virtual I/O subsystem interface modules operative to: establish a connection to a virtual I/O server; emulate an I/O subsystem interface to an operating system; and intercept packets passed to the I/O subsystem interface for forwarding to the virtual I/O server; a Quality of Service (QoS) module operative to maintain a bandwidth allocation configuration model defining allocation of bandwidth of the I/O fabric interface among respective I/O subsystems emulated by the plurality of virtual I/O subsystem interface modules, and control, based on the bandwidth allocation configuration model, the forwarding of packets corresponding to the virtual I/O subsystem interfaces; and a connection send module operative to: access the QoS module to conditionally forward intercepted packets to a select transmit buffer of the I/O fabric interface for transmission over the connection to the virtual I/O server, or queue the intercepted packets in a queue of the plurality of queues corresponding to respective virtual I/O subsystem interfaces; wherein the QoS module comprises a hierarchical token bucket mechanism configured with a hierarchical bandwidth allocation configuration model defining allocation of bandwidth of the I/O fabric interface among respective I/O subsystems emulated by the plurality of virtual I/O subsystem interface modules, and wherein operation of the hierarchical token bucket algorithm is operative to control the forwarding of packets.