CRITICAL ANALYSIS OF PERFORMANCE OPTIMIZATION OF MOBILE WEB SERVICES IN CLOUD ENVIRONMENT
Anil Dudhe1 *, Dr. S S Sherekar2, Dr. V. M. Thakare3
1Research Scholar, SGBAU, Amravati
2Professor, Computer Department,
3Professor & HOD, Computer Sci. and Engg. Department,
Abstract: In today’s world of science ; technology mobile device especially Smartphones are playing the role of Jinn which fulfill demand of user. Internet facility available in Smartphone allows everyone to access various internet based web services ubiquitously. Web Services can be of two types SOAP or Restful services. Research survey says that SOAP based services are heavy to consume on mobile device though they are still used by most of the companies but answer to this challenge is Restful Web Services. Restful services also surfers from many problems like processing of work or accessing services on device due to mobile phone’s small screen size, low processing power, less memory storage capacity etc. That’s why the heavy processing work is shifted on Cloud and only client part will be on mobile device, this integration is called as Mobile Cloud Computing (MCC). In MCC important point is to improve the performance of web services in terms of speed, memory usage and reducing latency. We have divided this paper is into two parts, in the first part; we did comparative analysis of Web Service consumption on mobile devices using cloud and various parameters used. In second part we have proposed architecture for mobile Web Services in Cloud which compress response data using Gzip and use of web caching to reduce overhead of repeated or previously accessed Web Service.
Keywords: SOAP, RESTful, Cloud computing, Mobile Computing, Caching, Compression
Through Mobile Cloud Computing (MCC) we are getting all benefits of cloud computing and Mobile network operators. MCC made independent of hardware and software equipment, and increased accomplish. MCC gives many benefits among the few listed below 1:
Allows sharing of information and/or applications at very low cost or free of cost.
Addition of Cloud features and functionalities, mobile devices become smart and enriched.
Due to shifting of all processing on cloud, improved life of the battery and also processing power;
Huge data can be handled and stored.
All these features have changed normal Mobile to Smartphone.
To improve the performance of mobiles devices many techniques have been implemented by researchers like caching, compression, middleware, offloading etc. The compression and caching are the main technique that middleware rely on it. The both technique are created in the middleware and the mobile device. The middleware caching or server side caching is responsible for providing last saved results in case of cloud service is not availability due to loss of internet connection or due service provider issues, whereas the client side cache is in the mobile device. It is used for showing the last results in case of internet connection unavailability 2. The additional feature of notification is also provided through the middleware to notify once the mobile device comes into the range.
There are several challenges in accessing the Internet/Cloud based Services from the existing mobile clients 134. The following two issues are also consider in this paper.
Connection interruption: Due wireless connectivity and mobility, Smartphones may go disconnect for a moment and come back again and rejoin available network.
Latency/ Bandwidth Problem: Latency is the delay from input into a system to desired outcome; many existing Web Services are slow in processing due to HTTP, SOAP/XML or Network overhead. Therefore need a good architecture to prevent unexpectedly poor performance due to the latency of the web services consumption failures.
We have divided this paper into two parts, first comparative analysis of Web Service consume on mobile devices using cloud and various parameters used. In second part we are implementing mobile Web Services in Cloud using Gzip compressing and to reduce Web Services requested message using cache. Caching will help in above said problems. The proposed approach is concerned with optimizing the request behavior rather than the request structure to achieve the efficient web services through Mobile Cloud Computing.
The rest of the paper is organized as follows: In Section 2, related work are discussed, Section 3, proposed architecture MCC for mobile web services with compression and caching, Section 4 Analysis, Section 5, Conclusion.
In 1 author has proposed a middleware approach for optimizing the behavior of the request to achieve the REST web services consistency through mobile cloud computing. The middleware has two parts: one for the mobile client and the other in gateway between the mobile client and the cloud service side. They have embedded the caching to reduce the request timeout problem and reduce the overall requests to the cloud services and tested the most countable factors including: request size, response size, and consuming time
In 2 author has investigated the challenges in mobile web services consumption from two perspectives: First one is limitations of ubiquitous device i.e. mobile device and another is limitations in network connectivity from Mobile side and Cloud service provider side. Also mentioned the network bandwidth restraint and untrustworthy wireless network are decreasing the overall support for web services consumption on mobile devices.
From literature survey given in table 1 it is clearly mentioned that researchers have used caching or compression but not both for enhancing the Web Service performance. In this paper we are trying to achieve good performance by using both techniques simultaneously. Brief about compression and caching:
Data compression is a technique that consists of stream of characters and converts them into codes. An effective management of compression will give you smaller output than original symbols passed. Most popular compressions algorithms used are either Gzip or Deflate. Here we are using Gzip, which is most efficient and gives good relations between speed and compression. Gzip also supports the HTTP protocol, which is mainly used by RESTful web services 56.
Gzip algorithm is the combination of Huffman coding and LZ77 compression. LZ77 algorithm replaces all redundant data with specific allusion, which is suitable for the structure of the XML or JSON 5.
Sometime due to mobility or wireless connection there may be chances of getting interruption in the network connectivity but Caching will maintain cloud services availability even they are not connected with internet services. Caching can be set up on the client and/or the server-side. This can be also possible to set up a proxy server between them. HTTP has built-in support for caching. So we can add a caching layer without making any code changes. Caching can be controlled by Header parameters 57.
Caching is extremely useful for relatively static web contents because they may not change for a long time. Cloud computing uses web services for communication or message exchange that is network-oriented applications 8. Cloud computing enhances scalability, consistency and efficiency of services and data. Also allows the deployment of mobile applications 9. Therefore, the consumption of these services and information is affecting Smartphones to gradually become the effective client platform to consume
SOAP suffers from overhead problem which REST services has minimized through use of HTTP request and response 10 According to 11, integrating RESTful web services with other technologies such as caching provides good system scalability and performance. The RESTful web service architecture is client-server architecture which is stateless due HTTP support. Information exchange is done through standardized interface and protocol. These principles promote REST applications to be simple, lightweight, and have high performance in execution of Web Services. Because REST has resolved the issues of SOAP, the mobile communications becomes superior.
Also in 21213, the authors have endeavor to overcome the heavy SOAP requests by converting them to lightweight requests i.e. Restful. In 4, the author did two things to optimize the request and response time of web services. In the first approach if request is SOAP based, the middleware converts the SOAP to REST request then converts its XML response output to JSON format. In approach author have created a caching module at both client side as well as server side (in middleware).
PROPOSED MCC ARCHITECTURE:
As mentioned in proposed architecture (as shown in above fig) compression is implemented on middleware server. It has an MVC architecture and implements compression and caching to optimize the performance of mobile web services. A compression algorithm is used for compressing, the request and the size of the output, which is called as effectiveness of compression.
Reducing response of web services:
If the amount of data transfer is reduced we can achieve the rapid delivery of the required services and at the same time also reduces the use of system resources. There are many methods for reducing the amount of data without losing a part of the transmitted information as discussed below:
Fig: 1: Request Header
Data compression is a technique that consists of stream of characters and converts them into codes. An effective management of compression will give you smaller output than original symbols passed. Most popular compressions algorithms used are either Gzip or Deflate. Here we are using Gzip, which is most efficient and gives good relations between speed and compression. Gzip also supports the HTTP protocol, which is mainly used by RESTful web services 56. Gzip algorithm combines Huffman coding and LZ77 compression. LZ77 algorithm replaces all redundant data with specific allusion, which is suitable for the structure of the XML or JSON 5.
It is a process of eliminating all unwanted characters like newline, space, comments and other notations etc from the source information of the message without changing its structure or functionality 14. XML and JSON supports minification, to reduce the size of the message, but at the same time makes it difficult for human reading.
Source code obfuscation
It is a process of defining the schema which major purpose is to minimize the size of the defined “response” notations. In schema designing it substitutes shorter names of the tags or keys in XML or JSON by encoding and decoding them, which reduces the size of the message and makes its delivery easier 15.
Our focus in this paper is to use of the compression method. When a client is sending request to process the compressed content, server sends the “Accept-Encoding” header which specifies the type of compression with the request.
When a server sends compressed content, it will inform by the “Content-Encoding” header on how the compressed response is encoded.
Fig: 1: Result of Request Header
When using a web Services information from the cloud, two things are very important: speed and efficiency. While designing web services, caching request enables to improve the required information access time since it reduces the network traffic. As a result, web caching enables to raise the performance and scalability of applications since it is a method that optimizes the speed of an application. Various technologies uses various different approaches like, HTML5 has offline web application API (App Cache)
Fig 3: MCC Architecture
Table 1: Comparative analysis survey showing performance improvement of Cloud based Mobile web services.
Ref. No. Title Author Publisher/Journal and year Approach Caching Compression Technologies Parameters Service Type Outcome
Server Side Client Side Response Time Throughput SOAP REST 1 RSAM: An enhanced architecture for achieving web services reliability in
mobile cloud computing Amr S. Abdelfattah, Tamer Abdelkader, EI-Sayed M. EI-Horbaty ScienceDirect, 2017 Designed Middleware as two components: one
in the mobile client side and the other in gateway between the
Mobile client and the cloud service side. Yes No No RESTfu, JSON, Glassfish Server, MySQL, Hibernate Framework Yes Yes No Yes Achieved Reliability in Web service consumption using RSAM The time out issue occurs in the heavy computation
2 Reliable Web Se rvices Approaches of Mobile Cloud
Computing: A Comparative study Amr S.Abdelfattah, Tamer Abdelkader, and EI-Sayed M. EI-Horbaty IEEE, 2015 Middleware and Mobile Agent approach Yes Yes No Not Mentioned Yes Yes No Yes Reliable Web service consumption by mobile devices. Additional resources are needed to build middleware
3 Enhance the Interaction Between Mobile Users
and Web Services using Cloud Computing Atul M. Gonsai and RushiR. Raval ORIENTAL JOURNAL OF
COMPUTER SCIENCE ; TECHNOLOGY, 2014 Design cross platform architecture for increasing the interaction between mobile clients and Internet based Web Services.. Yes Yes No PHP, JSON, CSV, GAE, Cloudsim Yes No Yes Yes Communicating with existed as well as new web services with improvement in response through cache. Not mentioed
5 Tagged-Sub Optimal Code (TSC) Compression for Improving Performance of Web Services Iehab Al Rassan and Haifa Alyahya Science Direct, 2015 Compressing SOAP using TSC and Huffman Encoding Algorithm for improving performance No No Yes Not Mentioned Yes No Yes No Increased the speed of compressed SOAP WS using TSC compared with normal WS. All compressing algorithm never gives the same feature in improving performance
6 WEB SERVICES FOR MOBILE COMPUTING Piyush M.Patil, Kushal Gohil, and Rohit Madhavi International Journal of Advanced Research in Computer Engineering ; Technology, 2012 Developed a cross-platform architecture for connecting mobile devices to the WS
Yes Yes Yes JSON, XML,GAE, Amazon EC2 No No Yes Yes Evaluated the optimization/adaptation, overhead of the middleware. Adaptation is needed for mobile clients to interact with WS
7 A Mobile Cloud Middleware to Support Mobility and
Cloud Interoperability Khadija Akherfi, Hamid Harroud and Michael Gerndt IEEE, 2014 Developed Middleware to provide mobile user data storage and processing services. Yes No No `JSON, XML Yes No Yes Yes MC middleware improves the QoS for mobile ; lightweight response to mobile cloud. Focus only adaptation of mobile WS.
16 Performance Analysis and Design of a Mobile Web Services on Cloud Servers Rushi Raval, and Dr. Atul Gonsai International Journal of Emerging Technology and Advanced Engineering, 2015 Integration of r-restful-client? / r-soap-client? apps on cloud based environment to another r-restful-ws? app on different cloud-platform / Webserver by consuming SOAP based and RESTful based WS. Yes No No PHP JSON, HTML, CSS, CSV, GAE, Heroku, WAMP Server Yes No Yes Yes REST with JSON has shown better performance compared to SOAP Overhead connected with middleware decreases bandwidth.
12 Enhancing Interaction between Smartphones and Web Services on Cloud for Improved Bandwidth and Latency Mandeep Singh , Kanwalvir Singh Dhindsa International Journal of Computer Science and Mobile Computing Designed the middle ware architecture to improve interaction between mobile clients and Cloud Services, for e.g., adaptation, optimization and caching. T Yes No No Android, MS Visual Studio 2008, Glassfish and IIS Server Yes No Yes Yes Improve performance of REST compare with SOAP Encoding and decoding XML message consumes more resource.
17 Next Generation Mobile Application in Cloud Computing using RESTful Web Arvind D Meniya and Prof. H.B.Jethva Int.J.Computer Technology ; Applications (IJCTA), 2012 evaluate the performance of RESTful web
services compared to the performance of conventional
SOAP web services for mobile devices. No No No` Java, Eclipse Indigo, Android SDK, MS Visual Studio, Glassfish, IIS Yes No Yes Yes Reduced message size and response time SOAP is heavy even on cloud
Amr S. Abdelfattah (et.al.) 1, designed Middleware having two components: one in the mobile client side and the other in gateway between the Mobile client and the cloud service side using Restful web services, JSON, Glassfish Server, MySQL, through Hibernate Framework and through client side caching achieved reliability in Web service consumption using RSAM. They found the time out issue occurs in the heavy computation.
Amr S.Abdelfattah (et.al.) 2 have designed two different approaches, middleware approach with objective that will converts the heavy request to lightweight to minimize the request time and communication overhead and another one is Mobile Agent approach whose objective is continuously execution of request even if the disconnection between the mobile device and the cloud service is occurred using client side as well as server side caching and Restful web services and result are tested on mobile devices which have shown reliability in web service consumption by mobile devices. They said to achieve this result some additional resources are needed to build the middleware. They have implemented the caching module in the middleware as well as in the mobile device, the middleware caching was responding with the last saved results in case of cloud service unavailability, and the cache in the mobile device is used for showing the last results in case of internet connection unavailability.
A. Gonsai and R. Raval 3 ,have designed a cross platform middleware architecture was acting like as proxy for increasing the interaction between mobile clients and Internet based Web Services using PHP and tested on Google App Engine and also simulated the result on Cloudsim tool. The resultant data were collected using JSON and CSV format from Mobile as well from Computer System. The existed SOAP based services are converted to Restful to improve the response time of services. With the help of client side as well as server side caching improved the response time. The problems due to network connectivity, network latency and optimized output are achieved through caching, converting SOAP to light-weight Restful services and converting service result from XML to JSON respectively.
I. Rassan and H. Alyahya 5 developed SOAP web services and compressed them using Tagged Sub-optimal Code (TSC) and Huffman Encoding Algorithm for improving performance. The result of experiment shows that compared to normal web services and web-services compressed using Huffman encoding; the TSC compressed services are good and increases the performance of web services Authors have observed that Huffman algorithm has achieved good compression ratio when it is applied to SOAP message compared to TSC but, time encoding and decoding in web services using TSC is faster than using Huffman technique. In the final results web-services using TSC achieved better performance compared to Huffman algorithm and normal web services.
P. Patil (et.al) 6 have developed cross-platform architecture for connecting mobile devices to the Restful and SOAP Web Services using JSON, XML and tested its result on Google App Engine and Amazon EC2. This is based on middleware for improving the interaction between mobile users and Web Services. The middleware has implemented caching to enhance the performance of the Cloud Services whether they are SOAP or RESTful WS and delivers the service result to the mobile client.
Khadija A. (et.al.) 7 have also developed a middleware approach to provide mobile user data storage and processing services MCC. Also have described how middleware provisioning of Cloud WS which translates SOAP services to light-weight Restful and data exchange from XML format to JSON format. As the experiment conducted here they could optimize result by extracting relevant information and also improves the availability of cloud services in case loss of network connectivity using caching technique. They have tested e-Bay services with caching and without caching through middleware and absence of middleware and collected the result. Result shows that Restful will be much better than SOAP in term of delivery and response time. Also they say that the use of Optimized XML with Restful gives better results compared to RESTful with normal XML. And finally concluded with RESTful and JSON performs better than any other tested combination or variation.
R. Raval, and Dr. Gonsai 16 Integrates r-restful-client / r-soap-client apps on cloud based environment to another r-restful-ws app on different cloud-platform / Web Server by consuming SOAP based and RESTful based WS.
Researchers have designed web services with entirely different model having three layers such as, User-Interface (UI), controller method and cache-manager in it to communicate data context using different cloud servers. Designed web services are tested on Apache (WAMP) Server, Windows Phones, as well as on Cloud servers such as Google App Engine (GAE) and Heroku and result has shown that the RESTful based WS are better in performance than SOAP based WS.
M. Singh and K. Singh 12 have designed middleware cloud architecture to provide a proxy for mobile clients connecting to Cloud services. The middleware is developed using PHP which uses MySQL as a data storage. The middleware developed is based on three platforms Webserver with Apache Platform, virtual machine and Google Application Engine (GAE). They have also used Tsung a load generator tool for checking the performance services for concurrent users and Cloudsim simulation tool to simulate the results for cloud. To conduct the experiment Sadelok News Portal provides both SOAP and RESTful WS interfaces was used which compares the overhead associated with different WS interactions. Various experiments have been conducted by researchers like optimized vs non-optimized, Restful vs SOAP protocol using XML and JSON. Restful with RJSON have shown better result in all comparisons.
A. Meniya and Prof. H.B.Jethva evaluated the performance of RESTful web services compared to the performance of conventional SOAP web services for mobile devices by deploying them on glassfish application server as well as on IIS 7. Researchers have implemented three benchmarks using three different data types as parameters to the web service: float data type, string data type and integer data type and measured a total session time and a message size of service call. Here also the performance evaluation results have shown the better result in terms of less message size and less response time using RESTful web services over conventional web services for mobile devices. The hosting of RESTful web services in the cloud environment will also improve the performance. Therefore, RESTful offers a perfectly good solution for the majority of implementations, with higher flexibility and lower overhead with mobile cloud computing.
All above analysis result states that Restful web services are better in performance in terms of message size, response time and when used caching will improves reliability and scalability.
In the above survey we have observed that compression will reduces the size of request and caching the compressed request will give many advantages including an improved performance of mobile web services in Cloud apart from that improves the response time of response of web services as well as services reliability, availability will enhance.
The proposed architecture should give following results:
A caching should reduce the latency as the cache is naturally much nearer to the client than the provider of the content.
A caching should also reduce the network traffic as service pages are served from the cache.
Also should reduce the number of requests on the content provider.
All these will surely improve the speed, memory usage and reduces the latency. The demand of Mobile Cloud Computing is increasing so in future to enhance the architecture and caching feature good algorithm based on standard caching algorithms like LRU, LFU, Optimal Page Replacement etc can be designed.
Amr S. Abdelfattah, Tamer Abdelkader, EI-Sayed M. EI-Horbaty, “RSAM: An enhanced architecture for achieving web services reliability in mobile cloud computing” Journal of King Saud University – Computer and Information Sciences, Publisher Elsevier BV ISSN: 1319-1578, Pages 164- 174, Vol 30, issue 2 2018.
A. S. Abdelfattah, T. Abdelkader and E. S. M. EI-Horbaty, “Reliable web services approaches of Mobile Cloud Computing: A comparative study,” 2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS), Cairo, 2015, pp. 217-223.
Gonsai A. M, Raval R. R. “Enhance the Interaction Between Mobile Users and Web Services Using Cloud Computing”,. International Journal of Computer Science and Mobile Computing (IJCSMC) Vol.2, Issue 2014, Page 177-185.
Yi Liu; Xuanzhe Liu; Yun Ma; Yunxin Liu; Zibin Zheng; Gang Huang ; M. Brian Blake, “Characterizing RESTful Web Services Usage on Smartphones: A Tale of Native Apps and Web Apps”, IEEE International Conference on Web Services (ICWS),Page(s): year 2015, 337 – 344,
Iehab Al Rassan, Haifa Alyahya , Tagged-Sub Optimal Code (TSC) Compression for Improving Performance of Web Services ,The 2015 International Conference on Soft Computing and Software Engineering (SCSE 2015), San Francisco, USA 5-6 March 2015, Volume 62, 2015, Pages 167-169.
Piyush M.Patil, Kushal Gohil , Rohit Madhavi, “WEB SERVICES FOR MOBILE COMPUTING”, International Journal of Advanced Research in Computer Engineering ; Technology Volume 1, Issue 3, ISSN: 2278 – 1323,May 2012,
Akherfi, Khadija ; Harroud, Hamid ; Gerndt, Michael, “A mobile cloud middleware to support mobility and cloud interoperability:, International Conference on Multimedia Computing and Systems, ISBN: 978-1-4799-3824-7, IEEE, 2014,
Elgazzar K., Martin P., Hassanein H., “A Framework for Efficient Web Services Provisioning in Mobile Environments”, International Conference on Mobile Computing, Applications, and Services MobiCASE 2011: Mobile Computing, Applications, and Services pp 246-262, vol 95. Springer, Berlin, Heidelberg.
Christensen, J.H., “Using RESTful web-services and cloud computing to create next generation mobile applications”, In: Proc. 24th ACM SIGPLAN Conf. companion Object oriented Program. Syst. Lang. Appl., pp. 627–634., 2009
Lomotey, R.K., Deters, R., “Reliable consumption of web services in a mobile cloud ecosystem using REST”, In: Proc. – 2013 IEEE 7th Int. Symp. Serv. Syst. Eng. SOSE 2013, pp. 13–24.
R. Fielding, R. Taylor, Erenkrantz, Gorlick and Whitehead, “Reflections on the REST architectural style and principled design of the modern web architecture,” in Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, ESEC/FSE’17, Paderborn, Germany 2017, ACM ISBN 978-1-4503-5105-8/17/09.
Mandeep Singh, Kanwalvir Singh Dhindsa, “Enhancing Interaction between Smartphones and Web Services on Cloud for Improved Bandwidth and Latency”, International Journal of Computer Science and Mobile Computing (IJCSMC), Vol. 2, Issue. 4, April 2013, pg.177 – 185.
A. COBARZAN, “Consuming Web Services on Mobile Platforms,” Inform. Econ., vol. 14, no. 3, pp. 98–105, 2010.
Victor Agababov, Michael Buettner Victor Chudnovsky Mark Cogan Ben Greenstein Shane McDaniel Michael Piatek Colin Scott† Matt Welsh Bolian Yin, “Flywheel: Google’s Data Compression Proxy for the Mobile Web”, 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI ’15), Google Inc., ISBN 978-1-931971-218.
Yuan Zhang ; Chunxiang Xu ; Xiaohui Liang ; Hongwei Li ; Yi Mu ; Xiaojun Zhang, “Efficient Public Verification of Data Integrity for Cloud Storage Systems from Indistinguishability Obfuscation”, IEEE Transactions on Information Forensics and Security , Volume: 12, Issue: 3, 2017
Dr. Atul Gosai, Mr. Rushi Raval, “Performance Analysis and Design of a Mobile Web Services on Cloud Servers”, International Journal of Emerging Technology and Advanced Engineering (IJETAE), ISSN Number: 2250– 2459(Online), an ISO 9001:2008 Certified Journal, JIF: 2.913, Volume 5, Issue 9, September 2015, Page: 104-113.
Arvind D Meniya, Prof. H.B.Jethva, “Next Generation Mobile Application in Cloud Computing using RESTful Web Service” Int.J.Computer Technology ; Applications,Vol 3 (3), 949-952, 2012.