Главная » Просмотр файлов » Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)

Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619), страница 54

Файл №1162619 Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)) 54 страницаЭ. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619) страница 542019-09-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 54)

Технология агентовпредставление о том, что такое агенты, бесполезно в том случае, если отсутствуетподдержка в виде реально существующих систем агентов. Очень полезной былабы возможность выделить постоянно используемые компоненты агентов в рас­пределенных системах и включить их, например, в программное обеспечениепромежуточного уровня. В качестве исходной точки организация FIPA (Founda­tion for Intelligent Physical Agents) разработала обобщенную модель программныхагентов.

Согласно этой модели агенты регистрируются и работают под управле­нием платформы агентов, как показано на рис. 3.12. Платформа агентов предо­ставляет основные службы, необходимые любой мультиагентной системе. Сюдавходят механизмы создания и уничтожения агентов, механизмы распознаванияагентов и механизмы взаимодействия между агентами.^АгентПрограмма-агентКонечная точкаагентаКомпонентыуправленияагентамиПлатформаагента1СлужбакаталоговМежплатформеннаясвязьКанал связимеждуагентами/;гМежплатформеннаясвязьРис. 3.12. Обобщенная модель платформы агента (адаптировано из [143])Компонент управления агентами отслеживает агентов на соответствующейплатформе. Он предоставляет механизмы создания и уничтожения агентов, а так­же для просмотра текущей конечной точки на предмет наличия конкретного208Глава 3.

Процессыагента. В этом смысле он предоставляет службу наименования, посредством ко­торой глобально уникальный идентификатор отображается на локальную конеч­ную точку взаимодействия. Службы именования детально обсуждаются в сле­дующей главе.Кроме того, существует и отдельная локальная служба каталогов, при помо­щи которой агенты могут узнать, какие еще агенты имеются на этой платформе.Служба каталогов в модели FIPA основана на использовании атрибутов. Этоозначает, что агент предоставляет описания своих служб в понятиях имен атри­бутов вместе с их значениями для данного агента.

Это очень похоже на то, какустроен справочник «Желтые страницы». К службе каталогов могут иметь до­ступ удаленные агенты, то есть агенты, находящиеся на других платформахагентов.Важный компонент платформы агента — ка}1ал связи между агентами {AgentCommunication Channel, АСС). В большинстве моделей мультиагентных системагенты связываются друг с другом, пересылая сообщения. Модель FIPA — не ис­ключение, она возлагает на АСС ответственность за все взаимодействие междуразличными платформами агентов. В частности, АСС отвечает за надежнуюи направленную связь точка-точка с другими платформами.

Канал АСС можетбыть реализован просто в виде сервера, отслеживающего некоторый порт, пред­назначенный для входящих сообщений, которые перенаправляются другим сер­верам или агентам, являющимся частью платформы агентов. Для обеспечениямежплатформенного взаимодействия связь между АСС соответствует Интернетпротоколу ПОР (Internet Inter-ORB Protocol), который мы будем обсуждатьв главе 9. В архитектуре D'Agent в качестве АСС выступает сервер.Языки взаимодействия агентовИтак, у платформ агентов есть своя специфика. Отличие от других подходовк распределенным системам становится понятным при рассмотрении характераинформации, которой реально обмениваются агенты. Связь между агентами про­исходит посредством коммуникационного протокола прикладного уровня, из­вестного под названием языка взаимодействия агентов {Agent CommunicationLanguage, ACL).

В ACL присутствует жесткое разделение между целью сооб­щения и его содержанием. Сообщение может иметь только ограниченный наборцелей. Например, целью сообщения может быть запрос на предоставление полу­чателем определенной службы.Также целью сообщения может быть ответ на ранее присланное сообщениес запросом.

Другим примером цели сообщения может быть уведомление прини­мающей стороны о произошедшем событии или предложение чего-либо в ходесогласования. Некоторые из целей сообщений на языке ACL, разработанныеFIPA, перечислены в табл. 3.5.Идея ACL состоит в том, что агент-отправитель и агент-получатель как мини­мум одинаково понимают цель сообщения. Более того, цель сообщения обычноопределяет и реакцию получателя. Так, например, при запросе предложения пу­тем сообщения, имеющего в заголовке цель CFP, получатель на самом деле дол­жен будет послать предложение, посредством сообщения с целью PROPOSE. В этом3.5.

Программные агенты209смысле ACL действительно определяет высокоуровневый коммуникационныйпротокол для набора агентов.Таблица 3.5. Примеры целей сообщения и описание содержания сообщенийЦель сообщенияОписаниеСодержаниесообщенияINFORMИ н ф о р м и р о в а т ь , что данноеп р е д п о л о ж е н и е истинноПредположениеЗ а п р о с и т ь , и с т и н н о ли данноеПредположениеQUERY -1FпредположениеQUERY-REFЗ а п р о с д а н н о г о объектаВыражениеСЕРЗапросить предложениеЗависит от предложенияPROPOSEПредоставить п р е д л о ж е н и еПредложениеREJECT- PROPOSALС о о б щ и т ь , что данное п р е д л о ж е н и епринятоС о о б щ и т ь , что д а н н о е п р е д л о ж е н и еотвергнутоИдентификаторпредложенияREQUESTЗ а п р о с и т ь осуществления д е й с т в и яСпецификация действияSUBSCRIBEПодписаться на источник и н ф о р м а ц и иСсылка на источникACCEPT- PROPOSALИдентификаторпредложенияКак и большинство коммуникационных протоколов, сообщения ACL состоятиз заголовка и реального содержания.

