Распределенные мьютексы - сложные структуры. Вам нужно справиться со всевозможными странными условиями, которых не существует в одной машинной реализации. В частности, вам нужно обрабатывать ситуации, когда агенты теряют связь с группой и все еще удерживают блокировку на общем ресурсе. В дополнение к этому сценарию существуют сложные сценарии, в которых ваша группа разбита, и вы получаете блокировку ресурса. Когда разбитые группы объединяются в большую группу, вам нужен какой-то способ примирить замки, что далеко не тривиально.
Я бы настоятельно рекомендовал изучить некоторые промежуточные программы для обмена сообщениями , такие как Erlang и JBoss
Я бы также рекомендовал опубликовать отдельные вопросы по конкретным распределенным алгоритмам / структурам данных, которые вам необходимо реализовать. Возможно, вам не помешает стандартная реализация в библиотеке промежуточного программного обеспечения, которая может быть настроена в соответствии с вашими потребностями.