0% found this document useful (0 votes)
84 views8 pages

Mobile Ad-Hoc Network Management in The Cloud: Hazzaa Naif Alshareef Dan Grigoras

IEEE PAPER

Uploaded by

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

Mobile Ad-Hoc Network Management in The Cloud: Hazzaa Naif Alshareef Dan Grigoras

IEEE PAPER

Uploaded by

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

Mobile Ad-hoc Network Management in the Cloud

Hazzaa Naif Alshareef


Department of Computer Science
University College Cork (UCC)
Cork, Ireland
[email protected]
Dan Grigoras
Department of Computer Science
University College Cork (UCC)
Cork, Ireland
[email protected]

Abstract One benefit of creating a mobile ad-hoc network
(MANET) is that members with no direct access to the Internet
can avail themselves of peers connections to the Internet and use
public cloud services. Guaranteed access to cloud services is
important in the case of emergency or disaster recovery
situations. As managing a MANET is a difficult task, this paper
introduces a new model for MANET management that uses cloud
services. While preserving the ad-hoc nature of a mobile
network, its management by the cloud provides reliability and
robustness. The design and implementation of the system are
presented, as well as a method for allowing ad-hoc network
creation on Android devices. To evaluate the feasibility of the
proposed prototype, an Android application was designed and
tested. It offers communication with the cloud and supports file
sharing among peers.
Keywords Mobile Ad-hoc Networks, Android Development,
Cloud Computing, Mobile Cloud Computing.
I. INTRODUCTION
The ever-increasing popularity of smart mobile devices can
be explained by their capabilities to access web services,
provide entertainment and communicate with each other. In
addition to cellular communication, smart mobile devices can
use their Wi-Fi or Bluetooth radio networking cards to create
or join mobile ad-hoc networks (MANETs). MANETs
facilitate many applications such as file sharing and multi-
player games and support less costly communication among
members. For example, if one member has no direct access to
the Internet, it can avail itself of the MANET to access it
through other members of the network that have an Internet
connection. In this project, we are interested in access to public
cloud services for the members of a MANET, an aspect that
might be very important in the case of emergency or disaster
recovery situations. Indeed, access to site maps, including
utilities, health care services, and so on, all provided as cloud
services, are very important immediately after earthquakes,
storms, floods or fire. One or more network member with
Internet access can download and share maps, guidelines, etc.
or establish video links with other members. When more than
one MANET member has Internet access, the cloud can
monitor the quality of the links and choose the best (in terms of
signal strength and stability) for critical communication. The
MANET-cloud model can have other interesting applications
as well, for example in reducing communication overcrowding
in dense areas (in terms of devices), and in tourism and
commerce.
MANET management is a complex task, generally carried
out by a middleware system running on all mobile devices and,
therefore, consuming their resources [1], [2]. Specifically,
MANET events such as when a new device joins, the sudden
departure of a device, a network split or the merging of
networks are difficult to deal with. Indeed, the process of IP
allocation in order to avoid duplicates or waste consumes a lot
of mobiles resources, especially energy, as it generally
involves all the MANET members. Network split due to the
mobility of devices can lead to session termination between
peers that now belong to departing sub-networks. The MANET
management by cloud services proposed in this paper provides
a reliable and robust solution to these problems.
In our model, the MANET preserves its ad-hoc nature but
we assume that one or more of its members has Internet access;
therefore, they can all use cloud services. In our scenario, as
soon as a mobile device creates a MANET, that device will
register it with a cloud service for MANET management. This
service will learn about the new network, then about the
members that join subsequently and the quality of
communication links between the cloud and MANET members
when they exist. The main purpose of this new cloud service is
to monitor the MANET connection(s) to the cloud and its
membership in order to maintain communication with the
network in the context of its members mobility. For example,
if a mobile device providing communication with the cloud
leaves the MANET, the management service can select another
communication link if one is available. If there are several
links, the one with the strongest signal can be chosen. The
cloud management service will deal with departure, split and
merge as it can use cloud persistent storage and allocate
computing resources to the MANET as required during its
lifetime. The implementation of this model faces challenges
which are both scientific and technological. The most
challenging is tackling device mobility and the dynamic
topology of the MANET. Cloud resources, especially storage,
can be used to maintain and process consistent information
about the MANET and its individual members. The loss of
connectivity between MANETs and the cloud for a shorter or
longer period of time also needs to be dealt with by saving and
restoring their states.
Technologically, the feature for creating Wi-Fi ad-hoc
networks is blocked in most operating systems (OS) of mobile
devices. The Android OS offers what it is called a tethering
service, which lets users create a hotspot and then accept
neighbours to connect to this hotspot. However, this is not an
ad-hoc network because it requires access point (AP)
configuration, whereas ad-hoc describes an infrastructure-less
network. As such, there is a need to investigate other
2014 13th International Symposium on Parallel and Distributed Computing
978-1-4799-5919-8/14 $31.00 2014 IEEE
DOI 10.1109/ISPDC.2014.22
140

