Top Banner
Research Article Spontaneous Ad Hoc Mobile Cloud Computing Network Raquel Lacuesta, 1 Jaime Lloret, 2 Sandra Sendra, 2 and Lourdes Peñalver 2 1 Universidad San Jorge, A-23, km 299, Villanueva de G´ allego, 50830 Zaragoza, Spain 2 Universidad Polit´ ecnica de Valencia, Camino Vera S/N, 46022 Valencia, Spain Correspondence should be addressed to Jaime Lloret; [email protected] Received 28 April 2014; Accepted 10 July 2014; Published 17 August 2014 Academic Editor: Zhongmei Zhou Copyright © 2014 Raquel Lacuesta et al. is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Cloud computing helps users and companies to share computing resources instead of having local servers or personal devices to handle the applications. Smart devices are becoming one of the main information processing devices. eir computing features are reaching levels that let them create a mobile cloud computing network. But sometimes they are not able to create it and collaborate actively in the cloud because it is difficult for them to build easily a spontaneous network and configure its parameters. For this reason, in this paper, we are going to present the design and deployment of a spontaneous ad hoc mobile cloud computing network. In order to perform it, we have developed a trusted algorithm that is able to manage the activity of the nodes when they join and leave the network. e paper shows the network procedures and classes that have been designed. Our simulation results using Castalia show that our proposal presents a good efficiency and network performance even by using high number of nodes. 1. Introduction A mobile ad hoc network (MANET) is a self-configuring network of mobile devices connected by wireless links. Each device in a MANET is free to move independently in any direction and will therefore frequently change its links to other devices. Each device must forward traffic unrelated to its own use and therefore could act as a router. A spontaneous ad hoc network is a type of ad hoc network that is formed during a certain period of time, with no dependence on a central server and without the intervention of an expert user [1]. is network is made of several independent nodes which are in the same place at the same time in order to communicate with each other. Nodes are free to join and leave the network at will [2]. Spontaneous networking happens when neighboring nodes discover each other within a short period of time; however, discovery velocity is paid in terms of energy consumption [3]. Spontaneous networks are conceptually in a higher level of abstraction than ad hoc ones; they are basically those who seek to imitate human relationships in order to work together in groups, running on the already existing technology. eir objective is the integration of services and devices in an environment which allows the provision to the user of an instant service with minimum manual intervention, ensuring important aspects, such as the multimedia quality [4] or network lifetime [5]. e concept of spontaneous networks was introduced in depth by Feeney et al. in [6]. e biggest problem in these networks is the security issue [7, 8]. e use of a certificate authority (CA) server is not a good idea because of the lack of a robust infrastructure and the distance. e device could be very far from the CA, so their connection could be a big issue. ere is a need of a two-phase protocol to allow the exchange of an introductory description of each device, that is, a handshake of the devices within the same area. In order to achieve this, a protocol where each device has to exchange an identity card and will have a neighbour card list has been proposed. us, each node takes over the role of the CA. e model uses the trust between nodes as a key base of the proposed protocol. Castalia simulator has been used in order to validate our proposed spontaneous network. e remainder of this paper is structured as follows. Section 2 shows some previous works about spontaneous ad hoc networks and mobile cloud computing. e proposed spontaneous ad hoc network model for mobile computing is explained in Section 3. It details the analytical model and the cryptographic and the trust system for protecting Hindawi Publishing Corporation e Scientific World Journal Volume 2014, Article ID 232419, 19 pages http://dx.doi.org/10.1155/2014/232419
20

Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

Jul 08, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

Research ArticleSpontaneous Ad Hoc Mobile Cloud Computing Network

Raquel Lacuesta1 Jaime Lloret2 Sandra Sendra2 and Lourdes Pentildealver2

1 Universidad San Jorge A-23 km 299 Villanueva de Gallego 50830 Zaragoza Spain2Universidad Politecnica de Valencia Camino Vera SN 46022 Valencia Spain

Correspondence should be addressed to Jaime Lloret jlloretdcomupves

Received 28 April 2014 Accepted 10 July 2014 Published 17 August 2014

Academic Editor Zhongmei Zhou

Copyright copy 2014 Raquel Lacuesta et alThis is an open access article distributed under theCreativeCommonsAttribution Licensewhich permits unrestricted use distribution and reproduction in any medium provided the original work is properly cited

Cloud computing helps users and companies to share computing resources instead of having local servers or personal devices tohandle the applications Smart devices are becoming one of the main information processing devicesTheir computing features arereaching levels that let them create a mobile cloud computing network But sometimes they are not able to create it and collaborateactively in the cloud because it is difficult for them to build easily a spontaneous network and configure its parameters For thisreason in this paper we are going to present the design and deployment of a spontaneous ad hocmobile cloud computing networkIn order to perform it we have developed a trusted algorithm that is able to manage the activity of the nodes when they join andleave the network The paper shows the network procedures and classes that have been designed Our simulation results usingCastalia show that our proposal presents a good efficiency and network performance even by using high number of nodes

1 Introduction

A mobile ad hoc network (MANET) is a self-configuringnetwork of mobile devices connected by wireless links Eachdevice in a MANET is free to move independently in anydirection and will therefore frequently change its links toother devices Each device must forward traffic unrelated toits own use and therefore could act as a router

A spontaneous ad hoc network is a type of ad hocnetwork that is formed during a certain period of timewith no dependence on a central server and without theintervention of an expert user [1] This network is made ofseveral independent nodes which are in the same place atthe same time in order to communicate with each otherNodes are free to join and leave the network at will [2]Spontaneous networking happens when neighboring nodesdiscover each other within a short period of time howeverdiscovery velocity is paid in terms of energy consumption[3] Spontaneous networks are conceptually in a higher levelof abstraction than ad hoc ones they are basically those whoseek to imitate human relationships in order to work togetherin groups running on the already existing technology Theirobjective is the integration of services and devices in anenvironment which allows the provision to the user of an

instant service withminimummanual intervention ensuringimportant aspects such as the multimedia quality [4] ornetwork lifetime [5] The concept of spontaneous networkswas introduced in depth by Feeney et al in [6]

Thebiggest problem in these networks is the security issue[7 8] The use of a certificate authority (CA) server is not agood idea because of the lack of a robust infrastructure andthe distance The device could be very far from the CA sotheir connection could be a big issue There is a need of atwo-phase protocol to allow the exchange of an introductorydescription of each device that is a handshake of the deviceswithin the same area In order to achieve this a protocolwhere each device has to exchange an identity card and willhave a neighbour card list has been proposed Thus eachnode takes over the role of the CA The model uses thetrust between nodes as a key base of the proposed protocolCastalia simulator has been used in order to validate ourproposed spontaneous network

The remainder of this paper is structured as followsSection 2 shows some previous works about spontaneous adhoc networks and mobile cloud computing The proposedspontaneous ad hoc network model for mobile computingis explained in Section 3 It details the analytical modeland the cryptographic and the trust system for protecting

Hindawi Publishing Corporatione Scientific World JournalVolume 2014 Article ID 232419 19 pageshttpdxdoiorg1011552014232419

2 The Scientific World Journal

the mobile cloud network Section 4 explains the designednode algorithms the network procedures and the designedclasses The network performance is shown in Section 5 Thedeployment is explained in section Finally Section 7 showsthe conclusion and future work

2 Related Work

In mobile computing there are some inherent problems suchas resource scarcity frequent disconnections and mobilitythat make exploiting its full potential difficult In [9] authorspropose to address these problems by executing mobileapplications on resource providers external to the mobiledevice They provide an extensive survey of mobile cloudcomputing research highlighting the motivation for mobilecloud computing as the dominant model for mobile applica-tions in the future On mobile cloud computing devices canact as clients or resource providers Some requirements suchas adaptability scalability availability and self-awarenessneed to be met in a cloud They present a taxonomy ofthe issues found in this area and the approaches in whichthese issues have been tackled They focused their study onoperational level end user level service and application leveland security and context-awareness level They remark thatalthough many of the reviewed frameworks mention theneed for security and trust very few of them have actuallyimplemented it they have left the implementation for futuredirections

In this kind of network it is very important to determinethe application in which the network will be dedicated toAs a function of this factors such as network size thetype of devices the software applications and the sharedservices will be defined Another important issue is therouting protocol used to communicate all nodesThe routingprotocols used in spontaneous ad hoc and sensor wirelessnetworks could be the same as regular ones so we shouldconsider the same constraints such as transmission powerenergy resources bandwidth usage delay hop count andQoS among others [10] All of these factors will be affected byissues such as link stability or level of mobility in nodes [11]which somehow will depend on the environment where thenetwork is deployed

Researchers claim that spontaneous networking presentsthe need of improving the wide-scale applications fullyexploiting its potential and that this is due to the intrinsiccomplexity of spontaneous network management unsuitableto be directly handled by application developers Followingthis approach Bellavista et al [12] proposed a middlewarecalled RAMP for managing the autonomic and cross-layerapplication of spontaneous networks The RAMP proto-type can be considered as a useful tool for the commu-nity of researchers in the field of generation of sponta-neous networks RAMP enables the dynamic sharing of allresources available via multiple heterogeneous intermittentinfrastructure-based and ad hoc links which are orches-trated in a lightweight way to compose the multihop pathsneeded to share applications at runtime RAMP performanceis evaluated considering aspects such as delay requirements

in real-time multimedia streaming Finally the simulationresults show that the feasibility of this proposal achieves goodresults in awide range of practical situationswith different filesizes and path lengths

Christensen [13] examines the architectural considera-tions of creating next generation mobile applications usingsmart mobile devices context enablement using sensors onthe device and cloud computing and RESTful web servicesMobile applications are enhanced with REST based cloudcomputing technologies to create applications on the smartmobile device with offload processing To best leveragethis they consider the capabilities and constraints of thesearchitectures

Mani et al presented in [14] a platform called SCOPE thatimplements an architecture to provide a P2P and spontaneoussolution for social networking in local areas SCOPE followsthe hierarchical P2P model because in a network there arenodes with higher computing capability which can forman overlay and provide the distributed data managementsystem for the P2P social network meanwhile client nodesconnect to supernodes and rely on them for sharing theircontents or accessing to the shared information SCOPE isbased on IEEE 80211 ad hoc mode and needs no infras-tructure SCOPE is developed to work on mobile devicesspontaneously without any dedicated network resourcesThe proposal provides the distributed database and lookupservices deployed on distributed hash table (DHT) tech-nology where it defines the rules for information manage-ment and creates our social networking overlay As authorsconclude this proposal is able to provide session basedcommunication services and provides a rich menu of socialnetworking services from simple linktext sharing to P2P IPtelephony

There are lots of applications where spontaneous net-works can be very useful Regarding the environmentalmonitoring Liu et al presented an adaptive and efficientpeer-to-peer search (AEPS) approach for distributed servicediscovery for dependable service integration on service-oriented architecture [15] The proposal is able to efficientlydiscover desirable services for decision making of disastermonitoring and relief by interacting with connected nodeswith incomplete information AEPS builds a social networkfor each sensor node which contributes to an effective servicediscovery AEPS is evaluated for rescue capability provisionwhere the results demonstrated that distributed nodes canself-organize in a peer-to-peer way and discover the requiredservice and information without any central administrationIn this case the creation of a spontaneous network is used toassist an emergency rescue team tomake the correct real-timedecisions in very changing environments

In [16] the authors studied how the underused com-puting resources within an enterprise may be harnessedto improve their utilization and create an elastic comput-ing infrastructure They propose to use an ad hoc cloudmodel that allows complex cloud-style applications to exploituntapped resources on nondedicated hardware They haveoutlined a case for ad hoc cloud computing a set of resultingresearch challenges and they propose an architecture Noprotocol is designed and developed in this paper

The Scientific World Journal 3

Taking into account that mobile devices are resource-constrained and some applications demand more resourcesthan they can afford in [17] Huerta-Canepa and Lee proposeto create a virtual cloud computing platform using mobilephones They present the preliminary design of a frameworkto create ad hoc cloud computing providers The frameworkcreates a cloud among the devices in the vicinity allowingthem to execute jobs between the devices However the workpresented is preliminary and no protocol has neither beendesigned nor detailed

Another solution is the presented by Divya in [18] Heproposes a conceptual architecture where a mobile applica-tion platform shares a service amongmultiple users A proof-of-concept prototype is developed using AndroidThe serverplatform shares Android OS among multiple users to obtainhigh performance on virtual image-based virtualization formobile applications

In this sense several authors of this paper have previ-ously deployed a spontaneous ad hoc network for multiplepurposes but never for cloud computing In [19] a secureprotocol for spontaneous wireless ad hoc networks wasproposed It is based on the behavior of human relationshipsIt uses a hybrid symmetricasymmetric scheme and the trustbetween users in order to exchange the initial data andto exchange the secret keys that will be used to encryptthe data In this paper authors explained the proceduresfor the nodersquos self-configuration and for providing DNSservice In [20] two flexible secure spontaneous wirelessad hoc network protocols for wireless mesh clients that arebased on the computational costs are proposed Proposalsare based on a trust network where the session key allowsnode confidentiality They have been implemented over theDSR routing protocolThe developed protocols provide nodeauthenticity and intermediate node authenticity when pack-ets are transmitted Integrity checking randomchecking andverification distribution are also considered in the protocolIn [21] we propose a secure spontaneous ad hoc networkbased on direct peer-to-peer interaction to grant a quickeasy and secure access to the users when they surf theweb The protocol allows the users to collaborate duringa period of time to accomplish a collaborative task Theproposal is also compared with other caching techniquespublished in the related literature The proposed solutionpresents a distributed model where the interaction requiredbetween devices is minimal In [22] we proposed a securespontaneous network to create communities Each commu-nity has an identity that acts as a unity on a world basedon internet connection Trust chains are established amongusers Chains of confidence allow the establishment of groupsor communities to access the services as well as for spreadinggroup information

As we have seen no previous spontaneous network hasbeen focused on mobile cloud computing

3 Network Model and Description

In this section the proposed spontaneous ad hoc network formobile cloud computing and its model is described

Our network model meets the following requirements

(1) Devices can move freely in the given area Even out ofeach otherrsquos range

(2) Every node is also a router It has a limited communi-cation range towards other nodes

(3) The different identities are given by IP addressesEach address is obtained dynamically following ourprevious proposal [23]

(4) There is no central administration(5) Devices can come fromeverywhere and join and leave

at will(6) Resources for cloud computing can be provided by

any node if it has enough capacity to do it

During the start-up of a node it broadcasts messagesin order to find neighbors In this kind of networks itis very important to select those nodes which offer betterperformance to the whole network [24] A node will acceptanother node as its neighbor as a function of the amount ofmessages it has received to this node When a new node hasdefined all its neighbors it sends its identity card to all itsneighbors If the neighbor sends back a message to informthat it has received the identity card and the content of thismessage is correct (by checking the hash of the message)then the newnode trusts these neighborsWhen a node trustsa second node it can send messages directly to the secondnode unless the second node does not trust the first node inthis case the communication is not allowedThe system doesnot follow the commutative and associative properties thatis although a first node can trust a second node the secondnode may not trust the first node It also happens with threenodes in a chain If a node wants to send a message towards anontrusted node then it has to do it through a trusted node

The system follows the next steps

(1) Broadcast messages searching neighbor nodes(2) Send its identity card to the neighbors(3) Acknowledgenot acknowledge the reception of the

messages from its neighbors(4) Set the neighbor node as a trusted or nontrusted node

Our protocol is based on the use of two informationstructures (1) an IDC (identity card) and (2) a certificate Onone hand the IDC is composed by two parts The first one isthe public part which is formed by a logical identity (LID) Itis unique for each user and allows nodes to identify it LIDincludes information such as name photograph and otheruser identification Public part also contains informationabout the public key of the user (119870

119894) and the information

signature On the other hand private part is composed by theprivate key (119896

119894) and this information is not accessible by other

devicesA certificate of a user consists of a validated identification

card signed by the user that gives its validity for exampleuser ldquo119895rdquo Thus the certificate of user ldquo119894rdquo validated and signedby the user ldquo119895rdquo corresponds to ldquo119862

119894119895rdquoTheuserwill introduce its

4 The Scientific World Journal

LID only the first time that the user uses the system becausethe security information is generated only the first time theuser joins the network Security data is stored persistently inthe device for its future use

In order to explain the procedure the following case isdetailed When there are three persons and two of themknow certain data then there is only one way that lets thethird person know this data one of the two persons musttrust the third personThis simple example explains basicallythe concept of trusted network and how data are exchangedbetween nodes

If the ad hoc network covers a large area then thecloud computing services can be obtained by using adhoc routing In this proposal the ad hoc routing is per-formed only between trusted nodes so there are twoimportant facts (1) nodes should not be trusted with-out the proper authentication of the node and user and(2) confidentiality integrity availability and access con-trol with authentication all of them must be based onencryption mechanisms that must be offered without centraladministration

If we want to create a spontaneous ad hoc network formobile cloud computing we need trust establishment keymanagement and membership control Network availabilityand routing security must also be added Techniques thatenable the creation of ad hoc networks based on the spon-taneity of human interactions (people who are near eachother can communicate exchange things and ask people torelay information to others) should be added In our modeleach node will send its public key towards its neighborsWhen the node obtains a public key it is considered validonly if it is sure that it belongs to the owner Not validmeans that it is not sure that the key belongs to the ownerIf the node trusts the key it signs the key with its privatekey and considers the node as a trusted neighbor Thena trust network is created When a new device joins thenetwork and it does not have a pair of keys it must generatethem to perform authentication and to communicate withother nodes When a node leaves the network the networkmaintains the data for a period of time in case it wants to comeback later But it has to authenticate again A node does nothave to obtain the public key from every other node in otherwords one node does not have to broadcast its authenticationinformation to all other nodes in the network Nodes canobtain this information through the ldquonetwork of trustrdquo Nowwe provide a simple example where the network is formedby three nodes Node 1 and node 2 know and trust eachother Then node 2 trusts a third node node 3 If the secondnode receives a public key from the third node and signs itwith its private key we consider that the owner of this key isldquotrustedrdquo Later if the first nodewants to obtain that key it canbe obtained from the second node and since the first nodetrusts the second one it ldquovalidatesrdquo this new key by signingit with its private key If the third node is not trustworthyany key signed by the third node will not be considereda trusted key Furthermore the first node will never signthe third node key although it might forward it to othernodes in the spontaneous ad hoc mobile cloud computingnetwork

31 Analytical Considerations In this section we analyze ourproposal analytically Our purpose is to model the behaviorof the spontaneous ad hoc network when there are nodesjoining and leaving during its existence On one hand wewill take care of the authentication and trust between nodes(by using trust links and trusted communication graphs)and on the other hand we model the network behavior(in terms of number of nodes in the network because ofleavings and joining of new nodes) by using the conditionalprobability density function Let119873(119905) be a set of users havinga meeting with wireless devices with |119873(119905)| = 119899 being themaximum number of users during a certain period of time119905 These users are located in a certain bounded region 119877 Thetrusted communication graph is the directed graph 119866(119905) =

(119873(119905) 119864(119905)) such that each pair of users (119906 V) isin 119864(119905) onlyif the userrsquos device V is within 119906rsquos transmitting range at thecurrent transmit power level at time 119905 The graph containsall possible wireless links between the nodes in the networkGiven any two nodes 119906119908 isin 119873 a path connecting 119906 and119908 in119866 is a sequence of nodes 119906 = 119906

0 1199061 119906

119896minus1 119906119896= V such

that for any 119894 = 0 119896 minus 1 (119906119894 119906119894+1

) isin 119864 The length of thepath is the number of edges in the pathMoreover 119906 has a pairof values (119879 119881) for each node119908which gives the trust (119879) andvalidity (119881) values for each user The trust and validity canonly have two values 119879 = 0 1 and 119881 = 0 1

Users can join and leave the spontaneous network at willso a range assignment RA is said to be connected at time 119905if the resulting communication graph at time 119905 is stronglyconnected that is if for any pair of nodes 119906 and V there existsat least one trusted connection from 119906 to V In other wordsthe trusted directed wireless link (119906 V) exists if and only ifnodes 119906 and V are at distance of at most RA(119906) at time 119905 andtheir trusted parameter value is equal to 1 In this case V issaid to be a 1-hop neighbor or neighbor for short of node 119906The trust nodes set of node 119906 denoted as TNS(119906) is definedas it is shown in the following expression

TNS (119906) = 119911 isin 119873 (119911 119906) isin 119864 119879 = 1 (1)

A trusted wireless link is said to be bidirectional orsymmetric at time 119905 if (119906 119911) isin 119864(119905) (119911 119906) isin 119864(119905) 119906 trusts 119911and 119911 trusts 119906 The trusted communication graph generatedcan be considered as undirected since (119906 119911) isin 119864(119905) hArr

(119911 119906) isin 119864(119905)Let us suppose that a user 119906 has authenticated the user 119908

and 119906 has 119908rsquos public key then 119906 sends a message encryptedwith the session key to 119908 In this case we say that there is atrusted directed graph from 119906 to 119908 For any trusted directedgraph 119867 isin 119866 if two users 119906 and 119908 are in 119867 and there is atrusted directed path from 119906 to 119908 in 119867 then we say that 119908is reachable from 119906 in 119867 and we denote this by (119906 harr 119908)

119867

thus 119908 is also reachable from 119906 in 119866 and we denote this by(119906 harr 119908)

119866

In order to use a public key distribution system for userauthentication and session key sharing each user maintainsa local repository of public key certificates and their trustvalues When the user 119906 wants to use the resources sharedby user 119908 first 119908 must trust 119906 so they must merge theirsubgraphs and try to find a trusted directed path from 119906 to119908

