A mechanism is provided for storing self-defining data and mapping
elements with either a fixed set of allowed structures or types or with
the structures and types determined by rules. Recovery is enhanced by the
use of backward and forward pointers between data and mapping elements
for the data elements in the order written by the management algorithm.
Recovery is also enhanced by the use of companion pointers with metadata.
The companion pointers may include pointers to data or mapping elements
that are part of the same structural grouping. The metadata may describe
the structural grouping. The metadata may also include pointers to the
previous and/or next versions of the same elements. Recovery of the data
and/or mapping structures is achieved by the reverse application of the
management algorithm.