Location Based Personal Mobile Computing and Communication
 
H. W. Peter Beadle
G. Q. Maguire Jr.
M. T. Smith
The Institute for Telecommunications Research
University of Wollongong
Northfields Avenue
Wollongong 2522
AUSTRALIA
Computer Communication Systems 
Department of Teleinformatics
Royal Institute of Technology
Electrum 204
S-164 40 Kista
SWEDEN
Computer Peripherals Lab
Hewlett Packard Laboratories,
Building 2U
P.O. Box 10490
Palo Alto, California 94303-0971
U.S.A
e-mail: beadle@elec.uow.edu.au
e-mail: maguire@it.kth.se
e-mail: msmith@hpl.hp.com
Phone +61-42-21-3412
FAX +61-42-21-3236
   
 

Abstract

We are currently investigating the use of highly mobile location aware systems equipped with Badge based location and environment sensors to create environment aware computing and communication systems. When coupled to intelligent servers the sensors and mobile computers provide an unparalleled platform for human centered information environments.

This paper describes the architecture of the Badge, its distributed computing environment, and presents initial results of application development trials conducted by a class of Telecommunications students at KTH.

Keywords: badge, location dependent, location aware, sensor fusion, location tracking, mobile computing, prototype, user trials.

Background

An environment aware mobile computer system is one that makes use of environment information (such as location, temperature, orientation, etc.) to facilitate a human centered information environment that is a priori familiar and known to the user. This allows for an improved interface between the user and many applications, as the computer system can be more aware of the context in which the user is operating.

We provide environment awareness using an artefact we call a Badge. Badges have evolved culturally to make access control and authentication easier. We believe that computer and sensor augmented badges can also act as user interaction devices providing a convenient human-centred way for people to interact with the ever expanding computing and communications environment they find themselves immersed in. Most importantly a Badge provides the last link in the computing and communications environment allowing the "system" to know where the user is and what the environment is like at that location rather than just the network addresses of the user's computing and communication peripherals. The Badge matches the user, the device and the application together, and in a sense creates an interface dynamically that is centered about the human's identity, capabilities and environment. The Badge makes devices instantly useful, even ones the user has never encountered before.

There have been a number of steps towards environment awareness. However, to date most systems have only been location aware, for example: Active BadgeTM work at the Olivetti Oracle Cambridge Research Lab, Ubiquitous Computing Project at XEROX PARC, Adaptive Operating System Services and Applications in Mobile Computing Environments at Japan Advanced Institute of Science and Technology, Walkstation II project at KTH Teleinformatics, especially [Liu96a, Liu96b, Liu96c], Dataman project at Rutgers (particularly Location-dependent Information Browsing), InfoPad at U.C. Berkeley, and Things That Blink, MIT Media Lab.

The first generation mobile systems tried to overcome the effects of mobility leading to developments in areas such as low-power sleep modes and file systems for disconnected operation. The second-generation mobile systems tried to exploit some knowledge of the user's location resulting in mobile map and navigation systems and location enhances 911 emergency services. Environment awareness is an enabling factor for the next generation of mobile computing systems. Environment awareness takes mobile computing beyond simple location awareness, by provides the system not only with details of its current location, but also environmental factors such as temperature, humidity, ambient light level, and orientation. This information can be used to help the computer system interact with its environment and to help the environment better cater to the people using it. In short, environmental awareness helps systems move towards human centered behaviours.

To provide environmental awareness we need:

traditional computers, desktop workspaces, I/O customizations, domestic appliances, building and transport systems, doors and elevators, environmental control, seats and mirrors, ... location, orientation, light, heat, humidity, gas analysis, ... spatial and temporal sensor fusion, prediction, etc. In our work we have focused on providing: The system is constructed from two components, a Badge and a computing environment. The Badge provides a small mobile sensor platform which can be worn like a corporate ID card, attached to passive objects, attached (or built in) to devices such as PDAs and mobile telephones, or incorporated in PC class computing systems. Note that the Desktop Management Task Force [DMTF] is promoting remote management of machines including use of environmental monitoring of processor temperature and power supply voltages. While Cisco Systems routers have had temperature and voltage measurements as an optional feature for many years. As more assents become portable, locating them, accounting for them, and managing them is becoming increasingly difficult - therefore, increasingly such devices will have something built into them to help with this functionality. Therefore, we believe that in the future all equipment will contain some form of active environmental monitoring, communication, and control system akin to that provided by our Badges.

To be viable a badge must be small, light and convenient to wear. A computationally and environmentally augmented badge has some additional features and requirements that contribute to its design:

These requirements have led us to design a Badge based on industry standard IrDA infrared technology. Infrared signals do not travel through building walls and the IrDA IrLAP protocol is designed to be robust in the presence of interference and multi-path effects. This gives the Badge a line-of-site transmission range of 1 meter, and a viewing angle of approximately 30. Thus if a sensor detects the Badges signal it knows the badge wearers location with reasonable accuracy. Location can also be sensed from the environment using techniques like GPS. Unfortunately most of these techniques either don't work indoors or don't provide enough accuracy to be able to state that a badge wearer is co-located with a piece of equipment in an office or domestic setting. Hence we use the Badge as an infrared beacon system to provide adjacency based location information.

Power consumption must be low so the Badge can be worn for long periods without the inconvenience of changing the batteries. The desire for low power consumption also dictates that Badge transmissions should be relatively fast as transmission is the main use of power in the system.

Alternate technologies are available including ultrasound, near-field and radio frequency transceivers and RFID tags. However, none of these systems offers the combination of transmission range, speed and volume production available from infrared technology.

Sensors

Sensors are the key to an environment aware system. In the past, sensors have been large and cumbersome. Recently, Micro Electro Mechanical Systems [MEMS] technology has allowed sensors to become small enough, that a number of different types of sensors can be integrated onto a single chip. Examples of current integrated sensors measure: fluid flow, temperature, humidity, gas composition, airborne contaminants, acceleration, magnetic flux, electric field, sound, light, and X-ray radiation. A more detailed list of relevant sensors is available from our WWW site as http://www.elec.uow.edu.au/people/staff/beadle/badge/grants/hp/sensors.htm.

Badges

Our ultimate goal is unconscious use of Badges. We expect that by using a familiar format (ID Badges) and local area network (LAN) attached infrared access ports that the devices will have a high ease-of-use and low cost. By using devices such as the HP NetBeamIR [NETBEAMIR] which provide Infrared Data Association [IrDA] to Ethernet connectivity, we do not have to install a new set of sensors and build a new interconnect infrastructure as is required with the Olivetti Badge Sensors. With these constraints in mind, we have developed a hierarchy of Badges based on mass production IrDA components and domestic microcontrollers.

Dumb Badge

A Dumb Badge simply transmits its ID number either spontaneously or upon request. Corporate identity cards are currently based on RFID technology that operate as dumb badges. An RFID tag is a microprocessor, transmitter, and induction power pickup loop. When irradiated with an electromagnetic signal of the correct frequency the RFID tag charges and then transmits its identity number on a different frequency to a receiver. Operating ranges are a maximum of 20cm with current RFID tags. Dumb badge technology is also available using infrared techniques. Early devices from the Olivetti Oracle Cambridge Research Lab could be classed as Dumb Badges as they only transmitted their identity at regular intervals and included data from push buttons on the badge.

We have constructed a Dumb Badge from a PIC microcontroller and IrDA compliant infrared circuits. The badge uses IrLAP format message framing to be compatible with the rest of the emerging IrDA infrastructure. Our Dumb Badge transmits its fixed 32-bit identity number and an 8-bit status byte every 2.3 seconds. The status byte contains a low-battery indication. A frame consists of 22 bytes (including IrLAP framing overhead) giving the device a duty-cycle of 0.3%, a measured operational range of 4m and a 15 degree half angle. The Badge data frame encapsulated in the IrLAP frame is designed to allow easy extensibility simplifying the construction of Badge Servers to interpret and act upon the received data. Dumb Badge data is not encrypted.

Smart Badge

A Smart Badge is a Dumb Badge with a collection of sensors and actuators and reprogramability added. The sensors provide environmental information about the wearer's location. The actuators can send messages to the wearer or control the environment. The reprogramability allows us to implement various security features. The current prototype has sensors for light, temperature, humidity, orientation and sound. A piezoelectric transducer as an actuator. An I2C bus interface is provided to communicate with additional sensor chips. An 8 bit parallel data I/O path is also provided. The combination of 2D orientation sensors and light sensor allow the Smart Badge to act as a mouse or joystick for simple positioning tasks.

The I/O port allows the Smart Badge to control its environment. Typically, the port would be used to interface to an attached computing device, telephone, or GPS system. It can also be used to control light, doors, air conditioning, heating, ventilation, etc.

Figures 1 shows Photographs of the prototype Smart Badge (the prototype Badge measures 54x103mm with version 2 measuring 54x86mm, the same size as a standard corporate identity card). The front and rear plastic panels have been removed to show the components. The white cylinders in the rear view (Figure 1) are four tilt switches in quadrature providing the orientation sensor of the badge. The Humidity and temperature sensors are to the bottom left of the Badge. The microphone is on a fly-lead as we are currently experimenting with the best location for it. An outward-facing microphone is useful to determine ambient noise and recognise when the wearer is speaking. An inward-facing microphone could be used as a heart rate and respiration sensor. The front of the badge (Figure 1) contains the IrDA transceiver, piezoelectric transducer and light sensor (bottom right corner). A cosmetic faceplate attaches to the front of the badge to provide a photo of the wearer, a name, identity number and bar code can also be provided for backward compatibility.