Заголовок содержит поле цели сообще­ния, а также поля отправителя и получателя. Кроме того, как и во многих другихкоммуникационных протоколах, содержимое письма отделено и независимо отостальной его части. Другими словами, предполагается, что содержимое письмаопределят вступившие в связь агенты. ACL никак не задает формат или язык со­держания сообщения.Теперь необходимо, чтобы принимающему агенту была предоставлена вся не­обходимая информация для правильной интерпретации содержания.

Для этогозаголовок сообщения ACL должен также определять язык или схему декодиро­вания содержания. Этот подход хорошо работает до тех пор, пока отправительи получатель одинаково интерпретируют данные, или, точнее, символы сообще­ния. Если единое понимание отсутствует, нередко требуются дополнительныеполя, идентифицирующие стандартное отображение символов в их смысл. Такоеотображение обычно называется онтологией (ontology).Приведем простой пример. В табл. 3.6 показано сообщение на языке ACL, ис­пользуемое для информирования агента о генеалогических связях в королев­ском семействе Нидерландов. Для определения агента, отправившего сообщение,и агента, которому оно предназначено, каждый из агентов имеет имя, состоящееиз нескольких компонентов. Так, например, значение max@http://fanclub-beatrix.royalty-spotters.п1:7239 может использоваться для ссылки на агента с именем max,находящегося на агентской платформе с DNS-именем fanclub-beatrix.royaltyspotters.nl.

Для связи с агентом имя платформы должно быть сначала преобразо­вано из DNS в IP-адрес. Кроме того, доступ к имени, указанному для связи, дол­жен производиться путем посылки сообщений серверу по протоколу HTTP на210Глава 3. Процессыего хост. Ожидает их прихода сервер на порту под номером 7239. В нашем при­мере агент max посылает информационное сообщение агенту eike, расположен­ному на платформе под именем royalty-watcher.uk.

Сообщения должны посылать­ся по протоколу ПОР (мы обсудим его в главе 9) на порт под номером 5623.Таблица 3.6. Простой пример сообщения ACL, пересылаемогоодним агентом другомуПолеЗначениеЦельINFORMОтправительПолучательЯзыкОнтологияСодержимоеmax@http://fanclub-beatrlx.royalty-spotters.nl:7239elke@iiop.7/royalty-watcher.uk:5623PrologGenealogyfemal eCbeatri х), parent (beatri х. jul 1 ana. bernhard)Остальные поля сообщения относятся к его содержимому.

Поле языка указы­вает на то, что содержимое сообщения представляет собой серию выражений наязыке Prolog, а поле онтологии определяет, что эти конструкции Prolog интер­претируются как генеалогическая информация. В результате получающий сооб­щение агент должен понимать, что следующее выражение означает, что beatri х —это имя женщины:female(beatrix)С другой стороны, показанное ниже сообщение говорит о том, что матьbeatriх зовут именем Juliana, а отца — именем Bernhard:parent(beatrix.Juliana,bernhard)3.6.

ИтогиПроцессы играют фундаментальную роль в распределенных системах, посколькуони формируют базис для связи между различными машинами. Важным вопро­сом является внутренняя организация процессов и в частности, способны ли ониподдерживать несколько управляющих потоков выполнения. Потоки выпол­нения в распределенных системах используются, в частности, для продолженияработы с процессором во время блокирующих операций ввода-вывода. Таким об­разом, появляется возможность построения более эффективных серверов, в кото­рых несколько потоков выполнения работают одновременно, причем некоторыеиз них могут быть блокированы в ожидании выполнения дисковых операций вво­да-вывода или операций сетевого взаимодействия.Возможна организация распределенных приложений в понятиях клиентови серверов.

Клиентский процесс обычно реализует пользовательский интерфейс,который может варьироваться от простого вывода информации до расширенныхинтерфейсов, способных поддерживать составные документы. Клиентское про­граммное обеспечение, кроме того, способно поддерживать прозрачность распре-3.6. Итоги211деления, скрывая детали, касающиеся связи с серверами, текущего местоположе­ния серверов и репликации серверов. Кроме того, программное обеспечениеклиента способно частично скрыть возникающие сбои и процессы восстановле­ния после сбоев.Серверы часто сложнее клиентов, но тем не менее при их построении приме­няется относительно немного архитектурных моделей. Так, например, серве­ры могут быть итеративными или параллельными, реализовывать одну или не­сколько служб, сохранять информацию о состоянии или не сохранять.

Остальныеархитектурные особенности касаются адресации служб и механизмов прерыва­ния серверов после прихода запроса на обслуживание и возможно в ходе его вы­полнения.Серверы объектов выделяются в особый класс. Коротко говоря, сервер объек­тов — это процесс, содержащий размещенные в своем адресном пространстве объ­екты и готовый принимать направленные к ним обращения. В отдельную катего­рию серверы объектов выделяются во многом благодаря разнообразию способовобращения к объектам. Так, например, сервер может запустить отдельный потоквыполнения для каждого запроса к объекту.

С другой стороны, он может выде­лять каждому объекту собственный поток выполнения или оставить единственныйпоток выполнения для всех своих объектов. Посредством адаптера объектов вразличных серверах может быть реализована разная политика обращения к объ­ектам. Коротко говоря, адаптер объектов — это компонент, реализующий толькоодну политику обращения. На сервере может быть несколько адаптеров объектов.Важной для распределенных систем темой является перенос кода с машинына машину. Для того чтобы поддерживать перенос кода, имеются две веские при­чины — повышенР1е производительности и мобильность.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее