OGSA - tolstykh.com

advertisement
Из цикла лекций «Современные Internet-технологии» для студентов 5-го курса кафедры Компьютерных технологий
физического факультета Донецкого национального университета
OGSA
(Open Grid Services
Architecture)
Концепция, Grid-сервисы, пример структуры OGSA,
интерфейсы Grid-сервисов
ДонНУ, кафедра КТ, проф.В.К.Толстых
Что это такое?
Эволюция технологии Grid привела к возникновению архитектуры
Open Grid Services Architecture. В ней Grid-система предоставляет обширный
набор Web-сервисов, которые виртуальные организации могут объединять
различными способами. Если раньше приложения обращались к
компьютерам и их дискам, то здесь они должны обращаться к службам,
которые определяют нужные ресурсы и организуют работу с ними.
Архитектура OGSA:
• определяет единообразную семантику взаимодействия служб, наборы
обязательных интерфейсов,
• определяет стандартные механизмы для создания, именования и обнаружения экземпляров Grid-служб,
• обеспечивает прозрачность местонахождения и связывание различных
протоколов,
• поддерживает интеграцию с базовыми механизмами нижележащих
платформ.
Grid-сервисы
OGSA определяет Grid-службу как Web-сервис, поддерживающий специфические
соглашения Open Grid Services Infrastructure (OGSI):
• единый механизм обнаружения служб (экземпляров служб), определения их
характеристик и конфигурирования запросов к этим службам,
• идентификация Grid-сервисов – дескрипторы (Grid Service Handle, GSH –
глобально уникальные имена) и механизм отображения, позволяющий по
дескриптору получить текущую ссылку (Grid Service Reference, GSR) на экземпляр
сервиса,
• соглашения по взаимной аутентификации и авторизации служб и контролю
одновременного использования,
• службы OGSA могут создаваться и уничтожаться динамически, а экземпляры
служб, имеют состояние и, возможно, ограниченное время жизни,
• службы OGSA могут асинхронно уведомлять друг друга о серьезных
изменениях в своем состоянии,
• интерфейс управляемости служб OGSA позволяет выполнять мониторинг
больших наборов экземпляров Grid-служб и управлять ими.
Пользователь хочет обнаружить, приобрести и
развернуть удаленным образом средства для
создания новой базы данных путем добычи данных
из нескольких источников данных в Internet
Пользователь (программа или служба, действующая от имени пользователя)
обращается к реестру фабрик в Grid для поиска провайдеров служб, способных
предоставить требуемые возможности добычи и хранения данных. Он может
указать, например, стоимость, местонахождение или производительность. Реестр
возвращает дескрипторы, указывающие необходимую фабрику добычи данных и
фабрику базы данных.
Пользователь инициирует запросы на создание экземпляров фабрики добычи и
базы данных. Создаются два новых экземпляра служб с требуемым начальным
состоянием, ресурсами и временем жизни.
Служба добычи данных инициирует запросы к соответствующим удаленным базам
данных от имени пользователя. Результаты запросов возвращаются вновь
создаваемой базе данных. В процессе работы пользователь может периодически
направлять сообщения о продлении времени жизни всех экземпляров служб.
Экземпляр службы добычи данных уведомляет пользователя о выполнении и
завершении работы. Затем пользователь сохраняет дескриптор для вновь
созданной базы данных, которая может использоваться до тех пор, пока это
необходимо, и периодически сигнализирует о том, что данный экземпляр службы
нужен по-прежнему.
OGSA – «Добыча данных»
Провайдер службы добычи
Internet
Фабрика
добычи данных
Реестр этого
Grid
4
3.1
Экземпляр службы
добычи данных
6
1
2
Приложение
пользователя
5
3.2
5
9
10
7
Провайдер службы хранения
Фабрика
базы данных
4
8
Экземпляр службы
хранения данных
1 – найти службу добычи данных, 2 – дескрипторы фабрик добычи данных и базы данных,
3.1 – создать службу добычи данных со временем жизни 10, 3.2 – создать службу хранения
данных со временем жизни 100, 4 – создать экземпляр, 5 – продлить время жизни, 6 – запрос,
7 – результат, 8 – сохранить, 9 – дескриптор новой базы , 10 – продлить время жизни.
Основные стандартные
интерфейсы Grid-сервисов
Интерфейс
GridService
NotificationSource
NotificationSink
Операции
FindServiceData - Позволяет опрашивать экземпляр Grid-сервиса на
предмет различной информации о нём, как общего характера, так и
связанной с предоставляемым сервисом
SetTerminationTime - Установить время уничтожения экземпляра
Grid-сервиса
Destroy - Уничтожить экземпляр Grid-сервиса
SubscribeToNotificationTopic - Подписка на уведомления о событиях,
связанных с сервисом, в соотвествии с заданными типами сообщений,
критерями и т.д. Может использовать сторонние службы рассылки
сообщений.
DeliverNotification - Провести асинхронную рассылку сообщений с
уведомлением
Registry
RegisterService – Провести временную регистрацию указанного
дескриптора Grid-сервиса
UnregisterService - Снятие дескриптора с регистрации
Factory
CreateService - Создать новый экземпляр Grid-сервиса
HandleMap
FindByHandle - Вернуть ссылку (Grid Service Reference), связанную в
настоящий момент с указанным дескриптором (Grid Service Handle)
Подробнее об интерфейсах
OGSA
Создание сервисов (Фабрика)



