Kurmanowytsch, R. (2004). Omnix: an open peer-to-peer middleware framework : engineering topology- and device-independent peer-to-peer systems [Dissertation, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-9321
In this thesis, we present Omnix, a Peer-to-Peer (P2P) middleware framework. P2P middleware provides an abstraction between the application and the underlying network by providing higher-level functionality such as distributed P2P searches and direct communication among peers. P2P networks build an overlay network, a network on the network. The central idea of this dissertation is to apply the well-established ISO OSI layered model on P2P middleware systems. A layered P2P architecture helps to identify separate parts of a complex system, allows changes to the system without affecting other layers and makes maintenance easier due to modularization. The main advantages of having such a layered P2P middleware are: independence from the underlying network and the P2P topology. This dissertation proposes a P2P middleware architecture consisting of three layers: the Transport Layer, the Processing Layer and the P2P Network Layer. The Transport Layer (which can be compared to the Physical Layer of the OSI model) is responsible for providing an abstraction to the network primitives provided by operating systems or libraries. This makes Omnix independent from the underlying network protocols and the devices and allows Omnix to run on heterogeneous devices. The Processing Layer (an analogy to the Data Link layer) provides an error free connection to remote peers and allows additional services to be plugged in. The P2P Network Layer comprises the routing algorithm, thus describes the topology (or structure) of the P2P network. Omnix has a pluggable architecture that allows different components to be plugged in based on the requirements of an application, the capabilities of the device the application is running on, the number of peers involved, etc. Custom-tailored P2P middleware systems can be constructed, thus, increasing the flexibility of communication architectures that are built upon it. Applications that use Omnix are provided an API that is not affected whenever the underlying topology has to be changed or adapted. Since testing P2P networks is hard to accomplish due to the large amount of peers required to get significant results, Omnix provides a way of testing P2P applications using this middleware framework. By replacing the communication layer by a virtual network, it is possible to simulate a network of virtual peers on a single computer without the necessity of changing the application on top of it. Along with Omnix, several plugins are provided to demonstrate the versatility of the framework. They provide the functionality to run Omnix on normal PCs, on handheld computers (e.g., Compaq iPAQ) and on Java-enabled mobile phones.
en
Diese Dissertation stellt Omnix vor, eine Peer-to-Peer (P2P) Middleware. P2P Middleware Systeme bieten eine Schnittstelle zwischen der P2P Kommunikation-Infrastruktur und der darüber liegenden Applikation an. Dienste wie zum Beispiel das Suchen in einem P2P Netzwerk oder die direkte Kommunikation zwischen Peers werden dabei angeboten. P2P Netzwerke bilden ein virtuelles Netzwerk auf einem existierenden Netzwerk. In dieser Dissertation wird das anerkannte OSI (Open Systems Interconnection) NetzwerkSchichtenmodell der Internationalen Organisation für Standards (ISO) auf P2P Netzwerke angewendet. Das Schichtenmodell hat den Vorteil, dass komplexe Systeme in kleinere Teile aufgeteilt werden können, dass Schichten verändert werden können, ohne einen Einfluß auf die Schichten darunter zu haben und dass die Wartbarkeit und Erweiterbarkeit solcher System erhöht wird. In einem P2P Netzwerk bedeutet das hauptsächlich eine Unabhängigkeit von der zugrundeliegenden NetzwerkTechnologie und der Struktur des P2P Netzwerkes selbst. In dieser Dissertation werden drei Schichte vorgeschlagen: die Transport-Schicht, die Processing-Schicht und die P2P Netzwerk-Schicht. Die Transport-Schicht kann mit der physikalischen Schicht des ISO Modells verglichen werden. Sie ist dafür zuständig, den Zugang zum Netzwerk transparent, und daher auch unabhängig vom eingesetzten Netzwerkprotokoll, zu machen. Die Processing-Schicht (welche an die OSI Sicherungsschichtangelehnt ist) erzeugt einen fehlerfreien Verbindungskanal und bietet darüberhinaus noch weitere, wichtige Dienste an. Die P2P-Netzwerk-Schicht beinhaltet die Routing-Algorithmen und beschreibt daher die Struktur des P2P Netzwerkes. Omnix verwendet eine komponenten-orientierte Architektur die es erlaubt, das System den Erfordernissen anzupassen. Die dadurch gewonnene Flexibilität erlaubt es, Omnix für viele verschiedene Zwecke auf unterschiedlichsten Geräten einzusetzen, ohne jedoch dabei die Schnittstelle zur Applikation zu verändern. Für das Testen von Applikation, die auf Omnix aufbauen, kann die Netzwerkkommunikation durch ein virtuelles Netzwerk ersetzt werden, dass es erlaubt, mehrere Tausend Peers auf einem einzelnen Computer zu simulieren. Dabei ist es nicht notwenig, die Applikation selbst zu andern. Um die breite Einsetzbarkeit von Omnix zu demonstrieren, werden verschiedene Module angeboten, die es erlauben, Omnix auf einem PC, einem Handheld (z.B. Compaq iPAQ) oder einem Mobiltelefon mit Java.