This technical report presents the results of the project "Event Management for Mobile Users", a research cooperation between Universität Stuttgart and Microsoft.
In Vienna, Microsoft chief executive Bill Gates recently expressed his vision of a seamless interaction of different computing devices, from PC to mobile phone, that proactively support the users wherever they go. Among other things, he said: "For example, if you want to be notified about something that's changing, that's important to you, software should know which device you have with you and should know what you're doing, know the context to understand if interrupting you with this new information is appropriate or not." (Bill Gates, January 28, 2004, [Los Angeles Times 2004])
This project may present one step towards realizing his vision. It is about event support for mobile users. Depending on their current context, they want to be informed about events that occur in the world around them - the physical as well as the virtual world of digital information systems. So, to optimally support its users, future generations of web services will need information about the real-world context of the user, especially their spatial context.
This project was carried out in close cooperation with the Nexus project at Universität Stuttgart, whose goal is to support mobile context-aware applications based on a distributed spatial world model. Events of special interest in this context are spatial events, i.e. events that occur when a certain spatial constellation of objects is reached, e.g. when two people meet or when a customer enters a shopping mall. As the underlying world model is distributed, the events have to be observed on a distributed model.
The number of potential spatial events is not restricted, e.g. the event that a user enters an area could be of interest for arbitrary areas. Also, as the spatial world model is distributed over many servers, a local observation is no longer sufficient. Therefore, the well-known publish-subscribe paradigm, in which the observation occurs implicitly within local observers, has to be extended. We propose an observation-notification paradigm, in which the observation of events has to be explicitly initiated by interested clients. The event service that conforms to the new paradigm consists of two components: an observation service, which observes events through a distributed model, and a notification service, which efficiently delivers event notifications. This paradigm applies to all scenarios in which the data needed for the observation of events is distributed over multiple sources.
The user wants the specification of events to be as simple and easy as possible. He only wants to specify what event is to be observed, not how the observation of the event is realized. Therefore the distribution aspects should be transparent to the user. However, these aspects have a strong influence on the accuracy of the model and thereby directly affect the accuracy of event observation. We propose that the user specifies an event as a predicate, which becomes true when the event has occurred, plus a threshold probability. If the probability that the event has occurred is above the threshold probability, the event is considered to have occurred and an event notification is sent.
The above sketched solution requires calculating the probability with which an event has occurred. We first show which parameters influence the accuracy of the data. We then present update protocols that guarantee a certain accuracy of data in the observer model, i.e. the model where the event is actually observed. Finally we show, how the occurrence probability can be calculated. Based on the identified parameters, the placement of the observation in the system can also be optimized with regard to the accuracy of the data.
We have implemented the event service and integrated it into the Nexus platform. As the Nexus platform is intended as an open platform with possibly world-wide scale, scalability, efficiency and interoperability have been important requirements for the design of the components. To support interoperability, we have built on standard technologies like XML, HTTP and SOAP.
The evaluation of the event service within the Nexus context shows the feasibility of the approach. We were able to show that the event service performs adequately in certain example scenarios. Experiments with a large-scale scenario are the next steps on our agenda.