The use of practical laboratories is a key in engineering education in order to provide our students with the resources needed to acquire practical skills. This is specially true in the case of distance education, where no physical interactions between lecturers and students take place, so virtual or remote laboratories must be used. UNED has developed a system to create and manage virtual remote laboratories, aimed at improving the way how practical exercises are conducted. This system is based on cloud computing and virtualization concepts. These Virtual Remote Laboratories (VRLabs) combine features of traditional virtual and remote laboratories but with clear differences over them, among others, VRLabs do not necessarily access real physical devices but are not based on simulations either. Each student is provided with a virtual remote laboratory based on virtualization that he/she will access through the Internet and will use to implement his/her practical assignments. We present details on how these laboratories are implemented for a subject in a post-degree program in our University. Furthermore, we also present an evaluation of the system used on such subject aiming at assessing the quality of the system regarding three different concepts, namely perceived usefulness, perceived ease of use, and perceived interaction. This evaluation is twofold, first, we have conducted a survey over the students of the subject, and second, we have performed another survey over the teaching team of the subject, both have been performed for the 2012-2013 and 2013-2014 academic years.
State-of-the-art scenarios, such as Internet of Things (IoT) and Smart Cities, have recently arisen. They involve the processing of huge data sets under strict time requirements, rendering the use of cloud resources unfeasible. For this reason, Fog computing has been proposed as a solution; however, there remains a need for intelligent allocation decisions, in order to make it a fully usable solution in such contexts. In this paper, a network-aware scheduling algorithm is presented, which aims to select the fog node most suitable for the execution of an application within a given deadline. This decision is made taking the status of the network into account. This scheduling algorithm was implemented as an extension to the Kubernetes default scheduler, and compared with existing proposals in the literature. The comparison shows that our proposal is the only one that can execute all the submitted jobs within their deadlines (i.e., no job is rejected or executed exceeding its deadline) with certain configurations in some of the scenarios tested, thus obtaining an optimal solution in such scenarios.