0% found this document useful (0 votes)
48 views15 pages

Design and Implementation of An Efficient Multi Cloud Storage Approach For Resource Constrained Mobile Devices

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views15 pages

Design and Implementation of An Efficient Multi Cloud Storage Approach For Resource Constrained Mobile Devices

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Cluster Comput (2019) 22:S13143–S13157

https://doi.org/10.1007/s10586-017-1296-3

Design and implementation of an efficient multi cloud storage


approach for resource constrained mobile devices
Rajeev Kumar Bedi1 · Jaswinder Singh1 · Sunil Kumar Gupta2

Received: 28 July 2017 / Revised: 13 September 2017 / Accepted: 26 October 2017 / Published online: 6 November 2017
© Springer Science+Business Media, LLC 2017

Abstract In todays scenario of Big Data, to reduce data 1 Introduction


management and maintenance cost, many companies and
users starts shifting their data to cloud. To store or access Cloud storage is one of the main services offered in cloud
data from remote storage (cloud storage) by using a desktop computing, in which users can store their valuable data to
device as PC is not a problem but as the demand of smart cloud servers. It has a lot of advantages as cost, security,
mobile devices is increases day by day as compared to desk- automation, accessibility, syncing, sharing, protection and
top devices if user want to store or retrieve data from cloud recovery. There are a lot of cloud storage providers (CSPs)
storage using these mobile devices, it will consume a lot of available in market as Drop Box, G Drive, One Drive, etc. All
resources of mobile device. Which is the main issue as mobile of these providers are providing a very limited free storage
devices have limited resources as battery, CPU, memory, etc. and for more storage, user has to pay charges to these stor-
To deal with the free limited storage issue, a lot of multi age providers. The comparison table of different CSPs with
cloud storage systems are available but none of them is capa- their storage plans are described in Table 1. It is very much
ble to save resources of mobile devices as battery, CPU and clear from Table 1 that the free storage provided by different
data (Internet) usage. So there is a need of an efficient multi providers is very less and the cost of paid service is much
cloud storage approach that will consume fewer resources of more as the user has to pay the rent monthly or annually.
mobile devices. In this paper, we are proposing design and One more thing is worth to mention here is that, if a user will
implementation of an efficient multi cloud storage approach depend only on single CSP, he will get very less free storage,
for resource constrained mobile devices that will consume however as per [9], consumer will store more than a third
fewer resources of mobile devices and give better results in of their digital content in cloud by end of 2016 and typical
terms of battery consumption, CPU usage and data usage. consumer always prefer free services. Besides this, there are
other issues that will be faced by user, if he will depend on
Keywords Cloud storage · Multi cloud storage · Mobile single CSP as vendor lock-in, data loss, data corruption and
devices · Data usage · Battery consumption · CPU usage frequent service outage issue [10]. To evade these issues, the
concept of multi cloud storage introduced. It is a technique in
which one can use multiple cloud storage services on a single
platform. By using this, the free storage space will increase
instantly as the user will get free storage from all CSPs that are
part of that multi cloud storage system that the user is using.
There are many such multi cloud storage systems available
B Rajeev Kumar Bedi in market, which work well for desktop devices where there
[email protected]
is no limitation of resources [19]. But when these multi cloud
1 Department of Computer Engineering, Punjabi University, storage systems are accessed using mobile devices, they are
Patiala, India consuming a lot of resources of mobile devices, which will
2 Department of Computer Science and Engineering, BCET, degrade the mobile device performance as mobile devices
Gurdaspur, India have limited resources.

123
S13144 Cluster Comput (2019) 22:S13143–S13157

Table 1 Comparison between several popular consumer cloud storage


services [1]
Cloud service providers Storage plans

iCloud 5 GB free storage


Drop Box 2–16 GB free storage
G Drive 15 GB free storage
Fig. 1 CoSMIC multi cloud storage architecture
One Drive 15 GB free storage
Box 10 GB free storage
Media Fire 50 GB free storage

The remainder of the paper is organized as follows. Sec-


tion 2 summarizes the motivation and challenges for the
proposed work, Sect. 3 described the literature survey, Sect. 4
summarizes the existing multi cloud storage systems, Sect. 5
describes the issues in existing multi cloud storage systems,
Sect. 6 describes the proposed approach, implementation of
proposed approach is presented in Sect. 7, Sect. 8 describes
the simulation setup, Sect. 9 describes the experimental
results and the performance analysis of proposed system,
Sect. 10 describes results in mobility mode and Sect. 11
describes the conclusion and future scope. Fig. 2 Multi cloud storage architecture

2 Motivation and challenges


resources of mobile devices, save user’s cost and improve
the usage of cloud storage on mobile devices. We are
Our endeavors in this work is to design and implement an
developing this system for mobile devices as the sale
efficient multi cloud storage approach for mobile devices,
of mobile devices is much more as compared to desktop
which will help to save mobile device resources as battery,
devices [3] and their main feature mobility by which user
CPU and data usage, etc. As we know, energy and data are
can access his data anywhere/anytime.
the vital resources, so proposed system will be beneficial for
following stakeholders.

– End mobile user, who will store his valuable data on 3 Literature survey
cloud. He will get privacy benefit and economic benefit.
– Application developer, who will connect their application In this section, different multi cloud storage architectures
to our proposed system. He will get platform and pro- proposed by different authors with their objectives and limi-
gramming language independence, save time and money. tations are discussed.
– CSP, which will allow us to connect to their service. Ser- Duro and Blas [8] proposed a hierarchical cloud storage
vice provider will be benefited ad there is no need to system (CoSMIC) based on multiple I/P caching layers for
write application programming interface (API) in every resource-constrained mobile devices as shown in Fig. 1. This
programming language they can simply provide API in design is based on the Memcached cache system. The authors
one language rest will be abstracted from programmer. designed this to minimize input/output latency of existing
Another benefit is that, user will not change cloud ser- mobile cloud solutions.
vice if he require some more free space and do not want Reddy and Raju [23] proposed a multi cloud storage
to spend on paid service. model, which is secured and cost-effective as shown in Fig. 2.
– Service provider that is us. We will get benefit as we can It divides the data among the available service providers, to
push advertisements like Google Ad words which can improve data availability and security. The objective of paper
leads to much higher revenues. is to provide a decision model to the cloud computing user
that he can secure his data by dividing the data to different
Hence, the main objective of our proposed system is cloud service providers.
Luan and Gao [21] proposed a Fog Computing architec-
– To develop an efficient and secure multi cloud storage ture, which extends the cloud computing concept by adding
approach for mobile device users that will consume less an extra layer (Fog layer) b/w cloud and mobile devices and

