Constructing special k-dominating sets using variations on the greedy algorithm

https://doi.org/10.1016/j.pmcj.2008.09.009Get rights and content

Abstract

This paper focuses on the efficient selection of a special type of subset of network nodes, which we call a k-SPR set, for the purpose of coordinating the routing of messages through a network. Such a set is a special k-hop-connected k-dominating set that has an additional property that promotes the regular occurrence of routers in all directions. The distributed algorithms introduced here for obtaining a k-SPR set require that each node broadcast at most three messages to its k-hop neighbors. These transmissions can be made asynchronously. The time required to send these messages and the sizes of the resulting sets are compared by means of data collected from simulations.

The main contribution is the adaptation of some variations of the distributed greedy algorithms to the problem of generating a small k-SPR set. These variations are much faster than the standard distributed greedy algorithm. Yet, when used with a sensible choice for a certain parameter, our empirical evidence strongly suggests that the resulting set size will generally be very close to the set size for the standard greedy algorithms.

Introduction

Routing protocols in ad hoc wireless networks has become an area of research of steadily increasing practical concern. A wide variety of techniques have been proposed and tested in simulated and actual ad hoc networks. There seems to be no silver bullet as yet, and various approaches offer relative advantages in some performance areas at the expense of others. Routing protocols that first select a subset of the network nodes to serve in some special network coordination role have been especially promising.

Our focus here, is on the selection of a special type of subset of network nodes, which we call a k-SPR set (k a fixed positive integer), and which can be used in coordinating the routing of messages through the network. “SPR” stands for “shortest path routing.” Our original definition of a k-SPR set (to be generalized in this paper) is a subset of the node set of a graph such that whenever two nodes are a distance greater than k apart, there is at least one node from the subset that lies strictly between them, along a shortest path. We call the nodes of a selected k-SPR set, routers, to suggest the special role they play under our routing protocols, in maintaining routing tables and making routing decisions. Thus, the k-SPR notion guarantees that between any two nodes sufficiently far apart, there is guaranteed to be at least one router, along a shortest path.

For reasonably small choices of k (i.e. k less than the radius of the network graph) a k-SPR set is a k-hop-connected k-dominating set (cf. [10]). k-dominating means that every node in the network is within k hops of at least one router. k-hop-connected means that in the k-closure of the network graph (causing nodes to be adjacent that were originally within k hops of each other), the subgraph induced by the k-SPR set is connected.

This latter property, of k-hop-connectedness, should not be confused with the standard graph theory notion of k-connectedness, which implies connectedness in the original graph. In [2], methods were introduced for obtaining k-connected k-dominating sets (k-CDS), for usage in ad hoc networks. Although a useful notion, the connectedness of such a set tends to make it rather large. In contrast, our k-SPR sets are intended to be quite sparse, and in general, do not form a connected set in the network graph.

The principle purpose of finding a k-SPR set in an ad hoc network is to facilitate shortest path routing, while equipping each node with only a limited knowledge of its surroundings. The routing protocols of [3], [4], [9], [10] all assume the selection of a k-SPR set (of routers), and that each node discovers all of the other nodes within k+1 hops of itself. Whenever a source node needs to forward a message to a destination node, it either uses “local routing” based on its “local view,” or else relies on a member of the k-SPR set, within k hops of the source node, to manage the routing along a shortest path to the destination node, beyond k hops. We might say that there is a member of the k-SPR set within k hops of any node, “in any direction.”

As with other routing protocols that rely on the selection of special nodes, our selection process is appropriate for sensor networks and slow moving MANETs, where the process can be repeated periodically to adapt to the changing network topology. We assume that by means of local communications, each node obtains an awareness of all of the nodes within k hops of itself. It is possible to leverage the routers to efficiently facilitate shortest path discovery, when one node performs a route request to find another node. The path so discovered will have the additional property that routers occur routinely along it, within k-hops of one another, and of the source and target nodes. The propagation of route requests through the network can be minimized using a k-SPR set.

The definition of a k-SPR set can be generalized to graphs with edge weights. In fact, there are two fundamentally different ways to do this. In [9], a hierarchical routing protocol (involving routers, super-routers, and so forth) required the notion of a k-SPR set for which the edge weights represent some sense of distances, perhaps an abstract sense.