techniques that allow the creation of a Wi-Fi ad-hoc network
with mobile Android-based devices.
In this paper, we address the challenges of MANET
management and provide reliable and robust solutions to
difficult operations such as join/leave, split, merge and session
abortion. We also provide an approach for enabling ad-hoc
networking with Android devices.
The remainder of this paper is organized as follows. Section
II considers related work. Section III introduces the MANET
cloud model. Section IV analyses the implementation of the
model. Section V discusses the experimental results, and
section VI presents the conclusions and future work.
II. RELATED WORK
Here, we review similar research projects or industrial
initiatives relevant to our work. However, to the best of our
knowledge, there is no project proposing MANET
management by cloud services.
The paper [3] presents a number of network models that are
based on the idea of mobile multi-hop ad-hoc networking. The
paper refers to them as MANET-born models because they are
built on the lessons learned from MANET research. The
authors believe that there is a lack of attention to application
and middleware in the MANET field that leads to a reduction
in MANET spread. In a summary of the paper, the authors
expect that the presented models will be mixed together and/or
combined with infrastructure-based networks to create what
they call the multi-paradigm era.
Zhang et al. propose a secure geo-social networking system
that uses a Wi-Fi-based multi-hop MANET [4]. The main goal
of the paper is to present a system that allows users who are
located in the same place to communicate with each other
using a Wi-Fi network. They can share content (photos,
videos), chat, and form relationships. The paper provides a
multi-hop MANET platform for mobile devices called MoNet,
where two applications are designed: Wi-Face and Wi-Market.
Cloud services are mentioned in the paper but not for MANET
management and no implementation is presented.
In another project [5], a framework called the Mobile-
Cloud, which aims to address trust management, secure
routing, and risk management issues in MANETs is introduced.
The framework transforms traditional MANETs to a new
service-oriented communication architecture, where each
member becomes a service node that can be used as a service
provider or service broker. In general, each member of such a
MANET has to provide sensing data about the device itself
(such as battery state, processor type), and neighbouring
mobile nodes (such as address, link quality, number of hops).
As a result, the cloud will have an overview of each MANET
operation that can be used to provide information to mobile
devices for decision making (routing a request, for example).
The framework intends to handle all processing and data
collection in a centralized way for the purpose of turning all
communication from one-to-many to one-to-one. Clearly, the
paper requires each mobile device to have an Internet
connection to be able to connect to instances in the cloud. That
is not possible for most MANETs.
Recently, Android was provided with a new service called
Wi-Fi Direct [6], which allows users to create one-to-one or
one-to-many communication without the need to set up an
infrastructure. Wi-Fi Direct uses a peer-to-peer (P2P)
framework where one device acts as group owner and any
other device can be a peer to that device. It relies on a
technique called Soft-AP (software enabled access point),
which makes a wireless antenna work as both access point and
client [7].
Wi-Fi Direct is offered in most new devices such as mobile
phones, cameras, printers, PCs, and gaming devices. According
to one project [8], there were more than 1,400 different devices
certified for Wi-Fi Direct as of October 2012.
Android developers provide a Wi-Fi Direct feature in Wi-
Fi-enabled devices: Android 4.0 (API level 14) or later.
Programmatically, developers can use P2P and a Wi-Fi
manager library to build all necessary pieces to use this feature.
The benefits of this are enhanced mobility Wi-Fi Direct
devices can connect anytime, anywhere to each other directly
since a Wi-Fi router of AP is not required and ease of use, as
there is no need for pre-configuration. All that users need to do
is discover nearby devices, then send a connection request and
secure connection. However, only the most recent devices
support Wi-Fi Direct. The group owner can be a bottleneck,
especially if the number of peers is high. Using this feature
requires interaction between users: each user has to choose to
whom they wish to connect and that chosen device has to
accept the request before establishing communication.
An Australian group is working on a project called Serval
mesh [9], [10] that aims to enable devices to perform self-
organizing P2P networks with gateways to the Internet when
available. Users can send text messages either to a particular
peer or to all peers (broadcasting) in the same area; calls to any
peers using the VoIP technique can also be made. The purpose
of this project is to provide widespread communication in areas
where the infrastructure is damaged, such as in the case of a
natural disaster. A custom routing protocol that behaves in a
similar fashion to the OLSR (optimized link state routing)
protocol has also been used [11]. An Android app is available
on the Android Market [12] which consists of two components:
the Batphone and Serval DNA (distributed numbering
architecture). The Batphone is the user interface; Serval DNA
is the core networking, encryption and file-sharing component.
The benefits of this project are that it is open source, free to
use, carrier independent and all communication is done using
Wi-Fi links. However, devices need to be rooted for full
features. It works without rooting if peers are connected to the
same network. The entire software is still in the experimental
stage.
The MANET Manager App [13], which is part of a larger
project called Smart Phone Ad-Hoc Networking (SPAN) [14],
is made up of several components. These are the MANET
service, modular MANET routing protocol framework, and a
layer of managers for security, session management, and
reliable transmission. It provides the choice of several reactive
and proactive routing protocols through the modular routing
protocol framework. The app components work together to
provide a Java observer interfaces that other apps can
implement. The apps can then interact with the network that
the service creates.
141