The Smart Badge prototype supports limited reprogramability. It allows the direction of the I/O pins to be changed to suit a particular application. It also allows the Smart Badge identity numbers to be changed and the badge encryption keys to be changed. While it is possible to provide full reprogramabilty securing such a system is currently problematic and has been left for future study.

Figure 1 Smart Badge. Back View (processor side) and Front View (Velcro patch for user photograph).

Smart Badge data is encrypted. The encryption is needed to:

A persona is a roll that a badge wearer plays (worker, householder, motorist, club member, etc.). The Smart Badge allows a single badge to be used for all personas. This is done by allowing the badge to have multiple identity numbers and multiple encryption keys.

As an example, first consider the case of a single persona. When powered on a Smart Badge has a default identity and encryption key. The Smart Badge configuration software transmits a Smart Badge command to the new badge telling it to change its identity to a new identity specified in the command. The command is encrypted with the default key and the operation is assumed to take place in a trusted environment. Once the Smart Badge identity has been changed the Smart Badge configuration software sends another command telling the badge to change its encryption key to the randomly chosen key contained in the command. The identity and key are recorded in the Badge Server database and associated with the Smart Badge wearer. The badge wearer now has secure, private, communication to the Badge Server without needing to enter, remember, or remembering to change encryption keys.

Security is maintained by changing the Badge identity and encryption key randomly as the badge moves through its environment. Potentially each time the badge communicates with a device the Badge key is changed, preventing anybody with an IrDA snifter from capturing and re-transmitting the Badge communication to gain unauthorised access.

To be able to effectively decrypt the badge messages at the Badge Server the current Badge identity must be sent unencrypted. It is used as an index to the database to find the encryption key (and its predecessor). As badge commands are unacknowledged the previous Badge identity and Badge key must be kept in the database until a message is received from the badge using the new identity or key. Until this happens the Badge Server continues to send identity or key change commands to the Badge in the hope that one of them will get through and effect the required change.

While changing the Badge identity and Badge key randomly will defeat many forms of attack it is still possible to learn the identity and habits of a Badge wearer by monitoring Badge packets on the Internet connecting the Badge transceivers to the Badge Server. A simple example is that a Badge message is seen going from the IP address of a particular door transceiver to the Badge Server at about the same time each day and that a particular wearer comes back from coffee at that time each day. Simple correlation allows you to deduce the wearers current Badge identity. Changes to that identity can then be tracked through the Internet using snifters to follow the wearer. To overcome this problem we propose to apply a second layer of symmetric encryption between the Badge Server and the Badge transceivers. Thus while a snifter may be able capture the Badge message from our returning coffee drinker, it still has to decrypt it before it can determine the Badge identity. If Badge transceivers use different keys and change them using the same random rolling technique that is used to change Badge keys we believe the resulting system has sufficient strength to protect the privacy of individual Badge wearers. The general cryptographic hierarchy of Badge transmissions is illustrated in Figure 2.

 
Figure 2. Badge Server Encryption Structure
 

Our prototype Smart Badge currently implements encryption using the Tiny Encryption Algorithm (TEA)

[Wheeler94]
with a claimed strength similar to 128 bit DES. TEA was chosen as it trades space off against time and hence will fit in the Smart Badge's limited RAM (currently only 196 bytes). We don't believe the lengthened encryption time will impact on Badge performance as badges send messages very infrequently (for power reasons if nothing else).

Intelligent Badge

The Smart Badge provided the Dumb Badge with a sensors allowing it to discover its physical environment. The Intelligent Badge provides all the features of the Smart Badge with enhanced I/O capability. While it is tempting to think of I/O capability as an LCD screen and a miniature icon based desktop this is not necessarily the best way to extend the badges capabilities. Equally valid extensions use audio, video, animation, and motion to interact with devices and the computing environment.

The Intelligent Badge aims to be a platform to present a device's user interface to the user in a customisable human-centred way. A simple example is a photocopier, when the user approaches the copier the copier's agent notices the co-location of the wearer and the copier, it then arranges for the copier's user interface to be presented on the wearers Intelligent Badge. The actual format of the interface is determined by the wearer, thus allowing a consistent interface (language, colour, modalities, etc.) to be constructed to all devices. The photocopier's interface could equally well be presented as desktop icons, animated characters, or speech prompts - depending on the badge user's preferences. An Intelligent Badge acting as an I/O platform allows the wearer to chose the modality and frees the device designer of the need to chose how to present the interface to the user. All the designer needs to do is present the in a structured way to the network using techniques for telecommunications and distributed processing work (e.g., CORBA).

Prototype

Hardware Architecture

