An Approach to Distributed Collaboration Problem with Conflictive Tasks

Size: px
Start display at page:

Download "An Approach to Distributed Collaboration Problem with Conflictive Tasks"

Transcription

1 An Approach to Distributed Collaboration Problem with Conflictive Tasks Jingping Bi, Qi Wu, Zhongcheng Li Institute of Computing Technology, Chinese Academy of Sciences, Beijing , P. R. China {jpingbi, abewu, Abstract. Distributed collaboration problem (DCP) is a kind of distributed resource allocation problem. Previous works give the solution of DCP with non-conflictive tasks. In this paper, we present a completely distributed algorithm (CDA) to solve DCP with conflictive tasks where each task requires exactly two resources. We call this the measurement collaboration problem (MCP). We prove the aliveness and correctness of CDA and give the run-time performance of CDA by simulation. To provide a baseline of performance parameters, we design a simple single-wait-state algorithm (SWSA). The simulation indicates CDA gradually has higher efficiency than SWSA, especially when the tasks are highly conflictive. CDA can also be utilized in many aspects, such as disaster rescue, distributed agent collaboration, objects position and so on. 1 Introduction Distributed resource allocation problem (DRAP) is a pervasive problem. The basic model for this problem is many distributed processes competing for limited resources. Different assumptions and restrictions lead to distinct solutions and algorithms for the problem. When the resource number is 1, DRAP becomes distributed mutual exclusion problem (DMEP) where only one process can be permitted to use the resource at any time. The solutions for DMEP can be divided into token-based [1] and non-token based [2]. A non-token-based distributed algorithm is generally called a completely distributed algorithm. The dinning philosophers problem (DHP) by E. W. Dijkstra is another classic problem for resource allocation problem [3]. K. M. Chandy et al extend the problem and call it the drinking philosophers problem [4]. By introducing dynamic priority between neighboring philosophers, Chandy et al present a determinate, symmetric solution for this problem under a completely distributed environment. With the flourishing of agent technology, another kind of DRAP is presented during the collaboration of agents under the distributed environment, which is called distributed collaboration problem (DCP). Compared with the philosopher problem, the agent is the resource (chopsticks), and the task is the philosopher. The main difference lies in This work has been supported through funding by National Natural Science Foundation of China Grant No and Hi-Tech Research and Development Program of China (the 863 Project) Grant No. 2001AA and 2001AA

2 that it is the resource, not the task, has consciousness. That is to say, the chopsticks will think and negotiate which philosopher can use them. According to the variance property of tasks and the power of conflicts, P. J. Modi et al divide DCP into 4 classes from easy to difficult and mapped DCP to dynamic distributed constraint satisfaction problem (DDCSP) and give out the solution for the former 3 classes [5][6]. In the former 3 classes, there are no conflicts among tasks at all. But the real world is full of conflictive tasks. The distributed collaboration problem with conflictive is called the 5-th class DCP (DCP5). In this paper, we give a distributed algorithm for special case of DCP5 where the execution of each task just needs 2 nodes (agents). We call this special case the Measurement Collaboration Problem (MCP) because it origins from the measurement of one-way metrics where a measurement task needs to be performed by the two ends. Our previous paper has given the solution of MCP in arbitrator-based environment [7]. In spite of one-way measurement, the solution of MCP can also be utilized in many aspects, such as disaster rescue, distributed agent collaboration, objects position and so on [8][9]. 1.1 Measurement Collaboration Problem Suppose that there are n nodes and every node can act as either a requester (when the node is the sender in measurement) or a collaborator (when it is a receiver). A measurement task should be collaboratively completed by a requester and a collaborator. So this task can be performed only after the two nodes establish concurrence. A node randomly generates a task and acts as a requester. That is to say, the requester selects collaborator from the other n-1 nodes and negotiates with it to perform the task. A task can be generated only when a node is not executing the task or negotiating with other nodes. At any time, a node cannot execute multiple tasks, but it may negotiate with more than one node to choose which task will be executed. Information exchange among nodes is performed by sending and receiving messages. Suppose that the messages are transferred as follows: messages are transferred in sequence without errors or losses; messages can reach the destination within T trans ; messages are transferred asynchronously. Other assumptions include: each node runs continuously without any interruption; each measurement task can be finished within T exec. 2 Algorithm Specification 2.1 Messages definition Req Request message. It is used by one node to apply to another for executing tasks. We term the sender of the Req message as requester and the receiver as collaborator.

3 SU Rst Ack LD Speed up message. A requester uses it to indicate that no node requests to itself. A SU message can t be sent unless the Req message is sent. Reset message. A requester uses this message to cancel its own request and a collaborator uses it to reject the request. Acknowledgement message. This message can only be sent by a collaborator to accept a request. Loop detection message. The message is used by a node to report topology to its requester in loop detection. 2.2 Node states idle busy wait1 wait2 wait3 wait4 indicating that a node is neither executing a task nor negotiating with other nodes. indicating that a node is executing a task. indicating that a node has just received one or more Req messages from other nodes. indicating that a node has sent a Req message just now. indicating that no other node requests to itself. indicating that a node receives one or more Req messages after it has sent out one. 2.3 Variables in a node requests priority distance nodes storing the received Req messages which have not been responded. storing the highest priority of nodes in the loop detection. storing the distance (in hops) between the latest found node and the highest priority node. storing the topology a node knows but has not reported yet. 2.4 The state transition of a node 1) Public operations Basic operations. When a node sends a Req message, it records the sequence number of the node to the first variable of the nodes array. If the node doesn t reply immediately to a Req message, the message will be added to requests. Default operations. When a node receives a message that it does not know how to handle, it takes the following default operations. If the message type is Req or SU, Rst message is used as a response. Otherwise the node just keeps silent. 2) In busy state The node uses default operation in all received messages. After the task finished, the node returns to idle automatically. 3) In idle state A node may send a Req message to any other nodes and set the timer to T trans and