The Scientific World Journal 5

Thus we can apply a subgraph theory based similar to workperformed by Capkun et al in [25] But in that case theymerged subgraphs to authenticate a public key in trustedauthorities or certificate repositories not trusted paths whilewe merge subgraphs to validate trusted paths

We assume that each user has the same subgraph selectionalgorithm119860 to build its subgraphWe denote 119878

119860(119867 119906) by the

algorithm119860 executed in119867 isin 119866 by the user119906Whenwemergethe subgraph 119878

119860(119867 119906) of user 119906 with 119878

119860(119867 V) of user V we

obtain 119878119860(119867 119906 V) When the trusted communication graph

is undirected 119878119860(119867 119906 V) = 119878

119860(119867 V 119906)

The performance of the subgraph selection algorithmdenoted by 119875

119860(119867) is defined as the ratio of the number of

user pairs (119906 119908) where there is a trusted directed path from119906 to 119908 in the merge subgraph of 119906 and 119908 to the number ofuser pairs (119906 119908) where there is a directed path from 119906 to 119908

in the trust graph The following expression shows 119875119860(119867)

119875119860 (119867) =

Card (119906 V) isin 119873119909119873 (119906 harr V)119878119860(119866119906V)Card (119906 V) isin 119873119909119873 (119906 harr V)119866

(2)

where card denotes the cardinality of a set The performanceof 119860 can be increased by selecting larger subgraphs that isusingmore information about the trust graph but the devicesof the users will need more memory to store their subgraphsMoreover the devices will need high amount of knowledge toexecute it

In order to model the network behavior when the usersjoin the network during the meeting time we have used thediffusion approximation In the spontaneous network therewill be users that join and leave the ad hoc network at will Let119905119894be the arrival time of the user 119894 to the network and let 1199051015840

119894be

the departure time of the user 119894That is 0 le 119905119894lt 1199051015840119894le 119879 where

119879 is the network lifetime Let 119860(119905) and 119863(119905) represent thecumulative number of arrivals and departures respectivelyup to time 119905The number of users in the spontaneous networkat time 119905119873(119905) is given by the following expression

119873(119905) = 119860 (119905) minus 119863 (119905) (3)

Let the consecutive interarrival time 119886119894

= 119905119894minus 119905119894minus1

and the consecutive interdeparture time 119889119894= 1199051015840119894minus 1199051015840119894minus1

beboth independent and identically distributed with the (meanvariance) given by (1120583

119886 1205902119886) and (1120583

119889 1205902119889) respectively Let

their squared coefficients of variation be 1198622119886= 1205902119886sdot 120583119886and

1198622119889

= 1205902119889sdot 120583119889 respectively We define the sum of a set of

consecutive interarrival times as 119879119896= sum119870

119894=1119886119894 We assume

that they are independent and identically distributed randomvariables hence according to the central limit theorem thestandardized random variable 119879lowast

119896 shown in expression (4)

tends to a standard normal distribution with 119896 rarr infin as it isshown in the following expression

119879lowast

119896=119879119896minus 119896 sdot 120583

119886

120590119886radic119896

(4)

119873(119905) = lim119896rarrinfin

119875[119879119896minus 119896 sdot 120583

119886

120590119886radic119896

le 119899] =1

radic2120587int119899

minusinfin

119890minus(11990522)119889119905

(5)

If 119896 is large enough there will be many arriving usersbetween 119905 and 119905 + 119896 and may be approximated by thenormal distribution with mean 120583

119886119905 and variance 1205902

1198861205833119886119905

Similarily the number of leaving users during that time willbe approximately normally distributed with mean 120583

119889119905 and

variance 12059021198891205833119889119905 Consequently the changes of119873(119905)within the

interval [119905 119905+119896] then119873(119905+119896)minus119873(119905) should be approximatelynormally distributed with the mean as is shown in thefollowing expression

120573 = (120583119886minus 120583119889) 119905 (6)

And the variance is given by the following expression

120572 = (1205902

1198861205833

119886+ 1205902

1198891205833

119889) 119905 (7)

The diffusion approximation replaces119873(119905) by a continu-ous diffusion process (also known as Wiener-Levy process)119909(119905) normally distributed with the mean 120573 sdot 119889119905 and variance120572 sdot 119889119905 Given the initial value 119909

0= 0 the unrestricted process

119909(119905) would have the conditional probability density functionat time 119905 given by the following expression

119875 (119909 119905) =1

radic2120587120572119905119890minus((119909minus120573119905)

22120572119905)

(8)

which satisfies Kolmogorov diffusion equation (also knownas Fokker-Planck equation) given in the following expression

120597119891 (119909 119905)

120597119905= minus120573

120597119891 (119909 119905)

120597119909+120572

2

1205972119891 (119909 119905)

1205971199092 (9)

Deriving expression (8) in expression (9) and treating 119909 =

0 as a reflecting barrier for all 119905 gt 0 we obtain the followingexpression

lim119909rarrinfin

[minus120573119875 (119909 119905) +120572

2

120597119875 (119909 119905)

120597119909] = 0 (10)

Nowwe can estimate the solutionwhen 119905 rarr infin and120583119886lt

120583119889 Expression (11) shows the equilibrium distribution of the

conditional probability density function [26]

119875 (119909) =210038161003816100381610038161205731003816100381610038161003816

120572119890minus(2|120573|119909120572)

(11)

where 120572 and 120573 are defined in (6) and (7) which are relatedto the probability of nodesrsquo interarrival and interdeparturetimes

32 Cryptographic System The cryptographic algorithmelection has been taken bearing in mind their strong securityand simple key management features Symmetric algorithmsand summary functions have lower computational cost thanpublic key cryptography but public key cryptography hasstronger security and it could be feasible in devices with lowcomputation capacity

In our proposal we use a summary function withsymmetric and asymmetric algorithms with the purposeof taking their benefits The security management is based

6 The Scientific World Journal

Table 1 Trust and validity values

Parameter Level When does it happen

Trust 0 (i) There has been a greeting process between users but the one in the network does not trust him(ii) The user has reduced the level of confidence to the other one

1 (i) It has been a greeting process between user and the one in the network that trusts him(ii) The user has increased the level of confidence to the other one

Validity 0 (i) It is not obtained from the greeting process with that user(ii) The validity has not been obtained through a trusted node

1 (i) It has been obtained directly from the greeting process with that user(ii) It has been obtained through a trusted node

on the public key infrastructure and the symmetric keyencryption scheme Asymmetric key encryption scheme ismainly used in the distribution of session key and in the userauthentication process It lets us also generate a distributedcertification authorityThe symmetric key is used as a sessionkey to cipher the confidential messages between trust nodesbecause it has less energy requirements [27ndash29] Asymmetrickey encryption scheme is used to authenticate the usersThe hybrid symmetricasymmetric scheme is introduced toexchange the initial data and to exchange the secret keys thatwill be used to encrypt the data The hash function lets usimprove the data integrityNowwe are going to discusswhichalgorithms are the best for our purpose

We have used advanced encryption standard (AES) algo-rithm for the symmetric encryption scheme [30] It presentsa high security level because its design structure removessubkey symmetry It is also resistant to lineal and differentialcryptanalysis AES is actually considered as one of the mostsecured ones Moreover the execution times and the energyconsumption in the cryptography processes are adequate forlow power devices

The asymmetric encryption scheme should overload thedevices as less as possible On one hand elliptic curvecryptosystem (ECC) is presented as a high performancescheme that is recommended by many researchers [31] Onthe other hand Rivest Shamir and Adleman cryptographicalgorithm (RSA) is very secure and it has been checked andrecommended by many scientists [32] ECC needs fewer bitsthan RSA (163 bits in ECC versus 1024 bits in RSA) in orderto obtain the same security level so it is able to achievehigh security level with low size keys without consumingtoo much system resources thus needing less bandwidthECC is usually adequate for small devices with few memoryresources and low computing resources (such as cellularphones and smart cards) In order to have flexibility in ourprotocol and because both cryptographic algorithms havegood performance we have included both (RSA and ECC)in our protocol The election of one of them will be taken inthe network formation Both algorithms will be shown laterin our performance study

We have selected secure hash algorithm (SHA-1) for thesummary function [33] SHA-1 is commonly used becauseof its equilibrium between its speed and its security Thisperformance is also maintained in low computing devicesThis feature does not happen in other functions because theymainly depend on the processor Its execution time and its

k1

K1

k21K21

k3K3

k2K2

k41K41

k4K4

k42K42

NotationA rarr B A trusts BB rarr A B trusts AB harr A reciprocal trust

Figure 1 Example of trust nodes

energy consumption are not so high when they are comparedwith other functions

33 Trusted Network The proposed model is based on thecreation and management of a trusted network A node willtrust other nodes through personal view and criteria That isthe trust is based on the relationship of the users rather thanon a central certification authorityThe user of the device willidentify the other users and will be in charge of establishinga trust value (0 or 1) associated with each one of them Theparameters used for configuring this trust network are trustand validity

Trust refers to the person who owns the key and its valuewill be established by the relationship between the user thatgrants it and the user that is granted It should be granted toreliable persons when their IDCs are exchanged The trustcan always be changed manually by the user later Validityindicates that a certificate belongs to that persondeviceTable 1 shows the trust and validity values

34 Certification Authority The certification authority of anode could be any node in the group of nodes that this nodetrusts This system lets us build a distributed certificationauthority between trust nodes When a node wants tocommunicate with other nodes and see if it is a valid nodeit can request the certificate of that node to its trust nodesAfter obtaining this certificate it will be able to sign this node

The Scientific World Journal 7

AplicacionMid Services OwnBDPacketsNodesAskNodes Client

PaqReqBroadCast

DataRequest info

Network updateSelect nodeGetInfo ()

GetNodes ()

Nodes

CreatePaq ()

GetData ()ObtainReg ()

Data ()Data

FinishPaq ()

Network update

Start ()

Packet

Figure 2 Procedure to request an update from all network nodes

as a valid node All nodes can be both client requestinginformation or authentication to other nodes and serverserving requests for information or authentication fromothernodes Figure 1 shows an example Each 119899 node has its publickey (119870

119899) and it private key (119896

119899) Nodes 2 and 4 are trust nodes

of node 1 but not of node 3 Thus nodes 2 and 4 could act asa certification authority of node 1

4 System Design

In this section we explain the designed algorithms for thenodes the network procedures and the classes designed forCastalia in order to simulate it

41 Network Procedures After defining the network modeland the security features that our proposed spontaneous adhoc network should present it is important to specify howa node should work and the set of actions it should performto ensure the correct operation of the whole network Thissubsection explains the operation of the network and themain processes included

In order to design the flow chart diagrams we have usedthe Unified Modeling Language (UML) [34] UML is anindustry standard modeling language with a rich graphicalnotation and comprehensive set of diagrams and elementsthat can be used to model object oriented systems

411 Procedure to Request the Update to all Network NodesA user requests a data updating from all nodes Firstly theinformation about network nodes is obtained Secondly data

updating packet is prepared and the request is sent Figure 2shows the procedure and the primitives and services offeredand served by the nodes

412 Procedure to Process a Request When a request isreceived the information requested is checked and a reply issent to the source node that sent the requestThen the requestis forwarded to the rest of network nodes After receiving thedata request form a new client can be attended The processto attend each request is shown in Figure 3 As the diagramshows each task is validated by the replying of packets withdata information node information or control packets Afterthe confirmation a newpacket is sent in order to complete thecommunication between nodes

42 Node Algorithms

421 Packet Control When a packet is received by a node itapplies a packet control process to the received data Figure 4shows it Data are checked to know whether it is correct andit has not been modified during the transmission or not Thesource IP packet number and retry number are some of thechecked parametersThis check is performed just for securityreasons despite of its analysis at lower levels such as theunderlying wireless communication technology (BluetoothWi-Fi etc)

When Bluetooth is used the Bluetooth frames are usedin the authentication process In this case the packet digest(hash) is not ciphered with the session key because thereceiver node does not have this key yet The packet includes

8 The Scientific World Journal

Server ServPaq OwnBDPacketsNodesReceived Client

dividePack()

PaqReqBroadCast

FinishPaq ()

Data

treatPac()

ControlPac()SeePac()

PaqReqBroadCast

finishPaq ()

Start()

Received()

ProcCurrent()

NewInf

Resp update

GetData ()getReg()

getReg()

Data

DataData

Packet

Packet

New clientStart

New clientStart

GetNodes ()

Nodes

Resend request

getData ()

Data ()

Figure 3 Procedure to process a request

the senderrsquos node certificate cipheredwith the senderrsquos privatekey Senderrsquos public key is also included in the packet Senderrsquosnode certificate is deciphered with its public key

When Wi-Fi is used the packet digest is ciphered withthe session key When the frame is received data are firstlydeciphered and then the frame is checked

In both cases if the hash comparison is wrong the systemshows a message informing that the frame is wrong If theresults of the comparisons are valid packets are processedand this process ends

422 Modification of Keys When a user decided to modifyits asymmetric keys he is notified of the risks This notifi-cation is shown as a text message in an emergent windowIf the user decides to modify it userrsquos keys are regenerated

and the certificate is modified As Figure 5 shows after thesechanges new data is stored Finally the system allows userto stop the process of modification keys before they arechanged423 Main Menu For the development of the softwareapplication we have designed a main menu that includes asubmenu the services offered in the mobile cloud computingnetwork a submenu that allows the user to exchange dataand a submenu to see its own data Figure 6 shows all thepossibilities that the main menu offers424 Request of Information In our system there are twotypes of information request

(i) request for one node there is a request for one nodeabout specific information

The Scientific World Journal 9

Receivedpacket

Checksender IP

WrongIP

Packet numbercontrol

Wrong packetnumber

Control of attemptnumber

Wrongnumber

Packet division

Show messageldquowrong packetrdquo

Yes

No

Yes

No

Yes

No

Packet receivedusing Wi-Fi

Packetreceived using

Wi-Fi

Hash decryption usingsession key

Yes Packet receivedusing Bluetooth

Create new hash withthe received data

Create new hash withthe received data

Compare received and generated hash

Compare received and generated hash Different

hash

Differenthash Decrypt certificate with

the received public key

Compare received and generated certificates

Differenthash

Storecertificates

Processpackets

No

No

No

Finish packetcontrol

No

Yes

Yes

Yes

Figure 4 Packet control

10 The Scientific World Journal

Start

Select modification of asymmetric keys

Modifyit

it

No

Keysmodification

Certificate modification

Store modified data

Back

End

Report of modificationas rissky

Report of certificate modificationbecause of keys modification

ModifyNo

Yes

Yes

Back

Figure 5 Modification of keys

Choosenetwork

Show main menu Finish mainmenu

Show data changemenu Show own dataShow services menu

Senddata

Ask information

Show node list

Ask all networkinformation

Ask a certificate

Ask a nodeinformation

Changepassword

Change asymmetrickeys and certificate

Change owndata

Figure 6 Main menu

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 2: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

2 The Scientific World Journal

the mobile cloud network Section 4 explains the designednode algorithms the network procedures and the designedclasses The network performance is shown in Section 5 Thedeployment is explained in section Finally Section 7 showsthe conclusion and future work

2 Related Work

In mobile computing there are some inherent problems suchas resource scarcity frequent disconnections and mobilitythat make exploiting its full potential difficult In [9] authorspropose to address these problems by executing mobileapplications on resource providers external to the mobiledevice They provide an extensive survey of mobile cloudcomputing research highlighting the motivation for mobilecloud computing as the dominant model for mobile applica-tions in the future On mobile cloud computing devices canact as clients or resource providers Some requirements suchas adaptability scalability availability and self-awarenessneed to be met in a cloud They present a taxonomy ofthe issues found in this area and the approaches in whichthese issues have been tackled They focused their study onoperational level end user level service and application leveland security and context-awareness level They remark thatalthough many of the reviewed frameworks mention theneed for security and trust very few of them have actuallyimplemented it they have left the implementation for futuredirections

In this kind of network it is very important to determinethe application in which the network will be dedicated toAs a function of this factors such as network size thetype of devices the software applications and the sharedservices will be defined Another important issue is therouting protocol used to communicate all nodesThe routingprotocols used in spontaneous ad hoc and sensor wirelessnetworks could be the same as regular ones so we shouldconsider the same constraints such as transmission powerenergy resources bandwidth usage delay hop count andQoS among others [10] All of these factors will be affected byissues such as link stability or level of mobility in nodes [11]which somehow will depend on the environment where thenetwork is deployed

Researchers claim that spontaneous networking presentsthe need of improving the wide-scale applications fullyexploiting its potential and that this is due to the intrinsiccomplexity of spontaneous network management unsuitableto be directly handled by application developers Followingthis approach Bellavista et al [12] proposed a middlewarecalled RAMP for managing the autonomic and cross-layerapplication of spontaneous networks The RAMP proto-type can be considered as a useful tool for the commu-nity of researchers in the field of generation of sponta-neous networks RAMP enables the dynamic sharing of allresources available via multiple heterogeneous intermittentinfrastructure-based and ad hoc links which are orches-trated in a lightweight way to compose the multihop pathsneeded to share applications at runtime RAMP performanceis evaluated considering aspects such as delay requirements

in real-time multimedia streaming Finally the simulationresults show that the feasibility of this proposal achieves goodresults in awide range of practical situationswith different filesizes and path lengths

Christensen [13] examines the architectural considera-tions of creating next generation mobile applications usingsmart mobile devices context enablement using sensors onthe device and cloud computing and RESTful web servicesMobile applications are enhanced with REST based cloudcomputing technologies to create applications on the smartmobile device with offload processing To best leveragethis they consider the capabilities and constraints of thesearchitectures

Mani et al presented in [14] a platform called SCOPE thatimplements an architecture to provide a P2P and spontaneoussolution for social networking in local areas SCOPE followsthe hierarchical P2P model because in a network there arenodes with higher computing capability which can forman overlay and provide the distributed data managementsystem for the P2P social network meanwhile client nodesconnect to supernodes and rely on them for sharing theircontents or accessing to the shared information SCOPE isbased on IEEE 80211 ad hoc mode and needs no infras-tructure SCOPE is developed to work on mobile devicesspontaneously without any dedicated network resourcesThe proposal provides the distributed database and lookupservices deployed on distributed hash table (DHT) tech-nology where it defines the rules for information manage-ment and creates our social networking overlay As authorsconclude this proposal is able to provide session basedcommunication services and provides a rich menu of socialnetworking services from simple linktext sharing to P2P IPtelephony

There are lots of applications where spontaneous net-works can be very useful Regarding the environmentalmonitoring Liu et al presented an adaptive and efficientpeer-to-peer search (AEPS) approach for distributed servicediscovery for dependable service integration on service-oriented architecture [15] The proposal is able to efficientlydiscover desirable services for decision making of disastermonitoring and relief by interacting with connected nodeswith incomplete information AEPS builds a social networkfor each sensor node which contributes to an effective servicediscovery AEPS is evaluated for rescue capability provisionwhere the results demonstrated that distributed nodes canself-organize in a peer-to-peer way and discover the requiredservice and information without any central administrationIn this case the creation of a spontaneous network is used toassist an emergency rescue team tomake the correct real-timedecisions in very changing environments

In [16] the authors studied how the underused com-puting resources within an enterprise may be harnessedto improve their utilization and create an elastic comput-ing infrastructure They propose to use an ad hoc cloudmodel that allows complex cloud-style applications to exploituntapped resources on nondedicated hardware They haveoutlined a case for ad hoc cloud computing a set of resultingresearch challenges and they propose an architecture Noprotocol is designed and developed in this paper

The Scientific World Journal 3

Taking into account that mobile devices are resource-constrained and some applications demand more resourcesthan they can afford in [17] Huerta-Canepa and Lee proposeto create a virtual cloud computing platform using mobilephones They present the preliminary design of a frameworkto create ad hoc cloud computing providers The frameworkcreates a cloud among the devices in the vicinity allowingthem to execute jobs between the devices However the workpresented is preliminary and no protocol has neither beendesigned nor detailed

Another solution is the presented by Divya in [18] Heproposes a conceptual architecture where a mobile applica-tion platform shares a service amongmultiple users A proof-of-concept prototype is developed using AndroidThe serverplatform shares Android OS among multiple users to obtainhigh performance on virtual image-based virtualization formobile applications

In this sense several authors of this paper have previ-ously deployed a spontaneous ad hoc network for multiplepurposes but never for cloud computing In [19] a secureprotocol for spontaneous wireless ad hoc networks wasproposed It is based on the behavior of human relationshipsIt uses a hybrid symmetricasymmetric scheme and the trustbetween users in order to exchange the initial data andto exchange the secret keys that will be used to encryptthe data In this paper authors explained the proceduresfor the nodersquos self-configuration and for providing DNSservice In [20] two flexible secure spontaneous wirelessad hoc network protocols for wireless mesh clients that arebased on the computational costs are proposed Proposalsare based on a trust network where the session key allowsnode confidentiality They have been implemented over theDSR routing protocolThe developed protocols provide nodeauthenticity and intermediate node authenticity when pack-ets are transmitted Integrity checking randomchecking andverification distribution are also considered in the protocolIn [21] we propose a secure spontaneous ad hoc networkbased on direct peer-to-peer interaction to grant a quickeasy and secure access to the users when they surf theweb The protocol allows the users to collaborate duringa period of time to accomplish a collaborative task Theproposal is also compared with other caching techniquespublished in the related literature The proposed solutionpresents a distributed model where the interaction requiredbetween devices is minimal In [22] we proposed a securespontaneous network to create communities Each commu-nity has an identity that acts as a unity on a world basedon internet connection Trust chains are established amongusers Chains of confidence allow the establishment of groupsor communities to access the services as well as for spreadinggroup information