The Badge consists of a PIC 16C74A microcontroller operating at 20MHz (approximately 5MIPS) with 4KB or ROM and 192 bytes of RAM. The PIC has inbuilt USART, Pulse Width Modulation, 8-bit analogue-to-digital conversion, I2C bus interface, 8-bit parallel data port and numerous digital I/O ports. The internal USART connects to a TEMIC TOIM3232 IrDA interface chip. The TOIM3232 converts the USART asynchronous signal into the correct pulse shapes for IrDA transmission. The TOIM3232 contains a crystal locked oscillator to re-time the pulses alleviating any need for precise timing in the PIC. The TOIM3232 connects to a HP HSDL-1001 IrDA transceiver chip to complete the infrared data path.

Four of the PIC's eight analogue inputs are utilised to sample sensor data. The sensors are operated to reduce the power consumption of the Badge. Sensors derive their power from output pins on the PIC. Sensors are turned on, given some time to stabilise, their value is then sampled and the sensor is turned off to reduce power consumption. The Tilt Sensors are simple switches and are connected directly to digital inputs on the PIC with weak internal pull-ups. All the sensors are samples once per cycle of the Badge program with the exception of the audio sensor.

The audio sensor is turned on and sampled 256 times over 0.5 seconds. The 8-bit sound samples are averaged over the 0.5-second period. This allows the Badge to report the average sound level. A streaming communication between the badge and the data network is needed before continuously sampled audio is viable.

The Smart Badge also has provision for a daughter card providing an RS232 interface (DECT and Ethernet can also be supported). This daughter card allows the Dumb Badge to become an IrDA gateway to the (fixed) infrastructure. This provides a simple interface to local area networks, desktop PCs and mobile IrDA equipment (laptops, notebooks, PDAs, scanners, printers, etc.). Note that for many laptops, notebooks, PDAs, etc. the IrDA interface ports tend to face away from the user. The Dumb Badge also operates with existing IrDA to LAN gateway devices like the HP NetbeamIR. Interoperation with the existing data networking infrastructure allows badge communication to easily become ubiquitous, as no new cabling is needed.

Software Architecture

The Badge program itself is quiet simple. It polls the sensors, builds a data frame, encrypts the frame, calculates the frames CRC and transmits the frame. IrLAP framing information is inserted at transmission time. Similarly, IrLAP encapsulation is removed when a frame is received. Because of the small amount of RAM available in the processor, a single fixed size frame buffer is used. Received frames are checked for correct CRC, correct address and then decrypted. A command interpreter then takes the appropriate action based on the incoming frames content.

Smart Badge activity is sequenced. First the sensors are polled (0.5 seconds), then a frame is transmitted (0.008 seconds) then the badge waits for received frames (1 second) and finally the Badge enters low power sleep mode (2.3 seconds). The Badge cannot receive and transmit at the same time (IrDA is inherently half-duplex) and ignores all external stimuli during sleep mode. The receive phase is currently set to 1 second. This duration was determined empirically be experiments with a directly connected Badge Server. Because of the limited badge receive time window it is important that frames destined for a Badge are buffered at the Badge Transceiver and transmitted as soon as a frame has been received from the badge. If the frame was sent directly from the Badge Server across the Internet to the Badge through the Badge Transceiver is it unlikely that frames would ever be received because of Internet latency and variance in that latency.

 

 
Figure 4. Badge Software Architecture

We are experimenting with multicast techniques to collect and distribute Badge data to and from the Badge servers. Thus depending on the multicast address which a given Badge uses and where the servers are located, it is possible to provide use across organisational boundaries (i.e., via firewall traversal) as servers can be behind or in front of firewalls, but you have to have the correct rights to access the data (as per the above comments on security). Note that access to data can be restricted based not only on who you are, but also on when you ask, who else is with you, and the conditions of your environment at the present time. It might even be possible, if you have physiological monitoring to tell if the requestor is under duress, thus prevent extorting information from individuals.

Multicast also allows messages to be sent to moving Badges by the Badge Server. Instead of just sending a message to the last Badge Transceiver that saw the Badge of interest, the Badge Server multicasts the message to a group of geographically adjacent Badge Transceivers. Thus, the Badge will receive the message as soon as it announces itself to any of the Badge Transceivers in its neighbourhood.

The current prototype implements the Badge Transceiver server on a PC connected to a Badge acting as a transceiver. The Badge Server is a WWW server plus CGI scripts. We expect to replace the PC Transceiver software with NetbeamIR devices providing direct IrDA to Ethernet interconnection. To effectively use the commercial NetbeamIR devices and communicate directly with IrDA compatible desktop and mobile computers the Badge must first implement a more extensive subset of IrLAP and the IrLMP link management protocol so the Badge can respond to IrDA poll and sniff messages. Currently the Badge frame is encapsulated in an IrLAP unit-data broadcast frame. These frames are interpreted as commands by the NetbeamIR and not passed across the gateway to the Ethernet.

Examples Applications

Some examples of Badge applications are given below, to clarify the potential of using environment aware system.

Doors

