Remote emulation has been a topic in digital preservation for a while. Several approaches to it have been explored and the feasibility of some stable prototype is pretty good. There are several different ways to achieve the separation into a server able to run the complex stuff and a rather simple client mostly limited to user in- and output. This concept of separation is used more and more often to run complex computer games over the network without requiring the installation and permanent updating of client software on the user’s side.
Several ways of implementing a remote emulation service have been researched in the last couple of years. At first this research focused on direct user interaction with the original environments. Later on other uses like automation of workflows are becoming relevant.
Variants and Versions
The variants of a remote emulation service or emulation streaming service can be distinguished in several ways. There are various approaches to the transport protocol used to send the screen output to the user’s device and get the user’s input back. At Victoria University in Wellington/NZ a prototype was implemented to demonstrate the feasibility of running a game on the visitor’s smartphone without the need to install any software besides a simple streaming client. A very popular method for remote access is the VNC protocol implemented in a wide range of operating systems and appliances. Some emulators like QEMU or virtual machines like Virtual Box and VMware implement direct access to the virtual screen and input devices like keyboard and mouse. Additionally, VNC was added to Dioscuri as an outcome of a student’s thesis. As VNC implements mostly screen and mouse+keyboard input, other remote protocols like RDP or Citrix seem to be more attractive as they are capable of transporting audio streams or even block devices over the net. But they are proprietary and the number of server and client implementations is comparatively limited. Since they are dependent on the direct implementation of remote access in the emulator, a large number of them could not be used, because lacking this feature. It either has to be hacked into the software as demonstrated for Dioscuri or a more generic approach can be taken.
Remote Emulation Desktop
Wrapping a wider range of emulators into a remote object access service GRATE has been researched in the context of a PhD thesis in Freiburg. A prototype of a remote desktop has been produced from the findings during the PLANETS project. It consisted of a complete Linux system with a wide range of emulators installed on it. The user interacted with GRATE through a browser-based frontend which offered him the option to choose the operating system and/or application to start within a certain emulator. For some combinations of emulator and operating system it was possible to load a digital object up to the size of a standard floppy disk through the network from the user’s side. GRATE was later linked to the PLANETS testbed to offer a simple create view. While being very flexible on the one hand, as nearly any emulator could be added to it, there were on the other hand some complex issues to solve. The service was not atomic but a holistic approach to remote emulation. Thus it was rather complicated to add a new view path to it or allow the transport of objects to very different computer architecture emulators. Additionally, there was the added layer of in- and output translation added by the Linux graphical desktop offered via VNC.
Future Streaming Services
Depending on the future requirements arising from the requirements of Migration-by-Emulation or Create View, both strands seem to be worth exploring in the coming years. Especially the splitting of the preservation application into a simple user’s frontend and an easy-to-extend server backend is very attractive, as it could be adapted to nearly all of today’s devices. Nevertheless, future emulator research and development should take preservation-awareness more into consideration. If audio playback could be added in a standardized way to VNC, the user experience could be improved especially for multimedia objects and computer games. With the ongoing research in the KEEP project new solutions and progress in wrapping emulators could be expected. Nevertheless, a number of challenges like software archiving, emulation knowledge base remain open.