ROVER TECHNOLOGY

Chapter1 INTRODUCTION 1.1BACKGROUND
ROVER, which stands for Remotely Operated Video Enhanced Receiver system.

Location-aware computing involves the automatic tailoring of information and services based on the current location of the user. We have designed and implemented Rover, a system that enables location-based services, as well as the traditional aware services. A user is shopping in a mall. On entering a store, he pulls out a PDA and browses through detailed information about the products on display. Satisfied with the information, through the PDA, he makes an online purchase of the items of interest that will be subsequently shipped to his home directly. As he walks on to the next store, which happens to be a video rental store, information on newly-released movies in his favourite categories are downloaded automatically into his PDA, along with their availability information. He chooses a couple of these movies and indicates that he will pick them up at the storefront. His membership discounts are applied to the bill, and he confirms the charge to his credit card. We refer to this paradigm as location-aware computing. Rover has a location service that can track the location of every user, either by automated location determination technology (for example, using signal strength or time difference) or by the user manually entering current location (for example, by clicking on a map). Available via a variety of wireless access technologies (IEEE 802.11 wireless LANs, Bluetooth, Infrared, cellular services, etc.) and devices (laptop, PDA, cellular phone, etc.), and allows roaming between the different wireless and device types Scales to a very large client population, for example, thousands of users. Rover achieves this through fine-resolution application-specific scheduling of resources at the servers and the network. Consider a museum tour application as an example to illustrate different aspects of Rover. We consider group of users touring the museums in Washington D.C. At a Rover
Department of ISE, BITM Page 1

time-aware,

user-aware

and

device-

ROVER TECHNOLOGY
registration point in a museum, each user is issued a handheld device with audio and video capabilities, say an off-the-shelf PDA available in the market today. Alternatively, if a user possesses a personal device, he can register this device and thus gain access to Rover. The devices are traceable by the Rover system. So as a user moves through the museum, information on relevant artifacts on display are made available to the users device in various convenient forms, for example, audio or video clips streamed to the device. Users can query the devices for building maps and optimal routes to objects of their interest. They can also reserve and purchase tickets for exhibitions and shows in the museum later in the day. The group leader can coordinate group activities by sending relevant group messages to the users.

Department of ISE, BITM

Page 2

its performance degrades indoors and in high-rise urban areas. outdoor areas. This provides room-grained location using wall-mounted sensors that pick up an infrared ID broadcast by tags worn by the building occupants. it is possible to locate Wi-Fi-enabled devices with accuracies from several meters to tens of meters.ROVER TECHNOLOGY Chapter 2 LOCATION AWARE COMPUTING COMES OF AGE 2. and cost of installation and maintenance.2. Roy Want. the Global Positioning System is a common choice.1 Coarse-Grained Systems For applications in open. location-aware Computing may soon become a part of everyday life. Department of ISE.2 LOCATION-SENSING TECHNOLOGIES A central problem in location-aware computing is the determination of physical location. and location-based applications. In 1989. location-aware application support. 2. Andy Hopper. and much research in the past decade has focused on location-sensing technologies. and others pioneered the study of indoor location sensing with their infrared based Active Badge system. frequency of location updates. By using base station visibility and signal strength. and receivers have a relatively long start-up time and high cost. Many of the location-sensing systems developed since then are based on radio.1REVIEW Location is a crucial component of context. coverage. With numerous factors driving deployment of sensing technologies. 2. A GPS receiver estimates position by measuring satellite signals Although GPS offers nearworldwide coverage . BITM Page 3 . Researchers in academia and industry have created numerous location-sensing systems that differ with respect to accuracy.

