Система развертывания и управления программным обеспечением и способ осуществления её работы
SOFTWARE DEPLOYMENT AND MANAGEMENT SYSTEM AND METHOD FOR ITS WORK

Настоящее изобретение относится к средствам администрирования и управления программным обеспечением в вычислительной сети и более конкретно к системам и способам развертывания, удаления и обновления программного обеспечения, в частности, операционных систем в корпоративной вычислительной сети с предварительным конфигурированием программного обеспечения под различные устройства и под различных пользователей сети.
При управлении развертыванием программного обеспечения в компьютерных сетях администраторы сети часто сталкиваются с проблемой совместимости устанавливаемого программного обеспечения (ПО) как с конфигурацией оборудования, так и с уже установленным ПО. Решение данной проблемы становится особенно актуальным при развертывании ПО, например операционной системы (ОС) или системных библиотек и служб, в крупных компаниях или локальных вычислительных сетях, где оперативный физический доступ к устройствам, подключенным к сети, не всегда возможен. Другим фактором, усложняющим процесс развертывания новых программ, является разнообразие базового ПО и набора библиотек, необходимого для поддержки работы разворачиваемого ПО. При этом территориально-распределенная инфраструктура корпоративной вычислительной сети часто предполагает использование различного набора ПО в зависимости от устройства, сегмента сети и пользователя. Учесть все описанные факторы при развертывании ПО на устройства сети невозможно с применением существующих технических решений.
С развитием вычислительной техники повышается сложность не только инфраструктур, но и программного обеспечения, настроить которое рядовому пользователю не позволяет квалификация.
Для управления программным обеспечением на удаленных рабочих станциях (компьютерах пользователей и серверах) используются средства удаленного администрирования. При этом парадигма работы таких технических решений строится на безошибочности загрузки ОС. Если же ОС не может загрузиться, в большинстве случаев требуются манипуляции с устройством на стороне пользователя, поэтому время восстановления инфраструктуры растет многократно.
Из уровня техники известны технические решения, которые позволяют упростить процесс развертывания программного обеспечения в компьютерной сети.
В патенте RU №2541935C2 описаны способ и система распространения и установки компьютерных программ, которые позволяют установить программу, производя конфигурацию установочных файлов до их загрузки на устройства пользователей. Заявленное изобретение отличается от известного решения тем, что программное обеспечение распространяется упакованным в слои каскадно-объединенного монтирования, которые содержат уже развернутое и сконфигурированное должным образом программное обеспечение.
Недостатком известного решения является распространение ПО в виде установочных пакетов, при этом установка выполняется удаленно, без возможности контроля. Соответственно, недостатком также является невозможность распространения и установки ядра операционной системы.
В патенте CN111427600A описан способ развертывания и обновления платформ с помощью docker-контейнеров. Принцип работы системы основывается на управлении набором docker-контейнеров, удалением развернутых контейнеров, заменой набором новых и перезапуском платформы. В заявленном изобретении контейнер с ПО представляет собой слой, содержимое и сам принцип формирования которого отличается от известного решения тем, что docker-контейнеры являются независимыми друг от друга и не позволяют составить полный стек служб операционной системы из отдельных контейнеров, начиная с ядра. При этом слои в заявленном решении позволяют собрать всю операционную систему, начиная с загрузчика, и заканчивая прикладными программами.
Недостатками известного решения являются невозможность распространения ядра операционной системы, а также отдельных служб операционной системы в docker-контейнерах.
Наиболее близким к заявленному изобретению являются способ и система распространения и установки компьютерных программ, описанные в патенте US 20050160420 А1, которые позволяют установить программу и настроить ее, используя данные о пользователе и системе. Заявленное изобретение отличается от известного решения тем, что ПО загружается на устройства пользователей в уже развернутом и сконфигурированном виде. Указанное решение выбрано за прототип изобретения.
Недостатками известного решения являются невозможность контроля процесса установки ПО на устройстве пользователя, невозможность отката состояния устройства в предыдущее состояние, а также отсутствие возможности удаления уже установленного ПО.
Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых устраняются настоящим изобретением. Отличительные особенности и характерные признаки настоящего изобретения более подробно раскрываются в описании осуществления.
Для заявленных способа и системы выявлены следующие общие с прототипом существенные признаки: способ развертывания и управления программным обеспечением, включающий формирование на сервере администрирования задачи развертывания программного обеспечения на устройство пользователя с помощью менеджера задач; запуск развертывания программного обеспечения на исполнение; способ осуществляется при помощи системы развертывания и управления программным обеспечением, состоящей из менеджера задач, центрального сервера администрирования, клиентского сервиса, размещенного на устройстве пользователя и связанного с сервером администрирования, служащего для принятия задач от сервера администрирования; по крайней мере, одного удаленного устройства пользователя, при этом устройство пользователя соединено с центральным сервером администрирования по каналу передачи данных.
Техническими проблемами заявленного изобретения являются:
- сокращение времени операций по развертыванию ПО на устройствах в сети организации;
- расширение функциональных возможностей процесса управления ПО;
- повышение надежности развертывания ПО на устройствах пользователей.
Технические проблемы решаются:
1. Системой развертывания и управления программным обеспечением, состоящей из менеджера задач, сервера администрирования, клиентского сервиса, размещенного на устройстве пользователя и связанного с сервером администрирования, служащего для принятия задач от сервера администрирования; по крайней мере, одного удаленного устройства пользователя. При этом устройство пользователя соединено с сервером администрирования по каналу передачи данных, а состав ПО на таком устройстве формируется из слоев каскадно-объединенного монтирования. Согласно заявленному изобретению менеджер задач выполняет функцию формирования новой конфигурации ПО, упакованного в слой каскадно-объединенного монтирования, на сервере администрирования. На устройстве пользователя внедрен механизм формирования операционной системы из слоев каскадно-объединенного монтирования и средство загрузки операционной системы, включающее поддержку механизма каскадно-объединенного монтирования. В систему также добавлены:
- анализатор, связанный с менеджером задач и выполняющий функцию анализа ПО, упакованного в слои, и формирования их атрибутов;
- база данных для хранения информации об устройствах пользователя, полученной от клиентского сервиса;
- среда пользовательского доступа с графическим интерфейсом, в которой пользователь может выбрать операционную систему, ее компоненты или прикладное программное обеспечение для развертывания на устройстве или устройствах пользователя;
- сервер репликации, который хранит копию ПО, упакованного в слои, удаленную от сервера администрирования и от устройства пользователя, при этом сервер репликации соединен с сервером администрирования и с устройством пользователя по каналу передачи данных;
- клиентский сервис на устройстве пользователя, хранящий историю конфигураций ПО на устройстве пользователя с возможностью оперативного выбора и загрузки любой из предыдущих рабочих конфигураций ПО из данного списка на этапе загрузки операционной системы в случае возникновения ошибок при загрузке новой конфигурации.
При этом ПО может представлять собой операционную систему или любой из компонентов операционной системы.
2. Способом осуществления работы системы развертывания и управления программным обеспечением по п.1, включающим формирование на сервере администрирования задачи развертывания ПО на устройство пользователя с помощью менеджера задач; запуск развертывания программного обеспечения на исполнение. При этом:
-
на этапе подготовки к развертыванию необходимое ПО в развернутом и сконфигурированном виде упаковывают, как минимум, в один слой каскадно-объединенного монтирования;
- ПО, упакованное в слой каскадно-объединенного монтирования, сохраняют в хранилище, расположенном на сервере администрирования;
- на этапе запуска задачи развертывания ПО, формируют и передают новую конфигурацию ПО, упакованного в слой, по каналу передачи данных на устройство пользователя;
- сравнивают установленную конфигурацию ПО на устройстве пользователя с новой конфигурацией;
- передают на устройство пользователя только то ПО, упакованное в слои, которого нет на устройстве пользователя;
- удаляют с устройства пользователя то ПО, которого нет в списке в новой конфигурации ПО;
- монтируют ПО, упакованное в слой, на устройстве пользователя на базе каскадно-объединенной файловой системы в соответствии с новой конфигурацией ПО,
- с помощью клиентского сервиса контролируют правильность получения ПО, упакованного в слои, от сервера администрирования путем проверки его циклического избыточного кода; внедряют на устройстве пользователя механизм формирования операционной системы из слоев каскадно-объединенного монтирования, формируют конфигурацию каскадно-объединенного монтирования слоев, полученных от сервера администрирования, для монтирования их в единую файловую систему на устройстве пользователя и выполняют обновление конфигурации ПО на устройстве пользователя в фоновом для пользователя режиме; собирают данные о текущей конфигурации ПО и аппаратного обеспечения устройства пользователя для передачи этих данных серверу администрирования;
- с помощью менеджера задач осуществляют загрузку ПО, предварительно упакованного в слой каскадно-объединенного монтирования, на устройство пользователя;
- с помощью анализатора определяют по атрибутам ПО совместимость данного ПО, упакованного в слой, с другим ПО в слоях, из которых формируется новая конфигурация ПО для отправки на устройство пользователя; оповещают сервер администрирования о необходимости внесения корректировок в ПО, упакованное в слой, до его загрузки на устройство пользователя;
- сохраняют на устройстве пользователя историю рабочих конфигураций ПО;
- с помощью средства загрузки операционной системы осуществляют оперативный выбор и загрузку любой из предыдущих рабочих конфигураций ПО из истории конфигураций ПО на этапе загрузки операционной системы в случае возникновения ошибок при загрузке новой конфигурации.
При этом клиентский сервис может выполнять замену операционной системы или любого из ее компонентов, полученных в виде слоя каскадно-объединенного монтирования от сервера администрирования, на устройстве пользователя. Новую конфигурацию ПО в виде слоев каскадно-объединенного монтирования можно применять после перезагрузки устройства пользователя.
Сущность изобретения
Настоящее изобретение обеспечивает механизм для распространения и индивидуального развертывания компьютерных программ пользователя, например, на устройствах в корпоративной сети предприятия.
Описанный здесь предпочтительный вариант осуществления представляет собой решение для распространения и монтирования ПО, например, операционной системы Linux (включая любые части и компоненты ОС) в виде слоев каскадно-объединенного монтирования с возможностями удаленного обновления конфигураций ПО на устройствах пользователя. Описанный механизм обеспечивает экономию времени и рабочей силы. Сопутствующий аспект изобретения – возможность вернуться к предыдущей конфигурации ПО, если новая конфигурация ПО нарушила нормальный процесс загрузки или работы устройства пользователя – значительно повышает надежность процесса развертывания и обновления ПО.
Сущность изобретения поясняется изображениями.
- Фиг. 1 показывает блок-схему, представляющую один из возможных вариантов реализации сетевого соединения элементов изобретения в организации. Специалисты в данной области техники поймут, что изобретение можно использовать и в других конфигурациях сети, например, для распространения компьютерных программ на портативные устройства, телевизионные приставки, промышленные устройства и т.п.
Организация на фиг. 1 содержит множество устройств пользователя 1-4, которые могут быть персональными компьютерами или другими пользовательскими устройствами, которые коммуникативно подключены к серверу администрирования 7 через сеть 6. Сеть 6 на фиг. 1 может быть виртуальной частной сетью или глобальной телекоммуникационной сетью, такой как Интернет. При этом ПК 1-4 могут соединяться с сервером администрирования 7 через сервер репликации 5. Сервер администрирования может состоять из одного сервера, нескольких серверов, расположенных в ферме, или нескольких серверов в разных местах.
- Фиг. 2 показывает функциональную схему системы развертывания программного обеспечения на удаленном устройстве пользователя 2 и его управления.
В предпочтительном варианте осуществления изобретения обеспечивается удаленное изменение состава программного обеспечения (что может означать как развертывание, так и удаление ПО) из одного или нескольких центральных мест, например, от сервера администрирования 7 к удаленному устройству пользователя 2, где устройство пользователя и сервер администрирования коммуникативно связаны через сеть 6, которая может представлять собой виртуальную частную сеть, или глобальную телекоммуникационную сеть, такую как Интернет. При этом устройство пользователя может соединяться с сервером администрирования 7 через сервер репликации 5.
Состав системы развертывания и управления программным обеспечением.
Сервер администрирования 7 – это инструмент для централизованного управления конфигурациями ПО на удаленных устройствах пользователя 2. При этом как минимум одно устройство пользователя соединено с сервером администрирования 7 по каналу передачи данных. Взаимодействие администратора с сервером администрирования происходит посредством среды пользовательского доступа 15 с графическим интерфейсом, открываемой в браузере 14. Данный графический интерфейс предоставляет администратору доступ к детальной информации о конфигурации устройств пользователей, получаемой из базы данных 13, и позволяет формировать задачи с помощью менеджера задач 10 для выбора операционной системы, ее компонентов или прикладного ПО с последующим развертыванием на устройстве или устройствах пользователя.
В одной из реализаций изобретения база данных 13, являющаяся частью сервера администрирования 7, хранит следующую информацию, полученную от клиентского сервиса 17:
- список устройств пользователей, подключенных к серверу администрирования;
- текущий статус каждого устройства пользователя – «Включено/Выключено»;
- детальную информацию об аппаратном обеспечении каждого устройства пользователя;
- информацию о текущей конфигурации ПО для каждого устройства пользователя.
Администратор может просматривать любую информацию из базы данных 13 через интерфейс среды пользовательского доступа 15.
Менеджер задач 10, отвечающий за процесс формирования заданий на изменение конфигураций ПО и отправку этих заданий на удаленные устройства пользователя. Менеджер задач 10 связан с хранилищем ПО, упакованного в слои каскадно-объединенного монтирования, 12 таким образом, что новая конфигурация ПО для устройства пользователя 2 формируется администратором из списка ПО из хранилища ПО 12.
Процесс формирования новой конфигурации ПО контролируется анализатором ПО 11, который связан с менеджером задач 10. Каждое новое ПО, добавляемое в конфигурацию для отправки в виде задачи развертывания на удаленное устройство пользователя администратором из хранилища 12, проходит процесс обработки анализатором 11 для выявления его совместимости с другим ПО в формируемой конфигурации на основе атрибутов, присущих ПО, упакованному в слой. При этом анализатор может сообщать администратору через интерфейс средства пользовательского доступа о необходимости внесения корректировок в формируемую конфигурацию ПО для ее успешного развертывания на устройстве пользователя.
В предпочтительном варианте осуществления изобретения, по меньшей мере, одно устройство пользователя 2 и сервер администрирования 7 коммуникативно связаны через сеть 6, которая может представлять собой виртуальную частную сеть или глобальную телекоммуникационную сеть, такую как Интернет. В другом варианте реализации устройство пользователя 2 соединяется с сервером репликации 5 через сеть 18, которая обычно представляет собой виртуальную частную сеть. На сервере репликации 5 хранится актуальная копия хранилища ПО 9, упакованного в слои, удаленная от сервера администрирования 7 и от устройства пользователя 2. При этом сервер репликации 5 соединен с сервером администрирования 7 и с устройством пользователя 2 по каналу передачи данных. Поддержка актуальности данных на сервере репликации 5 и синхронизация хранилищ 12 и 9 осуществляется менеджером задач 10 автоматически.
К серверу репликации 5 может быть подключено множество устройств пользователя, при этом, в зависимости от схемы сети, устройства пользователей могут быть разбиты на группы. Группа используется для объединения устройств пользователей, подключенных к одному серверу репликации. Сервер репликации 5, в свою очередь, коммуникативно связан с сервером администрирования 7 через сеть 8, которая может представлять собой виртуальную частную сеть или глобальную телекоммуникационную сеть, такую как Интернет. В таком варианте реализации изобретения сервер репликации 5 является проксирующим устройством для управляющего трафика от сервера администрирования до устройств пользователей в группе сервера репликации, а также для обратного информационного трафика от устройств пользователей до сервера администрирования. В свою очередь устройства пользователей получают файлы ПО не из хранилища ПО 12, расположенного на сервере администрирования 7, а из копии хранилища ПО 9, расположенной на сервере репликации 5. Такая реализация изобретения позволяет значительно снизить объем передаваемого по сети трафика и дополнительно повысить скорость развертывания ПО на удаленных устройствах пользователя.
Устройство пользователя 2, подключенное к серверу администрирования, содержит средство загрузки ОС 16 и клиентский сервис 17, связанный с сервером администрирования 7. В предпочтительном варианте осуществления изобретения клиентский сервис 17 отвечает за:
- сбор информации об аппаратном обеспечении устройства пользователя и отправку этой информации на сервер администрирования 7;
- получение конфигурации ПО;
- принятие задач на развертывание ПО и файлов ПО, упакованного в слои, от сервера администрирования 7;
- принятие задач на развертывание ПО и файлов ПО, упакованного в слои, от сервера репликации 5;
- проверку правильности файлов ПО, упакованного в слои, для формирования новой конфигурации ПО на устройстве пользователя;
- формирование конфигурации ПО, упакованного в слои каскадно-объединенного монтирования, для монтирования слоев в единую файловую систему на устройстве пользователя;
- хранение истории конфигураций ПО на устройстве пользователя 2.
Средство загрузки 16 представляет собой загрузчик ОС, например, операционной системы Linux c поддержкой механизма каскадно-объединенного монтирования. Каскадно-объединённое монтирование — это монтирование, позволяющее одновременно монтировать несколько файловых систем как одну. В предпочтительном варианте реализации изобретения одна из файловых систем монтируется в режиме «чтение-запись», в то время как другие монтируются в режиме «только для чтения». Каскадно-объединённое монтирование создаётся при помощи каскадно-объединённой файловой системы, такой как Aufs. Каждый раз при загрузке устройства пользователя средство загрузки 16 использует текущую конфигурацию ПО, сформированную клиентским сервисом 17, для формирования единой файловой системы из слоев каскадно-объединенного монтирования. При этом пользователь на этапе загрузки может выбрать одну из предыдущих конфигураций ПО из истории конфигураций, хранимой клиентским сервисом 17 на устройстве пользователя 2.
Способ осуществления работы упомянутой системы проводят следующим образом.
Процесс развертывания нового ПО на удаленном устройстве пользователя 2 выполняется в несколько этапов. На этапе подготовки требуемое ПО в развернутом и сконфигурированном виде упаковывают, как минимум, в один слой каскадно-объединенного монтирования. В предпочтительном варианте осуществления изобретения ПО может представлять собой как целостное пользовательское приложение в развернутом виде, так и отдельные файлы, драйвера, службы, необходимые для работы такого приложения. ПО также может представлять собой ОС, например, Linux, либо любой из ее функциональных модулей, служб или утилит. Степень дробления ОС на отдельные модули с упаковкой их в слои ограничена лишь функциональной необходимостью таких манипуляций и здравым смыслом.
Получившийся слой в виде файла загружают и сохраняют в хранилище ПО 12 на сервере администрирования 7. Менеджер задач 10 проверяет, имеется ли данный файл на удаленных серверах репликации 5, соединенных с сервером администрирования 7. Если новый файл отсутствует на каком-либо сервере репликации 5, менеджер задач 10 автоматически создает задачу на загрузку данного файла на такой сервер репликации 5, где загруженный файл помещается в локальную копию хранилища ПО 9. Так реализуется синхронизация хранилищ во всей сети организации.
На этапе запуска задачи развертывания ПО формируется новая задача на изменение конфигурации ПО на удаленном устройстве пользователя 2. Для этого посредством графического интерфейса среды пользовательского доступа 15 формируется новая конфигурация ПО путем модификации текущей конфигурации ПО удаленного устройства пользователя 2, либо создания новой конфигурации ПО с нуля. Конфигурация ПО представляет собой список ПО, упакованного в слои и расположенного в иерархическом порядке – от базовых модулей ОС (то есть ядра ОС) до графического интерфейса пользователя и отдельных пользовательских приложений. Соответственно, новое ПО выбирается из списка хранилища ПО 12 и добавляется к списку конфигурации ПО для развертывания на удаленном устройстве пользователя 2.
На данном этапе анализатор 11 определяет по атрибутам ПО совместимость данного ПО, упакованного в слой, с другим ПО в слоях, из которых формируется новая конфигурация ПО для отправки на устройство пользователя 2. В случае определения несовместимости, анализатор 11 сообщает об этом серверу администрирования 7 и дает одну из рекомендаций, которые потенциально смогут помочь устранить несовместимость:
- переместить новое ПО в иерархии конфигурации ПО выше или ниже;
- изменить состав ПО, упакованного в слой, добавив недостающие модули/файлы.
Если анализатор 11 определяет, что новое ПО совместимо с прочими слоями в формируемой конфигурации ПО, сервер администрирования 7 также получает соответствующее сообщение.
По окончании формирования новой конфигурации ПО администратор подтверждает готовность задачи развертывания ПО в графическом интерфейсе среды пользовательского доступа 15. Менеджер задач 10 передает новую конфигурацию ПО, упакованного в слой, по каналу передачи данных на устройство пользователя 2.
Клиентский сервис 17 на стороне устройства пользователя 2 принимает новую конфигурацию ПО от сервера администрирования 7. Клиентский сервис 17 сравнивает вновь полученную конфигурацию ПО с текущей конфигурацией ПО на устройстве пользователя 2 и выполняет следующие действия:
.
- если в новом списке конфигурации ПО присутствует новое ПО, которого не было в текущей конфигурации ПО устройства пользователя 2, клиентский сервис 17 обращается к серверу администрирования 7 или к серверу репликации 5 (в зависимости от реализации сетевого подключения устройства пользователя) с запросом на скачивание данного файла ПО, упакованного в слой. Соответствующий файл загружается из хранилища ПО 12, расположенного на сервере администрирования 7, или из копии хранилища ПО 9, расположенной на сервере репликации 5, на устройство пользователя 2 Клиентский сервис 17 проверяет корректность полученного файла путем проверки его циклического избыточного кода (CRC). В случае если CRC полученного файла некорректен, клиентский сервис 17 сообщает об этом серверу администрирования 7 и останавливает процесс формирования новой конфигурации ПО до исправления данной ошибки.
- если в новом списке конфигурации ПО отсутствует некое ПО, которое было в текущей конфигурации ПО устройства пользователя 2, клиентский сервис 17 удаляет данную позицию из конфигурации ПО.
В предпочтительном варианте осуществления изобретения клиентский сервис 17 формирует новую конфигурацию ПО в фоновом режиме для пользователя, выполняющего свои бизнес-задачи на данном устройстве 2. При этом новая конфигурация вступает в силу только после перезагрузки устройства пользователя 2. В другой реализации изобретения конфигурация ПО, в части изменения состава пользовательских приложений, обновляется в реальном времени и не требует перезагрузки устройства пользователя.
Клиентский сервис 17 сохраняет старую конфигурацию ПО в истории конфигураций с целью восстановления системы в случае неполадок. При перезагрузке устройства пользователя 2 средство загрузки 16 отображает текущую конфигурацию ПО и набор конфигураций ПО из истории, предоставляя возможность пользователю выбрать необходимую конфигурацию. По умолчанию средство загрузки 16 применяет текущую конфигурацию ПО.
При загрузке устройства пользователя 2 средство загрузки 16 использует текущую или выбранную конфигурацию ПО, сформированную клиентским сервисом 17, для формирования единой файловой системы из слоев каскадно-объединенного монтирования. В процессе формирования единой файловой системы слои последовательно монтируют в соответствии с выбранной конфигурацией ПО. В случае успешного применения новой конфигурации ПО клиентский сервис 17 отправляет соответствующее сообщение на сервер администрирования 7. Сервер администрирования 7 сохраняет данную информацию об устройстве пользователя 2 совместно с информацией об актуальной конфигурации ПО в базе данных 13 устройств пользователей 2. В случае неуспешного применения новой конфигурации клиентский сервис 17 отправляет отчет об ошибках на сервер администрирования 7, который выводится через графический интерфейс средства пользовательского доступа 15.
Техническим результатом заявленного изобретения является:
- предоставление пользователю возможности удаленного развертывания операционной системы и любых из ее компонентов на устройстве пользователя благодаря внедрению на устройстве пользователя механизма формирования операционной системы из слоев каскадно-объединенного монтирования, что сокращает общее время операций по развертыванию нового ПО на устройствах в сети организации,
- предоставление пользователю возможности замены, обновления и удаления любого из компонентов операционной системы, а также прикладного ПО, развернутых на устройстве пользователя, благодаря возможности отправки на устройство пользователя новой конфигурации ПО, упакованного в слои каскадно-объединенного монтирования, любого вида, включая конфигурации с новым ПО, с отсутствием ПО, уже развернутого на устройстве пользователя, и с ПО новых версий, что значительно расширяет функционал процесса управления ПО,
- хранение на устройстве пользователя истории конфигураций ПО с возможностью оперативного выбора и загрузки любой из предыдущих рабочих конфигураций ПО из данного списка на этапе загрузки операционной системы в случае возникновения ошибок при загрузке новой конфигурации, что позволяет повысить надежность процесса развертывания и обновления ПО на устройствах пользователей.