As we have seen no previous spontaneous network hasbeen focused on mobile cloud computing

3 Network Model and Description

In this section the proposed spontaneous ad hoc network formobile cloud computing and its model is described

Our network model meets the following requirements

(1) Devices can move freely in the given area Even out ofeach otherrsquos range

(2) Every node is also a router It has a limited communi-cation range towards other nodes

(3) The different identities are given by IP addressesEach address is obtained dynamically following ourprevious proposal [23]

(4) There is no central administration(5) Devices can come fromeverywhere and join and leave

at will(6) Resources for cloud computing can be provided by

any node if it has enough capacity to do it

During the start-up of a node it broadcasts messagesin order to find neighbors In this kind of networks itis very important to select those nodes which offer betterperformance to the whole network [24] A node will acceptanother node as its neighbor as a function of the amount ofmessages it has received to this node When a new node hasdefined all its neighbors it sends its identity card to all itsneighbors If the neighbor sends back a message to informthat it has received the identity card and the content of thismessage is correct (by checking the hash of the message)then the newnode trusts these neighborsWhen a node trustsa second node it can send messages directly to the secondnode unless the second node does not trust the first node inthis case the communication is not allowedThe system doesnot follow the commutative and associative properties thatis although a first node can trust a second node the secondnode may not trust the first node It also happens with threenodes in a chain If a node wants to send a message towards anontrusted node then it has to do it through a trusted node

The system follows the next steps

(1) Broadcast messages searching neighbor nodes(2) Send its identity card to the neighbors(3) Acknowledgenot acknowledge the reception of the

messages from its neighbors(4) Set the neighbor node as a trusted or nontrusted node

Our protocol is based on the use of two informationstructures (1) an IDC (identity card) and (2) a certificate Onone hand the IDC is composed by two parts The first one isthe public part which is formed by a logical identity (LID) Itis unique for each user and allows nodes to identify it LIDincludes information such as name photograph and otheruser identification Public part also contains informationabout the public key of the user (119870

119894) and the information

signature On the other hand private part is composed by theprivate key (119896

119894) and this information is not accessible by other

devicesA certificate of a user consists of a validated identification

card signed by the user that gives its validity for exampleuser ldquo119895rdquo Thus the certificate of user ldquo119894rdquo validated and signedby the user ldquo119895rdquo corresponds to ldquo119862

119894119895rdquoTheuserwill introduce its

4 The Scientific World Journal

LID only the first time that the user uses the system becausethe security information is generated only the first time theuser joins the network Security data is stored persistently inthe device for its future use

In order to explain the procedure the following case isdetailed When there are three persons and two of themknow certain data then there is only one way that lets thethird person know this data one of the two persons musttrust the third personThis simple example explains basicallythe concept of trusted network and how data are exchangedbetween nodes

If the ad hoc network covers a large area then thecloud computing services can be obtained by using adhoc routing In this proposal the ad hoc routing is per-formed only between trusted nodes so there are twoimportant facts (1) nodes should not be trusted with-out the proper authentication of the node and user and(2) confidentiality integrity availability and access con-trol with authentication all of them must be based onencryption mechanisms that must be offered without centraladministration

If we want to create a spontaneous ad hoc network formobile cloud computing we need trust establishment keymanagement and membership control Network availabilityand routing security must also be added Techniques thatenable the creation of ad hoc networks based on the spon-taneity of human interactions (people who are near eachother can communicate exchange things and ask people torelay information to others) should be added In our modeleach node will send its public key towards its neighborsWhen the node obtains a public key it is considered validonly if it is sure that it belongs to the owner Not validmeans that it is not sure that the key belongs to the ownerIf the node trusts the key it signs the key with its privatekey and considers the node as a trusted neighbor Thena trust network is created When a new device joins thenetwork and it does not have a pair of keys it must generatethem to perform authentication and to communicate withother nodes When a node leaves the network the networkmaintains the data for a period of time in case it wants to comeback later But it has to authenticate again A node does nothave to obtain the public key from every other node in otherwords one node does not have to broadcast its authenticationinformation to all other nodes in the network Nodes canobtain this information through the ldquonetwork of trustrdquo Nowwe provide a simple example where the network is formedby three nodes Node 1 and node 2 know and trust eachother Then node 2 trusts a third node node 3 If the secondnode receives a public key from the third node and signs itwith its private key we consider that the owner of this key isldquotrustedrdquo Later if the first nodewants to obtain that key it canbe obtained from the second node and since the first nodetrusts the second one it ldquovalidatesrdquo this new key by signingit with its private key If the third node is not trustworthyany key signed by the third node will not be considereda trusted key Furthermore the first node will never signthe third node key although it might forward it to othernodes in the spontaneous ad hoc mobile cloud computingnetwork

31 Analytical Considerations In this section we analyze ourproposal analytically Our purpose is to model the behaviorof the spontaneous ad hoc network when there are nodesjoining and leaving during its existence On one hand wewill take care of the authentication and trust between nodes(by using trust links and trusted communication graphs)and on the other hand we model the network behavior(in terms of number of nodes in the network because ofleavings and joining of new nodes) by using the conditionalprobability density function Let119873(119905) be a set of users havinga meeting with wireless devices with |119873(119905)| = 119899 being themaximum number of users during a certain period of time119905 These users are located in a certain bounded region 119877 Thetrusted communication graph is the directed graph 119866(119905) =

(119873(119905) 119864(119905)) such that each pair of users (119906 V) isin 119864(119905) onlyif the userrsquos device V is within 119906rsquos transmitting range at thecurrent transmit power level at time 119905 The graph containsall possible wireless links between the nodes in the networkGiven any two nodes 119906119908 isin 119873 a path connecting 119906 and119908 in119866 is a sequence of nodes 119906 = 119906

0 1199061 119906

119896minus1 119906119896= V such

that for any 119894 = 0 119896 minus 1 (119906119894 119906119894+1

) isin 119864 The length of thepath is the number of edges in the pathMoreover 119906 has a pairof values (119879 119881) for each node119908which gives the trust (119879) andvalidity (119881) values for each user The trust and validity canonly have two values 119879 = 0 1 and 119881 = 0 1

Users can join and leave the spontaneous network at willso a range assignment RA is said to be connected at time 119905if the resulting communication graph at time 119905 is stronglyconnected that is if for any pair of nodes 119906 and V there existsat least one trusted connection from 119906 to V In other wordsthe trusted directed wireless link (119906 V) exists if and only ifnodes 119906 and V are at distance of at most RA(119906) at time 119905 andtheir trusted parameter value is equal to 1 In this case V issaid to be a 1-hop neighbor or neighbor for short of node 119906The trust nodes set of node 119906 denoted as TNS(119906) is definedas it is shown in the following expression

TNS (119906) = 119911 isin 119873 (119911 119906) isin 119864 119879 = 1 (1)

A trusted wireless link is said to be bidirectional orsymmetric at time 119905 if (119906 119911) isin 119864(119905) (119911 119906) isin 119864(119905) 119906 trusts 119911and 119911 trusts 119906 The trusted communication graph generatedcan be considered as undirected since (119906 119911) isin 119864(119905) hArr

(119911 119906) isin 119864(119905)Let us suppose that a user 119906 has authenticated the user 119908

and 119906 has 119908rsquos public key then 119906 sends a message encryptedwith the session key to 119908 In this case we say that there is atrusted directed graph from 119906 to 119908 For any trusted directedgraph 119867 isin 119866 if two users 119906 and 119908 are in 119867 and there is atrusted directed path from 119906 to 119908 in 119867 then we say that 119908is reachable from 119906 in 119867 and we denote this by (119906 harr 119908)

119867

thus 119908 is also reachable from 119906 in 119866 and we denote this by(119906 harr 119908)

119866

In order to use a public key distribution system for userauthentication and session key sharing each user maintainsa local repository of public key certificates and their trustvalues When the user 119906 wants to use the resources sharedby user 119908 first 119908 must trust 119906 so they must merge theirsubgraphs and try to find a trusted directed path from 119906 to119908

The Scientific World Journal 5

Thus we can apply a subgraph theory based similar to workperformed by Capkun et al in [25] But in that case theymerged subgraphs to authenticate a public key in trustedauthorities or certificate repositories not trusted paths whilewe merge subgraphs to validate trusted paths

We assume that each user has the same subgraph selectionalgorithm119860 to build its subgraphWe denote 119878

119860(119867 119906) by the

algorithm119860 executed in119867 isin 119866 by the user119906Whenwemergethe subgraph 119878

119860(119867 119906) of user 119906 with 119878

119860(119867 V) of user V we

obtain 119878119860(119867 119906 V) When the trusted communication graph

is undirected 119878119860(119867 119906 V) = 119878

119860(119867 V 119906)

The performance of the subgraph selection algorithmdenoted by 119875

119860(119867) is defined as the ratio of the number of

user pairs (119906 119908) where there is a trusted directed path from119906 to 119908 in the merge subgraph of 119906 and 119908 to the number ofuser pairs (119906 119908) where there is a directed path from 119906 to 119908

in the trust graph The following expression shows 119875119860(119867)

119875119860 (119867) =

Card (119906 V) isin 119873119909119873 (119906 harr V)119878119860(119866119906V)Card (119906 V) isin 119873119909119873 (119906 harr V)119866

(2)

where card denotes the cardinality of a set The performanceof 119860 can be increased by selecting larger subgraphs that isusingmore information about the trust graph but the devicesof the users will need more memory to store their subgraphsMoreover the devices will need high amount of knowledge toexecute it

In order to model the network behavior when the usersjoin the network during the meeting time we have used thediffusion approximation In the spontaneous network therewill be users that join and leave the ad hoc network at will Let119905119894be the arrival time of the user 119894 to the network and let 1199051015840

119894be

the departure time of the user 119894That is 0 le 119905119894lt 1199051015840119894le 119879 where

119879 is the network lifetime Let 119860(119905) and 119863(119905) represent thecumulative number of arrivals and departures respectivelyup to time 119905The number of users in the spontaneous networkat time 119905119873(119905) is given by the following expression

119873(119905) = 119860 (119905) minus 119863 (119905) (3)

Let the consecutive interarrival time 119886119894

= 119905119894minus 119905119894minus1

and the consecutive interdeparture time 119889119894= 1199051015840119894minus 1199051015840119894minus1

beboth independent and identically distributed with the (meanvariance) given by (1120583

119886 1205902119886) and (1120583

119889 1205902119889) respectively Let

their squared coefficients of variation be 1198622119886= 1205902119886sdot 120583119886and

1198622119889

= 1205902119889sdot 120583119889 respectively We define the sum of a set of

consecutive interarrival times as 119879119896= sum119870

119894=1119886119894 We assume

that they are independent and identically distributed randomvariables hence according to the central limit theorem thestandardized random variable 119879lowast

119896 shown in expression (4)

tends to a standard normal distribution with 119896 rarr infin as it isshown in the following expression

119879lowast

119896=119879119896minus 119896 sdot 120583

119886

120590119886radic119896

(4)

119873(119905) = lim119896rarrinfin

119875[119879119896minus 119896 sdot 120583

119886

120590119886radic119896

le 119899] =1

radic2120587int119899

minusinfin

119890minus(11990522)119889119905

(5)

If 119896 is large enough there will be many arriving usersbetween 119905 and 119905 + 119896 and may be approximated by thenormal distribution with mean 120583

119886119905 and variance 1205902

1198861205833119886119905

Similarily the number of leaving users during that time willbe approximately normally distributed with mean 120583

119889119905 and

variance 12059021198891205833119889119905 Consequently the changes of119873(119905)within the

interval [119905 119905+119896] then119873(119905+119896)minus119873(119905) should be approximatelynormally distributed with the mean as is shown in thefollowing expression

120573 = (120583119886minus 120583119889) 119905 (6)

And the variance is given by the following expression

120572 = (1205902

1198861205833

119886+ 1205902

1198891205833

119889) 119905 (7)

The diffusion approximation replaces119873(119905) by a continu-ous diffusion process (also known as Wiener-Levy process)119909(119905) normally distributed with the mean 120573 sdot 119889119905 and variance120572 sdot 119889119905 Given the initial value 119909

0= 0 the unrestricted process

119909(119905) would have the conditional probability density functionat time 119905 given by the following expression

119875 (119909 119905) =1

radic2120587120572119905119890minus((119909minus120573119905)

22120572119905)

(8)

which satisfies Kolmogorov diffusion equation (also knownas Fokker-Planck equation) given in the following expression

120597119891 (119909 119905)

120597119905= minus120573

120597119891 (119909 119905)

120597119909+120572

2

1205972119891 (119909 119905)

1205971199092 (9)

Deriving expression (8) in expression (9) and treating 119909 =

0 as a reflecting barrier for all 119905 gt 0 we obtain the followingexpression

lim119909rarrinfin

[minus120573119875 (119909 119905) +120572

2

120597119875 (119909 119905)

120597119909] = 0 (10)

Nowwe can estimate the solutionwhen 119905 rarr infin and120583119886lt

120583119889 Expression (11) shows the equilibrium distribution of the

conditional probability density function [26]

119875 (119909) =210038161003816100381610038161205731003816100381610038161003816

120572119890minus(2|120573|119909120572)

(11)

where 120572 and 120573 are defined in (6) and (7) which are relatedto the probability of nodesrsquo interarrival and interdeparturetimes

32 Cryptographic System The cryptographic algorithmelection has been taken bearing in mind their strong securityand simple key management features Symmetric algorithmsand summary functions have lower computational cost thanpublic key cryptography but public key cryptography hasstronger security and it could be feasible in devices with lowcomputation capacity

In our proposal we use a summary function withsymmetric and asymmetric algorithms with the purposeof taking their benefits The security management is based

6 The Scientific World Journal

Table 1 Trust and validity values

Parameter Level When does it happen

Trust 0 (i) There has been a greeting process between users but the one in the network does not trust him(ii) The user has reduced the level of confidence to the other one

1 (i) It has been a greeting process between user and the one in the network that trusts him(ii) The user has increased the level of confidence to the other one

Validity 0 (i) It is not obtained from the greeting process with that user(ii) The validity has not been obtained through a trusted node

1 (i) It has been obtained directly from the greeting process with that user(ii) It has been obtained through a trusted node

on the public key infrastructure and the symmetric keyencryption scheme Asymmetric key encryption scheme ismainly used in the distribution of session key and in the userauthentication process It lets us also generate a distributedcertification authorityThe symmetric key is used as a sessionkey to cipher the confidential messages between trust nodesbecause it has less energy requirements [27ndash29] Asymmetrickey encryption scheme is used to authenticate the usersThe hybrid symmetricasymmetric scheme is introduced toexchange the initial data and to exchange the secret keys thatwill be used to encrypt the data The hash function lets usimprove the data integrityNowwe are going to discusswhichalgorithms are the best for our purpose

We have used advanced encryption standard (AES) algo-rithm for the symmetric encryption scheme [30] It presentsa high security level because its design structure removessubkey symmetry It is also resistant to lineal and differentialcryptanalysis AES is actually considered as one of the mostsecured ones Moreover the execution times and the energyconsumption in the cryptography processes are adequate forlow power devices

The asymmetric encryption scheme should overload thedevices as less as possible On one hand elliptic curvecryptosystem (ECC) is presented as a high performancescheme that is recommended by many researchers [31] Onthe other hand Rivest Shamir and Adleman cryptographicalgorithm (RSA) is very secure and it has been checked andrecommended by many scientists [32] ECC needs fewer bitsthan RSA (163 bits in ECC versus 1024 bits in RSA) in orderto obtain the same security level so it is able to achievehigh security level with low size keys without consumingtoo much system resources thus needing less bandwidthECC is usually adequate for small devices with few memoryresources and low computing resources (such as cellularphones and smart cards) In order to have flexibility in ourprotocol and because both cryptographic algorithms havegood performance we have included both (RSA and ECC)in our protocol The election of one of them will be taken inthe network formation Both algorithms will be shown laterin our performance study

We have selected secure hash algorithm (SHA-1) for thesummary function [33] SHA-1 is commonly used becauseof its equilibrium between its speed and its security Thisperformance is also maintained in low computing devicesThis feature does not happen in other functions because theymainly depend on the processor Its execution time and its

k1

K1

k21K21

k3K3

k2K2

k41K41

k4K4

k42K42

NotationA rarr B A trusts BB rarr A B trusts AB harr A reciprocal trust

Figure 1 Example of trust nodes

energy consumption are not so high when they are comparedwith other functions

33 Trusted Network The proposed model is based on thecreation and management of a trusted network A node willtrust other nodes through personal view and criteria That isthe trust is based on the relationship of the users rather thanon a central certification authorityThe user of the device willidentify the other users and will be in charge of establishinga trust value (0 or 1) associated with each one of them Theparameters used for configuring this trust network are trustand validity

Trust refers to the person who owns the key and its valuewill be established by the relationship between the user thatgrants it and the user that is granted It should be granted toreliable persons when their IDCs are exchanged The trustcan always be changed manually by the user later Validityindicates that a certificate belongs to that persondeviceTable 1 shows the trust and validity values

34 Certification Authority The certification authority of anode could be any node in the group of nodes that this nodetrusts This system lets us build a distributed certificationauthority between trust nodes When a node wants tocommunicate with other nodes and see if it is a valid nodeit can request the certificate of that node to its trust nodesAfter obtaining this certificate it will be able to sign this node

The Scientific World Journal 7

AplicacionMid Services OwnBDPacketsNodesAskNodes Client

PaqReqBroadCast

DataRequest info

Network updateSelect nodeGetInfo ()

GetNodes ()

Nodes

CreatePaq ()

GetData ()ObtainReg ()

Data ()Data

FinishPaq ()

Network update

Start ()

Packet

Figure 2 Procedure to request an update from all network nodes

as a valid node All nodes can be both client requestinginformation or authentication to other nodes and serverserving requests for information or authentication fromothernodes Figure 1 shows an example Each 119899 node has its publickey (119870

119899) and it private key (119896

119899) Nodes 2 and 4 are trust nodes

of node 1 but not of node 3 Thus nodes 2 and 4 could act asa certification authority of node 1

4 System Design

In this section we explain the designed algorithms for thenodes the network procedures and the classes designed forCastalia in order to simulate it

41 Network Procedures After defining the network modeland the security features that our proposed spontaneous adhoc network should present it is important to specify howa node should work and the set of actions it should performto ensure the correct operation of the whole network Thissubsection explains the operation of the network and themain processes included

In order to design the flow chart diagrams we have usedthe Unified Modeling Language (UML) [34] UML is anindustry standard modeling language with a rich graphicalnotation and comprehensive set of diagrams and elementsthat can be used to model object oriented systems

411 Procedure to Request the Update to all Network NodesA user requests a data updating from all nodes Firstly theinformation about network nodes is obtained Secondly data

updating packet is prepared and the request is sent Figure 2shows the procedure and the primitives and services offeredand served by the nodes

412 Procedure to Process a Request When a request isreceived the information requested is checked and a reply issent to the source node that sent the requestThen the requestis forwarded to the rest of network nodes After receiving thedata request form a new client can be attended The processto attend each request is shown in Figure 3 As the diagramshows each task is validated by the replying of packets withdata information node information or control packets Afterthe confirmation a newpacket is sent in order to complete thecommunication between nodes

42 Node Algorithms

421 Packet Control When a packet is received by a node itapplies a packet control process to the received data Figure 4shows it Data are checked to know whether it is correct andit has not been modified during the transmission or not Thesource IP packet number and retry number are some of thechecked parametersThis check is performed just for securityreasons despite of its analysis at lower levels such as theunderlying wireless communication technology (BluetoothWi-Fi etc)

When Bluetooth is used the Bluetooth frames are usedin the authentication process In this case the packet digest(hash) is not ciphered with the session key because thereceiver node does not have this key yet The packet includes

8 The Scientific World Journal

Server ServPaq OwnBDPacketsNodesReceived Client

dividePack()

PaqReqBroadCast

FinishPaq ()

Data

treatPac()

ControlPac()SeePac()

PaqReqBroadCast

finishPaq ()

Start()

Received()

ProcCurrent()

NewInf

Resp update

GetData ()getReg()

getReg()

Data

DataData

Packet

Packet

New clientStart

New clientStart

GetNodes ()

Nodes

Resend request

getData ()

Data ()

Figure 3 Procedure to process a request

the senderrsquos node certificate cipheredwith the senderrsquos privatekey Senderrsquos public key is also included in the packet Senderrsquosnode certificate is deciphered with its public key

When Wi-Fi is used the packet digest is ciphered withthe session key When the frame is received data are firstlydeciphered and then the frame is checked

In both cases if the hash comparison is wrong the systemshows a message informing that the frame is wrong If theresults of the comparisons are valid packets are processedand this process ends

422 Modification of Keys When a user decided to modifyits asymmetric keys he is notified of the risks This notifi-cation is shown as a text message in an emergent windowIf the user decides to modify it userrsquos keys are regenerated

and the certificate is modified As Figure 5 shows after thesechanges new data is stored Finally the system allows userto stop the process of modification keys before they arechanged423 Main Menu For the development of the softwareapplication we have designed a main menu that includes asubmenu the services offered in the mobile cloud computingnetwork a submenu that allows the user to exchange dataand a submenu to see its own data Figure 6 shows all thepossibilities that the main menu offers424 Request of Information In our system there are twotypes of information request

