DRAC (Distributed Remote ACess system) An On-line Open Source Project-based Learning Tool

Similar documents
Setup of epiphytic assistance systems with SEPIA

Fault-Tolerant Storage Servers for the Databases of Redundant Web Servers in a Computing Grid

BoxPlot++ Zeina Azmeh, Fady Hamoui, Marianne Huchard. To cite this version: HAL Id: lirmm

Multimedia CTI Services for Telecommunication Systems

HySCaS: Hybrid Stereoscopic Calibration Software

Comparison of spatial indexes

SIM-Mee - Mobilizing your social network

YANG-Based Configuration Modeling - The SecSIP IPS Case Study

Blind Browsing on Hand-Held Devices: Touching the Web... to Understand it Better

Linux: Understanding Process-Level Power Consumption

Tacked Link List - An Improved Linked List for Advance Resource Reservation

Change Detection System for the Maintenance of Automated Testing

Relabeling nodes according to the structure of the graph

Natural Language Based User Interface for On-Demand Service Composition

A N-dimensional Stochastic Control Algorithm for Electricity Asset Management on PC cluster and Blue Gene Supercomputer

Experimental Evaluation of an IEC Station Bus Communication Reliability

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

X-Kaapi C programming interface

The Sissy Electro-thermal Simulation System - Based on Modern Software Technologies

DANCer: Dynamic Attributed Network with Community Structure Generator

Mokka, main guidelines and future

Assisted Policy Management for SPARQL Endpoints Access Control

UsiXML Extension for Awareness Support

How to simulate a volume-controlled flooding with mathematical morphology operators?

The Connectivity Order of Links

MUTE: A Peer-to-Peer Web-based Real-time Collaborative Editor

Study on Feebly Open Set with Respect to an Ideal Topological Spaces

Very Tight Coupling between LTE and WiFi: a Practical Analysis

Open Digital Forms. Hiep Le, Thomas Rebele, Fabian Suchanek. HAL Id: hal

Representation of Finite Games as Network Congestion Games

An Efficient Numerical Inverse Scattering Algorithm for Generalized Zakharov-Shabat Equations with Two Potential Functions

Branch-and-price algorithms for the Bi-Objective Vehicle Routing Problem with Time Windows

Every 3-connected, essentially 11-connected line graph is hamiltonian

Operation of Site Running StratusLab toolkit v1.0

Generic Design Space Exploration for Reconfigurable Architectures

Linked data from your pocket: The Android RDFContentProvider

Mapping classifications and linking related classes through SciGator, a DDC-based browsing library interface

KeyGlasses : Semi-transparent keys to optimize text input on virtual keyboard

Simulations of VANET Scenarios with OPNET and SUMO

Emerging and scripted roles in computer-supported collaborative learning

Structuring the First Steps of Requirements Elicitation

Comparator: A Tool for Quantifying Behavioural Compatibility

An FCA Framework for Knowledge Discovery in SPARQL Query Answers

Catalogue of architectural patterns characterized by constraint components, Version 1.0

LaHC at CLEF 2015 SBS Lab

Real-time FEM based control of soft surgical robots

Service Reconfiguration in the DANAH Assistive System

Technical Overview of F-Interop

Self-optimisation using runtime code generation for Wireless Sensor Networks Internet-of-Things

From medical imaging to numerical simulations

YAM++ : A multi-strategy based approach for Ontology matching task

The optimal routing of augmented cubes.

Computing and maximizing the exact reliability of wireless backhaul networks

A Resource Discovery Algorithm in Mobile Grid Computing based on IP-paging Scheme

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs

Modularity for Java and How OSGi Can Help

IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs

FIT IoT-LAB: The Largest IoT Open Experimental Testbed

Scalewelis: a Scalable Query-based Faceted Search System on Top of SPARQL Endpoints

Robust IP and UDP-lite header recovery for packetized multimedia transmission

A Voronoi-Based Hybrid Meshing Method

Real-Time and Resilient Intrusion Detection: A Flow-Based Approach

Scan chain encryption in Test Standards

Hardware Acceleration for Measurements in 100 Gb/s Networks

The New Territory of Lightweight Security in a Cloud Computing Environment

Moveability and Collision Analysis for Fully-Parallel Manipulators

QuickRanking: Fast Algorithm For Sorting And Ranking Data

Reverse-engineering of UML 2.0 Sequence Diagrams from Execution Traces

