A system and process for providing a geometric model database for use in
an ubiquitous computing environment. In general, the geometric model
database system and process is capable of accepting information about the
geometric state of the environment, building a geometric model of this
environment, maintaining and storing the geometric model, and handling
queries about the environment's geometric state. The task of building a
geometric model begins by establishing a set of entities that are of
interest in the environment. An entity represents an object which exists
in the physical world. In the geometric model database, an entity is
represented by a coordinate frame and an extent. Extents refer to the
physical size, or some service region such as a field of view, associated
with an entity. The location of an entity in the physical world is
defined using "measurements". In general, a measurement is simply a
mathematical description of the geometric relationship between two
entities. More precisely, a measurement describes the position and
orientation of one entity's coordinate frame, expressed in terms of
another entity's coordinate frame. Measurements originating at an
entity's frame are expressed in terms of that frame. While various
mathematical representations of the geometric relationship between
entities could be employed, a preferred one characterizes a measurement
as the relative position, and the relative orientation or heading, of two
entities along with a covariance matrix which describes the uncertainty
in these values.