Фабрики (factories) - класс Grid-сервисов, которые реализуют
интерфейс Factory для создания новых экземпляров Grid-сервисов.
Операция CreateService интерфейса Factory создает требуемый Gridсервис и возвращает дескриптор (GSH) и начальную ссылку (GSR) на
новый экземпляр сервиса.
Интерфейс Factory не определяет то, каким образом создается
экземпляр сервиса.
Управление жизненным
циклом сервиса


Время жизни сервиса – момент, когда выполнение сервиса может или должно быть
завершено, а используемые им ресурсы освобождены. Из-за сбоев в
распределенных системах сервис может никогда не получить команды.
Soft-state подход - поддерживает надежное завершение работы и защиту от
сбоев:




Стандартные операции управления жизненным циклом экземпляра Grid-сервиса:




Экземпляры Grid-сервисов создаются с заданным ограниченным временем жизни,
Время жизни может быть продлено на указанный период при помощи явного запроса
со стороны клиента или другого сервиса,
По истечении времени жизни среда размещения или сам экземпляр сервиса может
завершить свою работу и освободить все используемые ресурсы.
CreateService – в параметрах задается начальное время жизни,
SetTerminationTime - обновление времени жизни,
Destroy – явное прекращение работы сервиса,
Синхронизация часов - Network Time Protocol (NTP)
Управление дескрипторами
и ссылками



Интерфейс отображения дескрипторов HandleMap  Операция FindByHandle принимает в качестве аргумента
значение GSH и возвращает соответствующее ему текущее
значение GSR.
Алгоритм получения GSR экземпляра сервиса:
 Идентификация сервиса отображения, который хранит
отображение для данного GSH,
 Связь с этим сервисом для получения нужной GSR.
Каждый экземпляр Grid-сервиса обязан быть зарегистрирован покрайней мере в одном сервисе отображения, который называется
домашним.
Данные сервиса



С каждым экземпляром Grid-сервиса связаны данные сервиса
 информация, структурированная в виде набора именованных и
типизированных XML-элементов (service data elements, SDE)
Запрос и извлечения данных сервиса осуществляется при помощи
операции FindServiceData
Для каждого из стандартных интерфейсов определен набор
элементов данных сервиса, которые должны поддерживаться
любым экземпляром сервиса, реализующим данный интерфейс
Поиск сервисов



Реестр (registry) - это Grid-сервис, поддерживающий поиск сервисов и
реализующий интерфейс Registry:
 RegisterService – Провести временную регистрацию указанного
дескриптора Grid-сервиса,
 UnregisterService - Снятие дескриптора с регистрации.
Поиск и извлечение информации о зарегистрированных сервисах
осуществляется с помощью операции FindServiceData
Soft-state подход:
 регистрация GSH является временной операцией и должна
периодически обновляться.
Уведомления





Сервисы должны иметь возможность асинхронно уведомлять друг
друга о значащих изменениях своего состояния (событиях)
Модель уведомлений OGSA  позволяет клиентам подписываться на уведомления об
определенных событиях,
 поддерживает асинхронную, одностороннюю доставку
уведомлений.
Операция подписки представляет собой просто запрос на
последующую доставку данных сервиса, которые удовлетворяют
указанным критериям.
Интерфейс NotificationSource – обязателен для реализации
сервисом-отправителем уведомлений.
Интерфейс NotificationSink – обязателен для реализации сервисомполучателем уведомлений
Download