Localised service broadcasting for mobile phones

Design Team Members: Siddarth Pandit, Gregory De Souza and Nishant Sinnadurai.

Supervisor: Professor Sagar Naik

Background

The emergence of mobile phones, and in recent years, more powerful Internet-enabled smart- phones is challenging conventional approaches to web publishing and website design; such devices make it possible to access the Internet practically anywhere. Accessing the web's many resources anywhere and at any time is extremely useful. But arguably most mobile phone users do not use the web in a conventional manner.

Most, if not all websites on the web are not designed for use on mobile phones, but more importantly, such sites are not even aware of the context in which mobile users access their sites (e.g. device screen size and rendering limitations).While conventional websites can gain from offering context-sensitive web services, retail businesses of all kinds would also stand to benefit by providing location-sensitive web services. Therefore there exists a need to be able to deliver localized content to user mobile phones.

Project description

The below displays the three main components of the proposed solution. Namely, the

(i) base-station and application protocols

(ii) client software

(iii) localised web services

proposed solution including all components of the system

Figure 1: Proposed Solution

It is desired that each base station has a globaly unique identifer (GUID) associated with it (e.g. a MAC address), each smartphone has a browser and a persistent Internet connection. Furthermore, as shown in the diagram, the base station is responsible for broadcasting (or pushing) the GUID of the base-station. The base-station broadcasts this information in accordance to the application protocol which operates a layer above the physical (communication) protocol. On the smartphone, the client software is responsible for leveraging the smartphone's OS API, and pulling the GUID of the base-station in proximity (step 2). The smartphone must also make available a browser with which the localised web services associated with the base- station's GUID can be accessed (step 3). Once that has been accomplished, further services can be accessed by the user using the inbuilt webbrowser pointed to the URL given by the basestation.

Design methodology

Base station

Each base station will be set up as a wi-fi network in infrastructure mode. Compared to the alternative, ad-hoc wireless networks, infrastructure mode networks offers the advantage of scalability, centralized security management and improved reach. Setting up the base station in infrastructure mode would imply that the bssid would be the mac address of the base station. Using the mac address and the ssid from the broadcast beacons the device software will decipher the service providers name and information. The base station will not accept any incoming requests from devices for service conection. This will serve as a deterrent to any security threats. The main aim of the base station is to provide the ssid, power level, and the bssid parameters to client devices. This information will then be used by the device for getting further information about a service provider. To stream line this process the ssid will be transmitted in a set format. The ssid will have a maximum length of 32 octets and will always start with loc:// and end with a domain (such as .co.in or .com).

Client software & web services

The chosen platform for development was the open source android platform. Android was selected because it allows more accessibility to the wi-fi stack than the blackberry OS 4.7 and the windows mobile 6 SDK.

The client software is comprised of the protocol layer, application layer and the main application. The protocol layer interfaces with the wi-fi driver on the handset to read two parameters from the networks in its vicinity. The two parameters are the BSSID (which is the MAC id because the base station is set in infrastructure mode) and the SSID (in the format declared above). Both these parameters are available in the broadcast from the base station(s) within a given local area. The application layer will run as a background process on the device. The application will receive events from the low-level client software whenever new service providers are detected. These events will then be relayed to the user via Android's notifications system.

When the Client layer successfully pulls the Base Station's MAC address and SSID, it is stillunaware of the URL for the web services. A MAC-to-URL Mapping Service is therefore necessary for the Client App to query for information such as the user's current location. For example, where the SSID of the Base Station is http://toronto.ca and the MAC address of the broadcast is 03A4B135435AB13.

The Mac2Url service would send a HTTP requesting

-----------------------------------------------------

Get http://toronto.ca/mac2url/03A4B135435AB13.

--------------------------------------------------------

The response will actually be a standard HTTP redirect response:

-----------------------------------------------

HTTP/1.1 302 Found

Location: http://www.toronto.ca/locations/5/

Content-Type: text/html

-----------------------------------------------

The user then will then be able to navigate to the main application, where a list of service providers will be displayed.

From the main application, the user will be able to select a service provider. This will launch Android's built-in browser application. The browser will point to the decoded URL and will display the web services provided by the service provider.The main application is the portion of the client software that aggregates and displays information about service providers for the user. The main application is responsible for:

1. Display a list of service providers in the local area. The application will also have options to display past service providers that are no longer in the local area.

2. Provide basic information about each service provider. This will include a description of the service provider and the services that it provides. Other information, such as an image, may be displayed.

3. Provide maps of current and past service providers and their locations. Maps may include street-level, satellite, or other views.

4. Allow the user to select a service provider and quickly access its web services.