05.06.2015 Views

Location Based Web Search on GSM/GPRS Mobile ... - WWW2006

Location Based Web Search on GSM/GPRS Mobile ... - WWW2006

Location Based Web Search on GSM/GPRS Mobile ... - WWW2006

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> <str<strong>on</strong>g>Based</str<strong>on</strong>g> <str<strong>on</strong>g>Web</str<strong>on</strong>g> <str<strong>on</strong>g>Search</str<strong>on</strong>g><br />

<strong>on</strong> <strong>GSM</strong>/<strong>GPRS</strong> <strong>Mobile</strong> Devices<br />

VVS. Naresh, Prasad Pingali, Vasudeva Varma<br />

Internati<strong>on</strong>al Institute of Informati<strong>on</strong> Technology, Hyderabad, India<br />

Murali Krishna Punaganti Venkata<br />

Nokia Research Center, Helsinki, Finland


Agenda<br />

•Introducti<strong>on</strong><br />

• Soluti<strong>on</strong> Outline<br />

• Steps Involved<br />

•Open Issues


Current search<br />

• Obtained from http://mobilesearch.nokia.com


Introducti<strong>on</strong><br />

• Goal of this project : Provide a <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> <str<strong>on</strong>g>Based</str<strong>on</strong>g><br />

<str<strong>on</strong>g>Search</str<strong>on</strong>g> (LBS) for <strong>GSM</strong>/<strong>GPRS</strong> based mobile devices.<br />

• <strong>GSM</strong> is a dominant mobile ph<strong>on</strong>e system.<br />

• <strong>Mobile</strong> devices most suited for locati<strong>on</strong> based<br />

services, because they are “mobile”<br />

• <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> based services were tried <strong>on</strong> desktops using<br />

IP addresses for an<strong>on</strong>ymous users.<br />

– e.g. URL redirecti<strong>on</strong> based <strong>on</strong> user's IP address


Soluti<strong>on</strong> Outline<br />

• The soluti<strong>on</strong> can be seen as<br />

two main steps<br />

– Obtain <strong>Mobile</strong> Device<br />

<str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g><br />

– <str<strong>on</strong>g>Web</str<strong>on</strong>g> search using <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g>.<br />

• Difficulties Involved<br />

– Obtaining the locati<strong>on</strong> string<br />

database<br />

– Refining and re-ranking results<br />

• Open Issues<br />

– Standardizati<strong>on</strong> of locati<strong>on</strong><br />

parameters<br />

– Privacy Issues<br />

– Security Policies


Steps Involved<br />

• Displayed locati<strong>on</strong> string not accessible for<br />

third-party applicati<strong>on</strong>s<br />

• <strong>Mobile</strong> Device <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> needs to be inferred<br />

– Get <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> Codes from Device<br />

– Lookup <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> Codes to get <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> Names<br />

• <str<strong>on</strong>g>Web</str<strong>on</strong>g> <str<strong>on</strong>g>Search</str<strong>on</strong>g> Using <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g><br />

– Query Expansi<strong>on</strong><br />

– <str<strong>on</strong>g>Web</str<strong>on</strong>g> Meta-<str<strong>on</strong>g>Search</str<strong>on</strong>g><br />

– Merge and Rank <str<strong>on</strong>g>Search</str<strong>on</strong>g> Results using a Weighted<br />

Ranking functi<strong>on</strong>.<br />

– Default Ranking is based <strong>on</strong> Granularity of<br />

<str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g>.


Obtain <strong>Mobile</strong> Device <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g><br />

• Internati<strong>on</strong>al <strong>Mobile</strong> Subscriber Identity (IMSI)<br />

• used for identifying a mobile ph<strong>on</strong>e subscriber<br />

• Maximum length of code being 15 symbols<br />

• Composed of three different parts<br />

• MCC (<strong>Mobile</strong> Country Code)<br />

• 3 digits fixed length<br />

• MNC (<strong>Mobile</strong> Network Code)<br />

• 1-2 digits, variable length<br />

• MSIN or MIN (<strong>Mobile</strong> Stati<strong>on</strong> Identificati<strong>on</strong> Number)<br />

• maximum 10 digits , variable length<br />

• <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> Parameters of Interest<br />

• Totally 4 parameters<br />

• Two from IMSI which are standardized by ITU-T (The Internati<strong>on</strong>al<br />

Telecommunicati<strong>on</strong> Uni<strong>on</strong> – Telecommunicati<strong>on</strong> Standardizati<strong>on</strong><br />

Sector):<br />