By modifying the Wi-Fi configuration file manually, some
developers have managed to make the kernel to get ad-hoc
network working: the Wi-Fi chip is changed from its normal
mode to an ad-hoc mode. In practice, users have to add ad-hoc
network details (SSID, priority, ID) in the wpa_supplicant.conf
file, and then set the ap_scan equal to 2 to perform ad-hoc
networking. The benefit of this approach is its direct and easy
way of allowing ad-hoc networking. However, mobile devices
will either work in an ad-hoc mode or normal mode; the two
modes cannot run at the same time. Moreover, it does not work
on all Android devices.
III. SYSTEM DESIGN
A. System model
The MANET-cloud system is composed of two
components with different characteristics: the public cloud and
the ad-hoc network (see Fig. 1). The main features of a
MANET are the mobility of its members and its short lifetime.
Another important feature is that mobile devices are scarce in
resources, especially in terms of energy and storage. In
contrast, the cloud has extensive computing resources that can
be allocated on demand and energy is not an issue. The
communication between a MANET and the cloud can be
provided either by cellular networks or Wi-Fi, allowing us to
assume that at least one device in the network will be
connected to the cloud at a time, all the time. The number of
MANETs connected to the same cloud for the purpose of using
cloud services is variable and can be very high in dense areas.
The new cloud service that we propose is MANET
management. The role of this service is to manage all
registered MANETs individually. When a MANET is created,
it will register with the cloud, and, consequently, a new
instance of the MANET management cloud service will be
created and allocated to it. This service instance will monitor
MANET membership and the communication link status
between individual MANET devices and the cloud. In this
way, the cloud service can select the best communication link
with each MANET or switch from a link with a device that is
departing to the best quality link among the remaining devices.
One important consequence of this model is that in areas with a
large density of mobile devices (phones), the number of data
communication links can be decreased and, therefore, reduce
the overcrowding of the radio spectrum.


Fig. 1 The MANET and cloud model
The cloud service allocates identifiers to MANETs and IPs
to joining members. This centralized management of
addresses avoids the expensive operation of checking for
duplicates whenever a new device joins the MANET or when
networks merge. Additionally, the MANET management
cloud service can store MANET information on a constant
basis.
B. MANET management function
In order to avail themselves of the service, each user who
has an Internet connection and is able to reach the cloud is
required to create an account in the cloud by providing a
unique username and a password.
When creating an account, the request is received into the
cloud and its data checked against the users database (DB). If
the details are found in the DB, the cloud returns a MANET
SSID to the users mobile, as well as an allocated IP address.
The MANET SSID is created based on user location and the
capacity of each MANET. The IP address is allocated by a
DHCP (Dynamic Host Configuration Protocol) server running
in the cloud.
When the user details are validated, a profile table is
created in the mobile device database, which contains account
information such as: username, password, MANET_IP and
MANET_SSID. A number of services are provided to the user,
such as starting and stopping ad-hoc networking, sharing a file
with a neighbour or all neighbours (broadcasting), and
receiving notification from the cloud.
1) Starting-up a MANET protocol
A user starts a MANET by choosing the create MANET
service, where a MANET SSID is taken from the profile table
in the mobile DB and an IP address is set up statically from the
profile table. When the MANET starts successfully, a hello
message is periodically broadcast. The device also listens for
any traffic in its radio range.
2) Joining an existing MANET
The procedure for joining an existing network depends on
the availability of the cloud.
a. The cloud is unavailable
If the cloud cannot be reached, the users device can be
configured to a global MANET and the IP address is set
statically from the devices MAC (media access control)
address to avoid conflict (self-allocation). Global MANET is
an open MANET network where some members have direct
connection to the cloud and some do not. The idea behind this
network is to provide a kind of connectivity when users cannot
reach the cloud directly. Members in this network can use
neighbours links to communicate with the cloud. Similarly,
the cloud can communicate with those members who do not
have an Internet connection through those who have an active
link with the cloud.
When a member acquires the ability to communicate with
the cloud directly, one of the following scenarios will occur.
The member verifies its information with the cloud and stays in
the global network, or leaves the global network and either
creates a new network or joins an existing one.
142