In [3], edges and nodes were assigned weights that represent some notion of the costs associated with using the various links and nodes in the network. The higher the cost of a link, the less desirable it is to use that link, possibly due to a high transmission power requirement resulting from a long distance or from interference. In this context, we seek routing paths of lowest total cost (called minimal paths) rather than shortest possible routing paths. In [3], a high node cost might signify a weak battery, or some other reason why the use of that node should be minimized. The edges incident with such a node could also be assigned high costs as well, since it would be “expensive” to route messages through the given node.

In order to provide a general enough setting for all of our research involving k-SPR sets, it is necessary to give a formal definition of a k-SPR in the context where the network graph G is doubly edge-weighted, with one weight interpreted as distance and the other interpreted as cost. The following definition blends the notions from previous work into a general framework.

Definition 1

Fix a positive integer k and a graph G. Let c and d each be functions that assign a positive integer to each edge of G. Moveover, assume that d(e)k for all edges e in G. Given a path p in G, say from node x to node y, define c(p) to be the sum of c(e) as e ranges over the edges of p. Similarly for d(p).

We say that a path p, from say node x to node y, is a c-minimal path if c(p) is as small as possible among all the paths that connect x to y. In this case, we also write c(x,y) for c(p). Similarly for the notion of a d-minimal path and for the notation d(x,y).

A k-SPR set is now defined to be a subset S of the node set of G with the property that given any two vertices x and y in G satisfying d(x,y)>k, there exists a c-minimal path from x to y that contains at least one node from S in its interior.

In the above, c and d correspond to our notions of cost and distance. A c-minimal path will also be called a minimal cost path while a d-minimal path will simply be called a shortest path. In the cases of interest to us in the past, c and d were always the same function, that is, there was no distinction made between cost and distance. Indeed, our earliest research corresponded to the case where each edge has distance one and cost one.

The first important subgoal in obtaining routing protocols that make use of k-SPR sets is devising efficient distributed algorithms that select a small k-SPR set. It turns out that all of the methods that we have devised for doing this to date can be regarded as variations of the distributed greedy algorithm. This will be seen in Section 4, after first setting the stage in Section 3 by making the connection between the problem of finding a small k-SPR set and the well-known “Set Covering Problem.”

In Section 4, a class of variations on the distributed greedy algorithm will be introduced. Here we are particularly interested in those that we might call “extra greedy,” since the nodes that execute these algorithms are more easily inclined to decide to select themselves in the selection process. Detailed pseudo-code for these distributed algorithms is given in Section 5, and the results of a comparative analysis is given in Section 6. Though our focus is on selecting k-SPR sets, the algorithms presented here could be productively adapted to other settings where the distributed greedy algorithm is used.

This paper is actually not focused on how a k-SPR set might be utilized once it has been selected, although this is certainly an important question. Concerning it, we have been exploring various reactive and hybrid methods for k-SPR-based route discovery, and have discussed some of this in our previous articles, especially [9].

Our main contribution in the present paper is the adaptation of some variations (cf. [5]) of the distributed greedy algorithms to the problem of generating a small k-SPR set. As will be seen, these variations are much faster than the standard distributed greedy algorithm, since they require far fewer iterations through the main loop. Yet, when used with a sensible choice for a certain parameter, which we refer to as the “delay ratio,” our empirical evidence strongly suggests that the resulting set size will generally be very close to the set size for the standard greedy algorithms.

The k-SPR sets produced by these algorithms are (as usual) k-hop-connected k-dominating and have a desirable “k-shortest path property.” This basically ensures that routers occur regularly in all directions, an important property not guaranteed by other schemes for producing k-hop-connected k-dominating sets. Another important feature of our variations of the greedy algorithm is that the selection of the routers is based on some “priority metrics” like “energy level,” “covering number,” etcetera, or a combination of these.

When the problem is viewed abstractly as a covering problem in a bipartite graph, where vertices of one type are selected to cover the vertices of another type, the distributed greedy algorithm can be loosely understood as follows. During any given round, select a given vertex of the first type if and only if it covers (i.e. is adjacent to) lots of vertices of the second type, as compared with other vertices of the first type that cover some of the same vertices of the second type.

The delay ratio parameter r that we introduce essentially allows the sense of “lots” to be weakened, causing the selection of more type-one vertices during each round. When r=1, the algorithm is just the ordinary distributed greedy algorithm. However, when r is reduced, each round of the algorithm selects an increased number of nodes into the k-SPR set, by reducing the requirement for inclusion. For small enough values of r (say r0.5), we demonstrated that the algorithms converge rapidly.

All these features combine to allow for considerable flexibility and applicability of our algorithms. In all cases, each node ultimately transmits two or three broadcast messages to all of the other nodes within k-hops of itself, plus one message to only its immediate (1-hop) neighbors. No further communication is required in order to select the k-SPR set.

