2.
Software Requirement Analysis and Specification
2.1 Related Work
A. AOMDV Routing Protocol
An on-demand routing protocol, AOMDV has its roots in the Ad hoc On-Demand Distance
Vector (AODV), a popular single-path routing protocol. AOMDV creates a more extensive
AODV by discovering, at every route discovery process, a multipath (i.e. several other paths)
between the source and the destination. The multipath has a guarantee for being loop-free and
link-disjoint. AOMDV likewise offers two key services: route discovery and route maintenance.
Since it greatly depends on the AODV route information, which is already available, AOMDV
incurs less overhead than AODV through the discovery of multiple routes. Compared to AODV,
AOMDV’s only additional overhead is extra RREPs and RERRs intended for multipath
discovery and maintenance, along with several extra fields to route control packets (i.e. RREQs,
RERRs and RREPs).Adding some fields and changing others modified the structure of the
AOMDV’s routing [Link] the routing table entries’ structure for AODV and AOMDV. In
AOMDV, advertised_hopcount is used instead of the hopcount in AODV. A route_list stood as a
replacement for nexthop; this change essentially defining multiple nexthops with respective
hopcounts. All nexthops, however, are still allotted the same destination sequence number. Every
time the sequence number gets updated, the advertised_hopcount is initialized.
After performing the simulations using NS-2, the overall performance comparison between
AOMDV-AODV shows that the former algorithm was able to cope up with route failures more
effectively that are mobility-induced. Particularly, AOMDV decreases the packet loss to 40%
and greatly improves the end-to-end delay. It also causes a reduction of routing overhead to
about 30% by decreasing route discovery operations’ frequency hence improving the overall
performance of MANET compare to AODV algorithm.
Routing table structure for AODV and AOMDV
B. Route discovery and maintenance
Route discovery and route maintenance involve finding multiple routes from a source to a
destination node. Multipath routing protocols can try to discover the link-disjoint, node disjoint,
or non-disjoint routes . While link-disjoint routes have no common links, it may have nodes in
common. Node-disjoint routes, which are also referred to as totally disjoint routes, do not have
common nodes or links. Non-disjoint routes, on the other hand, can have both nodes and links
that are in [Link]’s primary idea is in discovering multiple routes during the process
of route discovery. The design of AOMDV is intended to serve highly dynamic ad-hoc networks
that have frequent occurrences of link failure and route breaks. A new process of route discovery
is necessary in the event that all paths to the destination break.
AOMDV utilizes three control packets: the route request (RREQ); the route reply (RREP); and
the route error (RERR). Initially, when a source node is required to transmit data packets to a
specific destination, the source node broadcasts a RREQ . Because the RREQs is a flooded
network-wide, several copies of the very same RREQ may be received by a node. In the
AOMDV, all duplicate copies undergo an examination to determine the potential alternate
reverse path. However, of all the resulting set of paths to the source, only the use of those copies,
which preserve loop-freedom and disjointedness, get to form the reverse paths. In the event the
intermediate nodes get a reverse path through a RREQ copy, it conducts a check to determine the
number of valid forward paths (i.e. one or many) to the destination. If so, a RREP is generated by
the node and the request is sent back to the source using the reverse path. Since this route
discovery, the RREP has a forward path that was not employed in any prior RREPs. The RREQ
is not further propagated by the intermediate node. Otherwise, the node would broadcast the
RREQ copy again in case any other copy of this RREQ has not been previously forwarded and
this copy has led to the updating or the formation of a reverse path.
Like intermediate nodes, the destination likewise forms reverse paths when it receives RREQ
copies. As a response to each RREQ copy arriving through a loop-free path towards the source,
the destination produces a RREP, despite forming reverse paths that use only RREQ copies
arriving through loop-free and disjoint alternate paths towards the source. A RERR packet is
used in AOMDV route maintenance. In the event a link breaks, it generates a RERR message,
listing lost destinations. The RERR is sent upstream by the node towards the source node. In the
case of the existence of the previous multiple hops, which were using this link, the RERR is
broadcast by the node. If there are no previous multiple hops, the request is unicast. Upon getting
a RERR, the receiving node initially checks whether the node which sent the RERR is its own
next hop towards any of the destination that is listed in the RERR [11]. If the sending node is
indeed the recipient node’s next hop, the receiving node makes this route table invalid, after
which it propagates the RERR back to the source. In this manner, the RERR continues to be
forwarded until the source receives the request. Once this happens, it can initiate the route
discovery again if it still requires the said route.
C. Disjoint Path
Two types of disjoint path exist, the node-disjoint path and link-disjoint path [12]. In a node-
disjoint path, there is no common node exists in a specific path other than the source and
destination nodes. In a link-disjoint path, there is no common link at all
Link and node disjoint path. (a) Link and node disjoint path, (b) Link disjoint path, (c) Not
disjoint path
The routes ABE, ACE, and ADE have no common node or link, as illustrated in Figure 2 (a).
Thus, they are link and node-disjoint paths. Figure 2 (b) shows the routes ABCDE and ACE have
node C in common; however, there is no link in common, which makes a link-disjoint path
without a node disjoint path. Lastly, Figure 2 (c) illustrates the routes ABCE and ABE, which
have both the link AB and the node B in common; therefore, they do not have a disjoint path.
D. Fitness Function
The fitness function is an optimization technique that comes as a part of many optimization
algorithms such as genetic algorithm, bee colony algorithm, firefly algorithm and particle swarm
optimization algorithm. The fitness function finds the most important factor in the optimization
process, which could be many factors depending on the aim of the research. In MANET, the
fitness factor is usually energy, distance, delay, and bandwidth. This matches the reasons for
designing any routing protocol, as they aim to enhance the network resources. In this research,
the fitness function used is part of the Particle Swarm Optimization (PSO) algorithm as proposed
in It was used with wireless sensor networks to optimize the alternative route in case the primary
route fails. The factors that affect the choice of the optimum route are:
The remaining energy functions for each node
The distance functions of the links connecting the neighboring nodes
Energy consumption of the nodes
Communication delay of the nodes
The PSO algorithm is initialized with a population of random candidate solutions,
conceptualized as particles. Each particle is assigned a randomized velocity and iteratively
moved through the problem space. It is attracted towards the location of the best fitness achieved
so far by the particle itself and by the location of the best fitness achieved so far across the whole
population [15]. The PSO algorithm includes some tuning parameters that greatly influence the
algorithm performance, often stated as the exploration–exploitation trade-off: “Exploration is the
ability to test various regions in the problem space in order to locate a good optimum, hopefully
the global one. Exploitation is the ability to concentrate the search around a promising candidate
solution in order to locate the optimum precisely [16, 17]”. In this case, the particles are attracted
towards two fitness parameters which are; energy level of the mobile nodes and the distance of
the route. With these two parameters, the optimization could be found by forwarding traffic
through the route that has the highest level of energy and less distance in order to minimize the
energy consumption related studies.
Smail et al. proposed an energy-efficient multipath routing protocol, called Ad hoc On-demand
Multipath Routing with Lifetime Maximization (AOMR-LM), which preserves the residual
energy of nodes and balances the consumed energy to increase the network lifetime. They used
the residual energy of nodes for calculating the node energy level. The multipath selection
mechanism uses this energy level to classify the paths. Two parameters are analysed: the energy
threshold and the coefficient. These parameters are required to classify the nodes and to ensure
the preservation of node energy. The AOMR-LM protocol improves the performance of
MANETs by prolonging the lifetime of the network. This novel protocol has been compared
with both AOMDV and ZD-AOMDV. The protocol performance has been evaluated in terms of
network lifetime, energy consumption, and end-to-end delay .
Manickavelu & Vaidyanathan concentrated on the route discovery process effect on the data
loss, communication overhead and energy consumption. For these reasons, they proposed a
particle swarm optimization (PSO) based lifetime prediction algorithm for route recovery in
MANET. This technique predicts the lifetime of link and node in the available bandwidth based
on the parameters like the relative mobility of nodes and energy drain rate. Using predictions, the
parameters are fuzzified and fuzzy rules were shaped to decide on the node status. This
information is made to exchange among all the nodes. Thus, the status of every node is verified
before data transmission. Even for a weak node, the performance of a route recovery mechanism
is made in such a way that corresponding routes are diverted to the strong nodes. The simulation
results indicate that the proposed technique minimizes the packet loss and communication
overhead [19].
Sharma et al. proposed an energy efficient reactive routing protocol that uses the received signal
strength (RSS) and power status (PS) of mobile nodes. Proposed Link Failure Prediction (LFP)
algorithm used the link-layer feedback system to update active routes. Comparing the results of
the proposed algorithm with existing algorithms, in terms of energy consumption, link failure
probability, and retransmission of packets, the proposed algorithm outperform the existing
algorithms [20].
Nasehi et al. tried to discover the distinct paths between the source and destination nodes by
using Omni directional antennas, to send information
through these routes simultaneously. For this purpose, the number of active neighbors are
counted in each direction. These criterions are effectively used to select routes. The proposed
algorithm was based on AODV routing protocol and was compared with AOMDV, AODVM,
and IZM-DSR routing protocols which are multipath routing protocols based on AODV and
DSR. Simulation results showed that the proposed algorithm created a significant improvement
in energy efficiency and reducing end-to-end delay.
Hiremath & Joshi proposed an energy efficient routing protocol that conserves energy of the
mobile nodes enhancing the lifetime of the MANET. It is an On demand routing protocol based
on adaptive fuzzy threshold energy (AFTE). The experimental results were compared with the
Load-Aware Energy Efficient Protocol (LAEE) protocol proposed by the same authors. The
results clearly showed that AFTE performs better compared to LAEE. The average network
lifetime was enhanced upto 13% considering first node failure, 15% considering 50% node
failure and 23% considering 100% node failure compared to LAEE.
In De-Rango et al. considered path duration and energy awareness to accomplish certain QoS
constraints as to reduce the route discovery procedures. Even though energy saving and path
duration and stability are two contrasting efforts and to satisfy both of them can be very difficult.
The authors proposed a novel routing strategy which tries to account for link stability with a
minimum rate of energy consumption. In order to verify the accuracy and accomplishment of the
proposed algorithm, an optimization formulation technique was designed along with a routing
protocol called Link-stability and Energy-aware Routing (LAER) protocol. The performance of
proposed protocol was compared with PERRA, GPSR, and E-GPSR, in terms of packet delivery
ratio, normalized control overhead, link duration, node lifetime, and average energy
consumption.
Chen & Weng analyzed two factors that influence the transmission bandwidth: the signal
strength of the received packets and the contentions in the contention-based MAC layer. These
two factors may cause more power to be consumed during data transmission. They proposed a
power aware routing protocol called MTPCR. It discovers the desired routing path with reduced
power consumption during data transmissions. It does so by taking into account the situations in
which, the transmission bandwidth of the routing path may decrease, resulting in much power
consumption during data transmission because of the mobility nature of the mobile nodes in
MANET. MTPCR analyzes the power consumption during data transmission with the help of the
neighboring nodes and using a path maintenance mechanism to maintain optimal path
bandwidth. This mechanism helps to reduce the power consumption more efficiently during data
transmission along with the number of path breakages. The proposed routing protocol was
compared with multiple routing protocols including (AODV, DSR, two power aware routing
protocols (MMBCR and xMBCR) and multipath routing protocol (PAMP)). The comparison was
conducted in terms of throughput, energy consumption during path discovery, energy
consumption during data transmission and network lifetime .
Rajaram & Sugesh addressed the issues of energy consumption and path distance from the
source to the destination in MANET. They proposed a multipath routing protocol based on
AOMDV called as, Power Aware Ad-hoc On Demand Multipath Distance Vector (PAAOMDV).
The proposed protocol updates the routing table with the corresponding energy of the mobile
nodes. As this was a multipath protocol, it shifts the route without further overhead, delay and
loss of packets. The simulation results showed that PAAOMDV performs well compared to
AOMDV routing protocol after introducing energy-related fields in PAAOMDV [25].
Sun et al. proposed an Energy-entropy Multipath Routing optimization algorithm in MANET
based on GA (EMRGA). The key idea of the protocol was to find the minimal node residual
energy of each route in the process of selecting a path by descending node residual energy. It can
balance individual nodes battery power utilization and hence prolong the entire networks lifetime
and energy variance. Experimental results show that the algorithm is efficient and has a
promising performance advantage for multipath traffic engineering and evaluates the route
stability in dynamic mobile networks .
2.2 Product Function
2.3 Hardware Requirements
Processor : Core2duo
Hard Disk : 160GB
RAM : 1GB
2.4 Software Requirements
• Operating system : Windows XP or Windows 7, Windows 8.
• Coding Language : Java – AWT,Swings,Networking
• Data Base : My Sql / MS Access.
• Documentation : MS Office
• IDE : Eclipse Galileo
• Development Kit : JDK 1.6
2.5 Non-Functional Requirements
Non-functional requirements describe user-visible aspects of the system that are not directly
related to functionality of the system. Non-functional requirements these are constraints on the
services or functions offered by the System.
Non-functional requirements are often called qualities of a system. Other terms for non-
functional requirements are "constraints", "quality attributes", "quality goals", "quality of service
requirements" and "non-behavioral requirements". Qualities, that are non-functional
requirements, can be divided into two main categories:
1. Execution qualities, such as security and usability, which are observable at run time.
2. Evolution qualities, such as testability, maintainability, extensibility and scalability,
which are embodied in the static structure of the software system.
Non-functional requirements
Product
Organizational External
requirements
requirement requirement
Efficiency Reliability Portability Ethical
requirement requirement requirement Interoperability
requirement
requirement
Legislative
Usability Delivery Implementation
Standards requirement
requirement requirement requirement
requirement
Privacy
Safety
requirement
Performance Space requirement
requirement requirement
Fig 2.6.1: Non-Functional Requirements
The non-functional requirements are
Reliability
The packages will pick-up current transactions online. Regarding the old transactions, user will
enter them in to the system.
Security
The web server and database server should be protected from hacking, virus etc.
Portability
The application will be developed using standard open source software (Except Oracle) like
Java, tomcat web server, Internet Explorer Browser etc. these software will work both on
Windows and Linux OS. Hence portability problems will not arise.
Maintainability
The first tier is the GUI, which is said to be front-end and the second tier is the database, which
uses My-Sql, which is the back-end. The front-end can be run on different systems (clients).
The database will be running at the server. Users access these forms by using the user-ids and the
passwords.
Robustness
Time to restart after failure percentage of events causing failure probability of data corruption on
failure
Usability
The system is used by the four persons namely Administrator, Project Manager, Developer and
the customer. Each person is having their own roles and separated by the security issues.
Performance
System is highly functional and good in performance. The system must use the minimal set of
variables and minimal usage of the control structures will dynamically increase the performance
of the system.
Availability
The system is implemented based on the web browser and server. Using this web browser the
user can access the data and store the data in the server, here we can use the web browser as
Mozilla and server as Tomcat5.5. And windows XP professional is used as the platform.
Supportability
The system is designed to be the cross platform supportable. The System is supported on a wide
range of hardware and any software platform
Testability
The system software can be tested. Operability is the better it works, the more efficiency it can
be tested. It operates clearly. Observability is what you see is what you test. The results of each
test case are readily observer.
Accessibility
It is a general term used to describe the degree to which a product, device, service, or
environment is available to as many people as possible. Accessibility can be viewed as the
"ability to access" and benefit from some system or entity. Accessibility is often used to focus on
people with disabilities or special needs and their right of access to entities, often through use of
assistive technology .
Accessibility is not to be confused with usability which is used to describe the extent to which a
product (e.g., device, service, and environment) can be used by specified users to achieve
specified goals with effectiveness, efficiency and satisfaction in a specified context of use.
Scalability
Scalability is the ability of a system, network, or process, to handle growing amount of work in a
capable manner or its ability to be enlarged to accommodate that growth. For example, it can
refer to the capability of a system to increase total throughput under an increased load when
resources (typically hardware) are added. An analogous meaning is implied when the word is
used in a commercial context, where scalability of a company implies that the underlying
business model offers the potential for economic growth within the company.
Scalability, as a property of systems, is generally difficult to define and in any particular case it
is necessary to define the specific requirements for scalability on those dimensions that are
deemed important. It is a highly significant issue in electronics systems, databases, routers, and
networking.