Experience of Classes with the Portable Cloud Computing System and a Raspberry Pi Cluster

Experience of classes with the portable cloud computing system and a Raspberry Pi cluster is discussed. A "Portable Cloud Computing System (Portable Cloud)" is a portable system that can turn any room into an ICT-enhanced classroom or an ICT-enhanced meeting-room. The portable cloud is a portable rack, which contains Wi-Fi access points, a network switch, and a server cluster. The server cluster includes a NAPT (Network Address Port Translation) router, a DHCP server, a captive portal. The Wi-Fi access points, the NAPT router, the captive portal and the DHCP server make the space where the Portable Cloud is located, Internet accessible. The server cluster also contains the "Distributed Web Screen Share (DWSS)." DWSS can share teacher’s PC’s screen with students BYOD. We added a Raspberry Pi cluster to the server cluster of the portable cloud for exercises of classes this time. The portable cloud computing system made us realize to have the technical English class, the computer architecture class with exercises and the parallel and distributed computing class, with minimal physical contact between students.


INTRODUCTION
It is common to have a class using a Course Management System (CMS) on the Internet and "Bring Your Own Devices (BYOD)" of students in a classroom of universities from 2010s.This makes managers of Information and Communication Technology (ICT) department of universities free from purchasing, maintaining, and disposing of a lot of Personal Computers (PCs) in computer laboratories.This also makes surviving universities from COVID-19 pandemic from 2020.After the pandemic, and when students came back to classrooms, we need much more classrooms where students and teachers can use the CMS for the classes and their BYOD.In addition to this, special experiment environments for these classes are required, for exercises in some classes in an engineering school.The exercises should have minimal physical contact between students to avoid infection.We made the portable cloud computing system before.A "Portable Cloud Computing System (Portable Cloud)" [12] is a portable system that can turn any room into an ICT-enhanced classroom or an ICT-enhanced meeting-room.The portable cloud is a portable rack, which contains Wi-Fi access points, a network switch, and a server cluster.The server cluster includes a NAPT (Network Address Port Translation) router, a DHCP server, and a captive portal.The Wi-Fi access points, the NAPT router, the captive portal and the DHCP server make the space where the Portable Cloud is located, Internet accessible.The server cluster also contains the "Distributed Web Screen Share (DWSS)."DWSS can share teacher's PC's screen with students BYOD.We added a Raspberry Pi cluster to the portable cloud for exercises of classes this time.The portable cloud computing system made us realize to have the technical English class, the computer architecture class with exercises and the parallel and distributed computing class, with minimal physical contact between students.

THE PORTABLE CLOUD
It is common to have Wi-Fi accessibility for BYOD in classrooms of a university today.However, there may be classrooms without Wi-Fi accessibility.There also may be special requirements for class.For example, some of our university's class uses about fifty Raspberry Pis.In order to cope with this requirement, we are using the Portable Cloud Computing system with Raspberry Pi cluster.Figure 2 shows an outline of the portable cloud.The carrying case contains high performance Wi-Fi access points, a PC cluster with software, a network switch.The system may have a power system with a battery for places without power.The system can be connected with the Internet or a campus LAN. Figure 1 shows the structure of the portable cloud."WAN port" is a LAN interface which connects the portable cloud and the Internet or a campus LAN.The portable cloud has the functions of the Wi-Fi access point, Captive Portal, Gateway, Firewall, NAPT, DHCP, DNS, Free RADIUS, Distributed Web Screen Share (DWSS), Raspberry Pi Cluster, and simultaneous shutdown.

Wi-Fi Access Point
The Wi-Fi access point or the set of Wi-Fi access points is the key equipment in the Portable Cloud.In order to provide a comfortable Wi-Fi environment for dense mobile clients, the Wi-Fi access point should have very high performance.We are using IEEE 802.11acWi-Fi access points.This access point can be a RADIUS [6] client.User authentication can be realized by combining this RADIUS client function of the Wi-Fi access point, the RADIUS server in the pfSense of the subsection 2.2 and the LDAP server of the subsection 2.3.A captive portal is a webpage that the user of a public network is required to view and interact with before they can access the network.An unmanaged Wi-Fi environment can be campus network vulnerability.The Portable Cloud is equipped with a simple management tool using the captive portal.To connect, a user will open a web browser and selects the SSID of the Portable Cloud's Wi-Fi access point.Once they input the correct passphrase, a web page like Figure 3 will be shown.The page displays the terms of use of the Portable Cloud.The page can be an authentication page in addition to the terms of use.Users of the Portable Cloud cannot use its functions without an appropriate guide.So, after the user clicks the accept button on the terms of use page, a menu page (Figure 4) with links to the functions of the Portable Cloud will be shown.This web page re-direction function is realized by pfSense [4], a captive portal software.In order to provide Internet accessibility to users' mobile phones and laptop PCs, the Portable Cloud contains a DHCP server, a DNS server, and a Gateway.The gateway has a "network address port translation (NAPT)" function.It protects computers behind the gateway from unauthorized access to them from the Internet and NAPT enables to use private IP addresses by themselves.We use a PC with the pf-Sense firewall to realize these functions.

