Você está na página 1de 9

Ad hoc P2P API

An API for P2P File Transfer Over Mobile Ad hoc Networks

Jose Francisco Amarra Teril Katherine Bilog


College of Computer Studies College of Computer Studies
De La Salle University De La Salle University
Manila, Philippines Manila, Philippines
josef_amarra@yahoo.com terilbilog@live.com

Ericko Dela Cruz Jonah Kemuel Verzosa


College of Computer Studies College of Computer Studies
De La Salle University De La Salle University
Manila, Philippines Manila, Philippines
ecko_delacruz@yahoo.com jkverzosa@yahoo.com

Rhia Trogo-Oblena
Faculty Adviser
College of Computer Studies
De La Salle University
Manila, Philippines
rhia.trogo@delasalle.ph

Abstract—This paper presents an Application Programming the World Wide Web and do as much as computers at home
Interface (API) architecture for peer-to-peer file transfer over a can do – stream videos, download files, and surf the net – in
mobile ad hoc network written in Java. The underlying any place and time with a Wi-Fi enabled area. Adapting to the
technologies behind the API are: (1) Wi-Fi to establish the internet phenomenon Wi-Fi, mobile phones have been
network and transfer files, and (2) a routing protocol that uses
expanded to accommodate easily the functions and services of
Ad hoc On-demand Vector (AODV) protocol as a base, married
with concepts from the Delay Tolerant Network (DTN) the Wi-Fi. Advantages of this can be the faster speed, more
architecture and Conditional Max-Min Battery Capacity Routing range, and the ability to implement multi hop approach. With
(CMMBCR) protocol [1]. This API is designed to handle one file the fast pace of growing hot spots and technology made-easy
transfer at a time between Wi-Fi enabled mobile devices. access to Wi-Fi, the need for features incorporating this
technology increases. A particular area of interest is the ability
Ad hoc Networking, Peer-to-Peer (P2P) File Transfer, Wi-Fi, of file transferring between mobile devices via an ad hoc
Multi-hop Networks, Application Programming Interface (API) network set up through Wi-Fi. The lack of a direct route
I. INTRODUCTION between two mobile devices creates a need to employ a multi-
hop approach.
Over the past few years, mobile devices such as laptops and
mobile phones have a steady-growing number of users. These The objective of this research is to abstract the basic file
gadgets possess greater potential of improvement than before. sharing functions amongst mobile devices employing a multi-
Laptops now have the capacity that only desktops could have hop approach through Wi-Fi in the form of an application
before. Mobile phones today include a wide variety of features programming interface (API). This API is designed to handle
and functionalities apart from the usual calling and messaging. one-file transfer at a time between Wi-Fi enabled mobile
The need for mobility is evident. Even the internet that just devices within a multi-hop ad hoc network. It is assumed that
started a few decades ago is now on the palm of each one’s both parties – the sender and receiver – are familiar with each
hand with the use of Wi-Fi. Before the Wi-Fi, mobile phones other in any circumstance.
make use of file transfer protocols such as the Bluetooth and
the Infrared but both have different concerns and limitations.
Through Wi-Fi, mobile phones and laptops may now access
II. THEORETICAL FRAMEWORK messages, they first verify its integrity. These storage devices
are called persistent storage.
A. Wi-Fi
Wi-Fi is the popular name for the wireless Ethernet According to [4], DTN routers need persistent storage for one
802.11b standard for wireless local area networks. The current or more of the following reasons:
generation of WLANs support up to eleven (11) Mbps data 1. A communication link to the next hop may not be
rates within 100m of the base station [2]. Wi-Fi enabled available for a long time.
devices include personal computers (PC), laptops, mobile 2. One node in a communicating pair may send or receive
phones, game consoles, MP3 players, and personal digital data much faster of more reliably than the other node
assistants (PDA). Anyone can avail of Wi-Fi services provided 3. A message, once transmitted, may need to be
that they are within a Wi-Fi hotspot—an area that provides retransmitted if an error occurs at an upstream (toward the
Internet access via a Wi-Fi network. Wi-Fi can be free of destination) node or link, or if an upstream node declines
charge or not depending on the network security. Secure or acceptance of a forwarded message.
password-enabled networks require a user to subscribe to the
network before it can be accessed. E. Ad hoc On-Demand Vector (AODV) Routing Protocol
AODV is an on-demand routing protocol specifically made
B. Mobile Ad hoc Networks (MANETs) for mobile ad hoc networks by C. Perkins, E. Belding-Royer
The term “ad hoc” literally means “for this” or “done for a and S. Das in the Nokia Research Center [5]. Using AODV,
particular purpose.” An ad hoc network is, therefore, a nodes can send messages to other remote nodes by making use
network created for a particular purpose. For instance, a set of of neighboring nodes as passageways. Within the network, the
students that have laptops capable of Wi-Fi transmission may algorithm attempts to determine the shortest possible loop-free
create an ad hoc network among themselves for easy file route down on nodes in which messages could pass.
transfer. They are temporal, created only if a need arises.
Due to limited range of communication, nodes can only
A mobile ad hoc network (MANET) is a pool of mobile communicate with nodes within their range called neighbor
hosts forming an ad hoc network. Because its nodes are nodes [6]. HELLO messages are used to perceive and check
mobile, MANETs rely on wireless connectivity such as Wi-Fi connection to neighbors. A node periodically broadcasts a
and Bluetooth. It is self-configuring, easy to deploy, and HELLO message that all its neighbors accept. A link break is
decreases dependence on an infrastructure. In this type of detected whenever a node fails to receive several HELLO
network, the nodes act as both hosts and routers, able to accept messages [7].
and transmit packets throughout the network. When a node is
within the range of another node, these nodes will be able to When a source node needs to communicate with an
connect to each other. The quality of connection will depend unknown destination, it transmits a RREQ or a Route Request
the distance between nodes. message to all of its neighbors [6]. An RREQ packet contains
the source and destination address, lifespan of the message,
and sequence ID. If a node that obtains a RREQ message has a
C. Delay Tolerant Networks (DTNs) current route to the destination node or is the destination, it
Delay tolerant networking was originally designed for easy unicasts a RREP or a Route Reply message back to the source
interplanetary networking—an interplanetary Internet. node. After receiving the RREP, the source then records the
According to [3], it is “a communication system envisioned to route to its routing table and starts communicating with the
provide Internet-like services across interplanetary distances destination using the newly found path. On the other hand, if
in support of deep space exploration.” Interplanetary the node that obtains a RREQ message is not the destination or
networking is an example of a challenged network—the type of has no current path to the destination, the node rebroadcasts
network DTNs are designed for (e.g. DTNs should be able to the RREQ to its own neighbors. In case a link break is
operate given extreme distances like connecting routers on detected or a node stops functioning, a RRER or a Route Error
Earth and Mars, or hold packets until the next hop is available). message is sent to the nodes. Nodes that receive RRER check
Delay tolerant networks may be comprised of multiple routers their routing tables and erase routes that contain the
as well as multiple networks. unreachable nodes [6].

