You are on page 1of 14

c 


 

Question 1 [30 marks]


i). [4 marks] What is pervasive computing?
a computing that ³pervades´ into our life (Mark Weiser definition)
a mobile computing, ubiquitous computing
a Mobile devices and devices (embedded) in the environment (and surrounding users)
working together
a Computing involving mobile devices and often wireless networking
a Originated from the idea of ubiquitous computing by Mark Weiser:
a ³The most profound technologies are those that disappear. They weave themselves into
the fabric of everyday life until they are indistinguishable from it.´
a Related topics: invisible computing, disappearing computer, ambient intelligence
a Embedding computation/computers into everyday life
a Vision of devices or computers pervading lives (almost synonymous with ³ubiquitous´)
a IBM Chairman Lou Gerstner once describe: ³« a billion people interacting with a million e-
businesses with a trillion intelligent devices interconnected.´
a Very much fuelled by advances in new devices (gadgets), wireless networking and the
Internet
a Harnessing & User interacting with
a    
  
  
a           
a è               
a £                 
a Bringingthecomputertowheretheactionis

ii). [4 marks] Give two examples of pervasive computing applications and explain the
characteristics of these applications that make you classify them as pervasive computing
applications?
a Such as billboard advertisement, user type input from her mobilephone ± it will appear in
the billboard
a Locate places of interest, user find places in which she is currently in the area.
- RFID Based Maintenance at Frankfurt Airport (Slides11.1)
- Total Navigation Support in Japan
- SMS Games
a The characteristic of the applications: mobile and ubiquitous, the technology is applicable
anywhere, anytime and anyway to access data, knowledge, computional support or
resources. It includes everyday life activites of devices user and the user environment.
Both devices are embedded in the environment.

iii). [6 marks] What are the main characteristics of the mobile computing environment
that makes it different from the desktop computing environment? [Hint: Consider the
characteristics of mobile devices, wireless communication and the typical user of mobile devices.]

a characteristics of ÷ireless communication:


a frequent disconnections, predictable disconnections
a physical support for broadcast
a asymmetry: data volume from server to client > client to server; downlink and
uplink difference, small number of servers for many clients
a monetarily expensive
a relatively unreliable
a high bandwidth variability (e.g., susceptibility to interference), low bandwidth
a characteristics of mobile evice
a limited resources: limited memory, limited computational power, small screen
a limited battery life
a variability of resources across device types
a frequent location updates
a characteristics of user: on the move, less patience (expects just-in-time information), may
change devices

iv). [6 marks] Compare application-aware adaptation and application-transparent adaptation ±


what are the advantages and disadvantages of each?
a Application-awareness of adaptation: how much should an application be aware of an
adaptation?
a Two extremes:
a Laissez-faire adaptation: no system support, each application is built with the ability
to adapt
a E.g., a multimedia application is built with features to adapt to changing
network conditions (change from colour to B&W frames as bandwidth
drops)
a Application-transparent adaptation: the application is not even aware of
adaptations (done by another system)
a E.g., the multimedia application does not know that adaptation is taking
place ± an external system detects the low bandwidth and notifies the
server to send B&W frames, which are then forwarded to the application
a Time contraints
a Middle-ground: collaboration between the application and a system (designed to aid with
adaptations)
a Transparency: transparent in the sense that certain characteristics of a system are hidden
from (i.e. transparent to) the user
E.g.:
a V VV : users can access the same data from different devices
a ½ V VV : users can access the same resources independent of
location
a ÔV ½VV : users do not notice that there has been failure

a Example ±
In Odyssey, the role of the operating system is to sense external events (such as connectivity and
physical location changes), and to monitor and allocate resources (such as network bandwidth,
cache space, battery power, and communication budget).
In contrast, the role of individual applications is to adapt to changing conditions by using the
information and resources provided by the operating system. (the application subscribes to
notifications about changes via the Odyssey API)
The nature of the adaptation is specific to the application. For example, in accessing video data,
degrading the display from full motion color to black and white, and thence to slow-scan might be
appropriate. But when accessing map data, the meaningful form of degradation might be to lower
the resolution and minimum feature size represented. The overall goal is to minimize the need for
active intervention by users to cope with the consequences of mobility. For example, it is
inappropriate to require the user to use a different video display program when bandwidth drops.
a ×  does lo÷er fielit cause t e reuce po÷er consumption?
As t e fielit of t e vieo is reuce t e processor can operate at corresponingl lo÷er
clock frequencies since t e neee computation per frame is smaller. ×it suc a
processor t e total energ use b t e lo÷est fielit ÷ill be significantl reuce.

