Модели и алгоритмы взаимодействия приложений в распределённых системах с архитектурой публикация/подписка тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат наук Антипов, Олег Владимирович

  • Антипов, Олег Владимирович
  • кандидат науккандидат наук
  • 2015, Рязань
  • Специальность ВАК РФ05.13.11
  • Количество страниц 255
Антипов, Олег Владимирович. Модели и алгоритмы взаимодействия приложений в распределённых системах с архитектурой публикация/подписка: дис. кандидат наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Рязань. 2015. 255 с.

Оглавление диссертации кандидат наук Антипов, Олег Владимирович

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

ГЛАВА 1. АНАЛИЗ И ОБОСНОВАНИЕ ИНТЕГРАЦИОННЫХ РЕШЕНИЙ ДЛЯ РАСПРЕДЕЛЁННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ ОБМЕНА СООБЩЕНИЯМИ

1.1. Задачи интеграции

1.1.1. Необходимость интеграции

1.1.2. Типы интеграционных задач

1.1.3. Проблемы интеграции

1.1.4. Обеспечение слабого связывания

1.2. Способы интеграции

1.2.1. Критерии интеграции приложений

1.2.2. Передача файлов

1.2.3. Общая база данных

1.2.4. Удалённый вызов процедур

1.2.5. Обмен сообщениями

1.3. Системы обмена сообщениями

1.3.1. Построение систем обмена сообщениями

1.3.2. Архитектура Публикация/Подписка

1.4. Анализ и выбор механизма уведомления

1.4.1. Выбор на основе канала

1.4.2. Выбор на основе темы

1.4.3. Выбор на основе содержимого

1.5. Маршрутизация на основе содержимого

1.5.1. Простая маршрутизация

1.5.2. Маршрутизация на основе покрытия

1.5.3. Использование Рекламных объявлений

1.6. Задачи исследования

1.7. Выводы

ГЛАВА 2. РАЗРАБОТКА ФОРМАЛЬНОЙ СПЕЦИФИКАЦИИ СИСТЕМ

ПУБЛИКАЦИЯ/ПОДПИСКА

2.1. Интерфейс системы Публикация/Подписка

2.2. Спецификация на основе следа

2.3. Поведение систем Публикация/Подписка

2.4. Модель системы Публикация/Подписка

2.5. Конфигурация маршрутизации

2.5.1. Переадресация уведомлений: таблицы маршрутизации

2.5.2. Статическая система Публикация/Подписка:

допустимая маршрутная конфигурация

2.5.3. Динамическая система Публикация/Подписка:

слабо допустимая маршрутная конфигурация

2.6. Самостабилизирующаяся система Публикация/Подписка

2.6.1. Самостабилизирующиеся системы

2.6.2. Самостабилизирующаяся система Публикация/Подписка

2.7. Система Публикация/Подписка с рекламными объявлениями

2.8. Выводы

ГЛАВА 3. МАРШРУТИЗАЦИЯ СООБЩЕНИЙ НА ОСНОВЕ СОДЕРЖИМОГО

3.1. Обобщённая структура алгоритмов маршрутизации

3.2. Алгоритмы маршрутизации

3.2.1. Алгоритм с "наводнением"

3.2.2. Простая маршрутизация на основе фильтров

3.2.3. Маршрутизация на основе идентичности фильтров

3.2.4. Маршрутизация на основе покрытия фильтров

3.2.5. Маршрутизация на основе объединения фильтров

3.3. Маршрутизация с рекламными объявлениями

3.4. Обеспечение самостабилизации

3.4.1. Предположения об отказах

3.4.2. Аренда записей маршрутной таблицы

3.4.3. Условия выбора и прекращения срока аренды

3.4.4. Самостабилизация алгоритмов маршрутизации

3.4.5. Время стабилизации

3.5. Выводы

ГЛАВА 4. РЕАЛИЗАЦИЯ СИСТЕМ ОБМЕНА СООБЩЕНИЯМИ

НА ОСНОВЕ АРХИТЕКТУРЫ ПУБЛИКАЦИЯ/ПОДПИСКА

4.1. Инфраструктура сервиса уведомлений Rebeca

4.1.1. Общая архитектура

4.1.2. Использование алгоритмов маршрутизации

4.1.3. Механизм воспроизведения уведомлений

4.1.4. Концепция фабрик сервисов

4.1.5. Основные классы

4.2. Использование инфраструктуры сервиса уведомлений Rebeca

4.2.1. Реализация события

4.2.2. Реализация потребителя

4.2.3. Реализация поставщика

4.2.4. Реализация журнала

4.2.5. Реализация фабрики

4.2.6. Запуск маршрутизатора

4.2.7. Процедура использования

4.3. Примеры приложений

4.3.1. Самообновляющиеся веб-страницы

4.3.2. Торговля акциями

4.3.3. Виртуальная медицинская организация

4.4. Выводы

ГЛАВА 5. АНАЛИЗ РЕАЛИЗУЕМЫХ АЛГОРИТМОВ

МАРШРУТИЗАЦИИ

5.1. Общие настройки

5.1.1. Брокерская топология

5.1.2. Характеристики потребителей

5.1.3. Характеристики производителей

5.2. Размеры таблиц маршрутизации

5.2.1. Простая маршрутизация

5.2.2. Простая маршрутизация с объявлениями

5.2.3. Маршрутизация на основе идентичности фильтров

5.2.4. Маршрутизация на основе идентичности с объявлениями

5.2.5. Маршрутизация на основе покрытия фильтров

5.2.6. Маршрутизация на основе покрытия фильтров с объявлениями

5.2.7. Маршрутизация на основе объединения/слияния фильтров

5.2.8. Маршрутизация на основе слияния фильтров с объявлениями

5.3. Издержки на фильтрацию и пересылку данных

5.3.1. Простая маршрутизация

5.3.2. Простая маршрутизация с объявлениями

5.3.3. Маршрутизация на основе идентичности фильтров

5.3.4. Маршрутизация на основе идентичности с объявлениями

5.3.5. Маршрутизация на основе покрытия фильтров

5.3.6. Маршрутизация на основе покрытия фильтров с объявлениями

5.3.7. Маршрутизация на основе объединения/слияния фильтров

5.3.8. Маршрутизация на основе слияния фильтров с объявлениями

5.4. Дополнительные эксперименты

5.4.1. Эффекты локальности интересов потребителей

5.4.2. Оценка несовершенного слияния

5.5. Выводы

ЗАКЛЮЧЕНИЕ

СПИСОК УСЛОВНЫХ ОБОЗНАЧЕНИЙ

СПИСОК ЛИТЕРАТУРЫ

Приложение 1. Классификация моделей распределенных систем

Приложение 2. Реализации сервисов уведомлений

Приложение 3. Анализ сервисов уведомлений

Приложение 4. Процесс выполнения фазы Формирование Виртуальной медицинской организации

Приложение 5. Процесс выполнения фазы Деятельность Виртуальной медицинской организации

Приложение 6. Свидетельство о государственной регистрации

программы для ЭВМ

Приложение 7. Акты внедрения результатов диссертационной работы

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Модели и алгоритмы взаимодействия приложений в распределённых системах с архитектурой публикация/подписка»

ВВЕДЕНИЕ

Актуальность темы. В архитектуре существующих крупномасштабных распределенных компьютерных систем в настоящее время преобладает синхронная платформа клиент-сервер (например, World Wide Web, Corba, J2EE, COM+). В системах клиент-сервер существуют две роли: компонент действует как клиент, если он требует данные или функциональные возможности от другого компонента, или он действует как сервер, если он отвечает на запрос клиента. Кроме того, клиент блокируется после того, как он отправил запрос, до тех пор, пока не придёт соответствующий ответ.

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

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

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

Использование наиболее избирательного механизма выбора уведомлений по их содержимому в сравнении с выбором на основе канала или выбором на основе темы позволяет повысить эффективность функционирования, гибкость всей системы, и, в целом, облегчает её расширяемость и непрерывное изменение с целью адаптации к изменениям в объединяемых ею приложениях. Самым сложным в такой реализации является обеспечение масштабируемости системы. Избирательность фильтров механизма выбора уведомлений, которые должны быть применены в крупномасштабных системах, оказывает большое влияние на масштабируемость любой службы уведомления на основе содержимого. Поэтому, самая актуальная проблема при разработке систем Публикация/Подписка на основе содержимого — это создание масштабируемой маршрутизации уведомлений от их производителей к соответствующим потребителям.

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

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

исследованы предложенные модифицированные алгоритмы маршрутизации на основе тестового покрытия и слияния фильтров.

Степень её разработанности. В развитие данного направления исследований весомый вклад внесли многие отечественные и зарубежные ученые: C.B. Востокин, В.В. Воеводин, JT.E. Карпов, A.C. Нариньяни, A.A. Цимбал, Э. Та-ненбаум, Грегор Хоп и другие. Значительных успехов в практической реализации существующих сервисов уведомлений достигли зарубежные ученые, такие как А. Карцанига, Д. Розенблюм, А. Вольф, Дж. Бриццони, Ди Нитто, Е. Трацанелла, Дж. Банавар, JI. Опирчал, Дж. Кугола, А. Фуджетта, Дж. Бэйкон.

Объектом исследования являются распределенные системы обмена сообщениями с архитектурой Публикация/Подписка и их программная реализация.

Предметом исследования являются модели взаимодействия удаленных гетерогенных приложений и алгоритмы маршрутизации на основе содержимого.

Целью диссертационной работы является повышение эффективности инфраструктуры передачи сообщений в распределённых информационных системах за счёт модернизации алгоритмов маршрутизации для обеспечения их масштабируемости и самостабилизации.

В соответствии с поставленной целью определены следующие задачи исследования.

1. Проанализировать и сравнить существующие системы передачи сообщений с целью выявления недостатков существующих подходов и определения путей их преодоления.

2. Разработать и исследовать формальную спецификацию этих систем, которая позволила бы определить, что означает для системы передачи сообщений на основе архитектуры Публикация/Подписка с выбором уведомлений по содержимому "правильность" её функционирования и выполнение требований безопасности и живучести.

3. Разработать и исследовать обобщённую структуру маршрутизации на основе содержимого, которая была бы основана на предложенной формальной спецификации систем Публикация/Подписка и абстрактно описывала бы поведение

алгоритмов маршрутизации, условия их самостабилизации и корректности функционирования.

4. В соответствии с разработанной обобщённой структурой маршрутизации рассмотреть и сравнить ряд перспективных алгоритмов, использующих различные механизмы: "наводнение", простую маршрутизацию, маршрутизацию на основе идентичности и на основе покрытия фильтров с целью их модификации для обеспечения задачи масштабируемости.

5. Подтвердить "правильность" функционирования предлагаемой службы передачи уведомлений на примере реализации простых, событийно управляемых приложений, используя разработанные алгоритмы маршрутизации и инфраструктуру системы Rebeca.

6. Провести сравнительный анализ предложенных алгоритмов маршрутизации и получить оценки их основных характеристик.

7. Полученные аналитические результаты сравнить с результатами экспериментов, для подтверждения их адекватности.

Научная новизна.

1. Решена задача формализации систем Публикация/Подписка, позволяющая описывать их поведение и проводить сравнительный анализ реальных систем с целью повышение эффективности процесса их функционирования. Существующие подходы к исследованию систем Публикация/Подписка используют интуитивное представление "правильности" их поведения, поэтому предложенная спецификация полезна не только для понимания деталей функционирования таких систем, она позволяет формально и корректно оценивать "правильность" их функционирования.

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

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

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

Теоретическая и практическая значимость работы. Работа состоит из теоретической и практической частей.

Теоретическая часть представляет формальную спецификацию системы Публикация/Подписка, обобщённую структуру и ряд алгоритмов маршрутизации.

Практическая часть представляет реализацию службы уведомления системы Публикация/Подписка, которая использует разработанные алгоритмы маршрутизации с поддержкой рекламных объявлений. Также представлена детализированная оценка реализованных алгоритмов и программ.

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

Методы исследований. При выполнении представленных исследований были использованы элементы теории множеств, линейной временной логики и теории графов.

Основные положения, выносимые на защиту.

1. Формальная спецификация поведения системы Публикация/Подписка, основанная на следах — последовательностях пар «состояние-операция» и использующая синтаксис линейной временной логики.

2. Модель системы Публикация/Подписка, поддерживающая асинхронный способ передачи сообщений с топологией брокерской сети, представленной в виде связного неориентированного ациклического графа.

3. Модель системы Публикация/Подписка со стабилизацией, охватывающая формальный и единый подход к отказоустойчивости на основе допустимых конфигураций маршрутизации для статических систем и слабо допустимых конфигураций маршрутизации для динамических систем.

4. Обобщённая структура маршрутизации на основе содержимого, основанная на предложенной спецификации систем Публикация/Подписка с объединением механизмов рекламных объявлений и самостабилизации.

5. Модифицированные алгоритмы маршрутизации на основе тестового покрытия и слияния фильтров, результаты оценки основных характеристик предложенных алгоритмов.

Достоверность полученных результатов подтверждается корректным применением используемого математического аппарата, непротиворечивостью полученных теоретических и экспериментальных результатов исследований при реализации предложенных алгоритмов.

Реализация и внедрение результатов работы. Диссертационная работа выполнялась в Рязанском государственном радиотехническом университете на кафедре вычислительной и прикладной математики в рамках: НИР 32-11; НИР 11-12Г; НИР 12-14Г.

Теоретические и практические результаты работы использованы в ОАО «Моринформсистема — Агат - КИП» и НПП «Технософт» в качестве системной организации единого информационного пространства и сетевой инфраструктуры асинхронного взаимодействия гетерогенных приложений, а так же в учебном

процессе ФГБОУ ВПО «Рязанский государственный радиотехнический университет», что подтверждается соответствующими актами внедрения.

Апробация работы. Основные результаты диссертационной работы докладывались и обсуждались в период с 2008 г. по 2014 г. на Всероссийских и Международных конференциях, совещаниях и семинарах в отраслевых институтах и вузах.

Публикации. По теме диссертации опубликовано 18 печатных работ (6 -без соавторов), из них 5 статей в журналах, входящих в перечень ВАК; 1 монография; 1 свидетельство о государственной регистрации программы для ЭВМ; 5 тезисов докладов, в том числе 1 работа, индексированная Scopus.

Личный вклад автора. Постановка задач, способы решения, основные научные результаты, выводы и рекомендации принадлежат автору. Автором сформулированы основные идеи защищаемых моделей и алгоритмов. Программные средства, их реализующие, разработаны автором. Работы, выполненные в соавторстве, подчинены общей постановке проблемы и концепции её решения, предложенной автором.

Соответствие паспорту специальности. Содержание диссертационной работы соответствует паспорту специальности 05.13.11 - «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»: п.З. «Модели, методы, алгоритмы, языки и программные инструменты для организации взаимодействия программ и программных систем»; п.9. «Модели, методы, алгоритмы и программная инфраструктура для организации глобально распределённой обработки данных».

Структура и объём диссертации. Диссертация состоит из введения, пяти глав, заключения, библиографического списка из 109 наименований и 7 приложений, содержит 255 страниц, в том числе 223 страницы основного текста, 72 рисунка и 6 таблиц.

Во введении обоснованы актуальность, научная новизна и практическая ценность работы, дана ее общая характеристика, сформулированы цели и задачи исследования.

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

Для понимания, сравнения и модернизации существующих систем обмена сообщениями, использующих механизм выбора уведомлений на основе содержимого, необходима разработка формальной спецификации, описывающей их семантику. В главе 2 представлена спецификация систем публикации/подписки, использующая синтаксис линейной временной логики и обеспечивающая формальную основу для исследования системы (например, "правильности" её поведения). В рамках введенной спецификации дано определение системы публикации/подписки, отвечающей требованиям безопасности и живучести, которые должны быть удовлетворены для того, чтобы обеспечить корректное поведение системы. Условие безопасности гарантирует, что только соответствующие уведомления будут доставлены потребителям и что каждое уведомление будет доставлено не больше одного раза. Условие живучести гарантирует, что, если потребитель осуществил некоторую подписку, то после определённого времени все соответствующие ей уведомления будут доставлены. Предлагаемая спецификация адаптирована к системам, отвечающим требованиям самостабилизации.

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

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

На основе предложенной модели введено формальное описание множества уведомлений, инициируемых каждым брокером согласно текущей конфигурации маршрутизации, и предложен алгоритм перенаправления уведомлений, основанный на таблице маршрутизации брокера. Введенные понятия конфигурации маршрутизации и перенаправления уведомлений позволили определить условия корректного поведения как статических, так и динамических систем публикации/подписки. Рассмотрен механизм рекламных объявлений, дано определение системы публикации/подписки с рекламными объявлениями, отвечающей требованиям безопасности и живучести.

В третьей главе предложена обобщённая структура для алгоритмов маршрутизации на основе содержимого сообщения. Формализация конфигурации маршрутизации введена на основе понятия допустимой маршрутной конфигурации, которая гарантирует, что все нужные уведомления будут доставлены потребителю. Поскольку в динамических системах публикации/подписки невозможно гарантировать, что маршрутная конфигурация всегда является "правильной", для них было введено понятие слабо допустимой маршрутизации, которая гарантирует, что после завершения процесса обновления соответствующих подписок, клиентам будут доставлены все интересующие их уведомления.

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

тельства их "правильности" согласно введённому критерию корректности: с "наводнением", с простой маршрутизацией, на основе идентичности фильтров, на основе покрытия и на основе слияния фильтров. Алгоритм, основанный на идентичности маршрутов, является упрощённой версией алгоритма, основанного на покрытии, а предложенный алгоритм, основанный на слиянии маршрутов, является более сложным и построен на основе объединения фильтров, позволяющего существенно сократить их количество. Рассмотрено также использование рекламных объявлений, и алгоритмы маршрутизации со самостабилизацией, построенные на основе метода аренды подписки.

Реализация систем публикации/подписки, являющаяся практической частью диссертации, описана в четвертой главе, приведены примеры событийно-управляемых приложений, использующих службу уведомления архитектуры Rebeca. Использование в качестве единой среды для анализа и сравнения различных алгоритмов маршрутизации службы уведомления Rebeca обосновано тем, что эта служба полагается на разработанную обобщённую структуру фильтрации и может служить основой для оценки тех положений, которые были описаны в предыдущих главах. Как доказательство работоспособности предложенных алгоритмов, были рассмотрены следующие примеры приложений: самообновляющиеся вебстраницы, торговля акциями и виртуальная медицинская организация. Эти примеры показывают, что основные функциональные возможности разработанного прототипа являются работоспособными.

В пятой главе дана детализированная оценка разработанных алгоритмов маршрутизации на основе содержимого. Особое внимание обращено на специфические характеристики этих алгоритмов: размер таблиц маршрутизации и сложность фильтров, продвигающих уведомления. Выполненные эксперименты основаны на рабочем прототипе (службе Rebeca), позволившем осуществить корректное сравнение рассмотренных алгоритмов маршрутизации. Помимо размеров таблиц маршрутизации и сложности фильтров был исследован эффект местоположения потребителей, выполнена оценка "несовершенного" слияния фильтров.

В заключении приведены основные полученные теоретические и практические результаты, выводы и направления будущих исследований.

В приложении 1 приведен анализ существующих моделей распределенных систем, послуживший основой выбора предлагаемого интеграционного решения.

В приложениях 2 и 3 приведены обзор и анализ существующих сервисов уведомлений, послужившие основой выбора для проведения представленных исследований службы уведомлений архитектуры Rebeca.

В приложениях 4 и 5 для виртуальной медицинской организации, представленной в качестве реализованного приложения, приведены более подробные описания процессов выполнения фазы Формирование и фазы Деятельности.

В приложении 6 представлено полученное свидетельство о государственной регистрации программы для ЭВМ.

В приложении 7 представлены акты внедрения диссертационной работы, подтверждающие её практическую значимость.

ГЛАВА 1. АНАЛИЗ И ОБОСНОВАНИЕ ИНТЕГРАЦИОННЫХ РЕШЕНИЙ ДЛЯ РАСПРЕДЕЛЁННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ ОБМЕНА СООБЩЕНИЯМИ

1.1 Задачи интеграции

1.1.1 Необходимость интеграции

Типичная информационная система предприятия насчитывает сотни, если не тысячи, приложений (коммерческих, собственной разработки, унаследованных и т. д.), выполняющихся под управлением различных операционных систем. Это обусловлено рядом причин.

Во-первых, разработка бизнес-приложений — сложная задача. Создание единственного приложения, охватывающего все бизнес-функции предприятия, практически невозможно. Наибольшего успеха в создании тяжеловесных бизнес-приложений достигли разработчики ERP-систем. Однако даже такие гиганты индустрии как R/3 SAP AC, Baan, Oracle, Peoplesoft и др., вынуждены сконцентрировать свои усилия лишь на части бизнес-задач типичной компании.

Во-вторых, распределение бизнес-функций между несколькими приложениями предоставляет компаниям возможность выбора "лучшего" пакета программ для бухгалтерского учета, "лучшего" приложения для управления взаимоотношениями с клиентами, "лучшей" системы обработки заказов и др. Учитывая многообразие индивидуальных бизнес-требований предприятий, создание универсального бизнес-приложения не входит в интересы разработчиков программного обеспечения (ПО).

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

Для поддержания общих бизнес-процессов, а также совместного использования данных несколькими приложениями последние необходимо интегрировать [1 - 3]. Основной целью интеграции является обеспечение эффективного, надежного и безопасного обмена данными между интегрируемыми приложениями.

1.1.2 Типы интеграционных задач

Под интеграцией будем понимать объединение компьютерных систем, компаний или людей. Несмотря на то, что термину интеграция дано очень широкое определение, остановимся на шести наиболее распространенных типах интеграции [2, 4, 5]:

• информационные порталы;

• репликация данных;

• бизнес-функции совместного использования;

• архитектуры, ориентированные на службы;

• распределенные бизнес-процессы;

• В2В-интеграция.

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

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

Самые сложные информационные порталы за счет высокого уровня функциональности практически стирают грань между порталом и интегрированным приложением.

