Особенности распределенных ИС

  • Ссылки
  • Задержки выполнения запросов
  • Активация/деактивация
  • Постоянное хранение
  • Параллельное исполнение
  • Отказы
  • Безопасность

Ссылки

Ссылки на объекты в программных модулях на ОО языках программирования (например, С++) являются указателями в памяти.

  1. Ссылки на объекты в распределенных системах в противоположность являются более комплексными:

1.1.Содержат информацию о размещении

1.2.Информацию о безопасности

1.4.Ссылки на объектные типы

  1. Ссылки на распределенные объекты значительно больше (40 байт для Orbix)

Задержки выполнения запросов

Локальные вызовы требуют порядка пары сотен наносекунд

Запрос к объекту требует от 0.1 до 10 миллисекунд

Интерфейсы в распределенной системе должны быть спроектированы так, чтобы снизить время выполнения запросов:

  1. Снизить частоту обращения;
  2. Укрупнить выполняемые функции.

Активация/Деактивация

Объекты в ОО языках находятся в виртуальной памяти от создания до уничтожения

В распределенных системах

  1. Больше объектов
  2. Объекты могут не использоваться на протяжении долгого времени

Реализации распределенных объектов

  1. Переносятся в память при активации
  2. Удаляются из памяти при деактивации

Постоянное хранение

Объекты могут иметь или не иметь состояние.

Объекты имеющие состояние должны сохранять его на постоянный носитель между:

  1. Деактивацией объекта
  2. Активацией объекта Может быть достигнуто:
  3. Записью в файловую систему
  4. Отражением на реляционные БД
  5. С помощью объектных БД

Параллельное исполнение

В нераспределенных системах исполнение в основном последовательное, иногда конкурентное в разных нитях процессов.

Распределенные компоненты выполняются параллельно, что приводит к необходимости согласования выполнения.

Отказы

Запросы в распределенных системах имеют большую вероятность отказов

Клиенты обязаны проверять факт выполнения запросов сервером

Безопасность

Безопасность в ОО приложениях может выполняться на основе контроля сеансов.

При работе распределенных систем возникают вопросы безопасности:

  1. Кто запрашивает выполнение операции?
  2. Как мы можем удостовериться, что субъект является именно тем за кого он себя выдает?
  3. Как мы примем решение предоставлять или нет субъекту право на выполнение сервиса?
  4. Как мы можем неопровержимо доказать, что сервис был предоставлен?

results matching ""

    No results matching ""