Alberto Montresor

Learn More
As computer networks increase in size, become more heterogeneous and span greater geographic distances, applications must be designed to cope with the very large scale, poor reliability, and often, with the extreme dynamism of the underlying network. <i>Aggregation</i> is a key functional building block for such applications: it refers to a set of functions(More)
Recent peer-to-peer (P2P) systems are characterized by decentralized control, large scale and extreme dynamism of their operating environment. As such, they can be seen as instances of complex adaptive systems (CAS) typically found in biological and social sciences. In this paper we describe Anthill, a framework to support the design, implementation and(More)
Large-scale overlay networks have become crucial ingredients of fully-decentralized applications and peer-to-peer systems. Depending on the task at hand, overlay networks are organized into different topologies, such as rings, trees, semantic and geographic proximity networks. We argue that the central role overlay networks play in decentralized application(More)
Recent developments in information technology have brought about important changes in distributed computing. New environments such as massively large-scale, wide-area computer networks and mobile ad hoc networks have emerged. Common characteristics of these environments include extreme dynamicity, unreliability, and large scale. Traditional approaches to(More)
Peer-to-peer (P2P) systems are characterized by decentralized control, large-scale and extreme dynamism of their environment. Developing applications that can cope with these characteristics requires a paradigm shift that puts adaptation, resilience and self-organization as primary concerns. Complex adaptive systems (CAS), commonly used to explain the(More)
Aggregation - that is, the computation of global properties like average or maximal load, or the number of nodes - is an important basic functionality in fully distributed environments. In many cases - which include protocols responsible for self-organization in large-scale systems and collaborative environments - it is useful if all nodes know the value of(More)
The concept of superpeer has been recently introduced to improve the performance of popular file-sharing applications. A superpeer is a node in a P2P network that operates as a server for a set of clients, and as an equal w.r.t. other superpeers. By exploiting heterogeneity, the superpeer paradigm allows P2P networks to run more efficiently, without(More)
We give a formal specification and an implementation for a partitionable group communication service in asynchronous distributed systems. Our specification is motivated by the requirements for building “partition-aware” applications that can continue operating without blocking in multiple concurrent partitions and reconfigure themselves dynamically when(More)
The concept of superpeer has been introduced to improve the performance of popular P2P applications. A superpeer is a "powerful" node that acts as a server for a set of clients, and as an equal with respect to other superpeers. By exploiting heterogeneity, the superpeer paradigm can lead to improved efficiency, without compromising the decentralized nature(More)