Group Membership for Peer-to-Peer Communication

Size: px
Start display at page:

Download "Group Membership for Peer-to-Peer Communication"

From this document you will learn the answers to the following questions:

  • What process can join and leave?

  • What is the name of the paper that studies the problem of maintaining eventual consistent group membership?

  • What is empty when initialization?

Transcription

1 Group Membership for Peer-to-Peer Communication Roberto Baldoni and Sara Tucci Piergiovanni Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Via Salaria 113, 198 Roma, Italia. {baldoni,tucci}@dis.uniroma1.it Abstract This paper studies the problem of maintaining eventual consistent group membership without any synchrony assumption inside an unbounded group G of processes that varies over the time (processes may join and leave the group). Eventual consistency means that if at any time all group membership changes cease, processes will converge in a finite time to a single consistent view. Due to the lack of any synchrony assumption, this specification is well suited to large scale peer to peer environments. The paper also presents two impossibility results and two eventual group membership implementations. Last but not least, pointing out a circularity problem, the paper also shows the impossibility of implementing eventual group membership without the existence of a special peer inside the group. Keywords: Group Membership, Peer-to-Peer Systems, Dynamic Asynchronous Distributed Systems. Contact Author: Roberto Baldoni, Dipartimento di Informatica e Sistemistica, Universitá di Roma La Sapienza, Via Salaria 113, Roma, Italia, baldoni@dis.uniroma1.it, tel

2 1 Introduction Group membership problems have been extensively addressed in the literature in the context of group communications. Traditionally, such a group membership aims to support process group communication [2] and has the following objectives [12]: (i) determining the set of processes that are currently up and (ii) ensuring that processes agree on the successive values of this set. From an implementation point of view, a group membership so specified is not solvable in purely asynchronous distributed systems with failures [5]. Therefore implementations of such group membership services require periods of synchrony of the underlying system model long enough to ensure previous properties. A peer-to-peer environment is formed by a dynamic and scalable group of processes sharing a common interest. In this setting processes communicate through application-level multicast protocols over an overlay network formed by the peers themselves [9, 3]. Due to joins and leaves, the overlay continuously changes. This implies that the multicast protocol, to be effective, has to rely on a group membership service 1 to individuate time by time the set of the intended peer receivers for each multicast message. Due to its dynamicity and to the large number of processes, no long enough period of synchrony can actually be assumed within this environment. Therefore group membership services defined for group communication are not adequate in this context both for implementation (due to [5]) and specification reasons. Ideally, to better support application level multicast protocols in a peer-to-peer environment, a group membership service should indeed provide views close as much as possible to the actual composition of the group, at any point of 1 The multicast can also directly embed the membership management, but in the following we maintain separated these two concerns: multicast communication of application information and group membership management. 2

3 time. The service should determine who is currently inside the group (not necessarily currently up processes) by managing joins and leaves and provide new views to peers upon a membership change (without the need of an agreement on the order in which views are provided). The aim of the paper is therefore to formalize an implementable specification of a group membership service in a peer-to-peer environment that has some useful deterministic guarantee to support at its best application-level multicast protocols. To illustrate the advantage of having a group membership service in a peer-to-peer environment consider the following scenario: a process p joins the group. Let us suppose that p becomes a peer at time t. From this time on, the group membership service will provide peers with a new view including p. Independently of the service implementation (centralized, decentralized, etc.) new views will be available at each peer with a certain latency. The expected behavior of the group membership service should allow that: the more p remains inside the group, the more its chances are to appear in peer views. Clearly, the set of peer views in which p will appear is not predictable, since many peers belonging to the group at time t will leave the group in a successive moment, even before being notified with the new view. However, if p and some peer q remain forever in the group we expect that p eventually enters the q s view (and vice versa). In other terms, the group membership specification should deterministically avoid the isolation of p from other peers, if any. It is well known that process isolations or process partitions seriously degrade performance of any application-level multicast protocol [6]. The paper presents a new group membership specification that formalizes that behavior, namely eventual group membership. This specification, partially inspired by the one stated in [8], guarantees that, after the overlay network stabilizes (no more join and leave occur), peers can converge to a single consistent view in a finite time. The specification also states that join and leave operations must take finite time to guarantee the progress of the system. The paper also presents some impossibility result. These impossibility results show that the 3

4 specification is not implementable if (i) the group is empty at some point of time and (ii) the group does not always contain a correct process (i.e., a process that never crashes) in the group (from the beginning to the end). Moreover, the last impossibility result points out a circularity problem when eventual group membership is implemented in a fully decentralized way by the peers themselves. This problem reflects the impossibility of a newcomer to know someone (i.e., a contact) inside the group due to the dynamism of the group itself (e.g. the join operation of a newcomer could not terminate in a finite time if its contact already left the group). This circularity problem actually implies that there must be a special peer to be known in advance (i.e., at design time) by a newcomer in order to terminate the join operation. This knowledge makes impossible any fully distributed implementation of eventual group membership where no process plays a special role. Finally, two implementations of eventual group membership are presented in the context of client/server and peer-to-peer environment and their failure resilience is discussed. The paper is organized as follows Section 2 presents the system model including the group membership management. Section 3 introduces the specification of eventual group membership, the impossibility results and the circularity problem. Section 4 shows two eventual group membership implementations. Section 5 discusses the related work and Section 6 concludes the paper. 2 System Model The system consists of an unbounded set of processes Π (Π may be infinite). Any process may fail by crashing. A process that never fails is correct. The system is asynchronous: there is no global clock and there is no timing assumption on process scheduling and message transfer delays. Each pair of processes p i, p j may communicate along point-to-point unidirectional fair lossy links[1]. Roughly speaking, a fair lossy link may intermittently drop a finite number of messages, and may 4

5 do so infinitely often, but if p i repeatedly sends some message to p j and p j is correct, then p j eventually receives the message. To simplify the description without losing generality, we assume the existence of a fictional global clock, whose output is the set of positive integers denoted by T. Group Membership. Each process p i Π may become member of a group G. Once member, it may decide to leave the group. To this aim p i may invoke the following operations: join(g) to enter G and leave(g) to come out of the group. The set of processes constituting the group G at time t T is denoted as G(t). At any time t, G(t) is a subset of Π with size unbounded and finite. The rules defining the membership of G are the following: a process p Π becomes a member of G immediately after the completion of join(g). a process p ceases to be member of G immediately after the completion of leave(g). a process p may become member of G at most once. 2. A group member p G is stationary if it is correct and never invokes leave(g). A group member p G is transient if it is correct and eventually executes leave(g). Note that, since G(t) is unbounded and finite at any point of time, the number of stationary processes is unbounded and finite, as well. Group Membership Management. To abstract in a general manner the group membership management we consider that each process can locally access to a distributed oracle. Each process p i invokes the join(g) and leave(g) operations through the group membership management local 2 This is not a restriction because the process may join with another identifier. 5

6 module GM i that is in charge of the actual execution of these operations. Each GM i module provides p i with a local view of the current membership of the group. We assume that GM i crashes only when p i crashes. Upon the invocation of join(g) by p i, it generates an event denoted as inv i (join(g)), then GM i gains the grant to access the group for p i. After that, GM i returns to p i with an upcall by generating the event res i (join(g)). Upon the invocation of leave(g) by p i, denoted as inv i (leave(g)), GM i is in charge to gain the grant to leave the group for p i. After that, GM i returns to p i with an upcall res i (leave(g)). Note that GM i may provide to p i a local view even when a p i is not a group member. In this case we denote the view as access view i. As long as the process p i belongs to the group, the local view is denoted as group view i. Only between the events res i (join(g)) and res i (leave(g)), p i group view i. 3 Eventual Group Membership The view information for one group can be represented as a knows-about directed graph K = (Π, E) [8]. For each pair of processes p i, p j, there will be an edge (p i, p j ) in the graph if p j group view i, and an edge (p j, p i ) if p i group view j. There exists an edge (p i, p i ) for every process p i such that p i group view i, i.e. for every current member 3. This graph actually represents the overlay network to be used as underlying communication network by an application-level multicast protocol in a peer-to-peer environment. 3 Let us remark that there exists an edge (p i, p i ) even for each faulty member p i that crashes before generating res i (leave(g)). 6