123
Cluster Comput (2019) 22:S13143–S13157 S13145

created a three layer Cloud-Fog-Mobile hierarchy to provide Wi-Fi network. In this, a file of size 50.11 MB taken to upload
fast services to mobile users. The intermediate layers (Fog on three cloud storage supported by different MCS systems
layer) contain servers and are deployed at local premises of as Drop Box, G Drive and Media Fire and compare above
mobile users as coffee houses, parks, railway stations, bus mentioned multi cloud storage systems on the basis of param-
stands, etc., so that they can provide storage, communication eters CPU usage, data usage, battery consumption and time
and computational resources in the nearby location of mobile consumption. It was concluded that none of the existing multi
users and provide fast services to mobile users. cloud storage systems is best in terms of all the resources.
Alqahtani and Mostefaoui [2] proposed an approach based Multi cloud storage prototype is performing better in terms
on a multi-cloud scheme that provides secure data storage of data usage, ES File Explorer is efficient in case of bat-
for MCC users. Techniques like cryptography and compres- tery consumption. It shows that different multi cloud storage
sion are used in this approach for the security of distributed applications are better in terms of different parameters.
data. In this, data is divided into parts which are distributed Bedi et al. [6] studied and analysed four MCS systems,
to different clouds and one part is stored on mobile device Otixo, UnClouded, Cloud Fuze and Clouds and evaluate their
memory, which will prevent unauthorized access to data if performance on the basis of CPU usage, battery consumption,
other distributed parts have been captured or phished. time consumption and data usage parameters on 4G network
Slamanig and Hanser [25] discussed distributed cloud using three mobile phones Nexus 5, Moto G and Nexus 7
storage systems which provide a combination of different tablet. In this, a file of size 116 MB has been taken to upload
CSPs called multi-cloud or cloud of cloud approach. In this on a cloud storage system as Drop Box, G Drive, etc., and
paper, the author discussed two approaches for storing data compares the above mentioned multi cloud storage systems
(a) to copy the same data on all CSPs to improve the availabil- for parameters battery consumption, CPU usage, data usage
ity of data by increasing redundancy. (b) To split the data and and time consuming. Finally, open research challenges and
store the splitter n parts onto different CSPs. The authors also future scope are discussed. From results, it may be concluded
discussed that even with many advantages of cloud storage; that if one multi cloud storage system is consuming less bat-
there are still some problems that hinder the user from using tery, at the same time it is consuming more other resources as
their services. One of them is security and privacy. As per CPU, data, etc. So, it is clear from above comparison that an
the authors, despite the high availability guarantee of cloud, efficient multi cloud storage system is required for resource
outages occur in practice and to avoid this risk, the concept constrained mobile devices, which will devour less resources
of multi-cloud introduced. of mobile devices and give better results.
Pasupuleti and Ramalingam [22] described that as out-
sourcing data on the cloud has many advantages but it
has many issues like the privacy of sensitive data. As per 4 Features of existing multi cloud storage systems
the author, one way to protect the privacy of data is to
encrypt it before outsourcing but the application of encryp- In this section, some of the existing multi cloud storage sys-
tion algorithms on resource constrained mobile devices tems for mobile devices are discussed with their features [4].
is very resource consuming that will degrade the device
performance. So author proposed an efficient and secure 4.1 ES File Explorer
privacy preserving model based on probabilistic public key
encryption and ranked multi keyword search for resource It is a multi cloud storage system for Android mobile devices
constrained mobile devices. Using which users data stored and desktop PC, which is used to manage files and programs.
in the cloud is safe regarding privacy concerns. In this, a list It has a lot of features and support G Drive, Drop Box, One
of files and an index for files is prepared and encrypted for Drive, etc., cloud storage services [11]. Different features are
storage in the cloud. Then a list of trapdoors is generated and
sent to the cloud for search of required keywords. The server – The GUI is very simple just like Windows PC.
will check the encrypted files according to the trapdoors sent – It supports simultaneous uploading/downloading from
by the authorized user and return the required files to the user. multiple cloud services.
Kavitha and Kumar [20] observed that in the case of single – User can perform create and delete operations to cre-
CSP, there are drawbacks of non-availability of data, vendor ate/delete new files or folders.
lock-in problem, security, and privacy problem. So author – User has the facility to cancel the command for files in
proposed a security mechanism for secure cloud storage with queue.
multi-cloud architecture. – It allows users to create password for a file or folder.
Bedi et al. [5] studied and analysed three MCS systems – User has the facility to hide the files.
multi cloud storage prototype, ES File Explorer, Cloud Cube, – It provides the facility that user can transfer the files via
by installing them on Sony Xperia mobile phone and by using local area network.

123
S13146 Cluster Comput (2019) 22:S13143–S13157

Table 2 Comparison chart of


ES File Explorer Cloud Cube Otixo Mult Cloud
features of multi cloud storage
systems File splitting/joining No No No Yes
File encryption/decryption No No No Yes
Auto sync No Yes No Yes
Simultaneous transfer Yes No No Yes
Queuing No Yes Yes Yes
Uploading queue Yes Yes Yes No
Pause upload No Yes Yes No
Cancel upload Yes Yes Yes No