v). [10 marks] Oracle Lite architecture and MySQL Server on Mobile are two examples of mobile
database systems.

a). [4 marks] Draw a diagram to show the main architectural components in a typical mobile

database system.

b). [4 marks] Explain how a mobile database system supports data hoarding, disconnected
operation and reintegration/synchronization. [Hint: Comment on why certain components are
present in the architecture and what the functions of these components are.]
Mobile database system supports: (Slides 1.4, no 47)
a data hoarding (Oracle Lite DBMS- client side) Hoarding: preload data onto a mobile device
to allow continued operation during disconnection; need to reintegrate after reconnection.

a disconnected operation (Mobile Lite SQL and DB Lite DBMS ), update a hoard (snapshot
unit), updates at Client

a Oracle DBMS-server ±main DB which stores


a and reintegration/synchronization (Mobile sync module- middleware) use two way
synchronization protocol, complete and incremental. eg: SyncML (Synchronization Markup
Language) prescribes a (XML) language and protocol for representing data exchanged
between mobile host (MH) and server host. This is so that different devices can agree on
the format for data being exchanged, for otherwise, it is difficult to synchronize data across
multiple devices without an agreed representation and protocol
thus ensure connectivity.

c). [2 marks] Do existing mobile database systems support the push (broadcast) mode of delivery
or pull (query) mode of delivery in bringing data from the stationary server to the mobile device?
Push

Question 2 [30 marks]


i). [10 marks] In developing a J2ME application which needs to obtain a lot of data
from the server during its operation, we would like to reduce user wait time if
possible, or at least, to allow the user the sense of being in control over the user
interface. Give three techniques that can be used to either reduce user wait time or
help the user maintain control over the user interface while data is being downloaded.
Multi-threading
³When used properly, threads let the application's user interface remain responsive while it
performs lengthy operations like network communication or very complicated computations
Caching (Slide 1.4 no.49)
Prefetching

- Try to use thread, runnable, so while data is being load, user can do other activities, this
will not effect user
- Keep user informed of what happen (put gauge for processing an action), so with this
visual feedback, user will know current situation.
- Control the program, such as put wait form, so the user will have to wait and cant do other
activities, this is to control the process such as for data is in high volume.
- Chunk data to be sent, such as sent data in multiple SMS, and sent it in friendly way, such
as sent it as part1, then part2, so user know the sequence of data being sent.

ii). [8 marks] The figure below illustrates the lifecycle of a MIDlet application.
Method Description

startApp() Called by the AMS when the MIDlet starts to recover


from the pause state

estroApp() Called by the AMS when the MIDlet is terminated

pauseApp() Called by the AMS when the MIDlet is paused

notifyDestroyed() Called by the MIDlet. It asks the AMS to destroy the


MIDlet itself

notifyPaused() Called by the MIDlet. It asks the AMS to pause the


MIDlet itself.

resumeRequest() Called by the MIDlet. It notifies the AMS that MIDlet


desires to come out of the paused state and become
active again

a MIDP applications are managed by the Application Management Software (AMS


(the execution environment for MIDlets)) on devices. MIDP applications, or
³MIDlets´, move from state to state in their lifecycle according to a state diagram

a Paused ± initialized and waiting


a Active ± has resources and is executing
a Destroyed ± has released all resources, destroyed threads, and ended all activity

a). Explain why the ³Paused´ state is useful. Initialize and waiting, release any shared resources
and leave your MIDlet in a quiescent state, because the AMS or device OS will be bringing
another application to the foreground.

b). Which method is called when the MIDlet first starts up? startApp()
c). Which method is called when the MIDlet is paused? pauseApp()
d). In programming a MIDlet, which method(s) must the programmer implement? startApp()
estroApp() pauseApp()

iii). [6 marks] What is meant by a m

