Низкая цена
Всего 249a за скачивание одной диссертации
Скидки
75 диссертаций за 4900a по акции. Подробнее
О проекте

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

Я впервые на сайте

Отзывы о нас

Архитектуры и методы проектирования мигрирующих систем : диссертация ... кандидата технических наук : 05.13.11

Год: 2005

Номер работы: 84516

Автор:

Стоимость работы: 249 e

Без учета скидки. Вы получаете файл формата pdf

Оглавление и несколько страниц
Бесплатно

Вы получаете первые страницы диссертации в формате txt

Читать онлайн
постранично
Платно

Просмотр 1 страницы = 3 руб



Оглавление диссертации:

8.1. Файл модели системы с одним сервисом в сети без отказов

8.2. Файл модели системы в сети с отказами узлов

8.3. Файл модели системы с несколькими сервисами

8.4. Файл модели для определения параметров системы C. Удаленная инсталляция и запуск приложений. С.1. Использование Windows Management Instrumentation (WMI) 203 206 209 212 196 198 199 200 201 195 191 Сокращения и условные обозначения API ARA ANSI ASDK ASP AvME CAMS CIA COM CORBA CPU CSTaR DCOM DDS DNS FIFO FIPA FTP H

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

Глава 1. Мигрирующие системы

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

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

Для описания объекта исследования был определен следующий набор свойств, наличие которых позволяет рассматривать обслуживающую систему как мигрирующую систему [98]: мобильность кода и состояния (Code and State Mobility); осведомленность в контексте (Context Awareness); способность перераспределять нагрузку (Load Redistribution Facility); автономность (Autonomy); переносимость (Portability); масштабируемость (Scalability); гибкость (Flexibility); реагируемость (Reactivity); активность (Activit

В настоящее время наиболее полно концепция мобильности кода и состояния программных компонентов разработана в технологии мобильных агентов. Исследования в области агентских технологий начали проводиться в 70-х годах [48]. Эти исследования были связаны с работами по искусственному интеллекту. Можно выделить два основных этапа в истории исследования агентов. Первый начат около 1977 года и связан с исследованиями в области распределенного искусственного интеллекта. Тогда основное внимание было с

Существует большое число определений агента, отражающих те или иные особенности агентов. Применительно к исследуемой области наибольший интерес представляют агенты, обладающие свойством мобильности, т.е. агенты, способные мигрировать по сети. Мобильный агент (Mobile Agent) - это программа, которая может приостановить свое выполнение, переслать себя на другой узел сети и продолжить на нем свою работу. Ключевой чертой агента является то, что и его код, и состояние (данные) являются мобильными.

В настоящее время разработаны два основных стандарта построения систем мобильных агентов: MASIF (Mobile Agent System Interoperability Facilities, Возможности взаи­ модействия систем мобильных агентов), созданный в ассоциации OMG (Object Man­ agement Group, Группа управления объектами); FIPA (Foundation for Intelligent Physical Agents, Организация систем интеллектуальных физических агентов), разработанный в одноименной ассоциации. Основная цель стандарта MASIF - обеспечить возможность взаимод

Существует большое число приложений, для которых хорошо подходит применение мобильных агентов. Большинство этих приложений, как правило, включает поиск информации в интересах пользователя и, возможно, выполнение некоторых действий, когда требуемая информация найдена. В современной литературе чаще всего описываются следующие области применения [14], [34], [37], [61], [65], [82]: поиск распределенной информации. Мобильные агенты могут последовательно перемещаться с одной машины на другую, собир

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

Понятие контекстно-ориентированных технологий было введено Шилитом и Теймером в 1994 году для обозначения программного обеспечения, которое адаптируется в соответствии со своим местом использования, совокупностью находящихся поблизости людей и объектов, изменяя, в свою очередь, эти объекты с течением времени [59]. Контекстно-ориентированные приложения собирают зависящие от контекста знания о своих пользователях и текущей окружающей обстановке. Эта информация, как правило, извлекается из разли

Контекстом (Context) называется любая информация, которая может использоваться для описания состояния некоторой сущности [4]. Сущность - это человек, местоположение или объект, который считается важным для взаимодействия между пользователем и приложением, включая самого пользователя и приложение. Система является контекстно-ориентированной (Context-Aware), если она использует контекст для обеспечения пользователя важной информацией и/или услугами, причем важность зависит от задачи пользовател

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

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

Серверные программы Internet, поддерживающие такие приложения как финансовые транзакции, доступ к базам данных, корпоративные сети, должны выполняться 24 часа в день, 7 дней в неделю [40]. Чтобы обеспечить сети возможностью масштабировать производительность для обработки больших объемов клиентских запросов, не создавая при этом нежелательных задержек, используются системы перераспределения нагрузки и кластеризации [11], [41], [66]. В самом простейшем виде средства перераспределения нагрузки я

Кластером называется группа независимых серверов, управляемая как единая система для обеспечения высокой доступности, простой управляемости и эффективной масштабируемости [И]. Программное обеспечение, управляющее кластером, включает такие сервисы, как обнаружение отказов, восстановление после сбоев и перераспределение нагрузки [66], [76]. Доступность заключается в том, что при отказе одного из серверов, входящих в состав кластера, нагрузка отказавшего сервера перераспределяется между оставшим

Основными направлениями применения технологий перераспределения нагрузки и кластеризации являются системы, ключевыми требованиями к которым являются высокая масштабируемость с возможностью пошагового расширения и надежное бесперебойное функционирование. Существующие технологии обеспечивают: прозрачное перераспределение нагрузки между серверами без состояния (Stateless Server) и ограниченная поддержка серверов с состоянием (Stateful Server) за счет использования липких соединений [106]; масшта

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

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

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

Мигрирующая система представляет собой набор сервисов sj,J= 1, ..., т, обслуживающих запросы пользователей м„ г = 1,...,/?. Система устанавливается в сети, состоящей из узлов hi,i=l, ...,п (рис.

2.1). Узел hi Узел А: Сервис ^2 Узел h„ Сервис s„ УзелА„+1 Сервис s\ Запросы Запросы Узел Пользователь u\ Узел Пользователь «2 Узел Пользователь Up Сеть Рис.

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

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

2.3. Управляющая часть Репликация / дерепликация Репликация и дерепликация сервиса Реконфигурация Функциональная часть1 Синхронизация состояния Обработка запросов принятие решений Контекст Запрос Очередь Запрос'^ Ответ Взаимодействие с другими репликами Контекст Получение контекстной информации Контекст Операционная система (ОС) Сетевые прот

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

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

2.5). Количество очередей сервиса Единственная очередь Очередь, распределенная между репликами В каждой реплике Независимо от реплик В одной из реплик Место хранения очереди Пассивная сущно

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

