CPSC 689: Discrete Algorithms
for Mobile and Wireless Systems
Spring 2009
Prof. Jennifer Welch
Lecture 18
Topic:
More location services
Sources:
Abraham, Dolev, & Malkhi
MIT 6.885 Fall 2008 slides
CPSC 689 slides from Spring 2006 by Sai Siddarth
Discrete Algs for Mobile Wireless Sys
2
Drawbacks of GLS
Handling of updates and out-of-date information:
when a node crosses a grid boundary, updating its role
can take a lot of resources
Lack of scalability:
two nodes can be very close but the smallest square
containing both of them cain be arbitrarily large
Expensive in sparse networks:
routing to location server can be much more expensive
than just directly routing to destination
Discrete Algs for Mobile Wireless Sys
3
Example Drawback of GLS
37
19
Discrete Algs for Mobile Wireless Sys
4
Locality-Aware Location Service (LLS)
Location service for unit-disk graph model.
Edge (u,v) iff dist(u,v), Euclidean distance between u and v, is ≤ 1.
Try to obtain performance for FIND and MOVE that depends on
geographical distances:
Cost of MOVE(s,t), average case: O(d log d), where d = dist(s,t).
Cost of a FIND(t) from s, average case: O(d), where d = dist(s,t).
Averages taken over all pairs (s,t) of locations.
Cost of a FIND(t) from s, worst case: O(d2), where d is the minimum
cost of a path from s to t.
Costs:
Cost of an edge = its length (can generalize this measure)
Cost of a path = sum of costs of edges
Cost of a MOVE or FIND = total costs of all edges traversed in the
implementation (?)
Discrete Algs for Mobile Wireless Sys
5
Geographic Routing
Assume availability of geographic routing
algorithm, which can broadcast to a known
location.
Worst-case cost O(d2), average cost O(d), where
d = dist(source, target).
(Study such algorithms next.)
Discrete Algs for Mobile Wireless Sys
6
Model
n mobile nodes in M M square, coordinates in [0, M], each u
with a unique identifier, u.id.
Unit disk graph network.
All nodes know their own locations, and identities and
locations of their neighbors.
Assume lower bound on dist(u,v); claim this assumption could
be removed using a connected dominating set backbone
network [Kuhn, et al.]
Virtual nodes:
For any point p in the square, at any time, define l(p) to be
the closest mobile node to p.
Assume the geographical routing algorithm, when sending to
p, will reach l(p).
Essentially assume that each p has a (virtual) node.
Discrete Algs for Mobile Wireless Sys
7
Hierarchical Lattice Structure
Focus on MOVE/FIND for one mobile
node t.
Define a hierarchical lattice just for t,
based at a geographical point H(t.id).
Different lattices for different nodes
are used to balance workload.
Consists of lattices Lk = Lk(t.id) at
different levels k.
Lattice Lk is the set of grid points for a
grid of squares of side 2k in both
directions, starting from H = H(t.id).
Discrete Algs for Mobile Wireless Sys
H
2k
8
Origin of Lattices for t
For each node identifier we build a hierarchy of
lattices associated with the node identifier.
For node t, we use a double hash function H : V
to [0,M] x [0,M] that maps node identifier to
coordinates inside M x M:
H(t.id)={h1(t.id), h2(t.id)}
H(t.id) is the primary virtual home of node t.
H(t.id) never changes! It serves as the origin for
all the lattices for t.
Discrete Algs for Mobile Wireless Sys
9
Hierarchical Lattice Structure
For node t and all k = 0, 1, …, log M, define Lk(t.id) to be
the lattice consisting of all corner points of the tiling with
squares of size 2k x 2k having H(t.id) as its origin.
H(t.id)
2k
2k+1
Discrete Algs for Mobile Wireless Sys
10
Hierarchical Lattice Structure
Now consider any point x in
the overall square (location
where t might move, or from
which someone might try to
find t).
For each k = 0, 1, …, log M,
define Wk(t.id,x) to be the set
of 4 corner points of the
square of Lk(t.id) that contains
x (break ties somehow).
Discrete Algs for Mobile Wireless Sys
H
x
11
Hierarchical Lattice Structure
H(t.id)
- Origin
- Some point x
x
21
20
- W0(t.id,x)
- W1(t.id,x)
Discrete Algs for Mobile Wireless Sys
12
Three algorithms
Spiral algorithm
Efficient FIND, average case.
Expensive MOVE.
Spiral-Flood algorithm
Efficient FIND, worst case.
Expensive MOVE.
LLS algorithm
Efficient FIND, worst case.
Efficient MOVE, average case.
Discrete Algs for Mobile Wireless Sys
13
Spiral Algorithm
Record t’s location at the 4 corner nodes of the
square that contains t’s current location, in all the
lattices.
That is, at the points in Wk(x), for all k, where x is
t's current location.
MOVE(x,y):
Expensive
Remove t’s old location information from the
previous Wk(x) nodes.
Put t’s new location info in all the Wk(y) nodes.
They depict the strategy, in Figure 2, as
“following a spiral”, which proceeds outward, in
order k = 1, 2,…
Discrete Algs for Mobile Wireless Sys
14
Spiral Algorithm FIND
FIND(t): Invoked from s, to find the current location x of t.
This queries corner nodes of the lattice squares that
contain s, that is, the nodes in Wk(s).
Query proceeds in an outward spiral, in order k = 1, 2,…
Eventually, the spiral used by this FIND will intersect the
spiral used by the most recent MOVE, that is, it will hit
some point in Wk(x), for some k.
Guaranteed to happen at the first level of the hierarchy at
which s and x are in (possibly diagonally) adjacent
squares.
Then the FIND learns the actual location.
Discrete Algs for Mobile Wireless Sys
15
Publish path
Lookup
path
Nodes on
the lookup
spiral
Nodes on
the publish
spiral (or)
Location
servers
Source
Destination
Origin
Complexity Claim
Theorem: In Spiral, the cost of a FIND(t) from s, averaged over
pairs (s,t), is O(d), where d = dist(s,t).
Assumes O(d) cost geographical routing.
Proof sketch:
FIND gets the info it needs by the time it reaches the lowest level, k,
of the hierarchy where s and t are in adjacent squares.
It is possible that s and t are arbitrarily close together, and yet this
could be a very high level in the hierarchy.
They avoid this problem by averaging over all (s,t) pairs, saying:
“On the average”, dist(s,t) is proportional to the length of the side of
the square at level k. (?)
Node at s must communicate with 4 nodes at each level up to k,
distance proportional to 20 + 21 + …+ 2k, or O(2k), or O(dist(s,t)).
Geographical routing ensures actual cost of this communication is is
O(dist(s,t)). (?)
Discrete Algs for Mobile Wireless Sys
17
Spiral-Flood
Spiral has a problem near the boundaries, which prevents worstcase FIND behavior from depending only on geographical
distance.
Spiral-Flood FIND:
Combines (interleaves) Spiral FIND algorithm with an Iterative
Bounded Flooding (IBF) algorithm, which floods FIND requests from s
to successively doubling distances.
Namely, s queries nodes along the same spiral-shaped path followed
by the Spiral FIND algorithm.
But when the Spiral FIND has accumulated sufficient cost (22i), s
floods a FIND query to depth 2i; this policy ensures that the combined
cost is not more than a constant times the cost of Spiral alone.
But also, the cost doesn't exceed the cost of IBF alone, which is O(d2)
in the worst case.
Here, d is min cost of a path from s to t, rather than geographical
distance.
Uses density restriction.
Discrete Algs for Mobile Wireless Sys
18
Spiral-Flood Complexity
Theorem: In Spiral-Flood:
The average cost of a FIND(t) from s is O(d),
where d = dist(s,t).
The worst-case cost of a FIND(t) from s is
O(d2), where d is the minimum cost of a path
from s to t.
Discrete Algs for Mobile Wireless Sys
19
LLS
Improves Spiral-Flood’s MOVE cost.
So far, info about t’s location is inserted in, and
deleted from, all the Wk nodes by brute force;
leads to cost O(k), where k is the max level that
changes.
Could be much larger than distance moved.
New strategy attempts to update lazily, using
ideas of [Awerbuch, Peleg], to keep cost
proportional to distance moved.
But, they claim this only on the average (?).
Discrete Algs for Mobile Wireless Sys
20
LLS
For each level k, store t’s location info not only in the corners of the
square containing x (in Wk(x), where x is t’s current location), but
also the corners of the 8 surrounding squares---16 nodes, called
Zk(x).
When t moves within a 9-square area at level k, nothing changes at
level k.
Update location info when t leaves the 9-square area, by which time
the distance traveled by t must be at least 2k, the side of one
square; thus, amortized cost of updating is kept low, a function of
distance traveled.
Info stored at the Zk(x) nodes is not simply t’s location x, but rather,
a forwarding pointer to the Wk-1(x) nodes (similar to [Awerbuch,
Peleg]).
These nodes are lower in the hierarchy, and should contain better
(finer, more recent) information for reaching t.
The Z0(x) nodes contain the actual location x.
Discrete Algs for Mobile Wireless Sys
21
H(t.id)
W10
W11
W9
W8
W7
W13
W14
W6
X
W12
W16
W1
W2
W15 W5
W3
W4
2k
LLS MOVE Operation
MOVE from x to y:
If W0(x) = W0(y), no update is required (same lowest-level
square).
Otherwise, do a spiral search from the new location y, to find
the lowest level k, all of whose Wk(y) nodes have location info
for t.
If k = 0, update Z0(x) and Z0(y) to delete and add location info,
and return.
(? Not in paper)
Otherwise, k > 0.
This means that t has moved outside the current level-(k-1) 9square region.
Starting from location info in Wk(x), erase all location info for
levels < k.
Then update each Zj(y) node, 1 ≤ j ≤ k, with a forwarding
pointer to Wj-1(y).
Discrete Algs for Mobile Wireless Sys
23
LLS FIND Operation
FIND, starting from s:
Start a spiral from s as before, but now the
search ends when a forwarding pointer of the
form Wk-1(y) is found in some Zk(y) node.
Once such a pointer is found, FIND can just
follow the forwarding pointers to locate t.
Discrete Algs for Mobile Wireless Sys
24
LLS Analysis
Theorem: In LLS:
The average cost of a FIND(t) from s is O(d), where d =
dist(s ,t).
The worst-case cost of a FIND(t) from s is O(d2), where d
is the minimum cost of a path from s to t.
The average cost of a MOVE(x, y) is O(d), where d =
dist(x, y).
Analysis: LTTR.
The key idea is to amortize costs over a series of MOVE
operations, making sure that before info is updated, the
node has moved correspondingly far.
Justify their average calculations---are some
independence assumptions needed?
Discrete Algs for Mobile Wireless Sys
25
LLS Analysis
Simulations validate the theoretical averagecase claims.
Fault-tolerance: They claim some faulttolerance properties, because of:
Redundancy provided by using multiple nodes.
Locality of information-processing
The use of flooding.
Discrete Algs for Mobile Wireless Sys
26
Simulations
Routing:
Connectivity percentage
and cost/distance
Inference:
Cost of routing to
the closest virtual
point is only a
constant times the
distance.
Discrete Algs for Mobile Wireless Sys
27
Simulations
Lookup:
Cost/distance,
Cost/shortest path,
Connectivity and
flood percentages.
Inference:
The average cost of
locating a mobile
node is a constant
factor from the
optimum.
Discrete Algs for Mobile Wireless Sys
28
Simulations
Publish:
Average hop
distance Vs
Average publish
Cost
Inference:
The cumulative cost of
updating location
pointers is
proportional to length
of average hop.
Discrete Algs for Mobile Wireless Sys
29
© Copyright 2026 Paperzz