Научная статья на тему 'Проблемы эффективного использования сетевых сервисов'

Проблемы эффективного использования сетевых сервисов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
268
44
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТЕВОЙ СЕРВИС / NETWORK SERVICE / ПРОБЛЕМЫ / PROBLEMS / МОДЕЛЬ / MODEL / ВЗАИМОДЕЙСТВИЕ / INTERACTION / КАЧЕСТВО СЕРВИСА / SERVICE QUALITY

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Дергачев Андрей Михайлович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

PROBLEMS OF EFFICIENT USE OF NETWORK SERVICES

We discuss the main problems, which appear on the different steps of using network services such as search, choice and integration. We examine quality parameters, which can be used to compare network services in order to make the right choice. Finally we present an abstract model that can visually demonstrate interaction of network services.

Текст научной работы на тему «Проблемы эффективного использования сетевых сервисов»

3. Поликарпова Н.И., Шалыто А. А. Автоматное программирование. - СПб: Питер, 2010. - 176 с.

4. Кузьмин Е.В., Соколов В.А. Моделирование, спецификация и верификация «автоматных» программ // Программирование. - 2008. - № 1. - С. 1-23.

5. Вельдер С.Э., Шалыто А.А. О верификации простых автоматных программ на основе метода Model Checking // Информационно-управляющие системы. - 2007. - № 3. - С. 285-288.

6. Степанов О.Г. Методы реализации автоматных объектно-ориентированных программ. Кафедра «Технологии программирования» [Электронный ресурс]. - Режим доступа: http://is.ifmo.ru/disser/stepanov_disser.pdf, свободный. - Яз. рус. (дата обращения 01.11.2010).

Федотов Павел Валерьевич - Санкт-Петербургский государственный университет информационных

технологий, механики и оптики, студент, fedotov@rain.ifmo.ru Степанов Олег Георгиевич - ООО «ИнтеллиДжей Лабс», кандидат технических наук, руководитель

проекта, доцент, oleg.stepanov@jetbrains.com

УДК 004.75, 004.772, 004.62 ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ

А.М. Дергачев

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

Введение

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

Постановка задачи

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

Описание проблем использования сетевых сервисов

Первая проблема - это проблема поиска сетевых сервисов. На сегодняшний день существует два различных подхода: использование реестров и использование поисковых систем. Каждый из подходов имеет свои преимущества и недостатки. Реестры, как правило, обладают структурой и реализуют стандарт UDDI, но ограничены списком сервисов, входящих в базу данных. Поисковые системы производят поиск по всему Интернету, но результаты поиска не содержат какого-либо описания сервиса. Последние исследования [1] показывают, что поисковые системы находят большее количество Интернет-сервисов и процент рабочих сервисов от всех найденных у поисковых систем выше. Но ввиду сложности автоматизации использования результатов поисковых систем отдавать им предпочтение преждевременно.

В большинстве случаев результатом поиска будет не один сервис, а список сервисов, который может быть достаточно большим (в Интернете существуют сотни, а может быть, и тысячи сетевых сервисов, предоставляющих прогноз погоды). Появляется проблема выбора. Основная сложность с выбором единственного сервиса из множества аналогичных заключается в определении набора параметров, по которым будет производиться выбор. Целью выбора является предоставление пользователю максимального качества сервиса. Для описания качества сервиса (QoWS) [2] предлагается использовать различные

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

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

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

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

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

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

Схематичное изображение модели сервиса в виде графа

Сервис можно изобразить в виде графа (рис. 1, а), где вершинам графа соответствуют операции, входящие в сервис (A, B и C), а ребра графа отображают зависимости между операциями: операция C является зависимой от операции B. Аналогичным образом могут быть показаны зависимости между операциями разных сетевых сервисов (рис. 1, б).

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

а б

Рис. 2. Граф операций: одиночного сервиса (а), объединенного сервиса (б)

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

Математическое описание модели сервиса

