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
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??