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.