4 switch to wait2 state. If a node receives a Req message, it sets the timer to T trans T send and switches to wait1 state, where T send is the sending moment of the Req message. 4) In wait1 state If a node receives a Req message before the timer times out, it chooses the public operations. Otherwise, it takes the default operations. If a node receives a Rst message from its requesters, it removes the corresponding Req from requests. If the requests array is empty after the remove, the node switches to idle. If a correct SU message is received (the sender of SU has just sent a Req message), the node uses an Ack message as a response and reject all other requests. 5) In wait2 state If a Rst message from it collaborator is received, the node switches to idle. If a Req message is received, the node switches to wait4. If the timer of the node times out, the node sends a SU message to its collaborator and switches to wait3. 6) In wait3 state If a node receives a Rst message from its collaborator, it switches to idle. If a node receives an Ack message from its collaborator, it switches to busy. 7) In wait4 state If a node receives a Req message before the timer times out, it chooses the public operations. Otherwise it takes the default operations. If a node receives a Rst message from its collaborator, it switches to wait1. If a node receives a Rst message from its requesters, it removes the corresponding Req from requests. If the requests array becomes empty after this, the node sends SU to its collaborator and switches to wait3. If a node receives a SU message from its requesters, the node takes the following 4 steps: replying an Ack message, rejecting all other requests, canceling its request, and switching to busy. If the timer of the node times out and the node has only one requester, it executes the loop detection operations. (See the next sub-section). Figure 1 shows the finite state machine of a node, where interrogation mark? means sending and exclamatory mark! means receiving. Events which trigger states change and the corresponding actions are divided by solidus /. Some details which do not affect states change are ignored for simplification. (Such as the timeout in wait1 and wait4) 2.5 Loop detection and dismantlement Definition 1 (measurement request graph). Measurement request graph G=(V, E) is a directed graph where V is the node set and each task matches a directed edge in E. Definition 2 (isolated loop). An isolated loop L = ( V L, EL ) is a connection set of G, where V L = { v 1, L, v k } and EL = { v1v2, v2v3, L, vk 1vk, vkv1} and E EL don t inter-

5 sect E L. wait1!ld /?Rst!Rst wait4!su /?(Ack) 1 (Rst) * busy!(rst) k!(req) k!ack!(rst) k /?SU!(Req) k!ld /?(SU)(Rst)!Rst wait3 Timeout /?SU idle idle?req!rst!ld /?(Rst) 2 wait2 wait4 Fig. 1. States transition of a node If it exists an isolated loop L in G and the timers of all nodes in V L have timed out, all nodes in V L reject new requests and wait for their requesters actions. Unfortunately, their requesters (which are themselves) are also waiting, which causes a deadlock. When a node is in an isolated loop, it matches the following three cases. The state of the node is wait4. The timer of the node has timed out. The length of requests array in the node is 1. If a node meets these cases, we call it a potential trouble (PT) node. Otherwise we call it a healthy (HE) node. A PT-node must have one and only one requester, which is defined as its superior. The operations of loop detection and dismantlement are defined as follows. 1) When a node wants to send out a LD message, it creates a LD message, copying the nodes array to the message body. Next it sends the message to its superior and empties the nodes array. 2) If a HE-node changes to a PT-node, it updates its priority and distance variables according to their definitions. Next, it checks the nodes array and executes the following operations. If the node itself appears in the nodes array, we can get that the node is in an isolated loop and it is the only one who knows the existence of the loop because it has never spread LD messages before. Therefore, the mission of breaking the deadlock falls on the node. It sends a SU message to its collaborator and a Rst message to its superior and switches to wait3, which dismantles the loop. Otherwise, the node sends a LD message to its superior. 3) If a node receives a LD message from its collaborator, it concatenates its nodes array and the array carried in the LD message and updates the priority and distance. Next, if the node is a PT-node, it does the following operations. If the node finds itself in the received LD message, which indicates that a directed

6 loop has been found, it begins to dismantle the loop. Because the node has sent LD messages before, it is not impossible that other nodes in the loop have detected the loop. At this time, these nodes must have consistent actions. Let s define the matching rules by dismantling from the node with the highest priority. That is, the node chooses one of the following three actions according to its relative position to the highest priority (HP) node. If the distance variable is an odd number, the node sends a Rst message to its collaborator and a LD message to its superior and switch to wait1. If distance is an even number and the node s collaborator is not the highest priority node, the node sends a SU message to its collaborator and a Rst message to its superior and switches to wait3. Otherwise, the node sends a Rst message to its collaborator and a LD message to its superior and switches to idle. Otherwise, it sends a LD message to its superior. 3 Feasibility Analysis Lemma 1. To any node s in CDA, if it is not in a loop, it will switch to idle in finite time. Proof. We defer the proof for an extended version of this paper. Definition 3 (the requesters operator). Let the operator Asc (s) be the requester set of node s. To the node set S, we let U Asc( S) = Asc( s). Theorem 1 (Aliveness). Any node in CDA will return to idle state in finite time. Proof (by contradiction). Suppose that s0 s1 K sk 1 sk = s0 compose a directed loop and s 0 never switches to idle. If some nodes in { s1, L, s k 1} switch to idle in finite time, the loop will be dismantled and s 0 will switch to idle according to lemma 1. Accordingly, any node in the loop will never be in idle state. Let S = { s0, L, sk 1} and U = Asc( S) S. Suppose a node t 0 U is in a loop t0 t1 K tm 1 tm = t0. Because the out-degree of t 0 is 1, we get t 1 S. Finally, we can get t m = t 0 S in the same way, which disobeys t0 U = Asc( S) S. Therefore, all the nodes in U are not in a loop and all of them will switch to idle in finite time, s0 s1 K s k 1 sk becomes an isolated loop. According to the state transition of a node, these nodes will detect the isolated loop. The messages transfer correctly and losslessly, so the loop will be detected by some nodes in k Ttrans. No matter which one of the three actions the node takes, either it or its superior will break the loop. Therefore, s 0 will switch to idle in a finite time because it is not in the loop, which conflicts with the hypothesis. As a result, any node in CDA will return to idle state in finite time. s S

7 Theorem 2 (Correctness). CDA is correct. Proof. CDA is correct means that no node takes more than one measurement task at any time. This can be divided into three cases: Firstly, as a requester, a node can not take collaborative measurements with two nodes simultaneously. Secondly, as a collaborator, a node can not take collaborative measurements with two nodes at the same time. Thirdly, a node can not take collaborative measurements with one node as a requester and with another node as a collaborator concurrently. The collaborative measurement begins with an Ack message. The receiving (or the sending) of an Ack message means the beginning of a collaborative measurement. Ack messages can only be the response to SU messages, so the first case equals to proving that a node at most sends one SU message before it returns to idle. A node in wait3 can only have two cases of state transition: wait3 idle and wait3 busy idle, so a node at most passes by wait3 once. Because only when a node switches to wait3 can it send a SU message, the first case is tenable. Because a node must switch to busy once it sends an Ack message and the busy node doesn t respond Ack to any messages, the second case is tenable. A node must switch to wait3 once it sends a SU message and the node does not send Ack messages in the following two possible state transfer ways: wait3 idle and wait3 busy idle, so the third case is tenable. As a result, CDA is correct. 4 Simulation In this section, we will give the average performance of CDA by simulation. To provide the baseline of performance parameters, we design a Single-Wait State Algorithm (SWSA). 4.1 Single-Wait State Algorithm Message Types. Req Request the collaborative measurement; Ack Agree to the collaborative measurement; NAK Refuse the collaborative measurement. States. A node has three states: busy, idle and wait, where busy and idle have the same meaning as those in CDA. A node in wait state indicates that the Req message sent from the node hasn t been responded yet. State transition. A node generates tasks in idle state and switches to wait at once after it sends a Req message. If a node in idle state receives a Req message, it uses an Ack message as a response. If a node in wait or busy state receives a Req message, it uses a NAK message as a response. If a node receives an Ack message in wait state, it switches to busy. If a node receives a NAK message in wait state, it switches to idle.