Ubisense. generally measured in meters. but at the expense of requiring more fixed base stations to provide coverage. such systems have difficulty identifying and simultaneously tracking many subjects. Perhaps as a consequence they exhibit modest accuracy. in contrast to technologies such as RFID that have limited transmission range.. These can be deployed over a wide area with relative ease. while Rosum has achieved accuracies from 3 to 25 meters with digital TV signals. which offers a shorter range than Wi-Fi. BITM Page 4 . ultra wideband technology does not require a direct line of sight between tags and sensors. Inexpensive radiofrequency identification tags can be used for location determination as well by placing RFID readers at doorways and other strategic points to detect the passage of people or objects. which is set to become available for purchase from Crossbow this year. However.2 Fine-Grained Systems Many of the above systems are based on technologies that were not developed with location sensing in mind. Some computer vision-based systems are appealing because they do not require users to wear any sort of tag. Ultrasound can be used to determine distances between mobile tags and known points in the environment. With mobile phones. Unlike conventional radio signals. with an accuracy of about 15 centimeters. Vision-based systems using barcode-like tags tend to be more robust. recently demonstrated a fine-grained tracking system that uses ultra wide band radio signals. these signals can have pulse durations short enough to allow accurate time-of-arrival and angle-of-arrival measurement. A process in to triangulation can be employed to derive a location estimate for the tag. However.2.ROVER TECHNOLOGY Bluetooth technology. In addition. achieving accuracies on the order of centimeters. at least three types of systems have been designed specifically to provide fine grained location sensing. can give more accurate positioning. Department of ISE. a company that builds real-time local positioning systems. Location information can also be derived from other types of RF infrastructures including those for mobile phones and TV broadcasts. 2. Cambridge Positioning Systems has demonstrated location accuracies of 20meters. One type of ultrasonic ranging device is the Cricket indoor location system developed at MIT .

‡ Basic data services use text.ROVER TECHNOLOGY Chapter 3 ROVER ARCHITECHTURE DESCRIPTION 3. Department of ISE. The accuracy required of location information depends on the context of its use. and time stamp to identify an object¶s location. The basic data service involves primarily one-way interaction. audio. Users can subscribe dynamically to specific data components through the device user interface. However. ‡ Transactional services have commit semantics that require coordinating state between the clients and Rover servers. The value is an estimate of the object¶s location (either absolute or relative to some well-known location). We refer to them as basic data services and transactional services.1 ROVER SERVICES Rover offers two kinds of services to its users. graphics. Rover filters the available media formats according to the device¶s capabilities. For example. For example. Obviously. error. and video formats. E-commerce interactions are examples of this service class. it is inadequate for locating a particular painting on a museum wall directly in front of the user. including the GPS and radio-frequency techniques based on signal strength or signal propagation delays. the accuracy of location information improves significantly with direct user input. The error identifies the uncertainty in the estimate. Several techniques exist for estimating an object¶s location. the user can directly input a location on a map displayed on his or her device. an accuracy of 4 meters is adequate to provide walking directions from the user¶s current location to another location about 500 meters away. The time stamp identifies when the estimate was made. The choice of technique significantly affects the granularity and accuracy of the location information. Rover therefore uses a tuple of value. Location is an important attribute of all objects in Rover. BITM Page 5 .

BITM Page 6 . applications can use an externally available location service. It also serves as the stable store for the user and client states that the Rover Controller manages. each with its own Rover system²much like the Internet¶s Domain Name System. ‡ The database stores all content delivered to the Rover clients.2 ROVER ARCHITECTURE A Rover system represents a single domain of administrative control. ‡ The location server is a dedicated unit that manages the client device location services within the Rover system.ROVER TECHNOLOGY 3. defining specific user interests and serving content tailored to them. Moreover. scheduling and filtering the content according to the current location and the user and device profiles. Many of today¶s off-the-shelf streaming-media units can be integrated with the Rover system. managed and moderated by a Rover controller.´ It manages the different services that Rover clients request. Figure 1 shows a large application domain partitioned into multiple administrative domains. identifying its capabilities and configuring content accordingly. A wireless access infrastructure provides connectivity to the Rover clients. such as the Global Positioning System (GPS). Department of ISE. Alternatively. we have defined a technique to determine location based on certain properties of the wireless access infrastructure. Rover maintains a profile for each device. graphics and display. and network interfaces. different wireless interfaces can coexist in a single Rover system or in different domains of a multi-Rover system. memory and storage. Rover also maintains end-user profiles. This would allow the device to easily roam between different Rover systems. 1 its location management technique is not tied to a particular wireless technology. A server system implements and manages Rover¶s end-user services.End users interact with the system through Rover client devices²typically wireless handheld units with varying capabilities for processing. ‡ The streaming-media unit manages audio and video content streamed to clients. Software radio technology3 offers a way to integrate the different interfaces into a single device. Although Rover can leverage such properties of specific air interfaces. In the current implementation. each with different wireless access technologies. The server system consists of five components: ‡ The Rover controller is the system¶s ³brain.