7 3.1 Specification Every group membership algorithm implementing eventual consistency has to dynamically manage a knows-about graph in order to: connect a new joined member, disconnect a leaving member without creating a partition, tolerate process failures without creating a partition, while keeping the knows-about graph connected. Safety. Since view information is propagated along edges of the knows-about graph (each edge is a fair-lossy link), once joins and leaves cease, every stationary member p i belonging to the graph should have for each stationary member at least one path formed by stationary members. This is necessary because even though leaves and joins no longer occur, crashes are still possible. Such crashes could lead to partition the set of stationary members. Therefore, if this condition is satisfied, each stationary member eventually includes in its view all stationary ones. Formally, Property 1 (Safety). Let K = (Π, E) the knows-about graph at time t s.t. no edge (p i, p i ) will be added or removed for each t > t (i.e., joins and leave cease at time t). Let us consider the subgraph K s = (S, E s ) such that (i) p i Π and p i is stationary p i S (ii) p i, p j S, (p i, p j ) E (p i, p j ) E s. Then, p i, p j S there exists an edge (p i, p j ) in the transitive closure of E s for each t > t. Liveness. A trivial group membership implementation may maintain safety blocking the completion of each join(g)/leave(g). If upon group initialization the group is empty, preventing any 7

8 process from completing the join means that no process will ever become a member. If upon the group initialization the group is not empty, preventing the completion of join/leave means that Safety is assured by choosing a proper structure for the knows-about graph that tolerates some number of failures [11]. Then, to avoid static implementations the following property holds: Property 2 (Liveness). The execution of the join(g) and leave(g) operations requires finite time. 3.2 Impossibility results As said in Section 2 a process p i is provided through GM i with a list of members of G. Ideally, there is no constraint on the composition of access view i, as the group membership specification poses constraints only on the composition of group view i s. Thus, impossibility results start from the general assumption that access view i is a random set of processes belonging to Π without any relation with the current membership. In other terms, access view i is neither accurate (it could comprise some process not yet a member) nor complete (it can miss same current member). Unfortunately, as we see later, to guarantee the group membership specification even access view i has to satisfy some property stated by Corollary 1. That property is very lightweight but introduces a not avoidable circularity discussed in Section 3.3. Impossibility Result 1. If there exists a time t T s.t. G(t), eventual group membership cannot be solved. Proof. (sketch) Let us suppose by contradiction that at some point of time t, G(t). Let us assume a process p i executing the join(g) operation produces the inv i (join(g)) event while G(t). p i does not know if the group is empty or not as access view is not complete 8

9 neither accurate. p i can send a JOIN message to its access view but cannot get any acknowledgement (like any concurrent joining process) since G(t) is empty. To respect Liveness it has become member after a finite amount of time exploiting a time-out strategy 4. Then, it concludes to be alone a time t + T and includes in group view i only itself. Due to the asynchrony of the underlying system, another process p j with p j access view i and p i access view j can decide to join. As p j does not see p i it uses the same strategy and generates res i (join(g)) including in group view j only itself at time t + T. If both p i, p j are stationary no edge connect them at time t t + T. If no other join and leave occur there is no way to add that edge in a successive moment. No edge will connect them for each t t + T violating Safety. Lemma 1. Let us suppose that G is never empty. Then, any process p i cannot generate res i (join(g)) until there exist at least one edge (p i, p j ) E and one edge (p j, p i ) E. Proof. (Sketch) Let us suppose that res i (join(g)) is generated at time t and that G(t) contains a stationary member p. By the way of contradiction, let us suppose that does not exist any edge (p i, p j ) in E at time t. However, after res i (join(g)) p i has an edge (p i, p i ) E at time t. If p i is also stationary then G(t) contains two stationary processes and no edge in the transitive closure of E. If no other join and leave occur there is no way to add that edge in a successive moment. No edge will connect them for each t t + T, violating Safety. Impossibility Result 2. If there exists a time t T s.t. G(t) contains no stationary member, eventual group membership cannot be solved. Proof. Let us suppose by contradiction that there exists a point of time t T s.t. G(t) does not 4 The strategy can encompass mechanisms such as setting a timeout T or retransmitting the JOIN message k times. 9

10 contain stationary members. From Lemma 1 every joining process has to establish two edges with a process p j, before generating res i (join(g)). From Liveness it has to establish those edges in a finite time. Without loss of generality suppose that at time t, G(t) comprises k faulty members and c transient processes. Taken any subset S(t) G(t), of one process p j, that process is faulty or transient. Let us assume that: 1. p j is transient and belongs to G between time moments t J j and tl j. 2. p i generates inv i (join(g)) and sends at time t a JOIN message to each member of G(t). As the system is asynchronous, the delay experienced by JOIN on the fair lossy link connecting p i to p j, could be greater than t L j tj j and then the message of p i does not meet p j. Moreover, p j does not yet know p i, so p j cannot communicate with p i before the JOIN arrives to p j. Then, p i cannot establish any edge with p j. p i cannot establish in a finite time any edge unless some other stationary member will join the group. However, no stationary member can surely join in a finite time for the same reason that blocks p i. Then, p i waits for an infinite time violating Liveness. Note that the presence of a stationary process it is necessary also to guarantee Leave Liveness. Upon a leave, the leaving process should communicate its view to its neighbors before leaving. In this manner partition may be avoided. However, if no stationary process is in the group, the leaving process cannot communicate in a reliable manner with its view in a finite time. 3.3 The circularity problem From Impossibility Result 2, the following Corollary holds: Corollary 1. If access view i does not eventually contain at least one stationary member, eventual group membership cannot be solved. 1

11 In particular, if access view i does not contain a stationary member, Join Liveness may be violated. This constraint on access view poses a circularity problem when the group membership is implemented in a fully decentralized manner by members themselves and no process plays a special role from the beginning. To point out this problem let us consider that ideally the group is defined on the fly only by its peers that dynamically change. This implies that the mechanism to connect the group cannot be provided at the design time including some particular peer in each access view. The newcomer has to perform a run time discovery to fill the access view in order to be compliant to Corollary 1. This discovery cannot be pushed-based (from the current members of the group to the newcomer): none can indeed provide the newcomer with a view as no member of the group knows the newcomer 5. Thus, to discover a current peer, the newcomer has to contact someone (e.g. a special process) that knows some peer. Following a pure peer-to-peer approach (i.e., there is special no process), only a peer may have this knowledge. Then, to know a peer, the newcomer must already know a peer. The circularity is evident since the hen-and-egg problem arises. Circularity, in these systems, may be solved by assuming either that eventually the newcomer will know someone inside the group or the existence of a set of special processes constantly known by all other processes from the beginning of the group, losing a pure peer-to-peer approach. 4 Eventual Group Membership Implementations In this section we provide two algorithms solving eventual group membership. The first algorithm is based on a set of servers and is thus well suited to small scale systems in terms of number of participants in the group. The second algorithm follows a fully decentralized peer-to-peer approach 5 The number of potential newcomers is infinite. As a consequence the identifiers of potential newcomers cannot be available at design time. 11