———^ □ —I

□И

Рисунок 1.1- Информационный портал

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

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Список литературы диссертационного исследования кандидат наук Антипов, Олег Владимирович, 2015 год

СПИСОК ЛИТЕРАТУРЫ

1. Цимбал, A.A. Технологии создания распределенных систем. Для профессионалов / A.A. Цимбал, M.JI. Аншина. - СПб.: Питер, 2003. — 576 с.

2. Хоп, Г. Шаблоны интеграции корпоративных приложений. Проектирование, создание и развертывание решений, основанных на обмене сообщениями / Грегор Хоп, Бобби Вульф. - СПб.: Издательский дом Вильяме, 2006. - 672 е.: ил.

3. Карпов, JI.E. Архитектура распределенных систем программного обеспечения / Л.Е. Карпов. - М.: МАКС Пресс, 2007. - 132 с.

4. Таненбаум, Э. Распределенные системы. Принципы и парадигмы / Э. Таненбаум, М. ван Стеен. - СПб.: Питер, 2003. - 877 с.

5. Востокин, C.B. Метод описания пространственно-распределенных параллельных процессов / C.B. Востокин. - Самара: СНЦ РАН, 2003. - 84 с.

6. Sholler, D. Making SOA real / Daniel Sholler. - META Group, June, 2004. - URL: http://www.furl.net/members/dsholler/

7. Востокин, C.B. Технология моделирования распределенных систем, основанная на визуальном языке, и ее приложения / C.B. Востокин // Известия СНЦ РАН.-2004.-Т. 6. -№1 (10).-С. 185- 193.

8. Нестеренко, Б.Б. Асинхронных методы параллельных вычислений / Б.Б. Нестеренко, В.А. Марчук // Труды института математики HAH Украины. — Т. 22. - Киев: Института математики HAH Украины, 1998. - 308 с.

9. Степанова, М.М. Учебный центр грид-технологий на физическом факультете Санкт-Петербургского государственного университета / М.М. Степанова, И.М. Григорьев, С.А. Немнюгин // Распределённые вычисления и грид-технологии в науке и образовании: Тезисы докладов 2-й международной конференции. - Дубна: ОИЯИ, 2006. - С. 134 - 135.

10. IBM, BEA Systems, Microsoft, SAP AG, Siebel Systems. Business Process Execution Language for Web Services, Version 1.1. - July 30, 2002. — URL: http://www-128.ibm.com/developerworks/library/specification/ws-bpel/

11. Graham, S. Building Web Services with Java: Making Sense of XML, SOAP and UDDI / Steve Graham, Simon Simeonov, Toufic Boubez, Glen Daniels, Doug Davis, Yuichi Nakamura, Ryo Nyeama. - SAMS Publishing, 2002. - 481 p.

12. World Wide Web Consortium. Extensible Markup Language (XML) 1.0 (second edition). - W3C Recommendation, October 6, 2000. -URL: http://www.w3.org/TR/REC-xml.

13. World Wide Web Consortium. XSL Transformations (XSLT) Version 1.0. -W3C Recommendation, November 16, 1999. - URL: http://www.w3.org/TR/xslt.

14. Kaye, D. Loosely Coupled: The Missing Pieces of Web Services / Doug Kaye. - RDS Press, 2003. - 352 p.

15. Group, Т.О. DCE 1.1: Remote Procedure Call / Т.О. Group // Technical Standard C706. - The Open Group, Cambridge, MA, USA, 1997. - 748 p. - URL: http://pubs.opengroup.org/onlinepubs/

16. Sun Microsystems. Inc. Network Programming. - Sun Microsystems, Mountain View, CA, Mar. 2005. - URL: http://www.sun.com/

17. Sun Microsystems. Inc. Java RMI. - URL: http://java.sun.com// products/j avarmi/

18. Zahavi, R. Enterprise Application Integration with CORBA / Ron Zahavi. -Wiley, 2000.-496 p.

19. Piatt, D. The COM+ Event Service Eases the Pain of Publishing and Subscribing to Data / D. Piatt. - Microsofts Systems Journal, September 1999. - URL: http://msdn.microsoft.com/

20. Piatt, D. Understanding COM+ / D. Piatt. - Microsoft Press, 1999. - 300 p.

21. Бокс, Д. Основы платформы .NET. Том 1. Общеязыковая исполняющая среда / Дон Бокс, Крис Селлз. - М.: Издательский дом "Вильяме", 2003. - 288 с.

22. Фаулер, М. Архитектура корпоративных программных приложений / Мартин Фаулер. - М.: Издательский дом "Вильяме", 2004. - 544 с.

23. Russell, J. Data analysis/Jesse Russell, Ronald Cohn.-IstBooks,2013.-140p.

24. Waldo, J. A Note on Distributed Computing / J. Waldo, G. Wyant, A. Wollrath, S. Kendall // Technical Report SMLITR-94-29. - Sun Microsystems Laboratories, November 1994. - URL: http://research.sun.com/techrep/1994/smli_tr-94-29.pdf.

25. Shaw, M. Software Architecture: Perspectives on an Emerging Discipline / Mary Shaw, David Garlan. - Prentice Hall, 1996. - 242 p.

26. Monroe, Robert T. Stylized Architecture, Design Patterns, and Objects / Robert T. Monroe, Drew Kompanek, Ralph Melton, David Garlan. - 1996. - URL: http://www-2.cs.cmu.edu/afs/cs/project/compose/ftp/pdi70bjPatternsArch-ieee97.pdf.

27. Buschmann, F. Pattern-Oriented Software Architecture / Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal. - Wiley, 2001.-476 p.

28. Гамма, Э. Приемы объектно-ориентированного программирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес. -СПб.: Питер, 2003. - 368 с.

29. Бернштейн, Ф. Middleware: модель сервисов распределенной системы [Электронный ресурс] / Ф. Бернштейн // Открытые системы. Системы управления базами данных. - 1997. - №2. - Режим доступа: http :/www/osp.ru/dbms/l 997/02/41 /btm.

30. Антипов, O.B. Глава 3. Интеграция распределенных программных приложений на основе коммуникационной парадигмы Публикация/Подписка / В.А. Антипов, О.В. Антипов, А.Н. Пылькин // Математические и компьютерные методы в технических, гуманитарных и общественных науках: коллективная монография. - Вып. 3 - Пенза; Москва: Приволжский Дом знаний; Московский университет им. С.Ю. Витте, 2013. - С. 36 - 67.

31. Антипов, О.В. Асинхронная платформа распределенных информационно-управляемых приложений на основе коммуникационной парадигмы Публикация/Подписка / О.В. Антипов // Новые информационные технологии в научных исследованиях: Материалы XVI Всероссийской научно-технической конференции студентов, молодых ученых и специалистов, посвященная празднованию юбилея РГРТУ. - Рязань: РГРТУ, 2011. - С. 128 - 130.

32. Антипов, О.В. Анализ и выбор метода маршрутизации сообщений в MOM / О.В. Антипов // Проблемы передачи и обработки информации в сетях и системах телекоммуникаций: Материалы 17-й Международной научно-технической конференции. - Ч. 1. - Рязань: РГРТУ, 2012. - С. 25 - 27.

33. Bates, J. Using events for the scalable federation of heterogeneous components / J. Bates, J. Bacon, K. Moody, M. Spiteri // P. Guedes and J. Bacon, editors, Proceedings of the 8th ACM SIGOPS European Workshop: Support for Composing Distributed Applications. - Sintra, Portugal, Sept. 1998. - P. 58 - 65.

34. Liebig, C. A notification service for next-generation it systems in air trafic control / C. Liebig, B. Boesling, A. Buchmann // Gl-Workshop: Multicast-Protokolle und Anwendungen. - Braunschweig, Germany, May 1999. - URL: http://www.dvsl.informatik.tu-darmstadt.de/research/daos/publications.html.

35. Bornhövd, C. An infrastructure for meta-auctions / C. Bornhövd, M. Cilia, C. Liebig, A. Buchmann // Second International Workshop on Advance Issues of E-Commerce and Web-based Information Systems (WECWIS'OO) - San Jose, California, June 2000. - URL: http://www.dvs.tu-darmstadt.de/publications/pdf/wecwis2000.pdf.

36. Heimbigner, D. Adapting publish/subscribe middleware to achieve gnutellalike functionality / D. Heimbigner // Coordination Models, Languages and Applications, Special Track at 2001 ACM Symposium on Applied Computing (SAC 2001). - ACM Press, 2001.-P. 176-181.

37. Skarmeas, N. Content-based routing as the basis for intra-agent communication / N. Skarmeas, K. Clark // J. Müller, M.P. Singh, A.S. Rao, editors, Proceedings of the 5th International Workshop on Intelligent Agents V: Agent Theories, Architectures, and Languages (ATAL-98), volume 1555 of LNAI. - Berlin, July 1999. - P. 345 - 362.

38. Cugola, G. The JEDI event-based infrastructure and its application to the development of the OPSS WFMS / G. Cugola, E. Di Nitto, A. Fuggetta // IEEE Transactions on Software Engineering. - № 27(9) - 2001. - P. 827 - 850.

39. Langheinrich, M. First steps towards an event-based infrastructure for smart things / M. Langheinrich, F. Mattern, K. Römer, H. Vogt // Ubiquitous Computing Workshop (PACT 2000). - Philadelphia, PA, USA, Oct. 2000. - URL: http://www.inf.ethz.ch/vs/publ/papers/firststeps.pdf.

40. Kaiser, J. Implementing the real-time publisher/subscriber model on the controller area network (can) / J. Kaiser, M. Mock // Second Int'l Symposium on Object-Oriented Distributed Real-Time Computing Systems. - 1999. - URL: http://citescer.nj.nec.com/kaiser99implementing.html.

41. Антипов, О.В. Выбор механизма уведомления в распределенных системах публикации/подписки / О.В. Антипов, А.Н. Пылькин // Математическое и программное обеспечение вычислительных систем: Межвузовский сборник научных трудов. - Рязань: РГРТУ, 2011. - С. 187 - 198.

42. Carzaniga, A. Challenges for distributed event services: Scalability vs. expressiveness / A. Carzaniga, D.R. Rosenblum, A.L. Wolf// Engineering Distributed Objects '99. - May 1999. - URL: http://www.inf.unisi.ch/faculty/carzaniga/

43. Антипов, О.В, Интеграция распределённых программных приложений на основе маршрутизации по содержимому сообщений / В.А. Антипов, О.В. Антипов, А.Н. Пылькин // Вестник РГРТУ. - 2014. - № 1 (47). - С. 75 - 83.

44. Harrison, Т.Н. The design and performance of a real-time CORBA event service / Т.Н. Harrison, D.L. Levine, D.C. Schmidt // Proceedings of the ACM SIG-PLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA-97). - ACM Press, 1997. - P. 184 - 200.

45. Oki, B. The information bus - an architecture for extensible distributed systems / B. Oki, M. Puegl, A. Siegel, D. Skeen // B. Liskov, editor, Proceedings of the 14th Symposium on Operating Systems Principles. -Asheville, NC, United States: ACM Press, Dec. 1993. - P. 58 - 68.