b. The cloud is available
When a mobile device is able to reach the cloud, it will
successfully login to its account. It can then issue a request to
join an existing MANET. The cloud replies by including all
available MANETs in its vicinity that are found in the
database. After the requester chooses a network from the list,
the cloud allocates resources such as CPU, memory, storage,
and networking resources and an IP address to be used in the
chosen network.
3) Monitoring MANET activity
The cloud tracks each MANET usage and its members
behaviour for the purpose of providing better performance. For
example, the cloud can switch from one link to another to
communicate with a particular member. By gathering
information about network activity, the cloud can balance
networks such as by adding more members or redirecting them
to another network to avoid overcrowding when other networks
are scarce or inactive. Indeed, all information can be analysed
to provide statistics for the service provider service provider.
However, each member of a MANET can periodically send
a message to the cloud for identification of its status and
confirmation of the network to which it is connected.
Alternatively, to save energy, a member will contact the cloud
only when its status is about to change or has changed
departing/departed. On the other side, the cloud has to update
the users records when status messages are received as well as
check inactive users by sending a check status message.
a. Cloud agent
For the purpose of tracking each MANET efficiently and
providing services to members who do not have an active link,
the cloud chooses one of the MANET members as a cloud
agent. The main role of this agent is to feed the cloud
information in regard to its connected MANET, such as
MANET size and members joining/departing. The cloud can
also reach members through this agent as well as being able to
broadcast messages to the whole network. Initially, the cloud
picks the issuer of a new MANET as a cloud agent of the
MANET. Then, if other members start to join the MANET,
the cloud can change the MANET agent if there is another
node that has a better link. However, if the agent has left the
network, the cloud will start to check the status of all links
where the node with the best link with the cloud will have a
higher chance of being selected. After choosing a MANET
agent, the cloud starts to retrieve MANET information from
that agent.
b. MANET split operation

Fig. 2 The cloud splitting a MANET into two separate networks
For the purpose of providing better performance to users,
the cloud will intelligently perform actions based on statistics
gathered from monitoring MANET behaviour. One of these
actions is a split, which is separating an existing MANET into
two (or more) networks.
The cloud can split an existing network based on certain
parameters, such as MANET size, the purpose of
creating/joining this network, and network activities. For
instance, if a network is found to be congested and
overcrowded, a split operation is practical. Another example
of implementing a split operation is to group members
according to some criterion, e.g., role doctors, nurses,
firefighters and so on.
The cloud starts the split operation by listing users who will
move to a new network. It then distributes the new MANET
SSID to those users where the IP addresses are kept as they
have already been allocated from the cloud. When users
receive this announcement from the cloud, they disconnect
from the old network. Fig. 2 is an illustration of how the cloud
splits a network into two separate ones where the old SSID is
kept.

Fig. 3 Users status
However, this operation can also be started by mobile
nodes when the departure of one (or more) node(s) is detected.
The cloud detects that the network is about to split in different
ways, such as: fading signals from some MANET members,
not receiving anything from some members, or retrieving
network operations via the cloud agent. In practice, the cloud
marks users status to one of three categories, namely, active,
suspended, and inactive. Active users send and receive
messages using the cloud. In contrast, inactive users have left
their MANET after notifying the cloud of their departure.
Between these two types, there are suspended users, where
communication from/to those users suddenly stops without
any previous notice. Losing communication between the cloud
and such a user can be the result of different circumstances,
such as the mobile devices (battery dead), networking issues
(no Internet access), or connecting to a MANET that is not
registered in the cloud. Therefore, the cloud has continuously
(every ten minutes for example) to try to reach suspended
users to update their status by sending a direct message to that
143