Perhaps the simplest application of the technology is to provide smart doors. Here each door is provided with an electrically operated striker and a Badge transceiver. When a person approaches a door, their Badge transmits their ID. The door transceiver forwards this to the Badge server that then associates the ID with a particular location (the door). A door agent process running on a server somewhere in the network notices that the person is now co-located with the door and if the person is allowed to go through the door a message is sent by the agent to the door telling it to open.

This type of application has already been shown with Active BadgesTM and has proved to be useful. A further feature which Active BadgesTM development showed necessary is that the door agent must react quickly to the presence of the person near the door, as users did not like to wait long periods of time before the door opened. In the case of the Active Badge, they added another sensor, which detected a RF field, and they used the detection of a change in the field to trigger an immediate emission of the Badge ID. Thus different fields were used to encode spatial zones; transition from one zone to another zone caused an immediate report form the Badge. We believe that our Badges represent a significant generalisation of this idea, as shown in the examples that follow.

Heating, Ventilation, Airconditioning, and Lighting

The door example can be easily applied to a room. When a person enters a room, the transceiver sends their Badge ID to the Badge server that processes it. The room's agent notices the entry and turns on the lighting and adjusts the air handling system. As the room agent knows who is in the room and how many other people are in the room it can tailor the environment to suit the preferences of the group currently present. If a Smart Badge is used the agent also knows the temperature, humidity, and ambient light level as measured by each of the persons in the room; allowing for much finer control of the environment. Thus, the airconditioning/heating can be controlled to create a comfortable environment for the people in the room, rather than ensuring the comfort of the traditional wall mounted sensor.

Note that this correlation of information can be used to compensate for variations in the individual sensors. Thus the sensors need not be calibrated beforehand, but can have the correction data derived over time. Of course, if we want to have absolute measurements then we need to have some calibrated sensors that we then calibrate the new sensors with.

If the room agent analyses the Badge server data for spatio-temporal correlations it can identify and hence predict the normal patterns of a person (and hence persons) and anticipate their arrival, departure, and routine movements. (see earlier work on predicting user movement, such as: [Liu96a, Liu96b, Liu96c] and Mobile Service Network Mobility Models [Banh95]). If this technology is applied to all buildings, then both the building management agents and the Power Company's agent should be able to predict load fluctuations and micromanage their power demands, generators and power grids.

If an Intelligent Badge is used, a person can also interact with the building system and control lights, doors, temperature etc. from a Badge based interface. This provides an improvement over the simple motion detectors used in many offices to turn lights off - if there is no activity in the office. In such environments it is often difficult for the user to get the behaviour that they want, for example to have the lights off even if there are people in the room or to keep them on when the people in the room are stationary. It also could greatly simplify the wiring necessary, since if each power outlet is network controlled, then one could eliminate all the light switches - since the command to turn on or off a device could be provided by agents interacting with Badge servers.

See for example: the U.S. National Science Foundation workshop that examined the effect of architecture, building operations, and communications. A participant in this workshop noted that half of the cost of HVAC systems was the wiring to all the sensors and actuators. Using the Badge system could potentially eliminate the need to run wires to the sensors or in many cases even the need for particular sensors.

Appliances

An Intelligent Badge provides both a sensor platform and a user interface. A simple user interface might consist of a few buttons (such as used on Olivetti Active BadgeTM). A more sophisticated interface might be a touch sensitive LCD or Electro-Luminescent graphics screen attached to the Badge (such as used in the Xerox PARC Tab/Pad/... series of devices). The overall size would still be similar to a credit card. When a person wants to use an appliance (for example a photocopier, dishwasher, cable-TV set-top box) they move to the appliance. The transceiver in the appliance sends an Intelligent Badge ID to the Badge server. The appliance's agent then notices that the person is waiting to use the appliance and loads its user interface into the Intelligent Badge (potentially using an alternate communications link). The interface is presented in the appropriate language and customised to the person's individual preferences and tastes. The interaction with the appliance is still mediated by the Badge server and the appliance's agent to ensure the security and integrity of the messages transferred.

Note that one of the by-products of this approach is that the user has their own interface to appliances. Thus the user interface can be consistent for this user, not because each appliance supports this interface, but because the user's interface provides the consistency.

A simple example of this would be an automatic teller machine, which no longer needs to have a human centered interface, but now receives all its commands via the network as EDI requests. While the user's device provides whatever interface is necessary for this user to enable them to get cash. A Badge might replace smart cards in electronic commerce transactions by provide higher levels of security, as it could utilise a biomedical signature of the person currently using the Badge, ensuring that only a specific user can use it.

Telephones and Pagers

Cellular telephones and pagers are wide area communications devices that know nothing of their location. When combined with location sensing and Badge technology, the resulting product is a location and environment aware communications and control device. A single device can then provide a Badge like sensor platform and authentication mechanism, wide area voice and data communications links, and a user interface to telephony and other peripheral devices encountered in the field.

