1. Field of the Invention
The present invention relates generally to the management of context information, and more particularly to a scalable and extensible system and method for collecting, maintaining, and disseminating such information.
2. Description of the Related Art
With the proliferation of small computing devices, wireless networking, and sensor technology, comes the ability to collect and maintain a wide variety of information about people, places, and objects. This information offers the opportunity to make application programs aware of the context of those people, places, and objects, which in turn will reduce the required amount of human attention to application programs. By tracking and interpreting the context of a person, place or object, context systems can automatically configure computing devices and direct information transfer without user intervention.
One system for managing context information (such information sometimes referred to in the literature as “awareness information”) is described in commonly assigned and co-pending U.S. application Ser. No. 09/511,977, filed Feb. 24, 2000 (the “prior application”), incorporated herein by reference. The prior application describes a system for collecting context information and storing such information on an awareness server that can be contacted by a closed set of users and devices. Information is provided to the awareness server from registered users and machines by means of information packets that include a record identifier and an encrypted form of the data. When the awareness server receives an information packet, the identifier is checked for validity, and if valid, the attached context information is decrypted, further data source validity checking is performed, and the preferences of the information source and object are checked to determine authorized handling of the information. While the system described in the prior application is configured to receive and maintain context information of varying types, there is no means described for easily extending the system, after initial setup, to handle more diverse context information. In addition, the prior application does not provide a means for scaling to handle substantially greater volumes of context information of a given type.
As context computing becomes more prevalent, so will the need for simple communication between users and devices and the context service to which they subscribe. In the past, in order to update a context system to handle additional types of information, it was necessary for a programmer to manually alter the server code. With large context systems, this can become a bottleneck to system upgrades.
Clearly, as computing systems become more ubiquitous, there will be a need for the ability to quickly and easily extend context systems to handle information of diverse types, as well as to scale to the capacity of such systems to meet ever larger user communities. In addition, an easier method of requesting and exchanging information with context services will also be necessary.