D. Store-and-Forwarding F. JNetDev
The store-and-forward approach dictates that when packets JNetDev is an open source library in Java that enables
are passed to a node, that node must first store copies whole developers in handling low level packet manipulations. It
messages or fragments of these messages within themselves supports the user in developing objects significant to
before passing on the data to another node. This way, messages programming networks which comprises NIC’s (Network
are stored indefinitely within the nodes in the route so that in Interface Cards), IPv4 Addresses, Ethernet Addresses, packet
case of node failure, there will still be a way to recover the captures and injections and header formats. Essential classes in
message to be sent. Furthermore, before nodes forward the the package include jND_NIC Class, which injects packets into
the network and forms a NIC that has its system name, FIGURE I. AD HOC P2P API LEVELS
description, IP Address, MAC Address, gateway and netmask,
jND_IPv4Address and jND_EthernetAddress, whose job is to
wrap and construct addresses from strings, byte arrays and
integers, jND_CaptureSession, which is used to capture
incoming packets and stores them in a packet queue. jNetDev
will be one of the alternatives to UDP socket programming and
would be next to ideal in implementing networking functions
required in the application, especially in the employment of
AODV Protocol algorithm and file transferring [8].
G. JAdHoc
JAdHoc is a implementation of the AODV Protocol in Java.
It complies with RFC3561, and supports both IPv4 and IPv6.
It is employed using Java libraries for networking, graphical
user interfaces, multi-threading, and operating system function
calls. It also makes use of Jpcap, a Java-based class library for
capturing network packets. It has been tested on Linux,
Windows (XP and 2K), and Sharp Zaurus [9].
The Application Level contains modules that are very
particular to a certain application. These modules may be not
JAdhoc’s application architecture consists of a class library
that provides the AODV operations. This component usable to other developers. This level is reliant on the
cooperates with the Java class library, Jpcap class library and implementation of the application developer. It includes the
the user defined route manipulation class. On the other hand, user interface of the application and method calls to the Ad
JAdHoc’s class architecture assumes a hybrid design pattern hoc P2P API.
architecture, which includes the Gang of Four Design Patterns
and J2EE Pattern Catalog. In a nutshell, there are objects which The Service Level offers peer-to-peer services that are used
are related to handling the tasks of the AODV Protocol Handler by most applications. This includes peer discovery, file
and Informational Objects which are objects that relate to sending and receiving, files handling and representation and
holding information. It also uses objects in the Java Collections instant messaging for use by numerous applications and
class library to handle packet queues, route lists and precursor devices. It is here that a common data representation, in the
lists. form of string and raw bytes, is used to help in the sharing and
retrieval of information. It is also in this level that forwarding
of files is included to increase the availability of information.
III. DESIGN AND IMPLEMENTATION OF AD HOC P2P API Lastly, this level has basic monitoring capabilities
implemented through the File Log and Network Log classes.
A. Architectural Overview The File and Network Log classes log messages and the files
Ad hoc P2P API was designed to follow a simple structure that were sent and received by a peer.
based on the general peer-to-peer Architecture coupled with
JAdhoc, which in turn were based on the leveled approach The final level is the Networking Level. This layer is, to
used by more common protocols such as UDP. Applications some extent, handled by JAdhoc, and was based on the basic
built under Ad hoc P2P API have three (3) levels, namely: (1) peer-to-peer architecture. This is the backbone of the Service
the Application, (2) Services, and (3) Networking Levels. The Level, as its methods depend on the Networking Level to carry
API holds the latter into two (2) layers, leaving the out certain tasks. It is here that actual connections are created
Application layer to be created by the user. between peers, allowing the exchange of data. The
Networking Level provides two types of connectivity, by
using the Standard Classes in the Ad hoc P2P API which
offers simple peer discovery and interaction and by JAdhoc
which offers the AODV routing implementation in Java.
Note however, that some parts of the application may not
be used by certain Mobile Devices due to the limitations to
their physical capabilities and different platforms.
B. Ad hoc P2P API Components Below is a pseudo-code of how CMMBCR with AODV
This section discusses the API components used by the and Store-and-Forwarding works:
Application Level, the Service Level and the Networking
Level. Step 1: Prompt to send data from the source to the
destination;
FIGURE II. AD HOC P2P API COMPONENTS Step 2: AODV protocol generates RREQ’s to find the
destination; /* this generates multiple routes to the
destination */
Step 3A: When RREQ reaches a node with a route to the
destination node
Node performs CMMBCR
/* CMMBCR checks: */
if (The battery power of all nodes within the route/s
created) > threshold)
{/*Pl = summation of the total battery consumed
while routing of all nodes of a particular route
Select the route with the smallest Pl*/

The Application Level will contain modules that handle selected_route = where A is a set containing
all possible routes;}
the user interface methods. This level calls the methods used
else
in the Service Level and Networking Level components, this
Step 3B: {/* Select the route with the maximum collective
pertains to the function calls in the lower two levels. The
battery capacity */
Application level also handles the output and appearance of
data and processes used in the certain application. selected_route = where A is a set
containing all possible routes;}
The Service Level concerns itself with the peer discovery Step 4: AODV protocol generates RREP’s following the
and interaction process, establishing routes and maintaining a route chosen by CMMBCR;
connection with them. In this level, the store and forward Step 5A: if(RREP reaches destination)
messaging of DTNs (Delay Tolerant Networks) is also Step 5A1:{/* Store-and-Forward approach */
implemented through file replication and forwarding. Note while(next_hop is not the destination AND next_hop
that the algorithms mentioned will be incorporated for mobile is not missing)
devices. { send DataPackets to next_hop;
current_node = next_hop;
The Networking Level Components execute the basic current_node keeps a copy of DataPackets
operations used by the Service Level and Application Level to until time t;}
send and receive files to and from peers. Step 5A2:
if(next_hop is not the destination AND next_hop is
C. Algorithm missing)
{repeat Step 2 with current_node treated as
The proponents used the Conditional Max-Min Battery
the source node;}
Capacity Routing (CMMBCR) Protocol and plugged it into
else if(next_hop is destination)
AODV to address the issue of battery efficiency. This
{send DataPackets to destination;
algorithm uses the load distribution approach. The goal of this
current_node = destination;
approach is to “balance the energy usage of all mobile nodes
/* destination received the file */}
by selecting a route with underutilized nodes rather than the
Step 5B: else
shortest route,” [7]. The study of [7] further states that this
AODV protocol generates RERR;
approach does not necessarily provide the lowest energy route;
rather, it ensures a longer network lifetime because the nodes
will not be constantly bombarded by routing messages that
deplete battery life.
D. Use Case Diagram
Following are the main features of JNA:
This section provides an overview of how the API will be
1. Automatic Mapping with simple mappings for all
used by the developer in implementing peer-to-peer
primitive data types from Java to native functions
applications such as the File Sharing applications. End users
2. Runs on any platform that support Java
will only be able to access the application level functions, but
3. Automatic conversion between C and Java strings with
these functions will depend on functions developed using the
customizable encoding/decoding
API by the application developer. The API will also provide
4. Customizable mapping from Java method to native
the backbone for creating the peer-to-peer network along with
function name, and customizable invocation to simulate C
the basic information sharing functions.
preprocessor function macros
FIGURE III. AD HOC P2P API USE CASE DIAGRAM 5. Support for automatic Windows ASCII/UNICODE
function mappings

F. Ad hoc P2P Classes


JAdhoc is an implementation of an AODV protocol
handler as specified in the RFC 3561 in Java by ComNets,
University of Bremen. It supports both IPV4 and IPv6. It is a
Java based implementation, and implemented using Java
libraries for the different functions such as networking,
graphical interfaces, multi-threading and operating system
calls.

It requires the user to install Jpcap, a Java-based class


library for network packet capture. It has been restricted, due
to portability purposes, for Linux, Windows (XP and 2k), and
also Sharp Zaurus. It also requires Winpcap to be installed.
Winpcap is a tool for link-layer network access in Windows
environment. Both tools are open source.

Jpcap has the following features:


1. Jpcap can capture Ethernet, IPv4, IPv6, ARP/RARP,
TCP, UDP, and ICMPv4 packets.
2. Jpcap can be used to develop applications to send and
capture arbitrary packets through a network interface card
and be able to envisage them in Java.

Winpcap has the following features:


1. WinPcap implements all of the classic optimizations
E. Standard P2P Classes depicted in the packet capture literature
The Standard P2P is a basic method of networking in the 2. WinPcap has a driver that enables the operating system to
Ad hoc P2P API. It consists of classes that provide a simple give low-level network access, and a library that is used
network protocol that enables peer detection and instant to easily access the low-level network layers.
messaging. The Standard P2P classes’ handles network
communication when individual nodes are in a simple P2P
architecture e.g. connected through a Wi-Fi Internet or a IV. LIMITATIONS, ISSUES AND OBSERVATIONS
private ad hoc setup where participants are close to one A. File Sharing
another. Some of the features in the standard P2P are also The file sharing mechanism is designed in such a way that
utilized by the modified AODV algorithm in the Ad hoc P2P it can handle only one file transfer at a time. The packet
of the API (e.g. Battery Minder) which will be discussed in the receiver cannot handle concurrent connections from several
Ad hoc P2P’s section. peers. A single file transfer process must finished first before
accepting another file transfer request making the file transfer
Ad hoc P2P’s Standard P2P is implemented using the Java process less dynamic.
Networking API and the Java Native Access (JNA). Java
Native Access is an API which provides Java programs File transfers are limited to 29MB at maximum. The
convenient access to native shared DLLs (in Windows) by receivers’ packet buffer consumes a lot of memory when the
solely writing in pure Java code. JNA was used by the file being received is large.
proponents to monitor battery power levels in mobile devices.
The file sharing mechanism has a fixed transfer speed. The temporarily empty. To solve this problem, the developers
datagram packet buffer is fixed at 2082 bytes. From the created another static duplicate of the routing table which
proponents’ observations, the results were that the maximum already contains the maximum entry obtained from the
speed of the transfer per second is also fixed at 2082 x (10 - original routing table to keep track of all the active nodes in
20) / 20820 - 41640 bytes or 20 - 40Kbps. It means that it the network. This way, users can easily view and monitor
cannot go higher than 20Kbps, unless the wireless signal is available peers without relying on the currently running
high. A large file would denote that transferring it would take routing mechanism of the API.
much longer.
F. General Issues and Observations
It is also disadvantageous to use the file sharing over weak The behavior of the nodes and their detection is very much
Wi-Fi signals. Packets tend to get lost in this situation, based on the network interface card used and also the network
resulting to more file transfer failures. it belongs to. The proponents noticed that if the network has
an access point, then packet sending will be easy, but if the
setup is a mobile ad hoc network, it can be a little tricky. The
B. Network Traffic Dynamicity issue was resolved by spamming several messages, such as
The routing scheme of the API is highly sensitive or hello and route request, and adapting different threads for
responsive to network traffic. packet listening. The time interval of the messages had to be
changed too. The proponents had to also consider the battery
There are periods when some of the peers in the internal life of the node since spamming may deplete the power source
routing table are temporarily disappearing or the whole available.
routing list is periodically empty.
Another issue the proponents found difficulty in is the
packet forwarding, which meant that if a node is two (2) hop
C. Network Traffic Dynamicity
counts away, how it could easily send it without having to
At the present, the API is only compatible with notebook spam a lot of messages, telling the middle node to forward
and desktop computers and not yet available for mobile different packets. The precursor’s value, which was part of the
phones. Right now, majority of mobile phones has limited Jadhoc network, stored the information necessary for packet
capabilities and will not able to cater the requirements needed forwarding. It tells the node which nodes are in the middle of
by the API. The API was designed to run in a complete PC 2 nodes, and which nodes are 2 or more hop counts away. It
environment. Future endeavors can make the API work on helped the proponents since you could tell the main node to
mobile phones possible. send it to the destination node via the middle nodes available.

D. Standard P2P Classes After fixing and implementing all the issues, the proponents
successfully transferred files over the network. The size of the
Certain port numbers were used by different applications or file didn’t matter since the application pieced the file into
some operating system processes on a machine. Since the
smaller parts which was then sent over the network.
developers tested the API in different laptop devices in which
also have different sets of applications, some of the port
numbers were already in use. The Multicast Sender or V. PERFORMANCE
Receiver fails to execute that result into malfunctioning of the
peer discovery system where some peers are visible and some A. Test Cases
are not. The proponents have decided into port numbers that This section discusses the results of the simulations of the
are less likely to be used in order to solve the issue. thesis. To recap, there are three (3) parameters for testing:
1. Number of Nodes: The number of nodes in a network.
2. Mortality Rate: The rate in which nodes are removed
E. Ad hoc P2P Classes from the network due to individual circumstances. Nodes
Determining the exact network card range of a mobile may be exhausted of energy, turned off, or move out of
device is problematical. The developers used black box testing the network. This leads to the possibility of network
to check and approximate the range of the mobile devices partitions.
installed with the API. They placed the devices in different 3. Size of the Data: The size of the file being sent from
locations with precisely the same distance between them. To source to destination.
solve this, the distance between the devices is set to a standard
2-3 meters so that to ensure the flow of network packets. Each of these factors measure how many successful file
transfers there were per test.
Another issue is about the network traffic and signals.
Even though running actively, there are periods when the
mobile devices do not receive routing packets making some
nodes invisible thus, making the internal routing table
B. Results C. Additional Observations
This section discusses the results of the simulations of the When nodes are static, the mortality rate dramatically
thesis. To recap, there are three (3) parameters for testing: affects the network stability in a negative way. As nodes die,
possible routes also disappear with them. However, the file
size is not a problem at all. It doesn’t matter how big the data
to be sent is, since the nodes are not moving, the route from
source to destination does not get destroyed unless if a node in
the given route dies.

If the nodes are mobile, the mortality rate does not


dramatically affect the network stability since nodes are
moving, new possible routes become available for the source
to send its file to the destination. However, the file size
becomes a problem if the scenario is that the node receiving a
data packet from another node becomes out of reach or dies.
The number of nodes within the network is also essential.
With more moving nodes present in the network, there are
higher chances that new routes become available for the
Parameters:
source to destination if nodes die compared to a static scenario
Number of Nodes
wherein the no routes become available as soon as a node in
- experimental variable
the route die. Some scenarios show that successful transfers
- increases by ten (10) nodes after every subcase
are also based on luck, given that no nodes die and no nodes in
Mortality rate
the route become out of reach.
- experimental variable
- percentage denotes the probability of failure of
As a whole, transfer between an ends of the network is
each node
more difficult if all of the factors affecting the network are put
- rate increases by 5% every subcase
into place (Mobility, Mortality Rate and File Size). Also,
File Size
nodes in the center of the network tend to lose battery at a
- experimental variable
higher rate than that of the end nodes of the network due to the
- increases by five (5) nodes after every subcase
fact that those nodes are the one who always relay the many
packets coming to and from the network.
Expected results:
- Static: decreasing
- Mobile: decreasing VI. CONCLUSIONS AND RECOMMENDATIONS
Actual results:
- Static: decreasing The proponents successfully implemented and simulated a
- Mobile: decreasing delay-tolerant mobile ad hoc network (MANET) that uses Wi-
Statistical Correlations: Fi. The network implemented in the API and simulated in the
- Static—Number of Nodes & Mortality Rate & simulator was comprised of mobile nodes, connected by Wi-Fi
File Size and Success Rate: -0.977 in an ad hoc manner. This means that each node in a network
- Mobile—Number of Nodes & Mortality Rate & must be capable of receiving and transmitting Wi-Fi signals.
File Size and Success Rate: -0.984 Note that these nodes are independent and behave
- independently—they have their own attributes such as battery
Analysis: The parameters: number of nodes, mortality rate, capacity, frequency of usage, and may move in and out of the
and file size of static and mobile nodes is highly inversely network on the fly. There is thus an irregularity in a sense that
correlated. the nodes show no consistency in behavior and availability.
One may say that there is “consistent inconsistency.” This
Cause/s: Mortality rate was identified as the parameter that chaos defines what an intermittent network is—the kind of
has the greatest effect on the network, the next being network that the DTN framework was built for. While there
number of nodes and the one of least weight was file size. are several aspects of a DTN framework, the proponents saw it
Notice that the graph of any parameter partnered with fit to implement store-and-forwarding because it best fit the
mortality rate plummets faster. This particular graph, algorithm that the proponents tested. In this sense, the
however, did not plummet as drastically as the other graphs. proponents chose to highlight the persistence of the DTN in
It may be attributed to the increase in the number of nodes transferring files.
trying to balance out mortality rate. File size may have
contributed to the trend presented by adding an element of The routing protocol chosen for the thesis is AODV. The
chance. protocol, however, was modified because of network
requirements and protocol constraints. The proponents
centered on the problem of battery efficiency because one of The battery efficiency part can still be improved. Aside
the major disadvantages of AODV is that it is costly in terms from using a threshold in detecting the optimal route, the
of power consumption. Note that AODV involves a lot of algorithm can be modified so that fewer packets can be sent to
broadcasting of packets to identify a route and to send data and fro the network thus minimizing the battery consumption
packets. CMMBCR was chosen because of its simple yet of the middle nodes since they are the ones transmitting most
effective algorithm—it effectively prevents nodes from being of the packets from multiple RREQs and RREPs and the data
unwisely overused while also considering the quality of the packet itself. Thus lesser RREQs and RREPs are traversing
route chosen for file transfer. The store-and-forward was also the entire network. The DTN aspect of the algorithm can be
incorporated within the algorithm in a sense that when the further improved by adding a waiting time for each node to
route created is compromised during the file transfer (not send a packet. HELLO packets can also be modified to either
during routing), the last node to receive the full file from the improve efficiency of the file transfer process or the battery
destination will initiate a route request to find another route to consumption. The longer it takes for the HELLO to be
the destination. rebroadcast means that there will be a significant drop in the
battery consumption while making the network more
The performance of the algorithm chosen for the API varied inefficient and if the HELLO packet takes a shorter time
from what the proponents deemed it would. For instance, the interval in rebroadcasting, means that the network would be
proponents were initially convinced that the algorithm would more efficient but consumes more battery for every nodes.
yield better results given a static scenario. The nodes were, The file transfer over ad hoc networks was not secure,
after all, more stable that way. This and other factors especially when sending large files. Packets tend to get lost
constitute that the algorithm is ideal for mobile nodes, as occasionally, resulting to connection timeouts. The strength of
opposed to the controlled static scenario presented for wireless signals plays a big role to the success of file transfers.
comparison purposes. The algorithm is also energy-aware in a The API needs improvement on connectivity and security.
sense that although this approach does not necessarily provide Since the API’s file receiver could only accept one file
the lowest energy route; rather, it ensures a longer network transfer at a time, improvement could also be done on
lifetime because the nodes will not be constantly bombarded concurrency. Extensions are possible since currently the API
by routing messages that deplete battery life. Finally, in the could only work on desktops and laptop computers.
context of delay tolerant networks, the proponents chose to
implement store-and-forwarding. Note that the store-and- Being an API geared for file-transfer, the thesis can be
forward approach dictates that when packets are passed to a used for just about anything that requires a mobile ad hoc
node, that node must first store copies whole messages or network and transferring of files. With some improvement and
fragments of these messages within themselves before passing extensions, the API framework could be extended for mobile
on the data to another node. This way, messages are stored telephony to provide services such as free text or multimedia
indefinitely within the nodes in the route so that in case of messaging. The mobile phones in question only need software
node failure, there will still be a way to recover the message to installed to enable this service. Only phones with this software
be sent. will be able to utilize this service. The more people that have
the software in their phones (accounting for density of course),
the better the network will be. The phones, however, need to
The algorithm, however, has its drawbacks. For one, the
be Wi-Fi enabled. This limits the use of this software to third
algorithm has difficulty in rerouting when node volatility is generation phones. In the near future where connectivity can
concerned. Also, in terms of battery awareness, what the be achieved without using wires and cables, the API could
algorithm does is to spread out the battery consumed by the serve as a basis for developing other concepts, projects and
network throughout its nodes. Although this does lengthen peer-to-peer applications incorporated in mobile ad hoc
network life, the nodes with greater battery capacity are networks.
compromised. Thus, instead of using CMMBCR as a base for
battery awareness, other protocols might be considered. REFERENCES
[1] Yu, C., Lee, B., & Hee, Y. Y. (2003). Energy Efficient Routing
Based from the results from the simulator, the parameter Protocols for Mobile Ad Hoc Networks. [online] Available:
that affects the network stability the most is the mortality rate. http://academic.csuohio.edu/yuc/papers/energy_routing_final.pdf. (June
27, 2009)
Note the rate of decline of the graphs presented when [2] Lehr, W., & McKnight, L. W. (2003). Wireless Internet access: 3G vs.
mortality rate was used as a parameter for testing. The number Wi-Fi?. [online]. Available: people.csail.mit.edu/wlehr/Lehr-
of nodes plays a very important role on a healthy network Papers_files/Lehr%20Wi-Fi%203G.pdf. (February 23, 2009)
because the tests show that when a network gets more dense, [3] V. Cerf, S. B. (2007). Delay-Tolerant Networking Architecture. [online]
more nodes get to have more routes in their routing table thus Available: http://www.ietf.org/rfc/rfc4838.txt. June 27, 2009
it would be impossible for the source and destination to net get [4] Warthman, F. (2003). Delay-Tolerant Networks (DTNs): A Tutorial.
[online]. Available: www.dtnrg.org/docs/tutorials/warthman-1.1.pdf.
connected, unless of course if mortality rate is added to one of (March 28, 2009)
the factors. The file size was proven that it does not affect [5] Perkins, C., Belding-Royer, E., Das, S. (2003). RFC 3561 - Ad hoc On-
network stability however; it directly affects the process of Demand Distance Vector (AODV) Routing. [online]. Available:
transferring the data but only at a minimum. http://tools.ietf.org/html/rfc3561. (June 13, 2009)
[6] Klein-Berndt, L. (2001). A Quick Guide to AODV Routing. [online]. [8] JAdhoc System Manual .(2003). [online]. Available:
Available: www.antd.nist.gov/wctg/aodv_kernel/aodv_guide.pdf. (May http://www.comnets.uni-bremen.de/~koo/JAdhoc.pdf. (July 10, 2009)
30, 2009) [9] jNetDev – An open source library for low level packet manipulation in
[7] Chakeres, I.D. & Belding-Royer, E.M. (n.d). AODV Routing Protocol Java .(2005). [online]. Available:
Implementation Design. [online]. Available: https://ccs1.dlsu.edu.ph/TOOLDEV/Program/Library/. (August 18,
moment.cs.ucsb.edu/pub/wwan_chakeres_i.pdf. (May 30, 2009) 2009)

Você também pode gostar