Технология агентно-реляционного отображения для проектирования распределенных систем обработки больших объемов данных тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат наук Лукьянчиков, Олег Игоревич

  • Лукьянчиков, Олег Игоревич
  • кандидат науккандидат наук
  • 2015, Москва
  • Специальность ВАК РФ05.13.11
  • Количество страниц 168
Лукьянчиков, Олег Игоревич. Технология агентно-реляционного отображения для проектирования распределенных систем обработки больших объемов данных: дис. кандидат наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Москва. 2015. 168 с.

Оглавление диссертации кандидат наук Лукьянчиков, Олег Игоревич

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

ГЛАВА 1. АНАЛИЗ ТЕХНОЛОГИЙ И МЕТОДОВ РАЗРАБОТКИ РАСПРЕДЕЛЕННЫХ СИСТЕМ

1.1 Распределенная архитектура

1.2 Распределенные БД

1.3 Сервис-ориентированная архитектура

1.4 Облачная архитектура

1.5 Гибридная облачная архитектура

1.6 Технологии разработки распределенных систем

1.6.1 Технология распределенных объектов

1.6.2 Объектная модель CORBA

1.6.3 Модели распределенных объектов Microsoft COM, DCOM, СОМ+, .NET

1.6.4 Технологии вызова удалённых процедур

1.6.5 Технологии, ориентированные на обработку сообщений

1.6.6 Мониторы транзакций

1.6.7 Технология GRID

1.6.8 Заключение

1.7 Агентно-ориентированное программирование

1.8 Технологии доступа к БД

1.9 Объектное отображение реляционных данных

1.10 Заключение

ГЛАВА 2. АГЕНТНО-РЕЛЯЦИОННОЕ ОТОБРАЖЕНИЕ

2.1 Технология агентно-реляционного отображение

2.2 Объектная модель технологии агентно-реляционного отображения

2.3 Метод проектирования при агентно-реляционном отображении

2.4 Заключение

2

ГЛАВА 3. РЕАЛИЗАЦИЯ ТЕХНОЛОГИИ АГЕНТНО-РЕЛЯЦИОННОГО ОТОБРАЖЕНИЯ

3.1 Основные возможности технологии

3.2 Архитектура технологии

3.3 Модуль «АгКоИГег»

3.4 Модуль «АгЕпй1у»

3.5 Пример агентно-реляционного отображения

3.6 Заключение

ГЛАВА 4. АНАЛИЗ ЭФФЕКТИВНОСТИ ПРИМЕНЕНИЯ ТЕХНОЛОГИИ АГЕНТНО-РЕЛЯЦИОННОГО ОТОБРАЖЕНИЯ ПРИ ПОСТРОЕНИИ СИСТЕМ

4.1 Оценка эффективности технологии агентно-реляционного

отображения

4.2 Распределенные системы с реляционными БД

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

4.4 Система с гибридным облаком

4.5 Заключение

ЗАКЛЮЧЕНИЕ

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

ПРИЛОЖЕНИЕ А. АКТЫ ВНЕДРЕНИЯ

ПРИЛОЖЕНИЕ В. ИСХОДНЫЙ ТЕКСТ ПРОТОТИПА ТЕХНОЛОГИИ

АГЕНТНО-РЕЛЯЦИОННОГО ОТОБРАЖЕНИЯ

ПРИЛОЖЕНИЕ С. ПРИМЕР ИСПОЛЬЗОВАНИЯ ТЕХНОЛОГИИ

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

Введение диссертации (часть автореферата) на тему «Технология агентно-реляционного отображения для проектирования распределенных систем обработки больших объемов данных»

ВВЕДЕНИЕ

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

Актуальность темы.

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

Тенденции развития информационных систем состоят в обеспечении потребностей обработки огромных объемов данных и обслуживании большого количества клиентов одновременно на разных уголках земного шара. При построении информационных систем распределение вычислений и данных позволяет повысить их производительность и доступность. Для упрощения разработки и интеграции компонентов распределенных систем используется программное обеспечение промежуточного слоя (англ. middleware), которое обеспечивает требуемый уровень прозрачности, масштабируемости и открытости взаимодействия. К технологиям и стандартам промежуточного слоя, обеспечивающим удаленный доступ до объектов, относятся: CORBA, COM, DCOM, СОМ+, RPC, MOM.

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

для операций с БД используется язык запросов SQL, никак не связанный с классами и модулями приложений. Обычно при разработке объектно-ориентированных приложений используются различные технологии взаимодействия с реляционными БД, такие как: ODBC, DAO, OLE DB, BDE, JDBC. Наиболее предпочтительной является технология объектно-реляционного отображения (ORM), основоположником которой является С. В. Эмблер. В связи с различиями объектной и реляционной технологий полное отображение не возможно. Развитием теории совместного использования объектов и БД и практическим приложениям посвящены работы В.П. Иваппикова, К. В. Антипина, В. В. Рубанова, В. А. Семенова, С. В. Морозова, и др.

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