½ Vfor mobile applications? Give two examples of such


a middleware.
software that supports mediation between other software components, fostering interoperability
between those components across heterogeneous platforms and varying resource levels
or
software layer between the operating system and the applications that provides a higher degree
of abstraction in distributed programming
or
middleware for mobile computing platforms ± e.g., Odyssey is an application-aware adaptation
middleware
a Vertical: application area specific (e.g., basic library of functionality for automotive
applications)
a Horizontal: provides a particular functionality (e.g., service delivery) usable by different
applications
£  
   

iv). [6 marks] Below recall the set of commands used for controlling a MIDlet.

a). Explain why the command API is termed as ³Abstract´.


a u                     
       
The command is provided by the MIDlet, need to create codes to implement it.

b). In an application with many commands, why will certain commands be mapped to a submenu
(and accessible via more than one button presses) whereas other commands are accessible
directly via only one button press?
Because soft button, because there are more than 2 commands, so the menu will be
automatically created.

c). In a submenu containing three commands (³delete´, ³update´ and ³execute´), how will you
ensure that the command ³execute´ is at the top of the submenu, and the command ³delete´ is at
the bottom of the submenu?
    


Question 3 [40 marks]

i). [4 marks] What is the general layered abstract architecture for context-aware computing
applications?
ii). [8 marks] What would be the main components of a context-aware computing application,
according to the Context Toolkit architecture?

(Slie 7.7)

iii). [4 marks] What does the term ½ V m


½mean in context-aware computing? (Slies 6.2)
a A location model determines how locations are to be represented
a Basically represented using 
V
a A 
V is an identifier which specifies the position of an object with respect to a
given coordinate system
a Examples:
a Geographic coordinates (e.g., used in GPS) are expressed as triples:
(<longitue> <latitue> <altitue>)
Longitude: 0-180 degrees east or west of the Greenwich Meridian
Latitude: 0-90 degrees north or south of the equator
Altitude: height in metres above sea level
a Your own x,y,z value with respect to a local Cartesian reference system
a Active Badge: coordinates are the symbolic identifiers of the fixed IR sensors

a Two basic classes of coordinates:


a Geometric coordinates: defines position in terms of numbers meaningful in terms of
a geometrically based reference coordinate system - global/local, e.g., GPS is
based on World Geodetic System 1984 (WGS84) as a standard global reference
system
a Symbolic coordinates: defines position in terms of abstract symbols (e.g., room
name, street name, sensor identifiers of the Active Badge system)
a Often what we do is map geometric coordinates to symbolic coordinates (i.e., symbolic
names), thereby ³interpreting´ the numbers

iv). [12 marks] Consider the following two computer applications:


a). a system for tracking the whereabouts of expensive movable equipment in a factory, and
b). a system that issues advertisements about special sale offers (in a shopping area such as
Melbourne¶s Bourke Street mall) to the smartphones of subscribers.
Describe the location model (give also the level of granularity you would use) and positioning
technologies would you use for each of these computer applications.
Explain your reasons briefly.

a) 
Location model: Symbolic location models:

Set-based models: represent (collective) relationships between locations by a simple set


of symbols (e.g., a set of room numbers); operations on such a model are then based on
set operations
Granularity: rooms (in meters)
Positioning Technologies: Tag based: RFID, IR (Active Badge)

b)
c)

Location model: Geocoding
Positioning Technologies: Wireless networking based: Bluetooth, cellular networks (Cell
ID identified using the Base Stations), Wireless LAN (e.g., www.ekahau.com).
On a mobile phone, location provider depends on the location information - might be cell
ID, GPS coordinates or symbolic (using IR or Bluetooth based beacons). Hardware of the
phone determines what location method the API calls map to, varies depending on the
actual device the API has been implemented on
Symbolic location models: hierarchical model, Granularity: shops

a Uses of location models:


a Position queries: where is <this object>?
a Nearest neighbour queries: what is within a distance  of <this object>?
a Navigation: how do I get from A to B?
a Range queries: what are all the objects within this area?
a Visualization: can I see what is around me?
a Depending on the type of queries to support, the location model needs to represent object
positions, distance functions, topological relations (e.g., containment and connectedness),
and orientation (with respect to some frame of reference)

