Distributed System L-7 (Лекции по распределённым системам)

PDF-файл Distributed System L-7 (Лекции по распределённым системам) Распределённые системы (14044): Лекции - 10 семестр (2 семестр магистратуры)Distributed System L-7 (Лекции по распределённым системам) - PDF (14044) - СтудИзба2017-12-22СтудИзба

Описание файла

Файл "Distributed System L-7" внутри архива находится в папке "Лекции по распределённым системам". PDF-файл из архива "Лекции по распределённым системам", который расположен в категории "". Всё это находится в предмете "распределённые системы" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "распределённые системы" в общих файлах.

Просмотр PDF-файла онлайн

Текст из PDF

РаспределенныевычислительныесистемыЛекция №7:Определение местонахожденияраспределенных объектовАлексей В. Бурдаков, к.т.н.burdakov@usa.net6-1Мотивация• Важное свойство распределенной системы –прозрачность расположения• Пример системы с зашитым IP-адресом:•Невозможно перенести сервер на другой узел• Объектная ссылка – универсальный механизмадресации объектов• Каким образом получить объектную ссылку?•Именование (нахождение объектов по логическимименам - «белые страницы»)•Трейдинг (нахождение объектов по функциональным инефункциональным (качественным) характеристикам –«желтые страницы»)6-21План лекции• Именование объектов• Объектный трейдинг6-3Общие принципы именования• ОО ПО среднего слоя использует объектныессылки для адресации серверных объектов• Необходим способ получения таких ссылок• Имя (последовательность строк) могло бы бытьпривязано к объектной ссылке• По имени могла бы быть получена ссылка6-42Общие принципы именования• В распределенной системе может бытьмножество распределенных объектов• Серверные объекты могут иметь несколько имен• Это приводит к большому объему связок имяссылка в системе• Пространство имен д.б.

организованоиерархически для того, чтобы избежать:•Конфликты имен•Деградацию производительности при привязке иполучении ссылок• Иерархия м.б. достигнута с помощью контекстов6-5Контексты именованияUEFAQPRPremierMUn anitedternea1.Ka FCisersBochutdEnuthSo itedUnBVBFirselsChnManchesterUnitedternLauyerBalau2.gam1.

