Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title Development of a notification mechanism for SciMantic's knowledge sharing system
Organization Unit
Authors
  • Agron Limani
Supervisors
  • Burkhard Stiller
  • Hasan Hasan
Language
  • English
Institution University of Zurich
Faculty Faculty of Economics, Business Administration and Information Technology
Number of Pages 45
Date 2011
Abstract Text In the scope of the SciMantic project a Knowledge Sharing System (KSS) is defined, that enables its users to share knowledge among each other. The knowledge within the system is divided in Knowledge Units. There is a prototype of such a KSS. It is implemented on top of Apache Clerezza, an OSGi based platform written in Java. KSS uses a structured P2P network to share the Knowledge Units among the users, where a KSS instance acts as a node or peer in this network. But until now the prototype does not have a notification mechanism that would allow the users to be notified if a Knowledge Unit of their interest is updated or created. This thesis presents three possible mechanisms on how to expand the KSS to enable users to be notified. One of these possibilities was chosen, for reasons explained in the paper, to be implemented and the implementation was evaluated in the scope of performance and scalability. The communication between the notifying node and the subscriber occurs through HTTP methods. And the tests show that the implemented notification mechanism is scalable but if a node has to handle too many requests at the same time, a java.net.SocketException is thrown. A reason for this could be that the machine has too many open files, which causes such an exception.
Zusammenfassung Einleitung: Im SciMantic Projekt gibt es ein Szenario von einem Knowledge Sharing System oder auch KSS. KSS ermöglicht es Benutzern Wissen, das in Wissenseinheiten unterteilt ist, zu teilen. Momentan gibt es einen Prototypen eines solchen Systems. Dieser KSS Prototyp ist in der Lage, die Wissenseinheiten in einem P2P Netzwerk zu teilen, so dass andere Benutzer diese Einheiten herunterladen können. Allerdings gibt es bis jetzt keine Möglichkeit bestimmte Wissenseinheiten zu abonnieren, so dass man benachrichtigt wird sobald sich etwas verändert. Ziele: Das Hauptziel dieser Arbeit ist den KSS Prototypen so zu erweitern, dass man als User die Möglichkeit hat, Wissenseinheiten zu abonnieren und benachrichtigt zu werden. Sobald sich eine Wissenseinheit verändert hat oder falls eine neue erstellt wurde, die mit Schlüsselwörtern annotiert ist, welche dem Abonnement entsprechen, soll das KSS einen Abonnenten über die Veränderung benachrichtigen. Ausserdem sollten Performance- und Skalierbarkeitstests durchgeführt werden, um zu überprüfen, ob es sich lohnt für ein auf P2P basierten KSS ein Abonnier- und Notificationssystem zu entwickeln. Resultate: Das Erweitern des KSS Prototypen um einen Abonnier- und Notificationssystem ist ohne Schwierigkeiten gelungen. Die verwendet Implementierung gebraucht das P2P Netzwerk nur um einen Service zu erhalten auf welchem man ein Anfrage für ein Abonnement verschicken kann, alle andere Kommunikation erfolgt über HTTP Methoden. Das Abonnier- und Notificationssystem ist performant aber nicht unbedingt skalierbar. Falls man dem System gleichzeitig mehr als ungefähr sechs tausend anfragen verschickt werden einige Anfragen nicht verarbeitet. Es wird eine java.net.SocketException geworfen. Ein Grund dafür wäre, dass auf dem System, auf welchem die KSS Instanz läuft, zu viele Dateien offen sind, worauf diese Exception geworfen wird. Ansonsten aber scheint dass System auf eine gute Skalierbarkeit zu deuten, denn die Gesamtzeit, welche das System benötigt umm alle anfragen zu bearbeiten, steigt linear mit ansteigender Anzahl an Anfragen. Ausblick: Der implementierte Prototyp hat noch einige Mängel die optimiert werden können. Ausserdem hat das DHT momentan keine Sicherheitsmassnahmen und ein jeder kann darauf schreiben und lesen. Auch die implementierte Benutzeroberfläche hat einen prototypischen Charakter, dieser kann auch immer weiter verbessert werden.
PDF File Download
Export BibTeX