member or retrieving its status from the cloud agent of its
MANET. One possibility is that a suspended user was
connected to MANET and it is found that it is now
connected to a new MANET , which is not registered in the
cloud database. The cloud then checks if there are other
members of MANET that are now members of MANET .
If that is the case, the cloud considers that MANET has split
into two networks: one which has the same SSID and a second
one that has a new SSID, i.e., . Finally, the cloud starts
monitoring the new MANET to capture its user behaviour as
well as to allocate resources to this MANET. Fig. 3 provides
examples of users status where, as in the last example,
splitting is detected by the cloud.
c. MANET merge operation
Essentially, managing a high number of MANETs will
affect system performance. Therefore, the cloud has to ensure,
first, that creating a MANET is not being used as an attack to
harm the whole system. The cloud then has to reduce the
number of MANETs to provide a reliable service to users. One
of the models for reducing MANET numbers is by merging
two (or more) MANETs to a single MANET. The merge
operation can be performed by the cloud when needed. If two
small MANETs are located in the same area, merging these
will be beneficial.
To ensure that merging is accomplished efficiently, the
cloud keeps IP addresses of both networks members. The
SSID of one of these networks will be used for the new
network. Choosing which SSID will be used depends on the
size of each network. In other words, the SSID of the MANET
that has the higher number of members will be used. However,
merging can occur between users without involving the cloud.
If that is the case, the cloud has to have a mechanism for
detecting this event. For example, users on a train might create
a new MANET (called ) to share data and they arrive in
another city that has a number of MANETs, where most of
those users start joining a particular MANET (called ). The
merge has to be detected by the cloud for a number of
purposes, such as the allocation of extra resources. In practice,
the cloud watches members activities (joining/departure) that
are sent by the cloud agent mentioned previously. If the cloud
finds that a number of members that are connected to another
MANET have started to join the agents network, the cloud
assumes a merge operation is in progress. When merging is
detected, the cloud releases resources allocated to the old
network and allocates more resources to the MANET that is
left. In the case that the old network is not known to the cloud,
a record of what has been done will be created in the cloud
database. Fig. 4 shows an example of the merge operation.


Fig. 4 Merging operation performed by the cloud
d. Session still active
One of the most important benefits of introducing cloud
services is saving an active session, even if one of the two
parties has left the network. There can be nodes in a client-
server relationship and they can be engaged in active sessions.
If, due to mobility, the communication links are broken, the
sessions are affected. In a traditional MANET, if two nodes are
communicating to do a job and one of them departs suddenly,
the communication is aborted. The session is not active
anymore and all work is lost. However, in our system, when
two nodes registered in the cloud have an active session and
one of them is unexpectedly disconnected, the session can be
saved. The link break will determine the lack of
acknowledgement from the departed node. The member of the
MANET will start the session-saving procedure in the cloud,
assuming the session is saved on the receiver side also. It will
then return to being active when the sender sends a request to
the cloud looking for the disconnected node to resume that job.
The cloud has the role of acting as a bridge between these two
nodes to keep the session active (see Fig. 5).


Fig. 5 Split has occurred and session is still active
IV. IMPLEMENTATION
The system was implemented using Android Java SDK
[15] and tested on three Google Nexus One (running Android
2.3) and two Samsung Galaxy III (running Android 4.2.2)
mobile devices. Super-user access was provided to allow Wi-Fi
chip access and modification. Some devices had a 3G link and
some did not.
Cloud services were implemented using Amazon Elastic
Compute Cloud (EC2) [16], where the instance was deployed
in the EU (Ireland) region. Amazon Simple Storage Service
(S3) [17] was used for storage purposes. When users
communicate with the cloud to seek services, their information
is stored in a database that is hosted on the cloud using the
Amazon Relational Database Service (Amazon RDS) [18]. The
database contains the following:
x Users Account Table: contains details of all users.
x Actions Table: contains all users requests sent to the
cloud.
x Broadcasting Table: stores details of each broadcast
message that is sent from the cloud to users.
x Neighbour Table: stores ad-hoc network members and
actions.
As is known, administrators can manage Amazon services
in different ways, such as accessing an AWS (Amazon Web
Services) console. Alternatively, we developed another
Android app (on Samsung Tab 2) for administrator use for
144