(i) request for one node there is a request for one nodeabout specific information

The Scientific World Journal 9

Receivedpacket

Checksender IP

WrongIP

Packet numbercontrol

Wrong packetnumber

Control of attemptnumber

Wrongnumber

Packet division

Show messageldquowrong packetrdquo

Yes

No

Yes

No

Yes

No

Packet receivedusing Wi-Fi

Packetreceived using

Wi-Fi

Hash decryption usingsession key

Yes Packet receivedusing Bluetooth

Create new hash withthe received data

Create new hash withthe received data

Compare received and generated hash

Compare received and generated hash Different

hash

Differenthash Decrypt certificate with

the received public key

Compare received and generated certificates

Differenthash

Storecertificates

Processpackets

No

No

No

Finish packetcontrol

No

Yes

Yes

Yes

Figure 4 Packet control

10 The Scientific World Journal

Start

Select modification of asymmetric keys

Modifyit

it

No

Keysmodification

Certificate modification

Store modified data

Back

End

Report of modificationas rissky

Report of certificate modificationbecause of keys modification

ModifyNo

Yes

Yes

Back

Figure 5 Modification of keys

Choosenetwork

Show main menu Finish mainmenu

Show data changemenu Show own dataShow services menu

Senddata

Ask information

Show node list

Ask all networkinformation

Ask a certificate

Ask a nodeinformation

Changepassword

Change asymmetrickeys and certificate

Change owndata

Figure 6 Main menu

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 3: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

The Scientific World Journal 3

Taking into account that mobile devices are resource-constrained and some applications demand more resourcesthan they can afford in [17] Huerta-Canepa and Lee proposeto create a virtual cloud computing platform using mobilephones They present the preliminary design of a frameworkto create ad hoc cloud computing providers The frameworkcreates a cloud among the devices in the vicinity allowingthem to execute jobs between the devices However the workpresented is preliminary and no protocol has neither beendesigned nor detailed

Another solution is the presented by Divya in [18] Heproposes a conceptual architecture where a mobile applica-tion platform shares a service amongmultiple users A proof-of-concept prototype is developed using AndroidThe serverplatform shares Android OS among multiple users to obtainhigh performance on virtual image-based virtualization formobile applications

In this sense several authors of this paper have previ-ously deployed a spontaneous ad hoc network for multiplepurposes but never for cloud computing In [19] a secureprotocol for spontaneous wireless ad hoc networks wasproposed It is based on the behavior of human relationshipsIt uses a hybrid symmetricasymmetric scheme and the trustbetween users in order to exchange the initial data andto exchange the secret keys that will be used to encryptthe data In this paper authors explained the proceduresfor the nodersquos self-configuration and for providing DNSservice In [20] two flexible secure spontaneous wirelessad hoc network protocols for wireless mesh clients that arebased on the computational costs are proposed Proposalsare based on a trust network where the session key allowsnode confidentiality They have been implemented over theDSR routing protocolThe developed protocols provide nodeauthenticity and intermediate node authenticity when pack-ets are transmitted Integrity checking randomchecking andverification distribution are also considered in the protocolIn [21] we propose a secure spontaneous ad hoc networkbased on direct peer-to-peer interaction to grant a quickeasy and secure access to the users when they surf theweb The protocol allows the users to collaborate duringa period of time to accomplish a collaborative task Theproposal is also compared with other caching techniquespublished in the related literature The proposed solutionpresents a distributed model where the interaction requiredbetween devices is minimal In [22] we proposed a securespontaneous network to create communities Each commu-nity has an identity that acts as a unity on a world basedon internet connection Trust chains are established amongusers Chains of confidence allow the establishment of groupsor communities to access the services as well as for spreadinggroup information

As we have seen no previous spontaneous network hasbeen focused on mobile cloud computing

3 Network Model and Description

In this section the proposed spontaneous ad hoc network formobile cloud computing and its model is described

Our network model meets the following requirements

(1) Devices can move freely in the given area Even out ofeach otherrsquos range

(2) Every node is also a router It has a limited communi-cation range towards other nodes

(3) The different identities are given by IP addressesEach address is obtained dynamically following ourprevious proposal [23]

(4) There is no central administration(5) Devices can come fromeverywhere and join and leave

at will(6) Resources for cloud computing can be provided by

any node if it has enough capacity to do it

During the start-up of a node it broadcasts messagesin order to find neighbors In this kind of networks itis very important to select those nodes which offer betterperformance to the whole network [24] A node will acceptanother node as its neighbor as a function of the amount ofmessages it has received to this node When a new node hasdefined all its neighbors it sends its identity card to all itsneighbors If the neighbor sends back a message to informthat it has received the identity card and the content of thismessage is correct (by checking the hash of the message)then the newnode trusts these neighborsWhen a node trustsa second node it can send messages directly to the secondnode unless the second node does not trust the first node inthis case the communication is not allowedThe system doesnot follow the commutative and associative properties thatis although a first node can trust a second node the secondnode may not trust the first node It also happens with threenodes in a chain If a node wants to send a message towards anontrusted node then it has to do it through a trusted node

The system follows the next steps

(1) Broadcast messages searching neighbor nodes(2) Send its identity card to the neighbors(3) Acknowledgenot acknowledge the reception of the

messages from its neighbors(4) Set the neighbor node as a trusted or nontrusted node

Our protocol is based on the use of two informationstructures (1) an IDC (identity card) and (2) a certificate Onone hand the IDC is composed by two parts The first one isthe public part which is formed by a logical identity (LID) Itis unique for each user and allows nodes to identify it LIDincludes information such as name photograph and otheruser identification Public part also contains informationabout the public key of the user (119870

119894) and the information

signature On the other hand private part is composed by theprivate key (119896

119894) and this information is not accessible by other

devicesA certificate of a user consists of a validated identification

card signed by the user that gives its validity for exampleuser ldquo119895rdquo Thus the certificate of user ldquo119894rdquo validated and signedby the user ldquo119895rdquo corresponds to ldquo119862

119894119895rdquoTheuserwill introduce its

4 The Scientific World Journal

LID only the first time that the user uses the system becausethe security information is generated only the first time theuser joins the network Security data is stored persistently inthe device for its future use

In order to explain the procedure the following case isdetailed When there are three persons and two of themknow certain data then there is only one way that lets thethird person know this data one of the two persons musttrust the third personThis simple example explains basicallythe concept of trusted network and how data are exchangedbetween nodes

If the ad hoc network covers a large area then thecloud computing services can be obtained by using adhoc routing In this proposal the ad hoc routing is per-formed only between trusted nodes so there are twoimportant facts (1) nodes should not be trusted with-out the proper authentication of the node and user and(2) confidentiality integrity availability and access con-trol with authentication all of them must be based onencryption mechanisms that must be offered without centraladministration

If we want to create a spontaneous ad hoc network formobile cloud computing we need trust establishment keymanagement and membership control Network availabilityand routing security must also be added Techniques thatenable the creation of ad hoc networks based on the spon-taneity of human interactions (people who are near eachother can communicate exchange things and ask people torelay information to others) should be added In our modeleach node will send its public key towards its neighborsWhen the node obtains a public key it is considered validonly if it is sure that it belongs to the owner Not validmeans that it is not sure that the key belongs to the ownerIf the node trusts the key it signs the key with its privatekey and considers the node as a trusted neighbor Thena trust network is created When a new device joins thenetwork and it does not have a pair of keys it must generatethem to perform authentication and to communicate withother nodes When a node leaves the network the networkmaintains the data for a period of time in case it wants to comeback later But it has to authenticate again A node does nothave to obtain the public key from every other node in otherwords one node does not have to broadcast its authenticationinformation to all other nodes in the network Nodes canobtain this information through the ldquonetwork of trustrdquo Nowwe provide a simple example where the network is formedby three nodes Node 1 and node 2 know and trust eachother Then node 2 trusts a third node node 3 If the secondnode receives a public key from the third node and signs itwith its private key we consider that the owner of this key isldquotrustedrdquo Later if the first nodewants to obtain that key it canbe obtained from the second node and since the first nodetrusts the second one it ldquovalidatesrdquo this new key by signingit with its private key If the third node is not trustworthyany key signed by the third node will not be considereda trusted key Furthermore the first node will never signthe third node key although it might forward it to othernodes in the spontaneous ad hoc mobile cloud computingnetwork

31 Analytical Considerations In this section we analyze ourproposal analytically Our purpose is to model the behaviorof the spontaneous ad hoc network when there are nodesjoining and leaving during its existence On one hand wewill take care of the authentication and trust between nodes(by using trust links and trusted communication graphs)and on the other hand we model the network behavior(in terms of number of nodes in the network because ofleavings and joining of new nodes) by using the conditionalprobability density function Let119873(119905) be a set of users havinga meeting with wireless devices with |119873(119905)| = 119899 being themaximum number of users during a certain period of time119905 These users are located in a certain bounded region 119877 Thetrusted communication graph is the directed graph 119866(119905) =

(119873(119905) 119864(119905)) such that each pair of users (119906 V) isin 119864(119905) onlyif the userrsquos device V is within 119906rsquos transmitting range at thecurrent transmit power level at time 119905 The graph containsall possible wireless links between the nodes in the networkGiven any two nodes 119906119908 isin 119873 a path connecting 119906 and119908 in119866 is a sequence of nodes 119906 = 119906

0 1199061 119906

119896minus1 119906119896= V such

that for any 119894 = 0 119896 minus 1 (119906119894 119906119894+1

) isin 119864 The length of thepath is the number of edges in the pathMoreover 119906 has a pairof values (119879 119881) for each node119908which gives the trust (119879) andvalidity (119881) values for each user The trust and validity canonly have two values 119879 = 0 1 and 119881 = 0 1

Users can join and leave the spontaneous network at willso a range assignment RA is said to be connected at time 119905if the resulting communication graph at time 119905 is stronglyconnected that is if for any pair of nodes 119906 and V there existsat least one trusted connection from 119906 to V In other wordsthe trusted directed wireless link (119906 V) exists if and only ifnodes 119906 and V are at distance of at most RA(119906) at time 119905 andtheir trusted parameter value is equal to 1 In this case V issaid to be a 1-hop neighbor or neighbor for short of node 119906The trust nodes set of node 119906 denoted as TNS(119906) is definedas it is shown in the following expression

TNS (119906) = 119911 isin 119873 (119911 119906) isin 119864 119879 = 1 (1)

A trusted wireless link is said to be bidirectional orsymmetric at time 119905 if (119906 119911) isin 119864(119905) (119911 119906) isin 119864(119905) 119906 trusts 119911and 119911 trusts 119906 The trusted communication graph generatedcan be considered as undirected since (119906 119911) isin 119864(119905) hArr

(119911 119906) isin 119864(119905)Let us suppose that a user 119906 has authenticated the user 119908

and 119906 has 119908rsquos public key then 119906 sends a message encryptedwith the session key to 119908 In this case we say that there is atrusted directed graph from 119906 to 119908 For any trusted directedgraph 119867 isin 119866 if two users 119906 and 119908 are in 119867 and there is atrusted directed path from 119906 to 119908 in 119867 then we say that 119908is reachable from 119906 in 119867 and we denote this by (119906 harr 119908)

119867

thus 119908 is also reachable from 119906 in 119866 and we denote this by(119906 harr 119908)

119866

In order to use a public key distribution system for userauthentication and session key sharing each user maintainsa local repository of public key certificates and their trustvalues When the user 119906 wants to use the resources sharedby user 119908 first 119908 must trust 119906 so they must merge theirsubgraphs and try to find a trusted directed path from 119906 to119908

The Scientific World Journal 5

Thus we can apply a subgraph theory based similar to workperformed by Capkun et al in [25] But in that case theymerged subgraphs to authenticate a public key in trustedauthorities or certificate repositories not trusted paths whilewe merge subgraphs to validate trusted paths

We assume that each user has the same subgraph selectionalgorithm119860 to build its subgraphWe denote 119878

119860(119867 119906) by the

algorithm119860 executed in119867 isin 119866 by the user119906Whenwemergethe subgraph 119878

119860(119867 119906) of user 119906 with 119878

119860(119867 V) of user V we

obtain 119878119860(119867 119906 V) When the trusted communication graph

is undirected 119878119860(119867 119906 V) = 119878

119860(119867 V 119906)

The performance of the subgraph selection algorithmdenoted by 119875

119860(119867) is defined as the ratio of the number of

user pairs (119906 119908) where there is a trusted directed path from119906 to 119908 in the merge subgraph of 119906 and 119908 to the number ofuser pairs (119906 119908) where there is a directed path from 119906 to 119908

in the trust graph The following expression shows 119875119860(119867)

119875119860 (119867) =

Card (119906 V) isin 119873119909119873 (119906 harr V)119878119860(119866119906V)Card (119906 V) isin 119873119909119873 (119906 harr V)119866

(2)

where card denotes the cardinality of a set The performanceof 119860 can be increased by selecting larger subgraphs that isusingmore information about the trust graph but the devicesof the users will need more memory to store their subgraphsMoreover the devices will need high amount of knowledge toexecute it

In order to model the network behavior when the usersjoin the network during the meeting time we have used thediffusion approximation In the spontaneous network therewill be users that join and leave the ad hoc network at will Let119905119894be the arrival time of the user 119894 to the network and let 1199051015840

119894be

the departure time of the user 119894That is 0 le 119905119894lt 1199051015840119894le 119879 where

119879 is the network lifetime Let 119860(119905) and 119863(119905) represent thecumulative number of arrivals and departures respectivelyup to time 119905The number of users in the spontaneous networkat time 119905119873(119905) is given by the following expression

119873(119905) = 119860 (119905) minus 119863 (119905) (3)

Let the consecutive interarrival time 119886119894

= 119905119894minus 119905119894minus1

and the consecutive interdeparture time 119889119894= 1199051015840119894minus 1199051015840119894minus1

beboth independent and identically distributed with the (meanvariance) given by (1120583

119886 1205902119886) and (1120583

119889 1205902119889) respectively Let

their squared coefficients of variation be 1198622119886= 1205902119886sdot 120583119886and

1198622119889

= 1205902119889sdot 120583119889 respectively We define the sum of a set of

consecutive interarrival times as 119879119896= sum119870

119894=1119886119894 We assume

that they are independent and identically distributed randomvariables hence according to the central limit theorem thestandardized random variable 119879lowast

119896 shown in expression (4)

tends to a standard normal distribution with 119896 rarr infin as it isshown in the following expression

119879lowast

119896=119879119896minus 119896 sdot 120583

119886

120590119886radic119896

(4)

119873(119905) = lim119896rarrinfin

119875[119879119896minus 119896 sdot 120583

119886

120590119886radic119896

le 119899] =1

radic2120587int119899

minusinfin

119890minus(11990522)119889119905

(5)

If 119896 is large enough there will be many arriving usersbetween 119905 and 119905 + 119896 and may be approximated by thenormal distribution with mean 120583

119886119905 and variance 1205902

1198861205833119886119905

Similarily the number of leaving users during that time willbe approximately normally distributed with mean 120583

119889119905 and

variance 12059021198891205833119889119905 Consequently the changes of119873(119905)within the

interval [119905 119905+119896] then119873(119905+119896)minus119873(119905) should be approximatelynormally distributed with the mean as is shown in thefollowing expression

120573 = (120583119886minus 120583119889) 119905 (6)

And the variance is given by the following expression

120572 = (1205902

1198861205833

119886+ 1205902

1198891205833

119889) 119905 (7)

The diffusion approximation replaces119873(119905) by a continu-ous diffusion process (also known as Wiener-Levy process)119909(119905) normally distributed with the mean 120573 sdot 119889119905 and variance120572 sdot 119889119905 Given the initial value 119909

0= 0 the unrestricted process

119909(119905) would have the conditional probability density functionat time 119905 given by the following expression

119875 (119909 119905) =1

radic2120587120572119905119890minus((119909minus120573119905)

22120572119905)

(8)

which satisfies Kolmogorov diffusion equation (also knownas Fokker-Planck equation) given in the following expression

120597119891 (119909 119905)

120597119905= minus120573

120597119891 (119909 119905)

120597119909+120572

2

1205972119891 (119909 119905)

1205971199092 (9)

Deriving expression (8) in expression (9) and treating 119909 =

0 as a reflecting barrier for all 119905 gt 0 we obtain the followingexpression

lim119909rarrinfin

[minus120573119875 (119909 119905) +120572

2

120597119875 (119909 119905)

120597119909] = 0 (10)

Nowwe can estimate the solutionwhen 119905 rarr infin and120583119886lt

120583119889 Expression (11) shows the equilibrium distribution of the

conditional probability density function [26]

119875 (119909) =210038161003816100381610038161205731003816100381610038161003816

120572119890minus(2|120573|119909120572)

(11)

where 120572 and 120573 are defined in (6) and (7) which are relatedto the probability of nodesrsquo interarrival and interdeparturetimes

32 Cryptographic System The cryptographic algorithmelection has been taken bearing in mind their strong securityand simple key management features Symmetric algorithmsand summary functions have lower computational cost thanpublic key cryptography but public key cryptography hasstronger security and it could be feasible in devices with lowcomputation capacity

In our proposal we use a summary function withsymmetric and asymmetric algorithms with the purposeof taking their benefits The security management is based

6 The Scientific World Journal

Table 1 Trust and validity values

Parameter Level When does it happen

Trust 0 (i) There has been a greeting process between users but the one in the network does not trust him(ii) The user has reduced the level of confidence to the other one

1 (i) It has been a greeting process between user and the one in the network that trusts him(ii) The user has increased the level of confidence to the other one

Validity 0 (i) It is not obtained from the greeting process with that user(ii) The validity has not been obtained through a trusted node

1 (i) It has been obtained directly from the greeting process with that user(ii) It has been obtained through a trusted node

on the public key infrastructure and the symmetric keyencryption scheme Asymmetric key encryption scheme ismainly used in the distribution of session key and in the userauthentication process It lets us also generate a distributedcertification authorityThe symmetric key is used as a sessionkey to cipher the confidential messages between trust nodesbecause it has less energy requirements [27ndash29] Asymmetrickey encryption scheme is used to authenticate the usersThe hybrid symmetricasymmetric scheme is introduced toexchange the initial data and to exchange the secret keys thatwill be used to encrypt the data The hash function lets usimprove the data integrityNowwe are going to discusswhichalgorithms are the best for our purpose

We have used advanced encryption standard (AES) algo-rithm for the symmetric encryption scheme [30] It presentsa high security level because its design structure removessubkey symmetry It is also resistant to lineal and differentialcryptanalysis AES is actually considered as one of the mostsecured ones Moreover the execution times and the energyconsumption in the cryptography processes are adequate forlow power devices

The asymmetric encryption scheme should overload thedevices as less as possible On one hand elliptic curvecryptosystem (ECC) is presented as a high performancescheme that is recommended by many researchers [31] Onthe other hand Rivest Shamir and Adleman cryptographicalgorithm (RSA) is very secure and it has been checked andrecommended by many scientists [32] ECC needs fewer bitsthan RSA (163 bits in ECC versus 1024 bits in RSA) in orderto obtain the same security level so it is able to achievehigh security level with low size keys without consumingtoo much system resources thus needing less bandwidthECC is usually adequate for small devices with few memoryresources and low computing resources (such as cellularphones and smart cards) In order to have flexibility in ourprotocol and because both cryptographic algorithms havegood performance we have included both (RSA and ECC)in our protocol The election of one of them will be taken inthe network formation Both algorithms will be shown laterin our performance study

We have selected secure hash algorithm (SHA-1) for thesummary function [33] SHA-1 is commonly used becauseof its equilibrium between its speed and its security Thisperformance is also maintained in low computing devicesThis feature does not happen in other functions because theymainly depend on the processor Its execution time and its

k1

K1

k21K21

k3K3

k2K2

k41K41

k4K4

k42K42

NotationA rarr B A trusts BB rarr A B trusts AB harr A reciprocal trust

Figure 1 Example of trust nodes

energy consumption are not so high when they are comparedwith other functions

33 Trusted Network The proposed model is based on thecreation and management of a trusted network A node willtrust other nodes through personal view and criteria That isthe trust is based on the relationship of the users rather thanon a central certification authorityThe user of the device willidentify the other users and will be in charge of establishinga trust value (0 or 1) associated with each one of them Theparameters used for configuring this trust network are trustand validity

Trust refers to the person who owns the key and its valuewill be established by the relationship between the user thatgrants it and the user that is granted It should be granted toreliable persons when their IDCs are exchanged The trustcan always be changed manually by the user later Validityindicates that a certificate belongs to that persondeviceTable 1 shows the trust and validity values

34 Certification Authority The certification authority of anode could be any node in the group of nodes that this nodetrusts This system lets us build a distributed certificationauthority between trust nodes When a node wants tocommunicate with other nodes and see if it is a valid nodeit can request the certificate of that node to its trust nodesAfter obtaining this certificate it will be able to sign this node

The Scientific World Journal 7

AplicacionMid Services OwnBDPacketsNodesAskNodes Client

PaqReqBroadCast

DataRequest info

Network updateSelect nodeGetInfo ()

GetNodes ()

Nodes

CreatePaq ()

GetData ()ObtainReg ()

Data ()Data

FinishPaq ()

Network update

Start ()

Packet

Figure 2 Procedure to request an update from all network nodes