8 4.2 Experiment results In the simulation, a task is created at random time and with random requester-collaborator pairs. We implement SWSA and CDA by event driven, which guarantees the time order of events strictly. The parameters in the simulation are given in table 1. We change the values in Table 1 and find the results are similar. Table 1. Parameters of the simulation F exec F gen the distribution function of tasks running time the distribution function of tasks generating intervals in each node parameter comments value n the number of nodes in the system 100 F trans the distribution function of message revised negative exponential transit time distribution 1, mean 2 is 0.3 seconds, upper limit is 2 seconds revised negative exponential distribution, mean is 60 seconds, upper limit is 300 seconds corrected negative exponential distribution, mean is 90 seconds, upper limit is 500 seconds c number of concurrent tasks the number of tasks created at the same time The experiment focuses on discussing the performance of the two algorithms when given different number of concurrent tasks. We create tasks for each simulation. To different c, we run 100 simulations for each algorithm, and the results are shown in figure 2 and 3. Figure 2 compares CDA with SWSA about the proportions in executing tasks, where tasks execution proportion P exec is defined as the number of tasks that are excuted successfully P exec = (1) the number of generated tasks X-axis in figure 5 is the number of tasks created concurrently, and y-axis is P exec. We can see, in the case of c being small, the difference of P exec between CDA and SWSA is not large. With the increase of c, P exec of the two algorithms tends to decrease but the decreasing speed of SWSA is larger than that of CDA. As a result, we draw the conclusions, when the number of concurrent tasks is large, CDA has better task execution ability than SWSA. Figure 3 gives the efficiency in handling conflictive tasks of the two algorithms, where the confliction handling efficiency P eff is termed as: 1 The revised negative exponent distribution is to add the maximum limitation on the basis of negative distribution where all values greater than the maximum are taken as the maximum. 2 The mean is the mean of negative exponent distribution (before revising).

9 the number of conflict tasks that can be executed P eff = (2) the number of conflicting tasks 35.0% 32.5% 30.0% 27.5% 25.0% 22.5% 20.0% 17.5% 15.0% P_exec CDA SWSA % 27.5% 25.0% 22.5% 20.0% 17.5% 15.0% 12.5% 10.0% 7.5% 5.0% P_eff CDA SWSA Fig. 2. Tasks execution proportion Fig. 3. Efficiency of handling conflictive tasks A SWSA node in wait state refuses requests from other nodes, so the ability of confliction handling efficiency of SWSA is poor. From the figure we can see, with both tasks confliction proportion and concurrent tasks number increasing, the confliction handling efficiency of SWSA becomes worse, while that of CDA slightly increases. Thus we get that CDA has good ability to handle conflictive tasks. 5 Conclusions Measurement collaboration problem is a kind of distributed collaboration problem with conflictive tasks. In this paper, we give the completely distributed algorithm CDA of measurement collaboration problem, which avoids the deadlock by isolated loop detection and dismantlement. The aliveness and correctness of the CDA is proven in the paper. By simulation, we validate the efficiency of the CDA and draw the following conclusions: in the case of the number of concurrent tasks created randomly being small, the efficiency of the CDA is not higher than that of SWSA. With the increase of the number of concurrent tasks, the high efficiency of CDA gradually becomes remarkable. The characteristics of the CDA also indicate that CDA is more applicable to the cases with higher concurrency such as disaster rescue and objects position. References 1. Naimi, M., Trehel, M., Arnold, A.: A log(n) Distributed Mutual Exclusion Algorithm Based on Path Reversal. Journal of Parallel and Distributed Computing, Vol. 34, No. 1. (1996)

10 Lodha, S., Kshemkalyani, A.: A Fair Distributed Mutual Exclusion Algorithm. IEEE Transaction on Parallel and Distributed Systems, Vol. 11, No. 6. (2000) Dijkstra, E.W.: Two starvation free solutions to a general exclusion problem. EWD 625, Plataanstraat 5, 5671 AL Nuenen, The Netherlands. 4. Chandy, K.M., Misra, J.: The Drinking Philosophers Problem. ACM Transactions on Programming Languages and Systems, Vol. 6, No. 4. (1984) Modi, P.J., Jung, H., Tambe, M., Shen, W.M., Kulkarni, S.: Dynamic Distributed Resource Allocation: A Distributed Constraint Satisfaction Approach. Proceedings of ATAL 01(Agent Theories, Architectures, and Languages). Seattle, WA, U.S.A. (2001) Yokoo, M., Durfee, E.H., Ishida, T., Kuwabara, K.: The Distributed Constraint Satisfaction Problem: Formalization and Algorithms. Journal of Knowledge and Data Engineering, Vol. 10, No. 5. (1998) Wu, Q., Huang, J., Bi, J.: Arbitrator-based Algorithm for Measurement Collaboration Problem. Proceedings of the 2003 International Conference on Computer Networks and Mobile Computing (ICCNMC 2003). Shanghai, China. (2003) Decker, K., Li, J.: Coordinated hospital patient scheduling. Proceedings of the 3rd International Conference on Multi-Agent Systems (ICMAS 98). Paris, France. (1998) Kitano, H.: RoboCup Rescue: A Grand Challenge for Multi-Agent Systems. Proceedings of ICMAS 00. Boston, Massachusetts, U.S.A. July (2000) 5-12

Resource Allocation - Dining Philosophers. Dining Philosophers - Properties. OK? EATING[(i%N)+1]) Impossibility Result for Symmetric Algorithm

Resource Allocation - Dining Philosophers. Dining Philosophers - Properties. OK? EATING[(i%N)+1]) Impossibility Result for Symmetric Algorithm Resource Allocation - Dining Philosophers Dining Philosophers - Properties Five philosophers sit around a circular table. Each philosopher spends his life alternately thinking and eating. In the centre

