An architecture to support storage and retrieval of events

  • Authors:
  • M. D. Spiteri;J. Bates

  • Affiliations:
  • University of Cambridge, Cambridge, U.K.;University of Cambridge, Cambridge, U.K.

  • Venue:
  • Middleware '98 Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes the architecture we designed and constructed to support the storage and retrieval of events. We define an event as an asynchronous occurrence containing parameterised details of an activity that has occurred within a distributed component. Our past experience has demonstrated how using events as the glue to build distributed active systems simplifies the construction of complex applications, and enables legacy stand-alone components to be rapidly integrated within a larger collaborative environment. Examples of such active systems are interactive multimedia applications, distributed debugging environments, cooperative working applications, agent architectures, and active. Our motivation for storing events is that events represent indexing points into application sessions. Our event repository architecture can capture and store events, as well as inject them back into distributed application components to simulate replay of sequences of activity, or for re-building lost state. The architecture co-exists and inter-operates with other event-based active systems, as well as with middleware event services like traders and brokers. Using a generic object-oriented model for events, the repository architecture provides powerful search and retrieval facilities, enabling extraction of behaviour patterns, searching for simple and composite occurrences, and replay of stored sequences. We illustrate how the repository can be a viable alternative to past system-specific solutions in areas like capture of collaboration and memory prosthesis, and visualisation of user mobility.