46. Carriero, N. Linda in context / N. Carriero, D. Gelernter // Communication of the ACM. - Apr. 1989. - № 32(4). - P. 444 - 458.

47. Fitzpatrick, G. Augmenting the workaday world with elvin / G. Fitzpatrick, T. Mansfeld, S. Kaplan, D. Arnold, T. Phelps, B. Segall // S. Budker, M. Kyng and K. Schmidt, editors, Proceedings of the Sixth European Conference on Computer Support Cooperative Work (ECSCW-99). - Dordrecht, NL: Kluwer Academic Publishers, Sept. 12-16 1999. - P. 431 - 450.

48. Aguilera, M. Matching events in a content-based subscription system / M. Aguilera, R. Strom, D. Sturman, M. Astley, T. Chandra // Proceedings of the 18th ACM Symposium on Principles of Distributed Computing (PODC 1999). - Atlanta, Georgia, USA, 1999.-P. 53-61.

49. Carzaniga, A. Architectures for an Event Notication Service Scalable to Wide-area Networks / A. Carzaniga. - PhD thesis, Politécnico di Milano, Milano, Italy, Dec. 1998. - URL: http://www.inf.unisi.ch/faculty/carzaniga/

50. Carzaniga, A. Design and evaluation of a wide-area event notification service / A. Carzaniga, D.S. Rosenblum, A.L. Wolf // ACM Transactions on Computer Systems. - 2001. - № 19(3). - P. 332 - 383.

51. Fabret, F. Efficient matching for content-based publish/subscribe systems /

F. Fabret, F. Llirbat, J. Pereira, D. Shasha. - Technical report, INRIA, 2000. - URL: http://citeseer.nj.nec.com/fabretOOefficient.html.

52. Bricconi, G. Analyzing the behavior of event dispatching systems through simulation / G. Bricconi, E.D. Nitto, A. Fuggetta, E. Tracanella // In the Proceedings of the 7th International Conference on High Performance Computing IEEE. - 2000. -URL: http://www.elet.polimi.it/upload/dinitto/papers/175HiPC%20Bricconi.pdf.

53. Bacon, J. Using events to build distributed applications / J. Bacon, J. Bates, R. Hayton, K. Moody // IEEE SDNE Services in Distributed and Networked Environments. - Whistler, British Columbia, June 1995. - P. 148 - 155.

54. Pietzuch, P. Hermes: A distributed event-based middleware architecture / P. Pietzuch, J. Bacon // ICDCSW '02: Proceedings of the 22nd International Conference on Distributed Computing Systems. - Washington, DC, USA: IEEE Computer Society, 2002.-P. 611-618.

55. Fiege, L. Engineering event-based systems with scopes / L. Fiege, M. Mezini, G. Müuhl, A.P. Buchmann // B. Magnusson, editor, Proceedings of the European Conference on Object-Oriented Programming (ECOOP), volume 2374 of LNCS. -Malagüa, Spain: Springer-Verlag, June 2002. - P. 309 - 333.

56. Mühl, G. Evaluation of cooperation models for electronic business /

G. Mühl, L. Fiege, A.P. Buchmann // Information Systems for E-Commerce: Conference of German Society for Computer Science / EMISA. - Nov. 2000. - P. 81 - 94.

57. Siegel, J. CORBA: Fundamentals and Programming // Object Management Group. -2000. - URL: http://www.dstc.edu.au/Products/CORBA/Notification_Service/

58. Sun Microsystems. Inc. Java Message Service Specification 1.1. - 2002. -URL: http://java.sun.com/products/jms/

59. IBM. Gryphon: Publish/Subscribe over Public Networks. - Technical report, IBM TJ Watson Research Center, 2013. - URL: http://researchweb.watson.ibm.com/ gryphon/gryphon, html.

60. Востокин, С.В. Графическая объектная модель параллельных процессов и её применение в задачах численного моделирования / С.В. Востокин. -Самара: СНЦ РАН, 2007. - 286 с.

61. Карпов, Ю.Г. Model Checking. Верификация параллельных и распределенных программных систем / Ю.Г. Карпов. - СПб.: БХВ-Петербург, 2009. - 551 с.

62. Смирнов, В.А. Теория логического вывода / В.А. Смирнов. - М.: Российская политическая энциклопедия, 1999. - 320 с.

63. Pnueli, A. The temporal logic of programs / A. Pnueli // Proc. of the 8th IEEE Symposium on Foundation of Computer Science. - 1977. - P.46 - 57.

64. Manna, Z. The Calculus of Computation: Decision Procedures with Applications to Verification/ A.R. Bradley, Z. Manna. - Springer-Verlag, 2007. - 366 p.

65. Pnueli, A. The temporal semantics of concurrent programs / A. Pnueli // Theoretical Computer Science. - 1981. - № 13. - P. 45 - 60.

66. Lamport, L. The temporal logic of actions / L. Lamport // ACM Transactions on Programming Languages and Systems. - May 1994. - № 16(3). - P. 872 - 923.

67. Lamport, L. Specifying Systems / L. Lamport // The TLA+ Language and Tools for Hardware and Software Engineers. - Addison-Wesley, 2002. - 364 p.

68. Carzaniga, A. Siena: A Wide-Area Event Notification Service // University of Colorado Software Engineering Research Laboratory (SERL). - 2006. - URL: http://www.cs.colorado.edu/serl/dot/siena.html.

69. Fiege, L. Rebeca Event-Based Electronic Commerce Architecture / L. Fiege, G. Mtihl. — 2010. - URL: http://www.gkec.infomatik.tu-darmstadt.de/rebeca/ demo.html.

70. Антипов, O.B. Формальная спецификация систем Публикация/Подписка / В.А. Антипов, О.В. Антипов, А.Н. Пылькин // Программные ин-

формационные системы: Межвузовский сборник научных трудов. -Рязань: РГРТУ, 2011. - С. 89 - 95.

71. Lamport, L. Proving the correctness of multiprocess programs / L. Lamport // IEEE Transactions on Software Engineering. - Mar. 1977. - № 3(2). - P. 125 - 143.

72. Alpern, B. Defining liveness / B. Alpern, F.B. Schneider // Information Processing Letters.- 1985.-№21.-P. 181 - 185.

73. Gärtner, F.С. Fundamentals of fault-tolerant distributed computing in asynchronous environments / F.C. Gärtner // ACM Computing Surveys. - Mar. 1999 -№31(1).-P. 1-26.

74. Gärtner, F.C. Formale Grundlagen der Fehlertoleranz in verteilten Systemen / F.C. Gärtner. - PhD thesis, TU Darmstadt, 2001. - P. 39 - 49.

75. .Антипов, O.B. Модель взаимодействия / B.A. Антипов, O.B. Антипов, А.П. Чехов // Математическое и программное обеспечение вычислительных систем: Межвузовский сборник научных трудов. - Рязань: РГРТУ, 2012. - С. 14-19.

76. Lamport, L. How to write a proof / L. Lamport // American Mathematical Monthly. - 1995. - № 102(7). - P. 600 - 608.

77. Antipov, O.V. Dynamic Publish/Subscribe Systems / V.A. Antipov, O.V. Antipov, A.N. Pilkin // 2014 international conference on computer technologies in physical and engineering applications. - SPb., 2014. - P. 11-11.

78. Антипов, O.B. Самостабилизирующаяся система публикации/подписки / O.B. Антипов // Математическое и программное обеспечение вычислительных систем: Межвузовский сборник научных трудов. - Рязань: РГРТУ, 2013. -С. 135- 140.

79. Schneider, М. Self-stabilization / М. Schneider // ACM Computing Surveys (CSUR). - 1993. - № 25(1). - P. 45 - 67.

80. Dijkstra, E.W. Self stabilizing systems in spite of distributed control / E.W. Dijkstra // Communications of the ACM. - 1974. - № 17(11). - P. 643 - 644.

81. Dolev, S. Self-Stabilization / S. Dolev. - MIT Press, 2000. - 197 p.

82. Tel, G. Introduction to Distributed Algorithms / G. Tel. - Cambridge University Press, 1994. - 612 p.

83. Антипов, O.B. Обобщенная структура алгоритмов маршрутизации на основе содержимого сообщений / В.А. Антипов, О.В. Антипов, А.Н. Пылькин // Вестник РГРТУ. - 2014. - № 2 (48). - С. 76 - 82.

84. Fiege, L. A modular approach to build structured event-based systems / L. Fiege, G. Mühl, F.C. Gärtner // Proceedings of the 2002 ACM Symposium on Applied Computing (SAC'02). - Madrid, Spain: ACM Press, 2002. - P. 385 - 392.

85. Антипов, O.B. Алгоритмы маршрутизации на основе содержимого сообщения / О.В. Антипов // Математическое и программное обеспечение вычислительных систем: Межвузовский сборник научных трудов. - Рязань: РГРТУ, 2014. -С. 14-25.

86. Mühl, G. Generic constraints for content-based publish/subscribe systems / G. Mühl // С. Batini, F. Giunchiglia, P. Giorgini, and M. Mecella, editors, Proceedings of the 6th International Conference on Cooperative Information Systems (CoopIS '01), volume 2172 of LNCS. -Trento, Italy: Springer-Verlag, 2001. - P. 211-225.

87. Хорстманн, К. Java. Библиотека профессионала [Электронный ресурс] / К. Хорстманн, Г. Корнелл. СПб.: Издательский дом Вильяме, 2013. - 864 с. + 1008 с. - Режим доступа: http://forcoder.ru/java/

88. Шилдт, Г. Java. Полное руководство / Г. Шилдт // Перевод с англ. В. Коваленко. — СПб.: Издательский дом Вильяме, 2011. - 1104 е.: ил.

89. Wang, С. Security issues and requirements for Internet-scale publish-subscribe systems / C. Wang, A. Carzaniga, D. Evans, A.L. Wolf // Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS'02). -Big Island, Hawaii, 2002. - 303 p.

90. Gryphon Web Site. - URL: http://www.research.ibm.com/gryphon/

91. Fitzpatrick, G. Augmenting the workaday world with elvin / G. Fitzpatrick, T. Mansfeld, S. Kaplan, D. Arnold, T. Phelps, B. Segall // S. Büdker, M. Kyng and K. Schmidt, editors, Proceedings of the Sixth European Conference on Computer Support Cooperative Work (ECSCW-99). - Dordrecht, NL: Kluwer Academic Publishers, Sept. 12-16 1999.-P. 431 -450.

92. Fitzpatrick, G. Supporting Public Availability and Accessibility with Elvin: Experiences and Reections / G. Fitzpatrick, S. Kaplan, T. Manseld, A. David, B. Segall // Computer Supported Cooperative Work. - 2002. - 11(3). - P. 447 - 474.

93. Буч, Г. UML. Классика CS / Г. Буч, А. Якобсон, Дж. Рамбо // Пер. с англ.; под общ. ред. проф. С. Орлова. - 2-е изд. - СПб.: Питер, 2006. - 736 с.

94. Рамбо, Дж. UML 2.0. Объектно-ориентированное моделирование и разработка / Дж. Рамбо, М. Блаха. - 2-е изд. - СПб.: Питер, 2007. - 544 с.