Department of ISE. BITM Page 7 . For multi-Rover systems. This enables users registered in one domain to roam into other domains and still receive services from the system. Third-party developers can use these interfaces to develop applications that interact with the system. The server system exports a set of well-defined interfaces through which it interacts with the heterogeneous world of users and devices. we define protocols that allow interaction between the domains.ROVER TECHNOLOGY ‡ The logger interacts with all the Rover server components and receives log messages from their instrumentation modules.

The other is the wireless access points. and locate User. Consequently.3 ACTION MODEL The Action model avoids the overhead of thread context switches and allows more efficient scheduling of execution tasks. ‡ Secondary servers. either client. another action cannot preempt it. 3. Department of ISE. A server operation consists of a sequence²or more precisely. In the action model. which have limited bandwidth. An action is a small piece of code that has no intervening I/O operations: Once an action begins execution. application-specific architecture that allows Rover systems to scale to large user populations. A server operation is a transaction.2. location server. given a specific server platform. real-time. One is the server system.or administrator-initiated.ROVER TECHNOLOGY 3. which must handle a large number of client requests with tight real-time constraints. we divided the Rover server components into two classes based on the user request volumes they handle: ‡ Primary servers directly communicate with the clients and therefore directly handle large volumes of user requests. and streaming media unit. They include the Rover Controller. To handle the large volume of real-time requests that users generated. we developed the action model. The Rover controller implements this architecture. that interacts with the Rover controller: Examples in the museum scenario would include register Device. Only the primary servers need to implement the Action model.1 System Scalability Two potential bottlenecks can hinder the system¶s scalability. which communicate only with primary servers to provide back-end system capabilities. include the Rover database and logger. BITM Page 8 . To make its implementation more efficient. scheduling occurs in ³atomic´ units called actions. get Route. Each server operation has one action for each kind of I/O event response. a fine-grained. it is easy to accurately bound an action¶s execution time. a partial order²of actions interleaved with asynchronous I/O events.

ROVER TECHNOLOGY A server operation at any given time has zero or more actions eligible for execution and is in one of three states: ‡ Ready-to-run²at least one of the server operation¶s actions is eligible for execution but none is executing. such as earliest deadline.first or a function of real-time costs. and no actions are eligible to be executed. ‡ Running²one action is executing (in a multiprocessor setup. or ‡ Blocked²the server operation is waiting for an asynchronous I/O response. A simple action API defines the management and execution of actions: Figure 2: Server operations used in the experimental evolution of the action model Department of ISE. several of the operation¶s actions can execute simultaneously). the controller picks an eligible action and executes it to completion. It also can be time based. The scheduling policy can be simple and static.waiting only if there are no eligible actions. such as priorities assigned to server operations. An action controller uses administrator-defined policies to decide the execution order of the eligible actions. In any case. BITM Page 9 . then repeats the process. presumably because all server operations are waiting for I/O completions.

