ServiceShot: Runtime Service Query System for Location Based Network

advertisement

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

Download