УДК 004
ИСПОЛЬЗОВАНИЕ РЕСУРСОВ ОБЛАЧНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И МОБИЛЬНЫХ АГЕНТОВ ПРИ РЕШЕНИИ ЗАДАЧ МОБИЛЬНЫХ ТЕХНОЛОГИЙ Ю.Р. Акинин, В.Н. Черников, В.Ф. Барабанов
В статье рассматриваются вопросы использования облачных вычислительных систем для хранения и обработки информации в мобильных технологиях. Мобильные приложения нуждаются в постоянном и качественном сетевом соединении, предложенная мобильно-агентная архитектура является одним из вариантов решения существующей проблемы
Ключевые слова: облачные технологии, мобильные приложения, мобильные агенты
1. Введение
Облачные вычисления на мобильных платформах породили новый виток развития в стремительно изменяющемся мире мобильных устройств.
Идея облачных технологий подразумевает использование облачных вычислений для хранения и обработки информации на мобильных устройствах, тем самым устраняя недостаток ограниченности объема последних. Согласно исследованию АВ1 [3] в 2008 году пользователями облачных технологий были лишь 42,8 млн. человек, к 2015 году будет 240 млн. потребителей.
Конечный пользователь мобильных
устройств и будет ключевым фактором в
развитии облачных технологий. Пользователи
облачных технологий могут обмениваться информацией и приложениями без больших капитальных затрат на аппаратные средства и программное обеспечение; не требуются высокотехнологичные аппаратные средства, поскольку вычислительные операции
происходят внутри облака. Тем самым снижается цена мобильных устройств для конечного пользователя.
В то же время и разработчики получают преимущества от облачных технологий. Самый большой плюс для разработчиков - доступ к широкой аудитории пользователей мобильных устройств. Так как облачные приложения работают через браузер, операционная система конечных пользователей никак не влияет на приложения.
Наряду с множеством преимуществ существует большое число вопросов, которые
Акинин Юрий Робертович - ВГТУ, аспирант, тел. (473) 243-77-18
Черников Вячеслав Николаевич - ВГТУ, аспирант, тел. (473) 243-77-18
Барабанов Владимир Федорович - ВГТУ, д-р техн. наук, профессор, тел. (473) 243-77-18
подлежат рассмотрению, и проблем, которые нужно решить. Одни из них - зависимость от бесперебойных сетевых соединений, зависимость от приложений, позволяющих осуществлять обмен данными, и их совместной работы, а также безопасность всего процесса. Главная же проблема заключается в доступности сети и сбоях ее работы. Облачная концепция базируется на бесперебойном подключении, потому необходимо обеспечить высококачественный доступ к сети[1].
2. Архитектура взаимодействия мобильных приложений и облачных
вычислительных систем
Представленная архитектура, рис. 1, показывает взаимодействие мобильных
приложений и облачных вычислительных
систем, на примере открытой платформы OpenMobster (Open Source Mobile Cloud
Platform) [4].
Типовые службы, необходимые со стороны мобильного устройства:
Служба синхронизации - эта служба передает все изменения, произведенные на
мобильном устройстве обратно на облачный сервер.
Служба Push: управляет обновлениями, рассылаемыми облачным сервисом; улучшает работу пользователя, поскольку пользователю не нужно самостоятельно проверять наличие новой информации.
Служба OfflineApp - эта служба позволяет создать координацию в работе низкоуровневых служб, таких как Sync и Push; освобождает программиста от написания кода выполнения синхронизации, поскольку эта служба сама решает, какой механизм синхронизации лучшим образом подходит для данной ситуации. В момент, когда установлен канал передачи данных, push-уведомления и уведомления о синхронизации автоматически обрабатываются Offline App.
Служба сетевого взаимодействия -устанавливает канал передачи, необходимый для получения ршИ-уведомлений от сервера; позволяет автоматически устанавливать связь между устройством и сервером. Это низкоуровневая служба; защищает любое низкоуровневое установление соединения, детали протокола безопасности, благодаря высокому уровню интерфейса платформы.
Служба базы данных - представляет собой локальное хранилище данных для мобильных приложений; в зависимости от платформы используются соответствующие возможности для хранения. Основная задача этой службы -хранение и обеспечение безопасного одновременного доступа к данным. Как и Network, является низкоуровневой службой.
Рис. 1. Архитектура платформы OpenMobster
InterApp Bus: данная служба обеспечивает низкоуровневое взаимодействие между
приложениями, установленными на устройстве.
Типовые службы, необходимые со стороны облачной среды:
Служба Sync - серверная Sync-служба
синхронизирует изменения в состоянии приложения со стороны устройства с back-end сервисами, где данные возникают; эта служба также обеспечивает предоставление плагин-основы для мобилизации back-end data.
Служба Push - серверная Push-служба
отслеживает каналы передачи данных для
обновлений. В момент обнаружения обновлений, соответствующее уведомление отсылается устройству. Если по какой-то причине устройство отключено от сети, служба
ожидает и затем, как только устройство подсоединится заново, доставляет уведомление.
Secure Socket-Based Data Service: в
зависимости от требуемого приложением уровня безопасности эта служба обеспечивает plain socket, SSL socket серверы или оба.
Безопасность - этот компонент обеспечивает аутентификацию и авторизацию, тем самым давая убедиться в том, что подключенные к облачному сервису мобильные устройства действительно имеют к нему доступ. Каждое устройство должно сначала пройти регистрацию. Затем, при активации, устройство проходит процедуру
аутентификации/авторизации и лишь потом получает доступ к серверу.
Консоль управления - каждый облачный
сервер должен иметь специальное приложение, которое обеспечивает пользователю
возможности управления и администрирования системы, например, дистанционное удаление данных, дистанционная блокировка и др.
3 Преимущества использования
облачных вычислений в мобильных
технологиях
Мобильные облачные приложения
отодвигают вычисления и хранение информации от мобильных телефонов к облаку. Преимущества мобильных облачных
вычислений:
— мобильные облачные вычисления
помогут преодолеть ограничения мобильных устройств, в частности в вычислительных мощностях и в хранении информации.
— также может помочь продлить срок
службы батареи путем перемещения
выполнения частозапускаемых приложений в облако.
— мобильные облачные вычисления также
видятся как решение фрагментированному рынку операционных систем, который в настоящее время включает 8 главных
операционных систем.
— мобильные облачные вычисления могут повысить уровень безопасности мобильных устройств за счет централизованного мониторинга и обслуживания программного обеспечения.
— также мобильные облачные вычисления могут стать единым универсальным выбором для пользователей, поскольку одновременно обеспечивают доступ к сети, дают возможность осуществлять электронные платежи, предоставляет услуги хранения информации и пр.
— ряд новых технических функций может быть предоставлен мобильными облаками; в частности обеспечение информации о местоположении персонализирует сервисы.
— мобильные облачные вычисления могут способствовать формированию облачного бизнеса, который в настоящее время монополизирован.
4. Проблемы использования облачных вычислений в мобильных технологиях. Варианты решения
Облачные вычисления имеют не только плюсы (бесконечная расширяемость объема, низкие издержки использования, низкие инвестиции и риск), но и ряд составляющих необходимых, для предоставления хороших облачных услуг:
— возможность разбиения функций
приложения со стороны облака и со стороны устройства;
— низкая латентность сети для более быстрого ответа;
— высокая пропускная способность сети для более быстрой передачи данных между облаком и устройством;
— адаптивный мониторинг состояния сети с целью оптимизации затрат;
— постоянное сетевое соединение для контроля канала;
— возможность поддерживать соединение по запросу;
— иметь возможность выбора сети с учетом энергоэффектиности и низкозатратности.
Данные требования налагают ряд ограничений на использования облачных ресурсов и приводит к ряду проблем, которые требуют решения:
Отсутствие открытых общепризнанных стандартов. Мобильность и взаимодействие между провайдерами облачных услуг невозможны, что затрудняет широкое использование и быстрое развитие облачных технологий. Пользователи с неохотой трансформируют свои текущие источники с данными на облачные платформы, потому что остается ряд нерешенных технических проблем на этих платформах.
Ограниченная масштабируемость:
большинство поставщиков облачных услуг заявляют, что они предоставляют бесконечную масштабируемость; на самом деле с широким распространением облачных вычислений и быстрым ростом числа пользователей, никто из поставщиков облачных услуг не в состоянии удовлетворить запросы всех пользователей.
Ненадежность в доступности услуги: временные неполадки происходили в работе многих облачных систем, в том числе Amazon, Google, Microsoft. Зависимость от услуг одного поставщика может стать узким местом в случае поломки, так как приложение не может переместиться к другому поставщику облачных услуг, потому услуга просто перестанет предоставляться.
Блокировка провайдером услуг: отсутствие мобильности не позволяет приложению и данным перемещаться от одного поставщика облачных услуг к другому.
Невозможность использования услуг различных облачных систем: в настоящее время приложения не могут использовать возможности различных облачных вычислительных систем, так как между различными поставщиками облачных услуг нет совместимости.
Возможным решением этих проблем является использование технологии
мобильных агентов.
5. Возможности мобильных агентов в парадигме облачных вычислений
Мобильный агент (МА) - это программный модуль, который автономно перемещается между машинами в гетерогенной сети, взаимодействуя с сервисами на каждой машине для выполнения поставленной задачи от имени пользователя [2]. МА могут быть использованы как посредники между пользователями и техническими устройствами. К примеру, если пользователь хочет управлять устройством, но не обладает соответствующим ПО, он может скачать агента, знающего протокол обмена данными [7]. Наша цель исследования в области МА обоснована на их применении в создании распределённых систем и некоторых их свойств [8], таких как:
- преодоление сетевой задержки;
- способность к асинхронной и автономной работе;
- динамичность;
- кооперативность;
- живучесть;
- устойчивость к сбоям;
- инкапсуляция протоколов;
- социальность;
- реактивность/проактивность.
Мобильных агентов широко используют в
семантических веб-сервисах, приложениях для торговли по Интернету, сенсорных сетях и беспроводных сетях. Они доказали свою полезность. В настоящее время эта технология привлекает исследователей, работающих в облачных вычислениях, так как она предоставляет решения проблем,
существующих в этой области. Исследователи [9,10,11] уже осознают, что применение мобильных агентов в этой модели вычислений обеспечивает лучшее решение проблем, преобладающих в этой области.
Как правило, пользовательские запросы посылаются напрямую из облака в Интернет, что приводит к повышению сетевого трафика и времени отклика. С другой стороны, если применить мобильных агентов для предоставления различных услуг, то сетевой трафик можно уменьшить, одновременно уменьшая время отклика, так как МА могут при необходимости воспроизводить самих себя и передаваться по сети от одной машине к другой и выполнять операции локально на удалённых машинах, нежели посылать запросы и ожидать ответа.
5.1 Базовая архитектура системы предоставления облачных вычислительных ресурсов по средствам мобильных агентов
Мобильный агент, являясь комбинацией данных и программного обеспечения, которая может мигрировать из одной среды в другую без потери данных, способен выполнять необходимые вычисления в новой облачной среде, рис. 3.
Рабочий механизм: в данной архитектуре используется централизованный подход основанный на Task manager. Каждый административный домен имеет у поставщика облачных услуг свою виртуальную машину и МАР. Одна из виртуальных машин выбирается как task manager, который выполняет множество функций, среди которых -индексация ресурса, аутентификация, безопасность, биллинг, аварийное
восстановление, обеспечение
отказоустойчивости [5].
От пользователя задача, заключенная в мобильном агенте как структура данных, отправляется в облако. МАР получает все присланные от мобильного агента данные. MAP информирует Task manager вне зависимости от того, получены или нет данные от мобильного агента; МАР отвечает также за бэкап и мониторинг мобильного агента. Обмен данными между МАР и Task manager постоянен.
Используя данный мобильно-агентный подход, можно выделить следующую модифицированную архитектуру системы распределения вычислительных ресурсов и выполнения мобильных агентов в облачной среде, рис. 2.
5.2. Преимущества использования мобильно-агентной архитектуры
Предложенная архитектура способна решить некоторые существующие проблемы совместного использования мобильных технологий и облачных вычислительных систем и дает ряд преимуществ:
Портативность. Само определение
мобильного агента подразумевает
портативность. Каждый мобильный агент
запускается в области на виртуальной машине (обеспеченной ПОУ), называемой Mobile Agent Place (МАР). Мобильный агент, передающий код приложения или пользовательские задачи, может перемещаться от одного МАР к другому вне зависимости от специфики облачной
системы — тем самым реализуется
портативность среди многочисленных
облачных вычислительных систем.
Рис. 2. Модифицированная архитектура системы вычисления мобильных агентов в облачной среде
Стандартизация сетевого
взаимодействия
Унификация взаимодействия для
различных клиентов и различных вычислительных систем.
Стабилизация работы системы при
нестабильности сетевого канала.
Нормализация работы системы при
высокой сетевой латентности.
Создает технологический базис для развития эластичных мобильных приложений (Elastic Mobile Applications)[6].
5.3 Эластичные мобильные
приложения
Эластичные (гибкие) приложения не ограничены возможностями мобильного устройства. Если требуется дополнительные вычислительной мощности или места для хранения, это может быть позаимствовано у облака. Сетевое взаимодействие основано на использовании стандартных сетевых протоколов HTTP(S), форматов данных и API [12]. Это дает большую гибкость для устройства.
Эластичные мобильные приложения могут быть запущены на устройстве или на облаке и могут перемещаться между ними в зависимости от ситуации или предпочтений пользователя [6]. Архитектура содержит следующие компоненты, рис 3.
— Эластичное приложение - выбирается
пользователем и запускается на любой платформе в соответствии с ограничениями устройства; обычно содержит
пользовательский интерфейс.
— Менеджер эластичности - запускается на устройстве, контролирует и управляет ресурсами, необходимыми для weblet; принимает решения о том, где протекает процесс: на устройстве или на облаке; также запускает оптимизатор для определения энергии, необходимой для weblet, и выбирает оптимальный вариант.
— Веблет - приложение, состоящее из набора функционально независимых и взаимодействующих единиц, называемых веблетами.
— Маршрутизатор - промежуточный
уровень, получает запросы от
пользовательского интерфейса и передает их в веблет; необходим поскольку перемещение веблет должн быть незаметно для пользовательского интерфейса.
— Сервис эластичности облака -распределяет ресурсы к веблетами. Состоит из менеджера облака, конфигуратора облака и менеджера приложений.
Менеджер облака - сохраняет информацию об использовании различных
частей приложения, запускаемого на облаке.
Менеджер приложений - обеспечивает возможность устанавливать и запускать приложение на устройстве.
Конфигуратор облака осуществляет сбор оперативных данных на облаке.
Менеджер узла - работает на каждом узле облака, непосредственно взаимодействует с менеджером приложений и менеджером облака.
Эластичное приложение
Среда
выполнения
Ґ Интерфейс
пользователя
Манифест Веблет 1
Веблет 2 ,
Сервис эластичности облака
/
Веблет 1
Г л
Менеджер
приложении
Интерфейс
Конфигуратор облака
облака
Менеджер
облака
V У
Установка приложения.
Контейнер интерфейса пользователя
I
HTT,P(s)
Уроверь
абстракции
Менеджер
эластичности
Конфигуратор
Диспет^р
_________
\
^ Веблет ^
Контейнер
веблета
------------HTTP(s)---------------------------
Рис. 3. Архитектура эластичных приложений
б. Выводы
преодолеть трудности облачных вычислений.
использовании
Концепция облачных вычислений предоставляет новые возможности для развития мобильных приложений, так как перемещают процессы вычислений и обработки в виртуальную среду.
Облачные приложения нуждаются в постоянном и качественном сетевом
соединении, что является значительным недостатком данной технологии. Данную проблему решают за счет кэширования, это позволяет продолжить работу, если связь временно стала недоступной. Так же обнаружено, что существуют широкие
возможности по внедрению мобильных агентов
в данную вычислительную парадигму.
Благодаря их свойствам, они помогут
Литература
1. Chetan S., Gautam Kumar, K. Dinesh, Mathew K. and Abhimanyu M.A.: “Cloud Computing for Mobile World”, Department of Computer Science & Engineering, National Institute of Technology, Calicut.
2. Aarti Singh, Manisha Malhotra: "Analysis for Exploring Scope of Mobile Agents in Cloud Computing". International Journal of Advancements in Technology, IJOAT, Vol. 3, No 3, July 2012, 172
3. ABI Research. http://www.abiresearch.com /. 2010.
4. OpenMobster. http:// code.google.com/p/openmobster/,
2010.
5. Zehua Zhang and Xuejie Zhang. Realization of open cloud computing federation based on mobile agent. In ICIS ’09: IEEE International Conference on Intelligent Computing and Intelligent Systems, 2009.,volume 3, pages 642-646, 2009.
6. Xinwen Zhang, Joshua Schiffman, Simon Gibbs,
в
Anugeetha Kunjithapatham, and Sangoh Jeong. Securing elastic applications on mobile devices for cloud computing. In CCSW ’09: Proceedings of the 2009 ACM workshop on Cloud computing security, pages 127-134, New York, NY, USA, 2009. ACM.
7. Loke, S., W.: “Mobile Agent Technology for Enterprise Distributed Applications : An Overview and an Architectural Perspective”. A report by the Co-Operative Research Centre program through Department of Industry, Science and Tourism of the Commonwealth of Government of Australia.
8. Danny, B.: “Mobile Objects and Mobile Agents: The Future of Distributed Computing?”. In Lange General Magic, Inc. Sunnyvale, California, 2011, U.S.A danny@acm. org,http://www. acm. org/~danny.
9. Anand, S., Gupta, S., Fatnani, S., Sharma, V, Jain D.: “Semantic Cloud for Mobile Technology”. In International
Journal of Computer Applications (0975 - 8887) , 2010, Volume 8- No.12.
10. Ramaswamy, A., Balasubramanian, A., Vijaykumar, P., Varalakshmi, P: “A Mobile Agent based Approach of ensuring Trustworthiness in the Cloud”. In IEEE-International Conference on Recent Trends in Information Technology, MIT, Anna University, Chennai, 2011, pp 678-682.
11. Yuan, R., Michael, S.C., Martin, O.H., Greg, S.: “Multiagent-based adaptive pervasive service architecture”. In Proceedings of the 3rd workshop on Agent-oriented software engineering challenges for ubiquitous and pervasive computing, 2009, ACM: London, United Kingdom.
12. Акинин Ю.Р Быстрое создание REST API сервиса на основе облачных технологий AZURE / Ю.Р Акинин, А.В. Барабанов, Н.И. Гребенникова // Вестник Воронежского государственного технического университета. 2012. Т.8. № 12. С. 66-68
Воронежский государственный технический университет
USAGE OF CLOUD RESOURCES AND MOBILE AGENTS FOR SOLVING TASKS OF MOBILE TECHNOLOGIES Yu.R. Akinin, V. N. Chernikov, V.F. Barabanov
The article looks at the usage of cloud computing for data storage and processing in mobile technologies. Mobile applications need a stable network connection and usage of mobile-agent architecture is one of the variants for solving of this problem
Key words: cloud, computing, systems, mobile, applications, agents