1. Report on virtualisation technology as used at the EPO for
Online Filing software testing
Virtualisation technology lets one computer do the job of multiple computers, all sharing the resources - including
CPU, memory, disk and network - of a single computer.
Virtual machines, a common solution for
desktop virtualisation, are containers running a
guest operating system, independent of the
host operating system.
The EPO uses a virtual machine for Online
Filing software development and testing, but it
does not officially support the use of the Online
Filing software in virtual environments, as the
software has not been validated or released for
However, many users are successfully running
the Online Filing software using a variety of
virtualisation technologies and deployments.
The EPO has therefore set up a knowledge
base to facilitate the sharing of information and experience within the Online Filing user community.
You can add your tips, tricks and questions to the "Virtualisation" section of the Online Services forum at
http://forums.epo.org/onlineservices-your-say-online-filing/. All contributions are welcome.
A. Purpose of the document
This document describes the virtualisation techniques used for testing the Online Filing software.
• virtual machine: a container running a guest operating system, independent of the host operating
• virtual server: a server hosting multiple operating systems and multiple applications locally and in
remote locations, freeing you from physical and geographical limitations
• Online Filing software: tool used for computer-based filing of patent applications, designed as a server-
client software solution. User guidance available at http://www.epoline.org/portal/public
• VMWare: software used as a virtualisation platform
• OS operating system
• VM virtual machine
• OLF Online Filing
• IP internet protocol
• NAT network address translation
2. B. Overview
1. Intended use
A virtual machine is a container that runs a guest operating system, independent of the host operating system.
The intended use of virtual machines at the EPO is desktop virtualisation for OLF software development and
testing purposes. This deployment allows different operating systems to be run on a single workstation.
A virtual server is able to host multiple operating systems and multiple applications locally and in remote
locations, freeing you from physical and geographical limitations. Currently this approach requires additional
investment in hardware and software infrastructure, and to date it has not been used at the EPO for OLF
The intended use of virtualisation for OLF software at the EPO is to support the development and testing process.
The main reasons are:
• efficient use of hardware resources, resource availability
• energy savings and lower capital expenditure
• faster and easier access to OLF on different operating systems and deployments
• better management and fast access to earlier/different versions and builds
• fast installation, easy administration and fast backup
2. Selection of virtualisation solutions
The EPO virtualisation environment used to develop and test the OLF product software is categorised as non-
product software. According to this category, the virtualisation solution needs to handle the following
• support for multiple 32-bit/64-bit OSs on the same machine for the most common Windows/Linux
• support for multiple virtual desktops containing OLF servers and multiple thin clients
• no restrictions on dedicated hardware or OS setup
• no additional investment in hardware or software or administration knowledge
• full integration into the distributed test network and remote connectivity
There are multiple solutions and companies offering virtual servers and virtual machines. The big players include:
VMWare, Microsoft, Citrix. The solution which fulfils all the above-mentioned requirements is provided by
VMWare with its products VMWare Player and Workstation for Desktop Virtualisation (http://www.vmware.com).
According to the VMWare Compatibility List (CL), the Player and Workstation have no additional hardware
preconditions and are able to run on the existing hardware and operating systems used in the EPO development
and testing environment. As of today, the CL can be found under:
3. C. Deployment and environment
1. Runtime environment at the EPO
VMWare Player and Workstation are used as a virtual machine for desktop virtualisation. The user can stop and
start the virtual machine deployed on his computer or on a remote computer. With the more advanced VMWare
Workstation he can take snapshots, and manage snapshots already taken. Spatially, the following OLF test
cases are performed within this virtual environment:
• installation and integration of various OLF server/client setups
• interoperability/communication between server/client in different OSs
• OS-related topics according to OLF server/client releases
The following figure shows a deployment used for OLF testing. The matrix within the table shows the OS used on
the host computer and virtual machine to perform the tests.
Server any hosting OS
Workstation Windows Workstation any OS Workstation any OS guest Windows
VM Workstation VM player
guest Windows guest Windows OLF server
OLF client OLF client OLF client
OS on host OS on guest OLF client OLF server Local PMS system
Windows XP XP 32-bit X X X X
32-bit XP 64-bit X X X
Win03 32-bit X X X
Vista 32-bit enterpr. X X X
Figure: Test deployment used for OLF testing
The hosting workstation in the test environment meets the following conditions:
• OS: Windows XP 32-bit Professional Version 2002 SP3 2.5 (English language)
• hardware: Intel Pentium Dual CPU E2220 2.40GHz; 3.25GB of RAM
The virtual machines in the test deployment are implemented by VMWare Player or Workstation as listed below.
• VMWare Player 2.5.3 (for Windows systems) | 2009/08/21 | Build: 185404
• VMWare Workstation 6.5.3 (for Windows systems) 6.5.3 | 2009/08/21 | Build: 185404
• OS used within the virtual machine selected as shown in the table above (English language)
• Hardware to host the virtual machine was selected from the VMWare hardware compatibility list
4. 2 Deployments
All the deployments listed in the following chapters have been used for OLF testing and have their own
advantages in terms of serviceability, testability and costs.
The configurations for setting up the virtual machine deployments described in the following sections 2.1-2.5 are
listed in Chapter 3.
2.1 Deployment: Virtual OLF server/clients hosted on same computer
In the deployments listed below, the external devices such as smart card reader, CD/DVD and HDD are shared
between the host and guest OS.
• The local OLF installation is done in the guest OS. This deployment comprises both the OLF server and
OLF client parts on the same virtual machine. It is a standalone application and excludes connectivity to
further OLF clients.
• The OLF client and OLF server are installed on the same virtual machine. This deployment allows
further OLF clients to be connected.
• The OLF client installed on the virtual machine is connected like any other OLF client to the OLF server
installed on the host computer.
• The OLF client installed on a virtual machine is connected like any other OLF client to the OLF server
installed on another virtual machine.
Figure: Virtualisation of OLF client/server on the same host computer.
2.2 Deployment: Virtual OLF server/client and remote desktop of OLF client hosted on same computer
In addition to the real and virtual OLF clients, host computer "A" allows a Remote Desktop connection to another
computer "B". Based on this connection, the OLF client installed on computer "B" is available on computer "A"
and works with the smart card deployed on computer "A".
Figure: Usage of the virtual OLF client via Remote Desktop
5. 2.3 Deployment: Remote use of the virtual OLF client/server via Remote Desktop
A virtual machine hosted on computer "A" can be used via the Remote Desktop application (Start - Run -
mstsc.exe) on another computer "B". Based on the Remote Desktop connection, the OLF client can be started
and controlled from computer "B". The local resources of computer "B" such as hard disk and smart card can be
used for the OLF client. The OLF server hosted on computer "A" can be installed directly on host computer "A"
(real) or it can be installed within a virtual machine (virtual).
Figure: Remote use of the virtual OLF client/server via Remote Desktop
To implement this deployment, the IP conflict between the guest OS within the virtual machine and the host OS
has to be resolved. Such conflicts exist because with the NAT network configuration of the virtual machine the
host and guest OS are both sharing the same IP and port for Remote Desktop for the outside world.
One solution is port forwarding. The NAT has to be configured in order to forward a port to the guest OS on the
virtual machine. The VMWare Workstation supports this port forwarding configuration as shown in the following
• Open -> Virtual network settings -> NAT tab -> click on "EDIT" -> "Port Forwarding" -> in the "incoming
TCP ports" section, click ADD
• For the host port, pick a free port such as 9999
• For the virtual machine IP address enter the IP of the guest OS and port 3389 for Remote Desktop
• For remote access to other virtual machines, additional port forwarding configuration has to be added.
• For remote access to the guest OS from computer "B" via Remote Desktop, the host IP and the new
identified port on the host are needed as parameters: "mstsc /V:VMWare_HOST_ip:9999"
2.4 Deployment: Virtual OLF clients on computer "B" access the real OLF server on computer "A"
6. A virtual machine with guest OS and OLF client hosted on a computer "B" can be connected to the real OLF
installed on computer "A". The local resources of computer "B" such as hard disk and smart card can be used to
work with the virtual OLF client.
The OLF server hosted on computer "A" can be installed directly on the host computer (real) or within a virtual
Figure: Virtual OLF client on computer "B" communicates with real OLF server on computer "B"
2.5 Deployment: Virtual OLF clients on computer "B" access the virtual OLF server on computer "A"
Implementation of this scenario is under investigation.
Figure: Virtual OLF client on computer "B" communicates with virtual OLF server on computer "B"
7. 3 VM settings, configurations, troubleshooting
VM settings For VM Player and Workstation
• Settings as made by a typical installation of VM Player and Windows
• Network adapter NAT allows the guest Windows to access the internet
• Min. 500 MB memory allocation for VM Player
Guest OS For VM Player and Workstation
to network • Ping from each guest OS to local host must work
• Ping from each guest OS to OLF server OS must work
• The internet must be accessible to the guest OS (network = NAT)
• The host computer must be able to access the shared folders of the guest OS
explorer IP quest OSname of shared folder (192.168.111.128olf)
NAT/bridge For VM Player and Workstation
configu- • The most stable network for OLF virtualisation is the NAT switch static IP
ration • A NAT with dynamic IP works for most deployments. For OLF deployments where an
external computer needs to use the guest IP, conflicts with the IP/port of the host will cause
instability. Port forwarding can be applied to solve the problem.
• A bridge for OLF virtualisation causes instability between the server and the client
connection. Bridge is not recommended.
Connection For VM Player and Workstation
OLF client If the File Manager starts but the application filing window (procedure) does not start
and server • if the network configuration on a guest OS connected to the OLF server is set to bridge, then
lost switch to NAT
• then reboot all real and virtual OSs connected to the OLF server, including the host OS of the
• Check also the configuration files of each procedure-services on the OLF-Server
C:Program FilesEPO_OLF5procedure-nameconfigep*.CONF File
# Server IP address
IPAddress= shall be the OLF-Server IP
Drag-and- For VM Player
host to • Create a shared folder on VM guest OS
guest not • Establish the connection from the host OS to the guest computer (VM player) (type in
working explorer IP of the questname of share folder (192.168.111.128olf)
Slow For VM Player
with window • Install the VMWare tools. These tools improve some guest OS behaviour. Hints for tools
and OLF installation are given below in this table
GUI • Turn off transition effects in Display Properties -> Appearance -> Effects
OLF crash For VM Player and Workstation
• In case of frozen OLF GUI, restart VW
• In order to prevent the GUI freezing, schedule a restart of services (every 2 hours) and a
restart of VMWare (once per day)
Smart card For VM Player
recognised • Check if the computer management on VMWare detects the card reader. If the card reader is
plugged in, it will be listed in the device manager list. Compare the guest and host device
manager list (see figure).
• If the device is not in the device list of the guest OS, then unplug/plug the card reader and
reboot the OS reader.
• Check and modify the VMWare configuration file *.vmx
o add the setting usb.present = "TRUE"
o start VMWare
o in running VM, the smart card device has to be connected to the VM Player.
This can be done using the VM GUI device look-up table or the VMWare bar
8. (right mouse click)
• Smart card can only be used by the host or by a virtual machine at one time. If more virtual
machines are hosted on the same computer, the connection to the smart card reader has to
be first disconnected from one virtual machine and then connected to the other virtual
machines. For connecting and disconnecting, the VMWare GUI must be used.
Smart card For VM Player and Workstation
missing • Helpful checks for the smart card are the "OLF smart card checker" and the "smart card
icon", which appears red in the Windows bar for problems with the driver
• If the smart card can not be recognised although the smart card reader
o is in the device manager list
o and is disconnected from other virtual machines
o and is connected to this virtual machine,
then check if the smart card driver is installed within the guest OS. For the EPO Smart Card
solution, the "Gemplus" software must be listed in Programs or installed software.
• Install the smart card driver within the virtual machine and reboot the guest OS
• The software for the smart card reader must be installed on the guest OS. A reboot is
needed. Download of the software Gemplus http://www.epoline.org/gemsafedownloads.html
CD/DVD For VM Player and Workstation
driver is not Add the following setting to the *.vmx file of your VMWare and start VMWare
by VMWare scsi1:0.present="TRUE"
scsi1:0.deviceType = "cdrom-raw"
Host's For VM Player
folders, "VMWare tools" must be installed in the guest OS to get the driver for the VMWare shared
drag-and- folders feature. This installation allows copy-and-paste, file drag-and-drop and folder sharing.
drop from The following steps are needed to install the tools in the VM Player.
guest to • Download the VMWare Workstation executable
host • Then extract the windows.iso using the following command line
o VMWare-workstation*.exe /a /v" /qb TARGETDIR=""%temp%workstation_extracted"""
o explorer %temp%workstation_extracted
• Copy the windows.iso to the Player directory.
• In order to tell the CD-ROM to point to an iso image, modify the *.vmx file as follows:
ide1:0.present = "true"
ide1:0.deviceType = "cdrom-image"
ide1:0.filename = "windows.iso"
ide1:0.startConnected = "TRUE"
• After the start of VMWare Player, the tools folder will contain the VMWare tools installer.
After installation and reboot of the VM Player, shared folders and drag-and-drop will work.
9. An alternative to VMWare tools is to use SAMBA
Host's For VM Player and Workstation
folders not In addition to the installed "VMWare tools", the following settings in the VMWare *.vmx file may
accessible help to customise the shared folders feature:
guestOS = "name of the guestOS"
sharedFolder0.enabled = "TRUE"
sharedFolder0.present = "TRUE"
sharedFolder0.writeAccess = "TRUE"
sharedFolder0.readAccess = "TRUE"
sharedFolder0.hostPath = "C:folder1folder2"
sharedFolder0.guestName =" name of the guestOS "
#sharedFolder0.eXpiration = "session"
sharedFolder0.expiration = "never"
sharedFolder.maxNum = "1"
hgfs.mapRootShare = "TRUE"
Remote For VM Player and Workstation
virtual • The VMWare configuration setting and the guest OS setting have to allow Remote Desktop.
machine The virus and firewall on the guest OS have to allow the Remote Desktop application.
• The NAT configuration has to allow port forwarding in order to forward a port (any free port)
on the host IP to (Remote Desktop) port 3389 on the guest OS IP. The VMWare
Workstation supports this port forwarding as described in section 2.3.
Remote For VM Player and Workstation
and smart The Remote Desktop settings have to allow the use of local smart cards for the Remote
The v5.1GemSafe software libraries used for smart cards have timing issues with writing back
certificates. Using Remote Desktop, this issue may slow down communication. This problem
did not appear with the GemSafe versions after v5.1.
10. D. Requirements and validation concept for virtual machines as test environment
The main focus with virtualisation at the EPO lies on hardware reduction in the test process. For testing, different
deployments are used (Chapter C). In all deployments, the guest OS Windows 32-bit and 64-bit mode is hosted
on Windows XP in 32-bit mode.
Validation of the virtual machines in each deployment must be performed on the basis of the test cases listed
below. Successful execution of the test cases proves the validity of non-product software to be used for the
intended purpose. Some of the issues arising from the tests can be fixed using the settings/troubleshooting hints
table from chapter C. Due to the virtualisation concept, VW users should be aware that this solution is not
intended for performance or timer-critical tests.
Requirement ID Test case and step description Expected results
1: OS-Installation • Insert “OS” CD, press any key during start-up to Installation should
boot the CD succeed without any
Inside the virtual machine, • During installation, answer the questions warnings or errors –
each of the following OSs regarding hostname, IP, time zone and admin check all 3 parts of
must be installable without password the event log as
errors: • Log in after installation and verify the event log described in step 5.
- XP, Vista 32/64 (application, system & security), no warnings or
- Win Server 2003 32/64 errors must show up (Start – Run –eventvwr.exe)
2: Correct-OS-Installation • Start command-line shell (Start – Run – cmd) The “winver” and the
• Check OS version with “winver.exe” shell must show the
The installed OS must • Compare with OS version shown in command- same OS version
report the correct OS line shell and build
3: Driver-Availability • Open the device manager (Start – Run – In all driver checks
devmgmt.msc) the status should be
The display, network and • Under “Display Adapters” select the “VGA” “working properly”
disk driver must be working, adapter driver and check the status of the
with a status reported as adapter “properties” – “general”
“running” • Under “Network Adapters” select the “Network”
adapter driver and check the status of the
adapter under “Properties” – “General”
• Under “Disk Drives” select the “Disk Device”
adapter driver and check the status of the device
under “Properties” – “General”
4: Smart-Card-Connection • Open the device manager (Start – Run – A plugged-in smart
devmgmt.msc) card reader must be
The computer management • Under “Smart Card Readers” select the reader listed in the device
on VMWare must detect the device and check the status of the device under manager with status
card reader “Properties” – “General” “working properly”
5: Access-On-Drives • Open the DOS shell (Start – Run – cmd) File listing should
• Check access to C drive: with “dir c:” appear.
Access to local C drive and • Check access to CD-ROM drive with “dir d:”
CD must work correctly
6: Network-Connection • Open the DOS shell (Start – Run – cmd) Reply from host IP
• Use the ping command to check connectivity to and OLF server IP
All computers needed for each IP target which will be used for networking must be received
networking must be with no lost packet
reachable via ping
7: Remote-Desktop • Allow users to connect remotely to this computer Login screen from
on “My computer” – “Properties” – "Remote” tab the system must
The VM must be reachable – "Enable“ show up.
with a remote desktop • From any Windows client, open an RDP
session connection with “mstsc /v:IP-Adr-of-Server”
8: Snapshot For snapshots an upgrade of VM Player to ABC On the system
licence or Workstation is needed (not free). recovered from the
Full functionality for • Create a snapshot with VMWare workstation. snapshot, tests 2-7
snapshot • Recover VMWare from a snapshot and retest must be passed.