While this type of device might seem like a prop on Star TrekTM, all the components are available as products today. Voice and data communication, along with a graphics screen with WWW browser are features of the Nokia 9000 GSM phone. Handheld GPS units are currently sufficiently cheap and provide sufficient accuracy that the U.S. FCC has mandating that location information be available from mobile 911 (emergency) calls by 1999 [E911]. The U.S. DARPA Microelectromechanical Systems (MEMS)[MEMS] program has encouraged the production of highly integrated sensors. Thus, all that is required to realise a universal authentication, communications, and interaction peripheral is to integrate the available components and provide the conceptual framework of an environment aware computer system to allow applications to be developed.

Development by and for Courses

At Wollongong University in 1996, four engineering undergraduate theses examined various aspects of Badge design. The theses prototyped Badge communications links based on IrDA and 418MHz radio links, and an Intelligent Badge platform and touch screen. One project from the Mobile Personal Communications module of the Telecommunications specialisation course at KTH (during April and May 1996) included a location aware WWW browser which modified its request for information based on the user's location and velocity vector (as obtained from a GPS receiver). Building on this work we used the  Smart Badges and a Badge server as part of a module on both location and environment aware computing, in the Mobile Personal Communications module at KTH (during April and May 1997).

In the course the students are using the Badges to provide a Location and Environment aware mobile infrastructure and then build novel mobile computing application using the infrastructure. Five example applications were constructed with the fifth application left to the imagination of the student groups. The four example applications are typical of the application of location aware mobile computers.

Smart Door and Smart Room

A basic use of a Smart Badge and a fixed Badge Transceiver is to provide access to controlled environments by acting like a door lock and a key. A Door Agent program can be constructed that is responsible for the security of a door or group of doors. The Door Agent queries the Location Server database, either through polling or by using callbacks. Once the Door Agent has detected an authorised person at a particular door it sends a message to the door to make it open.

A Smart Badge and a network of fixed Badge Transceivers make it possible to track a persons movements around a building or larger environment. With the ability to track comes the ability to log the location data and analyse it. A Smart Room can be constructed by analysing location data for a room and extracting useful spatial and temporal correlations from it. The correlations can then be used by a Room Agent to control the workstations, door, lighting and environmental controls. The Room Agent could:

Turn on the overall room lights and adjusting the room temperature just before the first occupant arrives for the day.

Turn off the lighting, turning down the temperature and shutting down and turning off all computers just after the last occupant has gone for the day.

Turn task lighting off and on as occupants move during the day enabling screen-lock and monitor power-down when a computer workstation user moves away from the workstation for a prolonged period (e.g. lunch).

Adjusting the room environment so that all the occupants are as close to 20 degrees and 70% humidity as possible.

Report room energy trends to a Building Agent, which can then optimise the building energy usage and report building patterns to the Power Company to help them optimise their production.

Two extension to the Smart Room and Smart Door scenarios were developed by a student groups, Date IT is a location augmented dating service, Smart Hospital is a Badge augmented medical environment.

Date IT [BJE97] is a computer matchmaking system with location aware augmentation. The service itself provides mutual matching of members wearing badges, using a shared database and a transceiver infrastructure. A meeting between matching customers results in a signal to both badges, making them beep. The service is designed to be deployed under license in clubs and bars that also provide an information station to fill in the personal profile needed by the service. The information station (and WWW based database) can point the customer to bars and clubs with a high number of potential matches and can also be used to point out the location of potential matches within a room.

Smart Hospital [LAR97] (Figure 5) aims to improve information flows in hospitals. The system is based on displayed on a pen sensitive screen that works as an access point between the doctor, the patient and a central computer. The central computer stores hospital records and provides authentication and access control services. Patients are equipped with badges that report their current location to the system, have a panic button to summon help, and monitor biometric information like temperature, respiration and heart rate. The badges also provide access to smart doors to prevent patients (and staff) from entering restricted areas. The scheme can also be used to track the spread of infection or contamination be recording where people went, who they met and who else was near bye. An example of the systems use would be for an accident patient needing an X-Ray diagnosis. When the patient is admitted they are equipped with a badge. As the patient moves through the hospital each person that sees them and each procedure that is performed generates data in the central computer. The system allows the patients identity to be recorded along with the procedure results. When a doctor visits the patient in a ward, the patient's records are immediately available on the doctor's hand-held screen. The system not only improves patient care but also improves hospital record keeping and streamlines the billing and disbursement process.

A simple extension discussed in the City Guide system below is to provide the badge with navigational capability so staff and patients can find their way in a large hospital.

 

 
Figure 5. Smart Hospital Scenario
 

Diary Agent

An alternative analysis of Smart Badge data involves finding correlations between people rather than between people and machines. A Diary Agent could:

Record all the places the Smart Badge wearer went during the day, how long was spent at the location and who else was at the same location the same time (perhaps this indicates a meeting).

Assuming that a Smart Badge wearer accesses computer files on a single network file system from wherever they happen to be at any particular time during the day, the diary can be augmented with details of the files that were accessed and modified by the wearer during the day.

If the Smart Badge wearer has an online diary file containing their appointments the Diary Agent should correlate the appointment information for badge wearers with the actual meetings that took place and highlight the missed meetings that need to be rescheduled.

If a meeting (co-location of two wearers) takes place within range of a Badge equipped computer workstation that has a sound (video) input capability then the Diary Agent should be able to record the meeting and add the recording to the diary as a meeting record.

If the Diary Agent has access to PABX call records then they can be included in the diary along with the A party and B party numbers. The diary then contains a record of telephone contacts along with details of where the wearer was when the call occurred. If both parties were wearers then both locations could be recorded.

The Intelligent Fitness Centre, a variation on the diary agent, was devised by one of the student groups. Fitness centre patrons are equipped with a Smart Badge in a wristwatch form factor. These badges identify the patrons to the fitness centre and to its equipment that has Badge receivers attached and is connected through a local area network. When a patron uses a piece of exercise equipment their exercise profile is loaded into the machine allowing a fully tailored exercise program to be developed for each patron. The system also automates record keeping so performance measurements from the exercise machine can be logged to the patrons database for later analysis. The Badge is also used as an authentication device to bill patrons for their time at the fitness centre and even to control the type music played over the P.A. to match the tastes of the centre's current occupants. A simple extension to the system would integrate biometric sensors on the badge with the Fitness Centres monitoring equipment to provide records of pulse rate and respiration rates that would allow exercise physiologists to better tailor exercise programs to customers performance level and to ensure clients did not over-exert themselves.

Super Flexible Ubiquitous Monitor

A Smart Badge contains a host of sensors to monitor the wearer's environment and provide a limited form of user interaction with the environment. Lancaster University developed a system called the FLexible Ubiquitous Monitor (FLUMP). The monitor can detect who is standing in front of it using Olivetti Active Badge technology and display a page of hypertext based on the person's identity. Unfortunately, the only form of interaction with the display was to stand in front of it for a prolonged period that caused FLUMP to cycle through the persons display pages. The sensors included on the Smart Badge allow a Super FLUMP to be created with user interaction provided by the tilt (roll and pitch) information along with the light level information allowing a user to scroll through their information pages laid out in a one or two dimensional space and follow hyperlinks.

After constructing a Super FLUMP the system was extended by students to create Sm@rt Guide and City Guide.

City Guide is meant to be used by tourist visiting a city or by residents as a replacement for a street map. It can also potentially be used as an electronic entry ticket. The City Guide uses an Intelligent Badge like devices incorporating a direction display and a GPS receiver. The system is coupled to Info Stations spread about the city. A customer selects a destination of interest (or a series of them) from an Info Station and the City Guide then navigates the customer through the city to the selected destinations using GPS information. All information and prompts can be displayed in the customer's own language. Figure 6 shows mock-ups of the City guide and Info Station displays.

The Sm@rt Guide simplifies the system for use in Exhibition Spaces. In Sm@rt Guide a Dumb Badge is used and the direction display is placed in the environment by using a network of Electronic Direction Signs (EDS) like smart street signs. Sm@rt Guide allows customers to be routed around temporary congestion in the Exhibition Space because the path is not pre-loaded into the badge at the Info Station.

The two systems can be easily combined to provide intelligent traffic routing in the City Guide scenario by placing EDS' in the environment (for example at already networked sites like traffic lights and public telephone booths) and then using GPS to navigate between EDS. Each EDS then has the opportunity to upload a new route to the City Guide badge as it passes to avoid short-term congestion. It should be noted that the system can be used equally well by pedestrians and motorists.

 

Figure 6 City Guide and Info Station.
 

Conclusions

This paper has described a Smart Badge that couples an active wearable computer based identification system to a collection of environment sensors. We are using the badge to conduct experiments aimed at producing more human centred computing and communication systems. A trial version of the Smart Badge and its infrastructure has been used by a group of 50 students to prototype innovative location and environment enabled mobile computing applications. Though significant research remains to be performed on the Badge form-factor and the programming techniques needed to realise the large-scale distributed systems typical of the prototype applications, we believe that the application scenarios show that location aware mobile computing can significantly improvements in human centred information environments.

Our collection of publications and design documents (including code and schematics) are available from our WWW site as: http://www.elec.uow.edu.au/people/staff/beadle/badge/location_aware.html.

Acknowledgments

The project has been partially supported by KTH, HP, and at Wollongong University, Australia with an Apple University Development Fund grant.

Bibliography

