Модель взаимодействия равноправных систем
Как вы знаете, в Web в основном используется вычислительная модель типа клиент-сервер. Как мы уже обсуждали, протокол клиент-серверного взаимодействия построен на модели "запрос-ответ", при которой сервер ожидает запросов от клиентов, а затем на них отвечает. В каком-то смысле сервер (или набор серверов одного сайта) представляет собой центральное хранилище ресурсов (файлов или средств по обработке транзакций). Такая центральная роль сервера (или группы равноправных серверов) в модели "клиент-сервер" является препятствием для увеличения расширяемости и надежности системы. В последнее время стали применять более общий подход, называемый моделью взаимодействия равноправных систем (peer-to-peer model, P2P) [31, 34]. Этот подход применяется для поддержки различных приложений, таких как коллективный доступ к сжатым музыкальным файлам [25], дисковому пространству [6], традиционным файлам [12] и даже вычислительным циклам центрального процессора [33]. Подобная тенденция возникла частично и потому, что персональные компьютеры стали значительно быстрее, у них стало больше дискового пространства, возросла скорость соединения с Internet. Модель взаимодействия равноправных систем применяется также и по той причине, что существенная доля ресурсов персональных компьютеров и рабочих станций не используется их владельцами. Например, исследование, проведенное в крупной компании, имеющей около 10 000 файловых систем, показало, что приблизительно 50% общего объема дискового пространства пустует [6]. Другое исследование показало, что до 75% сетевых циклов на рабочей станции представляют собой простои [24].
В этом подразделе мы рассмотрим два вида архитектуры для модели Р2Р. Более детальная классификация и первичный анализ эффективности Р2Р-систем можно найти в [17, 18]. Здесь мы выделим разделяемые ресурсы метаданных, т.е. данных, описывающих ресурсы. Например, в системе коллективного доступа к музыкальным файлам, метаданные обычно включают название, имя исполнителя, альбом, а также любую другую информацию, необходимую для описания и обнаружения местоположения музыкального файла.
На рис. 2.18а показан сервер метаданных, на который отправляются запросы с любой машины, который нужен доступ к ресурсу (например, файлу). Например, машина С посылает запрос на сервер метаданных и получает список сайтов, скажем (I, J, Н), на которых имеется копия запрашиваемого ресурса. Затем С выбирает из этого списка одну машину - например, I, и проводит с ней сеанс связи. Во время сеанса С получает доступ к ресурсу. Итак, сервер метаданных занимается регистрацией сайтов и ответом на запросы, связанные с поиском ресурсов.Доступ происходит на основе модели равноправных вычислений. Именно так работает сеть Napster.
На рис. 2.18б показан случай архитектуры Р2Р без централизованного сервера метаданных. Здесь каждая машина содержит информацию о ресурсах, расположенных на соседних машинах. Например, машина С запрашивает своих соседей А, В и D. Машина D не знает местоположение ресурса, но посылает запрос на машины Е и F. Машина F запрашивает машину I, на которой оказывается требуемый ресурс. Ответ передается на машину С через F и D. Затем, как и в случае с рис. 2.18а, С устанавливает сеанс связи с I. В некоторых случаях желаемый ресурс может также передаваться обратно вместе с информацией о его положении, в результате чего копии этого ресурса будут храниться ближе к точке, в которой они часто запрашиваются.
Для получения оптимальной производительности следует найти компромисс вариантов архитектуры с сервером метаданных (рис. 2.18а) и архитектуры полностью равноправных узлов (рис. 2.186). В первом случае существует постоянная задержка порядка 2 RTT на получение информации с сервера метаданных. Кроме того, поскольку сервер метаданных - это централизованный ресурс, он всегда будет перегружен, что добавит существенную задержку взаимодействия. Во втором случае количество машин, с которыми нужно контактировать до начала сеанса, не постоянно и может быть больше двух. Здесь будет передаваться больше сетевых сообщений, чем в первом случае. Однако, ввиду того, что нет централизованного сервера, расширяемость системы оказывается лучше.
Дата добавления: 2016-04-19; просмотров: 728;