Context-aware computing systems and methods are described. In particular
embodiments, location aware systems and methods are described. In the
described embodiments, hierarchical tree structures are utilized to
ascertain a device context or location. The tree structures can be stored
on or accessible to mobile computing devices so that the devices can
determine their own particular context or location. In one embodiment,
one of the tree structures comprises a Master World tree structure that
contains nodes that represent geographical divisions of the Earth.
Another of the tree structures can comprise a so-called Secondary World
that contains nodes that represent physical or logical entities that are
organization or company specific views of the world. A computing device
can automatically determine its context or location by ascertaining a
node on one or more of the tree structures and then traversing the tree
structure to ascertain the complete context. A unique device architecture
is described that permits context aware computing. The device
architecture comprises a context service module, a common interface, and
one or more context providers. The context providers provide information,
through the common interface, that pertains to the context of a device,
and the context service module processes the information to device the
device's context. An application program interface (API)/events layer is
provided through which various applications can call the device to
ascertain the device's location so that location dependent goods or
services can be rendered. A privacy manager is also provided in some
embodiments to enforce privacy thereby protecting the granularity of the
location information that is provided to the applications. In addition,
unique location beacons are described that transmit information that can
be used by the computing device to ascertain its location.