95. Ларман, К. Применение UML 2.0 и шаблонное проектирование. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку / К. Ларман // Пер. с англ. А Шелест. - СПб.: Издательский дом Вильяме, 2013.-736 е.: ил.

96. Антипов, О.В. Разработка архитектуры мультимедийной библиотеки / О.В. Антипов // Математическое и программное обеспечение вычислительных систем: Межвузовский сборник научных трудов. - М.: Горячая линия - Телеком, 2009.-С. 104-110.

97. Анищенко, B.C. Концептуальная модель виртуального центра здоровья населения / B.C. Анищенко, Т.И. Булдакова, П.Я. Довгалевский, В.Б. Лифшиц, В.И. Гриднев, С.И. Суятинов // Электронный научно-технический журнал. -М.: МГТУ им. Н.Э. Баумана, 2012. - №8. - С. 16 - 24.

98. Рынок платных медицинских услуг в России: текущее состояние и перспективы развития [Электронный ресурс] - Режим доступа: http:// marketing.rbc.ru/ research/ 562949953515588.shtm.

99. Антипов, О.В. Построение телемедицинской системы на основе коммуникационной парадигмы Публикация/Подписка / В.А. Антипов, О.В. Антипов, А.П. Чехов // Биомедицинская радиоэлектроника. - 2012. - № 7. - С. 64 - 69.

100. Prado, M. Virtual Center for Renal Support: Technological Approach to Patient Physiological Image / M. Prado, L. Roa, J. Reina-Tosina // IEEE Transaction on biomedical engineering. - 2002. - Vol. 49 - №12. - P. 1420 - 1430.

101. Антипов, О.В. Сетевая инфраструктура единого информационного пространства виртуальных медицинских организаций / В.А. Антипов, О.В. Антипов, А.П. Чехов // Биомедицинская радиоэлектроника. — 2014. - №7. - С. 73 - 81.

102. Антипов, О.В. Асинхронная программная платформа для распределенной телемедицинской системы / О.В. Антипов // Биотехнические, медицинские и экологические системы и комплексы. Биомедсистемы - 2012: Материалы XXV Всероссийской научно-технической конференции студентов, молодых ученых и специалистов. - Рязань: РГРТУ, 2012. - С. 202 - 204.

103. Антипов, О.В. Программа взаимодействия компонентов виртуальной организации на основе парадигмы Публикация/Подписка / О.В. Антипов,

A.Н. Пылькин // Программа для ЭВМ № 2014661095. - 2014.

104. Антипов, О.В. Мультиагентные системы / О.В. Антипов, О.М. Богомолов // Программное обеспечение вычислительных и информационных систем: Тезисы докладов 55-й СНТК РГРТУ. - Рязань: РГРТУ, 2008. - С. 32 - 33.

105. Антипов, В.А. Применение мультиагентного подхода в процессе создания виртуальной организации / В.А. Антипов, О.М. Богомолов // Математическое и программное обеспечение вычислительных систем: Межвузовский сборник научных трудов. - Рязань: РГРТУ, 2011.-С.110-115.

106. Антипов, О.В. Формирование медицинской виртуальной организации /

B.А. Антипов, О.В. Антипов, О.М. Богомолов, Д.А. Кутаков // Биомедицинская радиоэлектроника. - 2013. - №7. - С. 70 - 77.

107. Bricconi, G. Issues in analyzing the behavior of enent dispatching systems / G. Bricconi, E.D. Nitto, E. Tracanella // In the Proceedings of the 10th International Workshop on Software Specification and Desing (IWSSD-10). - 2000. - P. 95 - 103.

108. Banavar, G. An efficient multicast protocol for content-based publish-subscribe systems / G. Banavar, T. Chandra, B. Mukherjee, J. Nagarajarao, R.E. Strom, D.C. Sturman // Proceedings of the 19th IEEE International Conference on Distributed Computing Systems. - 1999. - P. 262-272.

109. Opyrchal, L. Exploiting IP multicast in content-based publish-subscribe systems / L. Opyrchal, M. Astley, J. Auerbach, G. Banavar, R. Strom, D. Sturman // J. Sventek and G. Coulson, editors, Middleware 2000, volume 1795 of LNCS. -Springer-Verlag, 2000. - P. 185 - 207.

ПРИЛОЖЕНИЕ 1. КЛАССИФИКАЦИЯ МОДЕЛЕЙ РАСПРЕДЕЛЕННЫХ СИСТЕМ

Основными моделями распределенных систем являются модели процессов [1]. В таких моделях вычислительная активность представляется как параллельное во времени исполнение последовательных процессов. Другие модели, например сети Петри, обычно не изучаются как распределенные [2], хотя они могут использоваться для моделирования пространственно распределенных систем [3].

Наиболее перспективными моделями распределенных процессов являются модели обмена сообщениями [4]. Процесс посылает сообщение, добавляя его в очередь сообщений, а другой процесс получает сообщение, извлекая его из очереди. Модели могут различаться такими деталями, как длина очереди сообщений, длительность задержки между помещением и извлечением сообщения.

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

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

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

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

онным графом, узлы которого - процессы, а наличие дуги, называемой линком, обозначает возможность непосредственного обмена сообщениями между связанными процессами. Большинство моделей использует неориентированный граф. Однако могут рассматриваться ориентированные модели, в которых процесс /' может посылать сообщение в у, но не наоборот.

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

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

Другие модели вводят понятие времени. В них считается известной верхняя граница времени передачи сообщений и время отклика процесса (все временные условия рассматриваются в отсутствии отказов). Простейшая форма этого допущения заключается в том, что сообщение, сгенерированное в ответ на событие в произвольное время I, приходит в точку назначения во время г + 8, где 8 — известная константа. Для того чтобы использовать это предположение, процессы должны уметь измерять время. Простейший измеритель — это таймер, который измеряет промежутки времени. При этом мгновенные значения таймеров в разных процессах независимы друг от друга. Таймеры используются для обнаружения отказов. Отказ произошел, если ответ на сообщение не получен в течение 2 8 секунд с момента отправки этого сообщения.

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

каждый момент времени часы любых двух процессов отличаются, по крайней мере, на Б, где Е — некоторая известная константа. Синхронизированные часы используются для уменьшения числа пересылаемых сообщений. Например, если допустить, что процесс послал сообщение в известное время то принимающий процесс знает, что если сообщение не пришло ко времени t + 5 + 6 по часам этого процесса, то произошел отказ. Здесь 8 обозначает время передачи, а 8 - разницу показаний часов. Следовательно, отказ можно проверять, посылая единственное сообщение, в то время как запрос-ответ с использованием таймера требует двух сообщений. Если известны ограничения на скорость хода таймеров двух различных процессов и ограничения на время посылки и обработки сообщений, существуют алгоритмы построения синхронных часов из таймеров.

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

Виды отказов. В моделях обмена сообщениями рассматриваются отказы процессов и коммуникационные отказы. Обычно допускается, что коммуникационные отказы заключаются в потере сообщений. Модели, в которых может происходить доставка некорректных сообщений, изучаются редко, потому что на практике использование избыточной информации (контрольных сумм) позволяет обнаруживать и удалять искаженные сообщения. Модели могут допускать ошибки, разрушающие отдельные сообщения или отказы линков. Отказ линка может вызвать потерю всех сообщений, проходящих по линку, а в моделях с часами или таймерами поврежденный линк может доставлять сообщения слишком поздно. Так как алгоритмы, которые используют таймеры или часы обычно удаляют запоздавшие сообщения, нет необходимости различать запаздывание и потерю сообщений. Особые случаи отказов линков заключаются в возможности разрыва сети,

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

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

Выделяется специальный подкласс моделей, где работающие процессы знают, когда другие процессы остановились [1, 5].

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

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

Алгоритмы, выдерживающие византийские отказы, более требовательны к ресурсам, чем те, которые выдерживают менее серьезные ошибки. Менее ресурсоемкие алгоритмы строятся путем усиления модели византийских отказов введением цифровых подписей, реализуемых посредством избыточного кодирования [6].

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

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

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

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

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

могут выполнять операции чтения и записи. Изначально к разделяемым переменным разрешался доступ только операциям вычисления выражения и присваивания. Более поздние вариации включали рассмотрение синхронизирующих примитивов, таких как семафоры и мониторы, управляющие доступом к разделяемым переменным [7, 8]. Модели с глобальными разделяемыми переменными являются естественным представлением мультипроцессорной обработки на одном компьютере с одним или несколькими процессорами, присоединенными к центральной разделяемой памяти.

Наиболее естественный и эффективный способ реализации глобальных разделяемых переменных посредством обмена сообщениями заключается в помещении каждой разделяемой переменной в выделенный процесс. Этот процесс получает локальный доступ к переменной, а другому процессу требуется послать два сообщения для чтения или записи этой переменной. Чтение требует запроса и ответа, в котором передается значение переменной. Запись требует посылки нового значения и получения подтверждения, что операция завершилась.

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

СПИСОК ЛИТЕРАТУРЫ

1. Востокин, С. В. Графическая объектная модель параллельных процессов и её применение в задачах численного моделирования / C.B. Востокин. -Самара: СНЦ РАН, 2007. - 286 с.

2. Thiagarajan, P.S. Some aspects of net theory / P.S. Thiagarajan // The analysis of Concurrent Systems: Ed. by Denvir B.T., Harwood W.T., Jackson M.I., Wray M.J. - Berlin, Heidelberg, New York: Springer-Verlag, 1985. - P. 26 - 54.

3. Питерсон, Дж. Теория сетей Петри и моделирование систем / Дж. Пи-терсон // Пер. с англ. - М.: Мир, 1984. -264 с.

4. Lamport, L. Chapter on distributed computing / L. Lamport, N. Lynch // Technical Memo MIT/LCS/TM-384. - Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, MA, 02139, February 1989. - URL: http://research.microsoft.com/users/ lamport/pubs/

5. Schneider, F.B. Concepts for concurrent programming / F.B. Schneider, G.R. Andrews // Current Trends in Concurrency: Ed. by de Bakker J.W., de Roever W.P., Rozenberg G. - Berlin, Heidelberg, New York: Springer-Verlag, 1986. -P. 669-716.

6. Diffe, Wh. Privacy and authentication: an introduction to cryptography / Wh. Diffe, M.E. Hellman // Proceedings of the IEEE. - March 1979. - № 67(3). -P. 397-427.

7. Dijkstra, E.W. The structure of the multiprogramming system / E.W. Dijkstra // Communications of the ACM. - May 1968. - № 11(5). - P. 341 - 346.

8. Hoare, C.A.R. Monitors: An operating system structuring concept / C.A.R. Hoare // Communications of the ACM. - October 1974. - № 17(10). - P. 549 - 557.

ПРИЛОЖЕНИЕ 2. РЕАЛИЗАЦИИ СЕРВИСОВ УВЕДОМЛЕНИЙ

В этом разделе рассмотрены реализации сервисов уведомлений, связанные с инфраструктурой уведомлений Rebeca.

Siena

