A Framework for Aggregation of Presence Information Based on User-Provisioned Rules
Total Page:16
File Type:pdf, Size:1020Kb
A Framework for Aggregation of Presence Information Based on User-Provisioned Rules von Olaf Bergmann Dissertation zur Erlangung des Grades eines Doktors der Ingenieurwissenschaften — Dr.-Ing. — Vorgelegt im Fachbereich 3 (Mathematik und Informatik) der Universität Bremen im November 2006 Datum des Promotionskolloquiums: 01.06.2007 Gutachter: Prof. Dr.-Ing. Ute Bormann (Universität Bremen) Prof. Dr.-Ing. Jörg Ott (Helsinki University of Technology) Abstract Presence systems are widely used to get aware of other users’ availability and willingness to communicate before actually contacting them. While early presence services offered only text- based communication and relied on the users to enter appropriate status descriptions, modern applications have evolved that integrate multi-media communication and facilitate automatic detection of status changes. To achieve this, unstructured data provided from various sources is aggregated and set into relation with user-specific context information. As most of the algorithms used for automatic status inference require extensive information acquisition to construct an initial rule set describing the user’s habits and activities, several re- search groups have investigated mechanisms for transforming low-level sensor data into abstract presence descriptions. In this thesis, we enhance the sensor-fusion approach to aggregate abstract presence descrip- tions from multiple presence-zones a single user might be part of. We propose a vocabulary based on ECMAScript for controlling the aggregation process. With this language, users can specify how status update notifications generated by their personal presence sources should be aggregated at a presence server, and how this information should be published to subscribed watchers. The latter allows for explicitly choosing specific communication channels offered to a particular set of users. For example, the mobile phone might be offered as a means for communicating with family members while this media is not offered to any other group of subscribers. To prove the applicability of our approach in specific environments, we have implemented a presence server that supports the evaluation of presence aggregation scripts as defined in this thesis. In addition, the standardized presence format was extended by a set of attributes that describe the degrading exactness of presence values over time. Based on this information, a user’s presence status can be calculated by a presence server even if no recent status updates have been received. Danksagung Die hier dargestellte Forschungsarbeit wurde am Technologie-Zentrum Informatik (TZI) der Universität Bremen in der Arbeitsgruppe Rechnernetze durchgeführt. Die Betreuung erfolgte durch Prof. Dr.-Ing. Ute Bormann und wurde unterstützt von Prof. Dr.-Ing. Jörg Ott vom Net- working Laboratory an der Helsinki University of Technology. Prof. Dr.-Ing. Ute Bormann hat meine wissenschaftliche Karriere seit dem Eintritt in das Hauptstudium begleitet und gefördert und dabei mein Interesse für die Themengebiete der Transformation von strukturierten Dokumenten und Internettechnologien geweckt. Im Vorder- grund standen dabei im wesentlichen die Konzepte und Architekturen, deren Verständnis für die Entwicklung komplexer Systeme unabdingbar ist. Prof. Dr.-Ing. Jörg Ott hat diese Linie fortge- führt und war mir insbesondere auf dem Gebiet der Multimedia-Kommunikation über das Ses- sion Initiation Protocol (SIP) ein ausgezeichneter Lehrer. Im Forschungsprojekt MECCANO habe ich gemeinsam mit ihm die erste Implementierung eines SIP-Proxys begonnen und diesen in späteren Projekten nach mehreren Umstrukturierungen bis zum heutigen Stand fortgeführt. Dabei profitierte ich von den tiefen Detailkenntnissen, die Jörg Ott aus jahrelanger Arbeit für die Standardisierung von H.323 und SIP einbrachte und die eine kritische Sichtweise auch auf Fehlentwicklungen bei der Protokollentwicklung förderten. Neben diesen beiden Personen waren vor allem die Mitarbeiter der AG Rechnernetze am TZI eine große Unterstützung. Mein besonderer Dank gilt Prof. Dr.-Ing. Carsten Bormann für seine detaillierten und kritischen Anmerkungen, mit denen er einen großen Anteil an der wissenschaftlichen Qualität der vorliegenden Arbeit hat. Seiner Initiative ist es zudem zu verdanken, daß begleitend zu meiner Forschungsarbeit über Echtzeitkommunikation im Inter- net mehrere Lehrbücher über Webtechnologien und Dokumenttransformation entstanden sind. Die Erfahrung aus diesen Buchprojekten war ein wesentlicher Aspekt, der die Fertigstellung der vorliegenden Arbeit erst ermöglichte. Prof. Dr.-Ing. Carsten Bormann und Dr.-Ing. Dirk Kutscher waren es auch, die mir die notwendigen Programmiertechniken und Entwurfsmuster zur Entwicklung großer Softwaresysteme vermittelten. Der von Dr. Kutscher entwickelte Mes- sage Bus wurde von mir in zahlreichen Projekten erfolgreich eingesetzt und stellte somit seine Praxistauglichkeit als schnell erlernbare Middleware zur Entkopplung von Anwendungen ein- drucksvoll unter Beweis. Den Mitarbeitern der AG Rechnernetze danke ich für sieben Jahre in einem angenehmen und produktiven Umfeld, in dem neue Ideen konstruktiv hinterfragt wurden und sich so weiter- entwickeln konnten. Besondere Unterstüzung fand ich durch Eilert Brinkmann, der den TLS- Server zu meinem SIP-Stack beisteuerte und die Idee für die Generalisierung des Message- Parsers lieferte. In den Projekten DTI, PASST und GEOCOOP konnte ich unter anderem mit Andreas Büsching zusammenarbeiten, der die von mir verwendete DDA-Implementierung vor- antrieb und Mbus-basierte Sensoren als Quellen von Presence Informationen entwickelte. Eine besondere Leistung ist die Portierung der Mbus-Bibliothek auf die exotische Hardware eines handelsüblichen IP-Telefons. Des weiteren entwickelte er in Zusammenarbeit mit Dirk Meyer eine zweite Implementierung für Mbus-RPCs, die ich als Gegenpart zum Testen meiner Re- ferenzimplementierung libmbusapp verwenden konnte. Als Beta-Tester meiner SIP-Software stellten sich Tobias Hartmann, Sönke Schwardt und Kevin Loos der Herausforderung und lieferten nicht nur wertvolles Feedback über die Benutzbarkeit der Bibliotheken, sondern un- DANKSAGUNG terstützten tatkräftig die Suche und Behebung von Fehlern. Dr. Volker Wittpahl hielt nach meinem Verlassen der Universität stets den Kontakt aufrecht und gab nützliche Tips zur Syste- matisierung der Arbeit. Als stetiger Mahner übernahm er zuletzt die Aufgaben des schlechten Gewissens, und beschleunigte so die Fertigstellung dieser Arbeit. Zum Abschluß sei auch noch denjenigen gedankt, die über Jahre unter der Fertigstellung dieser Arbeit zu leiden hatten und die wissentlich oder unwissentlich zu ihrem Gelingen beige- tragen haben. Neben zahlreichen Freunden, die immer ein aufmunterndes Wort fanden, war es vor allem meine Familie, die immer moralischen Beistand geleistet hat und mir in der entschei- denden Phase den Rücken freihielt. Ohne diese Unterstützung wäre eine Fertigstellung der Arbeit nicht möglich gewesen. Kiel, im November 2006 viii Contents 1 Introduction 1 1.1AutomaticPresenceStatusDetermination.................... 3 1.2 The Need for Multiple Abstraction Levels .................... 5 1.3 Aging of Presence Information .......................... 7 1.4 Our Contribution ................................. 9 1.5StructureofthisThesis.............................. 11 2 The Role of Presence Systems for Interpersonal Communication 13 2.1 Historical and Technical Background ....................... 13 2.1.1 Evolution of Network Technologies ................... 14 2.1.2 Conferencing Applications ........................ 16 2.1.3 Event NotificationSystems........................ 17 2.2 Theoretical Foundations ............................. 18 2.3Meaningof“Presence”.............................. 23 2.4Presence-AwareApplications:TwoExamples.................. 25 2.4.1 Telepresence Systems .......................... 25 2.4.2 Location-based Services ......................... 28 2.5 On User Acceptance of CSCW Systems ..................... 32 2.6 A Use Case for User-Controlled Presence Aggregation ............. 34 2.7Summary..................................... 36 3 Requirements Analysis 39 3.1GuidelinesforPresenceApplicationDesign................... 39 3.1.1 Minimizing Information Overload .................... 40 3.1.1.1 Limiting the NotificationRate................. 41 3.1.1.2 Aggregation of Notifications................. 43 3.1.1.3 Prediction of Availability ................... 45 3.1.2 Patterns of Interpersonal Communication ................ 47 3.1.2.1 Establishing Common Ground ................ 47 3.1.2.2 Media Selection ........................ 48 3.1.2.3 The Role of Presence Services ................ 49 3.1.3 Summary ................................. 50 3.2FunctionalRequirements............................. 53 3.2.1 Local Presence Environment ....................... 56 3.2.2 A Data Format for Presence Aggregation ................ 57 3.2.3 The Presence Aggregation Process .................... 59 3.2.4 An Aggregation Language for Presence Information .......... 59 3.2.5 User-Specific Configuration ....................... 63 3.3 Distribution of Presence Information ....................... 63 3.3.1 Internet-scale Event Notification..................... 63 3.3.2 The Session Initiation Protocol (SIP) .................. 66 CONTENTS 3.3.2.1 The Basic SIP Architecture .................. 67 3.3.2.2 Application-layer Message Routing .............. 68 3.3.2.3 SIP Event Notification..................... 69 3.3.2.4 Aggregation of Events ....................