Модели и метод оценивания оперативности облачных вычислений с web-интерфейсом тема диссертации и автореферата по ВАК РФ 05.13.18, кандидат наук Халил Маад Модер

  • Халил Маад Модер
  • кандидат науккандидат наук
  • 2017, ФГБОУ ВО «Петербургский государственный университет путей сообщения Императора Александра I»
  • Специальность ВАК РФ05.13.18
  • Количество страниц 139
Халил Маад Модер. Модели и метод оценивания оперативности облачных вычислений с web-интерфейсом: дис. кандидат наук: 05.13.18 - Математическое моделирование, численные методы и комплексы программ. ФГБОУ ВО «Петербургский государственный университет путей сообщения Императора Александра I». 2017. 139 с.

Оглавление диссертации кандидат наук Халил Маад Модер

СПИСОК СОКРАЩЕНИЙ

ВВЕДЕНИЕ

ГЛАВА 1 АНАЛИЗ СИСТЕМ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ С WEB-ИНТЕРФЕЙСОМ

1.1 Общая характеристика облачных вычислений

1.2 Классификация облачных сервисов

1.3 Модели построения облачных систем

1.4 Приложения облачных вычислений с Web-интерфейсом

1.5 Фильтры и сервлеты

1.6 Критерии оценивания облачных систем

1.7 Постановка задач исследования

1.7.1 Содержательная постановка задачи исследования

1.7.2 Математическая постановка задачи исследования

Выводы по разделу

ГЛАВА 2. МОДЕЛИ МНОГОКАНАЛЬНЫХ НЕ МАРКОВСКИХ СМО С «ОХЛАЖДЕНИЕМ»

2.1 Классификация систем массового обслуживания

2.2 Характеристика методов анализа СМО

2.3 Учет воздействия «охлаждения» на работу СМО

2.4 Аппроксимация с помощью распределений фазового типа

2.5 Диаграммы и матрицы переходов для моделей СМО с «охлаждением»

2.5 Модель облачных вычислений с Web-интерфейсом на основе СМО с «охлаждением»

2.6 Метод расчета распределения времени ожидания в очереди

2.6.1 Характеристика методов расчета времени ожидания

2.6.2 Метод расчета ПЛС времени ожидания заявки в очереди

Выводы по разделу

ГЛАВА 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ МОДЕЛЕЙ МНОГОКАНАЛЬНЫХ СМО С «ОХЛАЖДЕНИЕМ»

3.1 Описание программной реализации

3.2 Общая характеристика программного комплекса

3.3 Состав комплекса

3.4 Подход к тестированию комплекса программ

3.5 Взаимная проверка результатов вычислений

3.6.1 Особенности разработки имитационных моделей СМО

3.6.2 Особенности алгоритма и программной реализации

Выводы по разделу

ГЛАВА 4. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ РЕЗУЛЬТАТОВ ИССЛЕДОВАНИЙ

4.1 Обучение в облачной модульной объектно-ориентированной динамической учебной среде Moodle

4.2 Проект ООО «1С - 8с1оиё»

4.3 Данные по внедрению результатов исследований

Выводы по разделу

ЗАКЛЮЧЕНИЕ

ПРИЛОЖЕНИЕ А. ИСХОДНЫЕ ТЕКСТЫ ОСНОВНЫХ ФУНКЦИЙ КОМПЛЕКСА ПРОГРАММ РАСЧЕТА ХАРАКТЕРИСТИК МНОГОКАНАЛЬНЫХ СМО

ПРИЛОЖЕНИЕ Б. 3 КЛАССА ФИЛЬТРОВ GZIP

СПИСОК СОКРАЩЕНИЙ

АС - автоматизированная система

БПФ - быстрое преобразование Фурье

ВВХ - вероятностно-временные характеристики

ВК - вычислительный комплекс

ВТ - вычислительная техника

ИС - информационная система

ОЗУ - оперативное запоминающее устройство

ОС - операционная система

ПЛС - преобразование Лапласа- Стилтьеса

ПО - программное обеспечение

СВТ - средства вычислительной техники

СеМО - сеть массового обслуживания

СМО - система массового обслуживания

ТМО - теория массового обслуживания

ЭВМ - электронная вычислительная машина

ЭТХ - эксплуатационно-технические характеристики

JSP - Java Server Page - серверная страница Java

ВВЕДЕНИЕ

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

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

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

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

Рекомендованный список диссертаций по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Введение диссертации (часть автореферата) на тему «Модели и метод оценивания оперативности облачных вычислений с web-интерфейсом»

Актуальность темы исследования

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

Характеристикой работы систем массового обслуживания служат показатели эффективности, которые можно разделить на 3 группы:

1) показатели, отражающие оперативность обслуживания (общее количество заявок, находящихся в системе, среднее число заявок, находящихся в очереди, среднее время пребывания заявки в системе, среднее время ожидания заявкой начала обслуживания);

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

3) показатели, отражающие экономические особенности системы (стоимость СМО, трудовые расходы обслуживающего персонала, убытки или доходы системы).

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

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

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

В связи с увеличением применения распределенных систем в инженерной практике, этой теме уделяется большое внимание в научных публикациях и литературе. В работах Бубнова В.П., Гончаренко В.А., Кудашева Е.Б., Мулюхи В.А., Федотова А.М., Швецова А.Н., Филонова

A.Н., Шокина Ю.И., Яковлева В.В, Яковлева С.А. исследуются принципы построения распределенных информационных систем. В работах Алиева Т.И, Вишневского В.М., Грассмана В., Гиндина С.И., Дудина А.Н., Жожикашвили В.А., Заборовского В.С., Крейнина А.Я., Колахи С., Лохвицкого В.А., Матвеева С.В., Латуша Г., Рыжикова Ю.И., Сафонова

B.И., Таранцева А.А., Тырвы А.В., Хомоненко А.Д., Эбата Дж. рассматриваются подходы к проектированию и определению характеристик для моделей, применяемых в исследованиях распределенных информационно-вычислительных системах.

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

времени ожидания обслуживания, и приемлемом уровне простоя ресурсов СМО.

Отметим, что точное исследование нестационарных СМО затруднительно даже при простейших предположениях о свойствах нестационарности: нестационарный пуассоновский поток или нестационарное, но экспоненциально распределенное время обслуживания.

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

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

• при моделировании распределенных систем не учитываются дополнительные расходы времени на работу сервлетов, на практике серьезно влияющие на оперативность;

• модели не обладают полной общностью, так как строятся для конкретных распределенных вычислительных систем;

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

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

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

Объект исследования - влияние фильтров на оперативность выполнения приложений с Web-интерфейсом в облачных системах, построенных на основе сервлетов и фильтров.

Цель исследования - повышение точности расчета характеристик оперативности распределенной обработки данных в облачных системах с помощью приложений с Web-интерфейсом.

Наиболее часто определяют такие характеристики оперативности функционирования информационно-вычислительных систем как:

• время реакции при обработке запроса пользователя;

• производительность системы (количество запросов, обслуживаемых в системе за единицу времени);

• среднее быстродействие системных компонентов;

• доля времени занятости компонентов;

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

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

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

• разработка моделей многоканальных не Марковских систем массового обслуживания с «охлаждением», обеспечивающих

возможность учета дополнительных временных расходов при оценивании оперативности функционирования узлов в облачных системах;

• разработка метода расчета временных характеристик многоканальных не Марковских СМО с «охлаждением» для оценки оперативности функционирования узлов систем облачных вычислений;