Математическое описание модели сервиса необходимо для применения методов оптимизации поиска и нахождения оптимального плана вызова сервисов. Для описания сервиса использованы такие понятия, как схема сервиса, связи сервиса, запрос сервиса, сервисный путь, граф операций и граф набора операций [5]. Схема сервиса отображает ключевые возможности всех сетевых сервисов предметной области. Она предоставляет словарь и позволяет создать язык сервисных запросов. Схема сервиса определяется записью £ = (БО^802,...,БОп,В), где = (V,Е{,е{),/ = 1,...,п, является ориентированным ациклическим графом (сервисным графом), где:

- V = {вру |1 < у < т} - набор операций сетевого сервиса;

- г, - корневой элемент графа (точка входа, через которую можно получить доступ ко всем операциям сервиса);

- Е, = {ву |1 < у < /} отражает зависимости между двумя операциями из одного графа;

- В = {В, у |1 < I < п л 1 < у < п л I Ф у} отражает зависимости между двумя некорневыми операциями из различных графов;

- БО' = о БОу является конкатенацией двух сервисных графов, полученной объединением корневых элементов БО^ и БОу.

Зависимости между двумя внутренними операциями относятся к внутрисервисным зависимостям, и могут быть удовлетворены вызовом двух операций в определенном порядке. Зависимости между сервисами могут быть удовлетворены, когда осуществляется доступ к множеству сервисов. Предполагается отсутствие зависимостей между корневыми элементами графов. Также предполагается, что все множественные зависимости к одной операции должны быть удовлетворены до выполнения этой операции. Например, есть две зависимости к операции врк : вр{ и вр у. В этом случае операции вр1 и вру должны

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

Сервисный путь для сервисного графа БО = (V, Е, е) определяется как Р = ({врг1,..., вру,..., вр^ }, Е', е), где е - это корень БО , Е' с Е, и к > 1; вру е V для 1 < у < к , и для каждого вру, 0 < у < (к -1), Зв у е Е': в у = (вру, врг( у+1)).

Граф операции О(вр) для сервисного графа БО^ = (V, Е^, е^) - это объединение всех сервисных путей в БО, которые ведут к операции вр, О(вр) = ир , где Р^ = ({врг1,..., вру,..., врк }, Е', е). Граф опера-

ций G(op) является направленным подграфом сервисного графа SG. На рис. 3, б, показан граф операции G(d), который получен из SG (рис. 3, а) путем объединения двух сервисных путей Д и ?2, которые ведут к сервисной операции ^

Рис. 3. Граф: сервиса Бв (а), операции б (б)

Граф набора операций для сервисного графа SGi = (V, Ei, ei) определяется как G(op) = G(opi), где op = {opij |1 < г < к}. G(op) является направленным подграфом сервисного графа SG. Например, на рис. 3 граф для набора операций {а, d, /} - это сам граф SG, т.е. G({a, d, /}) = SG.

Модель QoWS формально определяет набор качественных параметров для сетевых сервисов, которые указаны в таблице - время реакции, надежность, доступность, цена и репутация. Время реакции -время между моментом вызова ор и моментом получения результата. Надежность - это возможность вызова ор с гарантированным временем ответа. Доступность - это вероятность того, что операция доступна. Цена определяет стоимость вызова ор. Репутация - это мера достоверности операции. Она определяется соотношением того, что операция предоставила и тем, что было обещано. Значения параметров в QoWS модели могут быть как целочисленными, так и дробными.

б

а

Параметр Определение Тип Индекс

Время реакции Время обработки операции + время возращения результатов число 1

Надежность Nудачных (ор)/^всего (ор) - отношение удачных вызовов к общему количеству вызовов ор число 2

Доступность ШрТте(ор)/То(аШтв(ор), где ПрТтв - время, когда ор была доступна; TotalTimв - общее время число 3

Цена Денежная сумма, необходимая для вызова операции число 4

Репутация у 1Оценка(ор) /п 1 < репетиция < 10, где Оценка - оценка, поставленная пользователем; п - количество оценок число 5

Таблица. Параметры ОсМЭ

Сервисная связь определяется как набор экземпляров сервисов I = ({sid, ор1,..., орп}), где sid -уникальный идентификатор сервиса; ор - операция сервиса, определенная как пара ор = (opid, Х(ор)), где opid является идентификатором операции, X - меточной функцией, которая присваивает каждой сервисной операции набор значений параметров QoWS, обозначенный Q = . Функция определяет

i-й параметр ор, где i - индекс параметра согласно таблице. Каждый экземпляр сервиса I в сервисной связи согласован с сервисным графом SG, т.е. операции в I определены в SG и следуют зависимостям, определенным в SG.

В.О. Тишкин

Сервисный запрос - это выражение сервисных вычислений в форме {s | у (s)}, где s - это переменная, представляющая запись из сервисного отношения SR, а у - это формула сервисных вычислений. Формулы составляются рекурсивно и имеют один из следующих форматов:

- xQqy , где 6q - оператор сравнения параметров QoWS (один из {=, >, >, <, <, ^}); x и y могут быть параметрами QoWS или константами;

- s.op == t.op, где s.op означает операцию из записи s, а t.op - операцию из записи t; s.op == t.op принимает истинное значение, если t и s имеют одинаковый набор сервисных операций, и ложное в противном случае;

- SR(s), где SR - сервисное отношение; s - переменная, содержащая сервисную запись; отношение SR(s) принимает истинное значение, если s принадлежит SR, и ложное в противном случае.

Заключение

Практическое применение представленной выше модели и ее математического описания можно продемонстрировать на примере использования сервиса-реестра недвижимости. Сервисный запрос на получение истории покупаемой недвижимости при стоимости выполнения запроса не более 200 рублей может быть составлен следующим образом:

Ql = {s.sid,s[G(history _report)]|RE(s) л fee(s.history _report) < 200} ,

где G(history _report) - граф операций получения history report; fee(s.history _report) указывает на стоимость вызова операции; RE (RealEstate) - сервис-реестр недвижимости.

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

Литература

1. Eyhab Al-Masri, Qusay H. Mahmoud. Investigating Web Services on the World Wide Web // WWW 2008. -Р. 795-804.

2. Anbazhagan Mani, Arun Nagarajan. Understanding quality of service for Web services // Материалы компании IBM [Электронный ресурс]. - Режим доступа: http://www.ibm.com/developerworks/library/ws-quality.html, свободный.

3. Клименков С.В., Максимов А.Н., Харитонова А.Е. Семантический анализ проектной документации // Научно-технический вестник СПбГУ ИТМО. - 2008. - № 46. - C. l98-202.

4. Бессмертный И.А. Теоретико-множественный подход к логическому выводу в базах знаний // Научно-технический вестник СПбГУ ИТМО. - 20l0. - № 66. - C. 4З-48.

5. Qi Yu, Athman Bouguettaya. Foundations for Efficient Web Service Selection // Springer - 2009. - l60 c.

Дергачев Андрей Михайлович - Санкт-Петербургский государственный университет информационных технологий, механики и оптики, старший преподаватель, dam600@gmail.com

УДК 681.786.23

МЕТОДИКА СБОРКИ И ОБРАБОТКИ ДАННЫХ, ПОЛУЧЕННЫХ В ПРОЦЕССЕ 3Б-СКАНИРОВАНИЯ В.О. Тишкин

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

Введение

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.