Synchronization of learning management systems with store-and-forward communication using ship to support e-Learning at rural islands

One of the challenges for the people who live in the rural islands of the developing countries is the lack of access to education. Although ICT (Information and Communication Technology) is increasingly regarded as an essential tool to support learning activities in rural areas, the availability of telecommunication infrastructure in such areas is still problematic, primarily because of high implementation cost and low revenue. This study aimed to develop an e-Learning model for the community in the rural islands which utilize ship to deliver to and receive data from the island using store-and-forward communication technique over a transient long-range wireless link established when the ship is at a certain distance from the island. Here we focused on the design of a synchronization method between databases of multiple learning management systems (LMS) between the ship and the island. The design has been implemented and tested using Moodle installed on low-power Raspberry Pi computers. The result showed that our design is suitable to be used in such requirements, hence making it a feasible solution to support ICT-based learning for the people in rural islands.


Introduction
The condition of education in rural and remote areas, especially in developing countries, has been usually challenging. The problems include the lack of proper schools building, low availability of equipment, and the professional teacher's reluctance to stay and work on such areas [1,2]. One of the solutions to these problems is through e-Learning approach, which is to conduct teaching and learning activities using ICT (Information and Communication Technology). However, many people especially they who live on the small and remote islands remain entirely isolated due to the lack of telecommunication connection. Having a small population with usually a low income has made difficulties in developing conventional telecommunication infrastructure in those islands, for both technical and business reasons. This is problematic as the traditional e-Learning setting usually requires the availability of a dedicated connection between the teacher and learners site. Synchronous type of learning requires learning tool that supports real-time interaction between students and teachers, such as instant messaging and videoconference [3,4]. Dedicated connectivity is a must in this type of learning. On the other hand, asynchronous learning activities can be carried out even in offline manner where the students and teacher are not directly connected, hence does not require a dedicated connectivity and suitable to be used in places where Internet connectivity is sporadic, unreliable or intermittent. Examples of synchronous learning include coursework and communications delivered via web, email and messages posted on online community forums. In asynchronous e-Learning, the contents are generally stored in a computer database and managed using a system called Learning Management System (LMS). Besides storing the learning materials, LMS is also used to manage course registration, conducting and administering quizzes and assignments, and supporting the learning analytics. In the situation where the connectivity is intermittent, the data contain e-Learning material is only transmitted when the connectivity is available and is cached at the student's site to be accessed off-line. Delay-Tolerant Network (DTN) is a network paradigm that allows the end-to-end connection between a given source and destination to be never or intermittently present. In DTN paradigm, data is delivered using a store-and-forward mode where the data is forwarded through nodes along the path from source to the destination. In each node, data can be temporarily stored and then forwarded to the next node when connectivity to that node is available [5]. One of the applications utilizing DTN paradigm is by using vehicles that physically carry the data in a computer with a storage device and distributing it through limited telecommunication links between one area to another to effectively create a data communication link [6,7]. Most of the times, the ship is the only transportation mode to connect between islands to the mainland or from one island to another. Ships like this, especially ferries, which have a regular route, could be utilized as vehicle to carry the data physically into the remote islands. However, most LMS database is not designed for DTN. A common data delivery mechanism in DTN such as epidemic routing schemes [5,8,9] is not usable here since there is still a requirement for bi-directional database synchronization between LMSs.
The remaining of this paper discusses a method to deliver the data to the islands by utilizing ship as a data carrier using a store-and-forward communication model in DTN. More specifically, in the current study, we focused on how the data stored in the LMS is synchronized one of each other using this communication model. Our method has made possible of not only a unidirectional replication of data from source LMS to multiple destination LMSs, but also a bi-directional synchronization between them.

Method
As mentioned above, in our study the ship acts as a data carrier which will transport the data from the teacher site to the student site and vice versa. Therefore, initially, we modeled the data delivery mechanism as shown in figure 1. In this model, we assumed that when the ship is at the origin site, the teacher can send the data containing e-Learning materials to a storage server located on the ship. As the ship starts the trip and traversing near the islands at a certain distance which is identified using GPS, the ship server will establish a wireless connection to another server located at the island. If the connection established, there will be a maximum duration time that this connection could be maintained and used transmitting or receiving data between the ship and the island. The whole process is done automatically every time the ship traversing near the islands. When the ship reaches the place where the Internet coverage is available, the updated data from the island(s) could be synchronized back to the teacher site.  Next, by using the store-and-forward communication model in communication we then designed and constructed an efficient database synchronization method that provides a bi-directional data delivery between LMSs in DTN. The method aims to keep the consistency between all LMS databases involved while maintaining efficiency. Hence, we focused on designing the interaction between the server on the ship and at the island.
To implement the design described above, we decided to choose Moodle as the LMS of our experiment. We have also selected three of Moodle's features, namely: Quiz, Forum, and Course to be used in the test. Data entries from these three features were used in the synchronization experiment. As the testbeds, we used two Raspberry Pi computers with Moodle installed and connect them using a Wi-Fi connection to simulate a pair of connected nodes. We used Restful Web Service in PHP to implement the message based interaction.

