Dönz, T. (2011). Design and implementation of the next generation XVSM framework : runtime, protocol and API [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-42475
Zur Entwicklung von Software für verteilte Systeme wird häufig Middleware verwendet die Programmierabstraktionen bereitstellt und damit die Implementierung vereinfacht. Space-basierte Middleware-Systeme basieren auf Tuple Spaces und ermöglichen lose gekoppelten Komponenten eines verteilten Systems die Koordination über einen gemeinsamen Datenspeicher. Sie bieten Entkopplung bezüglich Synchronisierung, Zeit und Raum. Allerdings haben die in Tuple Spaces gespeicherten Datenobjekte keine Ordnung, wodurch die Koordinationsmöglichkeiten eingeschränkt sind. eXtensible Virtual Shared Memory (XVSM) ist eine space-basierte Middleware-Architektur welche mehr und flexible Koordination ermöglicht und einfach erweitert werden kann. Kürzlich wurde sie mit einem formalen Modell in mehreren Schichten spezifiziert.<br />Die unteren Schichten wurden im Rahmen einer anderen Diplomarbeit in Java implementiert.<br />Diese Diplomarbeit beschreibt das Design und die Implementierung der oberen Schichten des formalen Modells in MozartSpaces 2.0, der Java-Implementierung von XVSM. Diese umfassen die Runtime, die Remote-Kommunikation und die API. Die Runtime unterstützt blockierende Operationen mit Timeouts und Aspekte, mit denen die Middleware-Funktionalität erweitert werden kann. Wichtig ist dabei das schnelle Scheduling von Requests und das effiziente Verarbeiten von internen Events für die blockierenden Operationen. Als Beispiel für die Erweiterbarkeit von XVSM implementieren wir "Publish/Subscribe"-Benachrichtigungen mit Aspekten. Wir präsentieren auch ein XML-Protokoll für den interoperablen Remote-Zugriff auf XVSM-Spaces und eine synchrone und asynchrone API. Benchmark-Ergebnisse zeigen, dass MozartSpaces 2.0 für alle Operationen erheblich schneller als die Vorgängerversion 1.0 ist und besser skaliert.<br />
de
The development of software for distributed systems is often carried out with middleware that provides programming abstractions to ease the implementation. Space-based middleware systems are based on tuple spaces and allow loosely coupled components of a distributed system to coordinate over a shared data store. They provide synchronization, time and space decoupling. However, tuple spaces offer no order for the stored data objects which limits the coordination capabilities. eXtensible Virtual Shared Memory (XVSM) is a space-based middleware architecture that allows for more and flexible coordination and can be easily extended. Recently, it has been specified with a formal model in several layers, of which the lower ones have been implemented in Java as previous work.<br />This thesis describes the design and implementation of the upper layers of the formal model in MozartSpaces 2.0, the Java implementation of XVSM. They comprise the runtime, remote communication and the API. The runtime supports blocking operations with timeouts and aspects to extend the middleware functionality. Important is the fast scheduling of requests and the efficient handling of internal events for blocking operations. As example for the extensibility of XVSM we implement publish/subscribe notifications with aspects. We also present an XML protocol for the interoperable remote access to XVSM spaces and a synchronous and asynchronous API. Benchmark results show that MozartSpaces 2.0 is considerably faster than the previous version 1.0 for all operations and scales better.