4.2 Cloud Cube 5 Issues in the existing multi cloud storage systems
for mobile devices
Cloud Cube is a multi cloud storage system for Android
devices, which supports G Drive, One Drive and Drop Box In this section, issues of existing multi cloud storage systems
cloud storage services [12]. Different features are are discussed. The major issues are

– Storage issue as discussed earlier, available CSPs as Drop


– User can upload entire folder or files individually.
Box, G Drive, Box, One Drive, etc., are providing inade-
– In this, files in cloud and local storage of mobile device
quate free storage (2 to 15 GB). Ross [24] described that
are indexed and user can search from both.
smart mobile phones have HD cameras, which captures
– It supports auto sync facility.
HD data and consumes lot of storage. Even user is inter-
ested in capturing HD photos, videos and other types of
4.3 Mult Cloud (multi cloud storage prototype) data, which requires more free storage as the cost of paid
storage is much more, which will act as a encumber to
Multi cloud storage prototype is a file explorer which has the normal user.
the capability of managing the files on the cloud. It supports To increase the free storage, in existing multi cloud stor-
Google Drive and One Drive, etc., cloud storage services age systems, services of different CSPs are integrated in a
[18]. Different features are single system instead of installing different cloud storage
systems in mobile device because there management is
– It supports 26 cloud storage services, which allow users difficult as compared to one multi cloud storage system
to access their files from single interface. but the main issue in existing multi cloud storage sys-
– User can move the files to different folder in the same tems is that they are providing just an interface to access
cloud. multiple cloud storage services. By this, the management
– User can change the name of files and folders. of these different CSPs becomes easy and even the free
– User has the facility to create/delete file or folder. storage capacity is increased but as the users files are
– Files can be encrypted/decrypted for security purpose. increasing, they started scattered in different CSPs and
user has to waste his valuable time in finding his files and
situation get worse in case of large data stored on different
4.4 Otixo
CSPs just like searching for a needle in a haystack.
– Battery backup issue the main advantage of mobile com-
It is a multi cloud storage system for mobile devices support-
puting is that users can access their data when and where
ing a lot of storage services [13]. Different features are
it is needed means providing location independence but
with these advantages, there are some issues that exist,
– It provides simple drag and drop facility to move files one of them is limited battery backup [7]. This issue is
between different CSPs. still there in existing multi cloud storage systems when
– It provides 256 bit AES encryption for security. they are accessed on mobile devices. In these systems,
– It allows users to collaborate another users and teams for if a user is interested to upload single file on all CSPs,
project work. i.e., replication of file on all CSPs, file is uploaded one
by one on each CSP, which will consume battery X folds.
Following Table 2 is describing the comparison of features For example, if a user is interested to upload a 2 GB file
of above mentioned multi cloud storage systems. to three CSPs, the mobile phone has to do the process-

123
Cluster Comput (2019) 22:S13143–S13157 S13147

ing three times to upload that file, which will consume


battery three times more.
– Security issue as in case of cloud storage, user’s sensitive
data is stored on remote servers those are managed by
third parties so security and privacy is a major concern
in this case. In the existing multi cloud storage systems,
users has to enter his private login credentials to these
multi cloud storage systems, which can be misused by
these multi cloud storage systems, which leads to security
and privacy concern.
– Software developers effort issue to access any CSP’s
service, its API is provided in different programming lan-
guages. If a software developer wishes to use any cloud
storage service, he has to study its API and if developer
is unaware of the programming language in which that Fig. 3 Proposed multi cloud storage architecture for mobile devices
cloud storage service’s API is written, he has to first learn
that programming language, which is merely wastage of
his valuable time, which he can use for software devel- email address and mobile number. When user confirms
opment. For example, in existing multi cloud storage email address, he will be allowed to login on Mobile App.
systems, if software developer wants to connect to five – After login, user will get My Cloud Repository, Edit
CSPs, he will have to study API of all CSPs, which is Cloud Repository, Add New Cloud to my Storage Repos-
wastage of his valuable resources. itory and Edit my profile options.
– Internet data usage issue to use any cloud storage service – When user clicks on Add New Cloud to my Storage
on mobile device, data pack is required. As discussed Repository, he will get list of clouds as Drop Box, G
earlier, if a user wishes to upload a file on different CSPs, Drive, One Drive, etc. When user clicks on any cloud,
in existing multi cloud storage systems, user has to do he will be shifted to that cloud for login. After successful
same process multiple times, which will consume more login, cloud returns an encrypted token that will be stored
data pack of user. Data Usage is proliferate according to in our web service. With the help of this encrypted token,
a number of CSPs used. that particular cloud will be added to users repository.

From this, it is very much clear that, the proposed system


6 Proposed approach will not store user’s login credential; it will work with only
encrypted token that a user will get from cloud after authen-
To deal with the issues described in Sect. 5, we propose fol- tication. So our proposed approach is secure in terms of login
lowing architecture for multi cloud storage system for mobile credentials security issue.
devices as shown in Fig. 3. It is three-layers architecture based
on RAOC [26] consisting of following layers.
6.2 Web service layer
– Mobile device layer,
– Web service layer, Web service is defined as a way of establishing communica-
– Cloud storage layer. tion between two softwares those are language inter operable
[14], It is using the concept of simple object access protocol
6.1 Mobile device layer to provide services to user. It includes two main components
web service description language (WSDL) and universal
This part of architecture includes Mobile App, with the help description discovery and integration (UDDI). All details
of this App, user’s can access cloud services via our web ser- related to functions that a web service offered, signatures
vice. This App is installed on user’s smart mobile device as of functions etc. are stored in WSDL. UDDI is an entity
phone, tablet, etc. On this App, user has to perform following on Internet, where all web services are registered. When a
steps. user wants to access any web service, he will send request
to UDDI and it will returns that web service. This layer is
– Sign up to the web service. main part of proposed architecture; by which mobile user
– Once the user signs up, a confirmation mail will be sent can perform different operations on cloud as file upload, file
to his registered email address so that user can verify the splitting, file replication management, login credential secu-

123
S13148 Cluster Comput (2019) 22:S13143–S13157

rity management, concurrency control and load balancing. Read files FLi from CLi ;
Different components of this layer are discussed below. If FLi already exists in CLi then
Display File available in CLi ;
else
– File upload upload FLi to CLi ;
User’s data will be uploaded to cloud from mobile device end if
via middle level layer, i.e., web service layer. Algorithm 1 end for
is designed for this purpose. In this algorithm, following end if
variables are used.
Dt represents users data, CL is used to represent cloud, – File splitting
STr stores authorization token returned by cloud after Data uploaded by users is not stored at one server. It is
authentication of user an Send function is used to send rather stored at different server locations using data split-
data and authorization token to cloud. ting. Data is split in order to prevent of loss of data. If data
Algorithm 1: File Uploading on one location is deleted or not available, other locations
can be used to render data. Algorithm 3 is designed for
Input: Data from user (Dt). this purpose. In this algorithm, following variables are
Output: Secure uploading and storage of data on Cloud. used.
Read Data (Dt) from user. Dt represents users data, n is number of clouds, CL rep-
Read Cloud information (CL), which is selected by user? resents a cloud, Bt represents byte information of data,
STr = GetAuth (CL); SP(x0…xn) represents free space available on different
If STr is equal to NULL then clouds.
Display Authentication failed for Cloud CL; Algorithm 3: Data in parts [Data Splitting]
else
Send (Dt , STr) to CL; Input: Users Data (Dt)
end if Output: Secure uploading and storage of splitted data
Dt(x0, x1.xn-1) on Clouds CL(x0, x1,..xn). Read byte
– Duplication manager information (Bt) of Data (Dt)
To avoid replication in uploaded data, duplication man- Read the number of Clouds (CLn) available on Server.
ager is used. This makes sure that same data is not being Check free space SP(x0 , x1 ,…xn ) available on Clouds
duplicated again and again. It provides data integrity and CL(x0 , x1 , . . . xn ).
data accuracy. Algorithm 2 is designed for this purpose. Boolean bbytes;
In this algorithm, following variables are used. SOF = Bt/CLn + Bt mod CLn;
FL represents user file, Flatr represents file attributes, double FIB[ ] = new double [CLn];
CL is used to represent cloud. double rbyets = Bt;
Algorithm 2: Duplicate File Manager for all SP i <= n–1 do
if ( SOF < SPi) then
if ( bbytes is equal to true) then
Requirement: Check the option that user selected i.e. FIB [i] = SOF;
either Single Cloud or Multiple Cloud. else
Input: Users File FIB [i] = Bt/CLn;
Output: Is File Unique or Not end if
Read file (FL) from user. end if
Read all attributes (FLatr) from FL. else
If single cloud selected then If (Bt / CLn > SPi ) then
Read all files from cloud (CL) Long n = ABS (SPi − Bt/CLn);
If FL already exists in CL then FIB [i] = n;
Display File already exists; Else
Else FIB [i] = Bt/CLn;
Upload FL to CL; end if
end if rbytes = rbytes − FIB [i];
end if if ( rbyte is NOT Equal to Zero)
else if multiple cloud selected CL(x0 …xn−1 ) then then
for all CL i <= n−1 do

123
Cluster Comput (2019) 22:S13143–S13157 S13149

for all SP <= n–1 do used to store authorization token returned by cloud after
if( SP > (FIB [i] + rbytes) ) then user’s authentication.
FIB [i] = FIB [i] + rbytes; Algorithm 5: Download File from Cloud
rbytes = 0;
break; Input: User’s Request for File.
end if Output: Requested File.
end for Read the file (FL) requested by user;
end if Read the Cloud (CL) requested by user;
if( rbyte > than 0) then STr = GetAuth(CL);
Display No Space available on Cloud; If STr is equal to NULL then
else Display Unable to Download File;
Int offset = 0; else
for all CL, i <= n–1 do FL = GetFile(STr);
upload (Dt, offset, FIB [i]); Response (FL);
offset = offset + FIB [i]; End if
end for
end if – Download file in parts
If user wishes to download the splitted file from clouds.
– File replication Algorithm 6 is designed for this purpose. In this algo-
If user wishes to upload same file to all available clouds. rithm, following variables are used.
Algorithm 4 is designed for this purpose. In this algo- FL represents the file requested by user, n is number
rithm, following variables are used. of clouds, CL represents a cloud, Str is used to store
Dt represents users data, n is number of clouds, CL rep- authorization token returned by cloud after user’s authen-
resents a cloud, Str is used to store authorization token tication and UAK is used to store users credentials.
returned by cloud after user’s authentication and Msg is
used to store message string. Algorithm 6: Download Splitted File from Cloud
Algorithm 4: File Replication [To upload same data
Input: User request for file.
on all clouds]
Output: Download file in parts.
Read user file (FL);
Input: Users Data
Read users credentials UAK;
Output: Uploading and Storage of same data on all
Read number of available clouds (CLn) for UAK;
Clouds
byte [ ] b = new byte[100000];
Let n is number of clouds.
int offset = 0;
Read all clouds information CL(x0 , x1 ,…xn )
For all clouds CL, i <= n–1 do
Read data (Dt) from user.
STr = GetAuth (CL[i]) from cloud i;
For all CL, i <= n–1 do
If STr is equal to NULL then
STr = GetAuth (CL[i]) from Cloud I;
Display Unable to download File;
If STr is equal to NULL then
Break;
Msg = Msg + CL[i];
else
else
tempbytes = download(b,offset,b.length);
Send (Dt , STr) to cloud i(CL[i] );
Response ( b,offset,tempbytes);
End for
End if
If Msg is empty then
End for
Display File uploaded to cloud;
else
– View all files
Display Msg;
If user wishes to view all files from available clouds.
End if
Algorithm 7 is designed for this purpose. In this algo-
– File download
rithm, following variables are used.
If user wishes to download the file from any of the avail-
FL represents the file requested by user, n is num-
able cloud. Algorithm 5 is designed for this purpose. In
ber of clouds, CL represents a cloud, Str is used to store
this algorithm, following variables are used.
authorization token returned by cloud after user’s authen-
FL represents users file, CL represents a cloud, Str is
tication and UAK is used to store users credentials.

123
S13150 Cluster Comput (2019) 22:S13143–S13157

Table 3 Hypervisors description Table 4 Protocols used to access cloud storage service
Hypervisor Cloud solution Platform Protocols Description

XEN Express Amazon Cloud Linux SSH/Putty SSH is used for secure access of text based Linux
ESXi VMWare Cloud Linux Cloud machine from Linux client and Putty is used
for secure access of Linux Cloud machine from
KVM Red Hat, HP, DELL Linux windows client
HYPER-V Microsoft Azure Windows VNC If Linux machine is in graphical mode VNC is used
RDP To access Windows Cloud machine, we have to use
RDP (remote desktop protocol)
Algorithm 7: View all Files from available Clouds GIT It is used in PAAS (platform as a service) to deploy
code
Input: Users Credentials
Output: Files of all Clouds
Read users credentials UAK; console XEN centre, it is a Windows 7 system, which is used
CL[] = Get available clouds with UAK; for management. Any CSP, who is providing IAAS, [17]
For all CL, I <= n–1 do using following protocols or tools as shown in Table 4.
STr = GetAuth(CL[i]) from Cloud i; Overall working of proposed approach is described in
If STr is equal to NULL then Algorithm 8. In this algorithm, following variables are used.
Display No File Available; Dt is used to store sign up data of user, FL represents the
else file requested by user, n is number of clouds, CL represents
FL[] = GetFiles(STr); a cloud, STr is used to store authorization token returned by
Response(FL[]); cloud after user’s authentication and UAK is used to store
End if users credentials.
End for
Algorithm 8: An Efficient Multi Cloud Storage Sys-
6.3 Cloud storage layer tem for Mobile Devices

This is third layer of proposed architecture, which includes Let GDb is the database for G Drive.
different CSPs as Drop Box, G Drive and One Drive, etc., Let MDb is the database for Media Fire.
where users data will be stored. There can be n CSPs. The Let DDb is the database for Drop Box.
main idea behind cloud storage is virtualization. With the Let UDb is users database.
help of virtualization, you can run multiple operating systems Input: User File
simultaneously [14]. There are different virtualization solu- Output: Efficient Operations on File as Uploading,
tions available in market as VMWare, Virtual Box, etc., with Downloading, Splitting, Replication Management.
the help of which, you can create multiple virtual machine Read Users signup data Dt;
and can run multiple operating systems simultaneously. The If Dt already exists in UDb then
main disadvantage of virtualization is that if the host operat- Display User already exists;
ing system gets corrupted, all VMs will be corrupted. So to else
avoid this situation, the concept of hypervisors introduced. Store Dt into UDb;
[16] Hypervisor is basically a robust operating system that Display Signup Successful;
is installed directly on robust hardware. Hypervisors used by End if
different companies are shown in following Table 3. Read login credentials (UP) from User;
As in case of virtualization, all things as processor, RAM, Int n;
HDD, OS are on one system, so in case of failure of one, If UP exists in UDb then
whole system gets crashed. However, in case of hypervisors, Set n=0;
all these things are on different systems. For example, in If UP already exists in GDb then
this, Amazon is the biggest cloud company, around 60% of Set n=1;
cloud market share is with Amazon and they are using XEN End if
Express Hypervisor. To implement XEN Express, we need If UP exists in MDb then
to implement four systems. First is storage area network, it Set n=2;
provides HDD remotely, second is network attached storage), End if
it provides .iso images, third is XEN Express Cloud OS, If UP exists in DDb then
it provides processor and RAM and last one is Microsoft Set n=3;

123
Cluster Comput (2019) 22:S13143–S13157 S13151

End if Call Algorithm File Replication;


else break;
Set n=–1; End switch
End if else
If n >= 0 then Display Cloud n (CLn) signup page;
Send n to mobile device; End if
Send (n, AuthKey(AK)) for user to mobile device (UAK);
else
Send n to mobile device; 7 Implementation
End if
If n is equal to –1 then In this section, we explore the implementation part of
Display Login Failed; proposed architecture through a prototype and its implemen-
else tation on Android and Windows mobile devices, however it
Store UAK into Local Data of APP; should be pertinent to other platforms also.
Display Login Successful;
If n >2 then 7.1 Overall implementation
Display Home Page with options;
Display 1. View Files from all Clouds; Our proposed architecture Fig. 3 has used three main cloud
Display 2. Upload/Download Files; storage services [1], Drop Box, G Drive, and Media Fire.
Display 3. Split Files; We implemented all techniques mentioned in Sect. 6. The
Display 4. Upload/Download Splitted Files; implementation of proposed architecture is able to connect
Display 5. File Replication; to different cloud storages services as Drop box, G Drive,
Let c be the choice of user; One Drive and Box and present these different storage ser-
Switch (c) vices as a unified view to the user means users will get his
case 1: files in a single view, the background view of storage in
Call Algorithm View All Files; different CSPs is abstracted from user. Users are able to per-
break; form simple operations as creation, renaming and deletion of
case 2: files. Our system has the facility to split the files, to manage
If user.option is equal to upload then duplicate files, login credential security, concurrency control
Let F is users selected file; and load balancing. For the implementation of the proposed
Call Algorithm File Upload ; architecture, we utilized Microsoft Visual Studio Commu-
SendFile(F); nity Edition to implement the web service part and Android
else Studio to implement mobile application part. For connection
Let CL is selected Cloud and FL is selected file; to different cloud storage services, we have used the S/W
Call Algorithm Download File(CL,FL); Development Kit of different providers [27]. Emulator is the
End if system that replicates the usage as on original device. An
break; emulator is the replacement for original system. Visual Stu-
case 3: dio Community Edition is preferred because of following
Let F is users selected file; features
Call Algorithm Split File;
SendFile(F); – It has a fully featured integrated development environ-
break; ment.
case 4: – It supports Android, Window and IOS development.
If user.option is equal to download then – It supports multiple languages as C++, C sharp, Python,
Let FL is the selected file available on Cloud CL; Java, etc.
Call Algorithm Split Download; – It is freely available for developers involved in academic
else research, education and open source projects.
Let FL is the users selected file from mobile device;
Call Algorithm Split Upload; Android Studio is used to develop mobile application because
SendFile(FL); of following features
break;
case 5: – It is useful for deployment, testing and debugging of
Let FL is the users selected file from mobile device; android Apps.

