The purpose of our research program is to design, analyze, and implement modern distributed systems and networks, which are increasingly characterized by stringent requirements in terms of high computing and communication performance, quality of service and user experience, large scale, scalability, dynamicity, while protecting users' privacy and security.
The research program tackles the challenges of distributed systems at all levels, from the definition of systems, to distributed algorithms, to middleware and language constructs, and from the implementation of application-level protocols and system services (including those provided by operating system kernel, the drivers, but also user-space system daemons that are critical for the system's reliability and performance, and for the experience perceived by users) to routing and networking problems, including P2P, M2M, D2D paradigms and wireless systems (WSN, mesh networks, ad-hoc systems, and others).
A strong emphasis is placed on validating research outcomes through the implementation of real systems and simulations, as well as modelling and performance evaluation both predictive for the design of systems and measurement-based.
We develop novel techniques for an efficient and effective implementation of distributed computing in all its flavors, including distribution and replication of data objects in a way that is transparent to end users, and applications, localization of communications, computing at the edge (fog computing), and scalability of computation on very large systems. When data is involved, special emphasis is given to a number of properties such as fault-tolerance, reliability, dependability, consistency, and finally the semantic "quality" of the data itself.
We design programming models that meet the needs of modern distributed systems and the corresponding distributed runtime, focusing on an efficient implementation in the face of dynamicity and large scale.
Application-level protocols and P2P systems
Modern distributed systems rely more and more on an application-level substrate ensuring efficient communication. Examples are protocols for content-based routing in publish-subscribe, and for building and maintaining overlay networks. Along with traditional deterministic protocols, we also study the applicability of probabilistic, gossip-based algorithms to a large number of functionalities in overlay networks, ranking from aggregation, load balancing, resource assignments, topology construction and maintenance, etc. Privacy protection and security are always considered in our design.
Networks are at the center of computer science, while today the Internet is a fundamental asset for any activity. We study and develop network protocols and networking systems and architectures at all levels, from MAC protocols, to routing, congestion control, P2P overlay systems, vehicular networks. Performance-oriented design is a key focus in our research, together with cross-layer design where (mobile networks, heterogeneous overlays, etc.) strict black-box layering does not yield optimal performance.