More information

A Modification to the Chandy-Misra Dining Philosophers Algorithm to Support Dynamic Resource Conflict Graphs

A Modification to the Chandy-Misra Dining Philosophers Algorithm to Support Dynamic Resource Conflict Graphs A Modification to the Chandy-Misra Dining Philosophers Algorithm to Support Dynamic Resource Conflict Graphs Kenneth Goldman and Joe Hoffert {kjg,joeh}@cs.wustl.edu Distributed Programing Environments

More information

Resource Allocation. Pradipta De

Resource Allocation. Pradipta De Resource Allocation Pradipta De pradipta.de@sunykorea.ac.kr Outline Dining Philosophers Problem Drinking Philosophers Problem Dining Philosophers Problem f(5) 5 f(1) Each philosopher goes through, Think

More information

Chapter 3. Set Theory. 3.1 What is a Set?

Chapter 3. Set Theory. 3.1 What is a Set? Chapter 3 Set Theory 3.1 What is a Set? A set is a well-defined collection of objects called elements or members of the set. Here, well-defined means accurately and unambiguously stated or described. Any

More information

The alternator. Mohamed G. Gouda F. Furman Haddix

The alternator. Mohamed G. Gouda F. Furman Haddix Distrib. Comput. (2007) 20:21 28 DOI 10.1007/s00446-007-0033-1 The alternator Mohamed G. Gouda F. Furman Haddix Received: 28 August 1999 / Accepted: 5 July 2000 / Published online: 12 June 2007 Springer-Verlag

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Coordination and Agreement

Coordination and Agreement Coordination and Agreement Nicola Dragoni Embedded Systems Engineering DTU Informatics 1. Introduction 2. Distributed Mutual Exclusion 3. Elections 4. Multicast Communication 5. Consensus and related problems

More information

A Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network

A Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 24, 573-583 (2008) Short Paper A Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network VINAY MADENUR AND NEERAJ MITTAL + Internet Services Qualcomm,

More information

The Drinking Philosophers Problem-1

The Drinking Philosophers Problem-1 The Drinking Philosophers Problem The classical Dining Philosophers Problem problem synchronization among competing processes five philosophers (thinking, hungry, and eating) around a table five chopsticks

More information

ON THE COMPLETENESS OF THE ALGORITHMS DISTRIBUTED WITHIN THE DCSP MODELING (DISTRIBUTED CONSTRAINT SATISFACTION PROBLEM)

ON THE COMPLETENESS OF THE ALGORITHMS DISTRIBUTED WITHIN THE DCSP MODELING (DISTRIBUTED CONSTRAINT SATISFACTION PROBLEM) 1 2 ON THE COMPLETENESS OF THE ALGORITHMS DISTRIBUTED WITHIN THE DCSP MODELING (DISTRIBUTED CONSTRAINT SATISFACTION PROBLEM) MUSCALAGIU Ionel, PĂNOIU Manuela, OSACI Mihaela UNIVERSITY POLITEHNICA TIMISOARA,

More information

Lower estimate of the square-to-linear ratio for regular Peano curves

Lower estimate of the square-to-linear ratio for regular Peano curves DOI 10.1515/dma-2014-0012 Discrete Math. Appl. 2014; 24 (3):123 12 Konstantin E. Bauman Lower estimate of the square-to-linear ratio for regular Peano curves Abstract: We prove that the square-to-linear

More information

Graph Algorithms. Many problems in networks can be modeled as graph problems.

Graph Algorithms. Many problems in networks can be modeled as graph problems. Graph Algorithms Graph Algorithms Many problems in networks can be modeled as graph problems. - The topology of a distributed system is a graph. - Routing table computation uses the shortest path algorithm

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

More information

AN EFFICIENT DEADLOCK DETECTION AND RESOLUTION ALGORITHM FOR GENERALIZED DEADLOCKS. Wei Lu, Chengkai Yu, Weiwei Xing, Xiaoping Che and Yong Yang

AN EFFICIENT DEADLOCK DETECTION AND RESOLUTION ALGORITHM FOR GENERALIZED DEADLOCKS. Wei Lu, Chengkai Yu, Weiwei Xing, Xiaoping Che and Yong Yang International Journal of Innovative Computing, Information and Control ICIC International c 2017 ISSN 1349-4198 Volume 13, Number 2, April 2017 pp. 703 710 AN EFFICIENT DEADLOCK DETECTION AND RESOLUTION

More information

Credit Determination of Fibre Channel in Avionics Environment

Credit Determination of Fibre Channel in Avionics Environment Chinese Journal of Aeronautics 20(2007) 247-252 Chinese Journal of Aeronautics www.elsevier.com/locate/cja Credit Determination of Fibre Channel in Avionics Environment LIN Qiang*, XIONG Hua-gang, ZHANG

More information

DELAY-CONSTRAINED MULTICAST ROUTING ALGORITHM BASED ON AVERAGE DISTANCE HEURISTIC

DELAY-CONSTRAINED MULTICAST ROUTING ALGORITHM BASED ON AVERAGE DISTANCE HEURISTIC DELAY-CONSTRAINED MULTICAST ROUTING ALGORITHM BASED ON AVERAGE DISTANCE HEURISTIC Zhou Ling 1, 2, Ding Wei-xiong 2 and Zhu Yu-xi 2 1 Department of Information Science and Engineer, Central South University,

More information

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers Clock Synchronization Synchronization Tanenbaum Chapter 6 plus additional papers Fig 6-1. In a distributed system, each machine has its own clock. When this is the case, an event that occurred after another

More information

Improvement of Buffer Scheme for Delay Tolerant Networks

Improvement of Buffer Scheme for Delay Tolerant Networks Improvement of Buffer Scheme for Delay Tolerant Networks Jian Shen 1,2, Jin Wang 1,2, Li Ma 1,2, Ilyong Chung 3 1 Jiangsu Engineering Center of Network Monitoring, Nanjing University of Information Science

More information

Distributed Mutual Exclusion Algorithms

Distributed Mutual Exclusion Algorithms Chapter 9 Distributed Mutual Exclusion Algorithms 9.1 Introduction Mutual exclusion is a fundamental problem in distributed computing systems. Mutual exclusion ensures that concurrent access of processes

More information

FOUR EDGE-INDEPENDENT SPANNING TREES 1

FOUR EDGE-INDEPENDENT SPANNING TREES 1 FOUR EDGE-INDEPENDENT SPANNING TREES 1 Alexander Hoyer and Robin Thomas School of Mathematics Georgia Institute of Technology Atlanta, Georgia 30332-0160, USA ABSTRACT We prove an ear-decomposition theorem