123
S13152 Cluster Comput (2019) 22:S13143–S13157

Fig. 4 Screen shots of performing authentication with different cloud


storage providers

– It is fast.
– It supports different versions of Android, H/W properties.
– It is free with Microsoft Visual Studio 2015.

7.2 Web service and mobile application implementation

The proposed architecture is implemented as a web service


and a mobile App that can run on any Android and Window
mobile device. Web service part is the middle layer of our
architecture, which is the universal method of connecting
heterogeneous systems, it is a universal method of calling a
function of one software from another software, both of these
softwares are in different language and on different PCs. This
part of our architecture is the main part, which will act as the
interface between Mobile App and cloud storage. Mobile
App is developed for Android and Windows mobile devices,
which is used to connect to web service through which cloud Fig. 5 Screenshots of the proposed implementation on Android device
storage is accessed. Mobile App is providing the facility to
create and delete file. Users will also get option to store same
file on all clouds to increase data availability or to store file
on only one cloud. Another important feature is that, user has 7.4 Implementation of load balancing
the option to split the file into parts and can store these parts
to different CSPs to improve security and for load balancing. In the proposed architecture, load balancing is implemented
by giving the option to split the file for storage on available
CSPs. By splitting, load will be balanced and even the vendor
lock-in issue will be resolved.
7.3 Login credential security (authorization token) The screen shots of proposed system’s implementation on
Android device are as follows (Fig. 5).
In the implementation of proposed architecture, there is no
need to enter sensitive login credentials by user. When a user
will choose any CSP to add it to his repository, our system
will redirect the user to cloud website, where user will enter 8 Simulation setup
his login credential only once and the authorization token
returned by concerned CSP will be saved in our system in For results, Android Emulator is used, which is a part of
encrypted form, which will solve the security concern of user android studio and able to simulate different android phones
regarding his sensitive and valuable data. Some screen shots and other mobile devices. It has all capabilities of android
are as follows (Fig. 4). mobile devices as phone call, messages, etc.

123
Cluster Comput (2019) 22:S13143–S13157 S13153

Table 5 Specification of mobile devices Table 6 Comparison for Micromax Canvas E352 mobile device
Micromax Canvas E352 Redmi Note 4 MCS system Data usage CPU usage Battery usage
(MB) (min) (%)
OS Android Android
CPU Octa Core 1.4 GHz Octa Core 2.0 GHz Mult Cloud 160 9 7
RAM (GB) 2 4 ES File Explorer 166 11 10
Clouds 154 9 8
Otixo 158 10 9
Cloud Fuze 162 10 9
By using this emulator, two Android Virtual Devices
UnClouded 155 9 8
(AVDs) Micromax Canvas E 352 and Redmi Note 4 with
MWC: proposed 52 3 2
configuration given below in Table 5 have been created to exe- approach
cute the implemented mobile application on these devices.
For results, a video file of size 50 MB has been taken and
uploaded on three CSPs G Drive, Drop Box and Media Fire
using these devices and reading of data usage, battery con-
sumption and CPU usage have been recorded by using third
party Apps data usage monitor, battery widget and CPU mon-
itor on 4G network. These third party Apps are installed on
AVDs by using their APKs. The reading of data usage is
recorded in MB, CPU usage in minutes and battery usage in
percentage.
After upload request from mobile device, the file will reach
to proposed approach (web service), which is placed on HP
server having four 2.5 GHz processors and 16 GB RAM.

Fig. 6 Data usage for Micromax Canvas E352 mobile device

9 Result and discussion

In this section, we conducted different experiments for the


analysis of multi cloud storage systems for mobile devices
on the basis of parameters as data usage, CPU usage and
battery consumption. Our objective is to identify the best
multi cloud storage system for resource constrained mobile
devices, which will consume less mobile device resources
as data (Internet package), battery and CPU and give better
results. For this analysis, the middle layer of the proposed sys-
tem (web service layer) is implemented using tools Microsoft
Visual Studio 2015 and for interaction of end users a Mobile
App is implemented using Android Studio. Proposed and Fig. 7 CPU usage for Micromax Canvas E352 mobile device
existing multi cloud storage systems for mobile devices are
analyzed for parameters data usage, CPU usage and battery
consumption using two smart phone devices Micromax Can-
ES Files Explorer, Clouds, Otixo, Cloud Fuze, UnClouded
vas E352 mobile device and Redmi Note 4 on 4G network.
and MWC (proposed approach) on Micromax Canvas E352
For results, we have taken a video file of size 50 MB and
mobile device.
uploaded this file to existing and proposed multi cloud stor-
age systems and recorded the reading for parameters data
usage, CPU usage and battery consumption. 9.1.1 Results for Micromax Canvas E352