2.10). Диспетчер запросов ^ Централизованная диспетчеризация ^ Распределенное выравнивание нагрузки Рис.

2.10. Диспетчер запросов Вариант 1. Централизованная диспетчеризация, использующая различного вида модели диспетчера, принимающего запросы на обслуживание и

Интерфейс с клиентами является точкой доступа к услугам, предоставляемым сервисами мигрирующей системы, со стороны внешних пользователей. Этот модуль выполняет три основные функции'. ~ прием запросов от пользователей на обслуживание; проверка корректности запросов (тип запроса, соответствие переданных возврат результатов пользователям; поддержка «липких соединений». параметров ожидаемым, ограничения на время выполнения и занимаемые ресурсы); Последняя функция связана с возможностью обработ

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

2.13). Тип мобильности / Строгая мобильность \ Нестрогая мобильность Рис.

2.13. Орг

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

2.14). Получение контекстной информации Опро

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

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

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

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

2.1 представлены результаты выбора структурных и функциональных решений, которые были описаны в разделе

2.2 и представлены на рис.

2.4-

2.21.

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

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

2.22. Архитектура мигрирующей системы для локальных сетей 77 Достоинства архитектуры: простая реализация взаимодействия между репликами сервиса и клиентами полностью децентрализованная архитектура, основанная на распределенвысокая надежность системы за счет резервирования всех компонентов использование общей очереди не требует перераспределения запросов меза счет использования групповой адресации; ном выравнивании нагрузки и отсутствии единого диспетчера запросов; системы, в том числе очереде

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

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

Мигрирующие системы относятся к классу многопользовательских распределенных приложений, выполняющих перемещение своих компонентов по сети. Для исследования и построения таких систем используется богатый математический аппарат, включающий методы теории алгоритмов [77], [91], [92], [99], математической логики [77], [87], [91], [93], [99], [107], теории автоматов [85], систем массового обслуживания (СМО) [75], [80], [83], [86], теории множеств и графов [68], [77], [79], [90], [91], [97] теории с

Переход системы из одного состояния в другое называется событием. Последовательность однородных событий, появляющихся в какие-то моменты времени, образует поток событий. Важной характеристикой потока событий является интенсивность X — среднее число событий, появляющееся в единицу времени. Поток событий называется регулярным (детерминированным), если события в нем следуют через определенные заранее известные интервалы времени: Tj, Т2, ..., Г/, ..., Г„. Если значения интервалов времени постоянн

