Материал: Учебнопрактическое пособие Владимир 2021

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

30 ная схема разделения функций, где прикладной компонент выделен как важнейший изолированный элемент приложения (рис. 1.2).
С развитием интранет - интернет технологий появилась разно- видность трехслойной архитектуры на основании использования web- технологий. В этой разновидности роль сервера приложений играет web-сервер, а в качестве клиента используется стандартный web- браузер. Достоинства – в пониженных требованиях к клиенту и в лег- кой встраиваемости данной архитектуры в мировые информационные сети. Основной недостаток – известные ограничения, накладываемые на интерфейс пользователя web-браузерами.
Эволюция моделей взаимодействия клиента и сервера показы- вает, что их совершенствование направлено на снижение трафика в сети, что повышает производительность системы. Однако реализация перечисленных моделей технологии «клиент-сервер» для построения баз данных в распределенных системах с использованием мобильных каналов связи вызывает значительные трудности. Дело в том, что в отличие от высокоскоростных и надежных локальных сетей, теле- фонные и особенно радиоканалы имеют намного более низкую про- пускную способность при более высоких уровнях помех. Даже в со- временных системах «клиент - сервер», где минимизируется количе- ство данных, передаваемых между клиентским приложением и серве- ром БД, применяемые протоколы взаимодействия клиента и сервера оказываются для этих каналов слишком ресурсоемкими, что в итоге приводит к значительному времени отклика при выполнении тран- закций. К тому же снижается вероятность их успешного завершения из-за возможного обрыва сеанса. Для примера, только время установ- ления сеанса с сервером может составлять от одной до нескольких минут.
Для разрешения проблемы большого времени отклика, возни- кающей при работе мобильных пользователей в режиме клиент- сервер по медленным каналам связи, используются мобильные аген- ты (рис.1.3). С целью уменьшения обмена по низкоскоростным кана- лам уже известная модель «клиент-сервер» трансформирована в но- вую - «клиент-агент-сервер».

31
1.4. Программы-агенты и модель «клиент-агент-сервер»
Правильная ориентация в современной компьютерной сети ста- новится чрезвычайно трудной. Решение этой задачи видится учеными и инженерами на пути использования технологии агентов. Предпола- гается, что по мере развития технологии агентов на узлах сети будет автоматически появляться подобранная с учетом индивидуальных по- требностей пользователя информация. Процесс индивидуализации будет происходить с использованием агентов незаметно для пользо- вателя. Лучшие из агентов смогут самостоятельно обучаться, подра- жая примеру пользователя. В них будет заложена способность отсле- живать последовательность действий, выполняемых во время сеанса просмотра, и накапливать информацию об интересующих вопросах, внося соответствующие коррективы в свое поведение.
В соответствии с определением, данным Э. Таненбаумом, про- граммный агент– это автономный процесс, способный реагировать на среду исполнения и вызывать изменения в среде исполнения, воз- можно, в кооперации с пользователями или другими агентами.
Агент должен обладать следующими свойствами:

реактивность;

автономность;

целенаправленность;

коммуникативность.
Свойство реактивности означает, что агент временами отвечает на изменения в окружении. Агент имеет сенсоры, с помощью кото- рых получает информацию от окружения. Сенсоры могут быть самы- ми различными. Это могут быть микрофоны, воспринимающие аку- стические сигналы и преобразующие их в электрические, видеокарты захвата изображений, клавиатура компьютера или общая область па- мяти, в которую окружение помещает данные и из которой про- граммный агент берет данные для вычислений. Не все изменения окружения становятся известными (доступными) сенсорам агента.
Это вполне естественно. Ведь и человек не воспринимает звуки

