Cloud-Based Content Synchronization Method for Collaborative Learning Environment

—Existing online education has moved from desk-top environments to mobile environments due to the proliferation of smart devices. Online educational systems running on smart devices have the advantage of allowing users to learn online regardless of the location of the users. In particular, data synchronization enables users to cooperate on contents in real time anywhere by sharing their files via cloud storage. However, users cannot collaborate by simultaneously modifying files that are shared with one another. In this paper, we propose a method of content collaboration and a technique of history management that are based on distributed system structure. Moreover, our novel locking scheme automatically synchronizes data shared in the cloud for multiple users and multiple devices. Our proposed sys-tem helps users performing work on the collaborative content by automatically merging updated contents of cloud files among users.


INTRODUCTION
Recently, many users have been able to engage with online education systems [1], [2] where they can collaborate with one another over long distances through their smart devices. Smart device refers to the mobile device that can download and install an application from an application store that corresponds to the specific smart device in use. Figure 1 shows that cloud-based online education enables students to learn using on-line materials, even though students do not physically attend school. However, existing cloud services [3] do not have a suitable synchronization facility for the case in which the system requires the synchronization of shared data among the users and when multiple users try to access the shared data at the same time. Also, existing cloud storage [4] is not aware of multiple users using multiple devices.
In other words, current systems cannot ensure the consistency of the shared data since only one user can modify the shared file. For example, Figure 2 shows that Dropbox produces a transaction error, [5] called a file conflict, when the two users try to save a modified version of the same shared file. Moreover, existing cloud services focus on the case of a single user with multiple devices rather than the case where more than users are collaborating. Therefore, the research of next generation cloud storage techniques become crucial to support consistent data synchronization [6] for content collaboration among users within an internet-of-things (IoT) environment. IoT refers to the interconnection of uniquely identifiable embedded computing devices connected to the existing internet in-  frastructure. IoT is expected to offer advanced connectivity to devices, systems, and services that goes beyond machine-to-machine communication.
The remainder of this paper is organized as follows. Section II gives an overview of related work. Section III addresses the design and the implementation of the proposed techniques. Section IV shows the experimental results. Finally, Section V provides the conclusion for the paper.

II. RELATED WORK
Dropbox [6] supports file sharing and network file synchronization in order to easily share files over the cloud anywhere. Cloud computing [8] helps users to share data and to synchronize such data among the user's devices. However, current cloud computing do not support cases where users modify shared files simultaneously. Moreo-PAPER CLOUD-BASED CONTENT SYNCHRONIZATION METHOD FOR COLLABORATIVE LEARNING ENVIRONMENT ver, users cannot edit shared files at the same time without file conflicts for cases where there are multiple users with multiple devices.
GoogleDrive [9], [10] has completely supported for different operating systems, such as Windows, Linux, and Android, and provides a document-based communication network to modify shared documents using a web browser. Moreover, many users can simultaneously modify shared files through the transaction mechanism provided by Google docs. However, GoogleDrive focuses on providing file sharing services using a public cloud rather than a private cloud. Also, this system does not automatically integrate the history management of shared files and the cloud storage. In other words, there is no history about the particular changes of the file. This paper addresses the use case where a multi-useraware file sharing technique and history management technique that are implemented to share files used within collaborative learning and teaching environment. Our proposed system describes an advanced private cloud computing [11] that can provide cloud storage for users.

III. PROPOSAL: CLOUD-BASED CONTENT COOPERATION SYSTEM
Our proposed system manages the changes in the content using a modified content unit without access to the time unit of the file in order to synchronize the shared files. Moreover, the proposed system supports a novel synchronization mechanism [12] that is based on a locking algorithm using the serialized queue for the case where many users try to access the shared file. These approaches overcome the problem when the consistency of the shared file is not guaranteed due to the simultaneous access of the shared file for the environments with multiple users and multiple devices.

A. Design
We describe how to interconnect distributed revision controller and the shared data via cloud computing in order for many users to be able to edit the same content in cloud storage. This paper focuses on a cloud-based content collaboration technique [13] that can automatically merge and track shared content in real time.
The proposed system only requires a cloud server [14] without a source code management (SCM) server since our system is based on the synchronization mechanism of distributed cloud files. In other words, we do not need a source code management server to manage the modified content of a shared file. We can synchronize the data that has changed by using the cloud computing infrastructure and implementing the history management of the shared file with distributed clients. This technique has been named the "cloud-based content collaborative system to assist in a collaborative learning and teaching network environment" (COCO). Figure 3 shows the entire process flow of the proposed system. The proposed system consists of server-side and client-side. The server-side synchronizes and archives the user data in the cloud server, and the server-side consists of three components as follows to aware multiple users and multiple devices in the collaborative learning and teaching in mobile environments: 1) Service daemon: synchronizes the shared data when the users modify the data held in the cloud server with their devices.
2) Cloud storage: saves the content generated by the users [14].
3) Web application: supports file upload and download via a web browser. Web interface should be made with HTML5 and JavaScript to support most of the operating systems such as Windows, Android mobile platform, and Ubuntu. In real environment, we can avoid the unnecessary engineering cost which is generated by the different software platform architectures by selecting the compatible web interface without the platform specific user interface.
The client-side transfers the access status and the content of the data to server-side when the users modify the contents of the file. It consists of three components as follows: a) Content sync agent: synchronizes the changed content between the server and the client in real time.
b) Revision controller: manages the changed file content using a distributed revision control method to update the data change of the shared file from the distributed clients.
c) Cloud client: manages the access time of the content and information of the client.
In this paper, we contribute three achievements that are useful for an online collaborative education system in real time as follows: ! Synchronization mechanism of shared file based on changed data: manages the changes in the file content without using a file access unit to support fine-grained data synchronization.
! Distributed content tracking model: supports the distributed system mechanism [15] using a peerto-peer communication technique without a centralized model. Therefore, an additional SCM server by utilizing storage mechanism of the cloud server and computing resource of the client is not required in the proposed content tracking model.
! Automatic revision control technique: considers an environment including multiple users and multiple devices in order to solve the file conflicts that happen in a case where many users try to modify shared content simultaneously.