as a valid node All nodes can be both client requestinginformation or authentication to other nodes and serverserving requests for information or authentication fromothernodes Figure 1 shows an example Each 119899 node has its publickey (119870

119899) and it private key (119896

119899) Nodes 2 and 4 are trust nodes

of node 1 but not of node 3 Thus nodes 2 and 4 could act asa certification authority of node 1

4 System Design

In this section we explain the designed algorithms for thenodes the network procedures and the classes designed forCastalia in order to simulate it

41 Network Procedures After defining the network modeland the security features that our proposed spontaneous adhoc network should present it is important to specify howa node should work and the set of actions it should performto ensure the correct operation of the whole network Thissubsection explains the operation of the network and themain processes included

In order to design the flow chart diagrams we have usedthe Unified Modeling Language (UML) [34] UML is anindustry standard modeling language with a rich graphicalnotation and comprehensive set of diagrams and elementsthat can be used to model object oriented systems

411 Procedure to Request the Update to all Network NodesA user requests a data updating from all nodes Firstly theinformation about network nodes is obtained Secondly data

updating packet is prepared and the request is sent Figure 2shows the procedure and the primitives and services offeredand served by the nodes

412 Procedure to Process a Request When a request isreceived the information requested is checked and a reply issent to the source node that sent the requestThen the requestis forwarded to the rest of network nodes After receiving thedata request form a new client can be attended The processto attend each request is shown in Figure 3 As the diagramshows each task is validated by the replying of packets withdata information node information or control packets Afterthe confirmation a newpacket is sent in order to complete thecommunication between nodes

42 Node Algorithms

421 Packet Control When a packet is received by a node itapplies a packet control process to the received data Figure 4shows it Data are checked to know whether it is correct andit has not been modified during the transmission or not Thesource IP packet number and retry number are some of thechecked parametersThis check is performed just for securityreasons despite of its analysis at lower levels such as theunderlying wireless communication technology (BluetoothWi-Fi etc)

When Bluetooth is used the Bluetooth frames are usedin the authentication process In this case the packet digest(hash) is not ciphered with the session key because thereceiver node does not have this key yet The packet includes

8 The Scientific World Journal

Server ServPaq OwnBDPacketsNodesReceived Client

dividePack()

PaqReqBroadCast

FinishPaq ()

Data

treatPac()

ControlPac()SeePac()

PaqReqBroadCast

finishPaq ()

Start()

Received()

ProcCurrent()

NewInf

Resp update

GetData ()getReg()

getReg()

Data

DataData

Packet

Packet

New clientStart

New clientStart

GetNodes ()

Nodes

Resend request

getData ()

Data ()

Figure 3 Procedure to process a request

the senderrsquos node certificate cipheredwith the senderrsquos privatekey Senderrsquos public key is also included in the packet Senderrsquosnode certificate is deciphered with its public key

When Wi-Fi is used the packet digest is ciphered withthe session key When the frame is received data are firstlydeciphered and then the frame is checked

In both cases if the hash comparison is wrong the systemshows a message informing that the frame is wrong If theresults of the comparisons are valid packets are processedand this process ends

422 Modification of Keys When a user decided to modifyits asymmetric keys he is notified of the risks This notifi-cation is shown as a text message in an emergent windowIf the user decides to modify it userrsquos keys are regenerated

and the certificate is modified As Figure 5 shows after thesechanges new data is stored Finally the system allows userto stop the process of modification keys before they arechanged423 Main Menu For the development of the softwareapplication we have designed a main menu that includes asubmenu the services offered in the mobile cloud computingnetwork a submenu that allows the user to exchange dataand a submenu to see its own data Figure 6 shows all thepossibilities that the main menu offers424 Request of Information In our system there are twotypes of information request

(i) request for one node there is a request for one nodeabout specific information

The Scientific World Journal 9

Receivedpacket

Checksender IP

WrongIP

Packet numbercontrol

Wrong packetnumber

Control of attemptnumber

Wrongnumber

Packet division

Show messageldquowrong packetrdquo

Yes

No

Yes

No

Yes

No

Packet receivedusing Wi-Fi

Packetreceived using

Wi-Fi

Hash decryption usingsession key

Yes Packet receivedusing Bluetooth

Create new hash withthe received data

Create new hash withthe received data

Compare received and generated hash

Compare received and generated hash Different

hash

Differenthash Decrypt certificate with

the received public key

Compare received and generated certificates

Differenthash

Storecertificates

Processpackets

No

No

No

Finish packetcontrol

No

Yes

Yes

Yes

Figure 4 Packet control

10 The Scientific World Journal

Start

Select modification of asymmetric keys

Modifyit

it

No

Keysmodification

Certificate modification

Store modified data

Back

End

Report of modificationas rissky

Report of certificate modificationbecause of keys modification

ModifyNo

Yes

Yes

Back

Figure 5 Modification of keys

Choosenetwork

Show main menu Finish mainmenu

Show data changemenu Show own dataShow services menu

Senddata

Ask information

Show node list

Ask all networkinformation

Ask a certificate

Ask a nodeinformation

Changepassword

Change asymmetrickeys and certificate

Change owndata

Figure 6 Main menu

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 4: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

4 The Scientific World Journal

LID only the first time that the user uses the system becausethe security information is generated only the first time theuser joins the network Security data is stored persistently inthe device for its future use

In order to explain the procedure the following case isdetailed When there are three persons and two of themknow certain data then there is only one way that lets thethird person know this data one of the two persons musttrust the third personThis simple example explains basicallythe concept of trusted network and how data are exchangedbetween nodes

If the ad hoc network covers a large area then thecloud computing services can be obtained by using adhoc routing In this proposal the ad hoc routing is per-formed only between trusted nodes so there are twoimportant facts (1) nodes should not be trusted with-out the proper authentication of the node and user and(2) confidentiality integrity availability and access con-trol with authentication all of them must be based onencryption mechanisms that must be offered without centraladministration

If we want to create a spontaneous ad hoc network formobile cloud computing we need trust establishment keymanagement and membership control Network availabilityand routing security must also be added Techniques thatenable the creation of ad hoc networks based on the spon-taneity of human interactions (people who are near eachother can communicate exchange things and ask people torelay information to others) should be added In our modeleach node will send its public key towards its neighborsWhen the node obtains a public key it is considered validonly if it is sure that it belongs to the owner Not validmeans that it is not sure that the key belongs to the ownerIf the node trusts the key it signs the key with its privatekey and considers the node as a trusted neighbor Thena trust network is created When a new device joins thenetwork and it does not have a pair of keys it must generatethem to perform authentication and to communicate withother nodes When a node leaves the network the networkmaintains the data for a period of time in case it wants to comeback later But it has to authenticate again A node does nothave to obtain the public key from every other node in otherwords one node does not have to broadcast its authenticationinformation to all other nodes in the network Nodes canobtain this information through the ldquonetwork of trustrdquo Nowwe provide a simple example where the network is formedby three nodes Node 1 and node 2 know and trust eachother Then node 2 trusts a third node node 3 If the secondnode receives a public key from the third node and signs itwith its private key we consider that the owner of this key isldquotrustedrdquo Later if the first nodewants to obtain that key it canbe obtained from the second node and since the first nodetrusts the second one it ldquovalidatesrdquo this new key by signingit with its private key If the third node is not trustworthyany key signed by the third node will not be considereda trusted key Furthermore the first node will never signthe third node key although it might forward it to othernodes in the spontaneous ad hoc mobile cloud computingnetwork

31 Analytical Considerations In this section we analyze ourproposal analytically Our purpose is to model the behaviorof the spontaneous ad hoc network when there are nodesjoining and leaving during its existence On one hand wewill take care of the authentication and trust between nodes(by using trust links and trusted communication graphs)and on the other hand we model the network behavior(in terms of number of nodes in the network because ofleavings and joining of new nodes) by using the conditionalprobability density function Let119873(119905) be a set of users havinga meeting with wireless devices with |119873(119905)| = 119899 being themaximum number of users during a certain period of time119905 These users are located in a certain bounded region 119877 Thetrusted communication graph is the directed graph 119866(119905) =

(119873(119905) 119864(119905)) such that each pair of users (119906 V) isin 119864(119905) onlyif the userrsquos device V is within 119906rsquos transmitting range at thecurrent transmit power level at time 119905 The graph containsall possible wireless links between the nodes in the networkGiven any two nodes 119906119908 isin 119873 a path connecting 119906 and119908 in119866 is a sequence of nodes 119906 = 119906

0 1199061 119906

119896minus1 119906119896= V such

that for any 119894 = 0 119896 minus 1 (119906119894 119906119894+1

) isin 119864 The length of thepath is the number of edges in the pathMoreover 119906 has a pairof values (119879 119881) for each node119908which gives the trust (119879) andvalidity (119881) values for each user The trust and validity canonly have two values 119879 = 0 1 and 119881 = 0 1

Users can join and leave the spontaneous network at willso a range assignment RA is said to be connected at time 119905if the resulting communication graph at time 119905 is stronglyconnected that is if for any pair of nodes 119906 and V there existsat least one trusted connection from 119906 to V In other wordsthe trusted directed wireless link (119906 V) exists if and only ifnodes 119906 and V are at distance of at most RA(119906) at time 119905 andtheir trusted parameter value is equal to 1 In this case V issaid to be a 1-hop neighbor or neighbor for short of node 119906The trust nodes set of node 119906 denoted as TNS(119906) is definedas it is shown in the following expression

TNS (119906) = 119911 isin 119873 (119911 119906) isin 119864 119879 = 1 (1)

A trusted wireless link is said to be bidirectional orsymmetric at time 119905 if (119906 119911) isin 119864(119905) (119911 119906) isin 119864(119905) 119906 trusts 119911and 119911 trusts 119906 The trusted communication graph generatedcan be considered as undirected since (119906 119911) isin 119864(119905) hArr

(119911 119906) isin 119864(119905)Let us suppose that a user 119906 has authenticated the user 119908

and 119906 has 119908rsquos public key then 119906 sends a message encryptedwith the session key to 119908 In this case we say that there is atrusted directed graph from 119906 to 119908 For any trusted directedgraph 119867 isin 119866 if two users 119906 and 119908 are in 119867 and there is atrusted directed path from 119906 to 119908 in 119867 then we say that 119908is reachable from 119906 in 119867 and we denote this by (119906 harr 119908)

119867

thus 119908 is also reachable from 119906 in 119866 and we denote this by(119906 harr 119908)

119866

In order to use a public key distribution system for userauthentication and session key sharing each user maintainsa local repository of public key certificates and their trustvalues When the user 119906 wants to use the resources sharedby user 119908 first 119908 must trust 119906 so they must merge theirsubgraphs and try to find a trusted directed path from 119906 to119908

The Scientific World Journal 5

Thus we can apply a subgraph theory based similar to workperformed by Capkun et al in [25] But in that case theymerged subgraphs to authenticate a public key in trustedauthorities or certificate repositories not trusted paths whilewe merge subgraphs to validate trusted paths

We assume that each user has the same subgraph selectionalgorithm119860 to build its subgraphWe denote 119878

119860(119867 119906) by the

algorithm119860 executed in119867 isin 119866 by the user119906Whenwemergethe subgraph 119878

119860(119867 119906) of user 119906 with 119878

119860(119867 V) of user V we

obtain 119878119860(119867 119906 V) When the trusted communication graph

is undirected 119878119860(119867 119906 V) = 119878

119860(119867 V 119906)

The performance of the subgraph selection algorithmdenoted by 119875

119860(119867) is defined as the ratio of the number of

user pairs (119906 119908) where there is a trusted directed path from119906 to 119908 in the merge subgraph of 119906 and 119908 to the number ofuser pairs (119906 119908) where there is a directed path from 119906 to 119908

in the trust graph The following expression shows 119875119860(119867)

119875119860 (119867) =

Card (119906 V) isin 119873119909119873 (119906 harr V)119878119860(119866119906V)Card (119906 V) isin 119873119909119873 (119906 harr V)119866

(2)

where card denotes the cardinality of a set The performanceof 119860 can be increased by selecting larger subgraphs that isusingmore information about the trust graph but the devicesof the users will need more memory to store their subgraphsMoreover the devices will need high amount of knowledge toexecute it

In order to model the network behavior when the usersjoin the network during the meeting time we have used thediffusion approximation In the spontaneous network therewill be users that join and leave the ad hoc network at will Let119905119894be the arrival time of the user 119894 to the network and let 1199051015840

119894be

the departure time of the user 119894That is 0 le 119905119894lt 1199051015840119894le 119879 where

119879 is the network lifetime Let 119860(119905) and 119863(119905) represent thecumulative number of arrivals and departures respectivelyup to time 119905The number of users in the spontaneous networkat time 119905119873(119905) is given by the following expression

119873(119905) = 119860 (119905) minus 119863 (119905) (3)

Let the consecutive interarrival time 119886119894

= 119905119894minus 119905119894minus1

and the consecutive interdeparture time 119889119894= 1199051015840119894minus 1199051015840119894minus1

beboth independent and identically distributed with the (meanvariance) given by (1120583

119886 1205902119886) and (1120583

119889 1205902119889) respectively Let

their squared coefficients of variation be 1198622119886= 1205902119886sdot 120583119886and

1198622119889

= 1205902119889sdot 120583119889 respectively We define the sum of a set of

consecutive interarrival times as 119879119896= sum119870

119894=1119886119894 We assume

that they are independent and identically distributed randomvariables hence according to the central limit theorem thestandardized random variable 119879lowast

119896 shown in expression (4)

tends to a standard normal distribution with 119896 rarr infin as it isshown in the following expression

119879lowast

119896=119879119896minus 119896 sdot 120583

119886

120590119886radic119896

(4)

119873(119905) = lim119896rarrinfin

119875[119879119896minus 119896 sdot 120583

119886

120590119886radic119896

le 119899] =1

radic2120587int119899

minusinfin

119890minus(11990522)119889119905

(5)

If 119896 is large enough there will be many arriving usersbetween 119905 and 119905 + 119896 and may be approximated by thenormal distribution with mean 120583

119886119905 and variance 1205902

1198861205833119886119905

Similarily the number of leaving users during that time willbe approximately normally distributed with mean 120583

119889119905 and

variance 12059021198891205833119889119905 Consequently the changes of119873(119905)within the

interval [119905 119905+119896] then119873(119905+119896)minus119873(119905) should be approximatelynormally distributed with the mean as is shown in thefollowing expression

120573 = (120583119886minus 120583119889) 119905 (6)

And the variance is given by the following expression

120572 = (1205902

1198861205833

119886+ 1205902

1198891205833

119889) 119905 (7)

The diffusion approximation replaces119873(119905) by a continu-ous diffusion process (also known as Wiener-Levy process)119909(119905) normally distributed with the mean 120573 sdot 119889119905 and variance120572 sdot 119889119905 Given the initial value 119909

0= 0 the unrestricted process

119909(119905) would have the conditional probability density functionat time 119905 given by the following expression

119875 (119909 119905) =1

radic2120587120572119905119890minus((119909minus120573119905)

22120572119905)

(8)

which satisfies Kolmogorov diffusion equation (also knownas Fokker-Planck equation) given in the following expression

120597119891 (119909 119905)

120597119905= minus120573

120597119891 (119909 119905)

120597119909+120572

2

1205972119891 (119909 119905)

1205971199092 (9)

Deriving expression (8) in expression (9) and treating 119909 =

0 as a reflecting barrier for all 119905 gt 0 we obtain the followingexpression

lim119909rarrinfin

[minus120573119875 (119909 119905) +120572

2

120597119875 (119909 119905)

120597119909] = 0 (10)

Nowwe can estimate the solutionwhen 119905 rarr infin and120583119886lt

120583119889 Expression (11) shows the equilibrium distribution of the

conditional probability density function [26]

119875 (119909) =210038161003816100381610038161205731003816100381610038161003816

120572119890minus(2|120573|119909120572)

(11)

where 120572 and 120573 are defined in (6) and (7) which are relatedto the probability of nodesrsquo interarrival and interdeparturetimes

32 Cryptographic System The cryptographic algorithmelection has been taken bearing in mind their strong securityand simple key management features Symmetric algorithmsand summary functions have lower computational cost thanpublic key cryptography but public key cryptography hasstronger security and it could be feasible in devices with lowcomputation capacity

In our proposal we use a summary function withsymmetric and asymmetric algorithms with the purposeof taking their benefits The security management is based

6 The Scientific World Journal

Table 1 Trust and validity values

Parameter Level When does it happen

Trust 0 (i) There has been a greeting process between users but the one in the network does not trust him(ii) The user has reduced the level of confidence to the other one

1 (i) It has been a greeting process between user and the one in the network that trusts him(ii) The user has increased the level of confidence to the other one

Validity 0 (i) It is not obtained from the greeting process with that user(ii) The validity has not been obtained through a trusted node

1 (i) It has been obtained directly from the greeting process with that user(ii) It has been obtained through a trusted node

on the public key infrastructure and the symmetric keyencryption scheme Asymmetric key encryption scheme ismainly used in the distribution of session key and in the userauthentication process It lets us also generate a distributedcertification authorityThe symmetric key is used as a sessionkey to cipher the confidential messages between trust nodesbecause it has less energy requirements [27ndash29] Asymmetrickey encryption scheme is used to authenticate the usersThe hybrid symmetricasymmetric scheme is introduced toexchange the initial data and to exchange the secret keys thatwill be used to encrypt the data The hash function lets usimprove the data integrityNowwe are going to discusswhichalgorithms are the best for our purpose

We have used advanced encryption standard (AES) algo-rithm for the symmetric encryption scheme [30] It presentsa high security level because its design structure removessubkey symmetry It is also resistant to lineal and differentialcryptanalysis AES is actually considered as one of the mostsecured ones Moreover the execution times and the energyconsumption in the cryptography processes are adequate forlow power devices

The asymmetric encryption scheme should overload thedevices as less as possible On one hand elliptic curvecryptosystem (ECC) is presented as a high performancescheme that is recommended by many researchers [31] Onthe other hand Rivest Shamir and Adleman cryptographicalgorithm (RSA) is very secure and it has been checked andrecommended by many scientists [32] ECC needs fewer bitsthan RSA (163 bits in ECC versus 1024 bits in RSA) in orderto obtain the same security level so it is able to achievehigh security level with low size keys without consumingtoo much system resources thus needing less bandwidthECC is usually adequate for small devices with few memoryresources and low computing resources (such as cellularphones and smart cards) In order to have flexibility in ourprotocol and because both cryptographic algorithms havegood performance we have included both (RSA and ECC)in our protocol The election of one of them will be taken inthe network formation Both algorithms will be shown laterin our performance study

We have selected secure hash algorithm (SHA-1) for thesummary function [33] SHA-1 is commonly used becauseof its equilibrium between its speed and its security Thisperformance is also maintained in low computing devicesThis feature does not happen in other functions because theymainly depend on the processor Its execution time and its

k1

K1

k21K21

k3K3

k2K2

k41K41

k4K4

k42K42

NotationA rarr B A trusts BB rarr A B trusts AB harr A reciprocal trust

Figure 1 Example of trust nodes

energy consumption are not so high when they are comparedwith other functions

33 Trusted Network The proposed model is based on thecreation and management of a trusted network A node willtrust other nodes through personal view and criteria That isthe trust is based on the relationship of the users rather thanon a central certification authorityThe user of the device willidentify the other users and will be in charge of establishinga trust value (0 or 1) associated with each one of them Theparameters used for configuring this trust network are trustand validity

Trust refers to the person who owns the key and its valuewill be established by the relationship between the user thatgrants it and the user that is granted It should be granted toreliable persons when their IDCs are exchanged The trustcan always be changed manually by the user later Validityindicates that a certificate belongs to that persondeviceTable 1 shows the trust and validity values

34 Certification Authority The certification authority of anode could be any node in the group of nodes that this nodetrusts This system lets us build a distributed certificationauthority between trust nodes When a node wants tocommunicate with other nodes and see if it is a valid nodeit can request the certificate of that node to its trust nodesAfter obtaining this certificate it will be able to sign this node

The Scientific World Journal 7

AplicacionMid Services OwnBDPacketsNodesAskNodes Client

PaqReqBroadCast

DataRequest info

Network updateSelect nodeGetInfo ()

GetNodes ()

Nodes

CreatePaq ()

GetData ()ObtainReg ()

Data ()Data

FinishPaq ()

Network update

Start ()

Packet

Figure 2 Procedure to request an update from all network nodes

as a valid node All nodes can be both client requestinginformation or authentication to other nodes and serverserving requests for information or authentication fromothernodes Figure 1 shows an example Each 119899 node has its publickey (119870

119899) and it private key (119896

119899) Nodes 2 and 4 are trust nodes

of node 1 but not of node 3 Thus nodes 2 and 4 could act asa certification authority of node 1

4 System Design

In this section we explain the designed algorithms for thenodes the network procedures and the classes designed forCastalia in order to simulate it

41 Network Procedures After defining the network modeland the security features that our proposed spontaneous adhoc network should present it is important to specify howa node should work and the set of actions it should performto ensure the correct operation of the whole network Thissubsection explains the operation of the network and themain processes included

In order to design the flow chart diagrams we have usedthe Unified Modeling Language (UML) [34] UML is anindustry standard modeling language with a rich graphicalnotation and comprehensive set of diagrams and elementsthat can be used to model object oriented systems

411 Procedure to Request the Update to all Network NodesA user requests a data updating from all nodes Firstly theinformation about network nodes is obtained Secondly data

updating packet is prepared and the request is sent Figure 2shows the procedure and the primitives and services offeredand served by the nodes