12 to scale towards a huge number of participants. 4.1 A server-based implementation A group of servers {s 1, s 2,...s r } Π totally interconnected and defined in the initialization phase, manages joins and leaves and provides members with views. The number of tolerated server failures is f = (r 1)/2. Every process p i has all servers in access view 6 i. When p i invokes join(g), GM i sends a JOIN message to its access view i and wait for a majority of acknowledgments from the servers, then a res i (join(g)) is generated. When p i invokes leave(g), GM i sends a LEAVE message to its access view and wait for a majority of acknowledgments from the servers, then a res i (leave(g)) is generated. Upon the reception of a JOIN/LEAVE message, each server s j incrementally builds a list current members j of current members and maintains a list of members that have left the group old members j. The list current members j is sent along with acknowledgements to join. When a group member p i receives the list current members j from s j it updates its own group view i, accordingly. Subsequently, the group membership changes may be sent by a server to each of its current members, periodically 7. Both lists, current members j and old members j, are periodically exchanged among servers. When a server s j receives the list current members k from s k, it then (i) deletes from list current members j all processes in old members k (if any) and from list current members k all processes old members j (if any) and (ii) performs the union of the two lists so obtained. Note that, once all group membership changes cease, the lists maintained by each server s j 6 Impossibility results are circumvented by the presence of servers. 7 Different strategies may be pursued: periodic pull by a member, push upon a change by a server, periodic push by servers, etc. 12

13 does not change after a time t. From this time t on, in a finite time, all servers reach a consistent view, agreeing on a certain list 8. This list contains all stationary members. The list is eventually delivered to each stationary member. All stationary members agree on the same view and are comprised in the view, so they form a clique in the knows-about graph. 4.2 A peer-to-peer implementation The above implementation is well suited when the system scale in terms of number of participants is small. To scale towards a huge number of participants the number of servers should be very high to try to balance the load. Thus, the natural choice seems to be a group membership service completely decentralized and implemented by the peers themselves where each peer of the group only manages a reasonably small subset of peers, having only a partial view of the group[7, 6]. The proposed solution consists of an algorithm that generates, in a decentralized manner, eventually connected knows-about graphs. The resulting graphs show a particular structure in which each member has around itself a clique of at least 2f + 1 members, where f is the number of tolerated failures. The other important feature of the algorithm consists in imposing a partial order on nodes to manage concurrent leaves that potentially may partition the graph. Data Structures. The variable group view i is the union of two different variables: sponsors i and sponsored i. A variable rank i gives an indication of the position of p i in the graph, inducing a partial order on nodes. A boolean variable leaving is initialized to. Initialization of the group. A set of processes {p 1,...p 3f+1 } Π totally interconnected and defined 8 The list may also comprise some crashed member, as no failure detection mechanism is exploited. 13

14 in the initialization phase instantiates the group 9. All these processes have rank rank i =. They are special processes, they never leave the group. Join Management. Rules of the algorithm: GM i sends 1 a JOIN message to access view i 11 When GM i receives a JOIN message from GM j and p i group view i : (1) GM i inserts p j in sponsored i ; (2) it sends an acknowledgement to p j along with its own rank rank i. When GM i receives 2f + 1 acknowledgments: (1) GM i includes in sponsors i all the senders and p i ; (2) it sets rank i = max(rank k, senderp k )+1 and (3) returns to p i generating res i (join(g)). At the end of this phase, a newly joined member has a clique of 2f + 1 members around itself. In Figure 1 is shown a possible graph evolution at different instants of time generated by the join algorithm. The group starts with a initialization group composed by four stationary processes, resilient to f = 1 failures. The rank of each node is shown. Note that a member of rank = 1 has f + 1 stationary sponsors thanks to the initialization phase. Every member of rank r > 1 has f + 1 correct sponsors, both transient and stationary. All transient sponsors will be replaced upon their leave by other members. Leave Management. Rules of the algorithm: 9 Impossibility results are circumvented because of the presence of these processes. 1 Each message is sent through a fair lossy link, the send primitive embeds a retransmission mechanism that ends to retransmit until an acknowledgement is received. The send primitive is supposed non-blocking. 11 The mechanism to fulfill access view, addressing Corollary 1, will be discussed in the reminder of this Section. 14

15 1 1 1 t t 1 > t 1 t 2 > t t 3 > t 2 1 t 4 > t 3 Figure 1: Evolution of the knows-about graph generated by the joins representing a group G GM i (i) sets leaving i = and (ii) sends a LEAVE message to sponsors i, so composed LEAV E, sponsored i, rank i ; When GM i receives a LEAVE message LEAV E, sponsored r, rank r from GM j and rank j > rank i and leaving i = : (1) GM i inserts sponsored r in sponsored i ; (2) it sends an acknowledgement to p j and (3) sends a message NEW SP ONSOR, oldsponsor = p j to sponsored r. When GM i receives a majority of acknowledgments from its sponsors: (1) discards p i from sponsors i and (2) returns to p i generating res i (LEAV E(G)). When GM i receives NEW SP ONSOR, oldsponsor r from GM j and oldsponsor r sponsors i : GM i includes p j in sponsors i and discards oldsponsor r from sponsors i. Note that a process p i terminates the leave(g) operation when (2t+1)/2 = t+1 own sponsors become the new sponsors of those processes previously sponsored by p i. Those new sponsors have a rank greater than the rank of the newly sponsored processes. 15

16 The algorithm works since, among 2f + 1 sponsors, at least f + 1 are correct. In this way, any subset of f + 1 processes picked up by a leaving process contains at least one correct process (transient or stationary). This assures that upon a leave of a transient process p i, around each process sponsored by p i the sponsors number does not decrease, i.e. it remains always at least equal to 2f + 1, among which only f nodes are faulty. Note that that algorithm manages concurrent leaves. Thanks to ranks, it is possible to induce a partial order on the nodes. In practice, when two nodes p i, p j with rank rank i rank j want to concurrently leave, a partition may occur if they actually leave at the same time. The algorithm sequences the leaves, by allowing a leave of a process of rank rank j only if none of its sponsor p i with rank rank i < rank j is concurrently leaving. Note that p j remains blocked as long as also new sponsors of p j concurrently leave. Eventually, if all processes with rank lesser than rank j leave, then p j will have as sponsors processes with rank. By construction these processes never leave (they are stationary), then also p j eventually may leave (Leave Liveness). Figure 2 shows a particular graph configuration generated by the join algorithm in which all processes with rank 1 and rank 2 concurrently invokes a leave(g) operation. In case (a) the graph remains partitioned as processes with rank becomes sponsors of processes no longer member of the group. It may happen if nodes with rank 1, nevertheless are leaving, send ACK LEAV E to processes with rank 2. Then, rank 2 processes leave and upon the leave of rank 1 processes, no process of rank is aware of the leave of rank 2. Note that, it may be wondered a case in which, if a process of rank 1 is leaving and changes its view, it reissues the leave message to its sponsors (rank ). The problem is that such an algorithm may never terminate if all processes with rank greater than 2, continuously leave 12. In such a case the leave(g) operation takes an infinite time, 12 The number of processes with rank greater than 2 may be infinite as Π may be infinite. 16