More information

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali Self Stabilization CS553 Distributed Algorithms Prof. Ajay Kshemkalyani by Islam Ismailov & Mohamed M. Ali Introduction There is a possibility for a distributed system to go into an illegitimate state,

More information

A Dynamic Distributed Constraint Satisfaction Approach to Resource Allocation

A Dynamic Distributed Constraint Satisfaction Approach to Resource Allocation A Dynamic Distributed Constraint Satisfaction Approach to Resource Allocation Pragnesh Jay Modi Hyuckchul Jung Milind Tambe Wei-Min Shen Shriniwas Kulkarni University of Southern California/Information

More information

On the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes

On the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes On the Complexity of the Policy Improvement Algorithm for Markov Decision Processes Mary Melekopoglou Anne Condon Computer Sciences Department University of Wisconsin - Madison 0 West Dayton Street Madison,

More information

A Dynamic Distributed Algorithm for Read Write Locks

A Dynamic Distributed Algorithm for Read Write Locks A Dynamic Distributed Algorithm for Read Write Locks Soumeya Leila Hernane 1,2,3 Jens Gustedt 3 Mohamed Benyettou 1 1 University of Science and Technology of Oran USTO, Algeria 2 Lorraine University, France

More information

Asynchronous Weak-commitment Search for Solving Distributed Constraint Satisfaction Problems

Asynchronous Weak-commitment Search for Solving Distributed Constraint Satisfaction Problems International Conference on Principles and Practice of Constraint Programming 1995, pp.88 102 Asynchronous Weak-commitment Search for Solving Distributed Constraint Satisfaction Problems Makoto Yokoo NTT

More information

Deadlock Prevention, Avoidance, and Detection

Deadlock Prevention, Avoidance, and Detection Deadlock Prevention, Avoidance, and Detection The Deadlock problem In a computer system deadlocks arise when members of a group of processes which hold resources are blocked indefinitely from access to

More information

Lecture 20 : Trees DRAFT

Lecture 20 : Trees DRAFT CS/Math 240: Introduction to Discrete Mathematics 4/12/2011 Lecture 20 : Trees Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last time we discussed graphs. Today we continue this discussion,

More information

A Concurrent Distributed Deadlock Detection/Resolution Algorithm for Distributed Systems

A Concurrent Distributed Deadlock Detection/Resolution Algorithm for Distributed Systems A Concurrent Distributed Deadlock Detection/Resolution Algorithm for Distributed Systems CHENG XIN, YANG XIAOZONG School of Computer Science and Engineering Harbin Institute of Technology Harbin, Xidazhi

More information

A Synchronization Algorithm for Distributed Systems

A Synchronization Algorithm for Distributed Systems A Synchronization Algorithm for Distributed Systems Tai-Kuo Woo Department of Computer Science Jacksonville University Jacksonville, FL 32211 Kenneth Block Department of Computer and Information Science

More information

A Dynamic Distributed Constraint Satisfaction Approach to Resource Allocation

A Dynamic Distributed Constraint Satisfaction Approach to Resource Allocation A Dynamic Distributed Constraint Satisfaction Approach to Resource Allocation Pragnesh Jay Modi Hyuckchul Jung Milind Tambe Wei-Min Shen Shriniwas Kulkarni University of Southern California/Information

More information

A Dag-Based Algorithm for Distributed Mutual Exclusion. Kansas State University. Manhattan, Kansas maintains [18]. algorithms [11].

A Dag-Based Algorithm for Distributed Mutual Exclusion. Kansas State University. Manhattan, Kansas maintains [18]. algorithms [11]. A Dag-Based Algorithm for Distributed Mutual Exclusion Mitchell L. Neilsen Masaaki Mizuno Department of Computing and Information Sciences Kansas State University Manhattan, Kansas 66506 Abstract The paper

More information

Graph Algorithms. Many problems in networks can be modeled as graph problems.

Graph Algorithms. Many problems in networks can be modeled as graph problems. Graph Algorithms Many problems in networks can be modeled as graph problems. - The topology of a distributed system is a graph. - Routing table computation uses the shortest path algorithm - Efficient

More information

Distributed Constraint Satisfaction Algorithm for Complex Local Problems

Distributed Constraint Satisfaction Algorithm for Complex Local Problems Third International Conference on Multiagent Systems (ICMAS-98), pp.372 379, 1998 Distributed Constraint Satisfaction Algorithm for Complex Local Problems Makoto Yokoo NTT Communication Science Laboratories

More information

Computer Science 236 Fall Nov. 11, 2010

Computer Science 236 Fall Nov. 11, 2010 Computer Science 26 Fall Nov 11, 2010 St George Campus University of Toronto Assignment Due Date: 2nd December, 2010 1 (10 marks) Assume that you are given a file of arbitrary length that contains student

More information

Enhanced Broadcasting and Code Assignment in Mobile Ad Hoc Networks

Enhanced Broadcasting and Code Assignment in Mobile Ad Hoc Networks Enhanced Broadcasting and Code Assignment in Mobile Ad Hoc Networks Jinfang Zhang, Zbigniew Dziong, Francois Gagnon and Michel Kadoch Department of Electrical Engineering, Ecole de Technologie Superieure

More information

Distributed Deadlock

Distributed Deadlock Distributed Deadlock 9.55 DS Deadlock Topics Prevention Too expensive in time and network traffic in a distributed system Avoidance Determining safe and unsafe states would require a huge number of messages

More information

Concurrency pros and cons. Concurrent Programming Problems. Linked list example. Linked list example. Mutual Exclusion. Concurrency is good for users

Concurrency pros and cons. Concurrent Programming Problems. Linked list example. Linked list example. Mutual Exclusion. Concurrency is good for users Concurrency pros and cons Con Programming Problems OS Spring 2011 Concurrency is good for users One of the reasons for multiprogramming Working on the same problem, simultaneous execution of programs,

More information

/99/$10.00 (c) 1999 IEEE

/99/$10.00 (c) 1999 IEEE COLLISION-FREE MEDIUM ACCESS CONTROL SCHEME FOR AD-HOC NETWORKS Zygmunt J. Haas and Jing Deng School of Electrical Engineering Cornell University Ithaca, NY 14853 haas@ee.cornell.edu Siamak Tabrizi US

More information

Dynamic Minimal Spanning Tree Routing Protocol for Large Wireless Sensor Networks

