Vous êtes sur la page 1sur 19

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

1. INTRODUCTION
1.1INTRODUCTION
A wireless sensor network (WSN) consists of sensor nodes (SNs) with wireless communication capabilities for specific sensing tasks. Due to the limited available resources, efficient design of localized multihop routing protocols becomes a crucial subject within the WSNs. How to guarantee delivery of packets is considered an Important issue for the localized routing algorithms. The well-known greedy forwarding (GF) algorithm is considered a superior scheme with its low routing overheads. However, the void problem, which makes the GF technique unable to find its next closer hop to the destination, will cause the GF algorithm failing to guarantee the delivery of data packets. Several routing algorithms are proposed to either resolve or reduce the void problem, which can be classified into non-graph-based and graph-based schemes. In the non graph- based algorithms the intuitive schemes as proposed in construct a two-hop neighbor table for implementing the GF algorithm. The network flooding mechanism is adopted Within the GRA and PSR schemes while the void problem occurs. There also exist routing protocols that adopt the backtracking method at the occurrence of the network holes . The routing schemes as proposed by ARP and LFR memorize the routing path after the void problem takes Place. Moreover, other routing protocols propagate and update the information of the observed void node in order to reduce the probability of encountering the void problem. By exploiting these routing algorithms, however, the void problem can only be either 1) Partially alleviated or 2) Resolved with considerable routing overheads and significant converging time. On the other hand, there are research works on the design of graph-based routing algorithms to deal with the void problem.

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

GREEDY ANTI-VOID ROUTING (GAR) PROTOCOL


The objective of the GAR protocol is to resolve the void problem such that the packet delivery from NS to ND can be guaranteed. Before diving into the detail formulation of the proposed GAR algorithm, an introductory example is described in order to facilitate the understanding of the GAR protocol. The data packets initiated from the source node NS to the destination node ND will arrive in NV based on the GF algorithm. The void problem occurs asNV receives the packets, which leads to the adoption of the RUT scheme as the forwarding strategy of the GAR protocol. A circle is formed by centering at sV with its radius being equal to half of the transmission range R=2. The circle is hinged at NV and starts to conduct counterclockwise rolling until an SN has been encountered by the boundary of the circle, i.e., NA. Consequently, the data packets in NV will be forwarded to the encountered node NA.

Subsequently, a new equal-sized circle will be formed, which is centered at sA and hinged at node NA. The counterclockwise rolling procedure will be proceeded in order to select the next hop node, i.e., NB in this case. Similarly, same process will be performed by other intermediate nodes (such as NB and NX) until the node NY is reached, which is considered to have a smaller distance to ND than that of NV to ND. The conventional GF scheme will be resumed at NY for delivering data packets to the destination node ND. As a consequence, the resulting path by adopting the GAR protocol.

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

Fig 1.1.1 Greedy anti-void routing (gar) protocol implementation

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

Proposed Rolling-Ball UDG Boundary Traversal (RUT) Scheme


The RUT scheme is adopted to solve the boundary finding problem, and the combination of the GF and the RUT scheme (i.e., the GAR protocol) can resolve the void problem, leading to the guaranteed packet delivery. The definition of boundary and the problem statement are described as follows:

Definition If there exists a set B _ N such that 1) the nodes in B form a simple unidirectional
ring and 2) the nodes located on and inside the ring are disconnected with those outside of the ring, B is denoted as the boundary set and the unidirectional ring is called a boundary.

Fig 1.1.2 The proposed RUT scheme.

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

Partial UDG Construction (PUC) Mechanism


The PUC mechanism is targeted to recover the UDG linkage of the boundary node Ni within a non-UDG network. The boundary nodes within the proposed GAR protocol are defined as the SNs that are utilized to handle the packet delivery after encountering the void problem. As shown in Fig. 6, node Ni is considered a boundary node since the converged SP arc segment exists after Ni conducts the proposed IMS algorithm by the input of the current one-hop neighbors fN1;N2;N3;N4;Njg. It is noted that the boundary nodes consist of a portion of the network SNs. Therefore, conducting the PUC mechanism only by the boundary nodes can conserve network resources than most of the existing flooding-based schemes that require information from all the network nodes.

Hop Count Reduction (HCR) Mechanism


Based on the rolling-ball traversal within the RUT scheme, the selected next-hop nodes may not be optimal by considering the minimal HC criterion. Excessive routing delay associated with power consumption can occur if additional hop nodes are traversed by adopting the RUT scheme.The void node NV starts the RUT scheme by selecting N1 as its next hop node with the HCR and the IN mechanisms counterclockwise rolling direction, while N2 and N3 are continuously chosen as the next hop nodes. Considering the case that N3 is located within the same transmission range of N1, it is apparently to observe that the packets can directly be transmitted from N1 to N3. Excessive communication waste can be preserved without conducting the rerouting process to N2

