Patent ID: 7085787

Claim:
A method of reorganizing a database and concurrently providing access to the database for updates, the database including an original data-space having a plurality of original data-elements and a shadow data-space having a plurality of shadow data-elements, the method comprising: copying contents of an original data-element within the original data-space to a shadow data-element within the shadow data-space; reorganizing the shadow data-space; keeping track of a location of an original data-element that is changed after the contents of the original data-element are copied to the shadow data-element; and copying data from the location of the changed original data-element to a location of a shadow data-element in the reorganized shadow data-space corresponding to the changed original data-element, wherein said keeping track of a location of an original data-element that is changed, comprises: intercepting a log request that indicates a change to the original data-element; recording in a data data-element in a data data-space information indicating that the original data-element changed; and recording a location of the data data-element in an index data-element of an index data-space, wherein a location of the index data-element within the index data-space corresponds to the location of the original data-element within the original data-space.