Концепции программных решений в РИС

Автор работы: Пользователь скрыл имя, 10 Января 2014 в 23:30, реферат

Краткое описание

В литературе упоминаются разные определения понятия распределенной системы (РС), но все они могут быть сведены к следующим определениям (Таненбаум):
Распределенная система – это набор независимых компьютеров, представляющихся их пользователям как единая система.
Распределенная информационная система (РИС) – это совокупность взаимодействующих друг с другом программных компонент. Каждая из таких компонент может рассматриваться как программный модуль (приложение), исполняемый в рамках отдельного процесса.

Содержание

Введение
Основные задачи распределенной обработки…………………….. 3
Прозрачность……………………..……………………………. 4
Открытость……………………..……………………………… 6
Масштабируемость (возможность расширения) ………… 7
Концепции программных решений……………………………… 10
Модели промежуточного уровня.…………………………….…… 12
3.1.Службы (сервисы) промежуточного уровня…………...…… 13
3.2. Промежуточный уровень и открытость. ……………..……. 14
Список литературы……………………..……………………..…….….…. 15

Прикрепленные файлы: 1 файл

Курсачkontseptsii.docx

— 52.43 Кб (Скачать документ)

Содержание:

Введение

  1. Основные задачи распределенной обработки…………………….. 3

    1. Прозрачность……………………..……………………………. 4
    2. Открытость……………………..……………………………… 6
    3. Масштабируемость (возможность расширения) ………… 7
  1. Концепции программных решений……………………………… 10

  1. Модели промежуточного уровня.…………………………….…… 12

3.1.Службы (сервисы) промежуточного  уровня…………...…… 13

3.2. Промежуточный уровень и открытость. ……………..……. 14

Список литературы……………………..……………………..…….….…. 15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

В литературе упоминаются разные определения  понятия распределенной системы (РС), но все они могут быть сведены  к следующим определениям (Таненбаум):

  1. Распределенная система – это набор независимых компьютеров, представляющихся их пользователям как единая система.
  2. Распределенная информационная система (РИС) – это совокупность взаимодействующих друг с другом программных компонент. Каждая из таких компонент может рассматриваться как программный модуль (приложение), исполняемый в рамках отдельного процесса.

 

Пользователи и приложения единообразно работают в РС независимо от того, где и когда происходит это взаимодействие.

Для этого РС должны иметь такие  характеристики как сокрытие от пользователей различий между компьютерами и способов связи между ними. Другой важной характеристикой РС является способ, при помощи которого обеспечивается единообразная работа пользователей (и приложений) в РС.

РС должны относительно легко поддаваться  расширению (масштабированию), а выход из строя некоторой части РС не должен приводить к отказу всей РС и пользователи не должны даже об этом уведомляться.

 

Для того чтобы поддерживать представление  разных компьютеров и сетей в  виде единой системы организация  РС часто включает в себя дополнительный уровень ПО, который находится  между прикладным уровнем и ОС. Такая РС обычно называется системой промежуточного уровня (middleware).

  1. Основные задачи распределенной обработки

Какие основные задачи распределенных систем?

Основная задача – облегчение доступа к удаленным ресурсам и контроль совместного использования этих ресурсов (компьютеров, файлов, данных в БД).  Web-страницы и сети также входят в этот список.

Для решения этой основной задачи, РС должна удовлетворять следующим  требованиям:

  1. Прозрачность.
  2. Открытость.
  3. Гибкость.
  4. Масштабируемость (расширяемость).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1. Прозрачность

Важная задача РС состоит в том, чтобы скрыть тот факт, что процессы и ресурсы физически распределены по разным компьютерам. РС, которые представляются пользователям и приложениям в виде единой системы называются прозрачными (transparent).

Концепция прозрачности применима  к разным аспектам РС, а именно:

 

Таблица 1.1 Разные формы прозрачности в РС

Прозрачность

Описание

Доступ

Скрывается разница в представлении  данных и способе доступа к  ресурсам

Местоположение

Скрывается местоположение ресурса

Перенос

Скрывается факт перемещения ресурса

Смена местоположения

Скрывается факт перемещения ресурса  в процессе обработки в другое место