Design of LMS database synchronization
As slightly discussed in the previous section, the LMS database synchronization with store-and-forward communication is challenging because of two aspects:  The database mutation (create, update, delete) could occurs anytime in any of the server either at the teacher or the student site. Moreover, when data mutation occurs, it affects only the local server and most of the time the mutation could not be performed immediately at other servers.  Most of the LMS available were designed with a conventional dedicated network in mind and not directly support store-and-forward communication model. Utilization and synchronization of multiple database servers are usually supported, but the data consistency between these databases need to be maintained continuously.
To address the above problems, in this study we have designed a method to synchronize LMS databases in store-and-forward communication model. As shown in figure 2, the database synchronization is following the store-and-forward communication model shown in figure 1. The synchronization starts between the database at the teacher site and the one on the ship. When the ship passes near the island and the wireless connection is established, the data synchronization process is initiated. Any database updates that occurred in each communicating site is then sent from one to each other to maintain the data consistency. The same process occurs with each island the ship passes by.  The more detail process of database LMS synchronization is shown with a sequence diagram in figure  3. In this design, the computer on the ship is acting as a client while the one at the island as the server. Along the trip of the ship, the Client system module regularly check the GPS module, by sending isServerWithinRange() message, to know if the ship is entering into a previously specified range of coordinates to make aware of its proximity to the island. When the result is True, meaning that the server is within a certain location from the island where a wireless link can be established, the Client system activates the Network module by sending enableNetwork() message. If the Network module has successfully activated and the Client is connected to the Server, the Client check its own database by sending getLastSync(ServerId) to know about when the last synchronization occurred between the Client and that particular Server (island). If there was an earlier synchronization, the database will return a timestamp information specifying the time of the last synchronization between those two. Using last synchronization information as parameter, the Client check to the Server whether there are any updates at Server after the last synchronization. The Server will then check its own database, and when found, will initiate the Server to send a True reply. This initiates the Client to send the a GetServerData() that will be replied by the Server by sending the requested data. After the data transmission finished, the whole process is then reversed. Any updates at Client is then sent to the Server. In the end of the process, a disableNetwork() is sent by the Client system to Network module to close the interaction. The process is repeated every time the ship passes near the island.

Implementation and evaluation
For the evaluation, we have tested the synchronization process by variating the number of rows to be synchronized which was from 100 to 1000 rows while measuring the synchronization time. The recording has been done in two sessions, the chart in figure 4, shows the average of LMS database synchronization time that linearly increasing as we increased the number of rows. Apparently, no other factor has affected the synchronization time other than the number of data being transferred. Compared to other similar study using air vehicle as data carrier [8] where the transferred data contained the update queries, our approach only involves data values and not include other information such as queries. This could potentially increase the efficiency of data transmission since the queries itself could become an additional overhead in overall transmission burden.
The potential drawback of our method is a requirement to separate the autoincrement row ID of each server data (island) into separate ranges of values to avoid conflict. In MySQL, this could be done using AUTO_INCREMENT attribute in ALTER TABLE command. Consequently, the maximum possible value of ID (e.g. 2,147,483,647 for INT value in MySQL) need to be divide by the number of servers being involved in the synchronization process. To overcome this problem, the maximum value could be increased by changing the type to UNSIGNED INT or even UNSIGNED BIGINT to reach a way bigger maximum autoincrement value.

Conclusion
In this study we have developed an e-Learning model for the community in the rural islands which utilize ship to deliver to and receive data from the island using store-and-forward communication technique over a transient long-range wireless link established when the ship is at a certain distance from the island. Here we focused on the design of a synchronization method between databases of multiple learning management systems (LMS) between the ship and the island. The design has been implemented and tested using Moodle LMS. The result showed that our design is suitable to be used in such requirements, hence making it a feasible solution to support ICT-based learning for the people in rural islands.