Server for Menu and others
The portable cloud has the server for the menu page of the Figure 4.This server contains not only the menu page but also the Own Cloud, PukiWiki and LDAP server.The own cloud is a web-based file server.It is useful when there is no WAN connection or when WAN connections were too narrow.The PukiWiki is a contents management system.The PukiWiki can be a communication tool among a teacher and students in a class.The LDAP server can be the users' database for authentication of the portable cloud.

Screen Share
If the desktop screen image of the meeting presenter can be viewed by an audience using devices like the user's smart phone or PC, without the need to install software, the meeting can be more productive.We are investigating live desktop image sharing systems for such situations.Fortunately, a modern smartphone or a modern laptop PC usually has the capability of running an HTML5 browser.We first developed a live PC desktop image sharing system, called Web Screen Share, which uses HTML5 and WebSocket technology.
We have improved Web Screen Share by introducing inter server connection nodes (ISC nodes) to the system.The presenter's desktop image is multi-casted to all web servers of a group using ISC nodes.To minimize the delay between when the presenter's desktop image is changed and when the change is shown at the last web client, this system adopts a balanced binary tree connection of ISC nodes.To assign web clients evenly to web servers automatically, this system uses a tournament-based load balancing algorithm.We call our improved system Distributed Web Screen Share (DWSS) (Figure 5.).The portable cloud contains three to seven Raspberry Pi-s for the DWSS.

Raspberry Pi Cluster
The Raspberry Pi (Pi) is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse.It is a capable little device that enables people of all ages to explore computing, and to learn how to program in languages like Scratch and Python.It's capable of doing everything you'd expect a desktop computer to do, from browsing the internet and playing high-definition video, to making spreadsheets, word-processing, and playing games [5].Some of our classes in our university are using Pi-s.A Pi is not so expensive.However, Pi is not equipped with the mouse, the keyboard, the display and the case.It is hard to prepare these for each Pi in a class.When we give a Pi to each student of the class, they may forget to bring the Pi to the class.It is also time consuming to set up each Pi of students for classes.It is hard to provide IP addresses for each Raspberry Pi for a class when connecting to such large number (around fifty) of Pi-s, directly to the campus LAN.In order to cope with such challenges of the above, we added Raspberry Pi cluster to the portable cloud.We have set up each Pi by providing static IP address and providing the simultaneous shutdown function in the next subsection.When a students logged in to the portable cloud from his or her BYOD, the student can use a Pi using VNC viewer.

Simultaneous Shutdown
Many parts of the portable cloud consist of Raspberry Pi.A Raspberry Pi is a Linux computer, and it can be started by the power on.However, it should be performed shutdown command before power down.It is time and labor consuming if entering shutdown command at all of Raspberry Pi-s of the portable cloud one by one.In order to reduce this power down time and labor, we added the simultaneous shutdown function to the portable cloud.When performing power down the portable cloud, the user shutdown just the pf-Sense machine and wait for some time.There is no special command for simultaneous shutdown.This simultaneous shutdown is realized by the remote power status monitor function, which is programmed by us, of each Raspberry Pi.When a Raspberry Pi is power on, the remote power status monitor function is started by the systemd.The remote power status monitor monitors the power status of the pfsense computer by issuing the ping command repeatedly.If the response of the ping command shows that the pfsense computer was power down, the remote power status monitor issues the shutdown command at the Raspberry Pi.

