Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сети эвм телекоммуникации.doc
Скачиваний:
8
Добавлен:
07.07.2019
Размер:
662.02 Кб
Скачать

Технологии распределенных вычислений

ПО организации распределенных вычислений называют ПО промежуточного слоя (Middleware). Новое направление организации распределенных вычислений в сетях Internet-Intranet основано на создании и использовании программных средств, которые могут работать в различных аппаратно-программных средах. Для совокупности таких средств используют также название многоплатформенная распределенная среда - МРС (crossware).

Находят применение технологии распределенных вычислений RPC (Remote Procedure Call), ORB (Object Request Broker), MOM (Message-oriented Middleware), DCE (Distributed Computing Environment), мониторы транзакций, ODBC.

RPC - процедурная блокирующая синхронная технология, предложенная фирмой Sun Microsystems. Вызов удаленных программ подобен вызову функций в языке С. При пересылках на основе транспортных протоколов TCP или UDP данные представляются в едином формате обмена XDR. Синхронность и блокирование означают, что клиент, обратившись к серверу, для продолжения работы ждет ответа от сервера.

Для систем распределенных вычислений разработаны специальные языки обмена данными, для RPC это язык IDL (Interface Definition Language), который дает пользователю возможность оперировать различными объектами безотносительно к их расположению в сети. На этом языке можно записывать обращения к серверам приложений. Другой пример языка для систем распределенных вычислений - NewEra в среде Informix.

Удаленная программа в технологии RPC характеризуется атрибутами: имя узла, номер программы (часто это совокупность программ определенного назначения), версия программы (версия - это копия программы, копии создаются для использования в многопользовательском режиме), имя процедуры в программе.

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

Обращение к удаленной программе в соответствии с механизмом RPC начинается с обращения к демону Postmapper, находящемуся в узле-клиенте. В запросе указываются процедура, аргумент, память под результат. Аргумент должен быть единственный, поэтому если аргументов много, то программист должен создать агрегат данных. Демон находит регистрационные данные и с помощью средств транспортного уровня устанавливает соединение и передает запрос серверу. В сервере имеется диспетчер, который находит исполнителя запроса. В ответе сервера содержатся результаты выполнения процедуры.

RPC входит во многие системы сетевого ПО. RPC базируется на сетевой файловой системе NFS (для Unix-платформ) и информационной службе NIS - базе данных о конфигурациях всех машин в сети.

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

В архитектуре компонентно-ориентированных систем имеются следующие части: 1) прикладная программа (клиент), создаваемая для решения очередной задачи; 2) множество программных компонентов, составляющих серверную часть и распределенных по узлам вычислительной сети; 3) программа-брокер (менеджер или посредник), служащая для установления связи между взаимодействующими компонентами и для согласования их интерфейсных данных. В отличие от RPC, обращения из прикладной программы происходят не сразу к компоненту, а через посредство брокера. Запрос клиента направляется к брокеру. В брокере имеется предварительно сформированный каталог (репозиторий) интерфейсов функций с указанием компонентов-исполнителей. Брокер перенаправляет запрос соответствующему компоненту, после исполнения которого полученные результаты возвращаются клиенту.

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

Наиболее перспективной объектной сетевой технологией считается технология, основанная на спецификациях CORBA(Common Object Request Broker Architecture), разработанных в начале 90-х годов и развиваемых в настоящее время ассоциацией ведущих производителей компьютерной техники OMG (Object Management Group).

К компонентно-ориентированным сетевым технологиям относятся также DCOM (Distributed Common Object Model) фирмы Microsoft, ориентированная на операционные системы Windows, и JavaBeans - технология, ориентированная на язык программирования Java.

В сравнительно простой объектной технологии MOM связь с серверами асинхронная, используются команды "послать" и "получить", осуществляющие обмен сообщениями. Отличается от электронной почты реальным масштабом времени. Однако могут быть варианты МОМ с очередями, тогда режим on-line необязателен и при передаче не требуется подтверждений, т.е. опора на протокол IP без установления соединения.

Мониторы транзакций отличает от RPC наличие готовых процедур обработки транзакций (в том числе отката транзакций), что упрощает работу программистов.

Технология DCE реализуется в среде DCE, объединяющей узлы и сети, которые территориально могут быть разнесены на большие расстояния. Среда DCE представляет собой совокупность ячеек, узлы и сети распределены по ячейкам в соответствии с их функциональными связями. В каждой ячейке имеется большой объем разделяемых узлами данных. В ячейке выделяются главный сервер данных и несколько дополнительных серверов с копиями содержимого главного сервера для обеспечения быстрого доступа к данным. При этом доступ к дополнительным серверам разрешен только для чтения. Обновление данных происходит в главном сервере. Ячейка может занимать значительную территорию, главный сервер обычно размещается вблизи от центра ячейки, дополнительные серверы - по периферии.

В структуре DCE пможно выделить следующие части. Для управления данными используется распределенная файловая   система  DFS (Distributed File Service). Служба директорий используется для определения адресов узлов, в частности, включает службу Domain Name Service (DNS) , применяемую в Internet. Служба безопасности предназначена для аутентитфикации и авторизации пользователей, шифрования и дешифрования передаваемых данных. Синхронизация работы узлов в сети возлагается на службу времени. Имеется также служба обеспечения множественного доступа к серверам (Threads Service). Технология DCE может использоваться совместно с другими технологиям распределенных вычислений, например, с технологиями RPC или ORB. Так, для обмена данными в DCE от организации OSF (Open Software Foundation) используется механизм RPC.  Определение нужного сервера в DCE либо происходит автоматически через ORB, либо возлагается на программиста, как в RPC .