Patent ID: 7319695

Claim:
A method for routing segments of data belonging to one of a set of at least one class, via a plurality of at least three routes from a first source node to a destination stage, comprising the step of said first source node: selecting a proper subset of at least two of said routes, in dependence upon a measure of relative channel loading of each of said routes due to data of said class that originated from said first source node during a given prior time period; choosing, according to a pseudorandom algorithm, one of the routes from among only the routes in the subset selected in said step of selecting; and sending a given next data segment of said class on the route chosen in said step of choosing, wherein each of said routes has associated therewith a respective channel credit, further comprising the steps of, in conjunction with the sending of a particular data segment from said first input node via an i'th one of said routes: decreasing the channel credit associated with said i'th route by the number of fixed sized blocks in said particular data segment; and increasing the channel credits associated with at least one of said routes, including at least one route not said i'th route, by numbers of blocks that total to said number of blocks in said particular data segment, wherein said step of selecting a proper subset of said routes comprises the step of selecting only those of said routes whose channel credits are non-negative; and further comprising the step of maintaining, for each route, an indication of an excess number of bytes that have been accounted for previously as having been striped to the route over a number of bytes that actually have been striped to the route.