• разработка программного комплекса расчета характеристик оперативности для исследуемого класса моделей многоканальных СМО;

• анализ характеристик оперативности функционирования прикладных систем облачных вычислений и оценка эффективности предлагаемых решений.

Положения, выносимые на защиту

• Математические модели системы облачных вычислений с Web-интерфейсом на основе многоканальных не Марковских систем массового обслуживания с «охлаждением»

• Метод расчета распределения времени ожидания запросов в многоканальных не Марковских СМО с распределениями фазового типа.

• Комплекс программ по расчету оперативности облачных вычислений с помощью моделей многоканальных не Марковских систем массового обслуживания с «охлаждением» и аппроксимирующими обобщенными распределениями Эрланга 2-го порядка.

Методы исследования

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

теории графов, математическое моделирование с использованием теории массового обслуживания.

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

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

Научная новизна результатов диссертации состоит в следующем:

1. Предложены модели оценивания оперативности облачных вычислений с Web-интерфейсом на основе приложений Java c сервлетами, отличительной особенностью которых является учет работы фильтров при отклике с помощью моделей многоканальных не Марковских систем массового обслуживания с обобщенным распределением Эрланга 2-го порядка и «охлаждением».

2. Разработан метод расчета распределения времени ожидания запросов в многоканальных не Марковских СМО с распределениями фазового типа. Новизна метода заключается в взвешенной свертке преобразований Лапласа-Стилтьеса времен прохождения каждой из составляющих экспоненциальных фаз микросостояний систем «охлаждением» и «разогревом».

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

СМО с «охлаждением» и аппроксимирующими обобщенными распределениями Эрланга 2-го порядка, а также оценивать оперативность облачных вычислений с Web-интерфейсом на основе фильтров.

Теоретическая значимость полученных результатов состоит:

1. В постановке и решении научной задачи оценивания оперативности распределенной обработки данных в облачных системах с учетом расходов на реализацию приложений с Web-интерфейсом.

2. В разработке метода расчета распределения времени ожидания заявок в очереди к многоканальным не Марковских СМО с «охлаждением».

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

Внедрение результатов исследования. Теоретические положения и практические рекомендации диссертации были внедрены и/или использованы:

• при оценке характеристик оперативности и оптимизации проектных ресурсов при построении высоконагруженных распределенных Web-приложений для системы обучения в облачной виртуальной среде Moodle;