{Р. Буйя, Б. Джавади, Б. Ли, Б. Лянг, Б. Сотомейр, Чень Сяофен, Е. В.

5

Никульчев, Е.В. Плужник, Р. С. Монтеро и др.). Однако отсутствует единое программное решение промежуточного слоя для разработки распределенных систем (в том числе для гибридных облаков), способное объединить возможности удаленного доступа и взаимодействие с БД, а также включать специализированные технологии управления системами виртуализации и возможности переструктурирования данных в процессе эксплуатации систем.

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

Предмет и объект исследования

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

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

Цели и задачи

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

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

Для достижения данной цели, решаются следующие задачи:

1. Обзор и анализ технологий разработки распределенных систем.

2. Формулировка концептуальных положений для построения объектной модели технологии АРО.

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

4. Создание прототипа предлагаемой технологии.

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

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

- теоретические положения и объектная модель агентно-реляционного отображения систем обработки больших объемов распределенных данных;

- методика проектирования распределенных систем на основе технологии агентно-реляционного отображения;

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

ГЛАВА 1. АНАЛИЗ ТЕХНОЛОГИЙ И МЕТОДОВ РАЗРАБОТКИ РАСПРЕДЕЛЕННЫХ СИСТЕМ

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

Для упрощения разработки и интеграции компонентов распределенных систем, в том числе и гибридных облачных систем, используется промежуточный уровень (англ. middleware), который обеспечивает требуемый уровень прозрачности, масштабируемости и открытости взаимодействия. К технологиям и стандартам промежуточного уровня, обеспечивающим удаленный доступ до объектов, относятся: CORBA, COM, DCOM, СОМ+, RPC, MOM.

Также в системах широко применяются реляционные БД, являющиеся наиболее эффективным хранилищем, потому что реляционная

8

модель позволяет быстрее выполнять операции с данными, особенно поиск. Реляционные БД также могут иметь распределенный характер, при котором информация, хранящаяся на разных узлах, связана таким образом, чтобы составлять единую совокупность данных. Совместное использование реляционной модели БД и объектной модели приложений в системах затрудняет проектирование и разработку, так как для операций с БД используется специализированный язык запросов SQL. Обычно при разработке объектно-ориентированных приложений используются различные технологии взаимодействия с реляционными БД, такие как: ODBC, DAO, OLE DB, BDE, JDBC.

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

1.1 Распределенная архитектура

Распределенная система — это набор независимых компьютеров, представляющихся их пользователю единой объединенной системой [1]. Исследование архитектуры распределенных систем их свойств и технологий разработки выполнялось по работам [1-12].

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

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

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

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

- Открытость - использование синтаксических и семантический правил, основанных на стандартах, то есть использование формализованных протоколов;

- Масштарибуемость - изменение по отношению к размеру, к географическому размещению и к управлению.

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

Свойство прозрачность имеет следующие виды:

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

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

- прозрачность переноса и смены местоположения, скрывающая перемещения ресурсов в системе;

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

10

ресурса;

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

- прозрачность отказа, скрывающая отказы и восстановление системы;

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

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

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

Открытость имеет следующие характеристики:

- Интерперабильность (способность к взаимодействию) - способность двух различных систем и их компонентов совместно работать.

- Переносимость - способность, определяющая, на сколько компонент,

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

- Гибкость - способность легко конфигурировать систему, которая состоит из различных компонентов.

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

Масштабируемость - свойство расширения системы. Расширение системы измеряется по трем разным показателям:

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

- площадь (пространственная масштабируемость) - пользователи и ресурсы могут быть разнесены в пространстве, чем вызываются проблемы синхронизации процессов;

- управление (административная масштабируемость) - система проста в управлении при работе во многих административно независимых организациях, которая вызывает проблемы в безопасности доступа.

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

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

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

- репликация (дублирование) - копирование ресурсов, что повышает доступность ресурсов и позволяет выровнять нагрузку, что улучшает производительность системы.

1.2 Распределенные БД

Распределение вычислений и данных применяется также и в реляционных БД. Распределенная база данных DDB (Distributed DataBase - распределенная БД) - это набор файлов (отношений), хранящихся в разных узлах информационной сети и логически связанных таким образом, чтобы составлять единую совокупность данных (связь может быть функциональной или через копии одного и того же файла) [13]. Обычно под DDB подразумевают БД, включающую фрагменты из нескольких баз данных, которые располагаются на различных вычислительных узлах сети, и, возможно управляются различными СУБД. DDB выглядит с точки зрения пользователей и прикладных программ как обычная локальная БД. В этом смысле слово «распределенная» отражает способ организации БД, но не внешнюю ее характеристику. Обзор DDB выполнен по работам [1323].

