ПРИМЕНЕНИЕ ОРИЕНТИРОВАННЫХ ГРАФОВ ПРИ ОРГАНИЗАЦИИ РАБОТЫ РАСПРЕДЕЛЕННЫХ СИСТЕМ СЕТЕВЫХ СЕРВИСОВ Усов А.Е.1, Варламов А.А.2, Бабкин О.В.3, Дос Е.В.4, Мостовщиков Д.Н.5 Email: [email protected]
1Усов Алексей Евгеньевич - ведущий архитектор;
2Варламов Александр Александрович - старший архитектор; 3Бабкин Олег Вячеславович - старший архитектор; 4Дос Евгений Владимирович - архитектор;
5Мостовщиков Дмитрий Николаевич - старший архитектор, системный интегратор «Li9 Technology Solutions», г. Райли, Соединенные Штаты Америки
Аннотация: рассмотрены методы организации инфраструктуры веб-сервисов как наиболее актуального примера разработки сетевых распределенных информационных систем. Выделены проблемы, связанные с динамической природой сетевой организации веб-сервисов, в частности проблемы низкого уровня масштабируемости, высокой технологической сложности и высокой ресурсоемкости и низкой надежности данных систем. Указана актуальность задачи поиска эффективных решений при построении структуры веб-сервисов в соответствии с проблемой их адаптации к большому количеству сервисов с различной семантикой интерфейса и пользовательскими ограничениями. Было показано, что набор методов динамической оптимизации, основанный на анализе избыточности сервисов, может быть использован для уменьшения размера графа заданий, что является ключевым этапом при построении масштабируемых распределенных систем с высокой производительностью.
Ключевые слова: сетевые распределенные информационные системы, структура веб-сервиса, обработка запросов, семантика интерфейса сервиса, граф зависимостей, логические правила, смешанная логика.
APPLICATION OF DIRECTED GRAPHS AT THE ORGANIZATION OF DISTRIBUTED SYSTEMS OF NETWORK SERVICES WORK Usov A^e.1, Varlamov A.A.2, Babkin O.V.3, Dos E.V.4, Mostovshchikov D.N.5
1Usov Aleksey Yevgenyevich - Lead Systems Architect;
2Varlamov Aleksandr Aleksandrovich - Senior Solution Architect;
3Babkin Oleg Vyacheslavovich - Senior System Architect;
4Dos Evgeniy Vladimirovich - System Architect;
5Mostovshchikov Dmitriy Nikolayevich - Senior System Architect, IT INTEGRATOR «LI9 TECHNOLOGY SOLUTIONS», RALEIGH, UNITED STATES OF AMERICA
Abstract: the methods of organizing the infrastructure of web services are considered as the most relevant example of the network distributed information systems development. The problems associated with the dynamic nature of the network organization of web services as problems of low scalability, high technological complexity and high resource intensity and low reliability of these systems are highlighted. The urgency of the task of finding effective solutions when building the structure of web services in accordance with the problem of adapting them to a large number of services with different interface semantics and user restrictions is indicated. It was shown that a set of dynamic optimization methods based on
the analysis of the redundancy of services can be used to reduce the size of a task graph, which is a key step in building scalable distributed systems with high performance.A review of approaches to generalization is carried out and a comparative analysis is given about their use when working with real data arrays. To visualize the levels of knowledge extracted from these data, Figure 1 is proposed, as well as Figure 2. Shows the main disciplines that are part of the Data MinInc system.
Keywords: network distributed information systems, web service structure, user request processing, service interface semantics, service dependency graph, logical rules, mixed logic.
УДК 331.225.3
Введение:
Инфраструктура веб-сервиса (сетевого сервиса) является актуальным модельным объектом, на основе которого можно рассмотреть методику разработки сетевых распределенных информационных систем (СРИС). Современные веб-сервисы включают в себя универсальные технологии для интеграции распределенных и разнородных приложений; при этом они обеспечивают гибкое и динамичное взаимодействие гетерогенных систем. Их можно рассматривать как это автономные мультиплатформенные программные приложения, которые описываются при помощи стандартных семантических правил [1, 2].
Практика применения веб-сервисов показывает, что применение отдельного программного приложения не обеспечивает всю полноту возможностей, что запрашивается пользователем и поэтому в реальной работе с сетевыми ресурсами актуализируются подходы по их комбинированию. Таким образом, можно ввести понятие составного веб-сервиса (web service composition) как комбинации веб-сервисов от различных провайдеров для создания веб-сервиса, который будет отвечать индивидуальным потребностям пользователей. Основная цель, которая подразумевается разработчиками составных веб-сервисов, состоит в минимизации участия пользователя в организации структуры веб-сервиса, т.е. в автоматизации процесса организации сервиса. Данный подход позволяет ускорить процесс организации сервиса, снизить потребность в участии технических специалистов и, соответственно, снизить ошибки связанные с т.н. человеческим фактором, равно как и общую стоимость подобных проектов. Однако, в связи с тенденцией совмещения большого количества веб-сервисов, в которых могут применяться различные алгоритмы управления потоками данных, задача автоматизации перестает быть тривиальной [1, 3].
Анализ последних исследований и публикаций в данной области указал на характерные проблемы построения составных веб-сервисов, в частную высокую ресурсоемкость систем автоматизации с точки зрения вычислительных мощностей аппаратной платформы и использование оперативной памяти [1-4]. Поэтому в качестве приоритетного направления рассматривались подходы, связанные с математическим моделированием [9-15], в рамках которых проблема организации составного веб-сервиса была представлена в виде проблемы поиска графа, причем алгоритм поиска взаимодействует с графом зависимостей для оптимального отдельных веб-сервисов. Тем не менее, следует отметить, что во всех представленных работах не рассматривается проблема избыточности входных данных графа (data redundancy), что существенно усложняет процесс поиска и ограничивает масштабируемость решения, что можно выделить как нерешенную часть общей проблемы.
Целью работы стала разработка методологии построения графов для оптимизации композиции веб-сервисов. В соответствии с поставленной задачей был предложен подход, основанный на представлении семантических отношений веб-сервисов с использованием ориентированного графа, который основывает на логических операциях конъюнкции и дизъюнкции.
1. Принципы динамической организации составных веб-сервисов
Процесс динамической организации составного веб-сервиса в общем случае может быть представлен на основе трехкомпонентной схемы, включающей в себя (рис. 1):
• поиск сервисов и установление соответствий между семантикой их интерфейсов;
• проектирование графа зависимостей веб-сервиса (SDG: Service Dependency Graph) и вычисления кратчайших путей между его узлами, представляющими отдельные веб-сервисы;
• выполнение алгоритмов составного веб-сервиса в ответ на запрос пользователя, который подразумевает необходимость комбинирование работы нескольких программных приложений.
Рис. 1. Базовая схема применения в сетевых сервисах графов зависимостей при обработке
запросов
Объединение нескольких сервисов подразумевает сопоставление их входов и выходов с учетом семантики интерфейсов, таким образом, чтобы прохождение потока данных через соответствующую многоуровневую структуру. Рассмотрим пример объединения двух сервисов, которые описываются через функции S\ и S j (рис. 2). Объединение происходит через интерфейс множества выходов (output) -го сервиса и множества входов (input) -го сервиса и описывается
множеством функций :
• МЕ ^ ОР (Si,n),IP (Sj,k) ^ — полное соответствие семантики (exact semantic matchmaking) входа и выхода О Р (Sj,k) ;
• Mp ^OP(Si,n),IP(Sj,kyj — семантика функции выхода (plugin semantic matchmaking) является частным случаем функции входа OP(Sj,k) с IP(Si,n);
• Ms(oP(Si,ri),IP(Sj,k^ — семантика функции входа (subsume semantic matchmaking) является частным случаем функции выхода OP(Sj,k) з IP(Si,n);
• MF ^OP{Si,n),IP{Sj,k)Sj — нет никакого соответствия (fail semantic matchmaking) семантики входа и выхода IP(Si, n) Ф OP^Sj, k).
Рис. 2. Организация связей между сервисами через соотнесение семантики входов и выходов
Соответственно, для комбинирования сервисов необходимо разработать алгоритмы сопоставления семантики их интерфейсов. Для большинства практических задач не существует единого веб-сервиса, на основе которого можно включает себя все возможные варианты семантики входов и выходов веб-сервисов, которые необходимо объединить и поэтому алгоритмы автоматической организации составного веб-сервиса должны устанавливать оптимальный уровень соответствия элементов структуры. Входными данными для таких алгоритмов является запрос пользователя и информация об интерфейсе веб-сервисов, которые могут быть использованы при обработке данного запроса.
Рис. 3. Универсальная схема организации связей между сервисами на основе логических правил
На первом этапе необходимо создать граф зависимостей для доступных веб-сервисов в соответствии с семантикой их интерфейсов. Далее применяются методы оптимизации для оптимального комбинирования и сокращения количества как самих веб-сервисов, так и связей между ними. Алгоритм поиска обрабатывает данный граф с целью автоматической генерации кратчайших путей между парами его узлов. Указанные операции могут выполняться независимо от запроса, поскольку зависят только от информации, предоставленной модулем поиска и сопоставления — таким образом, они относятся к этапу проектирования.
Реализация составного веб-сервиса определяется как веб-сервисами, которые входят в его структуру, так и характером связей между ними. Всего можно выделить четыре группы связей, представленных на рис. 3:
• последовательная связь (SR: Sequence Relation), что на рис. 3 показано на примере связи ;
• итерационная связь (IR: Iteration Relation), что на рис. 3 показано на примере связи Sс — S^;
• параллельная связь (PR: Parallel Relation), что на рис. 3 показано на примере связи ;
• связь типа «вилка» (FR: Fork Relation), что на рис. 3 показано на примере связи Sd — (Se>Sf) .
Т.е., параллельная связь и связь типа «вилка» соответствуют логическим операциям конъюнкции и дизъюнкции, соответственно, что определяет особенность организации и оптимизации графов зависимостей, предложенных в рамках данного исследования. Данные логические операции определяют всю полноту алгоритмов организации графов зависимостей веб-сервисов.
2. Оптимизация графа зависимостей составных веб-сервисов
Как было указано в предыдущем разделе использование логических операций конъюнкции и дизъюнкции могут быть эффективно использованы при построении математического аппарата автоматизации графа зависимостей составных веб-сервисов через разбиение задач на подзадачи и поиск оптимального графика их решения. Данный подход можно рассматривать как обобщение парадигмы ориентированных графов. Представление графа в виде указанных логических функций в большей степени подходит для решения задачи оптимального комбинирования веб-сервисов чем обычные графы, поскольку ограничения на интерфейс входа служб явно представлены узлами конъюнкции, т.е. сервис не может быть запущен, если некоторые из его входных данных не предоставлены. Таким образом, узел конъюнкции может быть доступен только в том случае, если удовлетворены все его входящие ребра. С другой стороны, для того, чтобы узел дизъюнкции был доступен в качестве выполняемого веб-сервиса, достаточно, чтобы было удовлетворено одно из условий, представленных его входящими ребрами.
Следует также учесть, что в ряде случаев, узел может быть описан только при помощи обеих логических операций (рис. 4-а). Граф зависимостей, который включает в себя узлы с со смешанными в отношении логических правил связями может быть преобразован в эквивалентный граф, содержащий узлы с одним логическим правилом. Это решается через добавление дополнительных узлов, как показано на рис. 4-б. Это преобразование уменьшает сложность структуры и приводит граф зависимостей к виду, который содержит два типа узлов, исключая смешанные узлы.
1Р - семантика
Сервис5а
ОР - семантика
1 1 1 1 1 1 1 О I 1 1 1 1 I 1
/Р - семантика 1Р - семантика
Сервис 5а1
Сервис 5а2
ОР - семантика
О
1Р - семашт [ка 1Р - семанп ка
ОР - семантика
О
1Р -семанп ка 1Р - семант! ка
Сервис Бь
Сервис 5С
Сервис
Сервис Бе
ОР - семантика
ОР - семантика
ОР - семантика
ОР - семантика
(б)
Рис. 4. Схема оптимизации графа на базе смешанной логики
Сервисы рассматриваются как эквивалентные в случае соответствия интерфейсов их входов и выходов. При оптимизации графа эквивалентные веб-сервисы можно объединить в один сервис (рис. 5).
Сервис 5(
ОР - семантика
1 1 1 1 1 1 1 1 1 1 1
А А 1
1Р - семантика 1Р - семантика 1Р - семантика
Сервис Сервис5С Сервис
ОР - семантика ОР - семантика ОР - семантика
1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1Р - семантика
Сервис 5,
ОР - семантика
1Р - семантика
Сервис5а ОР - семантика
—-1-—
1Р - семантика
Сервис 5Ь ОР - семантика
--4--
1Р - семантнка
Сервис5е ОР - семантика
Рис. 5. Алгоритм замены эквивалентных сервисов графа зависимостей
Дальнейшая работа по разработке математического аппарата оптимизации графа зависимостей подразумевает введение системы определений:
• сервисы и Б] эквивалентны по входному интерфейсу в случае соответствия функций их интерфейсов по входу 1Р(Б(, к) = ¡Р^Б], к);
• сервисы Б( и Б] эквивалентны по выходному интерфейсу в случае соответствия функций их интерфейсов по выходу ОР(Б(, п) = ОР^Б], п);
• сервисы Б( и Б] эквивалентны по интерфейсу в случае соответствия функций их интерфейсов по входу 1Р(Б(,к) = 1Р(Б],к) и выходу ОР^Б^п) = ОР(Б],п) (см. рис. 5, совмещение сервисов Б^ и Бе).
Помимо определений эквивалентности одного из сервисом следует ввести систему определений доминантности:
• сервис S( является доминантным по входному интерфейсу по отношению к сервису Sj, если он используя меньше входных данных чем сервис S j генерирует тот же или расширенный по семантике интерфейс выводаЛ при IP (S ¿, п i) < IP (Sj, nj) — OP(S i,ni) > OP (S j, п j) ;
• сервис является доминантным по выходному интерфейсу по отношению к сервису , если он, используя те же входные данные, что и сервис генерирует более расширенный по семантике интерфейс вывода: при IP (Si ,п i) = IP (Sj,nj) — OP(S i,ni) > OP (S j, n j).
• сервис Si является доминантным по интерфейсу по отношению к сервису Sj, если он является доминантным как минимум по одному аспекту и как минимум эквивалентным по другому аспекту (см. рис. 6, совмещение сервисов S¿ и Se).
Таким образом, если веб-сервис Sj становится недоступным, можно выбрать заменяющую услугу S¿ из числа эквивалентных или доминирующих услуг. Эти алгоритмы оптимизации были применены к восьми различным наборам данных из открытого ресурса «Web Service Challenge 2008». Граф зависимостей представлял отношение совместимости между этими веб-сервисами. На рис. 7 представлены результаты оптимизации графов, для восьми наборов данных [16]. В первом столбце указывается имя набора данных. Для каждого исключенного веб-сервиса было сокращено количество возможных связей, что соответствует уменьшению пространство поиска и, следовательно, результат автоматической генерации оптимизированного сервиса представляет собой уменьшенное пространство поиска проблем, что должно привести к повышению производительности составного веб-сервиса. Следует отметить, что при удалении узла графа зависимостей также удаляются все входящие и исходящие ребра этого узла.
(б)
Рис. . Алгоритм замены доминантных сервисов графа зависимостей
Соответственно, сложная исследовательская задача комбинирования веб-сервисов может быть решена через оптимизацию графов зависимостей. Проведенный анализ статистических данных позволяет оценить эффективность предложенных решений.
- Уменьшение размера 8ии. °/ я 'о
1 1 1 \ ----- 1 ■- 1 1 1
012345678
Набор данных
(б)
Рис. 7. Статистические данные оптимизации графа зависимостей
Дальнейшая работа должна быть сосредоточена на обогащении предложенной модели включением в нее сложных параметров пользовательских запросов, предварительными условиями, пользовательскими ограничениями, а также контекстом использования веб-сервисов.
Выводы
В результате проведенного анализа были предложены подходы по организации составных веб-сервисов. В частности в рамках исследования были предложены
1. базовая схема применения в веб-сервисах графов зависимостей при обработке запросов в режиме реального времени;
2. базовая схема организация связей между сервисами через соотнесение семантики интерфейсов входов и выходов;
3. алгоритмы замены эквивалентных и доминантных веб-сервисов графа зависимостей;
4. статистические данные оптимизации графа зависимостей.
Таким образом, задача комбинирования веб-сервисов может быть решена через
оптимизацию графов зависимостей, построенных на основе логических правил
дизъюнкции и конъюнкции.
Список литературы /References
1. Chan K.S.M., Bishop J., Baresi L.: Survey and comparison of planning techniques for web services composition. Technical report, University of Pretoria, Pretoria, 2007.
2. Resource Service Composition Optimal-selection, 2012. Resource Service Management in Manufacturing Grid System, 275-309.
3. Bastida L., 2008. A Methodology for Dynamic Service Composition. Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008). doi:10.1109/iccbss.2008.11.
4. Dustdar S., Schreiner W.: A survey on web services composition. Int. J. Web Grid Serv. 1 (1). 1-30, 2005.
5. Berardi D., Calvanese D., Giacomo G.D., Lenzerini M., Mecella M.: Automatic service composition based on behavioral descriptions. Int. J. Coop. Inf. Syst. 14 (4), 333-376, 2005.
6. Rostami N.H., Kheirkhah E., Jalali M.: Web services composition methods and techniques a review. Int. J. Comput. Sci. Eng. Inf. Technol. (IJCSEIT), 3 (6), 2013.
7. Hennig P., Balke W.: Highly scalable web service composition using binary tree-based parallelization. In: IEEE International Conference on Web Services. Pp. 123-130, 2010.
8. Kona S., Bansal A., Blake M.B., Gupta G.: Generalized semantics-based service composition. In: IEEE International Conference on Web Services (ICWS). Pp. 219-227. IEEE, 2008.
9. On B., Larson E.J.: BF*: web services discovery and composition as graph search problem. In: IEEE International Conference on e-Technology, e-Commerce and e-Service. № 1. Pp. 784-786, 2005.
10. Weise T., Bleul S., Kirchhoff M., Geihs K.: Semantic web service composition for service-oriented architectures. In: 10th IEEE Conference on E-Commerce Technology and the Fifth IEEE Conference on Enterprise Computing, E-Commerce and E-Services. Pp. 355-358, 2008.
11. Hussain M., Paul A.: A survey on graph based web service discovery and composition techniques. Int. J. Eng. Adv. Technol. (IJEAT), 3 (5), 2014. ISSN 2249 -8958.
12. Upadhyay D., Tanawala B., Hasan M.: A survey on composition and discovery algorithms for web service. Int. J. Innov. Emerg. Res. Eng. 2(2), 2015.
13. Lemos A.L., Daniel F., Benatallah B.: Web service composition: a survey of techniques and tools. ACM Comput. Surv.48(3), 44, 2015. Article 33.
14. Talantikite H.N., Aissani D., Boudjlida N.: Semantic annotations for web services discovery and composition. Comput. Stand. Interfaces 31, 1108-1117, 2009. Elsevier B.V.
15. Rodriguez-Mier P., Mucientes M., Vidal J.C., Lama M.: An optimal and complete algorithm for automatic web service composition. Int. J. Web Serv. Res. (IJWSR) 9(2), 1-20, (2012. ttps://doi.org/10.4018/jwsr.2012040101.
16. Elmaghraoui H., Benhlima L. & Chiadmi D., 2017. Dynamic web service composition using AND/OR directed graph. 2017 3rd International Conference of Cloud Computing Technologies and Applications (CloudTech). doi:10.1109/cloudtech.2017.8284711.