Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Одноранговые (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 «Технологии одноранговых сетей».

Сервис-ориентированная архитектура

В начале 2000-х годов бизнес-сообщество занялось разработкой следую- щего поколения спецификаций, призванных решить проблемы ранних стандар- тов распределенных объектных технологий посредством веб-сервисов и сервис- ориентированной архитектуры (Service-Oriented Architecture – SOA).

Стандарты веб-сервисов к были разработаны по инициативе организаций, занимающихся предоставлением удаленного доступа к определенным вычисли- тельным ресурсам, и закреплены консорциумом W3C.

К основным стандартам разработки и функционирования веб-сервисов можно отнести:

SOAP – основанный на XML протокол взаимодействия веб-сервисов;

  WSDL (Web Services Description Language – Язык описания веб-сервисов) – это методология описания ресурсов, предоставляемых веб-сервисом;

  UDDI (Universal Description Discovery and Integration – Универсальный ме- тод поиска и интеграции) – метод описания, поиска, взаимодействия и ис- пользования веб-сервисов.

На сегодняшний день, сервис-ориентированный подход является стандар- том «де-факто» при разработке распределенных вычислительных систем. Более подробно о сервис-ориентированных системах и технологиях веб-сервисов бу- дет рассказано в главе 8 «Сервис-ориентированная архитектура» и гла- ве 9 «Веб-сервисы».

Агенты

Несмотря на все преимущества технологии веб-сервисов, они не предоставляют новых методологий и решений построения широкомасштабных вы- числительных сетей. Для поиска решений в этом направлении, необходимо рас- смотреть агентно-ориентированную парадигму построения РВС. Вычислительные сети на основе так называемых агентов – это принципи- ально иной подход к организации РВС.

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

Рассмотрим основные принципы работы агентных сетей [40]:

  автономность – агенты функционируют автономно, без возможности по- стороннего вмешательства в их внутреннее состояние;

  социальное поведение – агенты взаимодействуют друг с другом посред- ством определенного языка;

  активность – агенты взаимодействуют с окружающей средой, получая определенные сигналы и отвечая на них;

  про-активность – агенты действуют целенаправленно. Агентные сети принципиально приспособлены для функционирования в динамически-изменяемой окружающей среде.

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

  информация о взаимодействиях между компонентами;

  обобщенная информация о рабочем процессе и более конкретная инфор- мация по той или иной задаче.

Для обеспечения функционирования такой системы, необходима стандар- тизация методов взаимодействия между компонентами. Для решения этой зада- чи разрабатываются и стандартизуются языки взаимодействия агентов (Agent Communication Languages, ACLs).

Одним из наиболее известных, является ар- хитектура взаимодействия FIPA (Foundation for Intelligent Physical Agents, базис интеллектуальных физических агентов). Эта архитектура стандартизует методы взаимодействия агентов и агентных систем. Более подробно, принципы организации агентных систем будут рассмот- рены в главе 6 «Агентные технологии».

Облачные вычисления

Облако – это парадигма крупномасштабных распределенных вычислений, основанная на эффекте масштаба, в рамках которой пул абстрактных, виртуа- лизованных, динамически-масштабируемых вычислительных ресурсов, ресур сов хранения, платформ и сервисов предоставляется по запросу внешним поль- зователям через Интернет [29].

Не смотря на то, что метафора «облако» уже давно используется специали- стами в области сетевых технологий для изображения на сетевых диаграммах сложной вычислительной инфраструктуры (или же Интернета как такового), скрывающей свою внутреннюю организацию за определенным интерфейсом, термин «Облачные вычисления» появился на свет совсем недавно.

Согласно результатам анализа поисковой системы Google, термин «Облачные вычисления» («Cloud Computing») начал набирать вес в конце 2007 – начале 2008 года, по- степенно вытесняя популярное в то время словосочетание «Грид-вычисления» («Grid Computing»).

Судя по заголовкам новостей того времени, одной из пер- вых компаний, давших миру данный термин, стала компания IBM, развернув- шая в начале 2008 года проект «Blue Cloud» и ставшая спонсором Европейского проекта «Joint Research Initiative for Cloud Computing». На сегодняшний день уже можно говорить о том, что облачные вычисле- ния прочно вошли в повседневную жизнь каждого пользователя Интернета (хотя многие об этом и не подозревают). Однако до сих пор нет единого мнения о том, что такое «Облачные Вычисления» и каким образом они соотносятся с па- радигмой «Грид-вычислений».

Заключение

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


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-28; Просмотров: 842; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.02 с.)
Главная | Случайная страница | Обратная связь