Проектирование механизма перехода операций к устройствам в системе управления корпоративной мобильностью

А.Г. Кравец,

д.т.н., проф., agk@gde.ru,

Н.З. Буй,

асп. каф. САПРиПК, ramsetii@gmail.com,

Л.Т.Т. Нгуен,

студ. каф. САПРиПК, juno249@gmail.com,

ВолгГТУ, г. Волгоград

Push-уведомление является мобильной службой, позволяющей передавать данные от сервера (ID-доступ, уведомления, ответы, ресурсы) приложению, установленному на мобильном устройстве. В настоящее время мобильные операционные системы обладают полноценной службой Push-уведомлений. Данная статья предлагает подход к проектированию механизма перехода операций в системе управления корпоративной мобильностью (УКМ) от сервера к агентам, установленным на мобильном устройстве, с помощью службы Push-уведомлений.

 

Push Notification service is a mobile service that allows to send data (ID-access, notifications, responses, resource) from application server to installed applications on the mobile device. At the present time, all mobile operating systems have a complete Push-notification service. This paper provides a mechanism for transfer the operations in enterprise mobility management system from the server to the agent that is installed and operating in the mobile device using Push Notification service.

1. Выбор механизма перехода операций к устройствам в системе УКМ

Система управления корпоративной мобильностью (УКМ) – решение проблемы конфиденциальности данных и информационной безопасности предприятии [5]. Система УКМ состоит из двух компонентов:

·      сервера УКМ, создающего операции управления устройствами [9], приложениями [8], контентом;

·      агента, уставляемого на мобильном устройстве, который выполняет операции управления от сервера.

Процесс перехода операций является очень важным, определяющим эффективную работу системы УКМ. Таким образом, необходимо выбрать соответствующий механизм для этого процесса. В настоящее время существует три различных механизма перехода операций, обмена сообщениями между сервером и агентами: (1) Polling-механизм на стороне клиента, (2) туннелированный и (3) Push-уведомления.

Каждый вид механизма перехода операций имеет свои преимущества и недостатки, но для проектирования системы УКМ был использован механизм Push-уведомлений [6, 7], так как:

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

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

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

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

Латентность механизма перехода операций определяет эффективную работу системы УКМ.

2. Обзор служб Push-уведомлений в системе УКМ

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

На сегодняшний день существует три основных мобильных технологии Push-уведомлений: Google Cloud Messaging (GCM), Apple Push Notification Service (APNS) и Microsoft Push Notification Service (MNPS) [2, 3, 4]. Службы Push-уведомлений этих трех различных платформ имеют схожую архитектуру. Тем не менее, между ними много различий, например, ограничения количества сообщений, функции безопасности и другие. В таблице 1 приводится сравнение служб Push-уведомлений по основным критериям.

Таблица 1

Сравнение четырех основных мобильных Push-технологий

Свойства

Основные мобильные Push-технологии

GCM

APNS

MPNS

Полезная нагрузка

4kb

2kb

3kB

Количество сообщений

100 сообщений

Безлимит

Зарегистрирован: безлимит

Не зарегистрирован: 500 / сутки

Формат сообщения

JSON

JSON

XML

Вывод сообщений

Статус-бар,

всплывающее окно

Предупреждающее сообщение, значок, звуковое оповещение

Статус-бар, строка, плитка,

значок

Истечение времени

4 недели

Безлимит

30 суток

 

Ниже показаны результаты сравнения Push-технологий:

o  GCM, APNS, MPNS основаны на протоколе TCP/IP;

o  полезная нагрузка APNS не превышает 2kb и является наименьшим показателем из трех технологий. APNS не имеет никаких ограничений на количество сообщений;

o  GCM и APNS отправляют уведомления в формате JSON, а MPNS в формате XML;

o  в службе APNS веб-сервис может выполнять три типа операции в приложении на клиенте (предупреждающее сообщение, знак и звуковое оповещение). GCM отображает сообщения в статус-баре и во всплывающем окне, а MPNS только в статус-баре;

o  ограничение времени хранения сообщения по умолчанию GCM - 4 недели; APNS – без ограничений; и MPNS - 30 суток.

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

1.  Мобильное устройство отправляет ID-отправителя, ID-приложения в службу Push-уведомлений для регистрации.

2.  После успешной регистрации служба Push-уведомлений отправляет ID-регистрацию на мобильное устройство.

3.  После получения ID-регистрации устройство отправляет ID-регистрацию на сервер УКМ. Сервер УКМ сохраняет ID-регистрацию в базе данных для последующего использования.