sending notifications, checking users status and the retrieval of
statistics about system usage. A website is also hosted in the
cloud to ease interactions with cloud services. Furthermore, an
Android app was developed and installed on mobile devices to
provide the MANET services described in the following sub-
sections.
A. Account management
Users are required to login using an account that is created
in the cloud. After providing a username and password, the app
sends these data to the cloud to be validated. The cloud checks
if the user exists and if the information is correct. When the
user is logged in successfully, a profile table is created in the
mobile device database.
B. Receiving notifications from the cloud
Clients connect to the cloud to seek services. The cloud
answers requests after it stores them in the database.
Sometimes, however, the cloud service needs to notify users by
broadcasting an alert. The cloud can push information to a
group of devices without involving them in the operation. In
practice, there are different ways to do so, such as sending GET
requests periodically to the cloud to pull messages.
However, we are using another solution that is provided by
Amazon called the Amazon Simple Notification Service
(Amazon SNS) [19]. In SNS, developers can send notifications
(messages, email, or SMS) to endpoint users using one of the
existing platforms [20],[21]. Since this implementation is
deployed on Android-based devices, Google Cloud Messaging
(GCM) for an Android platform is used [21].
When a user logs in successfully the app registers on the
GCM server and then sends the ID to the cloud. In the cloud,
IDs are stored in the database where an administrator can write
a message and send it to users, either to a particular user or to
all registered users. On the user side, notifications will be
presented in the notification bar. By clicking on the notification
bar, the content of the notification is expanded.
C. Mobile ad-hoc network service
Two ways of performing ad-hoc networking in Android
mobile devices are used. First, the MANET app is used as a
library to start and stop the MANET network [12]. Second, by
modifying a Wi-Fi configuration file, as explained below.
1) Starting MANET
The app will execute the following steps to start the ad-hoc
network:
x A copy of the current wpa_supplicant.conf file is saved
in the SD-card as a back-up.
x MANET details are added to that file and the ap_scan
value is set to 2.
x The IP address is set up statically, which is taken from
a profile table.
2) Stopping MANET
In order to stop the ad-hoc network of mobile devices, the
app executes the following steps:
x All MANET details are deleted from the
wpa_supplicant.conf file and the ap_scan value is set back
to 1.
x The IP address is set back dynamically.
x The neighbour discovery service is stopped.
If the ad-hoc mode is established successfully, the
neighbour discovery service is started. Each device broadcasts
a beacon every second (HELLO packet) using the UDP (User
Datagram Protocol) to reduce network overhead, while
listening to any packets in the same radio range.
D. Sending messages service
To test the feasibility of the aforementioned system, a
message sending service is offered where users can send a
message to neighbours either directly or multi-hop. Users can
also send messages to the cloud directly or using another
peers link. The time needed for a message to reach its
destination is calculated on the sender side.
E. Sharing files service
Besides the previous service, file sharing is also provided.
Users can send a file to a peer either directly or via routing.
The cloud can also be involved in sending files between two
nodes that were connected to the same network but which then
departed.
F. Communication types
Both services are evaluated using different communication
types, presented as follows.
1) Communication between MANET members directly
When a destination is chosen, a Wi-Fi link is established
using the TCP (Transmission Control Protocol) to ensure
delivery. On the receiver side, a notification is triggered to
notify the receiver about receiving new data. If sent data
contain a file, then it will be stored in the devices SD-card.
2) Communication within MANET (multi-hop)
To achieve multi-hop communication, the sender is forced
to route the request to one of its neighbours found in the
neighbours list to reach the receiver The routing table.
In the app, users either have to choose a file from the SD-
card, or type in a message to be sent. Then a destination from
the neighbours list is chosen. Afterwards, the file or text
message is sent to another neighbour, including the details of
the destination node. When the data arrive at the intermediate
node, a notification is generated to notify that node of being
involved in sharing data between the source and the
destination. If the destination node receives the data
successfully, the source node will be notified by the
intermediate node.
3) Communication to the cloud (directly)
If a sharing file service is used, then a multi-part http
request is built containing file details to be uploaded to the
cloud directly using a Wi-Fi or 3G link. When the file arrives at
the cloud, it will be stored on S3 space. If the messaging
145

service is chosen, the messages text is sent as a direct http
request to the cloud. When the cloud receives the message, an
acknowledgement will be sent to the sender.
In both services, the sender calculates the duration of the
whole operation to determine if the cost resulting from using
each service is reasonable and meets users expectations.
4) Communication to the cloud via neighbours links
If such a user could not reach the cloud directly, a
neighbours link can be used. Simply, files/messages are sent
directly to one of the neighbours found in the Neighbour Table,
where the chosen neighbour acts as an intermediate node
between the sender and the cloud to transfer the request. This
intermediate node will also send an acknowledgement to the
sender when data are delivered to the cloud successfully. In this
way, the sender will be able to compute the time resulting in
sending these data.
In a real-world scenario, a request routed from a sender to
the cloud may travel over more than one intermediate node.
Therefore, we force the request to be redirected via neighbours
to achieve one-hop, two-hop, three-hop, and four-hop
communication to test the ability of serving requests from a
sender to the cloud and vice versa.
5) Communication to a neighbour via the cloud
By the nature of MANET, if a member leaves the network
that means that messages can no longer be received. To benefit
from introducing the cloud to our system, messages that are
sent to a departing node can be redirected to the cloud to ensure
delivery.
In the app, the sender has to choose a destination from the
recently-added-neighbour table. This table contains a list of all
neighbours who have been discovered since joining the current
MANET. Subsequently, the request is sent to the cloud and
includes the destination details (name, IP address). Therefore,
the cloud matches these details with the receivers current
GCM ID before redirecting the request. Furthermore, the cloud
checks the status of the destination node, whereby the request
is scheduled to be delivered later if the destination node is not
connected. When the request is received by the receiver, the
cloud will send an acknowledgement to the sender.
V. EXPERIMENTAL RESULTS
This section presents the performance results of our system
implementation. Each mobile device was placed away from the
others but within radio range. Performance data were collected
for both communications between devices inside ad-hoc
networks, including direct and multi-hop communications and
between the cloud and mobile devices. Each result is the
average of experiments having been conducted ten times.
A. Sharing file results
A small text file (1 KB) was transferred over TCP from the
sender to the receiver. The round-trip delay time (RTD) was
calculated at the sender by comparing the system current time
when the request was sent with the system current time when
the acknowledgement was received.
TABLE 1. EXPERIMENTAL RESULT OF THE SHARING FILES SERVICE
Communications type Avg. (RTD)
T
o