Использование теории массового обслуживания (ТМО) накладывает рлд ограничений на моделируемые системы. В связи с этим, будем рассматривать модель мигрирующей системы, обладающей следующими параметрами: 1. мигрирующая система устанавливается в сети Н = {h\, /?2, ..., h„ }, содержащей п узлов; связи между узлами образуют полный граф р = Я х Я, т.е. каждый узел сети связан со всеми остальными узлами; 2. 3. 4. лики; 5. узлы hi,i = 1,и сети Я могут выходить из строя; поток отказов узлов - промигри

3.1.3. Классификация Все СМО классифицируются по ряду признаков. Исследуемая модель мигрирующей системы может быть классифицирована следующим образом: 83 1. структура входящего потока — разомкнутый (источник является причиной неограниченного количества запросов; поведение источника не зависит от того, в каком состоянии находится система в данный момент); 2. 3. 4. вид входящего потока — простейший', число мест в очереди - с отказами (все реплики имеют ограниченное число дисциплины ожидания и

Параметры системы В качестве входных данных при моделировании мигрирующих систем с помощью СМО выступают следующие параметры: 1. 2. 3. 4. 5. 6. количество узлов сети «; длина очереди реплики /; интенсивность входящего потока запросов А,; интенсивность потока обслуживания запросов ц; интенсивность потока отказов узлов D; интенсивность потока восстановления узлов t,. Характеристики системы По результатам моделирования СМО могут быть получены следующие характеристики, выражающие качество иссле