• при оценке и обосновании принятия проектных решений по расчету характеристик оперативности распределенной автоматизированной системы управления финансами (проект ООО «1С (SCloud)»;

• для расчета характеристик оперативности разрабатываемого распределенного веб-приложения для работы с базами данных и оптимизации проектных ресурсов в проекте по автоматизации ряда бизнес-процессов транспортной железнодорожной компании (в ООО «Ф-Лайн Софтвер» («First Line Software»));

• в ФГБОУ ВО ПГУПС в учебном процессе кафедры «Информационные и вычислительные системы» при проведении лекций, лабораторных работ и практических занятий по дисциплинам «Моделирование систем» и «Корпоративные информационные системы».

Практическое использование результатов диссертационных исследований подтверждено 2 актами о внедрении.

Публикации. Основные научные результаты по теме диссертационной работы представлены в 10 публикациях, в их число входят: 2 статьи в журналах из Перечня рецензируемых научных изданий, рекомендуемых ВАК; 1 свидетельство на программы для ЭВМ, 6 докладов в сборниках материалах международных конференций.

Структура и объем работы. Диссертация состоит из введения, 4 разделов, заключения, приложений и списка литературы, включающего 104 наименований, всего 139 страниц машинописного текста. Краткая характеристика работы.

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

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

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

актуализации контекста на показатели оперативности системы, изложен математический аппарат аппроксимации произвольных распределений с применением распределений фазового типа, описаны разработанные модели многоканальных не Марковских СМО «с охлаждением» на основе распределения Эрланга. Для каждой модели дано описание и указаны ее особенности, приведены диаграммы и матрицы переходов между состояниями, описана система линейных алгебраических уравнений баланса. Также приведено описание модификации общего итерационного метода Такахаши-Таками, которая позволяет для распределенных ИС рассчитывать вероятностно-временные характеристики оперативности многоканальных не Марковских систем массового обслуживания с «охлаждением» на основе двухфазной Эрланговской аппроксимации. Выполнены расчеты, которые иллюстрируют применение моделей и получаемые распределения временных характеристик оперативности распределенных ИС. В заключении раздела указано, что разработанные модели являются обобщением существующих подходов к моделированию оперативности ИС за счет использования общих предположений о характере не Марковских вероятностных процессов в ИС.

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

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

Четвертый раздел посвящен вопросам практического применения результатов исследования и оценке получаемого эффекта. Приведено описание объектов внедрения результатов исследования. Эксперименты проводились путем исследования характеристик оперативности функционирования: системы обучения в облачной модульной объектно-ориентированной динамической учебной среде Moodle; облачной системы, реализуемой в рамках проекта ООО «1С - Scloud». Делается вывод об эффекте от использования результатов исследования для повышения точности оценки оперативности функционирования ИС. В частности, показано, что использование результатов исследования повышает точность расчетов характеристик оперативности в среднем на 10%.

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

В приложение А включены исходные тексты основных функций комплекса программ расчета характеристик оперативности ИС.

В приложение Б включены исходные коды трех классов фильтров сжатия GZip.

ГЛАВА 1 АНАЛИЗ СИСТЕМ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ С WEB-

ИНТЕРФЕЙСОМ

1.1 Общая характеристика облачных вычислений

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

Термин Cloud Computing (облачные вычисления), как и другие "облачные" термины появился вследствие того, что Интернет на старых блок-схемах обозначался в форме облака. Однако, тогда функция этого облака заключалась в передаче данных на дальние расстояния. Благодаря росту скоростей интернета, стало возможным расположить в этом "облаке" компьютерные ресурсы - т.е. удаленные серверы (и, в частности, арендовать компьютерные мощности у сторонних провайдеров). В то время и появилось понятие Cloud Computing - возможность использования интернета в качестве источника компьютерных ресурсов. Благодаря технологиям виртуализации стало возможным объединение многочисленных интернет-серверов в единые кластеры с фактически неограниченной производительностью. Кроме высокой надежности, такие кластеры представляют возможным оптимизировать нагрузку на каждый сервер, следовательно, существенно снизить стоимость компьютерных ресурсов.

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

Зачастую термины «облачные технологии»/«облачный сервис» и их графическое представление в виде «облачков» вводят в заблуждение. Если

их структуру представить в виде пирамиды (рисунок 1.1), то ее можно легко понять.

Рисунок 1.1- Пирамида «инфраструктура»

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

Свойства облачных вычислений:

• Доступ к личной информации возможен с любого компьютера, который подключён к Интернету.

• Самостоятельное обслуживание по требованию (self service on demand) означает, что потребитель имеет возможность самостоятельно определить и изменить вычислительные ресурсы (серверное время, скорость доступа и обработки данных, объём данных и др.) без взаимодействия с поставщиком.

• Универсальный доступ по сети по сути означает доступность потребителям по сети передачи данных вне зависимости от применяемого терминального устройства (ПК, планшеты и др.).

• Web-сервисы работают в обозревателе любых моделей операционных систем.

• Гибкость — услуги могут быть предоставлены, расширены, изменены в любой момент, без дополнительных затрат на взаимодействие с поставщиком, обычно, в автоматическом режиме.

• Есть возможность как Вам, так и окружающим, одновременно с различных устройств просматривать и редактировать одну и туже информацию.

• Много платных программ стало бесплатными (или более дешёвыми) Web-приложениями.

• При неисправности Вашего устройства (ПК, планшета, телефона), не произойдет потеря важной информации, так как она теперь не хранится в памяти устройств.

• Свободный доступ к свежей и обновлённой информации.

• Автоматическое обновление программ до последней версии.

• Возможность объединения своей информации с другими пользователями.

• Возможность беспрепятственного обмена информацией с близкими людьми или с людьми из любой точки земного шарика.

Недостатки:

• Необходимо постоянное соединение.

Чтобы получить доступ к услугам «облака» необходим постоянный доступ к Интернет.

• Программное обеспечение и его настройка.

Имеются ограничения на ПО, которое можно разворачивать на

«облаках» и предоставлять пользователю. В используемом программном обеспечении имеются определенные ограничения для пользователя. Иногда не представляется возможным как следует настроить его под нужды пользователя.

• Конфиденциальность.

По поводу конфиденциальности данных, хранимых в публичных «облаках», в настоящее время, существуют некоторые сомнения у экспертов, поэтому они не рекомендуют хранить наиболее ценные для компании документы на публичном "облаке". Технологии, которая бы обеспечивала 100% конфиденциальность данных в настоящее время не существует.

• Безопасность.

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

• Дороговизна оборудования.

Построение собственного облака обычно не выгодно вновь созданным и малым компаниям. Создание облака приводит к расходованию больших ресурсов.

• Дальнейшая монетизация ресурса.

Существует вероятность, что в будущем компании будут брать плату с пользователей за услуги.

С использование облачных вычислений связан ряд проблем [28], а также наличие положительных и отрицательных факторов. Ниже

приведены наиболее важные для потребителей и разработчиков

характеристики Cloud Computing.

Позитивные факторы для разработчиков:

• возможность эффективной борьбы за авторские права на программный продукт, поскольку продукт не передается к заказчику;

• сравнительно легко можно обнаружить и пресечь несанкционированный доступ нескольких пользователей под одним логином;

• снижение расходов на разработку и внедрение поддержки для заказчиков.

Позитивные моменты для потребителей:

• доступ к программному обеспечению осуществляется через обозреватель, поэтому отсутствует необходимость установки ПО на рабочих местах;

• существенное сокращение затрат на развертывание системы в организации;

• снижение затрат на техническую поддержку и обновление развернутых систем;

• следствием отсутствия расходов времени на развертывание системы является быстрота внедрения;

• удобный и понятный интерфейс;

• ясность и предсказуемость платежей;

• возможность увеличения уровня обслуживания ПО.

Негативные факторы для разработчиков:

• невозможность применения концепции Cloud Computing для всех функциональных задач;

• неэффективность модели облачных вычислений для малого числа клиентов, так как основная экономия ресурсов провайдера достигается за счет масштаба;

• в условиях необходимости глубокой индивидуальной адаптации под каждого заказчика модель является неэффективной.

Негативные факторы для заказчиков:

• заказчик привязан к одному разработчику;

• невозможность долгосрочного планирования или срыв сроков проведения разработки при нестабильной работе провайдера.

1.2 Классификация облачных сервисов

Все, что имеет отношение к doud computing, принято называть словом aaS. Расшифровывается это просто - "as a Service", то есть "как сервис", или "в виде сервиса".

В настоящее время названная концепция предполагает оказание следующих типов услуг пользователям:

• Storage-as-a-Service ("хранение как сервис")

Является самым простым из сервисов, которые представляют собой дисковое пространство по требованию. Услуга Storage-as-a-Service обеспечивает сохранение данных во внешнем хранилище, в "облаке". Для пользователей оно выглядит как дополнительный логический диск или папка. Так как сервис входит в состав многих сервисов, то он является для них базовым. В качестве примера можно привести Google Drive и прочие схожие сервисы.

• Database-as-a-Service ("база данных как сервис")

Сервис делает возможным работу с базами данных, так как будто система управления базами данных (СУБД) была расположена непосредственно на ресурсе.

• Information-as-a-Service ("информация как сервис")

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

• Process-as-a-Service ("управление процессом как сервис") Является удаленным ресурсом, который соединяет воедино ряд ресурсов (данные или услуги в пределах одной облачной системы или других доступных облачных систем) для создания единого процесса.

• Application-as-a-Service ("приложение как сервис") Альтернативное название Software-as-a-Service ("ПО как сервис"). Представляет «программное обеспечение по требованию», развернутое на удаленных серверах и каждый пользователь имеет возможность с помощью Интернета получать доступ. Поставщиком этой услуги регулируются вопросы обновления и лицензий на это обеспечение. Оплата выполняется за фактическое использование этого ПО. Примером являются GoogleDocs, GoogleCalendar и подобные онлайн-программы.

• Platform-as-a-Service ("платформа как сервис") Предоставляется компьютерная платформа с установленной операционной системой и определенным программным обеспечением.

• Integration-as-a-Service ("интеграция как сервис")

Модель доставки Integration-as-a-Service обеспечивает интеграцию в облаке. Это позволяет совместно использовать данные в системах, а также сторонних поставщиков в режиме реального времени. Сюда входят услуги и функции пакетов централизации, оптимизации и

интеграции корпоративных приложений, но предоставляемые как "облачный" сервис. Предприятия используют инициативы Ше^айоп-as-a-Service, чтобы повысить гибкость и автоматизировать бизнес-процессы.

• Security-as-a-Service ("безопасность как сервис")

Похожие диссертационные работы по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Список литературы диссертационного исследования кандидат наук Халил Маад Модер, 2017 год

СПИСОК ЛИТЕРАТУРЫ

1. Тарнавский Г.А., Облачные вычисления: новая форма генерации и распространения знаний в интернете, http://fetmag.mrsu.ru/2010-1/pdf/Cloud_Computing.pdf.

2. Яковлев В.В., Технологии виртуализации и консолидации информационных ресурсов: учеб. Пособие / В. В. Яковлев. - М. : ФГБОУ «учебно-методический центр по образованию на железнодорожном транспорте», 2015. - 156 с.

3. Петухов Г.Б., Основы теории эффективности целенаправленных процессов. Часть 1. Методология, методы, модели/Учебник. МО СССЗ, 1989. - 660 с.

4. Рыжиков, Ю.И., Теория очередей и управление запасами, СПб: Питер, 2001. - 384 с.

5. Таранцев А. А., Инженерные методы теории массового обслуживания.-Изд. 2-е, перераб. и доп.-СПб.: Наука. 2007. - 175 с.

6. Neuts M.F., Matrix-geometric solutions in stochastic models: an Algorithmic approach. - Baltimor and London: The Jons Hopkins Univ. Press, 1981.-332 p.

7. Neuts, M.F., Structured Stochastic Matrices of M/G/1-type and their Applications. Marcel Dekker, New York, 1989.

8. Latouche, G. and Ramaswami, V., Introduction to Matrix-Analytic Methods in Stochastic Modeling, ASA-SIAM Series on Statistics and Applied Probability, SIAM, Philadelphia, 1999. - 348 p.

9. Bright, L.W. and Taylor, P.G., Calculating The Equilibrium Distribution In Level Dependent Quasi-birth-and-death Processes. Communications in statistics-Stochastic Models.11, 1995, p. 497-525.

10. Bini, D.A., Latouche, G., Meini, B., Numerical Methods for Structured Markov Chains, Oxford Science Publications, New York, 2005. - 340 p.

11. Cox D.R., A use of complex probabilities in the theory of stochastic processes/Proc. Cambr. Phil. Soc. - 1955. - V. 51, № 2. - p. 313-319.

12. Takanashi Y., Takami Y. A, numerical method for the steady-state probabilities of a GI/G/c queuing system in a general class // J. of the Operat. Res. Soc. Of Japan. - 1976. - V. 19, N 2. - p. 147-157.

13. Рыжиков Ю. И., Хомоненко А. Д., Итерационный метод расчета многоканальных систем с произвольным распределением времени обслуживания, Проблемы управления и теории информации. 1980. №2 3. С. 32-38.

14. Sun Bin, Dudin A. N., The MAP/PH/N multi-server queuing system with broadcasting service discipline and server heating, Automatic Control and Computer Sciences July 2013, Volume 47, Issue 4, p. 173-182.

15. Kaczynski W.H, "Transient Queuing Analysis", INFORMS Journal on Computing, Vol. 24, No. 1, Winter 2012, pp. 10-28.

16. Mujgan Zobu and Vedat Saglam "Control of Traffic Intensity in Hyperexponential and Mixed Erlang Queuing Systems with a Method Based on SPRT", Mathematical Problems in Engineering, Volume 2013 (2013), ArticleID 241241,9 http://dx.doi.org/10.1155/2013/241241.

17. Bubnov V.P, Tyrva A.V, Khomonenko A.D., Model of reliability of the software with Coxian distribution of length of intervals between the moments of detection of errors. Proceedings — 34th Annual IEEE International Computer Software and Applications Conference, COMPSAC, 2010, pp. 238-243.

18. Brandwajn A, Begin T, "A recurrent solution of Ph/M/c/N-like and Ph/M/c-like queues", Journal of Applied Probability 49, 1 (2012), pp. 84-99.

19. Kolahi S.S, "Simulation Model, Warm-up Period, and Simulation Length of Cellular Systems", Second International Conference on Intelligent Systems, Modelling and Simulation (ISMS), 2011, pp. 375-379.

20. Ya. Kreinin, Single-channel queueing system with warm up. Automation and Remote Control, 41, 6, 1980, pp. 771-776.

21. Khomonenko A., Gindin S., Performance evaluation of cloud computing accounting for expenses on information security. 2016 18th Conference of Open Innovations Association and Seminar on Information Security and Protection of Information Technology (FRUCT-ISPIT). 18-22 April 2016. P. 100-105.

22. Khomonenko A.D., Gindin S.I., Stochastic models for cloud computing performance evaluation. Proceedings of the 10th Central and Eastern European Software Engineering Conference in Russia, 2014 (CEE SECR'14). Article No. 20. Web: http://dl.acm.org/citation.cfm?id=2687233.

23. Тырва А.В., Модели надежности и планирования испытаний программных средств: дис. канд. техн. наук: 05.13.18. - СПб, 2010.- 147 с.: ил. РГБ ОД, 61 11-5/604.

24. Bubnov V.P., Khomonenko A.D., Tyrva A.V., Software Reliability Model with Coxian Distribution of Length of Intervals Between Errors Detection and Fixing Moments. In proceedings of 35th Annual IEEE Computer Software and Applications Conference (COMPSAC 2011), Munich, 18-22 July 2011. - p. 310-314.

25. Хомоненко А.Д., Краснов С.А., Еремин А.С., Оценка оперативности автоматической рубрикации документов с помощью модели нестационарной системы обслуживания с эрланговским распределением длительности интервалов между запросами, Проблемы информационной безопасности. Компьютерные системы, № 3, 2012. -С. 14-21.

26. Canadilla P., Analysis of Queueing Networks and Models, 2013 //http: //cran.r-proj ect. org/web/packages/queueing/index.html.

27. Рыжиков Ю.И., Пакет программ для расчета систем с очередями и его тестирование, Труды СПИИРАН. 2008. № 7. - С. 265-284.

28. Гиндин С.И., Хомоненко А.Д., Матвеев С.В., Программный комплекс расчета характеристик многоканальных систем массового обслуживания с «разогревом» и подход к его тестированию, Современные проблемы науки и образования. - 2014. - № 4. (54).-Ст.152.-9с.

29. Тарнавский Г.А., Облачные Вычисления: новая форма генерации и распространения знаний в интернете, Электроника и информационные технологии. №1 - 2010. - С. 1-9.

30. D. Baker and T. Jennings, Oracle Database 2 Day + Application Express Developer's Guide, Release 4.0. E15516- 04. Oracle, 2010. http://docs.oracle.com/cd/E17556_01/doc/appdev.40/e15516. pdf [retrieved: 29/12/2012].

31. Башарин Г.П., Бочаров П.П., Коган Я.А., Анализ очередей в вычислительных сетях. - М: Наука. Гл. ред. физ.-мат. лит., 1989. - 336 с.

32. Бочаров П.П. , Однолинейные системы обслуживания конечной емкости. М.: Изд-во УДН, 1985. - 84 с.

33. Бронштейн О.И., Духовный М.М., Модели приоритетного обслуживания в информационно-вычислительных системах. - М.: Наука, 1976. - 220 с.

34. Жожикашвили В.А., Вишневский В.М., Сети массового обслуживания. Теория и применение к сетям ЭВМ. - М.: Радио и связь, 1980. - 192 с.

35. Захаров Г.П., Методы исследования сетей передачи данных. - М.: Радио и связь, 1982. - 208 с.

36. Кемени Д.Д., Снелл Д.Л., Конечные цепи Маркова. - М.: Наука, 1970. -271 с.

37. Клейнрок Л., Теория массового обслуживания. - М.: Машиностроение, 1979. - 432 с.

38. Клейнрок Л., Вычислительные системы с очередями. - М.: Мир, 1979. -600 с.

39. Климов Г.П., Мишкой Г.К. Приоритетные системы обслуживания с ориентацией. - М.: Изд-во МГУ, 1979. - 223 с.

40. Конвей Р.В., Максвелл В.П., Миллер Л.В. Теория расписаний. Пер. с англ. - М.: Наука, 1975. - 360 с.

41. Кофман А., Крюон Р. Массовое обслуживание. Теория и приложение. -М.: Мир, 1965. - 302 с.

42. Коэн Дж., Боксма О., Граничные задачи в теории массового обслуживания. - М.: Мир, 1987. - 272 с.

43. Ланкастер П., Теория матриц. - М.: Наука, 1985. - 272 с.

44. Литвин В.Г., Аладышев В.П., Винниченко А.И., Анализ производительности мультипрограммных ЭВМ. - М.: Финансы и статистика, 1984. - 160 с.

45. Матвеев В.Ф., Ушаков В.Г., Системы массового обслуживания. - М.: Изд-во МГУ, 1984. - 240 с.

46. Наумов В.А., Численные методы анализа марковских систем/ Уч. пособие. - М.: Изд-во УДН, 1985. - 37 с.

47. Основы теории вычислительных систем /С.А.Майоров, Г.И.Новиков, Т.И.Алиев, Э.И.Махарев, Б.Д.Тимченко. - М.: Высшая школа, 1978. -408 с.

48. Пакет прикладных программ МОСТ для расчета стационарных режимов в системах массового обслуживания. Теоретические основы, ДМЯ 00015-01 90 02. - Эст. НПО ВТИ. - 1988. - 142 с.

49. Пранявичус Г.И. , Модели и методы исследования вычислительных систем. Вильнюс: Мокслас, 1982. - 272 с.

50. Приоритетные системы обслуживания/Б.В.Гнеденко, Э.А.Даниелян, Б.Н.Димитров, Г.П.Климов, В.Ф.Матвеев. М.: Изд-во МГУ, 1973. 447 с.

51. Риордан Дж., Вероятностные системы обслуживания. М.: Связь, 1966. -164 с.

52. Саати Т.Л., Элементы теории массового обслуживания и ее приложения. М.: Сов. радио, 1965. 510 с.

53. Скляревич А.Н., Скляревич Ф.А., Линейные системы с возможными изменениями. Рига: Зинатне, 1985. 296 с.

54. Смагин В.А. Теория восстановления. Немарковские задачи теории надежности. - МО СССР, 1982. 269 с.

55. Р.М.Юсупов, Г.Б.Петухов, В.Н.Сидоров, В.И.Городецкий, В.М.Марков, Статистические методы обработки результатов наблюдений, Учебник. МО СССР, 1984. 563 с.

56. Хемминг Р.В., Численные методы. М.: Наука, 1972. 400 с.

57. Хинчин А.Я. Работы по математической теории массового обслуживания. М.: Физматгиз, 1963. - 263 с.

58. Gelenbe E., MitranI I., Analysis and synthesis of computer systems. -Academic Press, 1980. 239 p.

59. Gelenbe E., Pujolle G., Introduction aux reseauz de files d'attente. Paris: Eyrolles, 1982. XV, 192 p.

60. Kelly P.P., Reversability and stochastic networks. New York: Willey, 1979. 230 p.

61. Neuts M.P., Matrix geometric solutions In stochastic models: Algorithmic approach. Baltimor and London: The Jons Hopkins Univ. Press, 1981. 332 p.

62. Sauer C.H., Chandy K.M., Computer systems performance modeling.-Englewood Cliffs, N.J.: Prentice-Hall, 1981. 352 p.

63. Алиев Т.И., Журавлев О.В., Расчет характеристик приоритетных многопроцессорных управляющих комплексов с однородной нагрузкой//Известия ВУЗов. Приборостроение. 1988. -HI.- С. 25-29.

64. Анисимов А.М., Работа в системе дистанционного обучения Moodle, учебное пособие, 2-е изд. ХНАГХ, 2009, стр. 4-5.

65. Яковлев В.В., Технологии облачных вычислений на железнодорожном транспорте: учеб. Пособие, СПб.: Петербургский гос. ун-т путей сообщения, 2014. - 42с.

66. Хомоненко А.Д., Распределение времени ожидания в системах массового обслуживания типа GIq/Hk/n/R<ro, Автоматика и телемеханика. 1990, № 8. С. 91- 98.

67. Хомоненко А. Д., Численные методы анализа систем и сетей массового обслуживания. Л., 1991. 196 с.

68. Хомоненко А.Д., Выходящий поток в системах массового обслуживания типа Hk /Hk/n/R<ro, Автоматика и телемеханика. 1989, № 11. С. 109-117.

69. Khomonenko A.D., Gindin S.I.; Khalil M.M., A cloud computing model using multi-channel queuing system with cooling, 2016 XIX IEEE International Conference on Soft Computing and Measurements (SCM). Year: 2016. Pages: 103-106.

70. Khomonenko A.D., Khalil M.M., Kassymova D.T., Probabilistic Models for Evaluating the Performance of Cloud Computing Systems with Web Interface, SPIIRAS Proceedings. 2016. № 6 (49). pp. 49-65.

71. Khomonenko A.D., Lokhvitskiy V. A., Khalil M.M., Calculation Of Waiting Time Distribution In Multi-Channel Non-Markovian Queuing Systems With "Cooling" And "Heat-Up", H&ES Research, tom 9 No.4 2017.

72. Хомоненко А.Д., Халил М.М., Андрук А.А., Алгоритмы расчета оперативности облачных вычислений с помощью моделей многоканальных систем массового обслуживания с «охлаждением». XV СПБ Международной конференций «Региональная Информатика (РИ-2016) », 26-28 октября 2016, Материалы конференции стр 51.

73. Хомоненко А.Д., Халил М.М, Дегтярев В.Г, Анализ оперативности облачных вычислений с web-интерфейсом на основе численного метода расчета многоканальных не Марковских систем с «охлаждением», 2017

XX IEEE International Conference on Soft Computing and Measurements (SCM). Year: 2017. Pages: 247-250.

74. Халил М.М., Андрук А.А. Программный комплекс расчета характеристик многоканальных систем массового обслуживания с «охлаждением» И подход К его тестированию. VIII научно-практической конференции молодых ученых, Майоровские Чтения - 30 ноября - 02 декабря 2016г. Университет ИТМО.

75. Khalil М.М, Andruk A.A, Testing of Software for Calculating a Multichannel Queuing System with "Cooling" and E2 - approximation, Intellectual Technologies on Transport. 2016. №4. pp.22-27.

76. Khalil М.М. The advantages of moving the University Library to the cloud, XVI Международная научно-практическая конференция молодых ученых, студентов и аспирантов, 21-23 апреля 2015, стр. 19.

77. Khalil М.М. Principles of Cloud Computing and the Service of Educational Institutes, "Интеллектуальные системы на транспорте", международная научно-практическая конференция (2 ; 2012 ; Санкт-Петербург). Intellect Trans PSTU, стр. 305-309.

78. Гиндин С.И., Хомоненко А.Д., Ададуров С.Е., Численный расчет многоканальной системы массового обслуживания с рекуррентным входящим потоком и «разогревом», Известия Петербургского университета путей сообщения. - 2013, № 4 (37). С. 92-101.

79. Гиндин С.И., Хомоненко А.Д., Яковлев В.В., Матвеев С.В., Модель оценивания оперативности распределенной обработки данных с учетом расходов на обеспечение информационной безопасности, Проблемы информационной безопасности. Компьютерные системы. 2013. № 4, C. 59-67.

80. Гиндин С.И., Программный комплекс расчета вероятностно-временных характеристик многоканальных систем массового обслуживания с

«разогревом», Известия Петербургского университета путей сообщения. 2014, № 2 (39). С. 80-84.

81. Гиндин С.И., Программный комплекс расчета микросостояний многоканальных систем массового обслуживания с разогревом, Информационные и управляющие системы на транспорте и в промышленности: материалы всероссийской научно-технической интернет-конференции с международным участием. Омский государственный университет путей сообщений. Омск, 2014. С. 278283.

82. Лохвицкий В.А., Уланов А.В., Численный анализ системы массового обслуживания с гиперэкспоненциальным «охлаждением», Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2016. №4 (37). C. 36-43.

83. Максимов Е.В., Имитационное моделирование в AnyLogic многоканальных немарковских систем массового обслуживания с «разогревом», «охлаждением» и распределениями фазового типа, Интеллектуальные технологии на транспорте, № 2, 2017, стр. 53.

84. John D. C. Little. A Proof for the Queuing Formula: L = XW. Operations Research 9 (3): 383-387. D01:10.1287/opre.9.3.383.

85. Brumelle S. L. A generalization of L—XW to moments of queue length and waiting times//0per. Res. 1972. V. 20. № 6. P. 1127-1136.

86. Рыжиков Ю.И., Три метода расчета временных характеристик разомкнутых систем массового обслуживания, Автоматика и телемеханика, 1993, выпуск 2, С. 127-133.

87. Алиев Т.И. Основы моделирования дискретных систем. Учебное пособие. - СПб.: СПбГУ ИТМО, 2009. - 363 с.

88. Алиев Т.И. Математические методы теории вычислительных систем. Учебное пособие. - Л.: ЛИТМО, 1979. - 92 с.

89. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. М.: Наука, 1966. - 432 с.

90. Дмитриев А. С. Новые подходы к решению проблем в системах связи и компьютерных сетях: динамический хаос // "Компьютерра" №46, от 03.12.2001

91. Дудин А. Н., Клименок В. И. Системы массового обслуживания с коррелированными потоками . Минск : БГУ , 2000. - 175 с.

92. Заборовский В.С., Ильяшенко А.С., Мулюха В.А. Алгоритмы управления характеристиками потоков пакетных данных в сетевой среде с использованием приоритетного вероятностного выталкивающего механизма // Проблемы передачи и обработки информации, вып. 6(186), 2013, с 35-44.

93. Замятина Е. Б., Миков А. И., Михеев Р. А. Особенности моделирования распределенных информационных систем // Вестник пермского университета. Математика. Механика. Информатика. Вып. 4(23), 2013, с. 107-119.

94. Ивницкий В. А. Исследование нестационарных характеристик ненадежной однолинейной системы с параметром, зависящим от длины очереди // Изв. АН СССР. Техн. кибернетика. 1974. № 1. С. 78-90.

95. Ивницкий В А. О восстановлении характеристик системы по наблюдениям над выходящим потоком // Теория вероятностей и ее применение. 1977. Т. 22. № 1. С. 188-191.

96. Матвеев С.В., Уланов А.В., Краснов С.А. Анализ оперативности обработки информации с ограниченным временем актуальности. // Бюллетень результатов научных исследований. 2013. № 3 (8). С. 39-47.

97. Матвеев С. В., Хомоненко А. Д. Оценка оперативности функционирования узлов систем облачных вычислений с учетом затрат по защите информации // Информационные и управляющие системы на транспорте и в промышленности: Материалы всероссийской научно-

технической интернет-конференции / Омский гос. ун-т путей сообщений. Омск, 2014. - С. 68-76.

98. Матвеев С.В., Лохвицкий В.А., Хомоненко А.Д., Логашев С.В. Сетевая модель функционирования информационной системы критического назначения с учетом затрат на выявление и устранение противоречий // Проблемы информационной безопасности. Компьютерные системы. -2015. № 1, - C. 62-67.

99. Смагин В.А. Об одном методе исследования немарковских систем // Известия АН СССР. Техническая кибернетика, 1983, №6. С. 31-36.

100. Смагин В.А. Техническая синергетика. Вероятностные модели сложных систем - СПб.: ВИКА им. А.Ф. Можайского, 2004. - 171 с.

101. Гончаренко В.А. Моделирование и оценивание характеристик случайных потоков событий в компьютерных сетях при параметрической неопределенности // Труды Военно-космической академии им. А.Ф. Можайского. 2015. № 649. С. 16-22.

102. Zaborovsky V., Lukashin A., Kupreenko S., Mulukha V. Dynamic Access Control in Cloud Services В сборнике: Conference Proceedings - IEEE International Conference on Systems, Man and Cybernetics Сер. "2011 IEEE International Conference on Systems, Man, and Cybernetics, SMC 2011 - Conference Digest" 2011. С. 1400-1404.

103. Модели информационных систем: учеб. пособие / Бубнов В.П. Глухарев М.Л., Корниенко А.А., Краснов С.А., Рогальчук В.В., Тырва А.В., Федянин В.В., Хомоненко А.Д.; под ред. А.Д. Хомоненко. - М.: ФГБОУ «Учебно-методический центр по образованию на железнодорожном транспорте», 2015. - 188 с.

104. Шокин Ю.И., Федотов А.М. Распределенные информационные системы // Вычислительные технологии. Том 3, № 5, 1998, с.79-93.

ПРИЛОЖЕНИЕ А.

ИСХОДНЫЕ ТЕКСТЫ ОСНОВНЫХ ФУНКЦИЙ КОМПЛЕКСА ПРОГРАММ РАСЧЕТА ХАРАКТЕРИСТИК МНОГОКАНАЛЬНЫХ СМО

Функции задания исходных данных матриц переходов

//A

void createA(double[] a, double[] lam){ A = new Matrix[n+1]; switch (model){ case H2INPUT: A[0]= new Matrix(new double[][]{

{a[1]*lam[1],a[2]*lam[1],0,0}, {a[1]*lam[2],a[2]*lam[2],0,0}}); A[1]= new Matrix(new double[][]{

{a[1]*lam[1],a[2]*lam[1],0,0}, {a[1]*lam[2],a[2]*lam[2],0,0}, {0,0,a[1]*lam[1],a[2]*lam[1]}, {0,0,a[1]*lam[2],a[2]*lam[2]}

});

for (int j = 2; j <=n ; j++) { A[j] = A[1].copy();

}

break;

case H2WARMUP: A[0]= new Matrix(new double[][]{

{a[1]*lam[1],a[2]*lam[1],0} }); A[1]= Matrix.identity(3,3).times(lam[1]); for (int j = 2; j <=n ; j++) { A[j] = A[1].copy();

}

break;

case E2INPUT: A[0]= new Matrix(new double[][]{

{lam[2],0,0,0},{lam[2],0,0,0} }); A[1] = new Matrix(new double[][]{

{0,0,0,0},{lam[2],0,0,0},{0,0,0,0},{0,0,lam[2],0} }); for (int j = 2; j <=n ; j++) { A[j] = A[1].copy();

}

break;

case COOLING: A[0]= Matrix.identity(2,2).times(lam[1]); for (int j = 1; j <=n ; j++) { A[j] = A[0].copy();

}

break;

case E2COOLING: A[0]= new Matrix(new double[][]{{lam[1],0,0},{0,lam[1],0},{0,0,lam[1]}}); for (int j = 1; j <=n ; j++) { A[j] = A[0].copy();

}

break; default:

System.out.println("UNSUPPORTED MODEL:" + model); break;

}

//prepare Ax1 for later probabilities calculation Ax1 = getMatrixMult1(A, n);

}

//B

void createB(){

B = new Matrix[n+1]; switch (model){ case H2INPUT: B[0]= new Matrix(new double[][]{ {0}, {0}}); B[1]= new Matrix(new double[][]{ {0,0}, {0,0}, {mu[2],0}, {0,mu[2]}}); for (int j = 2; j <=n ; j++) {

B[j]= new Matrix(new double[][]{

{0,0,0,0}, {0,0,0,0}, {0,0,j*mu[2],0}, {0,0,0,j*mu[2]}});

}

break; case H2WARMUP: B[0]= new Matrix(new double[][]{

{0}});

B[1]= new Matrix(new double[][]{

{0},{0}, {mu[2]}}); for (int j = 2; j <=n ; j++) { B[j]= new Matrix(new double[][]{

{0,0,0}, {0,0,0}, {0,0,j*mu[2]}});

}

break;

/*case E2INPUT: B[0]= new Matrix(new double[][]{

{0},{0}}); //TODO: ???

B[1]= new Matrix(new double[][]{

{0,0},{0,0}, {mu[2],0},{0,mu[2]} }); for (int j = 2; j <=n ; j++) { B[j]= new Matrix(new double[][]{ {0,0,0,0}, {0,0,0,0}, {0,0,j*mu[2],0},{0,0,0,j*mu[2]} });

}

break;*/ case E2INPUT: B[0]= new Matrix(new double[][]{{0},{0}}); B[1]= new Matrix(new double[][]{

{0,0,0,0},{0,0,mu[1],0}, {0,0,0,0},{0,0,0,0} }); for (int j = 2; j <=n ; j++) { B[j]= new Matrix(new double[][]{ {j*mu[1],0,0,0},{0,j*mu[1],0,0}, {0,0,0,0},{0,0,0,0} });

}

break;

case COOLING: B[0]= new Matrix(new double[][]{{0},{0}}); for (int j = 2; j <=n ; j++) { B[j]= new Matrix(new double[][]{ {0,j*mu[2]}, {0,0}});

}

break;

case E2COOLING: B[0] = new Matrix (new double[][]{{0},{0},{0}}); B[1] = new Matrix(new double[][]{{0,0,mu[0]},{0,0,0},{0,0,0}}); for (int j = 2; j <=n ; j++) { B[j] = new Matrix(new

double[][]{{n*mu[0],0,0},{0,0,0},{0,0,0}}); }

break; default:

System.out.println("UNSUPPORTED MODEL:" + model); break;

}

//prepare Bx1 for later probabilities calculation Bx1 = getMatrixMult 1 (B, n);

}

//C

void createC(){

C = new Matrix[n+1]; switch (model){ case H2INPUT: C[0]= new Matrix(new double[][]{ {0,0}, {0,0}}); C[1]= new Matrix(new double[][]{ {0,0,mu[1],0}, {0,0,0,mu[1]}, {0,0,0,0}, {0,0,0,0}}); for (int j = 2; j <=n ; j++) { C[j] = C[1].copy();

}

break; case H2WARMUP: C[0]= new Matrix(new double[][]{

{0}});

C[1]= new Matrix(new double[][]{ {0,0,mu[0]}, {0,0,mu[1]}, {0,0,0}}); for (int j = 2; j <=n ; j++) { C[j] = C[1].copy();

}

break;

case E2INPUT: C[0]= new Matrix(new double[][]{

{0,0},{mu[2],0}}); //mu c???

C[1]= new Matrix(new double[][]{ {0,lam[2],0,0}, {0,0,0,0}, {mu[2],0,0,lam[2]},{0,mu[2],0,0} }); //mu c??? for (int j = 2; j <=n ; j++) { C[j] = C[1].copy();

}

break;

case COOLING: C[0]= new Matrix(new double[][]{

{0,0},{mu[1],0} }); break;

case E2COOLING: C[0] = new Matrix(new double[][]{{0,0,0},{mu[1],0,0},{0, mu[2],0}});

for (int j = 1; j <= n; j++ )

{

C[j] = C[0].copy();

}

break;

default:

System.out.println("UNSUPPORTED MODEL:" + model); break;

}

//prepare Cx1 for later probabilities calculation Cx1 = getMatrixMult 1 (C,n);

}

//D

void createD(double[] lam){ D = new Matrix[n+1]; switch (model){ case H2INPUT: D[0]= new Matrix(new double[][]{

{lam[1],0}, {0,lam[2]}}); for (int j = 1; j <=n ; j++) {

D[j]= new Matrix(new double[][]{ {lam[1],0,0,0}, {0,lam[2],0,0}, {0,0,lam[1 ]+j*mu[2],0}, {0,0,0,lam[2]+j*mu[2]}});

}

break; case H2WARMUP: D[0]= new Matrix(new double[][]{

{lam[1]}}); for (int j = 1; j <=n ; j++) {

D[j]= new Matrix(new double[][]{

{lam[1]+mu[0],0,0}, {0,lam[1]+mu[1],0}, {0,0,lam[1]+j*mu[2]}});

}

break;

case E2INPUT: D[0]= new Matrix(new double[][]{

{lam[1],0},{0,lam[2]+mu[2]} }); //mu c??? for (int j = 1; j <=n ; j++) {

D[j]= new Matrix(new double[][]{

{lam[2],0,0,0}, {0,lam[1]+j*mu[1],0,0}, {0,0,lam[2]+mu[2],0},{0,0,0,lam[2]+mu[2]}});

}

break;

case COOLING: D[0]= new Matrix(new double[][]{

{lam[1],0},{0,lam[2]+mu[1]} }); for (int j = 1; j <=n ; j++) {

D[j]= new Matrix(new double[][]{

{lam[1]+mu[1],0,0,0}, {0,lam[2]+mu[1],0,0}, {0,0,lam[1 ]+j*mu[2],0},{ 0,0,0,lam[1 ]+j*mu[2]}, });

}

break;

case E2COOLING: for (int j = 0; j <= n; j++ ) {

D[j] = new Matrix(new double[][]{{lam[1] + j * mu[0], 0, 0}, {0,

lam[1] + mu[1], 0}, {0, 0, lam[1] + mu[2]}}); }

break; default:

System.out.println("UNSUPPORTED MODEL:" + model); break;

}

}

