Виртуальная синхронность

Я делаю с моим другом систему для реализации надежной многоадресной библиотеки. Мы имеем дело со многими процессами, принадлежащими группе; любой процесс может присоединиться к группе или выйти из нее. Если один отправляет сообщение, его доставляют все остальные.

Мы хотели бы обработать сбой отправителя, чтобы, когда это произойдет, либо все получатели, либо ни один из получателей не доставили сообщение.

Можете ли вы предложить хорошую стратегию (алгоритм) для обработки части «все или ничего»?


person pdn    schedule 07.03.2011    source источник


Ответы (1)


Это не второстепенное дело, и есть ряд тонких вопросов, которые необходимо учитывать. А именно, как вы точно определяете «всех получателей». Для полного подробного ответа, включая теорию и код Java, я рекомендую Введение в надежное и безопасное распределенное программирование, Качин, Геррауи и Родригес. Вы должны найти решение для надежной трансляции ("все или ничего") в главе 3. Посмотрите также в главах 5 и 6, как поступать с процессами, присоединяющимися к группе и покидающими ее.

person jop    schedule 26.10.2012