Пусть N{t) = { H(t), p(f) } - сеть, которая в определенный момент времени / содержит п узлов H(t) = { hu hi, ..., h„ }. Множество физических связей между узлами определяется отношением р(/) с H{t) х H{i). \ Допустим, что в сети устанавливается мигрирующая система S(J). В некоторый момент времени t эта система представляет собой набор из т сервисов S{t) = { s*\{t), 5*2(0, . . . , 5 \ ( 0 } . Каждый сервис s*,{t) может быть представлен в системе в виде к своих копий (реплик), которые размещаютс

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

Глава 4. Имитационное моделирование мигрирующих систем

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

4.2. Архитектура системы моделирования Система моделирования мигрирующих приложений (Migration Simulation System, MSS) определяет следующие основные модели: модель пользователей мигрирующей системы; модель сети, в которой выполняется система; модель сервисов, предоставляемых системой. Значения параметров каждой модели могут настраиваться для обеспечения требуемого поведения и получения желаемых характеристик системы. Дополнительно к реализации перечисленных моделей, MSS включает набор вспом

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

Всех пользователей (клиентов) мигрирующих систем можно разделить на группы в зависимости от пакета задач R= {г\,Г2, ..., Гщ), которые они решают с использованием сервисов, предоставляемых мигрирующими системами. Каждая задача г/ из пакета R описывается следующими наборами свойств: входные параметры задачи (ш,); характеристики выполнения задачи (^erv,); выходные характеристики задачи (ow/,). Если проводить аналогию между свойствами задачи г,- в мигрирующей системе и функциейД) в процедурных

Мигрирующая система является распределенным приложением, выполняющимся в локальной или глобальной сети. Модель сети (Network) включает следующий набор параметров: список узлов (Node List), входящих в сеть. Список узлов определяет фактические границы сети, в рамках которых возможны взаимодействия частей исследуемой мигрирующей системы. С точки зрения реализации, сеть может быть ограничена определенным набором IP-адресов, NT-доменом и др., однако при моделировании это не является принципиальным

Мигрирующая система может состоять из одного или нескольких сервисов. Сервис (Service) - это набор взаимосвязанных услуг, предоставляемых внешним, по отношению к мигрирующей системе, пользователям. При моделировании конкретный набор услуг, обеспечиваемым сервисом, не является принципиальным. Это может быть Web-сервис, поисковая система, система управления базами данных (СУБД) и др. Любой сервис в системе MSS может быть описан следующим набором параметров: начальный узел (Initial Node), на кот

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

Модуль визуализации предназначен для графического представления процесса моделирования мигрирующей системы, В модуле визуализации показываются следующие объекты системы: узлы сети (Nodes). Для каждого узла сети отображается его название (например. My Home Computer), текущее состояние (работоспособный или в состоянии отказа) и набор находящихся на нем реплик сервисов. Узел, находящийся в состоянии отказа, изображается более темные цветом, по сравнению с работоспособными узлами; сервисы системы

Система моделирования в процессе своего выполнения ведет файл истории (Log File), который содержит следующую информацию о работе приложения: процедуру построения модели системы (перечень объектов мигрирующей системы, значения параметров каждого объекта, а также набор связей между отдельными объектами); процесс моделирования (генерацию запросов пользователями, изменение состояния узлов сети, репликацию и дерепликацию сервисов, состояние очередей, результаты процедуры конвергенции, обслуживание

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

Основой для проектирования и программной реализации системы моделирования мигрирующих приложений (MSS) являются: 113 теоретико-множественно-событийная модель, задающая множество ключеархитектура системы моделирования, определяющая совокупность реали­ вых абстракций системы и наборы операций над этими абстракциями; зуемых моделей в терминах наборов входных параметров и исследуемых характеристик системы.

4.3.1. Структура модели В соответствии с теоретико-множественно-событийной моделью система представляет собой следующий набор ключевых объектов: сеть (CNetwork), H{t) = { hi{t), /ггСО» •••> h„(t), p(t) } - физическая среда вы­ полнения мигрирующей системы, состоящая из п узлов hj(t),i = l,n и связей между ними pij(t),i,j = \,n', узел (CNode), hi(t)yi = l,n — сетевое устройство, способное выполнять слу­ жебные (административные) и прикладные (пользовательские) задачи; связь (Link), Pj{t),

В каждый момент времени t все объекты системы описываются некоторым набором свойств, определяющим текущее состояние моделируемой системы. Процесс 115 моделирования представляет собой последовательность шагов (Steps) или кадров (Frames), в каждом из которых выполняются определенные действия, приводящие систему в новое состояние. Для управления процессом моделирования используется объект таймера (CTimer). Таймер выполняет следующие основные функции: запускает (Start()) и останавливает (Stop())

Сеть описывается следующим набором параметров (см. подробное описание в разделе «Архитектура системы моделирования»): списком узлов (m_lstNodes); списком выполняющихся сервисов (m_lstServices); списком работающих пользователей (m_lstUsers); пропускной способностью (m_varThroughput, случайная величина); фоновой нагрузкой (m_varBackgroundLoad, случайная величина). текущей пропускной способностью (m_uiCurrentThroughput); текущей фоновой нагрузкой (m_uiCurrentBackgroundLoad); текущей полезной наг

Сервис описывается следующим набором параметров (дополнительную информацию см. в разделе «Архитектура системы моделирования»): 1ф именем сервиса (ra_strName); начальным узлом (m_wrInitialNode); максимальной длиной очереди запросов (muiMaxQueueLength); порогом репликации (m_uiReplicationBarrier); порогом дерепликации (m_uiDereplicationBarrier); - 118 • алгоритмом выбора места репликации (m_enReplicationNode); алгоритмом выбора места дерепликации (m_enDereplicationNode); возможностью прерыва

Реплика описывается следующим набором параметров: именем реплики (m_strName) в формате «REPxxxxxxxx»; где хххххххх последовательные шестнадцатеричные числа, начиная от 00000000; используется сквозное именование реплик для всех сервисов системы; именем сервиса, которому принадлежит реплика (m_strServiceName). В каждый момент времени / поведение реплики определяется значением следующих свойств: состоянием реплики (m_uiState); обслуживаемым запросом (mwrRequest). если реплика находится в состоян

Для описания модели пользователя используется следующий набор параметров (см. подробнее в разделе «Архитектура системы моделирования»): т имя пользователя (mstrName); сервис, который обслуживает запросы этого пользователя (m_wrService); промежуток времени между созданием двух соседних запросов (m_varRequestCreation, случайная величина); размер запроса (размер входного пакета данных, mvarlnputDataBurstSize, сложность запроса (m_varComputationalComplexity, случайная величина); размер результат

Модель запроса описывается следующим набором параметров: именем запроса (mstrName) в формате в формате «REQxxxxxxxx»; где хххххххх - последовательные шестнадцатеричные числа, начиная от 00000000; имя запроса является уникальным в пределах всей системы моделирования; '« объемом работы, которую нужно выполнить, чтобы обслужить запрос размером входного пакета, который содержит данные запроса и передается размером выходного пакета, который содержит результаты выполнения за­ (m_uiTotalWork); по

В системе моделирования используется единая очередь сервиса для всех реплик. Общая очередь упрощает процедуру взаимодействия с ней других компонентов. Взаимодействие с очередью осуществляется через открытый интерфейс, включающий в себя следующий набор методов: IsEmptyO - проверяет, является ли очередь пустой. Вызывается репликой IsFuUQ - проверяет, является ли очередь заполненной. Вызывается репли­ Push() - помещает запрос в конец очереди. Вызывается пользователем. ЕсРорО - извлекает запрос и

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

4.4.1. Анализ системы с одним сервисом в сети без отказов Дано: 1. сеть, состоящая из пяти узлов (Node 1 - Node 5), соединения между которыми образуют полный граф, (каждый узел сети попарно связан со всеми остальными узлами); сеть имеет следующие

4.7. Выводы: графики средней длины очереди (рис. 4,7.а) и среднего числа реплик сервиса (рис.

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

Дано: 1, сеть, включающая пять узлов (Node 1 - Node 5), соединенных одним из каждый узел связан попарно со всеми остальными узлами сети, образуя узлы объединены в кольцо (1-2-3-4-5-1), т.е. каждый узел связан с двумя связи между узлами образуют крест, в центре которого находится узел 1, в трех способов: полный граф (Clique); соседними (Ring); результате чего все узлы имеют связь только с первым узлом (Star); сеть имеет следующие характеристики: пропускная способность равномерно распределена в

4.8. Выводы: характеристики системы, связанные с безотказной работой сервиса и временем обслуживания запросов пользователя, зависят от характера связей между узлами сети и ухудшаются при переходе от полного графа (Clique) к кольцу (Ring) и от кольца (Ring) к топологии с центральным узлом (Star); миграция реплик сервиса при выходе из строя узлов сети позволяет сохранять низкое время обслуживания запросов пользователя (при повышении частоты отказов узлов в 10 раз среднее время пребывания запрос

Дано: 1. сеть, состоящая из шести узлов (Node 1 - Node 6), соединения между котопропускная способность распределена по равномерному закону в диапазоне фоновая нагрузка распределена по равномерному закону от 50 до 100 едирыми образуют полный граф, и имеющая следующие характеристики: от 400 до 600 единиц (Var(Ev;400;600)); ниц (Var(Ev;50; 100)); все узлы имеют следующие одинаковые характеристики: 2. производительность равна 50 единицам; фоновая нагрузка распределена по равномерному закону от 5

Дано: 1. сеть, число узлов которой может меняться от двух до бесконечности; независимо от количества узлов сети, связи между ними образуют полный граф; сеть имеет следующие характеристики: пропускная способность распределена по равномерному закону в диапазоне фоновая нагрузка распределена по равномерному закону от 10 до 20 единиц от 100 до 150 единиц (Var(Ev;100;150)); (Var(Ev;50;100)); все узлы имеют следующие характеристики: 2. тельно; длина очереди равна 10 запросам; порог репликации равен

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

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

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

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

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

5.1): консоли администратора (MSConsole), предназначенной для запуска серстанции (MSStation), устанавливаемой на удаленных машинах и обеспечисервиса (MSService), обслуживающего запросы клиентов и перемещающевисов мигрирующей системы на произвольной удаленной машине; вающей загрузку по сети кода и данных сервисов мигрирующей системы; гося по сети под воздействием ряда событий; 157 клиента (MSClient), создающего запросы, которые обслуживаются серви­ сами мигрирующей системы. По запросу клиента

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

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

5.2.4. Клиент (MSCIient) Клиент является внешним приложением, посылающим запросы на обслуживание сервису мигрирующей системы. Клиент предназначен для исследования поведения мигрирующей системы при разных уровнях и типах нагрузки на сервис и выполняет следующий набор функций: предоставляет пользователю удобный интерфейс для формирования запроса на поиск информации в базе данных; DEREPLICATE - посылается всем репликам как запрос на дерепликацию REPLICATE - посылается всем репликам как запрос на

Для оценки производительности сервиса разработанного прототипа мигрирующей системы проводится следующий эксперимент. Клиент MSClient запускается в режиме пакетной генерации запросов. Во входном файле MSData.txt описывается единственное задание First Job, определяющее создание п запросов. Параметр п изменяется в серии экспериментов и принимает значения от 10 до 100 с шагом 10. Файл MSData.txt для значения w = 10 имеет следующий вид: [First Job] Database = MSService Test Table = Customers Repea

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

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

В разработанном прототипе для удаленной загрузки и запуска приложений используется станция MS Station, которая должна быть установлена на все машины сети, предназначенные для работы мигрирующего сервиса MSService. Многие операционные системы (ОС) поддерживают встроенные средства удаленной инсталляции приложений. Например, ОС семейства MS Windows NT имеют такие средства, как Win­ dows Management Instrumentation (WMI), Service Control Manager (SCM) и Terminal Services, позволяющие как устанавли