Patent ID: 7370058

Claim:
A method, comprising executing an algorithm by a processor of a computer system, said executing said algorithm comprising sorting S sequences of binary bits in ascending or descending order of a value associated with each sequence and in a time period denoted as a sorting execution time, said S sequences being stored in a memory device of the computer system prior to said sorting, S being at least 2, each sequence of the S sequences comprising K contiguous fields denoted left to right as F 1 , F 2 , . . . , F K with corresponding field widths of W 1 , W 2 , . . . . , W K , said sorting comprising the steps of: designating S memory areas of the memory device as A 1 , A 2 , . . . , A S ; setting an output index P=0 and a field index Q=0; providing a node E having S elements stored therein, said S elements consisting of the S sequences or S pointers respectively pointing to the S sequences; and executing program code, including determining a truth or falsity of an assertion that the elements in node E collectively include or point to no more than one unique sequence U of the S sequences, and if said assertion is determined to be false: then generating C child nodes from node E, each child node including all elements in node E having a unique value of field F Q+1 , said child nodes denoted as E 0 , E 1 , . . . , E C−1 having associated field F Q+1 values of V 0 , V 1 , . . . , V C−1 , said child nodes E 0 , E 1 , . . . , E C−1 being sequenced such that V 0 <V 1 < . . . <V C−1 , said generating followed by incrementing Q by 1, said incrementing Q followed by iterating from an index I=0 to I=C−1 in steps of 1, wherein iteration I includes setting E=E I followed by executing the program code recursively at a next level of recursion for the node E; else for each element in node E: incrementing P by 1, next storing in A P either U or the element pointing to U, and lastly if the program code at all of said levels of recursion has not been fully executed then resuming execution of said program code at the most previous level of recursion at which the program code was partially but not fully executed else exiting the algorithm.