Intersection Navigation (IN) Mechanism


The IN mechanism is utilized to determine the rolling direction in the RUT scheme while the void problem occurs. It is noticed that the selection of rolling direction (i.e., either counterclockwise or clockwise) does not influence the correctness of the proposed RUT scheme to solve Problem 2, as in Theorem 1. However, the routing efficiency may be severely degraded if a comparably longer routing path is selected at the occurrence of a void node. The primary benefit of the IN scheme is to choose a feasible rolling direction while a void node is encountered.
5

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

1.2 Literature
We present platypus, an authenticated source routing system routing system built around the concept of network capabilities, which allow for accountable, fine-grained path selected by cryptographically attesting to policy compliance at each hop along a source route. Platypus policy framework that can be used to address several issues in wide-area routing at both the edge and the core, and evaluate its performance and security. Our result shows that incremental deployment of platypus can achieve immediate gains.

C#
Language used mostly at the client levels which have the capability of creating dynamic wed pages. The essential need of VBScript is due to the following requirements. 1. User interaction 2. Data validation 3. Client side utility

FEATURES
i. ii. iii. iv. v. vi. Interpreted language Object oriented support Provides procedural capabilities Work on event driven model Embedded within ML format Works on Document Object Model

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

ELEMENT OF C#
i. ii. iii. iv. v. vi. vii. viii. ix. x. Variable Arrays Control statements Functions Objects Events Delegation Properties Interface Exceptions

Client Application Development


Client applications are the closest to a traditional style of application in Windowsbased programming. These are the types of applications that display windows or forms on the desktop, enabling a user to perform a task. Client applications include applications such as word processors and spreadsheets, as well as custom business applications such as data-entry tools, reporting tools, and so on. Client applications usually employ windows, menus, buttons, and other GUI elements, and they likely access local resources such as the file system and peripherals such as printers. Another kind of client application is the traditional ActiveX control (now replaced by the managed Windows Forms control) deployed over the Internet as a Web page. This application is much like other client applications: it is executed natively, has access to local resources, and includes graphical elements. In the past, developers created such applications using C/C++ in conjunction with the Microsoft Foundation Classes (MFC) or with a rapid application development (RAD) environment such as Microsoft Visual Basic. The .NET Framework incorporates aspects of these existing products into a single, consistent development environment that drastically simplifies the development of client applications.
7

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

The Windows Forms classes contained in the .NET Framework are designed to be used for GUI development. You can easily create command windows, buttons, menus, toolbars, and other screen elements with the flexibility necessary to accommodate shifting business needs. For example, the .NET Framework provides simple properties to adjust visual attributes associated with forms. In some cases the underlying operating system does not support changing these attributes directly, and in these cases the .NET Framework automatically recreates the forms. This is one of many ways in which the .NET Framework integrates the developer interface, making coding simpler and more consistent.

Microsoft.NET Framework

The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The .NET Framework is designed to fulfill the following objectives:

FEATURES Interoperability
Because computer systems commonly require interaction between new and older applications, the .NET Framework provides means to access functionality that is implemented in programs that execute outside the .NET environment. Access to com components is provided in the System.Runtime.InteropServices and System.EnterpriseServices namespaces of the framework; access to other functionality is provided using the P/Invoke feature.

Common Language Runtime Engine


The Common Language Runtime (CLR) is the execution engine of the .NET Framework. All .NET programs execute under the supervision of the CLR, guaranteeing certain properties and behaviors in the areas of memory management, security, and exception handling.

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

Language Independence

The .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible datatypes and programming constructs supported by the CLR and how they may or may not interact with each other conforming to the Common Language Infrastructure (CLI) specification. Because of this feature, the .NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming .NET language.

Base Class Library

The Base Class Library (BCL), part of the Framework Class Library (FCL), is a library of functionality available to all languages using the .NET Framework. The BCL provides classes which encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction, XML document manipulation and so on.

Simplified Deployment

The .NET Framework includes design features and tools that help manage the installation of computer software to ensure that it does not interfere with previously installed software, and that it conforms to security requirements.

Security

The design is meant to address some of the vulnerabilities, such as buffer overflows, that have been exploited by malicious software. Additionally, .NET provides a common security model for all applications.

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

Portability
The design of the .NET Framework allows it theoretically to be platform agnostic, and thus cross-platform compatible. That is, a program written to use the framework should run without change on any type of system for which the framework is implemented. While Microsoft has never implemented the full framework on any system except Microsoft Windows, the framework is engineered to be platform agnostic,[5] and cross-platform implementations are available for other operating systems (see Silverlight and the Alternative implementations section below). Microsoft submitted the specifications for the Common Language Infrastructure (which includes the core class libraries, Common Type System, and the Common Intermediate Language), the C# language, and the C++/CLI language to

