Peer-to-Peer (P2P) computing has been increasingly gaining interest. P2P architectures are no longer just used for sharing music files over the InP2P middleware systems attempt to provide an abstraction between the application and the underlying P2P infrastructure by providing higher-level services such as distributed P2P searches and direct communication among peers. Such systems often provide a pre-defined topology that is suitable for a certain task (e.g., for exchanging files). This topology influences the performance and scalability of the applications that are built on top of it. The problem is that it is difficult to change a topology-dependent architecture once requirements change or problems related to the topology are identified. In this paper, we present Omnix, a topology-independent P2P middleware. Omnix has a pluggable architecture that allows different topology descriptions to be plugged in based on the changing requirements of an application. Applications that use ...