Кристофер Дейт в 1987 году сформулировал один основной

принцип и двенадцать правил, которым, по его мнению, должны следовать распределенные базы данных [14]. Основной принцип заключается в "прозрачности распределения", то есть с точки зрения пользователя информации DDB не должна отличаться от локальной БД. В этом смысле слово «распределенная» отражает способ организации базы данных, но не внешнюю ее характеристику. Двенадцать правил DDB, сформулированных Кристофером Дейтом:

- локальная автономия (англ. local autonomy) - означает, что управление данными на каждом из узлов распределенной системы выполняется локально;

- независимость узлов (англ. no reliance on central site) - означает, что все БД распределенной системы являются равноправными поставщиками данных;

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

- прозрачность расположения (англ. location independence) - означает, что пользователь, обращаясь к БД, ничего не должен знать о её физическом расположении;

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

- прозрачное тиражирование (англ. replication independence) -асинхронный процесс переноса изменений объектов исходной БД в

базы, расположенные на других узлах распределенной системы;

- обработка распределенных запросов (англ. distributed query processing) - означает возможность выполнения запросов выборки из распределенной БД, одним сформированным SQL запросом.

- обработка распределенных транзакций (англ. distributed transaction processing) - возможность выполнения операций манипулирования данных (добавление, изменение, удаление), не разрушающее целостность и согласованность данных;

- независимость от оборудования (англ. hardware independence) -означает, что в качестве вычислительных узлов могут выступать компьютеры любых моделей и производителей;

- независимость от операционных систем (англ. operationg system independence) - означает многообразие операционных систем, управляющих вычислительными узлами;

- прозрачность сети (англ. network independence) - доступ к любым БД может осуществляться по сети и возможно использование любых сетевых протоколов;

- независимость от баз данных (англ. database independence) - означает возможность использование СУБД различных производителей.

Исходя из определения Дэйта, можно рассматривать DDB как слабосвязанную сетевую структуру, узлы которой представляют собой локальные БД. Локальные БД автономны, независимы и самоопределены. Доступ к ним обеспечиваются СУБД, в общем случае от различных поставщиков.

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

Реляционная модель не обязательно является самым подходящим способом представления данных для всех задач. Для повышения производительности и отказоустойчивости информационных систем чаще используются системы БД NoSQL {Not-Only-SQL). NoSQL предлагает широкий спектр моделей данных и их реализаций различного рода задач: данные в виде «документов» из наборов полей, записей «ключ-значение», графов и прочих. В базах данных NoSQL не поддерживается режим ведения транзакций, поэтому возникает проблема согласования данных. [23] Помимо этого, NoSQL БД имеют команды для работы отличные от привычной реляционной модели данных, что требует адаптации к ним разработчикам и усложняют разработку приложений. В данной работе область исследований касается только реляционных БД, что четко отражено в названии технологии, однако имеются для разработки приложений с NoSQL БД специальные «прослойки», предоставляющие возможности работать с NoSQL реляционными запросами или отображение данных сразу в объектную модель.

1.3 Сервис-ориентированная архитектура

Термин сервис-ориентированная архитектура SOA {service-oriented

architecture - сервис-ориентированная архитектура), как правило,

используется для обозначения архитектурного стиля построения надежных

16

распределенных систем, предоставляющие некую функциональность в виде набора слабосвязанных между собой сервисов. Для каждого БОА будет означать что-то свое, определенное. С точки зрения руководителя компании - это набор бизнес-сервисов, которые можно продать клиентам или предложить бизнес-партнерам. Для 1Т-инженера 80А — способ построение архитектуры, представляющий возможность создавать модульные, слабосвязанные сервисы, являющийся бизнес-процессом, действующим на предприятие. 80А - это система, объединяющая сферу деятельности между 1Т и бизнесом. Это не только чисто информационная технология и не только одна лишь сфера бизнеса - это сфера деятельности одновременно двух сообществ: информационного и бизнеса. Ни бизнес и ни 1Т не может полностью владеть, руководить и управлять всей системой 80А. Обе стороны заинтересованы в достижение качественного результата. БОА предоставляет такую возможность - общий язык для взаимопонимания. БОА рассмотрена по работам [24-32].

В 80А система строится из набора слабосвязанных звеньев (сервисов). На каждом вычислительном узле может быть запущено сколько угодно сервисов, которые в свою очередь могут использовать сколько угодно других сервисов. Сервисы могут быть объединены, чтобы обеспечить функциональность большого приложения. [26] В результате, каждый сервис построен в виде дискретной части кода. Это позволяет повторно использовать код по-разному во всем приложении путем изменения только взаимодействия с другими службами, которые составляют приложение. Принципы проектирования 80А используются при разработке и интеграции программного обеспечения.

