Date Posted: November 30, 2004
What is Digital Asset Preservation Tool?
What is Digital Asset Preservation Tool?
Digital Asset Preservation Tool is a "proof-of-concept" demonstration of the Universal Virtual Computer (UVC) solution, which was developed at IBM Almaden Research by Raymond Lorie to provide long-term access to JPEG and GIF87a files. The concept, which entails several components, has been developed at IBM Almaden Research to ensure future use of digital objects. First, there is the UVC itself, which is a virtual layer that is general enough to be applied to any imaginable computer architecture. The UVC is carefully described and can be interpreted to develop a UVC emulator for any given platform. Once a UVC emulator has been developed, programs that have been written for this UVC can be executed. Because the UVC can be applied to any computer, these UVC programs become technology-independent. Next, a UVC program can be written to decode a specific file format. In this demo, the JPEG (JFIF 1.02) and GIF87a formats have been selected. So that this solution can be used for the rendering of the JPEG and GIF87a format decoders, a translator (Decoder) has been developed that runs on the UVC and translates the specific image files into a Logical Data View (LDV). The LDV is a structured description of a digital object, generated according to a specific schema (the Logical Data Schema or LDS). If somebody in the future (in ten, fifty, or even a hundred years) wants to view a 2003 JPEG object, a UVC emulator can be written that runs the JPEG Decoder, which generates an LDV. Because the Logical Data Schema is also preserved, future programmers are able to understand the LDV and develop a viewer. The UVC approach combines the best aspects of both emulation through the UVC and migration through the XML-like LDV specifications.How does it work?
Segments are the core concept used inside the UVC. Segments are linear, bit-addressable memory spaces with a potentially unlimited amount of registers associated with each segment. A register has no particular size but will grow as needed. The flexibility in size of the registers means the absence of overflow inside a register. Both registers and segments are logically identified by a 32-bit number.
Programs written for the UVC use this segment-based memory. These UVC programs should consist of different pieces of code, called sections, which are stored in separate segments. A section consists of a sequence of UVC instructions that form a routine, performing a certain operation on the data. Each section can make calls to one or more other sections, linking the whole program together. The use of sections makes the design of UVC programs more flexible. Programs can be split up into different parts, each with their own responsibilities, memory, and registers. Currently, this Digital Asset Preservation Tool has been implemented in JavaTM in order to provide general access to the "proof of concept." In addition, tools for developing UVC programs have been developed, and a Java UVC compiler is currently being implemented in JavaCC and will be available at the end of 2004. Please also see this diagram of how the tool works.About the technology author(s)
Raymond van Diessen is a managing consultant in IBM BCS in the Netherlands. He led the Long-Term Preservation Study conducted over the last three years with the Dutch National Library.
Raymond Lorie works at IBM Almaden Research. He is the inventor of the Universal Virtual Computer approach to preserving digital information for the long term.
The technical staff who developed the "proof of concept" and the supporting tools includes Sidney Huiskamp, Paul Brunckhorst, Jeffrey van der Hoeven, and Nanda Kol.
