Mobile Netw Appl
become shortcut nodes when they are not adjacent to
the given node.
Each node in the basic GeoCast maintains a list
peernodelist. Such list contains two kinds of nodes:
immediate neighbor node and shortcut node. Instead
of removing old immediate neighbors from the lists,
GeoCast keeps those nodes in peernodelists and uses
them to speed up the procedures of message deliv-
ery. For a node E
i
,itspeernodelist is denoted by
peernodelist(i) ={S
0
i
, S
1
i
,...,S
j
i
,...,S
Q
i
},whereQ is
defined by log
2
(G.w ∗G.h/(E
i
.R.w ∗E
i
.R.h)). For each
subset S
j
i
(1 ≤ j ≤ Q), it contains the nodes in the
geographical enclosing zone EZ
j
i
with the size of 1/2
j
of the geographical plane G. EZ
j
i
is defined by: EZ
j
i
:<
x, y,w,h >,where(x, y) represents the coordinates of
top left vertex of enclosing zone and (w, h) refers to
the width and height of EZ
j
i
. Nodes in the subset S
j
i
are viewed as representatives of the enclosing zone
EZ
j
i
. If a message needs to be routed from node i
to a destination node contained in the enclosing zone
EZ
k
i
, it is likely that a shortcut node in the subset S
k
i
be
chosen as the next message forwarding hop.
Figure 1a provides a snapshot of GeoCast over-
lay network with three end system nodes. At this
point, there is no shortcut node included in the peern-
odelists of the nodes. For E
2
, peernodelist(2) ={S
0
2
}=
{{E
1
, E
3
}}, where node E
1
and node E
3
are its neigh-
bors included in EZ
0
2
that is identical to the entire plane
G. With the arrival of node E
4
as shown in Fig. 1b,
node E
3
is no longer a neighbor of node E
2
and is
now recorded as a shortcut node in peernodelist(2).For
node E
2
, shortcuts are the nodes whose regions have
no intersection with region 2. Given the locations of
nodes, S
0
2
is represented by: S
0
2
={E
1
, E
3
, E
4
},where
E
1
, E
3
, E
4
∈ EZ
0
2
. Similarly, node E
4
becomes another
shortcut node of node E
2
after node E
5
joins the
network as shown in Fig. 1c. Now peernodelist(2) =
{{E
1
, E
3
, E
4
}, {E
5
}},whereE
5
∈ EZ
1
2
and E
5
/∈ EZ
0
2
.
In this way, each node keeps building up its peernodelist
as the topology of network evolves with the arrival or
departure of nodes.
Different nodes may have their peernodelist in
different sizes. The exact length of the list for a node
E
j
is decided by the relative size of the region R
owned by E
j
. If the region R is 1/2
Q
of the size
of the geographical plane, the list length is Q.This
allows to cover the entire geographical plane by the
shortcuts of E
j
according to the following equation:
Q
i=1
1/2
i
+1/2
Q
= 1 (The full version of the proof can
be found in our technical report [28]).
Let Gdist
i→j
=
(x
i
− x
j
)
2
+(y
i
− y
j
)
2
be the geo-
distance between two nodes E
i
and E
j
on the space
G, where (x
i
, y
i
) and (x
j
, y
j
) are the unique identifier
of E
i
and E
j
respectively. Let destination be a point or
aregioninthespaceG[13]. In GeoCast, we consider
the destination as a spatial point in the plane and tag
its coordinates with a request message, consisting of
a spatial query point D(x, y), a description of request
data, information of the node who issued such request.
When the end system node that covers D(x, y) receives
this request, it sends the requested information related
to its region back to the request sender. In location-
based service (LBS), an example of such request is
“send me the current traffic state of I-85 on exit 94.”
When a node E
i
wants to route a message to the
node with the given destination coordinates, it first
checks if the coordinates are contained by the region it
owns. If not, it looks up the routing nodes in its peern-
odelist and chooses the node with the smallest Gdist
to the destination as its next routing hop to route the
message. This procedure is executed repeatedly until
the message reaches the node whose region covers the
destination. In SGD, the use of shortcuts ensures that
at each hop, the routing search space can be reduced
Fig. 1 A GeoCast overlay network