Dynamic Minimal Spanning Tree Routing Protocol for Large Wireless Sensor Networks Dynamic Minimal Spanning Tree Routing Protocol for Large Wireless Sensor Networks Guangyan Huang 1, Xiaowei Li 1, and Jing He 1 Advanced Test Technology Lab., Institute of Computing Technology, Chinese

More information

Chapter 12 Multiple Access 12.1

Chapter 12 Multiple Access 12.1 Chapter 12 Multiple Access 12.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 12.2 Figure 12.1 Data link layer divided into two functionality-oriented sublayers

More information

SIP Conformance Testing Based on TTCN-2 *

SIP Conformance Testing Based on TTCN-2 * TSINGHUA SCIENCE AND TECHNOLOGY ISSN 1007-0214 40/49 pp223-228 Volume 12, Number S1, July 2007 SIP Conformance Testing Based on TTCN-2 * LI Tian ( 李天 ), WANG Zhiliang ( 王之梁 ), YIN Xia ( 尹霞 ) ** Department

More information

Synchronous vs Asynchronous search on DisCSPs

Synchronous vs Asynchronous search on DisCSPs Synchronous vs Asynchronous search on DisCSPs Roie Zivan and Amnon Meisels {zivanr,am}@cs.bgu.ac.il Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel Abstract.

More information

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm Appears as Technical Memo MIT/LCS/TM-590, MIT Laboratory for Computer Science, June 1999 A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm Miguel Castro and Barbara Liskov

More information

6th Bay Area Mathematical Olympiad

6th Bay Area Mathematical Olympiad 6th Bay Area Mathematical Olympiad February 4, 004 Problems and Solutions 1 A tiling of the plane with polygons consists of placing the polygons in the plane so that interiors of polygons do not overlap,

More information

Medium Access Control. IEEE , Token Rings. CSMA/CD in WLANs? Ethernet MAC Algorithm. MACA Solution for Hidden Terminal Problem

Medium Access Control. IEEE , Token Rings. CSMA/CD in WLANs? Ethernet MAC Algorithm. MACA Solution for Hidden Terminal Problem Medium Access Control IEEE 802.11, Token Rings Wireless channel is a shared medium Need access control mechanism to avoid interference Why not CSMA/CD? 9/15/06 CS/ECE 438 - UIUC, Fall 2006 1 9/15/06 CS/ECE

More information

Fault-Tolerance & Paxos

Fault-Tolerance & Paxos Chapter 15 Fault-Tolerance & Paxos How do you create a fault-tolerant distributed system? In this chapter we start out with simple questions, and, step by step, improve our solutions until we arrive at

More information

OUTLINE. Introduction Clock synchronization Logical clocks Global state Mutual exclusion Election algorithms Deadlocks in distributed systems

OUTLINE. Introduction Clock synchronization Logical clocks Global state Mutual exclusion Election algorithms Deadlocks in distributed systems Chapter 5 Synchronization OUTLINE Introduction Clock synchronization Logical clocks Global state Mutual exclusion Election algorithms Deadlocks in distributed systems Concurrent Processes Cooperating processes

More information

Message delay and DisCSP search algorithms

Message delay and DisCSP search algorithms Message delay and DisCSP search algorithms Roie Zivan and Amnon Meisels {zivanr,am}@cs.bgu.ac.il Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel Abstract.

More information

Throughout this course, we use the terms vertex and node interchangeably.

Throughout this course, we use the terms vertex and node interchangeably. Chapter Vertex Coloring. Introduction Vertex coloring is an infamous graph theory problem. It is also a useful toy example to see the style of this course already in the first lecture. Vertex coloring

More information

IEEE , Token Rings. 10/11/06 CS/ECE UIUC, Fall

IEEE , Token Rings. 10/11/06 CS/ECE UIUC, Fall IEEE 802.11, Token Rings 10/11/06 CS/ECE 438 - UIUC, Fall 2006 1 Medium Access Control Wireless channel is a shared medium Need access control mechanism to avoid interference Why not CSMA/CD? 10/11/06

More information

殷亚凤. Synchronization. Distributed Systems [6]

殷亚凤. Synchronization. Distributed Systems [6] Synchronization Distributed Systems [6] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Protocols Remote Procedure Call

More information

Wireless MACs: MACAW/802.11

Wireless MACs: MACAW/802.11 Wireless MACs: MACAW/802.11 Mark Handley UCL Computer Science CS 3035/GZ01 Fundamentals: Spectrum and Capacity A particular radio transmits over some range of frequencies; its bandwidth, in the physical

More information

A Novel Approach to Allow Process into Critical Section with no delay-time

A Novel Approach to Allow Process into Critical Section with no delay-time A Novel Approach to Allow Process into Critical Section with no delay-time 1 Pradosh Chandra Pattnaik, 2 Md Shafakhatullah Khan, 3 Vsv Mallikharjuna Rao 1,2 Dept of IT & CA, Aurora s Engineering College,

More information

Abstract DETECTING TERMINATION OF DISTRIBUTED COMPUTATIONS USING MARKERS

Abstract DETECTING TERMINATION OF DISTRIBUTED COMPUTATIONS USING MARKERS DETECTING TERMINATION OF DISTRIBUTED COMPUTATIONS USING MARKERS Jayadev Misra Department of Computer Sciences, University of Texas, Austin, 78712 Abstract A problem of considerable importance in designing

More information

Implementation of Process Networks in Java

Implementation of Process Networks in Java Implementation of Process Networks in Java Richard S, Stevens 1, Marlene Wan, Peggy Laramie, Thomas M. Parks, Edward A. Lee DRAFT: 10 July 1997 Abstract A process network, as described by G. Kahn, is a

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Minimum Number of Palettes in Edge Colorings

Minimum Number of Palettes in Edge Colorings Graphs and Combinatorics (2014) 30:619 626 DOI 10.1007/s00373-013-1298-8 ORIGINAL PAPER Minimum Number of Palettes in Edge Colorings Mirko Horňák Rafał Kalinowski Mariusz Meszka Mariusz Woźniak Received:

More information

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 Network Working Group Request for Comments: 969 David D. Clark Mark L. Lambert Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 1. STATUS OF THIS MEMO This RFC suggests a proposed protocol

More information

Basic Graph Theory with Applications to Economics

Basic Graph Theory with Applications to Economics Basic Graph Theory with Applications to Economics Debasis Mishra February, 0 What is a Graph? Let N = {,..., n} be a finite set. Let E be a collection of ordered or unordered pairs of distinct elements

More information

IEEE Medium Access Control. Medium Access Control

