  How can an author store digital information so that it will be reliably
useful, even years later when he is no longer available to answer questions?
Methods that might work are not good enough; what is preserved today should be
reliably useful whenever someone wants it. Prior proposals fail because they
confound saved data with irrelevant details of today's information
technology--details that are difficult to define, extract, and save completely
and accurately.
  We use a virtual machine to represent and eventually to render any data
whatsoever. We focus on a case of intermediate difficulty--an executable
procedure--and identify a variant for every other data type. This solution
might be more elaborate than needed to render some text, image, audio, or video
data. Simple data can be preserved as representations using well-known
standards. We sketch practical methods for files ranging from simple structures
to those containing computer programs, treating simple cases here and deferring
complex cases for future work. Enough of the complete solution is known to
enable practical aggressive preservation programs today.