17 violating Liveness. 1 2 subgraph subgraph subgraph 2 2 (a) Concurrent leaves with partition (b) Concurrent leaves sequenced, no partition Figure 2: Two graph configurations after the concurrent leaves of all nodes of rank 1 and 2. Knows-about Graph and Failures. If the group has to tolerate f failures, it has to start with 3f + 1 processes. Nominally, the number of tolerated failures does not change in face of a possible growing number of processes. This should imply that all processes that add in the graph are supposed to be correct. However, a graph may be more or less robust to different failure patterns depending on its topology. In practice, we can individuate a number of tolerated failures per rank. For instance, in a star topology, all processes can be divided in two subsets: processes of rank (3f + 1) and processes of rank 1 (N (3f + 1)). In the subset of processes of rank, f failures are tolerated; in the subset of rank 1 all processes may be faulty. In more complex topologies, for each subset of processes with a given rank, a certain number of failures can be tolerated. The more the number of tolerated failures for each rank, the more the robustness of the topology. Relations between robust topologies and implementation mechanisms to approximate them are out of the scope of this paper. Techniques to keep scalable partial views. The overhead per-node due to data communication is 17

18 proportional to the node degree. Moreover, the average degree should be: 1. very close to the degree of each node (in this case the topology is very well-balanced) 2. reasonably small To address the first point an indirection mechanism [7] may be pursued to allow that a joining node chooses its contact uniformly at random. To address the second point the degree of each node may be predefined or mechanisms to adapt the degree to the total number of nodes may be figured out. First of all, if the number of accepted connections (number of sponsored) is defined and never changes, it means that when a node p i leaves, some of its sponsored nodes may be not accepted by a p i s sponsor. In this case the non-accepted nodes should re-join the group. An adaptive mechanism for resizing partial views can be the same used by SCAMP. In practice, each node p i accepts with a probability equal to 1/( sponsored +1) both (i) a newly join request by a node p j (in this case p i is the contact of p j ) and (ii) an already group member p k whose sponsor has left. If p i does not accept the join request of a newly node p j, p j is in charge to retransmit the join request (to a node uniformly chosen at random). If p i does not accept an already member p k, p i sends a message to p k to warn it that its node-degree is being decreased. When p k knows that its degree has been decreased, it can re-join (maintaining its current partial view) in order to come back to its previous node degree by finding another sponsor. Solving the circularity problem. To solve the circularity problem it is necessary to have inside the group a subset of stationary special peers known by all processes. In our implementation this subset can be represented by the set of processes with rank zero. In other words each access view contains the identifiers of these special peers. The indirection mechanism [7] may be used to properly establish edges in the knows-about 18

19 graph by starting to contact special peers (without necessarily establishing edges in the knowsabout graph with them). In particular, before joining, a newcomer pings the special peers. The special peers choose a set of members currently in their views and send it to the newcomer. The newcomer fills its access view with these sets. Now, the newcomer may decide either to repeat the indirection gaining a new access view starting from the current one or to send a JOIN message to the current access view to build the group view. Join/Leave Latency. It is worth to note that above mentioned sophisticated mechanisms to maintain scalable partial views have a high cost in terms of join/leave latency when the network is very dynamic. In fact, a joining node should wait that 2f + 1 members accept its connection and a leaving node should have 2f + 1 sponsors before leaving. In a fairly static system the latency experienced would be reasonable, but it is not the case when the group dynamics is high (the latency should be unpredictable). In other words, keeping a scalable and reliable topology would mean that in very dynamic periods of the overlay the Liveness property is not assured. When the network is very dynamic the size of access view i should enlarge in order to make the join latency lower (even an already member that has to re-join can use an access view i very large comprising all members in its current group view i ). With an access view i large, the probability to get 2f + 1 connections increases. Once 2f + 1 connections are established, there are access view i - 2f + 1 false connections to remove. To remove false connections without compromise reliability, the joining node has to use a sequence number for each message sent. Then, it has to contact each process in its access view one by one (using a timeout). When the timeout elapses it send firstly (i) a CANCEL message to the previous contacted node (or another node if in the meanwhile the previous contacted node has left the group) in order to remove a possible false connection with it 19

20 and (ii) it sends a join request to the successive contact in its partial view. When a node receives a join request it stores the identifier of the joining node in sponsored along with the sequence number of the join request. When a node receives a CANCEL message it removes the identifier received from sponsored only if the sequence number is equal to the stored one+1. 5 Related Work Traditional group membership does its best to provide each process with a precise membership information agreed among all processes in an asynchronous distributed systems with a finite number of processes and where processes can crash [1]. However it is well known that, in this system model, if the network does not eventually stabilize (i.e., the network does not show a synchrony period long enough to terminate a membership algorithm), no meaningful deterministic guarantee can be provided on the views delivered to processes [4, 1]. More specifically, [4] proves that such an agreement can be reached only if failure detectors in the system behave like eventually perfect ones and (ii) there is eventually a stable component (i.e., a set of processes that are alive and connected to each other and there is no connection between processes outside the stable component and the internal ones). It is easy to see that in previous model a solution to traditional group membership is also a solution to eventual group membership. Let us now consider the system model of Section 2 where eventual group membership can be solved (as shown by the algorithms in Section 4). Traditional group membership cannot be solved in that setting. Such a model does not provide indeed any guarantee on the formation of a stable component as it would imply to have a time t after that synchrony assumptions hold. 2

21 Our framework also has similarities with Probabilistic Group Membership (PGM ) [6, 7, 8]. Our specification is partially inspired to the group membership specification in [8]. The main difference regards the Liveness property which has not been specified in [8]. Respecting Liveness has a valuable impact on the problem solvability leading to the two impossibility results above and the circularity problem (discussed in Section 4). In [6, 7] there is no formal group membership specification, in both cases the authors present PGM algorithms doing their best to ensure a connected knows-about graph by using redundant messages. These PGM algorithms work in principle in the system model presented in Section 2 and their only aim is to support a probabilistic broadcast algorithm (e.g., a gossip algorithm) without degrading the performance of the latter [7] 13. As stated by the same authors, these algorithms exhibit the risk of process isolation or of partitions which would lead to a severe degradation of the performance of the probabilistic broadcast algorithm. In our model these algorithms actually guarantee eventual group consistency only with a certain probability. Recovery from partitions of a group membership requires, for example, to define a set of priority processes which are constantly known by each process [6]. Both algorithms implicitly solves the circularity problem with the assumption that a joining process knows a contact inside the group. 6 Conclusion The paper pointed out the necessity to formalize a new group membership specification in an environment where no long-enough period of synchrony can be assumed to occur (i.e., asynchronous system model). This system model is typical of a peer-to-peer environment where the need to scale to a very large number of processes makes the occurrence of such synchrony periods not a 13 Let us remark that probabilistic broadcast algorithms do not give any deterministic guarantee on the actual delivery of a message to any process. 21

22 reasonable assumption. The paper provided a specification, namely eventual group membership, that does not require either to track precise group membership or agreement on group views among group members (as in classical group membership implementations). Nevertheless, the paper showed that eventual group membership is implementable in asynchronous distributed systems (two implementations have been presented in the paper) and that the specification gives deterministic guarantee against process isolation and partitions. Implementations of eventual group membership are actually in charge of dynamically adjusting the underlying overlay network (i.e., the knows-about graph topology) to ensure peer connectivity despite join, leaves and failures. As remarked in the example shown in the Introduction, the specification of a group membership in asynchronous distributed systems can only be given on stationary processes (a transient process could never be included in any group view of another process). Therefore the issue related to track such transient processes inside the group views is a problem of performance of each eventual group membership algorithm. The more precise is the tracking of transient processes done by the algorithm, the more the group membership algorithm is effective. The paper also pointed out a circularity problem that to be solved it implies the existence of some special process known by a newcomer at design time. This actually makes impossible a pure peer to peer implementation (no special process exists) of the eventual group membership specification. This limitation applies also to probabilistic implementation of group membership presented in [6, 7] as they are actually probabilistic implementations of eventual group membership. Acknowledgments. We would like to thank Jean-Michel Hélary with whom we started to investigate basic properties of dynamic distributed systems. 22

