Distributed context-aware middleware

During 2004 and continuing in 2005 I worked and lead a project on developing a context delivery middleware, called CREDO.  The CREDO middleware was based on a pub/sub paradigm, had an entirely ontology-based design and implementation and supported defining a hierarchical structure of context producers and consumers. The main goal of this work was to create a middleware distributed at various levels: data collection, data storage, data processing and service/application logic. We also looked at various services and domains that could benefit from such middleware.

Here are some main characteristics of CREDO:

  • Event-driven architecture
    • Context conveyed from provider to consumer
  • Could be used over any kind of provisioning bearer
    • SIP events used in the actual implementation but could support any pub/sub architecture
  • Incorporated own mechanisms on SIP-based context provisioning
  • Based on an ontology-based design and on existing standards, e.g., W3C’s OWL for describing ontologies and OWL-S for describing context providers as services. This design allowed for:
    • Automated context provider discovery
    • Automated context acquisition
    • Automated context (de-)composition and interoperation, allowing eventually for mediation during runtime
    • Creating hierarchies of providers through aggregation
  • Supported access rights to preserve privacy
    • information’s owner able to define disclosure policies
    • differentiated between owner of information and provider.

While CREDO was an internal NRC project, I was also involved in a collaboration with Columbia University, somehow related to the topics in this project.

Other project members: Dirk Trossen, David Nguyen, Pavan Reddivari (summer intern), Sailesh Satish (in 2005-2006).

External collaborators: Prof. Henning Schulzrinne, Knarig Arabshian (Columbia University, U.S.A.).

Related publications:

  • D. Pavel & D. Trossen, “Context-Awareness and SIP: Enabling User-tailored Communication in the Internet”, short paper in the Pervasive 2002 conference.
  • D. Pavel & D. Trossen, “Context-aware Resource Pre-Allocation in Nomadic Applications using a Service Provider Approach”, IEEE 3G Wireless 2003, May 2003, San Francisco, CA, USA.
  • D. Pavel & D. Trossen, “Context Provisioning and SIP Events”, Workshop on Context Awareness, MobiSys2004 Conference, June 2004.
  • D. Trossen & D. Pavel, “Service Discovery & Availability Subscriptions Using the SIP Event Framework”, ICC’2005 conference, Seoul, Korea, May 2005.
  • K. Arabshian, H. Schulzrinne, D. Trossen & D. Pavel, “GloServ: Global Service Discovery using the OWL Web Ontology Language”, IEEE Workshop on Intelligent Environments, Essex (UK), June 2005.
  • Dana Pavel, Dirk Trossen, “Context Provisioning for Future Service Environments”, International Multi-Conference on Computing in the Global Information Technology, ICCGI06, Bucharest, Romania, July 2006.
  • Sailesh Sathish, Dana Pavel & Dirk Trossen, “Context Service Framework for the Mobile Internet”, FUMCA workshop at Ubicomp 2006, Irvine, CA, USA.