Patent ID: 8396844

Claim:
A method for storing a plurality of parallel data element sequences on a computer memory component and efficiently processing elements on a computer processor from a subset of said sequences, comprising: (a) creating a plurality of dictionaries, on the computer memory component, each of unique values for one of said data element sequences, wherein said dictionaries associate numeric indexes with unique values, (b) forming one or more n-ary trees, on the computer memory component, with leaf and interior nodes wherein: (1) a plurality of leaf nodes on the computer memory component each correspond to one of said dictionaries, (2) at least one interior node on the computer memory component associates a numeric index with tuples of numeric indexes from other subordinate leaf or interior nodes, (3) at least one of said interior nodes on the computer memory component has a gate field associated with it, which is capable of representing a subset of said interior node's subtrees, (c) processing the subset of leaf nodes corresponding to said subset of sequences, on the computer processor, by: (1) finding one of said interior node(s) on the computer memory component that is a common ancestor in said n-ary tree of each said leaf node in said leaf subset, (2) setting the value of said gate field on the computer memory component for at least one of said interior nodes, to indicate which of said interior node's branches to subordinate nodes lead to leaf nodes in said subset, (3) following a path on the computer memory component from said common-ancestor interior node to at least one of said leaf nodes in said leaf subset, using at least one interior node's gate field setting to select a path that leads to a leaf node in said leaf subset, and (4) processing said element(s) in said leaf node(s) on the computer processor.