Функции вычисления вероятностей микросостояний на момент прибытия заявки и завершения обслуживания

void calculateP() {

//norm A by A+B+C to calculate probabilities in microstates Matrix[] A_plus_B_plus_C = new Matrix[n + 1]; for (int j = 0; j <= n; j++) {

A_plus_B_plus_C[j ] = Ax1[j].plus(Bx1[j]).plus(Cx1[j]);

}

P = T.clone(); P_incoming = T.clone(); P_outgoing = T.clone();

int j_index;

double p_incoming_sum = 0; double p_outgoing_sum = 0; double test = 0; for (int j = 0; j <= jmax; j++) { j_index = Math.min(j, n); P[j] = T[j].times(p[j]); //restore P[j]

P_incoming[j] =

P[j].arrayTimes(Ax 1 [j_index].transpose()).arrayRightDivide(A_plus_B_plus_C [j_index].transpose()); //need to transpose to match dimensions

p_incoming_sum += P_incoming[j].normInf(); //sum of matrix row P_outgoing[j] =

P[j].arrayTimes(Bx 1 [j_index] .transpo se()).arrayRightDivide(A_plus_B_plus_C [j_index].transpose()); //need to transpose to match dimensions

p_outgoing_sum += P_outgoing[j].normInf(); //sum of matrix row

}

