4. Characteristics and Protocol Mapping Each layer within the protocol stack is defined by a number of characteristics. For example, routing sub-protocols can be classified using three orthogonal characteristics, or three ‘alphabet’ letters and can be modelled as a 3D vector space. Each protocol can be mapped to a point in the vector space defined by a Vector space of the routing protocol classification for Qualnet scale along each characteristic. Update Period (2) Hybrid (3) Periodic Source Routing (1) Source OSI Model 2 1.5 1 3 (2) Hybrid (3) Hop Characteristic scale 2 1 Simulation of the protocol in an ad hoc network QualNet Alphabet Performance Measurements 3.5 5000 3 4000 Genetic Algorithm Genetic algorithm to generate ‘ideal’ protocol Generate initial population of N random protocols Matlab 2000 2 1000 1.5 0 10 20 30 40 generation number 50 60 ROUTING PROTOCOL Terminate ? 4 source routing (H) Determine fitness of each protocol The full simulation environment uses Matlab to Run a genetic algorithm to find the ‘ideal’ protocol, and a simulator to simulate the ad hoc network environment and extract performance measurements. 0 7.0Optimum Protocol 0 1 2 3 Quality of 4 Service (D Optimisation of the routing protocol under a Range Type (A) particular network scenario found AODV (Ad hoc On-demand Distance Vector) to be the fittest. Ad hoc network Ad hoc network Ad hoc network simulation simulation simulation Selection, Crossover & Mutation Fault injected into network 2.5 3000 0.5 Generate Protocol Generated protocol 6000 1 Protocol Characteristics Available sub-protocols 4 route computation (c1) A genetic algorithm is used to identify a point in the vector space that is considered to be the best guess of the routing protocol characteristics under the current network conditions. This is then mapped to the closest available routing protocol . Each layer of the protocol is built up in this way. 5. Simulation Environment 7000 2 1 MA Mean Fitness Score over Generations PHYSICAL PROTOCOL 3 update period (c2) Test Protocol 3. Protocol Stack Communicating between devices involves layers of interacting processes, from the transmitting radio waves to the user software such as a web page. These combined layers are called a protocol stack. Applications Application And Layer A standard model of Middleware Presentation a protocol stack is the Layer OSI model. Each layer Session Layer can contain one or Networking Transport more different subLayer protocols. Protocols Network today generally use a Layer subset of these subEnabling Data Link control MAC Technologies Layer protocols and are Physical fixed for a particular Layer type of application. 2.5 Number of channels (E) (3) Proactive fitness value (2) Hybrid 3 6. Genetic Algorithm A genetic algorithm is used to find an optimum solution by minimising a simple fitness function. An initial population of N random protocols are simulated in turn, each returning performance measurements, then processed by the fitness function to obtain a ‘fitness score’. Selected ‘fittest’ protocols undergo crossover and mutation to create a new population. This is repeated until an optimum solution is found. Max Bit Rate (B) (1) Reactive (1) Event 2. Future of Ad hoc Networks An ad hoc network is characterised by devices connected in an arbitrary manner to form a network without a central controller. Ad hoc networks of the future must interconnect applications such as home robots, wearable computers, and sensor networks. To succeed they must be self-organised and display characteristics of emergence, robustness, adaptability and scalability. LSR FSR DSR AODV ZRP STAR Route Computation source routing(c3) 1. Research Objective The objective is to produce a protocol for ad hoc networks of the future via emergence. Such a protocol needs to accommodate scenarios which can not be premeditated prior to deployment. This involves the creation of an ‘alphabet’ from the characteristics of existing protocols with methods for combining the letters in it. 3 2 1 0 4 4 Best chosen protocol 2 update period (G) 0 0 2 route computation (F)