Последнее время идет быстрое развитие программного решения для

объединения информационных систем: application server, Enterprise Service Bus, process server и т.д.

Для взаимодействия сервисов широко используется сообщения в формате XML (eXtensible Markup Language - расширяемый язык разметки,), особенно протоколы WSDL {Web Services Description Language - язык описания веб-служб) и SOAP {Simple Object Access Protocol - простой протокол доступа к объектам). Если служба представляет собой простой интерфейс, который абстрагирует её всю сложность, то пользователи могут получить доступ к независимым услугам без знания реализации платформы сервиса. [27].

W3C {Web Services Architecture Working Group Consortium - рабочая группа консорциума веб-сервисной архитектуры) рассматривает SOA формой распределенных систем и характеризует следующими свойствами:

- Логическое представление: сервис - это представление программ, баз данных, бизнес-процессов и т.д.

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

- Ориентация на описание: сервисы описываются программно-обрабатываемыми метаданными. Описываются только внешние и важные детали сервиса. Семантика службы должна быть

документирована прямо либо косвенно.

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

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

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

Для некоторых, SOA можно увидеть в континууме от старых концепций распределенных вычислений [32] и модульного программирования. Системы, в которых программное обеспечение представлено в качестве услуги, и используются облачные вычисления, некоторые видят как потомков SOA.

1.4 Облачная архитектура

Облачные вычисления (англ. cloud computing) - информационно-

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

и удобного сетевого доступа по требованию к общему пулу

конфигурируемых вычислительных ресурсов (например, сетям передачи

данных, серверам, устройствам хранения данных, приложениям и

сервисам — как вместе, так и по отдельности), которые могут быть

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

19

эксплуатационными затратами или обращениями к провайдеру [33]. Обзор облачных систем выполнен по работам [33-37].

Облачные системы разделяют по моделям обслуживания на следующие виды:

- SaaS (Software-as-a-Service - программное обеспечение как услуга) -потребителю с различных клиентских устройств предоставляется возможность пользоваться программным обеспечением провайдера, работающего в облачной инфраструктуре.

- PaaS (Platform-as-a-Service - платформа как услуга) - потребителю предоставляется возможность размещения своего программного обеспечения в облачной инфраструктуре провайдера.

- IaaS (Infrastructure-as-a-Service - инфраструктура как услуга) -потребителю предоставляется возможность использование облачной инфраструктуры провайдера для самостоятельного управления вычислительными ресурсами, сетями и прочими возможностями системы.

Ключевой особенностью облачных систем уровня инфраструктуры является использование виртуализации для реализации облачных серверов. Виртуализация предоставляет изолированное окружение, или «виртуальную машину» (ВМ), в которой возможно выполнение всего стека ПО сервера, включая операционную систему [35]. Среди систем с открытым исходным кодом, наиболее популярны KVM {Kernel-based Virtual Machine - виртуальная машина на основе ядра) [38] и гипервизоры, основанные на Хеп[39].

Согласно [32], выделяют следующие основные свойства облачных систем:

- самообслуживание по требованию,

- широкий сетевой доступ,

- объединение ресурсов в пулы,

- мгновенная эластичность,

- измеряемый сервис.

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

Для решения проблем безопасности облачных систем применяют различные модели развертывания, такие как:

- Частное облако (англ. private cloud), при котором вся инфраструктура находится внутри локальной сети, тем самым полностью ограничивая внешних абонентов и обеспечивая высокий уровень безопасности.

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

Список литературы диссертационного исследования кандидат наук Лукьянчиков, Олег Игоревич, 2015 год

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

1. Таненбаум Э., Стеен М. Распределенные системы. Принципы и парадигмы. - М. и др.: Питер, 2003.

2. Дейтел X. М. Операционные системы. Распределенные системы, сети, безопасность: Третье издание/ХМ Дейтел, П. Дж. Дейтел, ДР Чофнес. Пер. с англ //Москва: ООО «Бином-Пресс.» - 2007.

3. Карпов. Л. Е. Архитектура распределенных систем программного обеспечения. - М.: МГУ им. М. В. Ломоносова, 2007.

4. Карпов Ю. Г. MODEL CHECKING. Верификация параллельных и распределенных программных систем. - БХВ-Петербург, 2010.

5. Грекул В. И., Денищенко Г. Н., Коровкина Н. Л. Проектирование информационных систем //Интернет-университет информационных технологий-ИНТУИТ. ру. - 2005.

6. Влацкая И. В., Сормов С. И. Управление и обработка информации в распределенных системах //Вестник Оренбургского государственного университета. - 2010. - №. 4. - С. 132-136.

