A.o. Univ. Prof. Dr. Dipl.-Ing. eva Kühn
TU Wien

Space Based Computing Group


The mission of the SBC Research Group headed by eva Kühn is to investigate and develop innovative middleware technologies and provide them as open source.


The advantages of our middleware is that it:


XVSM (eXtensible Virtual Shared Memory)

The highly collaborative demands of forthcoming software applications in the Internet require communication possibilities that go beyond message sending and stateless service invocation.


A virtual shared memory provides a shared data space for the communication and collaboration of several autonomous software components called peers. Peers can write their requests (command data) into this memory space, as well as user or payload data that are required to collaborate (shared documents, coordination data etc.). The concept of a virtual shared memory is well known from parallel computing and acknowledged to offer a good abstraction for software developers; it is here adapted for distributed computing and the Internet in particular.


The programming and architecture style facilitated this way is called space based computing or space based collaboration. The difference to current middleware concepts is:



the communication between instance X and instance Y is carried out by explicitly executing commands (requests) at other sites. Technically this means (*) message sending between single instances or remotely demanding a method call, (*) many different architectures and deployment issues for intra, extra- and Internet scenarios, and (*) limited scalability.

In contrast

the virtual shared memory approach enables coordinated, autonomous workers to interact in a shared virtual data space. Technically this means that all working peers have access to shared (distributed) data in a well structured, secure, virtual space. The same architecture principles can be applied for Intra-, Extra- and Internet scenarios. Such peer-to-peer architectures have the potential to scale well.

The extensible virtual shared memory technology (XVSM) developed by the Space Based Computing Group of the Institute of Computer Languages at the Vienna University of Technology goes even one step further and offers: A programmable virtual shared memory the functionality of which can be extended very easily by software developers through the usage of aspects. You cannot assume that one middleware producer is able provide all needed functionalities and you probably won't like to be restricted to using the functionality provided by one vendor. Even worse, if you have to use a middleware which is overloaded with functionality that you do not really need. With XVSM you can tailor and configure the really needed functionality by adding pluggable components (yellow layer in the figure below)

XVSM Architecture

XVSM can be used to realize:


The classic message-oriented style (an JMS API based on XVSM is currently under development).


A space-based style comparable tuple spaces, JavaSpaces (that implement the tuple space coordination model in Java) and any other flavours of spaces. In contrast to JavaSpaces which provide associative template matching as the only means to access data in the shared spaces, XVSM offers much more coordination possibilities, it does not require Jini underneath, it offers much better structuring possibilities of spaces and the application programming interface is not restricted to Java but is language and platform neutral. So you can use a JavaSpaces alike API on top of XVSM or you can integrate the XVSM into any other programming language and platform like .NET, C/C++, or even scripting languages like Phyton etc. Thus you can create higher-level APIs that implement shared, distributed, transactional collections. XVSM's vast possibilities concerning coordination, centered on the notion of extensible shared containers, make this very easily possible.


A mix of both styles allowing a smooth migration from today's architectural possibilities towards coordination and ad-hoc collaboration across the Internet. You can for example implement a FIFO space container that can be considered an asynchronous message queue that at the same time provides access to the data in the queue via keys or template matching of the content etc.


The basic style is to write data to a shared container and to read or take (consuming read) these data from this container according to the desired coordination principles like FIFO, FILO, key, vector, least recently used etc. The data in the container are shared and can be accessed by many parallel threads and/or distributed peers concurrently. The XVSM allows for any configuration where these data (represented as colored circles in the below figure that shows XVSM configuration possibilities: e.g. Site C is a mobile device; Site D implements a classic central server; site A and B are symmetric peer sites) are physically located: at any one of the peer sites, at many peer sites or even replicated to many sites in the network:

Application Scenarios

Typical application scenarios that can profit from XVSM are characterized by the following interaction patterns and demands:

Some of our selected success stories and real-life application scenarios with space-based technologies include:


Two most frequently asked questions are:

XVSM resources

XVSM Management Boards


If you are interested in

please send email to eva.kuehn@tuwien.ac.at.

Contact us

We are happy about any feedback we can get to improve the XVSM specification as well as the open source implementation further on. If you would like to contribute in any form please contact us.

top | XHtml 1.0 strict | last update: Jun 2015