УДК 004.75
МОДЕЛЬ ДИНАМИЧЕСКОГО СОГЛАСОВАНИЯ ПАРАМЕТРОВ КАЧЕСТВА ОБСЛУЖИВАНИЯ МНОГОАГЕНТНОЙ СИСТЕМЫ
А.В. Кустов
Сервис-ориентированная архитектура обеспечила возможность быстрой разработки приложений, используя ранее разработанные сервисы. В связи с тем, что множество сервисов предоставляют схожую функциональность и отличаются предоставляемым качеством обслуживания, важной является задача создания модели «единого сервиса», динамически обеспечивающей соглашения о требованиях к качеству обслуживания.
В качестве решения этой задачи предлагается архитектура «единого сервиса» с динамическим соглашением на определенный уровень качества обслуживания между поставщиками и потребителями сервисов, используя заданные границы параметров качества обслуживания сервисов
Ключевые слова: сервис-ориентированная архитектура, качество обслуживания, алгоритм соглашений, модель
ВВЕДЕНИЕ
Сервис-ориентированная архитектура
позволяет организовать интеграцию независимых сервисов в «единый сервис» [1]. С увеличением количества сервисов, предлагаемых поставщиками, многие сервисы, обладая схожей
функциональностью, отличаются качеством обслуживания. Различные потребители услуг имеют различные требования и предпочтения к качеству обслуживания [2]. Существующие работы в области «единого сервиса», основной упор делают на методы выбора сервисов с пожеланиями к требуемому качеству сервисов [3, 4]. «Единый сервис» содержит задания и список функционально эквивалентных сервис-кандидатов для каждого задания. Алгоритмы выбора осуществляют поиск единственного сервис-кандидата для каждой задания. Выбор делается на основе
предопределенных поставщиком каждого сервиса параметров качества обслуживания. Для поставщика сервиса трудной является задача настройки сервиса с заданными параметрами качества обслуживания для различных запросов потребителей.
Цель данной работы состоит в добавлении взаимодействия к «единому сервису» для организации динамического соглашения о критериях качества обслуживания в режиме реального времени между потребителем и поставщиком путем обмена сообщениями-предложениями.
ОСНОВНЫЕ КОНЦЕПЦИИ МОДЕЛИ «ЕДИНОГО СЕРВИСА»
«Единый сервис» включает в себя набор заданий {Б1; ..., 8П}. Каждое задание соответствует классу сервиса, который представляет собой набор функционально эквивалентных сервис-кандидатов, отличающихся различным качеством обслуживания. Задание выполняется одним сервис-кандидатом от класса сервиса. Задания могут выполняться последовательно, параллельно [5].
Сервис-кандидат который принадлежит
классу имеет т параметров качества
Кустов Антон Викторович [email protected]
ВГТУ, аспирант, e-mail:
обслуживания ^,ь..^,к, ...^,т], где д^к, это к-ый параметр качества обслуживания сервис-кандидата
Значение для к-го параметра качества обслуживания «единого сервиса», т. е. дга,к, может быть определено путем агрегирования соответствующих параметров каждого компонента сервиса через функции агрегации [6]. Для каждого параметра качества обслуживания к (к=1, ..., т), у потребителя есть глобальное ограничение ск суммарного значения качества обслуживания «единого сервиса». При отрицательных параметрах (например, стоимость, время отклика), дга,к<=ск. Для положительных метрик (например, надежность),
ЧсБ,к>=ск.
Для оценки сервиса используется оценочная функция для отображения всех параметров качества обслуживания в одно значение. Согласно существующим работам [4], метод простого суммарного взвешивания [7] применяется для определения оценочной функции.
Во-первых, необходимо нормализовать
значения параметров качества обслуживания. Положительные и отрицательные атрибуты нормализуются по следующим формулам:
a max Hi, k
at,
a max Hi,k
a mln Hi,k
(1)
для отрицательных метрик качества обслуживания;
V (s )=
a,,k - a,
min
ii,k
„max min a,,k - a,,
(2)
Ь,к Ч-и к
для положительных метрик качества обслуживания.
-г^ ^тах ^тт
Где qi к и qik максимальное и минимальное
значение к-го параметра класса обслуживания Si и Ук^) является нормализованным значением к-го параметра для выбранного кандидата и si□Si.
Во-вторых, вес присваивается каждому
параметру качества обслуживания, и оценка сервис-кандидата si вычисляется по формуле
т
U (s) = £Vk (s,)•
w,.
(3)
k=1
где wk□[0,1], обозначает вес к-го параметра и
k
Е wk =1 (4)
к=1
Для «единого сервиса» с п сервисами ^ь-.-^п} ист глобальных ограничений параметров качества обслуживания {сь...,ст}, цель заключается в применении динамического соглашения с учетом глобальных ограничений и оптимальной оценкой сервис-кандидатов.
АРХИТЕКТУРА «ЕДИНОГО СЕРВИСА» НА БАЗЕ СОГЛАШЕНИЙ О КАЧЕСТВЕ ОБСЛУЖИВАНИЯ
В этом разделе предлагается архитектура соглашений на основе составного сервиса. На рис. 1 отображена архитектура системы, которая включает в себя Редактор спецификации «единого сервиса», Парсер спецификации «единого сервиса», Контроллер выбора сервиса, Агент соглашений, Контроллер соглашений. В Редакторе спецификации «единого сервиса» создается «единый сервис», указывая сервисы, входящие в его состав. После того, как «единый сервис» определен, он преобразуется в ХМЬ-документ и направляется в Парсер спецификации «единого сервиса». Парсер анализирует ХМЬ-документ, описывающий «единый сервис». По завершению анализа становится известно число сервисов и существующих связей. Результаты и глобальные ограничения параметров качества обслуживания указанные потребителем направляются в Контроллер выбора сервиса. Контроллер выбора сервиса сначала ищет поставщика сервиса для каждого сервиса в Хранилище сервисов, где поставщики сервисов их регистрируют. Затем он выбирает поставщика сервиса для каждого сервиса с целью формирования соглашений о качестве обслуживания.____________
Рода пор спецификации
Потребитель
сервиса
11арсер
а шцификации
Киш рол лир выбора сервис«
Контроллер соглашений
Модуль определения границ База Знаний
Модуль оценки Модуль обучения
Модуль Модуль
координации протоколирования
ТГ
+ 1 ?
Агент Агент - Агент
и 1 4 ? 1 1 |
Поставщик сервиса Поставщик сервиса - Поставщик сервиса
Рис. 1. Архитектура «единого сервиса» на базе
соглашений
Контроллер соглашений управляет процессом соглашений для удовлетворения глобальных ограничений «единого сервиса» (рис. 2).
Модулем определения границ задаются диапазоны соглашений для каждого класса сервиса. Параметры качества обслуживания, направляемые поставщику сервиса должны попасть в диапазон между наиболее приемлемым и наименее приемлемым значением для потребителя сервиса. Диапазоны соглашений устанавливаются для каждого класса сервиса и для каждого параметра качества обслуживания так, что агент может вести
переговоры с поставщиком в пределах этих диапазонов. Наиболее приемлемые значения считаются лучшими значениями качества обслуживания. Наименее приемлемые значения для агента - резервные значения. Соглашения между агентами и поставщиками сервиса ведутся независимо и одновременно. Диапазоны соглашений (в частности, резервирование значения для каждого параметра качества обслуживания) для каждого класса сервиса определяются на основе принципа, что все вместе попадают в диапазон для каждого класса сервиса, и что выполняется глобальное ограничение «единого сервиса». В рамках данной работы, рассматривается последовательный алгоритм. В отличие от последовательного алгоритма, глобальные ограничения можно разложить [8, 9].
Рис.2. Алгоритм процесса соглашений «единого сервиса»
После Модуль Определения границ определяет диапазоны соглашений, где каждый агент ведет переговоры с соответствующим поставщиком сервиса в пределах этого диапазона. Процесс переговоров между агентом и поставщиком сервиса состоит из встречных друг другу предложений. Этот процесс продолжается до тех пор, пока предложение не будет принято или агент или поставщик сервиса не завершит процесс согласования (например, по истечению отведенного времени или заданному количеству итераций). Алгоритм согласования агента переговоров с провайдером определяется следующим образом:
Шаг 0: Установить счетчик цикла г ^ 0.
Шаг 1: Оценка поставщика сервиса с помощью оценочной функции.
Шаг 2: Критерий остановки. Если критерий остановки верен, агент останавливает процесс согласования и информирует поставщика сервиса; в противном случае переход к шагу 3.
Шаг 3: Поиск нового предложения. Если оценка сгенерированного предложения выше, чем оценка принятого/текущего, переход к шагу 4; В противном случае переход к шагу 2.
Шаг 4: Агент посылает вновь сгенерированные предложения как встречное предложение для поставщика сервиса г^г+1. Переход к шагу 1.
Критерий остановки в шаге 2, включает следующие ситуации:
1. Агент принимает предложение поставщика сервиса если агент не может найти какие-либо новые предложения, которые дают лучшую оценку.
2. Агент отменяет «соглашение», если предложения поставщика сервиса неосуществимы для определенного числа последовательных циклов согласований. Для того, чтобы подготовить встречное предложение на шаге 3, агент использует уступку или подход, основанный на компромиссе [10] для генерации предложений.
Когда все процессы согласования между агентом и каждым поставщиком завершены, Модуль оценки соглашений проверяет, являются ли текущие результаты соглашений удовлетворительными по отношению к глобальным ограничениям «единого сервиса». Если соглашения для всех классов сервисов успешны, формируется допустимое решение. Если соглашения для некоторых классов сервисов являются успешными, а для других неудачными, вызывается Модуль координации для настройки диапазонов соглашений для классов сервиса, где соглашения не удались. Для классов сервиса, где соглашения успешные и если
согласованное значение параметра качества
обслуживания лучше, чем зарезервированное значение, то расстояние между согласованным значением и зарезервированным значением рассматривается как «экономия», которая может быть использована для «ослабления» зарезервированных значений тех классов сервиса, где приемлемые предложения не были определены. После того, как диапазоны соглашений для этих классов сервисов были скорректированы, агенты продолжают процесс согласования с
соответствующими поставщиками сервисов. «Ослабленные» зарезервированные значения делают более вероятным процесс определения приемлемых предложений. Процесс согласования, проверки и настройки повторяется до тех пор, пока не будет найдено решение или не будет достигнуто максимальное (заданное) значение итерации.
Настройка может помочь ослабить зарезервированные значения классов сервиса, где соглашения не достигнуты.
База знаний хранит стратегии согласования, такие, как тактика, зависящая от времени, протоколы каждого агента для ведения перегеворов с поставщиком сервиса. Записи согласования
хранятся в Модуле протоколирования для Модуля Обучения с целью изучения опыта согласования и улучшения результата.
ЗАКЛЮЧЕНИЕ
В данной работе предложена архитектура на основе соглашений для составного сервиса, которая может помочь потребителям сервиса и поставщикам сервиса динамически достичь соглашения по качеству обслуживания посредством обмена встречными предложениями.
Механизм соглашений не только повышает гибкость «единого сервиса», но и ослабляет ограничения за счет взаимодействия между компонентами «единого сервиса» и различными поставщиками сервисов. Работа может быть расширена в направлении использования стратегии компромиссов для повышения производительности и использования параллельной структуры.
Литература
1. Ньюкомер Э. // Веб-сервисы. XML, WSDL, SOAP, UDDI. - С-Пб.: Издательский дом "Питер", 2003. - 256с.
2. Вегешна Шринивас // Качество обслуживания в сетях IP. - М.: «Вильямс», 2003. - 368с.
3. Pemici B., Ardagna D.// Adaptive service composition in flexible processes, IEEE Transactions on Software Engineering, 2007, V. 33, PP. 369-384.
4. Kalagnamam J., Zeng L., Dumas M., Chang H., Benatallah B. // QoS-aware middleware for web services composition, IEEE Trans. on Softw. Trans., 2004, V.30, PP. 311-327.
5. Nunamaker J.F., Sun S.X., Zhao J.L., Sheng O.R. // Formulating the Data Flow Perspective for Business Process Management, Inf. Syst. Research, 2006, V. 17, PP. 374-391.
6. Sheth A., Cardoso J., Miller J., Arnold J. // Quality of service for workflows and web service processes, Journal of Web Semantics, 2004, V.1, PP. 281-308.
7. Yoon K., Hwang C.L. // Multiple Attributes Decision Making, Lecture Notes in Economics and Mathematical Systems, Springer-Verlag, 1981.
8. Dolog P., Risse T., Nejdl W., Alrifai M. // A scalable approach for QoS-based web service selection, Lecture Notes in Computer Science, 2009, V. 5472, PP. 190-199.
9. Wang H., Sun S.X., Zhao J. // A Negotiation Based Approach for Service Composition, 5th DERIST, Switzerland, 2010, In Lecture Notes in CS, V. 6105, PP. 381-393.
10. Jennings N.R., Sierra C., Faratin P., // Negotiation decision functions for autonomous agents, Journal of Robotics and Autonomous Systems, 1998, V. 24, PP. 159-182.
Воронежский государственный технический университет
THE DYNAMIC COORDINATION MODEL QUALITY OF SERVICE PARAMETERS OF MULTIAGENT SYSTEM A.V. Kustov
The Service-oriented architecture has provided a capability, using earlier developed services. Because set of services give similar functionality and differ given service quality, the important task is creation model of "uniform service", dynamic providing agreements on service quality requirements.
As the decision of this task, the architecture of "uniform service", with the dynamic agreement on certain quality level of service between suppliers and customers of services is offered, using the given boundaries quality of service parameters of services
Key words: service-oriented architecture, service quality, algorithm of agreements, model