23 References [1] Anindya Basu, Bernardette Charron-Bost, Sam Toeug: Simulating Reliable Links with Unreliable Links in the Presence of Process Crashes. Proceedings of the 1th International Workshop on Distributed Algorithms: (1996) [2] Kenneth Birman and Robert van Renesse: Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press (1994). [3] Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, Antony Rowstron: Scribe: A large-scale and decentralized application-level multicast infrastructure. IEEE Journal on Selected Areas in communications (22) [4] Gregory Chockler, Idit Keidar, Roman Vitenberg: Group Communication Specifications: a Comprehensive Study. ACM Comput. Surv. 33(4): (21) [5] Tushar Deepak Chandra, Vassos Hadzilacos, Sam Toueg, and Bernardette Charron-Bost. On the impossibility of group membership. In 15th Annual ACM Symposium on Principles of Distributed Computing (PODC), pages (1996). [6] Patrick Th. Eugster, Rachid Guerraoui, Sidath B. Handurukande, Petr Kouznetsov, Anne-Marie Kermarrec: Lightweight Probabilistic Broadcast. ACM Trans. Comput. Syst. 21(4): (23) [7] Ayalvadi J. Ganesh, Anne-Marie Kermarrec, Laurent Massoulié: Peer-to-Peer Membership Management for Gossip-Based Protocols. IEEE Trans. Computers 52(2): (23) [8] Richard A. Golding and Kim Taylor: Group membership in the epidemic style, /Technical Report UCSC- CRL-92-13, University of California, Santa Cruz (1992). [9] John Jannotti, David K. Gifford, Kirk L. Johnson, M. Frans Kaashoek, James W. O Toole: Overcast: Reliable Multicasting with an Overlay Network. In OSDI, San Diego (2) [1] Idit Keidar, Jeremy B. Sussman, Keith Marzullo, Danny Dolev: A Client-Server Oriented Algorithm for Virtually Synchronous Group Membership in WANs. In 2th International Conference on Distributed Computing Systems: (2) 23

24 [11] Meng-Jang Lin, Keith Marzullo and Stefano Massini: Gossip versus Deterministically Constrained Flooding on Small Networks. In 14th International Conference on Distributed Computing: (2) [12] André Schiper and Sam Toueg: From Set Membership to Group Membership: A Separation of Concerns, Technical Report, EPFL, Lausanne, (23) 24

Scalable Membership Management and Failure Detection (Dependability) INF5360 Student Presentation by Morten Lindeberg mglindeb@ifi.uio.

Scalable Membership Management and Failure Detection (Dependability) INF5360 Student Presentation by Morten Lindeberg mglindeb@ifi.uio. Scalable Membership Management and Failure Detection (Dependability) INF5360 Student Presentation by Morten Lindeberg mglindeb@ifi.uio.no Outline! Membership Management! Gossip Based Membership Protocol

More information

A Framework for Highly Available Services Based on Group Communication

A Framework for Highly Available Services Based on Group Communication A Framework for Highly Available Services Based on Group Communication Alan Fekete fekete@cs.usyd.edu.au http://www.cs.usyd.edu.au/ fekete Department of Computer Science F09 University of Sydney 2006,

More information

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Seth Gilbert Nancy Lynch Abstract When designing distributed web services, there are three properties that

More information

Modular Communication Infrastructure Design with Quality of Service

Modular Communication Infrastructure Design with Quality of Service Modular Communication Infrastructure Design with Quality of Service Pawel Wojciechowski and Péter Urbán Distributed Systems Laboratory School of Computer and Communication Sciences Swiss Federal Institute

More information

Software-Based Replication for Fault Tolerance

Software-Based Replication for Fault Tolerance Theme Feature Software-Based Replication for Fault Tolerance Replication handled by software on off-the-shelf hardware costs less than using specialized hardware. Although an intuitive concept, replication

More information

Bounded Cost Algorithms for Multivalued Consensus Using Binary Consensus Instances

Bounded Cost Algorithms for Multivalued Consensus Using Binary Consensus Instances Bounded Cost Algorithms for Multivalued Consensus Using Binary Consensus Instances Jialin Zhang Tsinghua University zhanggl02@mails.tsinghua.edu.cn Wei Chen Microsoft Research Asia weic@microsoft.com Abstract

More information

A Self-Organizing Crash-Resilient Topology Management System for Content-Based Publish/Subscribe

A Self-Organizing Crash-Resilient Topology Management System for Content-Based Publish/Subscribe A Self-Organizing Crash-Resilient Topology Management System for Content-Based Publish/Subscribe R. Baldoni, R. Beraldi, L. Querzoni and A. Virgillito Dipartimento di Informatica e Sistemistica Università

More information

Signature-Free Asynchronous Binary Byzantine Consensus with t < n/3, O(n 2 ) Messages, and O(1) Expected Time

Signature-Free Asynchronous Binary Byzantine Consensus with t < n/3, O(n 2 ) Messages, and O(1) Expected Time Signature-Free Asynchronous Binary Byzantine Consensus with t < n/3, O(n 2 ) Messages, and O(1) Expected Time Achour Mostéfaoui Hamouma Moumen Michel Raynal, LINA, Université de Nantes, 44322 Nantes Cedex,

More information

Determination of the normalization level of database schemas through equivalence classes of attributes

Determination of the normalization level of database schemas through equivalence classes of attributes Computer Science Journal of Moldova, vol.17, no.2(50), 2009 Determination of the normalization level of database schemas through equivalence classes of attributes Cotelea Vitalie Abstract In this paper,

More information

PEER TO PEER FILE SHARING USING NETWORK CODING

PEER TO PEER FILE SHARING USING NETWORK CODING PEER TO PEER FILE SHARING USING NETWORK CODING Ajay Choudhary 1, Nilesh Akhade 2, Aditya Narke 3, Ajit Deshmane 4 Department of Computer Engineering, University of Pune Imperial College of Engineering

More information

CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays

CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays RUNNING HEAD: [the same as the title] Spyros Voulgaris 1, Daniela Gavidia 2, Maarten van Steen 3 Contact author: Spyros Voulgaris

More information

6.852: Distributed Algorithms Fall, 2009. Class 2

6.852: Distributed Algorithms Fall, 2009. Class 2 .8: Distributed Algorithms Fall, 009 Class Today s plan Leader election in a synchronous ring: Lower bound for comparison-based algorithms. Basic computation in general synchronous networks: Leader election

More information

Synchronization in. Distributed Systems. Cooperation and Coordination in. Distributed Systems. Kinds of Synchronization.

Synchronization in. Distributed Systems. Cooperation and Coordination in. Distributed Systems. Kinds of Synchronization. Cooperation and Coordination in Distributed Systems Communication Mechanisms for the communication between processes Naming for searching communication partners Synchronization in Distributed Systems But...

More information

Anonymous Communication in Peer-to-Peer Networks for Providing more Privacy and Security

Anonymous Communication in Peer-to-Peer Networks for Providing more Privacy and Security Anonymous Communication in Peer-to-Peer Networks for Providing more Privacy and Security Ehsan Saboori and Shahriar Mohammadi Abstract One of the most important issues in peer-to-peer networks is anonymity.

More information

The Optimistic Total Order Protocol

The Optimistic Total Order Protocol From Spontaneous Total Order to Uniform Total Order: different degrees of optimistic delivery Luís Rodrigues Universidade de Lisboa ler@di.fc.ul.pt José Mocito Universidade de Lisboa jmocito@lasige.di.fc.ul.pt

More information

Dr Markus Hagenbuchner markus@uow.edu.au CSCI319. Distributed Systems

