For most documents, videos, and audio files, copying the bits from old to new computer formats is sufficient to preserve the data over the long haul. For old software programs, such as a simulation of the Apollo spacecraft guidance control system created in 1970, migration just doesn't work.
That's a serious technical challenge to someone who wants to create, say, a virtual reality simulation of an Apollo mission for future space buffs to enjoy. Because there's no data file to convert to a current format—this is a piece of executable software—we try to preserve the simulation by using an approach called emulation.
It's a little like making your grandmother's pesto recipe in your new kitchen. Instead of using her mortar and pestle, you grind the basil and pine nuts with a Cuisinart—new tool, same function. With emulation, we carefully reconstruct an old computing platform, say, an Intel 286 chip and version 1.1 of MS-DOS, on a modern computing platform—a Mac G5 running the Tiger OS, for instance.
Image: Amit Singh
By essentially mimicking the original collection of instructions, variables, and device drivers used by DOS, the emulation program running on the Mac provides the functions to the old program we want to run. It's the computer equivalent of Main Street USA at the Walt Disney World Magic Kingdom in Orlando, Fla.—a functioning re-creation of something that no longer exists that is detailed enough to let you interact with it as if it did.
Because you are preserving the ability to run the program by writing new code to imitate old code, emulation is more expensive than migration in most cases. Sometimes it is flat-out impossible, especially if there are idiosyncratic hardware requirements. For example, if we want to preserve an arcade video game from the mid-1980s that uses a joystick that is no longer made, the emulation would fall short.
While far from perfect, emulation as an approach to preservation has generated some creative ideas. One offshoot is the Universal Virtual Computer. In 2000, Raymond Lorie and his research team at IBM's Almaden Research Center, in San Jose, Calif., proposed writing a program that would act like a computer—complete with instruction set, architecture, operating system, and related utilities—to render any particular file format. So instead of copying files from an old format to a new one or rewriting emulations to match newer computer systems, programmers would just rewrite the Universal Virtual Computer as computer platforms evolve, and everything else would just work.