both ECMA and the ISO, making them available as open standards.

Asp.Net Architecture
ASP.NET is an important component of .NET Framework. ASP.NET Provides advanced capabilities, such as efficient database access and easy-to-use Application and Session state capabilities.ASP.NET application can be created using any .NET language, such as Visual Basic.NET or Visual C#. NET. ASP.Net is the latest Microsoft programming framework that allows for the rapid development of powerful web applications. In this issue of Better Web Design, author going to discuss the advantages of using ASP. Net. Application Architecture is the most important process of developing a good application. ASP.NET uses ISAPI to run on the Internet Information Server (IIS) in Windows 2000 Server. The configuration of ASP.NET is managed by information stored in XML-format in a configuration file. The cache allows for improved performance of ASP.NET, as the most commonly requested pages would be served from the ASP.NET cache. State management services for ASP.NET are provided by the ASP.NET state service.

10

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

The .NET Framework provides the Common Language Runtime (CLR), which compiles and manages the execution of ASP.NET code, and the class libraries, which offer pre-built programmatic functionality for Web Forms, XML support, and exception handling.ADO.NET provides ASP.NET with connections to databases

The Advantages
Powerful database-driven functionality Faster web applications Memory leak and crash protection Multiple language support

11

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

Fig 1.2.1 ASP.NET Architecture

Features of the Common Language Runtime


The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime.
12

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

With regards to security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it is being used in the same active application. Finally, the runtime can be hosted by high-performance, server-side applications, such as Microsoft SQL Server and Internet Information Services (IIS). This infrastructure enables you to use managed code to write your business logic, while still enjoying the superior performance of the industry's best enterprise servers that support runtime hosting.

Assemblies
In the .NET framework, an assembly is a compiled code library used for deployment, versioning, and security. There are two types: process assemblies (EXE) and library assemblies (DLL). A process assembly represents a process which will use classes defined in library assemblies. .NET assemblies contain code in CIL, which is usually generated from a CLI language, and then compiled into machine language at run time by the CLR just-in-time compiler. An assembly can consist of one or more files. Code files are called modules. An assembly can contain more than one code module and since it is possible to use different languages to create code modules it is technically possible to use several different languages to create an assembly. Visual Studio however does not support using different languages in one assembly.

Metadata
.NET metadata, in the Microsoft .NET framework, refers to certain data structures embedded within the Common Intermediate Language code that describes the high-level structure of the code. Metadata describes all classes and class members that are defined in the

13

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

assembly, and the classes and class members that the current assembly will call from another assembly. The metadata for a method contains the complete description of the method, including the class (and the assembly that contains the class), the return type and all of the method parameters. A .NET language compiler will generate the metadata and store this in

the assembly containing the CIL. When the CLR executes CIL it will check to make sure that the metadata of the called method is the same as the metadata that is stored in the calling method. This ensures that a method can only be called with exactly the right number of parameters and exactly the right parameter types

Security
.NET has its own security mechanism with two general features: Code Access Security (CAS), and validation and verification. Code Access Security is based on evidence that is associated with a specific assembly. Typically the evidence is the source of the assembly (whether it is installed on the local machine or has been downloaded from the intranet or Internet). Code Access Security uses evidence to determine the permissions granted to the code. Other code can demand that calling code is granted a specified permission. The demand causes the CLR to perform a call stack walk: every assembly of each method in the call stack is checked for the required permission; if any assembly is not granted the permission a security exception is thrown.

Class Library
The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. The class library is object oriented, providing
14

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

types from which your own managed code can derive functionality. This not only makes the .NET Framework types easy to use, but also reduces the time associated with learning new features of the .NET Framework. In addition, third-party components can integrate seamlessly with classes in the .NET Framework. For example, the .NET Framework collection classes implement a set of interfaces that you can use to develop your own collection classes. Your collection classes will blend seamlessly with the classes in the .NET Framework. As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including tasks such as string management, data collection, database connectivity, and file access. In addition to these common tasks, the class library includes types that support a variety of specialized development scenarios.

Server Application Development


Server-side applications in the managed world are implemented through runtime hosts. Unmanaged applications host the common language runtime, which allows your custom managed code to control the behavior of the server. This model provides you with all the features of the common language runtime and class library while gaining the performance and scalability of the host server. The following illustration shows a basic network schema with managed code running in different server environments. Servers such as IIS and SQL Server can perform standard operations while your application logic executes through the managed code.

Language Support
The Microsoft .NET Platform currently offers built-in support for three languages: C#, Visual Basic, and JScript.

15

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