9.1 Comparison for Micromax Canvas E352 This section is recitating the graphical results in Figs. 6, 7 and
8 for parameters data usage, CPU usage and battery usage
In this section, Table 6 is describing the results of seven parameters while uploading a 50 MB video file on Micromax
multi cloud storage systems for mobile devices Mult Cloud, Canvas E352 mobile device and using 4G network.

123
S13154 Cluster Comput (2019) 22:S13143–S13157

Fig. 8 Battery usage for Micromax Canvas E352 mobile device Fig. 9 Data usage for Redmi Note 4 mobile device

Table 7 Comparison for Redmi Note 4 mobile device


Names Data usage CPU usage Battery usage
(MB) (min) (%)

Mult Cloud 138 5 5


ES File Explorer 148 10 9
Clouds 140 5 5
Otixo 141 5 6
Cloud Fuze 154 8 8
UnClouded 142 6 6
MWC: proposed 50 1 1
approach

Fig. 10 CPU usage for Redmi Note 4 mobile device

9.2 Comparison for Redmi Note 4 mobile device

In this section, Table 7 is describing the results of seven multi


cloud storage systems for mobile devices Mult Cloud, ES
Files Explorer, Clouds, Otixo, Cloud Fuze, UnClouded and
MWC (proposed approach) on Redmi Note 4 mobile device.

9.2.1 Results for Redmi Note 4 device

This section is recitating the graphical results in Figs. 9, 10


and 11 for parameters data usage, CPU usage and battery
usage parameters while uploading a 50 MB video file on
Redmi Note 4 mobile device and using 4G network. Fig. 11 Battery usage for Redmi Note 4 mobile device

10 Results for mobile devices in mobility mode 10.1 Comparison for Redmi Note 4 mobile device in
mobility mode
To check results while nodes in mobility, two real mobile
devices Redmi Note 4 and Micromax Canvas E352 of same In this section, Table 8 is describing the results of seven multi
configuration as shown in Table 5 as AVDs have been taken. cloud storage systems for mobile devices Mult Cloud, ES
The proposed algorithm has been executed for the moving Files Explorer, Clouds, Otixo, UnClouded, Cloud Fuze and
mobile devices at the velocity of 60 km/h on 4G JIO network MWC (proposed approach) on Redmi Note 4 mobile device
and the following results have been obtained. in mobility mode.

123
Cluster Comput (2019) 22:S13143–S13157 S13155

Table 8 Comparison for Redmi Note 4 mobile device in mobility mode

Names Data usage CPU usage Battery usage


(MB) (min) (%)

Mult Cloud 146 10 8


ES File Explorer 153 14 12
Clouds 144 9 9
Otixo 148 11 11
Cloud Fuze 161 13 12
UnClouded 151 11 10
MWC: proposed 61 4 4
approach Fig. 14 Battery usage for Redmi Note 4 mobile device in mobility
mode

Table 9 Comparison for Micromax Canvas E352 mobile device in


mobility mode
MCS systems Data usage CPU usage Battery usage
(MB) (min) (%)

Mult Cloud 165 13 11


ES File Explorer 180 18 16
Clouds 174 15 14
Otixo 190 21 19
Cloud Fuze 181 16 17
UnClouded 163 14 11
MWC: proposed 57 6 4
approach
Fig. 12 Data usage for Redmi Note 4 mobile device in mobility mode

Fig. 13 CPU usage for Redmi Note 4 mobile device in mobility mode Fig. 15 Data usage for Micromax Canvas E352 mobile device in
mobility mode

10.1.1 Results for Redmi Note 4 mobile device in mobility 10.2 Comparison for Micromax Canvas E352 in
mode mobility mode

This section is describing the graphical results in Figs. 12, In this section, Table 9 is describing the results of seven
13 and 14 for parameters data usage, CPU usage and bat- multi cloud storage systems for mobile devices Mult Cloud,
tery usage parameters while uploading a 50 MB video file ES Files Explorer, Clouds, Otixo, UnClouded, Cloud Fuze
on Redmi Note 4 mobile device and Micromax Canvas E352 and MWC (proposed approach) on Micromax Canvas E352
using 4G network. mobile device in mobility mode.

123
S13156 Cluster Comput (2019) 22:S13143–S13157

usage of mobile device will be reduced, which will save bat-


tery and other resources of mobile device. Future scope for
proposed approach is that users can directly fetch and store
your data from IOT devices and support of other OS like
Symbian, IOS, Macintosh, Linux, etc.

References

1. Alan, H.: Five best cloud storage providers. http://lifehacker.com/


