• No results found

WSN Routing Protocols and Network Abstraction

1.3 Related Work

1.3.1 WSN Routing Protocols and Network Abstraction

Many approaches to WSN data routing have been considered over the years. Villaba et al. provided a review of many common approaches while also presenting their own “Simple Hierarchical Routing Protocol” (SHRP)[16]. Villaba et al. identify four classes of routing protocols typically applied to WSN systems: attribute-based/data- centric, geographic, multipath, and hierarchical.

Attribute-based routing protocols route information from the sensor network according to data attributes that are supplied by the entity making the data request. Only data that has the specified attribute will be returned to the requesting party. In-network query, as discussed in Section 1.2.2, is a good example of attribute-based

routing. Geographic protocols make routing decisions based on the physical or virtual location of the information requested. Multipath routing algorithms maintain many possible routes, which allows data requests to be fulfilled by any number of independent paths. Multipath algorithms can improve quality of service (QoS) by maintaining alternate routes and thus allow data to be routed through the alternate paths when an active route fails. Finally, hierarchical routing algorithms partition the network into distinct groups (clusters). This approach helps scale networks to very large sizes. However, the algorithm must then maintain cluster membership information as well as negotiate links between clusters. This overhead may be considered undesirable in smaller networks.

SHRP was designed to optimize routing based on energy stores, link quality, and number of hops. Furthermore, SHRP was built as an extension to the Sensornet Protocol (SP) developed by Polastre et al. [17], and it provides features of both multipath and hierarchical routing. Sensornet Protocol attempts to provide some transparency between the link layer and the network layer in an effort to provide a communications framework that can reliably route messages in WSNs while also allowing the WSN application to participate in routing decisions. Sensornet Protocol operates by acting as a intermediary to the link layer of the communications stack, and it provides applications with information about the link layer by maintaining a table of immediate neighbors to each node within the network. Sensornet Protocol is also responsible for managing data transmission and reception to and from the application, allowing link information to be incorporated into application decisions for data transmission and reception. We believe these concepts (e.g., link-state trans-

parency) are important to effective data sharing within sensor networks, particularly for in-network processing. SHRP itself utilizes SP to implement a system that attempts to optimize routing and network hierarchy based on link quality (LQI), network distance (hops), and battery availability. SHRP also attempts to reduce energy consumption through data aggregation, e.g. avoiding transmission of sensor data when it has not changed.

SPIN (Sensor Protocols for Information via Negotiation) was developed by Kulik et al. to investigate adaptive routing protocols in energy constrained networks [18]. The key premise of SPIN is that a significant number of data exchanges may be avoided by utilizing descriptors (metadata) that uniquely identify data when deciding what needs to be transmitted. Beyond the use of metadata to negotiate data transmissions, SPIN seeks to provide WSN application level control of how data is routed through the network. As with SHRP/SP, we see a system that provides some link information to the application, but in this case we also see the concept of providing a framework that helps WSN systems avoid unnecessary network communications by utilizing metadata to make communications decisions.

Finally, an important routing protocol strongly related to our work is the Opti- mized Link-State Routing (OLSR) protocol [19]. Unlike traditional network routing schemes, OLSR proactively establishes the network topology to allow immediate and optimized routing when needed. OLSR networks have two node types. The first node type is the multi-point relay (MPR), which is responsible for all network control traffic. Any messages that need to be broadcast are forwarded to MPR nodes to be distributed to the rest of the network. The MPR nodes are elected based

on a distributed election process, and once elected each MPR identifies all of its 2-hop neighbors in the network. One significant distinction for OLSR as compared to the routing protocols discussed above is that OLSR does not actually manage routing directly. OLSR only maintains possible route information and enables other services to use the information for routing. Additionally, the process of identifying an optimal set of MPR nodes is an NP-complete problem, and as such must be solved heuristically. OLSR will be discussed further in Section 2.3.

1.3.2 File System Abstraction and Data Context Assignment

Data abstraction is studied in many domains. Perhaps the most analogous sys- tem to our work is that of Picco et al. in which a set of programming language constructs were developed for describing what they termed “distributed abstract data types” or DADT [20]. Picco et al. proposed the concept of abstracting distributed data by representative views as part of a programming language construct to facilitate distributed programming. While our concept of dataviews is similar to the DADT model for abstracting distributed data, we will be applying the concept to an application-level interaction within a file system abstraction rather than in programming language constructs.

File abstraction for sensor networks is not a new idea. A wide range of file system abstraction concepts have been applied to sensor networks. Some systems abstract all aspects of WSN systems using a virtual file system [21, 22]. Other WSN systems employ a UNIX-like architecture in which tasks and system features are represented by files [23]. These systems focus on the external access and interaction with the

WSN rather than inter-node data sharing.

Aside from general file system abstractions, many traditional WSN optimized file systems exist for use with on-board flash memory [24, 25, 26]. Such file systems focus on storing data local to each sensor node, utilizing the storage medium physically attached to the sensor node. As part of the proposed research, flash-based file systems of some type will be incorporated to provide management of local data to each sensor node.

Other file system related concepts in WSNs are those that deal with organiz- ing and controlling data access. One such concept is a file system optimized for multi-resolution storage and access of sensor data [27]. Multi-resolution data access provides many benefits. However, our system differs from other approaches in that it is providing multi-resolution access as one interface to stored data rather than as the primary mechanism of data storage. The WSNFS approach extends the multi-resolution data concept into a distributed model.

Finally, systems built around file system abstractions exist that attempt to pro- vide a measure of real-time access to sensor data while also providing data access based on the network hierarchy [28]. This type of system is perhaps the most closely related to our proposal in that such systems have some similar goals. It differs, however, in that the file system is again used primarily as a mechanism for externally controlling and receiving data from the sensor network rather than providing a means of simplifying collaborative processing between nodes within a WSN.