Las aplicaciones distribuidas están formadas por un conjunto de procesos, los cuales pueden competir por utilizar un recurso o trabajar en forma conjunta para resolver una tarea.
Estas aplicaciones requieren protocolos que permitan concurrencia entre los procesos que trabajan cooperativamente y exclusión mutua para aquellos que compiten por utilizar el recurso. En este trabajo se presenta un algoritmo que permite que grupos utilicen el recurso, donde cada uno de los grupos está integrado por un conjunto de procesos y los grupos compiten por acceder al recurso. El protocolo está compuesto por grupos y por procesos, se basa en algoritmos distribuidos de memoria compartida asincrónica, a partir del algoritmo de Tournament de exclusión mutua para n procesos.