A method and system prioritizes frames to be transmitted from a local node
to a remote node on a Fibre Channel Arbitration Loop. The frames are
placed in context queues. Each kind of context queue is assigned a
priority. A determination of a set of transmit frame types is made. A
user, an external device, or code may determine the number of transmit
frame types in the set. A priority is assigned for each of the transmit
frame types in the set. The transmit frame types may be determined by
context type. The frames are prepared for transmission. The queues are
examined by a suitable method to determine order of transmission. The
transmit prioritizer preferably comprises five three-entry deep queues in
which the prioritizer places valid contexts classified by transmit frame
type. Queued contexts are selected for outgoing frame transmission by a
prioritization algorithm aimed at saving the current fibre channel loop
tenancy to maximize performance whenever possible. The context manager
controls context storage and retrieval and the transmit prioritizer
selects the context for which frame transfers will be performed.