Dr Markus Hagenbuchner markus@uow.edu.au CSCI319. Distributed Systems Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 Distributed Systems CSCI319 Chapter 8 Page: 1 of 61 Fault Tolerance Study objectives: Understand the role of fault tolerance in Distributed Systems. Know

More information

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks T.Chandrasekhar 1, J.S.Chakravarthi 2, K.Sravya 3 Professor, Dept. of Electronics and Communication Engg., GIET Engg.

More information

Distributed Databases

Distributed Databases C H A P T E R19 Distributed Databases Practice Exercises 19.1 How might a distributed database designed for a local-area network differ from one designed for a wide-area network? Data transfer on a local-area

More information

Testing LTL Formula Translation into Büchi Automata

Testing LTL Formula Translation into Büchi Automata Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland

More information

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software 1 Reliability Guarantees in Automata Based Scheduling for Embedded Control Software Santhosh Prabhu, Aritra Hazra, Pallab Dasgupta Department of CSE, IIT Kharagpur West Bengal, India - 721302. Email: {santhosh.prabhu,

More information

3. Mathematical Induction

3. Mathematical Induction 3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)

More information

Transport Layer Protocols

Transport Layer Protocols Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements

More information

Araneola: A Scalable Reliable Multicast System for Dynamic Environments

Araneola: A Scalable Reliable Multicast System for Dynamic Environments Araneola: A Scalable Reliable Multicast System for Dynamic Environments Roie Melamed IBM Haifa Research Laboratory Idit Keidar EE Department, Technion A preliminary version of this paper appears in Proceedings

More information

Network (Tree) Topology Inference Based on Prüfer Sequence

Network (Tree) Topology Inference Based on Prüfer Sequence Network (Tree) Topology Inference Based on Prüfer Sequence C. Vanniarajan and Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology Madras Chennai 600036 vanniarajanc@hcl.in,

More information

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.

More information

Peer-to-peer Cooperative Backup System

Peer-to-peer Cooperative Backup System Peer-to-peer Cooperative Backup System Sameh Elnikety Mark Lillibridge Mike Burrows Rice University Compaq SRC Microsoft Research Abstract This paper presents the design and implementation of a novel backup

More information

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact

More information

Dynamic Load Balancing for Cluster-based Publish/Subscribe System

Dynamic Load Balancing for Cluster-based Publish/Subscribe System Dynamic Load Balancing for Cluster-based Publish/Subscribe System Hojjat Jafarpour, Sharad Mehrotra and Nalini Venkatasubramanian Department of Computer Science University of California, Irvine {hjafarpo,

More information

Implementation of a Lightweight Service Advertisement and Discovery Protocol for Mobile Ad hoc Networks

Implementation of a Lightweight Service Advertisement and Discovery Protocol for Mobile Ad hoc Networks Implementation of a Lightweight Advertisement and Discovery Protocol for Mobile Ad hoc Networks Wenbin Ma * Department of Electrical and Computer Engineering 19 Memorial Drive West, Lehigh University Bethlehem,

More information

Stability of QOS. Avinash Varadarajan, Subhransu Maji {avinash,smaji}@cs.berkeley.edu

Stability of QOS. Avinash Varadarajan, Subhransu Maji {avinash,smaji}@cs.berkeley.edu Stability of QOS Avinash Varadarajan, Subhransu Maji {avinash,smaji}@cs.berkeley.edu Abstract Given a choice between two services, rest of the things being equal, it is natural to prefer the one with more

More information

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris

More information

Module 5. Broadcast Communication Networks. Version 2 CSE IIT, Kharagpur

Module 5. Broadcast Communication Networks. Version 2 CSE IIT, Kharagpur Module 5 Broadcast Communication Networks Lesson 1 Network Topology Specific Instructional Objectives At the end of this lesson, the students will be able to: Specify what is meant by network topology

More information

Internet Sustainability and Network Marketing Safety

Internet Sustainability and Network Marketing Safety Protecting Neighbor Discovery Against Node Compromises in Sensor Networks Donggang Liu isec Laboratory, CSE Department The University of Texas at Arlington Abstract The neighborhood information has been

More information

Cheap Paxos. Leslie Lamport and Mike Massa. Appeared in The International Conference on Dependable Systems and Networks (DSN 2004 )

Cheap Paxos. Leslie Lamport and Mike Massa. Appeared in The International Conference on Dependable Systems and Networks (DSN 2004 ) Cheap Paxos Leslie Lamport and Mike Massa Appeared in The International Conference on Dependable Systems and Networks (DSN 2004 ) Cheap Paxos Leslie Lamport and Mike Massa Microsoft Abstract Asynchronous

More information

Exponential time algorithms for graph coloring

Exponential time algorithms for graph coloring Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].

More information

GulfStream a System for Dynamic Topology Management in Multi-domain Server Farms

GulfStream a System for Dynamic Topology Management in Multi-domain Server Farms GulfStream a System for Dynamic Topology Management in Multi-domain Server Farms Sameh A. Fakhouri, Germán Goldszmidt, Michael Kalantar, John A. Pershing IBM T.J. Watson Research Center P.O. Box 704 Yorktown

More information

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. IEEE/ACM TRANSACTIONS ON NETWORKING 1 A Greedy Link Scheduler for Wireless Networks With Gaussian Multiple-Access and Broadcast Channels Arun Sridharan, Student Member, IEEE, C Emre Koksal, Member, IEEE,

More information

GulfStream a System for Dynamic Topology Management in Multi-domain Server Farms

GulfStream a System for Dynamic Topology Management in Multi-domain Server Farms GulfStream a System for Dynamic Topology Management in Multi-domain Server Farms Sameh A. Fakhouri, Germán Goldszmidt, Michael Kalantar, John A. Pershing IBM T.J. Watson Research Center P.O. Box 704 Yorktown

More information

Video Streaming with Network Coding

Video Streaming with Network Coding Video Streaming with Network Coding Kien Nguyen, Thinh Nguyen, and Sen-Ching Cheung Abstract Recent years have witnessed an explosive growth in multimedia streaming applications over the Internet. Notably,

More information

A Collaborative Infrastructure for Scalable and Robust News Delivery

A Collaborative Infrastructure for Scalable and Robust News Delivery A Collaborative Infrastructure for Scalable and Robust News Delivery Werner Vogels vogels@cs.cornell.edu Chris Re cmr28@cornell.edu Robbert van Renesse rvr@cs.cornell.edu Ken Birman ken@cs.cornell.edu

More information

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols Anthony J Howe Supervisor: Dr Mantis Cheng University of Victoria February 28, 2002 Abstract This article presents the reverse engineered

More information

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks University of Tübingen Chair for Computer Networks and Internet Adapting Distributed Hash Tables for Mobile Ad Hoc Networks Tobias Heer, Stefan Götz, Simon Rieche, Klaus Wehrle Protocol Engineering and

More information

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters COMP5426 Parallel and Distributed Computing Distributed Systems: Client/Server and Clusters Client/Server Computing Client Client machines are generally single-user workstations providing a user-friendly

More information

The Graphical Method: An Example

The Graphical Method: An Example The Graphical Method: An Example Consider the following linear program: Maximize 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2 0, where, for ease of reference,

More information

Dynamic TCP Acknowledgement: Penalizing Long Delays

Dynamic TCP Acknowledgement: Penalizing Long Delays Dynamic TCP Acknowledgement: Penalizing Long Delays Karousatou Christina Network Algorithms June 8, 2010 Karousatou Christina (Network Algorithms) Dynamic TCP Acknowledgement June 8, 2010 1 / 63 Layout

More information

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter

More information

SwanLink: Mobile P2P Environment for Graphical Content Management System

