Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Судаков / Лекции / lec5_rpc.ppt
Скачиваний:
32
Добавлен:
20.03.2015
Размер:
242.69 Кб
Скачать

Вызовы удаленных процедур

Судаков А.А.

“Параллельные и распределенные вычисления” Лекция 5

План

Что такое RPC?

SUN RPC

XML RPC

Распределенные объектные системы (CORBA, COM)

RPC

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

 

 

 

Машина 2

Машина 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вызов функции

сеть

Выполнение функции

proc(int a, char* b)

 

proc(int a, char* b)

Для чего нужно?

Не всегда есть возможность запускать программу на другой машине

Работа в режиме ядра

Запуск программы может оказаться очень медленной операцией

Синхронизация содержимого файла

Необходим стандартный подход для создания распределенных приложений

Независимо созданные программы должны работать друг с другом

Промежуточное программное обеспечение

RPC использует middleware для того, чтобы скрыть детали реализации от пользователя

Машина 1

Машина 2

Машина 3

Программа-клиент Программа-клиент Программа-клиент

 

 

 

 

 

 

 

 

middleware

 

 

middleware

 

middleware

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сервер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сервер

 

 

 

сервер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RPC middleware

RPC middleware является надстройкой над клиент- серверной платформой

Программа, которая вызывает удаленную функцию является клиентом

Сервера, которые выполняют функции работают прозрачно для клиентов

Существуют вспомогательные сервера

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

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

Упрощение интерфейса и разработки

Стандартизация

Параллелизм на уровне процедур

Недостатки

Сложность программного обеспечения

Где используются?

Основной механизм для создания распределенных операционных систем

Основной механизм для создания распределенных файловых систем

Часто используется для прикладных распределенных программ

Какие существуют реализации?

SUN RPC

XML RPC

Microsoft RPC

SUN RPC

Начало 1980-х годов Open Network Computing (ONC) фирмы SUN ( http://www.ietf.org/html.charters/oncrpc-charte

r.html

)

Создание распределенного программного обеспечения

Протоколы

Библиотеки, вспомогательные утилиты и инструменты

Соседние файлы в папке Лекции