Репликация

Скрывается факт репликации ресурса

Параллельный доступ

Скрывается факт возможного совместного  использования ресурса несколькими  конкурирующими пользователями

Отказ

Скрывается отказ и восстановление ресурсов

Сохранность

Скрывается место хранения ресурса (программного) на диске или в  памяти


 

Прозрачность доступа. Цель – скрыть разницу в способах представления и передачи данных между разными типами ПК и ОС, способах представления имен файлов, правил работы с ними и др.

Прозрачность местоположения. Цель – скрыть реальное физическое размещение ресурса. Важную роль в реализации этого играет именование.

Прозрачность переноса. Цель – скрыть факт физического перемещения ресурса. При этом смена местоположения не влияет на доступ.

Прозрачность смены  местоположения – отличается от предыдущего тем, что местоположение ресурса может произойти при его использовании. Пример - мобильные пользователи.

Прозрачность репликации (дублирования). Цель - скрыть факт наличия нескольких копий ресурса.

Прозрачность параллельного  доступа. Цель – скрыть от пользователя факт совместного использования ресурса. При этом обеспечивается целостность и непротиворечивость ресурса (например, механизм блокировок в БД).

Прозрачность отказов. Цель – обеспечить нормальную работу при наличии отказов (или скрыть факт отказа и не уведомлять об этом пользователя). Пример – при работе с перегруженным Web-сервером браузер выжидает нужное время, а потом сообщает о недоступности страницы. 

Прозрачность сохранности. Цель – скрыть реальное хранение ресурса. Пример – использование объекта Recordset для работы с данными.

Степень прозрачности

Не все эти атрибуты должны быть полностью реализованы в РС, поскольку  обеспечение прозрачности влияет на производительность.

 

 

 

 

 

 

 

 

 

 

1.2. Открытость

Открытая РС (open distributed system) – это система, предлагающая службы, вызов которых требует стандартные синтаксис и семантику. Например, в сетях формат сообщений должен соответствовать протоколам.

В РС службы (и компоненты) определяются через интерфейсы, которые часто  описываются при помощи языка определения интерфейсов (Interface Definition Language, IDL). Описание интерфейса точно отражает синтаксис служб: имена доступных функций, типы параметров, возвращаемых значений и т.п. Сложнее формально описать семантику служб. На практике эти описания задаются неформально, средствами естественного языка.

Открытые РС должны иметь такие  свойства как:

- Интероперабильность (способность к взаимодействию);

- Переносимость (из одной системы  в другую без изменения интерфейсов);

- Гибкость – легкость конфигурирования  системы, состоящей из разных  компонентов. То есть РС должна  быть расширяемой программно  и аппаратно.

Отделение правил от механизмов

В построении гибких открытых РС решающим фактором оказывается организация  таких систем в виде наборов относительно небольших, легко заменяемых или  адаптируемых компонентов. Это предполагает необходимость определения не только интерфейсов верхнего уровня, с которыми работают пользователи и приложения, но и интерфейсов между компонентами и модулями системы (компонентная инженерия).

 

 

 

 

 

1.3. Масштабируемость (возможность расширения)

Масштабируемость системы может  измеряться по трем разным показателям:

  1. размер – легкость подключения к ней новых пользователей и ресурсов;
  2. территориально – пользователи и ресурсы могут быть разнесены в пространстве;
  3. административно – система проста в управлении при работе во многих административно независимых организаций.

Эта характеристика РС может снижать  производительность системы.

Проблемы масштабируемости

Любая РС должна масштабироваться. Но вопросы ее практической реализации должны рассматриваться вместе с  другими требованиями, такими как  безопасность и производительность.   

Таблица 1.2. Примеры ограничений  масштабируемости размера

Концепция

Пример

Централизованные службы

Один сервер на всех пользователей

Централизованные данные

Единый телефонный справочник, доступный  в режиме подключения 

Централизованные алгоритмы

Организация маршрутизации на основе полной информации о сети. В больших  системах большое число сообщений  необходимо направлять по множеству  каналов. В этих случаях лучше  использовать децентрализованные алгоритмы.


 