CLASSES USING THE PORTABLE CLOUD 3.1 Technical English Class
Many Japanese students are poor at English because they do not feel the necessity to use English in daily life.Engineering students are also poor at English despite many of them must use technical English in the future.It is hard to teach technical English to engineering students.To cope with the hardness to teach technical English classes, we have tried several ways to make students enjoy technical English classes for eight years.We made assumptions about students in our department, designed the class which may be effective to achieve the purpose of the class considering the assumptions.We implemented the class, and acquired the feedback from students, after that, in the first year.We modified the assumptions and designed the next year's class to cope with the problems which became clear by the feedback.We also implemented the class by the design and acquired feedback from students after that in the second year.We are improving the class by repeating this cycle every year.The object of the class is that get students to earn the ability to find out information about their needs from English manuals or books on information technology by themselves and to earn the ability to understand the contents.In the first year, we assumed the followings.(e) Vocabulary is important for learning English.To achieve the object of the class effectively, and considering the above assumptions, we adopted the following ways.
(f) Adopted small group active learning, for corresponding to the assumptions of (a) and (b).Students could use dictionaries and Web pages.They were recommended to teach each other in a small group.Students were expected to get knowledge by their selves.The teacher does not teach as possible as he can.(g) Adopted the "Programming the Raspberry Pi" [9] as the textbook, for corresponding to the assumptions of (c) and (d).We thought that the Raspberry Pi is an in thing.(h) Every student should read a part of the textbook each week before the class, and they should submit the list of new words for students with their meaning, for corresponding to the assumption of (e).(i) Every student should submit an essay on what were written in the part of the textbook of the week, and his/her comment on the class to the teacher get feedback on the class as soon as possible.(j) Mark was given by the quality of essays of (h) and (i).We did the followings as the development of the class.It was also used for answering the question and the answer should be known by all students.(p) Reserved the laboratory as the classroom, to operate the Raspberry Pi (Figure 6).(q) After several weeks passed, we found out that there were some students who did not take part in the group activity.
To decrease the number of such students, we decided to have comprehension quiz on the contents of the week 12, 13, 14.
We have shown the correct answers immediately after the answering time for the quiz.We implemented the followings for the class.Our university surveys the feedback on every class from every student, every year.Some items of the feedback represented by numbers and some others are comments.This class got comments from students including the followings.
• I realized that I increased the ability of English.
• I enjoyed the class very much by operating the Raspberry Pi while read the textbook in the group.These comments show a part of our assumptions were correct.However, we found out some students did not take part in the group activity while monitoring the class.
We repeat the improvement of the class by the above procedure until fourth year.There was COVID-19 pandemic fifth year.We had to move the class from the classroom to the online class.We assumed students like interactive class.So, we should continue active learning in the online class.
Fortunately, we were having the class using the CMS for four years.The CMS has the function of electronic bulletin board for group activities.We used the bulletin board for the group activity.We decided to use zoom for instructing students at their home.Unfortunately, students could not use the Raspberry Pi at their home.Students used Python programming environment of their PC at their home instead of operating the Raspberry Pi.There was  It was the chance to let students to use the Pi.In order to prevent COVID-19 infection, there should be some gap between seats in the classroom.In order to have interactive and active learning in such situations, we decided to continue to use the CMS and to use the portable cloud with the Raspberry Pi cluster for operating Raspberry Pi.
We reserved the classroom for the term and let the students to use the Pi-s of the Pi cluster.In order to prevent COVID-19 infection, we assigned one Pi to every student of the class.Each student uses the Pi at a remote place in the classroom, from their BYOD using the VNC viewer in the BYOD and the portable cloud (Figure 7).Unfortunately, students could not experience the GPIO experiments in the textbook this time.Instead of the experiments, we show videos of the experiments performed by the teacher.

Computer Architecture Seminar Class
We have heard that some companies, who can be recruiter of our department, computer science, graduates, would like to have graduates who can program C programs and who can use Linux operating system.In order to cope with this demand, we decided to have the class which includes C programming and operation of Linux operating system.It seems some of our computer science department students are poor at computer hardware.To enhance their ability to cope with computer hardware, we decided to have computer architecture seminar class as the class with C programming and Linux operating system.In order to use C compiler and Linux operating system, we adopted Raspberry Pi.The C programming language is useful to manipulate a CPU directly and the language should be learned after understanding a CPU architecture.Students, who attend the class, took the computer architecture class already.In the computer architecture seminar class, students make a small CPU simulator using the C programming language.In order to reduce maintenance time and labor, and to reduce COVID-19 infection, we decided to use the portable cloud with the Raspberry Pi cluster for this class.As same as the technical English class, every student was assigned one Pi in the Raspberry Pi cluster of the portable cloud.They used the Pi from their BYOD using VNC viewer.

