Content-based addressing is used to navigate forward, backward and in a
circular fashion through documents in a content space. To enable backward
navigation, a descriptor file is created for a new version that contains
not only a message digest for the new version, but also a message digest
of the older document. A message digest is created for the descriptor
file. A user navigates backward starting with the message digest of the
descriptor file. To enable forward navigation, a mapping table maps a
message digest of an older document into the message digest of the new
version. A high-level descriptor file contains the message digest of the
original document and the message digest of the mapping table. The
message digest of the high-level descriptor file is returned to the user.
A user navigates forward starting with the high-level descriptor file
message digest. To enable circular navigation, a mapping table maps a
message digest of a second document into a message digest of a version of
the second document containing a message digest of a first document. The
techniques are combined to allow navigation through a complex content
space.