7. Бернстайн Ф. Middleware: модель сервисов распределенной системы //СУБД. - 1997. -№. 2. - С. 41-60.

8. Юткин А. Объектные технологии в распределенных системах// Открытые системы, № 03, 1995.

9. Stojmenovic, I. and Thulasiram, R.K. and Yang, L.T. Parallel and Distributed Processing and Applications: 5th International Symposium, ISPA 2007, Niagara Falls, Canada, August 29-31, 2007, Proceedings. — Springer, 2007. — P. 563-656.

10.Ruh, W.A. and Maginnis, F.X. and Brown, W.J. Enterprise Application Integration: A Wiley Tech Brief. — Wiley, 2002. — P. 52-59.

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

12.Касаткин А. Средства middleware и их классификация //PC Week RE. -1999.-№. 19.

13.Özsu M. T., Valduriez P. Distributed and parallel database systems //ACM Computing Surveys (CSUR). - 1996. - T. 28. - №. 1. - C. 125-128.

И.Ладыженский Г. M. Распределенные информационные системы и базы данных //Jet Infosystems, CIT Forum. - 1996.

15.Ладыженский Г. M. Системы управления базами данных - коротко о главном // Системы управления базами данных, № 03, 1995.

16.Дейт К., Когаловский М. Р. Руководство по реляционной СУБД DB2: Пер. с англ. - Финансы и статистика, 1988.

17.Дейт К. Введение в системы баз данных. 6-е изд.: Пер. с англ. Киев; М.; СПб., 2000.

18.Конноли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика. 2-е изд.: Пер с англ. М., 2000.

19.Лебедев В. Б. «Формирование конфигурации распределенной базы данных»//Известия Южного федерального университета. Технические науки №6 (155), 2014.

20.Попов Ф. А., Максимов А. В. Подходы к проектированию баз данных для автоматизированных систем //Известия алтайского государственного университета. - 2003. - №. 1.

21.Федосеенко Т. А. «Использование методов оптимизации запросов к распределенной базе данных для повышения эффективности информационных систем» // Cloud of science № 3 , том 1 ,2014.

22.Григорьев Ю. А., Ермаков Е. Ю. Сравнение провесов обработки запроса к одной таблице в параллельной строчной и колоночной сситеме баз данных // Инженерный журнал: наука и инновации. - 2012 - №2 е.- 170179.

23.Григорьев Ю. А., Цвященко Е. В. Анализ процессов обработки версий записи в базах данных NoSQL // Наука и образование: электронное научно-техническое издение. - 2015. - №. 1- С. 176-188.

24.Papazoglou M. P. Service-oriented computing: Concepts, characteristics and directions // Web Information Systems Engineering, 2003. WISE 2003. Proceedings of the Fourth International Conference on. - IEEE, 2003. - C. 312.

25.Alonso G. et al. Web services. - Springer Berlin Heidelberg, 2004. - C. 123149.

26.Velte, Anthony T. (2010). Cloud Computing: A Practical Approach. McGraw Hill.

27.Channabasavaiah, Holley and Tuggle, Migrating to a service-oriented architecture, IBM DeveloperWorks, 2003.

28.Анисимов Д. А., Дмитревич Г.Д, Гридин В. H. Архитектура распределенных сервис-ориентированных систем автоматизированного проектирования. // Известия Южного федерального университета. Технические науки. - 2014. - №. 7 (156).

29.Гребинник Р. В., Липанов О. В. Моделирование SOA систем с целью оптимизации их архитектуры // Системи обробки информации. - 2014. -№. 4.-С. 156-160.

30.Шатовская Т. Б., Марин В. О. Разработка веб-сервиса для предоставления услуг хранения данных // Весник Национального техничного университета. - 2014. - №. 17. - С. 62-68.

31.Li В., Nahrstedt К. A Control-based middleware framework for quality-of-service adaptations // Selected Areas in Communications, IEEE Journal on. -1999.-T. 17. -№. 9.-C. 1632-1650.

32.Bell M. Introduction to service-oriented modeling //Service-Oriented Modeling: Service Analysis, Design, and Architecture. Wiley & Sons. - 2008. -T.3.

33.Mell P., Grance T. The NIST definition of cloud computing. - 2011.

34.Халилов А.И., Халилов M.A. Облачные очертания структурно-базовой технологии //Фундаментальные исследования № 9-8 ,2014.

35.А.О. Кудрявцев, В.К. Кошелев, А.О. Избышев, И.А. Дудина, Ш. Ф. Курмангалеев, А.И. Аветисян, В.П. Иванников, В.Е. Велихов, Е.А. Рябинкин «Разработка и реализация облачной системы для решения высокопроизводительных задач» // Труды Института системного программирования РАН. том 24. 2013.

