Patent ID: 7444496

Claim:
An apparatus comprising a logic unit stored on a computer readable medium for determining consistency of a database, the apparatus comprising: a microprocessor; a memory in communication with the microprocessor, the memory comprising a logic unit, the logic unit comprising a plurality of data elements recorded in a data recording section, each data element identified by a unique indirect list key, each data element comprising a data portion and a prefix, the prefix comprising a first indirect list key identifying that data element, information identifying the number of data elements referencing that data element, an second indirect list key identifying a data element referenced by that data element and the relative byte address of the data element identified by the second indirect list key; an indirect list element recorded for each data element in a reference recording section, each indirect list element identifying the first indirect list key, a relative byte address of the data element identified by the first indirect list key and information identifying the number of times the data element identified by the first indirect list key has been reorganized; a first generating unit configured to generate a first hash value for a first data element, the first hash value generated by weighting the first independent list key with the number of data elements referencing that first data element; a second generating unit configured to generate a second hash value for the first data element, the second hash value generated by summing the independent list key values of each data element that references the first data element; a third generating unit configured to generate a third hash value based on the relative byte address and indirect list key for each indirect list element recorded in the reference recording section; a fourth generating unit configured to generate a fourth hash value based on a indirect list key and relative byte address for each referencing data element recorded in the data recording section; and a determining unit configured to: determine that the database is consistent in response to the first hash value being equivalent to the second hash value and the third hash value being equivalent to the fourth hash value; and report whether the database is consistent in response to determining that the database is consistent.