Cloud My Task - A Peer-to-Peer Distributed Python Script Execution Service

NP versus PSPACE. Frank Vega. To cite this version: HAL Id: hal

Quality of Service Enhancement by Using an Integer Bloom Filter Based Data Deduplication Mechanism in the Cloud Storage Environment

Implementing Forensic Readiness Using Performance Monitoring Tools

IMPLEMENTATION OF MOTION ESTIMATION BASED ON HETEROGENEOUS PARALLEL COMPUTING SYSTEM WITH OPENC

Minor-monotone crossing number

Comparison of radiosity and ray-tracing methods for coupled rooms

DSM GENERATION FROM STEREOSCOPIC IMAGERY FOR DAMAGE MAPPING, APPLICATION ON THE TOHOKU TSUNAMI

Modelling and simulation of a SFN based PLC network

THE COVERING OF ANCHORED RECTANGLES UP TO FIVE POINTS

CTF3 BPM acquisition system

Implementing an Automatic Functional Test Pattern Generation for Mixed-Signal Boards in a Maintenance Context

Taking Benefit from the User Density in Large Cities for Delivering SMS

Fuzzy sensor for the perception of colour

A Practical Evaluation Method of Network Traffic Load for Capacity Planning

Sliding HyperLogLog: Estimating cardinality in a data stream

Kernel perfect and critical kernel imperfect digraphs structure

Developing interfaces for the TRANUS system

The Proportional Colouring Problem: Optimizing Buffers in Radio Mesh Networks

Monitoring Air Quality in Korea s Metropolises on Ultra-High Resolution Wall-Sized Displays

Hierarchical Multi-Views Software Architecture

Lossless and Lossy Minimal Redundancy Pyramidal Decomposition for Scalable Image Compression Technique

Regularization parameter estimation for non-negative hyperspectral image deconvolution:supplementary material

Traffic Grooming in Bidirectional WDM Ring Networks

Malware models for network and service management

An Implementation of a Paper Based Authentication Using HC2D Barcode and Digital Signature

A Short SPAN+AVISPA Tutorial

Throughput prediction in wireless networks using statistical learning

lambda-min Decoding Algorithm of Regular and Irregular LDPC Codes

SDLS: a Matlab package for solving conic least-squares problems

Multi-atlas labeling with population-specific template and non-local patch-based label fusion

An Experimental Assessment of the 2D Visibility Complex

Transcription:

DRAC (Distributed Remote ACess system) An On-line Open Source Project-based Learning Tool Alexander Zlotnik, Juan M. Montero To cite this version: Alexander Zlotnik, Juan M. Montero. DRAC (Distributed Remote ACess system) An On-line Open Source Project-based Learning Tool. Michael E. Auer. Conference ICL2007, September 26-28, 2007, 2007, Villach, Austria. Kassel University Press, 6 p., 2007. HAL Id: hal-00197286 https://telearn.archives-ouvertes.fr/hal-00197286 Submitted on 14 Dec 2007 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

DRAC (Distributed Remote ACess system) An On-line Open Source Project-based Learning Tool Alexander Zlotnik 2,, Juan M. Montero 1, Universidad Politécnica de Madrid, Dpto. Ingeniería Electrónica Key words: project-based learning, Remote and virtual laboratories, mashup technologies, Cost-effectiveness, Pilot projects Abstract: Project Based Learning is an essential component in modern engineering education. However, it is difficult to implement in a virtual simulation-based approach, and the need of expensive or specialized equipment can make difficult to use this PBL approach in remote learning. In this paper, a web-based portal is presented; it allows remote access to the resources of several PBL laboratories on Electronics, with a significant emphasis on real-time digital and analog processing and multidisciplinary interactive applications. While other approaches to remote laboratories are not general or they are based on proprietary solutions, the design of the new environment has been focused on the use of free open-source tools. DRAC is being tested on a microprocessor-based laboratory course in the first semester of 2007, allowing students to use an integrated development environment from their homes. 1 Introduction Project Based Learning is an essential component in modern engineering education [1] [2]. However, it is difficult to implement in a virtual simulation-based approach, and the need of expensive and/or specialized equipment can make it difficult to use this PBL approach in remote on-line learning. Some of the advantages of remote laboratories [3] [4] are: An efficient use of the available resources (up to 24 hours a day, 365 days a year). It is a new flexible way of integrating practice in theoretical courses. It allows integration of students involved in international exchange programs. The main purpose of the system is to provide access to software or hardware resources [5] for several students at the same time. The whole design of the system was dictated by the specific needs of several graduate and undergraduate subjects related to microcontroller programming and digital electronic design. A cost-effective mashup approach was followed: several open source technologies, not designed for interoperability, are combined in a single system using the best of their individual features. The main implementation problem was the classical one in this kind of system: glue logic. DRAC mechanism can be summed up in the following way: one or several users connect to a server (DRAC main server or DRAC MS), which provides them a temporary and restricted connection to sub-servers (DRAC SS) or other network-accessible resources (such as RFID readers with a web interface). The only requirements for the end-users are a modern Javaenabled web browser, a VPN client and a 128Kbps (or better) Internet connection. 1(6)