36.Болодурина И.П., Парфёнов Д.И. «Алгоритмы комплексной оптимизации потребления вычислительных ресурсов в облачной системе дистанционного обучения» // Вестник Оренбургского государственного университета № 9 (158), 2013.

37.Пескова О.Ю., Степовая К.Е. Особенности анализа информационной безопасности облачных систем // Известия Южного федерального университета. Технические науки. - 2013. - №. 12 (149).

38.Avi Kivity, Yaniv Kamay, Dor Laor, Uri Lublin, and Anthony Liguori. kvm: the linux virtual machine monitor. In Proceedings of the Linux Symposium, volume 1, pages 225-230, 2007.

39.Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. Xen and the art of virtualization. A CM SIGOPS Operating Systems Review, 37(5): 164-177, 2003

40.Курносов M. Г., Пазников А. А. Децентрализованные алгоритмы диспетчеризации простанственно-распределенных вычислительных систем. // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. - 2012. - №. 1.

41.Новиков А. М. и др. Разработка технологии и облачной информационной системы для хранения и обработки многомерных массивов научных данных// Информатика и системы управления. - 2012. - Т. 34. - №. 4. -С. 156-162.

42.Плужник Е. В., Никульчев Е. В. Слабоструктурированные базы данных в гибридной облачной инфраструктуре // Современные проблемы науки и образования. - 2013. - №. 4. - С. 95-101.

43.Javadi В., Thulasiram R. К., Buyya R. Statistical modeling of spot instance prices in public cloud environments // Utility and Cloud Computing (UCC), 2011 Fourth IEEE International Conference on. - IEEE, 2011. - C. 219-228.

44.Sotomayor B. et al. Capacity leasing in cloud systems using the opennebula engine // Workshop on Cloud Computing and its Applications. - 2008. - T. 3.

45.Плужник E. В., Никульчев E.B., Паяин C.B., Лукьянчиков О. И. Проектирование распределенных систем в гибридной облачной инфраструктуре // Международная конференция «Инжиниринг & телекоммуникации - Еп&Т 2014». Тезисы докладов. - М.: Долгопрудный: МФТИ, 2014. С. 212-214.

46.Buyya R., Calheiros R. N., Li X. Autonomic cloud computing: Open challenges and architectural elements. Third International Conference on Emerging Applications of Information Technology (EAIT), 2012, pp. 3-10.

47.Jurczyk P., Xiong L. Dynamic Query Processing forp2p Data Services in the Cloud. Database and ExpertSystems Applications, Springer, Berlin, Heidelberg, 2009, pp. 396-411.

48.Mahmood Z. (ed.) Cloud Computing. Challenges, Limitations and R&D Solutions. Springer International Publishing, 2014.

49.Pandey S., Voorsluys W., Niu S., Khandoker A., Buyya R. An autonomic cloud environment for hosting ECG data analysis services. Future Generation Computer Systems, 2012, vol. 28, no. 1, pp. 147-154.

50.Sithole E., McConnell A. et al. Cache Performance Models for Quality of Service Compliance in Storage Clouds. Journal of Cloud Computing: Advances, Systems and Applications, 2013, vol. 2, no. 1, pp. 1-24.

51.Li J. Y Li, X Chen, PPC Lee, W Lou. A Hybrid Cloud Approach for Secure Authorized Deduplication. // Internet Computing, IEEE, 2014, vol.13 , pp. 14 -22.

52.Wang W., Li В., Liang B. Towards optimal capacity segmentation with hybrid cloud pricing //Distributed Computing Systems (ICDCS), 2012 IEEE 32nd International Conference on. - IEEE, 2012. - C. 425-434.

53.Javadi В., Abawajy J., Buyya R. Failure-aware resource provisioning for hybrid Cloud infrastructure //Journal of parallel and distributed computing. -2012.-T. 72.-№. 10.-C. 1318-1331.

54.Remzi H.; Andrea C. Introduction to Distributed Systems // Arpaci-Dusseau Books 2014.

55.Sotomayor B. et al. Virtual infrastructure management in private and hybrid clouds // Internet computing, IEEE. - 2009. - T. 13. - №. 5. - C. 14-22.

56.0берг P. Дж. Технология COM+. Основы и программирование.: Пер. с англ. Уч. пос //М.: Издательский дом "Вильяме. - 2000.

57.Rofail A., Shohoud Y. Mastering Com and Com+. - SYBEX Inc., 1999.

58.Blexrud C., Loesgen В., Crossland J. Professional Windows DNA: Builiding Distributed Web Applications with VB, COM+, MSMQ, SOAP, and ASP. -Wrox Press Ltd., 2000.

59.Siegel J. CORBA 3 fundamentals and programming. - Chichester : John Wiley & Sons, 2000.-T. 2.

