International Journal of Networking and Computing – www.ijnc.org, ISSN 2185-2847 Volume 9, Number 2, pages 147–160, July 2019 Asynchronous message-passing distributed algorithm for the global critical section problem Sayaka Kamei Dept. of Information Engineering, Graduate School of Engineering, Hiroshima University, 1-4-1 Kagamiyama, Higashi Hiroshima Hiroshima, 739-8527 JAPAN Hirotsugu Kakugawa Department of Applied Mathematics and Informatics, Ryukoku University, Seta, Otsu 520-2194, Japan Received: January 22, 2019 Revised: April 7, 2019 Accepted: June 5, 2019 Communicated by Akihiro Fujiwara Abstract This paper considers the global (l, k )-critical section problem which is the problem of con- trolling a system in such a way that at least l and at most k processes must be in the critical section at any time in the network, while each process alternates between in the critical section and out of the critical section. In this paper, first, a distributed solution for l -mutual inclu- sion is proposed in the asynchronous message-passing model. The proposed algorithm uses an ordinary quorum system and all processes play the same role, unlike existing algorithms for k - mutual exclusion. After that, using the proposed algorithm for l -mutual inclusion, we propose a distributed solution for the global (l, k )-critical section problem. The proposed approach is a versatile composition of algorithms for l -mutual inclusion and k -mutual exclusion. Its message complexity is typically O( √ n), where n is the size of the network. Keywords: distributed algorithm, mutual exclusion, mutual inclusion, process synchronization 1 Introduction The mutual exclusion problem is a fundamental process synchronization problem in concurrent systems [6],[22],[24]. It is the problem of controlling a system in such a way that no two processes execute their critical sections (CSs) at any time. Various generalized versions of mutual exclusion have been studied extensively, e.g., k -mutual exclusion [12][3][4][1][5][19], mutual inclusion [9], and l - mutual inclusion [10]. The k -mutual exclusion problem refers to the problem of controlling a system in such a way that at most k processes execute their CSs at any time. The mutual inclusion problem is the complement of the mutual exclusion problem. For the latter, at most one process is in the CS, whereas for the former, at least one process is in the CS. Similarly, the l -mutual inclusion problem is the complement of the k -mutual exclusion problem, where at least l processes are in the CSs. These problems were unified into a framework called the CS problems in [11]. This paper considers the l -mutual inclusion problem and the global (l, k )-CS problem. Informally, the global (l, k )-CS problem can be defined as follows. In the entire network, the global (l, k )-CS problem has at least l and at most k processes in the CSs where 0 ≤ l < k ≤ n and n is the 147