412 Procedure to Process a Request When a request isreceived the information requested is checked and a reply issent to the source node that sent the requestThen the requestis forwarded to the rest of network nodes After receiving thedata request form a new client can be attended The processto attend each request is shown in Figure 3 As the diagramshows each task is validated by the replying of packets withdata information node information or control packets Afterthe confirmation a newpacket is sent in order to complete thecommunication between nodes

42 Node Algorithms

421 Packet Control When a packet is received by a node itapplies a packet control process to the received data Figure 4shows it Data are checked to know whether it is correct andit has not been modified during the transmission or not Thesource IP packet number and retry number are some of thechecked parametersThis check is performed just for securityreasons despite of its analysis at lower levels such as theunderlying wireless communication technology (BluetoothWi-Fi etc)

When Bluetooth is used the Bluetooth frames are usedin the authentication process In this case the packet digest(hash) is not ciphered with the session key because thereceiver node does not have this key yet The packet includes

8 The Scientific World Journal

Server ServPaq OwnBDPacketsNodesReceived Client

dividePack()

PaqReqBroadCast

FinishPaq ()

Data

treatPac()

ControlPac()SeePac()

PaqReqBroadCast

finishPaq ()

Start()

Received()

ProcCurrent()

NewInf

Resp update

GetData ()getReg()

getReg()

Data

DataData

Packet

Packet

New clientStart

New clientStart

GetNodes ()

Nodes

Resend request

getData ()

Data ()

Figure 3 Procedure to process a request

the senderrsquos node certificate cipheredwith the senderrsquos privatekey Senderrsquos public key is also included in the packet Senderrsquosnode certificate is deciphered with its public key

When Wi-Fi is used the packet digest is ciphered withthe session key When the frame is received data are firstlydeciphered and then the frame is checked

In both cases if the hash comparison is wrong the systemshows a message informing that the frame is wrong If theresults of the comparisons are valid packets are processedand this process ends

422 Modification of Keys When a user decided to modifyits asymmetric keys he is notified of the risks This notifi-cation is shown as a text message in an emergent windowIf the user decides to modify it userrsquos keys are regenerated

and the certificate is modified As Figure 5 shows after thesechanges new data is stored Finally the system allows userto stop the process of modification keys before they arechanged423 Main Menu For the development of the softwareapplication we have designed a main menu that includes asubmenu the services offered in the mobile cloud computingnetwork a submenu that allows the user to exchange dataand a submenu to see its own data Figure 6 shows all thepossibilities that the main menu offers424 Request of Information In our system there are twotypes of information request

(i) request for one node there is a request for one nodeabout specific information

The Scientific World Journal 9

Receivedpacket

Checksender IP

WrongIP

Packet numbercontrol

Wrong packetnumber

Control of attemptnumber

Wrongnumber

Packet division

Show messageldquowrong packetrdquo

Yes

No

Yes

No

Yes

No

Packet receivedusing Wi-Fi

Packetreceived using

Wi-Fi

Hash decryption usingsession key

Yes Packet receivedusing Bluetooth

Create new hash withthe received data

Create new hash withthe received data

Compare received and generated hash

Compare received and generated hash Different

hash

Differenthash Decrypt certificate with

the received public key

Compare received and generated certificates

Differenthash

Storecertificates

Processpackets

No

No

No

Finish packetcontrol

No

Yes

Yes

Yes

Figure 4 Packet control

10 The Scientific World Journal

Start

Select modification of asymmetric keys

Modifyit

it

No

Keysmodification

Certificate modification

Store modified data

Back

End

Report of modificationas rissky

Report of certificate modificationbecause of keys modification

ModifyNo

Yes

Yes

Back

Figure 5 Modification of keys

Choosenetwork

Show main menu Finish mainmenu

Show data changemenu Show own dataShow services menu

Senddata

Ask information

Show node list

Ask all networkinformation

Ask a certificate

Ask a nodeinformation

Changepassword

Change asymmetrickeys and certificate

Change owndata

Figure 6 Main menu

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 5: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

The Scientific World Journal 5

Thus we can apply a subgraph theory based similar to workperformed by Capkun et al in [25] But in that case theymerged subgraphs to authenticate a public key in trustedauthorities or certificate repositories not trusted paths whilewe merge subgraphs to validate trusted paths

We assume that each user has the same subgraph selectionalgorithm119860 to build its subgraphWe denote 119878

119860(119867 119906) by the

algorithm119860 executed in119867 isin 119866 by the user119906Whenwemergethe subgraph 119878

119860(119867 119906) of user 119906 with 119878

119860(119867 V) of user V we

obtain 119878119860(119867 119906 V) When the trusted communication graph

is undirected 119878119860(119867 119906 V) = 119878

119860(119867 V 119906)

The performance of the subgraph selection algorithmdenoted by 119875

119860(119867) is defined as the ratio of the number of

user pairs (119906 119908) where there is a trusted directed path from119906 to 119908 in the merge subgraph of 119906 and 119908 to the number ofuser pairs (119906 119908) where there is a directed path from 119906 to 119908

in the trust graph The following expression shows 119875119860(119867)

119875119860 (119867) =

Card (119906 V) isin 119873119909119873 (119906 harr V)119878119860(119866119906V)Card (119906 V) isin 119873119909119873 (119906 harr V)119866

(2)

where card denotes the cardinality of a set The performanceof 119860 can be increased by selecting larger subgraphs that isusingmore information about the trust graph but the devicesof the users will need more memory to store their subgraphsMoreover the devices will need high amount of knowledge toexecute it

In order to model the network behavior when the usersjoin the network during the meeting time we have used thediffusion approximation In the spontaneous network therewill be users that join and leave the ad hoc network at will Let119905119894be the arrival time of the user 119894 to the network and let 1199051015840

119894be

the departure time of the user 119894That is 0 le 119905119894lt 1199051015840119894le 119879 where

119879 is the network lifetime Let 119860(119905) and 119863(119905) represent thecumulative number of arrivals and departures respectivelyup to time 119905The number of users in the spontaneous networkat time 119905119873(119905) is given by the following expression

119873(119905) = 119860 (119905) minus 119863 (119905) (3)

Let the consecutive interarrival time 119886119894

= 119905119894minus 119905119894minus1

and the consecutive interdeparture time 119889119894= 1199051015840119894minus 1199051015840119894minus1

beboth independent and identically distributed with the (meanvariance) given by (1120583

119886 1205902119886) and (1120583

119889 1205902119889) respectively Let

their squared coefficients of variation be 1198622119886= 1205902119886sdot 120583119886and

1198622119889

= 1205902119889sdot 120583119889 respectively We define the sum of a set of

consecutive interarrival times as 119879119896= sum119870

119894=1119886119894 We assume

that they are independent and identically distributed randomvariables hence according to the central limit theorem thestandardized random variable 119879lowast

119896 shown in expression (4)

tends to a standard normal distribution with 119896 rarr infin as it isshown in the following expression

119879lowast

119896=119879119896minus 119896 sdot 120583

119886

120590119886radic119896

(4)

119873(119905) = lim119896rarrinfin

119875[119879119896minus 119896 sdot 120583

119886

120590119886radic119896

le 119899] =1

radic2120587int119899

minusinfin

119890minus(11990522)119889119905

(5)

If 119896 is large enough there will be many arriving usersbetween 119905 and 119905 + 119896 and may be approximated by thenormal distribution with mean 120583

119886119905 and variance 1205902

1198861205833119886119905

Similarily the number of leaving users during that time willbe approximately normally distributed with mean 120583

119889119905 and

variance 12059021198891205833119889119905 Consequently the changes of119873(119905)within the

interval [119905 119905+119896] then119873(119905+119896)minus119873(119905) should be approximatelynormally distributed with the mean as is shown in thefollowing expression

120573 = (120583119886minus 120583119889) 119905 (6)

And the variance is given by the following expression

120572 = (1205902

1198861205833

119886+ 1205902

1198891205833

119889) 119905 (7)

The diffusion approximation replaces119873(119905) by a continu-ous diffusion process (also known as Wiener-Levy process)119909(119905) normally distributed with the mean 120573 sdot 119889119905 and variance120572 sdot 119889119905 Given the initial value 119909

0= 0 the unrestricted process

119909(119905) would have the conditional probability density functionat time 119905 given by the following expression

119875 (119909 119905) =1

radic2120587120572119905119890minus((119909minus120573119905)

22120572119905)

(8)

which satisfies Kolmogorov diffusion equation (also knownas Fokker-Planck equation) given in the following expression

120597119891 (119909 119905)

120597119905= minus120573

120597119891 (119909 119905)

120597119909+120572

2

1205972119891 (119909 119905)

1205971199092 (9)

Deriving expression (8) in expression (9) and treating 119909 =

0 as a reflecting barrier for all 119905 gt 0 we obtain the followingexpression

lim119909rarrinfin

[minus120573119875 (119909 119905) +120572

2

120597119875 (119909 119905)

120597119909] = 0 (10)

Nowwe can estimate the solutionwhen 119905 rarr infin and120583119886lt

120583119889 Expression (11) shows the equilibrium distribution of the

conditional probability density function [26]

119875 (119909) =210038161003816100381610038161205731003816100381610038161003816

120572119890minus(2|120573|119909120572)

(11)

where 120572 and 120573 are defined in (6) and (7) which are relatedto the probability of nodesrsquo interarrival and interdeparturetimes

32 Cryptographic System The cryptographic algorithmelection has been taken bearing in mind their strong securityand simple key management features Symmetric algorithmsand summary functions have lower computational cost thanpublic key cryptography but public key cryptography hasstronger security and it could be feasible in devices with lowcomputation capacity

In our proposal we use a summary function withsymmetric and asymmetric algorithms with the purposeof taking their benefits The security management is based

6 The Scientific World Journal

Table 1 Trust and validity values

Parameter Level When does it happen

Trust 0 (i) There has been a greeting process between users but the one in the network does not trust him(ii) The user has reduced the level of confidence to the other one

1 (i) It has been a greeting process between user and the one in the network that trusts him(ii) The user has increased the level of confidence to the other one

Validity 0 (i) It is not obtained from the greeting process with that user(ii) The validity has not been obtained through a trusted node

1 (i) It has been obtained directly from the greeting process with that user(ii) It has been obtained through a trusted node

on the public key infrastructure and the symmetric keyencryption scheme Asymmetric key encryption scheme ismainly used in the distribution of session key and in the userauthentication process It lets us also generate a distributedcertification authorityThe symmetric key is used as a sessionkey to cipher the confidential messages between trust nodesbecause it has less energy requirements [27ndash29] Asymmetrickey encryption scheme is used to authenticate the usersThe hybrid symmetricasymmetric scheme is introduced toexchange the initial data and to exchange the secret keys thatwill be used to encrypt the data The hash function lets usimprove the data integrityNowwe are going to discusswhichalgorithms are the best for our purpose

We have used advanced encryption standard (AES) algo-rithm for the symmetric encryption scheme [30] It presentsa high security level because its design structure removessubkey symmetry It is also resistant to lineal and differentialcryptanalysis AES is actually considered as one of the mostsecured ones Moreover the execution times and the energyconsumption in the cryptography processes are adequate forlow power devices

The asymmetric encryption scheme should overload thedevices as less as possible On one hand elliptic curvecryptosystem (ECC) is presented as a high performancescheme that is recommended by many researchers [31] Onthe other hand Rivest Shamir and Adleman cryptographicalgorithm (RSA) is very secure and it has been checked andrecommended by many scientists [32] ECC needs fewer bitsthan RSA (163 bits in ECC versus 1024 bits in RSA) in orderto obtain the same security level so it is able to achievehigh security level with low size keys without consumingtoo much system resources thus needing less bandwidthECC is usually adequate for small devices with few memoryresources and low computing resources (such as cellularphones and smart cards) In order to have flexibility in ourprotocol and because both cryptographic algorithms havegood performance we have included both (RSA and ECC)in our protocol The election of one of them will be taken inthe network formation Both algorithms will be shown laterin our performance study

We have selected secure hash algorithm (SHA-1) for thesummary function [33] SHA-1 is commonly used becauseof its equilibrium between its speed and its security Thisperformance is also maintained in low computing devicesThis feature does not happen in other functions because theymainly depend on the processor Its execution time and its

k1

K1

k21K21

k3K3

k2K2

k41K41

k4K4

k42K42

NotationA rarr B A trusts BB rarr A B trusts AB harr A reciprocal trust

Figure 1 Example of trust nodes

energy consumption are not so high when they are comparedwith other functions

33 Trusted Network The proposed model is based on thecreation and management of a trusted network A node willtrust other nodes through personal view and criteria That isthe trust is based on the relationship of the users rather thanon a central certification authorityThe user of the device willidentify the other users and will be in charge of establishinga trust value (0 or 1) associated with each one of them Theparameters used for configuring this trust network are trustand validity

Trust refers to the person who owns the key and its valuewill be established by the relationship between the user thatgrants it and the user that is granted It should be granted toreliable persons when their IDCs are exchanged The trustcan always be changed manually by the user later Validityindicates that a certificate belongs to that persondeviceTable 1 shows the trust and validity values

34 Certification Authority The certification authority of anode could be any node in the group of nodes that this nodetrusts This system lets us build a distributed certificationauthority between trust nodes When a node wants tocommunicate with other nodes and see if it is a valid nodeit can request the certificate of that node to its trust nodesAfter obtaining this certificate it will be able to sign this node

The Scientific World Journal 7

AplicacionMid Services OwnBDPacketsNodesAskNodes Client

PaqReqBroadCast

DataRequest info

Network updateSelect nodeGetInfo ()

GetNodes ()

Nodes

CreatePaq ()

GetData ()ObtainReg ()

Data ()Data

FinishPaq ()

Network update

Start ()

Packet

Figure 2 Procedure to request an update from all network nodes

as a valid node All nodes can be both client requestinginformation or authentication to other nodes and serverserving requests for information or authentication fromothernodes Figure 1 shows an example Each 119899 node has its publickey (119870

119899) and it private key (119896

119899) Nodes 2 and 4 are trust nodes

of node 1 but not of node 3 Thus nodes 2 and 4 could act asa certification authority of node 1

4 System Design

In this section we explain the designed algorithms for thenodes the network procedures and the classes designed forCastalia in order to simulate it

41 Network Procedures After defining the network modeland the security features that our proposed spontaneous adhoc network should present it is important to specify howa node should work and the set of actions it should performto ensure the correct operation of the whole network Thissubsection explains the operation of the network and themain processes included

In order to design the flow chart diagrams we have usedthe Unified Modeling Language (UML) [34] UML is anindustry standard modeling language with a rich graphicalnotation and comprehensive set of diagrams and elementsthat can be used to model object oriented systems

411 Procedure to Request the Update to all Network NodesA user requests a data updating from all nodes Firstly theinformation about network nodes is obtained Secondly data

updating packet is prepared and the request is sent Figure 2shows the procedure and the primitives and services offeredand served by the nodes

412 Procedure to Process a Request When a request isreceived the information requested is checked and a reply issent to the source node that sent the requestThen the requestis forwarded to the rest of network nodes After receiving thedata request form a new client can be attended The processto attend each request is shown in Figure 3 As the diagramshows each task is validated by the replying of packets withdata information node information or control packets Afterthe confirmation a newpacket is sent in order to complete thecommunication between nodes

42 Node Algorithms

421 Packet Control When a packet is received by a node itapplies a packet control process to the received data Figure 4shows it Data are checked to know whether it is correct andit has not been modified during the transmission or not Thesource IP packet number and retry number are some of thechecked parametersThis check is performed just for securityreasons despite of its analysis at lower levels such as theunderlying wireless communication technology (BluetoothWi-Fi etc)

When Bluetooth is used the Bluetooth frames are usedin the authentication process In this case the packet digest(hash) is not ciphered with the session key because thereceiver node does not have this key yet The packet includes

8 The Scientific World Journal

Server ServPaq OwnBDPacketsNodesReceived Client

dividePack()

PaqReqBroadCast

FinishPaq ()

Data

treatPac()

ControlPac()SeePac()

PaqReqBroadCast

finishPaq ()

Start()

Received()

ProcCurrent()

NewInf

Resp update

GetData ()getReg()

getReg()

Data

DataData

Packet

Packet

New clientStart

New clientStart

GetNodes ()

Nodes

Resend request

getData ()

Data ()

Figure 3 Procedure to process a request

the senderrsquos node certificate cipheredwith the senderrsquos privatekey Senderrsquos public key is also included in the packet Senderrsquosnode certificate is deciphered with its public key

When Wi-Fi is used the packet digest is ciphered withthe session key When the frame is received data are firstlydeciphered and then the frame is checked

In both cases if the hash comparison is wrong the systemshows a message informing that the frame is wrong If theresults of the comparisons are valid packets are processedand this process ends

422 Modification of Keys When a user decided to modifyits asymmetric keys he is notified of the risks This notifi-cation is shown as a text message in an emergent windowIf the user decides to modify it userrsquos keys are regenerated

and the certificate is modified As Figure 5 shows after thesechanges new data is stored Finally the system allows userto stop the process of modification keys before they arechanged423 Main Menu For the development of the softwareapplication we have designed a main menu that includes asubmenu the services offered in the mobile cloud computingnetwork a submenu that allows the user to exchange dataand a submenu to see its own data Figure 6 shows all thepossibilities that the main menu offers424 Request of Information In our system there are twotypes of information request

(i) request for one node there is a request for one nodeabout specific information

The Scientific World Journal 9

Receivedpacket

Checksender IP

WrongIP

Packet numbercontrol

Wrong packetnumber

Control of attemptnumber

Wrongnumber

Packet division

Show messageldquowrong packetrdquo

Yes

No

Yes

No

Yes

No

Packet receivedusing Wi-Fi

Packetreceived using

Wi-Fi

Hash decryption usingsession key

Yes Packet receivedusing Bluetooth

Create new hash withthe received data

Create new hash withthe received data

Compare received and generated hash

Compare received and generated hash Different

hash

Differenthash Decrypt certificate with

the received public key

Compare received and generated certificates

Differenthash

Storecertificates

Processpackets

No

No

No

Finish packetcontrol

No

Yes

Yes

Yes

Figure 4 Packet control

10 The Scientific World Journal

Start

Select modification of asymmetric keys

Modifyit

it

No

Keysmodification

Certificate modification

Store modified data

Back

End

Report of modificationas rissky

Report of certificate modificationbecause of keys modification

ModifyNo

Yes

Yes

Back

Figure 5 Modification of keys

Choosenetwork

Show main menu Finish mainmenu

Show data changemenu Show own dataShow services menu

Senddata

Ask information

Show node list

Ask all networkinformation

Ask a certificate

Ask a nodeinformation

Changepassword

Change asymmetrickeys and certificate

Change owndata

Figure 6 Main menu

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 6: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

6 The Scientific World Journal

Table 1 Trust and validity values

Parameter Level When does it happen

Trust 0 (i) There has been a greeting process between users but the one in the network does not trust him(ii) The user has reduced the level of confidence to the other one

1 (i) It has been a greeting process between user and the one in the network that trusts him(ii) The user has increased the level of confidence to the other one

Validity 0 (i) It is not obtained from the greeting process with that user(ii) The validity has not been obtained through a trusted node

1 (i) It has been obtained directly from the greeting process with that user(ii) It has been obtained through a trusted node

on the public key infrastructure and the symmetric keyencryption scheme Asymmetric key encryption scheme ismainly used in the distribution of session key and in the userauthentication process It lets us also generate a distributedcertification authorityThe symmetric key is used as a sessionkey to cipher the confidential messages between trust nodesbecause it has less energy requirements [27ndash29] Asymmetrickey encryption scheme is used to authenticate the usersThe hybrid symmetricasymmetric scheme is introduced toexchange the initial data and to exchange the secret keys thatwill be used to encrypt the data The hash function lets usimprove the data integrityNowwe are going to discusswhichalgorithms are the best for our purpose

We have used advanced encryption standard (AES) algo-rithm for the symmetric encryption scheme [30] It presentsa high security level because its design structure removessubkey symmetry It is also resistant to lineal and differentialcryptanalysis AES is actually considered as one of the mostsecured ones Moreover the execution times and the energyconsumption in the cryptography processes are adequate forlow power devices

The asymmetric encryption scheme should overload thedevices as less as possible On one hand elliptic curvecryptosystem (ECC) is presented as a high performancescheme that is recommended by many researchers [31] Onthe other hand Rivest Shamir and Adleman cryptographicalgorithm (RSA) is very secure and it has been checked andrecommended by many scientists [32] ECC needs fewer bitsthan RSA (163 bits in ECC versus 1024 bits in RSA) in orderto obtain the same security level so it is able to achievehigh security level with low size keys without consumingtoo much system resources thus needing less bandwidthECC is usually adequate for small devices with few memoryresources and low computing resources (such as cellularphones and smart cards) In order to have flexibility in ourprotocol and because both cryptographic algorithms havegood performance we have included both (RSA and ECC)in our protocol The election of one of them will be taken inthe network formation Both algorithms will be shown laterin our performance study

We have selected secure hash algorithm (SHA-1) for thesummary function [33] SHA-1 is commonly used becauseof its equilibrium between its speed and its security Thisperformance is also maintained in low computing devicesThis feature does not happen in other functions because theymainly depend on the processor Its execution time and its

k1

K1

k21K21

k3K3

k2K2

k41K41

k4K4

k42K42

NotationA rarr B A trusts BB rarr A B trusts AB harr A reciprocal trust

Figure 1 Example of trust nodes

energy consumption are not so high when they are comparedwith other functions

