Context Server

An infrastructure for context aware applications


NB: The Context Server was an early prototype for what is now the Context Toolkit. You may want to check out the most recent work.

Overview

The Context Server infrastructure aims at facilitating the development and deployment of context aware applications.

It provides:

Architecture

Our infrastructure is comprised of context servers that maintain a dynamic model of context data. Each context server manages a number of sensors, collects context data from these sensors and makes it available to interested clients. In our model, a context server runs on each user's workstation as well as workstations assigned to groups or rooms for example. The architecture of each context server is shown in the figure below.

The Context Management component receives or grabs data from the sensors and stores it in a database. It manages the history of each piece of context data. It also handles requests coming throught the Context Access API and provides basic access control.

The Context Access API is a network API: applications and clients of a context server may be local or remote and access the context server through remote procedure calls (RPC) expressed in XML and sent over HTTP. HTTP is the transport mechanism. XML is the marshalling mechanism. Using two open standards provides us with a very portable and interoperable RPC mechanism.

Finally, Context Synthesizers perform operations on context data to try to extract meaning and information at a higher-level of abstration. Context synthesizers are plug-in modules. Two basic types are supported:

Sources of Context

The following sources of context are supported as of today:
Last modified by Daniel Salber on Thu, Oct 29, 1998
This page was built with Frontier on a Macintosh