A two-dimensional round-robbin scheduling method with multiple selection having input buffer modules, output buffer modules, a space division switching module and a contention control module, the input buffer module having input ports and queues, the output buffer module having output ports and queues, the space division switching module having switching planes, the space division switching module being connected with the input buffer modules through links and connected with the output buffer modules through links, comprising:
- a first step for checking whether a request is received from the input buffer module and building mxm request matrix r(i,j), i,j=1, . . . , m;
- a second step for setting mxm search pattern matrix, d(i,j), i,j=1, . . . , m, the search pattern matrix describing a search sequence, S=1, . . . , m;
- a third step for initializing elements of mxm allocation matrix a(i,j), i,j=1, . . . , m, the allocation matrix containing an information whether a request is accepted and which switching plane the accepted request should use in transmission;
- a fourth step for examining a request matrix in accordance with the search sequence S and finding r(i,j) that sent a transmission request;
- a fifth step for setting a(i,j) for all (i,j) pairs found in the fourth step so that elements of the allocation matrix at ith row have different values in range from 1 to n and elements of the allocation matrix at jth column have different values in range from 1 to n;
- and
- a sixth step for repeating the fourth step and the fifth step as the search sequence S is increased from 1 to m by 1;
- wherein m is the number of input buffer modules, n is the number of switching planes, k indicates the k-th switching plane where 1≦k≦n, and p indicates the p-th row and column index indicator associated with the p-th plane, where 1≦p≦n.