Remote access to emulation, remote emulation and the emergence of a wide range of different cloud services, and end users interacting with them remotely through standardized (web-)client applications on their various devices offers the chance to combine both into an integrated access system to various obsolete computer environments. In order to provide a wide range of services, especially in combination with authentic performance and user-experience, a distributed system model and architecture is helpful. It can be run as a cloud service allowing for the specialization both of memory institutions and third party service providers. Such offerings could help to shift the usually non-trivial task of the emulation of obsolete software environments from the end user to specialized providers. Optimally, instead of installing a huge number of software packages which are difficult to maintain even for a small number of relevant platforms, the user should be able to install a simple access application made available for a wide range of today's and future platforms.
Trying to use several different emulators or the KEEP emulation framework, it becomes clear that it is challenging to provide various hardware emulators and framework services on diverse computer architectures for several, mostly technical, reasons. Architectural and technical differences between powerful desktop machines, netbooks, laptops, thin clients, tablets or even next generation TV screens are significant and thus difficult to be bridged with a one-fits-all solution. Especially, end user devices are a fast moving target as they are replaced quite regularly. Additionally, often secondary software components (like operation systems, ROMs, firmwares, drivers, etc.) are required at the user's side. A similar problem arises from access-restricted digital artefacts. If a user is interested in such an object, a memory institution may not be able to hand over the complete object e.g. due to legal reasons (IPR, copyrights, regulations, ...) or privacy issues.
Emulation-as-a-Service (EaaS, a term originally coined by J. van der Hoeven) can provide a convenient solution for both, reducing the variance of host systems for original environments and solving IPR compliance. Development and maintenance of emulators and their according digital preservation frameworks can be focused on only a few current architectures, leading to a controlled and well understood environment. This avoids a couple of complexities of cross-platform development and allows easier testing as fewer targets with less variety are to be considered. Original environments and their various software components as well as the requested artefacts are not getting outside the controlled systems of service providers. EaaS can offer users of memory institutions the various contents from their digital collections like digital art, encyclopedias, primary scientific data, teaching material or famous persons' original working environments without giving them direct access to the primary data itself. The access to certain digital artefacts or complete environments can be controlled in a more effective fashion, hindering the user to copy material or analyse it in an undesired way.
Remote access application and protocol are to be defined (like Guakamole, OnLive) to abstract from and translate the actual capabilities of the chosen local platform to the remote running service interfaces. This is not a particular challenge as the same base principles are valid for accessing recent environments over computer networks like for the different virtual machine platforms. Emulated original environments then could "blend" in seamlessly with actual services. Such considerations could provide a solution which allows the access to various 1985 home computer games running in MESS, early 1990ies art work running in some Motorola 68k powered Apple Macintosh, various Windows or Linux desktops and some early electronic arcade games just through the same application representing a front-end interface to emulation service backends. The use of standardized and well-established remote access applications and protocols to link front and backends gains platform independence. This allows also to adapt to different input/output methods used by the end user devices and required by the original environments.
The separation of the service from the user interface allows a distributed environment. Services like emulation components, software archives and authentication services can be shared and split among several institutions and 3rd party providers to enable specialization following the division of labour principle. While EaaS does not primarily require large computing power or storage capacity the model very well benefits from cloud technology in terms of remote access, distribution of services or established authentication and accounting frameworks. The EaaS model can help to leverage typical cloud advantages for better user-centered access services in digital preservation: scalable, on-demand services, less waste of compute resources, optimization of costs or solving IPR related challenges. Resources can be scaled to the actual needs of the organization and thus provide great flexibility, e.g. pay-per-use business models are usually targeted short-term contracts.
Of course emulators are at the core of EaaS as they bridge the outdated computer platforms to actual software and hardware. With EaaS their operation and maintenance can be simplified as the provisioning of emulators takes place in well-controlled environment which is easier to define and to maintain compared to end user systems. It focuses the available resources and allows the specialization and division of labour among the involved institutions and service providers. The amount of emulators required depends on the artefacts or original environments to be accessed or to be rendered. In EaaS they provide both the base layer for the original system environment and the user interfaces. Special functionality might be required for (large scale) framework integration and automation, like the proper configuration of the emulators and workflows to prepare and transport the original artefacts to be used in and extracted from the emulated environments. While a cloud approach to emulation simplifies a number of issues, several challenges of the emulation strategy still need to be solved. For example, appropriate hardware emulators need to be available to support that original environments are compatible to the host system of the cloud service. Additional components are required, like original software applications, operating systems, firmwares, drivers including the appropriate rights to use them within EaaS. As the original environments are meant to be available to users on their actual devices, access components to emulators also need to translate machine in- and output concepts (as discussed in some previous post). Not only screen resolution and color depth have increased over time, but also keyboard layouts have changed and different other types of inputs like a wide range of mice, joysticks or recently, position sensors have been added to the rather new class of mobile devices like tablets and smart phones.
Emulation-as-a-Service offers several advantages. It allows new stakeholders to enter the market as services can be offered to a wide range of different customers remotely. Memory institutions can use their knowledge and advantage in the field of digital preservation and access to provide paid services to commercial entities requiring authentic reproduction of digital objects and processes for e.g. legal reasons.
Additionally, to merely provide access to deprecated computer systems new types of services might be established. Running systems can be frozen and resumed by different users or offered to be run from a certain execution state. Furthermore, parallel access of several users to the same system is possible, e.g. for performance measures, scientific, guidance or teaching purposes.
The bwFLA project for functional long-term archival and access, has started implementing and integrating EaaS as part of a state-wide initiative. Currently bwFLA EaaS supports 8 different emulators being able to run 15 distinct legacy computer platforms. The platforms range from MacOS 7 running on a MK68 system emulator, PPC based platforms to various x86-based platforms. Each emulation component is available to be used in various archival workflows through a common web service interface. Remote interaction is provided via VNC at the moment when it will get replaced by a more general and versatile HTML5 component. The project implemented a first prototype of an authentication and authorization component using the existing state-wide Shibboleth infrastructure deployed by universities and libraries. Some of the bwFLA EaaS components will be made available through OPF for testing in the near future.