IEEE Medium Access Control. Medium Access Control IEEE 802.11 Medium Access Control EECS3214 3 April 2018 Medium Access Control reliable data delivery access control MAC layer covers three functional areas: security 2 1 MAC Requirements To avoid interference

More information

Concurrency pros and cons. Concurrent Programming Problems. Mutual Exclusion. Concurrency is good for users

Concurrency pros and cons. Concurrent Programming Problems. Mutual Exclusion. Concurrency is good for users Concurrency pros and cons Con Programming Problems OS Spring 2009 Concurrency is good for users One of the reasons for multiprogramming Working on the same problem, simultaneous execution of programs,

More information

Reducing synchronization cost in distributed multi-resource allocation problem

Reducing synchronization cost in distributed multi-resource allocation problem Reducing synchronization cost in distributed multi-resource allocation problem Jonathan Lejeune Ecole des Mines de Nantes EMN-Inria, LINA Nantes, France Email:jonathan.lejeune@mines-nantes.fr Luciana Arantes,

More information

Mutual Exclusion in DS

Mutual Exclusion in DS Mutual Exclusion in DS Event Ordering Mutual Exclusion Election Algorithms Reaching Agreement Event Ordering Happened-before relation (denoted by ). If A and B are events in the same process, and A was

More information

Active leave behavior of members in a fault-tolerant group

Active leave behavior of members in a fault-tolerant group 260 Science in China Ser. F Information Sciences 2004 Vol.47 No.2 260 272 Active leave behavior of members in a fault-tolerant group WANG Yun Department of Computer Science and Engineering, Southeast University,

More information

Mutual Exclusion Between Neighboring Nodes in a Tree That Stabilizes Using Read/Write Atomicity?

Mutual Exclusion Between Neighboring Nodes in a Tree That Stabilizes Using Read/Write Atomicity? Computer Science Technical Report Mutual Exclusion Between Neighboring Nodes in a Tree That Stabilizes Using Read/Write Atomicity? Gheorghe Antonoiu 1 andpradipk.srimani 1 May 27, 1998 Technical Report

More information

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points MC 0 GRAPH THEORY 0// Solutions to HW # 0 points + XC points ) [CH] p.,..7. This problem introduces an important class of graphs called the hypercubes or k-cubes, Q, Q, Q, etc. I suggest that before you

More information

Process Synchroniztion Mutual Exclusion & Election Algorithms

Process Synchroniztion Mutual Exclusion & Election Algorithms Process Synchroniztion Mutual Exclusion & Election Algorithms Paul Krzyzanowski Rutgers University November 2, 2017 1 Introduction Process synchronization is the set of techniques that are used to coordinate

More information

Request for Comments: 3989 Category: Informational T. Taylor Nortel February Middlebox Communications (MIDCOM) Protocol Semantics

Request for Comments: 3989 Category: Informational T. Taylor Nortel February Middlebox Communications (MIDCOM) Protocol Semantics Network Working Group Request for Comments: 3989 Category: Informational M. Stiemerling J. Quittek NEC T. Taylor Nortel February 2005 Status of This Memo Middlebox Communications (MIDCOM) Protocol Semantics

More information

Event Ordering Silberschatz, Galvin and Gagne. Operating System Concepts

Event Ordering Silberschatz, Galvin and Gagne. Operating System Concepts Event Ordering Happened-before relation (denoted by ) If A and B are events in the same process, and A was executed before B, then A B If A is the event of sending a message by one process and B is the

More information

The Distributed Constraint Satisfaction Problem: Formalization and Algorithms

The Distributed Constraint Satisfaction Problem: Formalization and Algorithms IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 10, NO. 5, SEPTEMBER/OCTOBER 1998 673 The Distributed Constraint Satisfaction Problem: Formalization and Algorithms Makoto Yokoo, Edmund H. Durfee,

More information

Diversity Coloring for Distributed Storage in Mobile Networks

Diversity Coloring for Distributed Storage in Mobile Networks Diversity Coloring for Distributed Storage in Mobile Networks Anxiao (Andrew) Jiang and Jehoshua Bruck California Institute of Technology Abstract: Storing multiple copies of files is crucial for ensuring

More information

Mutual Exclusion. 1 Formal problem definitions. Time notion CSE /17/2015. Outline of this lecture:

Mutual Exclusion. 1 Formal problem definitions. Time notion CSE /17/2015. Outline of this lecture: CSE 539 03/17/2015 Mutual Exclusion Lecture 15 Scribe: Son Dinh Outline of this lecture: 1. Formal problem definitions 2. Solution for 2 threads 3. Solution for n threads 4. Inherent costs of mutual exclusion

More information

Coordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q

Coordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q Coordination 1 To do q q q Mutual exclusion Election algorithms Next time: Global state Coordination and agreement in US Congress 1798-2015 Process coordination How can processes coordinate their action?

More information

Design and Performance Evaluation of a New Spatial Reuse FireWire Protocol. Master s thesis defense by Vijay Chandramohan

Design and Performance Evaluation of a New Spatial Reuse FireWire Protocol. Master s thesis defense by Vijay Chandramohan Design and Performance Evaluation of a New Spatial Reuse FireWire Protocol Master s thesis defense by Vijay Chandramohan Committee Members: Dr. Christensen (Major Professor) Dr. Labrador Dr. Ranganathan

More information

A Formal Specification for RIP Protocol

A Formal Specification for RIP Protocol A Formal Specification for RIP Protocol 1 Dan Pei 1, Dan Massey 2 and Lixia Zhang 1 UCLA 1 Colorado State University 2 {peidan, lixia}@cs.ucla.edu massey@cs.colostate.edu UCLA CSD Technical Report TR040046

More information

Distributed Systems. coordination Johan Montelius ID2201. Distributed Systems ID2201

Distributed Systems. coordination Johan Montelius ID2201. Distributed Systems ID2201 Distributed Systems ID2201 coordination Johan Montelius 1 Coordination Coordinating several threads in one node is a problem, coordination in a network is of course worse: failure of nodes and networks

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

Operating Systems. Deadlock. User OS. Kernel & Device Drivers. Interface Programs. Brian Mitchell - Operating Systems

Operating Systems. Deadlock. User OS. Kernel & Device Drivers. Interface Programs. Brian Mitchell - Operating Systems User OS Kernel & Device Drivers Interface Programs Deadlock 1 Deadlocks Computer resources are full of resources that can only be used by one process at a time Unpredictable results can occur if two or

More information

PROCESS SYNCHRONIZATION

PROCESS SYNCHRONIZATION DISTRIBUTED COMPUTER SYSTEMS PROCESS SYNCHRONIZATION Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Process Synchronization Mutual Exclusion Algorithms Permission Based Centralized

