Collaborative Open Market to Place Objects at your Service

D4.2.3 Enhanced prototype of the COMPOSE communication infrastructure

The communication infrastructure provides membership and communication patterns of various kinds to the different entities running within the COMPOSE platform. This document aims to accompany the enhanced prototype of the communication system rather than provide a detailed design document of the demonstrated system. A full-fledged detailed design document is scheduled for the end of the project. The developed communication infrastructure is based on the creation of a peer-to-peer overlay network, in which each communication node connects and guards a small amount of peer nodes, and regularly exchanges information with them. That construct identifies and disseminates information as to nodes joining or leaving the overlay. In addition, the specific interest of different nodes is exchanged by gossip with other nodes in the overlay, forming an efficient interest aware membership service. In addition, a structured topology is maintained within the overlay which enables efficient key-based routing, which most notably is used for an efficient implementation of the pub / sub communication paradigm. The communication infrastructure is mainly used within COMPOSE to connect between the service objects layer and COMPOSE applications. Compose applications can declare their interest in obtaining change event notifications on service objects of their interest, and the entire exchange of timely information will be performed via the communication infrastructure. In addition this service is used as a back-bone for the monitoring capability infrastructure. The full cloud deployment consists of a coordinator which serves as a bootstrap for this service. In addition communication servers are deployed as cloud applications, and interested entities can connect to the communications infrastructure and thus participate in the information exchange by using purposely built communication clients, which are available both in Java and JavaScript.

Document Type: