PERFORMANCE ANALYSIS OF ROUTING ALGORITHMS OF RD-C/TDMA PACKET RADIO NETWORKS UNDER DYNAMIC RANDOM TOPOLOGY1

Similar documents
Simulation Based Analysis of FAST TCP using OMNET++

RAP. Speed/RAP/CODA. Real-time Systems. Modeling the sensor networks. Real-time Systems. Modeling the sensor networks. Real-time systems:

Overview. Basic Setup [9] Motivation and Tasks. Modularization 2008/2/20 IMPROVED COVERAGE CONTROL USING ONLY LOCAL INFORMATION

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

Efficient Distributed File System (EDFS)

Load-Balanced Anycast Routing

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

DESIGNING TRANSMISSION SCHEDULES FOR WIRELESS AD HOC NETWORKS TO MAXIMIZE NETWORK THROUGHPUT

TECHNIQUE OF FORMATION HOMOGENEOUS SAMPLE SAME OBJECTS. Muradaliyev A.Z.

Parallel matrix-vector multiplication

User Authentication Based On Behavioral Mouse Dynamics Biometrics

Load Balancing for Hex-Cell Interconnection Network

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

The Codesign Challenge

Outline. Type of Machine Learning. Examples of Application. Unsupervised Learning

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Cluster Analysis of Electrical Behavior

Unsupervised Learning

A Binarization Algorithm specialized on Document Images and Photos

OPTIMAL CONFIGURATION FOR NODES IN MIXED CELLULAR AND MOBILE AD HOC NETWORK FOR INET

DEAR: A DEVICE AND ENERGY AWARE ROUTING PROTOCOL FOR MOBILE AD HOC NETWORKS

K-means and Hierarchical Clustering

Network Coding as a Dynamical System

Problem Set 3 Solutions

EECS 730 Introduction to Bioinformatics Sequence Alignment. Luke Huan Electrical Engineering and Computer Science

IJCTA Nov-Dec 2016 Available

Wishing you all a Total Quality New Year!

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

CMPS 10 Introduction to Computer Science Lecture Notes

Real-Time Guarantees. Traffic Characteristics. Flow Control

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

An Optimal Algorithm for Prufer Codes *

Concurrent Apriori Data Mining Algorithms

Analysis of Collaborative Distributed Admission Control in x Networks

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers

VRT012 User s guide V0.1. Address: Žirmūnų g. 27, Vilnius LT-09105, Phone: (370-5) , Fax: (370-5) ,

APPLICATION OF MULTIVARIATE LOSS FUNCTION FOR ASSESSMENT OF THE QUALITY OF TECHNOLOGICAL PROCESS MANAGEMENT

X- Chart Using ANOM Approach

Mathematics 256 a course in differential equations for engineering students

Meta-heuristics for Multidimensional Knapsack Problems

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

3. CR parameters and Multi-Objective Fitness Function

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search

ARTICLE IN PRESS. Signal Processing: Image Communication

An Entropy-Based Approach to Integrated Information Needs Assessment

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

Support Vector Machines

Video Proxy System for a Large-scale VOD System (DINA)

MobileGrid: Capacity-aware Topology Control in Mobile Ad Hoc Networks

S1 Note. Basis functions.

AP PHYSICS B 2008 SCORING GUIDELINES