for (int j = 0; j <= jmax; j++) { //b_index=Math.min(j+1 ,n); P_incoming[j].timesEquals(1.0 / p_incoming_sum); P_outgoing[j].timesEquals(1.0 / p_outgoing_sum);

}

int breakpoint_place = 0;

System.out.println("\nP_INCOMING: ");

//preparing output

for (int j = 0; j <= 10; j++) {

for (int l = 0; l < P_incoming[j].getColumnDimension(); l++) {

System.out.print(new Double(P_incoming [j ] .get(0,

l)).toString().replace('.', ',') + " \t"); }

System.out.println();

}

Функции вычисления средних стационарных характеристик оперативности

//steady-state results

double L = 0; //expected # of customers in the system for (int j = 0; j<=jmax; j++){

L += j * p[j];

}

double Lq = 0; //expected # of customers in queue for (int j = n + 1; j<=jmax; j++){ Lq += (j - n) * p[j];

}

double Ls = 0; //expected # of customers in service Ls = L - Lq;

double W = 0; //expected time in system W = (lam[1]*a[1]+lam[1]*a[2])*L;

double Wq = 0; //expected waiting time in system Wq = (lam[1]*a[1]+lam[2]*a[2])*Lq; void calculateP(){

//norm A by A+B+C to calculate probabilities in microstates Matrix[] A_plus_B_plus_C = new Matrix[n+1]; for (int j = 0; j <=n ; j++) {

