* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download chapter1
Distributed operating system wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Power over Ethernet wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Network tap wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Airborne Networking wikipedia , lookup
Automated airport weather station wikipedia , lookup
1 CHAPTER1 WIRELESS SENSOR NETWORKS 1.1. INTRODUCTION The concept of sensing physical phenomena has been inspired from biological living creatures. Sensors have been in existence for few decades now and are being used in everyday life. Like any sentient organism, the smart environment relies first and fore most on sensory data from the real world. The study of wireless sensor networks is challenging in that it requires an enormous breadth of knowledge from an enormous variety of disciplines. In this chapter outline communication networks, wireless sensor networks and smart sensors, physical transduction principles, commercially available wireless sensor systems, self-organization, signal processing and decision-making, and finally some concepts for home automation. The design issues in[1] wireless sensor network are the following Fault tolerance. Scalability. Production costs. Operating environment. Sensor network topology. Hardware constraints. Transmission media. Power consumption. 2 Power consumption is the most important design issues in the wireless sensor networks. The power consumption of each node in an wireless sensor network can be divided according to functionality into: (i) the power utilized for the transmission of a message; (ii) the power utilized for the reception of a message; and (iii) the power utilized while the system is idle. This suggests two complementary levels at which power consumption can be optimized: (i) minimizing power consumption during the idle time and (ii) minimizing power consumption during communication. The architecture of Wireless sensor networks is given below Fig 1.1 Architecture of WSN 3 1.2. CHARACTERISTICS Unique characteristics of a WSN are: Small-scale sensor nodes Limited power they can harvest or store Harsh environmental conditions Node failures Mobility of nodes Dynamic network topology Communication failures Heterogeneity of nodes Large scale of deployment Unattended operation 4 1.3. APPLICATIONS The applications for WSNs are many and varied. They are used in commercial and Industrial applications to monitor data that would be difficult or expensive to monitor remain for many years (monitoring some environmental variables) without the need to recharge/replace their power supplies. They could form a perimeter about a property and monitor the progression of intruders (passing information from one node to the next). Typical applications of WSNs include monitoring, tracking, and controlling. Some of the specific applications are habitat monitoring, object tracking, nuclear reactor controlling, fire detection, traffic monitoring, etc. In a typical application, a WSN is scattered in a region where it is meant to collect data through its sensor nodes. Environmental monitoring. Habitat monitoring. Acoustic detection. Military surveillance. Medical monitoring. Smart spaces. Process Monitoring. Structural health monitoring. Health Monitoring. 5 CHAPTER2 ABOUT SENSOR NODE A general definition of a sensor is “a device that produces measurable response to a change in a physical or chemical condition” [2]. More specifically, a sensor is "a device that responds to a stimulus, such as heat, light, or pressure, and generates a signal that can be measured or interpreted". The Sensor Network community often (but not always) defines a sensor node as a small, wireless device, capable of responding to one or several stimuli, processing the data and transmitting the information over a short distance using a radio link. Sensor nodes employ electronic circuits that minimize power consumption [1]. Typically sensors are thought of as measuring light, sound and temperature. However, sensors can measure other variables, such as electromagnetic fields or vibrations . Sensor transmit values wirelessly to one or several sinks [1]. A Sensor Network is a wireless, ad hoc network, made of a large number (hundreds or thousands) of nodes, whose positions occur randomly. The OSI model and the classic layered view of communication networks may or may not apply directly to sensor networks. Other models of sensor network communications include a protocol stack model that includes physical, medium access control, network, transport and application layers as well as power management, mobility management and task management planes [1]However, no model is used universally. 6 2.1. SENSOR NODE A sensor node, also known as a mote (chiefly in North America), is a node in a wireless Sensor network that is capable of performing some processing, gathering sensory information and communicating with other connected nodes in the network. The typical architecture of the sensor node is shown in figure 2.1 Fig-2.1 Components of a Sensor Node The main components of a sensor node as seen from the figure2.1 are microcontroller, transceiver, external memory, power source and one or more sensors. 7 2.2. COMPONENTS OF A SENSOR NODE 2.2.1. Microcontroller Microcontroller performs tasks, processes data and controls the functionality of other components in the sensor node. Other alternatives that can be used as a controller are: General purpose desktop microprocessor, Digital signal processors, Field Programmable Gate Array (FPGA) and Application-specific integrated circuit (ASIC). Microcontrollers are most suitable choice for sensor node. Each of the four choices has their own advantages and disadvantages. Microcontrollers are the best choices for embedded systems. Because of their flexibility to connect to other devices, programmable, power consumption is less, as these devices can go to sleep state and part of controller can be active. In general purpose microprocessor the power consumption is more than the micro controller; therefore it is not a suitable choice for sensor node. Digital Signal Processors are appropriate for broadband wireless communication. But in Wireless Sensor Networks, the wireless communication should be modest i.e., simpler, easier to process modulation and signal processing tasks of actual sensing of data is less complicated. Therefore the advantages of DSP’s are not that much of importance to wireless sensor node. Field Programmable Gate Arrays can be reprogrammed and reconfigured according to requirements, but it takes time and energy. Therefore FPGA's is not advisable. Application Specific Integrated Circuits are specialized processors designed for a given application. ASIC's provided 8 the functionality in the form of hardware, but microcontrollers provide it through software. 2.2.2. Transceiver Sensor nodes make use of ISM band which gives free radio, huge spectrum allocation and global availability. The various choices of wireless transmission media are radiofrequency, Optical communication (Laser) and Infrared. Laser requires less energy, but needs line of sight for communication and also sensitive to atmospheric conditions. Infra red like laser, needs no antenna but is limited in its broadcasting capacity. Radio Frequency (RF) based communication is the most relevant that fits to most of the WSN applications. WSN’s use the communication frequencies between about 433 MHz and 2.4 GHz. The functionality of both transmitter and receiver are combined into a single device know as transceivers are used in sensor nodes. Transceivers lack unique identifier. The operational states are Transmit, Receive, Idle and Sleep. Current generation radios have a built-in state machine that performs this operation automatically. Radios used in transceivers operate in four different modes: Transmit Receive, Idle, and Sleep. Radios operating in Idle mode results in power consumption, almost equal to power consumed in Receive mode. Thus it is better to completely shutdown the radios rather than in the Idle mode when it is not Transmitting or Receiving. And also significant amount of power is consumed when switching from Sleep mode to Transmit mode to transmit a packet. 9 2.2.3. External Memory From an energy perspective, the most relevant kinds of memory are onchip memory of a microcontroller and FLASH memory - off-chip RAM is rarely if ever used. Flash memories are used due to its cost and storage capacity. Memory requirements are very much application dependent. Two categories of memory based on the purpose of storage (User memory used for storing application related or personal data) Program memory used for programming the device. This memory also contains identification data of the device if any. 2.2.4. Power Source Power consumption in the sensor node is for the Sensing, Communication and Data Processing. More energy is required for data communication in sensor node. Energy expenditure is less for sensing and data processing. The energy cost of transmitting 1 Kibitz a distance of 100 m is approximately the same as that for the executing 3 million instructions by 100 million instructions per second/W processor. Power is stored either in Batteries or Capacitors. Batteries are the main source of power supply for sensor nodes. Namely two types of batteries used are chargeable and nonrechargeable. They are also cadmium, NiZn(nickel-zinc), Nimh (nickel metal hydride), and Lithium-Ion. Current sensors are developed which are able to renew their energy from solar or vibration energy. Two major power saving policies used are Dynamic Power Management (DPM) and Dynamic Voltage Scaling (DVS). 10 2.2.5. Sensors Sensors are hardware devices that produce measurable response to a change in a physical condition like temperature and pressure. Sensors sense or measure physical data of the area to be monitored. The continual analog signal sensed by the sensors is digitized by Analog-to-Digital converter and sent to controllers for further processing. Characteristics and requirements of Sensor node should be small size, consume extremely low energy, operate in high volumetric densities, are autonomous and operate unattended, and be adaptive to the environment. As wireless sensor nodes are micro-electronic sensor device, can only be equipped with a limited power source of less than 0.5 Ah and 1.2 V. Sensors are classified into three categories. Passive, Omni Directional Sensors: Passive sensors sense the data without actually manipulating the environment by active probing. They are self powered i.e., energy is needed only to amplify their analog signal. There is no notion of “direction” involved in these measurements. Passive, narrow-beam sensors: These sensors are passive but they have well-defined notion of direction of measurement. Typical example is ‘camera’. Active Sensors: These groups of sensors actively probe the environment, for example, a sonar or radar sensor or some type of seismic sensor, which generate shock waves by small explosions. The overall theoretical work on WSN’s considers Passive, Omni directional sensors each sensor node has a certain area of coverage for which it can 11 reliably and accurately report the particular quantity that it is observing. Several sources of power consumption in sensors are Signal sampling and conversion of physical signals to electrical ones, Signal conditioning. 12 CHAPTER3 EXISTING SYSTEM The max–min zPmin algorithm requires information about the power level of each computer in the network. Having accurate knowledge of this information is not a problem in small networks. However, for large networks it is difficult to aggregate and maintain this information. This makes it hard to implement the max–min zPmin algorithm for large networks. Another online algorithm called zone-based routing [3] that relies on max–min zPmin and is scalable. The experiments show that the performance of zone-based routing is very close to the performance of max– min zPmin with respect to optimizing the lifetime of the network. Zone-based routing is a hierarchical approach in which the area covered by the (sensor) network is divided into a small number of zones. Each zone has many nodes and thus there is a lot of redundancy in routing a message through it. To send a message across the entire area we find a ‘global’ path from zone to zone and give each zone control over how to route the message within itself. Thus, zone-based power-aware routing consists of (i) an algorithm for estimating the power level of each zone; (ii) an algorithm for computing a path for each message across zones; and (iii) an algorithm for computing the best path for the message within each zone (with respect to the power lifetime of the zone). 13 To improve the scalability of routing algorithms for large networks, many hierarchical routing methods are proposed. These zones, which are the route maintenance units, are used to find the routes. This work focused on how to find the correct route efficiently, but did not consider optimizing power while sending messages. These above said algorithms are useful only if the nodes are in thousands. But the proposed swarm intelligent technique is used where the nodes are in some millions. 14 CHAPTER 4 PROPOSED SYSTEM 4.1 About Swarm Intelligence 4.1.1 Swarms and Emergence Swarm Intelligence (SI) [4] is an artificial intelligence technique based around on the study of collective behavior in decentralized, self-organized systems. The expression "swarm intelligence" was introduced by Beni & Wang in 1989, in the context of cellular robotic systems. SI systems are typically made up of a population of simple agents interacting locally with one another and also with their environment. Usually there is no centralized control structure dictating how the individual agents should behave, but local interactions between such agents often lead to the emergence of a global behavior. Examples of systems like this can be found in nature, including ant colonies, bird flocking, bee swarming, animal herding, bacteria molding and fish schooling. 4.1.2 Swarm Intelligence as an optimization method Two of the most successful swarm intelligence techniques [5] currently in existence are Ant Colony Optimization (ACO) and Particle Swarm Optimization (PSO). ACO is a meta-heuristic optimization algorithm that can be used to find approximate solutions to difficult combinatorial optimization problems. In ACO artificial ants build solutions by moving on the problem graph and they, mimicking real ants, 15 deposit artificial pheromone on the graph in such a way that future artificial ants can build better solutions. ACO has been applied successfully to an impressive number of optimization problems. PSO is a global minimization technique for dealing with problems in which a best solution can be represented as a point or surface in an n-dimensional space. Fig 4.1 Swarm technique 4.1.3 Use of Ant Colony Optimization technique ACO is the primary optimization algorithm being used here [5]. The reason behind choosing ACO is its distributed nature and inherent randomness. The algorithm used for optimization is a purely distributed algorithm. This holds serious implications for WSN. Since in a WSN the nodes are constrained by power, storage and processing power limitations, a purely distributed algorithm like ACO prevents per node computation load, reduces state information to be stored per node. The randomness built in the algorithm prevents convergence to local maxima/minima but has a tendency to search for global optimization of parameters. 16 4.2 ALGORITHM: 4.2.1 POWER ANT DESCRIPTION: Initially each node will initiate ants to discover the network. An Ant is a packet constructed and sent by one of the nodes trying to gather information about the conditions of nodes in the network in its forward journey, refer to figure 4.2 for the structure of an ant. Fig 4.2 Format of forward ant A power metric is embedded in the routing information. Ants gather information about the power residuals of the nodes that they visit; such information is used to update the routing table of the sending node so that it can be used to [6] judge better routes based on the power residuals and delay experienced. Data pieces gathered about delay and power are stored in the pheromone table, which has values computed based on the power and delay experienced by the packets in the receiving intermediate nodes. The pheromone table contains a measure of desirability for the packets heading towards a certain destination follow a certain path based on the values collected by the previous ants. Such values are considered the pheromone that will be followed by packets in order to reach a destination. These values or pheromone are computed based on the power and the delays that were observed by the forward collecting ants. 17 The information collected by the ants is used to update the pheromone table entries after receiving a backward ant. After updating the pheromone table using a backward ant the routing table (the destination list) is built in order to be used for data routing. A forward ant sent by a node reaches only nodes that are in the transmission range and on. Therefore, nodes that are out of the range or are shutdown do not receive the forward ant. A backward ant follows its way back to the source that initiated it. If a node lying on the path between the source and the destination of the ant moved out of the communication range or was shutdown, the backward ant is dropped and processing for the ant is stopped. Otherwise, the ant is forwarded for the next hop . 18 4.2.2PROCESSING OF ANTS: PROCESSING OF FORWARD ANTS: The processing of the ants Fig 4.3 Flow chart showing initiation of forward ant 19 PHEROMONE TABLE: Pheromone (Hormone) is a chemical produced by the organisms to attract the other organisms in the same family in order to follow the former one. The pheromone table is a two dimensional array of a maximum size (N-1) * (N-1), where N is the number of the nodes in the WSN. Every node in the network has a pheromone table that records information about the state of the nodes in the network. 20 PROCESSING OF BACKWARD ANTS: After the ant reaches the requested destination it is converted to a backward ant. The forward bit of the packet is set to “0” then the packet is unicasted to the node where it came from to the destination. At each intermediate node on the way back, the backward ant is used to update the pheromone table. When a backward ant arrives at node it is processed in the following steps. 1- An entry is popped from the stack. Then this entry is used to update the pheromone table. 2- An entry in the pheromone table is updated as follows Pheromone[D][I].PheromoneValue The entry describes the desirability of the packets sent to destination D to be forwarded through the intermediate node I. The value of the entry is a function that is directly related with power and inversely related to delay. The value of the "PhermoneValue" computed for an entry satisfies the relation 0 ≤ Pheromone[D][I].PheromoneValue ≤ 1 where D≠I For entries where D=I, the entry is never used and is disabled. This means that there is a direct channel between the source and the destination that can be used without the need to cross intermediate nodes. 3-The ant is sent as a unicast through the reverse path of the forward ant. 4- Steps 1 through 3 are repeated until the backward ant reaches the source requesting the route. The backward ant is repeatedly forwarded by the intermediate nodes as a unicast following the reverse path from the destination D, until it reaches the source S. 21 5- If the source S or one of the intermediate nodes has moved or shutdown the ant is immediately dropped and processing stops. This swarm provides us with values of the a. Number of hops b. Congestion window c. Round trip time. These above said values are given as input to the fuzzifier block in fuzzy control logic. 4.3 FUZZY CONTROL LOGIC: Fuzzification Fuzzification is defined as the mapping from a real-valued point to a fuzzy set [7]. The FLC system in this paper receives other robots’ information as the inputs of the FLC and the fuzzification module converts inputs into fuzzy linguistic variable inputs. Fig 4.4 Fuzzy logic controller Fuzzy inference engine. Fuzzy inference engine is used to generate fuzzy outputs by evaluating the fuzzy rules with the fuzzy inputs. The fuzzy rules may use an expert’s experience and control knowledge. These fuzzy rules are described in IFTHEN form and use the above linguistic variable.The fuzzy inference 22 engine need convert the input information into robot’s next movement direction. P-Battery power E-Events detected in the region. Delay query-delaying query from BS to event region. Decrease nodes-putting nodes to sleep. P E d_q D_n Low High High Zero High High Low Zero Low Low Medium Zero High Low Zero High Table 4.1 Fuzzy Rules Defuzzification. The output of the fuzzy inference engine is a fuzzy set. FLC module, the center of gravity method is used to get a crisp output to control the robot’s next moving direction. The robot’s swarm behavior controller uses other robots current location to find out all expansion cells the robot has and uses the moving direction generated by the FLC to define the expansion cell located on the path of the moving direction as the robot’s optimal deployment location. Our simulation explains the result of the power aware routing with the help of power metrics [8] combined with the existing system. 23 CHAPTER5 IMPLEMENTATION ASPECTS 5.1. SYSTEM REQUIEMENTS 1. Hardware Configuration Intel Pentium IV processor 256 MBRAM 512 Kb cache 40 GB hard disk 3.5”floppy drive 17”SVGA monitor VGA CARD TVS 104 internet keyboard Logitech mouse 2. Software Configuration Linux Ns-2.29 5.2. OVERVIEW OF NS-2 SIMULATION TEST BED NS-2 is n event driven packet level network simulator developed as a part of the VINT project (Virtual Internet Test bed).Version 1 of NS was developed in 1995 and with version 2 in 1996. Version 2 included a scripting language called Object oriented Tel (OTcl).It is an open source software package available for both Windows 32 and Linux platforms. NS-2 has many and expanding uses included. 24 To evaluate that performance of existing network protocols To evaluate new network protocols before use. To run large scale experiments not possible in real experiments To simulate a variety of ip networks. 5.2.1 Characteristics of NS-2 NS-2 implementation the following features Multicasting Simulation of wireless networks Terrestrial (cellular, Adhoc, GPRS, WLAN, BLUETOOTH), satellite IEEE 802.11 can be simulated, Mobile IP and Ad hoc protocols such as DSR, TORA, DSDV and ADOV Routing 5.2.2 Software Tools used with NS-2 In the simulation, there are the two tools are used. NAM(Network Animator) XGraph 25 5.2.2.1. NAM (Network Animator) NAM provides a visual interpretation of the network topology created. The application was developed as part of the VINT project. Its feature is as follows. Provides a visual interpretation of the network created Can be executed directly from a Tcl script Controls include play; stop fast forward, rewind, pause, a display speed controller button and a packet monitor facility. Presented information such as throughput, number packets on each link 5.2.2.2 X Graph XGraph is an X-Window application that includes: Interactive plotting and graphing Animated and derivatives To use XGraph in NS-2 the executable can be called within a TCL script. This will then load a graph displaying the information visually displaying the information of the file produced from the simulation. The output is a graph of size 800 x 400 displaying information on the traffic flow and time. 26 5. 3. SOFTWARE PROFILE: 5.3.1. Tcl/TK Tcl quickly gained wide acceptance on its own and is generally thought to be easy to learn, but powerful in competent hands. It is most commonly used for rapid prototyping, scripted applications, GUIs and testing. Tcl is used extensively on embedded systems platforms, both in its full form and in several other small-foot printed versions. Tcl is also used for CGI scripting and as the scripting language for eggdrop bots. Tcl was originally developed as a reusable command language for experimental computer aided design (CAD) tools. The interpreter was implemented as a C library that could be linked into any application. It is very easy to add new functions to the Tcl interpreter, so it is an ideal reusable "macro language" that can be integrated into many applications. Tcl programs are usually called "scripts" because the programs do not need to be compiled into a binary form before running them, but nowadays the interpreter internally compiles procedure bodies the first time they are called, so Tcl does not suffer from the performance penalty associated with traditional interpreters. Tcl does however still enjoy the advantage of being a dynamic language, where for example commands can be created, redefined, and destroyed at execution time. Event-driven interface to sockets and files. Time based and user defined events are also possible. Flexible scope, with variable visibility 27 restricted to lexical (static) scope by default, but up level and upvar allowing procs to interact with the enclosing functions scopes. Simple exception handling using exception code returned by all command executions. All commands defined by Tcl itself generate informative error messages on incorrect usage. Readily extensible, via C, C++, Java, and Tcl. Interpreted language using bytecode for improved speed whilst maintaining dynamic modifiability Full Unicode (3.1) support, first released 1999. Platform independent: Win32, UNIX, Linux, Mac, etc. Close integration with windowing (GUI) interface Tk. Easy to maintain code. Tcl scripts are often more compact and readable than functionally equivalent code in other languages. Can be used for many purposes, and in many environments: as a text-only scripted language, as a GUI-capable language for applications, as an embedded language in: web pages (server-side; or client-side, as Tclets), and databases (server-side, in PostgreSQL). Exists as development version (e. g. Active State Tcl), as tclkit (kind of runtime version, only about 1 megabyte in size), as starpack (single-file executable of a script/program), as BSD licensed freely distributable source . Tcl did not originally support object oriented syntax, being a functional language, but recent versions do support extensions which provide OO functionality, such as the XOTcl extension to Tcl. Other OO extensions also exist, such as incr Tcl, Snit, and (simple tcl-only objectoriented programming). Functional programming can easily be done in Tcl, as higher-order functions or functional abstractions are built into the language, though it is not widely used for this purpose. 28 29 REFERENCES: 1) I.F. Akyildiz, W. Su,Y. Sankarasubramaniam and E. Cayirci. "A Survey on Sensor Networks", IEEE Communications Magazine, August 2002. 2) J. Kabara, Class notes from TELECOM 2721, Wireless Data Networks. Lecture number 5, June 2005. 3) Javed Aslam, Qun Li, and Daniela Rus ,Three power-aware routing algorithms for sensor networks, Department of Computer Science wireless communications and mobile computing.2003 4) Swarm Intelligence: From Natural to Artificial Systems (Santa Fe Institute Studies on the Sciences of Complexity) 5) Internet Resource: Ant Colony Optimization and Swarm Intelligence: 4th International Workshop, ANTS 2004, Brussels, Belgium, September 5-8, 2004, Proceeding 6) Swarm Congestion & Power Aware Routing Protocol for MANETs Ahmed S. Nagy, Amr A. El-Kadi, Senior Member, IEEE, and Mikhail N. Communication Networks and Services Research Conference © 2008 IEEE 7) E. Cox. The Fuzzy Systems Handbook, Second edition, 1998 8) International Journal of Computers and Applications, power-aware metrics for wireless sensor network A. Salhieh and L. Schwiebert Vol. 26, No. 4, 2004 30