33 Trusted Network The proposed model is based on thecreation and management of a trusted network A node willtrust other nodes through personal view and criteria That isthe trust is based on the relationship of the users rather thanon a central certification authorityThe user of the device willidentify the other users and will be in charge of establishinga trust value (0 or 1) associated with each one of them Theparameters used for configuring this trust network are trustand validity

Trust refers to the person who owns the key and its valuewill be established by the relationship between the user thatgrants it and the user that is granted It should be granted toreliable persons when their IDCs are exchanged The trustcan always be changed manually by the user later Validityindicates that a certificate belongs to that persondeviceTable 1 shows the trust and validity values

34 Certification Authority The certification authority of anode could be any node in the group of nodes that this nodetrusts This system lets us build a distributed certificationauthority between trust nodes When a node wants tocommunicate with other nodes and see if it is a valid nodeit can request the certificate of that node to its trust nodesAfter obtaining this certificate it will be able to sign this node

The Scientific World Journal 7

AplicacionMid Services OwnBDPacketsNodesAskNodes Client

PaqReqBroadCast

DataRequest info

Network updateSelect nodeGetInfo ()

GetNodes ()

Nodes

CreatePaq ()

GetData ()ObtainReg ()

Data ()Data

FinishPaq ()

Network update

Start ()

Packet

Figure 2 Procedure to request an update from all network nodes

as a valid node All nodes can be both client requestinginformation or authentication to other nodes and serverserving requests for information or authentication fromothernodes Figure 1 shows an example Each 119899 node has its publickey (119870

119899) and it private key (119896

119899) Nodes 2 and 4 are trust nodes

of node 1 but not of node 3 Thus nodes 2 and 4 could act asa certification authority of node 1

4 System Design

In this section we explain the designed algorithms for thenodes the network procedures and the classes designed forCastalia in order to simulate it

41 Network Procedures After defining the network modeland the security features that our proposed spontaneous adhoc network should present it is important to specify howa node should work and the set of actions it should performto ensure the correct operation of the whole network Thissubsection explains the operation of the network and themain processes included

In order to design the flow chart diagrams we have usedthe Unified Modeling Language (UML) [34] UML is anindustry standard modeling language with a rich graphicalnotation and comprehensive set of diagrams and elementsthat can be used to model object oriented systems

411 Procedure to Request the Update to all Network NodesA user requests a data updating from all nodes Firstly theinformation about network nodes is obtained Secondly data

updating packet is prepared and the request is sent Figure 2shows the procedure and the primitives and services offeredand served by the nodes

412 Procedure to Process a Request When a request isreceived the information requested is checked and a reply issent to the source node that sent the requestThen the requestis forwarded to the rest of network nodes After receiving thedata request form a new client can be attended The processto attend each request is shown in Figure 3 As the diagramshows each task is validated by the replying of packets withdata information node information or control packets Afterthe confirmation a newpacket is sent in order to complete thecommunication between nodes

42 Node Algorithms

421 Packet Control When a packet is received by a node itapplies a packet control process to the received data Figure 4shows it Data are checked to know whether it is correct andit has not been modified during the transmission or not Thesource IP packet number and retry number are some of thechecked parametersThis check is performed just for securityreasons despite of its analysis at lower levels such as theunderlying wireless communication technology (BluetoothWi-Fi etc)

When Bluetooth is used the Bluetooth frames are usedin the authentication process In this case the packet digest(hash) is not ciphered with the session key because thereceiver node does not have this key yet The packet includes

8 The Scientific World Journal

Server ServPaq OwnBDPacketsNodesReceived Client

dividePack()

PaqReqBroadCast

FinishPaq ()

Data

treatPac()

ControlPac()SeePac()

PaqReqBroadCast

finishPaq ()

Start()

Received()

ProcCurrent()

NewInf

Resp update

GetData ()getReg()

getReg()

Data

DataData

Packet

Packet

New clientStart

New clientStart

GetNodes ()

Nodes

Resend request

getData ()

Data ()

Figure 3 Procedure to process a request

the senderrsquos node certificate cipheredwith the senderrsquos privatekey Senderrsquos public key is also included in the packet Senderrsquosnode certificate is deciphered with its public key

When Wi-Fi is used the packet digest is ciphered withthe session key When the frame is received data are firstlydeciphered and then the frame is checked

In both cases if the hash comparison is wrong the systemshows a message informing that the frame is wrong If theresults of the comparisons are valid packets are processedand this process ends

422 Modification of Keys When a user decided to modifyits asymmetric keys he is notified of the risks This notifi-cation is shown as a text message in an emergent windowIf the user decides to modify it userrsquos keys are regenerated

and the certificate is modified As Figure 5 shows after thesechanges new data is stored Finally the system allows userto stop the process of modification keys before they arechanged423 Main Menu For the development of the softwareapplication we have designed a main menu that includes asubmenu the services offered in the mobile cloud computingnetwork a submenu that allows the user to exchange dataand a submenu to see its own data Figure 6 shows all thepossibilities that the main menu offers424 Request of Information In our system there are twotypes of information request

(i) request for one node there is a request for one nodeabout specific information

The Scientific World Journal 9

Receivedpacket

Checksender IP

WrongIP

Packet numbercontrol

Wrong packetnumber

Control of attemptnumber

Wrongnumber

Packet division

Show messageldquowrong packetrdquo

Yes

No

Yes

No

Yes

No

Packet receivedusing Wi-Fi

Packetreceived using

Wi-Fi

Hash decryption usingsession key

Yes Packet receivedusing Bluetooth

Create new hash withthe received data

Create new hash withthe received data

Compare received and generated hash

Compare received and generated hash Different

hash

Differenthash Decrypt certificate with

the received public key

Compare received and generated certificates

Differenthash

Storecertificates

Processpackets

No

No

No

Finish packetcontrol

No

Yes

Yes

Yes

Figure 4 Packet control

10 The Scientific World Journal

Start

Select modification of asymmetric keys

Modifyit

it

No

Keysmodification

Certificate modification

Store modified data

Back

End

Report of modificationas rissky

Report of certificate modificationbecause of keys modification

ModifyNo

Yes

Yes

Back

Figure 5 Modification of keys

Choosenetwork

Show main menu Finish mainmenu

Show data changemenu Show own dataShow services menu

Senddata

Ask information

Show node list

Ask all networkinformation

Ask a certificate

Ask a nodeinformation

Changepassword

Change asymmetrickeys and certificate

Change owndata

Figure 6 Main menu

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 7: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

The Scientific World Journal 7

AplicacionMid Services OwnBDPacketsNodesAskNodes Client

PaqReqBroadCast

DataRequest info

Network updateSelect nodeGetInfo ()

GetNodes ()

Nodes

CreatePaq ()

GetData ()ObtainReg ()

Data ()Data

FinishPaq ()

Network update

Start ()

Packet

Figure 2 Procedure to request an update from all network nodes

as a valid node All nodes can be both client requestinginformation or authentication to other nodes and serverserving requests for information or authentication fromothernodes Figure 1 shows an example Each 119899 node has its publickey (119870

119899) and it private key (119896

119899) Nodes 2 and 4 are trust nodes

of node 1 but not of node 3 Thus nodes 2 and 4 could act asa certification authority of node 1

4 System Design

In this section we explain the designed algorithms for thenodes the network procedures and the classes designed forCastalia in order to simulate it

41 Network Procedures After defining the network modeland the security features that our proposed spontaneous adhoc network should present it is important to specify howa node should work and the set of actions it should performto ensure the correct operation of the whole network Thissubsection explains the operation of the network and themain processes included

In order to design the flow chart diagrams we have usedthe Unified Modeling Language (UML) [34] UML is anindustry standard modeling language with a rich graphicalnotation and comprehensive set of diagrams and elementsthat can be used to model object oriented systems

411 Procedure to Request the Update to all Network NodesA user requests a data updating from all nodes Firstly theinformation about network nodes is obtained Secondly data

updating packet is prepared and the request is sent Figure 2shows the procedure and the primitives and services offeredand served by the nodes

412 Procedure to Process a Request When a request isreceived the information requested is checked and a reply issent to the source node that sent the requestThen the requestis forwarded to the rest of network nodes After receiving thedata request form a new client can be attended The processto attend each request is shown in Figure 3 As the diagramshows each task is validated by the replying of packets withdata information node information or control packets Afterthe confirmation a newpacket is sent in order to complete thecommunication between nodes

42 Node Algorithms

421 Packet Control When a packet is received by a node itapplies a packet control process to the received data Figure 4shows it Data are checked to know whether it is correct andit has not been modified during the transmission or not Thesource IP packet number and retry number are some of thechecked parametersThis check is performed just for securityreasons despite of its analysis at lower levels such as theunderlying wireless communication technology (BluetoothWi-Fi etc)

When Bluetooth is used the Bluetooth frames are usedin the authentication process In this case the packet digest(hash) is not ciphered with the session key because thereceiver node does not have this key yet The packet includes

8 The Scientific World Journal

Server ServPaq OwnBDPacketsNodesReceived Client

dividePack()

PaqReqBroadCast

FinishPaq ()

Data

treatPac()

ControlPac()SeePac()

PaqReqBroadCast

finishPaq ()

Start()

Received()

ProcCurrent()

NewInf

Resp update

GetData ()getReg()

getReg()

Data

DataData

Packet

Packet

New clientStart

New clientStart

GetNodes ()

Nodes

Resend request

getData ()

Data ()

Figure 3 Procedure to process a request

the senderrsquos node certificate cipheredwith the senderrsquos privatekey Senderrsquos public key is also included in the packet Senderrsquosnode certificate is deciphered with its public key

When Wi-Fi is used the packet digest is ciphered withthe session key When the frame is received data are firstlydeciphered and then the frame is checked

In both cases if the hash comparison is wrong the systemshows a message informing that the frame is wrong If theresults of the comparisons are valid packets are processedand this process ends

422 Modification of Keys When a user decided to modifyits asymmetric keys he is notified of the risks This notifi-cation is shown as a text message in an emergent windowIf the user decides to modify it userrsquos keys are regenerated

and the certificate is modified As Figure 5 shows after thesechanges new data is stored Finally the system allows userto stop the process of modification keys before they arechanged423 Main Menu For the development of the softwareapplication we have designed a main menu that includes asubmenu the services offered in the mobile cloud computingnetwork a submenu that allows the user to exchange dataand a submenu to see its own data Figure 6 shows all thepossibilities that the main menu offers424 Request of Information In our system there are twotypes of information request

(i) request for one node there is a request for one nodeabout specific information

The Scientific World Journal 9

Receivedpacket

Checksender IP

WrongIP

Packet numbercontrol

Wrong packetnumber

Control of attemptnumber

Wrongnumber

Packet division

Show messageldquowrong packetrdquo

Yes

No

Yes

No

Yes

No

Packet receivedusing Wi-Fi

Packetreceived using

Wi-Fi

Hash decryption usingsession key

Yes Packet receivedusing Bluetooth

Create new hash withthe received data

Create new hash withthe received data

Compare received and generated hash

Compare received and generated hash Different

hash

Differenthash Decrypt certificate with

the received public key

Compare received and generated certificates

Differenthash

Storecertificates

Processpackets

No

No

No

Finish packetcontrol

No

Yes

Yes

Yes

Figure 4 Packet control

10 The Scientific World Journal

Start

Select modification of asymmetric keys

Modifyit

it

No

Keysmodification

Certificate modification

Store modified data

Back

End

Report of modificationas rissky

Report of certificate modificationbecause of keys modification

ModifyNo

Yes

Yes

Back

Figure 5 Modification of keys

Choosenetwork

Show main menu Finish mainmenu

Show data changemenu Show own dataShow services menu

Senddata

Ask information

Show node list

Ask all networkinformation

Ask a certificate

Ask a nodeinformation

Changepassword

Change asymmetrickeys and certificate

Change owndata

Figure 6 Main menu

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 8: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

8 The Scientific World Journal

Server ServPaq OwnBDPacketsNodesReceived Client

dividePack()

PaqReqBroadCast

FinishPaq ()

Data

treatPac()

ControlPac()SeePac()

PaqReqBroadCast

finishPaq ()

Start()

Received()

ProcCurrent()

NewInf

Resp update

GetData ()getReg()

getReg()

Data

DataData

Packet

Packet

New clientStart

New clientStart

GetNodes ()

Nodes

Resend request

getData ()

Data ()

Figure 3 Procedure to process a request

the senderrsquos node certificate cipheredwith the senderrsquos privatekey Senderrsquos public key is also included in the packet Senderrsquosnode certificate is deciphered with its public key

When Wi-Fi is used the packet digest is ciphered withthe session key When the frame is received data are firstlydeciphered and then the frame is checked

In both cases if the hash comparison is wrong the systemshows a message informing that the frame is wrong If theresults of the comparisons are valid packets are processedand this process ends

422 Modification of Keys When a user decided to modifyits asymmetric keys he is notified of the risks This notifi-cation is shown as a text message in an emergent windowIf the user decides to modify it userrsquos keys are regenerated

and the certificate is modified As Figure 5 shows after thesechanges new data is stored Finally the system allows userto stop the process of modification keys before they arechanged423 Main Menu For the development of the softwareapplication we have designed a main menu that includes asubmenu the services offered in the mobile cloud computingnetwork a submenu that allows the user to exchange dataand a submenu to see its own data Figure 6 shows all thepossibilities that the main menu offers424 Request of Information In our system there are twotypes of information request

(i) request for one node there is a request for one nodeabout specific information

The Scientific World Journal 9

Receivedpacket

Checksender IP

WrongIP

Packet numbercontrol

Wrong packetnumber

Control of attemptnumber

Wrongnumber

Packet division

Show messageldquowrong packetrdquo

Yes

No

Yes

No

Yes

No

Packet receivedusing Wi-Fi

Packetreceived using

Wi-Fi

Hash decryption usingsession key

Yes Packet receivedusing Bluetooth

Create new hash withthe received data

Create new hash withthe received data

Compare received and generated hash

Compare received and generated hash Different

hash

Differenthash Decrypt certificate with

the received public key

Compare received and generated certificates

Differenthash

Storecertificates

Processpackets

No

No

No

Finish packetcontrol

No

Yes

Yes

Yes

Figure 4 Packet control

10 The Scientific World Journal

Start

Select modification of asymmetric keys

Modifyit

it

No

Keysmodification

Certificate modification

Store modified data

Back

End

Report of modificationas rissky

Report of certificate modificationbecause of keys modification

ModifyNo

Yes

Yes

Back

Figure 5 Modification of keys

Choosenetwork

Show main menu Finish mainmenu

Show data changemenu Show own dataShow services menu

Senddata

Ask information

Show node list

Ask all networkinformation

Ask a certificate

Ask a nodeinformation

Changepassword

Change asymmetrickeys and certificate

Change owndata

Figure 6 Main menu

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 9: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

The Scientific World Journal 9

Receivedpacket

Checksender IP

WrongIP

Packet numbercontrol

Wrong packetnumber

Control of attemptnumber

Wrongnumber

Packet division

Show messageldquowrong packetrdquo

Yes

No

Yes

No

Yes

No

Packet receivedusing Wi-Fi

Packetreceived using

Wi-Fi

Hash decryption usingsession key

Yes Packet receivedusing Bluetooth

Create new hash withthe received data

Create new hash withthe received data

Compare received and generated hash

Compare received and generated hash Different

hash

Differenthash Decrypt certificate with

the received public key

Compare received and generated certificates

Differenthash

Storecertificates

Processpackets

No

No

No

Finish packetcontrol

No

Yes

Yes

Yes

Figure 4 Packet control

10 The Scientific World Journal

Start

Select modification of asymmetric keys

Modifyit

it

No

Keysmodification

Certificate modification

Store modified data

Back

End

Report of modificationas rissky

Report of certificate modificationbecause of keys modification

ModifyNo

Yes

Yes

Back

Figure 5 Modification of keys

Choosenetwork

Show main menu Finish mainmenu

Show data changemenu Show own dataShow services menu

Senddata

Ask information

Show node list

Ask all networkinformation

Ask a certificate

Ask a nodeinformation

Changepassword

Change asymmetrickeys and certificate

Change owndata

Figure 6 Main menu

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 10: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

10 The Scientific World Journal

Start

Select modification of asymmetric keys

Modifyit

it

No

Keysmodification

Certificate modification

Store modified data

Back

End

Report of modificationas rissky

Report of certificate modificationbecause of keys modification

ModifyNo

Yes

Yes

Back

Figure 5 Modification of keys

Choosenetwork

Show main menu Finish mainmenu

Show data changemenu Show own dataShow services menu

Senddata

Ask information

Show node list

Ask all networkinformation

Ask a certificate

Ask a nodeinformation

Changepassword

Change asymmetrickeys and certificate

Change owndata

Figure 6 Main menu

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 11: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

The Scientific World Journal 11

Start

Request of information

End

To one nodeTo all nodes

Choose a node

Receive answer fromthe node

Send request to all nodes

Send request toa node

Receive answerfrom all nodes

Store data

Figure 7 Request of information

Start

Reception of requested information

End

To one nodeTo all nodes

Compare received nodeswith known nodes

Compare received nodeswith known nodes

Send updated nodeslist to requested node

Update nodes list Update nodes list

Resend data request tothe rest of the nodes

Data reception

Packet control

Send updated nodeslist to requested node

Figure 8 Procedure when information is requested

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 12: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

12 The Scientific World Journal

class trustednet Ident

privareint idstdstring computeHash() const

publicin tiptrustednet Key pairtime 119905 timestampCSHA1 sha1trustednet Ident(void)trustednet Ident(int id)int getID() constwriteIdent(stdostream amp os) constbool test() const

Algorithm 1 Program code of the class trustednet ident

class trustednet Node

privatedoublelowast coordinatestrustednet Neighborlowastlowast neighbors

publicint nNeighborstrustednet Ident identitytrustednet Node()

trustednet Neighborlowast getNeighborById(int id)trustednet Neighborlowast getNeighbor(int id)void addNeighbor(trustesnet Nodelowast node)void setProperty(Trustednet Nodelowast node)void writeNode(stdostream amp os) constdouble getXCor()double getYCor()

Algorithm 2 Program code of the class trustednet node

(ii) request for all nodes there is a request for all networknodes requesting for the available information in thenetwork (such as shared resources)

As Figure 7 shows the information can be requested toone node or to all nodes After receiving the informationrequested these data are stored

425 Reply to a Request of Information Figure 8 shows theprocess of how to reply to a request of information Whenthe node receives a request the reply depends on the type ofthe received request If the request is about all network datathe node will reply with the updated data and will forwardthe request to the rest of the nodes If the request is just toone node the receiver node replies with the data request bythe source node

43 Classes Design In this subsection we describe the maindesigned classes for the proper operation of the spontaneousad hoc mobile computing network

431 Trustednet Ident Class The trustednet ident class (seeAlgorithm 1) creates an identity card for the node It containsmost of the information about a node and the encryptionalgorithms that are going to be used by the node The defaultconstructor generates a timestamp public key and a privatekey

After the neighbor discovery the different nodes haveto send messages towards their neighbors These messagescontain the identity card of the node When the neighborreceives this card it checks if there is nothing changed in thecard This can be checked by calculating the hash of the cardIf this new calculated hash is the same as the hash which isincluded in the message then nothing is changed

432 Trustednet Node Class It is shown in Algorithm 2Objects of this class type are nodesThe programclass whichuses this class can declare and initialize the node objectsThese objects contain a group of neighbors and an identityand the location coordinates

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 13: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

The Scientific World Journal 13

class trustednet Key

privateint privateKey

publicint publicKeytrustednet Key(void)privateKey(rand()1000) publicKey(rand()1000)void writeKey(stdostream os) const

Algorithm 3 Program code of the class trustednet key

Typedef mapltinttrustednet Node lowast gtHashClass trustednet Graph

privateHash hashDouble getDistance(trustednet Nodelowast source

trustednet Nodelowast destination) constpublic

trustednet Graph()trustedned Nodelowast getNode(int id)vectorltintgt dijkstra(trustednet Node lowastsource) constvoid writeGraph(stdostream amp os) constvoid addNode(trustednet Node lowastnode)

Algorithm 4 Program code of the class trustednet graph

The doublelowast coordinates variable stands for the locationcoordinates of the nodeTheNeighborlowastlowast neighbors variable isan array of pointers that contains the neighbors of the nodenNeighbors contains the number of neighbors and identitycontains the ID card The method test() generates a newhash out of the data fields and compares it to the SHA-1hash

433 Trustednet Key Class Trustednet key class has two keysthe private and the public one They are generated when thedefault constructor is called The generated keys can have avalue up to 999 This is a very basic class But it is speciallydesigned for integrating different key generation algorithmsAlgorithm 3 shows the code of this class

434 Trustednet Graph Class Objects of this class type aregraphs It is shown in Algorithm 4 The class which usesthis class can declare and initialize graph objects The graphcontains nodes These nodes are connected by neighborsThe main purpose of this class is to estimate which neighborit has to send the message to (till the destination receivesthe message) It performs the routing protocol tasks Thehash variable contains a pointer to the network nodesThere is no need to delete a node that does not haveneighbors or trusted neighbors because it is a pointer Thedijkstra method calculates the path to the nodes it canreach