one for all locate User operations. If the action controller cannot execute the action within the deadline. one thread for all register Device operations. the deadline is soft²that is. depending on the threads package. Another is to have a separate thread for each user. it restricts our ability to optimize thread scheduling. deadline failed handler ptr)²marks the action as eligible to run. especially as we transit to timebased (rather than priority based) scheduling. We now provide some experimental justi¿cation. BITM Page 10 . Department of ISE. Actions vs. each thread could keep track of all its eligible actions and do scheduling at the action level. ‡ run (action id. because each operator thread executes its set of operations in sequence. Threads: Our need to scale to very large client populations made us adopt the new action model rather than the more traditional thread model. it can be null. Here the thread switching overhead is modest but there are drawbacks. indicating that no compensatory steps are needed. One is that.ROVER TECHNOLOGY ‡ init (action id. for example. ‡ cancel (action id. 3. function parameters. it will execute the function indicated by deadline failed handler ptr. Function ptr identifies the function (or piece of code) associated with the action. provided it is not executing. A more sensible approach is to create a small set of ³operator´ threads that execute all operations.resulting in large overheads for thread switching. More importantly. violating it leads to some penalty but not system failure. Deadline is optional and indicates the time (relative to the current time) by which the action should execute. but this is essentially recreating the action model within each thread. Function parameters are the parameters used in executing this instance of the action. this approach severely limits our ability to optimally schedule the eligible actions within an operation and across operations. and soon. Both of these imply a 5large number of simultaneously active threads as we scale to large user populations. One is to implement each server operation as a separate thread.1. Of course. Cancel handler ptr indicates a cleanup function. There are several ways to use a thread model to implement the Rover controller. function ptr)² initializes a new action (identified by action id) for a server operation. This parameter can be null. deadline.3. cancel handler ptr)²cancels a ready-to-run action.

audio and video delivery capabilities and user interfaces. The Rover controller uses these attributes to provide responses to clients in the most compatible formats. While the location management system is not tied to a particular air interface.11 wireless is less power-ef¿cient but is widely deployed and can currently provide bandwidths of upto 11 Mbps.4 ROVER CLIENTS The client devices in Rover are handheld units of varying form factors. software radios is an obvious choice to integrate different air-interface technologies. Rover client devices will use the lower bandwidth air interfaces provided by cellular wireless technologies that use CDMA. In contrast. Department of ISE. which implies that the Rover system interfaces with cellular service providers. text and graphics capabilities. Different air-interfaces may be present in a single Rover system or in different domains of a multi-Rover system. In particular. we have currently considered two link layer technologies ² IEEE 802. it can provide bandwidths of upto 2 Mbps. Bluetooth is power ef¿cient and is therefore better at conserving client battery power. processing capabilities ² ability to handle vector representations and image compression. TDMA based techniques. In either case. According to current standards. IEEE 802. BITM Page 11 .11 Wireless LAN and Bluetooth. They are categorized by the Rover controller based on attributes identi¿ed in the device pro¿les. cellular phones can connect as clients to Rover. such as display properties ² screen size and color capabilities. ranging from powerful laptops to simple cellular phones.ROVER TECHNOLOGY 3. In areas where these high bandwidth alternatives are not available. For the wireless interface of client devices. certain properties of speci¿c air interfaces can be leveraged to better provide location management.

The accuracy of the estimate depends on the particulars of the location technology. issuing system speci¿c commands. updating security policies.11 signal strength [3]. The Rover controller interacts with the external world through the following interfaces: Location Interface: This interface is used by the Rover controller to query the location service about the positions of client devices.ROVER TECHNOLOGY 3. signal propagation time. The location of a device is de¿ned as a tuple representing the estimate of its position (either absolute or relative to some well-known locations). for example. including monitoring the Rover controller. and the time of location measurement. Figure 2: Logical architecture of a Rover system Department of ISE. Admin Interface: This interface is used by system administrators to oversee the Rover system. Rover takes into account this accuracy information when making location-based decisions. GPS. querying client devices. Depending on the technology being used to gain position estimates. IEEE 802.5 ROVER CONTROLLER The interaction of the Rover controller with all other components of the system is presented in Figure 2. and so on. the accuracy of the estimate. etc. BITM Page 12 .

which together decouple client-level information from the content that is served. the Rover controller lazily updates the database. client location). namely pro¿les and preferences. by which credit card authorization for the rental and other purchases can be made. This information changes at a fairly regular rate due to client activities. identi¿es some parts of the data to be volatile. These services would typically be provided by third-party vendors. For some others. 3. e. Back-end Interface: This interface is used for interaction between the Rover controller and certain external services as may be required. Having a separate content interface decouples the data from the control path. The content provider of the Rover system is responsible for keeping this infobase Department of ISE.g. client location and triggers set by the clients. the client location alters with movements.6 ROVER DATABASE The database consists of two components. The Rover controller does not guarantee perfect accuracy of the volatile data. BITM Page 13 . and thus trades off accuracy with ef¿ciency for these data components. It contains all clientspeci¿c contexts of the users and devices. The Rover controller has the most updated copy of this information. so as to avoid very frequent database transactions. and periodically commits this information to the database. The Rover controller.g. which maintains user and device information of all active users and devices in the system. One component of the database is the user infobase.ROVER TECHNOLOGY Content Interface: This interface is used by the content provider to update the content that is served by the Rover controller to the client devices. for example. This stores the content that is served by the Rover controller and changes less frequently. The other component in the database is the content info base. One such service is E-commerce.g. These are termed as non-volatile data. For many of these data items (e. Server Assistants Interface: This interface is used for interaction of the Rover controller with the assistant entities. new client registration) the Rover controller commits this information to the database before completing the operation. These are termed as volatile data since any change to these data items are not guaranteed to be accurately reÀected by the system across system crashes. (e. the database unit and the streaming media unit.

Apart from the usual SQL functionality. BITM Page 14 . y Blocking: If a transaction is unable to access or modify some data due to locks being held by other operations.ROVER TECHNOLOGY updated. If the Blocking Àag is set for a transaction. server operations acquire the relevant locks on data items stored in the database using a Two Phase Locking protocol with a lexicographic ordering of lock acquiring for data items. this component stores all text and graphical information about the various artifacts on display. Server operations acquire the relevant locks on data items stored in the database using a Two Phase Locking protocol with a lexicographic ordering of lock acquiring for data items. required to acquire locks at the database. The Rover database implements an extended-SQL interface that is accessed by the Rover controller. The transactions. The transactions of the Rover controller with the database are executed on behalf of the different server operations. on behalf of the operation. it also provides an API for retrieval of spatial information of different objects and clients in the system. which are not visible to the server operations at the Rover controller. It also requires that these locks will be released by the operation prior to its termination at the Rover controller. each transaction is identi¿ed by two different Àags that identify certain properties for execution. are executed atomically by the database. Department of ISE. by de¿nition. as follows: y Lock-Acquiring: If this Àag is set. It is important to note that server operations may need to acquire locks at the database. The transactions themselves might acquire and release locks at the database during their execution. or it returns immediately to the operation without successfully execution. This is not required for the vast majority of server operations that either make a single database transaction. None of the server operations in the current implementation of Rover. In the museum example. it can either block till it successfully reads the data. to read or write data to the database. the transaction is required to acquire relevant locks. then the ¿rst option is chosen for the transaction. if and only if they need to access the stored data through multiple transactions and all these transactions need to have the same data view. Additionally. or do not need its multiple transactions to have identical views. to avoid deadlocks.

In our RF-based techniques. are gathered as vectors and tabulated over the area.7 LOCATION SERVER The location server is responsible for storing and managing user locations in the Rover system. During the location determination phase. BITM Page 15 .ROVER TECHNOLOGY 3. are calculated. the user location of a client is obtained without the use of any additional hardware. The system is designed to work in both indoors and outdoors environments.11 wireless LAN frames. the vector of samples received from each access point is compared to the radio-map and the best match is returned as the estimated user location. Techniques are categorized into: Radio-map Techniques: Work in 2 phases: an offline phase and a location determination phase. the signal strengths received from the access points. We have experimented with RF-based systems that infer the location of a device based on the signal strength of received RF signals of IEEE 802. The nearest K vectors to the vector of samples. Then the most probable location. is reported as the estimated user location. at selected locations in the area of interest. During the offline phase. Department of ISE. received from each access point at the location determination phase. We used two methods to calculate the best match: o K-Nearest Neighbors (KNN): A distance function is defined to measure the distance between any two data vectors. We have developed different RF-based technique in the context of the Rover system. using the vector of samples. o Probabilistic Clustering-based: Bayeas theorem is used to estimate the probability of each location within the radio-map. Then from the K vectors a vote is conducted to estimate the best user location. It thus provides more ubiquitous coverage in campus-like environments that already have a rich wireless LAN coverage for data transport. This can be contrasted to alternative Infra-red tag-based systems or ultra-sonic emitter and receiver based systems in which additional devices need to be attached to the infrastructure as well as the clients.

we can estimate how far the receiver is from each access point to estimate his location. For indoor environments. This is because the relation between the signal strength hand distance in indoor environments is complicated by to the multi-path effect and other phenomena which are difficult to capture by simple models. d is the three dimensional path length between the transmitter and the receiver. This advantage favors model-based techniques in outdoor environments. d0 is a reference distance. The method used: o Curve Fitting: The received signal power is modeled as: where PL is the received power at certain position in decibels. and n represents the path loss exponent.ROVER TECHNOLOGY Model-based Techniques: The relation between the signal strength received from an access point and the distance to this access point is captured by some function (model). Department of ISE. By using three or more access points. BITM Page 16 . model based techniques have the advantage of not depending on the calibration process required to build the radio-map. where the relation between signal strength and distance can be captured by simple functions and the coverage area is large making building the radio-map a time consuming process. we found that radio-map based techniques achieve better accuracy than model-based techniques. the user location is estimated. We estimate the A and B parameters for each access points using curve fitting techniques. On the other hand. Given the vector of samples.

However. the two Rover systems have service level agreements that de ne the services that they will provide to clients of each other. The design of a multi-Rover system is similar in spirit to the Mobile IP [5] solution to provide network layer mobility to devices. When the Rover controller of a system detects a foreign client device. the Rover controller of the foreign system requests transfer of relevant state about the client device from the Rover controller of the home system and subsequently provides necessary services to it. it is important to provide a seamless experience to visitors as they roam from museum to museum. For example.g. Each client device has a home Rover system to which it is registered. consider a Rover system in a single museum. Based on administrative policies. Department of ISE. If one exists. A single system is sufficient for management of Rover clients in a zone of single administrative control. other server devices (e.. it rst checks whether it has an appropriate service-level agreement with the Rover controller of the device s home system. Rover database and Rover streaming media unit). and a set of Rover clients. Rover controllers of different Rover system use the Inter-Controller protocols to interact. BITM Page 17 .ROVER TECHNOLOGY 3. each separate museum has its independent administrative authority. All artifacts and objects on display in the museum are managed by a single administrative entity. But. it needs to authenticate itself with the Rover controller of the foreign system. Therefore.8 MULTI-ROVER SYSTEM A single Rover system comprises of a single Rover controller. There is a single content provider for this system and a single Rover system is appropriate to serve all visitors to this museum. we can have a separate Rover system for each of the different museums that are administered separately by each museum authority. This allows a decentralized administration of the independent Rover systems. locally by each museum authority. A multi-Rover system is a collection of independent Rover systems that peer with each other to provide this seamless connectivity to the user population. As the device physically moves into the zone of a different or foreign Rover system.

and ‡ an administrator¶s console. ‡ unicasts from the controller according to userspecified time. About 12 base stations are distributed all over the building. or context-dependent conditions. we implemented the basic Rover system functionality. ‡ device registration and deregistration procedures. the location service uses signal strength measurements from different base stations. The accuracy is about 2 meters in this environment. location. which marks different user locations as dots on an area map. and the client device can typically receive beacons from five or six of them. the current implementation runs under Linux. ‡ periodic broadcast of events of interest from the Rover controller to the users in specific locations. Indoor Rover system was implemented in a 26.11 wireless LANs. For our outdoor experiments. College Park. Wireless access is over IEEE 802. A preliminary Windows-based test implementation ran Windows 2000 for the controller and Windows CE for the client devices.1 and the clients on Compaq iPAQ model H3650 Pocket PCs running Familiar¶s Linux distributions for PDAs.ROVER TECHNOLOGY Chapter 4 ROVER IMPLEMENTATION AND ANALYSIS 4. However. using very simple signal-strength estimation techniques.1 INITIAL IMPLEMENTATION Rover prototype systems was successfully built and tested in both indoor and outdoor environments at the University of Maryland. allowing a global view of all system users and their locations. In this implementation. ‡ both simple-text-messaging and voice-chat interaction between users. Department of ISE. we interfaced a Garmin eTrex GPS device to the Compaq iPAQs and obtained device location accuracy between 3 and 4 meters. In both these environments. The Rover controller was implemented on an Intel Pentium machine running Red Hat Linux 7. which included ‡ user activation and deactivation procedures. Figure 4 shows the iPAQ Rover client¶s default display. BITM Page 18 .6 × 70-meter area on the fourth floor of the Computer Science Department building. Each Compaq iPAQ includes a wireless card that attaches to the device through an expansion sleeve.

Fig: 4th block of A. Users have the option of making their location visible to other users.WILLIAMS Building Department of ISE.V. BITM Page 19 .ROVER TECHNOLOGY The administrator can directly interact with all users or a specific subset based on location or other user attributes.

For example. BITM Page 20 .1 System Functionality The Rover system provides different capabilities to the users. shows the display at a client that is involved in an audio chat with another client.ROVER TECHNOLOGY 4. The dashed line indicates an active chat session between the clients. y Location Update Operation inform the server system about the client location using.2. These set of operations area register new user/device. y Trigger Operations allow users to set context-specific alerts. Fig shows a client screen shot in response to a client query on sites of interest in its vicinity. An user can enable triggers by specifying the relevant time or space-dependent condition. the clients interact directly with each other without intervention of the rover server system. They include the user login and user logout operations. Once an audio chat is initiated. Department of ISE. When the trigger condition is satisfied the Rover server system sends appropriate notification to the particular user. The triggers are activated based on user interests and depend on current time and/or location of the user. an user can request information about all or a subset of all active users in the system. which can be categorized as follows: y System Admin Operations are available only to the authorized system administrator. Audio chat between clients is initiated with the coordination of the Media Manager. update user/device attributes and de-register user/device. Audio Chat Operations enable direct audio communication between clients. y User Access Operations are the basic set operations that every user avails to access the Rover system. The administrator is also able to query the Rover server system about the state and information specific to any and all Rover clients in the system. y Query Operations allow users to acquire information about different aspects of the system and the environment.

BITM Page 21 . each user is marked with a dot in the area map Department of ISE.ROVER TECHNOLOGY Figure 4: Rover client default display for Compaq PDA iPAQ.

we are expecting to interact with cellular providers to de¿ne and implement mechanisms that will Rover clients to interact over the cellular interface. y Experiment with a wider range of client devices. and the content management will be done jointly for both the systems in an integrated manner. we are experimenting with location-aware streaming video services. y Integrate different other wireless air interfaces to the Rover system. College Park. ranging. Our ¿nal goal is to provide a completely integrated system that operates under different technologies. Initially independent Rover systems will be deployed to serve clients of speci¿c departments. and allows a seamless experience of location-aware computing to clients. Bluetooth-based LAN is emerging as an important standard today. as they move through the system. we have a set of different projects in both the short and the long term. BITM Page 22 . limited color capabilities. y Implement the multi-Rover system. and it is a logical next technology to experiment with. Beyond that these systems will be able to interact using the inter Rover Controller protocols of a multi-Rover system. y Implement the other different location services. We are currently building custom hardware that will allow the deployment of the PinPoint Technology for device location. In the longer term. We are also experimenting with other mechanisms for better location estimation. They included devices with low-resolution graphics. Campus-wide deployment of Rover. The Rover controllers will be co-located with the web servers. y For the more-capable devices.ROVER TECHNOLOGY Chapter 5 CONCLUSION AND FUTURE WORK Rover is currently available as a deployable system using speci¿c technologies. Department of ISE. or only a few lines of text display area. With this in mind. specially at the lower end of the spectrum. In the near term we are hoping to deploy a Rover system in the campus of the University of Maryland. both indoors and outdoors.

including visits to museums. we expect the bene¿ts of this system to be higher in such large user population environments. The system has been designed speci¿cally to scale to large user populations. Therefore. game ¿elds. BITM Page 23 . shopping malls. Department of ISE. amusement and theme parks.ROVER TECHNOLOGY We believe that Rover Technology will greatly enhance the user experience in a large number places. of¿ces and business centers.

College Park.org/wiki/ROVER y http://tmrnadeem. Computer Science. y www. of Maryland. March 2000.. Rover Technology: Enabling Scalable Location-Aware Computing. RADAR: An in-building RF-based user location and tracking system.bluetooth. Md. tech. Univ.pdf y http://www.N. BITM Page 24 .com.org.wikipedia. Israel. Padmanabhan. reports UMIACS.TR 2001-89 and CS-TR 4312.irda. Banerjee et al. Dec. y http://www. Dept.ifastnet. Department of ISE. 2001. Bahl and V.ROVER TECHNOLOGY Chapter 6 References y S. In Proceedings of Infocom.com/Web_Page/html_css/papers/Rover_mobisys_ poster. y P. Tel Aviv..

Sign up to vote on this title
UsefulNot useful