GeoGrid: A scalable Location Service Network

advertisement
GeoGrid: A scalable Location
Service Network
Authors: J.Zhang, G.Zhang, L.Liu
Georgia Institute of Technology
presented by
Olga Weiss
Com S 587x, Fall 2007
Overview
Introduction
Problem addressed
What is GeoGrid?
Existing solutions review
Design of GeoGrid
Basic GeoGrid system
Construction
Routing
Dual peer and Dynamic work load adaptation
techniques
Experimental results and conclusion
Introduction
Problem addressed
serving a large and growing number of mobile
users
continious delivery and dissemination of locationbased information in real time
GeoGrid – a geographical location service
overlay network system
Decentralized
Geographical location aware
Techniques to improve fault-tolerance and
workload balance
Existing solutions review
Current location-based services are
constrained to fixed set of moving objects
expensive to maintain and expand
One approach
Create and maintain a centralized graphical
location service. Drawbacks:
Response time
Expensive access to infrastructure communication service
Not robust
No model for such large scale location-based service
Challenges
Can we organize nodes into efficient service
network that is geographical proximity aware?
End-to-end communication b/w any two
nodes is bounded
How to handle workload imbalance (hot
spots)? How to minimize the possible service
interruption?
Ex. Highway system can be heavily loaded during
the rush hours
GeoGrid Design
Basic GeoGrid system
GeoGrid construction
Routing
Dual peer and Dynamic work load
adaptation techniques
Basic GeoGrid
A network of N nodes
interconnected using
GeoGrid topology and
routing protocol
A node is a point in
2dim geographical
coordinate space
Space is dynamically
partitioned into N
disjoint rectangle
Each node “owns” a
rectangular region
Basic GeoGrid
Nodes self-organize into an overlay network
Connectivity is established through immediate
neighbors of a node
A mobile user connects his mobile device to
one of the nodes
Each node runs GeoGrid middleware and
serves as a proxy for the mobile user
Basic GeoGrid
Assumptions
Information services existence (provide
geographical info)
User can be either from outside of the
network or from inside it
Network nodes are not mobile
GeoGrid Construction
Plane is divided among N nodes into a
set of rectangular regions r =
<x,y,width,height>
A node p is identified by a tuple <x,y,IP,
port,properties>
Each node maintains a list of its
neighbors
GeoGrid Construction
GeoGrid is constructed incrementally
Start from one node owning the entire
GeoGrid space
Split the space upon new nodes joining
decide which region the new node q belongs (say,
of node p)
split the region in half
hand one half to node q
notify neighbors (they must add q into their lists)
create a list for q from the list of p
GeoGrid Construction
Basic bootstrapping
process for a new node
Obtain geographical
coordinate from a service
Obtain a list of existing
nodes from a bootstrapping
server
Randomly chose an entry
node from the list
Initiate a joining request
contacting to the entry node
Routing in GeoGrid
Location query
Request is tagged
with (x,y)
p issues a query
(x,y); q = p
if q does not own (x,
y) then forward the
request to a
neighbor closest to
(x,y)
Routing in GeoGrid
Two critical issues:
Load balancing
Routing efficiency
Solution:heuristic load balance scheme workload dynamic adjusting
Dual peer technique
Load adaptation technique
Dual peer technique
Improves the overall system reliability
Maps region sizes to the capacities of region
owner nodes
2 nodes share a region ownership
Primary owner node is a node with the larger
capacity
Secondary owner node is a backup node
Dual peer technique
Node join:
First 3 steps are the same as in basic GeoGrid
Chose a neighbor region that has one owner and
the least capacity
If no such region exist, chose the region with the
least primary node capacity
Split the region and becomes a primary owner
node of the region
Node departure
Secondary owner departure causes no change
Primary owner must inform neighbors
Dual peer technique
Failure recover
Status information is periodically synchronized b/w
primary and secondary nodes
Failure of a node:
If the primary node leaves, the secondary node
becomes the primary
If the secondary node leaves, the region becomes
half-full
If both nodes die, what happens?
Dual peer technique
Avantages
Improves the fault
resilience
Reduces the number
of region split
operations
Improves the system
load balance
Dynamic workload adaptation
Main idea: balance workload distribution by
selectively assigning new nodes to the most
heavily loaded regions in its neighborhood
Three basic rules:
Use local adaptation instead remote one (less
operation overhead)
Use secondary peer switching/moving (for primary
peer the ops costs more)
Region split/merge are expensive – should be
used with less priority
Conclusion
Experimental results show that GeoGrid
can reduce the workload load imbalance
by an order of magnitude
Unique design:
Use of geographical mapping of nodes to
regions; improved routing
Dual peer and Dynamic workload
adaptation techniques reduce load
imbalance and improve fault-tolerance
Download