A Distributed and Oblivious Heap [chapter]

Christian Scheideler, Stefan Schmid
2009 Lecture Notes in Computer Science  
This paper shows how to build and maintain a distributed heap which we call SHELL. In contrast to standard heaps, our heap is oblivious in the sense that its structure only depends on the nodes currently in the network but not on the past. This allows for fast join and leave operations which is desirable in open distributed systems with high levels of churn and frequent faults. In fact, a node fault or departure can be fixed in SHELL in a constant number of communication rounds, which
more » ... tly improves the best previous bound for distributed heaps. SHELL has interesting applications. First, we describe a robust distributed information system which is resilient to Sybil attacks of arbitrary scale. Second, we show how to organize heterogeneous nodes of arbitrary non-uniform capabilities in an overlay network such that the paths between any two nodes do not include nodes of lower capacities. This property is useful, e.g., for streaming. All these features can be achieved without sacrificing scalability: our heap has a de Bruijn like topology with node degree O(log 2 n) and network diameter O(log n), n being the total number of nodes in the system. * Partly supported by the DFG-Project SCHE 1592/1-1. 1 The name SHELL is due to the fact that nodes are organized in different layers in our network, where nodes "higher" in the heap can be protected and operate independently of nodes "lower" in the heap.
doi:10.1007/978-3-642-02930-1_47 fatcat:3hkgijci45ff3cibhh5g56siqi