4.  Если серверу УКМ нужно отправить сообщение на мобильное устройство, он отправляет сообщение в службу Push-уведомлений с ID-регистрацией устройства, хранящейся в базе данных.

5.  Служба Push-уведомлений передает это сообщение в мобильное устройство, имеющее ID-регистрацию.

На рисунке 1 показана архитектура служб Push-уведомлений.

Рис. 1 Архитектура службы Push-уведомлений

3. Процесс перехода операций к устройствам с использованием механизмов Push-уведомлений

Процесс выполнения операций управления мобильностью включает в себя 9 шагов и показан на рисунке 2:

Рис. 2 Процесс выполнения операций управления мобильностью

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

2.  Веб-консоль вызывает API-функции на шлюз API.

3.  API-функции на шлюз API запускает бэкэнд-сервис администратора.

4.  Сервисы администратора запускает назначенные операции для устройства.

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

6.  Адаптер вызывает соответствующую службу Push-уведомлений (GCM для Android, APNS для iOS, MPNS для Windows Phone).

7.  Служба Push-уведомлений посылает уведомления на устройство для объявления начала определенной операции.

8.  Устройство отвечает серверу на получение сообщения через API-функции.

9.  API вызывает сервисы устройств и отвечает на API вызова, отправляющего операцию на устройство.

Процессом перехода операций к устройствам с использованием механизмов Push-уведомлений являются  шаги 5-9 в приведенном выше описании.

4. Тестирование процесса перехода операций к устройствам с использованием механизмов  Push-уведомлений

Для проверки эффективности предложенного подхода к проектированию УКМ с применением служб Push-уведомлений, необходимо тестировать скрытые (латентные) механизмы в процессе перехода операций к устройствам.

Целью экспериментов тестирования служб Push-уведомления является определение задержки между поставщиком, издательским и мобильными устройствами, на которые отправляются уведомления.

Мобильными устройствами, рассмотренными в экспериментах, являются LG Nexus 5 под операционной системой Android 5.0, 16 Гб внутренняя память, 2 Гб ОЗУ и поддержка Wi-Fi 802.11 a/b/g/n; iPhone 4S под ОС iOS 7.1.2, 16 Гб внутренняя память, 512 Мб ОЗУ и поддержка WiFi 802.11 b/g/n; Microsoft Lumia 640 DS под операционной системой Windows Phone 8.1, 8 Гб внутренняя память, 1 Гб ОЗУ и поддержка Wi-Fi 802.11 b/g/n. Все устройства подключены через Wi-Fi к сети со скоростью загрузки в 2 Мбит и со скоростью скачивания в 4 Мбит.

Серверы уведомлений, рассмотренные в исследовании, с конфигурацией: процессор Intel Core i3 3220 3,30 ГГц, 2 ГБ ОЗУ под операционной системой Linux Ubuntu 12.04.5 x64 с предустановленной программой WireShark для анализа трафика и подключены через проводную сеть к интернету со скоростью загрузки/скачивания в ~ 10 Мбит. Серверные части GCM, APNs и MPNS написаны на языке PHP и работают на веб-сервере стека решений XAMPP.

Каждое сообщение Push-уведомления инкапсулируется в полезную нагрузку JSON, который включает в себя номер индекса, который идентифицирует создание сообщения и отправки метку времени взята с сервера. Клиенты Push-уведомления разработаны для ОС Android 4.4.1, iOS 7.1.2 и Windows Phone 8.1. При поступлении уведомления полезная нагрузка извлекается из сообщения, а затем сохраняется в базе данных SQL вместе с полученной временной меткой клиента, взятой из мобильного устройства.

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

Сообщения отправляются 1 раз в секунду в течение 15 секунд в последовательности, а затем после 30-минутного времени сна, следует еще один набор из 15 сообщений. Процедура повторялась в течение 8 часов (240 сообщений в общей сложности). Частота сообщений устанавливается таким образом, чтобы уменьшить возможность обнаружения потенциального злоумышленника в сервисах, например, атаку Denial of Service, которая обладает возможностью обновления службы уведомлений из одного запроса, а также не доставления данных. Кроме того, для обеспечения учета различных мобильных нагрузок, данное тестирование производилось в разное время суток. Результаты тестирования представлены на рисунках 3, 4 и 5 для каждой службы (Google Cloud Messaging, Apple Push Notification Service и Microsoft Push Notification Service).

Рис. 3 Результат тестирования латентности службы Google Cloud Messaging (GCM)

Рис. 4 Результат тестирования латентности  служба Apple Push Notification Service (APNS)

Рис. 5 Результат тестирования латентности  служба Microsoft Push Notification Service (MPNS)

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