t
h
e

c
l
o
u
d

Directly using Wi-Fi 0.447
S
e
c
o
n
d
s

Directly using 3G 1.7111
Via a neighbours link 4.3647
T
o

a

p
e
e
r

Directly 2.0508
One-hop 4.2933
Table 1 shows that the time needed to share a file directly
between two nodes took around 2 seconds. It took almost
double that time when the file was sent via another neighbour.
This result is explained by the fact that a copy of the file is
stored in the intermediate node. Interestingly, sending files
over the cloud took almost the same amount of time as sending
files by two-hop communication. The length of time will be
affected by some factors such as availability of the destination
node, and the quality of connection between the cloud and the
mobile devices.
B. Sending messages service results
A string containing hello was sent over TCP from source
to destination. The delay in receiving this message at the
destination was calculated on the sender side. The following
table presents the results of this service using different
communications types.
TABLE 2. EXPERIMENTAL RESULT OF SHARING MESSAGES SERVICE

Communications type
Avg.
delay

S
e
n
d
i
n
g

m
e
s
s
a
g
e
s

T
o

t
h
e

c
l
o
u
d

Directly using Wi-Fi 260.3
M
i
l
l
i
s
e
c
o
n
d
s

Directly using 3G 2825.2
Via neighbour link (one-hop) 2701.6
Via neighbour link (two-hop) 2776
Via neighbour link (three-hop) 2883.2
Via neighbour link (four-hop) 2921.1
T
o

a

p
e
e
r

Over the cloud 3864.4
Directly 34.9
One-hop 63.6

Table 2 indicates that the time needed to send a message
directly to the cloud using a 3G link was almost the same as the
time taken to send a message to the cloud via neighbours.
Furthermore, the delay might be less if another neighbour has a
better link. There are two main reasons for this result: firstly,
the delay time added by communicating inside the MANET is
very small compared to the delay that results from
communicating with the cloud. Secondly, the quality of links
varies, which means some nodes have better links than others.
This means that communicating with the cloud via a neighbour
who has a better quality link will reduce the overall delay time.
Furthermore, the delay time can be less than when sending the
same request over a low-quality link.
146