SwanLink: Mobile P2P Environment for Graphical Content Management System SwanLink: Mobile P2P Environment for Graphical Content Management System Popovic, Jovan; Bosnjakovic, Andrija; Minic, Predrag; Korolija, Nenad; and Milutinovic, Veljko Abstract This document describes

More information

Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks

Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks Chin-Tser Huang, Prasanth Kalakota, Alexander B. Alexandrov Department of Computer Science and Engineering University

More information

Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy

Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy Kim S. Larsen Odense University Abstract For many years, regular expressions with back referencing have been used in a variety

More information

Final Exam. Route Computation: One reason why link state routing is preferable to distance vector style routing.

Final Exam. Route Computation: One reason why link state routing is preferable to distance vector style routing. UCSD CSE CS 123 Final Exam Computer Networks Directions: Write your name on the exam. Write something for every question. You will get some points if you attempt a solution but nothing for a blank sheet

More information

Monitoring Large-Scale Wireless Sensor Networks

Monitoring Large-Scale Wireless Sensor Networks Monitoring Large-Scale Wireless Sensor Networks using Epidemic Protocols Daniela Gavidia, Spyros Voulgaris, Maarten van Steen Vrije Universiteit Amsterdam Faculty of Science Department of Computer Science

More information

How To Create A P2P Network

How To Create A P2P Network Peer-to-peer systems INF 5040 autumn 2007 lecturer: Roman Vitenberg INF5040, Frank Eliassen & Roman Vitenberg 1 Motivation for peer-to-peer Inherent restrictions of the standard client/server model Centralised

More information

LANs. Local Area Networks. via the Media Access Control (MAC) SubLayer. Networks: Local Area Networks

LANs. Local Area Networks. via the Media Access Control (MAC) SubLayer. Networks: Local Area Networks LANs Local Area Networks via the Media Access Control (MAC) SubLayer 1 Local Area Networks Aloha Slotted Aloha CSMA (non-persistent, 1-persistent, p-persistent) CSMA/CD Ethernet Token Ring 2 Network Layer

More information

Mapping the Gnutella Network: Macroscopic Properties of Large-Scale Peer-to-Peer Systems

Mapping the Gnutella Network: Macroscopic Properties of Large-Scale Peer-to-Peer Systems Mapping the Gnutella Network: Macroscopic Properties of Large-Scale Peer-to-Peer Systems Matei Ripeanu, Ian Foster {matei, foster}@cs.uchicago.edu Abstract Despite recent excitement generated by the peer-to-peer

More information

Modeling an Agent-Based Decentralized File Sharing Network

Modeling an Agent-Based Decentralized File Sharing Network Modeling an Agent-Based Decentralized File Sharing Network Alex Gonopolskiy Benjamin Nash December 18, 2007 Abstract In this paper we propose a distributed file sharing network model. We take inspiration

More information

Moshe: A Group Membership Service for WANs

Moshe: A Group Membership Service for WANs Moshe: A Group Membership Service for WANs Idit Keidar The Technion and MIT, Jeremy Sussman IBM T. J. Watson Research Center, Keith Marzullo University of California, San Diego, Danny Dolev The Hebrew

More information

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma Please Note: The references at the end are given for extra reading if you are interested in exploring these ideas further. You are

More information

State Transfer and Network Marketing

State Transfer and Network Marketing Highly Available Trading System: Experiments with CORBA Xavier Défago, Karim R. Mazouni, André Schiper Département d Informatique, École Polytechnique Fédérale CH-1015 Lausanne, Switzerland. Tel +41 21

More information

Cloud Computing is NP-Complete

Cloud Computing is NP-Complete Working Paper, February 2, 20 Joe Weinman Permalink: http://www.joeweinman.com/resources/joe_weinman_cloud_computing_is_np-complete.pdf Abstract Cloud computing is a rapidly emerging paradigm for computing,

More information

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing

More information

A SURVEY OF P2P OVERLAYS IN VARIOUS NETWORKS

A SURVEY OF P2P OVERLAYS IN VARIOUS NETWORKS A SURVEY OF P2P OVERLAYS IN VARIOUS Mrs. A. Anitha Dr. J. JayaKumari Department of computer science & engineering Department of Electronics & communication Engineering anidathi@yahoo.co.in jkumaribharat@yahoo.com

More information

Tiers, Preference Similarity, and the Limits on Stable Partners

Tiers, Preference Similarity, and the Limits on Stable Partners Tiers, Preference Similarity, and the Limits on Stable Partners KANDORI, Michihiro, KOJIMA, Fuhito, and YASUDA, Yosuke February 7, 2010 Preliminary and incomplete. Do not circulate. Abstract We consider

More information

Introduction to Metropolitan Area Networks and Wide Area Networks

Introduction to Metropolitan Area Networks and Wide Area Networks Introduction to Metropolitan Area Networks and Wide Area Networks Chapter 9 Learning Objectives After reading this chapter, you should be able to: Distinguish local area networks, metropolitan area networks,

More information

Central vs. Distributed Systems

Central vs. Distributed Systems By Donald W. Larson dwlarson@mac.com http://www.timeoutofmind.com Systems architecture is the framework in which individual systems are fitted together to create a larger system. The resulting architecture

More information

Lecture 22: November 10

Lecture 22: November 10 CS271 Randomness & Computation Fall 2011 Lecture 22: November 10 Lecturer: Alistair Sinclair Based on scribe notes by Rafael Frongillo Disclaimer: These notes have not been subjected to the usual scrutiny

More information

Regular Expressions and Automata using Haskell

Regular Expressions and Automata using Haskell Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions

More information

14.1 Rent-or-buy problem

14.1 Rent-or-buy problem CS787: Advanced Algorithms Lecture 14: Online algorithms We now shift focus to a different kind of algorithmic problem where we need to perform some optimization without knowing the input in advance. Algorithms

More information

Oracle Real Time Decisions

Oracle Real Time Decisions A Product Review James Taylor CEO CONTENTS Introducing Decision Management Systems Oracle Real Time Decisions Product Architecture Key Features Availability Conclusion Oracle Real Time Decisions (RTD)

More information

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.

It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed. Session Layer The session layer resides above the transport layer, and provides value added services to the underlying transport layer services. The session layer (along with the presentation layer) add

More information

Dynamic Source Routing in Ad Hoc Wireless Networks

Dynamic Source Routing in Ad Hoc Wireless Networks Dynamic Source Routing in Ad Hoc Wireless Networks David B. Johnson David A. Maltz Computer Science Department Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213-3891 dbj@cs.cmu.edu Abstract

More information

Network-Wide Prediction of BGP Routes

Network-Wide Prediction of BGP Routes Network-Wide Prediction of BGP Routes Nick Feamster Jennifer Rexford Georgia Tech Princeton University feamster@cc.gatech.edu jrex@cs.princeton.edu Abstract This paper presents provably correct algorithms

More information

Single machine parallel batch scheduling with unbounded capacity

Single machine parallel batch scheduling with unbounded capacity Workshop on Combinatorics and Graph Theory 21th, April, 2006 Nankai University Single machine parallel batch scheduling with unbounded capacity Yuan Jinjiang Department of mathematics, Zhengzhou University

More information

AN INITIAL PEER CONFIGURATION ALGORITHM

AN INITIAL PEER CONFIGURATION ALGORITHM AN INITIAL PEER CONFIGURATION ALGORITHM FOR MULTI-STREAMING PEER-TO-PEER NETWORKS Tomoyuki Ishii and Atsushi Inoie * Department of Network Engineering, Kanagawa Institute of Technology, Atsugi-city, Japan

More information

1. Prove that the empty set is a subset of every set.