60.Henning M., Vinoski S. Advanced CORBA® programming with С++. -Pearson Education, 1999.

61.Хородов В. С., Игонин А. Г. Технологии распределённого проектирования // Вестник Ульяновского государственного технического университета (Вестник УлГТУ). - 2014. - С. 54.

62.Радченко Г. И. Распределенные вычислительные системы //Челябинск: Фотохудожник. - 2012.

63.Причард Д. Ж. СОМ и CORBA. Просто и доступно // М.: Лори. - 2001.

64.0рфали Р., Харки Д., Эдварде Д. Основы Corba. - М. : МАЛИП, 1999.

65.Bruce Jay Nelson Remote Procedure Call. // Xerox Palo Alto Research Center). PhD thesis. 1981.

66.Сиггу E. Message-oriented middleware // Middleware for communications. -2004.-C. 1-28.

67.Banavar G. et al. A case for message oriented middleware //Distributed Computing. - Springer Berlin Heidelberg, 1999. - C. 1-17.

68.Foster I., Kesselman C. What is the Grid //A three point checklist. - 2002. - T. 20.

69.Foster I. There's Grid in them thar Clouds // personal blog - 2010; URL: http://ianfoster. typepad. com/blog/2008/01/theres-grid-in. html.

70.Prabhu C. S. R. Grid and cluster computing. - PHI Learning Pvt. Ltd., 2008.

71.Кирьянов А. К., Рябов Ю. Ф. Введение в технологию Грид // Учебное пособие, ПИЯФ РАН. - 2006.

72.Путилов В. А., Шишаев М. Г. Функционально-целевая технология подготовки задач к развертыванию в GRID среде // Информационные технологии в управлении жизненным циклом изделий: Материалы Междунар. конф.-СПб: Центр печати «СеверРосс.» - 2003. - С. 17-19.

73. Афанасьев А. П. и др. Современные технологии построения распределенных программных систем // Проблемы системного анализа и управления: Сб. трудов ИСА РАН.-М.: Эдиториал УРСС. - 2001. - С. 115180.

74.Дорошенко А. Е., Алистратов О.В., Тырчак Ю.М., Розенблат, А.П., Рухлис К.А. Системы GRID-вычислений—перспектива для научных

119

исследований. // Научная электронная библиотека периодических изданий HAH Украины - 2005.

75.Бреслер И.Б., Семенов С.А., Корниенко В.В., Борисов В.В. Перспективный подход к организации программных комплексов // Радиопромышленность, 2009. — Вып. 1. — С. 72-88.

76.Shoham Y.Agent Oriented Programming // Computer Science Department, Stanford University - 1990.

77.Shoham, Y.. Agent-Oriented Programming //Artificial Intelligence, pp. 51-92. 1993.

78.Hewitt C., Bishop P., Steiger R. A. Universal Modular Actor Formalism for Artificial Intelligence. // IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence. - Morgan Kaufmann Publishers Inc., 1973. —P. 235-245.

79.3айцев И. M., Федяев О. И. Агентно-ориентированный подход к моделированию интеллектуальных распределённых систем: Сб. — Донецк: ДонНТУ, 2008. — С. 337-338.

80.Вей-Менг Ли Эволюция технологий доступа к данным // SQL Server Magazine. - 2003. - № 1. - С. 73-81.

81.Пыхалов А. В., Шаройко О. В. Методика работы с БД в гетерогенном окружении // Материалы XIV Всероссийской научно-методической конференции" Телематика. - 2007.

82.Росинский В. В. Метод организации доступа к удаленным источникам данных в корпоративных информационных системах // Управляющие системы и машины. - 2011. - №. 1. - С. 3-32.

83.Булаев В. В., Котов И. Н. Анализ современных средств разработки СУБД-приложений // Известия Южного федерального университета. Технические науки. - 2002. - Т. 25. - №. 2.

84.Иванников В.П., Гайсарян С.С., Антипин К.В., Рубанов В.В. Объектно-ориентированное окружение, обеспечивающее доступ к реляционным СУБД//Труды Института системного программирования РАН. — 2001. — Т. 2. —С. 89-114.

85.Ambler S. W. Mapping Objects to Relational Databases: O/R Mapping In Detail. —Ambysoft Inc. 2010.

86.Антипин К. В. Рубанов В. В. Проблемы организации объектно-ориентированного доступа к реляционным базам данных. // Труды Института системного программирования РАН. том 2. 2001г.

87.Рубанов В. В. Способы отображения объектов в реляционных базах данных // Труды Института системного программирования РАН. том 3. 2002г.

88.Семенов В. А. Морозов С. В. Порох С. А. Стратегии объектно-реляционного отображения: систематизация и анализ на основе паттернов // Труды Института системного программирования РАН том 8. 2004г. №2.

