Instant-X: Eine generische Plattform für multimediale Kommunikationsdienste
Zusammenfassung der Projektergebnisse
Als Ergebnis der Projektförderung liegt ein erstes Konzept eines Middleware Systems für spontan kommunizierende Multimedia Anwendungen vor, dessen auf Java und OSGi basierende Prototypimplementierung evaluiert und benutzt werden kann. Die Basis bildet ein Komponentensystem, mit dem verschiedene Protokollimplementierungen und Verarbeitungsmechanismen zur gemeinsamen Verwendung durch mehrere Anwendungen bereitgestellt, aktualisiert und ausgetauscht werden können. Kommunikationsanwendung selbst können als eine Menge von Komponenten dynamisch installiert werden. Anwendungskomponenten sind durch die entwickelte Instant-X API von konkret verwendeten Protokollen entkoppelt, so dass Protokolle ausgetauscht bzw. hinzugefügt werden können, ohne die Anwendungen ändern zu müssen. Im Einzelnen wurde zunächst auf der Basis von OSGi eine Komponentenverwaltung entwickelt, die es ermöglicht, Komponenten für eine bestimmte Funktion durch gewünschte Eigenschaften näher zu charakterisieren und eine dazugehörige Implementierung dynamisch zu laden. Dies kann auch ohne zentralen Server über das Peer-to-Peer-Netzwerk der Instant-X Knoten erfolgen. Eine Anwendung kann die jeweils benötigte Komponenten vom System anfordern, das diese automatisch lädt und installiert. Die Middleware bietet eine Reihe von Middleware-Komponenten als austauschbare Implementierungen für Protokolle und Mechanismen an. Der Übergang von den Anwendungskomponenten in die Middleware erfolgt über ein eigens entwickeltes Programmiermodell, das sich vor allem in einer API manifestiert, die Middleware- Funktionen abstrakt, d. h. weitgehend protokollneutral, zur Verfügung stellt. Diese Funktionen werden dann je nach Konfiguration in bestimmten Middleware-Komponenten konkret implementiert. Die API besitzt mehrere Kernelemente, die einer Anwendung oder auch einer anderen Protokollkomponente zur Verfügung stehen. Sessions bezeichnen alle Arten von Kommunikationssitzungen und dienen zur Abwicklung von Interaktionen durch ein beliebiges Protokoll. Eine Session benötigt einen lokalen Kommunikationsendpunkt, der durch ein Binding repräsentiert wird. Bindings repräsentieren zudem den Zugangspunkt für eingehende Verbindungswünsche und signalisieren diese an die Anwendung. Der Sitzungsaufbau einer Session kann durch ein Verhandlungselement, der Negotiation, gesteuert werden. Context-Elemente dienen zur Konfiguration der anderen Elemente. Als Anwendungen wurden ein generischer Instant Messenger, ein Internettelefon und ein PTT-Client erstellt. Ein Konzept für eine generische Benutzeroberfläche für die angestrebten spontanen und dynamischen Anwendungen benötigt lediglich einen Web-Browser und kann damit auch auf einem abgesetzten Kleingerät genutzt werden. Die Oberfläche demonstriert wie sich ein Instant-X Ökosystem verhalten könnte: Generische Adressbücher enthalten Kontaktdaten und starten je nach Interaktionsform verschiedene Anwendungen. Andererseits können Anwendungen mit mehreren Protokollen umgehen, ohne diese vorab zu kennen.
Projektbezogene Publikationen (Auswahl)
- How Well Does JXTA Fit Peer-to-Peer SIP? In: Proc of IEEE Int. Conf. on Communications – ICC, May 2008, S. 1792–1796
Schmidt, H. ; Aksoy, B. ; Hauck, F. J. ; Kassler, A.
- OSGi4C: Enabling OSGi for the Cloud. In: Proc of the 4th Int. ICST Conf. on Comm. Sys. Softw. and Middleware – COMSWARE, ACM, 2009
Schmidt, H. ; Elsholz, J.-P. ; Nikolov, V. ; Hauck, F. J. ; Kapitza, R.
- Towards a Generic API for Multimedia Middleware. In: IEEE Int. Conf. on Internet Multimedia Sys. Arch. and Appl. – IMSAA. Bangalore, India, Dec. 2009
Elsholz, J. P. ; Schmidt, H. ; Schober, S. ; Hauck, F. J. ; Kassler, A. J.
- Eine Middleware fur spontane Kommunikationsanwendungen, Fakultät für Ingenieurwissenschafte und Informatik, Univ. Ulm, Dissertation, 2013
Elsholz, J.-P.