Bonjour protocol[1] and the well-known domain name reso- ... We introduce an abstract names- ... exhibited cheap and stable communication characteristics.
A Generic Service Overlay for Wireless Mesh Networks Hanno Wirtz, Tobias Heer, Klaus Wehrle RWTH Aachen University Chair of Communication and Distributed Systems Aachen, Germany
{wirtz, heer, wehrle}@cs.rwth-aachen.de
1.
MOTIVATION
Service discovery in traditional networks is realized either by i) broadcasting requests in the network or by ii) a central entity that holds the necessary information of every service in the network. Examples for these techniques are Apple’s Bonjour protocol[1] and the well-known domain name resolution system (DNS)[4]. Requests for resolution of servicenames or services in general are answered with an IP-address which serves as an identifier of the service as well as the routing identifier needed to route towards the corresponding network entity. These techniques are applicable in wireless networks as well, as long as i) the number of nodes in the network and ii) the number of services is low. This is because broadcasts quickly reach the requested entity and name resolution services only need to hold a small number of records. Our work, however, concentrates on Wireless Mesh Networks (WMNs) in which an arbitrary number of mesh nodes make up the infrastructure of the network. These backbone nodes form an interconnected mesh network, routing in the network is realized as a series of transmissions between these nodes. Complementing the infrastructure elements are mobile nodes which access the network by attachment to a mesh node. Mobile nodes are clients and service providers at the same time, providing services to the network and utilizing offered services. We expect the number of mobile nodes to exceed the number of mesh nodes by far and the number of nodes in the network to vary. Realizing a service discovery mechanism in a WMN using the traditional protocols suffers from multiple drawbacks: • WMNs usually do not provide a fixed IP-address assignment to mobile nodes but require a custom routing protocol, such as OLSR[3] or AODV[2] • Broadcasts need to traverse a lot of hops, thus severely degrading the overall network performance
• A look-up service constitutes a single point of failure and suffers from over-utilisation of its incoming links • Look-up records of mobile nodes need to be kept upto-date in case of mobility of nodes • Neither service-composition, in which nodes combine their individual services, nor multicast is supported To this end, we propose a service discovery overlay utilizing a Distributed Hash Table (DHT) that takes the characteristics of WMNs into account. We introduce an abstract namespace to assign identifiers to nodes as well as services and data items and distribute responsibility for this namespace among the available mesh nodes. Service provision is then realized by publishing the according identifier in the DHT, clients query and subscribe to this service via this identifier as well.
2.
DESIGN
Our proposed solution covers three different aspects: 1. A routing layer that takes the characteristics of a WMN and its topology into account 2. A generic publish/subscribe overlay that realizes consistent addressing and naming of services 3. Service composition and multicast support in the overlay In the following sections, we shortly detail each part of our approach.
2.1
Geographic routing on virtual coordinates
To establish a routing scheme that ensures progress when routing towards a given node, we assign virtual coordinates to mesh nodes. These coordinates reflect the underlying network topology and thus establish a greedy routing metric as well as help to prevent detours. To assign these coordinates, we follow the approach outlined by Moore et. al.[6] which we extend to support network growth and better coordinate distribution. In contrast to Beacon Vector Routing (BVR)[5], which was developed for similar scenarios, no special beacon nodes are necessary and changes in the network topology do not affect the overall coordinate distribution. This is because the distribution mechanism integrates new nodes dynamically with only local changes in the distribution, rather
subscribe to. For example, a mobile node may publish an audio stream in a certain format. A service that converts the audio stream to another format may then publish the converted stream to subscribing clients. Realizing multicast communication employs the same mechanism, a single identifier points to the stack of identifiers that resolve to the members of the multicast group. Figure 1: Voronoi fragmentation over virtual coordinates of mesh nodes than using a pre-fixed assignment such as in GHT[8]. If needed, an IP-address assignment can be mapped onto this coordinate distribution.
2.2
Topology-aware overlay construction
In the past, several prominent approaches to constructing a DHT have been proposed, such as Chord[10] and CAN[7]. However, these approaches were developed for wired Internet scenarios, in which the underlying communication system exhibited cheap and stable communication characteristics. In a WMN, the underlying communication system is unstable due to varying link conditions and routing is expensive as each transmission interferes with other transmissions in the network. To adapt the overlay design to this scenario, we distribute the identifier space based on the virtual coordinates used on the routing layer. We employ a 2D Voronoi fragmentation[?], in which the overall identifier space is fragmented in cells. Each node in the overlay is then responsible for one cell which contains all the identifiers that are closer to his own identifier than to any other. In contrast to traditional DHT designs, where nodes pick their identifier in the overlay at random, this approach ensures that nodes that are close to each other in the network are close to each other in the overlay. This way, additional trips through the network are avoided when routing over multiple hops in the overlay. The resulting structure is depicted in Figure 1. Nodes querying for a service identifier in the overlay will route in the direction of this identifier. By traversing the boundaries of cells in the Voronoi fragmentation, routing in the underlay will traverse one or more mesh nodes. Once an identifier is found, it is resolved to the point in the network where the service currently resides. Communication thus takes place via an indirection point that abstracts from the actual location of the service.
2.3
Service composition, multicast support and mobility
Services are published in the network by storing their identifier at the responsible node in the overlay, which in turn points to the node providing the service. We implement further functionality following the i3 architecture presented by Stoica et. al.[9]. Using the generic {key, value} data structure of the overlay, service composition is realized by having an identifier point to another (service) identifier or a stack of identifiers. Following these pointers in sequential order ensures a composition of services to a single service which the client can
Once a service or a mobile node changes its point of network attachment and thus needs to update its location information it updates the value to which its identifier in the overlay resolves. While the identifier, towards which communication partners route, stays the same, traffic towards the service or node is now redirected towards its new location. As responsibility for the whole identifier space is distributed over the whole network, the load causes by updates and redirections is spread over multiple nodes, thus avoiding a single-pointof-failure.
3.
CONCLUSIONS
We presented a generic overlay that caters to the special requirements of providing and discovering services in wireless mesh networks. The focus of our approach lies on maintaining scalability in large-scale dynamic networks as well as routing efficiency with regard to the communication characteristics of the underlying network.
4. [1] [2] [3] [4] [5]
[6]
[7]
[8]
[9]
[10]
REFERENCES Bonjour protocol specifications. Rfc 3561, ad-hoc on-demand vector routing. Rfc 3626, optimized link state routing. Rfc 920, domain name system. R. Fonseca, R. Fonseca, S. Ratnasamy, S. Ratnasamy, D. Culler, D. Culler, S. Shenker, S. Shenker, I. Stoica, and I. Stoica. Beacon vector routing: Scalable point-to-point in wireless sensornets. 2004. G. K. E. Nick Moore, Ahmet Sekercioglu. Virtual localization for mesh network routing. In Proc. Network and Communication Systems (NCS 2005), 2005. S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker. A scalable content-addressable network. In Proceedings of the ACM SIGCOMM ’01 Conference, San Diego, California, August 2001. S. Ratnasamy, B. Karp, S. Shenker, D. Estrin, R. Govindan, L. Yin, and F. Yu. Data-centric storage in sensornets with ght, a geographic hash table. Mob. Netw. Appl., 8(4):427–442, 2003. I. Stoica, D. Adkins, S. Zhuang, S. Shenker, and S. Surana. Internet indirection infrastructure. In SIGCOMM ’02: Proceedings of the 2002 conference on Applications, technologies, architectures, and protocols for computer communications, pages 73–86, New York, NY, USA, 2002. ACM. I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan. Chord: A scalable peer-to-peer lookup service for internet applications. In Proceedings of the ACM SIGCOMM ’01 Conference, San Diego, California, August 2001.