- •1. Введение в распределенные вычислительные системы
- •1.1 Определение распределенной вычислительной системы
- •1.2 Промежуточное программное обеспечение
- •1.3 Терминология рвс
- •1.4 Классификация рвс
- •1.5 Связь в рвс
- •2. История развития распределенных вычислений
- •2.1 Первое поколение систем распределенных вычислений
- •2.1.1 Проект fafner
- •2.1.2 Проект I-way
- •2.2 Второе поколение систем распределенных вычислений
- •2.2.2 Проект Legion
- •2.2.3 Распределенные объектные системы
- •2.3 Современные рвс
- •2.3.1 Одноранговые (peer-to-peer) сети
- •2.3.2 Сервис-ориентированная архитектура
- •2.3.3 Агенты
- •2.3.4 Облачные вычисления
- •2.4 Заключение
- •Архитектура клиент-сервер
- •4.1 Разделение приложений по уровням
- •4.1.1 Уровень представления
- •4.1.2 Уровень бизнес-логики
- •4.1.3 Уровень данных
- •4.2 Типы клиент-серверной архитектуры
- •4.2.1 Методы горизонтального распределения
- •3.1 Классическая двухуровневая архитектура «Клиент – сервер»
- •3.3 Различные модели технологии «Клиент – сервер»
- •5. Объектные распределенные системы
- •5.1 Вызов удаленных процедур.
- •5.1.1 Базовые операции rpc
- •5.2 Организация связи с использованием удаленных объектов
- •5.3 Corba
- •5.3.1 Основные понятия corba
- •5.3.2 Технология corba
- •5.3.3 Разработка на основе corba
- •3.2 Трехуровневая модель
- •3.6 Технология "Клиент-сервер" применительно к Internet
- •3.7 Технология «Клиент-сервер» применительно к Intranet
- •6. Агентные технологии
- •6.1 Понятие программного агента
- •6.2 Мультиагентные системы
- •6.2.1 Агентные платформы
- •6.3 Безопасность в системах мобильных агентов
- •10. Технологии одноранговых сетей
- •10.1 Основы технологии одноранговых сетей
- •10.1.1 Сравнение p2p и клиент-серверной технологий
- •10.1.2 Задачи p2p сетей
- •10.1.3 Основные элементы p2p сетей
- •10.2 Алгоритмы работы p2p сетей
- •10.2.1 Структура p2p сети
- •10.2.2 Алгоритмы работы p2p сетей
- •10.3 Применение технологий p2p
- •10.3.1 Распределенные вычисления
- •10.3.2 Файлообменные сети
- •10.3.3 Приложения для совместной работы
- •10.4 Достоинства и недостатки p2p
10.3 Применение технологий p2p
Наибольшее распространение одноранговых сетей наблюдается в систе- мах, обрабатывающих большие объемы данных и обеспечивающих индивиду-__ альный обмен информацией между пользователями. В настоящий момент, тех- нологии P2P наиболее ярко представлены в 3-х направлениях:
Распределенные вычисления: разбиение общей задачи на большое число независимых в обработке подзадач (проекты на платформе BOINC [9]);
Файлообменные сети: P2P выступают альтернативой FTP-архивам, кото- рые утрачивают перспективу ввиду значительных информационных пере- грузок (однако требуются эффективные механизмы поиска) (Gnutella [33], eDonkey, BitTorrent [8]);
Приложения для совместной работы: требуют обеспечения прозрачных механизмов для совместной работы. (Skype [36,59], Groove [17]).
10.3.1 Распределенные вычисления
В основном, к данному типу проектов относят системы типа проекта SETI@home (распределенный поиск внеземных цивилизаций), который проде- монстрировал огромный вычислительный потенциал для распараллеливаемых задач. В настоящий момент в нем принимают участие свыше трех миллионов пользователей на бесплатной основе.
Данная система основана на платформе BOINC. BOINC (англ. Berkeley Open Infrastructure for Network Computing — от- крытая программная платформа Беркли для распределённых вычислений) — некоммерческое межплатформенное ПО для организации распределённых вы- числений
. Система состоит из двух основных частей:
сервер BOINC – это набор PHP-сценариев для организации и управления проектом: регистрация участников, распределение заданий, получение ре- зультатов;
клиент BOINC – это пользовательское приложение, позволяющее участво- вать в одном или нескольких проектах. Обычно представляет собой храни- тель экрана, который производит вычисления в моменты простоя компью- тера. Наиболее популярные проекты, реализованные на основе BOINC:
SETI@home — анализ радиосигналов с радиотелескопа Аресибо для поис- ка инопланетных цивилизаций.
Einstein@Home — проверка гипотезы Альберта Эйнштейна о гравитаци- онных волнах с помощью анализа гравитационных полей пульсаров или нейтронных звёзд. Climate Prediction — построение модели климата Земли для предсказания его изменений на 50 лет вперёд.
World Community Grid — Различные проекты. Организатор — IBM.
Malaria Control Project — Контроль распространения Малярии в Африке (AFRICA@home).
Predictor@home — моделирование 3-хмерной структуры белка из последо- вательностей аминокислот.
LHC@home — расчёты для ускорителя заряженных частиц в CERN (Centre Europeen de Recherche Nucleaire).
10.3.2 Файлообменные сети
По статистическим данным на конец 2006 года объем трафика, генерируе- мого файлообменными сетями на базе P2P-сетей, составил более 70% всего се- тевого трафика.
На сегодняшний день существует большое число P2P-сетей, ориентированных на обмен файлами между пользователями.
Они могут разви- ваться и функционировать как в глобальном сетевом пространстве, так и в от- дельных подсетях. Самым ярким примером таких сетей, является система BitTorrent. Прото- кол BitTorrent был разработан в 2001 Брэмом Коэном.
В соответствии с прото- колом BitTorrent файлы передаются не целиком, а частями, причем каждый клиент, закачивая эти части, в это же время отдает их другим клиентам, что снижает нагрузку и зависимость от каждого клиента-источника и обеспечивает избыточность данных.
Если узел хочет опубликовать файл или набор файлов, то программа- клиент BitTorrent сети разделяет передаваемые файлы на части и создает файл метаданных (идентификатор раздачи), который содержит следующую инфор- мацию:
URL трекера;
Общая информация о файлах (имя, длина и пр.);
Хеш-суммы SHA1 сегментов раздаваемых файлов;
Passkey пользователя – ключ, который однозначно определяет пользовате- ля загрузившего файл;
Хеш-суммы файлов целиком (не обязательно);
Альтернативные источники – адреса альтернативных трекеров, на которых можно найти информацию по данному файлу (не обязательно). Алгоритм загрузки документа производится следующим образом: клиент подключается к трекеру по URL из файла метаданных;
сообщает хеш-идентификатор требуемого файла;
получает адреса пиров скачивающих и раздающих данный файл;
клиенты соединяются между собой и обмениваются информацией без уча- стия трекера.
В последнее время стала распространяться альтернативная технология по- иска и загрузки документов на основе «магнитных ссылок» (magnet links) и подхода распределенных хеш-таблиц (Distributed Hash Table — DHT) по сути дела представляющих собой реализацию алгоритма маршрутизации докумен- тов, описанную ранее.
Причина возникновения этой технологии – дальнейшее развитие деперсонализации и попытка торрент-трекеров защититься от юриди- ческого преследования правообладателей. Торрент-файл для такой раздачи со- здаётся без адреса трекера и клиенты находят друг друга через распределенные хеш-таблицы. DHT – это система распределенного хранения данных о скачиваемых фай- лах. Все клиенты, подключенные к DHT-сети и сами становятся «узлами», чем- то вроде мини-трекеров. Каждый узел имеет уникальный идентификатор – «node ID».
Все узлы хранят информацию об узлах, «близких к ним», кроме того узел должен хранить информацию о пирах в раздачах, чей хеш напоминает «node ID». При этом торренты представляют собой Magnet-ссылки, которые в основ- ном идентифицируют файлы не по их расположению или имени, а по содержа- нию, точнее — по хеш-коду.
Одно из преимуществ magnet-ссылок — их открытость и независимость от платформы: ссылка может быть использована для загрузки файла при помощи разнообразных приложений на практически всех операционных системах.
Бла- годаря тому, что magnet-ссылка представляет собой короткую строку текста, пользователи могут использовать обычные операции копирования-вставки и отправить ее по электронной почте или программе мгновенного обмена сооб- щениями.