A_plus_B_plus_C[j] = Ax1[j].plus(Bx1[j]).plus(Cx1[j]);

}

P = T.clone(); P_incoming = T.clone(); P_outgoing = T.clone(); int j_index;

double p_incoming_sum =0; double p_outgoing_sum =0; double test=0;

for (int j = 0; j <= jmax; j++) { j_index=Math.min(j, n); P[j] = T[j].times(p[j]); //restore P[j]

P_incoming[j] =

P[j].arrayTimes(Ax 1 [j_index].transpose()).arrayRightDivide(A_plus_B_plus_C [j_index].transpose()); //need to transpose to match dimensions

p_incoming_sum += P_incoming[j].normInf(); //sum of matrix row

P_outgoing[j] =

P[j].arrayTimes(Bx 1 [j_index] .transpo se()).arrayRightDivide(A_plus_B_plus_C [j_index].transpose()); //need to transpose to match dimensions

p_outgoing_sum += P_outgoing[j].normInf(); //sum of matrix row

}

for (int j = 0; j <= jmax; j++) { //b_index=Math.min(j+1 ,n); P_incoming[j].timesEquals(1.0/p_incoming_sum); P_outgoing[j] .timesEquals(1. 0/p_outgoing_sum);

}

int breakpoint_place = 0;

