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