Section snippets

Related work

Liang and Haas [7] use a distributed greedy algorithm to produce a k-dominating set. To do so, they reduce the problem of finding this set to a special case of the Set Covering Problem. This is a well-known NP-complete problem. In fact, our approach in the present paper is quite similar in this regard. We also consider a certain application of the Set Covering Problem, although it is a different one.

In [5], Jia et al. presented variations on distributed greedy algorithm to refine the algorithm

The set covering problem

Following the work in [10], though generalized here, we first introduce a bipartite graph associated with a given network graph G.

Definition 2

The bipartite graph to be associated with G has two sets of vertices, A and B, and all edges in it connect a vertex from A to a vertex from B. The set A is simply (a copy of) the set of all vertices in G. The set B consists of pairs b={x,y} of vertices of G with the following properties: (1) d(x,y)>k and (2) given any c-minimal path p from x to y, and given any two

Altered greedy algorithm

Throughout this discussion, it will be assumed that a (total) ordering has been placed on the vertices in A (i.e. the vertices of G). This ordering might be as simple as the natural ordering that results from arbitrarily assigning unique integer identifiers to each node. However, this approach is not very useful for our purposes. We will instead be considering orderings of the vertices that are based on one or more “priorities” to be discussed. Moreover, the ordering of the elements of A may

Pseudo-code

For simplicity, in this section (only), we will just consider the case where each edge distance and edge cost is one. Thus the elements of B will be just pairs {x,y} of vertices in G satisfying d(x,y)=k+1. It is fairly straightforward to generalize the algorithms and pseudo-code presented here to graphs with more general costs and distances. (See the first paragraph of Section 6.)

Before the network nodes can coordinate to select a k-SPR set, it is necessary for each node to gain an awareness of

Performance evaluation

We implemented several variations of the greedy algorithm for generating k-SPR sets using our own experimental testbed written in C++. (It is available from the first author upon request.) The implementation was run on a single machine, as a single process and a single thread. The program simulated the execution by each node of an algorithm that was essentially the pseudo-code given earlier, or else a more elaborate version of this.

The ordering of the nodes depended on the particular “priority”

Conclusion

In this paper, our focus has been on the selection of a special type of subset of network nodes, which we call a k-SPR set, for the purpose of coordinating the routing of messages through the network. All of these selection processes are variations of the distributed greedy algorithm. We call the nodes of a selected k-SPR set “routers.” For reasonably small choices of k (i.e. k less than the radius of the network graph), a k-SPR set is a k-hop-connected k-dominating set.

Our variations of the

Michael Q. Rieck is an Associate Professor in the Department of Mathematics and Computer Science at Drake University. He has earned a Masters degree from the University of Oregon and a Ph.D. from the University of South Florida. He is actively involved in undergraduate research in computer science at Drake through a Computer Research Association grant, and by serving on the organizing committee of Drake’s annual Conference in Undergraduate Research in the Sciences. His published articles in

References (10)

There are more references available in the full text version of this article.

Cited by (0)

Michael Q. Rieck is an Associate Professor in the Department of Mathematics and Computer Science at Drake University. He has earned a Masters degree from the University of Oregon and a Ph.D. from the University of South Florida. He is actively involved in undergraduate research in computer science at Drake through a Computer Research Association grant, and by serving on the organizing committee of Drake’s annual Conference in Undergraduate Research in the Sciences. His published articles in several reputed computer science and mathematics journals, and his presentations at numerous international conferences, address a wide variety of significant issues in ad hoc wireless networks, graph theory and combinatorics. He has also been employed in several scientific software development capacities.

Subhankar Dhar is an Associate Professor in the Department of Management Information Systems at San José State University. Dr. Dhar’s research interests are distributed, mobile and pervasive computing. In addition, he is also interested in information technology outsourcing. He teaches a variety of courses including telecommunications, data communications and networks, and distributed information systems. His publications have appeared in reputed international journals and gave presentations to various international conferences. He serves as a member of the editorial board of International Journal of Business Data Communications and Networking. He is a reviewer of papers for various international journals, conferences and scholarly publications. He also served as a member of the organizing committee of various international conferences like International Conference on Broadband Networks (BroadNets) and International Workshop on Distributed Computing (IWDC). Dr. Dhar has several years of industrial experience in software development, consulting for Fortune 500 and high-tech industries including product planning, design, and information systems management.

View full text