LigaLiEnglandCup rseWinnnyGerma6-63Общие принципы именования:композитные имена• Имена составлены из возможно более чемодного компонента• Используется для описания навигации черезнесколько контекстов именования• Пример:(“UEFA”, “England”, “Premier”, “Chelsea”)6-7Общие принципы именования:поведение сервера именования• Привязки имен к ссылкам управляютсясерверами имен• Не для каждого серверного объекта нужно имя• Серверные объекты могут иметь несколько имен• Серверы имен должны долговременно хранитьпривязку• Эффективное получение ссылок по именам• Серверы именования м.б. распределенными6-84Сервис именования CORBA• Поддерживает привязку имен CORBA кобъектным ссылкам• Имена сгруппированы по контекстам именования• Для одной объектной ссылки может бытьопределено несколько имен• Не все объектные ссылки нуждаются в именах6-9Архитектура сервиса имен6-105Имена CORBA• Имена составляются из простых имен• Простые имена представляют собой пары«значение-тип»• Атрибут «значение» используется дляразрешения имен• Атрибут «тип» (kind) используется дляпредоставления информации о роли объекта6-11IDL типы для именmodule CosNaming {typedef string Istring;struct NameComponent {Istring id;Istring kind;};typedef sequence <NameComponent>Name;...};6-126Интерфейсы IDL• Сервис именования определен двумя IDLинтерфейсами• NamingContext определяет привязки имен кобъектам и выдает информацию по привязке• BindingIterator определяет набор операций дляитераций по набору имен, определенных вконтексте именования6-13Интерфейс NamingContextinterface NamingContext {void bind(in Name n, in Object obj)raises (NotFound, ...);Object resolve(in Name n)raises(NotFound,CannotProceed,...);void unbind (in Name n)raises (NotFound, CannotProceed...);NamingContext new_context();NamingContext bind_new_context(in Name n)raises (NotFound, ...)void list(in unsigned long how_many,out BindingList bl,out BindingIterator bi);};6-147Интерфейс BindingIteratorinterface BindingIterator {boolean next_one(out Binding b);boolean next_n(in unsigned long how_many,out BindingList bl);void destroy();}6-15Сценарии именования:привязка• Привязать команду Bielefeid к первой лиги, акоманду Frankfurt - отвязатьc:Clientroot: NamingContext1L:NamingContext1L=resolve("UEFA","Germany","1.

Liga")bind("Arm. Bielefeld", bielefeld)unbind("Eintr. Frankfurt")6-168Начало работы с сервисомимен• Как получить корневой контекст именования?• Интерфейс ORB обеспечивает дляинициализации следующее:module CORBA {interface ORB {typedef string ObjectId;typedef sequence <ObjectId> ObjectIdList;exception InvalidName{};ObjectIdList list_initial_services();Object resolve_initial_references(in ObjectId identifier)raises(InvalidName);}}6-17Сценарий именования:разрешение• Распечатать состав Дортмундской Боруссииc:Clientroot: Naming D:Namingdo:TeamContextContextD=resolve("UEFA","Germany")do=resolve("1.

Liga","BVB")print()6-189Сценарий именования:итерации• Распечатать все команды 1-й немецкой лигиc:Client1.Liga:Naming bi:BindingContextIteratort:Teamlist(0,bl,bi)t=next_one().valuename()t=next_one().valuename()t=next_one().valuename()...6-19Именование в СОМ: клички• Moniker – кличка• Поддержка привязки и разрешения имен• Пространство имен м.б. иерархическиструктурировано6-2010Именование в СОМ:интерфейс IMonikerinterface IMoniker : IPersistStream {HRESULT BindToObject([in] IBindCtx *pbc,[in, unique] IMoniker *pmkToLeft,[in] REFIID riid,[out, iid_is(riid)] void **ppv);...}6-21Создание мониторов:IParseDisplayName• Для того, чтобы быть поименованым, серверныйобъект должен реализовывать интерфейсIParseDisplayName• Создает объект-монитор разбирая внешнее(текстовое) имя, называемое отображаемымименемinterface IParseDisplayName {HRESULT MkParseDisplayName([in] IBindCtx *pbc,[in,string] const OLECHAR *pwszName,[out] ULONG *ppchEaten[out] IMoniker **ppmk);}6-2211Оценка• СОМ имеет внутренние и внешние имена (кличкии отображаемые имена), что усложняетименование• Именование СОМ переплетено с другимичастями спецификации СОМ (контейнеры)• Именование СОМ не прозрачно дляразработчиков серверных объектов, т.к.

онидолжны реализовывать IParseDisplayName6-23Именование в Java/RMI• Упрощенная версия именования в CORBA• Нет композитных имен• Ограничения по безопасности: привязки имен немогут быть созданы с удаленных узлов• На каждом узле д.б. реестр• Различные реестры должны быть интегрированыв федеративные пространства имен6-2412Именование в Java/RMI:реестрpackage java.rmi.registry;public interface Registry extends java.rmi.Remote {public static final int REGISTRY_PORT = 1099;public java.rmi.Remote lookup(String name)throws java.rmi.RemoteException,java.rmi.NotBoundException,java.rmi.AccessException;public void bind(String name, java.rmi.Remote obj)throws java.rmi.RemoteException,java.rmi.AlreadyBoundException,java.rmi.AccessException;public void rebind(String name, java.rmi.Remote obj)throws java.rmi.RemoteException,java.rmi.AccessException;public void unbind(String name)throws java.rmi.RemoteException,java.rmi.NotBoundException,java.rmi.AccessException;public String[] list()throws java.rmi.RemoteException,java.rmi.AccessException;}6-25Именование в Java/RMI:использование реестра:LocateRegistryroot=getRegistry(“ns.fifa.org”)c:Clientroot:1L:BVB:E:do:TeamRegistry Registry Registry RegistryE=lookup("UEFA")D=lookup(“Germany”)1L=lookup(“1.

Liga”)BVB=lookup(“BVB”)print()6-2613Именование в Java/RMI:оценка• Отсутствие иерархии в именовании увеличиваеткол-во удаленных операций необходимых дляразрешения имен• Поиск корневого узла не всегда прозрачно вотношении размещения• Ограничения безопасности уничтожаетпрозрачность размещения6-27Именование: ограничения• Клиент должен знать имя сервера• Такой способ поиска нужных объектов неподходит, если клиент ищет сервис сопределенными функциями и качеством, но незнает имя сервиса6-2814План лекции• Именование объектов• Объектный трейдинг6-29Характеристикитрейдер-сервиса• Обнаружение объектов независимо от ихфизического расположения• Именование не приемлемо когда клиент:•Не знает имя сервиса•Существует несколько сервисов с одинаковымифункциями• Трейдер-сервис поддерживает обнаружениесерверов по функциональности и качествупредоставляемого сервиса• Именование  Белые страницы• Трейдер-сервис  Желтые страницы6-3015Характеристикитрейдер-сервисаTraderоспрза2:1:экспорт• Трейдер-сервис работает в качестве посредникамежду клиентом и сервером• Позволяет клиенту менять перспективу с «кто?»на «что?»3:выполнениеExporterImporter• Та же самая идея:•биржевой брокер6-31Характеристикитрейдер-сервиса• Общий язык между клиентом и сервером:•Тип сервиса•Качество сервиса• Сервер регистрирует сервис в трейдере• Клиент запрашивает трейдер:•получить сервис определенного типа•сервис определенного качества• Трейдер поддерживает:•сопоставление сервисов•«торговлю сервисами»6-3216Пример• Сервер «видео по требованию»СерверПровайдер“видео потреб.”MGMWarnerПользовательTraderIndependent6-33Процесс «трейдинга»• Сервер «видео по требованию»:Client:TraderMGM:VoDSWarner:VoDSexport()export()query()modify()download()6-3417Определение типа сервиса• Определение типа сервиса•функциональность, определенная сервисом•характеристика качества сервиса (QoS)• Функциональность определяется типом объекта• QoS определена свойствами:•имя свойства•тип свойства•значение свойства•режим работы•обязательный/не обязательный•только для чтения/модифицируемый6-35Пример: тип сервисаtypedef enum {VGA,SVGA,XGA} Resolution;service video_on_demand {interface VideoServer;readonly mandatory property float fee;readonly mandatory property Resolutionres;modifiable optional property floatbandwidth;}6-3618Определение ограничений• Импортер сервиса определяет желаемыекачества сервиса в качестве части запроса:• Пример:fee<10 AND res >=SGA AND bandwidth>=256• Трейдер выдает в качестве ответа на запростолько те сервисы, которые удовлетворяютограничениям6-37Политики трейдинга• В зависимости от ограничений и доступныхсервисов, большой набор предложений можетбыть возвращен в качестве результата• Политики трейдинга могут использоваться дляограничения количества найденных предложений•Указание максимального числа результатов•Ограничения по замещению сервисов•Ограничения по модифицируемым свойствам6-3819Федерации трейдеров• Масштабируемость приводит к необходимостисоздания федераций трейдеров• Трейдер, участвующий в федерации:•предлагает информацию о сервисах другим трейдерам•запрашивает других трейдеров в случае если он неможет удовлетворить запрос• Проблемы•непрерывный импорт•дублирование предложений6-39Граф процесса трейдингаT1query.hop_count=4def_follow_policy=alwaysmax_hop_count=5T2Предлож.

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