32 сверхвысокой частоты, радиоволны и т.д. Таким образом, окружение не является полностью наблюдаемым для агента. Аналогично, агент воздействует на окружение, путем разнообразных исполнительных механизмов, включая общую память. Разумеется, степень воздей- ствия, как и степень восприятия, является ограниченной. Агент может перевести окружение из некоторого состояния в некоторое другое, но не из любого в любое.
Свойство автономности означает, что агент является само- управляющимся, сам контролирует свои действия. Программный агент, находящийся на некотором сервере, обладает возможностью
«самозапуска». Он не требует от пользователя каких-либо специаль- ных действий по обеспечению его старта (подобно тому, как мы
«кликаем» два раза по иконке некоторого файла).
Свойство целенаправленности означает, что у агента имеется определенная цель и его поведение (воздействие на окружение) под- чинено этой цели, а не является простым откликом на сигналы из окружения. Иначе говоря, агент является управляющей системой, а не управляемым объектом.
Свойство коммуникативности означает, что агент общается с другими агентами (включая людей), используя для этого некоторый язык. Это не обязательно единый язык для всех агентов. Достаточно, чтобы у пары общающихся агентов был общий язык. Язык может быть сложным как, например, естественный язык. Но может быть и примитивным: обмен числами или короткими словами. Если много- словные фразы сложного языка несут всю информацию, как правило, в себе, то слова простого языка предполагают «умолчание»: обе сто- роны диалога «знают», о чем идет речь.
В отдельную категорию интеллектуальных агентов выделяют автономные агенты, обладающие свойством обучаемости. Свойство обучаемости означает, что агент может корректировать свое поведе- ние, основываясь на предыдущем опыте. Это не просто накопление в памяти параметров окружения, т.е. Использование исторических данных, но сопоставление истории собственных действий с историей

33 их влияния на окружение, и изменение в связи с этим своей програм- мы действий.
Одна из главнейших особенностей агента – это интеллектуаль- ность. Интеллектуальный агент владеет определенными знаниями о себе и об окружающей среде, и на основе этих знаний он способен определять свое поведение. Интеллектуальные агенты являются ос- новной сферой интересов агентной технологии. Важна также среда существования агента: это может быть, как реальный мир, так и вир- туальный, что становится важным в связи с широким распростране- нием сети Интернет. От агентов требуется способность к обучению и даже самообучению. Способность планировать свои действия делит агентов на регулирующие и планирующие. Если умение планировать не предусмотрено (регулирующий тип), то агент будет постоянно пе- реоценивать ситуацию и возобновлять свое воздействие на окружаю- щую среду. Планирующий агент может запланировать несколько действий на разные промежутки времени. При этом агент может мо- делировать развитие ситуации, что дает возможность более адекватно реагировать на текущие ситуации. При этом агент должен принимать во внимание не только свои действия и реакцию на них, но и сохра- нять модели объектов и агентов окружающей среды для прогнозиро- вания их возможных действий и реакций.
Агенты разделяются на две группы, исходя из того, где они находятся и функционируют. Стационарные агенты работают в ос- новном на стороне клиента или на стороне сервера. Эти программы функционируют во взаимодействии с браузером программой про- смотра сети и автоматизируют сеансы просмотра. Мобильные агенты относятся к более совершенной и многообещающей категории про- граммных продуктов. Такие агенты способны самостоятельно пере- мещаться от сервера к серверу в поисках нужной информации. Это выполняющиеся программы, несущие в себе информацию о соб- ственном состоянии, т. е. вполне автономные. Сегодня концепция программ, извлекающих ресурсы из удаленных точек сети, представ- ляется естественной, однако идея программ, перемещающихся от сервера к серверу, отличается новизной. Особенность мобильных

34 агентов – в их автономности. Перемещаясь по сети, они несут инфор- мацию о своем состоянии (все, что необходимо для их функциониро- вания). Обнаружив необходимые данные, они могут послать сообще- ние исходному клиенту или серверу. Безусловно, в таком случае важ- ной задачей становится обеспечение информационной безопасности.
Разработчики агентов всячески стараются исключить возможность превращения их в информационное оружие.
В модели «клиент-агент-сервер» работы каждое приложение разбивается на две взаимодействующие части. Первая - «клиент», находится на мобильном ПК, обеспечивая пользовательский интер- фейс для ввода данных и представления результатов и, возможно, не- которую локальную обработку. Вторая - «агент», располагается на компьютере в локальной сети и, выступая там представителем пер- вой, выполняет по ее запросам доступ к серверам БД, другим источ- никам данных, различного рода сервису типа электронной почты, пе- чати, передачи факсов и т.п. В отличие от клиент-серверной модели
«клиент-сервер» здесь не организуется сеанс работы пользователя с
БД. Вместо этого «клиент» посылает своему «агенту» короткие со- общения-запросы. Получив сообщение, «агент» работает самостоя- тельно и выполняет запрошенные действия, по окончании которых возвращает «клиенту» сообщение-ответ, содержащее требуемые дан- ные или же просто информацию об успешном завершении операции.
В новой модели работа мобильных клиентов по низкоскоростным ли- ниям сводится к минимуму с переносом основного трафика в компь- ютерную сеть.

35
Рис. 1.2. Модели доступа в современных информационных системах

36
Рис. 1.3. Примеры доступа компьютеров в глобальную сеть
1   2   3   4   5   6   7   8   9   ...   18
1.5. Технологии одноранговых сетей
Технология одноранговых сетей (или P2P-сетей от анг, peer-to-
peer – равный-к-равному) обеспечивает формирование распределен- ных систем на базе принципа децентрализации, где разделение вы- числительных ресурсов и сервисов производится напрямую посред- ством прямого взаимодействия между участниками сети друг с дру- гом, без участия центрального сервера. Одноранговые вычислитель- ные сети, в какой-то степени, являются противоположностью клиент- серверным архитектурам.
В отличие от традиционной клиент-серверной архитектуры в
P2P-сетях каждый узел, входящий в вычислительную сеть, может яв- ляться как клиентом, так и сервером, предоставляя или используя ре- сурсы сети. На рис. 1.4 представлены связи в сетях с P2P и с центра- лизованной архитектурой.

37
Рис. 1.4. Сравнение вида связей P2P и централизованной (клиент-серверной) ар- хитектур
Можно выделить следующие проблемы клиент-серверной архи- тектуры, связанные с наличием централизованного сервера, обеспе- чивающего обработку запросов от множества клиентов:

Проблемы масштабируемости. При увеличении количе- ства клиентов растут требования к мощности сервера и пропускной способности канала. Единственным вариантом решения данной зада- чи является наращивание пропускной способности канала до сервера и использование более высокопроизводительных решений для аппа- ратной платформы сервера;

Зависимость. Стабильная работа всех клиентов зависит от загруженности и функционирования одного сервера. При выходе из строя или отключении сервера, клиенты не смогут выполнять функ- циональные обязанности.
Этим проблемам можно противопоставить следующие преиму- щества P2P:

Отсутствие зависимости от централизованных сервисов и ресурсов;

Система может пережить серьезное изменение в структуре сети;

Высокая масштабируемость модели одноранговых вычис- лений.
Можно выделить следующие основные задачи, которые с легко- стью решают P2P сети:

38 1. Уменьшение/распределение затрат. Серверы централизован- ных систем, которые обслуживают большое количество клиентов, обычно несут на себе основной объем затрат ресурсов (денежных, вычислительных и др.) на поддержание вычислительной системы.
P2P архитектура может помочь распределить эти затраты между уз- лами сети. Так как узлы, как правило, автономны, важно, чтобы за- траты были распределены справедливо.
2. Объединение ресурсов. Каждый узел в P2P-системе обладает определенными ресурсами (вычислительные мощности, объем памя- ти). Приложения, которым необходимо большое количество ресурсов, например ресурсозатратные задачи моделирования или распределен- ные файловые системы, используют возможность объединения ре- сурсов всей сети для решения своей задачи. При этом важны как объ- ем дискового пространства для хранения данных, так и пропускная способность сети.
3. Повышенная масштабируемость. Поскольку в сетях Р2Р от- сутствует сильный центральный механизм, важной задачей является повышение масштабируемости и надежности системы. Масштабиру- емость определяет количество систем, которые могут быть достигну- ты из одного узла, сколько систем могут функционировать одновре- менно, сколько пользователей может пользоваться сетью, сколько памяти может быть использовано. Надежность сети определяется та- кими параметрами как количество сбоев в работе сети, отношение времени простоя к общему времени работы, доступностью ресурсов и т.д. Таким образом, основной проблемой становится разработка но- вых алгоритмов обнаружения ресурсов, на которых базируются но- вые P2P платформы.
4. Анонимность. Бывает, пользователь не желает, чтобы другие пользователи или поставщики услуг знали о его нахождении в сети.
При использовании центрального сервера трудно обеспечить ано- нимность, так как серверу, как правило, необходимо идентифициро- вать клиента, по крайней мере через интернет адрес. При использова- ния P2P-сети пользователи могут избежать предоставления любой информацию о себе.

39
Основные элементы P2P сетей
Пир(Peer)– это фундаментальный составляющий блок любой одноранговой сети:

Каждый пир имеет уникальный идентификатор;

Каждый пир принадлежит одной или нескольким группам;

Каждый пир может взаимодействовать с другими пирами, как в своей так и в других группах.
Можно выделить следующие виды пиров:

Простой пир: обеспечивает работу конечного пользовате- ля, предоставляя ему сервисы других пиров и обеспечивая предостав- ление ресурсов пользовательского компьютера другим участникам сети;

Роутер: обеспечивает механизм взаимодействия между пи- рами, отделенными от сети брандмауэрами или NAT-системами.
Группа пиров– это набор пиров, сформированный для решения общей задачи или достижения общей цели. Группы пиров могут предоставлять членам своей группы такие наборы сервисов, которые недоступны пирам, входящим в другие группы.
Сервисы – это функциональные возможности, которые может привлекать отдельный пир для полноценной работы с удаленными пирами. В качестве примера сервисов, которые может предоставлять отдельный пир можно указать сервисы передачи файлов, предостав- ления информации о статусе, проведения вычислений и др. Сервисы пира– это такие сервисы, которые может предоставить конкретный узел P2P. Каждый узел в сети P2P предоставляет определенные функциональные возможности, которыми могут воспользоваться дру- гие узлы. Эти возможности зависят от конкретного узла и доступны только тогда, когда узел подключен к сети. Как только узел отключа- ется, его сервисы становятся недоступны. Сервисы группы– это функциональные возможности, предоставляемые группой входящим в нее узлам. Возможности могут предоставляться несколькими узла- ми в группе, для обеспечения избыточного доступа к этим возможно-

40 стям. Как только к группе подключается узел, обеспечивающий необ- ходимый сервис, он становиться доступной для всей группы.
P2P — это не только сети, но еще и сетевой протокол, обеспе- чивающий возможность создания и функционирования сети равно- правных узлов, их взаимодействия. Множество узлов, объединенных в единую систему и взаимодействующих в соответствии с протоко- лом P2P, образуют пиринговую сеть. P2P относятся к прикладному уровню сетевых протоколов и являются наложенной сетью, исполь- зующей существующие транспортные протоколы стека TCP/IP. Про- токолы сети P2P обеспечивают:

поиск узлов в сети;

получение списка служб отдельного узла;

получение информации о статусе узла;

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

создание, объединение и выход из групп;

создание соединений с узлами;

маршрутизацию сообщений другим узлам.
Можно выделить следующие основные преимущества одноран- говых сетей:

высокая масштабируемость, связанная с равномерным распределением вычислительной нагрузки на всех участников сети;

стабильность работы сети, обусловленная отсутствием
«узкого места» – выделенного сервера, обрабатывающего все сетевые запросы;

возможность объединения ресурсов отдельных участников сети, и их предоставление другим участникам;

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

в одноранговых сетях не может быть обеспечено гаранти- рованное качество обслуживания: любой узел, предоставляющий те или иные сервисы, может быть отключен от сети в любой момент;
Источник: https://files.student-it.ru/previewfile/263492