v). [12 marks] Consider the case study of an ambient services application as below.
The user can receive updates of different services when in different shops and zones/areas.


For example, the user sees a different list of services when in different areas/zones.

 
a). [6 marks] Given the floor plan above with shop areas, each at least of size 8m by 9m, describe
a solution to provide zone-based positioning to determine which zones (i.e., shop areas) users
would be located in - describe the technologies you would use, e.g., hardware and software
required, and your reasons, and state any assumptions you make.

Technologies used: mobile devices (client-side UI)


+ positioning server (Ekahau Positioning Engine ± keep track of mobile users in a WLAN)
+ server module to coordinate server-side operations, consisted of :
1) Service Calculation Engine ± calculate logical areas of users currently in
2) service database - calculate service domain, mapping areas to services
Assumption:
Web services assume present in remote servers,
There is constant connection between EPE an SCE
on change of location: used push based, symbolic location

OR other technology: Bluetooth ± push messages to friends nearby


Zone based positioning user would be located in using?
Technologies? Sensors?
Or user mobile device will receive signals from IR, BT connection, RFID reader in the device
b). [6 marks] You have been asked if a positioning technology that can only provide an update of
the user¶s location once every 15 seconds (and this is the fastest it can do so) will be useful for
building this application. Would the time of location update of 15 seconds be good enough for the
above application?
Explain your answer.
a Performance matters: user wait time vs time-spent by user in the area; also consider size
of areas

a erformance estimation (Time in secon):


T(service upate) =
T(tracking user¶s location) (2)
+ T(accessing t e atabase) + T(calculating services) (5)
+ T(transmission of ata bet÷een service engine an mobile evice) (1.2)
Total= 8.2

This is standard of EPE system characteristics


Other form is using RFID tag worn on a person is faster to detect change of location.
So, 15 seconds for location update for that particular application is not good enough as tracking
user¶s location using standard EPE system (approximately 2 seconds) or by RFID because the
system is slower compared to user change of location. The system is lag behind the user.
Therefore the services available may not be detected in that range of time.

Question 4 [25 marks]


i). [7 marks] Explain (using diagrams and examples) the concept of Radio Frequency (RF)
fingerprinting, as a technique for positioning.
Use Access points to measure the signal strength
1) calibration get the signal strength for reference point
2) get the signal points strength for the device
3) compare with reference
Handout cisco pg 7, 25

ii). [3 marks] Propose a method to improve the accuracy of RF fingerprinting. Explain why your
method would improve the accuracy.
Instead of 3, add more access points because more signals reading is better for circle. Refer
CISCO handout 11

iii) [7 marks] Explain why at least three WiFi access points are required for Received
Signal Strength (RSS) triangulation for WiFi. Draw diagrams and provide examples in explaining
your answers.
If there is only two APs there will be another point which have the same distance, that¶s why need
three AP at least.
Because all the access points is spread out, different angle distinguish each APs, the similar
strength look same. Greater chance for different APs.
This method will compare signal strength measurements from access points at different distances
away. (Slide 7.5)

iv). [8 marks] Given the floor plan below, the three small shaded circles represent the positions of
(the only) three WiFi access points on the floor. Are these three positions for access points the
best for positioning using Received Signal Strength (RSS) triangulation? If not, provide better
positions for the three access points for positioning, and justify your answer.
[HINT: Explain why the position of the WiFi access points are important for Received Signal
Strength (RSS) triangulation for WiFi. Draw diagrams and provide examples in explaining your
answers.]
Gisco page 9 1. T e most important«..
Calibration, each signal strength is unique where (a, b, c) is compared with all point.
(a ±s1)2 + (s2-b)2 +(s3-c)2

Question 5 [25 marks]


