Patent ID: 7627616

Claim:
A computer-implemented method for flexibly storing data in a database so as to allow facile and efficient updating and maintenance of the database, the method comprising the steps of: (a) providing a computer-implemented memory including at least a first array having at least two dimensions, said first array having rows and columns, said first array to store a first plurality of key entries; (b) arranging said key entries, using a processor, within each of said rows in a monotonic order to produce the database, the database storing said key entries in said monotonic order; (c) providing at least a second array, within said memory, to store a second plurality of key entries having rows and at least one column, wherein said first array and said second array form a hierarchical structure, wherein said second plurality of key entries in said second array represents a higher level of said hierarchical structure with respect to said first plurality of key entries; (d) identifying an update position within said hierarchical structure, using said processor, to perform a database update operation in said database, and (e) performing, using said processor, said database update operation, which includes a rearrangement of a portion of said first plurality of key entries, to produce an updated database in which said key entries within said first array are arranged in said monotonic order, said portion defined by π avg /Σ wherein: π avg is an average number of said key entries undergoing rearrangement, and Σ is a total number of key entries in said first plurality of key entries, and wherein a ratio defined by π avg /Σ is less than 0.25.