Design and Construction of Virtual Simulation Experiment Platform Based on Cloud Computing

This paper provides a new method to build a virtual simulation experiment platform. The platform is based on cloud computing, which has the ability to support elastic demands on different numbers of students or different experiments. Compared with traditional similar platforms, the platform raises resource utilization rate, requires less hardware, needs less management and has a better performance. The platform also provides many other functions related to virtual simulation experiments, such as course management, reports management, reports assessment, student management and so on, which means one single platform can satisfy almost all demands during the experiment teaching process.


Introduction
Subject to environment or security problems, more and more colleges and universities choose to conduct virtual simulation experiments instead of traditional real experiments [1]. Current virtual simulation experiments usually need to install a software on students' personal computer or deploy an experimental system on a server [2]. The former is a flexible method. Students can use their computers to finish experiments without the limitation of time or space. Meanwhile, it requires students owning high-performance computer. But in fact, many students have no computer satisfying the software's demand on hardware. The later usually based on B/S (Browser/Server) structure, which means most computing tasks are running on the server. Students only need a common computer. However, deploying such platform costs much resource including human resource and server resource. On the one hand, once the platform is deployed, it occupies fixed hardware resource. Fixed hardware occupation means the waste of hardware when fewer students are using the platform and insufficiency in hardware resource when too many students are using the platform. On the other hand, such platforms usually only support one or several experiments and have little extendibility or scalability. A new platform needs to be deployed if there is a need for other experiments. Therefore, a new type of virtual simulation experiment platform is needed to solve the problems mentioned above. The platform contains all functions needed in experiment process, including uploading experiments' guide and requirements, creating and handing out customized experiment tools and submitting laboratory reports.

Analysis of Requirements
The virtual simulation experiment platform should satisfy many functions needed during the experiment processes. Teachers should be able to manage courses, experiments and experiment virtual machines or apps. Students should be able to access experiments detailed information, including experiment goals, steps and due time. Students should also get independent experiment environment to finish experiments. After experiments, students can upload their reports and teachers can download these reports. Peer assessment is an additional function, which helps students learn more by reading others' reports. As for administrators, all information on the platform should be accessible for them and all resources should be managed by them.

Summary Design
Teachers' and students' main processing flow is shown in Fig. 1.   The system contains four types of database, which perform different roles in this system. The main database is MySQL. It stores data related to users, courses, experiments, authorities of virtual machines, application for virtual machines and system logs. Data related to files will be also stored here. It contains another several tables, including tables for storing file information (file name, create time, file size, location), file data (where the file is stored on the server or in the MongoDB), permission (for identifying one user has the permission to read or edit a file or not), share (one user could share a file or a folder to another one).

MongoDB Database.
MongoDB is used for storing files.

Redis Database.
Redis is used to store some temporary data, such as authorization token.

Structure Design of the Platform
The platform adopts B/S structure with front-back stage decoupling. Backend services provides RESTful APIs for frontend to access data and render pages. Backend services are divided to three parts to provide independent services. Main service is used to handle all requests from users. And the other two services are used to help the main service work better. The storage service is used to manage files in the platform. This service can also be used to store and share personal files. The cloud resource management service is another important service in the platform. All requests related to cloud resource will be handled by it. This service is also a virtualization management, managing virtual resource. The architecture diagram is shown in

Related
Technology. The frontend of the platform adopts Vue.js framework. The backend of the platform uses .Net Framework running on IIS (Internet Information Service), Go HTTP Server and Java Web Service running on Tomcat. They are separated services, which means each service can be independently updated or deployed. The underlying architecture of the platform adopts VMware vSphere for virtualization with the cloud resource management service controlling.

Creation of Experiments
Each experiment must belong to a course. Before creating an experiment, the teacher must create a course first. Teachers can hand out experiment materials on the platform. And teachers can also apply for simulation experiment virtual machines and hand out them to students. Besides, simulation software uploaded by teachers can be published as remote apps, which is an easier way to create experiment environment. Thus, students can conduct experiments online.

Choose to create experiment virtual machines.
If the simulation software requires special environment or hardware, use this method is proper. Teacher should choose template and configuration of the virtual machine(s). Templates are prepared by the platform administrator. It usually means choose a proper operating system while choosing a template. After the application for creating a virtual machine is passed and finished, a virtual machine is created. Then the teacher can log on to the virtual machine and configure the virtual machine. For instance, the teacher can install the simulation experiment software on the virtual machine. Using this, the teacher can clone the VM and all students in the course will get a same VM, on which virtual simulation experiment software has been installed. Students can start the experiment immediately after logging on to the virtual machine without any installation or download. The virtual machines will occupy the same resource as the simulation experiment spends, which means no hardware resource would be wasted. Meanwhile, students only need normal computers to finish the simulation experiments.
After creating experiment virtual machines, the teacher will see the interface as shown in Fig. 3.

Choose to Publish Remote Apps. [3]
Teachers only need to create an experiments and upload the simulation software. And other deployment work will be accomplished automatically. Students can access the remote app via the platform. If the simulation software requires no special environment and runs on Windows, this method is more convenient. After deploying remote simulation experiment app, students will be able to see and access the virtual simulation experiment on the platform as shown in Fig.  4 (ChemLab-7, the 3 rd app in the "my applications" column).  Figure 4. Interface of remote apps.

Log on to Virtual Simulation Experiment Environment
The platform provides multiple ways to log on to virtual machines. Basically, users can get the IP addresses of virtual machines and log on via VNC (Virtual Network Console) Viewer or MSTSC (Microsoft Terminal Service Client). Additionally, the web console is provided for teachers who require more permission to the virtual machines. Students can also access virtual machines or remote apps installed via a web browser.

Submission and Peer Assessment of Experiment Reports
Before the deadline time, students can upload their reports. Report files storage is supported by online storage service. All students submitted reports will participate peer assessment. Considered students usually cannot give accurate marks, some methods are used to fix these marks. Every student will receive other 3 students' reports and give marks to them according to standards given by teachers. And each student will receive one more report which already has a mark given by teachers. According to the mark the student give to the report, all other marks will be adjusted properly. [4] 3.5. Interface Display of the Platform The interface of students conducting experiments are shown in Fig. 5 and Fig. 6.

Summary
This platform has been using for virtual simulation experiments in Beihang University. Teachers and students are able to use it to finish experiments without other devices or facilities. It helps a lot pushing ahead education informationization in colleges and universities. Meanwhile, it provides a new high-efficiency and few-requirement way to construct a virtual simulation experiment platform.