Received October 3, 2019, accepted October 22, 2019, date of publication November 7, 2019, date of current version November 21, 2019.
Digital Object Identifier 10.1109/ACCESS.2019.2952321
Improving the Scalability and Replicability of
Embedded Systems Remote Laboratories
Through a Cost-Effective Architecture
AITOR VILLAR-MARTÍNEZ 1,2 , LUIS RODRÍGUEZ-GIL 2 , IGNACIO ANGULO 1 ,
PABLO ORDUÑA2,3 , (Member, IEEE), JAVIER GARCÍA-ZUBÍA 1 , (Senior Member, IEEE),
AND DIEGO LÓPEZ-DE-IPIÑA 3 , (Member, IEEE)
1 Faculty
of Engineering, University of Deusto, 48007 Bilbao, Spain
48002 Bilbao, Spain
Foundation, 48007 Bilbao, Spain
2 LabsLand,
3 DeustoTech-Deusto
Corresponding author: Aitor Villar-Martínez (aitor.v@deusto.es)
ABSTRACT Online remote laboratories are a particularly promising tool for effective STEM education.
They offer online universal access to different hardware devices in which students can experiment and
can test and improve their knowledge. However, most of them have two significant limitations. First,
given that most of them are developed as, or evolve from single-user proofs of concept, they have no
scalability provisions other than full laboratory replication. And second, when this is done, cost efficiency
is often neglected. This paper presents the requirements for the creation of a novel remote laboratory
architecture focused on, but not limited to, embedded systems experimentation. An architecture, based on
Redis (an open source, in-memory data structure store, which is often used as database, cache or message
broker), a modular design, and hardware-sharing techniques, is proposed in order to achieve the combined
requirements of high scalability and cost efficiency. This mixed hardware-software architecture serves as a
basis for the development of remote laboratories, especially those focused on microcontroller-based systems
experimentation and embedded devices experimentation. From a user perspective the architecture is webbased, and has provisions to be easily adaptable to different Learning Management Systems and different
hardware embedded devices. A new microcontroller-oriented remote laboratory based on the architecture has
been developed, with the aim of providing valid evaluation data, and has been used in a real environment.
The architecture and the resulting remote laboratory have been compared with other state of the art remote
laboratories and their architectures. Results suggest that the proposed architecture does indeed meet the
main requirements, which are scalability through replicability and cost efficiency. Furthermore, similarly to
previous architectures, it promotes usability, universal access, modularity and reliability.
INDEX TERMS Remote laboratory, scalability, embedded system, online experimentation, architecture.
I. INTRODUCTION
Throughout the last years several initiatives have been
undertaken that promote the practical use of remote laboratories [1], [2] in distant learning scenarios. For example, the European Go-Lab project, with 18 partners from
12 different countries, aimed to enrich the classroom experience with Inquiry Learning [3] and the use of virtual and
remote labs [4]–[7] in schools.
Another example is the LabsLand1 network, which is a
commercial initiative that aims to establish a large global
network of remote laboratories from different providing institutions, allowing schools and universities to access them
through a unified and reliable platform [8], [9].
These initiatives can build upon the many advancements
on remote labs that are now found in the literature. Remote
labs today can be fully-based on the web, and can thus be
easily accessible to most users [10]–[13]. Remote Laboratory
The associate editor coordinating the review of this manuscript and
approving it for publication was Martin Reisslein
164164
.
1 https://labsland.com
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see http://creativecommons.org/licenses/by/4.0/
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
Management Systems (RLMS) are available, which can provide common features and ease the development of new
labs [14]–[17]. Labs can be shared across institutions [18].
They can be accessible from any kind of device, including
mobile ones and tablets [19]–[21]. Architectures have been
created to make the scaling of laboratories and adapting
laboratories to new remotizable equipment easier [22].
Based on the classification of [23], a remote laboratory
offers an internet-mediated experiment. There are various
types of remote experiments [24] depending on their discipline, level, complexity, or other characteristics. One type of
remote laboratory is called controlled laboratories, in which
the user is able to design and implement a controller system
that controls a process. In control engineering remote labs
the student typically designs or parametrizes a PID controller,
which often controls a complex process, like water tanks
management, coupled motors control, pendulum systems,
ball and beam systems, etc. The most representative example
of such laboratories according to [25] is UNILabs [26], [27].
NCSLab [28] is another interesting example of control
engineering remote lab. In the previous cases, the learning outcome is focused on the design or parametrization
of the controller, leaving aside its implementation, a task
that is usually carried out by the laboratory itself. However,
there is another type of remote laboratories with a different
approach. Sometimes, the main learning outcome is focused
on the design of a complete control algorithm, rather than
in the parametrization of it. In this case, the control algorithm is developed using programming languages such as C,
Python or VHDL. In order to successfully test the developed
algorithm, the code is compiled and programmed in a real
testing platform, or remotizable object. This platform usually
comprises a microcontroller, a FPGA, or a PLC, among
other devices, and a series of output peripherals. In this case,
the learning outcome is focused on the programming competence. RELLE [29], RELDES [30] and GOLDi [31] are
interesting examples of this type of laboratories, which also
coincide with the laboratories that the architecture proposed
in this paper tries to support.
However, the practical and massive use of remote labs
across different institutions and by many students, as promoted by the aforementioned initiatives, poses some significant additional challenges. First, it should be possible
to provide service to many concurrent users. Teachers will
often wish to have their whole class, either individually or in
small groups, using the labs at the same time. Likewise,
different institutions might need to use the lab at the same
time. Second, the service should be reliable. Teachers need
to trust that the service will be available when they need it,
as they need it.
These challenges can be partially alleviated by allowing
calendar reservations. However, effectively, for many labs,
the only practical way to actually overcome them is by replicating it a number of times. The LabsLand Arduino Robotics
remote laboratory [32] allows students to learn robotics and
Arduino programming with real hardware. Teachers need to
VOLUME 7, 2019
be able to use it in-class, and they need to prepare their classes
in advance. Several instances of the same robot are deployed
across several institutions, and several students can thus be
served concurrently.
Replicating a laboratory can solve both challenges. By having several identical copies, the load can be distributed across
them, thus being able to serve several students concurrently.
Furthermore, it can also provide reliability. Ensuring that
a laboratory with many not particularly reliable consumergrade moving parts is always working is far from trivial.
A high downtime is to be expected, especially under heavy
use. By having several instances of the same laboratory available, however, it is possible to automatically detect which
ones are not working, and redirect the load to the working
ones. This way, it is possible to reduce the effective downtime
to almost zero percent, despite the inherent unreliability of the
individual instances.
The main goal of this work is to propose a new mixed
hardware-software architecture, based upon existing ones
(e.g., [22]), which aims to promote the development of practical laboratories that are suitable for the aforementioned realworld usage. The architecture should serve as a basis for
the development of multi-instance remote laboratories, especially those focused on microcontroller-based systems experimentation and embedded systems experimentation. In order
to offset the previously exposed hurdles, this architecture has
two main, interlinked goals. The first one is to promote the
development of remote labs that can be replicated easily, and
that contemplate replication in their initial design. The second
one is to focus on the cost efficiency of the laboratory, which
is a key aspect for labs that are meant to be replicated and
which are meant to scale to a large number of users.
To evaluate the architecture, an Arduino remote laboratory
has been implemented as an example. This laboratory has
been designed from the ground-up to be easily replicated
and to support several concurrent users and to be low-cost.
It is used to verify that the technical requirements of the
architecture are met, and a cost comparison and analysis
with related works has been provided. Furthermore, the laboratory has been replicated as intended, and a real experience has been conducted with it with a class of school
students.
The paper is organized as follows: Section II describes
in more detail the relevant state of the art on remote labs
and the relevant architectures. Section III analyzes the goals
and requirements for the proposed architecture. Section IV
presents an overview of the proposed architecture. Section V
describes each layer in more detail. Section VI describes
the Arduino remote laboratory that has been created to evaluate the proposed architecture. Section VII evaluates the
architecture from a technical perspective. Section VIII compares the costs with those of related works in the literature.
Section IX describes the pilot experience of the implemented
laboratory with a school classroom. Section X summarizes
the conclusions and Section XI describes future lines of
work.
164165
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
II. RELATED WORK
Remote laboratories are a fundamental tool for the education of embedded systems, allowing access to experimentation with the latest devices without the need for a
continuous update of traditional hands-on laboratories. The
Arduino platform is considered by experts to be the perfect tool for approaching the development of embedded
systems [33], [34]. Despite the low cost of development
systems based on this platform, having a remote laboratory
provides the educator with an approachable tool that offers
total abstraction of the hardware and facilitates access to the
software development cycle required by the technology [35].
A set of remote labs are currently available providing real
experimentation with Arduino over the Internet. Some of
these systems [36]–[38] focus on allowing a single simultaneous access to the lab. This, however, cannot be used
by the teacher during classes, because several simultaneous
accesses are expected. Other laboratories are focused on the
development of low-cost remote experimentation [39]–[41],
but are not integrated into a RLMS that provides features
such as authentication, LMS integration, federation or queue
and reserve management, that guarantee scalability. All these
systems focus on reducing the infrastructure required for
laboratory deployment, and sometimes even provide the
capability of balancing load among several instances of the
same laboratory. However, they do not provide any particular means of facilitating the physical replication of the
laboratory instances. Some labs, also, require the student
to have the hardware to develop their own experimentation
at home [42], [43]. These laboratories, known as pocket
labs, give the users the opportunity to experiment with often
more complex hardware devices, at home, solving the physical access barrier. These laboratories, while still being a
good alternative for providing physical decoupling, are not
extremely cost-efficient, because the laboratory hardware to
user relationship is one to one. From an architectural point
of view, laboratories [36]–[38] present a centralized distribution focused solely on the specific experiment itself, while
laboratories [39]–[41] have been designed on a distributed
architecture focused on cost reduction to favor scalability.
This work proposes an architecture focused on scalability that
allows the deployment of the desired number of instances
of experimentation at a low cost, in order to provide simultaneous access to large student numbers and not hinder the
experimentation capability.
In this work, two of the previously mentioned state of
the art remote laboratories and its architectures [37], [38]
have been thoroughly analyzed with the aim of creating
comparative data. These laboratories and its architectures are
representative of the main trends in microcontroller-based
and embedded systems remote laboratories. This comparative
data illustrates how the proposed remote laboratory architecture builds upon the state of the art to provide improvements to certain characteristics. These laboratories have been
selected due to various reasons. Firstly, the objective of both
laboratories is very similar, allowing the user to program
164166
an Arduino board remotely, which matches with the proposed architecture objective. Secondly, both laboratories and
their architectures employ Linux-compatible single-board
computers as a sort of control server, which also matches
part of our proposed architecture control system. Thirdly,
both of them are developed with cost efficiency in mind.
In the following subsections, both of these similar Arduinoexperimentation-capable remote laboratories are presented.
Technical details about their architecture and their implementations are given, in order to establish the comparison basis.
These laboratories will be analyzed and compared with this
work’s implementation in following Sections VIII and IX
from cost-efficiency and scalability points of view,
respectively.
A. RELDES ARDUINO REMOTE LABORATORY
The RELDES Arduino remote laboratory [30], [38] is a
remote laboratory designed specifically for embedded systems design and experimentation using Arduino UNO boards
as a remotizable object. It has been developed by the Software
Tools Department of the Zaporizhzhya National Technical
University, in Ukraine. From an architectural point of view,
the RELDES laboratory only has two main components,
a main laboratory server and the remotizable objects, based
on Arduino boards.
The main server of this laboratory setup is in charge
of managing all of the remote laboratory tasks, which are
described below:
1) Access server, for managing authorization and queue
control.
2) Web Server, supporting both the web-client and an
integrated IDE.
3) Compiler.
4) Programmer.
5) Live-streaming server.
This laboratory has four remotizable objects, based on
Arduino boards. These remotizable objects are not aimed
towards scalability, but towards offering different experimentation setups. Each remotizable object is based on the same
Arduino UNO boards and each of them has a different output peripheral. The laboratory offers the remotizable objects
shown below in order to support different experimentation
setups.
1) Arduino UNO + 4 PWM LED diodes
2) Arduino UNO + Servomotor
3) Arduino UNO + HD44780 display
4) Arduino UNO + HC-SR04 ultrasonic sensor
The user of this remote laboratory is capable of programming an Arduino UNO board with one of the previously
described output peripherals. Once programmed in the integrated IDE, the user monitors the experimentation results via
a real-time stream. It is noteworthy that once it has been
programmed, the user has no means of controlling the experimentation setup. There are no connections between the server
and the remotizable object, other than a USB cable to perform
programming tasks only.
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
B. RELLE REXLAB ARDUINO REMOTE LABORATORY
The RELLE RExLab Arduino remote laboratory [29], [37] is
an Arduino remote experimentation system developed by the
Federal University of Santa Catarina, in Brazil.
The laboratory, focused also on the experimentation
with Arduino-based remotizable objects is slightly more
advanced, from an architectural point of view than its
Ukrainian counterpart. This laboratory is formed by three key
components, which are the RLMS, the laboratory server, and
the remotizable objects. In this case, all the user management
tasks are done by the RLMS, and only the controlling, programming and compiling tasks are done by the laboratory
server. The remote laboratory offers two equal experimentation instances, achieved by total replication of the laboratory
server and remotizable object, which are connected with the
RLMS server via Ethernet, through a local access network.
In this case, each remotizable object is formed by an Arduino
UNO board, and the components shown below:
1) 4x LED diodes
2) 1x Servomotor
3) 1x HD44780 display
4) 1x Hardware potentiometer
5) 1x Humidity sensor
6) 1x Temperature sensor
Users, after accessing the laboratory through a RLMS system, which manages queue control, access and authorization,
are presented with an integrated IDE that allows the programming of the remotizable object both in Arduino language or a
visual blocks-based language.
Once programmed, users are able to see the experimentation instance through a live-stream. The user, in this case,
is able to interact with the programmed remotizable object
through a serial console or via some virtual buttons, controlled directly through GPIO pins in the laboratory server.
multi-instance laboratories, where most of the hardware
is replicated many times.
The main requirements are the following:
• Embedded systems experimentation: The architecture
should, as previously described, be capable of providing
a real and remote experimentation experience over a
variety of embedded platforms.
• Modularity: The architecture should be reconfigurable
in a way that adapts successfully to different deployment
scenarios.
• Universality: The architecture should, from a user perspective, be accessible with independence of platform,
device or operating system without the needs of any
network reconfiguration or any software or plugins
dependency.
• Reliability: The architecture should improve the reliability of the laboratory as a whole, as a side effect of
scalability and replicability. Easing the deployment of
multiple equal laboratory instances helps maintaining a
pool of available instances, even when one or some of
them fail.
In the following subsections, the previously exposed goals
and requirements are analyzed in a more thorough way.
A. HIGH SCALABILITY FOR MULTIPLE USER SUPPORT
Embedded systems experimentation requires an embedded
device to be physically programmed, per user. Those embedded devices are finite devices. In order to support a high
number of concurrent users, such as those in a classroom
environment, it is necessary to increase the number of available experimentation instances, thus creating a multi-instance
laboratory. The proposed architecture should be designed in
a way that can successfully support a high number of equal
experimentation instances.
III. ARCHITECTURE GOALS AND REQUIREMENTS
B. ADAPTABILITY
The main goal of the remote laboratory architecture proposed
in this work is to satisfy the previously analyzed needs that
are present in the state of the art of remote laboratory architectures, especially in those designed for embedded systems
experimentation.
The main goal of this work has been divided in several
goals and requirements, which are explained below. The general goals are:
In the last years, a broad range of embedded devices and
embedded development platforms [44] has emerged, and each
of them can have different communication protocols and
connectors. This increases the needs for easy adaptability.
The architecture should provide the necessary hardware and
software techniques to be able to withstand this variety of
interconnection systems. This matter is also important from
another point of view. Embedded devices and development
platforms are constantly updated, meaning that in order to
develop an easily-updatable remote laboratory, the architecture should provide the means to easily adopt new embedded
devices and systems with minimum reconfiguration, and,
when possible, avoiding the need to re-implement the laboratory from scratch.
•
•
•
Scalability for multiple concurrent user support: The
architecture should be designed in a way that supports a
high number of users accessing the laboratory devices
concurrently. This way, multiple users can experiment
with embedded devices at the same time.
Adaptability: The architecture should provide the
means to easily interconnect with a broad range of
embedded devices.
Cost efficiency: The architecture should be developed
in a way that minimizes the deployment costs of a remote
laboratory, especially since it is designed to produce
VOLUME 7, 2019
C. COST EFFICIENCY
Traditionally, remote laboratories have required the use of
expensive servers and several different hardware components in order to be developed. With the rise of single-board
164167
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
computers [45] and other low cost hardware devices,
the deployment cost of remote laboratories has been reduced.
This architecture, in addition to offering support for being
deployed over low cost hardware devices, should also reduce
the costs even further by sharing different hardware resources
among the multiple instances, with the aim of significantly
reducing the cost per instance.
D. EMBEDDED SYSTEMS EXPERIMENTATION &
USABILITY
The architecture should provide the means to facilitate a real
remote experimentation over any embedded device or system.
In order to ensure that the experimentation experience is
successful and is not hindered, it is a requirement that the
architecture provides a number of ways to interact with the
embedded system once it has been programmed. Users should
be able to program their scripts on the device, monitor them
through a live stream and interact with them via different
means, which can include digital and analog inputs, digital
and analog outputs, input and output peripherals, and bidirectional serial communication via a console.
E. MODULARITY
In order to better adapt to different deployment scenarios, the architecture should be designed in a modular way.
To achieve this modular design, the core of the architecture is subdivided into smaller modules or entities, which
handle simpler tasks, and are interconnected via industry
standard interfaces and communication protocols, such as
Ethernet or SPI. This way, laboratory owners can follow
different topology designs to better suit their laboratory setup
requirements.
F. UNIVERSALITY
The meaning of universality varies among different contexts.
In this work, the universality requirement means that the
remote laboratories created upon this architecture should
be as broadly compatible as possible [10]. These remote
laboratories should be accessible with independence of the
platform, device or operating system, opening the possibility
of accessing to the lab from not only PCs and laptops, but
from tablets and smartphones as well. To achieve this universality requirement, the remote laboratories should thus be
fully web-based, and should not require any different access
ports than the common HTTP 80 and HTTPS 443 ports,
in order to eliminate firewall access problems. Also, in order
to enhance universality, it is advisable that the architecture
should be integrable in different Learning Management Systems or LMSs, such as Moodle, in order to be merged seamlessly with other web-based tools that educational institutions
may have.
G. RELIABILITY
Due to the fact that a remote laboratory based on this architecture could have multiple instances of the same remotizable
object, the reliability of the laboratory as a whole is directly
164168
related to the number of these instances being in an available
state.
The RLMS or Remote Laboratory Management System,
a core component of the architecture in charge of the laboratory administration tasks, should be able to properly manage
both active and failed laboratory instances in order to maintain the largest possible number of experimentation instances
available for use. In case a laboratory instance fails, the user
load would be distributed among the remaining working
instances. The waiting times for accessing the laboratory
could be increased depending on the number of functional
instances remaining, but the service would stay online.
IV. ARCHITECTURE OVERVIEW
As described in Section I, the proposed architecture has been
designed with the goal of improving the scalability of embedded systems remote laboratories, in respect to the number
of end users, with low cost and high flexibility in terms of
supported devices.
As described in Section I, the proposed architecture aims
to improve scalability through replication, in order to allow
concurrent access to multiple users. Furthermore, it aims to
do so with a low-cost, and it aims to be adaptable to different types of remotizable objects. In order to achieve close
to horizontal scalability and flexibility while keeping costs
reduced, the architecture has been divided in four main layers,
which are highly decoupled in order to promote easiness of
development and to better separate the concerns of each layer.
Section V analyzes these layers from a low-level, more indepth perspective.
Figure 1 shows an overview of the proposed architecture, which is decoupled in four main layers, and its main
components.
In the first place, the lowest level layer in the architecture, which is the Hardware Layer, encompasses all of the
hardware devices required to properly manage the remotizable object of the remote laboratory. Usually, a single-board
computer with a series of hardware components is capable of
interfacing correctly with the remotizable object, in order to
replicate the physical actions that the user would perform on
a hands-on laboratory. This remotizable object, which is the
focus of the remote laboratory is also part of the hardware
layer.
In the second place, the Interface Server Layer, is an entity
in charge of abstracting all of the control and hardwarerelated idiosyncrasies via a simplified REST API. Its goal is
to store and distribute all of the laboratory control tasks, that
represent actions to be performed over the remotizable object,
to the existing hardware drivers. These tasks are received
through a web server that exposes a REST API, via GET and
POST requests, and are saved in a FIFO data structure. Then,
the tasks are then distributed sequentially to the available
Hardware Drivers in order to be performed. Both the storing
and distributing actions are performed by an in-memory data
store/message broker mixed component. As can be seen on
Figure 2, this entity along with the Hardware Layer, can be
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
FIGURE 1. Overview of the proposed architecture split into several high-level layers.
divided in three minor subsystems each. These subsystems
are explained in a more exhaustive way in Section V.
In the third place, the Laboratory Server Layer, is a subsystem in charge of supporting the required interaction between
user and experiment. This component supports the web-based
client that is shown to the user, which includes a real time
stream of the experiment and the different virtual laboratory
controls. Also, this entity, communicates with the Interface
Server Layer in order to propagate downstream the user
actions and to retrieve the actual state and information of the
experiment.
In the fourth place, the RLMS Layer or Remote Laboratory Management System Layer is an entity in charge of
controlling all of the administration tasks required to properly manage the different concurrent laboratory sessions that
may arise. These tasks include user authorization, booking,
queuing or load balancing, among others. It also serves as an
integration tool, acting as a bridge between the remote laboratory and the different learning management systems or LMSs
from where the students gain access.
Finally, an Interactive Live-streaming Platform is deployed
in a parallel way to the other four subsystems. This component, which is also formed by various layers to ensure
scalability and reliability, is in charge of providing the user
of the remote laboratory with a real time stream, which
is captured on-site by a camera. This platform abstracts
VOLUME 7, 2019
out specific camera peculiarities and reliably provides these
functionalities.
In the remote laboratory spectrum we can differentiate
at least two types of laboratories. Those that require visual
feedback and those that not. Some remote laboratories, like
batch-processing ones for example, offer their users the ability to queue their jobs and retrieve the laboratory results at a
deferred time. In these cases, laboratory outputs are usually
captured by different hardware systems, and therefore, there
is no need to stream a live image of the laboratory setup.
On the other hand some remote laboratory setups require
some sort of visual feedback, often in real time. Some of
these labs use output hardware peripherals that are by nature,
visual, like LED diodes, 7-segment displays, screens, servomotors or actuators among others. In these cases, users need
to be able to observe the behaviour of these devices in order
to check if the result of the experiment is correct or not.
These types of labs are usually interactive, meaning that the
user is able to control those peripherals in real time, In this
case, the lab architecture needs to be capable of delivering
the user a real time stream capture of the laboratory setup.
The Arduino remote laboratory, which is explained in detail
in Section VI is a case of remote laboratory where real
time visual feedback is imperative, due to the use of visual
peripherals which are controllable through the Arduino board
in real time.
164169
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
FIGURE 2. Exploded view of the Hardware and Interface Server layers, with all of the related decoupled entities.
As it can be observed, the information generated by the
end user flows from right to left until it reaches the remotized
embedded system, and the information generated or processed by this, flows from left to right until it is shown or provided to the end user. The architecture serves as a medium of
communication between the user and the embedded device,
providing physical decoupling and maintaining at the same
time a high quality interaction capability.
V. ARCHITECTURE LAYERS
In this section, each of the layers and components that
form the architecture, and which were briefly introduced
in Section IV, will be described in more detail. All of
the exposed entities can be handled as decoupled items,
in order to create the topology that better suits the deployment
scenario.
164170
A. HARDWARE LAYER
The Hardware Layer of the architecture encompasses three
main architectural entities.
1) Output Peripherals: They are at the lowest level
of the architecture. These peripherals are controlled
exclusively by the embedded device and therefore,
by the user’s own testing script. These peripherals
are optional, because in some cases, they are already
included in embedded development boards, and can
range from simple LEDs or 7-segment displays to more
complex peripherals, such as screens or servomotors.
2) Embedded Device: The previously described Output
Peripherals are controlled directly by the Embedded
Device. This embedded device can be changed for
an embedded development board to suit different user
requirements. Embedded devices can vary enormously
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
in order to suit different experimentation and learning requirements, ranging from microprocessor boards
to FPGAs. These embedded devices, together with the
output peripherals, form the remotizable object. The
remotizable object forms an entity which can be replicated N times, in order to serve concurrent users.
3) Control Hardware Layer: In order to control, interact
and communicate with the remotizable object, analog
and digital signals management is needed. The Control
Hardware Layer is an entity, formed by various devices,
which is in charge of interacting electrically with the
remotizable object. This layer includes different ICs,
such as port expanders, digital-to-analog converters,
JTAG programmers, CAN-Bus interfaces, in order to
input and capture signals to and from the remotizable
object.
B. INTERFACE SERVER LAYER
All of the remotizable objects are controlled by the Interface
Server Layer, a layer which settles on top of the Hardware
Layer, which is also formed by three independent entities.
The boundary that separates these two layers is an interconnection bus, such as SPI, i2C or CAN-Bus among others.
1) Hardware Driver: The Hardware Driver is a software
entity, that is usually located in a single-board computer. Its specific purpose is to convert the user petitions
that arrive through the message broker component,
into control commands that manage the Control Hardware Layer devices. These commands perform changes
to the remotizable object. For example, when a user
wants to change some digital input signal, in a specific instance, a task that describes this action arrives
through the message broker component. The Hardware
Driver interprets this task, and creates the necessary
SPI control commands to change the behaviour of a
determined input pin. Any number of Hardware Drivers
can be deployed in order to manage different interconnection buses or any number of instances. In case of
upwards communication, from the remotizable object
to the users, the Hardware Driver works in a reverse
way, interpreting the different signals and transmitting
them via the message broker component.
2) Message Broker Component: On top of the Hardware
Drivers there is the Message Broker Component. This
entity is formed by an open-source in-memory data
store that, in this case, acts as a FIFO data structure
and as a message broker. The user commands are
received, through the REST API, as tasks. For example,
‘‘programming a binary’’, ‘‘changing output of a pin to
high level’’, or ‘‘reading the value of a digital input’’.
These tasks are located in the FIFO data structure,
which is accessible through Ethernet in a Local Access
Network as a horizontal layer, thanks to the message
broker capabilities of the in-memory data store. The
tasks are then transmitted to the Hardware Drivers and
the required actions are then performed. The system
VOLUME 7, 2019
also works in the opposite direction for the laboratory
information that is needed to be transferred to the user.
3) Interface Web Server: In order to provide a unified
access through HTTP commands, another entity is
needed. The Interface Web Server, which is located
over the Message Broker Component, is another software entity that acts as a converter between the
in-memory data store and the HTTP world. The Interface Web Server exposes a REST API in order to offer
a control method based on simple HTTP commands.
This web server, through the use of GET and POST
methods, interprets and loads into the FIFO data structure the tasks to be done, and reads the output statuses
in order to propagate this information through the upper
layers. Different endpoints are offered for each action,
such as: ‘‘/program’’, for programming tasks, ‘‘/serial’’
for serial communication tasks, or ‘‘/potentiometer’’
for virtual potentiometer-related tasks. Each endpoint
is accessed through GET and POST commands in
order to command a change or to retrieve information,
respectively.
C. LABORATORY SERVER LAYER
Over the Interface Server Layer is the Laboratory Server
Layer. This layer, which encompasses two software entities,
is in charge of supporting two important features. One, it supports the laboratory web-based client, which includes the user
controls, communication console and live-streaming video.
And two, it abstracts all the communication idiosyncrasies
between the web-based client and the Interface Server layer.
1) Web-based Client: The Web-based Client, which is
a software entity, is in charge of transmitting visually the laboratory setup to the end user. This client
can include a real-time stream, a programming utility,
a communications console, virtual switches, buttons,
potentiometers and led diodes and different debugger
options.
2) Laboratory Web Server: The Laboratory Web Server
is another software entity, tightly coupled with the
Web-based Client. This web server, which supports
the previously explained entity, also acts as a control
system. It is in charge of transferring all of the users
commands to the Interface Web Server, and collecting
all of the output data that is generated by the embedded
device, for it to be shown on the client.
D. REMOTE LABORATORY MANAGEMENT SYSTEM LAYER
The Remote Laboratory Management System Layer or RMLS
Layer manages all of the administration tasks that may arise
in a remote laboratory provider context. The RLMS Layer
properly manages the sessions for different concurrent users
that may access the remote laboratory platform, as well
as manages queuing, authentication, booking, user tracking or load balancing over various instances of the same
type of laboratory. After granting access to the users, and
164171
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
allocating a laboratory instance, redirects the user to the
Laboratory Web Server.
E. INTERACTIVE LIVE-STREAMING PLATFORM
In addition to the previously described layers, an Interactive
Live-streaming Platform needs to be deployed, in order to
provide the end users with a real time view of each laboratory
instance. The development of this system is out of the scope of
this work, which is centered in the actual embedded devices
control tasks. In the successive Section VI, a more in-depth
explanation about the WILSP platform, which has been used
in the architecture implementation, is given.
VI. THE ARDUINO REMOTE LABORATORY
A remote laboratory, named ArduinoRL, which is based on
the previously proposed architecture has been developed and
deployed as a proof of concept. ArduinoRL is a highly scalable remote laboratory that provides web-based experimentation over four Arduino UNO Rev32 boards, equipped with
Atmega 328P MCUs, low-power 8-bit AVR microcontrollers
that are used with great success in both educational and doit-yourself environments. The choice has been made due to
Arduino being one of the most popular platforms used by the
educational and DIY clusters around the globe [46]–[50].
Each experimentation instance is formed by the aforementioned Arduino UNO Rev3 board and a series of peripherals, which include LED diodes, potentiometers, serial
communications console, switches, buttons, an OLED screen
and a servomotor. These peripherals are prearranged and
already connected in a specific way, because the users are
unable to connect these components by themselves due to
the system being a remote laboratory. A schematic, shown
on Figure 3 is given to the users in advance, so they can
program the Arduino board accordingly. Input peripherals,
such as switches, buttons and potentiometers are controlled
remotely thanks to the use of the Control Hardware Layer,
which is explained below, that allows the user to replicate
those electrical signals in-situ through the internet. Each
Arduino experimentation instance has therefore, a series of
capabilities for the user to explore with:
• Analog input signal control (4x)
– Connected each to potentiometer as voltage divider.
– Voltage range from 0V to 3.3V.
– Remotized control through web-client.
• Digital input signal control (4x)
– Connected each to a switch and a button in parallel.
– Remotized control through web-client.
• Digital output signal control (8x)
– 2x non-PWM outputs connected to 2x LED diodes.
– 2x PWM outputs connected to 2x LED diodes.
– 3x PWM outputs connected to 1x RGB LED diode.
– 1x PWM output connected to 1x servomotor.
• Serial communication control
– Accessible through Arduino IDE-alike console.
2 https://store.arduino.cc/arduino-uno-rev3
164172
FIGURE 3. Fritzing schematic equivalent of each Arduino experimentation
instance. Figure shows how the peripherals are already connected,
so user coding can be correctly matched.
I2C communication control
– I2C ports connected to OLED SSD1306 display.
– User controls the screen through an Arduino script.
These peripherals are popular in the Arduino ecosystem,
and are usually encountered in the vast majority of Arduino
starter kits. The aim of this remote laboratory is to offer
users and students the ability to experiment as they would
do with a hands-on Arduino starter kit, but in a remotized
way, through the Internet. An increasing number of schools
and universities use these starter kits for practices in different
subjects, so having a remotized version which is accessible
through the Internet, is a positive thing. The laboratory flexibility is on par with the hands-on Arduino version, meaning
that the number of realizable exercises and practices is almost
infinite, so teachers can better adapt them to the contents
taught in class.
The ArduinoRL remote laboratory has been integrated in
the LabsLand3 remote laboratory platform. The laboratory is
currently in production state, and can be tested for free4 .
In the next subsections, the implementation of ArduinoRL
is analyzed in accordance with the layers previously exposed
in Section V.
•
A. HARDWARE LAYER
The Hardware Layer of ArduinoRL remote laboratory is
formed by three hardware entities.
1) Output Peripherals: Each of the four ArduinoRL
instances has a fixed amount of output peripherals,
which have been chosen after a thorough analysis.
These peripherals maximize the connection capabilities
of the Arduino UNO board, using all of the input and
output ports available. These output peripherals are:
• 1x RGB LED diode with PWM capabilities.
• 2x LED diodes with PWM capabilities.
3 LabsLand is a spin-off of the WebLab-Deusto research group.
4 https://labsland.com/en/labs/arduino-board
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
2x LED diodes without PWM capabilities.
1x servomotor.
• 1x i2C-compatible OLED SSD1306 screen.
2) Embedded Device: As has been previously explained,
each of the ArduinoRL instances has an Arduino UNO
Rev3 board, in its SMD version, as an embedded
device.
3) Control Hardware Layer: The Control Hardware
Layer of ArduinoRL is formed by:
• 8x Microchip. MCP48225 dual-output digital-toanalog converters.
• 1x Microchip MCP23S176 sixteen input/output
port expander.
These components, that are connected to a SPI bus,
are in charge of providing 4 analog input signals and
4 digital input/output signals to each Arduino instance.
In total, they handle 32 signals. These Arduino UNO
boards can handle programming and serial communication tasks through their USB connection, so no other
devices are needed in this layer.
•
•
B. INTERFACE SERVER LAYER
The Interface Server Layer of ArduinoRL is formed by three
software entities, which are described below. These software
entities are deployed over a Raspberry Pi 3 Model B7 singleboard computer. This device has been chosen because it has
four USB connections, it supports SPI communication, has
enough computational power to handle all three software
entities, has Ethernet connection and is low cost.
1) Hardware Driver: This software entity has been
deployed as a Python script, that handles all of the
hardware management. This Python script connects to
the Redis8 FIFO stack through the loopback connection
because the Redis entity is also local. It manages the
programming tasks and serial communication directly
through the USB connection and also manages the SPI
bus communication through Linux SPI API, in order to
control all of the four laboratory instances.
2) Message Broker Component: In order to develop the
combination of a FIFO data structure and a message
broker, Redis [51] has been chosen. It is an open source,
in-memory data structure store that has been used
successfully in many well-known projects to provide
scalability [52]–[54]. An instance of Redis has been
deployed locally over the Raspberry Pi 3. This instance
is accessed over the loopback connection both by the
Hardware Driver and the Interface Web Server.
3) Interface Web Server: A Flask9 -based web-server
has been deployed also locally in the Raspberry Pi 3.
This Flask web-server exposes a REST API capable of
5 https://www.microchip.com/wwwproducts/en/MCP4822
6 https://www.microchip.com/wwwproducts/en/MCP23S17
7 https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
8 https://redis.io/
9 http://flask.pocoo.org
VOLUME 7, 2019
FIGURE 4. Implementation of the ArduinoRL remote laboratory, including
the four experimentation instances and associated peripherals and
hardware.
controlling different tasks for the four available
instances. These tasks include, for each instance:
• Programming the instance.
• Resetting the instance.
• Changing any of the 4 analog input signals.
• Changing any of the 4 digital input signals.
• Changing any of the 4 digital output signals.
• Sending a serial command to Arduino.
• Reading a serial command from Arduino.
Figure 4 shows the implementation of the ArduinoRL
remote laboratory. The figure shows a PCB, which supports
and interconnects all of the components of the Hardware
Layer with the Interface Server Layer, which has been implemented over a Raspberry Pi 3 single-board computer.
C. LABORATORY SERVER LAYER
The Laboratory Server Layer of ArduinoRL is formed by two
software entities, which are described below. These entities
are deployed over a Dell ProLiant server that was already running in our facilities. This server is also used by other previous
laboratory deployments, and has been used only because it
was already connected to the Local Access Network, and had
available resources. In case of a massive deployment of a
laboratory based on this architecture, an isolated server may
be preferred. This layers entities are:
1) Web-based Client: A Web-based Client has been
developed for this ArduinoRL remote laboratory.
As can be seen on Figure 5, the client has different digital and analog controls, a serial communication console
and a live-stream capture of the laboratory setup. Also,
the users are offered an online IDE, in which they can
create their own Arduino programming scripts using
Arduino Language or a block-based programming language which uses Google’s Blockly10 library. Blockbased programming languages are a new educational
10 https://developers.google.com/blockly/
164173
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
FIGURE 5. Web-based client for ArduinoRL, including the control means, a real-time stream and the serial console with an
Arduino-produced example text.
trend which can improve learning gains [55]. Once the
code is ready, the client handles the programming stage,
where the users select the right script. Figure 6 shows
the integrated, web-based IDE.
2) Laboratory Web Server: Another Flask-based webserver has been developed to handle each users webbased tools. This web-server supports both integrated
IDEs, the laboratory client and all of the interconnection requests that happen between this layer and the
Interface Server Layer. In order to manage the four
available laboratory instances, four virtual instances of
this web server have been deployed over the physical
Dell server.
D. REMOTE LABORATORY MANAGEMENT SYSTEM LAYER
The ArduinoRL laboratory has been integrated in the
LabsLand remote laboratory platform. This platform is
compatible with the WebLab-Deusto Remote Laboratory
Management System [56], so the integration between laboratory and platform has been straightforward. The use of the
weblablib [57] library simplifies the integration process. This
RLMS system is fully integrable in the top-tier LMS systems
which are used by almost all of the educational institutions
that access these laboratories. Also, WebLab-Deusto is compatible with other web-based platforms, in order to maintain
universal access.
capture in real time the behaviour of each laboratory instance,
and to transmit that image with the minimum delay, in a range
of available formats, to the web-client. This transversal entity
is explained in a thorough way below.
1) THE WILSP PLATFORM
An important component of many remote laboratories is an
interactive live-stream provided by a web camera (e.g., [12],
[59], [60]). While in a hands-on laboratory users observe
through their own eyes, in a remote laboratory they do this
through this camera and use that information to interact with
the lab.
This is why to provide a satisfying user experience,
this stream needs to meet certain requirements. The most
important requirements are, first, that it is fully web-based
(no plugins or non-standard ports required) and second, that
the latency is low. Specifically, the stream needs to have a low
enough latency so as to be considered interactive [61]. This
latency, also known as capture-render delay, should enable
users to interact with the equipment while perceiving its
response in close to real-time.
To satisfy these requirements, this work makes use of the
Open Source WILSP [58] Interactive Live-Streaming Server,
which has been purposefully designed to be effective for
remote labs.
E. INTERACTIVE LIVE-STREAMING LAYER
2) WILSP AND ARDUINORL INTEGRATION
An Interactive Live-streaming Layer, named WILSP [58], has
been deployed in parallel, with four sub-instances in order to
In line with the cost-saving focus of the architecture proposed
in this work, additional improvements have been added on
164174
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
FIGURE 6. Web-based integrated IDE for the ArduinoRL remote laboratory.
top of the standard WILSP-based architecture. The most
significant of them is the ability to share a single web camera for more than a single instance of the same remote
laboratory.
Stand-alone IP cameras are relatively expensive. For
example, a D-Link DCS-2132L, used in the LabsLand
Arduino robotics remote laboratory [9] can cost around e150.
This can be a significant fraction of the total cost of the
remote lab instance, considering the prices of other components (e.g., a Raspberry Pi can cost around e40, and
an Arduino board around e25). See Section VIII for more
details.
The WILSP platform has been extended to be able to serve
partial streams. This way, the architecture proposed in this
work can use a single camera to point at two simultaneous
instances. The hardware of the Arduino remote laboratory
that is proposed as an implementation example has also been
purposely designed for this purpose, by arranging it in such a
way so as to make use of the wide aspect ratio of modern web
cameras. Thus, only two web cameras are needed to serve
four different instances.
Figure 7 shows the annotated original stream of the physical IP camera. It shows that the original stream cover two
different instances of the remote lab. The area around A is
one of the instances, while the area around B is the other. The
stream is received by the modified WILSP, which is then able
to cut, rotate, re-encode and split it, to serve it as different
streams for each laboratory instance.
VOLUME 7, 2019
FIGURE 7. Original stream of an IP camera, covering two different remote
lab instances.
This way it is possible to obtain a significant cost reduction
without significantly reducing the perceived image quality of
the laboratory.
VII. TECHNICAL EVALUATION
This section will use the implementation of the proof-ofconcept described on Section VI to verify that the architecture meets the technical requirements initially proposed
in Section III; and a comparison will be made with works
and similar architectures of the state of the art taking into
164175
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
account the characteristics that each architecture offers. The
evaluation conducted through the proof of concept suggests
that those goals and requirements have been indeed met.
A. GOALS
The goals proposed were the following:
• High scalability for multiple concurrent users
support
• Adaptability
• Cost Efficiency
The scalability goal of the architecture has been satisfactorily fulfilled, thanks to the use of high scalability tools,
like Redis, and the use of a decoupled design combined with
different communication protocols, schemes and devices.
A more in-depth analysis of this matter is explained in successive Section IX.
The architecture, from an interconnection point of view,
can indeed be considered to provide high adaptability. Efforts
have been made in order to create a Interface Server capable
of connecting to different embedded systems through fully
established connection buses like i2C, SPI or serial. Most
of the state of the art embedded development devices can
be programmed with these interfaces, because manufacturers
tend to incorporate universal programming resources on the
development boards. Also, the different analog or digital
signals required to control the embedded system once programmed, and the selected output peripherals are CMOS and
TTL tolerant, so once more, adaptability is promoted.
In terms of cost efficiency, the architecture is satisfactory
as well. Thanks to a thorough design and partial hardware
replication, and the possibility of developing the remote laboratory over low-cost single-board computers, the total cost
of deployment is highly reduced. A more thorough analysis
of the cost efficiency matter is explained in Section VIII.
B. REQUIREMENTS
The requirements stated in Section III were the following:
• Embedded system experimentation
• Universality
• Modularity
• Reliability
The architecture is indeed capable of providing a real
time, remote, embedded system experimentation experience
for multiple concurrent users. The end users are capable of
programming, controlling, and interacting with the embedded
device and are also capable of monitoring the results of their
programs, all in real time, thanks to the output peripherals and
the interactive live-streaming system. This novel architecture provides enhanced interacting capabilities over different
state of the art remote laboratory architectures, which are
explained below.
The architecture, from a client-side perspective, can indeed
be considered to provide high universality. It is fully webbased, meaning that it is accessible, through standard Internet ports, from any device or platform combined with any
164176
operating system. The only access requirements are connection to the Internet and access to a web browser. From a
laboratory-owner perspective, the architecture is also universal, because the integrated WebLab-Deusto remote laboratory management system or RLMS, is fully compatible with
the top-tier learning management systems, or LMSs, such
as Moodle, and is also integrable in any other web-based
educational tools that most institutions use [62] with minor
difficulties.
The modularity requirement of the architecture has indeed
been achieved thanks to a mixture of cautious interconnection design based on standardized communication protocols
and media, and decoupled hardware and software entities.
The different software entities shown on Figure 2 can be
deployed over separate physical servers or can be joined
in the same machine if the physical install of the remote
laboratory requires it, easing the deployment process and
enhancing the modularity. Also, from a hardware point of
view, the architecture uses different communication protocols, such as Ethernet or SPI, which act as layer edges,
assuring that different devices, such as the Interface Server,
can be interconnected with the different remotizable objects
in various ways to achieve at the same time high scalability
and adequate adaptation to the physical characteristics of the
deployment site.
The reliability requirement has been also satisfied. The
architecture is designed to manage a large number of experimentation instances. As seen in Figure 2, it is formed by three
different layers, which can scale vertically in order to support
an arbitrary number of users, while still keeping costs under
control.
A remote laboratory with even modest number of active
experimentation instances can often serve a high number
of users, as it is more thoroughly explained in Section IX.
In case of an experimentation instance being offline due to a
software or hardware failure, the rest of the experimentation
instances would still be available to the users automatically
and transparently. The Remote Laboratory Management System acts as an abstraction layer for them, and automatically balances the load and adjusts the waiting time based
on user load and active laboratory instances available, thus
avoiding loss of service. It is noteworthy nonetheless that
if shared components, such as an Interface Server, do fail,
several laboratory instances could break at the same time. For
example, in the case of ArduinoRL, each interface server is
shared by 4 laboratory instances. Therefore, should it break,
the 4 instances would fail as well. However, the components
that are shared are precisely those that are not particularly
prone to failure. And the architecture is designed for labs to
be replicated efficiently.
C. COMPARISON BETWEEN ARDUINORL AND STATE OF
THE ART LABORATORIES AND ARCHITECTURES
In this subsection, the ArduinoRL remote laboratory and its
architecture will be compared, from a technical perspective,
to the previously described state of the art remote laboratories
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
TABLE 1. Comparison of the analyzed remote laboratories and its features.
and its architectures. A cost efficiency analysis comparing
these laboratories and its architectures has been done in
Section VIII.
Table 1 indicates the performance of the analyzed remote
laboratories and its architectures, from a technical point of
view. Positive or negative values are given for each analyzed
feature. As can be seen, evaluation of these set of features
suggests that the proposed architecture in this work is more
advanced.
From an architectural point of view, the proposed architecture is advanced in terms of scalability, adaptability and
modularity compared to the previously described remote laboratory architectures. Being a highly decoupled architecture
assures that each component is in charge of managing simpler tasks and, combined with the use of well-established
communication protocols among these components, achieves
a high level of modularity. Both of these characteristics
also allow for a high scalability, because control processes
and interconnections are simpler, and makes the replication of components and branches easier. A detailed view
of the RELDES remote laboratory architecture can be seen
in Figure 8.
Both modularity and scalability are hindered in the previously described examples, because in both laboratories,
the hardware interfaces are directly managed by the laboratory server. This means that in case of needing to support
a large number of users, either a full replication of both
the laboratory server and remotizable objects, which scales
costs proportionally, or a full re-conversion of the laboratory architecture is needed. In the case of RELLE’s RExLab
Arduino laboratory, the laboratory could be scaled by
replicating the full laboratory server, which is based on
a low-cost, single-board computer, but even in this case,
VOLUME 7, 2019
a single-board computer is needed for each instance, which
increases deployment costs.
Both laboratories group their hardware and interface server
layer in a single entity. This means that, generally, if the
laboratory were to be modified, the change would affect the
whole entity. The proposed architecture, however, is split in
several layers, including decoupled hardware and interface
server layers. Within those layers, entities are independent as
well. Thus, if the laboratory were to be modified, the change
would only involve affected entities, which will under most
circumstances be only a small subset.
In the previously described laboratories, adaptability
is also hindered, because both of them only support
USB-based remotizable objects. The proposed architecture
has been developed in a way that supports, both from a
software and hardware perspective, several protocols between
the remotizable object and the Worker Hardware Interface.
Those include USB, JTAG, serial and SPI based interfaces,
among others. This assures connectivity with most embedded
systems development platforms and protection to withstand
the short life cycle of those platforms.
From a usability perspective, the described remote laboratory setups can also be improved in some respects. The
most noteworthy capability that these laboratories are missing
is remotizable object control after programming. RELDES
remote laboratory only offers a unidirectional serial console as a control means once the remotizable object is programmed, reducing the experimentation experience learning
capabilities and widening the gap between real and remote
experimentation. RELLE’s RExLab Arduino remote laboratory setup is more advanced at this respect than its Ukrainian
competitor, and it provides serial console and input digital
signals. The proposed architecture in this work builds further
164177
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
FIGURE 8. Overview of the RELDES architecture. Adapted from [38].
on this, to provide more advanced interaction capabilities.
Particularly, it offers digital input and output control signals,
analog input control signals, output visual peripherals and
a bidirectional serial console interface in order to achieve
a high-quality, comprehensive interaction between user and
experimental setup.
The universality aspect of the three analyzed architectures
is similarly satisfied. The three laboratories are fully webbased, which implies that they are accessible from any device
(e.g., laptop, tablet, smartphone) with any operating system
and from any web browser. The RELLE’s RExLab Arduino
laboratory offers, like the proposed architecture, both an integrated, web-based IDE, which eliminates the need for the
user to develop their programs in any vendor-specific and
platform-constrained IDE; and also support for integration
with the main Learning Management Systems, such as Moodle or Google Classroom. The RELDES laboratory, however,
does not offer those features.
In this work, the reliability requirement is heavily tied to
scalability and multi-user support. Basically, every architecture that has the capability of supporting multiple users, with
multiple instances that can work with independence between
them in case that one of them breaks out, meets the requirement of reliability. Both ArduinoRL and RELLE’s RExLab
laboratories offer some degree of scalability, so both of them
also match, at least partially, the reliability requirement.
VIII. COST EFFICIENCY EVALUATION
In Section VII two state of the art remote laboratories and
its architectures were analyzed from a technical perspective
and compared with the proposed architecture of this work.
In this section, all three architectures and their resulting laboratories are analyzed from a cost efficiency point of view.
The cost efficiency matter in this work is tightly linked to
the number of experimentation instances supported by each
laboratory. This section aims to test if an architecture focused
on high scalability can increase the cost efficiency of a remote
laboratory composed by multiple experimentation instances,
164178
by lowering the cost per deployed instance. Different levels of
hardware sharing between instances can have a high impact in
the cost per instance marker. In order to perform an analysis
of the architecture’s cost efficiency, the implementation costs
for each remote laboratory have been estimated for four
different scenarios, comprising one, four, sixteen and ninetysix laboratory instances respectively. These specific numbers
are chosen to help depict the tendency of cost per instance of
each architecture, and how they would scale to an ever-larger
number of users. The number and type of used components
have been adjusted to the specification of each architecture
and their cost has been unified through the three laboratories,
so they can be compared. The components have been priced
according to actual prices from reputable European hardware
distributors. The Remote Laboratory Management Systems
are discarded from this analysis, as well as the standard
servers needed by the different live streaming systems’ backends, excluding the actual cameras.
In the next subsections, each laboratory setup hardware is
analyzed from the Remote Laboratory Management Systems
connection downwards.
A. RELDES ARDUINO REMOTE LABORATORY
The RELDES Arduino Remote Laboratory combines a Laboratory Server, Interface Server and Management Server
all in one software and hardware module, which is based
on a Raspberry Pi 3 single-board computer. Due to this,
the cost of the Raspberry Pi single-board computer has to be
added to the total laboratory expenses. The costs collected
in Table 2 represent the total hardware expenses for the
deployment of a RELDES Arduino laboratory with one, four,
sixteen and ninety-six experimentation instances. The cost of
each experimentation instance includes the cost of the four
partial instances that this laboratory includes. As described
in Section VII, RELDES includes four partial instances,
which are similar but offer different output peripherals, and
which are thus actually different laboratories from a user
perspective. Thus, this laboratory and its architecture aims to
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
TABLE 2. Hardware cost for different number of instances of RELDES laboratory.
maximize remotizable object diversity rather than scalability.
For a student to perform different Arduino practises using all
of the proposed hardware, four independent accesses would
need to be performed. In order to satisfy the usability requirement for end users, each iteration of the remote laboratory,
when scaling the laboratory, would need to include these four
instances.
B. RELLE’S REXLAB ARDUINO REMOTE LABORATORY
The RELLEs RExLab Arduino Remote Laboratory is compatible with RLMS systems, and combines the Laboratory
Server and the Interface Server all in one entity, which
is also based on a Raspberry Pi 3 single-board computer.
The costs collected in Table 3 represent the total hardware
expenses for the deployment of a RELLEs RExLab laboratory with one, four, sixteen and ninety-six experimentation
instances.
C. LABSLAND’S ARDUINORL REMOTE LABORATORY
The ArduinoRL remote laboratory, which is based on the
proposed architecture by this work, is also fully compliant with RLMS systems, but its layers are deployed in a
different way. In this case, the Interface Server is decoupled from the Laboratory Server, meaning that, in order
to manage from one to ninety-six laboratory instances,
only one Raspberry Pi 3 single-board computer is needed.
Also, in order to support the Laboratory Server, which can
have up to ninety-six web-server virtual instances, a dedicated general-purpose server is needed. The costs collected
in Table 4 represent the total hardware expenses for the
deployment of remote laboratories based on the proposed
architecture with one, four, sixteen and ninety-six experimentation instances, meaning that each setup is capable of
serving up to one, four, sixteen or ninety-six concurrent users,
respectively.
VOLUME 7, 2019
D. COST EFFICIENCY ANALYSIS FOR STATE OF THE ART
LABORATORIES AND ARCHITECTURES
In the previous subsections, the cost of deploying hardware
for the three different laboratories has been analyzed. In each
case, the guidelines set by each architecture have been followed. In this subsection, the three architectures are analyzed
from a cost efficiency perspective. As shown in the previous
subsections and its associated tables, the cost per instance
when deploying only one instance of each remote laboratory
is fairly matched, and the total hardware expenses range
between e300 and e400. This is not a coincidence, since
to support a single instance, all the analyzed architectures
require almost the same basic hardware components. The
differences appear when the number of required instances
increases, as not all of the architectures can scale in the same
manner. As seen on Tables 2, 3 and 4, the total expenses
not only vary, but they diverge greatly as the number of
instances increases. Both RELDES and RELLEs RExLab
laboratories end with a total cost of deployment between
e25,000 and e31,000, whereas ArduinoRL laboratory total
cost ends below the e15,000 barrier, for a number of ninetysix supported instances. This difference is caused by how
each architecture handles scalability. Since RELDES and
RELLEs RExLab laboratory architectures are not designed
to share hardware resources between each instance (with the
exception of the power supply and physical structure), a full
replication of each instances hardware is needed for each
new instance, which scales costs proportionally. The architecture is designed in a way that maximizes hardware sharing between instances, which means that virtually the only
hardware that is replicated when creating new instances is the
remotizable object. In this case, the interface server requires
no replication, and the control hardware, which includes port
expanders and digital-analog converters, is cheap to replicate,
and requires almost no reconfiguration of the software either.
164179
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
TABLE 3. Hardware cost for a different number of instances of RELLEs RExLab laboratory.
TABLE 4. Hardware cost for different number of instances of ArduinoRL laboratory.
This issue greatly reduces the cost per instance of each
remote laboratory. As seen in Figure 9, the cost per instance
for RELDES and RELLEs RExLab remote laboratories
decreases minimally between the 1 and 4 instances markers, and stabilizes in values around e315 and e260 respectively, whereas the cost per instance of ArduinoRL decreases
greatly and continuously as more instances are supported,
and stabilizes in a lower value of e140, which is estimated
to be half the cost per instance than the other architectures.
164180
As seen on Table 5, when deploying 96 instances, the cost
per instance for ArduinoRL is approximately e140. Of these
e140, approximately, e129 are destined to the purchase of
the hardware that conforms the remotizable object, and only
about e10 are destined to the purchase of the interconnection hardware. In this case, the cost of the interconnection
hardware, which is heavily tied to the chosen architecture,
only represents a 7.3% of the total instance cost, which is
significantly lower than on RELDES and RELLEs RExLab
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
FIGURE 9. Cost per instance for 1, 4, 16 and 96 instances for each analyzed laboratory architecture.
TABLE 5. Architectural and remotizable-object related costs and percentages over the total for a 96 instances deployment.
laboratories. This suggests that when multi-instance remote
laboratories are developed following an architecture focused
on high scalability and cost efficiency, the cost of the hardware directly related to architectural needs can be significantly reduced.
Achieving a minimal cost overhead over the remotizable
object’s hardware cost is an important action, because this
cost difference is multiplied by the number of deployed
instances, making the total cost increase quickly when
deploying a high number of laboratory instances.
The cost efficiency analysis suggests that the proposed
architecture can achieve a minimal overhead cost over the
remotizable object’s cost, a marker which heavily impacts the
total expenses of a multi-instance remote laboratory deployment. It also suggests that the proposed architecture is more
cost efficient than the alternatives, specially when the number
of deployed instances is high, due in part to the design that
allows and encourages hardware sharing among groups of
instances.
IX. SCALABILITY EVALUATION
This section will use the proof of concept described in
Section VI to analyze the proposed architecture from a scalability point of view.
To ensure that the architecture and the implementation
meets all the requirements of real-world schools, ArduinoRL
VOLUME 7, 2019
has been tested in a real working environment. A group
of students from a Basque secondary school has used the
laboratory to perform Arduino practices both in class and at
home. Due to the type of practices that they were going to
develop, four ArduinoRL instances were sufficient to handle
the access of up to 14 users, that were using the laboratory
in hourly time brackets. In the next subsection, this in-class
experience is reported and analyzed in a more detailed way.
A. IN-CLASS EXPERIENCE
This subsection gathers all the information related to a real
test of the architecture that has been conducted during the
period of a month. The developed remote laboratory has been
used in a real production environment in order to conduct a
complete test over the architecture and over the actual multiinstance Arduino remote laboratory, and to verify that it is
indeed production-ready.
In the month of March 2019, for a period of 30 days,
the ArduinoRL remote laboratory has been put in a monitored
production state in order to test its capabilities in an extensive
way and to be able to gather different parameters in a real
environment.
A group of 14 users from a Basque secondary school,
formed by 11 males and 3 females, with ages ranging 15 to 16,
have accessed the ArduinoRL remote laboratory in order
to learn Arduino-based programming in Technology class.
164181
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
The main goal of the subject is to teach the principles and
applications of basic programming and introduce the students
to microcontroller-based device design. The students learn
about programming and control routines in Arduino and
block-based programming languages at the same time that
they learn how to combine programming, microcontrollers
and embedded devices with other electric and electronic gadgets in order to create enhanced devices.
The students access the laboratory through the school’s
own Learning Management System, or LMS, which in this
case is Google Classroom. Thanks to the architecture support,
there is no need of downloading any utility or performing any
reconfiguration. After accessing the integrated IDE, the students program their control routines and create their own control programs. After the development stage, they access the
actual remotizable object, they program it, and they observe
the programming results through a live-streaming capture.
Also, in the period of time assigned to conduct these tests,
the students can also interact with the programmed Arduino
board by changing different input signals (both analogical
and digital) and by intercommunicating with the device via
the serial console. Both the programming and testing steps
are done through the web-based interfaces that can be seen
in Figures 6 and 5, respectively.
After students have tested their software design, the remotizable object session ends, and the students are redirected to
the integrated IDE to perform new changes to the code, until it
is correct. These programming and testing steps are repeated
in a cyclic way as many times as needed, in order to obtain
the working-as-intended Arduino program.
It is unusual for the fourteen students to try to access
the Arduino instances at the same time, but it is not necessarily rare for many of them to access at the same time,
either. Normally, between a quarter and half of the students
try to access the instances of the remote laboratory at the
same time to test their code. The ratio tends to remain low
because the time it takes to write the code is generally
much greater than the time it takes to test it. If more than
four students try to access the Arduino instances, and these
are unoccupied, the first four students will get immediate
access, while the successive students are put in a queue.
As the instances are released, students in the queue start
accessing the Arduino instances. The time that students wait
in order to access an unoccupied instance is the access
time.
During the 30 day real-time testing period, the students
have accessed the laboratory setup 493 times. The students
performed 176 accesses to the integrated IDE in order to code
different scripts and performed 317 accesses to the actual
remotizable objects, in order to test their scripts. Most of
these accesses have been done in short high-demanding bursts
that last for an hour in most cases, because most of the
uses have been done in-class. Around 20% of the accesses
correspond to other time frames, because the laboratory was
also used to do homework practices outside the school hours.
During the high-demanding bursts, the four Arduino remote
164182
experimentation instances have maintained a relatively low
access time which does not negatively affect usability and
which varies in all cases between zero and four seconds, with
a mean waiting time of 2.2 seconds. This means that students
have only waited a maximum of 4 seconds for an Arduino
instance to be released in order to test their code.
Other remote laboratory setups can have different needs,
and in some occasions, the number of available experimentation instances and the number of students need to be matched.
During the conducted tests, the students are given a testing
time of 1 minute and 30 seconds, in which they test the
previously written code. Most users spent less time than the
maximum testing their programs, achieving a mean testing
time of 57 seconds. This testing time can be adjusted by
teachers and remote laboratory owners to better suit different
student needs.
B. RESULTS
In this subsection, the results of the scalability experiment
are discussed. The development of the ArduinoRL remote
laboratory, based on the proposed architecture, has been conducted without any particular hiccups, and scalability has
been successfully achieved thanks to its decoupled hardware
and software layers. From a multi-user perspective, the laboratory has managed to support up to 14 users in a hourly
time bracket, with more than 4 concurrent accesses. The users
that requested access when all of the four instances were
occupied, were put in an access queue. The mean access time,
of 2.2 seconds, is manageable in a classroom environment,
which reinforces the idea that, for mixed experimentation,
where the users spend time both programming and testing,
but not doing both tasks at the same time, a low number of
instances can successfully handle a much higher number of
users. The straightforward development of the remote laboratory, the successful instance allocation management and
the low waiting time achieved suggests that the architecture
has indeed met its requirements for scalability and multiple
concurrent user handling.
X. CONCLUSION
This work, after analyzing the state of the art regarding
remote laboratories for embedded systems experimentation
and their architectures, has pursued the creation of a new
mixed hardware-software architecture focused on improving
the scalability of those architectures, which was an aspect
beyond most other works scope. This architecture serves as a
fundamental resource which facilitates the development and
deployment of multi-instance microcontroller-based embedded devices remote laboratories. To better understand how
it builds upon the existing architectures in the state of the
art and improves some aspects of them, specific goals and
requirements were proposed. These goals and requirements
have served as fundamental pillars for the design and development of this enhanced remote laboratory architecture. Firstly,
it has been designed to provide scalability for remote laboratories with moderated expenses, successfully supporting
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
multiple instances of remotizable objects in order to reach
a larger set of users concurrently. Secondly, the architecture
has been designed to provide easy access, both from a hardware interconnection point of view and from a user access
point of view. Adaptability and interconnection to different
remotizable devices is enhanced due to the high number of
supported interconnection protocols. User access is universal,
due to the architecture capability of being accessed through
the HTTP protocol, using standard ports to avoid firewall
problems. Being fully web-based means that the only requirements needed to access the laboratory are a web browser
and internet connection. Thirdly, from a usability point of
view, the architecture provides different input and output
signals, peripherals and connection techniques, which combined with the live-streaming platform, achieve high quality
experimentation sessions. Users are able to experiment with
the embedded device almost as they would be doing in a
hands-on laboratory. Lastly, from a purely architectural point
of view, the architecture is fully decoupled, which increases
modularity and gives the laboratory owner high flexibility.
This allows an easy adaptation of the different hardware
and software modules to the physical environment where
the laboratory is being deployed. Once designed, an implementation of that architecture has been shaped as a multiinstance remote laboratory for embedded experimentation.
The laboratory uses four Arduino UNO boards combined
with a number of different peripherals and control means,
in order to achieve a high quality remote experimentation
experience. This architecture implementation has been used
to experimentally evaluate the compliance of the architecture
to different key aspects, such as scalability, adaptability, cost
efficiency, usability, universality, modularity and reliability.
The gathered results suggest that the previously described
goals and requirements have been met indeed, and that the
proposed architecture should be useful for new development
and deployment of remote laboratories, for both academical
and applied purposes.
XI. FUTURE WORK
Some work lines remain still open and can be pursued in
the future in order to improve the actual architecture. Given
the success of the proof of concept, the ArduinoRL remote
laboratory is still online and is consired ‘‘production-level’’.
It is accessible from11 for free, for testing purposes. Every
day, different students and teachers access the laboratory to
improve their Arduino knowledge. This allows us to perform
a continuous improvement cycle both over the architecture
and over the Arduino laboratory, since new requirements
and improving options arise frequently. The laboratory is
expected to be replicated as needed, in order to support an
increasing number of users. In the future it would be interesting to conduct new remote laboratory deployments based
on the proposed architecture with other remotizable objects,
such as FPGAs or other embedded devices, that could help
11 https://labsland.com/en/labs/arduino-board
VOLUME 7, 2019
to better evaluate the scalability and adaptability of the architecture to different hardware devices. Also, other interesting
future line of work would be exploring the containerization
of the software layer of the architecture, using technologies
such as Docker, which could improve the deployability [63]
by other third parties and work towards the standardization
of the architecture as a tool for the deployment of remote
laboratories. Finally, other interesting line of work that can be
explored in the future is the development of a self-testing system, which could be added to the architecture, to potentially
test each laboratory modules automatically in order to ensure
better reliability, by conducting automated tests and notifying
the laboratory owners and users for any noted errors or for
expected failures through the use of predictive maintenance
techniques.
REFERENCES
[1] J. Ma and J. V. Nickerson, ‘‘Hands-on, simulated, and remote laboratories:
A comparative literature review,’’ ACM Comput. Surv., vol. 38, no. 3, 2006,
Art. no. 7.
[2] Z. Nedic, J. Machotka, and A. Nafalski, ‘‘Remote laboratories versus
virtual and real laboratories,’’ in Proc. 33rd Annu. Frontiers Educ., vol. 1,
Nov. 2003, p. T3E.
[3] C. E. Hmelo-Silver, R. G. Duncan, and C. A. Chinn, ‘‘Scaffolding
and achievement in problem-based and inquiry learning: A response to
Kirschner, Sweller, and Clark,’’ Educ. Psychol., vol. 42, no. 2, pp. 99–107,
2007.
[4] T. de Jong, S. Sotiriou, and D. Gillet, ‘‘Innovations in STEM education:
The Go-Lab federation of online labs,’’ Smart Learn. Environ., vol. 1, no. 1,
2014, Art. no. 3.
[5] T. de Jong, M. C. Linn, and Z. C. Zacharia, ‘‘Physical and virtual laboratories in science and engineering education,’’ Science, vol. 340, no. 6130,
pp. 305–308, 2013.
[6] S. Govaerts, Y. Cao, A. Vozniuk, A. Holzer, D. G. Zutin, E. S. C. Ruiz,
L. Bollen, S. Manske, N. Faltin, C. Salzmann, E. Tsourlidaki, and D. Gillet,
‘‘Towards an online lab portal for inquiry-based stem learning at school,’’
in Proc. Int. Conf. Web-Based Learn. Berlin, Germany: Springer, 2013,
pp. 244–253.
[7] J. R. Brinson, ‘‘Learning outcome achievement in non-traditional (virtual
and remote) versus traditional (hands-on) laboratories: A review of the
empirical research,’’ Comput. Educ., vol. 87, pp. 218–237, Sep. 2015.
[8] P. Orduña, L. Rodriguez-Gil, J. Garcia-Zubia, I. Angulo, U. Hernandez,
and E. Azcuenaga, ‘‘LabsLand: A sharing economy platform to promote
educational remote laboratories maintainability, sustainability and adoption,’’ in Proc. IEEE Frontiers Educ. Conf. (FIE), Oct. 2016, pp. 1–6.
[9] P. Orduña, L. Rodriguez-Gil, J. Garcia-Zubia, I. Angulo, U. Hernandez,
and E. Azcuenaga, ‘‘Increasing the value of remote laboratory federations
through an open sharing platform: LabsLand,’’ in Online Engineering &
Internet of Things, M. E. Auer and D. G. Zutin, Eds. Cham, Switzerland:
Springer, 2018, pp. 859–873.
[10] J. García-Zubia, P. Orduña, D. López-de-Ipiña, and G. R. Alves, ‘‘Addressing software impact in the design of remote laboratories,’’ IEEE Trans. Ind.
Electron., vol. 56, no. 12, pp. 4757–4767, Dec. 2009.
[11] Z. Aydogmus and O. Aydogmus, ‘‘A Web-based remote access laboratory
using SCADA,’’ IEEE Trans. Educ., vol. 52, no. 1, pp. 126–132, Feb. 2009.
[12] A. Yazidi, H. Henao, G.-A. Capolino, F. Betin, and F. Filippetti, ‘‘A Webbased remote laboratory for monitoring and diagnosis of AC electrical
machines,’’ IEEE Trans. Ind. Electron., vol. 58, no. 10, pp. 4950–4959,
Oct. 2011.
[13] J. Sáenz, J. Chacón, L. De La Torre, A. Visioli, and S. Dormido, ‘‘Open
and low-cost virtual and remote labs on control engineering,’’ IEEE Access,
vol. 3, pp. 805–814, 2015.
[14] F. Schauer, M. Krbecek, P. Beno, M. Gerza, L. Palka, and P. Spilaková,
‘‘REMLABNET—Open remote laboratory management system for eexperiments,’’ in Proc. 11th Int. Conf. Remote Eng. Virtual Instrum. (REV),
Feb. 2014, pp. 268–273.
164183
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
[15] A. Maiti, A. D. Maxwell, and A. A. Kist, ‘‘Features, trends and characteristics of remote access laboratory management systems,’’ Int. J. Online
Eng., vol. 10, no. 2, pp. 30–37, 2014.
[16] P. Orduña, J. Irurzun, L. Rodriguez-Gil, J. García-Zubia, F. Gazzola, and
D. López-de Ipiña, ‘‘Adding new features to new and existing remote
experiments through their integration in WebLab-Deusto,’’ Int. J. Online
Eng., vol. 7, no. S2, pp. 33–39, 2011.
[17] D. Lowe, S. Murray, E. Lindsay, and D. Liu, ‘‘Evolving remote laboratory
architectures to leverage emerging Internet technologies,’’ IEEE Trans.
Learn. Technol., vol. 2, no. 4, pp. 289–294, Oct. 2009.
[18] P. Orduña, L. Rodriguez-Gil, D. López-de-Ipiña, and J. García-Zubia,
‘‘Sharing the remote laboratories among different institutions: A practical case,’’ in Proc. 9th Int. Conf. Remote Eng. Virtual Instrum. (REV),
Jul. 2012, pp. 1–4.
[19] P. Zervas, A. Trichos, D. G. Sampson, and N. Li, ‘‘A responsive design
approach for supporting mobile access to virtual and remote laboratories,’’ in Proc. IEEE 14th Int. Conf. Adv. Learn. Technol., Jul. 2014,
pp. 11–13.
[20] G. Paravati, C. Celozzi, A. Sanna, and F. Lamberti, ‘‘A feedback-based
control technique for interactive live streaming systems to mobile devices,’’
IEEE Trans. Consum. Electron., vol. 56, no. 1, pp. 190–197, Feb. 2010.
[21] H. Crompton, D. Burke, K. H. Gregory, and C. Gräbe, ‘‘The use of mobile
learning in science: A systematic review,’’ J. Sci. Educ. Technol., vol. 25,
no. 2, pp. 149–160, 2016.
[22] I. Angulo, L. Rodrìguez-Gil, and J. Garcìa-Zubìa, ‘‘Scaling up the lab:
An adaptable and scalable architecture for embedded systems remote
labs,’’ IEEE Access, vol. 6, pp. 16887–16900, 2018.
[23] S. D. Bencomo, ‘‘Control learning: Present and future,’’ IFAC Proc. Volumes, vol. 35, no. 1, pp. 71–93, 2002.
[24] J. G. Zubía and G. R. Alves, Using Remote Labs in Education: Two Little
Ducks in Remote Experimentation. Bilbao, Spain: Univ. Deusto, 2012.
[25] R. Heradio, L. de la Torre, D. Galan, F. J. Cabrerizo, E. Herrera-Viedma,
and S. Dormido, ‘‘Virtual and remote labs in education: A bibliometric
analysis,’’ Comput. Educ., vol. 98, pp. 14–38, Jul. 2016.
[26] L. de la Torre, M. Guinaldo, R. Heradio, and S. Dormido, ‘‘The ball
and beam system: A case study of virtual and remote lab enhancement
with moodle,’’ IEEE Trans. Ind. Informat., vol. 11, no. 4, pp. 934–945,
Aug. 2015.
[27] UNED UNILabs Remote Laboratories Platform. Accessed: Sep. 13, 2019.
[Online]. Available: https://unilabs.dia.uned.es/?lang=es
[28] W. Hu, Z. Lei, H. Zhou, G. Liu, Q. Deng, D. Zhou, and Z. Liu, ‘‘Plug-in free
Web-based 3-D interactive laboratory for control engineering education,’’
IEEE Trans. Ind. Electron., vol. 64, no. 5, pp. 3808–3818, May 2017.
[29] RELLE RExLab Arduino Remote Laboratory. Accessed: Jul. 23, 2019.
[Online]. Available: http://relle.ufsc.br/labs/4
[30] RELDES Arduino Remote Laboratory. Accessed: Jan. 15, 2019. [Online].
Available: http://swed.zntu.edu.ua/index.php/iot/lightexp
[31] K. Henke, T. Vietzke, H.-D. Wuttke, and S. Ostendorff, ‘‘GOLDi—Grid of
online lab devices Ilmenau,’’ Int. J. Online Eng., vol. 12, p. 11, Apr. 2016.
[32] I. Angulo, J. García-Zubía, U. Hernández-Jayo, I. Uriarte,
L. Rodríguez-Gil, P. Orduña, and G. M. Pieper, ‘‘RoboBlock: A remote
lab for robotics and visual programming,’’ in Proc. 4th Exp. Int. Conf.
(exp.at), Jun. 2017, pp. 109–110.
[33] M. C. Rodriguez-Sánchez, A. Torrado-Carvajal, J. Vaquero, S. Borromeo,
and J. A. Hernandez-Tamames, ‘‘An embedded systems course for engineering students using open-source platforms in wireless scenarios,’’ IEEE
Trans. Educ., vol. 59, no. 4, pp. 248–254, Nov. 2016.
[34] M. El-Abd, ‘‘A review of embedded systems education in the Arduino age:
Lessons learned and future directions,’’ Int. J. Eng. Pedagogy, vol. 7, no. 2,
pp. 79–93, 2017.
[35] S. Werner, A. Lauber, J. Becker, and E. Sax, ‘‘Cloud-based remote virtual prototyping platform for embedded control applications: Cloud-based
infrastructure for large-scale embedded hardware-related programming
laboratories,’’ in Proc. 13th Int. Conf. Remote Eng. Virtual Instrum. (REV),
Feb. 2016, pp. 168–175.
[36] V. Fotopoulos, A. I. Spiliopoulos, and A. Fanariotis, ‘‘Preparing a remote
conducted course for microcontrollers based on Arduino,’’ 1ιεθν ές
6υν έδριo γ ια τ ην Aνoικτ ή & εξ Aπoσ τ άσ εως Eκπ αίδευσ η, vol. 7,
no. 5B, pp. 1–8, 2016.
[37] J. P. C. de Lima, L. M. Carlos, J. P. S. Simão, J. Pereira, P. M. Mafra,
and J. B. da Silva, ‘‘Design and implementation of a remote lab for
teaching programming and robotics,’’ IFAC-PapersOnLine, vol. 49, no. 30,
pp. 86–91, 2016.
164184
[38] P. Anzhelika, G. Olga, E. Ivanov, A. Sokolyanskii, and S. Kurson,
‘‘Development and application of remote laboratory for embedded systems
design,’’ in Proc. 12th Int. Conf. Remote Eng. Virtual Instrum. (REV),
Feb. 2015, pp. 69–73.
[39] P. J. Alexander and N. Radhakrishnan, ‘‘Remote lab implementation on
an embedded Web server,’’ in Proc. Int. Conf. Circuits, Power Comput.
Technol. (ICCPCT), Mar. 2015, pp. 1–5.
[40] H. Mostefaoui and A. Benachenhou, ‘‘Design of a remote electronic laboratory,’’ in Proc. Int. Conf. Interact. Mobile Commun. Technol. Learn.
(IMCL), Nov. 2015, pp. 160–162.
[41] A. Fernández-Pacheco, S. Martin, and M. Castro, ‘‘Implementation of an
Arduino remote laboratory with raspberry Pi,’’ in Proc. IEEE Global Eng.
Educ. Conf. (EDUCON), Apr. 2019, pp. 1415–1418.
[42] J. Sarik and I. Kymissis, ‘‘Lab kits using the Arduino prototyping
platform,’’ in Proc. IEEE Frontiers Educ. Conf. (FIE), Oct. 2010,
pp. T3C-1–T3C-5.
[43] A. Albiol, A. Corbi, and D. Burgos, ‘‘Design of a remote signal processing
student lab,’’ IEEE Access, vol. 5, pp. 16068–16076, 2017.
[44] P. Liggesmeyer and M. Trapp, ‘‘Trends in embedded software engineering,’’ IEEE Softw., vol. 26, no. 3, pp. 19–25, May/Jun. 2009.
[45] M. Maksimović, V. Vujović, N. Davidović, V. Milošević, and B. Perišić,
‘‘Raspberry Pi as Internet of Things hardware: Performances and constraints,’’ in Proc. 1st Int. Conf. Elect., Electron. Comput. Eng., 2014,
vol. 3, no. 8, pp. 1–6.
[46] P. Plaza, E. Sancristobal, G. Fernandez, M. Castro, and C. Pérez, ‘‘Collaborative robotic educational tool based on programmable logic and Arduino,’’
in Proc. Technol. Appl. Electron. Teach. (TAEE), Jun. 2016, pp. 1–8.
[47] P. Jamieson and J. Herdtner, ‘‘More missing the Boat—Arduino, Raspberry
Pi, and small prototyping boards and engineering education needs them,’’
in Proc. IEEE Frontiers Educ. Conf. (FIE), Oct. 2015, pp. 1–6.
[48] A. Bashir, M. Alhammadi, M. Awawdeh, and T. Faisal, ‘‘Effectiveness
of using Arduino platform for the hybrid engineering education learning
model,’’ in Proc. Adv. Sci. Eng. Technol. Int. Conf. (ASET), Mar./Apr. 2019,
pp. 1–6.
[49] H. Zieris, H. Gerstberger, and W. Müller, ‘‘Using Arduino-based experiments to integrate computer science education and natural science,’’ in
Proc. KEYCIT, in Key Competencies in Informatics and ICT, T. Brinda,
N. Reynolds, R. Romeike, and A. Schwill, Eds., vol. 1, 2015, pp. 381–389.
[50] E. Keenan, M. Shoushtarian, C. K. Karmakar, and M. Palaniswami,
‘‘Developing stem skills using Arduino and heart rate variability analysis,’’
in Proc. STEM Educ. Conf., 2019, pp. 1–67.
[51] J. Carlson, Redis in Action. Greenwich, CT, USA: Manning Publications,
2013.
[52] V. A. Alexeev, P. V. Domashnev, T. V. Lavrukhina, and O. A. Nazarkin,
‘‘The design principles of intelligent load balancing for scalable WebSocket services used with grid computing,’’ Procedia Comput. Sci.,
vol. 150, pp. 61–68, Jan. 2019.
[53] S. Chen, X. Tang, H. Wang, H. Zhao, and M. Guo, ‘‘Towards scalable and
reliable in-memory storage system: A case study with Redis,’’ in Proc.
IEEE Trustcom/BigDataSE/ISPA, Aug. 2016, pp. 1660–1667.
[54] A. D. J. Banks, G. D. Beardall, P. S. Dennis, A. D. Dick, and I. C. Vanstone,
‘‘Improving scalability and throughput of a publish/subscribe network,’’
U.S. Patent 8 495 127, Jul. 23, 2013.
[55] D. Weintrop and U. Wilensky, ‘‘Comparing block-based and text-based
programming in high school computer science classrooms,’’ ACM Trans.
Comput. Educ., vol. 18, no. 1, 2017, Art. no. 3.
[56] P. Orduña, J. Garcia-Zubia, L. Rodriguez-Gil, I. Angulo,
U. Hernandez-Jayo, O. Dziabenko, and D. López-de-Ipiña, ‘‘The WebLabDeusto remote laboratory management system architecture: Achieving
scalability, interoperability, and federation of remote experimentation,’’
in Cyber-Physical Laboratories in Engineering and Science Education.
Cham, Switzerland: Springer, 2018, pp. 17–42.
[57] P. Orduña, L. Rodriguez-Gil, I. Angulo, U. Hernandez, A. Villar, and
J. Garcia-Zubia, ‘‘WebLabLib: New approach for creating remote laboratories,’’ in Cyber-Physical Systems and Digital Twins, M. E. Auer and B.
K. Ram, Eds. Cham, Switzerland: Springer, 2020, pp. 477–488.
[58] L. Rodríguez-Gil, J. García-Zubia, P. Orduña, and D. Lopez-de-Ipiña,
‘‘An open and scalable Web-based interactive live-streaming architecture:
The WILSP platform,’’ IEEE Access, vol. 5, pp. 9842–9856, 2017.
[59] C. A. Jara, F. A. Candelas, and F. Torres, ‘‘Virtual and remote laboratory for
robotics e-learning,’’ Comput. Aided Chem. Eng., vol. 25, pp. 1193–1198,
Jun. 2008.
VOLUME 7, 2019
A. Villar-Martínez et al.: Improving the Scalability and Replicability of Embedded Systems Remote Laboratories
[60] H. Vargas, G. Farias, J. Sanchez, S. Dormido, and F. Esquembre, ‘‘Using
augmented reality in remote laboratories,’’ Int. J. Comput. Commun. Control, vol. 8, no. 4, pp. 622–634, 2013.
[61] L. Rodriguez-Gil, P. Orduña, J. García-Zubia, and D. López-de-Ipiña,
‘‘Interactive live-streaming technologies and approaches for Web-based
applications,’’ Multimedia Tools Appl., vol. 77, no. 6, pp. 6471–6502, 2018.
[62] K. A. Al-Busaidi and H. Al-Shihi, ‘‘Instructors’ acceptance of learning management systems: A theoretical framework,’’ Commun. IBIMA,
vol. 2010, no. 2010, pp. 1–10, 2010.
[63] A. Corbi and D. Burgos, ‘‘OERaaS: Open educational resources as a
service with the help of virtual containers,’’ IEEE Latin Amer. Trans.,
vol. 14, no. 6, pp. 2927–2933, Jun. 2016.
AITOR VILLAR-MARTÍNEZ received the B.Sc.
and M.Sc. degrees in telecommunication engineering from the University of Deusto, in 2016 and
2018, respectively. He is currently pursuing the
Ph.D. degree with the University of Deusto, which
involve working and researching about remote laboratories and the technologies used in them. Since
2014, he has collaborated with some projects at
the University of Deusto, such as Smart Moto
Challenge, in 2015 and 2016 editions. Since 2017,
he has been a Hardware/Software Developer with the LabsLand (spin-off of
the WebLab-Deusto project). Since 2018, he has been collaborating with the
MORElab Research Group, DeustoTech—Deusto Institute of Technology.
LUIS RODRÍGUEZ-GIL received the dual degree
in computer engineering and industrial organization engineering, the M.Sc. degree in information security, and the Ph.D. degree in computer
science from the University of Deusto, in 2013,
2014, and 2017, respectively. During the Ph.D., he
co-founded the LabsLand remote labs company,
where he is currently a full-time CTO. Since 2009,
he has been a part of the WebLab-Deusto Research
Group, collaborating in the development of the
WebLab-Deusto RLMS. He has authored various peer-reviewed publications
and contributed to several open source projects.
IGNACIO ANGULO presented the Ph.D. thesis on Open Architecture for the Deployment
of Remote Laboratories on Embedded Systems,
in 2015. Since 2002, he has been with the University of Deusto, where he has been with the
Department of Information Technology, Electronics and Communication. He has participated
over 25 research projects. He has collaborated
in the writing of 32 scientific articles published
in magazines of international impact.
VOLUME 7, 2019
PABLO ORDUÑA (M’05) received the degree
in computer engineering and the Ph.D. degree
from the University of Deusto, in 2007 and 2013,
respectively. During the Ph.D., he was a Visiting
Researcher with the MIT CECI, in 2011, and the
UNED DIEEC, in 2012, for six weeks each. He
was a Researcher and the Project Manager of the
MORElab (DeustoTech Internet), until 2017. He
has also attended two programs for entrepreneurship training at Singularity University: Global
Solutions Program and Launchpad. Since 2004, he has also been with
the WebLab-Deusto Research Group, leading the design and development
of WebLab-Deusto. He is currently the CEO with LabsLand (spin-off
of the WebLab-Deusto project), and an External Collaborator with the
DeustoTech—Deusto Institute of Technology.
JAVIER GARCÍA-ZUBÍA (M’08–SM’11) received
the Ph.D. degree in computer science from the
University of Deusto, Spain. He is currently a Full
Professor with the Faculty of Engineering, University of Deusto. He is the Leader of the WebLabDeusto Research Group. His research interests
include remote laboratory design, implementation,
and evaluation.
DIEGO LÓPEZ-DE-IPIÑA received the Ph.D.
degree from the University of Cambridge, in 2002.
Responsible for several modules in the B.Sc. and
M.Sc. degrees in computer engineering, he is interested in pervasive computing, the IoT, semantic
service middleware, open linked data, and social
data mining. He is currently an Associate Professor and a Principal Researcher with the MORElab Group, Faculty of Engineering, University of
Deusto. He is taking and has taken part in several
big consortium-based research European (EDI, GreenSoul, WeLive, SIMPATICO, IES CITIES, or GOLAB) and Spanish projects, and has more than
140 publications in relevant international conference and journals, including
more than 60 JCR-indexed articles.
164185