Some designed helper methods that are not includedbefore are the following onesThemethod onReceiveMessagetakes a look at the type of the received message If this is apublic key sending or returning a message then we checkif there was no data loss or change in the identity card If itis a public key message then the node sends back a publickey return message When the first node receives a publickey return message and there is no data loss or changes itsets the neighbor as trusted When there is a broadcastingmessage the node calls to the updateNeighborTable methodThe method send2NetworkDataPacket is two times declaredin the sourcewith different parametersThat happens becausethe messages for broadcasting are different from thosefor sending public keys Mainly they are doing the sameThey are settinggetting the data of a trustednet DataPacketmessage Afterwards the node sends the message to thedestination node updates neighborTable by using themethodupdateNeighborTable These messages are used to discoverthe neighbor nodes The table holds an entry for everynode in the network if it receives a message from thatnode When all the messages are broadcasted it checks theneighborTable It will only accept a node as a neighbor if theamount of received messages is above a certain thresholdFor instance we can declare the threshold for every node on95 or in case of 3 nodes in the network we can declare anindependent threshold for each node So in this case node0 will accept a neighbor if it receives 25 of the broadcastmessages

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 14: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

14 The Scientific World Journal

5 Performance Simulation

Castalia 2 is a wireless sensor network simulator based on theOMNeT++ 3 platform [35] It can be used by developers andresearchers who want to test their algorithms and protocolswith a realistic node behavior and wireless channel radiomodel It is very important to perform the most accuratechannel characterization in order to reproduce the systemoperation in real environments [36] It can also be usedto evaluate different platform characteristics for specificapplications Because it is highly tunable and it can simulatea wide range of platforms The main features of Castaliaare advanced channelradio model based on empiricallymeasured data detailed state transition for the radio highlyflexible physical process model sensing device noise biasand power consumption node clock drift and CPU powerconsumption and resource monitoring allowing the designof medium access control protocols with a large number ofparameters to tune Castalia lets us easily implement andimport our designed algorithms and protocols while makinguse of the features provided by the simulator The modular-ity reliability and speed of Castalia are partly enabled byOMNeT++ which is an excellent framework for buildingevent-driven simulators

51 Simulation Parameters Castalia simulator uses objectsfrom OMNeT++ In Castalia each model has 3 differentmethods initialize() handlemessage() andfinish()methodsThey are called in this sequence for every single node Inthe next subparagraphs we will talk about different Castaliamodules and how to configure them Each parameter of thesemodules has a different meaning All these parameters areinitialized in different filesThe channel model used is the logshadowingwireless channelmodel which gives the power lossin dB given the distance of two nodes119889 and a few parametersBased on the power loss and the transmission power ofa transmitter we can calculate the power of the signalreceived at a receiver By knowing the noise or interferenceat this receiver we can calculate the signal to noise ratioor signal to interference ratio SNR or SIR Castalia allowsus to dynamically calculate the interference from differenttransmitting nodes and thus dynamically calculate the SNRrsquosor SIRrsquos and the resulting packet reception probabilities

The radio module tries to capture many features of areal generic low power radio which is used in wirelesssensor network platforms The following parameters likenoise Bandwidth modulationType and encodingType affectthe probability of reception Another parameter is noisefloor which depends on temperature and bandwidth ThereceiverSensitivity gives the sensitivity of the receiver Otherparameters are rxPower listenPower and sleepPower ortransmission parameters like txPowerLevels and txPower-ConsumptionPerLevel

There is a separatemodule for themedium access controlThere are different interesting parameters The dutyCycleparameter is the fraction of the time that a node listens tothe channel The listenInterval is the time the node stayson listening Knowing the duty cycle we can then definethe amount of time the node sleeps If a node is sleeping

Path loss exponent 25Path loss exponent 30Path loss exponent 35

Path loss exponent 40Path loss exponent 45Path loss exponent 50

Number of accessible nodes

6050403020100

60

50

40

30

20

10

0

Aver

age a

cces

sible

nod

es

Number of nodes

Figure 9 Path loss exponent

then the BeaconIntervalFraction lets us wake up this nodeBackOffType let us put the transmission back-off for sometime if the channel is not clear and puts the radio to sleepmode

Castalia lets us work in two models linear model andnonlinear model In a linear model there are 3 differentstates (1) a node can be impossible to reach because of anot trusted state (2) a node can be directly reached if thedestination is the node itself or a direct neighbor of the node(3) and a node has to bypass a message towards another nodeif the destination can be reached through a neighbor Thenonlinear model uses the Castalia built-in generator Thereare three deployments uniform random deployment griddeployment and randomized grid deployment (grid + noise)

52 Performance Results Because we want the most accurateresults with large number of nodes we ran the model severaltimes and we provide the most important results in thewireless channel and the MAC layer parameters

521 Wireless Channel This section discusses what happenswith our result of our model when we adjust the mostimportant parameters of the wireless channel

We use path loss exponent of a transmitter to calculatethe power of the received signal Figure 9 shows the numberof the average accessible nodes as a function of number ofnodes using different path loss exponent This simulation istested in a 100m by 100m area As we know if the pathloss exponent decreases the power of the signal received atthe receiver increases Taking into account this fact we cansee that the lowest path loss exponent presents the highestaverage number of accessible nodes However the highestpath loss exponent shows very small average number ofaccessible nodes

The PL 1198890is the known path loss at a reference distance

1198890 It let us know the initial signal power for each node

also called equivalent isotropically radiated power (EIRP)or alternatively effective isotropically radiated power For

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 15: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

The Scientific World Journal 15

55

50

45

40

35

30

25

200 1 2 3 4 5

Aver

age a

cces

sible

nod

es

Value of SNwireless channel d0

Accessible nodes versus d0

PL (d0) = 75

PL (d0) = 55

Figure 10 Reference distance

the following test we used PL 1198890= 55 dBm and 75 dBm

(which simulates nodes with different transmission poweror different antenna gains) The test increases the referencedistance with the same known path loss We used 50 nodes inan area of 100m by 100m Our results are shown in Figure 10

522 Medium Access Control The parameter BackOffTypehas a close connection with carrier sensing It means thatbefore a node starts to transmit a message and before it startsto transmit potential beacons it checks with the radio to seeif the channel is clear If the channel is not clear the node hasto back off for some time We have different backOffTypes(Figure 11) Using value 1 the back-off time is constant and itis defined by the BackoffBaseValue parameter Using value 2the back-off time has a multiplying value for example 1 lowast 1198862 lowast 119886 3 lowast 119886 4 lowast 119886 We back off for (BackoffBaseValue)lowast (times) Using a value that is equal to 3 the back-off timeis an exponential value (eg 2 4 8 16 32 ) As we cansee in Figure 11 the exponential value is the better thanthe multiplying value and the constant value We used theadditive interference model to simulate this behavior

In the following test we increase the BackOffBaseValueparameter and look at the difference between the backOfftypes For all these tests we used the additive interferencemodel to simulate this behavior Figure 12 shows differ-ent BackOffBaseValues (from 0 to 256) for BackOffType1 Meanwhile there are not too much difference betweenBackOffBaseValue 32 and BackOffBaseValue 64 and thereis a clear difference between BackOffBaseValue 128 andBackOffBaseValue 256 although we can find some peaksin BackOffBaseValue 128 which have higher values thanBackOffBaseValue 256

Figure 13 shows different BackOffBaseValues (from 0 to256) for BackOffType 2We can see that except BackOffBase-Value 0 the rest tend to have similar average accessible nodeswhen the number of nodes increases The values obtainedin this case for the average accessible nodes are higher thanthose for BackOffType 1

BackOffType 1BackOffType 2BackOffType 3

Max

imum

acce

ssib

le n

odes

Number of accessible nodes

50403020100

50

40

30

20

10

0

Number of nodes

Figure 11 Maximum accessible nodes as a function of the numberof nodes

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

30

25

20

15

10

5

00 5 10 15 20 25 30 35 40 45

Aver

age a

cces

sible

nod

esNumber of accessible nodes

Number of nodes

Figure 12 BackOffType = 1

Figure 14 shows the obtained graphs for different Back-OffBaseValues (from 0 to 256) for BackOffType 3 We obtainsimilar average accessible node values than for BackOffType2 but in this case the tend of the graphs of BackOffBaseValuesare parallel when the number of nodes increases (except forBackOffBaseValue 0)

We have observed that if the BackOffBaseValue gets veryhigh there is almost no difference between the numberof neighbors But when the BackOffBaseValue is low forinstance between 0 and 16 then there is a big differencebetween the amount of neighbors

Castalia uses a random time offset when a node decidesto transmit something instead of transmitting it immediately(because it helps to avoid collisions) Now we made a test ofthe randomTxOffset parameter We used again the additiveinterference model We observed that the randomTxOffset

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 16: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

16 The Scientific World Journal

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 13 BackOffType = 2

BackOffBaseValue 0BackOffBaseValue 16BackOffBaseValue 32

BackOffBaseValue 64BackOffBaseValue 128BackOffBaseValue 256

454035302520151050

45

40

35

30

25

20

15

10

5

0

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

Figure 14 BackOffType = 3

Aver

age a

cces

sible

nod

es

Number of accessible nodes

Number of nodes

RandomTxOffset 0RandomTxOffset 5RandomTxOffset 20

35

30

25

20

15

10

5

00 10 20 30 40 50

Figure 15 RandomTxOffset

Figure 16 Request menu

Figure 17 Image in the mobile when there is a request to one node

parameter scores better with a value of 0 than in higherrandomTxOffset Figure 15 shows the results of our test

6 Deployment

A prototype to simulate the creation of a virtual cloudcomputing platform using a spontaneous network has beendeveloped When the network is created users can updatethe network information sharing resources and services byasking other nodes They can ask all network nodes or justone specific nodeThe receiver node reply to the request withthe information requested or it can decide not to share anddeny the request

Figures 16 and 17 show the designed windows to requestsome network information A user can decide to requestthe data only for a specific network node or for all network

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 17: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

The Scientific World Journal 17

Services-Application AplicationMid-Help HelpS-Show ShowS-SendS SendS-f FormcommandAction (in c Command in d Displayable) void

-show() void+uploadIcons() void

SuccessS-dady Services-grandpa ApplicationMid-commandAction (in c Command in d Displayable) void+showSuccess() void

HelpS-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+showHelpS() void

SendS

-services Services-application ApplicationMid-commandAction (in c Command in d Displayable) void+theChat() void+theChat2() void

Chat-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

Chat2-xxxNodes Nodes-services Services-application ApplicationMid-f FOrm-commandAction (in c Command in d Displayable) void

InfoS-services Services-application ApplicationMid-f Form-success SuccessS-pa PetAct-pn PetNodes-commandAction (in c Command in d Displayable) void+dataNodes() void+dataAct() void

ShowS2-services Services-application ApplicationMid-a Form-commandAction (in c Command in d Displayable) void+image() void

PetNodes-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+RequestInfo() void+update() void

PetAct-services Services-application ApplicationMid-f Form-success SuccessS-xxxNodes Nodes-commandAction (in c Command in d Displayable) void+image() void+update() void+refresh() void

ShowS-services Services-application ApplicationMid-nodes Nodes-m ShowS2-a Form-commandAction (in c Command in d Displayable) void+showNodes() void

Figure 18 Request diagram class

nodes If the user selects to request the data for one nodethe user must choose the node to request the data When anode receives the request it can decide to reply or not to therequest

Figure 18 shows the diagram class of the request processHelpS class helps the user with the use of the servicesmenu SuccessS class informs the user if the process hasbeen processed successfully or if there has been a failureSendS class offers the user the option to choose between

sending the request to one node or to all network nodesChat Class lets the user send messages to a node Chat2 Classlets the user send messages to all network nodes ShowSClass shows the user the list of the trusted network nodesShowS2 class shows the detailed data of one node InfoS classoffers the user a menu to choose a request PetNodes Classmanages the information request about all network nodesPetAct class manages the information request of one networknode

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 18: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

18 The Scientific World Journal

7 Conclusion

Mobile cloud computing networks allow mobile users toshare computing resources and applications In this paperwe proposed a trusted algorithm for creating spontaneous adhoc mobile cloud computing network We have developedand tested some algorithms that allow managing the nodesthat join and leave the spontaneous ad hoc network Inorder to guarantee the network security and the reliabilityof the communications and transmitted data we have alsodeveloped a trusted algorithm This algorithm is based onthe advanced encryption standard (AES) algorithm andit has implemented a symmetric encryption scheme withsimple key management features We have also deployedthe communication protocol procedures and the designedclasses Finally using Castalia simulator in the OMNeT++3 platform we have implemented a prototype to simulatethe creation of a mobile cloud computing system using aspontaneous ad hoc network

From our results we can see that in some cases as thenumber of nodes in network increases the network perfor-mance is slightly reduced However there are combinationsof parameters that maintain the performance level in verypromising values

As future work we would like to include secure processesbased on trust mechanisms and analyze the delay of thesecure procedures (proposed in our system) versus the pro-cedures without security systems Moreover we will comparethe simulation results with real values In future works wewill test our system in unsecure public cloud environments[37]

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

References

[1] S Preu and C H Cap ldquoOverview of spontaneous networkingmdashevolving concepts and technologiesrdquo in Proceeding of the Work-shop on Future Services for Networked Devices (FuSeNetD rsquo99)Heidelberg Germany 1999

[2] O Bello A Bagula andHAChan ldquoAutomatic network servicediscovery and selection in virtualization-based future internetrdquoNetwork Protocols and Algorithms vol 4 no 2 pp 5ndash29 2012

[3] S Gallo L Galluccio G Morabito and S Palazzo ldquoRapid andenergy efficient neighbor discovery for spontaneous networksrdquoin Proceedings of the 7th ACM Symposium onModeling Analysisand Simulation of Wireless and Mobile Systems (MSWiM rsquo04)pp 8ndash11 Venice Italy October 2004

[4] J J P C Rodrigues L Zhou L D P Mendes K Lin andJ Lloret ldquoDistributed media-aware flow scheduling in cloudcomputing environmentrdquo Computer Communications vol 35no 15 pp 1819ndash1827 2012

[5] A H Mohsin K A Bakar A Adekiigbe and K Z GhafoorldquoA survey of energy-aware routing protocols in mobile Ad-hoc networks trends and challengesrdquo Network Protocols andAlgorithms vol 4 no 2 pp 82ndash107 2012

[6] L M Feeney B Ahlgren and A Westerlund ldquoSpontaneousnetworking an application-oriented approach to ad hoc net-workingrdquo IEEE Communications Magazine vol 39 no 6 pp176ndash181 2001

[7] K Z Ghafoor K A Bakar M A Mohammed and J LloretldquoVehicular cloud computing trends and challengesrdquo in MobileNetworks and Cloud Computing Convergence for ProgressiveServices and Applications pp 262ndash274 IGI Global 2013

[8] H Modares J Lloret A Moravejosharieh and R SallehldquoSecurity in mobile cloud computingrdquo in Mobile Networksand Cloud Computing Convergence for Progressive Services andApplications pp 79ndash91 IGI Global 2013

[9] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[10] J Lloret L Shu R Lacuesta and M Chen ldquoUser-orientedand service-oriented spontaneous ad hoc and sensor wirelessnetworksrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2 pp 1ndash8 2012

[11] A K Gupta H Sadawarti and A K Verma ldquoPerformanceanalysis of AODV DSR amp TORA routing protocolsrdquo IACSITInternational Journal of Engineering and Technology vol 2 no2 pp 226ndash231 2010

[12] P Bellavista A Corradi and C Giannelli ldquoThe real ad-hocmulti-hop peer-to-peer (RAMP) middleware an easy-to-usesupport for spontaneous networkingrdquo in Proceedings of the 15thIEEE Symposium on Computers and Communications (ISCCrsquo10) pp 463ndash470 Riccione Italy June 2010

[13] J H Christensen ldquoUsing RESTful web-services and cloudcomputing to create next generation mobile applicationsrdquo inProceedings of the 24th ACM SIGPLAN conference companionon Object oriented programming systems languages and applica-tions pp 627ndash633 ACM October 2009

[14] M Mani A Nguyen and N Crespi ldquoSCOPE a prototypefor spontaneous P2P social networkingrdquo in Proceedings of the8th IEEE International Conference on Pervasive Computingand Communications Workshops (PERCOMWorkshops rsquo10) pp220ndash225 Mannheim Germany March-April 2010

[15] L Liu J Xu N Antonopoulos J Li and K Wu ldquoAdaptiveservice discovery on service-oriented and spontaneous sensorsystemsrdquo Ad-Hoc and Sensor Wireless Networks vol 14 no 1-2pp 107ndash132 2012

[16] G Kirby A Dearle A Macdonald and A FernandesldquoAn approach to ad hoc cloud computingrdquo httparxivorgabs10024738

[17] G Huerta-Canepa and D Lee ldquoA virtual cloud computingprovider for mobile devicesrdquo in Proceedings of the 1st ACMWorkshop on Mobile Cloud Computing and Services SocialNetworks and Beyond (MCS rsquo10) June 2010

[18] V L Divya ldquoMobile application with cloud computingrdquo Inter-national Journal of Scientific and Research Publications vol 2no 4 2012

[19] R Lacuesta J Lloret M Garcia and L Penalver ldquoA secureprotocol for spontaneous wireless Ad Hoc networks creationrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 4 pp 629ndash641 2013

[20] R Lacuesta J Lloret M Garcia and L Penalver ldquoTwo secureand energy-saving spontaneous ad-hoc protocol for wirelessmesh client networksrdquo Journal of Network and Computer Appli-cations vol 34 no 2 pp 492ndash505 2011

[21] J Lloret R Lacuesta M Garcia and L Pealver ldquoA spontaneousad hoc network to share www accessrdquo Eurasip Journal on

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 19: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

The Scientific World Journal 19

Wireless Communications and Networking vol 2010 Article ID232083 2010

[22] R Lacuesta G Palacios-Navarro C Cetina L Penalver andJ Lloret ldquoInternet of things where to be is to trustrdquo EurasipJournal on Wireless Communications and Networking vol 2012article 203 2012

[23] R Lacuesta and L Penalver ldquoAutomatic configuration of ad-hoc networks establishing unique IP link-local addressesrdquoin Proceedings of the International Conference on EmergingSecurity Information Systems and Technologies (SECURWARErsquo07) Valencia Spain October 2007

[24] F Schatz S Koschnicke N Paulsen and M SchimmlerldquoMasterSlave assignment optimization for high performancecomputing in an EC2 cloud using MPIrdquo Network Protocols andAlgorithms vol 4 no 1 pp 22ndash33 2012

[25] S Capkun L Buttyan and J-PHubaux ldquoSelf-organized public-key management for mobile ad hoc networksrdquo IEEE Transac-tions on Mobile Computing vol 2 no 1 pp 52ndash64 2003

[26] T Czachorski and F Pekergin ldquoDiffusion approximation as amodeling tool in congestion control and performance evalua-tionrdquo in Proceedings of the 2nd International Working Confer-ence Performance Modelling and Evaluation of HeterogeneousNetworks (HET-NETs rsquo04) West Yorkshire UK July 2004

[27] A S Wandert N Gura H Eberle V Gupta and S C ShantzldquoEnergy analysis of public-key cryptography for wireless sensornetworksrdquo in Proceedings of the 3rd IEEE International Con-ference on Pervasive Computing and Communications (PerComrsquo05) pp 324ndash328 Kauai Island Hawaii USA March 2005

[28] N R Potlapally S Ravi A Raghunathan and N K JhaldquoAnalyzing the energy consumption of security protocolsrdquo inProceedings of the International Symposium on Low PowerElectronics and Design (ISLPED rsquo03) Seoul Republic of KoreaAugust 2003

[29] J Goodman and A Chandrakasan ldquoAn energy efficient recon-figurable public-key cryptography processor architecturerdquo inCryptographic Hardware and Embedded SystemsmdashCHES 2000vol 1965 of Lecture Notes in Computer Science pp 175ndash190Springer 2000

[30] S Landau ldquoCommunications security for the twenty-firstcentury the advanced encryption standardrdquo Notices of theAmerican Mathematical Society vol 47 no 4 pp 450ndash4592000

[31] A Kumar A Aggarwal and C Charu ldquoPerformance analysisof MANET using elliptic curve cryptosystemrdquo in Proceedings ofthe 14th International Conference on Advanced CommunicationTechnology (ICACT rsquo12) pp 201ndash206 February 2012

[32] R Mayrhofer F Ortner A Ferscha and M Hechinger ldquoSecur-ing passive objects in mobile ad-hoc peer-to-peer networksrdquoElectronic Notes in Theoretical Computer Science vol 85 no 3pp 105ndash121 2003

[33] FIPS 180-1-Secure Hash Standard ldquoSHA-1 National In-stitute of Standards and Technologyrdquo httpwwwitlnistgovfipspubsfip180-1htm

[34] J Rumbaugh I Jacobson and G BoochUnifiedModeling Lan-guage Reference Manual Addison-Wesley Professional BostonMass USA 2nd edition

[35] Castalia Website httpcastaliaresearchnictacomauindexphpen

[36] L D P Mendes J J P C Rodrigues J Lloret and S SendraldquoCross-layer dynamic admission control for cloud-based mul-timedia sensor networksrdquo IEEE Systems Journal vol 8 no 1 pp235ndash246 2013

[37] R Dutta and B Annappa ldquoProtection of data in unsecuredpublic cloud environment with open vulnerable networksusing threshold-based secret sharingrdquo Network Protocols andAlgorithms vol 6 no 1 pp 58ndash75 2014

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of

Page 20: Research Article Spontaneous Ad Hoc Mobile Cloud Computing ...downloads.hindawi.com/journals/tswj/2014/232419.pdf · monitoring, Liu et al. presented an adaptive and e cient peer-to-peer

International Journal of

AerospaceEngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

DistributedSensor Networks

International Journal of