• <strong>Mobile</strong> Network Code (MNC)<br />

• <strong>Mobile</strong> Country Code (MCC)<br />

• Two from Service Provider Specific Informati<strong>on</strong><br />

• <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> Area Code (LAC) and<br />

• Cell ID


Get <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> Informati<strong>on</strong><br />

• The Symbian C++ (series 60 versi<strong>on</strong>-2.1) code<br />

snippet to get all four locati<strong>on</strong> parameters<br />

from a mobile device looks like this:<br />

RTelServer server;<br />

CleanupClosePushL(server);<br />

User::LeaveIfError(server.C<strong>on</strong>nect());<br />

User::LeaveIfError(server.LoadPh<strong>on</strong>eModule(_L("ph<strong>on</strong>etsy.tsy")));<br />

RTelServer::TPh<strong>on</strong>eInfo info;<br />

User::LeaveIfError(server.GetPh<strong>on</strong>eInfo(0, info));<br />

RBasicGsmPh<strong>on</strong>e ph<strong>on</strong>e;<br />

CleanupClosePushL(ph<strong>on</strong>e);<br />

User::LeaveIfError(ph<strong>on</strong>e.Open(server, info.iName));<br />

MBasicGsmPh<strong>on</strong>eNetwork::TCurrentNetworkInfo ni ;<br />

ph<strong>on</strong>e.GetCurrentNetworkInfo( ni ) ;<br />

TInt MCC = ni.iNetworkInfo.iId.iMCC; //<strong>Mobile</strong> Country Code<br />

TInt MNC = ni.iNetworkInfo.iId.iMNC; //<strong>Mobile</strong> Network Code<br />

TInt locati<strong>on</strong>areacode = ni.i<str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g>AreaCode; //<str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> Area Code<br />

TInt cellId = ni.iCellId;<br />

//Cell ID


Query Expansi<strong>on</strong> & <str<strong>on</strong>g>Search</str<strong>on</strong>g><br />

• Query Expansi<strong>on</strong> for each <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> Name<br />

Individually.<br />

• Three types of expansi<strong>on</strong> using<br />

– Country name (MCC)<br />

– City Name/ Regi<strong>on</strong> Name (LAC)<br />

– Regi<strong>on</strong> Name within City (CellID)<br />

• Regi<strong>on</strong> being most granular, Country being<br />

least granular informati<strong>on</strong><br />

• <str<strong>on</strong>g>Search</str<strong>on</strong>g> Results merged, ranked using<br />

granularity of locati<strong>on</strong>.<br />

• Ranking functi<strong>on</strong> weights are tunable.


Example <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> <str<strong>on</strong>g>Based</str<strong>on</strong>g> <str<strong>on</strong>g>Search</str<strong>on</strong>g> for<br />

“Chinese Restaurant”


Example <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> <str<strong>on</strong>g>Based</str<strong>on</strong>g> <str<strong>on</strong>g>Search</str<strong>on</strong>g> for<br />

“Chinese Restaurant”


Example <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> <str<strong>on</strong>g>Based</str<strong>on</strong>g> <str<strong>on</strong>g>Search</str<strong>on</strong>g> for<br />

“Chinese Restaurant”


Example <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> <str<strong>on</strong>g>Based</str<strong>on</strong>g> <str<strong>on</strong>g>Search</str<strong>on</strong>g> for<br />

“Chinese Restaurant”<br />

The above results are from a locati<strong>on</strong> in India-Hyderabad- Banjara Hills


MNC – 013 –Service Provider “C”<br />

Service Provider A<br />

Service Provider B<br />

Service Provider C


MCC – 404 - India


LAC – 2711 Hyderabad


CellID – 04BE<br />

Banjara Hills


Obtaining the <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> Database<br />

• Difficulty in Obtaining <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> Database<br />

because<br />

– Three of the four <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g> parameters vary across<br />

service providers except MCC (<strong>Mobile</strong> Country<br />

Code).<br />

• Used community effort to populate the<br />

database.<br />

• Applicati<strong>on</strong> prompts user to identify any<br />

unknown locati<strong>on</strong> codes. Users help<br />

populating the database.


Issues<br />

• Not all locati<strong>on</strong> parameters are standardized.<br />

Therefore makes the task much more<br />

complicated than IP address to <str<strong>on</strong>g>Locati<strong>on</strong></str<strong>on</strong>g><br />

mapping in desktops.<br />

• Open issues<br />

– User Privacy<br />

– Security


Questi<strong>on</strong>s??

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!