System.out.println("\nP_INCOMING: "); //preparing output for excel for (int j = 0; j <= 10; j++) {

for (int l = 0; l <P_incoming[j].getColumnDimension(); l++) { System.out.print(new

Double(P_incoming[j].get(0,l)).toString().replace('.', ',') + " \t"); }

System.out.println();

}

System.out.println("\nP_OUTGOING: "); //preparing output for excel for (int j = 0; j <= 10; j++) {

for (int l = 0; l <P_incoming[j].getColumnDimension(); l++) { System.out.print(new

Double(P_outgoing[j].get(0,l)).toString().replace('.', ',') + " \t"); }

System.out.println();

}

}

case E2INPUT:

C[0]= new Matrix(new double[][]{

{0,lam[1]},{0,0} }); C[1]= new Matrix(new double[][]{

{0,lam[1],mu[1],0}, {0,0,0,mu[1]},

{0,0,0,lam[1]},{0,0,0,0} }); for (int j = 2; j <=n ; j++) { C[j] = C[1].copy();

}

break;

default:

System.out.println("UNSUPPORTED MODEL:" + model); break;

}

//prepare Cx1 for later probabilities calculation Cx1 = getMatrixMult 1 (C,n);

}

//D

void createD(double[] lam){ D = new Matrix[n+1]; switch (model){ case H2INPUT: D[0]= new Matrix(new double[][]{

{lam[1],0}, {0,lam[2]}}); for (int j = 1; j <=n ; j++) {

D[j]= new Matrix(new double[][]{ {lam[1],0,0,0}, {0,lam[2],0,0}, {0,0,lam[1 ]+j*mu[2],0}, {0,0,0,lam[2]+j*mu[2]}});

}

break; case HP2WARMUP: D[0]= new Matrix(new double[][]{

{lam[1]}}); for (int j = 1; j <=n ; j++) {

D[j]= new Matrix(new double[][]{

{lam[1]+mu[0],0,0}, {0,lam[1]+mu[1],0}, {0,0,lam[1]+j*mu[2]}});

}

break;

case EK2INPUT: D[0]= new Matrix(new double[][]{

{lam[1],0},{0,lam[2]} }); for (int j = 1; j <=n ; j++) {

D[j]= new Matrix(new double[][]{

{lam[1]+mu[1],0,0,0}, {0,lam[2]+mu[1],0,0}, {0,0,lam[1 ]+j*mu[2],0},{ 0,0,0,lam[1 ]+j*mu[2]}, });

}

break; default:

System.out.println("UNSUPPORTED MODEL:" + model); break;

}

}