[Banh95] B. A. J. Banh, Mobility Models And Signalling Traffic In Mobile Services Network, Technical Report TITR 95-2, Switched Networks Research Centre, University of Wollongong, available as: http://filly.snrc.uow.edu.au/titr/techreports/titr-95-2.ps.
[BEA96a] H.W.P. Beadle and R. Gonzalez, Video Coding Based Mobile Multimedia Terminal, Proc. Picture Coding Symposium, Melbourne, 1996, pp. 509-514., available as: http://www.elec.uow.edu.au/people/staff/beadle/badge/pcs/pcsv6.htm 
[BEA97a] H.W.P. Beadle, B. Harper, G. Q. Maguire Jr. and J. Judge, "Location Aware Mobile Computing", Proc. IEEE/IEE International Conference on Telecommunications, (ICT'97), Melbourne, April 1997, pp. 1319-1324., available as: http://www.elec.uow.edu.au/people/staff/beadle/badge/ICT97/ict97.htm 
[Beadle96b] H.W.P. Beadle, R. Gonzalez, and J. Judge, Experiments with Domestic Hypermedia Information Systems, Proc. Eighth IEEE Workshop on Local and Metropolitan Area Networks, Potsdam Germany, August 1996.
[Beadle96c] H.W.P. Beadle, R. Gonzalez, R. Safavi-Naini, and S. Bakhtiari, A Review of Internet Payment Schemes, Proc. Australian Telecommunication Networks and Applications Conference 1996 (ATNAC'96), Melbourne, December 3-6, 1996, pp. 486-494.
[BJE97] Karin Bjerregaard, Anette Bohman, Mattias Holmlund, Peter Söderberg, August Söderlind, Erik Ygberg, Date IT, http://www.it.kth.se/~i94_bjn/Dateit/report/
[DAT] Dataman, Location-dependent Information Browsing, http://athos.rutgers.edu/dataman/ and ftp://athos.rutgers.edu/pub/acharya/mosaic.ps.Z 
[DMTF] Desktop Management Task Force, available as: http://www.dmtf.org/ 
[E911] U.S. FCC requirements for E911, available as http://www.fcc.gov/Bureaus/Wireless/News_Releases/1996/nrwl6026.txt.
[INF] InfoPad, http://infopad.EECS.Berkeley.EDU/ 
[IRDA] Infrared Data Association home page, http://www.irda.org/ 
[Käm97] Jonas Kämpe, Patric Lindström, Poules Raihana, Mahmoud Rahmani, Jonny Svärling, City Guide, http://www.it.kth.se/~d93-jsv/mpc/mpc.html
[LAR97] Jonas Larsson, Joakim Forsberg, Andreas Suurkuusk, David Ågren, Thomas Edwall, Ramin-Kabiri Rad Monfared, Tomas Bie, Smart Hospital, http://www.it.kth.se/~i94_bis/i.html
[Liu96a] George Liu and G. Q. Maguire Jr., "A Class of Mobile Motion Prediction Algorithms for Wireless Mobile Computing and Communication", ACM International Journal on Wireless Networks, 1996.
[Liu96b] George Liu, A. Marlevi, and G. Q. Maguire Jr., "A Virtual Distributed-system Architecture for Wireless Mobile Computing and Communications", ACM International Journal on Mobile Networks and Nomadic Applications, 2, 1996, pp. 77-86.
[Liu96c] George Liu and G. Q. Maguire Jr., "A Mobility-aware Dynamic Database Caching Scheme for Wireless Mobile Computing and Communication", International Journal on Distributed and Parallel Databases, Special Issue on Database and Mobile Computing, 4, 1996, pp. 1-18.
[MED] MEDIA, http://hallen.ele.kth.se/~taw/
[MED97] Niclas Medman, Pablo Valiente, Stefan Sjöquist, Christian Jansson, Stefan Backström, Marco Basile, Intelligent Fitness Centre, http://www.e.kth.se/~e92_chj/mobreport/
[MEMS] U.S. DARPA Microelectromechanical Systems (MEMS) development program., http://mems.isi.edu/
[NETBEA] HP NetBeamIR J2964A (IrDA to Ethernet access point), http://www.hp.com:80/rnd/products/nbeamir/nbeamir.htm.
[ORL] Olivetti Oracle Cambridge Research Laboratory, Active Badge Home Page, http://www.orl.co.uk/cgi-bin/ab
[OTM] OnTheMove, http://www.sics.se/~onthemove/
[TTB] Things That Blink, http://www.almaden.ibm.com/journal/sj/mit/sectionc/borovoy.html
[UBI] Xerox PARC Ubiquitous Computing Home Page, http://sandbox.parc.xerox.com/ubicomp/
[WAL] Walkstation, http://www.electrum.kth.se/labs/ccs/WS/ws.html
[Wheeler94] David Wheeler Roger Needham,
TEA, a Tiny Encryption Algorithm, Computer Laboratory Cambridge University England, November 1994., available as: http://www.cl.cam.ac.uk:80/ftp/papers/djw-rmn/djw-rmn-tea.html