B. Changed Data-Based Content Synchronization
The existing synchronization techniques check the access status of the file periodically against different access time of the shared files. In this case, when two users try to simultaneously save the shared file, the users have to manually manage the conflicts in the shared files due to absence of a synchronization operation.
To solve this problem, we have to avoid opening of the shared file in case that a user opens a shared file that has already been opened by another user. When the user tries to close the opened file after modifying it, the client-side must operate an unlocking mechanism due to the locked status of the shared file. Next, the client has to guarantee the access status of the file to enter the locking operation when the user of another device tries to modify the shared file.
At this time, the server-side preserves the information of the modified content in case that the shared file is modified by another user. It is possible for us to easily manage collaboration of the share content by using the history of the file content against the preserved information. Figure 4 shows how we can control the history management of files using the modified file content as a minimal unit of the transaction, as compared to that of the existing system. The existing system cannot handle modifications of the same file in order to avoid file conflicts because it performs a transaction [11] for the file modification by using the access time to synchronize the shared file in the cloud without using any locking mechanism for the cloud file. Our proposed system solves the problem of file conflicts of the existing system with the modified content based fine-grained locking mechanism is called object-based transaction when many users try to modify the content of the shared file. Figure 5 shows the distributed content control structure that can manage information of the changed file content when users modify the shared cloud file at the client-side [16]. The cloud based distributed history management technique does not need additional management system that manage the changed history of the clients.

C. Distributed Content Tracking Technique
The history information of modified contents from the client can be replaced with cloud server based network synchronization technique. The mechanism helps that each client does not need SCM server by saving the history information of the updated files into the user storage of cloud server in real time. As a result of that, the history data of the changed files are automatically synchronized thanks to the network synchronization mechanism of the cloud computing infrastructure.

D. Automatic Revision Control Method
When the users try to modify the shared files at the same time, the cloud server has to equip the serialization facility to handle the simultaneous access from the clients. Figure 6 shows how the proposed system synchronizes data between the server-side and the client-side in the case where a user creates new content using a mobile device so that the system can recognize a multi-user and multidevice environment [16].
The proposed system synchronizes the data of the shared files by processing the check-in and the check-out commands [16] according to the access status and the ac-   With current systems, if changes are automatically merged with auto merging (experimental) option and avoid file conflict option whenever the user tries to save modified content of a shared file, too much network overhead can be generated. Therefore, if the users try to close the modified file when the client manually sends the check-in command to the cloud server, we can minimize the network overhead for frequent send/receive operations when the content of the shared file is changed. At this time, PAPER CLOUD-BASED CONTENT SYNCHRONIZATION METHOD FOR COLLABORATIVE LEARNING ENVIRONMENT the cloud server serializes the requests from the clients using a First in, First out (FIFO) behavior [17]. This technique is effective and practical because some users have to limit network usage over 3G networks in the real environment [18]. Figure 7 explains how the proposed system shares the data in the cloud storage while managing the revision control system when the user modifies the shared file. At this time, a history management repository to integrate the modified shared data [19] is a client without a server. Each client is allocated a unique directory with a different name. When the file content is modified by using a directory that exists with a different name [20], the client automatically synchronizes the modified content to cloud server. Next, the shared directory of all clients keeps the same file and same history information by synchronizing the shared data same as with a file in the cloud of the different device using the most up-to-date data standard that is updated in the cloud server. The Directory Sharing operation of the client-side shows how the history management of the shared contents will be synchronized by file update mechanism of cloud computing infrastructure. In this case, we need the new data synchronization solution to resolve inconsistency problem of synchronized data files because the cloud computing infrastructure does not guarantee the consistent transaction of the shared files among the users. We can simply resolve the inconsistent status of history data happened, according to the distributed revision control method [16] by managing the user name uniquely with ./member{1|2|3|...} directory structure in the client. The unique directory name is sequentially generated by attaching an increased number. Although the users will gradually possess more than two devices, the method can simply avoid the inconsistency of the shared files according to the multi-users and the multi-devices environments. Finally, the cloud server executes a serialization task such as Figure 6 when the user saves the content of the file in the cloud according to the time of the cloud server.

