RU2751215C1 - Software deployment and management system and method for its work - Google Patents
Software deployment and management system and method for its work Download PDFInfo
- Publication number
- RU2751215C1 RU2751215C1 RU2020135874A RU2020135874A RU2751215C1 RU 2751215 C1 RU2751215 C1 RU 2751215C1 RU 2020135874 A RU2020135874 A RU 2020135874A RU 2020135874 A RU2020135874 A RU 2020135874A RU 2751215 C1 RU2751215 C1 RU 2751215C1
- Authority
- RU
- Russia
- Prior art keywords
- software
- user
- administration server
- configuration
- layers
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/64—Retargetable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Abstract
Description
Настоящее изобретение относится к средствам администрирования и управления программным обеспечением в вычислительной сети и более конкретно к системам и способам развертывания, удаления и обновления программного обеспечения, в частности, операционных систем в корпоративной вычислительной сети с предварительным конфигурированием программного обеспечения под различные устройства и под различных пользователей сети.The present invention relates to tools for the administration and management of software in a computer network, and more specifically to systems and methods for deploying, removing and updating software, in particular, operating systems in a corporate computer network with preliminary software configuration for various devices and for various network users. ...
При управлении развертыванием программного обеспечения в компьютерных сетях администраторы сети часто сталкиваются с проблемой совместимости устанавливаемого программного обеспечения (ПО) как с конфигурацией оборудования, так и с уже установленным ПО. Решение данной проблемы становится особенно актуальным при развертывании ПО, например операционной системы (ОС) или системных библиотек и служб, в крупных компаниях или локальных вычислительных сетях, где оперативный физический доступ к устройствам, подключенным к сети, не всегда возможен. Другим фактором, усложняющим процесс развертывания новых программ, является разнообразие базового ПО и набора библиотек, необходимого для поддержки работы разворачиваемого ПО. При этом территориально-распределенная инфраструктура корпоративной вычислительной сети часто предполагает использование различного набора ПО в зависимости от устройства, сегмента сети и пользователя. Учесть все описанные факторы при развертывании ПО на устройства сети невозможно с применением существующих технических решений. When managing the deployment of software in computer networks, network administrators often face the problem of compatibility of the installed software (software) both with the hardware configuration and with the software already installed. The solution to this problem becomes especially relevant when deploying software, for example, an operating system (OS) or system libraries and services, in large companies or local area networks, where quick physical access to devices connected to the network is not always possible. Another factor that complicates the process of deploying new programs is the variety of base software and set of libraries required to support the deployed software. At the same time, the geographically distributed infrastructure of a corporate computer network often involves the use of a different set of software depending on the device, network segment and user. It is impossible to take into account all the factors described when deploying software to network devices using existing technical solutions.
С развитием вычислительной техники повышается сложность не только инфраструктур, но и программного обеспечения, настроить которое рядовому пользователю не позволяет квалификация.With the development of computer technology, the complexity of not only infrastructures increases, but also software, which qualifications do not allow an ordinary user to customize.
Для управления программным обеспечением на удаленных рабочих станциях (компьютерах пользователей и серверах) используются средства удаленного администрирования. При этом парадигма работы таких технических решений строится на безошибочности загрузки ОС. Если же ОС не может загрузиться, в большинстве случаев требуются манипуляции с устройством на стороне пользователя, поэтому время восстановления инфраструктуры растет многократно.Remote administration tools are used to manage software on remote workstations (user computers and servers). At the same time, the paradigm of the work of such technical solutions is based on the error-free loading of the OS. If the OS cannot boot, in most cases manipulations with the device are required on the user's side, so the infrastructure recovery time increases many times over.
Из уровня техники известны технические решения, которые позволяют упростить процесс развертывания программного обеспечения в компьютерной сети. From the prior art, technical solutions are known that make it possible to simplify the process of deploying software in a computer network.
В патенте RU №2541935C2 описаны способ и система распространения и установки компьютерных программ, которые позволяют установить программу, производя конфигурацию установочных файлов до их загрузки на устройства пользователей. Заявленное изобретение отличается от известного решения тем, что программное обеспечение распространяется упакованным в слои каскадно-объединенного монтирования, которые содержат уже развернутое и сконфигурированное должным образом программное обеспечение.Patent RU No. 2541935C2 describes a method and system for distributing and installing computer programs that allow you to install a program by configuring the installation files before downloading them to users' devices. The claimed invention differs from the prior art solution in that the software is distributed packaged in cascade-merged mount layers, which contain already deployed and properly configured software.
Недостатком известного решения является распространение ПО в виде установочных пакетов, при этом установка выполняется удаленно, без возможности контроля. Соответственно, недостатком также является невозможность распространения и установки ядра операционной системы.The disadvantage of the known solution is the distribution of software in the form of installation packages, while the installation is performed remotely, without the possibility of control. Accordingly, the disadvantage is also the impossibility of distributing and installing the operating system kernel.
В патенте CN111427600A описан способ развертывания и обновления платформ с помощью docker-контейнеров. Принцип работы системы основывается на управлении набором docker-контейнеров, удалением развернутых контейнеров, заменой набором новых и перезапуском платформы. В заявленном изобретении контейнер с ПО представляет собой слой, содержимое и сам принцип формирования которого отличается от известного решения тем, что docker-контейнеры являются независимыми друг от друга и не позволяют составить полный стек служб операционной системы из отдельных контейнеров, начиная с ядра. При этом слои в заявленном решении позволяют собрать всю операционную систему, начиная с загрузчика, и заканчивая прикладными программами.CN111427600A describes a way to deploy and update platforms using docker containers. The principle of operation of the system is based on managing a set of docker containers, removing deployed containers, replacing a set of new ones, and restarting the platform. In the claimed invention, a container with software is a layer, the content and the very principle of formation of which differs from the known solution in that docker containers are independent from each other and do not allow composing a complete stack of operating system services from separate containers, starting from the kernel. At the same time, the layers in the declared solution allow you to assemble the entire operating system, from the bootloader to the application programs.
Недостатками известного решения являются невозможность распространения ядра операционной системы, а также отдельных служб операционной системы в docker-контейнерах. The disadvantages of the known solution are the impossibility of distributing the operating system kernel, as well as individual operating system services in docker containers.
Наиболее близким к заявленному изобретению являются способ и система распространения и установки компьютерных программ, описанные в патенте US 20050160420 А1, которые позволяют установить программу и настроить ее, используя данные о пользователе и системе. Заявленное изобретение отличается от известного решения тем, что ПО загружается на устройства пользователей в уже развернутом и сконфигурированном виде. Указанное решение выбрано за прототип изобретения.Closest to the claimed invention are the method and system for distributing and installing computer programs described in US patent 20050160420 A1, which allow you to install the program and configure it using data about the user and the system. The claimed invention differs from the known solution in that the software is loaded onto users' devices in an already deployed and configured form. This solution was chosen as a prototype of the invention.
Недостатками известного решения являются невозможность контроля процесса установки ПО на устройстве пользователя, невозможность отката состояния устройства в предыдущее состояние, а также отсутствие возможности удаления уже установленного ПО.The disadvantages of the known solution are the inability to control the software installation process on the user's device, the inability to roll back the device state to a previous state, and the inability to remove the already installed software.
Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых устраняются настоящим изобретением. Отличительные особенности и характерные признаки настоящего изобретения более подробно раскрываются в описании осуществления.The analysis of the prior art allows us to conclude that it is ineffective and, in some cases, impossible to use the prior technologies, the disadvantages of which are eliminated by the present invention. The distinctive features and characteristic features of the present invention are disclosed in more detail in the description of the implementation.
Для заявленных способа и системы выявлены следующие общие с прототипом существенные признаки: способ развертывания и управления программным обеспечением, включающий формирование на сервере администрирования задачи развертывания программного обеспечения на устройство пользователя с помощью менеджера задач; запуск развертывания программного обеспечения на исполнение; способ осуществляется при помощи системы развертывания и управления программным обеспечением, состоящей из менеджера задач, центрального сервера администрирования, клиентского сервиса, размещенного на устройстве пользователя и связанного с сервером администрирования, служащего для принятия задач от сервера администрирования; по крайней мере, одного удаленного устройства пользователя, при этом устройство пользователя соединено с центральным сервером администрирования по каналу передачи данных.For the claimed method and system, the following essential features common to the prototype have been identified: a method for deploying and managing software, including the formation on an administration server of a task for deploying software to a user's device using a task manager; launching the deployment of software for execution; the method is carried out using a software deployment and management system consisting of a task manager, a central administration server, a client service located on the user's device and connected to the administration server, serving to receive tasks from the administration server; at least one remote user device, while the user device is connected to the central administration server via a data transmission channel.
Техническими проблемами заявленного изобретения являются:The technical problems of the claimed invention are:
- сокращение времени операций по развертыванию ПО на устройствах в сети организации;- reducing the time of operations for deploying software on devices in the organization's network;
- расширение функциональных возможностей процесса управления ПО;- expanding the functionality of the software management process;
- повышение надежности развертывания ПО на устройствах пользователей.- increasing the reliability of software deployment on users' devices.
Технические проблемы решаются:Technical problems are solved:
1. Системой развертывания и управления программным обеспечением, состоящей из менеджера задач, сервера администрирования, клиентского сервиса, размещенного на устройстве пользователя и связанного с сервером администрирования, служащего для принятия задач от сервера администрирования; по крайней мере, одного удаленного устройства пользователя. При этом устройство пользователя соединено с сервером администрирования по каналу передачи данных, а состав ПО на таком устройстве формируется из слоев каскадно-объединенного монтирования. Согласно заявленному изобретению менеджер задач выполняет функцию формирования новой конфигурации ПО, упакованного в слой каскадно-объединенного монтирования, на сервере администрирования. На устройстве пользователя внедрен механизм формирования операционной системы из слоев каскадно-объединенного монтирования и средство загрузки операционной системы, включающее поддержку механизма каскадно-объединенного монтирования. В систему также добавлены: 1. A system for deploying and managing software, consisting of a task manager, an administration server, a client service located on the user's device and connected to the administration server, serving to receive tasks from the administration server; at least one remote user device. In this case, the user's device is connected to the administration server via a data transmission channel, and the software composition on such a device is formed from cascade-combined mount layers. According to the claimed invention, the task manager performs the function of forming a new configuration of the software, packed in a cascade-merged mount layer, on the administration server. A mechanism for generating an operating system from cascade-merged mount layers and an operating system boot facility, including support for the cascade-merged mount mechanism, are implemented on the user's device. The system also added:
- анализатор, связанный с менеджером задач и выполняющий функцию анализа ПО, упакованного в слои, и формирования их атрибутов;- an analyzer associated with the task manager and performing the function of analyzing software packed into layers and forming their attributes;
- база данных для хранения информации об устройствах пользователя, полученной от клиентского сервиса;- a database for storing information about the user's devices received from the client service;
- среда пользовательского доступа с графическим интерфейсом, в которой пользователь может выбрать операционную систему, ее компоненты или прикладное программное обеспечение для развертывания на устройстве или устройствах пользователя;- a user access environment with a graphical interface, in which the user can select the operating system, its components or application software for deployment on the user's device or devices;
- сервер репликации, который хранит копию ПО, упакованного в слои, удаленную от сервера администрирования и от устройства пользователя, при этом сервер репликации соединен с сервером администрирования и с устройством пользователя по каналу передачи данных;- a replication server that stores a copy of the software, packed in layers, remote from the administration server and from the user's device, while the replication server is connected to the administration server and to the user's device via a data transmission channel;
- клиентский сервис на устройстве пользователя, хранящий историю конфигураций ПО на устройстве пользователя с возможностью оперативного выбора и загрузки любой из предыдущих рабочих конфигураций ПО из данного списка на этапе загрузки операционной системы в случае возникновения ошибок при загрузке новой конфигурации.- client service on the user's device, which stores the history of software configurations on the user's device with the ability to quickly select and load any of the previous working software configurations from this list at the stage of loading the operating system in case of errors while loading a new configuration.
При этом ПО может представлять собой операционную систему или любой из компонентов операционной системы.In this case, the software can be an operating system or any of the components of the operating system.
2. Способом осуществления работы системы развертывания и управления программным обеспечением по п.1, включающим формирование на сервере администрирования задачи развертывания ПО на устройство пользователя с помощью менеджера задач; запуск развертывания программного обеспечения на исполнение. При этом:2. A method for implementing the operation of the software deployment and management system according to
- на этапе подготовки к развертыванию необходимое ПО в развернутом и сконфигурированном виде упаковывают, как минимум, в один слой каскадно-объединенного монтирования; - at the stage of preparation for deployment, the required software in the deployed and configured form is packed into at least one cascade-merged mount layer;
- ПО, упакованное в слой каскадно-объединенного монтирования, сохраняют в хранилище, расположенном на сервере администрирования;- the software packed into the cascade-merged mount layer is stored in the storage located on the administration server;
- на этапе запуска задачи развертывания ПО, формируют и передают новую конфигурацию ПО, упакованного в слой, по каналу передачи данных на устройство пользователя; - at the stage of starting the software deployment task, form and transmit a new configuration of the software, packed in a layer, via the data transmission channel to the user's device;
- сравнивают установленную конфигурацию ПО на устройстве пользователя с новой конфигурацией;- compare the installed software configuration on the user's device with the new configuration;
- передают на устройство пользователя только то ПО, упакованное в слои, которого нет на устройстве пользователя;- transfer to the user's device only that software, packed in layers, which is not on the user's device;
- удаляют с устройства пользователя то ПО, которого нет в списке в новой конфигурации ПО;- remove from the user's device the software that is not in the list in the new software configuration;
- монтируют ПО, упакованное в слой, на устройстве пользователя на базе каскадно-объединенной файловой системы в соответствии с новой конфигурацией ПО,- mount the software, packed in a layer, on the user's device based on a cascade-combined file system in accordance with the new software configuration,
- с помощью клиентского сервиса контролируют правильность получения ПО, упакованного в слои, от сервера администрирования путем проверки его циклического избыточного кода; внедряют на устройстве пользователя механизм формирования операционной системы из слоев каскадно-объединенного монтирования, формируют конфигурацию каскадно-объединенного монтирования слоев, полученных от сервера администрирования, для монтирования их в единую файловую систему на устройстве пользователя и выполняют обновление конфигурации ПО на устройстве пользователя в фоновом для пользователя режиме; собирают данные о текущей конфигурации ПО и аппаратного обеспечения устройства пользователя для передачи этих данных серверу администрирования;- using the client service, they control the correctness of receiving the software packed in layers from the administration server by checking its cyclic redundancy code; implement a mechanism for forming an operating system from layers of cascade-merged mounts on the user's device, form a configuration of cascade-merged mounts of layers received from the administration server to mount them into a single file system on the user's device and update the software configuration on the user's device in the background for the user mode; collect data on the current configuration of the software and hardware of the user's device to transfer this data to the administration server;
- с помощью менеджера задач осуществляют загрузку ПО, предварительно упакованного в слой каскадно-объединенного монтирования, на устройство пользователя; - with the help of the task manager, the software is loaded, previously packaged in the cascade-merged mount layer, to the user's device;
- с помощью анализатора определяют по атрибутам ПО совместимость данного ПО, упакованного в слой, с другим ПО в слоях, из которых формируется новая конфигурация ПО для отправки на устройство пользователя; оповещают сервер администрирования о необходимости внесения корректировок в ПО, упакованное в слой, до его загрузки на устройство пользователя;- using the analyzer, the compatibility of this software packed in a layer with other software in layers, from which a new software configuration is formed for sending to the user's device, is determined by the software attributes; notify the administration server about the need to make adjustments to the software packed in a layer before it is loaded onto the user's device;
- сохраняют на устройстве пользователя историю рабочих конфигураций ПО;- save the history of software operating configurations on the user's device;
- с помощью средства загрузки операционной системы осуществляют оперативный выбор и загрузку любой из предыдущих рабочих конфигураций ПО из истории конфигураций ПО на этапе загрузки операционной системы в случае возникновения ошибок при загрузке новой конфигурации.- using the operating system loading tool, they can quickly select and load any of the previous operating software configurations from the software configuration history at the stage of loading the operating system in case of errors while loading a new configuration.
При этом клиентский сервис может выполнять замену операционной системы или любого из ее компонентов, полученных в виде слоя каскадно-объединенного монтирования от сервера администрирования, на устройстве пользователя. Новую конфигурацию ПО в виде слоев каскадно-объединенного монтирования можно применять после перезагрузки устройства пользователя.In this case, the client service can replace the operating system or any of its components received as a cascade-merged mount layer from the administration server on the user's device. The new software configuration in the form of cascade-merged mount layers can be applied after rebooting the user's device.
Сущность изобретенияThe essence of the invention
Настоящее изобретение обеспечивает механизм для распространения и индивидуального развертывания компьютерных программ пользователя, например, на устройствах в корпоративной сети предприятия. The present invention provides a mechanism for distributing and individually deploying a user's computer programs, for example, to devices on an enterprise corporate network.
Описанный здесь предпочтительный вариант осуществления представляет собой решение для распространения и монтирования ПО, например, операционной системы Linux (включая любые части и компоненты ОС) в виде слоев каскадно-объединенного монтирования с возможностями удаленного обновления конфигураций ПО на устройствах пользователя. Описанный механизм обеспечивает экономию времени и рабочей силы. Сопутствующий аспект изобретения – возможность вернуться к предыдущей конфигурации ПО, если новая конфигурация ПО нарушила нормальный процесс загрузки или работы устройства пользователя – значительно повышает надежность процесса развертывания и обновления ПО.The preferred embodiment described here is a solution for distributing and mounting software, for example, the Linux operating system (including any OS parts and components) in the form of cascade-merged mount layers with the ability to remotely update software configurations on user devices. The described mechanism saves time and labor. A concomitant aspect of the invention - the ability to revert to the previous software configuration if the new software configuration disrupted the normal boot process or operation of the user's device - significantly increases the reliability of the software deployment and update process.
Сущность изобретения поясняется изображениями.The essence of the invention is illustrated by images.
- Фиг. 1 показывает блок-схему, представляющую один из возможных вариантов реализации сетевого соединения элементов изобретения в организации. Специалисты в данной области техники поймут, что изобретение можно использовать и в других конфигурациях сети, например, для распространения компьютерных программ на портативные устройства, телевизионные приставки, промышленные устройства и т.п.- Fig. 1 shows a block diagram representing one possible implementation of the network connection of elements of the invention in an organization. Those of skill in the art will understand that the invention can be used in other network configurations such as distributing computer programs to portable devices, set-top boxes, industrial devices, and the like.
Организация на фиг. 1 содержит множество устройств пользователя 1-4, которые могут быть персональными компьютерами или другими пользовательскими устройствами, которые коммуникативно подключены к серверу администрирования 7 через сеть 6. Сеть 6 на фиг. 1 может быть виртуальной частной сетью или глобальной телекоммуникационной сетью, такой как Интернет. При этом ПК 1-4 могут соединяться с сервером администрирования 7 через сервер репликации 5. Сервер администрирования может состоять из одного сервера, нескольких серверов, расположенных в ферме, или нескольких серверов в разных местах.The organization in FIG. 1 contains a plurality of user devices 1-4, which may be personal computers or other user devices, which are communicatively connected to the
- Фиг. 2 показывает функциональную схему системы развертывания программного обеспечения на удаленном устройстве пользователя 2 и его управления.- Fig. 2 shows a functional diagram of a system for deploying software on a remote device of a
В предпочтительном варианте осуществления изобретения обеспечивается удаленное изменение состава программного обеспечения (что может означать как развертывание, так и удаление ПО) из одного или нескольких центральных мест, например, от сервера администрирования 7 к удаленному устройству пользователя 2, где устройство пользователя и сервер администрирования коммуникативно связаны через сеть 6, которая может представлять собой виртуальную частную сеть, или глобальную телекоммуникационную сеть, такую как Интернет. При этом устройство пользователя может соединяться с сервером администрирования 7 через сервер репликации 5. In a preferred embodiment of the invention, the software composition can be changed remotely (which can mean both deployment and removal of software) from one or more central locations, for example, from the
Состав системы развертывания и управления программным обеспечением.Composition of the software deployment and management system.
Сервер администрирования 7 – это инструмент для централизованного управления конфигурациями ПО на удаленных устройствах пользователя 2. При этом как минимум одно устройство пользователя соединено с сервером администрирования 7 по каналу передачи данных. Взаимодействие администратора с сервером администрирования происходит посредством среды пользовательского доступа 15 с графическим интерфейсом, открываемой в браузере 14. Данный графический интерфейс предоставляет администратору доступ к детальной информации о конфигурации устройств пользователей, получаемой из базы данных 13, и позволяет формировать задачи с помощью менеджера задач 10 для выбора операционной системы, ее компонентов или прикладного ПО с последующим развертыванием на устройстве или устройствах пользователя.
В одной из реализаций изобретения база данных 13, являющаяся частью сервера администрирования 7, хранит следующую информацию, полученную от клиентского сервиса 17:In one embodiment of the invention, the database 13, which is part of the
- список устройств пользователей, подключенных к серверу администрирования;- a list of user devices connected to the administration server;
- текущий статус каждого устройства пользователя – «Включено/Выключено»;- the current status of each user device - "Enabled / Disabled";
- детальную информацию об аппаратном обеспечении каждого устройства пользователя;- detailed information about the hardware of each user device;
- информацию о текущей конфигурации ПО для каждого устройства пользователя.- information about the current software configuration for each user device.
Администратор может просматривать любую информацию из базы данных 13 через интерфейс среды пользовательского доступа 15.The administrator can view any information from the database 13 through the interface of the
Менеджер задач 10, отвечающий за процесс формирования заданий на изменение конфигураций ПО и отправку этих заданий на удаленные устройства пользователя. Менеджер задач 10 связан с хранилищем ПО, упакованного в слои каскадно-объединенного монтирования, 12 таким образом, что новая конфигурация ПО для устройства пользователя 2 формируется администратором из списка ПО из хранилища ПО 12. Task manager 10, responsible for the process of generating tasks for changing software configurations and sending these tasks to remote user devices. The task manager 10 is associated with the software repository packed in cascade-merged mount layers 12 in such a way that the new software configuration for the device of
Процесс формирования новой конфигурации ПО контролируется анализатором ПО 11, который связан с менеджером задач 10. Каждое новое ПО, добавляемое в конфигурацию для отправки в виде задачи развертывания на удаленное устройство пользователя администратором из хранилища 12, проходит процесс обработки анализатором 11 для выявления его совместимости с другим ПО в формируемой конфигурации на основе атрибутов, присущих ПО, упакованному в слой. При этом анализатор может сообщать администратору через интерфейс средства пользовательского доступа о необходимости внесения корректировок в формируемую конфигурацию ПО для ее успешного развертывания на устройстве пользователя.The process of forming a new software configuration is controlled by the software analyzer 11, which is associated with the task manager 10. Each new software added to the configuration to be sent as a deployment task to a remote user device by the administrator from the repository 12 goes through the process of processing by the analyzer 11 to determine its compatibility with another Software in a generated configuration based on attributes inherent in software packaged in a layer. In this case, the analyzer can inform the administrator through the user access tool interface about the need to make adjustments to the generated software configuration for its successful deployment on the user's device.
В предпочтительном варианте осуществления изобретения, по меньшей мере, одно устройство пользователя 2 и сервер администрирования 7 коммуникативно связаны через сеть 6, которая может представлять собой виртуальную частную сеть или глобальную телекоммуникационную сеть, такую как Интернет. В другом варианте реализации устройство пользователя 2 соединяется с сервером репликации 5 через сеть 18, которая обычно представляет собой виртуальную частную сеть. На сервере репликации 5 хранится актуальная копия хранилища ПО 9, упакованного в слои, удаленная от сервера администрирования 7 и от устройства пользователя 2. При этом сервер репликации 5 соединен с сервером администрирования 7 и с устройством пользователя 2 по каналу передачи данных. Поддержка актуальности данных на сервере репликации 5 и синхронизация хранилищ 12 и 9 осуществляется менеджером задач 10 автоматически.In a preferred embodiment of the invention, at least one
К серверу репликации 5 может быть подключено множество устройств пользователя, при этом, в зависимости от схемы сети, устройства пользователей могут быть разбиты на группы. Группа используется для объединения устройств пользователей, подключенных к одному серверу репликации. Сервер репликации 5, в свою очередь, коммуникативно связан с сервером администрирования 7 через сеть 8, которая может представлять собой виртуальную частную сеть или глобальную телекоммуникационную сеть, такую как Интернет. В таком варианте реализации изобретения сервер репликации 5 является проксирующим устройством для управляющего трафика от сервера администрирования до устройств пользователей в группе сервера репликации, а также для обратного информационного трафика от устройств пользователей до сервера администрирования. В свою очередь устройства пользователей получают файлы ПО не из хранилища ПО 12, расположенного на сервере администрирования 7, а из копии хранилища ПО 9, расположенной на сервере репликации 5. Такая реализация изобретения позволяет значительно снизить объем передаваемого по сети трафика и дополнительно повысить скорость развертывания ПО на удаленных устройствах пользователя.Many user devices can be connected to the
Устройство пользователя 2, подключенное к серверу администрирования, содержит средство загрузки ОС 16 и клиентский сервис 17, связанный с сервером администрирования 7. В предпочтительном варианте осуществления изобретения клиентский сервис 17 отвечает за:
- сбор информации об аппаратном обеспечении устройства пользователя и отправку этой информации на сервер администрирования 7;- collecting information about the hardware of the user's device and sending this information to the
- получение конфигурации ПО;- getting software configuration;
- принятие задач на развертывание ПО и файлов ПО, упакованного в слои, от сервера администрирования 7;- acceptance of tasks for the deployment of software and software files packed in layers from the
- принятие задач на развертывание ПО и файлов ПО, упакованного в слои, от сервера репликации 5;- acceptance of tasks for the deployment of software and software files packed in layers from the
- проверку правильности файлов ПО, упакованного в слои, для формирования новой конфигурации ПО на устройстве пользователя;- checking the correctness of software files packed in layers to form a new software configuration on the user's device;
- формирование конфигурации ПО, упакованного в слои каскадно-объединенного монтирования, для монтирования слоев в единую файловую систему на устройстве пользователя;- formation of the configuration of the software, packed in layers of cascade-combined mount, to mount the layers into a single file system on the user's device;
- хранение истории конфигураций ПО на устройстве пользователя 2.- storage of the history of software configurations on the user's
Средство загрузки 16 представляет собой загрузчик ОС, например, операционной системы Linux c поддержкой механизма каскадно-объединенного монтирования. Каскадно-объединённое монтирование — это монтирование, позволяющее одновременно монтировать несколько файловых систем как одну. В предпочтительном варианте реализации изобретения одна из файловых систем монтируется в режиме «чтение-запись», в то время как другие монтируются в режиме «только для чтения». Каскадно-объединённое монтирование создаётся при помощи каскадно-объединённой файловой системы, такой как Aufs. Каждый раз при загрузке устройства пользователя средство загрузки 16 использует текущую конфигурацию ПО, сформированную клиентским сервисом 17, для формирования единой файловой системы из слоев каскадно-объединенного монтирования. При этом пользователь на этапе загрузки может выбрать одну из предыдущих конфигураций ПО из истории конфигураций, хранимой клиентским сервисом 17 на устройстве пользователя 2.
Способ осуществления работы упомянутой системы проводят следующим образом.The method for carrying out the work of the mentioned system is carried out as follows.
Процесс развертывания нового ПО на удаленном устройстве пользователя 2 выполняется в несколько этапов. На этапе подготовки требуемое ПО в развернутом и сконфигурированном виде упаковывают, как минимум, в один слой каскадно-объединенного монтирования. В предпочтительном варианте осуществления изобретения ПО может представлять собой как целостное пользовательское приложение в развернутом виде, так и отдельные файлы, драйвера, службы, необходимые для работы такого приложения. ПО также может представлять собой ОС, например, Linux, либо любой из ее функциональных модулей, служб или утилит. Степень дробления ОС на отдельные модули с упаковкой их в слои ограничена лишь функциональной необходимостью таких манипуляций и здравым смыслом.The process of deploying new software to the remote device of
Получившийся слой в виде файла загружают и сохраняют в хранилище ПО 12 на сервере администрирования 7. Менеджер задач 10 проверяет, имеется ли данный файл на удаленных серверах репликации 5, соединенных с сервером администрирования 7. Если новый файл отсутствует на каком-либо сервере репликации 5, менеджер задач 10 автоматически создает задачу на загрузку данного файла на такой сервер репликации 5, где загруженный файл помещается в локальную копию хранилища ПО 9. Так реализуется синхронизация хранилищ во всей сети организации.The resulting layer in the form of a file is loaded and saved in the software repository 12 on the
На этапе запуска задачи развертывания ПО формируется новая задача на изменение конфигурации ПО на удаленном устройстве пользователя 2. Для этого посредством графического интерфейса среды пользовательского доступа 15 формируется новая конфигурация ПО путем модификации текущей конфигурации ПО удаленного устройства пользователя 2, либо создания новой конфигурации ПО с нуля. Конфигурация ПО представляет собой список ПО, упакованного в слои и расположенного в иерархическом порядке – от базовых модулей ОС (то есть ядра ОС) до графического интерфейса пользователя и отдельных пользовательских приложений. Соответственно, новое ПО выбирается из списка хранилища ПО 12 и добавляется к списку конфигурации ПО для развертывания на удаленном устройстве пользователя 2. At the stage of launching the software deployment task, a new task is generated to change the software configuration on the remote device of
На данном этапе анализатор 11 определяет по атрибутам ПО совместимость данного ПО, упакованного в слой, с другим ПО в слоях, из которых формируется новая конфигурация ПО для отправки на устройство пользователя 2. В случае определения несовместимости, анализатор 11 сообщает об этом серверу администрирования 7 и дает одну из рекомендаций, которые потенциально смогут помочь устранить несовместимость:At this stage, the analyzer 11 determines by the software attributes the compatibility of this software, packed in a layer, with other software in the layers, from which a new software configuration is formed for sending to the user's
- переместить новое ПО в иерархии конфигурации ПО выше или ниже;- move the new software higher or lower in the software configuration hierarchy;
- изменить состав ПО, упакованного в слой, добавив недостающие модули/файлы.- change the composition of the software packed into a layer by adding missing modules / files.
Если анализатор 11 определяет, что новое ПО совместимо с прочими слоями в формируемой конфигурации ПО, сервер администрирования 7 также получает соответствующее сообщение. If analyzer 11 determines that the new software is compatible with other layers in the generated software configuration, the
По окончании формирования новой конфигурации ПО администратор подтверждает готовность задачи развертывания ПО в графическом интерфейсе среды пользовательского доступа 15. Менеджер задач 10 передает новую конфигурацию ПО, упакованного в слой, по каналу передачи данных на устройство пользователя 2.Upon completion of the formation of a new software configuration, the administrator confirms the readiness of the software deployment task in the graphical interface of the
Клиентский сервис 17 на стороне устройства пользователя 2 принимает новую конфигурацию ПО от сервера администрирования 7. Клиентский сервис 17 сравнивает вновь полученную конфигурацию ПО с текущей конфигурацией ПО на устройстве пользователя 2 и выполняет следующие действия:Client service 17 on the side of
- если в новом списке конфигурации ПО присутствует новое ПО, которого не было в текущей конфигурации ПО устройства пользователя 2, клиентский сервис 17 обращается к серверу администрирования 7 или к серверу репликации 5 (в зависимости от реализации сетевого подключения устройства пользователя) с запросом на скачивание данного файла ПО, упакованного в слой. Соответствующий файл загружается из хранилища ПО 12, расположенного на сервере администрирования 7, или из копии хранилища ПО 9, расположенной на сервере репликации 5, на устройство пользователя 2. Клиентский сервис 17 проверяет корректность полученного файла путем проверки его циклического избыточного кода (CRC). В случае если CRC полученного файла некорректен, клиентский сервис 17 сообщает об этом серверу администрирования 7 и останавливает процесс формирования новой конфигурации ПО до исправления данной ошибки.- if the new software configuration list contains new software that was not in the current software configuration of the user's
- если в новом списке конфигурации ПО отсутствует некое ПО, которое было в текущей конфигурации ПО устройства пользователя 2, клиентский сервис 17 удаляет данную позицию из конфигурации ПО.- if in the new list of software configuration there is no software that was in the current software configuration of the device of
В предпочтительном варианте осуществления изобретения клиентский сервис 17 формирует новую конфигурацию ПО в фоновом режиме для пользователя, выполняющего свои бизнес-задачи на данном устройстве 2. При этом новая конфигурация вступает в силу только после перезагрузки устройства пользователя 2. В другой реализации изобретения конфигурация ПО, в части изменения состава пользовательских приложений, обновляется в реальном времени и не требует перезагрузки устройства пользователя.In a preferred embodiment of the invention, the client service 17 generates a new software configuration in the background for a user performing his business tasks on a given
Клиентский сервис 17 сохраняет старую конфигурацию ПО в истории конфигураций с целью восстановления системы в случае неполадок. При перезагрузке устройства пользователя 2 средство загрузки 16 отображает текущую конфигурацию ПО и набор конфигураций ПО из истории, предоставляя возможность пользователю выбрать необходимую конфигурацию. По умолчанию средство загрузки 16 применяет текущую конфигурацию ПО.Client service 17 saves the old software configuration in the configuration history for the purpose of restoring the system in case of problems. When
При загрузке устройства пользователя 2 средство загрузки 16 использует текущую или выбранную конфигурацию ПО, сформированную клиентским сервисом 17, для формирования единой файловой системы из слоев каскадно-объединенного монтирования. В процессе формирования единой файловой системы слои последовательно монтируют в соответствии с выбранной конфигурацией ПО. В случае успешного применения новой конфигурации ПО клиентский сервис 17 отправляет соответствующее сообщение на сервер администрирования 7. Сервер администрирования 7 сохраняет данную информацию об устройстве пользователя 2 совместно с информацией об актуальной конфигурации ПО в базе данных 13 устройств пользователей 2. В случае неуспешного применения новой конфигурации клиентский сервис 17 отправляет отчет об ошибках на сервер администрирования 7, который выводится через графический интерфейс средства пользовательского доступа 15. When the
Техническим результатом заявленного изобретения является: The technical result of the claimed invention is:
- предоставление пользователю возможности удаленного развертывания операционной системы и любых из ее компонентов на устройстве пользователя благодаря внедрению на устройстве пользователя механизма формирования операционной системы из слоев каскадно-объединенного монтирования, что сокращает общее время операций по развертыванию нового ПО на устройствах в сети организации,- providing the user with the possibility of remote deployment of the operating system and any of its components on the user's device due to the implementation on the user's device of the mechanism for forming the operating system from cascade-merged mount layers, which reduces the total time of operations for deploying new software on devices in the organization's network,
- предоставление пользователю возможности замены, обновления и удаления любого из компонентов операционной системы, а также прикладного ПО, развернутых на устройстве пользователя, благодаря возможности отправки на устройство пользователя новой конфигурации ПО, упакованного в слои каскадно-объединенного монтирования, любого вида, включая конфигурации с новым ПО, с отсутствием ПО, уже развернутого на устройстве пользователя, и с ПО новых версий, что значительно расширяет функционал процесса управления ПО,- providing the user with the ability to replace, update and remove any of the operating system components, as well as application software deployed on the user's device, thanks to the ability to send a new software configuration to the user's device, packaged in cascade-merged mount layers, of any kind, including configurations with a new one Software, with the absence of software already deployed on the user's device, and with software of new versions, which significantly expands the functionality of the software management process,
- хранение на устройстве пользователя истории конфигураций ПО с возможностью оперативного выбора и загрузки любой из предыдущих рабочих конфигураций ПО из данного списка на этапе загрузки операционной системы в случае возникновения ошибок при загрузке новой конфигурации, что позволяет повысить надежность процесса развертывания и обновления ПО на устройствах пользователей.- storage on the user's device of the history of software configurations with the ability to quickly select and load any of the previous working software configurations from this list at the stage of loading the operating system in case of errors when loading a new configuration, which makes it possible to increase the reliability of the process of deploying and updating software on user devices.
Claims (23)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020135874A RU2751215C1 (en) | 2020-10-31 | 2020-10-31 | Software deployment and management system and method for its work |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020135874A RU2751215C1 (en) | 2020-10-31 | 2020-10-31 | Software deployment and management system and method for its work |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2751215C1 true RU2751215C1 (en) | 2021-07-12 |
Family
ID=77019660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020135874A RU2751215C1 (en) | 2020-10-31 | 2020-10-31 | Software deployment and management system and method for its work |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2751215C1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050160420A1 (en) * | 2004-01-20 | 2005-07-21 | Kruta Andrew W. | Method and apparatus for distribution and installation of computer programs across an enterprise |
US8555273B1 (en) * | 2003-09-17 | 2013-10-08 | Palm. Inc. | Network for updating electronic devices |
RU2541935C2 (en) * | 2012-12-25 | 2015-02-20 | Закрытое акционерное общество "Лаборатория Касперского" | System and method for deploying preconfigured software |
US20160048606A1 (en) * | 2013-04-13 | 2016-02-18 | Kiss Digital Media Pty Ltd. | Methods, Systems, Apparatus, Products, Articles and Data Structures for Cross-Platform Digital Content |
US20170220404A1 (en) * | 2016-02-01 | 2017-08-03 | Electro Industries/Gauge Tech | Devices, systems and methods for validating and upgrading firmware in intelligent electronic devices |
-
2020
- 2020-10-31 RU RU2020135874A patent/RU2751215C1/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555273B1 (en) * | 2003-09-17 | 2013-10-08 | Palm. Inc. | Network for updating electronic devices |
US20050160420A1 (en) * | 2004-01-20 | 2005-07-21 | Kruta Andrew W. | Method and apparatus for distribution and installation of computer programs across an enterprise |
RU2541935C2 (en) * | 2012-12-25 | 2015-02-20 | Закрытое акционерное общество "Лаборатория Касперского" | System and method for deploying preconfigured software |
US20160048606A1 (en) * | 2013-04-13 | 2016-02-18 | Kiss Digital Media Pty Ltd. | Methods, Systems, Apparatus, Products, Articles and Data Structures for Cross-Platform Digital Content |
US20170220404A1 (en) * | 2016-02-01 | 2017-08-03 | Electro Industries/Gauge Tech | Devices, systems and methods for validating and upgrading firmware in intelligent electronic devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10394550B2 (en) | System and method for supporting patching in a multitenant application server environment | |
CN107515776B (en) | Method for upgrading service continuously, node to be upgraded and readable storage medium | |
US6973647B2 (en) | Preferable modes of software package deployment | |
US7448034B2 (en) | Build time determination and installation of drivers on cloned systems | |
US6282712B1 (en) | Automatic software installation on heterogeneous networked computer systems | |
US7941510B1 (en) | Management of virtual and physical servers using central console | |
US8935216B2 (en) | Automated computing appliance cloning or migration | |
US7904900B2 (en) | Method in a network of the delivery of files | |
EP2191385B1 (en) | Software deployment in large-scale networked systems | |
US8250570B2 (en) | Automated provisioning framework for internet site servers | |
US7673023B1 (en) | Method and apparatus for service processor updates | |
US7120684B2 (en) | Method and system for central management of a computer network | |
CN110572436A (en) | Multi-place cross-cluster server deployment method and system | |
KR101969604B1 (en) | Automatic configuration of a recovery service | |
US10795688B2 (en) | System and method for performing an image-based update | |
US20070046791A1 (en) | Method and system for deploying a software image | |
US20050027846A1 (en) | Automated electronic software distribution and management method and system | |
US9092294B2 (en) | Systems, apparatus, and methods for utilizing a reachability set to manage a network upgrade | |
GB2333865A (en) | Synchronised updating of interoperating software | |
EP1678609A1 (en) | System and method for updating a software program | |
CN106657167B (en) | Management server, server cluster, and management method | |
US11095505B1 (en) | User controlled environment updates in server cluster | |
RU2751215C1 (en) | Software deployment and management system and method for its work | |
US20220350584A1 (en) | Universal return to factory image process | |
CN117762526A (en) | Updating method and device of system configuration, storage medium and electronic device |