with `ook-ahead for Broadcast WDM Networks TR May 14, 1996 Abstract

Research of Dynamic Access to Cloud Database Based on Improved Pheromone Algorithm

Intro. Iterators. 1. Access

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization

Resource and Virtual Function Status Monitoring in Network Function Virtualization Environment

Efficient Content Distribution in Wireless P2P Networks

Optimal Fault-Tolerant Routing in Hypercubes Using Extended Safety Vectors

CS 268: Lecture 8 Router Support for Congestion Control

CSCI 104 Sorting Algorithms. Mark Redekopp David Kempe

Distributed Topology Control for Power Efficient Operation in Multihop Wireless Ad Hoc Networks

A Semi-Distributed Load Balancing Architecture and Algorithm for Heterogeneous Wireless Networks

Session 5.3. Switching/Routing and Transmission planning

Lecture 5: Multilayer Perceptrons

Some Advanced SPC Tools 1. Cumulative Sum Control (Cusum) Chart For the data shown in Table 9-1, the x chart can be generated.

Outline. Digital Systems. C.2: Gates, Truth Tables and Logic Equations. Truth Tables. Logic Gates 9/8/2011

Helsinki University Of Technology, Systems Analysis Laboratory Mat Independent research projects in applied mathematics (3 cr)

Fast Retransmission of Real-Time Traffic in HIPERLAN/2 Systems

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

Advanced Computer Networks

Constructing Minimum Connected Dominating Set: Algorithmic approach

Classifier Selection Based on Data Complexity Measures *

Module Management Tool in Software Development Organizations

BANDWIDTH OPTIMIZATION OF INDIVIDUAL HOP FOR ROBUST DATA STREAMING ON EMERGENCY MEDICAL APPLICATION

Annales UMCS Informatica AI 1 (2003) UMCS. Designing of multichannel optical communication systems topologies criteria optimization

Synchronous Distributed Wireless Network Emulator for High-Speed Mobility: Implementation and Evaluation

Programming in Fortran 90 : 2017/2018

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

Improving Low Density Parity Check Codes Over the Erasure Channel. The Nelder Mead Downhill Simplex Method. Scott Stransky

Brave New World Pseudocode Reference

AADL : about scheduling analysis

MULTISPECTRAL IMAGES CLASSIFICATION BASED ON KLT AND ATR AUTOMATIC TARGET RECOGNITION

Shared Running Buffer Based Proxy Caching of Streaming Sessions

A Saturation Binary Neural Network for Crossbar Switching Problem

Performance Improvement of Direct Diffusion Algorithm in Sensor Networks

Wightman. Mobility. Quick Reference Guide THIS SPACE INTENTIONALLY LEFT BLANK

Aggregated traffic flow weight controlled hierarchical MAC protocol for wireless sensor networks

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

TN348: Openlab Module - Colocalization

Active Contours/Snakes

Virtual Machine Migration based on Trust Measurement of Computer Node

Optimizing Energy-Latency Trade-off in Sensor Networks with Controlled Mobility

Real-time interactive applications

Scheduling and queue management. DigiComm II

Minimum Cost Optimization of Multicast Wireless Networks with Network Coding

Transcription:

PERFORMANCE ANALYSIS OF ROUTING ALGORITHMS OF 1- RD-C/TDMA PACKET RADIO NETWORKS UNDER DYNAMIC RANDOM TOPOLOGY1 A Thess Presented to The Faculty of the College of Engneerng and Technology Oho Unversty In Partal Fulfllment of the Requrements for the Degree Master of Scence by Chen-Mng Chen/ - November, 1993

TABLE OF CONTENTS Table of Contents... 1 Lst of Fgures... Lst of Tables... v x Chapter 1 Introducton... 1 Chapter 2 Fundamentals of Multhop Spread Spectrum Networks... 4 2.1 Multhop Spread Spectrum Networks... 4 2.2 Channel Dvson Schemes... 5 2.3 Spreadng Code Protocols for Channel Access... 6 Chapter 3 Modelng of Random Networks... 8 3.1 Modelng of Network Topology... 8 3.2 The Eucldean Random Graph Model... 9.. 3.3 Network Connectvty... 11 3.4 Modelng the Dynamc Network... 13 Chapter 4 A Dedcated Channel Access Protocol wth Acknowledgement... 17 4.1 A Dedcated Channel Access Archtecture... 17

.. 11... 4.2 Acknowledgement Protocol 19... 4.3 Acknowledgement Protocol n MHSS Network 21 4.4 Dedcated Code Channel for Acknowledgement... 23 Chapter 5 Adaptve Routng Algorthms... 28 5.1 Routng... 28 5.1. 1 Classfcaton of Algorthms... 28 5.1.2 Transmsson Delay and Shortest Path Algorthms... 29 5.2 Dstrbuted, Adaptve, Shortest Path Algorthms... 30 5.3 The Adaptve Route Selecton... 30 5.4 Routng n a CDMA Packet Rado Network... 31 5.4.1 Detecton of Lnk Geness... 31 5.4.2 Detecton of Lnk Falure... 36 5.4.3 Use of Acknowledgements for Routng Updates... 40 5.5 The Routng Algorthm for Ths Research... 40 Chapter 6 Descrpton of the MHSS Smulaton Model (Usng. OPNET)... 43 6.1 Bref Introducton for OPNET... 43 6.2 Parameter Level Model... 44 6.3 Process Level Models... 44.... 6.3.1 Intal State (nt)... 48 6.3.2 Idle State (dle)... 48

... 111... 6.3.3 Man State (man) 48 6.3.4 Transmt Packet State (txqkt)... 49... 6.3.5 Receve Packet State (rxqkt) 49 6.3.6 Transmt Acknowledgement State (tx-ack)... 49... 6.3.7 Receve Acknowledgement State (rx-ack) 50 6.3.8 Neghbor Detectng State (neg-det)... 50... 6.3.9 Combnaton State (corn) 51... 6.4 Node Level Models 51 6.4.1 Generator Model (scr)... 54... 6.4.2 Queue Model (buffer) 54 6.4.3 Processor Model (manproc)... 54 6.4.4 Rado Transmtter (r-txqkt), Recever (r-rxqkt) and... Antenna (ant) Models 55... 6.5 Network Level Model 55... 6.5.1 Subnet Model 55 Chapter 7 Smulaton Results... 57 7.1 Full Connected Network Throughput... 57.. 7.2 Some Defrutlons... 59 7.3 Statc Topology Analyss... 60 7.4 Dynamc Topology Analyss... 73 7.5 Hghly Dynamc Topology Analyss... 87

v Chapter 8 Conclusons and Recommendatons... 93 8.1 Conclusons... 93 8.2 Suggestons for Further Research... 95 References... 97 Appendx OPNET Smulaton Model Reports... 100 1. MHSS Network Smulaton OPNET Process Model... 100 2. MHSS Network Smulaton OPNET Node Model... 118 3. MHSS Network Smulaton OPNET Network Model... 124

LIST OF FIGURES Fgure 3.2-1 Fgure 3.2-1 Fgure 3.4-1 Fgure 4.1-1 Fgure 4.2-1 The Bernoull Random Graph Model... 10 The Eucldean Random Graph Model of 8 nodes... 11 The Random Paths for OPNET Moble Nodes... 16 TDMA Tmeslot Structure for Channel Access... 18 Channel Access Protocol for Dedcated Channel Acknowledgement... 20 Fgure 4.3-1 Example of Transmsson Requred for Acknowledgement n a Multhop Network... 22 Fgure 4.4-1 State Transton Dagram for Dedcated Channel Acknowledgement Protocol... 27 Fgure 5.4-1 Fgure 5.4-2 Fgure 5.4-3 Fgure 5.5-1 Fgure 6.3-1 Fgure 6.3-2 Fgure 6.4-1 Fgure 7.1. 1 Fgure 7.2-1 Fgure 7.2-2 Example of Detecton of Lnk Geness... 34 Detecton of Lnk Falure... 37 Example of Detecton of Lnk Falure... 39 Mnmum Hop Routng Table wth Alternatve Routes Shown... 42 MHSS Smulaton Model OPNET Process State Dagram... 46 The OPNET State Three Portons Dagram... 47 MHSS Smulaton OPNET Node Level Model... 53 30 Nodes Full Connected Throughput... 58 30 Nodes Statc Topology... 62 Comparng Throughput and Average Hops of Three Knds of

v Protocols under 30 Nodes Statc Topology... 63 Fgure 7.2-3 Comparng Table-err-rate and Connectvty of Three Knds of Protocols under 30 Nodes Statc Topology... 64 Fgure 7.2-4 Comparng Percentage of Retransmt and Tx-fal of Three Knds of Protocols under 30 Nodes Statc Topology... 65 Fgure 7.2-5 Comparng Ps = 0.1, 0.02, 0.01 of Throughput and Average Hops of Both Way Lnk Protocol under 30 Nodes Statc Topology, q = 8.. 66 Fgure 7.2-6 Comparng Ps = 0.1, 0.02, 0.01 of Table-err-rate and Connectvty of Both Way Lnk Protocol under 30 Nodes Statc Topology, q = 8.. 67 Fgure 7.2-7 Comparng Ps = 0.1, 0.02, 0.01 of Percentage of Retransmt and Tx - fal of Both Way Lnk Protocol under 30 Nodes Statc Topology, q = 8... 68 Fgure 7.2-8 100 Nodes Statc Topology... 69 Fgure 7.2-9 Comparng q = 4, 8 of Throughput and Average Hops of Both Way Lnk Protocol under 103 Nodes Statc Topology, Ps = 0.1... 70 Fgure 7.2-10 Comparng q = 4, 8 of Table-ercrate and Connectvty of Both Way Lnk Protocol under 100 Nodes Statc Topology, Ps = 0.1... 71 Fgure 7.2-11 Comparng q = 4, 8 of Percentage of Retransmt and Tx - fal of Both Way Lnk Protocol under 100 Nodes Statc Topology, Ps = 0.1... 72 Fgure 7.3-1 30 Nodes Dynamc Topology... 74 Fgure 7.3-2 Global Vew of Connectvty under 30 Nodes Dynamc

Topology... 75 Fgure 7.3-3 Comparng Throughput and Average Hops of Three Knds of Protocols under 30 Nodes Dynamc Topology... 76 Fgure 7.3-4 Comparng Table-ertrate and Connectvty of Three Knds of Protocols under 30 Nodes Dynamc Topology... 77 Fgure 7.3-5 Comparng Percentage of Retransmt and Tx-fal of Three Knds of Protocols under 30 Nodes Dynamc Topology... 78 Fgure 7.3-6 Comparng Ps = 0.1, 0.02, 0.01 of Throughput and Average Hops of Both Way Lnk Protocol under 30 Nodes Dynamc Topology, q=8... 79 Fgure 7.3-7 Comparng Ps = 0.1, 0.02, 0.01 of Table-ertrate and Connectvty of Both Way Lnk Protocol under 30 Nodes Dynamc Topology, q=8... 80 Fgure 7.3-8 Comparng Ps = 0.1, 0.02, 0.01 of Percentage of Retransmt and Tx-fal of Both Way Lnk Protocol under 30 Nodes Dynamc Topology, q = 8... 81 Fgure 7.3-9 100 Nodes Dynamc Topology... 82 Fgure 7.3-10 Global Vew of Connectvty under 100 Nodes Dynamc Topology... 83 Fgure 7.3-1 1 Comparng q = 4, 8 of Throughput and Average Hops of Both Way Lnk Protocol under 100 Nodes Dynamc Topology, Ps = 0.1..... 84 Fgure 7.3-12 Comparng q = 4, 8 of Table-ercrate and Connectvty of Both v

... Vlll Way Lnk Protocol under 100 Nodes Dynamc Topology, Ps=O.l... 85 Fgure 7.3-13 Comparng q = 4, 8 of Percentage of Retransmt and Tx-fal of Both Way Lnk Protocol under 100 Nodes Dynamc Topology, Ps=O.l... 86 Fgure 7.4-1 100 Nodes Hghly Dynamc Topology... 88 Fgure 7.4-2 Global Vew of Connectvty under 100 Nodes Hghly Dynamc Topology... 89 Fgure 7.4-3 Comparng q = 4, 8 of Throughput and Average Hops of Both Way Lnk Protocol under 100 Nodes Hghly Dynamc Topology, Ps=O.l... 90 Fgure 7.4-4 Comparng q = 4, 8 of Table-err-rate and Connectvty of Both Way Lnk Protocol under 100 Nodes Hghly Dynamc Topology, Ps=O.l... 91 Fgure 7.4-5 Comparng q = 4, 8 of Percentage of Retransmt and Tx-fal of Both Way Lnk Protocol under 100 Nodes Hghly Dynamc Topology, Ps = 0.1... 92 Fgure A. 1 MHSS Smulaton OPNET Process State Dagram... 101 Fgure A.2 MHSS Smulaton OPNET Node Level Model... 1 19 Fgure A.3 MHSS Smulaton OPNET Network Level Model... 125

LIST OF TABLES Table 5.4-1 Value of Solctaton Probablty and Hearng Probablty...,... 33 Table 5.5-1 Routng Table for Node D... 42

CHAPTER 1 INTRODUCTION 1.1 Packet Rado Networks Packet rado networks (PRnets) represent the extenson of packet swtchng technology nto the moble rado envronment. They offer data communcatons to users who lve over broad geographc regon, where wre connectons among these users are not practcal. In 1973, the Defense Advanced Research Projects Agency (DARPA) started a research effort to develop a PRnet for the tactcal mltary envronment [I]. Ths was the begnnng for developrg PRnets. However, ths technology can potentally be used for commercal use today (Cellular phone systems are a good example). Some papers have already proposed an advanced concept for usng a PRnet to acheve a global communcaton system va a large number of low-orbtng satelltes [2]. Therefore, we beleve, PRnets wll play vared and mportant roles n our modem lves n the near future. There are two fundamental ssues n the desgn and analyss of packet rado networks - the development of channel access protocols and the constructon of effectve multhop routng algorthms. Packet rados can be confgured as ether moble or portable termnals. Ths system may become very mportant n the near future. Each termnal s attached to a transmsson control unt equpped wth a rado transmtter and recever. The data to be

2 transmtted are formed nto a "packet" wthn the transmsson control unt. The packets contan the address of the recevng locaton and the forwardng termnal (ether orgnal sender or repeater). A recevng devce receves any packet addressed to t and transmts an acknowledgement, f the packet appears to be free of error. The sender wats a predetermned perod of tme for the acknowledgement response. If t does not receve an acknowledgement, t transmts the packet agan. Ths s the basc structure of channel access protocol. However, ths s not enough for mplementng t n the real world. An example of detaled channel access and acknowledgement protocols are gven by Dll [3] and are dscussed brefly n chapter 4. In a wde-area network we must effcently manage the movement of a packet from source node to destnaton node along a path that may nvolve one or more ntermedate nodes that functon as repeaters [4]. Therefore, we need a routng algorthm. How to develop a good routng algorthm for the packet rado envronment s the man task of ths research. Due to the nodes' moblty n a PRnet, we can not set a "fxed rado lnk" for any source and destnaton - because they can change ther locatons at any tme. Therefore, the detectons of new rado lnk geness, and rado lnk falure, are two major components we should consder n the routng algorthm. For detecton of new lnks, a smple soluton s proposed that each node perodcally broadcasts a message to ndcate ts exstence. Ths s called to be the neghbor solctaton. For detecton of lnk falure, we set a parameter, lnk qualty q, to delete the broken lnks from routng tables. Further, use of acknowledgement transmssons for routng updates has been mplemented n the multhop spread spectrum (MHSS) smulaton model, resultng n a bg mprovement for

3 the overall network performance. Furthermore, the methods for allevatng traffc bottlenecks and avodng repeated collsons are acheved by usng an adaptve routng algorthm accordng to mnmum queue length and by puttng retransmt packet on the tal of ts queue (buffer) respectvely. Ths algorthm s descrbed n chapter 5. The choosng of the best tme for transmttng routng tables for ether statc or dynamc topology s accomplshed by buldng three dfferent smulaton programs. Some smulaton results are found n chapter 7. A hghly dynamc PRnet s bult for testng the capablty of ths routng algorthm and the results can also be seen n 7.4.

CHAPTER 2 FUNDAMENTALS OF MULTIHOP SPREAD SPECTRUM NETWORKS 2.1 Multhop Spread Spectrum Networks Packet rado technology provdes the possblty for moble data communcatons wthout an exstng structure of base statons. Multhop transmsson s a technque to acheve relable communcaton beyond the rado range of the ndvdual users [5]. In a multhop network, a message may travel long dstances by means of several transmssons accordng to the routng algorthm, as determned by the next node (destnaton or repeater). The use of spread spectrum technques orgnated from the needs of mltary communcatons. However, the spread spectrum technques have several commercal benefts as well. Therefore, more and more cvlan companes use them to meet ther communcaton system needs today. For a spread spectrum communcaton system, there are two crtera for the transmtted sgnal. Frst, the bandwdth of the transmtted sgnal must be much greater than the message bandwdth. Second, The transmtted bandwdth must be determned by some functon that s ndependent of the message and s known to the recever [6]. Perhaps somebody would say that a spread spectrum system s wasteful and neffcent for ts large bandwdth (Frequency modulaton or pulse code modulaton may

5 also do the same thng). Actually, there are several useful and powerful propertes that make a spread spectrum system worth consderng [7]. We lst them as follows: Antjam capablty - partcularly for narrow-band jammng Interference rejecton Multple-access capablty Multpath protecton Covert operaton or low probablty of ntercept Secure communcaton Improved spectral effcency Rangng 2.2 Channel Dvson Schemes Frequency dvson multple access (FDMA), tme dvson multple access (TDMA), and code dvson multple access (CDMA) are the three fundamental means of achevng multple access n communcaton networks. FDMA s the dvson of a frequency band nto a number of dscrete, nonoverlappng bands. Each band possesses a fracton of the capacty of the entre band. TDMA smply refers to the dvson of tme nto dscrete ntervals called tmeslots. Any node can only transmt messages n the tmeslot for whch t s set. CDMA refers to the use of spread spectrum sgnallng to "code channels" whch allows multple smultaneous transmsson to succeed on dfferent spreadng codes. All three channel dvson schemes can be used n combnaton n order to meet the network need. In ths paper, we use both TDMA and CDMA channel

dvson schemes. 2.3 Spreadng Code Protocols for Channel Access There are three types of spreadng code protocols whch are usually used n CDMA networks - common codes, transmtter drected codes, and recever drected codes. We descrbe them as follows: a) common codes In ths approach all transmtters and recevers use a common spreadng code. Wth spread spectrum sgnallng, the capture propertes allow a successful recepton even though many smultaneous transmssons occur [8]. An advantage of ths scheme s ts smplcty. Snce each node n the network has the same spreadng code, t does not make any decson regardng spreadng codes when transmttng or recevng. b) transmtter-drected codes Ths approach assgns a unque spreadng code to each transmtter n the network. Hence, n each tmeslot, recevers have to choose whch transmtter to lsten for. Ths scheme works qute well n broadcast types of applcatons, snce only one or few central nodes are transmttng large amounts of data to a group of recevers. The burden of decson s on the recevers' choces of spreadng codes. c) recever-drected codes In ths approach, each recever s assgned a unque spreadng code. Each transmtter chooses the spreadng code for each transmsson. Snce the sender of the message knows whom the message s for, large numbers of messages can be delvered n

7. the same tmeslot for ths applcaton. "Ths s also an advantage n multhop networks, snce the transmtter of the message s plannng the route and can address the message to the next relay, who n turn addresses the message to the next relay, etc., untl the message s delvered to the destnaton." [3] In ths research, we examne the recever-drected code and tme dvson multple access (RD-CITDMA) protocol for the class of hghly dynamc packet rado networks. In ths type of multhop spread spectrum packet rado network, the use of receverdrected code s natural, snce the transmtter knows to whom he wshes to send, whle recevers do not necessarly know who wshes to communcate wth them n any gven tmeslot. Ths protocol has been mplemented n the MHSS smulaton model presented n chapter 6.

CHAPTER 3 MODELING OF RANDOM NETWORKS 3.1 Modelng of Network Topology The modelng of a network topology s of fundamental mportance to the analyss of the packet rado networks, especally how to statstcally represent a network topology. In the real world, there are too many possble network topologes. It s nfeasble for us to analyze network performance over all possble cases. Therefore, we must develop a statstcal representaton of network topology whch allows us to mathematcally descrbe a wde-range of realstc network topologes. There are three assumptons that has been used for descrbng the topology of a packet rado network [9]. a) Regular structure: Nodes are consdered to be located n some regular pattern on the plane, or on the vertces of a regular polygon. b) Contnuum of nodes: Nodes are consdered to be randomly dstrbuted n an nfnte plane (or some fnte area), whch allows us to assume the exstence of a node at any convenent locaton. c) Random locutons: Nodes are consdered to be randomly dstrbuted n an nfnte (or fnte) planar surface. Most commonly, a Posson assumpton s used, where 3L s defned as the densty of nodes per unt area. The probablty of fndng k nodes n a regon of area A s

Pr[ k n A ] = (IL~lk e-@ k! 3.2 The Eucldean Random Graph Model Now, we try to model the topology for ths research. There are two random graph models we should consder - the Bernoull random graph model and Eucldean random graph model [3]. The Bernoull model descrbes, that any two nodes n a network can be neghbors. There s a potental lnk between each par of nodes. Consderng the jammng, propagaton loss, etc. n a network, ths model s reasonable for a small geographc area network. However, ths model s not approprate for arborne networks or networks coverng a very large geographc area. For the Eucldean model, we suppose that every node has a fxed transmt radus for reachable transmssons. (see fg 3.2-1, t s reasonable for we choose the same transmsson power for each node) For the global vew of ths network. any node wthn node C's crcle s elgble to be C's neghbor (such as node A,B,D). Any node whch s not n node C's crcle does not have a chance of havng a rado lnk between t and node C. Snce we do not take jammng and propagaton loss (left for further research) nto account, and model a wde-range geographc network for ths research, the Eucldean random geographc model s qute sutable for us now. The Eucldean random geographc model, plus the random node locatons, whch s descrbed n 3.1-(c), we beleve, s a qute reasonable network topology model for ths research.

Fgure 3.2-1 The Eucldean random graph model of 8 nodes. Every node n ths network has ts own transmsson radus whch forms a crcle.

3.3 Network Connectvty For the analyss of dynamc packet rado networks purpose, there s a dffcult task whch we have to overcome - how to get the nformaton of actual network connectvty? For other networks, such as bus lnk networks, ther topologes can be clearly represented by a bnary connectvty matrx as ths form: '4 = [ a,,, I where aj = 1, f j hears 0, otherwse Ths connectvty matrx s also called the hearng matrx, neghbor matrx, or adjacency matrx. However, n a packet rado network, t s hard to defne ths matrx. Unlke bus lnks, we do not know when a rado lnk exts and when t does not. We solve ths problem by checkng every node's routng table every sngle smulaton tmeslot. For a TDMA network, the lnk exstng between a par of nodes s also on a tmeslot bass. Therefore, we check all the routng tables for every tmeslot, and we can know the actual connectvty at that partcular tmeslot. Frst, we defne the routng tables as three dmenson matrxes as follows: Rtable S I[ D ][ Next N ] = Hops Number where S s a source, D s a destnaton, Next N s a next node, and Hops Number s the hop number that S can transmt a message to D through Next N.

-1, No path for S transmts a message to D through Next N. where Hops Number = 0, S and D are the same node. 1, D connects to S (D s S's neghbor). >I, the actual number of nodes that S transmts a message to D through Next N. Let us consder the followng examples: Rtable[3] [7] [5] = -1: There s no way that node 3 can transmt a message to node 7 through node 5. Rtable[4] [4] [4] = 0: Source node (node 4) and destnaton node (node 4) are dentcal. Rtable[2] [5][5] = 1: Node 2 can transmt a message drectly to node 5. (Node 5 s node 2's neghbor.) Rtable[6] [2] [5] = 3: Node 6 can transmt a message to node 2 through node 5. The total hops of ths path wll be 3. For an N node network, there s a potental lnk between each par of nodes. Thus, we

13 have N(N-1) potental one-way lnks n ths network. After we have the Rtable[S][D][Next N] whch we defned above, we count the total number of any Rtable[S][D][Next N]=l at each tmeslot bass, say M. Now we defne the network connectvty as M N(N-1) at that partcular tmeslot. 3.4 Modelng the Dynamc Network It s nfeasble to mathematcally analyze a dynamc packet rado network. However, the powerful Optmzed Network Engneerng Tools (OPNET, whch s descrbed n chapter 6 and used for ths research) provdes the ablty to smulate moble nodes. As long as we set the path(s) for a moble node, ths node can move n the network topology durng smulaton. By usng ths characterstc, we can randomly choose paths for any node. (shown n fg 3.4-1) We beleve ths s better than other approach methods (such as varable transmsson power or rotatng drectonal antenna for mtatng the dynamc network topology behavor). It s easy for us to analyze a global vew of what the real connectvty s. Ths connectvty, whch we use to determne how good our routng algorthms are, s one of the mportant goals n ths research. Frst, we defne the global vew connectvty, God-vew[A][B], a two dmenson matrx whch s descrbed below: God-vew [A] [B]=C where A and B are nodes n ths network.

where C = r - 1, potental lnk A-B does not exst. 0, A and B are the same node. 1 1, A to B one-way lnk A-B exsts. For examples (refer to fg 3.2-1): God-vew[A][E] = -1 God-vew[A][A] = 0 God-vew [A] [C] = 1 Now, we can know the smulaton network's global vew of connectvty at any tmeslot. Second, how can we set the estmated moton of nodes? Suppose we have a system wth transmttng and recevng rates at 64000 bts per second whch we mplement to every node of our smulaton network. The message packet sze s 640 bts. Therefore, there are 100 tmeslots n one second. For statc network topology, t takes around 10000 to 20000 tmeslots to acheve stable network performance (from experments). Here we choose 20000 smulaton tmeslots. That s 200 seconds n real world. We assume that a moble node has a speed of 80km to 120km per hour. Therefore, t moves around 4.4km to 6.7km or a lttle more for our dynamc topology smulaton model (20000 smulaton tmeslots). Every movng node's path s randomly chosen. For the 30 nodes dynamc topology smulaton model, 14 nodes are randomly chosen to move. However,

24 nodes are randomly chosen to move for 100 nodes dynamc topology smulaton model and 31 nodes move for hghly dynamc model. 15

16 I I I I I a I I I I - - - - - - - r - - - - - - - - - - - - -,. - - - - lokm I I a - - - -,. - - - - I a I I - - r - - - - a I I a I a 1 - - - - - - - r lo@"- - - - 209" - - - - - _ r 4 Okm I I I 3%" - - - Fgure 3.4-1 Example of random paths for OPNET moble nodes. We can set drecton and speed for any node.

CHAPTER 4 A DEDICATED CHANNEL ACCESS PROTOCOL WITH ACKNOWLEDGEMENT 4.1 A Dedcated Channel Access Archtecture After we buld the model for our smulaton network, there are stll several problems that we should consder. Frst, we assume that the network s synchronzed by some external process whch provdes each node of ths network wth precse knowledge of tmeslot boundares. Typcally, ths s acheved by usng some fracton of the communcaton channel to convey and mantan the synchronzaton data. Second, we assume that every message packet has the same fxed length whch can ft nto a sngle tmeslot and the tmeslots contan guard tme to allow for propagaton delay andor clock errors. The guard tme guarantees that the transmtted message can be receved wthn the same tmeslot (as shown n fg 4.1-1). Now, we can propose that what we use for the channel access protocol - a tme dvson multple access (TDMA) channel archtecture whch uses code dvson multple access (CDMA) wthn each ndvdual tmeslot.

guard tme for worst case relatve clock error guard tme for worst case propagaton delay Node A Node B - RX Tmeslot n n+l nt2 n+3... Fgure 4.1-1 TDMA tmeslot structure for channel access n ths network.

19 4.2 Acknowledgement Protocol CDMA packet rado networks typcally operate n very severe envronments. Therefore, we should choose a protocol to guarantee successful transmssons. Most analyses of packet rado networks gnore the effects of acknowledgement traffc. They assume that acknowledgements occur on a separate channel, wth no effect on data capacty. We call t the perfect acknowledgement assumpton. In a real packet rado network, normally, t s not done ths way. Therefore, a acknowledgement protocol s necessary. The channel access protocol for dedcated channel acknowledgement developed by Dll [3], s descrbed as follow:

BEGIN IF oblgated to lsten for ack, THEN lsten for acknowledgement on own ack code channel. ELSE IF oblgated to transmt an ack, THEN transmt acknowledgement on the ack code channel for the orgnal transmtter. ELSE examne transmt queue to see f there s any messages awatng transmsson. IF the queue s empty, then enter the receve state for that tmeslot, usng own data code channel for recepton. ELSE IF the queue non-empty, then roll a random number to decde whether to transmt or receve n ths tmeslot. IF the decson s to transmt, then transmt the frst message from transmt queue (FIFO), addressng t (va the spreadng code chosen) to the node chosen by routng algorthm. ELSE IF the decson s to receve, then enter the receve state for that tmeslot, usng own data code for recepton. END IF END IF END IF END Fgure 4.2-1 Channel access protocol for dedcated channel acknowledgement

4.3 Acknowledgement Protocol n MHSS Networks For a better understandng of the acknowledgement protocol n multhop spread spectrum network, we consder an example shown n fg 4.3-1. Suppose that node A has a message for node D and node D s not wthn ts transmsson radus. There s a rado lnk exstng A-B-C-D. Frst, node A transmts a message to node B and wats for an acknowledgement. Before node A transmts the message, t duplcates ths message. If Node A successfully receves an acknowledgement from node B, t wll delete the duplcated packet, otherwse ths message wll be put n the tal of node A's buffer and wat for retransmsson.(the reason why we put the retransmtted message to the tal of nodes' buffers s to prevent the repeated collson. [3] ) Node B and node C follow the same procedure as node A untl the message s delvered to node D.

-- Ack Transmsson Fgure 4.3-1 Example of transmssons requred for acknowledgement n a multhop network.

4.4 Dedcated Codes Channel for Acknowledgement Even though we use the recever drected CDMA channel access protocol, t s stll possble for acknowledgements to be lost. For nstance, node A transmts a message to node B at tmeslot t. It wll enter the lsten for acknowledgement state at t+l tmeslot. If node C tres to transmt message to node A at ths tme, there s contenton. For a contenton free acknowledgements, we use the dedcated channel for acknowledgements. Ths means that we use two unque recever drected codes for every node n packet rado networks, one for normal data addressed to hm, and the other for acknowledgements addressed to hm. Once a node sends a message at tmeslot t, t wll use the acknowledgement code at the next tmeslot, t+l, for watng acknowledgement. Therefore, no collson wll occur on the acknowledgement channel. For ths protocol, the optmum transmt probablty was determned by Dll [3] as follows: Frst, defne: Po, the optmum transmt probablty. Pr, the probablty that a node receves data. S1 S2 S3 S4 represent the probabltes of four states - Lsten for Data, Transmt Data, Transmt Ack, and Lsten for Ack. To solve the steady state from S = SP

whch yelds the lnear ndependent equatons: usng CS=1 we solve the state varables n terms of Po and Pr as: Pr s the probablty that a node receves data. It s equal to the probablty that one of hs neghbors addresses a packet to hm n a partcular tmeslot. Then, we can express

Pr as: where N s the numbers of neghbors. Lettng N ++ c~ yelds To use CS= 1 agan and substtute for S 1, we obtan Rearrangng terms, we get where S3 s the probablty that a node s transmttng an acknowledgement. It s the same as the probablty of successful data recepton. Ths s the value that we wsh to maxmze for the overall throughput of ths network. We use the dervatve of S3, and set t equal to 0 to obtan the equaton:

whch yeld a soluton of S2 = 0.2145. Therefore, we can fnd the followng optmal values for each probablty Thus, each node n the network under statc state condtons wll enter the lsten for data state wth probablty 0.4786, transmt data state wth probablty 0.2145 (t s the same as the probablty of lsten for acknowledgement state), and transmt acknowledgement state wth probablty 0.0924, whle the optmal transmt probablty, Po, s equal to 0.3095, whch s a fundamental desgn parameter of ths protocol, and we use t n the MHSS smulaton models.

[I -Poll1 -Pr] 1 Transmt Fgure 4.4-1 State transton dagram for dedcated channel acknowledgement protocol

CHAPTER 5 ADAPTIVE ROUTING ALGORITHMS 5.1 Routng In order to transmt packets from source nodes to destnaton nodes n the multhop spread spectrum (MHSS) network, most packets are delvered through the neghbor nodes except when the destnaton nodes are the neghbor nodes. Therefore, a good routng algorthm s needed. There are certan propertes that we desre n a good routng algorthm - correctness, smplcty, stablty, farness, and robustness [ll]. Dfferent routng algorthms are good for dfferent networks. Now, we can try to fnd a good routng algorthm for ths type of network. 5.1.1 Classfcaton of Routng Algorthms We can classfy routng algorthms nto two major classes - nonadaptve and adaptve. Nonadaptve routng algorthms do not base ther routng decsons on measurements or estmates of the current traffc and topology. Instead, the choce of route s computed n advance. Every packet's transmsson s based on the paths whch are already set for t, no matter whether they are good routes or not. Sometmes we call ths procedure as statc routng. On the other hand, adaptve routng algorthms wll change ther routng decsons accordng to the changes of current traffc or topology. There are two major famles n ths feld - centralzed and dstrbuted algorthms [12]. For a centralzed algorthms, a global vew of the network exsts whch has all the

29 nformaton of the current networks to make route choce decsons to mprove the effcency of ths network. These knds of algorthms are very sutable for certan types of networks. However, t s mpossble to buld a network controller for ths wde-range MHSS network, we have to choose a dstrbuted algorthm. Unlke centralzed algorthms, dstrbuted algorthms choose ther routes based on the nformaton whch s avalable to them. For example, cellular phone communcatons always choose the nearest base staton to transmt the outgong messages. They never have to know any nformaton about ther destnatons. Ths characterstc of dstrbuted algorthms s what we try to fnd for the wde-range MHSS network n ths research. 5.1.2 Transmsson Delay and Shortest Path Routng Algorthms Frst, we defne a source to destnaton transmsson delay as two components - propagaton delays and nodal processng delays. In ths research, the delay of a repeater, puttng a packet to the tal of ts queue watng for retransmsson, s called nodal processng delay, whch usually takes several tmeslots. However, a propagaton delay s much smaller than a nodal delay, because t s shorter than one tmeslot. Therefore, we can gnore the propagaton delays here. Thus, the transmsson delay s the total nodal processng delays whch are proportonal to the total hops number of source to destnaton transmssons. There are two ways of descrbng the concept of shortest path. One way of measurng path length s the geographc dstance and the other s the number of hops. In order to mnmze the transmsson delay, several adaptve routng algorthms have been

30 evaluated ncludng shortest path [I 31, least-hop and least-hop-plus- 1 [ 141 etc.. The leasthop algorthm s chosen for defnng the shortest path routng algorthm to mnmze the transmsson delay. By usng ths algorthm, we can guarantee that packets are delvered to acheve the mnmal number of hops at any tme whch s based on the knowledge of nodes' routng tables at that tme. 5.2 Dstrbuted, Adaptve, Shortest Path Algorthm In ths research we choose the dstrbuted, adaptve, shortest path algorthm. The reasons for choosng ths algorthm are : 1. There s no way to have a central controller for a wde-range MHSS network n the real world. 2. Nonadaptve algorthms cannot handle the changes of topology. 3. Shortest path algorthm can mnmze the transmsson delay whch s one of the man purposes that any network tres to acheve. For all these reasons above, we use the dstrbuted, adaptve, shortest path algorthm for the network model. 5.3 The Adaptve Route Selecton If more than one shortest path neghbor exsts (the same mnmum hops), choose the neghbor wth lowest queue length. Ths tme, we propose the followng routng algorthm - "Each node selects as the next node n the path that neghbor whch has the shortest queue length of all those neghbors whch le along mnmum hop paths. Thus, ths algorthm does not devate from mnmum hop, but chooses ntellgently rather than randomly among the potental

31 next hops."[3] In order to avod congeston of the network, we choose ths adaptve algorthm. It can reduce the probablty of bottlenecks' occurrence. Subsequent expermental results wll show that ths smple approach yelds a sgnfcant mprovement over non-adaptve routng technques. 5.4 Routng n a CDMA Packet Rado Network \hen we plan to mplement ths routng algorthm nto CDMA packet rado network, we stll have to do somethng more to acheve a workable routng algorthm - detecton of lnk geness, detecton of lnk falure and use of acknowledgement for routng updates. They wll be ntroduced n the followng three sectons (5.4.1-5.4.3). 5.4.1 Detecton of Lnk Geness Under the dynamc topology of MHSS packet rado network, t s necessary to detect new lnks geness. The reason why we have to have a method for detectng new lnks can be easly explaned by usng the three-node network case (see fg 5.4-1). In fg 5.4-l(a), f node A wants to transmt a packet to node C, t needs to forward the packet to node B then to node C. After a whle, node C moves from poston x, to x, (as shown n fg 5.3-l(b)). From the global vew of ths three-node network, node A and node C become neghbors for each other. If we do not create a way for detectng the new lnk A-C and update ther routng tables, a packet from node A to node C stll has to pass node B. Ths behavor wll degrade the network performance snce t does not fnd the new shortest path for transmsson. The transmsson delay wll ncrease and the orgnal

3 2 routng tables wll become useless. There are several ways to solve ths problem. An obvous and smple soluton s for each node to perodcally broadcast a message ndcatng ts exstence. Here, we ntroduce a parameter Ps, the probablty of occurrence of a neghbor fndng solctaton slot, and t ndcates how often the solctaton slot wll occur. For nstance, f Ps s 0.01, the neghbor solctaton slot wll occur every 100 tmeslots. The actual Ps whch should be chosen s dependent upon the dynamcs of the network. (smulaton results are gven n chapter 7) Wth all nodes n tmeslot synchronzaton, every node broadcasts a solctaton message or lstens for a solctaton message at ths neghbor solctaton tmeslot. Each node transmts ths message wth probablty Pn, and lstens wth probablty (1-Pn), where Pn s determned as follows: Frst, let us defne Ph as the probablty that a node hears a solctaton message. Then. we can calculate Ph as: where k s the number of (actual) neghbors. In order to maxmze Ph, we can dfferentate the expresson (5-1) for Ph whch yelds For dfferent number of neghbors, each node has a dfferent transmsson probablty Pn.

33 Snce nodes wth fewer neghbors transmt more often, they have a greater chance of acqurng newr neghbors. Table 5.4-1 presents values of Pn and Ph for varous k. Table 5.4-1 Values of solctaton probablty and hearng probablty In ths paper, we provde three dfferent protocols for the detecton of new lnks - frst way lnk, second way lnk, and both way lnk protocols. They are descrbed as follows: Some smulaton results of these three protocols wll be shown n chapter 7.

3 5 5.4.1.1 Frst Way Lnk Protocol When a neghbor solctaton tmeslot occurs, each node whch transmts a solctaton message at ths tme wll nclude ts own routng nformaton nto ths solctaton message. Each node whch receves a solctaton message at ths tmeslot wll update ts own routng table mmedately. Snce ths protocol only bulds a one-way lnk accordng to the recepton of a solctaton message, we smply call t Frst Way Lnk Protocol. 5.4.1.2 Second Way Lnk Protocol Ths s a protocol to buld the two-way lnk. When a node receves a solctaton message, t does not update ts own routng table at ths tme. Ths node creates another packet whch ncludes ts routng table nformaton. Then, t puts ths specal packet to the head of ts own buffer and wats for the next transmsson. No matter whch node receves ths specal packet, ths node wll update ts own routng table. Ths guarantees to update routng table at the second way of a solctaton packet. Therefore, we smply call t Second Way Lnk Protocol. 5.4.1.3 Both Way Lnk Protocol When a node receves a solctaton message, t updates ts own routng table. Then, ths node generates a packet whch ncludes ts routng table nformaton, puts ths packet to the head of own buffer to wat for transmsson. No matter whch node receves ths specal packet, ths node wll update ts routng table. Ths method combnes the frst

36 way lnk and second way lnk protocols. Ths protocol can possbly update two routng tables for a sngle solctaton packet occurrence that s consdered to be better than the prevous two protocols under statc topology. Because Both Way Lnk Protocol updates routng tables frequently and gets more "fresh" nformaton for routng tables. Is t stll the best of these three protocols under dynamc topology? Some analyss of smulaton results for comparng these three protocols can be found n chapter 7. 5.4.2 Detecton of Lnk Falure After we know how to detect the new lnk geness, we have to know how to detect lnk falures. Otherwse, every node stll keeps the old nformaton n ts routng table. For example, n fg 5.4-3(a), node A and node B are neghbors for each other and node A can transmt a message drectly to node B. After node B moves from x, to x,, they are not neghbors anymore. If node A or node B does not know ths fact and they contnue to transmt messages to each other, ths behavor wll severely degrade the network performance. Ths wastes tme on the faled lnk. In a CDMA packet rado network, the detecton of lnk falure s a totally dfferent problem compared wth the detecton of lnk geness. Recallng that we use the dedcated channel acknowledgement protocol for ths research, f a node transmts a message and does not receve an acknowledgement at the next tmeslot, t wll put the message to the tal of ts buffer and let t retransmt later. It s a good dea that we contnue to check acknowledgements and create a method for detectng lnk falure. Here, we defne the lnk qualty, q, as a measure of recent performance of a lnk, and the lnk threshold, T, as the maxmum number of sequental

3 7 faled transmssons on a lnk whch cause t to be declared as faled. We then apply the test for each transmsson attempt on a lnk as follow(fg 5.4-2): BEGIN IF the transmsson s successfully acknowledged, THEN accept THE LINK IS GOOD and set q := T. ELSE decrement q by 1. IF q = 0 THEN accept THE LINK HAS FAILED and delete ths lnk from routng tables. ELSE END IF the hypothess s not accepted. END IF END Fgure 5.4-2 Detecton of lnk falure

38 Here another queston comes up: What s the proper value for T? If T s chosen to be large, then the rate of false-flushng wll be low, and flushng of faled lnks from the routng table wll also be slow. Thus, neffcent routng decsons wll be caused by the false routng nformaton. On the other hand, f T s small, then lnk falures wll be detected quckly, but many good lnks wll be erroneously flushed. The optmal value of T can be found from sequental smulatons. (Dll's work [3] suggests a range of 4<T<8 for 100 nodes models.) In ths paper, we only choose T = 4 or 8 to compare the dfferences.

Fgure 5.4-3 Example of detecton of lnk falure [bl

4 0 5.4.3 Use of Acknowledgement for Routng Updates In order to deal wth extremely dynamc topologes, we propose an effcent method to update routng tables - use of acknowledgement for routng updates. A tradtonal algorthm may spend a sgnfcant porton of tme and bandwdth to update routng tables. It stll can not handle the fast topologcal changes and the routng tables always have stale nformaton. Recallng n our dedcated channel acknowledgement protocol - we use a sngle bt for each acknowledgement whch consumes an entre tmeslot. Why don't we just use acknowledgements to convey our routng table nformaton? By dong t ths way, we do not pay any extra overhead and can contnuously have new routng table nformaton upon receved acknowledgements. We wll assume that each acknowledgement results n transfer of the acknowledgng node's entre routng table, and that the sendng node can thus update hs routng table based on the new acknowledgement receved. 5.5 The Routng Algorthm for Ths Research There are several components ncluded n ths algorthm: a) Recever drected CDMAITDMA. b) Use of dedcated code channel for acknowledgements. c) Use of acknowledgement transmssons for routng updates. d) Global routng dstrbuton based on mnmum hop.(see fg 5.5-1) e) Local routng adjustments based on queue length.(see fg 5.5-1) f) Neghbor solctaton on a common code for new lnk detecton.

g) Sequental hypothess test for lnk falure detecton. We have mplemented ths algorthm n the MHSS smulaton model, and detal results are presented n chapter 7.

DEST I ID/HOPS ROUTING TABLE FOR NODE D Fgure 5.5-1 Mnmum hop routng table wth alternatve routes shown. If node D has message for node H, t transmts ths message through node E. When node D has packet for node F, t has two choces, ether passng node C or E. It wll compare the queue length of C and E at that tme. Then, t forwards the packet to the node wth lower queue length.

CHAPTER 6 DESCRIPTION OF THE MHSS SIMULATIOlV MODEL (USING - OPNET) 6.1 Bref Introducton for OPNET OPNET s a smulaton tool developed by MIL 3, nc.. "Optmzed Network Engneerng Tools (OPNET) s a comprehensve engneerng system capable of smulatng large communcatons networks wth detaled protocol modelng and performance analyss. OPNET features nclude: graphcal specfcaton of models; a dynamc, event scheduled Smulaton Kernel; ntegrated data analyss tools; and herarchcal, object-based modelng. OPNET's herarchcal modelng structure accommodates specal problems such as dstrbuted algorthm development. OPNET delvers open system methodology and an advanced graphcal user nterface known as the MIL 3 User Interface [15]." We can smply descrbe OPNET as four dfferent level models - parameter, process, node and network models. After these four models are establshed and corrected, we can start to smulate what we want. It provdes many ways of communcaton - bus, rado, satellte. It s a powerful and general purpose tool. Every node shares the same process level model n one program. The only dfference among them s the system-d (refer to node-d n the program). Every node has a dfferent dentfcaton number. Therefore, nstead of wrtng a process for each node, we only wrte a sngle process whch can be shared n a smulaton network.

44 6.2 Parameter Level Model We set the packet formats n ths level. In ths research, data transmssons, routng updates, acknowledgements and neghbor solctatons are set to the dentcal message structures. Therefore, we just set a packet format for all of them. Ths format ncludes 8 bts destnaton address, 8 bts neghbor address, 8 bts queue length data, 8 bts sender address and 608 bts message. 6.3 Process Level Model Ths level s the most mportant part of the programs. It can be summarzed as fve dfferent portons - header block, state varables, temporary varables, functon block and states. The header block s a place that we use to nclude the C bult-n functons, defne the states flow condtons (TX-PKT, SLOT-TIME etc. as shown n fgure 6.3-I), defne the global varables and set the parameters (lnk qualty, node number etc.) for programs. The state varables and temporary varables portons are the places to store the state varables and temporary varables ndvdually. The functon block s lke a feld for storng functons and subroutnes, where we wrte the UPDATE-ROUTING-TABLE subroutne, set the dedcated code channel spreadng codes and program some other functons. The states are the process states where we wrte the man program. Each state can be two dfferent knds of status - forced or unforced status. Forced states are drawn wth dark tops and bottoms; other states are unforced. Each state can be dvded nto three portons - enter, dle and ext (as shown n fg 6.3-2). Whle a state s at forced status, the program executes from enter to ext wthout stoppng. On

45 the other hand, the program executes and stops at dle porton for unforced status. By usng ths characterstc, the program ncludes 11 states whch are descrbed as follows. A more detaled program can be seen n the Appendx.

I Fgure 6.3-1 MHSS smulaton model OPNET process state dagram. I

Fgure 6.3-2 The OPNET state three portons dagram.

48 6.3.1 Intal State (nt) Ths state can only be executed once for a program runnng. We use t as forced status whch means there s no stop from enter porton to ext porton. Here we set the object dentfcatons, get the node-d and unform dstrbuton varable, ntal routng tables and global vew connectvty array, set several startng values for state varables, open a fle for output data, and set the subqueue to empty. 6.3.2 Idle State (dle) Ths s an unforced state. At ths state, only for the synchronzaton purpose, the program stops here and wats for the next nterrupt. Therefore, f a node receves a packet at a partcular tmeslot, we can guarantee that ths packet has been transmtted at the same tmeslot. 6.3.3 Man State (man) Ths s a forced state. To save memory, we wrte a bref program to control the generator's packet arrval rate (t can be called an adaptve arrval rate). Here, we set some counters, get each node's poston from the smulaton topology, determne the global vew of connectvty by searchng each node's elgble neghbors, compare between routng table array and global vew table array then determne the routng table error rate, and put result data nto a output fle.

4 9 6.3.4 Transmt Packet State (txgkt) It s a forced state whch transmts the packets accordng to the routng table and chooses the shortest path for transmsson. Another task we do here s to check whether a neghbor solctaton packet comes n or not. If yes, the program removes ths packet to the head of the buffer (only for Second Way Lnk and Both Way Lnk Protocols cases). Further, we calculate the transmt faled packets due to the defcency of routng table nformaton. 6.3.5 Receve Packet State (rxgkt) Ths s an unforced state where the program wll execute the enter porton then stop at the dle porton of ths state. When an nterrupt comes n, the program wll contnue to run the ext porton. For the correct recepton purpose, there s a 0.5 smulaton tme delay at the enter porton. Whle at the ext executon porton, ths state gets the ncomng packet and checks t. After that, t does the proper procedure for ths packet - f a packet arrves at ts destnaton, counts and destroys t. Otherwse, If a packet arrves at the repeater, ths repeater puts the packet nto the tal of ts buffer. If ths packet s a neghbor solctaton packet, ths node updates ts routng table. (except for the Second Way Lnk Protocol) 6.3.6 Transmt Acknowledgement State (tx-ack) The transmt acknowledgement state s a forced state whch takes care of the transmsson of acknowledgements. There s a condton for enterng ths state defned

50 n header block. There are several jobs done n ths state - creatng an acknowledgement format, settng some parameters, settng the spreadng code (dedcated code channel for acknowledgement whch has an offset of 500 more than the spreadng code of packet transmsson) and updatng the queue length. The queue length updates are for the purpose of choosng the shortest queue length (as descrbed n 5.3). At the ext porton of ths state, I smply reset a varable then go back to the man state. 6.3.7 Receve Acknowledgement State (rx-ack) It s an unforced state whose enter porton s a delay for correct recepton of acknowledgement. Its ext porton does several jobs - when a program ponts to here, t checks whether an acknowledgement comes n or not. If yes, a node updates ts own table then destroys the copy of the orgnal packet. Otherwse, t sends ths copy to the tal of the buffer for retransmsson (for preventng repeated collson purpose, see 4.3). Then t decreases the lnk qualty. If ths qualty equals to zero, t flushes ths lnk (as descrbed n 5.4.2). 6.3.8 Neghbor Detectng State (negdet) Ths s a forced state for dealng wth the neghbor fndng jobs. Accordng to Ps, every node enters ths state at the same tme of every 1IPs tmeslots. After enterng ths state, each node calculates ts own solctaton probablty (see 5.4.1). After that, every node runs a unform dstrbuton number between 0 and 1 then decdes to enter routng table transmt state or routng table receve state. At the ext porton of ths state, every

node dsables ts own spreadng code. Hence, the whole network wll work lke a broadcast system network. 5 1 6.3.8.1 Routng Table Transmt State (route-tx) It s a forced state whch creates a neghbor solctaton packet format (the same as CDMAgkt). After settng some proper parameters, node broadcasts ths packet to the whole network and sets the queue lengths. 6.3.8.2 Routng Table Receve State (route-rx) If a node receves a solctaton packet at ths state, t wll update ts own routng table then change parameters of ths packet and send t to the head of the buffer (as descrbed n 5.4.12). Ths s an unforced state. 6.3.9 Combnaton State (cnm) Ths s a forced state whch s desgned only for the use of solctaton tmeslots. At the end of each solctaton tmeslot, ths state resets every node's spreadng code to normal (dsables the broadcast untl the next solctaton tmeslot comes). 6.4 Node Level Models OPNET provdes a lot of useful bult-n models at ths level. For desgnng the models wthn each node, we choose a generator (scr), a queue (buffer), a processor (manproc), a rado transmtter (r- txqkt), a rado recever (r- mqkt), and an antenna