ServiceShot: Runtime Service Query System for Location Based Network
CS8803H Course Project Proposal
Submitted to Prof. Ling Liu
Gong Zhang
1.
Motivation and Goals
1.1.
Motivations
Location based service system is one of the most growing technologies in today’s computing. More and more mobile applications have been built upon location based networks, ranging from traffic monitoring, to tour guides, to location based advertisements, to event notification [1], driven by the increasing maturity and popularity of positioning technology such as GPS [2]. These applications enable users to request and receive location-aware or location-dependent services while users are moving and thus gain more and more values in computing. For example, as a major map service provider, MapQuest is acquired by AOL for $1.1B in 1999 and cell phone location provider Snaptrack is acquired by Qualcomm for $1B in 2000.
Typically location based service is adopting two paradigms: either accessing centralized service through a database server or distributing the location service workloads among the nodes of peer to peer system. Although the centralized architecture is easy to manage, it is difficult to achieve scalability and fault tolerance.
Thus, building location based system based on peer to peer network poses interesting challenges towards research community.
In peer to peer system, peers can join or leave the system at will and the topology information, service status and neighboring relationship… are dynamically changing.
Moreover, together with the distinguished hot spot query feature of location based service, at one time instant the load state of each node may present quickly-changing features. For example, a node which is monitoring the traffic of the high way from downtown to suburb area may receive much more traffic queries in the evening than in the morning. When a new node joins the system it is wise to join the relatively heavy loaded peer and split its workload to achieve load balance. Thus, providing runtime node load information query for new nodes helps to improve the load balance of peer to peer based location service systems.
Typically, the peer to peer location service system partitions the global service among the nodes in the system and each node is responsible for one part of the global service space. For example, a node in College of Computing may assume the task of serving
all the location service jobs whose geographical coordinates is within Georgia Tech campus. Usually, caching is implemented in the peer to peer based location service network for faster query response and replication is used for fault tolerance. For a new query, it is possible for it to get answer from the nearby nodes of the node which is responsible for the area that the location query is about. If equipped with runtime service information query facilities, a new query may choose the less loaded nodes in proximity to find the answers.
1.2.
Project Goals
In this project, we plan to implement a runtime service query facility for peer to peer based location service network. It aims at the following goals:
Create a runtime location service query tool to help the new node to choose the less loaded node to join and ease the system researcher to collect the location service data
Create a runtime location service query facility for mobile users to better choose the location service job processor in order to achieve the fast query response
This runtime location service query facility will work as a companion tool for any distributed location based service system. As long as it receives the user’s service query, it connects to the location based service system and process the query based on the query’s geographical location information.
2.
Related work
There are two location service projects which may aid the proposed project.
2.1.
mGraffiti mGraffiti [3] is a project providing location-based virtual graffiti space over the electronic map for community. It adopts the client-server model and a centralized database server is responsible to stores all the graffiti and provide registry service for new graffiti. Users navigate the maps and select the locations to read or write graffiti through a client module which is able to connect to the centralized database.
2.2.
GeoGrid
GeoGrid [4] is an ongoing location based service project in DiSL of Georgia Tech. It aims at providing location based service through a peer to peer network. The global geographical space is partitioned among the nodes in the network and each node is responsible for a rectangular zone and serves all the location queries whose geographical coordinates are within this zone. GeoGrid achieve the deterministic location query processing efficiency and provide load balance facilities for hot spot queries.
3.
Proposed work
The query service we are aiming to build is named “ServiceShot”. In this section, we briefly introduce the service scenarios, architecture, components and development tools of ServiceShot,
3.1.
Scenarios
This project aims to process the queries in the following typical scenarios:
Scenario #1: Reading workload information of a node
Jason is a user who owns two computers. In his free time, he likes to contribute his computation power to location based service communities, say GeoGrid. He would like to select the area with the most heavily traffics nearby his location.
He logs on the ServiceShot system, and delivers his location information which is included in a query: “what is the load of the node in Atlantic drive area”.
The ServiceShot system connects with GeoGrid system and runs a lookup for the node which is managing the Atlantic drive area.
The node which is responsible for the Atlantic drive area sends his load information to the requesting ServiceShot module in the remote machine.
The ServiceShot module shows the load information of the node in charge of
Atlantic drive to Jason.
Jason reads the load information of the remote node and decides whether or not to join the node which is managing Atlantic drive.
If this node is heavily loaded, then Jason may select this node to join. If not,
Jason may submit another query on a nearby area to see if there are heavily loaded nodes needing help.
Scenario #2: Reading neighboring information of a node
Jason is interested in the information of neighboring nodes of the node which is responsible for the area where his computer resides.
He submits a query to the ServiceShot system with a query: “what are the nodes around the Atlantic drive area?”
ServiceShot first find the node which is running the Atlantic drive and then query its neighbors to get the load information.
ServiceShot returns the load information to Jason.
Scenario #3: Creating hot spot warnings in a zone
If Jason has one area in which he often join his computer node and this area is frequently having hot spot. Then Jason may create a hot spot warning in this area which is seeable by other users.
When other users who would like to contribute their computation power into the area around this area and its nearby areas, they see the hot spot warning. And they may contribute more of their computation power into this area.
3.2
Summary of ServiceShot Components
ServiceShot aims to consist of the following components:
ServiceShot client application (PDA, Pocket PC, etc)
The client application provides mobile devices with an interface for reading
ServiceShots and writing hot spot warnings. The users can select any location in the Satellite image and query the load information of the node running the around area. The users can also add hot spot warning on any location in the map.
Operations provided to users
Zoom in/out of the map
Navigation to specified address in the map
Select a map location
Read load information for a location
Submit a load information request for a location
Create a warning message for a location
ServiceShot Server
The ServiceShot client connects to a XML web server, which acts as the middleware to query the peer to peer based location service network and returns the query information to specific client.
The ServiceShot service administers the image navigation requests, image files caching. It uses the satellite images provided by Microsoft TerraService web service.
3.3
ServiceShot Architecture
Figure 1 ServiceShot Architecture
In the ServiceShot system architecture, the mobile devices such as PDA are installed with the ServiceShot client which is mainly showing the interface for the user to search or navigate the map. The devices connect to the ServiceShot web server which handles the load information query by submitting lookup request to the peer to peer network. ServiceShot server also stores and caches the query information in the attached database. The map image is typically retrieved by the ServiceShot server from the Microsoft TerraService web service database.
3.4
Development Tools
3.4.1
Available Resource
Micorsoft TerraService web server
Tiger database
3.4.2
Development Tools
Programming Tools
Visual Studio.Net
XML
C#
ADO.NET
ASP.NET
Pocket PC 2005 SDK
Platform
Windows XP
Window Mobile 2003
SQL Server 2003
4.
Evaluation and Testing Method
We plan to evaluate the ServiceShot based on predefined and cached map and service data to test the functionality modules and stability. The real PDA is planned to use to connect to the ServiceShot service and test the interface and performance. Maps with size ranging from Georgia Tech campus map to Atlanta map will be used to feed
ServiceShot. If time permits, we also plan to test it on the real GeoGrid location based service network by querying the load information among thousands of simulated nodes. Finally we will present ServiceShot demo in the workshop.
5.
Plan of Actions
Time Task
Jan 23
Feb 13
Feb 19
Feb 27
Project groups formed
Finish project proposal finish map operation module finish client module
Mar 17
Mar 31
Apr 10
Apr 24
Apr 24 finish server module finish web service setup
Test in PDA
Project presentation demo and project writeup
6.
Bibliography
[1] CS8803 Advanced Internet Application Development, Prof. Ling Liu, Lecture 9,
Georgia Institute of Technology
[2] GPS: http://www.gpsworld.com/gpsworld/
[3] mGraffiti: Scribbling the Virtual Earth, http://www.cc.gatech.edu/projects/disl/mGraffiti/
[4] GeoGrid: A location based service network, Jianjun Zhang, Gong Zhang, Ling Liu,
Technical Report, December, 2006, College of Computing, Georgia Institute of
Technology