A Low-Cost Full-Featured Extensible Laboratory for Online Hardware Engineering
Total Page:16
File Type:pdf, Size:1020Kb
PAPER A LOW-COST FULL-FEATURED EXTENSIBLE LABORATORY FOR ONLINE HARDWARE ENGINEERING A Low-Cost Full-Featured Extensible Laboratory For Online Hardware Engineering http://dx.doi.org/10.3991/ijoe.v10i3.3517 T.R. Pearson Raptor Engineering, Belvidere, United States Abstract—This paper describes the uLab, a new method and In contrast to many of the remote laboratories currently framework for remote hardware design laboratories, which in existence, the uLab places strong emphasis on direct, uses Linux and FOSS to provide real-time design and debug long-duration access to real, physical hardware for non- services to students over standard RDP channels. A secure, trivial design and evaluation tasks. In addition, most of the encrypted, plugin-based remote laboratory framework al- existing laboratories offering access to real, physical lows customization of programming and debug/test services hardware, such as MIT's iLab[1] or the VISIR sys- to match physical laboratory resources. Industry standard tem[2][3], require expensive, proprietary software pack- technologies such as LDAP and Kerberos are utilized to ages, such as LabView, in order to function. By contrast, ensure scalability, security, and ease of management. Em- the new uLab laboratory system, which derives its name phasis is placed on direct access to real hardware, with the from the goal of providing a “Universal Laboratory,” is normal array of simulation tools and design software also not only open-source itself, but also is built entirely upon being provided. In contrast with many of the remote labora- open-source software and, where possible, open hardware. tories currently in existence, this system places strong em- This frees institutions from the requirement of purchasing phasis on direct, long-duration access to real, physical expensive software licenses for each new hardware work- hardware for non-trivial design and evaluation tasks. In space, and allows them to, instead, focus on providing the order to achieve this goal, secure, network-enabled hard- best possible experience for their students. This character- ware “pods” were created from inexpensive COTS compo- istic also enables institutions to modify the uLab system to nents, and a blend of new and existing open-source software meet their particular needs rather than adjusting their cur- was used to connect with the overall laboratory framework. riculum to work around any limitations present in existing, Hardware-design software and tools, including the software closed-source software. for physical hardware access, are preloaded and made available within the desktop session, allowing students to log The uLab system is comprised of three main compo- in and start working almost immediately. nents: infrastructure, terminal services, and hardware- access workspaces. The infrastructure component pro- Index Terms—Client-server system, cost effective, engineer- vides relatively mundane but essential services, such as ing education, hardware-access pods, hardware design, Kerberos authentication, to the other two main compo- online engineering, uLab, Universal Laboratory nents; the infrastructure component, therefore, plays a critical role in the provision of a unified laboratory experi- I. INTRODUCTION ence. The terminal services component provides a full- featured remote desktop environment, complete with A typical hardware design laboratory consists of several hardware design and simulation tools, to the end user over workstations and associated hardware in an access- a standard Remote Desktop Protocol (RDP) link. These controlled room with rigidly scheduled laboratory dates terminal services leverage the provided Kerberos infra- and times. This laboratory model inherently presents sev- structure to enable single sign-on functionality across all eral drawbacks. One of the typically overlooked issues uLab components, presenting a more unified environment with this type of laboratory is the low average utilization to the end user. Finally, the hardware-access workspaces ratio; there normally are large portions of each day when component provides the end user with access to real, the laboratory is nearly or completely idle with no student physical hardware. This component also leverages the access permitted. Another drawback is a relatively short Kerberos infrastructure for authentication and encryption window for laboratory sessions, during which the students of both client-server and server-server connections, there- are more focused on completing particular assignments by maintaining the security of all hardware-access com- within the allotted time frame than they are on learning ponents. A diagram illustrating the relationships between vital concepts via semi-structured, hands-on interaction major components in a typical uLab system is shown in with design tools and hardware. Additionally, in many Fig. 1. institutions, there are insufficient resources available to handle simultaneous usage by all students within a partic- II. INFRASTRUCTURE ular laboratory period; this forces multiple students to be assigned to a given workstation and further removes each The infrastructure component is comprised of a Ker- student from hands-on interaction with the design soft- beros realm controller or controllers; a large, central disk ware and physical hardware. Remote laboratories, such as array; networking hardware; a router/firewall; and various the uLab system described in this paper, not only alleviate related services. The Heimdal Kerberos realm controller many of the drawbacks listed above, but also provide ex- utilized in the uLab system uses OpenLDAP as its directo- citing new opportunities for students to interact with the ry backend, while OpenLDAP uses Kerberos as its prima- laboratory hardware in a non-traditional manner. ry authentication system. Due to the high level of difficul- ty involved in manually configuring Heimdal Kerberos, 24 http://www.i-joe.org PAPER A LOW-COST FULL-FEATURED EXTENSIBLE LABORATORY FOR ONLINE HARDWARE ENGINEERING Figure 1. Major components of a generic uLab system OpenLDAP, SASL, and any necessary cryptographic for that IP address from the TFTP server into RAM. After components, new graphical and command line tools were download, the Linux kernel is booted; the kernel then created to provide easier set up and maintenance of the mounts the configured NFS root directory to the local root realm controllers. Central storage is provided by a 500GB directory and allows the node to finish booting via its RAID 1 disk array, which is then exported to the uLab standard System V Init system. servers using the Network File System version 3 (NFS v3) protocol. Several independent internal networks are uti- III. TERMINAL SERVICES lized, with a 1Gbps Ethernet switch handling most non- Unlike most competing remote laboratory solutions, the storage traffic, and a 10Gbps Infiniband switch handling uLab system does not use a Web-based interface for ac- disk array access over NFS v3; these networks are fully cess to any of its services; instead, it provides a traditional, isolated from any external networks, including the Inter- feature-rich, WIMP-based GUI in order to provide an ex- net. Internet service is provided though the use of a perience that is as close to real world as possible. This pfSense router and firewall, which provides appropriately requires a full desktop environment in which the design filtered Internet service to dedicated Ethernet ports on the tools and remote laboratory GUI can be utilized effective- servers though the use of Network Address Translation ly and efficiently. For this reason, terminal services are (NAT). In the current uLab system, a single master server provided to the students over Microsoft's industry- contains the disk array and also provides NFS, Domain standard Remote Desktop Protocol (RDP)[4]. Although Name Service (DNS), Dynamic Host Configuration Pro- normal terminal services over RDP--such as those provid- tocol (DHCP), Trivial File Transfer Protocol (TFTP), ed by Microsoft or the open-source FreeRDP project[5]-- Network Time Protocol (NTP), and MySQL database are not easily scalable due to the fact that each client must services to the entire internal network. connect to a given server, providing additional terminal The terminal servers and workspace servers, the opera- servers to alleviate overcrowding on existing servers tion of which will be detailed below, contain no disks; brings significant challenges in the form of session con- they store their system files on the central disk array and sistency, server management, and active session resump- boot via NFS. This configuration allows servers to be tion after disconnection. easily and quickly replaced in the event of hardware fail- To provide redundancy and scalability to uLab's termi- ure; instead of reinstalling and reconfiguring software, the nal services, the xrdp server from the FreeRDP project MAC address configured in the DHCP server simply is was modified to support the concept of a central forward- updated to reflect the MAC address of the replacement ing server. This forwarding server is responsible for initial hardware. An exception to this rule is found in the work- authentication and selection of an appropriate RDP space servers residing outside the central uLab cluster; backend server; each backend server is then responsible these workspace servers use local disk and/or Flash-based for hosting individual terminal sessions. This architecture storage as appropriate. Each terminal server,