More information

Distributed Fault-Tolerant Channel Allocation for Cellular Networks

Distributed Fault-Tolerant Channel Allocation for Cellular Networks 1326 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 18, NO. 7, JULY 2000 Distributed Fault-Tolerant Channel Allocation for Cellular Networks Guohong Cao, Associate Member, IEEE, and Mukesh Singhal,

More information

The Best Keying Protocol for Sensor Networks

The Best Keying Protocol for Sensor Networks The Best Keying Protocol for Sensor Networks Taehwan Choi Department of Computer Science The University of Texas at Austin Email: ctlight@cs.utexas.edu H. B. Acharya Department of Computer Science The

More information

Routing Protocols in MANETs

Routing Protocols in MANETs Chapter 4 Routing Protocols in MANETs 4.1 Introduction The main aim of any Ad Hoc network routing protocol is to meet the challenges of the dynamically changing topology and establish a correct and an

More information

The Prioritized and Distributed Synchronization in Distributed Groups

The Prioritized and Distributed Synchronization in Distributed Groups The Prioritized and Distributed Synchronization in Distributed Groups Michel Trehel and hmed Housni Université de Franche Comté, 16, route de Gray 25000 Besançon France, {trehel, housni} @lifc.univ-fcomte.fr

More information

Simple Quality-of-Service Path First Protocol and Modeling Analysis*

Simple Quality-of-Service Path First Protocol and Modeling Analysis* Simple Quality-of-Service Path First Protocol and Modeling Analysis* Lin Shen, Mingwei Xu, Ke Xu, Yong Cui, Youjian Zhao Department of Computer Science, Tsinghua University, Beijing, P.R.China, 100084

More information

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1 Communication Networks I December, Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page Communication Networks I December, Notation G = (V,E) denotes a

More information

The Information Structure of Distributed Mutual Exclusion Algorithms

The Information Structure of Distributed Mutual Exclusion Algorithms The Information Structure of Distributed Mutual Exclusion Algorithms BEVERLY A. SANDERS University of Maryland The concept of an information structure is introduced as a unifying principle behind several

More information

A SHARKOVSKY THEOREM FOR VERTEX MAPS ON TREES

A SHARKOVSKY THEOREM FOR VERTEX MAPS ON TREES A SHARKOVSKY THEOREM FOR VERTEX MAPS ON TREES CHRIS BERNHARDT Abstract. Let T be a tree with n vertices. Let f : T T be continuous and suppose that the n vertices form a periodic orbit under f. We show:

More information

Community-Aware Opportunistic Routing in Mobile Social Networks

Community-Aware Opportunistic Routing in Mobile Social Networks 1682 IEEE TRANSACTIONS ON COMPUTERS, VOL. 63, NO. 7, JULY 2014 Community-Aware Opportunistic Routing in Mobile Social Networks Mingjun Xiao, Member, IEEE, Jie Wu, Fellow, IEEE, and Liusheng Huang, Member,

More information

Deadlocks in Distributed Systems: Request Models and Definitions

Deadlocks in Distributed Systems: Request Models and Definitions Deadlocks in Distributed Systems: Request Models and Definitions Jerzy Brzezinski Jean-Michel Helary, Michel Raynal Institute of Computing Science IRISA Poznan University of Technology Campus de Beaulieu

More information

Online Graph Exploration

Online Graph Exploration Distributed Computing Online Graph Exploration Semester thesis Simon Hungerbühler simonhu@ethz.ch Distributed Computing Group Computer Engineering and Networks Laboratory ETH Zürich Supervisors: Sebastian

More information

Systemic Solutions to Deadlock in FMS

Systemic Solutions to Deadlock in FMS Systemic Solutions to Deadlock in FMS Xu gang, Wu zhi Ming Abstract In order to solve deadlock in FMS, an integrated design method for FMS is presented. This method is based on deadlock free scheduling,

More information

Network Working Group Request for Comments: 1377 November The PPP OSI Network Layer Control Protocol (OSINLCP)

Network Working Group Request for Comments: 1377 November The PPP OSI Network Layer Control Protocol (OSINLCP) Network Working Group Request for Comments: 1377 D. Katz cisco November 1992 Status of this Memo The PPP OSI Network Layer Control Protocol (OSINLCP) This RFC specifies an IAB standards track protocol

More information

Election Administration Algorithm for Distributed Computing

Election Administration Algorithm for Distributed Computing I J E E E C International Journal of Electrical, Electronics and Computer Engineering 1(2): 1-6(2012) Election Administration Algorithm for Distributed Computing SK Gandhi* and Pawan Kumar Thakur* **Department

More information

Performance Evaluation of Mesh - Based Multicast Routing Protocols in MANET s

Performance Evaluation of Mesh - Based Multicast Routing Protocols in MANET s Performance Evaluation of Mesh - Based Multicast Routing Protocols in MANET s M. Nagaratna Assistant Professor Dept. of CSE JNTUH, Hyderabad, India V. Kamakshi Prasad Prof & Additional Cont. of. Examinations

More information

Overview. Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load

Overview. Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load Dynamic Routing Overview Forwarding vs Routing forwarding: to select an output port based on destination address and routing table routing: process by which routing table is built Network as a Graph C

More information

TCP : Fundamentals of Computer Networks Bill Nace

TCP : Fundamentals of Computer Networks Bill Nace TCP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #1 due now! Reminder: Paper Review

More information

Local Coteries and a Distributed Resource Allocation Algorithm

Local Coteries and a Distributed Resource Allocation Algorithm Vol. 37 No. 8 Transactions of Information Processing Society of Japan Aug. 1996 Regular Paper Local Coteries and a Distributed Resource Allocation Algorithm Hirotsugu Kakugawa and Masafumi Yamashita In

More information

HMMT February 2018 February 10, 2018

HMMT February 2018 February 10, 2018 HMMT February 2018 February 10, 2018 Combinatorics 1. Consider a 2 3 grid where each entry is one of 0, 1, and 2. For how many such grids is the sum of the numbers in every row and in every column a multiple

More information

AXIOMS FOR THE INTEGERS

AXIOMS FOR THE INTEGERS AXIOMS FOR THE INTEGERS BRIAN OSSERMAN We describe the set of axioms for the integers which we will use in the class. The axioms are almost the same as what is presented in Appendix A of the textbook,

More information

Concurrency: Deadlock and Starvation. Chapter 6

Concurrency: Deadlock and Starvation. Chapter 6 Concurrency: Deadlock and Starvation Chapter 6 Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other Involve conflicting needs for resources

More information