2 DRAC from a user s perspective 2.1 Features Users can be organized in teams: Several members of the same team can share files and they access the same client computer at the same time, enabling efficient collaboration. Usage scheduler: An automated scheduler supervises how much time each team has been accessing a specific resource and disconnects every team member if a specific usage limit has been reached. This supervision strategy guarantees fair access to limited resources. Connection manager: Connection data is stored, if a user closes his browser for some reason, and logs in afterwards, DRAC reconnects him to the host and resources he was using. A simple web-based file manager: The provided file manager enables the users to create/edit/upload/delete files and create/delete directories. All user files are stored on the server: therefore they are accessible both through the web interface and on the remote session on the client computer. Hence, if files are uploaded through the web interface, they become accessible on the client computer. In addition to this, user s work is always saved, a critical feature since a user might get disconnected by the scheduler if the user s session times out. 2.2 User interface The user interface is designed with intiutiviness and easy-of-use in mind. After promting for a password, the following interface is shown to the user: Figure 1 The My work files button shows the abovementioned web-based file manager. The Reserve session button allows reserving a resource in advance. The Connect now button enables a user to connect to a resource which is not occupied. It might occur that a DRAC SS is marked as free but it is actually turned off (it might be 2(6)

reasonable to power off DRAC SS periodically, if the frequency of use is not high). If this happens, the DRAC MS will try to turn it on remotely when a connection to it is requested. In Figure 1, there are several DRAC SS, although only the first one is available. Finally, the user is connected to the DRAC SS itself through a web interface: Figure 2 DRAC SS operating system can be Windows or Linux/UNIX with KDE/Gnome GUI managers. They are normally connected to highly contended resources. In this case the DRAC SS is a Windows 2000 workstation with an oscilloscope and a custom-built Motorola ColdFire microcontroller. The software packages which control them are shown on Figure 2. It is important to note that the files accessible through the web interface (with the My work files button) are also directly available in the DRAC SS itself through a network drive. A simultaneous connection with a nearby web-enabled camera is also possible: Figure 3 3(6)

3 System architecture 3.1 Network architecture Figure 4 DRAC follows a simple n-tier approach: there is one DRAC MS and several DRAC SSs. Before connecting to the DRAC MS, the user must use his individual private key on a VPN server (main interface to the department s network from the outside). OpenVPN is an open source VPN client which can be used for this purpose. This structure is imposed by security purposes: the VPN server is constantly monitored and regularly updated; it also stores a log of every user connection. Therefore, security requirements for the DRAC MS can be relaxed. The DRAC MS displays a web interface, where the user must provide the username and a password associated to his team (note that the username and password provided in this second authentication stage are associated to a group; however, private VPN keys are individual). Afterwards the DRAC MS builds a NAT connection to the DRAC SS requested by the user. It is also possible to create a simultaneous connection to a DRAC SS (which can be controlled through a web interface) and a web-enabled resource connected to the private network, such as a camera with a web interface. The connection to all the aforementioned is resources is managed using iptables software package. Should more users from the same workgroup connect to the DRAC MS, it will create NAT routes to the same resource(s) that the first user of the group requested since concurrent connections to this system are possible. 4(6)