1. Prove that the empty set is a subset of every set. 1. Prove that the empty set is a subset of every set. Basic Topology Written by Men-Gen Tsai email: b89902089@ntu.edu.tw Proof: For any element x of the empty set, x is also an element of every set since

More information

STABILITY OF LU-KUMAR NETWORKS UNDER LONGEST-QUEUE AND LONGEST-DOMINATING-QUEUE SCHEDULING

STABILITY OF LU-KUMAR NETWORKS UNDER LONGEST-QUEUE AND LONGEST-DOMINATING-QUEUE SCHEDULING Applied Probability Trust (28 December 2012) STABILITY OF LU-KUMAR NETWORKS UNDER LONGEST-QUEUE AND LONGEST-DOMINATING-QUEUE SCHEDULING RAMTIN PEDARSANI and JEAN WALRAND, University of California, Berkeley

More information

File sharing using IP-Multicast

File sharing using IP-Multicast File sharing using IP-Multicast Kai Trojahner, Peter Sobe University of Luebeck, Germany Institute of Computer Engineering email: sobe@iti.uni-luebeck.de Abstract: File sharing systems cause a huge portion

More information

Impossibility of Distributed Consensus with One Faulty Process

Impossibility of Distributed Consensus with One Faulty Process Impossibility of Distributed Consensus with One Faulty Process MICHAEL J. FISCHER Yale University, New Haven, Connecticut NANCY A. LYNCH Massachusetts Institute of Technology, Cambridge, Massachusetts

More information

Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints

Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints Michael Bauer, Srinivasan Ravichandran University of Wisconsin-Madison Department of Computer Sciences {bauer, srini}@cs.wisc.edu

More information

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Computer Network. Interconnected collection of autonomous computers that are able to exchange information Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.

More information

Transactional Support for SDN Control Planes "

Transactional Support for SDN Control Planes Transactional Support for SDN Control Planes Petr Kuznetsov Telecom ParisTech WTTM, 2015 Software Defined Networking An emerging paradigm in computer network management Separate forwarding hardware (data

More information

MON: On-demand Overlays for Distributed System Management

MON: On-demand Overlays for Distributed System Management MON: On-demand Overlays for Distributed System Management Jin Liang, Steven Y. Ko, Indranil Gupta and Klara Nahrstedt University of Illinois at Urbana-Champaign {jinliang, sko, indy, klara}@cs.uiuc.edu

More information

An example of a computable

An example of a computable An example of a computable absolutely normal number Verónica Becher Santiago Figueira Abstract The first example of an absolutely normal number was given by Sierpinski in 96, twenty years before the concept

More information

HPAM: Hybrid Protocol for Application Level Multicast. Yeo Chai Kiat

HPAM: Hybrid Protocol for Application Level Multicast. Yeo Chai Kiat HPAM: Hybrid Protocol for Application Level Multicast Yeo Chai Kiat Scope 1. Introduction 2. Hybrid Protocol for Application Level Multicast (HPAM) 3. Features of HPAM 4. Conclusion 1. Introduction Video

More information

A Mobility Tolerant Cluster Management Protocol with Dynamic Surrogate Cluster-heads for A Large Ad Hoc Network

A Mobility Tolerant Cluster Management Protocol with Dynamic Surrogate Cluster-heads for A Large Ad Hoc Network A Mobility Tolerant Cluster Management Protocol with Dynamic Surrogate Cluster-heads for A Large Ad Hoc Network Parama Bhaumik 1, Somprokash Bandyopadhyay 2 1 Dept. of Information Technology, Jadavpur

More information

PART III. OPS-based wide area networks

PART III. OPS-based wide area networks PART III OPS-based wide area networks Chapter 7 Introduction to the OPS-based wide area network 7.1 State-of-the-art In this thesis, we consider the general switch architecture with full connectivity

More information

Near Optimal Solutions

Near Optimal Solutions Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.

More information

IMPACT OF DISTRIBUTED SYSTEMS IN MANAGING CLOUD APPLICATION

IMPACT OF DISTRIBUTED SYSTEMS IN MANAGING CLOUD APPLICATION INTERNATIONAL JOURNAL OF ADVANCED RESEARCH IN ENGINEERING AND SCIENCE IMPACT OF DISTRIBUTED SYSTEMS IN MANAGING CLOUD APPLICATION N.Vijaya Sunder Sagar 1, M.Dileep Kumar 2, M.Nagesh 3, Lunavath Gandhi

More information

How To Solve The Stable Roommates Problem

How To Solve The Stable Roommates Problem THE ROOMMATES PROBLEM DISCUSSED NATHAN SCHULZ Abstract. The stable roommates problem as originally posed by Gale and Shapley [1] in 1962 involves a single set of even cardinality 2n, each member of which

More information

KWIC Implemented with Pipe Filter Architectural Style

KWIC Implemented with Pipe Filter Architectural Style KWIC Implemented with Pipe Filter Architectural Style KWIC Implemented with Pipe Filter Architectural Style... 2 1 Pipe Filter Systems in General... 2 2 Architecture... 3 2.1 Pipes in KWIC system... 3

More information

Replication architecture

Replication architecture Replication INF 5040 autumn 2007 lecturer: Roman Vitenberg INF5040, Roman Vitenberg 1 Replication architecture Client Front end Replica Client Front end Server Replica INF5040, Roman Vitenberg 2 INF 5040

More information

Middleware support for the Internet of Things

Middleware support for the Internet of Things Middleware support for the Internet of Things Karl Aberer, Manfred Hauswirth, Ali Salehi School of Computer and Communication Sciences Ecole Polytechnique Fédérale de Lausanne (EPFL) CH-1015 Lausanne,

More information

Properties of Stabilizing Computations

Properties of Stabilizing Computations Theory and Applications of Mathematics & Computer Science 5 (1) (2015) 71 93 Properties of Stabilizing Computations Mark Burgin a a University of California, Los Angeles 405 Hilgard Ave. Los Angeles, CA

More information

Giving life to today s media distribution services

Giving life to today s media distribution services Giving life to today s media distribution services FIA - Future Internet Assembly Athens, 17 March 2014 Presenter: Nikolaos Efthymiopoulos Network architecture & Management Group Copyright University of

More information

A Decentralized Method for Data Replication Among Computing Nodes in a Network

A Decentralized Method for Data Replication Among Computing Nodes in a Network A Decentralized Method for Data Replication Among Computing Nodes in a Network Lars K. Holte January 25, 2015 Abstract A method is presented whereby computing nodes can send data to their peers on a network

More information

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols Purvi N. Ramanuj Department of Computer Engineering L.D. College of Engineering Ahmedabad Hiteishi M. Diwanji

More information

Primary-Backup Systems. CS249 FALL 2005 Sang Soo Kim

Primary-Backup Systems. CS249 FALL 2005 Sang Soo Kim Primary-Backup Systems CS249 FALL 2005 Sang Soo Kim Active Replication vs. Primary-Backup In active-replication (state machine approach from Ch.7) o Client sends request to all servers o All servers execute

More information

Database Replication with Oracle 11g and MS SQL Server 2008

Database Replication with Oracle 11g and MS SQL Server 2008 Database Replication with Oracle 11g and MS SQL Server 2008 Flavio Bolfing Software and Systems University of Applied Sciences Chur, Switzerland www.hsr.ch/mse Abstract Database replication is used widely

More information

The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors.

The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors. The Prime Numbers Before starting our study of primes, we record the following important lemma. Recall that integers a, b are said to be relatively prime if gcd(a, b) = 1. Lemma (Euclid s Lemma). If gcd(a,

More information

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software Local Area What s a LAN? A transmission system, usually private owned, very speedy and secure, covering a geographical area in the range of kilometres, comprising a shared transmission medium and a set

More information