i). [20 marks] Consider an orchid (a type of flower) plant industry.
Based on:http://www.discoverrfid.org/what-is-possible/get-what-you-want/fresh-flowers.html
Orchids are grown at a farm and then put into pots. The pots of orchids are placed in durable
boxes, and then moved from the farms to warehouses, and then subsequently from the
warehouses to retail stores. However, since each pot of orchid can be quite expensive (up to $70-
$100 each), along the way, some of these orchids may simply be lost, stolen, or even wilted (i.e.,
go bad), leading to financial losses for the industry. Also, it is important that the relevant parties
(including orchid growers at the plantation, retail stores and distributors who own the warehouses)
be informed of such lost or wilted orchids as soon as possible. Sometimes, if counting of orchid
pots or boxes is done manually, miscounting of pots or boxes of orchids can happen and this
could lead to false alarms or undetected losses. Explain how you would design a system to track
the flowers as they are moved from place to place in order to reduce such incidents of thefts or
losses, and to monitor over-length storage or poor storage (the flowers could wilt if stored at a
place for too long or stored under wrong conditions of lighting and moisture). In your description,
give:
‡ the technology you would use and how you would use that technology, and
‡ the reasons (or rationale) behind the technologies you propose.
You can draw diagrams to illustrate your answer. State any assumptions you make for your
solution.
[Hint: Be as specific as possible within the given time constraints. For example, if you use RFID
technology and various types of other sensors, then specify what type(s) of RFID tags (and/or
sensors) will be used, how many readers (and/or sensor nodes of each type) and where the
readers (and/or sensors) will be placed, how many bits for RFID tag IDs used, what items are
actually tagged (and/or what sensor information is to be obtained using the sensors) what
databases are required to store information about the tagged items and roughly sketch what
would be in these databases, etc]

Technology used: RFID semi (no battery), put tag at flower pot. Choice of tag semi passive, so
don¶t have to change battery because life time to track flower pot not too long.
Plantation to retails store is approximately 2-3 days. Readers can be put to all location involved:
- Plantation
- Warehouse
- Vehicles
- Retail stores
Example diagram refer slide MPC topic 3-RFID

ii). [5 marks] What are the advantages of standards for Radio Frequency Identification (RFID)
technologies (such as the EPCglobal standards)?
It standardized the format of ID, make international business compatible to any country. An easy
and fast way to track the goods whereabouts.

Question 6 [15 marks]


i). [2 marks] Do Bluetooth devices require ³line-of-sight´ in order to connect to each other, that is,
if there are obstacles between two Bluetooth devices, would the obstacles obstruct their Bluetooth
connectivity? No need for ³line-of-sight´

ii). [5 marks] From http://www.intomobile.com/2009/04/13/bluetooth-pen-helpsexam-


cheating.html. (brackets are text I added): ³It¶s not exactly the most honourable of accessories,
but definitely one of the more ingenious I¶ve seen in awhile. This (µspy¶) pen takes calls through
your cell phone via Bluetooth, and allows you to speak into the rear of the pen while listening to
answers from a small headset (i.e., the µspy¶ earpiece). Don¶t worry about proctors (or lecturers)
spotting the earpiece ± it¶s about half the size of a paper clip, and an even smaller `nano`
earpiece is also available.´ In other words, the cell phone connects to the spy pen via Bluetooth
and to the spy earpiece via Bluetooth as well.

Assuming that these devices (the spy pen and spy earpiece) always have the same standard
Bluetooth device name ³spy´ (though each has a different MAC address), Device a method to
detect persons (within an exam hall) that may be using such a method to cheat. State any other
assumptions you make.
Put a Bluetooth sensor so any Bluetooth signal used in the exam hall will be detected.

ÿT in Action
‡ Phase 1: device discovery
‡ Phase 2: service discovery (there must be compatible services on both devices)
‡ Phase 3: application-to-application connection (application-level connection establishment &
communication)

Service Discover
‡ Each device has a database of service records, standardized serviceclassID embedded in UUID
to identify a class of (common) services
‡ A device can interrogate another device to retrieve a list of services on the device
‡ A service record contains information about a service available on the device, accessible via BT
‡ There is an API to register a service, i.e. to add service records to the service DB
(Slide 8.3)