Parallel and Distributed Computing Class
J17 is a standard Japanese curriculum guideline for undergraduate programs in computer science.In this program, parallel and distributed computing should be learned by a computer science student.So we decided to have the parallel and distributed computing class.We would like to students to have experience with parallel and distributed computing programming.Usually, direct communication between BYODs, which are connected by the same LAN, is restricted by the personal fire wall of each BYOD.To cope with this problem, we adopted the portable cloud with the Raspberry Pi cluster for this class.As same as the technical English class, every student was assigned one Pi in the Raspberry Pi cluster of the portable cloud.They used the Pi from their BYOD using VNC viewer.Students of this class were assigned to small groups.They write parallel programs and perform a parallel processing using the programs they wrote in the group, by letting each Pi communicating each other by their program.

RELATED WORK 4.1 Portable multi-purpose LAN socket server
Masuda et.al. has developed the portable multi-purpose information outlet server [7].This server provides the Internet connectivity to participants of meetings.The Portable Cloud detailed in this paper provides various functions which support classes and meetings in addition to the Internet connectivity.

𝜖-ARK
-ARK is an information device for self-help and cooperation help during a disaster [10].This can be used as a usual information terminal when not needed during a disaster.During a disaster, this device provides a database, a router, an application gateway, a server and other functions.Functions of e-ARK are similar to the Portable Cloud; however, the purpose is different.Higher performance is required for satisfying the purpose of the Portable Cloud.

Desktop Remote Meeting Tools
Desktop remote meeting tools such like Teams [8], WebEX [2] and Zoom [3] are essential tool for current institute's activity, especially when there was pandemic.These tools can share a desktop screen image of a participant with others in the meeting.They were also used in many classes of universities in the world.They use cloud computing system, and they consume traffic of the Internet external connection even if all of participants in a university LAN during the class.It is difficult to use DWSS of the portable cloud for remote online class now.However, DWSS does not consume traffic of the Internet external connection when all students and teachers in the university's LAN.

Portable Supercomputer
The portable supercomputer was developed for a programming contest [1].This is a computer cluster equipped with GPUs and battery.GPUs are used for high performance computing.The battery is used for satisfying the regulation of power consumption of the contest.The hardware structure of the portable supercomputer is similar to the Portable Cloud.However, the software included is different.

RealVNC Connect and VPN
We used VNC Viewer for connecting Raspberry Pi from students' BYOD.If we could use RealVNC Connect [11] service, it was possible to have the exercise using Raspberry Pi from students' homes.VPN also enables using Raspberry Pi from students' home.Fortunately, pfSense has the ability to have VPN.We would like to investigate to use VPN.

CONCLUDING REMARKS
We have shown the portable cloud with Raspberry Pi cluster and their application to classes in a university.The portable cloud realized in-person classes and avoiding infection of COVID-19.There was no cluster infection in these classes.We have confirmed its usefulness by using it.Unfortunately, it is very hard to use GPIO (General purpose I/O) of Raspberry Pi from remote place.It can be possible to use a relay matrix switch and some electronic parts for making external circuit from a remote place.It can be also possible to use a simulator.We would like to investigate such ways in a future.

Figure 2 :
Figure 2: Outline of the Portable Cloud

Figure 3 :
Figure 3: The terms of use page

( a )
Students like learning by doing .(b) Students like talking each other.(c) Students are interested in the in thing.(d) Students are interested in their major, computer science.

( k )
Assigned a part of the textbook for each week.(l) Wrote the syllabus.(m) Prepared Raspberry Pi-s for each group.(n) Prepared the contents for the content management system (CMS).(o) Prepared the portable cloud as the class assistant tool.It can broadcast the teacher's PC's screen to the display of each group.It was used for explaining a part of the contents during the class when it was hard to comprehend by students.

( r )
Assigned the students for each group (one time during the semester).(s) Instructed students to follow the following schedule every week.(1) Read the part of the textbook of the week and submit the list of new words for them with their meaning to the CMS before the class.(2) Confirm the contents in the part of the textbook by operating the Raspberry Pi, cooperating with students in the group, as the group activity.There was no need to be careful with COVID-19 infection at that time.So we assigned one Pi to one group until fourth year.(3) Submit the essay on what were written in the part of the textbook of the week during the class to the CMS.(4) Submit the report and comment on the class of the week, at the end of the class of the week.(t) Monitored the group activity.(u) Explained the contents when they were hard to understand by students, using the portable cloud.(v) Answered questions.(w) Marked each student after the class.

Figure 6 :
Figure 6: Picture of the laboratory which are used as the classroom of the technical English class

Figure 7 :
Figure 7: Picture of the laboratory which are used as the classroom of the technical English class