IV. EVALUATION
To verify the effects of the proposed system, we established a server environment with an Intel i7 Quad core CPU, 8GiB of DDR3 RAM, and 512GiB of SSD running Community Enterprise Operating System (CENTOS) 6.6 with Linux 3.10. The server consists of an Apache webserver, PHP5 scripting language, and MySQL database. The server-side supports the web interface and the web storage with HTML5 and PHP script language for the users that are using the different operating systems. Figure  8 shows how the client-side consists of three clients, such as a server-based web client, desktop client, and a mobile client. We set up the cloud computing infrastructure with the network protocol of the open source project, called Owncloud, to maintain the openness.

A. Scenario for evaluation
We evaluated how the proposed system automatically merges the content without causing any file conflict for the shared file when users modify the content of the shared cloud file at the same time; ! Cloud server: manages the cloud storage. [21] When the user changes the content of a file, the service daemon of the server is in charge of exe-cuting the transaction of the data with a spin lock [22] mechanism and a FIFO queue.
! Desktop software: is client software for desktop computer of a user. When the user modifies the shared cloud file and saves the modified file, the client requests the data synchronization of the cloud file to the cloud server. The content sync agent is responsible for the distributed revision control to synchronize the updated contents among the clients.
! Mobile software: allows mobile users to modify the shared file with their mobile devices. We implemented the HTML-based web application to minimize the redundant development cost because of a lot of mobile devices such as Android Phone, Windows Phone, and iPhone. At this time, the internal operation flow of the content sync agent is similar to that of the desktop software.   Figure 9 shows how the modified content is saved into the distributed history management directory when many users execute the check-in command to merge modified content to the file. We can manage the modified content for an offline meeting by preserving the history of modified information [16] among the users from many different devices. We additionally made the content sync agent based on the distributed revision control software, called Mercurial. Mercurial is a distributed revision control tool that takes a peer-to-peer approach for software developers as open source project. Figure 10 shows the experimental result of a file conflict from a single-user and a multi-device environment. The proposed system guarantees zero file conflict even when a user tries to modify a shared file from multiple devices simultaneously, as compared to an existing system. In Figure 9, the x-axis refers to the name of the device of the user. The y-axis refers to the number of file conflicts when the user tries to modify a shared file using multiple devices at the same time. The existing system does not care the multiple access of the shared contents among the users. Therefore, the data synchronization mechanism of the existing system cannot solve file conflicts when the user tries to modify a shared file over two devices. Figure 11 shows a comparison between the existing system and the proposed system in terms of a multi-user environment. Each user only has one device, is not multiple devices.

D. Experimental result: Multi-users
We evaluated the performance of our proposed system with respect to the data synchronization of the shared  cloud file without any file conflicts for the case where many users modify the shared file at the same time. The xaxis refers to the number of users that access to the shared file simultaneously. The y-axis refers to the number of file conflicts of the shared file. From our experiment, we had zero file conflict resulting from the automatic merging operation such as auto merging (experimental) option indicated in Figure 6 when many users modify the content of the shared file from anywhere at the same time. Figure 12 and Figure 13 show a comparison between the existing system and the proposed system in terms of a multi-user and a multi-device environment. The proposed system recognizes multiple users with multiple devices better than the existing system, without any file conflicts, in order to support a collaborative educational system. Figure 12 shows the experimental results of the proposed system that generated one file conflict even though 10 users accessed the shared file at the same time.

E. Experimental result: Multi-users and multi-devices
Our analysis indicates that this problem sometimes happens since the user did not execute the check-out command after setting a manual lock without an automatic locking mechanism in order to merge the modified content manually.
F. The difference between the existing system and the proposed system Table 1 summarizes the strong points of the proposed system against those of the existing system. The proposed system synchronizes modified content units in order, being aware of multiple users with multiple devices. Moreover, it supports an automatic history management technique for the modified cloud file in the case that a number of users try to modify the shared file simultaneously.  The proposed techniques solve the problem of an increased server management cost through running a combined cloud storage and source code management system. We described the automatic merging technique for the case where many users modify the shared cloud file based on the distributed system structure for collaborative learning in mobile environments.

V. CONCLUSION
The proliferation of smart devices, such as smart phones, smart tablets, and smart laptop has quickly popularized mobile cloud services. Existing online education has moved from desktop environment to mobile due to the proliferation of smart devices. Therefore, it is important for many users to be able to edit content of cloud files in online environment from anywhere to overcome the collaboration limitation, which Dropbox [6] does not provide.
This paper proposes a cloud-based content cooperation system that can modify cloud files in multi-user multidevice environments. It consists of a modified contentbased cloud file locking mechanism, distributed file history tracking, automatic check-in and check-out method, and automatic revision control components. Moreover, we addressed the automatic merging of changes in the content of a cloud file by using the modified content unit. This mechanism helps a number of users to access shared cloud files using a FIFO-based spin-lock locking mechanism to avoid file conflict problem. In our experiment, we verified that the proposed system could merge shared files without causing any file conflict against those of an existing system. The proposed system could browse the history of the shared file to track the task contents of each of the members.