In recent years, with the rapid development of mobile communication technology as well as the increasing popularity of mobile devices, such as smartphones, the mobile network infrastructure, has continued to improve. Cloud computing services are no longer limited to the personal computer (PC) but extend to mobile devices. Based on smart terminals for cloud services to mobile devices, such as Apple’s ‘iCloud’ service, Microsoft’s ‘live mesh’ services, and Motorola’s ‘motoblur’ service, a new computing mode, called mobile cloud computing (MCC), has been developed for mobile devices . Juniper Research Company conducted a study from 2009 to 2014 and has reported that by 2015, the annual growth rate of mobile phone software based on cloud computing will reach 88% and the MCC market revenue will reach $9.5 billion. Hence, the MCC application marketspace is believed to have huge growth potential.
However, mobile devices have their own limitations with respect to the central processing unit (CPU) processing power, memory, and battery capacity; these constraints include limited resources, mobile wireless communication bandwidth constraints, and considerably expensive components. Further, most of the existing cloud services do not take into account the features of the mobile client, such as large quantities of data using the simple object access protocol (SOAP) protocol and resolution of the complex extensible markup language (XML) data format, which often leads to relatively large wireless network bandwidth resource consumption by MCC applications and expensive mobile equipment. Therefore, for the extension of the MCC application market, efficient and convenient access to cloud services by mobile devices is an urgent problem to be solved.
In this paper, we present a model of MCC based on intermediate proxy, in which a mobile terminal is connected to the cloud services architecture through an intermediate broker layer in order to realize a mobile environment and cloud service adaptation.
There are several definitions of MCC available. In 2010, Google CEO Eric Schmidt described MCC in an interview by stating that on the basis of the development of cloud computing services, mobile phones will become increasingly complicated and evolve to a portable super computer . We define MCC as follows: MCC is an emergent mobile cloud paradigm that leverages mobile computing, networking, and cloud computing to study mobile service models and develop mobile cloud infrastructures, platforms, and service applications for mobile clients. Its primary objective is to deliver a location-aware mobile service with mobility to users on the basis of scalable mobile cloud resources in networks, computers, storage devices, and mobile devices. Its goal is to deliver such a service with secure mobile cloud resources, service applications, and data using energy-efficient mobile cloud resources in a ‘pay-as-you-use model.’ Fig. 1 shows the conceptual architecture that reflects the definitions of MCC.
From the viewpoint of cloud computing, MCC is an organic combination of cloud computing and mobile computing. If cloud computing can be extended to various aspects of real applications, it will let people overcome time and space constraints; therefore, people will have the opportunity to use a variety of devices (smartphones, PDAs, tablets, etc.) anytime, anywhere, but not just confined to traditional fixed equipment such as PCs to gain quick and easy access to cloud computing and use it to provide various services, which fully embody the advantages of cloud computing.
MCC is an extension of the expansion of mobile computing and cloud computing. In other words, MCC transfers the original intensive computing and large amount of information processing and storage from the mobile computing environment and processes it in a “cloud,” thereby changing the mobile application development, operation, deployment and usage patterns, and considerably reducing the consumption of the processing capacity of mobile devices and the resource requirements of mobile applications.
Mobile computing is the major driving force of MCC. Worldwide mobile application store downloads were forecasted to reach 17.7 billion downloads in 2011. This was a 117% increase from an estimated 8.2 billion downloads in 2010. According to Gartner Group, by the end of 2014, more than 185 billion applications will have been downloaded from mobile app stores .
With the rapid development of wireless network technology, represented by the smartphone of various mobile devices large number to access networks. According to one of the biggest risk investment institutions (KPCB, USA) in 2011, the global shipment of smartphone increased to 413 million, which was more than the total shipment of desktop and notebook computers .
MCC applications are applications that run on mobile devices in the frontend and on a cloud computing service in the backend. Their outstanding characteristic is that cloud computing in the backend is responsible for the main persistent storage calculations, such as tasks, while mobile devices are responsible for some simple calculations, such as show application interface. According to the application environment, MCC applications can be divided into browser-based Web applications and native applications (this article mainly refers to native applications). Currently, a vast majority of application developers can only take advantage of cloud service providers to provide a service interface for service access and return the corresponding results on a mobile device for processing and display. Since most of the existing service interfaces are not designed for mobile devices, the use of MCC applications often leads to larger mobile equipment resource consumption and wireless network bandwidth usage.
Mobile computing storage, batteries, and resource consumption. The processing power and memory of mobile devices were 2 to 8 times lower than those of a normal PC. This creates a bottleneck when mobile devices try to handle a complex process, such as XML data format analysis . Therefore, to solve this issue, a mobile device can access cloud services to transfer a part of computing, storage, and processing operations to a powerful proxy server. Doing so will decrease the consumption of mobile device storage, battery, and resource and increase the response speed of the service.
Wireless network transmission bandwidth restrictions. At present, XML is still the mainstream format used by cloud services for data transmission . However, a large amount of data transmission does not adapt to the limited bandwidth of wireless transmission in the network environment. By using a proxy server, MCC application developers can create a bridge for data transmission format conversion, and consider using smaller volume data transmission formats (such as Java-Script Object Notation [JSON] and object serialization) for transmission, instead of XML, thus saving the cost of communication for mobile users .
Cloud computing service access restricted by resource limitations of a mobile device. Usually, mobile devices do not possess the ability to fit multiple cloud services in a mashup. Further, a mashup request of mobile devices needs to be established in every cloud service, which causes wastage of the resources of both mobile devices and wireless networks. MCC application developers should use proxy servers to establish a mashup of multiple cloud services and then, provide services to mobile devices; by doing so, they will ensure that mobile devices only have to set up a single connection request to multiple cloud services to complete the whole process.
On the other hand, as mobile computing has an inconsistent environment, mobile device users need to frequently change the settings related to cloud services according to the context information; this can at times lead to a service lag. Hence, a proxy server is used to solve this problem. After determining the situation of the mobile devices and collecting the relevant information, the proxy server will determine what services should be sent to different mobile devices according to the data collected. For example, the proxy server can suggest different types of applications to be downloaded depending on the scenario, thereby enabling the mobile devices to exhibit a better performance.
In order to solve the problem stated earlier, in this paper, we propose an intermediate layer to join the middle layer of the MCC model, through the middle layer of the mobile devices and cloud services, to the proxy server in order to enable the access of mobile devices to cloud services, as shown in Fig. 2. Further, in the case of network transmission, there are three levels in the application support and service mode to optimize the access to cloud services. Therefore, the response of MCC application developers is faster, there is increased network traffic, and the application development framework is easier to use.
The intermediate broker layer needs to implement the following main functions: data format conversion, data transmission format from custom data transmission, remote service encapsulation, mashup and active services, etc., as shown in Fig. 3.
1) Data format conversion: Most of the existing cloud services are not designed for mobile devices. The intermediate broker layer converts the XML data to JSON data, which is relatively compressed and simple to parse .
2) Data transmission format from custom: Mobile users are usually interested only in a part of the response results of cloud services. However, they have to pay for the entire set of cloud service response results. Therefore, the MCC intermediate broker layer is used to support application developers, depending on the user’s interest in the response results of cloud services for a custom operation in order to reduce the wireless network traffic.
3) Remote cloud service encapsulation: By encapsulating the underlying access detail of the distal cloud services, we can reduce the threshold of the MCC application development, allowing developers to put in more effort on the business logic of the MCC applications development.
4) Proxy services mashup: The middle layer of the mashup service and development of a uniform access interface for mobile devices can not only decrease the intensive operations of mobile devices, storage, and battery, such as the consumption of resources, but also decrease the number of connection requests to multiple services, thereby decreasing the network traffic .
5) Active service: Through real-time monitoring the execution environment for mobile devices, and according to the changes in the environment, actively push services to mobile devices, so as to improve mobile users’ experience.
From the above discussion, we can infer that an MCC middleware model based on agents is needed for developers to provide a simple, easy-to-use MCC application interface and a series of basic services, and to meet the functional requirements of cloud computing services for providing efficient and convenient access to mobile devices.
As shown in Fig. 4, a mobile application through which the client application development interface offers developers MCC application development tools, realizes the core functionality of the mobile cloud middleware based on proxy.
According to eBay (FindPopularItems API) of two different data format of the response as a result, we constructed two mobile applications access to it, as shown in Fig. 5. One describes a mobile device using the 1-MBps bandwidth of the Wi-Fi access of the eBay FindPopularItems service and presents the service response results for the XML data format; the other describes mobile and mobile devices through the 1-MBps bandwidth of the Wi-Fi access service response results of the eBay FindPopularItems service in the JSON data format.
Through the test, we can get the XML and JSON each service request response time, response the result processing time, request and response flow, the energy consumption of mobile devices as shown in Table 1.
Results of XML and JSON data access
We can infer from the table data that in mobile devices, with respect to the contents of the same cloud service access, the use of the JSON data transmission format can decrease the request and response flow by 30%, provide 17% faster service response time, improve the and response result by providing 47% faster processing time than that of the XML format. Mobile devices can decrease energy consumption by 25%. Compared with the XML data format, the JSON data format in the mobile transmissions has more advantages in the cloud computing environment.
The use of proxy server middleware to access the XML format of cloud services resulted in optimized performance. To add the proxy server, we constructed two mobile applications access to Amazon (ItemSearch API) as shown in Fig. 6.
In Fig. 6, ‘1’ describes a mobile device that has Wi-Fi access of 1-Mbps bandwidth to the Amazon ItemSearch service; the service response result is stored in the original XML data format. ‘2’ describes mobile devices that have Wi-Fi access of 1-Mbps bandwidth to the Amazon ItemSearch service; the service response after the optimization processing by the proxy server are stored in the JSON data format, as shown in Table 2.
Results of XML and JSON data optimization
From the above analysis, we can conclude that mobile devices via the use of proxy server middleware to optimize the XML data format of cloud services access from direct access experience 92% savings on request and response flow, faster response results with a processing time of 9.89 seconds, and 18% savings on energy consumption; the delay between service request creation and response times is 4.85 seconds.
Through the above experiment, we can see that the use of proxy service middleware considerably simplifies the development of MCC applications. Thus, efficient access to cloud services is realized by MCC.
With the rapid development of smart mobile terminals and cloud computing, a substantially increased number of users are expected to enjoy cloud services in the future by using mobile devices, and therefore, how to provide a better user experience has become an increasingly important research topic. In this paper, we discussed in detail, the status of MCC in today’s development scenario, described the related problems and challenges, and proposed a corresponding solution. Here, we proposed an agent-based MCC model that can provide access to cloud services by means of an intermediate proxy transport protocol and the data format of bridge transformation at the wireless network bandwidth. Experimental results show that this model is very effective. MCC is a research hot spot, and in the future, we intend to improve the user experience of mobile devices by enabling a more efficient access to cloud services.