iii). [8 marks] Consider the following code fragments from a Bluetooth application called BTApp.
«
import javax.bluetooth.DiscoveryListener;
«
public class BTApp implements Runnable, DiscoveryListener {
«
private Vector devices = new Vector();
«
/* in some method, a Bluetooth inquiry is started */
discoveryAgent.startInquiry(DiscoveryAgent.GIAC, this);//put the mobile in query mode
«
public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) {
// same device may found several times during single search
if (devices.indexOf(btDevice) == -1) {
devices.addElement(btDevice); //it will add the device to the list µdevices¶

}
}
«
}
a). [4 marks] Based on only the code fragments above, explain, in your own words, what BTApp
would likely be doing when it executes and starts to discover other Bluetooth devices.
BTApp firstly try to detect device with DiscoveryListener, then, once discovered, establish BT link:
pairing

‡ Phase 2: service discovery (there must be compatible services on both devices)


‡ Phase 3: application-to-application connection (application-level connection establishment &
communication); it is a parameter of a connection whether authentication, encryption, or
authorization is required

b). [4 marks] Mr. Jack Chan owns a restaurant though is seldom there himself. He wants to know
‡ how crowded his restaurant can get at different times of the day, and
‡ if the same people goes to his restaurant, and how often they go, that is, are there regular
customers?
Explain briefly (you do not have to give any code) how you can use BTApp to help Mr. Chan with
the above, and what shortcomings (if any) of this approach might be.
Detect if same person entered his restaurant.
Set a DB / recordstore ± detect (using BT) ± add the customer to the list with the timestamp (for
how crowded ± count the customer), ID, user profiles for each occurrence.
Shortcomings = customer disable their BT application

Question 7 [15 marks]


i). [5 marks] Explain ³geocoding´ and ³reverse geocoding´.
Geocoding: process of converting geographic coordinates or codes into map features and
symbolic names, such as street addresses. Eg: -37.1899 and lon 144.76765 for Melbourne City
Reverse geocoding: convert the symbolic names to geographic coordinates, this is harder.

Example Google and Yahoo both have their own geocoding APIs . Eg: La Trobe University
(Slide 6.2)

ii). [10 marks] J2ME specifies a library to support GPS based location information, that is, JSR
179.
a). [5 marks] Consider the J2ME code fragment below.
Criteria cr = new Criteria();
cr.setHorizontalAccuracy(10);
LocationProvider lp =LocationProvider.getInstance(cr);
Location l = lp.getLocation(60);
Coordinates c = l.getQualifiedCoordinates();
if (c != null ) {
double lat = c.getLatitude();
double lon = c.getLongitude();
} ...

With GPS coordinates, the latitude N 25° means 25 degrees north of the Equator. The latitude S
22° means 22 degrees south of the Equator, which can also be written as the negative number -
22°. And similarly with longitudes, east or west of a reference line Greenwich Meridian (which is
defined to have longitude 0°).
Given that the user is at location (latitude) N 10° and (longitude) W 75° (minus), when the above
code fragment is executed on the user¶s phone (which has an integrated GPS receiver), explain
what the above code does as detailed as you can, and give the values of lat and lon.
The code will find the location specified from the criteria with accuracy of 10(is it meter?) and in 60
seconds timeout. Then it get the coordinates in longitude and latitude form.
lat is 10.0000
lon is -75.0000

b). [5 marks] Linda Smith would like to build a social network application called ³Surprise!´ using
JavaME. In her JavaME application, whenever a Facebook friend (www.facebook.com is a social
network web site where a person can list his/her friends) comes within 20m of her, then
(assuming that the Surprise! application has been installed on her phone and on her friends¶
phones), an SMS application will be automatically sent from her phone to her friend¶s phone. She
needs your advice«.
Provide pseudo-code for the main logic for this JavaME application, mentioning the JavaME APIs
for messaging and positioning she might use in her application (including the classes and
methods of the API she should use, where applicable) and features of the JavaME Application
Management System (AMS) that she shou . 
1.create a connection

2. setMessageListener(ml)
[ml is any instance of a class that implements MessageListener interface and provides a definition
for the method notifyIncomingMessage(..)]
3. wait for messages
4. be notified of message & handle the message in the method notifyIncomingMessage(..)
ld employ. State any assumptions you make.

1. Connect to a location information provider (e.g., GPS)


2. setLocationListener(ll)
[ll is any instance of a class that implements LocationProvider interface and provides a definition
for the method locationUpdate(..)]
3. wait for location information
4. be notified of location & handle the new location in the method locationUpdate(..)

You might also like