Проблемы географической масштабируемости – неэффективность блокировок доступа  к общим ресурсам (как в локальных  сетях).

 

 

Технологии масштабирования.

Основные технологии: сокрытие времени ожидания связи, распределение и репликация.

1. Сокрытие времени ожидания  связи применяется в случае географического масштабирования. Основная идея – постараться избежать ожидания ответа на запрос от удаленного сервера. Это означает разработку приложения-клиента с использованием асинхронной связи. При получении ответа, приложение-клиент прервет свою работу и вызовет специальный обработчик для завершения отправленного ранее запроса. Асинхронная связь используется в системах пакетной обработки и параллельных приложениях, в которых во время ожидания одной задачей завершения связи предполагается выполнение других независимых задач.

Во многих задачах приложения не могут эффективно использовать асинхронную  связь. Например, в задачах интерактивной  обработки с использованием форм. В этих случаях для сокращения объема взаимодействия часть вычислений, которые обычно выполняются на стороне  сервера, обычно перемещают на сторону  клиента.

Особенно это касается проверки данных на форме. Более эффективное  решение – переместить на сторону  клиента проверку данных всех полей  формы. Перенос кода на клиента в  настоящее время поддерживается в Web с помощью Java-апплетов.

2. Распределение. Предполагает разбиение компонентов на более мелкие части с последующим их распределением в системе. Пример – система доменных имен Интернета (DNS). Пространство DNS организовано иерархически в виде дерева доменов (domains) разбитых на зоны (по странам и областям деятельности). Имена каждой зоны обрабатываются одним сервером имен.

 

Получается, что служба доменных имен распределена по нескольким серверам, что позволяет избежать обработки  всех запросов одним сервером.

Второй пример – Web. Каждый документ имеет уникальное имя URL. Физически середа Web разнесена по многим серверам. Имя сервера, содержащего конкретный документ, определяется его URL-адресу. Это позволяет наращивать количество документов без потери производительности

3. Репликация (дублирование). Применение репликации повышает доступность ресурсов, а также помогает выравнивать нагрузку компонентов, что ведет к улучшению производительности. Кроме того, в географически распределенных системах репликация (в виде близко лежащей копии) помогает уменьшить проблему ожидания связи.

Особую форму репликации представляет собой кеширование (caching). Хотя отличия между ними незначительны. Как и при репликации, результатом кеширования является создание копии ресурса, обычно в непосредственной близости от клиента. В отличие от репликации кеширование – это действие, предпринимаемое со стороны клиента, а не сервера.

 

Проблемы масштабируемости. Проблема непротиворечивости ресурса. Поскольку при репликации и кешировании создаются копии ресурса, модификация одной копии делает ее отличной от остальных.

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

 

 

 

  1. Концепции программных решений

Хотя аппаратные решения важны  для РС, наибольшее влияние на них  оказывают именно программные решения. Эти решения влияют, в первую очередь, на удобство работы пользователя в  РС. С одной стороны, РС работают как менеджеры ресурсов, помогая пользователям совместно использовать такие ресурсы как память, процессоры, периферийное оборудование, сеть и данные. В этом они подобны ОС. С другой – РС скрывают сложность и гетерогенность аппаратуры, предоставляя виртуальную машину для выполнения приложений.

Эти функции обычно выполняют ОС. Для распределенных компьютеров  ОС можно разделить на две категории: сильно связанные и слабо связанные. Сильно связанные ОС обычно называются распределенными ОС (Distributed Operation System, DOS) и используются для управления мультипроцессорными и гомогенными мультикомпьютерными системами. Основная их цель – скрыть тонкости управления аппаратным обеспечением.

Слабо связанные ОС называются сетевыми ОС (Network Operation System, NOS). Они используются для управления гетерогенными мультикомпьютерными системами. Помимо традиционных функций управления ресурсами, они должны обеспечить доступ удаленных клиентов к локальным службам.

Однако, для создания РС служб сетевой ОС недостаточно. Необходимо добавить к ним дополнительные компоненты для организации поддержки прозрачности распределения. Эти компоненты образуют средства промежуточного уровня (middleware) и составляют основу современных РС. (табл.1.3).

Информация о работе Концепции программных решений в РИС