Fig. 6. Chart comparing the 99% confidence interval values of sending messages
directly to the cloud and sending the same messages via a neighbour's link.
However, sending messages between two peers via the
cloud takes around 4 seconds, because using the
aforementioned notification system (SNS with GCM) adds an
extra delay to the request, whereby the request travels from the
sender to the cloud and then to the GCM platform before
reaching the destination node. The acknowledgement will also
travel all the way back to notify the sender.
VI. CONCLUSION AND FUTURE WORK
This paper has presented a new model for a mobile ad-hoc
network management that introduces cloud services. The
design and implementation of the system have been discussed.
The most important benefits of this solution are its impact on
MANET operations such as split, merge, join and leave. The
system is reliable and robust, as split, for example, does not
require re-allocation of IP and SSID addresses, as they are
managed by the cloud. All local communication between
mobile devices for split management becomes unnecessary,
and, therefore, saves mobile resources. The same applies to
merge, join and leave. We also presented ways of creating ad-
hoc networking on Android devices.
Experimental results show that the proposed model is
feasible and produces excellent results under lab conditions.
According to Fig. 6, we are 99% confident that the mean delay
resulting from sending messages to the cloud directly and the
delay resulting from using a neighbours link are very similar.
Furthermore, the delay could be lower if that neighbour has a
better link to the cloud.
In conclusion, managing a mobile ad-hoc network of
Android-based devices by the cloud is achievable and offers
features such as reliability and robustness.
As future work, we are planning to enhance the MANET
management service in the cloud, where it could switch smartly
between active-links, and allocate/de-allocate resources.
Additionally, testing the proposed model in a real environment
where different levels of mobility will be considered, as well as
more cloud services to be shared by MANET members, will be
deployed.
VII. ACKNOWLEDGEMENTS
Hazzaa Alshareefs PhD research is funded by the King
Abdullah bin Abdulaziz Scholarship Programme (KASP),
which is managed by the Ministry of Higher Education in
Saudi Arabia.
VIII. REFERENCES
[1] D. Grigoras and M. Riordan, Cost-effective mobile ad hoc
networks management, Futur. Gener. Comput. Syst., vol. 23, no. 8,
pp. 990996, Nov. 2007.
[2] S. Nesargi and R. Prakash, MANETconf Configuration of Hosts in
a Mobile Ad Hoc Network, Proc. IEEE INFOCOM.
[3] M. Conti and S. Giordano, Mobile ad hoc networking: milestones,
challenges, and new research directions, Commun. Mag. IEEE,
January, pp. 8596, 2014.
[4] L. Zhang, X. Ding, Z. Wan, M. Gu, and X. Li, WiFace: a secure
geosocial networking system using WiFi-based multi-hop
MANET, Proc. 1st ACM Work. Mob. Cloud Comput. Serv. Soc.
Networks Beyond., ACM, 2010.
[5] D. H. D. Huang, X. Z. X. Zhang, M. K. M. Kang, and J. L. J. Luo,
MobiCloud: Building Secure Cloud Framework for Mobile
Computing and Communication. Ieee, 2010, pp. 2734.
[6] Wi-Fi Direct
TM
| Wi-Fi Alliance,Wi-Fi Peer-to-Peer (P2P)
Technical Specification v1.2. Wi-fi.org, 2010.
[7] SoftAP - Wikipedia, the free encyclopedia. [Online]. Available:
http://en.wikipedia.org/wiki/SoftAP. [Accessed: 23-Feb-2014].
[8] Welcome to the Freedom of Portable Wi-Fi; Intel My WiFi
Technology: Synch, Share, Show & Print on the Go, 2008.
[9] P. Gardner-Stephen, The serval project: Practical wireless ad-hoc
mobile telecommunications, June, pp. 129, 2001.
[10] P. Gardner-Stephen and S. Palaniswamy, Serval mesh software-
WiFi multi model management, Proc. 1st Int. Conf. Wirel.
Technol. Humanit. Reli. - ACWR 11, p. 71, 2011.
[11] P. Jacquet, P. Muhlethaler, T. Clausen, A. Laouiti, A. Qayyum, and
L. Viennot, Optimized link state routing protocol for ad hoc
networks, Proceedings. IEEE Int. Multi Top. Conf. 2001. IEEE
INMIC 2001. Technol. 21st Century., pp. 6268.
[12] The Serval Mesh - Android Apps on Google Play. [Online].
Available:
https://play.google.com/store/apps/details?id=org.servalproject.
[Accessed: 05-Jan-2014].
[13] MANET Manager - Android Apps on Google Play. [Online].
Available: https://play.google.com/store/apps/details?id=org.span.
[Accessed: 15-Jan-2014].
[14] J. Thomas, J. Robble, and N. Modly, Off Grid communications
with Android Meshing the mobile world, Homel. Secur. (HST),
2012 , pp. 401405, Nov. 2012.
[15] Android SDK | Android Developers. [Online]. Available:
http://developer.android.com/sdk/index.html. [Accessed: 23-Feb-
2014].
[16] AWS | Amazon Elastic Compute Cloud (EC2) Scalable Cloud
Servers. [Online]. Available: http://aws.amazon.com/ec2/.
[Accessed: 21-Feb-2014].
[17] AWS | Amazon Simple Storage Service (S3) Cloud Storage.
[Online]. Available: http://aws.amazon.com/s3/. [Accessed: 21-Feb-
2014].
[18] AWS | Amazon RDS - Cloud Relational Database Service.
[Online]. Available: http://aws.amazon.com/rds/. [Accessed: 21-
Feb-2014].
[19] Amazon Simple Notification Service (SNS) Documentation.
[Online]. Available: http://aws.amazon.com/documentation/sns/.
[Accessed: 23-Feb-2014].
[20] Local and Push Notification Programming Guide: Apple Push
Notification Service. [Online]. Available:
https://developer.apple.com/library/ios/documentation/NetworkingI
nternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushSer
vice.html. [Accessed: 23-Feb-2014].
[21] Google Cloud Messaging for Android | Android Developers.
[Online]. Available:
http://developer.android.com/google/gcm/index.html. [Accessed:
23-Feb-2014].

2212
3438.4
2271.5
3131.7
Lower Confidence Limit Upper Confidence Limit
99% confidence interval values for sending
messages to the cloud
Directly (3G) Via a neighbours link (3G)
147

You might also like