A method that utilizes virtual channels and a common pool of credits, controlled by a transmitter to maximize the throughput across an Inter-Switch Link in a Fibre Channel network. Each virtual channel is allocated a minimum number of credits and the remaining credits of the ISL are held in a common pool. When needs arise, the credits in the pool will be allocated or reallocated to make the best use dynamically by the transmitter.
Optimization of a use of memory buffers of a device connected to a physical link including virtual channels (VCs) while sustaining bandwidth for communication between the device and another entity, by determining an initial allocation of memory buffers of each VC. Further, the optimization is accomplished by determining whether a next VC is active or inactive. If the VC is determined to be inactive, a number of memory buffers initially allocated to the inactive channel is determined, and the memory buffers are re-allocated between the active VCs.