ve-best-cloud-storage-providers-614393607
Fig. 16 CPU usage for Micromax Canvas E352 mobile device in 2. Alqahtani, H., Mostefaoui, G.: Multi-clouds mobile computing for
mobility mode the secure storage of data. In: IEEE/ACM 7th International Con-
ference on Utility and Cloud Computing, London, pp. 495–496
(2014)
3. Atta ur Rehman Khan, M.O.: A survey of mobile cloud comput-
ing application models. IEEE Commun. Surv. Tutor. 16, 393–413
(2014)
4. Bedi, R.K., Singh, J., et al.: Current trends in cloud storage
for resource constrained mobile devices. In: IEEE International
Conference on Wireless Communications, Signal Processing and
Networking (WiSPNET 2016), pp. 1187–1192 (2016)
5. Bedi, R.K., et al.: Analysis of multi cloud storage applications for
resource constrained mobile devices. J. Perspect. Sci. 8, 279–282
(2016)
6. Bedi, R.K., et al.: Comparison of multi cloud storage systems for
mobile devices. Int. J. Control Theory Appl. 9(40), 389–396 (2016)
7. Chang, R., Gao, J.: Mobile cloud computing research: issues,
challenges, and needs. In: IEEE 7th International Symposium on
Fig. 17 Battery usage for Micromax Canvas E352 mobile device in Service-Oriented System Engineering, Redwood City, pp. 442–453
mobility mode (2013)
8. Duro, F., Blas, J.: CoSMIC: a hierarchical cloudlet based storage
architecture for mobile clouds. Simul. Model. Pract. Theory (Else-
10.2.1 Results for Micromax Canvas E352 in mobility mode vier J.) 50, 3–19 (2015)
9. Gartner: Gartner Says That Consumers will Store More Than a
Third of Their Digital Content in the Cloud by 2016. http://www.
This section is recitating the graphical results in Figs. 15, gartner.com/newsroom/id/2060215
16 and 17 for parameters data usage, CPU usage and bat- 10. Go, W., Kwak, J.: Dual server-based secure data-storage system
tery usage parameters while uploading a 50 MB video file on for cloud storage. Int. J. Eng. Syst. Model. Simul. 6, 86–90 (2014)
Micromax Canvas E352 mobile device in mobility mode and 11. https://es-file-explorer.en.uptodown.com/android
12. http://lifehacker.com/cloudcube-is-one-app-that-manages-all-
using JIO 4G network. your-cloud-storag-566836545
13. https://www.otixo.com/en/home-otixo/
14. https://www.tutorialspoint.com/webservices/whatarewebservices.
htm
11 Conclusion and future scope 15. https://en.wikipedia.org/wiki/Virtualization
16. https://en.wikipedia.org/wiki/Hypervisor
In this paper, we have presented design and implementa- 17. https://technet.microsoft.com/en-us/library/gg710871(v=sc.12).
tion of an efficient multi cloud storage approach for mobile aspx
18. https://www.visualstudio.com/vs/msft-android-emulator/
devices. From results, it is very much clear that our proposed 19. https://www.wireless.att.com/businesscenter/business-programs/
system MWC is more efficient in terms of resource consump- government/solutions/integrated-cellular-satellite-solution.jsp
tion of mobile devices as battery, CPU and data usage in both 20. Kavitha, G.M., Kumar, V.: Secure cloud storage with multi-cloud
stationary and mobility modes. In mobility mode, resource architecture. Int. J. Innov. Technol. Explor. Eng. 3, 45–49 (2013)
21. Luan, T., Gao, L.: Fog Computing: Focusing on Mobile Users at
consumption is little more but that is due to network speed. the Edge, pp. 1–11. arXiv:org/pdf/1502.01815 (2016)
Other features of the proposed framework are load balanc- 22. Pasupuleti, S., Ramalingam, S.: An efficient and secure privacy-
ing as in this, user can split the file for storage on different preserving approach for outsourced data of resource-constrained
clouds, this will manage the load and will decrease processing mobile devices in cloud computing. J. Netw. Comput. Appl. 64,
12–22 (2016)
time due to parallelization concept because in this, user will 23. Reddy, G., Raju, M.: A novel approach for multi-cloud storage
upload the file to the web service and rest work of splitting security in cloud computing. Int. J. Comput. Sci. Inf. Technol.
and parallel upload will be done at web service part hence 3(2014), 5043–5045 (2014)

123
Cluster Comput (2019) 22:S13143–S13157 S13157

24. Ross, C.: Best Full HD Smartphones. www.pcworld.idg.com.aw/ Sunil Kumar Gupta did B.E. in
roundup/453755/bestfullhdsmartphones Computer Science from Gorakh-
25. Slamanig, D., Hanser, C.: On cloud storage and cloud of clouds pur University, Gorakhpur, India
approach. In: IEEE 7th International Conference on Internet Tech- in 1988, M.S. in 1991 and com-
nology and Secure Transactions, London, 10–12 December, pp. pleted Ph.D. in Computer Sci-
649–655 (2012) ence from Kurukshetra Univer-
26. Spillner, J., Muller, J., Schill, A.: Creating optimal cloud storage sity, Kurukshetra, India. He pos-
systems. Future Gener. Comput. Syst. 29(4), 1062–1072 (2013) sesses 28 years of teaching expe-
27. Yeo, H.-S., Phang, X.-S., Lee, H.-J., Lim, H.: Leveraging client- rience. He has worked as teach-
side storage techniques for enhanced use of multiple consumer ing faculty in many reputed insti-
cloud storage services on resource-constrained mobile devices. J. tutions in India including N.I.T.,
Netw. Comput. Appl. 43, 142–156 (2014) Hamirpur (HP). Presently, he is
working as Associate Professor
in Computer Science & Engg.
department at Beant College of
Engineering and Technology, Gurdaspur (India). He has more than 40
Rajeev Kumar Bedi received research publications. His work is published and cited in highly reputed
the B.Tech and M.Tech. degrees journals of Elsevier, Springer, Taylor and Francis and IEEE. His areas
in Computer Science and Engi- of interest include database management systems, distributed systems,
neering from Punjab Technical cloud computing and mobile computing, security.
University, Jalandhar in 2000
and 2008 respectively. Presently,
he is working as Assistant Pro-
fessor, Department of CSE at
Beant College of Engineering
and Technology, Gurdaspur and
Research Scholar (Part-Time)
at Department of Computer
Engineering, Punjabi University,
Patiala. His work is published
and cited in highly reputed jour-
nals of Elsevier and Springer. His research interest includes Cloud
Computing, Mobile Computing and Mobile Cloud Computing.

Jaswinder Singh did B.Tech.


in Computer Science & Engg.
from Punjab Technical Univer-
sity, Jalandhar, India in 2000,
M.Tech. in Computer Science
& Engg. in 2002 from PAU,
Ludhiana and completed Ph.D.
in Computer Engineering from
Punjabi University, Patiala, India.
He possesses 15 years of teach-
ing experience. He has worked as
teaching faculty in many reputed
institutions in India. Presently, he
is working as Assistant Professor
in Computer Engg. department at
Punjabi University, Patiala. His work is published and cited in highly
reputed journals of Elsevier, Springer, Taylor and Francis and IEEE.
His areas of interest include Network Security, Cloud Computing.

123

You might also like