ADO.NET Overview
ADO.NET is an evolution of the ADO data access model that directly addresses user requirements for developing scalable applications. It was designed specifically for the web with scalability, statelessness, and XML in mind. ADO.NET uses some ADO objects, such as the Connection and Command objects, and also introduces new objects. Key new ADO.NET objects include the DataSet, DataReader, and DataAdapter. When dealing with connections to a database, there are two different options: SQL Server .NET Data Provider (System.Data.SqlClient) and OLE DB .NET Data Provider (System.Data.OleDb). In these samples we will use the SQL Server .NET Data Provider. These are written to talk directly to Microsoft SQL Server. The OLE DB .NET Data Provider is used to talk to any OLE DB provider (as it uses OLE DB underneath).

Connections
Connections are used to 'talk to' databases, and are represented by provider-specific classes such as SQLConnection. Commands travel over connections and resultsets are returned in the form of streams which can be read by a DataReader object, or pushed into a DataSet object.

Commands
Commands contain the information that is submitted to a database, and are represented by provider-specific classes such as SQLCommand. A command can be a stored procedure call, an UPDATE statement, or a statement that returns results. You can also use input and output parameters, and return values as part of your command syntax. The example below shows how to issue an INSERT statement against the Northwind database.

DataReaders
The DataReader object is somewhat synonymous with a read-only/forward-only cursor over data. The DataReader API supports flat as well as hierarchical data. A DataReader object is returned after executing a command against a database. The format of the returned
16

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

DataReader object is different from a recordset. For example, you might use the DataReader to show the results of a search list in a web page.

DataSets
The DataSet object is similar to the ADO Recordset object, but more powerful, and with one other important distinction: the DataSet is always disconnected. The DataSet object represents a cache of data, with database-like structures such as tables, columns, relationships, and constraints. However, though a DataSet can and does behave much like a database, it is important to remember that DataSet objects do not interact directly with databases, or other source data. This allows the developer to work with a programming model that is always consistent, regardless of where the source data resides. Data coming from a database, an XML file, from code, or user input can all be placed into DataSet objects. Then, as changes are made to the DataSet they can be tracked and verified before updating the source data. The GetChanges method of the DataSet object actually creates a second DatSet that contains only the changes to the data. This DataSet is then used by a DataAdapter (or other objects) to update the original data source.

DataAdapters (OLEDB/SQL)
The DataAdapter object works as a bridge between the DataSet and the source data. Using the provider-specific SqlDataAdapter (along with its associated SqlCommand and SqlConnection) can increase overall performance when working with a Microsoft SQL Server databases. For other OLE DB-supported databases, you would use the OleDbDataAdapter object and its associated OleDbCommand and OleDbConnection objects. The DataAdapter object uses commands to update the data source after changes have been made to the DataSet. Using the Fill method of the DataAdapter calls the SELECT command; using the Update method calls the INSERT, UPDATE or DELETE command for each changed row. You can explicitly set these commands in order to control the statements used at runtime to resolve changes, including the use of stored procedures. For ad-hoc scenarios, a CommandBuilder object can generate these at run-time based upon a select
17

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

statement. However, this run-time generation requires an extra round-trip to the server in order to gather required metadata, so explicitly providing the INSERT, UPDATE, and DELETE commands at design time will result in better run-time performance.

Fig 1.2.2 ADO.NET Architecture

Advantages of ADO.NET
ADO.NET is the next evolution of ADO for the .Net Framework. ADO.NET was created with n-Tier, statelessness and XML in the forefront. Two new objects, the DataSet and DataAdapter, are provided for these scenarios. We can execute a command directly against the database in order to do inserts, updates, and deletes. You don't need to first put data into a dataset in order to insert, update, or delete it. 18

Greedy Routing with Anti-Void Traversal For Wireless Sensor Networks

Introduction

Also, you can use a Dataset to bind to the data, move through the data, and navigate data relationships.

Structured Query Language (SQL)


To work with data in a database, author must use a set of commands and statements (language) defined by the DBMS software. There are several different languages that can be used with relational databases; the most common is SQL. Both the American National Standards Institute (ANSI) and the International Standards Organization (ISO) have defined standards for SQL. Most modern DBMS products support the Entry Level of SQL-92, the latest SQL standard (published in 1992).

5.11 SQL Server Features


Microsoft SQL Server supports a set of features that result in the following benefits:

Ease of installation, deployment, and use SQL Server includes a set of administrative and development tools that improve your ability to install, deploy, manage, and use SQL Server across several sites. Scalability The same database engine can be used across platforms ranging from laptop computers running Microsoft Windows 95/98 to large, multiprocessor servers running Microsoft Windows NT, Enterprise Edition. Data warehousing SQL Server includes tools for extracting and analyzing summary data for online analytical processing (OLAP). SQL Server also includes tools for visually designing databases and analyzing data using English-based questions. System integration with other server software SQL Server integrates with e-mail, the Internet, and Windows.

19

Vous aimerez peut-être aussi