3.2 Software architecture and hardware requirements 3.2.1 DRAC SS DRAC SS can be any kind of operating system with VNC support. We chose VNC for its multiplatform and web interface capabilities. There are several VNC servers for many operating systems with slightly different features, but most of them have the possibility to access this server using a Java applet in a web browser. In our particular case, a Windows client was a requirement, since the EDColdFire software package essential for our needs was designed for this operating system. Therefore, we chose the best VNC version for this OS UltraVNC. Since Windows was a must-be, we also decided to make use of the Microsoft Windows Server Domain system. We were particularly interested in a very important feature make user group s directories available on the DRAC SSs through a network-based drive in Windows Explorer. This is relatively easy to achieve if the DRAC SS is associated to a Windows Domain Server, which can be emulated with a Linux server with the Samba package installed. 3.2.2 DRAC MS Surprisingly, hardware requirements for the DRAC MS are very modest our prototype is running on a PII 333 with 128 MB of RAM, and it could easily support up to 10 concurrent connections. DRAC MS operating system is Linux Fedora Core 4. The relevant software packages installed on it are: Apache web server with PHP 5 scripting support module. MySQL database. iptables packet filtering ruleset program. Samba SMB/CIFS networking protocol module. The web interface was built entirely in PHP using the MySQL backend to authenticate users and manage their session information. Iptables NAT route creation is handled entirely using PHP scripts. A cron daemon periodically executes a PHP script to check for overtime in user sessions, and closes them (deletes the NAT route and resets the target DRAC SS). The DRAC MS is also a Samba Domain server, which enables Windows-based DRAC SSs to use their files on the target DRAC SS. In is important to point out that Samba is a reverse engineered implementation of the SMB/CIFS protocol, therefore it lacks some features available with real Windows Domain servers, in our case, however, their implementation was sufficient. If this feature was required for UNIX / Linux DRAC SSs, it could be easily added activating and configuring the NFS service on the DRAC MS. Finally, the DRAC MS can send Wake-on-LAN packets to DRAC SSs in order to turn them on. This, obviously, requires a WOL-compatible card on the target DRAC SS. 5(6)

4 Conclusions and future work A web-based portal has been implemented. The system allows remote access to the hardware and software resources of several PBL laboratories on electronics, with a great emphasis on multidisciplinary interactive applications. It has been tested on a microprocessor-based laboratory course in the first semester of 2007, allowing the students to use the microprocessor platform and the integrated development environment from their homes. Several improvements are possible, mainly those related to real numerical scalability and a better fault tolerance. In both, cases a reasonable solution seems to be that of using redundant DRAC MSs and SSs. This strategy would also introduce several non-trivial challenges and it will likely require severe changes in the software architecture. 5 Acknowledgment We want to thank all the members of the GRIDS group and Dpto. de Ingeniería Electrónica at ETSIT-UPM for their continuous effort on higher education innovation; especial thanks to Ruben San-Segundo and Javier Macías-Guarasa. This work has been partially financed by a UPM innovation project: Desarrollo de una plataforma para la docencia semipresencial en asignaturas masivas de carácter práctico basadas en proyectos (Project Based Learning). References: [1] Solomon, G. Project-Based Learning: a Primer, Technology and Learning., Vol 23 (6), 2003, pp. 20-27. [2] Montero, J.M., San-Segundo, R., Macías-Guarasa, J., de Córdoba, R, Ferreiros, J., A Project- Based Learning Approach to a Curricular Design on Electronics, IEEE Transactions on Education, Volº 49(3), 2006, pp. 389-397. [3] Auer, M.E. Online Laboratory Standard Tools for Mobile Learning, IMCL Proceedings 2006. [4] Anido, L., Llamas, M., Fernández, M. J,. Internet-based Learning by Doing, IEEE Transactions on Education, Vol 44(2), (2001). [5] Nieto-Taladriz, O., Araujo, A., Fraga, D., Montero, J.M., Izpura, J.I., Antares: A synergy between University Education and Research, Development and Technology Innovation Groups, Proceedings of the Colloquium on Higher Education of Electronics, 2004, pp. 23-26. [6] San-Segundo, R., Montero, J.M., Macías-Guarasa, J., de Córdoba, R., Ferreiros, J., Automatic Tools for Diagnosis and Feedback in a Project Based Learning Course, Proceedings of Frontiers in Education Conference, 2005. Author(s): Montero Martínez, Juan Manuel, MEE (ETSIT UPM), PhD EE (ETSIT UPM) Universidad Politécnica de Madrid, Dpto. Ingeniería Electrónica Madrid, 28040 juancho@die.upm.es Zlotnik, Alexander Universidad Politécnica de Madrid, Dpto. Ingeniería Electrónica Madrid, 28040 6(6)