89.Лукьянчиков О.И., Никульчев Е.В., Паяин С.В., Плужник Е.В. Проектирование распределенных информационных систем обработки больших объемов данных в гибридной облачной инфраструктуре // Прикаспийский журнал: управление и высокие технологии. 2014. № 4(28). С. 76-87.

90.Никульчев Е.В., Плужник Е.В., Лукьянчиков О.И. Проектирование распределенных информационных систем обработки больших объемов данных в гибридной облачной инфраструктуре // Вестник Рязанского государственного радиотехнического университета. 2014. № 50-1. С. 135138.

91.Lukyanchikov О. I., Pluzhnik E.V., Nikulchev E.V., Payain S.V., Using Object-Relational Mapping to Create the Distributed Databases in a Hybrid Cloud Infrastructure // (IJACSA) International Journal of Advanced Computer Science and Applications. Vol. 5. No. 12. 2014.

92.Лукьянчиков О. И. Технология объектно-реляционного отображения реляционных данных при агентно-ориентированном программировании // Задачи системного анализа, управления и обработки информации. Межвузовский сборник научных трудов. № 5. 2015. С. 85-96.

93 .Лукьянчиков О.И. Технология агентно-реляционного отображения // Современные проблемы науки и образования. - 2015. - № 1; URL: http://www.science-education.ru/121-18623

94.Yoda, Т.: Creating Applications Using Parameterized Frameworks: Quickly developed and highly customized, presentation at OMG's 2nd Workshop: UML for Enterprise Applications: Model Driven Solutions for the Enterprise, Burlingame, Dec. 2001.

95.Wallnau K., Weiderman N., Northrop L. Distributed Object Technology with CORBA and Java: Key Concepts and Implications. - CARNEGIE-MELLON

121

UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST, 1997. - №. CMU/SEI-97-TR-004.

96.Ладыженский Г. M. Технология "клиент-сервер" и мониторы транзакций // Открытые системы, № 03, 1994.

97.Barros А. P., Dumas М. The rise of web service ecosystems //IT professional. -2006. - T. 8. - №. 5. - C. 31-37.

98.Буй Д., Сильвейструк Л. Модель „сущность-связь": роли, сильные и слабые типы сущностей и типы связей //Proceedings of the XIII-th International Conference ,,Knowledge-Dialogue-Solution"(June 18-24, 2007, Varna, Bulgaria).-Sofm. - 2007. - Т. 1. - C. 316-322.

99.Ларман К. Применение UML и шаблонов проектирования. - Вильяме, 2004.

100. Нейбург Э. Д., Максимчук Р. А. Проектирование баз данных с помощью UML. - Издательство Диалектика, 2002.

101. Кузнецов С. Д. Базы данных // Модели и языки. М.: Бином пресс. -2008.

102. Шилдт Г. С# 4.0 полное руководство, СПб.: Вильяме, 2011. 1056 с.

103. Pluzhnik Е. V., Nikulchev E.V. Use of Dynamical Systems Modeling to Hybrid Cloud Database. Int'l J. of Communications, Network and System Sciences, 2013, vol. 6, no. 12, pp. 505-512.

104. Pluzhnik E., Nikulchev E. Virtual laboratories in cloud infrastructure of educational institutions. 2nd International Conference on Emission Electronics (ICEE). Selected papers. 2014. pp. 67-69.

105. Никульчев E. В., Плужник E. В. Лабораторный экспериментальный стенд облачных и сетевых технологий //Cloud of science. - 2014. - Т. 1. -№. 1 С. 78-87.

106. Patikirikorala, Т., Wang, L., Colman, A., Han, J. Differentiated performance management in virtualizcd environments using nonlinear control // IEEE Transactions on Network and Service Management. 2015. V. 12. №. l.P. 101-113.

107. Pluzhnik E., Nikulchev E., Payain S. Optimal control of applications for hybrid cloud services // Proceedings 2014 IEEE Tenth World Congress on Services (SERVICES 2014). USA, IEEE, 2014. P. 458-461.

108. Zhou X., Wei J., Xu C.-Z. Quality-of-service differentiation on the internet: A taxonomy // Journal of Network and Computer Applications. 2007. V.30. N. 1. P. 354-383.

109. Lu С., Lu Y., Abdelzaher T., Stankovic J., Son S. Feedback control architecture and design methodology for service delay guarantees in web servers // IEEE Transactions on Parallel and Distributed Systems. 2006. V. 17. N. 9. P. 1014-1027.

110. Никульчев E.B., Паяин C.B., Плужник Е.В. Динамическое управление трафиком программно-конфигурируемых сетей в облачной инфраструктуре // Вестник Рязанского государственного радиотехнического университета. 2013. № 3 (45). С. 54-57.

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