- •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
2.3 Современные рвс
На сегодняшний день, РВС отходят от традиционных понятий высокопро- изводительных распределенных вычислений в сторону развития виртуального сотрудничества и виртуальных организаций.
Виртуальная организация – это ряд людей и/или организаций, объединенных общими правилами коллективно- го доступа к определенным вычислительным ресурсам [31].
Методы предоставления доступа к вычислительным ресурсам становятся сервисно- ориентированными, что позволяет гибко использовать одни и те же вычисли- тельные ресурсы различными потребителями.
Значительно расширились области автоматизированного управления ре- сурсами. Человек не в силах вручную решить задачу распределения вычисле- ний в системах такого масштаба и гетерогенности. Таким образом, необходимо использование автоматизированных систем управления задачами, которые бе- рут на себя задачи управления предоставляемой системой.
Также, с возрастани- ем масштаба вычислительных сетей, необходимы автоматизированные средства обработки ошибок и восстановления вычислительного процесса.
2.3.1 Одноранговые (peer-to-peer) сети
В 1999 году, в Северо-восточном Университете (Массачусетс, США) пер- вокурсник Шон Фэннинг написал систему обмена MP3 файлами между пользо- вателями.
Этот проект получил название Napster. Он стал первым проектом, положившим начало технологии одноранговых (Peer-to-peer (P2P) – англ. «рав- ный-к-равному») распределенных вычислительных сетей. Через 2 года Napster был закрыт совместными усилиями владельцев авторских прав на музыкальные произведения, распространявшиеся через эту сеть.
Но по примеру Napster раз- вился целый класс P2P систем нового, децентрализованного типа, которые за- крыть было значительно сложнее. В 2000 году Джастин Франкел (20-ти летний хакер из США, в 1997 году выпустил бесплатный MP3 плеер WinAmp) написал Gnutella – P2P протокол передачи файлов. В отличие от Napster, который использовал центральный сервер для установления связи между пирами, Gnutella полагалась исключительно на системы конечных пользователей для организации сети. Таким образом, в отличие от Napster, сеть Gnutella оказалось невозможно «закрыть», отключив центральный сервер.
Миллионы человек до сих пор пользуются данной систе- мой. При работе в рамках парадигмы P2P, компьютеры обмениваются ресурса- ми непосредственно друг с другом, без использования центрального сервера.
Подход P2P обеспечивает решение проблем, возникших в результате экспонен- циального роста интернет и Веб. Применение P2P позволило множеству поль- зователей, которые раньше были простыми потребителями информации, по- участвовать в предоставлении контента.
В момент своего появления, P2P было скорее модным словом, чем продуманной концепцией. В результате мощного продвижения с помощью средств массовой информации, технология P2P рас- пространилась в академических и промышленных кругах. В рамках концепции P2P все входящие в сеть компьютеры взаимодей- ствуют друг с другом напрямую, без использования централизованных серве- ров.
Основные достоинства одноранговых вычислительных систем:
упрощается поддержка масштабируемости при значительном росте коли- чества узлов в вычислительной сети;
повышается отказоустойчивость сети, т.к. сбой любого вычислительного узла не может привести к остановке функционирования сети целиком.
Тем не менее, существует ряд препятствий при построении P2P сетей:
1. При работе с P2P приложениями, вычислительный узел берет на себя функции, как клиента, так и сервера. Это приводит к увеличению требова- ний к производительности каждого компьютера, включенного в такую сеть.
2. Низкая степень защищенности машин, участвующих в P2P сети объясня- ется тем, что они предоставляют открытый доступ к своим ресурсам (та- ким как такты процессора, определенные папки на жестком диске и т. п.).
Таким образом, при отсутствии средств защиты, компьютеры, включенные в P2P подвержены риску взлома или заражения со стороны недобросовест- ных участников.
3. При построении P2P сети приходится преодолевать возможную гетеро- генность аппаратного и программного обеспечения ее потенциальных участников. Этот вопрос может быть решен путем применения таких тех- нологий как XML или Java.
4. Основная проблема P2P сетей – это поиск доступных ресурсов, без исполь- зования централизованной точки управления. Каждому узлу приходится производить поиск среди сотен и тысяч ресурсов внутри сети, что является очень трудоемкой и ресурсоемкой задачей. Шумиха и споры о легальности Р2Р привели к недоверию к этой техноло- гии, хотя на самом деле, она обладает существенным потенциалом.
В настоящее время P2P – это общепринятая концепция построения распределенных вы- сокомасштабируемых вычислительных систем. Несмотря на все трудности, происходит бурное развитие и использование P2P сетей.
Среди наиболее известных и значимых примеров, стоит отметить такие проекты как BitTorrent, Napster, Skype, SETI@home (хотя принадлежность SETI@home к роду P2P си- стем вызывает серьезные споры среди разработчиков распределенных прило- жений). Несмотря на то, что базовая философская концепция грид и P2P различает- ся, обе технологии пытаются решить одну и ту же проблему – создание вирту- ального слоя [69] над существующей инфраструктурой Интернет для обеспече- ния совместной работы и использования совместных ресурсов [24].
Тем не менее, в реализации, подходы сильно отличаются. Грид скорее ориентирована на объединение виртуальных организаций для обеспечения совместной работы их участников, а P2P связывает отдельных пользователей находящихся за конеч- ными узлами сети интернет (то есть за NAT, брандмауэрами и др.). Более по- дробно о концепции P2P вычислений и будет рассказано в главе 10 «Технологии одноранговых сетей».