Siena [1-4] включает два прототипа. Один прототип, написанный на С++, реализует одноранговую версию, а второй, реализованный на Java, реализует иерархическую версию алгоритма маршрутизации на основе покрытия. В настоящее время использование объявлений не поддерживается. Кроме того, версия С++ больше не поддерживается, и она не совместима с версией Java. Это означает, что, в отличие от Rebeca, Siena в настоящее время не позволяет сравнивать различные алгоритмы маршрутизации. С другой стороны, Siena включает в себя механизм для эффективного определения последовательности событий, который в настоящее время отсутствует в Rebeca. Сейчас платформа Siena ограничивается парами "имя/значение", так как эта модель "данные/фильтры" жестко закодирована в базовых классах, например, классах уведомлений. Кроме того, Siena использует собственный ограниченный формат данных для сериализа-ции/десериализации. В отличие от Siena, инфраструктуру Rebeca можно использовать для экспериментов с различными моделями "данные/фильтры", механизмами сериализации/десериализации и алгоритмами маршрутизации. Прототипы Siena общедоступны, но в настоящее время нет реализованных примеров приложений.

JEDI

В текущей реализации JEDI [5 - 6] используется иерархическая версия маршрутизации на основе покрытия, описанная профессором А. Карцанига (A. Carzaniga) [1]. Другие алгоритмы маршрутизации не реализованы. Кроме того, избирательные возможности фильтров модели "данные/фильтры" довольно ограничены, так как уведомления и фильтры представляют собой упорядоченные наборы строк, а соответствие основано только на проверках равенст-

ва и префиксов. Дж. Кугола (G. Cugola), Э. Ди Нитто (Е. Di Nitto) и А. Фуджетта (A. Fuggetta) также описывают, как можно использовать JEDI для проектирования приложения OPSS (ORCHESTRA Process Support System; система обработки процессов ORCHESTRA), которое по существу представляет собой систему управления рабочими потоками WFMS (Work Flow Management System) [6].

Gryphon

Прототип Gryphon [7 - 8], разработанный в центре исследований IBM T. J. Watson Research Center, предоставляет реализацию Java Message Service (JMS) API. В Gryphon используется простая маршрутизация без объявлений. Ее алгоритм (на основе дерева параллельного поиска) имеет большую скорость, но он ограничен простыми проверками. Альтернативные алгоритмы маршрутизации не поддерживаются, примеров приложений нет. Кроме того, прототип не является общедоступным.

Elvin

Elvin представляет собой микропрограммное обеспечение систем публикации/подписки на основе контента, разработанное в центре Distributed Systems Technology Center (DSTC) [9 - 10]. В нем используется язык подписки, который поддерживает достаточно избирательную фильтрацию, но снижает оптимизацию маршрутизации. В Elvin используется федерация брокеров событий, но, к сожалению, алгоритмы маршрутизации не описываются. В elvin реализуется концепция под названием quenching (гашение), которая позволяет поставщикам обнаруживать отсутствие потребителей, подписанных на формируемые ими уведомления. В этом случае поставщики могут прекратить создание уведомлений. Такой подход схож с концепцией фабрик, предлагаемой инфраструктурой Rebeca. К сожалению, нет описания того, как в El vin реализуется эта концепция. Проект Elvin является достаточно продвинутым, с его использованием реализовано несколько примеров приложений. И прототип, и примеры приложений общедоступны.

Hermes

Дж. Бэйкон (J. Bacon) и П. Питцух (P. Pietzuch) представили сервис уведомлений Hermes [11], реализующий доставку уведомлений на основе контента поверх одноранговой сети. В прототипе используются средства для типов событий и поддерживаются объявления. Hermes реализуется на языке Java, обмен между компонентами осуществляется путем передачи сообщений XML. Для определения форматов сообщений и типов событий используется схема XML, что позволяет создать многотиповую систему, включающую типы, определенные пользователем. Чтобы скрыть сложные сообщения XML от клиента используется сопоставление между схемой XML и Java.

СПИСОК ЛИТЕРАТУРЫ

1. Carzaniga, A. Architectures for an Event Notication Service Scalable to Wide-area Networks / A. Carzaniga. - PhD thesis, Politécnico di Milano, Milano, Italy, Dec. 1998. - URL: http://www.inf.unisi.ch/faculty/carzaniga/

2. Carzaniga, A. Challenges for distributed event services: Scalability vs. expressiveness / A. Carzaniga, D.R. Rosenblum, A.L. Wolf // Engineering Distributed Objects '99. - May 1999. - URL: http://www.inf.unisi.ch/faculty/carzaniga/

3. Carzaniga, A. Design and evaluation of a wide-area event notification service / A. Carzaniga, D.S. Rosenblum, A.L. Wolf // ACM Transactions on Computer Systems. -2001. -№ 19(3). - P. 332-383.

4. Wang, C. Security issues and requirements for Internet-scale publish-subscribe systems / C. Wang, A. Carzaniga, D. Evans, A.L. Wolf // Proceedings of the Thirtyfifth Hawaii International Conference on System Sciences (HICSS-35). - Big Island, Hawaii, Jan. 2002. - 303 p.

5. Bricconi, G. Analyzing the behavior of event dispatching systems through simulation / G. Bricconi, E.D. Nitto, A. Fuggetta, E. Tracanella // In the Proceedings of the 7th International Conference on High Performance Computing IEEE. - 2000. -URL: http://www.elet.polimi.it/upload/dinitto/papers/175HiPC%20Bricconi.pdf.

6. Cugola, G. The JEDI event-based infrastructure and its application to the development of the OPSS WFMS / G. Cugola, E. Di Nitto, A. Fuggetta // IEEE Transactions on Software Engineering. - № 27(9) - 2001. - P. 827 - 850.

7. Aguilera, M. Matching events in a content-based subscription system / M. Aguilera, R. Strom, D. Sturman, M. Astley, T. Chandra // Proceedings of the 18th ACM Symposium on Principles of Distributed Computing (PODC 1999). - Atlanta, Georgia, USA, 1999. - P. 53 - 61.

8. IBM. Gryphon: Publish/Subscribe over Public Networks. - Technical report, IBM TJ Watson Research Center, 2013. - URL: http://researchweb.watson.ibm.com/ gryphon/gryphon.html.

9. Fitzpatrick, G. Augmenting the workaday world with elvin / G. Fitzpatrick, T. Mansfeld, S. Kaplan, D. Arnold, T. Phelps, B. Segall // S. Budker, M. Kyng and K. Schmidt, editors, Proceedings of the Sixth European Conference on Computer Support Cooperative Work (ECSCW-99). - Dordrecht, NL: Kluwer Academic Publishers, Sept. 12-16 1999.-P. 431-450.

10. Fitzpatrick, G. Supporting Public Availability and Accessibility with Elvin: Experiences and Reections / G. Fitzpatrick, S. Kaplan, T. Manseld, A. David, B. Segall // Computer Supported Cooperative Work. - 2002. - 11(3). - P. 447 - 474.

11. Pietzuch, P. Hermes: A distributed event-based middleware architecture / P. Pietzuch, J. Bacon // J. Bacon, L. Fiege, R. Guerraoui, H.A. Jacobsen, G. Muuhl, editors, In Proceedings of the 1st International Workshop on Distributed Event-Based Systems (DEBS'02) - Vienna, Austria: IEEE Press, Published as part of the ICDCS '02 Workshop Proceedings, July 2002.- P. 611 - 618.

ПРИЛОЖЕНИЕ 3. АНАЛИЗ СЕРВИСОВ УВЕДОМЛЕНИЙ

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

Siena

Карцанига, Розенблюм и Вольф [1,2] представили результаты исследования характеристик системы на основе некоторой имитационной оболочки. В их работе исследовались два варианта маршрутизации на основе покрытия (версии отличающиеся от рассматриваемых). Моделируемые алгоритмы были включены в их прототип системы публикации/подписки под названием SIENA. Другие алгоритмы маршрутизации не рассматривались.

Исследовались суммарные издержки на службу уведомления, издержки по отдельным брокерам (их вариации), усредненные издержки на одну подписку (и наихудший случай), издержки на уведомление. К сожалению, интерпретация их результатов затруднена, поскольку настройки основных параметров, влияющих на результаты, не описаны (структура уведомлений, подписок и объявлений, отношение подписок/отмен и использование/неиспользование объявлений).

JEDI

В реализации JEDI используется иерархия брокеров событий в сочетании с иерархической версией маршрутизации на основе покрытия [3]. Алгоритм предполагает, что уведомление всегда передается корневому брокеру независимо от интересов потребителей. Предложна улучшенная версия, в которой иерархический алгоритм расширен при помощи использования объявлений, а также проведено моделирование для сравнения оригинала с улучшенной версией [3, 4]. Бриццони, Ди Нитто и Трацанелла [4] представили аналитическую модель, лежащую в основе их моделирования, позволяющую оценить усредненное число уведомлений, обрабатываемых брокером событий.

Gryphon

Результаты по характеристикам прототипа службы уведомления Gryphon представлены Банаваром в [5] и Опирчалом в [6]. Алгоритм маршрутизации, используемый в Gryphon, сходен с простой маршрутизацией без объявлений. Исследования сосредоточены на использовании группового и эффективного сопоставления событий с подписками [7]. Очевидно, что алгоритм сопоставления превосходит по характеристикам простой последовательный алгоритм, однако он зависим и поддерживает лишь несколько типов фильтров по атрибутам, что ограничивает его применимость. Более того, обновление структуры сопоставления данных при подписке и отмене подписки клиентов обходится недешево.

Нагрузка на отдельных брокеров исследовалась в первой из упомянутых выше статей [5]. Представленные результаты показывают, что лавинная маршрутизация перегружена при одной и то же скорости публикации независимо от процента совпадений или количества активных подписок. С другой стороны, маршрутизация на основе фильтров может работать при значительно более сложных сценариях, если подписки в значительной степени выборочны или локализованы, что может быть ожидаемо в крупномасштабных системах публикации/подписки.

В статье [6] исследована пропускная способность сети, сравнивается лавинная маршрутизация и четыре алгоритма маршрутизации с возможностью многоадресной рассылки с идеальной многоадресной рассылкой, где предполагается, что для каждого события существует идеальная группа многоадресной рассылки. Утверждается, что маршрутизация на основе фильтрации превосходит лавинную маршрутизацию в условиях сильной выборочности и сильной локальности подписок, что поддерживается результатами данной работы. Тем не менее, можно ожидать, что эти выводы все же слишком пессимистичны, поскольку представленный анализ зависит от простой маршрутизации, т. е. алгоритм маршрутизации не применяет покрытие и слияние фильтров. Авторы также предполагают, что брокеры событий не

размещены вблизи маршрутизаторов адресной рассылки и поэтому использование многоадресной рассылки может даже привести к ухудшению пропускной способности. Более того, они не исследовали возможности использования объявлений.

СПИСОК ЛИТЕРАТУРЫ

1. Carzaniga, A. Architectures for an Event Notication Service Scalable to Wide-area Networks / A. Carzaniga. - PhD thesis, Politécnico di Milano, Milano, Italy, Dec. 1998. - URL: http://www.inf.unisi.ch/faculty/carzaniga/

2. Carzaniga, A. Design and evaluation of a wide-area event notification service / A. Carzaniga, D.S. Rosenblum, A.L. Wolf // ACM Transactions on Computer Systems. - 2001. - № 19(3). - P. 332 - 383.

3. Bricconi, G. Analyzing the behavior of event dispatching systems through simulation / G. Bricconi, E.D. Nitto, A. Fuggetta, E. Tracanella // In the Proceedings of the 7th International Conference on High Performance Computing IEEE. - 2000. -URL: http://www.elet.polimi.it/upload/dinitto/papers/175HiPC%20Bricconi.pdf.

4. Bricconi, G. Issues in analyzing the behavior of enent dispatching systems / G. Bricconi, E.D. Nitto, E. Tracanella // In the Proceedings of the 10th International Workshop on Software Specification and Desing (IWSSD-10). - 2000. - P. 95 - 103.

5. Banavar, G. An efficient multicast protocol for content-based publish-subscribe systems / G. Banavar, T. Chandra, B. Mukherjee, J. Nagarajarao, R.E. Strom, D.C. Sturman // Proceedings of the 19th IEEE International Conference on Distributed Computing Systems. - 1999. - P. 262 - 272.

6. Opyrchal, L. Exploiting IP multicast in content-based publish-subscribe systems / L. Opyrchal, M. Astley, J. Auerbach, G. Banavar, R. Strom, D. Sturman // J. Sventek and G. Coulson, editors, Middleware 2000, volume 1795 of LNCS. -Springer-Verlag, 2000. - P. 185 - 207.

7. Aguilera, M. Matching events in a content-based subscription system / M. Aguilera, R. Strom, D. Sturman, M. Astley, T. Chandra // Proceedings of the 18th ACM Symposium on Principles of Distributed Computing (PODC 1999). - Atlanta, Georgia, USA, 1999. - P. 53-61.

ПРИЛОЖЕНИЕ 4. ПРОЦЕСС ВЫПОЛНЕНИЯ ФАЗЫ ФОРМИРОВАНИЕ ВИРТУАЛЬНОЙ МЕДИЦИНСКОЙ ОРГАНИЗАЦИИ

Протокол переговоров

Когда Агент-Инициатор планирует сделать первоначальные предложения Агентам-Исполнителям, он нуждается в подборе критериев для выбора наиболее благоприятной группы партнёров (каждый партнёр имеет набор свойств, таких как стоимость услуг, качество их выполнения, доступность и т. д.). Компетентность и качество предоставляемых услуг ВМО связана с возможностями каждого члена. Например, если агент может выполнить только п единиц работ, то максимально достижимый выход ВМО не может превышать п единиц. Таким образом, инициатор должен определить набор критериев оценки партнёров и проранжировать их значимость. С другой стороны, отдельные агенты сталкиваются с необходимостью принятия решения о том, вступать или не вступать в конкретную виртуальную организацию. Присоединение к виртуальной организации помимо финансовой стороны может быть выгодно для агента, например, в ситуации, когда ему в его текущей или дальнейшей деятельности могут быть полезны некие предоставляемые ВМО бизнес-процессы, методологии, технологии и инновационные знания, полученные в процессе совместной работы. В любом случае, он должен провести анализ затрат и прибыли, чтобы определить степень доверия по отношению к Агенту-Инициатору до присоединения к данной виртуальной организации. Поэтому необходим протокол переговоров, как для Агента-Инициатора, так и для отдельных Аге}1тов-Исполнителей, в поддержку принятия обоснованных ими решений на фазе Формирования.

В данной модели отправленные Агентом-Инициатором предполагаемым партнёрам предложения включают в себя следующую информацию: набор и типы медицинских задач, необходимых для ВМО; нагрузку для каждого типа подзадачи (частичного процесса); расчетную прибыль виртуальной организации. Заявки от потенциальных участников ВМО в свою очередь включают в себя

необходимую им информацию: тип работ, на которые способен агент, количество единиц работ, производимых агентом, процент прибыли (какую прибыль агент запросит от виртуальной организации). Предлагаемый протокол является вполне достаточным для отдельного агента при принятии им решения о вступлении в виртуальную организацию.

Процесс выбора партнера

Прежде чем сделать предложение партнёрам Агент-Инициатор должен разложить весь процесс обслуживания клиента на несколько частичных процессов (подпроцессов). Эти подпроцессы должны быть определены таким образом, чтобы каждый Агент-Исполнитель смог внести свой вклад в общий процесс в зависимости от своей специализации.

В рассматриваемом рынке платных медицинских услуг отдельные агенты дополняют друг друга при медицинском обслуживании клиентов, т. е. различные организации охватывают различные подпроцессы. Поиск заканчивается тогда, когда партнёры, входящие в ВМО, полностью смогут обеспечить выполнение всего процесса самостоятельно и не потребуется обращение к другим организациям, работающим на рынке платных медицинских услуг.

При этом цель процесса формирования является не просто отбор законченной группы членов виртуальной организации, но и формирование такой ВМО, которая будет приносить максимальную прибыль.

Существуют два различных подхода, с точки зрения максимизации прибыли, учитывающих множество подпроцессов и условную расчетную нагрузку Ь на всю работу. Инициатор может стремиться максимизировать прибыль всей виртуальной организации (при этом все работают на общую прибыль). Поскольку прибыль пропорциональна рабочей нагрузке, то максимальная нагрузка Ь при условной расчётной стоимости единицы нагрузки Я будет давать максимальную прибыль равную Р = ЯЬ. В этом случае инициатор предпочитает агентов с большими возможностями.

Однако Агент-Инициатор прежде всего заинтересован в максимизации своей личной прибыли (свойство корыстности). Прибыль инициатора зависит от

общей прибыли организации, и той её части, которая должна быть передана другим Агентам-Исполнителям. Предположим, что ставка прибыли каждого Агента-Исполнителя - Bt зависит от следующих параметров: типа выполняемой задачи Ты, максимальной нагрузки на отдельную выполняемую задачу Ьы (в рамках выполнения общей задачи), процента его прибыли Бы от общей суммы. Тогда прибыль Агента-Инициатора будет равна: Р = R- L'( 1 — sum (Бы) ), где L' -реальная общая нагрузка ( L' = min {Ьы) иЬ' <-L ).

В данной работе выбран второй подход, который основан на реализации рекурсивного алгоритма поиска по первому наилучшему совпадению ( RBFS ) с введением некоторой эвристики (рисунок 1).

В1 В4

\ -» N ч Ч \ N Ч Ч Ч

В2 В7

...

В5

В9

BIO

Обследование Диаеносашжа Консдлыиированиэ Лечение Хирдраия

Рисунок 1 - Выбор партнера в ВМО

Алгоритм работает следующим образом. Заявки группируются по типам работ, на которые претендуют потенциальные Агенты-Исполнители, и помещаются в разные контейнеры (рисунок 1). Затем Агент-Инициатор выбирает одно предложение из первого контейнера, которое будет максимизировать прибыль инициатора, но он также запоминает второй лучший выбор и т. д.

На следующем шаге осуществляется переход к следующему контейнеру, и на этом шаге находится лучшее предложение, которое может быть объединено с первым предыдущим. Если ожидаемая прибыль инициатора из первого набора комбинированной ставки не меньше, чем при втором выборе, то осуществляется переход к следующему контейнеру, в противном случае, осуществляется возврат к предыдущему и выбирается второй лучший выбор и т. д.

Этот процесс продолжается до тех пор, пока не будет найдено оптимальное решение. На рисунке сплошные линии представляют собой окончательный выбор партнера, а пунктирные линии показывают альтернативные возможности.

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

ПРИЛОЖЕНИЕ 5. ПРОЦЕСС ВЫПОЛНЕНИЯ ФАЗЫ ДЕЯТЕЛЬНОСТЬ ВИРТУАЛЬНОЙ МЕДИЦИНСКОЙ ОРГАНИЗАЦИИ

Штрафы за отказ

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

В процессе формирования ВМО агент обязан указать тип и количество подпроцессов, которые он способен/готов выполнять в виртуальной организации. Тем не менее, во время фазы Действия агент может в корыстных целях отказаться в пользу других предложений и оставить определенные работы в виртуальной организации невыполненными. Если нет взаимного доверия, установившегося среди компаний-партнеров и, особенно, между Агентом-Инициатором и отдельными Агентами-Исполнителями, то применяются штрафы за меньшее количество выполненных работ в сравнении с тем, что было декларировано на этапе Формирования. Это наиболее простой и легко реализуемый способ стимуляции партнеров.

В зависимости от того, каким образом рассчитывается штраф, есть различные политики предъявления штрафа.

Линейная политика штрафа — это фиксированная ставка штрафа за каждое невыполненное обязательство.

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

невыполненные работы. С другой стороны, чем больше выполненных работ по обязательствам, тем норма штрафа меньше. Например, политика предъявления штрафа может быть следующей: если агент не может выполнить 30 % своих обязательств, то назначается 100 единиц штрафа за каждое невыполненное обязательство, если агент выполнил 90 % своих обещаний, то назначается только 10 единиц штрафа за каждое невыполненное обязательство.

Чтобы должным образом учитывать штрафы, агент должен включить определенную политику предъявления штрафа в свою модель принятия решений. В предлагаемой модели это реализовано путем введения управляемого параметра в функцию полезности, связанную с задачами данной организации. Регулировкой этого параметра могут быть определенным образом учтены различные политики штрафа в процессе принятия решений агентом, который может должным образом сбалансировать прибыль и штрафы, делая определенный выбор и ориентируясь на различные типы задач.

Мотивации

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

На рисунке 1 показан характерный пример сложных отношений между агентами в общем процессе изготовления персональных компьютеров (ПК). Пунктирная линия представляет виртуальные организационные отношения, установленные между агентами, которые имеют долгосрочные деловые связи.

Рисунок 1 - Пример комплексной организации отношений агентов ВМО

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

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

Соответствующее решение о том, как выполнять задачи, зависит от статуса агента, который включает в себя: наличие доверительных отношений с другими агентами; общие цели организации; индивидуальные цели; обязательства, взятые перед другими агентами; ограниченность ресурсов. Именно в этом контексте предлагается структура количественных характеристик мотивационных факторов (МО).

MQ - это общая структура, обеспечивающая каждого агента информацией, когда и как должны быть выполнены его задачи. Основное предположение состоит в том, что агент имеет несколько целей, связанных с несколькими его ролями в сообществе агентов. При этом продвижение к одной цели не может заменить продвижение к другой цели. Мотивационные количества индивидуального агента MQs используются для количественного представления его возможностей продвижения к целям организации. Каждый агент имеет некий количественный набор мотиваций в которых он заинтересован. Каждый

