including phones and digital cameras. As we move closer to intelligent computers, they may begin to follow our every move. The essence of mobile computing is that a user's applications are available, in a suitably adapted form, wherever that user goes. Within a richly equipped networked environment such as a modern office the user need not carry any equipment around; the user-interfaces of the applications themselves can follow the user as they move, using the equipment and networking resources available. We call these applications Follow-me applications. Typically, a context-aware application needs to know the location of users and equipment, and the capabilities of the equipment and networking infrastructure. In this paper we describe a sensor-driven, or sentient, computing platform that collects environmental data, and presents that data in a form suitable for context-aware applications. Context-Aware Application A context-aware application is one which adapts its behaviour to a changing environment. Other examples of context-aware applications are 'construction-kit computers' which automatically build themselves by organizing a set of proximate components to act as a more complex device, and 'walk-through videophones' which automatically select streams from a range of cameras to maintain an image of a nomadic user. Typically, a context-aware application needs to know the location of users and equipment, and the capabilities of the equipment and networking infrastructure. In this paper we describe a sensor-driven, or sentient, computing platform that collects environmental data, and presents that data in a form suitable for context-aware applications. The platform we describe has five main components: 1. A fine-grained location system, which is used to locate and identify objects. 2. A detailed data model, which describes the essential real world entities that are involved in mobile applications. 3. A persistent distributed object system, which presents the data model in a form accessible to applications. 4. Resource monitors, which run on networked equipment and communicate status information to a centralized repository. 5. A spatial monitoring service, which enables event-based location-aware applications. Finally, we describe an example application to show how this platform may be used. |