{'fraction_non_alphanumeric': 0.025641945201549277, 'fraction_numerical': 0.0034428346004877347, 'mean_word_length': 5.125878734622144, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Cloud-based framework for mobile learning content adaptation

Mobile Web browsing usually involves a lot of horizontal and vertical scrolling, which makes page consultation painful. The main challenge of mobile networking is the context-aware content adaptation. This paper discusses the problem of content adaptation for mobile devices. The adaptation considers the context of the client and the environment where the client request is received. A device independent model is developed in order to achieve automatic adaptation of the content based on its semantics and the capabilities of the target device. A service-oriented Framework, as part of an e-Learning SaaS Cloud, is presented for adapting and displaying learning objects on small handheld devices, including a text-to-speech solution for learners in moving. Some aspects of e-Learning services integration of in Cloud computing environment are also discussed.


INTRODUCTION
Cloud Computing is a technology that uses the Internet and central remote servers to maintain data and applications. This is a natural platform to provide support to Mobile Learning (m-Learning) systems and also for the implementation of data mining techniques that allow exploring distributed knowledge databases. Cloud Computing is a computation paradigm in which the resources of an information system are offered as services through net connections with transparent scalability in such a way that the computational resources are assigned in a dynamical and accurate manner when they are strictly necessary, without the requirement of a detailed understanding of the infrastructure from the user's point of view [1]. Software-as-a-Service (SaaS) is a type of Cloud service which provides software functionality through Internet and can help efficiently the management of Web-based applications and pedagogical data in an m-Learning context. This is a software delivery model in which software and its related data are hosted centrally and are typically accessed by users using a thin client, normally using a browser over the Internet. So, SaaS delivers a single application through the Web browser to thousands of learners using a multitenant architecture.
Nowadays, the expansion of mobile computing has spawned a very heterogeneous environment of mobile devices. Those devices have different capabilities in providing mobile services to the user, implying the challenge of considering heterogeneous devices during mobile service development. This especially encompasses the task of adapting the content, which a mobile service provides to a specific mobile device [16]. Usage of multimedia services and especially the presentation of multimedia learning contents are more challenging in a mobile environment than on desktop devices as a result of the diversity of mobile devices and their parameters [2,19].
In this paper, we introduce the concept of m-Learning-Software-as-a-Service content-editing and storing for pedagogical content-adaptation and diffusion. The objective is to describe the personalization in m-Learning via an adaptive approach. We tested several mobile Web browsers to proof the Learning Objects (LOs) [7] portability. The advantages of using a mobile Web browser as universal communication environment were described in [3]. We introduce a service-based solution that utilizes the hierarchical display of multimedia units with index extraction and content summarization. Web services technology was adapted to provide a flexible integration model in which all the learning components and applications are well defined and loosely connected. The realization combines textual content adaptation with alternate audio transcoding to better fulfill student needs. An adaptive technique is realized on XML-based technology which is better suited for a large content of LOs. The use of XML as a medium-neutral data format for data storage and processing allows the learning contents to be classified hierarchically, to be structured at the desired level of granularity and to be adjusted to different contexts and devices [3].
In this paper we argue that a future Cloud-based m-Learning system should consist of a set of independent but cooperating non-monolithic Web services-based applications that integrate pedagogical data between common Learning Course Management Systems (LCMS).
The rest of this paper is organized as follows. In Section 2, the Cloud-based approach for e-Learning systems is discussed. Section 3 explains the architecture of Software-as-a-Service distributed Cloud for m-Learning, and the system design issues are described including implementation details. The conclusion and feedback are discussed in Section 4.

A. Cloud Computing Architecture
In Cloud Computing architecture the coupling between resources and applications is facilitated and thereby can provide the information and application interoperability to e-Learning systems. The Cloud can be seen as a unique access point for all the requests coming from the world wide spread clients.
• IaaS comprises the layer of storage, hardware, servers and networking components. Architecture scalability is achieved through virtualization, such that multiple systems or operating systems can be run at the same time on a virtual machine or across multiple machines.
• PaaS offers application platform for Internet programming interface and operating environment, where users can dispose their own applications.
• SaaS is a software delivery model in which program and its associated data are hosted centrally and are accessed by users using a Web browser over the Internet. It becomes a common delivery model for business applications and learning course management system.

C. Software as a Service Background
SaaS means using software as service over the Web in which some kind of protocol is involved, which is used to intercommunicate between the client side application and the server side software service. Traditionally, SaaS services use REST (Representational State Transfer) services, but another protocol, SOAP (Simple Object Access Protocol) is also used. SaaS services are also hosted on the Cloud just like Web services, but a SaaS application usually calls the services using RESTful services, whereas Web services make calls using RPC (Remote Procedure Call). REST services and Web services are different implementations of the same architectural approach which is the Service-Oriented Architecture (SOA). So, SaaS services are deployed into the Cloud just as Web services and may even be implemented using REST method. REST is an approach of software architecture for distributed hypermedia systems such as the World Wide Web. REST is considered as an alternative to the RPC method. RPC uses in most cases SOAP, but we can well imagine a REST method using SOAP style messages to communicate between SaaS-based and Web service-based applications.

D. Web Services
Web Services is one of the most active and widely adopted implementation of SOA. It is based on an interoperable protocol and all communication between the server to client, client to client or server to server and in general application to application, uses the same protocol (SOAP). Web Services make calls to Web methods exposed as a service by sending and receiving messages. Web Services do not limit any kind of trans-port for message delivery. They may be operated over a traditional HTTP approach, or a message based asynchronous JMS approach, or over a file based FTP approach, and just about any other transport protocols. Web Services are discoverable by the clients by searching the UDDI (Universal Description, Discovery and Integration) directories, which publishes the Web services as standard agreements like WSDL (Web Services Description Language). A WSDL is a contract document, which is just an XML document based on WSDL schema, which describes the messaging format of the exposed services. The client fetches the WSDL and interprets the XML grammar then makes dynamic invocation of services.

E. Cloud Computing in the e-Learning Area
The rapid evolution of Internet based technologies in recent years has enhanced the development of Web based applications. This includes many Web 2.0 emerging tools supporting Cloud computing and SOA that are adopted to improve services to clients. Implementations of some of these technologies have been demonstrated by social networking on websites such as Facebook, Twitter or YouTube [10]. As is pointed out in [1] Cloud Computing may promote a new era of learning taking the advantage of hosting the e-Learning applications on a Cloud and following its virtualization features of the hardware. This approach reduces the construction and maintenance cost of the learning resources. Interest in Cloud computing in the e-Learning area is growing due to potential greater cost savings from scalable architectures and open source products, and the possibility of higher learning outcomes. Greater connectivity between centralized Cloud-side applications and low cost, and low processor capacity of mobile devices for m-Learning use could provide better access, more control, and greater freedom for mobile learners. E-Learning is an innovative approach for delivering welldesigned, learner-centered, interactive and facilitated learning environments to anyone, anyplace and anytime. Components of an e-Learning system can include content of multiple formats, management of the learning experience, and an online community of learners, content developers and experts [6]. In addition to the learning technologies, the Web-based learning offers some benefits over conventional classroom-based learning. A partial list includes: (1) it can be used at any time and on any place; (2) pedagogical documents are easy to update; (3) it promotes interaction between the learner and the teacher; (4) it can integrate multiple media such as text, audio, graphics, video and animation; (5) it promotes the formation of learning communities; (6) learners progress is easily checked, and (7) it allows a learner-centered approach that takes into account the learners profiles.
On the other hand m-Learning is seen as the natural evolution of e-Learning. Basically m-Learning is considered as any form of learning that is delivered through a mobile device. We believe that m-Learning can be presented as a mobile extension of e-Learning through mobile computational devices with Internet connectivity [3]. At the same time mobile devices significantly differ from each other in their characteristics. Mobile devices' heterogeneity can be divided into hardware and software heterogeneity [19]. Hardware heterogeneity reflects the presence of devices with different capabilities. Software hete-rogeneity describes the presence of different operating systems, programs and Web applications running on mobile devices. However, Web pages in general, are designed to be visualized on larger screens and, when one attempt to fit it on a smallscreen device, most of its content is not visible. This effect is due essentially to the fact that mobile devices support several different markup languages to display output. To overcome those heterogeneity issues we suggest the concept of a webservice based platform for mobile services that handles both content adaptation and Web service provision.
The SaaS approach is perfect for e-Learning and m-Learning because of its fast implementation and easiest maintenance since clients will receive the latest updates and features without any extra financial obligation. Another advantage with SaaS is that it helps administration and teachers to share key resources all with the simple click of a button, using Web 2.0 technology. All aspects of an e-Learning or m-Learning solution can be delivered using the SaaS model, including LMS, LCMS, courseware content, authoring tools, and synchronous collaboration tools like webcasting and white boarding. An e-Learning SaaS solution delivers and manages e-Learning or m-Learning applications and services from remote data centers to multiple users via the Internet.

F. Related Work
Currently there are ongoing projects that propose the use of Cloud computing as a base for modern e-Learning applications and systems. In [5] authors present a general and simple architecture with ad-hoc modules, such as monitoring, policy and provision. However, no implementation scenario for e-Learning use case is presented. The CloudIA project [8], demonstrates the feasibility of a private Cloud infrastructure for e-Learning services. This project addresses functionalities for enabling an e-Learning system in the Cloud, such as authentication and integration with existing IT infrastructure, creation of customized on-demand virtual machines. However, the choice of private resources in relation to the means available in public is not shown. A similar architectural system is has been adopted in BlueSky Cloud framework [9]. This project enables physical machines to be virtualized and allocated on-demand for e-Learning systems. However, the security layer for this Cloud-based framework is not addressed. The project described in [11] presents an approach using a service platform, which utilizes a content adaptation procedure for web-based mobile services by utilizing device capability databases and generic page transformation. Their approach enables mobile devices to visualize any generic content device-specifically on their integrated browsers. The integrated mobile Web browsers support a specific set of markup languages. These differences are not discussed in function of services interoperability. The Google App Engine [14] provides a Java Web framework based Jetty, a servlet container, and BigTable for data storage. Xesop [3] uses the Apache containers suite for data storage and service management.

III. E-LEARNING SOFTWARE AS A SERVICE
This section presents a solution for building a virtual and personalized learning environment which utilizes the technology of Cloud-based Software-as-a-Service to create a service-oriented model for m-Learning application service providers and learners. The concept of e-Learning-Software-as-a-Service is introduced as a software distribution model in which applications are hosted by a service provider and distributed via the Web. Figure 1. The course semantics schema shows common elements of a scientific learning content. A science course contains, in general, chapters, sections, text paragraphs, bitmap images, scalable vector graphics, and mathematical equations, programming code, charts and tables. This XML schema defines the course grammar for a XML-based description of a learning content with a wide range of scientific elements.
The contribution is as follows: (1) the concept encompasses the creation of an XML-based and mobile browser-independent content, which is adapted to the requesting device using a device capability recognition method and XML transformation techniques according to the recent advances of media queriesbased responsive Web design; (2) personalization in m-Learning via an adaptive approach; (3) demonstration of a Web service-based architecture to an integrated Web-based learning and m-Learning environment; (4) testing of several mobile Web browsers to proof Learning Objects (LOs) [3] portability; (5) design of a service-based framework, as part of an e-Learning SaaS Cloud, that uses hierarchical displaying multimedia units with index extraction and content summarization; (6) description of a SaaS-based e-Learning system architecture to provide a flexible integration model in which all the learning components and applications are well defined and loosely connected and (7) deployment of multimedia services and espe-cially the presentation of multimedia content on mobile environments, which is a more challenging task due to the diversity of mobile devices and their parameters The objective of this contribution is to combine semistructured data, stored in a Native XML Database (NXDB), with structured data stored in a Relational Database (RDB) through Web services (WS) called by a Learning Course Management System (LCMS). Thus, we provide direct data integration located at distributed sites in order to improve the achievement of learning outcomes. This approach promotes a device-independent m-Learning gateway between different mobile units and the huge number of LOs available on a plethora of LMSs. The implementation combines our Web-based Open Semantic Editor Suite (WOSES) with a set of additional services to allow different mobile units a direct access to LOs customarily designed for desktop Web browsers. The key technologies behind WOSES are: extended LOM [7] base semantic structure presented in Figure 1, device-independent LOs generator, native XML database and Web services . A semantic content adaptation service is plugged. This tool uses templates to automatically and efficiently adapt content for mobile Web browsers. An alternative service is available for a speech solution, which allows learners to turn any written text into natural speech files, when using standard voices. This approach allows the generation and the progressive downloading of text and audio based learning material dynamically for m-Learning and ubiquitous access [3].

A. Model for Mobile Learning Content
To produce device-independent Web-accessible information that can be browsed in a readable and effective way on different devices and software platforms we use methods for: (1) effective mobile device recognition, and (2) mobile Web browsers functionalities identification. For an effective Mobile Device Recognition Method (MDRM) we use the header field in the HTTP protocol. To proof the LOs portability on mobile browsers we conducted a series of tests. We put several mobile browsers through a series of test pages. These represent some of the common design types that are in use, and like most real Web pages, not all of them are designed to work with small screens. Each page contains a test element: styled text, tables, scripting, DOM and Ajax, MathML, SVG, multimedia embedded objects, image, sound, XML with XSLT [3]. We tested, recently, also the interoperability of HTML5 and CSS3 in a responsive web design context with media queries parameters for several mobile Web browsers on different models of Tablets, Smartphones and cell phones with the objective to identify their compatibility with desktop Web browsers. Analysis of the test results showed that a multimedia pedagogical content is suitable for a set of mobile Web browsers (Opera Mobile, Safari, and Firefox Mobile). The main problem to address here is to tailor the presentation on small-screen mobile devices, rather than focusing on the complexity of pedagogical hypermedia content. This process includes the development of a suitable page-adaptation technique that analyzes XML course structure from Figure 1 and generated pages into smaller, logically related units that can fit into a mobile device's browser. The page sequence should be generated in a suitable format (XML or HTML) accordingly to the browser's profile.

B. XML Semantic Editor Suite
For encoding textual information and content assembly, an XML semantic editor (screenshot 2 in Figure 2) is used and a tree structure of a generic learning document is generated, while a validation grammar of XML Schema type is used according to Figure 1. Depending on course specificity, (mathematics, physics or informatics course), the author can represent texts, diagrams, mathematical formulas, programming code or data in tables. A MathML editor was created for mathematical expressions, a SVG editor for vector graphics creation, a QTI editor for student's progression evaluation, a schema for table generation and a chart editor for data presentation (screenshot 3 in Figure 2). In this case, XML is used for encoding nontextual information such as vector graphics, mathematical expressions, multimedia documents, complex forms. In this authoring suite, binary data of multimedia content is embedded directly into XML course content. During the editing process, if the author inserts an image or any binary data into the edited content, the semantic editor will encode it using the Base64 encoding method (screenshot 1 in Figure 2). This single XML collection can be managed easily by providing proper XSLT transformation files. The XML content can be presented in many forms, such as HTML for desktop users or for mobile users. All these processes are managed by appropriated Cloudbased Web services.
In practice, the course authors may need to modify a pedagogical content. The correct operation of a collaborative authoring system imposes the storage of learning collections, possibly in a database, for a better reuse and diffusion of these documents. The choice of an appropriate database is essential: the authors have chosen a native XML database which allows the storage of XML documents in their native format. This choice, in opposition to that of a relational database, is explained by the nature of learning documents which are in general of narrative types: document-centric and not data-centric. If necessary, formatted HTML and PDF versions (screenshot 3 in Figure 2) of extracted learning content can be published in a LCMS via Web service interface.

C. The Course Content Adaptation Process
M-Learning pedagogical content can be given in the form of a visual presentation as text, pictures, tables in XML, HTML format or as PDF data. Optionally, m-Learning content can be given as sound data in the form of an acoustic presentation in an MP3 or WAV format. To achieve this goal the Web servicebased OSES suite [3] is extended with four additional services. The first one (XICT) is able to create a hypertext index on the basis of the course tree structure (Figure 1). The second service represents an XML content adaptation tool (XCAT) that uses profiles (XML metadata files) for automatic content adaptation displayed on the mobile browser. Profiles are adjusted in the function of detection: (1) mobile device profile issue from WURFL software component [18] that maps HTTP Request headers of the HTTP client (Desktop, Mobile phone, Smartphone, Tablet, etc.) that issued the request (this is supported by the fourth service), and (2) of mobile browser profile issue from the tests [3]. The third service is developed on the base of the Mbrola [13] speech synthesizer free library to produce speech output from a text paragraph. The XML speech adapta-tion tool (XSAT) converts the associated text to index item content to an audio output.
The course content adaptation process is an overall index of hyperlinks. Each link points to a node in the hierarchical structure of a created course in XML format. On a "click", the corresponding content is first adapted, then downloaded and displayed on the mobile screen. The navigation process is pro-vided in two dimensions: top level index entries and hyperlinks to the next/previous page. If a text item is highlighted then the XCAT service is executed, otherwise the XSAT service is executed when the sound icon is highlighted for the same item. This sequence is shown in Figure 2.  Figure 2 presents the course content adaptation process for mobile Web browser as follow: Screenshot 1 shows the course tree structure developed in accordance with the schema definition presented in Figure 1. All elements of the tree are labeled at their creation time to become easily identifiable (Screenshots 2) and locatable along the depth of the tree. This defines, subsequently, their hierarchical position in the generated index. Screenshots number 3 presents the Java XML semantic editor defining any pedagogical component edited by the author along with MathML and SVG plugins. An additional and optional view of the course content in native XML format is also available. Screenshot 4 shows the results of summarization in the form of indexes corresponding to each node of the hierarchical structure of the course. This page is initially sent to the mobile Web browser. Screenshot 5 shows a possible learner interaction by choosing items from index and receiving corresponding adapted content, while screenshot 6 shows an audio file played by the client-side player. If the audio icon is selected from screenshot 4 instead of text-link the associated text content is processed in audio output. If a binary content is chosen a standard audio message is send. This process is managed by Web service applications interaction via an implemented UDDI registry.

E. System Deployment
In the system deployment stage, our WOSES Cloud-based service is integrated with a Web-based LCMS. The interconnection is carried out by a Web Services Management System (WSMS). So, the learning-centric data and the managementcentric data are clearly separated. LOs are developed in WOS-ES section of the eLearning Service as a Service-based Xesop system and thereafter are stored in a NXDB. The information relevant to learner personal data, learner profiles, course maps, LOs sequencing, data presentation and general user data is stored in the RDB of LCMS. The publication process of learning content is carried out by WSMS as method for external applications integration through Web services. This allows extending and integration existing LCMS systems as a Cloudbased service. In the discussed case, content adaptation Web service-based modules make the bridge from e-Learning to m-Learning system in a simple and effective way through Apache Libcloud [14], an open source library that provides a systemneutral interface to Cloud provider APIs. The Java version supports Amazon EC2.
For proof-of-concept our system is deployed on AmeTice (Moodle-based) e-Learning system adopted by our university. We integrated the PHP-based LCMS interface via Web services. This offers a high degree of flexibility and ease of use, in particular as SOAP libraries for PHP already exist, which leads to an easily extensible PHP and MySQL-based LCMS. For services deployment we used Apache Axis [12]. For storing and managing LOs, we used eXist, a Java-based open source native XML database [17]. It is running in the Apache Tomcat Servlet engine as Web application and can also be invoked via: XML-RPC, REST-style Web services API, or SOAP. To integrate with other e-Learning and/or m-Learning systems we implemented a jUDDI registry.

IV. CONCLUSION
Nowadays, social media for education uses Web-based technologies to turn learning into interactive dialogue. Much like Web-based social networking, mobile social networking occurs in virtual communities through a mobile phone. The main challenge of mobile networking is the context-aware content adaptation. As a result: (1) many mobile applications are based on Cloud services such as location service and messaging service, (2) turning a speech-production service into a product may consist in writing a script to invoke the proper SOAP methods that will enable to send text and generate speech files on the Speech Cloud (SaaS) server.
On the other hand, as suggested in this paper for the next generation of LCMS we can consider scenarios where it will be possible among different systems to exchange not only data but also applications. The solution we propose shows clearly how to combine existing individual systems into a virtual one, available as a SaaS unit. Especially concerning LCMS, Cloudbased solutions for Moodle are being proposed and we tested in leveraging Amazon Web Services (AWS). Initial feedbacks from students that have tested the eLearning Service as a Service-based Xesop system are very satisfactory. The proposed solution optimizes page visualization from Moodle system which course browsing usually involves a lot of horizontal and vertical scrolling, which makes web browsing painful.