Протокол Schiper Eggli Sandoz

Опубликовано: 23 Февраля, 2023

Протокол Schiper Eggli Sandoz используется для поддержания причинно-следственной упорядоченности сообщений, т. е. сообщение, отправленное первым, должно быть получено первым. Это контрастирует с поддержанием векторных часов на основе количества сообщений, отправленных каждому типу процесса, векторные часы этого протокола могут увеличиваться с любой скоростью, которую он выбирает, и не связаны с количеством сообщений, которые в настоящее время находятся в обработке.

Передача сообщения:

  • Перед отправкой любого типа сообщения включается список всех временных меток сообщений, отправленных другим процессам.
  • Временная метка каждого типа сообщения должна быть сохранена в определенном месте.

Получил сообщение:

1. Сообщение любого типа не может быть доставлено, если ему предшествует сообщение, указанное в списке меток времени.

2. В качестве альтернативы для передачи сообщения могут быть предприняты следующие действия:

  • Там мы включаем в сообщение следующий список временных меток:
    • Добавьте в наш список процессов знания о сообщениях, предназначенных для всех остальных процессов. если мы еще не знали о каких-либо других сообщениях, предназначенных для одного процесса. Если мы ставим метку времени в новом списке, который выше, чем ранее сохраненный, это соответствующим образом корректирует нашу метку времени.
  • Нам нужно обновить логические часы в вашем регионе.
  • Теперь мы проверяем, все ли локально буферизованные сообщения могут быть доставлены или нет.

Здесь C3:1 – C3:2, поэтому они должны быть получены каждым приемником именно в таком порядке. C1:1 – C3:1, поэтому они должны быть получены каждым приемником именно в таком порядке. Допустимо получать C3:1 и C2:1 в разном порядке на разных получателях, потому что они параллельны.

Преимущества:

Некоторые основные преимущества использования этого протокола при проектировании распределенных систем заключаются в следующем:

  1. Цель состоит в том, чтобы обеспечить соответствие одной и той же причинно-следственной связи между событиями «отправка сообщения» и «получение сообщения». (Или все сообщения обрабатываются в хронологическом порядке, в котором они были созданы.)
  2. При отправке сообщений каждый процесс увеличивает свои векторные часы на единицу.
  3. Если процесс получил все сообщения до него, то сообщение было доставлено этому процессу.
  4. Отношение «произошло до» соответствующих отправлений не может быть нарушено порядком, в котором сообщения доставляются для любого процесса.
  5. Увеличение логического времени параллелизма, которое можно отслеживать с меньшими затратами на инфраструктуру и расходы, может занять место реального времени.

Недостатки:

Вот некоторые основные недостатки использования этого протокола при проектировании распределенных систем:

  1. Любой процесс, изменяющий отношение между тем, что произошло раньше, и соответствующими отправками, не может повлиять на порядок доставки сообщений.
  2. Программист должен выполнять все задачи.
  3. Это медленнее, потому что установка соединения занимает некоторое время.
  4. Для передачи данных обычно требуются совместные операции, что может быть сложно выполнить.
  5. Голосовые или видеозвонки или другие приложения в реальном времени не могут быть сделаны с его помощью.