ПРИЛОЖЕНИЕ Б. 3 КЛАССА ФИЛЬТРОВ GZIP

public class GZipServletFilter implements Filter {

public void init(FilterConfig filterConfig) throws ServletException { }

public void destroy() {

}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; HttpServletResponse httpResponse = (HttpServletResponse) response; if ( acceptsGZipEncoding(httpRequest) ) { httpResponse.addHeader("Content-Encoding", "gzip"); GZipServletResponseWrapper gzipResponse = new GZipServletResponseWrapper(httpResponse); chain.doFilter(request, gzipResponse); gzipResponse.close(); } else {

chain.doFilter(request, response);

}

}

private boolean acceptsGZipEncoding(HttpServletRequest httpRequest) { String acceptEncoding = httpRequest.getHeader("Accept-Encoding");

return acceptEncoding != null &&

acceptEncoding.indexOf("gzip") != -1;

}

}

class GZipServletResponseWrapper extends HttpServletResponseWrapper { private GZipServletOutputStream gzipOutputStream = null; private PrintWriter printWriter = null;

public GZipServletResponseWrapper(HttpServletResponse response) throws IOException { super(response);

}

public void close() throws IOException { //PrintWriter.close does not throw exceptions. //Hence no try-catch block. if (this.printWriter != null) { this.printWriter.close();

}

if (this.gzipOutputStream != null) { this.gzipOutputStream.close();

}

} /**

* Flush OutputStream or PrintWriter

* @throws IOException

*/

public void flushBuffer() throws IOException {

//PrintWriter.flush() does not throw exception if(this.printWriter != null) { this.printWriter.flush();

}

IOException exceptionl = null;

try{

if(this.gzipOutputStream != null) { this. gzipOutputStream.flush();

}

} catch(IOException e) { exceptionl = e;

}

IOException exception2 = null; try {

super.flushBuffer(); } catch(IOException e){ exception2 = e;

}

if(exception1 != null) throw exceptionl; if(exception2 != null) throw exception2;

}

public ServletOutputStream getOutputStream() throws IOException { if (this.printWriter != null) { throw new IllegalStateException( "PrintWriter obtained already - cannot get OutputStream");

}

if (this.gzipOutputStream == null) { this.gzipOutputStream = new GZipServletOutputStream( getResponse().getOutputStream());

}

return this.gzipOutputStream;

}

public PrintWriter getWriter() throws IOException { if (this.printWriter == null && this.gzipOutputStream != null) { throw new IllegalStateException( "OutputStream obtained already - cannot get PrintWriter");

}

if (this.printWriter == null) {

this.gzipOutputStream = new GZipServletOutputStream(

getResponse().getOutputStream()); this.printWriter = new PrintWriter(new OutputStreamWriter( this.gzipOutputStream, getResponse().getCharacterEncoding()));

}

return this.printWriter;

}

public void setContentLength(int len) { //ignore, since content length of zipped content //does not match content length of unzipped content.

}

}

class GZipServletOutputStream extends ServletOutputStream { private GZIPOutputStream gzipOutputStream = null;

public GZipServletOutputStream(OutputStream output) throws IOException { super();

this.gzipOutputStream = new GZIPOutputStream(output);

}

public void close() throws IOException { this.gzipOutputStream.close();

}

public void flush() throws IOException { this.gzipOutputStream.flush();

}

public void write(byte b[]) throws IOException { this.gzipOutputStream.write(b);

}

public void write(byte b[], int off, int len) throws IOException { this.gzipOutputStream.write(b, off, len);

}

public void write(int b) throws IOException { this.gzipOutputStream. write(b);

}

}

Чтобы активировать фильтр GZip Servlet в Web-приложении Java, ему нужна конфигурация.

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