§  по полученным данным, GCM является самым ненадёжным механизмом в режиме реального времени, что не обеспечивает удовлетворительную скорость доставки уведомлений (в среднем ≈ 4,83 сек, медиана ≈ 0,99 и стандартное отклонение ≈ 11.22). Из графика скорости доставки сообщений службы GCM можно заметить, что качество обслуживания сервиса снижается при увеличении количества сообщений по времени. Следовательно, сообщения поступают без определенного порядка. Причины может быть выявлены следующим образом: использование нескольких серверов, где каждый сервер обрабатывает свою собственную индивидуальную очередь; неравное распространение сообщений среди активных серверов; высокая степень использования системы уведомления. Таким образом, GCM обрабатывает большую нагрузку сообщений.

§  служба APNS является более надежным механизмом, который позволяет отправлять сообщения в соответствии с более короткой скоростью доставки, в среднем на ≈ 0,57 сек, медиана ≈ 0,54 и стандартное отклонение ≈ 0,20. В большинстве случаев, сообщения поступают в том же порядке, как они были отправлены. Такой результат указывает, что APNS обладает оптимальным механизмом для распределения сообщений среди активных серверов.

§  в случае MPNS, отправленные сообщения прибывают устройство без определенного порядка. Срок поставки для MPNS имеет среднее ≈ 1,01 сек, медиана ≈ 1,02 и стандартное отклонение ≈ 0,34.

Литература

1.  Push Technology: A Key Ingredient of Application Interactivity [Электронный ресурс]. URL: http://www.seven.com/downloads/pdf/ SEVEN_Push_Whitepaper.pdf (дата обращения: 20.10.2015).

2.  Google Cloud Messaging for Android [Электронный ресурс]. URL: https://developer.android.com/google/gcm/index.html (дата обращения: 20.10.2015).

3.  Apple Push Notification Service [Электронный ресурс]. URL: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html (дата обращения: 20.10.2015).

4.  Push notifications for Windows Phone 8 [Электронный ресурс]. URL: https://msdn.microsoft.com/en-us/library/windows/apps/ff402558(v=vs.105).aspx (дата обращения: 20.10.2015).

5.  Mobile Security Solution for Enterprise Network / A.G. Kravets, Ngoc Duong Bui, M.S. Al-Ashval // Knowledge-Based Software Engineering. 11th Joint Conference, JCKBSE 2014, Volgograd, Russia, September 17-20, 2014. Proceedings. Series: Communications in Computer and Information Science. Springer, Vol.466. 2014. - pp.371-382. DOI: 10.1007/978-3-319-11854-3_31.

6.  Буй Нгок Зыонг Установка службы push-уведомлений в системе управления корпоративной мобильностью с использованием google cloud messaging / Нгок Зыонг Буй, Ле Тхань Тунг Нгуен, А.Г. Кравец // сб. науч. тр. XIII междунар. науч.-практ. конф. студентов, аспирантов и молодых учёных. Под редакцией Т. Е. Мамоновой [и др.]. 2016. С. 193-194.

7.  Буй Нгок Зыонг Разработка службы Push-уведомлений в системе управления корпоративной мобильностью с использованием Google Cloud Messaging / Нгок Зыонг Буй, Ле Тхань Тунг Нгуен // Юность и Знания – Гарантия Успеха – 2015 : сб. науч. тр. 2-й междунар. науч.-практ. конф. (1-2 окт. 2015 г.). В 2 т. Т. 2 / редкол.: А.А. Горохов (отв. ред.) / Юго-Западный гос. ун-т, ЗАО «Университетская книга» [и др.]. - Курск, 2015. - C. 28-30.

8.  Буй Нгок Зыонг Разработка установки мобильного приложения на Android-устройстве в системе управления мобильными приложениями / Нгок Зыонг Буй, Ле Тхань Тунг Нгуен // Юность и Знания – Гарантия Успеха – 2015 : сб. науч. тр. 2-й междунар. науч.-практ. конф. (1-2 окт. 2015 г.). В 2 т. Т. 2 / редкол.: А.А. Горохов (отв. ред.) / Юго-Западный гос. ун-т, ЗАО «Университетская книга» [и др.]. - Курск, 2015. - C. 31-34.

9.  Tracking Events in Mobile Device Management System / Ngoc Duong Bui, A. G. Kravets, Tuan Anh Nguyen and Le Thanh Tung Nguyen // Proceedings of 6th International Conference on Information, Intelligence, Systems and Applications (IISA2015) July 6-8 2015. − Ionian University, Corfu, Greece, IEEE, 2015. − pp. 01-06. DOI: 10.1109/IISA.2015.7388127.