элемент в этом наборе представляет мотивации продвижения к одной из организационных целей агента. Каждое М()1 связано с некой функцией предпочтения (кривой выгодности) и^, которая описывает количественно предпочтения агента для определенного М(21. Таким образом, использование структуры М() обеспечивает возможность сравнения различных мотивационных факторов агента посредством функции нескольких атрибутов. Далеко не все агенты имеют одинаковый набор MQ. Различные агенты могут иметь различные предпочтения для выполнения одних и тех же задач.

Общая цель агента заключается в выборе задач для выполнения с целью максимизировать свою локальную выгоду с учетом М()$. MQ задачами являются абстрактные примитивные действия, которые агент может выполнять. Агент сравнивает и выбирает задачи, которые связаны с различными целями организации. Каждый М(2 задачи 7} имеет следующие характеристики: самое раннее время начала (ея/,), крайний срок выполнения (сИ^, время, необходимое для выполнения поставленной задачи (¿/,).

МО, планировщик составляет график текущих потенциальных МО задач и создает расписание, с указанием их времени начала и окончания работы. Планировщик принимает во внимание следующие факторы: общую структуру МО, продолжительность самое раннее время начала е^/ и срок для каждой задачи, и текущее состояние МОб агента. Следует обратить внимание на то, что МО всегда оценивается в контексте текущего состояния М0$ агента. Например, на рисунке 2 представлена кривая предпочтения для одного Первый блок МО, приносит агенту 0\ единиц полезности £/,. После того как агент получил 2 единицы дополнительная единица приносит агенту дополнительные (Оз ~ О2) единиц полезности С/,-. При этом (Оз ~ О2) не обязательно равны 0\, все они рассчитаны на основе кривой полезности, которая связана с М0(.

11

Рисунок 2 - Пример кривой предпочтения

МО структура обеспечивает сравнение задач, которые должны быть выполнены по разным причинам: для различных целей организации или других агентов, чтобы получить некоторые финансовые выгоды или услуги в обмен на сотрудничество с другими агентами и т. д. Она поддерживает различные функции полезности. Таким образом, качество мотивационной основы обеспечивает агента возможностью рассуждать о различных целях в открытой, динамичной и крупномасштабной мультиагентной системе.

Функция полезности

В виртуальной организации каждый Агент-Исполнитель получает запросы на обслуживание не только от данной виртуальной организации (далее это задачи

организации), но и от других организаций (если агент принадлежит к нескольким виртуальным организациям) или непосредственно от клиентов (задачи за пределами ВМО). Когда есть накладка между различными задачами, агент должен решить, какую задачу выполнять. В этом случае MQ обеспечивает механизм выбора выполняемых задач, который поддерживает различные мотивации для задач, не являющихся взаимозаменяемыми. Например, завершение определённых задач является продвижением к цели А, но не обязательно являются продвижением к цели В.

МО, позволяет агентам сравнить различные типы задач, затраты и выгоды, которые он получит при конкретных действиях. Можно считать, что каждый тип задач связан с различными Например, задачи решаемые в рамках

организации А производят М0орг/\, задачи решаемые в рамках организации В производят МОоргв, а задачи от прямых клиентов производят МО^. Существуют функции полезности, связанные с отображением каждого типа МО, и это отражает то, как агент оценивает эту задачу с точки зрения вклада в свои локальные цели и задачи. Чтобы сосредоточить внимание на внешних аспектах деятельности виртуальной организации, предположим, что решение внешних задач имеет только денежную ценность, при этом отображение функции для МО^ выражается как у =/(х), которая отображает единицы денежной стоимости в количественное выражение полезности.

В процессе принятия решений агент должен рассмотреть ряд вопросов: насколько важны достижения виртуальной организации для этого агента, сколько обязательств сделал агент для этой ВМО, какова политика штрафов данной виртуальной организации и т. д. Здесь предлагается, что функция отображения принимает в учёт число обязательств, которые сделал агент виртуальной организации, максимально ожидаемое вознаграждение от виртуальной организации, её политика штрафов. Выгода, которую получает Агент-Исполнитель от выполнения задач ВМО, не может быть измерена только денежной стоимостью, так как агент не только получит денежное

вознаграждение, но также получит выгоду от наличия хороших отношений с Агентом-Инициатором.

Для функции отображения можно использовать следующее соотношение

выгода клиента от виртуальной организации в зависимости от прибыли всей организации. Например, если ожидаемая полезность организации равна 1000, и процент прибыли для этого агента составляет 20%, а может быть установлена как 1000, и тогда агент рассматривает прибыль этой организации как свою собственную, и она равна 200 (1000-20%). Если агент заботится только о своей собственной выгоде, а может быть установлено как любое число в диапазоне между 200 и 1000, в зависимости от того, какой процент назначен агенту. Параметр с учитывает, сколько обязательств агент сделал по отношению к этой организации. Параметр Ъ — управляющий параметр (0<Ь<1), который используется вместе с с, чтобы отразить политику штрафов организации. При добавлении переменной с в формулу, агент будет иметь возможность большего контроля за тем, как выполняются его обязательства перед организацией. Цель агента - попытаться выполнить все свои обязательства. Отображение функций полезности показано на рисунке 3.

/(х) = а-—•(!-((! -Ь)с)х), полученное эмпирическим путем, где а ожидаемая

1

Функция отображения МО

100

% 60

□ с

£ 40

э 20

0

0 5 10 15 20

Количество завершенных задач

Рисунок 3 - Функция отображения М<2

Рассмотрено два случая. В первом случае мы имеем: а = 90, Ъ = 0,9 и с= 10. Агент имеет тенденцию предпочтения к выполнению обязательств перед организацией, а не выполнения внешних задач, что может быть визуально представлено в виде линейной части графика. На конечном этапе рост полезности экспоненциально уменьшается. Это на самом деле отражает прогрессивную политику штрафов, где штрафная процентная ставка значительно уменьшается после того, как агент выполнил определенный процент обязательств. В зависимости от политики штрафа организации, можно изменить значение параметра Ь для того, чтобы отрегулировать отношение агента к решению задач организации. Например, если организация имеет линейную политику штрафа, первая функция отображения не может быть предпочтительной, поскольку в этом случае для агента выгодно выполнение только нескольких первых обязательств. При изменении значения Ь от 0,9 до 0,5 агент будет иметь предпочтение для завершения всех обязательств.

ПРИЛОЖЕНИЕ 6. СВИДЕТЕЛЬСТВО О ГОСУДАРСТВЕННОЙ РЕГИСТРАЦИИ ПРОГРАММЫ ДЛЯ ЭВМ

ЗРОССШЙСЖАМ Ф1ВД1ЕРАДЩЯ1

© к

ы

а

м &

Й1

п

ж ш

33

£8 #

а е й й й й а

п

- 4

-у—

о государственной регистрации программы для ЭВМ

№ 2014661095

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

Правообладатель: Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Рязанский государственный радиотехнический университет» (ЛУ)

Авторы: Антипов Олег Владимирович (Ли), Пылькин Александр Николаевич (ИЦ)

Заявка № 2014618824

Дата поступления 02 сентября 2014 Г.

Дата государственной регистрации в Реестре программ для ЭВМ 23 октября 2014 г.

Врио руководите ¡я Федеральной службы по гштелчектуалышй собственности

Л Л Кирий

ПРИЛОЖЕНИЕ 7. АКТЫ ВНЕДРЕНИЯ РЕЗУЛЬТАТОВ ДИССЕРТАЦИОННОЙ РАБОТЫ

УТВЕРЖДАЮ

Заместитель председателя НТС 1тк{]ытого акционер^кТ^о общества |5Йнфо'рмси ст^яТа - Агат - КИП»

В.М. Сонников

2014 г.

____

АКТ

внедрения результатов диссертационной работы на соискание учёной степени кандидата технических наук Антшюва Олега Владимировича на тему «Модели и алгоритмы взаимодействия приложений в распределённых системах

с архитектурой Публикация/Подписка»

Научно-техническая комиссия в составе:

Председатель: главный конструктор направления Евгений Иванович Киселёв. Члены комиссии: главный конструктор направления Владимир Леонидович Фёдоров, главный конструктор направления Александр Николаевич Эмберг

составила настоящий акт о том, что в разработках распределённой системы сбора данных от первичных преобразователей «МСК» и «Курсг01», проведённых ОАО «Моринформсистема

- Агат - КИП», были использованы результаты диссертационной работы Антипова Олега Владимировича в части:

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

- масштабируемой сетевой инфраструктуры информационной среды на основе сети Брокеров сообщений, связывающей Издателей и Подписчиков сообщений;

- алгоритмов маршрутизации сообщений, минимизирующих размер таблиц маршрутизации и обеспечивающих их самостабилизацию.

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

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

Представленные решения позволили существенно повысить эффективность систем класса EDA (сбора и обработки данных) за счёт масштабируемости и самостабилизации алгоритмов маршрутизации и визуализации обработанных данных на самообновляющихся Web-страницах.

_B.J1. Федоров

_ А.Н. Эмберг

УТВЕРЖДАЮ >р научно - производственного ¿приятия «ТЕХНОСОФТ»

новожилов

2014 г.

внедрении результатов диссертационной работы на соискание учёной степени кандидата технических наук Антппова Олега Владимировича на тему «Модели и алгоритмы взаимодействия приложений в распределённых системах с архитектурой Публикация/Подписка»

Научно-техническая комиссия в составе:

Председатель: заместитель директора НПП «Технософт» Терчиков Игорь Анатольевич. Члены комиссии: ведущий инженер НПП «Технософт» Пономарев Денис Сергеевич

составила настоящий акт о том, что в разработках инфраструктуры передачи сообщении распределённых информационных систем, проведённых НПП «ТЕХНОСОФТ», были использованы результаты диссертационной работы Антипова Олега Владимировича в части:

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

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

- разработки функциональной части обмена сообщениями как отдельной программной системы - промежуточного программного обеспечения ориентированного на передачу очереди сообщений (Брокер сообщений) по Internet/Intranet сетям;

- масштабируемости системы передачи сообщений за счёт использования ряда сотрудничающих Брокеров сообщений (брокерской сети);

- реализации разработанных алгоритмов маршрутизации в брокерской сети со самостабилизацией;

- программной реализации разработанных методов, моделей и алгоритмов.

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

Председатель комиссии: ^ „ И.А. Терчиков

Д.С. Пономарев

Акт в недр еци

результатов кандидатской диссертации Антипова Олега Владимировича в учебном процессе Рязанского государственного радиотехнического университета

Настоящим актом удостоверяется, что результаты исследований, полученные в диссертационной работе Антипова О.В., внедрены в учебный процесс по направлениям подготовки 231000 - «Программная инженерия» и 230700 «Прикладная информатика».

Полученные теоретические и практические результаты работы (формальная спецификация и модель распределённой гетерогенной информационной системы на основе архитектуры Публикация/Подписка, поддерживающие асинхронный способ передачи сообщений, модель системы со стабилизацией, охватывающая формальный и единый подход к отказоустойчивости таких систем, алгоритмы маршрутизации на основе тестового покрытия и слияния фильтров с использованием механизма издания рекламных объявлений, обеспечивающего гораздо большую их масштабируемость) использованы в дисциплинах «Вычислительные системы, сети и телекоммуникации», «Мировые информационные ресурсы», «Клиент-серверные приложения», «Интеллектуальные информационные системы» при решении задач системной организации единого информационного пространства и сетевой инфраструктуры распределенных систем.

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

Председатель

научно-методического совета РГРТУ, д. т. н., доцент

Зам. декана факультета вычислительной техники, к.т.н., профессор

Профессор кафедры вычислительной и прикладной математики д. т. н., профессор

Г.В. Овечкин

В.В. Орехов И.Ю. Каишрин

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.