This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Abstract: In present context mobile applications are geared towards an individual user making use of resources used in a single mobile device. There is an opportunity to restrain the collective sensing, storage, and computational capabilities of networked mobile devices in order to create a distributed infrastructure for rich applications. It is possible to use a networked collection of smartphones in a more opportunistic way. Mobile server cloud computing is an emerging research area where it composes of mobile devices as servers rather than clients. In mobile server cloud computing represents a group of mobile devices that serve as a cloud computing provider by exposing their computing resources to other mobile devices.
Mobile cloud computing can be comprehended as a novel computing mode consisting of mobile computing and cloud computing, which provide cloud based services to users through the Internet and mobile devices. On one hand, the mobile cloud computing is a development of mobile computing, and an extension to cloud computing. Server cloud computing it's one
branch which illustrates on forming a network of mobile cloud computing where mobile devices are serving as servers or resource nodes rather than attempting to get connected to a physically located certain cloud servers and completes tasks to be done with the interaction among mobile devices. In this review paper I have tried to identify the concepts behind the server cloud computing and algorithmic approaches and application models. In addition to that advantages and disadvantages recognized in Mobile server cloud computing application models are also evaluated in this review paper.
In section 2, the overview of the Review of researches on Mobile Server Cloud (MSCC) is stated. In section 3 major researches are critically reviewed. Section 4 is a discussion of MSCC research area.
Mobile Server Cloud Computing is a revolutionary implication of Mobile Cloud Computing technical research arena, as it has the potential of increasing the performance of a certain task with benefits like reducing interaction delay, enhancing processing capability, and improves user's experience
effectively. So that from this paper Mobile Cloud Computing concept and reason of emergence of Mobile Cloud Computing and called by the name of Mobile Server Cloud Computing(MSCC), application models of MCSS and advantages and disadvantages are subjected to reviewed.
Major Researches in Mobile Server Cloud Computing(MSCC)
3.1 Identify Mobile Cloud Computing (MCC)
Over the past few years the emergence of cloud computing initiates one of the stirring subjective area of technical research phenomena. Generally, cloud computing is described as a range of services which are provided by an Internet based cluster system. Such cluster systems consist of a group of low-cost servers or Personal Computers, organizing with various resources of the computers according to a certain management strategy, and offering safe, reliable, fast, convenient and transparent services such as data storage, accessing and computing to clients. Meanwhile, smartphones are considered as the representative for the mobile devices since they have been connected to the Internet with rapidly growing of wireless network technology. Ubiquity and mobility are descendants of wireless mobile technology. The potential features of the mobile platform are heavily influenced by cloud computing concept. For the reason that an inheritance and development of cloud computing, resources in mobile cloud computing networks are virtualized and assigned in a group of numerous distributed computers rather than in traditional local computers or servers. Basically, the concept of mobile cloud computing refers to a way of communications where both operations, data storage and data processing which are incurring outside of the mobile device. In mobile cloud computing data storage and mass information processing have been transferred to cloud. Thus the requirements of mobile devices in computing capability and resources have been reduced, such that developing, running, deploying and using mode of mobile applications have been totally changed. Therefore, form the mobile computing and cloud computing perspectives , the mobile cloud computing is a combination of the both technologies, a development of distributed, grid and centralized algorithms. As the computing and major data processing phases have been migrated to cloud, the capability requirement of mobile devices is limited, some low-cost mobile devices or even non-smartphones can also achieve mobile cloud computing by using a cross-platform, mid-ware. Although the client in mobile cloud computing is changed from PCs or ¬xed machines to mobile devices, the main concept is still cloud computing. Though smartphones have been improved obviously in various aspects such as capability of CPU and memory, storage, size of screen, wireless communication, sensing technology, and operation systems, still have serious limitations such as limited computing capability and energy resource, to deploy complicated applications. By contrast with PCs and laptops in a given condition, these smartphones like iPhone 5, Android serials, and Windows Mobile serials decrease 3 times in processing capacity, 8 times in memory, 5 to 10 times in storage capacity and 10 times in network bandwidth.
Requirement for MCSS
In mobile cloud computing environment, due to the issue of limited resources, some applications of compute intensive and data intensive cannot be deployed in mobile devices, or they may consume energy resources at high rate. Therefore dividing the applications and using the capacity of cloud computing to achieve those purposes, which is the core computing task, processed by cloud. Those mobile devices are responsible for some simple tasks only. In this processing, the major issues affecting performance of mobile cloud computing are data processing in data center and mobile device, network handover delay, and data delivery time. For a given standard, providing a quality guaranteed cloud service should consider the following facts: optimal division of application between cloud and mobile device, interaction between low-latency and code of¬‚oad, high-bandwidth between cloud and mobile device for high speed data transmission, user-oriented cloud application performance, self-adaptation mechanism of mobile cloud computing, and optimal consumption and overhead of mobile devices and cloud servers.
3.3 Emergence of MSCC through MCC
Mobile cloud computing is where the mobile device serves act as a client and some collection of non-mobile devices act as the server, the provider of resources. It is possible to invert this pattern and let mobile devices serve as the resource rather than the consumer. In mobile server cloud computing represents a group of mobile devices that serve as a cloud computing provider by exposing their computing resources to other mobile devices. This type of mobile cloud computing becomes more interesting in situations with no or weak connections to the Internet and large cloud providers. Offloading to nearby mobile devices save monetary cost, because data charging is avoided, especially favored in roaming situations. Moreover, it allows creating computing communities in which users can collaboratively execute shared tasks.
3.4 Application models of MSCC
In mobile server cloud computing Client-Server communication is done across the mobile device( offloader ) and surrogate device via protocols such as Remote Procedure Calls (RPC), Remote Method Invocation (RMI) and Sockets. Both RPC and RMI have well supported APIs and are considered stable by developers.
As for the features of resource-constrains in mobile devices, many researchers are seeking how to solve it. Hyrax is a system developed by E. Marinelli from Carnegie Mellon University, which deploys Android-based mobile phones as nodes to create a mobile cloud computing platform. This system transplants a modified Hadoop (a framework of cloud from Apache) into Android so that these smartphones can be like PCs to deploy a real cloud computing system. In order to improve the whole performance of Hyrax, smartphone acts as Slave in Hadoop network, but Master is still deployed on PC, NameNode and JobTracker are implemented as background services, and Hadoop Distributed File System (HDFS) is used to store data.
In order to evaluate the performance of Hyrax, authors took a lot of tests in Sort, Random Writer, Pi Estimator, Grep, and Word Count using 10 Android G1 phones and 5 HTC Magic phones. The result shows that the performance of smartphones is much worse which took 15 times as long as PC in Map and Reduce procedures. As the first mobile phone based cloud computing system, Hyrax argued that the feature of resource-constraints in mobile phones is the main reason affecting cloud performance, and it also indicated the direction for further research.
22.214.171.124. Map Reduce Algorithm
Map Reduce is an algorithm which dissolves larger problems into smaller pieces that can be solved in parallel with multiple machines. Google created and publicized Map Reduce. Given the large number of smart mobile devices connected to the internet, it seems possible to leverage these devices using Map Reduce. The limited computational power of an individual device can be compensated for by the relatively small size of many of the tasks. In designing this system they had to solve problems in several areas. First, they had to develop a system by which smartphone users could opt in to this program while staying aware of the effects. Second, they had to develop a system by which problems could be split over this device pool and the results could be aggregated. Finally, they had to make sure results could be transmitted to the requesting party and to make sure this could be done fairly quickly (difficult given the sometimes weak reliability of smartphones and their networks).
From the above figure 2, first, they have a coordinating server which receives problems, distributes them to nodes, aggregates results and returns the results. Second they have a client for a mobile device which receives works on and transmits solutions to sub problems. Third, a browser interface which allows the user to submit problems and view results.
3.4.2 Remote Execution System Model
Remote execution can transform the puniest mobile device into a computing giant able to run resource-intensive applications such as natural language translation, speech recognition, face recognition, and augmented reality. However easily partitioning of these applications for remote execution while retaining application-specific information has proven to be a difficult challenge. Automated dynamic repartitioning of mobile applications can be reconciled with the need to exploit application-specific knowledge. We show that the useful knowledge about an application relevant to remote execution can be captured in a compact declarative form called tactics. Tactics capture the full range of meaningful partitions of an application and are very small relative to code size.
Chroma is a tactics-based remote execution system that performs comparably to a runtime system that makes perfect partitioning decisions. In addition to that Chroma can automatically use extra resources in an over-provisioned environment to improve application performance.
Spectra is a remote execution system for battery-powered clients used in pervasive computing. Spectra enables applications to combine the mobility of small devices with the greater processing power of static compute servers. Spectra is self-tuning, it monitors both application resource usage and the availability of resources in the environment, and dynamically determines how and where to execute application components. In making this determination, Spectra balances the competing goals of performance, energy conservation, and application quality.
3.5 Advantages and Disadvantages of MSCC
3.5.1 Advantages of MSCC
Mobile server cloud computing implements much of the core required functionality including global data access, distributed data processing, scalability, fault-tolerance, and data local computation.
Distributed data processing is provided via Map Reduce implementation, which divides jobs submitted by the user into independent tasks and distributes these tasks to slave nodes, taking the physical location of input data into consideration. These slave nodes execute map tasks on data stored in a file system. As the outputs of map tasks become available, reduce tasks process this intermediate data and write results back to file system. When possible, data that is physically located on a given node is processed on that node, avoiding data transfers.
It is also designed to tolerate fault. Any sufficiently large system faces hardware failures with some expected frequency. File system implements file permissions, which can be used to protect user data from unauthorized access. Therefore mobile server cloud computing applications cover our requirements for scalability, fault-tolerance, and, to some extent, privacy.
Since applications of Hadoop uses abstract IPC interfaces for communication between processes and between physical nodes, it is trivial for different types of machines running Hadoop processes to work together. Therefore Hadoop also satisfies the hardware interoperability requirement.
3.5.2 Disadvantages of MSCC
It implements much of the functionality that our platform requires, but it does not cover all of the requirements. This is mostly because mobile server cloud computing was designed and implemented with commodity server hardware in mind rather than resource constrained hardware.
One problem is that it is not conservative in CPU and memory usage. Hadoop's liberal use of CPU and memory is exemplified by several aspects of its codebase. For example, Hadoop makes heavy use of interfaces and inheritance, which impose computational overhead because of the lookups that are required to determine which function to execute. Android provides several guidelines for writing efficient code, such as avoiding object instantiation, avoiding internal getters and setters, and preferring virtual over interface Android. Mobile Server cloud computing assumes that memory buffers on the order of 100MB can be allocated, such as in map output buffering. This is clearly not the case on mobile devices.
Applications like Hadoop uses technologies that are not well-suited for mobile devices. For instance, it uses XML extensively, which is notoriously expensive to parse. It also uses servlets to serve intermediate results, even though a light-weight custom HTTP server would require less overhead. JSPs, which require dynamic compilation, are used to provide a monitoring interface to DataNodes and TaskTrackers. This inefficiency is magnified on a mobile device.
I have covered identifying objectives of concepts related to Mobile Server Cloud Computing and analyzing it's application models like Hyrax where Map Reducing algorithm is utilized, remote execution systems such as chroma and spectra subsequently compare and contrasting it's benefits and drawbacks.
I would like to pay my sincere gratitude to supervisor of Independent studies, Mr. D.K.Withanage , Dean of the Faculty of Information Technology for his guidance. I am thankful to Mr. Shalinda Adikari, lecturer at Faculty of Information Technology for his enormous support.