Patent ID: 7349406

Claim:
A method of performing a virtual network connection merge, the method comprising: assigning a relative frequency value to each network connection in a plurality of network connections, wherein a higher relative frequency value is assigned to a network connection requiring a higher relative bandwidth; allocating credits to ready network connections in the plurality of network connections in proportion to relative frequency values of ready network connections of a same virtual network connection merge, a ready network connection being a network connection ready to send a data unit, wherein the ready network connections comprise a first list and credits are allocated to the ready connections of the first list through one or more rounds of bandwidth allocation such that a ready network connection is removed from the first list in a round of bandwidth allocation when it has been allocated credits at least equal to its relative frequency value; assembling one or more data units from data traffic of ready network connections in a second list comprising ready network connections that have been allocated credits through the one or more bandwidth allocation rounds; determining a chosen data unit to be transmitted to an output channel from among the assembled data units, the chosen data unit belonging to a first connection in the ready network connections of the second list; transmitting the chosen data unit to the output channel; and adjusting the credit of the first connection based upon the data unit transmitted, wherein after transmitting the chosen data unit the first connection is removed from the second list if it is no longer a ready network connection or if its credits are less than zero, otherwise the first connection is moved to the tail of the second list.